Function at 0x180115c30
Capabilities:
Query or enumerate registry value

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
lea rdx, str.SOFTWAREMicrosoftWindows_NTCurrentVersionProductNameWindows_10_CurrentBuildNumber_no_name__Process
lea rcx, [rsp + 0x88]
mov r8d, 0x2c
call fcn.18006efd0
lea rcx, [rsp + 0x70]
mov rdx, rbx
mov r8, rsi
call fcn.18006efd0
mov rsi, qword [rsp + 0x88]
mov qword [rsp + 0x40], 0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov rcx, 0xffffffff80000002
mov rdx, rsi
xor r8d, r8d
mov r9d, 0x20019
call sub.advapi32.dll_RegOpenKeyExW
test eax, eax
je 0x180115cc5
mov qword [rdi], 0
cmp qword [rsp + 0x78], 0
jne 0x180115e92
jmp 0x180115ea6
mov rbx, qword [rsp + 0x40]
mov dword [rsp + 0x3c], 0x800
movzx eax, byte [0x180221a30]
mov rcx, qword [0x1802219b8]
test rcx, rcx
jne 0x180115cfe
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x180115ed8
mov rcx, rax
mov qword [0x1802219b8], rax
mov r8d, 0x800
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x180115ed8
mov r15, rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 0x800
mov qword [rsp + 0x68], 0
mov r14, qword [rsp + 0x70]
lea rbp, [rsp + 0x3c]
lea r12, [rsp + 0x40]
lea r13, [rsp + 0x58]
nop word cs:[rax + rax]
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], r15
mov rcx, rbx
mov rdx, r14
xor r8d, r8d
mov r9, r12
call sub.advapi32.dll_RegQueryValueExW
cmp eax, 0xea
jne 0x180115da0
mov r8d, dword [rsp + 0x3c]
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
sub rax, rdx
cmp rax, r8
jae 0x180115d50
mov rcx, r13
call fcn.180185da0
mov r15, qword [rsp + 0x58]
jmp 0x180115d50
test eax, eax
jne 0x180115e61
mov eax, dword [rsp + 0x3c]
and eax, 0xfffffffe
add rax, r15
mov qword [rsp + 0xa0], r15
mov qword [rsp + 0xa8], rax
mov word [rsp + 0xb0], 0
mov qword [rsp + 0x40], 1
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0xa0]
call fcn.1801103d0
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x180115e1c
nop word cs:[rax + rax]
cmp byte [rax + rdx - 1], 0
jne 0x180115e1e
dec rdx
jne 0x180115e10
xor edx, edx
mov qword [rdi], rax
mov qword [rdi + 8], rcx
mov qword [rdi + 0x10], rdx
cmp qword [rsp + 0x60], 0
je 0x180115e43
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, r15
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, rbx
call sub.advapi32.dll_RegCloseKey
cmp qword [rsp + 0x78], 0
je 0x180115ea6
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, r14
jmp 0x180115ea0
mov qword [rdi], 0
cmp qword [rsp + 0x60], 0
je 0x180115e82
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, r15
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, rbx
call sub.advapi32.dll_RegCloseKey
cmp qword [rsp + 0x78], 0
je 0x180115ea6
mov r8, qword [rsp + 0x70]
mov rcx, qword [0x1802219b8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x90], 0
je 0x180115ec3
mov rcx, qword [0x1802219b8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
nop
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 1
mov edx, 0x800
call fcn.180183f50
ud2