decompiled agent_release
This commit is contained in:
parent
baac905ef2
commit
11a3488883
6439 changed files with 229565 additions and 1 deletions
179
decomp/Agent_Release_x64/full/functions/0x140005950.c
Normal file
179
decomp/Agent_Release_x64/full/functions/0x140005950.c
Normal 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;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue