Function at 0x1800189b0
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 0x180018a55
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea rdx, [rsp + 0x40]
call rbp
test eax, eax
je 0x180018a62
mov eax, 0x20119
cmp dword [rsp + 0x40], 1
cmove esi, eax
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x180018a77
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 0x180018aaf
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x48], r13
jmp 0x180018aff
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.1800a4d30
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.1800049f0
cmp qword [rdi + 0x18], 0xe
jae 0x180018dc7
lea r14, [0x1800d62bc]
movabs r15, 0x7ffffffffffffffe
nop
nop
nop
mov rcx, qword [rdi + 0x20]
cmp rcx, 8
jb 0x180018bc0
mov rax, qword [rdi + 8]
jmp 0x180018bc4
lea rax, [rdi + 8]
cmp r14, rax
jb 0x180018d01
cmp rcx, 8
jb 0x180018bd9
mov rax, qword [rdi + 8]
jmp 0x180018bdd
lea rax, [rdi + 8]
mov rdx, qword [rdi + 0x18]
lea rax, [rax + rdx*2]
cmp rax, r14
jbe 0x180018d01
cmp rcx, 8
jb 0x180018bfa
mov rax, qword [rdi + 8]
jmp 0x180018bfe
lea rax, [rdi + 8]
mov r12, r14
sub r12, rax
sar r12, 1
cmp rdx, r12
jae 0x180018c11
call fcn.1800a0ac0
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 0x180018c3c
lea rax, [rcx + rbp]
cmp rax, rcx
jae 0x180018c41
call fcn.1800a09f0
test rbp, rbp
je 0x180018dbc
mov rsi, qword [rdi + 0x18]
add rsi, rbp
cmp rsi, r15
jbe 0x180018c5b
call fcn.1800a09f0
mov rax, qword [rdi + 0x20]
cmp rax, rsi
jae 0x180018c75
mov r8, qword [rdi + 0x18]
mov rdx, rsi
mov rcx, rdi
call fcn.180003710
jmp 0x180018c98
test rsi, rsi
jne 0x180018c98
mov qword [rdi + 0x18], r13
cmp rax, 8
jb 0x180018c8a
mov rax, qword [rdi + 8]
jmp 0x180018c8e
lea rax, [rdi + 8]
mov word [rax], 0
jmp 0x180018dbc
test rsi, rsi
je 0x180018dbc
mov rdx, qword [rdi + 0x20]
cmp rdx, 8
jb 0x180018cb1
mov r8, qword [rdi + 8]
jmp 0x180018cb5
lea r8, [rdi + 8]
cmp rdx, 8
jb 0x180018cc1
mov rcx, qword [rdi + 8]
jmp 0x180018cc5
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.1800a1c40
mov qword [rdi + 0x18], rsi
cmp qword [rdi + 0x20], 8
jb 0x180018cf2
mov rax, qword [rdi + 8]
jmp 0x180018cf6
lea rax, [rdi + 8]
mov word [rax + rsi*2], 0
jmp 0x180018dbc
mov rcx, qword [rdi + 0x18]
or rax, 0xffffffffffffffff
sub rax, rcx
cmp rax, 1
jbe 0x180018d1b
lea rax, [rcx + 1]
cmp rax, rcx
jae 0x180018d20
call fcn.1800a09f0
mov rsi, qword [rdi + 0x18]
add rsi, 1
cmp rsi, r15
jbe 0x180018d32
call fcn.1800a09f0
mov rax, qword [rdi + 0x20]
cmp rax, rsi
jae 0x180018d4c
mov r8, qword [rdi + 0x18]
mov rdx, rsi
mov rcx, rdi
call fcn.180003710
jmp 0x180018d6c
test rsi, rsi
jne 0x180018d6c
mov qword [rdi + 0x18], r13
cmp rax, 8
jb 0x180018d61
mov rax, qword [rdi + 8]
jmp 0x180018d65
lea rax, [rdi + 8]
mov word [rax], 0
jmp 0x180018dbc
test rsi, rsi
je 0x180018dbc
mov rdx, qword [rdi + 0x20]
cmp rdx, 8
jb 0x180018d81
mov rcx, qword [rdi + 8]
jmp 0x180018d85
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.1800a1c40
mov qword [rdi + 0x18], rsi
cmp qword [rdi + 0x20], 8
jb 0x180018db2
mov rax, qword [rdi + 8]
jmp 0x180018db6
lea rax, [rdi + 8]
mov word [rax + rsi*2], 0
cmp qword [rdi + 0x18], 0xe
jb 0x180018bb0
cmp qword [rdi + 0x18], 0xe
jbe 0x180018e14
mov r9d, 0xe
xor r8d, r8d
lea rdx, [rsp + 0xa0]
mov rcx, rdi
call fcn.180005bb0
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
mov rcx, rdi
call fcn.1800030a0
nop
cmp qword [rsp + 0xc0], 8
jb 0x180018e14
mov rcx, qword [rsp + 0xa8]
call fcn.1800a2030
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x180018e29
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rax, rdi
jmp 0x180018e2c
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