SmsCenter/Release_Unicode/EmailThread.cod
2025-01-03 16:47:25 +08:00

14262 lines
512 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

; Listing generated by Microsoft (R) Optimizing Compiler Version 19.34.31933.0
TITLE D:\Works\Corpsms_2010\SmsCenter\Release_Unicode\EmailThread.obj
.686P
.XMM
include listing.inc
.model flat
INCLUDELIB LIBCMT
INCLUDELIB OLDNAMES
PUBLIC ?On_Email@CEmailThread@@QAEXIJ@Z ; CEmailThread::On_Email
EXTRN ?GetThisMessageMap@CCmdTarget@@KGPBUAFX_MSGMAP@@XZ:PROC ; CCmdTarget::GetThisMessageMap
CONST SEGMENT
?_messageEntries@?1??GetThisMessageMap@CEmailThread@@KGPBUAFX_MSGMAP@@XZ@4QBUAFX_MSGMAP_ENTRY@@B DD 05aeH ; `CEmailThread::GetThisMessageMap'::`2'::_messageEntries
DD 00H
DD 00H
DD 00H
DD 01fH
DD FLAT:?On_Email@CEmailThread@@QAEXIJ@Z
DD 00H
DD 00H
DD 00H
DD 00H
DD 00H
DD 00H
?messageMap@?1??GetThisMessageMap@CEmailThread@@KGPBUAFX_MSGMAP@@XZ@4U3@B DD FLAT:?GetThisMessageMap@CCmdTarget@@KGPBUAFX_MSGMAP@@XZ ; `CEmailThread::GetThisMessageMap'::`2'::messageMap
DD FLAT:?_messageEntries@?1??GetThisMessageMap@CEmailThread@@KGPBUAFX_MSGMAP@@XZ@4QBUAFX_MSGMAP_ENTRY@@B
CONST ENDS
PUBLIC ?__empty_global_delete@@YAXPAX@Z ; __empty_global_delete
PUBLIC ?__empty_global_delete@@YAXPAXI@Z ; __empty_global_delete
PUBLIC ?__empty_global_delete@@YAXPAXW4align_val_t@std@@@Z ; __empty_global_delete
PUBLIC ?__empty_global_delete@@YAXPAXIW4align_val_t@std@@@Z ; __empty_global_delete
PUBLIC ___local_stdio_printf_options
PUBLIC __vswprintf_c_l
PUBLIC __vswprintf_l
PUBLIC ___vswprintf_l
PUBLIC __swprintf
PUBLIC _HRESULT_FROM_WIN32
PUBLIC ?AfxCrtErrorCheck@@YAHH@Z ; AfxCrtErrorCheck
PUBLIC ??2CObject@@SGPAXI@Z ; CObject::operator new
PUBLIC ??3CObject@@SGXPAX@Z ; CObject::operator delete
PUBLIC ?Serialize@CObject@@UAEXAAVCArchive@@@Z ; CObject::Serialize
PUBLIC ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
PUBLIC ?memcpy_s@Checked@ATL@@YAXPAXIPBXI@Z ; ATL::Checked::memcpy_s
PUBLIC ?Free@CCRTAllocator@ATL@@SAXPAX@Z ; ATL::CCRTAllocator::Free
PUBLIC ?_AtlGetConversionACP@ATL@@YGIXZ ; ATL::_AtlGetConversionACP
PUBLIC ?AtlA2WHelper@@YGPA_WPA_WPBDHI@Z ; AtlA2WHelper
PUBLIC ?AtlW2AHelper@@YGPADPADPB_WHI@Z ; AtlW2AHelper
PUBLIC ?T2OLE_EX@@YAPA_WPA_WI@Z ; T2OLE_EX
PUBLIC ??0?$CAtlSafeAllocBufferManager@VCCRTAllocator@ATL@@@_ATL_SAFE_ALLOCA_IMPL@ATL@@QAE@XZ ; ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator>::CAtlSafeAllocBufferManager<ATL::CCRTAllocator>
PUBLIC ??1?$CAtlSafeAllocBufferManager@VCCRTAllocator@ATL@@@_ATL_SAFE_ALLOCA_IMPL@ATL@@QAE@XZ ; ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator>::~CAtlSafeAllocBufferManager<ATL::CCRTAllocator>
PUBLIC ?wmemcpy_s@Checked@ATL@@YAXPA_WIPB_WI@Z ; ATL::Checked::wmemcpy_s
PUBLIC ?memmove_s@Checked@ATL@@YAXPAXIPBXI@Z ; ATL::Checked::memmove_s
PUBLIC ?AtlStrLen@ATL@@YAHPB_W@Z ; ATL::AtlStrLen
PUBLIC ?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z ; ATL::_AtlGetStringResourceImage
PUBLIC ?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z ; ATL::AtlGetStringResourceImage
PUBLIC ?AtlConvertSystemTimeToVariantTime@ATL@@YAHABU_SYSTEMTIME@@PAN@Z ; ATL::AtlConvertSystemTimeToVariantTime
PUBLIC ??$AtlAdd@H@ATL@@YAJPAHHH@Z ; ATL::AtlAdd<int>
PUBLIC ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
PUBLIC ?AddRef@CStringData@ATL@@QAEXXZ ; ATL::CStringData::AddRef
PUBLIC ?IsLocked@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsLocked
PUBLIC ?IsShared@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsShared
PUBLIC ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release
PUBLIC ?CharNextW@?$ChTraitsCRT@_W@ATL@@SAPA_WPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::CharNextW
PUBLIC ?IsSpace@?$ChTraitsCRT@_W@ATL@@SAH_W@Z ; ATL::ChTraitsCRT<wchar_t>::IsSpace
PUBLIC ?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z ; ATL::ChTraitsCRT<wchar_t>::StringFindString
PUBLIC ?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPA_WPA_WPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::StringFindString
PUBLIC ?StringFindChar@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z ; ATL::ChTraitsCRT<wchar_t>::StringFindChar
PUBLIC ?StringScanSet@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z ; ATL::ChTraitsCRT<wchar_t>::StringScanSet
PUBLIC ?StringUppercase@?$ChTraitsCRT@_W@ATL@@SAPA_WPA_WI@Z ; ATL::ChTraitsCRT<wchar_t>::StringUppercase
PUBLIC ?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z ; ATL::ChTraitsCRT<wchar_t>::GetFormattedLength
PUBLIC ?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z ; ATL::ChTraitsCRT<wchar_t>::Format
PUBLIC ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
PUBLIC ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
PUBLIC ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType
PUBLIC ?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::SafeStringLen
PUBLIC ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
PUBLIC ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@ABV01@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
PUBLIC ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
PUBLIC ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
PUBLIC ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::operator=
PUBLIC ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
PUBLIC ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ ; ATL::CSimpleStringT<wchar_t,0>::Empty
PUBLIC ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength
PUBLIC ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
PUBLIC ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
PUBLIC ?GetManager@?$CSimpleStringT@_W$0A@@ATL@@QBEPAUIAtlStringMgr@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetManager
PUBLIC ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
PUBLIC ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
PUBLIC ?Truncate@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Truncate
PUBLIC ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString
PUBLIC ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString
PUBLIC ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::CopyCharsOverlapped
PUBLIC ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::StringLength
PUBLIC ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
PUBLIC ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
PUBLIC ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Fork
PUBLIC ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
PUBLIC ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite
PUBLIC ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2
PUBLIC ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Reallocate
PUBLIC ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetLength
PUBLIC ?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z ; ATL::CSimpleStringT<wchar_t,0>::CloneData
PUBLIC ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
PUBLIC ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
PUBLIC ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
PUBLIC ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
PUBLIC ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
PUBLIC ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
PUBLIC ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
PUBLIC ?GetManager@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager
PUBLIC ?Replace@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPB_W0@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace
PUBLIC ?Find@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEH_WH@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find
PUBLIC ?Find@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEHPB_WH@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find
PUBLIC ?FindOneOf@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEHPB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FindOneOf
PUBLIC ?MakeUpper@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV12@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeUpper
PUBLIC ?TrimRight@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV12@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight
PUBLIC ?TrimLeft@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV12@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft
PUBLIC ?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid
PUBLIC ?Format@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAAXPB_WZZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format
PUBLIC ?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV
PUBLIC ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
PUBLIC ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
PUBLIC ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad
PUBLIC ??0CTime@ATL@@QAE@_J@Z ; ATL::CTime::CTime
PUBLIC ?GetLocalTm@CTime@ATL@@QBEPAUtm@@PAU3@@Z ; ATL::CTime::GetLocalTm
PUBLIC ?GetAsSystemTime@CTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z ; ATL::CTime::GetAsSystemTime
PUBLIC ?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::FindStringResourceInstance
PUBLIC ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager
PUBLIC ??0COleDateTimeSpan@ATL@@QAE@N@Z ; ATL::COleDateTimeSpan::COleDateTimeSpan
PUBLIC ??0COleDateTimeSpan@ATL@@QAE@JHHH@Z ; ATL::COleDateTimeSpan::COleDateTimeSpan
PUBLIC ?GetStatus@COleDateTimeSpan@ATL@@QBE?AW4DateTimeSpanStatus@12@XZ ; ATL::COleDateTimeSpan::GetStatus
PUBLIC ??MCOleDateTimeSpan@ATL@@QBE_NABV01@@Z ; ATL::COleDateTimeSpan::operator<
PUBLIC ?SetDateTimeSpan@COleDateTimeSpan@ATL@@QAEXJHHH@Z ; ATL::COleDateTimeSpan::SetDateTimeSpan
PUBLIC ?CheckRange@COleDateTimeSpan@ATL@@QAEXXZ ; ATL::COleDateTimeSpan::CheckRange
PUBLIC ?GetTickCount@COleDateTime@ATL@@SG?AV12@XZ ; ATL::COleDateTime::GetTickCount
PUBLIC ??0COleDateTime@ATL@@QAE@XZ ; ATL::COleDateTime::COleDateTime
PUBLIC ??0COleDateTime@ATL@@QAE@_J@Z ; ATL::COleDateTime::COleDateTime
PUBLIC ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus
PUBLIC ?GetAsSystemTime@COleDateTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z ; ATL::COleDateTime::GetAsSystemTime
PUBLIC ?GetYear@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetYear
PUBLIC ?GetMonth@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetMonth
PUBLIC ?GetDay@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetDay
PUBLIC ??4COleDateTime@ATL@@QAEAAV01@AB_J@Z ; ATL::COleDateTime::operator=
PUBLIC ??GCOleDateTime@ATL@@QBE?AVCOleDateTimeSpan@1@ABV01@@Z ; ATL::COleDateTime::operator-
PUBLIC ?ParseDateTime@COleDateTime@ATL@@QAE_NPB_WKK@Z ; ATL::COleDateTime::ParseDateTime
PUBLIC ?DoubleFromDate@COleDateTime@ATL@@KGNN@Z ; ATL::COleDateTime::DoubleFromDate
PUBLIC ?ConvertSystemTimeToVariantTime@COleDateTime@ATL@@IAEHABU_SYSTEMTIME@@@Z ; ATL::COleDateTime::ConvertSystemTimeToVariantTime
PUBLIC ?GetRuntimeClass@CEmailThread@@UBEPAUCRuntimeClass@@XZ ; CEmailThread::GetRuntimeClass
PUBLIC ?CreateObject@CEmailThread@@SGPAVCObject@@XZ ; CEmailThread::CreateObject
PUBLIC ??0CEmailThread@@QAE@XZ ; CEmailThread::CEmailThread
PUBLIC ?SetParam@CEmailThread@@QAEHPAVCSmsCenterDlg@@@Z ; CEmailThread::SetParam
PUBLIC ?InitInstance@CEmailThread@@UAEHXZ ; CEmailThread::InitInstance
PUBLIC ?ExitInstance@CEmailThread@@UAEHXZ ; CEmailThread::ExitInstance
PUBLIC ??1CEmailThread@@UAE@XZ ; CEmailThread::~CEmailThread
PUBLIC ?GetThisMessageMap@CEmailThread@@KGPBUAFX_MSGMAP@@XZ ; CEmailThread::GetThisMessageMap
PUBLIC ?GetMessageMap@CEmailThread@@MBEPBUAFX_MSGMAP@@XZ ; CEmailThread::GetMessageMap
PUBLIC ??_GCEmailThread@@UAEPAXI@Z ; CEmailThread::`scalar deleting destructor'
PUBLIC ?GetSubject@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ ; CPop3Message::GetSubject
PUBLIC ?GetFrom@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ ; CPop3Message::GetFrom
PUBLIC ?GetDate@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ ; CPop3Message::GetDate
PUBLIC ?GetMsgID@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ ; CPop3Message::GetMsgID
PUBLIC ??$AtlAddThrow@H@ATL@@YAHHH@Z ; ATL::AtlAddThrow<int>
PUBLIC ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA ; `__local_stdio_printf_options'::`2'::_OptionsStorage
PUBLIC ??_C@_11LOCGONAA@@ ; `string'
PUBLIC ??_C@_1BC@HEKPCAFP@?$AAA?$AAp?$AAp?$AAE?$AAr?$AAr?$AAo?$AAr@ ; `string'
PUBLIC ??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@ ; `string'
PUBLIC ??_C@_13JKNELIBG@?$AAT@ ; `string'
PUBLIC ??_R0?AVCObject@@@8 ; CObject `RTTI Type Descriptor'
PUBLIC ??_R3CObject@@8 ; CObject::`RTTI Class Hierarchy Descriptor'
PUBLIC ??_R2CObject@@8 ; CObject::`RTTI Base Class Array'
PUBLIC ??_R1A@?0A@EA@CObject@@8 ; CObject::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC ??_R1A@?0A@EA@CCmdTarget@@8 ; CCmdTarget::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC ??_R0?AVCCmdTarget@@@8 ; CCmdTarget `RTTI Type Descriptor'
PUBLIC ??_R3CCmdTarget@@8 ; CCmdTarget::`RTTI Class Hierarchy Descriptor'
PUBLIC ??_R2CCmdTarget@@8 ; CCmdTarget::`RTTI Base Class Array'
PUBLIC ?classCEmailThread@CEmailThread@@2UCRuntimeClass@@B ; CEmailThread::classCEmailThread
PUBLIC ??_7CEmailThread@@6B@ ; CEmailThread::`vftable'
PUBLIC ??_C@_1BA@GMIDJHNK@?$AAS?$AAu?$AAb?$AAj?$AAe?$AAc?$AAt@ ; `string'
PUBLIC ??_C@_19FBEKOENC@?$AAF?$AAr?$AAo?$AAm@ ; `string'
PUBLIC ??_C@_19LCONIJA@?$AAD?$AAa?$AAt?$AAe@ ; `string'
PUBLIC ??_C@_1BG@JKBIBFHO@?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?9?$AAI?$AAD@ ; `string'
PUBLIC ??_C@_0N@HOLOEJDL@CEmailThread@ ; `string'
PUBLIC ?__LINE__Var@?0??On_Email@CEmailThread@@QAEXIJ@Z@4JA ; `CEmailThread::On_Email'::`1'::__LINE__Var
PUBLIC ??_C@_1ME@MEGNKACB@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AAe?$AAm?$AAa?$AAi?$AAl?$AA?4?$AA?$CK?$AA?0@ ; `string'
PUBLIC ??_C@_1BA@FJCEEOND@?$AAE?$AAm?$AAa?$AAi?$AAl?$AAI?$AAD@ ; `string'
PUBLIC ??_C@_1O@CLJHPHJA@?$AAC?$AAo?$AAr?$AAp?$AAI?$AAD@ ; `string'
PUBLIC ??_C@_1O@DLKCLNNL@?$AAU?$AAs?$AAe?$AAr?$AAI?$AAD@ ; `string'
PUBLIC ??_C@_15KNGHAKFK@?$AAI?$AAP@ ; `string'
PUBLIC ??_C@_1BC@PKDBAIGK@?$AAU?$AAs?$AAe?$AAr?$AAN?$AAa?$AAm?$AAe@ ; `string'
PUBLIC ??_C@_1O@CHHKJIAH@?$AAP?$AAa?$AAs?$AAs?$AAw?$AAd@ ; `string'
PUBLIC ??_C@_1O@OLLJFFCG@?$AAM?$AAo?$AAb?$AAi?$AAl?$AAe@ ; `string'
PUBLIC ??_C@_1BE@LHEMFLIA@?$AAC?$AAh?$AAe?$AAc?$AAk?$AAT?$AAi?$AAm?$AAe@ ; `string'
PUBLIC ??_C@_1BE@IBKJNCDI@?$AAC?$AAh?$AAe?$AAc?$AAk?$AAL?$AAa?$AAs?$AAt@ ; `string'
PUBLIC ??_C@_08DLMCGABB@On_Email@ ; `string'
PUBLIC ??_C@_0DA@OPOBKPBA@D?3?2Works?2Corpsms_2010?2SmsCenter@ ; `string'
PUBLIC ??_C@_1GM@FLPJKBLA@?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?5?$AAe?$AAm?$AAa?$AAi?$AAl?$AA?5?$AAs?$AAe@ ; `string'
PUBLIC ??_C@_1MM@HLJMBDM@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AA?$CK?$AA?5?$AAf?$AAr?$AAo?$AAm?$AA?5?$AAe@ ; `string'
PUBLIC ??_C@_19DINFBLAK@?$AAN?$AAa?$AAm?$AAe@ ; `string'
PUBLIC ??_C@_17EOCMGKCF@?$AAG?$AAM?$AAT@ ; `string'
PUBLIC ??_C@_15HBAONMEK@?$AA?$CL?$AA?9@ ; `string'
PUBLIC ??_C@_15GJHBPMFF@?$AA?8?$AA?8@ ; `string'
PUBLIC ??_C@_13ODFOLHGE@?$AA?8@ ; `string'
PUBLIC ??_C@_1GK@CGOIPJPF@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AA?$CK?$AA?5?$AAf?$AAr?$AAo?$AAm?$AA?5?$AAe@ ; `string'
PUBLIC ??_C@_1KC@GLDKPFCI@?$AAi?$AAn?$AAs?$AAe?$AAr?$AAt?$AA?5?$AAi?$AAn?$AAt?$AAo?$AA?5?$AA?5?$AAe?$AAm@ ; `string'
PUBLIC ??_C@_15JCAHOCDC@?$AA?$EA?$AA?7@ ; `string'
PUBLIC ??_C@_1M@FCIIBLEE@?$AAe?$AAm?$AAa?$AAi?$AAl@ ; `string'
PUBLIC ??_C@_1EA@GCEIMIIP@?$AA?$GA?$PP?$IO?$AA?$CF?$AA0?$AA2?$AAd?$AA?4?$AA?$CF?$AA0?$AA2?$AAd?$AA?5?$AA?$CF?$AA0?$AA2@ ; `string'
PUBLIC ??_C@_1BA@IIDKJHG@?$AAc?$AAo?$AAr?$AAp?$AAs?$AAm?$AAs@ ; `string'
PUBLIC ??_R4CEmailThread@@6B@ ; CEmailThread::`RTTI Complete Object Locator'
PUBLIC ??_R0?AVCEmailThread@@@8 ; CEmailThread `RTTI Type Descriptor'
PUBLIC ??_R3CEmailThread@@8 ; CEmailThread::`RTTI Class Hierarchy Descriptor'
PUBLIC ??_R2CEmailThread@@8 ; CEmailThread::`RTTI Base Class Array'
PUBLIC ??_R1A@?0A@EA@CEmailThread@@8 ; CEmailThread::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC ??_R1A@?0A@EA@CWinThread@@8 ; CWinThread::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC ??_R0?AVCWinThread@@@8 ; CWinThread `RTTI Type Descriptor'
PUBLIC ??_R3CWinThread@@8 ; CWinThread::`RTTI Class Hierarchy Descriptor'
PUBLIC ??_R2CWinThread@@8 ; CWinThread::`RTTI Base Class Array'
PUBLIC __real@4038000000000000
PUBLIC __real@4096800000000000
PUBLIC __real@40f5180000000000
PUBLIC __real@414b964c80000000
PUBLIC __real@bed845c8a0ce5129
PUBLIC __real@bff0000000000000
PUBLIC __real@c14b964c80000000
EXTRN ??2@YAPAXI@Z:PROC ; operator new
EXTRN ??3@YAXPAX@Z:PROC ; operator delete
EXTRN ??3@YAXPAXI@Z:PROC ; operator delete
EXTRN ?__global_delete@@YAXPAXI@Z:PROC ; __global_delete
EXTRN ??_U@YAPAXI@Z:PROC ; operator new[]
EXTRN __invalid_parameter_noinfo:PROC
EXTRN __errno:PROC
EXTRN _ceil:PROC
EXTRN _free:PROC
EXTRN ___stdio_common_vswprintf:PROC
EXTRN ___stdio_common_vswprintf_s:PROC
EXTRN _memcpy:PROC
EXTRN _memmove:PROC
EXTRN _memset:PROC
EXTRN _wcschr:PROC
EXTRN _wcsstr:PROC
EXTRN _wcscmp:PROC
EXTRN _wcscpy:PROC
EXTRN _wcslen:PROC
EXTRN _wcspbrk:PROC
EXTRN __wcsupr_s:PROC
EXTRN _strcpy:PROC
EXTRN _strlen:PROC
EXTRN _iswspace:PROC
EXTRN _wmemcpy_s:PROC
EXTRN __localtime64_s:PROC
EXTRN __time64:PROC
EXTRN __imp__GetSystemTime@4:PROC
EXTRN __imp__GetLocalTime@4:PROC
EXTRN __imp__LoadResource@8:PROC
EXTRN __imp__LockResource@4:PROC
EXTRN __imp__SizeofResource@8:PROC
EXTRN __imp__FindResourceW@12:PROC
EXTRN __imp__MultiByteToWideChar@24:PROC
EXTRN __imp__WideCharToMultiByte@32:PROC
EXTRN ?AfxThrowMemoryException@@YGXXZ:PROC ; AfxThrowMemoryException
EXTRN ?AfxThrowInvalidArgException@@YGXXZ:PROC ; AfxThrowInvalidArgException
EXTRN ?AfxThrowOleException@@YGXJ@Z:PROC ; AfxThrowOleException
EXTRN ?AfxFindStringResourceHandle@@YGPAUHINSTANCE__@@I@Z:PROC ; AfxFindStringResourceHandle
EXTRN __imp__CoUninitialize@0:PROC
EXTRN __imp__CoInitializeEx@8:PROC
EXTRN __imp__SystemTimeToVariantTime@8:PROC
EXTRN __imp__VariantTimeToSystemTime@12:PROC
EXTRN __imp__VarDateFromStr@16:PROC
EXTRN ?AfxGetStringManager@@YGPAUIAtlStringMgr@ATL@@XZ:PROC ; AfxGetStringManager
EXTRN ?OnCmdMsg@CCmdTarget@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z:PROC ; CCmdTarget::OnCmdMsg
EXTRN ?OnFinalRelease@CCmdTarget@@UAEXXZ:PROC ; CCmdTarget::OnFinalRelease
EXTRN ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z:PROC ; CCmdTarget::IsInvokeAllowed
EXTRN ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z:PROC ; CCmdTarget::GetDispatchIID
EXTRN ?GetTypeInfoCount@CCmdTarget@@UAEIXZ:PROC ; CCmdTarget::GetTypeInfoCount
EXTRN ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ:PROC ; CCmdTarget::GetTypeLibCache
EXTRN ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z:PROC ; CCmdTarget::GetTypeLib
EXTRN ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ:PROC ; CCmdTarget::GetCommandMap
EXTRN ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ:PROC ; CCmdTarget::GetDispatchMap
EXTRN ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ:PROC ; CCmdTarget::GetConnectionMap
EXTRN ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ:PROC ; CCmdTarget::GetInterfaceMap
EXTRN ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ:PROC ; CCmdTarget::GetEventSinkMap
EXTRN ?OnCreateAggregates@CCmdTarget@@UAEHXZ:PROC ; CCmdTarget::OnCreateAggregates
EXTRN ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z:PROC ; CCmdTarget::GetInterfaceHook
EXTRN ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z:PROC ; CCmdTarget::GetExtraConnectionPoints
EXTRN ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z:PROC ; CCmdTarget::GetConnectionHook
EXTRN ??0CWinThread@@QAE@XZ:PROC ; CWinThread::CWinThread
EXTRN ?Run@CWinThread@@UAEHXZ:PROC ; CWinThread::Run
EXTRN ?PreTranslateMessage@CWinThread@@UAEHPAUtagMSG@@@Z:PROC ; CWinThread::PreTranslateMessage
EXTRN ?PumpMessage@CWinThread@@UAEHXZ:PROC ; CWinThread::PumpMessage
EXTRN ?OnIdle@CWinThread@@UAEHJ@Z:PROC ; CWinThread::OnIdle
EXTRN ?IsIdleMessage@CWinThread@@UAEHPAUtagMSG@@@Z:PROC ; CWinThread::IsIdleMessage
EXTRN ?ExitInstance@CWinThread@@UAEHXZ:PROC ; CWinThread::ExitInstance
EXTRN ?ProcessWndProcException@CWinThread@@UAEJPAVCException@@PBUtagMSG@@@Z:PROC ; CWinThread::ProcessWndProcException
EXTRN ?ProcessMessageFilter@CWinThread@@UAEHHPAUtagMSG@@@Z:PROC ; CWinThread::ProcessMessageFilter
EXTRN ?GetMainWnd@CWinThread@@UAEPAVCWnd@@XZ:PROC ; CWinThread::GetMainWnd
EXTRN ??1CWinThread@@UAE@XZ:PROC ; CWinThread::~CWinThread
EXTRN ?Delete@CWinThread@@UAEXXZ:PROC ; CWinThread::Delete
EXTRN ??0CAdoRecordSet@@QAE@XZ:PROC ; CAdoRecordSet::CAdoRecordSet
EXTRN ??1CAdoRecordSet@@UAE@XZ:PROC ; CAdoRecordSet::~CAdoRecordSet
EXTRN ?IsEOF@CAdoRecordSet@@QAEHXZ:PROC ; CAdoRecordSet::IsEOF
EXTRN ?GetRecordCount@CAdoRecordSet@@QAEJXZ:PROC ; CAdoRecordSet::GetRecordCount
EXTRN ?SetAdoConnection@CAdoRecordSet@@QAEXPAVCAdoConnection@@@Z:PROC ; CAdoRecordSet::SetAdoConnection
EXTRN ?MoveFirst@CAdoRecordSet@@QAEHXZ:PROC ; CAdoRecordSet::MoveFirst
EXTRN ?MoveNext@CAdoRecordSet@@QAEHXZ:PROC ; CAdoRecordSet::MoveNext
EXTRN ?Open@CAdoRecordSet@@QAEHPB_WJW4CursorTypeEnum@ADODB@@W4LockTypeEnum@3@@Z:PROC ; CAdoRecordSet::Open
EXTRN ?Close@CAdoRecordSet@@QAEXXZ:PROC ; CAdoRecordSet::Close
EXTRN ?GetCollect@CAdoRecordSet@@QAEHPB_WAAV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@Z:PROC ; CAdoRecordSet::GetCollect
EXTRN ?GetCollect@CAdoRecordSet@@QAEHPB_WAAJ@Z:PROC ; CAdoRecordSet::GetCollect
EXTRN ?GetCollect@CAdoRecordSet@@QAEHPB_WAAVCOleDateTime@ATL@@@Z:PROC ; CAdoRecordSet::GetCollect
EXTRN ??0CSAStatusLog@@QAE@XZ:PROC ; CSAStatusLog::CSAStatusLog
EXTRN ??1CSAStatusLog@@QAE@XZ:PROC ; CSAStatusLog::~CSAStatusLog
EXTRN ?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z:PROC ; CSAStatusLog::Init
EXTRN ?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z:PROC ; CSAStatusLog::LogError
EXTRN ??0CAdoConnection@@QAE@XZ:PROC ; CAdoConnection::CAdoConnection
EXTRN ??1CAdoConnection@@UAE@XZ:PROC ; CAdoConnection::~CAdoConnection
EXTRN ?ConnectSQLServer2@CAdoConnection@@QAEHV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0000J@Z:PROC ; CAdoConnection::ConnectSQLServer2
EXTRN ?SetCommandTimeout@CAdoConnection@@QAEHJ@Z:PROC ; CAdoConnection::SetCommandTimeout
EXTRN ?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z:PROC ; CDes::Decrypt
EXTRN ??0CDes@@QAE@XZ:PROC ; CDes::CDes
EXTRN ??1CDes@@UAE@XZ:PROC ; CDes::~CDes
EXTRN ?SubmitSms@CSendThread@@SAJAAU_SubmitData@@PAVCAdoRecordSet@@1PAVCSmsCenterDlg@@JJJ@Z:PROC ; CSendThread::SubmitSms
EXTRN ??_ECEmailThread@@UAEPAXI@Z:PROC ; CEmailThread::`vector deleting destructor'
EXTRN ?GetFrom_Min@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ:PROC ; CPop3Message::GetFrom_Min
EXTRN ??0CPop3Message@@QAE@XZ:PROC ; CPop3Message::CPop3Message
EXTRN ??1CPop3Message@@QAE@XZ:PROC ; CPop3Message::~CPop3Message
EXTRN ?GetHeaderItem@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@H@Z:PROC ; CPop3Message::GetHeaderItem
EXTRN ??0CPop3Connection@@QAE@XZ:PROC ; CPop3Connection::CPop3Connection
EXTRN ??1CPop3Connection@@QAE@XZ:PROC ; CPop3Connection::~CPop3Connection
EXTRN ?Connect@CPop3Connection@@QAEHPB_W00H@Z:PROC ; CPop3Connection::Connect
EXTRN ?Disconnect@CPop3Connection@@QAEHXZ:PROC ; CPop3Connection::Disconnect
EXTRN ?Statistics@CPop3Connection@@QAEHAAH0@Z:PROC ; CPop3Connection::Statistics
EXTRN ?GetMessageHeader@CPop3Connection@@QAEHHAAVCPop3Message@@@Z:PROC ; CPop3Connection::GetMessageHeader
EXTRN @__security_check_cookie@4:PROC
EXTRN ___CxxFrameHandler3:PROC
EXTRN __alloca_probe_16:PROC
EXTRN __chkstk:PROC
EXTRN _memset:PROC
EXTRN ??_7type_info@@6B@:QWORD ; type_info::`vftable'
EXTRN ?classCWinThread@CWinThread@@2UCRuntimeClass@@B:BYTE ; CWinThread::classCWinThread
EXTRN ___security_cookie:DWORD
EXTRN __fltused:DWORD
; COMDAT ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA
_BSS SEGMENT
?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA DQ 01H DUP (?) ; `__local_stdio_printf_options'::`2'::_OptionsStorage
_BSS ENDS
; COMDAT __real@c14b964c80000000
CONST SEGMENT
__real@c14b964c80000000 DQ 0c14b964c80000000r ; -3.6159e+06
CONST ENDS
; COMDAT __real@bff0000000000000
CONST SEGMENT
__real@bff0000000000000 DQ 0bff0000000000000r ; -1
CONST ENDS
; COMDAT __real@bed845c8a0ce5129
CONST SEGMENT
__real@bed845c8a0ce5129 DQ 0bed845c8a0ce5129r ; -5.78704e-06
CONST ENDS
; COMDAT __real@414b964c80000000
CONST SEGMENT
__real@414b964c80000000 DQ 0414b964c80000000r ; 3.6159e+06
CONST ENDS
; COMDAT __real@40f5180000000000
CONST SEGMENT
__real@40f5180000000000 DQ 040f5180000000000r ; 86400
CONST ENDS
; COMDAT __real@4096800000000000
CONST SEGMENT
__real@4096800000000000 DQ 04096800000000000r ; 1440
CONST ENDS
; COMDAT __real@4038000000000000
CONST SEGMENT
__real@4038000000000000 DQ 04038000000000000r ; 24
CONST ENDS
; COMDAT ??_R2CWinThread@@8
rdata$r SEGMENT
??_R2CWinThread@@8 DD FLAT:??_R1A@?0A@EA@CWinThread@@8 ; CWinThread::`RTTI Base Class Array'
DD FLAT:??_R1A@?0A@EA@CCmdTarget@@8
DD FLAT:??_R1A@?0A@EA@CObject@@8
rdata$r ENDS
; COMDAT ??_R3CWinThread@@8
rdata$r SEGMENT
??_R3CWinThread@@8 DD 00H ; CWinThread::`RTTI Class Hierarchy Descriptor'
DD 00H
DD 03H
DD FLAT:??_R2CWinThread@@8
rdata$r ENDS
; COMDAT ??_R0?AVCWinThread@@@8
data$rs SEGMENT
??_R0?AVCWinThread@@@8 DD FLAT:??_7type_info@@6B@ ; CWinThread `RTTI Type Descriptor'
DD 00H
DB '.?AVCWinThread@@', 00H
data$rs ENDS
; COMDAT ??_R1A@?0A@EA@CWinThread@@8
rdata$r SEGMENT
??_R1A@?0A@EA@CWinThread@@8 DD FLAT:??_R0?AVCWinThread@@@8 ; CWinThread::`RTTI Base Class Descriptor at (0,-1,0,64)'
DD 02H
DD 00H
DD 0ffffffffH
DD 00H
DD 040H
DD FLAT:??_R3CWinThread@@8
rdata$r ENDS
; COMDAT ??_R1A@?0A@EA@CEmailThread@@8
rdata$r SEGMENT
??_R1A@?0A@EA@CEmailThread@@8 DD FLAT:??_R0?AVCEmailThread@@@8 ; CEmailThread::`RTTI Base Class Descriptor at (0,-1,0,64)'
DD 03H
DD 00H
DD 0ffffffffH
DD 00H
DD 040H
DD FLAT:??_R3CEmailThread@@8
rdata$r ENDS
; COMDAT ??_R2CEmailThread@@8
rdata$r SEGMENT
??_R2CEmailThread@@8 DD FLAT:??_R1A@?0A@EA@CEmailThread@@8 ; CEmailThread::`RTTI Base Class Array'
DD FLAT:??_R1A@?0A@EA@CWinThread@@8
DD FLAT:??_R1A@?0A@EA@CCmdTarget@@8
DD FLAT:??_R1A@?0A@EA@CObject@@8
rdata$r ENDS
; COMDAT ??_R3CEmailThread@@8
rdata$r SEGMENT
??_R3CEmailThread@@8 DD 00H ; CEmailThread::`RTTI Class Hierarchy Descriptor'
DD 00H
DD 04H
DD FLAT:??_R2CEmailThread@@8
rdata$r ENDS
; COMDAT ??_R0?AVCEmailThread@@@8
data$rs SEGMENT
??_R0?AVCEmailThread@@@8 DD FLAT:??_7type_info@@6B@ ; CEmailThread `RTTI Type Descriptor'
DD 00H
DB '.?AVCEmailThread@@', 00H
data$rs ENDS
; COMDAT ??_R4CEmailThread@@6B@
rdata$r SEGMENT
??_R4CEmailThread@@6B@ DD 00H ; CEmailThread::`RTTI Complete Object Locator'
DD 00H
DD 00H
DD FLAT:??_R0?AVCEmailThread@@@8
DD FLAT:??_R3CEmailThread@@8
rdata$r ENDS
; COMDAT ??_C@_1BA@IIDKJHG@?$AAc?$AAo?$AAr?$AAp?$AAs?$AAm?$AAs@
CONST SEGMENT
??_C@_1BA@IIDKJHG@?$AAc?$AAo?$AAr?$AAp?$AAs?$AAm?$AAs@ DB 'c', 00H, 'o', 00H
DB 'r', 00H, 'p', 00H, 's', 00H, 'm', 00H, 's', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_1EA@GCEIMIIP@?$AA?$GA?$PP?$IO?$AA?$CF?$AA0?$AA2?$AAd?$AA?4?$AA?$CF?$AA0?$AA2?$AAd?$AA?5?$AA?$CF?$AA0?$AA2@
CONST SEGMENT
??_C@_1EA@GCEIMIIP@?$AA?$GA?$PP?$IO?$AA?$CF?$AA0?$AA2?$AAd?$AA?4?$AA?$CF?$AA0?$AA2?$AAd?$AA?5?$AA?$CF?$AA0?$AA2@ DB '`'
DB 'O', 08eH, 'N%', 00H, '0', 00H, '2', 00H, 'd', 00H, '.', 00H, '%'
DB 00H, '0', 00H, '2', 00H, 'd', 00H, ' ', 00H, '%', 00H, '0', 00H
DB '2', 00H, 'd', 00H, ':', 00H, '%', 00H, '0', 00H, '2', 00H, 'd'
DB 00H, '6e0R%', 00H, 's', 00H, 084H, 'v', 0aeH, 090H, 0f6H, 'N:', 00H
DB '%', 00H, 's', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_1M@FCIIBLEE@?$AAe?$AAm?$AAa?$AAi?$AAl@
CONST SEGMENT
??_C@_1M@FCIIBLEE@?$AAe?$AAm?$AAa?$AAi?$AAl@ DB 'e', 00H, 'm', 00H, 'a', 00H
DB 'i', 00H, 'l', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_15JCAHOCDC@?$AA?$EA?$AA?7@
CONST SEGMENT
??_C@_15JCAHOCDC@?$AA?$EA?$AA?7@ DB '@b', 09H, 'g', 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_1KC@GLDKPFCI@?$AAi?$AAn?$AAs?$AAe?$AAr?$AAt?$AA?5?$AAi?$AAn?$AAt?$AAo?$AA?5?$AA?5?$AAe?$AAm@
CONST SEGMENT
??_C@_1KC@GLDKPFCI@?$AAi?$AAn?$AAs?$AAe?$AAr?$AAt?$AA?5?$AAi?$AAn?$AAt?$AAo?$AA?5?$AA?5?$AAe?$AAm@ DB 'i'
DB 00H, 'n', 00H, 's', 00H, 'e', 00H, 'r', 00H, 't', 00H, ' ', 00H
DB 'i', 00H, 'n', 00H, 't', 00H, 'o', 00H, ' ', 00H, ' ', 00H, 'e'
DB 00H, 'm', 00H, 'a', 00H, 'i', 00H, 'l', 00H, 'i', 00H, 'd', 00H
DB ' ', 00H, '(', 00H, 'C', 00H, 'o', 00H, 'r', 00H, 'p', 00H, 'I'
DB 00H, 'D', 00H, ',', 00H, 'U', 00H, 's', 00H, 'e', 00H, 'r', 00H
DB 'I', 00H, 'D', 00H, ',', 00H, 'M', 00H, 's', 00H, 'g', 00H, 'I'
DB 00H, 'D', 00H, ',', 00H, 'A', 00H, 'd', 00H, 'd', 00H, 'T', 00H
DB 'i', 00H, 'm', 00H, 'e', 00H, ')', 00H, ' ', 00H, 'v', 00H, 'a'
DB 00H, 'l', 00H, 'u', 00H, 'e', 00H, 's', 00H, ' ', 00H, '(', 00H
DB '%', 00H, 'd', 00H, ',', 00H, '%', 00H, 'd', 00H, ',', 00H, ''''
DB 00H, '%', 00H, 's', 00H, '''', 00H, ',', 00H, 'G', 00H, 'E', 00H
DB 'T', 00H, 'D', 00H, 'A', 00H, 'T', 00H, 'E', 00H, '(', 00H, ')'
DB 00H, ')', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_1GK@CGOIPJPF@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AA?$CK?$AA?5?$AAf?$AAr?$AAo?$AAm?$AA?5?$AAe@
CONST SEGMENT
??_C@_1GK@CGOIPJPF@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AA?$CK?$AA?5?$AAf?$AAr?$AAo?$AAm?$AA?5?$AAe@ DB 's'
DB 00H, 'e', 00H, 'l', 00H, 'e', 00H, 'c', 00H, 't', 00H, ' ', 00H
DB '*', 00H, ' ', 00H, 'f', 00H, 'r', 00H, 'o', 00H, 'm', 00H, ' '
DB 00H, 'e', 00H, 'm', 00H, 'a', 00H, 'i', 00H, 'l', 00H, 'i', 00H
DB 'd', 00H, ' ', 00H, 'w', 00H, 'h', 00H, 'e', 00H, 'r', 00H, 'e'
DB 00H, ' ', 00H, 'U', 00H, 's', 00H, 'e', 00H, 'r', 00H, 'I', 00H
DB 'D', 00H, '=', 00H, '%', 00H, 'd', 00H, ' ', 00H, 'a', 00H, 'n'
DB 00H, 'd', 00H, ' ', 00H, 'M', 00H, 's', 00H, 'g', 00H, 'I', 00H
DB 'D', 00H, '=', 00H, '''', 00H, '%', 00H, 's', 00H, '''', 00H, 00H
DB 00H ; `string'
CONST ENDS
; COMDAT ??_C@_13ODFOLHGE@?$AA?8@
CONST SEGMENT
??_C@_13ODFOLHGE@?$AA?8@ DB '''', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_15GJHBPMFF@?$AA?8?$AA?8@
CONST SEGMENT
??_C@_15GJHBPMFF@?$AA?8?$AA?8@ DB '''', 00H, '''', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_15HBAONMEK@?$AA?$CL?$AA?9@
CONST SEGMENT
??_C@_15HBAONMEK@?$AA?$CL?$AA?9@ DB '+', 00H, '-', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_17EOCMGKCF@?$AAG?$AAM?$AAT@
CONST SEGMENT
??_C@_17EOCMGKCF@?$AAG?$AAM?$AAT@ DB 'G', 00H, 'M', 00H, 'T', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_19DINFBLAK@?$AAN?$AAa?$AAm?$AAe@
CONST SEGMENT
??_C@_19DINFBLAK@?$AAN?$AAa?$AAm?$AAe@ DB 'N', 00H, 'a', 00H, 'm', 00H, 'e'
DB 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_1MM@HLJMBDM@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AA?$CK?$AA?5?$AAf?$AAr?$AAo?$AAm?$AA?5?$AAe@
CONST SEGMENT
??_C@_1MM@HLJMBDM@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AA?$CK?$AA?5?$AAf?$AAr?$AAo?$AAm?$AA?5?$AAe@ DB 's'
DB 00H, 'e', 00H, 'l', 00H, 'e', 00H, 'c', 00H, 't', 00H, ' ', 00H
DB '*', 00H, ' ', 00H, 'f', 00H, 'r', 00H, 'o', 00H, 'm', 00H, ' '
DB 00H, 'e', 00H, 'm', 00H, 'a', 00H, 'i', 00H, 'l', 00H, 'f', 00H
DB 'i', 00H, 'l', 00H, 't', 00H, ' ', 00H, 'w', 00H, 'h', 00H, 'e'
DB 00H, 'r', 00H, 'e', 00H, ' ', 00H, 'U', 00H, 's', 00H, 'e', 00H
DB 'r', 00H, 'I', 00H, 'D', 00H, '=', 00H, '%', 00H, 'd', 00H, ' '
DB 00H, 'a', 00H, 'n', 00H, 'd', 00H, ' ', 00H, 'S', 00H, 't', 00H
DB 'a', 00H, 't', 00H, 'u', 00H, 's', 00H, '=', 00H, '1', 00H, ' '
DB 00H, 'a', 00H, 'n', 00H, 'd', 00H, ' ', 00H, '(', 00H, 'E', 00H
DB 'm', 00H, 'a', 00H, 'i', 00H, 'l', 00H, 'I', 00H, 'D', 00H, '='
DB 00H, '0', 00H, ' ', 00H, 'o', 00H, 'r', 00H, ' ', 00H, 'E', 00H
DB 'm', 00H, 'a', 00H, 'i', 00H, 'l', 00H, 'I', 00H, 'D', 00H, ' '
DB 00H, 'i', 00H, 's', 00H, ' ', 00H, 'N', 00H, 'U', 00H, 'L', 00H
DB 'L', 00H, ' ', 00H, 'o', 00H, 'r', 00H, ' ', 00H, 'E', 00H, 'm'
DB 00H, 'a', 00H, 'i', 00H, 'l', 00H, 'I', 00H, 'D', 00H, '=', 00H
DB '%', 00H, 'd', 00H, ')', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_1GM@FLPJKBLA@?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?5?$AAe?$AAm?$AAa?$AAi?$AAl?$AA?5?$AAs?$AAe@
CONST SEGMENT
??_C@_1GM@FLPJKBLA@?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?5?$AAe?$AAm?$AAa?$AAi?$AAl?$AA?5?$AAs?$AAe@ DB 'u'
DB 00H, 'p', 00H, 'd', 00H, 'a', 00H, 't', 00H, 'e', 00H, ' ', 00H
DB 'e', 00H, 'm', 00H, 'a', 00H, 'i', 00H, 'l', 00H, ' ', 00H, 's'
DB 00H, 'e', 00H, 't', 00H, ' ', 00H, 'C', 00H, 'h', 00H, 'e', 00H
DB 'c', 00H, 'k', 00H, 'L', 00H, 'a', 00H, 's', 00H, 't', 00H, '='
DB 00H, 'G', 00H, 'E', 00H, 'T', 00H, 'D', 00H, 'A', 00H, 'T', 00H
DB 'E', 00H, '(', 00H, ')', 00H, ' ', 00H, 'w', 00H, 'h', 00H, 'e'
DB 00H, 'r', 00H, 'e', 00H, ' ', 00H, 'E', 00H, 'm', 00H, 'a', 00H
DB 'i', 00H, 'l', 00H, 'I', 00H, 'D', 00H, '=', 00H, '%', 00H, 'd'
DB 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0DA@OPOBKPBA@D?3?2Works?2Corpsms_2010?2SmsCenter@
CONST SEGMENT
??_C@_0DA@OPOBKPBA@D?3?2Works?2Corpsms_2010?2SmsCenter@ DB 'D:\Works\Corp'
DB 'sms_2010\SmsCenter\EmailThread.cpp', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_08DLMCGABB@On_Email@
CONST SEGMENT
??_C@_08DLMCGABB@On_Email@ DB 'On_Email', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_1BE@IBKJNCDI@?$AAC?$AAh?$AAe?$AAc?$AAk?$AAL?$AAa?$AAs?$AAt@
CONST SEGMENT
??_C@_1BE@IBKJNCDI@?$AAC?$AAh?$AAe?$AAc?$AAk?$AAL?$AAa?$AAs?$AAt@ DB 'C', 00H
DB 'h', 00H, 'e', 00H, 'c', 00H, 'k', 00H, 'L', 00H, 'a', 00H, 's'
DB 00H, 't', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_1BE@LHEMFLIA@?$AAC?$AAh?$AAe?$AAc?$AAk?$AAT?$AAi?$AAm?$AAe@
CONST SEGMENT
??_C@_1BE@LHEMFLIA@?$AAC?$AAh?$AAe?$AAc?$AAk?$AAT?$AAi?$AAm?$AAe@ DB 'C', 00H
DB 'h', 00H, 'e', 00H, 'c', 00H, 'k', 00H, 'T', 00H, 'i', 00H, 'm'
DB 00H, 'e', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_1O@OLLJFFCG@?$AAM?$AAo?$AAb?$AAi?$AAl?$AAe@
CONST SEGMENT
??_C@_1O@OLLJFFCG@?$AAM?$AAo?$AAb?$AAi?$AAl?$AAe@ DB 'M', 00H, 'o', 00H, 'b'
DB 00H, 'i', 00H, 'l', 00H, 'e', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_1O@CHHKJIAH@?$AAP?$AAa?$AAs?$AAs?$AAw?$AAd@
CONST SEGMENT
??_C@_1O@CHHKJIAH@?$AAP?$AAa?$AAs?$AAs?$AAw?$AAd@ DB 'P', 00H, 'a', 00H, 's'
DB 00H, 's', 00H, 'w', 00H, 'd', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_1BC@PKDBAIGK@?$AAU?$AAs?$AAe?$AAr?$AAN?$AAa?$AAm?$AAe@
CONST SEGMENT
??_C@_1BC@PKDBAIGK@?$AAU?$AAs?$AAe?$AAr?$AAN?$AAa?$AAm?$AAe@ DB 'U', 00H, 's'
DB 00H, 'e', 00H, 'r', 00H, 'N', 00H, 'a', 00H, 'm', 00H, 'e', 00H
DB 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_15KNGHAKFK@?$AAI?$AAP@
CONST SEGMENT
??_C@_15KNGHAKFK@?$AAI?$AAP@ DB 'I', 00H, 'P', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_1O@DLKCLNNL@?$AAU?$AAs?$AAe?$AAr?$AAI?$AAD@
CONST SEGMENT
??_C@_1O@DLKCLNNL@?$AAU?$AAs?$AAe?$AAr?$AAI?$AAD@ DB 'U', 00H, 's', 00H, 'e'
DB 00H, 'r', 00H, 'I', 00H, 'D', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_1O@CLJHPHJA@?$AAC?$AAo?$AAr?$AAp?$AAI?$AAD@
CONST SEGMENT
??_C@_1O@CLJHPHJA@?$AAC?$AAo?$AAr?$AAp?$AAI?$AAD@ DB 'C', 00H, 'o', 00H, 'r'
DB 00H, 'p', 00H, 'I', 00H, 'D', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_1BA@FJCEEOND@?$AAE?$AAm?$AAa?$AAi?$AAl?$AAI?$AAD@
CONST SEGMENT
??_C@_1BA@FJCEEOND@?$AAE?$AAm?$AAa?$AAi?$AAl?$AAI?$AAD@ DB 'E', 00H, 'm', 00H
DB 'a', 00H, 'i', 00H, 'l', 00H, 'I', 00H, 'D', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_1ME@MEGNKACB@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AAe?$AAm?$AAa?$AAi?$AAl?$AA?4?$AA?$CK?$AA?0@
CONST SEGMENT
??_C@_1ME@MEGNKACB@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AAe?$AAm?$AAa?$AAi?$AAl?$AA?4?$AA?$CK?$AA?0@ DB 's'
DB 00H, 'e', 00H, 'l', 00H, 'e', 00H, 'c', 00H, 't', 00H, ' ', 00H
DB 'e', 00H, 'm', 00H, 'a', 00H, 'i', 00H, 'l', 00H, '.', 00H, '*'
DB 00H, ',', 00H, 'u', 00H, 's', 00H, 'e', 00H, 'r', 00H, 's', 00H
DB '.', 00H, 'm', 00H, 'o', 00H, 'b', 00H, 'i', 00H, 'l', 00H, 'e'
DB 00H, ' ', 00H, 'f', 00H, 'r', 00H, 'o', 00H, 'm', 00H, ' ', 00H
DB 'e', 00H, 'm', 00H, 'a', 00H, 'i', 00H, 'l', 00H, ',', 00H, 'u'
DB 00H, 's', 00H, 'e', 00H, 'r', 00H, 's', 00H, ' ', 00H, 'w', 00H
DB 'h', 00H, 'e', 00H, 'r', 00H, 'e', 00H, ' ', 00H, 'e', 00H, 'm'
DB 00H, 'a', 00H, 'i', 00H, 'l', 00H, '.', 00H, 'S', 00H, 't', 00H
DB 'a', 00H, 't', 00H, 'u', 00H, 's', 00H, '=', 00H, '1', 00H, ' '
DB 00H, 'a', 00H, 'n', 00H, 'd', 00H, ' ', 00H, 'e', 00H, 'm', 00H
DB 'a', 00H, 'i', 00H, 'l', 00H, '.', 00H, 'u', 00H, 's', 00H, 'e'
DB 00H, 'r', 00H, 'i', 00H, 'd', 00H, ' ', 00H, '=', 00H, ' ', 00H
DB 'u', 00H, 's', 00H, 'e', 00H, 'r', 00H, 's', 00H, '.', 00H, 'u'
DB 00H, 's', 00H, 'e', 00H, 'r', 00H, 'i', 00H, 'd', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ?__LINE__Var@?0??On_Email@CEmailThread@@QAEXIJ@Z@4JA
_DATA SEGMENT
?__LINE__Var@?0??On_Email@CEmailThread@@QAEXIJ@Z@4JA DD 040H ; `CEmailThread::On_Email'::`1'::__LINE__Var
_DATA ENDS
; COMDAT ??_C@_0N@HOLOEJDL@CEmailThread@
CONST SEGMENT
??_C@_0N@HOLOEJDL@CEmailThread@ DB 'CEmailThread', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_1BG@JKBIBFHO@?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?9?$AAI?$AAD@
CONST SEGMENT
??_C@_1BG@JKBIBFHO@?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?9?$AAI?$AAD@ DB 'M'
DB 00H, 'e', 00H, 's', 00H, 's', 00H, 'a', 00H, 'g', 00H, 'e', 00H
DB '-', 00H, 'I', 00H, 'D', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_19LCONIJA@?$AAD?$AAa?$AAt?$AAe@
CONST SEGMENT
??_C@_19LCONIJA@?$AAD?$AAa?$AAt?$AAe@ DB 'D', 00H, 'a', 00H, 't', 00H, 'e'
DB 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_19FBEKOENC@?$AAF?$AAr?$AAo?$AAm@
CONST SEGMENT
??_C@_19FBEKOENC@?$AAF?$AAr?$AAo?$AAm@ DB 'F', 00H, 'r', 00H, 'o', 00H, 'm'
DB 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_1BA@GMIDJHNK@?$AAS?$AAu?$AAb?$AAj?$AAe?$AAc?$AAt@
CONST SEGMENT
??_C@_1BA@GMIDJHNK@?$AAS?$AAu?$AAb?$AAj?$AAe?$AAc?$AAt@ DB 'S', 00H, 'u', 00H
DB 'b', 00H, 'j', 00H, 'e', 00H, 'c', 00H, 't', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_7CEmailThread@@6B@
CONST SEGMENT
??_7CEmailThread@@6B@ DD FLAT:??_R4CEmailThread@@6B@ ; CEmailThread::`vftable'
DD FLAT:?GetRuntimeClass@CEmailThread@@UBEPAUCRuntimeClass@@XZ
DD FLAT:??_ECEmailThread@@UAEPAXI@Z
DD FLAT:?Serialize@CObject@@UAEXAAVCArchive@@@Z
DD FLAT:?OnCmdMsg@CCmdTarget@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z
DD FLAT:?OnFinalRelease@CCmdTarget@@UAEXXZ
DD FLAT:?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z
DD FLAT:?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z
DD FLAT:?GetTypeInfoCount@CCmdTarget@@UAEIXZ
DD FLAT:?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ
DD FLAT:?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z
DD FLAT:?GetMessageMap@CEmailThread@@MBEPBUAFX_MSGMAP@@XZ
DD FLAT:?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ
DD FLAT:?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ
DD FLAT:?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ
DD FLAT:?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ
DD FLAT:?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ
DD FLAT:?OnCreateAggregates@CCmdTarget@@UAEHXZ
DD FLAT:?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z
DD FLAT:?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z
DD FLAT:?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z
DD FLAT:?InitInstance@CEmailThread@@UAEHXZ
DD FLAT:?Run@CWinThread@@UAEHXZ
DD FLAT:?PreTranslateMessage@CWinThread@@UAEHPAUtagMSG@@@Z
DD FLAT:?PumpMessage@CWinThread@@UAEHXZ
DD FLAT:?OnIdle@CWinThread@@UAEHJ@Z
DD FLAT:?IsIdleMessage@CWinThread@@UAEHPAUtagMSG@@@Z
DD FLAT:?ExitInstance@CEmailThread@@UAEHXZ
DD FLAT:?ProcessWndProcException@CWinThread@@UAEJPAVCException@@PBUtagMSG@@@Z
DD FLAT:?ProcessMessageFilter@CWinThread@@UAEHHPAUtagMSG@@@Z
DD FLAT:?GetMainWnd@CWinThread@@UAEPAVCWnd@@XZ
DD FLAT:?Delete@CWinThread@@UAEXXZ
CONST ENDS
; COMDAT ?classCEmailThread@CEmailThread@@2UCRuntimeClass@@B
CONST SEGMENT
?classCEmailThread@CEmailThread@@2UCRuntimeClass@@B DD FLAT:??_C@_0N@HOLOEJDL@CEmailThread@ ; CEmailThread::classCEmailThread
DD 0118H
DD 0ffffH
DD FLAT:?CreateObject@CEmailThread@@SGPAVCObject@@XZ
DD FLAT:?classCWinThread@CWinThread@@2UCRuntimeClass@@B
DD 00H
DD 00H
CONST ENDS
; COMDAT ??_R2CCmdTarget@@8
rdata$r SEGMENT
??_R2CCmdTarget@@8 DD FLAT:??_R1A@?0A@EA@CCmdTarget@@8 ; CCmdTarget::`RTTI Base Class Array'
DD FLAT:??_R1A@?0A@EA@CObject@@8
rdata$r ENDS
; COMDAT ??_R3CCmdTarget@@8
rdata$r SEGMENT
??_R3CCmdTarget@@8 DD 00H ; CCmdTarget::`RTTI Class Hierarchy Descriptor'
DD 00H
DD 02H
DD FLAT:??_R2CCmdTarget@@8
rdata$r ENDS
; COMDAT ??_R0?AVCCmdTarget@@@8
data$rs SEGMENT
??_R0?AVCCmdTarget@@@8 DD FLAT:??_7type_info@@6B@ ; CCmdTarget `RTTI Type Descriptor'
DD 00H
DB '.?AVCCmdTarget@@', 00H
data$rs ENDS
; COMDAT ??_R1A@?0A@EA@CCmdTarget@@8
rdata$r SEGMENT
??_R1A@?0A@EA@CCmdTarget@@8 DD FLAT:??_R0?AVCCmdTarget@@@8 ; CCmdTarget::`RTTI Base Class Descriptor at (0,-1,0,64)'
DD 01H
DD 00H
DD 0ffffffffH
DD 00H
DD 040H
DD FLAT:??_R3CCmdTarget@@8
rdata$r ENDS
; COMDAT ??_R1A@?0A@EA@CObject@@8
rdata$r SEGMENT
??_R1A@?0A@EA@CObject@@8 DD FLAT:??_R0?AVCObject@@@8 ; CObject::`RTTI Base Class Descriptor at (0,-1,0,64)'
DD 00H
DD 00H
DD 0ffffffffH
DD 00H
DD 040H
DD FLAT:??_R3CObject@@8
rdata$r ENDS
; COMDAT ??_R2CObject@@8
rdata$r SEGMENT
??_R2CObject@@8 DD FLAT:??_R1A@?0A@EA@CObject@@8 ; CObject::`RTTI Base Class Array'
rdata$r ENDS
; COMDAT ??_R3CObject@@8
rdata$r SEGMENT
??_R3CObject@@8 DD 00H ; CObject::`RTTI Class Hierarchy Descriptor'
DD 00H
DD 01H
DD FLAT:??_R2CObject@@8
rdata$r ENDS
; COMDAT ??_R0?AVCObject@@@8
data$rs SEGMENT
??_R0?AVCObject@@@8 DD FLAT:??_7type_info@@6B@ ; CObject `RTTI Type Descriptor'
DD 00H
DB '.?AVCObject@@', 00H
data$rs ENDS
; COMDAT ??_C@_13JKNELIBG@?$AAT@
CONST SEGMENT
??_C@_13JKNELIBG@?$AAT@ DB 'T', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@
CONST SEGMENT
??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@ DB 'L', 00H, 'o', 00H, 'g', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_1BC@HEKPCAFP@?$AAA?$AAp?$AAp?$AAE?$AAr?$AAr?$AAo?$AAr@
CONST SEGMENT
??_C@_1BC@HEKPCAFP@?$AAA?$AAp?$AAp?$AAE?$AAr?$AAr?$AAo?$AAr@ DB 'A', 00H, 'p'
DB 00H, 'p', 00H, 'E', 00H, 'r', 00H, 'r', 00H, 'o', 00H, 'r', 00H
DB 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_11LOCGONAA@@
CONST SEGMENT
??_C@_11LOCGONAA@@ DB 00H, 00H ; `string'
CONST ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 02fH
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$?GetMsgID@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$?GetMsgID@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ$1
DD 00H
DD FLAT:__unwindfunclet$?GetMsgID@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ$0
__ehfuncinfo$?GetMsgID@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ DD 019930522H
DD 02H
DD FLAT:__unwindtable$?GetMsgID@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 00H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 02fH
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$?GetDate@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$?GetDate@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ$1
DD 00H
DD FLAT:__unwindfunclet$?GetDate@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ$0
__ehfuncinfo$?GetDate@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ DD 019930522H
DD 02H
DD FLAT:__unwindtable$?GetDate@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 00H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 02fH
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$?GetFrom@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$?GetFrom@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ$1
DD 00H
DD FLAT:__unwindfunclet$?GetFrom@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ$0
__ehfuncinfo$?GetFrom@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ DD 019930522H
DD 02H
DD FLAT:__unwindtable$?GetFrom@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 00H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 02fH
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$?GetSubject@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$?GetSubject@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ$1
DD 00H
DD FLAT:__unwindfunclet$?GetSubject@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ$0
__ehfuncinfo$?GetSubject@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ DD 019930522H
DD 02H
DD FLAT:__unwindtable$?GetSubject@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 00H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 0e3H
DB 0f0H
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 023H
DW 010f7H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__catchsym$?On_Email@CEmailThread@@QAEXIJ@Z$26 DD 00H
DD 00H
DD 00H
DD FLAT:__catch$?On_Email@CEmailThread@@QAEXIJ@Z$2
__catchsym$?On_Email@CEmailThread@@QAEXIJ@Z$25 DD 00H
DD 00H
DD 00H
DD FLAT:__catch$?On_Email@CEmailThread@@QAEXIJ@Z$0
__ehfuncinfo$?On_Email@CEmailThread@@QAEXIJ@Z DD 019930522H
DD 019H
DD FLAT:__unwindtable$?On_Email@CEmailThread@@QAEXIJ@Z
DD 02H
DD FLAT:__tryblocktable$?On_Email@CEmailThread@@QAEXIJ@Z
DD 2 DUP(00H)
DD 00H
DD 00H
__tryblocktable$?On_Email@CEmailThread@@QAEXIJ@Z DD 07H
DD 07H
DD 0bH
DD 01H
DD FLAT:__catchsym$?On_Email@CEmailThread@@QAEXIJ@Z$25
DD 00H
DD 014H
DD 018H
DD 01H
DD FLAT:__catchsym$?On_Email@CEmailThread@@QAEXIJ@Z$26
__unwindtable$?On_Email@CEmailThread@@QAEXIJ@Z DD 0ffffffffH
DD 00H
DD 00H
DD FLAT:__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$4
DD 01H
DD FLAT:__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$5
DD 02H
DD FLAT:__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$6
DD 03H
DD FLAT:__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$7
DD 04H
DD FLAT:__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$8
DD 05H
DD FLAT:__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$9
DD 06H
DD 00H
DD 06H
DD 00H
DD 08H
DD FLAT:__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$10
DD 09H
DD FLAT:__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$11
DD 0aH
DD FLAT:__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$12
DD 06H
DD FLAT:__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$13
DD 0cH
DD FLAT:__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$14
DD 0dH
DD FLAT:__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$15
DD 0eH
DD FLAT:__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$16
DD 0fH
DD FLAT:__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$17
DD 010H
DD FLAT:__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$18
DD 011H
DD FLAT:__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$19
DD 012H
DD FLAT:__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$20
DD 013H
DD FLAT:__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$21
DD 0ffffffffH
DD 00H
DD 015H
DD FLAT:__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$22
DD 016H
DD FLAT:__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$23
DD 017H
DD FLAT:__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$24
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 048H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$??1CEmailThread@@UAE@XZ DD 019930522H
DD 05H
DD FLAT:__unwindtable$??1CEmailThread@@UAE@XZ
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
__unwindtable$??1CEmailThread@@UAE@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$??1CEmailThread@@UAE@XZ$0
DD 00H
DD FLAT:__unwindfunclet$??1CEmailThread@@UAE@XZ$1
DD 01H
DD FLAT:__unwindfunclet$??1CEmailThread@@UAE@XZ$2
DD 02H
DD FLAT:__unwindfunclet$??1CEmailThread@@UAE@XZ$3
DD 03H
DD FLAT:__unwindfunclet$??1CEmailThread@@UAE@XZ$4
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 036H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?SetParam@CEmailThread@@QAEHPAVCSmsCenterDlg@@@Z DD 019930522H
DD 05H
DD FLAT:__unwindtable$?SetParam@CEmailThread@@QAEHPAVCSmsCenterDlg@@@Z
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 00H
__unwindtable$?SetParam@CEmailThread@@QAEHPAVCSmsCenterDlg@@@Z DD 0ffffffffH
DD FLAT:__unwindfunclet$?SetParam@CEmailThread@@QAEHPAVCSmsCenterDlg@@@Z$0
DD 00H
DD FLAT:__unwindfunclet$?SetParam@CEmailThread@@QAEHPAVCSmsCenterDlg@@@Z$1
DD 01H
DD FLAT:__unwindfunclet$?SetParam@CEmailThread@@QAEHPAVCSmsCenterDlg@@@Z$2
DD 02H
DD FLAT:__unwindfunclet$?SetParam@CEmailThread@@QAEHPAVCSmsCenterDlg@@@Z$3
DD 03H
DD FLAT:__unwindfunclet$?SetParam@CEmailThread@@QAEHPAVCSmsCenterDlg@@@Z$4
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 048H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$??0CEmailThread@@QAE@XZ DD 019930522H
DD 05H
DD FLAT:__unwindtable$??0CEmailThread@@QAE@XZ
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 00H
__unwindtable$??0CEmailThread@@QAE@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$??0CEmailThread@@QAE@XZ$0
DD 00H
DD FLAT:__unwindfunclet$??0CEmailThread@@QAE@XZ$1
DD 01H
DD FLAT:__unwindfunclet$??0CEmailThread@@QAE@XZ$2
DD 02H
DD FLAT:__unwindfunclet$??0CEmailThread@@QAE@XZ$3
DD 03H
DD FLAT:__unwindfunclet$??0CEmailThread@@QAE@XZ$4
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 018H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$?CreateObject@CEmailThread@@SGPAVCObject@@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$?CreateObject@CEmailThread@@SGPAVCObject@@XZ$0
__ehfuncinfo$?CreateObject@CEmailThread@@SGPAVCObject@@XZ DD 019930522H
DD 01H
DD FLAT:__unwindtable$?CreateObject@CEmailThread@@SGPAVCObject@@XZ
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 00H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?DoubleFromDate@COleDateTime@ATL@@KGNN@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 016H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$?ParseDateTime@COleDateTime@ATL@@QAE_NPB_WKK@Z DD 0ffffffffH
DD FLAT:__unwindfunclet$?ParseDateTime@COleDateTime@ATL@@QAE_NPB_WKK@Z$0
__ehfuncinfo$?ParseDateTime@COleDateTime@ATL@@QAE_NPB_WKK@Z DD 019930522H
DD 01H
DD FLAT:__unwindtable$?ParseDateTime@COleDateTime@ATL@@QAE_NPB_WKK@Z
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
DB 013H
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 01bH
DB 08dH
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$??4COleDateTime@ATL@@QAEAAV01@AB_J@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 0dH
DB 04dH
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 0dH
DB 04dH
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 0dH
DB 04dH
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?GetAsSystemTime@COleDateTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?GetTickCount@COleDateTime@ATL@@SG?AV12@XZ DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?SetDateTimeSpan@COleDateTimeSpan@ATL@@QAEXJHHH@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$??0COleDateTimeSpan@ATL@@QAE@N@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
DB 013H
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 01bH
DB 0c7H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?GetAsSystemTime@CTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 0dH
DB 084H
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 016H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z DD 0ffffffffH
DD FLAT:__unwindfunclet$?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z$0
__ehfuncinfo$?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z DD 019930522H
DD 01H
DD FLAT:__unwindtable$?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 00H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 027H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z DD 0ffffffffH
DD FLAT:__unwindfunclet$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z$0
__ehfuncinfo$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z DD 019930522H
DD 01H
DD FLAT:__unwindtable$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 00H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 016H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ$0
__ehfuncinfo$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ DD 019930522H
DD 01H
DD FLAT:__unwindtable$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 016H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z DD 0ffffffffH
DD FLAT:__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z$0
__ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z DD 019930522H
DD 01H
DD FLAT:__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 00H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 016H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z DD 0ffffffffH
DD FLAT:__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z$0
__ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z DD 019930522H
DD 01H
DD FLAT:__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 00H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 016H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z DD 0ffffffffH
DD FLAT:__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z$0
__ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z DD 019930522H
DD 01H
DD FLAT:__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 00H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 016H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z DD 0ffffffffH
DD FLAT:__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z$0
__ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z DD 019930522H
DD 01H
DD FLAT:__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 00H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 016H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ$0
__ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ DD 019930522H
DD 01H
DD FLAT:__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?StringUppercase@?$ChTraitsCRT@_W@ATL@@SAPA_WPA_WI@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?StringScanSet@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?StringFindChar@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?IsSpace@?$ChTraitsCRT@_W@ATL@@SAH_W@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 0dH
DW 011cH
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?AtlW2AHelper@@YGPADPADPB_WHI@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?AtlA2WHelper@@YGPA_WPA_WPBDHI@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?Free@CCRTAllocator@ATL@@SAXPAX@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlalloc.h
; COMDAT ??$AtlAddThrow@H@ATL@@YAHHH@Z
_TEXT SEGMENT
_hr$ = -8 ; size = 4
_tResult$ = -4 ; size = 4
_tLeft$ = 8 ; size = 4
_tRight$ = 12 ; size = 4
??$AtlAddThrow@H@ATL@@YAHHH@Z PROC ; ATL::AtlAddThrow<int>, COMDAT
; 194 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 195 : T tResult;
; 196 : HRESULT hr=AtlAdd(&tResult, tLeft, tRight);
00009 8b 45 0c mov eax, DWORD PTR _tRight$[ebp]
0000c 50 push eax
0000d 8b 4d 08 mov ecx, DWORD PTR _tLeft$[ebp]
00010 51 push ecx
00011 8d 55 fc lea edx, DWORD PTR _tResult$[ebp]
00014 52 push edx
00015 e8 00 00 00 00 call ??$AtlAdd@H@ATL@@YAJPAHHH@Z ; ATL::AtlAdd<int>
0001a 83 c4 0c add esp, 12 ; 0000000cH
0001d 89 45 f8 mov DWORD PTR _hr$[ebp], eax
; 197 : if(FAILED(hr))
00020 83 7d f8 00 cmp DWORD PTR _hr$[ebp], 0
00024 7d 09 jge SHORT $LN2@AtlAddThro
; 198 : {
; 199 : AtlThrow(hr);
00026 8b 45 f8 mov eax, DWORD PTR _hr$[ebp]
00029 50 push eax
0002a e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN2@AtlAddThro:
; 200 : }
; 201 : return tResult;
0002f 8b 45 fc mov eax, DWORD PTR _tResult$[ebp]
$LN3@AtlAddThro:
; 202 : }
00032 5f pop edi
00033 5e pop esi
00034 5b pop ebx
00035 8b e5 mov esp, ebp
00037 5d pop ebp
00038 c3 ret 0
??$AtlAddThrow@H@ATL@@YAHHH@Z ENDP ; ATL::AtlAddThrow<int>
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\pop3\pop3.h
; COMDAT ?GetMsgID@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ
_TEXT SEGMENT
$T2 = -88 ; size = 4
$T3 = -84 ; size = 4
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
___$ReturnUdt$ = 8 ; size = 4
?GetMsgID@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ PROC ; CPop3Message::GetMsgID, COMDAT
; _this$ = ecx
; 59 : CString GetMsgID() const { return GetHeaderItem(_T("Message-ID")); }
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?GetMsgID@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 4c sub esp, 76 ; 0000004cH
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
0002b c7 45 a8 00 00
00 00 mov DWORD PTR $T2[ebp], 0
00032 68 00 00 00 00 push OFFSET ??_C@_1BG@JKBIBFHO@?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?9?$AAI?$AAD@
00037 8d 4d ac lea ecx, DWORD PTR $T3[ebp]
0003a e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
0003f c7 45 fc 01 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 1
00046 6a 00 push 0
00048 8d 45 ac lea eax, DWORD PTR $T3[ebp]
0004b 50 push eax
0004c 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
0004f 51 push ecx
00050 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00053 e8 00 00 00 00 call ?GetHeaderItem@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@H@Z ; CPop3Message::GetHeaderItem
00058 8b 55 a8 mov edx, DWORD PTR $T2[ebp]
0005b 83 ca 01 or edx, 1
0005e 89 55 a8 mov DWORD PTR $T2[ebp], edx
00061 c6 45 fc 00 mov BYTE PTR __$EHRec$[ebp+8], 0
00065 8d 4d ac lea ecx, DWORD PTR $T3[ebp]
00068 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
0006d 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp]
00070 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00073 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0007a 59 pop ecx
0007b 5f pop edi
0007c 5e pop esi
0007d 5b pop ebx
0007e 8b e5 mov esp, ebp
00080 5d pop ebp
00081 c2 04 00 ret 4
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$?GetMsgID@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ$0:
00000 8d 4d ac lea ecx, DWORD PTR $T3[ebp]
00003 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?GetMsgID@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ$1:
00008 8b 45 a8 mov eax, DWORD PTR $T2[ebp]
0000b 83 e0 01 and eax, 1
0000e 0f 84 0c 00 00
00 je $LN5@GetMsgID
00014 83 65 a8 fe and DWORD PTR $T2[ebp], -2 ; fffffffeH
00018 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
0001b e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
$LN5@GetMsgID:
00020 c3 ret 0
00021 cc int 3
00022 cc int 3
00023 cc int 3
00024 cc int 3
00025 cc int 3
__ehhandler$?GetMsgID@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ:
00026 90 npad 1
00027 90 npad 1
00028 8b 54 24 08 mov edx, DWORD PTR [esp+8]
0002c 8d 42 0c lea eax, DWORD PTR [edx+12]
0002f 8b 4a a4 mov ecx, DWORD PTR [edx-92]
00032 33 c8 xor ecx, eax
00034 e8 00 00 00 00 call @__security_check_cookie@4
00039 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?GetMsgID@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ
0003e e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?GetMsgID@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ ENDP ; CPop3Message::GetMsgID
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\pop3\pop3.h
; COMDAT ?GetDate@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ
_TEXT SEGMENT
$T2 = -88 ; size = 4
$T3 = -84 ; size = 4
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
___$ReturnUdt$ = 8 ; size = 4
?GetDate@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ PROC ; CPop3Message::GetDate, COMDAT
; _this$ = ecx
; 56 : CString GetDate() const { return GetHeaderItem(_T("Date")); }
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?GetDate@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 4c sub esp, 76 ; 0000004cH
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
0002b c7 45 a8 00 00
00 00 mov DWORD PTR $T2[ebp], 0
00032 68 00 00 00 00 push OFFSET ??_C@_19LCONIJA@?$AAD?$AAa?$AAt?$AAe@
00037 8d 4d ac lea ecx, DWORD PTR $T3[ebp]
0003a e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
0003f c7 45 fc 01 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 1
00046 6a 00 push 0
00048 8d 45 ac lea eax, DWORD PTR $T3[ebp]
0004b 50 push eax
0004c 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
0004f 51 push ecx
00050 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00053 e8 00 00 00 00 call ?GetHeaderItem@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@H@Z ; CPop3Message::GetHeaderItem
00058 8b 55 a8 mov edx, DWORD PTR $T2[ebp]
0005b 83 ca 01 or edx, 1
0005e 89 55 a8 mov DWORD PTR $T2[ebp], edx
00061 c6 45 fc 00 mov BYTE PTR __$EHRec$[ebp+8], 0
00065 8d 4d ac lea ecx, DWORD PTR $T3[ebp]
00068 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
0006d 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp]
00070 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00073 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0007a 59 pop ecx
0007b 5f pop edi
0007c 5e pop esi
0007d 5b pop ebx
0007e 8b e5 mov esp, ebp
00080 5d pop ebp
00081 c2 04 00 ret 4
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$?GetDate@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ$0:
00000 8d 4d ac lea ecx, DWORD PTR $T3[ebp]
00003 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?GetDate@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ$1:
00008 8b 45 a8 mov eax, DWORD PTR $T2[ebp]
0000b 83 e0 01 and eax, 1
0000e 0f 84 0c 00 00
00 je $LN5@GetDate
00014 83 65 a8 fe and DWORD PTR $T2[ebp], -2 ; fffffffeH
00018 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
0001b e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
$LN5@GetDate:
00020 c3 ret 0
00021 cc int 3
00022 cc int 3
00023 cc int 3
00024 cc int 3
00025 cc int 3
__ehhandler$?GetDate@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ:
00026 90 npad 1
00027 90 npad 1
00028 8b 54 24 08 mov edx, DWORD PTR [esp+8]
0002c 8d 42 0c lea eax, DWORD PTR [edx+12]
0002f 8b 4a a4 mov ecx, DWORD PTR [edx-92]
00032 33 c8 xor ecx, eax
00034 e8 00 00 00 00 call @__security_check_cookie@4
00039 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?GetDate@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ
0003e e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?GetDate@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ ENDP ; CPop3Message::GetDate
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\pop3\pop3.h
; COMDAT ?GetFrom@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ
_TEXT SEGMENT
$T2 = -88 ; size = 4
$T3 = -84 ; size = 4
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
___$ReturnUdt$ = 8 ; size = 4
?GetFrom@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ PROC ; CPop3Message::GetFrom, COMDAT
; _this$ = ecx
; 55 : CString GetFrom() const { return GetHeaderItem(_T("From")); }
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?GetFrom@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 4c sub esp, 76 ; 0000004cH
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
0002b c7 45 a8 00 00
00 00 mov DWORD PTR $T2[ebp], 0
00032 68 00 00 00 00 push OFFSET ??_C@_19FBEKOENC@?$AAF?$AAr?$AAo?$AAm@
00037 8d 4d ac lea ecx, DWORD PTR $T3[ebp]
0003a e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
0003f c7 45 fc 01 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 1
00046 6a 00 push 0
00048 8d 45 ac lea eax, DWORD PTR $T3[ebp]
0004b 50 push eax
0004c 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
0004f 51 push ecx
00050 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00053 e8 00 00 00 00 call ?GetHeaderItem@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@H@Z ; CPop3Message::GetHeaderItem
00058 8b 55 a8 mov edx, DWORD PTR $T2[ebp]
0005b 83 ca 01 or edx, 1
0005e 89 55 a8 mov DWORD PTR $T2[ebp], edx
00061 c6 45 fc 00 mov BYTE PTR __$EHRec$[ebp+8], 0
00065 8d 4d ac lea ecx, DWORD PTR $T3[ebp]
00068 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
0006d 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp]
00070 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00073 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0007a 59 pop ecx
0007b 5f pop edi
0007c 5e pop esi
0007d 5b pop ebx
0007e 8b e5 mov esp, ebp
00080 5d pop ebp
00081 c2 04 00 ret 4
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$?GetFrom@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ$0:
00000 8d 4d ac lea ecx, DWORD PTR $T3[ebp]
00003 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?GetFrom@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ$1:
00008 8b 45 a8 mov eax, DWORD PTR $T2[ebp]
0000b 83 e0 01 and eax, 1
0000e 0f 84 0c 00 00
00 je $LN5@GetFrom
00014 83 65 a8 fe and DWORD PTR $T2[ebp], -2 ; fffffffeH
00018 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
0001b e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
$LN5@GetFrom:
00020 c3 ret 0
00021 cc int 3
00022 cc int 3
00023 cc int 3
00024 cc int 3
00025 cc int 3
__ehhandler$?GetFrom@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ:
00026 90 npad 1
00027 90 npad 1
00028 8b 54 24 08 mov edx, DWORD PTR [esp+8]
0002c 8d 42 0c lea eax, DWORD PTR [edx+12]
0002f 8b 4a a4 mov ecx, DWORD PTR [edx-92]
00032 33 c8 xor ecx, eax
00034 e8 00 00 00 00 call @__security_check_cookie@4
00039 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?GetFrom@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ
0003e e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?GetFrom@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ ENDP ; CPop3Message::GetFrom
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\pop3\pop3.h
; COMDAT ?GetSubject@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ
_TEXT SEGMENT
$T2 = -88 ; size = 4
$T3 = -84 ; size = 4
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
___$ReturnUdt$ = 8 ; size = 4
?GetSubject@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ PROC ; CPop3Message::GetSubject, COMDAT
; _this$ = ecx
; 54 : CString GetSubject() const { return GetHeaderItem(_T("Subject")); }
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?GetSubject@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 4c sub esp, 76 ; 0000004cH
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
0002b c7 45 a8 00 00
00 00 mov DWORD PTR $T2[ebp], 0
00032 68 00 00 00 00 push OFFSET ??_C@_1BA@GMIDJHNK@?$AAS?$AAu?$AAb?$AAj?$AAe?$AAc?$AAt@
00037 8d 4d ac lea ecx, DWORD PTR $T3[ebp]
0003a e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
0003f c7 45 fc 01 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 1
00046 6a 00 push 0
00048 8d 45 ac lea eax, DWORD PTR $T3[ebp]
0004b 50 push eax
0004c 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
0004f 51 push ecx
00050 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00053 e8 00 00 00 00 call ?GetHeaderItem@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@H@Z ; CPop3Message::GetHeaderItem
00058 8b 55 a8 mov edx, DWORD PTR $T2[ebp]
0005b 83 ca 01 or edx, 1
0005e 89 55 a8 mov DWORD PTR $T2[ebp], edx
00061 c6 45 fc 00 mov BYTE PTR __$EHRec$[ebp+8], 0
00065 8d 4d ac lea ecx, DWORD PTR $T3[ebp]
00068 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
0006d 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp]
00070 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00073 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0007a 59 pop ecx
0007b 5f pop edi
0007c 5e pop esi
0007d 5b pop ebx
0007e 8b e5 mov esp, ebp
00080 5d pop ebp
00081 c2 04 00 ret 4
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$?GetSubject@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ$0:
00000 8d 4d ac lea ecx, DWORD PTR $T3[ebp]
00003 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?GetSubject@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ$1:
00008 8b 45 a8 mov eax, DWORD PTR $T2[ebp]
0000b 83 e0 01 and eax, 1
0000e 0f 84 0c 00 00
00 je $LN5@GetSubject
00014 83 65 a8 fe and DWORD PTR $T2[ebp], -2 ; fffffffeH
00018 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
0001b e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
$LN5@GetSubject:
00020 c3 ret 0
00021 cc int 3
00022 cc int 3
00023 cc int 3
00024 cc int 3
00025 cc int 3
__ehhandler$?GetSubject@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ:
00026 90 npad 1
00027 90 npad 1
00028 8b 54 24 08 mov edx, DWORD PTR [esp+8]
0002c 8d 42 0c lea eax, DWORD PTR [edx+12]
0002f 8b 4a a4 mov ecx, DWORD PTR [edx-92]
00032 33 c8 xor ecx, eax
00034 e8 00 00 00 00 call @__security_check_cookie@4
00039 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?GetSubject@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ
0003e e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?GetSubject@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ ENDP ; CPop3Message::GetSubject
; Function compile flags: /Odtp /ZI
; COMDAT ??_GCEmailThread@@UAEPAXI@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
___flags$ = 8 ; size = 4
??_GCEmailThread@@UAEPAXI@Z PROC ; CEmailThread::`scalar deleting destructor', COMDAT
; _this$ = ecx
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ??1CEmailThread@@UAE@XZ ; CEmailThread::~CEmailThread
00014 8b 45 08 mov eax, DWORD PTR ___flags$[ebp]
00017 83 e0 01 and eax, 1
0001a 74 26 je SHORT $LN2@scalar
0001c 8b 45 08 mov eax, DWORD PTR ___flags$[ebp]
0001f 83 e0 04 and eax, 4
00022 75 0d jne SHORT $LN3@scalar
00024 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00027 50 push eax
00028 e8 00 00 00 00 call ??3CObject@@SGXPAX@Z ; CObject::operator delete
0002d eb 13 jmp SHORT $LN2@scalar
0002f eb 11 jmp SHORT $LN2@scalar
$LN3@scalar:
00031 68 18 01 00 00 push 280 ; 00000118H
00036 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00039 50 push eax
0003a e8 00 00 00 00 call ?__global_delete@@YAXPAXI@Z ; __global_delete
0003f 83 c4 08 add esp, 8
$LN2@scalar:
00042 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00045 5f pop edi
00046 5e pop esi
00047 5b pop ebx
00048 8b e5 mov esp, ebp
0004a 5d pop ebp
0004b c2 04 00 ret 4
??_GCEmailThread@@UAEPAXI@Z ENDP ; CEmailThread::`scalar deleting destructor'
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\EmailThread.cpp
; COMDAT ?GetMessageMap@CEmailThread@@MBEPBUAFX_MSGMAP@@XZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?GetMessageMap@CEmailThread@@MBEPBUAFX_MSGMAP@@XZ PROC ; CEmailThread::GetMessageMap, COMDAT
; _this$ = ecx
; 53 : BEGIN_MESSAGE_MAP(CEmailThread, CWinThread)
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
0000c e8 00 00 00 00 call ?GetThisMessageMap@CEmailThread@@KGPBUAFX_MSGMAP@@XZ ; CEmailThread::GetThisMessageMap
00011 5f pop edi
00012 5e pop esi
00013 5b pop ebx
00014 8b e5 mov esp, ebp
00016 5d pop ebp
00017 c3 ret 0
?GetMessageMap@CEmailThread@@MBEPBUAFX_MSGMAP@@XZ ENDP ; CEmailThread::GetMessageMap
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\EmailThread.cpp
; COMDAT ?GetThisMessageMap@CEmailThread@@KGPBUAFX_MSGMAP@@XZ
_TEXT SEGMENT
?GetThisMessageMap@CEmailThread@@KGPBUAFX_MSGMAP@@XZ PROC ; CEmailThread::GetThisMessageMap, COMDAT
; 53 : BEGIN_MESSAGE_MAP(CEmailThread, CWinThread)
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 54 : //{{AFX_MSG_MAP(CEmailThread)
; 55 : // NOTE - the ClassWizard will add and remove mapping macros here.
; 56 : //}}AFX_MSG_MAP
; 57 : ON_THREAD_MESSAGE(TH_EMAIL,On_Email)
; 58 : END_MESSAGE_MAP()
00009 b8 00 00 00 00 mov eax, OFFSET ?messageMap@?1??GetThisMessageMap@CEmailThread@@KGPBUAFX_MSGMAP@@XZ@4U3@B
0000e 5f pop edi
0000f 5e pop esi
00010 5b pop ebx
00011 8b e5 mov esp, ebp
00013 5d pop ebp
00014 c3 ret 0
?GetThisMessageMap@CEmailThread@@KGPBUAFX_MSGMAP@@XZ ENDP ; CEmailThread::GetThisMessageMap
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\EmailThread.cpp
; COMDAT ?On_Email@CEmailThread@@QAEXIJ@Z
_TEXT SEGMENT
tv507 = -33448 ; size = 4
tv401 = -33448 ; size = 4
tv373 = -33448 ; size = 4
tv348 = -33448 ; size = 4
tv686 = -33444 ; size = 4
tv509 = -33444 ; size = 4
tv403 = -33444 ; size = 4
tv375 = -33444 ; size = 4
tv350 = -33444 ; size = 4
tv231 = -33444 ; size = 4
tv138 = -33444 ; size = 4
tv785 = -33440 ; size = 4
tv675 = -33440 ; size = 4
tv646 = -33440 ; size = 4
tv511 = -33440 ; size = 4
tv459 = -33440 ; size = 4
tv423 = -33440 ; size = 4
tv404 = -33440 ; size = 4
tv376 = -33440 ; size = 4
tv351 = -33440 ; size = 4
tv323 = -33440 ; size = 4
tv238 = -33440 ; size = 4
tv226 = -33440 ; size = 4
tv209 = -33440 ; size = 4
tv203 = -33440 ; size = 4
tv197 = -33440 ; size = 4
tv191 = -33440 ; size = 4
tv185 = -33440 ; size = 4
tv179 = -33440 ; size = 4
tv173 = -33440 ; size = 4
tv167 = -33440 ; size = 4
tv161 = -33440 ; size = 4
tv87 = -33440 ; size = 4
$T2 = -33436 ; size = 4
$T3 = -33432 ; size = 4
$T4 = -33428 ; size = 4
$T5 = -33424 ; size = 4
$T6 = -33420 ; size = 4
$T7 = -33416 ; size = 4
$T8 = -33412 ; size = 12
$T9 = -33400 ; size = 12
_NXlog$10 = -32876 ; size = 6056
_t$11 = -26820 ; size = 16
_data$12 = -26804 ; size = 17556
_lMobType$13 = -9248 ; size = 4
_j$14 = -9244 ; size = 4
_bSend$15 = -9240 ; size = 4
_strSubject$16 = -9236 ; size = 4
_strFromMin$17 = -9232 ; size = 4
_strFrom$18 = -9228 ; size = 4
_strMsgID$19 = -9224 ; size = 4
_t$20 = -9220 ; size = 16
_abc$21 = -9204 ; size = 12
_strTime$22 = -9192 ; size = 4
_iEnd$23 = -9188 ; size = 4
_iStart$24 = -9184 ; size = 4
_strDate$25 = -9180 ; size = 4
_i$26 = -9176 ; size = 4
_iNoInDB$27 = -9172 ; size = 4
_iNoDayCount$28 = -9168 ; size = 4
_iMailSize$29 = -9164 ; size = 4
_iMailCount$30 = -9160 ; size = 4
_popmsg$31 = -9156 ; size = 4
_pop$32 = -9152 ; size = 76
_i$33 = -9076 ; size = 4
_pFilt$34 = -9072 ; size = 4
_lFiltCount$35 = -9068 ; size = 4
_lOut$36 = -9064 ; size = 4
_des$37 = -9060 ; size = 2656
_NXlog$38 = -6404 ; size = 6056
_ts$39 = -348 ; size = 12
_tNow$40 = -336 ; size = 12
_stLast$41 = -324 ; size = 16
_stNow$42 = -308 ; size = 16
_tCheckLast$43 = -292 ; size = 12
_lCheckTime$44 = -280 ; size = 4
_szPasswd2$45 = -276 ; size = 64
_szPasswd$46 = -212 ; size = 64
_szUserName$47 = -148 ; size = 64
_strTemp$48 = -84 ; size = 4
_strMobile$49 = -80 ; size = 4
_strPasswd$50 = -76 ; size = 4
_strUserName$51 = -72 ; size = 4
_strIP$52 = -68 ; size = 4
_lRSCount2$53 = -64 ; size = 4
_lUserID$54 = -60 ; size = 4
_lCorpID$55 = -56 ; size = 4
_lID$56 = -52 ; size = 4
_b$57 = -48 ; size = 4
_strSelect$58 = -44 ; size = 4
__lpa$ = -40 ; size = 4
__lpw$ = -36 ; size = 4
__acp$ = -32 ; size = 4
__convert$ = -28 ; size = 4
_this$ = -24 ; size = 4
__$ArrayPad$ = -20 ; size = 4
__$EHRec$ = -16 ; size = 16
_wParam$ = 8 ; size = 4
_lParam$ = 12 ; size = 4
?On_Email@CEmailThread@@QAEXIJ@Z PROC ; CEmailThread::On_Email, COMDAT
; _this$ = ecx
; 64 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?On_Email@CEmailThread@@QAEXIJ@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 51 push ecx
00012 b8 98 82 00 00 mov eax, 33432 ; 00008298H
00017 e8 00 00 00 00 call __chkstk
0001c a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
00021 33 c5 xor eax, ebp
00023 89 45 ec mov DWORD PTR __$ArrayPad$[ebp], eax
00026 53 push ebx
00027 56 push esi
00028 57 push edi
00029 50 push eax
0002a 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp+4]
0002d 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00033 89 65 f0 mov DWORD PTR __$EHRec$[ebp], esp
00036 89 4d e8 mov DWORD PTR _this$[ebp], ecx
; 65 : USES_CONVERSION;
00039 e8 00 00 00 00 call ?_AtlGetConversionACP@ATL@@YGIXZ ; ATL::_AtlGetConversionACP
0003e 89 45 e0 mov DWORD PTR __acp$[ebp], eax
; 66 :
; 67 : if ( m_bStart ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD><DAB7>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
00041 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
00044 83 78 44 00 cmp DWORD PTR [eax+68], 0
00048 74 05 je SHORT $LN12@On_Email
; 68 : return ;
0004a e9 94 10 00 00 jmp $LN1@On_Email
$LN12@On_Email:
; 69 :
; 70 : try
0004f c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+12], 0
; 71 : {
; 72 : m_bStart = true;
00056 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
00059 c7 40 44 01 00
00 00 mov DWORD PTR [eax+68], 1
; 73 : CString strSelect;
00060 8d 4d d4 lea ecx, DWORD PTR _strSelect$58[ebp]
00063 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00068 c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+12], 1
; 74 : strSelect = _T("select email.*,users.mobile from email,users where email.Status=1 and email.userid = users.userid");
0006c 68 00 00 00 00 push OFFSET ??_C@_1ME@MEGNKACB@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AAe?$AAm?$AAa?$AAi?$AAl?$AA?4?$AA?$CK?$AA?0@
00071 8d 4d d4 lea ecx, DWORD PTR _strSelect$58[ebp]
00074 e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
; 75 : BOOL b = m_AdoRS.Open( strSelect );
00079 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
0007c 83 c0 68 add eax, 104 ; 00000068H
0007f 89 85 60 7d ff
ff mov DWORD PTR tv87[ebp], eax
00085 6a 03 push 3
00087 6a 03 push 3
00089 6a 01 push 1
0008b 8d 4d d4 lea ecx, DWORD PTR _strSelect$58[ebp]
0008e e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
00093 50 push eax
00094 8b 8d 60 7d ff
ff mov ecx, DWORD PTR tv87[ebp]
0009a e8 00 00 00 00 call ?Open@CAdoRecordSet@@QAEHPB_WJW4CursorTypeEnum@ADODB@@W4LockTypeEnum@3@@Z ; CAdoRecordSet::Open
0009f 89 45 d0 mov DWORD PTR _b$57[ebp], eax
; 76 : if ( b && !m_AdoRS.IsEOF() )
000a2 83 7d d0 00 cmp DWORD PTR _b$57[ebp], 0
000a6 0f 84 5e 0f 00
00 je $LN14@On_Email
000ac 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
000af 83 c1 68 add ecx, 104 ; 00000068H
000b2 e8 00 00 00 00 call ?IsEOF@CAdoRecordSet@@QAEHXZ ; CAdoRecordSet::IsEOF
000b7 85 c0 test eax, eax
000b9 0f 85 4b 0f 00
00 jne $LN14@On_Email
; 77 : {
; 78 : long lID;
; 79 : long lCorpID;
; 80 : long lUserID;
; 81 : long lRSCount2=0;
000bf c7 45 c0 00 00
00 00 mov DWORD PTR _lRSCount2$53[ebp], 0
; 82 : CString strIP;
000c6 8d 4d bc lea ecx, DWORD PTR _strIP$52[ebp]
000c9 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
000ce c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+12], 2
; 83 : CString strUserName;
000d2 8d 4d b8 lea ecx, DWORD PTR _strUserName$51[ebp]
000d5 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
000da c6 45 fc 03 mov BYTE PTR __$EHRec$[ebp+12], 3
; 84 : CString strPasswd;
000de 8d 4d b4 lea ecx, DWORD PTR _strPasswd$50[ebp]
000e1 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
000e6 c6 45 fc 04 mov BYTE PTR __$EHRec$[ebp+12], 4
; 85 : CString strMobile;
000ea 8d 4d b0 lea ecx, DWORD PTR _strMobile$49[ebp]
000ed e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
000f2 c6 45 fc 05 mov BYTE PTR __$EHRec$[ebp+12], 5
; 86 : CString strTemp;
000f6 8d 4d ac lea ecx, DWORD PTR _strTemp$48[ebp]
000f9 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
000fe c6 45 fc 06 mov BYTE PTR __$EHRec$[ebp+12], 6
$LN2@On_Email:
; 87 :
; 88 : while ( !m_AdoRS.IsEOF() && lRSCount2<10000 )
00102 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
00105 83 c1 68 add ecx, 104 ; 00000068H
00108 e8 00 00 00 00 call ?IsEOF@CAdoRecordSet@@QAEHXZ ; CAdoRecordSet::IsEOF
0010d 85 c0 test eax, eax
0010f 0f 85 b9 0e 00
00 jne $LN3@On_Email
00115 81 7d c0 10 27
00 00 cmp DWORD PTR _lRSCount2$53[ebp], 10000 ; 00002710H
0011c 0f 8d ac 0e 00
00 jge $LN3@On_Email
; 89 : {
; 90 : char szUserName[64]={0};
00122 6a 40 push 64 ; 00000040H
00124 6a 00 push 0
00126 8d 85 6c ff ff
ff lea eax, DWORD PTR _szUserName$47[ebp]
0012c 50 push eax
0012d e8 00 00 00 00 call _memset
00132 83 c4 0c add esp, 12 ; 0000000cH
; 91 : char szPasswd[64]={0};
00135 6a 40 push 64 ; 00000040H
00137 6a 00 push 0
00139 8d 85 2c ff ff
ff lea eax, DWORD PTR _szPasswd$46[ebp]
0013f 50 push eax
00140 e8 00 00 00 00 call _memset
00145 83 c4 0c add esp, 12 ; 0000000cH
; 92 : char szPasswd2[64]={0};
00148 6a 40 push 64 ; 00000040H
0014a 6a 00 push 0
0014c 8d 85 ec fe ff
ff lea eax, DWORD PTR _szPasswd2$45[ebp]
00152 50 push eax
00153 e8 00 00 00 00 call _memset
00158 83 c4 0c add esp, 12 ; 0000000cH
; 93 : long lCheckTime=0;
0015b c7 85 e8 fe ff
ff 00 00 00 00 mov DWORD PTR _lCheckTime$44[ebp], 0
; 94 : COleDateTime tCheckLast;
00165 8d 8d dc fe ff
ff lea ecx, DWORD PTR _tCheckLast$43[ebp]
0016b e8 00 00 00 00 call ??0COleDateTime@ATL@@QAE@XZ ; ATL::COleDateTime::COleDateTime
; 95 : m_AdoRS.GetCollect( _T("EmailID") , lID );
00170 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
00173 83 c0 68 add eax, 104 ; 00000068H
00176 89 85 60 7d ff
ff mov DWORD PTR tv161[ebp], eax
0017c 8d 4d cc lea ecx, DWORD PTR _lID$56[ebp]
0017f 51 push ecx
00180 68 00 00 00 00 push OFFSET ??_C@_1BA@FJCEEOND@?$AAE?$AAm?$AAa?$AAi?$AAl?$AAI?$AAD@
00185 8b 8d 60 7d ff
ff mov ecx, DWORD PTR tv161[ebp]
0018b e8 00 00 00 00 call ?GetCollect@CAdoRecordSet@@QAEHPB_WAAJ@Z ; CAdoRecordSet::GetCollect
; 96 : m_AdoRS.GetCollect( _T("CorpID") , lCorpID );
00190 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
00193 83 c0 68 add eax, 104 ; 00000068H
00196 89 85 60 7d ff
ff mov DWORD PTR tv167[ebp], eax
0019c 8d 4d c8 lea ecx, DWORD PTR _lCorpID$55[ebp]
0019f 51 push ecx
001a0 68 00 00 00 00 push OFFSET ??_C@_1O@CLJHPHJA@?$AAC?$AAo?$AAr?$AAp?$AAI?$AAD@
001a5 8b 8d 60 7d ff
ff mov ecx, DWORD PTR tv167[ebp]
001ab e8 00 00 00 00 call ?GetCollect@CAdoRecordSet@@QAEHPB_WAAJ@Z ; CAdoRecordSet::GetCollect
; 97 : m_AdoRS.GetCollect( _T("UserID") , lUserID );
001b0 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
001b3 83 c0 68 add eax, 104 ; 00000068H
001b6 89 85 60 7d ff
ff mov DWORD PTR tv173[ebp], eax
001bc 8d 4d c4 lea ecx, DWORD PTR _lUserID$54[ebp]
001bf 51 push ecx
001c0 68 00 00 00 00 push OFFSET ??_C@_1O@DLKCLNNL@?$AAU?$AAs?$AAe?$AAr?$AAI?$AAD@
001c5 8b 8d 60 7d ff
ff mov ecx, DWORD PTR tv173[ebp]
001cb e8 00 00 00 00 call ?GetCollect@CAdoRecordSet@@QAEHPB_WAAJ@Z ; CAdoRecordSet::GetCollect
; 98 : m_AdoRS.GetCollect( _T("IP") , strIP );
001d0 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
001d3 83 c0 68 add eax, 104 ; 00000068H
001d6 89 85 60 7d ff
ff mov DWORD PTR tv179[ebp], eax
001dc 8d 4d bc lea ecx, DWORD PTR _strIP$52[ebp]
001df 51 push ecx
001e0 68 00 00 00 00 push OFFSET ??_C@_15KNGHAKFK@?$AAI?$AAP@
001e5 8b 8d 60 7d ff
ff mov ecx, DWORD PTR tv179[ebp]
001eb e8 00 00 00 00 call ?GetCollect@CAdoRecordSet@@QAEHPB_WAAV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@Z ; CAdoRecordSet::GetCollect
; 99 : m_AdoRS.GetCollect( _T("UserName"), strUserName );
001f0 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
001f3 83 c0 68 add eax, 104 ; 00000068H
001f6 89 85 60 7d ff
ff mov DWORD PTR tv185[ebp], eax
001fc 8d 4d b8 lea ecx, DWORD PTR _strUserName$51[ebp]
001ff 51 push ecx
00200 68 00 00 00 00 push OFFSET ??_C@_1BC@PKDBAIGK@?$AAU?$AAs?$AAe?$AAr?$AAN?$AAa?$AAm?$AAe@
00205 8b 8d 60 7d ff
ff mov ecx, DWORD PTR tv185[ebp]
0020b e8 00 00 00 00 call ?GetCollect@CAdoRecordSet@@QAEHPB_WAAV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@Z ; CAdoRecordSet::GetCollect
; 100 : m_AdoRS.GetCollect( _T("Passwd") , strPasswd );
00210 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
00213 83 c0 68 add eax, 104 ; 00000068H
00216 89 85 60 7d ff
ff mov DWORD PTR tv191[ebp], eax
0021c 8d 4d b4 lea ecx, DWORD PTR _strPasswd$50[ebp]
0021f 51 push ecx
00220 68 00 00 00 00 push OFFSET ??_C@_1O@CHHKJIAH@?$AAP?$AAa?$AAs?$AAs?$AAw?$AAd@
00225 8b 8d 60 7d ff
ff mov ecx, DWORD PTR tv191[ebp]
0022b e8 00 00 00 00 call ?GetCollect@CAdoRecordSet@@QAEHPB_WAAV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@Z ; CAdoRecordSet::GetCollect
; 101 : m_AdoRS.GetCollect( _T("Mobile") , strMobile);
00230 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
00233 83 c0 68 add eax, 104 ; 00000068H
00236 89 85 60 7d ff
ff mov DWORD PTR tv197[ebp], eax
0023c 8d 4d b0 lea ecx, DWORD PTR _strMobile$49[ebp]
0023f 51 push ecx
00240 68 00 00 00 00 push OFFSET ??_C@_1O@OLLJFFCG@?$AAM?$AAo?$AAb?$AAi?$AAl?$AAe@
00245 8b 8d 60 7d ff
ff mov ecx, DWORD PTR tv197[ebp]
0024b e8 00 00 00 00 call ?GetCollect@CAdoRecordSet@@QAEHPB_WAAV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@Z ; CAdoRecordSet::GetCollect
; 102 : m_AdoRS.GetCollect( _T("CheckTime") , lCheckTime);
00250 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
00253 83 c0 68 add eax, 104 ; 00000068H
00256 89 85 60 7d ff
ff mov DWORD PTR tv203[ebp], eax
0025c 8d 8d e8 fe ff
ff lea ecx, DWORD PTR _lCheckTime$44[ebp]
00262 51 push ecx
00263 68 00 00 00 00 push OFFSET ??_C@_1BE@LHEMFLIA@?$AAC?$AAh?$AAe?$AAc?$AAk?$AAT?$AAi?$AAm?$AAe@
00268 8b 8d 60 7d ff
ff mov ecx, DWORD PTR tv203[ebp]
0026e e8 00 00 00 00 call ?GetCollect@CAdoRecordSet@@QAEHPB_WAAJ@Z ; CAdoRecordSet::GetCollect
; 103 : m_AdoRS.GetCollect( _T("CheckLast") , tCheckLast);
00273 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
00276 83 c0 68 add eax, 104 ; 00000068H
00279 89 85 60 7d ff
ff mov DWORD PTR tv209[ebp], eax
0027f 8d 8d dc fe ff
ff lea ecx, DWORD PTR _tCheckLast$43[ebp]
00285 51 push ecx
00286 68 00 00 00 00 push OFFSET ??_C@_1BE@IBKJNCDI@?$AAC?$AAh?$AAe?$AAc?$AAk?$AAL?$AAa?$AAs?$AAt@
0028b 8b 8d 60 7d ff
ff mov ecx, DWORD PTR tv209[ebp]
00291 e8 00 00 00 00 call ?GetCollect@CAdoRecordSet@@QAEHPB_WAAVCOleDateTime@ATL@@@Z ; CAdoRecordSet::GetCollect
; 104 : //<2F>жϼ<D0B6><CFBC><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
; 105 : try
00296 c6 45 fc 07 mov BYTE PTR __$EHRec$[ebp+12], 7
; 106 : {
; 107 : //if ( lCheckTime <=0 )
; 108 : // lCheckTime=30;
; 109 : SYSTEMTIME stNow,stLast;
; 110 : COleDateTime tNow=COleDateTime::GetCurrentTime();
0029a 8d 85 b0 fe ff
ff lea eax, DWORD PTR _tNow$40[ebp]
002a0 50 push eax
002a1 e8 00 00 00 00 call ?GetTickCount@COleDateTime@ATL@@SG?AV12@XZ ; ATL::COleDateTime::GetTickCount
; 111 : tNow.GetAsSystemTime(stNow);
002a6 8d 85 cc fe ff
ff lea eax, DWORD PTR _stNow$42[ebp]
002ac 50 push eax
002ad 8d 8d b0 fe ff
ff lea ecx, DWORD PTR _tNow$40[ebp]
002b3 e8 00 00 00 00 call ?GetAsSystemTime@COleDateTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z ; ATL::COleDateTime::GetAsSystemTime
; 112 : tCheckLast.GetAsSystemTime(stLast);
002b8 8d 85 bc fe ff
ff lea eax, DWORD PTR _stLast$41[ebp]
002be 50 push eax
002bf 8d 8d dc fe ff
ff lea ecx, DWORD PTR _tCheckLast$43[ebp]
002c5 e8 00 00 00 00 call ?GetAsSystemTime@COleDateTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z ; ATL::COleDateTime::GetAsSystemTime
; 113 :
; 114 : COleDateTimeSpan ts(0,0,0,lCheckTime);
002ca 8b 85 e8 fe ff
ff mov eax, DWORD PTR _lCheckTime$44[ebp]
002d0 50 push eax
002d1 6a 00 push 0
002d3 6a 00 push 0
002d5 6a 00 push 0
002d7 8d 8d a4 fe ff
ff lea ecx, DWORD PTR _ts$39[ebp]
002dd e8 00 00 00 00 call ??0COleDateTimeSpan@ATL@@QAE@JHHH@Z ; ATL::COleDateTimeSpan::COleDateTimeSpan
; 115 : if (COleDateTime::GetCurrentTime()-tCheckLast<ts) //δ<><CEB4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
002e2 8d 85 88 7d ff
ff lea eax, DWORD PTR $T9[ebp]
002e8 50 push eax
002e9 e8 00 00 00 00 call ?GetTickCount@COleDateTime@ATL@@SG?AV12@XZ ; ATL::COleDateTime::GetTickCount
002ee 89 85 60 7d ff
ff mov DWORD PTR tv226[ebp], eax
002f4 8d 8d dc fe ff
ff lea ecx, DWORD PTR _tCheckLast$43[ebp]
002fa 51 push ecx
002fb 8d 95 7c 7d ff
ff lea edx, DWORD PTR $T8[ebp]
00301 52 push edx
00302 8b 8d 60 7d ff
ff mov ecx, DWORD PTR tv226[ebp]
00308 e8 00 00 00 00 call ??GCOleDateTime@ATL@@QBE?AVCOleDateTimeSpan@1@ABV01@@Z ; ATL::COleDateTime::operator-
0030d 89 85 5c 7d ff
ff mov DWORD PTR tv231[ebp], eax
00313 8d 85 a4 fe ff
ff lea eax, DWORD PTR _ts$39[ebp]
00319 50 push eax
0031a 8b 8d 5c 7d ff
ff mov ecx, DWORD PTR tv231[ebp]
00320 e8 00 00 00 00 call ??MCOleDateTimeSpan@ATL@@QBE_NABV01@@Z ; ATL::COleDateTimeSpan::operator<
00325 0f b6 c8 movzx ecx, al
00328 85 c9 test ecx, ecx
0032a 74 1d je SHORT $LN16@On_Email
; 116 : {
; 117 : lRSCount2 ++;
0032c 8b 45 c0 mov eax, DWORD PTR _lRSCount2$53[ebp]
0032f 83 c0 01 add eax, 1
00332 89 45 c0 mov DWORD PTR _lRSCount2$53[ebp], eax
; 118 : m_AdoRS.MoveNext();
00335 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
00338 83 c1 68 add ecx, 104 ; 00000068H
0033b e8 00 00 00 00 call ?MoveNext@CAdoRecordSet@@QAEHXZ ; CAdoRecordSet::MoveNext
00340 c6 45 fc 06 mov BYTE PTR __$EHRec$[ebp+12], 6
; 119 : continue;
00344 e9 b9 fd ff ff jmp $LN2@On_Email
$LN16@On_Email:
; 120 : }
; 121 : }catch(...)
00349 e9 90 00 00 00 jmp $LN58@On_Email
__catch$?On_Email@CEmailThread@@QAEXIJ@Z$0:
; 122 : {
; 123 : LOG_APPERROR(_T("T"));
0034e 8d 8d fc e6 ff
ff lea ecx, DWORD PTR _NXlog$38[ebp]
00354 e8 00 00 00 00 call ??0CSAStatusLog@@QAE@XZ ; CSAStatusLog::CSAStatusLog
00359 c6 45 fc 09 mov BYTE PTR __$EHRec$[ebp+12], 9
0035d 51 push ecx
0035e 8b cc mov ecx, esp
00360 89 a5 78 7d ff
ff mov DWORD PTR $T7[ebp], esp
00366 68 00 00 00 00 push OFFSET ??_C@_1BC@HEKPCAFP@?$AAA?$AAp?$AAp?$AAE?$AAr?$AAr?$AAo?$AAr@
0036b e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00370 89 85 60 7d ff
ff mov DWORD PTR tv238[ebp], eax
00376 c6 45 fc 0a mov BYTE PTR __$EHRec$[ebp+12], 10 ; 0000000aH
0037a 51 push ecx
0037b 8b cc mov ecx, esp
0037d 89 a5 74 7d ff
ff mov DWORD PTR $T6[ebp], esp
00383 68 00 00 00 00 push OFFSET ??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@
00388 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
0038d 89 85 5c 7d ff
ff mov DWORD PTR tv138[ebp], eax
00393 c6 45 fc 0b mov BYTE PTR __$EHRec$[ebp+12], 11 ; 0000000bH
00397 c6 45 fc 09 mov BYTE PTR __$EHRec$[ebp+12], 9
0039b 8d 8d fc e6 ff
ff lea ecx, DWORD PTR _NXlog$38[ebp]
003a1 e8 00 00 00 00 call ?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z ; CSAStatusLog::Init
003a6 a1 00 00 00 00 mov eax, DWORD PTR ?__LINE__Var@?0??On_Email@CEmailThread@@QAEXIJ@Z@4JA
003ab 83 c0 3b add eax, 59 ; 0000003bH
003ae 50 push eax
003af 68 00 00 00 00 push OFFSET ??_C@_08DLMCGABB@On_Email@
003b4 68 00 00 00 00 push OFFSET ??_C@_0DA@OPOBKPBA@D?3?2Works?2Corpsms_2010?2SmsCenter@
003b9 68 00 00 00 00 push OFFSET ??_C@_13JKNELIBG@?$AAT@
003be 8d 8d fc e6 ff
ff lea ecx, DWORD PTR _NXlog$38[ebp]
003c4 e8 00 00 00 00 call ?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z ; CSAStatusLog::LogError
003c9 c6 45 fc 08 mov BYTE PTR __$EHRec$[ebp+12], 8
003cd 8d 8d fc e6 ff
ff lea ecx, DWORD PTR _NXlog$38[ebp]
003d3 e8 00 00 00 00 call ??1CSAStatusLog@@QAE@XZ ; CSAStatusLog::~CSAStatusLog
; 124 : ;
; 125 : }
003d8 b8 00 00 00 00 mov eax, $LN83@On_Email
003dd c3 ret 0
$LN58@On_Email:
003de c7 45 fc 06 00
00 00 mov DWORD PTR __$EHRec$[ebp+12], 6
003e5 eb 07 jmp SHORT __tryend$?On_Email@CEmailThread@@QAEXIJ@Z$1
$LN83@On_Email:
003e7 c7 45 fc 06 00
00 00 mov DWORD PTR __$EHRec$[ebp+12], 6
__tryend$?On_Email@CEmailThread@@QAEXIJ@Z$1:
; 126 : //<2F><EFBFBD><E6BBBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
; 127 : strSelect.Format( _T("update email set CheckLast=GETDATE() where EmailID=%d"),lID);
003ee 8b 45 cc mov eax, DWORD PTR _lID$56[ebp]
003f1 50 push eax
003f2 68 00 00 00 00 push OFFSET ??_C@_1GM@FLPJKBLA@?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?5?$AAe?$AAm?$AAa?$AAi?$AAl?$AA?5?$AAs?$AAe@
003f7 8d 4d d4 lea ecx, DWORD PTR _strSelect$58[ebp]
003fa 51 push ecx
003fb e8 00 00 00 00 call ?Format@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAAXPB_WZZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format
00400 83 c4 0c add esp, 12 ; 0000000cH
; 128 : m_AdoRS1.Open(strSelect);
00403 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
00406 05 a0 00 00 00 add eax, 160 ; 000000a0H
0040b 89 85 60 7d ff
ff mov DWORD PTR tv323[ebp], eax
00411 6a 03 push 3
00413 6a 03 push 3
00415 6a 01 push 1
00417 8d 4d d4 lea ecx, DWORD PTR _strSelect$58[ebp]
0041a e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
0041f 50 push eax
00420 8b 8d 60 7d ff
ff mov ecx, DWORD PTR tv323[ebp]
00426 e8 00 00 00 00 call ?Open@CAdoRecordSet@@QAEHPB_WJW4CursorTypeEnum@ADODB@@W4LockTypeEnum@3@@Z ; CAdoRecordSet::Open
; 129 : m_AdoRS1.Close();
0042b 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
0042e 81 c1 a0 00 00
00 add ecx, 160 ; 000000a0H
00434 e8 00 00 00 00 call ?Close@CAdoRecordSet@@QAEXXZ ; CAdoRecordSet::Close
; 130 : //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; 131 : CDes des;
00439 8d 8d 9c dc ff
ff lea ecx, DWORD PTR _des$37[ebp]
0043f e8 00 00 00 00 call ??0CDes@@QAE@XZ ; CDes::CDes
00444 c6 45 fc 0c mov BYTE PTR __$EHRec$[ebp+12], 12 ; 0000000cH
; 132 : #ifdef UNICODE
; 133 : strcpy(szPasswd , W2A(strPasswd));
00448 8d 4d b4 lea ecx, DWORD PTR _strPasswd$50[ebp]
0044b e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
00450 89 45 dc mov DWORD PTR __lpw$[ebp], eax
00453 83 7d dc 00 cmp DWORD PTR __lpw$[ebp], 0
00457 75 0c jne SHORT $LN47@On_Email
00459 c7 85 60 7d ff
ff 00 00 00 00 mov DWORD PTR tv351[ebp], 0
00463 eb 66 jmp SHORT $LN48@On_Email
$LN47@On_Email:
00465 8b 45 dc mov eax, DWORD PTR __lpw$[ebp]
00468 50 push eax
00469 e8 00 00 00 00 call _wcslen
0046e 83 c4 04 add esp, 4
00471 83 c0 01 add eax, 1
00474 89 45 e4 mov DWORD PTR __convert$[ebp], eax
00477 81 7d e4 ff ff
ff 3f cmp DWORD PTR __convert$[ebp], 1073741823 ; 3fffffffH
0047e 7e 0c jle SHORT $LN45@On_Email
00480 c7 85 5c 7d ff
ff 00 00 00 00 mov DWORD PTR tv350[ebp], 0
0048a eb 33 jmp SHORT $LN46@On_Email
$LN45@On_Email:
0048c 8b 45 e4 mov eax, DWORD PTR __convert$[ebp]
0048f d1 e0 shl eax, 1
00491 e8 00 00 00 00 call __alloca_probe_16
00496 89 a5 58 7d ff
ff mov DWORD PTR tv348[ebp], esp
0049c 89 65 f0 mov DWORD PTR __$EHRec$[ebp], esp
0049f 8b 4d e0 mov ecx, DWORD PTR __acp$[ebp]
004a2 51 push ecx
004a3 8b 55 e4 mov edx, DWORD PTR __convert$[ebp]
004a6 d1 e2 shl edx, 1
004a8 52 push edx
004a9 8b 45 dc mov eax, DWORD PTR __lpw$[ebp]
004ac 50 push eax
004ad 8b 8d 58 7d ff
ff mov ecx, DWORD PTR tv348[ebp]
004b3 51 push ecx
004b4 e8 00 00 00 00 call ?AtlW2AHelper@@YGPADPADPB_WHI@Z ; AtlW2AHelper
004b9 89 85 5c 7d ff
ff mov DWORD PTR tv350[ebp], eax
$LN46@On_Email:
004bf 8b 95 5c 7d ff
ff mov edx, DWORD PTR tv350[ebp]
004c5 89 95 60 7d ff
ff mov DWORD PTR tv351[ebp], edx
$LN48@On_Email:
004cb 8b 85 60 7d ff
ff mov eax, DWORD PTR tv351[ebp]
004d1 50 push eax
004d2 8d 8d 2c ff ff
ff lea ecx, DWORD PTR _szPasswd$46[ebp]
004d8 51 push ecx
004d9 e8 00 00 00 00 call _strcpy
004de 83 c4 08 add esp, 8
; 134 : strcpy(szUserName , W2A(strUserName));
004e1 8d 4d b8 lea ecx, DWORD PTR _strUserName$51[ebp]
004e4 e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
004e9 89 45 dc mov DWORD PTR __lpw$[ebp], eax
004ec 83 7d dc 00 cmp DWORD PTR __lpw$[ebp], 0
004f0 75 0c jne SHORT $LN51@On_Email
004f2 c7 85 60 7d ff
ff 00 00 00 00 mov DWORD PTR tv376[ebp], 0
004fc eb 66 jmp SHORT $LN52@On_Email
$LN51@On_Email:
004fe 8b 45 dc mov eax, DWORD PTR __lpw$[ebp]
00501 50 push eax
00502 e8 00 00 00 00 call _wcslen
00507 83 c4 04 add esp, 4
0050a 83 c0 01 add eax, 1
0050d 89 45 e4 mov DWORD PTR __convert$[ebp], eax
00510 81 7d e4 ff ff
ff 3f cmp DWORD PTR __convert$[ebp], 1073741823 ; 3fffffffH
00517 7e 0c jle SHORT $LN49@On_Email
00519 c7 85 5c 7d ff
ff 00 00 00 00 mov DWORD PTR tv375[ebp], 0
00523 eb 33 jmp SHORT $LN50@On_Email
$LN49@On_Email:
00525 8b 45 e4 mov eax, DWORD PTR __convert$[ebp]
00528 d1 e0 shl eax, 1
0052a e8 00 00 00 00 call __alloca_probe_16
0052f 89 a5 58 7d ff
ff mov DWORD PTR tv373[ebp], esp
00535 89 65 f0 mov DWORD PTR __$EHRec$[ebp], esp
00538 8b 4d e0 mov ecx, DWORD PTR __acp$[ebp]
0053b 51 push ecx
0053c 8b 55 e4 mov edx, DWORD PTR __convert$[ebp]
0053f d1 e2 shl edx, 1
00541 52 push edx
00542 8b 45 dc mov eax, DWORD PTR __lpw$[ebp]
00545 50 push eax
00546 8b 8d 58 7d ff
ff mov ecx, DWORD PTR tv373[ebp]
0054c 51 push ecx
0054d e8 00 00 00 00 call ?AtlW2AHelper@@YGPADPADPB_WHI@Z ; AtlW2AHelper
00552 89 85 5c 7d ff
ff mov DWORD PTR tv375[ebp], eax
$LN50@On_Email:
00558 8b 95 5c 7d ff
ff mov edx, DWORD PTR tv375[ebp]
0055e 89 95 60 7d ff
ff mov DWORD PTR tv376[ebp], edx
$LN52@On_Email:
00564 8b 85 60 7d ff
ff mov eax, DWORD PTR tv376[ebp]
0056a 50 push eax
0056b 8d 8d 6c ff ff
ff lea ecx, DWORD PTR _szUserName$47[ebp]
00571 51 push ecx
00572 e8 00 00 00 00 call _strcpy
00577 83 c4 08 add esp, 8
; 135 : long lOut = sizeof(szPasswd2);
0057a c7 85 98 dc ff
ff 40 00 00 00 mov DWORD PTR _lOut$36[ebp], 64 ; 00000040H
; 136 : des.Decrypt(szPasswd ,strlen(szPasswd),szPasswd2,lOut,szUserName,8);
00584 6a 08 push 8
00586 8d 85 6c ff ff
ff lea eax, DWORD PTR _szUserName$47[ebp]
0058c 50 push eax
0058d 8d 8d 98 dc ff
ff lea ecx, DWORD PTR _lOut$36[ebp]
00593 51 push ecx
00594 8d 95 ec fe ff
ff lea edx, DWORD PTR _szPasswd2$45[ebp]
0059a 52 push edx
0059b 8d 85 2c ff ff
ff lea eax, DWORD PTR _szPasswd$46[ebp]
005a1 50 push eax
005a2 e8 00 00 00 00 call _strlen
005a7 83 c4 04 add esp, 4
005aa 50 push eax
005ab 8d 8d 2c ff ff
ff lea ecx, DWORD PTR _szPasswd$46[ebp]
005b1 51 push ecx
005b2 8d 8d 9c dc ff
ff lea ecx, DWORD PTR _des$37[ebp]
005b8 e8 00 00 00 00 call ?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z ; CDes::Decrypt
; 137 : strPasswd =A2W(szPasswd2);
005bd 8d 85 ec fe ff
ff lea eax, DWORD PTR _szPasswd2$45[ebp]
005c3 89 45 d8 mov DWORD PTR __lpa$[ebp], eax
005c6 83 7d d8 00 cmp DWORD PTR __lpa$[ebp], 0
005ca 75 0c jne SHORT $LN55@On_Email
005cc c7 85 60 7d ff
ff 00 00 00 00 mov DWORD PTR tv404[ebp], 0
005d6 eb 64 jmp SHORT $LN56@On_Email
$LN55@On_Email:
005d8 8b 4d d8 mov ecx, DWORD PTR __lpa$[ebp]
005db 51 push ecx
005dc e8 00 00 00 00 call _strlen
005e1 83 c4 04 add esp, 4
005e4 83 c0 01 add eax, 1
005e7 89 45 e4 mov DWORD PTR __convert$[ebp], eax
005ea 81 7d e4 ff ff
ff 3f cmp DWORD PTR __convert$[ebp], 1073741823 ; 3fffffffH
005f1 7e 0c jle SHORT $LN53@On_Email
005f3 c7 85 5c 7d ff
ff 00 00 00 00 mov DWORD PTR tv403[ebp], 0
005fd eb 31 jmp SHORT $LN54@On_Email
$LN53@On_Email:
005ff 8b 45 e4 mov eax, DWORD PTR __convert$[ebp]
00602 d1 e0 shl eax, 1
00604 e8 00 00 00 00 call __alloca_probe_16
00609 89 a5 58 7d ff
ff mov DWORD PTR tv401[ebp], esp
0060f 89 65 f0 mov DWORD PTR __$EHRec$[ebp], esp
00612 8b 55 e0 mov edx, DWORD PTR __acp$[ebp]
00615 52 push edx
00616 8b 45 e4 mov eax, DWORD PTR __convert$[ebp]
00619 50 push eax
0061a 8b 4d d8 mov ecx, DWORD PTR __lpa$[ebp]
0061d 51 push ecx
0061e 8b 95 58 7d ff
ff mov edx, DWORD PTR tv401[ebp]
00624 52 push edx
00625 e8 00 00 00 00 call ?AtlA2WHelper@@YGPA_WPA_WPBDHI@Z ; AtlA2WHelper
0062a 89 85 5c 7d ff
ff mov DWORD PTR tv403[ebp], eax
$LN54@On_Email:
00630 8b 85 5c 7d ff
ff mov eax, DWORD PTR tv403[ebp]
00636 89 85 60 7d ff
ff mov DWORD PTR tv404[ebp], eax
$LN56@On_Email:
0063c 8b 8d 60 7d ff
ff mov ecx, DWORD PTR tv404[ebp]
00642 51 push ecx
00643 8d 4d b4 lea ecx, DWORD PTR _strPasswd$50[ebp]
00646 e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
; 138 : #else
; 139 : strcpy(szPasswd , strPasswd);
; 140 : strcpy(szUserName , strUserName);
; 141 : long lOut = sizeof(szPasswd2);
; 142 : des.Decrypt(szPasswd ,strlen(szPasswd),szPasswd2,lOut,szUserName,8);
; 143 : strPasswd =szPasswd2;
; 144 : #endif
; 145 : //<2F><>ѯ<EFBFBD><D1AF><EFBFBD>˱<EFBFBD>,<2C><>ȡ<EFBFBD>ô<EFBFBD><C3B4>û<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>˵<EFBFBD><CBB5><EFBFBD>Ϣ
; 146 : long lFiltCount=0;
0064b c7 85 94 dc ff
ff 00 00 00 00 mov DWORD PTR _lFiltCount$35[ebp], 0
; 147 : EmailFilt * pFilt = NULL;
00655 c7 85 90 dc ff
ff 00 00 00 00 mov DWORD PTR _pFilt$34[ebp], 0
; 148 : strSelect.Format( _T("select * from emailfilt where UserID=%d and Status=1 and (EmailID=0 or EmailID is NULL or EmailID=%d)"),lUserID,lID);
0065f 8b 45 cc mov eax, DWORD PTR _lID$56[ebp]
00662 50 push eax
00663 8b 4d c4 mov ecx, DWORD PTR _lUserID$54[ebp]
00666 51 push ecx
00667 68 00 00 00 00 push OFFSET ??_C@_1MM@HLJMBDM@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AA?$CK?$AA?5?$AAf?$AAr?$AAo?$AAm?$AA?5?$AAe@
0066c 8d 55 d4 lea edx, DWORD PTR _strSelect$58[ebp]
0066f 52 push edx
00670 e8 00 00 00 00 call ?Format@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAAXPB_WZZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format
00675 83 c4 10 add esp, 16 ; 00000010H
; 149 : if (m_AdoRS1.Open( strSelect ) && !m_AdoRS1.IsEOF())
00678 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
0067b 05 a0 00 00 00 add eax, 160 ; 000000a0H
00680 89 85 60 7d ff
ff mov DWORD PTR tv423[ebp], eax
00686 6a 03 push 3
00688 6a 03 push 3
0068a 6a 01 push 1
0068c 8d 4d d4 lea ecx, DWORD PTR _strSelect$58[ebp]
0068f e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
00694 50 push eax
00695 8b 8d 60 7d ff
ff mov ecx, DWORD PTR tv423[ebp]
0069b e8 00 00 00 00 call ?Open@CAdoRecordSet@@QAEHPB_WJW4CursorTypeEnum@ADODB@@W4LockTypeEnum@3@@Z ; CAdoRecordSet::Open
006a0 85 c0 test eax, eax
006a2 0f 84 2b 01 00
00 je $LN17@On_Email
006a8 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
006ab 81 c1 a0 00 00
00 add ecx, 160 ; 000000a0H
006b1 e8 00 00 00 00 call ?IsEOF@CAdoRecordSet@@QAEHXZ ; CAdoRecordSet::IsEOF
006b6 85 c0 test eax, eax
006b8 0f 85 15 01 00
00 jne $LN17@On_Email
; 150 : {
; 151 : lFiltCount = m_AdoRS1.GetRecordCount();
006be 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
006c1 81 c1 a0 00 00
00 add ecx, 160 ; 000000a0H
006c7 e8 00 00 00 00 call ?GetRecordCount@CAdoRecordSet@@QAEJXZ ; CAdoRecordSet::GetRecordCount
006cc 89 85 94 dc ff
ff mov DWORD PTR _lFiltCount$35[ebp], eax
; 152 : if ( lFiltCount<0 )
006d2 83 bd 94 dc ff
ff 00 cmp DWORD PTR _lFiltCount$35[ebp], 0
006d9 7d 0a jge SHORT $LN18@On_Email
; 153 : lFiltCount = 0;
006db c7 85 94 dc ff
ff 00 00 00 00 mov DWORD PTR _lFiltCount$35[ebp], 0
$LN18@On_Email:
; 154 : pFilt = new EmailFilt[lFiltCount];
006e5 33 c9 xor ecx, ecx
006e7 8b 85 94 dc ff
ff mov eax, DWORD PTR _lFiltCount$35[ebp]
006ed ba 80 00 00 00 mov edx, 128 ; 00000080H
006f2 f7 e2 mul edx
006f4 0f 90 c1 seto cl
006f7 f7 d9 neg ecx
006f9 0b c8 or ecx, eax
006fb 51 push ecx
006fc e8 00 00 00 00 call ??_U@YAPAXI@Z ; operator new[]
00701 83 c4 04 add esp, 4
00704 89 85 70 7d ff
ff mov DWORD PTR $T5[ebp], eax
0070a 8b 85 70 7d ff
ff mov eax, DWORD PTR $T5[ebp]
00710 89 85 90 dc ff
ff mov DWORD PTR _pFilt$34[ebp], eax
; 155 : memset(pFilt , 0 , sizeof(EmailFilt)*lFiltCount);
00716 8b 85 94 dc ff
ff mov eax, DWORD PTR _lFiltCount$35[ebp]
0071c c1 e0 07 shl eax, 7
0071f 50 push eax
00720 6a 00 push 0
00722 8b 8d 90 dc ff
ff mov ecx, DWORD PTR _pFilt$34[ebp]
00728 51 push ecx
00729 e8 00 00 00 00 call _memset
0072e 83 c4 0c add esp, 12 ; 0000000cH
; 156 : m_AdoRS1.MoveFirst();
00731 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
00734 81 c1 a0 00 00
00 add ecx, 160 ; 000000a0H
0073a e8 00 00 00 00 call ?MoveFirst@CAdoRecordSet@@QAEHXZ ; CAdoRecordSet::MoveFirst
; 157 : int i = 0;
0073f c7 85 8c dc ff
ff 00 00 00 00 mov DWORD PTR _i$33[ebp], 0
$LN4@On_Email:
; 158 : while ( !m_AdoRS1.IsEOF() )
00749 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
0074c 81 c1 a0 00 00
00 add ecx, 160 ; 000000a0H
00752 e8 00 00 00 00 call ?IsEOF@CAdoRecordSet@@QAEHXZ ; CAdoRecordSet::IsEOF
00757 85 c0 test eax, eax
00759 75 6a jne SHORT $LN5@On_Email
; 159 : {
; 160 : m_AdoRS1.GetCollect( _T("Name") , strTemp );
0075b 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
0075e 05 a0 00 00 00 add eax, 160 ; 000000a0H
00763 89 85 60 7d ff
ff mov DWORD PTR tv459[ebp], eax
00769 8d 4d ac lea ecx, DWORD PTR _strTemp$48[ebp]
0076c 51 push ecx
0076d 68 00 00 00 00 push OFFSET ??_C@_19DINFBLAK@?$AAN?$AAa?$AAm?$AAe@
00772 8b 8d 60 7d ff
ff mov ecx, DWORD PTR tv459[ebp]
00778 e8 00 00 00 00 call ?GetCollect@CAdoRecordSet@@QAEHPB_WAAV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@Z ; CAdoRecordSet::GetCollect
; 161 : strTemp.MakeUpper();
0077d 8d 4d ac lea ecx, DWORD PTR _strTemp$48[ebp]
00780 e8 00 00 00 00 call ?MakeUpper@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV12@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeUpper
; 162 : _tcscpy(pFilt[i].szFilt,strTemp);
00785 8d 4d ac lea ecx, DWORD PTR _strTemp$48[ebp]
00788 e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
0078d 50 push eax
0078e 8b 85 8c dc ff
ff mov eax, DWORD PTR _i$33[ebp]
00794 c1 e0 07 shl eax, 7
00797 03 85 90 dc ff
ff add eax, DWORD PTR _pFilt$34[ebp]
0079d 50 push eax
0079e e8 00 00 00 00 call _wcscpy
007a3 83 c4 08 add esp, 8
; 163 : m_AdoRS1.MoveNext();
007a6 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
007a9 81 c1 a0 00 00
00 add ecx, 160 ; 000000a0H
007af e8 00 00 00 00 call ?MoveNext@CAdoRecordSet@@QAEHXZ ; CAdoRecordSet::MoveNext
; 164 : i ++;
007b4 8b 85 8c dc ff
ff mov eax, DWORD PTR _i$33[ebp]
007ba 83 c0 01 add eax, 1
007bd 89 85 8c dc ff
ff mov DWORD PTR _i$33[ebp], eax
; 165 : }
007c3 eb 84 jmp SHORT $LN4@On_Email
$LN5@On_Email:
; 166 : m_AdoRS1.Close();
007c5 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
007c8 81 c1 a0 00 00
00 add ecx, 160 ; 000000a0H
007ce e8 00 00 00 00 call ?Close@CAdoRecordSet@@QAEXXZ ; CAdoRecordSet::Close
$LN17@On_Email:
; 167 : }
; 168 : //<2F><>ʼȡEmail
; 169 : CPop3Connection pop;
007d3 8d 8d 40 dc ff
ff lea ecx, DWORD PTR _pop$32[ebp]
007d9 e8 00 00 00 00 call ??0CPop3Connection@@QAE@XZ ; CPop3Connection::CPop3Connection
007de c6 45 fc 0d mov BYTE PTR __$EHRec$[ebp+12], 13 ; 0000000dH
; 170 : CPop3Message popmsg;
007e2 8d 8d 3c dc ff
ff lea ecx, DWORD PTR _popmsg$31[ebp]
007e8 e8 00 00 00 00 call ??0CPop3Message@@QAE@XZ ; CPop3Message::CPop3Message
007ed c6 45 fc 0e mov BYTE PTR __$EHRec$[ebp+12], 14 ; 0000000eH
; 171 : int iMailCount=0;
007f1 c7 85 38 dc ff
ff 00 00 00 00 mov DWORD PTR _iMailCount$30[ebp], 0
; 172 : int iMailSize=0;
007fb c7 85 34 dc ff
ff 00 00 00 00 mov DWORD PTR _iMailSize$29[ebp], 0
; 173 : if ( pop.Connect(strIP,strUserName,strPasswd) )
00805 8d 4d b4 lea ecx, DWORD PTR _strPasswd$50[ebp]
00808 e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
0080d 89 85 60 7d ff
ff mov DWORD PTR tv511[ebp], eax
00813 8d 4d b8 lea ecx, DWORD PTR _strUserName$51[ebp]
00816 e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
0081b 89 85 5c 7d ff
ff mov DWORD PTR tv509[ebp], eax
00821 8d 4d bc lea ecx, DWORD PTR _strIP$52[ebp]
00824 e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
00829 89 85 58 7d ff
ff mov DWORD PTR tv507[ebp], eax
0082f 6a 6e push 110 ; 0000006eH
00831 8b 85 60 7d ff
ff mov eax, DWORD PTR tv511[ebp]
00837 50 push eax
00838 8b 8d 5c 7d ff
ff mov ecx, DWORD PTR tv509[ebp]
0083e 51 push ecx
0083f 8b 95 58 7d ff
ff mov edx, DWORD PTR tv507[ebp]
00845 52 push edx
00846 8d 8d 40 dc ff
ff lea ecx, DWORD PTR _pop$32[ebp]
0084c e8 00 00 00 00 call ?Connect@CPop3Connection@@QAEHPB_W00H@Z ; CPop3Connection::Connect
00851 85 c0 test eax, eax
00853 0f 84 f1 06 00
00 je $LN19@On_Email
; 174 : {
; 175 : if ( !pop.Statistics(iMailCount, iMailSize) )
00859 8d 85 34 dc ff
ff lea eax, DWORD PTR _iMailSize$29[ebp]
0085f 50 push eax
00860 8d 8d 38 dc ff
ff lea ecx, DWORD PTR _iMailCount$30[ebp]
00866 51 push ecx
00867 8d 8d 40 dc ff
ff lea ecx, DWORD PTR _pop$32[ebp]
0086d e8 00 00 00 00 call ?Statistics@CPop3Connection@@QAEHAAH0@Z ; CPop3Connection::Statistics
00872 85 c0 test eax, eax
00874 75 14 jne SHORT $LN20@On_Email
; 176 : {
; 177 : iMailCount = 0;
00876 c7 85 38 dc ff
ff 00 00 00 00 mov DWORD PTR _iMailCount$30[ebp], 0
; 178 : iMailSize = 0;
00880 c7 85 34 dc ff
ff 00 00 00 00 mov DWORD PTR _iMailSize$29[ebp], 0
$LN20@On_Email:
; 179 : }
; 180 : int iNoDayCount=0;
0088a c7 85 30 dc ff
ff 00 00 00 00 mov DWORD PTR _iNoDayCount$28[ebp], 0
; 181 : int iNoInDB=0;
00894 c7 85 2c dc ff
ff 00 00 00 00 mov DWORD PTR _iNoInDB$27[ebp], 0
; 182 : //ȡEmail From ,subject ,id <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; 183 : for ( int i=iMailCount;i>0;i-- )
0089e 8b 85 38 dc ff
ff mov eax, DWORD PTR _iMailCount$30[ebp]
008a4 89 85 28 dc ff
ff mov DWORD PTR _i$26[ebp], eax
008aa eb 0f jmp SHORT $LN8@On_Email
$LN6@On_Email:
008ac 8b 85 28 dc ff
ff mov eax, DWORD PTR _i$26[ebp]
008b2 83 e8 01 sub eax, 1
008b5 89 85 28 dc ff
ff mov DWORD PTR _i$26[ebp], eax
$LN8@On_Email:
008bb 83 bd 28 dc ff
ff 00 cmp DWORD PTR _i$26[ebp], 0
008c2 0f 8e 82 06 00
00 jle $LN19@On_Email
; 184 : {
; 185 : if ( !pop.GetMessageHeader(i,popmsg) )
008c8 8d 85 3c dc ff
ff lea eax, DWORD PTR _popmsg$31[ebp]
008ce 50 push eax
008cf 8b 8d 28 dc ff
ff mov ecx, DWORD PTR _i$26[ebp]
008d5 51 push ecx
008d6 8d 8d 40 dc ff
ff lea ecx, DWORD PTR _pop$32[ebp]
008dc e8 00 00 00 00 call ?GetMessageHeader@CPop3Connection@@QAEHHAAVCPop3Message@@@Z ; CPop3Connection::GetMessageHeader
008e1 85 c0 test eax, eax
008e3 75 05 jne SHORT $LN21@On_Email
; 186 : break;
008e5 e9 60 06 00 00 jmp $LN19@On_Email
$LN21@On_Email:
; 187 : //<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>
; 188 : CString strDate = popmsg.GetDate();
008ea 8d 85 24 dc ff
ff lea eax, DWORD PTR _strDate$25[ebp]
008f0 50 push eax
008f1 8d 8d 3c dc ff
ff lea ecx, DWORD PTR _popmsg$31[ebp]
008f7 e8 00 00 00 00 call ?GetDate@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ ; CPop3Message::GetDate
008fc c6 45 fc 0f mov BYTE PTR __$EHRec$[ebp+12], 15 ; 0000000fH
; 189 : strDate.Replace( _T("GMT") , _T("") );
00900 68 00 00 00 00 push OFFSET ??_C@_11LOCGONAA@@
00905 68 00 00 00 00 push OFFSET ??_C@_17EOCMGKCF@?$AAG?$AAM?$AAT@
0090a 8d 8d 24 dc ff
ff lea ecx, DWORD PTR _strDate$25[ebp]
00910 e8 00 00 00 00 call ?Replace@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPB_W0@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace
; 190 : int iStart = strDate.Find(',');
00915 6a 00 push 0
00917 6a 2c push 44 ; 0000002cH
00919 8d 8d 24 dc ff
ff lea ecx, DWORD PTR _strDate$25[ebp]
0091f e8 00 00 00 00 call ?Find@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEH_WH@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find
00924 89 85 20 dc ff
ff mov DWORD PTR _iStart$24[ebp], eax
; 191 : if ( iStart <=0 || iStart>strDate.GetLength()/2)
0092a 83 bd 20 dc ff
ff 00 cmp DWORD PTR _iStart$24[ebp], 0
00931 7e 18 jle SHORT $LN24@On_Email
00933 8d 8d 24 dc ff
ff lea ecx, DWORD PTR _strDate$25[ebp]
00939 e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
0093e 99 cdq
0093f 2b c2 sub eax, edx
00941 d1 f8 sar eax, 1
00943 39 85 20 dc ff
ff cmp DWORD PTR _iStart$24[ebp], eax
00949 7e 0c jle SHORT $LN22@On_Email
$LN24@On_Email:
; 192 : iStart = 0;
0094b c7 85 20 dc ff
ff 00 00 00 00 mov DWORD PTR _iStart$24[ebp], 0
00955 eb 0f jmp SHORT $LN23@On_Email
$LN22@On_Email:
; 193 : else
; 194 : iStart += 1;
00957 8b 85 20 dc ff
ff mov eax, DWORD PTR _iStart$24[ebp]
0095d 83 c0 01 add eax, 1
00960 89 85 20 dc ff
ff mov DWORD PTR _iStart$24[ebp], eax
$LN23@On_Email:
; 195 : int iEnd = strDate.FindOneOf(_T("+-"));
00966 68 00 00 00 00 push OFFSET ??_C@_15HBAONMEK@?$AA?$CL?$AA?9@
0096b 8d 8d 24 dc ff
ff lea ecx, DWORD PTR _strDate$25[ebp]
00971 e8 00 00 00 00 call ?FindOneOf@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEHPB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FindOneOf
00976 89 85 1c dc ff
ff mov DWORD PTR _iEnd$23[ebp], eax
; 196 : if ( iEnd <=0 || iEnd > strDate.GetLength() )
0097c 83 bd 1c dc ff
ff 00 cmp DWORD PTR _iEnd$23[ebp], 0
00983 7e 13 jle SHORT $LN26@On_Email
00985 8d 8d 24 dc ff
ff lea ecx, DWORD PTR _strDate$25[ebp]
0098b e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
00990 39 85 1c dc ff
ff cmp DWORD PTR _iEnd$23[ebp], eax
00996 7e 11 jle SHORT $LN25@On_Email
$LN26@On_Email:
; 197 : iEnd = strDate.GetLength();
00998 8d 8d 24 dc ff
ff lea ecx, DWORD PTR _strDate$25[ebp]
0099e e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
009a3 89 85 1c dc ff
ff mov DWORD PTR _iEnd$23[ebp], eax
$LN25@On_Email:
; 198 : CString strTime = strDate.Mid(iStart , iEnd-iStart );
009a9 8b 85 1c dc ff
ff mov eax, DWORD PTR _iEnd$23[ebp]
009af 2b 85 20 dc ff
ff sub eax, DWORD PTR _iStart$24[ebp]
009b5 50 push eax
009b6 8b 8d 20 dc ff
ff mov ecx, DWORD PTR _iStart$24[ebp]
009bc 51 push ecx
009bd 8d 95 18 dc ff
ff lea edx, DWORD PTR _strTime$22[ebp]
009c3 52 push edx
009c4 8d 8d 24 dc ff
ff lea ecx, DWORD PTR _strDate$25[ebp]
009ca e8 00 00 00 00 call ?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid
009cf c6 45 fc 10 mov BYTE PTR __$EHRec$[ebp+12], 16 ; 00000010H
; 199 : strTime.TrimLeft();
009d3 8d 8d 18 dc ff
ff lea ecx, DWORD PTR _strTime$22[ebp]
009d9 e8 00 00 00 00 call ?TrimLeft@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV12@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft
; 200 : strTime.TrimRight();
009de 8d 8d 18 dc ff
ff lea ecx, DWORD PTR _strTime$22[ebp]
009e4 e8 00 00 00 00 call ?TrimRight@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV12@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight
; 201 : COleDateTime abc;
009e9 8d 8d 0c dc ff
ff lea ecx, DWORD PTR _abc$21[ebp]
009ef e8 00 00 00 00 call ??0COleDateTime@ATL@@QAE@XZ ; ATL::COleDateTime::COleDateTime
; 202 : abc.ParseDateTime(strTime,VAR_DATEVALUEONLY);
009f4 68 00 04 00 00 push 1024 ; 00000400H
009f9 6a 02 push 2
009fb 8d 8d 18 dc ff
ff lea ecx, DWORD PTR _strTime$22[ebp]
00a01 e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
00a06 50 push eax
00a07 8d 8d 0c dc ff
ff lea ecx, DWORD PTR _abc$21[ebp]
00a0d e8 00 00 00 00 call ?ParseDateTime@COleDateTime@ATL@@QAE_NPB_WKK@Z ; ATL::COleDateTime::ParseDateTime
; 203 : if ( abc.GetStatus() == COleDateTime::valid )
00a12 8d 8d 0c dc ff
ff lea ecx, DWORD PTR _abc$21[ebp]
00a18 e8 00 00 00 00 call ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus
00a1d 85 c0 test eax, eax
00a1f 0f 85 c3 00 00
00 jne $LN27@On_Email
; 204 : {
; 205 : SYSTEMTIME t;
; 206 : ::GetSystemTime(&t);
00a25 8d 85 fc db ff
ff lea eax, DWORD PTR _t$20[ebp]
00a2b 50 push eax
00a2c ff 15 00 00 00
00 call DWORD PTR __imp__GetSystemTime@4
; 207 : if ( abc.GetYear() != t.wYear ||
; 208 : abc.GetMonth() != t.wMonth ||
00a32 8d 8d 0c dc ff
ff lea ecx, DWORD PTR _abc$21[ebp]
00a38 e8 00 00 00 00 call ?GetYear@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetYear
00a3d 0f b7 8d fc db
ff ff movzx ecx, WORD PTR _t$20[ebp]
00a44 3b c1 cmp eax, ecx
00a46 75 2c jne SHORT $LN30@On_Email
00a48 8d 8d 0c dc ff
ff lea ecx, DWORD PTR _abc$21[ebp]
00a4e e8 00 00 00 00 call ?GetMonth@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetMonth
00a53 0f b7 8d fe db
ff ff movzx ecx, WORD PTR _t$20[ebp+2]
00a5a 3b c1 cmp eax, ecx
00a5c 75 16 jne SHORT $LN30@On_Email
00a5e 8d 8d 0c dc ff
ff lea ecx, DWORD PTR _abc$21[ebp]
00a64 e8 00 00 00 00 call ?GetDay@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetDay
00a69 0f b7 8d 02 dc
ff ff movzx ecx, WORD PTR _t$20[ebp+6]
00a70 3b c1 cmp eax, ecx
00a72 74 60 je SHORT $LN29@On_Email
$LN30@On_Email:
; 209 : abc.GetDay() != t.wDay )
; 210 : {
; 211 : iNoDayCount ++ ;
00a74 8b 85 30 dc ff
ff mov eax, DWORD PTR _iNoDayCount$28[ebp]
00a7a 83 c0 01 add eax, 1
00a7d 89 85 30 dc ff
ff mov DWORD PTR _iNoDayCount$28[ebp], eax
; 212 : if ( iNoDayCount >= 3 ) //<2F><><EFBFBD>ڲ<EFBFBD><DAB2>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨ<CDA8><D6AA>ֱ<EFBFBD><D6B1><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>
00a83 83 bd 30 dc ff
ff 03 cmp DWORD PTR _iNoDayCount$28[ebp], 3
00a8a 7c 25 jl SHORT $LN31@On_Email
; 213 : {
; 214 : break;
00a8c c6 45 fc 0f mov BYTE PTR __$EHRec$[ebp+12], 15 ; 0000000fH
00a90 8d 8d 18 dc ff
ff lea ecx, DWORD PTR _strTime$22[ebp]
00a96 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00a9b c6 45 fc 0e mov BYTE PTR __$EHRec$[ebp+12], 14 ; 0000000eH
00a9f 8d 8d 24 dc ff
ff lea ecx, DWORD PTR _strDate$25[ebp]
00aa5 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00aaa e9 9b 04 00 00 jmp $LN19@On_Email
; 215 : }
00aaf eb 23 jmp SHORT $LN29@On_Email
$LN31@On_Email:
; 216 : else
; 217 : {
; 218 : continue; //<2F><><EFBFBD>ڲ<EFBFBD><DAB2>ԣ<EFBFBD><D4A3><EFBFBD><EFBFBD><EFBFBD>
00ab1 c6 45 fc 0f mov BYTE PTR __$EHRec$[ebp+12], 15 ; 0000000fH
00ab5 8d 8d 18 dc ff
ff lea ecx, DWORD PTR _strTime$22[ebp]
00abb e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00ac0 c6 45 fc 0e mov BYTE PTR __$EHRec$[ebp+12], 14 ; 0000000eH
00ac4 8d 8d 24 dc ff
ff lea ecx, DWORD PTR _strDate$25[ebp]
00aca e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00acf e9 d8 fd ff ff jmp $LN6@On_Email
$LN29@On_Email:
; 219 : }
; 220 : }
; 221 : abc.GetAsSystemTime(t);
00ad4 8d 85 fc db ff
ff lea eax, DWORD PTR _t$20[ebp]
00ada 50 push eax
00adb 8d 8d 0c dc ff
ff lea ecx, DWORD PTR _abc$21[ebp]
00ae1 e8 00 00 00 00 call ?GetAsSystemTime@COleDateTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z ; ATL::COleDateTime::GetAsSystemTime
; 222 : }
00ae6 eb 60 jmp SHORT $LN28@On_Email
$LN27@On_Email:
; 223 : else
; 224 : {
; 225 : iNoDayCount ++ ;
00ae8 8b 85 30 dc ff
ff mov eax, DWORD PTR _iNoDayCount$28[ebp]
00aee 83 c0 01 add eax, 1
00af1 89 85 30 dc ff
ff mov DWORD PTR _iNoDayCount$28[ebp], eax
; 226 : if ( iNoDayCount >= 3 ) //<2F><><EFBFBD>ڲ<EFBFBD><DAB2>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨ<CDA8><D6AA>ֱ<EFBFBD><D6B1><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>
00af7 83 bd 30 dc ff
ff 03 cmp DWORD PTR _iNoDayCount$28[ebp], 3
00afe 7c 25 jl SHORT $LN33@On_Email
; 227 : {
; 228 : break;
00b00 c6 45 fc 0f mov BYTE PTR __$EHRec$[ebp+12], 15 ; 0000000fH
00b04 8d 8d 18 dc ff
ff lea ecx, DWORD PTR _strTime$22[ebp]
00b0a e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00b0f c6 45 fc 0e mov BYTE PTR __$EHRec$[ebp+12], 14 ; 0000000eH
00b13 8d 8d 24 dc ff
ff lea ecx, DWORD PTR _strDate$25[ebp]
00b19 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00b1e e9 27 04 00 00 jmp $LN19@On_Email
; 229 : }
00b23 eb 23 jmp SHORT $LN28@On_Email
$LN33@On_Email:
; 230 : else
; 231 : {
; 232 : continue; //<2F><><EFBFBD>ڲ<EFBFBD><DAB2>ԣ<EFBFBD><D4A3><EFBFBD><EFBFBD><EFBFBD>
00b25 c6 45 fc 0f mov BYTE PTR __$EHRec$[ebp+12], 15 ; 0000000fH
00b29 8d 8d 18 dc ff
ff lea ecx, DWORD PTR _strTime$22[ebp]
00b2f e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00b34 c6 45 fc 0e mov BYTE PTR __$EHRec$[ebp+12], 14 ; 0000000eH
00b38 8d 8d 24 dc ff
ff lea ecx, DWORD PTR _strDate$25[ebp]
00b3e e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00b43 e9 64 fd ff ff jmp $LN6@On_Email
$LN28@On_Email:
; 233 : }
; 234 : }
; 235 : //<2F>ж<EFBFBD>MsgID<49>Ƿ<EFBFBD><C7B7>Ѵ<EFBFBD><D1B4><EFBFBD>
; 236 : CString strMsgID = popmsg.GetMsgID();
00b48 8d 85 f8 db ff
ff lea eax, DWORD PTR _strMsgID$19[ebp]
00b4e 50 push eax
00b4f 8d 8d 3c dc ff
ff lea ecx, DWORD PTR _popmsg$31[ebp]
00b55 e8 00 00 00 00 call ?GetMsgID@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ ; CPop3Message::GetMsgID
00b5a c6 45 fc 11 mov BYTE PTR __$EHRec$[ebp+12], 17 ; 00000011H
; 237 : strMsgID.TrimLeft();
00b5e 8d 8d f8 db ff
ff lea ecx, DWORD PTR _strMsgID$19[ebp]
00b64 e8 00 00 00 00 call ?TrimLeft@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV12@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft
; 238 : strMsgID.TrimRight();
00b69 8d 8d f8 db ff
ff lea ecx, DWORD PTR _strMsgID$19[ebp]
00b6f e8 00 00 00 00 call ?TrimRight@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV12@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight
; 239 : if ( strMsgID.GetLength() <= 0 || strMsgID.GetLength() > 60 )
00b74 8d 8d f8 db ff
ff lea ecx, DWORD PTR _strMsgID$19[ebp]
00b7a e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
00b7f 85 c0 test eax, eax
00b81 7e 10 jle SHORT $LN36@On_Email
00b83 8d 8d f8 db ff
ff lea ecx, DWORD PTR _strMsgID$19[ebp]
00b89 e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
00b8e 83 f8 3c cmp eax, 60 ; 0000003cH
00b91 7e 32 jle SHORT $LN35@On_Email
$LN36@On_Email:
; 240 : continue;
00b93 c6 45 fc 10 mov BYTE PTR __$EHRec$[ebp+12], 16 ; 00000010H
00b97 8d 8d f8 db ff
ff lea ecx, DWORD PTR _strMsgID$19[ebp]
00b9d e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00ba2 c6 45 fc 0f mov BYTE PTR __$EHRec$[ebp+12], 15 ; 0000000fH
00ba6 8d 8d 18 dc ff
ff lea ecx, DWORD PTR _strTime$22[ebp]
00bac e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00bb1 c6 45 fc 0e mov BYTE PTR __$EHRec$[ebp+12], 14 ; 0000000eH
00bb5 8d 8d 24 dc ff
ff lea ecx, DWORD PTR _strDate$25[ebp]
00bbb e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00bc0 e9 e7 fc ff ff jmp $LN6@On_Email
$LN35@On_Email:
; 241 : strMsgID.Replace(_T("'"),_T("''")); //<2F><>ֹ'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
00bc5 68 00 00 00 00 push OFFSET ??_C@_15GJHBPMFF@?$AA?8?$AA?8@
00bca 68 00 00 00 00 push OFFSET ??_C@_13ODFOLHGE@?$AA?8@
00bcf 8d 8d f8 db ff
ff lea ecx, DWORD PTR _strMsgID$19[ebp]
00bd5 e8 00 00 00 00 call ?Replace@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPB_W0@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace
; 242 : strSelect.Format( _T("select * from emailid where UserID=%d and MsgID='%s'"),lUserID,strMsgID);
00bda 8b 85 f8 db ff
ff mov eax, DWORD PTR _strMsgID$19[ebp]
00be0 50 push eax
00be1 8b 4d c4 mov ecx, DWORD PTR _lUserID$54[ebp]
00be4 51 push ecx
00be5 68 00 00 00 00 push OFFSET ??_C@_1GK@CGOIPJPF@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AA?$CK?$AA?5?$AAf?$AAr?$AAo?$AAm?$AA?5?$AAe@
00bea 8d 55 d4 lea edx, DWORD PTR _strSelect$58[ebp]
00bed 52 push edx
00bee e8 00 00 00 00 call ?Format@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAAXPB_WZZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format
00bf3 83 c4 10 add esp, 16 ; 00000010H
; 243 : if ( m_AdoRS1.Open(strSelect) && m_AdoRS1.GetRecordCount()> 0 ) //<2F>Ѵ<EFBFBD><D1B4>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD>
00bf6 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
00bf9 05 a0 00 00 00 add eax, 160 ; 000000a0H
00bfe 89 85 60 7d ff
ff mov DWORD PTR tv646[ebp], eax
00c04 6a 03 push 3
00c06 6a 03 push 3
00c08 6a 01 push 1
00c0a 8d 4d d4 lea ecx, DWORD PTR _strSelect$58[ebp]
00c0d e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
00c12 50 push eax
00c13 8b 8d 60 7d ff
ff mov ecx, DWORD PTR tv646[ebp]
00c19 e8 00 00 00 00 call ?Open@CAdoRecordSet@@QAEHPB_WJW4CursorTypeEnum@ADODB@@W4LockTypeEnum@3@@Z ; CAdoRecordSet::Open
00c1e 85 c0 test eax, eax
00c20 0f 84 a2 00 00
00 je $LN37@On_Email
00c26 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
00c29 81 c1 a0 00 00
00 add ecx, 160 ; 000000a0H
00c2f e8 00 00 00 00 call ?GetRecordCount@CAdoRecordSet@@QAEJXZ ; CAdoRecordSet::GetRecordCount
00c34 85 c0 test eax, eax
00c36 0f 8e 8c 00 00
00 jle $LN37@On_Email
; 244 : {
; 245 : m_AdoRS1.Close();
00c3c 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
00c3f 81 c1 a0 00 00
00 add ecx, 160 ; 000000a0H
00c45 e8 00 00 00 00 call ?Close@CAdoRecordSet@@QAEXXZ ; CAdoRecordSet::Close
; 246 : iNoInDB ++;
00c4a 8b 85 2c dc ff
ff mov eax, DWORD PTR _iNoInDB$27[ebp]
00c50 83 c0 01 add eax, 1
00c53 89 85 2c dc ff
ff mov DWORD PTR _iNoInDB$27[ebp], eax
; 247 : if ( iNoInDB >= 2 ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF>д<EFBFBD><D0B4>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD>˳<EFBFBD>
00c59 83 bd 2c dc ff
ff 02 cmp DWORD PTR _iNoInDB$27[ebp], 2
00c60 7c 34 jl SHORT $LN38@On_Email
; 248 : {
; 249 : break;
00c62 c6 45 fc 10 mov BYTE PTR __$EHRec$[ebp+12], 16 ; 00000010H
00c66 8d 8d f8 db ff
ff lea ecx, DWORD PTR _strMsgID$19[ebp]
00c6c e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00c71 c6 45 fc 0f mov BYTE PTR __$EHRec$[ebp+12], 15 ; 0000000fH
00c75 8d 8d 18 dc ff
ff lea ecx, DWORD PTR _strTime$22[ebp]
00c7b e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00c80 c6 45 fc 0e mov BYTE PTR __$EHRec$[ebp+12], 14 ; 0000000eH
00c84 8d 8d 24 dc ff
ff lea ecx, DWORD PTR _strDate$25[ebp]
00c8a e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00c8f e9 b6 02 00 00 jmp $LN19@On_Email
; 250 : }
00c94 eb 32 jmp SHORT $LN37@On_Email
$LN38@On_Email:
; 251 : else
; 252 : {
; 253 : continue; //<2F><><EFBFBD>ڲ<EFBFBD><DAB2>ԣ<EFBFBD><D4A3><EFBFBD><EFBFBD><EFBFBD>
00c96 c6 45 fc 10 mov BYTE PTR __$EHRec$[ebp+12], 16 ; 00000010H
00c9a 8d 8d f8 db ff
ff lea ecx, DWORD PTR _strMsgID$19[ebp]
00ca0 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00ca5 c6 45 fc 0f mov BYTE PTR __$EHRec$[ebp+12], 15 ; 0000000fH
00ca9 8d 8d 18 dc ff
ff lea ecx, DWORD PTR _strTime$22[ebp]
00caf e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00cb4 c6 45 fc 0e mov BYTE PTR __$EHRec$[ebp+12], 14 ; 0000000eH
00cb8 8d 8d 24 dc ff
ff lea ecx, DWORD PTR _strDate$25[ebp]
00cbe e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00cc3 e9 e4 fb ff ff jmp $LN6@On_Email
$LN37@On_Email:
; 254 : }
; 255 : }
; 256 : //û<>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD>EmailID<49><44>
; 257 : strSelect.Format( _T("insert into emailid (CorpID,UserID,MsgID,AddTime) values (%d,%d,'%s',GETDATE())") , lCorpID,lUserID,strMsgID );
00cc8 8b 85 f8 db ff
ff mov eax, DWORD PTR _strMsgID$19[ebp]
00cce 50 push eax
00ccf 8b 4d c4 mov ecx, DWORD PTR _lUserID$54[ebp]
00cd2 51 push ecx
00cd3 8b 55 c8 mov edx, DWORD PTR _lCorpID$55[ebp]
00cd6 52 push edx
00cd7 68 00 00 00 00 push OFFSET ??_C@_1KC@GLDKPFCI@?$AAi?$AAn?$AAs?$AAe?$AAr?$AAt?$AA?5?$AAi?$AAn?$AAt?$AAo?$AA?5?$AA?5?$AAe?$AAm@
00cdc 8d 45 d4 lea eax, DWORD PTR _strSelect$58[ebp]
00cdf 50 push eax
00ce0 e8 00 00 00 00 call ?Format@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAAXPB_WZZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format
00ce5 83 c4 14 add esp, 20 ; 00000014H
; 258 : m_AdoRS1.Open(strSelect);
00ce8 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
00ceb 05 a0 00 00 00 add eax, 160 ; 000000a0H
00cf0 89 85 60 7d ff
ff mov DWORD PTR tv675[ebp], eax
00cf6 6a 03 push 3
00cf8 6a 03 push 3
00cfa 6a 01 push 1
00cfc 8d 4d d4 lea ecx, DWORD PTR _strSelect$58[ebp]
00cff e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
00d04 50 push eax
00d05 8b 8d 60 7d ff
ff mov ecx, DWORD PTR tv675[ebp]
00d0b e8 00 00 00 00 call ?Open@CAdoRecordSet@@QAEHPB_WJW4CursorTypeEnum@ADODB@@W4LockTypeEnum@3@@Z ; CAdoRecordSet::Open
; 259 : m_AdoRS1.Close();
00d10 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
00d13 81 c1 a0 00 00
00 add ecx, 160 ; 000000a0H
00d19 e8 00 00 00 00 call ?Close@CAdoRecordSet@@QAEXXZ ; CAdoRecordSet::Close
; 260 :
; 261 : CString strFrom = popmsg.GetFrom();
00d1e 8d 85 f4 db ff
ff lea eax, DWORD PTR _strFrom$18[ebp]
00d24 50 push eax
00d25 8d 8d 3c dc ff
ff lea ecx, DWORD PTR _popmsg$31[ebp]
00d2b e8 00 00 00 00 call ?GetFrom@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ ; CPop3Message::GetFrom
00d30 c6 45 fc 12 mov BYTE PTR __$EHRec$[ebp+12], 18 ; 00000012H
; 262 : CString strFromMin = popmsg.GetFrom_Min();
00d34 8d 85 f0 db ff
ff lea eax, DWORD PTR _strFromMin$17[ebp]
00d3a 50 push eax
00d3b 8d 8d 3c dc ff
ff lea ecx, DWORD PTR _popmsg$31[ebp]
00d41 e8 00 00 00 00 call ?GetFrom_Min@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ ; CPop3Message::GetFrom_Min
00d46 c6 45 fc 13 mov BYTE PTR __$EHRec$[ebp+12], 19 ; 00000013H
; 263 : CString strSubject = popmsg.GetSubject();
00d4a 8d 85 ec db ff
ff lea eax, DWORD PTR _strSubject$16[ebp]
00d50 50 push eax
00d51 8d 8d 3c dc ff
ff lea ecx, DWORD PTR _popmsg$31[ebp]
00d57 e8 00 00 00 00 call ?GetSubject@CPop3Message@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@XZ ; CPop3Message::GetSubject
00d5c c6 45 fc 14 mov BYTE PTR __$EHRec$[ebp+12], 20 ; 00000014H
; 264 :
; 265 :
; 266 : //<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>˵<EFBFBD>Email
; 267 : BOOL bSend = false;
00d60 c7 85 e8 db ff
ff 00 00 00 00 mov DWORD PTR _bSend$15[ebp], 0
; 268 : strFrom.MakeUpper();
00d6a 8d 8d f4 db ff
ff lea ecx, DWORD PTR _strFrom$18[ebp]
00d70 e8 00 00 00 00 call ?MakeUpper@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV12@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeUpper
; 269 : for ( int j=0;j<lFiltCount;j++)
00d75 c7 85 e4 db ff
ff 00 00 00 00 mov DWORD PTR _j$14[ebp], 0
00d7f eb 0f jmp SHORT $LN11@On_Email
$LN9@On_Email:
00d81 8b 85 e4 db ff
ff mov eax, DWORD PTR _j$14[ebp]
00d87 83 c0 01 add eax, 1
00d8a 89 85 e4 db ff
ff mov DWORD PTR _j$14[ebp], eax
$LN11@On_Email:
00d90 8b 85 e4 db ff
ff mov eax, DWORD PTR _j$14[ebp]
00d96 3b 85 94 dc ff
ff cmp eax, DWORD PTR _lFiltCount$35[ebp]
00d9c 7d 5c jge SHORT $LN10@On_Email
; 270 : {
; 271 : if ( !_tcscmp(pFilt[j].szFilt,_T("<22><><EFBFBD><EFBFBD>") ) )
00d9e 68 00 00 00 00 push OFFSET ??_C@_15JCAHOCDC@?$AA?$EA?$AA?7@
00da3 8b 85 e4 db ff
ff mov eax, DWORD PTR _j$14[ebp]
00da9 c1 e0 07 shl eax, 7
00dac 03 85 90 dc ff
ff add eax, DWORD PTR _pFilt$34[ebp]
00db2 50 push eax
00db3 e8 00 00 00 00 call _wcscmp
00db8 83 c4 08 add esp, 8
00dbb 85 c0 test eax, eax
00dbd 75 0c jne SHORT $LN40@On_Email
; 272 : {
; 273 : bSend = true;
00dbf c7 85 e8 db ff
ff 01 00 00 00 mov DWORD PTR _bSend$15[ebp], 1
; 274 : break;
00dc9 eb 2f jmp SHORT $LN10@On_Email
$LN40@On_Email:
; 275 : }
; 276 : if ( strFrom.Find(pFilt[j].szFilt) >= 0 ) //<2F><><EFBFBD><EFBFBD>Ҫ֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
00dcb 6a 00 push 0
00dcd 8b 85 e4 db ff
ff mov eax, DWORD PTR _j$14[ebp]
00dd3 c1 e0 07 shl eax, 7
00dd6 03 85 90 dc ff
ff add eax, DWORD PTR _pFilt$34[ebp]
00ddc 50 push eax
00ddd 8d 8d f4 db ff
ff lea ecx, DWORD PTR _strFrom$18[ebp]
00de3 e8 00 00 00 00 call ?Find@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEHPB_WH@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find
00de8 85 c0 test eax, eax
00dea 7c 0c jl SHORT $LN41@On_Email
; 277 : {
; 278 : bSend = true;
00dec c7 85 e8 db ff
ff 01 00 00 00 mov DWORD PTR _bSend$15[ebp], 1
; 279 : break;
00df6 eb 02 jmp SHORT $LN10@On_Email
$LN41@On_Email:
; 280 : }
; 281 : }
00df8 eb 87 jmp SHORT $LN9@On_Email
$LN10@On_Email:
; 282 : if ( bSend )
00dfa 83 bd e8 db ff
ff 00 cmp DWORD PTR _bSend$15[ebp], 0
00e01 0f 84 e4 00 00
00 je $LN42@On_Email
; 283 : {
; 284 : //<2F><EFBFBD><E1BDBB><EFBFBD><EFBFBD>
; 285 : long lMobType = MOBILE_TYPE_CMCC;
00e07 c7 85 e0 db ff
ff 00 00 00 00 mov DWORD PTR _lMobType$13[ebp], 0
; 286 : //if ( isNumUnicom((char*)(LPCTSTR)strMobile) )
; 287 : // lMobType = MOBILE_TYPE_UNICOM;
; 288 :
; 289 : SubmitData data={0};
00e11 68 94 44 00 00 push 17556 ; 00004494H
00e16 6a 00 push 0
00e18 8d 85 4c 97 ff
ff lea eax, DWORD PTR _data$12[ebp]
00e1e 50 push eax
00e1f e8 00 00 00 00 call _memset
00e24 83 c4 0c add esp, 12 ; 0000000cH
; 290 : data.lCorpID = lCorpID;
00e27 8b 45 c8 mov eax, DWORD PTR _lCorpID$55[ebp]
00e2a 89 85 5c 97 ff
ff mov DWORD PTR _data$12[ebp+16], eax
; 291 : data.lUserID = lUserID;
00e30 8b 45 c4 mov eax, DWORD PTR _lUserID$54[ebp]
00e33 89 85 60 97 ff
ff mov DWORD PTR _data$12[ebp+20], eax
; 292 : _tcscpy( data.szName , _T("email") );
00e39 68 00 00 00 00 push OFFSET ??_C@_1M@FCIIBLEE@?$AAe?$AAm?$AAa?$AAi?$AAl@
00e3e 8d 85 a4 97 ff
ff lea eax, DWORD PTR _data$12[ebp+88]
00e44 50 push eax
00e45 e8 00 00 00 00 call _wcscpy
00e4a 83 c4 08 add esp, 8
; 293 : _tcscpy( data.szMobile , strMobile );
00e4d 8d 4d b0 lea ecx, DWORD PTR _strMobile$49[ebp]
00e50 e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
00e55 50 push eax
00e56 8d 85 e4 97 ff
ff lea eax, DWORD PTR _data$12[ebp+152]
00e5c 50 push eax
00e5d e8 00 00 00 00 call _wcscpy
00e62 83 c4 08 add esp, 8
; 294 : //strcpy( data.szMsg , strMsg );
; 295 : SYSTEMTIME t;::GetLocalTime(&t);
00e65 8d 85 3c 97 ff
ff lea eax, DWORD PTR _t$11[ebp]
00e6b 50 push eax
00e6c ff 15 00 00 00
00 call DWORD PTR __imp__GetLocalTime@4
; 296 : _stprintf(data.szMsg,_T("<22><><EFBFBD><EFBFBD>%02d.%02d %02d:%02d<32>յ<EFBFBD>%s<><73><EFBFBD>ʼ<EFBFBD>:%s"),t.wMonth,t.wDay,t.wHour,t.wMinute,strFromMin,strSubject);
00e72 8b 85 ec db ff
ff mov eax, DWORD PTR _strSubject$16[ebp]
00e78 50 push eax
00e79 8b 8d f0 db ff
ff mov ecx, DWORD PTR _strFromMin$17[ebp]
00e7f 51 push ecx
00e80 0f b7 95 46 97
ff ff movzx edx, WORD PTR _t$11[ebp+10]
00e87 52 push edx
00e88 0f b7 85 44 97
ff ff movzx eax, WORD PTR _t$11[ebp+8]
00e8f 50 push eax
00e90 0f b7 8d 42 97
ff ff movzx ecx, WORD PTR _t$11[ebp+6]
00e97 51 push ecx
00e98 0f b7 95 3e 97
ff ff movzx edx, WORD PTR _t$11[ebp+2]
00e9f 52 push edx
00ea0 68 00 00 00 00 push OFFSET ??_C@_1EA@GCEIMIIP@?$AA?$GA?$PP?$IO?$AA?$CF?$AA0?$AA2?$AAd?$AA?4?$AA?$CF?$AA0?$AA2?$AAd?$AA?5?$AA?$CF?$AA0?$AA2@
00ea5 8d 85 24 98 ff
ff lea eax, DWORD PTR _data$12[ebp+216]
00eab 50 push eax
00eac e8 00 00 00 00 call __swprintf
00eb1 83 c4 20 add esp, 32 ; 00000020H
; 297 : CSendThread::SubmitSms( data,&m_AdoRS1,&m_AdoRS2,m_pSMSDlg,lMobType,SMSTYPE_EMAIL); //<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
00eb4 6a 00 push 0
00eb6 6a 03 push 3
00eb8 8b 85 e0 db ff
ff mov eax, DWORD PTR _lMobType$13[ebp]
00ebe 50 push eax
00ebf 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
00ec2 8b 91 10 01 00
00 mov edx, DWORD PTR [ecx+272]
00ec8 52 push edx
00ec9 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
00ecc 05 d8 00 00 00 add eax, 216 ; 000000d8H
00ed1 50 push eax
00ed2 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
00ed5 81 c1 a0 00 00
00 add ecx, 160 ; 000000a0H
00edb 51 push ecx
00edc 8d 95 4c 97 ff
ff lea edx, DWORD PTR _data$12[ebp]
00ee2 52 push edx
00ee3 e8 00 00 00 00 call ?SubmitSms@CSendThread@@SAJAAU_SubmitData@@PAVCAdoRecordSet@@1PAVCSmsCenterDlg@@JJJ@Z ; CSendThread::SubmitSms
00ee8 83 c4 1c add esp, 28 ; 0000001cH
$LN42@On_Email:
; 298 : }
; 299 : }
00eeb c6 45 fc 13 mov BYTE PTR __$EHRec$[ebp+12], 19 ; 00000013H
00eef 8d 8d ec db ff
ff lea ecx, DWORD PTR _strSubject$16[ebp]
00ef5 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00efa c6 45 fc 12 mov BYTE PTR __$EHRec$[ebp+12], 18 ; 00000012H
00efe 8d 8d f0 db ff
ff lea ecx, DWORD PTR _strFromMin$17[ebp]
00f04 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00f09 c6 45 fc 11 mov BYTE PTR __$EHRec$[ebp+12], 17 ; 00000011H
00f0d 8d 8d f4 db ff
ff lea ecx, DWORD PTR _strFrom$18[ebp]
00f13 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00f18 c6 45 fc 10 mov BYTE PTR __$EHRec$[ebp+12], 16 ; 00000010H
00f1c 8d 8d f8 db ff
ff lea ecx, DWORD PTR _strMsgID$19[ebp]
00f22 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00f27 c6 45 fc 0f mov BYTE PTR __$EHRec$[ebp+12], 15 ; 0000000fH
00f2b 8d 8d 18 dc ff
ff lea ecx, DWORD PTR _strTime$22[ebp]
00f31 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00f36 c6 45 fc 0e mov BYTE PTR __$EHRec$[ebp+12], 14 ; 0000000eH
00f3a 8d 8d 24 dc ff
ff lea ecx, DWORD PTR _strDate$25[ebp]
00f40 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00f45 e9 62 f9 ff ff jmp $LN6@On_Email
$LN19@On_Email:
; 300 : }
; 301 : pop.Disconnect(); //<2F>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD><EFBFBD>
00f4a 8d 8d 40 dc ff
ff lea ecx, DWORD PTR _pop$32[ebp]
00f50 e8 00 00 00 00 call ?Disconnect@CPop3Connection@@QAEHXZ ; CPop3Connection::Disconnect
; 302 :
; 303 : if ( pFilt ) {delete pFilt;pFilt=NULL;}
00f55 83 bd 90 dc ff
ff 00 cmp DWORD PTR _pFilt$34[ebp], 0
00f5c 74 2a je SHORT $LN43@On_Email
00f5e 8b 85 90 dc ff
ff mov eax, DWORD PTR _pFilt$34[ebp]
00f64 89 85 6c 7d ff
ff mov DWORD PTR $T4[ebp], eax
00f6a 68 80 00 00 00 push 128 ; 00000080H
00f6f 8b 8d 6c 7d ff
ff mov ecx, DWORD PTR $T4[ebp]
00f75 51 push ecx
00f76 e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete
00f7b 83 c4 08 add esp, 8
00f7e c7 85 90 dc ff
ff 00 00 00 00 mov DWORD PTR _pFilt$34[ebp], 0
$LN43@On_Email:
; 304 :
; 305 : lRSCount2 ++;
00f88 8b 45 c0 mov eax, DWORD PTR _lRSCount2$53[ebp]
00f8b 83 c0 01 add eax, 1
00f8e 89 45 c0 mov DWORD PTR _lRSCount2$53[ebp], eax
; 306 : m_AdoRS.MoveNext();
00f91 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
00f94 83 c1 68 add ecx, 104 ; 00000068H
00f97 e8 00 00 00 00 call ?MoveNext@CAdoRecordSet@@QAEHXZ ; CAdoRecordSet::MoveNext
; 307 : }
00f9c c6 45 fc 0d mov BYTE PTR __$EHRec$[ebp+12], 13 ; 0000000dH
00fa0 8d 8d 3c dc ff
ff lea ecx, DWORD PTR _popmsg$31[ebp]
00fa6 e8 00 00 00 00 call ??1CPop3Message@@QAE@XZ ; CPop3Message::~CPop3Message
00fab c6 45 fc 0c mov BYTE PTR __$EHRec$[ebp+12], 12 ; 0000000cH
00faf 8d 8d 40 dc ff
ff lea ecx, DWORD PTR _pop$32[ebp]
00fb5 e8 00 00 00 00 call ??1CPop3Connection@@QAE@XZ ; CPop3Connection::~CPop3Connection
00fba c6 45 fc 06 mov BYTE PTR __$EHRec$[ebp+12], 6
00fbe 8d 8d 9c dc ff
ff lea ecx, DWORD PTR _des$37[ebp]
00fc4 e8 00 00 00 00 call ??1CDes@@UAE@XZ ; CDes::~CDes
00fc9 e9 34 f1 ff ff jmp $LN2@On_Email
$LN3@On_Email:
; 308 : }
00fce c6 45 fc 05 mov BYTE PTR __$EHRec$[ebp+12], 5
00fd2 8d 4d ac lea ecx, DWORD PTR _strTemp$48[ebp]
00fd5 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00fda c6 45 fc 04 mov BYTE PTR __$EHRec$[ebp+12], 4
00fde 8d 4d b0 lea ecx, DWORD PTR _strMobile$49[ebp]
00fe1 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00fe6 c6 45 fc 03 mov BYTE PTR __$EHRec$[ebp+12], 3
00fea 8d 4d b4 lea ecx, DWORD PTR _strPasswd$50[ebp]
00fed e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00ff2 c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+12], 2
00ff6 8d 4d b8 lea ecx, DWORD PTR _strUserName$51[ebp]
00ff9 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00ffe c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+12], 1
01002 8d 4d bc lea ecx, DWORD PTR _strIP$52[ebp]
01005 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
$LN14@On_Email:
; 309 : m_bStart = false;
0100a 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
0100d c7 40 44 00 00
00 00 mov DWORD PTR [eax+68], 0
; 310 : }
01014 c6 45 fc 00 mov BYTE PTR __$EHRec$[ebp+12], 0
01018 8d 4d d4 lea ecx, DWORD PTR _strSelect$58[ebp]
0101b e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
01020 e9 a2 00 00 00 jmp $LN57@On_Email
__catch$?On_Email@CEmailThread@@QAEXIJ@Z$2:
; 311 : catch (...)
; 312 : {
; 313 : LOG_APPERROR(_T("T"));
01025 8d 8d 94 7f ff
ff lea ecx, DWORD PTR _NXlog$10[ebp]
0102b e8 00 00 00 00 call ??0CSAStatusLog@@QAE@XZ ; CSAStatusLog::CSAStatusLog
01030 c6 45 fc 16 mov BYTE PTR __$EHRec$[ebp+12], 22 ; 00000016H
01034 51 push ecx
01035 8b cc mov ecx, esp
01037 89 a5 68 7d ff
ff mov DWORD PTR $T3[ebp], esp
0103d 68 00 00 00 00 push OFFSET ??_C@_1BC@HEKPCAFP@?$AAA?$AAp?$AAp?$AAE?$AAr?$AAr?$AAo?$AAr@
01042 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
01047 89 85 60 7d ff
ff mov DWORD PTR tv785[ebp], eax
0104d c6 45 fc 17 mov BYTE PTR __$EHRec$[ebp+12], 23 ; 00000017H
01051 51 push ecx
01052 8b cc mov ecx, esp
01054 89 a5 64 7d ff
ff mov DWORD PTR $T2[ebp], esp
0105a 68 00 00 00 00 push OFFSET ??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@
0105f e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
01064 89 85 5c 7d ff
ff mov DWORD PTR tv686[ebp], eax
0106a c6 45 fc 18 mov BYTE PTR __$EHRec$[ebp+12], 24 ; 00000018H
0106e c6 45 fc 16 mov BYTE PTR __$EHRec$[ebp+12], 22 ; 00000016H
01072 8d 8d 94 7f ff
ff lea ecx, DWORD PTR _NXlog$10[ebp]
01078 e8 00 00 00 00 call ?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z ; CSAStatusLog::Init
0107d a1 00 00 00 00 mov eax, DWORD PTR ?__LINE__Var@?0??On_Email@CEmailThread@@QAEXIJ@Z@4JA
01082 05 f9 00 00 00 add eax, 249 ; 000000f9H
01087 50 push eax
01088 68 00 00 00 00 push OFFSET ??_C@_08DLMCGABB@On_Email@
0108d 68 00 00 00 00 push OFFSET ??_C@_0DA@OPOBKPBA@D?3?2Works?2Corpsms_2010?2SmsCenter@
01092 68 00 00 00 00 push OFFSET ??_C@_13JKNELIBG@?$AAT@
01097 8d 8d 94 7f ff
ff lea ecx, DWORD PTR _NXlog$10[ebp]
0109d e8 00 00 00 00 call ?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z ; CSAStatusLog::LogError
010a2 c6 45 fc 15 mov BYTE PTR __$EHRec$[ebp+12], 21 ; 00000015H
010a6 8d 8d 94 7f ff
ff lea ecx, DWORD PTR _NXlog$10[ebp]
010ac e8 00 00 00 00 call ??1CSAStatusLog@@QAE@XZ ; CSAStatusLog::~CSAStatusLog
; 314 : m_bStart = false;
010b1 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
010b4 c7 40 44 00 00
00 00 mov DWORD PTR [eax+68], 0
; 315 : return ;
010bb b8 00 00 00 00 mov eax, $LN85@On_Email
010c0 c3 ret 0
; 316 : }
010c1 b8 00 00 00 00 mov eax, $LN57@On_Email
010c6 c3 ret 0
$LN57@On_Email:
010c7 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+12], -1
010ce eb 09 jmp SHORT $LN84@On_Email
$LN85@On_Email:
010d0 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+12], -1
; 315 : return ;
010d7 eb 0a jmp SHORT $LN1@On_Email
$LN84@On_Email:
; 317 : m_bStart = false;
010d9 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
010dc c7 40 44 00 00
00 00 mov DWORD PTR [eax+68], 0
$LN1@On_Email:
; 318 : return ;
; 319 : }
010e3 8d a5 48 7d ff
ff lea esp, DWORD PTR [ebp-33464]
010e9 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp+4]
010ec 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
010f3 59 pop ecx
010f4 5f pop edi
010f5 5e pop esi
010f6 5b pop ebx
010f7 8b 4d ec mov ecx, DWORD PTR __$ArrayPad$[ebp]
010fa 33 cd xor ecx, ebp
010fc e8 00 00 00 00 call @__security_check_cookie@4
01101 8b e5 mov esp, ebp
01103 5d pop ebp
01104 c2 08 00 ret 8
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$4:
00000 8d 4d d4 lea ecx, DWORD PTR _strSelect$58[ebp]
00003 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$5:
00008 8d 4d bc lea ecx, DWORD PTR _strIP$52[ebp]
0000b e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$6:
00010 8d 4d b8 lea ecx, DWORD PTR _strUserName$51[ebp]
00013 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$7:
00018 8d 4d b4 lea ecx, DWORD PTR _strPasswd$50[ebp]
0001b e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$8:
00020 8d 4d b0 lea ecx, DWORD PTR _strMobile$49[ebp]
00023 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$9:
00028 8d 4d ac lea ecx, DWORD PTR _strTemp$48[ebp]
0002b e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$10:
00030 8d 8d fc e6 ff
ff lea ecx, DWORD PTR _NXlog$38[ebp]
00036 e9 00 00 00 00 jmp ??1CSAStatusLog@@QAE@XZ ; CSAStatusLog::~CSAStatusLog
__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$11:
0003b 8b 8d 78 7d ff
ff mov ecx, DWORD PTR $T7[ebp]
00041 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$12:
00046 8b 8d 74 7d ff
ff mov ecx, DWORD PTR $T6[ebp]
0004c e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$13:
00051 8d 8d 9c dc ff
ff lea ecx, DWORD PTR _des$37[ebp]
00057 e9 00 00 00 00 jmp ??1CDes@@UAE@XZ ; CDes::~CDes
__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$14:
0005c 8d 8d 40 dc ff
ff lea ecx, DWORD PTR _pop$32[ebp]
00062 e9 00 00 00 00 jmp ??1CPop3Connection@@QAE@XZ ; CPop3Connection::~CPop3Connection
__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$15:
00067 8d 8d 3c dc ff
ff lea ecx, DWORD PTR _popmsg$31[ebp]
0006d e9 00 00 00 00 jmp ??1CPop3Message@@QAE@XZ ; CPop3Message::~CPop3Message
__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$16:
00072 8d 8d 24 dc ff
ff lea ecx, DWORD PTR _strDate$25[ebp]
00078 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$17:
0007d 8d 8d 18 dc ff
ff lea ecx, DWORD PTR _strTime$22[ebp]
00083 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$18:
00088 8d 8d f8 db ff
ff lea ecx, DWORD PTR _strMsgID$19[ebp]
0008e e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$19:
00093 8d 8d f4 db ff
ff lea ecx, DWORD PTR _strFrom$18[ebp]
00099 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$20:
0009e 8d 8d f0 db ff
ff lea ecx, DWORD PTR _strFromMin$17[ebp]
000a4 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$21:
000a9 8d 8d ec db ff
ff lea ecx, DWORD PTR _strSubject$16[ebp]
000af e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$22:
000b4 8d 8d 94 7f ff
ff lea ecx, DWORD PTR _NXlog$10[ebp]
000ba e9 00 00 00 00 jmp ??1CSAStatusLog@@QAE@XZ ; CSAStatusLog::~CSAStatusLog
__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$23:
000bf 8b 8d 68 7d ff
ff mov ecx, DWORD PTR $T3[ebp]
000c5 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?On_Email@CEmailThread@@QAEXIJ@Z$24:
000ca 8b 8d 64 7d ff
ff mov ecx, DWORD PTR $T2[ebp]
000d0 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
000d5 cc int 3
000d6 cc int 3
000d7 cc int 3
000d8 cc int 3
000d9 cc int 3
__ehhandler$?On_Email@CEmailThread@@QAEXIJ@Z:
000da 90 npad 1
000db 90 npad 1
000dc 8b 54 24 08 mov edx, DWORD PTR [esp+8]
000e0 8d 42 0c lea eax, DWORD PTR [edx+12]
000e3 8b 8a 54 7d ff
ff mov ecx, DWORD PTR [edx-33452]
000e9 33 c8 xor ecx, eax
000eb e8 00 00 00 00 call @__security_check_cookie@4
000f0 8b 4a f8 mov ecx, DWORD PTR [edx-8]
000f3 33 c8 xor ecx, eax
000f5 e8 00 00 00 00 call @__security_check_cookie@4
000fa b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?On_Email@CEmailThread@@QAEXIJ@Z
000ff e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?On_Email@CEmailThread@@QAEXIJ@Z ENDP ; CEmailThread::On_Email
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\EmailThread.cpp
; COMDAT ??1CEmailThread@@UAE@XZ
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
??1CEmailThread@@UAE@XZ PROC ; CEmailThread::~CEmailThread, COMDAT
; _this$ = ecx
; 35 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??1CEmailThread@@UAE@XZ
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 44 sub esp, 68 ; 00000044H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
0002b 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
0002e c7 00 00 00 00
00 mov DWORD PTR [eax], OFFSET ??_7CEmailThread@@6B@
00034 c7 45 fc 04 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 4
; 36 : }
0003b c6 45 fc 03 mov BYTE PTR __$EHRec$[ebp+8], 3
0003f 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00042 81 c1 d8 00 00
00 add ecx, 216 ; 000000d8H
00048 e8 00 00 00 00 call ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
0004d c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+8], 2
00051 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00054 81 c1 a0 00 00
00 add ecx, 160 ; 000000a0H
0005a e8 00 00 00 00 call ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
0005f c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+8], 1
00063 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00066 83 c1 68 add ecx, 104 ; 00000068H
00069 e8 00 00 00 00 call ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
0006e c6 45 fc 00 mov BYTE PTR __$EHRec$[ebp+8], 0
00072 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00075 83 c1 48 add ecx, 72 ; 00000048H
00078 e8 00 00 00 00 call ??1CAdoConnection@@UAE@XZ ; CAdoConnection::~CAdoConnection
0007d c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
00084 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00087 e8 00 00 00 00 call ??1CWinThread@@UAE@XZ ; CWinThread::~CWinThread
0008c 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0008f 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00096 59 pop ecx
00097 5f pop edi
00098 5e pop esi
00099 5b pop ebx
0009a 8b e5 mov esp, ebp
0009c 5d pop ebp
0009d c3 ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??1CEmailThread@@UAE@XZ$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 e9 00 00 00 00 jmp ??1CWinThread@@UAE@XZ ; CWinThread::~CWinThread
__unwindfunclet$??1CEmailThread@@UAE@XZ$1:
00008 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0000b 83 c1 48 add ecx, 72 ; 00000048H
0000e e9 00 00 00 00 jmp ??1CAdoConnection@@UAE@XZ ; CAdoConnection::~CAdoConnection
__unwindfunclet$??1CEmailThread@@UAE@XZ$2:
00013 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00016 83 c1 68 add ecx, 104 ; 00000068H
00019 e9 00 00 00 00 jmp ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
__unwindfunclet$??1CEmailThread@@UAE@XZ$3:
0001e 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00021 81 c1 a0 00 00
00 add ecx, 160 ; 000000a0H
00027 e9 00 00 00 00 jmp ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
__unwindfunclet$??1CEmailThread@@UAE@XZ$4:
0002c 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0002f 81 c1 d8 00 00
00 add ecx, 216 ; 000000d8H
00035 e9 00 00 00 00 jmp ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
0003a cc int 3
0003b cc int 3
0003c cc int 3
0003d cc int 3
0003e cc int 3
__ehhandler$??1CEmailThread@@UAE@XZ:
0003f 90 npad 1
00040 90 npad 1
00041 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00045 8d 42 0c lea eax, DWORD PTR [edx+12]
00048 8b 4a ac mov ecx, DWORD PTR [edx-84]
0004b 33 c8 xor ecx, eax
0004d e8 00 00 00 00 call @__security_check_cookie@4
00052 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??1CEmailThread@@UAE@XZ
00057 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??1CEmailThread@@UAE@XZ ENDP ; CEmailThread::~CEmailThread
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\EmailThread.cpp
; COMDAT ?ExitInstance@CEmailThread@@UAEHXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?ExitInstance@CEmailThread@@UAEHXZ PROC ; CEmailThread::ExitInstance, COMDAT
; _this$ = ecx
; 46 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 47 : CoUninitialize();
0000c ff 15 00 00 00
00 call DWORD PTR __imp__CoUninitialize@0
; 48 :
; 49 : // TODO: perform any per-thread cleanup here
; 50 : return CWinThread::ExitInstance();
00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00015 e8 00 00 00 00 call ?ExitInstance@CWinThread@@UAEHXZ ; CWinThread::ExitInstance
; 51 : }
0001a 5f pop edi
0001b 5e pop esi
0001c 5b pop ebx
0001d 8b e5 mov esp, ebp
0001f 5d pop ebp
00020 c3 ret 0
?ExitInstance@CEmailThread@@UAEHXZ ENDP ; CEmailThread::ExitInstance
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\EmailThread.cpp
; COMDAT ?InitInstance@CEmailThread@@UAEHXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?InitInstance@CEmailThread@@UAEHXZ PROC ; CEmailThread::InitInstance, COMDAT
; _this$ = ecx
; 39 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 40 : CoInitializeEx( NULL , COINIT_MULTITHREADED );
0000c 6a 00 push 0
0000e 6a 00 push 0
00010 ff 15 00 00 00
00 call DWORD PTR __imp__CoInitializeEx@8
; 41 : // TODO: perform and per-thread initialization here
; 42 : return TRUE;
00016 b8 01 00 00 00 mov eax, 1
; 43 : }
0001b 5f pop edi
0001c 5e pop esi
0001d 5b pop ebx
0001e 8b e5 mov esp, ebp
00020 5d pop ebp
00021 c3 ret 0
?InitInstance@CEmailThread@@UAEHXZ ENDP ; CEmailThread::InitInstance
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\EmailThread.cpp
; COMDAT ?SetParam@CEmailThread@@QAEHPAVCSmsCenterDlg@@@Z
_TEXT SEGMENT
tv67 = -132 ; size = 4
tv224 = -128 ; size = 4
tv223 = -124 ; size = 4
tv222 = -120 ; size = 4
tv221 = -116 ; size = 4
tv220 = -112 ; size = 4
tv204 = -108 ; size = 4
tv198 = -108 ; size = 4
tv192 = -108 ; size = 4
tv187 = -108 ; size = 4
tv179 = -108 ; size = 4
$T2 = -104 ; size = 4
$T3 = -100 ; size = 4
$T4 = -96 ; size = 4
$T5 = -92 ; size = 4
$T6 = -88 ; size = 4
_b$ = -20 ; size = 4
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_pSmsDlg$ = 8 ; size = 4
?SetParam@CEmailThread@@QAEHPAVCSmsCenterDlg@@@Z PROC ; CEmailThread::SetParam, COMDAT
; _this$ = ecx
; 322 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?SetParam@CEmailThread@@QAEHPAVCSmsCenterDlg@@@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 78 sub esp, 120 ; 00000078H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
; 323 : m_pSMSDlg = pSmsDlg;
0002b 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
0002e 8b 4d 08 mov ecx, DWORD PTR _pSmsDlg$[ebp]
00031 89 88 10 01 00
00 mov DWORD PTR [eax+272], ecx
; 324 : BOOL b = m_adoConnection.ConnectSQLServer2(m_pSMSDlg->m_Setup.szDBName,DEFAULT_DBNAME,m_pSMSDlg->m_Setup.szDBUser,m_pSMSDlg->m_Setup.szDBPasswd, m_pSMSDlg->m_Setup.szProvider);
00037 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
0003a 83 c0 48 add eax, 72 ; 00000048H
0003d 89 45 94 mov DWORD PTR tv179[ebp], eax
00040 6a ff push -1
00042 51 push ecx
00043 8b cc mov ecx, esp
00045 89 65 a8 mov DWORD PTR $T6[ebp], esp
00048 8b 55 f0 mov edx, DWORD PTR _this$[ebp]
0004b 8b 82 10 01 00
00 mov eax, DWORD PTR [edx+272]
00051 05 b4 09 00 00 add eax, 2484 ; 000009b4H
00056 50 push eax
00057 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
0005c 89 45 90 mov DWORD PTR tv220[ebp], eax
0005f c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
00066 51 push ecx
00067 8b cc mov ecx, esp
00069 89 65 a4 mov DWORD PTR $T5[ebp], esp
0006c 8b 55 f0 mov edx, DWORD PTR _this$[ebp]
0006f 8b 82 10 01 00
00 mov eax, DWORD PTR [edx+272]
00075 05 0c 0a 00 00 add eax, 2572 ; 00000a0cH
0007a 50 push eax
0007b e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00080 89 45 8c mov DWORD PTR tv221[ebp], eax
00083 c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+8], 1
00087 51 push ecx
00088 8b cc mov ecx, esp
0008a 89 65 a0 mov DWORD PTR $T4[ebp], esp
0008d 8b 55 f0 mov edx, DWORD PTR _this$[ebp]
00090 8b 82 10 01 00
00 mov eax, DWORD PTR [edx+272]
00096 05 ec 09 00 00 add eax, 2540 ; 000009ecH
0009b 50 push eax
0009c e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
000a1 89 45 88 mov DWORD PTR tv222[ebp], eax
000a4 c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+8], 2
000a8 51 push ecx
000a9 8b cc mov ecx, esp
000ab 89 65 9c mov DWORD PTR $T3[ebp], esp
000ae 68 00 00 00 00 push OFFSET ??_C@_1BA@IIDKJHG@?$AAc?$AAo?$AAr?$AAp?$AAs?$AAm?$AAs@
000b3 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
000b8 89 45 84 mov DWORD PTR tv223[ebp], eax
000bb c6 45 fc 03 mov BYTE PTR __$EHRec$[ebp+8], 3
000bf 51 push ecx
000c0 8b cc mov ecx, esp
000c2 89 65 98 mov DWORD PTR $T2[ebp], esp
000c5 8b 55 f0 mov edx, DWORD PTR _this$[ebp]
000c8 8b 82 10 01 00
00 mov eax, DWORD PTR [edx+272]
000ce 05 ec 05 00 00 add eax, 1516 ; 000005ecH
000d3 50 push eax
000d4 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
000d9 89 45 80 mov DWORD PTR tv224[ebp], eax
000dc c6 45 fc 04 mov BYTE PTR __$EHRec$[ebp+8], 4
000e0 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
000e7 8b 4d 94 mov ecx, DWORD PTR tv179[ebp]
000ea e8 00 00 00 00 call ?ConnectSQLServer2@CAdoConnection@@QAEHV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0000J@Z ; CAdoConnection::ConnectSQLServer2
000ef 89 85 7c ff ff
ff mov DWORD PTR tv67[ebp], eax
000f5 8b 8d 7c ff ff
ff mov ecx, DWORD PTR tv67[ebp]
000fb 89 4d ec mov DWORD PTR _b$[ebp], ecx
; 325 : if ( b )
000fe 83 7d ec 00 cmp DWORD PTR _b$[ebp], 0
00102 74 62 je SHORT $LN2@SetParam
; 326 : {
; 327 : m_adoConnection.SetCommandTimeout(7200); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD>ʱʱ<CAB1><CAB1>
00104 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00107 83 c0 48 add eax, 72 ; 00000048H
0010a 89 45 94 mov DWORD PTR tv187[ebp], eax
0010d 68 20 1c 00 00 push 7200 ; 00001c20H
00112 8b 4d 94 mov ecx, DWORD PTR tv187[ebp]
00115 e8 00 00 00 00 call ?SetCommandTimeout@CAdoConnection@@QAEHJ@Z ; CAdoConnection::SetCommandTimeout
; 328 : #ifdef SMSCENTER_USECLIENT
; 329 : m_adoConnection.SetCursorLocation(adUseClient); //<2F><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>α<EFBFBD><CEB1><EFBFBD><EFBFBD><EFBFBD>
; 330 : #endif
; 331 : m_AdoRS.SetAdoConnection( &m_adoConnection ); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>
0011a 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
0011d 83 c0 68 add eax, 104 ; 00000068H
00120 89 45 94 mov DWORD PTR tv192[ebp], eax
00123 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00126 83 c1 48 add ecx, 72 ; 00000048H
00129 51 push ecx
0012a 8b 4d 94 mov ecx, DWORD PTR tv192[ebp]
0012d e8 00 00 00 00 call ?SetAdoConnection@CAdoRecordSet@@QAEXPAVCAdoConnection@@@Z ; CAdoRecordSet::SetAdoConnection
; 332 : m_AdoRS1.SetAdoConnection( &m_adoConnection ); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>
00132 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00135 05 a0 00 00 00 add eax, 160 ; 000000a0H
0013a 89 45 94 mov DWORD PTR tv198[ebp], eax
0013d 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00140 83 c1 48 add ecx, 72 ; 00000048H
00143 51 push ecx
00144 8b 4d 94 mov ecx, DWORD PTR tv198[ebp]
00147 e8 00 00 00 00 call ?SetAdoConnection@CAdoRecordSet@@QAEXPAVCAdoConnection@@@Z ; CAdoRecordSet::SetAdoConnection
; 333 : m_AdoRS2.SetAdoConnection( &m_adoConnection ); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>
0014c 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
0014f 05 d8 00 00 00 add eax, 216 ; 000000d8H
00154 89 45 94 mov DWORD PTR tv204[ebp], eax
00157 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0015a 83 c1 48 add ecx, 72 ; 00000048H
0015d 51 push ecx
0015e 8b 4d 94 mov ecx, DWORD PTR tv204[ebp]
00161 e8 00 00 00 00 call ?SetAdoConnection@CAdoRecordSet@@QAEXPAVCAdoConnection@@@Z ; CAdoRecordSet::SetAdoConnection
$LN2@SetParam:
; 334 : }
; 335 : return b;
00166 8b 45 ec mov eax, DWORD PTR _b$[ebp]
; 336 : }
00169 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0016c 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00173 59 pop ecx
00174 5f pop edi
00175 5e pop esi
00176 5b pop ebx
00177 8b e5 mov esp, ebp
00179 5d pop ebp
0017a c2 04 00 ret 4
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$?SetParam@CEmailThread@@QAEHPAVCSmsCenterDlg@@@Z$0:
00000 8b 4d a8 mov ecx, DWORD PTR $T6[ebp]
00003 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?SetParam@CEmailThread@@QAEHPAVCSmsCenterDlg@@@Z$1:
00008 8b 4d a4 mov ecx, DWORD PTR $T5[ebp]
0000b e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?SetParam@CEmailThread@@QAEHPAVCSmsCenterDlg@@@Z$2:
00010 8b 4d a0 mov ecx, DWORD PTR $T4[ebp]
00013 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?SetParam@CEmailThread@@QAEHPAVCSmsCenterDlg@@@Z$3:
00018 8b 4d 9c mov ecx, DWORD PTR $T3[ebp]
0001b e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?SetParam@CEmailThread@@QAEHPAVCSmsCenterDlg@@@Z$4:
00020 8b 4d 98 mov ecx, DWORD PTR $T2[ebp]
00023 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00028 cc int 3
00029 cc int 3
0002a cc int 3
0002b cc int 3
0002c cc int 3
__ehhandler$?SetParam@CEmailThread@@QAEHPAVCSmsCenterDlg@@@Z:
0002d 90 npad 1
0002e 90 npad 1
0002f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00033 8d 42 0c lea eax, DWORD PTR [edx+12]
00036 8b 8a 78 ff ff
ff mov ecx, DWORD PTR [edx-136]
0003c 33 c8 xor ecx, eax
0003e e8 00 00 00 00 call @__security_check_cookie@4
00043 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?SetParam@CEmailThread@@QAEHPAVCSmsCenterDlg@@@Z
00048 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?SetParam@CEmailThread@@QAEHPAVCSmsCenterDlg@@@Z ENDP ; CEmailThread::SetParam
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\EmailThread.cpp
; COMDAT ??0CEmailThread@@QAE@XZ
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
??0CEmailThread@@QAE@XZ PROC ; CEmailThread::CEmailThread, COMDAT
; _this$ = ecx
; 29 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??0CEmailThread@@QAE@XZ
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 44 sub esp, 68 ; 00000044H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
0002b 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0002e e8 00 00 00 00 call ??0CWinThread@@QAE@XZ ; CWinThread::CWinThread
00033 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
0003a 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
0003d c7 00 00 00 00
00 mov DWORD PTR [eax], OFFSET ??_7CEmailThread@@6B@
00043 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00046 83 c1 48 add ecx, 72 ; 00000048H
00049 e8 00 00 00 00 call ??0CAdoConnection@@QAE@XZ ; CAdoConnection::CAdoConnection
0004e c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+8], 1
00052 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00055 83 c1 68 add ecx, 104 ; 00000068H
00058 e8 00 00 00 00 call ??0CAdoRecordSet@@QAE@XZ ; CAdoRecordSet::CAdoRecordSet
0005d c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+8], 2
00061 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00064 81 c1 a0 00 00
00 add ecx, 160 ; 000000a0H
0006a e8 00 00 00 00 call ??0CAdoRecordSet@@QAE@XZ ; CAdoRecordSet::CAdoRecordSet
0006f c6 45 fc 03 mov BYTE PTR __$EHRec$[ebp+8], 3
00073 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00076 81 c1 d8 00 00
00 add ecx, 216 ; 000000d8H
0007c e8 00 00 00 00 call ??0CAdoRecordSet@@QAE@XZ ; CAdoRecordSet::CAdoRecordSet
00081 c6 45 fc 04 mov BYTE PTR __$EHRec$[ebp+8], 4
; 30 : m_bStart = false;
00085 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00088 c7 40 44 00 00
00 00 mov DWORD PTR [eax+68], 0
; 31 : m_pSMSDlg = NULL;
0008f 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00092 c7 80 10 01 00
00 00 00 00 00 mov DWORD PTR [eax+272], 0
; 32 : }
0009c c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
000a3 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
000a6 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
000a9 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
000b0 59 pop ecx
000b1 5f pop edi
000b2 5e pop esi
000b3 5b pop ebx
000b4 8b e5 mov esp, ebp
000b6 5d pop ebp
000b7 c3 ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??0CEmailThread@@QAE@XZ$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 e9 00 00 00 00 jmp ??1CWinThread@@UAE@XZ ; CWinThread::~CWinThread
__unwindfunclet$??0CEmailThread@@QAE@XZ$1:
00008 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0000b 83 c1 48 add ecx, 72 ; 00000048H
0000e e9 00 00 00 00 jmp ??1CAdoConnection@@UAE@XZ ; CAdoConnection::~CAdoConnection
__unwindfunclet$??0CEmailThread@@QAE@XZ$2:
00013 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00016 83 c1 68 add ecx, 104 ; 00000068H
00019 e9 00 00 00 00 jmp ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
__unwindfunclet$??0CEmailThread@@QAE@XZ$3:
0001e 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00021 81 c1 a0 00 00
00 add ecx, 160 ; 000000a0H
00027 e9 00 00 00 00 jmp ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
__unwindfunclet$??0CEmailThread@@QAE@XZ$4:
0002c 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0002f 81 c1 d8 00 00
00 add ecx, 216 ; 000000d8H
00035 e9 00 00 00 00 jmp ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
0003a cc int 3
0003b cc int 3
0003c cc int 3
0003d cc int 3
0003e cc int 3
__ehhandler$??0CEmailThread@@QAE@XZ:
0003f 90 npad 1
00040 90 npad 1
00041 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00045 8d 42 0c lea eax, DWORD PTR [edx+12]
00048 8b 4a ac mov ecx, DWORD PTR [edx-84]
0004b 33 c8 xor ecx, eax
0004d e8 00 00 00 00 call @__security_check_cookie@4
00052 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??0CEmailThread@@QAE@XZ
00057 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??0CEmailThread@@QAE@XZ ENDP ; CEmailThread::CEmailThread
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\EmailThread.cpp
; COMDAT ?CreateObject@CEmailThread@@SGPAVCObject@@XZ
_TEXT SEGMENT
tv77 = -88 ; size = 4
$T2 = -84 ; size = 4
$T3 = -80 ; size = 4
__$EHRec$ = -12 ; size = 12
?CreateObject@CEmailThread@@SGPAVCObject@@XZ PROC ; CEmailThread::CreateObject, COMDAT
; 26 : IMPLEMENT_DYNCREATE(CEmailThread, CWinThread)
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?CreateObject@CEmailThread@@SGPAVCObject@@XZ
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 4c sub esp, 76 ; 0000004cH
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 68 18 01 00 00 push 280 ; 00000118H
0002d e8 00 00 00 00 call ??2CObject@@SGPAXI@Z ; CObject::operator new
00032 89 45 ac mov DWORD PTR $T2[ebp], eax
00035 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
0003c 83 7d ac 00 cmp DWORD PTR $T2[ebp], 0
00040 74 0d je SHORT $LN3@CreateObje
00042 8b 4d ac mov ecx, DWORD PTR $T2[ebp]
00045 e8 00 00 00 00 call ??0CEmailThread@@QAE@XZ ; CEmailThread::CEmailThread
0004a 89 45 a8 mov DWORD PTR tv77[ebp], eax
0004d eb 07 jmp SHORT $LN4@CreateObje
$LN3@CreateObje:
0004f c7 45 a8 00 00
00 00 mov DWORD PTR tv77[ebp], 0
$LN4@CreateObje:
00056 8b 45 a8 mov eax, DWORD PTR tv77[ebp]
00059 89 45 b0 mov DWORD PTR $T3[ebp], eax
0005c c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
00063 8b 45 b0 mov eax, DWORD PTR $T3[ebp]
00066 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00069 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00070 59 pop ecx
00071 5f pop edi
00072 5e pop esi
00073 5b pop ebx
00074 8b e5 mov esp, ebp
00076 5d pop ebp
00077 c3 ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$?CreateObject@CEmailThread@@SGPAVCObject@@XZ$0:
00000 8b 45 ac mov eax, DWORD PTR $T2[ebp]
00003 50 push eax
00004 e8 00 00 00 00 call ??3CObject@@SGXPAX@Z ; CObject::operator delete
00009 c3 ret 0
0000a cc int 3
0000b cc int 3
0000c cc int 3
0000d cc int 3
0000e cc int 3
__ehhandler$?CreateObject@CEmailThread@@SGPAVCObject@@XZ:
0000f 90 npad 1
00010 90 npad 1
00011 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00015 8d 42 0c lea eax, DWORD PTR [edx+12]
00018 8b 4a a4 mov ecx, DWORD PTR [edx-92]
0001b 33 c8 xor ecx, eax
0001d e8 00 00 00 00 call @__security_check_cookie@4
00022 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?CreateObject@CEmailThread@@SGPAVCObject@@XZ
00027 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?CreateObject@CEmailThread@@SGPAVCObject@@XZ ENDP ; CEmailThread::CreateObject
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\EmailThread.cpp
; COMDAT ?GetRuntimeClass@CEmailThread@@UBEPAUCRuntimeClass@@XZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?GetRuntimeClass@CEmailThread@@UBEPAUCRuntimeClass@@XZ PROC ; CEmailThread::GetRuntimeClass, COMDAT
; _this$ = ecx
; 26 : IMPLEMENT_DYNCREATE(CEmailThread, CWinThread)
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
0000c b8 00 00 00 00 mov eax, OFFSET ?classCEmailThread@CEmailThread@@2UCRuntimeClass@@B ; CEmailThread::classCEmailThread
00011 5f pop edi
00012 5e pop esi
00013 5b pop ebx
00014 8b e5 mov esp, ebp
00016 5d pop ebp
00017 c3 ret 0
?GetRuntimeClass@CEmailThread@@UBEPAUCRuntimeClass@@XZ ENDP ; CEmailThread::GetRuntimeClass
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\ATLComTime.h
; COMDAT ?ConvertSystemTimeToVariantTime@COleDateTime@ATL@@IAEHABU_SYSTEMTIME@@@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_systimeSrc$ = 8 ; size = 4
?ConvertSystemTimeToVariantTime@COleDateTime@ATL@@IAEHABU_SYSTEMTIME@@@Z PROC ; ATL::COleDateTime::ConvertSystemTimeToVariantTime, COMDAT
; _this$ = ecx
; 754 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 755 : return AtlConvertSystemTimeToVariantTime(systimeSrc,&m_dt);
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 50 push eax
00010 8b 4d 08 mov ecx, DWORD PTR _systimeSrc$[ebp]
00013 51 push ecx
00014 e8 00 00 00 00 call ?AtlConvertSystemTimeToVariantTime@ATL@@YAHABU_SYSTEMTIME@@PAN@Z ; ATL::AtlConvertSystemTimeToVariantTime
00019 83 c4 08 add esp, 8
; 756 : }
0001c 5f pop edi
0001d 5e pop esi
0001e 5b pop ebx
0001f 8b e5 mov esp, ebp
00021 5d pop ebp
00022 c2 04 00 ret 4
?ConvertSystemTimeToVariantTime@COleDateTime@ATL@@IAEHABU_SYSTEMTIME@@@Z ENDP ; ATL::COleDateTime::ConvertSystemTimeToVariantTime
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\ATLComTime.h
; COMDAT ?DoubleFromDate@COleDateTime@ATL@@KGNN@Z
_TEXT SEGMENT
tv78 = -92 ; size = 8
_fTemp$ = -20 ; size = 8
__$EHRec$ = -12 ; size = 12
_date$ = 8 ; size = 8
?DoubleFromDate@COleDateTime@ATL@@KGNN@Z PROC ; ATL::COleDateTime::DoubleFromDate, COMDAT
; 900 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?DoubleFromDate@COleDateTime@ATL@@KGNN@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 50 sub esp, 80 ; 00000050H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 901 : // We treat it as positive from -OLE_DATETIME_HALFSECOND because of numeric errors
; 902 : // If value is positive it doesn't need conversion
; 903 : if(date > -COleDateTimeSpan::OLE_DATETIME_HALFSECOND)
00028 f2 0f 10 45 08 movsd xmm0, QWORD PTR _date$[ebp]
0002d 66 0f 2f 05 00
00 00 00 comisd xmm0, QWORD PTR __real@bed845c8a0ce5129
00035 76 05 jbe SHORT $LN2@DoubleFrom
; 904 : {
; 905 : return date;
00037 dd 45 08 fld QWORD PTR _date$[ebp]
0003a eb 33 jmp SHORT $LN1@DoubleFrom
$LN2@DoubleFrom:
; 906 : }
; 907 :
; 908 : // If negative, must convert since negative dates not continuous
; 909 : // (examples: -1.25 to -.75, -1.50 to -.50, -1.75 to -.25)
; 910 : double fTemp = ceil(date);
0003c 83 ec 08 sub esp, 8
0003f f2 0f 10 45 08 movsd xmm0, QWORD PTR _date$[ebp]
00044 f2 0f 11 04 24 movsd QWORD PTR [esp], xmm0
00049 e8 00 00 00 00 call _ceil
0004e 83 c4 08 add esp, 8
00051 dd 5d ec fstp QWORD PTR _fTemp$[ebp]
; 911 :
; 912 : return fTemp - (date - fTemp);
00054 f2 0f 10 45 08 movsd xmm0, QWORD PTR _date$[ebp]
00059 f2 0f 5c 45 ec subsd xmm0, QWORD PTR _fTemp$[ebp]
0005e f2 0f 10 4d ec movsd xmm1, QWORD PTR _fTemp$[ebp]
00063 f2 0f 5c c8 subsd xmm1, xmm0
00067 f2 0f 11 4d a4 movsd QWORD PTR tv78[ebp], xmm1
0006c dd 45 a4 fld QWORD PTR tv78[ebp]
$LN1@DoubleFrom:
; 913 : }
0006f 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00072 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00079 59 pop ecx
0007a 5f pop edi
0007b 5e pop esi
0007c 5b pop ebx
0007d 8b e5 mov esp, ebp
0007f 5d pop ebp
00080 c2 08 00 ret 8
00083 cc int 3
00084 cc int 3
00085 cc int 3
00086 cc int 3
00087 cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?DoubleFromDate@COleDateTime@ATL@@KGNN@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a a0 mov ecx, DWORD PTR [edx-96]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?DoubleFromDate@COleDateTime@ATL@@KGNN@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?DoubleFromDate@COleDateTime@ATL@@KGNN@Z ENDP ; ATL::COleDateTime::DoubleFromDate
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\ATLComTime.h
; COMDAT ?ParseDateTime@COleDateTime@ATL@@QAE_NPB_WKK@Z
_TEXT SEGMENT
tv69 = -120 ; size = 4
$T2 = -116 ; size = 1
$T3 = -115 ; size = 1
$T4 = -114 ; size = 1
$T5 = -113 ; size = 1
_p$ = -48 ; size = 4
_hr$ = -44 ; size = 4
_pszDate$ = -40 ; size = 4
__AtlSafeAllocaManager$ = -36 ; size = 4
__acp_ex$ = -24 ; size = 4
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_lpszDate$ = 8 ; size = 4
_dwFlags$ = 12 ; size = 4
_lcid$ = 16 ; size = 4
?ParseDateTime@COleDateTime@ATL@@QAE_NPB_WKK@Z PROC ; ATL::COleDateTime::ParseDateTime, COMDAT
; _this$ = ecx
; 946 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?ParseDateTime@COleDateTime@ATL@@QAE_NPB_WKK@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 6c sub esp, 108 ; 0000006cH
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
; 947 : USES_CONVERSION_EX;
0002b e8 00 00 00 00 call ?_AtlGetConversionACP@ATL@@YGIXZ ; ATL::_AtlGetConversionACP
00030 89 45 e8 mov DWORD PTR __acp_ex$[ebp], eax
00033 8d 4d dc lea ecx, DWORD PTR __AtlSafeAllocaManager$[ebp]
00036 e8 00 00 00 00 call ??0?$CAtlSafeAllocBufferManager@VCCRTAllocator@ATL@@@_ATL_SAFE_ALLOCA_IMPL@ATL@@QAE@XZ ; ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator>::CAtlSafeAllocBufferManager<ATL::CCRTAllocator>
0003b c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
; 948 : LPCTSTR pszDate = ( lpszDate == NULL ) ? _T("") : lpszDate;
00042 83 7d 08 00 cmp DWORD PTR _lpszDate$[ebp], 0
00046 75 09 jne SHORT $LN8@ParseDateT
00048 c7 45 88 00 00
00 00 mov DWORD PTR tv69[ebp], OFFSET ??_C@_11LOCGONAA@@
0004f eb 06 jmp SHORT $LN9@ParseDateT
$LN8@ParseDateT:
00051 8b 45 08 mov eax, DWORD PTR _lpszDate$[ebp]
00054 89 45 88 mov DWORD PTR tv69[ebp], eax
$LN9@ParseDateT:
00057 8b 4d 88 mov ecx, DWORD PTR tv69[ebp]
0005a 89 4d d8 mov DWORD PTR _pszDate$[ebp], ecx
; 949 :
; 950 : HRESULT hr;
; 951 : LPOLESTR p = T2OLE_EX((LPTSTR)pszDate, _ATL_SAFE_ALLOCA_DEF_THRESHOLD);
0005d 68 00 04 00 00 push 1024 ; 00000400H
00062 8b 45 d8 mov eax, DWORD PTR _pszDate$[ebp]
00065 50 push eax
00066 e8 00 00 00 00 call ?T2OLE_EX@@YAPA_WPA_WI@Z ; T2OLE_EX
0006b 83 c4 08 add esp, 8
0006e 89 45 d0 mov DWORD PTR _p$[ebp], eax
; 952 : #ifndef _UNICODE
; 953 : if( p == NULL )
; 954 : {
; 955 : m_dt = 0;
; 956 : m_status = invalid;
; 957 : return false;
; 958 : }
; 959 : #endif // _UNICODE
; 960 :
; 961 : if (FAILED(hr = VarDateFromStr( p, lcid, dwFlags, &m_dt )))
00071 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00074 50 push eax
00075 8b 4d 0c mov ecx, DWORD PTR _dwFlags$[ebp]
00078 51 push ecx
00079 8b 55 10 mov edx, DWORD PTR _lcid$[ebp]
0007c 52 push edx
0007d 8b 45 d0 mov eax, DWORD PTR _p$[ebp]
00080 50 push eax
00081 ff 15 00 00 00
00 call DWORD PTR __imp__VarDateFromStr@16
00087 89 45 d4 mov DWORD PTR _hr$[ebp], eax
0008a 83 7d d4 00 cmp DWORD PTR _hr$[ebp], 0
0008e 0f 8d a7 00 00
00 jge $LN6@ParseDateT
; 962 : {
; 963 : if (hr == DISP_E_TYPEMISMATCH)
00094 81 7d d4 05 00
02 80 cmp DWORD PTR _hr$[ebp], -2147352571 ; 80020005H
0009b 75 31 jne SHORT $LN3@ParseDateT
; 964 : {
; 965 : // Can't convert string to date, set 0 and invalidate
; 966 : m_dt = 0;
0009d 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
000a0 0f 57 c0 xorps xmm0, xmm0
000a3 f2 0f 11 00 movsd QWORD PTR [eax], xmm0
; 967 : m_status = invalid;
000a7 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
000aa c7 40 08 01 00
00 00 mov DWORD PTR [eax+8], 1
; 968 : return false;
000b1 c6 45 8f 00 mov BYTE PTR $T5[ebp], 0
000b5 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
000bc 8d 4d dc lea ecx, DWORD PTR __AtlSafeAllocaManager$[ebp]
000bf e8 00 00 00 00 call ??1?$CAtlSafeAllocBufferManager@VCCRTAllocator@ATL@@@_ATL_SAFE_ALLOCA_IMPL@ATL@@QAE@XZ ; ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator>::~CAtlSafeAllocBufferManager<ATL::CCRTAllocator>
000c4 8a 45 8f mov al, BYTE PTR $T5[ebp]
000c7 e9 8f 00 00 00 jmp $LN1@ParseDateT
; 969 : }
000cc eb 6d jmp SHORT $LN6@ParseDateT
$LN3@ParseDateT:
; 970 : else if (hr == DISP_E_OVERFLOW)
000ce 81 7d d4 0a 00
02 80 cmp DWORD PTR _hr$[ebp], -2147352566 ; 8002000aH
000d5 75 33 jne SHORT $LN5@ParseDateT
; 971 : {
; 972 : // Can't convert string to date, set -1 and invalidate
; 973 : m_dt = -1;
000d7 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
000da f2 0f 10 05 00
00 00 00 movsd xmm0, QWORD PTR __real@bff0000000000000
000e2 f2 0f 11 00 movsd QWORD PTR [eax], xmm0
; 974 : m_status = invalid;
000e6 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
000e9 c7 40 08 01 00
00 00 mov DWORD PTR [eax+8], 1
; 975 : return false;
000f0 c6 45 8e 00 mov BYTE PTR $T4[ebp], 0
000f4 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
000fb 8d 4d dc lea ecx, DWORD PTR __AtlSafeAllocaManager$[ebp]
000fe e8 00 00 00 00 call ??1?$CAtlSafeAllocBufferManager@VCCRTAllocator@ATL@@@_ATL_SAFE_ALLOCA_IMPL@ATL@@QAE@XZ ; ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator>::~CAtlSafeAllocBufferManager<ATL::CCRTAllocator>
00103 8a 45 8e mov al, BYTE PTR $T4[ebp]
00106 eb 53 jmp SHORT $LN1@ParseDateT
; 976 : }
00108 eb 31 jmp SHORT $LN6@ParseDateT
$LN5@ParseDateT:
; 977 : else
; 978 : {
; 979 : ATLTRACE(atlTraceTime, 0, _T("\nCOleDateTime VarDateFromStr call failed.\n\t"));
; 980 : // Can't convert string to date, set -1 and invalidate
; 981 : m_dt = -1;
0010a 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
0010d f2 0f 10 05 00
00 00 00 movsd xmm0, QWORD PTR __real@bff0000000000000
00115 f2 0f 11 00 movsd QWORD PTR [eax], xmm0
; 982 : m_status = invalid;
00119 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
0011c c7 40 08 01 00
00 00 mov DWORD PTR [eax+8], 1
; 983 : return false;
00123 c6 45 8d 00 mov BYTE PTR $T3[ebp], 0
00127 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
0012e 8d 4d dc lea ecx, DWORD PTR __AtlSafeAllocaManager$[ebp]
00131 e8 00 00 00 00 call ??1?$CAtlSafeAllocBufferManager@VCCRTAllocator@ATL@@@_ATL_SAFE_ALLOCA_IMPL@ATL@@QAE@XZ ; ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator>::~CAtlSafeAllocBufferManager<ATL::CCRTAllocator>
00136 8a 45 8d mov al, BYTE PTR $T3[ebp]
00139 eb 20 jmp SHORT $LN1@ParseDateT
$LN6@ParseDateT:
; 984 : }
; 985 : }
; 986 :
; 987 : m_status = valid;
0013b 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
0013e c7 40 08 00 00
00 00 mov DWORD PTR [eax+8], 0
; 988 : return true;
00145 c6 45 8c 01 mov BYTE PTR $T2[ebp], 1
00149 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
00150 8d 4d dc lea ecx, DWORD PTR __AtlSafeAllocaManager$[ebp]
00153 e8 00 00 00 00 call ??1?$CAtlSafeAllocBufferManager@VCCRTAllocator@ATL@@@_ATL_SAFE_ALLOCA_IMPL@ATL@@QAE@XZ ; ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator>::~CAtlSafeAllocBufferManager<ATL::CCRTAllocator>
00158 8a 45 8c mov al, BYTE PTR $T2[ebp]
$LN1@ParseDateT:
; 989 : }
0015b 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0015e 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00165 59 pop ecx
00166 5f pop edi
00167 5e pop esi
00168 5b pop ebx
00169 8b e5 mov esp, ebp
0016b 5d pop ebp
0016c c2 0c 00 ret 12 ; 0000000cH
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$?ParseDateTime@COleDateTime@ATL@@QAE_NPB_WKK@Z$0:
00000 8d 4d dc lea ecx, DWORD PTR __AtlSafeAllocaManager$[ebp]
00003 e9 00 00 00 00 jmp ??1?$CAtlSafeAllocBufferManager@VCCRTAllocator@ATL@@@_ATL_SAFE_ALLOCA_IMPL@ATL@@QAE@XZ ; ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator>::~CAtlSafeAllocBufferManager<ATL::CCRTAllocator>
00008 cc int 3
00009 cc int 3
0000a cc int 3
0000b cc int 3
0000c cc int 3
__ehhandler$?ParseDateTime@COleDateTime@ATL@@QAE_NPB_WKK@Z:
0000d 90 npad 1
0000e 90 npad 1
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
00016 8b 4a 84 mov ecx, DWORD PTR [edx-124]
00019 33 c8 xor ecx, eax
0001b e8 00 00 00 00 call @__security_check_cookie@4
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?ParseDateTime@COleDateTime@ATL@@QAE_NPB_WKK@Z
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?ParseDateTime@COleDateTime@ATL@@QAE_NPB_WKK@Z ENDP ; ATL::COleDateTime::ParseDateTime
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\ATLComTime.h
; COMDAT ??GCOleDateTime@ATL@@QBE?AVCOleDateTimeSpan@1@ABV01@@Z
_TEXT SEGMENT
tv87 = -92 ; size = 8
tv92 = -84 ; size = 8
tv80 = -76 ; size = 8
_this$ = -4 ; size = 4
___$ReturnUdt$ = 8 ; size = 4
_date$ = 12 ; size = 4
??GCOleDateTime@ATL@@QBE?AVCOleDateTimeSpan@1@ABV01@@Z PROC ; ATL::COleDateTime::operator-, COMDAT
; _this$ = ecx
; 854 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 5c sub esp, 92 ; 0000005cH
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 855 : ATLASSERT(GetStatus() == valid);
; 856 : ATLASSERT(date.GetStatus() == valid);
; 857 : return DoubleFromDate(m_dt) - DoubleFromDate(date.m_dt);
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 83 ec 08 sub esp, 8
00012 f2 0f 10 00 movsd xmm0, QWORD PTR [eax]
00016 f2 0f 11 04 24 movsd QWORD PTR [esp], xmm0
0001b e8 00 00 00 00 call ?DoubleFromDate@COleDateTime@ATL@@KGNN@Z ; ATL::COleDateTime::DoubleFromDate
00020 dd 5d b4 fstp QWORD PTR tv80[ebp]
00023 f2 0f 10 45 b4 movsd xmm0, QWORD PTR tv80[ebp]
00028 8b 4d 0c mov ecx, DWORD PTR _date$[ebp]
0002b 83 ec 08 sub esp, 8
0002e f2 0f 10 09 movsd xmm1, QWORD PTR [ecx]
00032 f2 0f 11 0c 24 movsd QWORD PTR [esp], xmm1
00037 f2 0f 11 45 ac movsd QWORD PTR tv92[ebp], xmm0
0003c e8 00 00 00 00 call ?DoubleFromDate@COleDateTime@ATL@@KGNN@Z ; ATL::COleDateTime::DoubleFromDate
00041 dd 5d a4 fstp QWORD PTR tv87[ebp]
00044 f2 0f 10 45 ac movsd xmm0, QWORD PTR tv92[ebp]
00049 f2 0f 5c 45 a4 subsd xmm0, QWORD PTR tv87[ebp]
0004e 83 ec 08 sub esp, 8
00051 f2 0f 11 04 24 movsd QWORD PTR [esp], xmm0
00056 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
00059 e8 00 00 00 00 call ??0COleDateTimeSpan@ATL@@QAE@N@Z ; ATL::COleDateTimeSpan::COleDateTimeSpan
0005e 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp]
; 858 : }
00061 5f pop edi
00062 5e pop esi
00063 5b pop ebx
00064 8b e5 mov esp, ebp
00066 5d pop ebp
00067 c2 08 00 ret 8
??GCOleDateTime@ATL@@QBE?AVCOleDateTimeSpan@1@ABV01@@Z ENDP ; ATL::COleDateTime::operator-
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\ATLComTime.h
; COMDAT ??4COleDateTime@ATL@@QAEAAV01@AB_J@Z
_TEXT SEGMENT
tv76 = -112 ; size = 4
_tmp$ = -44 ; size = 8
_st$ = -36 ; size = 16
_this$ = -20 ; size = 4
__$ArrayPad$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_timeSrc$ = 8 ; size = 4
??4COleDateTime@ATL@@QAEAAV01@AB_J@Z PROC ; ATL::COleDateTime::operator=, COMDAT
; _this$ = ecx
; 715 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??4COleDateTime@ATL@@QAEAAV01@AB_J@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 64 sub esp, 100 ; 00000064H
00014 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
00019 33 c5 xor eax, ebp
0001b 89 45 f0 mov DWORD PTR __$ArrayPad$[ebp], eax
0001e 53 push ebx
0001f 56 push esi
00020 57 push edi
00021 50 push eax
00022 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00025 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
0002b 89 4d ec mov DWORD PTR _this$[ebp], ecx
; 716 : #ifndef _ATL_USE_WINAPI_FAMILY_DESKTOP_APP
; 717 : SYSTEMTIME st;
; 718 :
; 719 : m_status = GetAsSystemTimeHelper(timeSrc, st) &&
; 720 : ConvertSystemTimeToVariantTime(st) ? valid : invalid;
; 721 :
; 722 : #else
; 723 : SYSTEMTIME st;
; 724 : CTime tmp(timeSrc);
0002e 8b 45 08 mov eax, DWORD PTR _timeSrc$[ebp]
00031 8b 48 04 mov ecx, DWORD PTR [eax+4]
00034 51 push ecx
00035 8b 10 mov edx, DWORD PTR [eax]
00037 52 push edx
00038 8d 4d d4 lea ecx, DWORD PTR _tmp$[ebp]
0003b e8 00 00 00 00 call ??0CTime@ATL@@QAE@_J@Z ; ATL::CTime::CTime
; 725 :
; 726 : m_status = tmp.GetAsSystemTime(st) &&
00040 8d 45 dc lea eax, DWORD PTR _st$[ebp]
00043 50 push eax
00044 8d 4d d4 lea ecx, DWORD PTR _tmp$[ebp]
00047 e8 00 00 00 00 call ?GetAsSystemTime@CTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z ; ATL::CTime::GetAsSystemTime
0004c 0f b6 c8 movzx ecx, al
0004f 85 c9 test ecx, ecx
00051 74 19 je SHORT $LN3@operator
00053 8d 55 dc lea edx, DWORD PTR _st$[ebp]
00056 52 push edx
00057 8b 4d ec mov ecx, DWORD PTR _this$[ebp]
0005a e8 00 00 00 00 call ?ConvertSystemTimeToVariantTime@COleDateTime@ATL@@IAEHABU_SYSTEMTIME@@@Z ; ATL::COleDateTime::ConvertSystemTimeToVariantTime
0005f 85 c0 test eax, eax
00061 74 09 je SHORT $LN3@operator
00063 c7 45 90 00 00
00 00 mov DWORD PTR tv76[ebp], 0
0006a eb 07 jmp SHORT $LN4@operator
$LN3@operator:
0006c c7 45 90 01 00
00 00 mov DWORD PTR tv76[ebp], 1
$LN4@operator:
00073 8b 45 ec mov eax, DWORD PTR _this$[ebp]
00076 8b 4d 90 mov ecx, DWORD PTR tv76[ebp]
00079 89 48 08 mov DWORD PTR [eax+8], ecx
; 727 : ConvertSystemTimeToVariantTime(st) ? valid : invalid;
; 728 : #endif // _ATL_USE_WINAPI_FAMILY_DESKTOP_APP
; 729 : return *this;
0007c 8b 45 ec mov eax, DWORD PTR _this$[ebp]
; 730 : }
0007f 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00082 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00089 59 pop ecx
0008a 5f pop edi
0008b 5e pop esi
0008c 5b pop ebx
0008d 8b 4d f0 mov ecx, DWORD PTR __$ArrayPad$[ebp]
00090 33 cd xor ecx, ebp
00092 e8 00 00 00 00 call @__security_check_cookie@4
00097 8b e5 mov esp, ebp
00099 5d pop ebp
0009a c2 04 00 ret 4
0009d cc int 3
0009e cc int 3
0009f cc int 3
000a0 cc int 3
000a1 cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$??4COleDateTime@ATL@@QAEAAV01@AB_J@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a 8c mov ecx, DWORD PTR [edx-116]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 8b 4a fc mov ecx, DWORD PTR [edx-4]
00016 33 c8 xor ecx, eax
00018 e8 00 00 00 00 call @__security_check_cookie@4
0001d b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??4COleDateTime@ATL@@QAEAAV01@AB_J@Z
00022 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??4COleDateTime@ATL@@QAEAAV01@AB_J@Z ENDP ; ATL::COleDateTime::operator=
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\ATLComTime.h
; COMDAT ?GetDay@COleDateTime@ATL@@QBEHXZ
_TEXT SEGMENT
tv73 = -92 ; size = 4
_st$ = -24 ; size = 16
_this$ = -8 ; size = 4
__$ArrayPad$ = -4 ; size = 4
?GetDay@COleDateTime@ATL@@QBEHXZ PROC ; ATL::COleDateTime::GetDay, COMDAT
; _this$ = ecx
; 621 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 5c sub esp, 92 ; 0000005cH
00006 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0000b 33 c5 xor eax, ebp
0000d 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax
00010 53 push ebx
00011 56 push esi
00012 57 push edi
00013 89 4d f8 mov DWORD PTR _this$[ebp], ecx
; 622 : SYSTEMTIME st = {0};
00016 33 c0 xor eax, eax
00018 89 45 e8 mov DWORD PTR _st$[ebp], eax
0001b 89 45 ec mov DWORD PTR _st$[ebp+4], eax
0001e 89 45 f0 mov DWORD PTR _st$[ebp+8], eax
00021 89 45 f4 mov DWORD PTR _st$[ebp+12], eax
; 623 : return GetAsSystemTime(st) ? st.wDay : error;
00024 8d 45 e8 lea eax, DWORD PTR _st$[ebp]
00027 50 push eax
00028 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
0002b e8 00 00 00 00 call ?GetAsSystemTime@COleDateTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z ; ATL::COleDateTime::GetAsSystemTime
00030 0f b6 c8 movzx ecx, al
00033 85 c9 test ecx, ecx
00035 74 09 je SHORT $LN3@GetDay
00037 0f b7 55 ee movzx edx, WORD PTR _st$[ebp+6]
0003b 89 55 a4 mov DWORD PTR tv73[ebp], edx
0003e eb 07 jmp SHORT $LN4@GetDay
$LN3@GetDay:
00040 c7 45 a4 ff ff
ff ff mov DWORD PTR tv73[ebp], -1
$LN4@GetDay:
00047 8b 45 a4 mov eax, DWORD PTR tv73[ebp]
; 624 : }
0004a 5f pop edi
0004b 5e pop esi
0004c 5b pop ebx
0004d 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp]
00050 33 cd xor ecx, ebp
00052 e8 00 00 00 00 call @__security_check_cookie@4
00057 8b e5 mov esp, ebp
00059 5d pop ebp
0005a c3 ret 0
?GetDay@COleDateTime@ATL@@QBEHXZ ENDP ; ATL::COleDateTime::GetDay
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\ATLComTime.h
; COMDAT ?GetMonth@COleDateTime@ATL@@QBEHXZ
_TEXT SEGMENT
tv73 = -92 ; size = 4
_st$ = -24 ; size = 16
_this$ = -8 ; size = 4
__$ArrayPad$ = -4 ; size = 4
?GetMonth@COleDateTime@ATL@@QBEHXZ PROC ; ATL::COleDateTime::GetMonth, COMDAT
; _this$ = ecx
; 615 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 5c sub esp, 92 ; 0000005cH
00006 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0000b 33 c5 xor eax, ebp
0000d 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax
00010 53 push ebx
00011 56 push esi
00012 57 push edi
00013 89 4d f8 mov DWORD PTR _this$[ebp], ecx
; 616 : SYSTEMTIME st = {0};
00016 33 c0 xor eax, eax
00018 89 45 e8 mov DWORD PTR _st$[ebp], eax
0001b 89 45 ec mov DWORD PTR _st$[ebp+4], eax
0001e 89 45 f0 mov DWORD PTR _st$[ebp+8], eax
00021 89 45 f4 mov DWORD PTR _st$[ebp+12], eax
; 617 : return GetAsSystemTime(st) ? st.wMonth : error;
00024 8d 45 e8 lea eax, DWORD PTR _st$[ebp]
00027 50 push eax
00028 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
0002b e8 00 00 00 00 call ?GetAsSystemTime@COleDateTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z ; ATL::COleDateTime::GetAsSystemTime
00030 0f b6 c8 movzx ecx, al
00033 85 c9 test ecx, ecx
00035 74 09 je SHORT $LN3@GetMonth
00037 0f b7 55 ea movzx edx, WORD PTR _st$[ebp+2]
0003b 89 55 a4 mov DWORD PTR tv73[ebp], edx
0003e eb 07 jmp SHORT $LN4@GetMonth
$LN3@GetMonth:
00040 c7 45 a4 ff ff
ff ff mov DWORD PTR tv73[ebp], -1
$LN4@GetMonth:
00047 8b 45 a4 mov eax, DWORD PTR tv73[ebp]
; 618 : }
0004a 5f pop edi
0004b 5e pop esi
0004c 5b pop ebx
0004d 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp]
00050 33 cd xor ecx, ebp
00052 e8 00 00 00 00 call @__security_check_cookie@4
00057 8b e5 mov esp, ebp
00059 5d pop ebp
0005a c3 ret 0
?GetMonth@COleDateTime@ATL@@QBEHXZ ENDP ; ATL::COleDateTime::GetMonth
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\ATLComTime.h
; COMDAT ?GetYear@COleDateTime@ATL@@QBEHXZ
_TEXT SEGMENT
tv73 = -92 ; size = 4
_st$ = -24 ; size = 16
_this$ = -8 ; size = 4
__$ArrayPad$ = -4 ; size = 4
?GetYear@COleDateTime@ATL@@QBEHXZ PROC ; ATL::COleDateTime::GetYear, COMDAT
; _this$ = ecx
; 609 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 5c sub esp, 92 ; 0000005cH
00006 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0000b 33 c5 xor eax, ebp
0000d 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax
00010 53 push ebx
00011 56 push esi
00012 57 push edi
00013 89 4d f8 mov DWORD PTR _this$[ebp], ecx
; 610 : SYSTEMTIME st = {0};
00016 33 c0 xor eax, eax
00018 89 45 e8 mov DWORD PTR _st$[ebp], eax
0001b 89 45 ec mov DWORD PTR _st$[ebp+4], eax
0001e 89 45 f0 mov DWORD PTR _st$[ebp+8], eax
00021 89 45 f4 mov DWORD PTR _st$[ebp+12], eax
; 611 : return GetAsSystemTime(st) ? st.wYear : error;
00024 8d 45 e8 lea eax, DWORD PTR _st$[ebp]
00027 50 push eax
00028 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
0002b e8 00 00 00 00 call ?GetAsSystemTime@COleDateTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z ; ATL::COleDateTime::GetAsSystemTime
00030 0f b6 c8 movzx ecx, al
00033 85 c9 test ecx, ecx
00035 74 09 je SHORT $LN3@GetYear
00037 0f b7 55 e8 movzx edx, WORD PTR _st$[ebp]
0003b 89 55 a4 mov DWORD PTR tv73[ebp], edx
0003e eb 07 jmp SHORT $LN4@GetYear
$LN3@GetYear:
00040 c7 45 a4 ff ff
ff ff mov DWORD PTR tv73[ebp], -1
$LN4@GetYear:
00047 8b 45 a4 mov eax, DWORD PTR tv73[ebp]
; 612 : }
0004a 5f pop edi
0004b 5e pop esi
0004c 5b pop ebx
0004d 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp]
00050 33 cd xor ecx, ebp
00052 e8 00 00 00 00 call @__security_check_cookie@4
00057 8b e5 mov esp, ebp
00059 5d pop ebp
0005a c3 ret 0
?GetYear@COleDateTime@ATL@@QBEHXZ ENDP ; ATL::COleDateTime::GetYear
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\ATLComTime.h
; COMDAT ?GetAsSystemTime@COleDateTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z
_TEXT SEGMENT
tv72 = -84 ; size = 4
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_sysTime$ = 8 ; size = 4
?GetAsSystemTime@COleDateTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z PROC ; ATL::COleDateTime::GetAsSystemTime, COMDAT
; _this$ = ecx
; 598 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?GetAsSystemTime@COleDateTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 48 sub esp, 72 ; 00000048H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
; 599 : return GetStatus() == valid && ::VariantTimeToSystemTime(m_dt, &sysTime) == TRUE;
0002b 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0002e e8 00 00 00 00 call ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus
00033 85 c0 test eax, eax
00035 75 27 jne SHORT $LN3@GetAsSyste
00037 8b 45 08 mov eax, DWORD PTR _sysTime$[ebp]
0003a 50 push eax
0003b 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0003e 83 ec 08 sub esp, 8
00041 f2 0f 10 01 movsd xmm0, QWORD PTR [ecx]
00045 f2 0f 11 04 24 movsd QWORD PTR [esp], xmm0
0004a ff 15 00 00 00
00 call DWORD PTR __imp__VariantTimeToSystemTime@12
00050 83 f8 01 cmp eax, 1
00053 75 09 jne SHORT $LN3@GetAsSyste
00055 c7 45 ac 01 00
00 00 mov DWORD PTR tv72[ebp], 1
0005c eb 07 jmp SHORT $LN4@GetAsSyste
$LN3@GetAsSyste:
0005e c7 45 ac 00 00
00 00 mov DWORD PTR tv72[ebp], 0
$LN4@GetAsSyste:
00065 8a 45 ac mov al, BYTE PTR tv72[ebp]
; 600 : }
00068 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0006b 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00072 59 pop ecx
00073 5f pop edi
00074 5e pop esi
00075 5b pop ebx
00076 8b e5 mov esp, ebp
00078 5d pop ebp
00079 c2 04 00 ret 4
0007c cc int 3
0007d cc int 3
0007e cc int 3
0007f cc int 3
00080 cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?GetAsSystemTime@COleDateTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a a8 mov ecx, DWORD PTR [edx-88]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?GetAsSystemTime@COleDateTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?GetAsSystemTime@COleDateTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z ENDP ; ATL::COleDateTime::GetAsSystemTime
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\ATLComTime.h
; COMDAT ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ PROC ; ATL::COleDateTime::GetStatus, COMDAT
; _this$ = ecx
; 593 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 594 : return m_status;
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 8b 40 08 mov eax, DWORD PTR [eax+8]
; 595 : }
00012 5f pop edi
00013 5e pop esi
00014 5b pop ebx
00015 8b e5 mov esp, ebp
00017 5d pop ebp
00018 c3 ret 0
?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ENDP ; ATL::COleDateTime::GetStatus
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\ATLComTime.h
; COMDAT ??0COleDateTime@ATL@@QAE@_J@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_timeSrc$ = 8 ; size = 8
??0COleDateTime@ATL@@QAE@_J@Z PROC ; ATL::COleDateTime::COleDateTime, COMDAT
; _this$ = ecx
; 550 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 549 : m_dt( 0 ), m_status(valid)
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 0f 57 c0 xorps xmm0, xmm0
00012 f2 0f 11 00 movsd QWORD PTR [eax], xmm0
00016 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00019 c7 40 08 00 00
00 00 mov DWORD PTR [eax+8], 0
; 551 : *this = timeSrc;
00020 8d 45 08 lea eax, DWORD PTR _timeSrc$[ebp]
00023 50 push eax
00024 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00027 e8 00 00 00 00 call ??4COleDateTime@ATL@@QAEAAV01@AB_J@Z ; ATL::COleDateTime::operator=
; 552 : }
0002c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0002f 5f pop edi
00030 5e pop esi
00031 5b pop ebx
00032 8b e5 mov esp, ebp
00034 5d pop ebp
00035 c2 08 00 ret 8
??0COleDateTime@ATL@@QAE@_J@Z ENDP ; ATL::COleDateTime::COleDateTime
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\ATLComTime.h
; COMDAT ??0COleDateTime@ATL@@QAE@XZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
??0COleDateTime@ATL@@QAE@XZ PROC ; ATL::COleDateTime::COleDateTime, COMDAT
; _this$ = ecx
; 528 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 527 : m_dt( 0 ), m_status(valid)
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 0f 57 c0 xorps xmm0, xmm0
00012 f2 0f 11 00 movsd QWORD PTR [eax], xmm0
00016 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00019 c7 40 08 00 00
00 00 mov DWORD PTR [eax+8], 0
; 529 : }
00020 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00023 5f pop edi
00024 5e pop esi
00025 5b pop ebx
00026 8b e5 mov esp, ebp
00028 5d pop ebp
00029 c3 ret 0
??0COleDateTime@ATL@@QAE@XZ ENDP ; ATL::COleDateTime::COleDateTime
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\ATLComTime.h
; COMDAT ?GetTickCount@COleDateTime@ATL@@SG?AV12@XZ
_TEXT SEGMENT
__$EHRec$ = -12 ; size = 12
___$ReturnUdt$ = 8 ; size = 4
?GetTickCount@COleDateTime@ATL@@SG?AV12@XZ PROC ; ATL::COleDateTime::GetTickCount, COMDAT
; 522 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?GetTickCount@COleDateTime@ATL@@SG?AV12@XZ
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 40 sub esp, 64 ; 00000040H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 523 : return COleDateTime(::_time64(NULL));
00028 6a 00 push 0
0002a e8 00 00 00 00 call __time64
0002f 83 c4 04 add esp, 4
00032 52 push edx
00033 50 push eax
00034 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
00037 e8 00 00 00 00 call ??0COleDateTime@ATL@@QAE@_J@Z ; ATL::COleDateTime::COleDateTime
0003c 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp]
; 524 : }
0003f 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00042 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00049 59 pop ecx
0004a 5f pop edi
0004b 5e pop esi
0004c 5b pop ebx
0004d 8b e5 mov esp, ebp
0004f 5d pop ebp
00050 c2 04 00 ret 4
00053 cc int 3
00054 cc int 3
00055 cc int 3
00056 cc int 3
00057 cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?GetTickCount@COleDateTime@ATL@@SG?AV12@XZ:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?GetTickCount@COleDateTime@ATL@@SG?AV12@XZ
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?GetTickCount@COleDateTime@ATL@@SG?AV12@XZ ENDP ; ATL::COleDateTime::GetTickCount
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\ATLComTime.h
; COMDAT ?CheckRange@COleDateTimeSpan@ATL@@QAEXXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?CheckRange@COleDateTimeSpan@ATL@@QAEXXZ PROC ; ATL::COleDateTimeSpan::CheckRange, COMDAT
; _this$ = ecx
; 510 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 511 : if(m_span < -maxDaysInSpan || m_span > maxDaysInSpan)
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f f2 0f 10 05 00
00 00 00 movsd xmm0, QWORD PTR __real@c14b964c80000000
00017 66 0f 2f 00 comisd xmm0, QWORD PTR [eax]
0001b 77 11 ja SHORT $LN3@CheckRange
0001d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00020 f2 0f 10 00 movsd xmm0, QWORD PTR [eax]
00024 66 0f 2f 05 00
00 00 00 comisd xmm0, QWORD PTR __real@414b964c80000000
0002c 76 0a jbe SHORT $LN2@CheckRange
$LN3@CheckRange:
; 512 : {
; 513 : m_status = invalid;
0002e 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00031 c7 40 08 01 00
00 00 mov DWORD PTR [eax+8], 1
$LN2@CheckRange:
; 514 : }
; 515 : }
00038 5f pop edi
00039 5e pop esi
0003a 5b pop ebx
0003b 8b e5 mov esp, ebp
0003d 5d pop ebp
0003e c3 ret 0
?CheckRange@COleDateTimeSpan@ATL@@QAEXXZ ENDP ; ATL::COleDateTimeSpan::CheckRange
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\ATLComTime.h
; COMDAT ?SetDateTimeSpan@COleDateTimeSpan@ATL@@QAEXJHHH@Z
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_lDays$ = 8 ; size = 4
_nHours$ = 12 ; size = 4
_nMins$ = 16 ; size = 4
_nSecs$ = 20 ; size = 4
?SetDateTimeSpan@COleDateTimeSpan@ATL@@QAEXJHHH@Z PROC ; ATL::COleDateTimeSpan::SetDateTimeSpan, COMDAT
; _this$ = ecx
; 501 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?SetDateTimeSpan@COleDateTimeSpan@ATL@@QAEXJHHH@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 44 sub esp, 68 ; 00000044H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
; 502 : // Set date span by breaking into fractional days (all input ranges valid)
; 503 : m_span = lDays + ((double)nHours)/24 + ((double)nMins)/(24*60) +
0002b f2 0f 2a 45 08 cvtsi2sd xmm0, DWORD PTR _lDays$[ebp]
00030 f2 0f 2a 4d 0c cvtsi2sd xmm1, DWORD PTR _nHours$[ebp]
00035 f2 0f 5e 0d 00
00 00 00 divsd xmm1, QWORD PTR __real@4038000000000000
0003d f2 0f 58 c1 addsd xmm0, xmm1
00041 f2 0f 2a 4d 10 cvtsi2sd xmm1, DWORD PTR _nMins$[ebp]
00046 f2 0f 5e 0d 00
00 00 00 divsd xmm1, QWORD PTR __real@4096800000000000
0004e f2 0f 58 c1 addsd xmm0, xmm1
00052 f2 0f 2a 4d 14 cvtsi2sd xmm1, DWORD PTR _nSecs$[ebp]
00057 f2 0f 5e 0d 00
00 00 00 divsd xmm1, QWORD PTR __real@40f5180000000000
0005f f2 0f 58 c1 addsd xmm0, xmm1
00063 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00066 f2 0f 11 00 movsd QWORD PTR [eax], xmm0
; 504 : ((double)nSecs)/(24*60*60);
; 505 : m_status = valid;
0006a 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
0006d c7 40 08 00 00
00 00 mov DWORD PTR [eax+8], 0
; 506 : CheckRange();
00074 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00077 e8 00 00 00 00 call ?CheckRange@COleDateTimeSpan@ATL@@QAEXXZ ; ATL::COleDateTimeSpan::CheckRange
; 507 : }
0007c 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0007f 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00086 59 pop ecx
00087 5f pop edi
00088 5e pop esi
00089 5b pop ebx
0008a 8b e5 mov esp, ebp
0008c 5d pop ebp
0008d c2 10 00 ret 16 ; 00000010H
00090 cc int 3
00091 cc int 3
00092 cc int 3
00093 cc int 3
00094 cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?SetDateTimeSpan@COleDateTimeSpan@ATL@@QAEXJHHH@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a ac mov ecx, DWORD PTR [edx-84]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?SetDateTimeSpan@COleDateTimeSpan@ATL@@QAEXJHHH@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?SetDateTimeSpan@COleDateTimeSpan@ATL@@QAEXJHHH@Z ENDP ; ATL::COleDateTimeSpan::SetDateTimeSpan
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\ATLComTime.h
; COMDAT ??MCOleDateTimeSpan@ATL@@QBE_NABV01@@Z
_TEXT SEGMENT
tv75 = -72 ; size = 4
_this$ = -4 ; size = 4
_dateSpan$ = 8 ; size = 4
??MCOleDateTimeSpan@ATL@@QBE_NABV01@@Z PROC ; ATL::COleDateTimeSpan::operator<, COMDAT
; _this$ = ecx
; 382 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 383 : ATLASSERT(GetStatus() == valid);
; 384 : ATLASSERT(dateSpan.GetStatus() == valid);
; 385 : if( (GetStatus() == valid) && (GetStatus() == dateSpan.GetStatus()) )
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?GetStatus@COleDateTimeSpan@ATL@@QBE?AW4DateTimeSpanStatus@12@XZ ; ATL::COleDateTimeSpan::GetStatus
00014 85 c0 test eax, eax
00016 75 3b jne SHORT $LN2@operator
00018 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0001b e8 00 00 00 00 call ?GetStatus@COleDateTimeSpan@ATL@@QBE?AW4DateTimeSpanStatus@12@XZ ; ATL::COleDateTimeSpan::GetStatus
00020 8b f0 mov esi, eax
00022 8b 4d 08 mov ecx, DWORD PTR _dateSpan$[ebp]
00025 e8 00 00 00 00 call ?GetStatus@COleDateTimeSpan@ATL@@QBE?AW4DateTimeSpanStatus@12@XZ ; ATL::COleDateTimeSpan::GetStatus
0002a 3b f0 cmp esi, eax
0002c 75 25 jne SHORT $LN2@operator
; 386 : return m_span < dateSpan.m_span;
0002e 8b 45 08 mov eax, DWORD PTR _dateSpan$[ebp]
00031 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00034 f2 0f 10 00 movsd xmm0, QWORD PTR [eax]
00038 66 0f 2f 01 comisd xmm0, QWORD PTR [ecx]
0003c 76 09 jbe SHORT $LN4@operator
0003e c7 45 b8 01 00
00 00 mov DWORD PTR tv75[ebp], 1
00045 eb 07 jmp SHORT $LN5@operator
$LN4@operator:
00047 c7 45 b8 00 00
00 00 mov DWORD PTR tv75[ebp], 0
$LN5@operator:
0004e 8a 45 b8 mov al, BYTE PTR tv75[ebp]
00051 eb 02 jmp SHORT $LN1@operator
$LN2@operator:
; 387 :
; 388 : return false;
00053 32 c0 xor al, al
$LN1@operator:
; 389 : }
00055 5f pop edi
00056 5e pop esi
00057 5b pop ebx
00058 8b e5 mov esp, ebp
0005a 5d pop ebp
0005b c2 04 00 ret 4
??MCOleDateTimeSpan@ATL@@QBE_NABV01@@Z ENDP ; ATL::COleDateTimeSpan::operator<
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\ATLComTime.h
; COMDAT ?GetStatus@COleDateTimeSpan@ATL@@QBE?AW4DateTimeSpanStatus@12@XZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?GetStatus@COleDateTimeSpan@ATL@@QBE?AW4DateTimeSpanStatus@12@XZ PROC ; ATL::COleDateTimeSpan::GetStatus, COMDAT
; _this$ = ecx
; 281 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 282 : return m_status;
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 8b 40 08 mov eax, DWORD PTR [eax+8]
; 283 : }
00012 5f pop edi
00013 5e pop esi
00014 5b pop ebx
00015 8b e5 mov esp, ebp
00017 5d pop ebp
00018 c3 ret 0
?GetStatus@COleDateTimeSpan@ATL@@QBE?AW4DateTimeSpanStatus@12@XZ ENDP ; ATL::COleDateTimeSpan::GetStatus
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\ATLComTime.h
; COMDAT ??0COleDateTimeSpan@ATL@@QAE@JHHH@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_lDays$ = 8 ; size = 4
_nHours$ = 12 ; size = 4
_nMins$ = 16 ; size = 4
_nSecs$ = 20 ; size = 4
??0COleDateTimeSpan@ATL@@QAE@JHHH@Z PROC ; ATL::COleDateTimeSpan::COleDateTimeSpan, COMDAT
; _this$ = ecx
; 271 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 272 : SetDateTimeSpan(lDays, nHours, nMins, nSecs);
0000c 8b 45 14 mov eax, DWORD PTR _nSecs$[ebp]
0000f 50 push eax
00010 8b 4d 10 mov ecx, DWORD PTR _nMins$[ebp]
00013 51 push ecx
00014 8b 55 0c mov edx, DWORD PTR _nHours$[ebp]
00017 52 push edx
00018 8b 45 08 mov eax, DWORD PTR _lDays$[ebp]
0001b 50 push eax
0001c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0001f e8 00 00 00 00 call ?SetDateTimeSpan@COleDateTimeSpan@ATL@@QAEXJHHH@Z ; ATL::COleDateTimeSpan::SetDateTimeSpan
; 273 : }
00024 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00027 5f pop edi
00028 5e pop esi
00029 5b pop ebx
0002a 8b e5 mov esp, ebp
0002c 5d pop ebp
0002d c2 10 00 ret 16 ; 00000010H
??0COleDateTimeSpan@ATL@@QAE@JHHH@Z ENDP ; ATL::COleDateTimeSpan::COleDateTimeSpan
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\ATLComTime.h
; COMDAT ??0COleDateTimeSpan@ATL@@QAE@N@Z
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_dblSpanSrc$ = 8 ; size = 8
??0COleDateTimeSpan@ATL@@QAE@N@Z PROC ; ATL::COleDateTimeSpan::COleDateTimeSpan, COMDAT
; _this$ = ecx
; 262 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??0COleDateTimeSpan@ATL@@QAE@N@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 44 sub esp, 68 ; 00000044H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
; 261 : m_span(dblSpanSrc), m_status(valid)
0002b 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
0002e f2 0f 10 45 08 movsd xmm0, QWORD PTR _dblSpanSrc$[ebp]
00033 f2 0f 11 00 movsd QWORD PTR [eax], xmm0
00037 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
0003a c7 40 08 00 00
00 00 mov DWORD PTR [eax+8], 0
; 263 : CheckRange();
00041 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00044 e8 00 00 00 00 call ?CheckRange@COleDateTimeSpan@ATL@@QAEXXZ ; ATL::COleDateTimeSpan::CheckRange
; 264 : }
00049 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
0004c 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0004f 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00056 59 pop ecx
00057 5f pop edi
00058 5e pop esi
00059 5b pop ebx
0005a 8b e5 mov esp, ebp
0005c 5d pop ebp
0005d c2 08 00 ret 8
00060 cc int 3
00061 cc int 3
00062 cc int 3
00063 cc int 3
00064 cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$??0COleDateTimeSpan@ATL@@QAE@N@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a ac mov ecx, DWORD PTR [edx-84]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??0COleDateTimeSpan@ATL@@QAE@N@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??0COleDateTimeSpan@ATL@@QAE@N@Z ENDP ; ATL::COleDateTimeSpan::COleDateTimeSpan
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxstr.h
; COMDAT ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ
_TEXT SEGMENT
__$EHRec$ = -12 ; size = 12
?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ PROC ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager, COMDAT
; 51 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 40 sub esp, 64 ; 00000040H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 52 : return( AfxGetStringManager() );
00028 e8 00 00 00 00 call ?AfxGetStringManager@@YGPAUIAtlStringMgr@ATL@@XZ ; AfxGetStringManager
; 53 : }
0002d 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00030 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00037 59 pop ecx
00038 5f pop edi
00039 5e pop esi
0003a 5b pop ebx
0003b 8b e5 mov esp, ebp
0003d 5d pop ebp
0003e c3 ret 0
0003f cc int 3
00040 cc int 3
00041 cc int 3
00042 cc int 3
00043 cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ENDP ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxstr.h
; COMDAT ?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z
_TEXT SEGMENT
__$EHRec$ = -12 ; size = 12
_nID$ = 8 ; size = 4
?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z PROC ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::FindStringResourceInstance, COMDAT
; 46 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 40 sub esp, 64 ; 00000040H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 47 : return( AfxFindStringResourceHandle( nID ) );
00028 8b 45 08 mov eax, DWORD PTR _nID$[ebp]
0002b 50 push eax
0002c e8 00 00 00 00 call ?AfxFindStringResourceHandle@@YGPAUHINSTANCE__@@I@Z ; AfxFindStringResourceHandle
; 48 : }
00031 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00034 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0003b 59 pop ecx
0003c 5f pop edi
0003d 5e pop esi
0003e 5b pop ebx
0003f 8b e5 mov esp, ebp
00041 5d pop ebp
00042 c3 ret 0
00043 cc int 3
00044 cc int 3
00045 cc int 3
00046 cc int 3
00047 cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z ENDP ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::FindStringResourceInstance
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atltime.h
; COMDAT ?GetAsSystemTime@CTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z
_TEXT SEGMENT
_ptm$ = -60 ; size = 4
_ttm$ = -56 ; size = 36
_this$ = -20 ; size = 4
__$ArrayPad$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_timeDest$ = 8 ; size = 4
?GetAsSystemTime@CTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z PROC ; ATL::CTime::GetAsSystemTime, COMDAT
; _this$ = ecx
; 629 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?GetAsSystemTime@CTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 70 sub esp, 112 ; 00000070H
00014 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
00019 33 c5 xor eax, ebp
0001b 89 45 f0 mov DWORD PTR __$ArrayPad$[ebp], eax
0001e 53 push ebx
0001f 56 push esi
00020 57 push edi
00021 50 push eax
00022 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00025 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
0002b 89 4d ec mov DWORD PTR _this$[ebp], ecx
; 630 : struct tm ttm;
; 631 : struct tm* ptm;
; 632 :
; 633 : ptm = GetLocalTm(&ttm);
0002e 8d 45 c8 lea eax, DWORD PTR _ttm$[ebp]
00031 50 push eax
00032 8b 4d ec mov ecx, DWORD PTR _this$[ebp]
00035 e8 00 00 00 00 call ?GetLocalTm@CTime@ATL@@QBEPAUtm@@PAU3@@Z ; ATL::CTime::GetLocalTm
0003a 89 45 c4 mov DWORD PTR _ptm$[ebp], eax
; 634 : if(!ptm)
0003d 83 7d c4 00 cmp DWORD PTR _ptm$[ebp], 0
00041 75 04 jne SHORT $LN2@GetAsSyste
; 635 : {
; 636 : return false;
00043 32 c0 xor al, al
00045 eb 72 jmp SHORT $LN1@GetAsSyste
$LN2@GetAsSyste:
; 637 : }
; 638 :
; 639 : timeDest.wYear = (WORD) (1900 + ptm->tm_year);
00047 8b 45 c4 mov eax, DWORD PTR _ptm$[ebp]
0004a 8b 48 14 mov ecx, DWORD PTR [eax+20]
0004d 81 c1 6c 07 00
00 add ecx, 1900 ; 0000076cH
00053 8b 55 08 mov edx, DWORD PTR _timeDest$[ebp]
00056 66 89 0a mov WORD PTR [edx], cx
; 640 : timeDest.wMonth = (WORD) (1 + ptm->tm_mon);
00059 8b 45 c4 mov eax, DWORD PTR _ptm$[ebp]
0005c 8b 48 10 mov ecx, DWORD PTR [eax+16]
0005f 83 c1 01 add ecx, 1
00062 8b 55 08 mov edx, DWORD PTR _timeDest$[ebp]
00065 66 89 4a 02 mov WORD PTR [edx+2], cx
; 641 : timeDest.wDayOfWeek = (WORD) ptm->tm_wday;
00069 8b 45 08 mov eax, DWORD PTR _timeDest$[ebp]
0006c 8b 4d c4 mov ecx, DWORD PTR _ptm$[ebp]
0006f 66 8b 51 18 mov dx, WORD PTR [ecx+24]
00073 66 89 50 04 mov WORD PTR [eax+4], dx
; 642 : timeDest.wDay = (WORD) ptm->tm_mday;
00077 8b 45 08 mov eax, DWORD PTR _timeDest$[ebp]
0007a 8b 4d c4 mov ecx, DWORD PTR _ptm$[ebp]
0007d 66 8b 51 0c mov dx, WORD PTR [ecx+12]
00081 66 89 50 06 mov WORD PTR [eax+6], dx
; 643 : timeDest.wHour = (WORD) ptm->tm_hour;
00085 8b 45 08 mov eax, DWORD PTR _timeDest$[ebp]
00088 8b 4d c4 mov ecx, DWORD PTR _ptm$[ebp]
0008b 66 8b 51 08 mov dx, WORD PTR [ecx+8]
0008f 66 89 50 08 mov WORD PTR [eax+8], dx
; 644 : timeDest.wMinute = (WORD) ptm->tm_min;
00093 8b 45 08 mov eax, DWORD PTR _timeDest$[ebp]
00096 8b 4d c4 mov ecx, DWORD PTR _ptm$[ebp]
00099 66 8b 51 04 mov dx, WORD PTR [ecx+4]
0009d 66 89 50 0a mov WORD PTR [eax+10], dx
; 645 : timeDest.wSecond = (WORD) ptm->tm_sec;
000a1 8b 45 08 mov eax, DWORD PTR _timeDest$[ebp]
000a4 8b 4d c4 mov ecx, DWORD PTR _ptm$[ebp]
000a7 66 8b 11 mov dx, WORD PTR [ecx]
000aa 66 89 50 0c mov WORD PTR [eax+12], dx
; 646 : timeDest.wMilliseconds = 0;
000ae 33 c0 xor eax, eax
000b0 8b 4d 08 mov ecx, DWORD PTR _timeDest$[ebp]
000b3 66 89 41 0e mov WORD PTR [ecx+14], ax
; 647 :
; 648 : return true;
000b7 b0 01 mov al, 1
$LN1@GetAsSyste:
; 649 : }
000b9 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
000bc 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
000c3 59 pop ecx
000c4 5f pop edi
000c5 5e pop esi
000c6 5b pop ebx
000c7 8b 4d f0 mov ecx, DWORD PTR __$ArrayPad$[ebp]
000ca 33 cd xor ecx, ebp
000cc e8 00 00 00 00 call @__security_check_cookie@4
000d1 8b e5 mov esp, ebp
000d3 5d pop ebp
000d4 c2 04 00 ret 4
000d7 cc int 3
000d8 cc int 3
000d9 cc int 3
000da cc int 3
000db cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?GetAsSystemTime@CTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a 80 mov ecx, DWORD PTR [edx-128]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 8b 4a fc mov ecx, DWORD PTR [edx-4]
00016 33 c8 xor ecx, eax
00018 e8 00 00 00 00 call @__security_check_cookie@4
0001d b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?GetAsSystemTime@CTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z
00022 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?GetAsSystemTime@CTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z ENDP ; ATL::CTime::GetAsSystemTime
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atltime.h
; COMDAT ?GetLocalTm@CTime@ATL@@QBEPAUtm@@PAU3@@Z
_TEXT SEGMENT
tv65 = -120 ; size = 4
_err$1 = -52 ; size = 4
_ptmTemp$2 = -48 ; size = 36
___atl_condVal$3 = -12 ; size = 4
_this$ = -8 ; size = 4
__$ArrayPad$ = -4 ; size = 4
_ptm$ = 8 ; size = 4
?GetLocalTm@CTime@ATL@@QBEPAUtm@@PAU3@@Z PROC ; ATL::CTime::GetLocalTm, COMDAT
; _this$ = ecx
; 607 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 78 sub esp, 120 ; 00000078H
00006 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0000b 33 c5 xor eax, ebp
0000d 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax
00010 53 push ebx
00011 56 push esi
00012 57 push edi
00013 89 4d f8 mov DWORD PTR _this$[ebp], ecx
$LN4@GetLocalTm:
; 608 : // Ensure ptm is valid
; 609 : ATLENSURE( ptm != NULL );
00016 83 7d 08 00 cmp DWORD PTR _ptm$[ebp], 0
0001a 74 09 je SHORT $LN12@GetLocalTm
0001c c7 45 88 01 00
00 00 mov DWORD PTR tv65[ebp], 1
00023 eb 07 jmp SHORT $LN13@GetLocalTm
$LN12@GetLocalTm:
00025 c7 45 88 00 00
00 00 mov DWORD PTR tv65[ebp], 0
$LN13@GetLocalTm:
0002c 8b 45 88 mov eax, DWORD PTR tv65[ebp]
0002f 89 45 f4 mov DWORD PTR ___atl_condVal$3[ebp], eax
$LN5@GetLocalTm:
00032 33 c0 xor eax, eax
00034 75 fc jne SHORT $LN5@GetLocalTm
00036 83 7d f4 00 cmp DWORD PTR ___atl_condVal$3[ebp], 0
0003a 75 0a jne SHORT $LN2@GetLocalTm
0003c 68 05 40 00 80 push -2147467259 ; 80004005H
00041 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN2@GetLocalTm:
00046 33 c0 xor eax, eax
00048 75 cc jne SHORT $LN4@GetLocalTm
; 610 :
; 611 : if (ptm != NULL)
0004a 83 7d 08 00 cmp DWORD PTR _ptm$[ebp], 0
0004e 74 2f je SHORT $LN9@GetLocalTm
; 612 : {
; 613 : struct tm ptmTemp;
; 614 : errno_t err = _localtime64_s(&ptmTemp, &m_time);
00050 8b 45 f8 mov eax, DWORD PTR _this$[ebp]
00053 50 push eax
00054 8d 4d d0 lea ecx, DWORD PTR _ptmTemp$2[ebp]
00057 51 push ecx
00058 e8 00 00 00 00 call __localtime64_s
0005d 83 c4 08 add esp, 8
00060 89 45 cc mov DWORD PTR _err$1[ebp], eax
; 615 :
; 616 : if (err != 0)
00063 83 7d cc 00 cmp DWORD PTR _err$1[ebp], 0
00067 74 04 je SHORT $LN10@GetLocalTm
; 617 : {
; 618 : return NULL; // indicates that m_time was not initialized!
00069 33 c0 xor eax, eax
0006b eb 14 jmp SHORT $LN11@GetLocalTm
$LN10@GetLocalTm:
; 619 : }
; 620 :
; 621 : *ptm = ptmTemp;
0006d b9 09 00 00 00 mov ecx, 9
00072 8d 75 d0 lea esi, DWORD PTR _ptmTemp$2[ebp]
00075 8b 7d 08 mov edi, DWORD PTR _ptm$[ebp]
00078 f3 a5 rep movsd
; 622 : return ptm;
0007a 8b 45 08 mov eax, DWORD PTR _ptm$[ebp]
0007d eb 02 jmp SHORT $LN11@GetLocalTm
$LN9@GetLocalTm:
; 623 : }
; 624 :
; 625 : return NULL;
0007f 33 c0 xor eax, eax
$LN11@GetLocalTm:
; 626 : }
00081 5f pop edi
00082 5e pop esi
00083 5b pop ebx
00084 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp]
00087 33 cd xor ecx, ebp
00089 e8 00 00 00 00 call @__security_check_cookie@4
0008e 8b e5 mov esp, ebp
00090 5d pop ebp
00091 c2 04 00 ret 4
?GetLocalTm@CTime@ATL@@QBEPAUtm@@PAU3@@Z ENDP ; ATL::CTime::GetLocalTm
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atltime.h
; COMDAT ??0CTime@ATL@@QAE@_J@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_time$ = 8 ; size = 8
??0CTime@ATL@@QAE@_J@Z PROC ; ATL::CTime::CTime, COMDAT
; _this$ = ecx
; 418 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 417 : m_time( time )
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 8b 4d 08 mov ecx, DWORD PTR _time$[ebp]
00012 8b 55 0c mov edx, DWORD PTR _time$[ebp+4]
00015 89 08 mov DWORD PTR [eax], ecx
00017 89 50 04 mov DWORD PTR [eax+4], edx
; 419 : }
0001a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0001d 5f pop edi
0001e 5e pop esi
0001f 5b pop ebx
00020 8b e5 mov esp, ebp
00022 5d pop ebp
00023 c2 08 00 ret 8
??0CTime@ATL@@QAE@_J@Z ENDP ; ATL::CTime::CTime
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z
_TEXT SEGMENT
_nID$1 = -12 ; size = 4
_bRet$ = -5 ; size = 1
_this$ = -4 ; size = 4
_pv$ = 8 ; size = 4
?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad, COMDAT
; _this$ = ecx
; 2705 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 4c sub esp, 76 ; 0000004cH
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 2706 : bool bRet = false;
0000c c6 45 fb 00 mov BYTE PTR _bRet$[ebp], 0
; 2707 :
; 2708 : if( (pv != NULL) && IS_INTRESOURCE( pv ) )
00010 83 7d 08 00 cmp DWORD PTR _pv$[ebp], 0
00014 74 28 je SHORT $LN2@CheckImpli
00016 8b 45 08 mov eax, DWORD PTR _pv$[ebp]
00019 c1 e8 10 shr eax, 16 ; 00000010H
0001c 85 c0 test eax, eax
0001e 75 1e jne SHORT $LN2@CheckImpli
; 2709 : {
; 2710 : UINT nID = LOWORD( reinterpret_cast< DWORD_PTR >( pv ) );
00020 8b 45 08 mov eax, DWORD PTR _pv$[ebp]
00023 25 ff ff 00 00 and eax, 65535 ; 0000ffffH
00028 0f b7 c8 movzx ecx, ax
0002b 89 4d f4 mov DWORD PTR _nID$1[ebp], ecx
; 2711 : (nID);
; 2712 : #ifdef _ATL_USE_WINAPI_FAMILY_DESKTOP_APP
; 2713 : if( !LoadString( nID ) )
0002e 8b 45 f4 mov eax, DWORD PTR _nID$1[ebp]
00031 50 push eax
00032 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00035 e8 00 00 00 00 call ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
; 2714 : {
; 2715 : ATLTRACE( atlTraceString, 2, _T( "Warning: implicit LoadString(%u) failed\n" ), nID );
; 2716 : }
; 2717 : bRet = true;
0003a c6 45 fb 01 mov BYTE PTR _bRet$[ebp], 1
$LN2@CheckImpli:
; 2718 : #else
; 2719 : ATLTRACE( atlTraceString, 2, _T( "Warning: LoadString(%u) not supported under the current WINAPI_FAMILY.\n" ), nID );
; 2720 : #endif
; 2721 : }
; 2722 :
; 2723 : return( bRet );
0003e 8a 45 fb mov al, BYTE PTR _bRet$[ebp]
; 2724 : }
00041 5f pop edi
00042 5e pop esi
00043 5b pop ebx
00044 8b e5 mov esp, ebp
00046 5d pop ebp
00047 c2 04 00 ret 4
?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z
_TEXT SEGMENT
_pszBuffer$ = -16 ; size = 4
_nLength$ = -12 ; size = 4
_pImage$ = -8 ; size = 4
_this$ = -4 ; size = 4
_hInstance$ = 8 ; size = 4
_nID$ = 12 ; size = 4
?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW, COMDAT
; _this$ = ecx
; 2350 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 50 sub esp, 80 ; 00000050H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 2351 : const ATLSTRINGRESOURCEIMAGE* pImage = AtlGetStringResourceImage( hInstance, nID );
0000c 8b 45 0c mov eax, DWORD PTR _nID$[ebp]
0000f 50 push eax
00010 8b 4d 08 mov ecx, DWORD PTR _hInstance$[ebp]
00013 51 push ecx
00014 e8 00 00 00 00 call ?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z ; ATL::AtlGetStringResourceImage
00019 83 c4 08 add esp, 8
0001c 89 45 f8 mov DWORD PTR _pImage$[ebp], eax
; 2352 : if( pImage == NULL )
0001f 83 7d f8 00 cmp DWORD PTR _pImage$[ebp], 0
00023 75 04 jne SHORT $LN2@LoadString
; 2353 : {
; 2354 : return( FALSE );
00025 33 c0 xor eax, eax
00027 eb 57 jmp SHORT $LN1@LoadString
$LN2@LoadString:
; 2355 : }
; 2356 :
; 2357 : int nLength = StringTraits::GetBaseTypeLength( pImage->achString, pImage->nLength );
00029 8b 45 f8 mov eax, DWORD PTR _pImage$[ebp]
0002c 0f b7 08 movzx ecx, WORD PTR [eax]
0002f 51 push ecx
00030 8b 55 f8 mov edx, DWORD PTR _pImage$[ebp]
00033 83 c2 02 add edx, 2
00036 52 push edx
00037 e8 00 00 00 00 call ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
0003c 83 c4 08 add esp, 8
0003f 89 45 f4 mov DWORD PTR _nLength$[ebp], eax
; 2358 : PXSTR pszBuffer = this->GetBuffer( nLength );
00042 8b 45 f4 mov eax, DWORD PTR _nLength$[ebp]
00045 50 push eax
00046 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00049 e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
0004e 89 45 f0 mov DWORD PTR _pszBuffer$[ebp], eax
; 2359 : StringTraits::ConvertToBaseType( pszBuffer, nLength, pImage->achString, pImage->nLength );
00051 8b 45 f8 mov eax, DWORD PTR _pImage$[ebp]
00054 0f b7 08 movzx ecx, WORD PTR [eax]
00057 51 push ecx
00058 8b 55 f8 mov edx, DWORD PTR _pImage$[ebp]
0005b 83 c2 02 add edx, 2
0005e 52 push edx
0005f 8b 45 f4 mov eax, DWORD PTR _nLength$[ebp]
00062 50 push eax
00063 8b 4d f0 mov ecx, DWORD PTR _pszBuffer$[ebp]
00066 51 push ecx
00067 e8 00 00 00 00 call ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType
0006c 83 c4 10 add esp, 16 ; 00000010H
; 2360 : this->ReleaseBufferSetLength( nLength );
0006f 8b 45 f4 mov eax, DWORD PTR _nLength$[ebp]
00072 50 push eax
00073 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00076 e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
; 2361 :
; 2362 : return( TRUE );
0007b b8 01 00 00 00 mov eax, 1
$LN1@LoadString:
; 2363 : }
00080 5f pop edi
00081 5e pop esi
00082 5b pop ebx
00083 8b e5 mov esp, ebp
00085 5d pop ebp
00086 c2 08 00 ret 8
?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z
_TEXT SEGMENT
_hInstance$ = -8 ; size = 4
_this$ = -4 ; size = 4
_nID$ = 8 ; size = 4
?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW, COMDAT
; _this$ = ecx
; 2336 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 2337 : HINSTANCE hInstance = StringTraits::FindStringResourceInstance( nID );
0000c 8b 45 08 mov eax, DWORD PTR _nID$[ebp]
0000f 50 push eax
00010 e8 00 00 00 00 call ?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::FindStringResourceInstance
00015 83 c4 04 add esp, 4
00018 89 45 f8 mov DWORD PTR _hInstance$[ebp], eax
; 2338 : if( hInstance == NULL )
0001b 83 7d f8 00 cmp DWORD PTR _hInstance$[ebp], 0
0001f 75 04 jne SHORT $LN2@LoadString
; 2339 : {
; 2340 : return( FALSE );
00021 33 c0 xor eax, eax
00023 eb 10 jmp SHORT $LN1@LoadString
$LN2@LoadString:
; 2341 : }
; 2342 :
; 2343 : return( LoadString( hInstance, nID ) );
00025 8b 45 08 mov eax, DWORD PTR _nID$[ebp]
00028 50 push eax
00029 8b 4d f8 mov ecx, DWORD PTR _hInstance$[ebp]
0002c 51 push ecx
0002d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00030 e8 00 00 00 00 call ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
$LN1@LoadString:
; 2344 : }
00035 5f pop edi
00036 5e pop esi
00037 5b pop ebx
00038 8b e5 mov esp, ebp
0003a 5d pop ebp
0003b c2 04 00 ret 4
?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z
_TEXT SEGMENT
_pszBuffer$ = -28 ; size = 4
_temp$ = -24 ; size = 4
_nLength$ = -20 ; size = 4
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_pszFormat$ = 8 ; size = 4
_args$ = 12 ; size = 4
?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV, COMDAT
; _this$ = ecx
; 2221 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 50 sub esp, 80 ; 00000050H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
; 2222 : ATLASSERT( AtlIsValidString( pszFormat ) );
; 2223 : if(pszFormat == NULL)
0002b 83 7d 08 00 cmp DWORD PTR _pszFormat$[ebp], 0
0002f 75 0a jne SHORT $LN2@FormatV
; 2224 : AtlThrow(E_INVALIDARG);
00031 68 57 00 07 80 push -2147024809 ; 80070057H
00036 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN2@FormatV:
; 2225 :
; 2226 : int nLength = StringTraits::GetFormattedLength( pszFormat, args );
0003b 8b 45 0c mov eax, DWORD PTR _args$[ebp]
0003e 50 push eax
0003f 8b 4d 08 mov ecx, DWORD PTR _pszFormat$[ebp]
00042 51 push ecx
00043 e8 00 00 00 00 call ?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z ; ATL::ChTraitsCRT<wchar_t>::GetFormattedLength
00048 83 c4 08 add esp, 8
0004b 89 45 ec mov DWORD PTR _nLength$[ebp], eax
; 2227 :
; 2228 : if (nLength < 0)
0004e 83 7d ec 00 cmp DWORD PTR _nLength$[ebp], 0
00052 7d 0a jge SHORT $LN3@FormatV
; 2229 : AtlThrow(E_FAIL);
00054 68 05 40 00 80 push -2147467259 ; 80004005H
00059 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN3@FormatV:
; 2230 :
; 2231 : CStringT temp(pszFormat, this->GetManager());
0005e 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00061 e8 00 00 00 00 call ?GetManager@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager
00066 50 push eax
00067 8b 45 08 mov eax, DWORD PTR _pszFormat$[ebp]
0006a 50 push eax
0006b 8d 4d e8 lea ecx, DWORD PTR _temp$[ebp]
0006e e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00073 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
; 2232 : PXSTR pszBuffer = this->GetBuffer( nLength );
0007a 8b 45 ec mov eax, DWORD PTR _nLength$[ebp]
0007d 50 push eax
0007e 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00081 e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
00086 89 45 e4 mov DWORD PTR _pszBuffer$[ebp], eax
; 2233 : StringTraits::Format( pszBuffer, nLength+1, temp, args );
00089 8b 45 0c mov eax, DWORD PTR _args$[ebp]
0008c 50 push eax
0008d 8d 4d e8 lea ecx, DWORD PTR _temp$[ebp]
00090 e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
00095 50 push eax
00096 8b 4d ec mov ecx, DWORD PTR _nLength$[ebp]
00099 83 c1 01 add ecx, 1
0009c 51 push ecx
0009d 8b 55 e4 mov edx, DWORD PTR _pszBuffer$[ebp]
000a0 52 push edx
000a1 e8 00 00 00 00 call ?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z ; ATL::ChTraitsCRT<wchar_t>::Format
000a6 83 c4 10 add esp, 16 ; 00000010H
; 2234 : this->ReleaseBufferSetLength( nLength );
000a9 8b 45 ec mov eax, DWORD PTR _nLength$[ebp]
000ac 50 push eax
000ad 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
000b0 e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
; 2235 : }
000b5 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
000bc 8d 4d e8 lea ecx, DWORD PTR _temp$[ebp]
000bf e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
$LN4@FormatV:
000c4 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
000c7 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
000ce 59 pop ecx
000cf 5f pop edi
000d0 5e pop esi
000d1 5b pop ebx
000d2 8b e5 mov esp, ebp
000d4 5d pop ebp
000d5 c2 08 00 ret 8
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z$0:
00000 8d 4d e8 lea ecx, DWORD PTR _temp$[ebp]
00003 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00008 cc int 3
00009 cc int 3
0000a cc int 3
0000b cc int 3
0000c cc int 3
__ehhandler$?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z:
0000d 90 npad 1
0000e 90 npad 1
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
00016 8b 4a a0 mov ecx, DWORD PTR [edx-96]
00019 33 c8 xor ecx, eax
0001b e8 00 00 00 00 call @__security_check_cookie@4
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?Format@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAAXPB_WZZ
_TEXT SEGMENT
_argList$ = -4 ; size = 4
_this$ = 8 ; size = 4
_pszFormat$ = 12 ; size = 4
?Format@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAAXPB_WZZ PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format, COMDAT
; 2741 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 2742 : ATLASSERT( AtlIsValidString( pszFormat ) );
; 2743 :
; 2744 : va_list argList;
; 2745 : va_start( argList, pszFormat );
00009 8d 45 10 lea eax, DWORD PTR _pszFormat$[ebp+4]
0000c 89 45 fc mov DWORD PTR _argList$[ebp], eax
; 2746 : FormatV( pszFormat, argList );
0000f 8b 45 fc mov eax, DWORD PTR _argList$[ebp]
00012 50 push eax
00013 8b 4d 0c mov ecx, DWORD PTR _pszFormat$[ebp]
00016 51 push ecx
00017 8b 4d 08 mov ecx, DWORD PTR _this$[ebp]
0001a e8 00 00 00 00 call ?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV
; 2747 : va_end( argList );
0001f c7 45 fc 00 00
00 00 mov DWORD PTR _argList$[ebp], 0
; 2748 : }
00026 5f pop edi
00027 5e pop esi
00028 5b pop ebx
00029 8b e5 mov esp, ebp
0002b 5d pop ebp
0002c c3 ret 0
?Format@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAAXPB_WZZ ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z
_TEXT SEGMENT
tv151 = -92 ; size = 4
tv153 = -88 ; size = 4
$T2 = -84 ; size = 4
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
___$ReturnUdt$ = 8 ; size = 4
_iFirst$ = 12 ; size = 4
_nCount$ = 16 ; size = 4
?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid, COMDAT
; _this$ = ecx
; 2104 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 50 sub esp, 80 ; 00000050H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
0002b c7 45 ac 00 00
00 00 mov DWORD PTR $T2[ebp], 0
; 2105 : // nCount is in XCHARs
; 2106 :
; 2107 : // out-of-bounds requests return sensible things
; 2108 : if (iFirst < 0)
00032 83 7d 0c 00 cmp DWORD PTR _iFirst$[ebp], 0
00036 7d 07 jge SHORT $LN2@Mid
; 2109 : iFirst = 0;
00038 c7 45 0c 00 00
00 00 mov DWORD PTR _iFirst$[ebp], 0
$LN2@Mid:
; 2110 : if (nCount < 0)
0003f 83 7d 10 00 cmp DWORD PTR _nCount$[ebp], 0
00043 7d 07 jge SHORT $LN3@Mid
; 2111 : nCount = 0;
00045 c7 45 10 00 00
00 00 mov DWORD PTR _nCount$[ebp], 0
$LN3@Mid:
; 2112 :
; 2113 : if( (::ATL::AtlAddThrow(iFirst,nCount)) > this->GetLength() )
0004c 8b 45 10 mov eax, DWORD PTR _nCount$[ebp]
0004f 50 push eax
00050 8b 4d 0c mov ecx, DWORD PTR _iFirst$[ebp]
00053 51 push ecx
00054 e8 00 00 00 00 call ??$AtlAddThrow@H@ATL@@YAHHH@Z ; ATL::AtlAddThrow<int>
00059 83 c4 08 add esp, 8
0005c 8b f0 mov esi, eax
0005e 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00061 e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
00066 3b f0 cmp esi, eax
00068 7e 0e jle SHORT $LN4@Mid
; 2114 : {
; 2115 : nCount = this->GetLength()-iFirst;
0006a 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0006d e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
00072 2b 45 0c sub eax, DWORD PTR _iFirst$[ebp]
00075 89 45 10 mov DWORD PTR _nCount$[ebp], eax
$LN4@Mid:
; 2116 : }
; 2117 : if( iFirst > this->GetLength() )
00078 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0007b e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
00080 39 45 0c cmp DWORD PTR _iFirst$[ebp], eax
00083 7e 07 jle SHORT $LN5@Mid
; 2118 : {
; 2119 : nCount = 0;
00085 c7 45 10 00 00
00 00 mov DWORD PTR _nCount$[ebp], 0
$LN5@Mid:
; 2120 : }
; 2121 :
; 2122 : ATLASSERT( (nCount == 0) || ((iFirst+nCount) <= this->GetLength()) );
; 2123 :
; 2124 : // optimize case of returning entire string
; 2125 : if( (iFirst == 0) && ((iFirst+nCount) == this->GetLength()) )
0008c 83 7d 0c 00 cmp DWORD PTR _iFirst$[ebp], 0
00090 75 33 jne SHORT $LN6@Mid
00092 8b 75 0c mov esi, DWORD PTR _iFirst$[ebp]
00095 03 75 10 add esi, DWORD PTR _nCount$[ebp]
00098 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0009b e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
000a0 3b f0 cmp esi, eax
000a2 75 21 jne SHORT $LN6@Mid
; 2126 : {
; 2127 : return( *this );
000a4 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
000a7 50 push eax
000a8 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
000ab e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
000b0 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
000b7 8b 4d ac mov ecx, DWORD PTR $T2[ebp]
000ba 83 c9 01 or ecx, 1
000bd 89 4d ac mov DWORD PTR $T2[ebp], ecx
000c0 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp]
000c3 eb 43 jmp SHORT $LN1@Mid
$LN6@Mid:
; 2128 : }
; 2129 :
; 2130 : return( CStringT( this->GetString()+iFirst, nCount, GetManager() ) );
000c5 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
000c8 e8 00 00 00 00 call ?GetManager@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager
000cd 89 45 a8 mov DWORD PTR tv153[ebp], eax
000d0 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
000d3 e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
000d8 8b 4d 0c mov ecx, DWORD PTR _iFirst$[ebp]
000db 8d 14 48 lea edx, DWORD PTR [eax+ecx*2]
000de 89 55 a4 mov DWORD PTR tv151[ebp], edx
000e1 8b 45 a8 mov eax, DWORD PTR tv153[ebp]
000e4 50 push eax
000e5 8b 4d 10 mov ecx, DWORD PTR _nCount$[ebp]
000e8 51 push ecx
000e9 8b 55 a4 mov edx, DWORD PTR tv151[ebp]
000ec 52 push edx
000ed 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
000f0 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
000f5 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
000fc 8b 45 ac mov eax, DWORD PTR $T2[ebp]
000ff 83 c8 01 or eax, 1
00102 89 45 ac mov DWORD PTR $T2[ebp], eax
00105 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp]
$LN1@Mid:
; 2131 : }
00108 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0010b 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00112 59 pop ecx
00113 5f pop edi
00114 5e pop esi
00115 5b pop ebx
00116 8b e5 mov esp, ebp
00118 5d pop ebp
00119 c2 0c 00 ret 12 ; 0000000cH
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z$0:
00000 8b 45 ac mov eax, DWORD PTR $T2[ebp]
00003 83 e0 01 and eax, 1
00006 0f 84 0c 00 00
00 je $LN9@Mid
0000c 83 65 ac fe and DWORD PTR $T2[ebp], -2 ; fffffffeH
00010 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
00013 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
$LN9@Mid:
00018 c3 ret 0
00019 cc int 3
0001a cc int 3
0001b cc int 3
0001c cc int 3
0001d cc int 3
__ehhandler$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z:
0001e 90 npad 1
0001f 90 npad 1
00020 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00024 8d 42 0c lea eax, DWORD PTR [edx+12]
00027 8b 4a a0 mov ecx, DWORD PTR [edx-96]
0002a 33 c8 xor ecx, eax
0002c e8 00 00 00 00 call @__security_check_cookie@4
00031 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z
00036 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?TrimLeft@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV12@XZ
_TEXT SEGMENT
_nDataLength$1 = -20 ; size = 4
_pszBuffer$2 = -16 ; size = 4
_iFirst$3 = -12 ; size = 4
_psz$ = -8 ; size = 4
_this$ = -4 ; size = 4
?TrimLeft@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV12@XZ PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft, COMDAT
; _this$ = ecx
; 1894 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 54 sub esp, 84 ; 00000054H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 1895 : // find first non-space character
; 1896 :
; 1897 : PCXSTR psz = this->GetString();
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
00014 89 45 f8 mov DWORD PTR _psz$[ebp], eax
$LN2@TrimLeft:
; 1898 :
; 1899 : while( StringTraits::IsSpace( *psz ) )
00017 8b 45 f8 mov eax, DWORD PTR _psz$[ebp]
0001a 0f b7 08 movzx ecx, WORD PTR [eax]
0001d 51 push ecx
0001e e8 00 00 00 00 call ?IsSpace@?$ChTraitsCRT@_W@ATL@@SAH_W@Z ; ATL::ChTraitsCRT<wchar_t>::IsSpace
00023 83 c4 04 add esp, 4
00026 85 c0 test eax, eax
00028 74 11 je SHORT $LN3@TrimLeft
; 1900 : {
; 1901 : psz = StringTraits::CharNext( psz );
0002a 8b 45 f8 mov eax, DWORD PTR _psz$[ebp]
0002d 50 push eax
0002e e8 00 00 00 00 call ?CharNextW@?$ChTraitsCRT@_W@ATL@@SAPA_WPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::CharNextW
00033 83 c4 04 add esp, 4
00036 89 45 f8 mov DWORD PTR _psz$[ebp], eax
; 1902 : }
00039 eb dc jmp SHORT $LN2@TrimLeft
$LN3@TrimLeft:
; 1903 :
; 1904 : if( psz != this->GetString() )
0003b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0003e e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
00043 39 45 f8 cmp DWORD PTR _psz$[ebp], eax
00046 74 71 je SHORT $LN4@TrimLeft
; 1905 : {
; 1906 : // fix up data and length
; 1907 : int iFirst = int( psz - this->GetString() );
00048 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0004b e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
00050 8b 4d f8 mov ecx, DWORD PTR _psz$[ebp]
00053 2b c8 sub ecx, eax
00055 d1 f9 sar ecx, 1
00057 89 4d f4 mov DWORD PTR _iFirst$3[ebp], ecx
; 1908 : PXSTR pszBuffer = this->GetBuffer( this->GetLength() );
0005a 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0005d e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
00062 50 push eax
00063 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00066 e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
0006b 89 45 f0 mov DWORD PTR _pszBuffer$2[ebp], eax
; 1909 : psz = pszBuffer+iFirst;
0006e 8b 45 f4 mov eax, DWORD PTR _iFirst$3[ebp]
00071 8b 4d f0 mov ecx, DWORD PTR _pszBuffer$2[ebp]
00074 8d 14 41 lea edx, DWORD PTR [ecx+eax*2]
00077 89 55 f8 mov DWORD PTR _psz$[ebp], edx
; 1910 : int nDataLength = this->GetLength()-iFirst;
0007a 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0007d e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
00082 2b 45 f4 sub eax, DWORD PTR _iFirst$3[ebp]
00085 89 45 ec mov DWORD PTR _nDataLength$1[ebp], eax
; 1911 : Checked::memmove_s( pszBuffer, (this->GetLength()+1)*sizeof( XCHAR ),
00088 8b 45 ec mov eax, DWORD PTR _nDataLength$1[ebp]
0008b 8d 4c 00 02 lea ecx, DWORD PTR [eax+eax+2]
0008f 51 push ecx
00090 8b 55 f8 mov edx, DWORD PTR _psz$[ebp]
00093 52 push edx
00094 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00097 e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
0009c 8d 44 00 02 lea eax, DWORD PTR [eax+eax+2]
000a0 50 push eax
000a1 8b 4d f0 mov ecx, DWORD PTR _pszBuffer$2[ebp]
000a4 51 push ecx
000a5 e8 00 00 00 00 call ?memmove_s@Checked@ATL@@YAXPAXIPBXI@Z ; ATL::Checked::memmove_s
000aa 83 c4 10 add esp, 16 ; 00000010H
; 1912 : psz, (nDataLength+1)*sizeof( XCHAR ) );
; 1913 : this->ReleaseBufferSetLength( nDataLength );
000ad 8b 45 ec mov eax, DWORD PTR _nDataLength$1[ebp]
000b0 50 push eax
000b1 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
000b4 e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
$LN4@TrimLeft:
; 1914 : }
; 1915 :
; 1916 : return( *this );
000b9 8b 45 fc mov eax, DWORD PTR _this$[ebp]
; 1917 : }
000bc 5f pop edi
000bd 5e pop esi
000be 5b pop ebx
000bf 8b e5 mov esp, ebp
000c1 5d pop ebp
000c2 c3 ret 0
?TrimLeft@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV12@XZ ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?TrimRight@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV12@XZ
_TEXT SEGMENT
_iLast$1 = -16 ; size = 4
_pszLast$ = -12 ; size = 4
_psz$ = -8 ; size = 4
_this$ = -4 ; size = 4
?TrimRight@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV12@XZ PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight, COMDAT
; _this$ = ecx
; 1860 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 50 sub esp, 80 ; 00000050H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 1861 : // find beginning of trailing spaces by starting
; 1862 : // at beginning (DBCS aware)
; 1863 :
; 1864 : PCXSTR psz = this->GetString();
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
00014 89 45 f8 mov DWORD PTR _psz$[ebp], eax
; 1865 : PCXSTR pszLast = NULL;
00017 c7 45 f4 00 00
00 00 mov DWORD PTR _pszLast$[ebp], 0
$LN2@TrimRight:
; 1866 :
; 1867 : while( *psz != 0 )
0001e 8b 45 f8 mov eax, DWORD PTR _psz$[ebp]
00021 0f b7 08 movzx ecx, WORD PTR [eax]
00024 85 c9 test ecx, ecx
00026 74 39 je SHORT $LN3@TrimRight
; 1868 : {
; 1869 : if( StringTraits::IsSpace( *psz ) )
00028 8b 45 f8 mov eax, DWORD PTR _psz$[ebp]
0002b 0f b7 08 movzx ecx, WORD PTR [eax]
0002e 51 push ecx
0002f e8 00 00 00 00 call ?IsSpace@?$ChTraitsCRT@_W@ATL@@SAH_W@Z ; ATL::ChTraitsCRT<wchar_t>::IsSpace
00034 83 c4 04 add esp, 4
00037 85 c0 test eax, eax
00039 74 0e je SHORT $LN4@TrimRight
; 1870 : {
; 1871 : if( pszLast == NULL )
0003b 83 7d f4 00 cmp DWORD PTR _pszLast$[ebp], 0
0003f 75 06 jne SHORT $LN6@TrimRight
; 1872 : pszLast = psz;
00041 8b 45 f8 mov eax, DWORD PTR _psz$[ebp]
00044 89 45 f4 mov DWORD PTR _pszLast$[ebp], eax
$LN6@TrimRight:
; 1873 : }
00047 eb 07 jmp SHORT $LN5@TrimRight
$LN4@TrimRight:
; 1874 : else
; 1875 : {
; 1876 : pszLast = NULL;
00049 c7 45 f4 00 00
00 00 mov DWORD PTR _pszLast$[ebp], 0
$LN5@TrimRight:
; 1877 : }
; 1878 : psz = StringTraits::CharNext( psz );
00050 8b 45 f8 mov eax, DWORD PTR _psz$[ebp]
00053 50 push eax
00054 e8 00 00 00 00 call ?CharNextW@?$ChTraitsCRT@_W@ATL@@SAPA_WPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::CharNextW
00059 83 c4 04 add esp, 4
0005c 89 45 f8 mov DWORD PTR _psz$[ebp], eax
; 1879 : }
0005f eb bd jmp SHORT $LN2@TrimRight
$LN3@TrimRight:
; 1880 :
; 1881 : if( pszLast != NULL )
00061 83 7d f4 00 cmp DWORD PTR _pszLast$[ebp], 0
00065 74 1e je SHORT $LN7@TrimRight
; 1882 : {
; 1883 : // truncate at trailing space start
; 1884 : int iLast = int( pszLast - this->GetString() );
00067 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0006a e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
0006f 8b 4d f4 mov ecx, DWORD PTR _pszLast$[ebp]
00072 2b c8 sub ecx, eax
00074 d1 f9 sar ecx, 1
00076 89 4d f0 mov DWORD PTR _iLast$1[ebp], ecx
; 1885 :
; 1886 : this->Truncate( iLast );
00079 8b 45 f0 mov eax, DWORD PTR _iLast$1[ebp]
0007c 50 push eax
0007d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00080 e8 00 00 00 00 call ?Truncate@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Truncate
$LN7@TrimRight:
; 1887 : }
; 1888 :
; 1889 : return( *this );
00085 8b 45 fc mov eax, DWORD PTR _this$[ebp]
; 1890 : }
00088 5f pop edi
00089 5e pop esi
0008a 5b pop ebx
0008b 8b e5 mov esp, ebp
0008d 5d pop ebp
0008e c3 ret 0
?TrimRight@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV12@XZ ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?MakeUpper@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV12@XZ
_TEXT SEGMENT
_pszBuffer$ = -12 ; size = 4
_nLength$ = -8 ; size = 4
_this$ = -4 ; size = 4
?MakeUpper@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV12@XZ PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeUpper, COMDAT
; _this$ = ecx
; 1825 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 4c sub esp, 76 ; 0000004cH
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 1826 : int nLength = this->GetLength();
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
00014 89 45 f8 mov DWORD PTR _nLength$[ebp], eax
; 1827 : PXSTR pszBuffer = this->GetBuffer( nLength );
00017 8b 45 f8 mov eax, DWORD PTR _nLength$[ebp]
0001a 50 push eax
0001b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0001e e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
00023 89 45 f4 mov DWORD PTR _pszBuffer$[ebp], eax
; 1828 : StringTraits::StringUppercase( pszBuffer, nLength+1 );
00026 8b 45 f8 mov eax, DWORD PTR _nLength$[ebp]
00029 83 c0 01 add eax, 1
0002c 50 push eax
0002d 8b 4d f4 mov ecx, DWORD PTR _pszBuffer$[ebp]
00030 51 push ecx
00031 e8 00 00 00 00 call ?StringUppercase@?$ChTraitsCRT@_W@ATL@@SAPA_WPA_WI@Z ; ATL::ChTraitsCRT<wchar_t>::StringUppercase
00036 83 c4 08 add esp, 8
; 1829 : this->ReleaseBufferSetLength( nLength );
00039 8b 45 f8 mov eax, DWORD PTR _nLength$[ebp]
0003c 50 push eax
0003d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00040 e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
; 1830 :
; 1831 : return( *this );
00045 8b 45 fc mov eax, DWORD PTR _this$[ebp]
; 1832 : }
00048 5f pop edi
00049 5e pop esi
0004a 5b pop ebx
0004b 8b e5 mov esp, ebp
0004d 5d pop ebp
0004e c3 ret 0
?MakeUpper@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV12@XZ ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeUpper
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?FindOneOf@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEHPB_W@Z
_TEXT SEGMENT
tv82 = -76 ; size = 4
_psz$ = -8 ; size = 4
_this$ = -4 ; size = 4
_pszCharSet$ = 8 ; size = 4
?FindOneOf@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEHPB_W@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FindOneOf, COMDAT
; _this$ = ecx
; 1805 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 4c sub esp, 76 ; 0000004cH
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 1806 : ATLASSERT( AtlIsValidString( pszCharSet ) );
; 1807 : PCXSTR psz = StringTraits::StringScanSet( this->GetString(), pszCharSet );
0000c 8b 45 08 mov eax, DWORD PTR _pszCharSet$[ebp]
0000f 50 push eax
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00013 e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
00018 50 push eax
00019 e8 00 00 00 00 call ?StringScanSet@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z ; ATL::ChTraitsCRT<wchar_t>::StringScanSet
0001e 83 c4 08 add esp, 8
00021 89 45 f8 mov DWORD PTR _psz$[ebp], eax
; 1808 : return( (psz == NULL) ? -1 : int( psz - this->GetString() ) );
00024 83 7d f8 00 cmp DWORD PTR _psz$[ebp], 0
00028 75 09 jne SHORT $LN3@FindOneOf
0002a c7 45 b4 ff ff
ff ff mov DWORD PTR tv82[ebp], -1
00031 eb 12 jmp SHORT $LN4@FindOneOf
$LN3@FindOneOf:
00033 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00036 e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
0003b 8b 4d f8 mov ecx, DWORD PTR _psz$[ebp]
0003e 2b c8 sub ecx, eax
00040 d1 f9 sar ecx, 1
00042 89 4d b4 mov DWORD PTR tv82[ebp], ecx
$LN4@FindOneOf:
00045 8b 45 b4 mov eax, DWORD PTR tv82[ebp]
; 1809 : }
00048 5f pop edi
00049 5e pop esi
0004a 5b pop ebx
0004b 8b e5 mov esp, ebp
0004d 5d pop ebp
0004e c2 04 00 ret 4
?FindOneOf@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEHPB_W@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FindOneOf
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?Find@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEHPB_WH@Z
_TEXT SEGMENT
tv93 = -80 ; size = 4
_psz$ = -12 ; size = 4
_nLength$ = -8 ; size = 4
_this$ = -4 ; size = 4
_pszSub$ = 8 ; size = 4
_iStart$ = 12 ; size = 4
?Find@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEHPB_WH@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find, COMDAT
; _this$ = ecx
; 1780 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 50 sub esp, 80 ; 00000050H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 1781 : // iStart is in XCHARs
; 1782 : ATLASSERT( iStart >= 0 );
; 1783 : ATLASSERT( AtlIsValidString( pszSub ) );
; 1784 :
; 1785 : if(pszSub == NULL)
0000c 83 7d 08 00 cmp DWORD PTR _pszSub$[ebp], 0
00010 75 05 jne SHORT $LN2@Find
; 1786 : {
; 1787 : return( -1 );
00012 83 c8 ff or eax, -1
00015 eb 60 jmp SHORT $LN1@Find
$LN2@Find:
; 1788 : }
; 1789 : // nLength is in XCHARs
; 1790 : int nLength = this->GetLength();
00017 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0001a e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
0001f 89 45 f8 mov DWORD PTR _nLength$[ebp], eax
; 1791 : if( iStart < 0 || iStart > nLength )
00022 83 7d 0c 00 cmp DWORD PTR _iStart$[ebp], 0
00026 7c 08 jl SHORT $LN4@Find
00028 8b 45 0c mov eax, DWORD PTR _iStart$[ebp]
0002b 3b 45 f8 cmp eax, DWORD PTR _nLength$[ebp]
0002e 7e 05 jle SHORT $LN3@Find
$LN4@Find:
; 1792 : {
; 1793 : return( -1 );
00030 83 c8 ff or eax, -1
00033 eb 42 jmp SHORT $LN1@Find
$LN3@Find:
; 1794 : }
; 1795 :
; 1796 : // find first matching substring
; 1797 : PCXSTR psz = StringTraits::StringFindString( this->GetString()+iStart, pszSub );
00035 8b 45 08 mov eax, DWORD PTR _pszSub$[ebp]
00038 50 push eax
00039 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0003c e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
00041 8b 4d 0c mov ecx, DWORD PTR _iStart$[ebp]
00044 8d 14 48 lea edx, DWORD PTR [eax+ecx*2]
00047 52 push edx
00048 e8 00 00 00 00 call ?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z ; ATL::ChTraitsCRT<wchar_t>::StringFindString
0004d 83 c4 08 add esp, 8
00050 89 45 f4 mov DWORD PTR _psz$[ebp], eax
; 1798 :
; 1799 : // return -1 for not found, distance from beginning otherwise
; 1800 : return( (psz == NULL) ? -1 : int( psz - this->GetString() ) );
00053 83 7d f4 00 cmp DWORD PTR _psz$[ebp], 0
00057 75 09 jne SHORT $LN6@Find
00059 c7 45 b0 ff ff
ff ff mov DWORD PTR tv93[ebp], -1
00060 eb 12 jmp SHORT $LN7@Find
$LN6@Find:
00062 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00065 e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
0006a 8b 4d f4 mov ecx, DWORD PTR _psz$[ebp]
0006d 2b c8 sub ecx, eax
0006f d1 f9 sar ecx, 1
00071 89 4d b0 mov DWORD PTR tv93[ebp], ecx
$LN7@Find:
00074 8b 45 b0 mov eax, DWORD PTR tv93[ebp]
$LN1@Find:
; 1801 : }
00077 5f pop edi
00078 5e pop esi
00079 5b pop ebx
0007a 8b e5 mov esp, ebp
0007c 5d pop ebp
0007d c2 08 00 ret 8
?Find@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEHPB_WH@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?Find@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEH_WH@Z
_TEXT SEGMENT
tv92 = -80 ; size = 4
_psz$ = -12 ; size = 4
_nLength$ = -8 ; size = 4
_this$ = -4 ; size = 4
_ch$ = 8 ; size = 2
_iStart$ = 12 ; size = 4
?Find@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEH_WH@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find, COMDAT
; _this$ = ecx
; 1756 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 50 sub esp, 80 ; 00000050H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 1757 : // iStart is in XCHARs
; 1758 : ATLASSERT( iStart >= 0 );
; 1759 :
; 1760 : // nLength is in XCHARs
; 1761 : int nLength = this->GetLength();
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
00014 89 45 f8 mov DWORD PTR _nLength$[ebp], eax
; 1762 : if( iStart < 0 || iStart >= nLength)
00017 83 7d 0c 00 cmp DWORD PTR _iStart$[ebp], 0
0001b 7c 08 jl SHORT $LN3@Find
0001d 8b 45 0c mov eax, DWORD PTR _iStart$[ebp]
00020 3b 45 f8 cmp eax, DWORD PTR _nLength$[ebp]
00023 7c 05 jl SHORT $LN2@Find
$LN3@Find:
; 1763 : {
; 1764 : return( -1 );
00025 83 c8 ff or eax, -1
00028 eb 43 jmp SHORT $LN1@Find
$LN2@Find:
; 1765 : }
; 1766 :
; 1767 : // find first single character
; 1768 : PCXSTR psz = StringTraits::StringFindChar( this->GetString()+iStart, ch );
0002a 0f b7 45 08 movzx eax, WORD PTR _ch$[ebp]
0002e 50 push eax
0002f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00032 e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
00037 8b 4d 0c mov ecx, DWORD PTR _iStart$[ebp]
0003a 8d 14 48 lea edx, DWORD PTR [eax+ecx*2]
0003d 52 push edx
0003e e8 00 00 00 00 call ?StringFindChar@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z ; ATL::ChTraitsCRT<wchar_t>::StringFindChar
00043 83 c4 08 add esp, 8
00046 89 45 f4 mov DWORD PTR _psz$[ebp], eax
; 1769 :
; 1770 : // return -1 if not found and index otherwise
; 1771 : return( (psz == NULL) ? -1 : int( psz - this->GetString() ) );
00049 83 7d f4 00 cmp DWORD PTR _psz$[ebp], 0
0004d 75 09 jne SHORT $LN5@Find
0004f c7 45 b0 ff ff
ff ff mov DWORD PTR tv92[ebp], -1
00056 eb 12 jmp SHORT $LN6@Find
$LN5@Find:
00058 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0005b e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
00060 8b 4d f4 mov ecx, DWORD PTR _psz$[ebp]
00063 2b c8 sub ecx, eax
00065 d1 f9 sar ecx, 1
00067 89 4d b0 mov DWORD PTR tv92[ebp], ecx
$LN6@Find:
0006a 8b 45 b0 mov eax, DWORD PTR tv92[ebp]
$LN1@Find:
; 1772 : }
0006d 5f pop edi
0006e 5e pop esi
0006f 5b pop ebx
00070 8b e5 mov esp, ebp
00072 5d pop ebp
00073 c2 08 00 ret 8
?Find@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEH_WH@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?Replace@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPB_W0@Z
_TEXT SEGMENT
tv145 = -124 ; size = 4
_nBalance$1 = -56 ; size = 4
_pszTarget$2 = -52 ; size = 4
_pszEnd$3 = -48 ; size = 4
_pszStart$4 = -44 ; size = 4
_pszBuffer$5 = -40 ; size = 4
_nNewLength$6 = -36 ; size = 4
_nOldLength$7 = -32 ; size = 4
_pszTarget$8 = -28 ; size = 4
_pszEnd$9 = -24 ; size = 4
_pszStart$10 = -20 ; size = 4
_nCount$ = -16 ; size = 4
_nReplacementLen$ = -12 ; size = 4
_nSourceLen$ = -8 ; size = 4
_this$ = -4 ; size = 4
_pszOld$ = 8 ; size = 4
_pszNew$ = 12 ; size = 4
?Replace@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPB_W0@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace, COMDAT
; _this$ = ecx
; 1605 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 7c sub esp, 124 ; 0000007cH
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 1606 : // can't have empty or NULL lpszOld
; 1607 :
; 1608 : // nSourceLen is in XCHARs
; 1609 : int nSourceLen = StringTraits::SafeStringLen( pszOld );
0000c 8b 45 08 mov eax, DWORD PTR _pszOld$[ebp]
0000f 50 push eax
00010 e8 00 00 00 00 call ?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::SafeStringLen
00015 83 c4 04 add esp, 4
00018 89 45 f8 mov DWORD PTR _nSourceLen$[ebp], eax
; 1610 : if( nSourceLen == 0 )
0001b 83 7d f8 00 cmp DWORD PTR _nSourceLen$[ebp], 0
0001f 75 07 jne SHORT $LN10@Replace
; 1611 : return( 0 );
00021 33 c0 xor eax, eax
00023 e9 b4 01 00 00 jmp $LN1@Replace
$LN10@Replace:
; 1612 : // nReplacementLen is in XCHARs
; 1613 : int nReplacementLen = StringTraits::SafeStringLen( pszNew );
00028 8b 45 0c mov eax, DWORD PTR _pszNew$[ebp]
0002b 50 push eax
0002c e8 00 00 00 00 call ?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::SafeStringLen
00031 83 c4 04 add esp, 4
00034 89 45 f4 mov DWORD PTR _nReplacementLen$[ebp], eax
; 1614 :
; 1615 : // loop once to figure out the size of the result string
; 1616 : int nCount = 0;
00037 c7 45 f0 00 00
00 00 mov DWORD PTR _nCount$[ebp], 0
; 1617 : {
; 1618 : PCXSTR pszStart = this->GetString();
0003e 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00041 e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
00046 89 45 ec mov DWORD PTR _pszStart$10[ebp], eax
; 1619 : PCXSTR pszEnd = pszStart + this->GetLength();
00049 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0004c e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
00051 8b 4d ec mov ecx, DWORD PTR _pszStart$10[ebp]
00054 8d 14 41 lea edx, DWORD PTR [ecx+eax*2]
00057 89 55 e8 mov DWORD PTR _pszEnd$9[ebp], edx
$LN2@Replace:
; 1620 : while( pszStart < pszEnd )
0005a 8b 45 ec mov eax, DWORD PTR _pszStart$10[ebp]
0005d 3b 45 e8 cmp eax, DWORD PTR _pszEnd$9[ebp]
00060 73 48 jae SHORT $LN3@Replace
$LN4@Replace:
; 1621 : {
; 1622 : PCXSTR pszTarget;
; 1623 : while( (pszTarget = StringTraits::StringFindString( pszStart, pszOld ) ) != NULL)
00062 8b 45 08 mov eax, DWORD PTR _pszOld$[ebp]
00065 50 push eax
00066 8b 4d ec mov ecx, DWORD PTR _pszStart$10[ebp]
00069 51 push ecx
0006a e8 00 00 00 00 call ?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z ; ATL::ChTraitsCRT<wchar_t>::StringFindString
0006f 83 c4 08 add esp, 8
00072 89 45 e4 mov DWORD PTR _pszTarget$8[ebp], eax
00075 83 7d e4 00 cmp DWORD PTR _pszTarget$8[ebp], 0
00079 74 17 je SHORT $LN5@Replace
; 1624 : {
; 1625 : nCount++;
0007b 8b 45 f0 mov eax, DWORD PTR _nCount$[ebp]
0007e 83 c0 01 add eax, 1
00081 89 45 f0 mov DWORD PTR _nCount$[ebp], eax
; 1626 : pszStart = pszTarget+nSourceLen;
00084 8b 45 f8 mov eax, DWORD PTR _nSourceLen$[ebp]
00087 8b 4d e4 mov ecx, DWORD PTR _pszTarget$8[ebp]
0008a 8d 14 41 lea edx, DWORD PTR [ecx+eax*2]
0008d 89 55 ec mov DWORD PTR _pszStart$10[ebp], edx
; 1627 : }
00090 eb d0 jmp SHORT $LN4@Replace
$LN5@Replace:
; 1628 : pszStart += StringTraits::SafeStringLen( pszStart )+1;
00092 8b 45 ec mov eax, DWORD PTR _pszStart$10[ebp]
00095 50 push eax
00096 e8 00 00 00 00 call ?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::SafeStringLen
0009b 83 c4 04 add esp, 4
0009e 8b 4d ec mov ecx, DWORD PTR _pszStart$10[ebp]
000a1 8d 54 41 02 lea edx, DWORD PTR [ecx+eax*2+2]
000a5 89 55 ec mov DWORD PTR _pszStart$10[ebp], edx
; 1629 : }
000a8 eb b0 jmp SHORT $LN2@Replace
$LN3@Replace:
; 1630 : }
; 1631 :
; 1632 : // if any changes were made, make them
; 1633 : if( nCount > 0 )
000aa 83 7d f0 00 cmp DWORD PTR _nCount$[ebp], 0
000ae 0f 8e 25 01 00
00 jle $LN11@Replace
; 1634 : {
; 1635 : // if the buffer is too small, just
; 1636 : // allocate a new buffer (slow but sure)
; 1637 : int nOldLength = this->GetLength();
000b4 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
000b7 e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
000bc 89 45 e0 mov DWORD PTR _nOldLength$7[ebp], eax
; 1638 : int nNewLength = nOldLength+(nReplacementLen-nSourceLen)*nCount;
000bf 8b 45 f4 mov eax, DWORD PTR _nReplacementLen$[ebp]
000c2 2b 45 f8 sub eax, DWORD PTR _nSourceLen$[ebp]
000c5 0f af 45 f0 imul eax, DWORD PTR _nCount$[ebp]
000c9 03 45 e0 add eax, DWORD PTR _nOldLength$7[ebp]
000cc 89 45 dc mov DWORD PTR _nNewLength$6[ebp], eax
; 1639 :
; 1640 : PXSTR pszBuffer = this->GetBuffer( __max( nNewLength, nOldLength ) );
000cf 8b 45 dc mov eax, DWORD PTR _nNewLength$6[ebp]
000d2 3b 45 e0 cmp eax, DWORD PTR _nOldLength$7[ebp]
000d5 7e 08 jle SHORT $LN13@Replace
000d7 8b 4d dc mov ecx, DWORD PTR _nNewLength$6[ebp]
000da 89 4d 84 mov DWORD PTR tv145[ebp], ecx
000dd eb 06 jmp SHORT $LN14@Replace
$LN13@Replace:
000df 8b 55 e0 mov edx, DWORD PTR _nOldLength$7[ebp]
000e2 89 55 84 mov DWORD PTR tv145[ebp], edx
$LN14@Replace:
000e5 8b 45 84 mov eax, DWORD PTR tv145[ebp]
000e8 50 push eax
000e9 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
000ec e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
000f1 89 45 d8 mov DWORD PTR _pszBuffer$5[ebp], eax
; 1641 :
; 1642 : PXSTR pszStart = pszBuffer;
000f4 8b 45 d8 mov eax, DWORD PTR _pszBuffer$5[ebp]
000f7 89 45 d4 mov DWORD PTR _pszStart$4[ebp], eax
; 1643 : PXSTR pszEnd = pszStart+nOldLength;
000fa 8b 45 e0 mov eax, DWORD PTR _nOldLength$7[ebp]
000fd 8b 4d d4 mov ecx, DWORD PTR _pszStart$4[ebp]
00100 8d 14 41 lea edx, DWORD PTR [ecx+eax*2]
00103 89 55 d0 mov DWORD PTR _pszEnd$3[ebp], edx
$LN6@Replace:
; 1644 :
; 1645 : // loop again to actually do the work
; 1646 : while( pszStart < pszEnd )
00106 8b 45 d4 mov eax, DWORD PTR _pszStart$4[ebp]
00109 3b 45 d0 cmp eax, DWORD PTR _pszEnd$3[ebp]
0010c 0f 83 bb 00 00
00 jae $LN7@Replace
$LN8@Replace:
; 1647 : {
; 1648 : PXSTR pszTarget;
; 1649 : while( (pszTarget = StringTraits::StringFindString( pszStart, pszOld ) ) != NULL )
00112 8b 45 08 mov eax, DWORD PTR _pszOld$[ebp]
00115 50 push eax
00116 8b 4d d4 mov ecx, DWORD PTR _pszStart$4[ebp]
00119 51 push ecx
0011a e8 00 00 00 00 call ?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPA_WPA_WPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::StringFindString
0011f 83 c4 08 add esp, 8
00122 89 45 cc mov DWORD PTR _pszTarget$2[ebp], eax
00125 83 7d cc 00 cmp DWORD PTR _pszTarget$2[ebp], 0
00129 0f 84 83 00 00
00 je $LN9@Replace
; 1650 : {
; 1651 : int nBalance = nOldLength-int(pszTarget-pszBuffer+nSourceLen);
0012f 8b 45 cc mov eax, DWORD PTR _pszTarget$2[ebp]
00132 2b 45 d8 sub eax, DWORD PTR _pszBuffer$5[ebp]
00135 d1 f8 sar eax, 1
00137 03 45 f8 add eax, DWORD PTR _nSourceLen$[ebp]
0013a 8b 4d e0 mov ecx, DWORD PTR _nOldLength$7[ebp]
0013d 2b c8 sub ecx, eax
0013f 89 4d c8 mov DWORD PTR _nBalance$1[ebp], ecx
; 1652 : Checked::memmove_s( pszTarget+nReplacementLen, nBalance*sizeof( XCHAR ),
00142 8b 45 c8 mov eax, DWORD PTR _nBalance$1[ebp]
00145 d1 e0 shl eax, 1
00147 50 push eax
00148 8b 4d f8 mov ecx, DWORD PTR _nSourceLen$[ebp]
0014b 8b 55 cc mov edx, DWORD PTR _pszTarget$2[ebp]
0014e 8d 04 4a lea eax, DWORD PTR [edx+ecx*2]
00151 50 push eax
00152 8b 4d c8 mov ecx, DWORD PTR _nBalance$1[ebp]
00155 d1 e1 shl ecx, 1
00157 51 push ecx
00158 8b 55 f4 mov edx, DWORD PTR _nReplacementLen$[ebp]
0015b 8b 45 cc mov eax, DWORD PTR _pszTarget$2[ebp]
0015e 8d 0c 50 lea ecx, DWORD PTR [eax+edx*2]
00161 51 push ecx
00162 e8 00 00 00 00 call ?memmove_s@Checked@ATL@@YAXPAXIPBXI@Z ; ATL::Checked::memmove_s
00167 83 c4 10 add esp, 16 ; 00000010H
; 1653 : pszTarget+nSourceLen, nBalance*sizeof( XCHAR ) );
; 1654 : Checked::memcpy_s( pszTarget, nReplacementLen*sizeof( XCHAR ),
0016a 8b 45 f4 mov eax, DWORD PTR _nReplacementLen$[ebp]
0016d d1 e0 shl eax, 1
0016f 50 push eax
00170 8b 4d 0c mov ecx, DWORD PTR _pszNew$[ebp]
00173 51 push ecx
00174 8b 55 f4 mov edx, DWORD PTR _nReplacementLen$[ebp]
00177 d1 e2 shl edx, 1
00179 52 push edx
0017a 8b 45 cc mov eax, DWORD PTR _pszTarget$2[ebp]
0017d 50 push eax
0017e e8 00 00 00 00 call ?memcpy_s@Checked@ATL@@YAXPAXIPBXI@Z ; ATL::Checked::memcpy_s
00183 83 c4 10 add esp, 16 ; 00000010H
; 1655 : pszNew, nReplacementLen*sizeof( XCHAR ) );
; 1656 : pszStart = pszTarget+nReplacementLen;
00186 8b 45 f4 mov eax, DWORD PTR _nReplacementLen$[ebp]
00189 8b 4d cc mov ecx, DWORD PTR _pszTarget$2[ebp]
0018c 8d 14 41 lea edx, DWORD PTR [ecx+eax*2]
0018f 89 55 d4 mov DWORD PTR _pszStart$4[ebp], edx
; 1657 : pszTarget[nReplacementLen+nBalance] = 0;
00192 8b 45 f4 mov eax, DWORD PTR _nReplacementLen$[ebp]
00195 03 45 c8 add eax, DWORD PTR _nBalance$1[ebp]
00198 33 c9 xor ecx, ecx
0019a 8b 55 cc mov edx, DWORD PTR _pszTarget$2[ebp]
0019d 66 89 0c 42 mov WORD PTR [edx+eax*2], cx
; 1658 : nOldLength += (nReplacementLen-nSourceLen);
001a1 8b 45 f4 mov eax, DWORD PTR _nReplacementLen$[ebp]
001a4 2b 45 f8 sub eax, DWORD PTR _nSourceLen$[ebp]
001a7 03 45 e0 add eax, DWORD PTR _nOldLength$7[ebp]
001aa 89 45 e0 mov DWORD PTR _nOldLength$7[ebp], eax
; 1659 : }
001ad e9 60 ff ff ff jmp $LN8@Replace
$LN9@Replace:
; 1660 : pszStart += StringTraits::SafeStringLen( pszStart )+1;
001b2 8b 45 d4 mov eax, DWORD PTR _pszStart$4[ebp]
001b5 50 push eax
001b6 e8 00 00 00 00 call ?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::SafeStringLen
001bb 83 c4 04 add esp, 4
001be 8b 4d d4 mov ecx, DWORD PTR _pszStart$4[ebp]
001c1 8d 54 41 02 lea edx, DWORD PTR [ecx+eax*2+2]
001c5 89 55 d4 mov DWORD PTR _pszStart$4[ebp], edx
; 1661 : }
001c8 e9 39 ff ff ff jmp $LN6@Replace
$LN7@Replace:
; 1662 : ATLASSERT( pszBuffer[nNewLength] == 0 );
; 1663 : this->ReleaseBufferSetLength( nNewLength );
001cd 8b 45 dc mov eax, DWORD PTR _nNewLength$6[ebp]
001d0 50 push eax
001d1 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
001d4 e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
$LN11@Replace:
; 1664 : }
; 1665 :
; 1666 : return( nCount );
001d9 8b 45 f0 mov eax, DWORD PTR _nCount$[ebp]
$LN1@Replace:
; 1667 : }
001dc 5f pop edi
001dd 5e pop esi
001de 5b pop ebx
001df 8b e5 mov esp, ebp
001e1 5d pop ebp
001e2 c2 08 00 ret 8
?Replace@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPB_W0@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?GetManager@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ
_TEXT SEGMENT
_pStringMgr$ = -8 ; size = 4
_this$ = -4 ; size = 4
?GetManager@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager, COMDAT
; _this$ = ecx
; 1436 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 1437 : IAtlStringMgr* pStringMgr = CThisSimpleString::GetManager();
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?GetManager@?$CSimpleStringT@_W$0A@@ATL@@QBEPAUIAtlStringMgr@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetManager
00014 89 45 f8 mov DWORD PTR _pStringMgr$[ebp], eax
; 1438 : if(pStringMgr) { return pStringMgr; }
00017 83 7d f8 00 cmp DWORD PTR _pStringMgr$[ebp], 0
0001b 74 05 je SHORT $LN2@GetManager
0001d 8b 45 f8 mov eax, DWORD PTR _pStringMgr$[ebp]
00020 eb 15 jmp SHORT $LN1@GetManager
$LN2@GetManager:
; 1439 :
; 1440 : pStringMgr = StringTraits::GetDefaultManager();
00022 e8 00 00 00 00 call ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager
00027 89 45 f8 mov DWORD PTR _pStringMgr$[ebp], eax
; 1441 : return pStringMgr->Clone();
0002a 8b 45 f8 mov eax, DWORD PTR _pStringMgr$[ebp]
0002d 8b 10 mov edx, DWORD PTR [eax]
0002f 8b 4d f8 mov ecx, DWORD PTR _pStringMgr$[ebp]
00032 8b 42 10 mov eax, DWORD PTR [edx+16]
00035 ff d0 call eax
$LN1@GetManager:
; 1442 : }
00037 5f pop edi
00038 5e pop esi
00039 5b pop ebx
0003a 8b e5 mov esp, ebp
0003c 5d pop ebp
0003d c3 ret 0
?GetManager@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_pszSrc$ = 8 ; size = 4
??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=, COMDAT
; _this$ = ecx
; 1318 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 1319 : CThisSimpleString::operator=( pszSrc );
0000c 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
0000f 50 push eax
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00013 e8 00 00 00 00 call ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::operator=
; 1320 :
; 1321 : return( *this );
00018 8b 45 fc mov eax, DWORD PTR _this$[ebp]
; 1322 : }
0001b 5f pop edi
0001c 5e pop esi
0001d 5b pop ebx
0001e 8b e5 mov esp, ebp
00020 5d pop ebp
00021 c2 04 00 ret 4
??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
; _this$ = ecx
; 1298 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 44 sub esp, 68 ; 00000044H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
0002b c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
; 1299 : }
00032 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
00039 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0003c e8 00 00 00 00 call ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
00041 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00044 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0004b 59 pop ecx
0004c 5f pop edi
0004d 5e pop esi
0004e 5b pop ebx
0004f 8b e5 mov esp, ebp
00051 5d pop ebp
00052 c3 ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
00008 cc int 3
00009 cc int 3
0000a cc int 3
0000b cc int 3
0000c cc int 3
__ehhandler$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ:
0000d 90 npad 1
0000e 90 npad 1
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
00016 8b 4a ac mov ecx, DWORD PTR [edx-84]
00019 33 c8 xor ecx, eax
0001b e8 00 00 00 00 call @__security_check_cookie@4
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_pch$ = 8 ; size = 4
_nLength$ = 12 ; size = 4
_pStringMgr$ = 16 ; size = 4
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
; _this$ = ecx
; 1252 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 44 sub esp, 68 ; 00000044H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
; 1251 : CThisSimpleString( pch, nLength, pStringMgr )
0002b 8b 45 10 mov eax, DWORD PTR _pStringMgr$[ebp]
0002e 50 push eax
0002f 8b 4d 0c mov ecx, DWORD PTR _nLength$[ebp]
00032 51 push ecx
00033 8b 55 08 mov edx, DWORD PTR _pch$[ebp]
00036 52 push edx
00037 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0003a e8 00 00 00 00 call ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
0003f c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
; 1253 : }
00046 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
0004d 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00050 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00053 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0005a 59 pop ecx
0005b 5f pop edi
0005c 5e pop esi
0005d 5b pop ebx
0005e 8b e5 mov esp, ebp
00060 5d pop ebp
00061 c2 0c 00 ret 12 ; 0000000cH
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
00008 cc int 3
00009 cc int 3
0000a cc int 3
0000b cc int 3
0000c cc int 3
__ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z:
0000d 90 npad 1
0000e 90 npad 1
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
00016 8b 4a ac mov ecx, DWORD PTR [edx-84]
00019 33 c8 xor ecx, eax
0001b e8 00 00 00 00 call @__security_check_cookie@4
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_pszSrc$ = 8 ; size = 4
_pStringMgr$ = 12 ; size = 4
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
; _this$ = ecx
; 1060 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 44 sub esp, 68 ; 00000044H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
; 1059 : CThisSimpleString( pStringMgr )
0002b 8b 45 0c mov eax, DWORD PTR _pStringMgr$[ebp]
0002e 50 push eax
0002f 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00032 e8 00 00 00 00 call ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
00037 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
; 1061 : if( !CheckImplicitLoad( pszSrc ) )
0003e 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
00041 50 push eax
00042 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00045 e8 00 00 00 00 call ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad
0004a 0f b6 c8 movzx ecx, al
0004d 85 c9 test ecx, ecx
0004f 75 0c jne SHORT $LN1@CStringT
; 1062 : {
; 1063 : *this = pszSrc;
00051 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
00054 50 push eax
00055 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00058 e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
$LN1@CStringT:
; 1064 : }
; 1065 : }
0005d c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
00064 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00067 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0006a 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00071 59 pop ecx
00072 5f pop edi
00073 5e pop esi
00074 5b pop ebx
00075 8b e5 mov esp, ebp
00077 5d pop ebp
00078 c2 08 00 ret 8
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
00008 cc int 3
00009 cc int 3
0000a cc int 3
0000b cc int 3
0000c cc int 3
__ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z:
0000d 90 npad 1
0000e 90 npad 1
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
00016 8b 4a ac mov ecx, DWORD PTR [edx-84]
00019 33 c8 xor ecx, eax
0001b e8 00 00 00 00 call @__security_check_cookie@4
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_pszSrc$ = 8 ; size = 4
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
; _this$ = ecx
; 1049 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 44 sub esp, 68 ; 00000044H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
; 1048 : CThisSimpleString( StringTraits::GetDefaultManager() )
0002b e8 00 00 00 00 call ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager
00030 50 push eax
00031 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00034 e8 00 00 00 00 call ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
00039 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
; 1050 : if( !CheckImplicitLoad( pszSrc ) )
00040 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
00043 50 push eax
00044 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00047 e8 00 00 00 00 call ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad
0004c 0f b6 c8 movzx ecx, al
0004f 85 c9 test ecx, ecx
00051 75 0c jne SHORT $LN1@CStringT
; 1051 : {
; 1052 : *this = pszSrc;
00053 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
00056 50 push eax
00057 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0005a e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
$LN1@CStringT:
; 1053 : }
; 1054 : }
0005f c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
00066 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00069 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0006c 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00073 59 pop ecx
00074 5f pop edi
00075 5e pop esi
00076 5b pop ebx
00077 8b e5 mov esp, ebp
00079 5d pop ebp
0007a c2 04 00 ret 4
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
00008 cc int 3
00009 cc int 3
0000a cc int 3
0000b cc int 3
0000c cc int 3
__ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z:
0000d 90 npad 1
0000e 90 npad 1
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
00016 8b 4a ac mov ecx, DWORD PTR [edx-84]
00019 33 c8 xor ecx, eax
0001b e8 00 00 00 00 call @__security_check_cookie@4
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_strSrc$ = 8 ; size = 4
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
; _this$ = ecx
; 1032 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 44 sub esp, 68 ; 00000044H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
; 1031 : CThisSimpleString( strSrc )
0002b 8b 45 08 mov eax, DWORD PTR _strSrc$[ebp]
0002e 50 push eax
0002f 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00032 e8 00 00 00 00 call ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@ABV01@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
00037 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
; 1033 : }
0003e c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
00045 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00048 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0004b 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00052 59 pop ecx
00053 5f pop edi
00054 5e pop esi
00055 5b pop ebx
00056 8b e5 mov esp, ebp
00058 5d pop ebp
00059 c2 04 00 ret 4
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
00008 cc int 3
00009 cc int 3
0000a cc int 3
0000b cc int 3
0000c cc int 3
__ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z:
0000d 90 npad 1
0000e 90 npad 1
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
00016 8b 4a ac mov ecx, DWORD PTR [edx-84]
00019 33 c8 xor ecx, eax
0001b e8 00 00 00 00 call @__security_check_cookie@4
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
; _this$ = ecx
; 1011 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 44 sub esp, 68 ; 00000044H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
; 1010 : CThisSimpleString( StringTraits::GetDefaultManager() )
0002b e8 00 00 00 00 call ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager
00030 50 push eax
00031 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00034 e8 00 00 00 00 call ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
00039 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
; 1012 : }
00040 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
00047 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
0004a 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0004d 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00054 59 pop ecx
00055 5f pop edi
00056 5e pop esi
00057 5b pop ebx
00058 8b e5 mov esp, ebp
0005a 5d pop ebp
0005b c3 ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
00008 cc int 3
00009 cc int 3
0000a cc int 3
0000b cc int 3
0000c cc int 3
__ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ:
0000d 90 npad 1
0000e 90 npad 1
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
00016 8b 4a ac mov ecx, DWORD PTR [edx-84]
00019 33 c8 xor ecx, eax
0001b e8 00 00 00 00 call @__security_check_cookie@4
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z
_TEXT SEGMENT
tv139 = -88 ; size = 4
tv141 = -84 ; size = 4
tv143 = -80 ; size = 4
tv145 = -76 ; size = 4
tv87 = -76 ; size = 4
_pNewStringMgr$ = -8 ; size = 4
_pNewData$ = -4 ; size = 4
_pData$ = 8 ; size = 4
?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::CloneData, COMDAT
; 879 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 58 sub esp, 88 ; 00000058H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 880 : CStringData* pNewData = NULL;
00009 c7 45 fc 00 00
00 00 mov DWORD PTR _pNewData$[ebp], 0
; 881 :
; 882 : IAtlStringMgr* pNewStringMgr = pData->pStringMgr->Clone();
00010 8b 45 08 mov eax, DWORD PTR _pData$[ebp]
00013 8b 08 mov ecx, DWORD PTR [eax]
00015 8b 55 08 mov edx, DWORD PTR _pData$[ebp]
00018 8b 01 mov eax, DWORD PTR [ecx]
0001a 8b 0a mov ecx, DWORD PTR [edx]
0001c 8b 50 10 mov edx, DWORD PTR [eax+16]
0001f ff d2 call edx
00021 89 45 f8 mov DWORD PTR _pNewStringMgr$[ebp], eax
; 883 : if( !pData->IsLocked() && (pNewStringMgr == pData->pStringMgr) )
00024 8b 4d 08 mov ecx, DWORD PTR _pData$[ebp]
00027 e8 00 00 00 00 call ?IsLocked@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsLocked
0002c 0f b6 c0 movzx eax, al
0002f 85 c0 test eax, eax
00031 75 1a jne SHORT $LN2@CloneData
00033 8b 45 08 mov eax, DWORD PTR _pData$[ebp]
00036 8b 4d f8 mov ecx, DWORD PTR _pNewStringMgr$[ebp]
00039 3b 08 cmp ecx, DWORD PTR [eax]
0003b 75 10 jne SHORT $LN2@CloneData
; 884 : {
; 885 : pNewData = pData;
0003d 8b 45 08 mov eax, DWORD PTR _pData$[ebp]
00040 89 45 fc mov DWORD PTR _pNewData$[ebp], eax
; 886 : pNewData->AddRef();
00043 8b 4d fc mov ecx, DWORD PTR _pNewData$[ebp]
00046 e8 00 00 00 00 call ?AddRef@CStringData@ATL@@QAEXXZ ; ATL::CStringData::AddRef
; 887 : }
0004b eb 7b jmp SHORT $LN3@CloneData
$LN2@CloneData:
; 888 : else
; 889 : {
; 890 : pNewData = pNewStringMgr->Allocate( pData->nDataLength, sizeof( XCHAR ) );
0004d 8b 45 f8 mov eax, DWORD PTR _pNewStringMgr$[ebp]
00050 8b 08 mov ecx, DWORD PTR [eax]
00052 8b 11 mov edx, DWORD PTR [ecx]
00054 89 55 b4 mov DWORD PTR tv87[ebp], edx
00057 6a 02 push 2
00059 8b 45 08 mov eax, DWORD PTR _pData$[ebp]
0005c 8b 48 04 mov ecx, DWORD PTR [eax+4]
0005f 51 push ecx
00060 8b 4d f8 mov ecx, DWORD PTR _pNewStringMgr$[ebp]
00063 ff 55 b4 call DWORD PTR tv87[ebp]
00066 89 45 fc mov DWORD PTR _pNewData$[ebp], eax
; 891 : if( pNewData == NULL )
00069 83 7d fc 00 cmp DWORD PTR _pNewData$[ebp], 0
0006d 75 05 jne SHORT $LN4@CloneData
; 892 : {
; 893 : ThrowMemoryException();
0006f e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
$LN4@CloneData:
; 894 : }
; 895 : pNewData->nDataLength = pData->nDataLength;
00074 8b 45 fc mov eax, DWORD PTR _pNewData$[ebp]
00077 8b 4d 08 mov ecx, DWORD PTR _pData$[ebp]
0007a 8b 51 04 mov edx, DWORD PTR [ecx+4]
0007d 89 50 04 mov DWORD PTR [eax+4], edx
; 896 : memcpy_s( PXSTR( pNewData->data() ), (pNewData->nDataLength+1) * sizeof( XCHAR ),
00080 8b 45 08 mov eax, DWORD PTR _pData$[ebp]
00083 8b 48 04 mov ecx, DWORD PTR [eax+4]
00086 8d 54 09 02 lea edx, DWORD PTR [ecx+ecx+2]
0008a 89 55 b4 mov DWORD PTR tv145[ebp], edx
0008d 8b 4d 08 mov ecx, DWORD PTR _pData$[ebp]
00090 e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
00095 89 45 b0 mov DWORD PTR tv143[ebp], eax
00098 8b 45 fc mov eax, DWORD PTR _pNewData$[ebp]
0009b 8b 48 04 mov ecx, DWORD PTR [eax+4]
0009e 8d 54 09 02 lea edx, DWORD PTR [ecx+ecx+2]
000a2 89 55 ac mov DWORD PTR tv141[ebp], edx
000a5 8b 4d fc mov ecx, DWORD PTR _pNewData$[ebp]
000a8 e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
000ad 89 45 a8 mov DWORD PTR tv139[ebp], eax
000b0 8b 45 b4 mov eax, DWORD PTR tv145[ebp]
000b3 50 push eax
000b4 8b 4d b0 mov ecx, DWORD PTR tv143[ebp]
000b7 51 push ecx
000b8 8b 55 ac mov edx, DWORD PTR tv141[ebp]
000bb 52 push edx
000bc 8b 45 a8 mov eax, DWORD PTR tv139[ebp]
000bf 50 push eax
000c0 e8 00 00 00 00 call _memcpy_s
000c5 83 c4 10 add esp, 16 ; 00000010H
$LN3@CloneData:
; 897 : PCXSTR( pData->data() ), (pData->nDataLength+1) * sizeof( XCHAR )); // Copy '\0'
; 898 : }
; 899 :
; 900 : return( pNewData );
000c8 8b 45 fc mov eax, DWORD PTR _pNewData$[ebp]
$LN5@CloneData:
; 901 : }
000cb 5f pop edi
000cc 5e pop esi
000cd 5b pop ebx
000ce 8b e5 mov esp, ebp
000d0 5d pop ebp
000d1 c3 ret 0
?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::CloneData
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_nLength$ = 8 ; size = 4
?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::SetLength, COMDAT
; _this$ = ecx
; 867 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 868 : ATLASSERT( nLength >= 0 );
; 869 : ATLASSERT( nLength <= GetData()->nAllocLength );
; 870 :
; 871 : if( nLength < 0 || nLength > GetData()->nAllocLength)
0000c 83 7d 08 00 cmp DWORD PTR _nLength$[ebp], 0
00010 7c 10 jl SHORT $LN3@SetLength
00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00015 e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
0001a 8b 4d 08 mov ecx, DWORD PTR _nLength$[ebp]
0001d 3b 48 08 cmp ecx, DWORD PTR [eax+8]
00020 7e 0a jle SHORT $LN2@SetLength
$LN3@SetLength:
; 872 : AtlThrow(E_INVALIDARG);
00022 68 57 00 07 80 push -2147024809 ; 80070057H
00027 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN2@SetLength:
; 873 :
; 874 : GetData()->nDataLength = nLength;
0002c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0002f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00034 8b 4d 08 mov ecx, DWORD PTR _nLength$[ebp]
00037 89 48 04 mov DWORD PTR [eax+4], ecx
; 875 : m_pszData[nLength] = 0;
0003a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0003d 8b 08 mov ecx, DWORD PTR [eax]
0003f 33 d2 xor edx, edx
00041 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
00044 66 89 14 41 mov WORD PTR [ecx+eax*2], dx
$LN4@SetLength:
; 876 : }
00048 5f pop edi
00049 5e pop esi
0004a 5b pop ebx
0004b 8b e5 mov esp, ebp
0004d 5d pop ebp
0004e c2 04 00 ret 4
?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::SetLength
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
_TEXT SEGMENT
tv78 = -84 ; size = 4
_pNewData$ = -16 ; size = 4
_pStringMgr$ = -12 ; size = 4
_pOldData$ = -8 ; size = 4
_this$ = -4 ; size = 4
_nLength$ = 8 ; size = 4
?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::Reallocate, COMDAT
; _this$ = ecx
; 849 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 54 sub esp, 84 ; 00000054H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 850 : CStringData* pOldData = GetData();
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00014 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
; 851 : ATLASSERT( pOldData->nAllocLength < nLength );
; 852 : IAtlStringMgr* pStringMgr = pOldData->pStringMgr;
00017 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
0001a 8b 08 mov ecx, DWORD PTR [eax]
0001c 89 4d f4 mov DWORD PTR _pStringMgr$[ebp], ecx
; 853 : if ( pOldData->nAllocLength >= nLength || nLength <= 0)
0001f 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
00022 8b 48 08 mov ecx, DWORD PTR [eax+8]
00025 3b 4d 08 cmp ecx, DWORD PTR _nLength$[ebp]
00028 7d 06 jge SHORT $LN3@Reallocate
0002a 83 7d 08 00 cmp DWORD PTR _nLength$[ebp], 0
0002e 7f 07 jg SHORT $LN2@Reallocate
$LN3@Reallocate:
; 854 : {
; 855 : ThrowMemoryException();
00030 e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
; 856 : return;
00035 eb 35 jmp SHORT $LN5@Reallocate
$LN2@Reallocate:
; 857 : }
; 858 : CStringData* pNewData = pStringMgr->Reallocate( pOldData, nLength, sizeof( XCHAR ) );
00037 8b 45 f4 mov eax, DWORD PTR _pStringMgr$[ebp]
0003a 8b 08 mov ecx, DWORD PTR [eax]
0003c 8b 51 08 mov edx, DWORD PTR [ecx+8]
0003f 89 55 ac mov DWORD PTR tv78[ebp], edx
00042 6a 02 push 2
00044 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
00047 50 push eax
00048 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp]
0004b 51 push ecx
0004c 8b 4d f4 mov ecx, DWORD PTR _pStringMgr$[ebp]
0004f ff 55 ac call DWORD PTR tv78[ebp]
00052 89 45 f0 mov DWORD PTR _pNewData$[ebp], eax
; 859 : if( pNewData == NULL )
00055 83 7d f0 00 cmp DWORD PTR _pNewData$[ebp], 0
00059 75 05 jne SHORT $LN4@Reallocate
; 860 : {
; 861 : ThrowMemoryException();
0005b e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
$LN4@Reallocate:
; 862 : }
; 863 : Attach( pNewData );
00060 8b 45 f0 mov eax, DWORD PTR _pNewData$[ebp]
00063 50 push eax
00064 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00067 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
$LN5@Reallocate:
; 864 : }
0006c 5f pop edi
0006d 5e pop esi
0006e 5b pop ebx
0006f 8b e5 mov esp, ebp
00071 5d pop ebp
00072 c2 04 00 ret 4
?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::Reallocate
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
_TEXT SEGMENT
_nNewLength$1 = -12 ; size = 4
_pOldData$ = -8 ; size = 4
_this$ = -4 ; size = 4
_nLength$ = 8 ; size = 4
?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2, COMDAT
; _this$ = ecx
; 818 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 4c sub esp, 76 ; 0000004cH
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 819 : CStringData* pOldData = GetData();
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00014 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
; 820 : if( pOldData->nDataLength > nLength )
00017 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
0001a 8b 48 04 mov ecx, DWORD PTR [eax+4]
0001d 3b 4d 08 cmp ecx, DWORD PTR _nLength$[ebp]
00020 7e 09 jle SHORT $LN2@PrepareWri
; 821 : {
; 822 : nLength = pOldData->nDataLength;
00022 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
00025 8b 48 04 mov ecx, DWORD PTR [eax+4]
00028 89 4d 08 mov DWORD PTR _nLength$[ebp], ecx
$LN2@PrepareWri:
; 823 : }
; 824 : if( pOldData->IsShared() )
0002b 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp]
0002e e8 00 00 00 00 call ?IsShared@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsShared
00033 0f b6 c0 movzx eax, al
00036 85 c0 test eax, eax
00038 74 0e je SHORT $LN3@PrepareWri
; 825 : {
; 826 : Fork( nLength );
0003a 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
0003d 50 push eax
0003e 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00041 e8 00 00 00 00 call ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Fork
; 827 : }
00046 eb 52 jmp SHORT $LN1@PrepareWri
$LN3@PrepareWri:
; 828 : else if( pOldData->nAllocLength < nLength )
00048 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
0004b 8b 48 08 mov ecx, DWORD PTR [eax+8]
0004e 3b 4d 08 cmp ecx, DWORD PTR _nLength$[ebp]
00051 7d 47 jge SHORT $LN1@PrepareWri
; 829 : {
; 830 : // Grow exponentially, until we hit 1G, then by 1M thereafter.
; 831 : int nNewLength = pOldData->nAllocLength;
00053 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
00056 8b 48 08 mov ecx, DWORD PTR [eax+8]
00059 89 4d f4 mov DWORD PTR _nNewLength$1[ebp], ecx
; 832 : if( nNewLength > 1024 * 1024 * 1024 )
0005c 81 7d f4 00 00
00 40 cmp DWORD PTR _nNewLength$1[ebp], 1073741824 ; 40000000H
00063 7e 0d jle SHORT $LN6@PrepareWri
; 833 : {
; 834 : nNewLength += 1024 * 1024;
00065 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
00068 05 00 00 10 00 add eax, 1048576 ; 00100000H
0006d 89 45 f4 mov DWORD PTR _nNewLength$1[ebp], eax
; 835 : }
00070 eb 0e jmp SHORT $LN7@PrepareWri
$LN6@PrepareWri:
; 836 : else
; 837 : {
; 838 : // Exponential growth factor is 1.5.
; 839 : nNewLength = nNewLength + nNewLength / 2;
00072 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
00075 99 cdq
00076 2b c2 sub eax, edx
00078 d1 f8 sar eax, 1
0007a 03 45 f4 add eax, DWORD PTR _nNewLength$1[ebp]
0007d 89 45 f4 mov DWORD PTR _nNewLength$1[ebp], eax
$LN7@PrepareWri:
; 840 : }
; 841 : if( nNewLength < nLength )
00080 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
00083 3b 45 08 cmp eax, DWORD PTR _nLength$[ebp]
00086 7d 06 jge SHORT $LN8@PrepareWri
; 842 : {
; 843 : nNewLength = nLength;
00088 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
0008b 89 45 f4 mov DWORD PTR _nNewLength$1[ebp], eax
$LN8@PrepareWri:
; 844 : }
; 845 : Reallocate( nNewLength );
0008e 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
00091 50 push eax
00092 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00095 e8 00 00 00 00 call ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Reallocate
$LN1@PrepareWri:
; 846 : }
; 847 : }
0009a 5f pop edi
0009b 5e pop esi
0009c 5b pop ebx
0009d 8b e5 mov esp, ebp
0009f 5d pop ebp
000a0 c2 04 00 ret 4
?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z
_TEXT SEGMENT
_nTooShort$ = -16 ; size = 4
_nShared$ = -12 ; size = 4
_pOldData$ = -8 ; size = 4
_this$ = -4 ; size = 4
_nLength$ = 8 ; size = 4
?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite, COMDAT
; _this$ = ecx
; 803 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 50 sub esp, 80 ; 00000050H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 804 : if (nLength < 0)
0000c 83 7d 08 00 cmp DWORD PTR _nLength$[ebp], 0
00010 7d 0a jge SHORT $LN2@PrepareWri
; 805 : AtlThrow(E_INVALIDARG);
00012 68 57 00 07 80 push -2147024809 ; 80070057H
00017 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN2@PrepareWri:
; 806 :
; 807 : CStringData* pOldData = GetData();
0001c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0001f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00024 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
; 808 : int nShared = 1-pOldData->nRefs; // nShared < 0 means true, >= 0 means false
00027 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
0002a b9 01 00 00 00 mov ecx, 1
0002f 2b 48 0c sub ecx, DWORD PTR [eax+12]
00032 89 4d f4 mov DWORD PTR _nShared$[ebp], ecx
; 809 : int nTooShort = pOldData->nAllocLength-nLength; // nTooShort < 0 means true, >= 0 means false
00035 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
00038 8b 48 08 mov ecx, DWORD PTR [eax+8]
0003b 2b 4d 08 sub ecx, DWORD PTR _nLength$[ebp]
0003e 89 4d f0 mov DWORD PTR _nTooShort$[ebp], ecx
; 810 : if( (nShared|nTooShort) < 0 ) // If either sign bit is set (i.e. either is less than zero), we need to copy data
00041 8b 45 f4 mov eax, DWORD PTR _nShared$[ebp]
00044 0b 45 f0 or eax, DWORD PTR _nTooShort$[ebp]
00047 7d 0c jge SHORT $LN3@PrepareWri
; 811 : {
; 812 : PrepareWrite2( nLength );
00049 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
0004c 50 push eax
0004d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00050 e8 00 00 00 00 call ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2
$LN3@PrepareWri:
; 813 : }
; 814 :
; 815 : return( m_pszData );
00055 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00058 8b 00 mov eax, DWORD PTR [eax]
$LN4@PrepareWri:
; 816 : }
0005a 5f pop edi
0005b 5e pop esi
0005c 5b pop ebx
0005d 8b e5 mov esp, ebp
0005f 5d pop ebp
00060 c2 04 00 ret 4
?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ PROC ; ATL::CSimpleStringT<wchar_t,0>::GetData, COMDAT
; _this$ = ecx
; 799 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 800 : return( reinterpret_cast< CStringData* >( m_pszData )-1 );
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 8b 00 mov eax, DWORD PTR [eax]
00011 83 e8 10 sub eax, 16 ; 00000010H
; 801 : }
00014 5f pop edi
00015 5e pop esi
00016 5b pop ebx
00017 8b e5 mov esp, ebp
00019 5d pop ebp
0001a c3 ret 0
?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetData
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
_TEXT SEGMENT
tv132 = -92 ; size = 4
tv83 = -92 ; size = 4
tv134 = -88 ; size = 4
tv86 = -88 ; size = 4
tv76 = -88 ; size = 4
_nCharsToCopy$ = -20 ; size = 4
_pNewData$ = -16 ; size = 4
_nOldLength$ = -12 ; size = 4
_pOldData$ = -8 ; size = 4
_this$ = -4 ; size = 4
_nLength$ = 8 ; size = 4
?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::Fork, COMDAT
; _this$ = ecx
; 783 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 5c sub esp, 92 ; 0000005cH
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 784 : CStringData* pOldData = GetData();
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00014 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
; 785 : int nOldLength = pOldData->nDataLength;
00017 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
0001a 8b 48 04 mov ecx, DWORD PTR [eax+4]
0001d 89 4d f4 mov DWORD PTR _nOldLength$[ebp], ecx
; 786 : CStringData* pNewData = pOldData->pStringMgr->Clone()->Allocate( nLength, sizeof( XCHAR ) );
00020 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
00023 8b 08 mov ecx, DWORD PTR [eax]
00025 8b 55 f8 mov edx, DWORD PTR _pOldData$[ebp]
00028 8b 01 mov eax, DWORD PTR [ecx]
0002a 8b 0a mov ecx, DWORD PTR [edx]
0002c 8b 50 10 mov edx, DWORD PTR [eax+16]
0002f ff d2 call edx
00031 89 45 a8 mov DWORD PTR tv76[ebp], eax
00034 8b 45 a8 mov eax, DWORD PTR tv76[ebp]
00037 8b 08 mov ecx, DWORD PTR [eax]
00039 8b 11 mov edx, DWORD PTR [ecx]
0003b 89 55 a4 mov DWORD PTR tv83[ebp], edx
0003e 6a 02 push 2
00040 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
00043 50 push eax
00044 8b 4d a8 mov ecx, DWORD PTR tv76[ebp]
00047 ff 55 a4 call DWORD PTR tv83[ebp]
0004a 89 45 f0 mov DWORD PTR _pNewData$[ebp], eax
; 787 : if( pNewData == NULL )
0004d 83 7d f0 00 cmp DWORD PTR _pNewData$[ebp], 0
00051 75 05 jne SHORT $LN2@Fork
; 788 : {
; 789 : ThrowMemoryException();
00053 e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
$LN2@Fork:
; 790 : }
; 791 : int nCharsToCopy = ((nOldLength < nLength) ? nOldLength : nLength)+1; // Copy '\0'
00058 8b 45 f4 mov eax, DWORD PTR _nOldLength$[ebp]
0005b 3b 45 08 cmp eax, DWORD PTR _nLength$[ebp]
0005e 7d 08 jge SHORT $LN4@Fork
00060 8b 4d f4 mov ecx, DWORD PTR _nOldLength$[ebp]
00063 89 4d a8 mov DWORD PTR tv86[ebp], ecx
00066 eb 06 jmp SHORT $LN5@Fork
$LN4@Fork:
00068 8b 55 08 mov edx, DWORD PTR _nLength$[ebp]
0006b 89 55 a8 mov DWORD PTR tv86[ebp], edx
$LN5@Fork:
0006e 8b 45 a8 mov eax, DWORD PTR tv86[ebp]
00071 83 c0 01 add eax, 1
00074 89 45 ec mov DWORD PTR _nCharsToCopy$[ebp], eax
; 792 : memcpy_s( PXSTR( pNewData->data() ), nCharsToCopy * sizeof( XCHAR ),
00077 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp]
0007a e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
0007f 89 45 a8 mov DWORD PTR tv134[ebp], eax
00082 8b 4d f0 mov ecx, DWORD PTR _pNewData$[ebp]
00085 e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
0008a 89 45 a4 mov DWORD PTR tv132[ebp], eax
0008d 8b 45 ec mov eax, DWORD PTR _nCharsToCopy$[ebp]
00090 d1 e0 shl eax, 1
00092 50 push eax
00093 8b 4d a8 mov ecx, DWORD PTR tv134[ebp]
00096 51 push ecx
00097 8b 55 ec mov edx, DWORD PTR _nCharsToCopy$[ebp]
0009a d1 e2 shl edx, 1
0009c 52 push edx
0009d 8b 45 a4 mov eax, DWORD PTR tv132[ebp]
000a0 50 push eax
000a1 e8 00 00 00 00 call _memcpy_s
000a6 83 c4 10 add esp, 16 ; 00000010H
; 793 : PCXSTR( pOldData->data() ), nCharsToCopy * sizeof( XCHAR ));
; 794 : pNewData->nDataLength = nOldLength;
000a9 8b 45 f0 mov eax, DWORD PTR _pNewData$[ebp]
000ac 8b 4d f4 mov ecx, DWORD PTR _nOldLength$[ebp]
000af 89 48 04 mov DWORD PTR [eax+4], ecx
; 795 : pOldData->Release();
000b2 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp]
000b5 e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release
; 796 : Attach( pNewData );
000ba 8b 45 f0 mov eax, DWORD PTR _pNewData$[ebp]
000bd 50 push eax
000be 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
000c1 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
$LN3@Fork:
; 797 : }
000c6 5f pop edi
000c7 5e pop esi
000c8 5b pop ebx
000c9 8b e5 mov esp, ebp
000cb 5d pop ebp
000cc c2 04 00 ret 4
?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::Fork
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_pData$ = 8 ; size = 4
?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::Attach, COMDAT
; _this$ = ecx
; 779 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 780 : m_pszData = static_cast< PXSTR >( pData->data() );
0000c 8b 4d 08 mov ecx, DWORD PTR _pData$[ebp]
0000f e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
00014 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00017 89 01 mov DWORD PTR [ecx], eax
; 781 : }
00019 5f pop edi
0001a 5e pop esi
0001b 5b pop ebx
0001c 8b e5 mov esp, ebp
0001e 5d pop ebp
0001f c2 04 00 ret 4
?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::Attach
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ
_TEXT SEGMENT
?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException, COMDAT
; 772 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 773 : AtlThrow( E_OUTOFMEMORY );
00009 68 0e 00 07 80 push -2147024882 ; 8007000eH
0000e e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN2@ThrowMemor:
; 774 : }
00013 5f pop edi
00014 5e pop esi
00015 5b pop ebx
00016 8b e5 mov esp, ebp
00018 5d pop ebp
00019 c3 ret 0
?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z
_TEXT SEGMENT
__$EHRec$ = -12 ; size = 12
_psz$ = 8 ; size = 4
?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::StringLength, COMDAT
; 729 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 40 sub esp, 64 ; 00000040H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 730 : if( psz == NULL )
00028 83 7d 08 00 cmp DWORD PTR _psz$[ebp], 0
0002c 75 04 jne SHORT $LN2@StringLeng
; 731 : {
; 732 : return( 0 );
0002e 33 c0 xor eax, eax
00030 eb 0c jmp SHORT $LN1@StringLeng
$LN2@StringLeng:
; 733 : }
; 734 : return( int( wcslen( psz ) ) );
00032 8b 45 08 mov eax, DWORD PTR _psz$[ebp]
00035 50 push eax
00036 e8 00 00 00 00 call _wcslen
0003b 83 c4 04 add esp, 4
$LN1@StringLeng:
; 735 : }
0003e 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00041 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00048 59 pop ecx
00049 5f pop edi
0004a 5e pop esi
0004b 5b pop ebx
0004c 8b e5 mov esp, ebp
0004e 5d pop ebp
0004f c3 ret 0
00050 cc int 3
00051 cc int 3
00052 cc int 3
00053 cc int 3
00054 cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::StringLength
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z
_TEXT SEGMENT
__$EHRec$ = -12 ; size = 12
_pchDest$ = 8 ; size = 4
_nDestLen$ = 12 ; size = 4
_pchSrc$ = 16 ; size = 4
_nChars$ = 20 ; size = 4
?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::CopyCharsOverlapped, COMDAT
; 716 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 40 sub esp, 64 ; 00000040H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 717 : memmove_s( pchDest, nDestLen*sizeof( XCHAR ),
00028 8b 45 14 mov eax, DWORD PTR _nChars$[ebp]
0002b d1 e0 shl eax, 1
0002d 50 push eax
0002e 8b 4d 10 mov ecx, DWORD PTR _pchSrc$[ebp]
00031 51 push ecx
00032 8b 55 0c mov edx, DWORD PTR _nDestLen$[ebp]
00035 d1 e2 shl edx, 1
00037 52 push edx
00038 8b 45 08 mov eax, DWORD PTR _pchDest$[ebp]
0003b 50 push eax
0003c e8 00 00 00 00 call _memmove_s
00041 83 c4 10 add esp, 16 ; 00000010H
; 718 : pchSrc, nChars*sizeof( XCHAR ) );
; 719 : }
00044 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00047 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0004e 59 pop ecx
0004f 5f pop edi
00050 5e pop esi
00051 5b pop ebx
00052 8b e5 mov esp, ebp
00054 5d pop ebp
00055 c3 ret 0
00056 cc int 3
00057 cc int 3
00058 cc int 3
00059 cc int 3
0005a cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::CopyCharsOverlapped
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z
_TEXT SEGMENT
_pszBuffer$1 = -16 ; size = 4
_nOffset$2 = -12 ; size = 4
_nOldLength$3 = -8 ; size = 4
_this$ = -4 ; size = 4
_pszSrc$ = 8 ; size = 4
_nLength$ = 12 ; size = 4
?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::SetString, COMDAT
; _this$ = ecx
; 607 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 50 sub esp, 80 ; 00000050H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 608 : if( nLength == 0 )
0000c 83 7d 0c 00 cmp DWORD PTR _nLength$[ebp], 0
00010 75 0d jne SHORT $LN2@SetString
; 609 : {
; 610 : Empty();
00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00015 e8 00 00 00 00 call ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ ; ATL::CSimpleStringT<wchar_t,0>::Empty
; 611 : }
0001a e9 96 00 00 00 jmp $LN7@SetString
$LN2@SetString:
; 612 : else
; 613 : {
; 614 : // It is possible that pszSrc points to a location inside of our
; 615 : // buffer. GetBuffer() might change m_pszData if (1) the buffer
; 616 : // is shared or (2) the buffer is too small to hold the new
; 617 : // string. We detect this aliasing, and modify pszSrc to point
; 618 : // into the newly allocated buffer instead.
; 619 :
; 620 : if(pszSrc == NULL)
0001f 83 7d 08 00 cmp DWORD PTR _pszSrc$[ebp], 0
00023 75 0a jne SHORT $LN4@SetString
; 621 : AtlThrow(E_INVALIDARG);
00025 68 57 00 07 80 push -2147024809 ; 80070057H
0002a e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN4@SetString:
; 622 :
; 623 : UINT nOldLength = GetLength();
0002f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00032 e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
00037 89 45 f8 mov DWORD PTR _nOldLength$3[ebp], eax
; 624 : UINT_PTR nOffset = pszSrc-GetString();
0003a 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0003d e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
00042 8b 4d 08 mov ecx, DWORD PTR _pszSrc$[ebp]
00045 2b c8 sub ecx, eax
00047 d1 f9 sar ecx, 1
00049 89 4d f4 mov DWORD PTR _nOffset$2[ebp], ecx
; 625 : // If 0 <= nOffset <= nOldLength, then pszSrc points into our
; 626 : // buffer
; 627 :
; 628 : PXSTR pszBuffer = GetBuffer( nLength );
0004c 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
0004f 50 push eax
00050 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00053 e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
00058 89 45 f0 mov DWORD PTR _pszBuffer$1[ebp], eax
; 629 : if( nOffset <= nOldLength )
0005b 8b 45 f4 mov eax, DWORD PTR _nOffset$2[ebp]
0005e 3b 45 f8 cmp eax, DWORD PTR _nOldLength$3[ebp]
00061 77 25 ja SHORT $LN5@SetString
; 630 : {
; 631 : CopyCharsOverlapped( pszBuffer, GetAllocLength(),
00063 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
00066 50 push eax
00067 8b 4d f4 mov ecx, DWORD PTR _nOffset$2[ebp]
0006a 8b 55 f0 mov edx, DWORD PTR _pszBuffer$1[ebp]
0006d 8d 04 4a lea eax, DWORD PTR [edx+ecx*2]
00070 50 push eax
00071 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00074 e8 00 00 00 00 call ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength
00079 50 push eax
0007a 8b 4d f0 mov ecx, DWORD PTR _pszBuffer$1[ebp]
0007d 51 push ecx
0007e e8 00 00 00 00 call ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::CopyCharsOverlapped
00083 83 c4 10 add esp, 16 ; 00000010H
; 632 : pszBuffer+nOffset, nLength );
; 633 : }
00086 eb 21 jmp SHORT $LN6@SetString
$LN5@SetString:
; 634 : else
; 635 : {
; 636 : memcpy_s( pszBuffer, GetAllocLength() * sizeof( XCHAR ), pszSrc, nLength * sizeof( XCHAR ));
00088 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
0008b d1 e0 shl eax, 1
0008d 50 push eax
0008e 8b 4d 08 mov ecx, DWORD PTR _pszSrc$[ebp]
00091 51 push ecx
00092 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00095 e8 00 00 00 00 call ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength
0009a d1 e0 shl eax, 1
0009c 50 push eax
0009d 8b 55 f0 mov edx, DWORD PTR _pszBuffer$1[ebp]
000a0 52 push edx
000a1 e8 00 00 00 00 call _memcpy_s
000a6 83 c4 10 add esp, 16 ; 00000010H
$LN6@SetString:
; 637 : }
; 638 : ReleaseBufferSetLength( nLength );
000a9 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
000ac 50 push eax
000ad 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
000b0 e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
$LN7@SetString:
; 639 : }
; 640 : }
000b5 5f pop edi
000b6 5e pop esi
000b7 5b pop ebx
000b8 8b e5 mov esp, ebp
000ba 5d pop ebp
000bb c2 08 00 ret 8
?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::SetString
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_pszSrc$ = 8 ; size = 4
?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::SetString, COMDAT
; _this$ = ecx
; 601 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 602 : SetString( pszSrc, StringLength( pszSrc ) );
0000c 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
0000f 50 push eax
00010 e8 00 00 00 00 call ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::StringLength
00015 83 c4 04 add esp, 4
00018 50 push eax
00019 8b 4d 08 mov ecx, DWORD PTR _pszSrc$[ebp]
0001c 51 push ecx
0001d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00020 e8 00 00 00 00 call ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString
; 603 : }
00025 5f pop edi
00026 5e pop esi
00027 5b pop ebx
00028 8b e5 mov esp, ebp
0002a 5d pop ebp
0002b c2 04 00 ret 4
?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::SetString
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?Truncate@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_nNewLength$ = 8 ; size = 4
?Truncate@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::Truncate, COMDAT
; _this$ = ecx
; 571 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 572 : ATLASSERT( nNewLength <= GetLength() );
; 573 : GetBuffer( nNewLength );
0000c 8b 45 08 mov eax, DWORD PTR _nNewLength$[ebp]
0000f 50 push eax
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00013 e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
; 574 : ReleaseBufferSetLength( nNewLength );
00018 8b 45 08 mov eax, DWORD PTR _nNewLength$[ebp]
0001b 50 push eax
0001c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0001f e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
; 575 : }
00024 5f pop edi
00025 5e pop esi
00026 5b pop ebx
00027 8b e5 mov esp, ebp
00029 5d pop ebp
0002a c2 04 00 ret 4
?Truncate@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::Truncate
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_nNewLength$ = 8 ; size = 4
?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength, COMDAT
; _this$ = ecx
; 566 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 567 : ATLASSERT( nNewLength >= 0 );
; 568 : SetLength( nNewLength );
0000c 8b 45 08 mov eax, DWORD PTR _nNewLength$[ebp]
0000f 50 push eax
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00013 e8 00 00 00 00 call ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetLength
; 569 : }
00018 5f pop edi
00019 5e pop esi
0001a 5b pop ebx
0001b 8b e5 mov esp, ebp
0001d 5d pop ebp
0001e c2 04 00 ret 4
?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::GetString, COMDAT
; _this$ = ecx
; 528 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 529 : return( m_pszData );
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 8b 00 mov eax, DWORD PTR [eax]
; 530 : }
00011 5f pop edi
00012 5e pop esi
00013 5b pop ebx
00014 8b e5 mov esp, ebp
00016 5d pop ebp
00017 c3 ret 0
?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetString
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?GetManager@?$CSimpleStringT@_W$0A@@ATL@@QBEPAUIAtlStringMgr@2@XZ
_TEXT SEGMENT
tv72 = -76 ; size = 4
_pStringMgr$ = -8 ; size = 4
_this$ = -4 ; size = 4
?GetManager@?$CSimpleStringT@_W$0A@@ATL@@QBEPAUIAtlStringMgr@2@XZ PROC ; ATL::CSimpleStringT<wchar_t,0>::GetManager, COMDAT
; _this$ = ecx
; 522 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 4c sub esp, 76 ; 0000004cH
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 523 : IAtlStringMgr* pStringMgr = GetData()->pStringMgr;
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00014 8b 00 mov eax, DWORD PTR [eax]
00016 89 45 f8 mov DWORD PTR _pStringMgr$[ebp], eax
; 524 : return pStringMgr ? pStringMgr->Clone() : NULL;
00019 83 7d f8 00 cmp DWORD PTR _pStringMgr$[ebp], 0
0001d 74 12 je SHORT $LN3@GetManager
0001f 8b 45 f8 mov eax, DWORD PTR _pStringMgr$[ebp]
00022 8b 10 mov edx, DWORD PTR [eax]
00024 8b 4d f8 mov ecx, DWORD PTR _pStringMgr$[ebp]
00027 8b 42 10 mov eax, DWORD PTR [edx+16]
0002a ff d0 call eax
0002c 89 45 b4 mov DWORD PTR tv72[ebp], eax
0002f eb 07 jmp SHORT $LN4@GetManager
$LN3@GetManager:
00031 c7 45 b4 00 00
00 00 mov DWORD PTR tv72[ebp], 0
$LN4@GetManager:
00038 8b 45 b4 mov eax, DWORD PTR tv72[ebp]
; 525 : }
0003b 5f pop edi
0003c 5e pop esi
0003d 5b pop ebx
0003e 8b e5 mov esp, ebp
00040 5d pop ebp
00041 c3 ret 0
?GetManager@?$CSimpleStringT@_W$0A@@ATL@@QBEPAUIAtlStringMgr@2@XZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetManager
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::GetLength, COMDAT
; _this$ = ecx
; 518 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 519 : return( GetData()->nDataLength );
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00014 8b 40 04 mov eax, DWORD PTR [eax+4]
; 520 : }
00017 5f pop edi
00018 5e pop esi
00019 5b pop ebx
0001a 8b e5 mov esp, ebp
0001c 5d pop ebp
0001d c3 ret 0
?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetLength
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_nMinBufferLength$ = 8 ; size = 4
?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer, COMDAT
; _this$ = ecx
; 507 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 508 : return( PrepareWrite( nMinBufferLength ) );
0000c 8b 45 08 mov eax, DWORD PTR _nMinBufferLength$[ebp]
0000f 50 push eax
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00013 e8 00 00 00 00 call ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite
; 509 : }
00018 5f pop edi
00019 5e pop esi
0001a 5b pop ebx
0001b 8b e5 mov esp, ebp
0001d 5d pop ebp
0001e c2 04 00 ret 4
?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength, COMDAT
; _this$ = ecx
; 485 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 486 : return( GetData()->nAllocLength );
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00014 8b 40 08 mov eax, DWORD PTR [eax+8]
; 487 : }
00017 5f pop edi
00018 5e pop esi
00019 5b pop ebx
0001a 8b e5 mov esp, ebp
0001c 5d pop ebp
0001d c3 ret 0
?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ
_TEXT SEGMENT
_pNewData$2 = -28 ; size = 4
_pStringMgr$ = -24 ; size = 4
_pOldData$ = -20 ; size = 4
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::Empty, COMDAT
; _this$ = ecx
; 436 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 50 sub esp, 80 ; 00000050H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
; 437 : CStringData* pOldData = GetData();
0002b 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0002e e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00033 89 45 ec mov DWORD PTR _pOldData$[ebp], eax
; 438 : IAtlStringMgr* pStringMgr = pOldData->pStringMgr;
00036 8b 45 ec mov eax, DWORD PTR _pOldData$[ebp]
00039 8b 08 mov ecx, DWORD PTR [eax]
0003b 89 4d e8 mov DWORD PTR _pStringMgr$[ebp], ecx
; 439 : if( pOldData->nDataLength == 0 )
0003e 8b 45 ec mov eax, DWORD PTR _pOldData$[ebp]
00041 83 78 04 00 cmp DWORD PTR [eax+4], 0
00045 75 02 jne SHORT $LN2@Empty
; 440 : {
; 441 : return;
00047 eb 3f jmp SHORT $LN1@Empty
$LN2@Empty:
; 442 : }
; 443 :
; 444 : if( pOldData->IsLocked() )
00049 8b 4d ec mov ecx, DWORD PTR _pOldData$[ebp]
0004c e8 00 00 00 00 call ?IsLocked@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsLocked
00051 0f b6 c0 movzx eax, al
00054 85 c0 test eax, eax
00056 74 0c je SHORT $LN3@Empty
; 445 : {
; 446 : // Don't reallocate a locked buffer that's shrinking
; 447 : SetLength( 0 );
00058 6a 00 push 0
0005a 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0005d e8 00 00 00 00 call ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetLength
; 448 : }
00062 eb 24 jmp SHORT $LN1@Empty
$LN3@Empty:
; 449 : else
; 450 : {
; 451 : pOldData->Release();
00064 8b 4d ec mov ecx, DWORD PTR _pOldData$[ebp]
00067 e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release
; 452 : CStringData* pNewData = pStringMgr->GetNilString();
0006c 8b 45 e8 mov eax, DWORD PTR _pStringMgr$[ebp]
0006f 8b 10 mov edx, DWORD PTR [eax]
00071 8b 4d e8 mov ecx, DWORD PTR _pStringMgr$[ebp]
00074 8b 42 0c mov eax, DWORD PTR [edx+12]
00077 ff d0 call eax
00079 89 45 e4 mov DWORD PTR _pNewData$2[ebp], eax
; 453 : Attach( pNewData );
0007c 8b 45 e4 mov eax, DWORD PTR _pNewData$2[ebp]
0007f 50 push eax
00080 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00083 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
$LN1@Empty:
; 454 : }
; 455 : }
00088 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0008b 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00092 59 pop ecx
00093 5f pop edi
00094 5e pop esi
00095 5b pop ebx
00096 8b e5 mov esp, ebp
00098 5d pop ebp
00099 c3 ret 0
0009a cc int 3
0009b cc int 3
0009c cc int 3
0009d cc int 3
0009e cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a a0 mov ecx, DWORD PTR [edx-96]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::Empty
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *, COMDAT
; _this$ = ecx
; 376 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 377 : return( m_pszData );
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 8b 00 mov eax, DWORD PTR [eax]
; 378 : }
00011 5f pop edi
00012 5e pop esi
00013 5b pop ebx
00014 8b e5 mov esp, ebp
00016 5d pop ebp
00017 c3 ret 0
??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_pszSrc$ = 8 ; size = 4
??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::operator=, COMDAT
; _this$ = ecx
; 313 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 314 : SetString( pszSrc );
0000c 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
0000f 50 push eax
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00013 e8 00 00 00 00 call ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString
; 315 :
; 316 : return( *this );
00018 8b 45 fc mov eax, DWORD PTR _this$[ebp]
; 317 : }
0001b 5f pop edi
0001c 5e pop esi
0001d 5b pop ebx
0001e 8b e5 mov esp, ebp
00020 5d pop ebp
00021 c2 04 00 ret 4
??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::operator=
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ
_TEXT SEGMENT
_pData$ = -8 ; size = 4
_this$ = -4 ; size = 4
??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ PROC ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>, COMDAT
; _this$ = ecx
; 260 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 261 : CStringData* pData = GetData();
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00014 89 45 f8 mov DWORD PTR _pData$[ebp], eax
; 262 : pData->Release();
00017 8b 4d f8 mov ecx, DWORD PTR _pData$[ebp]
0001a e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release
; 263 : }
0001f 5f pop edi
00020 5e pop esi
00021 5b pop ebx
00022 8b e5 mov esp, ebp
00024 5d pop ebp
00025 c3 ret 0
??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z
_TEXT SEGMENT
tv80 = -80 ; size = 4
tv65 = -80 ; size = 4
_pData$ = -12 ; size = 4
___atl_condVal$1 = -8 ; size = 4
_this$ = -4 ; size = 4
_pchSrc$ = 8 ; size = 4
_nLength$ = 12 ; size = 4
_pStringMgr$ = 16 ; size = 4
??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>, COMDAT
; _this$ = ecx
; 240 : CSimpleStringT(
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 50 sub esp, 80 ; 00000050H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
$LN4@CSimpleStr:
; 241 : _In_reads_(nLength) const XCHAR* pchSrc,
; 242 : _In_ int nLength,
; 243 : _Inout_ IAtlStringMgr* pStringMgr)
; 244 : {
; 245 : ATLENSURE( pStringMgr != NULL );
0000c 83 7d 10 00 cmp DWORD PTR _pStringMgr$[ebp], 0
00010 74 09 je SHORT $LN12@CSimpleStr
00012 c7 45 b0 01 00
00 00 mov DWORD PTR tv65[ebp], 1
00019 eb 07 jmp SHORT $LN13@CSimpleStr
$LN12@CSimpleStr:
0001b c7 45 b0 00 00
00 00 mov DWORD PTR tv65[ebp], 0
$LN13@CSimpleStr:
00022 8b 45 b0 mov eax, DWORD PTR tv65[ebp]
00025 89 45 f8 mov DWORD PTR ___atl_condVal$1[ebp], eax
$LN5@CSimpleStr:
00028 33 c0 xor eax, eax
0002a 75 fc jne SHORT $LN5@CSimpleStr
0002c 83 7d f8 00 cmp DWORD PTR ___atl_condVal$1[ebp], 0
00030 75 0a jne SHORT $LN2@CSimpleStr
00032 68 05 40 00 80 push -2147467259 ; 80004005H
00037 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN2@CSimpleStr:
0003c 33 c0 xor eax, eax
0003e 75 cc jne SHORT $LN4@CSimpleStr
; 246 :
; 247 : if(pchSrc == NULL && nLength != 0)
00040 83 7d 08 00 cmp DWORD PTR _pchSrc$[ebp], 0
00044 75 10 jne SHORT $LN9@CSimpleStr
00046 83 7d 0c 00 cmp DWORD PTR _nLength$[ebp], 0
0004a 74 0a je SHORT $LN9@CSimpleStr
; 248 : AtlThrow(E_INVALIDARG);
0004c 68 57 00 07 80 push -2147024809 ; 80070057H
00051 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN9@CSimpleStr:
; 249 :
; 250 : CStringData* pData = pStringMgr->Allocate( nLength, sizeof( XCHAR ) );
00056 8b 45 10 mov eax, DWORD PTR _pStringMgr$[ebp]
00059 8b 08 mov ecx, DWORD PTR [eax]
0005b 8b 11 mov edx, DWORD PTR [ecx]
0005d 89 55 b0 mov DWORD PTR tv80[ebp], edx
00060 6a 02 push 2
00062 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
00065 50 push eax
00066 8b 4d 10 mov ecx, DWORD PTR _pStringMgr$[ebp]
00069 ff 55 b0 call DWORD PTR tv80[ebp]
0006c 89 45 f4 mov DWORD PTR _pData$[ebp], eax
; 251 : if( pData == NULL )
0006f 83 7d f4 00 cmp DWORD PTR _pData$[ebp], 0
00073 75 05 jne SHORT $LN10@CSimpleStr
; 252 : {
; 253 : ThrowMemoryException();
00075 e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
$LN10@CSimpleStr:
; 254 : }
; 255 : Attach( pData );
0007a 8b 45 f4 mov eax, DWORD PTR _pData$[ebp]
0007d 50 push eax
0007e 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00081 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
; 256 : SetLength( nLength );
00086 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
00089 50 push eax
0008a 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0008d e8 00 00 00 00 call ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetLength
; 257 : memcpy_s( m_pszData, nLength * sizeof( XCHAR ), pchSrc, nLength * sizeof( XCHAR ));
00092 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
00095 d1 e0 shl eax, 1
00097 50 push eax
00098 8b 4d 08 mov ecx, DWORD PTR _pchSrc$[ebp]
0009b 51 push ecx
0009c 8b 55 0c mov edx, DWORD PTR _nLength$[ebp]
0009f d1 e2 shl edx, 1
000a1 52 push edx
000a2 8b 45 fc mov eax, DWORD PTR _this$[ebp]
000a5 8b 08 mov ecx, DWORD PTR [eax]
000a7 51 push ecx
000a8 e8 00 00 00 00 call _memcpy_s
000ad 83 c4 10 add esp, 16 ; 00000010H
; 258 : }
000b0 8b 45 fc mov eax, DWORD PTR _this$[ebp]
$LN11@CSimpleStr:
000b3 5f pop edi
000b4 5e pop esi
000b5 5b pop ebx
000b6 8b e5 mov esp, ebp
000b8 5d pop ebp
000b9 c2 0c 00 ret 12 ; 0000000cH
??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@ABV01@@Z
_TEXT SEGMENT
_pNewData$ = -12 ; size = 4
_pSrcData$ = -8 ; size = 4
_this$ = -4 ; size = 4
_strSrc$ = 8 ; size = 4
??0?$CSimpleStringT@_W$0A@@ATL@@QAE@ABV01@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>, COMDAT
; _this$ = ecx
; 210 : CSimpleStringT(_In_ const CSimpleStringT& strSrc)
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 4c sub esp, 76 ; 0000004cH
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 211 : {
; 212 : CStringData* pSrcData = strSrc.GetData();
0000c 8b 4d 08 mov ecx, DWORD PTR _strSrc$[ebp]
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00014 89 45 f8 mov DWORD PTR _pSrcData$[ebp], eax
; 213 : CStringData* pNewData = CloneData( pSrcData );
00017 8b 45 f8 mov eax, DWORD PTR _pSrcData$[ebp]
0001a 50 push eax
0001b e8 00 00 00 00 call ?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z ; ATL::CSimpleStringT<wchar_t,0>::CloneData
00020 83 c4 04 add esp, 4
00023 89 45 f4 mov DWORD PTR _pNewData$[ebp], eax
; 214 : Attach( pNewData );
00026 8b 45 f4 mov eax, DWORD PTR _pNewData$[ebp]
00029 50 push eax
0002a 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0002d e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
; 215 : }
00032 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00035 5f pop edi
00036 5e pop esi
00037 5b pop ebx
00038 8b e5 mov esp, ebp
0003a 5d pop ebp
0003b c2 04 00 ret 4
??0?$CSimpleStringT@_W$0A@@ATL@@QAE@ABV01@@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z
_TEXT SEGMENT
tv65 = -80 ; size = 4
_pData$ = -12 ; size = 4
___atl_condVal$1 = -8 ; size = 4
_this$ = -4 ; size = 4
_pStringMgr$ = 8 ; size = 4
??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>, COMDAT
; _this$ = ecx
; 203 : explicit CSimpleStringT(_Inout_ IAtlStringMgr* pStringMgr)
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 50 sub esp, 80 ; 00000050H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
$LN4@CSimpleStr:
; 204 : {
; 205 : ATLENSURE( pStringMgr != NULL );
0000c 83 7d 08 00 cmp DWORD PTR _pStringMgr$[ebp], 0
00010 74 09 je SHORT $LN10@CSimpleStr
00012 c7 45 b0 01 00
00 00 mov DWORD PTR tv65[ebp], 1
00019 eb 07 jmp SHORT $LN11@CSimpleStr
$LN10@CSimpleStr:
0001b c7 45 b0 00 00
00 00 mov DWORD PTR tv65[ebp], 0
$LN11@CSimpleStr:
00022 8b 45 b0 mov eax, DWORD PTR tv65[ebp]
00025 89 45 f8 mov DWORD PTR ___atl_condVal$1[ebp], eax
$LN5@CSimpleStr:
00028 33 c0 xor eax, eax
0002a 75 fc jne SHORT $LN5@CSimpleStr
0002c 83 7d f8 00 cmp DWORD PTR ___atl_condVal$1[ebp], 0
00030 75 0a jne SHORT $LN2@CSimpleStr
00032 68 05 40 00 80 push -2147467259 ; 80004005H
00037 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN2@CSimpleStr:
0003c 33 c0 xor eax, eax
0003e 75 cc jne SHORT $LN4@CSimpleStr
; 206 : CStringData* pData = pStringMgr->GetNilString();
00040 8b 45 08 mov eax, DWORD PTR _pStringMgr$[ebp]
00043 8b 10 mov edx, DWORD PTR [eax]
00045 8b 4d 08 mov ecx, DWORD PTR _pStringMgr$[ebp]
00048 8b 42 0c mov eax, DWORD PTR [edx+12]
0004b ff d0 call eax
0004d 89 45 f4 mov DWORD PTR _pData$[ebp], eax
; 207 : Attach( pData );
00050 8b 45 f4 mov eax, DWORD PTR _pData$[ebp]
00053 50 push eax
00054 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00057 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
; 208 : }
0005c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
$LN9@CSimpleStr:
0005f 5f pop edi
00060 5e pop esi
00061 5b pop ebx
00062 8b e5 mov esp, ebp
00064 5d pop ebp
00065 c2 04 00 ret 4
??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z
_TEXT SEGMENT
tv67 = -80 ; size = 4
__$EHRec$ = -12 ; size = 12
_psz$ = 8 ; size = 4
?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z PROC ; ATL::ChTraitsCRT<wchar_t>::SafeStringLen, COMDAT
; 829 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 44 sub esp, 68 ; 00000044H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 830 : // returns length in wchar_ts
; 831 : return (psz != NULL) ? (int)wcslen( psz ) : 0;
00028 83 7d 08 00 cmp DWORD PTR _psz$[ebp], 0
0002c 74 11 je SHORT $LN3@SafeString
0002e 8b 45 08 mov eax, DWORD PTR _psz$[ebp]
00031 50 push eax
00032 e8 00 00 00 00 call _wcslen
00037 83 c4 04 add esp, 4
0003a 89 45 b0 mov DWORD PTR tv67[ebp], eax
0003d eb 07 jmp SHORT $LN4@SafeString
$LN3@SafeString:
0003f c7 45 b0 00 00
00 00 mov DWORD PTR tv67[ebp], 0
$LN4@SafeString:
00046 8b 45 b0 mov eax, DWORD PTR tv67[ebp]
; 832 : }
00049 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0004c 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00053 59 pop ecx
00054 5f pop edi
00055 5e pop esi
00056 5b pop ebx
00057 8b e5 mov esp, ebp
00059 5d pop ebp
0005a c3 ret 0
0005b cc int 3
0005c cc int 3
0005d cc int 3
0005e cc int 3
0005f cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a ac mov ecx, DWORD PTR [edx-84]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::SafeStringLen
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z
_TEXT SEGMENT
_pszDest$ = 8 ; size = 4
_nDestLength$ = 12 ; size = 4
_pszSrc$ = 16 ; size = 4
_nSrcLength$ = 20 ; size = 4
?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z PROC ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType, COMDAT
; 789 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 790 : if (nSrcLength == -1) { nSrcLength=1 + GetBaseTypeLength(pszSrc); }
00009 83 7d 14 ff cmp DWORD PTR _nSrcLength$[ebp], -1
0000d 75 12 jne SHORT $LN2@ConvertToB
0000f 8b 45 10 mov eax, DWORD PTR _pszSrc$[ebp]
00012 50 push eax
00013 e8 00 00 00 00 call ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
00018 83 c4 04 add esp, 4
0001b 83 c0 01 add eax, 1
0001e 89 45 14 mov DWORD PTR _nSrcLength$[ebp], eax
$LN2@ConvertToB:
; 791 : // nLen is in wchar_ts
; 792 : Checked::wmemcpy_s(pszDest, nDestLength, pszSrc, nSrcLength);
00021 8b 45 14 mov eax, DWORD PTR _nSrcLength$[ebp]
00024 50 push eax
00025 8b 4d 10 mov ecx, DWORD PTR _pszSrc$[ebp]
00028 51 push ecx
00029 8b 55 0c mov edx, DWORD PTR _nDestLength$[ebp]
0002c 52 push edx
0002d 8b 45 08 mov eax, DWORD PTR _pszDest$[ebp]
00030 50 push eax
00031 e8 00 00 00 00 call ?wmemcpy_s@Checked@ATL@@YAXPA_WIPB_WI@Z ; ATL::Checked::wmemcpy_s
00036 83 c4 10 add esp, 16 ; 00000010H
; 793 : }
00039 5f pop edi
0003a 5e pop esi
0003b 5b pop ebx
0003c 8b e5 mov esp, ebp
0003e 5d pop ebp
0003f c3 ret 0
?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z
_TEXT SEGMENT
_pszSrc$ = 8 ; size = 4
_nLength$ = 12 ; size = 4
?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z PROC ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength, COMDAT
; 768 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 769 : (void)pszSrc;
; 770 : // Returns required buffer size in wchar_ts
; 771 : return nLength;
00009 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
; 772 : }
0000c 5f pop edi
0000d 5e pop esi
0000e 5b pop ebx
0000f 8b e5 mov esp, ebp
00011 5d pop ebp
00012 c3 ret 0
?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z
_TEXT SEGMENT
__$EHRec$ = -12 ; size = 12
_pszSrc$ = 8 ; size = 4
?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z PROC ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength, COMDAT
; 760 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 40 sub esp, 64 ; 00000040H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 761 : // Returns required buffer size in wchar_ts
; 762 : return AtlStrLen( pszSrc );
00028 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
0002b 50 push eax
0002c e8 00 00 00 00 call ?AtlStrLen@ATL@@YAHPB_W@Z ; ATL::AtlStrLen
00031 83 c4 04 add esp, 4
; 763 : }
00034 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00037 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0003e 59 pop ecx
0003f 5f pop edi
00040 5e pop esi
00041 5b pop ebx
00042 8b e5 mov esp, ebp
00044 5d pop ebp
00045 c3 ret 0
00046 cc int 3
00047 cc int 3
00048 cc int 3
00049 cc int 3
0004a cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z
_TEXT SEGMENT
tv74 = -84 ; size = 4
_result$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_pszBuffer$ = 8 ; size = 4
_nLength$ = 12 ; size = 4
_pszFormat$ = 16 ; size = 4
_args$ = 20 ; size = 4
?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z PROC ; ATL::ChTraitsCRT<wchar_t>::Format, COMDAT
; 728 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 48 sub esp, 72 ; 00000048H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 729 : #if _MSC_VER < 1900
; 730 : return vswprintf_s(pszBuffer, nLength, pszFormat, args);
; 731 : #else
; 732 : // Explicitly request the legacy wide format specifiers mode from the CRT,
; 733 : // for compatibility with previous versions. While the CRT supports two
; 734 : // modes, the ATL and MFC functions that accept format strings only support
; 735 : // legacy mode format strings.
; 736 : int const result = __stdio_common_vswprintf_s(
00028 8b 45 14 mov eax, DWORD PTR _args$[ebp]
0002b 50 push eax
0002c 6a 00 push 0
0002e 8b 4d 10 mov ecx, DWORD PTR _pszFormat$[ebp]
00031 51 push ecx
00032 8b 55 0c mov edx, DWORD PTR _nLength$[ebp]
00035 52 push edx
00036 8b 45 08 mov eax, DWORD PTR _pszBuffer$[ebp]
00039 50 push eax
0003a e8 00 00 00 00 call ___local_stdio_printf_options
0003f 8b 08 mov ecx, DWORD PTR [eax]
00041 83 c9 04 or ecx, 4
00044 8b 50 04 mov edx, DWORD PTR [eax+4]
00047 52 push edx
00048 51 push ecx
00049 e8 00 00 00 00 call ___stdio_common_vswprintf_s
0004e 83 c4 1c add esp, 28 ; 0000001cH
00051 89 45 f0 mov DWORD PTR _result$[ebp], eax
; 737 : _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS |
; 738 : _CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS,
; 739 : pszBuffer, nLength, pszFormat, NULL, args);
; 740 :
; 741 : return result < 0 ? -1 : result;
00054 83 7d f0 00 cmp DWORD PTR _result$[ebp], 0
00058 7d 09 jge SHORT $LN3@Format
0005a c7 45 ac ff ff
ff ff mov DWORD PTR tv74[ebp], -1
00061 eb 06 jmp SHORT $LN4@Format
$LN3@Format:
00063 8b 45 f0 mov eax, DWORD PTR _result$[ebp]
00066 89 45 ac mov DWORD PTR tv74[ebp], eax
$LN4@Format:
00069 8b 45 ac mov eax, DWORD PTR tv74[ebp]
; 742 : #endif
; 743 : }
0006c 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0006f 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00076 59 pop ecx
00077 5f pop edi
00078 5e pop esi
00079 5b pop ebx
0007a 8b e5 mov esp, ebp
0007c 5d pop ebp
0007d c3 ret 0
0007e cc int 3
0007f cc int 3
00080 cc int 3
00081 cc int 3
00082 cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a a8 mov ecx, DWORD PTR [edx-88]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::Format
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z
_TEXT SEGMENT
tv75 = -84 ; size = 4
_result$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_pszFormat$ = 8 ; size = 4
_args$ = 12 ; size = 4
?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z PROC ; ATL::ChTraitsCRT<wchar_t>::GetFormattedLength, COMDAT
; 682 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 48 sub esp, 72 ; 00000048H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 683 : #if _MSC_VER < 1900
; 684 : return _vscwprintf(pszFormat, args);
; 685 : #else
; 686 : // Explicitly request the legacy wide format specifiers mode from the CRT,
; 687 : // for compatibility with previous versions. While the CRT supports two
; 688 : // modes, the ATL and MFC functions that accept format strings only support
; 689 : // legacy mode format strings.
; 690 : int const result = __stdio_common_vswprintf(
00028 8b 45 0c mov eax, DWORD PTR _args$[ebp]
0002b 50 push eax
0002c 6a 00 push 0
0002e 8b 4d 08 mov ecx, DWORD PTR _pszFormat$[ebp]
00031 51 push ecx
00032 6a 00 push 0
00034 6a 00 push 0
00036 e8 00 00 00 00 call ___local_stdio_printf_options
0003b 8b 10 mov edx, DWORD PTR [eax]
0003d 83 ca 02 or edx, 2
00040 8b 40 04 mov eax, DWORD PTR [eax+4]
00043 83 ca 04 or edx, 4
00046 50 push eax
00047 52 push edx
00048 e8 00 00 00 00 call ___stdio_common_vswprintf
0004d 83 c4 1c add esp, 28 ; 0000001cH
00050 89 45 f0 mov DWORD PTR _result$[ebp], eax
; 691 : _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS |
; 692 : _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR |
; 693 : _CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS,
; 694 : NULL, 0, pszFormat, NULL, args);
; 695 :
; 696 : return result < 0 ? -1 : result;
00053 83 7d f0 00 cmp DWORD PTR _result$[ebp], 0
00057 7d 09 jge SHORT $LN3@GetFormatt
00059 c7 45 ac ff ff
ff ff mov DWORD PTR tv75[ebp], -1
00060 eb 06 jmp SHORT $LN4@GetFormatt
$LN3@GetFormatt:
00062 8b 45 f0 mov eax, DWORD PTR _result$[ebp]
00065 89 45 ac mov DWORD PTR tv75[ebp], eax
$LN4@GetFormatt:
00068 8b 45 ac mov eax, DWORD PTR tv75[ebp]
; 697 : #endif
; 698 : }
0006b 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0006e 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00075 59 pop ecx
00076 5f pop edi
00077 5e pop esi
00078 5b pop ebx
00079 8b e5 mov esp, ebp
0007b 5d pop ebp
0007c c3 ret 0
0007d cc int 3
0007e cc int 3
0007f cc int 3
00080 cc int 3
00081 cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a a8 mov ecx, DWORD PTR [edx-88]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::GetFormattedLength
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?StringUppercase@?$ChTraitsCRT@_W@ATL@@SAPA_WPA_WI@Z
_TEXT SEGMENT
tv68 = -84 ; size = 4
_err$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_psz$ = 8 ; size = 4
_size$ = 12 ; size = 4
?StringUppercase@?$ChTraitsCRT@_W@ATL@@SAPA_WPA_WI@Z PROC ; ATL::ChTraitsCRT<wchar_t>::StringUppercase, COMDAT
; 662 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?StringUppercase@?$ChTraitsCRT@_W@ATL@@SAPA_WPA_WI@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 48 sub esp, 72 ; 00000048H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 663 : errno_t err = _wcsupr_s( psz, size );
00028 8b 45 0c mov eax, DWORD PTR _size$[ebp]
0002b 50 push eax
0002c 8b 4d 08 mov ecx, DWORD PTR _psz$[ebp]
0002f 51 push ecx
00030 e8 00 00 00 00 call __wcsupr_s
00035 83 c4 08 add esp, 8
00038 89 45 f0 mov DWORD PTR _err$[ebp], eax
; 664 : return (err == 0) ? psz : NULL;
0003b 83 7d f0 00 cmp DWORD PTR _err$[ebp], 0
0003f 75 08 jne SHORT $LN3@StringUppe
00041 8b 45 08 mov eax, DWORD PTR _psz$[ebp]
00044 89 45 ac mov DWORD PTR tv68[ebp], eax
00047 eb 07 jmp SHORT $LN4@StringUppe
$LN3@StringUppe:
00049 c7 45 ac 00 00
00 00 mov DWORD PTR tv68[ebp], 0
$LN4@StringUppe:
00050 8b 45 ac mov eax, DWORD PTR tv68[ebp]
; 665 : }
00053 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00056 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0005d 59 pop ecx
0005e 5f pop edi
0005f 5e pop esi
00060 5b pop ebx
00061 8b e5 mov esp, ebp
00063 5d pop ebp
00064 c3 ret 0
00065 cc int 3
00066 cc int 3
00067 cc int 3
00068 cc int 3
00069 cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?StringUppercase@?$ChTraitsCRT@_W@ATL@@SAPA_WPA_WI@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a a8 mov ecx, DWORD PTR [edx-88]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?StringUppercase@?$ChTraitsCRT@_W@ATL@@SAPA_WPA_WI@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?StringUppercase@?$ChTraitsCRT@_W@ATL@@SAPA_WPA_WI@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::StringUppercase
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?StringScanSet@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z
_TEXT SEGMENT
__$EHRec$ = -12 ; size = 12
_pszBlock$ = 8 ; size = 4
_pszMatch$ = 12 ; size = 4
?StringScanSet@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z PROC ; ATL::ChTraitsCRT<wchar_t>::StringScanSet, COMDAT
; 623 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?StringScanSet@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 40 sub esp, 64 ; 00000040H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 624 : return wcspbrk( pszBlock, pszMatch );
00028 8b 45 0c mov eax, DWORD PTR _pszMatch$[ebp]
0002b 50 push eax
0002c 8b 4d 08 mov ecx, DWORD PTR _pszBlock$[ebp]
0002f 51 push ecx
00030 e8 00 00 00 00 call _wcspbrk
00035 83 c4 08 add esp, 8
; 625 : }
00038 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0003b 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00042 59 pop ecx
00043 5f pop edi
00044 5e pop esi
00045 5b pop ebx
00046 8b e5 mov esp, ebp
00048 5d pop ebp
00049 c3 ret 0
0004a cc int 3
0004b cc int 3
0004c cc int 3
0004d cc int 3
0004e cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?StringScanSet@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?StringScanSet@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?StringScanSet@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::StringScanSet
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?StringFindChar@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z
_TEXT SEGMENT
__$EHRec$ = -12 ; size = 12
_pszBlock$ = 8 ; size = 4
_chMatch$ = 12 ; size = 2
?StringFindChar@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z PROC ; ATL::ChTraitsCRT<wchar_t>::StringFindChar, COMDAT
; 609 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?StringFindChar@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 40 sub esp, 64 ; 00000040H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 610 : return wcschr( pszBlock, chMatch );
00028 0f b7 45 0c movzx eax, WORD PTR _chMatch$[ebp]
0002c 50 push eax
0002d 8b 4d 08 mov ecx, DWORD PTR _pszBlock$[ebp]
00030 51 push ecx
00031 e8 00 00 00 00 call _wcschr
00036 83 c4 08 add esp, 8
; 611 : }
00039 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0003c 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00043 59 pop ecx
00044 5f pop edi
00045 5e pop esi
00046 5b pop ebx
00047 8b e5 mov esp, ebp
00049 5d pop ebp
0004a c3 ret 0
0004b cc int 3
0004c cc int 3
0004d cc int 3
0004e cc int 3
0004f cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?StringFindChar@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?StringFindChar@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?StringFindChar@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::StringFindChar
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPA_WPA_WPB_W@Z
_TEXT SEGMENT
_pszBlock$ = 8 ; size = 4
_pszMatch$ = 12 ; size = 4
?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPA_WPA_WPB_W@Z PROC ; ATL::ChTraitsCRT<wchar_t>::StringFindString, COMDAT
; 602 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 603 : return( const_cast< LPWSTR >( StringFindString( const_cast< LPCWSTR >( pszBlock ), pszMatch ) ) );
00009 8b 45 0c mov eax, DWORD PTR _pszMatch$[ebp]
0000c 50 push eax
0000d 8b 4d 08 mov ecx, DWORD PTR _pszBlock$[ebp]
00010 51 push ecx
00011 e8 00 00 00 00 call ?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z ; ATL::ChTraitsCRT<wchar_t>::StringFindString
00016 83 c4 08 add esp, 8
; 604 : }
00019 5f pop edi
0001a 5e pop esi
0001b 5b pop ebx
0001c 8b e5 mov esp, ebp
0001e 5d pop ebp
0001f c3 ret 0
?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPA_WPA_WPB_W@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::StringFindString
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z
_TEXT SEGMENT
__$EHRec$ = -12 ; size = 12
_pszBlock$ = 8 ; size = 4
_pszMatch$ = 12 ; size = 4
?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z PROC ; ATL::ChTraitsCRT<wchar_t>::StringFindString, COMDAT
; 595 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 40 sub esp, 64 ; 00000040H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 596 : return wcsstr( pszBlock, pszMatch );
00028 8b 45 0c mov eax, DWORD PTR _pszMatch$[ebp]
0002b 50 push eax
0002c 8b 4d 08 mov ecx, DWORD PTR _pszBlock$[ebp]
0002f 51 push ecx
00030 e8 00 00 00 00 call _wcsstr
00035 83 c4 08 add esp, 8
; 597 : }
00038 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0003b 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00042 59 pop ecx
00043 5f pop edi
00044 5e pop esi
00045 5b pop ebx
00046 8b e5 mov esp, ebp
00048 5d pop ebp
00049 c3 ret 0
0004a cc int 3
0004b cc int 3
0004c cc int 3
0004d cc int 3
0004e cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::StringFindString
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?IsSpace@?$ChTraitsCRT@_W@ATL@@SAH_W@Z
_TEXT SEGMENT
__$EHRec$ = -12 ; size = 12
_ch$ = 8 ; size = 2
?IsSpace@?$ChTraitsCRT@_W@ATL@@SAH_W@Z PROC ; ATL::ChTraitsCRT<wchar_t>::IsSpace, COMDAT
; 560 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?IsSpace@?$ChTraitsCRT@_W@ATL@@SAH_W@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 40 sub esp, 64 ; 00000040H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 561 : return iswspace( static_cast<unsigned short>(ch) );
00028 0f b7 45 08 movzx eax, WORD PTR _ch$[ebp]
0002c 50 push eax
0002d e8 00 00 00 00 call _iswspace
00032 83 c4 04 add esp, 4
; 562 : }
00035 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00038 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0003f 59 pop ecx
00040 5f pop edi
00041 5e pop esi
00042 5b pop ebx
00043 8b e5 mov esp, ebp
00045 5d pop ebp
00046 c3 ret 0
00047 cc int 3
00048 cc int 3
00049 cc int 3
0004a cc int 3
0004b cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?IsSpace@?$ChTraitsCRT@_W@ATL@@SAH_W@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?IsSpace@?$ChTraitsCRT@_W@ATL@@SAH_W@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?IsSpace@?$ChTraitsCRT@_W@ATL@@SAH_W@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::IsSpace
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?CharNextW@?$ChTraitsCRT@_W@ATL@@SAPA_WPB_W@Z
_TEXT SEGMENT
_psz$ = 8 ; size = 4
?CharNextW@?$ChTraitsCRT@_W@ATL@@SAPA_WPB_W@Z PROC ; ATL::ChTraitsCRT<wchar_t>::CharNextW, COMDAT
; 550 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 551 : return const_cast< LPWSTR >( psz+1 );
00009 8b 45 08 mov eax, DWORD PTR _psz$[ebp]
0000c 83 c0 02 add eax, 2
; 552 : }
0000f 5f pop edi
00010 5e pop esi
00011 5b pop ebx
00012 8b e5 mov esp, ebp
00014 5d pop ebp
00015 c3 ret 0
?CharNextW@?$ChTraitsCRT@_W@ATL@@SAPA_WPB_W@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::CharNextW
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?Release@CStringData@ATL@@QAEXXZ
_TEXT SEGMENT
tv79 = -76 ; size = 4
tv77 = -72 ; size = 4
_this$ = -4 ; size = 4
?Release@CStringData@ATL@@QAEXXZ PROC ; ATL::CStringData::Release, COMDAT
; _this$ = ecx
; 85 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 4c sub esp, 76 ; 0000004cH
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 86 : ATLASSERT( nRefs != 0 );
; 87 :
; 88 : if( _InterlockedDecrement( &nRefs ) <= 0 )
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 83 c0 0c add eax, 12 ; 0000000cH
00012 83 c9 ff or ecx, -1
00015 f0 0f c1 08 lock xadd DWORD PTR [eax], ecx
00019 49 dec ecx
0001a 85 c9 test ecx, ecx
0001c 7f 1f jg SHORT $LN1@Release
; 89 : {
; 90 : pStringMgr->Free( this );
0001e 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00021 8b 08 mov ecx, DWORD PTR [eax]
00023 89 4d b8 mov DWORD PTR tv77[ebp], ecx
00026 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00029 8b 02 mov eax, DWORD PTR [edx]
0002b 8b 08 mov ecx, DWORD PTR [eax]
0002d 8b 51 04 mov edx, DWORD PTR [ecx+4]
00030 89 55 b4 mov DWORD PTR tv79[ebp], edx
00033 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00036 50 push eax
00037 8b 4d b8 mov ecx, DWORD PTR tv77[ebp]
0003a ff 55 b4 call DWORD PTR tv79[ebp]
$LN1@Release:
; 91 : }
; 92 : }
0003d 5f pop edi
0003e 5e pop esi
0003f 5b pop ebx
00040 8b e5 mov esp, ebp
00042 5d pop ebp
00043 c3 ret 0
?Release@CStringData@ATL@@QAEXXZ ENDP ; ATL::CStringData::Release
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?IsShared@CStringData@ATL@@QBE_NXZ
_TEXT SEGMENT
tv66 = -72 ; size = 4
_this$ = -4 ; size = 4
?IsShared@CStringData@ATL@@QBE_NXZ PROC ; ATL::CStringData::IsShared, COMDAT
; _this$ = ecx
; 72 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 73 : return( nRefs > 1 );
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 83 78 0c 01 cmp DWORD PTR [eax+12], 1
00013 7e 09 jle SHORT $LN3@IsShared
00015 c7 45 b8 01 00
00 00 mov DWORD PTR tv66[ebp], 1
0001c eb 07 jmp SHORT $LN4@IsShared
$LN3@IsShared:
0001e c7 45 b8 00 00
00 00 mov DWORD PTR tv66[ebp], 0
$LN4@IsShared:
00025 8a 45 b8 mov al, BYTE PTR tv66[ebp]
; 74 : }
00028 5f pop edi
00029 5e pop esi
0002a 5b pop ebx
0002b 8b e5 mov esp, ebp
0002d 5d pop ebp
0002e c3 ret 0
?IsShared@CStringData@ATL@@QBE_NXZ ENDP ; ATL::CStringData::IsShared
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?IsLocked@CStringData@ATL@@QBE_NXZ
_TEXT SEGMENT
tv66 = -72 ; size = 4
_this$ = -4 ; size = 4
?IsLocked@CStringData@ATL@@QBE_NXZ PROC ; ATL::CStringData::IsLocked, COMDAT
; _this$ = ecx
; 68 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 69 : return nRefs < 0;
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 83 78 0c 00 cmp DWORD PTR [eax+12], 0
00013 7d 09 jge SHORT $LN3@IsLocked
00015 c7 45 b8 01 00
00 00 mov DWORD PTR tv66[ebp], 1
0001c eb 07 jmp SHORT $LN4@IsLocked
$LN3@IsLocked:
0001e c7 45 b8 00 00
00 00 mov DWORD PTR tv66[ebp], 0
$LN4@IsLocked:
00025 8a 45 b8 mov al, BYTE PTR tv66[ebp]
; 70 : }
00028 5f pop edi
00029 5e pop esi
0002a 5b pop ebx
0002b 8b e5 mov esp, ebp
0002d 5d pop ebp
0002e c3 ret 0
?IsLocked@CStringData@ATL@@QBE_NXZ ENDP ; ATL::CStringData::IsLocked
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?AddRef@CStringData@ATL@@QAEXXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?AddRef@CStringData@ATL@@QAEXXZ PROC ; ATL::CStringData::AddRef, COMDAT
; _this$ = ecx
; 63 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 64 : ATLASSERT(nRefs > 0);
; 65 : _InterlockedIncrement(&nRefs);
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 83 c0 0c add eax, 12 ; 0000000cH
00012 f0 ff 00 lock inc DWORD PTR [eax]
; 66 : }
00015 5f pop edi
00016 5e pop esi
00017 5b pop ebx
00018 8b e5 mov esp, ebp
0001a 5d pop ebp
0001b c3 ret 0
?AddRef@CStringData@ATL@@QAEXXZ ENDP ; ATL::CStringData::AddRef
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?data@CStringData@ATL@@QAEPAXXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?data@CStringData@ATL@@QAEPAXXZ PROC ; ATL::CStringData::data, COMDAT
; _this$ = ecx
; 58 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 59 : return (this+1);
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 83 c0 10 add eax, 16 ; 00000010H
; 60 : }
00012 5f pop edi
00013 5e pop esi
00014 5b pop ebx
00015 8b e5 mov esp, ebp
00017 5d pop ebp
00018 c3 ret 0
?data@CStringData@ATL@@QAEPAXXZ ENDP ; ATL::CStringData::data
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlalloc.h
; COMDAT ??$AtlAdd@H@ATL@@YAJPAHHH@Z
_TEXT SEGMENT
_ptResult$ = 8 ; size = 4
_tLeft$ = 12 ; size = 4
_tRight$ = 16 ; size = 4
??$AtlAdd@H@ATL@@YAJPAHHH@Z PROC ; ATL::AtlAdd<int>, COMDAT
; 84 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 85 : if(::ATL::AtlLimits<T>::_Max-tLeft < tRight)
00009 b8 ff ff ff 7f mov eax, 2147483647 ; 7fffffffH
0000e 2b 45 0c sub eax, DWORD PTR _tLeft$[ebp]
00011 3b 45 10 cmp eax, DWORD PTR _tRight$[ebp]
00014 7d 0f jge SHORT $LN2@AtlAdd
; 86 : {
; 87 : return HRESULT_FROM_WIN32(ERROR_ARITHMETIC_OVERFLOW);
00016 68 16 02 00 00 push 534 ; 00000216H
0001b e8 00 00 00 00 call _HRESULT_FROM_WIN32
00020 83 c4 04 add esp, 4
00023 eb 0d jmp SHORT $LN1@AtlAdd
$LN2@AtlAdd:
; 88 : }
; 89 : *ptResult= tLeft + tRight;
00025 8b 45 0c mov eax, DWORD PTR _tLeft$[ebp]
00028 03 45 10 add eax, DWORD PTR _tRight$[ebp]
0002b 8b 4d 08 mov ecx, DWORD PTR _ptResult$[ebp]
0002e 89 01 mov DWORD PTR [ecx], eax
; 90 : return S_OK;
00030 33 c0 xor eax, eax
$LN1@AtlAdd:
; 91 : }
00032 5f pop edi
00033 5e pop esi
00034 5b pop ebx
00035 8b e5 mov esp, ebp
00037 5d pop ebp
00038 c3 ret 0
??$AtlAdd@H@ATL@@YAJPAHHH@Z ENDP ; ATL::AtlAdd<int>
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlcore.h
; COMDAT ?AtlConvertSystemTimeToVariantTime@ATL@@YAHABU_SYSTEMTIME@@PAN@Z
_TEXT SEGMENT
tv139 = -96 ; size = 4
tv81 = -96 ; size = 4
tv65 = -96 ; size = 4
_sysTime$ = -28 ; size = 16
_ok$ = -12 ; size = 4
___atl_condVal$1 = -8 ; size = 4
__$ArrayPad$ = -4 ; size = 4
_systimeSrc$ = 8 ; size = 4
_pVarDtTm$ = 12 ; size = 4
?AtlConvertSystemTimeToVariantTime@ATL@@YAHABU_SYSTEMTIME@@PAN@Z PROC ; ATL::AtlConvertSystemTimeToVariantTime, COMDAT
; 627 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 60 sub esp, 96 ; 00000060H
00006 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0000b 33 c5 xor eax, ebp
0000d 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax
00010 53 push ebx
00011 56 push esi
00012 57 push edi
$LN4@AtlConvert:
; 628 : ATLENSURE(pVarDtTm!=NULL);
00013 83 7d 0c 00 cmp DWORD PTR _pVarDtTm$[ebp], 0
00017 74 09 je SHORT $LN10@AtlConvert
00019 c7 45 a0 01 00
00 00 mov DWORD PTR tv65[ebp], 1
00020 eb 07 jmp SHORT $LN11@AtlConvert
$LN10@AtlConvert:
00022 c7 45 a0 00 00
00 00 mov DWORD PTR tv65[ebp], 0
$LN11@AtlConvert:
00029 8b 45 a0 mov eax, DWORD PTR tv65[ebp]
0002c 89 45 f8 mov DWORD PTR ___atl_condVal$1[ebp], eax
$LN7@AtlConvert:
0002f 33 c0 xor eax, eax
00031 75 fc jne SHORT $LN7@AtlConvert
00033 83 7d f8 00 cmp DWORD PTR ___atl_condVal$1[ebp], 0
00037 75 0a jne SHORT $LN8@AtlConvert
00039 68 05 40 00 80 push -2147467259 ; 80004005H
0003e e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN8@AtlConvert:
00043 33 c0 xor eax, eax
00045 75 cc jne SHORT $LN4@AtlConvert
; 629 : //Convert using ::SystemTimeToVariantTime and store the result in pVarDtTm then
; 630 : //convert variant time back to system time and compare to original system time.
; 631 : BOOL ok = ::SystemTimeToVariantTime(const_cast<SYSTEMTIME*>(&systimeSrc), pVarDtTm);
00047 8b 45 0c mov eax, DWORD PTR _pVarDtTm$[ebp]
0004a 50 push eax
0004b 8b 4d 08 mov ecx, DWORD PTR _systimeSrc$[ebp]
0004e 51 push ecx
0004f ff 15 00 00 00
00 call DWORD PTR __imp__SystemTimeToVariantTime@8
00055 89 45 f4 mov DWORD PTR _ok$[ebp], eax
; 632 : SYSTEMTIME sysTime;
; 633 : ::ZeroMemory(&sysTime, sizeof(SYSTEMTIME));
00058 6a 10 push 16 ; 00000010H
0005a 6a 00 push 0
0005c 8d 45 e4 lea eax, DWORD PTR _sysTime$[ebp]
0005f 50 push eax
00060 e8 00 00 00 00 call _memset
00065 83 c4 0c add esp, 12 ; 0000000cH
; 634 :
; 635 : ok = ok && ::VariantTimeToSystemTime(*pVarDtTm, &sysTime);
00068 83 7d f4 00 cmp DWORD PTR _ok$[ebp], 0
0006c 74 26 je SHORT $LN12@AtlConvert
0006e 8d 45 e4 lea eax, DWORD PTR _sysTime$[ebp]
00071 50 push eax
00072 8b 4d 0c mov ecx, DWORD PTR _pVarDtTm$[ebp]
00075 83 ec 08 sub esp, 8
00078 f2 0f 10 01 movsd xmm0, QWORD PTR [ecx]
0007c f2 0f 11 04 24 movsd QWORD PTR [esp], xmm0
00081 ff 15 00 00 00
00 call DWORD PTR __imp__VariantTimeToSystemTime@12
00087 85 c0 test eax, eax
00089 74 09 je SHORT $LN12@AtlConvert
0008b c7 45 a0 01 00
00 00 mov DWORD PTR tv81[ebp], 1
00092 eb 07 jmp SHORT $LN13@AtlConvert
$LN12@AtlConvert:
00094 c7 45 a0 00 00
00 00 mov DWORD PTR tv81[ebp], 0
$LN13@AtlConvert:
0009b 8b 55 a0 mov edx, DWORD PTR tv81[ebp]
0009e 89 55 f4 mov DWORD PTR _ok$[ebp], edx
; 636 : ok = ok && (systimeSrc.wYear == sysTime.wYear &&
000a1 83 7d f4 00 cmp DWORD PTR _ok$[ebp], 0
000a5 74 62 je SHORT $LN14@AtlConvert
000a7 8b 45 08 mov eax, DWORD PTR _systimeSrc$[ebp]
000aa 0f b7 08 movzx ecx, WORD PTR [eax]
000ad 0f b7 55 e4 movzx edx, WORD PTR _sysTime$[ebp]
000b1 3b ca cmp ecx, edx
000b3 75 54 jne SHORT $LN14@AtlConvert
000b5 8b 45 08 mov eax, DWORD PTR _systimeSrc$[ebp]
000b8 0f b7 48 02 movzx ecx, WORD PTR [eax+2]
000bc 0f b7 55 e6 movzx edx, WORD PTR _sysTime$[ebp+2]
000c0 3b ca cmp ecx, edx
000c2 75 45 jne SHORT $LN14@AtlConvert
000c4 8b 45 08 mov eax, DWORD PTR _systimeSrc$[ebp]
000c7 0f b7 48 06 movzx ecx, WORD PTR [eax+6]
000cb 0f b7 55 ea movzx edx, WORD PTR _sysTime$[ebp+6]
000cf 3b ca cmp ecx, edx
000d1 75 36 jne SHORT $LN14@AtlConvert
000d3 8b 45 08 mov eax, DWORD PTR _systimeSrc$[ebp]
000d6 0f b7 48 08 movzx ecx, WORD PTR [eax+8]
000da 0f b7 55 ec movzx edx, WORD PTR _sysTime$[ebp+8]
000de 3b ca cmp ecx, edx
000e0 75 27 jne SHORT $LN14@AtlConvert
000e2 8b 45 08 mov eax, DWORD PTR _systimeSrc$[ebp]
000e5 0f b7 48 0a movzx ecx, WORD PTR [eax+10]
000e9 0f b7 55 ee movzx edx, WORD PTR _sysTime$[ebp+10]
000ed 3b ca cmp ecx, edx
000ef 75 18 jne SHORT $LN14@AtlConvert
000f1 8b 45 08 mov eax, DWORD PTR _systimeSrc$[ebp]
000f4 0f b7 48 0c movzx ecx, WORD PTR [eax+12]
000f8 0f b7 55 f0 movzx edx, WORD PTR _sysTime$[ebp+12]
000fc 3b ca cmp ecx, edx
000fe 75 09 jne SHORT $LN14@AtlConvert
00100 c7 45 a0 01 00
00 00 mov DWORD PTR tv139[ebp], 1
00107 eb 07 jmp SHORT $LN15@AtlConvert
$LN14@AtlConvert:
00109 c7 45 a0 00 00
00 00 mov DWORD PTR tv139[ebp], 0
$LN15@AtlConvert:
00110 8b 45 a0 mov eax, DWORD PTR tv139[ebp]
00113 89 45 f4 mov DWORD PTR _ok$[ebp], eax
; 637 : systimeSrc.wMonth == sysTime.wMonth &&
; 638 : systimeSrc.wDay == sysTime.wDay &&
; 639 : systimeSrc.wHour == sysTime.wHour &&
; 640 : systimeSrc.wMinute == sysTime.wMinute &&
; 641 : systimeSrc.wSecond == sysTime.wSecond);
; 642 :
; 643 : return ok;
00116 8b 45 f4 mov eax, DWORD PTR _ok$[ebp]
$LN1@AtlConvert:
; 644 : }
00119 5f pop edi
0011a 5e pop esi
0011b 5b pop ebx
0011c 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp]
0011f 33 cd xor ecx, ebp
00121 e8 00 00 00 00 call @__security_check_cookie@4
00126 8b e5 mov esp, ebp
00128 5d pop ebp
00129 c3 ret 0
?AtlConvertSystemTimeToVariantTime@ATL@@YAHABU_SYSTEMTIME@@PAN@Z ENDP ; ATL::AtlConvertSystemTimeToVariantTime
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlcore.h
; COMDAT ?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z
_TEXT SEGMENT
_hResource$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_hInstance$ = 8 ; size = 4
_id$ = 12 ; size = 4
?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z PROC ; ATL::AtlGetStringResourceImage, COMDAT
; 370 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 44 sub esp, 68 ; 00000044H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 371 : HRSRC hResource;
; 372 : /*
; 373 : The and operation (& static_cast<WORD>(~0)) protects the expression from being greater
; 374 : than WORD - this would cause a runtime error when the application is compiled with /RTCc flag.
; 375 : */
; 376 : hResource = ::FindResourceW(hInstance, MAKEINTRESOURCEW( (((id>>4)+1) & static_cast<WORD>(~0)) ), (LPWSTR) RT_STRING);
00028 6a 06 push 6
0002a 8b 45 0c mov eax, DWORD PTR _id$[ebp]
0002d c1 e8 04 shr eax, 4
00030 83 c0 01 add eax, 1
00033 25 ff ff 00 00 and eax, 65535 ; 0000ffffH
00038 0f b7 c8 movzx ecx, ax
0003b 51 push ecx
0003c 8b 55 08 mov edx, DWORD PTR _hInstance$[ebp]
0003f 52 push edx
00040 ff 15 00 00 00
00 call DWORD PTR __imp__FindResourceW@12
00046 89 45 f0 mov DWORD PTR _hResource$[ebp], eax
; 377 : if( hResource == NULL )
00049 83 7d f0 00 cmp DWORD PTR _hResource$[ebp], 0
0004d 75 04 jne SHORT $LN2@AtlGetStri
; 378 : {
; 379 : return( NULL );
0004f 33 c0 xor eax, eax
00051 eb 14 jmp SHORT $LN1@AtlGetStri
$LN2@AtlGetStri:
; 380 : }
; 381 :
; 382 : return _AtlGetStringResourceImage( hInstance, hResource, id );
00053 8b 45 0c mov eax, DWORD PTR _id$[ebp]
00056 50 push eax
00057 8b 4d f0 mov ecx, DWORD PTR _hResource$[ebp]
0005a 51 push ecx
0005b 8b 55 08 mov edx, DWORD PTR _hInstance$[ebp]
0005e 52 push edx
0005f e8 00 00 00 00 call ?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z ; ATL::_AtlGetStringResourceImage
00064 83 c4 0c add esp, 12 ; 0000000cH
$LN1@AtlGetStri:
; 383 : }
00067 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0006a 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00071 59 pop ecx
00072 5f pop edi
00073 5e pop esi
00074 5b pop ebx
00075 8b e5 mov esp, ebp
00077 5d pop ebp
00078 c3 ret 0
00079 cc int 3
0007a cc int 3
0007b cc int 3
0007c cc int 3
0007d cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a ac mov ecx, DWORD PTR [edx-84]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z ENDP ; ATL::AtlGetStringResourceImage
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlcore.h
; COMDAT ?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z
_TEXT SEGMENT
_iIndex$ = -32 ; size = 4
_hGlobal$ = -28 ; size = 4
_nResourceSize$ = -24 ; size = 4
_pImageEnd$ = -20 ; size = 4
_pImage$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_hInstance$ = 8 ; size = 4
_hResource$ = 12 ; size = 4
_id$ = 16 ; size = 4
?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z PROC ; ATL::_AtlGetStringResourceImage, COMDAT
; 327 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 54 sub esp, 84 ; 00000054H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 328 : const ATLSTRINGRESOURCEIMAGE* pImage;
; 329 : const ATLSTRINGRESOURCEIMAGE* pImageEnd;
; 330 : ULONG nResourceSize;
; 331 : HGLOBAL hGlobal;
; 332 : UINT iIndex;
; 333 :
; 334 : hGlobal = ::LoadResource( hInstance, hResource );
00028 8b 45 0c mov eax, DWORD PTR _hResource$[ebp]
0002b 50 push eax
0002c 8b 4d 08 mov ecx, DWORD PTR _hInstance$[ebp]
0002f 51 push ecx
00030 ff 15 00 00 00
00 call DWORD PTR __imp__LoadResource@8
00036 89 45 e4 mov DWORD PTR _hGlobal$[ebp], eax
; 335 : if( hGlobal == NULL )
00039 83 7d e4 00 cmp DWORD PTR _hGlobal$[ebp], 0
0003d 75 07 jne SHORT $LN4@AtlGetStri
; 336 : {
; 337 : return( NULL );
0003f 33 c0 xor eax, eax
00041 e9 80 00 00 00 jmp $LN1@AtlGetStri
$LN4@AtlGetStri:
; 338 : }
; 339 :
; 340 : pImage = (const ATLSTRINGRESOURCEIMAGE*)::LockResource( hGlobal );
00046 8b 45 e4 mov eax, DWORD PTR _hGlobal$[ebp]
00049 50 push eax
0004a ff 15 00 00 00
00 call DWORD PTR __imp__LockResource@4
00050 89 45 f0 mov DWORD PTR _pImage$[ebp], eax
; 341 : if( pImage == NULL )
00053 83 7d f0 00 cmp DWORD PTR _pImage$[ebp], 0
00057 75 04 jne SHORT $LN5@AtlGetStri
; 342 : {
; 343 : return( NULL );
00059 33 c0 xor eax, eax
0005b eb 69 jmp SHORT $LN1@AtlGetStri
$LN5@AtlGetStri:
; 344 : }
; 345 :
; 346 : nResourceSize = ::SizeofResource( hInstance, hResource );
0005d 8b 45 0c mov eax, DWORD PTR _hResource$[ebp]
00060 50 push eax
00061 8b 4d 08 mov ecx, DWORD PTR _hInstance$[ebp]
00064 51 push ecx
00065 ff 15 00 00 00
00 call DWORD PTR __imp__SizeofResource@8
0006b 89 45 e8 mov DWORD PTR _nResourceSize$[ebp], eax
; 347 : pImageEnd = (const ATLSTRINGRESOURCEIMAGE*)(LPBYTE( pImage )+nResourceSize);
0006e 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
00071 03 45 e8 add eax, DWORD PTR _nResourceSize$[ebp]
00074 89 45 ec mov DWORD PTR _pImageEnd$[ebp], eax
; 348 : iIndex = id&0x000f;
00077 8b 45 10 mov eax, DWORD PTR _id$[ebp]
0007a 83 e0 0f and eax, 15 ; 0000000fH
0007d 89 45 e0 mov DWORD PTR _iIndex$[ebp], eax
$LN2@AtlGetStri:
; 349 :
; 350 : while( (iIndex > 0) && (pImage < pImageEnd) )
00080 83 7d e0 00 cmp DWORD PTR _iIndex$[ebp], 0
00084 76 23 jbe SHORT $LN3@AtlGetStri
00086 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
00089 3b 45 ec cmp eax, DWORD PTR _pImageEnd$[ebp]
0008c 73 1b jae SHORT $LN3@AtlGetStri
; 351 : {
; 352 : pImage = (const ATLSTRINGRESOURCEIMAGE*)(LPBYTE( pImage )+(sizeof( ATLSTRINGRESOURCEIMAGE )+(pImage->nLength*sizeof( WCHAR ))));
0008e 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
00091 0f b7 08 movzx ecx, WORD PTR [eax]
00094 8b 55 f0 mov edx, DWORD PTR _pImage$[ebp]
00097 8d 44 4a 02 lea eax, DWORD PTR [edx+ecx*2+2]
0009b 89 45 f0 mov DWORD PTR _pImage$[ebp], eax
; 353 : iIndex--;
0009e 8b 45 e0 mov eax, DWORD PTR _iIndex$[ebp]
000a1 83 e8 01 sub eax, 1
000a4 89 45 e0 mov DWORD PTR _iIndex$[ebp], eax
; 354 : }
000a7 eb d7 jmp SHORT $LN2@AtlGetStri
$LN3@AtlGetStri:
; 355 : if( pImage >= pImageEnd )
000a9 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
000ac 3b 45 ec cmp eax, DWORD PTR _pImageEnd$[ebp]
000af 72 04 jb SHORT $LN6@AtlGetStri
; 356 : {
; 357 : return( NULL );
000b1 33 c0 xor eax, eax
000b3 eb 11 jmp SHORT $LN1@AtlGetStri
$LN6@AtlGetStri:
; 358 : }
; 359 : if( pImage->nLength == 0 )
000b5 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
000b8 0f b7 08 movzx ecx, WORD PTR [eax]
000bb 85 c9 test ecx, ecx
000bd 75 04 jne SHORT $LN7@AtlGetStri
; 360 : {
; 361 : return( NULL );
000bf 33 c0 xor eax, eax
000c1 eb 03 jmp SHORT $LN1@AtlGetStri
$LN7@AtlGetStri:
; 362 : }
; 363 :
; 364 : return( pImage );
000c3 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
$LN1@AtlGetStri:
; 365 : }
000c6 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
000c9 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
000d0 59 pop ecx
000d1 5f pop edi
000d2 5e pop esi
000d3 5b pop ebx
000d4 8b e5 mov esp, ebp
000d6 5d pop ebp
000d7 c3 ret 0
000d8 cc int 3
000d9 cc int 3
000da cc int 3
000db cc int 3
000dc cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a 9c mov ecx, DWORD PTR [edx-100]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z ENDP ; ATL::_AtlGetStringResourceImage
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlcore.h
; COMDAT ?AtlStrLen@ATL@@YAHPB_W@Z
_TEXT SEGMENT
_str$ = 8 ; size = 4
?AtlStrLen@ATL@@YAHPB_W@Z PROC ; ATL::AtlStrLen, COMDAT
; 60 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 61 : if (str == NULL)
00009 83 7d 08 00 cmp DWORD PTR _str$[ebp], 0
0000d 75 04 jne SHORT $LN2@AtlStrLen
; 62 : return 0;
0000f 33 c0 xor eax, eax
00011 eb 0c jmp SHORT $LN1@AtlStrLen
$LN2@AtlStrLen:
; 63 : return static_cast<int>(::wcslen(str));
00013 8b 45 08 mov eax, DWORD PTR _str$[ebp]
00016 50 push eax
00017 e8 00 00 00 00 call _wcslen
0001c 83 c4 04 add esp, 4
$LN1@AtlStrLen:
; 64 : }
0001f 5f pop edi
00020 5e pop esi
00021 5b pop ebx
00022 8b e5 mov esp, ebp
00024 5d pop ebp
00025 c3 ret 0
?AtlStrLen@ATL@@YAHPB_W@Z ENDP ; ATL::AtlStrLen
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlchecked.h
; COMDAT ?memmove_s@Checked@ATL@@YAXPAXIPBXI@Z
_TEXT SEGMENT
__S1$ = 8 ; size = 4
__S1max$ = 12 ; size = 4
__S2$ = 16 ; size = 4
__N$ = 20 ; size = 4
?memmove_s@Checked@ATL@@YAXPAXIPBXI@Z PROC ; ATL::Checked::memmove_s, COMDAT
; 86 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 87 : ATLMFC_CRT_ERRORCHECK(::memmove_s(_S1, _S1max, _S2, _N));
00009 8b 45 14 mov eax, DWORD PTR __N$[ebp]
0000c 50 push eax
0000d 8b 4d 10 mov ecx, DWORD PTR __S2$[ebp]
00010 51 push ecx
00011 8b 55 0c mov edx, DWORD PTR __S1max$[ebp]
00014 52 push edx
00015 8b 45 08 mov eax, DWORD PTR __S1$[ebp]
00018 50 push eax
00019 e8 00 00 00 00 call _memmove_s
0001e 83 c4 10 add esp, 16 ; 00000010H
00021 50 push eax
00022 e8 00 00 00 00 call ?AfxCrtErrorCheck@@YAHH@Z ; AfxCrtErrorCheck
00027 83 c4 04 add esp, 4
; 88 : }
0002a 5f pop edi
0002b 5e pop esi
0002c 5b pop ebx
0002d 8b e5 mov esp, ebp
0002f 5d pop ebp
00030 c3 ret 0
?memmove_s@Checked@ATL@@YAXPAXIPBXI@Z ENDP ; ATL::Checked::memmove_s
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlchecked.h
; COMDAT ?wmemcpy_s@Checked@ATL@@YAXPA_WIPB_WI@Z
_TEXT SEGMENT
__S1$ = 8 ; size = 4
__N1$ = 12 ; size = 4
__S2$ = 16 ; size = 4
__N$ = 20 ; size = 4
?wmemcpy_s@Checked@ATL@@YAXPA_WIPB_WI@Z PROC ; ATL::Checked::wmemcpy_s, COMDAT
; 77 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 78 : ATLMFC_CRT_ERRORCHECK(::wmemcpy_s(_S1, _N1, _S2, _N));
00009 8b 45 14 mov eax, DWORD PTR __N$[ebp]
0000c 50 push eax
0000d 8b 4d 10 mov ecx, DWORD PTR __S2$[ebp]
00010 51 push ecx
00011 8b 55 0c mov edx, DWORD PTR __N1$[ebp]
00014 52 push edx
00015 8b 45 08 mov eax, DWORD PTR __S1$[ebp]
00018 50 push eax
00019 e8 00 00 00 00 call _wmemcpy_s
0001e 83 c4 10 add esp, 16 ; 00000010H
00021 50 push eax
00022 e8 00 00 00 00 call ?AfxCrtErrorCheck@@YAHH@Z ; AfxCrtErrorCheck
00027 83 c4 04 add esp, 4
; 79 : }
0002a 5f pop edi
0002b 5e pop esi
0002c 5b pop ebx
0002d 8b e5 mov esp, ebp
0002f 5d pop ebp
00030 c3 ret 0
?wmemcpy_s@Checked@ATL@@YAXPA_WIPB_WI@Z ENDP ; ATL::Checked::wmemcpy_s
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlalloc.h
; COMDAT ??1?$CAtlSafeAllocBufferManager@VCCRTAllocator@ATL@@@_ATL_SAFE_ALLOCA_IMPL@ATL@@QAE@XZ
_TEXT SEGMENT
_p$1 = -8 ; size = 4
_this$ = -4 ; size = 4
??1?$CAtlSafeAllocBufferManager@VCCRTAllocator@ATL@@@_ATL_SAFE_ALLOCA_IMPL@ATL@@QAE@XZ PROC ; ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator>::~CAtlSafeAllocBufferManager<ATL::CCRTAllocator>, COMDAT
; _this$ = ecx
; 691 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
$LN2@CAtlSafeAl:
; 692 : // Walk the list and free the buffers
; 693 : while (m_pHead != NULL)
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 83 38 00 cmp DWORD PTR [eax], 0
00012 74 22 je SHORT $LN1@CAtlSafeAl
; 694 : {
; 695 : CAtlSafeAllocBufferNode* p = m_pHead;
00014 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00017 8b 08 mov ecx, DWORD PTR [eax]
00019 89 4d f8 mov DWORD PTR _p$1[ebp], ecx
; 696 : m_pHead = m_pHead->m_pNext;
0001c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0001f 8b 08 mov ecx, DWORD PTR [eax]
00021 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00024 8b 01 mov eax, DWORD PTR [ecx]
00026 89 02 mov DWORD PTR [edx], eax
; 697 : Allocator::Free(p);
00028 8b 45 f8 mov eax, DWORD PTR _p$1[ebp]
0002b 50 push eax
0002c e8 00 00 00 00 call ?Free@CCRTAllocator@ATL@@SAXPAX@Z ; ATL::CCRTAllocator::Free
00031 83 c4 04 add esp, 4
; 698 : }
00034 eb d6 jmp SHORT $LN2@CAtlSafeAl
$LN1@CAtlSafeAl:
; 699 : }
00036 5f pop edi
00037 5e pop esi
00038 5b pop ebx
00039 8b e5 mov esp, ebp
0003b 5d pop ebp
0003c c3 ret 0
??1?$CAtlSafeAllocBufferManager@VCCRTAllocator@ATL@@@_ATL_SAFE_ALLOCA_IMPL@ATL@@QAE@XZ ENDP ; ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator>::~CAtlSafeAllocBufferManager<ATL::CCRTAllocator>
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlalloc.h
; COMDAT ??0?$CAtlSafeAllocBufferManager@VCCRTAllocator@ATL@@@_ATL_SAFE_ALLOCA_IMPL@ATL@@QAE@XZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
??0?$CAtlSafeAllocBufferManager@VCCRTAllocator@ATL@@@_ATL_SAFE_ALLOCA_IMPL@ATL@@QAE@XZ PROC ; ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator>::CAtlSafeAllocBufferManager<ATL::CCRTAllocator>, COMDAT
; _this$ = ecx
; 676 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 675 : CAtlSafeAllocBufferManager() : m_pHead(NULL)
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f c7 00 00 00 00
00 mov DWORD PTR [eax], 0
; 677 : }
00015 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00018 5f pop edi
00019 5e pop esi
0001a 5b pop ebx
0001b 8b e5 mov esp, ebp
0001d 5d pop ebp
0001e c3 ret 0
??0?$CAtlSafeAllocBufferManager@VCCRTAllocator@ATL@@@_ATL_SAFE_ALLOCA_IMPL@ATL@@QAE@XZ ENDP ; ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator>::CAtlSafeAllocBufferManager<ATL::CCRTAllocator>
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlconv.h
; COMDAT ?T2OLE_EX@@YAPA_WPA_WI@Z
_TEXT SEGMENT
_lp$ = 8 ; size = 4
___formal$ = 12 ; size = 4
?T2OLE_EX@@YAPA_WPA_WI@Z PROC ; T2OLE_EX, COMDAT
; 835 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 836 : return lp;
00009 8b 45 08 mov eax, DWORD PTR _lp$[ebp]
; 837 : }
0000c 5f pop edi
0000d 5e pop esi
0000e 5b pop ebx
0000f 8b e5 mov esp, ebp
00011 5d pop ebp
00012 c3 ret 0
?T2OLE_EX@@YAPA_WPA_WI@Z ENDP ; T2OLE_EX
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlconv.h
; COMDAT ?AtlW2AHelper@@YGPADPADPB_WHI@Z
_TEXT SEGMENT
_ret$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_lpa$ = 8 ; size = 4
_lpw$ = 12 ; size = 4
_nChars$ = 16 ; size = 4
_acp$ = 20 ; size = 4
?AtlW2AHelper@@YGPADPADPB_WHI@Z PROC ; AtlW2AHelper, COMDAT
; 588 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?AtlW2AHelper@@YGPADPADPB_WHI@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 44 sub esp, 68 ; 00000044H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 589 : ATLASSERT(lpw != NULL);
; 590 : ATLASSERT(lpa != NULL);
; 591 : if (lpa == NULL || lpw == NULL)
00028 83 7d 08 00 cmp DWORD PTR _lpa$[ebp], 0
0002c 74 06 je SHORT $LN3@AtlW2AHelp
0002e 83 7d 0c 00 cmp DWORD PTR _lpw$[ebp], 0
00032 75 04 jne SHORT $LN2@AtlW2AHelp
$LN3@AtlW2AHelp:
; 592 : return NULL;
00034 33 c0 xor eax, eax
00036 eb 34 jmp SHORT $LN1@AtlW2AHelp
$LN2@AtlW2AHelp:
; 593 : // verify that no illegal character present
; 594 : // since lpa was allocated based on the size of lpw
; 595 : // don't worry about the number of chars
; 596 : *lpa = '\0';
00038 8b 45 08 mov eax, DWORD PTR _lpa$[ebp]
0003b c6 00 00 mov BYTE PTR [eax], 0
; 597 : int ret = WideCharToMultiByte(acp, 0, lpw, -1, lpa, nChars, NULL, NULL);
0003e 6a 00 push 0
00040 6a 00 push 0
00042 8b 45 10 mov eax, DWORD PTR _nChars$[ebp]
00045 50 push eax
00046 8b 4d 08 mov ecx, DWORD PTR _lpa$[ebp]
00049 51 push ecx
0004a 6a ff push -1
0004c 8b 55 0c mov edx, DWORD PTR _lpw$[ebp]
0004f 52 push edx
00050 6a 00 push 0
00052 8b 45 14 mov eax, DWORD PTR _acp$[ebp]
00055 50 push eax
00056 ff 15 00 00 00
00 call DWORD PTR __imp__WideCharToMultiByte@32
0005c 89 45 f0 mov DWORD PTR _ret$[ebp], eax
; 598 : if(ret == 0)
0005f 83 7d f0 00 cmp DWORD PTR _ret$[ebp], 0
00063 75 04 jne SHORT $LN4@AtlW2AHelp
; 599 : {
; 600 : ATLASSERT(FALSE);
; 601 : return NULL;
00065 33 c0 xor eax, eax
00067 eb 03 jmp SHORT $LN1@AtlW2AHelp
$LN4@AtlW2AHelp:
; 602 : }
; 603 : return lpa;
00069 8b 45 08 mov eax, DWORD PTR _lpa$[ebp]
$LN1@AtlW2AHelp:
; 604 : }
0006c 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0006f 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00076 59 pop ecx
00077 5f pop edi
00078 5e pop esi
00079 5b pop ebx
0007a 8b e5 mov esp, ebp
0007c 5d pop ebp
0007d c2 10 00 ret 16 ; 00000010H
00080 cc int 3
00081 cc int 3
00082 cc int 3
00083 cc int 3
00084 cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?AtlW2AHelper@@YGPADPADPB_WHI@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a ac mov ecx, DWORD PTR [edx-84]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?AtlW2AHelper@@YGPADPADPB_WHI@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?AtlW2AHelper@@YGPADPADPB_WHI@Z ENDP ; AtlW2AHelper
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlconv.h
; COMDAT ?AtlA2WHelper@@YGPA_WPA_WPBDHI@Z
_TEXT SEGMENT
_ret$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_lpw$ = 8 ; size = 4
_lpa$ = 12 ; size = 4
_nChars$ = 16 ; size = 4
_acp$ = 20 ; size = 4
?AtlA2WHelper@@YGPA_WPA_WPBDHI@Z PROC ; AtlA2WHelper, COMDAT
; 563 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?AtlA2WHelper@@YGPA_WPA_WPBDHI@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 44 sub esp, 68 ; 00000044H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 564 : ATLASSERT(lpa != NULL);
; 565 : ATLASSERT(lpw != NULL);
; 566 : if (lpw == NULL || lpa == NULL)
00028 83 7d 08 00 cmp DWORD PTR _lpw$[ebp], 0
0002c 74 06 je SHORT $LN3@AtlA2WHelp
0002e 83 7d 0c 00 cmp DWORD PTR _lpa$[ebp], 0
00032 75 04 jne SHORT $LN2@AtlA2WHelp
$LN3@AtlA2WHelp:
; 567 : return NULL;
00034 33 c0 xor eax, eax
00036 eb 32 jmp SHORT $LN1@AtlA2WHelp
$LN2@AtlA2WHelp:
; 568 : // verify that no illegal character present
; 569 : // since lpw was allocated based on the size of lpa
; 570 : // don't worry about the number of chars
; 571 : *lpw = '\0';
00038 33 c0 xor eax, eax
0003a 8b 4d 08 mov ecx, DWORD PTR _lpw$[ebp]
0003d 66 89 01 mov WORD PTR [ecx], ax
; 572 : int ret = MultiByteToWideChar(acp, 0, lpa, -1, lpw, nChars);
00040 8b 45 10 mov eax, DWORD PTR _nChars$[ebp]
00043 50 push eax
00044 8b 4d 08 mov ecx, DWORD PTR _lpw$[ebp]
00047 51 push ecx
00048 6a ff push -1
0004a 8b 55 0c mov edx, DWORD PTR _lpa$[ebp]
0004d 52 push edx
0004e 6a 00 push 0
00050 8b 45 14 mov eax, DWORD PTR _acp$[ebp]
00053 50 push eax
00054 ff 15 00 00 00
00 call DWORD PTR __imp__MultiByteToWideChar@24
0005a 89 45 f0 mov DWORD PTR _ret$[ebp], eax
; 573 : if(ret == 0)
0005d 83 7d f0 00 cmp DWORD PTR _ret$[ebp], 0
00061 75 04 jne SHORT $LN4@AtlA2WHelp
; 574 : {
; 575 : ATLASSERT(FALSE);
; 576 : return NULL;
00063 33 c0 xor eax, eax
00065 eb 03 jmp SHORT $LN1@AtlA2WHelp
$LN4@AtlA2WHelp:
; 577 : }
; 578 : return lpw;
00067 8b 45 08 mov eax, DWORD PTR _lpw$[ebp]
$LN1@AtlA2WHelp:
; 579 : }
0006a 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0006d 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00074 59 pop ecx
00075 5f pop edi
00076 5e pop esi
00077 5b pop ebx
00078 8b e5 mov esp, ebp
0007a 5d pop ebp
0007b c2 10 00 ret 16 ; 00000010H
0007e cc int 3
0007f cc int 3
00080 cc int 3
00081 cc int 3
00082 cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?AtlA2WHelper@@YGPA_WPA_WPBDHI@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a ac mov ecx, DWORD PTR [edx-84]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?AtlA2WHelper@@YGPA_WPA_WPBDHI@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?AtlA2WHelper@@YGPA_WPA_WPBDHI@Z ENDP ; AtlA2WHelper
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlconv.h
; COMDAT ?_AtlGetConversionACP@ATL@@YGIXZ
_TEXT SEGMENT
?_AtlGetConversionACP@ATL@@YGIXZ PROC ; ATL::_AtlGetConversionACP, COMDAT
; 98 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 99 : #ifdef _CONVERSION_DONT_USE_THREAD_LOCALE
; 100 : return CP_ACP;
; 101 : #else
; 102 : return CP_THREAD_ACP;
00009 b8 03 00 00 00 mov eax, 3
; 103 : #endif
; 104 : }
0000e 5f pop edi
0000f 5e pop esi
00010 5b pop ebx
00011 8b e5 mov esp, ebp
00013 5d pop ebp
00014 c3 ret 0
?_AtlGetConversionACP@ATL@@YGIXZ ENDP ; ATL::_AtlGetConversionACP
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlalloc.h
; COMDAT ?Free@CCRTAllocator@ATL@@SAXPAX@Z
_TEXT SEGMENT
__$EHRec$ = -12 ; size = 12
_p$ = 8 ; size = 4
?Free@CCRTAllocator@ATL@@SAXPAX@Z PROC ; ATL::CCRTAllocator::Free, COMDAT
; 267 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?Free@CCRTAllocator@ATL@@SAXPAX@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 40 sub esp, 64 ; 00000040H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 268 : free(p);
00028 8b 45 08 mov eax, DWORD PTR _p$[ebp]
0002b 50 push eax
0002c e8 00 00 00 00 call _free
00031 83 c4 04 add esp, 4
; 269 : }
00034 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00037 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0003e 59 pop ecx
0003f 5f pop edi
00040 5e pop esi
00041 5b pop ebx
00042 8b e5 mov esp, ebp
00044 5d pop ebp
00045 c3 ret 0
00046 cc int 3
00047 cc int 3
00048 cc int 3
00049 cc int 3
0004a cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?Free@CCRTAllocator@ATL@@SAXPAX@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?Free@CCRTAllocator@ATL@@SAXPAX@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?Free@CCRTAllocator@ATL@@SAXPAX@Z ENDP ; ATL::CCRTAllocator::Free
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlchecked.h
; COMDAT ?memcpy_s@Checked@ATL@@YAXPAXIPBXI@Z
_TEXT SEGMENT
__S1$ = 8 ; size = 4
__S1max$ = 12 ; size = 4
__S2$ = 16 ; size = 4
__N$ = 20 ; size = 4
?memcpy_s@Checked@ATL@@YAXPAXIPBXI@Z PROC ; ATL::Checked::memcpy_s, COMDAT
; 68 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 69 : ATLMFC_CRT_ERRORCHECK(::memcpy_s(_S1, _S1max, _S2, _N));
00009 8b 45 14 mov eax, DWORD PTR __N$[ebp]
0000c 50 push eax
0000d 8b 4d 10 mov ecx, DWORD PTR __S2$[ebp]
00010 51 push ecx
00011 8b 55 0c mov edx, DWORD PTR __S1max$[ebp]
00014 52 push edx
00015 8b 45 08 mov eax, DWORD PTR __S1$[ebp]
00018 50 push eax
00019 e8 00 00 00 00 call _memcpy_s
0001e 83 c4 10 add esp, 16 ; 00000010H
00021 50 push eax
00022 e8 00 00 00 00 call ?AfxCrtErrorCheck@@YAHH@Z ; AfxCrtErrorCheck
00027 83 c4 04 add esp, 4
; 70 : }
0002a 5f pop edi
0002b 5e pop esi
0002c 5b pop ebx
0002d 8b e5 mov esp, ebp
0002f 5d pop ebp
00030 c3 ret 0
?memcpy_s@Checked@ATL@@YAXPAXIPBXI@Z ENDP ; ATL::Checked::memcpy_s
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlexcept.h
; COMDAT ?AtlThrowImpl@ATL@@YGXJ@Z
_TEXT SEGMENT
_hr$ = 8 ; size = 4
?AtlThrowImpl@ATL@@YGXJ@Z PROC ; ATL::AtlThrowImpl, COMDAT
; 65 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 66 : ATLTRACE(atlTraceException, 0, _T("AtlThrow: hr = 0x%x\n"), hr );
; 67 : #ifdef _AFX
; 68 : if( hr == E_OUTOFMEMORY )
00009 81 7d 08 0e 00
07 80 cmp DWORD PTR _hr$[ebp], -2147024882 ; 8007000eH
00010 75 07 jne SHORT $LN2@AtlThrowIm
; 69 : {
; 70 : AfxThrowMemoryException();
00012 e8 00 00 00 00 call ?AfxThrowMemoryException@@YGXXZ ; AfxThrowMemoryException
; 71 : }
00017 eb 09 jmp SHORT $LN4@AtlThrowIm
$LN2@AtlThrowIm:
; 72 : else
; 73 : {
; 74 : AfxThrowOleException( hr );
00019 8b 45 08 mov eax, DWORD PTR _hr$[ebp]
0001c 50 push eax
0001d e8 00 00 00 00 call ?AfxThrowOleException@@YGXJ@Z ; AfxThrowOleException
$LN4@AtlThrowIm:
; 75 : }
; 76 : #else
; 77 : throw CAtlException( hr );
; 78 : #endif
; 79 : };
00022 5f pop edi
00023 5e pop esi
00024 5b pop ebx
00025 8b e5 mov esp, ebp
00027 5d pop ebp
00028 c2 04 00 ret 4
?AtlThrowImpl@ATL@@YGXJ@Z ENDP ; ATL::AtlThrowImpl
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afx.inl
; COMDAT ?Serialize@CObject@@UAEXAAVCArchive@@@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
___formal$ = 8 ; size = 4
?Serialize@CObject@@UAEXAAVCArchive@@@Z PROC ; CObject::Serialize, COMDAT
; _this$ = ecx
; 106 : { /* CObject does not serialize anything by default */ }
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
0000c 5f pop edi
0000d 5e pop esi
0000e 5b pop ebx
0000f 8b e5 mov esp, ebp
00011 5d pop ebp
00012 c2 04 00 ret 4
?Serialize@CObject@@UAEXAAVCArchive@@@Z ENDP ; CObject::Serialize
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afx.inl
; COMDAT ??3CObject@@SGXPAX@Z
_TEXT SEGMENT
_p$ = 8 ; size = 4
??3CObject@@SGXPAX@Z PROC ; CObject::operator delete, COMDAT
; 112 : { ::operator delete(p); }
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 8b 45 08 mov eax, DWORD PTR _p$[ebp]
0000c 50 push eax
0000d e8 00 00 00 00 call ??3@YAXPAX@Z ; operator delete
00012 83 c4 04 add esp, 4
00015 5f pop edi
00016 5e pop esi
00017 5b pop ebx
00018 8b e5 mov esp, ebp
0001a 5d pop ebp
0001b c2 04 00 ret 4
??3CObject@@SGXPAX@Z ENDP ; CObject::operator delete
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afx.inl
; COMDAT ??2CObject@@SGPAXI@Z
_TEXT SEGMENT
_nSize$ = 8 ; size = 4
??2CObject@@SGPAXI@Z PROC ; CObject::operator new, COMDAT
; 116 : { return ::operator new(nSize); }
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 8b 45 08 mov eax, DWORD PTR _nSize$[ebp]
0000c 50 push eax
0000d e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new
00012 83 c4 04 add esp, 4
00015 5f pop edi
00016 5e pop esi
00017 5b pop ebx
00018 8b e5 mov esp, ebp
0001a 5d pop ebp
0001b c2 04 00 ret 4
??2CObject@@SGPAXI@Z ENDP ; CObject::operator new
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afx.h
; COMDAT ?AfxCrtErrorCheck@@YAHH@Z
_TEXT SEGMENT
tv64 = -68 ; size = 4
_error$ = 8 ; size = 4
?AfxCrtErrorCheck@@YAHH@Z PROC ; AfxCrtErrorCheck, COMDAT
; 506 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 507 : switch(error)
00009 8b 45 08 mov eax, DWORD PTR _error$[ebp]
0000c 89 45 bc mov DWORD PTR tv64[ebp], eax
0000f 83 7d bc 50 cmp DWORD PTR tv64[ebp], 80 ; 00000050H
00013 77 21 ja SHORT $LN9@AfxCrtErro
00015 8b 4d bc mov ecx, DWORD PTR tv64[ebp]
00018 0f b6 91 00 00
00 00 movzx edx, BYTE PTR $LN11@AfxCrtErro[ecx]
0001f ff 24 95 00 00
00 00 jmp DWORD PTR $LN12@AfxCrtErro[edx*4]
$LN4@AfxCrtErro:
; 508 : {
; 509 : case ENOMEM:
; 510 : AfxThrowMemoryException();
00026 e8 00 00 00 00 call ?AfxThrowMemoryException@@YGXXZ ; AfxThrowMemoryException
; 511 : break;
0002b eb 0e jmp SHORT $LN2@AfxCrtErro
$LN6@AfxCrtErro:
; 512 : case EINVAL:
; 513 : case ERANGE:
; 514 : AfxThrowInvalidArgException();
0002d e8 00 00 00 00 call ?AfxThrowInvalidArgException@@YGXXZ ; AfxThrowInvalidArgException
; 515 : break;
00032 eb 07 jmp SHORT $LN2@AfxCrtErro
$LN8@AfxCrtErro:
; 516 : case STRUNCATE:
; 517 : case 0:
; 518 : break;
00034 eb 05 jmp SHORT $LN2@AfxCrtErro
$LN9@AfxCrtErro:
; 519 : default:
; 520 : AfxThrowInvalidArgException();
00036 e8 00 00 00 00 call ?AfxThrowInvalidArgException@@YGXXZ ; AfxThrowInvalidArgException
$LN2@AfxCrtErro:
; 521 : break;
; 522 : }
; 523 : return error;
0003b 8b 45 08 mov eax, DWORD PTR _error$[ebp]
$LN10@AfxCrtErro:
; 524 : }
0003e 5f pop edi
0003f 5e pop esi
00040 5b pop ebx
00041 8b e5 mov esp, ebp
00043 5d pop ebp
00044 c3 ret 0
00045 0f 1f 00 npad 3
$LN12@AfxCrtErro:
00048 00 00 00 00 DD $LN8@AfxCrtErro
0004c 00 00 00 00 DD $LN4@AfxCrtErro
00050 00 00 00 00 DD $LN6@AfxCrtErro
00054 00 00 00 00 DD $LN9@AfxCrtErro
$LN11@AfxCrtErro:
00058 00 DB 0
00059 03 DB 3
0005a 03 DB 3
0005b 03 DB 3
0005c 03 DB 3
0005d 03 DB 3
0005e 03 DB 3
0005f 03 DB 3
00060 03 DB 3
00061 03 DB 3
00062 03 DB 3
00063 03 DB 3
00064 01 DB 1
00065 03 DB 3
00066 03 DB 3
00067 03 DB 3
00068 03 DB 3
00069 03 DB 3
0006a 03 DB 3
0006b 03 DB 3
0006c 03 DB 3
0006d 03 DB 3
0006e 02 DB 2
0006f 03 DB 3
00070 03 DB 3
00071 03 DB 3
00072 03 DB 3
00073 03 DB 3
00074 03 DB 3
00075 03 DB 3
00076 03 DB 3
00077 03 DB 3
00078 03 DB 3
00079 03 DB 3
0007a 02 DB 2
0007b 03 DB 3
0007c 03 DB 3
0007d 03 DB 3
0007e 03 DB 3
0007f 03 DB 3
00080 03 DB 3
00081 03 DB 3
00082 03 DB 3
00083 03 DB 3
00084 03 DB 3
00085 03 DB 3
00086 03 DB 3
00087 03 DB 3
00088 03 DB 3
00089 03 DB 3
0008a 03 DB 3
0008b 03 DB 3
0008c 03 DB 3
0008d 03 DB 3
0008e 03 DB 3
0008f 03 DB 3
00090 03 DB 3
00091 03 DB 3
00092 03 DB 3
00093 03 DB 3
00094 03 DB 3
00095 03 DB 3
00096 03 DB 3
00097 03 DB 3
00098 03 DB 3
00099 03 DB 3
0009a 03 DB 3
0009b 03 DB 3
0009c 03 DB 3
0009d 03 DB 3
0009e 03 DB 3
0009f 03 DB 3
000a0 03 DB 3
000a1 03 DB 3
000a2 03 DB 3
000a3 03 DB 3
000a4 03 DB 3
000a5 03 DB 3
000a6 03 DB 3
000a7 03 DB 3
000a8 00 DB 0
?AfxCrtErrorCheck@@YAHH@Z ENDP ; AfxCrtErrorCheck
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\winerror.h
; COMDAT _HRESULT_FROM_WIN32
_TEXT SEGMENT
tv68 = -68 ; size = 4
_x$ = 8 ; size = 4
_HRESULT_FROM_WIN32 PROC ; COMDAT
; 29097: FORCEINLINE _Translates_Win32_to_HRESULT_(x) HRESULT HRESULT_FROM_WIN32(unsigned long x) { return (HRESULT)(x) <= 0 ? (HRESULT)(x) : (HRESULT) (((x) & 0x0000FFFF) | (FACILITY_WIN32 << 16) | 0x80000000);}
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 83 7d 08 00 cmp DWORD PTR _x$[ebp], 0
0000d 7f 08 jg SHORT $LN3@HRESULT_FR
0000f 8b 45 08 mov eax, DWORD PTR _x$[ebp]
00012 89 45 bc mov DWORD PTR tv68[ebp], eax
00015 eb 18 jmp SHORT $LN4@HRESULT_FR
$LN3@HRESULT_FR:
00017 8b 4d 08 mov ecx, DWORD PTR _x$[ebp]
0001a 81 e1 ff ff 00
00 and ecx, 65535 ; 0000ffffH
00020 81 c9 00 00 07
00 or ecx, 458752 ; 00070000H
00026 81 c9 00 00 00
80 or ecx, -2147483648 ; 80000000H
0002c 89 4d bc mov DWORD PTR tv68[ebp], ecx
$LN4@HRESULT_FR:
0002f 8b 45 bc mov eax, DWORD PTR tv68[ebp]
00032 5f pop edi
00033 5e pop esi
00034 5b pop ebx
00035 8b e5 mov esp, ebp
00037 5d pop ebp
00038 c3 ret 0
_HRESULT_FROM_WIN32 ENDP
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_memcpy_s.h
; COMDAT _memmove_s
_TEXT SEGMENT
tv74 = -80 ; size = 4
tv70 = -80 ; size = 4
tv66 = -80 ; size = 4
__Expr_val$1 = -12 ; size = 4
__Expr_val$2 = -8 ; size = 4
__Expr_val$3 = -4 ; size = 4
__Destination$ = 8 ; size = 4
__DestinationSize$ = 12 ; size = 4
__Source$ = 16 ; size = 4
__SourceSize$ = 20 ; size = 4
_memmove_s PROC ; COMDAT
; 73 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 50 sub esp, 80 ; 00000050H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 74 : if (_SourceSize == 0)
00009 83 7d 14 00 cmp DWORD PTR __SourceSize$[ebp], 0
0000d 75 07 jne SHORT $LN2@memmove_s
; 75 : {
; 76 : return 0;
0000f 33 c0 xor eax, eax
00011 e9 c6 00 00 00 jmp $LN1@memmove_s
$LN2@memmove_s:
; 77 : }
; 78 :
; 79 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Destination != NULL, EINVAL);
00016 83 7d 08 00 cmp DWORD PTR __Destination$[ebp], 0
0001a 74 09 je SHORT $LN7@memmove_s
0001c c7 45 b0 01 00
00 00 mov DWORD PTR tv66[ebp], 1
00023 eb 07 jmp SHORT $LN8@memmove_s
$LN7@memmove_s:
00025 c7 45 b0 00 00
00 00 mov DWORD PTR tv66[ebp], 0
$LN8@memmove_s:
0002c 8b 45 b0 mov eax, DWORD PTR tv66[ebp]
0002f 89 45 fc mov DWORD PTR __Expr_val$3[ebp], eax
00032 83 7d fc 00 cmp DWORD PTR __Expr_val$3[ebp], 0
00036 75 1a jne SHORT $LN3@memmove_s
00038 e8 00 00 00 00 call __errno
0003d c7 00 16 00 00
00 mov DWORD PTR [eax], 22 ; 00000016H
00043 e8 00 00 00 00 call __invalid_parameter_noinfo
00048 b8 16 00 00 00 mov eax, 22 ; 00000016H
0004d e9 8a 00 00 00 jmp $LN1@memmove_s
$LN3@memmove_s:
; 80 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Source != NULL, EINVAL);
00052 83 7d 10 00 cmp DWORD PTR __Source$[ebp], 0
00056 74 09 je SHORT $LN9@memmove_s
00058 c7 45 b0 01 00
00 00 mov DWORD PTR tv70[ebp], 1
0005f eb 07 jmp SHORT $LN10@memmove_s
$LN9@memmove_s:
00061 c7 45 b0 00 00
00 00 mov DWORD PTR tv70[ebp], 0
$LN10@memmove_s:
00068 8b 45 b0 mov eax, DWORD PTR tv70[ebp]
0006b 89 45 f8 mov DWORD PTR __Expr_val$2[ebp], eax
0006e 83 7d f8 00 cmp DWORD PTR __Expr_val$2[ebp], 0
00072 75 17 jne SHORT $LN4@memmove_s
00074 e8 00 00 00 00 call __errno
00079 c7 00 16 00 00
00 mov DWORD PTR [eax], 22 ; 00000016H
0007f e8 00 00 00 00 call __invalid_parameter_noinfo
00084 b8 16 00 00 00 mov eax, 22 ; 00000016H
00089 eb 51 jmp SHORT $LN1@memmove_s
$LN4@memmove_s:
; 81 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_DestinationSize >= _SourceSize, ERANGE);
0008b 8b 45 0c mov eax, DWORD PTR __DestinationSize$[ebp]
0008e 3b 45 14 cmp eax, DWORD PTR __SourceSize$[ebp]
00091 72 09 jb SHORT $LN11@memmove_s
00093 c7 45 b0 01 00
00 00 mov DWORD PTR tv74[ebp], 1
0009a eb 07 jmp SHORT $LN12@memmove_s
$LN11@memmove_s:
0009c c7 45 b0 00 00
00 00 mov DWORD PTR tv74[ebp], 0
$LN12@memmove_s:
000a3 8b 4d b0 mov ecx, DWORD PTR tv74[ebp]
000a6 89 4d f4 mov DWORD PTR __Expr_val$1[ebp], ecx
000a9 83 7d f4 00 cmp DWORD PTR __Expr_val$1[ebp], 0
000ad 75 17 jne SHORT $LN5@memmove_s
000af e8 00 00 00 00 call __errno
000b4 c7 00 22 00 00
00 mov DWORD PTR [eax], 34 ; 00000022H
000ba e8 00 00 00 00 call __invalid_parameter_noinfo
000bf b8 22 00 00 00 mov eax, 34 ; 00000022H
000c4 eb 16 jmp SHORT $LN1@memmove_s
$LN5@memmove_s:
; 82 :
; 83 : memmove(_Destination, _Source, _SourceSize);
000c6 8b 45 14 mov eax, DWORD PTR __SourceSize$[ebp]
000c9 50 push eax
000ca 8b 4d 10 mov ecx, DWORD PTR __Source$[ebp]
000cd 51 push ecx
000ce 8b 55 08 mov edx, DWORD PTR __Destination$[ebp]
000d1 52 push edx
000d2 e8 00 00 00 00 call _memmove
000d7 83 c4 0c add esp, 12 ; 0000000cH
; 84 : return 0;
000da 33 c0 xor eax, eax
$LN1@memmove_s:
; 85 : }
000dc 5f pop edi
000dd 5e pop esi
000de 5b pop ebx
000df 8b e5 mov esp, ebp
000e1 5d pop ebp
000e2 c3 ret 0
_memmove_s ENDP
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_memcpy_s.h
; COMDAT _memcpy_s
_TEXT SEGMENT
tv79 = -80 ; size = 4
tv75 = -80 ; size = 4
tv66 = -80 ; size = 4
__Expr_val$1 = -12 ; size = 4
__Expr_val$2 = -8 ; size = 4
__Expr_val$3 = -4 ; size = 4
__Destination$ = 8 ; size = 4
__DestinationSize$ = 12 ; size = 4
__Source$ = 16 ; size = 4
__SourceSize$ = 20 ; size = 4
_memcpy_s PROC ; COMDAT
; 45 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 50 sub esp, 80 ; 00000050H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 46 : if (_SourceSize == 0)
00009 83 7d 14 00 cmp DWORD PTR __SourceSize$[ebp], 0
0000d 75 07 jne SHORT $LN2@memcpy_s
; 47 : {
; 48 : return 0;
0000f 33 c0 xor eax, eax
00011 e9 f1 00 00 00 jmp $LN1@memcpy_s
$LN2@memcpy_s:
; 49 : }
; 50 :
; 51 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Destination != NULL, EINVAL);
00016 83 7d 08 00 cmp DWORD PTR __Destination$[ebp], 0
0001a 74 09 je SHORT $LN9@memcpy_s
0001c c7 45 b0 01 00
00 00 mov DWORD PTR tv66[ebp], 1
00023 eb 07 jmp SHORT $LN10@memcpy_s
$LN9@memcpy_s:
00025 c7 45 b0 00 00
00 00 mov DWORD PTR tv66[ebp], 0
$LN10@memcpy_s:
0002c 8b 45 b0 mov eax, DWORD PTR tv66[ebp]
0002f 89 45 fc mov DWORD PTR __Expr_val$3[ebp], eax
00032 83 7d fc 00 cmp DWORD PTR __Expr_val$3[ebp], 0
00036 75 1a jne SHORT $LN3@memcpy_s
00038 e8 00 00 00 00 call __errno
0003d c7 00 16 00 00
00 mov DWORD PTR [eax], 22 ; 00000016H
00043 e8 00 00 00 00 call __invalid_parameter_noinfo
00048 b8 16 00 00 00 mov eax, 22 ; 00000016H
0004d e9 b5 00 00 00 jmp $LN1@memcpy_s
$LN3@memcpy_s:
; 52 : if (_Source == NULL || _DestinationSize < _SourceSize)
00052 83 7d 10 00 cmp DWORD PTR __Source$[ebp], 0
00056 74 0c je SHORT $LN5@memcpy_s
00058 8b 45 0c mov eax, DWORD PTR __DestinationSize$[ebp]
0005b 3b 45 14 cmp eax, DWORD PTR __SourceSize$[ebp]
0005e 0f 83 8d 00 00
00 jae $LN4@memcpy_s
$LN5@memcpy_s:
; 53 : {
; 54 : memset(_Destination, 0, _DestinationSize);
00064 8b 45 0c mov eax, DWORD PTR __DestinationSize$[ebp]
00067 50 push eax
00068 6a 00 push 0
0006a 8b 4d 08 mov ecx, DWORD PTR __Destination$[ebp]
0006d 51 push ecx
0006e e8 00 00 00 00 call _memset
00073 83 c4 0c add esp, 12 ; 0000000cH
; 55 :
; 56 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Source != NULL, EINVAL);
00076 83 7d 10 00 cmp DWORD PTR __Source$[ebp], 0
0007a 74 09 je SHORT $LN11@memcpy_s
0007c c7 45 b0 01 00
00 00 mov DWORD PTR tv75[ebp], 1
00083 eb 07 jmp SHORT $LN12@memcpy_s
$LN11@memcpy_s:
00085 c7 45 b0 00 00
00 00 mov DWORD PTR tv75[ebp], 0
$LN12@memcpy_s:
0008c 8b 45 b0 mov eax, DWORD PTR tv75[ebp]
0008f 89 45 f8 mov DWORD PTR __Expr_val$2[ebp], eax
00092 83 7d f8 00 cmp DWORD PTR __Expr_val$2[ebp], 0
00096 75 17 jne SHORT $LN6@memcpy_s
00098 e8 00 00 00 00 call __errno
0009d c7 00 16 00 00
00 mov DWORD PTR [eax], 22 ; 00000016H
000a3 e8 00 00 00 00 call __invalid_parameter_noinfo
000a8 b8 16 00 00 00 mov eax, 22 ; 00000016H
000ad eb 58 jmp SHORT $LN1@memcpy_s
$LN6@memcpy_s:
; 57 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_DestinationSize >= _SourceSize, ERANGE);
000af 8b 45 0c mov eax, DWORD PTR __DestinationSize$[ebp]
000b2 3b 45 14 cmp eax, DWORD PTR __SourceSize$[ebp]
000b5 72 09 jb SHORT $LN13@memcpy_s
000b7 c7 45 b0 01 00
00 00 mov DWORD PTR tv79[ebp], 1
000be eb 07 jmp SHORT $LN14@memcpy_s
$LN13@memcpy_s:
000c0 c7 45 b0 00 00
00 00 mov DWORD PTR tv79[ebp], 0
$LN14@memcpy_s:
000c7 8b 4d b0 mov ecx, DWORD PTR tv79[ebp]
000ca 89 4d f4 mov DWORD PTR __Expr_val$1[ebp], ecx
000cd 83 7d f4 00 cmp DWORD PTR __Expr_val$1[ebp], 0
000d1 75 17 jne SHORT $LN7@memcpy_s
000d3 e8 00 00 00 00 call __errno
000d8 c7 00 22 00 00
00 mov DWORD PTR [eax], 34 ; 00000022H
000de e8 00 00 00 00 call __invalid_parameter_noinfo
000e3 b8 22 00 00 00 mov eax, 34 ; 00000022H
000e8 eb 1d jmp SHORT $LN1@memcpy_s
$LN7@memcpy_s:
; 58 :
; 59 : // Unreachable, but required to suppress /analyze warnings:
; 60 : return EINVAL;
000ea b8 16 00 00 00 mov eax, 22 ; 00000016H
000ef eb 16 jmp SHORT $LN1@memcpy_s
$LN4@memcpy_s:
; 61 : }
; 62 : memcpy(_Destination, _Source, _SourceSize);
000f1 8b 45 14 mov eax, DWORD PTR __SourceSize$[ebp]
000f4 50 push eax
000f5 8b 4d 10 mov ecx, DWORD PTR __Source$[ebp]
000f8 51 push ecx
000f9 8b 55 08 mov edx, DWORD PTR __Destination$[ebp]
000fc 52 push edx
000fd e8 00 00 00 00 call _memcpy
00102 83 c4 0c add esp, 12 ; 0000000cH
; 63 : return 0;
00105 33 c0 xor eax, eax
$LN1@memcpy_s:
; 64 : }
00107 5f pop edi
00108 5e pop esi
00109 5b pop ebx
0010a 8b e5 mov esp, ebp
0010c 5d pop ebp
0010d c3 ret 0
_memcpy_s ENDP
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_wstdio.h
; COMDAT __swprintf
_TEXT SEGMENT
__ArgList$ = -8 ; size = 4
__Result$ = -4 ; size = 4
__Buffer$ = 8 ; size = 4
__Format$ = 12 ; size = 4
__swprintf PROC ; COMDAT
; 1445 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 4c sub esp, 76 ; 0000004cH
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 1446 : int _Result;
; 1447 : va_list _ArgList;
; 1448 : __crt_va_start(_ArgList, _Format);
00009 8d 45 10 lea eax, DWORD PTR __Format$[ebp+4]
0000c 89 45 f8 mov DWORD PTR __ArgList$[ebp], eax
; 1449 : _Result = __vswprintf_l(_Buffer, _Format, NULL, _ArgList);
0000f 8b 45 f8 mov eax, DWORD PTR __ArgList$[ebp]
00012 50 push eax
00013 6a 00 push 0
00015 8b 4d 0c mov ecx, DWORD PTR __Format$[ebp]
00018 51 push ecx
00019 8b 55 08 mov edx, DWORD PTR __Buffer$[ebp]
0001c 52 push edx
0001d e8 00 00 00 00 call ___vswprintf_l
00022 83 c4 10 add esp, 16 ; 00000010H
00025 89 45 fc mov DWORD PTR __Result$[ebp], eax
; 1450 : __crt_va_end(_ArgList);
00028 c7 45 f8 00 00
00 00 mov DWORD PTR __ArgList$[ebp], 0
; 1451 : return _Result;
0002f 8b 45 fc mov eax, DWORD PTR __Result$[ebp]
; 1452 : }
00032 5f pop edi
00033 5e pop esi
00034 5b pop ebx
00035 8b e5 mov esp, ebp
00037 5d pop ebp
00038 c3 ret 0
__swprintf ENDP
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_wstdio.h
; COMDAT ___vswprintf_l
_TEXT SEGMENT
__Buffer$ = 8 ; size = 4
__Format$ = 12 ; size = 4
__Locale$ = 16 ; size = 4
__ArgList$ = 20 ; size = 4
___vswprintf_l PROC ; COMDAT
; 1208 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 1209 : return _vswprintf_l(_Buffer, (size_t)-1, _Format, _Locale, _ArgList);
00009 8b 45 14 mov eax, DWORD PTR __ArgList$[ebp]
0000c 50 push eax
0000d 8b 4d 10 mov ecx, DWORD PTR __Locale$[ebp]
00010 51 push ecx
00011 8b 55 0c mov edx, DWORD PTR __Format$[ebp]
00014 52 push edx
00015 6a ff push -1
00017 8b 45 08 mov eax, DWORD PTR __Buffer$[ebp]
0001a 50 push eax
0001b e8 00 00 00 00 call __vswprintf_l
00020 83 c4 14 add esp, 20 ; 00000014H
; 1210 : }
00023 5f pop edi
00024 5e pop esi
00025 5b pop ebx
00026 8b e5 mov esp, ebp
00028 5d pop ebp
00029 c3 ret 0
___vswprintf_l ENDP
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_wstdio.h
; COMDAT __vswprintf_l
_TEXT SEGMENT
__Buffer$ = 8 ; size = 4
__BufferCount$ = 12 ; size = 4
__Format$ = 16 ; size = 4
__Locale$ = 20 ; size = 4
__ArgList$ = 24 ; size = 4
__vswprintf_l PROC ; COMDAT
; 1192 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 1193 : return _vswprintf_c_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);
00009 8b 45 18 mov eax, DWORD PTR __ArgList$[ebp]
0000c 50 push eax
0000d 8b 4d 14 mov ecx, DWORD PTR __Locale$[ebp]
00010 51 push ecx
00011 8b 55 10 mov edx, DWORD PTR __Format$[ebp]
00014 52 push edx
00015 8b 45 0c mov eax, DWORD PTR __BufferCount$[ebp]
00018 50 push eax
00019 8b 4d 08 mov ecx, DWORD PTR __Buffer$[ebp]
0001c 51 push ecx
0001d e8 00 00 00 00 call __vswprintf_c_l
00022 83 c4 14 add esp, 20 ; 00000014H
; 1194 : }
00025 5f pop edi
00026 5e pop esi
00027 5b pop ebx
00028 8b e5 mov esp, ebp
0002a 5d pop ebp
0002b c3 ret 0
__vswprintf_l ENDP
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_wstdio.h
; COMDAT __vswprintf_c_l
_TEXT SEGMENT
tv73 = -72 ; size = 4
__Result$ = -4 ; size = 4
__Buffer$ = 8 ; size = 4
__BufferCount$ = 12 ; size = 4
__Format$ = 16 ; size = 4
__Locale$ = 20 ; size = 4
__ArgList$ = 24 ; size = 4
__vswprintf_c_l PROC ; COMDAT
; 1155 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 1156 : int const _Result = __stdio_common_vswprintf(
00009 8b 45 18 mov eax, DWORD PTR __ArgList$[ebp]
0000c 50 push eax
0000d 8b 4d 14 mov ecx, DWORD PTR __Locale$[ebp]
00010 51 push ecx
00011 8b 55 10 mov edx, DWORD PTR __Format$[ebp]
00014 52 push edx
00015 8b 45 0c mov eax, DWORD PTR __BufferCount$[ebp]
00018 50 push eax
00019 8b 4d 08 mov ecx, DWORD PTR __Buffer$[ebp]
0001c 51 push ecx
0001d e8 00 00 00 00 call ___local_stdio_printf_options
00022 8b 50 04 mov edx, DWORD PTR [eax+4]
00025 52 push edx
00026 8b 00 mov eax, DWORD PTR [eax]
00028 50 push eax
00029 e8 00 00 00 00 call ___stdio_common_vswprintf
0002e 83 c4 1c add esp, 28 ; 0000001cH
00031 89 45 fc mov DWORD PTR __Result$[ebp], eax
; 1157 : _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS,
; 1158 : _Buffer, _BufferCount, _Format, _Locale, _ArgList);
; 1159 :
; 1160 : return _Result < 0 ? -1 : _Result;
00034 83 7d fc 00 cmp DWORD PTR __Result$[ebp], 0
00038 7d 09 jge SHORT $LN3@vswprintf_
0003a c7 45 b8 ff ff
ff ff mov DWORD PTR tv73[ebp], -1
00041 eb 06 jmp SHORT $LN4@vswprintf_
$LN3@vswprintf_:
00043 8b 45 fc mov eax, DWORD PTR __Result$[ebp]
00046 89 45 b8 mov DWORD PTR tv73[ebp], eax
$LN4@vswprintf_:
00049 8b 45 b8 mov eax, DWORD PTR tv73[ebp]
; 1161 : }
0004c 5f pop edi
0004d 5e pop esi
0004e 5b pop ebx
0004f 8b e5 mov esp, ebp
00051 5d pop ebp
00052 c3 ret 0
__vswprintf_c_l ENDP
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_stdio_config.h
; COMDAT ___local_stdio_printf_options
_TEXT SEGMENT
___local_stdio_printf_options PROC ; COMDAT
; 90 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 91 : static unsigned __int64 _OptionsStorage;
; 92 : return &_OptionsStorage;
00009 b8 00 00 00 00 mov eax, OFFSET ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA ; `__local_stdio_printf_options'::`2'::_OptionsStorage
; 93 : }
0000e 5f pop edi
0000f 5e pop esi
00010 5b pop ebx
00011 8b e5 mov esp, ebp
00013 5d pop ebp
00014 c3 ret 0
___local_stdio_printf_options ENDP
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\EmailThread.cpp
; COMDAT ?__empty_global_delete@@YAXPAXIW4align_val_t@std@@@Z
_TEXT SEGMENT
___formal$ = 8 ; size = 4
___formal$ = 12 ; size = 4
___formal$ = 16 ; size = 4
?__empty_global_delete@@YAXPAXIW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 5f pop edi
0000a 5e pop esi
0000b 5b pop ebx
0000c 8b e5 mov esp, ebp
0000e 5d pop ebp
0000f c3 ret 0
?__empty_global_delete@@YAXPAXIW4align_val_t@std@@@Z ENDP ; __empty_global_delete
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\EmailThread.cpp
; COMDAT ?__empty_global_delete@@YAXPAXW4align_val_t@std@@@Z
_TEXT SEGMENT
___formal$ = 8 ; size = 4
___formal$ = 12 ; size = 4
?__empty_global_delete@@YAXPAXW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 5f pop edi
0000a 5e pop esi
0000b 5b pop ebx
0000c 8b e5 mov esp, ebp
0000e 5d pop ebp
0000f c3 ret 0
?__empty_global_delete@@YAXPAXW4align_val_t@std@@@Z ENDP ; __empty_global_delete
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\EmailThread.cpp
; COMDAT ?__empty_global_delete@@YAXPAXI@Z
_TEXT SEGMENT
___formal$ = 8 ; size = 4
___formal$ = 12 ; size = 4
?__empty_global_delete@@YAXPAXI@Z PROC ; __empty_global_delete, COMDAT
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 5f pop edi
0000a 5e pop esi
0000b 5b pop ebx
0000c 8b e5 mov esp, ebp
0000e 5d pop ebp
0000f c3 ret 0
?__empty_global_delete@@YAXPAXI@Z ENDP ; __empty_global_delete
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\EmailThread.cpp
; COMDAT ?__empty_global_delete@@YAXPAX@Z
_TEXT SEGMENT
___formal$ = 8 ; size = 4
?__empty_global_delete@@YAXPAX@Z PROC ; __empty_global_delete, COMDAT
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 5f pop edi
0000a 5e pop esi
0000b 5b pop ebx
0000c 8b e5 mov esp, ebp
0000e 5d pop ebp
0000f c3 ret 0
?__empty_global_delete@@YAXPAX@Z ENDP ; __empty_global_delete
_TEXT ENDS
END