Function at 0x14005c86c
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
xor ebp, ebp
mov r12, rdx
and dword [rax + 0x20], ebp
mov r13, rcx
mov rcx, qword [0x14009b028]
lea rdi, [0x14009b028]
lea rsi, [0x14008a880]
cmp rcx, rdi
je 0x14005c8c6
test byte [rcx + 0x1c], 4
je 0x14005c8c6
cmp byte [rcx + 0x19], 5
jb 0x14005c8c6
mov rcx, qword [rcx + 0x10]
lea edx, [rbp + 0xa]
mov r8, rsi
call fcn.140001024
lea rax, [rsp + 0x98]
xor r8d, r8d
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x30]
and qword [rsp + 0x20], rbp
lea rdx, str.Devices
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
je 0x14005c939
mov rcx, qword [0x14009b028]
cmp rcx, rdi
je 0x14005cb22
test byte [rcx + 0x1c], 4
je 0x14005cb22
cmp byte [rcx + 0x19], 2
jb 0x14005cb22
mov edx, VariantTimeToDosDateTime
mov r8, rsi
mov rcx, qword [rcx + 0x10]
mov r9d, eax
call fcn.140001050
jmp 0x14005cb22
cmp dword [rsp + 0x30], 3
je 0x14005c973
mov rcx, qword [0x14009b028]
cmp rcx, rdi
je 0x14005c969
test byte [rcx + 0x1c], 4
je 0x14005c969
cmp byte [rcx + 0x19], 2
jb 0x14005c969
mov rcx, qword [rcx + 0x10]
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov r8, rsi
call fcn.140001024
mov ebx, 0x3f1
jmp 0x14005cb22
mov eax, dword [rsp + 0x98]
test eax, eax
je 0x14005cb22
mov ecx, eax
call fcn.140067108
mov rbp, rax
test rax, rax
jne 0x14005c9cc
lea ebx, [rax + 8]
mov rcx, qword [0x14009b028]
cmp rcx, rdi
je 0x14005cb22
test byte [rcx + 0x1c], 4
je 0x14005cb22
cmp byte [rcx + 0x19], 2
jb 0x14005cb22
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 0xd]
mov r8, rsi
call fcn.140001024
jmp 0x14005cb22
lea rax, [rsp + 0x98]
xor r8d, r8d
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x30]
lea rdx, str.Devices
mov qword [rsp + 0x20], rbp
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
je 0x14005ca30
mov rcx, qword [0x14009b028]
cmp rcx, rdi
je 0x14005cb22
test byte [rcx + 0x1c], 4
je 0x14005cb22
cmp byte [rcx + 0x19], 2
jb 0x14005cb22
mov edx, 0xe
jmp 0x14005c925
mov edi, dword [rsp + 0x98]
xor esi, esi
shr edi, 2
lea r15d, [rsi + 1]
test edi, edi
je 0x14005cb22
mov r14, rbp
mov ecx, dword [r14]
xor edx, edx
call fcn.14004bcf4
test rax, rax
je 0x14005caa6
mov edx, ecx
mov rcx, r13
call fcn.14005cf24
mov ebx, eax
test eax, eax
je 0x14005caa9
mov rcx, qword [0x14009b028]
lea rdx, [0x14009b028]
cmp rcx, rdx
je 0x14005cb22
test byte [rcx + 0x1c], 4
je 0x14005cb22
cmp byte [rcx + 0x19], 2
jb 0x14005cb22
mov edx, 0xf
lea r8, [0x14008a880]
jmp 0x14005c928
xor r15d, r15d
inc esi
add r14, 4
cmp esi, edi
jb 0x14005ca4b
test r15d, r15d
jne 0x14005cb22
mov rdx, r12
mov rcx, r13
call fcn.14005cbc0
test eax, eax
je 0x14005cafd
mov rcx, qword [0x14009b028]
lea rdx, [0x14009b028]
cmp rcx, rdx
je 0x14005cafd
test byte [rcx + 0x1c], 4
je 0x14005cafd
cmp byte [rcx + 0x19], 2
jb 0x14005cafd
mov rcx, qword [rcx + 0x10]
lea edx, [r15 + 0x10]
mov r9d, eax
lea r8, [0x14008a880]
call fcn.140001050
mov rax, qword [rsp + 0x90]
mov r9d, 0x80007d42
mov qword [rsp + 0x20], rax
mov eax, 1
mov r8d, eax
mov ecx, eax
lea edx, [rax + 1]
call fcn.140067590
mov rcx, rbp
call fcn.1400671c4
mov eax, ebx
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret