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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41c68d
mov eax, dword fs:[0]
push eax
sub esp, 0x8c
mov eax, dword [0x428024]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
push 0x421a0c
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x74], 0xf
mov dword [ebp - 0x78], 0
mov byte [ebp - 0x88], 0
call fcn.00404420
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0
call fcn.00417980
mov byte [ebp - 4], 1
mov eax, 0x2aaaaaab
mov edi, dword [ebp - 0x90]
mov ecx, edi
mov esi, dword [ebp - 0x94]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jne 0x418d67
mov edx, esi
lea ecx, [ebp - 0x58]
call fcn.00405950
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x58]
cmp dword [ebp - 0x44], 0x10
mov eax, dword [ebp - 0x48]
cmovae ecx, dword [ebp - 0x58]
cmp byte [eax + ecx - 1], 0x5c
je 0x418c97
push 1
push 0x42192c
lea ecx, [ebp - 0x58]
call fcn.00402750
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x58]
mov dword [ebp - 0x14], 0xf
push eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
call fcn.00404520
push 0xb
push 0x42375c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 3
call fcn.00402750
lea ecx, [ebp - 0x70]
call fcn.004172b0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 4
call fcn.004029f0
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x5c]
cmp eax, 0x10
jb 0x418cfb
inc eax
push eax
push dword [ebp - 0x70]
call fcn.00402b40
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x418d26
test al, 0x10
je 0x418d26
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
cmovae ecx, dword [ebp - 0x28]
call fcn.0040ad80
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x418d38
inc eax
push eax
push dword [ebp - 0x28]
call fcn.00402b40
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
cmp eax, 0x10
jb 0x418d5c
inc eax
push eax
push dword [ebp - 0x58]
call fcn.00402b40
mov edi, dword [ebp - 0x90]
jmp 0x418ed6
jbe 0x418edc
cmp esi, edi
je 0x418edc
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
nop dword [eax + eax]
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.00405950
mov byte [ebp - 4], 5
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
mov ecx, dword [ebp - 0x30]
cmovae eax, dword [ebp - 0x40]
cmp byte [ecx + eax - 1], 0x5c
jne 0x418e00
lea eax, [ecx - 1]
push eax
push ecx
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x40]
call fcn.00405ec0
mov edi, eax
lea eax, [ebp - 0x40]
cmp eax, edi
je 0x418dea
mov eax, dword [ebp - 0x2c]
cmp eax, 0x10
jb 0x418dcf
inc eax
push eax
push dword [ebp - 0x40]
call fcn.00402b40
push edi
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
call fcn.00404640
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x5c]
cmp eax, 0x10
jb 0x418e00
inc eax
push eax
push dword [ebp - 0x70]
call fcn.00402b40
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x40]
mov dword [ebp - 0x14], 0xf
push eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
call fcn.00404520
push 0xc
push str.extensions_
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 7
call fcn.00402750
lea ecx, [ebp - 0x70]
call fcn.004172b0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 8
call fcn.004029f0
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x5c]
cmp eax, 0x10
jb 0x418e64
inc eax
push eax
push dword [ebp - 0x70]
call fcn.00402b40
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call ebx
cmp eax, 0xffffffff
je 0x418e8b
test al, 0x10
je 0x418e8b
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
cmovae ecx, dword [ebp - 0x28]
call fcn.0040ad80
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x418e9d
inc eax
push eax
push dword [ebp - 0x28]
call fcn.00402b40
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
cmp eax, 0x10
jb 0x418ec5
inc eax
push eax
push dword [ebp - 0x40]
call fcn.00402b40
mov edi, dword [ebp - 0x90]
add esi, 0x18
cmp esi, edi
jne 0x418d80
mov esi, dword [ebp - 0x94]
test esi, esi
je 0x418f37
push dword [ebp - 0x98]
mov edx, edi
push ecx
mov ecx, esi
call fcn.004069b0
mov ecx, dword [ebp - 0x8c]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x94]
add esp, 8
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push esi
call fcn.00406330
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x74]
cmp eax, 0x10
jb 0x418f4c
inc eax
push eax
push dword [ebp - 0x88]
call fcn.00402b40
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00419532
mov esp, ebp
pop ebp
ret