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

Disassembly:
push 0x230
mov eax, 0x4b2b79
call fcn.0046c66c
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.00417741
or dword [ebp - 4], 0xffffffff
pop ecx
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov eax, dword [0x519fec]
add eax, 0xfffffff0
mov dword [0x5150e0], 0x270
push eax
call fcn.00402d9f
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 fcn.00402d9f
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.00438922
push 0x4d0aa0
lea ecx, [ebp - 0x21c]
call fcn.0040259d
mov eax, dword [edi]
lea ecx, [ebp - 0x21c]
push dword [eax - 0xc]
push eax
call fcn.004025c6
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.00417010
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 0x435f21
mov eax, dword [ebp - 0x230]
mov eax, dword [eax]
cmp dword [eax - 0xc], ebx
jne 0x435f21
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.00417741
pop ecx
mov ecx, dword [ebp - 0x220]
jmp 0x4360fc
push 0x208
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.00484ac0
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 0x435fce
mov edx, dword [ebp - 0x220]
lea ecx, [ebp - 0x22c]
push 0x4d0aa4
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.00417010
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 0x436104
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.00417010
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 fcn.004460a7
mov edi, dword [ebp - 0x230]
lea edx, [ebp - 0x228]
mov ecx, edi
mov dword [ebp - 0x224], eax
call fcn.004460a7
mov ecx, dword [ebp - 0x224]
mov edx, eax
test ecx, ecx
je 0x436066
mov ecx, dword [edi]
cmp dword [ecx - 0xc], 0
je 0x436080
mov ecx, dword [ebp - 0x224]
test edx, edx
je 0x436078
mov eax, dword [ebp - 0x22c]
mov eax, dword [eax]
cmp dword [eax - 0xc], 0
je 0x436080
test ecx, ecx
je 0x436085
test edx, edx
je 0x436085
xor ecx, ecx
inc ecx
jmp 0x436087
mov ecx, ebx
mov edx, dword [ebp - 0x220]
test ecx, ecx
mov eax, 0x4f40d4
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.00417010
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.0046c616
ret 0x14