Function at 0x14000e930
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 0x14000ec90
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 0x14000e9aa
movzx edx, dx
lea rcx, [rsp + 0x40]
call fcn.140002e30
jmp 0x14000e9c8
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14000e9b0
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 0x14000ea00
mov rcx, qword [rbp - 0x39]
test rcx, rcx
je 0x14000ea50
jmp 0x14000ea4a
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 0x14000ea42
cmp dword [rbp - 0x71], 4
jne 0x14000ea42
mov eax, dword [rbp + 0x6f]
mov dword [rbp + 0x77], eax
test rbx, rbx
je 0x14000ea50
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 0x14000ea6e
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 0x14000eae3
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 0x14000ec85
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 0x14000eb2b
movzx edx, dx
lea rcx, [rsp + 0x48]
call fcn.140002e30
jmp 0x14000eb48
mov rax, rdi
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x14000eb30
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 0x14000eb7a
mov rcx, qword [rbp - 0x21]
test rcx, rcx
je 0x14000ebca
jmp 0x14000ebc4
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 0x14000ebbc
cmp dword [rbp - 0x69], 4
jne 0x14000ebbc
mov eax, dword [rbp + 0x7f]
mov dword [rbp - 0x79], eax
test rbx, rbx
je 0x14000ebca
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 0x14000ebe8
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 0x14000ec5f
sub edi, 1
jg 0x14000ec70
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14000ec70
sub edi, 1
jg 0x14000ec6d
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