Function at 0x14001ad30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rcx
push rdi
push r14
push r15
sub rsp, 0x30
mov rbx, rcx
mov qword [rsp + 0x20], rcx
lea rax, vtable.IRtkAudioDriverEventNotify.0
mov qword [rcx], rax
lea rsi, [rcx + 8]
lea rax, vtable.IAudioDeviceChangeNotify.0
mov qword [rsi], rax
lea r15, [rcx + 0x10]
lea rax, vtable.IEndpointVolumeEventNotify.0
mov qword [r15], rax
lea r14, [rcx + 0x18]
lea rax, vtable.ITimerEventNotify.0
mov qword [r14], rax
add rcx, 0x20
call fcn.1400a4be0
nop
lea rax, vtable.CAudioDeviceMuteStateHandler.3.0
mov qword [rbx], rax
lea rax, vtable.CAudioDeviceMuteStateHandler.2.0
mov qword [rsi], rax
lea rax, vtable.CAudioDeviceMuteStateHandler.1.0
mov qword [r15], rax
lea rax, vtable.CAudioDeviceMuteStateHandler.0
mov qword [r14], rax
xor eax, eax
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], rax
mov dword [rbx + 0x38], SafeArrayUnaccessData
mov dword [rbx + 0x58], eax
mov dword [rbx + 0x5c], 0xa
mov qword [rbx + 0x60], rax
mov qword [rbx + 0x68], rax
mov dword [rbx + 0x3c], 0x3f400000
mov dword [rbx + 0x40], 0x3e800000
mov dword [rbx + 0x44], 0x40100000
mov qword [rbx + 0x48], 0x26
mov qword [rbx + 0x50], rax
mov qword [rbx + 0x70], rax
mov qword [rbx + 0x78], rax
mov qword [rbx + 0x80], rax
mov qword [rbx + 0x88], rax
mov qword [rbx + 0x90], rax
mov qword [rbx + 0x98], rax
call fcn.140014310
mov rdi, rax
add rdi, 0x8c
jne 0x14001ae50
lea r8d, [rdi + 0x12]
lea rdx, str.CAudioDeviceMuteStateHandler::CAudioDeviceMuteStateHandler
lea rcx, str._s__d_RETURN_ON_FALSE
call fcn.140075db0
jmp 0x14001b113
cmp byte [rdi + 0x249], 0
je 0x14001af0b
call fcn.140014310
cmp byte [rax + 0x2d5], 1
jne 0x14001ae8d
mov eax, dword [rdi + 0x248]
shr eax, 1
and eax, 1
mov dword [rbx + 0x7c], eax
mov eax, dword [rdi + 0x248]
and eax, 1
mov dword [rbx + 0x80], eax
jmp 0x14001af59
call fcn.140014310
cmp byte [rax + 0x2d5], 2
jne 0x14001aebd
mov eax, dword [rdi + 0x248]
shr eax, 1
and eax, 1
mov dword [rbx + 0x7c], eax
mov eax, dword [rdi + 0x138]
shr eax, 4
and eax, 1
mov dword [rbx + 0x78], eax
jmp 0x14001af59
call fcn.140014310
cmp byte [rax + 0x2d5], 3
jne 0x14001aeea
mov eax, dword [rdi + 0x248]
shr eax, 1
and eax, 1
mov dword [rbx + 0x7c], eax
mov eax, dword [rdi + 0x248]
and eax, 1
mov dword [rbx + 0x80], eax
jmp 0x14001af59
call fcn.140014310
cmp byte [rax + 0x2d5], 4
jne 0x14001af59
mov dword [rbx + 0x74], 1
mov dword [rbx + 0x9c], 1
jmp 0x14001af59
mov eax, dword [rdi + 0x138]
shr eax, 3
and eax, 1
mov dword [rbx + 0x74], eax
mov eax, dword [rdi + 0x138]
shr eax, 4
and eax, 1
mov dword [rbx + 0x78], eax
mov eax, dword [rdi + 0x138]
shr eax, 2
and eax, 1
mov dword [rbx + 0x70], eax
mov eax, dword [rdi + 0x14c]
shr eax, 3
and eax, 1
mov dword [rbx + 0x8c], eax
mov eax, dword [rdi + 0x14]
shr eax, 5
and eax, 1
mov dword [rbx + 0x90], eax
lea rcx, [rbx + 0x28]
call fcn.14001da00
cmp dword [rbx + 0x78], 0
je 0x14001af70
mov rcx, rbx
call fcn.14001c140
cmp dword [rbx + 0x74], 0
je 0x14001af7e
mov rcx, rbx
call fcn.14001c3c0
cmp dword [rbx + 0x7c], 0
je 0x14001af8c
mov rcx, rbx
call fcn.14001ca70
cmp dword [rbx + 0x80], 0
je 0x14001af9d
mov rcx, rbx
call fcn.14001c4c0
cmp dword [rbx + 0x74], 0
jne 0x14001afbc
cmp dword [rbx + 0x78], 0
jne 0x14001afbc
cmp dword [rbx + 0x7c], 0
jne 0x14001afbc
cmp dword [rbx + 0x80], 0
je 0x14001b052
mov qword [rsp + 0x28], rsi
call fcn.140014660
mov rdi, rax
test rsi, rsi
je 0x14001b006
lea rcx, [rax + 0x10]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
lea rcx, [rdi + 0x38]
mov rax, qword [rcx]
test rax, rax
je 0x14001aff2
cmp qword [rax + 0x10], rsi
je 0x14001affc
mov rax, qword [rax]
test rax, rax
jne 0x14001afe4
lea rdx, [rsp + 0x28]
call fcn.14000ecc0
lea rcx, [rdi + 0x10]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
mov qword [rsp + 0x28], r15
call fcn.14001d770
mov rdi, rax
test r15, r15
je 0x14001b052
lea rcx, [rax + 0x18]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
lea rcx, [rdi + 0x40]
mov rax, qword [rcx]
test rax, rax
je 0x14001b03e
nop
cmp qword [rax + 0x10], r15
je 0x14001b048
mov rax, qword [rax]
test rax, rax
jne 0x14001b030
lea rdx, [rsp + 0x28]
call fcn.14000ecc0
lea rcx, [rdi + 0x18]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
cmp dword [rbx + 0x7c], 0
jne 0x14001b061
cmp dword [rbx + 0x80], 0
je 0x14001b0b2
mov qword [rsp + 0x28], r14
call fcn.1400147e0
mov rdi, rax
test r14, r14
je 0x14001b0b2
lea rcx, [rax + 0x28]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
lea rcx, [rdi + 0x50]
mov rax, qword [rcx]
test rax, rax
je 0x14001b09e
nop dword [rax]
cmp qword [rax + 0x10], r14
je 0x14001b0a8
mov rax, qword [rax]
test rax, rax
jne 0x14001b090
lea rdx, [rsp + 0x28]
call fcn.14000ecc0
lea rcx, [rdi + 0x28]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
cmp dword [rbx + 0x70], 0
jne 0x14001b0ca
cmp dword [rbx + 0x8c], 0
jne 0x14001b0ca
cmp dword [rbx + 0x90], 0
je 0x14001b113
mov qword [rsp + 0x28], rbx
call fcn.14001d830
mov rdi, rax
lea rcx, [rax + 0x20]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
lea rcx, [rdi + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x14001b0fe
nop dword [rax]
cmp qword [rax + 0x10], rbx
je 0x14001b108
mov rax, qword [rax]
test rax, rax
jne 0x14001b0f0
lea rdx, [rsp + 0x28]
call fcn.14000ecc0
lea rcx, [rdi + 0x20]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
nop
mov rax, rbx
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop rdi
ret