/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x1400d3840 FUN_1400d3840 * Pseudocode, not original source. */ undefined4 FUN_1400d3840(undefined8 *param_1,uint param_2,char *param_3,uint *param_4) { undefined4 uVar1; void *_Base; ulonglong uVar2; undefined8 *puVar3; undefined8 *puVar4; uint uVar5; _Base = calloc((ulonglong)param_2,0x38); if (_Base == (void *)0x0) { uVar1 = 0xd; } else { uVar5 = 0; puVar3 = param_1; if (param_2 != 0) { do { puVar4 = puVar3 + 7; *(undefined8 *)((longlong)_Base + (-0x38 - (longlong)param_1) + (longlong)puVar4) = *puVar3; *(undefined8 *)((longlong)_Base + (-0x30 - (longlong)param_1) + (longlong)puVar4) = puVar3[1]; *(undefined8 *)((longlong)_Base + (-0x28 - (longlong)param_1) + (longlong)puVar4) = puVar3[2]; *(undefined8 *)((longlong)_Base + (-0x20 - (longlong)param_1) + (longlong)puVar4) = puVar3[3]; *(undefined8 *)((longlong)_Base + (-0x18 - (longlong)param_1) + (longlong)puVar4) = puVar3[4]; *(undefined8 *)((longlong)_Base + (-0x10 - (longlong)param_1) + (longlong)puVar4) = puVar3[5]; *(undefined8 *)((longlong)_Base + (-8 - (longlong)param_1) + (longlong)puVar4) = puVar3[6]; *(uint *)((longlong)_Base + (-0x24 - (longlong)param_1) + (longlong)puVar4) = uVar5; uVar5 = uVar5 + 1; puVar3 = puVar4; } while (uVar5 < param_2); } qsort(_Base,(ulonglong)param_2,0x38,FUN_1400d3800); uVar2 = FUN_1400d2510((longlong)_Base,param_2,param_3,param_4,0xe); free(_Base); uVar1 = (undefined4)uVar2; } return uVar1; }