Function at 0x180111610
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.18007e390
lea rcx, [rsp + 0x70]
mov rdx, rbx
mov r8, rsi
call fcn.18007e390
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 0x1801116a5
mov qword [rdi], 0
cmp qword [rsp + 0x78], 0
jne 0x180111862
jmp 0x180111876
mov rbx, qword [rsp + 0x40]
mov dword [rsp + 0x3c], 0x800
mov rcx, qword [0x18021a960]
test rcx, rcx
jne 0x1801116d7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x1801118a8
mov rcx, rax
mov qword [0x18021a960], rax
mov r8d, 0x800
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x1801118a8
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 dword [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 0x180111770
mov r8d, dword [rsp + 0x3c]
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
sub rax, rdx
cmp rax, r8
jae 0x180111720
mov rcx, r13
call fcn.180181bc0
mov r15, qword [rsp + 0x58]
jmp 0x180111720
test eax, eax
jne 0x180111831
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.18010bd90
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x1801117ec
nop word cs:[rax + rax]
cmp byte [rax + rdx - 1], 0
jne 0x1801117ee
dec rdx
jne 0x1801117e0
xor edx, edx
mov qword [rdi], rax
mov qword [rdi + 8], rcx
mov qword [rdi + 0x10], rdx
cmp qword [rsp + 0x60], 0
je 0x180111813
mov rcx, qword [0x18021a960]
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 0x180111876
mov rcx, qword [0x18021a960]
xor edx, edx
mov r8, r14
jmp 0x180111870
mov qword [rdi], 0
cmp qword [rsp + 0x60], 0
je 0x180111852
mov rcx, qword [0x18021a960]
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 0x180111876
mov r8, qword [rsp + 0x70]
mov rcx, qword [0x18021a960]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rsp + 0x90], 0
je 0x180111893
mov rcx, qword [0x18021a960]
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.18017f950
ud2