Function at 0x40ada0
Capabilities:
Check if file exists

Disassembly:
push esi
mov esi, esp
sub esp, 0x270
mov eax, dword [0x441480]
xor eax, esi
mov dword [esi - 8], eax
mov eax, dword [esi + 8]
push edi
push ebp
push ebx
mov dword [esi - 0x268], eax
mov dword [esi - 0x26c], 0x41
mov dword [esi - 0x270], 0x1a
mov ecx, dword [esi - 0x26c]
push ecx
lea edx, [esi - 0x10]
push str._c:_
push edx
call fcn.00420bd5
add esp, 0xc
lea eax, [esi - 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
or eax, eax
je 0x40b09f
lea eax, [esi - 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40ae03
sub eax, edx
mov edx, eax
mov eax, dword [esi - 0x268]
lea ebp, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40ae17
sub eax, ebp
lea ecx, [edx + eax + 0x20]
push ecx
call fcn.0041ff97
sub esp, 0xfffffffc
lea edx, [esi - 0x10]
push edx
mov edi, eax
push 0x43e138
push edi
call fcn.00420bd5
sub esp, 0xfffffff4
lea eax, [esi - 0x13c]
push eax
push edi
call fcn.00422c32
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x40afa1
cmp ebx, 0xffffffff
je 0x40afa1
test byte [esi - 0x13c], 0x10
je 0x40af80
mov ecx, 0x43e13c
lea eax, [esi - 0x118]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40aea0
or dl, dl
je 0x40ae9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40aea0
add eax, 2
add ecx, 2
or dl, dl
jne 0x40ae80
xor eax, eax
jmp 0x40aea5
sbb eax, eax
sbb eax, 0xffffffff
or eax, eax
je 0x40af80
mov ecx, 0x43e140
lea eax, [esi - 0x118]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40aed8
or dl, dl
je 0x40aed4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40aed8
add eax, 2
add ecx, 2
test dl, dl
jne 0x40aeb8
xor eax, eax
jmp 0x40aedd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40af80
mov ecx, 0x43c488
lea eax, [esi - 0x118]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40af10
test dl, dl
je 0x40af0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40af10
sub eax, 0xfffffffe
add ecx, 2
test dl, dl
jne 0x40aef0
xor eax, eax
jmp 0x40af15
sbb eax, eax
sbb eax, 0xffffffff
or eax, eax
je 0x40af80
lea eax, [esi - 0x10]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40af20
sub eax, edx
mov edx, eax
lea eax, [esi - 0x118]
lea ebp, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40af34
sub eax, ebp
lea ecx, [eax + edx + 8]
push ecx
call fcn.0041ff97
add esp, 4
mov ebp, eax
lea edx, [esi - 0x118]
lea eax, [esi - 0x10]
push edx
push eax
push str._s_s_
push ebp
call fcn.00420bd5
mov ecx, dword [esi - 0x268]
push fcn.0040a740
push ecx
push ebp
call fcn.0040aab0
sub esp, 0xffffffe4
push ebp
call fcn.00420c59
add esp, 4
lea edx, [esi - 0x13c]
push edx
push ebx
call fcn.00422d59
sub esp, 0xfffffff8
or eax, eax
je 0x40ae64
push ebx
call fcn.00422e87
add esp, 4
lea ecx, [esi - 0x10]
mov eax, dword [esi - 0x268]
push eax
push ecx
push str._s_s
push edi
call fcn.00420bd5
lea edx, [esi - 0x264]
push edx
push edi
call fcn.00422c32
sub esp, 0xffffffe8
mov ebx, eax
or ebx, ebx
je 0x40b096
cmp ebx, 0xffffffff
je 0x40b096
test byte [esi - 0x264], 0x10
jne 0x40b075
mov ecx, 0x43c488
lea eax, [esi - 0x240]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40b012
test dl, dl
je 0x40b00e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40b012
add eax, 2
add ecx, 2
or dl, dl
jne 0x40aff2
xor eax, eax
jmp 0x40b017
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40b075
lea eax, [esi - 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
or cl, cl
jne 0x40b021
sub eax, edx
mov edx, eax
lea eax, [esi - 0x240]
lea ebp, [eax + 1]
mov cl, byte [eax]
inc eax
or cl, cl
jne 0x40b035
sub eax, ebp
lea eax, [eax + edx + 8]
push eax
call fcn.0041ff97
lea ecx, [esi - 0x240]
mov ebp, eax
lea edx, [esi - 0x10]
add esp, 4
push ecx
push edx
push str._s_s
push ebp
call fcn.00420bd5
push ebp
call fcn.0040a740
add esp, 0x14
push ebp
call fcn.00420c59
sub esp, 0xfffffffc
lea eax, [esi - 0x264]
push eax
push ebx
call fcn.00422d59
add esp, 8
test eax, eax
je 0x40afda
push ebx
call fcn.00422e87
sub esp, 0xfffffffc
push edi
call fcn.00420c59
sub esp, 0xfffffffc
mov eax, 1
add dword [esi - 0x26c], eax
sub dword [esi - 0x270], eax
jne 0x40add3
pop ebx
mov ecx, dword [esi - 8]
xor ecx, esi
pop ebp
pop edi
call fcn.00420bc6
mov esp, esi
pop esi
ret