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

59 lines
1.6 KiB
C

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