/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x140070f30 FUN_140070f30 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ undefined4 * FUN_140070f30(undefined4 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { LPCWSTR pWVar1; undefined2 uVar2; undefined4 uVar3; ulonglong uVar4; LPCWSTR pWVar5; undefined8 uVar6; LPCWSTR pWVar7; ulonglong uVar8; undefined8 uVar9; undefined1 auStack_e8 [32]; LPCWSTR local_c8; undefined1 local_c0; undefined8 local_b8; undefined4 *local_b0; undefined1 *local_a8; undefined1 local_a0 [136]; ulonglong local_18; local_b8 = 0xfffffffffffffffe; local_18 = DAT_1401ac5a0 ^ (ulonglong)auStack_e8; local_b0 = param_1; uVar4 = FUN_140079250(); uVar4 = uVar4 & 0xffffffff; uVar8 = CONCAT71((int7)((ulonglong)param_3 >> 8),1); FUN_14006b270(param_1,uVar4,uVar8,param_4); *(undefined ***)(param_1 + 0xe) = Proud::AddrPort::vftable; param_1[0x10] = 0; *(undefined2 *)(param_1 + 0x11) = 0; FUN_14006fdf0(); FUN_140070c90((longlong *)&local_c8,uVar4,uVar8,param_4); pWVar1 = local_c8; pWVar5 = local_c8; if (local_c8 == (LPCWSTR)0x0) { pWVar5 = (LPCWSTR)PTR_DAT_1401ac010; } local_a8 = local_a0; uVar9 = 3; FUN_14006b570((longlong *)&local_a8,pWVar5,3); uVar3 = Ordinal_11(local_a8); if (local_a8 != local_a0) { free(local_a8); } param_1[0x10] = uVar3; uVar6 = 0; uVar2 = Ordinal_9(); *(undefined2 *)(param_1 + 0x11) = uVar2; if (((local_c8 != (LPCWSTR)0x0) && (local_c8 != (LPCWSTR)PTR_DAT_1401ac010)) && (pWVar7 = local_c8 + -4, pWVar7 != (LPCWSTR)0x0)) { pWVar5 = (LPCWSTR)FUN_14006cb70(uVar6,pWVar5,uVar9,param_4); local_c8 = pWVar5; FUN_14006b350((int *)pWVar5); local_c0 = 1; pWVar1 = pWVar1 + -2; *(int *)pWVar1 = *(int *)pWVar1 + -1; if (*(int *)pWVar1 == 0) { FUN_14006cc60(pWVar7); } FUN_14006b3e0((longlong)pWVar5); } return param_1; }