Function at 0x140059090
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x60
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov rsi, rcx
mov r8, rdx
mov edx, 0x66
call sub.mfc140u.dll_CDataRecoveryHandler::CDataRecoveryHandler
nop
lea rax, vtable.CHookDlg.0
mov qword [rsi], rax
lea rcx, [rsi + 0x130]
call fcn.1400c31f0
nop
lea rbx, [rsi + 0x1c8]
mov qword [rsp + 0x40], rbx
mov rcx, rbx
call sub.mfc140u.dll_CUserToolsManager::CUserToolsManager
lea r14, vtable.CStatic.0
mov qword [rbx], r14
lea rbx, [rsi + 0x2b0]
mov qword [rsp + 0x40], rbx
mov rcx, rbx
call sub.mfc140u.dll_CUserToolsManager::CUserToolsManager
lea r15, vtable.CButton.0
mov qword [rbx], r15
lea rbx, [rsi + 0x398]
mov qword [rsp + 0x40], rbx
mov rcx, rbx
call sub.mfc140u.dll_CUserToolsManager::CUserToolsManager
mov qword [rbx], r15
lea rbx, [rsi + 0x480]
mov qword [rsp + 0x40], rbx
mov rcx, rbx
call sub.mfc140u.dll_CUserToolsManager::CUserToolsManager
mov qword [rbx], r15
lea rbx, [rsi + 0x568]
mov qword [rsp + 0x40], rbx
mov rcx, rbx
call sub.mfc140u.dll_CUserToolsManager::CUserToolsManager
mov qword [rbx], r15
lea rbx, [rsi + 0x650]
mov qword [rsp + 0x40], rbx
mov rcx, rbx
call sub.mfc140u.dll_CUserToolsManager::CUserToolsManager
mov qword [rbx], r15
lea rbx, [rsi + 0x738]
mov qword [rsp + 0x40], rbx
mov rcx, rbx
call sub.mfc140u.dll_CUserToolsManager::CUserToolsManager
mov qword [rbx], r15
lea rbx, [rsi + 0x820]
mov qword [rsp + 0x40], rbx
mov rcx, rbx
call sub.mfc140u.dll_CUserToolsManager::CUserToolsManager
mov qword [rbx], r15
lea rbx, [rsi + 0x908]
mov qword [rsp + 0x40], rbx
mov rcx, rbx
call sub.mfc140u.dll_CUserToolsManager::CUserToolsManager
mov qword [rbx], r15
mov byte [rsi + 0x9f0], 0
lea rcx, [rsi + 0x9f8]
call sub.mfc140u.dll_CHandleMap::CHandleMap
nop
xor r12d, r12d
mov qword [rsi + 0xa10], r12
lea rbp, vtable.CBitmap.0
mov qword [rsi + 0xa08], rbp
mov qword [rsi + 0xa20], r12
mov qword [rsi + 0xa18], rbp
mov qword [rsi + 0xa30], r12
mov qword [rsi + 0xa28], rbp
mov qword [rsi + CGlobalUtils::CalcExpectedDockedRect], r12
mov qword [rsi + 0xa38], rbp
mov qword [rsi + 0xa50], r12
mov qword [rsi + CDockingPanesRow::CalcFixedLayout], rbp
mov qword [rsi + 0xa60], r12
mov qword [rsi + 0xa58], rbp
mov qword [rsi + 0xa70], r12
mov qword [rsi + 0xa68], rbp
mov qword [rsi + CDHtmlDialog::CanAccessExternal], r12
mov qword [rsi + CAutoHideDockSite::CanAcceptPane], rbp
mov qword [rsi + 0xa90], r12
mov qword [rsi + CMultiPaneFrameWnd::CanBeDockedToPane], rbp
mov qword [rsi + 0xaa0], r12
mov qword [rsi + 0xa98], rbp
mov qword [rsi + 0xab0], r12
mov qword [rsi + 0xaa8], rbp
mov qword [rsi + 0xac0], r12
mov qword [rsi + 0xab8], rbp
mov qword [rsi + 0xad0], r12
mov qword [rsi + 0xac8], rbp
mov qword [rsi + CPaneDivider::CheckVisibility], r12
mov qword [rsi + 0xad8], rbp
lea rcx, [rsi + 0xae8]
lea rbx, [fcn.1400c3370]
mov qword [rsp + 0x20], rbx
lea r9, [fcn.1400c31f0]
mov edx, 0x98
mov r8d, 0x1f4
call fcn.14010c28c
nop
lea rcx, [rsi + 0x133c8]
mov qword [rsp + 0x20], rbx
lea r9, [fcn.1400c31f0]
mov edx, 0x98
mov r8d, 0x1f4
call fcn.14010c28c
nop
lea rcx, [rsi + 0x25ca8]
mov rax, qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
mov qword [rsp + 0x20], rax
mov r9, qword [sym.imp.mfc140u.dll_Ordinal_296]
lea edx, [r12 + 8]
lea r8d, [r12 + 0x64]
call fcn.14010c28c
nop
lea rcx, [rsi + 0x25fd8]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
lea rcx, [rsi + 0x25fe0]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
mov byte [rsi + 0x25fe8], r12b
lea rcx, [rsi + 0x25ff8]
call fcn.140078180
nop
lea rcx, [rsi + 0x260c8]
call fcn.1400ccb20
nop
lea rcx, [rsi + 0x27b10]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
mov qword [rsi + 0x27b80], r12
lea rbx, vtable.CBrush.0
mov qword [rsi + 0x27b78], rbx
lea rcx, [rsi + 0x27b90]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
lea rcx, [rsi + 0x27b98]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
lea rcx, [rsi + 0x27ba0]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
lea rcx, [rsi + 0x27ba8]
call fcn.140034c10
nop
lea rcx, [rsi + 0x27be8]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
lea rcx, [rsi + 0x27bf0]
lea rdx, [0x14014b540]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__4]
nop
lea rcx, [rsi + 0x27bf8]
lea rdx, [0x14014b540]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__4]
nop
lea rcx, [rsi + 0x27c00]
lea rdx, [0x14014b540]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__4]
nop
mov word [rsi + 0x27c08], r12w
mov byte [rsi + 0x27c0a], 1
mov qword [rsi + 0x28890], r12
lea rcx, [rsi + 0x288c0]
lea rdx, [0x140145960]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t_]
nop
lea rcx, [rsi + 0x288c8]
lea rdx, [0x140155fd0]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__4]
nop
mov word [rsi + 0x288d0], 0x101
mov byte [rsi + 0x288d2], 1
mov qword [rsi + 0x28c08], r12
lea rax, vtable.CFont.0
mov qword [rsi + 0x28c00], rax
mov qword [rsi + 0x28c18], r12
mov qword [rsi + 0x28c10], rax
mov byte [rsi + 0x28c36], r12b
mov qword [rsi + 0x28c40], r12
mov qword [rsi + 0x28c38], rax
mov qword [rsi + 0x28c58], r12
mov qword [rsi + 0x28c50], rbx
lea rbx, [rsi + 0x28c60]
mov qword [rsp + 0x40], rbx
mov rcx, rbx
call sub.mfc140u.dll_CUserToolsManager::CUserToolsManager
lea rdi, vtable.CListBox.0
mov qword [rbx], rdi
lea rbx, [rsi + 0x28d48]
mov qword [rsp + 0x40], rbx
mov rcx, rbx
call sub.mfc140u.dll_CUserToolsManager::CUserToolsManager
mov qword [rbx], rdi
lea rcx, [rsi + 0x28e30]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
lea rcx, [rsi + 0x28e38]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
lea rbx, [rsi + 0x28e40]
mov qword [rsp + 0x40], rbx
mov rcx, rbx
call sub.mfc140u.dll_CUserToolsManager::CUserToolsManager
mov qword [rbx], rdi
mov byte [rsi + 0x28f2c], r12b
lea rcx, [rsi + 0x28f38]
mov rax, qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
mov qword [rsp + 0x20], rax
mov r9, qword [sym.imp.mfc140u.dll_Ordinal_296]
lea edx, [r12 + 8]
lea r8d, [r12 + 0x64]
call fcn.14010c28c
nop
lea rcx, [rsi + 0x29260]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
lea rcx, [rsi + 0x29268]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
lea rcx, [rsi + 0x29270]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
lea rcx, [rsi + 0x29280]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
lea rbx, [rsi + 0x29288]
mov qword [rsp + 0x40], rbx
mov rcx, rbx
call sub.mfc140u.dll_CUserToolsManager::CUserToolsManager
mov qword [rbx], r15
mov qword [rsi + 0x29370], r12
mov qword [rsi + 0x29378], r12
lea rcx, [rsi + 0x29380]
call sub.mfc140u.dll_CDaoRecordView::CDaoRecordView
nop
mov qword [rsi + 0x293a8], r12
mov qword [rsi + 0x293a0], rbp
lea rcx, [rsi + 0x293c0]
call fcn.140099520
nop
lea rbx, [rsi + 0x29a70]
mov qword [rsp + 0x40], rbx
mov rcx, rbx
call sub.mfc140u.dll_CUserToolsManager::CUserToolsManager
mov qword [rbx], r14
lea rbx, [rsi + 0x29b58]
mov qword [rsp + 0x40], rbx
mov rcx, rbx
call sub.mfc140u.dll_CUserToolsManager::CUserToolsManager
mov qword [rbx], r15
lea rbx, [rsi + 0x29c48]
mov qword [rsp + 0x40], rbx
mov rcx, rbx
call sub.mfc140u.dll_CUserToolsManager::CUserToolsManager
lea rax, vtable.CComboBox.0
mov qword [rbx], rax
lea rbx, [rsi + 0x29d30]
mov qword [rsp + 0x40], rbx
mov rcx, rbx
call sub.mfc140u.dll_CUserToolsManager::CUserToolsManager
mov qword [rbx], r15
lea rbx, [rsi + 0x29e18]
mov qword [rsp + 0x40], rbx
mov rcx, rbx
call sub.mfc140u.dll_CUserToolsManager::CUserToolsManager
lea rax, vtable.CTreeCtrl.0
mov qword [rbx], rax
lea rbx, [rsi + 0x29f00]
mov qword [rsp + 0x40], rbx
mov rcx, rbx
call sub.mfc140u.dll_CUserToolsManager::CUserToolsManager
lea rax, vtable.CRichEditCtrl.0
mov qword [rbx], rax
lea rcx, [rsi + 0x29fe8]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
lea rcx, [rsi + 0x29ff0]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
lea rcx, [rsi + 0x29ff8]
call fcn.140086560
nop
lea rcx, [rsi + 0x2a330]
lea rdx, [0x140145960]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t_]
nop
lea rbx, [rsi + 0x2a338]
mov qword [rsp + 0x40], rbx
mov rcx, rbx
call sub.mfc140u.dll_CUserToolsManager::CUserToolsManager
lea rax, vtable.CEdit.0
mov qword [rbx], rax
lea rbx, [rsi + 0x2a420]
mov qword [rsp + 0x40], rbx
mov rcx, rbx
call sub.mfc140u.dll_CUserToolsManager::CUserToolsManager
mov qword [rbx], rdi
lea rcx, [rsi + 0x2a508]
lea rdx, [0x140145960]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t_]
nop
lea rcx, [rsi + 0x2a518]
mov rax, qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
mov qword [rsp + 0x20], rax
mov r9, qword [sym.imp.mfc140u.dll_Ordinal_296]
lea edx, [r12 + 8]
mov r8d, 0x1f4
call fcn.14010c28c
nop
mov dword [rsi + 0x2a510], r12d
call fcn.14004b150
mov qword [0x1401d8288], rax
call sub.mfc140u.dll_AfxFieldText
mov rdx, qword [rax + 8]
add rdx, 0x348
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__13]
nop
lea edx, [r12 + 1]
xor r8d, r8d
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_CPaneFrameWnd::EnterDragMode]
mov rcx, qword [0x1401d8288]
test eax, eax
mov rax, qword [rcx]
je 0x140059755
mov edx, 0xbb4700
call qword [rax + gethostname]
mov edx, 0xffffff
jmp 0x14005975f
mov edx, 0xe5caa9
call qword [rax + gethostname]
xor edx, edx
mov rcx, qword [0x1401d8288]
mov rax, qword [rcx]
call qword [rax + 0x30]
mov byte [rsi + 0x28c35], 0
lea rdx, [0x140144758]
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__4]
mov rdx, rax
mov rcx, rsi
call fcn.14006d780
call sub.mfc140u.dll_AfxFieldText
mov edx, 0xe
lea ecx, [rdx + 0x7d]
call sub.mfc140u.dll_AfxCriticalNewHandler
mov rcx, rax
mov edx, 0x8b
call qword [sym.imp.USER32.dll_LoadIconW]
mov qword [rsi + 0x28c48], rax
mov byte [rsi + 0x27ae8], 0
mov byte [rsi + 0x28c22], 1
lea rcx, [rsp + 0xb8]
call fcn.1400fa2b0
nop
lea rcx, [rsp + 0xb8]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator___1]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140059808
lea rcx, [rsp + 0xb8]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator___1]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea rcx, [rsp + 0xb0]
call fcn.1400f9990
nop
lea rcx, [rsp + 0xb0]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator___1]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x14005984b
lea rcx, [rsp + 0xb0]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator___1]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov rcx, rsi
call fcn.140070db0
mov dword [rsi + 0x25fcc], r12d
mov qword [rsi + 0x27af8], 0xffffffffffffffff
mov dword [rsi + 0x27ad0], 0xffffffff
mov dword [rsi + 0x27b00], 0xffffffff
mov dword [rsi + 0x293b8], r12d
mov dword [rsi + 0x28bf8], r12d
mov word [rsi + 0x28c20], 0x100
mov dword [rsi + 0x29c40], r12d
mov dword [rsi + 0x28f28], 0xffffffff
mov rcx, rsi
call fcn.14006c220
lea rax, [rsp + 0x38]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x58], rax
lea rdx, [0x1401486fc]
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__4]
mov rdi, rax
lea rdx, str.in_chookdlg_constructor
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__4]
mov rbx, rax
call sub.mfc140u.dll_AfxFieldText
nop
mov r9d, 0xffffffff
mov r8, rdi
mov rdx, rbx
mov rcx, qword [rax + 8]
call fcn.140058bf0
nop
lea rcx, [rsp + 0xb0]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
nop
lea rcx, [rsp + 0xb8]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
nop
mov rax, rsi
add rsp, 0x60
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret