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,129 @@
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x14003ca90 FUN_14003ca90
* Pseudocode, not original source. */
void FUN_14003ca90(longlong param_1)
{
undefined3 *_Src;
int iVar1;
int iVar2;
ulonglong uVar3;
longlong lVar4;
ulonglong *puVar5;
char *pcVar6;
char *pcVar7;
undefined8 *puVar8;
bool bVar9;
undefined1 auStackY_4c8 [32];
ulonglong *local_488;
undefined3 local_480;
undefined1 local_47d;
DWORD local_47c [3];
LPOVERLAPPED local_470;
undefined1 local_468 [4];
int iStack_464;
undefined1 local_460 [520];
int local_258;
int local_254;
undefined1 local_250 [512];
undefined4 local_50;
undefined4 local_48;
undefined1 uStack_44;
undefined1 local_43;
undefined4 local_40;
undefined1 uStack_3c;
undefined1 local_3b;
ulonglong local_38;
local_38 = DAT_14016f5a0 ^ (ulonglong)auStackY_4c8;
puVar8 = (undefined8 *)0x0;
if (param_1 != 0) {
puVar8 = *(undefined8 **)(param_1 + 0x58);
}
local_47c[0] = 0;
local_488 = (ulonglong *)0x0;
local_47c[1] = 0;
local_470 = (LPOVERLAPPED)0x0;
LAB_14003caf0:
do {
do {
while (GetQueuedCompletionStatus
(*(HANDLE *)(param_1 + 0x18),local_47c,(PULONG_PTR)&local_488,&local_470,
0xffffffff), puVar5 = local_488, local_47c[0] == 0) {
Ordinal_3(*local_488);
if (puVar8 != (undefined8 *)0x0) {
FUN_14003c270(puVar8,*local_488);
}
free(local_488);
}
} while ((LPOVERLAPPED)(local_488 + 7) != local_470);
memset(local_460,0,0x200);
bVar9 = true;
local_47d = 0;
_Src = (undefined3 *)puVar5[0x4d];
lVar4 = 4;
local_480 = *_Src;
pcVar6 = (char *)&local_480;
pcVar7 = "PHP";
do {
if (lVar4 == 0) break;
lVar4 = lVar4 + -1;
bVar9 = *pcVar6 == *pcVar7;
pcVar6 = pcVar6 + 1;
pcVar7 = pcVar7 + 1;
} while (bVar9);
if (!bVar9) {
memcpy(local_468,_Src,0x208);
iVar1 = iStack_464;
if (iStack_464 == 1) {
iStack_464 = 1;
memcpy(puVar5 + 0xb,local_468,0x208);
*(undefined4 *)(local_488 + 0x4c) = 0x208;
local_488[0x4d] = (ulonglong)(local_488 + 0xb);
WSASend(*local_488,local_488 + 0x4c,1,0);
puVar5 = local_488;
iVar1 = 1;
}
local_47c[1] = 0;
LAB_14003cce6:
puVar5[7] = 0;
puVar5[8] = 0;
puVar5[9] = 0;
puVar5[10] = 0;
*(undefined4 *)(local_488 + 0x4c) = 0x208;
local_488[0x4d] = (ulonglong)(local_488 + 0xb);
iVar2 = WSARecv(*local_488,local_488 + 0x4c,1);
if (iVar2 == -1) {
Ordinal_111();
}
if ((iVar1 != 0) && (puVar8 != (undefined8 *)0x0)) {
memset(local_250,0,0x200);
local_258 = 0x20c;
uVar3 = FUN_14003c4f0((longlong)puVar8,*local_488);
local_50 = (undefined4)uVar3;
local_254 = iVar1;
memcpy(local_250,local_460,0x200);
FUN_14003c950(*(longlong **)(param_1 + 8),&local_258);
}
goto LAB_14003caf0;
}
local_3b = 0;
local_43 = 0;
local_40 = *(undefined4 *)((longlong)_Src + 3);
uStack_3c = *(undefined1 *)((longlong)_Src + 7);
local_48 = *(undefined4 *)(_Src + 2);
uStack_44 = *(undefined1 *)(_Src + 3);
iVar1 = atoi((char *)&local_40);
iVar2 = atoi((char *)&local_48);
puVar5 = local_488;
if (iVar2 < 0x401) {
iStack_464 = iVar1;
memcpy(local_460,(void *)(local_488[0x4d] + 0xd),(longlong)(iVar2 + -1));
iVar1 = iStack_464;
goto LAB_14003cce6;
}
printf("API SERVER - RECEIVE PACKET ERROR (PACKET_SIZE > 1024)\n");
} while( true );
}