Function at 0x1400613a0
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x90
mov qword [rbp + 0x17], 0xfffffffffffffffe
mov qword [rsp + 0xd0], rbx
mov r13, rdx
mov rsi, rcx
lea rcx, str.CDtsHPSetting::InitSetting_start_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
test r13, r13
jne 0x140061402
lea r8, str.DtsHPSetting.cpp
lea edx, [r13 + 0x71]
lea rcx, str._VCpl__RETURN_FALSE_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
xor eax, eax
jmp 0x140061dc3
mov qword [rsi + 0x20], r13
mov rdx, r13
mov rcx, rsi
call fcn.14000f270
mov rcx, qword [rsi + 0x20]
mov rax, qword [rcx]
lea rdx, [rsi + 0x30]
call qword [rax + 0x78]
mov rax, qword [0x1403ff438]
inc dword [rax + 0x1d60]
test dword [rax + 0x1b0], 0x200
je 0x140061441
mov dword [rsi + 0x40], 1
jmp 0x140061455
test dword [r13 + 0x330], 0x8000
je 0x140061455
mov dword [rsi + 0x44], 1
test dword [rax + 0x80], 0x400
je 0x140061468
mov dword [rsi + 0x48], 1
cmp dword [rsi + 0x40], 0
je 0x14006147e
mov dword [rsi + 0x58], 0x15
lea rcx, [0x140400740]
jmp 0x14006149b
mov dword [rsi + 0x58], 9
lea rcx, [0x140400960]
lea rdx, [0x140400660]
cmp dword [rsi + 0x44], 0
cmove rcx, rdx
mov qword [rsi + 0x50], rcx
cmp dword [rsi + 0x44], 0
je 0x140061513
call fcn.1401098dc
mov rbx, qword [rax + 8]
test rbx, rbx
jne 0x1400614cd
lea r8, str.DtsHPSetting.cpp
mov edx, 0x441
lea rcx, str._VCpl__RETURN_FALSE_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
jmp 0x140061513
mov rax, qword [rbx]
xor r9d, r9d
lea r8, str.HPX_SPK_Inited
lea rdx, [0x140346438]
mov rcx, rbx
call qword [rax + 0xf8]
test eax, eax
jne 0x140061513
call fcn.140064440
mov rax, qword [rbx]
mov r9d, 1
lea r8, str.HPX_SPK_Inited
lea rdx, [0x140346438]
mov rcx, rbx
call qword [rax + 0x100]
call fcn.1400f9930
mov rcx, rax
test rax, rax
je 0x140061dde
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x21], rax
xor ebx, ebx
mov dword [rbp + 0x7f], ebx
call fcn.1400f9930
mov rcx, rax
test rax, rax
je 0x140061de9
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x39], rax
lea rdi, [0x140345b70]
mov rdx, rdi
lea rcx, [rbp - 0x39]
call fcn.140015a40
or r12, 0xffffffffffffffff
test al, al
jne 0x14006158e
mov rax, r12
inc rax
cmp word [rdi + rax*2], 0
jne 0x140061574
mov r8d, eax
mov rdx, rdi
lea rcx, [rbp - 0x39]
call fcn.1400105e0
nop
mov r14d, ebx
mov ecx, dword [r13 + 0x328]
shr ecx, 0x1b
and ecx, 1
mov dword [rsi + 0x38], ecx
mov eax, dword [r13 + 0x32c]
shr eax, 0x17
and eax, 1
mov dword [rsi + 0x3c], eax
test ecx, ecx
je 0x1400615fb
lea rax, [rsi + 0xc8]
mov qword [rsp + 0x20], rax
lea r9, [0x14034ee30]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x14034eed0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov ebx, eax
test eax, eax
jns 0x1400615ee
mov edx, 0xa8
xor r15d, r15d
jmp 0x140061d39
lea rcx, str.controller.CoCreateInstance___uuidof_DTSAPOIntelDSP__:_Success_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rdi, [rsi + 0xd0]
mov qword [rsp + 0x20], rdi
lea r9, [0x14034ee40]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x14034eec0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov ebx, eax
test eax, eax
jns 0x140061634
mov edx, 0xad
xor r15d, r15d
jmp 0x140061d39
lea rcx, str.pSRSApoSystem.CoCreateInstance___uuidof_SRSAPOSystem__:_Success_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [rdi]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x20]
mov ebx, eax
test eax, eax
jns 0x14006165f
mov edx, 0xb1
xor r15d, r15d
jmp 0x140061d39
lea rcx, str.pSRSApoSystem__InitializeSystem_:_Success_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [rdi]
mov rax, qword [rcx]
lea rdx, [rsi + 0xd8]
call qword [rax + 0x18]
mov ebx, eax
test eax, eax
jns 0x14006168f
mov edx, UnRegisterTypeLib
xor r15d, r15d
jmp 0x140061d39
mov rbx, qword [rsi + 0x20]
mov r8, qword [rbx + 0x118]
cmp dword [r8 - 8], 1
jle 0x1400616b8
mov edx, dword [r8 - 0x10]
lea rcx, [rbx + 0x118]
call fcn.14000dc90
mov r8, qword [rbx + 0x118]
lea rdx, str.m_sEndPointId__s_r_n
lea rcx, [rbp - 0x21]
call fcn.14000dfa0
mov rcx, qword [rbp - 0x21]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [rsi + 0xd8]
mov rax, qword [rcx]
lea r8, [rsi + 0xe0]
lea rdx, [0x14034eeb0]
call qword [rax]
mov r8d, eax
lea rdx, str.pSRSEpEnum__QueryInterface___uuidof_ISRSEndpointInfo___x_r_n
lea rcx, [rbp - 0x21]
call fcn.14000dfa0
mov rcx, qword [rbp - 0x21]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov r15, qword [rsi + 0xd8]
mov rbx, qword [rsi + 0x20]
mov rdx, qword [rbx + 0x118]
cmp dword [rdx - 8], 1
jle 0x140061737
mov edx, dword [rdx - 0x10]
lea rcx, [rbx + 0x118]
call fcn.14000dc90
mov rdx, qword [rbx + 0x118]
mov rax, qword [r15]
lea r8, [rsi + 0xe0]
mov rcx, r15
call qword [rax + 0x28]
mov ebx, eax
test eax, eax
jns 0x14006175a
mov edx, 0xc0
xor r15d, r15d
jmp 0x140061d39
mov rcx, qword [rsi + 0xe0]
mov rax, qword [rcx]
xor r15d, r15d
mov edx, r15d
cmp dword [rsi + 0x38], edx
setne dl
call qword [rax + 0x58]
lea rcx, str.pSRSEpInfo__SetConfig_:_Success_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [rsi + 0xe0]
mov rax, qword [rcx]
lea r8, [rsi + 0xe8]
lea rdx, [0x14034eea0]
call qword [rax]
test eax, eax
jne 0x140061c63
lea rcx, str.pSRSEpInfo__QueryInterface___uuidof_ISRSEndpointInfo5__:_Success_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [rsi + 0xe8]
mov rax, qword [rcx]
lea rdx, [rsi + 0xf0]
call qword [rax + 0x88]
mov rcx, qword [rsi + 0xe8]
mov rax, qword [rcx]
lea rdx, [rsi + 0x100]
call qword [rax + 0x48]
test eax, eax
jne 0x140061881
mov rcx, qword [rsi + 0x100]
mov rax, qword [rcx]
lea rdx, [rbp + 0x7f]
call qword [rax + 0x30]
mov rax, r12
lea rcx, [0x140345b70]
nop dword [rax]
inc rax
cmp word [rcx + rax*2], r14w
jne 0x140061800
mov r8d, eax
mov rdx, rcx
lea rcx, [rbp - 0x39]
call fcn.1400105e0
mov rcx, qword [rsi + 0x100]
mov rax, qword [rcx]
lea rdx, [rbp - 0x29]
call qword [rax + 0x20]
mov rdx, qword [rbp - 0x29]
test rdx, rdx
jne 0x140061838
mov eax, r15d
jmp 0x14006184a
mov rax, r12
nop dword [rax + rax]
inc rax
cmp word [rdx + rax*2], r14w
jne 0x140061840
mov r8d, eax
lea rcx, [rbp - 0x39]
call fcn.1400105e0
mov rcx, qword [rbp - 0x39]
add rcx, 0xffffffffffffffe8
call fcn.140015740
add rax, 0x18
mov qword [rbp - 9], rax
lea rdx, [rbp - 9]
mov rcx, rsi
call fcn.140062640
mov rcx, qword [rbp - 0x29]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rsi + 0xe8]
lea r13, [rsi + 0xf8]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x30]
mov dword [rbp + 0x77], r15d
lea rdi, [rsi + 0x108]
mov edx, 0x20
lea r8d, [rdx + 0x60]
mov rcx, rdi
call fcn.140064890
mov rbx, r15
mov qword [rbp + 7], rbx
nop dword [rax + rax]
mov qword [rbp - 0x11], r15
mov rcx, qword [r13]
mov rax, qword [rcx]
lea rdx, [rbp - 0x11]
call qword [rax + 0x18]
mov r13d, eax
mov dword [rbp - 0x31], eax
test eax, eax
jne 0x140061c21
mov rcx, qword [rbp - 0x11]
mov qword [rbp - 0x19], rcx
test rcx, rcx
je 0x1400618f3
mov rdx, qword [rcx]
call qword [rdx + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbp - 0x19]
mov qword [rbp + 0xf], rax
movsxd r13, r14d
test r14d, r14d
js 0x140061e11
cmp r13, qword [rdi + 0x10]
jl 0x14006191c
lea rdx, [r13 + 1]
mov r8, r12
mov rcx, rdi
call fcn.140064890
mov rax, qword [rdi + 8]
lea rcx, [rax + r13*8]
lea rdx, [rbp - 0x19]
call fcn.140064820
nop
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x14006193d
mov rax, qword [rcx]
call qword [rax + 0x10]
test rbx, rbx
js 0x140061e0b
cmp rbx, qword [rsi + 0x118]
jge 0x140061e0b
mov rax, qword [rsi + 0x110]
mov rcx, qword [rax + rbx*8]
mov rax, qword [rcx]
lea rdx, [rbp + 0x7f]
call qword [rax + 0x30]
xor r8d, r8d
lea rdx, [0x140345b70]
lea rcx, [rbp - 0x39]
call fcn.1400105e0
cmp rbx, qword [rsi + 0x118]
jge 0x140061e05
mov rax, qword [rsi + 0x110]
mov rcx, qword [rax + rbx*8]
mov rax, qword [rcx]
lea rdx, [rbp - 0x29]
call qword [rax + 0x20]
mov rdx, qword [rbp - 0x29]
test rdx, rdx
jne 0x1400619ab
mov eax, r15d
jmp 0x1400619ba
mov rax, r12
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400619b0
mov r8d, eax
lea rcx, [rbp - 0x39]
call fcn.1400105e0
mov rcx, qword [rbp - 0x29]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov r12, qword [rbp - 0x39]
lea rcx, [r12 - 0x18]
call fcn.140015740
lea rbx, [rax + 0x18]
mov r15d, dword [rsi + 0x58]
sub r15d, 1
js 0x140061a6c
movsxd r14, r15d
lea rdi, [r14 + r14*2]
shl rdi, 3
nop dword [rax + rax]
mov rax, qword [rsi + 0x50]
mov rdx, qword [rdi + rax]
test rdx, rdx
je 0x140061a5b
cmp dword [rbx - 0x10], 0
jl 0x140061a5b
mov rcx, rbx
call fcn.14029fa1c
test rax, rax
je 0x140061a5b
sub rax, rbx
sar rax, 1
cmp eax, 0xffffffff
je 0x140061a5b
mov rax, qword [rsi + 0x50]
mov rdx, qword [rax + rdi + 8]
test rdx, rdx
je 0x140061a5b
cmp dword [rbx - 0x10], 0
jl 0x140061a5b
mov rcx, rbx
call fcn.14029fa1c
test rax, rax
je 0x140061a5b
sub rax, rbx
sar rax, 1
cmp eax, 0xffffffff
jne 0x140061b49
dec r15d
sub rdi, 0x18
sub r14, 1
jns 0x140061a00
mov r14d, dword [rbp + 0x77]
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140061a86
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.1400f9930
mov rcx, rax
test rax, rax
je 0x140061dfa
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 1], rax
test r13, r13
js 0x140061df4
cmp r13, qword [rsi + 0x118]
jge 0x140061df4
mov rax, qword [rsi + 0x110]
lea rbx, [rax + r13*8]
cmp dword [r12 - 8], 1
jle 0x140061adc
mov edx, dword [r12 - 0x10]
lea rcx, [rbp - 0x39]
call fcn.14000dc90
mov rax, qword [rbx]
mov qword [rsp + 0x20], rax
mov rbx, qword [rbp - 0x39]
mov r9, rbx
mov r8d, r14d
lea rdx, str._RTK__DTS_get_mode___d___s_point_x_r_n
lea rcx, [rbp - 1]
call fcn.14000dfa0
mov rdi, qword [rbp - 1]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [rsi + 0x44], 0
je 0x140061be3
cmp dword [rbx - 0x10], 0
jl 0x140061be3
lea rdx, str.HPX_Off
mov rcx, rbx
call fcn.14029fa1c
test rax, rax
je 0x140061b67
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140061b67
mov dword [rsi + 0xb4], r14d
jmp 0x140061be3
movsxd rax, r15d
lea rdx, [rsi + rax*4]
mov r14d, dword [rbp + 0x77]
mov eax, r14d
cmp dword [rdx + 0x60], 0xffffffff
cmovne eax, dword [rdx + 0x60]
mov dword [rdx + 0x60], eax
jmp 0x140061a6c
cmp dword [rbx - 0x10], 0
jl 0x140061be3
lea rdx, [0x1403457f0]
mov rcx, rbx
call fcn.14029fa1c
test rax, rax
je 0x140061be3
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140061be3
cmp dword [rbx - 0x10], 0
jl 0x140061be3
lea rdx, str.Internal
mov rcx, rbx
call fcn.14029fa1c
test rax, rax
je 0x140061bb8
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140061bb8
mov dword [rsi + 0xbc], r14d
jmp 0x140061be3
cmp dword [rbx - 0x10], 0
jl 0x140061be3
lea rdx, str.External
mov rcx, rbx
call fcn.14029fa1c
test rax, rax
je 0x140061be3
sub rax, rbx
sar rax, 1
test eax, eax
js 0x140061be3
mov dword [rsi + 0xb8], r14d
inc r14d
mov dword [rbp + 0x77], r14d
mov rbx, qword [rbp + 7]
inc rbx
mov qword [rbp + 7], rbx
lea rdx, [rdi - 0x18]
or r12, 0xffffffffffffffff
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140061c13
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r13d, dword [rbp - 0x31]
lea rdi, [rsi + 0x108]
xor r15d, r15d
mov r14d, 1
mov dword [rsi + 0xc4], r14d
mov rcx, qword [rbp - 0x11]
test rcx, rcx
je 0x140061c3d
mov rax, qword [rcx]
call qword [rax + 0x10]
test r13d, r13d
jne 0x140061c52
mov r14d, dword [rbp + 0x77]
lea r13, [rsi + 0xf8]
jmp 0x1400618c0
lea rcx, str.pSRSAPOOpModeEnumerator__Next_:_Success_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov r13, qword [rbp + 0x6f]
cmp dword [rsi + 0x38], 0
je 0x140061d5e
lea rdi, [rsi + 0x130]
mov qword [rsp + 0x20], rdi
lea r9, [0x14034ee50]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x14034eed0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov ebx, eax
test eax, eax
jns 0x140061ca6
mov edx, 0x10d
xor r15d, r15d
jmp 0x140061d39
lea rcx, str.pDTSAPOIntelDSP3.CoCreateInstance____uuidof_DTSAPOIntelDSP__:_Success_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rdi, qword [rdi]
mov rbx, qword [rsi + 0x20]
mov rdx, qword [rbx + 0x118]
cmp dword [rdx - 8], 1
jle 0x140061cdd
mov edx, dword [rdx - 0x10]
lea rcx, [rbx + 0x118]
call fcn.14000dc90
mov rdx, qword [rbx + 0x118]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x58]
mov ebx, eax
mov rdi, qword [rsi + 0x20]
mov rcx, qword [rdi + 0x118]
test rcx, rcx
jne 0x140061cfd
mov eax, r15d
jmp 0x140061d0e
movsxd rdx, dword [rcx - 0xc]
call fcn.1402a58a8
test eax, eax
js 0x140061e17
mov rcx, qword [rdi + 0x118]
cmp eax, dword [rcx - 0xc]
jg 0x140061e17
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [rdi + 0x118]
mov word [rax + rcx*2], r15w
test ebx, ebx
jns 0x140061d51
mov edx, 0x112
mov r9d, ebx
lea r8, str.DtsHPSetting.cpp
lea rcx, str._VCpl__RETURN_FALSE_ON_ERROR:_Line___d__File___s__hr__0x_X_n
call fcn.140055180
jmp 0x140061d83
lea rcx, str.pDTSAPOIntelDSP3__put_dspDeviceId_:_Success_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [r13 + 0x314]
shr eax, 0xc
and eax, 1
mov dword [rsi + 0x5c], eax
je 0x140061d78
mov rcx, rsi
call fcn.140061e30
mov rcx, rsi
call fcn.140063eb0
mov r15d, r14d
mov rdx, qword [rbp - 0x39]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140061da2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x21]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
sub r12d, 1
jg 0x140061dc0
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov eax, r15d
mov rbx, qword [rsp + 0xd0]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80004005
call fcn.14000de90
nop
mov ecx, 0x80004005
call fcn.14000de90
nop
call fcn.1400f91a0
nop
mov ecx, 0x80004005
call fcn.14000de90
int3
call fcn.1400f91a0
int3
call fcn.1400f91a0
nop
call fcn.1400f91a0
nop
mov ecx, 0x80070057
call fcn.14000de90
int3