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

48 lines
1.5 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x14019c9e0 FUN_14019c9e0
* Pseudocode, not original source. */
void FUN_14019c9e0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
{
longlong *plVar1;
undefined8 uVar2;
uVar2 = 0xfffffffffffffffe;
FUN_14019c630();
*(undefined ***)(param_1 + 0x2c0) = Proud::CFastArray<unsigned_char,1>::vftable;
if (*(longlong *)(param_1 + 0x2d0) != 0) {
if (*(longlong **)(param_1 + 0x2c8) == (longlong *)0x0) {
FUN_14016d970(*(longlong *)(param_1 + 0x2d0));
}
else {
(**(code **)(**(longlong **)(param_1 + 0x2c8) + 0x18))();
}
}
*(undefined ***)(param_1 + 0x200) = Proud::CFastArray<unsigned_char,1>::vftable;
if (*(longlong *)(param_1 + 0x210) != 0) {
plVar1 = *(longlong **)(param_1 + 0x208);
if (plVar1 == (longlong *)0x0) {
FUN_14016d970();
}
else {
(**(code **)(*plVar1 + 0x18))(plVar1,*(longlong *)(param_1 + 0x210),plVar1,param_4,uVar2);
}
}
*(undefined ***)(param_1 + 0x140) = Proud::CFastArray<unsigned_char,1>::vftable;
if (*(longlong *)(param_1 + 0x150) != 0) {
plVar1 = *(longlong **)(param_1 + 0x148);
if (plVar1 == (longlong *)0x0) {
FUN_14016d970();
}
else {
(**(code **)(*plVar1 + 0x18))(plVar1,*(longlong *)(param_1 + 0x150));
}
}
FUN_14016dc00(param_1 + 0x28);
if (*(longlong *)(param_1 + 0x10) != 0) {
FUN_14019c130(*(longlong *)(param_1 + 0x10),param_1);
}
return;
}