Function at 0x43594d
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push 0x230
mov eax, 0x4b1089
call fcn.0046ac3c
mov eax, dword [ebp + 0x18]
lea ecx, [ebp - 0x21c]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp + 0x14]
push str.ProcessFileCondition...
mov dword [ebp - 0x230], eax
call fcn.00402829
xor ebx, ebx
lea edx, [ebp - 0x21c]
push ebx
push 2
pop ecx
mov dword [ebp - 4], ebx
call fcn.004174f1
or dword [ebp - 4], 0xffffffff
pop ecx
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov eax, dword [0x515fec]
add eax, 0xfffffff0
mov dword [0x5110e0], 0x270
push eax
call main
add eax, 0x10
pop ecx
mov dword [ebp - 0x238], eax
mov dword [ebp - 4], 1
mov eax, dword [esi]
sub eax, 0x10
push eax
call main
add eax, 0x10
pop ecx
mov dword [ebp - 0x21c], eax
lea edx, [ebp - 0x238]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x21c]
call fcn.004384d2
push 0x4cead0
lea ecx, [ebp - 0x21c]
call main
mov eax, dword [edi]
lea ecx, [ebp - 0x21c]
push dword [eax - 0xc]
push eax
call main
push str.File:
lea ecx, [ebp - 0x228]
call fcn.00402829
push ebx
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 3
push eax
push 2
lea edx, [ebp - 0x228]
pop ecx
call fcn.00416dc0
pop ecx
pop ecx
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x228]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov ecx, dword [ebp - 0x22c]
mov eax, dword [ecx]
cmp dword [eax - 0xc], ebx
jne 0x435ad5
mov eax, dword [ebp - 0x230]
mov eax, dword [eax]
cmp dword [eax - 0xc], ebx
jne 0x435ad5
mov esi, dword [ebp - 0x21c]
push esi
call dword [sym.imp.kernel32.dll_GetFileAttributesW]
mov edx, dword [ebp - 0x220]
xor ecx, ecx
cmp eax, 0xffffffff
mov edi, str.File_not_found
setne cl
mov dword [edx], ecx
mov edx, str.File_found
cmove edx, edi
lea ecx, [ebp - 0x220]
push edx
call fcn.00402829
push ebx
push 2
lea edx, [ebp - 0x220]
mov byte [ebp - 4], 4
pop ecx
call fcn.004174f1
pop ecx
mov ecx, dword [ebp - 0x220]
jmp 0x435cb0
push 0x208
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.004830a0
mov esi, dword [ebp - 0x21c]
lea eax, [ebp - 0x23c]
add esp, 0xc
mov dword [ebp - 0x23c], 0x104
push ebx
push ebx
push eax
lea eax, [ebp - 0x218]
push eax
push esi
call dword [sym.imp.msi.dll_MsiMessageBoxW]
mov edi, eax
test edi, edi
je 0x435b82
mov edx, dword [ebp - 0x220]
lea ecx, [ebp - 0x22c]
push 0x4cead4
mov dword [edx], ebx
call fcn.00402829
push str.MsiGetFileVersion_failed
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 5
call fcn.00402829
push edi
lea eax, [ebp - 0x22c]
mov byte [ebp - 4], 6
push eax
push 2
lea edx, [ebp - 0x220]
pop ecx
call fcn.00416dc0
pop ecx
pop ecx
mov ecx, dword [ebp - 0x220]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov ecx, dword [ebp - 0x22c]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov ebx, edi
jmp 0x435cb8
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x228]
call fcn.00402829
push str.File_version:
lea ecx, [ebp - 0x224]
mov byte [ebp - 4], 7
call fcn.00402829
push ebx
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 8
push eax
push 2
lea edx, [ebp - 0x224]
pop ecx
call fcn.00416dc0
pop ecx
pop ecx
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x224]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov edx, dword [ebp - 0x22c]
lea ecx, [ebp - 0x228]
call main
mov edi, dword [ebp - 0x230]
lea edx, [ebp - 0x228]
mov ecx, edi
mov dword [ebp - 0x224], eax
call main
mov ecx, dword [ebp - 0x224]
mov edx, eax
test ecx, ecx
je 0x435c1a
mov ecx, dword [edi]
cmp dword [ecx - 0xc], 0
je 0x435c34
mov ecx, dword [ebp - 0x224]
test edx, edx
je 0x435c2c
mov eax, dword [ebp - 0x22c]
mov eax, dword [eax]
cmp dword [eax - 0xc], 0
je 0x435c34
test ecx, ecx
je 0x435c39
test edx, edx
je 0x435c39
xor ecx, ecx
inc ecx
jmp 0x435c3b
mov ecx, ebx
mov edx, dword [ebp - 0x220]
test ecx, ecx
mov eax, 0x4f1dec
mov dword [edx], ecx
mov edx, str.not_met
cmove eax, edx
lea ecx, [ebp - 0x234]
push eax
call fcn.00402829
push str.Condition
lea ecx, [ebp - 0x224]
mov byte [ebp - 4], 9
call fcn.00402829
push ebx
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 0xa
push eax
push 2
lea edx, [ebp - 0x224]
pop ecx
call fcn.00416dc0
pop ecx
pop ecx
mov ecx, dword [ebp - 0x224]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov ecx, dword [ebp - 0x234]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov ecx, dword [ebp - 0x228]
lea ecx, [ecx - 0x10]
call fcn.00402e64
lea ecx, [esi - 0x10]
call fcn.00402e64
mov ecx, dword [ebp - 0x238]
add ecx, 0xfffffff0
call fcn.00402e64
mov eax, ebx
call fcn.0046abe6
ret 0x14