Function at 0x1400c5600
Capabilities:
Print debug messages

Disassembly:
push r12
push r13
push r14
push r15
mov eax, 0x10c8
call fcn.14011c260
sub rsp, rax
mov rax, qword [0x14016adb0]
xor rax, rsp
mov qword [rsp + 0x10b0], rax
mov qword [rsp + 0x10f8], rbx
mov qword [rsp + 0x1100], rbp
xor r15d, r15d
mov qword [rsp + 0x1108], rsi
mov r12, rcx
lea r14, [rcx + 0xe5c]
mov r13d, r15d
mov qword [rsp + 0x10c0], rdi
cmp dword [r14], r15d
je 0x1400c5a41
movsxd rbp, dword [r14 - 0x414]
mov rdi, qword [r12 + 0x110]
lea rcx, [rsp + 0x880]
xor edx, edx
mov r8d, 0x828
call fcn.1400fce30
test ebp, ebp
js 0x1400c56f3
cmp rbp, qword [rdi + 0xac0]
mov rax, rbp
jge 0x1400c56f3
cmp rax, qword [rdi + 0xac0]
jge 0x1400c56bb
test ebp, ebp
js 0x1400c56bb
test ebp, ebp
mov rcx, qword [rdi + 0xab0]
je 0x1400c56be
nop
sub rax, 1
mov rcx, qword [rcx]
jne 0x1400c56b0
jmp 0x1400c56be
mov rcx, r15
mov rdx, qword [rcx + 0x10]
test rdx, rdx
jne 0x1400c56e1
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x880]
mov r8d, 0x828
call fcn.1400fd180
jmp 0x1400c570b
lea rcx, [rsp + 0x50]
mov r8d, 0x828
call fcn.1400fd180
jmp 0x1400c570b
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x880]
mov r8d, 0x828
call fcn.1400fd180
mov esi, dword [rsp + 0x464]
or ebx, 0xffffffff
cmp dword [rdi + 0x8b4], r15d
jne 0x1400c5722
or ebx, ebx
jmp 0x1400c578f
mov ecx, esi
sub ecx, 8
je 0x1400c5780
sub ecx, 1
je 0x1400c5770
sub ecx, 1
je 0x1400c5760
sub ecx, 2
je 0x1400c5750
cmp ecx, 1
je 0x1400c5742
or ebx, 0xffffffff
jmp 0x1400c578f
cmp dword [rdi + 0xa9c], r15d
je 0x1400c578f
mov ebx, r15d
jmp 0x1400c578f
cmp dword [rdi + 0xa98], r15d
je 0x1400c578f
mov ebx, 3
jmp 0x1400c578f
cmp dword [rdi + 0xa94], r15d
je 0x1400c578f
mov ebx, 2
jmp 0x1400c578f
cmp dword [rdi + 0xaa0], r15d
je 0x1400c578f
mov ebx, 4
jmp 0x1400c578f
cmp dword [rdi + 0xa90], r15d
mov eax, 1
cmovne ebx, eax
test ebp, ebp
mov dword [rsp + 0x40], 4
js 0x1400c586f
cmp rbp, qword [rdi + 0xac0]
mov rax, rbp
jge 0x1400c586f
cmp rax, qword [rdi + 0xac0]
jge 0x1400c57d2
test ebp, ebp
js 0x1400c57d2
test ebp, ebp
mov rcx, qword [rdi + 0xab0]
je 0x1400c57d5
sub rax, 1
mov rcx, qword [rcx]
jne 0x1400c57c7
jmp 0x1400c57d5
mov rcx, r15
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x1400c586f
cmp qword [rcx + 0x828], r15
je 0x1400c586f
mov rcx, qword [rcx + 0x828]
lea rdx, [rsp + 0x40]
mov rax, qword [rcx]
call qword [rax + 0x30]
cmp dword [rsp + 0x40], 1
jne 0x1400c586f
mov rax, qword [r12 + 0x110]
cmp dword [rax + 0x8b4], r15d
je 0x1400c5a41
cmp dword [rax + 0x874], r15d
je 0x1400c5a41
cmp ebx, 0xffffffff
je 0x1400c5a41
cmp esi, 8
jne 0x1400c5846
cmp dword [rax + 0x2154c], r15d
je 0x1400c586f
jmp 0x1400c5a41
cmp esi, 0xa
jne 0x1400c5859
cmp dword [rax + 0x21500], r15d
je 0x1400c586f
jmp 0x1400c5a41
cmp esi, 0xc
jne 0x1400c5a41
cmp dword [rax + 0x214b4], r15d
jne 0x1400c5a41
mov rcx, r12
mov dword [r14], r15d
call fcn.1400c0960
cmp r13d, 8
je 0x1400c5896
cmp r13d, 0xa
je 0x1400c5896
cmp r13d, 0xc
je 0x1400c5896
cmp r13d, 4
jne 0x1400c5a41
mov rcx, qword [r12 + 0x110]
cmp dword [rcx + 0x21544], r15d
je 0x1400c58bd
cmp dword [rcx + 0x2154c], r15d
je 0x1400c58bd
cmp dword [rcx + 0x2153c], 7
jne 0x1400c5977
cmp dword [rcx + 0x214f8], r15d
je 0x1400c58dc
cmp dword [rcx + 0x21500], r15d
je 0x1400c58dc
cmp dword [rcx + 0x214f0], 6
jne 0x1400c5977
lea rbx, [rcx + 0xf8]
mov rcx, rbx
lea r8, [rbx + 0x8dc]
lea rdx, [rbx + 0x24]
call fcn.140097c60
cmp dword [rbx + 0x8ec], 1
jne 0x1400c5922
mov rcx, qword [r12 + 0x110]
cmp dword [rcx + 0x214ac], r15d
je 0x1400c5922
cmp dword [rcx + 0x214b4], r15d
je 0x1400c5922
cmp dword [rcx + 0x214a4], 5
jne 0x1400c5977
mov rbx, qword [r12 + 0x110]
lea r8, [rbx + 0x9d4]
lea rdx, [rbx + 0x11c]
lea rcx, [rbx + 0xf8]
call fcn.140097c60
cmp dword [rbx + 0x9e4], 1
je 0x1400c598d
mov rcx, qword [r12 + 0x110]
cmp dword [rcx + 0x214ac], r15d
je 0x1400c598d
cmp dword [rcx + 0x214b4], r15d
je 0x1400c598d
mov eax, dword [rcx + 0x214a4]
cmp eax, 5
je 0x1400c598d
cmp eax, 4
je 0x1400c598d
add rcx, 0xf8
mov edx, 1
call fcn.140096280
jmp 0x1400c5a41
mov rax, qword [r12 + 0x110]
mov dword [rsp + 0x40], r15d
mov rcx, qword [rax + 0x110]
test rcx, rcx
je 0x1400c5a41
xor r9d, r9d
mov qword [rsp + 0x30], r15
add rcx, 4
lea r8d, [r9 + 3]
mov edx, 0xc0000000
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
mov rbx, rax
jne 0x1400c59ea
lea rcx, str.ActiveSpeaker:_CreateFile:_INVALID_HANDLE_VALUE_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x1400c5a41
mov qword [rsp + 0x38], r15
lea rax, [rsp + 0x48]
lea r8, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov r9d, 4
mov edx, 0x1d6068
mov rcx, rbx
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x1400c5a38
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, str.ActiveSpeaker:_DeviceIoControl:_IOCTL_HDAUD_SET_VIA_SPKRS_ALWAYS_ACTIVE_failed_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x1400c5a41
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add r13d, 1
add r14, 0xd60
cmp r13d, 0x10
jb 0x1400c5657
mov rcx, qword [r12 + 0x110]
call fcn.14001e080
mov rcx, r12
call fcn.1400beba0
mov rdi, qword [rsp + 0x10c0]
mov rsi, qword [rsp + 0x1108]
mov rbp, qword [rsp + 0x1100]
mov rbx, qword [rsp + 0x10f8]
xor eax, eax
mov rcx, qword [rsp + 0x10b0]
xor rcx, rsp
call fcn.1400f9790
add rsp, 0x10c8
pop r15
pop r14
pop r13
pop r12
ret