decompiled agent_release
This commit is contained in:
parent
baac905ef2
commit
11a3488883
6439 changed files with 229565 additions and 1 deletions
376
decomp/Agent_Release_x64/full/functions/0x14000d780.c
Normal file
376
decomp/Agent_Release_x64/full/functions/0x14000d780.c
Normal file
|
|
@ -0,0 +1,376 @@
|
|||
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
|
||||
* Ghidra 12.1.2 decompiler output for 0x14000d780 FUN_14000d780
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014000dd22) */
|
||||
/* WARNING: Type propagation algorithm not settling */
|
||||
|
||||
undefined8
|
||||
FUN_14000d780(longlong param_1,int param_2,undefined8 param_3,longlong *param_4,longlong *param_5,
|
||||
longlong *param_6)
|
||||
|
||||
{
|
||||
longlong lVar1;
|
||||
ulonglong *puVar2;
|
||||
ulonglong *puVar3;
|
||||
undefined4 *puVar4;
|
||||
int iVar5;
|
||||
longlong *plVar6;
|
||||
undefined2 *puVar7;
|
||||
undefined4 extraout_var;
|
||||
undefined8 extraout_RAX;
|
||||
ulonglong *puVar9;
|
||||
undefined2 *_Dst;
|
||||
ulonglong *puVar10;
|
||||
ulonglong *puVar11;
|
||||
undefined4 *puVar12;
|
||||
ulonglong *puVar13;
|
||||
undefined8 *puVar14;
|
||||
undefined8 *_Size;
|
||||
undefined1 auStack_268 [32];
|
||||
ulonglong **local_248;
|
||||
int local_238 [2];
|
||||
ulonglong *local_230;
|
||||
ulonglong *local_228;
|
||||
ulonglong *local_220;
|
||||
longlong *local_210;
|
||||
ulonglong *local_208;
|
||||
ulonglong *puStack_200;
|
||||
ulonglong local_1f8;
|
||||
ulonglong *local_1f0;
|
||||
longlong *local_1e8;
|
||||
longlong *local_1e0;
|
||||
undefined8 local_1d8;
|
||||
undefined8 local_1d0 [5];
|
||||
undefined4 local_1a8;
|
||||
int local_1a4;
|
||||
undefined4 local_1a0;
|
||||
undefined1 local_19c;
|
||||
undefined4 local_198;
|
||||
undefined4 local_194;
|
||||
undefined4 local_190;
|
||||
undefined4 local_18c;
|
||||
undefined1 local_188;
|
||||
longlong local_180 [2];
|
||||
longlong *local_170;
|
||||
ulonglong local_168;
|
||||
undefined2 local_158;
|
||||
undefined6 uStack_156;
|
||||
undefined8 local_148;
|
||||
ulonglong local_140;
|
||||
undefined2 local_130;
|
||||
undefined6 uStack_12e;
|
||||
undefined8 local_120;
|
||||
ulonglong local_118;
|
||||
ulonglong *local_108;
|
||||
ulonglong *puStack_100;
|
||||
ulonglong local_f8;
|
||||
ulonglong local_f0;
|
||||
ulonglong local_e8;
|
||||
ulonglong local_e0;
|
||||
ulonglong local_d8;
|
||||
void *local_d0;
|
||||
undefined8 local_c8;
|
||||
undefined8 local_c0;
|
||||
undefined4 local_a8;
|
||||
undefined4 local_a4;
|
||||
undefined2 local_a0;
|
||||
undefined6 uStack_9e;
|
||||
undefined8 local_90;
|
||||
ulonglong local_88;
|
||||
undefined8 local_78 [2];
|
||||
longlong *local_68;
|
||||
ulonglong local_60;
|
||||
ulonglong local_48;
|
||||
undefined8 uVar8;
|
||||
|
||||
local_1d8 = 0xfffffffffffffffe;
|
||||
local_48 = DAT_1401555a0 ^ (ulonglong)auStack_268;
|
||||
local_1e8 = param_5;
|
||||
local_210 = param_6;
|
||||
local_238[0] = param_2;
|
||||
local_1e0 = param_4;
|
||||
plVar6 = FUN_14000e5b0(local_1d0,param_4);
|
||||
FUN_14002a840(DAT_140162d58,plVar6);
|
||||
puVar9 = (ulonglong *)0x0;
|
||||
local_230 = (ulonglong *)0x0;
|
||||
local_228 = (ulonglong *)0x0;
|
||||
local_220 = (ulonglong *)0x0;
|
||||
puVar10 = puVar9;
|
||||
if (*(longlong *)(DAT_140162d60 + 0x58) == 0) {
|
||||
local_208 = (ulonglong *)0x0;
|
||||
}
|
||||
else {
|
||||
local_208 = *(ulonglong **)(DAT_140162d60 + 0x68);
|
||||
if (local_208 != (ulonglong *)0x0) {
|
||||
puStack_200 = (ulonglong *)*local_208;
|
||||
puVar13 = local_208;
|
||||
puVar3 = puStack_200;
|
||||
goto joined_r0x00014000d84f;
|
||||
}
|
||||
}
|
||||
puStack_200 = (ulonglong *)0x0;
|
||||
puVar13 = local_208;
|
||||
puVar3 = puStack_200;
|
||||
joined_r0x00014000d84f:
|
||||
while (puVar3 != (ulonglong *)0x0) {
|
||||
puVar2 = (ulonglong *)puVar3[2];
|
||||
if (puVar2 != (ulonglong *)0x0) {
|
||||
if ((puVar2 < puVar10) && (puVar9 <= puVar2)) {
|
||||
lVar1 = ((longlong)puVar2 - (longlong)puVar9) +
|
||||
SUB168(SEXT816(-0x7bdef7bdef7bdef7) * SEXT816((longlong)puVar2 - (longlong)puVar9),8
|
||||
);
|
||||
if (puVar10 == local_220) {
|
||||
FUN_14002d140((longlong *)&local_230);
|
||||
puVar9 = local_230;
|
||||
puVar10 = local_228;
|
||||
}
|
||||
puVar11 = (ulonglong *)0x0;
|
||||
local_208 = puVar10;
|
||||
local_1f0 = puVar10;
|
||||
if (puVar10 != (ulonglong *)0x0) {
|
||||
FUN_140004950((undefined4 *)puVar10,
|
||||
(undefined4 *)(puVar9 + ((lVar1 >> 7) - (lVar1 >> 0x3f)) * 0x1f));
|
||||
puVar9 = local_230;
|
||||
puVar11 = local_228;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (puVar10 == local_220) {
|
||||
FUN_14002d140((longlong *)&local_230);
|
||||
puVar9 = local_230;
|
||||
puVar10 = local_228;
|
||||
}
|
||||
puVar11 = (ulonglong *)0x0;
|
||||
local_208 = puVar10;
|
||||
local_1f0 = puVar10;
|
||||
if (puVar10 != (ulonglong *)0x0) {
|
||||
FUN_140004950((undefined4 *)puVar10,(undefined4 *)puVar2);
|
||||
puVar9 = local_230;
|
||||
puVar11 = local_228;
|
||||
}
|
||||
}
|
||||
puVar10 = puVar11 + 0x1f;
|
||||
local_228 = puVar10;
|
||||
}
|
||||
puVar3 = (ulonglong *)*puVar3;
|
||||
while (puVar3 == (ulonglong *)0x0) {
|
||||
puVar13 = puVar13 + 1;
|
||||
puVar3 = (ulonglong *)*puVar13;
|
||||
}
|
||||
param_2 = local_238[0];
|
||||
param_5 = local_1e8;
|
||||
param_6 = local_210;
|
||||
if (puVar13 == puVar3) {
|
||||
puVar3 = (ulonglong *)0x0;
|
||||
}
|
||||
}
|
||||
if (puVar9 != puVar10) {
|
||||
puVar9 = puVar9 + 0x17;
|
||||
do {
|
||||
FUN_140004ea0(&local_1a8,(undefined4 *)(puVar9 + -0x17));
|
||||
local_108 = (ulonglong *)puVar9[-3];
|
||||
puStack_100 = (ulonglong *)puVar9[-2];
|
||||
local_f8 = puVar9[-1];
|
||||
local_f0 = *puVar9;
|
||||
local_e8 = puVar9[1];
|
||||
local_e0 = puVar9[2];
|
||||
local_d8 = puVar9[3];
|
||||
FUN_140004d60(&local_d0,(longlong *)(puVar9 + 4));
|
||||
local_238[0] = local_1a4;
|
||||
local_208 = local_108;
|
||||
puStack_200 = puStack_100;
|
||||
local_1f8 = local_f8;
|
||||
local_248 = &local_208;
|
||||
(**(code **)(*(longlong *)(param_1 + 0x20) + 0x30))
|
||||
(param_1 + 0x20,param_2,&DAT_1401555d0,local_238);
|
||||
if (local_d0 != (void *)0x0) {
|
||||
operator_delete(local_d0);
|
||||
}
|
||||
local_d0 = (void *)0x0;
|
||||
local_c8 = 0;
|
||||
local_c0 = 0;
|
||||
if (7 < local_118) {
|
||||
operator_delete((void *)CONCAT62(uStack_12e,local_130));
|
||||
}
|
||||
local_118 = 7;
|
||||
local_120 = 0;
|
||||
local_130 = 0;
|
||||
if (7 < local_140) {
|
||||
operator_delete((void *)CONCAT62(uStack_156,local_158));
|
||||
}
|
||||
local_140 = 7;
|
||||
local_148 = 0;
|
||||
local_158 = 0;
|
||||
if (7 < local_168) {
|
||||
operator_delete((void *)CONCAT62(local_180[0]._2_6_,(undefined2)local_180[0]));
|
||||
}
|
||||
local_168 = 7;
|
||||
local_170 = (longlong *)0x0;
|
||||
local_180[0]._0_2_ = 0;
|
||||
puVar3 = puVar9 + 8;
|
||||
puVar9 = puVar9 + 0x1f;
|
||||
param_6 = local_210;
|
||||
} while (puVar3 != puVar10);
|
||||
}
|
||||
FUN_14002c400(DAT_140162d60);
|
||||
puVar4 = (undefined4 *)param_5[1];
|
||||
for (puVar12 = (undefined4 *)*param_5; puVar12 != puVar4; puVar12 = puVar12 + 0x28) {
|
||||
local_1a8 = *puVar12;
|
||||
local_1a4 = puVar12[1];
|
||||
local_1a0 = puVar12[2];
|
||||
local_19c = *(undefined1 *)(puVar12 + 3);
|
||||
local_198 = puVar12[4];
|
||||
local_194 = puVar12[5];
|
||||
local_190 = puVar12[6];
|
||||
local_18c = puVar12[7];
|
||||
local_188 = *(undefined1 *)(puVar12 + 8);
|
||||
local_168 = 7;
|
||||
local_170 = (longlong *)0x0;
|
||||
local_180[0]._0_2_ = 0;
|
||||
FUN_140001600(local_180,(longlong *)(puVar12 + 10),0,0xffffffffffffffff);
|
||||
local_140 = 7;
|
||||
local_148 = 0;
|
||||
local_158 = 0;
|
||||
FUN_140001600((longlong *)&local_158,(longlong *)(puVar12 + 0x14),0,0xffffffffffffffff);
|
||||
local_118 = 7;
|
||||
local_120 = 0;
|
||||
local_130 = 0;
|
||||
FUN_140001600((longlong *)&local_130,(longlong *)(puVar12 + 0x1e),0,0xffffffffffffffff);
|
||||
if (*(int *)(DAT_140162d68 + 0x154) == local_1a4) {
|
||||
FUN_140022a20(DAT_140162d68,&local_1a8);
|
||||
}
|
||||
else {
|
||||
FUN_14002c820(DAT_140162d60,&local_1a8);
|
||||
}
|
||||
if (7 < local_118) {
|
||||
operator_delete((void *)CONCAT62(uStack_12e,local_130));
|
||||
}
|
||||
local_118 = 7;
|
||||
local_120 = 0;
|
||||
local_130 = 0;
|
||||
if (7 < local_140) {
|
||||
operator_delete((void *)CONCAT62(uStack_156,local_158));
|
||||
}
|
||||
local_140 = 7;
|
||||
local_148 = 0;
|
||||
local_158 = 0;
|
||||
if (7 < local_168) {
|
||||
operator_delete((void *)CONCAT62(local_180[0]._2_6_,(undefined2)local_180[0]));
|
||||
}
|
||||
}
|
||||
puVar4 = (undefined4 *)param_6[1];
|
||||
puVar12 = (undefined4 *)*param_6;
|
||||
do {
|
||||
if (puVar12 == puVar4) {
|
||||
LAB_14000dea2:
|
||||
printf("ServerFile Count: %d !!! \n",(local_1e0[1] - *local_1e0) / 0x30);
|
||||
printf("ServerOption Count: %d !!! \n",(param_5[1] - *param_5) / 0xa0);
|
||||
iVar5 = printf("AgentManager Count: %d !!! \n",(param_6[1] - *param_6) / 0xa0);
|
||||
uVar8 = CONCAT44(extraout_var,iVar5);
|
||||
*(undefined1 *)(param_1 + 0x40) = 1;
|
||||
if (local_230 != (ulonglong *)0x0) {
|
||||
std::_Container_base0::_Orphan_all((_Container_base0 *)&local_230);
|
||||
FUN_140004b30(local_230,local_228);
|
||||
operator_delete(local_230);
|
||||
uVar8 = extraout_RAX;
|
||||
}
|
||||
return CONCAT71((int7)((ulonglong)uVar8 >> 8),1);
|
||||
}
|
||||
puVar14 = (undefined8 *)0xffffffffffffffff;
|
||||
local_1a8 = *puVar12;
|
||||
local_1a4 = puVar12[1];
|
||||
local_1a0 = puVar12[2];
|
||||
local_19c = *(undefined1 *)(puVar12 + 3);
|
||||
local_198 = puVar12[4];
|
||||
local_194 = puVar12[5];
|
||||
local_190 = puVar12[6];
|
||||
local_18c = puVar12[7];
|
||||
local_188 = *(undefined1 *)(puVar12 + 8);
|
||||
local_168 = 7;
|
||||
local_170 = (longlong *)0x0;
|
||||
local_180[0]._0_2_ = 0;
|
||||
FUN_140001600(local_180,(longlong *)(puVar12 + 10),0,0xffffffffffffffff);
|
||||
local_140 = 7;
|
||||
local_148 = 0;
|
||||
local_158 = 0;
|
||||
FUN_140001600((longlong *)&local_158,(longlong *)(puVar12 + 0x14),0,0xffffffffffffffff);
|
||||
local_118 = 7;
|
||||
local_120 = 0;
|
||||
local_130 = 0;
|
||||
_Size = (undefined8 *)0x0;
|
||||
FUN_140001600((longlong *)&local_130,(longlong *)(puVar12 + 0x1e),0,0xffffffffffffffff);
|
||||
param_6 = local_170;
|
||||
local_a8 = 0;
|
||||
local_88 = 7;
|
||||
local_90 = 0;
|
||||
local_a0 = 0;
|
||||
local_60 = 7;
|
||||
local_68 = (longlong *)0x0;
|
||||
local_78[0]._0_2_ = 0;
|
||||
local_a4 = local_198;
|
||||
if ((longlong *)0x7ffffffffffffffe < local_170) {
|
||||
std::_Xlength_error("string too long");
|
||||
goto LAB_14000dea2;
|
||||
}
|
||||
if (local_170 < (longlong *)0x8) {
|
||||
if (local_170 == (longlong *)0x0) {
|
||||
local_68 = (longlong *)0x0;
|
||||
local_78[0]._0_2_ = 0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
_Size = (undefined8 *)0x0;
|
||||
FUN_1400018f0(local_78,(ulonglong)local_170,0);
|
||||
}
|
||||
if (param_6 != (longlong *)0x0) {
|
||||
puVar7 = (undefined2 *)local_180;
|
||||
if (7 < local_168) {
|
||||
puVar7 = (undefined2 *)CONCAT62(local_180[0]._2_6_,(undefined2)local_180[0]);
|
||||
}
|
||||
_Dst = (undefined2 *)local_78;
|
||||
if (7 < local_60) {
|
||||
_Dst = (undefined2 *)CONCAT62(local_78[0]._2_6_,(undefined2)local_78[0]);
|
||||
}
|
||||
_Size = (undefined8 *)((longlong)param_6 * 2);
|
||||
memcpy(_Dst,puVar7,(size_t)_Size);
|
||||
local_68 = param_6;
|
||||
puVar7 = (undefined2 *)local_78;
|
||||
if (7 < local_60) {
|
||||
puVar7 = (undefined2 *)CONCAT62(local_78[0]._2_6_,(undefined2)local_78[0]);
|
||||
}
|
||||
puVar7[(longlong)param_6] = 0;
|
||||
}
|
||||
if (*(undefined8 **)(param_1 + 0x50) != (undefined8 *)0x0) {
|
||||
FUN_140007a80(*(undefined8 **)(param_1 + 0x50),(undefined8 **)&local_a8,_Size,puVar14);
|
||||
}
|
||||
if (7 < local_60) {
|
||||
operator_delete((void *)CONCAT62(local_78[0]._2_6_,(undefined2)local_78[0]));
|
||||
}
|
||||
local_60 = 7;
|
||||
local_68 = (longlong *)0x0;
|
||||
local_78[0]._0_2_ = 0;
|
||||
if (7 < local_88) {
|
||||
operator_delete((void *)CONCAT62(uStack_9e,local_a0));
|
||||
}
|
||||
if (7 < local_118) {
|
||||
operator_delete((void *)CONCAT62(uStack_12e,local_130));
|
||||
}
|
||||
local_118 = 7;
|
||||
local_120 = 0;
|
||||
local_130 = 0;
|
||||
if (7 < local_140) {
|
||||
operator_delete((void *)CONCAT62(uStack_156,local_158));
|
||||
}
|
||||
local_140 = 7;
|
||||
local_148 = 0;
|
||||
local_158 = 0;
|
||||
if (7 < local_168) {
|
||||
operator_delete((void *)CONCAT62(local_180[0]._2_6_,(undefined2)local_180[0]));
|
||||
}
|
||||
puVar12 = puVar12 + 0x28;
|
||||
param_6 = local_210;
|
||||
} while( true );
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue