57 lines
1.9 KiB
C
57 lines
1.9 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x1400ccd10 FUN_1400ccd10
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_1400ccd10(undefined1 *param_1,undefined8 param_2,undefined8 param_3,longlong param_4)
|
|
|
|
{
|
|
int *piVar1;
|
|
int *piVar2;
|
|
undefined8 uVar3;
|
|
LPVOID pvVar4;
|
|
ulonglong uVar5;
|
|
int iVar6;
|
|
ulonglong uVar7;
|
|
|
|
*param_1 = 1;
|
|
FUN_140074120((undefined8 *)(param_1 + 8));
|
|
piVar1 = (int *)(param_1 + 0x30);
|
|
piVar2 = piVar1;
|
|
FUN_14006b350(piVar1);
|
|
uVar5 = 0;
|
|
uVar7 = uVar5;
|
|
if (0 < *(int *)(param_1 + 0x80)) {
|
|
do {
|
|
if (((longlong)uVar5 < 0) || (iVar6 = (int)uVar7, *(int *)(param_1 + 0x80) <= iVar6)) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14006be30(piVar2,param_2,param_3,param_4);
|
|
}
|
|
uVar3 = *(undefined8 *)(*(longlong *)(param_1 + 0x78) + uVar5 * 8);
|
|
FUN_140075120(uVar3);
|
|
if (*(int *)(param_1 + 0x80) <= iVar6) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14006be30(uVar3,param_2,param_3,param_4);
|
|
}
|
|
piVar2 = *(int **)(*(longlong *)(param_1 + 0x78) + uVar5 * 8);
|
|
Ordinal_3();
|
|
uVar7 = (ulonglong)(iVar6 + 1U);
|
|
uVar5 = uVar5 + 1;
|
|
} while ((int)(iVar6 + 1U) < *(int *)(param_1 + 0x80));
|
|
}
|
|
FUN_1400cc980((longlong)(param_1 + 0x68),0,param_3,param_4);
|
|
FUN_14006b3e0((longlong)piVar1);
|
|
*(undefined ***)(param_1 + 0x68) = Proud::CFastArray<unsigned___int64,0>::vftable;
|
|
pvVar4 = *(LPVOID *)(param_1 + 0x78);
|
|
if (pvVar4 != (LPVOID)0x0) {
|
|
if (*(longlong **)(param_1 + 0x70) == (longlong *)0x0) {
|
|
FUN_14006cc60(pvVar4);
|
|
}
|
|
else {
|
|
(**(code **)(**(longlong **)(param_1 + 0x70) + 0x18))();
|
|
}
|
|
}
|
|
FUN_14006b400(piVar1,pvVar4,param_3,param_4);
|
|
FUN_1400741a0((undefined8 *)(param_1 + 8));
|
|
return;
|
|
}
|
|
|