Function at 0x1403253f0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, reloc.mfc90u.dll_CPaintDC::CPaintDC
mov qword [rsp + 0x2b8], 0xfffffffffffffffe
mov rax, qword [0x1404f5550]
xor rax, rsp
mov qword [rsp + reloc.mfc90u.dll_COleDocument::COleDocument], rax
mov rcx, qword [rsp + 0x2f0]
call fcn.140362970
mov ecx, reloc.mfc90u.dll_COleStreamFile::COleStreamFile
call fcn.1403c089a
mov qword [rsp + 0x280], rax
cmp qword [rsp + 0x280], 0
je 0x14032549b
mov rcx, qword [rsp + 0x2f0]
add rcx, 0x18
call qword [sym.imp.mfc90u.dll_CDumpContext::operator___1]
mov qword [rsp + reloc.mfc90u.dll_CFileDialog::CFileDialog], rax
xor r8d, r8d
mov rdx, qword [rsp + reloc.mfc90u.dll_CFileDialog::CFileDialog]
mov rcx, qword [rsp + 0x280]
call fcn.1403658b0
nop
mov rcx, qword [rsp + 0x280]
lea rax, vtable.CBCGPRecentFileLabel.0
mov qword [rcx], rax
mov rax, qword [rsp + 0x280]
mov qword [rsp + reloc.mfc90u.dll_CMiniFrameWnd::CMiniFrameWnd], rax
jmp 0x1403254a7
mov qword [rsp + reloc.mfc90u.dll_CMiniFrameWnd::CMiniFrameWnd], 0
mov rax, qword [rsp + reloc.mfc90u.dll_CMiniFrameWnd::CMiniFrameWnd]
mov qword [rsp + reloc.mfc90u.dll_CDataSourceControl::CDataSourceControl], rax
mov rdx, qword [rsp + reloc.mfc90u.dll_CDataSourceControl::CDataSourceControl]
mov rcx, qword [rsp + 0x2f0]
call fcn.1403628d0
call sub.mfc90u.dll_AfxFailMaxChars
mov rax, qword [rax + 8]
mov qword [rsp + 0x2a0], rax
mov rax, qword [rsp + 0x2a0]
mov rax, qword [rax + 0x110]
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x40]
mov ecx, SerializeElements<class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > >
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0x254], eax
movsxd rcx, dword [rsp + 0x254]
mov eax, 0x5c
mov word [rsp + rcx*2 + 0x40], ax
mov eax, dword [rsp + 0x254]
add eax, 1
mov dword [rsp + 0x254], eax
movsxd rcx, dword [rsp + 0x254]
xor eax, eax
mov word [rsp + rcx*2 + 0x40], ax
mov dword [rsp + 0x250], 0
cmp qword [rsp + 0x30], 0
je 0x140325817
mov dword [rsp + reloc.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____], 0
jmp 0x14032557a
mov eax, dword [rsp + reloc.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____]
add eax, 1
mov dword [rsp + reloc.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____], eax
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 8]
mov dword [rsp + reloc.mfc90u.dll_CHtmlEditCtrl::CHtmlEditCtrl], eax
mov eax, dword [rsp + reloc.mfc90u.dll_CHtmlEditCtrl::CHtmlEditCtrl]
cmp dword [rsp + reloc.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____], eax
jge 0x140325817
lea rcx, [rsp + 0x260]
call qword [0x140409500]
nop
mov r10, qword [rsp + 0x30]
mov r10, qword [r10]
mov dword [rsp + 0x28], 1
mov eax, dword [rsp + 0x254]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x40]
mov r8d, dword [rsp + reloc.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____]
lea rdx, [rsp + 0x260]
mov rcx, qword [rsp + 0x30]
call qword [r10 + reloc.WS2_32.dll_recv]
test eax, eax
je 0x140325804
lea rcx, [rsp + 0x270]
call qword [0x140409500]
nop
cmp dword [rsp + 0x250], 9
jne 0x140325625
mov r8, qword [rsp + 0x260]
lea rdx, str.10__s
lea rcx, [rsp + 0x270]
call qword [sym.imp.mfc90u.dll_COleServerDoc::XOleObject::EnumAdvise]
jmp 0x140325670
cmp dword [rsp + 0x250], 9
jge 0x14032565a
mov r8d, dword [rsp + 0x250]
add r8d, 1
mov r9, qword [rsp + 0x260]
lea rdx, str._d__s
lea rcx, [rsp + 0x270]
call qword [sym.imp.mfc90u.dll_COleServerDoc::XOleObject::EnumAdvise]
jmp 0x140325670
lea rdx, [rsp + 0x260]
lea rcx, [rsp + 0x270]
call qword [sym.imp.mfc90u.dll_CToolBarCtrl::CToolBarCtrl]
mov ecx, COleSafeArray::COleSafeArray
call fcn.1403c089a
mov qword [rsp + 0x290], rax
cmp qword [rsp + 0x290], 0
je 0x1403256bf
mov rcx, qword [rsp + 0x290]
call fcn.1402519d0
nop
mov rcx, qword [rsp + 0x290]
lea rax, vtable.CBCGPRecentFileButton.0
mov qword [rcx], rax
mov rax, qword [rsp + 0x290]
mov qword [rsp + 0x2c8], rax
jmp 0x1403256cb
mov qword [rsp + 0x2c8], 0
mov rax, qword [rsp + 0x2c8]
mov qword [rsp + reloc.mfc90u.dll_CDocObjectServerItem::CDocObjectServerItem], rax
mov rax, qword [rsp + reloc.mfc90u.dll_CDocObjectServerItem::CDocObjectServerItem]
mov qword [rsp + 0x268], rax
lea rcx, [rsp + 0x270]
call qword [sym.imp.mfc90u.dll_CDumpContext::operator___1]
mov rdx, rax
mov rax, qword [rsp + 0x268]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x268]
call qword [rax + 0x30]
mov edx, dword [rsp + reloc.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____]
add edx, 0xe110
mov rax, qword [rsp + 0x268]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x268]
call qword [rax + 0x28]
cmp dword [rsp + reloc.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____], 0
jl 0x14032575d
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 8]
cmp dword [rsp + reloc.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____], eax
jge 0x14032575d
mov dword [rsp + 0x2d0], 1
jmp 0x140325768
mov dword [rsp + 0x2d0], 0
mov eax, dword [rsp + 0x2d0]
mov dword [rsp + 0x2ac], eax
cmp dword [rsp + 0x2ac], 0
jne 0x140325785
call sub.mfc90u.dll_AfxOleUnregisterServerClass
xor eax, eax
test eax, eax
jne 0x140325735
movsxd rcx, dword [rsp + reloc.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____]
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x10]
lea rax, [rax + rcx*8]
mov qword [rsp + reloc.mfc90u.dll_CInternetException::CInternetException], rax
mov rcx, qword [rsp + reloc.mfc90u.dll_CInternetException::CInternetException]
call qword [sym.imp.mfc90u.dll_CDumpContext::operator___1]
mov rdx, rax
mov rax, qword [rsp + 0x268]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x268]
call qword [rax + 0x58]
mov rdx, qword [rsp + 0x268]
mov rcx, qword [rsp + 0x2f0]
call fcn.1403628d0
mov eax, dword [rsp + 0x250]
add eax, 1
mov dword [rsp + 0x250], eax
lea rcx, [rsp + 0x270]
call qword [sym.imp.mfc90u.dll_CView::CView]
nop
lea rcx, [rsp + 0x260]
call qword [sym.imp.mfc90u.dll_CView::CView]
jmp 0x140325569
mov rcx, qword [rsp + reloc.mfc90u.dll_COleDocument::COleDocument]
xor rcx, rsp
call fcn.1403c2380
add rsp, reloc.mfc90u.dll_CPaintDC::CPaintDC
ret