; 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<wchar_t>::StringFindChar
PUBLIC	?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z ; ATL::ChTraitsCRT<wchar_t>::GetFormattedLength
PUBLIC	?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z	; ATL::ChTraitsCRT<wchar_t>::Format
PUBLIC	?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPBD@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
PUBLIC	?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
PUBLIC	?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
PUBLIC	?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPBDH@Z ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType
PUBLIC	?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType
PUBLIC	??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
PUBLIC	??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ		; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
PUBLIC	??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CSimpleStringT<wchar_t,0>::operator=
PUBLIC	??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z	; ATL::CSimpleStringT<wchar_t,0>::operator=
PUBLIC	??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ	; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
PUBLIC	?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ	; ATL::CSimpleStringT<wchar_t,0>::Empty
PUBLIC	?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength
PUBLIC	?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
PUBLIC	?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ	; ATL::CSimpleStringT<wchar_t,0>::GetLength
PUBLIC	?GetManager@?$CSimpleStringT@_W$0A@@ATL@@QBEPAUIAtlStringMgr@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetManager
PUBLIC	?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
PUBLIC	?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
PUBLIC	?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString
PUBLIC	?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString
PUBLIC	?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::CopyCharsOverlapped
PUBLIC	?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::StringLength
PUBLIC	?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
PUBLIC	?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
PUBLIC	?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z	; ATL::CSimpleStringT<wchar_t,0>::Fork
PUBLIC	?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
PUBLIC	?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite
PUBLIC	?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2
PUBLIC	?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Reallocate
PUBLIC	?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z	; ATL::CSimpleStringT<wchar_t,0>::SetLength
PUBLIC	?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z ; ATL::CSimpleStringT<wchar_t,0>::CloneData
PUBLIC	??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
PUBLIC	??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
PUBLIC	??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
PUBLIC	??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
PUBLIC	??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
PUBLIC	??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
PUBLIC	??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PBD@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
PUBLIC	?GetManager@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager
PUBLIC	?Find@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEH_WH@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find
PUBLIC	?Format@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAAXPB_WZZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format
PUBLIC	?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV
PUBLIC	?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
PUBLIC	?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
PUBLIC	?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad
PUBLIC	??0CTime@ATL@@QAE@_J@Z				; ATL::CTime::CTime
PUBLIC	?GetLocalTm@CTime@ATL@@QBEPAUtm@@PAU3@@Z	; ATL::CTime::GetLocalTm
PUBLIC	?GetAsSystemTime@CTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z ; ATL::CTime::GetAsSystemTime
PUBLIC	?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::FindStringResourceInstance
PUBLIC	?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager
PUBLIC	??0COleDateTimeSpan@ATL@@QAE@N@Z		; ATL::COleDateTimeSpan::COleDateTimeSpan
PUBLIC	??0COleDateTimeSpan@ATL@@QAE@JHHH@Z		; ATL::COleDateTimeSpan::COleDateTimeSpan
PUBLIC	?GetStatus@COleDateTimeSpan@ATL@@QBE?AW4DateTimeSpanStatus@12@XZ ; ATL::COleDateTimeSpan::GetStatus
PUBLIC	??MCOleDateTimeSpan@ATL@@QBE_NABV01@@Z		; ATL::COleDateTimeSpan::operator<
PUBLIC	?SetDateTimeSpan@COleDateTimeSpan@ATL@@QAEXJHHH@Z ; ATL::COleDateTimeSpan::SetDateTimeSpan
PUBLIC	?CheckRange@COleDateTimeSpan@ATL@@QAEXXZ	; ATL::COleDateTimeSpan::CheckRange
PUBLIC	?GetTickCount@COleDateTime@ATL@@SG?AV12@XZ	; ATL::COleDateTime::GetTickCount
PUBLIC	??0COleDateTime@ATL@@QAE@XZ			; ATL::COleDateTime::COleDateTime
PUBLIC	??0COleDateTime@ATL@@QAE@_J@Z			; ATL::COleDateTime::COleDateTime
PUBLIC	?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus
PUBLIC	?GetAsSystemTime@COleDateTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z ; ATL::COleDateTime::GetAsSystemTime
PUBLIC	?GetYear@COleDateTime@ATL@@QBEHXZ		; ATL::COleDateTime::GetYear
PUBLIC	?GetMonth@COleDateTime@ATL@@QBEHXZ		; ATL::COleDateTime::GetMonth
PUBLIC	?GetDay@COleDateTime@ATL@@QBEHXZ		; ATL::COleDateTime::GetDay
PUBLIC	?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	___stdio_common_vswprintf:PROC
EXTRN	___stdio_common_vswprintf_s:PROC
EXTRN	__errno:PROC
EXTRN	_memcpy:PROC
EXTRN	_memmove:PROC
EXTRN	_memset:PROC
EXTRN	_wcschr:PROC
EXTRN	_wcscpy:PROC
EXTRN	_wcslen:PROC
EXTRN	_wmemcpy_s:PROC
EXTRN	_ceil: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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::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<wchar_t,0>::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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  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<wchar_t,0>::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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::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)<ts) //��ǰʱ���������ʱ��,���Ҽ��С��30����

  00372	8d 4d c4	 lea	 ecx, DWORD PTR _tAlarm$22[ebp]
  00375	e8 00 00 00 00	 call	 ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus
  0037a	85 c0		 test	 eax, eax
  0037c	75 7d		 jne	 SHORT $LN12@On_Calenda
  0037e	8d 45 c4	 lea	 eax, DWORD PTR _tAlarm$22[ebp]
  00381	50		 push	 eax
  00382	8d 8d 48 ff ff
	ff		 lea	 ecx, DWORD PTR _tNow$12[ebp]
  00388	e8 00 00 00 00	 call	 ??OCOleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator>
  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)<ts) //��ǰʱ���������ʱ��,���Ҽ��С��30����

  0048c	8d 4d c4	 lea	 ecx, DWORD PTR _tAlarm$22[ebp]
  0048f	e8 00 00 00 00	 call	 ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus
  00494	85 c0		 test	 eax, eax
  00496	75 7d		 jne	 SHORT $LN17@On_Calenda
  00498	8d 45 c4	 lea	 eax, DWORD PTR _tAlarm$22[ebp]
  0049b	50		 push	 eax
  0049c	8d 8d 48 ff ff
	ff		 lea	 ecx, DWORD PTR _tNow$12[ebp]
  004a2	e8 00 00 00 00	 call	 ??OCOleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator>
  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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::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)<ts) //��ǰʱ���������ʱ��,���Ҽ��С��30����

  005ef	8d 4d c4	 lea	 ecx, DWORD PTR _tAlarm$22[ebp]
  005f2	e8 00 00 00 00	 call	 ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus
  005f7	85 c0		 test	 eax, eax
  005f9	75 7d		 jne	 SHORT $LN22@On_Calenda
  005fb	8d 45 c4	 lea	 eax, DWORD PTR _tAlarm$22[ebp]
  005fe	50		 push	 eax
  005ff	8d 8d 48 ff ff
	ff		 lea	 ecx, DWORD PTR _tNow$12[ebp]
  00605	e8 00 00 00 00	 call	 ??OCOleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator>
  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)<ts) //��ǰʱ���������ʱ��,���Ҽ��С��30����

  0070c	8d 4d c4	 lea	 ecx, DWORD PTR _tAlarm$22[ebp]
  0070f	e8 00 00 00 00	 call	 ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus
  00714	85 c0		 test	 eax, eax
  00716	75 7d		 jne	 SHORT $LN28@On_Calenda
  00718	8d 45 c4	 lea	 eax, DWORD PTR _tAlarm$22[ebp]
  0071b	50		 push	 eax
  0071c	8d 8d 48 ff ff
	ff		 lea	 ecx, DWORD PTR _tNow$12[ebp]
  00722	e8 00 00 00 00	 call	 ??OCOleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator>
  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)<ts) //��ǰʱ���������ʱ��,���Ҽ��С��30����

  0079a	8d 4d c4	 lea	 ecx, DWORD PTR _tAlarm$22[ebp]
  0079d	e8 00 00 00 00	 call	 ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus
  007a2	85 c0		 test	 eax, eax
  007a4	75 7d		 jne	 SHORT $LN4@On_Calenda
  007a6	8d 45 c4	 lea	 eax, DWORD PTR _tAlarm$22[ebp]
  007a9	50		 push	 eax
  007aa	8d 8d 48 ff ff
	ff		 lea	 ecx, DWORD PTR _tNow$12[ebp]
  007b0	e8 00 00 00 00	 call	 ??OCOleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator>
  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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::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<wchar_t,0>::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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
$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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  0005c	89 45 90	 mov	 DWORD PTR tv220[ebp], eax
  0005f	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00066	51		 push	 ecx
  00067	8b cc		 mov	 ecx, esp
  00069	89 65 a4	 mov	 DWORD PTR $T5[ebp], esp
  0006c	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  0006f	8b 82 10 01 00
	00		 mov	 eax, DWORD PTR [edx+272]
  00075	05 0c 0a 00 00	 add	 eax, 2572		; 00000a0cH
  0007a	50		 push	 eax
  0007b	e8 00 00 00 00	 call	 ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  00080	89 45 8c	 mov	 DWORD PTR tv221[ebp], eax
  00083	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00087	51		 push	 ecx
  00088	8b cc		 mov	 ecx, esp
  0008a	89 65 a0	 mov	 DWORD PTR $T4[ebp], esp
  0008d	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  00090	8b 82 10 01 00
	00		 mov	 eax, DWORD PTR [edx+272]
  00096	05 ec 09 00 00	 add	 eax, 2540		; 000009ecH
  0009b	50		 push	 eax
  0009c	e8 00 00 00 00	 call	 ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  000a1	89 45 88	 mov	 DWORD PTR tv222[ebp], eax
  000a4	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  000a8	51		 push	 ecx
  000a9	8b cc		 mov	 ecx, esp
  000ab	89 65 9c	 mov	 DWORD PTR $T3[ebp], esp
  000ae	68 00 00 00 00	 push	 OFFSET ??_C@_1BA@IIDKJHG@?$AAc?$AAo?$AAr?$AAp?$AAs?$AAm?$AAs@
  000b3	e8 00 00 00 00	 call	 ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  000b8	89 45 84	 mov	 DWORD PTR tv223[ebp], eax
  000bb	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3
  000bf	51		 push	 ecx
  000c0	8b cc		 mov	 ecx, esp
  000c2	89 65 98	 mov	 DWORD PTR $T2[ebp], esp
  000c5	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  000c8	8b 82 10 01 00
	00		 mov	 eax, DWORD PTR [edx+272]
  000ce	05 ec 05 00 00	 add	 eax, 1516		; 000005ecH
  000d3	50		 push	 eax
  000d4	e8 00 00 00 00	 call	 ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  000d9	89 45 80	 mov	 DWORD PTR tv224[ebp], eax
  000dc	c6 45 fc 04	 mov	 BYTE PTR __$EHRec$[ebp+8], 4
  000e0	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000e7	8b 4d 94	 mov	 ecx, DWORD PTR tv179[ebp]
  000ea	e8 00 00 00 00	 call	 ?ConnectSQLServer2@CAdoConnection@@QAEHV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0000J@Z ; CAdoConnection::ConnectSQLServer2
  000ef	89 85 7c ff ff
	ff		 mov	 DWORD PTR tv67[ebp], eax
  000f5	8b 8d 7c ff ff
	ff		 mov	 ecx, DWORD PTR tv67[ebp]
  000fb	89 4d ec	 mov	 DWORD PTR _b$[ebp], ecx

; 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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  00028	cc		 int	 3
  00029	cc		 int	 3
  0002a	cc		 int	 3
  0002b	cc		 int	 3
  0002c	cc		 int	 3
__ehhandler$?SetParam@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<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager, COMDAT

; 51   : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 40	 sub	 esp, 64			; 00000040H
  00014	53		 push	 ebx
  00015	56		 push	 esi
  00016	57		 push	 edi
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax

; 52   : 		return( AfxGetStringManager() );

  00028	e8 00 00 00 00	 call	 ?AfxGetStringManager@@YGPAUIAtlStringMgr@ATL@@XZ ; AfxGetStringManager

; 53   : 	}

  0002d	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00030	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00037	59		 pop	 ecx
  00038	5f		 pop	 edi
  00039	5e		 pop	 esi
  0003a	5b		 pop	 ebx
  0003b	8b e5		 mov	 esp, ebp
  0003d	5d		 pop	 ebp
  0003e	c3		 ret	 0
  0003f	cc		 int	 3
  00040	cc		 int	 3
  00041	cc		 int	 3
  00042	cc		 int	 3
  00043	cc		 int	 3
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ:
  00000	90		 npad	 1
  00001	90		 npad	 1
  00002	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00006	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00009	8b 4a b0	 mov	 ecx, DWORD PTR [edx-80]
  0000c	33 c8		 xor	 ecx, eax
  0000e	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00013	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ
  00018	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ENDP ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxstr.h
;	COMDAT ?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z
_TEXT	SEGMENT
__$EHRec$ = -12						; size = 12
_nID$ = 8						; size = 4
?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z PROC ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::FindStringResourceInstance, COMDAT

; 46   : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 40	 sub	 esp, 64			; 00000040H
  00014	53		 push	 ebx
  00015	56		 push	 esi
  00016	57		 push	 edi
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax

; 47   : 		return( AfxFindStringResourceHandle( nID ) );

  00028	8b 45 08	 mov	 eax, DWORD PTR _nID$[ebp]
  0002b	50		 push	 eax
  0002c	e8 00 00 00 00	 call	 ?AfxFindStringResourceHandle@@YGPAUHINSTANCE__@@I@Z ; AfxFindStringResourceHandle

; 48   : 	}

  00031	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00034	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0003b	59		 pop	 ecx
  0003c	5f		 pop	 edi
  0003d	5e		 pop	 esi
  0003e	5b		 pop	 ebx
  0003f	8b e5		 mov	 esp, ebp
  00041	5d		 pop	 ebp
  00042	c3		 ret	 0
  00043	cc		 int	 3
  00044	cc		 int	 3
  00045	cc		 int	 3
  00046	cc		 int	 3
  00047	cc		 int	 3
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z:
  00000	90		 npad	 1
  00001	90		 npad	 1
  00002	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00006	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00009	8b 4a b0	 mov	 ecx, DWORD PTR [edx-80]
  0000c	33 c8		 xor	 ecx, eax
  0000e	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00013	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z
  00018	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z ENDP ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::FindStringResourceInstance
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atltime.h
;	COMDAT ?GetAsSystemTime@CTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z
_TEXT	SEGMENT
_ptm$ = -60						; size = 4
_ttm$ = -56						; size = 36
_this$ = -20						; size = 4
__$ArrayPad$ = -16					; size = 4
__$EHRec$ = -12						; size = 12
_timeDest$ = 8						; size = 4
?GetAsSystemTime@CTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z PROC ; ATL::CTime::GetAsSystemTime, COMDAT
; _this$ = ecx

; 629  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?GetAsSystemTime@CTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 70	 sub	 esp, 112		; 00000070H
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	89 45 f0	 mov	 DWORD PTR __$ArrayPad$[ebp], eax
  0001e	53		 push	 ebx
  0001f	56		 push	 esi
  00020	57		 push	 edi
  00021	50		 push	 eax
  00022	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00025	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  0002b	89 4d ec	 mov	 DWORD PTR _this$[ebp], ecx

; 630  : 	struct tm ttm;
; 631  : 	struct tm* ptm;
; 632  : 
; 633  : 	ptm = GetLocalTm(&ttm);

  0002e	8d 45 c8	 lea	 eax, DWORD PTR _ttm$[ebp]
  00031	50		 push	 eax
  00032	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00035	e8 00 00 00 00	 call	 ?GetLocalTm@CTime@ATL@@QBEPAUtm@@PAU3@@Z ; ATL::CTime::GetLocalTm
  0003a	89 45 c4	 mov	 DWORD PTR _ptm$[ebp], eax

; 634  : 	if(!ptm)

  0003d	83 7d c4 00	 cmp	 DWORD PTR _ptm$[ebp], 0
  00041	75 04		 jne	 SHORT $LN2@GetAsSyste

; 635  : 	{
; 636  : 		return false;

  00043	32 c0		 xor	 al, al
  00045	eb 72		 jmp	 SHORT $LN1@GetAsSyste
$LN2@GetAsSyste:

; 637  : 	}
; 638  : 
; 639  : 	timeDest.wYear = (WORD) (1900 + ptm->tm_year);

  00047	8b 45 c4	 mov	 eax, DWORD PTR _ptm$[ebp]
  0004a	8b 48 14	 mov	 ecx, DWORD PTR [eax+20]
  0004d	81 c1 6c 07 00
	00		 add	 ecx, 1900		; 0000076cH
  00053	8b 55 08	 mov	 edx, DWORD PTR _timeDest$[ebp]
  00056	66 89 0a	 mov	 WORD PTR [edx], cx

; 640  : 	timeDest.wMonth = (WORD) (1 + ptm->tm_mon);

  00059	8b 45 c4	 mov	 eax, DWORD PTR _ptm$[ebp]
  0005c	8b 48 10	 mov	 ecx, DWORD PTR [eax+16]
  0005f	83 c1 01	 add	 ecx, 1
  00062	8b 55 08	 mov	 edx, DWORD PTR _timeDest$[ebp]
  00065	66 89 4a 02	 mov	 WORD PTR [edx+2], cx

; 641  : 	timeDest.wDayOfWeek = (WORD) ptm->tm_wday;

  00069	8b 45 08	 mov	 eax, DWORD PTR _timeDest$[ebp]
  0006c	8b 4d c4	 mov	 ecx, DWORD PTR _ptm$[ebp]
  0006f	66 8b 51 18	 mov	 dx, WORD PTR [ecx+24]
  00073	66 89 50 04	 mov	 WORD PTR [eax+4], dx

; 642  : 	timeDest.wDay = (WORD) ptm->tm_mday;

  00077	8b 45 08	 mov	 eax, DWORD PTR _timeDest$[ebp]
  0007a	8b 4d c4	 mov	 ecx, DWORD PTR _ptm$[ebp]
  0007d	66 8b 51 0c	 mov	 dx, WORD PTR [ecx+12]
  00081	66 89 50 06	 mov	 WORD PTR [eax+6], dx

