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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffe8
mov esi, eax
mov eax, 0x42e970
add eax, 2
mov dword [esp + 4], eax
xor ebp, ebp
mov eax, dword [0x435c28]
xor edx, edx
mov dword [eax], edx
mov eax, dword [esi]
call fcn.00419fe4
mov edi, eax
mov eax, dword [esi]
call fcn.0041a0e8
mov ebx, eax
cmp word [ebx], 0x3a
jne 0x42e72b
cmp edi, 2
jle 0x42e72b
mov word [ebx], 0
sub ebx, 2
push 0
call sub.kernel32.dll_SetErrorMode
mov dword [esp], eax
mov eax, dword [esi]
mov edx, 0x8000
call fcn.0042f158
mov dword [esp + 0xc], eax
cmp dword [esp + 0xc], 0xffffffff
je 0x42e684
mov eax, dword [esp + 0xc]
call fcn.0041dc14
test eax, eax
jne 0x42e6ff
mov eax, dword [esp + 0xc]
call fcn.0041dca8
test eax, eax
jne 0x42e6ff
add ebx, 2
mov word [ebx], 0x3a
mov eax, dword [0x435cc0]
cmp dword [eax], 4
jne 0x42e6cd
mov eax, dword [0x435ce0]
cmp dword [eax], 0
jne 0x42e6c0
push 0
mov eax, dword [esi]
mov dword [esp + 0x14], eax
mov byte [esp + 0x18], 0xa
lea ecx, [esp + 0x14]
mov edx, 1
mov eax, 0x42e988
call fcn.0042ed3c
mov eax, dword [0x435bd8]
mov dword [eax], 1
jmp 0x42e6ed
push 0
mov eax, dword [esi]
mov dword [esp + 0x14], eax
mov byte [esp + 0x18], 0xa
lea ecx, [esp + 0x14]
mov edx, 1
mov eax, 0x42e988
call fcn.0042ed3c
cmp dword [esp + 0xc], 0xffffffff
je 0x42e722
mov eax, dword [esp + 0xc]
call fcn.0042f224
jmp 0x42e722
mov eax, dword [esp + 0xc]
call fcn.0041dc14
test eax, eax
jne 0x42e719
mov eax, dword [esp + 0xc]
call fcn.0041dca8
test eax, eax
je 0x42e722
mov eax, dword [esp + 0xc]
call fcn.0042f224
mov eax, dword [esp]
push eax
call sub.kernel32.dll_SetErrorMode
mov eax, 0x250
call fcn.0042dc78
mov dword [esi + 0x14], eax
movzx eax, word [ebx]
mov word [esp + 8], ax
cmp word [esp + 8], 0x5c
jne 0x42e74f
mov ebp, 1
jmp 0x42e7a4
mov eax, dword [esi]
mov dx, 0x5c
call fcn.00419f9c
mov ebx, eax
test ebx, ebx
jne 0x42e77c
mov ebx, dword [esi]
mov eax, ebx
call fcn.00419fe4
cmp eax, 2
jl 0x42e77f
cmp word [ebx + 2], 0x3a
jne 0x42e77f
lea eax, [ebx + 4]
mov ebx, eax
jmp 0x42e77f
add ebx, 2
mov edx, 0x42e9d0
mov eax, ebx
call fcn.00414c0c
test eax, eax
je 0x42e79f
mov edx, 0x42e9d4
mov eax, ebx
call fcn.00414c0c
test eax, eax
jne 0x42e7a4
mov ebp, 1
test ebp, ebp
jne 0x42e888
mov eax, dword [0x435cc0]
cmp dword [eax], 4
jne 0x42e852
mov eax, dword [0x435ca4]
cmp dword [eax], 1
jne 0x42e807
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetFileAttributesW
mov ebx, eax
cmp ebx, 0xffffffff
je 0x42e7de
mov eax, dword [0x435c28]
xor edx, edx
mov dword [eax], edx
jmp 0x42e7eb
call sub.kernel32.dll_GetLastError_2
mov edx, dword [0x435c28]
mov dword [edx], eax
cmp ebx, 0xffffffff
je 0x42e888
test bl, 0x10
je 0x42e888
mov ebp, 1
jmp 0x42e888
mov eax, dword [0x435cc8]
cmp dword [eax], 1
jne 0x42e888
mov eax, dword [0x435cc8]
xor edx, edx
mov dword [eax], edx
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetFileAttributesW
mov ebx, eax
cmp ebx, 0xffffffff
je 0x42e834
mov eax, dword [0x435c28]
xor edx, edx
mov dword [eax], edx
jmp 0x42e841
call sub.kernel32.dll_GetLastError_2
mov edx, dword [0x435c28]
mov dword [edx], eax
cmp ebx, 0xffffffff
je 0x42e888
test bl, 0x10
je 0x42e888
mov ebp, 1
jmp 0x42e888
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetFileAttributesW
mov ebx, eax
cmp ebx, 0xffffffff
je 0x42e86c
mov eax, dword [0x435c28]
xor edx, edx
mov dword [eax], edx
jmp 0x42e879
call sub.kernel32.dll_GetLastError_2
mov edx, dword [0x435c28]
mov dword [edx], eax
cmp ebx, 0xffffffff
je 0x42e888
test bl, 0x10
je 0x42e888
mov ebp, 1
test ebp, ebp
je 0x42e8d6
cmp word [esp + 8], 0x5c
jne 0x42e8a0
mov eax, 0x42e970
add eax, 4
mov dword [esp + 4], eax
mov eax, dword [esi]
call fcn.0042e5c8
test al, al
jne 0x42e8cd
add edi, 5
mov eax, edi
add eax, eax
call fcn.0042dc78
mov edx, dword [esi]
call fcn.00419ff4
mov ebx, eax
mov dword [esi], ebx
mov eax, ebx
mov edx, dword [esp + 4]
call fcn.0041a008
mov eax, dword [esi + 0x14]
mov dword [eax], 0x10
mov edi, 1
xor ebx, ebx
mov eax, dword [esi]
jmp 0x42e8f8
cmp word [eax], 0x5c
je 0x42e8f2
cmp word [eax], 0x3a
jne 0x42e8f4
cmp edi, 2
jne 0x42e8f4
mov ebx, eax
add eax, 2
inc edi
cmp word [eax], 0
jne 0x42e8e1
mov dword [esi + 8], ebx
test ebx, ebx
je 0x42e918
cmp word [ebx], 0
je 0x42e913
lea eax, [ebx + 2]
mov dword [esi + 0xc], eax
jmp 0x42e91f
mov dword [esi + 0xc], ebx
jmp 0x42e91f
mov eax, dword [esi]
mov dword [esi + 0xc], eax
mov ebx, eax
mov dx, 0x2a
mov eax, ebx
call fcn.00419f74
test eax, eax
jne 0x42e93d
mov dx, 0x3f
mov eax, ebx
call fcn.00419f74
test eax, eax
je 0x42e94c
or dword [esi + 0x18], 8
mov eax, dword [0x435a74]
mov dword [eax], 1
mov dx, 0x2e
mov eax, ebx
call fcn.00419f74
mov dword [esi + 0x10], eax
add esp, 0x18
pop ebp
pop edi
pop esi
pop ebx
ret