Function at 0x140012970
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x100
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x1400aa008]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov r14, rdx
movzx r15d, cl
xor eax, eax
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SOFTWAREWaves_AudioMaxxAudioGeneral
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140012a29
mov dword [rsp + 0x40], 4
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x48]
xor r8d, r8d
lea rdx, str.MaxxAudioOptions
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test dword [rsp + 0x30], 0x903100
setne r12b
call fcn.140012c20
cmp eax, 0x2580
setge r13b
lea rsi, [0x1400aafe0]
mov ebp, 0x49
lea r9, [0x140000000]
mov ecx, 0x40240
nop dword [rax + rax]
xor r8b, r8b
test r15b, r15b
je 0x140012a94
movsxd rdx, dword [rsi]
cmp edx, 0x13
ja case.default.0x140012a84
movzx eax, byte [r9 + rdx + 0x12c00]
mov ecx, dword [r9 + rax*4 + 0x12bf8]
add rcx, r9
jmp rcx
mov ecx, 0x40240
jmp 0x140012aa3
mov ecx, 0x40240
jmp case.default.0x140012a84
mov edx, dword [rsi]
cmp edx, 4
je 0x140012aa3
lea eax, [rdx - 0xc]
cmp eax, 2
ja case.default.0x140012a84
mov r8b, 1
test r8b, r8b
je 0x140012bb3
cmp edx, 0x12
ja 0x140012ab9
bt ecx, edx
jb 0x140012ac8
lea eax, [rdx - 0xf]
test eax, 0xfffffffa
jne 0x140012acc
cmp edx, 0x14
je 0x140012acc
movzx r8d, r13b
test r8b, r8b
je 0x140012bb3
cmp edx, 0xb
sete al
cmp al, r12b
jne 0x140012bb3
lea rax, [rsp + 0x68]
mov qword [rsp + 0x60], rax
mov r8d, 3
mov rdx, qword [rsi - 8]
lea rcx, [rsp + 0x60]
call fcn.140003b70
nop
mov rdi, qword [rsp + 0x60]
mov rax, qword [r14]
mov rcx, qword [rax + 8]
mov rbx, rax
cmp byte [rcx + 0x19], 0
jne 0x140012b37
mov edx, dword [rsi]
nop word [rax + rax]
cmp dword [rcx + 0x20], edx
jge 0x140012b2b
mov rcx, qword [rcx + 0x10]
jmp 0x140012b31
mov rbx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x140012b20
cmp rbx, rax
je 0x140012b43
mov eax, dword [rbx + 0x20]
cmp dword [rsi], eax
jge 0x140012b73
mov qword [rsp + 0x38], rsi
lea r8, [rsp + 0x38]
mov rcx, r14
call fcn.140014ae0
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
mov r8, rbx
lea rdx, [rsp + 0x48]
mov rcx, r14
call fcn.140014b20
mov rbx, qword [rsp + 0x48]
cmp byte [rdi], 0
jne 0x140012b7d
xor r8d, r8d
jmp 0x140012b8b
or r8, 0xffffffffffffffff
inc r8
cmp byte [rdi + r8], 0
jne 0x140012b81
lea rcx, [rbx + 0x28]
mov rdx, rdi
call fcn.140003890
nop
lea rax, [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
cmp rcx, rax
je 0x140012bac
call fcn.14005392c
lea r9, [0x140000000]
add rsi, 0x18
sub rbp, 1
mov ecx, 0x40240
jne 0x140012a60
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.140030090
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret