Function at 0x140060d70
Capabilities:
Print debug messages

Disassembly:
push rsi
sub rsp, 0x30
mov qword [rsp + 0x48], rbp
mov rsi, rcx
mov qword [rsp + 0x58], r12
xor r12d, r12d
mov qword [rsp + 0x28], r14
xor r14d, r14d
mov qword [rsp + 0x20], r15
xor r15d, r15d
call fcn.14000b2a0
lea rcx, [rsi + 0x10]
movzx ebp, word [rax + 0x92]
and ebp, 1
call fcn.140048c00
call fcn.14000b2a0
cmp dword [rax + 0x84], 1
jne 0x140060e05
mov r9d, dword [rsi + 0x68]
xor r8d, r8d
test r9d, r9d
je 0x140060e00
lea rdx, [rsi + 0x19c]
nop
mov eax, dword [rdx - 0x84]
and eax, 0xf000
cmp eax, 0x1000
jne 0x140060df1
mov ecx, dword [rdx]
cmp cl, 6
jae 0x140060df1
shr ecx, 8
cmp cl, 4
jne 0x140060e0f
inc r8d
add rdx, 0xb0
cmp r8d, r9d
jb 0x140060dd0
mov ebp, 1
cmp dword [rsi + 0x68], r12d
jbe 0x14006102f
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x50], rdi
xor edi, edi
nop dword [rax + rax]
mov eax, edi
imul rbx, rax, 0xb0
add rbx, rsi
movzx ecx, byte [rbx + 0x19d]
lea eax, [rcx - 7]
cmp al, 1
jbe 0x140060f38
cmp cl, 1
jne 0x140060e56
mov ecx, dword [rbx + 0x19c]
cmp cl, 3
jae 0x140060e56
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 0x140060e95
and ecx, 0xffff1fff
bts ecx, 0xc
mov dword [rbx + 0x118], ecx
call fcn.14000b2a0
test rax, rax
je 0x140060e95
call fcn.14000b2a0
or dword [rax + 0x90], 2
test ebp, ebp
je 0x140060ed0
mov ecx, dword [rbx + 0x118]
mov eax, ecx
and eax, 0xf000
cmp eax, 0x2000
jne 0x140060ed0
mov edx, dword [rbx + 0x19c]
cmp dl, 6
jae 0x140060ed0
shr edx, 8
cmp dl, 4
je 0x140060ed0
and ecx, 0xffff1fff
bts ecx, 0xc
mov dword [rbx + 0x118], ecx
cmp dword [rbx + 0x1b0], 0xffffffff
jne 0x140060f32
mov edx, dword [rbx + 0x19c]
movzx ecx, dl
cmp ecx, 6
jae 0x140060f09
mov eax, dword [rbx + 0x118]
and eax, 0xf000
cmp eax, 0x1000
jne 0x140060f09
mov eax, edx
shr eax, 8
cmp al, 4
je 0x140060f09
cmp r12d, ecx
cmovbe r12d, ecx
cmp ecx, 3
jae 0x140060f38
mov eax, dword [rbx + 0x118]
and eax, 0xf000
cmp eax, 0x2000
jne 0x140060f38
shr edx, 8
cmp dl, 4
je 0x140060f38
cmp r15d, ecx
ja 0x140060f38
mov r15d, ecx
jmp 0x140060f38
mov r14d, 1
mov eax, dword [rsi + 0x68]
inc edi
cmp edi, eax
jb 0x140060e20
test r14d, r14d
je 0x140061025
mov ebx, 1
xor ebp, ebp
xor edi, edi
xor r11d, r11d
xor r9d, r9d
test eax, eax
je 0x140061025
nop word [rax + rax]
mov eax, r9d
imul rdx, rax, 0xb0
add rdx, rsi
movzx r10d, byte [rdx + 0x19d]
lea eax, [r10 - 7]
cmp al, 1
jbe 0x140061005
cmp dword [rdx + 0x1b0], ebx
jne 0x140061005
mov r8d, dword [rdx + 0x19c]
mov ebp, 1
mov eax, r8d
cmp r8b, 6
jae 0x140060fd9
mov ecx, dword [rdx + 0x118]
and ecx, 0xf000
cmp ecx, 0x1000
jne 0x140060fd9
cmp r10b, 4
je 0x140060fd9
inc edi
inc r8b
add r8b, r12b
mov byte [rdx + 0x19c], r8b
mov eax, dword [rdx + 0x19c]
cmp al, 3
jae 0x140061005
mov ecx, dword [rdx + 0x118]
and ecx, 0xf000
cmp ecx, 0x2000
jne 0x140061005
cmp r10b, 4
je 0x140061005
inc r11d
inc al
add al, r15b
mov byte [rdx + 0x19c], al
mov eax, dword [rsi + 0x68]
inc r9d
cmp r9d, eax
jb 0x140060f70
test ebp, ebp
je 0x140061025
inc ebx
add r12d, edi
add r15d, r11d
jmp 0x140060f53
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x50]
sub dword [rsi + 0x28], 1
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov r12, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x48]
jne 0x140061059
mov rcx, qword [rsi + 0x20]
add rsp, 0x30
pop rsi
jmp qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_SetEvent]
cmp dword [rsi + 0x28], 0x32
jle 0x14006107d
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, 0x30
pop rsi
jmp fcn.14005b9a0
add rsp, 0x30
pop rsi
ret