65 lines
1.9 KiB
C
65 lines
1.9 KiB
C
/* 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;
|
|
}
|
|
|