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

62 lines
1.8 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1401fb1f0 FUN_1401fb1f0
* Pseudocode, not original source. */
void FUN_1401fb1f0(longlong *param_1,longlong param_2)
{
longlong lVar1;
longlong *plVar2;
undefined2 uVar3;
undefined4 uVar4;
longlong lVar5;
undefined8 uVar6;
undefined **local_70;
undefined4 local_68;
undefined2 local_64;
undefined4 local_60 [2];
undefined8 local_58;
undefined1 local_50;
undefined4 local_4c;
undefined1 local_48;
undefined1 local_47;
undefined1 local_40 [8];
undefined1 local_38 [8];
longlong local_30;
int local_24;
if (((longlong *)param_1[1] != (longlong *)0x0) && (*(longlong *)param_1[1] != 0)) {
FUN_14016b440(local_40);
FUN_14016abe0(local_40);
FUN_14016b5a0(local_40,0x800);
FUN_14016b5a0(local_40,0);
FUN_14004eef0(local_40,0x27);
local_60[0] = 1;
lVar5 = 0;
local_58 = 0;
local_50 = 1;
local_4c = 0xffffffff;
local_48 = 1;
local_47 = DAT_140344dfc;
local_70 = Proud::AddrPort::vftable;
local_68 = *(undefined4 *)(param_2 + 8);
local_64 = *(undefined2 *)(param_2 + 0xc);
if (((longlong *)param_1[1] != (longlong *)0x0) && (lVar1 = *(longlong *)param_1[1], lVar1 != 0)
) {
lVar5 = lVar1 + -0x40;
}
plVar2 = (longlong *)param_1[0xcc];
uVar6 = (**(code **)(*param_1 + 8))(param_1);
uVar4 = (**(code **)(*plVar2 + 0x30))(plVar2);
uVar3 = FUN_1401b5550(uVar4,*(undefined4 *)((longlong)param_1 + 0x55c));
FUN_1401fe430(lVar5,*(undefined4 *)((longlong)param_1 + 0x55c),uVar3,&local_70,local_40,uVar6,
local_60);
FUN_14016d0e0(local_38);
if ((local_30 != 0) && (local_24 < 0)) {
/* WARNING: Subroutine does not return */
FUN_14016d6b0();
}
}
return;
}