Function at 0x404fba
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 0x404ff0
push 0x2000001
call fcn.00406c68
add esp, 4
push 0
call fcn.00406ccc
add esp, 4
mov eax, 0xffffffff
jmp 0x405610
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 0x40502c
cmp dword [ebp - 8], 0
je 0x40502c
test byte [ebp - 5], 0x80
jne 0x40502c
test dword [ebp - 8], 0x80000002
je 0x405035
mov byte [ebp - 4], 1
jmp 0x4054f3
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xffffffdf
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x40506b
cmp dword [ebp - 8], 0
je 0x40506b
test byte [ebp - 5], 0x80
jne 0x40506b
test dword [ebp - 8], 0x80000002
je 0x405074
mov byte [ebp - 4], 1
jmp 0x4054f3
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xefffffdf
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x4050ac
cmp dword [ebp - 8], 0
je 0x4050ac
test byte [ebp - 5], 0x80
jne 0x4050ac
test dword [ebp - 8], 0x80000002
je 0x4050b5
mov byte [ebp - 4], 1
jmp 0x4054f3
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xefffffee
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x4050ed
cmp dword [ebp - 8], 0
je 0x4050ed
test byte [ebp - 5], 0x80
jne 0x4050ed
test dword [ebp - 8], 0x80000002
je 0x4050f6
mov byte [ebp - 4], 1
jmp 0x4054f3
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xeffffffe
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x40512e
cmp dword [ebp - 8], 0
je 0x40512e
test byte [ebp - 5], 0x80
jne 0x40512e
test dword [ebp - 8], 0x80000002
je 0x405137
mov byte [ebp - 4], 1
jmp 0x4054f3
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xefffffff
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x40516f
cmp dword [ebp - 8], 0
je 0x40516f
test byte [ebp - 5], 0x80
jne 0x40516f
test dword [ebp - 8], 0x80000002
je 0x405178
mov byte [ebp - 4], 1
jmp 0x4054f3
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xefffffcf
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x4051b0
cmp dword [ebp - 8], 0
je 0x4051b0
test byte [ebp - 5], 0x80
jne 0x4051b0
test dword [ebp - 8], 0x80000002
je 0x4051b9
mov byte [ebp - 4], 1
jmp 0x4054f3
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xffffffee
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x4051ef
cmp dword [ebp - 8], 0
je 0x4051ef
test byte [ebp - 5], 0x80
jne 0x4051ef
test dword [ebp - 8], 0x80000002
je 0x4051f8
mov byte [ebp - 4], 1
jmp 0x4054f3
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xfffffffe
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x40522e
cmp dword [ebp - 8], 0
je 0x40522e
test byte [ebp - 5], 0x80
jne 0x40522e
test dword [ebp - 8], 0x80000002
je 0x405237
mov byte [ebp - 4], 1
jmp 0x4054f3
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xffffffcf
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x40526d
cmp dword [ebp - 8], 0
je 0x40526d
test byte [ebp - 5], 0x80
jne 0x40526d
test dword [ebp - 8], 0x80000002
je 0x405276
mov byte [ebp - 4], 1
jmp 0x4054f3
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xefffffaf
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x4052ae
cmp dword [ebp - 8], 0
je 0x4052ae
test byte [ebp - 5], 0x80
jne 0x4052ae
test dword [ebp - 8], 0x80000002
je 0x4052b7
mov byte [ebp - 4], 1
jmp 0x4054f3
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xffffffdf
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x4052ed
cmp dword [ebp - 8], 0
je 0x4052ed
test byte [ebp - 5], 0x80
jne 0x4052ed
test dword [ebp - 8], 0x80000002
je 0x4052f6
mov byte [ebp - 4], 1
jmp 0x4054f3
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xefffff9f
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x40532e
cmp dword [ebp - 8], 0
je 0x40532e
test byte [ebp - 5], 0x80
jne 0x40532e
test dword [ebp - 8], 0x80000002
je 0x405337
mov byte [ebp - 4], 1
jmp 0x4054f3
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xefffffae
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x40536f
cmp dword [ebp - 8], 0
je 0x40536f
test byte [ebp - 5], 0x80
jne 0x40536f
test dword [ebp - 8], 0x80000002
je 0x405378
mov byte [ebp - 4], 1
jmp 0x4054f3
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xefffffbe
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x4053b0
cmp dword [ebp - 8], 0
je 0x4053b0
test byte [ebp - 5], 0x80
jne 0x4053b0
test dword [ebp - 8], 0x80000002
je 0x4053b9
mov byte [ebp - 4], 1
jmp 0x4054f3
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xefffffff
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x4053f1
cmp dword [ebp - 8], 0
je 0x4053f1
test byte [ebp - 5], 0x80
jne 0x4053f1
test dword [ebp - 8], 0x80000002
je 0x4053fa
mov byte [ebp - 4], 1
jmp 0x4054f3
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xefffff8f
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x405432
cmp dword [ebp - 8], 0
je 0x405432
test byte [ebp - 5], 0x80
jne 0x405432
test dword [ebp - 8], 0x80000002
je 0x40543b
mov byte [ebp - 4], 1
jmp 0x4054f3
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xffffffae
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x405471
cmp dword [ebp - 8], 0
je 0x405471
test byte [ebp - 5], 0x80
jne 0x405471
test dword [ebp - 8], 0x80000002
je 0x40547a
mov byte [ebp - 4], 1
jmp 0x4054f3
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xfffffffe
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x4054b0
cmp dword [ebp - 8], 0
je 0x4054b0
test byte [ebp - 5], 0x80
jne 0x4054b0
test dword [ebp - 8], 0x80000002
je 0x4054b9
mov byte [ebp - 4], 1
jmp 0x4054f3
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xffffff8f
mov dword [ebp - 8], eax
test byte [ebp - 8], 0xe
jne 0x4054ef
cmp dword [ebp - 8], 0
je 0x4054ef
test byte [ebp - 5], 0x80
jne 0x4054ef
test dword [ebp - 8], 0x80000002
je 0x4054f3
mov byte [ebp - 4], 1
xor eax, eax
mov al, byte [ebp - 4]
test eax, eax
jne 0x405521
push 0x2000001
call fcn.00406c68
add esp, 4
push 0
call fcn.00406ccc
add esp, 4
mov eax, 0xffffffff
jmp 0x405610
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
je 0x405595
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 0x405550
test byte [ebp - 0xc], 0x10
jne 0x405595
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
push eax
call fcn.00420150
add esp, 4
test eax, eax
je 0x40558c
push 0x2000001
call fcn.00406c68
add esp, 4
push 0
call fcn.00406ccc
add esp, 4
mov eax, 0xffffffff
jmp 0x405610
mov eax, dword [ebp + 0xc]
mov dword [eax], 0
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0
je 0x405609
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 0x4055c4
test byte [ebp - 0xc], 0x10
jne 0x405609
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
push eax
call fcn.00420150
add esp, 4
test eax, eax
je 0x405600
push 0x2000001
call fcn.00406c68
add esp, 4
push 0
call fcn.00406ccc
add esp, 4
mov eax, 0xffffffff
jmp 0x405610
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
xor eax, eax
jmp 0x405610
pop edi
pop esi
pop ebx
leave
ret