Function at 0x180008f40
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf]
sub rsp, 0xd8
mov qword [rbp - 0x69], 0xfffffffffffffffe
mov rax, qword [0x1800900b0]
xor rax, rsp
mov qword [rbp - 1], rax
mov rsi, r9
mov qword [rbp - 0x71], r9
mov r13, r8
mov rdi, rdx
mov r15, rcx
mov r12, qword [rbp + 0x77]
mov rax, qword [rbp + 0x7f]
lea rdx, [0x18006c608]
test rax, rax
cmovne rdx, rax
movdqa xmm0, xmmword [0x18006c680]
movdqu xmmword [rbp - 0x51], xmm0
xor r14d, r14d
mov word [rbp - 0x61], r14w
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp word [rdx + r8*2], r14w
jne 0x180008fb4
lea rcx, [rbp - 0x61]
call fcn.180005be0
nop
mov qword [rsp + 0x38], r14
mov qword [rbp - 0x79], r14
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r14
cmp qword [r15 + 0x18], 0
ja 0x18000906f
lea rcx, [rbp - 0x21]
call fcn.180007e00
mov rsi, rax
lea r14, [r15 + 8]
cmp r14, rax
je 0x180009028
mov rcx, r14
call fcn.180005b70
movups xmm0, xmmword [rsi]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [r14 + 0x10], xmm1
xor r14d, r14d
mov qword [rsi + 0x10], r14
mov qword [rsi + 0x18], 7
mov word [rsi], r14w
jmp 0x18000902b
xor r14d, r14d
mov rdx, qword [rbp - 9]
cmp rdx, 8
jb 0x18000906b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180009066
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000949c
call fcn.18001f4e0
mov rsi, qword [rbp - 0x71]
lea rdx, [r15 + 8]
cmp qword [rdx + 0x18], 8
jb 0x18000907d
mov rdx, qword [rdx]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
xor r8d, r8d
mov rcx, 0xffffffff80000003
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x18000911e
lea rdx, [rbp - 0x61]
cmp qword [rbp - 0x49], 8
cmovae rdx, qword [rbp - 0x61]
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], 7
mov word [rdi], r14w
nop
inc rbx
cmp word [rdx + rbx*2], 0
jne 0x1800090c0
mov r8, rbx
mov rcx, rdi
call fcn.180005be0
nop
mov rdx, qword [rbp - 0x49]
cmp rdx, 8
jb 0x180009479
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x61]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180009474
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800094a2
jmp 0x180009474
lea rax, [rbp - 0x79]
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
xor r8d, r8d
lea rdx, str.SoftWare
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x1800091d1
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rdx, [rbp - 0x61]
cmp qword [rbp - 0x49], 8
cmovae rdx, qword [rbp - 0x61]
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], 7
mov word [rdi], r14w
inc rbx
cmp word [rdx + rbx*2], 0
jne 0x180009173
mov r8, rbx
mov rcx, rdi
call fcn.180005be0
nop
mov rdx, qword [rbp - 0x49]
cmp rdx, 8
jb 0x180009479
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x61]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180009474
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800094a8
jmp 0x180009474
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
xor r8d, r8d
mov rdx, r13
mov rcx, qword [rbp - 0x79]
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x18000928e
mov rcx, qword [rbp - 0x79]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rdx, [rbp - 0x61]
cmp qword [rbp - 0x49], 8
cmovae rdx, qword [rbp - 0x61]
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], 7
mov word [rdi], r14w
nop dword [rax]
inc rbx
cmp word [rdx + rbx*2], 0
jne 0x180009230
mov r8, rbx
mov rcx, rdi
call fcn.180005be0
nop
mov rdx, qword [rbp - 0x49]
cmp rdx, 8
jb 0x180009479
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x61]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180009474
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800094ae
jmp 0x180009474
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
xor r8d, r8d
mov rdx, rsi
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x180009337
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rdx, [rbp - 0x61]
cmp qword [rbp - 0x49], 8
cmovae rdx, qword [rbp - 0x61]
mov rcx, rdi
call fcn.180008ae0
nop
mov rdx, qword [rbp - 0x49]
cmp rdx, 8
jb 0x180009479
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x61]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180009474
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800094b4
jmp 0x180009474
lea rdx, [rbp - 0x61]
lea rcx, [rbp - 0x41]
call fcn.180005d70
nop
mov dword [rsp + 0x30], r14d
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
mov rdx, r12
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x1800093f1
inc eax
mov dword [rsp + 0x30], eax
mov ecx, eax
mov eax, 2
mul rcx
cmovo rax, rbx
mov rcx, rax
call fcn.18001fd14
mov rsi, rax
mov r8d, dword [rsp + 0x30]
xor edx, edx
mov rcx, rax
call fcn.18003eed0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
mov rdx, r12
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1800093e9
nop word [rax + rax]
inc rbx
cmp word [rsi + rbx*2], 0
jne 0x1800093d0
mov r8, rbx
mov rdx, rsi
lea rcx, [rbp - 0x41]
call fcn.180005be0
mov rcx, rsi
call fcn.18001f4e0
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rbp - 0x79]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
movups xmm0, xmmword [rbp - 0x41]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbp - 0x31]
movups xmmword [rdi + 0x10], xmm1
movdqa xmm0, xmmword [0x18006c680]
movdqu xmmword [rbp - 0x31], xmm0
mov word [rbp - 0x41], r14w
mov rdx, qword [rbp - 0x49]
cmp rdx, 8
jb 0x180009479
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x61]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180009474
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800094ba
call fcn.18001f4e0
mov rax, rdi
mov rcx, qword [rbp - 1]
xor rcx, rsp
call fcn.18001fcf0
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.180041e0c
nop
call fcn.180041e0c
int3
call fcn.180041e0c
int3
call fcn.180041e0c
int3
call fcn.180041e0c
int3
call fcn.180041e0c
int3