Function at 0x180051700
Capabilities:
Link many functions at runtime

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
mov qword [rbp - 0x39], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x180106010]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov r15, rdx
xor r12d, r12d
mov qword [rbp - 9], r12
lea ecx, [r12 + 0x10]
call fcn.180086a58
mov rbx, rax
mov qword [rbp - 1], rax
mov dword [rax], r12d
lea rdx, str.Advapi32.dll
lea rcx, [rbp - 0x31]
call fcn.180005ef8
nop
call fcn.18005e290
mov rcx, rax
lea rdx, [rbp - 0x31]
call fcn.18005e330
mov qword [rbx + 8], rax
lea rcx, [rbp - 0x31]
call fcn.180005bf4
nop
mov qword [rbp - 9], rbx
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionUninstall_
lea rcx, [rbp + 7]
call fcn.180005ef8
nop
mov qword [rbp - 0x11], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x18005182b
lea rdx, [0x1800d3030]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
test rax, rax
je 0x18005182b
mov edi, dword [rbx]
or edi, 0x20019
lea rcx, [rbp + 7]
call fcn.180005be4
mov rdx, rax
lea rax, [rbp - 0x11]
mov qword [rsp + 0x20], rax
mov r9d, edi
xor r8d, r8d
mov rcx, 0xffffffff80000002
call rsi
test eax, eax
jne 0x18005182b
mov r9, r15
mov r8, qword [rbp - 0x11]
lea rdx, [rbp - 9]
call fcn.180051a60
mov rbx, qword [rbp - 9]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x18005182b
lea rdx, [0x1800d3058]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x18005182b
mov rcx, qword [rbp - 0x11]
test rcx, rcx
je 0x18005182b
call rax
mov qword [rbp - 0x11], r12
mov qword [rbp - 1], r12
mov qword [rbp - 1], r12
mov qword [rbp - 0x11], r12
mov edx, 0x20019
lea rcx, [rbp - 1]
call fcn.18005d790
mov rsi, rax
mov qword [rbp - 0x11], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1800518da
lea rdx, [0x1800d3030]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, rax
test rax, rax
je 0x1800518da
test rsi, rsi
je 0x1800518da
mov edi, dword [rbx]
or edi, 0x20019
lea rcx, [rbp + 7]
call fcn.180005be4
mov rdx, rax
lea rax, [rbp - 0x11]
mov qword [rsp + 0x20], rax
mov r9d, edi
xor r8d, r8d
mov rcx, rsi
call r14
test eax, eax
jne 0x1800518da
mov r9, r15
mov r8, qword [rbp - 0x11]
lea rdx, [rbp - 9]
call fcn.180051a60
mov rbx, qword [rbp - 9]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1800518da
lea rdx, [0x1800d3058]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1800518da
mov rcx, qword [rbp - 0x11]
test rcx, rcx
je 0x1800518da
call rax
mov dword [rbx], 0x200
mov qword [rbp - 0x11], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x180051971
lea rdx, [0x1800d3030]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, rax
test rax, rax
je 0x180051971
mov edi, dword [rbx]
or edi, 0x20019
lea rcx, [rbp + 7]
call fcn.180005be4
mov rdx, rax
lea rax, [rbp - 0x11]
mov qword [rsp + 0x20], rax
mov r9d, edi
xor r8d, r8d
mov rcx, 0xffffffff80000002
call r14
test eax, eax
jne 0x180051971
mov r9, r15
mov r8, qword [rbp - 0x11]
lea rdx, [rbp - 9]
call fcn.180051a60
mov rbx, qword [rbp - 9]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x180051971
lea rdx, [0x1800d3058]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x180051971
mov rcx, qword [rbp - 0x11]
test rcx, rcx
je 0x180051971
call rax
mov qword [rbp - 0x11], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x180051a07
lea rdx, [0x1800d3030]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, rax
test rax, rax
je 0x180051a07
test rsi, rsi
je 0x180051a07
mov edi, dword [rbx]
or edi, 0x20019
lea rcx, [rbp + 7]
call fcn.180005be4
mov rdx, rax
lea rax, [rbp - 0x11]
mov qword [rsp + 0x20], rax
mov r9d, edi
xor r8d, r8d
mov rcx, rsi
call r14
test eax, eax
jne 0x180051a07
mov r9, r15
mov r8, qword [rbp - 0x11]
lea rdx, [rbp - 9]
call fcn.180051a60
mov rbx, qword [rbp - 9]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x180051a07
lea rdx, [0x1800d3058]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x180051a07
mov rcx, qword [rbp - 0x11]
test rcx, rcx
je 0x180051a07
call rax
mov qword [rbp - 0x11], r12
cmp qword [rbp - 1], 0
je 0x180051a18
lea rcx, [rbp - 1]
call fcn.18005d8d0
nop
lea rcx, [rbp + 7]
call fcn.180005bf4
nop
mov edx, 0x10
mov rcx, rbx
call fcn.1800862a4
mov qword [rbp - 9], r12
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.180086280
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret