Function at 0x14000ea10
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 0x14000ed70
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 0x14000ea8a
movzx edx, dx
lea rcx, [rsp + 0x40]
call fcn.140002e30
jmp 0x14000eaa8
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14000ea90
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 0x14000eae0
mov rcx, qword [rbp - 0x39]
test rcx, rcx
je 0x14000eb30
jmp 0x14000eb2a
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 0x14000eb22
cmp dword [rbp - 0x71], 4
jne 0x14000eb22
mov eax, dword [rbp + 0x6f]
mov dword [rbp + 0x77], eax
test rbx, rbx
je 0x14000eb30
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 0x14000eb4e
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 [0x140031c90]
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 0x14000ebc3
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 0x14000ed65
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 0x14000ec0b
movzx edx, dx
lea rcx, [rsp + 0x48]
call fcn.140002e30
jmp 0x14000ec28
mov rax, rdi
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x14000ec10
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 0x14000ec5a
mov rcx, qword [rbp - 0x21]
test rcx, rcx
je 0x14000ecaa
jmp 0x14000eca4
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 0x14000ec9c
cmp dword [rbp - 0x69], 4
jne 0x14000ec9c
mov eax, dword [rbp + 0x7f]
mov dword [rbp - 0x79], eax
test rbx, rbx
je 0x14000ecaa
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 0x14000ecc8
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 [0x140031c90]
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 0x14000ed3f
sub edi, 1
jg 0x14000ed50
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14000ed50
sub edi, 1
jg 0x14000ed4d
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