Function at 0x4088b0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x440668
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0x74c
mov eax, dword [0x454688]
xor eax, ebp
mov dword [ebp - 0x2c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x750], ecx
mov dword [ebp - 0x14], 0
mov dword [0x458760], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x750]
call fcn.00401b80
push eax
lea ecx, [ebp - 0x28]
call fcn.004063d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.00406370
test eax, eax
jne 0x40899e
push 0
push 0x652
push 0x10
push 0
push 0x66
lea ecx, [ebp - 0x66c]
call fcn.00401060
mov eax, dword [ebp - 0x66c]
mov dword [ebp - 0x700], eax
mov ecx, dword [ebp - 0x668]
mov dword [ebp - 0x6fc], ecx
mov edx, dword [ebp - 0x664]
mov dword [ebp - 0x6f8], edx
mov eax, dword [ebp - 0x660]
mov dword [ebp - 0x6f4], eax
mov ecx, dword [ebp - 0x65c]
mov dword [ebp - 0x6f0], ecx
mov edx, dword [ebp - 0x658]
mov dword [ebp - 0x6ec], edx
push 0x450068
lea eax, [ebp - 0x700]
push eax
call fcn.0042b425
jmp 0x408a1b
lea ecx, [ebp - 0x28]
call fcn.00406470
test eax, eax
jne 0x408a1b
push 0
push 0x643
push 0x10
push 0
push 0x68
lea ecx, [ebp - 0x684]
call fcn.00401060
mov ecx, dword [ebp - 0x684]
mov dword [ebp - 0x718], ecx
mov edx, dword [ebp - 0x680]
mov dword [ebp - 0x714], edx
mov eax, dword [ebp - 0x67c]
mov dword [ebp - 0x710], eax
mov ecx, dword [ebp - 0x678]
mov dword [ebp - 0x70c], ecx
mov edx, dword [ebp - 0x674]
mov dword [ebp - 0x708], edx
mov eax, dword [ebp - 0x670]
mov dword [ebp - 0x704], eax
push 0x450068
lea ecx, [ebp - 0x718]
push ecx
call fcn.0042b425
mov ecx, dword [ebp - 0x750]
call fcn.00408600
push 0
push 0x80
push 3
push 0
push 3
push SysReAllocStringLen
mov ecx, dword [ebp - 0x750]
call fcn.00406660
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x654], eax
cmp dword [ebp - 0x654], 0xffffffff
jne 0x408b61
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x688], eax
cmp dword [ebp - 0x688], 2
jne 0x408aec
mov ecx, dword [ebp - 0x750]
call fcn.00406660
push eax
push 2
push 0x10
push 0
push 0x70
lea ecx, [ebp - 0x6a0]
call fcn.00401060
mov edx, dword [ebp - 0x6a0]
mov dword [ebp - 0x730], edx
mov eax, dword [ebp - 0x69c]
mov dword [ebp - 0x72c], eax
mov ecx, dword [ebp - 0x698]
mov dword [ebp - 0x728], ecx
mov edx, dword [ebp - 0x694]
mov dword [ebp - 0x724], edx
mov eax, dword [ebp - 0x690]
mov dword [ebp - 0x720], eax
mov ecx, dword [ebp - 0x68c]
mov dword [ebp - 0x71c], ecx
push 0x450068
lea edx, [ebp - 0x730]
push edx
call fcn.0042b425
jmp 0x408b5f
push 0
mov eax, dword [ebp - 0x688]
push eax
push 0x10
push 0
push 0x69
lea ecx, [ebp - 0x6b8]
call fcn.00401060
mov ecx, dword [ebp - 0x6b8]
mov dword [ebp - 0x748], ecx
mov edx, dword [ebp - 0x6b4]
mov dword [ebp - 0x744], edx
mov eax, dword [ebp - 0x6b0]
mov dword [ebp - 0x740], eax
mov ecx, dword [ebp - 0x6ac]
mov dword [ebp - 0x73c], ecx
mov edx, dword [ebp - 0x6a8]
mov dword [ebp - 0x738], edx
mov eax, dword [ebp - 0x6a4]
mov dword [ebp - 0x734], eax
push 0x450068
lea ecx, [ebp - 0x748]
push ecx
call fcn.0042b425
jmp 0x408b6e
mov edx, dword [ebp - 0x654]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x750]
call fcn.00406660
push eax
push 0x30e
lea eax, [ebp - 0x650]
push eax
call fcn.004016e0
mov ecx, dword [ebp - 0x750]
call fcn.00401600
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jbe 0x408bd9
mov ecx, dword [ebp - 0x750]
call fcn.00408f30
mov dword [ebp - 0x754], eax
mov ecx, dword [ebp - 0x754]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x74c], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00406440
mov eax, dword [ebp - 0x74c]
jmp 0x408d96
lea ecx, [ebp - 0x20]
call fcn.004050e0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1c]
call fcn.004050e0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x20]
call fcn.004054c0
lea ecx, [ebp - 0x1c]
call fcn.004054c0
mov ecx, dword [ebp - 0x750]
call fcn.004068c0
push eax
lea ecx, [ebp - 0x20]
call fcn.004051c0
mov ecx, dword [ebp - 0x750]
call fcn.00404d40
push eax
lea ecx, [ebp - 0x1c]
call fcn.004051c0
push 0
push 0x4486cc
lea ecx, [ebp - 0x20]
call fcn.004052c0
test eax, eax
jge 0x408c54
push 0x4486d8
lea eax, [ebp - 0x20]
push eax
call fcn.00409cc0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x408c8c
push str.Msiexec__s___s___s_REBOOTReallySuppress
mov edx, dword [ebp - 0x750]
add edx, 0x55c4
push edx
lea eax, [ebp - 0x650]
push eax
push 0x4486e8
mov ecx, dword [ebp - 0x750]
call fcn.00407420
mov dword [ebp - 0x758], eax
mov ecx, dword [ebp - 0x758]
mov dword [ebp - 0x18], ecx
push 0
push 0x4486f0
lea ecx, [ebp - 0x20]
call fcn.004052c0
cmp eax, 0xffffffff
jne 0x408d15
push 0
push 0x448700
lea ecx, [ebp - 0x20]
call fcn.004052c0
cmp eax, 0xffffffff
jne 0x408d15
push 0
push 0x44870c
lea ecx, [ebp - 0x1c]
call fcn.004052c0
cmp eax, 0xffffffff
jne 0x408d15
push 0x448718
mov ecx, dword [ebp - 0x750]
add ecx, 0x57d4
call fcn.004051c0
mov ecx, dword [ebp - 0x750]
call fcn.00404d40
push eax
mov ecx, dword [ebp - 0x750]
add ecx, 0x57d4
call fcn.00405200
mov ecx, dword [ebp - 0x750]
call fcn.00408dc0
mov dword [ebp - 0x75c], eax
mov edx, dword [ebp - 0x75c]
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1c]
call fcn.00401130
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20]
call fcn.00401130
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00406440
jmp 0x408d8c
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x2c]
xor ecx, ebp
call fcn.004296c6
mov esp, ebp
pop ebp
ret