Function at 0x140002bd0
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r13, qword [rsp + 0xa0]
xor esi, esi
mov dword [rax + 0x10], esi
mov r14, r9
mov dword [rax + 8], esi
mov rbp, r8
mov r15, rdx
mov edi, esi
mov bl, 1
test rdx, rdx
je 0x140002f0b
mov rdx, r9
call fcn.140002f40
test al, al
jne 0x140002f0b
test r13, r13
je 0x140002f0b
lea rax, [rsp + 0x80]
xor r8d, r8d
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x88]
mov rdx, rbp
mov qword [rsp + 0x20], rsi
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
nop dword [rax + rax]
test eax, eax
je 0x140002d57
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
xor r9d, r9d
mov qword [rsp + 0x20], rcx
mov r8d, eax
mov ecx, 0x1100
mov qword [rsp + 0xa0], rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
nop dword [rax + rax]
mov esi, eax
test eax, eax
je 0x140002f0b
lea r15d, [rax + 1]
mov r12, 0xffffffffffffffff
mov eax, 2
mul r15
cmovo rax, r12
mov rcx, rax
call fcn.140003a28
mov rbx, rax
test rax, rax
je 0x140002cf7
mov r8, qword [rsp + 0xa0]
mov edx, r15d
mov rcx, rax
call fcn.140007e6c
test eax, eax
jns 0x140002cf7
xor r15d, r15d
mov rcx, rbx
mov esi, r15d
call qword [sym.imp.msvcrt.dll____V_YAXPEAX_Z]
nop dword [rax + rax]
mov ebx, r15d
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_LocalFree]
nop dword [rax + rax]
test esi, esi
je 0x140002f0b
mov rcx, qword [0x140016cc0]
xor edx, edx
mov qword [rsp + 0x28], rbx
mov r9, r14
mov qword [rsp + 0x20], rbp
mov rax, qword [rcx]
lea r8d, [rdx + 0x16]
mov rax, qword [rax + 8]
call qword [0x14000dd78]
test rbx, rbx
je 0x140002f0b
mov rcx, rbx
call qword [sym.imp.msvcrt.dll____V_YAXPEAX_Z]
nop dword [rax + rax]
jmp 0x140002f0b
cmp dword [rsp + 0x88], 1
je 0x140002d6c
mov r8d, SafeArrayCopy
jmp 0x140002eed
mov esi, dword [rsp + 0x80]
test esi, esi
je 0x140002ee7
shr esi, 1
mov eax, 2
mov r12, 0xffffffffffffffff
lea ecx, [rsi + 1]
mul rcx
cmovo rax, r12
mov rcx, rax
call fcn.140003a28
mov rdi, rax
test rax, rax
je 0x140002f0b
mov eax, esi
xor r9d, r9d
xor esi, esi
xor r8d, r8d
mov rdx, rbp
mov rcx, r15
mov word [rdi + rax*2], si
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
nop dword [rax + rax]
test eax, eax
je 0x140002ee2
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
xor r9d, r9d
mov qword [rsp + 0x20], rcx
mov r8d, eax
mov ecx, 0x1100
mov qword [rsp + 0xa0], rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
nop dword [rax + rax]
mov esi, eax
test eax, eax
je 0x140002ecb
lea r15d, [rax + 1]
mov eax, 2
mul r15
cmovo rax, r12
mov rcx, rax
call fcn.140003a28
mov rbx, rax
test rax, rax
je 0x140002e73
mov r8, qword [rsp + 0xa0]
mov edx, r15d
mov rcx, rax
call fcn.140007e6c
xor r15d, r15d
test eax, eax
jns 0x140002e76
mov rcx, rbx
mov esi, r15d
call qword [sym.imp.msvcrt.dll____V_YAXPEAX_Z]
nop dword [rax + rax]
mov ebx, r15d
jmp 0x140002e76
xor r15d, r15d
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_LocalFree]
nop dword [rax + rax]
test esi, esi
je 0x140002ece
mov rcx, qword [0x140016cc0]
xor edx, edx
mov qword [rsp + 0x28], rbx
mov r9, r14
mov qword [rsp + 0x20], rbp
mov rax, qword [rcx]
lea r8d, [rdx + 0x16]
mov rax, qword [rax + 8]
call qword [0x14000dd78]
test rbx, rbx
je 0x140002ece
mov rcx, rbx
call qword [sym.imp.msvcrt.dll____V_YAXPEAX_Z]
nop dword [rax + rax]
jmp 0x140002ece
xor r15d, r15d
mov rcx, rdi
call qword [sym.imp.msvcrt.dll____V_YAXPEAX_Z]
nop dword [rax + rax]
mov rdi, r15
jmp 0x140002f0b
cmp si, word [rdi]
jne 0x140002f0d
mov r8d, SafeArrayDestroy
mov rcx, qword [0x140016cc0]
mov r9, r14
xor edx, edx
mov qword [rsp + 0x20], rbp
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x14000dd78]
xor bl, bl
movzx eax, bl
mov qword [r13], rdi
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret