Function at 0x140155550
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 [0x1402bf5c8]
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 0x1401557a9
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.1401a9cf4
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 0x140155752
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 0x140155651
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.1401d04f0
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 0x14015577e
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 0x1401556a5
lea rcx, [rbp - 0x31]
call fcn.140018360
nop
lea r8, [rbp - 0x31]
mov rdx, qword [rsi]
mov rcx, rsi
call fcn.1400f9d10
nop
mov rdx, qword [rbp - 0x19]
cmp rdx, 8
jb 0x14015570b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140155705
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401557d4
call fcn.1401a9a50
nop
mov rcx, qword [rbp + 0xf]
test rcx, rcx
je 0x140155747
mov rdx, qword [rbp + 0x1f]
sub rdx, rcx
sar rdx, 1
add rdx, rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140155742
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140155778
call fcn.1401a9a50
inc edi
cmp edi, dword [rbp + 3]
jb 0x140155610
mov rax, rsi
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1401a9a30
mov rbx, qword [rsp + 0x110]
add rsp, 0xd0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.1401e3dbc
nop
call fcn.140015e70
mov r8, rax
lea r9, str.Unable_to_get_enumerate_subkeys
mov edx, ebx
lea rcx, [rbp - 0x31]
call fcn.140046020
lea rdx, [0x1402ba948]
lea rcx, [rbp - 0x31]
call fcn.1401cfc8c
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.140046020
lea rdx, [0x1402ba948]
lea rcx, [rbp - 0x31]
call fcn.1401cfc8c
nop
call fcn.1401e3dbc
int3