Function at 0x1402ef230
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, setsockopt
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 0x1402ef29d
mov eax, dword [rsp + 0xcc]
or eax, 1
mov dword [rsp + 0xcc], eax
jmp 0x1402ef2ae
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.1402f3390
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.140230770
mov edi, eax
lea rcx, [rsp + 0x570]
call fcn.1402307e0
mov edx, edi
mov ecx, eax
call fcn.1402f36f0
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.140006180
mov rax, qword [rsp + 0xa50]
mov eax, dword [rax + 0x164]
sub eax, 1
cmp dword [rsp + 0xa68], eax
jne 0x1402ef3b4
mov dword [rsp + 0x9d8], 1
jmp 0x1402ef3bf
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 0x1402ef448
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 0x1402ef4b0
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 0x1402ef600
mov rax, qword [rsp + 0xa50]
mov eax, dword [rax + 0x350]
and rax, 0xff
movzx eax, al
cmp eax, 0xc0
jle 0x1402ef559
mov rax, qword [rsp + 0xa50]
movzx eax, word [rax + 0x350]
sar eax, 8
cdqe
and rax, 0xff
movzx eax, al
cmp eax, 0xc0
jle 0x1402ef559
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 0x1402ef559
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.1401bbd30
mov dword [rsp + reloc.mfc90u.dll_CObList::AddTail], eax
jmp 0x1402ef586
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.1401bbd30
mov dword [rsp + reloc.mfc90u.dll_CRecordset::AddNew], eax
mov rdx, qword [rsp + 0xa58]
lea rcx, [rsp + reloc.mfc90u.dll_CDHtmlControlSink::AddRef]
call fcn.1401b4a40
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.1401b7070
nop
lea rcx, [rsp + reloc.mfc90u.dll_CDHtmlControlSink::AddRef]
call fcn.1401b4ac0
jmp 0x1402ef695
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 0x1402ef645
mov qword [rsp + COleDataSource::FlushClipboard], 0
jmp 0x1402ef659
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.140002370
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.1402f9170
nop
lea r8, str._B__Y
lea rdx, [rsp + 0x428]
lea rcx, [rsp + 0x3a0]
call fcn.1402442d0
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.1402f9390
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 0x1402ef858
mov eax, dword [rsp + 0x68]
add eax, 1
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x68], 7
jge 0x1402ef97b
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 + CDaoWorkspace::CommitTrans], rax
mov rax, qword [rsp + 0xa50]
add rax, 0x180
mov qword [rsp + reloc.mfc90u.dll_CThemeHelper::CloseThemeData], rax
cmp qword [rsp + 0x630], 0
jl 0x1402ef901
mov rax, qword [rsp + reloc.mfc90u.dll_CThemeHelper::CloseThemeData]
mov rax, qword [rax + 0x10]
cmp qword [rsp + 0x630], rax
jl 0x1402ef906
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 0x1402ef84d
mov r9d, dword [0x1404e6214]
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 0x1402efad2
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 0x1402efb1e
mov rax, qword [rsp + 0x638]
add rax, 0x10
mov qword [rsp + CWinThread::CommonConstruct], rax
jmp 0x1402efaed
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.1402eed90
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.1401960e0
movzx eax, al
test eax, eax
jne 0x1402efbfa
mov dword [rsp + ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >::Format], 1
jmp 0x1402efc05
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 0x1402f0019
mov rdx, qword [rsp + 0xa50]
add rdx, 0x378
mov rcx, qword [rsp + 0xa50]
add rcx, 0x368
call fcn.140230930
movzx eax, al
test eax, eax
je 0x1402efc57
mov rax, qword [rsp + 0xa50]
add rax, 0x368
mov qword [rsp + 0x9f0], rax
jmp 0x1402efc6d
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.140230a70
movzx eax, al
test eax, eax
je 0x1402efced
mov rax, qword [rsp + 0xa50]
add rax, 0x368
mov qword [rsp + CSharedFile::Free], rax
jmp 0x1402efd03
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 0x1402efeba
mov rax, qword [rsp + 0xa50]
cmp dword [rax + 0x2b4], 0
je 0x1402efead
movsd xmm0, qword [0x14042bfb8]
xorpd xmm1, xmm1
divsd xmm1, qword [0x14042bff8]
addsd xmm0, xmm1
xorpd xmm1, xmm1
divsd xmm1, qword [0x140442028]
addsd xmm0, xmm1
xorpd xmm1, xmm1
divsd xmm1, qword [0x1403f7358]
addsd xmm0, xmm1
movsd qword [rsp + 0x4f8], xmm0
mov dword [rsp + CDaoRecordset::AllocDatabase], 0
movsd xmm0, qword [0x1403f7370]
comisd xmm0, xmmword [rsp + 0x4f8]
ja 0x1402efddd
movsd xmm0, qword [rsp + 0x4f8]
comisd xmm0, xmmword [0x1403f7368]
jbe 0x1402efde8
mov dword [rsp + CDaoRecordset::AllocDatabase], 1
lea r8, [rsp + 0x390]
lea rdx, [rsp + 0x4e8]
lea rcx, [rsp + 0xa0]
call fcn.1400062b0
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 0x1402efe99
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 0x1402efe99
mov rax, qword [rsp + 0x710]
movsd xmm0, qword [rax]
comisd xmm0, xmmword [rsp + 0x4f8]
jbe 0x1402efe7d
mov dword [rsp + 0xa00], 1
jmp 0x1402efe88
mov dword [rsp + 0xa00], 0
movzx eax, byte [rsp + 0xa00]
mov byte [rsp + 0x718], al
jmp 0x1402efea1
mov byte [rsp + 0x718], 0
movzx eax, byte [rsp + 0x718]
test eax, eax
jne 0x1402efeba
mov dword [rsp + 0xa04], 0
jmp 0x1402efec5
mov dword [rsp + 0xa04], 1
mov eax, dword [rsp + 0xa04]
mov dword [rsp + 0x448], eax
cmp dword [rsp + 0x448], 0
je 0x1402f0019
lea r8, [rsp + 0x390]
lea rdx, [rsp + 0x508]
mov rcx, qword [rsp + 0xa50]
call fcn.1402f0ae0
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 [0x14042bfb8]
xorpd xmm1, xmm1
divsd xmm1, qword [0x14042bff8]
addsd xmm0, xmm1
xorpd xmm1, xmm1
divsd xmm1, qword [0x140442028]
addsd xmm0, xmm1
xorpd xmm1, xmm1
divsd xmm1, qword [0x1403f7358]
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 [0x1403f7370]
comisd xmm0, xmmword [rsp + 0x528]
ja 0x1402eff99
movsd xmm0, qword [rsp + 0x528]
comisd xmm0, xmmword [0x1403f7368]
jbe 0x1402effa4
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.1402f0ae0
lea r8, [rsp + reloc.mfc90u.dll_CReBar::CalcDynamicLayout]
lea rdx, [rsp + 0x538]
mov rcx, rax
call fcn.140230bb0
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 0x1402f002e
mov eax, dword [rsp + 0x68]
add eax, 1
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x68], 0x2a
jge 0x1402f074f
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 0x1402f0084
jmp 0x1402f0023
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x460]
lea rcx, [rsp + 0x380]
call qword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
jne 0x1402f00a8
jmp 0x1402f0023
mov rax, qword [rsp + 0xa58]
mov rax, qword [rax]
mov edx, dword [0x1404e6260]
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 0x1402f010e
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 0x1402f014f
mov eax, dword [rsp + 0xb4]
cmp dword [rsp + 0x44c], eax
jle 0x1402f014f
cmp dword [rsp + 0x98], 0
jne 0x1402f012d
jmp 0x1402f074f
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 0x1402f0407
lea rcx, [rsp + 0x3a0]
call fcn.1402307e0
mov dword [rsp + CSplitterWnd::DeleteRow], eax
lea rcx, [rsp + 0x3a0]
call fcn.140230770
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.1400050f0
test eax, eax
je 0x1402f0219
mov dword [rsp + 0xa08], 0
jmp 0x1402f0224
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.1402f35c0
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.1401960e0
movzx eax, al
test eax, eax
jne 0x1402f02ad
mov dword [rsp + 0xa0c], 1
jmp 0x1402f02b8
mov dword [rsp + 0xa0c], 0
movzx eax, byte [rsp + 0xa0c]
test eax, eax
je 0x1402f03ad
lea rdx, [rsp + 0x488]
lea rcx, [rsp + 0x390]
call fcn.140230930
movzx eax, al
test eax, eax
jne 0x1402f030d
lea rdx, [rsp + 0x488]
lea rcx, [rsp + 0x390]
call fcn.1401960e0
movzx eax, al
test eax, eax
jne 0x1402f030d
mov dword [rsp + 0xa10], 0
jmp 0x1402f0318
mov dword [rsp + 0xa10], 1
movzx eax, byte [rsp + 0xa10]
test eax, eax
je 0x1402f03ad
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x488]
call fcn.140230930
movzx eax, al
test eax, eax
jne 0x1402f036d
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x488]
call fcn.1401960e0
movzx eax, al
test eax, eax
jne 0x1402f036d
mov dword [rsp + 0xa14], 0
jmp 0x1402f0378
mov dword [rsp + 0xa14], 1
movzx eax, byte [rsp + 0xa14]
test eax, eax
je 0x1402f03ad
cmp dword [rsp + 0x58], 0
je 0x1402f03a2
cmp dword [rsp + 0x484], 0
je 0x1402f03a2
mov dword [rsp + 0x484], 0
jmp 0x1402f03ad
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.1402f36b0
mov dword [rsp + AfxLockGlobals], eax
cmp dword [rsp + 0x498], 0xffffffff
je 0x1402f0407
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 0x1402f0437
cmp dword [rsp + 0x484], 0
jne 0x1402f0437
mov rax, qword [rsp + 0xa58]
mov rax, qword [rax]
mov edx, dword [0x1404e622c]
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 0x1402f0475
xor r8d, r8d
mov edx, 0xffffffff
lea rcx, [rsp + 0x470]
call qword [sym.imp.USER32.dll_OffsetRect]
cmp dword [rsp + 0x484], 0
je 0x1402f051c
lea rax, [rsp + 0xb8]
mov qword [rsp + reloc.mfc90u.dll_CDocObjectServer::DoBeginPrinting], rax
cmp qword [rsp + reloc.mfc90u.dll_CDocObjectServer::DoBeginPrinting], 0
jne 0x1402f04ac
mov qword [rsp + CDC::FromHandle], 0
jmp 0x1402f04c0
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 [0x1404e6260]
cmp dword [rcx + 0x35c], eax
je 0x1402f051c
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 [0x1403f4428]
nop
mov r8d, dword [rsp + 0x44c]
lea rdx, [0x1403f6544]
lea rcx, [rsp + 0x458]
call qword [sym.imp.mfc90u.dll_COleServerDoc::XOleObject::EnumAdvise]
cmp dword [rsp + reloc.mfc90u.dll_AfxInitExtensionModule], 0
je 0x1402f0599
lea rcx, [rsp + 0x3a0]
call fcn.1402307e0
mov edi, eax
lea rcx, [rsp + 0x3a0]
call fcn.140230770
mov r9d, dword [rsp + 0x44c]
mov r8d, edi
mov edx, eax
mov rcx, qword [rsp + 0xa50]
call fcn.1402f35f0
test eax, eax
je 0x1402f0599
mov dword [rsp + reloc.mfc90u.dll_CDC::FromHandle], 1
jmp 0x1402f05a4
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 0x1402f05ea
cmp dword [rsp + 0x3d0], 0
jne 0x1402f05e8
mov rax, qword [rsp + 0xa58]
mov rax, qword [rax]
lea rdx, [0x1404e63b0]
mov rcx, qword [rsp + 0xa58]
call qword [rax + 0x60]
mov qword [rsp + 0x60], rax
jmp 0x1402f0618
cmp dword [rsp + 0x3d0], 0
je 0x1402f0618
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 0x1402f070d
lea rcx, [rsp + 0x3a0]
call fcn.140230770
mov edi, eax
lea rcx, [rsp + 0x80]
call fcn.140230770
cmp edi, eax
jne 0x1402f070d
lea rcx, [rsp + 0x3a0]
call fcn.1402307e0
mov edi, eax
lea rcx, [rsp + 0x80]
call fcn.1402307e0
cmp edi, eax
jne 0x1402f070d
lea rcx, [rsp + 0x80]
call fcn.140230850
cmp dword [rsp + 0x44c], eax
jne 0x1402f070d
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 0x1402f072e
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 0x1402f0023
cmp qword [rsp + 0x60], 0
je 0x1402f0772
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 0x1402f0a01
mov rax, qword [rsp + 0xa58]
mov rax, qword [rax]
lea rdx, [0x1404e6410]
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 [0x1404e622c]
mov rcx, qword [rsp + 0xa58]
call qword [rax + VarBstrFromDisp]
mov dword [rsp + 0x68], 0
jmp 0x1402f0803
mov eax, dword [rsp + 0x68]
add eax, 1
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0xc8]
cmp dword [rsp + 0x68], eax
jge 0x1402f09e6
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 0x1402f08d5
mov rax, qword [rsp + 0x940]
mov rax, qword [rax + 0x10]
cmp qword [rsp + 0x948], rax
jge 0x1402f08d5
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 0x1402f08da
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 0x1402f0904
mov dword [rsp + AfxOleUnlockControl], 1
lea rcx, [rsp + 0x4b8]
call qword [0x1403f4428]
nop
mov r8d, dword [rsp + 0x4b0]
lea rdx, [0x1403f6544]
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 0x1402f0952
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 0x1402f09d3
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 0x1402f07f8
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 0x1402f0a84
cmp dword [rsp + 0x90], 0
jl 0x1402f0a84
mov rax, qword [rsp + 0xa50]
cmp dword [rax + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu], 0
jne 0x1402f0a43
mov rcx, qword [rsp + 0xa50]
call sub.mfc90u.dll_CCheckListBox::GetRuntimeClass
and eax, 0x80000000
test eax, eax
je 0x1402f0a84
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.140002370
nop
lea rax, vtable.CBrush.0
mov qword [rsp + 0xb8], rax
lea rcx, [rsp + 0xb8]
call fcn.140002370
add rsp, 0xa38
pop rdi
pop rsi
ret