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

49 lines
1.7 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x1400e4550 FUN_1400e4550
* Pseudocode, not original source. */
undefined4 FUN_1400e4550(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_1400e4510);
uVar2 = FUN_1400e3220((longlong)_Base,param_2,param_3,param_4,0xe);
free(_Base);
uVar1 = (undefined4)uVar2;
}
return uVar1;
}