add agent manager release decomp
This commit is contained in:
parent
31ff800b2a
commit
fac6117145
7019 changed files with 254032 additions and 5 deletions
98
decomp/AgentManager_Release_x64/full/functions/0x1400de4e0.c
Normal file
98
decomp/AgentManager_Release_x64/full/functions/0x1400de4e0.c
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400de4e0 FUN_1400de4e0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
/* WARNING: Type propagation algorithm not settling */
|
||||
|
||||
undefined8 FUN_1400de4e0(int *param_1,int *param_2,uint *param_3,uint param_4)
|
||||
|
||||
{
|
||||
int iVar1;
|
||||
int iVar2;
|
||||
longlong lVar3;
|
||||
longlong lVar4;
|
||||
uint uVar5;
|
||||
uint uVar6;
|
||||
undefined8 uVar7;
|
||||
int iVar8;
|
||||
ulonglong uVar9;
|
||||
int iVar10;
|
||||
void *_Dst;
|
||||
uint *puVar11;
|
||||
uint *puVar12;
|
||||
ulonglong uVar13;
|
||||
ulonglong uVar14;
|
||||
uint uVar15;
|
||||
undefined1 auStack_878 [32];
|
||||
uint *local_858;
|
||||
uint auStack_84c [513];
|
||||
ulonglong local_48;
|
||||
|
||||
local_48 = DAT_14016f5a0 ^ (ulonglong)auStack_878;
|
||||
local_858 = param_3;
|
||||
if (((int)param_4 <= (int)param_3[1]) ||
|
||||
(uVar7 = FUN_1400ddb60((longlong)param_3,param_4), (int)uVar7 == 0)) {
|
||||
iVar2 = *param_1;
|
||||
uVar15 = *param_2 + iVar2;
|
||||
if ((int)param_4 < (int)uVar15) {
|
||||
uVar15 = param_4;
|
||||
}
|
||||
uVar9 = 0;
|
||||
if (0 < (int)uVar15) {
|
||||
lVar3 = *(longlong *)(param_1 + 4);
|
||||
lVar4 = *(longlong *)(param_2 + 4);
|
||||
iVar1 = *param_2 + -1;
|
||||
uVar13 = uVar9;
|
||||
uVar14 = uVar9;
|
||||
do {
|
||||
iVar10 = (int)uVar9;
|
||||
iVar8 = iVar10;
|
||||
if (iVar1 < iVar10) {
|
||||
iVar8 = iVar1;
|
||||
}
|
||||
puVar11 = (uint *)(lVar3 + (longlong)(iVar10 - iVar8) * 4);
|
||||
puVar12 = (uint *)(lVar4 + (longlong)iVar8 * 4);
|
||||
uVar5 = iVar2 - (iVar10 - iVar8);
|
||||
uVar6 = iVar8 + 1U;
|
||||
if ((int)uVar5 < (int)(iVar8 + 1U)) {
|
||||
uVar6 = uVar5;
|
||||
}
|
||||
uVar9 = (ulonglong)uVar6;
|
||||
if (0 < (int)uVar6) {
|
||||
do {
|
||||
uVar6 = *puVar12;
|
||||
uVar5 = *puVar11;
|
||||
puVar12 = puVar12 + -1;
|
||||
puVar11 = puVar11 + 1;
|
||||
uVar13 = uVar13 + (ulonglong)uVar6 * (ulonglong)uVar5;
|
||||
uVar9 = uVar9 - 1;
|
||||
} while (uVar9 != 0);
|
||||
}
|
||||
uVar14 = uVar14 + 1;
|
||||
uVar9 = (ulonglong)(iVar10 + 1);
|
||||
uVar6 = (uint)uVar13;
|
||||
uVar13 = uVar13 >> 0x1c;
|
||||
auStack_84c[uVar14] = uVar6 & 0xfffffff;
|
||||
param_3 = local_858;
|
||||
} while ((longlong)uVar14 < (longlong)(int)uVar15);
|
||||
}
|
||||
uVar6 = *param_3;
|
||||
_Dst = *(void **)(param_3 + 4);
|
||||
uVar5 = uVar15 + 1;
|
||||
*param_3 = uVar15;
|
||||
uVar15 = 0;
|
||||
if (0 < (int)uVar5) {
|
||||
memcpy(_Dst,auStack_84c + 1,(ulonglong)uVar5 << 2);
|
||||
_Dst = (void *)((longlong)_Dst + (ulonglong)uVar5 * 4);
|
||||
uVar15 = uVar5;
|
||||
}
|
||||
if ((int)uVar15 < (int)uVar6) {
|
||||
memset(_Dst,0,(ulonglong)(uVar6 - uVar15) << 2);
|
||||
}
|
||||
FUN_1400ddc00((int *)param_3);
|
||||
uVar7 = 0;
|
||||
}
|
||||
return uVar7;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue