Function at 0x14000dd50
Capabilities:
Print debug messages

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov r14, rdx
mov r15, rcx
test rdx, rdx
lea rdx, str.CAudioDeviceMuteStateHandler::OnAddDevice
jne 0x14000dd9e
mov r8d, 0xd4
lea rcx, str._s__d_RETURN_ON_FALSE
mov rbx, qword [rsp + 0x60]
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbp
jmp fcn.140026f80
mov r8d, 0xd6
lea rcx, [0x140081b98]
call fcn.140026f80
xor edi, edi
or rbp, 0xffffffffffffffff
cmp dword [r15 + 0x30], edi
je 0x14000dec6
mov rbx, qword [r14 + 0x138]
call fcn.140003520
mov rcx, rax
test rax, rax
je 0x14000dfe2
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x68], rax
mov rdx, rbx
lea rcx, [rsp + 0x68]
call fcn.140004a90
test al, al
jne 0x14000de1f
test rbx, rbx
jne 0x14000de01
mov eax, edi
jmp 0x14000de0e
mov rax, rbp
inc rax
cmp word [rbx + rax*2], 0
jne 0x14000de04
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x68]
call fcn.140002f50
nop
mov rbx, qword [rsp + 0x68]
cmp dword [rbx - 0x10], 0
jge 0x14000de2e
mov esi, ebp
jmp 0x14000de4f
lea rdx, str.0.0.0.00000000
mov rcx, rbx
call fcn.14006c5dc
mov rsi, rax
test rax, rax
jne 0x14000de49
mov esi, ebp
jmp 0x14000de4f
sub rsi, rbx
sar rsi, 1
shr esi, 0x1f
xor sil, 1
lea rdx, [rbx - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000de6f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test sil, sil
je 0x14000deae
lea rcx, [r14 + 0xd0]
call fcn.14000bf50
test rax, rax
je 0x14000de95
mov r8, qword [rax]
mov edx, dword [r15 + 0x38]
mov rcx, rax
call qword [r8 + 0x10]
jmp 0x14000deae
mov r8d, 0xe3
lea rdx, str.CAudioDeviceMuteStateHandler::OnAddDevice
lea rcx, [0x140081b98]
call fcn.140026f80
call fcn.1400085d0
mov rcx, rax
mov edx, 0x3fd
mov r8d, 0xc8
call fcn.14005ea10
cmp dword [r15 + 0x2c], 0
je 0x14000dfd1
mov rbx, qword [r14 + 0x138]
call fcn.140003520
mov rcx, rax
test rax, rax
je 0x14000dfed
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x70], rax
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.140004a90
test al, al
jne 0x14000df2c
test rbx, rbx
je 0x14000df1b
mov rdi, rbp
inc rdi
cmp word [rbx + rdi*2], 0
jne 0x14000df11
mov r8d, edi
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.140002f50
nop
mov rbx, qword [rsp + 0x70]
cmp dword [rbx - 0x10], 0
jge 0x14000df3b
mov edi, ebp
jmp 0x14000df5c
lea rdx, str.0.0.1.00000000
mov rcx, rbx
call fcn.14006c5dc
mov rdi, rax
test rax, rax
jne 0x14000df56
mov edi, ebp
jmp 0x14000df5c
sub rdi, rbx
sar rdi, 1
shr edi, 0x1f
xor dil, 1
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], ebp
sub ebp, 1
jg 0x14000df7a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test dil, dil
je 0x14000dfb9
lea rcx, [r14 + 0xd0]
call fcn.14000bf50
test rax, rax
je 0x14000dfa0
mov r8, qword [rax]
mov edx, dword [r15 + 0x34]
mov rcx, rax
call qword [r8 + 0x10]
jmp 0x14000dfb9
mov r8d, 0xf5
lea rdx, str.CAudioDeviceMuteStateHandler::OnAddDevice
lea rcx, [0x140081b98]
call fcn.140026f80
call fcn.1400085d0
mov rcx, rax
mov edx, 0x3fe
mov r8d, 0xc8
call fcn.14005ea10
mov rbx, qword [rsp + 0x60]
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80004005
call fcn.140003270
int3
mov ecx, 0x80004005
call fcn.140003270
int3