Function at 0x180014860
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
mov qword [rsp + 0x98], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rdi, rcx
mov qword [rax - 0x68], rcx
xor r13d, r13d
mov dword [rsp + 0x58], r13d
mov qword [rcx + 0x20], 7
mov qword [rcx + 0x18], r13
mov word [rcx + 8], r13w
mov dword [rsp + 0x58], 1
mov dword [rsp + 0x44], r13d
mov qword [rsp + 0x48], r13
mov dword [rsp + 0x50], r13d
mov esi, 0x20019
mov dword [rsp + 0x40], r13d
lea rcx, str.kernel32
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.IsWow64Process
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbp, rax
test rax, rax
je 0x180014905
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea rdx, [rsp + 0x40]
call rbp
test eax, eax
je 0x180014912
mov eax, 0x20119
cmp dword [rsp + 0x40], 1
cmove esi, eax
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x180014927
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x48], r13
mov dword [rsp + 0x50], r13d
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9d, esi
xor r8d, r8d
lea rdx, str.SOFTWAREMicrosoftWindows_NTCurrentVersion
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x18001495f
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x48], r13
jmp 0x1800149af
mov dword [rsp + 0x5c], 4
mov dword [rsp + 0x40], 4
mov dword [rsp + 0x44], r13d
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x44]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x5c]
xor r8d, r8d
lea rdx, str.InstallDate
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, dword [rsp + 0x50]
test eax, eax
cmovne ecx, eax
mov dword [rsp + 0x50], ecx
mov eax, dword [rsp + 0x44]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x60], r13d
xor eax, eax
mov dword [rsp + 0x64], eax
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x6c], eax
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x74], eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
mov dword [rsp + 0x80], eax
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x60]
call fcn.18009bb40
mov r9d, dword [rsp + 0x70]
add r9d, 1
mov r8d, dword [rsp + 0x74]
add r8d, 0x76c
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x20], eax
lea rdx, str._04d_02d_02d_02d_02d_02d
mov rcx, rdi
call fcn.180001b90
cmp qword [rdi + 0x18], 0xe
jae 0x180014c77
lea r14, [0x1800cb9cc]
movabs r15, 0x7ffffffffffffffe
nop
nop
nop
mov rcx, qword [rdi + 0x20]
cmp rcx, 8
jb 0x180014a70
mov rax, qword [rdi + 8]
jmp 0x180014a74
lea rax, [rdi + 8]
cmp r14, rax
jb 0x180014bb1
cmp rcx, 8
jb 0x180014a89
mov rax, qword [rdi + 8]
jmp 0x180014a8d
lea rax, [rdi + 8]
mov rdx, qword [rdi + 0x18]
lea rax, [rax + rdx*2]
cmp rax, r14
jbe 0x180014bb1
cmp rcx, 8
jb 0x180014aaa
mov rax, qword [rdi + 8]
jmp 0x180014aae
lea rax, [rdi + 8]
mov r12, r14
sub r12, rax
sar r12, 1
cmp rdx, r12
jae 0x180014ac1
call fcn.180097800
mov rcx, qword [rdi + 0x18]
mov rax, rcx
sub rax, r12
mov ebp, 1
cmp rax, rbp
cmovb rbp, rax
or rax, 0xffffffffffffffff
sub rax, rcx
cmp rax, rbp
jbe 0x180014aec
lea rax, [rcx + rbp]
cmp rax, rcx
jae 0x180014af1
call fcn.180097730
test rbp, rbp
je 0x180014c6c
mov rsi, qword [rdi + 0x18]
add rsi, rbp
cmp rsi, r15
jbe 0x180014b0b
call fcn.180097730
mov rax, qword [rdi + 0x20]
cmp rax, rsi
jae 0x180014b25
mov r8, qword [rdi + 0x18]
mov rdx, rsi
mov rcx, rdi
call fcn.180003d30
jmp 0x180014b48
test rsi, rsi
jne 0x180014b48
mov qword [rdi + 0x18], r13
cmp rax, 8
jb 0x180014b3a
mov rax, qword [rdi + 8]
jmp 0x180014b3e
lea rax, [rdi + 8]
mov word [rax], 0
jmp 0x180014c6c
test rsi, rsi
je 0x180014c6c
mov rdx, qword [rdi + 0x20]
cmp rdx, 8
jb 0x180014b61
mov r8, qword [rdi + 8]
jmp 0x180014b65
lea r8, [rdi + 8]
cmp rdx, 8
jb 0x180014b71
mov rcx, qword [rdi + 8]
jmp 0x180014b75
lea rcx, [rdi + 8]
mov rax, qword [rdi + 0x18]
sub rdx, rax
lea rcx, [rcx + rax*2]
lea r9, [rbp + rbp]
lea r8, [r8 + r12*2]
add rdx, rdx
call fcn.180098b20
mov qword [rdi + 0x18], rsi
cmp qword [rdi + 0x20], 8
jb 0x180014ba2
mov rax, qword [rdi + 8]
jmp 0x180014ba6
lea rax, [rdi + 8]
mov word [rax + rsi*2], 0
jmp 0x180014c6c
mov rcx, qword [rdi + 0x18]
or rax, 0xffffffffffffffff
sub rax, rcx
cmp rax, 1
jbe 0x180014bcb
lea rax, [rcx + 1]
cmp rax, rcx
jae 0x180014bd0
call fcn.180097730
mov rsi, qword [rdi + 0x18]
add rsi, 1
cmp rsi, r15
jbe 0x180014be2
call fcn.180097730
mov rax, qword [rdi + 0x20]
cmp rax, rsi
jae 0x180014bfc
mov r8, qword [rdi + 0x18]
mov rdx, rsi
mov rcx, rdi
call fcn.180003d30
jmp 0x180014c1c
test rsi, rsi
jne 0x180014c1c
mov qword [rdi + 0x18], r13
cmp rax, 8
jb 0x180014c11
mov rax, qword [rdi + 8]
jmp 0x180014c15
lea rax, [rdi + 8]
mov word [rax], 0
jmp 0x180014c6c
test rsi, rsi
je 0x180014c6c
mov rdx, qword [rdi + 0x20]
cmp rdx, 8
jb 0x180014c31
mov rcx, qword [rdi + 8]
jmp 0x180014c35
lea rcx, [rdi + 8]
mov rax, qword [rdi + 0x18]
sub rdx, rax
lea rcx, [rcx + rax*2]
add rdx, rdx
mov r9d, 2
mov r8, r14
call fcn.180098b20
mov qword [rdi + 0x18], rsi
cmp qword [rdi + 0x20], 8
jb 0x180014c62
mov rax, qword [rdi + 8]
jmp 0x180014c66
lea rax, [rdi + 8]
mov word [rax + rsi*2], 0
cmp qword [rdi + 0x18], 0xe
jb 0x180014a60
cmp qword [rdi + 0x18], 0xe
jbe 0x180014cc4
mov r9d, 0xe
xor r8d, r8d
lea rdx, [rsp + 0xa0]
mov rcx, rdi
call fcn.180002ed0
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
mov rcx, rdi
call fcn.1800030f0
nop
cmp qword [rsp + 0xc0], 8
jb 0x180014cc4
mov rcx, qword [rsp + 0xa8]
call fcn.180098980
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x180014cd9
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rax, rdi
jmp 0x180014cdc
mov rax, rdi
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret