Function at 0x42ef70
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, 0x42f2e8
add eax, 2
mov dword [esp + 4], eax
xor ebp, ebp
mov eax, dword [0x436c5c]
xor edx, edx
mov dword [eax], edx
mov eax, dword [esi]
call fcn.0041a87c
mov edi, eax
mov eax, dword [esi]
call fcn.0041a980
mov ebx, eax
cmp word [ebx], 0x3a
jne 0x42f0a3
cmp edi, 2
jle 0x42f0a3
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.0042fad0
mov dword [esp + 0xc], eax
cmp dword [esp + 0xc], 0xffffffff
je 0x42effc
mov eax, dword [esp + 0xc]
call fcn.0041e4b4
test eax, eax
jne 0x42f077
mov eax, dword [esp + 0xc]
call fcn.0041e548
test eax, eax
jne 0x42f077
add ebx, 2
mov word [ebx], 0x3a
mov eax, dword [0x436cfc]
cmp dword [eax], 4
jne 0x42f045
mov eax, dword [0x436d1c]
cmp dword [eax], 0
jne 0x42f038
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, 0x42f300
call fcn.0042f6b4
mov eax, dword [0x436c0c]
mov dword [eax], 1
jmp 0x42f065
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, 0x42f300
call fcn.0042f6b4
cmp dword [esp + 0xc], 0xffffffff
je 0x42f09a
mov eax, dword [esp + 0xc]
call fcn.0042fb9c
jmp 0x42f09a
mov eax, dword [esp + 0xc]
call fcn.0041e4b4
test eax, eax
jne 0x42f091
mov eax, dword [esp + 0xc]
call fcn.0041e548
test eax, eax
je 0x42f09a
mov eax, dword [esp + 0xc]
call fcn.0042fb9c
mov eax, dword [esp]
push eax
call sub.kernel32.dll_SetErrorMode
mov eax, 0x250
call fcn.0042e510
mov dword [esi + 0x14], eax
movzx eax, word [ebx]
mov word [esp + 8], ax
cmp word [esp + 8], 0x5c
jne 0x42f0c7
mov ebp, 1
jmp 0x42f11c
mov eax, dword [esi]
mov dx, 0x5c
call fcn.0041a834
mov ebx, eax
test ebx, ebx
jne 0x42f0f4
mov ebx, dword [esi]
mov eax, ebx
call fcn.0041a87c
cmp eax, 2
jl 0x42f0f7
cmp word [ebx + 2], 0x3a
jne 0x42f0f7
lea eax, [ebx + 4]
mov ebx, eax
jmp 0x42f0f7
add ebx, 2
mov edx, 0x42f348
mov eax, ebx
call fcn.00414f38
test eax, eax
je 0x42f117
mov edx, 0x42f34c
mov eax, ebx
call fcn.00414f38
test eax, eax
jne 0x42f11c
mov ebp, 1
test ebp, ebp
jne 0x42f200
mov eax, dword [0x436cfc]
cmp dword [eax], 4
jne 0x42f1ca
mov eax, dword [0x436ce0]
cmp dword [eax], 1
jne 0x42f17f
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetFileAttributesW
mov ebx, eax
cmp ebx, 0xffffffff
je 0x42f156
mov eax, dword [0x436c5c]
xor edx, edx
mov dword [eax], edx
jmp 0x42f163
call sub.kernel32.dll_GetLastError_2
mov edx, dword [0x436c5c]
mov dword [edx], eax
cmp ebx, 0xffffffff
je 0x42f200
test bl, 0x10
je 0x42f200
mov ebp, 1
jmp 0x42f200
mov eax, dword [0x436d04]
cmp dword [eax], 1
jne 0x42f200
mov eax, dword [0x436d04]
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 0x42f1ac
mov eax, dword [0x436c5c]
xor edx, edx
mov dword [eax], edx
jmp 0x42f1b9
call sub.kernel32.dll_GetLastError_2
mov edx, dword [0x436c5c]
mov dword [edx], eax
cmp ebx, 0xffffffff
je 0x42f200
test bl, 0x10
je 0x42f200
mov ebp, 1
jmp 0x42f200
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetFileAttributesW
mov ebx, eax
cmp ebx, 0xffffffff
je 0x42f1e4
mov eax, dword [0x436c5c]
xor edx, edx
mov dword [eax], edx
jmp 0x42f1f1
call sub.kernel32.dll_GetLastError_2
mov edx, dword [0x436c5c]
mov dword [edx], eax
cmp ebx, 0xffffffff
je 0x42f200
test bl, 0x10
je 0x42f200
mov ebp, 1
test ebp, ebp
je 0x42f24e
cmp word [esp + 8], 0x5c
jne 0x42f218
mov eax, 0x42f2e8
add eax, 4
mov dword [esp + 4], eax
mov eax, dword [esi]
call fcn.0042ef40
test al, al
jne 0x42f245
add edi, 5
mov eax, edi
add eax, eax
call fcn.0042e510
mov edx, dword [esi]
call fcn.0041a88c
mov ebx, eax
mov dword [esi], ebx
mov eax, ebx
mov edx, dword [esp + 4]
call fcn.0041a8a0
mov eax, dword [esi + 0x14]
mov dword [eax], 0x10
mov edi, 1
xor ebx, ebx
mov eax, dword [esi]
jmp 0x42f270
cmp word [eax], 0x5c
je 0x42f26a
cmp word [eax], 0x3a
jne 0x42f26c
cmp edi, 2
jne 0x42f26c
mov ebx, eax
add eax, 2
inc edi
cmp word [eax], 0
jne 0x42f259
mov dword [esi + 8], ebx
test ebx, ebx
je 0x42f290
cmp word [ebx], 0
je 0x42f28b
lea eax, [ebx + 2]
mov dword [esi + 0xc], eax
jmp 0x42f297
mov dword [esi + 0xc], ebx
jmp 0x42f297
mov eax, dword [esi]
mov dword [esi + 0xc], eax
mov ebx, eax
mov dx, 0x2a
mov eax, ebx
call fcn.0041a80c
test eax, eax
jne 0x42f2b5
mov dx, 0x3f
mov eax, ebx
call fcn.0041a80c
test eax, eax
je 0x42f2c4
or dword [esi + 0x18], 8
mov eax, dword [0x436aa4]
mov dword [eax], 1
mov dx, 0x2e
mov eax, ebx
call fcn.0041a80c
mov dword [esi + 0x10], eax
add esp, 0x18
pop ebp
pop edi
pop esi
pop ebx
ret