Function at 0x1400d7270
Capabilities:
Print debug messages

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x178
mov qword [rsp + 0x128], 0xfffffffffffffffe
mov rdi, rcx
cmp qword [rcx + 0x108], 0
jne 0x1400d72a4
xor eax, eax
jmp 0x1400d7f58
xor edx, edx
add rcx, 0x1c0
call fcn.1401f25e4
xor edx, edx
lea rcx, [rdi + 0x268]
call fcn.1401f25e4
xor edx, edx
lea rcx, [rdi + 0x310]
call fcn.1401f25e4
lea rbp, [rdi + 0x3b8]
xor edx, edx
mov rcx, rbp
call fcn.1401f25e4
lea rsi, [rdi + 0x460]
xor edx, edx
mov rcx, rsi
call fcn.1401f25e4
lea rbx, [rdi + 0x508]
xor edx, edx
mov rcx, rbx
call fcn.1401f25e4
mov r11, qword [rdi + 0x108]
mov r12d, 1
cmp dword [r11 + 0x3c], 0
je 0x1400d75b7
lea edx, [r12 + 4]
mov rcx, rbp
call fcn.1401f25e4
xor r9d, r9d
mov edx, 0x414
lea r8d, [r12 + 0x13]
mov rcx, qword [rdi + 0x3f8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9, r12
xor r8d, r8d
mov edx, 0x417
mov rcx, qword [rdi + 0x3f8]
call qword [sym.imp.USER32.dll_SendMessageW]
lea r9d, [r12 + 0x13]
xor r8d, r8d
mov edx, 0x415
mov rcx, qword [rdi + 0x3f8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9d, r12d
xor edx, edx
lea r8d, [r12 + 0x63]
mov rcx, rbp
call fcn.140203960
mov rcx, qword [rdi + 0x100]
test rcx, rcx
je 0x1400d73aa
lea r12, [rdi + 0x5b0]
mov r9d, 0x957
mov r8, rbp
mov rdx, r12
call fcn.140041690
jmp 0x1400d73fe
lea r12, [rdi + 0x5b0]
test r12, r12
je 0x1400d73fe
test rbp, rbp
je 0x1400d73fe
cmp qword [r12 + 0x40], 0
je 0x1400d73fe
lea rdx, [rsp + 0x140]
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.USER32.dll_GetClientRect]
mov rcx, rbp
call fcn.1401f256c
movsxd rcx, eax
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x140]
mov r8d, 0x957
mov rdx, rbp
mov rcx, r12
call fcn.1402097c0
mov dword [rsp + 0x1c8], 0
mov rcx, qword [rdi + 0x108]
mov rax, qword [rcx]
lea rdx, [rsp + 0x1c8]
call qword [rax + 0x40]
test eax, eax
je 0x1400d75bc
mov eax, dword [rsp + 0x1c8]
test al, 1
jne 0x1400d75cc
cmp eax, 2
jb 0x1400d75c4
xor ebp, ebp
mov rax, qword [rdi + 0x100]
bt dword [rax + 0x138], 0x1c
jae 0x1400d746e
mov rcx, qword [rdi + 0x110]
test rcx, rcx
je 0x1400d7475
cmp dword [rcx + 0xc8], 1
mov edx, 1
cmove ebp, edx
jmp 0x1400d747a
mov edx, 1
jmp 0x1400d747a
mov edx, 1
bt dword [rax + 0x38], 8
jae 0x1400d7497
mov rcx, qword [rdi + 0x110]
test rcx, rcx
je 0x1400d7497
cmp dword [rcx + 0xc8], 4
cmove ebp, edx
test rax, rax
je 0x1400d74f3
mov rdx, qword [rdi + 0x110]
test rdx, rdx
je 0x1400d74f3
mov dword [rsp + 0x1d0], 0
add rdx, 0x28
lea rcx, [rsp + 0x120]
call fcn.140002d40
mov r9d, 1
lea r8, [rsp + 0x1d0]
lea rdx, [0x1402791f0]
mov rcx, rax
call fcn.1401685d0
test eax, eax
je 0x1400d74f3
cmp dword [rsp + 0x1d0], 0
jne 0x1400d75af
test ebp, ebp
jne 0x1400d75d4
lea edx, [rbp + 5]
lea rcx, [rdi + 0x310]
call fcn.1401f25e4
lea edx, [rbp + 5]
lea rcx, [rdi + 0x1c0]
call fcn.1401f25e4
lea edx, [rbp + 5]
lea rcx, [rdi + 0x268]
call fcn.1401f25e4
mov r14d, 1
mov r9, r14
xor r8d, r8d
mov edx, 0x417
mov rcx, qword [rdi + 0x350]
call qword [sym.imp.USER32.dll_SendMessageW]
lea r9d, [rbp + 5]
xor r8d, r8d
mov edx, 0x415
mov rcx, qword [rdi + 0x350]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9d, r14d
lea edx, [rbp - 0xa]
lea r8d, [rbp + 0xa]
lea rcx, [rdi + 0x310]
call fcn.140203960
mov rcx, qword [rdi + 0x100]
test rcx, rcx
je 0x1400d7598
mov r9d, 0x956
lea r8, [rdi + 0x310]
mov rdx, r12
call fcn.140041690
jmp 0x1400d75da
mov r8d, 0x956
lea rdx, [rdi + 0x310]
mov rcx, r12
call fcn.140041610
jmp 0x1400d75da
mov r14d, 1
jmp 0x1400d75da
mov r14, r12
jmp 0x1400d75da
mov r14d, 1
jmp 0x1400d75da
mov r14d, 1
jmp 0x1400d75da
mov r14d, 1
jmp 0x1400d75da
mov r14d, 1
mov rax, qword [rdi + 0x108]
cmp dword [rax + 0x34], 0
je 0x1400d766e
mov edx, 5
mov rcx, rsi
call fcn.1401f25e4
mov rcx, qword [rdi + 0x100]
test rcx, rcx
je 0x1400d761b
lea rdx, [rdi + 0x5b0]
mov r9d, 0x958
mov r8, rsi
call fcn.140041690
jmp 0x1400d766e
lea rbp, [rdi + 0x5b0]
test rbp, rbp
je 0x1400d766e
test rsi, rsi
je 0x1400d766e
cmp qword [rbp + 0x40], 0
je 0x1400d766e
lea rdx, [rsp + 0x160]
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_GetClientRect]
mov rcx, rsi
call fcn.1401f256c
movsxd rdx, eax
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x160]
mov r8d, 0x958
mov rdx, rsi
mov rcx, rbp
call fcn.1402097c0
mov rax, qword [rdi + 0x108]
cmp dword [rax + 0x44], 0
jne 0x1400d7685
cmp dword [rax + 0x4c], 0
je 0x1400d776d
mov edx, 5
mov rcx, rbx
call fcn.1401f25e4
mov rcx, qword [rdi + 0x100]
test rcx, rcx
je 0x1400d76b5
lea rdx, [rdi + 0x5b0]
mov r9d, 0x95f
mov r8, rbx
call fcn.140041690
jmp 0x1400d7708
lea rbp, [rdi + 0x5b0]
test rbp, rbp
je 0x1400d7708
test rbx, rbx
je 0x1400d7708
cmp qword [rbp + 0x40], 0
je 0x1400d7708
lea rdx, [rsp + 0x130]
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_GetClientRect]
mov rcx, rbx
call fcn.1401f256c
movsxd rdx, eax
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x130]
mov r8d, 0x95f
mov rdx, rbx
mov rcx, rbp
call fcn.1402097c0
mov rax, qword [rdi + 0x108]
cmp dword [rax + 0x34], 0
jne 0x1400d7772
test rsi, rsi
je 0x1400d773c
lea rdx, [rsp + 0xc8]
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_GetWindowRect]
lea rdx, [rsp + 0xc8]
mov rcx, rdi
call fcn.1401fe040
mov dword [rsp + 0x30], 5
xor r13d, r13d
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
mov r9d, dword [rsp + 0xcc]
mov r8d, dword [rsp + 0xc8]
xor edx, edx
mov rcx, rbx
call fcn.1401f27e0
jmp 0x1400d7775
xor r13d, r13d
jmp 0x1400d7775
xor r13d, r13d
mov rax, qword [rdi + 0x108]
cmp dword [rax + 0x58], 0
je 0x1400d7f55
mov edx, 5
mov rcx, rbx
call fcn.1401f25e4
mov rcx, qword [rdi + 0x100]
test rcx, rcx
je 0x1400d77b6
lea rdx, [rdi + 0x5b0]
mov r9d, 0xc7c
mov r8, rbx
call fcn.140041690
jmp 0x1400d7809
lea rbp, [rdi + 0x5b0]
test rbp, rbp
je 0x1400d7809
test rbx, rbx
je 0x1400d7809
cmp qword [rbp + 0x40], 0
je 0x1400d7809
lea rdx, [rsp + 0x150]
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_GetClientRect]
mov rcx, rbx
call fcn.1401f256c
movsxd rdx, eax
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x150]
mov r8d, 0xc7c
mov rdx, rbx
mov rcx, rbp
call fcn.1402097c0
mov rax, qword [rdi + 0x108]
cmp dword [rax + 0x34], 0
jne 0x1400d7869
test rsi, rsi
je 0x1400d783d
lea rdx, [rsp + 0xb8]
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_GetWindowRect]
lea rdx, [rsp + 0xb8]
mov rcx, rdi
call fcn.1401fe040
mov dword [rsp + 0x30], 5
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
mov r9d, dword [rsp + 0xbc]
mov r8d, dword [rsp + 0xb8]
xor edx, edx
mov rcx, rbx
call fcn.1401f27e0
mov rax, qword [rdi + 0x100]
bt dword [rax + 0x18c], 0x1c
jae 0x1400d7f55
mov eax, dword [rax + 0x20c]
mov dword [rdi + 0xf8], eax
mov dword [rsp + 0x40], r13d
mov rcx, qword [rdi + 0x108]
cmp dword [rcx + 0x58], 0
je 0x1400d78e7
mov qword [rsp + 0x48], r13
lea r9, [rsp + 0x48]
lea r8, [0x1402799e8]
mov edx, dword [rcx + 0x54]
call fcn.14014c620
test eax, eax
je 0x1400d78e7
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
call qword [rax + 0x18]
mov ebx, eax
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x1400d78db
mov rdx, qword [rcx]
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov ecx, r13d
test ebx, ebx
setns cl
test ecx, ecx
jne 0x1400d78f4
lea rcx, str._CPL__CLineVolumeDlg::InitVolumeCtrls____GetEarProtect_bEnabled__fail___n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [rsp + 0x1d8], r13d
mov ebp, r13d
call fcn.1401ffea8
or rsi, 0xffffffffffffffff
test rax, rax
je 0x1400d7a9f
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xe8]
test rax, rax
je 0x1400d7a9f
mov rax, qword [rax + 0xc0]
test rax, rax
je 0x1400d7a9f
add dword [rax + 0x1b70], 1
mov rcx, qword [rax + 0x4c8]
test rcx, rcx
je 0x1400d7a92
mov dword [rsp + 0x5c], r13d
lea rdx, [rsp + 0x100]
mov rax, qword [0x1402761f0]
mov qword [rdx], rax
mov rax, qword [0x1402761f8]
mov qword [rdx + 8], rax
mov dword [rsp + 0x90], r13d
xor eax, eax
mov dword [rsp + 0x94], eax
mov dword [rsp + 0x98], eax
mov dword [rsp + 0x9c], eax
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0xa4], eax
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0xc0000000
lea r8d, [rsi + 4]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r12, rax
cmp rax, rsi
je 0x1400d7a92
lea rdx, [rsp + 0x90]
lea rax, [rsp + 0x100]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rcx, qword [rax + 8]
mov qword [rdx + 8], rcx
mov dword [rsp + 0xa4], r14d
mov dword [rsp + 0xa0], 0x3b
mov qword [rsp + 0x38], r13
lea rax, [rsp + 0x5c]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x1d8]
mov qword [rsp + 0x20], rax
lea r9d, [rsi + 0x19]
lea r8, [rsp + 0x90]
mov edx, 0x2f0003
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
jne 0x1400d7a89
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0xd8]
call fcn.14003e9f0
mov rdx, qword [rsp + 0xd8]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x1400d7a92
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1400d7a92
mov ebp, dword [rsp + 0x1d8]
jmp 0x1400d7a9f
lea rcx, str._CPL__CLineVolumeDlg::InitVolumeCtrls____get_KsProperty_IsHeadPhone_fail___n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [rsp + 0x40], 0
je 0x1400d7dc8
mov rax, qword [rdi + 0x110]
test rax, rax
je 0x1400d7c30
test ebp, ebp
je 0x1400d7c30
mov rax, qword [rax + 0xd8]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1400d7c30
cmp dword [rbx + 0x3c], 0
je 0x1400d7c30
mov dword [rsp + 0x1c0], r13d
mov rax, qword [rbx]
lea rdx, [rsp + 0x1c0]
mov rcx, rbx
call qword [rax + 0x40]
test eax, eax
je 0x1400d7c30
mov ecx, dword [rsp + 0x1c0]
mov eax, 4
mul rcx
cmovo rax, rsi
mov rcx, rax
call fcn.1401f0b90
mov rbp, rax
test rax, rax
je 0x1400d7c30
mov r9, qword [rbx]
mov r8d, dword [rsp + 0x1c0]
mov rdx, rax
mov rcx, rbx
call qword [r9 + 0x98]
mov r12d, eax
mov r9d, r13d
mov r8d, dword [rsp + 0x1c0]
test r8d, r8d
je 0x1400d7b77
mov rdx, rbp
mov ecx, dword [rdi + 0xf8]
cmp dword [rdx], ecx
jle 0x1400d7b6a
mov dword [rdx], ecx
mov r8d, dword [rsp + 0x1c0]
add r9d, 1
add rdx, 4
cmp r9d, r8d
jb 0x1400d7b56
mov rax, qword [rdi + 0x100]
bt dword [rax + 0x190], 0x1a
jb 0x1400d7b9a
mov rax, qword [rbx]
mov rdx, rbp
mov rcx, rbx
call qword [rax + 0x90]
mov r12d, eax
mov rcx, rdi
call fcn.1400d7fe0
test r12d, r12d
jne 0x1400d7c28
call fcn.1401ff164
mov r11, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400d7bcb
mov ecx, 0x80004005
call fcn.140002bc0
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xa8], rax
mov r8d, dword [rdi + 0xf8]
lea rdx, str._CPL__CLineVolumeDlg::InitVolumeCtrls____SetVolume_fail____d__n
lea rcx, [rsp + 0xa8]
call fcn.140003090
mov rbx, qword [rsp + 0xa8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
nop
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400d7c28
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, rbp
call fcn.1401f0b88
mov dword [rsp + 0x54], r14d
call fcn.1401ffea8
test rax, rax
je 0x1400d7f55
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xe8]
test rax, rax
je 0x1400d7f55
mov rcx, qword [rax + 0xc0]
test rcx, rcx
je 0x1400d7f55
add dword [rcx + 0x1b70], 1
mov rax, qword [rdi + 0x100]
bt dword [rax + 0x190], 0x1a
jb 0x1400d7f55
mov rcx, qword [rcx + 0x4c8]
test rcx, rcx
je 0x1400d7db6
mov dword [rsp + 0x50], r13d
lea r9, [rsp + 0xf0]
mov rax, qword [0x1402761f0]
mov qword [r9], rax
mov rax, qword [0x1402761f8]
mov qword [r9 + 8], rax
mov dword [rsp + 0x60], r13d
xor eax, eax
mov dword [rsp + 0x64], eax
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x6c], eax
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x74], eax
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0xc0000000
lea r8d, [rax + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x1400d7db6
lea r8, [rsp + 0x60]
lea rax, [rsp + 0xf0]
mov rcx, qword [rax]
mov qword [r8], rcx
mov rcx, qword [rax + 8]
mov qword [r8 + 8], rcx
mov dword [rsp + 0x74], 2
mov dword [rsp + 0x70], 0x3b
mov qword [rsp + 0x38], r13
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x54]
mov qword [rsp + 0x20], rax
mov r9d, 0x18
lea r8, [rsp + 0x60]
mov edx, 0x2f0003
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
jne 0x1400d7f55
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0xb0]
call fcn.14003e9f0
mov rdx, qword [rsp + 0xb0]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
add esi, 0xffffffff
test esi, esi
jg 0x1400d7db6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, str._CPL__CLineVolumeDlg::InitVolumeCtrls____set_KsProperty_PROPERTY_CUSTOMIZED_HPLimitedOutputWithEerProtection_fail___n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x1400d7f55
mov dword [rsp + 0x44], r13d
call fcn.1401ffea8
test rax, rax
je 0x1400d7f55
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xe8]
test rax, rax
je 0x1400d7f55
mov rax, qword [rax + 0xc0]
test rax, rax
je 0x1400d7f55
add dword [rax + 0x1b70], 1
mov rcx, qword [rax + 0x4c8]
test rcx, rcx
je 0x1400d7f48
mov dword [rsp + 0x58], r13d
lea rdx, [rsp + 0x110]
mov rax, qword [0x1402761f0]
mov qword [rdx], rax
mov rax, qword [0x1402761f8]
mov qword [rdx + 8], rax
mov dword [rsp + 0x78], r13d
xor eax, eax
mov dword [rsp + 0x7c], eax
mov dword [rsp + 0x80], eax
mov dword [rsp + 0x84], eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0xc0000000
lea r8d, [rax + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x1400d7f48
lea rdx, [rsp + 0x78]
lea rax, [rsp + 0x110]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rcx, qword [rax + 8]
mov qword [rdx + 8], rcx
mov dword [rsp + 0x8c], 2
mov dword [rsp + 0x88], 0x3b
mov qword [rsp + 0x38], r13
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x44]
mov qword [rsp + 0x20], rax
mov r9d, 0x18
lea r8, [rsp + 0x78]
mov edx, 0x2f0003
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
jne 0x1400d7f55
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0xe0]
call fcn.14003e9f0
mov rdx, qword [rsp + 0xe0]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
add esi, 0xffffffff
test esi, esi
jg 0x1400d7f48
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rcx, str._CPL__CLineVolumeDlg::InitVolumeCtrls____set_KsProperty_PROPERTY_CUSTOMIZED_HPLimitedOutputWithEerProtection_fail___n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, r14d
add rsp, 0x178
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret