Function at 0x140006830
Capabilities:
Check if file exists
Create process on windows
Delete file
Get common file path
Get file attributes

Disassembly:
mov rax, rsp
push rbp
lea rbp, reloc.mfc120u.dll_Ordinal_280
sub rsp, 0x210
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x100], rax
xor sil, sil
mov rax, qword [0x140018a88]
mov edx, dword [rax + 8]
lea rcx, [rsp + 0x70]
call fcn.14000ae70
nop
lea rcx, [rsp + 0x70]
call fcn.14000bd00
test al, al
jne 0x1400068c9
mov rax, qword [0x140018248]
test rax, rax
je 0x1400068e1
xor ebx, ebx
mov dword [rax], ebx
mov dword [rsp + 0x20], ebx
lea r9, str.SetCommandType
lea r8, str._s__d
mov edx, 0x104
lea rcx, [rbp - 0x10]
call fcn.140004fa0
lea rcx, [rbp - 0x10]
call fcn.140005030
jmp 0x1400068e1
lea rcx, [rsp + 0x70]
call fcn.14000b690
mov edi, eax
xor edx, edx
cmp eax, 3
jl 0x1400068e9
call fcn.140004780
xor sil, sil
jmp 0x140006cad
mov rcx, qword [0x140018a88]
mov rcx, qword [rcx + 0x48]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x140006ca5
lea rcx, [rsp + 0x70]
call fcn.140009440
cmp dword [rbp - 0x7c], 0
je 0x140006ca5
xor edx, edx
call fcn.140006020
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc120u.dll_Ordinal_296]
nop
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x70]
call fcn.14000ad50
test al, al
jne 0x140006948
xor edx, edx
call fcn.140004780
jmp 0x140006c07
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
call fcn.14000b500
nop
mov rax, qword [rsp + 0x50]
cmp dword [rax - 0x10], 0
jne 0x14000696f
xor edx, edx
call fcn.140004780
jmp 0x140006bfb
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x70]
call fcn.14000c840
nop
mov rcx, qword [rsp + 0x48]
cmp dword [rcx - 0x10], 0
je 0x1400069a8
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400069a8
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
call fcn.140007f20
test al, al
jne 0x1400069b4
xor edx, edx
call fcn.140004780
jmp 0x140006bef
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc120u.dll_Ordinal_296]
nop
mov edx, 0x104
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc120u.dll_Ordinal_4855]
mov rcx, rax
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov edx, eax
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc120u.dll_Ordinal_12110]
mov rax, qword [rsp + 0x38]
cmp dword [rax - 0x10], 0
je 0x140006a22
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x70]
call fcn.14000c840
nop
mov rcx, qword [rax]
call fcn.1400098a0
test eax, eax
sete bl
lea rcx, [rsp + 0x60]
call qword [sym.imp.mfc120u.dll_Ordinal_1030]
test bl, bl
je 0x140006a2e
xor edx, edx
call fcn.140004780
jmp 0x140006be3
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc120u.dll_Ordinal_296]
nop
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc120u.dll_Ordinal_280]
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc120u.dll_Ordinal_4856]
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
or edx, 0xffffffff
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc120u.dll_Ordinal_12110]
lea rdx, str.install.log
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc120u.dll_Ordinal_2373]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140006aa2
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x140006bc3
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x48]
lea rdx, str._i___s___li___s_
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc120u.dll_Ordinal_4612]
lea rdx, str.System32msiexec.exe
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc120u.dll_Ordinal_2373]
lea edx, [rdi + 1]
lea rcx, [rsp + 0x70]
call fcn.14000b5d0
mov dword [rbp - 0x7c], 2
xor ebx, ebx
mov r9d, ebx
lea r8, str.updateStatus
lea r10, str.updateStatus
lea r11, [0x140012180]
nop
mov rdx, qword [r8]
or rax, 0xffffffffffffffff
nop word [rax + rax]
movzx ecx, word [rdx + rax*2 + 2]
cmp cx, word [r10 + rax*2 + 2]
jne 0x140006b32
add rax, 2
cmp rax, 0xd
je 0x140006b40
movzx ecx, word [rdx + rax*2]
cmp cx, word [r10 + rax*2]
je 0x140006b10
inc r9d
add r8, 8
cmp r8, r11
jge 0x140006b62
jmp 0x140006b00
movsxd rax, r9d
lea rcx, [rbp - 0x78]
lea rcx, [rcx + rax*8]
lea rdx, [0x140012010]
call qword [sym.imp.mfc120u.dll_Ordinal_1498]
lea rcx, [rsp + 0x70]
call fcn.14000b2d0
lea rcx, [rsp + 0x70]
call fcn.14000b2d0
call fcn.140004a10
test al, al
je 0x140006b81
movzx ecx, al
call fcn.140004930
test al, al
jne 0x140006bc3
mov rax, qword [0x140018248]
test rax, rax
je 0x140006b9a
cmp byte [rax + 0x4d4], bl
mov ecx, 3
jne 0x140006b9f
mov ecx, 4
mov r8, qword [rsp + 0x30]
lea rdx, [rsp + 0x70]
call fcn.140008ea0
call fcn.140004a10
test al, al
je 0x140006c1a
movzx ecx, al
call fcn.140004930
test al, al
je 0x140006c1a
xor edx, edx
call fcn.140004780
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc120u.dll_Ordinal_1030]
nop
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc120u.dll_Ordinal_1030]
nop
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc120u.dll_Ordinal_1030]
nop
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc120u.dll_Ordinal_1030]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.mfc120u.dll_Ordinal_1030]
nop
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc120u.dll_Ordinal_1030]
xor sil, sil
jmp 0x140006cad
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
call fcn.140006d10
mov dword [rsp + 0x28], 5
mov qword [rsp + 0x20], rbx
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x38]
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
movzx esi, sil
mov ecx, 1
cmp eax, 0x20
cmovg esi, ecx
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc120u.dll_Ordinal_1030]
nop
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc120u.dll_Ordinal_1030]
nop
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc120u.dll_Ordinal_1030]
nop
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc120u.dll_Ordinal_1030]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.mfc120u.dll_Ordinal_1030]
nop
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc120u.dll_Ordinal_1030]
xor edx, edx
call fcn.140004780
nop
mov r9, qword [sym.imp.mfc120u.dll_Ordinal_1030]
mov edx, 8
lea r8d, [rdx + 4]
lea rcx, [rbp - 0x78]
call fcn.14000d248
nop
lea rcx, [rsp + 0x78]
call qword [sym.imp.mfc120u.dll_Ordinal_1030]
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.mfc120u.dll_Ordinal_1030]
movzx eax, sil
mov rcx, qword [rbp + 0x100]
xor rcx, rsp
call fcn.14000cf10
lea r11, [rsp + 0x210]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret