decompiled agent_release
This commit is contained in:
parent
baac905ef2
commit
11a3488883
6439 changed files with 229565 additions and 1 deletions
385
decomp/Agent_Release_x64/0x1400037a0.pseudo.c
Normal file
385
decomp/Agent_Release_x64/0x1400037a0.pseudo.c
Normal file
|
|
@ -0,0 +1,385 @@
|
|||
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
|
||||
* Ghidra 12.1.2 pseudocode via REA, ev_2fa3bc1da1e9e82a4bd2859ca38ee1636f1ade7ba45372348ff4288d16c2f449
|
||||
* Decompiler output, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
||||
|
||||
undefined8 FUN_1400037a0(longlong param_1,undefined8 **param_2,undefined8 *param_3,uint *param_4)
|
||||
|
||||
{
|
||||
int *piVar1;
|
||||
double dVar2;
|
||||
char cVar3;
|
||||
undefined8 *puVar4;
|
||||
undefined1 auVar5 [16];
|
||||
bool bVar6;
|
||||
bool bVar7;
|
||||
longlong *plVar8;
|
||||
BOOL BVar9;
|
||||
wchar_t *pwVar10;
|
||||
wchar_t *pwVar11;
|
||||
ulonglong uVar12;
|
||||
longlong *plVar13;
|
||||
wchar_t *pwVar14;
|
||||
char *pcVar15;
|
||||
ulonglong *puVar16;
|
||||
longlong *plVar17;
|
||||
undefined2 *puVar18;
|
||||
wchar_t *pwVar19;
|
||||
longlong lVar20;
|
||||
undefined4 uVar21;
|
||||
undefined4 uVar22;
|
||||
undefined4 uVar23;
|
||||
undefined4 uVar24;
|
||||
undefined4 uVar25;
|
||||
undefined1 auStack_2a8 [32];
|
||||
longlong *local_288;
|
||||
wchar_t *local_280;
|
||||
LARGE_INTEGER local_278;
|
||||
undefined8 *local_270;
|
||||
wchar_t *local_268;
|
||||
wchar_t *local_260;
|
||||
int *local_258;
|
||||
undefined1 local_250;
|
||||
undefined8 local_248;
|
||||
undefined2 local_238;
|
||||
undefined1 local_236 [158];
|
||||
undefined1 local_198 [160];
|
||||
undefined8 *local_f8;
|
||||
undefined2 local_f0;
|
||||
undefined6 uStack_ee;
|
||||
undefined8 local_e0;
|
||||
ulonglong local_d8;
|
||||
undefined2 local_c8;
|
||||
undefined6 uStack_c6;
|
||||
undefined8 local_b8;
|
||||
ulonglong local_b0;
|
||||
ulonglong local_98;
|
||||
|
||||
local_248 = 0xfffffffffffffffe;
|
||||
local_98 = DAT_1401555a0 ^ (ulonglong)auStack_2a8;
|
||||
FUN_140010960(L"# Agent Startup #\n\n",param_2,param_3,param_4);
|
||||
CoInitialize((LPVOID)0x0);
|
||||
FUN_140010aa0(L"+ Prepare Startup\n",param_2,param_3,param_4);
|
||||
local_278 = (LARGE_INTEGER)operator_new(0xb8);
|
||||
pwVar19 = (wchar_t *)0x0;
|
||||
pwVar10 = pwVar19;
|
||||
if ((undefined8 *)local_278.QuadPart != (undefined8 *)0x0) {
|
||||
pwVar10 = (wchar_t *)FUN_140005020((undefined8 *)local_278,param_2,param_3,param_4);
|
||||
}
|
||||
if (pwVar10 == (wchar_t *)0x0) {
|
||||
local_288 = (longlong *)0x0;
|
||||
}
|
||||
else {
|
||||
local_288 = (longlong *)FUN_140030280(0x10);
|
||||
local_288[1] = 1;
|
||||
*local_288 = (longlong)pwVar10;
|
||||
}
|
||||
plVar17 = local_288;
|
||||
pwVar11 = operator_new(0x68);
|
||||
pwVar10 = pwVar19;
|
||||
local_280 = pwVar11;
|
||||
if (pwVar11 != (wchar_t *)0x0) {
|
||||
if (plVar17 != (longlong *)0x0) {
|
||||
pwVar10 = (wchar_t *)*plVar17;
|
||||
}
|
||||
*(wchar_t **)pwVar11 = pwVar10;
|
||||
pwVar11[4] = L'\0';
|
||||
pwVar11[5] = L'\0';
|
||||
pwVar11[6] = L'\0';
|
||||
pwVar11[7] = L'\0';
|
||||
pwVar11[8] = L'\0';
|
||||
pwVar11[9] = L'\0';
|
||||
pwVar11[10] = L'\0';
|
||||
pwVar11[0xb] = L'\0';
|
||||
pwVar11[0xc] = L'\0';
|
||||
pwVar11[0xd] = L'\0';
|
||||
pwVar11[0xe] = L'\0';
|
||||
pwVar11[0xf] = L'\0';
|
||||
uVar12 = FUN_14002e790();
|
||||
param_2 = (undefined8 **)(uVar12 & 0xffffffff);
|
||||
param_3 = (undefined8 *)CONCAT71((int7)((ulonglong)param_3 >> 8),1);
|
||||
FUN_14002e600((undefined4 *)(pwVar11 + 0x14),(ulonglong)param_2,param_3,param_4);
|
||||
FUN_140007960((longlong)pwVar11);
|
||||
pwVar10 = pwVar11;
|
||||
}
|
||||
if (pwVar10 == (wchar_t *)0x0) {
|
||||
local_280 = (wchar_t *)0x0;
|
||||
}
|
||||
else {
|
||||
local_280 = (wchar_t *)FUN_140030280(0x10);
|
||||
*(undefined8 *)((longlong)local_280 + 8) = 1;
|
||||
*(wchar_t **)local_280 = pwVar10;
|
||||
}
|
||||
pwVar10 = local_280;
|
||||
pwVar11 = pwVar19;
|
||||
if (plVar17 != (longlong *)0x0) {
|
||||
pwVar11 = (wchar_t *)*plVar17;
|
||||
}
|
||||
*(wchar_t **)(param_1 + 0xa0) = pwVar11;
|
||||
pwVar11 = pwVar19;
|
||||
if (local_280 != (wchar_t *)0x0) {
|
||||
pwVar11 = *(wchar_t **)local_280;
|
||||
}
|
||||
*(wchar_t **)(param_1 + 0xa8) = pwVar11;
|
||||
pwVar11 = pwVar19;
|
||||
if (local_280 != (wchar_t *)0x0) {
|
||||
pwVar11 = *(wchar_t **)local_280;
|
||||
}
|
||||
FUN_140007960((longlong)pwVar11);
|
||||
local_f8 = (undefined8 *)0x0;
|
||||
local_d8 = 7;
|
||||
local_e0 = 0;
|
||||
local_f0 = 0;
|
||||
local_b0 = 7;
|
||||
local_b8 = 0;
|
||||
local_c8 = 0;
|
||||
if (*(longlong *)(DAT_140162d68 + 0x1c8) != 0) {
|
||||
auVar5._8_8_ = 0;
|
||||
auVar5._0_8_ = *(ulonglong *)(DAT_140162d68 + 0x1b0);
|
||||
param_2 = SUB168((ZEXT816(0) << 0x40 | ZEXT816(0x15)) % auVar5,0);
|
||||
local_270 = (undefined8 *)(*(longlong *)(DAT_140162d68 + 0x1a8) + (longlong)param_2 * 8);
|
||||
for (local_268 = (wchar_t *)*local_270; local_268 != (wchar_t *)0x0;
|
||||
local_268 = *(wchar_t **)local_268) {
|
||||
if ((char)local_268[4] == '\x15') {
|
||||
if (local_268 != (wchar_t *)0x0) goto LAB_1400039c4;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
local_270 = (undefined8 *)0x0;
|
||||
local_268 = pwVar19;
|
||||
LAB_1400039c4:
|
||||
if ((local_268 != (wchar_t *)0x0) &&
|
||||
(puVar4 = *(undefined8 **)(local_268 + 8), puVar4 != *(undefined8 **)(local_268 + 0xc))) {
|
||||
local_f8 = (undefined8 *)*puVar4;
|
||||
FUN_140001600((longlong *)&local_f0,puVar4 + 1,0,0xffffffffffffffff);
|
||||
param_4 = (uint *)0xffffffffffffffff;
|
||||
param_3 = (undefined8 *)0x0;
|
||||
FUN_140001600((longlong *)&local_c8,puVar4 + 6,0,0xffffffffffffffff);
|
||||
param_2 = &local_f8;
|
||||
FUN_140007a80(*(undefined8 **)(param_1 + 0xa8),param_2,param_3,(undefined8 *)param_4);
|
||||
lVar20 = *(longlong *)(param_1 + 0xa8);
|
||||
piVar1 = (int *)(lVar20 + 0x28);
|
||||
local_258 = piVar1;
|
||||
FUN_14002e6e0(piVar1);
|
||||
plVar13 = *(longlong **)(lVar20 + 8);
|
||||
if (*plVar13 == 0) {
|
||||
FUN_14002e770((longlong)piVar1);
|
||||
local_250 = 0;
|
||||
}
|
||||
else {
|
||||
lVar20 = *plVar13;
|
||||
FUN_14002e770((longlong)piVar1);
|
||||
local_250 = 0;
|
||||
if (lVar20 != 0) {
|
||||
cVar3 = *(char *)(lVar20 + 0x88);
|
||||
while (cVar3 == '\0') {
|
||||
FUN_1400023e0(lVar20);
|
||||
cVar3 = *(char *)(lVar20 + 0x88);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
pwVar11 = pwVar19;
|
||||
if (plVar17 != (longlong *)0x0) {
|
||||
pwVar11 = (wchar_t *)*plVar17;
|
||||
}
|
||||
FUN_140005360((longlong)pwVar11,param_2,param_3,(longlong)param_4);
|
||||
pwVar11 = pwVar19;
|
||||
if (plVar17 != (longlong *)0x0) {
|
||||
pwVar11 = (wchar_t *)*plVar17;
|
||||
}
|
||||
*(undefined8 *)(pwVar11 + 0x24) = *(undefined8 *)(param_1 + 0xa8);
|
||||
FUN_140010960(L"\n # Agent Running... #\n",param_2,param_3,param_4);
|
||||
plVar13 = operator_new(0x18);
|
||||
if (plVar13 == (longlong *)0x0) {
|
||||
plVar13 = (longlong *)0x0;
|
||||
}
|
||||
else {
|
||||
*plVar13 = (longlong)TimeSourceHRWin32::vftable;
|
||||
BVar9 = QueryPerformanceFrequency(&local_278);
|
||||
if (BVar9 == 0) {
|
||||
*(undefined1 *)(plVar13 + 2) = 0;
|
||||
GetLastError();
|
||||
}
|
||||
else {
|
||||
*(undefined1 *)(plVar13 + 2) = 1;
|
||||
plVar13[1] = (longlong)(1.0 / (double)local_278.QuadPart);
|
||||
}
|
||||
}
|
||||
plVar8 = DAT_140162d50;
|
||||
if ((undefined8 *)DAT_140162d50[2] != (undefined8 *)0x0) {
|
||||
(*(code *)**(undefined8 **)DAT_140162d50[2])();
|
||||
}
|
||||
plVar8[2] = (longlong)plVar13;
|
||||
if (plVar13 != (longlong *)0x0) {
|
||||
lVar20 = (**(code **)(*plVar13 + 8))(plVar13);
|
||||
plVar8[6] = lVar20;
|
||||
plVar8[7] = lVar20;
|
||||
}
|
||||
plVar8[0x12] = 0x3ff0000000000000;
|
||||
pwVar14 = operator_new(0x28);
|
||||
pwVar11 = pwVar19;
|
||||
local_260 = pwVar14;
|
||||
if (pwVar14 != (wchar_t *)0x0) {
|
||||
*(undefined ***)pwVar14 = Magi::Timer::vftable;
|
||||
plVar13 = DAT_140162d50;
|
||||
*(longlong **)(pwVar14 + 4) = DAT_140162d50;
|
||||
pwVar14[8] = L'\0';
|
||||
pwVar14[9] = L'\0';
|
||||
pwVar14[10] = L'\0';
|
||||
pwVar14[0xb] = L'\0';
|
||||
pwVar14[0xc] = L'\0';
|
||||
pwVar14[0xd] = L'\0';
|
||||
pwVar14[0xe] = L'\0';
|
||||
pwVar14[0xf] = L'\0';
|
||||
*(undefined1 *)(pwVar14 + 0x10) = 0;
|
||||
pwVar14[0x12] = L'\0';
|
||||
pwVar14[0x13] = L'㾀';
|
||||
(**(code **)(*plVar13 + 0x10))();
|
||||
pwVar11 = pwVar14;
|
||||
}
|
||||
*(wchar_t **)(param_1 + 0x50) = pwVar11;
|
||||
bVar6 = true;
|
||||
local_238 = 0;
|
||||
memset(local_236,0,0x9e);
|
||||
puVar16 = (ulonglong *)0x0;
|
||||
puVar18 = (undefined2 *)0xa0;
|
||||
memset(local_198,0,0xa0);
|
||||
uVar21 = 0;
|
||||
uVar23 = 0;
|
||||
FUN_1400271e0(DAT_140162d68);
|
||||
pcVar15 = *(char **)(DAT_140162d58 + 8);
|
||||
do {
|
||||
pwVar11 = pwVar19;
|
||||
if (pcVar15 == *(char **)(DAT_140162d58 + 0x10)) {
|
||||
LAB_140003c4a:
|
||||
FUN_140009780(pwVar11);
|
||||
FUN_140001dc0(param_1 + 8);
|
||||
bVar7 = false;
|
||||
cVar3 = *(char *)(param_1 + 0x60);
|
||||
uVar24 = uVar21;
|
||||
uVar25 = uVar23;
|
||||
while (cVar3 != '\0') {
|
||||
FUN_1400dc520((longlong)DAT_140162d50);
|
||||
dVar2 = *(double *)(*(longlong *)(param_1 + 0x50) + 0x10);
|
||||
if (((0.0 < *(double *)(DAT_140162d68 + 0x178)) &&
|
||||
(0.0 < dVar2 - *(double *)(DAT_140162d68 + 0x178))) && (bVar6)) {
|
||||
bVar6 = false;
|
||||
pcVar15 = "Start Auto Server On. \n";
|
||||
printf("Start Auto Server On. \n");
|
||||
FUN_140009bd0(pcVar15,puVar16,puVar18,param_4);
|
||||
}
|
||||
FUN_140007da0(*(longlong *)(param_1 + 0xa8),dVar2);
|
||||
uVar22 = (undefined4)((ulonglong)dVar2 >> 0x20);
|
||||
if (1.0 <= dVar2 - (double)CONCAT44(uVar23,uVar21)) {
|
||||
if (DAT_140162cc4 != 0) {
|
||||
puVar16 = (ulonglong *)&DAT_14011b7b4;
|
||||
if (bVar7) {
|
||||
puVar16 = (ulonglong *)&DAT_14011b7b0;
|
||||
}
|
||||
puVar18 = (undefined2 *)(ulonglong)DAT_140162cc8;
|
||||
printf("[ %s ] FPS[ %d ]\n");
|
||||
bVar7 = !bVar7;
|
||||
}
|
||||
_DAT_140162ccc = DAT_140162cc8;
|
||||
DAT_140162cc8 = 0;
|
||||
uVar21 = SUB84(dVar2,0);
|
||||
uVar23 = uVar22;
|
||||
}
|
||||
if (0.10000000149011612 <= dVar2 - (double)CONCAT44(uVar25,uVar24)) {
|
||||
DAT_140162cc8 = DAT_140162cc8 + 1;
|
||||
FUN_140003f30(param_1,puVar16,puVar18,param_4);
|
||||
pwVar11 = pwVar19;
|
||||
if (plVar17 != (longlong *)0x0) {
|
||||
pwVar11 = (wchar_t *)*plVar17;
|
||||
}
|
||||
FUN_1400053e0((longlong)pwVar11,dVar2);
|
||||
uVar24 = SUB84(dVar2,0);
|
||||
uVar25 = uVar22;
|
||||
}
|
||||
*(double *)(param_1 + 0x58) = dVar2;
|
||||
Sleep(1);
|
||||
cVar3 = *(char *)(param_1 + 0x60);
|
||||
}
|
||||
FUN_140010aa0(L"+ Prepare Stop\n",puVar16,puVar18,param_4);
|
||||
FUN_1400079d0(*(longlong *)(param_1 + 0xa8));
|
||||
lVar20 = *(longlong *)(param_1 + 0xa0);
|
||||
puVar4 = *(undefined8 **)(lVar20 + 0x28);
|
||||
if (puVar4 != (undefined8 *)0x0) {
|
||||
puVar16 = (ulonglong *)0x1;
|
||||
(**(code **)*puVar4)();
|
||||
}
|
||||
*(undefined8 *)(lVar20 + 0x28) = 0;
|
||||
CoUninitialize();
|
||||
FUN_140010960(L"# Agent Stoped... #\n",puVar16,puVar18,param_4);
|
||||
if (7 < local_b0) {
|
||||
operator_delete((void *)CONCAT62(uStack_c6,local_c8));
|
||||
}
|
||||
local_b0 = 7;
|
||||
local_b8 = 0;
|
||||
local_c8 = 0;
|
||||
if (7 < local_d8) {
|
||||
operator_delete((void *)CONCAT62(uStack_ee,local_f0));
|
||||
}
|
||||
pwVar19 = local_280;
|
||||
local_d8 = 7;
|
||||
local_e0 = 0;
|
||||
local_f0 = 0;
|
||||
if (pwVar10 != (wchar_t *)0x0) {
|
||||
plVar13 = (longlong *)((longlong)pwVar10 + 8);
|
||||
*plVar13 = *plVar13 + -1;
|
||||
plVar17 = local_288;
|
||||
if (*plVar13 == 0) {
|
||||
pwVar10 = *(wchar_t **)local_280;
|
||||
local_260 = pwVar10;
|
||||
if (pwVar10 != (wchar_t *)0x0) {
|
||||
FUN_14002e7a0((undefined4 *)(pwVar10 + 0x14),puVar16,puVar18,param_4);
|
||||
if (*(void **)(pwVar10 + 4) != (void *)0x0) {
|
||||
operator_delete(*(void **)(pwVar10 + 4));
|
||||
}
|
||||
pwVar10[4] = L'\0';
|
||||
pwVar10[5] = L'\0';
|
||||
pwVar10[6] = L'\0';
|
||||
pwVar10[7] = L'\0';
|
||||
pwVar10[8] = L'\0';
|
||||
pwVar10[9] = L'\0';
|
||||
pwVar10[10] = L'\0';
|
||||
pwVar10[0xb] = L'\0';
|
||||
pwVar10[0xc] = L'\0';
|
||||
pwVar10[0xd] = L'\0';
|
||||
pwVar10[0xe] = L'\0';
|
||||
pwVar10[0xf] = L'\0';
|
||||
operator_delete(pwVar10);
|
||||
}
|
||||
FUN_1400302f0(pwVar19);
|
||||
plVar17 = local_288;
|
||||
}
|
||||
}
|
||||
plVar13 = local_288;
|
||||
if (plVar17 != (longlong *)0x0) {
|
||||
plVar17 = plVar17 + 1;
|
||||
*plVar17 = *plVar17 + -1;
|
||||
if (*plVar17 == 0) {
|
||||
puVar4 = (undefined8 *)*local_288;
|
||||
if (puVar4 != (undefined8 *)0x0) {
|
||||
(**(code **)*puVar4)(puVar4,1);
|
||||
}
|
||||
FUN_1400302f0(plVar13);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
if (*pcVar15 == '\x18') {
|
||||
pwVar11 = (wchar_t *)(pcVar15 + 8);
|
||||
if (7 < *(ulonglong *)(pcVar15 + 0x20)) {
|
||||
pwVar11 = *(wchar_t **)(pcVar15 + 8);
|
||||
}
|
||||
goto LAB_140003c4a;
|
||||
}
|
||||
pcVar15 = pcVar15 + 0x30;
|
||||
} while( true );
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue