/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x14009aab0 FUN_14009aab0 * Pseudocode, not original source. */ void FUN_14009aab0(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_14003df20(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_14003def0(uVar3,(void *)((longlong)_Dst + (longlong)iVar1),_Size,_Dst); } memmove(_Dst,(void *)((longlong)_Dst + (longlong)iVar1),_Size); goto LAB_14009ab02; } } /* WARNING: Subroutine does not return */ FUN_14003def0(uVar3,uVar4,_Size,param_4); } LAB_14009ab02: *(undefined8 *)(param_1 + 0x30) = 0; return; }