server-re/decomp/AgentManager_Release_x64/full/functions/0x1400b8d90.c
2026-10-15 09:58:24 -04:00

62 lines
1.7 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x1400b8d90 FUN_1400b8d90
* Pseudocode, not original source. */
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
ulonglong FUN_1400b8d90(longlong *param_1)
{
ulonglong uVar1;
ulonglong uVar2;
int iVar3;
longlong lVar4;
undefined1 auStack_b8 [32];
undefined1 local_98 [128];
ulonglong local_18;
local_18 = DAT_14016f5a0 ^ (ulonglong)auStack_b8;
if (param_1 == (longlong *)0x0) {
uVar1 = 0x10;
}
else {
uVar2 = 0;
do {
iVar3 = (int)uVar2;
uVar1 = FUN_1400da4d0(param_1 + (longlong)iVar3 * 0xe);
if ((int)uVar1 != 0) {
if (iVar3 < 1) {
return uVar1 & 0xffffffff;
}
do {
FUN_1400da600(param_1,local_98);
param_1 = param_1 + 0xe;
uVar2 = uVar2 - 1;
} while (uVar2 != 0);
return uVar1 & 0xffffffff;
}
uVar2 = (ulonglong)(iVar3 + 1U);
} while ((int)(iVar3 + 1U) < 0x20);
lVar4 = 0x20;
*(undefined8 *)((longlong)param_1 + 0x101c) = 0;
*(undefined4 *)(param_1 + 0x203) = 0;
param_1[0x205] = 0;
FUN_1400da7d0(param_1 + 0x1fd,0x20);
uVar2 = FUN_1400d7730((undefined1 *)(param_1 + 0x1fd),0x20,0,(uint *)(param_1 + 0x1c0));
uVar1 = uVar2 & 0xffffffff;
if ((int)uVar2 == 0) {
FUN_1400da7d0(param_1 + 0x201,0x10);
InitializeCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x206));
uVar1 = 0;
}
else {
do {
FUN_1400da600(param_1,local_98);
param_1 = param_1 + 0xe;
lVar4 = lVar4 + -1;
} while (lVar4 != 0);
}
}
return uVar1;
}