Function at 0x449b5c
Capabilities:
Check if file exists
Get common file path
Get file attributes

Disassembly:
push 0x57c
mov eax, 0x46cf6b
call fcn.00468e30
mov ebx, ecx
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x560]
mov dword [ebp - 0x568], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x574], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x56c], eax
call dword [sym.imp.MFC42u.dll_CString::CString_3]
and dword [ebp - 4], 0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x21a]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x564]
xor esi, esi
inc esi
mov dword [ebp - 0x578], esi
call dword [sym.imp.MFC42u.dll_CString::CString_3]
lea ecx, [ebp - 0x570]
mov byte [ebp - 4], 1
call dword [sym.imp.MFC42u.dll_CString::CString_3]
mov eax, dword [ebp - 0x568]
xor edi, edi
mov byte [ebp - 4], 2
cmp dword [eax + 0xc], edi
jbe 0x449c2f
mov esi, eax
push edi
mov ecx, esi
call fcn.0044be71
push eax
lea eax, [ebp - 0x588]
push eax
call fcn.0044be18
push eax
lea ecx, [ebp - 0x560]
mov byte [ebp - 4], 3
call dword [sym.imp.MFC42u.dll_CString::operator]
lea ecx, [ebp - 0x588]
mov byte [ebp - 4], 2
call fcn.00449dab
inc edi
cmp edi, dword [esi + 0xc]
jb 0x449bee
mov esi, dword [ebp - 0x578]
push 0x40e45c
lea ecx, [ebp - 0x560]
call dword [sym.imp.MFC42u.dll_CString::operator_1]
mov eax, dword [ebp - 0x560]
lea ecx, [ebp - 0x560]
push ebx
push dword [eax - 8]
call dword [sym.imp.MFC42u.dll_CString::GetBuffer]
push eax
push 4
push 0
push 0
push 0
lea ecx, [ebp - 0x55c]
call dword [sym.imp.MFC42u.dll_CFileDialog::CFileDialog]
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 4
push eax
push 0x40e298
push 0
push 0
push 5
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathAndSubDirW]
test eax, eax
jne 0x449c99
lea eax, [ebp - 0x21c]
mov dword [ebp - 0x4d0], eax
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp - 0x4e4], eax
lea ecx, [ebp - 0x55c]
call dword [sym.imp.MFC42u.dll_CFileDialog::DoModal]
cmp eax, 1
jne 0x449d3f
mov eax, dword [ebp - 0x4e4]
mov ecx, dword [ebp - 0x56c]
dec eax
mov ebx, dword [ebp - 0x574]
push ebx
push eax
push dword [ebp - 0x568]
mov dword [ecx], eax
lea eax, [ebp - 0x55c]
push eax
call fcn.00449e28
push dword [ebx]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x449d0e
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x449d42
cmp eax, 3
je 0x449d42
test eax, eax
jle 0x449d12
movzx eax, ax
or eax, 0x80070000
jmp 0x449d10
xor eax, eax
test eax, eax
jne 0x449d42
push dword [ebx]
lea eax, [ebp - 0x564]
push 0x6217
push eax
call dword [sym.imp.MFC42u.dll_CString::Format_1]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x564]
push 0x34
pop edx
call fcn.00422563
cmp eax, 6
jne 0x449d44
jmp 0x449d42
push 9
pop edi
xor esi, esi
test esi, esi
jne 0x449ca3
lea ecx, [ebp - 0x4ac]
mov byte [ebp - 4], 5
call dword [sym.imp.MFC42u.dll_CString::CString]
lea ecx, [ebp - 0x55c]
mov byte [ebp - 4], 2
call dword [sym.imp.MFC42u.dll_CDialog::CDialog]
lea ecx, [ebp - 0x570]
mov byte [ebp - 4], 1
call dword [sym.imp.MFC42u.dll_CString::CString]
lea ecx, [ebp - 0x564]
mov byte [ebp - 4], 0
call dword [sym.imp.MFC42u.dll_CString::CString]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x560]
call dword [sym.imp.MFC42u.dll_CString::CString]
mov eax, edi
call fcn.00468dd0
ret 0x10