Function at 0x4427f0
Capabilities:
Check if file exists
Create process on windows
Get file attributes

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5440a6
mov eax, dword fs:[0]
push eax
push ecx
push ebx
sub esp, 0x4b0
mov eax, dword [0x5868f4]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, dword [ebx + 8]
push esi
mov dword [ebp - 0x4c4], esi
mov dword [ebp - 0x434], 0
call fcn.00443dc0
mov dword [ebp - 0x434], eax
test eax, eax
je 0x442876
push str.Failed_to_form_execution_parameters_for_MSI_run
push eax
push 0x58ba20
call fcn.00437520
mov eax, dword [ebp - 0x434]
add esp, 0xc
jmp 0x442d04
xor ecx, ecx
mov dword [ebp - 0x438], 7
push 0xffffffffffffffff
push ecx
lea eax, [esi + 0x48]
mov word [ebp - 0x44c], cx
push eax
lea ecx, [ebp - 0x44c]
mov dword [ebp - 0x43c], 0
call fcn.00403ec0
push 0x208
lea eax, [ebp - 0x430]
mov dword [ebp - 4], 0
push 0
push eax
call fcn.00516d20
add esp, 0xc
lea eax, [ebp - 0x430]
push str.MsiLog_5.4.0.10
push 0x58ba20
push str._s_s
push eax
call fcn.00431650
add esp, 0x10
lea eax, [ebp - 0x430]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
setne al
test al, al
jne 0x442931
push ecx
lea ecx, [ebp - 0x430]
call fcn.00430ed0
mov dword [ebp - 0x434], eax
test eax, eax
je 0x442931
lea ecx, [ebp - 0x430]
push ecx
push str.Failed_to_create_the_log_directory___s_
push eax
push 0x58ba20
call fcn.00437520
add esp, 0x10
mov dword [ebp - 0x434], 0
push 0x208
lea eax, [ebp - 0x228]
push 0
push eax
call fcn.00516d20
add esp, 0xc
lea eax, [ebp - 0x460]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [ebp - 0x454]
push eax
movzx eax, word [ebp - 0x456]
push eax
movzx eax, word [ebp - 0x458]
push eax
movzx eax, word [ebp - 0x45a]
push eax
movzx eax, word [ebp - 0x45e]
push eax
lea eax, [ebp - 0x430]
push eax
lea eax, [ebp - 0x228]
push str._sMsiLog__02d_02d_02d_02d_02d.LOG
push eax
call fcn.00431650
add esp, 0x20
cmp word [ebp - 0x228], 0
jne 0x4429a5
xor ecx, ecx
jmp 0x4429bf
lea ecx, [ebp - 0x228]
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4429b0
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x228]
lea edi, [esi + 0x60]
push eax
mov ecx, edi
call fcn.00403fe0
xor ecx, ecx
mov eax, 0x11
cmp word [str.__Lvoicewarmup_x], cx
cmove eax, ecx
lea ecx, [ebp - 0x44c]
push eax
push str.__Lvoicewarmup_x
call fcn.0040c930
push 1
push 0x564e24
lea ecx, [ebp - 0x44c]
call fcn.0040c930
cmp word [ebp - 0x228], 0
jne 0x442a13
xor ecx, ecx
jmp 0x442a2f
lea ecx, [ebp - 0x228]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x442a20
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x44c]
call fcn.0040c930
push 1
push 0x564e24
lea ecx, [ebp - 0x44c]
call fcn.0040c930
mov eax, dword [ebp - 0x43c]
xor esi, esi
inc eax
mov dword [ebp - 0x450], esi
mov dword [ebp - 0x4c0], eax
mov edx, eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4bc]
call fcn.0040db10
lea ecx, [ebp - 0x450]
cmp ecx, eax
je 0x442a92
mov esi, dword [eax]
mov dword [eax], 0
mov dword [ebp - 0x450], esi
mov eax, dword [ebp - 0x4bc]
test eax, eax
je 0x442aa5
push eax
call fcn.004fdfa4
add esp, 4
mov dword [ebp - 4], 1
lea eax, [ebp - 0x44c]
cmp dword [ebp - 0x438], 8
cmovae eax, dword [ebp - 0x44c]
push eax
push dword [ebp - 0x4c0]
push esi
call fcn.0052c361
add esp, 0xc
push esi
push str.MSI_path_and_parameters:_n_s
push 0x58ba20
call fcn.00437400
add esp, 0xc
lea eax, [ebp - 0x4a8]
push 0x44
push 0
push eax
call fcn.00516d20
add esp, 0xc
mov dword [ebp - 0x4a8], 0x44
xorps xmm0, xmm0
movups xmmword [ebp - 0x4b8], xmm0
push str.Invoking_the_MSI_now.
push 0x58ba20
call fcn.00437360
add esp, 8
lea eax, [ebp - 0x4b8]
push eax
lea eax, [ebp - 0x4a8]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push esi
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x442b83
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov dword [ebp - 0x434], edi
test esi, esi
je 0x442b5e
push esi
call fcn.004fdfa4
add esp, 4
mov ecx, dword [ebp - 0x438]
cmp ecx, 8
jb 0x442b7c
inc ecx
push ecx
push dword [ebp - 0x44c]
lea ecx, [ebp - 0x44c]
call fcn.00403300
mov eax, edi
jmp 0x442d04
push str.Waiting_for_the_MSI_installer_to_finish_executing...
push 0x58ba20
call fcn.00437360
add esp, 8
push 0xffffffffffffffff
push dword [ebp - 0x4b8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [ebp - 0x434]
push eax
push dword [ebp - 0x4b8]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
jne 0x442bc8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x434], eax
jmp 0x442bce
mov eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 0x4b8]
test ecx, ecx
je 0x442bf4
cmp ecx, 0xffffffff
je 0x442bf4
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x434]
mov dword [ebp - 0x4b8], 0xffffffff
mov ecx, dword [ebp - 0x4b4]
test ecx, ecx
je 0x442c1a
cmp ecx, 0xffffffff
je 0x442c1a
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x434]
mov dword [ebp - 0x4b4], 0xffffffff
cmp eax, 0x656
jne 0x442c63
cmp dword [edi + 0x14], 8
jb 0x442c2b
mov eax, dword [edi]
jmp 0x442c2d
mov eax, edi
push eax
push str.MSI_installer_was_not_able_to_create_log_to_the_file__s
push 0x58ba20
call fcn.00437490
add esp, 0xc
push str.Retrying_installation_using_log_path_in_current_directory
push 0x58ba20
call fcn.00437360
add esp, 8
push dword [ebp - 0x4c4]
call fcn.00442d30
mov dword [ebp - 0x434], eax
cmp eax, 0xbc2
jne 0x442c85
push str.MSI_installation_has_succeeded__but_a_reboot__not_mandatory__is_required_to_clean_up_some_files
push 0x58ba20
call fcn.00437490
mov dword [ebp - 0x434], 0
jmp 0x442cad
test eax, eax
je 0x442c9e
push str.MSI_installation_has_failed
push eax
push 0x58ba20
call fcn.00437520
add esp, 0xc
jmp 0x442cb0
push str.MSI_installation_has_succeeded.
push 0x58ba20
call fcn.00437360
add esp, 8
cmp dword [edi + 0x14], 8
jb 0x442cb8
mov edi, dword [edi]
push edi
push str.Path_to_MSI_installation_log:__s
push 0x58ba20
call fcn.00437360
mov edi, dword [ebp - 0x434]
add esp, 0xc
jmp 0x442b51
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.004fdf3d
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4