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

55 lines
1.8 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1401b53b0 FUN_1401b53b0
* Pseudocode, not original source. */
void FUN_1401b53b0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
{
longlong *plVar1;
undefined8 *puVar2;
undefined8 uVar3;
undefined1 local_128 [8];
undefined1 local_120 [8];
longlong local_118;
int local_10c;
undefined1 local_100 [232];
uVar3 = 0xfffffffffffffffe;
if ((*(longlong *)(param_1 + 0x238) != 0) &&
(*(longlong *)(*(longlong *)(param_1 + 0x238) + 0x3e0) != 0)) {
FUN_14016b440(local_128);
FUN_14018d500(local_100,param_2,param_3,param_4,uVar3);
uVar3 = *(undefined8 *)(param_1 + 0x278);
plVar1 = *(longlong **)(param_1 + 0x268);
if (plVar1 == (longlong *)0x0) {
puVar2 = (undefined8 *)FUN_14016d940(0x128);
}
else {
puVar2 = (undefined8 *)(**(code **)(*plVar1 + 8))(plVar1,0x128);
}
if (puVar2 != (undefined8 *)0x0) {
*(undefined4 *)(puVar2 + 2) = 0;
FUN_14016b470(puVar2 + 3,local_128);
FUN_14018d500(puVar2 + 8,local_100);
}
puVar2[1] = uVar3;
*puVar2 = 0;
*(longlong *)(param_1 + 0x280) = *(longlong *)(param_1 + 0x280) + 1;
if (*(undefined8 **)(param_1 + 0x278) == (undefined8 *)0x0) {
*(undefined8 **)(param_1 + 0x270) = puVar2;
}
else {
**(undefined8 **)(param_1 + 0x278) = puVar2;
}
*(undefined8 **)(param_1 + 0x278) = puVar2;
FUN_14018ba10(local_100);
FUN_14016d0e0(local_120);
if ((local_118 != 0) && (local_10c < 0)) {
/* WARNING: Subroutine does not return */
FUN_14016d6b0();
}
FUN_1401c2710(*(longlong *)(*(longlong *)(param_1 + 0x238) + 0x3e0) + 0x160,param_1 + 8);
}
return;
}