/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x1400a2d90 FUN_1400a2d90 * Pseudocode, not original source. */ ulonglong FUN_1400a2d90(uint *param_1,uint *param_2,longlong param_3,undefined8 param_4) { longlong lVar1; undefined4 uVar2; ulonglong uVar3; uint *puVar4; undefined8 *puVar5; longlong lVar6; int iVar7; uint local_res18 [2]; undefined4 local_res20 [2]; undefined4 local_28; undefined4 local_24 [3]; uVar3 = FUN_140080ca0(param_2,(undefined8 *)local_res18,param_3,param_4); if ((char)uVar3 == '\0') { return uVar3; } puVar5 = (undefined8 *)(ulonglong)local_res18[0]; puVar4 = param_1; FUN_1400976d0((longlong)param_1,local_res18[0],param_3); uVar3 = (ulonglong)param_1[6]; iVar7 = 0; lVar6 = 0; if (0 < (int)param_1[6]) { do { if ((lVar6 < 0) || ((int)uVar3 <= iVar7)) { /* WARNING: Subroutine does not return */ FUN_14002f5c0(puVar4,puVar5,param_3,param_4); } lVar1 = *(longlong *)(param_1 + 4); uVar3 = FUN_140080600(param_2,(undefined8 *)local_res18,1); if ((char)uVar3 == '\0') goto LAB_1400a2ead; param_3 = 4; puVar4 = param_2; if ((char)local_res18[0] == '\0') { puVar5 = (undefined8 *)local_res20; uVar3 = FUN_140080600(param_2,puVar5,4); if ((char)uVar3 == '\0') { LAB_1400a2ea6: *(undefined4 *)(lVar1 + lVar6 * 8) = 0; LAB_1400a2ead: return uVar3 & 0xffffffffffffff00; } *(undefined4 *)(lVar1 + lVar6 * 8) = local_res20[0]; uVar2 = local_res20[0]; } else { uVar3 = FUN_140080600(param_2,(undefined8 *)&local_28,4); if ((char)uVar3 == '\0') goto LAB_1400a2ea6; puVar5 = (undefined8 *)local_24; param_3 = 4; *(undefined4 *)(lVar1 + lVar6 * 8) = local_28; uVar3 = FUN_140080600(param_2,puVar5,4); uVar2 = local_24[0]; if ((char)uVar3 == '\0') { *(undefined4 *)(lVar1 + 4 + lVar6 * 8) = 0; return uVar3 & 0xffffffffffffff00; } } *(undefined4 *)(lVar1 + 4 + lVar6 * 8) = uVar2; uVar3 = (ulonglong)param_1[6]; iVar7 = iVar7 + 1; lVar6 = lVar6 + 1; } while (iVar7 < (int)param_1[6]); } return CONCAT71((int7)(uVar3 >> 8),1); }