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,94 @@
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x14003c270 FUN_14003c270
* Pseudocode, not original source. */
void FUN_14003c270(undefined8 *param_1,longlong param_2)
{
longlong *plVar1;
ulonglong *puVar2;
ulonglong uVar3;
ulonglong *puVar4;
longlong lVar5;
longlong *plVar6;
ulonglong *puVar7;
longlong *plVar8;
longlong *local_48;
longlong *plStack_40;
FUN_14003d040((int *)(param_1 + 0xe));
if (param_1[10] == 0) {
local_48 = (longlong *)0x0;
}
else {
local_48 = (longlong *)param_1[0xc];
if (local_48 != (longlong *)0x0) {
plStack_40 = (longlong *)*local_48;
plVar8 = local_48;
goto joined_r0x00014003c2e1;
}
}
plStack_40 = (longlong *)0x0;
plVar8 = local_48;
joined_r0x00014003c2e1:
while ((plStack_40 != (longlong *)0x0 && (*(longlong *)(plStack_40[2] + 8) != param_2))) {
plStack_40 = (longlong *)*plStack_40;
while (plStack_40 == (longlong *)0x0) {
local_48 = local_48 + 1;
plVar8 = local_48;
plStack_40 = (longlong *)*local_48;
}
if (local_48 == plStack_40) {
plStack_40 = (longlong *)0x0;
}
}
printf("ApiSocket Leave [Now:%d] !!!\n");
puVar2 = (ulonglong *)plStack_40[2];
if (puVar2 != (ulonglong *)0x0) {
uVar3 = param_1[1];
lVar5 = param_1[2];
while (uVar3 != 0) {
if ((uVar3 <= puVar2) && (puVar2 < (uVar3 - 0x10) + lVar5)) {
if (uVar3 != 0) {
puVar4 = (ulonglong *)*param_1;
if ((puVar4 == (ulonglong *)0x0) || (puVar2 < puVar4)) {
*puVar2 = (ulonglong)puVar4;
*param_1 = puVar2;
}
else {
for (puVar7 = (ulonglong *)*puVar4; (puVar7 != (ulonglong *)0x0 && (puVar7 <= puVar2));
puVar7 = (ulonglong *)*puVar7) {
puVar4 = puVar7;
}
*puVar2 = *puVar4;
*puVar4 = (ulonglong)puVar2;
}
}
break;
}
plVar1 = (longlong *)(lVar5 + -8 + uVar3);
uVar3 = *(ulonglong *)(lVar5 + -0x10 + uVar3);
lVar5 = *plVar1;
}
lVar5 = *plStack_40;
while (lVar5 == 0) {
plVar8 = plVar8 + 1;
lVar5 = *plVar8;
}
param_1[10] = param_1[10] + -1;
plVar1 = (longlong *)*local_48;
plVar6 = local_48;
while (plVar1 != plStack_40) {
plVar6 = (longlong *)*plVar6;
plVar1 = (longlong *)*plVar6;
}
*plVar6 = *plStack_40;
operator_delete(plStack_40);
if ((local_48 == (longlong *)param_1[0xc]) && (*local_48 == 0)) {
param_1[0xc] = plVar8;
}
}
FUN_14003d0d0((longlong)(param_1 + 0xe));
return;
}