/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x14018fa70 FUN_14018fa70 * Pseudocode, not original source. */ /* WARNING: Removing unreachable block (ram,0x00014018fc82) */ /* WARNING: Removing unreachable block (ram,0x00014018fc8b) */ /* WARNING: Removing unreachable block (ram,0x00014018fcac) */ /* WARNING: Removing unreachable block (ram,0x00014018fcb5) */ undefined8 * FUN_14018fa70(undefined8 *param_1,undefined8 param_2,undefined1 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *puVar2; undefined4 uVar3; undefined8 uVar4; undefined8 *local_res10; FUN_14019f360(param_1,param_2,param_3,param_4,0xfffffffffffffffe); param_1[0xc] = Proud::IFastSocketDelegate::vftable; param_1[0xd] = Proud::ICompletionPortEventSink::vftable; param_1[0xe] = Proud::ISendDest_S::vftable; FUN_1401c29b0(param_1 + 0xf); param_1[0x15] = Proud::CNetServer::vftable; param_1[0x16] = Proud::ICompletionContext::vftable; FUN_14018edc0(param_1 + 0x17); *param_1 = Proud::CNetServerImpl::vftable; param_1[0xc] = Proud::CNetServerImpl::vftable; param_1[0xd] = Proud::CNetServerImpl::vftable; param_1[0xe] = Proud::CNetServerImpl::vftable; param_1[0xf] = Proud::CNetServerImpl::vftable; param_1[0x15] = Proud::CNetServerImpl::vftable; param_1[0x16] = Proud::CNetServerImpl::vftable; param_1[0x17] = Proud::CNetServerImpl::vftable; param_1[0x23] = Proud::CNetServerImpl::vftable; param_1[0x24] = Proud::CNetServerImpl::vftable; uVar3 = FUN_140171510(); FUN_14016da70(param_1 + 0x25,uVar3,1); uVar3 = FUN_140171510(); FUN_14016da70(param_1 + 0x2c,uVar3,1); param_1[0x41] = 0; FUN_14016d8c0(); param_1[0x42] = PTR_DAT_140344098; FUN_14016d8c0(); param_1[0x43] = PTR_DAT_140344098; FUN_1401c2a30(param_1 + 0x45); *(undefined4 *)((longlong)param_1 + 0x26c) = 0; *(undefined4 *)(param_1 + 0x4e) = 0; *(undefined4 *)((longlong)param_1 + 0x274) = 0; *(undefined4 *)(param_1 + 0x4f) = 0; *(undefined1 *)(param_1 + 0x50) = 0; param_1[0x5a] = 0; param_1[0x51] = 0; param_1[0x52] = 0; param_1[0x53] = 0; *(undefined4 *)(param_1 + 0x55) = 0x11; param_1[0x54] = 0; *(undefined4 *)(param_1 + 0x59) = 0; *(undefined4 *)((longlong)param_1 + 0x2ac) = 0x3f400000; *(undefined4 *)(param_1 + 0x56) = 0x3e800000; *(undefined4 *)((longlong)param_1 + 0x2b4) = 0x40100000; param_1[0x57] = 0x26; param_1[0x58] = 4; param_1[0x58] = 0; FUN_140188bd0(param_1 + 0x5b); FUN_1401b4850(param_1 + 0x71); param_1[0x7c] = 0; *(undefined4 *)(param_1 + 0x7d) = 0; *(undefined4 *)((longlong)param_1 + 0x3ec) = 0; *(undefined4 *)(param_1 + 0x7e) = 0; *(undefined4 *)((longlong)param_1 + 0x3f4) = 0; *(undefined1 *)(param_1 + 0x80) = 0; param_1[0x8a] = 0; param_1[0x81] = 0; param_1[0x82] = 0; param_1[0x83] = 0; *(undefined4 *)(param_1 + 0x85) = 0x11; param_1[0x84] = 0; *(undefined4 *)(param_1 + 0x89) = 0; *(undefined4 *)((longlong)param_1 + 0x42c) = 0x3f400000; *(undefined4 *)(param_1 + 0x86) = 0x3e800000; *(undefined4 *)((longlong)param_1 + 0x434) = 0x40100000; param_1[0x87] = 0x26; param_1[0x88] = 4; param_1[0x88] = 0; param_1[0x8b] = 0; param_1[0x8e] = 0; param_1[0x8c] = 0; param_1[0x8d] = 0; param_1[0x8f] = 0; FUN_14016eb50(param_1 + 0x90); param_1[0x90] = Proud::CNetServerImpl::C2SStub::vftable; puVar1 = param_1 + 0x95; local_res10 = puVar1; FUN_14016dca0(puVar1); *puVar1 = ProudS2C::Proxy::vftable; if (*(int *)((longlong)param_1 + 0x4bc) != 1) { FUN_14016f090(PTR_u_PIDL_compiler_is_incompatible_to_1403440e0); } *puVar1 = Proud::CNetServerImpl::Proxy::vftable; param_1[0xd9] = Proud::CFastArray,0>::vftable; param_1[0xda] = 0; param_1[0xdb] = 0; param_1[0xdc] = 0; param_1[0xdd] = 0; *(undefined1 *)(param_1 + 0xde) = 0; param_1[0xe8] = 0; param_1[0xdf] = 0; param_1[0xe0] = 0; param_1[0xe1] = 0; *(undefined4 *)(param_1 + 0xe3) = 0x11; param_1[0xe2] = 0; *(undefined4 *)(param_1 + 0xe7) = 0; *(undefined4 *)((longlong)param_1 + 0x71c) = 0x3f400000; *(undefined4 *)(param_1 + 0xe4) = 0x3e800000; *(undefined4 *)((longlong)param_1 + 0x724) = 0x40100000; param_1[0xe5] = 0x26; param_1[0xe6] = 0; param_1[0xe9] = 0; param_1[0xea] = 0; FUN_1401a1dd0(param_1 + 0xec); param_1[0xf1] = 0; param_1[0xf2] = 0; uVar3 = FUN_140171510(); FUN_14016da70(param_1 + 0xf3,uVar3,1); uVar3 = FUN_140171510(); FUN_14016da70(param_1 + 0xfa,uVar3,1); param_1[0x101] = 0; param_1[0x102] = 0; *(undefined4 *)(param_1 + 0x103) = 0; param_1[0x105] = 0; param_1[0x106] = 0; *(undefined4 *)(param_1 + 0x107) = 0; *(undefined4 *)(param_1 + 0x180) = 0; param_1[0x183] = 0; param_1[0x184] = 0; param_1[0x185] = 0; param_1[0x186] = 0; param_1[0x182] = Proud::ByteArray::vftable; *(undefined1 *)(param_1 + 0x187) = 0; FUN_1401c1360(); param_1[0x18b] = 0; param_1[0x18c] = 0; param_1[0x18d] = 0; param_1[0x18e] = 0; param_1[0x18a] = Proud::ByteArray::vftable; *(undefined1 *)(param_1 + 399) = 0; param_1[0x199] = 0; param_1[400] = 0; param_1[0x191] = 0; param_1[0x192] = 0; *(undefined4 *)(param_1 + 0x194) = 0x11; param_1[0x193] = 0; *(undefined4 *)(param_1 + 0x198) = 0; *(undefined4 *)((longlong)param_1 + 0xca4) = 0x3f400000; *(undefined4 *)(param_1 + 0x195) = 0x3e800000; *(undefined4 *)((longlong)param_1 + 0xcac) = 0x40100000; param_1[0x196] = 0x26; param_1[0x197] = 4; param_1[0x197] = 0; puVar2 = param_1 + 0x19a; local_res10 = puVar2; FUN_14019ea70(puVar2); FUN_14019eb90(puVar2); FUN_1401b4850(param_1 + 0x2dd); FUN_1401b4850(param_1 + 0x2e8); param_1[0x2f4] = Proud::CFastArray::vftable; param_1[0x2f5] = 0; param_1[0x2f6] = 0; param_1[0x2f7] = 0; param_1[0x2f8] = 0; param_1[0x2f9] = Proud::CFastArray::vftable; param_1[0x2fa] = 0; param_1[0x2fb] = 0; param_1[0x2fc] = 0; param_1[0x2fd] = 0; param_1[0x2fe] = 0; FUN_14016d8c0(); param_1[0x301] = PTR_DAT_1403440a0; param_1[0x309] = Proud::CFastArray::vftable; param_1[0x30a] = 0; param_1[0x30b] = 0; param_1[0x30c] = 0; param_1[0x30d] = 0; uVar4 = FUN_140183cc0(&local_res10); FUN_1401787d0(param_1 + 0xea,uVar4); puVar2 = local_res10; if (local_res10 != (undefined8 *)0x0) { FUN_14016db50(local_res10); local_res10[8] = local_res10[8] + -1; if (local_res10[8] == 0) { FUN_14016dbe0(puVar2); FUN_140175a60(local_res10); } else { FUN_14016dbe0(puVar2); } } *(undefined4 *)(param_1 + 0x44) = DAT_140344d40; FUN_14016f180(); param_1[0xeb] = 0; FUN_1401a1e20(param_1 + 0xec); FUN_14019f7b0(param_1,puVar1); FUN_14019f9b0(param_1,param_1 + 0x90); param_1[0x94] = param_1; *(undefined1 *)(param_1 + 0x7f) = 0; param_1[0x2ff] = 0x3ff0000000000000; FUN_140207a70(param_1 + 0x8b); *(undefined1 *)(param_1 + 0x300) = 1; *(undefined1 *)(param_1 + 0x97) = 1; *(undefined1 *)(param_1 + 0x93) = 1; FUN_140172ea0(param_1 + 0x2f9,100); *(undefined4 *)(param_1 + 0x2f3) = 0; *(undefined4 *)(param_1 + 0x4b) = 0; param_1[0x4c] = 0; param_1[0xa0] = 0; param_1[0xa8] = 0; param_1[0xb0] = 0; param_1[0xb8] = 0; param_1[0xc0] = 0; param_1[200] = 0; param_1[0xd0] = 0; param_1[0xd8] = 0; return param_1; }