/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401f3830 FUN_1401f3830 * Pseudocode, not original source. */ void FUN_1401f3830(longlong *param_1,undefined4 param_2,undefined8 param_3,longlong param_4) { longlong *plVar1; char cVar2; undefined2 uVar3; undefined4 uVar4; longlong lVar5; undefined8 uVar6; undefined8 uVar7; undefined **local_38; undefined4 local_30; undefined2 local_2c; undefined8 local_28; undefined1 local_20; (**(code **)(*(longlong *)(*param_1 + 0x78) + 0x10))(*param_1 + 0x78); if ((char)param_1[0x10] != '\0') { lVar5 = FUN_1401c71d0(*param_1); cVar2 = (**(code **)(*(longlong *)(lVar5 + 0x40) + 0x10))(lVar5 + 0x40); if (cVar2 == '\0') { if (*(char *)(param_4 + 0x18) == '\0') { *(int *)(*param_1 + 0x508) = *(int *)(*param_1 + 0x508) + 1; } local_38 = Proud::AddrPort::vftable; local_30 = (undefined4)param_1[0x1a]; local_2c = *(undefined2 *)((longlong)param_1 + 0xd4); plVar1 = (longlong *)*param_1; uVar7 = (**(code **)(plVar1[0xe] + 0x1c0))(); uVar4 = (**(code **)(*plVar1 + 0x30))(plVar1); uVar3 = FUN_1401b5550(uVar4,1); uVar6 = FUN_1401c71d0(*param_1); FUN_1401fe280(uVar6,param_2,uVar3,&local_38,param_3,uVar7,param_4); return; } } local_28 = *(undefined8 *)(param_4 + 8); local_20 = *(undefined1 *)(param_4 + 0x10); uVar6 = FUN_1401c71f0(*param_1); FUN_1401f9d30(uVar6,param_3,&local_28); return; }