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

Disassembly:
push 0x22c
mov eax, 0x453ae8
call fcn.0043bf73
mov eax, dword [ebp + 8]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x234], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp + 0x14]
mov esi, ecx
push str.ProcessFileCondition...
lea ecx, [ebp - 0x22c]
mov dword [ebp - 0x230], eax
call fcn.0040215a
xor edi, edi
push edi
lea eax, [ebp - 0x22c]
push eax
push 2
mov dword [ebp - 4], edi
call fcn.0040e5e0
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x22c]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004025dc
push 0x48a964
lea ecx, [ebp - 0x22c]
call fcn.0040219e
xor ebx, ebx
inc ebx
mov dword [ebp - 4], ebx
push dword [ebp - 0x220]
lea ecx, [ebp - 0x220]
call fcn.0040219e
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 2
call fcn.0041d2a6
lea ecx, [ebp - 0x220]
mov dword [esp], 0x45dd50
call fcn.0040893e
push dword [ebp - 0x234]
lea ecx, [ebp - 0x220]
call fcn.00401f30
push str.File:
lea ecx, [ebp - 0x228]
call fcn.0040215a
push edi
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x228]
push eax
push 2
mov byte [ebp - 4], 3
call fcn.0040e15a
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x228]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004025dc
mov eax, dword [esi]
cmp dword [eax - 0xc], edi
jne 0x41c3a4
mov eax, dword [ebp - 0x21c]
mov eax, dword [eax]
cmp dword [eax - 0xc], edi
jne 0x41c3a4
mov esi, dword [ebp - 0x220]
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
mov eax, ecx
mov ecx, dword [ebp - 0x230]
mov dword [ecx], eax
cmp eax, edi
mov eax, str.File_found
jne 0x41c36c
mov eax, str.File_not_found
push eax
lea ecx, [ebp - 0x21c]
call fcn.0040215a
push edi
lea eax, [ebp - 0x21c]
push eax
push 2
mov byte [ebp - 4], 4
call fcn.0040e5e0
mov ecx, dword [ebp - 0x21c]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004025dc
lea ecx, [esi - 0x10]
jmp 0x41c518
xor eax, eax
push 0x206
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push edi
push eax
call fcn.0043a400
add esp, 0xc
push edi
push edi
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x220]
mov dword [ebp - 0x238], 0x104
call sub.msi.dll_MsiMessageBoxW
test eax, eax
je 0x41c41c
push str.File_does_not_have_version
lea ecx, [ebp - 0x21c]
call fcn.0040215a
push edi
lea eax, [ebp - 0x21c]
push eax
push 2
mov byte [ebp - 4], 5
call fcn.0040e5e0
mov ecx, dword [ebp - 0x21c]
add esp, 0xc
jmp 0x41c507
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x228]
call fcn.0040215a
push str.File_version:
lea ecx, [ebp - 0x224]
mov byte [ebp - 4], 6
call fcn.0040215a
push edi
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x224]
push eax
push 2
mov byte [ebp - 4], 7
call fcn.0040e15a
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x224]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004025dc
lea eax, [ebp - 0x228]
push esi
push eax
call fcn.00424ba5
mov dword [ebp - 0x224], eax
lea eax, [ebp - 0x228]
push eax
push dword [ebp - 0x21c]
call fcn.00424ba5
add esp, 0x10
cmp dword [ebp - 0x224], edi
je 0x41c4ae
mov ecx, dword [ebp - 0x21c]
mov ecx, dword [ecx]
cmp dword [ecx - 0xc], edi
je 0x41c4c5
cmp eax, edi
je 0x41c4b9
mov ecx, dword [esi]
cmp dword [ecx - 0xc], edi
je 0x41c4c5
cmp dword [ebp - 0x224], edi
je 0x41c501
cmp eax, edi
je 0x41c501
push str.Condition_met
lea ecx, [ebp - 0x224]
call fcn.0040215a
push edi
lea eax, [ebp - 0x224]
push eax
push 2
mov byte [ebp - 4], 8
call fcn.0040e5e0
mov ecx, dword [ebp - 0x224]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004025dc
mov eax, dword [ebp - 0x230]
mov dword [eax], ebx
mov ecx, dword [ebp - 0x228]
add ecx, 0xfffffff0
call fcn.004025dc
mov ecx, dword [ebp - 0x220]
add ecx, 0xfffffff0
call fcn.004025dc
mov ecx, dword [ebp - 0x22c]
add ecx, 0xfffffff0
call fcn.004025dc
xor eax, eax
call fcn.0043bff6
ret 0x10