; 643  : 	timeDest.wHour = (WORD) ptm->tm_hour;

  00085	8b 45 08	 mov	 eax, DWORD PTR _timeDest$[ebp]
  00088	8b 4d c4	 mov	 ecx, DWORD PTR _ptm$[ebp]
  0008b	66 8b 51 08	 mov	 dx, WORD PTR [ecx+8]
  0008f	66 89 50 08	 mov	 WORD PTR [eax+8], dx

; 644  : 	timeDest.wMinute = (WORD) ptm->tm_min;

  00093	8b 45 08	 mov	 eax, DWORD PTR _timeDest$[ebp]
  00096	8b 4d c4	 mov	 ecx, DWORD PTR _ptm$[ebp]
  00099	66 8b 51 04	 mov	 dx, WORD PTR [ecx+4]
  0009d	66 89 50 0a	 mov	 WORD PTR [eax+10], dx

; 645  : 	timeDest.wSecond = (WORD) ptm->tm_sec;

  000a1	8b 45 08	 mov	 eax, DWORD PTR _timeDest$[ebp]
  000a4	8b 4d c4	 mov	 ecx, DWORD PTR _ptm$[ebp]
  000a7	66 8b 11	 mov	 dx, WORD PTR [ecx]
  000aa	66 89 50 0c	 mov	 WORD PTR [eax+12], dx

; 646  : 	timeDest.wMilliseconds = 0;

  000ae	33 c0		 xor	 eax, eax
  000b0	8b 4d 08	 mov	 ecx, DWORD PTR _timeDest$[ebp]
  000b3	66 89 41 0e	 mov	 WORD PTR [ecx+14], ax

; 647  : 
; 648  : 	return true;

  000b7	b0 01		 mov	 al, 1
$LN1@GetAsSyste:

; 649  : }

  000b9	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000bc	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000c3	59		 pop	 ecx
  000c4	5f		 pop	 edi
  000c5	5e		 pop	 esi
  000c6	5b		 pop	 ebx
  000c7	8b 4d f0	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  000ca	33 cd		 xor	 ecx, ebp
  000cc	e8 00 00 00 00	 call	 @__security_check_cookie@4
  000d1	8b e5		 mov	 esp, ebp
  000d3	5d		 pop	 ebp
  000d4	c2 04 00	 ret	 4
  000d7	cc		 int	 3
  000d8	cc		 int	 3
  000d9	cc		 int	 3
  000da	cc		 int	 3
  000db	cc		 int	 3
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$?GetAsSystemTime@CTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z:
  00000	90		 npad	 1
  00001	90		 npad	 1
  00002	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00006	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00009	8b 4a 80	 mov	 ecx, DWORD PTR [edx-128]
  0000c	33 c8		 xor	 ecx, eax
  0000e	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00013	8b 4a fc	 mov	 ecx, DWORD PTR [edx-4]
  00016	33 c8		 xor	 ecx, eax
  00018	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0001d	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?GetAsSystemTime@CTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z
  00022	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?GetAsSystemTime@CTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z ENDP ; ATL::CTime::GetAsSystemTime
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atltime.h
;	COMDAT ?GetLocalTm@CTime@ATL@@QBEPAUtm@@PAU3@@Z
_TEXT	SEGMENT
tv65 = -120						; size = 4
_err$1 = -52						; size = 4
_ptmTemp$2 = -48					; size = 36
___atl_condVal$3 = -12					; size = 4
_this$ = -8						; size = 4
__$ArrayPad$ = -4					; size = 4
_ptm$ = 8						; size = 4
?GetLocalTm@CTime@ATL@@QBEPAUtm@@PAU3@@Z PROC		; ATL::CTime::GetLocalTm, COMDAT
; _this$ = ecx

; 607  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 78	 sub	 esp, 120		; 00000078H
  00006	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0000b	33 c5		 xor	 eax, ebp
  0000d	89 45 fc	 mov	 DWORD PTR __$ArrayPad$[ebp], eax
  00010	53		 push	 ebx
  00011	56		 push	 esi
  00012	57		 push	 edi
  00013	89 4d f8	 mov	 DWORD PTR _this$[ebp], ecx
$LN4@GetLocalTm:

; 608  : 	// Ensure ptm is valid
; 609  : 	ATLENSURE( ptm != NULL );

  00016	83 7d 08 00	 cmp	 DWORD PTR _ptm$[ebp], 0
  0001a	74 09		 je	 SHORT $LN12@GetLocalTm
  0001c	c7 45 88 01 00
	00 00		 mov	 DWORD PTR tv65[ebp], 1
  00023	eb 07		 jmp	 SHORT $LN13@GetLocalTm
$LN12@GetLocalTm:
  00025	c7 45 88 00 00
	00 00		 mov	 DWORD PTR tv65[ebp], 0
$LN13@GetLocalTm:
  0002c	8b 45 88	 mov	 eax, DWORD PTR tv65[ebp]
  0002f	89 45 f4	 mov	 DWORD PTR ___atl_condVal$3[ebp], eax
$LN5@GetLocalTm:
  00032	33 c0		 xor	 eax, eax
  00034	75 fc		 jne	 SHORT $LN5@GetLocalTm
  00036	83 7d f4 00	 cmp	 DWORD PTR ___atl_condVal$3[ebp], 0
  0003a	75 0a		 jne	 SHORT $LN2@GetLocalTm
  0003c	68 05 40 00 80	 push	 -2147467259		; 80004005H
  00041	e8 00 00 00 00	 call	 ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN2@GetLocalTm:
  00046	33 c0		 xor	 eax, eax
  00048	75 cc		 jne	 SHORT $LN4@GetLocalTm

; 610  : 
; 611  : 	if (ptm != NULL)

  0004a	83 7d 08 00	 cmp	 DWORD PTR _ptm$[ebp], 0
  0004e	74 2f		 je	 SHORT $LN9@GetLocalTm

; 612  : 	{
; 613  : 		struct tm ptmTemp;
; 614  : 		errno_t err = _localtime64_s(&ptmTemp, &m_time);

  00050	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  00053	50		 push	 eax
  00054	8d 4d d0	 lea	 ecx, DWORD PTR _ptmTemp$2[ebp]
  00057	51		 push	 ecx
  00058	e8 00 00 00 00	 call	 __localtime64_s
  0005d	83 c4 08	 add	 esp, 8
  00060	89 45 cc	 mov	 DWORD PTR _err$1[ebp], eax

; 615  : 
; 616  : 		if (err != 0)

  00063	83 7d cc 00	 cmp	 DWORD PTR _err$1[ebp], 0
  00067	74 04		 je	 SHORT $LN10@GetLocalTm

; 617  : 		{
; 618  : 			return NULL;    // indicates that m_time was not initialized!

  00069	33 c0		 xor	 eax, eax
  0006b	eb 14		 jmp	 SHORT $LN11@GetLocalTm
$LN10@GetLocalTm:

; 619  : 		}
; 620  : 
; 621  : 		*ptm = ptmTemp;

  0006d	b9 09 00 00 00	 mov	 ecx, 9
  00072	8d 75 d0	 lea	 esi, DWORD PTR _ptmTemp$2[ebp]
  00075	8b 7d 08	 mov	 edi, DWORD PTR _ptm$[ebp]
  00078	f3 a5		 rep movsd

; 622  : 		return ptm;

  0007a	8b 45 08	 mov	 eax, DWORD PTR _ptm$[ebp]
  0007d	eb 02		 jmp	 SHORT $LN11@GetLocalTm
$LN9@GetLocalTm:

; 623  : 	}
; 624  : 
; 625  : 	return NULL;

  0007f	33 c0		 xor	 eax, eax
$LN11@GetLocalTm:

; 626  : }

  00081	5f		 pop	 edi
  00082	5e		 pop	 esi
  00083	5b		 pop	 ebx
  00084	8b 4d fc	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  00087	33 cd		 xor	 ecx, ebp
  00089	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0008e	8b e5		 mov	 esp, ebp
  00090	5d		 pop	 ebp
  00091	c2 04 00	 ret	 4
?GetLocalTm@CTime@ATL@@QBEPAUtm@@PAU3@@Z ENDP		; ATL::CTime::GetLocalTm
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atltime.h
;	COMDAT ??0CTime@ATL@@QAE@_J@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_time$ = 8						; size = 8
??0CTime@ATL@@QAE@_J@Z PROC				; ATL::CTime::CTime, COMDAT
; _this$ = ecx

; 418  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 44	 sub	 esp, 68			; 00000044H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 417  : 	m_time( time )

  0000c	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000f	8b 4d 08	 mov	 ecx, DWORD PTR _time$[ebp]
  00012	8b 55 0c	 mov	 edx, DWORD PTR _time$[ebp+4]
  00015	89 08		 mov	 DWORD PTR [eax], ecx
  00017	89 50 04	 mov	 DWORD PTR [eax+4], edx

; 419  : }

  0001a	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0001d	5f		 pop	 edi
  0001e	5e		 pop	 esi
  0001f	5b		 pop	 ebx
  00020	8b e5		 mov	 esp, ebp
  00022	5d		 pop	 ebp
  00023	c2 08 00	 ret	 8
??0CTime@ATL@@QAE@_J@Z ENDP				; ATL::CTime::CTime
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
;	COMDAT ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z
_TEXT	SEGMENT
_nID$1 = -12						; size = 4
_bRet$ = -5						; size = 1
_this$ = -4						; size = 4
_pv$ = 8						; size = 4
?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad, COMDAT
; _this$ = ecx

; 2705 : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 4c	 sub	 esp, 76			; 0000004cH
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 2706 : 		bool bRet = false;

  0000c	c6 45 fb 00	 mov	 BYTE PTR _bRet$[ebp], 0

; 2707 : 
; 2708 : 		if( (pv != NULL) && IS_INTRESOURCE( pv ) )

  00010	83 7d 08 00	 cmp	 DWORD PTR _pv$[ebp], 0
  00014	74 28		 je	 SHORT $LN2@CheckImpli
  00016	8b 45 08	 mov	 eax, DWORD PTR _pv$[ebp]
  00019	c1 e8 10	 shr	 eax, 16			; 00000010H
  0001c	85 c0		 test	 eax, eax
  0001e	75 1e		 jne	 SHORT $LN2@CheckImpli

; 2709 : 		{
; 2710 : 			UINT nID = LOWORD( reinterpret_cast< DWORD_PTR >( pv ) );

  00020	8b 45 08	 mov	 eax, DWORD PTR _pv$[ebp]
  00023	25 ff ff 00 00	 and	 eax, 65535		; 0000ffffH
  00028	0f b7 c8	 movzx	 ecx, ax
  0002b	89 4d f4	 mov	 DWORD PTR _nID$1[ebp], ecx

; 2711 : 			(nID);
; 2712 : #ifdef _ATL_USE_WINAPI_FAMILY_DESKTOP_APP
; 2713 : 			if( !LoadString( nID ) )

  0002e	8b 45 f4	 mov	 eax, DWORD PTR _nID$1[ebp]
  00031	50		 push	 eax
  00032	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00035	e8 00 00 00 00	 call	 ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW

; 2714 : 			{
; 2715 : 				ATLTRACE( atlTraceString, 2, _T( "Warning: implicit LoadString(%u) failed\n" ), nID );
; 2716 : 			}
; 2717 : 			bRet = true;

  0003a	c6 45 fb 01	 mov	 BYTE PTR _bRet$[ebp], 1
$LN2@CheckImpli:

; 2718 : #else
; 2719 : 			ATLTRACE( atlTraceString, 2, _T( "Warning: LoadString(%u) not supported under the current WINAPI_FAMILY.\n" ), nID );
; 2720 : #endif
; 2721 : 		}
; 2722 : 
; 2723 : 		return( bRet );

  0003e	8a 45 fb	 mov	 al, BYTE PTR _bRet$[ebp]

; 2724 : 	}

  00041	5f		 pop	 edi
  00042	5e		 pop	 esi
  00043	5b		 pop	 ebx
  00044	8b e5		 mov	 esp, ebp
  00046	5d		 pop	 ebp
  00047	c2 04 00	 ret	 4
?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
;	COMDAT ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z
_TEXT	SEGMENT
_pszBuffer$ = -16					; size = 4
_nLength$ = -12						; size = 4
_pImage$ = -8						; size = 4
_this$ = -4						; size = 4
_hInstance$ = 8						; size = 4
_nID$ = 12						; size = 4
?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW, COMDAT
; _this$ = ecx

; 2350 : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 50	 sub	 esp, 80			; 00000050H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 2351 : 		const ATLSTRINGRESOURCEIMAGE* pImage = AtlGetStringResourceImage( hInstance, nID );

  0000c	8b 45 0c	 mov	 eax, DWORD PTR _nID$[ebp]
  0000f	50		 push	 eax
  00010	8b 4d 08	 mov	 ecx, DWORD PTR _hInstance$[ebp]
  00013	51		 push	 ecx
  00014	e8 00 00 00 00	 call	 ?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z ; ATL::AtlGetStringResourceImage
  00019	83 c4 08	 add	 esp, 8
  0001c	89 45 f8	 mov	 DWORD PTR _pImage$[ebp], eax

; 2352 : 		if( pImage == NULL )

  0001f	83 7d f8 00	 cmp	 DWORD PTR _pImage$[ebp], 0
  00023	75 04		 jne	 SHORT $LN2@LoadString

; 2353 : 		{
; 2354 : 			return( FALSE );

  00025	33 c0		 xor	 eax, eax
  00027	eb 57		 jmp	 SHORT $LN1@LoadString
$LN2@LoadString:

; 2355 : 		}
; 2356 : 
; 2357 : 		int nLength = StringTraits::GetBaseTypeLength( pImage->achString, pImage->nLength );

  00029	8b 45 f8	 mov	 eax, DWORD PTR _pImage$[ebp]
  0002c	0f b7 08	 movzx	 ecx, WORD PTR [eax]
  0002f	51		 push	 ecx
  00030	8b 55 f8	 mov	 edx, DWORD PTR _pImage$[ebp]
  00033	83 c2 02	 add	 edx, 2
  00036	52		 push	 edx
  00037	e8 00 00 00 00	 call	 ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
  0003c	83 c4 08	 add	 esp, 8
  0003f	89 45 f4	 mov	 DWORD PTR _nLength$[ebp], eax

; 2358 : 		PXSTR pszBuffer = this->GetBuffer( nLength );

  00042	8b 45 f4	 mov	 eax, DWORD PTR _nLength$[ebp]
  00045	50		 push	 eax
  00046	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00049	e8 00 00 00 00	 call	 ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
  0004e	89 45 f0	 mov	 DWORD PTR _pszBuffer$[ebp], eax

; 2359 : 		StringTraits::ConvertToBaseType( pszBuffer, nLength, pImage->achString, pImage->nLength );

  00051	8b 45 f8	 mov	 eax, DWORD PTR _pImage$[ebp]
  00054	0f b7 08	 movzx	 ecx, WORD PTR [eax]
  00057	51		 push	 ecx
  00058	8b 55 f8	 mov	 edx, DWORD PTR _pImage$[ebp]
  0005b	83 c2 02	 add	 edx, 2
  0005e	52		 push	 edx
  0005f	8b 45 f4	 mov	 eax, DWORD PTR _nLength$[ebp]
  00062	50		 push	 eax
  00063	8b 4d f0	 mov	 ecx, DWORD PTR _pszBuffer$[ebp]
  00066	51		 push	 ecx
  00067	e8 00 00 00 00	 call	 ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType
  0006c	83 c4 10	 add	 esp, 16			; 00000010H

; 2360 : 		this->ReleaseBufferSetLength( nLength );

  0006f	8b 45 f4	 mov	 eax, DWORD PTR _nLength$[ebp]
  00072	50		 push	 eax
  00073	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00076	e8 00 00 00 00	 call	 ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength

; 2361 : 
; 2362 : 		return( TRUE );

  0007b	b8 01 00 00 00	 mov	 eax, 1
$LN1@LoadString:

; 2363 : 	}

  00080	5f		 pop	 edi
  00081	5e		 pop	 esi
  00082	5b		 pop	 ebx
  00083	8b e5		 mov	 esp, ebp
  00085	5d		 pop	 ebp
  00086	c2 08 00	 ret	 8
?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
;	COMDAT ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z
_TEXT	SEGMENT
_hInstance$ = -8					; size = 4
_this$ = -4						; size = 4
_nID$ = 8						; size = 4
?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW, COMDAT
; _this$ = ecx

; 2336 : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 48	 sub	 esp, 72			; 00000048H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 2337 : 		HINSTANCE hInstance = StringTraits::FindStringResourceInstance( nID );

  0000c	8b 45 08	 mov	 eax, DWORD PTR _nID$[ebp]
  0000f	50		 push	 eax
  00010	e8 00 00 00 00	 call	 ?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::FindStringResourceInstance
  00015	83 c4 04	 add	 esp, 4
  00018	89 45 f8	 mov	 DWORD PTR _hInstance$[ebp], eax

; 2338 : 		if( hInstance == NULL )

  0001b	83 7d f8 00	 cmp	 DWORD PTR _hInstance$[ebp], 0
  0001f	75 04		 jne	 SHORT $LN2@LoadString

; 2339 : 		{
; 2340 : 			return( FALSE );

  00021	33 c0		 xor	 eax, eax
  00023	eb 10		 jmp	 SHORT $LN1@LoadString
$LN2@LoadString:

; 2341 : 		}
; 2342 : 
; 2343 : 		return( LoadString( hInstance, nID ) );

  00025	8b 45 08	 mov	 eax, DWORD PTR _nID$[ebp]
  00028	50		 push	 eax
  00029	8b 4d f8	 mov	 ecx, DWORD PTR _hInstance$[ebp]
  0002c	51		 push	 ecx
  0002d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00030	e8 00 00 00 00	 call	 ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
$LN1@LoadString:

; 2344 : 	}

  00035	5f		 pop	 edi
  00036	5e		 pop	 esi
  00037	5b		 pop	 ebx
  00038	8b e5		 mov	 esp, ebp
  0003a	5d		 pop	 ebp
  0003b	c2 04 00	 ret	 4
?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
;	COMDAT ?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z
_TEXT	SEGMENT
_pszBuffer$ = -28					; size = 4
_temp$ = -24						; size = 4
_nLength$ = -20						; size = 4
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_pszFormat$ = 8						; size = 4
_args$ = 12						; size = 4
?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV, COMDAT
; _this$ = ecx

; 2221 : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 50	 sub	 esp, 80			; 00000050H
  00014	53		 push	 ebx
  00015	56		 push	 esi
  00016	57		 push	 edi
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00028	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx

; 2222 : 		ATLASSERT( AtlIsValidString( pszFormat ) );
; 2223 : 		if(pszFormat == NULL)

  0002b	83 7d 08 00	 cmp	 DWORD PTR _pszFormat$[ebp], 0
  0002f	75 0a		 jne	 SHORT $LN2@FormatV

; 2224 : 			AtlThrow(E_INVALIDARG);

  00031	68 57 00 07 80	 push	 -2147024809		; 80070057H
  00036	e8 00 00 00 00	 call	 ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN2@FormatV:

; 2225 : 
; 2226 : 		int nLength = StringTraits::GetFormattedLength( pszFormat, args );

  0003b	8b 45 0c	 mov	 eax, DWORD PTR _args$[ebp]
  0003e	50		 push	 eax
  0003f	8b 4d 08	 mov	 ecx, DWORD PTR _pszFormat$[ebp]
  00042	51		 push	 ecx
  00043	e8 00 00 00 00	 call	 ?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z ; ATL::ChTraitsCRT<wchar_t>::GetFormattedLength
  00048	83 c4 08	 add	 esp, 8
  0004b	89 45 ec	 mov	 DWORD PTR _nLength$[ebp], eax

; 2227 : 
; 2228 : 		if (nLength < 0)

  0004e	83 7d ec 00	 cmp	 DWORD PTR _nLength$[ebp], 0
  00052	7d 0a		 jge	 SHORT $LN3@FormatV

; 2229 : 			AtlThrow(E_FAIL);

  00054	68 05 40 00 80	 push	 -2147467259		; 80004005H
  00059	e8 00 00 00 00	 call	 ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN3@FormatV:

; 2230 : 
; 2231 : 		CStringT temp(pszFormat, this->GetManager());

  0005e	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00061	e8 00 00 00 00	 call	 ?GetManager@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager
  00066	50		 push	 eax
  00067	8b 45 08	 mov	 eax, DWORD PTR _pszFormat$[ebp]
  0006a	50		 push	 eax
  0006b	8d 4d e8	 lea	 ecx, DWORD PTR _temp$[ebp]
  0006e	e8 00 00 00 00	 call	 ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  00073	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 2232 : 		PXSTR pszBuffer = this->GetBuffer( nLength );

  0007a	8b 45 ec	 mov	 eax, DWORD PTR _nLength$[ebp]
  0007d	50		 push	 eax
  0007e	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00081	e8 00 00 00 00	 call	 ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
  00086	89 45 e4	 mov	 DWORD PTR _pszBuffer$[ebp], eax

; 2233 : 		StringTraits::Format( pszBuffer, nLength+1, temp, args );

  00089	8b 45 0c	 mov	 eax, DWORD PTR _args$[ebp]
  0008c	50		 push	 eax
  0008d	8d 4d e8	 lea	 ecx, DWORD PTR _temp$[ebp]
  00090	e8 00 00 00 00	 call	 ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
  00095	50		 push	 eax
  00096	8b 4d ec	 mov	 ecx, DWORD PTR _nLength$[ebp]
  00099	83 c1 01	 add	 ecx, 1
  0009c	51		 push	 ecx
  0009d	8b 55 e4	 mov	 edx, DWORD PTR _pszBuffer$[ebp]
  000a0	52		 push	 edx
  000a1	e8 00 00 00 00	 call	 ?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z ; ATL::ChTraitsCRT<wchar_t>::Format
  000a6	83 c4 10	 add	 esp, 16			; 00000010H

; 2234 : 		this->ReleaseBufferSetLength( nLength );

  000a9	8b 45 ec	 mov	 eax, DWORD PTR _nLength$[ebp]
  000ac	50		 push	 eax
  000ad	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  000b0	e8 00 00 00 00	 call	 ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength

; 2235 : 	}

  000b5	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000bc	8d 4d e8	 lea	 ecx, DWORD PTR _temp$[ebp]
  000bf	e8 00 00 00 00	 call	 ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
$LN4@FormatV:
  000c4	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000c7	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000ce	59		 pop	 ecx
  000cf	5f		 pop	 edi
  000d0	5e		 pop	 esi
  000d1	5b		 pop	 ebx
  000d2	8b e5		 mov	 esp, ebp
  000d4	5d		 pop	 ebp
  000d5	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z$0:
  00000	8d 4d e8	 lea	 ecx, DWORD PTR _temp$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
  00008	cc		 int	 3
  00009	cc		 int	 3
  0000a	cc		 int	 3
  0000b	cc		 int	 3
  0000c	cc		 int	 3
__ehhandler$?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z:
  0000d	90		 npad	 1
  0000e	90		 npad	 1
  0000f	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00013	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00016	8b 4a a0	 mov	 ecx, DWORD PTR [edx-96]
  00019	33 c8		 xor	 ecx, eax
  0001b	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00020	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z
  00025	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
;	COMDAT ?Format@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAAXPB_WZZ
_TEXT	SEGMENT
_argList$ = -4						; size = 4
_this$ = 8						; size = 4
_pszFormat$ = 12					; size = 4
?Format@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAAXPB_WZZ PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format, COMDAT

; 2741 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 48	 sub	 esp, 72			; 00000048H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi

; 2742 : 	ATLASSERT( AtlIsValidString( pszFormat ) );
; 2743 : 
; 2744 : 	va_list argList;
; 2745 : 	va_start( argList, pszFormat );

  00009	8d 45 10	 lea	 eax, DWORD PTR _pszFormat$[ebp+4]
  0000c	89 45 fc	 mov	 DWORD PTR _argList$[ebp], eax

; 2746 : 	FormatV( pszFormat, argList );

  0000f	8b 45 fc	 mov	 eax, DWORD PTR _argList$[ebp]
  00012	50		 push	 eax
  00013	8b 4d 0c	 mov	 ecx, DWORD PTR _pszFormat$[ebp]
  00016	51		 push	 ecx
  00017	8b 4d 08	 mov	 ecx, DWORD PTR _this$[ebp]
  0001a	e8 00 00 00 00	 call	 ?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV

; 2747 : 	va_end( argList );

  0001f	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _argList$[ebp], 0

; 2748 : }

  00026	5f		 pop	 edi
  00027	5e		 pop	 esi
  00028	5b		 pop	 ebx
  00029	8b e5		 mov	 esp, ebp
  0002b	5d		 pop	 ebp
  0002c	c3		 ret	 0
?Format@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAAXPB_WZZ ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
;	COMDAT ?Find@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEH_WH@Z
_TEXT	SEGMENT
tv92 = -80						; size = 4
_psz$ = -12						; size = 4
_nLength$ = -8						; size = 4
_this$ = -4						; size = 4
_ch$ = 8						; size = 2
_iStart$ = 12						; size = 4
?Find@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEH_WH@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find, COMDAT
; _this$ = ecx

; 1756 : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 50	 sub	 esp, 80			; 00000050H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 1757 : 		// iStart is in XCHARs
; 1758 : 		ATLASSERT( iStart >= 0 );
; 1759 : 
; 1760 : 		// nLength is in XCHARs
; 1761 : 		int nLength = this->GetLength();

  0000c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000f	e8 00 00 00 00	 call	 ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
  00014	89 45 f8	 mov	 DWORD PTR _nLength$[ebp], eax

; 1762 : 		if( iStart < 0 || iStart >= nLength)

  00017	83 7d 0c 00	 cmp	 DWORD PTR _iStart$[ebp], 0
  0001b	7c 08		 jl	 SHORT $LN3@Find
  0001d	8b 45 0c	 mov	 eax, DWORD PTR _iStart$[ebp]
  00020	3b 45 f8	 cmp	 eax, DWORD PTR _nLength$[ebp]
  00023	7c 05		 jl	 SHORT $LN2@Find
$LN3@Find:

; 1763 : 		{
; 1764 : 			return( -1 );

  00025	83 c8 ff	 or	 eax, -1
  00028	eb 43		 jmp	 SHORT $LN1@Find
$LN2@Find:

; 1765 : 		}
; 1766 : 
; 1767 : 		// find first single character
; 1768 : 		PCXSTR psz = StringTraits::StringFindChar( this->GetString()+iStart, ch );

  0002a	0f b7 45 08	 movzx	 eax, WORD PTR _ch$[ebp]
  0002e	50		 push	 eax
  0002f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00032	e8 00 00 00 00	 call	 ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
  00037	8b 4d 0c	 mov	 ecx, DWORD PTR _iStart$[ebp]
  0003a	8d 14 48	 lea	 edx, DWORD PTR [eax+ecx*2]
  0003d	52		 push	 edx
  0003e	e8 00 00 00 00	 call	 ?StringFindChar@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z ; ATL::ChTraitsCRT<wchar_t>::StringFindChar
  00043	83 c4 08	 add	 esp, 8
  00046	89 45 f4	 mov	 DWORD PTR _psz$[ebp], eax

; 1769 : 
; 1770 : 		// return -1 if not found and index otherwise
; 1771 : 		return( (psz == NULL) ? -1 : int( psz - this->GetString() ) );

  00049	83 7d f4 00	 cmp	 DWORD PTR _psz$[ebp], 0
  0004d	75 09		 jne	 SHORT $LN5@Find
  0004f	c7 45 b0 ff ff
	ff ff		 mov	 DWORD PTR tv92[ebp], -1
  00056	eb 12		 jmp	 SHORT $LN6@Find
$LN5@Find:
  00058	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0005b	e8 00 00 00 00	 call	 ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
  00060	8b 4d f4	 mov	 ecx, DWORD PTR _psz$[ebp]
  00063	2b c8		 sub	 ecx, eax
  00065	d1 f9		 sar	 ecx, 1
  00067	89 4d b0	 mov	 DWORD PTR tv92[ebp], ecx
$LN6@Find:
  0006a	8b 45 b0	 mov	 eax, DWORD PTR tv92[ebp]
$LN1@Find:

; 1772 : 	}

  0006d	5f		 pop	 edi
  0006e	5e		 pop	 esi
  0006f	5b		 pop	 ebx
  00070	8b e5		 mov	 esp, ebp
  00072	5d		 pop	 ebp
  00073	c2 08 00	 ret	 8
?Find@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEH_WH@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
;	COMDAT ?GetManager@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ
_TEXT	SEGMENT
_pStringMgr$ = -8					; size = 4
_this$ = -4						; size = 4
?GetManager@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager, COMDAT
; _this$ = ecx

; 1436 : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 48	 sub	 esp, 72			; 00000048H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 1437 : 		IAtlStringMgr* pStringMgr = CThisSimpleString::GetManager();

  0000c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000f	e8 00 00 00 00	 call	 ?GetManager@?$CSimpleStringT@_W$0A@@ATL@@QBEPAUIAtlStringMgr@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetManager
  00014	89 45 f8	 mov	 DWORD PTR _pStringMgr$[ebp], eax

; 1438 : 		if(pStringMgr) { return pStringMgr; }

  00017	83 7d f8 00	 cmp	 DWORD PTR _pStringMgr$[ebp], 0
  0001b	74 05		 je	 SHORT $LN2@GetManager
  0001d	8b 45 f8	 mov	 eax, DWORD PTR _pStringMgr$[ebp]
  00020	eb 15		 jmp	 SHORT $LN1@GetManager
$LN2@GetManager:

; 1439 : 
; 1440 : 		pStringMgr = StringTraits::GetDefaultManager();

  00022	e8 00 00 00 00	 call	 ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager
  00027	89 45 f8	 mov	 DWORD PTR _pStringMgr$[ebp], eax

; 1441 : 		return pStringMgr->Clone();

  0002a	8b 45 f8	 mov	 eax, DWORD PTR _pStringMgr$[ebp]
  0002d	8b 10		 mov	 edx, DWORD PTR [eax]
  0002f	8b 4d f8	 mov	 ecx, DWORD PTR _pStringMgr$[ebp]
  00032	8b 42 10	 mov	 eax, DWORD PTR [edx+16]
  00035	ff d0		 call	 eax
$LN1@GetManager:

; 1442 : 	}

  00037	5f		 pop	 edi
  00038	5e		 pop	 esi
  00039	5b		 pop	 ebx
  0003a	8b e5		 mov	 esp, ebp
  0003c	5d		 pop	 ebp
  0003d	c3		 ret	 0
?GetManager@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
;	COMDAT ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::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<wchar_t>::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<wchar_t,0>::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<wchar_t>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
;	COMDAT ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_pszSrc$ = 8						; size = 4
??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=, COMDAT
; _this$ = ecx

; 1318 : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 44	 sub	 esp, 68			; 00000044H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 1319 : 		CThisSimpleString::operator=( pszSrc );

  0000c	8b 45 08	 mov	 eax, DWORD PTR _pszSrc$[ebp]
  0000f	50		 push	 eax
  00010	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00013	e8 00 00 00 00	 call	 ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::operator=

; 1320 : 
; 1321 : 		return( *this );

  00018	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]

; 1322 : 	}

  0001b	5f		 pop	 edi
  0001c	5e		 pop	 esi
  0001d	5b		 pop	 ebx
  0001e	8b e5		 mov	 esp, ebp
  00020	5d		 pop	 ebp
  00021	c2 04 00	 ret	 4
??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
;	COMDAT ??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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::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<wchar_t,0>::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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
;	COMDAT ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
; _this$ = ecx

; 1298 : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 44	 sub	 esp, 68			; 00000044H
  00014	53		 push	 ebx
  00015	56		 push	 esi
  00016	57		 push	 edi
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00028	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  0002b	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 1299 : 	}

  00032	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00039	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0003c	e8 00 00 00 00	 call	 ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
  00041	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00044	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0004b	59		 pop	 ecx
  0004c	5f		 pop	 edi
  0004d	5e		 pop	 esi
  0004e	5b		 pop	 ebx
  0004f	8b e5		 mov	 esp, ebp
  00051	5d		 pop	 ebp
  00052	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
  00008	cc		 int	 3
  00009	cc		 int	 3
  0000a	cc		 int	 3
  0000b	cc		 int	 3
  0000c	cc		 int	 3
__ehhandler$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ:
  0000d	90		 npad	 1
  0000e	90		 npad	 1
  0000f	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00013	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00016	8b 4a ac	 mov	 ecx, DWORD PTR [edx-84]
  00019	33 c8		 xor	 ecx, eax
  0001b	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00020	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
  00025	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
;	COMDAT ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_pszSrc$ = 8						; size = 4
_pStringMgr$ = 12					; size = 4
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
; _this$ = ecx

; 1060 : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 44	 sub	 esp, 68			; 00000044H
  00014	53		 push	 ebx
  00015	56		 push	 esi
  00016	57		 push	 edi
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00028	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx

; 1059 : 		CThisSimpleString( pStringMgr )

  0002b	8b 45 0c	 mov	 eax, DWORD PTR _pStringMgr$[ebp]
  0002e	50		 push	 eax
  0002f	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00032	e8 00 00 00 00	 call	 ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
  00037	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 1061 : 		if( !CheckImplicitLoad( pszSrc ) )

  0003e	8b 45 08	 mov	 eax, DWORD PTR _pszSrc$[ebp]
  00041	50		 push	 eax
  00042	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00045	e8 00 00 00 00	 call	 ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad
  0004a	0f b6 c8	 movzx	 ecx, al
  0004d	85 c9		 test	 ecx, ecx
  0004f	75 0c		 jne	 SHORT $LN1@CStringT

; 1062 : 		{
; 1063 : 			*this = pszSrc;

  00051	8b 45 08	 mov	 eax, DWORD PTR _pszSrc$[ebp]
  00054	50		 push	 eax
  00055	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00058	e8 00 00 00 00	 call	 ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
$LN1@CStringT:

; 1064 : 		}
; 1065 : 	}

  0005d	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00064	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00067	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0006a	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00071	59		 pop	 ecx
  00072	5f		 pop	 edi
  00073	5e		 pop	 esi
  00074	5b		 pop	 ebx
  00075	8b e5		 mov	 esp, ebp
  00077	5d		 pop	 ebp
  00078	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
  00008	cc		 int	 3
  00009	cc		 int	 3
  0000a	cc		 int	 3
  0000b	cc		 int	 3
  0000c	cc		 int	 3
__ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z:
  0000d	90		 npad	 1
  0000e	90		 npad	 1
  0000f	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00013	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00016	8b 4a ac	 mov	 ecx, DWORD PTR [edx-84]
  00019	33 c8		 xor	 ecx, eax
  0001b	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00020	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z
  00025	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
;	COMDAT ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_pszSrc$ = 8						; size = 4
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
; _this$ = ecx

; 1049 : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 44	 sub	 esp, 68			; 00000044H
  00014	53		 push	 ebx
  00015	56		 push	 esi
  00016	57		 push	 edi
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00028	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx

; 1048 : 		CThisSimpleString( StringTraits::GetDefaultManager() )

  0002b	e8 00 00 00 00	 call	 ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager
  00030	50		 push	 eax
  00031	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00034	e8 00 00 00 00	 call	 ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
  00039	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 1050 : 		if( !CheckImplicitLoad( pszSrc ) )

  00040	8b 45 08	 mov	 eax, DWORD PTR _pszSrc$[ebp]
  00043	50		 push	 eax
  00044	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00047	e8 00 00 00 00	 call	 ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad
  0004c	0f b6 c8	 movzx	 ecx, al
  0004f	85 c9		 test	 ecx, ecx
  00051	75 0c		 jne	 SHORT $LN1@CStringT

; 1051 : 		{
; 1052 : 			*this = pszSrc;

  00053	8b 45 08	 mov	 eax, DWORD PTR _pszSrc$[ebp]
  00056	50		 push	 eax
  00057	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0005a	e8 00 00 00 00	 call	 ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
$LN1@CStringT:

; 1053 : 		}
; 1054 : 	}

  0005f	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00066	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00069	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0006c	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00073	59		 pop	 ecx
  00074	5f		 pop	 edi
  00075	5e		 pop	 esi
  00076	5b		 pop	 ebx
  00077	8b e5		 mov	 esp, ebp
  00079	5d		 pop	 ebp
  0007a	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
  00008	cc		 int	 3
  00009	cc		 int	 3
  0000a	cc		 int	 3
  0000b	cc		 int	 3
  0000c	cc		 int	 3
__ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z:
  0000d	90		 npad	 1
  0000e	90		 npad	 1
  0000f	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00013	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00016	8b 4a ac	 mov	 ecx, DWORD PTR [edx-84]
  00019	33 c8		 xor	 ecx, eax
  0001b	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00020	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z
  00025	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
;	COMDAT ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
; _this$ = ecx

