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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe0
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x14], edx
mov edi, eax
xor eax, eax
push ebp
push 0x4261fb
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x426218
add eax, 2
mov dword [ebp - 8], eax
xor eax, eax
mov dword [ebp - 0x10], eax
mov eax, dword [0x459938]
xor edx, edx
mov dword [eax], edx
mov eax, dword [edi]
test eax, eax
je 0x425e47
call fcn.00406ea8
jmp 0x425e49
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [edi]
call fcn.0041c44c
mov ebx, eax
cmp word [ebx], 0x3a
jne 0x425f59
cmp dword [ebp - 0xc], 2
jle 0x425f59
mov word [ebx], 0
sub ebx, 2
push 0
call sub.kernel32.dll_SetErrorMode
mov dword [ebp - 4], eax
mov eax, dword [edi]
mov edx, 0x8000
call fcn.0042bb90
mov esi, eax
cmp esi, 0xffffffff
je 0x425eac
mov eax, esi
call fcn.00424690
test eax, eax
jne 0x425f33
mov eax, esi
call fcn.00424724
test eax, eax
jne 0x425f33
add ebx, 2
mov word [ebx], 0x3a
mov eax, dword [0x459a18]
cmp dword [eax], 4
jne 0x425efd
mov eax, dword [0x459a5c]
cmp dword [eax], 0
jne 0x425ef0
push 0
lea edx, [ebp - 0x14]
mov eax, dword [0x459a48]
call fcn.00409d44
mov eax, dword [ebp - 0x14]
mov edx, dword [edi]
mov dword [ebp - 0x1c], edx
mov byte [ebp - 0x18], 0xa
lea ecx, [ebp - 0x1c]
mov edx, 1
call fcn.0042b774
mov eax, dword [0x4598d0]
mov dword [eax], 1
jmp 0x425f25
push 0
lea edx, [ebp - 0x20]
mov eax, dword [0x459a48]
call fcn.00409d44
mov eax, dword [ebp - 0x20]
mov edx, dword [edi]
mov dword [ebp - 0x1c], edx
mov byte [ebp - 0x18], 0xa
lea ecx, [ebp - 0x1c]
mov edx, 1
call fcn.0042b774
cmp esi, 0xffffffff
je 0x425f50
mov eax, esi
call fcn.0042bc5c
jmp 0x425f50
mov eax, esi
call fcn.00424690
test eax, eax
jne 0x425f49
mov eax, esi
call fcn.00424724
test eax, eax
je 0x425f50
mov eax, esi
call fcn.0042bc5c
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_SetErrorMode
mov eax, 0x250
call fcn.0041cb68
mov dword [edi + 0x14], eax
movzx esi, word [ebx]
cmp si, 0x5c
jne 0x425f78
mov dword [ebp - 0x10], 1
jmp 0x425fd7
mov eax, dword [edi]
mov dx, 0x5c
call fcn.0041c2d0
mov ebx, eax
test ebx, ebx
jne 0x425fad
mov ebx, dword [edi]
test ebx, ebx
je 0x425f98
mov eax, ebx
call fcn.00406ea8
jmp 0x425f9a
xor eax, eax
cmp eax, 2
jl 0x425fb0
cmp word [ebx + 2], 0x3a
jne 0x425fb0
lea eax, [ebx + 4]
mov ebx, eax
jmp 0x425fb0
add ebx, 2
mov edx, 0x426224
mov eax, ebx
call fcn.004151f4
test eax, eax
je 0x425fd0
mov edx, 0x426228
mov eax, ebx
call fcn.004151f4
test eax, eax
jne 0x425fd7
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0x10], 0
jne 0x4260c3
mov eax, dword [0x459a18]
cmp dword [eax], 4
jne 0x42608b
mov eax, dword [0x4599e0]
cmp dword [eax], 1
jne 0x42603e
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetFileAttributesW
mov ebx, eax
cmp ebx, 0xffffffff
je 0x426013
mov eax, dword [0x459938]
xor edx, edx
mov dword [eax], edx
jmp 0x426020
call sub.kernel32.dll_GetLastError_2
mov edx, dword [0x459938]
mov dword [edx], eax
cmp ebx, 0xffffffff
je 0x4260c3
test bl, 0x10
je 0x4260c3
mov dword [ebp - 0x10], 1
jmp 0x4260c3
mov eax, dword [0x459a34]
cmp dword [eax], 1
jne 0x4260c3
mov eax, dword [0x459a34]
xor edx, edx
mov dword [eax], edx
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetFileAttributesW
mov ebx, eax
cmp ebx, 0xffffffff
je 0x42606b
mov eax, dword [0x459938]
xor edx, edx
mov dword [eax], edx
jmp 0x426078
call sub.kernel32.dll_GetLastError_2
mov edx, dword [0x459938]
mov dword [edx], eax
cmp ebx, 0xffffffff
je 0x4260c3
test bl, 0x10
je 0x4260c3
mov dword [ebp - 0x10], 1
jmp 0x4260c3
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetFileAttributesW
mov ebx, eax
cmp ebx, 0xffffffff
je 0x4260a5
mov eax, dword [0x459938]
xor edx, edx
mov dword [eax], edx
jmp 0x4260b2
call sub.kernel32.dll_GetLastError_2
mov edx, dword [0x459938]
mov dword [edx], eax
cmp ebx, 0xffffffff
je 0x4260c3
test bl, 0x10
je 0x4260c3
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0x10], 0
je 0x426110
cmp si, 0x5c
jne 0x4260da
mov eax, 0x426218
add eax, 4
mov dword [ebp - 8], eax
mov eax, dword [edi]
call fcn.00425dc8
test al, al
jne 0x426107
mov eax, dword [ebp - 0xc]
add eax, 5
add eax, eax
call fcn.0041cb68
mov edx, dword [edi]
call fcn.0041c328
mov ebx, eax
mov dword [edi], ebx
mov eax, ebx
mov edx, dword [ebp - 8]
call fcn.0041c33c
mov eax, dword [edi + 0x14]
mov dword [eax], 0x10
mov dword [ebp - 0xc], 1
xor ebx, ebx
mov eax, dword [edi]
jmp 0x426137
cmp si, 0x5c
je 0x42612f
cmp si, 0x3a
jne 0x426131
cmp dword [ebp - 0xc], 2
jne 0x426131
mov ebx, eax
add eax, 2
inc dword [ebp - 0xc]
cmp si, word [eax]
je 0x42611d
mov dword [edi + 8], ebx
test ebx, ebx
je 0x426156
cmp word [ebx], 0
je 0x426151
lea eax, [ebx + 2]
mov dword [edi + 0xc], eax
jmp 0x42615d
mov dword [edi + 0xc], ebx
jmp 0x42615d
mov eax, dword [edi]
mov dword [edi + 0xc], eax
mov ebx, eax
xor ecx, ecx
test ebx, ebx
je 0x42617c
mov eax, ebx
jmp 0x426174
cmp dx, 0x2a
jne 0x426171
mov ecx, eax
jmp 0x42617c
add eax, 2
movzx edx, word [eax]
test dx, dx
jne 0x426167
test ecx, ecx
je 0x426184
mov al, 1
jmp 0x4261a8
xor esi, esi
test ebx, ebx
je 0x4261a3
mov eax, ebx
jmp 0x42619b
cmp dx, 0x3f
jne 0x426198
mov esi, eax
jmp 0x4261a3
add eax, 2
movzx edx, word [eax]
test dx, dx
jne 0x42618e
test esi, esi
setne al
test al, al
je 0x4261bb
or dword [edi + 0x18], 8
mov eax, dword [0x45969c]
mov dword [eax], 1
xor eax, eax
test ebx, ebx
je 0x4261da
mov edx, ebx
jmp 0x4261d2
cmp cx, 0x2e
jne 0x4261cf
mov eax, edx
jmp 0x4261da
add edx, 2
movzx ecx, word [edx]
test cx, cx
jne 0x4261c5
mov dword [edi + 0x10], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x426202
lea eax, [ebp - 0x20]
call fcn.004069bc
lea eax, [ebp - 0x14]
call fcn.004069bc
ret