Function at 0x1400023a0
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x1b8
mov qword [rsp + 0x188], 0xfffffffffffffffe
mov rax, qword [0x14007d2f0]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
mov dword [rsp + 0x28], 0
mov rdx, qword [rsp + 0x1c0]
lea rcx, [rsp + 0x20]
call fcn.140008540
nop
lea rcx, [rsp + 0x168]
call fcn.1400084e0
nop
lea rdx, [0x14005cb94]
lea rcx, [rsp + 0x160]
call fcn.140008540
nop
lea rcx, [rsp + 0x160]
call fcn.140003f30
movzx eax, al
mov dword [rsp + 0x2c], eax
cmp dword [rsp + 0x2c], 0
jne 0x14000246a
mov dword [rsp + 0x174], 0x3e8
lea rcx, [rsp + 0x160]
call fcn.1400085c0
nop
lea rcx, [rsp + 0x168]
call fcn.1400085c0
nop
lea rcx, [rsp + 0x20]
call fcn.1400085c0
mov eax, dword [rsp + 0x174]
jmp 0x1400026db
mov r9, qword [rsp + 0x20]
lea r8, str.__szMSICommandline:__s
mov edx, VariantTimeToDosDateTime
lea rcx, [0x14007f0e0]
call fcn.140021a10
lea rcx, [rsp + 0x160]
call fcn.140008670
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.140007490
test eax, eax
je 0x1400024fa
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x178]
call fcn.140007910
mov qword [rsp + 0x190], rax
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x198], rax
mov rdx, qword [rsp + 0x198]
lea rcx, [rsp + 0x20]
call fcn.1400085e0
nop
lea rcx, [rsp + 0x178]
call fcn.1400085c0
mov edx, 0xffffffff
lea rcx, [rsp + 0x20]
call fcn.140008700
mov r9, qword [rsp + 0x20]
lea r8, str.Call_msiexec:__Commandline__s
mov edx, VariantTimeToDosDateTime
lea rcx, [0x14007f0e0]
call fcn.140021a10
mov dword [rsp + 0x40], 0x11c
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x14000268e
cmp dword [rsp + 0x44], 6
jb 0x1400025f9
lea r8, str.OS_Vista:__use_ShellExecute
mov edx, VariantTimeToDosDateTime
lea rcx, [0x14007f0e0]
call fcn.140021a10
lea rcx, [rsp + 0x20]
call fcn.140008670
mov rdx, qword [rsp + 0x1c8]
mov rcx, rax
call fcn.140003150
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x170], 0
jmp 0x1400025a0
mov eax, dword [rsp + 0x170]
add eax, 1
mov dword [rsp + 0x170], eax
cmp dword [rsp + 0x170], 0xa
jge 0x1400025f7
cmp dword [rsp + 0x28], 0x652
jne 0x1400025f7
mov ecx, 0x7530
call qword [sym.imp.KERNEL32.dll_Sleep]
lea r8, str.try_again_by_Failed_to_grab_execution_mutex
mov edx, VariantTimeToDosDateTime
lea rcx, [0x14007f0e0]
call fcn.140021a10
lea rcx, [rsp + 0x20]
call fcn.140008670
mov rdx, qword [rsp + 0x1c8]
mov rcx, rax
call fcn.140003150
mov dword [rsp + 0x28], eax
jmp 0x14000258f
jmp 0x14000262f
lea r8, str.OS_XP:__use_CreateProcess
mov edx, VariantTimeToDosDateTime
lea rcx, [0x14007f0e0]
call fcn.140021a10
lea rcx, [rsp + 0x20]
call fcn.140008670
mov rdx, qword [rsp + 0x1c8]
mov rcx, rax
call fcn.140002780
mov dword [rsp + 0x28], eax
cmp dword [rsp + 0x28], 0x643
jne 0x14000264e
lea r8, str.MSI_Error:_A_fatal_error_occurred_during__un_installation
xor edx, edx
lea rcx, [0x14007f0e0]
call fcn.140021a10
cmp dword [rsp + 0x28], 0x64c
jne 0x14000266d
lea r8, str.MSI_Error:_The__un_installation_source_for_this_product_is_not_available.
xor edx, edx
lea rcx, [0x14007f0e0]
call fcn.140021a10
cmp dword [rsp + 0x28], 0x653
jne 0x14000268c
lea r8, str.MSI_Error:__un_This_installation_package_could_not_be_opened.
xor edx, edx
lea rcx, [0x14007f0e0]
call fcn.140021a10
jmp 0x1400026a3
lea r8, str.error_by_OS_determination
xor edx, edx
lea rcx, [0x14007f0e0]
call fcn.140021a10
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x180], eax
lea rcx, [rsp + 0x160]
call fcn.1400085c0
nop
lea rcx, [rsp + 0x168]
call fcn.1400085c0
nop
lea rcx, [rsp + 0x20]
call fcn.1400085c0
mov eax, dword [rsp + 0x180]
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.14003a760
add rsp, 0x1b8
ret