decompiled agent_release
This commit is contained in:
parent
baac905ef2
commit
11a3488883
6439 changed files with 229565 additions and 1 deletions
271
decomp/Agent_Release_x64/0x140008ea0.pseudo.c
Normal file
271
decomp/Agent_Release_x64/0x140008ea0.pseudo.c
Normal file
|
|
@ -0,0 +1,271 @@
|
|||
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
|
||||
* Ghidra 12.1.2 pseudocode via REA, ev_e87b1dd73483b4679d62c8af5a049a4eba2945ad39d8d854566eb6f8725e1200
|
||||
* Decompiler output, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
/* WARNING: Type propagation algorithm not settling */
|
||||
|
||||
void FUN_140008ea0(undefined8 param_1,uint *param_2,undefined8 param_3,uint *param_4)
|
||||
|
||||
{
|
||||
char cVar1;
|
||||
wchar_t wVar2;
|
||||
ulonglong uVar3;
|
||||
DWORD DVar4;
|
||||
char *pcVar5;
|
||||
wchar_t *******pppppppwVar6;
|
||||
longlong lVar7;
|
||||
ulonglong uVar8;
|
||||
undefined8 uVar9;
|
||||
char *pcVar10;
|
||||
wchar_t *pwVar11;
|
||||
undefined8 *puVar12;
|
||||
short *psVar13;
|
||||
wchar_t *pwVar14;
|
||||
undefined1 auStack_488 [32];
|
||||
void **local_468;
|
||||
undefined8 *local_460;
|
||||
uint local_458 [2];
|
||||
undefined8 *local_450;
|
||||
undefined1 *local_448;
|
||||
undefined8 local_440;
|
||||
basic_ostream<wchar_t,std::char_traits<wchar_t>_> local_438 [136];
|
||||
basic_ios<wchar_t,std::char_traits<wchar_t>_> local_3b0 [104];
|
||||
uint *local_348;
|
||||
wchar_t *******local_340 [2];
|
||||
wchar_t ******local_330;
|
||||
wchar_t ******local_328;
|
||||
undefined2 local_318;
|
||||
undefined6 uStack_316;
|
||||
undefined8 local_308;
|
||||
ulonglong local_300;
|
||||
ulonglong local_2f0 [2];
|
||||
undefined8 local_2e0;
|
||||
ulonglong local_2d8;
|
||||
void *local_2c8;
|
||||
undefined8 local_2c0;
|
||||
undefined8 local_2b8;
|
||||
ulonglong local_2b0;
|
||||
ulonglong local_2a0 [2];
|
||||
undefined8 local_290;
|
||||
ulonglong local_288;
|
||||
ulonglong local_278 [2];
|
||||
undefined8 local_268;
|
||||
ulonglong local_260;
|
||||
wchar_t local_248;
|
||||
undefined1 local_246 [526];
|
||||
ulonglong local_38;
|
||||
|
||||
local_440 = 0xfffffffffffffffe;
|
||||
local_38 = DAT_1401555a0 ^ (ulonglong)auStack_488;
|
||||
pwVar11 = (wchar_t *)0x0;
|
||||
DVar4 = 0;
|
||||
pwVar14 = pwVar11;
|
||||
if (*(longlong *)(DAT_140162d60 + 0x58) != 0) {
|
||||
for (puVar12 = *(undefined8 **)
|
||||
(*(longlong *)(DAT_140162d60 + 0x38) +
|
||||
((ulonglong)(longlong)(int)param_2[1] % *(ulonglong *)(DAT_140162d60 + 0x40)) *
|
||||
8); puVar12 != (undefined8 *)0x0; puVar12 = (undefined8 *)*puVar12) {
|
||||
if (param_2[1] == *(uint *)(puVar12 + 1)) {
|
||||
if (puVar12 != (undefined8 *)0x0) {
|
||||
pwVar14 = (wchar_t *)puVar12[2];
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
local_348 = param_2;
|
||||
if (*(int *)(pwVar14 + 0x62) == 0) {
|
||||
pwVar14[0x62] = L'\x01';
|
||||
pwVar14[99] = L'\0';
|
||||
uVar3 = *(ulonglong *)(DAT_1401626f8 + 0xa8);
|
||||
local_248 = L'\0';
|
||||
memset(local_246,0,0x206);
|
||||
FUN_14000a4b0(local_438);
|
||||
std::basic_ostream<wchar_t,std::char_traits<wchar_t>_>::operator<<(local_438,param_2[1]);
|
||||
FUN_14000a600((longlong)local_438,(void **)&local_318);
|
||||
for (pcVar5 = *(char **)(DAT_140162d58 + 8); pcVar5 != *(char **)(DAT_140162d58 + 0x10);
|
||||
pcVar5 = pcVar5 + 0x30) {
|
||||
if (*pcVar5 == (char)param_2[3]) {
|
||||
pwVar11 = (wchar_t *)(pcVar5 + 8);
|
||||
if (7 < *(ulonglong *)(pcVar5 + 0x20)) {
|
||||
pwVar11 = *(wchar_t **)pwVar11;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
wcscpy_s(&local_248,0x104,pwVar11);
|
||||
wcscat_s(&local_248,0x104,L" ");
|
||||
if (*(char *)(DAT_140162d68 + 0x152) == '\0') {
|
||||
local_2d8 = 0xf;
|
||||
local_2e0 = 0;
|
||||
local_2f0[0]._0_1_ = '\0';
|
||||
local_328 = (wchar_t ******)0x7;
|
||||
local_330 = (wchar_t ******)0x0;
|
||||
local_340[0] = (wchar_t *******)((ulonglong)local_340[0] & 0xffffffffffff0000);
|
||||
FUN_140027540(DAT_140162d68,local_2f0,param_2);
|
||||
pcVar5 = (char *)local_2f0;
|
||||
if (0xf < local_2d8) {
|
||||
pcVar5 = (char *)CONCAT71(local_2f0[0]._1_7_,(char)local_2f0[0]);
|
||||
}
|
||||
local_288 = 0xf;
|
||||
local_290 = 0;
|
||||
local_2a0[0]._0_1_ = '\0';
|
||||
uVar8 = 0xffffffffffffffff;
|
||||
pcVar10 = pcVar5;
|
||||
do {
|
||||
if (uVar8 == 0) break;
|
||||
uVar8 = uVar8 - 1;
|
||||
cVar1 = *pcVar10;
|
||||
pcVar10 = pcVar10 + 1;
|
||||
} while (cVar1 != '\0');
|
||||
FUN_14000b810(local_2a0,pcVar5,~uVar8 - 1);
|
||||
pppppppwVar6 = (wchar_t *******)FUN_1400dc8f0((ulonglong *)&local_2c8,(LPCSTR)local_2a0);
|
||||
if (local_340 != (wchar_t ********)pppppppwVar6) {
|
||||
if ((wchar_t ******)0x7 < local_328) {
|
||||
operator_delete(local_340[0]);
|
||||
}
|
||||
local_328 = (wchar_t ******)0x7;
|
||||
local_330 = (wchar_t ******)0x0;
|
||||
local_340[0] = (wchar_t *******)((ulonglong)local_340[0] & 0xffffffffffff0000);
|
||||
if (pppppppwVar6[3] < (wchar_t ******)0x8) {
|
||||
memmove(local_340,pppppppwVar6,((longlong)pppppppwVar6[2] + 1U) * 2);
|
||||
}
|
||||
else {
|
||||
local_340[0] = (wchar_t *******)*pppppppwVar6;
|
||||
*pppppppwVar6 = (wchar_t ******)0x0;
|
||||
}
|
||||
local_330 = pppppppwVar6[2];
|
||||
local_328 = pppppppwVar6[3];
|
||||
pppppppwVar6[3] = (wchar_t ******)0x7;
|
||||
pppppppwVar6[2] = (wchar_t ******)0x0;
|
||||
*(undefined2 *)pppppppwVar6 = 0;
|
||||
}
|
||||
if (7 < local_2b0) {
|
||||
operator_delete(local_2c8);
|
||||
}
|
||||
local_2b0 = 7;
|
||||
local_2b8 = 0;
|
||||
local_2c8 = (void *)((ulonglong)local_2c8 & 0xffffffffffff0000);
|
||||
if (0xf < local_288) {
|
||||
operator_delete((void *)CONCAT71(local_2a0[0]._1_7_,(CHAR)local_2a0[0]));
|
||||
}
|
||||
pppppppwVar6 = (wchar_t *******)local_340;
|
||||
if ((wchar_t ******)0x7 < local_328) {
|
||||
pppppppwVar6 = local_340[0];
|
||||
}
|
||||
uVar9 = 0x104;
|
||||
wcscat_s(&local_248,0x104,(wchar_t *)pppppppwVar6);
|
||||
if ((wchar_t ******)0x7 < local_328) {
|
||||
operator_delete(local_340[0]);
|
||||
}
|
||||
local_328 = (wchar_t ******)0x7;
|
||||
local_330 = (wchar_t ******)0x0;
|
||||
local_340[0] = (wchar_t *******)((ulonglong)local_340[0] & 0xffffffffffff0000);
|
||||
if (0xf < local_2d8) {
|
||||
operator_delete((void *)CONCAT71(local_2f0[0]._1_7_,(char)local_2f0[0]));
|
||||
}
|
||||
local_2d8 = 0xf;
|
||||
local_2e0 = 0;
|
||||
local_2f0[0]._0_1_ = '\0';
|
||||
}
|
||||
else {
|
||||
pppppppwVar6 = (wchar_t *******)&local_318;
|
||||
if (7 < local_300) {
|
||||
pppppppwVar6 = (wchar_t *******)CONCAT62(uStack_316,local_318);
|
||||
}
|
||||
uVar9 = 0x104;
|
||||
wcscat_s(&local_248,0x104,(wchar_t *)pppppppwVar6);
|
||||
}
|
||||
uVar8 = 0xffffffffffffffff;
|
||||
pwVar11 = &local_248;
|
||||
do {
|
||||
if (uVar8 == 0) break;
|
||||
uVar8 = uVar8 - 1;
|
||||
wVar2 = *pwVar11;
|
||||
pwVar11 = pwVar11 + 1;
|
||||
} while (wVar2 != L'\0');
|
||||
if ((~uVar8 < 0x104) &&
|
||||
(DVar4 = FUN_1400094e0(&local_248,uVar9,pppppppwVar6,param_4), 0 < (int)DVar4)) {
|
||||
*(DWORD *)(pwVar14 + 0x52) = DVar4;
|
||||
pwVar14[0x62] = L'\x01';
|
||||
pwVar14[99] = L'\0';
|
||||
local_448 = (undefined1 *)local_2a0;
|
||||
puVar12 = FUN_140006c30((longlong)pwVar14,local_2a0);
|
||||
local_2c8 = *(void **)(pwVar14 + 0x5c);
|
||||
local_2c0 = *(undefined8 *)(pwVar14 + 0x60);
|
||||
local_2b8 = *(undefined8 *)(pwVar14 + 100);
|
||||
local_2b0 = *(ulonglong *)(pwVar14 + 0x68);
|
||||
local_458[0] = *(uint *)(pwVar14 + 2);
|
||||
local_450 = puVar12;
|
||||
lVar7 = FUN_140007fa0(uVar3);
|
||||
local_468 = &local_2c8;
|
||||
param_4 = local_458;
|
||||
local_460 = puVar12;
|
||||
(**(code **)(*(longlong *)(lVar7 + 0x68) + 0x40))((longlong *)(lVar7 + 0x68),1,&DAT_1401555d0)
|
||||
;
|
||||
if ((void *)*puVar12 != (void *)0x0) {
|
||||
operator_delete((void *)*puVar12);
|
||||
}
|
||||
*puVar12 = 0;
|
||||
puVar12[1] = 0;
|
||||
puVar12[2] = 0;
|
||||
}
|
||||
else {
|
||||
pwVar14[0x62] = L'\0';
|
||||
pwVar14[99] = L'\0';
|
||||
}
|
||||
if (uVar3 == 0) {
|
||||
if (7 < local_300) {
|
||||
operator_delete((void *)CONCAT62(uStack_316,local_318));
|
||||
}
|
||||
local_300 = 7;
|
||||
local_308 = 0;
|
||||
local_318 = 0;
|
||||
FUN_14000a550((longlong)local_3b0);
|
||||
std::basic_ios<wchar_t,std::char_traits<wchar_t>_>::
|
||||
~basic_ios<wchar_t,std::char_traits<wchar_t>_>(local_3b0);
|
||||
}
|
||||
else if ((int)DVar4 < 1) {
|
||||
puVar12 = (undefined8 *)(DAT_140162d68 + 0x30);
|
||||
if (7 < *(ulonglong *)(DAT_140162d68 + 0x48)) {
|
||||
puVar12 = (undefined8 *)*puVar12;
|
||||
}
|
||||
FUN_1400dc9d0(local_278,L"FAILED SERVER ON %s ",puVar12,param_4);
|
||||
psVar13 = (short *)local_278;
|
||||
if (7 < local_260) {
|
||||
psVar13 = (short *)CONCAT62(local_278[0]._2_6_,(short)local_278[0]);
|
||||
}
|
||||
FUN_1400080a0(uVar3,1,psVar13,param_4);
|
||||
if (7 < local_260) {
|
||||
operator_delete((void *)CONCAT62(local_278[0]._2_6_,(short)local_278[0]));
|
||||
}
|
||||
local_260 = 7;
|
||||
local_268 = 0;
|
||||
local_278[0]._0_2_ = 0;
|
||||
if (7 < local_300) {
|
||||
operator_delete((void *)CONCAT62(uStack_316,local_318));
|
||||
}
|
||||
local_300 = 7;
|
||||
local_308 = 0;
|
||||
local_318 = 0;
|
||||
FUN_14000a550((longlong)local_3b0);
|
||||
std::basic_ios<wchar_t,std::char_traits<wchar_t>_>::
|
||||
~basic_ios<wchar_t,std::char_traits<wchar_t>_>(local_3b0);
|
||||
}
|
||||
else {
|
||||
if (7 < local_300) {
|
||||
operator_delete((void *)CONCAT62(uStack_316,local_318));
|
||||
}
|
||||
local_300 = 7;
|
||||
local_308 = 0;
|
||||
local_318 = 0;
|
||||
FUN_14000a550((longlong)local_3b0);
|
||||
std::basic_ios<wchar_t,std::char_traits<wchar_t>_>::
|
||||
~basic_ios<wchar_t,std::char_traits<wchar_t>_>(local_3b0);
|
||||
}
|
||||
}
|
||||
FUN_140004e10((longlong)param_2);
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue