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

Disassembly:
sub esp, 0x108
push ebx
mov ebx, dword [esp + 0x114]
push ebp
push esi
push edi
push 0x3a
push ebx
call fcn.0044f470
add esp, 8
test eax, eax
je 0x4064ff
push 0x4eb920
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [esp + 0x14]
push ebx
push ecx
call fcn.00414c70
add esp, 8
lea edx, [esp + 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x406744
mov eax, dword [esp + 0x11c]
pop edi
pop esi
pop ebp
mov dword [eax], 0xd09f80
mov eax, 1
pop ebx
add esp, 0x108
ret
mov al, byte [0xd0a5a0]
test al, al
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
je 0x406557
push 0xd0a5a0
lea ecx, [esp + 0x18]
push ecx
call esi
lea edx, [esp + 0x14]
push ebx
push edx
call fcn.00414c70
add esp, 8
lea eax, [esp + 0x14]
push eax
call edi
cmp eax, 0xffffffff
je 0x406557
mov ecx, dword [esp + 0x11c]
pop edi
pop esi
pop ebp
mov dword [ecx], 0xd0a5a0
mov eax, 1
pop ebx
add esp, 0x108
ret
mov eax, dword [0xd0a7a8]
test eax, eax
mov dword [esp + 0x10], 0
jle 0x4065d1
mov ebp, 0x8eea50
push ebp
lea edx, [esp + 0x18]
push edx
call esi
lea eax, [esp + 0x14]
push ebx
push eax
call fcn.00414c70
add esp, 8
lea ecx, [esp + 0x14]
push ecx
call edi
cmp eax, 0xffffffff
mov eax, dword [esp + 0x10]
jne 0x4065aa
mov ecx, dword [0xd0a7a8]
inc eax
add ebp, 0x104
cmp eax, ecx
mov dword [esp + 0x10], eax
jge 0x4065d1
jmp 0x40656d
mov ecx, dword [esp + 0x11c]
mov edx, eax
pop edi
shl edx, 6
add edx, eax
pop esi
lea eax, [edx*4 + 0x8eea50]
pop ebp
mov dword [ecx], eax
mov eax, 1
pop ebx
add esp, 0x108
ret
mov al, byte [0xd09f80]
test al, al
je 0x40661d
push 0xd09f80
lea edx, [esp + 0x18]
push edx
call esi
lea eax, [esp + 0x14]
push ebx
push eax
call fcn.00414c70
add esp, 8
lea ecx, [esp + 0x14]
push ecx
call edi
cmp eax, 0xffffffff
je 0x40661d
mov edx, dword [esp + 0x11c]
pop edi
pop esi
pop ebp
mov dword [edx], 0xd09f80
mov eax, 1
pop ebx
add esp, 0x108
ret
mov al, byte [0xd0a28c]
test al, al
je 0x406669
push 0xd0a28c
lea eax, [esp + 0x18]
push eax
call esi
lea ecx, [esp + 0x14]
push ebx
push ecx
call fcn.00414c70
add esp, 8
lea edx, [esp + 0x14]
push edx
call edi
cmp eax, 0xffffffff
je 0x406669
mov eax, dword [esp + 0x11c]
pop edi
pop esi
pop ebp
mov dword [eax], 0xd0a28c
mov eax, 1
pop ebx
add esp, 0x108
ret
push 0xd0a084
lea ecx, [esp + 0x18]
push ecx
call esi
lea edx, [esp + 0x14]
push ebx
push edx
call fcn.00414c70
add esp, 8
lea eax, [esp + 0x14]
push eax
call edi
cmp eax, 0xffffffff
je 0x4066ac
mov ecx, dword [esp + 0x11c]
pop edi
pop esi
pop ebp
mov dword [ecx], 0xd0a084
mov eax, 1
pop ebx
add esp, 0x108
ret
mov al, byte [0xd0a188]
test al, al
je 0x4066f8
push 0xd0a188
lea edx, [esp + 0x18]
push edx
call esi
lea eax, [esp + 0x14]
push ebx
push eax
call fcn.00414c70
add esp, 8
lea ecx, [esp + 0x14]
push ecx
call edi
cmp eax, 0xffffffff
je 0x4066f8
mov edx, dword [esp + 0x11c]
pop edi
pop esi
pop ebp
mov dword [edx], 0xd0a188
mov eax, 1
pop ebx
add esp, 0x108
ret
mov al, byte [0xd0a394]
test al, al
je 0x406744
push 0xd0a394
lea eax, [esp + 0x18]
push eax
call esi
lea ecx, [esp + 0x14]
push ebx
push ecx
call fcn.00414c70
add esp, 8
lea edx, [esp + 0x14]
push edx
call edi
cmp eax, 0xffffffff
je 0x406744
mov eax, dword [esp + 0x11c]
pop edi
pop esi
pop ebp
mov dword [eax], 0xd0a394
mov eax, 1
pop ebx
add esp, 0x108
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x108
ret