add agent manager release decomp
This commit is contained in:
parent
31ff800b2a
commit
fac6117145
7019 changed files with 254032 additions and 5 deletions
161
decomp/AgentManager_Release_x64/full/functions/0x14001e8a0.c
Normal file
161
decomp/AgentManager_Release_x64/full/functions/0x14001e8a0.c
Normal file
|
|
@ -0,0 +1,161 @@
|
|||
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||
* Ghidra 12.1.2 decompiler output for 0x14001e8a0 FUN_14001e8a0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
|
||||
void FUN_14001e8a0(undefined8 *param_1,longlong *param_2)
|
||||
|
||||
{
|
||||
ulonglong uVar1;
|
||||
char cVar2;
|
||||
byte bVar3;
|
||||
longlong lVar4;
|
||||
undefined1 auVar5 [16];
|
||||
__uint64 _Var6;
|
||||
longlong *plVar7;
|
||||
longlong lVar8;
|
||||
int *piVar9;
|
||||
undefined *puVar10;
|
||||
int iVar11;
|
||||
uint uVar12;
|
||||
ulonglong uVar13;
|
||||
size_t sVar14;
|
||||
undefined8 uVar15;
|
||||
char *pcVar16;
|
||||
undefined1 auStack_a8 [32];
|
||||
longlong *local_88;
|
||||
undefined8 *local_80;
|
||||
undefined8 *local_78;
|
||||
longlong *local_70;
|
||||
undefined8 local_68;
|
||||
char local_60 [32];
|
||||
ulonglong local_40;
|
||||
|
||||
local_68 = 0xfffffffffffffffe;
|
||||
local_40 = DAT_14016f5a0 ^ (ulonglong)auStack_a8;
|
||||
iVar11 = 0;
|
||||
piVar9 = (int *)*param_1;
|
||||
uVar15 = *(undefined8 *)piVar9;
|
||||
if (0 < (int)uVar15) {
|
||||
local_88 = local_70;
|
||||
local_80 = param_1;
|
||||
do {
|
||||
bVar3 = *(byte *)((longlong)iVar11 + 0x10 + (longlong)piVar9);
|
||||
if (bVar3 == 0x26) {
|
||||
puVar10 = PTR_s__amp__140174cc0;
|
||||
uVar12 = DAT_140174cc8;
|
||||
if ((((int)uVar15 + -2 <= iVar11) ||
|
||||
(*(char *)((longlong)(iVar11 + 1) + 0x10 + (longlong)piVar9) != '#')) ||
|
||||
(*(char *)((longlong)(iVar11 + 2) + 0x10 + (longlong)piVar9) != 'x')) {
|
||||
LAB_14001ea85:
|
||||
plVar7 = (longlong *)*param_2;
|
||||
uVar13 = *plVar7 + (ulonglong)uVar12;
|
||||
if (((ulonglong)plVar7[1] < uVar13) &&
|
||||
(uVar1 = plVar7[1] + uVar13, (ulonglong)plVar7[1] < uVar1)) {
|
||||
FUN_14001e1f0(param_2,uVar1);
|
||||
}
|
||||
memmove((void *)(*param_2 + *(longlong *)*param_2 + 0x10),puVar10,(ulonglong)uVar12);
|
||||
*(ulonglong *)*param_2 = uVar13;
|
||||
*(undefined1 *)(*param_2 + 0x10 + uVar13) = 0;
|
||||
goto LAB_14001eba5;
|
||||
}
|
||||
lVar8 = (longlong)iVar11;
|
||||
if (iVar11 < (int)uVar15 + -1) {
|
||||
do {
|
||||
plVar7 = (longlong *)*param_2;
|
||||
uVar13 = *plVar7 + 1;
|
||||
if (((ulonglong)plVar7[1] < uVar13) &&
|
||||
(uVar1 = plVar7[1] + uVar13, (ulonglong)plVar7[1] < uVar1)) {
|
||||
local_78 = &DAT_14017ce88;
|
||||
lVar4 = *plVar7;
|
||||
if (uVar1 == 0) {
|
||||
plVar7 = &DAT_14017ce88;
|
||||
}
|
||||
else {
|
||||
auVar5._8_8_ = 0;
|
||||
auVar5._0_8_ = uVar1 + 0x1b >> 2;
|
||||
_Var6 = SUB168(ZEXT816(4) * auVar5,0);
|
||||
if (SUB168(ZEXT816(4) * auVar5,8) != 0) {
|
||||
_Var6 = 0xffffffffffffffff;
|
||||
}
|
||||
plVar7 = operator_new(_Var6);
|
||||
*plVar7 = lVar4;
|
||||
*(undefined1 *)((longlong)plVar7 + lVar4 + 0x10) = 0;
|
||||
plVar7[1] = uVar1;
|
||||
local_88 = plVar7;
|
||||
}
|
||||
memcpy(plVar7 + 2,(size_t *)*param_2 + 2,*(size_t *)*param_2);
|
||||
local_70 = (longlong *)param_2[1];
|
||||
local_78 = (undefined8 *)*param_2;
|
||||
*param_2 = (longlong)plVar7;
|
||||
param_2[1] = (longlong)local_88;
|
||||
local_88 = local_70;
|
||||
if (local_78 != &DAT_14017ce88) {
|
||||
operator_delete__(local_70);
|
||||
}
|
||||
}
|
||||
memmove((void *)(*param_2 + *(longlong *)*param_2 + 0x10),
|
||||
(void *)((longlong)iVar11 + 0x10 + (longlong)piVar9),1);
|
||||
*(ulonglong *)*param_2 = uVar13;
|
||||
*(undefined1 *)(*param_2 + 0x10 + uVar13) = 0;
|
||||
iVar11 = iVar11 + 1;
|
||||
piVar9 = (int *)*local_80;
|
||||
} while ((*(char *)((longlong)piVar9 + lVar8 + 0x11) != ';') &&
|
||||
(lVar8 = lVar8 + 1, iVar11 < *piVar9 + -1));
|
||||
}
|
||||
}
|
||||
else {
|
||||
puVar10 = PTR_DAT_140174cd0;
|
||||
uVar12 = DAT_140174cd8;
|
||||
if (bVar3 == 0x3c) goto LAB_14001ea85;
|
||||
if (bVar3 == 0x3e) {
|
||||
sVar14 = (size_t)DAT_140174ce8;
|
||||
puVar10 = PTR_DAT_140174ce0;
|
||||
}
|
||||
else if (bVar3 == 0x22) {
|
||||
sVar14 = (size_t)DAT_140174cf8;
|
||||
puVar10 = PTR_s__quot__140174cf0;
|
||||
}
|
||||
else {
|
||||
if (bVar3 != 0x27) {
|
||||
if (bVar3 < 0x20) {
|
||||
FUN_14001e1c0(local_60,0x20,"&#x%02X;",(ulonglong)bVar3);
|
||||
lVar8 = -1;
|
||||
pcVar16 = local_60;
|
||||
do {
|
||||
if (lVar8 == 0) break;
|
||||
lVar8 = lVar8 + -1;
|
||||
cVar2 = *pcVar16;
|
||||
pcVar16 = pcVar16 + 1;
|
||||
} while (cVar2 != '\0');
|
||||
sVar14 = (size_t)(int)(~(uint)lVar8 - 1);
|
||||
plVar7 = (longlong *)*param_2;
|
||||
uVar13 = *plVar7 + sVar14;
|
||||
if (((ulonglong)plVar7[1] < uVar13) &&
|
||||
(uVar1 = plVar7[1] + uVar13, (ulonglong)plVar7[1] < uVar1)) {
|
||||
FUN_14001e1f0(param_2,uVar1);
|
||||
}
|
||||
memmove((void *)(*param_2 + *(longlong *)*param_2 + 0x10),local_60,sVar14);
|
||||
*(ulonglong *)*param_2 = uVar13;
|
||||
*(undefined1 *)(*param_2 + 0x10 + uVar13) = 0;
|
||||
}
|
||||
else {
|
||||
FUN_14001e440(param_2,bVar3);
|
||||
}
|
||||
goto LAB_14001eba5;
|
||||
}
|
||||
sVar14 = (size_t)DAT_140174d08;
|
||||
puVar10 = PTR_s__apos__140174d00;
|
||||
}
|
||||
FUN_14001e3c0(param_2,puVar10,sVar14);
|
||||
LAB_14001eba5:
|
||||
iVar11 = iVar11 + 1;
|
||||
}
|
||||
piVar9 = (int *)*local_80;
|
||||
uVar15 = *(undefined8 *)piVar9;
|
||||
} while (iVar11 < (int)uVar15);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue