Function at 0x14003c490
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xb0
mov rax, qword [0x1401ca1c8]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov rdi, r9
mov rbx, rdx
mov r15, rcx
mov qword [rbp - 0x51], rcx
xor r12d, r12d
mov qword [rbp - 0x51], r12
movups xmm0, xmmword [r8]
movaps xmmword [rbp - 0x49], xmm0
lea rdx, [rbp - 0x49]
lea rcx, [rbp - 0x21]
call fcn.14003ddc0
cmp qword [rax + 0x18], 8
jb 0x14003c4e8
mov rax, qword [rax]
lea rcx, [rbp - 0x51]
mov qword [rsp + 0x20], rcx
mov r9d, 0x101
xor r8d, r8d
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ebx, eax
mov rdx, qword [rbp - 9]
cmp rdx, 8
jb 0x14003c548
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c543
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c7d4
call fcn.1400fb310
test ebx, ebx
jne 0x14003c7da
xorps xmm0, xmm0
movups xmmword [rbp - 1], xmm0
mov qword [rbp + 0xf], r12
mov qword [rbp + 0x17], 7
mov word [rbp - 1], r12w
mov dword [rbp - 0x55], 0x200
mov dword [rbp - 0x29], 1
mov word [rsp + 0x20], r12w
mov r9d, 0x100
movzx r8d, byte [rbp - 0x59]
mov edx, r9d
lea rcx, [rbp - 1]
call fcn.140001800
lea rbx, [rbp - 1]
cmp qword [rbp + 0x17], 8
cmovae rbx, qword [rbp - 1]
movups xmm0, xmmword [rdi]
movaps xmmword [rbp - 0x49], xmm0
lea rdx, [rbp - 0x49]
lea rcx, [rbp - 0x21]
call fcn.14003ddc0
cmp qword [rax + 0x18], 8
jb 0x14003c5bf
mov rax, qword [rax]
lea rcx, [rbp - 0x55]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rbx
lea r9, [rbp - 0x29]
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rbp - 0x51]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ebx, eax
mov rdx, qword [rbp - 9]
cmp rdx, 8
jb 0x14003c623
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c61e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c7fb
call fcn.1400fb310
mov rcx, qword [rbp - 0x51]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
jne 0x14003c801
mov ebx, dword [rbp - 0x55]
shr rbx, 1
dec rbx
xorps xmm0, xmm0
movups xmmword [rbp - 0x21], xmm0
mov qword [rbp - 0x11], r12
mov qword [rbp - 9], r12
cmp qword [rbp + 0xf], rbx
cmovb rbx, qword [rbp + 0xf]
lea r14, [rbp - 1]
cmp qword [rbp + 0x17], 8
cmovae r14, qword [rbp - 1]
movabs rsi, 0x7ffffffffffffffe
cmp rbx, rsi
ja 0x14003c822
mov qword [rbp - 9], 7
cmp rbx, 8
jae 0x14003c6a3
mov qword [rbp - 0x11], rbx
add rbx, rbx
mov r8, rbx
mov rdx, r14
lea rcx, [rbp - 0x21]
call fcn.1400fd890
mov word [rbp + rbx - 0x21], r12w
jmp 0x14003c6f0
mov rax, rbx
or rax, 7
cmp rax, rsi
ja 0x14003c6be
mov rsi, rax
mov ecx, 0xa
cmp rax, rcx
cmovb rsi, rcx
lea rdx, [rsi + 1]
lea rcx, [rbp - 0x21]
call fcn.140001eb0
mov rdi, rax
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x11], rbx
mov qword [rbp - 9], rsi
add rbx, rbx
mov r8, rbx
mov rdx, r14
mov rcx, rax
call fcn.1400fd890
mov word [rdi + rbx], r12w
lea rax, [rbp - 0x21]
cmp qword [rbp - 9], 8
cmovae rax, qword [rbp - 0x21]
mov qword [rbp - 0x49], rax
mov rax, qword [rbp - 0x11]
mov qword [rbp - 0x41], rax
movaps xmm0, xmmword [rbp - 0x49]
movdqa xmmword [rbp - 0x49], xmm0
lea rdx, [rbp - 0x49]
mov rcx, r15
call fcn.14003d980
nop
mov rdx, qword [rbp - 9]
cmp rdx, 8
jb 0x14003c760
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c75b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c828
call fcn.1400fb310
mov qword [rbp - 0x11], r12
mov qword [rbp - 9], 7
mov word [rbp - 0x21], r12w
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x14003c7ad
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c7a8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003c7ce
call fcn.1400fb310
mov rax, r15
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.1400fb3b0
add rsp, 0xb0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1401025e4
int3
call fcn.1401025e4
int3
lea rdx, str.Failed_to_open_the_registry
lea rcx, [rbp - 0x49]
call fcn.140001430
lea rdx, [0x1401c3140]
lea rcx, [rbp - 0x49]
call fcn.1400fc9b0
nop
call fcn.1401025e4
nop
lea rdx, str.Failed_to_query_the_registry
lea rcx, [rbp - 0x49]
call fcn.140001430
lea rdx, [0x1401c3140]
lea rcx, [rbp - 0x49]
call fcn.1400fc9b0
int3
call fcn.140001e70
int3
call fcn.1401025e4
int3