70 lines
2.1 KiB
C
70 lines
2.1 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x1401f3170 FUN_1401f3170
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_1401f3170(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
|
|
|
{
|
|
void *pvVar1;
|
|
undefined8 *puVar2;
|
|
longlong lVar3;
|
|
longlong lVar4;
|
|
longlong lVar5;
|
|
undefined8 uVar6;
|
|
undefined8 uVar7;
|
|
undefined1 uVar8;
|
|
|
|
uVar7 = 0xfffffffffffffffe;
|
|
lVar3 = param_1 + 0x10;
|
|
lVar5 = lVar3;
|
|
FUN_14016db50(lVar3);
|
|
uVar8 = 1;
|
|
if (*(longlong *)(param_1 + 0x298) != 0) {
|
|
lVar4 = *(longlong *)(param_1 + 0x298);
|
|
lVar3 = lVar5;
|
|
do {
|
|
if (*(longlong *)(param_1 + 0x2b8) == 0) {
|
|
if (*(int *)(lVar4 + 0x100) < 5) {
|
|
*(undefined4 *)(lVar4 + 0x40) = 0;
|
|
*(undefined4 *)(lVar4 + 0x100) = 5;
|
|
uVar6 = (**(code **)(*(longlong *)(*(longlong *)(lVar4 + 0x108) + 0x70) + 0x1c0))();
|
|
*(undefined8 *)(lVar4 + 0x80) = uVar6;
|
|
*(undefined1 *)(lVar4 + 0xc0) = 0;
|
|
}
|
|
}
|
|
else {
|
|
FUN_1401f30e0(lVar4);
|
|
}
|
|
if (*(int *)(lVar4 + 0x100) == 5) {
|
|
lVar5 = *(longlong *)(lVar4 + 8);
|
|
FUN_1401ed4c0(param_1,lVar4,param_3,param_4,uVar7,lVar3,uVar8);
|
|
lVar4 = *(longlong *)(lVar4 + 0x108);
|
|
if (*(longlong *)(lVar4 + 0x5d0) != 0) {
|
|
*(longlong *)(*(longlong *)(lVar4 + 0x5d0) + 8) =
|
|
*(longlong *)(*(longlong *)(lVar4 + 0x5d0) + 8) + -1;
|
|
puVar2 = (undefined8 *)0x0;
|
|
if (*(longlong *)(*(longlong *)(lVar4 + 0x5d0) + 8) == 0) {
|
|
puVar2 = *(undefined8 **)(lVar4 + 0x5d0);
|
|
}
|
|
*(undefined8 *)(lVar4 + 0x5d0) = 0;
|
|
if (puVar2 != (undefined8 *)0x0) {
|
|
pvVar1 = (void *)*puVar2;
|
|
if (pvVar1 != (void *)0x0) {
|
|
FUN_1401ebe30(pvVar1);
|
|
operator_delete(pvVar1);
|
|
}
|
|
FUN_14016d970(puVar2);
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
lVar5 = *(longlong *)(lVar4 + 8);
|
|
}
|
|
lVar4 = lVar5;
|
|
} while (lVar5 != 0);
|
|
}
|
|
FUN_1401f0270(param_1);
|
|
FUN_14016dbe0(lVar3);
|
|
return;
|
|
}
|
|
|