Function at 0x18005fff0
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x70
mov qword [rax - 0x30], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov r14, rdx
xor r9d, r9d
lea r8d, [r9 + 1]
lea rdx, [rax + 0x20]
call fcn.180063ce0
nop
xor r15b, r15b
xor r12d, r12d
mov esi, r12d
call fcn.180039cb0
mov rcx, rax
test rax, rax
je 0x18006021f
or ebp, 0xffffffff
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x60], rbx
mov dword [rsp + 0xb0], 0x20
mov edi, 0x20
nop
test edi, edi
js 0x1800602e4
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x18006008a
mov edx, edi
lea rcx, [rsp + 0x60]
call fcn.18003a2f0
mov rbx, qword [rsp + 0x60]
cmp edi, dword [rbx - 0xc]
jg 0x1800602c9
mov dword [rbx - 0x10], edi
movsxd rax, edi
mov word [rbx + rax*2], r12w
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x1800602ae
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0xb0]
mov r8, rbx
mov edx, esi
mov rcx, qword [rcx + 8]
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
mov edi, eax
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.1800c1660
test eax, eax
js 0x180060293
cmp eax, dword [rbx - 0xc]
jg 0x180060293
mov dword [rbx - 0x10], eax
movsxd rcx, eax
mov word [rbx + rcx*2], r12w
cmp edi, 0xea
jne 0x180060178
mov rcx, qword [rsp + 0xb8]
xor r9d, r9d
test rcx, rcx
je 0x18006025a
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x48], r12
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
xor r8d, r8d
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
jne 0x1800601c0
mov edi, dword [rsp + 0xb0]
inc edi
mov dword [rsp + 0xb0], edi
jmp 0x180060060
cmp edi, 0x103
je 0x1800601cf
test edi, edi
jne 0x1800601c4
mov rax, qword [r14]
mov rdx, rbx
mov rcx, r14
call qword [rax + 0x20]
mov r15b, 1
lea rdx, [rbx - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1800601ac
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc esi
call fcn.180039cb0
mov rcx, rax
test rax, rax
je 0x18006021f
jmp 0x180060040
jg 0x18006023a
jmp 0x180060242
jg 0x180060272
jmp 0x18006027b
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], ebp
sub ebp, 1
jg 0x1800601e8
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
nop
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x180060202
mov qword [rsp + 0xb8], r12
call fcn.180049c40
movzx eax, r15b
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
xor r9d, r9d
mov r8d, 0xcd
lea rdx, str.C:dvsp4_build_sw_toolswin32msvc141u5VC_atlmfcinclude_atlsimpstr.h
mov ecx, 0x80004005
call fcn.18003abe0
nop
movzx eax, ax
or eax, 0x80070000
xor r9d, r9d
mov r8d, 0x97d
lea rdx, str.Registry.cpp
mov ecx, eax
call fcn.18003abe0
int3
mov r8d, 0x181
lea rdx, str.c:dvsp4_build_sw_relgpu_drvinstaller_coreinstaller_core_vs2017incRefCounted.h
mov ecx, 0x80004003
call fcn.18003abe0
int3
movzx edi, di
or edi, 0x80070000
xor r9d, r9d
mov r8d, 0x991
lea rdx, str.Registry.cpp
mov ecx, edi
call fcn.18003abe0
int3
xor r9d, r9d
mov r8d, 0x368
lea rdx, str.C:dvsp4_build_sw_toolswin32msvc141u5VC_atlmfcinclude_atlsimpstr.h
mov ecx, 0x80070057
call fcn.18003abe0
int3
xor r9d, r9d
mov r8d, 0x181
lea rdx, str.c:dvsp4_build_sw_relgpu_drvinstaller_coreinstaller_core_vs2017incRefCounted.h
mov ecx, 0x80004003
call fcn.18003abe0
int3
xor r9d, r9d
mov r8d, 0x368
lea rdx, str.C:dvsp4_build_sw_toolswin32msvc141u5VC_atlmfcinclude_atlsimpstr.h
mov ecx, 0x80070057
call fcn.18003abe0
int3
xor r9d, r9d
mov r8d, 0x325
lea rdx, str.C:dvsp4_build_sw_toolswin32msvc141u5VC_atlmfcinclude_atlsimpstr.h
mov ecx, 0x80070057
call fcn.18003abe0
int3