Function at 0x1400184b0
Capabilities:
Print debug messages

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x50
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov r14, rdx
mov rbx, rcx
test rdx, rdx
jne 0x1400184f4
lea r8, str.AudioDevice.cpp
mov edx, 0x397
lea rcx, str._VCpl__RETURN_FALSE_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
xor eax, eax
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov qword [rcx + 0x90], r14
xor esi, esi
cmp dword [rcx + 0x428], esi
jne 0x1400185fe
mov qword [rsp + 0x98], rsi
mov dword [rsp + 0x88], 0x64
lea rax, [rsp + 0x98]
mov qword [rsp + 0x20], rax
lea r9, [0x1403465a8]
xor edx, edx
lea r8d, [rsi + 0x17]
lea rcx, [0x1403465c8]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14001857d
mov edx, 0x715
mov r9d, eax
lea r8, str.AudioDevice.cpp
lea rcx, str._VCpl__RETURN_FALSE_ON_ERROR:_Line___d__File___s__hr__0x_X_n
call fcn.140055180
nop
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x140018576
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, esi
jmp 0x140018603
mov rcx, qword [rsp + 0x98]
mov rax, qword [rcx]
mov r8d, esi
cmp dword [rbx + 0x168], esi
sete r8b
mov rdx, qword [rbx + 0x118]
call qword [rax + 0x38]
test eax, eax
jns 0x1400185aa
mov edx, 0x717
jmp 0x14001854c
mov rcx, qword [rsp + 0x98]
mov rax, qword [rcx]
lea r8, [rbx + 0x304]
lea r9, [rsp + 0x88]
mov edx, 3
call qword [rax + 0x40]
test eax, eax
jns 0x1400185da
mov edx, 0x719
jmp 0x14001854c
mov rcx, rbx
call fcn.1400191f0
mov rcx, rbx
call fcn.140019540
nop
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x1400185fe
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, 1
mov dword [rbx + 0x428], eax
call fcn.1400f9930
mov rcx, rax
test rax, rax
je 0x140018d0c
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x90], rax
lea rbp, [0x140345b70]
mov rdx, rbp
lea rcx, [rsp + 0x90]
call fcn.140015a40
or rdi, 0xffffffffffffffff
test al, al
jne 0x14001866f
mov rax, rdi
nop
inc rax
cmp word [rbp + rax*2], 0
jne 0x140018650
mov r8d, eax
mov rdx, rbp
lea rcx, [rsp + 0x90]
call fcn.1400105e0
nop
mov rax, qword [rbx]
lea rdx, [rsp + 0x90]
mov rcx, rbx
call qword [rax + 0x78]
test eax, eax
jne 0x14001869e
lea r8, str.AudioDevice.cpp
mov edx, 0x6dc
lea rcx, str._VCpl__RETURN_FALSE_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
jmp 0x14001870f
movups xmm0, xmmword [0x140346860]
movaps xmmword [rsp + 0x40], xmm0
lea rbp, [rbx + 0x290]
mov dword [rsp + 0x28], 0x74
mov qword [rsp + 0x20], rbp
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x90]
call fcn.14005e2c0
test eax, eax
jne 0x1400186f4
lea r8, str.AudioDevice.cpp
mov edx, 0x6e6
lea rcx, str._VCpl__RETURN_FALSE_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
jmp 0x14001870f
cmp dword [rbx + 0x298], 0x10ec
je 0x14001870f
xor edx, edx
lea r8d, [rdx + 0x74]
mov rcx, rbp
call fcn.14029ff20
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x14001872e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, rbx
call fcn.1400171a0
test eax, eax
jne 0x14001875f
lea r8, str.AudioDevice.cpp
mov edx, 0x3d7
lea rcx, str._VCpl__RETURN_FALSE_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
xor eax, eax
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov eax, dword [rbx + 0x1d8]
dec eax
test eax, 0xfffffffd
jne 0x140018808
cmp qword [rbx + 0x380], 0
je 0x140018808
cmp qword [rbx + 0x288], 0
je 0x140018808
cmp qword [rbx + 0x388], 0
je 0x140018808
mov r8d, dword [rbx + 0x3a0]
test r8d, r8d
je 0x140018808
test dword [reloc.DSOUND.dll_DirectSoundCreate], r8d
setne sil
test dword [reloc.OLEAUT32.dll_SysReAllocString], r8d
lea eax, [rsi + 1]
cmove eax, esi
test dword [reloc.OLEAUT32.dll_SysReAllocStringLen], r8d
lea ecx, [rax + 1]
cmove ecx, eax
test dword [0x1403de688], r8d
lea eax, [rcx + 1]
cmove eax, ecx
test dword [0x1403de6a0], r8d
lea ecx, [rax + 1]
cmove ecx, eax
test dword [0x1403de6b8], r8d
lea edx, [rcx + 1]
cmove edx, ecx
test dword [0x1403de6d0], r8d
lea eax, [rdx + 1]
cmove eax, edx
cmp eax, 1
jb 0x140018808
xor edx, edx
mov rcx, rbx
call fcn.1400c0410
cmp dword [rbx + 0x168], 0
je 0x140018afd
cmp dword [rbx + 0x428], 0
je 0x140018afd
mov eax, dword [rbx + 0x314]
bt eax, 0x18
jae 0x1400188a2
test dword [rbx + 0x31c], 0x40000
je 0x140018841
mov edx, 0x1e
jmp 0x14001888a
bt eax, 0x1a
jae 0x14001884e
mov edx, SafeArrayDestroy
jmp 0x14001888a
mov eax, dword [rbx + 0x318]
test al, 4
je 0x14001885f
mov edx, 0x12
jmp 0x14001888a
bt eax, 0x1c
jae 0x14001886e
cmp dword [rbx + 0x1d8], 1
je 0x14001887e
mov rax, qword [rbx + 0x90]
cmp byte [rax + 0x1d0], 1
jne 0x140018885
mov edx, 0x1c
jmp 0x14001888a
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov rcx, rbx
call fcn.1400c0410
test byte [rbx + 0x318], 2
je 0x1400188ef
mov edx, 0x11
jmp 0x1400188e7
test dword [rbx + 0x320], 0x800000
jne 0x1400188e2
test dword [rbx + 0x324], 0x20080
jne 0x1400188e2
test dword [rbx + 0x310], 0x600
jne 0x1400188e2
mov rax, qword [rbx + 0x90]
test byte [rax + 0x1c0], 0x20
jne 0x1400188e2
test dword [rbx + 0x328], 0x3000000
je 0x1400188ef
mov edx, 0x1c
mov rcx, rbx
call fcn.1400c0410
mov eax, dword [rbx + 0x308]
test al, 0xf
jne 0x140018902
test byte [rbx + 0x310], 8
je 0x140018915
mov edx, 1
mov rcx, rbx
call fcn.1400c0410
mov eax, dword [rbx + 0x308]
test al, 0x40
je 0x14001892f
test byte [rbx + 0x3a0], 0x70
je 0x14001892f
mov edx, 4
mov rcx, rbx
call fcn.1400c0410
mov eax, dword [rbx + 0x314]
mov ecx, eax
bt eax, 0x1b
jb 0x140018962
test al, 0xe0
jne 0x14001894d
test dword [rbx + 0x318], 0x40000
je 0x140018962
mov edx, 3
mov rcx, rbx
call fcn.1400c0410
mov eax, dword [rbx + 0x314]
mov ecx, eax
mov edx, dword [rbx + 0x318]
test dl, 0x20
je 0x140018988
mov edx, 9
mov rcx, rbx
call fcn.1400c0410
mov edx, dword [rbx + 0x318]
mov eax, dword [rbx + 0x314]
mov ecx, eax
bt edx, 0x1d
jb 0x1400189d2
mov r8d, dword [rbx + 0x31c]
test r8b, 1
je 0x1400189a3
mov ecx, eax
bt eax, 0xb
jb 0x1400189d2
test r8b, 0x10
jne 0x1400189d2
test dl, 0x40
jne 0x1400189d2
bt ecx, 0xc
jae 0x1400189df
mov eax, dword [rbx + 0x1d8]
sub eax, 8
cmp eax, 1
jbe 0x1400189cb
cmp dword [rbx + 0x3a0], 2
je 0x1400189df
mov edx, 8
jmp 0x1400189d7
mov edx, 0x19
mov rcx, rbx
call fcn.1400c0410
test dword [rbx + 0x314], 0xc30000
je 0x1400189f8
mov edx, 0xa
mov rcx, rbx
call fcn.1400c0410
test dword [rbx + 0x318], 0x1700
jne 0x140018a10
test dword [rbx + 0x324], 0x200
je 0x140018a1d
mov edx, 0x13
mov rcx, rbx
call fcn.1400c0410
test dword [rbx + 0x314], 0x40000
je 0x140018a44
mov rcx, rbx
test byte [rbx + 0x31c], 0x80
mov edx, 0x1d
jne 0x140018a3f
mov edx, 0x14
call fcn.1400c0410
test byte [rbx + 0x32c], 4
je 0x140018a54
mov edx, 0x29
jmp 0x140018a65
test dword [rbx + 0x310], 0x1000
je 0x140018a6d
mov edx, 0x25
mov rcx, rbx
call fcn.1400c0410
test byte [rbx + 0x318], 1
je 0x140018a8d
test dword [r14 + 0x30], 0x400000
jne 0x140018a8d
mov edx, 0x10
mov rcx, rbx
call fcn.1400c0410
test dword [rbx + 0x320], 0x800
je 0x140018aa6
mov edx, 0x20
mov rcx, rbx
call fcn.1400c0410
test dword [rbx + 0x328], 0x84000
jne 0x140018abe
test dword [rbx + 0x32c], 0x2000000
je 0x140018acb
mov edx, 0x24
mov rcx, rbx
call fcn.1400c0410
test dword [rbx + 0x324], 0x800
jne 0x140018ae3
test dword [rbx + 0x328], 0x8000000
je 0x140018afd
lea rcx, str.add_DTS_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov edx, 0x28
mov rcx, rbx
call fcn.1400c0410
cmp dword [rbx + 0x1d8], 4
jne 0x140018c51
mov eax, dword [rbx + 0x30c]
test al, 7
jne 0x140018b4a
bt eax, 0x1a
jb 0x140018b4a
bt eax, 0x1b
jb 0x140018b4a
bt eax, 0x1c
jb 0x140018b4a
mov rcx, rbx
call fcn.14009e610
test eax, eax
jne 0x140018b4a
mov rcx, rbx
call fcn.14009e840
test eax, eax
jne 0x140018b4a
test dword [rbx + 0x30c], 0x40000
je 0x140018b65
mov rcx, rbx
test byte [rbx + 0x32c], 0x40
mov edx, 0x2a
jne 0x140018b60
mov edx, 2
call fcn.1400c0410
test dword [rbx + 0x30c], 0x800000
je 0x140018b7e
mov edx, 0x1b
mov rcx, rbx
call fcn.1400c0410
test dword [rbx + 0x320], 0x800
je 0x140018b97
mov edx, 0x20
mov rcx, rbx
call fcn.1400c0410
mov eax, dword [rbx + 0x324]
bt eax, 0x11
jb 0x140018bbb
test dword [rbx + 0x310], 0x600
jne 0x140018bbb
test dword [rbx + 0x328], 0x3000000
je 0x140018bce
mov edx, 0x1c
mov rcx, rbx
call fcn.1400c0410
mov eax, dword [rbx + 0x324]
bt eax, 0x1b
jb 0x140018bec
test dword [rbx + 0x328], 0x84000
jne 0x140018bec
test dword [rbx + 0x32c], 0x2000000
je 0x140018bf9
mov edx, 0x24
mov rcx, rbx
call fcn.1400c0410
test dword [r14 + 0x194], 0x8000
je 0x140018c13
mov edx, 0x26
mov rcx, rbx
call fcn.1400c0410
test dword [rbx + 0x310], 0x20000000
jne 0x140018c2b
test dword [rbx + 0x334], 0x400
je 0x140018c38
mov edx, 0x27
mov rcx, rbx
call fcn.1400c0410
test dword [rbx + 0x32c], 0x100
je 0x140018c51
mov edx, 0x2b
mov rcx, rbx
call fcn.1400c0410
cmp dword [rbx + 0x1d8], 8
jne 0x140018c70
cmp dword [rbx + 0x168], 0
jne 0x140018c70
mov edx, 6
mov rcx, rbx
call fcn.1400c0410
mov edx, 5
mov rcx, rbx
call fcn.1400c0410
mov rcx, rbx
call fcn.1400175c0
test eax, eax
je 0x140018c96
mov edx, 7
mov rcx, rbx
call fcn.1400c0410
cmp dword [rbx + 0x1d8], 1
jne 0x140018cc3
test dword [r14 + 0x30], 0x20000
je 0x140018cc3
test dword [r14 + 0xa8], 0x8000
je 0x140018cc3
mov edx, reloc.OLEAUT32.dll_SafeArrayDestroy
mov rcx, rbx
call fcn.1400c0410
test dword [rbx + 0x308], 0x32500000
je 0x140018cdc
mov edx, 0x18
mov rcx, rbx
call fcn.1400c0410
test byte [rbx + 0x318], 1
je 0x140018cfc
test dword [r14 + 0x30], 0x400000
je 0x140018cfc
mov edx, 0x10
mov rcx, rbx
call fcn.1400c0410
mov eax, 1
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov ecx, 0x80004005
call fcn.14000de90
int3