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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.004c5f88
add esp, 8
test eax, eax
jne 0x49aacd
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00497d90
add esp, 8
mov dword [ebp - 0x10], eax
push 0
push 0x80
push 3
push 0
push 3
push connect
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffff
je 0x49aac9
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x18]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileTime]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x24], 0
je 0x49aac9
cmp dword [ebp - 0x10], 0
jne 0x49aa5c
mov ecx, dword [ebp + 0x10]
add ecx, 0x1c
push ecx
lea edx, [ebp - 8]
push edx
call fcn.0049ab50
add esp, 8
cmp dword [ebp - 0x20], 0
jne 0x49aa0c
cmp dword [ebp - 0x1c], 0
je 0x49aa21
mov eax, dword [ebp + 0x10]
add eax, 0x18
push eax
lea ecx, [ebp - 0x20]
push ecx
call fcn.0049ab50
add esp, 8
jmp 0x49aa2d
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x1c]
mov dword [edx + 0x18], ecx
cmp dword [ebp - 0x18], 0
jne 0x49aa39
cmp dword [ebp - 0x14], 0
je 0x49aa4e
mov edx, dword [ebp + 0x10]
add edx, 0x20
push edx
lea eax, [ebp - 0x18]
push eax
call fcn.0049ab50
add esp, 8
jmp 0x49aa5a
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x1c]
mov dword [ecx + 0x20], eax
jmp 0x49aac9
mov ecx, dword [ebp + 0x10]
add ecx, 0x1c
push ecx
lea edx, [ebp - 8]
push edx
call fcn.0049ac00
add esp, 8
cmp dword [ebp - 0x20], 0
jne 0x49aa7b
cmp dword [ebp - 0x1c], 0
je 0x49aa90
mov eax, dword [ebp + 0x10]
add eax, 0x18
push eax
lea ecx, [ebp - 0x20]
push ecx
call fcn.0049ac00
add esp, 8
jmp 0x49aa9c
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x1c]
mov dword [edx + 0x18], ecx
cmp dword [ebp - 0x18], 0
jne 0x49aaa8
cmp dword [ebp - 0x14], 0
je 0x49aabd
mov edx, dword [ebp + 0x10]
add edx, 0x20
push edx
lea eax, [ebp - 0x18]
push eax
call fcn.0049ac00
add esp, 8
jmp 0x49aac9
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x1c]
mov dword [ecx + 0x20], eax
xor eax, eax
jmp 0x49ab4a
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffff
je 0x49ab47
mov edx, dword [ebp - 0x28]
and edx, 0x10
je 0x49ab47
push 0x24
push 0
mov eax, dword [ebp + 0x10]
push eax
call fcn.004bf170
add esp, 0xc
push 0x210000
call fcn.004a3bb0
add esp, 4
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x1c], eax
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x1c]
mov dword [edx + 0x20], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x20]
mov dword [edx + 0x18], ecx
mov edx, dword [ebp - 0x28]
and edx, 1
neg edx
sbb edx, edx
and edx, 0xffffff80
add edx, 0x80
or edx, 0x4100
mov eax, dword [ebp + 0x10]
mov word [eax + 6], dx
xor eax, eax
jmp 0x49ab4a
or eax, 0xffffffff
mov esp, ebp
pop ebp
ret