Function at 0x140019880
Capabilities:
Print debug messages
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
mov eax, 0x16c0
call fcn.14011c260
sub rsp, rax
mov rax, qword [0x14016adb0]
xor rax, rsp
mov qword [rsp + 0x16b0], rax
mov rsi, rcx
mov rcx, qword [rcx + 0x110]
xor ebx, ebx
test rcx, rcx
je 0x140019971
mov qword [rsp + 0x30], rbx
lea r8d, [rbx + 3]
add rcx, 4
xor r9d, r9d
mov edx, 0xc0000000
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
mov rdi, rax
jne 0x1400198ff
lea rcx, str.GetHDAudioCPUType:_CreateFile:_INVALID_HANDLE_VALUE_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x140019971
mov qword [rsp + 0x38], rbx
lea rax, [rsp + 0x40]
xor r9d, r9d
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x870]
xor r8d, r8d
mov edx, 0x1d6044
mov rcx, rdi
mov dword [rsp + 0x28], 0x808
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rcx, rdi
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
jne 0x140019957
lea rcx, str.GetHDAudioCPUType:_DeviceIoControl:_IOCTL_HDAUD_GET_CPUINFO_failed_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor ebx, ebx
jmp 0x140019971
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0x870]
mov r8d, 0x808
call fcn.1400fd180
xor ebx, ebx
lea r12, [rsi + 0x27568]
lea rdi, str.OPTIONS
test r12, r12
je 0x140019a3f
lea r8, str.SYSTEMCurrentControlSetServicesVIA_HD_Audio_Codec_DefaultVDeckINI
lea rdx, str._s_s_s_
lea rcx, [rsp + 0x1080]
mov r9, r12
mov dword [rsp + 0x40], 0x104
mov qword [rsp + 0x20], rdi
call fcn.14001e4d0
lea r11, [rsp + 0x48]
lea rdx, [rsp + 0x1080]
mov r9d, 1
xor r8d, r8d
mov rcx, 0xffffffff80000001
mov qword [rsp + 0x20], r11
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x1400199e4
mov r13d, ebx
jmp 0x140019a42
mov rcx, qword [rsp + 0x48]
lea rax, [rsp + 0x40]
lea rdx, str.CPU_Section_Num
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x1290]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x48]
mov ebx, eax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
je 0x140019a2b
xor ebx, ebx
mov r13d, ebx
jmp 0x140019a42
lea rcx, [rsp + 0x1290]
call fcn.1400fa6e0
xor ebx, ebx
mov r13d, eax
jmp 0x140019a42
mov r13d, ebx
mov ebp, 1
cmp r13d, ebp
jl 0x140019df3
mov qword [rsp + 0x16f8], r14
mov r14d, dword [rsp + 0x864]
mov qword [rsp + 0x1700], r15
mov r15d, dword [rsp + 0x60]
nop
lea r8, str.CPU__d_Type
lea rcx, [rsp + 0x1080]
mov r9d, ebp
mov edx, 0x104
call fcn.1400fa580
test r12, r12
je 0x140019b4a
lea r8, str.SYSTEMCurrentControlSetServicesVIA_HD_Audio_Codec_DefaultVDeckINI
lea rdx, str._s_s_s_
lea rcx, [rsp + 0x1290]
mov r9, r12
mov dword [rsp + 0x40], 0x104
mov qword [rsp + 0x20], rdi
call fcn.14001e4d0
lea r11, [rsp + 0x48]
lea rdx, [rsp + 0x1290]
mov r9d, 1
xor r8d, r8d
mov rcx, 0xffffffff80000001
mov qword [rsp + 0x20], r11
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x140019af0
mov esi, ebx
jmp 0x140019b4c
mov rcx, qword [rsp + 0x48]
lea rax, [rsp + 0x40]
lea rdx, [rsp + 0x1080]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x14a0]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x48]
mov ebx, eax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
je 0x140019b37
xor ebx, ebx
mov esi, ebx
jmp 0x140019b4c
lea rcx, [rsp + 0x14a0]
call fcn.1400fa6e0
xor ebx, ebx
mov esi, eax
jmp 0x140019b4c
mov esi, ebx
lea r8, str.CPU__d_Clock
lea rcx, [rsp + 0x1080]
mov r9d, ebp
mov edx, 0x104
call fcn.1400fa580
test r12, r12
je 0x140019c26
lea r8, str.SYSTEMCurrentControlSetServicesVIA_HD_Audio_Codec_DefaultVDeckINI
lea rdx, str._s_s_s_
lea rcx, [rsp + 0x14a0]
mov r9, r12
mov dword [rsp + 0x40], 0x104
mov qword [rsp + 0x20], rdi
call fcn.14001e4d0
lea r11, [rsp + 0x50]
lea rdx, [rsp + 0x14a0]
mov r9d, 1
xor r8d, r8d
mov rcx, 0xffffffff80000001
mov qword [rsp + 0x20], r11
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x140019bcc
mov edi, ebx
jmp 0x140019c28
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x40]
lea rdx, [rsp + 0x1080]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x1290]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x50]
mov ebx, eax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
je 0x140019c13
xor ebx, ebx
mov edi, ebx
jmp 0x140019c28
lea rcx, [rsp + 0x1290]
call fcn.1400fa6e0
xor ebx, ebx
mov edi, eax
jmp 0x140019c28
mov edi, ebx
lea r8, str.CPU__d_Support_SampleRate
lea rcx, [rsp + 0x1080]
mov r9d, ebp
mov edx, 0x104
call fcn.1400fa580
test r12, r12
je 0x140019d09
lea rax, str.OPTIONS
lea r8, str.SYSTEMCurrentControlSetServicesVIA_HD_Audio_Codec_DefaultVDeckINI
lea rdx, str._s_s_s_
lea rcx, [rsp + 0x14a0]
mov r9, r12
mov dword [rsp + 0x40], 0x104
mov qword [rsp + 0x20], rax
call fcn.14001e4d0
lea r11, [rsp + 0x58]
lea rdx, [rsp + 0x14a0]
mov r9d, 1
xor r8d, r8d
mov rcx, 0xffffffff80000001
mov qword [rsp + 0x20], r11
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x140019caf
mov ecx, ebx
jmp 0x140019d0b
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0x40]
lea rdx, [rsp + 0x1080]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x1290]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x58]
mov ebx, eax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
je 0x140019cf6
xor ebx, ebx
mov ecx, ebx
jmp 0x140019d0b
lea rcx, [rsp + 0x1290]
call fcn.1400fa6e0
xor ebx, ebx
mov ecx, eax
jmp 0x140019d0b
mov ecx, ebx
cmp r15d, esi
jne 0x140019dd0
cmp r14d, edi
jbe 0x140019d21
test edi, edi
jne 0x140019dd0
cmp cx, 0x7d00
jae 0x140019d4b
lea rax, [0x14018d2e0]
lea rdx, [0x14018d5a0]
nop
nop
nop
mov dword [rax], ebx
add rax, 0x2c
cmp rax, rdx
jl 0x140019d40
cmp cx, 0xac44
jae 0x140019d6b
lea rax, [0x14018d2e4]
lea rdx, [0x14018d5a4]
mov dword [rax], ebx
add rax, 0x2c
cmp rax, rdx
jl 0x140019d60
cmp cx, 0xbb80
jae 0x140019d8b
lea rax, [0x14018d2e8]
lea rdx, str.ViaLineInCaptureWave
mov dword [rax], ebx
add rax, 0x2c
cmp rax, rdx
jl 0x140019d80
movzx edx, cx
cmp edx, 0x17700
jge 0x140019daf
lea rax, [0x14018d2f0]
lea rcx, str.ViaMicInCaptureWave
mov dword [rax], ebx
add rax, 0x2c
cmp rax, rcx
jl 0x140019da4
cmp edx, 0x2ee00
jge 0x140019dd0
lea rax, [0x14018d2f8]
lea rcx, str.ViaFrontMicCaptureWave
mov dword [rax], ebx
add rax, 0x2c
cmp rax, rcx
jl 0x140019dc5
add ebp, 1
lea rdi, str.OPTIONS
cmp ebp, r13d
jle 0x140019a70
mov r15, qword [rsp + 0x1700]
mov r14, qword [rsp + 0x16f8]
mov rcx, qword [rsp + 0x16b0]
xor rcx, rsp
call fcn.1400f9790
mov rbx, qword [rsp + 0x1708]
add rsp, 0x16c0
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret