Function at 0x1400b3d30
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
push rdi
push r12
push r13
sub rsp, 0x90
xor r13d, r13d
mov rbp, rcx
lea rcx, str._h_r_
mov qword [rax - 0x30], r13
mov dword [rax - 0x28], r13d
mov qword [rax - 0x20], r13
mov rax, qword [str._h_r_]
mov r12, r9
mov rdi, r8
mov rsi, rdx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
cmp byte [rsp + 0xd0], r13b
mov r8, qword [rdi]
lea rbx, [rax + 0x18]
mov r9d, 0x100
mov eax, 0x200
lea rcx, [rsp + 0x78]
mov rdx, rsi
cmovne r9d, eax
mov qword [rsp + 0x70], rbx
or r9d, 0x20019
call fcn.140002190
test eax, eax
je 0x1400b3e0c
lea rdx, [0x140117ea0]
mov rcx, rbp
call fcn.14000fdc0
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400b3ddc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x1400b3dec
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea r11, [rsp + 0x90]
mov rax, rbp
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r13
pop r12
pop rdi
ret
mov rdi, qword [rsp + 0x78]
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x50], r13
lea rax, [rsp + 0x60]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
mov dword [rsp + 0x60], r13d
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
je 0x1400b3e88
lea rcx, [rbx - 0x18]
call fcn.140001b90
add rax, 0x18
mov qword [rbp], rax
or eax, 0xffffffff
lock xadd dword [rbx - 8], eax
dec eax
test eax, eax
jg 0x1400b3ddc
mov rcx, qword [rbx - 0x18]
lea rdx, [rbx - 0x18]
jmp 0x1400b3dd6
mov edx, dword [rsp + 0x60]
inc edx
mov dword [rsp + 0x60], edx
jns 0x1400b3e9f
mov ecx, 0x80070057
call fcn.140001000
int3
mov eax, dword [rbx - 0xc]
mov ecx, 1
sub ecx, dword [rbx - 8]
sub eax, edx
or ecx, eax
jge 0x1400b3ec3
lea rcx, [rsp + 0x70]
call fcn.140001b30
mov rbx, qword [rsp + 0x70]
mov edx, dword [rsp + 0x60]
lea eax, [rdx + rdx]
mov rdx, qword [r12]
lea r9, [rsp + 0x68]
mov dword [rsp + 0x64], eax
lea rax, [rsp + 0x64]
xor r8d, r8d
mov qword [rsp + 0x28], rax
mov rcx, rdi
mov dword [rsp + 0x60], r13d
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400b3f30
mov eax, dword [rsp + 0x68]
cmp eax, 1
je 0x1400b3f05
cmp eax, 2
jne 0x1400b3f30
mov ecx, dword [rsp + 0x64]
test rbx, rbx
je 0x1400b3f2a
test ecx, ecx
je 0x1400b3f26
test cl, 1
jne 0x1400b3f30
mov eax, ecx
shr rax, 1
cmp word [rbx + rax*2 - 2], r13w
je 0x1400b3f2a
jmp 0x1400b3f30
mov word [rbx], r13w
shr ecx, 1
mov dword [rsp + 0x60], ecx
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_wcsnlen]
test eax, eax
js 0x1400b3f80
cmp eax, dword [rbx - 0xc]
jg 0x1400b3f80
mov dword [rbx - 0x10], eax
cdqe
lea rcx, [rbx - 0x18]
mov word [rbx + rax*2], r13w
call fcn.140001b90
add rax, 0x18
mov qword [rbp], rax
or eax, 0xffffffff
lock xadd dword [rbx - 8], eax
dec eax
test eax, eax
jg 0x1400b3ddc
mov rcx, qword [rbx - 0x18]
lea rdx, [rbx - 0x18]
jmp 0x1400b3dd6
mov ecx, 0x80070057
call fcn.140001000
int3