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

Disassembly:
push 0xffffffffffffffff
push 0x417452
mov eax, dword fs:[0]
push eax
sub esp, 0x48
mov eax, dword [0x42202c]
xor eax, esp
mov dword [esp + 0x44], eax
push esi
mov eax, dword [0x42202c]
xor eax, esp
push eax
lea eax, [esp + 0x50]
mov dword fs:[0], eax
push str.dr.dll
lea ecx, [esp + 0x34]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
lea ecx, [esp + 0x14]
mov dword [esp + 0x58], 0
call fcn.004076f0
mov byte [esp + 0x58], 1
cmp dword [esp + 0x28], 0
je 0x40ba2e
lea eax, [esp + 8]
push eax
lea ecx, [esp + 0x18]
call dword [sym.imp.MSVCP80.dll_public:_class_std::reverse_iterator_class_std::_String_iterator_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::rbegin_void_]
call fcn.004077f0
cmp word [eax], 0x5c
je 0x40ba2e
lea ecx, [esp + 8]
push ecx
lea ecx, [esp + 0x18]
call dword [sym.imp.MSVCP80.dll_public:_class_std::reverse_iterator_class_std::_String_iterator_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::rbegin_void_]
call fcn.004077f0
cmp word [eax], 0x2f
je 0x40ba2e
push 0x419e10
lea ecx, [esp + 0x18]
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::append_wchar_t_const__]
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x18]
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
cmp dword [esp + 0x2c], 8
mov eax, dword [esp + 0x18]
jae 0x40ba4c
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x40ba5c
test al, 0x10
je 0x40ba81
lea ecx, [esp + 0x14]
mov byte [esp + 0x58], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x30]
mov dword [esp + 0x58], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
xor eax, eax
jmp 0x40bab6
call fcn.00402240
lea edx, [esp + 0x14]
mov ecx, eax
call fcn.00412597
lea ecx, [esp + 0x14]
mov esi, eax
mov byte [esp + 0x58], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x30]
mov dword [esp + 0x58], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov eax, esi
mov ecx, dword [esp + 0x50]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.004158da
add esp, 0x54
ret