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,98 @@
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x1400de4e0 FUN_1400de4e0
* Pseudocode, not original source. */
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
/* WARNING: Type propagation algorithm not settling */
undefined8 FUN_1400de4e0(int *param_1,int *param_2,uint *param_3,uint param_4)
{
int iVar1;
int iVar2;
longlong lVar3;
longlong lVar4;
uint uVar5;
uint uVar6;
undefined8 uVar7;
int iVar8;
ulonglong uVar9;
int iVar10;
void *_Dst;
uint *puVar11;
uint *puVar12;
ulonglong uVar13;
ulonglong uVar14;
uint uVar15;
undefined1 auStack_878 [32];
uint *local_858;
uint auStack_84c [513];
ulonglong local_48;
local_48 = DAT_14016f5a0 ^ (ulonglong)auStack_878;
local_858 = param_3;
if (((int)param_4 <= (int)param_3[1]) ||
(uVar7 = FUN_1400ddb60((longlong)param_3,param_4), (int)uVar7 == 0)) {
iVar2 = *param_1;
uVar15 = *param_2 + iVar2;
if ((int)param_4 < (int)uVar15) {
uVar15 = param_4;
}
uVar9 = 0;
if (0 < (int)uVar15) {
lVar3 = *(longlong *)(param_1 + 4);
lVar4 = *(longlong *)(param_2 + 4);
iVar1 = *param_2 + -1;
uVar13 = uVar9;
uVar14 = uVar9;
do {
iVar10 = (int)uVar9;
iVar8 = iVar10;
if (iVar1 < iVar10) {
iVar8 = iVar1;
}
puVar11 = (uint *)(lVar3 + (longlong)(iVar10 - iVar8) * 4);
puVar12 = (uint *)(lVar4 + (longlong)iVar8 * 4);
uVar5 = iVar2 - (iVar10 - iVar8);
uVar6 = iVar8 + 1U;
if ((int)uVar5 < (int)(iVar8 + 1U)) {
uVar6 = uVar5;
}
uVar9 = (ulonglong)uVar6;
if (0 < (int)uVar6) {
do {
uVar6 = *puVar12;
uVar5 = *puVar11;
puVar12 = puVar12 + -1;
puVar11 = puVar11 + 1;
uVar13 = uVar13 + (ulonglong)uVar6 * (ulonglong)uVar5;
uVar9 = uVar9 - 1;
} while (uVar9 != 0);
}
uVar14 = uVar14 + 1;
uVar9 = (ulonglong)(iVar10 + 1);
uVar6 = (uint)uVar13;
uVar13 = uVar13 >> 0x1c;
auStack_84c[uVar14] = uVar6 & 0xfffffff;
param_3 = local_858;
} while ((longlong)uVar14 < (longlong)(int)uVar15);
}
uVar6 = *param_3;
_Dst = *(void **)(param_3 + 4);
uVar5 = uVar15 + 1;
*param_3 = uVar15;
uVar15 = 0;
if (0 < (int)uVar5) {
memcpy(_Dst,auStack_84c + 1,(ulonglong)uVar5 << 2);
_Dst = (void *)((longlong)_Dst + (ulonglong)uVar5 * 4);
uVar15 = uVar5;
}
if ((int)uVar15 < (int)uVar6) {
memset(_Dst,0,(ulonglong)(uVar6 - uVar15) << 2);
}
FUN_1400ddc00((int *)param_3);
uVar7 = 0;
}
return uVar7;
}