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,64 @@
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
* Ghidra 12.1.2 decompiler output for 0x1400bc4c0 FUN_1400bc4c0
* Pseudocode, not original source. */
void FUN_1400bc4c0(wchar_t *param_1,LPVOID param_2,longlong *param_3,undefined8 param_4)
{
undefined8 *puVar1;
LPVOID pvVar2;
wchar_t *pwVar3;
int iVar4;
longlong lVar5;
pwVar3 = param_1;
FUN_14002e6e0((int *)param_1);
if (0 < *(int *)(param_1 + 0x24)) {
pwVar3 =
L"CHeartbeatWorkThread must be cleaned up only after every work items are unregistered!";
FUN_14002fa10(
L"CHeartbeatWorkThread must be cleaned up only after every work items are unregistered!"
);
}
*(undefined1 *)(param_1 + 0x40) = 0;
iVar4 = 0;
lVar5 = 0;
if (0 < *(int *)(param_1 + 0x34)) {
do {
if ((lVar5 < 0) || (*(int *)(param_1 + 0x34) <= iVar4)) {
/* WARNING: Subroutine does not return */
FUN_14002f5c0(pwVar3,param_2,param_3,param_4);
}
puVar1 = *(undefined8 **)(*(longlong *)(param_1 + 0x30) + lVar5 * 8);
pwVar3 = (wchar_t *)0x0;
if (puVar1 != (undefined8 *)0x0) {
pwVar3 = (wchar_t *)*puVar1;
}
FUN_1400375f0((undefined8 *)pwVar3);
iVar4 = iVar4 + 1;
lVar5 = lVar5 + 1;
} while (iVar4 < *(int *)(param_1 + 0x34));
}
FUN_14002e770((longlong)param_1);
*(undefined ***)(param_1 + 0x28) = Proud::CFastArray<Proud::RefCount<Proud::Thread>,0>::vftable;
pvVar2 = (LPVOID)(longlong)*(int *)(param_1 + 0x34);
if (0 < *(int *)(param_1 + 0x34)) {
FUN_1400bc420(*(longlong **)(param_1 + 0x30),(longlong)pvVar2);
param_2 = pvVar2;
}
pvVar2 = *(LPVOID *)(param_1 + 0x30);
if (pvVar2 != (LPVOID)0x0) {
param_3 = *(longlong **)(param_1 + 0x2c);
if (param_3 == (longlong *)0x0) {
FUN_1400302f0(pvVar2);
}
else {
(**(code **)(*param_3 + 0x18))(param_3);
param_2 = pvVar2;
}
}
FUN_1400bc060((longlong *)(param_1 + 0x1c));
FUN_14002e7a0((undefined4 *)param_1,param_2,param_3,param_4);
return;
}