Function at 0x140037490
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x90
mov rbx, rcx
lea rsi, [rcx + 0x28]
mov rcx, rsi
call fcn.1400028b4
lea r13, [rbx + 0x18]
mov rcx, r13
call fcn.1400028b4
lea r15, [rbx + 0x20]
mov rcx, r15
call fcn.1400028b4
lea rax, [rbx + 0x30]
mov qword [rbp + 0x77], rax
mov rcx, rax
call fcn.1400028b4
mov ecx, 0x7d0
call fcn.140003e48
mov rbx, rax
xor edi, edi
mov r12d, edi
mov qword [rbp - 0x39], rdi
mov dword [rbp - 0x31], edi
mov qword [rbp - 0x29], rdi
mov qword [rbp + 0x67], rdi
lea rax, [rbp + 0x67]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionUninstallF132AF7F_7BCA_4EDE_8A7C_958108FE7DBC
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea r14, [rdi - 1]
test eax, eax
jne 0x1400375c5
mov r12, qword [rbp + 0x67]
mov qword [rbp - 0x39], r12
mov dword [rbp - 0x31], edi
mov dword [rbp + 0x67], 0x7d0
lea rax, [rbp + 0x67]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x6f]
xor r8d, r8d
lea rdx, str.DisplayVersion
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140037c2e
mov eax, dword [rbp + 0x6f]
dec eax
cmp eax, 1
ja 0x140037c2e
test rbx, rbx
je 0x140037c2e
mov eax, dword [rbp + 0x67]
test eax, eax
je 0x140037c26
test al, 1
jne 0x1400375a9
shr rax, 1
cmp word [rbx + rax*2 - 2], di
je 0x140037c2e
mov rcx, rsi
mov rax, r14
nop
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400375b0
mov r8d, eax
mov rdx, rbx
call fcn.140002aa8
mov rax, qword [rsi]
cmp dword [rax - 0x10], 0
jne 0x1400376a8
mov qword [rbp + 0x67], rdi
lea rax, [rbp + 0x67]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SoftwareWow6432NodeMicrosoftWindowsCurrentVersionUninstallF132AF7F_7BCA_4EDE_8A7C_958108FE7DBC
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400376a8
mov eax, edi
test r12, r12
je 0x140037614
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rbp + 0x67]
mov qword [rbp - 0x39], rcx
mov dword [rbp - 0x31], edi
test eax, eax
jne 0x1400376a8
mov dword [rbp + 0x67], 0x7d0
lea rax, [rbp + 0x67]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x6f]
xor r8d, r8d
lea rdx, str.DisplayVersion
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140037c49
mov eax, dword [rbp + 0x6f]
dec eax
cmp eax, 1
ja 0x140037c49
test rbx, rbx
je 0x140037c52
mov eax, dword [rbp + 0x67]
test eax, eax
je 0x140037c41
test al, 1
jne 0x14003768d
shr rax, 1
cmp word [rbx + rax*2 - 2], 0
je 0x140037c49
mov rax, r14
inc rax
cmp word [rbx + rax*2], 0
jne 0x140037690
mov r8d, eax
mov rdx, rbx
mov rcx, rsi
call fcn.140002aa8
mov r12, rdi
mov qword [rbp - 0x21], rdi
mov dword [rbp - 0x19], edi
mov qword [rbp - 0x11], rdi
mov qword [rbp + 0x67], rdi
lea rax, [rbp + 0x67]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SoftwareIDTAudio
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140037777
mov r12, qword [rbp + 0x67]
mov qword [rbp - 0x21], r12
mov dword [rbp - 0x19], edi
mov dword [rbp + 0x67], 0x7d0
lea rax, [rbp + 0x67]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x6f]
xor r8d, r8d
lea rdx, [0x1402c8438]
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140037c61
mov eax, dword [rbp + 0x6f]
dec eax
cmp eax, 1
ja 0x140037c61
test rbx, rbx
je 0x140037c61
mov eax, dword [rbp + 0x67]
test eax, eax
je 0x140037c59
test al, 1
jne 0x14003775c
shr rax, 1
cmp word [rbx + rax*2 - 2], 0
je 0x140037c61
mov rcx, r15
mov rax, r14
inc rax
cmp word [rbx + rax*2], 0
jne 0x140037762
mov r8d, eax
mov rdx, rbx
call fcn.140002aa8
mov rax, qword [r15]
cmp dword [rax - 0x10], 0
jne 0x140037868
mov qword [rbp + 0x67], rdi
lea rax, [rbp + 0x67]
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
xor r8d, r8d
lea rdx, str.SoftwareIDTAudio
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140037868
mov eax, edi
test r12, r12
je 0x1400377c6
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r12, qword [rbp + 0x67]
mov qword [rbp - 0x21], r12
mov dword [rbp - 0x19], 0x100
test eax, eax
jne 0x140037868
mov dword [rbp + 0x67], 0x7d0
lea rax, [rbp + 0x67]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x6f]
xor r8d, r8d
lea rdx, [0x1402c8438]
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140037c7c
mov eax, dword [rbp + 0x6f]
dec eax
cmp eax, 1
ja 0x140037c7c
test rbx, rbx
je 0x140037c85
mov eax, dword [rbp + 0x67]
test eax, eax
je 0x140037c74
test al, 1
jne 0x140037846
shr rax, 1
cmp word [rbx + rax*2 - 2], 0
je 0x140037c7c
mov rax, r14
nop dword [rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x140037850
mov r8d, eax
mov rdx, rbx
mov rcx, r15
call fcn.140002aa8
mov r15, rdi
mov qword [rbp - 9], rdi
mov dword [rbp - 1], edi
mov qword [rbp + 7], rdi
mov qword [rbp + 0x67], rdi
lea rax, [rbp + 0x67]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SoftwareAnalog_DevicesSoundMAX
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140037937
mov r15, qword [rbp + 0x67]
mov qword [rbp - 9], r15
mov dword [rbp - 1], edi
mov dword [rbp + 0x67], 0x7d0
lea rax, [rbp + 0x67]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x6f]
xor r8d, r8d
lea rdx, [0x1402c8438]
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140037c94
mov eax, dword [rbp + 0x6f]
dec eax
cmp eax, 1
ja 0x140037c94
test rbx, rbx
je 0x140037c94
mov eax, dword [rbp + 0x67]
test eax, eax
je 0x140037c8c
test al, 1
jne 0x14003791c
shr rax, 1
cmp word [rbx + rax*2 - 2], 0
je 0x140037c94
mov rcx, r13
mov rax, r14
inc rax
cmp word [rbx + rax*2], 0
jne 0x140037922
mov r8d, eax
mov rdx, rbx
call fcn.140002aa8
mov rax, qword [r13]
cmp dword [rax - 0x10], 0
jne 0x140037a1e
mov qword [rbp + 0x67], rdi
lea rax, [rbp + 0x67]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SoftwareWow6432NodeAnalog_DevicesSoundMAX
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140037a1e
mov eax, edi
test r15, r15
je 0x140037987
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r15, qword [rbp + 0x67]
mov qword [rbp - 9], r15
mov dword [rbp - 1], edi
test eax, eax
jne 0x140037a1e
mov dword [rbp + 0x67], 0x7d0
lea rax, [rbp + 0x67]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x6f]
xor r8d, r8d
lea rdx, [0x1402c8438]
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140037caf
mov eax, dword [rbp + 0x6f]
dec eax
cmp eax, 1
ja 0x140037caf
test rbx, rbx
je 0x140037cb8
mov eax, dword [rbp + 0x67]
test eax, eax
je 0x140037ca7
test al, 1
jne 0x140037a03
shr rax, 1
cmp word [rbx + rax*2 - 2], 0
je 0x140037caf
mov rax, r14
inc rax
cmp word [rbx + rax*2], 0
jne 0x140037a06
mov r8d, eax
mov rdx, rbx
mov rcx, r13
call fcn.140002aa8
mov rsi, rdi
mov dword [rbp + 0x17], edi
mov qword [rbp + 0x1f], rdi
mov qword [rbp + 0x67], rdi
lea rax, [rbp + 0x67]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SoftwareSigmaTelAudio
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140037aea
mov rsi, qword [rbp + 0x67]
mov qword [rbp + 0xf], rsi
mov dword [rbp + 0x17], edi
mov dword [rbp + 0x67], 0x7d0
lea rax, [rbp + 0x67]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x6f]
xor r8d, r8d
lea rdx, [0x1402c8438]
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140037cc7
mov eax, dword [rbp + 0x6f]
dec eax
cmp eax, 1
ja 0x140037cc7
test rbx, rbx
je 0x140037cc7
mov eax, dword [rbp + 0x67]
test eax, eax
je 0x140037cbf
test al, 1
jne 0x140037ace
shr rax, 1
cmp word [rbx + rax*2 - 2], 0
je 0x140037cc7
mov rcx, qword [rbp + 0x77]
mov rax, r14
inc rax
cmp word [rbx + rax*2], 0
jne 0x140037ad5
mov r8d, eax
mov rdx, rbx
call fcn.140002aa8
mov r13, qword [rbp + 0x77]
mov rax, qword [r13]
cmp dword [rax - 0x10], 0
jne 0x140037bcd
mov qword [rbp + 0x67], rdi
lea rax, [rbp + 0x67]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SoftwareWow6432NodeSigmaTelAudio
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140037bcd
mov eax, edi
test rsi, rsi
je 0x140037b3e
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rsi, qword [rbp + 0x67]
mov qword [rbp + 0xf], rsi
mov dword [rbp + 0x17], edi
test eax, eax
jne 0x140037bcd
mov dword [rbp + 0x67], 0x7d0
lea rax, [rbp + 0x67]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x6f]
xor r8d, r8d
lea rdx, [0x1402c8438]
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140037baa
mov eax, dword [rbp + 0x6f]
dec eax
cmp eax, 1
ja 0x140037baa
test rbx, rbx
je 0x140037bbe
mov eax, dword [rbp + 0x67]
test eax, eax
je 0x140037cdb
test al, 1
jne 0x140037bb0
shr rax, 1
cmp word [rbx + rax*2 - 2], 0
jne 0x140037bb0
test rbx, rbx
je 0x140037bbe
nop
inc r14
cmp word [rbx + r14*2], 0
jne 0x140037bb0
mov edi, r14d
mov r8d, edi
mov rdx, rbx
mov rcx, r13
call fcn.140002aa8
nop
test rsi, rsi
je 0x140037bdc
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
test r15, r15
je 0x140037beb
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
test r12, r12
je 0x140037bfa
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rcx, qword [rbp - 0x39]
test rcx, rcx
je 0x140037c09
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov al, 1
mov rbx, qword [rsp + 0xe8]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov word [rbx], di
jmp 0x1400375a9
mov rcx, rsi
test rbx, rbx
jne 0x1400375ac
mov eax, edi
jmp 0x1400375ba
mov word [rbx], di
jmp 0x14003768d
test rbx, rbx
jne 0x14003768d
mov eax, edi
jmp 0x14003769a
mov word [rbx], di
jmp 0x14003775c
mov rcx, r15
test rbx, rbx
jne 0x14003775f
mov eax, edi
jmp 0x14003776c
mov word [rbx], di
jmp 0x140037846
test rbx, rbx
jne 0x140037846
mov eax, edi
jmp 0x14003785a
mov word [rbx], di
jmp 0x14003791c
mov rcx, r13
test rbx, rbx
jne 0x14003791f
mov eax, edi
jmp 0x14003792c
mov word [rbx], di
jmp 0x140037a03
test rbx, rbx
jne 0x140037a03
mov eax, edi
jmp 0x140037a10
mov word [rbx], di
jmp 0x140037ace
mov rcx, qword [rbp + 0x77]
test rbx, rbx
jne 0x140037ad2
mov eax, edi
jmp 0x140037adf
mov word [rbx], di
jmp 0x140037bb0