Function at 0x140020370
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rdi
lea rbp, [rsp - 0x180]
sub rsp, 0x280
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov rbx, rcx
mov dword [rsp + 0x40], 0
call fcn.14000bcc0
mov rcx, rax
test rax, rax
jne 0x1400203b3
mov ecx, 0x80004005
call fcn.14000b790
int3
mov rax, qword [rax]
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rbx], rax
mov dword [rsp + 0x40], 1
mov edx, 0xae
lea rcx, [rsp + 0x48]
call fcn.1400244d0
cmp qword [rax + 0x18], 8
jb 0x1400203e1
mov rax, qword [rax]
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x20], rcx
mov r9d, 1
xor r8d, r8d
mov rdx, rax
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
sete dil
mov r8, qword [rsp + 0x60]
cmp r8, 8
jb 0x140020427
inc r8
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x48]
call fcn.1400146a0
test dil, dil
je 0x140020658
mov dword [rbp + 0x1b0], 1
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x70]
call fcn.1400ad030
mov dword [rbp + 0x1a8], 0x208
mov edx, 0xaf
lea rcx, [rsp + 0x48]
call fcn.1400244d0
cmp qword [rax + 0x18], 8
jb 0x14002046f
mov rax, qword [rax]
lea rcx, [rbp + 0x1a8]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x20], rcx
lea r9, [rbp + 0x1b0]
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
sete dil
mov r8, qword [rsp + 0x60]
cmp r8, 8
jb 0x1400204c0
inc r8
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x48]
call fcn.1400146a0
test dil, dil
je 0x1400204d9
lea r8, [rsp + 0x70]
lea rdx, [0x14012ee98]
mov rcx, rbx
call fcn.140022d70
mov rcx, qword [rbx]
mov eax, dword [rcx - 0x10]
cmp eax, 3
jl 0x14002064d
test eax, eax
jns 0x1400204f7
mov ecx, 0x80070057
call fcn.14000b790
int3
cmp word [rcx], 0x36
jne 0x14002064d
cmp eax, 2
jge 0x140020511
mov ecx, 0x80070057
call fcn.14000b790
int3
movzx eax, word [rcx + 4]
sub ax, 0x32
cmp ax, 1
ja 0x14002064d
mov dword [rsp + 0x30], 0
mov dword [rbp + reloc.OLEAUT32.dll_VarUI8FromDec], 0
mov dword [rbp + 0x1b0], 4
mov dword [rbp + 0x1a8], 4
mov edx, 0xb0
lea rcx, [rsp + 0x48]
call fcn.1400244d0
cmp qword [rax + 0x18], 8
jb 0x140020562
mov rax, qword [rax]
lea rcx, [rbp + 0x1a8]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x20], rcx
lea r9, [rbp + 0x1b0]
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
sete dil
mov r8, qword [rsp + 0x60]
cmp r8, 8
jb 0x1400205b3
inc r8
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x48]
call fcn.1400146a0
mov dword [rbp + 0x1b0], 4
mov dword [rbp + 0x1a8], 4
mov edx, 0xb1
lea rcx, [rsp + 0x48]
call fcn.1400244d0
cmp qword [rax + 0x18], 8
jb 0x1400205e0
mov rax, qword [rax]
lea rcx, [rbp + 0x1a8]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + reloc.OLEAUT32.dll_VarUI8FromDec]
mov qword [rsp + 0x20], rcx
lea r9, [rbp + 0x1b0]
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r8, qword [rsp + 0x60]
cmp r8, 8
jb 0x14002062d
inc r8
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x48]
call fcn.1400146a0
test dil, dil
je 0x14002064d
mov r9d, dword [rbp + reloc.OLEAUT32.dll_VarUI8FromDec]
mov r8d, dword [rsp + 0x30]
lea rdx, str._d._d
mov rcx, rbx
call fcn.140022d70
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rax, rbx
add rsp, 0x280
pop rdi
pop rbx
pop rbp
ret