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,68 @@
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x14003c950 FUN_14003c950
* Pseudocode, not original source. */
undefined8 FUN_14003c950(longlong *param_1,int *param_2)
{
ushort uVar1;
int iVar2;
undefined8 uVar3;
int iVar4;
int iVar5;
EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 4));
iVar5 = *param_2;
iVar4 = (int)param_1[1];
uVar1 = *(ushort *)((longlong)param_2 + 2);
*(int *)(param_1 + 9) = iVar5;
if (iVar4 - *(int *)((longlong)param_1 + 0x14) < iVar5) {
LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 4));
uVar3 = 0;
}
else {
iVar2 = (int)param_1[2];
if (iVar4 < iVar2 + iVar5) {
iVar4 = iVar4 - iVar2;
*(int *)((longlong)param_1 + 0x4c) = iVar4;
*(int *)(param_1 + 10) = iVar5 - iVar4;
memcpy((void *)((longlong)iVar2 + *param_1),param_2,(longlong)iVar4);
memcpy((void *)*param_1,
(void *)((longlong)*(int *)((longlong)param_1 + 0x4c) + (longlong)param_2),
(longlong)(int)param_1[10]);
*(int *)(param_1 + 2) = (int)param_1[10];
}
else {
memcpy((void *)((longlong)iVar2 + *param_1),param_2,(longlong)iVar5);
*(int *)(param_1 + 2) = (int)param_1[2] + (int)param_1[9];
iVar5 = (int)param_1[2];
if (iVar5 == (int)param_1[1]) {
iVar5 = 0;
}
*(int *)(param_1 + 2) = iVar5;
}
*(int *)(param_1 + 3) = (int)param_1[3] + 1;
iVar5 = (int)param_1[3];
*(int *)((longlong)param_1 + 0x14) = *(int *)((longlong)param_1 + 0x14) + (int)param_1[9];
if (uVar1 < 0x2329) {
if (DAT_14017cea0 < iVar5) {
DAT_14017cea0 = iVar5;
}
if (DAT_14017cea8 < *(int *)((longlong)param_1 + 0x14)) {
DAT_14017cea8 = *(int *)((longlong)param_1 + 0x14);
}
}
else {
if (DAT_14017cea4 < iVar5) {
DAT_14017cea4 = iVar5;
}
if (DAT_14017ceac < *(int *)((longlong)param_1 + 0x14)) {
DAT_14017ceac = *(int *)((longlong)param_1 + 0x14);
}
}
LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 4));
uVar3 = 1;
}
return uVar3;
}