; 1011 : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 44	 sub	 esp, 68			; 00000044H
  00014	53		 push	 ebx
  00015	56		 push	 esi
  00016	57		 push	 edi
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00028	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx

; 1010 : 		CThisSimpleString( StringTraits::GetDefaultManager() )

  0002b	e8 00 00 00 00	 call	 ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager
  00030	50		 push	 eax
  00031	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00034	e8 00 00 00 00	 call	 ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
  00039	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 1012 : 	}

  00040	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00047	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  0004a	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0004d	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00054	59		 pop	 ecx
  00055	5f		 pop	 edi
  00056	5e		 pop	 esi
  00057	5b		 pop	 ebx
  00058	8b e5		 mov	 esp, ebp
  0005a	5d		 pop	 ebp
  0005b	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
  00008	cc		 int	 3
  00009	cc		 int	 3
  0000a	cc		 int	 3
  0000b	cc		 int	 3
  0000c	cc		 int	 3
__ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ:
  0000d	90		 npad	 1
  0000e	90		 npad	 1
  0000f	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00013	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00016	8b 4a ac	 mov	 ecx, DWORD PTR [edx-84]
  00019	33 c8		 xor	 ecx, eax
  0001b	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00020	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
  00025	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z
_TEXT	SEGMENT
tv139 = -88						; size = 4
tv141 = -84						; size = 4
tv143 = -80						; size = 4
tv145 = -76						; size = 4
tv87 = -76						; size = 4
_pNewStringMgr$ = -8					; size = 4
_pNewData$ = -4						; size = 4
_pData$ = 8						; size = 4
?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::CloneData, COMDAT

; 879  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 58	 sub	 esp, 88			; 00000058H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi

; 880  : 		CStringData* pNewData = NULL;

  00009	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _pNewData$[ebp], 0

; 881  : 
; 882  : 		IAtlStringMgr* pNewStringMgr = pData->pStringMgr->Clone();

  00010	8b 45 08	 mov	 eax, DWORD PTR _pData$[ebp]
  00013	8b 08		 mov	 ecx, DWORD PTR [eax]
  00015	8b 55 08	 mov	 edx, DWORD PTR _pData$[ebp]
  00018	8b 01		 mov	 eax, DWORD PTR [ecx]
  0001a	8b 0a		 mov	 ecx, DWORD PTR [edx]
  0001c	8b 50 10	 mov	 edx, DWORD PTR [eax+16]
  0001f	ff d2		 call	 edx
  00021	89 45 f8	 mov	 DWORD PTR _pNewStringMgr$[ebp], eax

; 883  : 		if( !pData->IsLocked() && (pNewStringMgr == pData->pStringMgr) )

  00024	8b 4d 08	 mov	 ecx, DWORD PTR _pData$[ebp]
  00027	e8 00 00 00 00	 call	 ?IsLocked@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsLocked
  0002c	0f b6 c0	 movzx	 eax, al
  0002f	85 c0		 test	 eax, eax
  00031	75 1a		 jne	 SHORT $LN2@CloneData
  00033	8b 45 08	 mov	 eax, DWORD PTR _pData$[ebp]
  00036	8b 4d f8	 mov	 ecx, DWORD PTR _pNewStringMgr$[ebp]
  00039	3b 08		 cmp	 ecx, DWORD PTR [eax]
  0003b	75 10		 jne	 SHORT $LN2@CloneData

; 884  : 		{
; 885  : 			pNewData = pData;

  0003d	8b 45 08	 mov	 eax, DWORD PTR _pData$[ebp]
  00040	89 45 fc	 mov	 DWORD PTR _pNewData$[ebp], eax

; 886  : 			pNewData->AddRef();

  00043	8b 4d fc	 mov	 ecx, DWORD PTR _pNewData$[ebp]
  00046	e8 00 00 00 00	 call	 ?AddRef@CStringData@ATL@@QAEXXZ ; ATL::CStringData::AddRef

; 887  : 		}

  0004b	eb 7b		 jmp	 SHORT $LN3@CloneData
$LN2@CloneData:

; 888  : 		else
; 889  : 		{
; 890  : 			pNewData = pNewStringMgr->Allocate( pData->nDataLength, sizeof( XCHAR ) );

  0004d	8b 45 f8	 mov	 eax, DWORD PTR _pNewStringMgr$[ebp]
  00050	8b 08		 mov	 ecx, DWORD PTR [eax]
  00052	8b 11		 mov	 edx, DWORD PTR [ecx]
  00054	89 55 b4	 mov	 DWORD PTR tv87[ebp], edx
  00057	6a 02		 push	 2
  00059	8b 45 08	 mov	 eax, DWORD PTR _pData$[ebp]
  0005c	8b 48 04	 mov	 ecx, DWORD PTR [eax+4]
  0005f	51		 push	 ecx
  00060	8b 4d f8	 mov	 ecx, DWORD PTR _pNewStringMgr$[ebp]
  00063	ff 55 b4	 call	 DWORD PTR tv87[ebp]
  00066	89 45 fc	 mov	 DWORD PTR _pNewData$[ebp], eax

; 891  : 			if( pNewData == NULL )

  00069	83 7d fc 00	 cmp	 DWORD PTR _pNewData$[ebp], 0
  0006d	75 05		 jne	 SHORT $LN4@CloneData

; 892  : 			{
; 893  : 				ThrowMemoryException();

  0006f	e8 00 00 00 00	 call	 ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
$LN4@CloneData:

; 894  : 			}
; 895  : 			pNewData->nDataLength = pData->nDataLength;

  00074	8b 45 fc	 mov	 eax, DWORD PTR _pNewData$[ebp]
  00077	8b 4d 08	 mov	 ecx, DWORD PTR _pData$[ebp]
  0007a	8b 51 04	 mov	 edx, DWORD PTR [ecx+4]
  0007d	89 50 04	 mov	 DWORD PTR [eax+4], edx

; 896  : 			memcpy_s( PXSTR( pNewData->data() ), (pNewData->nDataLength+1) * sizeof( XCHAR ),

  00080	8b 45 08	 mov	 eax, DWORD PTR _pData$[ebp]
  00083	8b 48 04	 mov	 ecx, DWORD PTR [eax+4]
  00086	8d 54 09 02	 lea	 edx, DWORD PTR [ecx+ecx+2]
  0008a	89 55 b4	 mov	 DWORD PTR tv145[ebp], edx
  0008d	8b 4d 08	 mov	 ecx, DWORD PTR _pData$[ebp]
  00090	e8 00 00 00 00	 call	 ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
  00095	89 45 b0	 mov	 DWORD PTR tv143[ebp], eax
  00098	8b 45 fc	 mov	 eax, DWORD PTR _pNewData$[ebp]
  0009b	8b 48 04	 mov	 ecx, DWORD PTR [eax+4]
  0009e	8d 54 09 02	 lea	 edx, DWORD PTR [ecx+ecx+2]
  000a2	89 55 ac	 mov	 DWORD PTR tv141[ebp], edx
  000a5	8b 4d fc	 mov	 ecx, DWORD PTR _pNewData$[ebp]
  000a8	e8 00 00 00 00	 call	 ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
  000ad	89 45 a8	 mov	 DWORD PTR tv139[ebp], eax
  000b0	8b 45 b4	 mov	 eax, DWORD PTR tv145[ebp]
  000b3	50		 push	 eax
  000b4	8b 4d b0	 mov	 ecx, DWORD PTR tv143[ebp]
  000b7	51		 push	 ecx
  000b8	8b 55 ac	 mov	 edx, DWORD PTR tv141[ebp]
  000bb	52		 push	 edx
  000bc	8b 45 a8	 mov	 eax, DWORD PTR tv139[ebp]
  000bf	50		 push	 eax
  000c0	e8 00 00 00 00	 call	 _memcpy_s
  000c5	83 c4 10	 add	 esp, 16			; 00000010H
$LN3@CloneData:

; 897  : 				PCXSTR( pData->data() ), (pData->nDataLength+1) * sizeof( XCHAR ));  // Copy '\0'
; 898  : 		}
; 899  : 
; 900  : 		return( pNewData );

  000c8	8b 45 fc	 mov	 eax, DWORD PTR _pNewData$[ebp]
$LN5@CloneData:

; 901  : 	}

  000cb	5f		 pop	 edi
  000cc	5e		 pop	 esi
  000cd	5b		 pop	 ebx
  000ce	8b e5		 mov	 esp, ebp
  000d0	5d		 pop	 ebp
  000d1	c3		 ret	 0
?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::CloneData
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_nLength$ = 8						; size = 4
?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC	; ATL::CSimpleStringT<wchar_t,0>::SetLength, COMDAT
; _this$ = ecx

; 867  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 44	 sub	 esp, 68			; 00000044H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 868  : 		ATLASSERT( nLength >= 0 );
; 869  : 		ATLASSERT( nLength <= GetData()->nAllocLength );
; 870  : 
; 871  : 		if( nLength < 0 || nLength > GetData()->nAllocLength)

  0000c	83 7d 08 00	 cmp	 DWORD PTR _nLength$[ebp], 0
  00010	7c 10		 jl	 SHORT $LN3@SetLength
  00012	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00015	e8 00 00 00 00	 call	 ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
  0001a	8b 4d 08	 mov	 ecx, DWORD PTR _nLength$[ebp]
  0001d	3b 48 08	 cmp	 ecx, DWORD PTR [eax+8]
  00020	7e 0a		 jle	 SHORT $LN2@SetLength
$LN3@SetLength:

; 872  : 			AtlThrow(E_INVALIDARG);

  00022	68 57 00 07 80	 push	 -2147024809		; 80070057H
  00027	e8 00 00 00 00	 call	 ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN2@SetLength:

; 873  : 
; 874  : 		GetData()->nDataLength = nLength;

  0002c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0002f	e8 00 00 00 00	 call	 ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
  00034	8b 4d 08	 mov	 ecx, DWORD PTR _nLength$[ebp]
  00037	89 48 04	 mov	 DWORD PTR [eax+4], ecx

; 875  : 		m_pszData[nLength] = 0;

  0003a	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0003d	8b 08		 mov	 ecx, DWORD PTR [eax]
  0003f	33 d2		 xor	 edx, edx
  00041	8b 45 08	 mov	 eax, DWORD PTR _nLength$[ebp]
  00044	66 89 14 41	 mov	 WORD PTR [ecx+eax*2], dx
$LN4@SetLength:

; 876  : 	}

  00048	5f		 pop	 edi
  00049	5e		 pop	 esi
  0004a	5b		 pop	 ebx
  0004b	8b e5		 mov	 esp, ebp
  0004d	5d		 pop	 ebp
  0004e	c2 04 00	 ret	 4
?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP	; ATL::CSimpleStringT<wchar_t,0>::SetLength
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
_TEXT	SEGMENT
tv78 = -84						; size = 4
_pNewData$ = -16					; size = 4
_pStringMgr$ = -12					; size = 4
_pOldData$ = -8						; size = 4
_this$ = -4						; size = 4
_nLength$ = 8						; size = 4
?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC	; ATL::CSimpleStringT<wchar_t,0>::Reallocate, COMDAT
; _this$ = ecx

; 849  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 54	 sub	 esp, 84			; 00000054H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 850  : 		CStringData* pOldData = GetData();

  0000c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000f	e8 00 00 00 00	 call	 ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
  00014	89 45 f8	 mov	 DWORD PTR _pOldData$[ebp], eax

; 851  : 		ATLASSERT( pOldData->nAllocLength < nLength );
; 852  : 		IAtlStringMgr* pStringMgr = pOldData->pStringMgr;

  00017	8b 45 f8	 mov	 eax, DWORD PTR _pOldData$[ebp]
  0001a	8b 08		 mov	 ecx, DWORD PTR [eax]
  0001c	89 4d f4	 mov	 DWORD PTR _pStringMgr$[ebp], ecx

; 853  : 		if ( pOldData->nAllocLength >= nLength || nLength <= 0)

  0001f	8b 45 f8	 mov	 eax, DWORD PTR _pOldData$[ebp]
  00022	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  00025	3b 4d 08	 cmp	 ecx, DWORD PTR _nLength$[ebp]
  00028	7d 06		 jge	 SHORT $LN3@Reallocate
  0002a	83 7d 08 00	 cmp	 DWORD PTR _nLength$[ebp], 0
  0002e	7f 07		 jg	 SHORT $LN2@Reallocate
$LN3@Reallocate:

; 854  : 		{
; 855  : 			ThrowMemoryException();

  00030	e8 00 00 00 00	 call	 ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException

; 856  : 			return;

  00035	eb 35		 jmp	 SHORT $LN5@Reallocate
$LN2@Reallocate:

; 857  : 		}
; 858  : 		CStringData* pNewData = pStringMgr->Reallocate( pOldData, nLength, sizeof( XCHAR ) );

  00037	8b 45 f4	 mov	 eax, DWORD PTR _pStringMgr$[ebp]
  0003a	8b 08		 mov	 ecx, DWORD PTR [eax]
  0003c	8b 51 08	 mov	 edx, DWORD PTR [ecx+8]
  0003f	89 55 ac	 mov	 DWORD PTR tv78[ebp], edx
  00042	6a 02		 push	 2
  00044	8b 45 08	 mov	 eax, DWORD PTR _nLength$[ebp]
  00047	50		 push	 eax
  00048	8b 4d f8	 mov	 ecx, DWORD PTR _pOldData$[ebp]
  0004b	51		 push	 ecx
  0004c	8b 4d f4	 mov	 ecx, DWORD PTR _pStringMgr$[ebp]
  0004f	ff 55 ac	 call	 DWORD PTR tv78[ebp]
  00052	89 45 f0	 mov	 DWORD PTR _pNewData$[ebp], eax

; 859  : 		if( pNewData == NULL )

  00055	83 7d f0 00	 cmp	 DWORD PTR _pNewData$[ebp], 0
  00059	75 05		 jne	 SHORT $LN4@Reallocate

; 860  : 		{
; 861  : 			ThrowMemoryException();

  0005b	e8 00 00 00 00	 call	 ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
$LN4@Reallocate:

; 862  : 		}
; 863  : 		Attach( pNewData );

  00060	8b 45 f0	 mov	 eax, DWORD PTR _pNewData$[ebp]
  00063	50		 push	 eax
  00064	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00067	e8 00 00 00 00	 call	 ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
$LN5@Reallocate:

; 864  : 	}

  0006c	5f		 pop	 edi
  0006d	5e		 pop	 esi
  0006e	5b		 pop	 ebx
  0006f	8b e5		 mov	 esp, ebp
  00071	5d		 pop	 ebp
  00072	c2 04 00	 ret	 4
?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP	; ATL::CSimpleStringT<wchar_t,0>::Reallocate
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
_TEXT	SEGMENT
_nNewLength$1 = -12					; size = 4
_pOldData$ = -8						; size = 4
_this$ = -4						; size = 4
_nLength$ = 8						; size = 4
?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2, COMDAT
; _this$ = ecx

; 818  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 4c	 sub	 esp, 76			; 0000004cH
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 819  : 		CStringData* pOldData = GetData();

  0000c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000f	e8 00 00 00 00	 call	 ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
  00014	89 45 f8	 mov	 DWORD PTR _pOldData$[ebp], eax

; 820  : 		if( pOldData->nDataLength > nLength )

  00017	8b 45 f8	 mov	 eax, DWORD PTR _pOldData$[ebp]
  0001a	8b 48 04	 mov	 ecx, DWORD PTR [eax+4]
  0001d	3b 4d 08	 cmp	 ecx, DWORD PTR _nLength$[ebp]
  00020	7e 09		 jle	 SHORT $LN2@PrepareWri

; 821  : 		{
; 822  : 			nLength = pOldData->nDataLength;

  00022	8b 45 f8	 mov	 eax, DWORD PTR _pOldData$[ebp]
  00025	8b 48 04	 mov	 ecx, DWORD PTR [eax+4]
  00028	89 4d 08	 mov	 DWORD PTR _nLength$[ebp], ecx
$LN2@PrepareWri:

; 823  : 		}
; 824  : 		if( pOldData->IsShared() )

  0002b	8b 4d f8	 mov	 ecx, DWORD PTR _pOldData$[ebp]
  0002e	e8 00 00 00 00	 call	 ?IsShared@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsShared
  00033	0f b6 c0	 movzx	 eax, al
  00036	85 c0		 test	 eax, eax
  00038	74 0e		 je	 SHORT $LN3@PrepareWri

; 825  : 		{
; 826  : 			Fork( nLength );

  0003a	8b 45 08	 mov	 eax, DWORD PTR _nLength$[ebp]
  0003d	50		 push	 eax
  0003e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00041	e8 00 00 00 00	 call	 ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Fork

; 827  : 		}

  00046	eb 52		 jmp	 SHORT $LN1@PrepareWri
$LN3@PrepareWri:

; 828  : 		else if( pOldData->nAllocLength < nLength )

  00048	8b 45 f8	 mov	 eax, DWORD PTR _pOldData$[ebp]
  0004b	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  0004e	3b 4d 08	 cmp	 ecx, DWORD PTR _nLength$[ebp]
  00051	7d 47		 jge	 SHORT $LN1@PrepareWri

