/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401fa510 FUN_1401fa510 * Pseudocode, not original source. */ void FUN_1401fa510(longlong *param_1,undefined8 param_2,undefined8 param_3) { longlong lVar1; longlong *plVar2; undefined2 uVar3; undefined4 uVar4; longlong lVar5; undefined8 uVar6; undefined **local_38; undefined4 local_30; undefined2 local_2c; lVar1 = *param_1; if ((*(longlong **)(lVar1 + 0x18) != (longlong *)0x0) && (**(longlong **)(lVar1 + 0x18) != 0)) { local_38 = Proud::AddrPort::vftable; local_30 = *(undefined4 *)(lVar1 + 0x598); local_2c = *(undefined2 *)(lVar1 + 0x59c); if ((*(longlong **)(lVar1 + 0x18) == (longlong *)0x0) || (lVar5 = **(longlong **)(lVar1 + 0x18), lVar5 == 0)) { lVar5 = 0; } else { lVar5 = lVar5 + -0x40; } plVar2 = *(longlong **)(lVar1 + 0x670); uVar6 = (**(code **)(plVar2[0xe] + 0x1c0))(); uVar4 = (**(code **)(*plVar2 + 0x30))(plVar2); uVar3 = FUN_1401b5550(uVar4,*(undefined4 *)(lVar1 + 0x56c)); FUN_1401fe280(lVar5,*(undefined4 *)(*param_1 + 0x56c),uVar3,&local_38,param_2,uVar6,param_3); } return; }