Function at 0x1402fa6e0
Capabilities:
Log keystrokes via polling

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0xa38
mov qword [rsp + COleClientItem::FinishCreate], 0xfffffffffffffffe
mov ecx, send
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
mov dword [rsp + 0x58], eax
mov dword [rsp + 0xcc], 0x24
mov rax, qword [rsp + 0xa50]
cmp dword [rax + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu], 0
je 0x1402fa74d
mov eax, dword [rsp + 0xcc]
or eax, 1
mov dword [rsp + 0xcc], eax
jmp 0x1402fa75e
mov eax, dword [rsp + 0xcc]
or eax, 2
mov dword [rsp + 0xcc], eax
mov rax, qword [rsp + 0xa50]
mov edx, dword [rax + 0x358]
lea rcx, [rsp + 0xb8]
call sub.mfc90u.dll_CBrush::CBrush
nop
mov rax, qword [rsp + 0xa58]
mov rax, qword [rax]
lea rdx, [rsp + 0x48]
mov rcx, qword [rsp + 0xa58]
call qword [rax + 0xb0]
mov dword [rsp + 0x68], 0
mov r8d, dword [rsp + 0xa68]
lea rdx, [rsp + 0x3a0]
mov rcx, qword [rsp + 0xa50]
call fcn.1402fe840
lea rdi, [rsp + 0x570]
lea rsi, [rsp + 0x3a0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x570]
call fcn.1402259c0
mov edi, eax
lea rcx, [rsp + 0x570]
call fcn.140225a30
mov edx, edi
mov ecx, eax
call fcn.1402feba0
mov dword [rsp + 0xb4], eax
xor ecx, ecx
call qword [sym.imp.MSVCR90.dll__time64]
mov qword [rsp + 0x608], rax
xorpd xmm0, xmm0
movsd qword [rsp + 0x80], xmm0
mov dword [rsp + 0x88], 0
lea rdx, [rsp + 0x608]
lea rcx, [rsp + 0x80]
call fcn.140004398
mov rax, qword [rsp + 0xa50]
mov eax, dword [rax + 0x164]
sub eax, 1
cmp dword [rsp + 0xa68], eax
jne 0x1402fa864
mov dword [rsp + 0x9d8], 1
jmp 0x1402fa86f
mov dword [rsp + 0x9d8], 0
mov eax, dword [rsp + 0x9d8]
mov dword [rsp + 0x98], eax
lea rdi, [rsp + 0x9c0]
mov rsi, qword [rsp + 0xa60]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x70]
lea rsi, [rsp + 0x9c0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0xa50]
mov ecx, dword [rax + 0x170]
mov eax, dword [rsp + 0x74]
lea eax, [rax + rcx + 2]
mov dword [rsp + 0x7c], eax
mov rax, qword [rsp + 0xa50]
cmp dword [rax + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu], 0
jne 0x1402fa8f8
xor r8d, r8d
neg r8d
mov edx, 1
neg edx
lea rcx, [rsp + 0x70]
call qword [sym.imp.USER32.dll_InflateRect]
mov eax, dword [rsp + 0x74]
add eax, 1
mov dword [rsp + 0x74], eax
jmp 0x1402fa960
lea rdx, [rsp + 0x3e8]
mov rcx, qword [rsp + 0xa50]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetClientRect]
mov rax, qword [rsp + 0xa50]
mov ecx, dword [rax + 0x398]
mov eax, dword [rsp + 0x3e8]
add eax, ecx
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0xa50]
mov ecx, dword [rax + 0x398]
mov eax, dword [rsp + 0x3f0]
sub eax, ecx
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0xa50]
mov ecx, dword [rax + reloc.mfc90u.dll_COleCurrency::operator_]
mov eax, dword [rsp + 0x74]
add eax, ecx
mov dword [rsp + 0x74], eax
mov rax, qword [rsp + 0xa50]
cmp dword [rax + 0x158], 0
je 0x1402faab0
mov rax, qword [rsp + 0xa50]
mov eax, dword [rax + 0x350]
and rax, 0xff
movzx eax, al
cmp eax, 0xc0
jle 0x1402faa09
mov rax, qword [rsp + 0xa50]
movzx eax, word [rax + 0x350]
sar eax, 8
cdqe
and rax, 0xff
movzx eax, al
cmp eax, 0xc0
jle 0x1402faa09
mov rax, qword [rsp + 0xa50]
mov eax, dword [rax + 0x350]
shr eax, 0x10
mov eax, eax
and rax, 0xff
movzx eax, al
cmp eax, 0xc0
jle 0x1402faa09
mov rax, qword [rsp + 0xa50]
mov eax, dword [rax + 0x350]
mov dword [rsp + reloc.mfc90u.dll_CRecordset::AddNew], eax
mov edx, 0x50
mov ecx, dword [rsp + reloc.mfc90u.dll_CRecordset::AddNew]
call fcn.1401b0ab0
mov dword [rsp + reloc.mfc90u.dll_CObList::AddTail], eax
jmp 0x1402faa36
mov rax, qword [rsp + 0xa50]
mov eax, dword [rax + 0x350]
mov dword [rsp + reloc.mfc90u.dll_CObList::AddTail], eax
mov edx, 0x78
mov ecx, dword [rsp + reloc.mfc90u.dll_CObList::AddTail]
call fcn.1401b0ab0
mov dword [rsp + reloc.mfc90u.dll_CRecordset::AddNew], eax
mov rdx, qword [rsp + 0xa58]
lea rcx, [rsp + reloc.mfc90u.dll_CDHtmlControlSink::AddRef]
call fcn.1401a9790
nop
lea rdi, [rsp + 0x580]
lea rsi, [rsp + 0x70]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 1
mov r9d, dword [rsp + reloc.mfc90u.dll_CRecordset::AddNew]
mov r8d, dword [rsp + reloc.mfc90u.dll_CObList::AddTail]
lea rdx, [rsp + 0x580]
lea rcx, [rsp + reloc.mfc90u.dll_CDHtmlControlSink::AddRef]
call fcn.1401abdc0
nop
lea rcx, [rsp + reloc.mfc90u.dll_CDHtmlControlSink::AddRef]
call fcn.1401a9810
jmp 0x1402fab45
mov rax, qword [rsp + 0xa50]
mov edx, dword [rax + 0x350]
lea rcx, [rsp + 0x418]
call sub.mfc90u.dll_CBrush::CBrush
nop
lea rax, [rsp + 0x418]
mov qword [rsp + reloc.mfc90u.dll_CFile::Close], rax
cmp qword [rsp + reloc.mfc90u.dll_CFile::Close], 0
jne 0x1402faaf5
mov qword [rsp + ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >::Format], 0
jmp 0x1402fab09
mov rax, qword [rsp + reloc.mfc90u.dll_CFile::Close]
mov rax, qword [rax + 8]
mov qword [rsp + COleDataSource::FlushClipboard], rax
mov r8, qword [rsp + 0x9e0]
lea rdx, [rsp + 0x70]
mov rcx, qword [rsp + 0xa58]
mov rcx, qword [rcx + 8]
call qword [sym.imp.USER32.dll_FillRect]
nop
lea rax, vtable.CBrush.0
mov qword [rsp + 0x418], rax
lea rcx, [rsp + 0x418]
call fcn.140007a64
mov eax, dword [rsp + 0x78]
sub eax, 2
mov dword [rsp + 0x78], eax
mov rdi, qword [rsp + 0xa58]
mov rdi, qword [rdi]
mov rax, qword [rsp + 0xa50]
mov edx, dword [rax + 0x354]
mov rcx, qword [rsp + 0xa58]
call qword [rdi + VarBstrFromDisp]
lea rcx, [rsp + reloc.mfc90u.dll_AfxCompareValueByRef]
call fcn.140304680
nop
lea r8, str._B__Y
lea rdx, [rsp + 0x428]
lea rcx, [rsp + 0x3a0]
call fcn.1402393d0
nop
lea rcx, [rsp + 0x428]
call qword [sym.imp.mfc90u.dll_CDocObjectServer::XOleObject::GetExtent]
mov edi, eax
lea rcx, [rsp + 0x428]
call qword [sym.imp.mfc90u.dll_CDumpContext::operator___1]
mov rdx, rax
mov rax, qword [rsp + 0xa58]
mov rax, qword [rax]
mov dword [rsp + 0x20], 0x25
lea r9, [rsp + 0x70]
mov r8d, edi
mov rcx, qword [rsp + 0xa58]
call qword [rax + 0xe0]
nop
lea rcx, [rsp + 0x428]
call qword [sym.imp.mfc90u.dll_CView::CView]
nop
lea rcx, [rsp + reloc.mfc90u.dll_AfxCompareValueByRef]
call fcn.1403048a0
mov rax, qword [rsp + 0xa50]
mov eax, dword [rax + 0x3a0]
mov dword [rsp + 0x61c], eax
mov rax, qword [rsp + 0xa50]
mov eax, dword [rax + 0x39c]
mov dword [rsp + CSocket::Close], eax
mov rax, qword [rsp + 0xa60]
mov ecx, dword [rax]
add ecx, dword [rsp + 0x618]
mov rax, qword [rsp + 0xa60]
mov dword [rax], ecx
mov rax, qword [rsp + 0xa60]
mov ecx, dword [rax + 4]
mov rax, qword [rsp + 0xa60]
mov dword [rax + 4], ecx
mov rcx, qword [rsp + 0xa60]
mov eax, dword [rsp + 0x61c]
mov ecx, dword [rcx + 8]
sub ecx, eax
mov rax, qword [rsp + 0xa60]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0xa60]
mov ecx, dword [rax + 0xc]
mov rax, qword [rsp + 0xa60]
mov dword [rax + 0xc], ecx
mov rcx, qword [rsp + 0xa60]
mov eax, dword [rsp + 0x7c]
mov dword [rcx + 4], eax
lea rdi, [rsp + reloc.mfc90u.dll_ATL::CStringT_char_class_StrTraitMFC_DLL_char_class_ATL::ChTraitsCRT_char_____::Find]
mov rsi, qword [rsp + 0xa60]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x3c0]
lea rsi, [rsp + reloc.mfc90u.dll_ATL::CStringT_char_class_StrTraitMFC_DLL_char_class_ATL::ChTraitsCRT_char_____::Find]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0xa50]
mov ecx, dword [rax + 0x170]
mov eax, dword [rsp + 0x3c4]
lea eax, [rax + rcx + 1]
mov dword [rsp + 0x3cc], eax
mov dword [rsp + 0x68], 0
jmp 0x1402fad08
mov eax, dword [rsp + 0x68]
add eax, 1
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x68], 7
jge 0x1402fae2b
lea rdi, [rsp + reloc.mfc90u.dll_AfxCriticalNewHandler]
lea rsi, [rsp + 0x3c0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0xa50]
mov ecx, dword [rax + 0x16c]
imul ecx, dword [rsp + 0x68]
mov eax, dword [rsp + 0x3c0]
lea eax, [rax + rcx - 1]
mov dword [rsp + reloc.mfc90u.dll_AfxCriticalNewHandler], eax
mov rax, qword [rsp + 0xa50]
mov ecx, dword [rax + 0x16c]
mov eax, dword [rsp + reloc.mfc90u.dll_AfxCriticalNewHandler]
add eax, ecx
mov dword [rsp + 0x440], eax
movsxd rax, dword [rsp + 0x68]
mov qword [rsp + CToolBar::CommandToIndex], rax
mov rax, qword [rsp + 0xa50]
add rax, 0x180
mov qword [rsp + reloc.mfc90u.dll_CThemeHelper::CloseThemeData], rax
cmp qword [rsp + 0x630], 0
jl 0x1402fadb1
mov rax, qword [rsp + reloc.mfc90u.dll_CThemeHelper::CloseThemeData]
mov rax, qword [rax + 0x10]
cmp qword [rsp + 0x630], rax
jl 0x1402fadb6
call sub.mfc90u.dll_AfxOleUnregisterServerClass
mov rcx, qword [rsp + reloc.mfc90u.dll_CThemeHelper::CloseThemeData]
mov rcx, qword [rcx + 8]
mov rax, qword [rsp + 0x630]
lea rax, [rcx + rax*8]
mov qword [rsp + 0x620], rax
mov rcx, qword [rsp + 0x620]
call qword [sym.imp.mfc90u.dll_CDocObjectServer::XOleObject::GetExtent]
mov esi, eax
mov rcx, qword [rsp + 0x620]
call qword [sym.imp.mfc90u.dll_CDumpContext::operator___1]
mov rdx, rax
mov rdi, qword [rsp + 0xa58]
mov rdi, qword [rdi]
mov eax, dword [rsp + 0xcc]
mov dword [rsp + 0x20], eax
lea r9, [rsp + reloc.mfc90u.dll_AfxCriticalNewHandler]
mov r8d, esi
mov rcx, qword [rsp + 0xa58]
call qword [rdi + 0xe0]
jmp 0x1402facfd
mov r9d, dword [0x1404f79e4]
mov r8d, 1
xor edx, edx
lea rcx, [rsp + 0x3d8]
call sub.mfc90u.dll_COleTemplateServer::COleTemplateServer
nop
lea rdx, [rsp + 0x3d8]
mov rcx, qword [rsp + 0xa58]
call sub.mfc90u.dll_CImageList::Read
mov qword [rsp + 0x3b8], rax
mov eax, dword [rsp + 0x3cc]
sub eax, 1
mov dword [rsp + 0xb0], eax
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax]
mov dword [rsp + 0x3b4], eax
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 8]
add eax, 2
mov dword [rsp + 0x94], eax
mov r9d, dword [rsp + 0xb0]
mov r8d, dword [rsp + 0x3b4]
lea rdx, [rsp + reloc.mfc90u.dll_AfxPropPageCallback]
mov rcx, qword [rsp + 0xa58]
call sub.mfc90u.dll_CDaoWorkspace::InitWorkspacesCollection
mov r8d, dword [rsp + 0xb0]
mov edx, dword [rsp + 0x94]
mov rcx, qword [rsp + 0xa58]
call sub.mfc90u.dll_CHtmlView::GetVisible
mov ecx, dword [rsp + 0x3cc]
add ecx, 2
mov rax, qword [rsp + 0xa60]
mov dword [rax + 4], ecx
mov dword [rsp + 0x3d0], 0
mov qword [rsp + 0x60], 0
lea rcx, [rsp + 0x370]
call qword [sym.imp.USER32.dll_SetRectEmpty]
mov rax, qword [rsp + 0xa50]
cmp dword [rax + reloc.mfc90u.dll_CColorDialog::CColorDialog], 0
je 0x1402faf82
lea rdi, [rsp + 0x9a0]
mov rsi, qword [rsp + 0xa60]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x370]
lea rsi, [rsp + 0x9a0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax]
mov dword [rsp + 0x378], eax
mov rax, qword [rsp + 0xa50]
mov ecx, dword [rax + 0x16c]
mov eax, dword [rsp + 0x378]
sub eax, ecx
mov dword [rsp + 0x370], eax
mov dword [rsp + ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >::CompareNoCase], 0x2a
lea rax, [rsp + 0xd0]
mov qword [rsp + CWinThread::CommonConstruct], rax
mov eax, dword [rsp + 0x640]
sub eax, 1
mov dword [rsp + ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >::CompareNoCase], eax
cmp dword [rsp + 0x640], 0
jl 0x1402fafce
mov rax, qword [rsp + 0x638]
add rax, 0x10
mov qword [rsp + CWinThread::CommonConstruct], rax
jmp 0x1402faf9d
mov dword [rsp + 0x5c], 0
mov dword [rsp + 0x3b0], 0
lea rax, [rsp + 0x3b0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x5c]
lea r8, [rsp + 0xd0]
mov edx, dword [rsp + 0xa68]
mov rcx, qword [rsp + 0xa50]
call fcn.1402fa240
mov eax, 1
sub eax, dword [rsp + 0x5c]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x90], 0xffffffff
mov dword [rsp + 0xc8], 0
xorpd xmm0, xmm0
movsd qword [rsp + 0x390], xmm0
mov dword [rsp + 0x398], 0
xorpd xmm0, xmm0
movsd qword [rsp + 0xa0], xmm0
mov dword [rsp + 0xa8], 0
xorpd xmm0, xmm0
movsd qword [rsp + AfxSetDefaultValue], xmm0
mov dword [rsp + AfxStoreField], 0
mov rcx, qword [rsp + 0xa50]
add rcx, 0x378
lea rdx, [rsp + 0x4c8]
call fcn.140225860
movzx eax, al
test eax, eax
jne 0x1402fb0aa
mov dword [rsp + ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >::Format], 1
jmp 0x1402fb0b5
mov dword [rsp + ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >::Format], 0
movzx eax, byte [rsp + 0x9e8]
test eax, eax
je 0x1402fb4c9
mov rdx, qword [rsp + 0xa50]
add rdx, 0x378
mov rcx, qword [rsp + 0xa50]
add rcx, 0x368
call fcn.140225b80
movzx eax, al
test eax, eax
je 0x1402fb107
mov rax, qword [rsp + 0xa50]
add rax, 0x368
mov qword [rsp + 0x9f0], rax
jmp 0x1402fb11d
mov rax, qword [rsp + 0xa50]
add rax, 0x378
mov qword [rsp + 0x9f0], rax
mov rax, qword [rsp + 0x9f0]
mov qword [rsp + 0x4d8], rax
lea rdi, [rsp + 0x990]
mov rsi, qword [rsp + 0x4d8]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x390]
lea rsi, [rsp + 0x990]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rdx, qword [rsp + 0xa50]
add rdx, 0x378
mov rcx, qword [rsp + 0xa50]
add rcx, 0x368
call fcn.140225cc0
movzx eax, al
test eax, eax
je 0x1402fb19d
mov rax, qword [rsp + 0xa50]
add rax, 0x368
mov qword [rsp + CSharedFile::Free], rax
jmp 0x1402fb1b3
mov rax, qword [rsp + 0xa50]
add rax, 0x378
mov qword [rsp + CSharedFile::Free], rax
mov rax, qword [rsp + 0x9f8]
mov qword [rsp + AfxThrowResourceException], rax
lea rdi, [rsp + reloc.mfc90u.dll_CDocObjectServer::XOleCommandTarget::Exec]
mov rsi, qword [rsp + 0x4e0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0xa0]
lea rsi, [rsp + reloc.mfc90u.dll_CDocObjectServer::XOleCommandTarget::Exec]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0xa50]
cmp dword [rax + 0x388], 0
jne 0x1402fb36a
mov rax, qword [rsp + 0xa50]
cmp dword [rax + 0x2b4], 0
je 0x1402fb35d
movsd xmm0, qword [0x140438fc8]
xorpd xmm1, xmm1
divsd xmm1, qword [0x140439008]
addsd xmm0, xmm1
xorpd xmm1, xmm1
divsd xmm1, qword [0x1404502e8]
addsd xmm0, xmm1
xorpd xmm1, xmm1
divsd xmm1, qword [0x14040ba98]
addsd xmm0, xmm1
movsd qword [rsp + 0x4f8], xmm0
mov dword [rsp + CDaoRecordset::AllocDatabase], 0
movsd xmm0, qword [0x14040bab0]
comisd xmm0, xmmword [rsp + 0x4f8]
ja 0x1402fb28d
movsd xmm0, qword [rsp + 0x4f8]
comisd xmm0, xmmword [0x14040baa8]
jbe 0x1402fb298
mov dword [rsp + CDaoRecordset::AllocDatabase], 1
lea r8, [rsp + 0x390]
lea rdx, [rsp + 0x4e8]
lea rcx, [rsp + 0xa0]
call fcn.1400043e8
mov qword [rsp + 0x710], rax
mov rax, qword [rsp + 0x710]
mov eax, dword [rax + 8]
mov dword [rsp + 0x700], eax
cmp dword [rsp + 0x700], 0
jne 0x1402fb349
mov rax, qword [rsp + 0x710]
mov eax, dword [rax + 8]
mov dword [rsp + 0x704], eax
mov eax, dword [rsp + 0x500]
mov dword [rsp + 0x708], eax
mov eax, dword [rsp + 0x708]
cmp dword [rsp + 0x704], eax
jne 0x1402fb349
mov rax, qword [rsp + 0x710]
movsd xmm0, qword [rax]
comisd xmm0, xmmword [rsp + 0x4f8]
jbe 0x1402fb32d
mov dword [rsp + 0xa00], 1
jmp 0x1402fb338
mov dword [rsp + 0xa00], 0
movzx eax, byte [rsp + 0xa00]
mov byte [rsp + 0x718], al
jmp 0x1402fb351
mov byte [rsp + 0x718], 0
movzx eax, byte [rsp + 0x718]
test eax, eax
jne 0x1402fb36a
mov dword [rsp + 0xa04], 0
jmp 0x1402fb375
mov dword [rsp + 0xa04], 1
mov eax, dword [rsp + 0xa04]
mov dword [rsp + 0x448], eax
cmp dword [rsp + 0x448], 0
je 0x1402fb4c9
lea r8, [rsp + 0x390]
lea rdx, [rsp + 0x508]
mov rcx, qword [rsp + 0xa50]
call fcn.1402fbf90
lea rdi, [rsp + 0x970]
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x390]
lea rsi, [rsp + 0x970]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
movsd xmm0, qword [0x140438fc8]
xorpd xmm1, xmm1
divsd xmm1, qword [0x140439008]
addsd xmm0, xmm1
xorpd xmm1, xmm1
divsd xmm1, qword [0x1404502e8]
addsd xmm0, xmm1
xorpd xmm1, xmm1
divsd xmm1, qword [0x14040ba98]
addsd xmm0, xmm1
movsd qword [rsp + 0x528], xmm0
mov dword [rsp + ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > >::AppendFormat], 0
movsd xmm0, qword [0x14040bab0]
comisd xmm0, xmmword [rsp + 0x528]
ja 0x1402fb449
movsd xmm0, qword [rsp + 0x528]
comisd xmm0, xmmword [0x14040baa8]
jbe 0x1402fb454
mov dword [rsp + ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > >::AppendFormat], 1
lea rdi, [rsp + reloc.mfc90u.dll_CReBar::CalcDynamicLayout]
lea rsi, [rsp + 0x528]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x518]
mov rcx, qword [rsp + 0xa50]
call fcn.1402fbf90
lea r8, [rsp + reloc.mfc90u.dll_CReBar::CalcDynamicLayout]
lea rdx, [rsp + 0x538]
mov rcx, rax
call fcn.140225e00
lea rdi, [rsp + 0x960]
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0xa0]
lea rsi, [rsp + 0x960]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x68], 0
jmp 0x1402fb4de
mov eax, dword [rsp + 0x68]
add eax, 1
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x68], 0x2a
jge 0x1402fbbff
movsxd rax, dword [rsp + 0x68]
imul rax, rax, 0x10
lea rdi, [rsp + 0x950]
lea rsi, [rsp + rax + 0xd0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x460]
lea rsi, [rsp + 0x950]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x460]
call qword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
je 0x1402fb534
jmp 0x1402fb4d3
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x460]
lea rcx, [rsp + 0x380]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
jne 0x1402fb558
jmp 0x1402fb4d3
mov rax, qword [rsp + 0xa58]
mov rax, qword [rax]
mov edx, dword [0x1404f7a30]
mov rcx, qword [rsp + 0xa58]
call qword [rax + VarBstrFromDisp]
mov edx, dword [rsp + 0x68]
mov eax, dword [rsp + 0x40]
add eax, edx
mov dword [rsp + AfxFailMaxChars], eax
mov dword [rsp + reloc.mfc90u.dll_AfxInitExtensionModule], 1
cmp dword [rsp + 0x44c], 1
jge 0x1402fb5be
mov dword [rsp + reloc.mfc90u.dll_AfxInitExtensionModule], 0
mov ecx, dword [rsp + 0x44c]
mov eax, dword [rsp + 0x3b0]
add eax, ecx
mov dword [rsp + AfxFailMaxChars], eax
jmp 0x1402fb5ff
mov eax, dword [rsp + 0xb4]
cmp dword [rsp + 0x44c], eax
jle 0x1402fb5ff
cmp dword [rsp + 0x98], 0
jne 0x1402fb5dd
jmp 0x1402fbbff
mov ecx, dword [rsp + 0xb4]
mov eax, dword [rsp + 0x44c]
sub eax, ecx
mov dword [rsp + AfxFailMaxChars], eax
mov dword [rsp + reloc.mfc90u.dll_AfxInitExtensionModule], 0
mov dword [rsp + 0x484], 0
cmp dword [rsp + reloc.mfc90u.dll_AfxInitExtensionModule], 0
je 0x1402fb8b7
lea rcx, [rsp + 0x3a0]
call fcn.140225a30
mov dword [rsp + CSplitterWnd::DeleteRow], eax
lea rcx, [rsp + 0x3a0]
call fcn.1402259c0
mov dword [rsp + CSplitterWnd::DeleteRow], eax
mov r8d, reloc.WS2_32.dll_recv
xor edx, edx
lea rcx, [rsp + 0x828]
call sub.MSVCR90.dll_memset
movzx edx, word [rsp + 0x838]
mov word [rsp + COleServerDoc::DeleteContents], dx
movzx eax, word [rsp + 0x83c]
mov word [rsp + COleServerDoc::DeleteContents], ax
movzx eax, word [rsp + 0x44c]
mov word [rsp + reloc.mfc90u.dll_COleServerDoc::DeleteContents], ax
xor eax, eax
mov word [rsp + CDaoTableDef::DeleteIndex], ax
xor eax, eax
mov word [rsp + CDaoTableDef::DeleteIndex], ax
xor eax, eax
mov word [rsp + reloc.mfc90u.dll_CImageList::DeleteImageList], ax
lea rdx, [rsp + 0x488]
lea rcx, [rsp + 0x828]
call fcn.140003444
test eax, eax
je 0x1402fb6c9
mov dword [rsp + 0xa08], 0
jmp 0x1402fb6d4
mov dword [rsp + 0xa08], 1
mov eax, dword [rsp + 0xa08]
mov dword [rsp + 0x490], eax
lea rdi, [rsp + 0x5a0]
lea rsi, [rsp + 0x488]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x5a0]
mov rcx, qword [rsp + 0xa50]
call fcn.1402fea70
mov dword [rsp + 0x484], eax
xorpd xmm0, xmm0
movsd qword [rsp + CMonikerFile::Attach], xmm0
mov dword [rsp + CWnd::AttachControlSite], 0
mov rcx, qword [rsp + 0xa50]
add rcx, 0x378
lea rdx, [rsp + 0x548]
call fcn.140225860
movzx eax, al
test eax, eax
jne 0x1402fb75d
mov dword [rsp + 0xa0c], 1
jmp 0x1402fb768
mov dword [rsp + 0xa0c], 0
movzx eax, byte [rsp + 0xa0c]
test eax, eax
je 0x1402fb85d
lea rdx, [rsp + 0x488]
lea rcx, [rsp + 0x390]
call fcn.140225b80
movzx eax, al
test eax, eax
jne 0x1402fb7bd
lea rdx, [rsp + 0x488]
lea rcx, [rsp + 0x390]
call fcn.140225860
movzx eax, al
test eax, eax
jne 0x1402fb7bd
mov dword [rsp + 0xa10], 0
jmp 0x1402fb7c8
mov dword [rsp + 0xa10], 1
movzx eax, byte [rsp + 0xa10]
test eax, eax
je 0x1402fb85d
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x488]
call fcn.140225b80
movzx eax, al
test eax, eax
jne 0x1402fb81d
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x488]
call fcn.140225860
movzx eax, al
test eax, eax
jne 0x1402fb81d
mov dword [rsp + 0xa14], 0
jmp 0x1402fb828
mov dword [rsp + 0xa14], 1
movzx eax, byte [rsp + 0xa14]
test eax, eax
je 0x1402fb85d
cmp dword [rsp + 0x58], 0
je 0x1402fb852
cmp dword [rsp + 0x484], 0
je 0x1402fb852
mov dword [rsp + 0x484], 0
jmp 0x1402fb85d
mov dword [rsp + 0x484], 1
lea rdi, [rsp + 0x5b0]
lea rsi, [rsp + 0x488]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x5b0]
mov rcx, qword [rsp + 0xa50]
call fcn.1402feb60
mov dword [rsp + AfxLockGlobals], eax
cmp dword [rsp + 0x498], 0xffffffff
je 0x1402fb8b7
mov rax, qword [rsp + 0xa58]
mov rax, qword [rax]
mov edx, dword [rsp + 0x498]
mov rcx, qword [rsp + 0xa58]
call qword [rax + VarBstrFromDisp]
cmp dword [rsp + reloc.mfc90u.dll_AfxInitExtensionModule], 0
jne 0x1402fb8e7
cmp dword [rsp + 0x484], 0
jne 0x1402fb8e7
mov rax, qword [rsp + 0xa58]
mov rax, qword [rax]
mov edx, dword [0x1404f79fc]
mov rcx, qword [rsp + 0xa58]
call qword [rax + VarBstrFromDisp]
lea rdi, [rsp + 0x470]
lea rsi, [rsp + 0x460]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0xa50]
cmp dword [rax + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu], 0
jne 0x1402fb925
xor r8d, r8d
mov edx, 0xffffffff
lea rcx, [rsp + 0x470]
call qword [sym.imp.USER32.dll_OffsetRect]
cmp dword [rsp + 0x484], 0
je 0x1402fb9cc
lea rax, [rsp + 0xb8]
mov qword [rsp + reloc.mfc90u.dll_CDocObjectServer::DoBeginPrinting], rax
cmp qword [rsp + reloc.mfc90u.dll_CDocObjectServer::DoBeginPrinting], 0
jne 0x1402fb95c
mov qword [rsp + CDC::FromHandle], 0
jmp 0x1402fb970
mov rax, qword [rsp + reloc.mfc90u.dll_CDocObjectServer::DoBeginPrinting]
mov rax, qword [rax + 8]
mov qword [rsp + 0xa18], rax
mov r8, qword [rsp + 0xa18]
lea rdx, [rsp + 0x460]
mov rcx, qword [rsp + 0xa58]
mov rcx, qword [rcx + 8]
call qword [sym.imp.USER32.dll_FillRect]
mov rcx, qword [rsp + 0xa50]
mov eax, dword [0x1404f7a30]
cmp dword [rcx + 0x35c], eax
je 0x1402fb9cc
mov rdi, qword [rsp + 0xa58]
mov rdi, qword [rdi]
mov rax, qword [rsp + 0xa50]
mov edx, dword [rax + 0x35c]
mov rcx, qword [rsp + 0xa58]
call qword [rdi + VarBstrFromDisp]
lea rcx, [rsp + 0x458]
call qword [0x140409500]
nop
mov r8d, dword [rsp + 0x44c]
lea rdx, [0x14040eec4]
lea rcx, [rsp + 0x458]
call qword [sym.imp.mfc90u.dll_COleServerDoc::XOleObject::EnumAdvise]
cmp dword [rsp + reloc.mfc90u.dll_AfxInitExtensionModule], 0
je 0x1402fba49
lea rcx, [rsp + 0x3a0]
call fcn.140225a30
mov edi, eax
lea rcx, [rsp + 0x3a0]
call fcn.1402259c0
mov r9d, dword [rsp + 0x44c]
mov r8d, edi
mov edx, eax
mov rcx, qword [rsp + 0xa50]
call fcn.1402feaa0
test eax, eax
je 0x1402fba49
mov dword [rsp + reloc.mfc90u.dll_CDC::FromHandle], 1
jmp 0x1402fba54
mov dword [rsp + reloc.mfc90u.dll_CDC::FromHandle], 0
mov eax, dword [rsp + reloc.mfc90u.dll_CDC::FromHandle]
mov dword [rsp + AfxFormatString1], eax
cmp dword [rsp + 0x450], 0
je 0x1402fba9a
cmp dword [rsp + 0x3d0], 0
jne 0x1402fba98
mov rax, qword [rsp + 0xa58]
mov rax, qword [rax]
lea rdx, [0x1404f7b90]
mov rcx, qword [rsp + 0xa58]
call qword [rax + 0x60]
mov qword [rsp + 0x60], rax
jmp 0x1402fbac8
cmp dword [rsp + 0x3d0], 0
je 0x1402fbac8
mov rax, qword [rsp + 0xa58]
mov rax, qword [rax]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xa58]
call qword [rax + 0x60]
mov qword [rsp + 0x60], 0
lea rcx, [rsp + 0x458]
call qword [sym.imp.mfc90u.dll_CDocObjectServer::XOleObject::GetExtent]
mov esi, eax
lea rcx, [rsp + 0x458]
call qword [sym.imp.mfc90u.dll_CDumpContext::operator___1]
mov rdx, rax
mov rdi, qword [rsp + 0xa58]
mov rdi, qword [rdi]
mov eax, dword [rsp + 0xcc]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x470]
mov r8d, esi
mov rcx, qword [rsp + 0xa58]
call qword [rdi + 0xe0]
mov eax, dword [rsp + 0x450]
mov dword [rsp + 0x3d0], eax
cmp dword [rsp + reloc.mfc90u.dll_AfxInitExtensionModule], 0
je 0x1402fbbbd
lea rcx, [rsp + 0x3a0]
call fcn.1402259c0
mov edi, eax
lea rcx, [rsp + 0x80]
call fcn.1402259c0
cmp edi, eax
jne 0x1402fbbbd
lea rcx, [rsp + 0x3a0]
call fcn.140225a30
mov edi, eax
lea rcx, [rsp + 0x80]
call fcn.140225a30
cmp edi, eax
jne 0x1402fbbbd
lea rcx, [rsp + 0x80]
call fcn.140225aa0
cmp dword [rsp + 0x44c], eax
jne 0x1402fbbbd
mov rax, qword [rsp + 0xa50]
mov r9d, dword [rax + 0x360]
mov rax, qword [rsp + 0xa50]
mov r8d, dword [rax + 0x360]
lea rdx, [rsp + 0x460]
mov rcx, qword [rsp + 0xa58]
call sub.mfc90u.dll_CWinApp::DelRegTree
mov eax, dword [rsp + 0x90]
cmp dword [rsp + 0x46c], eax
jle 0x1402fbbde
mov eax, dword [rsp + 0xc8]
add eax, 1
mov dword [rsp + 0xc8], eax
mov eax, dword [rsp + 0x46c]
mov dword [rsp + 0x90], eax
lea rcx, [rsp + 0x458]
call qword [sym.imp.mfc90u.dll_CView::CView]
jmp 0x1402fb4d3
cmp qword [rsp + 0x60], 0
je 0x1402fbc22
mov rax, qword [rsp + 0xa58]
mov rax, qword [rax]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xa58]
call qword [rax + 0x60]
mov rax, qword [rsp + 0xa50]
cmp dword [rax + reloc.mfc90u.dll_CColorDialog::CColorDialog], 0
je 0x1402fbeb1
mov rax, qword [rsp + 0xa58]
mov rax, qword [rax]
lea rdx, [0x1404f7bf0]
mov rcx, qword [rsp + 0xa58]
call qword [rax + 0x60]
mov qword [rsp + 0x60], rax
mov r8d, dword [rsp + 0x3b4]
sub r8d, 1
mov r9d, dword [rsp + 0xb0]
lea rdx, [rsp + 0x558]
mov rcx, qword [rsp + 0xa58]
call sub.mfc90u.dll_CDaoWorkspace::InitWorkspacesCollection
mov rax, qword [rsp + 0xa58]
mov rax, qword [rax]
mov edx, dword [0x1404f79fc]
mov rcx, qword [rsp + 0xa58]
call qword [rax + VarBstrFromDisp]
mov dword [rsp + 0x68], 0
jmp 0x1402fbcb3
mov eax, dword [rsp + 0x68]
add eax, 1
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0xc8]
cmp dword [rsp + 0x68], eax
jge 0x1402fbe96
lea rdi, [rsp + 0x4a0]
lea rsi, [rsp + 0x370]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0xa50]
mov ecx, dword [rax + 0x170]
imul ecx, dword [rsp + 0x68]
mov eax, dword [rsp + reloc.mfc90u.dll_AfxOleLockApp]
add eax, ecx
mov dword [rsp + reloc.mfc90u.dll_AfxOleLockApp], eax
mov rax, qword [rsp + 0xa50]
mov ecx, dword [rax + 0x170]
mov eax, dword [rsp + reloc.mfc90u.dll_AfxOleLockApp]
add eax, ecx
mov dword [rsp + 0x4ac], eax
movsxd rax, dword [rsp + 0xa68]
mov qword [rsp + COleControl::XOleObject::EnumAdvise], rax
mov rax, qword [rsp + 0xa50]
add rax, 0x3a8
mov qword [rsp + 0x940], rax
cmp qword [rsp + 0x948], 0
jl 0x1402fbd85
mov rax, qword [rsp + 0x940]
mov rax, qword [rax + 0x10]
cmp qword [rsp + 0x948], rax
jge 0x1402fbd85
mov rcx, qword [rsp + 0x940]
mov rcx, qword [rcx + 8]
mov rax, qword [rsp + 0x948]
lea rax, [rcx + rax*4]
mov qword [rsp + CDialog::EndDialog], rax
jmp 0x1402fbd8a
call sub.mfc90u.dll_AfxOleUnregisterServerClass
mov rax, qword [rsp + 0x938]
mov eax, dword [rax]
add eax, dword [rsp + 0x68]
mov dword [rsp + AfxOleUnlockControl], eax
cmp dword [rsp + 0x4b0], 0x36
jne 0x1402fbdb4
mov dword [rsp + AfxOleUnlockControl], 1
lea rcx, [rsp + 0x4b8]
call qword [0x140409500]
nop
mov r8d, dword [rsp + 0x4b0]
lea rdx, [0x14040eec4]
lea rcx, [rsp + 0x4b8]
call qword [sym.imp.mfc90u.dll_COleServerDoc::XOleObject::EnumAdvise]
mov rax, qword [rsp + 0xa50]
cmp dword [rax + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu], 0
jne 0x1402fbe02
mov eax, dword [rsp + 0x4a8]
sub eax, 4
mov dword [rsp + 0x4a8], eax
lea rcx, [rsp + 0x4b8]
call qword [sym.imp.mfc90u.dll_CDocObjectServer::XOleObject::GetExtent]
mov esi, eax
lea rcx, [rsp + 0x4b8]
call qword [sym.imp.mfc90u.dll_CDumpContext::operator___1]
mov rdx, rax
mov rdi, qword [rsp + 0xa58]
mov rdi, qword [rdi]
mov eax, dword [rsp + 0xcc]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x4a0]
mov r8d, esi
mov rcx, qword [rsp + 0xa58]
call qword [rdi + 0xe0]
mov rax, qword [rsp + 0xa50]
cmp dword [rax + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu], 0
jne 0x1402fbe83
mov edx, dword [rsp + 0x3b4]
sub edx, 1
mov r8d, dword [rsp + 0x4ac]
mov rcx, qword [rsp + 0xa58]
call sub.mfc90u.dll_CHtmlView::GetVisible
nop
lea rcx, [rsp + 0x4b8]
call qword [sym.imp.mfc90u.dll_CView::CView]
jmp 0x1402fbca8
mov rax, qword [rsp + 0xa58]
mov rax, qword [rax]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xa58]
call qword [rax + 0x60]
mov rax, qword [rsp + 0xa50]
cmp dword [rax + 0x1e4], 0
je 0x1402fbf34
cmp dword [rsp + 0x90], 0
jl 0x1402fbf34
mov rax, qword [rsp + 0xa50]
cmp dword [rax + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu], 0
jne 0x1402fbef3
mov rcx, qword [rsp + 0xa50]
call sub.mfc90u.dll_CCheckListBox::GetRuntimeClass
and eax, 0x80000000
test eax, eax
je 0x1402fbf34
mov r9d, dword [rsp + 0x90]
mov r8d, dword [rsp + 0x3b4]
lea rdx, [rsp + 0x560]
mov rcx, qword [rsp + 0xa58]
call sub.mfc90u.dll_CDaoWorkspace::InitWorkspacesCollection
mov r8d, dword [rsp + 0x90]
mov edx, dword [rsp + 0x94]
mov rcx, qword [rsp + 0xa58]
call sub.mfc90u.dll_CHtmlView::GetVisible
mov rdx, qword [rsp + 0x3b8]
mov rcx, qword [rsp + 0xa58]
call sub.mfc90u.dll_CImageList::Read
nop
lea rax, vtable.CPen.0
mov qword [rsp + 0x3d8], rax
lea rcx, [rsp + 0x3d8]
call fcn.140007a64
nop
lea rax, vtable.CBrush.0
mov qword [rsp + 0xb8], rax
lea rcx, [rsp + 0xb8]
call fcn.140007a64
add rsp, 0xa38
pop rdi
pop rsi
ret