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

Disassembly:
push ebp
mov ebp, esp
cmp byte [ebp + 0x10], 0
push ebx
push esi
push edi
je 0x11049182
call dword [0x110af750]
mov eax, dword [0x110d71c8]
mov eax, dword [eax + 4]
test eax, eax
je 0x110491b2
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 0x10]
call dword [0x110af604]
mov eax, dword [0x110d71c8]
mov dword [eax + 4], 0
mov eax, dword [0x110d71c8]
mov dword [eax + 8], 0
mov eax, dword [0x110d71c0]
mov eax, dword [eax + 4]
test eax, eax
je 0x110491e2
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 0x10]
call dword [0x110af604]
mov eax, dword [0x110d71c0]
mov dword [eax + 4], 0
mov eax, dword [0x110d71c0]
mov dword [eax + 8], 0
mov eax, dword [0x110c09b8]
mov eax, dword [eax]
mov dword [ebp + 0x10], eax
mov edx, 0x22
mov eax, dword [ebp + 0x10]
call dword [0x110af084]
mov edi, dword [ebp + 8]
xor bl, bl
cmp eax, 1
mov byte [ebp + 0x13], bl
mov eax, dword [0x110d71c4]
mov ecx, 0x46
push 0x110aeab8
push dword [ebp + 0xc]
mov esi, 0x4d
push edi
cmove esi, ecx
push esi
push 0x110b7adc
push 0x40
push dword [eax]
call fcn.1100a0a0
mov eax, dword [0x110d71c4]
add esp, 0x1c
push dword [eax]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push 0x110b7af8
push dword [ebp + 0xc]
cmp eax, 0xffffffff
movzx ebx, bl
mov eax, dword [0x110d71c8]
mov ecx, 1
push edi
push esi
push 0x110b7adc
push 0x40
push dword [eax]
cmovne ebx, ecx
call fcn.1100a0a0
mov eax, dword [0x110d71c8]
add esp, 0x1c
push dword [eax]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x110493ac
test al, 0x10
jne 0x110492af
mov eax, dword [0x110d71c8]
mov eax, dword [eax]
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 0x10]
call dword [0x110af600]
mov ecx, dword [0x110d71c8]
mov dword [ecx + 4], eax
mov eax, dword [0x110d71c8]
mov dword [eax + 8], 1
test bl, bl
je 0x110492c1
mov eax, dword [0x110d71c4]
mov ecx, dword [0x110d71c8]
mov dword [eax + 0xc], ecx
mov byte [ebp + 0x13], 1
movzx edi, byte [ebp + 0x13]
mov eax, 0x110d71c8
movzx ecx, bl
shl ecx, 2
sub eax, ecx
cmp dword [ebp + 0xc], 0
mov ecx, dword [edi*4 + 0x110d71c4]
mov dword [0x110e4ed8], eax
mov eax, dword [0x110c0a08]
mov eax, dword [eax]
mov dword [ecx + 0xc], eax
je 0x110493ee
mov eax, dword [0x110d71bc]
xor bl, bl
push 0x110aeab8
push 0
push dword [ebp + 8]
push esi
push 0x110b7adc
push 0x40
push dword [eax]
call fcn.1100a0a0
mov eax, dword [0x110d71bc]
add esp, 0x1c
push dword [eax]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push 0x110b7af8
push 0
push dword [ebp + 8]
cmp eax, 0xffffffff
movzx ebx, bl
mov eax, 1
push esi
cmovne ebx, eax
mov eax, dword [0x110d71c0]
push 0x110b7adc
push 0x40
push dword [eax]
call fcn.1100a0a0
mov eax, dword [0x110d71c0]
add esp, 0x1c
push dword [eax]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x110493be
test al, 0x10
jne 0x11049393
mov eax, dword [0x110d71c0]
mov eax, dword [eax]
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 0x10]
call dword [0x110af600]
mov ecx, dword [0x110d71c0]
mov dword [ecx + 4], eax
mov eax, dword [0x110d71c0]
mov dword [eax + 8], 1
test bl, bl
je 0x110493a5
mov eax, dword [0x110d71bc]
mov ecx, dword [0x110d71c0]
mov dword [eax + 0xc], ecx
mov esi, 1
jmp 0x110493c4
test bl, bl
jne 0x110492c5
or eax, 0xffffffff
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
xor esi, esi
test bl, bl
je 0x110493ee
mov ecx, dword [edi*4 + 0x110d71c4]
mov edx, 0x110d71c0
movzx eax, bl
shl eax, 2
sub edx, eax
mov eax, dword [edx]
mov dword [ecx + 0xc], eax
mov eax, dword [0x110c0a08]
mov ecx, dword [esi*4 + 0x110d71bc]
mov eax, dword [eax]
mov dword [ecx + 0xc], eax
pop edi
pop esi
xor eax, eax
pop ebx
pop ebp
ret 0xc