; 829  : 		{
; 830  : 			// Grow exponentially, until we hit 1G, then by 1M thereafter.
; 831  : 			int nNewLength = pOldData->nAllocLength;

  00053	8b 45 f8	 mov	 eax, DWORD PTR _pOldData$[ebp]
  00056	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  00059	89 4d f4	 mov	 DWORD PTR _nNewLength$1[ebp], ecx

; 832  : 			if( nNewLength > 1024 * 1024 * 1024 )

  0005c	81 7d f4 00 00
	00 40		 cmp	 DWORD PTR _nNewLength$1[ebp], 1073741824 ; 40000000H
  00063	7e 0d		 jle	 SHORT $LN6@PrepareWri

; 833  : 			{
; 834  : 				nNewLength += 1024 * 1024;

  00065	8b 45 f4	 mov	 eax, DWORD PTR _nNewLength$1[ebp]
  00068	05 00 00 10 00	 add	 eax, 1048576		; 00100000H
  0006d	89 45 f4	 mov	 DWORD PTR _nNewLength$1[ebp], eax

; 835  : 			}

  00070	eb 0e		 jmp	 SHORT $LN7@PrepareWri
$LN6@PrepareWri:

; 836  : 			else
; 837  : 			{
; 838  : 				// Exponential growth factor is 1.5.
; 839  : 				nNewLength = nNewLength + nNewLength / 2;

  00072	8b 45 f4	 mov	 eax, DWORD PTR _nNewLength$1[ebp]
  00075	99		 cdq
  00076	2b c2		 sub	 eax, edx
  00078	d1 f8		 sar	 eax, 1
  0007a	03 45 f4	 add	 eax, DWORD PTR _nNewLength$1[ebp]
  0007d	89 45 f4	 mov	 DWORD PTR _nNewLength$1[ebp], eax
$LN7@PrepareWri:

; 840  : 			}
; 841  : 			if( nNewLength < nLength )

  00080	8b 45 f4	 mov	 eax, DWORD PTR _nNewLength$1[ebp]
  00083	3b 45 08	 cmp	 eax, DWORD PTR _nLength$[ebp]
  00086	7d 06		 jge	 SHORT $LN8@PrepareWri

; 842  : 			{
; 843  : 				nNewLength = nLength;

  00088	8b 45 08	 mov	 eax, DWORD PTR _nLength$[ebp]
  0008b	89 45 f4	 mov	 DWORD PTR _nNewLength$1[ebp], eax
$LN8@PrepareWri:

; 844  : 			}
; 845  : 			Reallocate( nNewLength );

  0008e	8b 45 f4	 mov	 eax, DWORD PTR _nNewLength$1[ebp]
  00091	50		 push	 eax
  00092	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00095	e8 00 00 00 00	 call	 ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Reallocate
$LN1@PrepareWri:

; 846  : 		}
; 847  : 	}

  0009a	5f		 pop	 edi
  0009b	5e		 pop	 esi
  0009c	5b		 pop	 ebx
  0009d	8b e5		 mov	 esp, ebp
  0009f	5d		 pop	 ebp
  000a0	c2 04 00	 ret	 4
?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z
_TEXT	SEGMENT
_nTooShort$ = -16					; size = 4
_nShared$ = -12						; size = 4
_pOldData$ = -8						; size = 4
_this$ = -4						; size = 4
_nLength$ = 8						; size = 4
?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite, COMDAT
; _this$ = ecx

; 803  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 50	 sub	 esp, 80			; 00000050H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 804  : 		if (nLength < 0)

  0000c	83 7d 08 00	 cmp	 DWORD PTR _nLength$[ebp], 0
  00010	7d 0a		 jge	 SHORT $LN2@PrepareWri

; 805  : 			AtlThrow(E_INVALIDARG);

  00012	68 57 00 07 80	 push	 -2147024809		; 80070057H
  00017	e8 00 00 00 00	 call	 ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN2@PrepareWri:

; 806  : 
; 807  : 		CStringData* pOldData = GetData();

  0001c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001f	e8 00 00 00 00	 call	 ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
  00024	89 45 f8	 mov	 DWORD PTR _pOldData$[ebp], eax

; 808  : 		int nShared = 1-pOldData->nRefs;  // nShared < 0 means true, >= 0 means false

  00027	8b 45 f8	 mov	 eax, DWORD PTR _pOldData$[ebp]
  0002a	b9 01 00 00 00	 mov	 ecx, 1
  0002f	2b 48 0c	 sub	 ecx, DWORD PTR [eax+12]
  00032	89 4d f4	 mov	 DWORD PTR _nShared$[ebp], ecx

; 809  : 		int nTooShort = pOldData->nAllocLength-nLength;  // nTooShort < 0 means true, >= 0 means false

  00035	8b 45 f8	 mov	 eax, DWORD PTR _pOldData$[ebp]
  00038	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  0003b	2b 4d 08	 sub	 ecx, DWORD PTR _nLength$[ebp]
  0003e	89 4d f0	 mov	 DWORD PTR _nTooShort$[ebp], ecx

; 810  : 		if( (nShared|nTooShort) < 0 )  // If either sign bit is set (i.e. either is less than zero), we need to copy data

  00041	8b 45 f4	 mov	 eax, DWORD PTR _nShared$[ebp]
  00044	0b 45 f0	 or	 eax, DWORD PTR _nTooShort$[ebp]
  00047	7d 0c		 jge	 SHORT $LN3@PrepareWri

; 811  : 		{
; 812  : 			PrepareWrite2( nLength );

  00049	8b 45 08	 mov	 eax, DWORD PTR _nLength$[ebp]
  0004c	50		 push	 eax
  0004d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00050	e8 00 00 00 00	 call	 ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2
$LN3@PrepareWri:

; 813  : 		}
; 814  : 
; 815  : 		return( m_pszData );

  00055	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00058	8b 00		 mov	 eax, DWORD PTR [eax]
$LN4@PrepareWri:

; 816  : 	}

  0005a	5f		 pop	 edi
  0005b	5e		 pop	 esi
  0005c	5b		 pop	 ebx
  0005d	8b e5		 mov	 esp, ebp
  0005f	5d		 pop	 ebp
  00060	c2 04 00	 ret	 4
?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ PROC ; ATL::CSimpleStringT<wchar_t,0>::GetData, COMDAT
; _this$ = ecx

; 799  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 44	 sub	 esp, 68			; 00000044H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 800  : 		return( reinterpret_cast< CStringData* >( m_pszData )-1 );

  0000c	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000f	8b 00		 mov	 eax, DWORD PTR [eax]
  00011	83 e8 10	 sub	 eax, 16			; 00000010H

; 801  : 	}

  00014	5f		 pop	 edi
  00015	5e		 pop	 esi
  00016	5b		 pop	 ebx
  00017	8b e5		 mov	 esp, ebp
  00019	5d		 pop	 ebp
  0001a	c3		 ret	 0
?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetData
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
_TEXT	SEGMENT
tv132 = -92						; size = 4
tv83 = -92						; size = 4
tv134 = -88						; size = 4
tv86 = -88						; size = 4
tv76 = -88						; size = 4
_nCharsToCopy$ = -20					; size = 4
_pNewData$ = -16					; size = 4
_nOldLength$ = -12					; size = 4
_pOldData$ = -8						; size = 4
_this$ = -4						; size = 4
_nLength$ = 8						; size = 4
?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC		; ATL::CSimpleStringT<wchar_t,0>::Fork, COMDAT
; _this$ = ecx

; 783  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 5c	 sub	 esp, 92			; 0000005cH
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 784  : 		CStringData* pOldData = GetData();

  0000c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000f	e8 00 00 00 00	 call	 ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
  00014	89 45 f8	 mov	 DWORD PTR _pOldData$[ebp], eax

; 785  : 		int nOldLength = pOldData->nDataLength;

  00017	8b 45 f8	 mov	 eax, DWORD PTR _pOldData$[ebp]
  0001a	8b 48 04	 mov	 ecx, DWORD PTR [eax+4]
  0001d	89 4d f4	 mov	 DWORD PTR _nOldLength$[ebp], ecx

; 786  : 		CStringData* pNewData = pOldData->pStringMgr->Clone()->Allocate( nLength, sizeof( XCHAR ) );

  00020	8b 45 f8	 mov	 eax, DWORD PTR _pOldData$[ebp]
  00023	8b 08		 mov	 ecx, DWORD PTR [eax]
  00025	8b 55 f8	 mov	 edx, DWORD PTR _pOldData$[ebp]
  00028	8b 01		 mov	 eax, DWORD PTR [ecx]
  0002a	8b 0a		 mov	 ecx, DWORD PTR [edx]
  0002c	8b 50 10	 mov	 edx, DWORD PTR [eax+16]
  0002f	ff d2		 call	 edx
  00031	89 45 a8	 mov	 DWORD PTR tv76[ebp], eax
  00034	8b 45 a8	 mov	 eax, DWORD PTR tv76[ebp]
  00037	8b 08		 mov	 ecx, DWORD PTR [eax]
  00039	8b 11		 mov	 edx, DWORD PTR [ecx]
  0003b	89 55 a4	 mov	 DWORD PTR tv83[ebp], edx
  0003e	6a 02		 push	 2
  00040	8b 45 08	 mov	 eax, DWORD PTR _nLength$[ebp]
  00043	50		 push	 eax
  00044	8b 4d a8	 mov	 ecx, DWORD PTR tv76[ebp]
  00047	ff 55 a4	 call	 DWORD PTR tv83[ebp]
  0004a	89 45 f0	 mov	 DWORD PTR _pNewData$[ebp], eax

; 787  : 		if( pNewData == NULL )

  0004d	83 7d f0 00	 cmp	 DWORD PTR _pNewData$[ebp], 0
  00051	75 05		 jne	 SHORT $LN2@Fork

; 788  : 		{
; 789  : 			ThrowMemoryException();

  00053	e8 00 00 00 00	 call	 ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
$LN2@Fork:

; 790  : 		}
; 791  : 		int nCharsToCopy = ((nOldLength < nLength) ? nOldLength : nLength)+1;  // Copy '\0'

  00058	8b 45 f4	 mov	 eax, DWORD PTR _nOldLength$[ebp]
  0005b	3b 45 08	 cmp	 eax, DWORD PTR _nLength$[ebp]
  0005e	7d 08		 jge	 SHORT $LN4@Fork
  00060	8b 4d f4	 mov	 ecx, DWORD PTR _nOldLength$[ebp]
  00063	89 4d a8	 mov	 DWORD PTR tv86[ebp], ecx
  00066	eb 06		 jmp	 SHORT $LN5@Fork
$LN4@Fork:
  00068	8b 55 08	 mov	 edx, DWORD PTR _nLength$[ebp]
  0006b	89 55 a8	 mov	 DWORD PTR tv86[ebp], edx
$LN5@Fork:
  0006e	8b 45 a8	 mov	 eax, DWORD PTR tv86[ebp]
  00071	83 c0 01	 add	 eax, 1
  00074	89 45 ec	 mov	 DWORD PTR _nCharsToCopy$[ebp], eax

; 792  : 		memcpy_s( PXSTR( pNewData->data() ), nCharsToCopy * sizeof( XCHAR ),

  00077	8b 4d f8	 mov	 ecx, DWORD PTR _pOldData$[ebp]
  0007a	e8 00 00 00 00	 call	 ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
  0007f	89 45 a8	 mov	 DWORD PTR tv134[ebp], eax
  00082	8b 4d f0	 mov	 ecx, DWORD PTR _pNewData$[ebp]
  00085	e8 00 00 00 00	 call	 ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
  0008a	89 45 a4	 mov	 DWORD PTR tv132[ebp], eax
  0008d	8b 45 ec	 mov	 eax, DWORD PTR _nCharsToCopy$[ebp]
  00090	d1 e0		 shl	 eax, 1
  00092	50		 push	 eax
  00093	8b 4d a8	 mov	 ecx, DWORD PTR tv134[ebp]
  00096	51		 push	 ecx
  00097	8b 55 ec	 mov	 edx, DWORD PTR _nCharsToCopy$[ebp]
  0009a	d1 e2		 shl	 edx, 1
  0009c	52		 push	 edx
  0009d	8b 45 a4	 mov	 eax, DWORD PTR tv132[ebp]
  000a0	50		 push	 eax
  000a1	e8 00 00 00 00	 call	 _memcpy_s
  000a6	83 c4 10	 add	 esp, 16			; 00000010H

; 793  : 			PCXSTR( pOldData->data() ), nCharsToCopy * sizeof( XCHAR ));
; 794  : 		pNewData->nDataLength = nOldLength;

  000a9	8b 45 f0	 mov	 eax, DWORD PTR _pNewData$[ebp]
  000ac	8b 4d f4	 mov	 ecx, DWORD PTR _nOldLength$[ebp]
  000af	89 48 04	 mov	 DWORD PTR [eax+4], ecx

; 795  : 		pOldData->Release();

  000b2	8b 4d f8	 mov	 ecx, DWORD PTR _pOldData$[ebp]
  000b5	e8 00 00 00 00	 call	 ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release

; 796  : 		Attach( pNewData );

  000ba	8b 45 f0	 mov	 eax, DWORD PTR _pNewData$[ebp]
  000bd	50		 push	 eax
  000be	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000c1	e8 00 00 00 00	 call	 ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
$LN3@Fork:

; 797  : 	}

  000c6	5f		 pop	 edi
  000c7	5e		 pop	 esi
  000c8	5b		 pop	 ebx
  000c9	8b e5		 mov	 esp, ebp
  000cb	5d		 pop	 ebp
  000cc	c2 04 00	 ret	 4
?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP		; ATL::CSimpleStringT<wchar_t,0>::Fork
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_pData$ = 8						; size = 4
?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::Attach, COMDAT
; _this$ = ecx

; 779  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 44	 sub	 esp, 68			; 00000044H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 780  : 		m_pszData = static_cast< PXSTR >( pData->data() );

  0000c	8b 4d 08	 mov	 ecx, DWORD PTR _pData$[ebp]
  0000f	e8 00 00 00 00	 call	 ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
  00014	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00017	89 01		 mov	 DWORD PTR [ecx], eax

; 781  : 	}

  00019	5f		 pop	 edi
  0001a	5e		 pop	 esi
  0001b	5b		 pop	 ebx
  0001c	8b e5		 mov	 esp, ebp
  0001e	5d		 pop	 ebp
  0001f	c2 04 00	 ret	 4
?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::Attach
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ
_TEXT	SEGMENT
?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException, COMDAT

; 772  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 40	 sub	 esp, 64			; 00000040H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi

; 773  : 		AtlThrow( E_OUTOFMEMORY );

  00009	68 0e 00 07 80	 push	 -2147024882		; 8007000eH
  0000e	e8 00 00 00 00	 call	 ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN2@ThrowMemor:

; 774  : 	}

  00013	5f		 pop	 edi
  00014	5e		 pop	 esi
  00015	5b		 pop	 ebx
  00016	8b e5		 mov	 esp, ebp
  00018	5d		 pop	 ebp
  00019	c3		 ret	 0
?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z
_TEXT	SEGMENT
__$EHRec$ = -12						; size = 12
_psz$ = 8						; size = 4
?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::StringLength, COMDAT

; 729  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 40	 sub	 esp, 64			; 00000040H
  00014	53		 push	 ebx
  00015	56		 push	 esi
  00016	57		 push	 edi
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax

; 730  : 		if( psz == NULL )

  00028	83 7d 08 00	 cmp	 DWORD PTR _psz$[ebp], 0
  0002c	75 04		 jne	 SHORT $LN2@StringLeng

; 731  : 		{
; 732  : 			return( 0 );

  0002e	33 c0		 xor	 eax, eax
  00030	eb 0c		 jmp	 SHORT $LN1@StringLeng
$LN2@StringLeng:

; 733  : 		}
; 734  : 		return( int( wcslen( psz ) ) );

  00032	8b 45 08	 mov	 eax, DWORD PTR _psz$[ebp]
  00035	50		 push	 eax
  00036	e8 00 00 00 00	 call	 _wcslen
  0003b	83 c4 04	 add	 esp, 4
$LN1@StringLeng:

; 735  : 	}

  0003e	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00041	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00048	59		 pop	 ecx
  00049	5f		 pop	 edi
  0004a	5e		 pop	 esi
  0004b	5b		 pop	 ebx
  0004c	8b e5		 mov	 esp, ebp
  0004e	5d		 pop	 ebp
  0004f	c3		 ret	 0
  00050	cc		 int	 3
  00051	cc		 int	 3
  00052	cc		 int	 3
  00053	cc		 int	 3
  00054	cc		 int	 3
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z:
  00000	90		 npad	 1
  00001	90		 npad	 1
  00002	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00006	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00009	8b 4a b0	 mov	 ecx, DWORD PTR [edx-80]
  0000c	33 c8		 xor	 ecx, eax
  0000e	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00013	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z
  00018	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::StringLength
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z
_TEXT	SEGMENT
__$EHRec$ = -12						; size = 12
_pchDest$ = 8						; size = 4
_nDestLen$ = 12						; size = 4
_pchSrc$ = 16						; size = 4
_nChars$ = 20						; size = 4
?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::CopyCharsOverlapped, COMDAT

; 716  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 40	 sub	 esp, 64			; 00000040H
  00014	53		 push	 ebx
  00015	56		 push	 esi
  00016	57		 push	 edi
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax

; 717  : 		memmove_s( pchDest, nDestLen*sizeof( XCHAR ),

  00028	8b 45 14	 mov	 eax, DWORD PTR _nChars$[ebp]
  0002b	d1 e0		 shl	 eax, 1
  0002d	50		 push	 eax
  0002e	8b 4d 10	 mov	 ecx, DWORD PTR _pchSrc$[ebp]
  00031	51		 push	 ecx
  00032	8b 55 0c	 mov	 edx, DWORD PTR _nDestLen$[ebp]
  00035	d1 e2		 shl	 edx, 1
  00037	52		 push	 edx
  00038	8b 45 08	 mov	 eax, DWORD PTR _pchDest$[ebp]
  0003b	50		 push	 eax
  0003c	e8 00 00 00 00	 call	 _memmove_s
  00041	83 c4 10	 add	 esp, 16			; 00000010H

; 718  : 			pchSrc, nChars*sizeof( XCHAR ) );
; 719  : 	}

  00044	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00047	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0004e	59		 pop	 ecx
  0004f	5f		 pop	 edi
  00050	5e		 pop	 esi
  00051	5b		 pop	 ebx
  00052	8b e5		 mov	 esp, ebp
  00054	5d		 pop	 ebp
  00055	c3		 ret	 0
  00056	cc		 int	 3
  00057	cc		 int	 3
  00058	cc		 int	 3
  00059	cc		 int	 3
  0005a	cc		 int	 3
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z:
  00000	90		 npad	 1
  00001	90		 npad	 1
  00002	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00006	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00009	8b 4a b0	 mov	 ecx, DWORD PTR [edx-80]
  0000c	33 c8		 xor	 ecx, eax
  0000e	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00013	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z
  00018	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::CopyCharsOverlapped
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z
_TEXT	SEGMENT
_pszBuffer$1 = -16					; size = 4
_nOffset$2 = -12					; size = 4
_nOldLength$3 = -8					; size = 4
_this$ = -4						; size = 4
_pszSrc$ = 8						; size = 4
_nLength$ = 12						; size = 4
?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::SetString, COMDAT
; _this$ = ecx

; 607  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 50	 sub	 esp, 80			; 00000050H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 608  : 		if( nLength == 0 )

  0000c	83 7d 0c 00	 cmp	 DWORD PTR _nLength$[ebp], 0
  00010	75 0d		 jne	 SHORT $LN2@SetString

; 609  : 		{
; 610  : 			Empty();

  00012	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00015	e8 00 00 00 00	 call	 ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ ; ATL::CSimpleStringT<wchar_t,0>::Empty

; 611  : 		}

  0001a	e9 96 00 00 00	 jmp	 $LN7@SetString
