81 lines
2.4 KiB
C
81 lines
2.4 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x1400df100 FUN_1400df100
|
|
* Pseudocode, not original source. */
|
|
|
|
undefined8 FUN_1400df100(int *param_1,undefined8 *param_2)
|
|
|
|
{
|
|
uint uVar1;
|
|
uint uVar2;
|
|
undefined8 uVar3;
|
|
int iVar4;
|
|
longlong lVar5;
|
|
longlong lVar6;
|
|
longlong lVar7;
|
|
longlong lVar8;
|
|
uint *puVar9;
|
|
uint *puVar10;
|
|
ulonglong uVar11;
|
|
ulonglong uVar12;
|
|
longlong lVar13;
|
|
int iVar14;
|
|
longlong lVar15;
|
|
uint local_48 [4];
|
|
longlong local_38;
|
|
|
|
lVar5 = (longlong)*param_1;
|
|
uVar2 = *param_1 * 2 + 1;
|
|
uVar3 = FUN_1400dfd80(local_48,uVar2);
|
|
if ((int)uVar3 == 0) {
|
|
if (0 < lVar5) {
|
|
lVar6 = 0;
|
|
lVar8 = 1;
|
|
iVar14 = 1;
|
|
lVar7 = lVar6;
|
|
lVar15 = lVar5;
|
|
do {
|
|
uVar11 = (ulonglong)*(uint *)(lVar7 + *(longlong *)(param_1 + 4)) *
|
|
(ulonglong)*(uint *)(lVar7 + *(longlong *)(param_1 + 4)) +
|
|
(ulonglong)*(uint *)(local_38 + lVar6);
|
|
uVar12 = uVar11 >> 0x1c;
|
|
*(uint *)(local_38 + lVar6) = (uint)uVar11 & 0xfffffff;
|
|
uVar1 = *(uint *)(lVar7 + *(longlong *)(param_1 + 4));
|
|
puVar10 = (uint *)(local_38 + (longlong)iVar14 * 4);
|
|
if (lVar8 < lVar5) {
|
|
puVar9 = puVar10;
|
|
lVar13 = lVar8;
|
|
do {
|
|
lVar13 = lVar13 + 1;
|
|
puVar10 = puVar9 + 1;
|
|
uVar11 = (ulonglong)*puVar9 +
|
|
(ulonglong)*(uint *)(*(longlong *)(param_1 + 4) + -4 + lVar13 * 4) *
|
|
(ulonglong)uVar1 * 2 + (uVar12 & 0xffffffff);
|
|
uVar12 = uVar11 >> 0x1c & 0xffffffff;
|
|
*puVar9 = (uint)uVar11 & 0xfffffff;
|
|
puVar9 = puVar10;
|
|
} while (lVar13 < lVar5);
|
|
}
|
|
iVar4 = (int)uVar12;
|
|
while (iVar4 != 0) {
|
|
uVar11 = (ulonglong)*puVar10 + (uVar12 & 0xffffffff);
|
|
uVar12 = uVar11 >> 0x1c;
|
|
*puVar10 = (uint)uVar11 & 0xfffffff;
|
|
puVar10 = puVar10 + 1;
|
|
iVar4 = (int)uVar12;
|
|
}
|
|
iVar14 = iVar14 + 2;
|
|
lVar6 = lVar6 + 8;
|
|
lVar7 = lVar7 + 4;
|
|
lVar8 = lVar8 + 1;
|
|
lVar15 = lVar15 + -1;
|
|
} while (lVar15 != 0);
|
|
}
|
|
local_48[0] = uVar2;
|
|
FUN_1400ddc00((int *)local_48);
|
|
FUN_1400dfc40((undefined8 *)local_48,param_2);
|
|
FUN_1400d5c00((int *)local_48);
|
|
uVar3 = 0;
|
|
}
|
|
return uVar3;
|
|
}
|
|
|