server-re/decomp/DBCServer_Release_x64/full/functions/0x14020f7a0.c

47 lines
1.7 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x14020f7a0 FUN_14020f7a0
* Pseudocode, not original source. */
undefined4 FUN_14020f7a0(undefined8 *param_1,uint param_2,undefined8 param_3,undefined8 param_4)
{
undefined4 uVar1;
void *_Base;
undefined8 *puVar2;
undefined8 *puVar3;
uint uVar4;
_Base = calloc((ulonglong)param_2,0x38);
if (_Base == (void *)0x0) {
uVar1 = 0xd;
}
else {
uVar4 = 0;
puVar2 = param_1;
if (param_2 != 0) {
do {
puVar3 = puVar2 + 7;
*(undefined8 *)((longlong)_Base + (-0x38 - (longlong)param_1) + (longlong)puVar3) = *puVar2;
*(undefined8 *)((longlong)_Base + (-0x30 - (longlong)param_1) + (longlong)puVar3) =
puVar2[1];
*(undefined8 *)((longlong)_Base + (-0x28 - (longlong)param_1) + (longlong)puVar3) =
puVar2[2];
*(undefined8 *)((longlong)_Base + (-0x20 - (longlong)param_1) + (longlong)puVar3) =
puVar2[3];
*(undefined8 *)((longlong)_Base + (-0x18 - (longlong)param_1) + (longlong)puVar3) =
puVar2[4];
*(undefined8 *)((longlong)_Base + (-0x10 - (longlong)param_1) + (longlong)puVar3) =
puVar2[5];
*(undefined8 *)((longlong)_Base + (-8 - (longlong)param_1) + (longlong)puVar3) = puVar2[6];
*(uint *)((longlong)_Base + (-0x24 - (longlong)param_1) + (longlong)puVar3) = uVar4;
uVar4 = uVar4 + 1;
puVar2 = puVar3;
} while (uVar4 < param_2);
}
qsort(_Base,(ulonglong)param_2,0x38,FUN_14020f760);
uVar1 = FUN_14020e470(_Base,param_2,param_3,param_4,0xe);
free(_Base);
}
return uVar1;
}