add agent manager release decomp
This commit is contained in:
parent
31ff800b2a
commit
fac6117145
7019 changed files with 254032 additions and 5 deletions
306
decomp/AgentManager_Release_x64/full/functions/0x1400aa4c0.c
Normal file
306
decomp/AgentManager_Release_x64/full/functions/0x1400aa4c0.c
Normal file
|
|
@ -0,0 +1,306 @@
|
|||
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400aa4c0 FUN_1400aa4c0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
|
||||
void FUN_1400aa4c0(longlong param_1,undefined8 param_2,wchar_t *param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
undefined *puVar1;
|
||||
longlong ****pppplVar2;
|
||||
uint uVar3;
|
||||
uint uVar4;
|
||||
uint *puVar5;
|
||||
int *piVar6;
|
||||
int *piVar7;
|
||||
__time64_t _Var8;
|
||||
longlong *****ppppplVar9;
|
||||
longlong *plVar10;
|
||||
int *piVar11;
|
||||
uint *puVar12;
|
||||
longlong *****ppppplVar13;
|
||||
uint uVar14;
|
||||
ulonglong uVar15;
|
||||
longlong ****pppplVar16;
|
||||
va_list _ArgList;
|
||||
uint uVar17;
|
||||
longlong *****ppppplVar18;
|
||||
undefined8 local_res20;
|
||||
undefined1 auStack_918 [32];
|
||||
uint **local_8f8;
|
||||
uint *local_8e8;
|
||||
undefined4 local_8e0 [2];
|
||||
longlong ****local_8d8;
|
||||
undefined1 local_8d0;
|
||||
int *local_8c0;
|
||||
undefined1 local_8b8;
|
||||
int *local_8b0;
|
||||
int *local_8a8;
|
||||
undefined1 local_8a0;
|
||||
uint *local_898;
|
||||
undefined4 local_890;
|
||||
__time64_t local_888;
|
||||
undefined8 local_880;
|
||||
wchar_t local_878 [1040];
|
||||
ulonglong local_58;
|
||||
|
||||
local_880 = 0xfffffffffffffffe;
|
||||
local_58 = DAT_14016f5a0 ^ (ulonglong)auStack_918;
|
||||
local_8e0[0] = (undefined4)param_2;
|
||||
local_res20 = param_4;
|
||||
FUN_14003e7c0(param_1,param_2,param_3,param_4);
|
||||
local_8e8 = (uint *)PTR_DAT_14016f010;
|
||||
_ArgList = (va_list)&local_res20;
|
||||
if (param_3 == (wchar_t *)0x0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_1400050d0(0x80070057);
|
||||
}
|
||||
uVar3 = vswprintf_s(local_878,0x400,param_3,_ArgList);
|
||||
ppppplVar18 = (longlong *****)0x0;
|
||||
uVar17 = 0;
|
||||
ppppplVar9 = ppppplVar18;
|
||||
if ((local_8e8 != (uint *)0x0) &&
|
||||
(ppppplVar9 = (longlong *****)0x0, local_8e8 != (uint *)PTR_DAT_14016f010)) {
|
||||
ppppplVar9 = (longlong *****)(ulonglong)local_8e8[-2];
|
||||
}
|
||||
uVar4 = uVar3;
|
||||
if ((((int)uVar3 <= (int)ppppplVar9) && (uVar4 = uVar17, local_8e8 != (uint *)0x0)) &&
|
||||
(local_8e8 != (uint *)PTR_DAT_14016f010)) {
|
||||
uVar4 = local_8e8[-2];
|
||||
}
|
||||
uVar14 = 1;
|
||||
if (1 < (int)uVar4) {
|
||||
uVar14 = uVar4;
|
||||
}
|
||||
uVar4 = uVar17;
|
||||
if ((local_8e8 != (uint *)0x0) && (local_8e8 != (uint *)PTR_DAT_14016f010)) {
|
||||
uVar4 = local_8e8[-2];
|
||||
}
|
||||
if ((int)uVar4 < (int)uVar14) {
|
||||
if (local_8e8 == (uint *)0x0) {
|
||||
local_8e8 = (uint *)PTR_DAT_14016f010;
|
||||
}
|
||||
if ((int)uVar14 < 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14003dec0();
|
||||
}
|
||||
if (uVar14 == 0) {
|
||||
FUN_140002190((longlong *)&local_8e8,PTR_DAT_14016f010,ppppplVar9,_ArgList);
|
||||
}
|
||||
else {
|
||||
uVar4 = uVar17;
|
||||
if ((local_8e8 != (uint *)0x0) && (local_8e8 != (uint *)PTR_DAT_14016f010)) {
|
||||
uVar4 = local_8e8[-2];
|
||||
}
|
||||
if (uVar14 != uVar4) {
|
||||
puVar5 = (uint *)FUN_14003e840((longlong)(int)uVar14 * 2 + 10);
|
||||
if (puVar5 != (uint *)0x0) {
|
||||
*puVar5 = 0;
|
||||
puVar5[1] = 1;
|
||||
}
|
||||
*puVar5 = uVar14;
|
||||
uVar4 = uVar17;
|
||||
if ((local_8e8 != (uint *)0x0) && (local_8e8 != (uint *)PTR_DAT_14016f010)) {
|
||||
uVar4 = local_8e8[-2];
|
||||
}
|
||||
puVar12 = (uint *)PTR_DAT_14016f010;
|
||||
if ((int)uVar14 < (int)uVar4) {
|
||||
LAB_1400aa626:
|
||||
if (local_8e8 != (uint *)0x0) {
|
||||
puVar12 = local_8e8;
|
||||
}
|
||||
}
|
||||
else {
|
||||
uVar14 = uVar17;
|
||||
if (local_8e8 != (uint *)0x0) {
|
||||
if (local_8e8 != (uint *)PTR_DAT_14016f010) {
|
||||
uVar14 = local_8e8[-2];
|
||||
}
|
||||
goto LAB_1400aa626;
|
||||
}
|
||||
}
|
||||
uVar15 = (ulonglong)uVar14;
|
||||
FUN_14003e650(puVar5 + 2,puVar12,uVar14);
|
||||
FUN_140002190((longlong *)&local_8e8,puVar12,uVar15,_ArgList);
|
||||
local_8e8 = puVar5 + 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
FUN_140001df0((longlong *)&local_8e8);
|
||||
puVar5 = local_8e8;
|
||||
if (local_8e8 == (uint *)0x0) {
|
||||
puVar5 = (uint *)PTR_DAT_14016f010;
|
||||
}
|
||||
pppplVar16 = (longlong ****)(ulonglong)uVar3;
|
||||
FUN_14003e650(puVar5,local_878,uVar3);
|
||||
puVar5 = local_8e8;
|
||||
if (local_8e8 == (uint *)0x0) {
|
||||
puVar5 = (uint *)PTR_DAT_14016f010;
|
||||
}
|
||||
uVar3 = FUN_14003e620((short *)puVar5);
|
||||
ppppplVar9 = ppppplVar18;
|
||||
if (0 < (int)uVar3) {
|
||||
ppppplVar9 = (longlong *****)(ulonglong)uVar3;
|
||||
}
|
||||
ppppplVar13 = ppppplVar18;
|
||||
if ((local_8e8 != (uint *)0x0) &&
|
||||
(ppppplVar13 = (longlong *****)0x0, local_8e8 != (uint *)PTR_DAT_14016f010)) {
|
||||
ppppplVar13 = (longlong *****)(ulonglong)local_8e8[-2];
|
||||
}
|
||||
if (((int)ppppplVar13 <= (int)ppppplVar9) && (ppppplVar9 = ppppplVar18, local_8e8 != (uint *)0x0))
|
||||
{
|
||||
if (local_8e8 == (uint *)PTR_DAT_14016f010) goto LAB_1400aa6e8;
|
||||
ppppplVar9 = (longlong *****)(ulonglong)local_8e8[-2];
|
||||
}
|
||||
if (((local_8e8 != (uint *)PTR_DAT_14016f010) && (local_8e8 != (uint *)0x0)) &&
|
||||
(pppplVar16 = (longlong ****)(local_8e8 + -2), pppplVar16 != (longlong ****)0x0)) {
|
||||
*(uint *)pppplVar16 = (uint)ppppplVar9;
|
||||
*(undefined2 *)((longlong)local_8e8 + (longlong)(int)(uint)ppppplVar9 * 2) = 0;
|
||||
}
|
||||
LAB_1400aa6e8:
|
||||
if (*(char *)(param_1 + 0x1790) != '\0') {
|
||||
ppppplVar9 = (longlong *****)(param_1 + 0x1818);
|
||||
local_8f8 = &local_8e8;
|
||||
_ArgList = (va_list)local_8e0;
|
||||
pppplVar16 = (longlong ****)&DAT_140177f90;
|
||||
ppppplVar13 = (longlong *****)0x1;
|
||||
(*(code *)(*ppppplVar9)[0x16])();
|
||||
}
|
||||
if (*(int *)(param_1 + 0x6c8) != 0) {
|
||||
plVar10 = (longlong *)(param_1 + 0x78);
|
||||
(**(code **)(*plVar10 + 0x10))();
|
||||
FUN_14003e7c0(plVar10,ppppplVar13,pppplVar16,_ArgList);
|
||||
puVar1 = PTR_DAT_14016f010;
|
||||
local_890 = 2;
|
||||
local_898 = (uint *)PTR_DAT_14016f010;
|
||||
puVar5 = (uint *)PTR_DAT_14016f010;
|
||||
if (local_8e8 != (uint *)PTR_DAT_14016f010) {
|
||||
piVar6 = (int *)FUN_14003e7c0(plVar10,ppppplVar13,pppplVar16,_ArgList);
|
||||
piVar11 = piVar6;
|
||||
local_8a8 = piVar6;
|
||||
FUN_14003d040(piVar6);
|
||||
local_8a0 = 1;
|
||||
if (((puVar1 != (undefined *)0x0) && (puVar1 != PTR_DAT_14016f010)) &&
|
||||
(puVar1 + -8 != (undefined *)0x0)) {
|
||||
piVar7 = (int *)FUN_14003e7c0(piVar11,ppppplVar13,pppplVar16,_ArgList);
|
||||
local_8c0 = piVar7;
|
||||
FUN_14003d040(piVar7);
|
||||
local_8b8 = 1;
|
||||
piVar11 = (int *)(puVar1 + -4);
|
||||
*piVar11 = *piVar11 + -1;
|
||||
if (*piVar11 == 0) {
|
||||
FUN_14003e8b0(puVar1 + -8);
|
||||
}
|
||||
FUN_14003d0d0((longlong)piVar7);
|
||||
}
|
||||
puVar5 = local_8e8;
|
||||
local_898 = local_8e8;
|
||||
if (((local_8e8 != (uint *)PTR_DAT_14016f010) && (local_8e8 != (uint *)0x0)) &&
|
||||
(local_8e8 != (uint *)0x8)) {
|
||||
local_8e8[-1] = local_8e8[-1] + 1;
|
||||
}
|
||||
FUN_14003d0d0((longlong)piVar6);
|
||||
}
|
||||
_Var8 = _time64((__time64_t *)0x0);
|
||||
piVar11 = *(int **)(param_1 + 0x17c0);
|
||||
ppppplVar9 = *(longlong ******)(param_1 + 0x17b0);
|
||||
local_8c0 = piVar11;
|
||||
local_888 = _Var8;
|
||||
if (ppppplVar9 == (longlong *****)0x0) {
|
||||
ppppplVar9 = (longlong *****)0x28;
|
||||
piVar6 = (int *)FUN_14003e840(0x28);
|
||||
}
|
||||
else {
|
||||
pppplVar16 = *ppppplVar9;
|
||||
ppppplVar13 = (longlong *****)0x28;
|
||||
piVar6 = (int *)(*(code *)pppplVar16[1])();
|
||||
}
|
||||
local_8b0 = piVar6;
|
||||
local_8a8 = piVar6;
|
||||
if (piVar6 != (int *)0x0) {
|
||||
FUN_14003e7c0(ppppplVar9,ppppplVar13,pppplVar16,_ArgList);
|
||||
puVar1 = PTR_DAT_14016f010;
|
||||
*(undefined **)(piVar6 + 4) = PTR_DAT_14016f010;
|
||||
if (puVar1 == (undefined *)0x0) {
|
||||
*(undefined **)(piVar6 + 4) = PTR_DAT_14016f010;
|
||||
}
|
||||
if (puVar5 != *(uint **)(piVar6 + 4)) {
|
||||
ppppplVar9 = (longlong *****)FUN_14003e7c0(ppppplVar9,ppppplVar13,pppplVar16,_ArgList);
|
||||
local_8d8 = (longlong ****)ppppplVar9;
|
||||
FUN_14003d040((int *)ppppplVar9);
|
||||
local_8d0 = 1;
|
||||
FUN_140002190((longlong *)(piVar6 + 4),ppppplVar13,pppplVar16,_ArgList);
|
||||
*(uint **)(piVar6 + 4) = puVar5;
|
||||
if (((puVar5 != (uint *)PTR_DAT_14016f010) && (puVar5 != (uint *)0x0)) &&
|
||||
(puVar5 != (uint *)0x8)) {
|
||||
puVar5[-1] = puVar5[-1] + 1;
|
||||
}
|
||||
FUN_14003d0d0((longlong)ppppplVar9);
|
||||
piVar11 = local_8c0;
|
||||
}
|
||||
piVar6[6] = 2;
|
||||
*(__time64_t *)(piVar6 + 8) = _Var8;
|
||||
}
|
||||
*(int **)(piVar6 + 2) = piVar11;
|
||||
piVar6[0] = 0;
|
||||
piVar6[1] = 0;
|
||||
*(longlong *)(param_1 + 0x17c8) = *(longlong *)(param_1 + 0x17c8) + 1;
|
||||
if (*(undefined8 **)(param_1 + 0x17c0) == (undefined8 *)0x0) {
|
||||
*(int **)(param_1 + 0x17b8) = piVar6;
|
||||
}
|
||||
else {
|
||||
**(undefined8 **)(param_1 + 0x17c0) = piVar6;
|
||||
}
|
||||
*(int **)(param_1 + 0x17c0) = piVar6;
|
||||
if ((ulonglong)*(uint *)(param_1 + 0x6c8) < *(ulonglong *)(param_1 + 0x17c8)) {
|
||||
ppppplVar13 = &local_8d8;
|
||||
ppppplVar9 = (longlong *****)(param_1 + 0x17b0);
|
||||
FUN_1400a9060((longlong *)ppppplVar9,(longlong *)ppppplVar13,pppplVar16,_ArgList);
|
||||
pppplVar2 = local_8d8;
|
||||
if ((((longlong *****)local_8d8 != (longlong *****)0x0) &&
|
||||
(local_8d8 != (longlong ****)PTR_DAT_14016f010)) &&
|
||||
(ppppplVar18 = (longlong *****)(local_8d8 + -1), ppppplVar18 != (longlong *****)0x0)) {
|
||||
ppppplVar9 = (longlong *****)FUN_14003e7c0(ppppplVar9,ppppplVar13,pppplVar16,_ArgList);
|
||||
local_8d8 = (longlong ****)ppppplVar9;
|
||||
FUN_14003d040((int *)ppppplVar9);
|
||||
local_8d0 = 1;
|
||||
piVar11 = (int *)((longlong)pppplVar2 + -4);
|
||||
*piVar11 = *piVar11 + -1;
|
||||
if (*piVar11 == 0) {
|
||||
FUN_14003e8b0(ppppplVar18);
|
||||
}
|
||||
FUN_14003d0d0((longlong)ppppplVar9);
|
||||
}
|
||||
}
|
||||
if (((puVar5 != (uint *)0x0) && (puVar5 != (uint *)PTR_DAT_14016f010)) &&
|
||||
(puVar5 + -2 != (uint *)0x0)) {
|
||||
ppppplVar9 = (longlong *****)FUN_14003e7c0(ppppplVar9,ppppplVar13,pppplVar16,_ArgList);
|
||||
local_8d8 = (longlong ****)ppppplVar9;
|
||||
FUN_14003d040((int *)ppppplVar9);
|
||||
local_8d0 = 1;
|
||||
puVar12 = puVar5 + -1;
|
||||
*puVar12 = *puVar12 - 1;
|
||||
if (*puVar12 == 0) {
|
||||
FUN_14003e8b0(puVar5 + -2);
|
||||
}
|
||||
FUN_14003d0d0((longlong)ppppplVar9);
|
||||
}
|
||||
}
|
||||
puVar5 = local_8e8;
|
||||
if (((local_8e8 != (uint *)0x0) && (local_8e8 != (uint *)PTR_DAT_14016f010)) &&
|
||||
(puVar12 = local_8e8 + -2, puVar12 != (uint *)0x0)) {
|
||||
pppplVar16 = (longlong ****)FUN_14003e7c0(ppppplVar9,ppppplVar13,pppplVar16,_ArgList);
|
||||
local_8d8 = pppplVar16;
|
||||
FUN_14003d040((int *)pppplVar16);
|
||||
local_8d0 = 1;
|
||||
puVar5 = puVar5 + -1;
|
||||
*puVar5 = *puVar5 - 1;
|
||||
if (*puVar5 == 0) {
|
||||
FUN_14003e8b0(puVar12);
|
||||
}
|
||||
FUN_14003d0d0((longlong)pppplVar16);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue