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

121 lines
3.2 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x14000f7e0 FUN_14000f7e0
* Pseudocode, not original source. */
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
void FUN_14000f7e0(longlong *param_1,char *param_2,char *param_3)
{
char cVar1;
longlong *plVar2;
ulonglong *puVar3;
undefined8 *puVar4;
ulonglong uVar5;
char *pcVar6;
undefined1 auStack_148 [32];
undefined8 local_128;
undefined1 local_120;
undefined7 uStack_11f;
undefined8 local_110;
ulonglong local_108;
undefined1 local_f8;
undefined7 uStack_f7;
undefined8 local_e8;
ulonglong local_e0;
undefined1 local_d0;
undefined7 uStack_cf;
undefined8 local_c0;
ulonglong local_b8;
undefined1 local_a8;
undefined7 uStack_a7;
undefined8 local_98;
ulonglong local_90;
undefined1 local_80;
undefined7 uStack_7f;
undefined8 local_70;
ulonglong local_68;
undefined1 local_58;
undefined7 uStack_57;
undefined8 local_48;
ulonglong local_40;
ulonglong local_30;
local_128 = 0xfffffffffffffffe;
local_30 = DAT_14016f5a0 ^ (ulonglong)auStack_148;
local_90 = 0xf;
local_98 = 0;
local_a8 = 0;
uVar5 = 0xffffffffffffffff;
pcVar6 = param_3;
do {
if (uVar5 == 0) break;
uVar5 = uVar5 - 1;
cVar1 = *pcVar6;
pcVar6 = pcVar6 + 1;
} while (cVar1 != '\0');
FUN_14000c9e0((ulonglong *)&local_a8,param_3,~uVar5 - 1);
plVar2 = FUN_140010200((longlong *)&local_d0,(undefined8 *)&local_a8);
FUN_1400102b0((undefined8 *)&local_58,plVar2);
if (0xf < local_b8) {
operator_delete((void *)CONCAT71(uStack_cf,local_d0));
}
local_b8 = 0xf;
local_c0 = 0;
local_d0 = 0;
puVar3 = FUN_140010300((ulonglong *)&local_120,(undefined8 *)&local_a8);
FUN_1400102b0((undefined8 *)&local_80,(longlong *)puVar3);
if (0xf < local_108) {
operator_delete((void *)CONCAT71(uStack_11f,local_120));
}
local_108 = 0xf;
local_110 = 0;
local_120 = 0;
local_e0 = 0xf;
local_e8 = 0;
local_f8 = 0;
uVar5 = 0xffffffffffffffff;
pcVar6 = param_2;
do {
if (uVar5 == 0) break;
uVar5 = uVar5 - 1;
cVar1 = *pcVar6;
pcVar6 = pcVar6 + 1;
} while (cVar1 != '\0');
FUN_14000c9e0((ulonglong *)&local_f8,param_2,~uVar5 - 1);
plVar2 = FUN_1400103e0((longlong *)&local_d0,(undefined8 *)&local_58,(undefined8 *)&local_f8);
puVar4 = FUN_140010490((undefined8 *)&local_120,plVar2,(undefined8 *)&local_80);
FUN_14000c360(param_1,puVar4,0,0xffffffffffffffff);
if (0xf < local_108) {
operator_delete((void *)CONCAT71(uStack_11f,local_120));
}
local_108 = 0xf;
local_110 = 0;
local_120 = 0;
if (0xf < local_b8) {
operator_delete((void *)CONCAT71(uStack_cf,local_d0));
}
if (0xf < local_e0) {
operator_delete((void *)CONCAT71(uStack_f7,local_f8));
}
local_e0 = 0xf;
local_e8 = 0;
local_f8 = 0;
if (0xf < local_68) {
operator_delete((void *)CONCAT71(uStack_7f,local_80));
}
local_68 = 0xf;
local_70 = 0;
local_80 = 0;
if (0xf < local_40) {
operator_delete((void *)CONCAT71(uStack_57,local_58));
}
local_40 = 0xf;
local_48 = 0;
local_58 = 0;
if (0xf < local_90) {
operator_delete((void *)CONCAT71(uStack_a7,local_a8));
}
return;
}