Function at 0x7ff743e93390
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 0x7ff743e936cb
mov rdx, r9
call fcn.7ff743e93700
test al, al
jne 0x7ff743e936cb
test r13, r13
je 0x7ff743e936cb
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 0x7ff743e93517
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 0x7ff743e936cb
lea r15d, [rax + 1]
mov r12, 0xffffffffffffffff
mov eax, 2
mul r15
cmovo rax, r12
mov rcx, rax
call fcn.7ff743e943f8
mov rbx, rax
test rax, rax
je 0x7ff743e934b7
mov r8, qword [rsp + 0xa0]
mov edx, r15d
mov rcx, rax
call fcn.7ff743e9fdbc
test eax, eax
jns 0x7ff743e934b7
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 0x7ff743e936cb
mov rcx, qword [0x7ff743eb0fe8]
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 [0x7ff743ea5f00]
test rbx, rbx
je 0x7ff743e936cb
mov rcx, rbx
call qword [sym.imp.msvcrt.dll____V_YAXPEAX_Z]
nop dword [rax + rax]
jmp 0x7ff743e936cb
cmp dword [rsp + 0x88], 1
je 0x7ff743e9352c
mov r8d, SafeArrayCopy
jmp 0x7ff743e936ad
mov esi, dword [rsp + 0x80]
test esi, esi
je 0x7ff743e936a7
shr esi, 1
mov eax, 2
mov r12, 0xffffffffffffffff
lea ecx, [rsi + 1]
mul rcx
cmovo rax, r12
mov rcx, rax
call fcn.7ff743e943f8
mov rdi, rax
test rax, rax
je 0x7ff743e936cb
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 0x7ff743e936a2
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 0x7ff743e9368b
lea r15d, [rax + 1]
mov eax, 2
mul r15
cmovo rax, r12
mov rcx, rax
call fcn.7ff743e943f8
mov rbx, rax
test rax, rax
je 0x7ff743e93633
mov r8, qword [rsp + 0xa0]
mov edx, r15d
mov rcx, rax
call fcn.7ff743e9fdbc
xor r15d, r15d
test eax, eax
jns 0x7ff743e93636
mov rcx, rbx
mov esi, r15d
call qword [sym.imp.msvcrt.dll____V_YAXPEAX_Z]
nop dword [rax + rax]
mov ebx, r15d
jmp 0x7ff743e93636
xor r15d, r15d
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_LocalFree]
nop dword [rax + rax]
test esi, esi
je 0x7ff743e9368e
mov rcx, qword [0x7ff743eb0fe8]
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 [0x7ff743ea5f00]
test rbx, rbx
je 0x7ff743e9368e
mov rcx, rbx
call qword [sym.imp.msvcrt.dll____V_YAXPEAX_Z]
nop dword [rax + rax]
jmp 0x7ff743e9368e
xor r15d, r15d
mov rcx, rdi
call qword [sym.imp.msvcrt.dll____V_YAXPEAX_Z]
nop dword [rax + rax]
mov rdi, r15
jmp 0x7ff743e936cb
cmp si, word [rdi]
jne 0x7ff743e936cd
mov r8d, SafeArrayDestroy
mov rcx, qword [0x7ff743eb0fe8]
mov r9, r14
xor edx, edx
mov qword [rsp + 0x20], rbp
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x7ff743ea5f00]
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