server-re/decomp/AgentManager_Release_x64/full/functions/0x14001a640.c
2026-10-15 09:58:24 -04:00

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;
}