decompiled agent_release

This commit is contained in:
Benjamin Palko 2026-10-14 16:45:19 -04:00
parent baac905ef2
commit 11a3488883
6439 changed files with 229565 additions and 1 deletions

View file

@ -0,0 +1,218 @@
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
* Ghidra 12.1.2 decompiler output for 0x14005be80 FUN_14005be80
* Pseudocode, not original source. */
/* WARNING: Removing unreachable block (ram,0x00014005bf48) */
/* WARNING: Removing unreachable block (ram,0x00014005bf51) */
/* WARNING: Removing unreachable block (ram,0x00014005bf6f) */
/* WARNING: Removing unreachable block (ram,0x00014005bf78) */
/* WARNING: Removing unreachable block (ram,0x00014005c005) */
/* WARNING: Removing unreachable block (ram,0x00014005c00c) */
/* WARNING: Removing unreachable block (ram,0x00014005c014) */
/* WARNING: Removing unreachable block (ram,0x00014005c021) */
/* WARNING: Removing unreachable block (ram,0x00014005c019) */
/* WARNING: Removing unreachable block (ram,0x00014005c027) */
/* WARNING: Removing unreachable block (ram,0x00014005c038) */
/* WARNING: Removing unreachable block (ram,0x00014005c23a) */
void FUN_14005be80(longlong param_1,uint *param_2,ulonglong param_3,ulonglong param_4)
{
int iVar1;
longlong *plVar2;
LPVOID pvVar3;
undefined8 uVar4;
uint *puVar5;
longlong lVar6;
ulonglong uVar7;
undefined ***pppuVar8;
uint *puVar9;
uint *puVar10;
longlong lVar11;
int iVar12;
LPVOID pvVar13;
ulonglong uVar14;
uint uVar15;
uint uVar16;
ulonglong uVar17;
ulonglong uVar18;
uint uVar19;
LPVOID pvVar20;
undefined **local_e8;
longlong *local_e0;
LPVOID local_d8;
ulonglong local_d0;
undefined8 local_c8;
undefined **local_b8;
longlong local_b0;
uint *local_a8;
undefined8 local_a0;
longlong local_98;
uint local_90;
undefined4 local_8c;
undefined4 local_88;
undefined4 local_84;
undefined8 local_80;
undefined8 local_78;
undefined4 local_70;
undefined8 local_68;
undefined8 local_58;
local_58 = 0xfffffffffffffffe;
local_e8 = Proud::CFastArray<int,0>::vftable;
pvVar13 = (LPVOID)0x0;
iVar12 = 0;
local_e0 = (longlong *)0x0;
local_d8 = (LPVOID)0x0;
local_d0 = 0;
local_c8 = 0;
local_b8._0_1_ = 0;
local_68 = 0;
local_b0 = 0;
local_a8 = (uint *)0x0;
local_a0 = 0;
local_90 = 0x11;
local_98 = 0;
local_70 = 0;
local_8c = 0x3f400000;
local_88 = 0x3e800000;
local_84 = 0x40100000;
puVar9 = (uint *)0x8000000000000000;
local_80 = 0x26;
pppuVar8 = (undefined ***)0x0;
local_78 = 0;
uVar16 = param_2[0x38];
uVar18 = param_3;
uVar7 = param_4;
pvVar20 = pvVar13;
plVar2 = local_e0;
do {
uVar16 = uVar16 - 1;
local_e0 = plVar2;
if ((int)uVar16 < 0) {
uVar14 = 0;
puVar10 = (uint *)0x0;
uVar17 = uVar14;
if (0 < iVar12) {
do {
if (((longlong)uVar14 < 0) || (iVar12 <= (int)uVar17)) {
/* WARNING: Subroutine does not return */
FUN_14002f5c0(pppuVar8,puVar9,uVar18,uVar7);
}
iVar1 = *(int *)((longlong)pvVar20 + uVar14 * 4);
lVar11 = (longlong)iVar1;
pppuVar8 = (undefined ***)(param_2 + 0x32);
uVar16 = param_2[0x38];
lVar6 = (longlong)(int)uVar16;
if ((iVar1 < 0) || ((int)uVar16 <= iVar1)) {
/* WARNING: Subroutine does not return */
FUN_14002f590();
}
uVar19 = uVar16 - 1;
if (iVar1 < (int)uVar19) {
puVar9 = puVar10;
puVar5 = puVar10;
if (uVar16 != 0) {
puVar9 = *(uint **)(param_2 + 0x36);
puVar5 = *(uint **)(param_2 + 0x36);
}
uVar7 = lVar6 * 3;
uVar18 = lVar11 * 3;
*(undefined8 *)(puVar5 + lVar11 * 6) = *(undefined8 *)(puVar9 + lVar6 * 6 + -6);
*(undefined8 *)(puVar5 + lVar11 * 6 + 2) = *(undefined8 *)(puVar9 + lVar6 * 6 + -4);
*(undefined8 *)(puVar5 + lVar11 * 6 + 4) = *(undefined8 *)(puVar9 + lVar6 * 6 + -2);
}
puVar9 = (uint *)(ulonglong)uVar19;
FUN_14003e6b0((longlong)pppuVar8,uVar19,uVar18,uVar7);
uVar16 = (int)uVar17 + 1;
uVar14 = uVar14 + 1;
uVar17 = (ulonglong)uVar16;
} while ((int)uVar16 < iVar12);
}
puVar9 = local_a8;
if (local_98 == 0) {
puVar9 = puVar10;
}
for (; puVar9 != (uint *)0x0; puVar9 = *(uint **)(puVar9 + 2)) {
uVar16 = *puVar9;
uVar7 = FUN_1400a17b0((longlong)(param_2 + 0x32),uVar16);
if ((char)uVar7 == '\0') {
FUN_14005bc30(param_1,(ulonglong)*param_2,(ulonglong)uVar16,param_4 & 0xffffffff);
}
}
FUN_140043b40((char *)&local_b8);
if (pvVar20 != (LPVOID)0x0) {
if (plVar2 == (longlong *)0x0) {
FUN_1400302f0(pvVar20);
}
else {
(**(code **)(*plVar2 + 0x18))(plVar2,pvVar20);
}
}
return;
}
if (((int)uVar16 < 0) || ((int)param_2[0x38] <= (int)uVar16)) {
/* WARNING: Subroutine does not return */
FUN_14002f5c0(pppuVar8,puVar9,uVar18,uVar7);
}
pppuVar8 = (undefined ***)((longlong)(int)uVar16 * 3);
puVar10 = (uint *)(*(longlong *)(param_2 + 0x36) + (longlong)(int)uVar16 * 0x18);
if ((*puVar10 == (uint)uVar18) || (puVar10[1] == (uint)uVar18)) {
iVar12 = (int)pvVar13;
if (iVar12 < 0) {
/* WARNING: Subroutine does not return */
FUN_14002f590();
}
pppuVar8 = &local_e8;
FUN_14002d430((longlong)pppuVar8,iVar12 + 1,uVar18,uVar7);
pvVar20 = local_d8;
pvVar13 = (LPVOID)(local_d0 & 0xffffffff);
pvVar3 = local_d8;
if ((int)local_d0 == 0) {
pvVar3 = (LPVOID)0x0;
}
*(uint *)((longlong)pvVar3 + (longlong)iVar12 * 4) = uVar16;
uVar19 = *puVar10;
uVar7 = (ulonglong)local_90;
if (local_b0 != 0) {
pppuVar8 = *(undefined ****)(local_b0 + ((ulonglong)uVar19 % uVar7) * 8);
while ((pppuVar8 != (undefined ***)0x0 &&
(puVar9 = (uint *)((ulonglong)*(uint *)(pppuVar8 + 3) % uVar7),
(int)((ulonglong)uVar19 % uVar7) == (int)puVar9))) {
if (*(uint *)pppuVar8 == uVar19) goto LAB_14005c100;
pppuVar8 = (undefined ***)pppuVar8[1];
}
}
uVar15 = (uint)((ulonglong)uVar19 % uVar7);
if (local_b0 == 0) {
uVar4 = FUN_14003f710((longlong)&local_b8,local_90,'\x01');
if ((char)uVar4 == '\0') {
/* WARNING: Subroutine does not return */
FUN_14000b450(0x8007000e);
}
}
else {
puVar5 = *(uint **)(local_b0 + ((ulonglong)uVar19 % uVar7) * 8);
while ((puVar5 != (uint *)0x0 && (uVar15 == (uint)(uint *)((ulonglong)puVar5[6] % uVar7))))
{
puVar9 = (uint *)((ulonglong)puVar5[6] % uVar7);
if (*puVar5 == uVar19) goto LAB_14005c0f8;
puVar5 = *(uint **)(puVar5 + 2);
}
}
FUN_14003f000((char *)&local_b8);
uVar7 = (ulonglong)uVar19;
puVar5 = FUN_140041130((char *)&local_b8,puVar10,uVar15,uVar19);
pppuVar8 = &local_b8;
FUN_14003f000((char *)pppuVar8);
puVar9 = puVar10;
LAB_14005c0f8:
*(undefined1 *)(puVar5 + 1) = 0;
LAB_14005c100:
uVar18 = param_3 & 0xffffffff;
}
iVar12 = (int)pvVar13;
plVar2 = local_e0;
} while( true );
}