/* 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; }