Function at 0x1400584cc
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 0x14005855a
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 0x140058787
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 0x1400585a9
mov rax, qword [rcx]
mov rcx, rax
mov qword [rdi + 0x3a28], rax
inc edx
cmp edx, 0xa
jbe 0x140058588
jmp 0x1400585ba
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 0x14005866a
mov ebp, esi
mov r12, qword [rsp + 0xe0]
lea r14, [r15 + 0x10]
mov r15, qword [r15]
cmp dword [r14], 0x3e
jne 0x140058657
cmp dword [r14 + 8], 0xcc
jne 0x140058657
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 [0x140065990]
test eax, eax
js 0x140058651
cmp qword [rsp + 0x38], rbx
jne 0x140058657
mov dword [r14], ebx
inc r13d
sub rbp, 1
jne 0x1400585f9
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 0x140058746
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 0x1400586dd
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 0x14005872c
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 0x1400586a2
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