/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x140006690 FUN_140006690 * Pseudocode, not original source. */ /* WARNING: Removing unreachable block (ram,0x0001400067ea) */ /* WARNING: Removing unreachable block (ram,0x0001400067f3) */ /* WARNING: Removing unreachable block (ram,0x000140006814) */ /* WARNING: Removing unreachable block (ram,0x00014000681d) */ undefined8 * FUN_140006690(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { ulonglong uVar1; undefined8 *puVar2; undefined1 uVar3; undefined7 uVar4; uVar3 = (undefined1)param_3; uVar4 = (undefined7)((ulonglong)param_3 >> 8); *param_1 = Proud::INetServerEvent::vftable; puVar2 = param_1 + 1; FUN_1400c15c0(puVar2); param_1[1] = RNP::Servers2MsgStub::vftable; param_1[5] = MagiAgentReceive::vftable; *(undefined4 *)(param_1 + 6) = 0; *(undefined2 *)((longlong)param_1 + 0x34) = 0; *(undefined1 *)((longlong)param_1 + 0x36) = 0; *(undefined4 *)(param_1 + 7) = 0; param_1[8] = 0; FUN_14006cb70(puVar2,param_2,CONCAT71(uVar4,uVar3),param_4); param_1[9] = PTR_DAT_1401ac010; param_1[10] = 0; *(undefined4 *)(param_1 + 0xb) = 0; *param_1 = MagiMsgNetwork::vftable; param_1[1] = MagiMsgNetwork::vftable; param_1[5] = MagiMsgNetwork::vftable; puVar2 = param_1 + 0xc; FUN_1400be340(puVar2); *puVar2 = MSG2SERVERS_PROTOCOL::Proxy::vftable; if (*(int *)((longlong)param_1 + 0x74) != 1) { FUN_14006c280((wchar_t *)PTR_u_PIDL_compiler_is_incompatible_to_1401ad790); } *puVar2 = RNP::Msg2ServersProxy::vftable; *(undefined1 *)(param_1 + 0xf) = 0; *(undefined4 *)(param_1 + 0x15) = 1; *(undefined1 *)(param_1 + 0x16) = 0; param_1[0x20] = 0; param_1[0x17] = 0; param_1[0x18] = 0; param_1[0x19] = 0; *(undefined4 *)(param_1 + 0x1b) = 0x11; param_1[0x1a] = 0; *(undefined4 *)(param_1 + 0x1f) = 0; *(undefined4 *)((longlong)param_1 + 0xdc) = 0x3f400000; *(undefined4 *)(param_1 + 0x1c) = 0x3e800000; *(undefined4 *)((longlong)param_1 + 0xe4) = 0x40100000; param_1[0x1d] = 0x26; param_1[0x1e] = 0; param_1[0x21] = 0; uVar1 = FUN_140079250(); FUN_14006b270((undefined4 *)(param_1 + 0x22),uVar1 & 0xffffffff,CONCAT71(uVar4,1),param_4); param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; return param_1; }