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

42 lines
1.2 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1401a2f00 FUN_1401a2f00
* Pseudocode, not original source. */
void FUN_1401a2f00(longlong param_1,undefined8 param_2,undefined4 param_3)
{
undefined8 uVar1;
longlong *plVar2;
undefined8 *puVar3;
undefined4 uStack_c;
FUN_14016db50(param_1 + 0x50);
if (*(longlong *)(param_1 + 0x28) == 0) {
uVar1 = *(undefined8 *)(param_1 + 0x98);
plVar2 = *(longlong **)(param_1 + 0x88);
if (plVar2 == (longlong *)0x0) {
puVar3 = (undefined8 *)FUN_14016d940(0x28);
}
else {
puVar3 = (undefined8 *)(**(code **)(*plVar2 + 8))(plVar2,0x28);
}
if (puVar3 != (undefined8 *)0x0) {
puVar3[2] = param_2;
puVar3[3] = 0;
puVar3[4] = CONCAT44(uStack_c,param_3);
}
puVar3[1] = uVar1;
*puVar3 = 0;
*(longlong *)(param_1 + 0xa0) = *(longlong *)(param_1 + 0xa0) + 1;
if (*(undefined8 **)(param_1 + 0x98) == (undefined8 *)0x0) {
*(undefined8 **)(param_1 + 0x90) = puVar3;
}
else {
**(undefined8 **)(param_1 + 0x98) = puVar3;
}
*(undefined8 **)(param_1 + 0x98) = puVar3;
}
FUN_14016dbe0(param_1 + 0x50);
return;
}