Function at 0x14003eb40
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xa0
mov qword [rbp + 0x17], 0xfffffffffffffffe
mov qword [rsp + 0xf8], rbx
mov rbx, rcx
lea rsi, [rcx + 0x28]
mov rcx, rsi
call fcn.1400028b4
lea r13, [rbx + 0x18]
mov rcx, r13
call fcn.1400028b4
lea r14, [rbx + 0x20]
mov rcx, r14
call fcn.1400028b4
lea rax, [rbx + 0x30]
mov qword [rbp + 0x77], rax
mov rcx, rax
call fcn.1400028b4
mov ecx, 0x7d0
call fcn.14008ba98
mov rbx, rax
xor r15d, r15d
mov qword [rbp - 0x49], r15
mov dword [rbp - 0x41], r15d
mov qword [rbp - 0x39], r15
mov r9d, 0x20019
lea r8, str.SoftwareMicrosoftWindowsCurrentVersionUninstallF132AF7F_7BCA_4EDE_8A7C_958108FE7DBC
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x49]
call fcn.14003e230
lea rdi, [r15 - 1]
mov r12, qword [rbp - 0x49]
test eax, eax
jne 0x14003ec58
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 0x14003ec2d
mov eax, dword [rbp + 0x6f]
dec eax
cmp eax, 1
ja 0x14003ec2d
test rbx, rbx
je 0x14003ec32
cmp dword [rbp + 0x67], r15d
jne 0x14003ec2d
mov word [rbx], r15w
test rbx, rbx
jne 0x14003ec37
mov eax, r15d
jmp 0x14003ec4a
mov rax, rdi
nop word [rax + rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x14003ec40
mov r8d, eax
mov rdx, rbx
mov rcx, rsi
call fcn.140002a7c
mov rax, qword [rsi]
cmp dword [rax - 0x10], 0
jne 0x14003ecf8
mov r9d, 0x20019
lea r8, str.SoftwareWow6432NodeMicrosoftWindowsCurrentVersionUninstallF132AF7F_7BCA_4EDE_8A7C_958108FE7DBC
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x49]
call fcn.14003e230
mov r12, qword [rbp - 0x49]
test eax, eax
jne 0x14003ecf8
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 0x14003ecd3
mov eax, dword [rbp + 0x6f]
dec eax
cmp eax, 1
ja 0x14003ecd3
test rbx, rbx
je 0x14003ecd8
cmp dword [rbp + 0x67], 0
jne 0x14003ecd3
mov word [rbx], r15w
test rbx, rbx
jne 0x14003ecdd
mov eax, r15d
jmp 0x14003ecea
mov rax, rdi
inc rax
cmp word [rbx + rax*2], 0
jne 0x14003ece0
mov r8d, eax
mov rdx, rbx
mov rcx, rsi
call fcn.140002a7c
xor esi, esi
mov qword [rbp - 1], rsi
mov dword [rbp + 7], esi
mov qword [rbp + 0xf], rsi
mov r9d, 0x20019
lea r8, str.SoftwareIDTAudio
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 1]
call fcn.14003e230
mov r15, qword [rbp - 1]
test eax, eax
jne 0x14003ed98
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, [0x1402f44f8]
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14003ed71
mov eax, dword [rbp + 0x6f]
dec eax
cmp eax, 1
ja 0x14003ed71
test rbx, rbx
je 0x14003ed76
cmp dword [rbp + 0x67], esi
jne 0x14003ed71
mov word [rbx], si
test rbx, rbx
jne 0x14003ed7a
mov eax, esi
jmp 0x14003ed8a
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x14003ed80
mov r8d, eax
mov rdx, rbx
mov rcx, r14
call fcn.140002a7c
mov rax, qword [r14]
cmp dword [rax - 0x10], 0
jne 0x14003ee38
mov r9d, 0x20119
lea r8, str.SoftwareIDTAudio
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 1]
call fcn.14003e230
mov r15, qword [rbp - 1]
test eax, eax
jne 0x14003ee38
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, [0x1402f44f8]
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14003ee12
mov eax, dword [rbp + 0x6f]
dec eax
cmp eax, 1
ja 0x14003ee12
test rbx, rbx
je 0x14003ee17
cmp dword [rbp + 0x67], 0
jne 0x14003ee12
mov word [rbx], si
test rbx, rbx
jne 0x14003ee1b
mov eax, esi
jmp 0x14003ee2a
mov rax, rdi
nop
inc rax
cmp word [rbx + rax*2], 0
jne 0x14003ee20
mov r8d, eax
mov rdx, rbx
mov rcx, r14
call fcn.140002a7c
mov qword [rbp - 0x19], rsi
mov dword [rbp - 0x11], esi
mov qword [rbp - 9], rsi
mov r9d, 0x20019
lea r8, str.SoftwareAnalog_DevicesSoundMAX
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x19]
call fcn.14003e230
mov r14, qword [rbp - 0x19]
test eax, eax
jne 0x14003eed8
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, [0x1402f44f8]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14003eeb0
mov eax, dword [rbp + 0x6f]
dec eax
cmp eax, 1
ja 0x14003eeb0
test rbx, rbx
je 0x14003eeb5
cmp dword [rbp + 0x67], 0
jne 0x14003eeb0
mov word [rbx], si
test rbx, rbx
jne 0x14003eeb9
mov eax, esi
jmp 0x14003eeca
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x14003eec0
mov r8d, eax
mov rdx, rbx
mov rcx, r13
call fcn.140002a7c
mov rax, qword [r13]
cmp dword [rax - 0x10], 0
jne 0x14003ef78
mov r9d, 0x20019
lea r8, str.SoftwareWow6432NodeAnalog_DevicesSoundMAX
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x19]
call fcn.14003e230
mov r14, qword [rbp - 0x19]
test eax, eax
jne 0x14003ef78
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, [0x1402f44f8]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14003ef53
mov eax, dword [rbp + 0x6f]
dec eax
cmp eax, 1
ja 0x14003ef53
test rbx, rbx
je 0x14003ef58
cmp dword [rbp + 0x67], 0
jne 0x14003ef53
mov word [rbx], si
test rbx, rbx
jne 0x14003ef5c
mov eax, esi
jmp 0x14003ef6a
mov rax, rdi
nop
inc rax
cmp word [rbx + rax*2], 0
jne 0x14003ef60
mov r8d, eax
mov rdx, rbx
mov rcx, r13
call fcn.140002a7c
mov qword [rbp - 0x31], rsi
mov dword [rbp - 0x29], esi
mov qword [rbp - 0x21], rsi
mov r9d, 0x20019
lea r8, str.SoftwareSigmaTelAudio
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x31]
call fcn.14003e230
mov rsi, qword [rbp - 0x31]
test eax, eax
jne 0x14003f01e
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, [0x1402f44f8]
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14003eff3
mov eax, dword [rbp + 0x6f]
dec eax
cmp eax, 1
ja 0x14003eff3
xor eax, eax
test rbx, rbx
je 0x14003f00a
cmp dword [rbp + 0x67], eax
jne 0x14003eff5
mov word [rbx], ax
jmp 0x14003eff5
xor eax, eax
test rbx, rbx
je 0x14003f00a
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x14003f000
mov r8d, eax
mov rdx, rbx
mov r13, qword [rbp + 0x77]
mov rcx, r13
call fcn.140002a7c
jmp 0x14003f022
mov r13, qword [rbp + 0x77]
mov rax, qword [r13]
cmp dword [rax - 0x10], 0
jne 0x14003f0c9
mov r9d, 0x20019
lea r8, str.SoftwareWow6432NodeSigmaTelAudio
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x31]
call fcn.14003e230
mov rsi, qword [rbp - 0x31]
test eax, eax
jne 0x14003f0c9
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, [0x1402f44f8]
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14003f0a0
mov eax, dword [rbp + 0x6f]
dec eax
cmp eax, 1
ja 0x14003f0a0
xor eax, eax
test rbx, rbx
je 0x14003f0a7
cmp dword [rbp + 0x67], eax
jne 0x14003f0a2
mov word [rbx], ax
jmp 0x14003f0a2
xor eax, eax
test rbx, rbx
jne 0x14003f0b0
mov edi, eax
jmp 0x14003f0ba
inc rdi
cmp word [rbx + rdi*2], 0
jne 0x14003f0b0
mov r8d, edi
mov rdx, rbx
mov rcx, r13
call fcn.140002a7c
nop
test rsi, rsi
je 0x14003f0df
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor ebx, ebx
mov qword [rbp - 0x31], rbx
jmp 0x14003f0e1
xor ebx, ebx
mov dword [rbp - 0x29], ebx
test r14, r14
je 0x14003f0f6
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rbp - 0x19], rbx
mov dword [rbp - 0x11], ebx
test r15, r15
je 0x14003f10b
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rbp - 1], rbx
mov dword [rbp + 7], ebx
test r12, r12
je 0x14003f120
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rbp - 0x49], rbx
mov al, 1
mov dword [rbp - 0x41], ebx
mov rbx, qword [rsp + 0xf8]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret