Function at 0x14001516c
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 0x140015364
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 0x140015266
cmp eax, 0x103
jne 0x1400152fe
cmp eax, 0x103
je 0x140015364
lea r8, [rbp - 0x29]
lea rdx, [0x1400ae8e0]
lea rcx, [rbp + 0x27]
call fcn.14009992c
cmp eax, 1
jne 0x1400152ee
mov ecx, dword [rbp - 0x29]
call fcn.140014a5c
cmp dword [rbp - 0x25], 0x1c
jne 0x1400152d4
mov ecx, dword [rbp - 0x29]
call fcn.140014a5c
cmp rax, qword [rbp + 7]
jne 0x1400152d4
mov rcx, qword [rdi + 0x38]
test rcx, rcx
je 0x1400152ee
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.0x14007c5ab.0]
jmp 0x1400152ee
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 0x1400151f0
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
jns 0x140015329
mov rcx, qword [rbp + 0x5f]
mov r9d, ebx
lea r8, str.analoginput_spectrumcomponentscapabilityhandler.cpp
mov edx, pe_nt_image_headers64
call fcn.140005d80
nop
mov rcx, qword [rbp - 0x21]
test rcx, rcx
je 0x14001533f
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 0x140015360
mov r8, qword [rcx]
cmp rcx, rdi
setne dl
mov rax, qword [r8 + 0x20]
call qword [case.0x14007c5ab.0]
and qword [rdi + 0x38], 0
mov eax, ebx
jmp 0x14001539d
mov rcx, qword [rbp - 0x21]
test rcx, rcx
je 0x14001537a
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 0x14001539b
mov rax, qword [rcx]
cmp rcx, rdi
setne dl
mov rax, qword [rax + 0x20]
call qword [case.0x14007c5ab.0]
and qword [rdi + 0x38], 0
xor eax, eax
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.140098550
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