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

44 lines
1.3 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1401c6130 FUN_1401c6130
* Pseudocode, not original source. */
void FUN_1401c6130(longlong param_1,longlong param_2,undefined4 param_3)
{
undefined8 *puVar1;
undefined8 *puVar2;
FUN_14016db50();
if (*(longlong *)(param_2 + 8) == 0) {
puVar2 = operator_new(0x80);
if (puVar2 != (undefined8 *)0x0) {
*puVar2 = 0;
puVar2[1] = 0;
puVar2[2] = 0;
*(undefined4 *)(puVar2 + 4) = 0;
*(undefined1 *)(puVar2 + 8) = 0;
}
puVar2[3] = param_2;
*(undefined4 *)((longlong)puVar2 + 0x24) = param_3;
*(longlong *)(param_2 + 8) = param_1;
puVar1 = (undefined8 *)(param_1 + 0x38);
if (puVar2[2] != 0) {
FUN_1401c5e50(puVar1,puVar2);
}
if (*(longlong *)(param_1 + 0x40) == 0) {
*puVar1 = puVar2;
}
else {
*(undefined8 **)(*(longlong *)(param_1 + 0x40) + 8) = puVar2;
*puVar2 = *(undefined8 *)(param_1 + 0x40);
}
*(undefined8 **)(param_1 + 0x40) = puVar2;
puVar2[2] = puVar1;
*(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + 1;
FUN_14016dbe0(param_1);
return;
}
/* WARNING: Subroutine does not return */
FUN_14016d6b0();
}