Function at 0x4130d0
Capabilities:
Check if file exists
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x44405b
mov eax, dword fs:[0]
push eax
sub esp, 0x2b0
mov eax, dword [0x4563d4]
xor eax, esp
mov dword [esp + 0x2a8], eax
push ebx
push esi
push edi
mov eax, dword [0x4563d4]
xor eax, esp
push eax
lea eax, [esp + 0x2c0]
mov dword fs:[0], eax
mov edi, ecx
xor ebx, ebx
lea esi, [esp + 0x14]
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], ebx
call fcn.00428ed0
cmp eax, ebx
jne 0x4133e5
mov eax, 0x405
cmp word [esp + 0x14], ax
jb 0x4133e5
mov ecx, edi
call fcn.0040aa90
lea ecx, [esp + 0x1c]
call fcn.00417180
mov dword [esp + 0x2c8], ebx
mov eax, dword [esp + 0x1c]
mov esi, 8
cmp dword [esp + 0x30], esi
jae 0x413167
lea eax, [esp + 0x1c]
push eax
push str.Package_folder_is__s
push 0x4579e4
mov ecx, 0x44842c
call fcn.00404b90
mov eax, dword [esp + 0x28]
add esp, 0xc
cmp dword [esp + 0x30], esi
jae 0x41318d
lea eax, [esp + 0x1c]
push eax
push 0xc
xor edx, edx
xor ecx, ecx
call fcn.0041e600
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4131e2
push str.Error_extracting_packages._This_is_most_likely_caused_by_a_corrupted_installer_package
push 0x4579e4
mov ecx, 0x448290
call fcn.00404b90
add esp, 8
push 0xa9
push ebx
lea ecx, [esp + 0x5c]
push ecx
mov ecx, str.MSISetup.cpp
mov ebx, 0x44967c
call fcn.004073e0
push 0x450a78
lea edx, [esp + 0x58]
push edx
call fcn.0042ed12
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x30], esi
jae 0x4131f0
lea eax, [esp + 0x1c]
lea esi, [edi + 4]
push eax
mov ebx, str.IIF_PACKAGEPATH
mov ecx, esi
call fcn.00413c30
push str.Package_information_
push 0x4579e4
mov ecx, 0x44842c
call fcn.00404b90
mov ebx, dword [edi + 0x114]
add esp, 8
mov dword [esp + 0x14], ebx
cmp ebx, dword [edi + 0x118]
je 0x4133ad
add ebx, 0x4c
mov eax, dword [ebx + 0x74]
test eax, eax
jne 0x4132e6
push str.IIF_PACKAGEPATH
mov edi, esi
call fcn.00413b40
push eax
lea eax, [esp + 0xb0]
push 0x104
push eax
call fcn.0042dc9b
mov edi, 8
add esp, 0xc
cmp dword [ebx - 0x1c], edi
jb 0x41326c
mov eax, dword [ebx - 0x30]
jmp 0x41326f
lea eax, [ebx - 0x30]
push eax
lea ecx, [esp + 0xb0]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea edx, [esp + 0xac]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov edx, 0x4497a0
test eax, eax
jne 0x41329a
mov edx, 0x4497a8
cmp dword [ebx - 4], 0
jne 0x4132a7
mov ecx, str._Not_installed_
jmp 0x4132b3
cmp dword [ebx], edi
jb 0x4132b0
mov ecx, dword [ebx - 0x14]
jmp 0x4132b3
lea ecx, [ebx - 0x14]
cmp dword [ebx + 0x8c], edi
jb 0x4132c0
mov eax, dword [ebx + 0x78]
jmp 0x4132c3
lea eax, [ebx + 0x78]
push edx
push ecx
push eax
push str.__Type_MSI:_ID_s__Installed_version:__s__Extracted:__s
push 0x4579e4
mov ecx, 0x44842c
call fcn.00404b90
mov edi, dword [esp + 0x2c]
add esp, 0x14
jmp 0x41338e
cmp eax, 1
jne 0x41338e
cmp dword [ebx + 0x50], 8
jb 0x4132fa
mov eax, dword [ebx + 0x3c]
jmp 0x4132fd
lea eax, [ebx + 0x3c]
push eax
push esi
lea ecx, [esp + 0x40]
call fcn.004140b0
cmp dword [eax + 0x14], 8
jb 0x413310
mov eax, dword [eax]
push eax
lea eax, [esp + 0xb0]
push 0x104
push eax
call fcn.0042dc9b
add esp, 0xc
cmp dword [esp + 0x4c], 8
jb 0x41333a
mov ecx, dword [esp + 0x38]
push ecx
call fcn.0042d224
add esp, 4
lea edx, [esp + 0xac]
push edx
call dword [sym.imp.SHLWAPI.dll_PathRemoveArgsW]
lea eax, [esp + 0xac]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov ecx, 0x4497a0
test eax, eax
jne 0x413364
mov ecx, 0x4497a8
cmp dword [ebx + 0x8c], 8
jb 0x413372
mov eax, dword [ebx + 0x78]
jmp 0x413375
lea eax, [ebx + 0x78]
push ecx
push eax
push str.__Type_EXE:_ID_s__Extracted:__s
push 0x4579e4
mov ecx, 0x44842c
call fcn.00404b90
add esp, 0x10
mov eax, dword [esp + 0x14]
add eax, 0x124
add ebx, 0x124
mov dword [esp + 0x14], eax
cmp eax, dword [edi + 0x118]
jne 0x413230
cmp dword [esp + 0x30], 8
jb 0x4133c1
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.0042d224
add esp, 4
mov ecx, dword [esp + 0x2c0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2a8]
xor ecx, esp
call fcn.0042d215
mov esp, ebp
pop ebp
ret
push 0x9c
push 0x64d
lea edx, [esp + 0x5c]
push edx
mov ecx, str.MSISetup.cpp
mov ebx, str.MSI_4.5_needed
call fcn.004073e0
push 0x450a78
lea eax, [esp + 0x58]
push eax
call fcn.0042ed12
int3