Function at 0x14023eef0
Capabilities:
Log keystrokes via polling

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0xd68
mov rax, qword [rsp + 0xd80]
cmp qword [rax + reloc.mfc90u.dll_CGopherLocator::CGopherLocator], 0
je 0x14023ef5c
mov rax, qword [rsp + 0xd80]
mov rax, qword [rax + 0x118]
mov qword [rsp + 0x370], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1f
mov rcx, qword [rsp + 0x370]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x14024065b
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x14023ef7e
mov dword [rsp + 0xd20], 1
jmp 0x14023ef89
mov dword [rsp + 0xd20], 0
mov eax, dword [rsp + 0xd20]
mov dword [rsp + 0x68], eax
mov rcx, qword [rsp + 0xd80]
call fcn.1402415c0
mov ecx, eax
call fcn.14032e920
mov dword [rsp + 0x60], eax
lea rdi, [rsp + 0xd10]
mov rsi, qword [rsp + 0xd80]
add rsi, 0x58
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x50]
lea rsi, [rsp + 0xd10]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0xd00]
mov rsi, qword [rsp + 0xd80]
add rsi, 0x68
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x40]
lea rsi, [rsp + 0xd00]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x50]
call fcn.1402441b0
cmp eax, 0x3b
jne 0x14023f0e6
lea rcx, [rsp + 0x50]
call fcn.140244140
sub eax, dword [rsp + 0x60]
add eax, 1
mov dword [rsp + CToolTipCtrl::AddTool], eax
lea rcx, [rsp + 0x50]
call fcn.1402440d0
mov dword [rsp + reloc.mfc90u.dll_CObList::AddTail], eax
lea rcx, [rsp + 0x50]
call fcn.140230850
mov dword [rsp + CPtrList::AddTail], eax
lea rcx, [rsp + 0x50]
call fcn.1402307e0
mov dword [rsp + 0x408], eax
lea rcx, [rsp + 0x50]
call fcn.140230770
mov dword [rsp + 0x404], eax
mov dword [rsp + 0x30], 0
mov eax, dword [rsp + 0x414]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + reloc.mfc90u.dll_CObList::AddTail]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x40c]
mov r8d, dword [rsp + 0x408]
mov edx, dword [rsp + 0x404]
lea rcx, [rsp + 0x158]
call fcn.140230fb0
lea rdi, [rsp + 0xcf0]
lea rsi, [rsp + 0x158]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x50]
lea rsi, [rsp + 0xcf0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
call fcn.1402441b0
cmp eax, 0x3b
jne 0x14023f1c2
lea rcx, [rsp + 0x40]
call fcn.140244140
sub eax, dword [rsp + 0x60]
add eax, 1
mov dword [rsp + AfxOleUnlockControl], eax
lea rcx, [rsp + 0x40]
call fcn.1402440d0
mov dword [rsp + AfxOleUnlockControl], eax
lea rcx, [rsp + 0x40]
call fcn.140230850
mov dword [rsp + 0x4ac], eax
lea rcx, [rsp + 0x40]
call fcn.1402307e0
mov dword [rsp + 0x4a8], eax
lea rcx, [rsp + 0x40]
call fcn.140230770
mov dword [rsp + reloc.mfc90u.dll_AfxOleLockApp], eax
mov dword [rsp + 0x30], 0
mov eax, dword [rsp + 0x4b4]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x4b0]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x4ac]
mov r8d, dword [rsp + 0x4a8]
mov edx, dword [rsp + reloc.mfc90u.dll_AfxOleLockApp]
lea rcx, [rsp + 0x168]
call fcn.140230fb0
lea rdi, [rsp + 0xce0]
lea rsi, [rsp + 0x168]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x40]
lea rsi, [rsp + 0xce0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x64], 0
cmp dword [rsp + 0xd88], 0x21
je 0x14023f1e2
cmp dword [rsp + 0xd88], 0x22
jne 0x14023f498
mov rax, qword [rsp + 0xd80]
mov eax, dword [rax + 0x1c]
mov dword [rsp + 0x6c], eax
cmp dword [rsp + 0xd88], 0x21
jne 0x14023f208
mov dword [rsp + 0xd24], 2
jmp 0x14023f213
mov dword [rsp + 0xd24], 3
mov rax, qword [rsp + 0xd80]
mov rax, qword [rax]
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rsp + 0xd24]
mov rcx, qword [rsp + 0xd80]
call qword [rax + CFile::CFile]
mov rax, qword [rsp + 0xd80]
mov eax, dword [rax + 0x1c]
cmp dword [rsp + 0x6c], eax
jne 0x14023f351
cmp dword [rsp + 0xd88], 0x21
jne 0x14023f265
mov dword [rsp + 0x50c], 0
jmp 0x14023f275
mov eax, 0x3c
sub eax, dword [rsp + 0x60]
mov dword [rsp + 0x50c], eax
cmp dword [rsp + 0xd88], 0x21
jne 0x14023f28c
mov dword [rsp + 0x508], 0
jmp 0x14023f297
mov dword [rsp + 0x508], 0x17
mov rcx, qword [rsp + 0xd80]
add rcx, 0x28
call fcn.140230850
mov dword [rsp + CDaoRecordset::AllocDatabase], eax
mov rcx, qword [rsp + 0xd80]
add rcx, 0x28
call fcn.1402307e0
mov dword [rsp + 0x500], eax
mov rcx, qword [rsp + 0xd80]
add rcx, 0x28
call fcn.140230770
mov dword [rsp + 0x4fc], eax
mov dword [rsp + 0x30], 0
mov eax, dword [rsp + 0x50c]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x508]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x504]
mov r8d, dword [rsp + 0x500]
mov edx, dword [rsp + 0x4fc]
lea rcx, [rsp + reloc.mfc90u.dll_CDialog::CDialog]
call fcn.140230fb0
lea rdi, [rsp + 0xcd0]
lea rsi, [rsp + reloc.mfc90u.dll_CDialog::CDialog]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x40]
lea rsi, [rsp + 0xcd0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
jmp 0x14023f44d
mov rax, qword [rsp + 0xd80]
mov eax, dword [rax + 0x24]
imul eax, dword [rsp + 0x60]
mov dword [rsp + 0x70], eax
xorpd xmm0, xmm0
mov eax, dword [rsp + 0x70]
cdq
mov ecx, 0x3c
idiv ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
divsd xmm1, qword [0x14042bff8]
addsd xmm0, xmm1
mov eax, dword [rsp + 0x70]
cdq
mov ecx, 0x3c
idiv ecx
movd xmm1, edx
cvtdq2pd xmm1, xmm1
divsd xmm1, qword [0x140442028]
addsd xmm0, xmm1
xorpd xmm1, xmm1
divsd xmm1, qword [0x1403f7358]
addsd xmm0, xmm1
movsd qword [rsp + 0x78], xmm0
mov dword [rsp + 0x80], 0
movsd xmm0, qword [0x1403f7370]
comisd xmm0, xmmword [rsp + 0x78]
ja 0x14023f3ea
movsd xmm0, qword [rsp + 0x78]
comisd xmm0, xmmword [0x1403f7368]
jbe 0x14023f3f5
mov dword [rsp + 0x80], 1
cmp dword [rsp + 0xd88], 0x21
jne 0x14023f427
lea rdi, [rsp + 0x280]
lea rsi, [rsp + 0x78]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x40]
call fcn.140230ec0
jmp 0x14023f44d
lea rdi, [rsp + 0x290]
lea rsi, [rsp + 0x78]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x290]
lea rcx, [rsp + 0x40]
call fcn.140230dd0
cmp dword [rsp + 0x68], 0
jne 0x14023f465
lea rdi, [rsp + 0x50]
lea rsi, [rsp + 0x40]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0xd80]
mov rax, qword [rax]
mov r9d, 1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov rcx, qword [rsp + 0xd80]
call qword [rax + 0x50]
mov dword [rsp + 0x64], 1
jmp 0x140240657
cmp dword [rsp + 0xd88], 0x24
je 0x14023f4b0
cmp dword [rsp + 0xd88], 0x23
jne 0x14023f7d4
cmp dword [rsp + 0xd88], 0x24
jne 0x14023f5aa
mov rcx, qword [rsp + 0xd80]
call fcn.140241620
cdq
idiv dword [rsp + 0x60]
imul eax, dword [rsp + 0x60]
mov dword [rsp + CStatusBar::CalcInsideRect], eax
mov rcx, qword [rsp + 0xd80]
call fcn.1402415f0
mov dword [rsp + reloc.mfc90u.dll_CReBar::CalcDynamicLayout], eax
mov rcx, qword [rsp + 0xd80]
add rcx, 0x28
call fcn.140230850
mov dword [rsp + CMiniFrameWnd::CalcBorders], eax
mov rcx, qword [rsp + 0xd80]
add rcx, 0x28
call fcn.1402307e0
mov dword [rsp + CMiniFrameWnd::CalcBorders], eax
mov rcx, qword [rsp + 0xd80]
add rcx, 0x28
call fcn.140230770
mov dword [rsp + reloc.mfc90u.dll_CRecordset::BuildSQL], eax
mov dword [rsp + 0x30], 0
mov eax, dword [rsp + 0x594]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + reloc.mfc90u.dll_CReBar::CalcDynamicLayout]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x58c]
mov r8d, dword [rsp + 0x588]
mov edx, dword [rsp + reloc.mfc90u.dll_CRecordset::BuildSQL]
lea rcx, [rsp + reloc.mfc90u.dll_CDynLinkLibrary::CDynLinkLibrary]
call fcn.140230fb0
lea rdi, [rsp + 0xcc0]
lea rsi, [rsp + reloc.mfc90u.dll_CDynLinkLibrary::CDynLinkLibrary]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x40]
lea rsi, [rsp + 0xcc0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
jmp 0x14023f6ca
mov rcx, qword [rsp + 0xd80]
call fcn.140241680
mov dword [rsp + 0x8c], eax
mov rcx, qword [rsp + 0xd80]
call fcn.1402416b0
cdq
idiv dword [rsp + 0x60]
imul eax, dword [rsp + 0x60]
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x60]
cmp dword [rsp + 0x90], eax
jge 0x14023f60f
cmp dword [rsp + 0x8c], 0
jle 0x14023f604
mov eax, dword [rsp + 0x8c]
sub eax, 1
mov dword [rsp + 0x8c], eax
mov dword [rsp + 0x90], 0x3c
mov rcx, qword [rsp + 0xd80]
add rcx, 0x28
call fcn.140230850
mov dword [rsp + CDatabase::classCDatabase], eax
mov rcx, qword [rsp + 0xd80]
add rcx, 0x28
call fcn.1402307e0
mov dword [rsp + 0x5e0], eax
mov rcx, qword [rsp + 0xd80]
add rcx, 0x28
call fcn.140230770
mov dword [rsp + 0x5dc], eax
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x90]
sub eax, ecx
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x8c]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x5e4]
mov r8d, dword [rsp + 0x5e0]
mov edx, dword [rsp + 0x5dc]
lea rcx, [rsp + 0x198]
call fcn.140230fb0
lea rdi, [rsp + 0xcb0]
lea rsi, [rsp + 0x198]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x40]
lea rsi, [rsp + 0xcb0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
cmp dword [rsp + 0x68], 0
jne 0x14023f6e2
lea rdi, [rsp + 0x50]
lea rsi, [rsp + 0x40]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
call fcn.1402440d0
mov edi, eax
imul edi, edi, 0x3c
lea rcx, [rsp + 0x40]
call fcn.140244140
mov edx, eax
mov eax, edi
add eax, edx
cdq
idiv dword [rsp + 0x60]
mov dword [rsp + 0x88], eax
mov rax, qword [rsp + 0xd80]
mov eax, dword [rax + 0x1c]
cmp dword [rsp + 0x88], eax
jl 0x14023f740
mov rax, qword [rsp + 0xd80]
mov eax, dword [rax + 0x1c]
mov rcx, qword [rsp + 0xd80]
add eax, dword [rcx + 0x24]
cmp eax, dword [rsp + 0x88]
jge 0x14023f7a1
cmp dword [rsp + 0xd88], 0x24
jne 0x14023f75a
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0xd28], eax
jmp 0x14023f778
mov rax, qword [rsp + 0xd80]
mov ecx, dword [rax + 0x24]
mov eax, dword [rsp + 0x88]
sub eax, ecx
add eax, 1
mov dword [rsp + 0xd28], eax
mov rax, qword [rsp + 0xd80]
mov rax, qword [rax]
xor r9d, r9d
mov r8d, dword [rsp + 0xd28]
mov edx, 4
mov rcx, qword [rsp + 0xd80]
call qword [rax + CFile::CFile]
mov rax, qword [rsp + 0xd80]
mov rax, qword [rax]
mov r9d, 1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov rcx, qword [rsp + 0xd80]
call qword [rax + 0x50]
mov dword [rsp + 0x64], 1
jmp 0x140240657
cmp dword [rsp + 0xd88], 0x26
je 0x14023f800
cmp dword [rsp + 0xd88], 0x28
je 0x14023f800
cmp dword [rsp + 0xd88], 0x25
je 0x14023f800
cmp dword [rsp + 0xd88], 0x27
jne 0x140240657
mov rcx, qword [rsp + 0xd80]
call fcn.140229b30
mov dword [rsp + 0x94], eax
cmp dword [rsp + 0xd88], 0x25
je 0x14023f82c
cmp dword [rsp + 0xd88], 0x27
jne 0x14023fc4a
mov dword [rsp + 0xb0], 0
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.140230930
movzx eax, al
test eax, eax
jne 0x14023f870
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.1401960e0
movzx eax, al
test eax, eax
jne 0x14023f870
mov dword [rsp + CStatusBar::GetPaneInfo], 0
jmp 0x14023f87b
mov dword [rsp + CStatusBar::GetPaneInfo], 1
movzx eax, byte [rsp + 0xd2c]
test eax, eax
je 0x14023f896
lea rax, [rsp + 0x50]
mov qword [rsp + reloc.mfc90u.dll_CDocObjectServer::XPrint::GetPageInfo], rax
jmp 0x14023f8a3
lea rax, [rsp + 0x40]
mov qword [rsp + reloc.mfc90u.dll_CDocObjectServer::XPrint::GetPageInfo], rax
mov rax, qword [rsp + reloc.mfc90u.dll_CDocObjectServer::XPrint::GetPageInfo]
mov qword [rsp + reloc.mfc90u.dll_CGopherLocator::CGopherLocator], rax
lea rdi, [rsp + 0xca0]
mov rsi, qword [rsp + reloc.mfc90u.dll_CGopherLocator::CGopherLocator]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0xc8]
lea rsi, [rsp + 0xca0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.140230930
movzx eax, al
test eax, eax
jne 0x14023f91a
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.1401960e0
movzx eax, al
test eax, eax
jne 0x14023f91a
mov dword [rsp + CDaoQueryDef::GetParamValue], 0
jmp 0x14023f925
mov dword [rsp + CDaoQueryDef::GetParamValue], 1
movzx eax, byte [rsp + 0xd38]
test eax, eax
je 0x14023f940
lea rax, [rsp + 0x40]
mov qword [rsp + CDaoRecordset::GetParamValue], rax
jmp 0x14023f94d
lea rax, [rsp + 0x50]
mov qword [rsp + CDaoRecordset::GetParamValue], rax
mov rax, qword [rsp + 0xd40]
mov qword [rsp + 0x1b0], rax
lea rdi, [rsp + 0xc90]
mov rsi, qword [rsp + 0x1b0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0xa0]
lea rsi, [rsp + 0xc90]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
cmp dword [rsp + 0x68], 0
je 0x14023f9bd
lea rdi, [rsp + 0xa0]
lea rsi, [rsp + 0x40]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0xc8]
lea rsi, [rsp + 0xa0]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
movsd xmm0, qword [0x140402370]
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 + 0xb8], xmm0
mov dword [rsp + 0xc0], 0
movsd xmm0, qword [0x1403f7370]
comisd xmm0, xmmword [rsp + 0xb8]
ja 0x14023fa2f
movsd xmm0, qword [rsp + 0xb8]
comisd xmm0, xmmword [0x1403f7368]
jbe 0x14023fa3a
mov dword [rsp + 0xc0], 1
cmp dword [rsp + 0xd88], 0x25
jne 0x14023fae0
mov rdx, qword [rsp + 0xd80]
add rdx, 0x38
lea rcx, [rsp + 0xc8]
call fcn.14032f110
test eax, eax
je 0x14023fadb
mov rax, qword [rsp + 0xd80]
mov rax, qword [rax]
lea rdx, [rsp + 0xd8]
mov rcx, qword [rsp + 0xd80]
call qword [rax + reloc.mfc90u.dll_CInternetException::CInternetException]
mov rcx, qword [rsp + 0xd80]
add rcx, 0x38
lea r8, [rsp + 0xd8]
lea rdx, [rsp + 0x1b8]
call fcn.1400062b0
lea rdi, [rsp + 0xc80]
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0xb8]
lea rsi, [rsp + 0xc80]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0xb0], 1
jmp 0x14023fb73
mov rdx, qword [rsp + 0xd80]
add rdx, 0x48
lea rcx, [rsp + 0xa0]
call fcn.14032f110
test eax, eax
je 0x14023fb73
mov rax, qword [rsp + 0xd80]
mov rax, qword [rax]
lea rdx, [rsp + 0xe8]
mov rcx, qword [rsp + 0xd80]
call qword [rax + reloc.mfc90u.dll_CHtmlEditCtrl::CHtmlEditCtrl]
mov r8, qword [rsp + 0xd80]
add r8, 0x38
lea rdx, [rsp + 0x1c8]
lea rcx, [rsp + 0xe8]
call fcn.1400062b0
lea rdi, [rsp + 0xc70]
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0xb8]
lea rsi, [rsp + 0xc70]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0xb0], 1
cmp dword [rsp + 0xd88], 0x25
jne 0x14023fbe2
cmp dword [rsp + 0x68], 0
je 0x14023fb8e
cmp dword [rsp + 0xb0], 0
je 0x14023fbb7
lea rdi, [rsp + 0x2a0]
lea rsi, [rsp + 0xb8]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0x50]
call fcn.140230ec0
lea rdi, [rsp + reloc.mfc90u.dll_CInternetException::CInternetException]
lea rsi, [rsp + 0xb8]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + reloc.mfc90u.dll_CInternetException::CInternetException]
lea rcx, [rsp + 0x40]
call fcn.140230ec0
jmp 0x14023fc45
cmp dword [rsp + 0x68], 0
je 0x14023fbf3
cmp dword [rsp + 0xb0], 0
je 0x14023fc1c
lea rdi, [rsp + reloc.mfc90u.dll_CMiniFrameWnd::CMiniFrameWnd]
lea rsi, [rsp + 0xb8]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + reloc.mfc90u.dll_CMiniFrameWnd::CMiniFrameWnd]
lea rcx, [rsp + 0x50]
call fcn.140230dd0
lea rdi, [rsp + 0x2d0]
lea rsi, [rsp + 0xb8]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x40]
call fcn.140230dd0
jmp 0x14024012d
cmp dword [rsp + 0x60], 0x3c
jne 0x14023fc5e
mov dword [rsp + 0x768], 0
jmp 0x14023fc69
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x768], eax
xorpd xmm0, xmm0
mov eax, dword [rsp + 0x60]
cdq
mov ecx, 0x3c
idiv ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
divsd xmm1, qword [0x14042bff8]
addsd xmm0, xmm1
movd xmm1, dword [rsp + 0x768]
cvtdq2pd xmm1, xmm1
divsd xmm1, qword [0x140442028]
addsd xmm0, xmm1
xorpd xmm1, xmm1
divsd xmm1, qword [0x1403f7358]
addsd xmm0, xmm1
movsd qword [rsp + 0x100], xmm0
mov dword [rsp + 0x108], 0
movsd xmm0, qword [0x1403f7370]
comisd xmm0, xmmword [rsp + 0x100]
ja 0x14023fcf0
movsd xmm0, qword [rsp + 0x100]
comisd xmm0, xmmword [0x1403f7368]
jbe 0x14023fcfb
mov dword [rsp + 0x108], 1
mov dword [rsp + 0xf8], 0
cmp dword [rsp + 0xd88], 0x26
jne 0x14023fd3b
lea rdi, [rsp + 0x2e0]
lea rsi, [rsp + 0x100]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2e0]
lea rcx, [rsp + 0x40]
call fcn.140230ec0
jmp 0x14023fd64
lea rdi, [rsp + 0x2f0]
lea rsi, [rsp + 0x100]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2f0]
lea rcx, [rsp + 0x40]
call fcn.140230dd0
mov rdx, qword [rsp + 0xd80]
add rdx, 0x38
lea rcx, [rsp + 0x40]
call fcn.140230930
movzx eax, al
test eax, eax
je 0x14023fe2f
cmp dword [rsp + 0x94], 1
jle 0x14023fe2f
mov rax, qword [rsp + 0xd80]
mov rax, qword [rax]
lea rdx, [rsp + 0x110]
mov rcx, qword [rsp + 0xd80]
call qword [rax + reloc.mfc90u.dll_CInternetException::CInternetException]
lea rdi, [rsp + reloc.mfc90u.dll_CScrollView::CScrollView]
lea rsi, [rsp + 0x100]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + reloc.mfc90u.dll_CScrollView::CScrollView]
lea rcx, [rsp + 0x40]
call fcn.140230dd0
mov rcx, qword [rsp + 0xd80]
add rcx, 0x38
lea r8, [rsp + 0x110]
lea rdx, [rsp + 0x1d8]
call fcn.1400062b0
lea rdi, [rsp + 0x310]
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x310]
lea rcx, [rsp + 0x40]
call fcn.140230ec0
mov dword [rsp + 0xf8], 1
jmp 0x14023fe7b
mov rdx, qword [rsp + 0xd80]
add rdx, 0x28
lea rcx, [rsp + 0x40]
call fcn.140230930
movzx eax, al
test eax, eax
je 0x14023fe7b
lea rdi, [rsp + 0xc60]
mov rsi, qword [rsp + 0xd80]
add rsi, 0x28
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x40]
lea rsi, [rsp + 0xc60]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rdx, qword [rsp + 0xd80]
add rdx, 0x48
lea rcx, [rsp + 0x40]
call fcn.140230a70
movzx eax, al
test eax, eax
je 0x14023ff49
cmp dword [rsp + 0x94], 1
jle 0x14023ff49
mov rax, qword [rsp + 0xd80]
mov rax, qword [rax]
lea rdx, [rsp + 0x120]
mov rcx, qword [rsp + 0xd80]
call qword [rax + reloc.mfc90u.dll_CHtmlEditCtrl::CHtmlEditCtrl]
lea rdi, [rsp + 0x320]
lea rsi, [rsp + 0x100]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x320]
lea rcx, [rsp + 0x40]
call fcn.140230ec0
mov r8, qword [rsp + 0xd80]
add r8, 0x38
lea rdx, [rsp + 0x1e8]
lea rcx, [rsp + 0x120]
call fcn.1400062b0
lea rdi, [rsp + 0x330]
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x330]
lea rcx, [rsp + 0x40]
call fcn.140230dd0
mov dword [rsp + 0xf8], 1
jmp 0x14024010b
xorpd xmm0, xmm0
movsd xmm1, qword [0x140442038]
divsd xmm1, qword [0x14042bff8]
addsd xmm0, xmm1
mov eax, 0x3c
sub eax, dword [rsp + 0x60]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
divsd xmm1, qword [0x140442028]
addsd xmm0, xmm1
xorpd xmm1, xmm1
divsd xmm1, qword [0x1403f7358]
addsd xmm0, xmm1
movsd qword [rsp + 0x1f8], xmm0
mov dword [rsp + reloc.mfc90u.dll_COleStreamFile::COleStreamFile], 0
movsd xmm0, qword [0x1403f7370]
comisd xmm0, xmmword [rsp + 0x1f8]
ja 0x14023ffc8
movsd xmm0, qword [rsp + 0x1f8]
comisd xmm0, xmmword [0x1403f7368]
jbe 0x14023ffd3
mov dword [rsp + reloc.mfc90u.dll_COleStreamFile::COleStreamFile], 1
lea rdi, [rsp + 0x340]
lea rsi, [rsp + 0x1f8]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0xd80]
add rcx, 0x28
lea r8, [rsp + 0x340]
lea rdx, [rsp + 0x208]
call fcn.140230bb0
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140230a70
movzx eax, al
test eax, eax
je 0x14024010b
xorpd xmm0, xmm0
movsd xmm1, qword [0x140442038]
divsd xmm1, qword [0x14042bff8]
addsd xmm0, xmm1
mov eax, 0x3c
sub eax, dword [rsp + 0x60]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
divsd xmm1, qword [0x140442028]
addsd xmm0, xmm1
xorpd xmm1, xmm1
divsd xmm1, qword [0x1403f7358]
addsd xmm0, xmm1
movsd qword [rsp + 0x218], xmm0
mov dword [rsp + 0x220], 0
movsd xmm0, qword [0x1403f7370]
comisd xmm0, xmmword [rsp + 0x218]
ja 0x1402400a2
movsd xmm0, qword [rsp + 0x218]
comisd xmm0, xmmword [0x1403f7368]
jbe 0x1402400ad
mov dword [rsp + 0x220], 1
lea rdi, [rsp + 0x350]
lea rsi, [rsp + 0x218]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0xd80]
add rcx, 0x28
lea r8, [rsp + 0x350]
lea rdx, [rsp + 0x228]
call fcn.140230bb0
lea rdi, [rsp + 0xc50]
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rdi, [rsp + 0x40]
lea rsi, [rsp + 0xc50]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
cmp dword [rsp + 0x68], 0
je 0x14024011c
cmp dword [rsp + 0xf8], 0
je 0x14024012d
lea rdi, [rsp + 0x50]
lea rsi, [rsp + 0x40]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x98], 0
mov rcx, qword [rsp + 0xd80]
add rcx, 0x28
lea rdx, [rsp + 0x40]
call fcn.14032f110
test eax, eax
jne 0x140240428
lea rcx, [rsp + 0x40]
call fcn.140230850
mov dword [rsp + 0xab0], eax
lea rcx, [rsp + 0x40]
call fcn.1402307e0
mov dword [rsp + COleControl::XPersistPropertyBag::GetClassID], eax
lea rcx, [rsp + 0x40]
call fcn.140230770
mov dword [rsp + COleControl::XPersistPropertyBag::GetClassID], eax
mov r8d, reloc.WS2_32.dll_recv
xor edx, edx
lea rcx, [rsp + 0xa98]
call sub.MSVCR90.dll_memset
movzx edx, word [rsp + 0xaa8]
mov word [rsp + COleServerDoc::XDataObject::GetCanonicalFormatEtc], dx
movzx eax, word [rsp + 0xaac]
mov word [rsp + COleServerDoc::XDataObject::GetCanonicalFormatEtc], ax
movzx eax, word [rsp + 0xab0]
mov word [rsp + COleServerDoc::XDataObject::GetCanonicalFormatEtc], ax
xor eax, eax
mov word [rsp + CTreeCtrl::GetCheck], ax
xor eax, eax
mov word [rsp + reloc.mfc90u.dll_COleControlSite::XOleIPSite::GetCapture], ax
xor eax, eax
mov word [rsp + CTreeCtrl::GetCheck], ax
lea rdx, [rsp + 0x238]
lea rcx, [rsp + 0xa98]
call fcn.1400050f0
test eax, eax
je 0x140240212
mov dword [rsp + CPictureHolder::GetPictureDispatch], 0
jmp 0x14024021d
mov dword [rsp + CPictureHolder::GetPictureDispatch], 1
mov eax, dword [rsp + 0xd48]
mov dword [rsp + 0x240], eax
lea rdi, [rsp + reloc.mfc90u.dll_COlePropertyPage::GetInterfaceMap]
lea rsi, [rsp + 0x238]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rdi, qword [rsp + 0xd80]
lea rsi, [rsp + reloc.mfc90u.dll_COlePropertyPage::GetInterfaceMap]
add rdi, 0x28
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rdx, qword [rsp + 0xd80]
add rdx, 0x38
mov rcx, qword [rsp + 0xd80]
add rcx, 0x28
call fcn.140230930
movzx eax, al
test eax, eax
jne 0x1402402b2
mov rdx, qword [rsp + 0xd80]
add rdx, 0x48
mov rcx, qword [rsp + 0xd80]
add rcx, 0x28
call fcn.140230a70
movzx eax, al
test eax, eax
jne 0x1402402b2
mov dword [rsp + CPrintDialogEx::GetPortName], 0
jmp 0x1402402bd
mov dword [rsp + CPrintDialogEx::GetPortName], 1
mov eax, dword [rsp + 0xd4c]
mov dword [rsp + 0x98], eax
cmp dword [rsp + 0x98], 0
je 0x140240428
mov r8, qword [rsp + 0xd80]
add r8, 0x28
mov rax, qword [rsp + 0xd80]
mov rax, qword [rax]
lea rdx, [rsp + 0x248]
mov rcx, qword [rsp + 0xd80]
call qword [rax + 0x40]
lea rdi, [rsp + 0xc30]
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rdi, qword [rsp + 0xd80]
lea rsi, [rsp + 0xc30]
add rdi, 0x38
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0x94]
sub eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm1, qword [0x140442038]
divsd xmm1, qword [0x14042bff8]
addsd xmm0, xmm1
movsd xmm1, qword [0x140442030]
divsd xmm1, qword [0x140442028]
addsd xmm0, xmm1
movsd xmm1, qword [0x140442030]
divsd xmm1, qword [0x1403f7358]
addsd xmm0, xmm1
movsd qword [rsp + reloc.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____], xmm0
mov dword [rsp + 0x260], 0
movsd xmm0, qword [0x1403f7370]
comisd xmm0, xmmword [rsp + reloc.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____]
ja 0x1402403b8
movsd xmm0, qword [rsp + reloc.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____]
comisd xmm0, xmmword [0x1403f7368]
jbe 0x1402403c3
mov dword [rsp + 0x260], 1
lea rdi, [rsp + 0x360]
lea rsi, [rsp + reloc.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0xd80]
add rcx, 0x38
lea r8, [rsp + 0x360]
lea rdx, [rsp + 0x268]
call fcn.140230bb0
lea rdi, [rsp + 0xc20]
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rdi, qword [rsp + 0xd80]
lea rsi, [rsp + 0xc20]
add rdi, 0x48
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
cmp dword [rsp + 0x98], 0
jne 0x14024043f
mov dword [rsp + reloc.mfc90u.dll_COleStreamFile::GetPosition], 1
jmp 0x14024044a
mov dword [rsp + reloc.mfc90u.dll_COleStreamFile::GetPosition], 0
mov rax, qword [rsp + 0xd80]
mov rax, qword [rax]
mov r9d, dword [rsp + reloc.mfc90u.dll_COleStreamFile::GetPosition]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov rcx, qword [rsp + 0xd80]
call qword [rax + 0x50]
cmp dword [rsp + 0x98], 0
je 0x1402404ac
mov rax, qword [rsp + 0xd80]
mov rax, qword [rax]
mov rcx, qword [rsp + 0xd80]
call qword [rax + 0xc0]
mov edx, 1
mov rcx, qword [rsp + 0xd80]
call fcn.1403302a0
jmp 0x14024064f
mov rax, qword [rsp + 0xd80]
cmp dword [rax + 0x20], 0
je 0x14024064f
mov dword [rsp + 0x140], 0
mov r8, qword [rsp + 0xd80]
add r8, 8
mov rax, qword [rsp + 0xd80]
mov rax, qword [rax]
lea rdx, [rsp + 0x148]
mov rcx, qword [rsp + 0xd80]
call qword [rax + 0x58]
mov r8, qword [rsp + 0xd80]
add r8, 0x10
mov rax, qword [rsp + 0xd80]
mov rax, qword [rax]
lea rdx, [rsp + 0x130]
mov rcx, qword [rsp + 0xd80]
call qword [rax + 0x58]
cmp dword [rsp + 0xd88], 0x26
jne 0x140240593
lea rcx, [rsp + 0x50]
call fcn.1402440d0
mov esi, eax
imul esi, esi, 0x3c
lea rcx, [rsp + 0x50]
call fcn.140244140
add esi, eax
lea rcx, [rsp + 0x148]
call fcn.1402440d0
mov edi, eax
imul edi, edi, 0x3c
lea rcx, [rsp + 0x148]
call fcn.140244140
mov edx, eax
mov eax, edi
add eax, edx
cmp esi, eax
jge 0x140240578
mov dword [rsp + CAsyncMonikerFile::GetPriority], 1
jmp 0x140240583
mov dword [rsp + CAsyncMonikerFile::GetPriority], 0
mov eax, dword [rsp + 0xd54]
mov dword [rsp + 0x140], eax
jmp 0x1402405fd
lea rcx, [rsp + 0x40]
call fcn.1402440d0
mov esi, eax
imul esi, esi, 0x3c
lea rcx, [rsp + 0x40]
call fcn.140244140
add esi, eax
lea rcx, [rsp + 0x130]
call fcn.1402440d0
mov edi, eax
imul edi, edi, 0x3c
lea rcx, [rsp + 0x130]
call fcn.140244140
mov edx, eax
mov eax, edi
add eax, edx
cmp esi, eax
jl 0x1402405e4
mov dword [rsp + CAsyncMonikerFile::GetPriority], 1
jmp 0x1402405ef
mov dword [rsp + CAsyncMonikerFile::GetPriority], 0
mov eax, dword [rsp + 0xd58]
mov dword [rsp + 0x140], eax
cmp dword [rsp + 0x140], 0
je 0x14024064f
cmp dword [rsp + 0xd88], 0x26
jne 0x14024061e
mov dword [rsp + CPropertySet::GetProperty], 0
jmp 0x140240629
mov dword [rsp + CPropertySet::GetProperty], 1
mov rax, qword [rsp + 0xd80]
mov rax, qword [rax]
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rsp + 0xd5c]
mov rcx, qword [rsp + 0xd80]
call qword [rax + CFile::CFile]
mov dword [rsp + 0x64], 1
mov eax, dword [rsp + 0x64]
add rsp, 0xd68
pop rdi
pop rsi
ret