Function at 0x14006a550
Capabilities:
Print debug messages

Disassembly:
push rsi
sub rsp, 0x40
mov qword [rsp + 0x58], rbp
mov rsi, rcx
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x38], r12
xor r12d, r12d
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r14
xor r14d, r14d
mov qword [rsp + 0x20], r15
xor r15d, r15d
call fcn.14000b810
lea rcx, [rsi + 0x10]
movzx ebp, word [rax + 0x92]
and ebp, 1
call fcn.140049450
call fcn.14000b810
mov r13d, 1
cmp dword [rax + 0x84], r13d
jne 0x14006a60c
mov r9d, dword [rsi + 0x68]
xor r10d, r10d
xor r8d, r8d
test r9d, r9d
je 0x14006a605
lea rdx, [rsi + 0x19c]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rdx - 0x84]
and eax, 0xf000
cmp eax, 0x1000
jne 0x14006a5f1
mov ecx, dword [rdx]
cmp cl, 6
jae 0x14006a5f1
shr ecx, 8
cmp cl, 4
jne 0x14006a602
inc r8d
add rdx, 0xb0
cmp r8d, r9d
jb 0x14006a5d0
jmp 0x14006a605
mov r10d, r13d
test r10d, r10d
cmove ebp, r13d
xor edi, edi
cmp dword [rsi + 0x68], edi
jbe 0x14006a822
mov qword [rsp + 0x50], rbx
nop dword [rax]
mov eax, edi
imul rcx, rax, 0xb0
lea rbx, [rcx + rsi]
movzx ecx, byte [rbx + 0x19d]
lea eax, [rcx - 7]
cmp al, r13b
jbe 0x14006a737
cmp cl, r13b
jne 0x14006a658
mov ecx, dword [rbx + 0x19c]
cmp cl, 3
jae 0x14006a658
add cl, cl
mov byte [rbx + 0x19c], cl
mov ecx, dword [rbx + 0x118]
mov eax, ecx
and eax, 0xf000
sub eax, 0x3000
test eax, 0xffffefff
jne 0x14006a697
and ecx, 0xffff1fff
bts ecx, 0xc
mov dword [rbx + 0x118], ecx
call fcn.14000b810
test rax, rax
je 0x14006a697
call fcn.14000b810
or dword [rax + 0x90], 2
test ebp, ebp
je 0x14006a6d2
mov ecx, dword [rbx + 0x118]
mov eax, ecx
and eax, 0xf000
cmp eax, 0x2000
jne 0x14006a6d2
mov edx, dword [rbx + 0x19c]
cmp dl, 6
jae 0x14006a6d2
shr edx, 8
cmp dl, 4
je 0x14006a6d2
and ecx, 0xffff1fff
bts ecx, 0xc
mov dword [rbx + 0x118], ecx
cmp dword [rbx + 0x1b0], 0xffffffff
jne 0x14006a734
mov edx, dword [rbx + 0x19c]
movzx ecx, dl
cmp ecx, 6
jae 0x14006a70b
mov eax, dword [rbx + 0x118]
and eax, 0xf000
cmp eax, 0x1000
jne 0x14006a70b
mov eax, edx
shr eax, 8
cmp al, 4
je 0x14006a70b
cmp r12d, ecx
cmovbe r12d, ecx
cmp ecx, 3
jae 0x14006a737
mov eax, dword [rbx + 0x118]
and eax, 0xf000
cmp eax, 0x2000
jne 0x14006a737
shr edx, 8
cmp dl, 4
je 0x14006a737
cmp r15d, ecx
ja 0x14006a737
mov r15d, ecx
jmp 0x14006a737
mov r14d, r13d
mov eax, dword [rsi + 0x68]
inc edi
cmp edi, eax
jb 0x14006a620
test r14d, r14d
je 0x14006a81d
mov ebx, r13d
xor ebp, ebp
xor edi, edi
xor r11d, r11d
xor r9d, r9d
test eax, eax
je 0x14006a81d
mov eax, r9d
imul rcx, rax, 0xb0
movzx r10d, byte [rcx + rsi + 0x19d]
lea eax, [r10 - 7]
cmp al, r13b
jbe 0x14006a7fd
cmp dword [rcx + rsi + 0x1b0], ebx
jne 0x14006a7fd
mov edx, dword [rcx + rsi + 0x19c]
mov ebp, r13d
mov r8d, edx
cmp dl, 6
jae 0x14006a7c8
mov eax, dword [rcx + rsi + 0x118]
and eax, 0xf000
cmp eax, 0x1000
jne 0x14006a7c8
cmp r10b, 4
je 0x14006a7c8
inc edi
inc dl
add dl, r12b
mov byte [rcx + rsi + 0x19c], dl
mov r8d, dword [rcx + rsi + 0x19c]
mov edx, dword [rcx + rsi + 0x19c]
cmp r8b, 3
jae 0x14006a7fd
mov eax, dword [rcx + rsi + 0x118]
and eax, 0xf000
cmp eax, 0x2000
jne 0x14006a7fd
cmp r10b, 4
je 0x14006a7fd
inc r11d
inc dl
add dl, r15b
mov byte [rcx + rsi + 0x19c], dl
mov eax, dword [rsi + 0x68]
inc r9d
cmp r9d, eax
jb 0x14006a762
test ebp, ebp
je 0x14006a81d
inc ebx
add r12d, edi
add r15d, r11d
jmp 0x14006a750
mov rbx, qword [rsp + 0x50]
mov eax, 0xffffffff
lock xadd dword [rsi + 0x28], eax
mov eax, dword [rsi + 0x28]
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov r13, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x58]
test eax, eax
jne 0x14006a861
mov rcx, qword [rsi + 0x20]
add rsp, 0x40
pop rsi
jmp qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_SetEvent]
mov eax, dword [rsi + 0x28]
cmp eax, 0x32
jle 0x14006a887
mov r8d, 0x6a
lea rdx, str.CDataAccessProtector::FinishAccess
lea rcx, str._s__d_calling_FinishAccess_isnt_matched_RequestAccess_or_directly_return_in_EnumAudioDeviceStart_loop
add rsp, 0x40
pop rsi
jmp fcn.140065460
add rsp, 0x40
pop rsi
ret