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

65 lines
1.9 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1401fe130 FUN_1401fe130
* Pseudocode, not original source. */
void FUN_1401fe130(longlong param_1)
{
int iVar1;
longlong lVar2;
longlong lVar3;
longlong lVar4;
longlong lVar5;
undefined **local_18;
int local_10;
undefined2 local_c;
lVar5 = 0;
lVar3 = lVar5;
if (*(longlong **)(param_1 + 0x100) != (longlong *)0x0) {
lVar3 = **(longlong **)(param_1 + 0x100);
}
FUN_14019c210(lVar3,0);
lVar3 = FUN_1401c71f0(*(undefined8 *)(param_1 + 0x118));
local_10 = *(int *)(lVar3 + 0x118);
if ((local_10 == 0) || (local_10 == -1)) {
FUN_14016f090(&DAT_14028f380);
}
local_18 = Proud::AddrPort::vftable;
local_c = 0;
lVar3 = lVar5;
if (*(longlong **)(param_1 + 0x100) != (longlong *)0x0) {
lVar3 = **(longlong **)(param_1 + 0x100);
}
FUN_14019e180(lVar3,&local_18);
lVar3 = lVar5;
if (*(longlong **)(param_1 + 0x100) != (longlong *)0x0) {
lVar3 = **(longlong **)(param_1 + 0x100);
}
lVar3 = FUN_14019bbd0(lVar3,&local_18);
iVar1 = *(int *)(lVar3 + 8);
*(int *)(param_1 + 0x130) = iVar1;
*(undefined2 *)(param_1 + 0x134) = *(undefined2 *)(lVar3 + 0xc);
if ((iVar1 == 0) || (iVar1 == -1)) {
FUN_14016f090(&DAT_140294ea0);
}
(**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x118) + 0x78) + 0x10))
(*(longlong *)(param_1 + 0x118) + 0x78);
lVar3 = lVar5;
if (*(longlong **)(param_1 + 0x100) != (longlong *)0x0) {
lVar3 = **(longlong **)(param_1 + 0x100);
}
lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x118) + 0x5d8);
lVar4 = lVar5;
if (lVar2 != 0) {
lVar4 = *(longlong *)(lVar2 + 0x38);
}
FUN_1401a33f0(*(undefined8 *)(lVar4 + 0x2b8),lVar3);
if (*(longlong **)(param_1 + 0x100) != (longlong *)0x0) {
lVar5 = **(longlong **)(param_1 + 0x100);
}
FUN_1401bedb0(lVar5);
FUN_1401fdf10(param_1);
return;
}