Function at 0x14005f7bc
Capabilities:
Check for software breakpoints

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov dword [rax + 0x10], edx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
mov r15, r9
mov rdi, rcx
xor ebx, ebx
mov qword [rax - 0x80], rbx
mov dword [rsp + 0xc8], ebx
mov esi, ebx
mov r13d, ebx
mov r14d, ebx
mov dword [rsp + 0x30], ebx
lea r8, str.CVdsMessageQueue::DequeueEx__
lea edx, [rbx + 0x5e]
lea rcx, [rax - 0x58]
call qword [sym.imp.vdsutil.dll_public:_void___cdecl_CVdsCallTracer::constructor_unsigned_long_int__char_const____ptr64____ptr64]
nop dword [rax + rax]
nop
lea rbp, [rdi + 0x3a40]
mov rcx, rbp
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
nop dword [rax + rax]
cmp qword [rdi + 0x3a28], rbx
jne 0x14005f84a
mov dword [r15], ebx
mov rcx, rbp
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
nop dword [rax + rax]
jmp 0x14005fa77
lea rax, [rdi + 0x3a68]
mov qword [rsp + 0x40], rax
mov rcx, rax
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
nop dword [rax + rax]
mov rcx, qword [rdi + 0x3a28]
mov qword [rdi + 0x3a38], rcx
mov edx, 1
inc esi
cmp rcx, qword [rdi + 0x3a30]
je 0x14005f899
mov rax, qword [rcx]
mov rcx, rax
mov qword [rdi + 0x3a28], rax
inc edx
cmp edx, 0xa
jbe 0x14005f878
jmp 0x14005f8aa
mov qword [rdi + 0x3a28], rbx
mov qword [rdi + 0x3a30], rbx
mov rcx, rbx
mov rax, rbx
sub rax, rcx
neg rax
sbb r12d, r12d
and r12d, 0xea
mov dword [rsp + 0xc0], r12d
mov rcx, rbp
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
nop dword [rax + rax]
mov r15, qword [rdi + 0x3a38]
test esi, esi
je 0x14005f95a
mov ebp, esi
mov r12, qword [rsp + 0xe0]
lea r14, [r15 + 0x10]
mov r15, qword [r15]
cmp dword [r14], 0x3e
jne 0x14005f947
cmp dword [r14 + 8], 0xcc
jne 0x14005f947
mov rax, qword [r12]
movups xmm0, xmmword [r14 + 0xc]
movdqu xmmword [rsp + 0x50], xmm0
movabs r10, 0xc44d07673e5eb070
lea r9, [rsp + 0x38]
mov r8d, 0xb
lea rdx, [rsp + 0x50]
mov rcx, r12
mov rax, qword [rax + 0x48]
call qword [0x14006eaa8]
test eax, eax
js 0x14005f941
cmp qword [rsp + 0x38], rbx
jne 0x14005f947
mov dword [r14], ebx
inc r13d
sub rbp, 1
jne 0x14005f8e9
mov r12d, dword [rsp + 0xc0]
mov r14d, dword [rsp + 0x30]
mov r9d, r13d
lea r8, str.DequeueEx_Unknown_count_lu
mov r15d, 2
mov edx, r15d
lea r13d, [r15 + 0x5c]
mov ecx, r13d
call qword [sym.imp.vdsutil.dll_VdsTraceEx]
nop dword [rax + rax]
test esi, esi
je 0x14005fa36
mov ebp, esi
mov r12d, dword [rsp + 0xc8]
mov rsi, qword [rdi + 0x3a38]
mov rax, qword [rsi]
mov qword [rdi + 0x3a38], rax
cmp dword [rsi + 0x10], ebx
jne 0x14005f9cd
inc r14d
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.vdsutil.dll_VdsHeapFree]
nop dword [rax + rax]
jmp 0x14005fa1c
mov eax, r12d
lea rcx, [rax + rax*2]
add rcx, rcx
movups xmm0, xmmword [rsi + 0x10]
mov rax, qword [rsp + 0xd0]
movups xmmword [rax + rcx*8], xmm0
movups xmm1, xmmword [rsi + 0x20]
movups xmmword [rax + rcx*8 + 0x10], xmm1
movups xmm0, xmmword [rsi + 0x30]
movups xmmword [rax + rcx*8 + 0x20], xmm0
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.vdsutil.dll_VdsHeapFree]
nop dword [rax + rax]
inc r12d
sub rbp, 1
jne 0x14005f992
mov dword [rsp + 0xc8], r12d
mov r12d, dword [rsp + 0xc0]
mov r9d, r14d
lea r8, str.DequeueEx_Skip_count_lu
mov edx, r15d
mov ecx, r13d
call qword [sym.imp.vdsutil.dll_VdsTraceEx]
nop dword [rax + rax]
mov rax, qword [rsp + 0xd8]
mov edx, dword [rsp + 0xc8]
mov dword [rax], edx
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
nop dword [rax + rax]
mov ebx, r12d
lea rcx, [rsp + 0x60]
call qword [sym.imp.vdsutil.dll_public:_void___cdecl_CVdsCallTracer::destructor_void____ptr64]
nop dword [rax + rax]
mov eax, ebx
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret