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

35 lines
1.1 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1401c5ae0 FUN_1401c5ae0
* Pseudocode, not original source. */
void FUN_1401c5ae0(longlong param_1)
{
int iVar1;
if (0xffffffff < *(longlong *)(param_1 + 0x30) + 0x80000000U) {
/* WARNING: Subroutine does not return */
FUN_14016d710(L"Proud::CStreamQueue::Shrink");
}
if (0 < (longlong)*(size_t *)(param_1 + 0x38)) {
iVar1 = *(int *)(param_1 + 0x30);
if (-1 < iVar1) {
if (iVar1 < *(int *)(param_1 + 0x20)) {
if (*(int *)(param_1 + 0x20) < 1) {
/* WARNING: Subroutine does not return */
FUN_14016d6e0();
}
memmove(*(void **)(param_1 + 0x18),
(void *)((longlong)*(void **)(param_1 + 0x18) + (longlong)iVar1),
*(size_t *)(param_1 + 0x38));
goto LAB_1401c5b32;
}
}
/* WARNING: Subroutine does not return */
FUN_14016d6e0();
}
LAB_1401c5b32:
*(undefined8 *)(param_1 + 0x30) = 0;
return;
}