Function at 0x180002100
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x390]
sub rsp, 0x490
mov rax, qword [0x180030040]
xor rax, rsp
mov qword [rbp + 0x380], rax
mov rax, r9
mov r14, rdx
mov rbx, qword [rbp + 0x3e0]
cmp qword [r9 + 0x18], 7
jbe 0x180002143
mov rax, qword [r9]
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x20], rcx
mov r9d, 0xf003f
xor r8d, r8d
mov rdx, rax
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x18000235d
mov dword [rsp + 0x30], 0x400
cmp qword [rbx + 0x18], 7
jbe 0x180002180
mov rbx, qword [rbx]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x60]
call fcn.180005ce0
lea rcx, [rsp + 0x60]
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
cmova rcx, r8
mov rax, qword [rsp + 0x70]
lea r15, [rcx + rax*2]
lea rsi, [rsp + 0x60]
cmova rsi, r8
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xor edi, edi
mov ebx, 0xf
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rbx
cmp rsi, r15
jne 0x180002211
mov byte [rsp + 0x40], dil
jmp 0x180002311
mov rax, r15
sub rax, rsi
sar rax, 1
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
ja 0x1800023ab
cmp rax, rbx
jbe 0x1800022c0
mov rbx, rax
or rbx, 0xf
cmp rbx, rcx
jbe 0x180002275
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.180009680
mov rcx, rax
test rax, rax
je 0x18000239f
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1800022ac
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18000229d
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800023a5
jmp 0x180002253
test rcx, rcx
je 0x1800022a9
call fcn.180009680
jmp 0x1800022ac
mov rax, rdi
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x58], rbx
nop word [rax + rax]
lea rcx, [rsp + 0x40]
cmp rbx, 0xf
cmova rcx, qword [rsp + 0x40]
movzx eax, byte [rsi]
mov byte [rdi + rcx], al
mov rdi, qword [rsp + 0x50]
inc rdi
mov qword [rsp + 0x50], rdi
add rsi, 2
cmp rsi, r15
je 0x1800022f2
mov rbx, qword [rsp + 0x58]
jmp 0x1800022c0
lea rax, [rsp + 0x40]
cmp qword [rsp + 0x58], 0xf
cmova rax, qword [rsp + 0x40]
mov byte [rdi + rax], 0
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x60]
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rsp + 0x50]
movups xmmword [r14 + 0x10], xmm1
cmp rdx, 7
jbe 0x180002376
lea rdx, [rdx*2 + 2]
mov rax, r8
cmp rdx, 0x1000
jb 0x180002353
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000239f
mov rcx, r8
call fcn.180009a2c
jmp 0x180002376
xorps xmm0, xmm0
movups xmmword [r14], xmm0
xor edi, edi
mov qword [r14 + 0x10], rdi
mov ebx, 0xf
mov qword [r14 + 0x18], rbx
mov byte [r14], dil
mov rax, r14
mov rcx, qword [rbp + 0x380]
xor rcx, rsp
call fcn.180009660
mov rbx, qword [rsp + 0x4c0]
add rsp, 0x490
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.180010798
int3
call fcn.180001d90
int3
call fcn.180001e30
int3