/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x14009e0a0 FUN_14009e0a0 * Pseudocode, not original source. */ void FUN_14009e0a0(longlong param_1,longlong param_2,undefined8 param_3,longlong param_4) { uint uVar1; undefined4 uVar2; undefined4 uVar3; int iVar4; longlong lVar5; longlong lVar6; ulonglong uVar7; int iVar8; longlong lVar9; longlong lVar10; int iVar11; longlong lVar12; longlong lVar13; uVar7 = 0; lVar10 = param_2; FUN_14007a530(param_2,0,param_3,param_4); iVar4 = *(int *)(param_1 + 0x18); iVar11 = 0; lVar12 = 0; if (0 < iVar4) { lVar13 = 0; do { if ((lVar12 < 0) || (iVar4 <= iVar11)) { /* WARNING: Subroutine does not return */ FUN_14003def0(lVar10,uVar7,param_3,param_4); } iVar4 = *(int *)(param_2 + 0x18); uVar2 = *(undefined4 *)(lVar13 + 8 + *(longlong *)(param_1 + 0x10)); uVar3 = *(undefined4 *)(*(longlong *)(lVar13 + *(longlong *)(param_1 + 0x10)) + 0x56c); if (iVar4 < 0) { /* WARNING: Subroutine does not return */ FUN_14003dec0(); } iVar8 = *(int *)(param_2 + 0x18); uVar1 = iVar8 + 1; uVar7 = (ulonglong)uVar1; FUN_14007a530(param_2,uVar1,param_3,param_4); iVar8 = iVar8 - iVar4; if ((0 < iVar8) && (iVar8 = iVar8 + -1, lVar10 = (longlong)iVar8, -1 < iVar8)) { lVar9 = (lVar10 + iVar4) * 8 + 8; do { lVar5 = FUN_140074a30(param_2); lVar6 = FUN_140074a30(param_2); *(undefined8 *)(lVar6 + lVar9) = *(undefined8 *)(lVar5 + -8 + lVar9); lVar9 = lVar9 + -8; lVar10 = lVar10 + -1; } while (-1 < lVar10); } lVar9 = FUN_140074a30(param_2); lVar10 = CONCAT44(uVar2,uVar3); *(longlong *)(lVar9 + (longlong)iVar4 * 8) = lVar10; iVar4 = *(int *)(param_1 + 0x18); iVar11 = iVar11 + 1; lVar12 = lVar12 + 1; lVar13 = lVar13 + 0x10; } while (iVar11 < iVar4); } return; }