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