Function at 0x14003ca20
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
lea rbp, [rsp + 0x30]
mov qword [rbp + 0x80], rbx
mov rax, qword [0x1400b0290]
xor rax, rbp
mov qword [rbp + 0x28], rax
mov r14, r9
mov rbx, r8
mov rsi, rdx
mov r12, rcx
and dword [rbp], 0
xor r15d, r15d
mov dword [rbp + 4], r15d
mov rdi, qword [rbp + 0x90]
test rdi, rdi
je 0x14003ca82
mov r15d, dword [rdi]
mov dword [rbp + 4], r15d
mov eax, dword [rcx + 8]
test eax, eax
jne 0x14003ccbc
mov eax, dword [rbp + 0x98]
test al, 1
jne 0x14003cacd
cmp dword [rbp + 0xa0], 0
je 0x14003caaf
mov qword [rsp + 0x20], rdi
call fcn.14003dc1c
jmp 0x14003ccbc
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r9
mov r9, rbx
xor r8d, r8d
mov rcx, qword [rcx]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
jmp 0x14003ccbc
test rdi, rdi
jne 0x14003cadf
test rbx, rbx
jne 0x14003cadf
lea eax, [rdi + 0x57]
jmp 0x14003ccbc
lea rax, [rbp + 8]
mov qword [rsp + 0x20], rax
lea r9, [rbp]
xor r8d, r8d
call fcn.14003d9f8
test rbx, rbx
je 0x14003cafe
mov ecx, dword [rbp + 8]
mov dword [rbx], ecx
test eax, eax
jne 0x14003ccbc
test rdi, rdi
je 0x14003ccbc
and qword [rbp + 0x10], 0
mov r13d, dword [rbp]
lea rcx, [r13 + 0x10]
cmp r13, rcx
sbb rdx, rdx
and rdx, rcx
je 0x14003cb91
cmp rdx, 0x400
ja 0x14003cb6d
lea rax, [rdx + 0xf]
cmp rax, rdx
ja 0x14003cb43
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.1400480b0
sub rsp, rax
lea rbx, [rsp + 0x30]
mov qword [rbp + 0x18], rbx
test rbx, rbx
je 0x14003cb93
mov dword [rbx], 0xcccc
add rbx, 0x10
mov qword [rbp + 0x18], rbx
jmp 0x14003cb93
mov rcx, rdx
call fcn.140053b5c
mov rbx, rax
mov qword [rbp + 0x20], rax
test rax, rax
je 0x14003cb93
mov dword [rax], 0xdddd
add rbx, 0x10
mov qword [rbp + 0x20], rbx
jmp 0x14003cb93
xor ebx, ebx
mov qword [rbp + 0x10], rbx
jmp 0x14003cbc0
test rbx, rbx
jne 0x14003cbcd
lea eax, [rbx + 0xe]
jmp 0x14003ccbc
mov r8d, r13d
xor edx, edx
mov rcx, rbx
call fcn.14004a0e0
lea rax, [rbp + 8]
mov qword [rsp + 0x20], rax
lea r9, [rbp]
mov r8, rbx
mov rdx, rsi
mov rcx, r12
call fcn.14003d9f8
mov esi, eax
test eax, eax
jne 0x14003cca9
cmp dword [rbp + 0xa0], eax
je 0x14003cc5c
mov eax, dword [rbp + 8]
cmp eax, 1
je 0x14003cc14
cmp eax, 7
jne 0x14003cc5c
mov dword [rdi], r15d
cmp eax, 1
jne 0x14003cc3e
shr r15d, 1
mov dword [rbp + 4], r15d
lea r9, [rbp + 4]
mov r8, r14
mov rdx, rbx
lea ecx, [rax + 2]
call fcn.14003c2c4
mov esi, eax
mov eax, dword [rbp + 4]
add eax, eax
jmp 0x14003cca7
cmp eax, 7
jne 0x14003cc58
mov r9, rdi
mov r8, r14
mov rdx, rbx
mov rcx, r12
call fcn.14003d8d8
mov esi, eax
jmp 0x14003cca9
xor esi, esi
jmp 0x14003cca9
test r14, r14
je 0x14003cca4
mov eax, dword [rdi]
cmp dword [rbp], eax
jbe 0x14003cc6f
mov esi, 0xea
jmp 0x14003cca4
mov r8d, dword [rbp]
test r8, r8
je 0x14003cca4
mov rcx, r14
cmp rax, r8
jb 0x14003cc8a
mov rdx, rbx
call fcn.140049a30
jmp 0x14003cca4
mov r8, rax
xor edx, edx
call fcn.14004a0e0
call fcn.140053a68
mov dword [rax], 0x22
call fcn.1400538fc
mov eax, dword [rbp]
mov dword [rdi], eax
lea rcx, [rbx - 0x10]
cmp dword [rcx], 0xdddd
jne 0x14003ccba
call fcn.140053564
mov eax, esi
mov rcx, qword [rbp + 0x28]
xor rcx, rbp
call fcn.140047790
mov rbx, qword [rbp + 0x80]
lea rsp, [rbp + 0x30]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret