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

Disassembly:
push 0xffffffffffffffff
push 0x40ab67
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x368
push ebx
push ebp
push esi
xor ebx, ebx
push edi
push ebx
push str.All_Files_._.
push 0xa01204
mov edi, ecx
push ebx
push 0x40f138
push 1
lea ecx, [esp + 0x50]
call sub.MFC42u.DLL_CFileDialog::CFileDialog
push 0x20000
mov dword [esp + 0x384], ebx
call sub.MFC42u.DLL_operatornew
mov esi, eax
add esp, 4
lea ecx, [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esi], ebx
mov dword [esp + 0xc8], 0x40f11c
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb8], 0x10000
call sub.MFC42u.DLL_CFileDialog::DoModal
cmp eax, 1
jne 0x402a3e
mov al, byte [esp + 0x17]
mov dword [esp + 0x20], ebx
mov byte [esp + 0x1c], al
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
push 0x40f10c
push 0x3ef
mov ecx, edi
mov byte [esp + 0x388], 1
mov dword [0x40f020], 0xffffffff
call sub.MFC42u.DLL_CWnd::SetDlgItemTextW
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::CString_1
mov eax, dword [esp + 0xb4]
mov ebp, dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, ebx
mov byte [esp + 0x380], 2
mov dword [esp + 0x18], eax
je 0x4029c3
lea ecx, [esp + 0x18]
lea edx, [esp + 0x2c]
push ecx
push edx
lea ecx, [esp + 0x40]
call sub.MFC42u.DLL_CFileDialog::GetNextPathName
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x384], 3
call fcn.0040a5aa
lea ecx, [esp + 0x2c]
mov byte [esp + 0x380], 2
call fcn.0040a3e8
mov eax, dword [edi + 0x1c0]
push ebx
push ebx
push 0x1004
push eax
xor esi, esi
call ebp
cmp eax, ebx
jle 0x402981
lea ebx, [edi + 0x1a0]
push esi
mov ecx, ebx
call sub.MFC42u.DLL_CListCtrl::GetItemData
mov ecx, dword [esp + 0x10]
push eax
push ecx
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x4029b7
mov edx, dword [edi + 0x1c0]
push 0
push 0
push 0x1004
push edx
inc esi
call ebp
cmp esi, eax
jl 0x40294d
xor ebx, ebx
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4029b9
shr eax, 4
and eax, 1
lea edx, [esp + 0x10]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push edx
call sub.MFC42u.DLL_CString::CString
lea eax, [esp + 0x24]
mov ecx, edi
push eax
call fcn.004020f0
jmp 0x4029b9
xor ebx, ebx
cmp dword [esp + 0x18], ebx
jne 0x4028fb
push 0x40fa34
push 0x3ef
mov ecx, edi
call sub.MFC42u.DLL_CWnd::SetDlgItemTextW
mov ecx, dword [edi + 0x1c0]
push ebx
push ebx
push 0xb
push ecx
call ebp
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
cmp esi, eax
je 0x402a02
mov edx, dword [esi]
mov ecx, edi
push edx
call fcn.00402ae0
mov eax, dword [esp + 0x24]
add esi, 4
cmp esi, eax
jne 0x4029ed
mov eax, dword [edi + 0x1c0]
push ebx
push 1
push 0xb
push eax
call ebp
lea ecx, [esp + 0x10]
mov byte [esp + 0x380], 1
call fcn.0040a3e8
mov ecx, dword [esp + 0x20]
push ecx
call sub.MFC42u.DLL_operatordelete
mov esi, dword [esp + 0x34]
add esp, 4
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
push esi
call sub.MFC42u.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0xe8]
mov dword [esp + 0x380], 4
call fcn.0040a3e8
lea ecx, [esp + 0x38]
mov dword [esp + 0x380], 0xffffffff
call fcn.0040a3ca
mov ecx, dword [esp + 0x378]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x374
ret