Function at 0x14000f610
Capabilities:
Get installed programs
Query or enumerate registry value

Disassembly:
jmp 0x14000f610
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
sub rsp, 0x260
mov rax, qword [0x140065210]
xor rax, rsp
mov qword [rsp + 0x250], rax
lea rax, [rsp + 0x38]
mov rbp, rcx
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionUninstallNVIDIA_nView_Desktop_Manager
xor r12d, r12d
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
mov rdi, r12
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ebx, 0x104
lea rsi, [0x140057688]
test eax, eax
jne 0x14000f768
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x34]
lea r9, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
lea rdx, str.InstallLocation
xor r8d, r8d
mov dword [rsp + 0x34], 0x208
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000f754
mov rcx, rbx
lea rax, [rsp + 0x40]
nop dword [rax]
cmp word [rax], di
je 0x14000f6e1
add rax, 2
sub rcx, 1
jne 0x14000f6d0
jmp 0x14000f735
test rcx, rcx
je 0x14000f735
mov rdx, rbx
sub rdx, rcx
mov rcx, rbx
sub rcx, rdx
lea rax, [rsp + rdx*2 + 0x40]
je 0x14000f72d
mov r9, rsi
lea r8, [rcx + rdx + 0x7ffffefb]
sub r9, rax
test r8, r8
je 0x14000f728
movzx edx, word [r9 + rax]
test dx, dx
je 0x14000f728
mov word [rax], dx
add rax, 2
dec r8
sub rcx, 1
jne 0x14000f707
jmp 0x14000f72d
test rcx, rcx
jne 0x14000f731
sub rax, 2
mov word [rax], r12w
lea rcx, [rsp + 0x40]
mov r8, rbp
mov edx, 0x208
call fcn.1400013c5
lea rcx, [rsp + 0x40]
call fcn.14001c7f0
mov rdi, rax
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test rdi, rdi
jne 0x14000f873
lea rax, [rsp + 0x38]
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionUninstallB2FE1952_0186_46C3_BAEC_A80AA35AC5B8_Display.NView
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000f878
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
lea r9, [rsp + 0x34]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
lea rdx, str.InstallLocation
xor r8d, r8d
mov dword [rsp + 0x30], 0x208
mov dword [rsp + 0x34], 1
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000f863
mov rcx, rbx
lea rax, [rsp + 0x40]
cmp word [rax], r12w
je 0x14000f7f7
add rax, 2
sub rcx, 1
jne 0x14000f7e5
jmp 0x14000f844
test rcx, rcx
je 0x14000f844
mov rdx, rbx
sub rdx, rcx
sub rbx, rdx
lea rax, [rsp + rdx*2 + 0x40]
je 0x14000f83c
lea rcx, [rbx + rdx + 0x7ffffefb]
sub rsi, rax
test rcx, rcx
je 0x14000f837
movzx edx, word [rsi + rax]
test dx, dx
je 0x14000f837
mov word [rax], dx
add rax, 2
dec rcx
sub rbx, 1
jne 0x14000f817
jmp 0x14000f83c
test rbx, rbx
jne 0x14000f840
sub rax, 2
mov word [rax], r12w
lea rcx, [rsp + 0x40]
mov r8, rbp
mov edx, 0x208
call fcn.1400013c5
lea rcx, [rsp + 0x40]
call fcn.14001c7f0
mov rdi, rax
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test rdi, rdi
je 0x14000f878
mov rax, rdi
jmp 0x14000f880
mov rcx, rbp
call fcn.14001c900
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.14001e890
lea r11, [rsp + 0x260]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret