; Listing generated by Microsoft (R) Optimizing Compiler Version 19.34.31933.0 TITLE D:\Works\Corpsms_2010\SmsCenter\Release_Unicode\CalendarThread.obj .686P .XMM include listing.inc .model flat INCLUDELIB LIBCMT INCLUDELIB OLDNAMES PUBLIC ?On_Calendar@CCalendarThread@@QAEXIJ@Z ; CCalendarThread::On_Calendar EXTRN ?GetThisMessageMap@CCmdTarget@@KGPBUAFX_MSGMAP@@XZ:PROC ; CCmdTarget::GetThisMessageMap CONST SEGMENT ?_messageEntries@?1??GetThisMessageMap@CCalendarThread@@KGPBUAFX_MSGMAP@@XZ@4QBUAFX_MSGMAP_ENTRY@@B DD 05a4H ; `CCalendarThread::GetThisMessageMap'::`2'::_messageEntries DD 00H DD 00H DD 00H DD 01fH DD FLAT:?On_Calendar@CCalendarThread@@QAEXIJ@Z DD 00H DD 00H DD 00H DD 00H DD 00H DD 00H ?messageMap@?1??GetThisMessageMap@CCalendarThread@@KGPBUAFX_MSGMAP@@XZ@4U3@B DD FLAT:?GetThisMessageMap@CCmdTarget@@KGPBUAFX_MSGMAP@@XZ ; `CCalendarThread::GetThisMessageMap'::`2'::messageMap DD FLAT:?_messageEntries@?1??GetThisMessageMap@CCalendarThread@@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 ?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 ?_AtlGetConversionACP@ATL@@YGIXZ ; ATL::_AtlGetConversionACP PUBLIC ?wmemcpy_s@Checked@ATL@@YAXPA_WIPB_WI@Z ; ATL::Checked::wmemcpy_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 ?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 ?StringFindChar@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z ; ATL::ChTraitsCRT::StringFindChar PUBLIC ?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z ; ATL::ChTraitsCRT::GetFormattedLength PUBLIC ?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z ; ATL::ChTraitsCRT::Format PUBLIC ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPBD@Z ; ATL::ChTraitsCRT::GetBaseTypeLength PUBLIC ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ; ATL::ChTraitsCRT::GetBaseTypeLength PUBLIC ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z ; ATL::ChTraitsCRT::GetBaseTypeLength PUBLIC ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPBDH@Z ; ATL::ChTraitsCRT::ConvertToBaseType PUBLIC ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z ; ATL::ChTraitsCRT::ConvertToBaseType PUBLIC ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT::CSimpleStringT PUBLIC ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT::~CSimpleStringT PUBLIC ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CSimpleStringT::operator= PUBLIC ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z ; ATL::CSimpleStringT::operator= PUBLIC ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT::operator wchar_t const * PUBLIC ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ ; ATL::CSimpleStringT::Empty PUBLIC ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT::GetAllocLength PUBLIC ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT::GetBuffer PUBLIC ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT::GetLength PUBLIC ?GetManager@?$CSimpleStringT@_W$0A@@ATL@@QBEPAUIAtlStringMgr@2@XZ ; ATL::CSimpleStringT::GetManager PUBLIC ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT::GetString PUBLIC ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT::ReleaseBufferSetLength PUBLIC ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z ; ATL::CSimpleStringT::SetString PUBLIC ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z ; ATL::CSimpleStringT::SetString PUBLIC ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z ; ATL::CSimpleStringT::CopyCharsOverlapped PUBLIC ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z ; ATL::CSimpleStringT::StringLength PUBLIC ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT::ThrowMemoryException PUBLIC ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT::Attach PUBLIC ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT::Fork PUBLIC ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData PUBLIC ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z ; ATL::CSimpleStringT::PrepareWrite PUBLIC ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT::PrepareWrite2 PUBLIC ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT::Reallocate PUBLIC ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT::SetLength PUBLIC ?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z ; ATL::CSimpleStringT::CloneData PUBLIC ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::CStringT > > PUBLIC ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT > >::CStringT > > PUBLIC ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z ; ATL::CStringT > >::CStringT > > PUBLIC ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::~CStringT > > PUBLIC ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CStringT > >::operator= PUBLIC ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z ; ATL::CStringT > >::operator= PUBLIC ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PBD@Z ; ATL::CStringT > >::operator= PUBLIC ?GetManager@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ ; ATL::CStringT > >::GetManager PUBLIC ?Find@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEH_WH@Z ; ATL::CStringT > >::Find PUBLIC ?Format@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAAXPB_WZZ ; ATL::CStringT > >::Format PUBLIC ?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z ; ATL::CStringT > >::FormatV PUBLIC ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z ; ATL::CStringT > >::LoadStringW PUBLIC ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z ; ATL::CStringT > >::LoadStringW PUBLIC ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z ; ATL::CStringT > >::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 >::FindStringResourceInstance PUBLIC ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC >::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 ?GetHour@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetHour PUBLIC ?GetMinute@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetMinute PUBLIC ?GetSecond@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetSecond PUBLIC ?GetDayOfWeek@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetDayOfWeek PUBLIC ??4COleDateTime@ATL@@QAEAAV01@AB_J@Z ; ATL::COleDateTime::operator= PUBLIC ??8COleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator== PUBLIC ??9COleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator!= PUBLIC ??OCOleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator> PUBLIC ??GCOleDateTime@ATL@@QBE?AVCOleDateTimeSpan@1@ABV01@@Z ; ATL::COleDateTime::operator- PUBLIC ?SetDateTime@COleDateTime@ATL@@QAEHHHHHHH@Z ; ATL::COleDateTime::SetDateTime PUBLIC ?DoubleFromDate@COleDateTime@ATL@@KGNN@Z ; ATL::COleDateTime::DoubleFromDate PUBLIC ?ConvertSystemTimeToVariantTime@COleDateTime@ATL@@IAEHABU_SYSTEMTIME@@@Z ; ATL::COleDateTime::ConvertSystemTimeToVariantTime PUBLIC ?GetRuntimeClass@CCalendarThread@@UBEPAUCRuntimeClass@@XZ ; CCalendarThread::GetRuntimeClass PUBLIC ?CreateObject@CCalendarThread@@SGPAVCObject@@XZ ; CCalendarThread::CreateObject PUBLIC ??0CCalendarThread@@QAE@XZ ; CCalendarThread::CCalendarThread PUBLIC ?SetParam@CCalendarThread@@QAEHPAVCSmsCenterDlg@@@Z ; CCalendarThread::SetParam PUBLIC ?InitInstance@CCalendarThread@@UAEHXZ ; CCalendarThread::InitInstance PUBLIC ?ExitInstance@CCalendarThread@@UAEHXZ ; CCalendarThread::ExitInstance PUBLIC ??1CCalendarThread@@UAE@XZ ; CCalendarThread::~CCalendarThread PUBLIC ?GetThisMessageMap@CCalendarThread@@KGPBUAFX_MSGMAP@@XZ ; CCalendarThread::GetThisMessageMap PUBLIC ?GetMessageMap@CCalendarThread@@MBEPBUAFX_MSGMAP@@XZ ; CCalendarThread::GetMessageMap PUBLIC ??_GCCalendarThread@@UAEPAXI@Z ; CCalendarThread::`scalar deleting destructor' PUBLIC ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA ; `__local_stdio_printf_options'::`2'::_OptionsStorage PUBLIC ??_C@_15KNBIKKIN@?$AA?$CF?$AAd@ ; `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 ?classCCalendarThread@CCalendarThread@@2UCRuntimeClass@@B ; CCalendarThread::classCCalendarThread PUBLIC ??_7CCalendarThread@@6B@ ; CCalendarThread::`vftable' PUBLIC ??_C@_0BA@HBIOBAMD@CCalendarThread@ ; `string' PUBLIC ?__LINE__Var@?0??On_Calendar@CCalendarThread@@QAEXIJ@Z@4JA ; `CCalendarThread::On_Calendar'::`1'::__LINE__Var PUBLIC ??_C@_0GO@DJFPOCJD@select?5calendar?4?$CK?0users?4mobile?5@ ; `string' PUBLIC ??_C@_1BG@NGMKAKLL@?$AAC?$AAa?$AAl?$AAe?$AAn?$AAd?$AAa?$AAr?$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@_19BIEPDBPA@?$AAT?$AAy?$AAp?$AAe@ ; `string' PUBLIC ??_C@_1M@HHNAAFMA@?$AAA?$AAl?$AAa?$AAr?$AAm@ ; `string' PUBLIC ??_C@_1BC@DIGKBDEI@?$AAS?$AAe?$AAn?$AAd?$AAL?$AAa?$AAs?$AAt@ ; `string' PUBLIC ??_C@_17DACEHHP@?$AAM?$AAs?$AAg@ ; `string' PUBLIC ??_C@_1O@JIHFAECL@?$AAA?$AAd?$AAd?$AAM?$AAs?$AAg@ ; `string' PUBLIC ??_C@_1O@OLLJFFCG@?$AAM?$AAo?$AAb?$AAi?$AAl?$AAe@ ; `string' PUBLIC ??_C@_1BE@GEFLPCGK@?$AAA?$AAd?$AAd?$AAM?$AAo?$AAb?$AAi?$AAl?$AAe@ ; `string' PUBLIC ??_C@_1JO@HGCDGPOA@?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?5?$AAc?$AAa?$AAl?$AAe?$AAn?$AAd?$AAa?$AAr@ ; `string' PUBLIC ??_C@_1GC@EOFKHDCO@?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?5?$AAc?$AAa?$AAl?$AAe?$AAn?$AAd?$AAa?$AAr@ ; `string' PUBLIC ??_C@_1BC@INEIBCOA@?$AAc?$AAa?$AAl?$AAe?$AAn?$AAd?$AAa?$AAr@ ; `string' PUBLIC ??_C@_0M@KFELEFGO@On_Calendar@ ; `string' PUBLIC ??_C@_0DD@DGLCBPEK@D?3?2Works?2Corpsms_2010?2SmsCenter@ ; `string' PUBLIC ??_C@_1BA@IIDKJHG@?$AAc?$AAo?$AAr?$AAp?$AAs?$AAm?$AAs@ ; `string' PUBLIC ??_R4CCalendarThread@@6B@ ; CCalendarThread::`RTTI Complete Object Locator' PUBLIC ??_R0?AVCCalendarThread@@@8 ; CCalendarThread `RTTI Type Descriptor' PUBLIC ??_R3CCalendarThread@@8 ; CCalendarThread::`RTTI Class Hierarchy Descriptor' PUBLIC ??_R2CCalendarThread@@8 ; CCalendarThread::`RTTI Base Class Array' PUBLIC ??_R1A@?0A@EA@CCalendarThread@@8 ; CCalendarThread::`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@3ed845c8a0ce5129 PUBLIC __real@4038000000000000 PUBLIC __real@4096800000000000 PUBLIC __real@40f5180000000000 PUBLIC __real@414b964c80000000 PUBLIC __real@bed845c8a0ce5129 PUBLIC __real@c14b964c80000000 EXTRN ??2@YAPAXI@Z:PROC ; operator new EXTRN ??3@YAXPAX@Z:PROC ; operator delete EXTRN ?__global_delete@@YAXPAXI@Z:PROC ; __global_delete EXTRN __invalid_parameter_noinfo:PROC EXTRN __errno:PROC EXTRN _ceil: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 _wcscpy:PROC EXTRN _wcslen:PROC EXTRN _wmemcpy_s:PROC EXTRN __localtime64_s:PROC EXTRN __time64: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 ?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 ?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 ?SetAdoConnection@CAdoRecordSet@@QAEXPAVCAdoConnection@@@Z:PROC ; CAdoRecordSet::SetAdoConnection 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 ?SubmitSms@CSendThread@@SAJAAU_SubmitData@@PAVCAdoRecordSet@@1PAVCSmsCenterDlg@@JJJ@Z:PROC ; CSendThread::SubmitSms EXTRN ??_ECCalendarThread@@UAEPAXI@Z:PROC ; CCalendarThread::`vector deleting destructor' EXTRN @__security_check_cookie@4:PROC EXTRN ___CxxFrameHandler3: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@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 __real@3ed845c8a0ce5129 CONST SEGMENT __real@3ed845c8a0ce5129 DQ 03ed845c8a0ce5129r ; 5.78704e-06 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@CCalendarThread@@8 rdata$r SEGMENT ??_R1A@?0A@EA@CCalendarThread@@8 DD FLAT:??_R0?AVCCalendarThread@@@8 ; CCalendarThread::`RTTI Base Class Descriptor at (0,-1,0,64)' DD 03H DD 00H DD 0ffffffffH DD 00H DD 040H DD FLAT:??_R3CCalendarThread@@8 rdata$r ENDS ; COMDAT ??_R2CCalendarThread@@8 rdata$r SEGMENT ??_R2CCalendarThread@@8 DD FLAT:??_R1A@?0A@EA@CCalendarThread@@8 ; CCalendarThread::`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 ??_R3CCalendarThread@@8 rdata$r SEGMENT ??_R3CCalendarThread@@8 DD 00H ; CCalendarThread::`RTTI Class Hierarchy Descriptor' DD 00H DD 04H DD FLAT:??_R2CCalendarThread@@8 rdata$r ENDS ; COMDAT ??_R0?AVCCalendarThread@@@8 data$rs SEGMENT ??_R0?AVCCalendarThread@@@8 DD FLAT:??_7type_info@@6B@ ; CCalendarThread `RTTI Type Descriptor' DD 00H DB '.?AVCCalendarThread@@', 00H data$rs ENDS ; COMDAT ??_R4CCalendarThread@@6B@ rdata$r SEGMENT ??_R4CCalendarThread@@6B@ DD 00H ; CCalendarThread::`RTTI Complete Object Locator' DD 00H DD 00H DD FLAT:??_R0?AVCCalendarThread@@@8 DD FLAT:??_R3CCalendarThread@@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@_0DD@DGLCBPEK@D?3?2Works?2Corpsms_2010?2SmsCenter@ CONST SEGMENT ??_C@_0DD@DGLCBPEK@D?3?2Works?2Corpsms_2010?2SmsCenter@ DB 'D:\Works\Corp' DB 'sms_2010\SmsCenter\CalendarThread.cpp', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0M@KFELEFGO@On_Calendar@ CONST SEGMENT ??_C@_0M@KFELEFGO@On_Calendar@ DB 'On_Calendar', 00H ; `string' CONST ENDS ; COMDAT ??_C@_1BC@INEIBCOA@?$AAc?$AAa?$AAl?$AAe?$AAn?$AAd?$AAa?$AAr@ CONST SEGMENT ??_C@_1BC@INEIBCOA@?$AAc?$AAa?$AAl?$AAe?$AAn?$AAd?$AAa?$AAr@ DB 'c', 00H, 'a' DB 00H, 'l', 00H, 'e', 00H, 'n', 00H, 'd', 00H, 'a', 00H, 'r', 00H DB 00H, 00H ; `string' CONST ENDS ; COMDAT ??_C@_1GC@EOFKHDCO@?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?5?$AAc?$AAa?$AAl?$AAe?$AAn?$AAd?$AAa?$AAr@ CONST SEGMENT ??_C@_1GC@EOFKHDCO@?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?5?$AAc?$AAa?$AAl?$AAe?$AAn?$AAd?$AAa?$AAr@ DB 'u' DB 00H, 'p', 00H, 'd', 00H, 'a', 00H, 't', 00H, 'e', 00H, ' ', 00H DB 'c', 00H, 'a', 00H, 'l', 00H, 'e', 00H, 'n', 00H, 'd', 00H, 'a' DB 00H, 'r', 00H, ' ', 00H, 's', 00H, 'e', 00H, 't', 00H, ' ', 00H DB 'S', 00H, 't', 00H, 'a', 00H, 't', 00H, 'u', 00H, 's', 00H, '=' DB 00H, '0', 00H, ' ', 00H, 'w', 00H, 'h', 00H, 'e', 00H, 'r', 00H DB 'e', 00H, ' ', 00H, 'C', 00H, 'a', 00H, 'l', 00H, 'e', 00H, 'n' DB 00H, 'd', 00H, 'a', 00H, 'r', 00H, 'I', 00H, 'D', 00H, '=', 00H DB '%', 00H, 'd', 00H, 00H, 00H ; `string' CONST ENDS ; COMDAT ??_C@_1JO@HGCDGPOA@?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?5?$AAc?$AAa?$AAl?$AAe?$AAn?$AAd?$AAa?$AAr@ CONST SEGMENT ??_C@_1JO@HGCDGPOA@?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?5?$AAc?$AAa?$AAl?$AAe?$AAn?$AAd?$AAa?$AAr@ DB 'u' DB 00H, 'p', 00H, 'd', 00H, 'a', 00H, 't', 00H, 'e', 00H, ' ', 00H DB 'c', 00H, 'a', 00H, 'l', 00H, 'e', 00H, 'n', 00H, 'd', 00H, 'a' DB 00H, 'r', 00H, ' ', 00H, 's', 00H, 'e', 00H, 't', 00H, ' ', 00H DB 'S', 00H, 'e', 00H, 'n', 00H, 'd', 00H, 'L', 00H, 'a', 00H, 's' DB 00H, 't', 00H, '=', 00H, '''', 00H, '%', 00H, '0', 00H, '4', 00H DB 'd', 00H, '%', 00H, '0', 00H, '2', 00H, 'd', 00H, '%', 00H, '0' DB 00H, '2', 00H, 'd', 00H, ' ', 00H, '%', 00H, '0', 00H, '2', 00H DB 'd', 00H, ':', 00H, '%', 00H, '0', 00H, '2', 00H, 'd', 00H, ':' DB 00H, '%', 00H, '0', 00H, '2', 00H, 'd', 00H, '''', 00H, ' ', 00H DB 'w', 00H, 'h', 00H, 'e', 00H, 'r', 00H, 'e', 00H, ' ', 00H, 'C' DB 00H, 'a', 00H, 'l', 00H, 'e', 00H, 'n', 00H, 'd', 00H, 'a', 00H DB 'r', 00H, 'I', 00H, 'D', 00H, '=', 00H, '%', 00H, 'd', 00H, 00H DB 00H ; `string' CONST ENDS ; COMDAT ??_C@_1BE@GEFLPCGK@?$AAA?$AAd?$AAd?$AAM?$AAo?$AAb?$AAi?$AAl?$AAe@ CONST SEGMENT ??_C@_1BE@GEFLPCGK@?$AAA?$AAd?$AAd?$AAM?$AAo?$AAb?$AAi?$AAl?$AAe@ DB 'A', 00H DB 'd', 00H, 'd', 00H, 'M', 00H, 'o', 00H, 'b', 00H, 'i', 00H, 'l' 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@JIHFAECL@?$AAA?$AAd?$AAd?$AAM?$AAs?$AAg@ CONST SEGMENT ??_C@_1O@JIHFAECL@?$AAA?$AAd?$AAd?$AAM?$AAs?$AAg@ DB 'A', 00H, 'd', 00H, 'd' DB 00H, 'M', 00H, 's', 00H, 'g', 00H, 00H, 00H ; `string' CONST ENDS ; COMDAT ??_C@_17DACEHHP@?$AAM?$AAs?$AAg@ CONST SEGMENT ??_C@_17DACEHHP@?$AAM?$AAs?$AAg@ DB 'M', 00H, 's', 00H, 'g', 00H, 00H, 00H ; `string' CONST ENDS ; COMDAT ??_C@_1BC@DIGKBDEI@?$AAS?$AAe?$AAn?$AAd?$AAL?$AAa?$AAs?$AAt@ CONST SEGMENT ??_C@_1BC@DIGKBDEI@?$AAS?$AAe?$AAn?$AAd?$AAL?$AAa?$AAs?$AAt@ DB 'S', 00H, 'e' DB 00H, 'n', 00H, 'd', 00H, 'L', 00H, 'a', 00H, 's', 00H, 't', 00H DB 00H, 00H ; `string' CONST ENDS ; COMDAT ??_C@_1M@HHNAAFMA@?$AAA?$AAl?$AAa?$AAr?$AAm@ CONST SEGMENT ??_C@_1M@HHNAAFMA@?$AAA?$AAl?$AAa?$AAr?$AAm@ DB 'A', 00H, 'l', 00H, 'a', 00H DB 'r', 00H, 'm', 00H, 00H, 00H ; `string' CONST ENDS ; COMDAT ??_C@_19BIEPDBPA@?$AAT?$AAy?$AAp?$AAe@ CONST SEGMENT ??_C@_19BIEPDBPA@?$AAT?$AAy?$AAp?$AAe@ DB 'T', 00H, 'y', 00H, 'p', 00H, 'e' DB 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@_1BG@NGMKAKLL@?$AAC?$AAa?$AAl?$AAe?$AAn?$AAd?$AAa?$AAr?$AAI?$AAD@ CONST SEGMENT ??_C@_1BG@NGMKAKLL@?$AAC?$AAa?$AAl?$AAe?$AAn?$AAd?$AAa?$AAr?$AAI?$AAD@ DB 'C' DB 00H, 'a', 00H, 'l', 00H, 'e', 00H, 'n', 00H, 'd', 00H, 'a', 00H DB 'r', 00H, 'I', 00H, 'D', 00H, 00H, 00H ; `string' CONST ENDS ; COMDAT ??_C@_0GO@DJFPOCJD@select?5calendar?4?$CK?0users?4mobile?5@ CONST SEGMENT ??_C@_0GO@DJFPOCJD@select?5calendar?4?$CK?0users?4mobile?5@ DB 'select ca' DB 'lendar.*,users.mobile from calendar,users where calendar.Stat' DB 'us=1 and calendar.userid = users.userid', 00H ; `string' CONST ENDS ; COMDAT ?__LINE__Var@?0??On_Calendar@CCalendarThread@@QAEXIJ@Z@4JA _DATA SEGMENT ?__LINE__Var@?0??On_Calendar@CCalendarThread@@QAEXIJ@Z@4JA DD 039H ; `CCalendarThread::On_Calendar'::`1'::__LINE__Var _DATA ENDS ; COMDAT ??_C@_0BA@HBIOBAMD@CCalendarThread@ CONST SEGMENT ??_C@_0BA@HBIOBAMD@CCalendarThread@ DB 'CCalendarThread', 00H ; `string' CONST ENDS ; COMDAT ??_7CCalendarThread@@6B@ CONST SEGMENT ??_7CCalendarThread@@6B@ DD FLAT:??_R4CCalendarThread@@6B@ ; CCalendarThread::`vftable' DD FLAT:?GetRuntimeClass@CCalendarThread@@UBEPAUCRuntimeClass@@XZ DD FLAT:??_ECCalendarThread@@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@CCalendarThread@@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@CCalendarThread@@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@CCalendarThread@@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 ?classCCalendarThread@CCalendarThread@@2UCRuntimeClass@@B CONST SEGMENT ?classCCalendarThread@CCalendarThread@@2UCRuntimeClass@@B DD FLAT:??_C@_0BA@HBIOBAMD@CCalendarThread@ ; CCalendarThread::classCCalendarThread DD 0118H DD 0ffffH DD FLAT:?CreateObject@CCalendarThread@@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@_15KNBIKKIN@?$AA?$CF?$AAd@ CONST SEGMENT ??_C@_15KNBIKKIN@?$AA?$CF?$AAd@ DB '%', 00H, 'd', 00H, 00H, 00H ; `string' CONST ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 057H DB 064H voltbl ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 023H DW 0b73H voltbl ENDS ; COMDAT xdata$x xdata$x SEGMENT __catchsym$?On_Calendar@CCalendarThread@@QAEXIJ@Z$10 DD 00H DD 00H DD 00H DD FLAT:__catch$?On_Calendar@CCalendarThread@@QAEXIJ@Z$0 __tryblocktable$?On_Calendar@CCalendarThread@@QAEXIJ@Z DD 00H DD 05H DD 09H DD 01H DD FLAT:__catchsym$?On_Calendar@CCalendarThread@@QAEXIJ@Z$10 __ehfuncinfo$?On_Calendar@CCalendarThread@@QAEXIJ@Z DD 019930522H DD 0aH DD FLAT:__unwindtable$?On_Calendar@CCalendarThread@@QAEXIJ@Z DD 01H DD FLAT:__tryblocktable$?On_Calendar@CCalendarThread@@QAEXIJ@Z DD 2 DUP(00H) DD 00H DD 00H __unwindtable$?On_Calendar@CCalendarThread@@QAEXIJ@Z DD 0ffffffffH DD 00H DD 00H DD FLAT:__unwindfunclet$?On_Calendar@CCalendarThread@@QAEXIJ@Z$2 DD 01H DD FLAT:__unwindfunclet$?On_Calendar@CCalendarThread@@QAEXIJ@Z$3 DD 02H DD FLAT:__unwindfunclet$?On_Calendar@CCalendarThread@@QAEXIJ@Z$4 DD 03H DD FLAT:__unwindfunclet$?On_Calendar@CCalendarThread@@QAEXIJ@Z$5 DD 04H DD FLAT:__unwindfunclet$?On_Calendar@CCalendarThread@@QAEXIJ@Z$6 DD 0ffffffffH DD 00H DD 06H DD FLAT:__unwindfunclet$?On_Calendar@CCalendarThread@@QAEXIJ@Z$7 DD 07H DD FLAT:__unwindfunclet$?On_Calendar@CCalendarThread@@QAEXIJ@Z$8 DD 08H DD FLAT:__unwindfunclet$?On_Calendar@CCalendarThread@@QAEXIJ@Z$9 xdata$x ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 048H voltbl ENDS ; COMDAT xdata$x xdata$x SEGMENT __ehfuncinfo$??1CCalendarThread@@UAE@XZ DD 019930522H DD 05H DD FLAT:__unwindtable$??1CCalendarThread@@UAE@XZ DD 2 DUP(00H) DD 2 DUP(00H) DD 00H DD 04H __unwindtable$??1CCalendarThread@@UAE@XZ DD 0ffffffffH DD FLAT:__unwindfunclet$??1CCalendarThread@@UAE@XZ$0 DD 00H DD FLAT:__unwindfunclet$??1CCalendarThread@@UAE@XZ$1 DD 01H DD FLAT:__unwindfunclet$??1CCalendarThread@@UAE@XZ$2 DD 02H DD FLAT:__unwindfunclet$??1CCalendarThread@@UAE@XZ$3 DD 03H DD FLAT:__unwindfunclet$??1CCalendarThread@@UAE@XZ$4 xdata$x ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 036H voltbl ENDS ; COMDAT xdata$x xdata$x SEGMENT __ehfuncinfo$?SetParam@CCalendarThread@@QAEHPAVCSmsCenterDlg@@@Z DD 019930522H DD 05H DD FLAT:__unwindtable$?SetParam@CCalendarThread@@QAEHPAVCSmsCenterDlg@@@Z DD 2 DUP(00H) DD 2 DUP(00H) DD 00H DD 00H __unwindtable$?SetParam@CCalendarThread@@QAEHPAVCSmsCenterDlg@@@Z DD 0ffffffffH DD FLAT:__unwindfunclet$?SetParam@CCalendarThread@@QAEHPAVCSmsCenterDlg@@@Z$0 DD 00H DD FLAT:__unwindfunclet$?SetParam@CCalendarThread@@QAEHPAVCSmsCenterDlg@@@Z$1 DD 01H DD FLAT:__unwindfunclet$?SetParam@CCalendarThread@@QAEHPAVCSmsCenterDlg@@@Z$2 DD 02H DD FLAT:__unwindfunclet$?SetParam@CCalendarThread@@QAEHPAVCSmsCenterDlg@@@Z$3 DD 03H DD FLAT:__unwindfunclet$?SetParam@CCalendarThread@@QAEHPAVCSmsCenterDlg@@@Z$4 xdata$x ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 048H voltbl ENDS ; COMDAT xdata$x xdata$x SEGMENT __ehfuncinfo$??0CCalendarThread@@QAE@XZ DD 019930522H DD 05H DD FLAT:__unwindtable$??0CCalendarThread@@QAE@XZ DD 2 DUP(00H) DD 2 DUP(00H) DD 00H DD 00H __unwindtable$??0CCalendarThread@@QAE@XZ DD 0ffffffffH DD FLAT:__unwindfunclet$??0CCalendarThread@@QAE@XZ$0 DD 00H DD FLAT:__unwindfunclet$??0CCalendarThread@@QAE@XZ$1 DD 01H DD FLAT:__unwindfunclet$??0CCalendarThread@@QAE@XZ$2 DD 02H DD FLAT:__unwindfunclet$??0CCalendarThread@@QAE@XZ$3 DD 03H DD FLAT:__unwindfunclet$??0CCalendarThread@@QAE@XZ$4 xdata$x ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 018H voltbl ENDS ; COMDAT xdata$x xdata$x SEGMENT __unwindtable$?CreateObject@CCalendarThread@@SGPAVCObject@@XZ DD 0ffffffffH DD FLAT:__unwindfunclet$?CreateObject@CCalendarThread@@SGPAVCObject@@XZ$0 __ehfuncinfo$?CreateObject@CCalendarThread@@SGPAVCObject@@XZ DD 019930522H DD 01H DD FLAT:__unwindtable$?CreateObject@CCalendarThread@@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 09H DB 013H voltbl ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 01bH DB 0abH voltbl ENDS ; COMDAT xdata$x xdata$x SEGMENT __ehfuncinfo$?SetDateTime@COleDateTime@ATL@@QAEHHHHHHH@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 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 050H 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 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 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 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_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@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$?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPBDH@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$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPBD@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$?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 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 ; Function compile flags: /Odtp /ZI ; COMDAT ??_GCCalendarThread@@UAEPAXI@Z _TEXT SEGMENT _this$ = -4 ; size = 4 ___flags$ = 8 ; size = 4 ??_GCCalendarThread@@UAEPAXI@Z PROC ; CCalendarThread::`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 ??1CCalendarThread@@UAE@XZ ; CCalendarThread::~CCalendarThread 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 ??_GCCalendarThread@@UAEPAXI@Z ENDP ; CCalendarThread::`scalar deleting destructor' _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File D:\Works\Corpsms_2010\SmsCenter\CalendarThread.cpp ; COMDAT ?GetMessageMap@CCalendarThread@@MBEPBUAFX_MSGMAP@@XZ _TEXT SEGMENT _this$ = -4 ; size = 4 ?GetMessageMap@CCalendarThread@@MBEPBUAFX_MSGMAP@@XZ PROC ; CCalendarThread::GetMessageMap, COMDAT ; _this$ = ecx ; 46 : BEGIN_MESSAGE_MAP(CCalendarThread, 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@CCalendarThread@@KGPBUAFX_MSGMAP@@XZ ; CCalendarThread::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@CCalendarThread@@MBEPBUAFX_MSGMAP@@XZ ENDP ; CCalendarThread::GetMessageMap _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File D:\Works\Corpsms_2010\SmsCenter\CalendarThread.cpp ; COMDAT ?GetThisMessageMap@CCalendarThread@@KGPBUAFX_MSGMAP@@XZ _TEXT SEGMENT ?GetThisMessageMap@CCalendarThread@@KGPBUAFX_MSGMAP@@XZ PROC ; CCalendarThread::GetThisMessageMap, COMDAT ; 46 : BEGIN_MESSAGE_MAP(CCalendarThread, 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 ; 47 : //{{AFX_MSG_MAP(CCalendarThread) ; 48 : // NOTE - the ClassWizard will add and remove mapping macros here. ; 49 : //}}AFX_MSG_MAP ; 50 : ON_THREAD_MESSAGE(TH_CALENDAR,On_Calendar) ; 51 : END_MESSAGE_MAP() 00009 b8 00 00 00 00 mov eax, OFFSET ?messageMap@?1??GetThisMessageMap@CCalendarThread@@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@CCalendarThread@@KGPBUAFX_MSGMAP@@XZ ENDP ; CCalendarThread::GetThisMessageMap _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File D:\Works\Corpsms_2010\SmsCenter\CalendarThread.cpp ; COMDAT ?On_Calendar@CCalendarThread@@QAEXIJ@Z _TEXT SEGMENT tv523 = -24408 ; size = 4 tv525 = -24404 ; size = 4 tv433 = -24404 ; size = 4 tv375 = -24404 ; size = 4 tv304 = -24404 ; size = 4 tv246 = -24404 ; size = 4 tv527 = -24400 ; size = 4 tv435 = -24400 ; size = 4 tv377 = -24400 ; size = 4 tv306 = -24400 ; size = 4 tv248 = -24400 ; size = 4 tv529 = -24396 ; size = 4 tv437 = -24396 ; size = 4 tv379 = -24396 ; size = 4 tv308 = -24396 ; size = 4 tv250 = -24396 ; size = 4 tv531 = -24392 ; size = 4 tv439 = -24392 ; size = 4 tv381 = -24392 ; size = 4 tv310 = -24392 ; size = 4 tv252 = -24392 ; size = 4 tv533 = -24388 ; size = 4 tv441 = -24388 ; size = 4 tv383 = -24388 ; size = 4 tv312 = -24388 ; size = 4 tv254 = -24388 ; size = 4 tv136 = -24388 ; size = 4 tv637 = -24384 ; size = 4 tv568 = -24384 ; size = 4 tv550 = -24384 ; size = 4 tv535 = -24384 ; size = 4 tv486 = -24384 ; size = 4 tv459 = -24384 ; size = 4 tv443 = -24384 ; size = 4 tv401 = -24384 ; size = 4 tv385 = -24384 ; size = 4 tv330 = -24384 ; size = 4 tv314 = -24384 ; size = 4 tv272 = -24384 ; size = 4 tv256 = -24384 ; size = 4 tv223 = -24384 ; size = 4 tv211 = -24384 ; size = 4 tv205 = -24384 ; size = 4 tv199 = -24384 ; size = 4 tv193 = -24384 ; size = 4 tv187 = -24384 ; size = 4 tv181 = -24384 ; size = 4 tv175 = -24384 ; size = 4 tv169 = -24384 ; size = 4 tv163 = -24384 ; size = 4 tv157 = -24384 ; size = 4 tv86 = -24384 ; size = 4 $T2 = -24380 ; size = 4 $T3 = -24376 ; size = 4 $T4 = -24372 ; size = 12 $T5 = -24360 ; size = 12 $T6 = -24348 ; size = 12 $T7 = -24336 ; size = 12 $T8 = -24324 ; size = 12 _NXlog$9 = -23800 ; size = 6056 _data$10 = -17744 ; size = 17556 _lMobType$11 = -188 ; size = 4 _tNow$12 = -184 ; size = 12 _bSend$13 = -172 ; size = 4 _lCount2$14 = -168 ; size = 4 _szTemp$15 = -164 ; size = 64 _ts$16 = -100 ; size = 12 _strAddMobile$17 = -88 ; size = 4 _strMobile$18 = -84 ; size = 4 _strAddMsg$19 = -80 ; size = 4 _strMsg$20 = -76 ; size = 4 _tSendLast$21 = -72 ; size = 12 _tAlarm$22 = -60 ; size = 12 _lType$23 = -48 ; size = 4 _lUserID$24 = -44 ; size = 4 _lCorpID$25 = -40 ; size = 4 _lID$26 = -36 ; size = 4 _b$27 = -32 ; size = 4 _strSelect$28 = -28 ; size = 4 _this$ = -24 ; size = 4 __$ArrayPad$ = -20 ; size = 4 __$EHRec$ = -16 ; size = 16 _wParam$ = 8 ; size = 4 _lParam$ = 12 ; size = 4 ?On_Calendar@CCalendarThread@@QAEXIJ@Z PROC ; CCalendarThread::On_Calendar, COMDAT ; _this$ = ecx ; 57 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 6a ff push -1 00005 68 00 00 00 00 push __ehhandler$?On_Calendar@CCalendarThread@@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 48 5f 00 00 mov eax, 24392 ; 00005f48H 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 ; 58 : if ( m_bStart ) //如果正在发送,立即返回 00039 8b 45 e8 mov eax, DWORD PTR _this$[ebp] 0003c 83 78 44 00 cmp DWORD PTR [eax+68], 0 00040 74 05 je SHORT $LN6@On_Calenda ; 59 : return ; 00042 e9 1e 0b 00 00 jmp $LN1@On_Calenda $LN6@On_Calenda: ; 60 : try 00047 c7 45 fc 00 00 00 00 mov DWORD PTR __$EHRec$[ebp+12], 0 ; 61 : { ; 62 : m_bStart = true; 0004e 8b 45 e8 mov eax, DWORD PTR _this$[ebp] 00051 c7 40 44 01 00 00 00 mov DWORD PTR [eax+68], 1 ; 63 : CString strSelect; 00058 8d 4d e4 lea ecx, DWORD PTR _strSelect$28[ebp] 0005b e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::CStringT > > 00060 c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+12], 1 ; 64 : strSelect = "select calendar.*,users.mobile from calendar,users where calendar.Status=1 and calendar.userid = users.userid"; 00064 68 00 00 00 00 push OFFSET ??_C@_0GO@DJFPOCJD@select?5calendar?4?$CK?0users?4mobile?5@ 00069 8d 4d e4 lea ecx, DWORD PTR _strSelect$28[ebp] 0006c e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PBD@Z ; ATL::CStringT > >::operator= ; 65 : BOOL b = m_AdoRS.Open( strSelect ); 00071 8b 45 e8 mov eax, DWORD PTR _this$[ebp] 00074 83 c0 68 add eax, 104 ; 00000068H 00077 89 85 c0 a0 ff ff mov DWORD PTR tv86[ebp], eax 0007d 6a 03 push 3 0007f 6a 03 push 3 00081 6a 01 push 1 00083 8d 4d e4 lea ecx, DWORD PTR _strSelect$28[ebp] 00086 e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT::operator wchar_t const * 0008b 50 push eax 0008c 8b 8d c0 a0 ff ff mov ecx, DWORD PTR tv86[ebp] 00092 e8 00 00 00 00 call ?Open@CAdoRecordSet@@QAEHPB_WJW4CursorTypeEnum@ADODB@@W4LockTypeEnum@3@@Z ; CAdoRecordSet::Open 00097 89 45 e0 mov DWORD PTR _b$27[ebp], eax ; 66 : if ( b && !m_AdoRS.IsEOF() ) 0009a 83 7d e0 00 cmp DWORD PTR _b$27[ebp], 0 0009e 0f 84 e8 09 00 00 je $LN8@On_Calenda 000a4 8b 4d e8 mov ecx, DWORD PTR _this$[ebp] 000a7 83 c1 68 add ecx, 104 ; 00000068H 000aa e8 00 00 00 00 call ?IsEOF@CAdoRecordSet@@QAEHXZ ; CAdoRecordSet::IsEOF 000af 85 c0 test eax, eax 000b1 0f 85 d5 09 00 00 jne $LN8@On_Calenda ; 67 : { ; 68 : long lID; ; 69 : long lCorpID; ; 70 : long lUserID; ; 71 : long lType; ; 72 : COleDateTime tAlarm; 000b7 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 000ba e8 00 00 00 00 call ??0COleDateTime@ATL@@QAE@XZ ; ATL::COleDateTime::COleDateTime ; 73 : COleDateTime tSendLast; 000bf 8d 4d b8 lea ecx, DWORD PTR _tSendLast$21[ebp] 000c2 e8 00 00 00 00 call ??0COleDateTime@ATL@@QAE@XZ ; ATL::COleDateTime::COleDateTime ; 74 : CString strMsg; 000c7 8d 4d b4 lea ecx, DWORD PTR _strMsg$20[ebp] 000ca e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::CStringT > > 000cf c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+12], 2 ; 75 : CString strAddMsg; 000d3 8d 4d b0 lea ecx, DWORD PTR _strAddMsg$19[ebp] 000d6 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::CStringT > > 000db c6 45 fc 03 mov BYTE PTR __$EHRec$[ebp+12], 3 ; 76 : CString strMobile; 000df 8d 4d ac lea ecx, DWORD PTR _strMobile$18[ebp] 000e2 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::CStringT > > 000e7 c6 45 fc 04 mov BYTE PTR __$EHRec$[ebp+12], 4 ; 77 : CString strAddMobile; 000eb 8d 4d a8 lea ecx, DWORD PTR _strAddMobile$17[ebp] 000ee e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::CStringT > > 000f3 c6 45 fc 05 mov BYTE PTR __$EHRec$[ebp+12], 5 ; 78 : COleDateTimeSpan ts(0,0,30,0); 000f7 6a 00 push 0 000f9 6a 1e push 30 ; 0000001eH 000fb 6a 00 push 0 000fd 6a 00 push 0 000ff 8d 4d 9c lea ecx, DWORD PTR _ts$16[ebp] 00102 e8 00 00 00 00 call ??0COleDateTimeSpan@ATL@@QAE@JHHH@Z ; ATL::COleDateTimeSpan::COleDateTimeSpan ; 79 : TCHAR szTemp[32]={0}; 00107 6a 40 push 64 ; 00000040H 00109 6a 00 push 0 0010b 8d 85 5c ff ff ff lea eax, DWORD PTR _szTemp$15[ebp] 00111 50 push eax 00112 e8 00 00 00 00 call _memset 00117 83 c4 0c add esp, 12 ; 0000000cH ; 80 : ; 81 : long lCount2 = 0; 0011a c7 85 58 ff ff ff 00 00 00 00 mov DWORD PTR _lCount2$14[ebp], 0 $LN2@On_Calenda: ; 82 : while ( !m_AdoRS.IsEOF() && lCount2<1000 ) 00124 8b 4d e8 mov ecx, DWORD PTR _this$[ebp] 00127 83 c1 68 add ecx, 104 ; 00000068H 0012a e8 00 00 00 00 call ?IsEOF@CAdoRecordSet@@QAEHXZ ; CAdoRecordSet::IsEOF 0012f 85 c0 test eax, eax 00131 0f 85 25 09 00 00 jne $LN3@On_Calenda 00137 81 bd 58 ff ff ff e8 03 00 00 cmp DWORD PTR _lCount2$14[ebp], 1000 ; 000003e8H 00141 0f 8d 15 09 00 00 jge $LN3@On_Calenda ; 83 : { ; 84 : m_AdoRS.GetCollect( _T("CalendarID") , lID ); 00147 8b 45 e8 mov eax, DWORD PTR _this$[ebp] 0014a 83 c0 68 add eax, 104 ; 00000068H 0014d 89 85 c0 a0 ff ff mov DWORD PTR tv157[ebp], eax 00153 8d 4d dc lea ecx, DWORD PTR _lID$26[ebp] 00156 51 push ecx 00157 68 00 00 00 00 push OFFSET ??_C@_1BG@NGMKAKLL@?$AAC?$AAa?$AAl?$AAe?$AAn?$AAd?$AAa?$AAr?$AAI?$AAD@ 0015c 8b 8d c0 a0 ff ff mov ecx, DWORD PTR tv157[ebp] 00162 e8 00 00 00 00 call ?GetCollect@CAdoRecordSet@@QAEHPB_WAAJ@Z ; CAdoRecordSet::GetCollect ; 85 : m_AdoRS.GetCollect( _T("CorpID") , lCorpID ); 00167 8b 45 e8 mov eax, DWORD PTR _this$[ebp] 0016a 83 c0 68 add eax, 104 ; 00000068H 0016d 89 85 c0 a0 ff ff mov DWORD PTR tv163[ebp], eax 00173 8d 4d d8 lea ecx, DWORD PTR _lCorpID$25[ebp] 00176 51 push ecx 00177 68 00 00 00 00 push OFFSET ??_C@_1O@CLJHPHJA@?$AAC?$AAo?$AAr?$AAp?$AAI?$AAD@ 0017c 8b 8d c0 a0 ff ff mov ecx, DWORD PTR tv163[ebp] 00182 e8 00 00 00 00 call ?GetCollect@CAdoRecordSet@@QAEHPB_WAAJ@Z ; CAdoRecordSet::GetCollect ; 86 : m_AdoRS.GetCollect( _T("UserID") , lUserID ); 00187 8b 45 e8 mov eax, DWORD PTR _this$[ebp] 0018a 83 c0 68 add eax, 104 ; 00000068H 0018d 89 85 c0 a0 ff ff mov DWORD PTR tv169[ebp], eax 00193 8d 4d d4 lea ecx, DWORD PTR _lUserID$24[ebp] 00196 51 push ecx 00197 68 00 00 00 00 push OFFSET ??_C@_1O@DLKCLNNL@?$AAU?$AAs?$AAe?$AAr?$AAI?$AAD@ 0019c 8b 8d c0 a0 ff ff mov ecx, DWORD PTR tv169[ebp] 001a2 e8 00 00 00 00 call ?GetCollect@CAdoRecordSet@@QAEHPB_WAAJ@Z ; CAdoRecordSet::GetCollect ; 87 : m_AdoRS.GetCollect( _T("Type") , lType ); 001a7 8b 45 e8 mov eax, DWORD PTR _this$[ebp] 001aa 83 c0 68 add eax, 104 ; 00000068H 001ad 89 85 c0 a0 ff ff mov DWORD PTR tv175[ebp], eax 001b3 8d 4d d0 lea ecx, DWORD PTR _lType$23[ebp] 001b6 51 push ecx 001b7 68 00 00 00 00 push OFFSET ??_C@_19BIEPDBPA@?$AAT?$AAy?$AAp?$AAe@ 001bc 8b 8d c0 a0 ff ff mov ecx, DWORD PTR tv175[ebp] 001c2 e8 00 00 00 00 call ?GetCollect@CAdoRecordSet@@QAEHPB_WAAJ@Z ; CAdoRecordSet::GetCollect ; 88 : m_AdoRS.GetCollect( _T("Alarm"), tAlarm ); 001c7 8b 45 e8 mov eax, DWORD PTR _this$[ebp] 001ca 83 c0 68 add eax, 104 ; 00000068H 001cd 89 85 c0 a0 ff ff mov DWORD PTR tv181[ebp], eax 001d3 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 001d6 51 push ecx 001d7 68 00 00 00 00 push OFFSET ??_C@_1M@HHNAAFMA@?$AAA?$AAl?$AAa?$AAr?$AAm@ 001dc 8b 8d c0 a0 ff ff mov ecx, DWORD PTR tv181[ebp] 001e2 e8 00 00 00 00 call ?GetCollect@CAdoRecordSet@@QAEHPB_WAAVCOleDateTime@ATL@@@Z ; CAdoRecordSet::GetCollect ; 89 : m_AdoRS.GetCollect( _T("SendLast"),tSendLast); 001e7 8b 45 e8 mov eax, DWORD PTR _this$[ebp] 001ea 83 c0 68 add eax, 104 ; 00000068H 001ed 89 85 c0 a0 ff ff mov DWORD PTR tv187[ebp], eax 001f3 8d 4d b8 lea ecx, DWORD PTR _tSendLast$21[ebp] 001f6 51 push ecx 001f7 68 00 00 00 00 push OFFSET ??_C@_1BC@DIGKBDEI@?$AAS?$AAe?$AAn?$AAd?$AAL?$AAa?$AAs?$AAt@ 001fc 8b 8d c0 a0 ff ff mov ecx, DWORD PTR tv187[ebp] 00202 e8 00 00 00 00 call ?GetCollect@CAdoRecordSet@@QAEHPB_WAAVCOleDateTime@ATL@@@Z ; CAdoRecordSet::GetCollect ; 90 : m_AdoRS.GetCollect( _T("Msg") , strMsg ); 00207 8b 45 e8 mov eax, DWORD PTR _this$[ebp] 0020a 83 c0 68 add eax, 104 ; 00000068H 0020d 89 85 c0 a0 ff ff mov DWORD PTR tv193[ebp], eax 00213 8d 4d b4 lea ecx, DWORD PTR _strMsg$20[ebp] 00216 51 push ecx 00217 68 00 00 00 00 push OFFSET ??_C@_17DACEHHP@?$AAM?$AAs?$AAg@ 0021c 8b 8d c0 a0 ff ff mov ecx, DWORD PTR tv193[ebp] 00222 e8 00 00 00 00 call ?GetCollect@CAdoRecordSet@@QAEHPB_WAAV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@Z ; CAdoRecordSet::GetCollect ; 91 : m_AdoRS.GetCollect( _T("AddMsg") , strAddMsg ); 00227 8b 45 e8 mov eax, DWORD PTR _this$[ebp] 0022a 83 c0 68 add eax, 104 ; 00000068H 0022d 89 85 c0 a0 ff ff mov DWORD PTR tv199[ebp], eax 00233 8d 4d b0 lea ecx, DWORD PTR _strAddMsg$19[ebp] 00236 51 push ecx 00237 68 00 00 00 00 push OFFSET ??_C@_1O@JIHFAECL@?$AAA?$AAd?$AAd?$AAM?$AAs?$AAg@ 0023c 8b 8d c0 a0 ff ff mov ecx, DWORD PTR tv199[ebp] 00242 e8 00 00 00 00 call ?GetCollect@CAdoRecordSet@@QAEHPB_WAAV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@Z ; CAdoRecordSet::GetCollect ; 92 : m_AdoRS.GetCollect( _T("Mobile") , strMobile ); 00247 8b 45 e8 mov eax, DWORD PTR _this$[ebp] 0024a 83 c0 68 add eax, 104 ; 00000068H 0024d 89 85 c0 a0 ff ff mov DWORD PTR tv205[ebp], eax 00253 8d 4d ac lea ecx, DWORD PTR _strMobile$18[ebp] 00256 51 push ecx 00257 68 00 00 00 00 push OFFSET ??_C@_1O@OLLJFFCG@?$AAM?$AAo?$AAb?$AAi?$AAl?$AAe@ 0025c 8b 8d c0 a0 ff ff mov ecx, DWORD PTR tv205[ebp] 00262 e8 00 00 00 00 call ?GetCollect@CAdoRecordSet@@QAEHPB_WAAV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@Z ; CAdoRecordSet::GetCollect ; 93 : m_AdoRS.GetCollect( _T("AddMobile") , strAddMobile ); 00267 8b 45 e8 mov eax, DWORD PTR _this$[ebp] 0026a 83 c0 68 add eax, 104 ; 00000068H 0026d 89 85 c0 a0 ff ff mov DWORD PTR tv211[ebp], eax 00273 8d 4d a8 lea ecx, DWORD PTR _strAddMobile$17[ebp] 00276 51 push ecx 00277 68 00 00 00 00 push OFFSET ??_C@_1BE@GEFLPCGK@?$AAA?$AAd?$AAd?$AAM?$AAo?$AAb?$AAi?$AAl?$AAe@ 0027c 8b 8d c0 a0 ff ff mov ecx, DWORD PTR tv211[ebp] 00282 e8 00 00 00 00 call ?GetCollect@CAdoRecordSet@@QAEHPB_WAAV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@Z ; CAdoRecordSet::GetCollect ; 94 : ; 95 : if ( strAddMobile.GetLength()>=10 ) 00287 8d 4d a8 lea ecx, DWORD PTR _strAddMobile$17[ebp] 0028a e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT::GetLength 0028f 83 f8 0a cmp eax, 10 ; 0000000aH 00292 7c 0c jl SHORT $LN9@On_Calenda ; 96 : strMobile = strAddMobile; 00294 8d 45 a8 lea eax, DWORD PTR _strAddMobile$17[ebp] 00297 50 push eax 00298 8d 4d ac lea ecx, DWORD PTR _strMobile$18[ebp] 0029b e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CStringT > >::operator= $LN9@On_Calenda: ; 97 : if ( tAlarm.GetStatus() == COleDateTime::valid ) 002a0 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 002a3 e8 00 00 00 00 call ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus 002a8 85 c0 test eax, eax 002aa 0f 85 8d 07 00 00 jne $LN10@On_Calenda ; 98 : { ; 99 : BOOL bSend=false; 002b0 c7 85 54 ff ff ff 00 00 00 00 mov DWORD PTR _bSend$13[ebp], 0 ; 100 : COleDateTime tNow = COleDateTime::GetCurrentTime(); 002ba 8d 85 48 ff ff ff lea eax, DWORD PTR _tNow$12[ebp] 002c0 50 push eax 002c1 e8 00 00 00 00 call ?GetTickCount@COleDateTime@ATL@@SG?AV12@XZ ; ATL::COleDateTime::GetTickCount ; 101 : switch ( lType ) 002c6 8b 45 d0 mov eax, DWORD PTR _lType$23[ebp] 002c9 89 85 c0 a0 ff ff mov DWORD PTR tv223[ebp], eax 002cf 83 bd c0 a0 ff ff 04 cmp DWORD PTR tv223[ebp], 4 002d6 0f 87 47 05 00 00 ja $LN4@On_Calenda 002dc 8b 8d c0 a0 ff ff mov ecx, DWORD PTR tv223[ebp] 002e2 ff 24 8d 00 00 00 00 jmp DWORD PTR $LN52@On_Calenda[ecx*4] $LN11@On_Calenda: ; 102 : { ; 103 : case 0: //年提醒 ; 104 : tAlarm.SetDateTime(tNow.GetYear(),tAlarm.GetMonth(),tAlarm.GetDay(),tAlarm.GetHour(),tAlarm.GetMinute(),tAlarm.GetSecond() ); //提醒时间 002e9 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 002ec e8 00 00 00 00 call ?GetSecond@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetSecond 002f1 89 85 c0 a0 ff ff mov DWORD PTR tv256[ebp], eax 002f7 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 002fa e8 00 00 00 00 call ?GetMinute@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetMinute 002ff 89 85 bc a0 ff ff mov DWORD PTR tv254[ebp], eax 00305 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 00308 e8 00 00 00 00 call ?GetHour@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetHour 0030d 89 85 b8 a0 ff ff mov DWORD PTR tv252[ebp], eax 00313 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 00316 e8 00 00 00 00 call ?GetDay@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetDay 0031b 89 85 b4 a0 ff ff mov DWORD PTR tv250[ebp], eax 00321 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 00324 e8 00 00 00 00 call ?GetMonth@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetMonth 00329 89 85 b0 a0 ff ff mov DWORD PTR tv248[ebp], eax 0032f 8d 8d 48 ff ff ff lea ecx, DWORD PTR _tNow$12[ebp] 00335 e8 00 00 00 00 call ?GetYear@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetYear 0033a 89 85 ac a0 ff ff mov DWORD PTR tv246[ebp], eax 00340 8b 85 c0 a0 ff ff mov eax, DWORD PTR tv256[ebp] 00346 50 push eax 00347 8b 8d bc a0 ff ff mov ecx, DWORD PTR tv254[ebp] 0034d 51 push ecx 0034e 8b 95 b8 a0 ff ff mov edx, DWORD PTR tv252[ebp] 00354 52 push edx 00355 8b 85 b4 a0 ff ff mov eax, DWORD PTR tv250[ebp] 0035b 50 push eax 0035c 8b 8d b0 a0 ff ff mov ecx, DWORD PTR tv248[ebp] 00362 51 push ecx 00363 8b 95 ac a0 ff ff mov edx, DWORD PTR tv246[ebp] 00369 52 push edx 0036a 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 0036d e8 00 00 00 00 call ?SetDateTime@COleDateTime@ATL@@QAEHHHHHHH@Z ; ATL::COleDateTime::SetDateTime ; 105 : if (tAlarm.GetStatus()==COleDateTime::valid && tNow > tAlarm && (tNow-tAlarm) 0038d 0f b6 c8 movzx ecx, al 00390 85 c9 test ecx, ecx 00392 74 67 je SHORT $LN12@On_Calenda 00394 8d 45 c4 lea eax, DWORD PTR _tAlarm$22[ebp] 00397 50 push eax 00398 8d 8d fc a0 ff ff lea ecx, DWORD PTR $T8[ebp] 0039e 51 push ecx 0039f 8d 8d 48 ff ff ff lea ecx, DWORD PTR _tNow$12[ebp] 003a5 e8 00 00 00 00 call ??GCOleDateTime@ATL@@QBE?AVCOleDateTimeSpan@1@ABV01@@Z ; ATL::COleDateTime::operator- 003aa 89 85 c0 a0 ff ff mov DWORD PTR tv272[ebp], eax 003b0 8d 55 9c lea edx, DWORD PTR _ts$16[ebp] 003b3 52 push edx 003b4 8b 8d c0 a0 ff ff mov ecx, DWORD PTR tv272[ebp] 003ba e8 00 00 00 00 call ??MCOleDateTimeSpan@ATL@@QBE_NABV01@@Z ; ATL::COleDateTimeSpan::operator< 003bf 0f b6 c0 movzx eax, al 003c2 85 c0 test eax, eax 003c4 74 35 je SHORT $LN12@On_Calenda ; 106 : { ; 107 : if ( tSendLast.GetStatus() == COleDateTime::valid ) 003c6 8d 4d b8 lea ecx, DWORD PTR _tSendLast$21[ebp] 003c9 e8 00 00 00 00 call ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus 003ce 85 c0 test eax, eax 003d0 75 1f jne SHORT $LN13@On_Calenda ; 108 : { ; 109 : if ( tSendLast != tAlarm ) //如果最后提醒时间与提醒时间相一,则表示当前日期已提醒过 003d2 8d 45 c4 lea eax, DWORD PTR _tAlarm$22[ebp] 003d5 50 push eax 003d6 8d 4d b8 lea ecx, DWORD PTR _tSendLast$21[ebp] 003d9 e8 00 00 00 00 call ??9COleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator!= 003de 0f b6 c8 movzx ecx, al 003e1 85 c9 test ecx, ecx 003e3 74 0a je SHORT $LN15@On_Calenda ; 110 : bSend = true; 003e5 c7 85 54 ff ff ff 01 00 00 00 mov DWORD PTR _bSend$13[ebp], 1 $LN15@On_Calenda: ; 111 : } 003ef eb 0a jmp SHORT $LN12@On_Calenda $LN13@On_Calenda: ; 112 : else ; 113 : { ; 114 : bSend = true; 003f1 c7 85 54 ff ff ff 01 00 00 00 mov DWORD PTR _bSend$13[ebp], 1 $LN12@On_Calenda: ; 115 : } ; 116 : } ; 117 : break; 003fb e9 23 04 00 00 jmp $LN4@On_Calenda $LN16@On_Calenda: ; 118 : case 1: //月提醒 ; 119 : tAlarm.SetDateTime(tNow.GetYear(),tNow.GetMonth(),tAlarm.GetDay(),tAlarm.GetHour(),tAlarm.GetMinute(),tAlarm.GetSecond() ); //提醒时间 00400 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 00403 e8 00 00 00 00 call ?GetSecond@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetSecond 00408 89 85 c0 a0 ff ff mov DWORD PTR tv314[ebp], eax 0040e 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 00411 e8 00 00 00 00 call ?GetMinute@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetMinute 00416 89 85 bc a0 ff ff mov DWORD PTR tv312[ebp], eax 0041c 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 0041f e8 00 00 00 00 call ?GetHour@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetHour 00424 89 85 b8 a0 ff ff mov DWORD PTR tv310[ebp], eax 0042a 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 0042d e8 00 00 00 00 call ?GetDay@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetDay 00432 89 85 b4 a0 ff ff mov DWORD PTR tv308[ebp], eax 00438 8d 8d 48 ff ff ff lea ecx, DWORD PTR _tNow$12[ebp] 0043e e8 00 00 00 00 call ?GetMonth@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetMonth 00443 89 85 b0 a0 ff ff mov DWORD PTR tv306[ebp], eax 00449 8d 8d 48 ff ff ff lea ecx, DWORD PTR _tNow$12[ebp] 0044f e8 00 00 00 00 call ?GetYear@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetYear 00454 89 85 ac a0 ff ff mov DWORD PTR tv304[ebp], eax 0045a 8b 85 c0 a0 ff ff mov eax, DWORD PTR tv314[ebp] 00460 50 push eax 00461 8b 8d bc a0 ff ff mov ecx, DWORD PTR tv312[ebp] 00467 51 push ecx 00468 8b 95 b8 a0 ff ff mov edx, DWORD PTR tv310[ebp] 0046e 52 push edx 0046f 8b 85 b4 a0 ff ff mov eax, DWORD PTR tv308[ebp] 00475 50 push eax 00476 8b 8d b0 a0 ff ff mov ecx, DWORD PTR tv306[ebp] 0047c 51 push ecx 0047d 8b 95 ac a0 ff ff mov edx, DWORD PTR tv304[ebp] 00483 52 push edx 00484 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 00487 e8 00 00 00 00 call ?SetDateTime@COleDateTime@ATL@@QAEHHHHHHH@Z ; ATL::COleDateTime::SetDateTime ; 120 : if (tAlarm.GetStatus()==COleDateTime::valid && tNow > tAlarm && (tNow-tAlarm) 004a7 0f b6 c8 movzx ecx, al 004aa 85 c9 test ecx, ecx 004ac 74 67 je SHORT $LN17@On_Calenda 004ae 8d 45 c4 lea eax, DWORD PTR _tAlarm$22[ebp] 004b1 50 push eax 004b2 8d 8d f0 a0 ff ff lea ecx, DWORD PTR $T7[ebp] 004b8 51 push ecx 004b9 8d 8d 48 ff ff ff lea ecx, DWORD PTR _tNow$12[ebp] 004bf e8 00 00 00 00 call ??GCOleDateTime@ATL@@QBE?AVCOleDateTimeSpan@1@ABV01@@Z ; ATL::COleDateTime::operator- 004c4 89 85 c0 a0 ff ff mov DWORD PTR tv330[ebp], eax 004ca 8d 55 9c lea edx, DWORD PTR _ts$16[ebp] 004cd 52 push edx 004ce 8b 8d c0 a0 ff ff mov ecx, DWORD PTR tv330[ebp] 004d4 e8 00 00 00 00 call ??MCOleDateTimeSpan@ATL@@QBE_NABV01@@Z ; ATL::COleDateTimeSpan::operator< 004d9 0f b6 c0 movzx eax, al 004dc 85 c0 test eax, eax 004de 74 35 je SHORT $LN17@On_Calenda ; 121 : { ; 122 : if ( tSendLast.GetStatus() == COleDateTime::valid ) 004e0 8d 4d b8 lea ecx, DWORD PTR _tSendLast$21[ebp] 004e3 e8 00 00 00 00 call ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus 004e8 85 c0 test eax, eax 004ea 75 1f jne SHORT $LN18@On_Calenda ; 123 : { ; 124 : if ( tSendLast != tAlarm ) //如果最后提醒时间与提醒时间相一,则表示当前日期已提醒过 004ec 8d 45 c4 lea eax, DWORD PTR _tAlarm$22[ebp] 004ef 50 push eax 004f0 8d 4d b8 lea ecx, DWORD PTR _tSendLast$21[ebp] 004f3 e8 00 00 00 00 call ??9COleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator!= 004f8 0f b6 c8 movzx ecx, al 004fb 85 c9 test ecx, ecx 004fd 74 0a je SHORT $LN20@On_Calenda ; 125 : bSend = true; 004ff c7 85 54 ff ff ff 01 00 00 00 mov DWORD PTR _bSend$13[ebp], 1 $LN20@On_Calenda: ; 126 : } 00509 eb 0a jmp SHORT $LN17@On_Calenda $LN18@On_Calenda: ; 127 : else ; 128 : { ; 129 : bSend = true; 0050b c7 85 54 ff ff ff 01 00 00 00 mov DWORD PTR _bSend$13[ebp], 1 $LN17@On_Calenda: ; 130 : } ; 131 : } ; 132 : break; 00515 e9 09 03 00 00 jmp $LN4@On_Calenda $LN21@On_Calenda: ; 133 : case 2: //周提醒 ; 134 : _stprintf(szTemp, _T("%d") , tNow.GetDayOfWeek()-1 ); //星期 0051a 8d 8d 48 ff ff ff lea ecx, DWORD PTR _tNow$12[ebp] 00520 e8 00 00 00 00 call ?GetDayOfWeek@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetDayOfWeek 00525 83 e8 01 sub eax, 1 00528 50 push eax 00529 68 00 00 00 00 push OFFSET ??_C@_15KNBIKKIN@?$AA?$CF?$AAd@ 0052e 8d 85 5c ff ff ff lea eax, DWORD PTR _szTemp$15[ebp] 00534 50 push eax 00535 e8 00 00 00 00 call __swprintf 0053a 83 c4 0c add esp, 12 ; 0000000cH ; 135 : if ( strAddMsg.Find(szTemp[0]) >= 0 ) //判断此星期数是否需要提醒 0053d 6a 00 push 0 0053f b8 02 00 00 00 mov eax, 2 00544 6b c8 00 imul ecx, eax, 0 00547 0f b7 94 0d 5c ff ff ff movzx edx, WORD PTR _szTemp$15[ebp+ecx] 0054f 52 push edx 00550 8d 4d b0 lea ecx, DWORD PTR _strAddMsg$19[ebp] 00553 e8 00 00 00 00 call ?Find@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEH_WH@Z ; ATL::CStringT > >::Find 00558 85 c0 test eax, eax 0055a 0f 8c 18 01 00 00 jl $LN22@On_Calenda ; 136 : { ; 137 : tAlarm.SetDateTime(tNow.GetYear(),tNow.GetMonth(),tNow.GetDay(),tAlarm.GetHour(),tAlarm.GetMinute(),tAlarm.GetSecond() ); //提醒时间 00560 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 00563 e8 00 00 00 00 call ?GetSecond@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetSecond 00568 89 85 c0 a0 ff ff mov DWORD PTR tv385[ebp], eax 0056e 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 00571 e8 00 00 00 00 call ?GetMinute@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetMinute 00576 89 85 bc a0 ff ff mov DWORD PTR tv383[ebp], eax 0057c 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 0057f e8 00 00 00 00 call ?GetHour@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetHour 00584 89 85 b8 a0 ff ff mov DWORD PTR tv381[ebp], eax 0058a 8d 8d 48 ff ff ff lea ecx, DWORD PTR _tNow$12[ebp] 00590 e8 00 00 00 00 call ?GetDay@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetDay 00595 89 85 b4 a0 ff ff mov DWORD PTR tv379[ebp], eax 0059b 8d 8d 48 ff ff ff lea ecx, DWORD PTR _tNow$12[ebp] 005a1 e8 00 00 00 00 call ?GetMonth@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetMonth 005a6 89 85 b0 a0 ff ff mov DWORD PTR tv377[ebp], eax 005ac 8d 8d 48 ff ff ff lea ecx, DWORD PTR _tNow$12[ebp] 005b2 e8 00 00 00 00 call ?GetYear@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetYear 005b7 89 85 ac a0 ff ff mov DWORD PTR tv375[ebp], eax 005bd 8b 85 c0 a0 ff ff mov eax, DWORD PTR tv385[ebp] 005c3 50 push eax 005c4 8b 8d bc a0 ff ff mov ecx, DWORD PTR tv383[ebp] 005ca 51 push ecx 005cb 8b 95 b8 a0 ff ff mov edx, DWORD PTR tv381[ebp] 005d1 52 push edx 005d2 8b 85 b4 a0 ff ff mov eax, DWORD PTR tv379[ebp] 005d8 50 push eax 005d9 8b 8d b0 a0 ff ff mov ecx, DWORD PTR tv377[ebp] 005df 51 push ecx 005e0 8b 95 ac a0 ff ff mov edx, DWORD PTR tv375[ebp] 005e6 52 push edx 005e7 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 005ea e8 00 00 00 00 call ?SetDateTime@COleDateTime@ATL@@QAEHHHHHHH@Z ; ATL::COleDateTime::SetDateTime ; 138 : if (tAlarm.GetStatus()==COleDateTime::valid && tNow > tAlarm && (tNow-tAlarm) 0060a 0f b6 c8 movzx ecx, al 0060d 85 c9 test ecx, ecx 0060f 74 67 je SHORT $LN22@On_Calenda 00611 8d 45 c4 lea eax, DWORD PTR _tAlarm$22[ebp] 00614 50 push eax 00615 8d 8d e4 a0 ff ff lea ecx, DWORD PTR $T6[ebp] 0061b 51 push ecx 0061c 8d 8d 48 ff ff ff lea ecx, DWORD PTR _tNow$12[ebp] 00622 e8 00 00 00 00 call ??GCOleDateTime@ATL@@QBE?AVCOleDateTimeSpan@1@ABV01@@Z ; ATL::COleDateTime::operator- 00627 89 85 c0 a0 ff ff mov DWORD PTR tv401[ebp], eax 0062d 8d 55 9c lea edx, DWORD PTR _ts$16[ebp] 00630 52 push edx 00631 8b 8d c0 a0 ff ff mov ecx, DWORD PTR tv401[ebp] 00637 e8 00 00 00 00 call ??MCOleDateTimeSpan@ATL@@QBE_NABV01@@Z ; ATL::COleDateTimeSpan::operator< 0063c 0f b6 c0 movzx eax, al 0063f 85 c0 test eax, eax 00641 74 35 je SHORT $LN22@On_Calenda ; 139 : { ; 140 : if ( tSendLast.GetStatus() == COleDateTime::valid ) 00643 8d 4d b8 lea ecx, DWORD PTR _tSendLast$21[ebp] 00646 e8 00 00 00 00 call ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus 0064b 85 c0 test eax, eax 0064d 75 1f jne SHORT $LN24@On_Calenda ; 141 : { ; 142 : if ( tSendLast != tAlarm ) //如果最后提醒时间与提醒时间相一,则表示当前日期已提醒过 0064f 8d 45 c4 lea eax, DWORD PTR _tAlarm$22[ebp] 00652 50 push eax 00653 8d 4d b8 lea ecx, DWORD PTR _tSendLast$21[ebp] 00656 e8 00 00 00 00 call ??9COleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator!= 0065b 0f b6 c8 movzx ecx, al 0065e 85 c9 test ecx, ecx 00660 74 0a je SHORT $LN26@On_Calenda ; 143 : bSend = true; 00662 c7 85 54 ff ff ff 01 00 00 00 mov DWORD PTR _bSend$13[ebp], 1 $LN26@On_Calenda: ; 144 : } 0066c eb 0a jmp SHORT $LN22@On_Calenda $LN24@On_Calenda: ; 145 : else ; 146 : { ; 147 : bSend = true; 0066e c7 85 54 ff ff ff 01 00 00 00 mov DWORD PTR _bSend$13[ebp], 1 $LN22@On_Calenda: ; 148 : } ; 149 : } ; 150 : } ; 151 : break; 00678 e9 a6 01 00 00 jmp $LN4@On_Calenda $LN27@On_Calenda: ; 152 : case 3: //日提醒 ; 153 : tAlarm.SetDateTime(tNow.GetYear(),tNow.GetMonth(),tNow.GetDay(),tAlarm.GetHour(),tAlarm.GetMinute(),tAlarm.GetSecond() ); //提醒时间 0067d 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 00680 e8 00 00 00 00 call ?GetSecond@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetSecond 00685 89 85 c0 a0 ff ff mov DWORD PTR tv443[ebp], eax 0068b 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 0068e e8 00 00 00 00 call ?GetMinute@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetMinute 00693 89 85 bc a0 ff ff mov DWORD PTR tv441[ebp], eax 00699 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 0069c e8 00 00 00 00 call ?GetHour@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetHour 006a1 89 85 b8 a0 ff ff mov DWORD PTR tv439[ebp], eax 006a7 8d 8d 48 ff ff ff lea ecx, DWORD PTR _tNow$12[ebp] 006ad e8 00 00 00 00 call ?GetDay@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetDay 006b2 89 85 b4 a0 ff ff mov DWORD PTR tv437[ebp], eax 006b8 8d 8d 48 ff ff ff lea ecx, DWORD PTR _tNow$12[ebp] 006be e8 00 00 00 00 call ?GetMonth@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetMonth 006c3 89 85 b0 a0 ff ff mov DWORD PTR tv435[ebp], eax 006c9 8d 8d 48 ff ff ff lea ecx, DWORD PTR _tNow$12[ebp] 006cf e8 00 00 00 00 call ?GetYear@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetYear 006d4 89 85 ac a0 ff ff mov DWORD PTR tv433[ebp], eax 006da 8b 85 c0 a0 ff ff mov eax, DWORD PTR tv443[ebp] 006e0 50 push eax 006e1 8b 8d bc a0 ff ff mov ecx, DWORD PTR tv441[ebp] 006e7 51 push ecx 006e8 8b 95 b8 a0 ff ff mov edx, DWORD PTR tv439[ebp] 006ee 52 push edx 006ef 8b 85 b4 a0 ff ff mov eax, DWORD PTR tv437[ebp] 006f5 50 push eax 006f6 8b 8d b0 a0 ff ff mov ecx, DWORD PTR tv435[ebp] 006fc 51 push ecx 006fd 8b 95 ac a0 ff ff mov edx, DWORD PTR tv433[ebp] 00703 52 push edx 00704 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 00707 e8 00 00 00 00 call ?SetDateTime@COleDateTime@ATL@@QAEHHHHHHH@Z ; ATL::COleDateTime::SetDateTime ; 154 : if (tAlarm.GetStatus()==COleDateTime::valid && tNow > tAlarm && (tNow-tAlarm) 00727 0f b6 c8 movzx ecx, al 0072a 85 c9 test ecx, ecx 0072c 74 67 je SHORT $LN28@On_Calenda 0072e 8d 45 c4 lea eax, DWORD PTR _tAlarm$22[ebp] 00731 50 push eax 00732 8d 8d d8 a0 ff ff lea ecx, DWORD PTR $T5[ebp] 00738 51 push ecx 00739 8d 8d 48 ff ff ff lea ecx, DWORD PTR _tNow$12[ebp] 0073f e8 00 00 00 00 call ??GCOleDateTime@ATL@@QBE?AVCOleDateTimeSpan@1@ABV01@@Z ; ATL::COleDateTime::operator- 00744 89 85 c0 a0 ff ff mov DWORD PTR tv459[ebp], eax 0074a 8d 55 9c lea edx, DWORD PTR _ts$16[ebp] 0074d 52 push edx 0074e 8b 8d c0 a0 ff ff mov ecx, DWORD PTR tv459[ebp] 00754 e8 00 00 00 00 call ??MCOleDateTimeSpan@ATL@@QBE_NABV01@@Z ; ATL::COleDateTimeSpan::operator< 00759 0f b6 c0 movzx eax, al 0075c 85 c0 test eax, eax 0075e 74 35 je SHORT $LN28@On_Calenda ; 155 : { ; 156 : if ( tSendLast.GetStatus() == COleDateTime::valid ) 00760 8d 4d b8 lea ecx, DWORD PTR _tSendLast$21[ebp] 00763 e8 00 00 00 00 call ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus 00768 85 c0 test eax, eax 0076a 75 1f jne SHORT $LN29@On_Calenda ; 157 : { ; 158 : if ( tSendLast != tAlarm ) //如果最后提醒时间与提醒时间相一,则表示当前日期已提醒过 0076c 8d 45 c4 lea eax, DWORD PTR _tAlarm$22[ebp] 0076f 50 push eax 00770 8d 4d b8 lea ecx, DWORD PTR _tSendLast$21[ebp] 00773 e8 00 00 00 00 call ??9COleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator!= 00778 0f b6 c8 movzx ecx, al 0077b 85 c9 test ecx, ecx 0077d 74 0a je SHORT $LN31@On_Calenda ; 159 : bSend = true; 0077f c7 85 54 ff ff ff 01 00 00 00 mov DWORD PTR _bSend$13[ebp], 1 $LN31@On_Calenda: ; 160 : } 00789 eb 0a jmp SHORT $LN28@On_Calenda $LN29@On_Calenda: ; 161 : else ; 162 : { ; 163 : bSend = true; 0078b c7 85 54 ff ff ff 01 00 00 00 mov DWORD PTR _bSend$13[ebp], 1 $LN28@On_Calenda: ; 164 : } ; 165 : } ; 166 : break; 00795 e9 89 00 00 00 jmp $LN4@On_Calenda $LN32@On_Calenda: ; 167 : case 4: //提醒一次 ; 168 : //tAlarm.SetDateTime(tNow.GetYear(),tNow.GetMonth(),tNow.GetDay(),tAlarm.GetHour(),tAlarm.GetMinute(),tAlarm.GetSecond() ); //提醒时间 ; 169 : if (tAlarm.GetStatus()==COleDateTime::valid && tNow > tAlarm && (tNow-tAlarm) 007b5 0f b6 c8 movzx ecx, al 007b8 85 c9 test ecx, ecx 007ba 74 67 je SHORT $LN4@On_Calenda 007bc 8d 45 c4 lea eax, DWORD PTR _tAlarm$22[ebp] 007bf 50 push eax 007c0 8d 8d cc a0 ff ff lea ecx, DWORD PTR $T4[ebp] 007c6 51 push ecx 007c7 8d 8d 48 ff ff ff lea ecx, DWORD PTR _tNow$12[ebp] 007cd e8 00 00 00 00 call ??GCOleDateTime@ATL@@QBE?AVCOleDateTimeSpan@1@ABV01@@Z ; ATL::COleDateTime::operator- 007d2 89 85 c0 a0 ff ff mov DWORD PTR tv486[ebp], eax 007d8 8d 55 9c lea edx, DWORD PTR _ts$16[ebp] 007db 52 push edx 007dc 8b 8d c0 a0 ff ff mov ecx, DWORD PTR tv486[ebp] 007e2 e8 00 00 00 00 call ??MCOleDateTimeSpan@ATL@@QBE_NABV01@@Z ; ATL::COleDateTimeSpan::operator< 007e7 0f b6 c0 movzx eax, al 007ea 85 c0 test eax, eax 007ec 74 35 je SHORT $LN4@On_Calenda ; 170 : { ; 171 : if ( tSendLast.GetStatus() == COleDateTime::valid ) 007ee 8d 4d b8 lea ecx, DWORD PTR _tSendLast$21[ebp] 007f1 e8 00 00 00 00 call ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus 007f6 85 c0 test eax, eax 007f8 75 1f jne SHORT $LN34@On_Calenda ; 172 : { ; 173 : if ( tSendLast != tAlarm ) //如果最后提醒时间与提醒时间相一,则表示当前日期已提醒过 007fa 8d 45 c4 lea eax, DWORD PTR _tAlarm$22[ebp] 007fd 50 push eax 007fe 8d 4d b8 lea ecx, DWORD PTR _tSendLast$21[ebp] 00801 e8 00 00 00 00 call ??9COleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator!= 00806 0f b6 c8 movzx ecx, al 00809 85 c9 test ecx, ecx 0080b 74 0a je SHORT $LN36@On_Calenda ; 174 : bSend = true; 0080d c7 85 54 ff ff ff 01 00 00 00 mov DWORD PTR _bSend$13[ebp], 1 $LN36@On_Calenda: ; 175 : } 00817 eb 0a jmp SHORT $LN4@On_Calenda $LN34@On_Calenda: ; 176 : else ; 177 : { ; 178 : bSend = true; 00819 c7 85 54 ff ff ff 01 00 00 00 mov DWORD PTR _bSend$13[ebp], 1 $LN4@On_Calenda: ; 179 : } ; 180 : } ; 181 : break; ; 182 : } ; 183 : if ( bSend ) 00823 83 bd 54 ff ff ff 00 cmp DWORD PTR _bSend$13[ebp], 0 0082a 0f 84 0d 02 00 00 je $LN10@On_Calenda ; 184 : { ; 185 : m_AdoRS.Close(); 00830 8b 4d e8 mov ecx, DWORD PTR _this$[ebp] 00833 83 c1 68 add ecx, 104 ; 00000068H 00836 e8 00 00 00 00 call ?Close@CAdoRecordSet@@QAEXXZ ; CAdoRecordSet::Close ; 186 : strSelect.Format( _T("update calendar set SendLast='%04d%02d%02d %02d:%02d:%02d' where CalendarID=%d"),tAlarm.GetYear(),tAlarm.GetMonth(),tAlarm.GetDay(),tAlarm.GetHour(),tAlarm.GetMinute(),tAlarm.GetSecond(),lID ); 0083b 8b 45 dc mov eax, DWORD PTR _lID$26[ebp] 0083e 89 85 c0 a0 ff ff mov DWORD PTR tv535[ebp], eax 00844 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 00847 e8 00 00 00 00 call ?GetSecond@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetSecond 0084c 89 85 bc a0 ff ff mov DWORD PTR tv533[ebp], eax 00852 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 00855 e8 00 00 00 00 call ?GetMinute@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetMinute 0085a 89 85 b8 a0 ff ff mov DWORD PTR tv531[ebp], eax 00860 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 00863 e8 00 00 00 00 call ?GetHour@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetHour 00868 89 85 b4 a0 ff ff mov DWORD PTR tv529[ebp], eax 0086e 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 00871 e8 00 00 00 00 call ?GetDay@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetDay 00876 89 85 b0 a0 ff ff mov DWORD PTR tv527[ebp], eax 0087c 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 0087f e8 00 00 00 00 call ?GetMonth@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetMonth 00884 89 85 ac a0 ff ff mov DWORD PTR tv525[ebp], eax 0088a 8d 4d c4 lea ecx, DWORD PTR _tAlarm$22[ebp] 0088d e8 00 00 00 00 call ?GetYear@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetYear 00892 89 85 a8 a0 ff ff mov DWORD PTR tv523[ebp], eax 00898 8b 8d c0 a0 ff ff mov ecx, DWORD PTR tv535[ebp] 0089e 51 push ecx 0089f 8b 95 bc a0 ff ff mov edx, DWORD PTR tv533[ebp] 008a5 52 push edx 008a6 8b 85 b8 a0 ff ff mov eax, DWORD PTR tv531[ebp] 008ac 50 push eax 008ad 8b 8d b4 a0 ff ff mov ecx, DWORD PTR tv529[ebp] 008b3 51 push ecx 008b4 8b 95 b0 a0 ff ff mov edx, DWORD PTR tv527[ebp] 008ba 52 push edx 008bb 8b 85 ac a0 ff ff mov eax, DWORD PTR tv525[ebp] 008c1 50 push eax 008c2 8b 8d a8 a0 ff ff mov ecx, DWORD PTR tv523[ebp] 008c8 51 push ecx 008c9 68 00 00 00 00 push OFFSET ??_C@_1JO@HGCDGPOA@?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?5?$AAc?$AAa?$AAl?$AAe?$AAn?$AAd?$AAa?$AAr@ 008ce 8d 55 e4 lea edx, DWORD PTR _strSelect$28[ebp] 008d1 52 push edx 008d2 e8 00 00 00 00 call ?Format@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAAXPB_WZZ ; ATL::CStringT > >::Format 008d7 83 c4 24 add esp, 36 ; 00000024H ; 187 : m_AdoRS1.Open(strSelect); 008da 8b 45 e8 mov eax, DWORD PTR _this$[ebp] 008dd 05 a0 00 00 00 add eax, 160 ; 000000a0H 008e2 89 85 c0 a0 ff ff mov DWORD PTR tv550[ebp], eax 008e8 6a 03 push 3 008ea 6a 03 push 3 008ec 6a 01 push 1 008ee 8d 4d e4 lea ecx, DWORD PTR _strSelect$28[ebp] 008f1 e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT::operator wchar_t const * 008f6 50 push eax 008f7 8b 8d c0 a0 ff ff mov ecx, DWORD PTR tv550[ebp] 008fd e8 00 00 00 00 call ?Open@CAdoRecordSet@@QAEHPB_WJW4CursorTypeEnum@ADODB@@W4LockTypeEnum@3@@Z ; CAdoRecordSet::Open ; 188 : if ( lType == 4 ) //提醒一次,提醒后置状态为 00902 83 7d d0 04 cmp DWORD PTR _lType$23[ebp], 4 00906 75 3d jne SHORT $LN38@On_Calenda ; 189 : { ; 190 : strSelect.Format( _T("update calendar set Status=0 where CalendarID=%d"),lID ); 00908 8b 45 dc mov eax, DWORD PTR _lID$26[ebp] 0090b 50 push eax 0090c 68 00 00 00 00 push OFFSET ??_C@_1GC@EOFKHDCO@?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?5?$AAc?$AAa?$AAl?$AAe?$AAn?$AAd?$AAa?$AAr@ 00911 8d 4d e4 lea ecx, DWORD PTR _strSelect$28[ebp] 00914 51 push ecx 00915 e8 00 00 00 00 call ?Format@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAAXPB_WZZ ; ATL::CStringT > >::Format 0091a 83 c4 0c add esp, 12 ; 0000000cH ; 191 : m_AdoRS1.Open(strSelect); 0091d 8b 45 e8 mov eax, DWORD PTR _this$[ebp] 00920 05 a0 00 00 00 add eax, 160 ; 000000a0H 00925 89 85 c0 a0 ff ff mov DWORD PTR tv568[ebp], eax 0092b 6a 03 push 3 0092d 6a 03 push 3 0092f 6a 01 push 1 00931 8d 4d e4 lea ecx, DWORD PTR _strSelect$28[ebp] 00934 e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT::operator wchar_t const * 00939 50 push eax 0093a 8b 8d c0 a0 ff ff mov ecx, DWORD PTR tv568[ebp] 00940 e8 00 00 00 00 call ?Open@CAdoRecordSet@@QAEHPB_WJW4CursorTypeEnum@ADODB@@W4LockTypeEnum@3@@Z ; CAdoRecordSet::Open $LN38@On_Calenda: ; 192 : } ; 193 : //提交短信 ; 194 : long lMobType = MOBILE_TYPE_CMCC; 00945 c7 85 44 ff ff ff 00 00 00 00 mov DWORD PTR _lMobType$11[ebp], 0 ; 195 : //if ( isNumUnicom((char*)(LPCTSTR)strMobile) ) ; 196 : // lMobType = MOBILE_TYPE_UNICOM; ; 197 : ; 198 : SubmitData data={0}; 0094f 68 94 44 00 00 push 17556 ; 00004494H 00954 6a 00 push 0 00956 8d 85 b0 ba ff ff lea eax, DWORD PTR _data$10[ebp] 0095c 50 push eax 0095d e8 00 00 00 00 call _memset 00962 83 c4 0c add esp, 12 ; 0000000cH ; 199 : data.lCorpID = lCorpID; 00965 8b 45 d8 mov eax, DWORD PTR _lCorpID$25[ebp] 00968 89 85 c0 ba ff ff mov DWORD PTR _data$10[ebp+16], eax ; 200 : data.lUserID = lUserID; 0096e 8b 45 d4 mov eax, DWORD PTR _lUserID$24[ebp] 00971 89 85 c4 ba ff ff mov DWORD PTR _data$10[ebp+20], eax ; 201 : _tcscpy( data.szName , _T("calendar") ); 00977 68 00 00 00 00 push OFFSET ??_C@_1BC@INEIBCOA@?$AAc?$AAa?$AAl?$AAe?$AAn?$AAd?$AAa?$AAr@ 0097c 8d 85 08 bb ff ff lea eax, DWORD PTR _data$10[ebp+88] 00982 50 push eax 00983 e8 00 00 00 00 call _wcscpy 00988 83 c4 08 add esp, 8 ; 202 : _tcscpy( data.szMobile , strMobile ); 0098b 8d 4d ac lea ecx, DWORD PTR _strMobile$18[ebp] 0098e e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT::operator wchar_t const * 00993 50 push eax 00994 8d 85 48 bb ff ff lea eax, DWORD PTR _data$10[ebp+152] 0099a 50 push eax 0099b e8 00 00 00 00 call _wcscpy 009a0 83 c4 08 add esp, 8 ; 203 : _tcscpy( data.szMsg , strMsg ); 009a3 8d 4d b4 lea ecx, DWORD PTR _strMsg$20[ebp] 009a6 e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT::operator wchar_t const * 009ab 50 push eax 009ac 8d 85 88 bb ff ff lea eax, DWORD PTR _data$10[ebp+216] 009b2 50 push eax 009b3 e8 00 00 00 00 call _wcscpy 009b8 83 c4 08 add esp, 8 ; 204 : CSendThread::SubmitSms( data,&m_AdoRS1,&m_AdoRS2,m_pSMSDlg,lMobType,SMSTYPE_ALARM); //发送短信 009bb 6a 00 push 0 009bd 6a 02 push 2 009bf 8b 85 44 ff ff ff mov eax, DWORD PTR _lMobType$11[ebp] 009c5 50 push eax 009c6 8b 4d e8 mov ecx, DWORD PTR _this$[ebp] 009c9 8b 91 10 01 00 00 mov edx, DWORD PTR [ecx+272] 009cf 52 push edx 009d0 8b 45 e8 mov eax, DWORD PTR _this$[ebp] 009d3 05 d8 00 00 00 add eax, 216 ; 000000d8H 009d8 50 push eax 009d9 8b 4d e8 mov ecx, DWORD PTR _this$[ebp] 009dc 81 c1 a0 00 00 00 add ecx, 160 ; 000000a0H 009e2 51 push ecx 009e3 8d 95 b0 ba ff ff lea edx, DWORD PTR _data$10[ebp] 009e9 52 push edx 009ea e8 00 00 00 00 call ?SubmitSms@CSendThread@@SAJAAU_SubmitData@@PAVCAdoRecordSet@@1PAVCSmsCenterDlg@@JJJ@Z ; CSendThread::SubmitSms 009ef 83 c4 1c add esp, 28 ; 0000001cH ; 205 : //提醒一次后,退出,等下一次再检测下一条 ; 206 : m_bStart = false; 009f2 8b 45 e8 mov eax, DWORD PTR _this$[ebp] 009f5 c7 40 44 00 00 00 00 mov DWORD PTR [eax+68], 0 ; 207 : return ; 009fc c6 45 fc 04 mov BYTE PTR __$EHRec$[ebp+12], 4 00a00 8d 4d a8 lea ecx, DWORD PTR _strAddMobile$17[ebp] 00a03 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::~CStringT > > 00a08 c6 45 fc 03 mov BYTE PTR __$EHRec$[ebp+12], 3 00a0c 8d 4d ac lea ecx, DWORD PTR _strMobile$18[ebp] 00a0f e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::~CStringT > > 00a14 c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+12], 2 00a18 8d 4d b0 lea ecx, DWORD PTR _strAddMsg$19[ebp] 00a1b e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::~CStringT > > 00a20 c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+12], 1 00a24 8d 4d b4 lea ecx, DWORD PTR _strMsg$20[ebp] 00a27 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::~CStringT > > 00a2c c6 45 fc 00 mov BYTE PTR __$EHRec$[ebp+12], 0 00a30 8d 4d e4 lea ecx, DWORD PTR _strSelect$28[ebp] 00a33 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::~CStringT > > 00a38 e9 28 01 00 00 jmp $LN1@On_Calenda $LN10@On_Calenda: ; 208 : } ; 209 : } ; 210 : m_AdoRS.MoveNext(); 00a3d 8b 4d e8 mov ecx, DWORD PTR _this$[ebp] 00a40 83 c1 68 add ecx, 104 ; 00000068H 00a43 e8 00 00 00 00 call ?MoveNext@CAdoRecordSet@@QAEHXZ ; CAdoRecordSet::MoveNext ; 211 : lCount2 ++; 00a48 8b 85 58 ff ff ff mov eax, DWORD PTR _lCount2$14[ebp] 00a4e 83 c0 01 add eax, 1 00a51 89 85 58 ff ff ff mov DWORD PTR _lCount2$14[ebp], eax ; 212 : } 00a57 e9 c8 f6 ff ff jmp $LN2@On_Calenda $LN3@On_Calenda: ; 213 : } 00a5c c6 45 fc 04 mov BYTE PTR __$EHRec$[ebp+12], 4 00a60 8d 4d a8 lea ecx, DWORD PTR _strAddMobile$17[ebp] 00a63 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::~CStringT > > 00a68 c6 45 fc 03 mov BYTE PTR __$EHRec$[ebp+12], 3 00a6c 8d 4d ac lea ecx, DWORD PTR _strMobile$18[ebp] 00a6f e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::~CStringT > > 00a74 c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+12], 2 00a78 8d 4d b0 lea ecx, DWORD PTR _strAddMsg$19[ebp] 00a7b e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::~CStringT > > 00a80 c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+12], 1 00a84 8d 4d b4 lea ecx, DWORD PTR _strMsg$20[ebp] 00a87 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::~CStringT > > $LN8@On_Calenda: ; 214 : m_bStart = false; 00a8c 8b 45 e8 mov eax, DWORD PTR _this$[ebp] 00a8f c7 40 44 00 00 00 00 mov DWORD PTR [eax+68], 0 ; 215 : } 00a96 c6 45 fc 00 mov BYTE PTR __$EHRec$[ebp+12], 0 00a9a 8d 4d e4 lea ecx, DWORD PTR _strSelect$28[ebp] 00a9d e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::~CStringT > > 00aa2 e9 a2 00 00 00 jmp $LN40@On_Calenda __catch$?On_Calendar@CCalendarThread@@QAEXIJ@Z$0: ; 216 : catch(...) ; 217 : { ; 218 : LOG_APPERROR(_T("T")); 00aa7 8d 8d 08 a3 ff ff lea ecx, DWORD PTR _NXlog$9[ebp] 00aad e8 00 00 00 00 call ??0CSAStatusLog@@QAE@XZ ; CSAStatusLog::CSAStatusLog 00ab2 c6 45 fc 07 mov BYTE PTR __$EHRec$[ebp+12], 7 00ab6 51 push ecx 00ab7 8b cc mov ecx, esp 00ab9 89 a5 c8 a0 ff ff mov DWORD PTR $T3[ebp], esp 00abf 68 00 00 00 00 push OFFSET ??_C@_1BC@HEKPCAFP@?$AAA?$AAp?$AAp?$AAE?$AAr?$AAr?$AAo?$AAr@ 00ac4 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT > >::CStringT > > 00ac9 89 85 c0 a0 ff ff mov DWORD PTR tv637[ebp], eax 00acf c6 45 fc 08 mov BYTE PTR __$EHRec$[ebp+12], 8 00ad3 51 push ecx 00ad4 8b cc mov ecx, esp 00ad6 89 a5 c4 a0 ff ff mov DWORD PTR $T2[ebp], esp 00adc 68 00 00 00 00 push OFFSET ??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@ 00ae1 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT > >::CStringT > > 00ae6 89 85 bc a0 ff ff mov DWORD PTR tv136[ebp], eax 00aec c6 45 fc 09 mov BYTE PTR __$EHRec$[ebp+12], 9 00af0 c6 45 fc 07 mov BYTE PTR __$EHRec$[ebp+12], 7 00af4 8d 8d 08 a3 ff ff lea ecx, DWORD PTR _NXlog$9[ebp] 00afa e8 00 00 00 00 call ?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z ; CSAStatusLog::Init 00aff a1 00 00 00 00 mov eax, DWORD PTR ?__LINE__Var@?0??On_Calendar@CCalendarThread@@QAEXIJ@Z@4JA 00b04 05 a1 00 00 00 add eax, 161 ; 000000a1H 00b09 50 push eax 00b0a 68 00 00 00 00 push OFFSET ??_C@_0M@KFELEFGO@On_Calendar@ 00b0f 68 00 00 00 00 push OFFSET ??_C@_0DD@DGLCBPEK@D?3?2Works?2Corpsms_2010?2SmsCenter@ 00b14 68 00 00 00 00 push OFFSET ??_C@_13JKNELIBG@?$AAT@ 00b19 8d 8d 08 a3 ff ff lea ecx, DWORD PTR _NXlog$9[ebp] 00b1f e8 00 00 00 00 call ?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z ; CSAStatusLog::LogError 00b24 c6 45 fc 06 mov BYTE PTR __$EHRec$[ebp+12], 6 00b28 8d 8d 08 a3 ff ff lea ecx, DWORD PTR _NXlog$9[ebp] 00b2e e8 00 00 00 00 call ??1CSAStatusLog@@QAE@XZ ; CSAStatusLog::~CSAStatusLog ; 219 : m_bStart = false; 00b33 8b 45 e8 mov eax, DWORD PTR _this$[ebp] 00b36 c7 40 44 00 00 00 00 mov DWORD PTR [eax+68], 0 ; 220 : return ; 00b3d b8 00 00 00 00 mov eax, $LN51@On_Calenda 00b42 c3 ret 0 ; 221 : } 00b43 b8 00 00 00 00 mov eax, $LN40@On_Calenda 00b48 c3 ret 0 $LN40@On_Calenda: 00b49 c7 45 fc ff ff ff ff mov DWORD PTR __$EHRec$[ebp+12], -1 00b50 eb 09 jmp SHORT $LN50@On_Calenda $LN51@On_Calenda: 00b52 c7 45 fc ff ff ff ff mov DWORD PTR __$EHRec$[ebp+12], -1 ; 220 : return ; 00b59 eb 0a jmp SHORT $LN1@On_Calenda $LN50@On_Calenda: ; 222 : m_bStart = false; 00b5b 8b 45 e8 mov eax, DWORD PTR _this$[ebp] 00b5e c7 40 44 00 00 00 00 mov DWORD PTR [eax+68], 0 $LN1@On_Calenda: ; 223 : return ; ; 224 : } 00b65 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp+4] 00b68 64 89 0d 00 00 00 00 mov DWORD PTR fs:0, ecx 00b6f 59 pop ecx 00b70 5f pop edi 00b71 5e pop esi 00b72 5b pop ebx 00b73 8b 4d ec mov ecx, DWORD PTR __$ArrayPad$[ebp] 00b76 33 cd xor ecx, ebp 00b78 e8 00 00 00 00 call @__security_check_cookie@4 00b7d 8b e5 mov esp, ebp 00b7f 5d pop ebp 00b80 c2 08 00 ret 8 00b83 90 npad 1 $LN52@On_Calenda: 00b84 00 00 00 00 DD $LN11@On_Calenda 00b88 00 00 00 00 DD $LN16@On_Calenda 00b8c 00 00 00 00 DD $LN21@On_Calenda 00b90 00 00 00 00 DD $LN27@On_Calenda 00b94 00 00 00 00 DD $LN32@On_Calenda _TEXT ENDS ; COMDAT text$x text$x SEGMENT __unwindfunclet$?On_Calendar@CCalendarThread@@QAEXIJ@Z$2: 00000 8d 4d e4 lea ecx, DWORD PTR _strSelect$28[ebp] 00003 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::~CStringT > > __unwindfunclet$?On_Calendar@CCalendarThread@@QAEXIJ@Z$3: 00008 8d 4d b4 lea ecx, DWORD PTR _strMsg$20[ebp] 0000b e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::~CStringT > > __unwindfunclet$?On_Calendar@CCalendarThread@@QAEXIJ@Z$4: 00010 8d 4d b0 lea ecx, DWORD PTR _strAddMsg$19[ebp] 00013 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::~CStringT > > __unwindfunclet$?On_Calendar@CCalendarThread@@QAEXIJ@Z$5: 00018 8d 4d ac lea ecx, DWORD PTR _strMobile$18[ebp] 0001b e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::~CStringT > > __unwindfunclet$?On_Calendar@CCalendarThread@@QAEXIJ@Z$6: 00020 8d 4d a8 lea ecx, DWORD PTR _strAddMobile$17[ebp] 00023 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::~CStringT > > __unwindfunclet$?On_Calendar@CCalendarThread@@QAEXIJ@Z$7: 00028 8d 8d 08 a3 ff ff lea ecx, DWORD PTR _NXlog$9[ebp] 0002e e9 00 00 00 00 jmp ??1CSAStatusLog@@QAE@XZ ; CSAStatusLog::~CSAStatusLog __unwindfunclet$?On_Calendar@CCalendarThread@@QAEXIJ@Z$8: 00033 8b 8d c8 a0 ff ff mov ecx, DWORD PTR $T3[ebp] 00039 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::~CStringT > > __unwindfunclet$?On_Calendar@CCalendarThread@@QAEXIJ@Z$9: 0003e 8b 8d c4 a0 ff ff mov ecx, DWORD PTR $T2[ebp] 00044 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::~CStringT > > 00049 cc int 3 0004a cc int 3 0004b cc int 3 0004c cc int 3 0004d cc int 3 __ehhandler$?On_Calendar@CCalendarThread@@QAEXIJ@Z: 0004e 90 npad 1 0004f 90 npad 1 00050 8b 54 24 08 mov edx, DWORD PTR [esp+8] 00054 8d 42 0c lea eax, DWORD PTR [edx+12] 00057 8b 8a a4 a0 ff ff mov ecx, DWORD PTR [edx-24412] 0005d 33 c8 xor ecx, eax 0005f e8 00 00 00 00 call @__security_check_cookie@4 00064 8b 4a f8 mov ecx, DWORD PTR [edx-8] 00067 33 c8 xor ecx, eax 00069 e8 00 00 00 00 call @__security_check_cookie@4 0006e b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?On_Calendar@CCalendarThread@@QAEXIJ@Z 00073 e9 00 00 00 00 jmp ___CxxFrameHandler3 text$x ENDS ?On_Calendar@CCalendarThread@@QAEXIJ@Z ENDP ; CCalendarThread::On_Calendar ; Function compile flags: /Odtp /ZI ; File D:\Works\Corpsms_2010\SmsCenter\CalendarThread.cpp ; COMDAT ??1CCalendarThread@@UAE@XZ _TEXT SEGMENT _this$ = -16 ; size = 4 __$EHRec$ = -12 ; size = 12 ??1CCalendarThread@@UAE@XZ PROC ; CCalendarThread::~CCalendarThread, COMDAT ; _this$ = ecx ; 28 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 6a ff push -1 00005 68 00 00 00 00 push __ehhandler$??1CCalendarThread@@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 ??_7CCalendarThread@@6B@ 00034 c7 45 fc 04 00 00 00 mov DWORD PTR __$EHRec$[ebp+8], 4 ; 29 : } 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$??1CCalendarThread@@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$??1CCalendarThread@@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$??1CCalendarThread@@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$??1CCalendarThread@@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$??1CCalendarThread@@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$??1CCalendarThread@@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$??1CCalendarThread@@UAE@XZ 00057 e9 00 00 00 00 jmp ___CxxFrameHandler3 text$x ENDS ??1CCalendarThread@@UAE@XZ ENDP ; CCalendarThread::~CCalendarThread ; Function compile flags: /Odtp /ZI ; File D:\Works\Corpsms_2010\SmsCenter\CalendarThread.cpp ; COMDAT ?ExitInstance@CCalendarThread@@UAEHXZ _TEXT SEGMENT _this$ = -4 ; size = 4 ?ExitInstance@CCalendarThread@@UAEHXZ PROC ; CCalendarThread::ExitInstance, 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 : CoUninitialize(); 0000c ff 15 00 00 00 00 call DWORD PTR __imp__CoUninitialize@0 ; 41 : ; 42 : // TODO: perform any per-thread cleanup here ; 43 : 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 ; 44 : } 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@CCalendarThread@@UAEHXZ ENDP ; CCalendarThread::ExitInstance _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File D:\Works\Corpsms_2010\SmsCenter\CalendarThread.cpp ; COMDAT ?InitInstance@CCalendarThread@@UAEHXZ _TEXT SEGMENT _this$ = -4 ; size = 4 ?InitInstance@CCalendarThread@@UAEHXZ PROC ; CCalendarThread::InitInstance, COMDAT ; _this$ = ecx ; 32 : { 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 ; 33 : 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 ; 34 : // TODO: perform and per-thread initialization here ; 35 : return TRUE; 00016 b8 01 00 00 00 mov eax, 1 ; 36 : } 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@CCalendarThread@@UAEHXZ ENDP ; CCalendarThread::InitInstance _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File D:\Works\Corpsms_2010\SmsCenter\CalendarThread.cpp ; COMDAT ?SetParam@CCalendarThread@@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@CCalendarThread@@QAEHPAVCSmsCenterDlg@@@Z PROC ; CCalendarThread::SetParam, COMDAT ; _this$ = ecx ; 227 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 6a ff push -1 00005 68 00 00 00 00 push __ehhandler$?SetParam@CCalendarThread@@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 ; 228 : 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 ; 229 : 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 > >::CStringT > > 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 > >::CStringT > > 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 > >::CStringT > > 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 > >::CStringT > > 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 > >::CStringT > > 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 ; 230 : if ( b ) 000fe 83 7d ec 00 cmp DWORD PTR _b$[ebp], 0 00102 74 62 je SHORT $LN2@SetParam ; 231 : { ; 232 : m_adoConnection.SetCommandTimeout(7200); //设置连接超时时间 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 ; 233 : #ifdef SMSCENTER_USECLIENT ; 234 : m_adoConnection.SetCursorLocation(adUseClient); //设置为本地游标类型 ; 235 : #endif ; 236 : m_AdoRS.SetAdoConnection( &m_adoConnection ); //设置数据库连接 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 ; 237 : m_AdoRS1.SetAdoConnection( &m_adoConnection ); //设置数据库连接 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 ; 238 : m_AdoRS2.SetAdoConnection( &m_adoConnection ); //设置数据库连接 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: ; 239 : } ; 240 : return b; 00166 8b 45 ec mov eax, DWORD PTR _b$[ebp] ; 241 : } 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@CCalendarThread@@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 > >::~CStringT > > __unwindfunclet$?SetParam@CCalendarThread@@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 > >::~CStringT > > __unwindfunclet$?SetParam@CCalendarThread@@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 > >::~CStringT > > __unwindfunclet$?SetParam@CCalendarThread@@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 > >::~CStringT > > __unwindfunclet$?SetParam@CCalendarThread@@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 > >::~CStringT > > 00028 cc int 3 00029 cc int 3 0002a cc int 3 0002b cc int 3 0002c cc int 3 __ehhandler$?SetParam@CCalendarThread@@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@CCalendarThread@@QAEHPAVCSmsCenterDlg@@@Z 00048 e9 00 00 00 00 jmp ___CxxFrameHandler3 text$x ENDS ?SetParam@CCalendarThread@@QAEHPAVCSmsCenterDlg@@@Z ENDP ; CCalendarThread::SetParam ; Function compile flags: /Odtp /ZI ; File D:\Works\Corpsms_2010\SmsCenter\CalendarThread.cpp ; COMDAT ??0CCalendarThread@@QAE@XZ _TEXT SEGMENT _this$ = -16 ; size = 4 __$EHRec$ = -12 ; size = 12 ??0CCalendarThread@@QAE@XZ PROC ; CCalendarThread::CCalendarThread, COMDAT ; _this$ = ecx ; 22 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 6a ff push -1 00005 68 00 00 00 00 push __ehhandler$??0CCalendarThread@@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 ??_7CCalendarThread@@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 ; 23 : 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 ; 24 : 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 ; 25 : } 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$??0CCalendarThread@@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$??0CCalendarThread@@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$??0CCalendarThread@@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$??0CCalendarThread@@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$??0CCalendarThread@@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$??0CCalendarThread@@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$??0CCalendarThread@@QAE@XZ 00057 e9 00 00 00 00 jmp ___CxxFrameHandler3 text$x ENDS ??0CCalendarThread@@QAE@XZ ENDP ; CCalendarThread::CCalendarThread ; Function compile flags: /Odtp /ZI ; File D:\Works\Corpsms_2010\SmsCenter\CalendarThread.cpp ; COMDAT ?CreateObject@CCalendarThread@@SGPAVCObject@@XZ _TEXT SEGMENT tv77 = -88 ; size = 4 $T2 = -84 ; size = 4 $T3 = -80 ; size = 4 __$EHRec$ = -12 ; size = 12 ?CreateObject@CCalendarThread@@SGPAVCObject@@XZ PROC ; CCalendarThread::CreateObject, COMDAT ; 19 : IMPLEMENT_DYNCREATE(CCalendarThread, 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@CCalendarThread@@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 ??0CCalendarThread@@QAE@XZ ; CCalendarThread::CCalendarThread 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@CCalendarThread@@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@CCalendarThread@@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@CCalendarThread@@SGPAVCObject@@XZ 00027 e9 00 00 00 00 jmp ___CxxFrameHandler3 text$x ENDS ?CreateObject@CCalendarThread@@SGPAVCObject@@XZ ENDP ; CCalendarThread::CreateObject ; Function compile flags: /Odtp /ZI ; File D:\Works\Corpsms_2010\SmsCenter\CalendarThread.cpp ; COMDAT ?GetRuntimeClass@CCalendarThread@@UBEPAUCRuntimeClass@@XZ _TEXT SEGMENT _this$ = -4 ; size = 4 ?GetRuntimeClass@CCalendarThread@@UBEPAUCRuntimeClass@@XZ PROC ; CCalendarThread::GetRuntimeClass, COMDAT ; _this$ = ecx ; 19 : IMPLEMENT_DYNCREATE(CCalendarThread, 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 ?classCCalendarThread@CCalendarThread@@2UCRuntimeClass@@B ; CCalendarThread::classCCalendarThread 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@CCalendarThread@@UBEPAUCRuntimeClass@@XZ ENDP ; CCalendarThread::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 ?SetDateTime@COleDateTime@ATL@@QAEHHHHHHH@Z _TEXT SEGMENT tv72 = -104 ; size = 4 _st$ = -36 ; size = 16 _this$ = -20 ; size = 4 __$ArrayPad$ = -16 ; size = 4 __$EHRec$ = -12 ; size = 12 _nYear$ = 8 ; size = 4 _nMonth$ = 12 ; size = 4 _nDay$ = 16 ; size = 4 _nHour$ = 20 ; size = 4 _nMin$ = 24 ; size = 4 _nSec$ = 28 ; size = 4 ?SetDateTime@COleDateTime@ATL@@QAEHHHHHHH@Z PROC ; ATL::COleDateTime::SetDateTime, COMDAT ; _this$ = ecx ; 873 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 6a ff push -1 00005 68 00 00 00 00 push __ehhandler$?SetDateTime@COleDateTime@ATL@@QAEHHHHHHH@Z 0000a 64 a1 00 00 00 00 mov eax, DWORD PTR fs:0 00010 50 push eax 00011 83 ec 5c sub esp, 92 ; 0000005cH 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 ; 874 : SYSTEMTIME st; ; 875 : ::ZeroMemory(&st, sizeof(SYSTEMTIME)); 0002e 6a 10 push 16 ; 00000010H 00030 6a 00 push 0 00032 8d 45 dc lea eax, DWORD PTR _st$[ebp] 00035 50 push eax 00036 e8 00 00 00 00 call _memset 0003b 83 c4 0c add esp, 12 ; 0000000cH ; 876 : ; 877 : st.wYear = WORD(nYear); 0003e 66 8b 45 08 mov ax, WORD PTR _nYear$[ebp] 00042 66 89 45 dc mov WORD PTR _st$[ebp], ax ; 878 : st.wMonth = WORD(nMonth); 00046 66 8b 45 0c mov ax, WORD PTR _nMonth$[ebp] 0004a 66 89 45 de mov WORD PTR _st$[ebp+2], ax ; 879 : st.wDay = WORD(nDay); 0004e 66 8b 45 10 mov ax, WORD PTR _nDay$[ebp] 00052 66 89 45 e2 mov WORD PTR _st$[ebp+6], ax ; 880 : st.wHour = WORD(nHour); 00056 66 8b 45 14 mov ax, WORD PTR _nHour$[ebp] 0005a 66 89 45 e4 mov WORD PTR _st$[ebp+8], ax ; 881 : st.wMinute = WORD(nMin); 0005e 66 8b 45 18 mov ax, WORD PTR _nMin$[ebp] 00062 66 89 45 e6 mov WORD PTR _st$[ebp+10], ax ; 882 : st.wSecond = WORD(nSec); 00066 66 8b 45 1c mov ax, WORD PTR _nSec$[ebp] 0006a 66 89 45 e8 mov WORD PTR _st$[ebp+12], ax ; 883 : ; 884 : m_status = ConvertSystemTimeToVariantTime(st) ? valid : invalid; 0006e 8d 45 dc lea eax, DWORD PTR _st$[ebp] 00071 50 push eax 00072 8b 4d ec mov ecx, DWORD PTR _this$[ebp] 00075 e8 00 00 00 00 call ?ConvertSystemTimeToVariantTime@COleDateTime@ATL@@IAEHABU_SYSTEMTIME@@@Z ; ATL::COleDateTime::ConvertSystemTimeToVariantTime 0007a 85 c0 test eax, eax 0007c 74 09 je SHORT $LN3@SetDateTim 0007e c7 45 98 00 00 00 00 mov DWORD PTR tv72[ebp], 0 00085 eb 07 jmp SHORT $LN4@SetDateTim $LN3@SetDateTim: 00087 c7 45 98 01 00 00 00 mov DWORD PTR tv72[ebp], 1 $LN4@SetDateTim: 0008e 8b 4d ec mov ecx, DWORD PTR _this$[ebp] 00091 8b 55 98 mov edx, DWORD PTR tv72[ebp] 00094 89 51 08 mov DWORD PTR [ecx+8], edx ; 885 : return m_status; 00097 8b 45 ec mov eax, DWORD PTR _this$[ebp] 0009a 8b 40 08 mov eax, DWORD PTR [eax+8] ; 886 : } 0009d 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp] 000a0 64 89 0d 00 00 00 00 mov DWORD PTR fs:0, ecx 000a7 59 pop ecx 000a8 5f pop edi 000a9 5e pop esi 000aa 5b pop ebx 000ab 8b 4d f0 mov ecx, DWORD PTR __$ArrayPad$[ebp] 000ae 33 cd xor ecx, ebp 000b0 e8 00 00 00 00 call @__security_check_cookie@4 000b5 8b e5 mov esp, ebp 000b7 5d pop ebp 000b8 c2 18 00 ret 24 ; 00000018H 000bb cc int 3 000bc cc int 3 000bd cc int 3 000be cc int 3 000bf cc int 3 _TEXT ENDS ; COMDAT text$x text$x SEGMENT __ehhandler$?SetDateTime@COleDateTime@ATL@@QAEHHHHHHH@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 94 mov ecx, DWORD PTR [edx-108] 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$?SetDateTime@COleDateTime@ATL@@QAEHHHHHHH@Z 00022 e9 00 00 00 00 jmp ___CxxFrameHandler3 text$x ENDS ?SetDateTime@COleDateTime@ATL@@QAEHHHHHHH@Z ENDP ; ATL::COleDateTime::SetDateTime ; 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 ??OCOleDateTime@ATL@@QBE_NABV01@@Z _TEXT SEGMENT tv79 = -96 ; size = 4 tv130 = -92 ; size = 8 tv135 = -84 ; size = 8 tv91 = -76 ; size = 8 _this$ = -4 ; size = 4 _date$ = 8 ; size = 4 ??OCOleDateTime@ATL@@QBE_NABV01@@Z PROC ; ATL::COleDateTime::operator>, COMDAT ; _this$ = ecx ; 804 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 83 ec 60 sub esp, 96 ; 00000060H 00006 53 push ebx 00007 56 push esi 00008 57 push edi 00009 89 4d fc mov DWORD PTR _this$[ebp], ecx ; 805 : ATLASSERT(GetStatus() == valid); ; 806 : ATLASSERT(date.GetStatus() == valid); ; 807 : if( (GetStatus() == valid) && (GetStatus() == date.GetStatus()) ) 0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 0000f e8 00 00 00 00 call ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus 00014 85 c0 test eax, eax 00016 75 6f jne SHORT $LN2@operator 00018 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 0001b e8 00 00 00 00 call ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus 00020 8b f0 mov esi, eax 00022 8b 4d 08 mov ecx, DWORD PTR _date$[ebp] 00025 e8 00 00 00 00 call ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus 0002a 3b f0 cmp esi, eax 0002c 75 59 jne SHORT $LN2@operator ; 808 : return( DoubleFromDate( m_dt ) > DoubleFromDate( date.m_dt ) ); 0002e 8b 45 fc mov eax, DWORD PTR _this$[ebp] 00031 83 ec 08 sub esp, 8 00034 f2 0f 10 00 movsd xmm0, QWORD PTR [eax] 00038 f2 0f 11 04 24 movsd QWORD PTR [esp], xmm0 0003d e8 00 00 00 00 call ?DoubleFromDate@COleDateTime@ATL@@KGNN@Z ; ATL::COleDateTime::DoubleFromDate 00042 dd 5d b4 fstp QWORD PTR tv91[ebp] 00045 f2 0f 10 45 b4 movsd xmm0, QWORD PTR tv91[ebp] 0004a 8b 4d 08 mov ecx, DWORD PTR _date$[ebp] 0004d 83 ec 08 sub esp, 8 00050 f2 0f 10 09 movsd xmm1, QWORD PTR [ecx] 00054 f2 0f 11 0c 24 movsd QWORD PTR [esp], xmm1 00059 f2 0f 11 45 ac movsd QWORD PTR tv135[ebp], xmm0 0005e e8 00 00 00 00 call ?DoubleFromDate@COleDateTime@ATL@@KGNN@Z ; ATL::COleDateTime::DoubleFromDate 00063 dd 5d a4 fstp QWORD PTR tv130[ebp] 00066 f2 0f 10 45 ac movsd xmm0, QWORD PTR tv135[ebp] 0006b 66 0f 2f 45 a4 comisd xmm0, QWORD PTR tv130[ebp] 00070 76 09 jbe SHORT $LN4@operator 00072 c7 45 a0 01 00 00 00 mov DWORD PTR tv79[ebp], 1 00079 eb 07 jmp SHORT $LN5@operator $LN4@operator: 0007b c7 45 a0 00 00 00 00 mov DWORD PTR tv79[ebp], 0 $LN5@operator: 00082 8a 45 a0 mov al, BYTE PTR tv79[ebp] 00085 eb 02 jmp SHORT $LN1@operator $LN2@operator: ; 809 : ; 810 : return false; 00087 32 c0 xor al, al $LN1@operator: ; 811 : } 00089 5f pop edi 0008a 5e pop esi 0008b 5b pop ebx 0008c 8b e5 mov esp, ebp 0008e 5d pop ebp 0008f c2 04 00 ret 4 ??OCOleDateTime@ATL@@QBE_NABV01@@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 ??9COleDateTime@ATL@@QBE_NABV01@@Z _TEXT SEGMENT tv69 = -72 ; size = 4 _this$ = -4 ; size = 4 _date$ = 8 ; size = 4 ??9COleDateTime@ATL@@QBE_NABV01@@Z PROC ; ATL::COleDateTime::operator!=, COMDAT ; _this$ = ecx ; 789 : { 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 ; 790 : return !operator==(date); 0000c 8b 45 08 mov eax, DWORD PTR _date$[ebp] 0000f 50 push eax 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 00013 e8 00 00 00 00 call ??8COleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator== 00018 0f b6 c8 movzx ecx, al 0001b 85 c9 test ecx, ecx 0001d 75 09 jne SHORT $LN3@operator 0001f c7 45 b8 01 00 00 00 mov DWORD PTR tv69[ebp], 1 00026 eb 07 jmp SHORT $LN4@operator $LN3@operator: 00028 c7 45 b8 00 00 00 00 mov DWORD PTR tv69[ebp], 0 $LN4@operator: 0002f 8a 45 b8 mov al, BYTE PTR tv69[ebp] ; 791 : } 00032 5f pop edi 00033 5e pop esi 00034 5b pop ebx 00035 8b e5 mov esp, ebp 00037 5d pop ebp 00038 c2 04 00 ret 4 ??9COleDateTime@ATL@@QBE_NABV01@@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 ??8COleDateTime@ATL@@QBE_NABV01@@Z _TEXT SEGMENT tv83 = -72 ; size = 4 _this$ = -4 ; size = 4 _date$ = 8 ; size = 4 ??8COleDateTime@ATL@@QBE_NABV01@@Z PROC ; ATL::COleDateTime::operator==, COMDAT ; _this$ = ecx ; 765 : { 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 ; 766 : if(GetStatus() == date.GetStatus()) 0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 0000f e8 00 00 00 00 call ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus 00014 8b f0 mov esi, eax 00016 8b 4d 08 mov ecx, DWORD PTR _date$[ebp] 00019 e8 00 00 00 00 call ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus 0001e 3b f0 cmp esi, eax 00020 75 6c jne SHORT $LN2@operator ; 767 : { ; 768 : if(GetStatus() == valid) 00022 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 00025 e8 00 00 00 00 call ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus 0002a 85 c0 test eax, eax 0002c 75 3e jne SHORT $LN5@operator ; 769 : { ; 770 : // it has to be in precision range to say that it as equal ; 771 : if (m_dt + COleDateTimeSpan::OLE_DATETIME_HALFSECOND > date.m_dt && 0002e 8b 45 fc mov eax, DWORD PTR _this$[ebp] 00031 f2 0f 10 00 movsd xmm0, QWORD PTR [eax] 00035 f2 0f 58 05 00 00 00 00 addsd xmm0, QWORD PTR __real@3ed845c8a0ce5129 0003d 8b 4d 08 mov ecx, DWORD PTR _date$[ebp] 00040 66 0f 2f 01 comisd xmm0, QWORD PTR [ecx] 00044 76 22 jbe SHORT $LN4@operator 00046 8b 45 fc mov eax, DWORD PTR _this$[ebp] 00049 f2 0f 10 00 movsd xmm0, QWORD PTR [eax] 0004d f2 0f 5c 05 00 00 00 00 subsd xmm0, QWORD PTR __real@3ed845c8a0ce5129 00055 8b 4d 08 mov ecx, DWORD PTR _date$[ebp] 00058 f2 0f 10 09 movsd xmm1, QWORD PTR [ecx] 0005c 66 0f 2f c8 comisd xmm1, xmm0 00060 76 06 jbe SHORT $LN4@operator ; 772 : m_dt - COleDateTimeSpan::OLE_DATETIME_HALFSECOND < date.m_dt) ; 773 : { ; 774 : return true; 00062 b0 01 mov al, 1 00064 eb 2a jmp SHORT $LN1@operator ; 775 : } 00066 eb 04 jmp SHORT $LN5@operator $LN4@operator: ; 776 : else ; 777 : { ; 778 : return false; 00068 32 c0 xor al, al 0006a eb 24 jmp SHORT $LN1@operator $LN5@operator: ; 779 : } ; 780 : } ; 781 : ; 782 : return (GetStatus() == null); 0006c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 0006f e8 00 00 00 00 call ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus 00074 83 f8 02 cmp eax, 2 00077 75 09 jne SHORT $LN7@operator 00079 c7 45 b8 01 00 00 00 mov DWORD PTR tv83[ebp], 1 00080 eb 07 jmp SHORT $LN8@operator $LN7@operator: 00082 c7 45 b8 00 00 00 00 mov DWORD PTR tv83[ebp], 0 $LN8@operator: 00089 8a 45 b8 mov al, BYTE PTR tv83[ebp] 0008c eb 02 jmp SHORT $LN1@operator $LN2@operator: ; 783 : } ; 784 : return false; 0008e 32 c0 xor al, al $LN1@operator: ; 785 : ; 786 : } 00090 5f pop edi 00091 5e pop esi 00092 5b pop ebx 00093 8b e5 mov esp, ebp 00095 5d pop ebp 00096 c2 04 00 ret 4 ??8COleDateTime@ATL@@QBE_NABV01@@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 ?GetDayOfWeek@COleDateTime@ATL@@QBEHXZ _TEXT SEGMENT tv74 = -92 ; size = 4 _st$ = -24 ; size = 16 _this$ = -8 ; size = 4 __$ArrayPad$ = -4 ; size = 4 ?GetDayOfWeek@COleDateTime@ATL@@QBEHXZ PROC ; ATL::COleDateTime::GetDayOfWeek, COMDAT ; _this$ = ecx ; 645 : { 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 ; 646 : 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 ; 647 : return GetAsSystemTime(st) ? st.wDayOfWeek + 1 : 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 0c je SHORT $LN3@GetDayOfWe 00037 0f b7 55 ec movzx edx, WORD PTR _st$[ebp+4] 0003b 83 c2 01 add edx, 1 0003e 89 55 a4 mov DWORD PTR tv74[ebp], edx 00041 eb 07 jmp SHORT $LN4@GetDayOfWe $LN3@GetDayOfWe: 00043 c7 45 a4 ff ff ff ff mov DWORD PTR tv74[ebp], -1 $LN4@GetDayOfWe: 0004a 8b 45 a4 mov eax, DWORD PTR tv74[ebp] ; 648 : } 0004d 5f pop edi 0004e 5e pop esi 0004f 5b pop ebx 00050 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp] 00053 33 cd xor ecx, ebp 00055 e8 00 00 00 00 call @__security_check_cookie@4 0005a 8b e5 mov esp, ebp 0005c 5d pop ebp 0005d c3 ret 0 ?GetDayOfWeek@COleDateTime@ATL@@QBEHXZ ENDP ; ATL::COleDateTime::GetDayOfWeek _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 ?GetSecond@COleDateTime@ATL@@QBEHXZ _TEXT SEGMENT tv73 = -92 ; size = 4 _st$ = -24 ; size = 16 _this$ = -8 ; size = 4 __$ArrayPad$ = -4 ; size = 4 ?GetSecond@COleDateTime@ATL@@QBEHXZ PROC ; ATL::COleDateTime::GetSecond, COMDAT ; _this$ = ecx ; 639 : { 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 ; 640 : 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 ; 641 : return GetAsSystemTime(st) ? st.wSecond : 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@GetSecond 00037 0f b7 55 f4 movzx edx, WORD PTR _st$[ebp+12] 0003b 89 55 a4 mov DWORD PTR tv73[ebp], edx 0003e eb 07 jmp SHORT $LN4@GetSecond $LN3@GetSecond: 00040 c7 45 a4 ff ff ff ff mov DWORD PTR tv73[ebp], -1 $LN4@GetSecond: 00047 8b 45 a4 mov eax, DWORD PTR tv73[ebp] ; 642 : } 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 ?GetSecond@COleDateTime@ATL@@QBEHXZ ENDP ; ATL::COleDateTime::GetSecond _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 ?GetMinute@COleDateTime@ATL@@QBEHXZ _TEXT SEGMENT tv73 = -92 ; size = 4 _st$ = -24 ; size = 16 _this$ = -8 ; size = 4 __$ArrayPad$ = -4 ; size = 4 ?GetMinute@COleDateTime@ATL@@QBEHXZ PROC ; ATL::COleDateTime::GetMinute, COMDAT ; _this$ = ecx ; 633 : { 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 ; 634 : 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 ; 635 : return GetAsSystemTime(st) ? st.wMinute : 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@GetMinute 00037 0f b7 55 f2 movzx edx, WORD PTR _st$[ebp+10] 0003b 89 55 a4 mov DWORD PTR tv73[ebp], edx 0003e eb 07 jmp SHORT $LN4@GetMinute $LN3@GetMinute: 00040 c7 45 a4 ff ff ff ff mov DWORD PTR tv73[ebp], -1 $LN4@GetMinute: 00047 8b 45 a4 mov eax, DWORD PTR tv73[ebp] ; 636 : } 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 ?GetMinute@COleDateTime@ATL@@QBEHXZ ENDP ; ATL::COleDateTime::GetMinute _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 ?GetHour@COleDateTime@ATL@@QBEHXZ _TEXT SEGMENT tv73 = -92 ; size = 4 _st$ = -24 ; size = 16 _this$ = -8 ; size = 4 __$ArrayPad$ = -4 ; size = 4 ?GetHour@COleDateTime@ATL@@QBEHXZ PROC ; ATL::COleDateTime::GetHour, COMDAT ; _this$ = ecx ; 627 : { 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 ; 628 : 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 ; 629 : return GetAsSystemTime(st) ? st.wHour : 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@GetHour 00037 0f b7 55 f0 movzx edx, WORD PTR _st$[ebp+8] 0003b 89 55 a4 mov DWORD PTR tv73[ebp], edx 0003e eb 07 jmp SHORT $LN4@GetHour $LN3@GetHour: 00040 c7 45 a4 ff ff ff ff mov DWORD PTR tv73[ebp], -1 $LN4@GetHour: 00047 8b 45 a4 mov eax, DWORD PTR tv73[ebp] ; 630 : } 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 ?GetHour@COleDateTime@ATL@@QBEHXZ ENDP ; ATL::COleDateTime::GetHour _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 ?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 >::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 >::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 >::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 >::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 > >::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 > >::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 > >::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 > >::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::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::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::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::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 > >::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 > >::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 >::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 > >::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 > >::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 > >::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::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 > >::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 > >::CStringT > > 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::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::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::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::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 > >::~CStringT > > $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 > >::~CStringT > > 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 > >::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 > >::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 > >::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 > >::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 ?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 > >::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::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::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::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::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 > >::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 ?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 > >::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::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 >::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 > >::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@PBD@Z _TEXT SEGMENT tv67 = -80 ; size = 4 _pszBuffer$1 = -12 ; size = 4 _nDestLength$ = -8 ; size = 4 _this$ = -4 ; size = 4 _pszSrc$ = 8 ; size = 4 ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PBD@Z PROC ; ATL::CStringT > >::operator=, COMDAT ; _this$ = ecx ; 1326 : { 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 ; 1327 : // nDestLength is in XCHARs ; 1328 : int nDestLength = (pszSrc != NULL) ? StringTraits::GetBaseTypeLength( pszSrc ) : 0; 0000c 83 7d 08 00 cmp DWORD PTR _pszSrc$[ebp], 0 00010 74 11 je SHORT $LN5@operator 00012 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp] 00015 50 push eax 00016 e8 00 00 00 00 call ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPBD@Z ; ATL::ChTraitsCRT::GetBaseTypeLength 0001b 83 c4 04 add esp, 4 0001e 89 45 b0 mov DWORD PTR tv67[ebp], eax 00021 eb 07 jmp SHORT $LN6@operator $LN5@operator: 00023 c7 45 b0 00 00 00 00 mov DWORD PTR tv67[ebp], 0 $LN6@operator: 0002a 8b 4d b0 mov ecx, DWORD PTR tv67[ebp] 0002d 89 4d f8 mov DWORD PTR _nDestLength$[ebp], ecx ; 1329 : if( nDestLength > 0 ) 00030 83 7d f8 00 cmp DWORD PTR _nDestLength$[ebp], 0 00034 7e 33 jle SHORT $LN2@operator ; 1330 : { ; 1331 : PXSTR pszBuffer = this->GetBuffer( nDestLength ); 00036 8b 45 f8 mov eax, DWORD PTR _nDestLength$[ebp] 00039 50 push eax 0003a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 0003d e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT::GetBuffer 00042 89 45 f4 mov DWORD PTR _pszBuffer$1[ebp], eax ; 1332 : StringTraits::ConvertToBaseType( pszBuffer, nDestLength, pszSrc); 00045 6a ff push -1 00047 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp] 0004a 50 push eax 0004b 8b 4d f8 mov ecx, DWORD PTR _nDestLength$[ebp] 0004e 51 push ecx 0004f 8b 55 f4 mov edx, DWORD PTR _pszBuffer$1[ebp] 00052 52 push edx 00053 e8 00 00 00 00 call ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPBDH@Z ; ATL::ChTraitsCRT::ConvertToBaseType 00058 83 c4 10 add esp, 16 ; 00000010H ; 1333 : this->ReleaseBufferSetLength( nDestLength ); 0005b 8b 45 f8 mov eax, DWORD PTR _nDestLength$[ebp] 0005e 50 push eax 0005f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 00062 e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT::ReleaseBufferSetLength ; 1334 : } 00067 eb 08 jmp SHORT $LN3@operator $LN2@operator: ; 1335 : else ; 1336 : { ; 1337 : this->Empty(); 00069 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 0006c e8 00 00 00 00 call ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ ; ATL::CSimpleStringT::Empty $LN3@operator: ; 1338 : } ; 1339 : ; 1340 : return( *this ); 00071 8b 45 fc mov eax, DWORD PTR _this$[ebp] ; 1341 : } 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 ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PBD@Z ENDP ; ATL::CStringT > >::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 ??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 > >::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::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 > >::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 ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z _TEXT SEGMENT _this$ = -4 ; size = 4 _strSrc$ = 8 ; size = 4 ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z PROC ; ATL::CStringT > >::operator=, COMDAT ; _this$ = ecx ; 1303 : { 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 ; 1304 : CThisSimpleString::operator=( strSrc ); 0000c 8b 45 08 mov eax, DWORD PTR _strSrc$[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@ABV01@@Z ; ATL::CSimpleStringT::operator= ; 1305 : ; 1306 : return( *this ); 00018 8b 45 fc mov eax, DWORD PTR _this$[ebp] ; 1307 : } 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@ABV01@@Z ENDP ; ATL::CStringT > >::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 > >::~CStringT > >, 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::~CSimpleStringT 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::~CSimpleStringT 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 > >::~CStringT > > ; 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 > >::CStringT > >, 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::CSimpleStringT 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 > >::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 > >::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::~CSimpleStringT 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 > >::CStringT > > ; 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 > >::CStringT > >, 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 >::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::CSimpleStringT 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 > >::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 > >::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::~CSimpleStringT 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 > >::CStringT > > ; 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 > >::CStringT > >, 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 >::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::CSimpleStringT 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::~CSimpleStringT 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 > >::CStringT > > ; 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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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 ?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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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 ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@ABV01@@Z _TEXT SEGMENT tv84 = -88 ; size = 4 tv86 = -84 ; size = 4 _pNewData$1 = -16 ; size = 4 _pOldData$ = -12 ; size = 4 _pSrcData$ = -8 ; size = 4 _this$ = -4 ; size = 4 _strSrc$ = 8 ; size = 4 ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@ABV01@@Z PROC ; ATL::CSimpleStringT::operator=, COMDAT ; _this$ = ecx ; 271 : { 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 00009 89 4d fc mov DWORD PTR _this$[ebp], ecx ; 272 : 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::GetData 00014 89 45 f8 mov DWORD PTR _pSrcData$[ebp], eax ; 273 : CStringData* pOldData = GetData(); 00017 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 0001a e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 0001f 89 45 f4 mov DWORD PTR _pOldData$[ebp], eax ; 274 : if( pSrcData != pOldData) 00022 8b 45 f8 mov eax, DWORD PTR _pSrcData$[ebp] 00025 3b 45 f4 cmp eax, DWORD PTR _pOldData$[ebp] 00028 74 66 je SHORT $LN2@operator ; 275 : { ; 276 : if( pOldData->IsLocked() || pSrcData->pStringMgr != pOldData->pStringMgr ) 0002a 8b 4d f4 mov ecx, DWORD PTR _pOldData$[ebp] 0002d e8 00 00 00 00 call ?IsLocked@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsLocked 00032 0f b6 c0 movzx eax, al 00035 85 c0 test eax, eax 00037 75 0c jne SHORT $LN5@operator 00039 8b 45 f8 mov eax, DWORD PTR _pSrcData$[ebp] 0003c 8b 4d f4 mov ecx, DWORD PTR _pOldData$[ebp] 0003f 8b 10 mov edx, DWORD PTR [eax] 00041 3b 11 cmp edx, DWORD PTR [ecx] 00043 74 28 je SHORT $LN3@operator $LN5@operator: ; 277 : { ; 278 : SetString( strSrc.GetString(), strSrc.GetLength() ); 00045 8b 4d 08 mov ecx, DWORD PTR _strSrc$[ebp] 00048 e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT::GetLength 0004d 89 45 ac mov DWORD PTR tv86[ebp], eax 00050 8b 4d 08 mov ecx, DWORD PTR _strSrc$[ebp] 00053 e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT::GetString 00058 89 45 a8 mov DWORD PTR tv84[ebp], eax 0005b 8b 45 ac mov eax, DWORD PTR tv86[ebp] 0005e 50 push eax 0005f 8b 4d a8 mov ecx, DWORD PTR tv84[ebp] 00062 51 push ecx 00063 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 00066 e8 00 00 00 00 call ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z ; ATL::CSimpleStringT::SetString ; 279 : } 0006b eb 23 jmp SHORT $LN2@operator $LN3@operator: ; 280 : else ; 281 : { ; 282 : CStringData* pNewData = CloneData( pSrcData ); 0006d 8b 45 f8 mov eax, DWORD PTR _pSrcData$[ebp] 00070 50 push eax 00071 e8 00 00 00 00 call ?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z ; ATL::CSimpleStringT::CloneData 00076 83 c4 04 add esp, 4 00079 89 45 f0 mov DWORD PTR _pNewData$1[ebp], eax ; 283 : pOldData->Release(); 0007c 8b 4d f4 mov ecx, DWORD PTR _pOldData$[ebp] 0007f e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release ; 284 : Attach( pNewData ); 00084 8b 45 f0 mov eax, DWORD PTR _pNewData$1[ebp] 00087 50 push eax 00088 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 0008b e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT::Attach $LN2@operator: ; 285 : } ; 286 : } ; 287 : ; 288 : return( *this ); 00090 8b 45 fc mov eax, DWORD PTR _this$[ebp] ; 289 : } 00093 5f pop edi 00094 5e pop esi 00095 5b pop ebx 00096 8b e5 mov esp, ebp 00098 5d pop ebp 00099 c2 04 00 ret 4 ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@ABV01@@Z ENDP ; ATL::CSimpleStringT::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::~CSimpleStringT, 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::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::~CSimpleStringT _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::CSimpleStringT, 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::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::CSimpleStringT _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 ?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::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::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::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 ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPBDH@Z _TEXT SEGMENT __$EHRec$ = -12 ; size = 12 _pszDest$ = 8 ; size = 4 _nDestLength$ = 12 ; size = 4 _pszSrc$ = 16 ; size = 4 _nSrcLength$ = 20 ; size = 4 ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPBDH@Z PROC ; ATL::ChTraitsCRT::ConvertToBaseType, COMDAT ; 779 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 6a ff push -1 00005 68 00 00 00 00 push __ehhandler$?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPBDH@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 ; 780 : // nLen is in wchar_ts ; 781 : ::MultiByteToWideChar( _AtlGetConversionACP(), 0, pszSrc, nSrcLength, pszDest, nDestLength ); 00028 8b 45 0c mov eax, DWORD PTR _nDestLength$[ebp] 0002b 50 push eax 0002c 8b 4d 08 mov ecx, DWORD PTR _pszDest$[ebp] 0002f 51 push ecx 00030 8b 55 14 mov edx, DWORD PTR _nSrcLength$[ebp] 00033 52 push edx 00034 8b 45 10 mov eax, DWORD PTR _pszSrc$[ebp] 00037 50 push eax 00038 6a 00 push 0 0003a e8 00 00 00 00 call ?_AtlGetConversionACP@ATL@@YGIXZ ; ATL::_AtlGetConversionACP 0003f 50 push eax 00040 ff 15 00 00 00 00 call DWORD PTR __imp__MultiByteToWideChar@24 ; 782 : } 00046 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp] 00049 64 89 0d 00 00 00 00 mov DWORD PTR fs:0, ecx 00050 59 pop ecx 00051 5f pop edi 00052 5e pop esi 00053 5b pop ebx 00054 8b e5 mov esp, ebp 00056 5d pop ebp 00057 c3 ret 0 00058 cc int 3 00059 cc int 3 0005a cc int 3 0005b cc int 3 0005c cc int 3 _TEXT ENDS ; COMDAT text$x text$x SEGMENT __ehhandler$?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPBDH@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$?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPBDH@Z 00018 e9 00 00 00 00 jmp ___CxxFrameHandler3 text$x ENDS ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPBDH@Z ENDP ; ATL::ChTraitsCRT::ConvertToBaseType ; 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::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::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::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::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 ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPBD@Z _TEXT SEGMENT __$EHRec$ = -12 ; size = 12 _pszSrc$ = 8 ; size = 4 ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPBD@Z PROC ; ATL::ChTraitsCRT::GetBaseTypeLength, COMDAT ; 746 : { 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@@SAHPBD@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 ; 747 : // Returns required buffer size in wchar_ts ; 748 : return ::MultiByteToWideChar( _AtlGetConversionACP(), 0, pszSrc, -1, NULL, 0 )-1; 00028 6a 00 push 0 0002a 6a 00 push 0 0002c 6a ff push -1 0002e 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp] 00031 50 push eax 00032 6a 00 push 0 00034 e8 00 00 00 00 call ?_AtlGetConversionACP@ATL@@YGIXZ ; ATL::_AtlGetConversionACP 00039 50 push eax 0003a ff 15 00 00 00 00 call DWORD PTR __imp__MultiByteToWideChar@24 00040 83 e8 01 sub eax, 1 ; 749 : } 00043 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp] 00046 64 89 0d 00 00 00 00 mov DWORD PTR fs:0, ecx 0004d 59 pop ecx 0004e 5f pop edi 0004f 5e pop esi 00050 5b pop ebx 00051 8b e5 mov esp, ebp 00053 5d pop ebp 00054 c3 ret 0 00055 cc int 3 00056 cc int 3 00057 cc int 3 00058 cc int 3 00059 cc int 3 _TEXT ENDS ; COMDAT text$x text$x SEGMENT __ehhandler$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPBD@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@@SAHPBD@Z 00018 e9 00 00 00 00 jmp ___CxxFrameHandler3 text$x ENDS ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPBD@Z ENDP ; ATL::ChTraitsCRT::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::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::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::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::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 ?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::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::StringFindChar ; 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\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(&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(~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(~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(::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 ?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\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\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\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\CalendarThread.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\CalendarThread.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\CalendarThread.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\CalendarThread.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