Function at 0x14000e9c0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xf0
mov qword [rbp - 9], 0xfffffffffffffffe
mov r15, rcx
xor r12d, r12d
mov dword [rbp + 0x77], r12d
mov dword [rbp - 0x79], r12d
lea rax, [rsp + 0x40]
mov qword [rbp + 0x6f], rax
call fcn.140001230
mov rcx, rax
test rax, rax
je 0x14000ed20
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea rdx, str.APO_SpkEnableFuntions
lea rdi, [r12 - 1]
cmp rdx, 0x10000
jae 0x14000ea3a
movzx edx, dx
lea rcx, [rsp + 0x40]
call fcn.140002e30
jmp 0x14000ea58
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14000ea40
mov r8d, eax
lea rcx, [rsp + 0x40]
call fcn.1400030e0
nop
mov qword [rbp - 0x39], r12
mov dword [rbp - 0x31], r12d
mov qword [rbp - 0x29], r12
mov dword [rbp + 0x6f], r12d
mov r14d, 1
mov r9d, r14d
lea r8, str.SOFTWARESonySysEffect
lea rcx, [rbp - 0x39]
call fcn.1400015b0
test eax, eax
je 0x14000ea90
mov rcx, qword [rbp - 0x39]
test rcx, rcx
je 0x14000eae0
jmp 0x14000eada
mov dword [rbp - 0x75], 4
lea rax, [rbp - 0x75]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x6f]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x71]
xor r8d, r8d
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rbp - 0x39]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000ead2
cmp dword [rbp - 0x71], 4
jne 0x14000ead2
mov eax, dword [rbp + 0x6f]
mov dword [rbp + 0x77], eax
test rbx, rbx
je 0x14000eae0
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, r14d
jg 0x14000eafe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov ebx, dword [rbp + 0x77]
shr ebx, 0xb
and ebx, r14d
mov rdx, qword [r15 + 8]
lea rcx, [rbp - 0x49]
call fcn.140002cd0
mov rsi, rax
mov qword [rbp - 0x51], rax
mov dword [rbp - 0x59], ebx
movups xmm0, xmmword [0x140031cb0]
movaps xmmword [rbp + 7], xmm0
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 4
lea rax, [rbp - 0x59]
mov qword [rsp + 0x20], rax
mov r9d, r14d
mov r8d, 0x11
lea rdx, [rbp + 7]
mov rcx, qword [rsi]
call fcn.1400016b0
nop
mov rdx, qword [rsi]
sub rdx, 0x18
test eax, eax
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000eb73
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsp + 0x48]
mov qword [rbp + 0x7f], rax
call fcn.140001230
mov rcx, rax
test rax, rax
je 0x14000ed15
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x48], rax
lea rdx, str.APO_HpEnableFuntions
cmp rdx, 0x10000
jae 0x14000ebbb
movzx edx, dx
lea rcx, [rsp + 0x48]
call fcn.140002e30
jmp 0x14000ebd8
mov rax, rdi
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x14000ebc0
mov r8d, eax
lea rcx, [rsp + 0x48]
call fcn.1400030e0
nop
mov qword [rbp - 0x21], r12
mov dword [rbp - 0x19], r12d
mov qword [rbp - 0x11], r12
mov dword [rbp + 0x7f], r12d
mov r9d, r14d
lea r8, str.SOFTWARESonySysEffect
lea rcx, [rbp - 0x21]
call fcn.1400015b0
test eax, eax
je 0x14000ec0a
mov rcx, qword [rbp - 0x21]
test rcx, rcx
je 0x14000ec5a
jmp 0x14000ec54
mov dword [rbp - 0x6d], 4
lea rax, [rbp - 0x6d]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x7f]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x69]
xor r8d, r8d
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rbp - 0x21]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000ec4c
cmp dword [rbp - 0x69], 4
jne 0x14000ec4c
mov eax, dword [rbp + 0x7f]
mov dword [rbp - 0x79], eax
test rbx, rbx
je 0x14000ec5a
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000ec78
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov ebx, dword [rbp - 0x79]
shr ebx, 0xb
and ebx, 1
mov rdx, qword [r15 + 8]
lea rcx, [rbp - 0x41]
call fcn.140002cd0
mov rsi, rax
mov qword [rbp - 0x51], rax
mov dword [rbp - 0x61], ebx
movups xmm0, xmmword [0x140031cb0]
movaps xmmword [rbp + 0x17], xmm0
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 4
lea rax, [rbp - 0x61]
mov qword [rsp + 0x20], rax
mov r9d, r14d
mov r8d, 0x10
lea rdx, [rbp + 0x17]
mov rcx, qword [rsi]
call fcn.1400016b0
nop
mov rdx, qword [rsi]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], edi
test eax, eax
je 0x14000ecef
sub edi, 1
jg 0x14000ed00
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14000ed00
sub edi, 1
jg 0x14000ecfd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14d, r12d
mov eax, r14d
add rsp, 0xf0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80004005
call fcn.1400014c0
int3
mov ecx, 0x80004005
call fcn.1400014c0
int3