server-re/decomp/MessageServer_Release_x64/full/functions/0x14004a1e0.c

77 lines
2 KiB
C

/* 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;
}