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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffdc
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x18], edx
mov esi, eax
xor eax, eax
push ebp
push 0x42cbfd
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x42cc18
add eax, 2
mov dword [ebp - 8], eax
xor edi, edi
mov eax, dword [0x433d18]
xor edx, edx
mov dword [eax], edx
mov eax, dword [esi]
call fcn.00419fe4
mov dword [ebp - 0x10], eax
mov eax, dword [esi]
call fcn.0041a0e8
mov ebx, eax
cmp word [ebx], 0x3a
jne 0x42c9af
cmp dword [ebp - 0x10], 2
jle 0x42c9af
mov word [ebx], 0
sub ebx, 2
push 0
call sub.kernel32.dll_SetErrorMode
mov dword [ebp - 4], eax
mov eax, dword [esi]
mov edx, 0x8000
call fcn.0042d370
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
je 0x42c8fd
mov eax, dword [ebp - 0x14]
call fcn.0041dc9c
test eax, eax
jne 0x42c986
mov eax, dword [ebp - 0x14]
call fcn.0041dd30
test eax, eax
jne 0x42c986
add ebx, 2
mov word [ebx], 0x3a
mov eax, dword [0x433dd4]
cmp dword [eax], 4
jne 0x42c94e
mov eax, dword [0x433e08]
cmp dword [eax], 0
jne 0x42c941
push 0
lea edx, [ebp - 0x18]
mov eax, dword [0x433df8]
call fcn.00409478
mov eax, dword [ebp - 0x18]
mov edx, dword [esi]
mov dword [ebp - 0x20], edx
mov byte [ebp - 0x1c], 0xa
lea ecx, [ebp - 0x20]
mov edx, 1
call fcn.0042cf54
mov eax, dword [0x433cbc]
mov dword [eax], 1
jmp 0x42c976
push 0
lea edx, [ebp - 0x24]
mov eax, dword [0x433df8]
call fcn.00409478
mov eax, dword [ebp - 0x24]
mov edx, dword [esi]
mov dword [ebp - 0x20], edx
mov byte [ebp - 0x1c], 0xa
lea ecx, [ebp - 0x20]
mov edx, 1
call fcn.0042cf54
cmp dword [ebp - 0x14], 0xffffffff
je 0x42c9a6
mov eax, dword [ebp - 0x14]
call fcn.0042d43c
jmp 0x42c9a6
mov eax, dword [ebp - 0x14]
call fcn.0041dc9c
test eax, eax
jne 0x42c99e
mov eax, dword [ebp - 0x14]
call fcn.0041dd30
test eax, eax
je 0x42c9a6
mov eax, dword [ebp - 0x14]
call fcn.0042d43c
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_SetErrorMode
mov eax, 0x250
call fcn.0042c020
mov dword [esi + 0x14], eax
movzx eax, word [ebx]
mov word [ebp - 0xa], ax
cmp word [ebp - 0xa], 0x5c
jne 0x42c9d1
mov edi, 1
jmp 0x42ca26
mov eax, dword [esi]
mov dx, 0x5c
call fcn.00419f9c
mov ebx, eax
test ebx, ebx
jne 0x42c9fe
mov ebx, dword [esi]
mov eax, ebx
call fcn.00419fe4
cmp eax, 2
jl 0x42ca01
cmp word [ebx + 2], 0x3a
jne 0x42ca01
lea eax, [ebx + 4]
mov ebx, eax
jmp 0x42ca01
add ebx, 2
mov edx, 0x42cc24
mov eax, ebx
call fcn.00414c0c
test eax, eax
je 0x42ca21
mov edx, 0x42cc28
mov eax, ebx
call fcn.00414c0c
test eax, eax
jne 0x42ca26
mov edi, 1
test edi, edi
jne 0x42cb0a
mov eax, dword [0x433dd4]
cmp dword [eax], 4
jne 0x42cad4
mov eax, dword [0x433dac]
cmp dword [eax], 1
jne 0x42ca89
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetFileAttributesW
mov ebx, eax
cmp ebx, 0xffffffff
je 0x42ca60
mov eax, dword [0x433d18]
xor edx, edx
mov dword [eax], edx
jmp 0x42ca6d
call sub.kernel32.dll_GetLastError_2
mov edx, dword [0x433d18]
mov dword [edx], eax
cmp ebx, 0xffffffff
je 0x42cb0a
test bl, 0x10
je 0x42cb0a
mov edi, 1
jmp 0x42cb0a
mov eax, dword [0x433de8]
cmp dword [eax], 1
jne 0x42cb0a
mov eax, dword [0x433de8]
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 0x42cab6
mov eax, dword [0x433d18]
xor edx, edx
mov dword [eax], edx
jmp 0x42cac3
call sub.kernel32.dll_GetLastError_2
mov edx, dword [0x433d18]
mov dword [edx], eax
cmp ebx, 0xffffffff
je 0x42cb0a
test bl, 0x10
je 0x42cb0a
mov edi, 1
jmp 0x42cb0a
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetFileAttributesW
mov ebx, eax
cmp ebx, 0xffffffff
je 0x42caee
mov eax, dword [0x433d18]
xor edx, edx
mov dword [eax], edx
jmp 0x42cafb
call sub.kernel32.dll_GetLastError_2
mov edx, dword [0x433d18]
mov dword [edx], eax
cmp ebx, 0xffffffff
je 0x42cb0a
test bl, 0x10
je 0x42cb0a
mov edi, 1
test edi, edi
je 0x42cb56
cmp word [ebp - 0xa], 0x5c
jne 0x42cb20
mov eax, 0x42cc18
add eax, 4
mov dword [ebp - 8], eax
mov eax, dword [esi]
call fcn.0042c828
test al, al
jne 0x42cb4d
mov eax, dword [ebp - 0x10]
add eax, 5
add eax, eax
call fcn.0042c020
mov edx, dword [esi]
call fcn.00419ff4
mov ebx, eax
mov dword [esi], ebx
mov eax, ebx
mov edx, dword [ebp - 8]
call fcn.0041a008
mov eax, dword [esi + 0x14]
mov dword [eax], 0x10
mov dword [ebp - 0x10], 1
xor ebx, ebx
mov eax, dword [esi]
jmp 0x42cb7d
cmp word [eax], 0x5c
je 0x42cb75
cmp word [eax], 0x3a
jne 0x42cb77
cmp dword [ebp - 0x10], 2
jne 0x42cb77
mov ebx, eax
add eax, 2
inc dword [ebp - 0x10]
cmp word [eax], 0
jne 0x42cb63
mov dword [esi + 8], ebx
test ebx, ebx
je 0x42cb9d
cmp word [ebx], 0
je 0x42cb98
lea eax, [ebx + 2]
mov dword [esi + 0xc], eax
jmp 0x42cba4
mov dword [esi + 0xc], ebx
jmp 0x42cba4
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 0x42cbc2
mov dx, 0x3f
mov eax, ebx
call fcn.00419f74
test eax, eax
je 0x42cbd1
or dword [esi + 0x18], 8
mov eax, dword [0x433ab8]
mov dword [eax], 1
mov dx, 0x2e
mov eax, ebx
call fcn.00419f74
mov dword [esi + 0x10], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x42cc04
lea eax, [ebp - 0x24]
call fcn.00406984
lea eax, [ebp - 0x18]
call fcn.00406984
ret