Function at 0x14014e970
Capabilities:
Get file attributes

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
sub rsp, reloc.mfc90u.dll_CRecordset::GetData
mov qword [rsp + CPropertySet::GetCount], 0xfffffffffffffffe
mov rax, qword [0x1404e41f8]
xor rax, rsp
mov qword [rsp + 0xb00], rax
mov rax, qword [rsp + 0xb20]
cmp dword [rax + 0x144], 0
je 0x14014e9b8
xor eax, eax
jmp 0x14014eebd
mov rcx, qword [rsp + 0xb20]
add rcx, 0x20
call sub.mfc90u.dll_AfxActivateActCtx
mov rdx, qword [rsp + 0xb28]
lea rcx, [rsp + 0x70]
call qword [0x1403f4480]
nop
xor r8d, r8d
lea rdx, [0x1403ff83c]
lea rcx, [rsp + 0x70]
call qword [sym.imp.mfc90u.dll_ATL::CSimpleStringT_wchar_t_1_::Empty]
cmp eax, 0xffffffff
jne 0x14014eb41
xor r8d, r8d
lea rdx, [0x140400c08]
lea rcx, [rsp + 0x70]
call qword [sym.imp.mfc90u.dll_ATL::CSimpleStringT_wchar_t_1_::Empty]
cmp eax, 0xffffffff
jne 0x14014eb41
xor r8d, r8d
lea rdx, [0x1403f654c]
lea rcx, [rsp + 0x70]
call qword [sym.imp.mfc90u.dll_ATL::CSimpleStringT_wchar_t_1_::Empty]
cmp eax, 0xffffffff
jne 0x14014eb41
mov r8d, SerializeElements<class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > >
lea rdx, [rsp + 0x90]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jbe 0x14014eb41
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], SerializeElements<class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > >
lea r9, [rsp + 0x8c0]
mov r8d, 3
lea rdx, [rsp + 0x8b0]
lea rcx, [rsp + 0x90]
call qword [sym.imp.MSVCR90.dll__wsplitpath_s]
mov qword [rsp + 0x40], SerializeElements<class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > >
lea rax, [rsp + 0x6b0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], SerializeElements<class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > >
lea rax, [rsp + 0x2a0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0xb28]
call qword [sym.imp.MSVCR90.dll__wsplitpath_s]
lea r11, [rsp + 0x6b0]
mov qword [rsp + 0x28], r11
lea rax, [rsp + 0x2a0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x8c0]
lea r8, [rsp + 0x8b0]
mov edx, SerializeElements<class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > >
lea rcx, [rsp + 0x4a0]
call qword [sym.imp.MSVCR90.dll__wmakepath_s]
lea rdx, [rsp + 0x4a0]
lea rcx, [rsp + 0x70]
call qword [sym.imp.mfc90u.dll_CTreeCtrl::CTreeCtrl]
mov dword [rsp + 0x78], 0
lea rcx, [rsp + 0xac0]
call qword [0x1403f4428]
nop
mov edx, HashKey<wchar_t const *>
lea rcx, [rsp + 0xac0]
call qword [sym.imp.mfc90u.dll_CStdioFile::Flush]
mov rbx, rax
lea rcx, [rsp + 0x70]
call qword [sym.imp.mfc90u.dll_CDumpContext::operator___1]
mov qword [rsp + 0x40], SerializeElements<class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > >
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.MSVCR90.dll__wsplitpath_s]
mov edx, 0xffffffff
lea rcx, [rsp + 0xac0]
call qword [sym.imp.mfc90u.dll_CDataPathProperty::Open]
lea rdx, str..png
lea rcx, [rsp + 0xac0]
call qword [sym.imp.mfc90u.dll_CLongBinary::classCLongBinary]
test eax, eax
jne 0x14014ebec
mov dword [rsp + reloc.mfc90u.dll_CPropertySet::GetCount], 1
jmp 0x14014ebf7
mov dword [rsp + reloc.mfc90u.dll_CPropertySet::GetCount], 0
mov eax, dword [rsp + reloc.mfc90u.dll_CPropertySet::GetCount]
mov dword [rsp + 0x78], eax
lea rcx, [rsp + 0xac0]
call qword [sym.imp.mfc90u.dll_CView::CView]
cmp dword [rsp + 0x78], 0
je 0x14014ec72
lea rcx, [rsp + 0xac8]
call fcn.1401ccc10
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.mfc90u.dll_CDumpContext::operator___1]
mov rdx, rax
lea rcx, [rsp + 0xac8]
call fcn.1401cce10
test eax, eax
je 0x14014ec60
lea rcx, [rsp + 0xac8]
call sub.mfc90u.dll_DDX_IPAddress
mov r11, rax
mov rax, qword [rsp + 0xb20]
mov qword [rax + 0x20], r11
lea rcx, [rsp + 0xac8]
call fcn.1401cccb0
jmp 0x14014ecf6
mov dword [rsp + CRichEditView::GetContextMenu], 0x2010
mov rax, qword [rsp + 0xb20]
cmp dword [rax + 0x160], 0
je 0x14014eca1
mov eax, dword [rsp + 0xad8]
or eax, reloc.mfc90u.dll_CDaoTableDef::GetValidationRule
mov dword [rsp + COleDocument::GetContainer], eax
call sub.mfc90u.dll_AfxFailMaxChars
mov rax, qword [rax + 0x10]
mov qword [rsp + CDHtmlDialog::GetControlProperty], rax
lea rcx, [rsp + 0x70]
call qword [sym.imp.mfc90u.dll_CDumpContext::operator___1]
mov rdx, rax
mov eax, dword [rsp + 0xad8]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rsp + 0xae8]
call qword [sym.imp.USER32.dll_LoadImageW]
mov r11, rax
mov rax, qword [rsp + 0xb20]
mov qword [rax + 0x20], r11
mov rax, qword [rsp + 0xb20]
cmp qword [rax + 0x20], 0
jne 0x14014ed27
mov dword [rsp + reloc.mfc90u.dll_COleDocument::GetContainer], 0
lea rcx, [rsp + 0x70]
call qword [sym.imp.mfc90u.dll_CView::CView]
mov eax, dword [rsp + reloc.mfc90u.dll_COleDocument::GetContainer]
jmp 0x14014eebd
lea r8, [rsp + 0x50]
mov edx, 0x20
mov rcx, qword [rsp + 0xb20]
mov rcx, qword [rcx + 0x20]
call qword [sym.imp.GDI32.dll_GetObjectW]
test eax, eax
jne 0x14014ed8b
mov rcx, qword [rsp + 0xb20]
mov rcx, qword [rcx + 0x20]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov r11, qword [rsp + 0xb20]
mov qword [r11 + 0x20], 0
mov dword [rsp + CRichEditView::GetContextMenu], 0
lea rcx, [rsp + 0x70]
call qword [sym.imp.mfc90u.dll_CView::CView]
mov eax, dword [rsp + 0xae0]
jmp 0x14014eebd
mov rax, qword [rsp + 0xb20]
mov dword [rax + 0x38], 1
mov rcx, qword [rsp + 0xb20]
add rcx, 0x40
lea rdx, [rsp + 0x70]
call qword [sym.imp.mfc90u.dll_CToolBarCtrl::CToolBarCtrl]
lea rcx, [rsp + 0x70]
call qword [sym.imp.mfc90u.dll_CDumpContext::operator___1]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
and eax, 1
test eax, eax
je 0x14014edde
mov rax, qword [rsp + 0xb20]
mov dword [rax + 0x140], 1
movzx ecx, word [rsp + 0x62]
mov rax, qword [rsp + 0xb20]
mov dword [rax + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu], ecx
mov rax, qword [rsp + 0xb20]
cmp dword [rax + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu], 8
jle 0x14014ee2e
mov rax, qword [rsp + 0xb20]
cmp dword [rax + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu], 0x20
jge 0x14014ee2e
mov r9d, 0xffffffff
mov r8d, 0xffffffff
xor edx, edx
mov rcx, qword [rsp + 0xb20]
call fcn.1401562f0
movzx eax, word [rsp + 0x62]
cmp eax, 0x20
jl 0x14014ee51
mov rdx, qword [rsp + 0xb20]
mov rdx, qword [rdx + 0x20]
mov rcx, qword [rsp + 0xb20]
call fcn.140156ec0
mov rcx, qword [rsp + 0xb20]
call fcn.140152270
mov rcx, qword [rsp + 0xb20]
add rcx, 0x28
call sub.mfc90u.dll_AfxActivateActCtx
mov r11, qword [rsp + 0xb20]
mov qword [r11 + 0x28], 0
mov rcx, qword [rsp + 0xb20]
add rcx, 0x30
call sub.mfc90u.dll_AfxActivateActCtx
mov r11, qword [rsp + 0xb20]
mov qword [r11 + 0x30], 0
mov dword [rsp + CDHtmlDialog::GetControlProperty], 1
lea rcx, [rsp + 0x70]
call qword [sym.imp.mfc90u.dll_CView::CView]
mov eax, dword [rsp + 0xae4]
mov rcx, qword [rsp + 0xb00]
xor rcx, rsp
call fcn.1403addc0
add rsp, reloc.mfc90u.dll_CRecordset::GetData
pop rbx
ret