Function at 0x140042ce0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x70
xor ebx, ebx
movaps xmmword [rsp + 0x60], xmm6
mov dword [rbp + 0x38], ebx
mov r14, r9
mov r10, rdx
mov rsi, rcx
xorps xmm6, xmm6
mov edi, ebx
test r9, r9
jne 0x140042d19
xor eax, eax
jmp 0x140042fc2
sub r8d, 3
je 0x140042f23
sub r8d, 1
je 0x140042e7a
sub r8d, 7
je 0x140042dd4
cmp r8d, 8
jne 0x140042fc0
mov qword [rbp - 0x38], rbx
cmp qword [rcx], rbx
je 0x140042daf
lea rdx, [rbp - 0x38]
mov rcx, r10
call fcn.140042b50
test eax, eax
js 0x140042daf
mov rdi, qword [rbp - 0x38]
lea rax, [rbp - 0x40]
mov rcx, qword [rsi]
lea r9, [rbp - 0x3c]
mov qword [rsp + 0x28], rax
xor r8d, r8d
lea rax, [rbp + 0x38]
mov dword [rbp - 0x40], 4
mov rdx, rdi
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov esi, eax
test eax, eax
jne 0x140042d9e
cmp dword [rbp - 0x3c], 4
mov esi, ebx
mov eax, SafeArrayDestroy
cmovne esi, eax
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test esi, esi
mov edi, ebx
sete dil
mov ecx, 4
call fcn.1402f3954
mov qword [r14], rax
test rax, rax
je 0x140042fc0
mov ecx, dword [rbp + 0x38]
mov dword [rax], ecx
mov eax, 1
jmp 0x140042fc2
xor eax, eax
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
cmp qword [rcx], rax
je 0x140042e57
lea rdx, [rbp - 0x38]
mov rcx, r10
call fcn.140042b50
test eax, eax
js 0x140042e50
mov rdi, qword [rbp - 0x38]
lea rax, [rbp - 0x3c]
mov rcx, qword [rsi]
lea r9, [rbp - 0x40]
mov qword [rsp + 0x28], rax
xor r8d, r8d
lea rax, [rbp - 0x30]
mov dword [rbp - 0x3c], 0x18
mov rdx, rdi
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov esi, eax
test eax, eax
jne 0x140042e3f
cmp dword [rbp - 0x40], 3
mov esi, ebx
mov eax, SafeArrayDestroy
cmovne esi, eax
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test esi, esi
mov edi, ebx
sete dil
test edi, edi
cmovne bx, word [rbp - 0x28]
mov ecx, 2
call fcn.1402f3954
mov qword [r14], rax
test rax, rax
je 0x140042fc0
mov word [rax], bx
mov eax, 1
jmp 0x140042fc2
xor eax, eax
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
cmp qword [rcx], rax
je 0x140042eff
lea rdx, [rbp - 0x38]
mov rcx, r10
call fcn.140042b50
test eax, eax
js 0x140042ef6
mov rdi, qword [rbp - 0x38]
lea rax, [rbp - 0x3c]
mov rcx, qword [rsi]
lea r9, [rbp - 0x40]
mov qword [rsp + 0x28], rax
xor r8d, r8d
lea rax, [rbp - 0x30]
mov dword [rbp - 0x3c], 0x18
mov rdx, rdi
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov esi, eax
test eax, eax
jne 0x140042ee5
cmp dword [rbp - 0x40], 3
mov esi, ebx
mov eax, SafeArrayDestroy
cmovne esi, eax
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test esi, esi
mov edi, ebx
sete dil
test edi, edi
je 0x140042eff
movss xmm6, dword [rbp - 0x28]
mov ecx, 4
call fcn.1402f3954
mov qword [r14], rax
test rax, rax
je 0x140042fc0
movss dword [rax], xmm6
mov eax, 1
jmp 0x140042fc2
xor eax, eax
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
cmp qword [rcx], rax
je 0x140042fa5
lea rdx, [rbp - 0x38]
mov rcx, r10
call fcn.140042b50
test eax, eax
js 0x140042f9f
mov rdi, qword [rbp - 0x38]
lea rax, [rbp - 0x3c]
mov rcx, qword [rsi]
lea r9, [rbp - 0x40]
mov qword [rsp + 0x28], rax
xor r8d, r8d
lea rax, [rbp - 0x30]
mov dword [rbp - 0x3c], 0x18
mov rdx, rdi
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov esi, eax
test eax, eax
jne 0x140042f8e
cmp dword [rbp - 0x40], 3
mov esi, ebx
mov eax, SafeArrayDestroy
cmovne esi, eax
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test esi, esi
mov edi, ebx
sete dil
test edi, edi
cmovne ebx, dword [rbp - 0x28]
mov ecx, 4
call fcn.1402f3954
mov qword [r14], rax
test rax, rax
je 0x140042fc0
mov dword [rax], ebx
mov eax, 1
jmp 0x140042fc2
mov eax, edi
movaps xmm6, xmmword [rsp + 0x60]
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret