server-re/decomp/DBCServer_Release_x64/full/functions/0x1401b1d70.c

62 lines
1.9 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1401b1d70 FUN_1401b1d70
* Pseudocode, not original source. */
void FUN_1401b1d70(longlong param_1)
{
longlong *plVar1;
longlong lVar2;
longlong lVar3;
longlong lVar4;
undefined1 local_res8 [8];
undefined4 local_res10 [2];
undefined8 uVar5;
undefined1 uVar6;
uVar5 = 0xfffffffffffffffe;
lVar2 = param_1 + 0x98;
lVar4 = lVar2;
FUN_14016db50(lVar2);
uVar6 = 1;
lVar3 = (**(code **)(**(longlong **)(param_1 + 0x40) + 0x10))();
if (lVar3 == 0) {
lVar3 = (**(code **)(**(longlong **)(param_1 + 0x40) + 0x18))();
if (lVar3 != 0) {
(**(code **)(*(longlong *)(param_1 + 0x68) + 0x90))
(param_1 + 0x68,1,&DAT_14034c4b0,*(longlong *)(param_1 + 0x68),uVar5,lVar4,uVar6);
if (*(longlong *)(lVar3 + 0xc98) == 0) {
lVar4 = 0;
}
else {
lVar4 = *(longlong *)(lVar3 + 0xc88);
}
for (; lVar4 != 0; lVar4 = *(longlong *)(lVar4 + 0x10)) {
(**(code **)(*(longlong *)(param_1 + 0x68) + 0xa0))
(param_1 + 0x68,1,&DAT_14034c4b0,*(longlong *)(lVar4 + 8) + 0x6f8);
}
}
}
else {
local_res8[0] = 0;
local_res10[0] =
(**(code **)(*(longlong *)(lVar3 + 0x70) + 0x108))((longlong *)(lVar3 + 0x70),local_res8);
plVar1 = (longlong *)(param_1 + 0x68);
(**(code **)(*plVar1 + 0x60))(plVar1,1,&DAT_14034c4b0,local_res10);
(**(code **)(*plVar1 + 0x70))(plVar1,1,&DAT_14034c4b0);
lVar4 = 0;
if (*(longlong *)(lVar3 + 0x1670) != 0) {
lVar4 = *(longlong *)(lVar3 + 0x1660);
}
for (; lVar4 != 0; lVar4 = *(longlong *)(lVar4 + 0x10)) {
lVar3 = 0;
if (*(longlong **)(lVar4 + 8) != (longlong *)0x0) {
lVar3 = **(longlong **)(lVar4 + 8);
}
(**(code **)(*plVar1 + 0x80))(plVar1,1,&DAT_14034c4b0,lVar3 + 0x56c);
}
}
FUN_14016dbe0(lVar2);
return;
}