/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x140070ae0 FUN_140070ae0 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ longlong * FUN_140070ae0(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; uint uVar2; undefined *puVar3; int *piVar4; short **ppsVar5; short *psVar6; int *piVar7; short *psVar8; undefined8 uVar9; ulonglong uVar10; ulonglong uVar11; undefined1 auStack_188 [32]; undefined4 local_168; int *local_160; undefined1 local_158; undefined8 local_150; longlong *local_148; short *local_138; short local_130 [132]; ulonglong local_28; local_150 = 0xfffffffffffffffe; local_28 = DAT_1401ac5a0 ^ (ulonglong)auStack_188; local_168 = 0; local_148 = param_2; FUN_14006cb70(param_1,param_2,param_3,param_4); local_160 = (int *)PTR_DAT_1401ac008; puVar3 = (undefined *)*param_1; if ((undefined *)*param_1 == (undefined *)0x0) { puVar3 = PTR_DAT_1401ac008; } uVar11 = (ulonglong)*(ushort *)(param_1 + 1); FUN_14006e800((longlong *)&local_160,"%s:%d",puVar3,uVar11); piVar1 = local_160; piVar7 = local_160; if (local_160 == (int *)0x0) { piVar7 = (int *)PTR_DAT_1401ac008; } local_138 = local_130; uVar9 = 3; ppsVar5 = &local_138; FUN_1400626b0((longlong *)ppsVar5,(LPCSTR)piVar7,3); psVar8 = local_138; FUN_14006cb70(ppsVar5,piVar7,uVar9,uVar11); *param_2 = (longlong)PTR_DAT_1401ac010; uVar2 = FUN_14006c9f0(psVar8); puVar3 = FUN_140002f30(param_2,uVar2); uVar10 = (ulonglong)uVar2; FUN_14006ca20(puVar3,psVar8,uVar2); FUN_140003010(param_2); local_168 = 1; psVar6 = local_138; if (local_138 != local_130) { free(local_138); } if (((piVar1 != (int *)0x0) && (piVar1 != (int *)PTR_DAT_1401ac008)) && (piVar1 + -2 != (int *)0x0)) { piVar4 = (int *)FUN_14006cb70(psVar6,psVar8,uVar10,uVar11); local_160 = piVar4; FUN_14006b350(piVar4); local_158 = 1; piVar7 = piVar1 + -1; *piVar7 = *piVar7 + -1; if (*piVar7 == 0) { FUN_14006cc60(piVar1 + -2); } FUN_14006b3e0((longlong)piVar4); } return param_2; }