Function at 0x140154f60
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xd0
mov rax, qword [0x1402be5c8]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rsi, rdx
mov r14, rcx
mov qword [rbp - 9], rdx
xor r15d, r15d
mov dword [rbp - 0x39], r15d
mov dword [rbp + 3], r15d
mov dword [rbp - 1], r15d
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x48], r15
lea rax, [rbp - 1]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 3]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rcx]
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov ebx, eax
test eax, eax
jne 0x1401551b9
inc dword [rbp - 1]
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi], r15
mov qword [rsi + 8], r15
lea ecx, [rax + 0x30]
call fcn.1401a9704
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsi], rax
mov dword [rbp - 0x39], 1
mov edi, r15d
cmp dword [rbp + 3], r15d
jbe 0x140155162
xorps xmm0, xmm0
mov eax, dword [rbp - 1]
mov ebx, eax
movdqu xmmword [rbp + 0xf], xmm0
mov qword [rbp + 0x1f], r15
test eax, eax
je 0x140155061
mov edx, eax
lea rcx, [rbp + 0xf]
call fcn.140023c30
mov qword [rbp + 0xf], rax
lea r8, [rbx + rbx]
lea rbx, [r8 + rax]
mov qword [rbp + 0x1f], rbx
xor edx, edx
mov rcx, rax
call fcn.1401cff00
mov qword [rbp + 0x17], rbx
mov eax, dword [rbp - 1]
mov dword [rbp + 7], eax
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
lea r9, [rbp + 7]
mov r8, qword [rbp + 0xf]
mov edx, edi
mov rcx, qword [r14]
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
mov ebx, eax
test eax, eax
jne 0x14015518e
mov qword [rbp - 0x31], r15
mov qword [rbp - 0x21], r15
mov qword [rbp - 0x19], 7
mov word [rbp - 0x31], r15w
mov rdx, qword [rbp + 0xf]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], 0
jne 0x1401550b5
lea rcx, [rbp - 0x31]
call fcn.140018360
nop
lea r8, [rbp - 0x31]
mov rdx, qword [rsi]
mov rcx, rsi
call fcn.1400f9640
nop
mov rdx, qword [rbp - 0x19]
cmp rdx, 8
jb 0x14015511b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140155115
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401551e4
call fcn.1401a9460
nop
mov rcx, qword [rbp + 0xf]
test rcx, rcx
je 0x140155157
mov rdx, qword [rbp + 0x1f]
sub rdx, rcx
sar rdx, 1
add rdx, rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140155152
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140155188
call fcn.1401a9460
inc edi
cmp edi, dword [rbp + 3]
jb 0x140155020
mov rax, rsi
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1401a9440
mov rbx, qword [rsp + 0x110]
add rsp, 0xd0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.1401e37cc
nop
call fcn.140015e70
mov r8, rax
lea r9, str.Unable_to_get_enumerate_subkeys
mov edx, ebx
lea rcx, [rbp - 0x31]
call fcn.140045e00
lea rdx, [0x1402b97a8]
lea rcx, [rbp - 0x31]
call fcn.1401cf69c
nop
call fcn.140015e70
mov r8, rax
lea r9, str.Unable_to_get_query_key_information
mov edx, ebx
lea rcx, [rbp - 0x31]
call fcn.140045e00
lea rdx, [0x1402b97a8]
lea rcx, [rbp - 0x31]
call fcn.1401cf69c
nop
call fcn.1401e37cc
int3