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

Disassembly:
push 0x88
mov eax, 0x4ef909
call fcn.004cb117
mov eax, ecx
mov esi, dword [eax]
mov dword [ebp - 0x84], eax
cmp esi, dword [eax + 4]
je 0x4576da
mov edi, 0x50bfdc
add eax, 0x180
push eax
lea ecx, [ebp - 0x64]
xor bl, bl
call fcn.0044d9de
and dword [ebp - 4], 0
push edi
call fcn.004ca000
pop ecx
push eax
push edi
lea ecx, [ebp - 0x64]
call fcn.0044da04
push 0xffffffffffffffff
push 0
push esi
mov ecx, eax
call fcn.0044d801
mov eax, dword [ebp - 0x84]
add eax, 0x19c
push eax
lea ecx, [ebp - 0x48]
call fcn.0044d9de
push edi
mov byte [ebp - 4], 1
call fcn.004ca000
pop ecx
push eax
push edi
lea ecx, [ebp - 0x48]
call fcn.0044da04
push 0xffffffffffffffff
push 0
push esi
mov ecx, eax
call fcn.0044d801
cmp byte [esi + 0x58], bl
je 0x457515
cmp dword [ebp - 0x34], 0x10
mov eax, dword [ebp - 0x48]
jae 0x457503
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
setne bl
jmp 0x457691
cmp byte [esi + 0x59], 0
je 0x457537
cmp dword [ebp - 0x34], 0x10
mov eax, dword [ebp - 0x48]
jae 0x457527
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x457695
mov eax, dword [ebp - 0x84]
cmp byte [eax + 0x1d5], 0
jne 0x457617
and dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x2c]
push eax
sub esp, 0x1c
lea eax, [ebp - 0x48]
mov ecx, esp
mov dword [ebp - 0x90], esp
push eax
mov byte [ebp - 4], 2
call fcn.0044d9de
call fcn.00462bbc
add esp, 0x24
test al, al
je 0x457681
lea eax, [ebp - 0x2c]
lea ecx, [esi + 0x1c]
push eax
call fcn.0044d67e
test eax, eax
jne 0x4575b8
mov eax, dword [esi + 0x54]
xor ecx, ecx
cmp eax, dword [ebp - 0x8c]
jne 0x4575b8
cmp ecx, dword [ebp - 0x88]
jne 0x4575b8
mov bl, 1
jmp 0x457681
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x2c]
push eax
sub esp, 0x1c
lea eax, [ebp - 0x64]
mov ecx, esp
mov dword [ebp - 0x90], esp
push eax
xor bl, bl
call fcn.0044d9de
call fcn.00462bbc
add esp, 0x24
test al, al
je 0x457681
lea eax, [ebp - 0x2c]
push eax
lea ecx, [esi + 0x1c]
call fcn.0044d67e
test eax, eax
jne 0x457613
mov eax, dword [esi + 0x54]
xor ecx, ecx
cmp eax, dword [ebp - 0x8c]
jne 0x457613
cmp ecx, dword [ebp - 0x88]
jne 0x457613
xor eax, eax
inc eax
jmp 0x45767e
xor eax, eax
jmp 0x45767e
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0046318e
pop ecx
pop ecx
lea eax, [esi + 0x38]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.0044d67e
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
jne 0x457681
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.0046318e
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.0044db2c
push 0
push 1
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 3
call fcn.0044d2a1
lea eax, [esi + 0x38]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0044d67e
neg eax
sbb al, al
inc al
mov byte [esi + 0x5a], al
push 0
push 1
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 1
call fcn.0044d2a1
test bl, bl
je 0x4576ac
mov ecx, dword [ebp - 0x84]
push esi
lea eax, [ebp - 0x94]
push eax
call fcn.00456d38
mov esi, dword [eax]
jmp 0x4576af
add esi, 0x5c
push 0
push 1
lea ecx, [ebp - 0x48]
call fcn.0044d2a1
or dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x64]
call fcn.0044d2a1
mov eax, dword [ebp - 0x84]
cmp esi, dword [eax + 4]
jne 0x45748c
call fcn.004cb19a
ret