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,102 @@
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x140010c10 FUN_140010c10
* Pseudocode, not original source. */
void FUN_140010c10(longlong *param_1,ulonglong param_2)
{
longlong lVar1;
longlong lVar2;
undefined8 *puVar3;
longlong *plVar4;
longlong lVar5;
longlong *plVar6;
undefined8 *puVar7;
longlong lVar8;
ulonglong uVar9;
double dVar10;
longlong local_50;
ulonglong local_48;
longlong local_38;
longlong local_30;
lVar8 = param_1[4];
lVar5 = param_1[1];
lVar1 = *param_1;
local_50 = 0;
local_48 = param_2;
FUN_14000c270(&local_50);
local_30 = param_1[1];
lVar2 = *param_1;
*param_1 = 0;
param_1[1] = local_30;
param_1[4] = 0;
for (puVar7 = (undefined8 *)param_1[6]; puVar7 != (undefined8 *)(lVar1 + lVar5 * 8);
puVar7 = puVar7 + 1) {
puVar3 = (undefined8 *)*puVar7;
while (puVar3 != (undefined8 *)0x0) {
plVar4 = puVar3 + 1;
plVar6 = plVar4;
if (0xf < (ulonglong)puVar3[4]) {
plVar6 = (longlong *)*plVar4;
}
if (0xf < (ulonglong)puVar3[4]) {
plVar4 = (longlong *)*plVar4;
}
uVar9 = 0;
for (; plVar4 != (longlong *)(puVar3[3] + (longlong)plVar6);
plVar4 = (longlong *)((longlong)plVar4 + 1)) {
uVar9 = uVar9 ^ (longlong)*(char *)plVar4 + (uVar9 >> 2) + uVar9 * 0x40 + 0x9e3779b9;
}
*puVar7 = *puVar3;
*puVar3 = *(undefined8 *)(local_50 + (uVar9 % local_48) * 8);
*(undefined8 **)(local_50 + (uVar9 % local_48) * 8) = puVar3;
puVar3 = (undefined8 *)*puVar7;
}
}
param_1[4] = lVar8;
lVar8 = *param_1;
*param_1 = local_50;
lVar5 = param_1[1];
param_1[1] = local_48;
plVar4 = (longlong *)*param_1;
if (param_1[4] == 0) {
param_1[6] = (longlong)(plVar4 + local_48);
}
else {
param_1[6] = (longlong)plVar4;
lVar1 = *plVar4;
while (lVar1 == 0) {
plVar4 = plVar4 + 1;
param_1[6] = (longlong)plVar4;
lVar1 = *plVar4;
}
}
dVar10 = (double)param_1[1];
if (param_1[1] < 0) {
dVar10 = dVar10 + 1.8446744073709552e+19;
}
local_50 = lVar8;
local_48 = lVar5;
local_38 = lVar2;
dVar10 = ceil((double)*(float *)(param_1 + 5) * dVar10);
lVar5 = -1;
if (dVar10 < 1.8446744073709552e+19) {
lVar5 = 0;
if ((9.223372036854776e+18 < dVar10) &&
(dVar10 = dVar10 - 9.223372036854776e+18, dVar10 < 9.223372036854776e+18)) {
lVar5 = -0x8000000000000000;
}
lVar5 = (longlong)dVar10 + lVar5;
}
param_1[7] = lVar5;
if (lVar2 != 0) {
FUN_140010570(&local_38);
lVar8 = local_50;
}
if (lVar8 != 0) {
FUN_140010570(&local_50);
}
return;
}