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,179 @@
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
* Ghidra 12.1.2 decompiler output for 0x140005950 FUN_140005950
* Pseudocode, not original source. */
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
void FUN_140005950(longlong param_1,short *param_2,undefined8 param_3,uint *param_4)
{
ulonglong *puVar1;
ulonglong *puVar2;
ulonglong *puVar3;
BOOL BVar4;
HANDLE hProcess;
longlong lVar5;
char *_Format;
short *psVar6;
wchar_t *pwVar7;
ulonglong *puVar8;
short *psVar9;
wchar_t *pwVar10;
bool bVar11;
undefined1 auStack_188 [32];
DWORD local_168 [2];
ulonglong *local_160;
ulonglong *local_158;
undefined8 local_150;
undefined8 local_140;
undefined4 local_138 [10];
void *local_110;
ulonglong local_f8;
undefined2 local_e8;
undefined6 uStack_e6;
undefined8 local_d8;
ulonglong local_d0;
undefined2 local_c0;
undefined6 uStack_be;
undefined8 local_b0;
ulonglong local_a8;
undefined8 local_98;
ulonglong uStack_90;
ulonglong local_88;
ulonglong local_80;
ulonglong local_78;
ulonglong local_70;
ulonglong local_68;
void *local_60;
undefined8 local_58;
undefined8 local_50;
ulonglong local_38;
local_140 = 0xfffffffffffffffe;
local_38 = DAT_1401555a0 ^ (ulonglong)auStack_188;
bVar11 = local_38 == 0;
lVar5 = 7;
pwVar7 = param_2;
pwVar10 = L"update";
do {
if (lVar5 == 0) break;
lVar5 = lVar5 + -1;
bVar11 = *pwVar7 == *pwVar10;
pwVar7 = pwVar7 + 1;
pwVar10 = pwVar10 + 1;
} while (bVar11);
if (!bVar11) {
lVar5 = 5;
psVar6 = param_2;
psVar9 = &DAT_14011ca78;
do {
if (lVar5 == 0) break;
lVar5 = lVar5 + -1;
bVar11 = *psVar6 == *psVar9;
psVar6 = psVar6 + 1;
psVar9 = psVar9 + 1;
} while (bVar11);
if (bVar11) {
local_160 = (ulonglong *)0x0;
local_158 = (ulonglong *)0x0;
local_150 = 0;
FUN_14002ce60(DAT_140162d60,(ulonglong *)&local_160);
puVar3 = local_158;
puVar2 = local_160;
if (local_160 != local_158) {
puVar8 = local_160 + 0x17;
do {
FUN_140004ea0(local_138,(undefined4 *)(puVar8 + -0x17));
local_98 = puVar8[-3];
uStack_90 = puVar8[-2];
local_88 = puVar8[-1];
local_80 = *puVar8;
local_78 = puVar8[1];
local_70 = puVar8[2];
local_68 = puVar8[3];
FUN_140004d60(&local_60,(longlong *)(puVar8 + 4));
hProcess = OpenProcess(0x1f0fff,0,local_98._4_4_);
if (hProcess != (HANDLE)0x0) {
BVar4 = GetExitCodeProcess(hProcess,local_168);
if ((BVar4 != 0) && (local_168[0] == 0x103)) {
TerminateProcess(hProcess,0);
}
CloseHandle(hProcess);
}
if (local_60 != (void *)0x0) {
operator_delete(local_60);
}
local_60 = (void *)0x0;
local_58 = 0;
local_50 = 0;
if (7 < local_a8) {
operator_delete((void *)CONCAT62(uStack_be,local_c0));
}
local_a8 = 7;
local_b0 = 0;
local_c0 = 0;
if (7 < local_d0) {
operator_delete((void *)CONCAT62(uStack_e6,local_e8));
}
local_d0 = 7;
local_d8 = 0;
local_e8 = 0;
if (7 < local_f8) {
operator_delete(local_110);
}
puVar1 = puVar8 + 8;
puVar8 = puVar8 + 0x1f;
} while (puVar1 != puVar3);
}
if (puVar2 != (ulonglong *)0x0) {
FUN_140004b30(puVar2,puVar3);
operator_delete(puVar2);
}
}
else {
lVar5 = 5;
psVar6 = param_2;
psVar9 = &DAT_14011ca88;
do {
if (lVar5 == 0) break;
lVar5 = lVar5 + -1;
bVar11 = *psVar6 == *psVar9;
psVar6 = psVar6 + 1;
psVar9 = psVar9 + 1;
} while (bVar11);
if (bVar11) {
bVar11 = *(char *)(DAT_140162d68 + 0x171) == '\0';
*(bool *)(DAT_140162d68 + 0x171) = bVar11;
_Format = "Auto Revive On !!!\n";
if (!bVar11) {
_Format = "Auto Revive Off !!!\n";
}
printf(_Format);
FUN_140006940(param_1,7,param_3,(longlong)param_4);
if (*(longlong *)(DAT_1401626f8 + 0xa8) != 0) {
FUN_140008a40(*(longlong *)(DAT_1401626f8 + 0xa8));
}
}
else {
lVar5 = 9;
pwVar7 = param_2;
pwVar10 = L"serveron";
do {
if (lVar5 == 0) break;
lVar5 = lVar5 + -1;
bVar11 = *pwVar7 == *pwVar10;
pwVar7 = pwVar7 + 1;
pwVar10 = pwVar10 + 1;
} while (bVar11);
if (bVar11) {
FUN_140009890(lVar5,param_2,param_3,param_4);
}
else {
FUN_140006520(param_1,param_2,param_3,(longlong)param_4);
}
}
}
}
return;
}