Function at 0x140014bc0
Capabilities:
Check if file exists
Create directory

Disassembly:
push rbp
push r12
push r13
lea rbp, reloc.mfc100u.dll_CMFCShellListCtrl::GetCurrentFolder
mov eax, 0x1360
call fcn.14004a280
sub rsp, rax
mov qword [rbp - 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x1388], rbx
mov qword [rsp + 0x1390], rsi
mov qword [rsp + 0x1398], rdi
mov rax, qword [0x14007e020]
xor rax, rsp
mov qword [rbp + 0x1250], rax
mov rdi, rcx
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rcx + 0x888]
lea rcx, [rbp + 0x250]
call fcn.140001ac0
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x250]
call fcn.1400036d0
nop
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x40]
test al, al
sete bl
lea rcx, [rbp - 0x40]
call qword [sym.imp.acdb19.dll_public_virtual:_void___cdecl_AdXREFString::destructor_void____ptr64]
xor esi, esi
test bl, bl
je 0x140014c99
lea r9, [rsp + 0x30]
lea r8, [rbp + 0xa50]
mov edx, 0x400
lea rcx, [rbp + 0x250]
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
test eax, eax
je 0x140014c99
mov ecx, esi
nop dword [rax + rax]
movzx eax, word [rbp + rcx + 0xa50]
mov word [rbp + rcx + 0x250], ax
add rcx, 2
test ax, ax
jne 0x140014c80
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x250]
call fcn.1400036d0
nop
mov rcx, rax
call qword [sym.imp.acdb19.dll_public:_wchar_t_const____ptr64___cdecl_AdXREFString::operator_wchar_t_const____ptr64_void_const___ptr64]
mov rdx, rax
lea rcx, [rsp + 0x38]
call qword [0x140052ad0]
nop
lea rcx, [rbp - 0x40]
call qword [sym.imp.acdb19.dll_public_virtual:_void___cdecl_AdXREFString::destructor_void____ptr64]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x140014d90
xor edx, edx
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x140014d90
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, [rsp + 0x30]
call fcn.1400194c0
nop
lea rcx, [rsp + 0x28]
call qword [0x140052ac8]
nop
lea rcx, [rsp + 0x20]
call qword [0x140052ac8]
nop
mov edx, 0xf037
lea rcx, [rsp + 0x28]
call qword [sym.imp.mfc100u.dll_CDaoRecordset::IsBOF]
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x28]
lea rcx, [rsp + 0x20]
call qword [sym.imp.mfc100u.dll_CMFCRibbonRecentFilesList::FillList]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.mfc100u.dll_AfxInitExtensionModule]
nop
lea rcx, [rsp + 0x20]
call qword [sym.imp.mfc100u.dll_CWinApp::CWinApp]
nop
lea rcx, [rsp + 0x28]
call qword [sym.imp.mfc100u.dll_CWinApp::CWinApp]
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc100u.dll_CWinApp::CWinApp]
nop
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc100u.dll_CWinApp::CWinApp]
xor al, al
jmp 0x140014fbd
mov qword [rbp + 0x20], rsi
mov qword [rbp + 0x28], rsi
mov qword [rbp + 0x30], rsi
mov ebx, esi
lea rdx, [rbp + 0x20]
mov rcx, qword [rdi + 0x888]
call qword [sym.imp.AcUt.dll_bool___cdecl_AcUt::GetFileStatus_wchar_t_const____ptr64__struct_CFileStatus____ptr64_]
test al, al
je 0x140014dd9
movzx eax, byte [rbp + 0x40]
test al, 1
je 0x140014dd9
and al, 0xfe
mov byte [rbp + 0x40], al
xor r8d, r8d
lea rdx, [rbp + 0x20]
mov rcx, qword [rdi + 0x888]
call qword [sym.imp.mfc100u.dll_CFileDialog::GetResults]
mov ebx, 1
lea rcx, [rsp + 0x60]
call qword [sym.imp.mfc100u.dll_CSmartDockingInfo::CSmartDockingInfo]
lea r12, vtable.AcCStdioFile.0
mov qword [rsp + 0x60], r12
mov dword [rbp - 0x70], 1
mov word [rbp - 0x6c], 1
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], rsi
mov dword [rbp - 0x58], esi
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc100u.dll_CDrawingManager::CDrawingManager]
lea r13, vtable.CFileException.0
mov qword [rsp + 0x40], r13
lea rcx, [rsp + 0x58]
call qword [0x140052ac8]
nop
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x54], 0xffffffff
xor edx, edx
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc100u.dll_CVSListBoxBase::CVSListBoxBase]
nop
lea r9, [rsp + 0x40]
mov r8d, 0x1001
mov rdx, qword [rdi + 0x888]
lea rcx, [rsp + 0x60]
call qword [sym.imp.mfc100u.dll_CMFCStatusBar::OnSysCommand]
test eax, eax
jne 0x140014f55
lea rcx, [rsp + 0x30]
call qword [0x140052ac8]
nop
lea rcx, [rsp + 0x20]
call qword [0x140052ac8]
nop
lea rcx, [rsp + 0x28]
call qword [0x140052ac8]
nop
mov edx, 0xf038
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc100u.dll_CDaoRecordset::IsBOF]
mov edx, 0x400
lea rcx, [rsp + 0x20]
call qword [sym.imp.mfc100u.dll_CTaskDialog::FreeStruct]
mov rdx, rax
xor r9d, r9d
mov r8d, 0x400
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc100u.dll_CMFCShellListCtrl::GetCurrentFolder]
or edx, 0xffffffff
lea rcx, [rsp + 0x20]
call qword [sym.imp.mfc100u.dll_CMFCAcceleratorKeyAssignCtrl::PreTranslateMessage]
mov r9, qword [rsp + 0x20]
mov r8, qword [rdi + 0x888]
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x28]
call qword [sym.imp.mfc100u.dll_CMFCRibbonRecentFilesList::FillList]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.mfc100u.dll_AfxInitExtensionModule]
nop
lea rcx, [rsp + 0x28]
call qword [sym.imp.mfc100u.dll_CWinApp::CWinApp]
nop
lea rcx, [rsp + 0x20]
call qword [sym.imp.mfc100u.dll_CWinApp::CWinApp]
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc100u.dll_CWinApp::CWinApp]
nop
mov qword [rsp + 0x40], r13
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc100u.dll_CWinApp::CWinApp]
nop
mov qword [rsp + 0x60], r12
lea rcx, [rsp + 0x60]
call qword [sym.imp.mfc100u.dll_CScrollView::CScrollView]
nop
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc100u.dll_CWinApp::CWinApp]
xor al, al
jmp 0x140014fbd
lea rcx, [rsp + 0x60]
call qword [sym.imp.mfc100u.dll_CMFCVisualManagerOffice2007::CleanStyle]
test ebx, ebx
je 0x140014f8e
lea rdx, [rbp + 0x20]
mov rcx, qword [rdi + 0x888]
call qword [sym.imp.AcUt.dll_bool___cdecl_AcUt::GetFileStatus_wchar_t_const____ptr64__struct_CFileStatus____ptr64_]
or byte [rbp + 0x40], 1
xor r8d, r8d
lea rdx, [rbp + 0x20]
mov rcx, qword [rdi + 0x888]
call qword [sym.imp.mfc100u.dll_CFileDialog::GetResults]
nop
mov qword [rsp + 0x40], r13
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc100u.dll_CWinApp::CWinApp]
nop
mov qword [rsp + 0x60], r12
lea rcx, [rsp + 0x60]
call qword [sym.imp.mfc100u.dll_CScrollView::CScrollView]
nop
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc100u.dll_CWinApp::CWinApp]
mov al, 1
mov rcx, qword [rbp + 0x1250]
xor rcx, rsp
call fcn.140049a80
lea r11, [rsp + 0x1360]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r13
pop r12
pop rbp
ret