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

125 lines
3.4 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x14000f580 FUN_14000f580
* Pseudocode, not original source. */
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
void FUN_14000f580(longlong *param_1,undefined8 param_2,char *param_3)
{
char cVar1;
longlong *plVar2;
ulonglong *puVar3;
undefined8 *puVar4;
ulonglong uVar5;
char *pcVar6;
undefined1 auStack_258 [32];
undefined8 local_238;
undefined1 local_230;
undefined7 uStack_22f;
undefined8 local_220;
ulonglong local_218;
undefined1 local_208;
undefined7 uStack_207;
undefined8 local_1f8;
ulonglong local_1f0;
undefined1 local_1e0;
undefined7 uStack_1df;
undefined8 local_1d0;
ulonglong local_1c8;
undefined1 local_1b8;
undefined7 uStack_1b7;
undefined8 local_1a8;
ulonglong local_1a0;
undefined1 local_190;
undefined7 uStack_18f;
undefined8 local_180;
ulonglong local_178;
undefined1 local_168;
undefined7 uStack_167;
undefined8 local_158;
ulonglong local_150;
char local_138 [256];
ulonglong local_38;
local_238 = 0xfffffffffffffffe;
local_38 = DAT_14016f5a0 ^ (ulonglong)auStack_258;
local_1a0 = 0xf;
local_1a8 = 0;
local_1b8 = 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_1b8,param_3,~uVar5 - 1);
plVar2 = FUN_140010200((longlong *)&local_1e0,(undefined8 *)&local_1b8);
FUN_1400102b0((undefined8 *)&local_168,plVar2);
if (0xf < local_1c8) {
operator_delete((void *)CONCAT71(uStack_1df,local_1e0));
}
local_1c8 = 0xf;
local_1d0 = 0;
local_1e0 = 0;
puVar3 = FUN_140010300((ulonglong *)&local_230,(undefined8 *)&local_1b8);
FUN_1400102b0((undefined8 *)&local_190,(longlong *)puVar3);
if (0xf < local_218) {
operator_delete((void *)CONCAT71(uStack_22f,local_230));
}
local_218 = 0xf;
local_220 = 0;
local_230 = 0;
local_138[0] = '\0';
memset(local_138 + 1,0,0xfe);
sprintf(local_138,"%d");
local_1f0 = 0xf;
local_1f8 = 0;
local_208 = 0;
uVar5 = 0xffffffffffffffff;
pcVar6 = local_138;
do {
if (uVar5 == 0) break;
uVar5 = uVar5 - 1;
cVar1 = *pcVar6;
pcVar6 = pcVar6 + 1;
} while (cVar1 != '\0');
FUN_14000c9e0((ulonglong *)&local_208,local_138,~uVar5 - 1);
plVar2 = FUN_1400103e0((longlong *)&local_1e0,(undefined8 *)&local_168,(undefined8 *)&local_208);
puVar4 = FUN_140010490((undefined8 *)&local_230,plVar2,(undefined8 *)&local_190);
FUN_14000c360(param_1,puVar4,0,0xffffffffffffffff);
if (0xf < local_218) {
operator_delete((void *)CONCAT71(uStack_22f,local_230));
}
local_218 = 0xf;
local_220 = 0;
local_230 = 0;
if (0xf < local_1c8) {
operator_delete((void *)CONCAT71(uStack_1df,local_1e0));
}
if (0xf < local_1f0) {
operator_delete((void *)CONCAT71(uStack_207,local_208));
}
local_1f0 = 0xf;
local_1f8 = 0;
local_208 = 0;
if (0xf < local_178) {
operator_delete((void *)CONCAT71(uStack_18f,local_190));
}
local_178 = 0xf;
local_180 = 0;
local_190 = 0;
if (0xf < local_150) {
operator_delete((void *)CONCAT71(uStack_167,local_168));
}
local_150 = 0xf;
local_158 = 0;
local_168 = 0;
if (0xf < local_1a0) {
operator_delete((void *)CONCAT71(uStack_1b7,local_1b8));
}
return;
}