/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x14004a1e0 FUN_14004a1e0 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ uint * FUN_14004a1e0(uint *param_1,ulonglong *param_2,undefined8 param_3,undefined8 param_4) { uint *puVar1; ulonglong uVar2; undefined8 uVar3; undefined1 auStack_3a8 [32]; uint local_388 [4]; undefined8 local_378; undefined8 uStack_370; undefined8 local_368; undefined8 uStack_360; undefined8 local_358; undefined8 local_350; undefined8 local_348; undefined8 local_340; undefined8 local_338; undefined8 local_330; undefined8 local_328; undefined8 local_320; undefined1 local_318 [700]; undefined4 local_5c; undefined2 local_58; undefined4 local_56; undefined2 local_52; undefined8 local_50; undefined2 local_48; undefined4 local_46; ulonglong local_38; local_38 = DAT_1401ac5a0 ^ (ulonglong)auStack_3a8; puVar1 = local_388; uVar3 = 4; FUN_1400bc930(param_1,(undefined8 *)puVar1,4); uVar2 = (ulonglong)local_388[0]; if (((int)local_388[0] < 0) || (DAT_1401ac140 <= (int)local_388[0])) { FUN_1400d9ab0(local_388[0],puVar1,uVar3,param_4); } FUN_14004f060((longlong *)param_2,(longlong)(int)local_388[0]); FUN_14004f1a0((longlong *)param_2); if (0 < (int)local_388[0]) { do { uVar3 = 700; local_5c = 0; local_50 = 0; local_378 = 0; uStack_370 = 0; local_368 = 0; uStack_360 = 0; local_58 = 0; local_56 = 0; local_52 = 0; local_48 = 0; local_46 = 0; local_358 = 0; local_350 = 0; local_348 = 0; local_340 = 0; local_338 = 0; local_330 = 0; local_328 = 0; local_320 = 0; memset(local_318,0,700); FUN_140055b60(param_1,&local_378,uVar3,param_4); FUN_14004f230(param_2,&local_378); uVar2 = uVar2 - 1; } while (uVar2 != 0); } return param_1; }