Function at 0x140212540
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
sub rsp, 0x130
mov qword [rsp + 0x120], 0xfffffffffffffffe
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
call fcn.1401183d0
test eax, eax
jne 0x14021257b
xor eax, eax
jmp 0x1402127f9
mov qword [rsp + 0x40], 0
mov rcx, qword [rsp + 0x140]
add rcx, 8
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x148]
call fcn.140212aa0
test eax, eax
je 0x1402125b1
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0x58]
call qword [0x1403f4428]
nop
mov edx, SerializeElements<class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > >
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc90u.dll_CStdioFile::Flush]
mov rdx, rax
mov ecx, SerializeElements<class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > >
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
mov edx, 0xffffffff
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc90u.dll_CDataPathProperty::Open]
lea rcx, [rsp + 0x50]
call qword [0x1403f4428]
nop
mov edx, SerializeElements<class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > >
lea rcx, [rsp + 0x50]
call qword [sym.imp.mfc90u.dll_CStdioFile::Flush]
mov rbx, rax
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc90u.dll_CDumpContext::operator___1]
mov r9, rbx
xor r8d, r8d
lea rdx, [0x14043e6e0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetTempFileNameW]
mov edx, 0xffffffff
lea rcx, [rsp + 0x50]
call qword [sym.imp.mfc90u.dll_CDataPathProperty::Open]
lea rcx, [rsp + 0x50]
call qword [sym.imp.mfc90u.dll_CDumpContext::operator___1]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x4000100
mov dword [rsp + 0x20], 2
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 0xffffffffffffffff
jne 0x1402126ae
mov dword [rsp + 0x108], 0
lea rcx, [rsp + 0x50]
call qword [sym.imp.mfc90u.dll_CView::CView]
nop
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc90u.dll_CView::CView]
mov eax, dword [rsp + 0x108]
jmp 0x1402127f9
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0xd0]
call sub.mfc90u.dll_CDWordArray::CDWordArray
nop
mov qword [rsp + 0x20], 0
mov r9d, reloc.mfc90u.dll_CDaoTableDef::GetValidationRule
xor r8d, r8d
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x60]
call sub.mfc90u.dll_AFX_MODULE_THREAD_STATE::AFX_MODULE_THREAD_STATE
nop
mov rax, qword [rsp + 0x140]
mov dword [rax + 0x40], 1
mov rax, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
mov rax, qword [rax]
lea rdx, [rsp + 0x60]
mov rcx, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
call qword [rax + reloc.WS2_32.dll_recv]
lea rcx, [rsp + 0x60]
call sub.mfc90u.dll_CDialog::EndDialog
mov r11, qword [rsp + 0x140]
mov dword [r11 + 0x40], 0
lea rcx, [rsp + 0x60]
call sub.mfc90u.dll_CWnd::CWnd
nop
lea rcx, [rsp + 0xd0]
call sub.mfc90u.dll_CDialogTemplate::CDialogTemplate
nop
jmp 0x140212768
jmp 0x14021278a
jmp 0x1402127ac
mov rcx, qword [rsp + 0x140]
add rcx, 8
lea rdx, [rsp + 0x148]
call fcn.140212dd0
mov r11, rax
mov rax, qword [rsp + 0x48]
mov qword [r11], rax
mov dword [rsp + 0x118], 1
lea rcx, [rsp + 0x50]
call qword [sym.imp.mfc90u.dll_CView::CView]
nop
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc90u.dll_CView::CView]
mov eax, dword [rsp + 0x118]
add rsp, 0x130
pop rbx
ret