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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x404bfe
push 0x2000001
call fcn.0040648e
add esp, 4
push 0
call fcn.004064f2
add esp, 4
mov eax, 0xffffffff
jmp 0x404f9c
mov byte [ebp - 4], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xefffffef
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x404c3a
cmp dword [ebp - 8], 0
je 0x404c3a
test byte [ebp - 5], 0x80
jne 0x404c3a
test dword [ebp - 8], 0x80000002
je 0x404c43
mov byte [ebp - 4], 1
jmp 0x404e7f
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xffffffdf
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x404c79
cmp dword [ebp - 8], 0
je 0x404c79
test byte [ebp - 5], 0x80
jne 0x404c79
test dword [ebp - 8], 0x80000002
je 0x404c82
mov byte [ebp - 4], 1
jmp 0x404e7f
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xefffffdf
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x404cba
cmp dword [ebp - 8], 0
je 0x404cba
test byte [ebp - 5], 0x80
jne 0x404cba
test dword [ebp - 8], 0x80000002
je 0x404cc3
mov byte [ebp - 4], 1
jmp 0x404e7f
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xefffffee
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x404cfb
cmp dword [ebp - 8], 0
je 0x404cfb
test byte [ebp - 5], 0x80
jne 0x404cfb
test dword [ebp - 8], 0x80000002
je 0x404d04
mov byte [ebp - 4], 1
jmp 0x404e7f
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xeffffffe
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x404d3c
cmp dword [ebp - 8], 0
je 0x404d3c
test byte [ebp - 5], 0x80
jne 0x404d3c
test dword [ebp - 8], 0x80000002
je 0x404d45
mov byte [ebp - 4], 1
jmp 0x404e7f
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xefffffff
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x404d7d
cmp dword [ebp - 8], 0
je 0x404d7d
test byte [ebp - 5], 0x80
jne 0x404d7d
test dword [ebp - 8], 0x80000002
je 0x404d86
mov byte [ebp - 4], 1
jmp 0x404e7f
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xefffffcf
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x404dbe
cmp dword [ebp - 8], 0
je 0x404dbe
test byte [ebp - 5], 0x80
jne 0x404dbe
test dword [ebp - 8], 0x80000002
je 0x404dc7
mov byte [ebp - 4], 1
jmp 0x404e7f
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xffffffee
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x404dfd
cmp dword [ebp - 8], 0
je 0x404dfd
test byte [ebp - 5], 0x80
jne 0x404dfd
test dword [ebp - 8], 0x80000002
je 0x404e06
mov byte [ebp - 4], 1
jmp 0x404e7f
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xfffffffe
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x404e3c
cmp dword [ebp - 8], 0
je 0x404e3c
test byte [ebp - 5], 0x80
jne 0x404e3c
test dword [ebp - 8], 0x80000002
je 0x404e45
mov byte [ebp - 4], 1
jmp 0x404e7f
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xffffffcf
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x404e7b
cmp dword [ebp - 8], 0
je 0x404e7b
test byte [ebp - 5], 0x80
jne 0x404e7b
test dword [ebp - 8], 0x80000002
je 0x404e7f
mov byte [ebp - 4], 1
xor eax, eax
mov al, byte [ebp - 4]
test eax, eax
jne 0x404ead
push 0x2000001
call fcn.0040648e
add esp, 4
push 0
call fcn.004064f2
add esp, 4
mov eax, 0xffffffff
jmp 0x404f9c
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
je 0x404f21
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffff
je 0x404edc
test byte [ebp - 0xc], 0x10
jne 0x404f21
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
push eax
call fcn.0041d0c4
add esp, 4
test eax, eax
je 0x404f18
push 0x2000001
call fcn.0040648e
add esp, 4
push 0
call fcn.004064f2
add esp, 4
mov eax, 0xffffffff
jmp 0x404f9c
mov eax, dword [ebp + 0xc]
mov dword [eax], 0
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0
je 0x404f95
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffff
je 0x404f50
test byte [ebp - 0xc], 0x10
jne 0x404f95
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
push eax
call fcn.0041d0c4
add esp, 4
test eax, eax
je 0x404f8c
push 0x2000001
call fcn.0040648e
add esp, 4
push 0
call fcn.004064f2
add esp, 4
mov eax, 0xffffffff
jmp 0x404f9c
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
xor eax, eax
jmp 0x404f9c
pop edi
pop esi
pop ebx
leave
ret