add agent manager release decomp
This commit is contained in:
parent
31ff800b2a
commit
fac6117145
7019 changed files with 254032 additions and 5 deletions
86
decomp/AgentManager_Release_x64/0x140001390.pseudo.c
Normal file
86
decomp/AgentManager_Release_x64/0x140001390.pseudo.c
Normal file
|
|
@ -0,0 +1,86 @@
|
||||||
|
|
||||||
|
/* WARNING: Function: __chkstk replaced with injection: alloca_probe */
|
||||||
|
|
||||||
|
undefined8 FUN_140001390(int param_1,longlong param_2,undefined8 param_3,longlong **param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
short sVar1;
|
||||||
|
undefined4 uVar2;
|
||||||
|
DWORD DVar3;
|
||||||
|
_invalid_parameter_handler _Handler;
|
||||||
|
undefined8 *puVar4;
|
||||||
|
ulonglong uVar5;
|
||||||
|
PHANDLE ProcessHeaps;
|
||||||
|
LPCWSTR pWVar6;
|
||||||
|
short *psVar7;
|
||||||
|
HANDLE *ppvVar8;
|
||||||
|
undefined8 **HeapInformation;
|
||||||
|
undefined8 *local_res18;
|
||||||
|
undefined8 local_res20;
|
||||||
|
HANDLE local_2028;
|
||||||
|
undefined1 local_2020 [8192];
|
||||||
|
undefined8 uStack_20;
|
||||||
|
|
||||||
|
uStack_20 = 0x14000139e;
|
||||||
|
DAT_14017ce74 = timeGetTime();
|
||||||
|
FUN_14001d810(&local_res20);
|
||||||
|
uVar2 = FUN_14001d850(&local_res20);
|
||||||
|
if ((char)uVar2 != '\0') {
|
||||||
|
FUN_14001d8c0();
|
||||||
|
FUN_140001580();
|
||||||
|
FUN_140001060((longlong)DAT_14017c8b0);
|
||||||
|
if (1 < param_1) {
|
||||||
|
uVar5 = 0xffffffffffffffff;
|
||||||
|
psVar7 = *(short **)(param_2 + 8);
|
||||||
|
do {
|
||||||
|
if (uVar5 == 0) break;
|
||||||
|
uVar5 = uVar5 - 1;
|
||||||
|
sVar1 = *psVar7;
|
||||||
|
psVar7 = psVar7 + 1;
|
||||||
|
} while (sVar1 != 0);
|
||||||
|
FUN_140001710((ulonglong *)&DAT_140175020,*(short **)(param_2 + 8),~uVar5 - 1);
|
||||||
|
}
|
||||||
|
puVar4 = (undefined8 *)0x0;
|
||||||
|
local_2028 = (HANDLE)0x0;
|
||||||
|
HeapInformation = (undefined8 **)0x2000;
|
||||||
|
memset(local_2020,0,0x2000);
|
||||||
|
ProcessHeaps = &local_2028;
|
||||||
|
DVar3 = GetProcessHeaps(0x400,ProcessHeaps);
|
||||||
|
if (DVar3 != 0) {
|
||||||
|
ppvVar8 = &local_2028;
|
||||||
|
uVar5 = (ulonglong)DVar3;
|
||||||
|
do {
|
||||||
|
local_res18 = (undefined8 *)CONCAT44(local_res18._4_4_,2);
|
||||||
|
param_4 = (longlong **)0x4;
|
||||||
|
HeapInformation = &local_res18;
|
||||||
|
ProcessHeaps = (PHANDLE)0x0;
|
||||||
|
HeapSetInformation(*ppvVar8,HeapCompatibilityInformation,HeapInformation,4);
|
||||||
|
ppvVar8 = ppvVar8 + 1;
|
||||||
|
uVar5 = uVar5 - 1;
|
||||||
|
} while (uVar5 != 0);
|
||||||
|
}
|
||||||
|
_Handler = _set_invalid_parameter_handler(FUN_140001340);
|
||||||
|
local_res18 = operator_new(0x494a8);
|
||||||
|
if (local_res18 != (undefined8 *)0x0) {
|
||||||
|
puVar4 = FUN_1400022b0(local_res18,ProcessHeaps,HeapInformation,param_4);
|
||||||
|
}
|
||||||
|
pWVar6 = (LPCWSTR)&DAT_140175020;
|
||||||
|
if (7 < DAT_140175038) {
|
||||||
|
pWVar6 = DAT_140175020;
|
||||||
|
}
|
||||||
|
DAT_14017c8b8 = puVar4;
|
||||||
|
FUN_140002400(pWVar6,ProcessHeaps,HeapInformation,param_4);
|
||||||
|
FUN_140002790((longlong)DAT_14017c8b8,ProcessHeaps,HeapInformation,param_4);
|
||||||
|
FUN_140002670((longlong)DAT_14017c8b8);
|
||||||
|
if (DAT_14017c8b8 != (undefined8 *)0x0) {
|
||||||
|
(**(code **)*DAT_14017c8b8)(DAT_14017c8b8,1);
|
||||||
|
}
|
||||||
|
if (DAT_14017c8b0 != (undefined8 *)0x0) {
|
||||||
|
(**(code **)*DAT_14017c8b0)(DAT_14017c8b0,1);
|
||||||
|
}
|
||||||
|
_set_invalid_parameter_handler(_Handler);
|
||||||
|
}
|
||||||
|
FUN_14001d820(&local_res20);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
94
decomp/AgentManager_Release_x64/0x140002400.pseudo.c
Normal file
94
decomp/AgentManager_Release_x64/0x140002400.pseudo.c
Normal file
|
|
@ -0,0 +1,94 @@
|
||||||
|
|
||||||
|
void FUN_140002400(LPCWSTR param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
longlong lVar1;
|
||||||
|
char *pcVar2;
|
||||||
|
undefined8 *puVar3;
|
||||||
|
undefined8 *puVar4;
|
||||||
|
undefined8 uVar5;
|
||||||
|
ulonglong uVar6;
|
||||||
|
wchar_t *pwVar7;
|
||||||
|
|
||||||
|
if ((DAT_14017d37c & 1) == 0) {
|
||||||
|
DAT_14017d37c = DAT_14017d37c | 1;
|
||||||
|
FUN_1400ef080();
|
||||||
|
atexit((_func_5014 *)&LAB_140104340);
|
||||||
|
if ((DAT_14017d37c & 1) == 0) {
|
||||||
|
DAT_14017d37c = DAT_14017d37c | 1;
|
||||||
|
FUN_1400ef080();
|
||||||
|
atexit((_func_5014 *)&LAB_140104340);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((DAT_14017d140 != 200) && (DAT_14017d140 != 100)) {
|
||||||
|
if ((DAT_14017d37c & 1) == 0) {
|
||||||
|
DAT_14017d37c = DAT_14017d37c | 1;
|
||||||
|
FUN_1400ef080();
|
||||||
|
atexit((_func_5014 *)&LAB_140104340);
|
||||||
|
}
|
||||||
|
if (DAT_14017d140 != 1000) goto LAB_1400024b1;
|
||||||
|
}
|
||||||
|
setlocale(0,"kor");
|
||||||
|
LAB_1400024b1:
|
||||||
|
pcVar2 = setlocale(0,(char *)0x0);
|
||||||
|
printf("Locale is: %s\n");
|
||||||
|
puVar3 = operator_new(8);
|
||||||
|
puVar4 = (undefined8 *)0x0;
|
||||||
|
if (puVar3 != (undefined8 *)0x0) {
|
||||||
|
puVar4 = FUN_14003acf0(puVar3,pcVar2,param_3,param_4);
|
||||||
|
}
|
||||||
|
lVar1 = DAT_14017cf28;
|
||||||
|
DAT_14017cf30 = puVar4;
|
||||||
|
*(undefined1 *)(DAT_14017cf28 + 0x1e8) = 0x15;
|
||||||
|
FUN_14002fc00(lVar1,param_1,param_3,param_4);
|
||||||
|
uVar5 = FUN_140032f70(DAT_14017cf28,param_1,param_3,param_4);
|
||||||
|
if ((char)uVar5 == '\0') {
|
||||||
|
printf("DB PASE ERROR !!! \n");
|
||||||
|
}
|
||||||
|
_wmkdir(L"Log");
|
||||||
|
puVar3 = operator_new(0xe8);
|
||||||
|
puVar4 = (undefined8 *)0x0;
|
||||||
|
if (puVar3 != (undefined8 *)0x0) {
|
||||||
|
puVar4 = FUN_1400ef640(puVar3);
|
||||||
|
}
|
||||||
|
DAT_14017c8a8 = puVar4;
|
||||||
|
FUN_1400ef910((longlong)puVar4,param_1,param_3,param_4);
|
||||||
|
puVar4 = DAT_14017c8a8;
|
||||||
|
EnterCriticalSection(DAT_14017cf60);
|
||||||
|
uVar5 = 0x19;
|
||||||
|
pwVar7 = L"Log\\Protocol_AgentManager";
|
||||||
|
FUN_140001710(puVar4 + 3,L"Log\\Protocol_AgentManager",0x19);
|
||||||
|
LeaveCriticalSection(DAT_14017cf60);
|
||||||
|
FUN_1400efa40((longlong)DAT_14017c8a8);
|
||||||
|
puVar3 = operator_new(0x98);
|
||||||
|
puVar4 = (undefined8 *)0x0;
|
||||||
|
if (puVar3 != (undefined8 *)0x0) {
|
||||||
|
puVar4 = FUN_1400ed450(puVar3,pwVar7,uVar5,param_4);
|
||||||
|
}
|
||||||
|
DAT_14017cf18 = puVar4;
|
||||||
|
DAT_14017cf40 = operator_new(8);
|
||||||
|
if (DAT_14017cf40 != (undefined8 *)0x0) {
|
||||||
|
*DAT_14017cf40 = MagiXmlFormat::vftable;
|
||||||
|
}
|
||||||
|
puVar3 = operator_new(0xb0);
|
||||||
|
puVar4 = (undefined8 *)0x0;
|
||||||
|
if (puVar3 != (undefined8 *)0x0) {
|
||||||
|
puVar4 = FUN_14000da20(puVar3,pwVar7,uVar5,param_4);
|
||||||
|
}
|
||||||
|
DAT_14017cf38 = puVar4;
|
||||||
|
puVar4 = operator_new(0x80);
|
||||||
|
if (puVar4 == (undefined8 *)0x0) {
|
||||||
|
puVar4 = (undefined8 *)0x0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
*puVar4 = MagiStatistics::vftable;
|
||||||
|
FUN_14000c1f0(puVar4 + 1);
|
||||||
|
uVar6 = FUN_140094860();
|
||||||
|
uVar5 = CONCAT71((int7)((ulonglong)uVar5 >> 8),1);
|
||||||
|
FUN_14003cf60((undefined4 *)(puVar4 + 9),uVar6 & 0xffffffff,uVar5,param_4);
|
||||||
|
}
|
||||||
|
DAT_14017cf48 = puVar4;
|
||||||
|
FUN_1400ef250((longlong)DAT_14017c8a8,L"\t # INIT # \n",uVar5,param_4);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
517
decomp/AgentManager_Release_x64/0x140002790.pseudo.c
Normal file
517
decomp/AgentManager_Release_x64/0x140002790.pseudo.c
Normal file
|
|
@ -0,0 +1,517 @@
|
||||||
|
|
||||||
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||||
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
||||||
|
|
||||||
|
undefined8 FUN_140002790(longlong param_1,undefined8 param_2,undefined8 param_3,longlong **param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
double dVar1;
|
||||||
|
char cVar2;
|
||||||
|
undefined4 *puVar3;
|
||||||
|
undefined1 auVar4 [16];
|
||||||
|
bool bVar5;
|
||||||
|
longlong *plVar6;
|
||||||
|
BOOL BVar7;
|
||||||
|
DWORD DVar8;
|
||||||
|
undefined8 *puVar9;
|
||||||
|
undefined8 *puVar10;
|
||||||
|
longlong *plVar11;
|
||||||
|
longlong lVar12;
|
||||||
|
wchar_t *pwVar13;
|
||||||
|
LPCSTR pCVar14;
|
||||||
|
short *psVar15;
|
||||||
|
longlong *plVar16;
|
||||||
|
longlong *plVar17;
|
||||||
|
undefined8 uVar18;
|
||||||
|
undefined *puVar19;
|
||||||
|
void **ppvVar20;
|
||||||
|
undefined8 *puVar21;
|
||||||
|
undefined8 *puVar22;
|
||||||
|
undefined8 *puVar23;
|
||||||
|
longlong lVar24;
|
||||||
|
undefined4 uVar25;
|
||||||
|
undefined4 uVar26;
|
||||||
|
undefined4 uVar27;
|
||||||
|
undefined4 uVar28;
|
||||||
|
undefined4 uVar29;
|
||||||
|
undefined4 uVar30;
|
||||||
|
undefined1 auStack_4d8 [32];
|
||||||
|
longlong *local_4b8;
|
||||||
|
longlong *local_4b0;
|
||||||
|
undefined8 *local_4a8;
|
||||||
|
longlong *local_4a0;
|
||||||
|
undefined8 *local_498;
|
||||||
|
undefined8 *local_490;
|
||||||
|
undefined8 *local_488;
|
||||||
|
undefined4 local_480 [2];
|
||||||
|
undefined8 *local_478;
|
||||||
|
undefined8 *local_470;
|
||||||
|
undefined8 *local_468;
|
||||||
|
LARGE_INTEGER local_460;
|
||||||
|
undefined8 local_458;
|
||||||
|
undefined2 local_448;
|
||||||
|
undefined1 local_446 [158];
|
||||||
|
undefined1 local_3a8 [160];
|
||||||
|
undefined4 local_308;
|
||||||
|
uint uStack_304;
|
||||||
|
undefined2 local_300;
|
||||||
|
undefined6 uStack_2fe;
|
||||||
|
undefined8 local_2f0;
|
||||||
|
ulonglong local_2e8;
|
||||||
|
WCHAR local_2d8;
|
||||||
|
undefined6 uStack_2d6;
|
||||||
|
undefined8 local_2c8;
|
||||||
|
ulonglong local_2c0;
|
||||||
|
short *local_2a8;
|
||||||
|
short local_2a0 [132];
|
||||||
|
short *local_198;
|
||||||
|
short local_190 [132];
|
||||||
|
ulonglong local_88;
|
||||||
|
|
||||||
|
local_458 = 0xfffffffffffffffe;
|
||||||
|
local_88 = DAT_14016f5a0 ^ (ulonglong)auStack_4d8;
|
||||||
|
pwVar13 = L"\t # PREPARE # \n";
|
||||||
|
FUN_1400ef250(DAT_14017c8a8,L"\t # PREPARE # \n",param_3,param_4);
|
||||||
|
CoInitialize((LPVOID)0x0);
|
||||||
|
local_460 = (LARGE_INTEGER)operator_new(0xd8);
|
||||||
|
puVar22 = (undefined8 *)0x0;
|
||||||
|
puVar9 = puVar22;
|
||||||
|
if ((undefined8 *)local_460.QuadPart != (undefined8 *)0x0) {
|
||||||
|
puVar9 = FUN_140005280((undefined8 *)local_460,pwVar13,param_3,param_4);
|
||||||
|
}
|
||||||
|
if (puVar9 == (undefined8 *)0x0) {
|
||||||
|
local_4b8 = (longlong *)0x0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
local_4b8 = (longlong *)FUN_14003e840(0x10);
|
||||||
|
local_4b8[1] = 1;
|
||||||
|
*local_4b8 = (longlong)puVar9;
|
||||||
|
}
|
||||||
|
plVar16 = local_4b8;
|
||||||
|
local_498 = operator_new(0x118);
|
||||||
|
puVar9 = puVar22;
|
||||||
|
if (local_498 != (undefined8 *)0x0) {
|
||||||
|
puVar9 = FUN_1400060f0(local_498,pwVar13,param_3,param_4);
|
||||||
|
}
|
||||||
|
if (puVar9 == (undefined8 *)0x0) {
|
||||||
|
local_4b0 = (longlong *)0x0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
local_4b0 = (longlong *)FUN_14003e840(0x10);
|
||||||
|
local_4b0[1] = 1;
|
||||||
|
*local_4b0 = (longlong)puVar9;
|
||||||
|
}
|
||||||
|
plVar17 = local_4b0;
|
||||||
|
local_498 = operator_new(0xa0);
|
||||||
|
puVar9 = puVar22;
|
||||||
|
if (local_498 != (undefined8 *)0x0) {
|
||||||
|
puVar9 = FUN_140007010(local_498,pwVar13,param_3,param_4);
|
||||||
|
}
|
||||||
|
if (puVar9 == (undefined8 *)0x0) {
|
||||||
|
local_4a8 = (undefined8 *)0x0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
local_4a8 = (undefined8 *)FUN_14003e840(0x10);
|
||||||
|
local_4a8[1] = 1;
|
||||||
|
*local_4a8 = puVar9;
|
||||||
|
}
|
||||||
|
puVar9 = local_4a8;
|
||||||
|
local_468 = local_4a8;
|
||||||
|
puVar10 = operator_new(0x50);
|
||||||
|
puVar21 = puVar22;
|
||||||
|
local_498 = puVar10;
|
||||||
|
if (puVar10 != (undefined8 *)0x0) {
|
||||||
|
FUN_1400721c0(puVar10);
|
||||||
|
FUN_140073a40((void **)(puVar10 + 1));
|
||||||
|
puVar10[3] = 0;
|
||||||
|
puVar10[4] = 0;
|
||||||
|
puVar10[8] = 7;
|
||||||
|
puVar10[7] = 0;
|
||||||
|
*(undefined2 *)(puVar10 + 5) = 0;
|
||||||
|
puVar21 = puVar10;
|
||||||
|
}
|
||||||
|
if (puVar21 == (undefined8 *)0x0) {
|
||||||
|
local_490 = (undefined8 *)0x0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
local_490 = (undefined8 *)FUN_14003e840(0x10);
|
||||||
|
local_490[1] = 1;
|
||||||
|
*local_490 = puVar21;
|
||||||
|
}
|
||||||
|
puVar21 = local_490;
|
||||||
|
local_498 = local_490;
|
||||||
|
puVar10 = operator_new(0x50);
|
||||||
|
local_488 = puVar10;
|
||||||
|
if (puVar10 != (undefined8 *)0x0) {
|
||||||
|
FUN_1400721c0(puVar10);
|
||||||
|
FUN_140073a40((void **)(puVar10 + 1));
|
||||||
|
puVar10[3] = 0;
|
||||||
|
puVar10[4] = 0;
|
||||||
|
puVar10[8] = 7;
|
||||||
|
puVar10[7] = 0;
|
||||||
|
*(undefined2 *)(puVar10 + 5) = 0;
|
||||||
|
puVar22 = puVar10;
|
||||||
|
}
|
||||||
|
if (puVar22 == (undefined8 *)0x0) {
|
||||||
|
local_488 = (undefined8 *)0x0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
local_488 = (undefined8 *)FUN_14003e840(0x10);
|
||||||
|
local_488[1] = 1;
|
||||||
|
*local_488 = puVar22;
|
||||||
|
}
|
||||||
|
puVar22 = local_488;
|
||||||
|
puVar23 = (undefined8 *)0x0;
|
||||||
|
puVar10 = puVar23;
|
||||||
|
if (plVar16 != (longlong *)0x0) {
|
||||||
|
puVar10 = (undefined8 *)*plVar16;
|
||||||
|
}
|
||||||
|
*(undefined8 **)(param_1 + 0x49450) = puVar10;
|
||||||
|
puVar10 = puVar23;
|
||||||
|
if (plVar17 != (longlong *)0x0) {
|
||||||
|
puVar10 = (undefined8 *)*plVar17;
|
||||||
|
}
|
||||||
|
*(undefined8 **)(param_1 + 0x49458) = puVar10;
|
||||||
|
puVar10 = puVar23;
|
||||||
|
if (puVar9 != (undefined8 *)0x0) {
|
||||||
|
puVar10 = (undefined8 *)*puVar9;
|
||||||
|
}
|
||||||
|
*(undefined8 **)(param_1 + 0x49448) = puVar10;
|
||||||
|
puVar10 = puVar23;
|
||||||
|
if (puVar21 != (undefined8 *)0x0) {
|
||||||
|
puVar10 = (undefined8 *)*puVar21;
|
||||||
|
}
|
||||||
|
*(undefined8 **)(param_1 + 0x49460) = puVar10;
|
||||||
|
puVar10 = puVar23;
|
||||||
|
if (local_488 != (undefined8 *)0x0) {
|
||||||
|
puVar10 = (undefined8 *)*local_488;
|
||||||
|
}
|
||||||
|
*(undefined8 **)(param_1 + 0x49468) = puVar10;
|
||||||
|
pCVar14 = (LPCSTR)(DAT_14017cf28 + 0x90);
|
||||||
|
if (0xf < *(ulonglong *)(DAT_14017cf28 + 0xa8)) {
|
||||||
|
pCVar14 = *(LPCSTR *)pCVar14;
|
||||||
|
}
|
||||||
|
local_2a8 = local_2a0;
|
||||||
|
uVar18 = 3;
|
||||||
|
FUN_140005110((longlong *)&local_2a8,pCVar14,3);
|
||||||
|
FUN_140007430(*(longlong *)(param_1 + 0x49460),local_2a8,uVar18,(short *)param_4);
|
||||||
|
if (local_2a8 != local_2a0) {
|
||||||
|
free(local_2a8);
|
||||||
|
}
|
||||||
|
pCVar14 = (LPCSTR)(DAT_14017cf28 + 0x108);
|
||||||
|
if (0xf < *(ulonglong *)(DAT_14017cf28 + 0x120)) {
|
||||||
|
pCVar14 = *(LPCSTR *)pCVar14;
|
||||||
|
}
|
||||||
|
local_198 = local_190;
|
||||||
|
puVar19 = (undefined *)0x3;
|
||||||
|
FUN_140005110((longlong *)&local_198,pCVar14,3);
|
||||||
|
psVar15 = local_198;
|
||||||
|
FUN_140007430(*(longlong *)(param_1 + 0x49468),local_198,puVar19,(short *)param_4);
|
||||||
|
if (local_198 != local_190) {
|
||||||
|
free(local_198);
|
||||||
|
}
|
||||||
|
local_480[0] = 3;
|
||||||
|
*(undefined4 *)(param_1 + 0x10) = 3;
|
||||||
|
printf("STEP : DB_LOAD \n");
|
||||||
|
lVar24 = *(longlong *)(param_1 + 0x38);
|
||||||
|
if ((lVar24 != 0) && (*(char *)(lVar24 + 0x1a) != '\0')) {
|
||||||
|
param_4 = (longlong **)local_480;
|
||||||
|
puVar19 = &DAT_14016f5d0;
|
||||||
|
psVar15 = (short *)0x1;
|
||||||
|
(**(code **)(*(longlong *)(lVar24 + 0x68) + 0xb0))();
|
||||||
|
}
|
||||||
|
printf("AgentManager Auth...\n");
|
||||||
|
uVar18 = FUN_140007a20(*(longlong *)(param_1 + 0x49460),psVar15,puVar19,param_4);
|
||||||
|
if ((char)uVar18 == '\0') {
|
||||||
|
printf("AgentManager Auth Failed !!!\n");
|
||||||
|
Sleep(3000);
|
||||||
|
*(undefined1 *)(param_1 + 0x49440) = 0;
|
||||||
|
}
|
||||||
|
printf("Read ServerOption...\n");
|
||||||
|
uVar18 = FUN_140008410(*(longlong *)(param_1 + 0x49460),psVar15,puVar19,param_4);
|
||||||
|
if ((char)uVar18 == '\0') {
|
||||||
|
printf("Read ServerOption Failed !!!\n");
|
||||||
|
Sleep(3000);
|
||||||
|
*(undefined1 *)(param_1 + 0x49440) = 0;
|
||||||
|
}
|
||||||
|
printf("Read ServerFile...\n");
|
||||||
|
uVar18 = FUN_140009240(*(longlong *)(param_1 + 0x49460),psVar15,puVar19,(longlong)param_4);
|
||||||
|
if ((char)uVar18 == '\0') {
|
||||||
|
printf("Read ServerFile Failed !!!\n");
|
||||||
|
Sleep(3000);
|
||||||
|
*(undefined1 *)(param_1 + 0x49440) = 0;
|
||||||
|
}
|
||||||
|
printf("Read RealTimeEvent...\n");
|
||||||
|
uVar18 = FUN_140009760(*(longlong *)(param_1 + 0x49460),psVar15,puVar19,param_4);
|
||||||
|
if ((char)uVar18 == '\0') {
|
||||||
|
printf("Read RealTimeEvent Failed !!!\n");
|
||||||
|
Sleep(3000);
|
||||||
|
*(undefined1 *)(param_1 + 0x49440) = 0;
|
||||||
|
}
|
||||||
|
*(undefined8 *)(*(longlong *)(param_1 + 0x49460) + 0x18) = *(undefined8 *)(param_1 + 0x49450);
|
||||||
|
*(undefined8 *)(*(longlong *)(param_1 + 0x49468) + 0x18) = *(undefined8 *)(param_1 + 0x49450);
|
||||||
|
*(undefined8 *)(*(longlong *)(param_1 + 0x49450) + 0x68) = *(undefined8 *)(param_1 + 0x49460);
|
||||||
|
*(undefined8 *)(*(longlong *)(param_1 + 0x49450) + 0x70) = *(undefined8 *)(param_1 + 0x49468);
|
||||||
|
*(undefined8 *)(*(longlong *)(param_1 + 0x49450) + 0x78) = *(undefined8 *)(param_1 + 0x49458);
|
||||||
|
*(undefined8 *)(*(longlong *)(param_1 + 0x49450) + 0x80) = *(undefined8 *)(param_1 + 0x49448);
|
||||||
|
*(undefined8 *)(*(longlong *)(param_1 + 0x49458) + 0x68) = *(undefined8 *)(param_1 + 0x49460);
|
||||||
|
*(undefined8 *)(*(longlong *)(param_1 + 0x49458) + 0x70) = *(undefined8 *)(param_1 + 0x49468);
|
||||||
|
*(undefined8 *)(*(longlong *)(param_1 + 0x49458) + 0x78) = *(undefined8 *)(param_1 + 0x49450);
|
||||||
|
*(undefined8 *)(*(longlong *)(param_1 + 0x49458) + 0x80) = *(undefined8 *)(param_1 + 0x49448);
|
||||||
|
*(undefined8 *)(*(longlong *)(param_1 + 0x49448) + 0x98) = *(undefined8 *)(param_1 + 0x49450);
|
||||||
|
pwVar13 = L"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!";
|
||||||
|
FUN_1400ef250(DAT_14017c8a8,L"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!",puVar19,param_4);
|
||||||
|
local_308 = 0;
|
||||||
|
uStack_304 = 0;
|
||||||
|
local_2e8 = 7;
|
||||||
|
local_2f0 = 0;
|
||||||
|
local_300 = 0;
|
||||||
|
local_2c0 = 7;
|
||||||
|
local_2c8 = 0;
|
||||||
|
local_2d8 = L'\0';
|
||||||
|
if (*(longlong *)(DAT_14017cf28 + 0x1c8) != 0) {
|
||||||
|
auVar4._8_8_ = 0;
|
||||||
|
auVar4._0_8_ = *(ulonglong *)(DAT_14017cf28 + 0x1b0);
|
||||||
|
pwVar13 = SUB168((ZEXT816(0) << 0x40 | ZEXT816(0x17)) % auVar4,0);
|
||||||
|
local_478 = (undefined8 *)(*(longlong *)(DAT_14017cf28 + 0x1a8) + (longlong)pwVar13 * 8);
|
||||||
|
for (local_470 = (undefined8 *)*local_478; local_470 != (undefined8 *)0x0;
|
||||||
|
local_470 = (undefined8 *)*local_470) {
|
||||||
|
if (*(char *)(local_470 + 1) == '\x17') {
|
||||||
|
if (local_470 != (undefined8 *)0x0) goto LAB_140002dd4;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
local_478 = (undefined8 *)0x0;
|
||||||
|
local_470 = puVar23;
|
||||||
|
LAB_140002dd4:
|
||||||
|
if ((local_470 != (undefined8 *)0x0) &&
|
||||||
|
(puVar3 = (undefined4 *)local_470[2], puVar3 != (undefined4 *)local_470[3])) {
|
||||||
|
local_308 = *puVar3;
|
||||||
|
uStack_304 = puVar3[1];
|
||||||
|
FUN_140001630((longlong *)&local_300,(longlong *)(puVar3 + 2),0,0xffffffffffffffff);
|
||||||
|
param_4 = (longlong **)0xffffffffffffffff;
|
||||||
|
FUN_140001630((longlong *)&local_2d8,(longlong *)(puVar3 + 0xc),0,0xffffffffffffffff);
|
||||||
|
pwVar13 = &local_2d8;
|
||||||
|
if (7 < local_2c0) {
|
||||||
|
pwVar13 = (LPCWSTR)CONCAT62(uStack_2d6,local_2d8);
|
||||||
|
}
|
||||||
|
puVar19 = (undefined *)(ulonglong)uStack_304;
|
||||||
|
FUN_14003bcb0(*(void **)(param_1 + 0x49448),pwVar13,puVar19,param_4);
|
||||||
|
}
|
||||||
|
lVar24 = 0;
|
||||||
|
lVar12 = lVar24;
|
||||||
|
if (plVar16 != (longlong *)0x0) {
|
||||||
|
lVar12 = *plVar16;
|
||||||
|
}
|
||||||
|
FUN_140005460(lVar12,pwVar13,puVar19,(longlong)param_4);
|
||||||
|
if (plVar17 != (longlong *)0x0) {
|
||||||
|
lVar24 = *plVar17;
|
||||||
|
}
|
||||||
|
FUN_140006380(lVar24,pwVar13,puVar19,(longlong)param_4);
|
||||||
|
FUN_1400ef250(DAT_14017c8a8,L"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!",puVar19,param_4);
|
||||||
|
plVar11 = operator_new(0x18);
|
||||||
|
if (plVar11 == (longlong *)0x0) {
|
||||||
|
plVar11 = (longlong *)0x0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
*plVar11 = (longlong)TimeSourceHRWin32::vftable;
|
||||||
|
BVar7 = QueryPerformanceFrequency(&local_460);
|
||||||
|
if (BVar7 == 0) {
|
||||||
|
*(undefined1 *)(plVar11 + 2) = 0;
|
||||||
|
GetLastError();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
*(undefined1 *)(plVar11 + 2) = 1;
|
||||||
|
plVar11[1] = (longlong)(1.0 / (double)local_460.QuadPart);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
local_4a0 = DAT_14017cf18;
|
||||||
|
if ((undefined8 *)DAT_14017cf18[2] != (undefined8 *)0x0) {
|
||||||
|
(*(code *)**(undefined8 **)DAT_14017cf18[2])();
|
||||||
|
}
|
||||||
|
local_4a0[2] = (longlong)plVar11;
|
||||||
|
if (plVar11 != (longlong *)0x0) {
|
||||||
|
lVar24 = (**(code **)(*plVar11 + 8))(plVar11);
|
||||||
|
local_4a0[6] = lVar24;
|
||||||
|
local_4a0[7] = lVar24;
|
||||||
|
}
|
||||||
|
local_4a0[0x12] = 0x3ff0000000000000;
|
||||||
|
plVar11 = operator_new(0x28);
|
||||||
|
local_4a0 = plVar11;
|
||||||
|
if (plVar11 != (longlong *)0x0) {
|
||||||
|
*plVar11 = (longlong)Magi::Timer::vftable;
|
||||||
|
plVar6 = DAT_14017cf18;
|
||||||
|
plVar11[1] = (longlong)DAT_14017cf18;
|
||||||
|
plVar11[2] = 0;
|
||||||
|
plVar11[3] = 0;
|
||||||
|
*(undefined1 *)(plVar11 + 4) = 0;
|
||||||
|
*(undefined4 *)((longlong)plVar11 + 0x24) = 0x3f800000;
|
||||||
|
(**(code **)(*plVar6 + 0x10))();
|
||||||
|
}
|
||||||
|
*(longlong **)(param_1 + 0x49430) = plVar11;
|
||||||
|
local_448 = 0;
|
||||||
|
memset(local_446,0,0x9e);
|
||||||
|
ppvVar20 = (void **)0xa0;
|
||||||
|
memset(local_3a8,0,0xa0);
|
||||||
|
uVar26 = 0;
|
||||||
|
uVar28 = 0;
|
||||||
|
bVar5 = false;
|
||||||
|
pwVar13 = L"\t # RUN # \n";
|
||||||
|
FUN_1400ef250(DAT_14017c8a8,L"\t # RUN # \n",ppvVar20,param_4);
|
||||||
|
local_4a0 = (longlong *)CONCAT44(local_4a0._4_4_,5);
|
||||||
|
*(undefined4 *)(param_1 + 0x10) = 5;
|
||||||
|
if (DAT_14017ce74 != 0) {
|
||||||
|
printf("********************************\n");
|
||||||
|
DVar8 = timeGetTime();
|
||||||
|
pwVar13 = (wchar_t *)((ulonglong)(DVar8 - DAT_14017ce74) / 1000);
|
||||||
|
printf("** Server Load Time : %d sec\n");
|
||||||
|
printf("********************************\n");
|
||||||
|
}
|
||||||
|
printf("STEP : SERVER_RUN \n");
|
||||||
|
lVar24 = *(longlong *)(param_1 + 0x38);
|
||||||
|
if ((lVar24 != 0) && (*(char *)(lVar24 + 0x1a) != '\0')) {
|
||||||
|
param_4 = &local_4a0;
|
||||||
|
ppvVar20 = (void **)&DAT_14016f5d0;
|
||||||
|
pwVar13 = (wchar_t *)0x1;
|
||||||
|
(**(code **)(*(longlong *)(lVar24 + 0x68) + 0xb0))();
|
||||||
|
}
|
||||||
|
cVar2 = *(char *)(param_1 + 0x49440);
|
||||||
|
uVar29 = uVar26;
|
||||||
|
uVar30 = uVar28;
|
||||||
|
while (cVar2 != '\0') {
|
||||||
|
FUN_1400ed240((longlong)DAT_14017cf18);
|
||||||
|
dVar1 = *(double *)(*(longlong *)(param_1 + 0x49430) + 0x10);
|
||||||
|
if (DAT_14017ce84 != '\0') {
|
||||||
|
printf("AgentSession->Connect\n");
|
||||||
|
DAT_14017ce84 = DAT_14017ce84 == '\0';
|
||||||
|
}
|
||||||
|
FUN_14003c0a0(*(undefined8 **)(param_1 + 0x49448));
|
||||||
|
uVar25 = SUB84(dVar1,0);
|
||||||
|
uVar27 = (undefined4)((ulonglong)dVar1 >> 0x20);
|
||||||
|
if (1.0 <= dVar1 - (double)CONCAT44(uVar28,uVar26)) {
|
||||||
|
if (DAT_14017ce78 != 0) {
|
||||||
|
pwVar13 = (wchar_t *)&DAT_14012ea5c;
|
||||||
|
if (bVar5) {
|
||||||
|
pwVar13 = (wchar_t *)&DAT_14012ea58;
|
||||||
|
}
|
||||||
|
ppvVar20 = (void **)(ulonglong)DAT_14017ce7c;
|
||||||
|
printf("[ %s ] FPS[ %d ]\n");
|
||||||
|
bVar5 = !bVar5;
|
||||||
|
}
|
||||||
|
_DAT_14017ce80 = DAT_14017ce7c;
|
||||||
|
DAT_14017ce7c = 0;
|
||||||
|
uVar26 = uVar25;
|
||||||
|
uVar28 = uVar27;
|
||||||
|
}
|
||||||
|
if (0.10000000149011612 <= dVar1 - (double)CONCAT44(uVar30,uVar29)) {
|
||||||
|
DAT_14017ce7c = DAT_14017ce7c + 1;
|
||||||
|
FUN_140003420(param_1,(ulonglong *******)pwVar13,(undefined *)ppvVar20,(undefined2 *)param_4);
|
||||||
|
FUN_1400054f0(*(longlong *)(param_1 + 0x49450),dVar1,ppvVar20,(ulonglong)param_4);
|
||||||
|
uVar29 = uVar25;
|
||||||
|
uVar30 = uVar27;
|
||||||
|
if (*(char *)(*(longlong *)(param_1 + 0x49450) + 0x9c) != '\0') {
|
||||||
|
*(undefined4 *)(param_1 + 0x49444) = 1;
|
||||||
|
*(undefined1 *)(*(longlong *)(param_1 + 0x49450) + 0x9c) = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*(double *)(param_1 + 0x49438) = dVar1;
|
||||||
|
if (0 < *(int *)(param_1 + 0x49444)) {
|
||||||
|
FUN_140003d00(param_1,pwVar13,ppvVar20,(longlong)param_4);
|
||||||
|
}
|
||||||
|
Sleep(1);
|
||||||
|
puVar9 = local_468;
|
||||||
|
puVar21 = local_498;
|
||||||
|
cVar2 = *(char *)(param_1 + 0x49440);
|
||||||
|
}
|
||||||
|
FUN_14003bfd0(*(longlong *)(param_1 + 0x49448),pwVar13,ppvVar20,param_4);
|
||||||
|
lVar24 = *(longlong *)(param_1 + 0x49450);
|
||||||
|
puVar10 = *(undefined8 **)(lVar24 + 0x28);
|
||||||
|
if (puVar10 != (undefined8 *)0x0) {
|
||||||
|
(**(code **)*puVar10)(puVar10,1);
|
||||||
|
}
|
||||||
|
*(undefined8 *)(lVar24 + 0x28) = 0;
|
||||||
|
FUN_140006430(*(longlong *)(param_1 + 0x49458));
|
||||||
|
CoUninitialize();
|
||||||
|
pwVar13 = L"# SERVER END... #\n";
|
||||||
|
FUN_1400ef250(DAT_14017c8a8,L"# SERVER END... #\n",ppvVar20,param_4);
|
||||||
|
if (7 < local_2c0) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_2d6,local_2d8));
|
||||||
|
}
|
||||||
|
local_2c0 = 7;
|
||||||
|
local_2c8 = 0;
|
||||||
|
local_2d8 = L'\0';
|
||||||
|
if (7 < local_2e8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_2fe,local_300));
|
||||||
|
}
|
||||||
|
local_2e8 = 7;
|
||||||
|
local_2f0 = 0;
|
||||||
|
local_300 = 0;
|
||||||
|
if (puVar22 != (undefined8 *)0x0) {
|
||||||
|
plVar11 = puVar22 + 1;
|
||||||
|
*plVar11 = *plVar11 + -1;
|
||||||
|
plVar16 = local_4b8;
|
||||||
|
puVar9 = local_4a8;
|
||||||
|
plVar17 = local_4b0;
|
||||||
|
puVar21 = local_490;
|
||||||
|
if (*plVar11 == 0) {
|
||||||
|
FUN_140004b20(local_488,pwVar13,ppvVar20);
|
||||||
|
plVar16 = local_4b8;
|
||||||
|
puVar9 = local_4a8;
|
||||||
|
plVar17 = local_4b0;
|
||||||
|
puVar21 = local_490;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (puVar21 != (undefined8 *)0x0) {
|
||||||
|
plVar11 = puVar21 + 1;
|
||||||
|
*plVar11 = *plVar11 + -1;
|
||||||
|
plVar16 = local_4b8;
|
||||||
|
puVar9 = local_4a8;
|
||||||
|
plVar17 = local_4b0;
|
||||||
|
if (*plVar11 == 0) {
|
||||||
|
FUN_140004b20(local_490,pwVar13,ppvVar20);
|
||||||
|
plVar16 = local_4b8;
|
||||||
|
puVar9 = local_4a8;
|
||||||
|
plVar17 = local_4b0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (puVar9 != (undefined8 *)0x0) {
|
||||||
|
plVar11 = puVar9 + 1;
|
||||||
|
*plVar11 = *plVar11 + -1;
|
||||||
|
plVar16 = local_4b8;
|
||||||
|
plVar17 = local_4b0;
|
||||||
|
if (*plVar11 == 0) {
|
||||||
|
FUN_140004aa0(local_4a8,pwVar13,ppvVar20,param_4);
|
||||||
|
plVar16 = local_4b8;
|
||||||
|
plVar17 = local_4b0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
plVar11 = local_4b0;
|
||||||
|
if (plVar17 != (longlong *)0x0) {
|
||||||
|
plVar17 = plVar17 + 1;
|
||||||
|
*plVar17 = *plVar17 + -1;
|
||||||
|
plVar16 = local_4b8;
|
||||||
|
if (*plVar17 == 0) {
|
||||||
|
puVar9 = (undefined8 *)*local_4b0;
|
||||||
|
if (puVar9 != (undefined8 *)0x0) {
|
||||||
|
(**(code **)*puVar9)(puVar9,1);
|
||||||
|
}
|
||||||
|
FUN_14003e8b0(plVar11);
|
||||||
|
plVar16 = local_4b8;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
plVar17 = local_4b8;
|
||||||
|
if (plVar16 != (longlong *)0x0) {
|
||||||
|
plVar16 = plVar16 + 1;
|
||||||
|
*plVar16 = *plVar16 + -1;
|
||||||
|
if (*plVar16 == 0) {
|
||||||
|
puVar9 = (undefined8 *)*local_4b8;
|
||||||
|
if (puVar9 != (undefined8 *)0x0) {
|
||||||
|
(**(code **)*puVar9)(puVar9,1);
|
||||||
|
}
|
||||||
|
FUN_14003e8b0(plVar17);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
295
decomp/AgentManager_Release_x64/0x140003420.pseudo.c
Normal file
295
decomp/AgentManager_Release_x64/0x140003420.pseudo.c
Normal file
|
|
@ -0,0 +1,295 @@
|
||||||
|
|
||||||
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||||
|
|
||||||
|
undefined8
|
||||||
|
FUN_140003420(longlong param_1,ulonglong *******param_2,undefined *param_3,undefined2 *param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
longlong lVar1;
|
||||||
|
ulonglong ***********pppppppppppuVar2;
|
||||||
|
ushort uVar3;
|
||||||
|
int iVar4;
|
||||||
|
int iVar5;
|
||||||
|
ulonglong ************ppppppppppppuVar6;
|
||||||
|
ulonglong ************ppppppppppppuVar7;
|
||||||
|
undefined **ppuVar8;
|
||||||
|
bool bVar9;
|
||||||
|
undefined1 auStack_1e8 [32];
|
||||||
|
undefined8 local_1c8;
|
||||||
|
undefined8 local_1c0;
|
||||||
|
undefined8 local_1b8;
|
||||||
|
undefined8 local_1b0;
|
||||||
|
undefined8 local_1a8;
|
||||||
|
undefined8 local_1a0;
|
||||||
|
undefined8 local_198;
|
||||||
|
undefined8 local_190;
|
||||||
|
undefined8 local_188;
|
||||||
|
undefined8 local_180;
|
||||||
|
undefined4 local_178;
|
||||||
|
undefined8 local_168;
|
||||||
|
ulonglong ***********local_160;
|
||||||
|
ulonglong ************local_158;
|
||||||
|
undefined8 local_150;
|
||||||
|
ulonglong local_148;
|
||||||
|
undefined4 local_138;
|
||||||
|
uint local_134;
|
||||||
|
byte local_12c;
|
||||||
|
undefined2 local_110;
|
||||||
|
undefined6 uStack_10e;
|
||||||
|
undefined8 local_100;
|
||||||
|
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;
|
||||||
|
void *local_60;
|
||||||
|
undefined8 local_58;
|
||||||
|
undefined8 local_50;
|
||||||
|
ulonglong local_38;
|
||||||
|
|
||||||
|
local_168 = 0xfffffffffffffffe;
|
||||||
|
local_38 = DAT_14016f5a0 ^ (ulonglong)auStack_1e8;
|
||||||
|
iVar4 = _kbhit();
|
||||||
|
while (iVar4 != 0) {
|
||||||
|
iVar4 = _getch();
|
||||||
|
iVar4 = (int)(char)iVar4;
|
||||||
|
if (*(int *)(param_1 + 0x49428) == 0) {
|
||||||
|
iVar5 = toupper(iVar4);
|
||||||
|
switch(iVar5) {
|
||||||
|
case 0x30:
|
||||||
|
local_160 = (ulonglong ***********)0x0;
|
||||||
|
local_158 = (ulonglong ************)0x0;
|
||||||
|
local_150 = 0;
|
||||||
|
param_2 = (ulonglong *******)&local_160;
|
||||||
|
FUN_1400398e0(DAT_14017cf20,(ulonglong *)param_2);
|
||||||
|
ppppppppppppuVar6 = local_158;
|
||||||
|
pppppppppppuVar2 = local_160;
|
||||||
|
for (ppppppppppppuVar7 = (ulonglong ************)local_160;
|
||||||
|
ppppppppppppuVar7 != ppppppppppppuVar6; ppppppppppppuVar7 = ppppppppppppuVar7 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_138,(undefined4 *)ppppppppppppuVar7);
|
||||||
|
param_4 = &local_c0;
|
||||||
|
if (7 < local_a8) {
|
||||||
|
param_4 = (undefined2 *)CONCAT62(uStack_be,local_c0);
|
||||||
|
}
|
||||||
|
param_3 = (undefined *)(ulonglong)local_12c;
|
||||||
|
param_2 = (ulonglong *******)(ulonglong)local_134;
|
||||||
|
wprintf(L" CODE:[ %d ]\tTYPE:[ %d ]\tNAME:[ %s ] \r\n");
|
||||||
|
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((void *)CONCAT62(uStack_10e,local_110));
|
||||||
|
}
|
||||||
|
local_f8 = 7;
|
||||||
|
local_100 = 0;
|
||||||
|
local_110 = 0;
|
||||||
|
}
|
||||||
|
if (pppppppppppuVar2 != (ulonglong ************)0x0) {
|
||||||
|
FUN_140004ba0((ulonglong *)pppppppppppuVar2,(ulonglong *)ppppppppppppuVar6);
|
||||||
|
operator_delete(pppppppppppuVar2);
|
||||||
|
param_2 = (ulonglong *******)ppppppppppppuVar6;
|
||||||
|
}
|
||||||
|
FUN_140033b40(DAT_14017cf28);
|
||||||
|
break;
|
||||||
|
case 0x31:
|
||||||
|
bVar9 = *(char *)(DAT_14017cf28 + 0x164) == '\0';
|
||||||
|
*(bool *)(DAT_14017cf28 + 0x164) = bVar9;
|
||||||
|
if (bVar9) {
|
||||||
|
printf("Print On !!!\n");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
printf("Print Off !!!\n");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0x32:
|
||||||
|
FUN_14000bd40(*(longlong *)(param_1 + 0x49468),param_2,param_3,param_4);
|
||||||
|
param_2 = (ulonglong *******)PTR_s_CreateBackupTable_140174e90;
|
||||||
|
printf("%s\n");
|
||||||
|
break;
|
||||||
|
case 0x33:
|
||||||
|
bVar9 = *(char *)(DAT_14017cf28 + 0x180) == '\0';
|
||||||
|
*(bool *)(DAT_14017cf28 + 0x180) = bVar9;
|
||||||
|
param_2 = (ulonglong *******)(ulonglong)bVar9;
|
||||||
|
printf("Active : %d\n");
|
||||||
|
break;
|
||||||
|
case 0x34:
|
||||||
|
FUN_140009240(*(longlong *)(param_1 + 0x49460),param_2,param_3,(longlong)param_4);
|
||||||
|
param_2 = (ulonglong *******)PTR_s_Server_File_Refresh__140174ec0;
|
||||||
|
printf("%s\n");
|
||||||
|
break;
|
||||||
|
case 0x35:
|
||||||
|
FUN_140008410(*(longlong *)(param_1 + 0x49460),param_2,param_3,param_4);
|
||||||
|
param_2 = (ulonglong *******)PTR_s_Server_Option_Refresh__140174ed8;
|
||||||
|
printf("%s\n");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
ppuVar8 = &PTR_s_Printf_On_Off__140174e78;
|
||||||
|
do {
|
||||||
|
uVar3 = GetAsyncKeyState(0xa0);
|
||||||
|
if (((uVar3 & 0x8001) != 0) || (*(char *)(ppuVar8 + 1) == '\0')) {
|
||||||
|
param_3 = *ppuVar8;
|
||||||
|
param_2 = (ulonglong *******)(ulonglong)(uint)(int)*(char *)(ppuVar8 + -1);
|
||||||
|
printf(" \'%c\'\t: %s\n");
|
||||||
|
}
|
||||||
|
ppuVar8 = ppuVar8 + 3;
|
||||||
|
} while ((longlong)ppuVar8 < 0x140175028);
|
||||||
|
printf("........... Message : Unknown Control Command.\n");
|
||||||
|
break;
|
||||||
|
case 0x37:
|
||||||
|
FUN_140009760(*(longlong *)(param_1 + 0x49460),param_2,param_3,param_4);
|
||||||
|
param_2 = (ulonglong *******)PTR_s_Server_RealTime_Event__140174ef0;
|
||||||
|
printf("%s\n");
|
||||||
|
break;
|
||||||
|
case 0x38:
|
||||||
|
param_2 = (ulonglong *******)(ulonglong)*(uint *)(DAT_14017cf20 + 0x58);
|
||||||
|
printf("[AgentCount : %d] \n");
|
||||||
|
break;
|
||||||
|
case 0x39:
|
||||||
|
FUN_14000c120(DAT_14017cf48);
|
||||||
|
param_2 = (ulonglong *******)PTR_s_Statistics_Print__140174f20;
|
||||||
|
printf("%s\n");
|
||||||
|
break;
|
||||||
|
case 0x45:
|
||||||
|
*(undefined1 *)(param_1 + 0x49440) = 0;
|
||||||
|
printf("Server Shutdown\n");
|
||||||
|
return 0;
|
||||||
|
case 0x46:
|
||||||
|
wprintf(L"-AGENT MANAGER SERVER [CODE:%d]---------------------------------\n");
|
||||||
|
wprintf(L"PUBLIC NETWORK : ADDRESS[ %s ] PORT[ %d ]\n");
|
||||||
|
wprintf(L"PRIVATE NETWORK : ADDRESS[ %s ] PORT[ %d ]\n");
|
||||||
|
param_3 = (undefined *)(ulonglong)*(uint *)(*(longlong *)(param_1 + 0x49448) + 0x50);
|
||||||
|
printf("API NETWORK : ADDRESS[ %s ] PORT[ %d ] \n");
|
||||||
|
wprintf(
|
||||||
|
L"\n-SESSION----------------------------------------------------------------------\n"
|
||||||
|
);
|
||||||
|
wprintf(L"%s \n");
|
||||||
|
param_2 = (ulonglong *******)(*(longlong *)(param_1 + 0x49468) + 0x28);
|
||||||
|
if (7 < *(ulonglong *)(*(longlong *)(param_1 + 0x49468) + 0x40)) {
|
||||||
|
param_2 = (ulonglong *******)*param_2;
|
||||||
|
}
|
||||||
|
wprintf(L"%s \n");
|
||||||
|
wprintf(
|
||||||
|
L"\n------------------------------------------------------------------------------\n\n"
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
case 0x4c:
|
||||||
|
*(undefined4 *)(param_1 + 0x49428) = 1;
|
||||||
|
param_3 = &DAT_14012eca4;
|
||||||
|
param_2 = (ulonglong *******)PTR_s_Keyboard_Locked_140174f80;
|
||||||
|
printf("%s %s\n");
|
||||||
|
break;
|
||||||
|
case 0x4d:
|
||||||
|
FUN_140038530(DAT_14017cf10);
|
||||||
|
param_2 = (ulonglong *******)PTR_s_CustomOption_Init_140175010;
|
||||||
|
printf("%s\n");
|
||||||
|
break;
|
||||||
|
case 0x50:
|
||||||
|
lVar1 = *(longlong *)(param_1 + 0x49450);
|
||||||
|
if (lVar1 != 0) {
|
||||||
|
local_188 = 0;
|
||||||
|
local_1c0 = 0;
|
||||||
|
local_1c8 = 0;
|
||||||
|
local_1b0 = 0;
|
||||||
|
local_1b8 = 0;
|
||||||
|
local_190 = 0;
|
||||||
|
local_198 = 0;
|
||||||
|
local_1a0 = 0;
|
||||||
|
local_1a8 = 0;
|
||||||
|
local_180 = 0;
|
||||||
|
local_178 = 0;
|
||||||
|
if (*(longlong *)(lVar1 + 0x28) != 0) {
|
||||||
|
(**(code **)(**(longlong **)(lVar1 + 0x28) + 0xb0))
|
||||||
|
(*(longlong **)(lVar1 + 0x28),&local_1c8);
|
||||||
|
printf("--------------------------------------------------\n");
|
||||||
|
printf("%I64d totalTcpReceiveCount\n");
|
||||||
|
printf("%I64d totalTcpReceiveBytes\n");
|
||||||
|
printf("%I64d totalTcpSendCount\n");
|
||||||
|
printf("%I64d totalTcpSendBytes\n");
|
||||||
|
printf("%d p2pConnectionPairCount\n");
|
||||||
|
printf("%d p2pDirectConnectionPairCount\n");
|
||||||
|
printf("%d clientCount\n");
|
||||||
|
printf("--------------------------------------------------\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
param_2 = (ulonglong *******)PTR_s_Network_Status_140174f98;
|
||||||
|
printf("%s\n");
|
||||||
|
break;
|
||||||
|
case 0x52:
|
||||||
|
DAT_14017ce78 = (uint)(DAT_14017ce78 == 0);
|
||||||
|
param_3 = &DAT_14012eca8;
|
||||||
|
if (DAT_14017ce78 != 0) {
|
||||||
|
param_3 = &DAT_14012eca4;
|
||||||
|
}
|
||||||
|
param_2 = (ulonglong *******)PTR_s_ShowFPS_140174fb0;
|
||||||
|
printf("%s %s\n");
|
||||||
|
break;
|
||||||
|
case 0x54:
|
||||||
|
DAT_14017ce84 = DAT_14017ce84 == '\0';
|
||||||
|
param_2 = (ulonglong *******)(ulonglong)(byte)DAT_14017ce84;
|
||||||
|
printf("Connect : [%d]\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
iVar5 = toupper(iVar4);
|
||||||
|
if (iVar5 == 0x55) {
|
||||||
|
*(undefined4 *)(param_1 + 0x49428) = 0;
|
||||||
|
param_3 = &DAT_14012eca8;
|
||||||
|
param_2 = (ulonglong *******)PTR_s_Keyboard_UnLocked_140174fc8;
|
||||||
|
printf("%s %s\n");
|
||||||
|
ppuVar8 = &PTR_s_Printf_On_Off__140174e78;
|
||||||
|
do {
|
||||||
|
uVar3 = GetAsyncKeyState(0xa0);
|
||||||
|
if (((uVar3 & 0x8001) != 0) || (*(char *)(ppuVar8 + 1) == '\0')) {
|
||||||
|
param_3 = *ppuVar8;
|
||||||
|
param_2 = (ulonglong *******)(ulonglong)(uint)(int)*(char *)(ppuVar8 + -1);
|
||||||
|
printf(" \'%c\'\t: %s\n");
|
||||||
|
}
|
||||||
|
ppuVar8 = ppuVar8 + 3;
|
||||||
|
} while ((longlong)ppuVar8 < 0x140175028);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
iVar4 = toupper(iVar4);
|
||||||
|
if (iVar4 == 0x49) {
|
||||||
|
printf("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n");
|
||||||
|
GetCurrentProcessId();
|
||||||
|
printf("ProcessID : %d\n");
|
||||||
|
printf("SVN : %d\n");
|
||||||
|
printf("Resource : %d\n");
|
||||||
|
printf("Build Date : %s\n");
|
||||||
|
param_2 = (ulonglong *******)FUN_1400ed8a0((ulonglong *)&local_160);
|
||||||
|
if ((ulonglong ***********)0xf < param_2[3]) {
|
||||||
|
param_2 = (ulonglong *******)*param_2;
|
||||||
|
}
|
||||||
|
printf("PROTOCOL : %s\n");
|
||||||
|
if (0xf < local_148) {
|
||||||
|
operator_delete(local_160);
|
||||||
|
}
|
||||||
|
local_148 = 0xf;
|
||||||
|
local_150 = 0;
|
||||||
|
local_160 = (ulonglong ***********)((ulonglong)local_160 & 0xffffffffffffff00);
|
||||||
|
printf("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n");
|
||||||
|
}
|
||||||
|
iVar4 = _kbhit();
|
||||||
|
}
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
|
||||||
455
decomp/AgentManager_Release_x64/0x140003d00.pseudo.c
Normal file
455
decomp/AgentManager_Release_x64/0x140003d00.pseudo.c
Normal file
|
|
@ -0,0 +1,455 @@
|
||||||
|
|
||||||
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||||
|
|
||||||
|
void FUN_140003d00(longlong param_1,undefined8 param_2,undefined8 param_3,longlong param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
ulonglong *puVar1;
|
||||||
|
ulonglong *puVar2;
|
||||||
|
bool bVar3;
|
||||||
|
undefined1 auStack_178 [32];
|
||||||
|
ulonglong *local_158;
|
||||||
|
ulonglong *local_150;
|
||||||
|
undefined8 local_148;
|
||||||
|
undefined8 local_138;
|
||||||
|
undefined4 local_128;
|
||||||
|
uint local_124;
|
||||||
|
undefined2 local_100;
|
||||||
|
undefined6 uStack_fe;
|
||||||
|
undefined8 local_f0;
|
||||||
|
ulonglong local_e8;
|
||||||
|
undefined2 local_d8;
|
||||||
|
undefined6 uStack_d6;
|
||||||
|
undefined8 local_c8;
|
||||||
|
ulonglong local_c0;
|
||||||
|
undefined2 local_b0;
|
||||||
|
undefined6 uStack_ae;
|
||||||
|
undefined8 local_a0;
|
||||||
|
ulonglong local_98;
|
||||||
|
int local_64;
|
||||||
|
void *local_50;
|
||||||
|
undefined8 local_48;
|
||||||
|
undefined8 local_40;
|
||||||
|
ulonglong local_28;
|
||||||
|
|
||||||
|
local_138 = 0xfffffffffffffffe;
|
||||||
|
local_28 = DAT_14016f5a0 ^ (ulonglong)auStack_178;
|
||||||
|
if (*(longlong *)(param_1 + 0x49450) == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
local_158 = (ulonglong *)0x0;
|
||||||
|
local_150 = (ulonglong *)0x0;
|
||||||
|
local_148 = 0;
|
||||||
|
switch(*(undefined4 *)(param_1 + 0x49444)) {
|
||||||
|
case 1:
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\f');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x11');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x12');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x13');
|
||||||
|
puVar1 = local_150;
|
||||||
|
for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_128,(undefined4 *)puVar2);
|
||||||
|
if (local_64 == 0) {
|
||||||
|
FUN_14000cb70(*(longlong *)(param_1 + 0x49450),0,(ulonglong)local_124,param_4);
|
||||||
|
}
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_40 = 0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
if (7 < local_98) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_ae,local_b0));
|
||||||
|
}
|
||||||
|
local_b0 = 0;
|
||||||
|
local_a0 = 0;
|
||||||
|
local_98 = 7;
|
||||||
|
if (7 < local_c0) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_d6,local_d8));
|
||||||
|
}
|
||||||
|
local_d8 = 0;
|
||||||
|
local_c8 = 0;
|
||||||
|
local_c0 = 7;
|
||||||
|
if (7 < local_e8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_fe,local_100));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\f');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x11');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x12');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x13');
|
||||||
|
puVar1 = local_150;
|
||||||
|
for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_128,(undefined4 *)puVar2);
|
||||||
|
if (local_64 != 3) {
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
if (7 < local_98) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_ae,local_b0));
|
||||||
|
}
|
||||||
|
local_98 = 7;
|
||||||
|
local_a0 = 0;
|
||||||
|
local_b0 = 0;
|
||||||
|
if (7 < local_c0) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_d6,local_d8));
|
||||||
|
}
|
||||||
|
local_c0 = 7;
|
||||||
|
local_c8 = 0;
|
||||||
|
local_d8 = 0;
|
||||||
|
if (7 < local_e8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_fe,local_100));
|
||||||
|
}
|
||||||
|
local_e8 = 7;
|
||||||
|
local_f0 = 0;
|
||||||
|
local_100 = 0;
|
||||||
|
if (local_158 == (ulonglong *)0x0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
goto LAB_14000490b;
|
||||||
|
}
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
if (7 < local_98) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_ae,local_b0));
|
||||||
|
}
|
||||||
|
local_98 = 7;
|
||||||
|
local_a0 = 0;
|
||||||
|
local_b0 = 0;
|
||||||
|
if (7 < local_c0) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_d6,local_d8));
|
||||||
|
}
|
||||||
|
local_c0 = 7;
|
||||||
|
local_c8 = 0;
|
||||||
|
local_d8 = 0;
|
||||||
|
if (7 < local_e8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_fe,local_100));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
FUN_14000bd40(*(longlong *)(param_1 + 0x49468),&IMAGE_DOS_HEADER_140000000,param_3,param_4);
|
||||||
|
*(int *)(param_1 + 0x49444) = *(int *)(param_1 + 0x49444) + 1;
|
||||||
|
goto switchD_140003d7b_caseD_5;
|
||||||
|
case 4:
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\f');
|
||||||
|
puVar1 = local_150;
|
||||||
|
for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_128,(undefined4 *)puVar2);
|
||||||
|
FUN_14000cb70(*(longlong *)(param_1 + 0x49450),0xd,(ulonglong)local_124,param_4);
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
if (7 < local_98) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_ae,local_b0));
|
||||||
|
}
|
||||||
|
local_98 = 7;
|
||||||
|
local_a0 = 0;
|
||||||
|
local_b0 = 0;
|
||||||
|
if (7 < local_c0) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_d6,local_d8));
|
||||||
|
}
|
||||||
|
local_c0 = 7;
|
||||||
|
local_c8 = 0;
|
||||||
|
local_d8 = 0;
|
||||||
|
if (7 < local_e8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_fe,local_100));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
goto switchD_140003d7b_caseD_5;
|
||||||
|
case 6:
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\b');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x06');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\t');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\n');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\v');
|
||||||
|
puVar1 = local_150;
|
||||||
|
for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_128,(undefined4 *)puVar2);
|
||||||
|
if (local_64 == 0) {
|
||||||
|
FUN_14000cb70(*(longlong *)(param_1 + 0x49450),0,(ulonglong)local_124,param_4);
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
goto LAB_1400041ea;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (local_50 != (void *)0x0) {
|
||||||
|
LAB_1400041ea:
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_40 = 0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
if (7 < local_98) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_ae,local_b0));
|
||||||
|
}
|
||||||
|
local_b0 = 0;
|
||||||
|
local_a0 = 0;
|
||||||
|
local_98 = 7;
|
||||||
|
if (7 < local_c0) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_d6,local_d8));
|
||||||
|
}
|
||||||
|
local_d8 = 0;
|
||||||
|
local_c8 = 0;
|
||||||
|
local_c0 = 7;
|
||||||
|
if (7 < local_e8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_fe,local_100));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\b');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x06');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\t');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\n');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\v');
|
||||||
|
puVar1 = local_150;
|
||||||
|
for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_128,(undefined4 *)puVar2);
|
||||||
|
if (local_64 != 3) {
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
if (7 < local_98) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_ae,local_b0));
|
||||||
|
}
|
||||||
|
local_98 = 7;
|
||||||
|
local_a0 = 0;
|
||||||
|
local_b0 = 0;
|
||||||
|
if (7 < local_c0) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_d6,local_d8));
|
||||||
|
}
|
||||||
|
local_c0 = 7;
|
||||||
|
local_c8 = 0;
|
||||||
|
local_d8 = 0;
|
||||||
|
if (7 < local_e8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_fe,local_100));
|
||||||
|
}
|
||||||
|
local_e8 = 7;
|
||||||
|
local_f0 = 0;
|
||||||
|
local_100 = 0;
|
||||||
|
bVar3 = local_158 == (ulonglong *)0x0;
|
||||||
|
goto LAB_1400048f9;
|
||||||
|
}
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
if (7 < local_98) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_ae,local_b0));
|
||||||
|
}
|
||||||
|
local_98 = 7;
|
||||||
|
local_a0 = 0;
|
||||||
|
local_b0 = 0;
|
||||||
|
if (7 < local_c0) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_d6,local_d8));
|
||||||
|
}
|
||||||
|
local_c0 = 7;
|
||||||
|
local_c8 = 0;
|
||||||
|
local_d8 = 0;
|
||||||
|
if (7 < local_e8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_fe,local_100));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\a');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x05');
|
||||||
|
puVar1 = local_150;
|
||||||
|
for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_128,(undefined4 *)puVar2);
|
||||||
|
if (local_64 == 0) {
|
||||||
|
FUN_14000cb70(*(longlong *)(param_1 + 0x49450),0,(ulonglong)local_124,param_4);
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
FUN_140004e90((longlong)&local_128);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
if (7 < local_98) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_ae,local_b0));
|
||||||
|
}
|
||||||
|
local_98 = 7;
|
||||||
|
local_a0 = 0;
|
||||||
|
local_b0 = 0;
|
||||||
|
if (7 < local_c0) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_d6,local_d8));
|
||||||
|
}
|
||||||
|
local_c0 = 7;
|
||||||
|
local_c8 = 0;
|
||||||
|
local_d8 = 0;
|
||||||
|
if (7 < local_e8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_fe,local_100));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\a');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x05');
|
||||||
|
puVar1 = local_150;
|
||||||
|
for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_128,(undefined4 *)puVar2);
|
||||||
|
if (local_64 != 3) {
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
FUN_140004e90((longlong)&local_128);
|
||||||
|
bVar3 = local_158 == (ulonglong *)0x0;
|
||||||
|
goto LAB_1400048f9;
|
||||||
|
}
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
FUN_140004e90((longlong)&local_128);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 10:
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x01');
|
||||||
|
puVar1 = local_150;
|
||||||
|
for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_128,(undefined4 *)puVar2);
|
||||||
|
if (local_64 == 0) {
|
||||||
|
FUN_14000cb70(*(longlong *)(param_1 + 0x49450),0,(ulonglong)local_124,param_4);
|
||||||
|
}
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
FUN_140004e90((longlong)&local_128);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0xb:
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x01');
|
||||||
|
puVar1 = local_150;
|
||||||
|
for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_128,(undefined4 *)puVar2);
|
||||||
|
if (local_64 != 3) {
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
FUN_140004e90((longlong)&local_128);
|
||||||
|
bVar3 = local_158 == (ulonglong *)0x0;
|
||||||
|
goto LAB_1400048f9;
|
||||||
|
}
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
FUN_140004e90((longlong)&local_128);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0xc:
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x02');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x03');
|
||||||
|
puVar1 = local_150;
|
||||||
|
for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_128,(undefined4 *)puVar2);
|
||||||
|
if (local_64 == 0) {
|
||||||
|
FUN_14000cb70(*(longlong *)(param_1 + 0x49450),0,(ulonglong)local_124,param_4);
|
||||||
|
}
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
FUN_140004e90((longlong)&local_128);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0xd:
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x02');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x03');
|
||||||
|
puVar1 = local_150;
|
||||||
|
for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_128,(undefined4 *)puVar2);
|
||||||
|
if (local_64 != 3) {
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
FUN_140004e90((longlong)&local_128);
|
||||||
|
bVar3 = local_158 == (ulonglong *)0x0;
|
||||||
|
goto LAB_1400048f9;
|
||||||
|
}
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
FUN_140004e90((longlong)&local_128);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0xe:
|
||||||
|
*(undefined4 *)(param_1 + 0x49444) = 0;
|
||||||
|
goto switchD_140003d7b_caseD_5;
|
||||||
|
}
|
||||||
|
*(int *)(param_1 + 0x49444) = *(int *)(param_1 + 0x49444) + 1;
|
||||||
|
switchD_140003d7b_caseD_5:
|
||||||
|
bVar3 = local_158 == (ulonglong *)0x0;
|
||||||
|
LAB_1400048f9:
|
||||||
|
if (!bVar3) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_158);
|
||||||
|
LAB_14000490b:
|
||||||
|
FUN_140004ba0(local_158,local_150);
|
||||||
|
operator_delete(local_158);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
24
decomp/AgentManager_Release_x64/0x140005460.pseudo.c
Normal file
24
decomp/AgentManager_Release_x64/0x140005460.pseudo.c
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
|
||||||
|
void FUN_140005460(longlong param_1,undefined8 param_2,undefined8 param_3,longlong param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
longlong *plVar1;
|
||||||
|
short *psVar2;
|
||||||
|
longlong lVar3;
|
||||||
|
|
||||||
|
plVar1 = FUN_140069970(param_1,param_2,param_3,param_4);
|
||||||
|
*(longlong **)(param_1 + 0x28) = plVar1;
|
||||||
|
lVar3 = *plVar1;
|
||||||
|
(**(code **)(lVar3 + 0x10))(plVar1,param_1 + 8);
|
||||||
|
(**(code **)(**(longlong **)(param_1 + 0x28) + 8))(*(longlong **)(param_1 + 0x28),param_1 + 0x48);
|
||||||
|
(**(code **)(**(longlong **)(param_1 + 0x28) + 0x130))(*(longlong **)(param_1 + 0x28),param_1);
|
||||||
|
psVar2 = (short *)(DAT_14017cf28 + 0x30);
|
||||||
|
if (7 < *(ulonglong *)(DAT_14017cf28 + 0x48)) {
|
||||||
|
psVar2 = *(short **)psVar2;
|
||||||
|
}
|
||||||
|
FUN_140005dd0((longlong *)(param_1 + 0x30),psVar2,lVar3,param_4);
|
||||||
|
*(undefined4 *)(param_1 + 0x38) = *(undefined4 *)(DAT_14017cf28 + 0x80);
|
||||||
|
FUN_140037750((undefined8 *)(param_1 + 0x28),psVar2,lVar3,param_4);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
28
decomp/AgentManager_Release_x64/0x140006380.pseudo.c
Normal file
28
decomp/AgentManager_Release_x64/0x140006380.pseudo.c
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
|
||||||
|
void FUN_140006380(longlong param_1,undefined8 param_2,undefined8 param_3,longlong param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
uint uVar1;
|
||||||
|
longlong *plVar2;
|
||||||
|
short *psVar3;
|
||||||
|
longlong lVar4;
|
||||||
|
|
||||||
|
plVar2 = FUN_140069970(param_1,param_2,param_3,param_4);
|
||||||
|
*(longlong **)(param_1 + 0x28) = plVar2;
|
||||||
|
lVar4 = *plVar2;
|
||||||
|
(**(code **)(lVar4 + 0x10))(plVar2,param_1 + 8);
|
||||||
|
(**(code **)(**(longlong **)(param_1 + 0x28) + 8))(*(longlong **)(param_1 + 0x28),param_1 + 0x48);
|
||||||
|
(**(code **)(**(longlong **)(param_1 + 0x28) + 0x130))(*(longlong **)(param_1 + 0x28),param_1);
|
||||||
|
psVar3 = (short *)(DAT_14017cf28 + 0x58);
|
||||||
|
if (7 < *(ulonglong *)(DAT_14017cf28 + 0x70)) {
|
||||||
|
psVar3 = *(short **)psVar3;
|
||||||
|
}
|
||||||
|
FUN_140005dd0((longlong *)(param_1 + 0x30),psVar3,lVar4,param_4);
|
||||||
|
uVar1 = *(uint *)(DAT_14017cf28 + 0x84);
|
||||||
|
*(uint *)(param_1 + 0x38) = uVar1;
|
||||||
|
FUN_140037750((undefined8 *)(param_1 + 0x28),(ulonglong)uVar1,lVar4,param_4);
|
||||||
|
FUN_1400ef250(DAT_14017c8a8,L"MONITOR NETWORK INIT : ADDRESS[%s] PORT[%u]",
|
||||||
|
*(undefined8 *)(param_1 + 0x30),(ulonglong)*(uint *)(param_1 + 0x38));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
427
decomp/AgentManager_Release_x64/0x140007a20.pseudo.c
Normal file
427
decomp/AgentManager_Release_x64/0x140007a20.pseudo.c
Normal file
|
|
@ -0,0 +1,427 @@
|
||||||
|
|
||||||
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||||
|
|
||||||
|
ulonglong FUN_140007a20(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
int *piVar1;
|
||||||
|
undefined8 *puVar2;
|
||||||
|
IUnknown *pIVar3;
|
||||||
|
undefined8 *puVar4;
|
||||||
|
undefined8 *puVar5;
|
||||||
|
uint uVar6;
|
||||||
|
int iVar7;
|
||||||
|
ULONG UVar8;
|
||||||
|
undefined4 uVar9;
|
||||||
|
short *psVar10;
|
||||||
|
ulonglong uVar11;
|
||||||
|
undefined4 extraout_var;
|
||||||
|
undefined4 extraout_var_00;
|
||||||
|
int *piVar12;
|
||||||
|
ulonglong *puVar13;
|
||||||
|
ulonglong *puVar14;
|
||||||
|
int *piVar15;
|
||||||
|
undefined8 uVar16;
|
||||||
|
undefined4 extraout_var_01;
|
||||||
|
int *piVar17;
|
||||||
|
ulonglong **ppuVar18;
|
||||||
|
undefined8 **ppuVar19;
|
||||||
|
int **ppiVar20;
|
||||||
|
undefined *puVar21;
|
||||||
|
int *piVar22;
|
||||||
|
IUnknown **ppIVar23;
|
||||||
|
wchar_t *pwVar24;
|
||||||
|
undefined1 auStack_198 [32];
|
||||||
|
ulonglong *local_178;
|
||||||
|
int local_170;
|
||||||
|
short local_160;
|
||||||
|
IUnknown *local_158 [2];
|
||||||
|
longlong *local_148 [2];
|
||||||
|
undefined8 *local_138;
|
||||||
|
undefined8 *local_130;
|
||||||
|
undefined8 local_128;
|
||||||
|
int *local_118;
|
||||||
|
undefined1 local_110;
|
||||||
|
int *local_108;
|
||||||
|
undefined1 local_100;
|
||||||
|
short local_f8 [16];
|
||||||
|
undefined8 local_d8;
|
||||||
|
undefined8 local_c8;
|
||||||
|
undefined4 local_c0;
|
||||||
|
undefined1 local_bc;
|
||||||
|
undefined8 local_b8;
|
||||||
|
undefined8 local_b0;
|
||||||
|
undefined1 local_a8;
|
||||||
|
undefined2 local_a0;
|
||||||
|
undefined6 uStack_9e;
|
||||||
|
undefined8 local_90;
|
||||||
|
ulonglong local_88;
|
||||||
|
undefined2 local_78;
|
||||||
|
undefined6 uStack_76;
|
||||||
|
undefined8 local_68;
|
||||||
|
ulonglong local_60;
|
||||||
|
undefined2 local_50;
|
||||||
|
undefined6 uStack_4e;
|
||||||
|
undefined8 local_40;
|
||||||
|
ulonglong local_38;
|
||||||
|
ulonglong local_28;
|
||||||
|
|
||||||
|
local_d8 = 0xfffffffffffffffe;
|
||||||
|
local_28 = DAT_14016f5a0 ^ (ulonglong)auStack_198;
|
||||||
|
FUN_140073cc0(local_148);
|
||||||
|
FUN_140073b20(local_158);
|
||||||
|
FUN_140073f70(local_148,*(IID **)(param_1 + 8),(void **)L"dbo.up_read_agentmanager");
|
||||||
|
iVar7 = *(int *)(DAT_14017cf28 + 0x154);
|
||||||
|
Ordinal_8(&local_178);
|
||||||
|
if (((short)local_178 != 3) && ((short)local_178 != 10)) {
|
||||||
|
if ((short)local_178 == 0xb) {
|
||||||
|
local_170 = CONCAT22(local_170._2_2_,-(ushort)(iVar7 != 0));
|
||||||
|
iVar7 = local_170;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
uVar6 = Ordinal_9(&local_178);
|
||||||
|
if ((int)uVar6 < 0) {
|
||||||
|
/* WARNING: Subroutine does not return */
|
||||||
|
FUN_140048d70((ulonglong)uVar6);
|
||||||
|
}
|
||||||
|
local_178 = (ulonglong *)CONCAT62(local_178._2_6_,3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
local_170 = iVar7;
|
||||||
|
FUN_140073d70(local_148,1,(undefined4 *)&local_178);
|
||||||
|
Ordinal_9(&local_178);
|
||||||
|
FUN_140074740(local_148,(longlong *)local_158,(int *)0x0);
|
||||||
|
uVar16 = 0;
|
||||||
|
ppuVar18 = &local_178;
|
||||||
|
psVar10 = (short *)FUN_140073e60(local_148,ppuVar18,0);
|
||||||
|
FUN_140074970(psVar10,ppuVar18,uVar16,param_4);
|
||||||
|
iVar7 = FUN_14000add0(psVar10);
|
||||||
|
Ordinal_9(&local_178);
|
||||||
|
pIVar3 = local_158[0];
|
||||||
|
if (iVar7 < 0) {
|
||||||
|
wprintf(L"Failed Stored Procedure!! : %s \n",L"dbo.up_read_agentmanager");
|
||||||
|
uVar11 = FUN_140072b00(local_158);
|
||||||
|
if (local_158[0] != (IUnknown *)0x0) {
|
||||||
|
UVar8 = (*local_158[0]->lpVtbl->Release)(local_158[0]);
|
||||||
|
uVar11 = CONCAT44(extraout_var,UVar8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
local_160 = 0;
|
||||||
|
UVar8 = (*local_158[0]->lpVtbl[6].Release)(local_158[0]);
|
||||||
|
if ((int)UVar8 < 0) {
|
||||||
|
_com_issue_errorex(UVar8,pIVar3,(_GUID *)&DAT_1401301b0);
|
||||||
|
}
|
||||||
|
if (local_160 == 0) {
|
||||||
|
local_138 = (undefined8 *)0x0;
|
||||||
|
local_130 = (undefined8 *)0x0;
|
||||||
|
local_128 = 0;
|
||||||
|
FUN_1400075d0((ulonglong *)&local_138,local_158);
|
||||||
|
local_c8 = 0;
|
||||||
|
local_c0 = 0;
|
||||||
|
local_bc = 0;
|
||||||
|
local_b8 = 0;
|
||||||
|
local_b0 = 0;
|
||||||
|
local_a8 = 0;
|
||||||
|
local_88 = 7;
|
||||||
|
local_90 = 0;
|
||||||
|
local_a0 = 0;
|
||||||
|
local_60 = 7;
|
||||||
|
local_68 = 0;
|
||||||
|
local_78 = 0;
|
||||||
|
local_38 = 7;
|
||||||
|
local_40 = 0;
|
||||||
|
local_50 = 0;
|
||||||
|
pwVar24 = L"World";
|
||||||
|
ppIVar23 = local_158;
|
||||||
|
ppuVar19 = &local_138;
|
||||||
|
psVar10 = FUN_140007700((short *)&local_178,ppuVar19,ppIVar23,L"World");
|
||||||
|
FUN_140074970(psVar10,ppuVar19,ppIVar23,pwVar24);
|
||||||
|
uVar9 = FUN_14000add0(psVar10);
|
||||||
|
local_c8 = CONCAT44(local_c8._4_4_,uVar9);
|
||||||
|
Ordinal_9(&local_178);
|
||||||
|
pwVar24 = L"Code";
|
||||||
|
ppIVar23 = local_158;
|
||||||
|
ppuVar19 = &local_138;
|
||||||
|
psVar10 = FUN_140007700((short *)&local_178,ppuVar19,ppIVar23,L"Code");
|
||||||
|
FUN_140074970(psVar10,ppuVar19,ppIVar23,pwVar24);
|
||||||
|
uVar9 = FUN_14000add0(psVar10);
|
||||||
|
local_c8 = CONCAT44(uVar9,(undefined4)local_c8);
|
||||||
|
Ordinal_9(&local_178);
|
||||||
|
pwVar24 = L"AgentCode";
|
||||||
|
ppIVar23 = local_158;
|
||||||
|
ppuVar19 = &local_138;
|
||||||
|
psVar10 = FUN_140007700((short *)&local_178,ppuVar19,ppIVar23,L"AgentCode");
|
||||||
|
FUN_140074970(psVar10,ppuVar19,ppIVar23,pwVar24);
|
||||||
|
local_c0 = FUN_14000add0(psVar10);
|
||||||
|
Ordinal_9(&local_178);
|
||||||
|
pwVar24 = L"Type";
|
||||||
|
ppIVar23 = local_158;
|
||||||
|
ppuVar19 = &local_138;
|
||||||
|
psVar10 = FUN_140007700((short *)&local_178,ppuVar19,ppIVar23,L"Type");
|
||||||
|
FUN_140074970(psVar10,ppuVar19,ppIVar23,pwVar24);
|
||||||
|
local_bc = FUN_14000acb0(psVar10);
|
||||||
|
Ordinal_9(&local_178);
|
||||||
|
pwVar24 = L"PrivatePort";
|
||||||
|
ppIVar23 = local_158;
|
||||||
|
ppuVar19 = &local_138;
|
||||||
|
psVar10 = FUN_140007700((short *)&local_178,ppuVar19,ppIVar23,L"PrivatePort");
|
||||||
|
FUN_140074970(psVar10,ppuVar19,ppIVar23,pwVar24);
|
||||||
|
uVar9 = FUN_14000add0(psVar10);
|
||||||
|
local_b8 = CONCAT44(local_b8._4_4_,uVar9);
|
||||||
|
Ordinal_9(&local_178);
|
||||||
|
pwVar24 = L"PublicPort";
|
||||||
|
ppIVar23 = local_158;
|
||||||
|
ppuVar19 = &local_138;
|
||||||
|
psVar10 = FUN_140007700((short *)&local_178,ppuVar19,ppIVar23,L"PublicPort");
|
||||||
|
FUN_140074970(psVar10,ppuVar19,ppIVar23,pwVar24);
|
||||||
|
uVar9 = FUN_14000add0(psVar10);
|
||||||
|
local_b8 = CONCAT44(uVar9,(undefined4)local_b8);
|
||||||
|
Ordinal_9(&local_178);
|
||||||
|
pwVar24 = L"UdpPort";
|
||||||
|
ppIVar23 = local_158;
|
||||||
|
ppuVar19 = &local_138;
|
||||||
|
psVar10 = FUN_140007700((short *)&local_178,ppuVar19,ppIVar23,L"UdpPort");
|
||||||
|
FUN_140074970(psVar10,ppuVar19,ppIVar23,pwVar24);
|
||||||
|
uVar9 = FUN_14000add0(psVar10);
|
||||||
|
local_b0 = CONCAT44(local_b0._4_4_,uVar9);
|
||||||
|
Ordinal_9(&local_178);
|
||||||
|
pwVar24 = L"UdpCount";
|
||||||
|
ppIVar23 = local_158;
|
||||||
|
ppuVar19 = &local_138;
|
||||||
|
psVar10 = FUN_140007700((short *)&local_178,ppuVar19,ppIVar23,L"UdpCount");
|
||||||
|
FUN_140074970(psVar10,ppuVar19,ppIVar23,pwVar24);
|
||||||
|
uVar9 = FUN_14000add0(psVar10);
|
||||||
|
local_b0 = CONCAT44(uVar9,(undefined4)local_b0);
|
||||||
|
Ordinal_9(&local_178);
|
||||||
|
pwVar24 = L"SessionCount";
|
||||||
|
ppIVar23 = local_158;
|
||||||
|
ppuVar19 = &local_138;
|
||||||
|
psVar10 = FUN_140007700((short *)&local_178,ppuVar19,ppIVar23,L"SessionCount");
|
||||||
|
FUN_140074970(psVar10,ppuVar19,ppIVar23,pwVar24);
|
||||||
|
local_a8 = FUN_14000acb0(psVar10);
|
||||||
|
Ordinal_9(&local_178);
|
||||||
|
pwVar24 = L"PrivateAddress";
|
||||||
|
ppIVar23 = local_158;
|
||||||
|
psVar10 = FUN_140007700(local_f8,&local_138,ppIVar23,L"PrivateAddress");
|
||||||
|
ppiVar20 = &local_108;
|
||||||
|
FUN_14000ab30(psVar10,(longlong *)ppiVar20,ppIVar23,pwVar24);
|
||||||
|
FUN_14003e7c0(psVar10,ppiVar20,ppIVar23,pwVar24);
|
||||||
|
piVar22 = (int *)PTR_DAT_14016f010;
|
||||||
|
if (PTR_DAT_14016f010 == (undefined *)0x0) {
|
||||||
|
piVar22 = (int *)0x0;
|
||||||
|
}
|
||||||
|
local_118 = piVar22;
|
||||||
|
if (local_108 != (int *)PTR_DAT_14016f010) {
|
||||||
|
puVar21 = PTR_DAT_14016f010;
|
||||||
|
piVar12 = (int *)FUN_14003e7c0(psVar10,PTR_DAT_14016f010,ppIVar23,pwVar24);
|
||||||
|
piVar17 = piVar12;
|
||||||
|
local_118 = piVar12;
|
||||||
|
FUN_14003d040(piVar12);
|
||||||
|
local_110 = 1;
|
||||||
|
if (((piVar22 != (int *)0x0) && (piVar22 != (int *)PTR_DAT_14016f010)) &&
|
||||||
|
(piVar22 + -2 != (int *)0x0)) {
|
||||||
|
puVar13 = (ulonglong *)FUN_14003e7c0(piVar17,puVar21,ppIVar23,pwVar24);
|
||||||
|
local_178 = puVar13;
|
||||||
|
FUN_14003d040((int *)puVar13);
|
||||||
|
local_170 = CONCAT31(local_170._1_3_,1);
|
||||||
|
piVar17 = piVar22 + -1;
|
||||||
|
*piVar17 = *piVar17 + -1;
|
||||||
|
if (*piVar17 == 0) {
|
||||||
|
FUN_14003e8b0(piVar22 + -2);
|
||||||
|
}
|
||||||
|
FUN_14003d0d0((longlong)puVar13);
|
||||||
|
}
|
||||||
|
local_118 = local_108;
|
||||||
|
if (((local_108 != (int *)PTR_DAT_14016f010) && (local_108 != (int *)0x0)) &&
|
||||||
|
(local_108 != (int *)0x8)) {
|
||||||
|
local_108[-1] = local_108[-1] + 1;
|
||||||
|
}
|
||||||
|
FUN_14003d0d0((longlong)piVar12);
|
||||||
|
piVar22 = local_108;
|
||||||
|
}
|
||||||
|
piVar17 = piVar22;
|
||||||
|
if (piVar22 == (int *)0x0) {
|
||||||
|
piVar17 = (int *)PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
uVar11 = 0xffffffffffffffff;
|
||||||
|
piVar12 = piVar17;
|
||||||
|
do {
|
||||||
|
if (uVar11 == 0) break;
|
||||||
|
uVar11 = uVar11 - 1;
|
||||||
|
iVar7 = *piVar12;
|
||||||
|
piVar12 = (int *)((longlong)piVar12 + 2);
|
||||||
|
} while ((short)iVar7 != 0);
|
||||||
|
uVar11 = ~uVar11 - 1;
|
||||||
|
puVar13 = (ulonglong *)&local_a0;
|
||||||
|
piVar12 = piVar17;
|
||||||
|
FUN_140001710(puVar13,piVar17,uVar11);
|
||||||
|
if (((piVar22 != (int *)0x0) && (piVar22 != (int *)PTR_DAT_14016f010)) &&
|
||||||
|
(piVar22 + -2 != (int *)0x0)) {
|
||||||
|
puVar13 = (ulonglong *)FUN_14003e7c0(puVar13,piVar17,uVar11,piVar12);
|
||||||
|
local_178 = puVar13;
|
||||||
|
FUN_14003d040((int *)puVar13);
|
||||||
|
local_170 = CONCAT31(local_170._1_3_,1);
|
||||||
|
piVar15 = piVar22 + -1;
|
||||||
|
*piVar15 = *piVar15 + -1;
|
||||||
|
if (*piVar15 == 0) {
|
||||||
|
FUN_14003e8b0(piVar22 + -2);
|
||||||
|
}
|
||||||
|
FUN_14003d0d0((longlong)puVar13);
|
||||||
|
}
|
||||||
|
if (((local_108 != (int *)0x0) && (local_108 != (int *)PTR_DAT_14016f010)) &&
|
||||||
|
(local_108 + -2 != (int *)0x0)) {
|
||||||
|
puVar13 = (ulonglong *)FUN_14003e7c0(puVar13,piVar17,uVar11,piVar12);
|
||||||
|
local_178 = puVar13;
|
||||||
|
FUN_14003d040((int *)puVar13);
|
||||||
|
local_170 = CONCAT31(local_170._1_3_,1);
|
||||||
|
piVar22 = local_108 + -1;
|
||||||
|
*piVar22 = *piVar22 + -1;
|
||||||
|
if (*piVar22 == 0) {
|
||||||
|
FUN_14003e8b0(local_108 + -2);
|
||||||
|
}
|
||||||
|
FUN_14003d0d0((longlong)puVar13);
|
||||||
|
}
|
||||||
|
Ordinal_9(local_f8);
|
||||||
|
pwVar24 = L"PublicAddress";
|
||||||
|
ppIVar23 = local_158;
|
||||||
|
psVar10 = FUN_140007700(local_f8,&local_138,ppIVar23,L"PublicAddress");
|
||||||
|
ppiVar20 = &local_118;
|
||||||
|
FUN_14000ab30(psVar10,(longlong *)ppiVar20,ppIVar23,pwVar24);
|
||||||
|
FUN_14003e7c0(psVar10,ppiVar20,ppIVar23,pwVar24);
|
||||||
|
piVar22 = local_118;
|
||||||
|
piVar17 = (int *)PTR_DAT_14016f010;
|
||||||
|
if (PTR_DAT_14016f010 == (undefined *)0x0) {
|
||||||
|
piVar17 = (int *)0x0;
|
||||||
|
}
|
||||||
|
local_108 = piVar17;
|
||||||
|
if (local_118 != (int *)PTR_DAT_14016f010) {
|
||||||
|
puVar21 = PTR_DAT_14016f010;
|
||||||
|
puVar14 = (ulonglong *)FUN_14003e7c0(psVar10,PTR_DAT_14016f010,ppIVar23,pwVar24);
|
||||||
|
puVar13 = puVar14;
|
||||||
|
local_178 = puVar14;
|
||||||
|
FUN_14003d040((int *)puVar14);
|
||||||
|
local_170 = CONCAT31(local_170._1_3_,1);
|
||||||
|
if (((piVar17 != (int *)0x0) && (piVar17 != (int *)PTR_DAT_14016f010)) &&
|
||||||
|
(piVar17 + -2 != (int *)0x0)) {
|
||||||
|
piVar15 = (int *)FUN_14003e7c0(puVar13,puVar21,ppIVar23,pwVar24);
|
||||||
|
local_108 = piVar15;
|
||||||
|
FUN_14003d040(piVar15);
|
||||||
|
local_100 = 1;
|
||||||
|
piVar12 = piVar17 + -1;
|
||||||
|
*piVar12 = *piVar12 + -1;
|
||||||
|
if (*piVar12 == 0) {
|
||||||
|
FUN_14003e8b0(piVar17 + -2);
|
||||||
|
}
|
||||||
|
FUN_14003d0d0((longlong)piVar15);
|
||||||
|
}
|
||||||
|
local_108 = piVar22;
|
||||||
|
if (((piVar22 != (int *)PTR_DAT_14016f010) && (piVar22 != (int *)0x0)) &&
|
||||||
|
(piVar22 != (int *)0x8)) {
|
||||||
|
piVar22[-1] = piVar22[-1] + 1;
|
||||||
|
}
|
||||||
|
FUN_14003d0d0((longlong)puVar14);
|
||||||
|
piVar17 = piVar22;
|
||||||
|
}
|
||||||
|
piVar12 = piVar17;
|
||||||
|
if (piVar17 == (int *)0x0) {
|
||||||
|
piVar12 = (int *)PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
uVar11 = 0xffffffffffffffff;
|
||||||
|
piVar15 = piVar12;
|
||||||
|
do {
|
||||||
|
if (uVar11 == 0) break;
|
||||||
|
uVar11 = uVar11 - 1;
|
||||||
|
iVar7 = *piVar15;
|
||||||
|
piVar15 = (int *)((longlong)piVar15 + 2);
|
||||||
|
} while ((short)iVar7 != 0);
|
||||||
|
uVar11 = ~uVar11 - 1;
|
||||||
|
puVar13 = (ulonglong *)&local_78;
|
||||||
|
piVar15 = piVar12;
|
||||||
|
FUN_140001710(puVar13,piVar12,uVar11);
|
||||||
|
if (((piVar17 != (int *)0x0) && (piVar17 != (int *)PTR_DAT_14016f010)) &&
|
||||||
|
(piVar17 + -2 != (int *)0x0)) {
|
||||||
|
puVar13 = (ulonglong *)FUN_14003e7c0(puVar13,piVar12,uVar11,piVar15);
|
||||||
|
local_178 = puVar13;
|
||||||
|
FUN_14003d040((int *)puVar13);
|
||||||
|
local_170 = CONCAT31(local_170._1_3_,1);
|
||||||
|
piVar1 = piVar17 + -1;
|
||||||
|
*piVar1 = *piVar1 + -1;
|
||||||
|
if (*piVar1 == 0) {
|
||||||
|
FUN_14003e8b0(piVar17 + -2);
|
||||||
|
}
|
||||||
|
FUN_14003d0d0((longlong)puVar13);
|
||||||
|
}
|
||||||
|
if (((piVar22 != (int *)0x0) && (piVar22 != (int *)PTR_DAT_14016f010)) &&
|
||||||
|
(piVar22 + -2 != (int *)0x0)) {
|
||||||
|
puVar13 = (ulonglong *)FUN_14003e7c0(puVar13,piVar12,uVar11,piVar15);
|
||||||
|
local_178 = puVar13;
|
||||||
|
FUN_14003d040((int *)puVar13);
|
||||||
|
local_170 = CONCAT31(local_170._1_3_,1);
|
||||||
|
piVar17 = piVar22 + -1;
|
||||||
|
*piVar17 = *piVar17 + -1;
|
||||||
|
if (*piVar17 == 0) {
|
||||||
|
FUN_14003e8b0(piVar22 + -2);
|
||||||
|
}
|
||||||
|
FUN_14003d0d0((longlong)puVar13);
|
||||||
|
}
|
||||||
|
Ordinal_9(local_f8);
|
||||||
|
FUN_140033c30((ulonglong *)&local_50,local_bc,local_c8._4_4_);
|
||||||
|
if (*(int *)(DAT_14017cf28 + 0x154) == local_c8._4_4_) {
|
||||||
|
FUN_14002fe40(DAT_14017cf28,(undefined4 *)&local_c8);
|
||||||
|
}
|
||||||
|
if (7 < local_38) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_4e,local_50));
|
||||||
|
}
|
||||||
|
local_38 = 7;
|
||||||
|
local_40 = 0;
|
||||||
|
local_50 = 0;
|
||||||
|
if (7 < local_60) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_76,local_78));
|
||||||
|
}
|
||||||
|
local_60 = 7;
|
||||||
|
local_68 = 0;
|
||||||
|
local_78 = 0;
|
||||||
|
if (7 < local_88) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_9e,local_a0));
|
||||||
|
}
|
||||||
|
puVar5 = local_130;
|
||||||
|
puVar4 = local_138;
|
||||||
|
local_88 = 7;
|
||||||
|
local_90 = 0;
|
||||||
|
local_a0 = 0;
|
||||||
|
puVar2 = local_138;
|
||||||
|
if (local_138 != (undefined8 *)0x0) {
|
||||||
|
for (; puVar2 != puVar5; puVar2 = puVar2 + 5) {
|
||||||
|
if (7 < (ulonglong)puVar2[3]) {
|
||||||
|
operator_delete((void *)*puVar2);
|
||||||
|
}
|
||||||
|
puVar2[3] = 7;
|
||||||
|
puVar2[2] = 0;
|
||||||
|
*(undefined2 *)puVar2 = 0;
|
||||||
|
}
|
||||||
|
operator_delete(puVar4);
|
||||||
|
}
|
||||||
|
uVar16 = FUN_140072b00(local_158);
|
||||||
|
if (local_158[0] != (IUnknown *)0x0) {
|
||||||
|
UVar8 = (*local_158[0]->lpVtbl->Release)(local_158[0]);
|
||||||
|
uVar16 = CONCAT44(extraout_var_01,UVar8);
|
||||||
|
}
|
||||||
|
if (local_148[0] != (longlong *)0x0) {
|
||||||
|
uVar16 = (**(code **)(*local_148[0] + 0x10))();
|
||||||
|
}
|
||||||
|
return CONCAT71((int7)((ulonglong)uVar16 >> 8),1);
|
||||||
|
}
|
||||||
|
wprintf(L"Failed Recordset!! : %s \n",L"dbo.up_read_agentmanager");
|
||||||
|
uVar11 = FUN_140072b00(local_158);
|
||||||
|
if (local_158[0] != (IUnknown *)0x0) {
|
||||||
|
UVar8 = (*local_158[0]->lpVtbl->Release)(local_158[0]);
|
||||||
|
uVar11 = CONCAT44(extraout_var_00,UVar8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (local_148[0] != (longlong *)0x0) {
|
||||||
|
uVar11 = (**(code **)(*local_148[0] + 0x10))();
|
||||||
|
}
|
||||||
|
return uVar11 & 0xffffffffffffff00;
|
||||||
|
}
|
||||||
|
|
||||||
79
decomp/AgentManager_Release_x64/0x140009d00.pseudo.c
Normal file
79
decomp/AgentManager_Release_x64/0x140009d00.pseudo.c
Normal file
|
|
@ -0,0 +1,79 @@
|
||||||
|
|
||||||
|
/* WARNING: Removing unreachable block (ram,0x000140009e72) */
|
||||||
|
/* WARNING: Removing unreachable block (ram,0x000140009e9c) */
|
||||||
|
/* WARNING: Removing unreachable block (ram,0x000140009ea3) */
|
||||||
|
|
||||||
|
ulonglong FUN_140009d00(longlong param_1,longlong param_2,longlong param_3,undefined4 *param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
IUnknown *pIVar1;
|
||||||
|
int iVar2;
|
||||||
|
ULONG UVar3;
|
||||||
|
undefined4 uVar4;
|
||||||
|
short *psVar5;
|
||||||
|
ulonglong uVar6;
|
||||||
|
undefined4 extraout_var;
|
||||||
|
undefined8 uVar7;
|
||||||
|
undefined4 extraout_var_00;
|
||||||
|
undefined4 *puVar8;
|
||||||
|
wchar_t *pwVar9;
|
||||||
|
undefined4 *puVar10;
|
||||||
|
IUnknown *local_48 [2];
|
||||||
|
longlong *local_38 [2];
|
||||||
|
undefined4 local_28 [8];
|
||||||
|
|
||||||
|
puVar10 = param_4;
|
||||||
|
FUN_140073cc0(local_38);
|
||||||
|
FUN_140073b20(local_48);
|
||||||
|
FUN_140073f70(local_38,*(IID **)(param_1 + 8),(void **)L"dbo.up_auth_agentaccount");
|
||||||
|
FUN_14000a950((undefined2 *)local_28,param_2);
|
||||||
|
FUN_140073d70(local_38,1,local_28);
|
||||||
|
Ordinal_9(local_28);
|
||||||
|
FUN_14000a950((undefined2 *)local_28,param_3);
|
||||||
|
FUN_140073d70(local_38,2,local_28);
|
||||||
|
Ordinal_9(local_28);
|
||||||
|
FUN_140074740(local_38,(longlong *)local_48,(int *)0x0);
|
||||||
|
uVar7 = 0;
|
||||||
|
puVar8 = local_28;
|
||||||
|
psVar5 = (short *)FUN_140073e60(local_38,puVar8,0);
|
||||||
|
FUN_140074970(psVar5,puVar8,uVar7,puVar10);
|
||||||
|
iVar2 = FUN_14000add0(psVar5);
|
||||||
|
Ordinal_9(local_28);
|
||||||
|
pIVar1 = local_48[0];
|
||||||
|
if (iVar2 < 0) {
|
||||||
|
wprintf(L"Failed Stored Procedure!! : %s \n",L"dbo.up_auth_agentaccount");
|
||||||
|
uVar6 = FUN_140072b00(local_48);
|
||||||
|
if (local_48[0] != (IUnknown *)0x0) {
|
||||||
|
UVar3 = (*local_48[0]->lpVtbl->Release)(local_48[0]);
|
||||||
|
uVar6 = CONCAT44(extraout_var,UVar3);
|
||||||
|
}
|
||||||
|
if (local_38[0] != (longlong *)0x0) {
|
||||||
|
uVar6 = (**(code **)(*local_38[0] + 0x10))();
|
||||||
|
}
|
||||||
|
uVar6 = uVar6 & 0xffffffffffffff00;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
UVar3 = (*local_48[0]->lpVtbl[6].Release)(local_48[0]);
|
||||||
|
if ((int)UVar3 < 0) {
|
||||||
|
_com_issue_errorex(UVar3,pIVar1,(_GUID *)&DAT_1401301b0);
|
||||||
|
}
|
||||||
|
pwVar9 = L"permission";
|
||||||
|
puVar8 = local_28;
|
||||||
|
psVar5 = (short *)FUN_140073430(local_48,puVar8,0x140130198);
|
||||||
|
FUN_140074970(psVar5,puVar8,pwVar9,puVar10);
|
||||||
|
uVar4 = FUN_14000add0(psVar5);
|
||||||
|
*param_4 = uVar4;
|
||||||
|
Ordinal_9(local_28);
|
||||||
|
uVar7 = FUN_140072b00(local_48);
|
||||||
|
if (local_48[0] != (IUnknown *)0x0) {
|
||||||
|
UVar3 = (*local_48[0]->lpVtbl->Release)(local_48[0]);
|
||||||
|
uVar7 = CONCAT44(extraout_var_00,UVar3);
|
||||||
|
}
|
||||||
|
if (local_38[0] != (longlong *)0x0) {
|
||||||
|
uVar7 = (**(code **)(*local_38[0] + 0x10))();
|
||||||
|
}
|
||||||
|
uVar6 = CONCAT71((int7)((ulonglong)uVar7 >> 8),1);
|
||||||
|
}
|
||||||
|
return uVar6;
|
||||||
|
}
|
||||||
|
|
||||||
156
decomp/AgentManager_Release_x64/0x1400137f0.pseudo.c
Normal file
156
decomp/AgentManager_Release_x64/0x1400137f0.pseudo.c
Normal file
|
|
@ -0,0 +1,156 @@
|
||||||
|
|
||||||
|
undefined8
|
||||||
|
FUN_1400137f0(longlong param_1,uint param_2,undefined8 param_3,int *param_4,undefined8 *param_5)
|
||||||
|
|
||||||
|
{
|
||||||
|
ulonglong *puVar1;
|
||||||
|
undefined8 *puVar2;
|
||||||
|
uint *puVar3;
|
||||||
|
LPVOID pvVar4;
|
||||||
|
int *piVar5;
|
||||||
|
undefined8 *puVar6;
|
||||||
|
ulonglong *puVar7;
|
||||||
|
undefined *puVar8;
|
||||||
|
ulonglong *local_d8;
|
||||||
|
ulonglong *local_d0;
|
||||||
|
undefined8 local_c8;
|
||||||
|
ulonglong *local_b8;
|
||||||
|
ulonglong *local_b0;
|
||||||
|
undefined8 local_a8;
|
||||||
|
ulonglong *local_98;
|
||||||
|
ulonglong *local_90;
|
||||||
|
undefined8 local_88;
|
||||||
|
undefined **local_78;
|
||||||
|
longlong *local_70;
|
||||||
|
LPVOID local_68;
|
||||||
|
ulonglong local_60;
|
||||||
|
undefined8 local_58;
|
||||||
|
ulonglong *local_50;
|
||||||
|
ulonglong *local_48;
|
||||||
|
undefined8 local_40;
|
||||||
|
undefined8 local_30;
|
||||||
|
|
||||||
|
local_30 = 0xfffffffffffffffe;
|
||||||
|
puVar6 = (undefined8 *)0x0;
|
||||||
|
if (*(longlong *)(DAT_14017cf20 + 0x58) != 0) {
|
||||||
|
for (puVar2 = *(undefined8 **)
|
||||||
|
(*(longlong *)(DAT_14017cf20 + 0x38) +
|
||||||
|
((ulonglong)(longlong)*param_4 % *(ulonglong *)(DAT_14017cf20 + 0x40)) * 8);
|
||||||
|
puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {
|
||||||
|
if (*param_4 == *(int *)(puVar2 + 1)) {
|
||||||
|
if ((puVar2 != (undefined8 *)0x0) &&
|
||||||
|
(puVar3 = (uint *)puVar2[2], puVar6 = puVar2, puVar3 != (uint *)0x0)) {
|
||||||
|
*(undefined8 *)(puVar3 + 0x28) = *param_5;
|
||||||
|
*(undefined8 *)(puVar3 + 0x2a) = param_5[1];
|
||||||
|
*(undefined8 *)(puVar3 + 0x2c) = param_5[2];
|
||||||
|
FUN_140011f00(*(longlong *)(param_1 + 0x70),*param_4,param_5);
|
||||||
|
if ((char)puVar3[3] == '\r') {
|
||||||
|
puVar3[0x28] = param_2;
|
||||||
|
puVar3[0x31] = 1;
|
||||||
|
local_98 = (ulonglong *)0x0;
|
||||||
|
local_90 = (ulonglong *)0x0;
|
||||||
|
local_88 = 0;
|
||||||
|
FUN_14003a0d0(DAT_14017cf20,(ulonglong *)&local_98,puVar3[2]);
|
||||||
|
local_b8 = (ulonglong *)0x0;
|
||||||
|
local_b0 = (ulonglong *)0x0;
|
||||||
|
local_a8 = 0;
|
||||||
|
FUN_140039cd0(DAT_14017cf20,(ulonglong *)&local_b8,'\x15');
|
||||||
|
piVar5 = (int *)FUN_14003b000(DAT_14017cf50,&local_50);
|
||||||
|
puVar8 = &DAT_14016f5d0;
|
||||||
|
(**(code **)(*(longlong *)(param_1 + 0x40) + 0x30))
|
||||||
|
((longlong *)(param_1 + 0x40),param_2,&DAT_14016f5d0,piVar5,&local_98,
|
||||||
|
&local_b8);
|
||||||
|
if (local_50 != (ulonglong *)0x0) {
|
||||||
|
if (local_50 != local_48) {
|
||||||
|
puVar7 = local_50 + 4;
|
||||||
|
do {
|
||||||
|
if (7 < *puVar7) {
|
||||||
|
operator_delete((void *)puVar7[-3]);
|
||||||
|
}
|
||||||
|
*puVar7 = 7;
|
||||||
|
puVar7[-1] = 0;
|
||||||
|
*(undefined2 *)(puVar7 + -3) = 0;
|
||||||
|
puVar1 = puVar7 + 2;
|
||||||
|
puVar7 = puVar7 + 6;
|
||||||
|
} while (puVar1 != local_48);
|
||||||
|
}
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (ulonglong *)0x0;
|
||||||
|
local_48 = (ulonglong *)0x0;
|
||||||
|
local_40 = 0;
|
||||||
|
if (local_b8 != (ulonglong *)0x0) {
|
||||||
|
FUN_14000a5f0(local_b8,local_b0);
|
||||||
|
operator_delete(local_b8);
|
||||||
|
}
|
||||||
|
local_b8 = (ulonglong *)0x0;
|
||||||
|
local_b0 = (ulonglong *)0x0;
|
||||||
|
local_a8 = 0;
|
||||||
|
if (local_98 != (ulonglong *)0x0) {
|
||||||
|
FUN_14000a5f0(local_98,local_90);
|
||||||
|
operator_delete(local_98);
|
||||||
|
}
|
||||||
|
local_98 = (ulonglong *)0x0;
|
||||||
|
local_90 = (ulonglong *)0x0;
|
||||||
|
local_88 = 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
local_d8 = (ulonglong *)0x0;
|
||||||
|
local_d0 = (ulonglong *)0x0;
|
||||||
|
local_c8 = 0;
|
||||||
|
FUN_140039f50(DAT_14017cf20,(ulonglong *)&local_d8,*puVar3);
|
||||||
|
if (*(char *)(DAT_14017cf28 + 0x166) != '\0') {
|
||||||
|
FUN_140039cd0(DAT_14017cf20,(ulonglong *)&local_d8,'\b');
|
||||||
|
}
|
||||||
|
puVar8 = &DAT_14016f5d0;
|
||||||
|
piVar5 = param_4;
|
||||||
|
(**(code **)(*(longlong *)(param_1 + 0x40) + 0x40))
|
||||||
|
((longlong *)(param_1 + 0x40),param_2,&DAT_14016f5d0,param_4,&local_d8);
|
||||||
|
if (local_d8 != (ulonglong *)0x0) {
|
||||||
|
FUN_14000a5f0(local_d8,local_d0);
|
||||||
|
operator_delete(local_d8);
|
||||||
|
}
|
||||||
|
local_d8 = (ulonglong *)0x0;
|
||||||
|
local_d0 = (ulonglong *)0x0;
|
||||||
|
local_c8 = 0;
|
||||||
|
}
|
||||||
|
if (*(longlong *)(param_1 + 0x68) != 0) {
|
||||||
|
piVar5 = (int *)(ulonglong)(byte)puVar3[3];
|
||||||
|
puVar8 = (undefined *)(ulonglong)*puVar3;
|
||||||
|
FUN_14000ae50(*(longlong *)(param_1 + 0x68),1,*puVar3,piVar5,0x14012e3d0,0,*param_4);
|
||||||
|
}
|
||||||
|
local_78 = Proud::CFastArray<Proud::HostID,0>::vftable;
|
||||||
|
local_70 = (longlong *)0x0;
|
||||||
|
local_68 = (LPVOID)0x0;
|
||||||
|
local_60 = 0;
|
||||||
|
local_58 = 0;
|
||||||
|
puVar6 = (undefined8 *)
|
||||||
|
FUN_140039670(DAT_14017cf20,(longlong)&local_78,puVar8,(longlong)piVar5);
|
||||||
|
pvVar4 = local_68;
|
||||||
|
if ((int)local_60 == 0) {
|
||||||
|
if (local_68 == (LPVOID)0x0) break;
|
||||||
|
if (local_70 != (longlong *)0x0) {
|
||||||
|
puVar6 = (undefined8 *)(**(code **)(*local_70 + 0x18))(local_70,local_68);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
puVar6 = (undefined8 *)
|
||||||
|
(**(code **)(*(longlong *)(param_1 + 0x40) + 0x68))
|
||||||
|
((longlong *)(param_1 + 0x40),local_68,local_60 & 0xffffffff,
|
||||||
|
&DAT_14016f5d0,param_4);
|
||||||
|
if (pvVar4 == (LPVOID)0x0) break;
|
||||||
|
if (local_70 != (longlong *)0x0) {
|
||||||
|
puVar6 = (undefined8 *)(**(code **)(*local_70 + 0x18))(local_70,pvVar4);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
puVar6 = (undefined8 *)FUN_14003e8b0(pvVar4);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return CONCAT71((int7)((ulonglong)puVar6 >> 8),1);
|
||||||
|
}
|
||||||
|
|
||||||
267
decomp/AgentManager_Release_x64/0x140015290.pseudo.c
Normal file
267
decomp/AgentManager_Release_x64/0x140015290.pseudo.c
Normal file
|
|
@ -0,0 +1,267 @@
|
||||||
|
|
||||||
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||||
|
|
||||||
|
undefined8
|
||||||
|
FUN_140015290(longlong param_1,uint param_2,undefined8 param_3,longlong *param_4,longlong *param_5)
|
||||||
|
|
||||||
|
{
|
||||||
|
longlong lVar1;
|
||||||
|
short sVar2;
|
||||||
|
undefined8 *puVar3;
|
||||||
|
ulonglong *puVar4;
|
||||||
|
int iVar5;
|
||||||
|
undefined4 extraout_var;
|
||||||
|
undefined8 uVar6;
|
||||||
|
undefined8 extraout_RAX;
|
||||||
|
undefined8 extraout_RAX_00;
|
||||||
|
ulonglong uVar7;
|
||||||
|
undefined *puVar8;
|
||||||
|
short *psVar9;
|
||||||
|
ulonglong *puVar10;
|
||||||
|
ulonglong *puVar11;
|
||||||
|
short *psVar12;
|
||||||
|
ulonglong *puVar13;
|
||||||
|
undefined *puVar14;
|
||||||
|
longlong *plVar15;
|
||||||
|
int *piVar16;
|
||||||
|
ulonglong uVar17;
|
||||||
|
ulonglong *puVar18;
|
||||||
|
ulonglong *puVar19;
|
||||||
|
undefined1 auStack_1f8 [32];
|
||||||
|
ulonglong **local_1d8;
|
||||||
|
uint local_1c8;
|
||||||
|
int local_1c4;
|
||||||
|
ulonglong *local_1c0;
|
||||||
|
ulonglong *puStack_1b8;
|
||||||
|
ulonglong local_1b0;
|
||||||
|
ulonglong *local_1a8;
|
||||||
|
ulonglong *local_1a0;
|
||||||
|
ulonglong *local_198;
|
||||||
|
longlong local_188;
|
||||||
|
ulonglong *local_180;
|
||||||
|
ulonglong *local_178;
|
||||||
|
undefined8 local_170;
|
||||||
|
ulonglong *local_160;
|
||||||
|
longlong *local_158;
|
||||||
|
undefined8 local_150;
|
||||||
|
undefined4 local_148;
|
||||||
|
uint local_144;
|
||||||
|
void *local_120;
|
||||||
|
ulonglong local_108;
|
||||||
|
undefined2 local_f8;
|
||||||
|
undefined6 uStack_f6;
|
||||||
|
undefined8 local_e8;
|
||||||
|
ulonglong local_e0;
|
||||||
|
undefined2 local_d0;
|
||||||
|
undefined6 uStack_ce;
|
||||||
|
undefined8 local_c0;
|
||||||
|
ulonglong local_b8;
|
||||||
|
ulonglong *local_a8;
|
||||||
|
ulonglong *puStack_a0;
|
||||||
|
ulonglong local_98;
|
||||||
|
ulonglong local_90;
|
||||||
|
ulonglong local_88;
|
||||||
|
ulonglong local_80;
|
||||||
|
ulonglong local_78;
|
||||||
|
void *local_70;
|
||||||
|
undefined8 local_68;
|
||||||
|
undefined8 local_60;
|
||||||
|
ulonglong local_48;
|
||||||
|
|
||||||
|
local_150 = 0xfffffffffffffffe;
|
||||||
|
local_48 = DAT_14016f5a0 ^ (ulonglong)auStack_1f8;
|
||||||
|
uVar17 = (ulonglong)(int)param_2;
|
||||||
|
puVar13 = (ulonglong *)0x0;
|
||||||
|
plVar15 = param_4;
|
||||||
|
local_1c8 = param_2;
|
||||||
|
if (*(longlong *)(DAT_14017cf38 + 0x58) != 0) {
|
||||||
|
for (puVar3 = *(undefined8 **)
|
||||||
|
(*(longlong *)(DAT_14017cf38 + 0x38) +
|
||||||
|
(uVar17 % *(ulonglong *)(DAT_14017cf38 + 0x40)) * 8); puVar3 != (undefined8 *)0x0
|
||||||
|
; puVar3 = (undefined8 *)*puVar3) {
|
||||||
|
if (param_2 == *(uint *)(puVar3 + 1)) {
|
||||||
|
if ((puVar3 != (undefined8 *)0x0) &&
|
||||||
|
(plVar15 = (longlong *)puVar3[2], plVar15 != (longlong *)0x0)) {
|
||||||
|
psVar9 = (short *)*param_4;
|
||||||
|
if ((short *)*param_4 == (short *)0x0) {
|
||||||
|
psVar9 = (short *)PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
uVar7 = 0xffffffffffffffff;
|
||||||
|
psVar12 = psVar9;
|
||||||
|
goto code_r0x000140015344;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
goto LAB_140015357;
|
||||||
|
while( true ) {
|
||||||
|
uVar7 = uVar7 - 1;
|
||||||
|
sVar2 = *psVar12;
|
||||||
|
psVar12 = psVar12 + 1;
|
||||||
|
if (sVar2 == 0) break;
|
||||||
|
code_r0x000140015344:
|
||||||
|
if (uVar7 == 0) break;
|
||||||
|
}
|
||||||
|
FUN_140001710((ulonglong *)(plVar15 + 1),psVar9,~uVar7 - 1);
|
||||||
|
LAB_140015357:
|
||||||
|
puVar14 = (undefined *)*param_4;
|
||||||
|
if ((undefined *)*param_4 == (undefined *)0x0) {
|
||||||
|
puVar14 = PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
FUN_1400ef250(DAT_14017c8a8,L"MONITOR AUTH : ID[%s]",puVar14,plVar15);
|
||||||
|
local_1c4 = 0;
|
||||||
|
puVar14 = (undefined *)*param_5;
|
||||||
|
if ((undefined *)*param_5 == (undefined *)0x0) {
|
||||||
|
puVar14 = PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
puVar8 = (undefined *)*param_4;
|
||||||
|
if ((undefined *)*param_4 == (undefined *)0x0) {
|
||||||
|
puVar8 = PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
FUN_140009d00(*(longlong *)(param_1 + 0x60),(longlong)puVar8,(longlong)puVar14,&local_1c4);
|
||||||
|
plVar15 = (longlong *)(param_1 + 0x40);
|
||||||
|
piVar16 = &local_1c4;
|
||||||
|
puVar14 = &DAT_14016f5d0;
|
||||||
|
local_158 = plVar15;
|
||||||
|
(**(code **)(*plVar15 + 0x30))(plVar15,param_2,&DAT_14016f5d0);
|
||||||
|
if (local_1c4 < 1) {
|
||||||
|
iVar5 = printf(&DAT_1401306c0);
|
||||||
|
uVar6 = CONCAT44(extraout_var,iVar5);
|
||||||
|
goto LAB_14001571c;
|
||||||
|
}
|
||||||
|
psVar9 = (short *)*param_4;
|
||||||
|
if ((short *)*param_4 == (short *)0x0) {
|
||||||
|
psVar9 = (short *)PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
local_188 = param_1 + -8;
|
||||||
|
FUN_140012160(local_188,psVar9,CONCAT71((int7)((ulonglong)puVar14 >> 8),1),piVar16);
|
||||||
|
local_180 = (ulonglong *)0x0;
|
||||||
|
local_178 = (ulonglong *)0x0;
|
||||||
|
local_170 = 0;
|
||||||
|
FUN_140039b70(DAT_14017cf20,(ulonglong *)&local_180);
|
||||||
|
(**(code **)(*plVar15 + 0x40))(plVar15,param_2,&DAT_14016f5d0,&local_180);
|
||||||
|
local_1a8 = (ulonglong *)0x0;
|
||||||
|
local_1a0 = (ulonglong *)0x0;
|
||||||
|
local_198 = (ulonglong *)0x0;
|
||||||
|
if (*(longlong *)(DAT_14017cf20 + 0x58) == 0) {
|
||||||
|
local_1c0 = (ulonglong *)0x0;
|
||||||
|
LAB_14001547b:
|
||||||
|
puStack_1b8 = (ulonglong *)0x0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
local_1c0 = *(ulonglong **)(DAT_14017cf20 + 0x68);
|
||||||
|
if (local_1c0 == (ulonglong *)0x0) goto LAB_14001547b;
|
||||||
|
puStack_1b8 = (ulonglong *)*local_1c0;
|
||||||
|
}
|
||||||
|
puVar10 = puStack_1b8;
|
||||||
|
puVar11 = local_1c0;
|
||||||
|
puVar18 = puVar13;
|
||||||
|
puVar19 = puVar13;
|
||||||
|
if (puStack_1b8 != (ulonglong *)0x0) {
|
||||||
|
do {
|
||||||
|
puVar4 = (ulonglong *)puVar10[2];
|
||||||
|
if (puVar4 != (ulonglong *)0x0) {
|
||||||
|
if ((puVar4 < puVar13) && (puVar18 <= puVar4)) {
|
||||||
|
lVar1 = ((longlong)puVar4 - (longlong)puVar18) +
|
||||||
|
SUB168(SEXT816(-0x7bdef7bdef7bdef7) *
|
||||||
|
SEXT816((longlong)puVar4 - (longlong)puVar18),8);
|
||||||
|
if (puVar13 == puVar19) {
|
||||||
|
FUN_14003a7e0((longlong *)&local_1a8);
|
||||||
|
puVar13 = local_1a0;
|
||||||
|
puVar18 = local_1a8;
|
||||||
|
puVar19 = local_198;
|
||||||
|
}
|
||||||
|
local_1c0 = puVar13;
|
||||||
|
local_160 = puVar13;
|
||||||
|
if (puVar13 != (ulonglong *)0x0) {
|
||||||
|
FUN_140003c50((undefined4 *)puVar13,
|
||||||
|
(undefined4 *)(puVar18 + ((lVar1 >> 7) - (lVar1 >> 0x3f)) * 0x1f));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (puVar13 == puVar19) {
|
||||||
|
FUN_14003a7e0((longlong *)&local_1a8);
|
||||||
|
puVar13 = local_1a0;
|
||||||
|
puVar18 = local_1a8;
|
||||||
|
puVar19 = local_198;
|
||||||
|
}
|
||||||
|
local_1c0 = puVar13;
|
||||||
|
local_160 = puVar13;
|
||||||
|
if (puVar13 != (ulonglong *)0x0) {
|
||||||
|
FUN_140003c50((undefined4 *)puVar13,(undefined4 *)puVar4);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
puVar13 = puVar13 + 0x1f;
|
||||||
|
local_1a0 = puVar13;
|
||||||
|
}
|
||||||
|
puVar10 = (ulonglong *)*puVar10;
|
||||||
|
while (puVar10 == (ulonglong *)0x0) {
|
||||||
|
puVar11 = puVar11 + 1;
|
||||||
|
puVar10 = (ulonglong *)*puVar11;
|
||||||
|
}
|
||||||
|
if (puVar11 == puVar10) {
|
||||||
|
puVar10 = (ulonglong *)0x0;
|
||||||
|
}
|
||||||
|
} while (puVar10 != (ulonglong *)0x0);
|
||||||
|
uVar17 = (ulonglong)local_1c8;
|
||||||
|
plVar15 = local_158;
|
||||||
|
}
|
||||||
|
if (puVar18 != puVar13) {
|
||||||
|
puVar10 = puVar18 + 0x17;
|
||||||
|
do {
|
||||||
|
FUN_140004f20(&local_148,(undefined4 *)(puVar10 + -0x17));
|
||||||
|
local_a8 = (ulonglong *)puVar10[-3];
|
||||||
|
puStack_a0 = (ulonglong *)puVar10[-2];
|
||||||
|
local_98 = puVar10[-1];
|
||||||
|
local_90 = *puVar10;
|
||||||
|
local_88 = puVar10[1];
|
||||||
|
local_80 = puVar10[2];
|
||||||
|
local_78 = puVar10[3];
|
||||||
|
FUN_140004de0(&local_70,(longlong *)(puVar10 + 4));
|
||||||
|
local_1c8 = local_144;
|
||||||
|
local_1c0 = local_a8;
|
||||||
|
puStack_1b8 = puStack_a0;
|
||||||
|
local_1b0 = local_98;
|
||||||
|
local_1d8 = &local_1c0;
|
||||||
|
(**(code **)(*plVar15 + 0x50))(plVar15,uVar17 & 0xffffffff,&DAT_14016f5d0,&local_1c8);
|
||||||
|
if (local_70 != (void *)0x0) {
|
||||||
|
operator_delete(local_70);
|
||||||
|
}
|
||||||
|
local_70 = (void *)0x0;
|
||||||
|
local_68 = 0;
|
||||||
|
local_60 = 0;
|
||||||
|
if (7 < local_b8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_ce,local_d0));
|
||||||
|
}
|
||||||
|
local_b8 = 7;
|
||||||
|
local_c0 = 0;
|
||||||
|
local_d0 = 0;
|
||||||
|
if (7 < local_e0) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_f6,local_f8));
|
||||||
|
}
|
||||||
|
local_e0 = 7;
|
||||||
|
local_e8 = 0;
|
||||||
|
local_f8 = 0;
|
||||||
|
if (7 < local_108) {
|
||||||
|
operator_delete(local_120);
|
||||||
|
}
|
||||||
|
puVar11 = puVar10 + 8;
|
||||||
|
puVar10 = puVar10 + 0x1f;
|
||||||
|
} while (puVar11 != puVar13);
|
||||||
|
}
|
||||||
|
uVar6 = FUN_140012820(local_188,(int)uVar17);
|
||||||
|
if (puVar18 != (ulonglong *)0x0) {
|
||||||
|
FUN_140004ba0(puVar18,puVar13);
|
||||||
|
operator_delete(puVar18);
|
||||||
|
uVar6 = extraout_RAX;
|
||||||
|
}
|
||||||
|
if (local_180 != (ulonglong *)0x0) {
|
||||||
|
FUN_14000a5f0(local_180,local_178);
|
||||||
|
operator_delete(local_180);
|
||||||
|
uVar6 = extraout_RAX_00;
|
||||||
|
}
|
||||||
|
LAB_14001571c:
|
||||||
|
return CONCAT71((int7)((ulonglong)uVar6 >> 8),1);
|
||||||
|
}
|
||||||
|
|
||||||
450
decomp/AgentManager_Release_x64/0x140015ac0.pseudo.c
Normal file
450
decomp/AgentManager_Release_x64/0x140015ac0.pseudo.c
Normal file
|
|
@ -0,0 +1,450 @@
|
||||||
|
|
||||||
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||||
|
|
||||||
|
undefined8
|
||||||
|
FUN_140015ac0(longlong param_1,uint param_2,undefined8 param_3,uint *param_4,uint *param_5)
|
||||||
|
|
||||||
|
{
|
||||||
|
longlong lVar1;
|
||||||
|
BOOL BVar2;
|
||||||
|
uint uVar3;
|
||||||
|
uint uVar4;
|
||||||
|
ulonglong uVar5;
|
||||||
|
undefined *puVar6;
|
||||||
|
char *pcVar7;
|
||||||
|
longlong *plVar8;
|
||||||
|
int *piVar9;
|
||||||
|
undefined4 extraout_var;
|
||||||
|
ulonglong ******ppppppuVar10;
|
||||||
|
int *piVar11;
|
||||||
|
uint *puVar12;
|
||||||
|
undefined *extraout_RAX;
|
||||||
|
undefined *extraout_RAX_00;
|
||||||
|
undefined *extraout_RAX_01;
|
||||||
|
undefined *extraout_RAX_02;
|
||||||
|
ulonglong ******_Dst;
|
||||||
|
uint *puVar13;
|
||||||
|
short *psVar14;
|
||||||
|
wchar_t *pwVar15;
|
||||||
|
undefined8 uVar16;
|
||||||
|
wchar_t *pwVar17;
|
||||||
|
uint *puVar18;
|
||||||
|
uint uVar19;
|
||||||
|
ulonglong uVar20;
|
||||||
|
undefined8 *puVar21;
|
||||||
|
undefined1 auStackY_678 [32];
|
||||||
|
uint *local_628;
|
||||||
|
uint local_620 [2];
|
||||||
|
undefined *local_618;
|
||||||
|
int *local_610;
|
||||||
|
undefined1 local_608;
|
||||||
|
uint *local_600;
|
||||||
|
undefined8 local_5f8;
|
||||||
|
_PROCESS_INFORMATION local_5f0;
|
||||||
|
_STARTUPINFOW local_5d8;
|
||||||
|
ulonglong *****local_568 [2];
|
||||||
|
ulonglong ****local_558;
|
||||||
|
ulonglong ****local_550;
|
||||||
|
undefined8 local_538;
|
||||||
|
undefined4 local_530;
|
||||||
|
undefined1 local_52c;
|
||||||
|
undefined8 local_528;
|
||||||
|
undefined8 local_520;
|
||||||
|
undefined1 local_518;
|
||||||
|
undefined2 local_510;
|
||||||
|
undefined6 uStack_50e;
|
||||||
|
undefined8 local_500;
|
||||||
|
ulonglong local_4f8;
|
||||||
|
undefined2 local_4e8;
|
||||||
|
undefined6 uStack_4e6;
|
||||||
|
undefined8 local_4d8;
|
||||||
|
ulonglong local_4d0;
|
||||||
|
undefined2 local_4c0;
|
||||||
|
undefined6 uStack_4be;
|
||||||
|
undefined8 local_4b0;
|
||||||
|
ulonglong local_4a8;
|
||||||
|
undefined2 local_498;
|
||||||
|
undefined6 uStack_496;
|
||||||
|
undefined8 local_488;
|
||||||
|
ulonglong local_480;
|
||||||
|
wchar_t local_468;
|
||||||
|
undefined1 local_466 [526];
|
||||||
|
wchar_t local_258;
|
||||||
|
undefined1 local_256 [526];
|
||||||
|
ulonglong local_48;
|
||||||
|
|
||||||
|
local_5f8 = 0xfffffffffffffffe;
|
||||||
|
local_48 = DAT_14016f5a0 ^ (ulonglong)auStackY_678;
|
||||||
|
local_600 = param_5;
|
||||||
|
if (*(char *)(DAT_14017cf28 + 0x180) == '\0') {
|
||||||
|
printf("Not Active Server.!!! \n");
|
||||||
|
uVar5 = FUN_140011dd0(param_1 + -8,0,10,0xffffffff);
|
||||||
|
return uVar5 & 0xffffffffffffff00;
|
||||||
|
}
|
||||||
|
pwVar17 = (wchar_t *)0x0;
|
||||||
|
puVar13 = param_4;
|
||||||
|
if (*(longlong *)(DAT_14017cf38 + 0x58) != 0) {
|
||||||
|
for (puVar21 = *(undefined8 **)
|
||||||
|
(*(longlong *)(DAT_14017cf38 + 0x38) +
|
||||||
|
((ulonglong)(longlong)(int)param_2 % *(ulonglong *)(DAT_14017cf38 + 0x40)) * 8);
|
||||||
|
puVar21 != (undefined8 *)0x0; puVar21 = (undefined8 *)*puVar21) {
|
||||||
|
if (param_2 == *(uint *)(puVar21 + 1)) {
|
||||||
|
if ((puVar21 != (undefined8 *)0x0) && (lVar1 = puVar21[2], lVar1 != 0)) {
|
||||||
|
psVar14 = (short *)(lVar1 + 8);
|
||||||
|
if (7 < *(ulonglong *)(lVar1 + 0x20)) {
|
||||||
|
psVar14 = *(short **)psVar14;
|
||||||
|
}
|
||||||
|
puVar13 = (uint *)(ulonglong)*param_5;
|
||||||
|
FUN_1400124c0(param_1 + -8,psVar14,(ulonglong)*param_4,puVar13);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
local_538 = 0;
|
||||||
|
local_530 = 0;
|
||||||
|
local_52c = 0;
|
||||||
|
local_528 = 0;
|
||||||
|
local_520 = 0;
|
||||||
|
local_518 = 0;
|
||||||
|
local_4f8 = 7;
|
||||||
|
local_500 = 0;
|
||||||
|
local_510 = 0;
|
||||||
|
local_4d0 = 7;
|
||||||
|
local_4d8 = 0;
|
||||||
|
local_4e8 = 0;
|
||||||
|
local_4a8 = 7;
|
||||||
|
local_4b0 = 0;
|
||||||
|
local_4c0 = 0;
|
||||||
|
uVar3 = *param_5;
|
||||||
|
if (*(longlong *)(DAT_14017cf20 + 0x58) != 0) {
|
||||||
|
for (puVar21 = *(undefined8 **)
|
||||||
|
(*(longlong *)(DAT_14017cf20 + 0x38) +
|
||||||
|
((ulonglong)(longlong)(int)uVar3 % *(ulonglong *)(DAT_14017cf20 + 0x40)) * 8);
|
||||||
|
puVar21 != (undefined8 *)0x0; puVar21 = (undefined8 *)*puVar21) {
|
||||||
|
if (uVar3 == *(uint *)(puVar21 + 1)) {
|
||||||
|
if (((puVar21 != (undefined8 *)0x0) && (puVar21[2] != 0)) &&
|
||||||
|
(*(longlong *)(param_1 + 0x68) != 0)) {
|
||||||
|
puVar13 = (uint *)0x0;
|
||||||
|
FUN_14000ae50(*(longlong *)(param_1 + 0x68),0,0,0,(longlong)&local_4c0,*param_4,uVar3);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
puVar6 = (undefined *)(longlong)(int)*param_4;
|
||||||
|
switch(*param_4) {
|
||||||
|
case 4:
|
||||||
|
FUN_140034220(DAT_14017cf28);
|
||||||
|
pwVar15 = (wchar_t *)(DAT_14017cf28 + 0x30);
|
||||||
|
if (7 < *(ulonglong *)(DAT_14017cf28 + 0x48)) {
|
||||||
|
pwVar15 = *(wchar_t **)pwVar15;
|
||||||
|
}
|
||||||
|
puVar6 = (undefined *)FUN_14003a250(DAT_14017cf20,pwVar15);
|
||||||
|
if ((char)puVar6 == '\0') {
|
||||||
|
local_258 = L'\0';
|
||||||
|
memset(local_256,0,0x206);
|
||||||
|
local_468 = L'\0';
|
||||||
|
memset(local_466,0,0x206);
|
||||||
|
for (pcVar7 = *(char **)(DAT_14017cf50 + 8); pcVar7 != *(char **)(DAT_14017cf50 + 0x10);
|
||||||
|
pcVar7 = pcVar7 + 0x30) {
|
||||||
|
if (*pcVar7 == '\x18') {
|
||||||
|
pwVar17 = (wchar_t *)(pcVar7 + 8);
|
||||||
|
if (7 < *(ulonglong *)(pcVar7 + 0x20)) {
|
||||||
|
pwVar17 = *(wchar_t **)pwVar17;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
uVar16 = 0x104;
|
||||||
|
wcscpy_s(&local_258,0x104,pwVar17);
|
||||||
|
plVar8 = FUN_14003e430((longlong *)&local_618,uVar16,pwVar17,puVar13);
|
||||||
|
pwVar17 = (wchar_t *)*plVar8;
|
||||||
|
if ((wchar_t *)*plVar8 == (wchar_t *)0x0) {
|
||||||
|
pwVar17 = (wchar_t *)PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
uVar16 = 0x104;
|
||||||
|
pwVar15 = &local_468;
|
||||||
|
wcscpy_s(pwVar15,0x104,pwVar17);
|
||||||
|
if (((local_618 != (undefined *)0x0) && (local_618 != PTR_DAT_14016f010)) &&
|
||||||
|
(local_618 + -8 != (undefined *)0x0)) {
|
||||||
|
piVar9 = (int *)FUN_14003e7c0(pwVar15,uVar16,pwVar17,puVar13);
|
||||||
|
local_610 = piVar9;
|
||||||
|
FUN_14003d040(piVar9);
|
||||||
|
local_608 = 1;
|
||||||
|
piVar11 = (int *)(local_618 + -4);
|
||||||
|
*piVar11 = *piVar11 + -1;
|
||||||
|
if (*piVar11 == 0) {
|
||||||
|
FUN_14003e8b0(local_618 + -8);
|
||||||
|
}
|
||||||
|
FUN_14003d0d0((longlong)piVar9);
|
||||||
|
}
|
||||||
|
uVar5 = 0;
|
||||||
|
local_618 = PTR_DAT_14016f010;
|
||||||
|
memset(&local_5d8,0,0x68);
|
||||||
|
local_5d8.cb = 0x68;
|
||||||
|
local_5d8.dwFlags = 0x13;
|
||||||
|
local_5d8.dwXSize = 700;
|
||||||
|
local_5d8.dwYSize = 0x6e;
|
||||||
|
local_5d8.dwFillAttribute = 0x17;
|
||||||
|
local_5d8.wShowWindow = 5;
|
||||||
|
puVar13 = (uint *)0x0;
|
||||||
|
BVar2 = CreateProcessW((LPCWSTR)0x0,&local_258,(LPSECURITY_ATTRIBUTES)0x0,
|
||||||
|
(LPSECURITY_ATTRIBUTES)0x0,0,0x10,(LPVOID)0x0,&local_468,&local_5d8,
|
||||||
|
&local_5f0);
|
||||||
|
if (BVar2 == 0) {
|
||||||
|
local_550 = (ulonglong ****)0x7;
|
||||||
|
local_558 = (ulonglong ****)0x0;
|
||||||
|
local_568[0] = (ulonglong *****)((ulonglong)local_568[0] & 0xffffffffffff0000);
|
||||||
|
puVar21 = (undefined8 *)(DAT_14017cf28 + 0x30);
|
||||||
|
if (7 < *(ulonglong *)(DAT_14017cf28 + 0x48)) {
|
||||||
|
puVar21 = (undefined8 *)*puVar21;
|
||||||
|
}
|
||||||
|
pwVar17 = L"FAILED PATCH ON %s";
|
||||||
|
_Dst = (ulonglong ******)&local_498;
|
||||||
|
ppppppuVar10 = (ulonglong ******)
|
||||||
|
FUN_1400ed6f0((ulonglong *)_Dst,L"FAILED PATCH ON %s",puVar21,puVar13);
|
||||||
|
if (local_568 != ppppppuVar10) {
|
||||||
|
if ((ulonglong *****)0x7 < local_550) {
|
||||||
|
_Dst = (ulonglong ******)local_568[0];
|
||||||
|
operator_delete(local_568[0]);
|
||||||
|
}
|
||||||
|
local_550 = (ulonglong ****)0x7;
|
||||||
|
local_558 = (ulonglong ****)0x0;
|
||||||
|
local_568[0] = (ulonglong *****)((ulonglong)local_568[0] & 0xffffffffffff0000);
|
||||||
|
if (ppppppuVar10[3] < (ulonglong *****)0x8) {
|
||||||
|
puVar21 = (undefined8 *)(((longlong)ppppppuVar10[2] + 1U) * 2);
|
||||||
|
_Dst = local_568;
|
||||||
|
pwVar17 = (wchar_t *)ppppppuVar10;
|
||||||
|
memmove(_Dst,ppppppuVar10,(size_t)puVar21);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
local_568[0] = *ppppppuVar10;
|
||||||
|
*ppppppuVar10 = (ulonglong *****)0x0;
|
||||||
|
}
|
||||||
|
local_558 = (ulonglong ****)ppppppuVar10[2];
|
||||||
|
local_550 = (ulonglong ****)ppppppuVar10[3];
|
||||||
|
ppppppuVar10[3] = (ulonglong *****)0x7;
|
||||||
|
ppppppuVar10[2] = (ulonglong *****)0x0;
|
||||||
|
*(wchar_t *)ppppppuVar10 = L'\0';
|
||||||
|
}
|
||||||
|
if (7 < local_480) {
|
||||||
|
_Dst = (ulonglong ******)CONCAT62(uStack_496,local_498);
|
||||||
|
operator_delete(_Dst);
|
||||||
|
}
|
||||||
|
local_480 = 7;
|
||||||
|
local_488 = 0;
|
||||||
|
local_498 = 0;
|
||||||
|
ppppppuVar10 = local_568;
|
||||||
|
if ((ulonglong *****)0x7 < local_550) {
|
||||||
|
ppppppuVar10 = (ulonglong ******)local_568[0];
|
||||||
|
}
|
||||||
|
FUN_14003e7c0(_Dst,pwVar17,puVar21,puVar13);
|
||||||
|
local_628 = (uint *)PTR_DAT_14016f010;
|
||||||
|
uVar3 = FUN_14003e620((short *)ppppppuVar10);
|
||||||
|
if ((local_628 != (uint *)0x0) && (local_628 != (uint *)PTR_DAT_14016f010)) {
|
||||||
|
uVar5 = (ulonglong)local_628[-2];
|
||||||
|
}
|
||||||
|
uVar4 = uVar3;
|
||||||
|
if ((((int)uVar3 <= (int)uVar5) && (uVar4 = 0, local_628 != (uint *)0x0)) &&
|
||||||
|
(local_628 != (uint *)PTR_DAT_14016f010)) {
|
||||||
|
uVar4 = local_628[-2];
|
||||||
|
}
|
||||||
|
uVar19 = 1;
|
||||||
|
if (1 < (int)uVar4) {
|
||||||
|
uVar19 = uVar4;
|
||||||
|
}
|
||||||
|
uVar20 = (ulonglong)uVar19;
|
||||||
|
if (local_628 == (uint *)0x0) {
|
||||||
|
uVar4 = 0;
|
||||||
|
}
|
||||||
|
else if (local_628 == (uint *)PTR_DAT_14016f010) {
|
||||||
|
uVar4 = 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
uVar4 = local_628[-2];
|
||||||
|
}
|
||||||
|
if ((int)uVar4 < (int)uVar19) {
|
||||||
|
puVar12 = local_628;
|
||||||
|
if (local_628 == (uint *)0x0) {
|
||||||
|
puVar12 = (uint *)PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
local_628 = puVar12;
|
||||||
|
if ((int)uVar19 < 0) {
|
||||||
|
/* WARNING: Subroutine does not return */
|
||||||
|
FUN_14003dec0();
|
||||||
|
}
|
||||||
|
if (uVar19 == 0) {
|
||||||
|
local_628 = (uint *)PTR_DAT_14016f010;
|
||||||
|
if (((puVar12 != (uint *)0x0) && (puVar12 != (uint *)PTR_DAT_14016f010)) &&
|
||||||
|
(puVar12 + -2 != (uint *)0x0)) {
|
||||||
|
local_628 = puVar12;
|
||||||
|
piVar11 = (int *)FUN_14003e7c0(puVar12,PTR_DAT_14016f010,uVar5,puVar13);
|
||||||
|
local_610 = piVar11;
|
||||||
|
FUN_14003d040(piVar11);
|
||||||
|
local_608 = 1;
|
||||||
|
puVar13 = puVar12 + -1;
|
||||||
|
*puVar13 = *puVar13 - 1;
|
||||||
|
if (*puVar13 == 0) {
|
||||||
|
FUN_14003e8b0(puVar12 + -2);
|
||||||
|
}
|
||||||
|
FUN_14003d0d0((longlong)piVar11);
|
||||||
|
local_628 = (uint *)PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (puVar12 == (uint *)0x0) {
|
||||||
|
uVar4 = 0;
|
||||||
|
}
|
||||||
|
else if (puVar12 == (uint *)PTR_DAT_14016f010) {
|
||||||
|
uVar4 = 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
uVar4 = puVar12[-2];
|
||||||
|
}
|
||||||
|
if (uVar19 != uVar4) {
|
||||||
|
puVar12 = (uint *)FUN_14003e840((longlong)(int)uVar19 * 2 + 10);
|
||||||
|
if (puVar12 != (uint *)0x0) {
|
||||||
|
*puVar12 = 0;
|
||||||
|
puVar12[1] = 1;
|
||||||
|
}
|
||||||
|
*puVar12 = uVar19;
|
||||||
|
if (local_628 == (uint *)0x0) {
|
||||||
|
uVar4 = 0;
|
||||||
|
}
|
||||||
|
else if (local_628 == (uint *)PTR_DAT_14016f010) {
|
||||||
|
uVar4 = 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
uVar4 = local_628[-2];
|
||||||
|
}
|
||||||
|
puVar18 = (uint *)PTR_DAT_14016f010;
|
||||||
|
if ((int)uVar19 < (int)uVar4) {
|
||||||
|
LAB_1400160ca:
|
||||||
|
if (local_628 != (uint *)0x0) {
|
||||||
|
puVar18 = local_628;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (local_628 != (uint *)0x0) {
|
||||||
|
if (local_628 == (uint *)PTR_DAT_14016f010) {
|
||||||
|
uVar20 = 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
uVar20 = (ulonglong)local_628[-2];
|
||||||
|
}
|
||||||
|
goto LAB_1400160ca;
|
||||||
|
}
|
||||||
|
uVar20 = 0;
|
||||||
|
}
|
||||||
|
FUN_14003e650(puVar12 + 2,puVar18,(int)uVar20);
|
||||||
|
FUN_140002190((longlong *)&local_628,puVar18,uVar20,puVar13);
|
||||||
|
local_628 = puVar12 + 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
FUN_140001df0((longlong *)&local_628);
|
||||||
|
puVar13 = local_628;
|
||||||
|
if (local_628 == (uint *)0x0) {
|
||||||
|
puVar13 = (uint *)PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
FUN_14003e650(puVar13,ppppppuVar10,uVar3);
|
||||||
|
puVar13 = local_628;
|
||||||
|
if (local_628 == (uint *)0x0) {
|
||||||
|
puVar13 = (uint *)PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
uVar4 = FUN_14003e620((short *)puVar13);
|
||||||
|
uVar19 = 0;
|
||||||
|
uVar3 = 0;
|
||||||
|
if (0 < (int)uVar4) {
|
||||||
|
uVar3 = uVar4;
|
||||||
|
}
|
||||||
|
uVar4 = uVar19;
|
||||||
|
if ((local_628 != (uint *)0x0) && (local_628 != (uint *)PTR_DAT_14016f010)) {
|
||||||
|
uVar4 = local_628[-2];
|
||||||
|
}
|
||||||
|
if (((int)uVar3 < (int)uVar4) || (uVar3 = uVar19, local_628 == (uint *)0x0)) {
|
||||||
|
LAB_140016161:
|
||||||
|
if (((local_628 != (uint *)PTR_DAT_14016f010) && (local_628 != (uint *)0x0)) &&
|
||||||
|
(local_628 + -2 != (uint *)0x0)) {
|
||||||
|
local_628[-2] = uVar3;
|
||||||
|
*(undefined2 *)((longlong)local_628 + (longlong)(int)uVar3 * 2) = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (local_628 != (uint *)PTR_DAT_14016f010) {
|
||||||
|
uVar3 = local_628[-2];
|
||||||
|
goto LAB_140016161;
|
||||||
|
}
|
||||||
|
local_620[0] = 2;
|
||||||
|
plVar8 = (longlong *)(param_1 + 0x40);
|
||||||
|
puVar13 = local_620;
|
||||||
|
puVar6 = &DAT_14016f5d0;
|
||||||
|
uVar5 = (ulonglong)param_2;
|
||||||
|
(**(code **)(*plVar8 + 0xd0))();
|
||||||
|
puVar12 = local_628;
|
||||||
|
if (((local_628 != (uint *)0x0) && (local_628 != (uint *)PTR_DAT_14016f010)) &&
|
||||||
|
(puVar18 = local_628 + -2, puVar18 != (uint *)0x0)) {
|
||||||
|
piVar11 = (int *)FUN_14003e7c0(plVar8,uVar5,puVar6,puVar13);
|
||||||
|
local_610 = piVar11;
|
||||||
|
FUN_14003d040(piVar11);
|
||||||
|
local_608 = 1;
|
||||||
|
puVar12 = puVar12 + -1;
|
||||||
|
*puVar12 = *puVar12 - 1;
|
||||||
|
if (*puVar12 == 0) {
|
||||||
|
FUN_14003e8b0(puVar18);
|
||||||
|
}
|
||||||
|
FUN_14003d0d0((longlong)piVar11);
|
||||||
|
}
|
||||||
|
local_628 = (uint *)PTR_DAT_14016f010;
|
||||||
|
puVar6 = PTR_DAT_14016f010;
|
||||||
|
param_5 = local_600;
|
||||||
|
if ((ulonglong *****)0x7 < local_550) {
|
||||||
|
operator_delete(local_568[0]);
|
||||||
|
puVar6 = extraout_RAX;
|
||||||
|
param_5 = local_600;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
BVar2 = CloseHandle(local_5f0.hThread);
|
||||||
|
puVar6 = (undefined *)CONCAT44(extraout_var,BVar2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case 0:
|
||||||
|
case 1:
|
||||||
|
case 2:
|
||||||
|
case 3:
|
||||||
|
case 5:
|
||||||
|
case 6:
|
||||||
|
case 7:
|
||||||
|
case 0xd:
|
||||||
|
if (*(longlong *)(param_1 + 0x70) != 0) {
|
||||||
|
puVar6 = (undefined *)
|
||||||
|
FUN_14000cb70(*(longlong *)(param_1 + 0x70),*param_4,(ulonglong)*param_5,
|
||||||
|
(longlong)puVar13);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0xc:
|
||||||
|
puVar6 = *(undefined **)(param_1 + 0x70);
|
||||||
|
puVar6[0x9c] = 1;
|
||||||
|
}
|
||||||
|
if (7 < local_4a8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_4be,local_4c0));
|
||||||
|
puVar6 = extraout_RAX_00;
|
||||||
|
}
|
||||||
|
local_4a8 = 7;
|
||||||
|
local_4b0 = 0;
|
||||||
|
local_4c0 = 0;
|
||||||
|
if (7 < local_4d0) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_4e6,local_4e8));
|
||||||
|
puVar6 = extraout_RAX_01;
|
||||||
|
}
|
||||||
|
local_4d0 = 7;
|
||||||
|
local_4d8 = 0;
|
||||||
|
local_4e8 = 0;
|
||||||
|
if (7 < local_4f8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_50e,local_510));
|
||||||
|
puVar6 = extraout_RAX_02;
|
||||||
|
}
|
||||||
|
return CONCAT71((int7)((ulonglong)puVar6 >> 8),1);
|
||||||
|
}
|
||||||
|
|
||||||
169
decomp/AgentManager_Release_x64/0x1400169c0.pseudo.c
Normal file
169
decomp/AgentManager_Release_x64/0x1400169c0.pseudo.c
Normal file
|
|
@ -0,0 +1,169 @@
|
||||||
|
|
||||||
|
undefined8 FUN_1400169c0(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
uint uVar1;
|
||||||
|
uint uVar2;
|
||||||
|
uint uVar3;
|
||||||
|
ulonglong uVar4;
|
||||||
|
int *piVar5;
|
||||||
|
uint *puVar6;
|
||||||
|
uint *puVar7;
|
||||||
|
longlong *plVar8;
|
||||||
|
uint *puVar9;
|
||||||
|
uint uVar10;
|
||||||
|
undefined *puVar11;
|
||||||
|
uint **ppuVar12;
|
||||||
|
uint uVar13;
|
||||||
|
uint *local_38;
|
||||||
|
undefined8 local_30;
|
||||||
|
int *local_28;
|
||||||
|
undefined1 local_20;
|
||||||
|
|
||||||
|
local_30 = 0xfffffffffffffffe;
|
||||||
|
if (*(char *)(DAT_14017cf28 + 0x180) == '\0') {
|
||||||
|
printf("Not Active Server.!!! \n");
|
||||||
|
uVar4 = FUN_140011dd0(param_1 + -8,0,10,0xffffffff);
|
||||||
|
return uVar4 & 0xffffffffffffff00;
|
||||||
|
}
|
||||||
|
puVar7 = param_4;
|
||||||
|
FUN_14003e7c0(param_1,param_2,param_3,param_4);
|
||||||
|
local_38 = (uint *)PTR_DAT_14016f010;
|
||||||
|
uVar1 = FUN_14003e620(L"serveron");
|
||||||
|
uVar13 = 0;
|
||||||
|
uVar3 = 0;
|
||||||
|
uVar4 = 0;
|
||||||
|
if ((local_38 != (uint *)0x0) && (uVar4 = 0, local_38 != (uint *)PTR_DAT_14016f010)) {
|
||||||
|
uVar4 = (ulonglong)local_38[-2];
|
||||||
|
}
|
||||||
|
uVar2 = uVar1;
|
||||||
|
if ((((int)uVar1 <= (int)uVar4) && (uVar2 = uVar3, local_38 != (uint *)0x0)) &&
|
||||||
|
(local_38 != (uint *)PTR_DAT_14016f010)) {
|
||||||
|
uVar2 = local_38[-2];
|
||||||
|
}
|
||||||
|
uVar10 = 1;
|
||||||
|
if (1 < (int)uVar2) {
|
||||||
|
uVar10 = uVar2;
|
||||||
|
}
|
||||||
|
uVar2 = uVar3;
|
||||||
|
if ((local_38 != (uint *)0x0) && (local_38 != (uint *)PTR_DAT_14016f010)) {
|
||||||
|
uVar2 = local_38[-2];
|
||||||
|
}
|
||||||
|
if ((int)uVar2 < (int)uVar10) {
|
||||||
|
puVar6 = local_38;
|
||||||
|
if (local_38 == (uint *)0x0) {
|
||||||
|
puVar6 = (uint *)PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
local_38 = puVar6;
|
||||||
|
if ((int)uVar10 < 0) {
|
||||||
|
/* WARNING: Subroutine does not return */
|
||||||
|
FUN_14003dec0();
|
||||||
|
}
|
||||||
|
if (uVar10 == 0) {
|
||||||
|
local_38 = (uint *)PTR_DAT_14016f010;
|
||||||
|
if (((puVar6 != (uint *)0x0) && (puVar6 != (uint *)PTR_DAT_14016f010)) &&
|
||||||
|
(puVar6 + -2 != (uint *)0x0)) {
|
||||||
|
local_38 = puVar6;
|
||||||
|
piVar5 = (int *)FUN_14003e7c0(puVar6,PTR_DAT_14016f010,uVar4,puVar7);
|
||||||
|
local_28 = piVar5;
|
||||||
|
FUN_14003d040(piVar5);
|
||||||
|
local_20 = 1;
|
||||||
|
puVar7 = puVar6 + -1;
|
||||||
|
*puVar7 = *puVar7 - 1;
|
||||||
|
if (*puVar7 == 0) {
|
||||||
|
FUN_14003e8b0(puVar6 + -2);
|
||||||
|
}
|
||||||
|
FUN_14003d0d0((longlong)piVar5);
|
||||||
|
local_38 = (uint *)PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
uVar2 = uVar3;
|
||||||
|
if ((puVar6 != (uint *)0x0) && (puVar6 != (uint *)PTR_DAT_14016f010)) {
|
||||||
|
uVar2 = puVar6[-2];
|
||||||
|
}
|
||||||
|
if (uVar10 != uVar2) {
|
||||||
|
puVar6 = (uint *)FUN_14003e840((longlong)(int)uVar10 * 2 + 10);
|
||||||
|
if (puVar6 != (uint *)0x0) {
|
||||||
|
*puVar6 = 0;
|
||||||
|
puVar6[1] = 1;
|
||||||
|
}
|
||||||
|
*puVar6 = uVar10;
|
||||||
|
uVar2 = uVar3;
|
||||||
|
if ((local_38 != (uint *)0x0) && (local_38 != (uint *)PTR_DAT_14016f010)) {
|
||||||
|
uVar2 = local_38[-2];
|
||||||
|
}
|
||||||
|
puVar9 = (uint *)PTR_DAT_14016f010;
|
||||||
|
if ((int)uVar10 < (int)uVar2) {
|
||||||
|
LAB_140016b65:
|
||||||
|
if (local_38 != (uint *)0x0) {
|
||||||
|
puVar9 = local_38;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
uVar10 = uVar3;
|
||||||
|
if (local_38 != (uint *)0x0) {
|
||||||
|
if (local_38 != (uint *)PTR_DAT_14016f010) {
|
||||||
|
uVar10 = local_38[-2];
|
||||||
|
}
|
||||||
|
goto LAB_140016b65;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
uVar4 = (ulonglong)uVar10;
|
||||||
|
FUN_14003e650(puVar6 + 2,puVar9,uVar10);
|
||||||
|
FUN_140002190((longlong *)&local_38,puVar9,uVar4,puVar7);
|
||||||
|
local_38 = puVar6 + 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
FUN_140001df0((longlong *)&local_38);
|
||||||
|
puVar7 = local_38;
|
||||||
|
if (local_38 == (uint *)0x0) {
|
||||||
|
puVar7 = (uint *)PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
FUN_14003e650(puVar7,L"serveron",uVar1);
|
||||||
|
puVar7 = local_38;
|
||||||
|
if (local_38 == (uint *)0x0) {
|
||||||
|
puVar7 = (uint *)PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
uVar3 = FUN_14003e620((short *)puVar7);
|
||||||
|
uVar1 = uVar13;
|
||||||
|
if (0 < (int)uVar3) {
|
||||||
|
uVar1 = uVar3;
|
||||||
|
}
|
||||||
|
uVar3 = uVar13;
|
||||||
|
if ((local_38 != (uint *)0x0) && (local_38 != (uint *)PTR_DAT_14016f010)) {
|
||||||
|
uVar3 = local_38[-2];
|
||||||
|
}
|
||||||
|
if (((int)uVar3 <= (int)uVar1) && (uVar1 = uVar13, local_38 != (uint *)0x0)) {
|
||||||
|
if (local_38 == (uint *)PTR_DAT_14016f010) goto LAB_140016c1f;
|
||||||
|
uVar1 = local_38[-2];
|
||||||
|
}
|
||||||
|
if (((local_38 != (uint *)PTR_DAT_14016f010) && (local_38 != (uint *)0x0)) &&
|
||||||
|
(local_38 + -2 != (uint *)0x0)) {
|
||||||
|
local_38[-2] = uVar1;
|
||||||
|
*(undefined2 *)((longlong)local_38 + (longlong)(int)uVar1 * 2) = 0;
|
||||||
|
}
|
||||||
|
LAB_140016c1f:
|
||||||
|
plVar8 = (longlong *)(*(longlong *)(param_1 + 0x70) + 0x48);
|
||||||
|
ppuVar12 = &local_38;
|
||||||
|
puVar11 = &DAT_14016f5d0;
|
||||||
|
uVar4 = (ulonglong)*param_4;
|
||||||
|
(**(code **)(*plVar8 + 0xd0))();
|
||||||
|
puVar7 = local_38;
|
||||||
|
if (((local_38 != (uint *)0x0) && (local_38 != (uint *)PTR_DAT_14016f010)) &&
|
||||||
|
(puVar6 = local_38 + -2, puVar6 != (uint *)0x0)) {
|
||||||
|
piVar5 = (int *)FUN_14003e7c0(plVar8,uVar4,puVar11,ppuVar12);
|
||||||
|
local_28 = piVar5;
|
||||||
|
FUN_14003d040(piVar5);
|
||||||
|
local_20 = 1;
|
||||||
|
puVar7 = puVar7 + -1;
|
||||||
|
*puVar7 = *puVar7 - 1;
|
||||||
|
if (*puVar7 == 0) {
|
||||||
|
FUN_14003e8b0(puVar6);
|
||||||
|
}
|
||||||
|
local_38 = (uint *)FUN_14003d0d0((longlong)piVar5);
|
||||||
|
}
|
||||||
|
return CONCAT71((int7)((ulonglong)local_38 >> 8),1);
|
||||||
|
}
|
||||||
|
|
||||||
26
decomp/AgentManager_Release_x64/0x14001d850.pseudo.c
Normal file
26
decomp/AgentManager_Release_x64/0x14001d850.pseudo.c
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
|
||||||
|
undefined4 FUN_14001d850(undefined8 *param_1)
|
||||||
|
|
||||||
|
{
|
||||||
|
DWORD DVar1;
|
||||||
|
uint extraout_EAX;
|
||||||
|
HANDLE pvVar2;
|
||||||
|
wchar_t *_Format;
|
||||||
|
|
||||||
|
pvVar2 = CreateMutexW((LPSECURITY_ATTRIBUTES)0x0,1,L"Global\\RustyHearts_AgentManager");
|
||||||
|
*param_1 = pvVar2;
|
||||||
|
DVar1 = GetLastError();
|
||||||
|
if (DVar1 == 5) {
|
||||||
|
_Format = L"ERROR_ACCESS_DENIED!!! %s \n";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (DVar1 != 0xb7) {
|
||||||
|
return CONCAT31((int3)(DVar1 >> 8),1);
|
||||||
|
}
|
||||||
|
_Format = L"ERROR_ALREADY_EXISTS!!! %s \n";
|
||||||
|
}
|
||||||
|
wprintf(_Format);
|
||||||
|
Sleep(3000);
|
||||||
|
return extraout_EAX & 0xffffff00;
|
||||||
|
}
|
||||||
|
|
||||||
1584
decomp/AgentManager_Release_x64/0x140026520.pseudo.c
Normal file
1584
decomp/AgentManager_Release_x64/0x140026520.pseudo.c
Normal file
File diff suppressed because it is too large
Load diff
1624
decomp/AgentManager_Release_x64/0x14002c3c0.pseudo.c
Normal file
1624
decomp/AgentManager_Release_x64/0x14002c3c0.pseudo.c
Normal file
File diff suppressed because it is too large
Load diff
235
decomp/AgentManager_Release_x64/0x14002fe40.pseudo.c
Normal file
235
decomp/AgentManager_Release_x64/0x14002fe40.pseudo.c
Normal file
|
|
@ -0,0 +1,235 @@
|
||||||
|
|
||||||
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||||
|
/* WARNING: Type propagation algorithm not settling */
|
||||||
|
|
||||||
|
undefined8 FUN_14002fe40(longlong param_1,undefined4 *param_2)
|
||||||
|
|
||||||
|
{
|
||||||
|
short sVar1;
|
||||||
|
char cVar2;
|
||||||
|
int iVar3;
|
||||||
|
undefined **ppuVar4;
|
||||||
|
undefined **extraout_RAX;
|
||||||
|
longlong lVar5;
|
||||||
|
undefined **extraout_RAX_00;
|
||||||
|
ulonglong uVar6;
|
||||||
|
longlong lVar7;
|
||||||
|
longlong lVar8;
|
||||||
|
short *psVar9;
|
||||||
|
char *******pppppppcVar10;
|
||||||
|
char *pcVar11;
|
||||||
|
longlong *plVar12;
|
||||||
|
short *psVar13;
|
||||||
|
char *pcVar14;
|
||||||
|
bool bVar15;
|
||||||
|
undefined1 auStack_128 [32];
|
||||||
|
undefined **local_108 [5];
|
||||||
|
longlong *local_e0;
|
||||||
|
undefined8 *local_d0;
|
||||||
|
void *local_c8;
|
||||||
|
uint local_ac;
|
||||||
|
undefined8 *local_a8;
|
||||||
|
void *local_a0;
|
||||||
|
undefined8 local_88;
|
||||||
|
char *******local_80 [3];
|
||||||
|
ulonglong local_68;
|
||||||
|
WCHAR local_58;
|
||||||
|
undefined6 uStack_56;
|
||||||
|
undefined8 local_48;
|
||||||
|
ulonglong local_40;
|
||||||
|
ulonglong local_30;
|
||||||
|
|
||||||
|
local_88 = 0xfffffffffffffffe;
|
||||||
|
local_30 = DAT_14016f5a0 ^ (ulonglong)auStack_128;
|
||||||
|
*(undefined4 *)(param_1 + 0x140) = *param_2;
|
||||||
|
*(undefined1 *)(param_1 + 0x1e8) = *(undefined1 *)(param_2 + 3);
|
||||||
|
FUN_140001630((longlong *)(param_1 + 8),(longlong *)(param_2 + 0x1e),0,0xffffffffffffffff);
|
||||||
|
FUN_140001630((longlong *)(param_1 + 0x30),(longlong *)(param_2 + 10),0,0xffffffffffffffff);
|
||||||
|
FUN_140001630((longlong *)(param_1 + 0x58),(longlong *)(param_2 + 0x14),0,0xffffffffffffffff);
|
||||||
|
*(undefined4 *)(param_1 + 0x80) = param_2[4];
|
||||||
|
*(undefined4 *)(param_1 + 0x84) = param_2[5];
|
||||||
|
*(undefined4 *)(param_1 + 0x88) = param_2[6];
|
||||||
|
*(undefined4 *)(param_1 + 0x8c) = param_2[7];
|
||||||
|
psVar9 = (short *)&DAT_1401750b0;
|
||||||
|
if (7 < DAT_1401750c8) {
|
||||||
|
psVar9 = DAT_1401750b0;
|
||||||
|
}
|
||||||
|
local_40 = 7;
|
||||||
|
lVar5 = 0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_58 = L'\0';
|
||||||
|
uVar6 = 0xffffffffffffffff;
|
||||||
|
psVar13 = psVar9;
|
||||||
|
do {
|
||||||
|
if (uVar6 == 0) break;
|
||||||
|
uVar6 = uVar6 - 1;
|
||||||
|
sVar1 = *psVar13;
|
||||||
|
psVar13 = psVar13 + 1;
|
||||||
|
} while (sVar1 != 0);
|
||||||
|
FUN_140001710((ulonglong *)&local_58,psVar9,~uVar6 - 1);
|
||||||
|
FUN_1400ed7b0((ulonglong *)local_80,&local_58);
|
||||||
|
if (7 < local_40) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_56,local_58));
|
||||||
|
}
|
||||||
|
local_40 = 7;
|
||||||
|
local_48 = 0;
|
||||||
|
local_58 = L'\0';
|
||||||
|
pppppppcVar10 = (char *******)local_80;
|
||||||
|
if (0xf < local_68) {
|
||||||
|
pppppppcVar10 = local_80[0];
|
||||||
|
}
|
||||||
|
FUN_14001f6d0(local_108,(char *)pppppppcVar10);
|
||||||
|
DAT_140174c28 = 0;
|
||||||
|
uVar6 = FUN_14001f7a0((longlong *)local_108,(char *)(local_d0 + 2));
|
||||||
|
plVar12 = local_e0;
|
||||||
|
if ((char)uVar6 == '\0') {
|
||||||
|
pppppppcVar10 = (char *******)local_80;
|
||||||
|
if (0xf < local_68) {
|
||||||
|
pppppppcVar10 = local_80[0];
|
||||||
|
}
|
||||||
|
FUN_14001e070("Error File Name %s : %d - %s",pppppppcVar10,(ulonglong)local_ac,local_a8 + 2);
|
||||||
|
local_108[0] = TiXmlDocument::vftable;
|
||||||
|
if (local_a8 != &DAT_14017ce88) {
|
||||||
|
operator_delete__(local_a0);
|
||||||
|
}
|
||||||
|
local_108[0] = TiXmlNode::vftable;
|
||||||
|
while (local_e0 != (longlong *)0x0) {
|
||||||
|
plVar12 = (longlong *)local_e0[10];
|
||||||
|
(**(code **)*local_e0)(local_e0,1);
|
||||||
|
local_e0 = plVar12;
|
||||||
|
}
|
||||||
|
if (local_d0 != &DAT_14017ce88) {
|
||||||
|
operator_delete__(local_c8);
|
||||||
|
}
|
||||||
|
ppuVar4 = TiXmlBase::vftable;
|
||||||
|
local_108[0] = TiXmlBase::vftable;
|
||||||
|
if (0xf < local_68) {
|
||||||
|
operator_delete(local_80[0]);
|
||||||
|
ppuVar4 = extraout_RAX;
|
||||||
|
}
|
||||||
|
return (ulonglong)ppuVar4 & 0xffffffffffffff00;
|
||||||
|
}
|
||||||
|
for (; plVar12 != (longlong *)0x0; plVar12 = (longlong *)plVar12[10]) {
|
||||||
|
bVar15 = (char *)(plVar12[7] + 0x10) == (char *)0x0;
|
||||||
|
lVar7 = 3;
|
||||||
|
pcVar11 = (char *)(plVar12[7] + 0x10);
|
||||||
|
pcVar14 = "db";
|
||||||
|
do {
|
||||||
|
if (lVar7 == 0) break;
|
||||||
|
lVar7 = lVar7 + -1;
|
||||||
|
bVar15 = *pcVar11 == *pcVar14;
|
||||||
|
pcVar11 = pcVar11 + 1;
|
||||||
|
pcVar14 = pcVar14 + 1;
|
||||||
|
} while (bVar15);
|
||||||
|
if (bVar15) goto LAB_140030083;
|
||||||
|
}
|
||||||
|
LAB_1400300c0:
|
||||||
|
cVar2 = *(char *)(param_1 + 0x1e8);
|
||||||
|
if (cVar2 == '\x05') {
|
||||||
|
*(undefined4 *)(param_1 + 0x158) = 1;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (cVar2 == '\f') {
|
||||||
|
if (lVar5 == 0) goto LAB_140030257;
|
||||||
|
pcVar11 = "game";
|
||||||
|
}
|
||||||
|
else if (cVar2 == '\x11') {
|
||||||
|
if (lVar5 == 0) goto LAB_140030257;
|
||||||
|
pcVar11 = "log";
|
||||||
|
}
|
||||||
|
else if (cVar2 == '\x12') {
|
||||||
|
if (lVar5 == 0) goto LAB_140030257;
|
||||||
|
pcVar11 = "chat";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if ((cVar2 != '\x13') || (lVar5 == 0)) goto LAB_140030257;
|
||||||
|
pcVar11 = "emergency";
|
||||||
|
}
|
||||||
|
lVar5 = FUN_14001ee20(lVar5,(longlong)pcVar11);
|
||||||
|
if (lVar5 != 0) {
|
||||||
|
lVar7 = FUN_14001ee20(lVar5,0x140133c50);
|
||||||
|
if (lVar7 != 0) {
|
||||||
|
FUN_140033470((ulonglong *)(param_1 + 0x90),(int *)(param_1 + 0x130),lVar7);
|
||||||
|
}
|
||||||
|
lVar7 = FUN_14001ee20(lVar5,0x140133c5c);
|
||||||
|
if (lVar7 != 0) {
|
||||||
|
FUN_140033470((ulonglong *)(param_1 + 0xb8),(int *)(param_1 + 0x134),lVar7);
|
||||||
|
}
|
||||||
|
lVar7 = FUN_14001ee20(lVar5,0x140133c68);
|
||||||
|
if (lVar7 != 0) {
|
||||||
|
FUN_140033470((ulonglong *)(param_1 + 0xe0),(int *)(param_1 + 0x138),lVar7);
|
||||||
|
}
|
||||||
|
lVar7 = FUN_14001ee20(lVar5,0x140133c70);
|
||||||
|
if (lVar7 != 0) {
|
||||||
|
FUN_140033470((ulonglong *)(param_1 + 0x108),(int *)(param_1 + 0x13c),lVar7);
|
||||||
|
}
|
||||||
|
lVar5 = FUN_14001ee20(lVar5,0x140133c78);
|
||||||
|
if (lVar5 != 0) {
|
||||||
|
for (lVar7 = *(longlong *)(lVar5 + 0xa0); lVar7 != lVar5 + 0x58;
|
||||||
|
lVar7 = *(longlong *)(lVar7 + 0x48)) {
|
||||||
|
pcVar11 = (char *)(*(longlong *)(lVar7 + 0x20) + 0x10);
|
||||||
|
bVar15 = pcVar11 == (char *)0x0;
|
||||||
|
lVar8 = 6;
|
||||||
|
pcVar14 = "count";
|
||||||
|
do {
|
||||||
|
if (lVar8 == 0) break;
|
||||||
|
lVar8 = lVar8 + -1;
|
||||||
|
bVar15 = *pcVar11 == *pcVar14;
|
||||||
|
pcVar11 = pcVar11 + 1;
|
||||||
|
pcVar14 = pcVar14 + 1;
|
||||||
|
} while (bVar15);
|
||||||
|
if (bVar15) {
|
||||||
|
pcVar11 = (char *)(*(longlong *)(lVar7 + 0x30) + 0x10);
|
||||||
|
if (pcVar11 != (char *)0x0) {
|
||||||
|
iVar3 = atoi(pcVar11);
|
||||||
|
*(int *)(param_1 + 0x14c) = iVar3;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
LAB_140030257:
|
||||||
|
local_108[0] = TiXmlDocument::vftable;
|
||||||
|
if (local_a8 != &DAT_14017ce88) {
|
||||||
|
operator_delete__(local_a0);
|
||||||
|
}
|
||||||
|
local_108[0] = TiXmlNode::vftable;
|
||||||
|
while (local_e0 != (longlong *)0x0) {
|
||||||
|
plVar12 = (longlong *)local_e0[10];
|
||||||
|
(**(code **)*local_e0)(local_e0,1);
|
||||||
|
local_e0 = plVar12;
|
||||||
|
}
|
||||||
|
if (local_d0 != &DAT_14017ce88) {
|
||||||
|
operator_delete__(local_c8);
|
||||||
|
}
|
||||||
|
ppuVar4 = TiXmlBase::vftable;
|
||||||
|
local_108[0] = TiXmlBase::vftable;
|
||||||
|
if (0xf < local_68) {
|
||||||
|
operator_delete(local_80[0]);
|
||||||
|
ppuVar4 = extraout_RAX_00;
|
||||||
|
}
|
||||||
|
return CONCAT71((int7)((ulonglong)ppuVar4 >> 8),1);
|
||||||
|
LAB_140030083:
|
||||||
|
while (lVar7 = (**(code **)(*plVar12 + 0x30))(plVar12), lVar7 == 0) {
|
||||||
|
do {
|
||||||
|
plVar12 = (longlong *)plVar12[10];
|
||||||
|
if (plVar12 == (longlong *)0x0) goto LAB_1400300c0;
|
||||||
|
bVar15 = (char *)(plVar12[7] + 0x10) == (char *)0x0;
|
||||||
|
lVar7 = 3;
|
||||||
|
pcVar11 = (char *)(plVar12[7] + 0x10);
|
||||||
|
pcVar14 = "db";
|
||||||
|
do {
|
||||||
|
if (lVar7 == 0) break;
|
||||||
|
lVar7 = lVar7 + -1;
|
||||||
|
bVar15 = *pcVar11 == *pcVar14;
|
||||||
|
pcVar11 = pcVar11 + 1;
|
||||||
|
pcVar14 = pcVar14 + 1;
|
||||||
|
} while (bVar15);
|
||||||
|
} while (!bVar15);
|
||||||
|
}
|
||||||
|
lVar5 = (**(code **)(*plVar12 + 0x30))(plVar12);
|
||||||
|
goto LAB_1400300c0;
|
||||||
|
}
|
||||||
|
|
||||||
223
decomp/AgentManager_Release_x64/0x140032f70.pseudo.c
Normal file
223
decomp/AgentManager_Release_x64/0x140032f70.pseudo.c
Normal file
|
|
@ -0,0 +1,223 @@
|
||||||
|
|
||||||
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||||
|
/* WARNING: Type propagation algorithm not settling */
|
||||||
|
|
||||||
|
ulonglong FUN_140032f70(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
short sVar1;
|
||||||
|
longlong lVar2;
|
||||||
|
undefined **ppuVar3;
|
||||||
|
undefined **extraout_RAX;
|
||||||
|
undefined **extraout_RAX_00;
|
||||||
|
ulonglong uVar4;
|
||||||
|
longlong lVar5;
|
||||||
|
short *psVar6;
|
||||||
|
char *******pppppppcVar7;
|
||||||
|
longlong *plVar8;
|
||||||
|
char *pcVar9;
|
||||||
|
short *psVar10;
|
||||||
|
char *pcVar11;
|
||||||
|
bool bVar12;
|
||||||
|
undefined1 auStack_118 [32];
|
||||||
|
undefined **local_f8 [5];
|
||||||
|
longlong *local_d0;
|
||||||
|
undefined8 *local_c0;
|
||||||
|
void *local_b8;
|
||||||
|
uint local_9c;
|
||||||
|
undefined8 *local_98;
|
||||||
|
void *local_90;
|
||||||
|
undefined8 local_78;
|
||||||
|
char *******local_70 [3];
|
||||||
|
ulonglong local_58;
|
||||||
|
WCHAR local_48;
|
||||||
|
undefined6 uStack_46;
|
||||||
|
undefined8 local_38;
|
||||||
|
ulonglong local_30;
|
||||||
|
ulonglong local_20;
|
||||||
|
|
||||||
|
local_78 = 0xfffffffffffffffe;
|
||||||
|
local_20 = DAT_14016f5a0 ^ (ulonglong)auStack_118;
|
||||||
|
psVar6 = (short *)&DAT_1401750b0;
|
||||||
|
if (7 < DAT_1401750c8) {
|
||||||
|
psVar6 = DAT_1401750b0;
|
||||||
|
}
|
||||||
|
local_30 = 7;
|
||||||
|
local_38 = 0;
|
||||||
|
local_48 = L'\0';
|
||||||
|
uVar4 = 0xffffffffffffffff;
|
||||||
|
psVar10 = psVar6;
|
||||||
|
do {
|
||||||
|
if (uVar4 == 0) break;
|
||||||
|
uVar4 = uVar4 - 1;
|
||||||
|
sVar1 = *psVar10;
|
||||||
|
psVar10 = psVar10 + 1;
|
||||||
|
} while (sVar1 != 0);
|
||||||
|
FUN_140001710((ulonglong *)&local_48,psVar6,~uVar4 - 1);
|
||||||
|
FUN_1400ed7b0((ulonglong *)local_70,&local_48);
|
||||||
|
if (7 < local_30) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_46,local_48));
|
||||||
|
}
|
||||||
|
local_30 = 7;
|
||||||
|
local_38 = 0;
|
||||||
|
local_48 = L'\0';
|
||||||
|
pppppppcVar7 = (char *******)local_70;
|
||||||
|
if (0xf < local_58) {
|
||||||
|
pppppppcVar7 = local_70[0];
|
||||||
|
}
|
||||||
|
FUN_14001f6d0(local_f8,(char *)pppppppcVar7);
|
||||||
|
DAT_140174c28 = 0;
|
||||||
|
uVar4 = FUN_14001f7a0((longlong *)local_f8,(char *)(local_c0 + 2));
|
||||||
|
plVar8 = local_d0;
|
||||||
|
if ((char)uVar4 == '\0') {
|
||||||
|
FUN_14001e070("Error : %d - %s",(ulonglong)local_9c,local_98 + 2,param_4);
|
||||||
|
local_f8[0] = TiXmlDocument::vftable;
|
||||||
|
if (local_98 != &DAT_14017ce88) {
|
||||||
|
operator_delete__(local_90);
|
||||||
|
}
|
||||||
|
local_f8[0] = TiXmlNode::vftable;
|
||||||
|
while (local_d0 != (longlong *)0x0) {
|
||||||
|
plVar8 = (longlong *)local_d0[10];
|
||||||
|
(**(code **)*local_d0)(local_d0,1);
|
||||||
|
local_d0 = plVar8;
|
||||||
|
}
|
||||||
|
if (local_c0 != &DAT_14017ce88) {
|
||||||
|
operator_delete__(local_b8);
|
||||||
|
}
|
||||||
|
goto LAB_140033434;
|
||||||
|
}
|
||||||
|
for (; plVar8 != (longlong *)0x0; plVar8 = (longlong *)plVar8[10]) {
|
||||||
|
bVar12 = (char *)(plVar8[7] + 0x10) == (char *)0x0;
|
||||||
|
lVar5 = 3;
|
||||||
|
pcVar9 = (char *)(plVar8[7] + 0x10);
|
||||||
|
pcVar11 = "db";
|
||||||
|
do {
|
||||||
|
if (lVar5 == 0) break;
|
||||||
|
lVar5 = lVar5 + -1;
|
||||||
|
bVar12 = *pcVar9 == *pcVar11;
|
||||||
|
pcVar9 = pcVar9 + 1;
|
||||||
|
pcVar11 = pcVar11 + 1;
|
||||||
|
} while (bVar12);
|
||||||
|
if (bVar12) goto LAB_140033126;
|
||||||
|
}
|
||||||
|
LAB_1400333c8:
|
||||||
|
local_f8[0] = TiXmlDocument::vftable;
|
||||||
|
if (local_98 != &DAT_14017ce88) {
|
||||||
|
operator_delete__(local_90);
|
||||||
|
}
|
||||||
|
local_f8[0] = TiXmlNode::vftable;
|
||||||
|
while (local_d0 != (longlong *)0x0) {
|
||||||
|
plVar8 = (longlong *)local_d0[10];
|
||||||
|
(**(code **)*local_d0)(local_d0,1);
|
||||||
|
local_d0 = plVar8;
|
||||||
|
}
|
||||||
|
if (local_c0 != &DAT_14017ce88) {
|
||||||
|
operator_delete__(local_b8);
|
||||||
|
}
|
||||||
|
LAB_140033434:
|
||||||
|
local_f8[0] = TiXmlBase::vftable;
|
||||||
|
ppuVar3 = TiXmlBase::vftable;
|
||||||
|
if (0xf < local_58) {
|
||||||
|
operator_delete(local_70[0]);
|
||||||
|
ppuVar3 = extraout_RAX_00;
|
||||||
|
}
|
||||||
|
return (ulonglong)ppuVar3 & 0xffffffffffffff00;
|
||||||
|
LAB_140033126:
|
||||||
|
while (lVar5 = (**(code **)(*plVar8 + 0x30))(plVar8), lVar5 == 0) {
|
||||||
|
do {
|
||||||
|
plVar8 = (longlong *)plVar8[10];
|
||||||
|
if (plVar8 == (longlong *)0x0) goto LAB_1400333c8;
|
||||||
|
bVar12 = (char *)(plVar8[7] + 0x10) == (char *)0x0;
|
||||||
|
lVar5 = 3;
|
||||||
|
pcVar9 = (char *)(plVar8[7] + 0x10);
|
||||||
|
pcVar11 = "db";
|
||||||
|
do {
|
||||||
|
if (lVar5 == 0) break;
|
||||||
|
lVar5 = lVar5 + -1;
|
||||||
|
bVar12 = *pcVar9 == *pcVar11;
|
||||||
|
pcVar9 = pcVar9 + 1;
|
||||||
|
pcVar11 = pcVar11 + 1;
|
||||||
|
} while (bVar12);
|
||||||
|
} while (!bVar12);
|
||||||
|
}
|
||||||
|
lVar5 = (**(code **)(*plVar8 + 0x30))(plVar8);
|
||||||
|
if (lVar5 != 0) {
|
||||||
|
lVar5 = FUN_14001ee20(lVar5,0x140133c98);
|
||||||
|
if (lVar5 == 0) {
|
||||||
|
local_f8[0] = TiXmlDocument::vftable;
|
||||||
|
if (local_98 != &DAT_14017ce88) {
|
||||||
|
operator_delete__(local_90);
|
||||||
|
}
|
||||||
|
local_f8[0] = TiXmlNode::vftable;
|
||||||
|
while (local_d0 != (longlong *)0x0) {
|
||||||
|
plVar8 = (longlong *)local_d0[10];
|
||||||
|
(**(code **)*local_d0)(local_d0,1);
|
||||||
|
local_d0 = plVar8;
|
||||||
|
}
|
||||||
|
if (local_c0 != &DAT_14017ce88) {
|
||||||
|
operator_delete__(local_b8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
lVar2 = FUN_14001ee20(lVar5,0x140133c50);
|
||||||
|
if (lVar2 == 0) {
|
||||||
|
local_f8[0] = TiXmlDocument::vftable;
|
||||||
|
if (local_98 != &DAT_14017ce88) {
|
||||||
|
operator_delete__(local_90);
|
||||||
|
}
|
||||||
|
local_f8[0] = TiXmlNode::vftable;
|
||||||
|
while (local_d0 != (longlong *)0x0) {
|
||||||
|
plVar8 = (longlong *)local_d0[10];
|
||||||
|
(**(code **)*local_d0)(local_d0,1);
|
||||||
|
local_d0 = plVar8;
|
||||||
|
}
|
||||||
|
if (local_c0 != &DAT_14017ce88) {
|
||||||
|
operator_delete__(local_b8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
lVar5 = FUN_14001ee20(lVar5,0x140133e30);
|
||||||
|
if (lVar5 != 0) {
|
||||||
|
FUN_140033470((ulonglong *)(param_1 + 0x90),(int *)(param_1 + 0x130),lVar2);
|
||||||
|
FUN_140033470((ulonglong *)(param_1 + 0x108),(int *)(param_1 + 0x13c),lVar5);
|
||||||
|
local_f8[0] = TiXmlDocument::vftable;
|
||||||
|
if (local_98 != &DAT_14017ce88) {
|
||||||
|
operator_delete__(local_90);
|
||||||
|
}
|
||||||
|
local_f8[0] = TiXmlNode::vftable;
|
||||||
|
while (local_d0 != (longlong *)0x0) {
|
||||||
|
plVar8 = (longlong *)local_d0[10];
|
||||||
|
(**(code **)*local_d0)(local_d0,1);
|
||||||
|
local_d0 = plVar8;
|
||||||
|
}
|
||||||
|
if (local_c0 != &DAT_14017ce88) {
|
||||||
|
operator_delete__(local_b8);
|
||||||
|
}
|
||||||
|
ppuVar3 = TiXmlBase::vftable;
|
||||||
|
local_f8[0] = TiXmlBase::vftable;
|
||||||
|
if (0xf < local_58) {
|
||||||
|
operator_delete(local_70[0]);
|
||||||
|
ppuVar3 = extraout_RAX;
|
||||||
|
}
|
||||||
|
return CONCAT71((int7)((ulonglong)ppuVar3 >> 8),1);
|
||||||
|
}
|
||||||
|
local_f8[0] = TiXmlDocument::vftable;
|
||||||
|
if (local_98 != &DAT_14017ce88) {
|
||||||
|
operator_delete__(local_90);
|
||||||
|
}
|
||||||
|
local_f8[0] = TiXmlNode::vftable;
|
||||||
|
while (local_d0 != (longlong *)0x0) {
|
||||||
|
plVar8 = (longlong *)local_d0[10];
|
||||||
|
(**(code **)*local_d0)(local_d0,1);
|
||||||
|
local_d0 = plVar8;
|
||||||
|
}
|
||||||
|
if (local_c0 != &DAT_14017ce88) {
|
||||||
|
operator_delete__(local_b8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
goto LAB_140033434;
|
||||||
|
}
|
||||||
|
goto LAB_1400333c8;
|
||||||
|
}
|
||||||
|
|
||||||
488
decomp/AgentManager_Release_x64/0x140034220.pseudo.c
Normal file
488
decomp/AgentManager_Release_x64/0x140034220.pseudo.c
Normal file
|
|
@ -0,0 +1,488 @@
|
||||||
|
|
||||||
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||||
|
|
||||||
|
undefined8 FUN_140034220(longlong param_1)
|
||||||
|
|
||||||
|
{
|
||||||
|
short sVar1;
|
||||||
|
undefined8 *puVar2;
|
||||||
|
undefined1 auVar3 [16];
|
||||||
|
undefined1 auVar4 [16];
|
||||||
|
FILE *_File;
|
||||||
|
errno_t eVar5;
|
||||||
|
ulonglong uVar6;
|
||||||
|
longlong *plVar7;
|
||||||
|
longlong *plVar8;
|
||||||
|
char *pcVar9;
|
||||||
|
ulonglong *puVar10;
|
||||||
|
char *******pppppppcVar11;
|
||||||
|
longlong *plVar12;
|
||||||
|
undefined **ppuVar13;
|
||||||
|
undefined **extraout_RAX;
|
||||||
|
longlong lVar14;
|
||||||
|
short *psVar15;
|
||||||
|
undefined2 *puVar16;
|
||||||
|
short *psVar17;
|
||||||
|
longlong *plVar18;
|
||||||
|
char *pcVar19;
|
||||||
|
uint uVar20;
|
||||||
|
bool bVar21;
|
||||||
|
undefined1 auStack_1c8 [32];
|
||||||
|
FILE *local_1a8 [2];
|
||||||
|
undefined **local_198 [5];
|
||||||
|
longlong *local_170;
|
||||||
|
undefined8 *local_160;
|
||||||
|
void *local_158;
|
||||||
|
undefined8 *local_138;
|
||||||
|
void *local_130;
|
||||||
|
char local_11c;
|
||||||
|
undefined8 local_118;
|
||||||
|
undefined2 local_110;
|
||||||
|
undefined6 uStack_10e;
|
||||||
|
undefined8 local_100;
|
||||||
|
ulonglong local_f8;
|
||||||
|
char ******local_e8 [2];
|
||||||
|
char *****local_d8;
|
||||||
|
char *****local_d0;
|
||||||
|
undefined1 local_b8;
|
||||||
|
undefined7 uStack_b7;
|
||||||
|
undefined8 local_a8;
|
||||||
|
ulonglong local_a0;
|
||||||
|
undefined2 local_78;
|
||||||
|
undefined6 uStack_76;
|
||||||
|
undefined8 local_68;
|
||||||
|
ulonglong local_60;
|
||||||
|
ulonglong local_38;
|
||||||
|
|
||||||
|
local_118 = 0xfffffffffffffffe;
|
||||||
|
local_38 = DAT_14016f5a0 ^ (ulonglong)auStack_1c8;
|
||||||
|
pcVar9 = (char *)&DAT_140175100;
|
||||||
|
if (0xf < DAT_140175118) {
|
||||||
|
pcVar9 = DAT_140175100;
|
||||||
|
}
|
||||||
|
FUN_14001f6d0(local_198,pcVar9);
|
||||||
|
DAT_140174c28 = 0;
|
||||||
|
uVar6 = FUN_14001f7a0((longlong *)local_198,(char *)(local_160 + 2));
|
||||||
|
plVar12 = (longlong *)0x0;
|
||||||
|
plVar7 = local_170;
|
||||||
|
if ((char)uVar6 == '\0') {
|
||||||
|
local_1a8[0] = operator_new(0x88);
|
||||||
|
plVar7 = plVar12;
|
||||||
|
if (local_1a8[0] != (FILE *)0x0) {
|
||||||
|
plVar7 = FUN_140020550(&local_1a8[0]->_ptr);
|
||||||
|
}
|
||||||
|
FUN_14001ed00((longlong *)local_198,plVar7);
|
||||||
|
plVar7 = local_170;
|
||||||
|
}
|
||||||
|
for (; plVar8 = plVar12, plVar7 != (longlong *)0x0; plVar7 = (longlong *)plVar7[10]) {
|
||||||
|
bVar21 = (char *)(plVar7[7] + 0x10) == (char *)0x0;
|
||||||
|
lVar14 = 7;
|
||||||
|
pcVar9 = (char *)(plVar7[7] + 0x10);
|
||||||
|
pcVar19 = "server";
|
||||||
|
do {
|
||||||
|
if (lVar14 == 0) break;
|
||||||
|
lVar14 = lVar14 + -1;
|
||||||
|
bVar21 = *pcVar9 == *pcVar19;
|
||||||
|
pcVar9 = pcVar9 + 1;
|
||||||
|
pcVar19 = pcVar19 + 1;
|
||||||
|
} while (bVar21);
|
||||||
|
if (bVar21) goto LAB_140034303;
|
||||||
|
}
|
||||||
|
LAB_140034345:
|
||||||
|
if (plVar8 == (longlong *)0x0) {
|
||||||
|
local_1a8[0] = operator_new(0xa8);
|
||||||
|
plVar8 = plVar12;
|
||||||
|
if (local_1a8[0] != (FILE *)0x0) {
|
||||||
|
plVar8 = FUN_14001ef00(&local_1a8[0]->_ptr,"server");
|
||||||
|
}
|
||||||
|
FUN_14001ed00((longlong *)local_198,plVar8);
|
||||||
|
}
|
||||||
|
for (pcVar9 = *(char **)(DAT_14017cf50 + 8); plVar7 = plVar12,
|
||||||
|
pcVar9 != *(char **)(DAT_14017cf50 + 0x10); pcVar9 = pcVar9 + 0x30) {
|
||||||
|
if (*pcVar9 == '\x18') {
|
||||||
|
plVar7 = (longlong *)(pcVar9 + 8);
|
||||||
|
if (7 < *(ulonglong *)(pcVar9 + 0x20)) {
|
||||||
|
plVar7 = *(longlong **)(pcVar9 + 8);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
local_f8 = 7;
|
||||||
|
local_100 = 0;
|
||||||
|
local_110._0_1_ = '\0';
|
||||||
|
local_110._1_1_ = 0;
|
||||||
|
uVar6 = 0xffffffffffffffff;
|
||||||
|
plVar18 = plVar7;
|
||||||
|
do {
|
||||||
|
if (uVar6 == 0) break;
|
||||||
|
uVar6 = uVar6 - 1;
|
||||||
|
lVar14 = *plVar18;
|
||||||
|
plVar18 = (longlong *)((longlong)plVar18 + 2);
|
||||||
|
} while ((short)lVar14 != 0);
|
||||||
|
FUN_140001710((ulonglong *)&local_110,plVar7,~uVar6 - 1);
|
||||||
|
FUN_1400ed7b0((ulonglong *)&local_b8,&local_110);
|
||||||
|
if (7 < local_f8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_10e,CONCAT11(local_110._1_1_,(char)local_110)));
|
||||||
|
}
|
||||||
|
local_f8 = 7;
|
||||||
|
local_100 = 0;
|
||||||
|
local_110._0_1_ = '\0';
|
||||||
|
local_110._1_1_ = 0;
|
||||||
|
psVar15 = (short *)(param_1 + 0x30);
|
||||||
|
if (7 < *(ulonglong *)(param_1 + 0x48)) {
|
||||||
|
psVar15 = *(short **)psVar15;
|
||||||
|
}
|
||||||
|
local_d0 = (char *****)0x7;
|
||||||
|
local_d8 = (char *****)0x0;
|
||||||
|
local_e8[0] = (char ******)((ulonglong)local_e8[0] & 0xffffffffffff0000);
|
||||||
|
uVar6 = 0xffffffffffffffff;
|
||||||
|
psVar17 = psVar15;
|
||||||
|
do {
|
||||||
|
if (uVar6 == 0) break;
|
||||||
|
uVar6 = uVar6 - 1;
|
||||||
|
sVar1 = *psVar17;
|
||||||
|
psVar17 = psVar17 + 1;
|
||||||
|
} while (sVar1 != 0);
|
||||||
|
FUN_140001710((ulonglong *)local_e8,psVar15,~uVar6 - 1);
|
||||||
|
puVar10 = FUN_1400ed7b0((ulonglong *)&local_78,(LPCWSTR)local_e8);
|
||||||
|
if (0xf < puVar10[3]) {
|
||||||
|
puVar10 = (ulonglong *)*puVar10;
|
||||||
|
}
|
||||||
|
FUN_14001f130(plVar8,"ip",(char *)puVar10);
|
||||||
|
if (0xf < local_60) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_76,CONCAT11(local_78._1_1_,(char)local_78)));
|
||||||
|
}
|
||||||
|
local_60 = 0xf;
|
||||||
|
local_68 = 0;
|
||||||
|
local_78._0_1_ = '\0';
|
||||||
|
if (7 < local_d0) {
|
||||||
|
operator_delete(local_e8[0]);
|
||||||
|
}
|
||||||
|
FUN_140020c20((char *)&local_78,0x40,"%d",0xc3b1);
|
||||||
|
FUN_14001f130(plVar8,"port",(char *)&local_78);
|
||||||
|
pcVar9 = &local_b8;
|
||||||
|
if (0xf < local_a0) {
|
||||||
|
pcVar9 = (char *)CONCAT71(uStack_b7,local_b8);
|
||||||
|
}
|
||||||
|
FUN_14001f130(plVar8,"file",pcVar9);
|
||||||
|
plVar7 = local_170;
|
||||||
|
if (0xf < local_a0) {
|
||||||
|
operator_delete((void *)CONCAT71(uStack_b7,local_b8));
|
||||||
|
plVar7 = local_170;
|
||||||
|
}
|
||||||
|
for (; plVar8 = plVar12, plVar7 != (longlong *)0x0; plVar7 = (longlong *)plVar7[10]) {
|
||||||
|
bVar21 = (char *)(plVar7[7] + 0x10) == (char *)0x0;
|
||||||
|
lVar14 = 8;
|
||||||
|
pcVar9 = (char *)(plVar7[7] + 0x10);
|
||||||
|
pcVar19 = "connect";
|
||||||
|
do {
|
||||||
|
if (lVar14 == 0) break;
|
||||||
|
lVar14 = lVar14 + -1;
|
||||||
|
bVar21 = *pcVar9 == *pcVar19;
|
||||||
|
pcVar9 = pcVar9 + 1;
|
||||||
|
pcVar19 = pcVar19 + 1;
|
||||||
|
} while (bVar21);
|
||||||
|
if (bVar21) goto LAB_140034543;
|
||||||
|
}
|
||||||
|
LAB_140034585:
|
||||||
|
if (plVar8 == (longlong *)0x0) {
|
||||||
|
local_1a8[0] = operator_new(0xa8);
|
||||||
|
plVar8 = plVar12;
|
||||||
|
if (local_1a8[0] != (FILE *)0x0) {
|
||||||
|
plVar8 = FUN_14001ef00(&local_1a8[0]->_ptr,"connect");
|
||||||
|
}
|
||||||
|
FUN_14001ed00((longlong *)local_198,plVar8);
|
||||||
|
}
|
||||||
|
plVar7 = plVar12;
|
||||||
|
if (*(longlong *)(param_1 + 0x1c8) != 0) {
|
||||||
|
auVar3._8_8_ = 0;
|
||||||
|
auVar3._0_8_ = *(ulonglong *)(param_1 + 0x1b0);
|
||||||
|
for (puVar2 = *(undefined8 **)
|
||||||
|
(*(longlong *)(param_1 + 0x1a8) +
|
||||||
|
SUB168((ZEXT816(0) << 0x40 | ZEXT816(0x15)) % auVar3,0) * 8);
|
||||||
|
puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {
|
||||||
|
if (*(char *)(puVar2 + 1) == '\x15') {
|
||||||
|
if (((puVar2 != (undefined8 *)0x0) && (lVar14 = puVar2[2], lVar14 != puVar2[3])) &&
|
||||||
|
(plVar7 = (longlong *)(lVar14 + 0x30), 7 < *(ulonglong *)(lVar14 + 0x48))) {
|
||||||
|
plVar7 = *(longlong **)(lVar14 + 0x30);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
local_f8 = 7;
|
||||||
|
local_100 = 0;
|
||||||
|
local_110._0_1_ = '\0';
|
||||||
|
local_110._1_1_ = 0;
|
||||||
|
uVar6 = 0xffffffffffffffff;
|
||||||
|
plVar18 = plVar7;
|
||||||
|
do {
|
||||||
|
if (uVar6 == 0) break;
|
||||||
|
uVar6 = uVar6 - 1;
|
||||||
|
lVar14 = *plVar18;
|
||||||
|
plVar18 = (longlong *)((longlong)plVar18 + 2);
|
||||||
|
} while ((short)lVar14 != 0);
|
||||||
|
FUN_140001710((ulonglong *)&local_110,plVar7,~uVar6 - 1);
|
||||||
|
FUN_1400ed7b0((ulonglong *)&local_b8,&local_110);
|
||||||
|
if (7 < local_f8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_10e,CONCAT11(local_110._1_1_,(char)local_110)));
|
||||||
|
}
|
||||||
|
local_f8 = 7;
|
||||||
|
local_100 = 0;
|
||||||
|
local_110._0_1_ = '\0';
|
||||||
|
local_110._1_1_ = 0;
|
||||||
|
uVar20 = 0;
|
||||||
|
if (*(longlong *)(param_1 + 0x1c8) != 0) {
|
||||||
|
auVar4._8_8_ = 0;
|
||||||
|
auVar4._0_8_ = *(ulonglong *)(param_1 + 0x1b0);
|
||||||
|
for (puVar2 = *(undefined8 **)
|
||||||
|
(*(longlong *)(param_1 + 0x1a8) +
|
||||||
|
SUB168((ZEXT816(0) << 0x40 | ZEXT816(0x15)) % auVar4,0) * 8);
|
||||||
|
puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {
|
||||||
|
if (*(char *)(puVar2 + 1) == '\x15') {
|
||||||
|
if ((puVar2 != (undefined8 *)0x0) && (puVar2[2] != puVar2[3])) {
|
||||||
|
uVar20 = *(uint *)(puVar2[2] + 4);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pcVar9 = &local_b8;
|
||||||
|
if (0xf < local_a0) {
|
||||||
|
pcVar9 = (char *)CONCAT71(uStack_b7,local_b8);
|
||||||
|
}
|
||||||
|
FUN_14001f130(plVar8,"ip",pcVar9);
|
||||||
|
FUN_140020c20((char *)&local_78,0x40,"%d",(ulonglong)uVar20);
|
||||||
|
FUN_14001f130(plVar8,"port",(char *)&local_78);
|
||||||
|
if (0xf < local_a0) {
|
||||||
|
operator_delete((void *)CONCAT71(uStack_b7,local_b8));
|
||||||
|
}
|
||||||
|
local_f8 = 0xf;
|
||||||
|
local_100 = 0;
|
||||||
|
local_110._0_1_ = '\0';
|
||||||
|
local_d0 = (char *****)0xf;
|
||||||
|
local_d8 = (char *****)0x0;
|
||||||
|
local_e8[0] = (char ******)((ulonglong)local_e8[0] & 0xffffffffffffff00);
|
||||||
|
if (*(char *)(param_1 + 0x1e8) == '\r') {
|
||||||
|
uVar6 = 5;
|
||||||
|
pcVar9 = "agent";
|
||||||
|
LAB_140034791:
|
||||||
|
FUN_14000c9e0((ulonglong *)&local_110,pcVar9,uVar6);
|
||||||
|
puVar16 = (undefined2 *)CONCAT62(uStack_10e,CONCAT11(local_110._1_1_,(char)local_110));
|
||||||
|
if (local_f8 < 0x10) goto LAB_1400347a5;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (*(char *)(param_1 + 0x1e8) == '\x15') {
|
||||||
|
uVar6 = 0xc;
|
||||||
|
pcVar9 = "agentmanager";
|
||||||
|
goto LAB_140034791;
|
||||||
|
}
|
||||||
|
LAB_1400347a5:
|
||||||
|
puVar16 = &local_110;
|
||||||
|
}
|
||||||
|
plVar7 = (longlong *)FUN_14001ee20((longlong)local_198,(longlong)puVar16);
|
||||||
|
if (plVar7 == (longlong *)0x0) {
|
||||||
|
local_1a8[0] = operator_new(0xa8);
|
||||||
|
plVar7 = plVar12;
|
||||||
|
if (local_1a8[0] != (FILE *)0x0) {
|
||||||
|
pcVar9 = (char *)&local_110;
|
||||||
|
if (0xf < local_f8) {
|
||||||
|
pcVar9 = (char *)CONCAT62(uStack_10e,CONCAT11(local_110._1_1_,(char)local_110));
|
||||||
|
}
|
||||||
|
plVar7 = FUN_14001ef00(&local_1a8[0]->_ptr,pcVar9);
|
||||||
|
}
|
||||||
|
FUN_14001ed00((longlong *)local_198,plVar7);
|
||||||
|
}
|
||||||
|
for (pcVar9 = *(char **)(DAT_14017cf50 + 8); plVar8 = plVar12,
|
||||||
|
pcVar9 != *(char **)(DAT_14017cf50 + 0x10); pcVar9 = pcVar9 + 0x30) {
|
||||||
|
if (*pcVar9 == *(char *)(param_1 + 0x1e8)) {
|
||||||
|
plVar8 = (longlong *)(pcVar9 + 8);
|
||||||
|
if (7 < *(ulonglong *)(pcVar9 + 0x20)) {
|
||||||
|
plVar8 = *(longlong **)(pcVar9 + 8);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
local_60 = 7;
|
||||||
|
local_68 = 0;
|
||||||
|
local_78._0_1_ = '\0';
|
||||||
|
local_78._1_1_ = 0;
|
||||||
|
uVar6 = 0xffffffffffffffff;
|
||||||
|
plVar18 = plVar8;
|
||||||
|
do {
|
||||||
|
if (uVar6 == 0) break;
|
||||||
|
uVar6 = uVar6 - 1;
|
||||||
|
lVar14 = *plVar18;
|
||||||
|
plVar18 = (longlong *)((longlong)plVar18 + 2);
|
||||||
|
} while ((short)lVar14 != 0);
|
||||||
|
FUN_140001710((ulonglong *)&local_78,plVar8,~uVar6 - 1);
|
||||||
|
pppppppcVar11 = (char *******)FUN_1400ed7b0((ulonglong *)&local_b8,&local_78);
|
||||||
|
if (local_e8 != pppppppcVar11) {
|
||||||
|
if ((char ******)0xf < local_d0) {
|
||||||
|
operator_delete(local_e8[0]);
|
||||||
|
}
|
||||||
|
local_d0 = (char *****)0xf;
|
||||||
|
local_d8 = (char *****)0x0;
|
||||||
|
local_e8[0] = (char ******)((ulonglong)local_e8[0] & 0xffffffffffffff00);
|
||||||
|
if (pppppppcVar11[3] < (char ******)0x10) {
|
||||||
|
memmove(local_e8,pppppppcVar11,(longlong)pppppppcVar11[2] + 1);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
local_e8[0] = *pppppppcVar11;
|
||||||
|
*pppppppcVar11 = (char ******)0x0;
|
||||||
|
}
|
||||||
|
local_d8 = (char *****)pppppppcVar11[2];
|
||||||
|
local_d0 = (char *****)pppppppcVar11[3];
|
||||||
|
pppppppcVar11[3] = (char ******)0xf;
|
||||||
|
pppppppcVar11[2] = (char ******)0x0;
|
||||||
|
*(undefined1 *)pppppppcVar11 = 0;
|
||||||
|
}
|
||||||
|
if (0xf < local_a0) {
|
||||||
|
operator_delete((void *)CONCAT71(uStack_b7,local_b8));
|
||||||
|
}
|
||||||
|
local_a0 = 0xf;
|
||||||
|
local_a8 = 0;
|
||||||
|
local_b8 = '\0';
|
||||||
|
if (7 < local_60) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_76,CONCAT11(local_78._1_1_,(char)local_78)));
|
||||||
|
}
|
||||||
|
pppppppcVar11 = local_e8;
|
||||||
|
if ((char ******)0xf < local_d0) {
|
||||||
|
pppppppcVar11 = (char *******)local_e8[0];
|
||||||
|
}
|
||||||
|
FUN_14001f130(plVar7,"file",(char *)pppppppcVar11);
|
||||||
|
FUN_140020c20(&local_b8,0x40,"%d",(ulonglong)*(uint *)(param_1 + 0x154));
|
||||||
|
FUN_14001f130(plVar7,"code",&local_b8);
|
||||||
|
if ((char ******)0xf < local_d0) {
|
||||||
|
operator_delete(local_e8[0]);
|
||||||
|
}
|
||||||
|
local_d0 = (char *****)0xf;
|
||||||
|
local_d8 = (char *****)0x0;
|
||||||
|
local_e8[0] = (char ******)((ulonglong)local_e8[0] & 0xffffffffffffff00);
|
||||||
|
if (0xf < local_f8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_10e,CONCAT11(local_110._1_1_,(char)local_110)));
|
||||||
|
}
|
||||||
|
plVar7 = local_170;
|
||||||
|
if (*(char *)(param_1 + 0x151) != '\0') {
|
||||||
|
for (; plVar8 = plVar12, plVar7 != (longlong *)0x0; plVar7 = (longlong *)plVar7[10]) {
|
||||||
|
bVar21 = (char *)(plVar7[7] + 0x10) == (char *)0x0;
|
||||||
|
lVar14 = 4;
|
||||||
|
pcVar9 = (char *)(plVar7[7] + 0x10);
|
||||||
|
pcVar19 = "dns";
|
||||||
|
do {
|
||||||
|
if (lVar14 == 0) break;
|
||||||
|
lVar14 = lVar14 + -1;
|
||||||
|
bVar21 = *pcVar9 == *pcVar19;
|
||||||
|
pcVar9 = pcVar9 + 1;
|
||||||
|
pcVar19 = pcVar19 + 1;
|
||||||
|
} while (bVar21);
|
||||||
|
if (bVar21) goto LAB_1400349e3;
|
||||||
|
}
|
||||||
|
LAB_140034a25:
|
||||||
|
if (plVar8 == (longlong *)0x0) {
|
||||||
|
local_1a8[0] = operator_new(0xa8);
|
||||||
|
if (local_1a8[0] != (FILE *)0x0) {
|
||||||
|
plVar12 = FUN_14001ef00(&local_1a8[0]->_ptr,"dns");
|
||||||
|
}
|
||||||
|
FUN_14001ed00((longlong *)local_198,plVar12);
|
||||||
|
plVar8 = plVar12;
|
||||||
|
}
|
||||||
|
FUN_140020c20(&local_b8,0x40,"%d",1);
|
||||||
|
FUN_14001f130(plVar8,"dns",&local_b8);
|
||||||
|
}
|
||||||
|
pcVar9 = (char *)&DAT_140175100;
|
||||||
|
if (0xf < DAT_140175118) {
|
||||||
|
pcVar9 = DAT_140175100;
|
||||||
|
}
|
||||||
|
local_1a8[0] = (FILE *)0x0;
|
||||||
|
eVar5 = fopen_s(local_1a8,pcVar9,"w");
|
||||||
|
_File = local_1a8[0];
|
||||||
|
if ((eVar5 == 0) && (local_1a8[0] != (FILE *)0x0)) {
|
||||||
|
if (local_11c != '\0') {
|
||||||
|
fputc(0xef,local_1a8[0]);
|
||||||
|
fputc(0xbb,_File);
|
||||||
|
fputc(0xbf,_File);
|
||||||
|
}
|
||||||
|
(*(code *)local_198[0][1])(local_198,_File,0);
|
||||||
|
ferror(_File);
|
||||||
|
fclose(_File);
|
||||||
|
}
|
||||||
|
printf("Create Patch Option File Succeed \n");
|
||||||
|
local_198[0] = TiXmlDocument::vftable;
|
||||||
|
if (local_138 != &DAT_14017ce88) {
|
||||||
|
operator_delete__(local_130);
|
||||||
|
}
|
||||||
|
ppuVar13 = TiXmlNode::vftable;
|
||||||
|
local_198[0] = TiXmlNode::vftable;
|
||||||
|
while (local_170 != (longlong *)0x0) {
|
||||||
|
plVar7 = (longlong *)local_170[10];
|
||||||
|
ppuVar13 = (undefined **)(**(code **)*local_170)(local_170,1);
|
||||||
|
local_170 = plVar7;
|
||||||
|
}
|
||||||
|
if (local_160 != &DAT_14017ce88) {
|
||||||
|
operator_delete__(local_158);
|
||||||
|
ppuVar13 = extraout_RAX;
|
||||||
|
}
|
||||||
|
return CONCAT71((int7)((ulonglong)ppuVar13 >> 8),1);
|
||||||
|
LAB_140034303:
|
||||||
|
while (lVar14 = (**(code **)(*plVar7 + 0x30))(plVar7), lVar14 == 0) {
|
||||||
|
do {
|
||||||
|
plVar7 = (longlong *)plVar7[10];
|
||||||
|
if (plVar7 == (longlong *)0x0) goto LAB_140034345;
|
||||||
|
bVar21 = (char *)(plVar7[7] + 0x10) == (char *)0x0;
|
||||||
|
lVar14 = 7;
|
||||||
|
pcVar9 = (char *)(plVar7[7] + 0x10);
|
||||||
|
pcVar19 = "server";
|
||||||
|
do {
|
||||||
|
if (lVar14 == 0) break;
|
||||||
|
lVar14 = lVar14 + -1;
|
||||||
|
bVar21 = *pcVar9 == *pcVar19;
|
||||||
|
pcVar9 = pcVar9 + 1;
|
||||||
|
pcVar19 = pcVar19 + 1;
|
||||||
|
} while (bVar21);
|
||||||
|
} while (!bVar21);
|
||||||
|
}
|
||||||
|
plVar8 = (longlong *)(**(code **)(*plVar7 + 0x30))(plVar7);
|
||||||
|
goto LAB_140034345;
|
||||||
|
LAB_140034543:
|
||||||
|
while (lVar14 = (**(code **)(*plVar7 + 0x30))(plVar7), lVar14 == 0) {
|
||||||
|
do {
|
||||||
|
plVar7 = (longlong *)plVar7[10];
|
||||||
|
if (plVar7 == (longlong *)0x0) goto LAB_140034585;
|
||||||
|
bVar21 = (char *)(plVar7[7] + 0x10) == (char *)0x0;
|
||||||
|
lVar14 = 8;
|
||||||
|
pcVar9 = (char *)(plVar7[7] + 0x10);
|
||||||
|
pcVar19 = "connect";
|
||||||
|
do {
|
||||||
|
if (lVar14 == 0) break;
|
||||||
|
lVar14 = lVar14 + -1;
|
||||||
|
bVar21 = *pcVar9 == *pcVar19;
|
||||||
|
pcVar9 = pcVar9 + 1;
|
||||||
|
pcVar19 = pcVar19 + 1;
|
||||||
|
} while (bVar21);
|
||||||
|
} while (!bVar21);
|
||||||
|
}
|
||||||
|
plVar8 = (longlong *)(**(code **)(*plVar7 + 0x30))(plVar7);
|
||||||
|
goto LAB_140034585;
|
||||||
|
LAB_1400349e3:
|
||||||
|
while (lVar14 = (**(code **)(*plVar7 + 0x30))(plVar7), lVar14 == 0) {
|
||||||
|
do {
|
||||||
|
plVar7 = (longlong *)plVar7[10];
|
||||||
|
if (plVar7 == (longlong *)0x0) goto LAB_140034a25;
|
||||||
|
bVar21 = (char *)(plVar7[7] + 0x10) == (char *)0x0;
|
||||||
|
lVar14 = 4;
|
||||||
|
pcVar9 = (char *)(plVar7[7] + 0x10);
|
||||||
|
pcVar19 = "dns";
|
||||||
|
do {
|
||||||
|
if (lVar14 == 0) break;
|
||||||
|
lVar14 = lVar14 + -1;
|
||||||
|
bVar21 = *pcVar9 == *pcVar19;
|
||||||
|
pcVar9 = pcVar9 + 1;
|
||||||
|
pcVar19 = pcVar19 + 1;
|
||||||
|
} while (bVar21);
|
||||||
|
} while (!bVar21);
|
||||||
|
}
|
||||||
|
plVar8 = (longlong *)(**(code **)(*plVar7 + 0x30))(plVar7);
|
||||||
|
goto LAB_140034a25;
|
||||||
|
}
|
||||||
|
|
||||||
180
decomp/AgentManager_Release_x64/binary_overview.json
Normal file
180
decomp/AgentManager_Release_x64/binary_overview.json
Normal file
|
|
@ -0,0 +1,180 @@
|
||||||
|
{
|
||||||
|
"analysis_profile": {
|
||||||
|
"digest": "3decca45d3460a9d91b48bfb293ee703f84841379edceee6350b1ea3393d3fe1",
|
||||||
|
"parameters": {
|
||||||
|
"upstream_analysis_profile": {
|
||||||
|
"digest": "de1d200f7c777e7d47b9def837d80cf1e4326106753fd45afae1b8f0c68936f6",
|
||||||
|
"parameters": {
|
||||||
|
"analyzer_preset": "ghidra-default",
|
||||||
|
"annotation_policy": "atomic-function-entry-metadata-v1",
|
||||||
|
"architecture": "x86_64",
|
||||||
|
"available_architectures": [
|
||||||
|
"x86_64"
|
||||||
|
],
|
||||||
|
"call_relationship_coverage": "function-body-call-coverage-v5",
|
||||||
|
"compiler_spec_id": "auto-default",
|
||||||
|
"decompiler_jump_loads": true,
|
||||||
|
"executable_role": "application",
|
||||||
|
"function_body_evidence": "complete-inclusive-ranges-v1",
|
||||||
|
"function_boundary_observations": "ghidra-function-boundary-limitations-v3",
|
||||||
|
"function_dossier_coverage": "observed-facets-and-call-relationships-v1",
|
||||||
|
"function_references": "complete-body-and-entry-reference-manager-v2",
|
||||||
|
"import_mode": "ephemeral-source-immutable",
|
||||||
|
"instruction_flow_evidence": "decoded-return-pcode-v1",
|
||||||
|
"instruction_references": "exact-address-incoming-v1",
|
||||||
|
"jump_table_evidence": "typed-case-default-blocks-v1",
|
||||||
|
"language_id": "auto-from-header",
|
||||||
|
"load_image_observations": "source-mappings-entry-context-v2",
|
||||||
|
"loader": "auto-from-header",
|
||||||
|
"location_resolution": "explicit-address-exact-entry-symbol-first-v3",
|
||||||
|
"managed": false,
|
||||||
|
"native_aot_metadata": {
|
||||||
|
"contract_revision": "rtr-9.1-x64-pe-read-only-v3",
|
||||||
|
"report_bytes": 4194304,
|
||||||
|
"source_bytes": 134217728,
|
||||||
|
"work_units": 67108864,
|
||||||
|
"working_memory_bytes": 67108864
|
||||||
|
},
|
||||||
|
"no_return_repair": "returning-imports-decoded-return-v2",
|
||||||
|
"pdb_observations": "program-info-v1",
|
||||||
|
"procedure_file_offset_resolution": "address-first-unique-target-source-mapping-v2",
|
||||||
|
"process_launch": "inspected-jvm-launch-support-v1",
|
||||||
|
"string_inventory_evidence": "defined-data-coverage-v1",
|
||||||
|
"target_format": "pe",
|
||||||
|
"target_kind": "executable"
|
||||||
|
},
|
||||||
|
"provider": {
|
||||||
|
"id": "ghidra",
|
||||||
|
"name": "Ghidra",
|
||||||
|
"version": "12.1.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"workflow_revision": 3
|
||||||
|
},
|
||||||
|
"provider": {
|
||||||
|
"id": "rea-workflow",
|
||||||
|
"name": "REA composed investigation workflow",
|
||||||
|
"version": "1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"authority": "shipped-artifact",
|
||||||
|
"confidence": "derived",
|
||||||
|
"environment": null,
|
||||||
|
"evidence_id": "ev_c3719a85eaa4d87a349ee02f317e2085e8db8266c450d412b0ce623bc094e871",
|
||||||
|
"evidence_links": [],
|
||||||
|
"limitations": [
|
||||||
|
"Derived by an REA composed workflow.",
|
||||||
|
"A headless Ghidra session contains exactly one imported Program, unlike Hopper's multi-document GUI session.",
|
||||||
|
"Cancelling an active Ghidra request terminates its ephemeral database and discards session annotations. The selected target remains open; the next provider query imports the original artifact again.",
|
||||||
|
"Charset is reported, while a non-missing terminator cannot distinguish a present terminator from a fixed or Pascal layout.",
|
||||||
|
"Default-space addresses use lowercase 0x-prefixed hexadecimal; other address spaces use <percent-encoded-space>:0x<hex>.",
|
||||||
|
"External functions and local thunks are distinct; procedure metadata identifies both and preserves a thunk target when Ghidra resolves one.",
|
||||||
|
"Memory-block end addresses are exclusive; permissions come from Ghidra MemoryBlock flags rather than inference from section names.",
|
||||||
|
"Only Ghidra-defined string Data is observed; packed or undefined string bytes may be absent. Completeness applies to that inventory, and an empty search does not establish that text is absent from the artifact. If an address is known, use read_bytes and xrefs to inspect bytes and references.",
|
||||||
|
"The imported Program and temporary project are ephemeral and deleted on close. Annotation operations edit session database metadata; original executable bytes are never written.",
|
||||||
|
"The session serves operations only after Ghidra reports default auto-analysis complete; incomplete analysis does not expose partial results.",
|
||||||
|
"The target references PDB AgentManager_Release_x64.pdb (GUID cc211b01-ac46-4192-9b64-b1d16ba71956, age (hex) 1, signature unknown, version RSDS); Ghidra reports load state unknown. Original names and types may be missing; an empty name search does not prove a procedure is absent. Use list_procedures and address-based analysis to inspect recovered functions. REA does not admit a caller-selected PDB companion.",
|
||||||
|
"This session uses Ghidra 12.1.2. The bridge is verified against 12.1.4; other 12.1.x builds are accepted and the observed version is reported."
|
||||||
|
],
|
||||||
|
"locations": [],
|
||||||
|
"normalized_result": {
|
||||||
|
"document": "target-8fd8ca917258.exe",
|
||||||
|
"image_base": "0x140000000",
|
||||||
|
"procedure_count": 7400,
|
||||||
|
"segment_count": 9,
|
||||||
|
"segments": [
|
||||||
|
{
|
||||||
|
"address_space": "ram",
|
||||||
|
"end": "0x140000400",
|
||||||
|
"image_base": "0x140000000",
|
||||||
|
"length": 1024,
|
||||||
|
"name": "Headers",
|
||||||
|
"start": "0x140000000"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"address_space": "ram",
|
||||||
|
"end": "0x140104a00",
|
||||||
|
"image_base": "0x140000000",
|
||||||
|
"length": 1063424,
|
||||||
|
"name": ".text",
|
||||||
|
"start": "0x140001000"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"address_space": "ram",
|
||||||
|
"end": "0x14016ea00",
|
||||||
|
"image_base": "0x140000000",
|
||||||
|
"length": 432640,
|
||||||
|
"name": ".rdata",
|
||||||
|
"start": "0x140105000"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"address_space": "ram",
|
||||||
|
"end": "0x14017d630",
|
||||||
|
"image_base": "0x140000000",
|
||||||
|
"length": 58928,
|
||||||
|
"name": ".data",
|
||||||
|
"start": "0x14016f000"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"address_space": "ram",
|
||||||
|
"end": "0x140189800",
|
||||||
|
"image_base": "0x140000000",
|
||||||
|
"length": 47104,
|
||||||
|
"name": ".pdata",
|
||||||
|
"start": "0x14017e000"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"address_space": "ram",
|
||||||
|
"end": "0x14018a200",
|
||||||
|
"image_base": "0x140000000",
|
||||||
|
"length": 512,
|
||||||
|
"name": ".tls",
|
||||||
|
"start": "0x14018a000"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"address_space": "ram",
|
||||||
|
"end": "0x14018b200",
|
||||||
|
"image_base": "0x140000000",
|
||||||
|
"length": 512,
|
||||||
|
"name": ".rsrc",
|
||||||
|
"start": "0x14018b000"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"address_space": "ram",
|
||||||
|
"end": "0x14018e800",
|
||||||
|
"image_base": "0x140000000",
|
||||||
|
"length": 10240,
|
||||||
|
"name": ".reloc",
|
||||||
|
"start": "0x14018c000"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"address_space": "ram",
|
||||||
|
"end": "0xff00001850",
|
||||||
|
"image_base": "0x140000000",
|
||||||
|
"length": 6224,
|
||||||
|
"name": "tdb",
|
||||||
|
"start": "0xff00000000"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"string_count": 1613
|
||||||
|
},
|
||||||
|
"operation": "binary_overview",
|
||||||
|
"parameters": {},
|
||||||
|
"predicate_type": "rea.analysis",
|
||||||
|
"provider": {
|
||||||
|
"id": "rea-workflow",
|
||||||
|
"name": "REA composed investigation workflow",
|
||||||
|
"version": "1"
|
||||||
|
},
|
||||||
|
"raw_result": null,
|
||||||
|
"relationship_coverage": null,
|
||||||
|
"subject": {
|
||||||
|
"architecture": "x86_64",
|
||||||
|
"digest": {
|
||||||
|
"sha256": "8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186"
|
||||||
|
},
|
||||||
|
"format": "pe",
|
||||||
|
"local_path": "/home/baobeld/Development/rusty-hearts/re-project/binaries/AgentManager_Release_x64.exe",
|
||||||
|
"name": "AgentManager_Release_x64.exe"
|
||||||
|
}
|
||||||
|
}
|
||||||
1
decomp/AgentManager_Release_x64/evidence-bundle.json
Normal file
1
decomp/AgentManager_Release_x64/evidence-bundle.json
Normal file
File diff suppressed because one or more lines are too long
140
decomp/AgentManager_Release_x64/evidence.md
Normal file
140
decomp/AgentManager_Release_x64/evidence.md
Normal file
|
|
@ -0,0 +1,140 @@
|
||||||
|
# AgentManager_Release_x64.exe — finding ledger
|
||||||
|
|
||||||
|
- SHA-256 `8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186`, 1,584,128 bytes
|
||||||
|
- PE32+ x86-64, Windows CUI, MSVC linker 10.0 (VS2010; imports MSVCR100/MSVCP100)
|
||||||
|
- PDB reference `F:\work\Project\Output\exe\AgentManager_Release_x64.pdb` (GUID cc211b01-ac46-4192-9b64-b1d16ba71956, age 1) — PDB not available
|
||||||
|
- Imports: WS2_32, MSWSOCK, WINMM, KERNEL32, USER32, ADVAPI32, OLEAUT32, MSVCP100, RPCRT4, MSVCR100, BugTrapU-x64, ole32, dbghelp
|
||||||
|
- Ghidra 12.1.2 via REA 6.5.0; 7,400 procedures, 1,613 defined strings (`ev_c3719a85…`)
|
||||||
|
- Evidence: `evidence-bundle.json` — overview `ev_c3719a85…`, batch decompiles `ev_7ee0b809…` (protocol/auth/command) and `ev_99e67015…` (startup/config/sequencer), RmiContext bytes `ev_3fe7cbab…`.
|
||||||
|
Static analysis only; nothing here was observed at runtime.
|
||||||
|
|
||||||
|
## Status: analysis complete for this pass (protocol, auth, config sources, command semantics, startup sequencer). REA session closed; `porting.md` intentionally skipped.
|
||||||
|
|
||||||
|
## Language / libraries
|
||||||
|
C++ (MSVC RTTI `.?AV…`, `MBISingleton<T>` templates, `__CxxFrameHandler3`, MSVCP100). Same
|
||||||
|
`Magi*` framework as the other servers (`MagiServerBase`, `MagiServerOption`, `MagiCustomOption`,
|
||||||
|
`MagiServerFile`, `MagiXmlFormat`, `MagiStatistics`, `MBCLog`, `Magi::Timer`) — see
|
||||||
|
`docs/SHARED_FRAMEWORK.md`.
|
||||||
|
Third-party (all already in `third-party/README.md`, no new libraries): ProudNet (incl. `VizC2S/VizS2C`
|
||||||
|
visualizer RMIs), TinyXML 2.5.x (`TiXml*`), BugTrap, ATL/`_com_error` + ADO (`sqloledb`).
|
||||||
|
|
||||||
|
## Outputs
|
||||||
|
|
||||||
|
| Path | Content |
|
||||||
|
|---|---|
|
||||||
|
| `full/functions/<addr>.c`, `full/index.tsv` | Ghidra pseudocode, 6,993 non-thunk functions (1 failed: `0x1400203d0`, overlapping varnodes) |
|
||||||
|
| `full/vtables.tsv` | 1,441 RTTI vftable slots → functions |
|
||||||
|
| `<addr>.pseudo.c` | REA pseudocode for the 19 functions in `ev_7ee0b809…` and `ev_99e67015…` |
|
||||||
|
| `binary_overview.json` | REA overview record |
|
||||||
|
|
||||||
|
## Findings
|
||||||
|
|
||||||
|
| # | Conclusion | Type | Evidence |
|
||||||
|
|---|---|---|---|
|
||||||
|
| 1 | Central hub between Agents (one per machine) and AgentMonitor (operator tool, presumably SMMonitoring): ProudNet server with two stub/proxy pairs: `AGENT2AGENTMANAGER` stub + `AGENTMANAGER2AGENT` proxy (class `MagiAgentManagerNetwork`), `AGENTMONITOR2AGENTMANAGER` stub + `AGENTMANAGER2AGENTMONITOR` proxy (class `MagiAgentManagerMonitorNetwork`) | Observed (RTTI, vftables); "SMMonitoring = AgentMonitor" is **inference** | `full/vtables.tsv` |
|
||||||
|
| 2 | Agent→AgentManager RMIs 0x8599–0x85a3 (table below); dispatcher `0x140026520`, handlers = `MagiAgentManagerNetwork` vftable `0x14012f1e8` slots 7–17 | Observed | `0x140026520.pseudo.c` |
|
||||||
|
| 3 | AgentMonitor→AgentManager RMIs 0x8661–0x866c; dispatcher `0x14002c3c0`, handlers = vftable `0x14012f6d8` slots 7–18 | Observed | `0x14002c3c0.pseudo.c` |
|
||||||
|
| 4 | Outgoing: AgentManager→Agent 0x85fd–0x860d, AgentManager→Monitor 0x86c5–0x86d2 | Observed (proxy functions) | `full/functions/0x140023930.c` … `0x14002c230.c` |
|
||||||
|
| 5 | Monitor auth (`REQ_AUTH` → `0x140015290`): logs `MONITOR AUTH : ID[%s]`, calls `dbo.up_auth_agentaccount(@Account,@Password)` via ADO (`0x140009d00`), reads column `permission`; permission < 1 → fail; else sends `RESP_AUTH`, server-option list and per-server info to the monitor | Observed | `0x140015290.pseudo.c`, `0x140009d00.pseudo.c`; SP in `decomp/schema/RustyHearts_Auth/procs/up_auth_agentaccount.sql` (plaintext compare against `dbo.AgentAccount`) |
|
||||||
|
| 6 | DB connection strings come from the option file (finding 11); the ADO layer detects `PROVIDER=`/`DRIVER=` and appends `;Application Name=` (`0x140074210`) | Observed | `full/functions/0x140074210.c` |
|
||||||
|
| 7 | `PT_SERVER_COMMAND` handler (`0x140015ac0`): refuses with `Not Active Server.!!!` unless option byte `+0x180` set; command 4 = **patch**: launches a configured executable (server-file entry type `0x18`) with `CreateProcessW(…, CREATE_NEW_CONSOLE …)`, logs `FAILED PATCH ON %s`; commands 0–3,5–7,0xd forwarded to agents (`FUN_14000cb70`); 0xc sets a flag at `+0x9c` | Observed; full code table in §Server commands | `0x140015ac0.pseudo.c` |
|
||||||
|
| 8 | `PT_SERVER_REGISTER` handler (`0x1400137f0`) stores agent/server info by server id; type `0x0d` entries get special handling (marks registered, pushes info to monitors) | Observed; 0x0d = Agent in the server-kind enum (`docs/CONFIG.md` §5) | `0x1400137f0.pseudo.c` |
|
||||||
|
| 9 | Single instance via mutex `Global\RustyHearts_AgentManager` (same pattern as Agent: ACCESS_DENIED/ALREADY_EXISTS → print, sleep 3 s, fail) | Observed | `0x14001d850.pseudo.c` |
|
||||||
|
| 10 | Option files actually used: `option\agentmanager_serveroption.xml` (main, path overridable by argv[1]), `option\customoption.xml` (`0x140038530`), `option\agent.xml` (`0x140033ff0`, `<server>` list), `option\total_option.xml` (only when argv[1] is numeric, agent mode, `0x140030300`/`0x14002fe40`), `option\patch.xml` (**written**, not read: `0x140034220` "Create Patch Option File Succeed"). `service_control.xml`: string only, no reader found. Log `Log\AgentManagerServer.log`, protocol log `Log\Protocol_AgentManager` | Observed | `0x140001390`, `0x140002400`, `0x14002fc00` |
|
||||||
|
| 11 | **DB config**: standalone loader `0x140031000` reads flat `<db_account string timeout/>` (→ +0x90/+0x130) and `<db_game_log …/>` (→ +0x108/+0x13c) (plus `db_web`, `db_game`, ignored here). Then `0x140032f70` re-reads the same file for `<db><agentmanager><db_account/><db_game_log/></agentmanager></db>` and overrides both; if absent it prints `DB PASE ERROR !!!` but continues (non-fatal). The shipped sample uses the flat form, so the override path fails and flat values are used (I for the shipped effect) | Observed | `0x140031000`, `0x140032f70.pseudo.c`, `0x140002400.pseudo.c` |
|
||||||
|
| 12 | `db_account` connection (→ `RustyHearts_Auth`) is used at startup for: `up_read_agentmanager(@code)` (own `ServerOption` row), `up_read_all_serveroption`, `up_read_serverfile`, `up_read_realtimeevent`, and later `up_auth_agentaccount`. `db_game_log` connection (→ `RustyHearts_Log`) is used for `up_insert_log_monitor_{command,user,notice}`, `up_insert_log_pvp_ladder`, `up_create_delete_table`. Each failed read prints `… Failed !!!`, sleeps 3 s and clears the run flag | Observed (SP names, objects `+0x49460`/`+0x49468`); DB mapping from SP location in schema | `0x140002790.pseudo.c`, `0x140007a20.pseudo.c`, `decomp/schema/` |
|
||||||
|
| 13 | **Listen ports**: XML `<server private_ip private_port public_ip public_port …>` gives initial values, but `up_read_agentmanager` row whose `Code` == `server.code` **overrides** them (`0x14002fe40`: World, Type, Private/PublicAddress, Private/Public/Udp port, UdpCount). Agent listener (`0x140005460`) binds `PrivateAddress:PrivatePort` (+0x30/+0x80); monitor listener (`0x140006380`, log `MONITOR NETWORK INIT : ADDRESS[%s] PORT[%u]`) binds `PublicAddress:PublicPort` (+0x58/+0x84). Shipped XML: 51091 / 50091; Agent's `agent.xml` `<agentmanager port="51091">` matches | Observed (code); sample values (S) | `0x140007a20.pseudo.c`, `0x14002fe40.pseudo.c`, `0x140005460.pseudo.c`, `0x140006380.pseudo.c` |
|
||||||
|
| 14 | `REQ_AGENT_UPDATE/SERVER_ON/AUTO` handlers (`0x1400166d0`/`0x1400169c0`/`0x140016cb0`) send `PT_STRING_COMMAND` (proxy slot 26, 0x8607) with literal `"update"`/`"serveron"`/`"auto"` to the addressed agent. On the Agent (`Agent:0x140005950`): `serveron` → start all its servers (`Agent:0x140009890`); `auto` → toggle global auto-revive (+0x171) and report cmd 7; `update` → iterates its server list and re-reports it (I) | Observed (Manager); Agent side observed except `update` intent | `0x1400169c0.pseudo.c`, `decomp/Agent_Release_x64/full/functions/0x140005950.c` |
|
||||||
|
| 15 | `PT_PATCH_SERVER` / `PT_BACKUP_CHARACTER_TABLE_COUNT/_END` from agents (slots 15–17) are relayed to monitors (`0x140011840`/`0x140011ba0`/`0x140011cc0` → monitor proxy) | Observed | `full/functions/0x140013f80.c` … `0x140013fd0.c` |
|
||||||
|
| 16 | Console hotkeys (`0x140003420`, `CConsoleControl`): e.g. 0x32 `CreateBackupTable` → `up_create_delete_table`, 0x33 toggle Active (+0x180), 0x34 reload ServerFile, 0x35 reload ServerOption, print on/off | Observed | `0x140003420.pseudo.c` |
|
||||||
|
| 17 | RMI payload encryption: every proxy call passes one shared RmiContext `DAT_14016f5d0` whose static image holds only `1` in its first field and zeros elsewhere; no secure-context variant is referenced. Inference: messages are sent with ProudNet's default (unencrypted) mode; runtime initializers or server start parameters could still change this — **unknown** | Observed bytes / inference | `ev_3fe7cbab…` |
|
||||||
|
|
||||||
|
### Server commands (`PT_SERVER_COMMAND` monitor → manager → agent)
|
||||||
|
|
||||||
|
Gate: AgentManager ignores all of these unless its Active flag (+0x180, console hotkey 0x33) is set.
|
||||||
|
|
||||||
|
| Code | AgentManager (`0x140015ac0`) | Agent (`Agent:0x14000e1e0`) |
|
||||||
|
|---|---|---|
|
||||||
|
| 0 | forward | **server on**: launch target server (`Agent:0x140008ea0`) |
|
||||||
|
| 1 | forward | **kill** target server by PID (`OpenProcess`+`TerminateProcess`, `Agent:0x140009720`) |
|
||||||
|
| 2, 5, 6, 0xd | forward | forwarded to the game server as `AGENT2SERVER PT_SERVER_COMMAND` (0x84d2); meaning is server-side. On DBCServer (`DBC:0x140153f00`): 1/2/5/6/8 set flags, 0xd toggles a flag (+0xd), 7 toggles auto-revive. That 0xd triggers the character-table backup is **inference** (adjacent `PT_BACKUP_CHARACTER_TABLE_*` RMIs and string `CharacterTable BackUp.`) |
|
||||||
|
| 3 | forward | log `REQ_SERVER_KILL`, then same as 1 |
|
||||||
|
| 4 | **patch**: if no patch server registered, writes `option\patch.xml`, launches `ServerFile` type 0x18 (PatchServer, not shipped) with `CREATE_NEW_CONSOLE`; logs `FAILED PATCH ON %s` on failure; then forwards | turns global auto-revive off, launches the patcher, logs `SUCCEED PATCH ON %s` (`Agent:0x14000a080`) |
|
||||||
|
| 7 | forward | if addressed to the agent's own code: toggle global auto-revive (+0x171) |
|
||||||
|
| 8, 9, 0xa | not forwarded (outside AgentManager's switch) | no-op |
|
||||||
|
| 0xb | not forwarded | toggle per-server auto-revive (reached only from other paths) |
|
||||||
|
| 0xc | **ordered start-all**: sets flag, main loop runs sequencer `0x140003d00`; not forwarded | no-op |
|
||||||
|
|
||||||
|
Sequencer (`0x140003d00`, one step per 100 ms tick; odd steps wait until every server of the group reports state 3, even steps send cmd 0 to stopped ones):
|
||||||
|
1–2 DBC kinds 12/17/18/19 → 3 `up_create_delete_table` (log DB) → 4 send cmd 0xd to every DBC_GAME (12) → 6–7 MSG/GATE/MANAGER/AUCTION/MATCH (6,8,9,10,11) → 8–9 GM/Guild (7,5) → 10–11 Lobby (1) → 12–13 Dungeon/PvP (2,3) → 14 done.
|
||||||
|
|
||||||
|
|
||||||
|
### RMI tables
|
||||||
|
|
||||||
|
| ID | Agent → AgentManager | ID | Monitor → AgentManager |
|
||||||
|
|---|---|---|---|
|
||||||
|
| 0x8599 | PT_SERVER_REGISTER | 0x8661 | REQ_AUTH |
|
||||||
|
| 0x859a | PT_SERVER_INFORMATION | 0x8662 | REQ_SERVER_INFORMATION |
|
||||||
|
| 0x859b | PT_SERVER_COMMAND_RESULT | 0x8663 | PT_SERVER_COMMAND |
|
||||||
|
| 0x859c | PWE_RESP_RESULT_CODE | 0x8664 | PT_SERVER_NOTICE |
|
||||||
|
| 0x859d | NOTIFY_STORAGE_ALARM | 0x8665 | PT_IP_BLOCK |
|
||||||
|
| 0x859e | NOTIFY_MAIL_ALARM | 0x8666 | PT_CHANNEL_STATUS_CHANGE |
|
||||||
|
| 0x859f | REQ_STATISTICS | 0x8667 | PT_USER_KICK |
|
||||||
|
| 0x85a0 | PT_MESSAGE | 0x8668 | PT_STRING_COMMAND |
|
||||||
|
| 0x85a1 | PT_PATCH_SERVER | 0x8669 | PT_REAL_TIME_EVENT |
|
||||||
|
| 0x85a2 | PT_BACKUP_CHARACTER_TABLE_COUNT | 0x866a | REQ_AGENT_UPDATE |
|
||||||
|
| 0x85a3 | PT_BACKUP_CHARACTER_TABLE_END | 0x866b | REQ_AGENT_SERVER_ON |
|
||||||
|
| | | 0x866c | REQ_AGENT_AUTO |
|
||||||
|
|
||||||
|
| ID | AgentManager → Agent | ID | AgentManager → Monitor |
|
||||||
|
|---|---|---|---|
|
||||||
|
| 0x85fd | PT_AGENT_DATA | 0x86c5 | RESP_AUTH |
|
||||||
|
| 0x85fe | PT_SERVER_OPTIONS | 0x86c6 | RESP_SERVER_OPTION |
|
||||||
|
| 0x85ff | PT_SERVER_NOTICE | 0x86c7 | RESP_SERVER_REGISTER |
|
||||||
|
| 0x8600 | PT_SERVER_COMMAND | 0x86c8 | RESP_SERVER_INFORMATION |
|
||||||
|
| 0x8601 | PT_SERVER_CONNECT | 0x86c9 | PT_SERVER_COMMAND_RESULT |
|
||||||
|
| 0x8602 | PT_REFRESH_SERVER_FILE | 0x86ca | RESP_REGISTER_MASTER |
|
||||||
|
| 0x8603 | PT_REFRESH_SERVER_OPTION | 0x86cb | RESP_MASTER_SERVER_COMMAND |
|
||||||
|
| 0x8604 | PT_CHANNEL_STATUS_CHANGE | 0x86cc | RESP_REAL_TIME_EVENT |
|
||||||
|
| 0x8605 | PT_USER_KICK | 0x86cd | NOTIFY_STORAGE_ALARM |
|
||||||
|
| 0x8606 | PT_CURRENT_USER_COUNT | 0x86ce | NOTIFY_MAIL_ALARM |
|
||||||
|
| 0x8607 | PT_STRING_COMMAND | 0x86cf | PT_MESSAGE |
|
||||||
|
| 0x8608 | PT_REAL_TIME_EVENT | 0x86d0 | PT_PATCH_SERVER |
|
||||||
|
| 0x8609 | PWE_REQ_PLAYER_KICK | 0x86d1 | PT_BACKUP_CHARACTER_TABLE_COUNT |
|
||||||
|
| 0x860a | PWE_REQ_PLAYER_BAN | 0x86d2 | PT_BACKUP_CHARACTER_TABLE_END |
|
||||||
|
| 0x860b | PWE_REQ_UPDATE_CASH | | |
|
||||||
|
| 0x860c | PWE_REQ_INSERT_ITEM | | |
|
||||||
|
| 0x860d | PWE_REQ_NOTICE | | |
|
||||||
|
|
||||||
|
Cross-check (resolved): Agent's `AgentManager2AgentStub` = 7 base slots + 17 RMI slots; its dispatcher (`Agent:0x14001d960`) handles exactly 0x85fd–0x860d with the same names. IDs match.
|
||||||
|
|
||||||
|
## Proposed names (not applied)
|
||||||
|
|
||||||
|
| Address | Name |
|
||||||
|
|---|---|
|
||||||
|
| `0x140026520` | `RNP::Agent2AgentManagerStub::ProcessReceivedMessage` |
|
||||||
|
| `0x14002c3c0` | `RNP::AgentMonitor2AgentManagerStub::ProcessReceivedMessage` |
|
||||||
|
| `0x140015290` | `MagiAgentManagerMonitorNetwork::REQ_AUTH` |
|
||||||
|
| `0x140009d00` | `AuthAgentAccount(account, password, &permission)` |
|
||||||
|
| `0x1400137f0` | `MagiAgentManagerNetwork::PT_SERVER_REGISTER` |
|
||||||
|
| `0x140015ac0` | `MagiAgentManagerMonitorNetwork::PT_SERVER_COMMAND` |
|
||||||
|
| `0x14001d850` | `AcquireSingleInstanceMutex` |
|
||||||
|
| `0x140074210` | `AdoConnection::BuildConnectionString` |
|
||||||
|
| `0x140001390` | `wmain` |
|
||||||
|
| `0x140002400` | `MagiAgentManagerServer::Init` (load options) |
|
||||||
|
| `0x140002790` | `MagiAgentManagerServer::Run` (DB load, networks, main loop) |
|
||||||
|
| `0x140031000` | `MagiServerOption::LoadServerXml` |
|
||||||
|
| `0x140032f70` | `MagiServerOption::LoadAgentManagerDb` |
|
||||||
|
| `0x14002fe40` | `MagiServerOption::ApplyServerOptionRow` |
|
||||||
|
| `0x140007a20` | `DbReadAgentManager` |
|
||||||
|
| `0x140005460` | `MagiAgentManagerNetwork::Start` |
|
||||||
|
| `0x140006380` | `MagiAgentManagerMonitorNetwork::Start` |
|
||||||
|
| `0x140003d00` | `StartAllSequencer::Step` |
|
||||||
|
| `0x140034220` | `WritePatchOptionFile` |
|
||||||
|
| `0x140003420` | `CConsoleControl::OnKey` |
|
||||||
|
|
||||||
|
## Remaining unknowns
|
||||||
|
- Exact meaning of codes 2, 5, 6, 0xd on each game-server kind (only DBC's flag handler was checked; its consumer of the 0xd flag was not traced).
|
||||||
|
- Whether ProudNet encryption is enabled at runtime (finding 17).
|
||||||
|
- Agent `update` string-command intent.
|
||||||
|
- `service_control.xml`: no reader found in this binary.
|
||||||
15
decomp/AgentManager_Release_x64/full/functions/0x140001020.c
Normal file
15
decomp/AgentManager_Release_x64/full/functions/0x140001020.c
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001020 FUN_140001020
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
exception * FUN_140001020(exception *param_1,uint param_2)
|
||||||
|
|
||||||
|
{
|
||||||
|
*(undefined ***)param_1 = std::bad_alloc::vftable;
|
||||||
|
std::exception::~exception(param_1);
|
||||||
|
if ((param_2 & 1) != 0) {
|
||||||
|
operator_delete(param_1);
|
||||||
|
}
|
||||||
|
return param_1;
|
||||||
|
}
|
||||||
|
|
||||||
65
decomp/AgentManager_Release_x64/full/functions/0x140001060.c
Normal file
65
decomp/AgentManager_Release_x64/full/functions/0x140001060.c
Normal file
|
|
@ -0,0 +1,65 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001060 FUN_140001060
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||||
|
|
||||||
|
undefined8 FUN_140001060(longlong param_1)
|
||||||
|
|
||||||
|
{
|
||||||
|
PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo;
|
||||||
|
DWORD DVar1;
|
||||||
|
BOOL BVar2;
|
||||||
|
wchar_t *pwVar3;
|
||||||
|
wchar_t *pwVar4;
|
||||||
|
ulonglong uVar5;
|
||||||
|
HANDLE pvVar6;
|
||||||
|
undefined1 auStack_268 [32];
|
||||||
|
undefined8 local_248;
|
||||||
|
undefined8 local_240;
|
||||||
|
WCHAR local_228;
|
||||||
|
undefined1 local_226 [526];
|
||||||
|
ulonglong local_18;
|
||||||
|
|
||||||
|
local_18 = DAT_14016f5a0 ^ (ulonglong)auStack_268;
|
||||||
|
DVar1 = GetCurrentProcessId();
|
||||||
|
*(DWORD *)(param_1 + 0x450) = DVar1;
|
||||||
|
local_228 = L'\0';
|
||||||
|
memset(local_226,0,0x206);
|
||||||
|
DVar1 = GetModuleFileNameW((HMODULE)0x0,&local_228,0x104);
|
||||||
|
if (0 < (int)DVar1) {
|
||||||
|
pwVar3 = wcsrchr(&local_228,L'\\');
|
||||||
|
pwVar4 = wcsrchr(&local_228,L'.');
|
||||||
|
uVar5 = (longlong)pwVar4 + (-2 - (longlong)pwVar3) >> 1;
|
||||||
|
if (0x104 < uVar5) {
|
||||||
|
uVar5 = 0x104;
|
||||||
|
}
|
||||||
|
memcpy((void *)(param_1 + 0x3c),pwVar3 + 1,uVar5 * 2);
|
||||||
|
FUN_140001260(param_1,param_1 + 0x3c);
|
||||||
|
pvVar6 = GetStdHandle(0xfffffff5);
|
||||||
|
*(HANDLE *)(param_1 + 8) = pvVar6;
|
||||||
|
if (pvVar6 != (HANDLE)0xffffffffffffffff) {
|
||||||
|
FUN_1400011d0(param_1);
|
||||||
|
pvVar6 = *(HANDLE *)(param_1 + 8);
|
||||||
|
if (pvVar6 != (HANDLE)0xffffffffffffffff) {
|
||||||
|
lpConsoleScreenBufferInfo = (PCONSOLE_SCREEN_BUFFER_INFO)(param_1 + 0x10);
|
||||||
|
local_248 = 0;
|
||||||
|
local_240 = 0;
|
||||||
|
(lpConsoleScreenBufferInfo->dwSize).X = 0;
|
||||||
|
(lpConsoleScreenBufferInfo->dwSize).Y = 0;
|
||||||
|
(lpConsoleScreenBufferInfo->dwCursorPosition).X = 0;
|
||||||
|
(lpConsoleScreenBufferInfo->dwCursorPosition).Y = 0;
|
||||||
|
*(undefined8 *)(param_1 + 0x18) = 0;
|
||||||
|
*(undefined4 *)(param_1 + 0x20) = 0;
|
||||||
|
*(undefined2 *)(param_1 + 0x24) = 0;
|
||||||
|
BVar2 = GetConsoleScreenBufferInfo(pvVar6,lpConsoleScreenBufferInfo);
|
||||||
|
if (BVar2 != 0) {
|
||||||
|
*(undefined2 *)(param_1 + 0x454) = *(undefined2 *)(param_1 + 0x18);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
26
decomp/AgentManager_Release_x64/full/functions/0x1400011d0.c
Normal file
26
decomp/AgentManager_Release_x64/full/functions/0x1400011d0.c
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x1400011d0 FUN_1400011d0
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
BOOL FUN_1400011d0(longlong param_1)
|
||||||
|
|
||||||
|
{
|
||||||
|
BOOL BVar1;
|
||||||
|
DWORD local_res10 [2];
|
||||||
|
|
||||||
|
if (*(HANDLE *)(param_1 + 8) == (HANDLE)0xffffffffffffffff) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
BVar1 = GetConsoleScreenBufferInfo
|
||||||
|
(*(HANDLE *)(param_1 + 8),(PCONSOLE_SCREEN_BUFFER_INFO)(param_1 + 0x26));
|
||||||
|
if (BVar1 == 0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
FillConsoleOutputAttribute
|
||||||
|
(*(HANDLE *)(param_1 + 8),*(ushort *)(param_1 + 0x2e) & 0xf | 0x10,
|
||||||
|
(int)*(short *)(param_1 + 0x28) * (int)*(short *)(param_1 + 0x26),(COORD)0x0,
|
||||||
|
local_res10);
|
||||||
|
BVar1 = SetConsoleTextAttribute(*(HANDLE *)(param_1 + 8),0x17);
|
||||||
|
return BVar1;
|
||||||
|
}
|
||||||
|
|
||||||
30
decomp/AgentManager_Release_x64/full/functions/0x140001260.c
Normal file
30
decomp/AgentManager_Release_x64/full/functions/0x140001260.c
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001260 FUN_140001260
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||||
|
|
||||||
|
void FUN_140001260(longlong param_1,longlong param_2)
|
||||||
|
|
||||||
|
{
|
||||||
|
longlong lVar1;
|
||||||
|
ulonglong uVar2;
|
||||||
|
undefined1 auStack_248 [32];
|
||||||
|
wchar_t local_228;
|
||||||
|
undefined1 local_226 [526];
|
||||||
|
ulonglong local_18;
|
||||||
|
|
||||||
|
local_18 = DAT_14016f5a0 ^ (ulonglong)auStack_248;
|
||||||
|
uVar2 = (ulonglong)*(uint *)(param_1 + 0x450);
|
||||||
|
lVar1 = param_1 + 0x3c;
|
||||||
|
if (param_2 != 0) {
|
||||||
|
lVar1 = param_2;
|
||||||
|
}
|
||||||
|
FUN_140001b20((wchar_t *)(param_1 + 0x246),L"%s [%d]",lVar1,uVar2);
|
||||||
|
local_228 = L'\0';
|
||||||
|
memset(local_226,0,0x206);
|
||||||
|
FUN_140001af0(&local_228,L"%s",(wchar_t *)(param_1 + 0x246),uVar2);
|
||||||
|
SetConsoleTitleW(&local_228);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
15
decomp/AgentManager_Release_x64/full/functions/0x140001300.c
Normal file
15
decomp/AgentManager_Release_x64/full/functions/0x140001300.c
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001300 FUN_140001300
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
undefined8 * FUN_140001300(undefined8 *param_1,byte param_2)
|
||||||
|
|
||||||
|
{
|
||||||
|
DAT_14017c8b0 = 0;
|
||||||
|
*param_1 = MBISingleton<CConsoleControl>::vftable;
|
||||||
|
if ((param_2 & 1) != 0) {
|
||||||
|
operator_delete(param_1);
|
||||||
|
}
|
||||||
|
return param_1;
|
||||||
|
}
|
||||||
|
|
||||||
13
decomp/AgentManager_Release_x64/full/functions/0x140001340.c
Normal file
13
decomp/AgentManager_Release_x64/full/functions/0x140001340.c
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001340 FUN_140001340
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140001340(undefined8 param_1,undefined8 param_2,undefined8 param_3)
|
||||||
|
|
||||||
|
{
|
||||||
|
FUN_1400ef7a0(DAT_14017c8a8,L"Invalid parameter detected in function %s. File: %s Line: %d\n",
|
||||||
|
param_2,param_3);
|
||||||
|
FUN_1400ef7a0(DAT_14017c8a8,L"Expression: %s\n",param_1,param_3);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
89
decomp/AgentManager_Release_x64/full/functions/0x140001390.c
Normal file
89
decomp/AgentManager_Release_x64/full/functions/0x140001390.c
Normal file
|
|
@ -0,0 +1,89 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001390 FUN_140001390
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
/* WARNING: Function: __chkstk replaced with injection: alloca_probe */
|
||||||
|
|
||||||
|
undefined8 FUN_140001390(int param_1,longlong param_2,undefined8 param_3,longlong **param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
short sVar1;
|
||||||
|
undefined4 uVar2;
|
||||||
|
DWORD DVar3;
|
||||||
|
_invalid_parameter_handler _Handler;
|
||||||
|
undefined8 *puVar4;
|
||||||
|
ulonglong uVar5;
|
||||||
|
PHANDLE ProcessHeaps;
|
||||||
|
LPCWSTR pWVar6;
|
||||||
|
short *psVar7;
|
||||||
|
HANDLE *ppvVar8;
|
||||||
|
undefined8 **HeapInformation;
|
||||||
|
undefined8 *local_res18;
|
||||||
|
undefined8 local_res20;
|
||||||
|
HANDLE local_2028;
|
||||||
|
undefined1 local_2020 [8192];
|
||||||
|
undefined8 uStack_20;
|
||||||
|
|
||||||
|
uStack_20 = 0x14000139e;
|
||||||
|
DAT_14017ce74 = timeGetTime();
|
||||||
|
FUN_14001d810(&local_res20);
|
||||||
|
uVar2 = FUN_14001d850(&local_res20);
|
||||||
|
if ((char)uVar2 != '\0') {
|
||||||
|
FUN_14001d8c0();
|
||||||
|
FUN_140001580();
|
||||||
|
FUN_140001060((longlong)DAT_14017c8b0);
|
||||||
|
if (1 < param_1) {
|
||||||
|
uVar5 = 0xffffffffffffffff;
|
||||||
|
psVar7 = *(short **)(param_2 + 8);
|
||||||
|
do {
|
||||||
|
if (uVar5 == 0) break;
|
||||||
|
uVar5 = uVar5 - 1;
|
||||||
|
sVar1 = *psVar7;
|
||||||
|
psVar7 = psVar7 + 1;
|
||||||
|
} while (sVar1 != 0);
|
||||||
|
FUN_140001710((ulonglong *)&DAT_140175020,*(short **)(param_2 + 8),~uVar5 - 1);
|
||||||
|
}
|
||||||
|
puVar4 = (undefined8 *)0x0;
|
||||||
|
local_2028 = (HANDLE)0x0;
|
||||||
|
HeapInformation = (undefined8 **)0x2000;
|
||||||
|
memset(local_2020,0,0x2000);
|
||||||
|
ProcessHeaps = &local_2028;
|
||||||
|
DVar3 = GetProcessHeaps(0x400,ProcessHeaps);
|
||||||
|
if (DVar3 != 0) {
|
||||||
|
ppvVar8 = &local_2028;
|
||||||
|
uVar5 = (ulonglong)DVar3;
|
||||||
|
do {
|
||||||
|
local_res18 = (undefined8 *)CONCAT44(local_res18._4_4_,2);
|
||||||
|
param_4 = (longlong **)0x4;
|
||||||
|
HeapInformation = &local_res18;
|
||||||
|
ProcessHeaps = (PHANDLE)0x0;
|
||||||
|
HeapSetInformation(*ppvVar8,HeapCompatibilityInformation,HeapInformation,4);
|
||||||
|
ppvVar8 = ppvVar8 + 1;
|
||||||
|
uVar5 = uVar5 - 1;
|
||||||
|
} while (uVar5 != 0);
|
||||||
|
}
|
||||||
|
_Handler = _set_invalid_parameter_handler(FUN_140001340);
|
||||||
|
local_res18 = operator_new(0x494a8);
|
||||||
|
if (local_res18 != (undefined8 *)0x0) {
|
||||||
|
puVar4 = FUN_1400022b0(local_res18,ProcessHeaps,HeapInformation,param_4);
|
||||||
|
}
|
||||||
|
pWVar6 = (LPCWSTR)&DAT_140175020;
|
||||||
|
if (7 < DAT_140175038) {
|
||||||
|
pWVar6 = DAT_140175020;
|
||||||
|
}
|
||||||
|
DAT_14017c8b8 = puVar4;
|
||||||
|
FUN_140002400(pWVar6,ProcessHeaps,HeapInformation,param_4);
|
||||||
|
FUN_140002790((longlong)DAT_14017c8b8,ProcessHeaps,HeapInformation,param_4);
|
||||||
|
FUN_140002670((longlong)DAT_14017c8b8);
|
||||||
|
if (DAT_14017c8b8 != (undefined8 *)0x0) {
|
||||||
|
(**(code **)*DAT_14017c8b8)(DAT_14017c8b8,1);
|
||||||
|
}
|
||||||
|
if (DAT_14017c8b0 != (undefined8 *)0x0) {
|
||||||
|
(**(code **)*DAT_14017c8b0)(DAT_14017c8b0,1);
|
||||||
|
}
|
||||||
|
_set_invalid_parameter_handler(_Handler);
|
||||||
|
}
|
||||||
|
FUN_14001d820(&local_res20);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
16
decomp/AgentManager_Release_x64/full/functions/0x140001550.c
Normal file
16
decomp/AgentManager_Release_x64/full/functions/0x140001550.c
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001550 FUN_140001550
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140001550(undefined8 *param_1)
|
||||||
|
|
||||||
|
{
|
||||||
|
if (7 < (ulonglong)param_1[3]) {
|
||||||
|
operator_delete((void *)*param_1);
|
||||||
|
}
|
||||||
|
param_1[3] = 7;
|
||||||
|
param_1[2] = 0;
|
||||||
|
*(undefined2 *)param_1 = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
32
decomp/AgentManager_Release_x64/full/functions/0x140001580.c
Normal file
32
decomp/AgentManager_Release_x64/full/functions/0x140001580.c
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001580 FUN_140001580
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140001580(void)
|
||||||
|
|
||||||
|
{
|
||||||
|
undefined8 *puVar1;
|
||||||
|
|
||||||
|
puVar1 = operator_new(0x458);
|
||||||
|
if (puVar1 != (undefined8 *)0x0) {
|
||||||
|
puVar1[2] = 0;
|
||||||
|
*(undefined8 *)((longlong)puVar1 + 0x26) = 0;
|
||||||
|
puVar1[3] = 0;
|
||||||
|
*(undefined8 *)((longlong)puVar1 + 0x2e) = 0;
|
||||||
|
*(undefined4 *)(puVar1 + 4) = 0;
|
||||||
|
*(undefined4 *)((longlong)puVar1 + 0x36) = 0;
|
||||||
|
*(undefined2 *)((longlong)puVar1 + 0x24) = 0;
|
||||||
|
*(undefined2 *)((longlong)puVar1 + 0x3a) = 0;
|
||||||
|
*puVar1 = CConsoleControl::vftable;
|
||||||
|
puVar1[1] = 0xffffffffffffffff;
|
||||||
|
*(undefined4 *)(puVar1 + 0x8a) = 0;
|
||||||
|
memset((void *)((longlong)puVar1 + 0x3c),0,0x20a);
|
||||||
|
memset((void *)((longlong)puVar1 + 0x246),0,0x20a);
|
||||||
|
DAT_14017c8b0 = puVar1;
|
||||||
|
*(undefined2 *)((longlong)puVar1 + 0x454) = 0x17;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
DAT_14017c8b0 = (undefined8 *)0x0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
48
decomp/AgentManager_Release_x64/full/functions/0x140001630.c
Normal file
48
decomp/AgentManager_Release_x64/full/functions/0x140001630.c
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001630 FUN_140001630
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
longlong * FUN_140001630(longlong *param_1,longlong *param_2,ulonglong param_3,ulonglong param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
code *pcVar1;
|
||||||
|
char cVar2;
|
||||||
|
longlong *plVar3;
|
||||||
|
ulonglong uVar4;
|
||||||
|
|
||||||
|
if (param_3 <= (ulonglong)param_2[2]) {
|
||||||
|
uVar4 = param_2[2] - param_3;
|
||||||
|
if (param_4 < uVar4) {
|
||||||
|
uVar4 = param_4;
|
||||||
|
}
|
||||||
|
if (param_1 == param_2) {
|
||||||
|
FUN_140001800(param_1,uVar4 + param_3,0xffffffffffffffff);
|
||||||
|
FUN_140001800(param_1,0,param_3);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
cVar2 = FUN_1400018a0(param_1,uVar4);
|
||||||
|
if (cVar2 != '\0') {
|
||||||
|
if (7 < (ulonglong)param_2[3]) {
|
||||||
|
param_2 = (longlong *)*param_2;
|
||||||
|
}
|
||||||
|
plVar3 = param_1;
|
||||||
|
if (7 < (ulonglong)param_1[3]) {
|
||||||
|
plVar3 = (longlong *)*param_1;
|
||||||
|
}
|
||||||
|
memcpy(plVar3,(void *)((longlong)param_2 + param_3 * 2),uVar4 * 2);
|
||||||
|
param_1[2] = uVar4;
|
||||||
|
plVar3 = param_1;
|
||||||
|
if (7 < (ulonglong)param_1[3]) {
|
||||||
|
plVar3 = (longlong *)*param_1;
|
||||||
|
}
|
||||||
|
*(undefined2 *)((longlong)plVar3 + uVar4 * 2) = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return param_1;
|
||||||
|
}
|
||||||
|
std::_Xout_of_range("invalid string position");
|
||||||
|
pcVar1 = (code *)swi(3);
|
||||||
|
plVar3 = (longlong *)(*pcVar1)();
|
||||||
|
return plVar3;
|
||||||
|
}
|
||||||
|
|
||||||
51
decomp/AgentManager_Release_x64/full/functions/0x140001710.c
Normal file
51
decomp/AgentManager_Release_x64/full/functions/0x140001710.c
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001710 FUN_140001710
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
ulonglong * FUN_140001710(ulonglong *param_1,void *param_2,ulonglong param_3)
|
||||||
|
|
||||||
|
{
|
||||||
|
ulonglong uVar1;
|
||||||
|
char cVar2;
|
||||||
|
ulonglong *puVar3;
|
||||||
|
|
||||||
|
if (param_2 != (void *)0x0) {
|
||||||
|
uVar1 = param_1[3];
|
||||||
|
puVar3 = param_1;
|
||||||
|
if (7 < uVar1) {
|
||||||
|
puVar3 = (ulonglong *)*param_1;
|
||||||
|
}
|
||||||
|
if (puVar3 <= param_2) {
|
||||||
|
puVar3 = param_1;
|
||||||
|
if (7 < uVar1) {
|
||||||
|
puVar3 = (ulonglong *)*param_1;
|
||||||
|
}
|
||||||
|
if (param_2 < (void *)((longlong)puVar3 + param_1[2] * 2)) {
|
||||||
|
puVar3 = param_1;
|
||||||
|
if (7 < uVar1) {
|
||||||
|
puVar3 = (ulonglong *)*param_1;
|
||||||
|
}
|
||||||
|
puVar3 = (ulonglong *)
|
||||||
|
FUN_140001630((longlong *)param_1,(longlong *)param_1,
|
||||||
|
(longlong)param_2 - (longlong)puVar3 >> 1,param_3);
|
||||||
|
return puVar3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cVar2 = FUN_1400018a0(param_1,param_3);
|
||||||
|
if (cVar2 != '\0') {
|
||||||
|
puVar3 = param_1;
|
||||||
|
if (7 < param_1[3]) {
|
||||||
|
puVar3 = (ulonglong *)*param_1;
|
||||||
|
}
|
||||||
|
memcpy(puVar3,param_2,param_3 * 2);
|
||||||
|
param_1[2] = param_3;
|
||||||
|
puVar3 = param_1;
|
||||||
|
if (7 < param_1[3]) {
|
||||||
|
puVar3 = (ulonglong *)*param_1;
|
||||||
|
}
|
||||||
|
*(undefined2 *)(param_3 * 2 + (longlong)puVar3) = 0;
|
||||||
|
}
|
||||||
|
return param_1;
|
||||||
|
}
|
||||||
|
|
||||||
43
decomp/AgentManager_Release_x64/full/functions/0x140001800.c
Normal file
43
decomp/AgentManager_Release_x64/full/functions/0x140001800.c
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001800 FUN_140001800
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
undefined8 * FUN_140001800(undefined8 *param_1,ulonglong param_2,ulonglong param_3)
|
||||||
|
|
||||||
|
{
|
||||||
|
longlong lVar1;
|
||||||
|
code *pcVar2;
|
||||||
|
undefined8 *puVar3;
|
||||||
|
undefined8 *puVar4;
|
||||||
|
ulonglong uVar5;
|
||||||
|
|
||||||
|
if ((ulonglong)param_1[2] < param_2) {
|
||||||
|
std::_Xout_of_range("invalid string position");
|
||||||
|
pcVar2 = (code *)swi(3);
|
||||||
|
puVar3 = (undefined8 *)(*pcVar2)();
|
||||||
|
return puVar3;
|
||||||
|
}
|
||||||
|
uVar5 = param_1[2] - param_2;
|
||||||
|
if (uVar5 < param_3) {
|
||||||
|
param_3 = uVar5;
|
||||||
|
}
|
||||||
|
if (param_3 != 0) {
|
||||||
|
puVar4 = param_1;
|
||||||
|
puVar3 = param_1;
|
||||||
|
if (7 < (ulonglong)param_1[3]) {
|
||||||
|
puVar4 = (undefined8 *)*param_1;
|
||||||
|
puVar3 = (undefined8 *)*param_1;
|
||||||
|
}
|
||||||
|
memmove((void *)((longlong)puVar4 + param_2 * 2),
|
||||||
|
(void *)((longlong)puVar3 + (param_2 + param_3) * 2),(uVar5 - param_3) * 2);
|
||||||
|
lVar1 = param_1[2];
|
||||||
|
param_1[2] = lVar1 - param_3;
|
||||||
|
puVar3 = param_1;
|
||||||
|
if (7 < (ulonglong)param_1[3]) {
|
||||||
|
puVar3 = (undefined8 *)*param_1;
|
||||||
|
}
|
||||||
|
*(undefined2 *)((longlong)puVar3 + (lVar1 - param_3) * 2) = 0;
|
||||||
|
}
|
||||||
|
return param_1;
|
||||||
|
}
|
||||||
|
|
||||||
30
decomp/AgentManager_Release_x64/full/functions/0x1400018a0.c
Normal file
30
decomp/AgentManager_Release_x64/full/functions/0x1400018a0.c
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x1400018a0 FUN_1400018a0
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
undefined1 FUN_1400018a0(undefined8 *param_1,ulonglong param_2)
|
||||||
|
|
||||||
|
{
|
||||||
|
code *pcVar1;
|
||||||
|
undefined1 uVar2;
|
||||||
|
|
||||||
|
if (0x7ffffffffffffffe < param_2) {
|
||||||
|
std::_Xlength_error("string too long");
|
||||||
|
pcVar1 = (code *)swi(3);
|
||||||
|
uVar2 = (*pcVar1)();
|
||||||
|
return uVar2;
|
||||||
|
}
|
||||||
|
if ((ulonglong)param_1[3] < param_2) {
|
||||||
|
FUN_140001920(param_1,param_2,param_1[2]);
|
||||||
|
return param_2 != 0;
|
||||||
|
}
|
||||||
|
if (param_2 == 0) {
|
||||||
|
param_1[2] = 0;
|
||||||
|
if (7 < (ulonglong)param_1[3]) {
|
||||||
|
param_1 = (undefined8 *)*param_1;
|
||||||
|
}
|
||||||
|
*(undefined2 *)param_1 = 0;
|
||||||
|
}
|
||||||
|
return param_2 != 0;
|
||||||
|
}
|
||||||
|
|
||||||
55
decomp/AgentManager_Release_x64/full/functions/0x140001920.c
Normal file
55
decomp/AgentManager_Release_x64/full/functions/0x140001920.c
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001920 FUN_140001920
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140001920(undefined8 *param_1,ulonglong param_2,longlong param_3)
|
||||||
|
|
||||||
|
{
|
||||||
|
ulonglong uVar1;
|
||||||
|
undefined8 *_Dst;
|
||||||
|
ulonglong uVar2;
|
||||||
|
undefined8 *_Src;
|
||||||
|
ulonglong uVar3;
|
||||||
|
char *local_res20;
|
||||||
|
undefined **local_40 [3];
|
||||||
|
|
||||||
|
uVar3 = param_2 | 7;
|
||||||
|
if (uVar3 < 0x7fffffffffffffff) {
|
||||||
|
uVar1 = param_1[3];
|
||||||
|
uVar2 = uVar1 >> 1;
|
||||||
|
param_2 = uVar3;
|
||||||
|
if ((uVar3 / 3 < uVar2) && (param_2 = uVar2 + uVar1, 0x7ffffffffffffffe - uVar2 < uVar1)) {
|
||||||
|
param_2 = 0x7ffffffffffffffe;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
uVar3 = param_2 + 1;
|
||||||
|
_Dst = (undefined8 *)0x0;
|
||||||
|
if ((uVar3 != 0) &&
|
||||||
|
((0x7fffffffffffffff < uVar3 || (_Dst = operator_new(uVar3 * 2), _Dst == (undefined8 *)0x0))))
|
||||||
|
{
|
||||||
|
local_res20 = (char *)0x0;
|
||||||
|
std::exception::exception((exception *)local_40,&local_res20);
|
||||||
|
local_40[0] = std::bad_alloc::vftable;
|
||||||
|
/* WARNING: Subroutine does not return */
|
||||||
|
_CxxThrowException(local_40,(ThrowInfo *)&DAT_14016c158);
|
||||||
|
}
|
||||||
|
if (param_3 != 0) {
|
||||||
|
_Src = param_1;
|
||||||
|
if (7 < (ulonglong)param_1[3]) {
|
||||||
|
_Src = (undefined8 *)*param_1;
|
||||||
|
}
|
||||||
|
memcpy(_Dst,_Src,param_3 * 2);
|
||||||
|
}
|
||||||
|
if (7 < (ulonglong)param_1[3]) {
|
||||||
|
operator_delete((void *)*param_1);
|
||||||
|
}
|
||||||
|
*param_1 = _Dst;
|
||||||
|
param_1[3] = param_2;
|
||||||
|
param_1[2] = param_3;
|
||||||
|
if (7 < param_2) {
|
||||||
|
param_1 = _Dst;
|
||||||
|
}
|
||||||
|
*(undefined2 *)((longlong)param_1 + param_3 * 2) = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
25
decomp/AgentManager_Release_x64/full/functions/0x140001a80.c
Normal file
25
decomp/AgentManager_Release_x64/full/functions/0x140001a80.c
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001a80 FUN_140001a80
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void * FUN_140001a80(ulonglong param_1)
|
||||||
|
|
||||||
|
{
|
||||||
|
void *pvVar1;
|
||||||
|
char *local_res8 [4];
|
||||||
|
undefined **local_28 [5];
|
||||||
|
|
||||||
|
if (param_1 == 0) {
|
||||||
|
return (void *)0x0;
|
||||||
|
}
|
||||||
|
if ((param_1 < 0x8000000000000000) && (pvVar1 = operator_new(param_1 * 2), pvVar1 != (void *)0x0))
|
||||||
|
{
|
||||||
|
return pvVar1;
|
||||||
|
}
|
||||||
|
local_res8[0] = (char *)0x0;
|
||||||
|
std::exception::exception((exception *)local_28,local_res8);
|
||||||
|
local_28[0] = std::bad_alloc::vftable;
|
||||||
|
/* WARNING: Subroutine does not return */
|
||||||
|
_CxxThrowException(local_28,(ThrowInfo *)&DAT_14016c158);
|
||||||
|
}
|
||||||
|
|
||||||
16
decomp/AgentManager_Release_x64/full/functions/0x140001af0.c
Normal file
16
decomp/AgentManager_Release_x64/full/functions/0x140001af0.c
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001af0 FUN_140001af0
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140001af0(wchar_t *param_1,wchar_t *param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
undefined8 local_res18;
|
||||||
|
undefined8 local_res20;
|
||||||
|
|
||||||
|
local_res18 = param_3;
|
||||||
|
local_res20 = param_4;
|
||||||
|
vswprintf_s(param_1,0x104,param_2,(va_list)&local_res18);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
16
decomp/AgentManager_Release_x64/full/functions/0x140001b20.c
Normal file
16
decomp/AgentManager_Release_x64/full/functions/0x140001b20.c
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001b20 FUN_140001b20
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140001b20(wchar_t *param_1,wchar_t *param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
undefined8 local_res18;
|
||||||
|
undefined8 local_res20;
|
||||||
|
|
||||||
|
local_res18 = param_3;
|
||||||
|
local_res20 = param_4;
|
||||||
|
vswprintf_s(param_1,0x105,param_2,(va_list)&local_res18);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
12
decomp/AgentManager_Release_x64/full/functions/0x140001b50.c
Normal file
12
decomp/AgentManager_Release_x64/full/functions/0x140001b50.c
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001b50 FUN_140001b50
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
exception * FUN_140001b50(exception *param_1,exception *param_2)
|
||||||
|
|
||||||
|
{
|
||||||
|
std::exception::exception(param_1,param_2);
|
||||||
|
*(undefined ***)param_1 = std::bad_alloc::vftable;
|
||||||
|
return param_1;
|
||||||
|
}
|
||||||
|
|
||||||
20
decomp/AgentManager_Release_x64/full/functions/0x140001b80.c
Normal file
20
decomp/AgentManager_Release_x64/full/functions/0x140001b80.c
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001b80 FUN_140001b80
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
undefined8 * FUN_140001b80(undefined8 *param_1,uint param_2)
|
||||||
|
|
||||||
|
{
|
||||||
|
*param_1 = MagiServerBase::vftable;
|
||||||
|
if ((void *)param_1[2] != (void *)0x0) {
|
||||||
|
operator_delete((void *)param_1[2]);
|
||||||
|
}
|
||||||
|
param_1[2] = 0;
|
||||||
|
param_1[3] = 0;
|
||||||
|
param_1[4] = 0;
|
||||||
|
if ((param_2 & 1) != 0) {
|
||||||
|
operator_delete(param_1);
|
||||||
|
}
|
||||||
|
return param_1;
|
||||||
|
}
|
||||||
|
|
||||||
17
decomp/AgentManager_Release_x64/full/functions/0x140001be0.c
Normal file
17
decomp/AgentManager_Release_x64/full/functions/0x140001be0.c
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001be0 FUN_140001be0
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140001be0(undefined8 *param_1)
|
||||||
|
|
||||||
|
{
|
||||||
|
*param_1 = MagiServerBase::vftable;
|
||||||
|
if ((void *)param_1[2] != (void *)0x0) {
|
||||||
|
operator_delete((void *)param_1[2]);
|
||||||
|
}
|
||||||
|
param_1[2] = 0;
|
||||||
|
param_1[3] = 0;
|
||||||
|
param_1[4] = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
12
decomp/AgentManager_Release_x64/full/functions/0x140001c20.c
Normal file
12
decomp/AgentManager_Release_x64/full/functions/0x140001c20.c
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001c20 FUN_140001c20
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140001c20(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
FUN_140049e40(param_1 + 4);
|
||||||
|
FUN_140002190(param_1,param_2,param_3,param_4);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
46
decomp/AgentManager_Release_x64/full/functions/0x140001c50.c
Normal file
46
decomp/AgentManager_Release_x64/full/functions/0x140001c50.c
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001c50 FUN_140001c50
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
longlong * FUN_140001c50(longlong *param_1,undefined8 *param_2)
|
||||||
|
|
||||||
|
{
|
||||||
|
ulonglong uVar1;
|
||||||
|
code *pcVar2;
|
||||||
|
char cVar3;
|
||||||
|
longlong *plVar4;
|
||||||
|
ulonglong uVar5;
|
||||||
|
|
||||||
|
uVar5 = 0xffffffffffffffff;
|
||||||
|
if (param_2[2] != 0xffffffffffffffff) {
|
||||||
|
uVar5 = param_2[2];
|
||||||
|
}
|
||||||
|
if (uVar5 < -param_1[2] - 1U) {
|
||||||
|
if (uVar5 != 0) {
|
||||||
|
uVar1 = param_1[2] + uVar5;
|
||||||
|
cVar3 = FUN_1400018a0(param_1,uVar1);
|
||||||
|
if (cVar3 != '\0') {
|
||||||
|
if (7 < (ulonglong)param_2[3]) {
|
||||||
|
param_2 = (undefined8 *)*param_2;
|
||||||
|
}
|
||||||
|
plVar4 = param_1;
|
||||||
|
if (7 < (ulonglong)param_1[3]) {
|
||||||
|
plVar4 = (longlong *)*param_1;
|
||||||
|
}
|
||||||
|
memcpy((void *)((longlong)plVar4 + param_1[2] * 2),param_2,uVar5 * 2);
|
||||||
|
param_1[2] = uVar1;
|
||||||
|
plVar4 = param_1;
|
||||||
|
if (7 < (ulonglong)param_1[3]) {
|
||||||
|
plVar4 = (longlong *)*param_1;
|
||||||
|
}
|
||||||
|
*(undefined2 *)((longlong)plVar4 + uVar1 * 2) = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return param_1;
|
||||||
|
}
|
||||||
|
std::_Xlength_error("string too long");
|
||||||
|
pcVar2 = (code *)swi(3);
|
||||||
|
plVar4 = (longlong *)(*pcVar2)();
|
||||||
|
return plVar4;
|
||||||
|
}
|
||||||
|
|
||||||
76
decomp/AgentManager_Release_x64/full/functions/0x140001d10.c
Normal file
76
decomp/AgentManager_Release_x64/full/functions/0x140001d10.c
Normal file
|
|
@ -0,0 +1,76 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001d10 FUN_140001d10
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140001d10(longlong *param_1,int param_2)
|
||||||
|
|
||||||
|
{
|
||||||
|
undefined *puVar1;
|
||||||
|
int *piVar2;
|
||||||
|
int iVar3;
|
||||||
|
undefined4 in_register_00000014;
|
||||||
|
undefined *puVar4;
|
||||||
|
undefined8 in_R8;
|
||||||
|
ulonglong uVar5;
|
||||||
|
undefined8 in_R9;
|
||||||
|
|
||||||
|
puVar4 = PTR_DAT_14016f010;
|
||||||
|
puVar1 = (undefined *)*param_1;
|
||||||
|
if ((undefined *)*param_1 == (undefined *)0x0) {
|
||||||
|
puVar1 = PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
*param_1 = (longlong)puVar1;
|
||||||
|
if (param_2 < 0) {
|
||||||
|
/* WARNING: Subroutine does not return */
|
||||||
|
FUN_14003dec0();
|
||||||
|
}
|
||||||
|
if (param_2 == 0) {
|
||||||
|
FUN_140002190(param_1,CONCAT44(in_register_00000014,param_2),in_R8,in_R9);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
iVar3 = 0;
|
||||||
|
if (puVar1 != (undefined *)0x0) {
|
||||||
|
if (puVar1 == puVar4) {
|
||||||
|
iVar3 = 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
iVar3 = *(int *)(puVar1 + -8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (param_2 != iVar3) {
|
||||||
|
piVar2 = (int *)FUN_14003e840((longlong)param_2 * 2 + 10);
|
||||||
|
if (piVar2 != (int *)0x0) {
|
||||||
|
*piVar2 = 0;
|
||||||
|
piVar2[1] = 1;
|
||||||
|
}
|
||||||
|
puVar1 = PTR_DAT_14016f010;
|
||||||
|
*piVar2 = param_2;
|
||||||
|
puVar4 = (undefined *)*param_1;
|
||||||
|
if (puVar4 == (undefined *)0x0) {
|
||||||
|
iVar3 = 0;
|
||||||
|
}
|
||||||
|
else if (puVar4 == puVar1) {
|
||||||
|
iVar3 = 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
iVar3 = *(int *)(puVar4 + -8);
|
||||||
|
}
|
||||||
|
if (iVar3 <= param_2) {
|
||||||
|
if ((puVar4 == (undefined *)0x0) || (puVar4 == puVar1)) {
|
||||||
|
param_2 = 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
param_2 = *(int *)(puVar4 + -8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (puVar4 == (undefined *)0x0) {
|
||||||
|
puVar4 = puVar1;
|
||||||
|
}
|
||||||
|
uVar5 = (ulonglong)(uint)param_2;
|
||||||
|
FUN_14003e650(piVar2 + 2,puVar4,param_2);
|
||||||
|
FUN_140002190(param_1,puVar4,uVar5,in_R9);
|
||||||
|
*param_1 = (longlong)(piVar2 + 2);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
73
decomp/AgentManager_Release_x64/full/functions/0x140001df0.c
Normal file
73
decomp/AgentManager_Release_x64/full/functions/0x140001df0.c
Normal file
|
|
@ -0,0 +1,73 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001df0 FUN_140001df0
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140001df0(longlong *param_1)
|
||||||
|
|
||||||
|
{
|
||||||
|
int iVar1;
|
||||||
|
undefined *puVar2;
|
||||||
|
undefined8 *puVar3;
|
||||||
|
uint *puVar4;
|
||||||
|
uint uVar5;
|
||||||
|
uint uVar6;
|
||||||
|
undefined *puVar7;
|
||||||
|
ulonglong uVar8;
|
||||||
|
undefined8 in_R9;
|
||||||
|
|
||||||
|
puVar7 = (undefined *)*param_1;
|
||||||
|
if (puVar7 == (undefined *)0x0) {
|
||||||
|
*param_1 = (longlong)PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
else if ((puVar7 != PTR_DAT_14016f010) && ((int *)(puVar7 + -8) != (int *)0x0)) {
|
||||||
|
if (*(int *)(puVar7 + -4) < 2) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
iVar1 = *(int *)(puVar7 + -8);
|
||||||
|
if (iVar1 < 0) {
|
||||||
|
/* WARNING: Subroutine does not return */
|
||||||
|
FUN_14003dec0();
|
||||||
|
}
|
||||||
|
puVar4 = (uint *)FUN_14003e840((longlong)iVar1 * 2 + 10);
|
||||||
|
uVar5 = 0;
|
||||||
|
if (puVar4 != (uint *)0x0) {
|
||||||
|
*puVar4 = 0;
|
||||||
|
puVar4[1] = 1;
|
||||||
|
}
|
||||||
|
puVar2 = PTR_DAT_14016f010;
|
||||||
|
puVar7 = (undefined *)*param_1;
|
||||||
|
if (puVar7 == (undefined *)0x0) {
|
||||||
|
uVar6 = 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
uVar6 = uVar5;
|
||||||
|
if (puVar7 != PTR_DAT_14016f010) {
|
||||||
|
uVar6 = *(uint *)(puVar7 + -8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*puVar4 = uVar6;
|
||||||
|
puVar7 = (undefined *)*param_1;
|
||||||
|
if ((puVar7 != (undefined *)0x0) && (puVar7 != puVar2)) {
|
||||||
|
uVar5 = *(uint *)(puVar7 + -8);
|
||||||
|
}
|
||||||
|
if (puVar7 == (undefined *)0x0) {
|
||||||
|
puVar7 = puVar2;
|
||||||
|
}
|
||||||
|
uVar8 = (ulonglong)uVar5;
|
||||||
|
FUN_14003e650(puVar4 + 2,puVar7,uVar5);
|
||||||
|
FUN_140002190(param_1,puVar7,uVar8,in_R9);
|
||||||
|
*param_1 = (longlong)(puVar4 + 2);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
puVar3 = (undefined8 *)FUN_14003e840(10);
|
||||||
|
*puVar3 = 0;
|
||||||
|
*(undefined2 *)(puVar3 + 1) = 0;
|
||||||
|
if (puVar3 != (undefined8 *)0x0) {
|
||||||
|
*(undefined4 *)puVar3 = 0;
|
||||||
|
*(undefined4 *)((longlong)puVar3 + 4) = 1;
|
||||||
|
}
|
||||||
|
*(undefined2 *)(puVar3 + 1) = 0;
|
||||||
|
*param_1 = (longlong)(puVar3 + 1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
39
decomp/AgentManager_Release_x64/full/functions/0x140001ee0.c
Normal file
39
decomp/AgentManager_Release_x64/full/functions/0x140001ee0.c
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001ee0 FUN_140001ee0
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
undefined * FUN_140001ee0(longlong *param_1,int param_2)
|
||||||
|
|
||||||
|
{
|
||||||
|
int iVar1;
|
||||||
|
undefined *puVar2;
|
||||||
|
int iVar3;
|
||||||
|
|
||||||
|
puVar2 = (undefined *)*param_1;
|
||||||
|
iVar3 = 0;
|
||||||
|
if ((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_14016f010)) {
|
||||||
|
iVar3 = *(int *)(puVar2 + -8);
|
||||||
|
}
|
||||||
|
if (((param_2 <= iVar3) && (param_2 = 0, puVar2 != (undefined *)0x0)) &&
|
||||||
|
(puVar2 != PTR_DAT_14016f010)) {
|
||||||
|
param_2 = *(int *)(puVar2 + -8);
|
||||||
|
}
|
||||||
|
iVar3 = 1;
|
||||||
|
if (1 < param_2) {
|
||||||
|
iVar3 = param_2;
|
||||||
|
}
|
||||||
|
iVar1 = 0;
|
||||||
|
if ((puVar2 != (undefined *)0x0) && (iVar1 = 0, puVar2 != PTR_DAT_14016f010)) {
|
||||||
|
iVar1 = *(int *)(puVar2 + -8);
|
||||||
|
}
|
||||||
|
if (iVar1 < iVar3) {
|
||||||
|
FUN_140001d10(param_1,iVar3);
|
||||||
|
}
|
||||||
|
FUN_140001df0(param_1);
|
||||||
|
puVar2 = (undefined *)*param_1;
|
||||||
|
if ((undefined *)*param_1 == (undefined *)0x0) {
|
||||||
|
puVar2 = PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
return puVar2;
|
||||||
|
}
|
||||||
|
|
||||||
34
decomp/AgentManager_Release_x64/full/functions/0x140001f60.c
Normal file
34
decomp/AgentManager_Release_x64/full/functions/0x140001f60.c
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001f60 FUN_140001f60
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140001f60(longlong *param_1,int param_2)
|
||||||
|
|
||||||
|
{
|
||||||
|
undefined *puVar1;
|
||||||
|
int iVar2;
|
||||||
|
int iVar3;
|
||||||
|
|
||||||
|
puVar1 = (undefined *)*param_1;
|
||||||
|
iVar3 = 0;
|
||||||
|
if (0 < param_2) {
|
||||||
|
iVar3 = param_2;
|
||||||
|
}
|
||||||
|
iVar2 = 0;
|
||||||
|
if ((puVar1 != (undefined *)0x0) && (iVar2 = 0, puVar1 != PTR_DAT_14016f010)) {
|
||||||
|
iVar2 = *(int *)(puVar1 + -8);
|
||||||
|
}
|
||||||
|
if ((iVar2 <= iVar3) && (iVar3 = 0, puVar1 != (undefined *)0x0)) {
|
||||||
|
if (puVar1 == PTR_DAT_14016f010) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
iVar3 = *(int *)(puVar1 + -8);
|
||||||
|
}
|
||||||
|
if (((puVar1 != PTR_DAT_14016f010) && (puVar1 != (undefined *)0x0)) &&
|
||||||
|
((int *)(puVar1 + -8) != (int *)0x0)) {
|
||||||
|
*(int *)(puVar1 + -8) = iVar3;
|
||||||
|
*(undefined2 *)(puVar1 + (longlong)iVar3 * 2) = 0;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
40
decomp/AgentManager_Release_x64/full/functions/0x140001fc0.c
Normal file
40
decomp/AgentManager_Release_x64/full/functions/0x140001fc0.c
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140001fc0 FUN_140001fc0
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140001fc0(longlong *param_1)
|
||||||
|
|
||||||
|
{
|
||||||
|
undefined *puVar1;
|
||||||
|
int iVar2;
|
||||||
|
int iVar3;
|
||||||
|
short *psVar4;
|
||||||
|
|
||||||
|
psVar4 = (short *)*param_1;
|
||||||
|
if ((short *)*param_1 == (short *)0x0) {
|
||||||
|
psVar4 = (short *)PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
iVar2 = FUN_14003e620(psVar4);
|
||||||
|
iVar3 = 0;
|
||||||
|
if (0 < iVar2) {
|
||||||
|
iVar3 = iVar2;
|
||||||
|
}
|
||||||
|
puVar1 = (undefined *)*param_1;
|
||||||
|
iVar2 = 0;
|
||||||
|
if ((puVar1 != (undefined *)0x0) && (iVar2 = 0, puVar1 != PTR_DAT_14016f010)) {
|
||||||
|
iVar2 = *(int *)(puVar1 + -8);
|
||||||
|
}
|
||||||
|
if ((iVar2 <= iVar3) && (iVar3 = 0, puVar1 != (undefined *)0x0)) {
|
||||||
|
if (puVar1 == PTR_DAT_14016f010) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
iVar3 = *(int *)(puVar1 + -8);
|
||||||
|
}
|
||||||
|
if (((puVar1 != PTR_DAT_14016f010) && (puVar1 != (undefined *)0x0)) &&
|
||||||
|
((int *)(puVar1 + -8) != (int *)0x0)) {
|
||||||
|
*(int *)(puVar1 + -8) = iVar3;
|
||||||
|
*(undefined2 *)(puVar1 + (longlong)iVar3 * 2) = 0;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
26
decomp/AgentManager_Release_x64/full/functions/0x140002040.c
Normal file
26
decomp/AgentManager_Release_x64/full/functions/0x140002040.c
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140002040 FUN_140002040
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
longlong * FUN_140002040(longlong *param_1,short *param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
int iVar1;
|
||||||
|
undefined *puVar2;
|
||||||
|
int iVar3;
|
||||||
|
int iVar4;
|
||||||
|
|
||||||
|
FUN_14003e7c0(param_1,param_2,param_3,param_4);
|
||||||
|
*param_1 = (longlong)PTR_DAT_14016f010;
|
||||||
|
iVar1 = FUN_14003e620(param_2);
|
||||||
|
iVar3 = (int)param_3;
|
||||||
|
iVar4 = iVar1;
|
||||||
|
if ((0 < iVar3) && (iVar4 = iVar3, iVar1 < iVar3)) {
|
||||||
|
iVar4 = iVar1;
|
||||||
|
}
|
||||||
|
puVar2 = FUN_140001ee0(param_1,iVar4);
|
||||||
|
FUN_14003e650(puVar2,param_2,iVar4);
|
||||||
|
FUN_140001fc0(param_1);
|
||||||
|
return param_1;
|
||||||
|
}
|
||||||
|
|
||||||
32
decomp/AgentManager_Release_x64/full/functions/0x1400020c0.c
Normal file
32
decomp/AgentManager_Release_x64/full/functions/0x1400020c0.c
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x1400020c0 FUN_1400020c0
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_1400020c0(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
undefined *puVar1;
|
||||||
|
int *piVar2;
|
||||||
|
longlong *plVar3;
|
||||||
|
|
||||||
|
puVar1 = (undefined *)*param_1;
|
||||||
|
if ((undefined *)*param_1 == (undefined *)0x0) {
|
||||||
|
puVar1 = PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
*param_1 = (longlong)puVar1;
|
||||||
|
if ((undefined *)*param_2 != puVar1) {
|
||||||
|
plVar3 = param_2;
|
||||||
|
piVar2 = (int *)FUN_14003e7c0(param_1,param_2,param_3,param_4);
|
||||||
|
FUN_14003d040(piVar2);
|
||||||
|
FUN_140002190(param_1,plVar3,param_3,param_4);
|
||||||
|
puVar1 = (undefined *)*param_2;
|
||||||
|
*param_1 = (longlong)puVar1;
|
||||||
|
if (((puVar1 != PTR_DAT_14016f010) && (puVar1 != (undefined *)0x0)) &&
|
||||||
|
(puVar1 != (undefined *)0x8)) {
|
||||||
|
*(int *)(puVar1 + -4) = *(int *)(puVar1 + -4) + 1;
|
||||||
|
}
|
||||||
|
FUN_14003d0d0((longlong)piVar2);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
14
decomp/AgentManager_Release_x64/full/functions/0x140002160.c
Normal file
14
decomp/AgentManager_Release_x64/full/functions/0x140002160.c
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140002160 FUN_140002160
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140002160(longlong *param_1)
|
||||||
|
|
||||||
|
{
|
||||||
|
if ((char)param_1[1] != '\0') {
|
||||||
|
FUN_14003d0d0(*param_1);
|
||||||
|
*(undefined1 *)(param_1 + 1) = 0;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
30
decomp/AgentManager_Release_x64/full/functions/0x140002190.c
Normal file
30
decomp/AgentManager_Release_x64/full/functions/0x140002190.c
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140002190 FUN_140002190
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140002190(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
int *piVar1;
|
||||||
|
undefined *puVar2;
|
||||||
|
int *piVar3;
|
||||||
|
|
||||||
|
puVar2 = (undefined *)*param_1;
|
||||||
|
if (((puVar2 == (undefined *)0x0) || (puVar2 == PTR_DAT_14016f010)) ||
|
||||||
|
(puVar2 + -8 == (undefined *)0x0)) {
|
||||||
|
*param_1 = (longlong)PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
piVar3 = (int *)FUN_14003e7c0(puVar2,param_2,param_3,param_4);
|
||||||
|
FUN_14003d040(piVar3);
|
||||||
|
piVar1 = (int *)(puVar2 + -4);
|
||||||
|
*piVar1 = *piVar1 + -1;
|
||||||
|
if (*piVar1 == 0) {
|
||||||
|
FUN_14003e8b0(puVar2 + -8);
|
||||||
|
}
|
||||||
|
FUN_14003d0d0((longlong)piVar3);
|
||||||
|
*param_1 = (longlong)PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
12
decomp/AgentManager_Release_x64/full/functions/0x140002230.c
Normal file
12
decomp/AgentManager_Release_x64/full/functions/0x140002230.c
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140002230 FUN_140002230
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140002230(undefined8 *param_1)
|
||||||
|
|
||||||
|
{
|
||||||
|
*param_1 = Proud::INetClientEvent::vftable;
|
||||||
|
FUN_140049b90(param_1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
14
decomp/AgentManager_Release_x64/full/functions/0x140002240.c
Normal file
14
decomp/AgentManager_Release_x64/full/functions/0x140002240.c
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140002240 FUN_140002240
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
undefined8 * FUN_140002240(undefined8 *param_1,uint param_2)
|
||||||
|
|
||||||
|
{
|
||||||
|
FUN_140049b90(param_1);
|
||||||
|
if ((param_2 & 1) != 0) {
|
||||||
|
operator_delete(param_1);
|
||||||
|
}
|
||||||
|
return param_1;
|
||||||
|
}
|
||||||
|
|
||||||
21
decomp/AgentManager_Release_x64/full/functions/0x140002270.c
Normal file
21
decomp/AgentManager_Release_x64/full/functions/0x140002270.c
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140002270 std::bad_alloc::`scalar_deleting_destructor'
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
/* Library Function - Single Match
|
||||||
|
public: virtual void * __ptr64 __cdecl std::bad_alloc::`scalar deleting destructor'(unsigned
|
||||||
|
int) __ptr64
|
||||||
|
|
||||||
|
Libraries: Visual Studio 2012 Release, Visual Studio 2015 Release */
|
||||||
|
|
||||||
|
void * __thiscall std::bad_alloc::_scalar_deleting_destructor_(bad_alloc *this,uint param_1)
|
||||||
|
|
||||||
|
{
|
||||||
|
*(undefined ***)this = Proud::INetClientEvent::vftable;
|
||||||
|
FUN_140049b90((undefined8 *)this);
|
||||||
|
if ((param_1 & 1) != 0) {
|
||||||
|
operator_delete(this);
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
33
decomp/AgentManager_Release_x64/full/functions/0x1400022b0.c
Normal file
33
decomp/AgentManager_Release_x64/full/functions/0x1400022b0.c
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x1400022b0 FUN_1400022b0
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
undefined8 *
|
||||||
|
FUN_1400022b0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
ulonglong uVar1;
|
||||||
|
undefined7 uVar2;
|
||||||
|
|
||||||
|
uVar2 = (undefined7)((ulonglong)param_3 >> 8);
|
||||||
|
param_1[1] = MagiServerBase::vftable;
|
||||||
|
*(undefined4 *)(param_1 + 2) = 0;
|
||||||
|
param_1[3] = 0;
|
||||||
|
param_1[4] = 0;
|
||||||
|
param_1[5] = 0;
|
||||||
|
param_1[7] = 0;
|
||||||
|
param_1[8] = 0;
|
||||||
|
*param_1 = MagiAgentManagerServer::vftable;
|
||||||
|
param_1[1] = MagiAgentManagerServer::vftable;
|
||||||
|
*(undefined4 *)(param_1 + 0x9285) = 0;
|
||||||
|
*(undefined1 *)(param_1 + 0x9288) = 1;
|
||||||
|
*(undefined4 *)((longlong)param_1 + 0x49444) = 0;
|
||||||
|
param_1[0x928a] = 0;
|
||||||
|
param_1[0x928b] = 0;
|
||||||
|
param_1[0x928c] = 0;
|
||||||
|
param_1[0x928d] = 0;
|
||||||
|
uVar1 = FUN_140094860();
|
||||||
|
FUN_14003cf60((undefined4 *)(param_1 + 0x928e),uVar1 & 0xffffffff,CONCAT71(uVar2,1),param_4);
|
||||||
|
return param_1;
|
||||||
|
}
|
||||||
|
|
||||||
15
decomp/AgentManager_Release_x64/full/functions/0x140002350.c
Normal file
15
decomp/AgentManager_Release_x64/full/functions/0x140002350.c
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140002350 FUN_140002350
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
undefined8 *
|
||||||
|
FUN_140002350(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
FUN_140002380(param_1,param_2,param_3,param_4);
|
||||||
|
if ((param_2 & 1) != 0) {
|
||||||
|
operator_delete(param_1);
|
||||||
|
}
|
||||||
|
return param_1;
|
||||||
|
}
|
||||||
|
|
||||||
22
decomp/AgentManager_Release_x64/full/functions/0x140002380.c
Normal file
22
decomp/AgentManager_Release_x64/full/functions/0x140002380.c
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140002380 FUN_140002380
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140002380(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
*param_1 = MagiAgentManagerServer::vftable;
|
||||||
|
param_1[1] = MagiAgentManagerServer::vftable;
|
||||||
|
FUN_14003d110((undefined4 *)(param_1 + 0x928e),param_2,param_3,param_4);
|
||||||
|
param_1[1] = MagiServerBase::vftable;
|
||||||
|
if ((void *)param_1[3] != (void *)0x0) {
|
||||||
|
operator_delete((void *)param_1[3]);
|
||||||
|
}
|
||||||
|
param_1[3] = 0;
|
||||||
|
param_1[4] = 0;
|
||||||
|
param_1[5] = 0;
|
||||||
|
*param_1 = MBISingleton<MagiAgentManagerServer>::vftable;
|
||||||
|
DAT_14017c8b8 = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
97
decomp/AgentManager_Release_x64/full/functions/0x140002400.c
Normal file
97
decomp/AgentManager_Release_x64/full/functions/0x140002400.c
Normal file
|
|
@ -0,0 +1,97 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140002400 FUN_140002400
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140002400(LPCWSTR param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
longlong lVar1;
|
||||||
|
char *pcVar2;
|
||||||
|
undefined8 *puVar3;
|
||||||
|
undefined8 *puVar4;
|
||||||
|
undefined8 uVar5;
|
||||||
|
ulonglong uVar6;
|
||||||
|
wchar_t *pwVar7;
|
||||||
|
|
||||||
|
if ((DAT_14017d37c & 1) == 0) {
|
||||||
|
DAT_14017d37c = DAT_14017d37c | 1;
|
||||||
|
FUN_1400ef080();
|
||||||
|
atexit((_func_5014 *)&LAB_140104340);
|
||||||
|
if ((DAT_14017d37c & 1) == 0) {
|
||||||
|
DAT_14017d37c = DAT_14017d37c | 1;
|
||||||
|
FUN_1400ef080();
|
||||||
|
atexit((_func_5014 *)&LAB_140104340);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((DAT_14017d140 != 200) && (DAT_14017d140 != 100)) {
|
||||||
|
if ((DAT_14017d37c & 1) == 0) {
|
||||||
|
DAT_14017d37c = DAT_14017d37c | 1;
|
||||||
|
FUN_1400ef080();
|
||||||
|
atexit((_func_5014 *)&LAB_140104340);
|
||||||
|
}
|
||||||
|
if (DAT_14017d140 != 1000) goto LAB_1400024b1;
|
||||||
|
}
|
||||||
|
setlocale(0,"kor");
|
||||||
|
LAB_1400024b1:
|
||||||
|
pcVar2 = setlocale(0,(char *)0x0);
|
||||||
|
printf("Locale is: %s\n");
|
||||||
|
puVar3 = operator_new(8);
|
||||||
|
puVar4 = (undefined8 *)0x0;
|
||||||
|
if (puVar3 != (undefined8 *)0x0) {
|
||||||
|
puVar4 = FUN_14003acf0(puVar3,pcVar2,param_3,param_4);
|
||||||
|
}
|
||||||
|
lVar1 = DAT_14017cf28;
|
||||||
|
DAT_14017cf30 = puVar4;
|
||||||
|
*(undefined1 *)(DAT_14017cf28 + 0x1e8) = 0x15;
|
||||||
|
FUN_14002fc00(lVar1,param_1,param_3,param_4);
|
||||||
|
uVar5 = FUN_140032f70(DAT_14017cf28,param_1,param_3,param_4);
|
||||||
|
if ((char)uVar5 == '\0') {
|
||||||
|
printf("DB PASE ERROR !!! \n");
|
||||||
|
}
|
||||||
|
_wmkdir(L"Log");
|
||||||
|
puVar3 = operator_new(0xe8);
|
||||||
|
puVar4 = (undefined8 *)0x0;
|
||||||
|
if (puVar3 != (undefined8 *)0x0) {
|
||||||
|
puVar4 = FUN_1400ef640(puVar3);
|
||||||
|
}
|
||||||
|
DAT_14017c8a8 = puVar4;
|
||||||
|
FUN_1400ef910((longlong)puVar4,param_1,param_3,param_4);
|
||||||
|
puVar4 = DAT_14017c8a8;
|
||||||
|
EnterCriticalSection(DAT_14017cf60);
|
||||||
|
uVar5 = 0x19;
|
||||||
|
pwVar7 = L"Log\\Protocol_AgentManager";
|
||||||
|
FUN_140001710(puVar4 + 3,L"Log\\Protocol_AgentManager",0x19);
|
||||||
|
LeaveCriticalSection(DAT_14017cf60);
|
||||||
|
FUN_1400efa40((longlong)DAT_14017c8a8);
|
||||||
|
puVar3 = operator_new(0x98);
|
||||||
|
puVar4 = (undefined8 *)0x0;
|
||||||
|
if (puVar3 != (undefined8 *)0x0) {
|
||||||
|
puVar4 = FUN_1400ed450(puVar3,pwVar7,uVar5,param_4);
|
||||||
|
}
|
||||||
|
DAT_14017cf18 = puVar4;
|
||||||
|
DAT_14017cf40 = operator_new(8);
|
||||||
|
if (DAT_14017cf40 != (undefined8 *)0x0) {
|
||||||
|
*DAT_14017cf40 = MagiXmlFormat::vftable;
|
||||||
|
}
|
||||||
|
puVar3 = operator_new(0xb0);
|
||||||
|
puVar4 = (undefined8 *)0x0;
|
||||||
|
if (puVar3 != (undefined8 *)0x0) {
|
||||||
|
puVar4 = FUN_14000da20(puVar3,pwVar7,uVar5,param_4);
|
||||||
|
}
|
||||||
|
DAT_14017cf38 = puVar4;
|
||||||
|
puVar4 = operator_new(0x80);
|
||||||
|
if (puVar4 == (undefined8 *)0x0) {
|
||||||
|
puVar4 = (undefined8 *)0x0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
*puVar4 = MagiStatistics::vftable;
|
||||||
|
FUN_14000c1f0(puVar4 + 1);
|
||||||
|
uVar6 = FUN_140094860();
|
||||||
|
uVar5 = CONCAT71((int7)((ulonglong)uVar5 >> 8),1);
|
||||||
|
FUN_14003cf60((undefined4 *)(puVar4 + 9),uVar6 & 0xffffffff,uVar5,param_4);
|
||||||
|
}
|
||||||
|
DAT_14017cf48 = puVar4;
|
||||||
|
FUN_1400ef250((longlong)DAT_14017c8a8,L"\t # INIT # \n",uVar5,param_4);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
54
decomp/AgentManager_Release_x64/full/functions/0x140002670.c
Normal file
54
decomp/AgentManager_Release_x64/full/functions/0x140002670.c
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140002670 FUN_140002670
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140002670(longlong param_1)
|
||||||
|
|
||||||
|
{
|
||||||
|
FILE *_File;
|
||||||
|
undefined8 *puVar1;
|
||||||
|
longlong lVar2;
|
||||||
|
|
||||||
|
puVar1 = *(undefined8 **)(param_1 + 0x49430);
|
||||||
|
if (puVar1 != (undefined8 *)0x0) {
|
||||||
|
(**(code **)*puVar1)(puVar1,1);
|
||||||
|
}
|
||||||
|
puVar1 = DAT_14017cf48;
|
||||||
|
*(undefined8 *)(param_1 + 0x49430) = 0;
|
||||||
|
if (puVar1 != (undefined8 *)0x0) {
|
||||||
|
(**(code **)*puVar1)(puVar1,1);
|
||||||
|
}
|
||||||
|
if (DAT_14017cf38 != (undefined8 *)0x0) {
|
||||||
|
(**(code **)*DAT_14017cf38)(DAT_14017cf38,1);
|
||||||
|
}
|
||||||
|
if (DAT_14017cf40 != (undefined8 *)0x0) {
|
||||||
|
(**(code **)*DAT_14017cf40)(DAT_14017cf40,1);
|
||||||
|
}
|
||||||
|
if (DAT_14017cf18 != (undefined8 *)0x0) {
|
||||||
|
(**(code **)*DAT_14017cf18)(DAT_14017cf18,1);
|
||||||
|
}
|
||||||
|
puVar1 = DAT_14017c8a8;
|
||||||
|
EnterCriticalSection(DAT_14017cf60);
|
||||||
|
_File = (FILE *)puVar1[0x17];
|
||||||
|
if (_File != (FILE *)0x0) {
|
||||||
|
fclose(_File);
|
||||||
|
}
|
||||||
|
puVar1 = puVar1 + 0x19;
|
||||||
|
lVar2 = 4;
|
||||||
|
do {
|
||||||
|
if ((FILE *)*puVar1 != (FILE *)0x0) {
|
||||||
|
fclose((FILE *)*puVar1);
|
||||||
|
}
|
||||||
|
puVar1 = puVar1 + 1;
|
||||||
|
lVar2 = lVar2 + -1;
|
||||||
|
} while (lVar2 != 0);
|
||||||
|
LeaveCriticalSection(DAT_14017cf60);
|
||||||
|
if (DAT_14017c8a8 != (undefined8 *)0x0) {
|
||||||
|
(**(code **)*DAT_14017c8a8)(DAT_14017c8a8,1);
|
||||||
|
}
|
||||||
|
if (DAT_14017cf30 != (undefined8 *)0x0) {
|
||||||
|
(**(code **)*DAT_14017cf30)(DAT_14017cf30,1);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
520
decomp/AgentManager_Release_x64/full/functions/0x140002790.c
Normal file
520
decomp/AgentManager_Release_x64/full/functions/0x140002790.c
Normal file
|
|
@ -0,0 +1,520 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140002790 FUN_140002790
|
||||||
|
* Pseudocode, 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_140002790(longlong param_1,undefined8 param_2,undefined8 param_3,longlong **param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
double dVar1;
|
||||||
|
char cVar2;
|
||||||
|
undefined4 *puVar3;
|
||||||
|
undefined1 auVar4 [16];
|
||||||
|
bool bVar5;
|
||||||
|
longlong *plVar6;
|
||||||
|
BOOL BVar7;
|
||||||
|
DWORD DVar8;
|
||||||
|
undefined8 *puVar9;
|
||||||
|
undefined8 *puVar10;
|
||||||
|
longlong *plVar11;
|
||||||
|
longlong lVar12;
|
||||||
|
wchar_t *pwVar13;
|
||||||
|
LPCSTR pCVar14;
|
||||||
|
short *psVar15;
|
||||||
|
longlong *plVar16;
|
||||||
|
longlong *plVar17;
|
||||||
|
undefined8 uVar18;
|
||||||
|
undefined *puVar19;
|
||||||
|
void **ppvVar20;
|
||||||
|
undefined8 *puVar21;
|
||||||
|
undefined8 *puVar22;
|
||||||
|
undefined8 *puVar23;
|
||||||
|
longlong lVar24;
|
||||||
|
undefined4 uVar25;
|
||||||
|
undefined4 uVar26;
|
||||||
|
undefined4 uVar27;
|
||||||
|
undefined4 uVar28;
|
||||||
|
undefined4 uVar29;
|
||||||
|
undefined4 uVar30;
|
||||||
|
undefined1 auStack_4d8 [32];
|
||||||
|
longlong *local_4b8;
|
||||||
|
longlong *local_4b0;
|
||||||
|
undefined8 *local_4a8;
|
||||||
|
longlong *local_4a0;
|
||||||
|
undefined8 *local_498;
|
||||||
|
undefined8 *local_490;
|
||||||
|
undefined8 *local_488;
|
||||||
|
undefined4 local_480 [2];
|
||||||
|
undefined8 *local_478;
|
||||||
|
undefined8 *local_470;
|
||||||
|
undefined8 *local_468;
|
||||||
|
LARGE_INTEGER local_460;
|
||||||
|
undefined8 local_458;
|
||||||
|
undefined2 local_448;
|
||||||
|
undefined1 local_446 [158];
|
||||||
|
undefined1 local_3a8 [160];
|
||||||
|
undefined4 local_308;
|
||||||
|
uint uStack_304;
|
||||||
|
undefined2 local_300;
|
||||||
|
undefined6 uStack_2fe;
|
||||||
|
undefined8 local_2f0;
|
||||||
|
ulonglong local_2e8;
|
||||||
|
WCHAR local_2d8;
|
||||||
|
undefined6 uStack_2d6;
|
||||||
|
undefined8 local_2c8;
|
||||||
|
ulonglong local_2c0;
|
||||||
|
short *local_2a8;
|
||||||
|
short local_2a0 [132];
|
||||||
|
short *local_198;
|
||||||
|
short local_190 [132];
|
||||||
|
ulonglong local_88;
|
||||||
|
|
||||||
|
local_458 = 0xfffffffffffffffe;
|
||||||
|
local_88 = DAT_14016f5a0 ^ (ulonglong)auStack_4d8;
|
||||||
|
pwVar13 = L"\t # PREPARE # \n";
|
||||||
|
FUN_1400ef250(DAT_14017c8a8,L"\t # PREPARE # \n",param_3,param_4);
|
||||||
|
CoInitialize((LPVOID)0x0);
|
||||||
|
local_460 = (LARGE_INTEGER)operator_new(0xd8);
|
||||||
|
puVar22 = (undefined8 *)0x0;
|
||||||
|
puVar9 = puVar22;
|
||||||
|
if ((undefined8 *)local_460.QuadPart != (undefined8 *)0x0) {
|
||||||
|
puVar9 = FUN_140005280((undefined8 *)local_460,pwVar13,param_3,param_4);
|
||||||
|
}
|
||||||
|
if (puVar9 == (undefined8 *)0x0) {
|
||||||
|
local_4b8 = (longlong *)0x0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
local_4b8 = (longlong *)FUN_14003e840(0x10);
|
||||||
|
local_4b8[1] = 1;
|
||||||
|
*local_4b8 = (longlong)puVar9;
|
||||||
|
}
|
||||||
|
plVar16 = local_4b8;
|
||||||
|
local_498 = operator_new(0x118);
|
||||||
|
puVar9 = puVar22;
|
||||||
|
if (local_498 != (undefined8 *)0x0) {
|
||||||
|
puVar9 = FUN_1400060f0(local_498,pwVar13,param_3,param_4);
|
||||||
|
}
|
||||||
|
if (puVar9 == (undefined8 *)0x0) {
|
||||||
|
local_4b0 = (longlong *)0x0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
local_4b0 = (longlong *)FUN_14003e840(0x10);
|
||||||
|
local_4b0[1] = 1;
|
||||||
|
*local_4b0 = (longlong)puVar9;
|
||||||
|
}
|
||||||
|
plVar17 = local_4b0;
|
||||||
|
local_498 = operator_new(0xa0);
|
||||||
|
puVar9 = puVar22;
|
||||||
|
if (local_498 != (undefined8 *)0x0) {
|
||||||
|
puVar9 = FUN_140007010(local_498,pwVar13,param_3,param_4);
|
||||||
|
}
|
||||||
|
if (puVar9 == (undefined8 *)0x0) {
|
||||||
|
local_4a8 = (undefined8 *)0x0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
local_4a8 = (undefined8 *)FUN_14003e840(0x10);
|
||||||
|
local_4a8[1] = 1;
|
||||||
|
*local_4a8 = puVar9;
|
||||||
|
}
|
||||||
|
puVar9 = local_4a8;
|
||||||
|
local_468 = local_4a8;
|
||||||
|
puVar10 = operator_new(0x50);
|
||||||
|
puVar21 = puVar22;
|
||||||
|
local_498 = puVar10;
|
||||||
|
if (puVar10 != (undefined8 *)0x0) {
|
||||||
|
FUN_1400721c0(puVar10);
|
||||||
|
FUN_140073a40((void **)(puVar10 + 1));
|
||||||
|
puVar10[3] = 0;
|
||||||
|
puVar10[4] = 0;
|
||||||
|
puVar10[8] = 7;
|
||||||
|
puVar10[7] = 0;
|
||||||
|
*(undefined2 *)(puVar10 + 5) = 0;
|
||||||
|
puVar21 = puVar10;
|
||||||
|
}
|
||||||
|
if (puVar21 == (undefined8 *)0x0) {
|
||||||
|
local_490 = (undefined8 *)0x0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
local_490 = (undefined8 *)FUN_14003e840(0x10);
|
||||||
|
local_490[1] = 1;
|
||||||
|
*local_490 = puVar21;
|
||||||
|
}
|
||||||
|
puVar21 = local_490;
|
||||||
|
local_498 = local_490;
|
||||||
|
puVar10 = operator_new(0x50);
|
||||||
|
local_488 = puVar10;
|
||||||
|
if (puVar10 != (undefined8 *)0x0) {
|
||||||
|
FUN_1400721c0(puVar10);
|
||||||
|
FUN_140073a40((void **)(puVar10 + 1));
|
||||||
|
puVar10[3] = 0;
|
||||||
|
puVar10[4] = 0;
|
||||||
|
puVar10[8] = 7;
|
||||||
|
puVar10[7] = 0;
|
||||||
|
*(undefined2 *)(puVar10 + 5) = 0;
|
||||||
|
puVar22 = puVar10;
|
||||||
|
}
|
||||||
|
if (puVar22 == (undefined8 *)0x0) {
|
||||||
|
local_488 = (undefined8 *)0x0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
local_488 = (undefined8 *)FUN_14003e840(0x10);
|
||||||
|
local_488[1] = 1;
|
||||||
|
*local_488 = puVar22;
|
||||||
|
}
|
||||||
|
puVar22 = local_488;
|
||||||
|
puVar23 = (undefined8 *)0x0;
|
||||||
|
puVar10 = puVar23;
|
||||||
|
if (plVar16 != (longlong *)0x0) {
|
||||||
|
puVar10 = (undefined8 *)*plVar16;
|
||||||
|
}
|
||||||
|
*(undefined8 **)(param_1 + 0x49450) = puVar10;
|
||||||
|
puVar10 = puVar23;
|
||||||
|
if (plVar17 != (longlong *)0x0) {
|
||||||
|
puVar10 = (undefined8 *)*plVar17;
|
||||||
|
}
|
||||||
|
*(undefined8 **)(param_1 + 0x49458) = puVar10;
|
||||||
|
puVar10 = puVar23;
|
||||||
|
if (puVar9 != (undefined8 *)0x0) {
|
||||||
|
puVar10 = (undefined8 *)*puVar9;
|
||||||
|
}
|
||||||
|
*(undefined8 **)(param_1 + 0x49448) = puVar10;
|
||||||
|
puVar10 = puVar23;
|
||||||
|
if (puVar21 != (undefined8 *)0x0) {
|
||||||
|
puVar10 = (undefined8 *)*puVar21;
|
||||||
|
}
|
||||||
|
*(undefined8 **)(param_1 + 0x49460) = puVar10;
|
||||||
|
puVar10 = puVar23;
|
||||||
|
if (local_488 != (undefined8 *)0x0) {
|
||||||
|
puVar10 = (undefined8 *)*local_488;
|
||||||
|
}
|
||||||
|
*(undefined8 **)(param_1 + 0x49468) = puVar10;
|
||||||
|
pCVar14 = (LPCSTR)(DAT_14017cf28 + 0x90);
|
||||||
|
if (0xf < *(ulonglong *)(DAT_14017cf28 + 0xa8)) {
|
||||||
|
pCVar14 = *(LPCSTR *)pCVar14;
|
||||||
|
}
|
||||||
|
local_2a8 = local_2a0;
|
||||||
|
uVar18 = 3;
|
||||||
|
FUN_140005110((longlong *)&local_2a8,pCVar14,3);
|
||||||
|
FUN_140007430(*(longlong *)(param_1 + 0x49460),local_2a8,uVar18,(short *)param_4);
|
||||||
|
if (local_2a8 != local_2a0) {
|
||||||
|
free(local_2a8);
|
||||||
|
}
|
||||||
|
pCVar14 = (LPCSTR)(DAT_14017cf28 + 0x108);
|
||||||
|
if (0xf < *(ulonglong *)(DAT_14017cf28 + 0x120)) {
|
||||||
|
pCVar14 = *(LPCSTR *)pCVar14;
|
||||||
|
}
|
||||||
|
local_198 = local_190;
|
||||||
|
puVar19 = (undefined *)0x3;
|
||||||
|
FUN_140005110((longlong *)&local_198,pCVar14,3);
|
||||||
|
psVar15 = local_198;
|
||||||
|
FUN_140007430(*(longlong *)(param_1 + 0x49468),local_198,puVar19,(short *)param_4);
|
||||||
|
if (local_198 != local_190) {
|
||||||
|
free(local_198);
|
||||||
|
}
|
||||||
|
local_480[0] = 3;
|
||||||
|
*(undefined4 *)(param_1 + 0x10) = 3;
|
||||||
|
printf("STEP : DB_LOAD \n");
|
||||||
|
lVar24 = *(longlong *)(param_1 + 0x38);
|
||||||
|
if ((lVar24 != 0) && (*(char *)(lVar24 + 0x1a) != '\0')) {
|
||||||
|
param_4 = (longlong **)local_480;
|
||||||
|
puVar19 = &DAT_14016f5d0;
|
||||||
|
psVar15 = (short *)0x1;
|
||||||
|
(**(code **)(*(longlong *)(lVar24 + 0x68) + 0xb0))();
|
||||||
|
}
|
||||||
|
printf("AgentManager Auth...\n");
|
||||||
|
uVar18 = FUN_140007a20(*(longlong *)(param_1 + 0x49460),psVar15,puVar19,param_4);
|
||||||
|
if ((char)uVar18 == '\0') {
|
||||||
|
printf("AgentManager Auth Failed !!!\n");
|
||||||
|
Sleep(3000);
|
||||||
|
*(undefined1 *)(param_1 + 0x49440) = 0;
|
||||||
|
}
|
||||||
|
printf("Read ServerOption...\n");
|
||||||
|
uVar18 = FUN_140008410(*(longlong *)(param_1 + 0x49460),psVar15,puVar19,param_4);
|
||||||
|
if ((char)uVar18 == '\0') {
|
||||||
|
printf("Read ServerOption Failed !!!\n");
|
||||||
|
Sleep(3000);
|
||||||
|
*(undefined1 *)(param_1 + 0x49440) = 0;
|
||||||
|
}
|
||||||
|
printf("Read ServerFile...\n");
|
||||||
|
uVar18 = FUN_140009240(*(longlong *)(param_1 + 0x49460),psVar15,puVar19,(longlong)param_4);
|
||||||
|
if ((char)uVar18 == '\0') {
|
||||||
|
printf("Read ServerFile Failed !!!\n");
|
||||||
|
Sleep(3000);
|
||||||
|
*(undefined1 *)(param_1 + 0x49440) = 0;
|
||||||
|
}
|
||||||
|
printf("Read RealTimeEvent...\n");
|
||||||
|
uVar18 = FUN_140009760(*(longlong *)(param_1 + 0x49460),psVar15,puVar19,param_4);
|
||||||
|
if ((char)uVar18 == '\0') {
|
||||||
|
printf("Read RealTimeEvent Failed !!!\n");
|
||||||
|
Sleep(3000);
|
||||||
|
*(undefined1 *)(param_1 + 0x49440) = 0;
|
||||||
|
}
|
||||||
|
*(undefined8 *)(*(longlong *)(param_1 + 0x49460) + 0x18) = *(undefined8 *)(param_1 + 0x49450);
|
||||||
|
*(undefined8 *)(*(longlong *)(param_1 + 0x49468) + 0x18) = *(undefined8 *)(param_1 + 0x49450);
|
||||||
|
*(undefined8 *)(*(longlong *)(param_1 + 0x49450) + 0x68) = *(undefined8 *)(param_1 + 0x49460);
|
||||||
|
*(undefined8 *)(*(longlong *)(param_1 + 0x49450) + 0x70) = *(undefined8 *)(param_1 + 0x49468);
|
||||||
|
*(undefined8 *)(*(longlong *)(param_1 + 0x49450) + 0x78) = *(undefined8 *)(param_1 + 0x49458);
|
||||||
|
*(undefined8 *)(*(longlong *)(param_1 + 0x49450) + 0x80) = *(undefined8 *)(param_1 + 0x49448);
|
||||||
|
*(undefined8 *)(*(longlong *)(param_1 + 0x49458) + 0x68) = *(undefined8 *)(param_1 + 0x49460);
|
||||||
|
*(undefined8 *)(*(longlong *)(param_1 + 0x49458) + 0x70) = *(undefined8 *)(param_1 + 0x49468);
|
||||||
|
*(undefined8 *)(*(longlong *)(param_1 + 0x49458) + 0x78) = *(undefined8 *)(param_1 + 0x49450);
|
||||||
|
*(undefined8 *)(*(longlong *)(param_1 + 0x49458) + 0x80) = *(undefined8 *)(param_1 + 0x49448);
|
||||||
|
*(undefined8 *)(*(longlong *)(param_1 + 0x49448) + 0x98) = *(undefined8 *)(param_1 + 0x49450);
|
||||||
|
pwVar13 = L"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!";
|
||||||
|
FUN_1400ef250(DAT_14017c8a8,L"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!",puVar19,param_4);
|
||||||
|
local_308 = 0;
|
||||||
|
uStack_304 = 0;
|
||||||
|
local_2e8 = 7;
|
||||||
|
local_2f0 = 0;
|
||||||
|
local_300 = 0;
|
||||||
|
local_2c0 = 7;
|
||||||
|
local_2c8 = 0;
|
||||||
|
local_2d8 = L'\0';
|
||||||
|
if (*(longlong *)(DAT_14017cf28 + 0x1c8) != 0) {
|
||||||
|
auVar4._8_8_ = 0;
|
||||||
|
auVar4._0_8_ = *(ulonglong *)(DAT_14017cf28 + 0x1b0);
|
||||||
|
pwVar13 = SUB168((ZEXT816(0) << 0x40 | ZEXT816(0x17)) % auVar4,0);
|
||||||
|
local_478 = (undefined8 *)(*(longlong *)(DAT_14017cf28 + 0x1a8) + (longlong)pwVar13 * 8);
|
||||||
|
for (local_470 = (undefined8 *)*local_478; local_470 != (undefined8 *)0x0;
|
||||||
|
local_470 = (undefined8 *)*local_470) {
|
||||||
|
if (*(char *)(local_470 + 1) == '\x17') {
|
||||||
|
if (local_470 != (undefined8 *)0x0) goto LAB_140002dd4;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
local_478 = (undefined8 *)0x0;
|
||||||
|
local_470 = puVar23;
|
||||||
|
LAB_140002dd4:
|
||||||
|
if ((local_470 != (undefined8 *)0x0) &&
|
||||||
|
(puVar3 = (undefined4 *)local_470[2], puVar3 != (undefined4 *)local_470[3])) {
|
||||||
|
local_308 = *puVar3;
|
||||||
|
uStack_304 = puVar3[1];
|
||||||
|
FUN_140001630((longlong *)&local_300,(longlong *)(puVar3 + 2),0,0xffffffffffffffff);
|
||||||
|
param_4 = (longlong **)0xffffffffffffffff;
|
||||||
|
FUN_140001630((longlong *)&local_2d8,(longlong *)(puVar3 + 0xc),0,0xffffffffffffffff);
|
||||||
|
pwVar13 = &local_2d8;
|
||||||
|
if (7 < local_2c0) {
|
||||||
|
pwVar13 = (LPCWSTR)CONCAT62(uStack_2d6,local_2d8);
|
||||||
|
}
|
||||||
|
puVar19 = (undefined *)(ulonglong)uStack_304;
|
||||||
|
FUN_14003bcb0(*(void **)(param_1 + 0x49448),pwVar13,puVar19,param_4);
|
||||||
|
}
|
||||||
|
lVar24 = 0;
|
||||||
|
lVar12 = lVar24;
|
||||||
|
if (plVar16 != (longlong *)0x0) {
|
||||||
|
lVar12 = *plVar16;
|
||||||
|
}
|
||||||
|
FUN_140005460(lVar12,pwVar13,puVar19,(longlong)param_4);
|
||||||
|
if (plVar17 != (longlong *)0x0) {
|
||||||
|
lVar24 = *plVar17;
|
||||||
|
}
|
||||||
|
FUN_140006380(lVar24,pwVar13,puVar19,(longlong)param_4);
|
||||||
|
FUN_1400ef250(DAT_14017c8a8,L"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!",puVar19,param_4);
|
||||||
|
plVar11 = operator_new(0x18);
|
||||||
|
if (plVar11 == (longlong *)0x0) {
|
||||||
|
plVar11 = (longlong *)0x0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
*plVar11 = (longlong)TimeSourceHRWin32::vftable;
|
||||||
|
BVar7 = QueryPerformanceFrequency(&local_460);
|
||||||
|
if (BVar7 == 0) {
|
||||||
|
*(undefined1 *)(plVar11 + 2) = 0;
|
||||||
|
GetLastError();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
*(undefined1 *)(plVar11 + 2) = 1;
|
||||||
|
plVar11[1] = (longlong)(1.0 / (double)local_460.QuadPart);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
local_4a0 = DAT_14017cf18;
|
||||||
|
if ((undefined8 *)DAT_14017cf18[2] != (undefined8 *)0x0) {
|
||||||
|
(*(code *)**(undefined8 **)DAT_14017cf18[2])();
|
||||||
|
}
|
||||||
|
local_4a0[2] = (longlong)plVar11;
|
||||||
|
if (plVar11 != (longlong *)0x0) {
|
||||||
|
lVar24 = (**(code **)(*plVar11 + 8))(plVar11);
|
||||||
|
local_4a0[6] = lVar24;
|
||||||
|
local_4a0[7] = lVar24;
|
||||||
|
}
|
||||||
|
local_4a0[0x12] = 0x3ff0000000000000;
|
||||||
|
plVar11 = operator_new(0x28);
|
||||||
|
local_4a0 = plVar11;
|
||||||
|
if (plVar11 != (longlong *)0x0) {
|
||||||
|
*plVar11 = (longlong)Magi::Timer::vftable;
|
||||||
|
plVar6 = DAT_14017cf18;
|
||||||
|
plVar11[1] = (longlong)DAT_14017cf18;
|
||||||
|
plVar11[2] = 0;
|
||||||
|
plVar11[3] = 0;
|
||||||
|
*(undefined1 *)(plVar11 + 4) = 0;
|
||||||
|
*(undefined4 *)((longlong)plVar11 + 0x24) = 0x3f800000;
|
||||||
|
(**(code **)(*plVar6 + 0x10))();
|
||||||
|
}
|
||||||
|
*(longlong **)(param_1 + 0x49430) = plVar11;
|
||||||
|
local_448 = 0;
|
||||||
|
memset(local_446,0,0x9e);
|
||||||
|
ppvVar20 = (void **)0xa0;
|
||||||
|
memset(local_3a8,0,0xa0);
|
||||||
|
uVar26 = 0;
|
||||||
|
uVar28 = 0;
|
||||||
|
bVar5 = false;
|
||||||
|
pwVar13 = L"\t # RUN # \n";
|
||||||
|
FUN_1400ef250(DAT_14017c8a8,L"\t # RUN # \n",ppvVar20,param_4);
|
||||||
|
local_4a0 = (longlong *)CONCAT44(local_4a0._4_4_,5);
|
||||||
|
*(undefined4 *)(param_1 + 0x10) = 5;
|
||||||
|
if (DAT_14017ce74 != 0) {
|
||||||
|
printf("********************************\n");
|
||||||
|
DVar8 = timeGetTime();
|
||||||
|
pwVar13 = (wchar_t *)((ulonglong)(DVar8 - DAT_14017ce74) / 1000);
|
||||||
|
printf("** Server Load Time : %d sec\n");
|
||||||
|
printf("********************************\n");
|
||||||
|
}
|
||||||
|
printf("STEP : SERVER_RUN \n");
|
||||||
|
lVar24 = *(longlong *)(param_1 + 0x38);
|
||||||
|
if ((lVar24 != 0) && (*(char *)(lVar24 + 0x1a) != '\0')) {
|
||||||
|
param_4 = &local_4a0;
|
||||||
|
ppvVar20 = (void **)&DAT_14016f5d0;
|
||||||
|
pwVar13 = (wchar_t *)0x1;
|
||||||
|
(**(code **)(*(longlong *)(lVar24 + 0x68) + 0xb0))();
|
||||||
|
}
|
||||||
|
cVar2 = *(char *)(param_1 + 0x49440);
|
||||||
|
uVar29 = uVar26;
|
||||||
|
uVar30 = uVar28;
|
||||||
|
while (cVar2 != '\0') {
|
||||||
|
FUN_1400ed240((longlong)DAT_14017cf18);
|
||||||
|
dVar1 = *(double *)(*(longlong *)(param_1 + 0x49430) + 0x10);
|
||||||
|
if (DAT_14017ce84 != '\0') {
|
||||||
|
printf("AgentSession->Connect\n");
|
||||||
|
DAT_14017ce84 = DAT_14017ce84 == '\0';
|
||||||
|
}
|
||||||
|
FUN_14003c0a0(*(undefined8 **)(param_1 + 0x49448));
|
||||||
|
uVar25 = SUB84(dVar1,0);
|
||||||
|
uVar27 = (undefined4)((ulonglong)dVar1 >> 0x20);
|
||||||
|
if (1.0 <= dVar1 - (double)CONCAT44(uVar28,uVar26)) {
|
||||||
|
if (DAT_14017ce78 != 0) {
|
||||||
|
pwVar13 = (wchar_t *)&DAT_14012ea5c;
|
||||||
|
if (bVar5) {
|
||||||
|
pwVar13 = (wchar_t *)&DAT_14012ea58;
|
||||||
|
}
|
||||||
|
ppvVar20 = (void **)(ulonglong)DAT_14017ce7c;
|
||||||
|
printf("[ %s ] FPS[ %d ]\n");
|
||||||
|
bVar5 = !bVar5;
|
||||||
|
}
|
||||||
|
_DAT_14017ce80 = DAT_14017ce7c;
|
||||||
|
DAT_14017ce7c = 0;
|
||||||
|
uVar26 = uVar25;
|
||||||
|
uVar28 = uVar27;
|
||||||
|
}
|
||||||
|
if (0.10000000149011612 <= dVar1 - (double)CONCAT44(uVar30,uVar29)) {
|
||||||
|
DAT_14017ce7c = DAT_14017ce7c + 1;
|
||||||
|
FUN_140003420(param_1,(ulonglong *******)pwVar13,(undefined *)ppvVar20,(undefined2 *)param_4);
|
||||||
|
FUN_1400054f0(*(longlong *)(param_1 + 0x49450),dVar1,ppvVar20,(ulonglong)param_4);
|
||||||
|
uVar29 = uVar25;
|
||||||
|
uVar30 = uVar27;
|
||||||
|
if (*(char *)(*(longlong *)(param_1 + 0x49450) + 0x9c) != '\0') {
|
||||||
|
*(undefined4 *)(param_1 + 0x49444) = 1;
|
||||||
|
*(undefined1 *)(*(longlong *)(param_1 + 0x49450) + 0x9c) = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*(double *)(param_1 + 0x49438) = dVar1;
|
||||||
|
if (0 < *(int *)(param_1 + 0x49444)) {
|
||||||
|
FUN_140003d00(param_1,pwVar13,ppvVar20,(longlong)param_4);
|
||||||
|
}
|
||||||
|
Sleep(1);
|
||||||
|
puVar9 = local_468;
|
||||||
|
puVar21 = local_498;
|
||||||
|
cVar2 = *(char *)(param_1 + 0x49440);
|
||||||
|
}
|
||||||
|
FUN_14003bfd0(*(longlong *)(param_1 + 0x49448),pwVar13,ppvVar20,param_4);
|
||||||
|
lVar24 = *(longlong *)(param_1 + 0x49450);
|
||||||
|
puVar10 = *(undefined8 **)(lVar24 + 0x28);
|
||||||
|
if (puVar10 != (undefined8 *)0x0) {
|
||||||
|
(**(code **)*puVar10)(puVar10,1);
|
||||||
|
}
|
||||||
|
*(undefined8 *)(lVar24 + 0x28) = 0;
|
||||||
|
FUN_140006430(*(longlong *)(param_1 + 0x49458));
|
||||||
|
CoUninitialize();
|
||||||
|
pwVar13 = L"# SERVER END... #\n";
|
||||||
|
FUN_1400ef250(DAT_14017c8a8,L"# SERVER END... #\n",ppvVar20,param_4);
|
||||||
|
if (7 < local_2c0) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_2d6,local_2d8));
|
||||||
|
}
|
||||||
|
local_2c0 = 7;
|
||||||
|
local_2c8 = 0;
|
||||||
|
local_2d8 = L'\0';
|
||||||
|
if (7 < local_2e8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_2fe,local_300));
|
||||||
|
}
|
||||||
|
local_2e8 = 7;
|
||||||
|
local_2f0 = 0;
|
||||||
|
local_300 = 0;
|
||||||
|
if (puVar22 != (undefined8 *)0x0) {
|
||||||
|
plVar11 = puVar22 + 1;
|
||||||
|
*plVar11 = *plVar11 + -1;
|
||||||
|
plVar16 = local_4b8;
|
||||||
|
puVar9 = local_4a8;
|
||||||
|
plVar17 = local_4b0;
|
||||||
|
puVar21 = local_490;
|
||||||
|
if (*plVar11 == 0) {
|
||||||
|
FUN_140004b20(local_488,pwVar13,ppvVar20);
|
||||||
|
plVar16 = local_4b8;
|
||||||
|
puVar9 = local_4a8;
|
||||||
|
plVar17 = local_4b0;
|
||||||
|
puVar21 = local_490;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (puVar21 != (undefined8 *)0x0) {
|
||||||
|
plVar11 = puVar21 + 1;
|
||||||
|
*plVar11 = *plVar11 + -1;
|
||||||
|
plVar16 = local_4b8;
|
||||||
|
puVar9 = local_4a8;
|
||||||
|
plVar17 = local_4b0;
|
||||||
|
if (*plVar11 == 0) {
|
||||||
|
FUN_140004b20(local_490,pwVar13,ppvVar20);
|
||||||
|
plVar16 = local_4b8;
|
||||||
|
puVar9 = local_4a8;
|
||||||
|
plVar17 = local_4b0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (puVar9 != (undefined8 *)0x0) {
|
||||||
|
plVar11 = puVar9 + 1;
|
||||||
|
*plVar11 = *plVar11 + -1;
|
||||||
|
plVar16 = local_4b8;
|
||||||
|
plVar17 = local_4b0;
|
||||||
|
if (*plVar11 == 0) {
|
||||||
|
FUN_140004aa0(local_4a8,pwVar13,ppvVar20,param_4);
|
||||||
|
plVar16 = local_4b8;
|
||||||
|
plVar17 = local_4b0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
plVar11 = local_4b0;
|
||||||
|
if (plVar17 != (longlong *)0x0) {
|
||||||
|
plVar17 = plVar17 + 1;
|
||||||
|
*plVar17 = *plVar17 + -1;
|
||||||
|
plVar16 = local_4b8;
|
||||||
|
if (*plVar17 == 0) {
|
||||||
|
puVar9 = (undefined8 *)*local_4b0;
|
||||||
|
if (puVar9 != (undefined8 *)0x0) {
|
||||||
|
(**(code **)*puVar9)(puVar9,1);
|
||||||
|
}
|
||||||
|
FUN_14003e8b0(plVar11);
|
||||||
|
plVar16 = local_4b8;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
plVar17 = local_4b8;
|
||||||
|
if (plVar16 != (longlong *)0x0) {
|
||||||
|
plVar16 = plVar16 + 1;
|
||||||
|
*plVar16 = *plVar16 + -1;
|
||||||
|
if (*plVar16 == 0) {
|
||||||
|
puVar9 = (undefined8 *)*local_4b8;
|
||||||
|
if (puVar9 != (undefined8 *)0x0) {
|
||||||
|
(**(code **)*puVar9)(puVar9,1);
|
||||||
|
}
|
||||||
|
FUN_14003e8b0(plVar17);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
22
decomp/AgentManager_Release_x64/full/functions/0x1400033c0.c
Normal file
22
decomp/AgentManager_Release_x64/full/functions/0x1400033c0.c
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x1400033c0 FUN_1400033c0
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_1400033c0(longlong param_1)
|
||||||
|
|
||||||
|
{
|
||||||
|
if (7 < *(ulonglong *)(param_1 + 0x48)) {
|
||||||
|
operator_delete(*(void **)(param_1 + 0x30));
|
||||||
|
}
|
||||||
|
*(undefined8 *)(param_1 + 0x48) = 7;
|
||||||
|
*(undefined8 *)(param_1 + 0x40) = 0;
|
||||||
|
*(undefined2 *)(param_1 + 0x30) = 0;
|
||||||
|
if (7 < *(ulonglong *)(param_1 + 0x20)) {
|
||||||
|
operator_delete(*(void **)(param_1 + 8));
|
||||||
|
}
|
||||||
|
*(undefined8 *)(param_1 + 0x20) = 7;
|
||||||
|
*(undefined8 *)(param_1 + 0x18) = 0;
|
||||||
|
*(undefined2 *)(param_1 + 8) = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
298
decomp/AgentManager_Release_x64/full/functions/0x140003420.c
Normal file
298
decomp/AgentManager_Release_x64/full/functions/0x140003420.c
Normal file
|
|
@ -0,0 +1,298 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140003420 FUN_140003420
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||||
|
|
||||||
|
undefined8
|
||||||
|
FUN_140003420(longlong param_1,ulonglong *******param_2,undefined *param_3,undefined2 *param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
longlong lVar1;
|
||||||
|
ulonglong ***********pppppppppppuVar2;
|
||||||
|
ushort uVar3;
|
||||||
|
int iVar4;
|
||||||
|
int iVar5;
|
||||||
|
ulonglong ************ppppppppppppuVar6;
|
||||||
|
ulonglong ************ppppppppppppuVar7;
|
||||||
|
undefined **ppuVar8;
|
||||||
|
bool bVar9;
|
||||||
|
undefined1 auStack_1e8 [32];
|
||||||
|
undefined8 local_1c8;
|
||||||
|
undefined8 local_1c0;
|
||||||
|
undefined8 local_1b8;
|
||||||
|
undefined8 local_1b0;
|
||||||
|
undefined8 local_1a8;
|
||||||
|
undefined8 local_1a0;
|
||||||
|
undefined8 local_198;
|
||||||
|
undefined8 local_190;
|
||||||
|
undefined8 local_188;
|
||||||
|
undefined8 local_180;
|
||||||
|
undefined4 local_178;
|
||||||
|
undefined8 local_168;
|
||||||
|
ulonglong ***********local_160;
|
||||||
|
ulonglong ************local_158;
|
||||||
|
undefined8 local_150;
|
||||||
|
ulonglong local_148;
|
||||||
|
undefined4 local_138;
|
||||||
|
uint local_134;
|
||||||
|
byte local_12c;
|
||||||
|
undefined2 local_110;
|
||||||
|
undefined6 uStack_10e;
|
||||||
|
undefined8 local_100;
|
||||||
|
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;
|
||||||
|
void *local_60;
|
||||||
|
undefined8 local_58;
|
||||||
|
undefined8 local_50;
|
||||||
|
ulonglong local_38;
|
||||||
|
|
||||||
|
local_168 = 0xfffffffffffffffe;
|
||||||
|
local_38 = DAT_14016f5a0 ^ (ulonglong)auStack_1e8;
|
||||||
|
iVar4 = _kbhit();
|
||||||
|
while (iVar4 != 0) {
|
||||||
|
iVar4 = _getch();
|
||||||
|
iVar4 = (int)(char)iVar4;
|
||||||
|
if (*(int *)(param_1 + 0x49428) == 0) {
|
||||||
|
iVar5 = toupper(iVar4);
|
||||||
|
switch(iVar5) {
|
||||||
|
case 0x30:
|
||||||
|
local_160 = (ulonglong ***********)0x0;
|
||||||
|
local_158 = (ulonglong ************)0x0;
|
||||||
|
local_150 = 0;
|
||||||
|
param_2 = (ulonglong *******)&local_160;
|
||||||
|
FUN_1400398e0(DAT_14017cf20,(ulonglong *)param_2);
|
||||||
|
ppppppppppppuVar6 = local_158;
|
||||||
|
pppppppppppuVar2 = local_160;
|
||||||
|
for (ppppppppppppuVar7 = (ulonglong ************)local_160;
|
||||||
|
ppppppppppppuVar7 != ppppppppppppuVar6; ppppppppppppuVar7 = ppppppppppppuVar7 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_138,(undefined4 *)ppppppppppppuVar7);
|
||||||
|
param_4 = &local_c0;
|
||||||
|
if (7 < local_a8) {
|
||||||
|
param_4 = (undefined2 *)CONCAT62(uStack_be,local_c0);
|
||||||
|
}
|
||||||
|
param_3 = (undefined *)(ulonglong)local_12c;
|
||||||
|
param_2 = (ulonglong *******)(ulonglong)local_134;
|
||||||
|
wprintf(L" CODE:[ %d ]\tTYPE:[ %d ]\tNAME:[ %s ] \r\n");
|
||||||
|
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((void *)CONCAT62(uStack_10e,local_110));
|
||||||
|
}
|
||||||
|
local_f8 = 7;
|
||||||
|
local_100 = 0;
|
||||||
|
local_110 = 0;
|
||||||
|
}
|
||||||
|
if (pppppppppppuVar2 != (ulonglong ************)0x0) {
|
||||||
|
FUN_140004ba0((ulonglong *)pppppppppppuVar2,(ulonglong *)ppppppppppppuVar6);
|
||||||
|
operator_delete(pppppppppppuVar2);
|
||||||
|
param_2 = (ulonglong *******)ppppppppppppuVar6;
|
||||||
|
}
|
||||||
|
FUN_140033b40(DAT_14017cf28);
|
||||||
|
break;
|
||||||
|
case 0x31:
|
||||||
|
bVar9 = *(char *)(DAT_14017cf28 + 0x164) == '\0';
|
||||||
|
*(bool *)(DAT_14017cf28 + 0x164) = bVar9;
|
||||||
|
if (bVar9) {
|
||||||
|
printf("Print On !!!\n");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
printf("Print Off !!!\n");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0x32:
|
||||||
|
FUN_14000bd40(*(longlong *)(param_1 + 0x49468),param_2,param_3,param_4);
|
||||||
|
param_2 = (ulonglong *******)PTR_s_CreateBackupTable_140174e90;
|
||||||
|
printf("%s\n");
|
||||||
|
break;
|
||||||
|
case 0x33:
|
||||||
|
bVar9 = *(char *)(DAT_14017cf28 + 0x180) == '\0';
|
||||||
|
*(bool *)(DAT_14017cf28 + 0x180) = bVar9;
|
||||||
|
param_2 = (ulonglong *******)(ulonglong)bVar9;
|
||||||
|
printf("Active : %d\n");
|
||||||
|
break;
|
||||||
|
case 0x34:
|
||||||
|
FUN_140009240(*(longlong *)(param_1 + 0x49460),param_2,param_3,(longlong)param_4);
|
||||||
|
param_2 = (ulonglong *******)PTR_s_Server_File_Refresh__140174ec0;
|
||||||
|
printf("%s\n");
|
||||||
|
break;
|
||||||
|
case 0x35:
|
||||||
|
FUN_140008410(*(longlong *)(param_1 + 0x49460),param_2,param_3,param_4);
|
||||||
|
param_2 = (ulonglong *******)PTR_s_Server_Option_Refresh__140174ed8;
|
||||||
|
printf("%s\n");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
ppuVar8 = &PTR_s_Printf_On_Off__140174e78;
|
||||||
|
do {
|
||||||
|
uVar3 = GetAsyncKeyState(0xa0);
|
||||||
|
if (((uVar3 & 0x8001) != 0) || (*(char *)(ppuVar8 + 1) == '\0')) {
|
||||||
|
param_3 = *ppuVar8;
|
||||||
|
param_2 = (ulonglong *******)(ulonglong)(uint)(int)*(char *)(ppuVar8 + -1);
|
||||||
|
printf(" \'%c\'\t: %s\n");
|
||||||
|
}
|
||||||
|
ppuVar8 = ppuVar8 + 3;
|
||||||
|
} while ((longlong)ppuVar8 < 0x140175028);
|
||||||
|
printf("........... Message : Unknown Control Command.\n");
|
||||||
|
break;
|
||||||
|
case 0x37:
|
||||||
|
FUN_140009760(*(longlong *)(param_1 + 0x49460),param_2,param_3,param_4);
|
||||||
|
param_2 = (ulonglong *******)PTR_s_Server_RealTime_Event__140174ef0;
|
||||||
|
printf("%s\n");
|
||||||
|
break;
|
||||||
|
case 0x38:
|
||||||
|
param_2 = (ulonglong *******)(ulonglong)*(uint *)(DAT_14017cf20 + 0x58);
|
||||||
|
printf("[AgentCount : %d] \n");
|
||||||
|
break;
|
||||||
|
case 0x39:
|
||||||
|
FUN_14000c120(DAT_14017cf48);
|
||||||
|
param_2 = (ulonglong *******)PTR_s_Statistics_Print__140174f20;
|
||||||
|
printf("%s\n");
|
||||||
|
break;
|
||||||
|
case 0x45:
|
||||||
|
*(undefined1 *)(param_1 + 0x49440) = 0;
|
||||||
|
printf("Server Shutdown\n");
|
||||||
|
return 0;
|
||||||
|
case 0x46:
|
||||||
|
wprintf(L"-AGENT MANAGER SERVER [CODE:%d]---------------------------------\n");
|
||||||
|
wprintf(L"PUBLIC NETWORK : ADDRESS[ %s ] PORT[ %d ]\n");
|
||||||
|
wprintf(L"PRIVATE NETWORK : ADDRESS[ %s ] PORT[ %d ]\n");
|
||||||
|
param_3 = (undefined *)(ulonglong)*(uint *)(*(longlong *)(param_1 + 0x49448) + 0x50);
|
||||||
|
printf("API NETWORK : ADDRESS[ %s ] PORT[ %d ] \n");
|
||||||
|
wprintf(
|
||||||
|
L"\n-SESSION----------------------------------------------------------------------\n"
|
||||||
|
);
|
||||||
|
wprintf(L"%s \n");
|
||||||
|
param_2 = (ulonglong *******)(*(longlong *)(param_1 + 0x49468) + 0x28);
|
||||||
|
if (7 < *(ulonglong *)(*(longlong *)(param_1 + 0x49468) + 0x40)) {
|
||||||
|
param_2 = (ulonglong *******)*param_2;
|
||||||
|
}
|
||||||
|
wprintf(L"%s \n");
|
||||||
|
wprintf(
|
||||||
|
L"\n------------------------------------------------------------------------------\n\n"
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
case 0x4c:
|
||||||
|
*(undefined4 *)(param_1 + 0x49428) = 1;
|
||||||
|
param_3 = &DAT_14012eca4;
|
||||||
|
param_2 = (ulonglong *******)PTR_s_Keyboard_Locked_140174f80;
|
||||||
|
printf("%s %s\n");
|
||||||
|
break;
|
||||||
|
case 0x4d:
|
||||||
|
FUN_140038530(DAT_14017cf10);
|
||||||
|
param_2 = (ulonglong *******)PTR_s_CustomOption_Init_140175010;
|
||||||
|
printf("%s\n");
|
||||||
|
break;
|
||||||
|
case 0x50:
|
||||||
|
lVar1 = *(longlong *)(param_1 + 0x49450);
|
||||||
|
if (lVar1 != 0) {
|
||||||
|
local_188 = 0;
|
||||||
|
local_1c0 = 0;
|
||||||
|
local_1c8 = 0;
|
||||||
|
local_1b0 = 0;
|
||||||
|
local_1b8 = 0;
|
||||||
|
local_190 = 0;
|
||||||
|
local_198 = 0;
|
||||||
|
local_1a0 = 0;
|
||||||
|
local_1a8 = 0;
|
||||||
|
local_180 = 0;
|
||||||
|
local_178 = 0;
|
||||||
|
if (*(longlong *)(lVar1 + 0x28) != 0) {
|
||||||
|
(**(code **)(**(longlong **)(lVar1 + 0x28) + 0xb0))
|
||||||
|
(*(longlong **)(lVar1 + 0x28),&local_1c8);
|
||||||
|
printf("--------------------------------------------------\n");
|
||||||
|
printf("%I64d totalTcpReceiveCount\n");
|
||||||
|
printf("%I64d totalTcpReceiveBytes\n");
|
||||||
|
printf("%I64d totalTcpSendCount\n");
|
||||||
|
printf("%I64d totalTcpSendBytes\n");
|
||||||
|
printf("%d p2pConnectionPairCount\n");
|
||||||
|
printf("%d p2pDirectConnectionPairCount\n");
|
||||||
|
printf("%d clientCount\n");
|
||||||
|
printf("--------------------------------------------------\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
param_2 = (ulonglong *******)PTR_s_Network_Status_140174f98;
|
||||||
|
printf("%s\n");
|
||||||
|
break;
|
||||||
|
case 0x52:
|
||||||
|
DAT_14017ce78 = (uint)(DAT_14017ce78 == 0);
|
||||||
|
param_3 = &DAT_14012eca8;
|
||||||
|
if (DAT_14017ce78 != 0) {
|
||||||
|
param_3 = &DAT_14012eca4;
|
||||||
|
}
|
||||||
|
param_2 = (ulonglong *******)PTR_s_ShowFPS_140174fb0;
|
||||||
|
printf("%s %s\n");
|
||||||
|
break;
|
||||||
|
case 0x54:
|
||||||
|
DAT_14017ce84 = DAT_14017ce84 == '\0';
|
||||||
|
param_2 = (ulonglong *******)(ulonglong)(byte)DAT_14017ce84;
|
||||||
|
printf("Connect : [%d]\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
iVar5 = toupper(iVar4);
|
||||||
|
if (iVar5 == 0x55) {
|
||||||
|
*(undefined4 *)(param_1 + 0x49428) = 0;
|
||||||
|
param_3 = &DAT_14012eca8;
|
||||||
|
param_2 = (ulonglong *******)PTR_s_Keyboard_UnLocked_140174fc8;
|
||||||
|
printf("%s %s\n");
|
||||||
|
ppuVar8 = &PTR_s_Printf_On_Off__140174e78;
|
||||||
|
do {
|
||||||
|
uVar3 = GetAsyncKeyState(0xa0);
|
||||||
|
if (((uVar3 & 0x8001) != 0) || (*(char *)(ppuVar8 + 1) == '\0')) {
|
||||||
|
param_3 = *ppuVar8;
|
||||||
|
param_2 = (ulonglong *******)(ulonglong)(uint)(int)*(char *)(ppuVar8 + -1);
|
||||||
|
printf(" \'%c\'\t: %s\n");
|
||||||
|
}
|
||||||
|
ppuVar8 = ppuVar8 + 3;
|
||||||
|
} while ((longlong)ppuVar8 < 0x140175028);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
iVar4 = toupper(iVar4);
|
||||||
|
if (iVar4 == 0x49) {
|
||||||
|
printf("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n");
|
||||||
|
GetCurrentProcessId();
|
||||||
|
printf("ProcessID : %d\n");
|
||||||
|
printf("SVN : %d\n");
|
||||||
|
printf("Resource : %d\n");
|
||||||
|
printf("Build Date : %s\n");
|
||||||
|
param_2 = (ulonglong *******)FUN_1400ed8a0((ulonglong *)&local_160);
|
||||||
|
if ((ulonglong ***********)0xf < param_2[3]) {
|
||||||
|
param_2 = (ulonglong *******)*param_2;
|
||||||
|
}
|
||||||
|
printf("PROTOCOL : %s\n");
|
||||||
|
if (0xf < local_148) {
|
||||||
|
operator_delete(local_160);
|
||||||
|
}
|
||||||
|
local_148 = 0xf;
|
||||||
|
local_150 = 0;
|
||||||
|
local_160 = (ulonglong ***********)((ulonglong)local_160 & 0xffffffffffffff00);
|
||||||
|
printf("=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n");
|
||||||
|
}
|
||||||
|
iVar4 = _kbhit();
|
||||||
|
}
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
|
||||||
19
decomp/AgentManager_Release_x64/full/functions/0x140003c50.c
Normal file
19
decomp/AgentManager_Release_x64/full/functions/0x140003c50.c
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140003c50 FUN_140003c50
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
undefined4 * FUN_140003c50(undefined4 *param_1,undefined4 *param_2)
|
||||||
|
|
||||||
|
{
|
||||||
|
FUN_140004f20(param_1,param_2);
|
||||||
|
*(undefined8 *)(param_1 + 0x28) = *(undefined8 *)(param_2 + 0x28);
|
||||||
|
*(undefined8 *)(param_1 + 0x2a) = *(undefined8 *)(param_2 + 0x2a);
|
||||||
|
*(undefined8 *)(param_1 + 0x2c) = *(undefined8 *)(param_2 + 0x2c);
|
||||||
|
*(undefined8 *)(param_1 + 0x2e) = *(undefined8 *)(param_2 + 0x2e);
|
||||||
|
*(undefined8 *)(param_1 + 0x30) = *(undefined8 *)(param_2 + 0x30);
|
||||||
|
*(undefined8 *)(param_1 + 0x32) = *(undefined8 *)(param_2 + 0x32);
|
||||||
|
*(undefined8 *)(param_1 + 0x34) = *(undefined8 *)(param_2 + 0x34);
|
||||||
|
FUN_140004de0((undefined8 *)(param_1 + 0x36),(longlong *)(param_2 + 0x36));
|
||||||
|
return param_1;
|
||||||
|
}
|
||||||
|
|
||||||
458
decomp/AgentManager_Release_x64/full/functions/0x140003d00.c
Normal file
458
decomp/AgentManager_Release_x64/full/functions/0x140003d00.c
Normal file
|
|
@ -0,0 +1,458 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140003d00 FUN_140003d00
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||||
|
|
||||||
|
void FUN_140003d00(longlong param_1,undefined8 param_2,undefined8 param_3,longlong param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
ulonglong *puVar1;
|
||||||
|
ulonglong *puVar2;
|
||||||
|
bool bVar3;
|
||||||
|
undefined1 auStack_178 [32];
|
||||||
|
ulonglong *local_158;
|
||||||
|
ulonglong *local_150;
|
||||||
|
undefined8 local_148;
|
||||||
|
undefined8 local_138;
|
||||||
|
undefined4 local_128;
|
||||||
|
uint local_124;
|
||||||
|
undefined2 local_100;
|
||||||
|
undefined6 uStack_fe;
|
||||||
|
undefined8 local_f0;
|
||||||
|
ulonglong local_e8;
|
||||||
|
undefined2 local_d8;
|
||||||
|
undefined6 uStack_d6;
|
||||||
|
undefined8 local_c8;
|
||||||
|
ulonglong local_c0;
|
||||||
|
undefined2 local_b0;
|
||||||
|
undefined6 uStack_ae;
|
||||||
|
undefined8 local_a0;
|
||||||
|
ulonglong local_98;
|
||||||
|
int local_64;
|
||||||
|
void *local_50;
|
||||||
|
undefined8 local_48;
|
||||||
|
undefined8 local_40;
|
||||||
|
ulonglong local_28;
|
||||||
|
|
||||||
|
local_138 = 0xfffffffffffffffe;
|
||||||
|
local_28 = DAT_14016f5a0 ^ (ulonglong)auStack_178;
|
||||||
|
if (*(longlong *)(param_1 + 0x49450) == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
local_158 = (ulonglong *)0x0;
|
||||||
|
local_150 = (ulonglong *)0x0;
|
||||||
|
local_148 = 0;
|
||||||
|
switch(*(undefined4 *)(param_1 + 0x49444)) {
|
||||||
|
case 1:
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\f');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x11');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x12');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x13');
|
||||||
|
puVar1 = local_150;
|
||||||
|
for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_128,(undefined4 *)puVar2);
|
||||||
|
if (local_64 == 0) {
|
||||||
|
FUN_14000cb70(*(longlong *)(param_1 + 0x49450),0,(ulonglong)local_124,param_4);
|
||||||
|
}
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_40 = 0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
if (7 < local_98) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_ae,local_b0));
|
||||||
|
}
|
||||||
|
local_b0 = 0;
|
||||||
|
local_a0 = 0;
|
||||||
|
local_98 = 7;
|
||||||
|
if (7 < local_c0) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_d6,local_d8));
|
||||||
|
}
|
||||||
|
local_d8 = 0;
|
||||||
|
local_c8 = 0;
|
||||||
|
local_c0 = 7;
|
||||||
|
if (7 < local_e8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_fe,local_100));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\f');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x11');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x12');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x13');
|
||||||
|
puVar1 = local_150;
|
||||||
|
for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_128,(undefined4 *)puVar2);
|
||||||
|
if (local_64 != 3) {
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
if (7 < local_98) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_ae,local_b0));
|
||||||
|
}
|
||||||
|
local_98 = 7;
|
||||||
|
local_a0 = 0;
|
||||||
|
local_b0 = 0;
|
||||||
|
if (7 < local_c0) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_d6,local_d8));
|
||||||
|
}
|
||||||
|
local_c0 = 7;
|
||||||
|
local_c8 = 0;
|
||||||
|
local_d8 = 0;
|
||||||
|
if (7 < local_e8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_fe,local_100));
|
||||||
|
}
|
||||||
|
local_e8 = 7;
|
||||||
|
local_f0 = 0;
|
||||||
|
local_100 = 0;
|
||||||
|
if (local_158 == (ulonglong *)0x0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
goto LAB_14000490b;
|
||||||
|
}
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
if (7 < local_98) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_ae,local_b0));
|
||||||
|
}
|
||||||
|
local_98 = 7;
|
||||||
|
local_a0 = 0;
|
||||||
|
local_b0 = 0;
|
||||||
|
if (7 < local_c0) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_d6,local_d8));
|
||||||
|
}
|
||||||
|
local_c0 = 7;
|
||||||
|
local_c8 = 0;
|
||||||
|
local_d8 = 0;
|
||||||
|
if (7 < local_e8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_fe,local_100));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
FUN_14000bd40(*(longlong *)(param_1 + 0x49468),&IMAGE_DOS_HEADER_140000000,param_3,param_4);
|
||||||
|
*(int *)(param_1 + 0x49444) = *(int *)(param_1 + 0x49444) + 1;
|
||||||
|
goto switchD_140003d7b_caseD_5;
|
||||||
|
case 4:
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\f');
|
||||||
|
puVar1 = local_150;
|
||||||
|
for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_128,(undefined4 *)puVar2);
|
||||||
|
FUN_14000cb70(*(longlong *)(param_1 + 0x49450),0xd,(ulonglong)local_124,param_4);
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
if (7 < local_98) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_ae,local_b0));
|
||||||
|
}
|
||||||
|
local_98 = 7;
|
||||||
|
local_a0 = 0;
|
||||||
|
local_b0 = 0;
|
||||||
|
if (7 < local_c0) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_d6,local_d8));
|
||||||
|
}
|
||||||
|
local_c0 = 7;
|
||||||
|
local_c8 = 0;
|
||||||
|
local_d8 = 0;
|
||||||
|
if (7 < local_e8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_fe,local_100));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
goto switchD_140003d7b_caseD_5;
|
||||||
|
case 6:
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\b');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x06');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\t');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\n');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\v');
|
||||||
|
puVar1 = local_150;
|
||||||
|
for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_128,(undefined4 *)puVar2);
|
||||||
|
if (local_64 == 0) {
|
||||||
|
FUN_14000cb70(*(longlong *)(param_1 + 0x49450),0,(ulonglong)local_124,param_4);
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
goto LAB_1400041ea;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (local_50 != (void *)0x0) {
|
||||||
|
LAB_1400041ea:
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_40 = 0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
if (7 < local_98) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_ae,local_b0));
|
||||||
|
}
|
||||||
|
local_b0 = 0;
|
||||||
|
local_a0 = 0;
|
||||||
|
local_98 = 7;
|
||||||
|
if (7 < local_c0) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_d6,local_d8));
|
||||||
|
}
|
||||||
|
local_d8 = 0;
|
||||||
|
local_c8 = 0;
|
||||||
|
local_c0 = 7;
|
||||||
|
if (7 < local_e8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_fe,local_100));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\b');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x06');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\t');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\n');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\v');
|
||||||
|
puVar1 = local_150;
|
||||||
|
for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_128,(undefined4 *)puVar2);
|
||||||
|
if (local_64 != 3) {
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
if (7 < local_98) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_ae,local_b0));
|
||||||
|
}
|
||||||
|
local_98 = 7;
|
||||||
|
local_a0 = 0;
|
||||||
|
local_b0 = 0;
|
||||||
|
if (7 < local_c0) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_d6,local_d8));
|
||||||
|
}
|
||||||
|
local_c0 = 7;
|
||||||
|
local_c8 = 0;
|
||||||
|
local_d8 = 0;
|
||||||
|
if (7 < local_e8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_fe,local_100));
|
||||||
|
}
|
||||||
|
local_e8 = 7;
|
||||||
|
local_f0 = 0;
|
||||||
|
local_100 = 0;
|
||||||
|
bVar3 = local_158 == (ulonglong *)0x0;
|
||||||
|
goto LAB_1400048f9;
|
||||||
|
}
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
if (7 < local_98) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_ae,local_b0));
|
||||||
|
}
|
||||||
|
local_98 = 7;
|
||||||
|
local_a0 = 0;
|
||||||
|
local_b0 = 0;
|
||||||
|
if (7 < local_c0) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_d6,local_d8));
|
||||||
|
}
|
||||||
|
local_c0 = 7;
|
||||||
|
local_c8 = 0;
|
||||||
|
local_d8 = 0;
|
||||||
|
if (7 < local_e8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_fe,local_100));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\a');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x05');
|
||||||
|
puVar1 = local_150;
|
||||||
|
for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_128,(undefined4 *)puVar2);
|
||||||
|
if (local_64 == 0) {
|
||||||
|
FUN_14000cb70(*(longlong *)(param_1 + 0x49450),0,(ulonglong)local_124,param_4);
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
FUN_140004e90((longlong)&local_128);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
if (7 < local_98) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_ae,local_b0));
|
||||||
|
}
|
||||||
|
local_98 = 7;
|
||||||
|
local_a0 = 0;
|
||||||
|
local_b0 = 0;
|
||||||
|
if (7 < local_c0) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_d6,local_d8));
|
||||||
|
}
|
||||||
|
local_c0 = 7;
|
||||||
|
local_c8 = 0;
|
||||||
|
local_d8 = 0;
|
||||||
|
if (7 < local_e8) {
|
||||||
|
operator_delete((void *)CONCAT62(uStack_fe,local_100));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\a');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x05');
|
||||||
|
puVar1 = local_150;
|
||||||
|
for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_128,(undefined4 *)puVar2);
|
||||||
|
if (local_64 != 3) {
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
FUN_140004e90((longlong)&local_128);
|
||||||
|
bVar3 = local_158 == (ulonglong *)0x0;
|
||||||
|
goto LAB_1400048f9;
|
||||||
|
}
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
FUN_140004e90((longlong)&local_128);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 10:
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x01');
|
||||||
|
puVar1 = local_150;
|
||||||
|
for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_128,(undefined4 *)puVar2);
|
||||||
|
if (local_64 == 0) {
|
||||||
|
FUN_14000cb70(*(longlong *)(param_1 + 0x49450),0,(ulonglong)local_124,param_4);
|
||||||
|
}
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
FUN_140004e90((longlong)&local_128);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0xb:
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x01');
|
||||||
|
puVar1 = local_150;
|
||||||
|
for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_128,(undefined4 *)puVar2);
|
||||||
|
if (local_64 != 3) {
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
FUN_140004e90((longlong)&local_128);
|
||||||
|
bVar3 = local_158 == (ulonglong *)0x0;
|
||||||
|
goto LAB_1400048f9;
|
||||||
|
}
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
FUN_140004e90((longlong)&local_128);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0xc:
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x02');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x03');
|
||||||
|
puVar1 = local_150;
|
||||||
|
for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_128,(undefined4 *)puVar2);
|
||||||
|
if (local_64 == 0) {
|
||||||
|
FUN_14000cb70(*(longlong *)(param_1 + 0x49450),0,(ulonglong)local_124,param_4);
|
||||||
|
}
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
FUN_140004e90((longlong)&local_128);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0xd:
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x02');
|
||||||
|
FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x03');
|
||||||
|
puVar1 = local_150;
|
||||||
|
for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) {
|
||||||
|
FUN_140003c50(&local_128,(undefined4 *)puVar2);
|
||||||
|
if (local_64 != 3) {
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
FUN_140004e90((longlong)&local_128);
|
||||||
|
bVar3 = local_158 == (ulonglong *)0x0;
|
||||||
|
goto LAB_1400048f9;
|
||||||
|
}
|
||||||
|
if (local_50 != (void *)0x0) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50);
|
||||||
|
operator_delete(local_50);
|
||||||
|
}
|
||||||
|
local_50 = (void *)0x0;
|
||||||
|
local_48 = 0;
|
||||||
|
local_40 = 0;
|
||||||
|
FUN_140004e90((longlong)&local_128);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0xe:
|
||||||
|
*(undefined4 *)(param_1 + 0x49444) = 0;
|
||||||
|
goto switchD_140003d7b_caseD_5;
|
||||||
|
}
|
||||||
|
*(int *)(param_1 + 0x49444) = *(int *)(param_1 + 0x49444) + 1;
|
||||||
|
switchD_140003d7b_caseD_5:
|
||||||
|
bVar3 = local_158 == (ulonglong *)0x0;
|
||||||
|
LAB_1400048f9:
|
||||||
|
if (!bVar3) {
|
||||||
|
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_158);
|
||||||
|
LAB_14000490b:
|
||||||
|
FUN_140004ba0(local_158,local_150);
|
||||||
|
operator_delete(local_158);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
23
decomp/AgentManager_Release_x64/full/functions/0x140004980.c
Normal file
23
decomp/AgentManager_Release_x64/full/functions/0x140004980.c
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140004980 FUN_140004980
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140004980(longlong *param_1)
|
||||||
|
|
||||||
|
{
|
||||||
|
longlong *plVar1;
|
||||||
|
undefined8 *puVar2;
|
||||||
|
|
||||||
|
if ((*param_1 != 0) &&
|
||||||
|
(*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1,
|
||||||
|
*(longlong *)(*param_1 + 8) == 0)) {
|
||||||
|
plVar1 = (longlong *)*param_1;
|
||||||
|
puVar2 = (undefined8 *)*plVar1;
|
||||||
|
if (puVar2 != (undefined8 *)0x0) {
|
||||||
|
(**(code **)*puVar2)(puVar2,1);
|
||||||
|
}
|
||||||
|
FUN_14003e8b0(plVar1);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
16
decomp/AgentManager_Release_x64/full/functions/0x1400049e0.c
Normal file
16
decomp/AgentManager_Release_x64/full/functions/0x1400049e0.c
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x1400049e0 FUN_1400049e0
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_1400049e0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
if (*param_1 != 0) {
|
||||||
|
*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1;
|
||||||
|
if (*(longlong *)(*param_1 + 8) == 0) {
|
||||||
|
FUN_140004aa0((undefined8 *)*param_1,0,param_3,param_4);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
16
decomp/AgentManager_Release_x64/full/functions/0x140004a20.c
Normal file
16
decomp/AgentManager_Release_x64/full/functions/0x140004a20.c
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140004a20 FUN_140004a20
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140004a20(longlong *param_1,undefined8 param_2,void **param_3)
|
||||||
|
|
||||||
|
{
|
||||||
|
if (*param_1 != 0) {
|
||||||
|
*(longlong *)(*param_1 + 8) = *(longlong *)(*param_1 + 8) + -1;
|
||||||
|
if (*(longlong *)(*param_1 + 8) == 0) {
|
||||||
|
FUN_140004b20((undefined8 *)*param_1,0,param_3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
17
decomp/AgentManager_Release_x64/full/functions/0x140004a60.c
Normal file
17
decomp/AgentManager_Release_x64/full/functions/0x140004a60.c
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140004a60 FUN_140004a60
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140004a60(undefined8 *param_1)
|
||||||
|
|
||||||
|
{
|
||||||
|
if ((ulonglong *)*param_1 != (ulonglong *)0x0) {
|
||||||
|
FUN_140004ba0((ulonglong *)*param_1,(ulonglong *)param_1[1]);
|
||||||
|
operator_delete((void *)*param_1);
|
||||||
|
}
|
||||||
|
*param_1 = 0;
|
||||||
|
param_1[1] = 0;
|
||||||
|
param_1[2] = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
25
decomp/AgentManager_Release_x64/full/functions/0x140004aa0.c
Normal file
25
decomp/AgentManager_Release_x64/full/functions/0x140004aa0.c
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140004aa0 FUN_140004aa0
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140004aa0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
undefined8 *puVar1;
|
||||||
|
|
||||||
|
puVar1 = (undefined8 *)*param_1;
|
||||||
|
if (puVar1 != (undefined8 *)0x0) {
|
||||||
|
*puVar1 = MagiApiServer::vftable;
|
||||||
|
FUN_14003d110((undefined4 *)(puVar1 + 0xc),param_2,param_3,param_4);
|
||||||
|
if (0xf < (ulonglong)puVar1[8]) {
|
||||||
|
operator_delete((void *)puVar1[5]);
|
||||||
|
}
|
||||||
|
puVar1[8] = 0xf;
|
||||||
|
puVar1[7] = 0;
|
||||||
|
*(undefined1 *)(puVar1 + 5) = 0;
|
||||||
|
operator_delete(puVar1);
|
||||||
|
}
|
||||||
|
FUN_14003e8b0(param_1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
40
decomp/AgentManager_Release_x64/full/functions/0x140004b20.c
Normal file
40
decomp/AgentManager_Release_x64/full/functions/0x140004b20.c
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140004b20 FUN_140004b20
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140004b20(undefined8 *param_1,undefined8 param_2,void **param_3)
|
||||||
|
|
||||||
|
{
|
||||||
|
char *pcVar1;
|
||||||
|
|
||||||
|
pcVar1 = (char *)*param_1;
|
||||||
|
if (pcVar1 != (char *)0x0) {
|
||||||
|
if (7 < *(ulonglong *)(pcVar1 + 0x40)) {
|
||||||
|
operator_delete(*(void **)(pcVar1 + 0x28));
|
||||||
|
}
|
||||||
|
pcVar1[0x40] = '\a';
|
||||||
|
pcVar1[0x41] = '\0';
|
||||||
|
pcVar1[0x42] = '\0';
|
||||||
|
pcVar1[0x43] = '\0';
|
||||||
|
pcVar1[0x44] = '\0';
|
||||||
|
pcVar1[0x45] = '\0';
|
||||||
|
pcVar1[0x46] = '\0';
|
||||||
|
pcVar1[0x47] = '\0';
|
||||||
|
pcVar1[0x38] = '\0';
|
||||||
|
pcVar1[0x39] = '\0';
|
||||||
|
pcVar1[0x3a] = '\0';
|
||||||
|
pcVar1[0x3b] = '\0';
|
||||||
|
pcVar1[0x3c] = '\0';
|
||||||
|
pcVar1[0x3d] = '\0';
|
||||||
|
pcVar1[0x3e] = '\0';
|
||||||
|
pcVar1[0x3f] = '\0';
|
||||||
|
pcVar1[0x28] = '\0';
|
||||||
|
pcVar1[0x29] = '\0';
|
||||||
|
FUN_140072ba0((longlong *)(pcVar1 + 8),param_2,param_3);
|
||||||
|
FUN_1400721f0(pcVar1);
|
||||||
|
operator_delete(pcVar1);
|
||||||
|
}
|
||||||
|
FUN_14003e8b0(param_1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
44
decomp/AgentManager_Release_x64/full/functions/0x140004ba0.c
Normal file
44
decomp/AgentManager_Release_x64/full/functions/0x140004ba0.c
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140004ba0 FUN_140004ba0
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140004ba0(ulonglong *param_1,ulonglong *param_2)
|
||||||
|
|
||||||
|
{
|
||||||
|
ulonglong *puVar1;
|
||||||
|
ulonglong *puVar2;
|
||||||
|
|
||||||
|
if (param_1 != param_2) {
|
||||||
|
puVar2 = param_1 + 0x12;
|
||||||
|
do {
|
||||||
|
if ((void *)puVar2[9] != (void *)0x0) {
|
||||||
|
operator_delete((void *)puVar2[9]);
|
||||||
|
}
|
||||||
|
puVar2[9] = 0;
|
||||||
|
puVar2[10] = 0;
|
||||||
|
puVar2[0xb] = 0;
|
||||||
|
if (7 < *puVar2) {
|
||||||
|
operator_delete((void *)puVar2[-3]);
|
||||||
|
}
|
||||||
|
*puVar2 = 7;
|
||||||
|
puVar2[-1] = 0;
|
||||||
|
*(undefined2 *)(puVar2 + -3) = 0;
|
||||||
|
if (7 < puVar2[-5]) {
|
||||||
|
operator_delete((void *)puVar2[-8]);
|
||||||
|
}
|
||||||
|
puVar2[-5] = 7;
|
||||||
|
puVar2[-6] = 0;
|
||||||
|
*(undefined2 *)(puVar2 + -8) = 0;
|
||||||
|
if (7 < puVar2[-10]) {
|
||||||
|
operator_delete((void *)puVar2[-0xd]);
|
||||||
|
}
|
||||||
|
puVar2[-10] = 7;
|
||||||
|
puVar2[-0xb] = 0;
|
||||||
|
*(undefined2 *)(puVar2 + -0xd) = 0;
|
||||||
|
puVar1 = puVar2 + 0xd;
|
||||||
|
puVar2 = puVar2 + 0x1f;
|
||||||
|
} while (puVar1 != param_2);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
17
decomp/AgentManager_Release_x64/full/functions/0x140004c70.c
Normal file
17
decomp/AgentManager_Release_x64/full/functions/0x140004c70.c
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140004c70 FUN_140004c70
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140004c70(longlong param_1)
|
||||||
|
|
||||||
|
{
|
||||||
|
if (*(void **)(param_1 + 0xd8) != (void *)0x0) {
|
||||||
|
operator_delete(*(void **)(param_1 + 0xd8));
|
||||||
|
}
|
||||||
|
*(undefined8 *)(param_1 + 0xd8) = 0;
|
||||||
|
*(undefined8 *)(param_1 + 0xe0) = 0;
|
||||||
|
*(undefined8 *)(param_1 + 0xe8) = 0;
|
||||||
|
FUN_140004e90(param_1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
11
decomp/AgentManager_Release_x64/full/functions/0x140004cb0.c
Normal file
11
decomp/AgentManager_Release_x64/full/functions/0x140004cb0.c
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140004cb0 FUN_140004cb0
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140004cb0(longlong param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
FUN_140002350((undefined8 *)(param_1 + -8),param_2,param_3,param_4);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
25
decomp/AgentManager_Release_x64/full/functions/0x140004cc0.c
Normal file
25
decomp/AgentManager_Release_x64/full/functions/0x140004cc0.c
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140004cc0 FUN_140004cc0
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void * FUN_140004cc0(undefined8 param_1,ulonglong param_2)
|
||||||
|
|
||||||
|
{
|
||||||
|
void *pvVar1;
|
||||||
|
char *local_res10 [3];
|
||||||
|
undefined **local_28 [5];
|
||||||
|
|
||||||
|
if (param_2 == 0) {
|
||||||
|
return (void *)0x0;
|
||||||
|
}
|
||||||
|
if ((param_2 < 0x4000000000000000) && (pvVar1 = operator_new(param_2 * 4), pvVar1 != (void *)0x0))
|
||||||
|
{
|
||||||
|
return pvVar1;
|
||||||
|
}
|
||||||
|
local_res10[0] = (char *)0x0;
|
||||||
|
std::exception::exception((exception *)local_28,local_res10);
|
||||||
|
local_28[0] = std::bad_alloc::vftable;
|
||||||
|
/* WARNING: Subroutine does not return */
|
||||||
|
_CxxThrowException(local_28,(ThrowInfo *)&DAT_14016c158);
|
||||||
|
}
|
||||||
|
|
||||||
32
decomp/AgentManager_Release_x64/full/functions/0x140004d30.c
Normal file
32
decomp/AgentManager_Release_x64/full/functions/0x140004d30.c
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140004d30 FUN_140004d30
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
undefined8 FUN_140004d30(undefined8 *param_1,ulonglong param_2)
|
||||||
|
|
||||||
|
{
|
||||||
|
code *pcVar1;
|
||||||
|
undefined8 uVar2;
|
||||||
|
void *pvVar3;
|
||||||
|
|
||||||
|
uVar2 = 0;
|
||||||
|
*param_1 = 0;
|
||||||
|
param_1[1] = 0;
|
||||||
|
param_1[2] = 0;
|
||||||
|
if (param_2 != 0) {
|
||||||
|
if (0x3fffffffffffffff < param_2) {
|
||||||
|
std::_Xlength_error("vector<T> too long");
|
||||||
|
pcVar1 = (code *)swi(3);
|
||||||
|
uVar2 = (*pcVar1)();
|
||||||
|
return uVar2;
|
||||||
|
}
|
||||||
|
pvVar3 = FUN_140004cc0(param_1 + 3,param_2);
|
||||||
|
*param_1 = pvVar3;
|
||||||
|
param_1[1] = pvVar3;
|
||||||
|
pvVar3 = (void *)((longlong)pvVar3 + param_2 * 4);
|
||||||
|
param_1[2] = pvVar3;
|
||||||
|
uVar2 = CONCAT71((int7)((ulonglong)pvVar3 >> 8),1);
|
||||||
|
}
|
||||||
|
return uVar2;
|
||||||
|
}
|
||||||
|
|
||||||
16
decomp/AgentManager_Release_x64/full/functions/0x140004da0.c
Normal file
16
decomp/AgentManager_Release_x64/full/functions/0x140004da0.c
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140004da0 FUN_140004da0
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
undefined4 * FUN_140004da0(undefined4 *param_1,undefined4 *param_2,undefined4 *param_3)
|
||||||
|
|
||||||
|
{
|
||||||
|
for (; param_1 != param_2; param_1 = param_1 + 1) {
|
||||||
|
if (param_3 != (undefined4 *)0x0) {
|
||||||
|
*param_3 = *param_1;
|
||||||
|
}
|
||||||
|
param_3 = param_3 + 1;
|
||||||
|
}
|
||||||
|
return param_3;
|
||||||
|
}
|
||||||
|
|
||||||
36
decomp/AgentManager_Release_x64/full/functions/0x140004de0.c
Normal file
36
decomp/AgentManager_Release_x64/full/functions/0x140004de0.c
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140004de0 FUN_140004de0
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
undefined8 * FUN_140004de0(undefined8 *param_1,longlong *param_2)
|
||||||
|
|
||||||
|
{
|
||||||
|
code *pcVar1;
|
||||||
|
undefined8 *puVar2;
|
||||||
|
undefined4 *puVar3;
|
||||||
|
ulonglong uVar4;
|
||||||
|
|
||||||
|
*param_1 = 0;
|
||||||
|
param_1[1] = 0;
|
||||||
|
param_1[2] = 0;
|
||||||
|
uVar4 = param_2[1] - *param_2 >> 2;
|
||||||
|
*param_1 = 0;
|
||||||
|
param_1[1] = 0;
|
||||||
|
param_1[2] = 0;
|
||||||
|
if (uVar4 != 0) {
|
||||||
|
if (0x3fffffffffffffff < uVar4) {
|
||||||
|
std::_Xlength_error("vector<T> too long");
|
||||||
|
pcVar1 = (code *)swi(3);
|
||||||
|
puVar2 = (undefined8 *)(*pcVar1)();
|
||||||
|
return puVar2;
|
||||||
|
}
|
||||||
|
puVar3 = FUN_140004cc0(param_1 + 3,uVar4);
|
||||||
|
*param_1 = puVar3;
|
||||||
|
param_1[1] = puVar3;
|
||||||
|
param_1[2] = puVar3 + uVar4;
|
||||||
|
puVar3 = FUN_140004da0((undefined4 *)*param_2,(undefined4 *)param_2[1],puVar3);
|
||||||
|
param_1[1] = puVar3;
|
||||||
|
}
|
||||||
|
return param_1;
|
||||||
|
}
|
||||||
|
|
||||||
28
decomp/AgentManager_Release_x64/full/functions/0x140004e90.c
Normal file
28
decomp/AgentManager_Release_x64/full/functions/0x140004e90.c
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140004e90 FUN_140004e90
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140004e90(longlong param_1)
|
||||||
|
|
||||||
|
{
|
||||||
|
if (7 < *(ulonglong *)(param_1 + 0x90)) {
|
||||||
|
operator_delete(*(void **)(param_1 + 0x78));
|
||||||
|
}
|
||||||
|
*(undefined8 *)(param_1 + 0x90) = 7;
|
||||||
|
*(undefined8 *)(param_1 + 0x88) = 0;
|
||||||
|
*(undefined2 *)(param_1 + 0x78) = 0;
|
||||||
|
if (7 < *(ulonglong *)(param_1 + 0x68)) {
|
||||||
|
operator_delete(*(void **)(param_1 + 0x50));
|
||||||
|
}
|
||||||
|
*(undefined8 *)(param_1 + 0x68) = 7;
|
||||||
|
*(undefined8 *)(param_1 + 0x60) = 0;
|
||||||
|
*(undefined2 *)(param_1 + 0x50) = 0;
|
||||||
|
if (7 < *(ulonglong *)(param_1 + 0x40)) {
|
||||||
|
operator_delete(*(void **)(param_1 + 0x28));
|
||||||
|
}
|
||||||
|
*(undefined8 *)(param_1 + 0x40) = 7;
|
||||||
|
*(undefined8 *)(param_1 + 0x38) = 0;
|
||||||
|
*(undefined2 *)(param_1 + 0x28) = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
31
decomp/AgentManager_Release_x64/full/functions/0x140004f20.c
Normal file
31
decomp/AgentManager_Release_x64/full/functions/0x140004f20.c
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140004f20 FUN_140004f20
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
undefined4 * FUN_140004f20(undefined4 *param_1,undefined4 *param_2)
|
||||||
|
|
||||||
|
{
|
||||||
|
*param_1 = *param_2;
|
||||||
|
param_1[1] = param_2[1];
|
||||||
|
param_1[2] = param_2[2];
|
||||||
|
*(undefined1 *)(param_1 + 3) = *(undefined1 *)(param_2 + 3);
|
||||||
|
param_1[4] = param_2[4];
|
||||||
|
param_1[5] = param_2[5];
|
||||||
|
param_1[6] = param_2[6];
|
||||||
|
param_1[7] = param_2[7];
|
||||||
|
*(undefined1 *)(param_1 + 8) = *(undefined1 *)(param_2 + 8);
|
||||||
|
*(undefined8 *)(param_1 + 0x10) = 7;
|
||||||
|
*(undefined8 *)(param_1 + 0xe) = 0;
|
||||||
|
*(undefined2 *)(param_1 + 10) = 0;
|
||||||
|
FUN_140001630((longlong *)(param_1 + 10),(longlong *)(param_2 + 10),0,0xffffffffffffffff);
|
||||||
|
*(undefined8 *)(param_1 + 0x1a) = 7;
|
||||||
|
*(undefined8 *)(param_1 + 0x18) = 0;
|
||||||
|
*(undefined2 *)(param_1 + 0x14) = 0;
|
||||||
|
FUN_140001630((longlong *)(param_1 + 0x14),(longlong *)(param_2 + 0x14),0,0xffffffffffffffff);
|
||||||
|
*(undefined8 *)(param_1 + 0x24) = 7;
|
||||||
|
*(undefined8 *)(param_1 + 0x22) = 0;
|
||||||
|
*(undefined2 *)(param_1 + 0x1e) = 0;
|
||||||
|
FUN_140001630((longlong *)(param_1 + 0x1e),(longlong *)(param_2 + 0x1e),0,0xffffffffffffffff);
|
||||||
|
return param_1;
|
||||||
|
}
|
||||||
|
|
||||||
13
decomp/AgentManager_Release_x64/full/functions/0x140005000.c
Normal file
13
decomp/AgentManager_Release_x64/full/functions/0x140005000.c
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140005000 FUN_140005000
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140005000(undefined8 *param_1)
|
||||||
|
|
||||||
|
{
|
||||||
|
if ((undefined8 *)*param_1 != param_1 + 1) {
|
||||||
|
free((undefined8 *)*param_1);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
50
decomp/AgentManager_Release_x64/full/functions/0x140005020.c
Normal file
50
decomp/AgentManager_Release_x64/full/functions/0x140005020.c
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140005020 FUN_140005020
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140005020(longlong *param_1,int param_2,void *param_3,int param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
void *pvVar1;
|
||||||
|
|
||||||
|
if (param_1 == (longlong *)0x0) {
|
||||||
|
/* WARNING: Subroutine does not return */
|
||||||
|
FUN_1400050d0(0x80070057);
|
||||||
|
}
|
||||||
|
if (param_2 < 0) {
|
||||||
|
/* WARNING: Subroutine does not return */
|
||||||
|
FUN_1400050d0(0x80070057);
|
||||||
|
}
|
||||||
|
if (param_3 == (void *)0x0) {
|
||||||
|
/* WARNING: Subroutine does not return */
|
||||||
|
FUN_1400050d0(0x80070057);
|
||||||
|
}
|
||||||
|
pvVar1 = (void *)*param_1;
|
||||||
|
if (pvVar1 == param_3) {
|
||||||
|
if (param_2 <= param_4) {
|
||||||
|
*param_1 = (longlong)param_3;
|
||||||
|
goto LAB_1400050b1;
|
||||||
|
}
|
||||||
|
pvVar1 = calloc((longlong)param_2,2);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (param_2 <= param_4) {
|
||||||
|
free(pvVar1);
|
||||||
|
*param_1 = (longlong)param_3;
|
||||||
|
goto LAB_1400050b1;
|
||||||
|
}
|
||||||
|
pvVar1 = _recalloc(pvVar1,(longlong)param_2,2);
|
||||||
|
if (pvVar1 == (void *)0x0) {
|
||||||
|
/* WARNING: Subroutine does not return */
|
||||||
|
FUN_1400050d0(0x8007000e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*param_1 = (longlong)pvVar1;
|
||||||
|
LAB_1400050b1:
|
||||||
|
if (*param_1 == 0) {
|
||||||
|
/* WARNING: Subroutine does not return */
|
||||||
|
FUN_1400050d0(0x8007000e);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
14
decomp/AgentManager_Release_x64/full/functions/0x1400050d0.c
Normal file
14
decomp/AgentManager_Release_x64/full/functions/0x1400050d0.c
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x1400050d0 FUN_1400050d0
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_1400050d0(undefined4 param_1)
|
||||||
|
|
||||||
|
{
|
||||||
|
undefined4 local_res8 [8];
|
||||||
|
|
||||||
|
local_res8[0] = param_1;
|
||||||
|
/* WARNING: Subroutine does not return */
|
||||||
|
_CxxThrowException(local_res8,(ThrowInfo *)&DAT_14016c1b0);
|
||||||
|
}
|
||||||
|
|
||||||
17
decomp/AgentManager_Release_x64/full/functions/0x1400050f0.c
Normal file
17
decomp/AgentManager_Release_x64/full/functions/0x1400050f0.c
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x1400050f0 FUN_1400050f0
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_1400050f0(void)
|
||||||
|
|
||||||
|
{
|
||||||
|
DWORD DVar1;
|
||||||
|
|
||||||
|
DVar1 = GetLastError();
|
||||||
|
if (0 < (int)DVar1) {
|
||||||
|
DVar1 = DVar1 & 0xffff | 0x80070000;
|
||||||
|
}
|
||||||
|
/* WARNING: Subroutine does not return */
|
||||||
|
FUN_1400050d0(DVar1);
|
||||||
|
}
|
||||||
|
|
||||||
40
decomp/AgentManager_Release_x64/full/functions/0x140005110.c
Normal file
40
decomp/AgentManager_Release_x64/full/functions/0x140005110.c
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140005110 FUN_140005110
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140005110(longlong *param_1,LPCSTR param_2,UINT param_3)
|
||||||
|
|
||||||
|
{
|
||||||
|
code *pcVar1;
|
||||||
|
int iVar2;
|
||||||
|
int iVar3;
|
||||||
|
DWORD DVar4;
|
||||||
|
bool bVar5;
|
||||||
|
|
||||||
|
if (param_2 == (LPCSTR)0x0) {
|
||||||
|
*param_1 = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
iVar2 = lstrlenA(param_2);
|
||||||
|
iVar2 = iVar2 + 1;
|
||||||
|
FUN_140005020(param_1,iVar2,param_1 + 1,0x80);
|
||||||
|
iVar3 = MultiByteToWideChar(param_3,0,param_2,iVar2,(LPWSTR)*param_1,iVar2);
|
||||||
|
if (iVar3 == 0) {
|
||||||
|
DVar4 = GetLastError();
|
||||||
|
bVar5 = true;
|
||||||
|
if (DVar4 == 0x7a) {
|
||||||
|
iVar3 = MultiByteToWideChar(param_3,0,param_2,iVar2,(LPWSTR)0x0,0);
|
||||||
|
FUN_140005020(param_1,iVar3,param_1 + 1,0x80);
|
||||||
|
iVar2 = MultiByteToWideChar(param_3,0,param_2,iVar2,(LPWSTR)*param_1,iVar3);
|
||||||
|
bVar5 = iVar2 == 0;
|
||||||
|
}
|
||||||
|
if (bVar5) {
|
||||||
|
FUN_1400050f0();
|
||||||
|
pcVar1 = (code *)swi(3);
|
||||||
|
(*pcVar1)();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
15
decomp/AgentManager_Release_x64/full/functions/0x140005220.c
Normal file
15
decomp/AgentManager_Release_x64/full/functions/0x140005220.c
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140005220 FUN_140005220
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
undefined8 * FUN_140005220(undefined8 *param_1,byte param_2)
|
||||||
|
|
||||||
|
{
|
||||||
|
DAT_14017c8b8 = 0;
|
||||||
|
*param_1 = MBISingleton<MagiAgentManagerServer>::vftable;
|
||||||
|
if ((param_2 & 1) != 0) {
|
||||||
|
operator_delete(param_1);
|
||||||
|
}
|
||||||
|
return param_1;
|
||||||
|
}
|
||||||
|
|
||||||
12
decomp/AgentManager_Release_x64/full/functions/0x140005260.c
Normal file
12
decomp/AgentManager_Release_x64/full/functions/0x140005260.c
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140005260 FUN_140005260
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140005260(undefined8 *param_1)
|
||||||
|
|
||||||
|
{
|
||||||
|
DAT_14017c8b8 = 0;
|
||||||
|
*param_1 = MBISingleton<MagiAgentManagerServer>::vftable;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
43
decomp/AgentManager_Release_x64/full/functions/0x140005280.c
Normal file
43
decomp/AgentManager_Release_x64/full/functions/0x140005280.c
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140005280 FUN_140005280
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
undefined8 *
|
||||||
|
FUN_140005280(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
undefined8 *puVar1;
|
||||||
|
ulonglong uVar2;
|
||||||
|
undefined7 uVar3;
|
||||||
|
|
||||||
|
uVar3 = (undefined7)((ulonglong)param_3 >> 8);
|
||||||
|
param_1[5] = 0;
|
||||||
|
FUN_14003e7c0(param_1,param_2,param_3,param_4);
|
||||||
|
param_1[6] = PTR_DAT_14016f010;
|
||||||
|
param_1[7] = 0;
|
||||||
|
*(undefined4 *)(param_1 + 8) = 0;
|
||||||
|
*param_1 = Proud::INetServerEvent::vftable;
|
||||||
|
FUN_140079b60(param_1 + 1);
|
||||||
|
*param_1 = MagiAgentManagerNetwork::vftable;
|
||||||
|
param_1[1] = MagiAgentManagerNetwork::vftable;
|
||||||
|
puVar1 = param_1 + 9;
|
||||||
|
FUN_140076890(puVar1);
|
||||||
|
*puVar1 = AGENTMANAGER2AGENT_PROTOCOL::Proxy::vftable;
|
||||||
|
if (*(int *)((longlong)param_1 + 0x5c) != 1) {
|
||||||
|
FUN_14003e110((wchar_t *)PTR_u_PIDL_compiler_is_incompatible_to_140170070);
|
||||||
|
}
|
||||||
|
*puVar1 = RNP::AgentManager2AgentProxy::vftable;
|
||||||
|
*(undefined1 *)(param_1 + 0xc) = 0;
|
||||||
|
param_1[0xd] = 0;
|
||||||
|
param_1[0xe] = 0;
|
||||||
|
param_1[0xf] = 0;
|
||||||
|
param_1[0x10] = 0;
|
||||||
|
param_1[0x11] = 0;
|
||||||
|
param_1[0x12] = 0;
|
||||||
|
*(undefined4 *)(param_1 + 0x13) = 0xffffffff;
|
||||||
|
*(undefined1 *)((longlong)param_1 + 0x9c) = 0;
|
||||||
|
uVar2 = FUN_140094860();
|
||||||
|
FUN_14003cf60((undefined4 *)(param_1 + 0x14),uVar2 & 0xffffffff,CONCAT71(uVar3,1),param_4);
|
||||||
|
return param_1;
|
||||||
|
}
|
||||||
|
|
||||||
15
decomp/AgentManager_Release_x64/full/functions/0x140005380.c
Normal file
15
decomp/AgentManager_Release_x64/full/functions/0x140005380.c
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140005380 FUN_140005380
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
undefined8 *
|
||||||
|
FUN_140005380(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
FUN_1400053b0(param_1,param_2,param_3,param_4);
|
||||||
|
if ((param_2 & 1) != 0) {
|
||||||
|
operator_delete(param_1);
|
||||||
|
}
|
||||||
|
return param_1;
|
||||||
|
}
|
||||||
|
|
||||||
28
decomp/AgentManager_Release_x64/full/functions/0x1400053b0.c
Normal file
28
decomp/AgentManager_Release_x64/full/functions/0x1400053b0.c
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x1400053b0 FUN_1400053b0
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_1400053b0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
undefined8 *puVar1;
|
||||||
|
|
||||||
|
*param_1 = MagiAgentManagerNetwork::vftable;
|
||||||
|
param_1[1] = MagiAgentManagerNetwork::vftable;
|
||||||
|
FUN_14003d110((undefined4 *)(param_1 + 0x14),param_2,param_3,param_4);
|
||||||
|
param_1[9] = RNP::AgentManager2AgentProxy::vftable;
|
||||||
|
FUN_1400768c0(param_1 + 9);
|
||||||
|
param_1[1] = RNP::Agent2AgentManagerStub::vftable;
|
||||||
|
FUN_140079b90(param_1 + 1);
|
||||||
|
*param_1 = Proud::INetServerEvent::vftable;
|
||||||
|
FUN_140049b90(param_1);
|
||||||
|
puVar1 = (undefined8 *)param_1[5];
|
||||||
|
if (puVar1 != (undefined8 *)0x0) {
|
||||||
|
param_2 = 1;
|
||||||
|
(**(code **)*puVar1)();
|
||||||
|
}
|
||||||
|
param_1[5] = 0;
|
||||||
|
FUN_140002190(param_1 + 6,param_2,param_3,param_4);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
27
decomp/AgentManager_Release_x64/full/functions/0x140005460.c
Normal file
27
decomp/AgentManager_Release_x64/full/functions/0x140005460.c
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140005460 FUN_140005460
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140005460(longlong param_1,undefined8 param_2,undefined8 param_3,longlong param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
longlong *plVar1;
|
||||||
|
short *psVar2;
|
||||||
|
longlong lVar3;
|
||||||
|
|
||||||
|
plVar1 = FUN_140069970(param_1,param_2,param_3,param_4);
|
||||||
|
*(longlong **)(param_1 + 0x28) = plVar1;
|
||||||
|
lVar3 = *plVar1;
|
||||||
|
(**(code **)(lVar3 + 0x10))(plVar1,param_1 + 8);
|
||||||
|
(**(code **)(**(longlong **)(param_1 + 0x28) + 8))(*(longlong **)(param_1 + 0x28),param_1 + 0x48);
|
||||||
|
(**(code **)(**(longlong **)(param_1 + 0x28) + 0x130))(*(longlong **)(param_1 + 0x28),param_1);
|
||||||
|
psVar2 = (short *)(DAT_14017cf28 + 0x30);
|
||||||
|
if (7 < *(ulonglong *)(DAT_14017cf28 + 0x48)) {
|
||||||
|
psVar2 = *(short **)psVar2;
|
||||||
|
}
|
||||||
|
FUN_140005dd0((longlong *)(param_1 + 0x30),psVar2,lVar3,param_4);
|
||||||
|
*(undefined4 *)(param_1 + 0x38) = *(undefined4 *)(DAT_14017cf28 + 0x80);
|
||||||
|
FUN_140037750((undefined8 *)(param_1 + 0x28),psVar2,lVar3,param_4);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
258
decomp/AgentManager_Release_x64/full/functions/0x1400054f0.c
Normal file
258
decomp/AgentManager_Release_x64/full/functions/0x1400054f0.c
Normal file
|
|
@ -0,0 +1,258 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x1400054f0 FUN_1400054f0
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||||
|
|
||||||
|
void FUN_1400054f0(longlong param_1,double param_2,undefined8 param_3,ulonglong param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
int iVar1;
|
||||||
|
int *piVar2;
|
||||||
|
int *piVar3;
|
||||||
|
longlong lVar4;
|
||||||
|
undefined8 **ppuVar5;
|
||||||
|
int **ppiVar6;
|
||||||
|
_SYSTEMTIME *p_Var7;
|
||||||
|
undefined8 uVar8;
|
||||||
|
undefined8 uVar9;
|
||||||
|
ulonglong uVar10;
|
||||||
|
undefined8 uVar11;
|
||||||
|
undefined8 uVar12;
|
||||||
|
int *piVar13;
|
||||||
|
int *piVar14;
|
||||||
|
int iVar15;
|
||||||
|
int *piVar16;
|
||||||
|
uint uVar17;
|
||||||
|
int *piVar18;
|
||||||
|
int iVar19;
|
||||||
|
uint uVar20;
|
||||||
|
uint uVar21;
|
||||||
|
undefined1 auStackY_138 [32];
|
||||||
|
undefined8 *local_f0;
|
||||||
|
undefined8 local_e8;
|
||||||
|
int *local_e0;
|
||||||
|
undefined8 local_d8;
|
||||||
|
undefined8 *local_d0;
|
||||||
|
undefined8 local_c8;
|
||||||
|
int *local_c0;
|
||||||
|
undefined8 local_b8;
|
||||||
|
int *local_b0;
|
||||||
|
int *local_a8;
|
||||||
|
undefined8 local_a0;
|
||||||
|
undefined8 *local_90;
|
||||||
|
undefined8 local_88;
|
||||||
|
undefined8 *local_80;
|
||||||
|
undefined8 local_78;
|
||||||
|
undefined8 *local_70;
|
||||||
|
undefined8 local_68;
|
||||||
|
undefined8 local_60;
|
||||||
|
_SYSTEMTIME local_58;
|
||||||
|
ulonglong local_48;
|
||||||
|
|
||||||
|
local_60 = 0xfffffffffffffffe;
|
||||||
|
local_48 = DAT_14016f5a0 ^ (ulonglong)auStackY_138;
|
||||||
|
if (20.0 <= param_2 - *(double *)(param_1 + 0x88)) {
|
||||||
|
local_b0 = (int *)0x0;
|
||||||
|
local_a8 = (int *)0x0;
|
||||||
|
local_a0 = 0;
|
||||||
|
FUN_140039a40(DAT_14017cf20,(longlong *)&local_b0);
|
||||||
|
piVar14 = local_b0;
|
||||||
|
if (local_b0 != local_a8) {
|
||||||
|
do {
|
||||||
|
piVar18 = (int *)0x0;
|
||||||
|
iVar1 = *piVar14;
|
||||||
|
uVar20 = 0;
|
||||||
|
if (*(longlong *)(DAT_14017cf20 + 0x58) == 0) {
|
||||||
|
local_70 = (undefined8 *)0x0;
|
||||||
|
local_68 = 0;
|
||||||
|
ppuVar5 = &local_70;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
local_f0 = *(undefined8 **)(DAT_14017cf20 + 0x68);
|
||||||
|
if (local_f0 == (undefined8 *)0x0) {
|
||||||
|
local_e8 = 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
local_e8 = *local_f0;
|
||||||
|
}
|
||||||
|
ppuVar5 = &local_f0;
|
||||||
|
}
|
||||||
|
piVar13 = (int *)*ppuVar5;
|
||||||
|
piVar3 = (int *)ppuVar5[1];
|
||||||
|
piVar16 = piVar18;
|
||||||
|
uVar21 = uVar20;
|
||||||
|
while (piVar3 != (int *)0x0) {
|
||||||
|
piVar2 = *(int **)(piVar3 + 4);
|
||||||
|
if (((piVar2 != (int *)0x0) && (*piVar2 == iVar1)) && ((char)piVar2[3] == '\b')) {
|
||||||
|
piVar16 = (int *)(ulonglong)(uint)((int)piVar16 + piVar2[0x2e]);
|
||||||
|
}
|
||||||
|
uVar21 = (uint)piVar16;
|
||||||
|
piVar3 = *(int **)piVar3;
|
||||||
|
while (piVar3 == (int *)0x0) {
|
||||||
|
piVar13 = piVar13 + 2;
|
||||||
|
piVar3 = *(int **)piVar13;
|
||||||
|
}
|
||||||
|
if (piVar13 == piVar3) {
|
||||||
|
piVar3 = piVar18;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (*(longlong *)(DAT_14017cf20 + 0x58) == 0) {
|
||||||
|
local_80 = (undefined8 *)0x0;
|
||||||
|
local_78 = 0;
|
||||||
|
ppuVar5 = &local_80;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
local_90 = *(undefined8 **)(DAT_14017cf20 + 0x68);
|
||||||
|
if (local_90 == (undefined8 *)0x0) {
|
||||||
|
local_88 = 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
local_88 = *local_90;
|
||||||
|
}
|
||||||
|
ppuVar5 = &local_90;
|
||||||
|
}
|
||||||
|
piVar13 = (int *)*ppuVar5;
|
||||||
|
piVar3 = (int *)ppuVar5[1];
|
||||||
|
piVar16 = piVar18;
|
||||||
|
while (piVar3 != (int *)0x0) {
|
||||||
|
piVar2 = *(int **)(piVar3 + 4);
|
||||||
|
if (((piVar2 != (int *)0x0) && (*piVar2 == iVar1)) && ((char)piVar2[3] == '\x01')) {
|
||||||
|
piVar16 = (int *)(ulonglong)(uint)((int)piVar16 + piVar2[0x2e]);
|
||||||
|
}
|
||||||
|
uVar20 = (uint)piVar16;
|
||||||
|
piVar3 = *(int **)piVar3;
|
||||||
|
while (piVar3 == (int *)0x0) {
|
||||||
|
piVar13 = piVar13 + 2;
|
||||||
|
piVar3 = *(int **)piVar13;
|
||||||
|
}
|
||||||
|
if (piVar13 == piVar3) {
|
||||||
|
piVar3 = piVar18;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (*(longlong *)(DAT_14017cf20 + 0x58) == 0) {
|
||||||
|
local_e0 = (int *)0x0;
|
||||||
|
local_d8 = 0;
|
||||||
|
ppiVar6 = &local_e0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
local_c0 = *(int **)(DAT_14017cf20 + 0x68);
|
||||||
|
if (local_c0 == (int *)0x0) {
|
||||||
|
local_b8 = 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
local_b8 = *(undefined8 *)local_c0;
|
||||||
|
}
|
||||||
|
ppiVar6 = &local_c0;
|
||||||
|
}
|
||||||
|
piVar13 = *ppiVar6;
|
||||||
|
piVar3 = ppiVar6[1];
|
||||||
|
piVar16 = piVar18;
|
||||||
|
while (iVar19 = (int)piVar16, piVar3 != (int *)0x0) {
|
||||||
|
piVar2 = *(int **)(piVar3 + 4);
|
||||||
|
if (((piVar2 != (int *)0x0) && (*piVar2 == iVar1)) && ((char)piVar2[3] == '\x02')) {
|
||||||
|
piVar16 = (int *)(ulonglong)(uint)(iVar19 + piVar2[0x2e]);
|
||||||
|
}
|
||||||
|
piVar3 = *(int **)piVar3;
|
||||||
|
while (piVar3 == (int *)0x0) {
|
||||||
|
piVar13 = piVar13 + 2;
|
||||||
|
piVar3 = *(int **)piVar13;
|
||||||
|
}
|
||||||
|
if (piVar13 == piVar3) {
|
||||||
|
piVar3 = piVar18;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
iVar15 = 0;
|
||||||
|
if (*(longlong *)(DAT_14017cf20 + 0x58) == 0) {
|
||||||
|
local_58.wYear = 0;
|
||||||
|
local_58.wMonth = 0;
|
||||||
|
local_58.wDayOfWeek = 0;
|
||||||
|
local_58.wDay = 0;
|
||||||
|
local_58.wHour = 0;
|
||||||
|
local_58.wMinute = 0;
|
||||||
|
local_58.wSecond = 0;
|
||||||
|
local_58.wMilliseconds = 0;
|
||||||
|
p_Var7 = &local_58;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
local_d0 = *(undefined8 **)(DAT_14017cf20 + 0x68);
|
||||||
|
if (local_d0 == (undefined8 *)0x0) {
|
||||||
|
local_c8._0_2_ = 0;
|
||||||
|
local_c8._2_2_ = 0;
|
||||||
|
local_c8._4_2_ = 0;
|
||||||
|
local_c8._6_2_ = 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
local_c8 = *local_d0;
|
||||||
|
}
|
||||||
|
p_Var7 = (_SYSTEMTIME *)&local_d0;
|
||||||
|
}
|
||||||
|
piVar13 = *(int **)p_Var7;
|
||||||
|
piVar3 = *(int **)&p_Var7->wHour;
|
||||||
|
piVar16 = piVar18;
|
||||||
|
while (piVar3 != (int *)0x0) {
|
||||||
|
piVar2 = *(int **)(piVar3 + 4);
|
||||||
|
if (((piVar2 != (int *)0x0) && (*piVar2 == iVar1)) && ((char)piVar2[3] == '\x03')) {
|
||||||
|
piVar16 = (int *)(ulonglong)(uint)((int)piVar16 + piVar2[0x2e]);
|
||||||
|
}
|
||||||
|
iVar15 = (int)piVar16;
|
||||||
|
piVar3 = *(int **)piVar3;
|
||||||
|
while (piVar3 == (int *)0x0) {
|
||||||
|
piVar13 = piVar13 + 2;
|
||||||
|
piVar3 = *(int **)piVar13;
|
||||||
|
}
|
||||||
|
if (piVar13 == piVar3) {
|
||||||
|
piVar3 = piVar18;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
uVar17 = iVar15 + iVar19 + uVar20 + uVar21;
|
||||||
|
if (*(char *)(DAT_14017cf28 + 0x180) != '\0') {
|
||||||
|
FUN_14000d4a0(param_1,iVar1,(ulonglong)uVar17,param_4);
|
||||||
|
if (*(longlong *)(param_1 + 0x70) != 0) {
|
||||||
|
param_4 = (ulonglong)uVar20;
|
||||||
|
FUN_14000b1c0(*(longlong *)(param_1 + 0x70),iVar1,uVar21,param_4,iVar19,iVar15,uVar17);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
piVar14 = piVar14 + 1;
|
||||||
|
} while (piVar14 != local_a8);
|
||||||
|
}
|
||||||
|
*(double *)(param_1 + 0x88) = param_2;
|
||||||
|
if (local_b0 != (int *)0x0) {
|
||||||
|
operator_delete(local_b0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (5.0 <= param_2 - *(double *)(param_1 + 0x90)) {
|
||||||
|
*(double *)(param_1 + 0x90) = param_2;
|
||||||
|
FUN_140039230(DAT_14017cf20);
|
||||||
|
}
|
||||||
|
if (*(char *)(DAT_14017cf28 + 0x180) != '\0') {
|
||||||
|
GetLocalTime(&local_58);
|
||||||
|
lVar4 = DAT_14017cf48;
|
||||||
|
if (*(uint *)(param_1 + 0x98) != (uint)local_58.wHour) {
|
||||||
|
if (*(uint *)(param_1 + 0x98) != 0xffffffff) {
|
||||||
|
piVar14 = (int *)(DAT_14017cf48 + 0x48);
|
||||||
|
local_e0 = piVar14;
|
||||||
|
FUN_14003d040(piVar14);
|
||||||
|
local_d8 = CONCAT71(local_d8._1_7_,1);
|
||||||
|
uVar8 = FUN_14000bf50(lVar4,0);
|
||||||
|
uVar9 = FUN_14000bf50(lVar4,1);
|
||||||
|
uVar10 = FUN_14000bf50(lVar4,2);
|
||||||
|
uVar11 = FUN_14000bf50(lVar4,3);
|
||||||
|
uVar12 = FUN_14000bf50(lVar4,4);
|
||||||
|
local_f0 = (undefined8 *)FUN_14000bf50(lVar4,5);
|
||||||
|
FUN_14003d0d0((longlong)piVar14);
|
||||||
|
lVar4 = DAT_14017cf48;
|
||||||
|
FUN_14003d040((int *)(DAT_14017cf48 + 0x48));
|
||||||
|
FUN_14003b460((undefined8 *)(lVar4 + 8));
|
||||||
|
FUN_14003d0d0(lVar4 + 0x48);
|
||||||
|
if (*(longlong *)(param_1 + 0x70) != 0) {
|
||||||
|
FUN_14000b980(*(longlong *)(param_1 + 0x70),(int)uVar8,(int)uVar9,uVar10 & 0xffffffff,
|
||||||
|
(int)uVar12,(int)local_f0,(int)uVar11);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*(uint *)(param_1 + 0x98) = (uint)local_58.wHour;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
35
decomp/AgentManager_Release_x64/full/functions/0x140005990.c
Normal file
35
decomp/AgentManager_Release_x64/full/functions/0x140005990.c
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140005990 FUN_140005990
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140005990(undefined8 param_1,int *param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
int *piVar1;
|
||||||
|
longlong *plVar2;
|
||||||
|
int *piVar3;
|
||||||
|
wchar_t *pwVar4;
|
||||||
|
undefined *puVar5;
|
||||||
|
undefined *local_res18 [2];
|
||||||
|
|
||||||
|
plVar2 = FUN_140071d40(param_2,(longlong *)local_res18,param_3,param_4);
|
||||||
|
puVar5 = (undefined *)*plVar2;
|
||||||
|
if ((undefined *)*plVar2 == (undefined *)0x0) {
|
||||||
|
puVar5 = PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
pwVar4 = L"OnError MagiAgentManagerNetwork : %s";
|
||||||
|
FUN_14001df30(L"OnError MagiAgentManagerNetwork : %s",puVar5,param_3,param_4);
|
||||||
|
if (((local_res18[0] != (undefined *)0x0) && (local_res18[0] != PTR_DAT_14016f010)) &&
|
||||||
|
(local_res18[0] + -8 != (undefined *)0x0)) {
|
||||||
|
piVar3 = (int *)FUN_14003e7c0(pwVar4,puVar5,param_3,param_4);
|
||||||
|
FUN_14003d040(piVar3);
|
||||||
|
piVar1 = (int *)(local_res18[0] + -4);
|
||||||
|
*piVar1 = *piVar1 + -1;
|
||||||
|
if (*piVar1 == 0) {
|
||||||
|
FUN_14003e8b0(local_res18[0] + -8);
|
||||||
|
}
|
||||||
|
FUN_14003d0d0((longlong)piVar3);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
35
decomp/AgentManager_Release_x64/full/functions/0x140005a30.c
Normal file
35
decomp/AgentManager_Release_x64/full/functions/0x140005a30.c
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140005a30 FUN_140005a30
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140005a30(undefined8 param_1,int *param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
int *piVar1;
|
||||||
|
longlong *plVar2;
|
||||||
|
int *piVar3;
|
||||||
|
wchar_t *pwVar4;
|
||||||
|
undefined *puVar5;
|
||||||
|
undefined *local_res18 [2];
|
||||||
|
|
||||||
|
plVar2 = FUN_140071d40(param_2,(longlong *)local_res18,param_3,param_4);
|
||||||
|
puVar5 = (undefined *)*plVar2;
|
||||||
|
if ((undefined *)*plVar2 == (undefined *)0x0) {
|
||||||
|
puVar5 = PTR_DAT_14016f010;
|
||||||
|
}
|
||||||
|
pwVar4 = L"OnWarning MagiAgentManagerNetwork : %s";
|
||||||
|
FUN_14001df30(L"OnWarning MagiAgentManagerNetwork : %s",puVar5,param_3,param_4);
|
||||||
|
if (((local_res18[0] != (undefined *)0x0) && (local_res18[0] != PTR_DAT_14016f010)) &&
|
||||||
|
(local_res18[0] + -8 != (undefined *)0x0)) {
|
||||||
|
piVar3 = (int *)FUN_14003e7c0(pwVar4,puVar5,param_3,param_4);
|
||||||
|
FUN_14003d040(piVar3);
|
||||||
|
piVar1 = (int *)(local_res18[0] + -4);
|
||||||
|
*piVar1 = *piVar1 + -1;
|
||||||
|
if (*piVar1 == 0) {
|
||||||
|
FUN_14003e8b0(local_res18[0] + -8);
|
||||||
|
}
|
||||||
|
FUN_14003d0d0((longlong)piVar3);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
14
decomp/AgentManager_Release_x64/full/functions/0x140005ad0.c
Normal file
14
decomp/AgentManager_Release_x64/full/functions/0x140005ad0.c
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140005ad0 FUN_140005ad0
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140005ad0(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
undefined8 uVar1;
|
||||||
|
|
||||||
|
uVar1 = (**(code **)(*param_2 + 8))(param_2);
|
||||||
|
FUN_14001e070("OnException MagiAgentManagerNetwork : %s",uVar1,param_3,param_4);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
37
decomp/AgentManager_Release_x64/full/functions/0x140005af0.c
Normal file
37
decomp/AgentManager_Release_x64/full/functions/0x140005af0.c
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140005af0 FUN_140005af0
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140005af0(undefined8 param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
int *piVar1;
|
||||||
|
undefined8 *puVar2;
|
||||||
|
int *piVar3;
|
||||||
|
longlong lVar4;
|
||||||
|
wchar_t *pwVar5;
|
||||||
|
ulonglong uVar6;
|
||||||
|
undefined8 uVar7;
|
||||||
|
undefined *local_res10 [3];
|
||||||
|
|
||||||
|
puVar2 = (undefined8 *)
|
||||||
|
(**(code **)*param_2)(param_2,local_res10,param_3,param_4,0xfffffffffffffffe);
|
||||||
|
uVar7 = *puVar2;
|
||||||
|
uVar6 = (ulonglong)*(uint *)(param_2 + 6);
|
||||||
|
pwVar5 = L"AGENT CONNECT : HostID:[%d][%s]";
|
||||||
|
lVar4 = DAT_14017c8a8;
|
||||||
|
FUN_1400ef250(DAT_14017c8a8,L"AGENT CONNECT : HostID:[%d][%s]",uVar6,uVar7);
|
||||||
|
if (((local_res10[0] != (undefined *)0x0) && (local_res10[0] != PTR_DAT_14016f010)) &&
|
||||||
|
(local_res10[0] + -8 != (undefined *)0x0)) {
|
||||||
|
piVar3 = (int *)FUN_14003e7c0(lVar4,pwVar5,uVar6,uVar7);
|
||||||
|
FUN_14003d040(piVar3);
|
||||||
|
piVar1 = (int *)(local_res10[0] + -4);
|
||||||
|
*piVar1 = *piVar1 + -1;
|
||||||
|
if (*piVar1 == 0) {
|
||||||
|
FUN_14003e8b0(local_res10[0] + -8);
|
||||||
|
}
|
||||||
|
FUN_14003d0d0((longlong)piVar3);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
80
decomp/AgentManager_Release_x64/full/functions/0x140005b90.c
Normal file
80
decomp/AgentManager_Release_x64/full/functions/0x140005b90.c
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140005b90 FUN_140005b90
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140005b90(longlong param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
int *piVar1;
|
||||||
|
longlong *plVar2;
|
||||||
|
longlong *plVar3;
|
||||||
|
undefined8 *puVar4;
|
||||||
|
longlong *plVar5;
|
||||||
|
longlong lVar6;
|
||||||
|
longlong lVar7;
|
||||||
|
wchar_t *pwVar8;
|
||||||
|
ulonglong uVar9;
|
||||||
|
undefined8 uVar10;
|
||||||
|
undefined *local_res10;
|
||||||
|
longlong *local_90;
|
||||||
|
longlong *local_88;
|
||||||
|
undefined8 local_80;
|
||||||
|
undefined8 local_70;
|
||||||
|
undefined8 local_68;
|
||||||
|
undefined8 local_60;
|
||||||
|
undefined8 local_58;
|
||||||
|
void *local_50 [5];
|
||||||
|
|
||||||
|
puVar4 = (undefined8 *)
|
||||||
|
(**(code **)*param_2)(param_2,&local_res10,param_3,param_4,0xfffffffffffffffe);
|
||||||
|
uVar10 = *puVar4;
|
||||||
|
uVar9 = (ulonglong)*(uint *)(param_2 + 6);
|
||||||
|
pwVar8 = L"AGENT DISCONNECT : HostID:[%d][%s]";
|
||||||
|
lVar7 = DAT_14017c8a8;
|
||||||
|
FUN_1400ef250(DAT_14017c8a8,L"AGENT DISCONNECT : HostID:[%d][%s]",uVar9,uVar10);
|
||||||
|
if (((local_res10 != (undefined *)0x0) && (local_res10 != PTR_DAT_14016f010)) &&
|
||||||
|
(local_res10 + -8 != (undefined *)0x0)) {
|
||||||
|
plVar5 = (longlong *)FUN_14003e7c0(lVar7,pwVar8,uVar9,uVar10);
|
||||||
|
local_90 = plVar5;
|
||||||
|
FUN_14003d040((int *)plVar5);
|
||||||
|
local_88 = (longlong *)CONCAT71(local_88._1_7_,1);
|
||||||
|
piVar1 = (int *)(local_res10 + -4);
|
||||||
|
*piVar1 = *piVar1 + -1;
|
||||||
|
if (*piVar1 == 0) {
|
||||||
|
FUN_14003e8b0(local_res10 + -8);
|
||||||
|
}
|
||||||
|
FUN_14003d0d0((longlong)plVar5);
|
||||||
|
}
|
||||||
|
local_res10 = PTR_DAT_14016f010;
|
||||||
|
lVar7 = DAT_14017cf20;
|
||||||
|
lVar6 = FUN_1400395f0(DAT_14017cf20,*(int *)(param_2 + 6));
|
||||||
|
if (lVar6 != 0) {
|
||||||
|
*(undefined4 *)(lVar6 + 0xa0) = 0;
|
||||||
|
local_90 = (longlong *)0x0;
|
||||||
|
local_88 = (longlong *)0x0;
|
||||||
|
local_80 = 0;
|
||||||
|
FUN_1400397d0(lVar7,(ulonglong *)&local_90);
|
||||||
|
plVar3 = local_88;
|
||||||
|
plVar2 = local_90;
|
||||||
|
for (plVar5 = local_90; plVar5 != plVar3; plVar5 = plVar5 + 1) {
|
||||||
|
lVar7 = *plVar5;
|
||||||
|
if (*(int *)(lVar7 + 8) == *(int *)(lVar6 + 4)) {
|
||||||
|
*(undefined4 *)(lVar7 + 0xc4) = 0;
|
||||||
|
puVar4 = FUN_140005da0(lVar7,local_50);
|
||||||
|
local_70 = *(undefined8 *)(lVar7 + 0xb8);
|
||||||
|
local_68 = *(undefined8 *)(lVar7 + 0xc0);
|
||||||
|
local_60 = *(undefined8 *)(lVar7 + 200);
|
||||||
|
local_58 = *(undefined8 *)(lVar7 + 0xd0);
|
||||||
|
FUN_140012020(*(longlong *)(param_1 + 0x78),*(undefined4 *)(lVar7 + 4),&local_70,puVar4);
|
||||||
|
if (local_50[0] != (void *)0x0) {
|
||||||
|
operator_delete(local_50[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (plVar2 != (longlong *)0x0) {
|
||||||
|
operator_delete(plVar2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
11
decomp/AgentManager_Release_x64/full/functions/0x140005d40.c
Normal file
11
decomp/AgentManager_Release_x64/full/functions/0x140005d40.c
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140005d40 FUN_140005d40
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140005d40(longlong param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
FUN_140005380((undefined8 *)(param_1 + -8),param_2,param_3,param_4);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
15
decomp/AgentManager_Release_x64/full/functions/0x140005d50.c
Normal file
15
decomp/AgentManager_Release_x64/full/functions/0x140005d50.c
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||||
|
* Ghidra 12.1.2 decompiler output for 0x140005d50 FUN_140005d50
|
||||||
|
* Pseudocode, not original source. */
|
||||||
|
|
||||||
|
void FUN_140005d50(undefined8 param_1,undefined8 param_2,longlong *param_3,longlong *param_4)
|
||||||
|
|
||||||
|
{
|
||||||
|
longlong *plVar1;
|
||||||
|
|
||||||
|
plVar1 = param_4;
|
||||||
|
FUN_140002190(param_3,param_2,param_3,param_4);
|
||||||
|
FUN_140002190(param_4,param_2,param_3,plVar1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue