/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x1400bbc10 FUN_1400bbc10 * Pseudocode, not original source. */ void FUN_1400bbc10(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int iVar1; uint uVar2; size_t _Size; void *_Dst; ulonglong uVar3; ulonglong uVar4; uVar3 = 0x80000000; uVar4 = *(longlong *)(param_1 + 0x30) + 0x80000000; if (0xffffffff < uVar4) { /* WARNING: Subroutine does not return */ FUN_14002f5f0(L"Proud::CStreamQueue::Shrink",uVar4,param_3,param_4); } _Size = *(size_t *)(param_1 + 0x38); if (0 < (longlong)_Size) { iVar1 = *(int *)(param_1 + 0x30); if (-1 < iVar1) { uVar2 = *(uint *)(param_1 + 0x20); uVar3 = (ulonglong)uVar2; if (iVar1 < (int)uVar2) { _Dst = *(void **)(param_1 + 0x18); if ((int)uVar2 < 1) { /* WARNING: Subroutine does not return */ FUN_14002f5c0(uVar3,(void *)((longlong)_Dst + (longlong)iVar1),_Size,_Dst); } memmove(_Dst,(void *)((longlong)_Dst + (longlong)iVar1),_Size); goto LAB_1400bbc62; } } /* WARNING: Subroutine does not return */ FUN_14002f5c0(uVar3,uVar4,_Size,param_4); } LAB_1400bbc62: *(undefined8 *)(param_1 + 0x30) = 0; return; }