Function at 0x1400adab0
Capabilities:
Query or enumerate registry value

Disassembly:
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1530
call fcn.14011c260
sub rsp, rax
mov qword [rsp + 0x88], 0xfffffffffffffffe
mov qword [rsp + 0x1568], rbx
mov qword [rsp + 0x1570], rbp
mov qword [rsp + 0x1578], rsi
mov rax, qword [0x14016adb0]
xor rax, rsp
mov qword [rsp + 0x1520], rax
mov rsi, rcx
xor r13d, r13d
mov ebp, r13d
nop
nop
nop
mov rcx, qword [rsi + 0x110]
add rcx, 0xa88
mov r8d, 1
mov edx, ebp
call fcn.140087d00
movsxd rdi, eax
mov rbx, qword [rsi + 0x110]
cmp dword [rbx + 0x8b4], 0
je 0x1400adc56
cmp dword [rbx + 0x874], 0
je 0x1400adc56
xor edx, edx
mov r8d, 0x828
lea rcx, [rsp + 0x8d0]
call fcn.1400fce30
test edi, edi
js 0x1400adbd9
mov rax, rdi
cmp rdi, qword [rbx + 0xac0]
jge 0x1400adbd9
cmp rax, qword [rbx + 0xac0]
jge 0x1400adb9b
test edi, edi
js 0x1400adb9b
mov rcx, qword [rbx + 0xab0]
test edi, edi
je 0x1400adb9e
nop
sub rax, 1
mov rcx, qword [rcx]
jne 0x1400adb90
jmp 0x1400adb9e
mov rcx, r13
mov rdx, qword [rcx + 0x10]
test rdx, rdx
jne 0x1400adbc4
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x8d0]
mov r8d, 0x828
call fcn.1400fd180
jmp 0x1400adbf4
lea rcx, [rsp + 0xa0]
mov r8d, 0x828
call fcn.1400fd180
jmp 0x1400adbf4
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x8d0]
mov r8d, 0x828
call fcn.1400fd180
cmp dword [rbx + 0x8b4], 0
je 0x1400adc56
mov ecx, dword [rsp + 0x4b4]
sub ecx, 8
je 0x1400adc44
sub ecx, 1
je 0x1400adc56
sub ecx, 1
je 0x1400adc30
cmp ecx, 2
jne 0x1400adc56
cmp dword [rbx + 0xa98], 0
je 0x1400adc56
cmp dword [rbx + 0x214b4], 0
je 0x1400adcb2
jmp 0x1400adc56
cmp dword [rbx + 0xa94], 0
je 0x1400adc56
cmp dword [rbx + 0x21500], 0
je 0x1400adcb2
jmp 0x1400adc56
cmp dword [rbx + 0xa90], 0
je 0x1400adc56
cmp dword [rbx + 0x2154c], 0
je 0x1400adcb2
cmp edi, 0xffffffff
je 0x1400adcb2
mov ecx, 0x30d0
call fcn.1400c909c
mov qword [rsp + 0x30], rax
test rax, rax
je 0x1400adc7c
mov rcx, rax
call fcn.140027200
mov rbx, rax
jmp 0x1400adc7f
mov rbx, r13
xor r8d, r8d
mov edx, 0x8b
mov rcx, rbx
call fcn.1400dc57c
mov r11, qword [rsi + 0x110]
mov qword [rbx + 0x980], r11
mov dword [rbx + 0x14c], edi
lea rcx, [rsi + 0x140]
mov rdx, rbx
call fcn.1400dc09c
add ebp, 1
cmp ebp, 0x10
jl 0x1400adb10
lea rcx, [rsi + 0x140]
call fcn.1400daae8
test eax, eax
jne 0x1400add6c
mov ecx, 0x110
call fcn.1400c909c
mov qword [rsp + 0x30], rax
test rax, rax
je 0x1400adcf1
mov rcx, rax
call fcn.1400dc584
mov r13, rax
xor r8d, r8d
mov edx, 0x8b
mov rcx, r13
call fcn.1400dc57c
mov rdx, r13
lea rcx, [rsi + 0x140]
call fcn.1400dc09c
mov r11, qword [rsi + 0x140]
xor r9d, r9d
mov r8d, 0x50000000
mov rdx, rsi
lea rcx, [rsi + 0x140]
call qword [r11 + 0x268]
xor edx, edx
lea rcx, [rsi + 0x140]
call fcn.1400dac78
test r13, r13
je 0x1400add53
mov rax, qword [r13]
mov edx, 1
mov rcx, r13
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
mov rax, qword [rsi + 0x140]
lea rcx, [rsi + 0x140]
call qword [rax + 0xc0]
jmp 0x1400ae1cb
lea rdx, [rsp + 0x90]
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_GetWindowRect]
lea rdx, [rsp + 0x78]
mov rcx, qword [rsi + 0x330]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [rsp + 0x80]
sub edx, dword [rsp + 0x90]
sub edx, 7
mov dword [rsp + 0x20], 0x226
mov r9d, 0x244
xor r8d, r8d
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_SetRect]
lea rcx, [rsi + 0x28c]
lea rdx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_CopyRect]
xor edx, edx
lea rcx, [rsi + 0x140]
call fcn.1400da1a4
mov r11, qword [rsi + 0x140]
xor r9d, r9d
mov r8d, 0x50000000
mov rdx, rsi
lea rcx, [rsi + 0x140]
call qword [r11 + 0x268]
xor r9d, r9d
xor edx, edx
mov r8d, 0x10000
lea rcx, [rsi + 0x140]
call fcn.1400dc8ac
xor r9d, r9d
xor edx, edx
mov r8d, 0x10000
lea rcx, [rsi + 0x140]
call fcn.1400dc87c
mov dword [rsi + 0x2d8], 1
mov ebx, r13d
lea rcx, [rsi + 0x140]
call fcn.1400daae8
test eax, eax
jle 0x1400ade71
nop
nop
mov edx, ebx
lea rcx, [rsi + 0x140]
call fcn.1400dab98
add ebx, 1
lea rcx, [rsi + 0x140]
call fcn.1400daae8
cmp ebx, eax
jl 0x1400ade50
mov r14d, r13d
mov r12, r13
lea rcx, [rsi + 0x140]
call fcn.1400daae8
test eax, eax
jle 0x1400ae1a5
lea r15, str.OPTIONS
test r12, r12
js 0x1400ae19f
cmp r12, qword [rsi + 0x258]
jge 0x1400ae19f
mov rax, qword [rsi + 0x250]
mov rcx, qword [rax + r12*8]
test rcx, rcx
je 0x1400ae199
movsxd rbp, dword [rcx + 0x14c]
mov rbx, qword [rsi + 0x110]
xor edx, edx
mov r8d, 0x828
lea rcx, [rsp + 0x8d0]
call fcn.1400fce30
test ebp, ebp
js 0x1400adf50
mov rax, rbp
cmp rbp, qword [rbx + 0xac0]
jge 0x1400adf50
cmp rax, qword [rbx + 0xac0]
jge 0x1400adf12
test ebp, ebp
js 0x1400adf12
mov rcx, qword [rbx + 0xab0]
test ebp, ebp
je 0x1400adf15
sub rax, 1
mov rcx, qword [rcx]
jne 0x1400adf07
jmp 0x1400adf15
mov rcx, r13
mov rdx, qword [rcx + 0x10]
test rdx, rdx
jne 0x1400adf3b
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x8d0]
mov r8d, 0x828
call fcn.1400fd180
jmp 0x1400adf6b
lea rcx, [rsp + 0xa0]
mov r8d, 0x828
call fcn.1400fd180
jmp 0x1400adf6b
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x8d0]
mov r8d, 0x828
call fcn.1400fd180
mov eax, dword [rsp + 0x4b4]
cmp eax, 0xa
jne 0x1400ae113
lea rdx, str.Front_Analog_In
lea rcx, [rsp + 0x2ac]
call fcn.1400fa3c0
test rax, rax
je 0x1400ae10c
mov r9, qword [rsi + 0x110]
add r9, 0x27568
je 0x1400ae17a
mov dword [rsp + 0x38], 0x104
mov qword [rsp + 0x20], r15
lea r8, str.SYSTEMCurrentControlSetServicesVIA_HD_Audio_Codec_DefaultVDeckINI
lea rdx, str._s_s_s_
lea rcx, [rsp + 0x1100]
call fcn.14001e4d0
lea r11, [rsp + 0x30]
mov qword [rsp + 0x20], r11
mov r9d, 1
xor r8d, r8d
lea rdx, [rsp + 0x1100]
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400ae17a
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x1310]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, str.VIA_GeneralInpute
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ebx, eax
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
jne 0x1400ae17a
lea rcx, [rsp + 0x1310]
call fcn.1400fa6e0
cmp eax, 7
jne 0x1400ae0b0
mov dword [rsp + 0x40], 1
mov rax, qword [rsi + 0x110]
add rax, 0x287b0
mov qword [rsp + 0x50], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x474
mov rcx, qword [rsi + 0x180]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, rax
call fcn.1400d5ba0
movsxd r8, r14d
lea r9, [rsp + 0x40]
mov edx, 0x133d
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400ae17a
cmp eax, 6
jne 0x1400ae17a
mov dword [rsp + 0x40], 1
mov rax, qword [rsi + 0x110]
add rax, 0x37968
mov qword [rsp + 0x50], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x474
mov rcx, qword [rsi + 0x180]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, rax
call fcn.1400d5ba0
movsxd r8, r14d
lea r9, [rsp + 0x40]
mov edx, 0x133d
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400ae17a
mov eax, dword [rsp + 0x4b4]
mov dword [rsp + 0x40], 1
cdqe
lea rcx, [0x1401738c0]
movsxd rcx, dword [rcx + rax*4]
imul rcx, rcx, 0x208
mov rax, qword [rsi + 0x110]
lea rcx, [rcx + rax + 0x27978]
mov qword [rsp + 0x50], rcx
xor r9d, r9d
xor r8d, r8d
mov edx, 0x474
mov rcx, qword [rsi + 0x180]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, rax
call fcn.1400d5ba0
movsxd r8, r14d
lea r9, [rsp + 0x40]
mov edx, 0x133d
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
add r14d, 1
add r12, 1
lea rcx, [rsi + 0x140]
call fcn.1400daae8
cmp r14d, eax
jl 0x1400ade92
jmp 0x1400ae1a5
call fcn.1400d1dcc
int3
call fcn.1400d1dcc
int3
mov rcx, rsi
call fcn.1400afd50
lea rcx, [rsi + 0x140]
call fcn.1400daae8
test eax, eax
jle 0x1400ae1cb
xor edx, edx
lea rcx, [rsi + 0x140]
call fcn.1400dab98
mov rcx, qword [rsp + 0x1520]
xor rcx, rsp
call fcn.1400f9790
lea r11, [rsp + 0x1530]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret