56 lines
1.8 KiB
C
56 lines
1.8 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x1401aeff0 FUN_1401aeff0
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_1401aeff0(undefined1 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
|
|
|
{
|
|
undefined1 *puVar1;
|
|
ulonglong uVar2;
|
|
int iVar3;
|
|
ulonglong uVar4;
|
|
undefined8 uVar5;
|
|
undefined1 *puVar6;
|
|
undefined1 uVar7;
|
|
|
|
uVar5 = 0xfffffffffffffffe;
|
|
*param_1 = 1;
|
|
FUN_140199740(param_1 + 8);
|
|
puVar1 = param_1 + 0x30;
|
|
puVar6 = puVar1;
|
|
FUN_14016db50(puVar1);
|
|
uVar7 = 1;
|
|
uVar2 = 0;
|
|
uVar4 = uVar2;
|
|
if (0 < *(int *)(param_1 + 0x80)) {
|
|
do {
|
|
if (((longlong)uVar2 < 0) || (iVar3 = (int)uVar4, *(int *)(param_1 + 0x80) <= iVar3)) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14016d6e0();
|
|
}
|
|
FUN_14019e9d0(*(undefined8 *)(*(longlong *)(param_1 + 0x78) + uVar2 * 8));
|
|
if (*(int *)(param_1 + 0x80) <= iVar3) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14016d6e0();
|
|
}
|
|
Ordinal_3(*(undefined8 *)(*(longlong *)(param_1 + 0x78) + uVar2 * 8));
|
|
uVar4 = (ulonglong)(iVar3 + 1U);
|
|
uVar2 = uVar2 + 1;
|
|
} while ((int)(iVar3 + 1U) < *(int *)(param_1 + 0x80));
|
|
}
|
|
FUN_14016add0(param_1 + 0x68,0,param_3,param_4,uVar5,puVar6,uVar7);
|
|
FUN_14016dbe0(puVar1);
|
|
*(undefined ***)(param_1 + 0x68) = Proud::CFastArray<unsigned___int64,0>::vftable;
|
|
if (*(longlong *)(param_1 + 0x78) != 0) {
|
|
if (*(longlong **)(param_1 + 0x70) == (longlong *)0x0) {
|
|
FUN_14016d970(*(longlong *)(param_1 + 0x78));
|
|
}
|
|
else {
|
|
(**(code **)(**(longlong **)(param_1 + 0x70) + 0x18))();
|
|
}
|
|
}
|
|
FUN_14016dc00(puVar1);
|
|
FUN_1401997c0(param_1 + 8);
|
|
return;
|
|
}
|
|
|