$LN2@SetString:

; 612  : 		else
; 613  : 		{
; 614  : 			// It is possible that pszSrc points to a location inside of our
; 615  : 			// buffer.  GetBuffer() might change m_pszData if (1) the buffer
; 616  : 			// is shared or (2) the buffer is too small to hold the new
; 617  : 			// string.  We detect this aliasing, and modify pszSrc to point
; 618  : 			// into the newly allocated buffer instead.
; 619  : 
; 620  : 			if(pszSrc == NULL)

  0001f	83 7d 08 00	 cmp	 DWORD PTR _pszSrc$[ebp], 0
  00023	75 0a		 jne	 SHORT $LN4@SetString

; 621  : 				AtlThrow(E_INVALIDARG);

  00025	68 57 00 07 80	 push	 -2147024809		; 80070057H
  0002a	e8 00 00 00 00	 call	 ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN4@SetString:

; 622  : 
; 623  : 			UINT nOldLength = GetLength();

  0002f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00032	e8 00 00 00 00	 call	 ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
  00037	89 45 f8	 mov	 DWORD PTR _nOldLength$3[ebp], eax

; 624  : 			UINT_PTR nOffset = pszSrc-GetString();

  0003a	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0003d	e8 00 00 00 00	 call	 ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
  00042	8b 4d 08	 mov	 ecx, DWORD PTR _pszSrc$[ebp]
  00045	2b c8		 sub	 ecx, eax
  00047	d1 f9		 sar	 ecx, 1
  00049	89 4d f4	 mov	 DWORD PTR _nOffset$2[ebp], ecx

; 625  : 			// If 0 <= nOffset <= nOldLength, then pszSrc points into our
; 626  : 			// buffer
; 627  : 
; 628  : 			PXSTR pszBuffer = GetBuffer( nLength );

  0004c	8b 45 0c	 mov	 eax, DWORD PTR _nLength$[ebp]
  0004f	50		 push	 eax
  00050	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00053	e8 00 00 00 00	 call	 ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
  00058	89 45 f0	 mov	 DWORD PTR _pszBuffer$1[ebp], eax

; 629  : 			if( nOffset <= nOldLength )

  0005b	8b 45 f4	 mov	 eax, DWORD PTR _nOffset$2[ebp]
  0005e	3b 45 f8	 cmp	 eax, DWORD PTR _nOldLength$3[ebp]
  00061	77 25		 ja	 SHORT $LN5@SetString

; 630  : 			{
; 631  : 				CopyCharsOverlapped( pszBuffer, GetAllocLength(),

  00063	8b 45 0c	 mov	 eax, DWORD PTR _nLength$[ebp]
  00066	50		 push	 eax
  00067	8b 4d f4	 mov	 ecx, DWORD PTR _nOffset$2[ebp]
  0006a	8b 55 f0	 mov	 edx, DWORD PTR _pszBuffer$1[ebp]
  0006d	8d 04 4a	 lea	 eax, DWORD PTR [edx+ecx*2]
  00070	50		 push	 eax
  00071	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00074	e8 00 00 00 00	 call	 ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength
  00079	50		 push	 eax
  0007a	8b 4d f0	 mov	 ecx, DWORD PTR _pszBuffer$1[ebp]
  0007d	51		 push	 ecx
  0007e	e8 00 00 00 00	 call	 ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::CopyCharsOverlapped
  00083	83 c4 10	 add	 esp, 16			; 00000010H

; 632  : 					pszBuffer+nOffset, nLength );
; 633  : 			}

  00086	eb 21		 jmp	 SHORT $LN6@SetString
$LN5@SetString:

; 634  : 			else
; 635  : 			{
; 636  : 				memcpy_s( pszBuffer, GetAllocLength() * sizeof( XCHAR ), pszSrc, nLength * sizeof( XCHAR ));

  00088	8b 45 0c	 mov	 eax, DWORD PTR _nLength$[ebp]
  0008b	d1 e0		 shl	 eax, 1
  0008d	50		 push	 eax
  0008e	8b 4d 08	 mov	 ecx, DWORD PTR _pszSrc$[ebp]
  00091	51		 push	 ecx
  00092	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00095	e8 00 00 00 00	 call	 ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength
  0009a	d1 e0		 shl	 eax, 1
  0009c	50		 push	 eax
  0009d	8b 55 f0	 mov	 edx, DWORD PTR _pszBuffer$1[ebp]
  000a0	52		 push	 edx
  000a1	e8 00 00 00 00	 call	 _memcpy_s
  000a6	83 c4 10	 add	 esp, 16			; 00000010H
$LN6@SetString:

; 637  : 			}
; 638  : 			ReleaseBufferSetLength( nLength );

  000a9	8b 45 0c	 mov	 eax, DWORD PTR _nLength$[ebp]
  000ac	50		 push	 eax
  000ad	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000b0	e8 00 00 00 00	 call	 ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
$LN7@SetString:

; 639  : 		}
; 640  : 	}

  000b5	5f		 pop	 edi
  000b6	5e		 pop	 esi
  000b7	5b		 pop	 ebx
  000b8	8b e5		 mov	 esp, ebp
  000ba	5d		 pop	 ebp
  000bb	c2 08 00	 ret	 8
?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::SetString
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_pszSrc$ = 8						; size = 4
?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z PROC	; ATL::CSimpleStringT<wchar_t,0>::SetString, COMDAT
; _this$ = ecx

; 601  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 44	 sub	 esp, 68			; 00000044H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 602  : 		SetString( pszSrc, StringLength( pszSrc ) );

  0000c	8b 45 08	 mov	 eax, DWORD PTR _pszSrc$[ebp]
  0000f	50		 push	 eax
  00010	e8 00 00 00 00	 call	 ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::StringLength
  00015	83 c4 04	 add	 esp, 4
  00018	50		 push	 eax
  00019	8b 4d 08	 mov	 ecx, DWORD PTR _pszSrc$[ebp]
  0001c	51		 push	 ecx
  0001d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00020	e8 00 00 00 00	 call	 ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString

; 603  : 	}

  00025	5f		 pop	 edi
  00026	5e		 pop	 esi
  00027	5b		 pop	 ebx
  00028	8b e5		 mov	 esp, ebp
  0002a	5d		 pop	 ebp
  0002b	c2 04 00	 ret	 4
?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z ENDP	; ATL::CSimpleStringT<wchar_t,0>::SetString
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_nNewLength$ = 8					; size = 4
?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength, COMDAT
; _this$ = ecx

; 566  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 44	 sub	 esp, 68			; 00000044H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 567  : 		ATLASSERT( nNewLength >= 0 );
; 568  : 		SetLength( nNewLength );

  0000c	8b 45 08	 mov	 eax, DWORD PTR _nNewLength$[ebp]
  0000f	50		 push	 eax
  00010	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00013	e8 00 00 00 00	 call	 ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetLength

; 569  : 	}

  00018	5f		 pop	 edi
  00019	5e		 pop	 esi
  0001a	5b		 pop	 ebx
  0001b	8b e5		 mov	 esp, ebp
  0001d	5d		 pop	 ebp
  0001e	c2 04 00	 ret	 4
?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ PROC	; ATL::CSimpleStringT<wchar_t,0>::GetString, COMDAT
; _this$ = ecx

; 528  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 44	 sub	 esp, 68			; 00000044H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 529  : 		return( m_pszData );

  0000c	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000f	8b 00		 mov	 eax, DWORD PTR [eax]

; 530  : 	}

  00011	5f		 pop	 edi
  00012	5e		 pop	 esi
  00013	5b		 pop	 ebx
  00014	8b e5		 mov	 esp, ebp
  00016	5d		 pop	 ebp
  00017	c3		 ret	 0
?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ENDP	; ATL::CSimpleStringT<wchar_t,0>::GetString
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ?GetManager@?$CSimpleStringT@_W$0A@@ATL@@QBEPAUIAtlStringMgr@2@XZ
_TEXT	SEGMENT
tv72 = -76						; size = 4
_pStringMgr$ = -8					; size = 4
_this$ = -4						; size = 4
?GetManager@?$CSimpleStringT@_W$0A@@ATL@@QBEPAUIAtlStringMgr@2@XZ PROC ; ATL::CSimpleStringT<wchar_t,0>::GetManager, COMDAT
; _this$ = ecx

; 522  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 4c	 sub	 esp, 76			; 0000004cH
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 523  : 		IAtlStringMgr* pStringMgr = GetData()->pStringMgr;

  0000c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000f	e8 00 00 00 00	 call	 ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
  00014	8b 00		 mov	 eax, DWORD PTR [eax]
  00016	89 45 f8	 mov	 DWORD PTR _pStringMgr$[ebp], eax

; 524  : 		return pStringMgr ? pStringMgr->Clone() : NULL;

  00019	83 7d f8 00	 cmp	 DWORD PTR _pStringMgr$[ebp], 0
  0001d	74 12		 je	 SHORT $LN3@GetManager
  0001f	8b 45 f8	 mov	 eax, DWORD PTR _pStringMgr$[ebp]
  00022	8b 10		 mov	 edx, DWORD PTR [eax]
  00024	8b 4d f8	 mov	 ecx, DWORD PTR _pStringMgr$[ebp]
  00027	8b 42 10	 mov	 eax, DWORD PTR [edx+16]
  0002a	ff d0		 call	 eax
  0002c	89 45 b4	 mov	 DWORD PTR tv72[ebp], eax
  0002f	eb 07		 jmp	 SHORT $LN4@GetManager
$LN3@GetManager:
  00031	c7 45 b4 00 00
	00 00		 mov	 DWORD PTR tv72[ebp], 0
$LN4@GetManager:
  00038	8b 45 b4	 mov	 eax, DWORD PTR tv72[ebp]

; 525  : 	}

  0003b	5f		 pop	 edi
  0003c	5e		 pop	 esi
  0003d	5b		 pop	 ebx
  0003e	8b e5		 mov	 esp, ebp
  00040	5d		 pop	 ebp
  00041	c3		 ret	 0
?GetManager@?$CSimpleStringT@_W$0A@@ATL@@QBEPAUIAtlStringMgr@2@XZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetManager
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ PROC	; ATL::CSimpleStringT<wchar_t,0>::GetLength, COMDAT
; _this$ = ecx

; 518  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 44	 sub	 esp, 68			; 00000044H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 519  : 		return( GetData()->nDataLength );

  0000c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000f	e8 00 00 00 00	 call	 ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
  00014	8b 40 04	 mov	 eax, DWORD PTR [eax+4]

; 520  : 	}

  00017	5f		 pop	 edi
  00018	5e		 pop	 esi
  00019	5b		 pop	 ebx
  0001a	8b e5		 mov	 esp, ebp
  0001c	5d		 pop	 ebp
  0001d	c3		 ret	 0
?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ENDP	; ATL::CSimpleStringT<wchar_t,0>::GetLength
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_nMinBufferLength$ = 8					; size = 4
?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z PROC	; ATL::CSimpleStringT<wchar_t,0>::GetBuffer, COMDAT
; _this$ = ecx

; 507  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 44	 sub	 esp, 68			; 00000044H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 508  : 		return( PrepareWrite( nMinBufferLength ) );

  0000c	8b 45 08	 mov	 eax, DWORD PTR _nMinBufferLength$[ebp]
  0000f	50		 push	 eax
  00010	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00013	e8 00 00 00 00	 call	 ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite

; 509  : 	}

  00018	5f		 pop	 edi
  00019	5e		 pop	 esi
  0001a	5b		 pop	 ebx
  0001b	8b e5		 mov	 esp, ebp
  0001d	5d		 pop	 ebp
  0001e	c2 04 00	 ret	 4
?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ENDP	; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength, COMDAT
; _this$ = ecx

; 485  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 44	 sub	 esp, 68			; 00000044H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 486  : 		return( GetData()->nAllocLength );

  0000c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000f	e8 00 00 00 00	 call	 ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
  00014	8b 40 08	 mov	 eax, DWORD PTR [eax+8]

; 487  : 	}

  00017	5f		 pop	 edi
  00018	5e		 pop	 esi
  00019	5b		 pop	 ebx
  0001a	8b e5		 mov	 esp, ebp
  0001c	5d		 pop	 ebp
  0001d	c3		 ret	 0
?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ
_TEXT	SEGMENT
_pNewData$2 = -28					; size = 4
_pStringMgr$ = -24					; size = 4
_pOldData$ = -20					; size = 4
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ PROC		; ATL::CSimpleStringT<wchar_t,0>::Empty, COMDAT
; _this$ = ecx

; 436  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 50	 sub	 esp, 80			; 00000050H
  00014	53		 push	 ebx
  00015	56		 push	 esi
  00016	57		 push	 edi
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00028	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx

; 437  : 		CStringData* pOldData = GetData();

  0002b	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0002e	e8 00 00 00 00	 call	 ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
  00033	89 45 ec	 mov	 DWORD PTR _pOldData$[ebp], eax

; 438  : 		IAtlStringMgr* pStringMgr = pOldData->pStringMgr;

  00036	8b 45 ec	 mov	 eax, DWORD PTR _pOldData$[ebp]
  00039	8b 08		 mov	 ecx, DWORD PTR [eax]
  0003b	89 4d e8	 mov	 DWORD PTR _pStringMgr$[ebp], ecx

; 439  : 		if( pOldData->nDataLength == 0 )

  0003e	8b 45 ec	 mov	 eax, DWORD PTR _pOldData$[ebp]
  00041	83 78 04 00	 cmp	 DWORD PTR [eax+4], 0
  00045	75 02		 jne	 SHORT $LN2@Empty

; 440  : 		{
; 441  : 			return;

  00047	eb 3f		 jmp	 SHORT $LN1@Empty
$LN2@Empty:

; 442  : 		}
; 443  : 
; 444  : 		if( pOldData->IsLocked() )

  00049	8b 4d ec	 mov	 ecx, DWORD PTR _pOldData$[ebp]
  0004c	e8 00 00 00 00	 call	 ?IsLocked@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsLocked
  00051	0f b6 c0	 movzx	 eax, al
  00054	85 c0		 test	 eax, eax
  00056	74 0c		 je	 SHORT $LN3@Empty

; 445  : 		{
; 446  : 			// Don't reallocate a locked buffer that's shrinking
; 447  : 			SetLength( 0 );

  00058	6a 00		 push	 0
  0005a	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0005d	e8 00 00 00 00	 call	 ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetLength

; 448  : 		}

  00062	eb 24		 jmp	 SHORT $LN1@Empty
$LN3@Empty:

; 449  : 		else
; 450  : 		{
; 451  : 			pOldData->Release();

  00064	8b 4d ec	 mov	 ecx, DWORD PTR _pOldData$[ebp]
  00067	e8 00 00 00 00	 call	 ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release

; 452  : 			CStringData* pNewData = pStringMgr->GetNilString();

  0006c	8b 45 e8	 mov	 eax, DWORD PTR _pStringMgr$[ebp]
  0006f	8b 10		 mov	 edx, DWORD PTR [eax]
  00071	8b 4d e8	 mov	 ecx, DWORD PTR _pStringMgr$[ebp]
  00074	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  00077	ff d0		 call	 eax
  00079	89 45 e4	 mov	 DWORD PTR _pNewData$2[ebp], eax

; 453  : 			Attach( pNewData );

  0007c	8b 45 e4	 mov	 eax, DWORD PTR _pNewData$2[ebp]
  0007f	50		 push	 eax
  00080	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00083	e8 00 00 00 00	 call	 ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
$LN1@Empty:

; 454  : 		}
; 455  : 	}

  00088	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0008b	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00092	59		 pop	 ecx
  00093	5f		 pop	 edi
  00094	5e		 pop	 esi
  00095	5b		 pop	 ebx
  00096	8b e5		 mov	 esp, ebp
  00098	5d		 pop	 ebp
  00099	c3		 ret	 0
  0009a	cc		 int	 3
  0009b	cc		 int	 3
  0009c	cc		 int	 3
  0009d	cc		 int	 3
  0009e	cc		 int	 3
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ:
  00000	90		 npad	 1
  00001	90		 npad	 1
  00002	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00006	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00009	8b 4a a0	 mov	 ecx, DWORD PTR [edx-96]
  0000c	33 c8		 xor	 ecx, eax
  0000e	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00013	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ
  00018	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ ENDP		; ATL::CSimpleStringT<wchar_t,0>::Empty
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ PROC		; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *, COMDAT
; _this$ = ecx

; 376  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 44	 sub	 esp, 68			; 00000044H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 377  : 		return( m_pszData );

  0000c	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000f	8b 00		 mov	 eax, DWORD PTR [eax]

; 378  : 	}

  00011	5f		 pop	 edi
  00012	5e		 pop	 esi
  00013	5b		 pop	 ebx
  00014	8b e5		 mov	 esp, ebp
  00016	5d		 pop	 ebp
  00017	c3		 ret	 0
??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ENDP		; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_pszSrc$ = 8						; size = 4
??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z PROC	; ATL::CSimpleStringT<wchar_t,0>::operator=, COMDAT
; _this$ = ecx

; 313  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 44	 sub	 esp, 68			; 00000044H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 314  : 		SetString( pszSrc );

  0000c	8b 45 08	 mov	 eax, DWORD PTR _pszSrc$[ebp]
  0000f	50		 push	 eax
  00010	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00013	e8 00 00 00 00	 call	 ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString

; 315  : 
; 316  : 		return( *this );

  00018	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]

; 317  : 	}

  0001b	5f		 pop	 edi
  0001c	5e		 pop	 esi
  0001d	5b		 pop	 ebx
  0001e	8b e5		 mov	 esp, ebp
  00020	5d		 pop	 ebp
  00021	c2 04 00	 ret	 4
??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z ENDP	; ATL::CSimpleStringT<wchar_t,0>::operator=
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ??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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::operator=
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ
_TEXT	SEGMENT
_pData$ = -8						; size = 4
_this$ = -4						; size = 4
??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ PROC		; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>, COMDAT
; _this$ = ecx

; 260  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 48	 sub	 esp, 72			; 00000048H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 261  : 		CStringData* pData = GetData();

  0000c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000f	e8 00 00 00 00	 call	 ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
  00014	89 45 f8	 mov	 DWORD PTR _pData$[ebp], eax

; 262  : 		pData->Release();

  00017	8b 4d f8	 mov	 ecx, DWORD PTR _pData$[ebp]
  0001a	e8 00 00 00 00	 call	 ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release

; 263  : 	}

  0001f	5f		 pop	 edi
  00020	5e		 pop	 esi
  00021	5b		 pop	 ebx
  00022	8b e5		 mov	 esp, ebp
  00024	5d		 pop	 ebp
  00025	c3		 ret	 0
??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ENDP		; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
;	COMDAT ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z
_TEXT	SEGMENT
tv65 = -80						; size = 4
_pData$ = -12						; size = 4
___atl_condVal$1 = -8					; size = 4
_this$ = -4						; size = 4
_pStringMgr$ = 8					; size = 4
??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>, COMDAT
; _this$ = ecx

; 203  : 	explicit CSimpleStringT(_Inout_ IAtlStringMgr* pStringMgr)

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 50	 sub	 esp, 80			; 00000050H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx
$LN4@CSimpleStr:

; 204  : 	{
; 205  : 		ATLENSURE( pStringMgr != NULL );

  0000c	83 7d 08 00	 cmp	 DWORD PTR _pStringMgr$[ebp], 0
  00010	74 09		 je	 SHORT $LN10@CSimpleStr
  00012	c7 45 b0 01 00
	00 00		 mov	 DWORD PTR tv65[ebp], 1
  00019	eb 07		 jmp	 SHORT $LN11@CSimpleStr
$LN10@CSimpleStr:
  0001b	c7 45 b0 00 00
	00 00		 mov	 DWORD PTR tv65[ebp], 0
$LN11@CSimpleStr:
  00022	8b 45 b0	 mov	 eax, DWORD PTR tv65[ebp]
  00025	89 45 f8	 mov	 DWORD PTR ___atl_condVal$1[ebp], eax
$LN5@CSimpleStr:
  00028	33 c0		 xor	 eax, eax
  0002a	75 fc		 jne	 SHORT $LN5@CSimpleStr
  0002c	83 7d f8 00	 cmp	 DWORD PTR ___atl_condVal$1[ebp], 0
  00030	75 0a		 jne	 SHORT $LN2@CSimpleStr
  00032	68 05 40 00 80	 push	 -2147467259		; 80004005H
  00037	e8 00 00 00 00	 call	 ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN2@CSimpleStr:
  0003c	33 c0		 xor	 eax, eax
  0003e	75 cc		 jne	 SHORT $LN4@CSimpleStr

; 206  : 		CStringData* pData = pStringMgr->GetNilString();

  00040	8b 45 08	 mov	 eax, DWORD PTR _pStringMgr$[ebp]
  00043	8b 10		 mov	 edx, DWORD PTR [eax]
  00045	8b 4d 08	 mov	 ecx, DWORD PTR _pStringMgr$[ebp]
  00048	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  0004b	ff d0		 call	 eax
  0004d	89 45 f4	 mov	 DWORD PTR _pData$[ebp], eax

; 207  : 		Attach( pData );

  00050	8b 45 f4	 mov	 eax, DWORD PTR _pData$[ebp]
  00053	50		 push	 eax
  00054	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00057	e8 00 00 00 00	 call	 ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach

; 208  : 	}

  0005c	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
$LN9@CSimpleStr:
  0005f	5f		 pop	 edi
  00060	5e		 pop	 esi
  00061	5b		 pop	 ebx
  00062	8b e5		 mov	 esp, ebp
  00064	5d		 pop	 ebp
  00065	c2 04 00	 ret	 4
??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
;	COMDAT ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z
_TEXT	SEGMENT
_pszDest$ = 8						; size = 4
_nDestLength$ = 12					; size = 4
_pszSrc$ = 16						; size = 4
_nSrcLength$ = 20					; size = 4
?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z PROC ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType, COMDAT

; 789  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 40	 sub	 esp, 64			; 00000040H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi

; 790  : 		if (nSrcLength == -1) { nSrcLength=1 + GetBaseTypeLength(pszSrc); }

  00009	83 7d 14 ff	 cmp	 DWORD PTR _nSrcLength$[ebp], -1
  0000d	75 12		 jne	 SHORT $LN2@ConvertToB
  0000f	8b 45 10	 mov	 eax, DWORD PTR _pszSrc$[ebp]
  00012	50		 push	 eax
  00013	e8 00 00 00 00	 call	 ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
  00018	83 c4 04	 add	 esp, 4
  0001b	83 c0 01	 add	 eax, 1
  0001e	89 45 14	 mov	 DWORD PTR _nSrcLength$[ebp], eax
$LN2@ConvertToB:

; 791  : 		// nLen is in wchar_ts
; 792  : 		Checked::wmemcpy_s(pszDest, nDestLength, pszSrc, nSrcLength);

  00021	8b 45 14	 mov	 eax, DWORD PTR _nSrcLength$[ebp]
  00024	50		 push	 eax
  00025	8b 4d 10	 mov	 ecx, DWORD PTR _pszSrc$[ebp]
  00028	51		 push	 ecx
  00029	8b 55 0c	 mov	 edx, DWORD PTR _nDestLength$[ebp]
  0002c	52		 push	 edx
  0002d	8b 45 08	 mov	 eax, DWORD PTR _pszDest$[ebp]
  00030	50		 push	 eax
  00031	e8 00 00 00 00	 call	 ?wmemcpy_s@Checked@ATL@@YAXPA_WIPB_WI@Z ; ATL::Checked::wmemcpy_s
  00036	83 c4 10	 add	 esp, 16			; 00000010H

; 793  : 	}

  00039	5f		 pop	 edi
  0003a	5e		 pop	 esi
  0003b	5b		 pop	 ebx
  0003c	8b e5		 mov	 esp, ebp
  0003e	5d		 pop	 ebp
  0003f	c3		 ret	 0
?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
;	COMDAT ?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<wchar_t>::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<wchar_t>::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<wchar_t>::GetBaseTypeLength, COMDAT

; 768  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 40	 sub	 esp, 64			; 00000040H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi

; 769  : 		(void)pszSrc;
; 770  : 		// Returns required buffer size in wchar_ts
; 771  : 		return nLength;

  00009	8b 45 0c	 mov	 eax, DWORD PTR _nLength$[ebp]

; 772  : 	}

  0000c	5f		 pop	 edi
  0000d	5e		 pop	 esi
  0000e	5b		 pop	 ebx
  0000f	8b e5		 mov	 esp, ebp
  00011	5d		 pop	 ebp
  00012	c3		 ret	 0
?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
;	COMDAT ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z
_TEXT	SEGMENT
__$EHRec$ = -12						; size = 12
_pszSrc$ = 8						; size = 4
?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z PROC	; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength, COMDAT

; 760  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 40	 sub	 esp, 64			; 00000040H
  00014	53		 push	 ebx
  00015	56		 push	 esi
  00016	57		 push	 edi
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax

; 761  : 		// Returns required buffer size in wchar_ts
; 762  : 		return AtlStrLen( pszSrc );

  00028	8b 45 08	 mov	 eax, DWORD PTR _pszSrc$[ebp]
  0002b	50		 push	 eax
  0002c	e8 00 00 00 00	 call	 ?AtlStrLen@ATL@@YAHPB_W@Z ; ATL::AtlStrLen
  00031	83 c4 04	 add	 esp, 4

; 763  : 	}

  00034	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00037	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0003e	59		 pop	 ecx
  0003f	5f		 pop	 edi
  00040	5e		 pop	 esi
  00041	5b		 pop	 ebx
  00042	8b e5		 mov	 esp, ebp
  00044	5d		 pop	 ebp
  00045	c3		 ret	 0
  00046	cc		 int	 3
  00047	cc		 int	 3
  00048	cc		 int	 3
  00049	cc		 int	 3
  0004a	cc		 int	 3
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z:
  00000	90		 npad	 1
  00001	90		 npad	 1
  00002	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00006	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00009	8b 4a b0	 mov	 ecx, DWORD PTR [edx-80]
  0000c	33 c8		 xor	 ecx, eax
  0000e	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00013	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z
  00018	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ENDP	; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
;	COMDAT ?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<wchar_t>::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<wchar_t>::GetBaseTypeLength
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
;	COMDAT ?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z
_TEXT	SEGMENT
tv74 = -84						; size = 4
_result$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_pszBuffer$ = 8						; size = 4
_nLength$ = 12						; size = 4
_pszFormat$ = 16					; size = 4
_args$ = 20						; size = 4
?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z PROC	; ATL::ChTraitsCRT<wchar_t>::Format, COMDAT

; 728  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 48	 sub	 esp, 72			; 00000048H
  00014	53		 push	 ebx
  00015	56		 push	 esi
  00016	57		 push	 edi
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax

; 729  : #if _MSC_VER < 1900
; 730  : 		return vswprintf_s(pszBuffer, nLength, pszFormat, args);
; 731  : #else
; 732  : 		// Explicitly request the legacy wide format specifiers mode from the CRT,
; 733  : 		// for compatibility with previous versions.  While the CRT supports two
; 734  : 		// modes, the ATL and MFC functions that accept format strings only support
; 735  : 		// legacy mode format strings.
; 736  : 		int const result = __stdio_common_vswprintf_s(

  00028	8b 45 14	 mov	 eax, DWORD PTR _args$[ebp]
  0002b	50		 push	 eax
  0002c	6a 00		 push	 0
  0002e	8b 4d 10	 mov	 ecx, DWORD PTR _pszFormat$[ebp]
  00031	51		 push	 ecx
  00032	8b 55 0c	 mov	 edx, DWORD PTR _nLength$[ebp]
  00035	52		 push	 edx
  00036	8b 45 08	 mov	 eax, DWORD PTR _pszBuffer$[ebp]
  00039	50		 push	 eax
  0003a	e8 00 00 00 00	 call	 ___local_stdio_printf_options
  0003f	8b 08		 mov	 ecx, DWORD PTR [eax]
  00041	83 c9 04	 or	 ecx, 4
  00044	8b 50 04	 mov	 edx, DWORD PTR [eax+4]
  00047	52		 push	 edx
  00048	51		 push	 ecx
  00049	e8 00 00 00 00	 call	 ___stdio_common_vswprintf_s
  0004e	83 c4 1c	 add	 esp, 28			; 0000001cH
  00051	89 45 f0	 mov	 DWORD PTR _result$[ebp], eax

; 737  : 			_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS |
; 738  : 			_CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS,
; 739  : 			pszBuffer, nLength, pszFormat, NULL, args);
; 740  : 
; 741  : 		return result < 0 ? -1 : result;

  00054	83 7d f0 00	 cmp	 DWORD PTR _result$[ebp], 0
  00058	7d 09		 jge	 SHORT $LN3@Format
  0005a	c7 45 ac ff ff
	ff ff		 mov	 DWORD PTR tv74[ebp], -1
  00061	eb 06		 jmp	 SHORT $LN4@Format
$LN3@Format:
  00063	8b 45 f0	 mov	 eax, DWORD PTR _result$[ebp]
  00066	89 45 ac	 mov	 DWORD PTR tv74[ebp], eax
$LN4@Format:
  00069	8b 45 ac	 mov	 eax, DWORD PTR tv74[ebp]

; 742  : #endif
; 743  : 	}

  0006c	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0006f	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00076	59		 pop	 ecx
  00077	5f		 pop	 edi
  00078	5e		 pop	 esi
  00079	5b		 pop	 ebx
  0007a	8b e5		 mov	 esp, ebp
  0007c	5d		 pop	 ebp
  0007d	c3		 ret	 0
  0007e	cc		 int	 3
  0007f	cc		 int	 3
  00080	cc		 int	 3
  00081	cc		 int	 3
  00082	cc		 int	 3
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z:
  00000	90		 npad	 1
  00001	90		 npad	 1
  00002	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00006	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00009	8b 4a a8	 mov	 ecx, DWORD PTR [edx-88]
  0000c	33 c8		 xor	 ecx, eax
  0000e	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00013	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z
  00018	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z ENDP	; ATL::ChTraitsCRT<wchar_t>::Format
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
;	COMDAT ?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z
_TEXT	SEGMENT
tv75 = -84						; size = 4
_result$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_pszFormat$ = 8						; size = 4
_args$ = 12						; size = 4
?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z PROC ; ATL::ChTraitsCRT<wchar_t>::GetFormattedLength, COMDAT

; 682  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 48	 sub	 esp, 72			; 00000048H
  00014	53		 push	 ebx
  00015	56		 push	 esi
  00016	57		 push	 edi
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax

; 683  : #if _MSC_VER < 1900
; 684  : 		return _vscwprintf(pszFormat, args);
; 685  : #else
; 686  : 		// Explicitly request the legacy wide format specifiers mode from the CRT,
; 687  : 		// for compatibility with previous versions.  While the CRT supports two
; 688  : 		// modes, the ATL and MFC functions that accept format strings only support
; 689  : 		// legacy mode format strings.
; 690  : 		int const result = __stdio_common_vswprintf(

  00028	8b 45 0c	 mov	 eax, DWORD PTR _args$[ebp]
  0002b	50		 push	 eax
  0002c	6a 00		 push	 0
  0002e	8b 4d 08	 mov	 ecx, DWORD PTR _pszFormat$[ebp]
  00031	51		 push	 ecx
  00032	6a 00		 push	 0
  00034	6a 00		 push	 0
  00036	e8 00 00 00 00	 call	 ___local_stdio_printf_options
  0003b	8b 10		 mov	 edx, DWORD PTR [eax]
  0003d	83 ca 02	 or	 edx, 2
  00040	8b 40 04	 mov	 eax, DWORD PTR [eax+4]
  00043	83 ca 04	 or	 edx, 4
  00046	50		 push	 eax
  00047	52		 push	 edx
  00048	e8 00 00 00 00	 call	 ___stdio_common_vswprintf
  0004d	83 c4 1c	 add	 esp, 28			; 0000001cH
  00050	89 45 f0	 mov	 DWORD PTR _result$[ebp], eax

; 691  : 			_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS |
; 692  : 			_CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR |
; 693  : 			_CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS,
; 694  : 			NULL, 0, pszFormat, NULL, args);
; 695  : 
; 696  : 		return result < 0 ? -1 : result;

  00053	83 7d f0 00	 cmp	 DWORD PTR _result$[ebp], 0
  00057	7d 09		 jge	 SHORT $LN3@GetFormatt
  00059	c7 45 ac ff ff
	ff ff		 mov	 DWORD PTR tv75[ebp], -1
  00060	eb 06		 jmp	 SHORT $LN4@GetFormatt
$LN3@GetFormatt:
  00062	8b 45 f0	 mov	 eax, DWORD PTR _result$[ebp]
  00065	89 45 ac	 mov	 DWORD PTR tv75[ebp], eax
$LN4@GetFormatt:
  00068	8b 45 ac	 mov	 eax, DWORD PTR tv75[ebp]

; 697  : #endif
; 698  : 	}

  0006b	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0006e	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00075	59		 pop	 ecx
  00076	5f		 pop	 edi
  00077	5e		 pop	 esi
  00078	5b		 pop	 ebx
  00079	8b e5		 mov	 esp, ebp
  0007b	5d		 pop	 ebp
  0007c	c3		 ret	 0
  0007d	cc		 int	 3
  0007e	cc		 int	 3
  0007f	cc		 int	 3
  00080	cc		 int	 3
  00081	cc		 int	 3
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z:
  00000	90		 npad	 1
  00001	90		 npad	 1
  00002	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00006	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00009	8b 4a a8	 mov	 ecx, DWORD PTR [edx-88]
  0000c	33 c8		 xor	 ecx, eax
  0000e	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00013	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z
  00018	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::GetFormattedLength
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
;	COMDAT ?StringFindChar@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z
_TEXT	SEGMENT
__$EHRec$ = -12						; size = 12
_pszBlock$ = 8						; size = 4
_chMatch$ = 12						; size = 2
?StringFindChar@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z PROC ; ATL::ChTraitsCRT<wchar_t>::StringFindChar, COMDAT

; 609  : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?StringFindChar@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 40	 sub	 esp, 64			; 00000040H
  00014	53		 push	 ebx
  00015	56		 push	 esi
  00016	57		 push	 edi
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax

; 610  : 		return wcschr( pszBlock, chMatch );

  00028	0f b7 45 0c	 movzx	 eax, WORD PTR _chMatch$[ebp]
  0002c	50		 push	 eax
  0002d	8b 4d 08	 mov	 ecx, DWORD PTR _pszBlock$[ebp]
  00030	51		 push	 ecx
  00031	e8 00 00 00 00	 call	 _wcschr
  00036	83 c4 08	 add	 esp, 8

; 611  : 	}

  00039	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0003c	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00043	59		 pop	 ecx
  00044	5f		 pop	 edi
  00045	5e		 pop	 esi
  00046	5b		 pop	 ebx
  00047	8b e5		 mov	 esp, ebp
  00049	5d		 pop	 ebp
  0004a	c3		 ret	 0
  0004b	cc		 int	 3
  0004c	cc		 int	 3
  0004d	cc		 int	 3
  0004e	cc		 int	 3
  0004f	cc		 int	 3
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$?StringFindChar@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z:
  00000	90		 npad	 1
  00001	90		 npad	 1
  00002	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00006	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00009	8b 4a b0	 mov	 ecx, DWORD PTR [edx-80]
  0000c	33 c8		 xor	 ecx, eax
  0000e	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00013	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?StringFindChar@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z
  00018	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?StringFindChar@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::StringFindChar
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\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<SYSTEMTIME*>(&systimeSrc), pVarDtTm);

  00047	8b 45 0c	 mov	 eax, DWORD PTR _pVarDtTm$[ebp]
  0004a	50		 push	 eax
  0004b	8b 4d 08	 mov	 ecx, DWORD PTR _systimeSrc$[ebp]
  0004e	51		 push	 ecx
  0004f	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SystemTimeToVariantTime@8
  00055	89 45 f4	 mov	 DWORD PTR _ok$[ebp], eax

; 632  : 	SYSTEMTIME sysTime;
; 633  : 	::ZeroMemory(&sysTime, sizeof(SYSTEMTIME));

  00058	6a 10		 push	 16			; 00000010H
  0005a	6a 00		 push	 0
  0005c	8d 45 e4	 lea	 eax, DWORD PTR _sysTime$[ebp]
  0005f	50		 push	 eax
  00060	e8 00 00 00 00	 call	 _memset
  00065	83 c4 0c	 add	 esp, 12			; 0000000cH

; 634  : 
; 635  : 	ok = ok && ::VariantTimeToSystemTime(*pVarDtTm, &sysTime);

  00068	83 7d f4 00	 cmp	 DWORD PTR _ok$[ebp], 0
  0006c	74 26		 je	 SHORT $LN12@AtlConvert
  0006e	8d 45 e4	 lea	 eax, DWORD PTR _sysTime$[ebp]
  00071	50		 push	 eax
  00072	8b 4d 0c	 mov	 ecx, DWORD PTR _pVarDtTm$[ebp]
  00075	83 ec 08	 sub	 esp, 8
  00078	f2 0f 10 01	 movsd	 xmm0, QWORD PTR [ecx]
  0007c	f2 0f 11 04 24	 movsd	 QWORD PTR [esp], xmm0
  00081	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__VariantTimeToSystemTime@12
  00087	85 c0		 test	 eax, eax
  00089	74 09		 je	 SHORT $LN12@AtlConvert
  0008b	c7 45 a0 01 00
	00 00		 mov	 DWORD PTR tv81[ebp], 1
  00092	eb 07		 jmp	 SHORT $LN13@AtlConvert
$LN12@AtlConvert:
  00094	c7 45 a0 00 00
	00 00		 mov	 DWORD PTR tv81[ebp], 0
$LN13@AtlConvert:
  0009b	8b 55 a0	 mov	 edx, DWORD PTR tv81[ebp]
  0009e	89 55 f4	 mov	 DWORD PTR _ok$[ebp], edx

; 636  : 	ok = ok && (systimeSrc.wYear == sysTime.wYear &&

  000a1	83 7d f4 00	 cmp	 DWORD PTR _ok$[ebp], 0
  000a5	74 62		 je	 SHORT $LN14@AtlConvert
  000a7	8b 45 08	 mov	 eax, DWORD PTR _systimeSrc$[ebp]
  000aa	0f b7 08	 movzx	 ecx, WORD PTR [eax]
  000ad	0f b7 55 e4	 movzx	 edx, WORD PTR _sysTime$[ebp]
  000b1	3b ca		 cmp	 ecx, edx
  000b3	75 54		 jne	 SHORT $LN14@AtlConvert
  000b5	8b 45 08	 mov	 eax, DWORD PTR _systimeSrc$[ebp]
  000b8	0f b7 48 02	 movzx	 ecx, WORD PTR [eax+2]
  000bc	0f b7 55 e6	 movzx	 edx, WORD PTR _sysTime$[ebp+2]
  000c0	3b ca		 cmp	 ecx, edx
  000c2	75 45		 jne	 SHORT $LN14@AtlConvert
  000c4	8b 45 08	 mov	 eax, DWORD PTR _systimeSrc$[ebp]
  000c7	0f b7 48 06	 movzx	 ecx, WORD PTR [eax+6]
  000cb	0f b7 55 ea	 movzx	 edx, WORD PTR _sysTime$[ebp+6]
  000cf	3b ca		 cmp	 ecx, edx
  000d1	75 36		 jne	 SHORT $LN14@AtlConvert
  000d3	8b 45 08	 mov	 eax, DWORD PTR _systimeSrc$[ebp]
  000d6	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  000da	0f b7 55 ec	 movzx	 edx, WORD PTR _sysTime$[ebp+8]
  000de	3b ca		 cmp	 ecx, edx
  000e0	75 27		 jne	 SHORT $LN14@AtlConvert
  000e2	8b 45 08	 mov	 eax, DWORD PTR _systimeSrc$[ebp]
  000e5	0f b7 48 0a	 movzx	 ecx, WORD PTR [eax+10]
  000e9	0f b7 55 ee	 movzx	 edx, WORD PTR _sysTime$[ebp+10]
  000ed	3b ca		 cmp	 ecx, edx
  000ef	75 18		 jne	 SHORT $LN14@AtlConvert
  000f1	8b 45 08	 mov	 eax, DWORD PTR _systimeSrc$[ebp]
  000f4	0f b7 48 0c	 movzx	 ecx, WORD PTR [eax+12]
  000f8	0f b7 55 f0	 movzx	 edx, WORD PTR _sysTime$[ebp+12]
  000fc	3b ca		 cmp	 ecx, edx
  000fe	75 09		 jne	 SHORT $LN14@AtlConvert
  00100	c7 45 a0 01 00
	00 00		 mov	 DWORD PTR tv139[ebp], 1
  00107	eb 07		 jmp	 SHORT $LN15@AtlConvert
$LN14@AtlConvert:
  00109	c7 45 a0 00 00
	00 00		 mov	 DWORD PTR tv139[ebp], 0
$LN15@AtlConvert:
  00110	8b 45 a0	 mov	 eax, DWORD PTR tv139[ebp]
  00113	89 45 f4	 mov	 DWORD PTR _ok$[ebp], eax

; 637  : 			systimeSrc.wMonth == sysTime.wMonth &&
; 638  : 			systimeSrc.wDay == sysTime.wDay &&
; 639  : 			systimeSrc.wHour == sysTime.wHour &&
; 640  : 			systimeSrc.wMinute == sysTime.wMinute &&
; 641  : 			systimeSrc.wSecond == sysTime.wSecond);
; 642  : 
; 643  : 	return ok;

  00116	8b 45 f4	 mov	 eax, DWORD PTR _ok$[ebp]
$LN1@AtlConvert:

; 644  : }

  00119	5f		 pop	 edi
  0011a	5e		 pop	 esi
  0011b	5b		 pop	 ebx
  0011c	8b 4d fc	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  0011f	33 cd		 xor	 ecx, ebp
  00121	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00126	8b e5		 mov	 esp, ebp
  00128	5d		 pop	 ebp
  00129	c3		 ret	 0
?AtlConvertSystemTimeToVariantTime@ATL@@YAHABU_SYSTEMTIME@@PAN@Z ENDP ; ATL::AtlConvertSystemTimeToVariantTime
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlcore.h
;	COMDAT ?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z
_TEXT	SEGMENT
_hResource$ = -16					; size = 4
__$EHRec$ = -12						; size = 12
_hInstance$ = 8						; size = 4
_id$ = 12						; size = 4
?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z PROC ; ATL::AtlGetStringResourceImage, COMDAT

; 370  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 44	 sub	 esp, 68			; 00000044H
  00014	53		 push	 ebx
  00015	56		 push	 esi
  00016	57		 push	 edi
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax

; 371  : 	HRSRC hResource;
; 372  : 	/*
; 373  : 		The and operation (& static_cast<WORD>(~0)) protects the expression from being greater
; 374  : 		than WORD - this would cause a runtime error when the application is compiled with /RTCc flag.
; 375  : 	*/
; 376  : 	hResource = ::FindResourceW(hInstance, MAKEINTRESOURCEW( (((id>>4)+1) & static_cast<WORD>(~0)) ), (LPWSTR) RT_STRING);

  00028	6a 06		 push	 6
  0002a	8b 45 0c	 mov	 eax, DWORD PTR _id$[ebp]
  0002d	c1 e8 04	 shr	 eax, 4
  00030	83 c0 01	 add	 eax, 1
  00033	25 ff ff 00 00	 and	 eax, 65535		; 0000ffffH
  00038	0f b7 c8	 movzx	 ecx, ax
  0003b	51		 push	 ecx
  0003c	8b 55 08	 mov	 edx, DWORD PTR _hInstance$[ebp]
  0003f	52		 push	 edx
  00040	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__FindResourceW@12
  00046	89 45 f0	 mov	 DWORD PTR _hResource$[ebp], eax

; 377  : 	if( hResource == NULL )

  00049	83 7d f0 00	 cmp	 DWORD PTR _hResource$[ebp], 0
  0004d	75 04		 jne	 SHORT $LN2@AtlGetStri

; 378  : 	{
; 379  : 		return( NULL );

  0004f	33 c0		 xor	 eax, eax
  00051	eb 14		 jmp	 SHORT $LN1@AtlGetStri
$LN2@AtlGetStri:

; 380  : 	}
; 381  : 
; 382  : 	return _AtlGetStringResourceImage( hInstance, hResource, id );

  00053	8b 45 0c	 mov	 eax, DWORD PTR _id$[ebp]
  00056	50		 push	 eax
  00057	8b 4d f0	 mov	 ecx, DWORD PTR _hResource$[ebp]
  0005a	51		 push	 ecx
  0005b	8b 55 08	 mov	 edx, DWORD PTR _hInstance$[ebp]
  0005e	52		 push	 edx
  0005f	e8 00 00 00 00	 call	 ?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z ; ATL::_AtlGetStringResourceImage
  00064	83 c4 0c	 add	 esp, 12			; 0000000cH
$LN1@AtlGetStri:

; 383  : }

  00067	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0006a	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00071	59		 pop	 ecx
  00072	5f		 pop	 edi
  00073	5e		 pop	 esi
  00074	5b		 pop	 ebx
  00075	8b e5		 mov	 esp, ebp
  00077	5d		 pop	 ebp
  00078	c3		 ret	 0
  00079	cc		 int	 3
  0007a	cc		 int	 3
  0007b	cc		 int	 3
  0007c	cc		 int	 3
  0007d	cc		 int	 3
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z:
  00000	90		 npad	 1
  00001	90		 npad	 1
  00002	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00006	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00009	8b 4a ac	 mov	 ecx, DWORD PTR [edx-84]
  0000c	33 c8		 xor	 ecx, eax
  0000e	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00013	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z
  00018	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z ENDP ; ATL::AtlGetStringResourceImage
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlcore.h
;	COMDAT ?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z
_TEXT	SEGMENT
_iIndex$ = -32						; size = 4
_hGlobal$ = -28						; size = 4
_nResourceSize$ = -24					; size = 4
_pImageEnd$ = -20					; size = 4
_pImage$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_hInstance$ = 8						; size = 4
_hResource$ = 12					; size = 4
_id$ = 16						; size = 4
?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z PROC ; ATL::_AtlGetStringResourceImage, COMDAT

; 327  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 54	 sub	 esp, 84			; 00000054H
  00014	53		 push	 ebx
  00015	56		 push	 esi
  00016	57		 push	 edi
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax

; 328  : 	const ATLSTRINGRESOURCEIMAGE* pImage;
; 329  : 	const ATLSTRINGRESOURCEIMAGE* pImageEnd;
; 330  : 	ULONG nResourceSize;
; 331  : 	HGLOBAL hGlobal;
; 332  : 	UINT iIndex;
; 333  : 
; 334  : 	hGlobal = ::LoadResource( hInstance, hResource );

  00028	8b 45 0c	 mov	 eax, DWORD PTR _hResource$[ebp]
  0002b	50		 push	 eax
  0002c	8b 4d 08	 mov	 ecx, DWORD PTR _hInstance$[ebp]
  0002f	51		 push	 ecx
  00030	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__LoadResource@8
  00036	89 45 e4	 mov	 DWORD PTR _hGlobal$[ebp], eax

; 335  : 	if( hGlobal == NULL )

  00039	83 7d e4 00	 cmp	 DWORD PTR _hGlobal$[ebp], 0
  0003d	75 07		 jne	 SHORT $LN4@AtlGetStri

; 336  : 	{
; 337  : 		return( NULL );

  0003f	33 c0		 xor	 eax, eax
  00041	e9 80 00 00 00	 jmp	 $LN1@AtlGetStri
$LN4@AtlGetStri:

; 338  : 	}
; 339  : 
; 340  : 	pImage = (const ATLSTRINGRESOURCEIMAGE*)::LockResource( hGlobal );

  00046	8b 45 e4	 mov	 eax, DWORD PTR _hGlobal$[ebp]
  00049	50		 push	 eax
  0004a	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__LockResource@4
  00050	89 45 f0	 mov	 DWORD PTR _pImage$[ebp], eax

; 341  : 	if( pImage == NULL )

  00053	83 7d f0 00	 cmp	 DWORD PTR _pImage$[ebp], 0
  00057	75 04		 jne	 SHORT $LN5@AtlGetStri

; 342  : 	{
; 343  : 		return( NULL );

  00059	33 c0		 xor	 eax, eax
  0005b	eb 69		 jmp	 SHORT $LN1@AtlGetStri
$LN5@AtlGetStri:

; 344  : 	}
; 345  : 
; 346  : 	nResourceSize = ::SizeofResource( hInstance, hResource );

  0005d	8b 45 0c	 mov	 eax, DWORD PTR _hResource$[ebp]
  00060	50		 push	 eax
  00061	8b 4d 08	 mov	 ecx, DWORD PTR _hInstance$[ebp]
  00064	51		 push	 ecx
  00065	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SizeofResource@8
  0006b	89 45 e8	 mov	 DWORD PTR _nResourceSize$[ebp], eax

; 347  : 	pImageEnd = (const ATLSTRINGRESOURCEIMAGE*)(LPBYTE( pImage )+nResourceSize);

  0006e	8b 45 f0	 mov	 eax, DWORD PTR _pImage$[ebp]
  00071	03 45 e8	 add	 eax, DWORD PTR _nResourceSize$[ebp]
  00074	89 45 ec	 mov	 DWORD PTR _pImageEnd$[ebp], eax

; 348  : 	iIndex = id&0x000f;

  00077	8b 45 10	 mov	 eax, DWORD PTR _id$[ebp]
  0007a	83 e0 0f	 and	 eax, 15			; 0000000fH
  0007d	89 45 e0	 mov	 DWORD PTR _iIndex$[ebp], eax
$LN2@AtlGetStri:

; 349  : 
; 350  : 	while( (iIndex > 0) && (pImage < pImageEnd) )

  00080	83 7d e0 00	 cmp	 DWORD PTR _iIndex$[ebp], 0
  00084	76 23		 jbe	 SHORT $LN3@AtlGetStri
  00086	8b 45 f0	 mov	 eax, DWORD PTR _pImage$[ebp]
  00089	3b 45 ec	 cmp	 eax, DWORD PTR _pImageEnd$[ebp]
  0008c	73 1b		 jae	 SHORT $LN3@AtlGetStri

; 351  : 	{
; 352  : 		pImage = (const ATLSTRINGRESOURCEIMAGE*)(LPBYTE( pImage )+(sizeof( ATLSTRINGRESOURCEIMAGE )+(pImage->nLength*sizeof( WCHAR ))));

  0008e	8b 45 f0	 mov	 eax, DWORD PTR _pImage$[ebp]
  00091	0f b7 08	 movzx	 ecx, WORD PTR [eax]
  00094	8b 55 f0	 mov	 edx, DWORD PTR _pImage$[ebp]
  00097	8d 44 4a 02	 lea	 eax, DWORD PTR [edx+ecx*2+2]
  0009b	89 45 f0	 mov	 DWORD PTR _pImage$[ebp], eax

; 353  : 		iIndex--;

  0009e	8b 45 e0	 mov	 eax, DWORD PTR _iIndex$[ebp]
  000a1	83 e8 01	 sub	 eax, 1
  000a4	89 45 e0	 mov	 DWORD PTR _iIndex$[ebp], eax

; 354  : 	}

  000a7	eb d7		 jmp	 SHORT $LN2@AtlGetStri
$LN3@AtlGetStri:

; 355  : 	if( pImage >= pImageEnd )

  000a9	8b 45 f0	 mov	 eax, DWORD PTR _pImage$[ebp]
  000ac	3b 45 ec	 cmp	 eax, DWORD PTR _pImageEnd$[ebp]
  000af	72 04		 jb	 SHORT $LN6@AtlGetStri

; 356  : 	{
; 357  : 		return( NULL );

  000b1	33 c0		 xor	 eax, eax
  000b3	eb 11		 jmp	 SHORT $LN1@AtlGetStri
$LN6@AtlGetStri:

; 358  : 	}
; 359  : 	if( pImage->nLength == 0 )

  000b5	8b 45 f0	 mov	 eax, DWORD PTR _pImage$[ebp]
  000b8	0f b7 08	 movzx	 ecx, WORD PTR [eax]
  000bb	85 c9		 test	 ecx, ecx
  000bd	75 04		 jne	 SHORT $LN7@AtlGetStri

; 360  : 	{
; 361  : 		return( NULL );

  000bf	33 c0		 xor	 eax, eax
  000c1	eb 03		 jmp	 SHORT $LN1@AtlGetStri
$LN7@AtlGetStri:

; 362  : 	}
; 363  : 
; 364  : 	return( pImage );

  000c3	8b 45 f0	 mov	 eax, DWORD PTR _pImage$[ebp]
$LN1@AtlGetStri:

; 365  : }

  000c6	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000c9	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000d0	59		 pop	 ecx
  000d1	5f		 pop	 edi
  000d2	5e		 pop	 esi
  000d3	5b		 pop	 ebx
  000d4	8b e5		 mov	 esp, ebp
  000d6	5d		 pop	 ebp
  000d7	c3		 ret	 0
  000d8	cc		 int	 3
  000d9	cc		 int	 3
  000da	cc		 int	 3
  000db	cc		 int	 3
  000dc	cc		 int	 3
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z:
  00000	90		 npad	 1
  00001	90		 npad	 1
  00002	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00006	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00009	8b 4a 9c	 mov	 ecx, DWORD PTR [edx-100]
  0000c	33 c8		 xor	 ecx, eax
  0000e	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00013	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z
  00018	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z ENDP ; ATL::_AtlGetStringResourceImage
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlcore.h
;	COMDAT ?AtlStrLen@ATL@@YAHPB_W@Z
_TEXT	SEGMENT
_str$ = 8						; size = 4
?AtlStrLen@ATL@@YAHPB_W@Z PROC				; ATL::AtlStrLen, COMDAT

; 60   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 40	 sub	 esp, 64			; 00000040H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi

; 61   : 	if (str == NULL)

  00009	83 7d 08 00	 cmp	 DWORD PTR _str$[ebp], 0
  0000d	75 04		 jne	 SHORT $LN2@AtlStrLen

; 62   : 		return 0;

  0000f	33 c0		 xor	 eax, eax
  00011	eb 0c		 jmp	 SHORT $LN1@AtlStrLen
$LN2@AtlStrLen:

; 63   : 	return static_cast<int>(::wcslen(str));

  00013	8b 45 08	 mov	 eax, DWORD PTR _str$[ebp]
  00016	50		 push	 eax
  00017	e8 00 00 00 00	 call	 _wcslen
  0001c	83 c4 04	 add	 esp, 4
$LN1@AtlStrLen:

; 64   : }

  0001f	5f		 pop	 edi
  00020	5e		 pop	 esi
  00021	5b		 pop	 ebx
  00022	8b e5		 mov	 esp, ebp
  00024	5d		 pop	 ebp
  00025	c3		 ret	 0
?AtlStrLen@ATL@@YAHPB_W@Z ENDP				; ATL::AtlStrLen
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlchecked.h
;	COMDAT ?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