/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x14004db70 FUN_14004db70 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ uint * FUN_14004db70(uint *param_1,ulonglong *param_2,undefined8 param_3,undefined8 param_4) { uint *puVar1; ulonglong uVar2; undefined8 uVar3; undefined1 auStack_a8 [32]; uint local_88 [4]; undefined8 local_78; undefined4 local_70; undefined4 local_6c; undefined4 local_68; undefined8 local_64; undefined8 local_5c; undefined8 local_54; undefined8 local_4c; undefined8 local_44; undefined1 local_3c; undefined4 local_3b; ulonglong local_28; local_28 = DAT_1401ac5a0 ^ (ulonglong)auStack_a8; puVar1 = local_88; uVar3 = 4; FUN_1400bc930(param_1,(undefined8 *)puVar1,4); uVar2 = (ulonglong)local_88[0]; if (((int)local_88[0] < 0) || (DAT_1401ac140 <= (int)local_88[0])) { FUN_1400d9ab0(local_88[0],puVar1,uVar3,param_4); } FUN_140051200((longlong *)param_2,(longlong)(int)local_88[0]); FUN_140051340((longlong *)param_2); if (0 < (int)local_88[0]) { do { local_78._4_4_ = 0; local_78._0_4_ = 0; local_70 = 0; local_44 = 0; local_6c = 0; local_3c = 0; local_68 = 0; local_3b = 0; local_64 = 0; local_5c = 0; local_54 = 0; local_4c = 0; FUN_140059ac0(param_1,(undefined4 *)&local_78,uVar3,param_4); FUN_1400513e0(param_2,&local_78); uVar2 = uVar2 - 1; } while (uVar2 != 0); } return param_1; }