/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x1400cce20 FUN_1400cce20 * Pseudocode, not original source. */ void FUN_1400cce20(char *param_1,undefined8 param_2,undefined8 param_3,longlong param_4) { int *piVar1; int iVar2; bool bVar3; longlong lVar4; longlong lVar5; longlong lVar6; int iVar7; longlong lVar8; undefined8 uVar9; longlong lVar10; if (*param_1 == '\0') { piVar1 = (int *)(param_1 + 0x30); do { FUN_14006b350(piVar1); if (*(int *)(param_1 + 0x80) < 100) { FUN_14006b3e0((longlong)piVar1); bVar3 = false; uVar9 = 6; lVar4 = Ordinal_23(2); if (lVar4 != -1) { bVar3 = true; FUN_14006b350(piVar1); iVar2 = *(int *)(param_1 + 0x80); if (iVar2 < 0) { /* WARNING: Subroutine does not return */ FUN_14006be00(); } iVar7 = *(int *)(param_1 + 0x80); FUN_1400cc980((longlong)(param_1 + 0x68),iVar7 + 1,uVar9,param_4); iVar7 = iVar7 - iVar2; if ((0 < iVar7) && (iVar7 = iVar7 + -1, lVar8 = (longlong)iVar7, -1 < iVar7)) { lVar10 = (lVar8 + iVar2) * 8 + 8; do { lVar5 = FUN_14007a110((longlong)(param_1 + 0x68)); lVar6 = FUN_14007a110((longlong)(param_1 + 0x68)); *(undefined8 *)(lVar6 + lVar10) = *(undefined8 *)(lVar5 + -8 + lVar10); lVar10 = lVar10 + -8; lVar8 = lVar8 + -1; } while (-1 < lVar8); } lVar8 = FUN_14007a110((longlong)(param_1 + 0x68)); *(longlong *)(lVar8 + (longlong)iVar2 * 8) = lVar4; } } else { FUN_14006b3e0((longlong)piVar1); bVar3 = false; Sleep(10); } if (bVar3) { FUN_14006b3e0((longlong)piVar1); } } while (*param_1 == '\0'); } return; }