add agent manager release decomp
This commit is contained in:
parent
31ff800b2a
commit
fac6117145
7019 changed files with 254032 additions and 5 deletions
132
decomp/AgentManager_Release_x64/full/functions/0x1400e07e0.c
Normal file
132
decomp/AgentManager_Release_x64/full/functions/0x1400e07e0.c
Normal file
|
|
@ -0,0 +1,132 @@
|
|||
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400e07e0 FUN_1400e07e0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __chkstk replaced with injection: alloca_probe */
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
|
||||
undefined8 FUN_1400e07e0(uint *param_1,uint *param_2,int param_3)
|
||||
|
||||
{
|
||||
uint uVar1;
|
||||
int iVar2;
|
||||
ulonglong uVar3;
|
||||
undefined8 uVar4;
|
||||
ulonglong *puVar5;
|
||||
ulonglong *puVar6;
|
||||
ulonglong *puVar7;
|
||||
uint *puVar8;
|
||||
int iVar9;
|
||||
uint *_Dst;
|
||||
ulonglong uVar10;
|
||||
uint uVar11;
|
||||
ulonglong uVar12;
|
||||
int iVar13;
|
||||
uint uVar14;
|
||||
undefined1 auStack_1078 [32];
|
||||
uint local_1058;
|
||||
int local_1054;
|
||||
uint *local_1050;
|
||||
ulonglong local_1048 [512];
|
||||
ulonglong local_48;
|
||||
|
||||
local_48 = DAT_14016f5a0 ^ (ulonglong)auStack_1078;
|
||||
uVar14 = *param_1;
|
||||
local_1058 = uVar14;
|
||||
local_1054 = param_3;
|
||||
local_1050 = param_1;
|
||||
if (((int)(*param_2 + 1) <= (int)param_1[1]) ||
|
||||
(uVar4 = FUN_1400ddb60((longlong)param_1,*param_2 + 1), (int)uVar4 == 0)) {
|
||||
_Dst = *(uint **)(param_1 + 4);
|
||||
iVar9 = 0;
|
||||
puVar7 = local_1048;
|
||||
uVar11 = 0;
|
||||
if (0 < (int)*param_1) {
|
||||
uVar11 = *param_1;
|
||||
uVar10 = (ulonglong)uVar11;
|
||||
puVar6 = puVar7;
|
||||
puVar8 = _Dst;
|
||||
do {
|
||||
uVar1 = *puVar8;
|
||||
puVar7 = puVar6 + 1;
|
||||
puVar8 = puVar8 + 1;
|
||||
uVar10 = uVar10 - 1;
|
||||
*puVar6 = (ulonglong)uVar1;
|
||||
puVar6 = puVar7;
|
||||
} while (uVar10 != 0);
|
||||
}
|
||||
uVar1 = *param_2;
|
||||
iVar2 = uVar1 * 2 + 1;
|
||||
if ((int)uVar11 < iVar2) {
|
||||
memset(puVar7,0,(ulonglong)(iVar2 - uVar11) << 3);
|
||||
}
|
||||
uVar11 = 0;
|
||||
if (0 < (int)uVar1) {
|
||||
puVar6 = local_1048;
|
||||
puVar7 = local_1048;
|
||||
uVar10 = (ulonglong)uVar1;
|
||||
do {
|
||||
puVar6 = puVar6 + 1;
|
||||
uVar3 = puVar6[-1];
|
||||
puVar8 = *(uint **)(param_2 + 4);
|
||||
if (0 < (int)uVar1) {
|
||||
uVar12 = (ulonglong)uVar1;
|
||||
puVar5 = puVar7;
|
||||
do {
|
||||
uVar14 = *puVar8;
|
||||
puVar8 = puVar8 + 1;
|
||||
*puVar5 = *puVar5 + (ulonglong)uVar14 * (ulonglong)((int)uVar3 * local_1054 & 0xfffffff)
|
||||
;
|
||||
uVar12 = uVar12 - 1;
|
||||
puVar5 = puVar5 + 1;
|
||||
} while (uVar12 != 0);
|
||||
}
|
||||
puVar7 = puVar7 + 1;
|
||||
*puVar6 = *puVar6 + (puVar6[-1] >> 0x1c);
|
||||
uVar10 = uVar10 - 1;
|
||||
param_1 = local_1050;
|
||||
uVar14 = local_1058;
|
||||
uVar11 = uVar1;
|
||||
} while (uVar10 != 0);
|
||||
}
|
||||
iVar13 = uVar11 + 1;
|
||||
puVar7 = local_1048 + (int)uVar11;
|
||||
if (iVar13 <= iVar2) {
|
||||
uVar10 = (ulonglong)((iVar2 - iVar13) + 1);
|
||||
puVar6 = local_1048 + iVar13;
|
||||
do {
|
||||
uVar3 = *puVar7;
|
||||
puVar7 = puVar7 + 1;
|
||||
*puVar6 = *puVar6 + (uVar3 >> 0x1c);
|
||||
uVar10 = uVar10 - 1;
|
||||
puVar6 = puVar6 + 1;
|
||||
} while (uVar10 != 0);
|
||||
}
|
||||
puVar7 = local_1048 + (int)uVar1;
|
||||
puVar8 = _Dst;
|
||||
if (0 < (int)(uVar1 + 1)) {
|
||||
do {
|
||||
uVar10 = *puVar7;
|
||||
iVar9 = iVar9 + 1;
|
||||
_Dst = puVar8 + 1;
|
||||
puVar7 = puVar7 + 1;
|
||||
*puVar8 = (uint)uVar10 & 0xfffffff;
|
||||
puVar8 = _Dst;
|
||||
} while (iVar9 < (int)(*param_2 + 1));
|
||||
}
|
||||
if (iVar9 < (int)uVar14) {
|
||||
memset(_Dst,0,(ulonglong)(uVar14 - iVar9) << 2);
|
||||
}
|
||||
*param_1 = *param_2 + 1;
|
||||
FUN_1400ddc00((int *)param_1);
|
||||
uVar4 = FUN_1400ddd70((int *)param_1,(int *)param_2);
|
||||
if ((int)uVar4 == -1) {
|
||||
uVar4 = 0;
|
||||
}
|
||||
else {
|
||||
uVar4 = FUN_1400de150(param_1,param_2,param_1);
|
||||
}
|
||||
}
|
||||
return uVar4;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue