server-re/decomp/Agent_Release_x64/full/functions/0x1400bbc10.c
2026-10-14 16:45:19 -04:00

44 lines
1.4 KiB
C

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