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

Disassembly:
push 0xffffffffffffffff
push 0x41126e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x210
push ebx
push esi
mov eax, dword [esp + 0x22c]
mov ebx, 1
mov dword [esp + 0x220], ebx
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x409f51
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4201f8
call fcn.0040f88c
push ecx
mov byte [esp + 0x228], 2
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.TemplateName
call fcn.0040f88c
push ecx
mov byte [esp + 0x22c], 3
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.System
call fcn.0040f88c
lea ecx, [esp + 0x14]
mov byte [esp + 0x22c], bl
push ecx
call sub.SSCore32.dll_class_CString___cdecl_ReadEpsIniString_class_CString__class_CString__class_CString_
add esp, 0x10
push eax
lea ecx, [esp + 0x230]
mov byte [esp + 0x224], 4
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 8]
mov byte [esp + 0x220], bl
call sub.MFC42.DLL_CString::CString
push ecx
lea edx, [esp + 0x230]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x10]
push eax
call sub.SSCore32.dll_class_CString___cdecl_GetTemplatesPathFile_class_CString_
add esp, 8
lea ecx, [esp + 0xc]
mov byte [esp + 0x220], 5
push ecx
lea ecx, [esp + 0x230]
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0xc]
mov byte [esp + 0x220], bl
call sub.MFC42.DLL_CString::CString
mov edx, dword [esp + 0x22c]
mov eax, dword [edx - 8]
test eax, eax
jne 0x409f72
push 0
push 0
push 0x41f40c
call sub.MFC42.DLL_AfxMessageBox
jmp 0x40a051
push 0xffffffffffffffff
call sub.SSMap.dll_class_CScaleMap____cdecl_GetScaleMap_int_
mov esi, eax
mov eax, dword [esp + 0x22c]
add esp, 4
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x40a0b9
push 0
push 0x41f3e4
push 6
push 0x4201f8
push 0x41f214
push 0
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CFileDialog::CFileDialog
lea ecx, [esp + 0x1c]
mov byte [esp + 0x220], 6
mov dword [esp + 0xac], 0x41f3d8
call sub.MFC42.DLL_CFileDialog::DoModal
cmp eax, ebx
je 0x409fd8
mov byte [esp + 0x220], 7
jmp 0x40a035
lea ecx, [esp + 8]
push ecx
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CFileDialog::GetPathName
push eax
lea ecx, [esp + 0x22c]
mov byte [esp + 0x224], 8
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 8]
mov byte [esp + 0x220], 6
call sub.MFC42.DLL_CString::CString
mov edx, dword [esp + 0x228]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x40a095
push 0
push 0
push 0x41f3c8
call sub.MFC42.DLL_AfxMessageBox
mov byte [esp + 0x220], 9
lea ecx, [esp + 0xcc]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x220], bl
call fcn.0040f9d6
lea ecx, [esp + 0x228]
mov byte [esp + 0x220], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x22c]
mov dword [esp + 0x220], 0xffffffff
call sub.MFC42.DLL_CString::CString
xor eax, eax
mov ecx, dword [esp + 0x218]
mov dword fs:[0], ecx
pop esi
pop ebx
add esp, 0x21c
ret
lea ecx, [esp + 0xcc]
mov byte [esp + 0x220], 0xa
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x220], bl
call fcn.0040f9d6
push ebx
push ecx
lea eax, [esp + 0x230]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call sub.MFC42.DLL_CString::CString_1
push ecx
lea edx, [esp + 0x238]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0x230], 0xb
call sub.MFC42.DLL_CString::CString_1
mov ecx, esi
mov byte [esp + 0x22c], bl
call sub.SSMap.dll_public:_class_CDataSource____thiscall_CScaleMap::CreateDataSourceByMDT_class_CString__class_CString__int_
xor ecx, ecx
mov byte [esp + 0x220], 0
test eax, eax
setne cl
mov esi, ecx
lea ecx, [esp + 0x228]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x22c]
mov dword [esp + 0x220], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x218]
mov eax, esi
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x21c
ret