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 0x14005a600 FUN_14005a600
* Pseudocode, not original source. */
void FUN_14005a600(longlong param_1,wchar_t *param_2,longlong param_3,longlong param_4)
{
uint uVar1;
undefined4 uVar2;
int iVar3;
longlong lVar4;
undefined8 *puVar5;
undefined8 uVar6;
longlong *plVar7;
int *piVar8;
undefined8 *puVar9;
longlong lVar10;
longlong lVar11;
wchar_t *pwVar12;
longlong lVar13;
longlong lVar14;
longlong lVar15;
int iVar16;
longlong lVar17;
int iVar18;
undefined4 uStack_3c;
pwVar12 = param_2;
piVar8 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8);
FUN_14003d040(piVar8);
if (DAT_14017614f != '\0') {
param_3 = *(longlong *)(param_1 + -0xa8);
pwVar12 = L"Proud::CNetServerImpl::GetUserWorkerThreadInfo";
(**(code **)(param_3 + 200))(param_1 + -0xa8);
}
lVar4 = *(longlong *)(param_1 + 0x338);
iVar18 = 0;
uVar1 = *(uint *)(lVar4 + 0x78);
lVar14 = 0;
if (0 < (int)uVar1) {
do {
if ((lVar14 < 0) || ((int)uVar1 <= iVar18)) {
/* WARNING: Subroutine does not return */
FUN_14003def0((ulonglong)uVar1,pwVar12,param_3,param_4);
}
lVar13 = *(longlong *)(lVar4 + 0x70);
puVar5 = *(undefined8 **)(lVar13 + lVar14 * 8);
puVar9 = (undefined8 *)0x0;
if (puVar5 != (undefined8 *)0x0) {
puVar9 = (undefined8 *)*puVar5;
}
uVar6 = *puVar9;
if ((int)uVar1 <= iVar18) {
/* WARNING: Subroutine does not return */
FUN_14003def0((ulonglong)uVar1,lVar13,param_3,param_4);
}
plVar7 = *(longlong **)(lVar13 + lVar14 * 8);
if (plVar7 == (longlong *)0x0) {
lVar13 = 0;
}
else {
lVar13 = *plVar7;
}
uVar2 = *(undefined4 *)(lVar13 + 8);
iVar3 = *(int *)(param_2 + 0xc);
lVar13 = (longlong)iVar3;
if (iVar3 < 0) {
/* WARNING: Subroutine does not return */
FUN_14003dec0();
}
iVar16 = *(int *)(param_2 + 0xc);
uVar1 = iVar16 + 1;
pwVar12 = (wchar_t *)(ulonglong)uVar1;
FUN_14009cb60((longlong)param_2,uVar1,param_3,param_4);
iVar16 = iVar16 - iVar3;
if ((0 < iVar16) && (iVar16 = iVar16 + -1, lVar15 = (longlong)iVar16, -1 < iVar16)) {
lVar17 = (lVar15 + 1 + lVar13) * 0x10;
do {
lVar10 = FUN_140074a30((longlong)param_2);
lVar11 = FUN_140074a30((longlong)param_2);
*(undefined8 *)(lVar11 + lVar17) = *(undefined8 *)(lVar10 + -0x10 + lVar17);
*(undefined8 *)(lVar11 + 8 + lVar17) = *(undefined8 *)(lVar10 + -8 + lVar17);
lVar17 = lVar17 + -0x10;
lVar15 = lVar15 + -1;
} while (-1 < lVar15);
}
lVar15 = FUN_140074a30((longlong)param_2);
*(ulonglong *)(lVar15 + lVar13 * 0x10) = CONCAT44(uStack_3c,uVar2);
*(undefined8 *)(lVar15 + 8 + lVar13 * 0x10) = uVar6;
iVar18 = iVar18 + 1;
lVar14 = lVar14 + 1;
uVar1 = *(uint *)(lVar4 + 0x78);
} while (iVar18 < (int)uVar1);
}
FUN_14003d0d0((longlong)piVar8);
return;
}