90 lines
2.7 KiB
C
90 lines
2.7 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x14001a640 FUN_14001a640
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_14001a640(longlong *param_1,longlong *param_2)
|
|
|
|
{
|
|
longlong lVar1;
|
|
longlong lVar2;
|
|
longlong *plVar3;
|
|
ulonglong uVar4;
|
|
longlong lVar5;
|
|
undefined8 *puVar6;
|
|
undefined8 *puVar7;
|
|
longlong *plVar8;
|
|
longlong *plVar9;
|
|
ulonglong uVar10;
|
|
undefined8 *puVar11;
|
|
longlong *local_68;
|
|
undefined8 *local_60;
|
|
undefined2 local_58;
|
|
|
|
lVar1 = param_1[1];
|
|
lVar2 = *param_1;
|
|
local_60 = (undefined8 *)0x0;
|
|
local_58 = 0;
|
|
local_68 = param_2;
|
|
FUN_14000c270(param_2);
|
|
for (puVar11 = (undefined8 *)param_1[6]; puVar11 != (undefined8 *)(lVar2 + lVar1 * 8);
|
|
puVar11 = puVar11 + 1) {
|
|
plVar3 = (longlong *)*puVar11;
|
|
while (plVar3 != (longlong *)0x0) {
|
|
uVar10 = 0;
|
|
if ((ulonglong)plVar3[4] < 0x10) {
|
|
plVar9 = plVar3 + 1;
|
|
}
|
|
else {
|
|
plVar9 = (longlong *)plVar3[1];
|
|
}
|
|
if ((ulonglong)plVar3[4] < 0x10) {
|
|
plVar8 = plVar3 + 1;
|
|
}
|
|
else {
|
|
plVar8 = (longlong *)plVar3[1];
|
|
}
|
|
for (; plVar8 != (longlong *)((longlong)plVar9 + plVar3[3]);
|
|
plVar8 = (longlong *)((longlong)plVar8 + 1)) {
|
|
uVar10 = uVar10 ^ (longlong)(char)*plVar8 + (uVar10 >> 2) + uVar10 * 0x40 + 0x9e3779b9;
|
|
}
|
|
uVar4 = param_2[1];
|
|
lVar5 = *param_2;
|
|
plVar8 = (longlong *)*plVar3;
|
|
FUN_140010e40((longlong)&local_68);
|
|
puVar6 = local_60;
|
|
plVar9 = local_60 + 1;
|
|
if (plVar9 != (longlong *)0x0) {
|
|
local_60[4] = 0xf;
|
|
local_60[3] = 0;
|
|
*(undefined1 *)plVar9 = 0;
|
|
FUN_14000c660(plVar9,plVar3 + 1,0,0xffffffffffffffff);
|
|
puVar6[9] = 0xf;
|
|
puVar6[8] = 0;
|
|
*(undefined1 *)(puVar6 + 6) = 0;
|
|
FUN_14000c660(puVar6 + 6,plVar3 + 6,0,0xffffffffffffffff);
|
|
}
|
|
*puVar6 = *(undefined8 *)(lVar5 + (uVar10 % uVar4) * 8);
|
|
*(undefined8 **)(lVar5 + (uVar10 % uVar4) * 8) = puVar6;
|
|
for (plVar3 = (longlong *)*plVar3; local_58 = CONCAT11(1,(undefined1)local_58),
|
|
local_60 = (undefined8 *)0x0, plVar3 != plVar8; plVar3 = (longlong *)*plVar3) {
|
|
FUN_140010e40((longlong)&local_68);
|
|
puVar7 = local_60;
|
|
plVar9 = local_60 + 1;
|
|
if (plVar9 != (longlong *)0x0) {
|
|
local_60[4] = 0xf;
|
|
local_60[3] = 0;
|
|
*(undefined1 *)plVar9 = 0;
|
|
FUN_14000c660(plVar9,plVar3 + 1,0,0xffffffffffffffff);
|
|
puVar7[9] = 0xf;
|
|
puVar7[8] = 0;
|
|
*(undefined1 *)(puVar7 + 6) = 0;
|
|
FUN_14000c660(puVar7 + 6,plVar3 + 6,0,0xffffffffffffffff);
|
|
}
|
|
*puVar7 = *puVar6;
|
|
*puVar6 = puVar6;
|
|
}
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|