Function at 0x140014a1c
Capabilities:
Delete registry value
Query or enumerate registry value

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
lea rbp, [rax - 0x5f]
sub rsp, 0xd0
mov rax, qword [0x1400ce2e8]
xor rax, rsp
mov qword [rbp + 0x47], rax
mov rdi, rdx
mov qword [rbp - 1], rdx
and qword [rbp - 0x21], 0
and qword [rsp + 0x40], 0
lea rax, [rbp - 0x21]
mov qword [rsp + 0x38], rax
and qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x2001f
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionSpectrumCapabilities
mov rcx, 0xffffffff80000002
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCreateKeyExW]
nop dword [rax + rax]
test eax, eax
jne 0x140014c14
xor ebx, ebx
xorps xmm0, xmm0
movups xmmword [rbp + 0x27], xmm0
movups xmmword [rbp + 0x37], xmm0
mov dword [rbp - 0x19], 0x10
xorps xmm1, xmm1
xor eax, eax
movups xmmword [rbp + 7], xmm1
mov qword [rbp + 0x17], rax
mov dword [rbp + 0x1f], eax
mov dword [rbp - 0x25], 0x1c
and dword [rbp - 0x29], eax
xor sil, sil
lea rax, [rbp - 0x25]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 7]
mov qword [rsp + 0x30], rax
and qword [rsp + 0x28], 0
and qword [rsp + 0x20], 0
lea r9, [rbp - 0x19]
lea r8, [rbp + 0x27]
mov edx, ebx
mov rcx, qword [rbp - 0x21]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegEnumValueW]
nop dword [rax + rax]
test eax, eax
je 0x140014b16
cmp eax, 0x103
jne 0x140014bae
cmp eax, 0x103
je 0x140014c14
lea r8, [rbp - 0x29]
lea rdx, [0x1400ae8d0]
lea rcx, [rbp + 0x27]
call fcn.14009922c
cmp eax, 1
jne 0x140014b9e
mov ecx, dword [rbp - 0x29]
call fcn.14001430c
cmp dword [rbp - 0x25], 0x1c
jne 0x140014b84
mov ecx, dword [rbp - 0x29]
call fcn.14001430c
cmp rax, qword [rbp + 7]
jne 0x140014b84
mov rcx, qword [rdi + 0x38]
test rcx, rcx
je 0x140014b9e
lea rax, [rbp + 7]
mov qword [rbp - 9], rax
mov eax, dword [rbp - 0x29]
mov dword [rbp - 0x11], eax
mov rax, qword [rcx]
lea r8, [rbp - 9]
lea rdx, [rbp - 0x11]
mov rax, qword [rax + 0x10]
call qword [case.0x14007be6b.0]
jmp 0x140014b9e
lea rdx, [rbp + 0x27]
mov rcx, qword [rbp - 0x21]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegDeleteValueW]
nop dword [rax + rax]
test eax, eax
sete sil
lea eax, [rbx + 1]
test sil, sil
cmovne eax, ebx
mov ebx, eax
jmp 0x140014aa0
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
jns 0x140014bd9
mov rcx, qword [rbp + 0x5f]
mov r9d, ebx
lea r8, str.analoginput_spectrumcomponentscapabilityhandler.cpp
mov edx, 0xf8
call fcn.140005d60
nop
mov rcx, qword [rbp - 0x21]
test rcx, rcx
je 0x140014bef
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
nop dword [rax + rax]
nop
mov rcx, qword [rdi + 0x38]
test rcx, rcx
je 0x140014c10
mov r8, qword [rcx]
cmp rcx, rdi
setne dl
mov rax, qword [r8 + 0x20]
call qword [case.0x14007be6b.0]
and qword [rdi + 0x38], 0
mov eax, ebx
jmp 0x140014c4d
mov rcx, qword [rbp - 0x21]
test rcx, rcx
je 0x140014c2a
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
nop dword [rax + rax]
nop
mov rcx, qword [rdi + 0x38]
test rcx, rcx
je 0x140014c4b
mov rax, qword [rcx]
cmp rcx, rdi
setne dl
mov rax, qword [rax + 0x20]
call qword [case.0x14007be6b.0]
and qword [rdi + 0x38], 0
xor eax, eax
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.140097e50
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret