add agent manager release decomp

This commit is contained in:
Benjamin Palko 2026-10-15 09:58:24 -04:00
parent 31ff800b2a
commit fac6117145
7019 changed files with 254032 additions and 5 deletions

View file

@ -0,0 +1,306 @@
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x1400aa4c0 FUN_1400aa4c0
* Pseudocode, not original source. */
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
void FUN_1400aa4c0(longlong param_1,undefined8 param_2,wchar_t *param_3,undefined8 param_4)
{
undefined *puVar1;
longlong ****pppplVar2;
uint uVar3;
uint uVar4;
uint *puVar5;
int *piVar6;
int *piVar7;
__time64_t _Var8;
longlong *****ppppplVar9;
longlong *plVar10;
int *piVar11;
uint *puVar12;
longlong *****ppppplVar13;
uint uVar14;
ulonglong uVar15;
longlong ****pppplVar16;
va_list _ArgList;
uint uVar17;
longlong *****ppppplVar18;
undefined8 local_res20;
undefined1 auStack_918 [32];
uint **local_8f8;
uint *local_8e8;
undefined4 local_8e0 [2];
longlong ****local_8d8;
undefined1 local_8d0;
int *local_8c0;
undefined1 local_8b8;
int *local_8b0;
int *local_8a8;
undefined1 local_8a0;
uint *local_898;
undefined4 local_890;
__time64_t local_888;
undefined8 local_880;
wchar_t local_878 [1040];
ulonglong local_58;
local_880 = 0xfffffffffffffffe;
local_58 = DAT_14016f5a0 ^ (ulonglong)auStack_918;
local_8e0[0] = (undefined4)param_2;
local_res20 = param_4;
FUN_14003e7c0(param_1,param_2,param_3,param_4);
local_8e8 = (uint *)PTR_DAT_14016f010;
_ArgList = (va_list)&local_res20;
if (param_3 == (wchar_t *)0x0) {
/* WARNING: Subroutine does not return */
FUN_1400050d0(0x80070057);
}
uVar3 = vswprintf_s(local_878,0x400,param_3,_ArgList);
ppppplVar18 = (longlong *****)0x0;
uVar17 = 0;
ppppplVar9 = ppppplVar18;
if ((local_8e8 != (uint *)0x0) &&
(ppppplVar9 = (longlong *****)0x0, local_8e8 != (uint *)PTR_DAT_14016f010)) {
ppppplVar9 = (longlong *****)(ulonglong)local_8e8[-2];
}
uVar4 = uVar3;
if ((((int)uVar3 <= (int)ppppplVar9) && (uVar4 = uVar17, local_8e8 != (uint *)0x0)) &&
(local_8e8 != (uint *)PTR_DAT_14016f010)) {
uVar4 = local_8e8[-2];
}
uVar14 = 1;
if (1 < (int)uVar4) {
uVar14 = uVar4;
}
uVar4 = uVar17;
if ((local_8e8 != (uint *)0x0) && (local_8e8 != (uint *)PTR_DAT_14016f010)) {
uVar4 = local_8e8[-2];
}
if ((int)uVar4 < (int)uVar14) {
if (local_8e8 == (uint *)0x0) {
local_8e8 = (uint *)PTR_DAT_14016f010;
}
if ((int)uVar14 < 0) {
/* WARNING: Subroutine does not return */
FUN_14003dec0();
}
if (uVar14 == 0) {
FUN_140002190((longlong *)&local_8e8,PTR_DAT_14016f010,ppppplVar9,_ArgList);
}
else {
uVar4 = uVar17;
if ((local_8e8 != (uint *)0x0) && (local_8e8 != (uint *)PTR_DAT_14016f010)) {
uVar4 = local_8e8[-2];
}
if (uVar14 != uVar4) {
puVar5 = (uint *)FUN_14003e840((longlong)(int)uVar14 * 2 + 10);
if (puVar5 != (uint *)0x0) {
*puVar5 = 0;
puVar5[1] = 1;
}
*puVar5 = uVar14;
uVar4 = uVar17;
if ((local_8e8 != (uint *)0x0) && (local_8e8 != (uint *)PTR_DAT_14016f010)) {
uVar4 = local_8e8[-2];
}
puVar12 = (uint *)PTR_DAT_14016f010;
if ((int)uVar14 < (int)uVar4) {
LAB_1400aa626:
if (local_8e8 != (uint *)0x0) {
puVar12 = local_8e8;
}
}
else {
uVar14 = uVar17;
if (local_8e8 != (uint *)0x0) {
if (local_8e8 != (uint *)PTR_DAT_14016f010) {
uVar14 = local_8e8[-2];
}
goto LAB_1400aa626;
}
}
uVar15 = (ulonglong)uVar14;
FUN_14003e650(puVar5 + 2,puVar12,uVar14);
FUN_140002190((longlong *)&local_8e8,puVar12,uVar15,_ArgList);
local_8e8 = puVar5 + 2;
}
}
}
FUN_140001df0((longlong *)&local_8e8);
puVar5 = local_8e8;
if (local_8e8 == (uint *)0x0) {
puVar5 = (uint *)PTR_DAT_14016f010;
}
pppplVar16 = (longlong ****)(ulonglong)uVar3;
FUN_14003e650(puVar5,local_878,uVar3);
puVar5 = local_8e8;
if (local_8e8 == (uint *)0x0) {
puVar5 = (uint *)PTR_DAT_14016f010;
}
uVar3 = FUN_14003e620((short *)puVar5);
ppppplVar9 = ppppplVar18;
if (0 < (int)uVar3) {
ppppplVar9 = (longlong *****)(ulonglong)uVar3;
}
ppppplVar13 = ppppplVar18;
if ((local_8e8 != (uint *)0x0) &&
(ppppplVar13 = (longlong *****)0x0, local_8e8 != (uint *)PTR_DAT_14016f010)) {
ppppplVar13 = (longlong *****)(ulonglong)local_8e8[-2];
}
if (((int)ppppplVar13 <= (int)ppppplVar9) && (ppppplVar9 = ppppplVar18, local_8e8 != (uint *)0x0))
{
if (local_8e8 == (uint *)PTR_DAT_14016f010) goto LAB_1400aa6e8;
ppppplVar9 = (longlong *****)(ulonglong)local_8e8[-2];
}
if (((local_8e8 != (uint *)PTR_DAT_14016f010) && (local_8e8 != (uint *)0x0)) &&
(pppplVar16 = (longlong ****)(local_8e8 + -2), pppplVar16 != (longlong ****)0x0)) {
*(uint *)pppplVar16 = (uint)ppppplVar9;
*(undefined2 *)((longlong)local_8e8 + (longlong)(int)(uint)ppppplVar9 * 2) = 0;
}
LAB_1400aa6e8:
if (*(char *)(param_1 + 0x1790) != '\0') {
ppppplVar9 = (longlong *****)(param_1 + 0x1818);
local_8f8 = &local_8e8;
_ArgList = (va_list)local_8e0;
pppplVar16 = (longlong ****)&DAT_140177f90;
ppppplVar13 = (longlong *****)0x1;
(*(code *)(*ppppplVar9)[0x16])();
}
if (*(int *)(param_1 + 0x6c8) != 0) {
plVar10 = (longlong *)(param_1 + 0x78);
(**(code **)(*plVar10 + 0x10))();
FUN_14003e7c0(plVar10,ppppplVar13,pppplVar16,_ArgList);
puVar1 = PTR_DAT_14016f010;
local_890 = 2;
local_898 = (uint *)PTR_DAT_14016f010;
puVar5 = (uint *)PTR_DAT_14016f010;
if (local_8e8 != (uint *)PTR_DAT_14016f010) {
piVar6 = (int *)FUN_14003e7c0(plVar10,ppppplVar13,pppplVar16,_ArgList);
piVar11 = piVar6;
local_8a8 = piVar6;
FUN_14003d040(piVar6);
local_8a0 = 1;
if (((puVar1 != (undefined *)0x0) && (puVar1 != PTR_DAT_14016f010)) &&
(puVar1 + -8 != (undefined *)0x0)) {
piVar7 = (int *)FUN_14003e7c0(piVar11,ppppplVar13,pppplVar16,_ArgList);
local_8c0 = piVar7;
FUN_14003d040(piVar7);
local_8b8 = 1;
piVar11 = (int *)(puVar1 + -4);
*piVar11 = *piVar11 + -1;
if (*piVar11 == 0) {
FUN_14003e8b0(puVar1 + -8);
}
FUN_14003d0d0((longlong)piVar7);
}
puVar5 = local_8e8;
local_898 = local_8e8;
if (((local_8e8 != (uint *)PTR_DAT_14016f010) && (local_8e8 != (uint *)0x0)) &&
(local_8e8 != (uint *)0x8)) {
local_8e8[-1] = local_8e8[-1] + 1;
}
FUN_14003d0d0((longlong)piVar6);
}
_Var8 = _time64((__time64_t *)0x0);
piVar11 = *(int **)(param_1 + 0x17c0);
ppppplVar9 = *(longlong ******)(param_1 + 0x17b0);
local_8c0 = piVar11;
local_888 = _Var8;
if (ppppplVar9 == (longlong *****)0x0) {
ppppplVar9 = (longlong *****)0x28;
piVar6 = (int *)FUN_14003e840(0x28);
}
else {
pppplVar16 = *ppppplVar9;
ppppplVar13 = (longlong *****)0x28;
piVar6 = (int *)(*(code *)pppplVar16[1])();
}
local_8b0 = piVar6;
local_8a8 = piVar6;
if (piVar6 != (int *)0x0) {
FUN_14003e7c0(ppppplVar9,ppppplVar13,pppplVar16,_ArgList);
puVar1 = PTR_DAT_14016f010;
*(undefined **)(piVar6 + 4) = PTR_DAT_14016f010;
if (puVar1 == (undefined *)0x0) {
*(undefined **)(piVar6 + 4) = PTR_DAT_14016f010;
}
if (puVar5 != *(uint **)(piVar6 + 4)) {
ppppplVar9 = (longlong *****)FUN_14003e7c0(ppppplVar9,ppppplVar13,pppplVar16,_ArgList);
local_8d8 = (longlong ****)ppppplVar9;
FUN_14003d040((int *)ppppplVar9);
local_8d0 = 1;
FUN_140002190((longlong *)(piVar6 + 4),ppppplVar13,pppplVar16,_ArgList);
*(uint **)(piVar6 + 4) = puVar5;
if (((puVar5 != (uint *)PTR_DAT_14016f010) && (puVar5 != (uint *)0x0)) &&
(puVar5 != (uint *)0x8)) {
puVar5[-1] = puVar5[-1] + 1;
}
FUN_14003d0d0((longlong)ppppplVar9);
piVar11 = local_8c0;
}
piVar6[6] = 2;
*(__time64_t *)(piVar6 + 8) = _Var8;
}
*(int **)(piVar6 + 2) = piVar11;
piVar6[0] = 0;
piVar6[1] = 0;
*(longlong *)(param_1 + 0x17c8) = *(longlong *)(param_1 + 0x17c8) + 1;
if (*(undefined8 **)(param_1 + 0x17c0) == (undefined8 *)0x0) {
*(int **)(param_1 + 0x17b8) = piVar6;
}
else {
**(undefined8 **)(param_1 + 0x17c0) = piVar6;
}
*(int **)(param_1 + 0x17c0) = piVar6;
if ((ulonglong)*(uint *)(param_1 + 0x6c8) < *(ulonglong *)(param_1 + 0x17c8)) {
ppppplVar13 = &local_8d8;
ppppplVar9 = (longlong *****)(param_1 + 0x17b0);
FUN_1400a9060((longlong *)ppppplVar9,(longlong *)ppppplVar13,pppplVar16,_ArgList);
pppplVar2 = local_8d8;
if ((((longlong *****)local_8d8 != (longlong *****)0x0) &&
(local_8d8 != (longlong ****)PTR_DAT_14016f010)) &&
(ppppplVar18 = (longlong *****)(local_8d8 + -1), ppppplVar18 != (longlong *****)0x0)) {
ppppplVar9 = (longlong *****)FUN_14003e7c0(ppppplVar9,ppppplVar13,pppplVar16,_ArgList);
local_8d8 = (longlong ****)ppppplVar9;
FUN_14003d040((int *)ppppplVar9);
local_8d0 = 1;
piVar11 = (int *)((longlong)pppplVar2 + -4);
*piVar11 = *piVar11 + -1;
if (*piVar11 == 0) {
FUN_14003e8b0(ppppplVar18);
}
FUN_14003d0d0((longlong)ppppplVar9);
}
}
if (((puVar5 != (uint *)0x0) && (puVar5 != (uint *)PTR_DAT_14016f010)) &&
(puVar5 + -2 != (uint *)0x0)) {
ppppplVar9 = (longlong *****)FUN_14003e7c0(ppppplVar9,ppppplVar13,pppplVar16,_ArgList);
local_8d8 = (longlong ****)ppppplVar9;
FUN_14003d040((int *)ppppplVar9);
local_8d0 = 1;
puVar12 = puVar5 + -1;
*puVar12 = *puVar12 - 1;
if (*puVar12 == 0) {
FUN_14003e8b0(puVar5 + -2);
}
FUN_14003d0d0((longlong)ppppplVar9);
}
}
puVar5 = local_8e8;
if (((local_8e8 != (uint *)0x0) && (local_8e8 != (uint *)PTR_DAT_14016f010)) &&
(puVar12 = local_8e8 + -2, puVar12 != (uint *)0x0)) {
pppplVar16 = (longlong ****)FUN_14003e7c0(ppppplVar9,ppppplVar13,pppplVar16,_ArgList);
local_8d8 = pppplVar16;
FUN_14003d040((int *)pppplVar16);
local_8d0 = 1;
puVar5 = puVar5 + -1;
*puVar5 = *puVar5 - 1;
if (*puVar5 == 0) {
FUN_14003e8b0(puVar12);
}
FUN_14003d0d0((longlong)pppplVar16);
}
return;
}