; Listing generated by Microsoft (R) Optimizing Compiler Version 19.34.31933.0 

	TITLE	D:\Works\Corpsms_2010\SmsCenter\Release_Unicode\SPThread.obj
	.686P
	.XMM
	include listing.inc
	.model	flat

INCLUDELIB LIBCMT
INCLUDELIB OLDNAMES

PUBLIC	?On_SPDZ@CSPThread@@QAEXIJ@Z			; CSPThread::On_SPDZ
EXTRN	?GetThisMessageMap@CCmdTarget@@KGPBUAFX_MSGMAP@@XZ:PROC ; CCmdTarget::GetThisMessageMap
CONST	SEGMENT
?_messageEntries@?1??GetThisMessageMap@CSPThread@@KGPBUAFX_MSGMAP@@XZ@4QBUAFX_MSGMAP_ENTRY@@B DD 05aeH ; `CSPThread::GetThisMessageMap'::`2'::_messageEntries
	DD	00H
	DD	00H
	DD	00H
	DD	01fH
	DD	FLAT:?On_SPDZ@CSPThread@@QAEXIJ@Z
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
?messageMap@?1??GetThisMessageMap@CSPThread@@KGPBUAFX_MSGMAP@@XZ@4U3@B DD FLAT:?GetThisMessageMap@CCmdTarget@@KGPBUAFX_MSGMAP@@XZ ; `CSPThread::GetThisMessageMap'::`2'::messageMap
	DD	FLAT:?_messageEntries@?1??GetThisMessageMap@CSPThread@@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	?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	?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	?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	?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z ; ATL::ChTraitsCRT<wchar_t>::GetFormattedLength
PUBLIC	?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z	; ATL::ChTraitsCRT<wchar_t>::Format
PUBLIC	?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
PUBLIC	?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
PUBLIC	?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType
PUBLIC	??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@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	??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@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
PUBLIC	?GetManager@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager
PUBLIC	?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	?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	??MCOleDateTime@ATL@@QBE_NABV01@@Z		; ATL::COleDateTime::operator<
PUBLIC	??OCOleDateTime@ATL@@QBE_NABV01@@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	??0_variant_t@@QAE@JG@Z				; _variant_t::_variant_t
PUBLIC	??1_variant_t@@QAE@XZ				; _variant_t::~_variant_t
PUBLIC	?GetRuntimeClass@CSPThread@@UBEPAUCRuntimeClass@@XZ ; CSPThread::GetRuntimeClass
PUBLIC	?CreateObject@CSPThread@@SGPAVCObject@@XZ	; CSPThread::CreateObject
PUBLIC	??0CSPThread@@QAE@XZ				; CSPThread::CSPThread
PUBLIC	??1CSPThread@@UAE@XZ				; CSPThread::~CSPThread
PUBLIC	?GetBBMonDay@CSPThread@@SAHVCOleDateTime@ATL@@AAH1@Z ; CSPThread::GetBBMonDay
PUBLIC	?SetParam@CSPThread@@QAEHPAVCSmsCenterDlg@@@Z	; CSPThread::SetParam
PUBLIC	?InitInstance@CSPThread@@UAEHXZ			; CSPThread::InitInstance
PUBLIC	?ExitInstance@CSPThread@@UAEHXZ			; CSPThread::ExitInstance
PUBLIC	?GetThisMessageMap@CSPThread@@KGPBUAFX_MSGMAP@@XZ ; CSPThread::GetThisMessageMap
PUBLIC	?GetMessageMap@CSPThread@@MBEPBUAFX_MSGMAP@@XZ	; CSPThread::GetMessageMap
PUBLIC	??_GCSPThread@@UAEPAXI@Z			; CSPThread::`scalar deleting destructor'
PUBLIC	?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA ; `__local_stdio_printf_options'::`2'::_OptionsStorage
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	?classCSPThread@CSPThread@@2UCRuntimeClass@@B	; CSPThread::classCSPThread
PUBLIC	??_7CSPThread@@6B@				; CSPThread::`vftable'
PUBLIC	??_C@_09IDFCFOOG@CSPThread@			; `string'
PUBLIC	??_C@_1BA@IIDKJHG@?$AAc?$AAo?$AAr?$AAp?$AAs?$AAm?$AAs@ ; `string'
PUBLIC	?__LINE__Var@?0??On_SPDZ@CSPThread@@QAEXIJ@Z@4JA ; `CSPThread::On_SPDZ'::`1'::__LINE__Var
PUBLIC	??_C@_1MM@BAAGAMJB@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AAd?$AAz?$AA?4?$AA?$CK?$AA?0?$AAu?$AAs?$AAe@ ; `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@_1BA@LMMOGBEM@?$AAO?$AAp?$AAe?$AAr?$AAC?$AAm?$AAd@ ; `string'
PUBLIC	??_C@_1O@KGJGNKBM@?$AAA?$AAd?$AAd?$AAC?$AAm?$AAd@ ; `string'
PUBLIC	??_C@_1O@OLLJFFCG@?$AAM?$AAo?$AAb?$AAi?$AAl?$AAe@ ; `string'
PUBLIC	??_C@_19HDODELJD@?$AAD?$AAZ?$AAI?$AAD@		; `string'
PUBLIC	??_C@_1BE@DDFINHDL@?$AAO?$AAp?$AAe?$AAr?$AAC?$AAm?$AAd?$AAI?$AAD@ ; `string'
PUBLIC	??_C@_1BC@DIGKBDEI@?$AAS?$AAe?$AAn?$AAd?$AAL?$AAa?$AAs?$AAt@ ; `string'
PUBLIC	??_C@_1BC@KMMELMEH@?$AAB?$AAi?$AAr?$AAt?$AAh?$AAd?$AAa?$AAy@ ; `string'
PUBLIC	??_C@_1FO@EEKDKMAK@?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?5?$AAd?$AAz?$AA?5?$AAs?$AAe?$AAt?$AA?5?$AAS@ ; `string'
PUBLIC	??_C@_15PCKCLKH@?$AAS?$AAP@			; `string'
PUBLIC	??_C@_1FC@CKBOBDNO@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AA?$CK?$AA?5?$AAf?$AAr?$AAo?$AAm?$AA?5?$AAO@ ; `string'
PUBLIC	??_C@_1BI@FLJFLJON@?$AAD?$AAZ?$AAS?$AAe?$AAn?$AAd?$AAT?$AAi?$AAm?$AAe?$AA1@ ; `string'
PUBLIC	??_C@_1BI@EJCABGAD@?$AAD?$AAZ?$AAS?$AAe?$AAn?$AAd?$AAT?$AAi?$AAm?$AAe?$AA2@ ; `string'
PUBLIC	??_C@_1BI@PBJMHBGG@?$AAD?$AAZ?$AAS?$AAe?$AAn?$AAd?$AAT?$AAi?$AAm?$AAe?$AA3@ ; `string'
PUBLIC	??_C@_1M@HNBPHGM@?$AAP?$AAr?$AAi?$AAc?$AAe@	; `string'
PUBLIC	??_C@_1O@CIMGHIFA@?$AAi?$AAs?$AAW?$AAe?$AAe?$AAk@ ; `string'
PUBLIC	??_C@_1BA@MPCEHOJO@?$AAW?$AAe?$AAe?$AAk?$AAD?$AAa?$AAy@ ; `string'
PUBLIC	??_C@_15LKJGBLKM@?$AAX?$AAD@			; `string'
PUBLIC	??_C@_1KG@EFKDDHOK@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AA?$CK?$AA?5?$AAf?$AAr?$AAo?$AAm?$AA?5?$AAD@ ; `string'
PUBLIC	??_C@_17DACEHHP@?$AAM?$AAs?$AAg@		; `string'
PUBLIC	??_C@_1MA@BHMFJEAA@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AAt?$AAo?$AAp?$AA?5?$AA1?$AA?5?$AA?$CK?$AA?5@ ; `string'
PUBLIC	??_C@_1KE@BJIAFIDP@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AAt?$AAo?$AAp?$AA?5?$AA1?$AA?5?$AA?$CK?$AA?5@ ; `string'
PUBLIC	??_C@_15HMPEDBNI@?$AAH?$AAL@			; `string'
PUBLIC	??_C@_1BO@ICAHPMKB@?$AA?$CF?$AA0?$AA4?$AAd?$AA?4?$AA?$CF?$AA0?$AA2?$AAd?$AA?4?$AA?$CF?$AA0?$AA2?$AAd@ ; `string'
PUBLIC	??_C@_1KG@NHFKCCLP@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AAt?$AAo?$AAp?$AA?5?$AA1?$AA?5?$AA?$CK?$AA?5@ ; `string'
PUBLIC	??_C@_1BE@MMJOHFKE@?$AAD?$AAa?$AAt?$AAa?$AAM?$AAs?$AAg?$AAI?$AAD@ ; `string'
PUBLIC	??_C@_1FO@HKHFCEJC@?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?5?$AAD?$AAa?$AAt?$AAa?$AAM?$AAs?$AAg?$AA?5@ ; `string'
PUBLIC	??_C@_07MPEIFHDG@On_SPDZ@			; `string'
PUBLIC	??_C@_0CN@HDLHKOEL@D?3?2Works?2Corpsms_2010?2SmsCenter@ ; `string'
PUBLIC	??_R4CSPThread@@6B@				; CSPThread::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVCSPThread@@@8				; CSPThread `RTTI Type Descriptor'
PUBLIC	??_R3CSPThread@@8				; CSPThread::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2CSPThread@@8				; CSPThread::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@CSPThread@@8			; CSPThread::`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@bed845c8a0ce5129
EXTRN	??2@YAPAXI@Z:PROC				; operator new
EXTRN	??3@YAXPAX@Z:PROC				; operator delete
EXTRN	?__global_delete@@YAXPAXI@Z:PROC		; __global_delete
EXTRN	__invalid_parameter_noinfo:PROC
EXTRN	__errno:PROC
EXTRN	_ceil:PROC
EXTRN	___stdio_common_vswprintf:PROC
EXTRN	___stdio_common_vswprintf_s:PROC
EXTRN	_memcpy:PROC
EXTRN	_memmove:PROC
EXTRN	_memset:PROC
EXTRN	_wcscmp:PROC
EXTRN	_wcscpy:PROC
EXTRN	_wcslen:PROC
EXTRN	_wmemcpy_s:PROC
EXTRN	__localtime64_s:PROC
EXTRN	__time64:PROC
EXTRN	__imp__Sleep@4:PROC
EXTRN	__imp__GetLocalTime@4:PROC
EXTRN	__imp__LoadResource@8:PROC
EXTRN	__imp__LockResource@4:PROC
EXTRN	__imp__SizeofResource@8:PROC
EXTRN	__imp__FindResourceW@12:PROC
EXTRN	?AfxThrowMemoryException@@YGXXZ:PROC		; AfxThrowMemoryException
EXTRN	?AfxThrowInvalidArgException@@YGXXZ:PROC	; AfxThrowInvalidArgException
EXTRN	?AfxThrowOleException@@YGXJ@Z:PROC		; AfxThrowOleException
EXTRN	?AfxFindStringResourceHandle@@YGPAUHINSTANCE__@@I@Z:PROC ; AfxFindStringResourceHandle
EXTRN	__imp__CoUninitialize@0:PROC
EXTRN	__imp__CoInitializeEx@8:PROC
EXTRN	__imp__SystemTimeToVariantTime@8:PROC
EXTRN	__imp__VariantTimeToSystemTime@12:PROC
EXTRN	__imp__VariantClear@4: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	?_com_issue_error@@YGXJ@Z:PROC			; _com_issue_error
EXTRN	??0CAdoRecordSet@@QAE@XZ:PROC			; CAdoRecordSet::CAdoRecordSet
EXTRN	??1CAdoRecordSet@@UAE@XZ:PROC			; CAdoRecordSet::~CAdoRecordSet
EXTRN	?IsEOF@CAdoRecordSet@@QAEHXZ:PROC		; CAdoRecordSet::IsEOF
EXTRN	?GetRecordCount@CAdoRecordSet@@QAEJXZ:PROC	; CAdoRecordSet::GetRecordCount
EXTRN	?SetAdoConnection@CAdoRecordSet@@QAEXPAVCAdoConnection@@@Z:PROC ; CAdoRecordSet::SetAdoConnection
EXTRN	?MoveFirst@CAdoRecordSet@@QAEHXZ:PROC		; CAdoRecordSet::MoveFirst
EXTRN	?MoveNext@CAdoRecordSet@@QAEHXZ:PROC		; CAdoRecordSet::MoveNext
EXTRN	?Move@CAdoRecordSet@@QAEHJV_variant_t@@@Z:PROC	; CAdoRecordSet::Move
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_WPA_W@Z:PROC	; CAdoRecordSet::GetCollect
EXTRN	?GetCollect@CAdoRecordSet@@QAEHPB_WAAJ@Z:PROC	; CAdoRecordSet::GetCollect
EXTRN	?GetCollect@CAdoRecordSet@@QAEHPB_WAAH@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	??_ECSPThread@@UAEPAXI@Z:PROC			; CSPThread::`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@bed845c8a0ce5129
CONST	SEGMENT
__real@bed845c8a0ce5129 DQ 0bed845c8a0ce5129r	; -5.78704e-06
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@CSPThread@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@CSPThread@@8 DD FLAT:??_R0?AVCSPThread@@@8 ; CSPThread::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CSPThread@@8
rdata$r	ENDS
;	COMDAT ??_R2CSPThread@@8
rdata$r	SEGMENT
??_R2CSPThread@@8 DD FLAT:??_R1A@?0A@EA@CSPThread@@8	; CSPThread::`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 ??_R3CSPThread@@8
rdata$r	SEGMENT
??_R3CSPThread@@8 DD 00H				; CSPThread::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2CSPThread@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVCSPThread@@@8
data$rs	SEGMENT
??_R0?AVCSPThread@@@8 DD FLAT:??_7type_info@@6B@	; CSPThread `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVCSPThread@@', 00H
data$rs	ENDS
;	COMDAT ??_R4CSPThread@@6B@
rdata$r	SEGMENT
??_R4CSPThread@@6B@ DD 00H				; CSPThread::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCSPThread@@@8
	DD	FLAT:??_R3CSPThread@@8
rdata$r	ENDS
;	COMDAT ??_C@_0CN@HDLHKOEL@D?3?2Works?2Corpsms_2010?2SmsCenter@
CONST	SEGMENT
??_C@_0CN@HDLHKOEL@D?3?2Works?2Corpsms_2010?2SmsCenter@ DB 'D:\Works\Corp'
	DB	'sms_2010\SmsCenter\SPThread.cpp', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_07MPEIFHDG@On_SPDZ@
CONST	SEGMENT
??_C@_07MPEIFHDG@On_SPDZ@ DB 'On_SPDZ', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_1FO@HKHFCEJC@?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?5?$AAD?$AAa?$AAt?$AAa?$AAM?$AAs?$AAg?$AA?5@
CONST	SEGMENT
??_C@_1FO@HKHFCEJC@?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?5?$AAD?$AAa?$AAt?$AAa?$AAM?$AAs?$AAg?$AA?5@ DB 'u'
	DB	00H, 'p', 00H, 'd', 00H, 'a', 00H, 't', 00H, 'e', 00H, ' ', 00H
	DB	'D', 00H, 'a', 00H, 't', 00H, 'a', 00H, 'M', 00H, 's', 00H, 'g'
	DB	00H, ' ', 00H, 's', 00H, 'e', 00H, 't', 00H, ' ', 00H, 's', 00H
	DB	't', 00H, 'a', 00H, 't', 00H, 'u', 00H, 's', 00H, '=', 00H, '1'
	DB	00H, ' ', 00H, 'w', 00H, 'h', 00H, 'e', 00H, 'r', 00H, 'e', 00H
	DB	' ', 00H, 'D', 00H, 'a', 00H, 't', 00H, 'a', 00H, 'M', 00H, 's'
	DB	00H, 'g', 00H, 'I', 00H, 'D', 00H, '=', 00H, '%', 00H, 'd', 00H
	DB	00H, 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_1BE@MMJOHFKE@?$AAD?$AAa?$AAt?$AAa?$AAM?$AAs?$AAg?$AAI?$AAD@
CONST	SEGMENT
??_C@_1BE@MMJOHFKE@?$AAD?$AAa?$AAt?$AAa?$AAM?$AAs?$AAg?$AAI?$AAD@ DB 'D', 00H
	DB	'a', 00H, 't', 00H, 'a', 00H, 'M', 00H, 's', 00H, 'g', 00H, 'I'
	DB	00H, 'D', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1KG@NHFKCCLP@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AAt?$AAo?$AAp?$AA?5?$AA1?$AA?5?$AA?$CK?$AA?5@
CONST	SEGMENT
??_C@_1KG@NHFKCCLP@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AAt?$AAo?$AAp?$AA?5?$AA1?$AA?5?$AA?$CK?$AA?5@ DB 's'
	DB	00H, 'e', 00H, 'l', 00H, 'e', 00H, 'c', 00H, 't', 00H, ' ', 00H
	DB	't', 00H, 'o', 00H, 'p', 00H, ' ', 00H, '1', 00H, ' ', 00H, '*'
	DB	00H, ' ', 00H, 'f', 00H, 'r', 00H, 'o', 00H, 'm', 00H, ' ', 00H
	DB	'D', 00H, 'a', 00H, 't', 00H, 'a', 00H, 'M', 00H, 's', 00H, 'g'
	DB	00H, ' ', 00H, 'w', 00H, 'h', 00H, 'e', 00H, 'r', 00H, 'e', 00H
	DB	' ', 00H, 'O', 00H, 'p', 00H, 'e', 00H, 'r', 00H, 'C', 00H, 'm'
	DB	00H, 'd', 00H, '=', 00H, '''', 00H, '%', 00H, 's', 00H, '''', 00H
	DB	' ', 00H, 'a', 00H, 'n', 00H, 'd', 00H, ' ', 00H, 'K', 00H, 'e'
	DB	00H, 'y', 00H, '1', 00H, '=', 00H, '''', 00H, '%', 00H, 's', 00H
	DB	'''', 00H, ' ', 00H, 'o', 00H, 'r', 00H, 'd', 00H, 'e', 00H, 'r'
	DB	00H, ' ', 00H, 'b', 00H, 'y', 00H, ' ', 00H, 'M', 00H, 's', 00H
	DB	'g', 00H, 'T', 00H, 'i', 00H, 'm', 00H, 'e', 00H, ' ', 00H, 'd'
	DB	00H, 'e', 00H, 's', 00H, 'c', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1BO@ICAHPMKB@?$AA?$CF?$AA0?$AA4?$AAd?$AA?4?$AA?$CF?$AA0?$AA2?$AAd?$AA?4?$AA?$CF?$AA0?$AA2?$AAd@
CONST	SEGMENT
??_C@_1BO@ICAHPMKB@?$AA?$CF?$AA0?$AA4?$AAd?$AA?4?$AA?$CF?$AA0?$AA2?$AAd?$AA?4?$AA?$CF?$AA0?$AA2?$AAd@ DB '%'
	DB	00H, '0', 00H, '4', 00H, 'd', 00H, '.', 00H, '%', 00H, '0', 00H
	DB	'2', 00H, 'd', 00H, '.', 00H, '%', 00H, '0', 00H, '2', 00H, 'd'
	DB	00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_15HMPEDBNI@?$AAH?$AAL@
CONST	SEGMENT
??_C@_15HMPEDBNI@?$AAH?$AAL@ DB 'H', 00H, 'L', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1KE@BJIAFIDP@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AAt?$AAo?$AAp?$AA?5?$AA1?$AA?5?$AA?$CK?$AA?5@
CONST	SEGMENT
??_C@_1KE@BJIAFIDP@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AAt?$AAo?$AAp?$AA?5?$AA1?$AA?5?$AA?$CK?$AA?5@ DB 's'
	DB	00H, 'e', 00H, 'l', 00H, 'e', 00H, 'c', 00H, 't', 00H, ' ', 00H
	DB	't', 00H, 'o', 00H, 'p', 00H, ' ', 00H, '1', 00H, ' ', 00H, '*'
	DB	00H, ' ', 00H, 'f', 00H, 'r', 00H, 'o', 00H, 'm', 00H, ' ', 00H
	DB	'D', 00H, 'a', 00H, 't', 00H, 'a', 00H, 'M', 00H, 's', 00H, 'g'
	DB	00H, ' ', 00H, 'w', 00H, 'h', 00H, 'e', 00H, 'r', 00H, 'e', 00H
	DB	' ', 00H, 'O', 00H, 'p', 00H, 'e', 00H, 'r', 00H, 'C', 00H, 'm'
	DB	00H, 'd', 00H, '=', 00H, '''', 00H, '%', 00H, 's', 00H, '''', 00H
	DB	' ', 00H, 'a', 00H, 'n', 00H, 'd', 00H, ' ', 00H, 's', 00H, 't'
	DB	00H, 'a', 00H, 't', 00H, 'u', 00H, 's', 00H, '=', 00H, '0', 00H
	DB	' ', 00H, 'o', 00H, 'r', 00H, 'd', 00H, 'e', 00H, 'r', 00H, ' '
	DB	00H, 'b', 00H, 'y', 00H, ' ', 00H, 'M', 00H, 's', 00H, 'g', 00H
	DB	'T', 00H, 'i', 00H, 'm', 00H, 'e', 00H, ' ', 00H, 'd', 00H, 'e'
	DB	00H, 's', 00H, 'c', 00H, 00H, 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_1MA@BHMFJEAA@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AAt?$AAo?$AAp?$AA?5?$AA1?$AA?5?$AA?$CK?$AA?5@
CONST	SEGMENT
??_C@_1MA@BHMFJEAA@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AAt?$AAo?$AAp?$AA?5?$AA1?$AA?5?$AA?$CK?$AA?5@ DB 's'
	DB	00H, 'e', 00H, 'l', 00H, 'e', 00H, 'c', 00H, 't', 00H, ' ', 00H
	DB	't', 00H, 'o', 00H, 'p', 00H, ' ', 00H, '1', 00H, ' ', 00H, '*'
	DB	00H, ' ', 00H, 'f', 00H, 'r', 00H, 'o', 00H, 'm', 00H, ' ', 00H
	DB	'D', 00H, 'a', 00H, 't', 00H, 'a', 00H, 'M', 00H, 's', 00H, 'g'
	DB	00H, ' ', 00H, 'w', 00H, 'h', 00H, 'e', 00H, 'r', 00H, 'e', 00H
	DB	' ', 00H, 'O', 00H, 'p', 00H, 'e', 00H, 'r', 00H, 'C', 00H, 'm'
	DB	00H, 'd', 00H, '=', 00H, '''', 00H, '%', 00H, 's', 00H, '''', 00H
	DB	' ', 00H, 'a', 00H, 'n', 00H, 'd', 00H, ' ', 00H, 'K', 00H, 'e'
	DB	00H, 'y', 00H, '1', 00H, '=', 00H, '''', 00H, '%', 00H, 's', 00H
	DB	'''', 00H, ' ', 00H, 'a', 00H, 'n', 00H, 'd', 00H, ' ', 00H, 's'
	DB	00H, 't', 00H, 'a', 00H, 't', 00H, 'u', 00H, 's', 00H, '=', 00H
	DB	'0', 00H, ' ', 00H, 'o', 00H, 'r', 00H, 'd', 00H, 'e', 00H, 'r'
	DB	00H, ' ', 00H, 'b', 00H, 'y', 00H, ' ', 00H, 'M', 00H, 's', 00H
	DB	'g', 00H, 'T', 00H, 'i', 00H, 'm', 00H, 'e', 00H, ' ', 00H, 'd'
	DB	00H, 'e', 00H, 's', 00H, 'c', 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@_1KG@EFKDDHOK@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AA?$CK?$AA?5?$AAf?$AAr?$AAo?$AAm?$AA?5?$AAD@
CONST	SEGMENT
??_C@_1KG@EFKDDHOK@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AA?$CK?$AA?5?$AAf?$AAr?$AAo?$AAm?$AA?5?$AAD@ DB 's'
	DB	00H, 'e', 00H, 'l', 00H, 'e', 00H, 'c', 00H, 't', 00H, ' ', 00H
	DB	'*', 00H, ' ', 00H, 'f', 00H, 'r', 00H, 'o', 00H, 'm', 00H, ' '
	DB	00H, 'D', 00H, 'a', 00H, 't', 00H, 'a', 00H, 'M', 00H, 's', 00H
	DB	'g', 00H, ' ', 00H, 'w', 00H, 'h', 00H, 'e', 00H, 'r', 00H, 'e'
	DB	00H, ' ', 00H, 'O', 00H, 'p', 00H, 'e', 00H, 'r', 00H, 'C', 00H
	DB	'm', 00H, 'd', 00H, '=', 00H, '''', 00H, '%', 00H, 's', 00H, ''''
	DB	00H, ' ', 00H, 'a', 00H, 'n', 00H, 'd', 00H, ' ', 00H, 'c', 00H
	DB	'o', 00H, 'n', 00H, 'v', 00H, 'e', 00H, 'r', 00H, 't', 00H, '('
	DB	00H, 'i', 00H, 'n', 00H, 't', 00H, ',', 00H, 'k', 00H, 'e', 00H
	DB	'y', 00H, '1', 00H, ')', 00H, '=', 00H, '%', 00H, 'd', 00H, ' '
	DB	00H, 'o', 00H, 'r', 00H, 'd', 00H, 'e', 00H, 'r', 00H, ' ', 00H
	DB	'b', 00H, 'y', 00H, ' ', 00H, 'y', 00H, 'e', 00H, 'l', 00H, 'e'
	DB	00H, 'v', 00H, 'e', 00H, 'l', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_15LKJGBLKM@?$AAX?$AAD@
CONST	SEGMENT
??_C@_15LKJGBLKM@?$AAX?$AAD@ DB 'X', 00H, 'D', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1BA@MPCEHOJO@?$AAW?$AAe?$AAe?$AAk?$AAD?$AAa?$AAy@
CONST	SEGMENT
??_C@_1BA@MPCEHOJO@?$AAW?$AAe?$AAe?$AAk?$AAD?$AAa?$AAy@ DB 'W', 00H, 'e', 00H
	DB	'e', 00H, 'k', 00H, 'D', 00H, 'a', 00H, 'y', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1O@CIMGHIFA@?$AAi?$AAs?$AAW?$AAe?$AAe?$AAk@
CONST	SEGMENT
??_C@_1O@CIMGHIFA@?$AAi?$AAs?$AAW?$AAe?$AAe?$AAk@ DB 'i', 00H, 's', 00H, 'W'
	DB	00H, 'e', 00H, 'e', 00H, 'k', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1M@HNBPHGM@?$AAP?$AAr?$AAi?$AAc?$AAe@
CONST	SEGMENT
??_C@_1M@HNBPHGM@?$AAP?$AAr?$AAi?$AAc?$AAe@ DB 'P', 00H, 'r', 00H, 'i', 00H
	DB	'c', 00H, 'e', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1BI@PBJMHBGG@?$AAD?$AAZ?$AAS?$AAe?$AAn?$AAd?$AAT?$AAi?$AAm?$AAe?$AA3@
CONST	SEGMENT
??_C@_1BI@PBJMHBGG@?$AAD?$AAZ?$AAS?$AAe?$AAn?$AAd?$AAT?$AAi?$AAm?$AAe?$AA3@ DB 'D'
	DB	00H, 'Z', 00H, 'S', 00H, 'e', 00H, 'n', 00H, 'd', 00H, 'T', 00H
	DB	'i', 00H, 'm', 00H, 'e', 00H, '3', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1BI@EJCABGAD@?$AAD?$AAZ?$AAS?$AAe?$AAn?$AAd?$AAT?$AAi?$AAm?$AAe?$AA2@
CONST	SEGMENT
??_C@_1BI@EJCABGAD@?$AAD?$AAZ?$AAS?$AAe?$AAn?$AAd?$AAT?$AAi?$AAm?$AAe?$AA2@ DB 'D'
	DB	00H, 'Z', 00H, 'S', 00H, 'e', 00H, 'n', 00H, 'd', 00H, 'T', 00H
	DB	'i', 00H, 'm', 00H, 'e', 00H, '2', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1BI@FLJFLJON@?$AAD?$AAZ?$AAS?$AAe?$AAn?$AAd?$AAT?$AAi?$AAm?$AAe?$AA1@
CONST	SEGMENT
??_C@_1BI@FLJFLJON@?$AAD?$AAZ?$AAS?$AAe?$AAn?$AAd?$AAT?$AAi?$AAm?$AAe?$AA1@ DB 'D'
	DB	00H, 'Z', 00H, 'S', 00H, 'e', 00H, 'n', 00H, 'd', 00H, 'T', 00H
	DB	'i', 00H, 'm', 00H, 'e', 00H, '1', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1FC@CKBOBDNO@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AA?$CK?$AA?5?$AAf?$AAr?$AAo?$AAm?$AA?5?$AAO@
CONST	SEGMENT
??_C@_1FC@CKBOBDNO@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AA?$CK?$AA?5?$AAf?$AAr?$AAo?$AAm?$AA?5?$AAO@ DB 's'
	DB	00H, 'e', 00H, 'l', 00H, 'e', 00H, 'c', 00H, 't', 00H, ' ', 00H
	DB	'*', 00H, ' ', 00H, 'f', 00H, 'r', 00H, 'o', 00H, 'm', 00H, ' '
	DB	00H, 'O', 00H, 'p', 00H, 'e', 00H, 'r', 00H, 'C', 00H, 'm', 00H
	DB	'd', 00H, ' ', 00H, 'w', 00H, 'h', 00H, 'e', 00H, 'r', 00H, 'e'
	DB	00H, ' ', 00H, 'O', 00H, 'p', 00H, 'e', 00H, 'r', 00H, 'C', 00H
	DB	'm', 00H, 'd', 00H, 'I', 00H, 'D', 00H, '=', 00H, '%', 00H, 'd'
	DB	00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_15PCKCLKH@?$AAS?$AAP@
CONST	SEGMENT
??_C@_15PCKCLKH@?$AAS?$AAP@ DB 'S', 00H, 'P', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1FO@EEKDKMAK@?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?5?$AAd?$AAz?$AA?5?$AAs?$AAe?$AAt?$AA?5?$AAS@
CONST	SEGMENT
??_C@_1FO@EEKDKMAK@?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?5?$AAd?$AAz?$AA?5?$AAs?$AAe?$AAt?$AA?5?$AAS@ DB 'u'
	DB	00H, 'p', 00H, 'd', 00H, 'a', 00H, 't', 00H, 'e', 00H, ' ', 00H
	DB	'd', 00H, 'z', 00H, ' ', 00H, 's', 00H, 'e', 00H, 't', 00H, ' '
	DB	00H, 'S', 00H, 'e', 00H, 'n', 00H, 'd', 00H, 'L', 00H, 'a', 00H
	DB	's', 00H, 't', 00H, '=', 00H, 'G', 00H, 'e', 00H, 't', 00H, 'D'
	DB	00H, 'A', 00H, 'T', 00H, 'E', 00H, '(', 00H, ')', 00H, ' ', 00H
	DB	'w', 00H, 'h', 00H, 'e', 00H, 'r', 00H, 'e', 00H, ' ', 00H, 'D'
	DB	00H, 'Z', 00H, 'I', 00H, 'D', 00H, '=', 00H, '%', 00H, 'd', 00H
	DB	00H, 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_1BC@KMMELMEH@?$AAB?$AAi?$AAr?$AAt?$AAh?$AAd?$AAa?$AAy@
CONST	SEGMENT
??_C@_1BC@KMMELMEH@?$AAB?$AAi?$AAr?$AAt?$AAh?$AAd?$AAa?$AAy@ DB 'B', 00H, 'i'
	DB	00H, 'r', 00H, 't', 00H, 'h', 00H, 'd', 00H, 'a', 00H, 'y', 00H
	DB	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@_1BE@DDFINHDL@?$AAO?$AAp?$AAe?$AAr?$AAC?$AAm?$AAd?$AAI?$AAD@
CONST	SEGMENT
??_C@_1BE@DDFINHDL@?$AAO?$AAp?$AAe?$AAr?$AAC?$AAm?$AAd?$AAI?$AAD@ DB 'O', 00H
	DB	'p', 00H, 'e', 00H, 'r', 00H, 'C', 00H, 'm', 00H, 'd', 00H, 'I'
	DB	00H, 'D', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_19HDODELJD@?$AAD?$AAZ?$AAI?$AAD@
CONST	SEGMENT
??_C@_19HDODELJD@?$AAD?$AAZ?$AAI?$AAD@ DB 'D', 00H, 'Z', 00H, 'I', 00H, 'D'
	DB	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@KGJGNKBM@?$AAA?$AAd?$AAd?$AAC?$AAm?$AAd@
CONST	SEGMENT
??_C@_1O@KGJGNKBM@?$AAA?$AAd?$AAd?$AAC?$AAm?$AAd@ DB 'A', 00H, 'd', 00H, 'd'
	DB	00H, 'C', 00H, 'm', 00H, 'd', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1BA@LMMOGBEM@?$AAO?$AAp?$AAe?$AAr?$AAC?$AAm?$AAd@
CONST	SEGMENT
??_C@_1BA@LMMOGBEM@?$AAO?$AAp?$AAe?$AAr?$AAC?$AAm?$AAd@ DB 'O', 00H, 'p', 00H
	DB	'e', 00H, 'r', 00H, 'C', 00H, 'm', 00H, 'd', 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@_1MM@BAAGAMJB@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AAd?$AAz?$AA?4?$AA?$CK?$AA?0?$AAu?$AAs?$AAe@
CONST	SEGMENT
??_C@_1MM@BAAGAMJB@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AAd?$AAz?$AA?4?$AA?$CK?$AA?0?$AAu?$AAs?$AAe@ DB 's'
	DB	00H, 'e', 00H, 'l', 00H, 'e', 00H, 'c', 00H, 't', 00H, ' ', 00H
	DB	'd', 00H, 'z', 00H, '.', 00H, '*', 00H, ',', 00H, 'u', 00H, 's'
	DB	00H, 'e', 00H, 'r', 00H, 's', 00H, '.', 00H, 'm', 00H, 'o', 00H
	DB	'b', 00H, 'i', 00H, 'l', 00H, 'e', 00H, ' ', 00H, 'f', 00H, 'r'
	DB	00H, 'o', 00H, 'm', 00H, ' ', 00H, 'd', 00H, 'z', 00H, ',', 00H
	DB	'u', 00H, 's', 00H, 'e', 00H, 'r', 00H, 's', 00H, ' ', 00H, 'w'
	DB	00H, 'h', 00H, 'e', 00H, 'r', 00H, 'e', 00H, ' ', 00H, 'd', 00H
	DB	'z', 00H, '.', 00H, 'u', 00H, 's', 00H, 'e', 00H, 'r', 00H, 'i'
	DB	00H, 'd', 00H, ' ', 00H, '=', 00H, ' ', 00H, 'u', 00H, 's', 00H
	DB	'e', 00H, 'r', 00H, 's', 00H, '.', 00H, 'u', 00H, 's', 00H, 'e'
	DB	00H, 'r', 00H, 'i', 00H, 'd', 00H, ' ', 00H, 'o', 00H, 'r', 00H
	DB	'd', 00H, 'e', 00H, 'r', 00H, ' ', 00H, 'b', 00H, 'y', 00H, ' '
	DB	00H, 'd', 00H, 'z', 00H, '.', 00H, 'O', 00H, 'p', 00H, 'e', 00H
	DB	'r', 00H, 'C', 00H, 'm', 00H, 'd', 00H, ',', 00H, 'd', 00H, 'z'
	DB	00H, '.', 00H, 'B', 00H, 'i', 00H, 'r', 00H, 't', 00H, 'h', 00H
	DB	'd', 00H, 'a', 00H, 'y', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ?__LINE__Var@?0??On_SPDZ@CSPThread@@QAEXIJ@Z@4JA
_DATA	SEGMENT
?__LINE__Var@?0??On_SPDZ@CSPThread@@QAEXIJ@Z@4JA DD 048H ; `CSPThread::On_SPDZ'::`1'::__LINE__Var
_DATA	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@_09IDFCFOOG@CSPThread@
CONST	SEGMENT
??_C@_09IDFCFOOG@CSPThread@ DB 'CSPThread', 00H		; `string'
CONST	ENDS
;	COMDAT ??_7CSPThread@@6B@
CONST	SEGMENT
??_7CSPThread@@6B@ DD FLAT:??_R4CSPThread@@6B@		; CSPThread::`vftable'
	DD	FLAT:?GetRuntimeClass@CSPThread@@UBEPAUCRuntimeClass@@XZ
	DD	FLAT:??_ECSPThread@@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@CSPThread@@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@CSPThread@@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@CSPThread@@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 ?classCSPThread@CSPThread@@2UCRuntimeClass@@B
CONST	SEGMENT
?classCSPThread@CSPThread@@2UCRuntimeClass@@B DD FLAT:??_C@_09IDFCFOOG@CSPThread@ ; CSPThread::classCSPThread
	DD	0118H
	DD	0ffffH
	DD	FLAT:?CreateObject@CSPThread@@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 voltbl
voltbl	SEGMENT
_volmd	DB	081H
	DB	08eH
voltbl	ENDS
;	COMDAT voltbl
voltbl	SEGMENT
_volmd	DW	023H
	DW	01297H
voltbl	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__catchsym$?On_SPDZ@CSPThread@@QAEXIJ@Z$13 DD 00H
	DD	00H
	DD	00H
	DD	FLAT:__catch$?On_SPDZ@CSPThread@@QAEXIJ@Z$0
__tryblocktable$?On_SPDZ@CSPThread@@QAEXIJ@Z DD 00H
	DD	08H
	DD	0cH
	DD	01H
	DD	FLAT:__catchsym$?On_SPDZ@CSPThread@@QAEXIJ@Z$13
__ehfuncinfo$?On_SPDZ@CSPThread@@QAEXIJ@Z DD 019930522H
	DD	0dH
	DD	FLAT:__unwindtable$?On_SPDZ@CSPThread@@QAEXIJ@Z
	DD	01H
	DD	FLAT:__tryblocktable$?On_SPDZ@CSPThread@@QAEXIJ@Z
	DD	2 DUP(00H)
	DD	00H
	DD	00H
__unwindtable$?On_SPDZ@CSPThread@@QAEXIJ@Z DD 0ffffffffH
	DD	00H
	DD	00H
	DD	FLAT:__unwindfunclet$?On_SPDZ@CSPThread@@QAEXIJ@Z$2
	DD	01H
	DD	FLAT:__unwindfunclet$?On_SPDZ@CSPThread@@QAEXIJ@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$?On_SPDZ@CSPThread@@QAEXIJ@Z$4
	DD	03H
	DD	FLAT:__unwindfunclet$?On_SPDZ@CSPThread@@QAEXIJ@Z$5
	DD	03H
	DD	FLAT:__unwindfunclet$?On_SPDZ@CSPThread@@QAEXIJ@Z$6
	DD	05H
	DD	FLAT:__unwindfunclet$?On_SPDZ@CSPThread@@QAEXIJ@Z$7
	DD	06H
	DD	FLAT:__unwindfunclet$?On_SPDZ@CSPThread@@QAEXIJ@Z$8
	DD	06H
	DD	FLAT:__unwindfunclet$?On_SPDZ@CSPThread@@QAEXIJ@Z$9
	DD	0ffffffffH
	DD	00H
	DD	09H
	DD	FLAT:__unwindfunclet$?On_SPDZ@CSPThread@@QAEXIJ@Z$10
	DD	0aH
	DD	FLAT:__unwindfunclet$?On_SPDZ@CSPThread@@QAEXIJ@Z$11
	DD	0bH
	DD	FLAT:__unwindfunclet$?On_SPDZ@CSPThread@@QAEXIJ@Z$12
xdata$x	ENDS
;	COMDAT voltbl
voltbl	SEGMENT
_volmd	DB	036H
voltbl	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?SetParam@CSPThread@@QAEHPAVCSmsCenterDlg@@@Z DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$?SetParam@CSPThread@@QAEHPAVCSmsCenterDlg@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
__unwindtable$?SetParam@CSPThread@@QAEHPAVCSmsCenterDlg@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?SetParam@CSPThread@@QAEHPAVCSmsCenterDlg@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?SetParam@CSPThread@@QAEHPAVCSmsCenterDlg@@@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?SetParam@CSPThread@@QAEHPAVCSmsCenterDlg@@@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?SetParam@CSPThread@@QAEHPAVCSmsCenterDlg@@@Z$3
	DD	03H
	DD	FLAT:__unwindfunclet$?SetParam@CSPThread@@QAEHPAVCSmsCenterDlg@@@Z$4
xdata$x	ENDS
;	COMDAT voltbl
voltbl	SEGMENT
_volmd	DW	0dH
	DW	019aH
voltbl	ENDS
;	COMDAT voltbl
voltbl	SEGMENT
_volmd	DB	048H
voltbl	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$??1CSPThread@@UAE@XZ DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$??1CSPThread@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	04H
__unwindtable$??1CSPThread@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CSPThread@@UAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??1CSPThread@@UAE@XZ$1
	DD	01H
	DD	FLAT:__unwindfunclet$??1CSPThread@@UAE@XZ$2
	DD	02H
	DD	FLAT:__unwindfunclet$??1CSPThread@@UAE@XZ$3
	DD	03H
	DD	FLAT:__unwindfunclet$??1CSPThread@@UAE@XZ$4
xdata$x	ENDS
;	COMDAT voltbl
voltbl	SEGMENT
_volmd	DB	048H
voltbl	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$??0CSPThread@@QAE@XZ DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$??0CSPThread@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
__unwindtable$??0CSPThread@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CSPThread@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CSPThread@@QAE@XZ$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0CSPThread@@QAE@XZ$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0CSPThread@@QAE@XZ$3
	DD	03H
	DD	FLAT:__unwindfunclet$??0CSPThread@@QAE@XZ$4
xdata$x	ENDS
;	COMDAT voltbl
voltbl	SEGMENT
_volmd	DB	018H
voltbl	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?CreateObject@CSPThread@@SGPAVCObject@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?CreateObject@CSPThread@@SGPAVCObject@@XZ$0
__ehfuncinfo$?CreateObject@CSPThread@@SGPAVCObject@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?CreateObject@CSPThread@@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$??1_variant_t@@QAE@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$?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$?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$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z DD 019930522H
	DD	00H
	DD	00H
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	04H
xdata$x	ENDS
;	COMDAT voltbl
voltbl	SEGMENT
_volmd	DB	09H
voltbl	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z DD 019930522H
	DD	00H
	DD	00H
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	04H
xdata$x	ENDS
;	COMDAT voltbl
voltbl	SEGMENT
_volmd	DB	09H
voltbl	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__ehfuncinfo$?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z DD 019930522H
	DD	00H
	DD	00H
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	04H
xdata$x	ENDS
;	COMDAT voltbl
voltbl	SEGMENT
_volmd	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 ??_GCSPThread@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCSPThread@@UAEPAXI@Z PROC				; CSPThread::`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	 ??1CSPThread@@UAE@XZ	; CSPThread::~CSPThread
  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
??_GCSPThread@@UAEPAXI@Z ENDP				; CSPThread::`scalar deleting destructor'
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\SPThread.cpp
;	COMDAT ?GetMessageMap@CSPThread@@MBEPBUAFX_MSGMAP@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetMessageMap@CSPThread@@MBEPBUAFX_MSGMAP@@XZ PROC	; CSPThread::GetMessageMap, COMDAT
; _this$ = ecx

; 44   : BEGIN_MESSAGE_MAP(CSPThread, 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@CSPThread@@KGPBUAFX_MSGMAP@@XZ ; CSPThread::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@CSPThread@@MBEPBUAFX_MSGMAP@@XZ ENDP	; CSPThread::GetMessageMap
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\SPThread.cpp
;	COMDAT ?GetThisMessageMap@CSPThread@@KGPBUAFX_MSGMAP@@XZ
_TEXT	SEGMENT
?GetThisMessageMap@CSPThread@@KGPBUAFX_MSGMAP@@XZ PROC	; CSPThread::GetThisMessageMap, COMDAT

; 44   : BEGIN_MESSAGE_MAP(CSPThread, 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

; 45   : 	//{{AFX_MSG_MAP(CSPThread)
; 46   : 		// NOTE - the ClassWizard will add and remove mapping macros here.
; 47   : 	//}}AFX_MSG_MAP
; 48   : 	ON_THREAD_MESSAGE(TH_SMSSP,On_SPDZ)
; 49   : END_MESSAGE_MAP()

  00009	b8 00 00 00 00	 mov	 eax, OFFSET ?messageMap@?1??GetThisMessageMap@CSPThread@@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@CSPThread@@KGPBUAFX_MSGMAP@@XZ ENDP	; CSPThread::GetThisMessageMap
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\SPThread.cpp
;	COMDAT ?On_SPDZ@CSPThread@@QAEXIJ@Z
_TEXT	SEGMENT
tv488 = -59920						; size = 4
tv457 = -59920						; size = 4
tv426 = -59920						; size = 4
tv490 = -59916						; size = 4
tv459 = -59916						; size = 4
tv428 = -59916						; size = 4
tv492 = -59912						; size = 4
tv461 = -59912						; size = 4
tv430 = -59912						; size = 4
tv582 = -59908						; size = 4
tv494 = -59908						; size = 4
tv463 = -59908						; size = 4
tv432 = -59908						; size = 4
tv751 = -59904						; size = 4
tv642 = -59904						; size = 4
tv496 = -59904						; size = 4
tv465 = -59904						; size = 4
tv434 = -59904						; size = 4
tv876 = -59900						; size = 4
tv837 = -59900						; size = 4
tv818 = -59900						; size = 4
tv799 = -59900						; size = 4
tv793 = -59900						; size = 4
tv779 = -59900						; size = 4
tv670 = -59900						; size = 4
tv651 = -59900						; size = 4
tv644 = -59900						; size = 4
tv612 = -59900						; size = 4
tv498 = -59900						; size = 4
tv467 = -59900						; size = 4
tv436 = -59900						; size = 4
tv403 = -59900						; size = 4
tv397 = -59900						; size = 4
tv391 = -59900						; size = 4
tv385 = -59900						; size = 4
tv379 = -59900						; size = 4
tv373 = -59900						; size = 4
tv352 = -59900						; size = 4
tv263 = -59900						; size = 4
tv210 = -59900						; size = 4
tv204 = -59900						; size = 4
tv198 = -59900						; size = 4
tv192 = -59900						; size = 4
tv186 = -59900						; size = 4
tv180 = -59900						; size = 4
tv174 = -59900						; size = 4
tv168 = -59900						; size = 4
tv162 = -59900						; size = 4
tv89 = -59900						; size = 4
$T2 = -59896						; size = 4
$T3 = -59892						; size = 4
$T4 = -59888						; size = 4
_NXlog$5 = -59372					; size = 6056
_data$6 = -53316					; size = 17556
_lMobType$7 = -35760					; size = 4
_lMsgID$8 = -35756					; size = 4
_strTime$9 = -35752					; size = 4
_t$10 = -35748						; size = 16
_data$11 = -35732					; size = 17556
_lMobType$12 = -18176					; size = 4
_lAdoCount$13 = -18172					; size = 4
_iDay$14 = -18168					; size = 4
_iMon$15 = -18164					; size = 4
_b3$16 = -18160						; size = 4
_strSelect3$17 = -18156					; size = 4
_bSend$18 = -18152					; size = 4
_tt3$19 = -18148					; size = 16
_tt2$20 = -18132					; size = 16
_tt1$21 = -18116					; size = 16
_tts$22 = -18100					; size = 16
_ttn$23 = -18084					; size = 16
_tNow$24 = -18068					; size = 12
_t3$25 = -18056						; size = 12
_t2$26 = -18044						; size = 12
_t1$27 = -18032						; size = 12
_szWeek$28 = -18020					; size = 64
_bWeek$29 = -17956					; size = 4
_lTemp$30 = -17952					; size = 4
_b2$31 = -17948						; size = 4
_strSelect2$32 = -17944					; size = 4
_data$33 = -17940					; size = 17556
_lMobType$34 = -384					; size = 4
_strSelect3$35 = -380					; size = 4
_lAllCount2$36 = -376					; size = 4
_lDZID$37 = -372					; size = 4
_tYSend$38 = -368					; size = 12
_tSend$39 = -356					; size = 12
_szAddCmd$40 = -344					; size = 64
_szOperCmd$41 = -280					; size = 64
_tBirthday$42 = -216					; size = 12
_lOperCmdID$43 = -204					; size = 4
_strOldMsg$44 = -200					; size = 4
_lOldPrice$45 = -196					; size = 4
_bOldMsg$46 = -192					; size = 4
_tOldBirthday$47 = -188					; size = 12
_szOldAddCmd$48 = -176					; size = 64
_szOldOperCmd$49 = -112					; size = 64
_strMobile$50 = -48					; size = 4
_lUserID$51 = -44					; size = 4
_lCorpID$52 = -40					; size = 4
_lAllCount$53 = -36					; size = 4
_b$54 = -32						; size = 4
_strSelect$55 = -28					; size = 4
_this$ = -24						; size = 4
__$ArrayPad$ = -20					; size = 4
__$EHRec$ = -16						; size = 16
_wParam$ = 8						; size = 4
_lParam$ = 12						; size = 4
?On_SPDZ@CSPThread@@QAEXIJ@Z PROC			; CSPThread::On_SPDZ, COMDAT
; _this$ = ecx

; 72   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?On_SPDZ@CSPThread@@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 00 ea 00 00	 mov	 eax, 59904		; 0000ea00H
  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

; 73   : 	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 $LN4@On_SPDZ

; 74   : 		return ;

  00042	e9 42 12 00 00	 jmp	 $LN1@On_SPDZ
$LN4@On_SPDZ:

; 75   : 
; 76   : 	Sleep(10000);  //��ʱ10��

  00047	68 10 27 00 00	 push	 10000			; 00002710H
  0004c	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__Sleep@4

; 77   : 	m_pSMSDlg->m_bAutoSend_SP = false;

  00052	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  00055	8b 88 10 01 00
	00		 mov	 ecx, DWORD PTR [eax+272]
  0005b	c7 81 64 12 00
	00 00 00 00 00	 mov	 DWORD PTR [ecx+4708], 0

; 78   : 
; 79   : 	m_bStart = true;

  00065	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  00068	c7 40 44 01 00
	00 00		 mov	 DWORD PTR [eax+68], 1

; 80   : 
; 81   : 	try {

  0006f	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 0

; 82   : 		CString strSelect;

  00076	8d 4d e4	 lea	 ecx, DWORD PTR _strSelect$55[ebp]
  00079	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> > >
  0007e	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+12], 1

; 83   : 		strSelect.Format( _T("select dz.*,users.mobile from dz,users where dz.userid = users.userid order by dz.OperCmd,dz.Birthday") );

  00082	68 00 00 00 00	 push	 OFFSET ??_C@_1MM@BAAGAMJB@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AAd?$AAz?$AA?4?$AA?$CK?$AA?0?$AAu?$AAs?$AAe@
  00087	8d 45 e4	 lea	 eax, DWORD PTR _strSelect$55[ebp]
  0008a	50		 push	 eax
  0008b	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
  00090	83 c4 08	 add	 esp, 8

; 84   : 		BOOL b = m_AdoRS.Open( strSelect );

  00093	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  00096	83 c0 68	 add	 eax, 104		; 00000068H
  00099	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv89[ebp], eax
  0009f	6a 03		 push	 3
  000a1	6a 03		 push	 3
  000a3	6a 01		 push	 1
  000a5	8d 4d e4	 lea	 ecx, DWORD PTR _strSelect$55[ebp]
  000a8	e8 00 00 00 00	 call	 ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
  000ad	50		 push	 eax
  000ae	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv89[ebp]
  000b4	e8 00 00 00 00	 call	 ?Open@CAdoRecordSet@@QAEHPB_WJW4CursorTypeEnum@ADODB@@W4LockTypeEnum@3@@Z ; CAdoRecordSet::Open
  000b9	89 45 e0	 mov	 DWORD PTR _b$54[ebp], eax

; 85   : 		long lAllCount =  m_AdoRS.GetRecordCount() ;

  000bc	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  000bf	83 c1 68	 add	 ecx, 104		; 00000068H
  000c2	e8 00 00 00 00	 call	 ?GetRecordCount@CAdoRecordSet@@QAEJXZ ; CAdoRecordSet::GetRecordCount
  000c7	89 45 dc	 mov	 DWORD PTR _lAllCount$53[ebp], eax

; 86   : 		if ( b && lAllCount>0) //�������ж�������Ϣ���û�

  000ca	83 7d e0 00	 cmp	 DWORD PTR _b$54[ebp], 0
  000ce	0f 84 db 10 00
	00		 je	 $LN6@On_SPDZ
  000d4	83 7d dc 00	 cmp	 DWORD PTR _lAllCount$53[ebp], 0
  000d8	0f 8e d1 10 00
	00		 jle	 $LN6@On_SPDZ

; 87   : 		{
; 88   : 			m_AdoRS.MoveFirst();

  000de	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  000e1	83 c1 68	 add	 ecx, 104		; 00000068H
  000e4	e8 00 00 00 00	 call	 ?MoveFirst@CAdoRecordSet@@QAEHXZ ; CAdoRecordSet::MoveFirst

; 89   : 			long lCorpID=0;

  000e9	c7 45 d8 00 00
	00 00		 mov	 DWORD PTR _lCorpID$52[ebp], 0

; 90   : 			long lUserID=0;

  000f0	c7 45 d4 00 00
	00 00		 mov	 DWORD PTR _lUserID$51[ebp], 0

; 91   : 			CString strMobile;

  000f7	8d 4d d0	 lea	 ecx, DWORD PTR _strMobile$50[ebp]
  000fa	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> > >
  000ff	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+12], 2

; 92   : 			TCHAR szOldOperCmd[32]={0};

  00103	6a 40		 push	 64			; 00000040H
  00105	6a 00		 push	 0
  00107	8d 45 90	 lea	 eax, DWORD PTR _szOldOperCmd$49[ebp]
  0010a	50		 push	 eax
  0010b	e8 00 00 00 00	 call	 _memset
  00110	83 c4 0c	 add	 esp, 12			; 0000000cH

; 93   : 			TCHAR szOldAddCmd[32]={0};

  00113	6a 40		 push	 64			; 00000040H
  00115	6a 00		 push	 0
  00117	8d 85 50 ff ff
	ff		 lea	 eax, DWORD PTR _szOldAddCmd$48[ebp]
  0011d	50		 push	 eax
  0011e	e8 00 00 00 00	 call	 _memset
  00123	83 c4 0c	 add	 esp, 12			; 0000000cH

; 94   : 			COleDateTime tOldBirthday;

  00126	8d 8d 44 ff ff
	ff		 lea	 ecx, DWORD PTR _tOldBirthday$47[ebp]
  0012c	e8 00 00 00 00	 call	 ??0COleDateTime@ATL@@QAE@XZ ; ATL::COleDateTime::COleDateTime

; 95   : 			BOOL bOldMsg = false;

  00131	c7 85 40 ff ff
	ff 00 00 00 00	 mov	 DWORD PTR _bOldMsg$46[ebp], 0

; 96   : 			long lOldPrice=0;

  0013b	c7 85 3c ff ff
	ff 00 00 00 00	 mov	 DWORD PTR _lOldPrice$45[ebp], 0

; 97   : 			CString strOldMsg;

  00145	8d 8d 38 ff ff
	ff		 lea	 ecx, DWORD PTR _strOldMsg$44[ebp]
  0014b	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> > >
  00150	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+12], 3

; 98   : 			long lOperCmdID;
; 99   : 			COleDateTime tBirthday;

  00154	8d 8d 28 ff ff
	ff		 lea	 ecx, DWORD PTR _tBirthday$42[ebp]
  0015a	e8 00 00 00 00	 call	 ??0COleDateTime@ATL@@QAE@XZ ; ATL::COleDateTime::COleDateTime

; 100  : 			TCHAR szOperCmd[32]={0};

  0015f	6a 40		 push	 64			; 00000040H
  00161	6a 00		 push	 0
  00163	8d 85 e8 fe ff
	ff		 lea	 eax, DWORD PTR _szOperCmd$41[ebp]
  00169	50		 push	 eax
  0016a	e8 00 00 00 00	 call	 _memset
  0016f	83 c4 0c	 add	 esp, 12			; 0000000cH

; 101  : 			TCHAR szAddCmd[32]={0};

  00172	6a 40		 push	 64			; 00000040H
  00174	6a 00		 push	 0
  00176	8d 85 a8 fe ff
	ff		 lea	 eax, DWORD PTR _szAddCmd$40[ebp]
  0017c	50		 push	 eax
  0017d	e8 00 00 00 00	 call	 _memset
  00182	83 c4 0c	 add	 esp, 12			; 0000000cH

; 102  : 			COleDateTime tSend;

  00185	8d 8d 9c fe ff
	ff		 lea	 ecx, DWORD PTR _tSend$39[ebp]
  0018b	e8 00 00 00 00	 call	 ??0COleDateTime@ATL@@QAE@XZ ; ATL::COleDateTime::COleDateTime

; 103  : 			COleDateTime tYSend;  //Ӧ���͵�ʱ��

  00190	8d 8d 90 fe ff
	ff		 lea	 ecx, DWORD PTR _tYSend$38[ebp]
  00196	e8 00 00 00 00	 call	 ??0COleDateTime@ATL@@QAE@XZ ; ATL::COleDateTime::COleDateTime

; 104  : 			long lDZID;
; 105  : 			long lAllCount2=0;

  0019b	c7 85 88 fe ff
	ff 00 00 00 00	 mov	 DWORD PTR _lAllCount2$36[ebp], 0
$LN2@On_SPDZ:

; 106  : 			while( !m_AdoRS.IsEOF() && lAllCount2<lAllCount)

  001a5	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  001a8	83 c1 68	 add	 ecx, 104		; 00000068H
  001ab	e8 00 00 00 00	 call	 ?IsEOF@CAdoRecordSet@@QAEHXZ ; CAdoRecordSet::IsEOF
  001b0	85 c0		 test	 eax, eax
  001b2	0f 85 dc 0f 00
	00		 jne	 $LN3@On_SPDZ
  001b8	8b 85 88 fe ff
	ff		 mov	 eax, DWORD PTR _lAllCount2$36[ebp]
  001be	3b 45 dc	 cmp	 eax, DWORD PTR _lAllCount$53[ebp]
  001c1	0f 8d cd 0f 00
	00		 jge	 $LN3@On_SPDZ

; 107  : 			{
; 108  : 				m_AdoRS.GetCollect( _T("CorpID"), lCorpID );

  001c7	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  001ca	83 c0 68	 add	 eax, 104		; 00000068H
  001cd	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv162[ebp], eax
  001d3	8d 4d d8	 lea	 ecx, DWORD PTR _lCorpID$52[ebp]
  001d6	51		 push	 ecx
  001d7	68 00 00 00 00	 push	 OFFSET ??_C@_1O@CLJHPHJA@?$AAC?$AAo?$AAr?$AAp?$AAI?$AAD@
  001dc	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv162[ebp]
  001e2	e8 00 00 00 00	 call	 ?GetCollect@CAdoRecordSet@@QAEHPB_WAAJ@Z ; CAdoRecordSet::GetCollect

; 109  : 				m_AdoRS.GetCollect( _T("UserID"), lUserID );

  001e7	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  001ea	83 c0 68	 add	 eax, 104		; 00000068H
  001ed	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv168[ebp], eax
  001f3	8d 4d d4	 lea	 ecx, DWORD PTR _lUserID$51[ebp]
  001f6	51		 push	 ecx
  001f7	68 00 00 00 00	 push	 OFFSET ??_C@_1O@DLKCLNNL@?$AAU?$AAs?$AAe?$AAr?$AAI?$AAD@
  001fc	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv168[ebp]
  00202	e8 00 00 00 00	 call	 ?GetCollect@CAdoRecordSet@@QAEHPB_WAAJ@Z ; CAdoRecordSet::GetCollect

; 110  : 				m_AdoRS.GetCollect( _T("OperCmd"), szOperCmd );

  00207	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  0020a	83 c0 68	 add	 eax, 104		; 00000068H
  0020d	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv174[ebp], eax
  00213	8d 8d e8 fe ff
	ff		 lea	 ecx, DWORD PTR _szOperCmd$41[ebp]
  00219	51		 push	 ecx
  0021a	68 00 00 00 00	 push	 OFFSET ??_C@_1BA@LMMOGBEM@?$AAO?$AAp?$AAe?$AAr?$AAC?$AAm?$AAd@
  0021f	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv174[ebp]
  00225	e8 00 00 00 00	 call	 ?GetCollect@CAdoRecordSet@@QAEHPB_WPA_W@Z ; CAdoRecordSet::GetCollect

; 111  : 				m_AdoRS.GetCollect( _T("AddCmd") , szAddCmd );

  0022a	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  0022d	83 c0 68	 add	 eax, 104		; 00000068H
  00230	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv180[ebp], eax
  00236	8d 8d a8 fe ff
	ff		 lea	 ecx, DWORD PTR _szAddCmd$40[ebp]
  0023c	51		 push	 ecx
  0023d	68 00 00 00 00	 push	 OFFSET ??_C@_1O@KGJGNKBM@?$AAA?$AAd?$AAd?$AAC?$AAm?$AAd@
  00242	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv180[ebp]
  00248	e8 00 00 00 00	 call	 ?GetCollect@CAdoRecordSet@@QAEHPB_WPA_W@Z ; CAdoRecordSet::GetCollect

; 112  : 				m_AdoRS.GetCollect( _T("Mobile") , strMobile );

  0024d	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  00250	83 c0 68	 add	 eax, 104		; 00000068H
  00253	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv186[ebp], eax
  00259	8d 4d d0	 lea	 ecx, DWORD PTR _strMobile$50[ebp]
  0025c	51		 push	 ecx
  0025d	68 00 00 00 00	 push	 OFFSET ??_C@_1O@OLLJFFCG@?$AAM?$AAo?$AAb?$AAi?$AAl?$AAe@
  00262	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv186[ebp]
  00268	e8 00 00 00 00	 call	 ?GetCollect@CAdoRecordSet@@QAEHPB_WAAV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@Z ; CAdoRecordSet::GetCollect

; 113  : 				m_AdoRS.GetCollect( _T("DZID")   , lDZID );

  0026d	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  00270	83 c0 68	 add	 eax, 104		; 00000068H
  00273	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv192[ebp], eax
  00279	8d 8d 8c fe ff
	ff		 lea	 ecx, DWORD PTR _lDZID$37[ebp]
  0027f	51		 push	 ecx
  00280	68 00 00 00 00	 push	 OFFSET ??_C@_19HDODELJD@?$AAD?$AAZ?$AAI?$AAD@
  00285	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv192[ebp]
  0028b	e8 00 00 00 00	 call	 ?GetCollect@CAdoRecordSet@@QAEHPB_WAAJ@Z ; CAdoRecordSet::GetCollect

; 114  : 				m_AdoRS.GetCollect( _T("OperCmdID") , lOperCmdID );

  00290	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  00293	83 c0 68	 add	 eax, 104		; 00000068H
  00296	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv198[ebp], eax
  0029c	8d 8d 34 ff ff
	ff		 lea	 ecx, DWORD PTR _lOperCmdID$43[ebp]
  002a2	51		 push	 ecx
  002a3	68 00 00 00 00	 push	 OFFSET ??_C@_1BE@DDFINHDL@?$AAO?$AAp?$AAe?$AAr?$AAC?$AAm?$AAd?$AAI?$AAD@
  002a8	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv198[ebp]
  002ae	e8 00 00 00 00	 call	 ?GetCollect@CAdoRecordSet@@QAEHPB_WAAJ@Z ; CAdoRecordSet::GetCollect

; 115  : 				m_AdoRS.GetCollect( _T("SendLast") , tSend );

  002b3	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  002b6	83 c0 68	 add	 eax, 104		; 00000068H
  002b9	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv204[ebp], eax
  002bf	8d 8d 9c fe ff
	ff		 lea	 ecx, DWORD PTR _tSend$39[ebp]
  002c5	51		 push	 ecx
  002c6	68 00 00 00 00	 push	 OFFSET ??_C@_1BC@DIGKBDEI@?$AAS?$AAe?$AAn?$AAd?$AAL?$AAa?$AAs?$AAt@
  002cb	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv204[ebp]
  002d1	e8 00 00 00 00	 call	 ?GetCollect@CAdoRecordSet@@QAEHPB_WAAVCOleDateTime@ATL@@@Z ; CAdoRecordSet::GetCollect

; 116  : 				m_AdoRS.GetCollect( _T("Birthday") , tBirthday );

  002d6	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  002d9	83 c0 68	 add	 eax, 104		; 00000068H
  002dc	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv210[ebp], eax
  002e2	8d 8d 28 ff ff
	ff		 lea	 ecx, DWORD PTR _tBirthday$42[ebp]
  002e8	51		 push	 ecx
  002e9	68 00 00 00 00	 push	 OFFSET ??_C@_1BC@KMMELMEH@?$AAB?$AAi?$AAr?$AAt?$AAh?$AAd?$AAa?$AAy@
  002ee	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv210[ebp]
  002f4	e8 00 00 00 00	 call	 ?GetCollect@CAdoRecordSet@@QAEHPB_WAAVCOleDateTime@ATL@@@Z ; CAdoRecordSet::GetCollect

; 117  : 				Sleep(10);//����������Ҫ��

  002f9	6a 0a		 push	 10			; 0000000aH
  002fb	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__Sleep@4

; 118  : 				if ( strMobile.GetLength() < 11 )

  00301	8d 4d d0	 lea	 ecx, DWORD PTR _strMobile$50[ebp]
  00304	e8 00 00 00 00	 call	 ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
  00309	83 f8 0b	 cmp	 eax, 11			; 0000000bH
  0030c	7d 1f		 jge	 SHORT $LN7@On_SPDZ

; 119  : 				{
; 120  : 					lAllCount2 ++;

  0030e	8b 85 88 fe ff
	ff		 mov	 eax, DWORD PTR _lAllCount2$36[ebp]
  00314	83 c0 01	 add	 eax, 1
  00317	89 85 88 fe ff
	ff		 mov	 DWORD PTR _lAllCount2$36[ebp], eax

; 121  : 					m_AdoRS.MoveNext();

  0031d	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00320	83 c1 68	 add	 ecx, 104		; 00000068H
  00323	e8 00 00 00 00	 call	 ?MoveNext@CAdoRecordSet@@QAEHXZ ; CAdoRecordSet::MoveNext

; 122  : 					continue;

  00328	e9 78 fe ff ff	 jmp	 $LN2@On_SPDZ
$LN7@On_SPDZ:

; 123  : 				}
; 124  : 				
; 125  : 				if ( bOldMsg &&
; 126  : 					!_tcscmp(szOperCmd,szOldOperCmd) &&  //�¾�ָ����һ����,ֱ�ӷ�����Ϣ����
; 127  : 					!_tcscmp(szAddCmd,szOldAddCmd ) &&

  0032d	83 bd 40 ff ff
	ff 00		 cmp	 DWORD PTR _bOldMsg$46[ebp], 0
  00334	0f 84 af 01 00
	00		 je	 $LN8@On_SPDZ
  0033a	8d 45 90	 lea	 eax, DWORD PTR _szOldOperCmd$49[ebp]
  0033d	50		 push	 eax
  0033e	8d 8d e8 fe ff
	ff		 lea	 ecx, DWORD PTR _szOperCmd$41[ebp]
  00344	51		 push	 ecx
  00345	e8 00 00 00 00	 call	 _wcscmp
  0034a	83 c4 08	 add	 esp, 8
  0034d	85 c0		 test	 eax, eax
  0034f	0f 85 94 01 00
	00		 jne	 $LN8@On_SPDZ
  00355	8d 85 50 ff ff
	ff		 lea	 eax, DWORD PTR _szOldAddCmd$48[ebp]
  0035b	50		 push	 eax
  0035c	8d 8d a8 fe ff
	ff		 lea	 ecx, DWORD PTR _szAddCmd$40[ebp]
  00362	51		 push	 ecx
  00363	e8 00 00 00 00	 call	 _wcscmp
  00368	83 c4 08	 add	 esp, 8
  0036b	85 c0		 test	 eax, eax
  0036d	0f 85 76 01 00
	00		 jne	 $LN8@On_SPDZ
  00373	8d 85 44 ff ff
	ff		 lea	 eax, DWORD PTR _tOldBirthday$47[ebp]
  00379	50		 push	 eax
  0037a	8d 8d 28 ff ff
	ff		 lea	 ecx, DWORD PTR _tBirthday$42[ebp]
  00380	e8 00 00 00 00	 call	 ??8COleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator==
  00385	0f b6 c8	 movzx	 ecx, al
  00388	85 c9		 test	 ecx, ecx
  0038a	0f 84 59 01 00
	00		 je	 $LN8@On_SPDZ

; 128  : 					tBirthday== tOldBirthday )
; 129  : 				{
; 130  : 					CString strSelect3;

  00390	8d 8d 84 fe ff
	ff		 lea	 ecx, DWORD PTR _strSelect3$35[ebp]
  00396	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> > >
  0039b	c6 45 fc 04	 mov	 BYTE PTR __$EHRec$[ebp+12], 4

; 131  : 					if ( tSend.GetStatus()!= COleDateTime::valid || tSend < tYSend ) //�����ʱ��Ϊ�գ��������ʱ��С��Ӧ����ʱ��,��ʼ����

  0039f	8d 8d 9c fe ff
	ff		 lea	 ecx, DWORD PTR _tSend$39[ebp]
  003a5	e8 00 00 00 00	 call	 ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus
  003aa	85 c0		 test	 eax, eax
  003ac	75 1d		 jne	 SHORT $LN11@On_SPDZ
  003ae	8d 85 90 fe ff
	ff		 lea	 eax, DWORD PTR _tYSend$38[ebp]
  003b4	50		 push	 eax
  003b5	8d 8d 9c fe ff
	ff		 lea	 ecx, DWORD PTR _tSend$39[ebp]
  003bb	e8 00 00 00 00	 call	 ??MCOleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator<
  003c0	0f b6 c8	 movzx	 ecx, al
  003c3	85 c9		 test	 ecx, ecx
  003c5	0f 84 0a 01 00
	00		 je	 $LN10@On_SPDZ
$LN11@On_SPDZ:

; 132  : 					{
; 133  : 						//����Ϣ�����ʱ��
; 134  : 						strSelect3.Format( _T("update dz set SendLast=GetDATE() where DZID=%d") ,lDZID );

  003cb	8b 85 8c fe ff
	ff		 mov	 eax, DWORD PTR _lDZID$37[ebp]
  003d1	50		 push	 eax
  003d2	68 00 00 00 00	 push	 OFFSET ??_C@_1FO@EEKDKMAK@?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?5?$AAd?$AAz?$AA?5?$AAs?$AAe?$AAt?$AA?5?$AAS@
  003d7	8d 8d 84 fe ff
	ff		 lea	 ecx, DWORD PTR _strSelect3$35[ebp]
  003dd	51		 push	 ecx
  003de	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
  003e3	83 c4 0c	 add	 esp, 12			; 0000000cH

; 135  : 						m_AdoRS2.Open(strSelect3);

  003e6	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  003e9	05 a0 00 00 00	 add	 eax, 160		; 000000a0H
  003ee	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv263[ebp], eax
  003f4	6a 03		 push	 3
  003f6	6a 03		 push	 3
  003f8	6a 01		 push	 1
  003fa	8d 8d 84 fe ff
	ff		 lea	 ecx, DWORD PTR _strSelect3$35[ebp]
  00400	e8 00 00 00 00	 call	 ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
  00405	50		 push	 eax
  00406	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv263[ebp]
  0040c	e8 00 00 00 00	 call	 ?Open@CAdoRecordSet@@QAEHPB_WJW4CursorTypeEnum@ADODB@@W4LockTypeEnum@3@@Z ; CAdoRecordSet::Open

; 136  : 						m_AdoRS2.Close();

  00411	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00414	81 c1 a0 00 00
	00		 add	 ecx, 160		; 000000a0H
  0041a	e8 00 00 00 00	 call	 ?Close@CAdoRecordSet@@QAEXXZ ; CAdoRecordSet::Close

; 137  : 						
; 138  : 						
; 139  : 						//�ύ����
; 140  : 						long lMobType = MOBILE_TYPE_CMCC;

  0041f	c7 85 80 fe ff
	ff 00 00 00 00	 mov	 DWORD PTR _lMobType$34[ebp], 0

; 141  : 						//if ( isNumUnicom((char*)(LPCTSTR)strMobile) )
; 142  : 						//	lMobType = MOBILE_TYPE_UNICOM;
; 143  : 						
; 144  : 						SubmitData data={0};

  00429	68 94 44 00 00	 push	 17556			; 00004494H
  0042e	6a 00		 push	 0
  00430	8d 85 ec b9 ff
	ff		 lea	 eax, DWORD PTR _data$33[ebp]
  00436	50		 push	 eax
  00437	e8 00 00 00 00	 call	 _memset
  0043c	83 c4 0c	 add	 esp, 12			; 0000000cH

; 145  : 						data.lCorpID = lCorpID;

  0043f	8b 45 d8	 mov	 eax, DWORD PTR _lCorpID$52[ebp]
  00442	89 85 fc b9 ff
	ff		 mov	 DWORD PTR _data$33[ebp+16], eax

; 146  : 						data.lUserID = lUserID;

  00448	8b 45 d4	 mov	 eax, DWORD PTR _lUserID$51[ebp]
  0044b	89 85 00 ba ff
	ff		 mov	 DWORD PTR _data$33[ebp+20], eax

; 147  : 						_tcscpy( data.szName    , _T("SP") );

  00451	68 00 00 00 00	 push	 OFFSET ??_C@_15PCKCLKH@?$AAS?$AAP@
  00456	8d 85 44 ba ff
	ff		 lea	 eax, DWORD PTR _data$33[ebp+88]
  0045c	50		 push	 eax
  0045d	e8 00 00 00 00	 call	 _wcscpy
  00462	83 c4 08	 add	 esp, 8

; 148  : 						_tcscpy( data.szMobile  , strMobile );

  00465	8d 4d d0	 lea	 ecx, DWORD PTR _strMobile$50[ebp]
  00468	e8 00 00 00 00	 call	 ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
  0046d	50		 push	 eax
  0046e	8d 85 84 ba ff
	ff		 lea	 eax, DWORD PTR _data$33[ebp+152]
  00474	50		 push	 eax
  00475	e8 00 00 00 00	 call	 _wcscpy
  0047a	83 c4 08	 add	 esp, 8

; 149  : 						_tcscpy( data.szMsg   , strOldMsg );

  0047d	8d 8d 38 ff ff
	ff		 lea	 ecx, DWORD PTR _strOldMsg$44[ebp]
  00483	e8 00 00 00 00	 call	 ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
  00488	50		 push	 eax
  00489	8d 85 c4 ba ff
	ff		 lea	 eax, DWORD PTR _data$33[ebp+216]
  0048f	50		 push	 eax
  00490	e8 00 00 00 00	 call	 _wcscpy
  00495	83 c4 08	 add	 esp, 8

; 150  : 						CSendThread::SubmitSms( data,&m_AdoRS2,&m_AdoRS3,m_pSMSDlg,lMobType,SMSTYPE_SP,lOldPrice);  //���Ͷ���

  00498	8b 85 3c ff ff
	ff		 mov	 eax, DWORD PTR _lOldPrice$45[ebp]
  0049e	50		 push	 eax
  0049f	6a 05		 push	 5
  004a1	8b 8d 80 fe ff
	ff		 mov	 ecx, DWORD PTR _lMobType$34[ebp]
  004a7	51		 push	 ecx
  004a8	8b 55 e8	 mov	 edx, DWORD PTR _this$[ebp]
  004ab	8b 82 10 01 00
	00		 mov	 eax, DWORD PTR [edx+272]
  004b1	50		 push	 eax
  004b2	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  004b5	81 c1 d8 00 00
	00		 add	 ecx, 216		; 000000d8H
  004bb	51		 push	 ecx
  004bc	8b 55 e8	 mov	 edx, DWORD PTR _this$[ebp]
  004bf	81 c2 a0 00 00
	00		 add	 edx, 160		; 000000a0H
  004c5	52		 push	 edx
  004c6	8d 85 ec b9 ff
	ff		 lea	 eax, DWORD PTR _data$33[ebp]
  004cc	50		 push	 eax
  004cd	e8 00 00 00 00	 call	 ?SubmitSms@CSendThread@@SAJAAU_SubmitData@@PAVCAdoRecordSet@@1PAVCSmsCenterDlg@@JJJ@Z ; CSendThread::SubmitSms
  004d2	83 c4 1c	 add	 esp, 28			; 0000001cH
$LN10@On_SPDZ:

; 151  : 					}
; 152  : 				}

  004d5	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+12], 3
  004d9	8d 8d 84 fe ff
	ff		 lea	 ecx, DWORD PTR _strSelect3$35[ebp]
  004df	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> > >
  004e4	e9 8c 0c 00 00	 jmp	 $LN9@On_SPDZ
$LN8@On_SPDZ:

; 153  : 				else
; 154  : 				{
; 155  : 					bOldMsg = false;

  004e9	c7 85 40 ff ff
	ff 00 00 00 00	 mov	 DWORD PTR _bOldMsg$46[ebp], 0

; 156  : 					_tcscpy( szOldOperCmd , szOperCmd ); //���浱ǰָ��

  004f3	8d 85 e8 fe ff
	ff		 lea	 eax, DWORD PTR _szOperCmd$41[ebp]
  004f9	50		 push	 eax
  004fa	8d 4d 90	 lea	 ecx, DWORD PTR _szOldOperCmd$49[ebp]
  004fd	51		 push	 ecx
  004fe	e8 00 00 00 00	 call	 _wcscpy
  00503	83 c4 08	 add	 esp, 8

; 157  : 					_tcscpy( szOldAddCmd  , szAddCmd );

  00506	8d 85 a8 fe ff
	ff		 lea	 eax, DWORD PTR _szAddCmd$40[ebp]
  0050c	50		 push	 eax
  0050d	8d 8d 50 ff ff
	ff		 lea	 ecx, DWORD PTR _szOldAddCmd$48[ebp]
  00513	51		 push	 ecx
  00514	e8 00 00 00 00	 call	 _wcscpy
  00519	83 c4 08	 add	 esp, 8

; 158  : 					tOldBirthday = tBirthday;

  0051c	8b 85 28 ff ff
	ff		 mov	 eax, DWORD PTR _tBirthday$42[ebp]
  00522	89 85 44 ff ff
	ff		 mov	 DWORD PTR _tOldBirthday$47[ebp], eax
  00528	8b 8d 2c ff ff
	ff		 mov	 ecx, DWORD PTR _tBirthday$42[ebp+4]
  0052e	89 8d 48 ff ff
	ff		 mov	 DWORD PTR _tOldBirthday$47[ebp+4], ecx
  00534	8b 95 30 ff ff
	ff		 mov	 edx, DWORD PTR _tBirthday$42[ebp+8]
  0053a	89 95 4c ff ff
	ff		 mov	 DWORD PTR _tOldBirthday$47[ebp+8], edx

; 159  : 					//����ָ������
; 160  : 					CString strSelect2;

  00540	8d 8d e8 b9 ff
	ff		 lea	 ecx, DWORD PTR _strSelect2$32[ebp]
  00546	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> > >
  0054b	c6 45 fc 05	 mov	 BYTE PTR __$EHRec$[ebp+12], 5

; 161  : 					BOOL    b2;
; 162  : 					//Sleep(100); //������,��Ҫ��
; 163  : 					strSelect2.Format(_T("select * from OperCmd where OperCmdID=%d"),lOperCmdID);

  0054f	8b 85 34 ff ff
	ff		 mov	 eax, DWORD PTR _lOperCmdID$43[ebp]
  00555	50		 push	 eax
  00556	68 00 00 00 00	 push	 OFFSET ??_C@_1FC@CKBOBDNO@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AA?$CK?$AA?5?$AAf?$AAr?$AAo?$AAm?$AA?5?$AAO@
  0055b	8d 8d e8 b9 ff
	ff		 lea	 ecx, DWORD PTR _strSelect2$32[ebp]
  00561	51		 push	 ecx
  00562	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
  00567	83 c4 0c	 add	 esp, 12			; 0000000cH

; 164  : 					b2 = m_AdoRS2.Open( strSelect2 );

  0056a	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  0056d	05 a0 00 00 00	 add	 eax, 160		; 000000a0H
  00572	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv352[ebp], eax
  00578	6a 03		 push	 3
  0057a	6a 03		 push	 3
  0057c	6a 01		 push	 1
  0057e	8d 8d e8 b9 ff
	ff		 lea	 ecx, DWORD PTR _strSelect2$32[ebp]
  00584	e8 00 00 00 00	 call	 ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
  00589	50		 push	 eax
  0058a	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv352[ebp]
  00590	e8 00 00 00 00	 call	 ?Open@CAdoRecordSet@@QAEHPB_WJW4CursorTypeEnum@ADODB@@W4LockTypeEnum@3@@Z ; CAdoRecordSet::Open
  00595	89 85 e4 b9 ff
	ff		 mov	 DWORD PTR _b2$31[ebp], eax

; 165  : 					if ( b2 && m_AdoRS2.GetRecordCount() )

  0059b	83 bd e4 b9 ff
	ff 00		 cmp	 DWORD PTR _b2$31[ebp], 0
  005a2	0f 84 be 0b 00
	00		 je	 $LN12@On_SPDZ
  005a8	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  005ab	81 c1 a0 00 00
	00		 add	 ecx, 160		; 000000a0H
  005b1	e8 00 00 00 00	 call	 ?GetRecordCount@CAdoRecordSet@@QAEJXZ ; CAdoRecordSet::GetRecordCount
  005b6	85 c0		 test	 eax, eax
  005b8	0f 84 a8 0b 00
	00		 je	 $LN12@On_SPDZ

; 166  : 					{
; 167  : 						//���ж��Ƿ�ʱ�䷢��
; 168  : 						long lTemp;
; 169  : 						BOOL bWeek;
; 170  : 						TCHAR szWeek[32]={0};

  005be	6a 40		 push	 64			; 00000040H
  005c0	6a 00		 push	 0
  005c2	8d 85 9c b9 ff
	ff		 lea	 eax, DWORD PTR _szWeek$28[ebp]
  005c8	50		 push	 eax
  005c9	e8 00 00 00 00	 call	 _memset
  005ce	83 c4 0c	 add	 esp, 12			; 0000000cH

; 171  : 						COleDateTime t1;

  005d1	8d 8d 90 b9 ff
	ff		 lea	 ecx, DWORD PTR _t1$27[ebp]
  005d7	e8 00 00 00 00	 call	 ??0COleDateTime@ATL@@QAE@XZ ; ATL::COleDateTime::COleDateTime

; 172  : 						COleDateTime t2;

  005dc	8d 8d 84 b9 ff
	ff		 lea	 ecx, DWORD PTR _t2$26[ebp]
  005e2	e8 00 00 00 00	 call	 ??0COleDateTime@ATL@@QAE@XZ ; ATL::COleDateTime::COleDateTime

; 173  : 						COleDateTime t3;

  005e7	8d 8d 78 b9 ff
	ff		 lea	 ecx, DWORD PTR _t3$25[ebp]
  005ed	e8 00 00 00 00	 call	 ??0COleDateTime@ATL@@QAE@XZ ; ATL::COleDateTime::COleDateTime

; 174  : 						COleDateTime tNow = ::COleDateTime::GetCurrentTime();

  005f2	8d 85 6c b9 ff
	ff		 lea	 eax, DWORD PTR _tNow$24[ebp]
  005f8	50		 push	 eax
  005f9	e8 00 00 00 00	 call	 ?GetTickCount@COleDateTime@ATL@@SG?AV12@XZ ; ATL::COleDateTime::GetTickCount

; 175  : 						m_AdoRS2.MoveFirst();

  005fe	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00601	81 c1 a0 00 00
	00		 add	 ecx, 160		; 000000a0H
  00607	e8 00 00 00 00	 call	 ?MoveFirst@CAdoRecordSet@@QAEHXZ ; CAdoRecordSet::MoveFirst

; 176  : 						m_AdoRS2.GetCollect( _T("DZSendTime1") , t1 );

  0060c	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  0060f	05 a0 00 00 00	 add	 eax, 160		; 000000a0H
  00614	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv373[ebp], eax
  0061a	8d 8d 90 b9 ff
	ff		 lea	 ecx, DWORD PTR _t1$27[ebp]
  00620	51		 push	 ecx
  00621	68 00 00 00 00	 push	 OFFSET ??_C@_1BI@FLJFLJON@?$AAD?$AAZ?$AAS?$AAe?$AAn?$AAd?$AAT?$AAi?$AAm?$AAe?$AA1@
  00626	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv373[ebp]
  0062c	e8 00 00 00 00	 call	 ?GetCollect@CAdoRecordSet@@QAEHPB_WAAVCOleDateTime@ATL@@@Z ; CAdoRecordSet::GetCollect

; 177  : 						m_AdoRS2.GetCollect( _T("DZSendTime2") , t2 );

  00631	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  00634	05 a0 00 00 00	 add	 eax, 160		; 000000a0H
  00639	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv379[ebp], eax
  0063f	8d 8d 84 b9 ff
	ff		 lea	 ecx, DWORD PTR _t2$26[ebp]
  00645	51		 push	 ecx
  00646	68 00 00 00 00	 push	 OFFSET ??_C@_1BI@EJCABGAD@?$AAD?$AAZ?$AAS?$AAe?$AAn?$AAd?$AAT?$AAi?$AAm?$AAe?$AA2@
  0064b	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv379[ebp]
  00651	e8 00 00 00 00	 call	 ?GetCollect@CAdoRecordSet@@QAEHPB_WAAVCOleDateTime@ATL@@@Z ; CAdoRecordSet::GetCollect

; 178  : 						m_AdoRS2.GetCollect( _T("DZSendTime3") , t3 );

  00656	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  00659	05 a0 00 00 00	 add	 eax, 160		; 000000a0H
  0065e	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv385[ebp], eax
  00664	8d 8d 78 b9 ff
	ff		 lea	 ecx, DWORD PTR _t3$25[ebp]
  0066a	51		 push	 ecx
  0066b	68 00 00 00 00	 push	 OFFSET ??_C@_1BI@PBJMHBGG@?$AAD?$AAZ?$AAS?$AAe?$AAn?$AAd?$AAT?$AAi?$AAm?$AAe?$AA3@
  00670	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv385[ebp]
  00676	e8 00 00 00 00	 call	 ?GetCollect@CAdoRecordSet@@QAEHPB_WAAVCOleDateTime@ATL@@@Z ; CAdoRecordSet::GetCollect

; 179  : 						m_AdoRS2.GetCollect( _T("Price") , lOldPrice   );

  0067b	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  0067e	05 a0 00 00 00	 add	 eax, 160		; 000000a0H
  00683	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv391[ebp], eax
  00689	8d 8d 3c ff ff
	ff		 lea	 ecx, DWORD PTR _lOldPrice$45[ebp]
  0068f	51		 push	 ecx
  00690	68 00 00 00 00	 push	 OFFSET ??_C@_1M@HNBPHGM@?$AAP?$AAr?$AAi?$AAc?$AAe@
  00695	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv391[ebp]
  0069b	e8 00 00 00 00	 call	 ?GetCollect@CAdoRecordSet@@QAEHPB_WAAJ@Z ; CAdoRecordSet::GetCollect

; 180  : 						m_AdoRS2.GetCollect( _T("isWeek") , bWeek  );

  006a0	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  006a3	05 a0 00 00 00	 add	 eax, 160		; 000000a0H
  006a8	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv397[ebp], eax
  006ae	8d 8d dc b9 ff
	ff		 lea	 ecx, DWORD PTR _bWeek$29[ebp]
  006b4	51		 push	 ecx
  006b5	68 00 00 00 00	 push	 OFFSET ??_C@_1O@CIMGHIFA@?$AAi?$AAs?$AAW?$AAe?$AAe?$AAk@
  006ba	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv397[ebp]
  006c0	e8 00 00 00 00	 call	 ?GetCollect@CAdoRecordSet@@QAEHPB_WAAH@Z ; CAdoRecordSet::GetCollect

; 181  : 						m_AdoRS2.GetCollect( _T("WeekDay"), szWeek );

  006c5	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  006c8	05 a0 00 00 00	 add	 eax, 160		; 000000a0H
  006cd	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv403[ebp], eax
  006d3	8d 8d 9c b9 ff
	ff		 lea	 ecx, DWORD PTR _szWeek$28[ebp]
  006d9	51		 push	 ecx
  006da	68 00 00 00 00	 push	 OFFSET ??_C@_1BA@MPCEHOJO@?$AAW?$AAe?$AAe?$AAk?$AAD?$AAa?$AAy@
  006df	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv403[ebp]
  006e5	e8 00 00 00 00	 call	 ?GetCollect@CAdoRecordSet@@QAEHPB_WPA_W@Z ; CAdoRecordSet::GetCollect

; 182  : 						m_AdoRS2.Close();

  006ea	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  006ed	81 c1 a0 00 00
	00		 add	 ecx, 160		; 000000a0H
  006f3	e8 00 00 00 00	 call	 ?Close@CAdoRecordSet@@QAEXXZ ; CAdoRecordSet::Close

; 183  : 						
; 184  : 						t1.SetDateTime(tNow.GetYear() , tNow.GetMonth() , tNow.GetDay(),t1.GetHour(),t1.GetMinute(),t1.GetSecond());

  006f8	8d 8d 90 b9 ff
	ff		 lea	 ecx, DWORD PTR _t1$27[ebp]
  006fe	e8 00 00 00 00	 call	 ?GetSecond@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetSecond
  00703	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv436[ebp], eax
  00709	8d 8d 90 b9 ff
	ff		 lea	 ecx, DWORD PTR _t1$27[ebp]
  0070f	e8 00 00 00 00	 call	 ?GetMinute@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetMinute
  00714	89 85 00 16 ff
	ff		 mov	 DWORD PTR tv434[ebp], eax
  0071a	8d 8d 90 b9 ff
	ff		 lea	 ecx, DWORD PTR _t1$27[ebp]
  00720	e8 00 00 00 00	 call	 ?GetHour@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetHour
  00725	89 85 fc 15 ff
	ff		 mov	 DWORD PTR tv432[ebp], eax
  0072b	8d 8d 6c b9 ff
	ff		 lea	 ecx, DWORD PTR _tNow$24[ebp]
  00731	e8 00 00 00 00	 call	 ?GetDay@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetDay
  00736	89 85 f8 15 ff
	ff		 mov	 DWORD PTR tv430[ebp], eax
  0073c	8d 8d 6c b9 ff
	ff		 lea	 ecx, DWORD PTR _tNow$24[ebp]
  00742	e8 00 00 00 00	 call	 ?GetMonth@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetMonth
  00747	89 85 f4 15 ff
	ff		 mov	 DWORD PTR tv428[ebp], eax
  0074d	8d 8d 6c b9 ff
	ff		 lea	 ecx, DWORD PTR _tNow$24[ebp]
  00753	e8 00 00 00 00	 call	 ?GetYear@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetYear
  00758	89 85 f0 15 ff
	ff		 mov	 DWORD PTR tv426[ebp], eax
  0075e	8b 85 04 16 ff
	ff		 mov	 eax, DWORD PTR tv436[ebp]
  00764	50		 push	 eax
  00765	8b 8d 00 16 ff
	ff		 mov	 ecx, DWORD PTR tv434[ebp]
  0076b	51		 push	 ecx
  0076c	8b 95 fc 15 ff
	ff		 mov	 edx, DWORD PTR tv432[ebp]
  00772	52		 push	 edx
  00773	8b 85 f8 15 ff
	ff		 mov	 eax, DWORD PTR tv430[ebp]
  00779	50		 push	 eax
  0077a	8b 8d f4 15 ff
	ff		 mov	 ecx, DWORD PTR tv428[ebp]
  00780	51		 push	 ecx
  00781	8b 95 f0 15 ff
	ff		 mov	 edx, DWORD PTR tv426[ebp]
  00787	52		 push	 edx
  00788	8d 8d 90 b9 ff
	ff		 lea	 ecx, DWORD PTR _t1$27[ebp]
  0078e	e8 00 00 00 00	 call	 ?SetDateTime@COleDateTime@ATL@@QAEHHHHHHH@Z ; ATL::COleDateTime::SetDateTime

; 185  : 						t2.SetDateTime(tNow.GetYear() , tNow.GetMonth() , tNow.GetDay(),t2.GetHour(),t2.GetMinute(),t2.GetSecond());

  00793	8d 8d 84 b9 ff
	ff		 lea	 ecx, DWORD PTR _t2$26[ebp]
  00799	e8 00 00 00 00	 call	 ?GetSecond@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetSecond
  0079e	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv467[ebp], eax
  007a4	8d 8d 84 b9 ff
	ff		 lea	 ecx, DWORD PTR _t2$26[ebp]
  007aa	e8 00 00 00 00	 call	 ?GetMinute@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetMinute
  007af	89 85 00 16 ff
	ff		 mov	 DWORD PTR tv465[ebp], eax
  007b5	8d 8d 84 b9 ff
	ff		 lea	 ecx, DWORD PTR _t2$26[ebp]
  007bb	e8 00 00 00 00	 call	 ?GetHour@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetHour
  007c0	89 85 fc 15 ff
	ff		 mov	 DWORD PTR tv463[ebp], eax
  007c6	8d 8d 6c b9 ff
	ff		 lea	 ecx, DWORD PTR _tNow$24[ebp]
  007cc	e8 00 00 00 00	 call	 ?GetDay@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetDay
  007d1	89 85 f8 15 ff
	ff		 mov	 DWORD PTR tv461[ebp], eax
  007d7	8d 8d 6c b9 ff
	ff		 lea	 ecx, DWORD PTR _tNow$24[ebp]
  007dd	e8 00 00 00 00	 call	 ?GetMonth@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetMonth
  007e2	89 85 f4 15 ff
	ff		 mov	 DWORD PTR tv459[ebp], eax
  007e8	8d 8d 6c b9 ff
	ff		 lea	 ecx, DWORD PTR _tNow$24[ebp]
  007ee	e8 00 00 00 00	 call	 ?GetYear@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetYear
  007f3	89 85 f0 15 ff
	ff		 mov	 DWORD PTR tv457[ebp], eax
  007f9	8b 85 04 16 ff
	ff		 mov	 eax, DWORD PTR tv467[ebp]
  007ff	50		 push	 eax
  00800	8b 8d 00 16 ff
	ff		 mov	 ecx, DWORD PTR tv465[ebp]
  00806	51		 push	 ecx
  00807	8b 95 fc 15 ff
	ff		 mov	 edx, DWORD PTR tv463[ebp]
  0080d	52		 push	 edx
  0080e	8b 85 f8 15 ff
	ff		 mov	 eax, DWORD PTR tv461[ebp]
  00814	50		 push	 eax
  00815	8b 8d f4 15 ff
	ff		 mov	 ecx, DWORD PTR tv459[ebp]
  0081b	51		 push	 ecx
  0081c	8b 95 f0 15 ff
	ff		 mov	 edx, DWORD PTR tv457[ebp]
  00822	52		 push	 edx
  00823	8d 8d 84 b9 ff
	ff		 lea	 ecx, DWORD PTR _t2$26[ebp]
  00829	e8 00 00 00 00	 call	 ?SetDateTime@COleDateTime@ATL@@QAEHHHHHHH@Z ; ATL::COleDateTime::SetDateTime

; 186  : 						t3.SetDateTime(tNow.GetYear() , tNow.GetMonth() , tNow.GetDay(),t3.GetHour(),t3.GetMinute(),t3.GetSecond());

  0082e	8d 8d 78 b9 ff
	ff		 lea	 ecx, DWORD PTR _t3$25[ebp]
  00834	e8 00 00 00 00	 call	 ?GetSecond@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetSecond
  00839	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv498[ebp], eax
  0083f	8d 8d 78 b9 ff
	ff		 lea	 ecx, DWORD PTR _t3$25[ebp]
  00845	e8 00 00 00 00	 call	 ?GetMinute@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetMinute
  0084a	89 85 00 16 ff
	ff		 mov	 DWORD PTR tv496[ebp], eax
  00850	8d 8d 78 b9 ff
	ff		 lea	 ecx, DWORD PTR _t3$25[ebp]
  00856	e8 00 00 00 00	 call	 ?GetHour@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetHour
  0085b	89 85 fc 15 ff
	ff		 mov	 DWORD PTR tv494[ebp], eax
  00861	8d 8d 6c b9 ff
	ff		 lea	 ecx, DWORD PTR _tNow$24[ebp]
  00867	e8 00 00 00 00	 call	 ?GetDay@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetDay
  0086c	89 85 f8 15 ff
	ff		 mov	 DWORD PTR tv492[ebp], eax
  00872	8d 8d 6c b9 ff
	ff		 lea	 ecx, DWORD PTR _tNow$24[ebp]
  00878	e8 00 00 00 00	 call	 ?GetMonth@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetMonth
  0087d	89 85 f4 15 ff
	ff		 mov	 DWORD PTR tv490[ebp], eax
  00883	8d 8d 6c b9 ff
	ff		 lea	 ecx, DWORD PTR _tNow$24[ebp]
  00889	e8 00 00 00 00	 call	 ?GetYear@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetYear
  0088e	89 85 f0 15 ff
	ff		 mov	 DWORD PTR tv488[ebp], eax
  00894	8b 85 04 16 ff
	ff		 mov	 eax, DWORD PTR tv498[ebp]
  0089a	50		 push	 eax
  0089b	8b 8d 00 16 ff
	ff		 mov	 ecx, DWORD PTR tv496[ebp]
  008a1	51		 push	 ecx
  008a2	8b 95 fc 15 ff
	ff		 mov	 edx, DWORD PTR tv494[ebp]
  008a8	52		 push	 edx
  008a9	8b 85 f8 15 ff
	ff		 mov	 eax, DWORD PTR tv492[ebp]
  008af	50		 push	 eax
  008b0	8b 8d f4 15 ff
	ff		 mov	 ecx, DWORD PTR tv490[ebp]
  008b6	51		 push	 ecx
  008b7	8b 95 f0 15 ff
	ff		 mov	 edx, DWORD PTR tv488[ebp]
  008bd	52		 push	 edx
  008be	8d 8d 78 b9 ff
	ff		 lea	 ecx, DWORD PTR _t3$25[ebp]
  008c4	e8 00 00 00 00	 call	 ?SetDateTime@COleDateTime@ATL@@QAEHHHHHHH@Z ; ATL::COleDateTime::SetDateTime

; 187  : 						SYSTEMTIME ttn;tNow.GetAsSystemTime(ttn);

  008c9	8d 85 5c b9 ff
	ff		 lea	 eax, DWORD PTR _ttn$23[ebp]
  008cf	50		 push	 eax
  008d0	8d 8d 6c b9 ff
	ff		 lea	 ecx, DWORD PTR _tNow$24[ebp]
  008d6	e8 00 00 00 00	 call	 ?GetAsSystemTime@COleDateTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z ; ATL::COleDateTime::GetAsSystemTime

; 188  : 						SYSTEMTIME tts;tSend.GetAsSystemTime(tts);

  008db	8d 85 4c b9 ff
	ff		 lea	 eax, DWORD PTR _tts$22[ebp]
  008e1	50		 push	 eax
  008e2	8d 8d 9c fe ff
	ff		 lea	 ecx, DWORD PTR _tSend$39[ebp]
  008e8	e8 00 00 00 00	 call	 ?GetAsSystemTime@COleDateTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z ; ATL::COleDateTime::GetAsSystemTime

; 189  : 						SYSTEMTIME tt1;t1.GetAsSystemTime(tt1);

  008ed	8d 85 3c b9 ff
	ff		 lea	 eax, DWORD PTR _tt1$21[ebp]
  008f3	50		 push	 eax
  008f4	8d 8d 90 b9 ff
	ff		 lea	 ecx, DWORD PTR _t1$27[ebp]
  008fa	e8 00 00 00 00	 call	 ?GetAsSystemTime@COleDateTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z ; ATL::COleDateTime::GetAsSystemTime

; 190  : 						SYSTEMTIME tt2;t2.GetAsSystemTime(tt2);

  008ff	8d 85 2c b9 ff
	ff		 lea	 eax, DWORD PTR _tt2$20[ebp]
  00905	50		 push	 eax
  00906	8d 8d 84 b9 ff
	ff		 lea	 ecx, DWORD PTR _t2$26[ebp]
  0090c	e8 00 00 00 00	 call	 ?GetAsSystemTime@COleDateTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z ; ATL::COleDateTime::GetAsSystemTime

; 191  : 						SYSTEMTIME tt3;t3.GetAsSystemTime(tt3);

  00911	8d 85 1c b9 ff
	ff		 lea	 eax, DWORD PTR _tt3$19[ebp]
  00917	50		 push	 eax
  00918	8d 8d 78 b9 ff
	ff		 lea	 ecx, DWORD PTR _t3$25[ebp]
  0091e	e8 00 00 00 00	 call	 ?GetAsSystemTime@COleDateTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z ; ATL::COleDateTime::GetAsSystemTime

; 192  : 						
; 193  : 						BOOL bSend=false;

  00923	c7 85 18 b9 ff
	ff 00 00 00 00	 mov	 DWORD PTR _bSend$18[ebp], 0

; 194  : 						if ( !bSend && 
; 195  : 							tSend.GetStatus() != COleDateTime::valid && 
; 196  : 							t1.GetHour() > 2 &&

  0092d	83 bd 18 b9 ff
	ff 00		 cmp	 DWORD PTR _bSend$18[ebp], 0
  00934	75 66		 jne	 SHORT $LN13@On_SPDZ
  00936	8d 8d 9c fe ff
	ff		 lea	 ecx, DWORD PTR _tSend$39[ebp]
  0093c	e8 00 00 00 00	 call	 ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus
  00941	85 c0		 test	 eax, eax
  00943	74 57		 je	 SHORT $LN13@On_SPDZ
  00945	8d 8d 90 b9 ff
	ff		 lea	 ecx, DWORD PTR _t1$27[ebp]
  0094b	e8 00 00 00 00	 call	 ?GetHour@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetHour
  00950	83 f8 02	 cmp	 eax, 2
  00953	7e 47		 jle	 SHORT $LN13@On_SPDZ
  00955	8d 85 90 b9 ff
	ff		 lea	 eax, DWORD PTR _t1$27[ebp]
  0095b	50		 push	 eax
  0095c	8d 8d 6c b9 ff
	ff		 lea	 ecx, DWORD PTR _tNow$24[ebp]
  00962	e8 00 00 00 00	 call	 ??OCOleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator>
  00967	0f b6 c8	 movzx	 ecx, al
  0096a	85 c9		 test	 ecx, ecx
  0096c	74 2e		 je	 SHORT $LN13@On_SPDZ

; 197  : 							tNow>t1 )
; 198  : 						{
; 199  : 							bSend = true;

  0096e	c7 85 18 b9 ff
	ff 01 00 00 00	 mov	 DWORD PTR _bSend$18[ebp], 1

; 200  : 							tYSend = t1;

  00978	8b 85 90 b9 ff
	ff		 mov	 eax, DWORD PTR _t1$27[ebp]
  0097e	89 85 90 fe ff
	ff		 mov	 DWORD PTR _tYSend$38[ebp], eax
  00984	8b 8d 94 b9 ff
	ff		 mov	 ecx, DWORD PTR _t1$27[ebp+4]
  0098a	89 8d 94 fe ff
	ff		 mov	 DWORD PTR _tYSend$38[ebp+4], ecx
  00990	8b 95 98 b9 ff
	ff		 mov	 edx, DWORD PTR _t1$27[ebp+8]
  00996	89 95 98 fe ff
	ff		 mov	 DWORD PTR _tYSend$38[ebp+8], edx
$LN13@On_SPDZ:

; 201  : 						}
; 202  : 						if ( !bSend && 
; 203  : 							tSend.GetStatus() == COleDateTime::valid && 
; 204  : 							t1.GetHour() > 2 &&
; 205  : 							tSend < t1 &&

  0099c	83 bd 18 b9 ff
	ff 00		 cmp	 DWORD PTR _bSend$18[ebp], 0
  009a3	75 7f		 jne	 SHORT $LN14@On_SPDZ
  009a5	8d 8d 9c fe ff
	ff		 lea	 ecx, DWORD PTR _tSend$39[ebp]
  009ab	e8 00 00 00 00	 call	 ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus
  009b0	85 c0		 test	 eax, eax
  009b2	75 70		 jne	 SHORT $LN14@On_SPDZ
  009b4	8d 8d 90 b9 ff
	ff		 lea	 ecx, DWORD PTR _t1$27[ebp]
  009ba	e8 00 00 00 00	 call	 ?GetHour@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetHour
  009bf	83 f8 02	 cmp	 eax, 2
  009c2	7e 60		 jle	 SHORT $LN14@On_SPDZ
  009c4	8d 85 90 b9 ff
	ff		 lea	 eax, DWORD PTR _t1$27[ebp]
  009ca	50		 push	 eax
  009cb	8d 8d 9c fe ff
	ff		 lea	 ecx, DWORD PTR _tSend$39[ebp]
  009d1	e8 00 00 00 00	 call	 ??MCOleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator<
  009d6	0f b6 c8	 movzx	 ecx, al
  009d9	85 c9		 test	 ecx, ecx
  009db	74 47		 je	 SHORT $LN14@On_SPDZ
  009dd	8d 85 90 b9 ff
	ff		 lea	 eax, DWORD PTR _t1$27[ebp]
  009e3	50		 push	 eax
  009e4	8d 8d 6c b9 ff
	ff		 lea	 ecx, DWORD PTR _tNow$24[ebp]
  009ea	e8 00 00 00 00	 call	 ??OCOleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator>
  009ef	0f b6 c8	 movzx	 ecx, al
  009f2	85 c9		 test	 ecx, ecx
  009f4	74 2e		 je	 SHORT $LN14@On_SPDZ

; 206  : 							tNow>t1 )
; 207  : 						{
; 208  : 							bSend = true;

  009f6	c7 85 18 b9 ff
	ff 01 00 00 00	 mov	 DWORD PTR _bSend$18[ebp], 1

; 209  : 							tYSend = t1;

  00a00	8b 85 90 b9 ff
	ff		 mov	 eax, DWORD PTR _t1$27[ebp]
  00a06	89 85 90 fe ff
	ff		 mov	 DWORD PTR _tYSend$38[ebp], eax
  00a0c	8b 8d 94 b9 ff
	ff		 mov	 ecx, DWORD PTR _t1$27[ebp+4]
  00a12	89 8d 94 fe ff
	ff		 mov	 DWORD PTR _tYSend$38[ebp+4], ecx
  00a18	8b 95 98 b9 ff
	ff		 mov	 edx, DWORD PTR _t1$27[ebp+8]
  00a1e	89 95 98 fe ff
	ff		 mov	 DWORD PTR _tYSend$38[ebp+8], edx
$LN14@On_SPDZ:

; 210  : 						}
; 211  : 						/*
; 212  : 						if ( !bSend && 
; 213  : 						tSend.GetStatus() == COleDateTime::valid && 
; 214  : 						t1.GetHour() > 2 &&
; 215  : 						tSend > t1 &&
; 216  : 						tNow>t1 && tNow < t2 )
; 217  : 						{
; 218  : 						bSend = true;
; 219  : 						tYSend = t1;
; 220  : 						}
; 221  : 						*/
; 222  : 						if ( !bSend && 
; 223  : 							tSend.GetStatus() == COleDateTime::valid && 
; 224  : 							t2.GetHour() > 2 &&
; 225  : 							tSend < t2 &&

  00a24	83 bd 18 b9 ff
	ff 00		 cmp	 DWORD PTR _bSend$18[ebp], 0
  00a2b	75 7f		 jne	 SHORT $LN15@On_SPDZ
  00a2d	8d 8d 9c fe ff
	ff		 lea	 ecx, DWORD PTR _tSend$39[ebp]
  00a33	e8 00 00 00 00	 call	 ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus
  00a38	85 c0		 test	 eax, eax
  00a3a	75 70		 jne	 SHORT $LN15@On_SPDZ
  00a3c	8d 8d 84 b9 ff
	ff		 lea	 ecx, DWORD PTR _t2$26[ebp]
  00a42	e8 00 00 00 00	 call	 ?GetHour@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetHour
  00a47	83 f8 02	 cmp	 eax, 2
  00a4a	7e 60		 jle	 SHORT $LN15@On_SPDZ
  00a4c	8d 85 84 b9 ff
	ff		 lea	 eax, DWORD PTR _t2$26[ebp]
  00a52	50		 push	 eax
  00a53	8d 8d 9c fe ff
	ff		 lea	 ecx, DWORD PTR _tSend$39[ebp]
  00a59	e8 00 00 00 00	 call	 ??MCOleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator<
  00a5e	0f b6 c8	 movzx	 ecx, al
  00a61	85 c9		 test	 ecx, ecx
  00a63	74 47		 je	 SHORT $LN15@On_SPDZ
  00a65	8d 85 84 b9 ff
	ff		 lea	 eax, DWORD PTR _t2$26[ebp]
  00a6b	50		 push	 eax
  00a6c	8d 8d 6c b9 ff
	ff		 lea	 ecx, DWORD PTR _tNow$24[ebp]
  00a72	e8 00 00 00 00	 call	 ??OCOleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator>
  00a77	0f b6 c8	 movzx	 ecx, al
  00a7a	85 c9		 test	 ecx, ecx
  00a7c	74 2e		 je	 SHORT $LN15@On_SPDZ

; 226  : 							tNow>t2  )
; 227  : 						{
; 228  : 							bSend = true;

  00a7e	c7 85 18 b9 ff
	ff 01 00 00 00	 mov	 DWORD PTR _bSend$18[ebp], 1

; 229  : 							tYSend = t2;

  00a88	8b 85 84 b9 ff
	ff		 mov	 eax, DWORD PTR _t2$26[ebp]
  00a8e	89 85 90 fe ff
	ff		 mov	 DWORD PTR _tYSend$38[ebp], eax
  00a94	8b 8d 88 b9 ff
	ff		 mov	 ecx, DWORD PTR _t2$26[ebp+4]
  00a9a	89 8d 94 fe ff
	ff		 mov	 DWORD PTR _tYSend$38[ebp+4], ecx
  00aa0	8b 95 8c b9 ff
	ff		 mov	 edx, DWORD PTR _t2$26[ebp+8]
  00aa6	89 95 98 fe ff
	ff		 mov	 DWORD PTR _tYSend$38[ebp+8], edx
$LN15@On_SPDZ:

; 230  : 						}
; 231  : 						if ( !bSend && 
; 232  : 							tSend.GetStatus() == COleDateTime::valid && 
; 233  : 							t3.GetHour() > 2 &&
; 234  : 							tSend < t3 &&

  00aac	83 bd 18 b9 ff
	ff 00		 cmp	 DWORD PTR _bSend$18[ebp], 0
  00ab3	75 7f		 jne	 SHORT $LN16@On_SPDZ
  00ab5	8d 8d 9c fe ff
	ff		 lea	 ecx, DWORD PTR _tSend$39[ebp]
  00abb	e8 00 00 00 00	 call	 ?GetStatus@COleDateTime@ATL@@QBE?AW4DateTimeStatus@12@XZ ; ATL::COleDateTime::GetStatus
  00ac0	85 c0		 test	 eax, eax
  00ac2	75 70		 jne	 SHORT $LN16@On_SPDZ
  00ac4	8d 8d 78 b9 ff
	ff		 lea	 ecx, DWORD PTR _t3$25[ebp]
  00aca	e8 00 00 00 00	 call	 ?GetHour@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetHour
  00acf	83 f8 02	 cmp	 eax, 2
  00ad2	7e 60		 jle	 SHORT $LN16@On_SPDZ
  00ad4	8d 85 78 b9 ff
	ff		 lea	 eax, DWORD PTR _t3$25[ebp]
  00ada	50		 push	 eax
  00adb	8d 8d 9c fe ff
	ff		 lea	 ecx, DWORD PTR _tSend$39[ebp]
  00ae1	e8 00 00 00 00	 call	 ??MCOleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator<
  00ae6	0f b6 c8	 movzx	 ecx, al
  00ae9	85 c9		 test	 ecx, ecx
  00aeb	74 47		 je	 SHORT $LN16@On_SPDZ
  00aed	8d 85 78 b9 ff
	ff		 lea	 eax, DWORD PTR _t3$25[ebp]
  00af3	50		 push	 eax
  00af4	8d 8d 6c b9 ff
	ff		 lea	 ecx, DWORD PTR _tNow$24[ebp]
  00afa	e8 00 00 00 00	 call	 ??OCOleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator>
  00aff	0f b6 c8	 movzx	 ecx, al
  00b02	85 c9		 test	 ecx, ecx
  00b04	74 2e		 je	 SHORT $LN16@On_SPDZ

; 235  : 							tNow>t3 )
; 236  : 						{
; 237  : 							bSend = true;

  00b06	c7 85 18 b9 ff
	ff 01 00 00 00	 mov	 DWORD PTR _bSend$18[ebp], 1

; 238  : 							tYSend = t3;

  00b10	8b 85 78 b9 ff
	ff		 mov	 eax, DWORD PTR _t3$25[ebp]
  00b16	89 85 90 fe ff
	ff		 mov	 DWORD PTR _tYSend$38[ebp], eax
  00b1c	8b 8d 7c b9 ff
	ff		 mov	 ecx, DWORD PTR _t3$25[ebp+4]
  00b22	89 8d 94 fe ff
	ff		 mov	 DWORD PTR _tYSend$38[ebp+4], ecx
  00b28	8b 95 80 b9 ff
	ff		 mov	 edx, DWORD PTR _t3$25[ebp+8]
  00b2e	89 95 98 fe ff
	ff		 mov	 DWORD PTR _tYSend$38[ebp+8], edx
$LN16@On_SPDZ:

; 239  : 						}
; 240  : 						
; 241  : 						if ( bSend && bWeek )

  00b34	83 bd 18 b9 ff
	ff 00		 cmp	 DWORD PTR _bSend$18[ebp], 0
  00b3b	74 46		 je	 SHORT $LN17@On_SPDZ
  00b3d	83 bd dc b9 ff
	ff 00		 cmp	 DWORD PTR _bWeek$29[ebp], 0
  00b44	74 3d		 je	 SHORT $LN17@On_SPDZ

; 242  : 						{
; 243  : 							//��������˰����ڷ��ͣ���Ƚ�
; 244  : 							lTemp = tNow.GetDayOfWeek();

  00b46	8d 8d 6c b9 ff
	ff		 lea	 ecx, DWORD PTR _tNow$24[ebp]
  00b4c	e8 00 00 00 00	 call	 ?GetDayOfWeek@COleDateTime@ATL@@QBEHXZ ; ATL::COleDateTime::GetDayOfWeek
  00b51	89 85 e0 b9 ff
	ff		 mov	 DWORD PTR _lTemp$30[ebp], eax

; 245  : 							lTemp--;

  00b57	8b 85 e0 b9 ff
	ff		 mov	 eax, DWORD PTR _lTemp$30[ebp]
  00b5d	83 e8 01	 sub	 eax, 1
  00b60	89 85 e0 b9 ff
	ff		 mov	 DWORD PTR _lTemp$30[ebp], eax

; 246  : 							if ( szWeek[lTemp] != '1' )    //�����ڲ��÷���

  00b66	8b 85 e0 b9 ff
	ff		 mov	 eax, DWORD PTR _lTemp$30[ebp]
  00b6c	0f b7 8c 45 9c
	b9 ff ff	 movzx	 ecx, WORD PTR _szWeek$28[ebp+eax*2]
  00b74	83 f9 31	 cmp	 ecx, 49			; 00000031H
  00b77	74 0a		 je	 SHORT $LN17@On_SPDZ

; 247  : 								bSend = false;

  00b79	c7 85 18 b9 ff
	ff 00 00 00 00	 mov	 DWORD PTR _bSend$18[ebp], 0
$LN17@On_SPDZ:

; 248  : 						}
; 249  : 						
; 250  : 						if ( bSend ) //��Ҫ���ͣ�ȡ��Ϣ

  00b83	83 bd 18 b9 ff
	ff 00		 cmp	 DWORD PTR _bSend$18[ebp], 0
  00b8a	0f 84 d6 05 00
	00		 je	 $LN12@On_SPDZ

; 251  : 						{
; 252  : 							CString strSelect3;

  00b90	8d 8d 14 b9 ff
	ff		 lea	 ecx, DWORD PTR _strSelect3$17[ebp]
  00b96	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> > >
  00b9b	c6 45 fc 06	 mov	 BYTE PTR __$EHRec$[ebp+12], 6

; 253  : 							BOOL b3;
; 254  : 							if ( !_tcscmp(szOperCmd,_T("XD") )) //�ִ������Ķ���

  00b9f	68 00 00 00 00	 push	 OFFSET ??_C@_15LKJGBLKM@?$AAX?$AAD@
  00ba4	8d 85 e8 fe ff
	ff		 lea	 eax, DWORD PTR _szOperCmd$41[ebp]
  00baa	50		 push	 eax
  00bab	e8 00 00 00 00	 call	 _wcscmp
  00bb0	83 c4 08	 add	 esp, 8
  00bb3	85 c0		 test	 eax, eax
  00bb5	0f 85 97 02 00
	00		 jne	 $LN20@On_SPDZ

; 255  : 							{
; 256  : 								//����������
; 257  : 								int iMon=0;

  00bbb	c7 85 0c b9 ff
	ff 00 00 00 00	 mov	 DWORD PTR _iMon$15[ebp], 0

; 258  : 								int iDay=0;

  00bc5	c7 85 08 b9 ff
	ff 00 00 00 00	 mov	 DWORD PTR _iDay$14[ebp], 0

; 259  : 								if ( GetBBMonDay(tBirthday,iMon,iDay) && iDay>0 )

  00bcf	8d 85 08 b9 ff
	ff		 lea	 eax, DWORD PTR _iDay$14[ebp]
  00bd5	50		 push	 eax
  00bd6	8d 8d 0c b9 ff
	ff		 lea	 ecx, DWORD PTR _iMon$15[ebp]
  00bdc	51		 push	 ecx
  00bdd	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00be0	8b d4		 mov	 edx, esp
  00be2	8b 85 28 ff ff
	ff		 mov	 eax, DWORD PTR _tBirthday$42[ebp]
  00be8	89 02		 mov	 DWORD PTR [edx], eax
  00bea	8b 8d 2c ff ff
	ff		 mov	 ecx, DWORD PTR _tBirthday$42[ebp+4]
  00bf0	89 4a 04	 mov	 DWORD PTR [edx+4], ecx
  00bf3	8b 85 30 ff ff
	ff		 mov	 eax, DWORD PTR _tBirthday$42[ebp+8]
  00bf9	89 42 08	 mov	 DWORD PTR [edx+8], eax
  00bfc	e8 00 00 00 00	 call	 ?GetBBMonDay@CSPThread@@SAHVCOleDateTime@ATL@@AAH1@Z ; CSPThread::GetBBMonDay
  00c01	83 c4 14	 add	 esp, 20			; 00000014H
  00c04	85 c0		 test	 eax, eax
  00c06	0f 84 41 02 00
	00		 je	 $LN22@On_SPDZ
  00c0c	83 bd 08 b9 ff
	ff 00		 cmp	 DWORD PTR _iDay$14[ebp], 0
  00c13	0f 8e 34 02 00
	00		 jle	 $LN22@On_SPDZ

; 260  : 								{
; 261  : 									strSelect3.Format( _T("select * from DataMsg where OperCmd='%s' and convert(int,key1)=%d order by yelevel") , szOperCmd,iMon);

  00c19	8b 85 0c b9 ff
	ff		 mov	 eax, DWORD PTR _iMon$15[ebp]
  00c1f	50		 push	 eax
  00c20	8d 8d e8 fe ff
	ff		 lea	 ecx, DWORD PTR _szOperCmd$41[ebp]
  00c26	51		 push	 ecx
  00c27	68 00 00 00 00	 push	 OFFSET ??_C@_1KG@EFKDDHOK@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AA?$CK?$AA?5?$AAf?$AAr?$AAo?$AAm?$AA?5?$AAD@
  00c2c	8d 95 14 b9 ff
	ff		 lea	 edx, DWORD PTR _strSelect3$17[ebp]
  00c32	52		 push	 edx
  00c33	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
  00c38	83 c4 10	 add	 esp, 16			; 00000010H

; 262  : 									b3 = m_AdoRS2.Open(strSelect3 );

  00c3b	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  00c3e	05 a0 00 00 00	 add	 eax, 160		; 000000a0H
  00c43	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv612[ebp], eax
  00c49	6a 03		 push	 3
  00c4b	6a 03		 push	 3
  00c4d	6a 01		 push	 1
  00c4f	8d 8d 14 b9 ff
	ff		 lea	 ecx, DWORD PTR _strSelect3$17[ebp]
  00c55	e8 00 00 00 00	 call	 ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
  00c5a	50		 push	 eax
  00c5b	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv612[ebp]
  00c61	e8 00 00 00 00	 call	 ?Open@CAdoRecordSet@@QAEHPB_WJW4CursorTypeEnum@ADODB@@W4LockTypeEnum@3@@Z ; CAdoRecordSet::Open
  00c66	89 85 10 b9 ff
	ff		 mov	 DWORD PTR _b3$16[ebp], eax

; 263  : 									if ( b3 && !m_AdoRS2.IsEOF() )

  00c6c	83 bd 10 b9 ff
	ff 00		 cmp	 DWORD PTR _b3$16[ebp], 0
  00c73	0f 84 d4 01 00
	00		 je	 $LN22@On_SPDZ
  00c79	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00c7c	81 c1 a0 00 00
	00		 add	 ecx, 160		; 000000a0H
  00c82	e8 00 00 00 00	 call	 ?IsEOF@CAdoRecordSet@@QAEHXZ ; CAdoRecordSet::IsEOF
  00c87	85 c0		 test	 eax, eax
  00c89	0f 85 be 01 00
	00		 jne	 $LN22@On_SPDZ

; 264  : 									{
; 265  : 										long lAdoCount = m_AdoRS2.GetRecordCount();

  00c8f	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00c92	81 c1 a0 00 00
	00		 add	 ecx, 160		; 000000a0H
  00c98	e8 00 00 00 00	 call	 ?GetRecordCount@CAdoRecordSet@@QAEJXZ ; CAdoRecordSet::GetRecordCount
  00c9d	89 85 04 b9 ff
	ff		 mov	 DWORD PTR _lAdoCount$13[ebp], eax

; 266  : 										if ( iDay<=lAdoCount )

  00ca3	8b 85 08 b9 ff
	ff		 mov	 eax, DWORD PTR _iDay$14[ebp]
  00ca9	3b 85 04 b9 ff
	ff		 cmp	 eax, DWORD PTR _lAdoCount$13[ebp]
  00caf	0f 8f 98 01 00
	00		 jg	 $LN22@On_SPDZ

; 267  : 										{
; 268  : 											m_AdoRS2.Move(iDay-1);

  00cb5	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  00cb8	05 a0 00 00 00	 add	 eax, 160		; 000000a0H
  00cbd	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv644[ebp], eax
  00cc3	8b 8d 08 b9 ff
	ff		 mov	 ecx, DWORD PTR _iDay$14[ebp]
  00cc9	83 e9 01	 sub	 ecx, 1
  00ccc	89 8d 00 16 ff
	ff		 mov	 DWORD PTR tv642[ebp], ecx
  00cd2	83 ec 10	 sub	 esp, 16			; 00000010H
  00cd5	8b cc		 mov	 ecx, esp
  00cd7	89 a5 10 16 ff
	ff		 mov	 DWORD PTR $T4[ebp], esp
  00cdd	6a 03		 push	 3
  00cdf	6a 01		 push	 1
  00ce1	e8 00 00 00 00	 call	 ??0_variant_t@@QAE@JG@Z	; _variant_t::_variant_t
  00ce6	89 85 fc 15 ff
	ff		 mov	 DWORD PTR tv582[ebp], eax
  00cec	c6 45 fc 07	 mov	 BYTE PTR __$EHRec$[ebp+12], 7
  00cf0	8b 95 00 16 ff
	ff		 mov	 edx, DWORD PTR tv642[ebp]
  00cf6	52		 push	 edx
  00cf7	c6 45 fc 06	 mov	 BYTE PTR __$EHRec$[ebp+12], 6
  00cfb	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv644[ebp]
  00d01	e8 00 00 00 00	 call	 ?Move@CAdoRecordSet@@QAEHJV_variant_t@@@Z ; CAdoRecordSet::Move

; 269  : 											m_AdoRS2.GetCollect( _T("Msg") , strOldMsg );

  00d06	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  00d09	05 a0 00 00 00	 add	 eax, 160		; 000000a0H
  00d0e	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv651[ebp], eax
  00d14	8d 8d 38 ff ff
	ff		 lea	 ecx, DWORD PTR _strOldMsg$44[ebp]
  00d1a	51		 push	 ecx
  00d1b	68 00 00 00 00	 push	 OFFSET ??_C@_17DACEHHP@?$AAM?$AAs?$AAg@
  00d20	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv651[ebp]
  00d26	e8 00 00 00 00	 call	 ?GetCollect@CAdoRecordSet@@QAEHPB_WAAV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@Z ; CAdoRecordSet::GetCollect

; 270  : 											m_AdoRS2.Close();

  00d2b	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00d2e	81 c1 a0 00 00
	00		 add	 ecx, 160		; 000000a0H
  00d34	e8 00 00 00 00	 call	 ?Close@CAdoRecordSet@@QAEXXZ ; CAdoRecordSet::Close

; 271  : 											//����Ϣ�����ʱ��
; 272  : 											strSelect3.Format( _T("update dz set SendLast=GetDATE() where DZID=%d") ,lDZID );

  00d39	8b 85 8c fe ff
	ff		 mov	 eax, DWORD PTR _lDZID$37[ebp]
  00d3f	50		 push	 eax
  00d40	68 00 00 00 00	 push	 OFFSET ??_C@_1FO@EEKDKMAK@?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?5?$AAd?$AAz?$AA?5?$AAs?$AAe?$AAt?$AA?5?$AAS@
  00d45	8d 8d 14 b9 ff
	ff		 lea	 ecx, DWORD PTR _strSelect3$17[ebp]
  00d4b	51		 push	 ecx
  00d4c	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
  00d51	83 c4 0c	 add	 esp, 12			; 0000000cH

; 273  : 											m_AdoRS2.Open(strSelect3);

  00d54	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  00d57	05 a0 00 00 00	 add	 eax, 160		; 000000a0H
  00d5c	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv670[ebp], eax
  00d62	6a 03		 push	 3
  00d64	6a 03		 push	 3
  00d66	6a 01		 push	 1
  00d68	8d 8d 14 b9 ff
	ff		 lea	 ecx, DWORD PTR _strSelect3$17[ebp]
  00d6e	e8 00 00 00 00	 call	 ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
  00d73	50		 push	 eax
  00d74	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv670[ebp]
  00d7a	e8 00 00 00 00	 call	 ?Open@CAdoRecordSet@@QAEHPB_WJW4CursorTypeEnum@ADODB@@W4LockTypeEnum@3@@Z ; CAdoRecordSet::Open

; 274  : 											m_AdoRS2.Close();

  00d7f	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00d82	81 c1 a0 00 00
	00		 add	 ecx, 160		; 000000a0H
  00d88	e8 00 00 00 00	 call	 ?Close@CAdoRecordSet@@QAEXXZ ; CAdoRecordSet::Close

; 275  : 											bOldMsg = true;

  00d8d	c7 85 40 ff ff
	ff 01 00 00 00	 mov	 DWORD PTR _bOldMsg$46[ebp], 1

; 276  : 											
; 277  : 											//�ύ����
; 278  : 											long lMobType = MOBILE_TYPE_CMCC;

  00d97	c7 85 00 b9 ff
	ff 00 00 00 00	 mov	 DWORD PTR _lMobType$12[ebp], 0

; 279  : 											//if ( isNumUnicom((char*)(LPCTSTR)strMobile) )
; 280  : 											//	lMobType = MOBILE_TYPE_UNICOM;
; 281  : 											
; 282  : 											SubmitData data={0};

  00da1	68 94 44 00 00	 push	 17556			; 00004494H
  00da6	6a 00		 push	 0
  00da8	8d 85 6c 74 ff
	ff		 lea	 eax, DWORD PTR _data$11[ebp]
  00dae	50		 push	 eax
  00daf	e8 00 00 00 00	 call	 _memset
  00db4	83 c4 0c	 add	 esp, 12			; 0000000cH

; 283  : 											data.lCorpID = lCorpID;

  00db7	8b 45 d8	 mov	 eax, DWORD PTR _lCorpID$52[ebp]
  00dba	89 85 7c 74 ff
	ff		 mov	 DWORD PTR _data$11[ebp+16], eax

; 284  : 											data.lUserID = lUserID;

  00dc0	8b 45 d4	 mov	 eax, DWORD PTR _lUserID$51[ebp]
  00dc3	89 85 80 74 ff
	ff		 mov	 DWORD PTR _data$11[ebp+20], eax

; 285  : 											_tcscpy( data.szName    , _T("SP") );

  00dc9	68 00 00 00 00	 push	 OFFSET ??_C@_15PCKCLKH@?$AAS?$AAP@
  00dce	8d 85 c4 74 ff
	ff		 lea	 eax, DWORD PTR _data$11[ebp+88]
  00dd4	50		 push	 eax
  00dd5	e8 00 00 00 00	 call	 _wcscpy
  00dda	83 c4 08	 add	 esp, 8

; 286  : 											_tcscpy( data.szMobile  , strMobile );

  00ddd	8d 4d d0	 lea	 ecx, DWORD PTR _strMobile$50[ebp]
  00de0	e8 00 00 00 00	 call	 ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
  00de5	50		 push	 eax
  00de6	8d 85 04 75 ff
	ff		 lea	 eax, DWORD PTR _data$11[ebp+152]
  00dec	50		 push	 eax
  00ded	e8 00 00 00 00	 call	 _wcscpy
  00df2	83 c4 08	 add	 esp, 8

; 287  : 											_tcscpy( data.szMsg   , strOldMsg );

  00df5	8d 8d 38 ff ff
	ff		 lea	 ecx, DWORD PTR _strOldMsg$44[ebp]
  00dfb	e8 00 00 00 00	 call	 ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
  00e00	50		 push	 eax
  00e01	8d 85 44 75 ff
	ff		 lea	 eax, DWORD PTR _data$11[ebp+216]
  00e07	50		 push	 eax
  00e08	e8 00 00 00 00	 call	 _wcscpy
  00e0d	83 c4 08	 add	 esp, 8

; 288  : 											CSendThread::SubmitSms( data,&m_AdoRS2,&m_AdoRS3,m_pSMSDlg,lMobType,SMSTYPE_SP,lOldPrice);  //���Ͷ���

  00e10	8b 85 3c ff ff
	ff		 mov	 eax, DWORD PTR _lOldPrice$45[ebp]
  00e16	50		 push	 eax
  00e17	6a 05		 push	 5
  00e19	8b 8d 00 b9 ff
	ff		 mov	 ecx, DWORD PTR _lMobType$12[ebp]
  00e1f	51		 push	 ecx
  00e20	8b 55 e8	 mov	 edx, DWORD PTR _this$[ebp]
  00e23	8b 82 10 01 00
	00		 mov	 eax, DWORD PTR [edx+272]
  00e29	50		 push	 eax
  00e2a	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00e2d	81 c1 d8 00 00
	00		 add	 ecx, 216		; 000000d8H
  00e33	51		 push	 ecx
  00e34	8b 55 e8	 mov	 edx, DWORD PTR _this$[ebp]
  00e37	81 c2 a0 00 00
	00		 add	 edx, 160		; 000000a0H
  00e3d	52		 push	 edx
  00e3e	8d 85 6c 74 ff
	ff		 lea	 eax, DWORD PTR _data$11[ebp]
  00e44	50		 push	 eax
  00e45	e8 00 00 00 00	 call	 ?SubmitSms@CSendThread@@SAJAAU_SubmitData@@PAVCAdoRecordSet@@1PAVCSmsCenterDlg@@JJJ@Z ; CSendThread::SubmitSms
  00e4a	83 c4 1c	 add	 esp, 28			; 0000001cH
$LN22@On_SPDZ:

; 289  : 										}
; 290  : 										else
; 291  : 										{
; 292  : 											//strSelect.Format( _T("Error:%s:%s->%s,û�й����ƻظ�����Ϣ����!"),smsSend.ServiceType,smsSend.szRecvNum,smsSend.szSendNum);
; 293  : 											//g_dlg->AddLog((char*)(LPCSTR)strSelect);
; 294  : 										}
; 295  : 									}
; 296  : 								}
; 297  : 							}

  00e4d	e9 05 03 00 00	 jmp	 $LN21@On_SPDZ
$LN20@On_SPDZ:

; 298  : 							else
; 299  : 							{
; 300  : 								//��ͨ����
; 301  : 								if ( _tcslen(szAddCmd) > 0 )

  00e52	8d 85 a8 fe ff
	ff		 lea	 eax, DWORD PTR _szAddCmd$40[ebp]
  00e58	50		 push	 eax
  00e59	e8 00 00 00 00	 call	 _wcslen
  00e5e	83 c4 04	 add	 esp, 4
  00e61	85 c0		 test	 eax, eax
  00e63	76 24		 jbe	 SHORT $LN26@On_SPDZ

; 302  : 									strSelect3.Format( _T("select top 1 * from DataMsg where OperCmd='%s' and Key1='%s' and status=0 order by MsgTime desc") , szOperCmd,szAddCmd ); 

  00e65	8d 85 a8 fe ff
	ff		 lea	 eax, DWORD PTR _szAddCmd$40[ebp]
  00e6b	50		 push	 eax
  00e6c	8d 8d e8 fe ff
	ff		 lea	 ecx, DWORD PTR _szOperCmd$41[ebp]
  00e72	51		 push	 ecx
  00e73	68 00 00 00 00	 push	 OFFSET ??_C@_1MA@BHMFJEAA@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AAt?$AAo?$AAp?$AA?5?$AA1?$AA?5?$AA?$CK?$AA?5@
  00e78	8d 95 14 b9 ff
	ff		 lea	 edx, DWORD PTR _strSelect3$17[ebp]
  00e7e	52		 push	 edx
  00e7f	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
  00e84	83 c4 10	 add	 esp, 16			; 00000010H
  00e87	eb 1b		 jmp	 SHORT $LN27@On_SPDZ
$LN26@On_SPDZ:

; 303  : 								else
; 304  : 									strSelect3.Format( _T("select top 1 * from DataMsg where OperCmd='%s' and status=0 order by MsgTime desc") , szOperCmd ); 

  00e89	8d 85 e8 fe ff
	ff		 lea	 eax, DWORD PTR _szOperCmd$41[ebp]
  00e8f	50		 push	 eax
  00e90	68 00 00 00 00	 push	 OFFSET ??_C@_1KE@BJIAFIDP@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AAt?$AAo?$AAp?$AA?5?$AA1?$AA?5?$AA?$CK?$AA?5@
  00e95	8d 8d 14 b9 ff
	ff		 lea	 ecx, DWORD PTR _strSelect3$17[ebp]
  00e9b	51		 push	 ecx
  00e9c	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
  00ea1	83 c4 0c	 add	 esp, 12			; 0000000cH
$LN27@On_SPDZ:

; 305  : 								if ( !_tcscmp(szOperCmd,_T("HL")) ) //��Ҫ��ѯ������Ϣ�����⴦��

  00ea4	68 00 00 00 00	 push	 OFFSET ??_C@_15HMPEDBNI@?$AAH?$AAL@
  00ea9	8d 85 e8 fe ff
	ff		 lea	 eax, DWORD PTR _szOperCmd$41[ebp]
  00eaf	50		 push	 eax
  00eb0	e8 00 00 00 00	 call	 _wcscmp
  00eb5	83 c4 08	 add	 esp, 8
  00eb8	85 c0		 test	 eax, eax
  00eba	75 79		 jne	 SHORT $LN28@On_SPDZ

; 306  : 								{
; 307  : 									SYSTEMTIME t ;
; 308  : 									::GetLocalTime(&t);

  00ebc	8d 85 5c 74 ff
	ff		 lea	 eax, DWORD PTR _t$10[ebp]
  00ec2	50		 push	 eax
  00ec3	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__GetLocalTime@4

; 309  : 									CString strTime;

  00ec9	8d 8d 58 74 ff
	ff		 lea	 ecx, DWORD PTR _strTime$9[ebp]
  00ecf	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> > >
  00ed4	c6 45 fc 08	 mov	 BYTE PTR __$EHRec$[ebp+12], 8

; 310  : 									strTime.Format( _T("%04d.%02d.%02d") , t.wYear,t.wMonth,t.wDay );

  00ed8	0f b7 85 62 74
	ff ff		 movzx	 eax, WORD PTR _t$10[ebp+6]
  00edf	50		 push	 eax
  00ee0	0f b7 8d 5e 74
	ff ff		 movzx	 ecx, WORD PTR _t$10[ebp+2]
  00ee7	51		 push	 ecx
  00ee8	0f b7 95 5c 74
	ff ff		 movzx	 edx, WORD PTR _t$10[ebp]
  00eef	52		 push	 edx
  00ef0	68 00 00 00 00	 push	 OFFSET ??_C@_1BO@ICAHPMKB@?$AA?$CF?$AA0?$AA4?$AAd?$AA?4?$AA?$CF?$AA0?$AA2?$AAd?$AA?4?$AA?$CF?$AA0?$AA2?$AAd@
  00ef5	8d 85 58 74 ff
	ff		 lea	 eax, DWORD PTR _strTime$9[ebp]
  00efb	50		 push	 eax
  00efc	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
  00f01	83 c4 14	 add	 esp, 20			; 00000014H

; 311  : 									strSelect3.Format( _T("select top 1 * from DataMsg where OperCmd='%s' and Key1='%s' order by MsgTime desc") , szOperCmd,strTime ); 

  00f04	8b 85 58 74 ff
	ff		 mov	 eax, DWORD PTR _strTime$9[ebp]
  00f0a	50		 push	 eax
  00f0b	8d 8d e8 fe ff
	ff		 lea	 ecx, DWORD PTR _szOperCmd$41[ebp]
  00f11	51		 push	 ecx
  00f12	68 00 00 00 00	 push	 OFFSET ??_C@_1KG@NHFKCCLP@?$AAs?$AAe?$AAl?$AAe?$AAc?$AAt?$AA?5?$AAt?$AAo?$AAp?$AA?5?$AA1?$AA?5?$AA?$CK?$AA?5@
  00f17	8d 95 14 b9 ff
	ff		 lea	 edx, DWORD PTR _strSelect3$17[ebp]
  00f1d	52		 push	 edx
  00f1e	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
  00f23	83 c4 10	 add	 esp, 16			; 00000010H

; 312  : 								}

  00f26	c6 45 fc 06	 mov	 BYTE PTR __$EHRec$[ebp+12], 6
  00f2a	8d 8d 58 74 ff
	ff		 lea	 ecx, DWORD PTR _strTime$9[ebp]
  00f30	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> > >
$LN28@On_SPDZ:

; 313  : 								b3 = m_AdoRS2.Open(strSelect3 );

  00f35	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  00f38	05 a0 00 00 00	 add	 eax, 160		; 000000a0H
  00f3d	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv779[ebp], eax
  00f43	6a 03		 push	 3
  00f45	6a 03		 push	 3
  00f47	6a 01		 push	 1
  00f49	8d 8d 14 b9 ff
	ff		 lea	 ecx, DWORD PTR _strSelect3$17[ebp]
  00f4f	e8 00 00 00 00	 call	 ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
  00f54	50		 push	 eax
  00f55	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv779[ebp]
  00f5b	e8 00 00 00 00	 call	 ?Open@CAdoRecordSet@@QAEHPB_WJW4CursorTypeEnum@ADODB@@W4LockTypeEnum@3@@Z ; CAdoRecordSet::Open
  00f60	89 85 10 b9 ff
	ff		 mov	 DWORD PTR _b3$16[ebp], eax

; 314  : 								if ( b3 && m_AdoRS2.GetRecordCount()>0 )

  00f66	83 bd 10 b9 ff
	ff 00		 cmp	 DWORD PTR _b3$16[ebp], 0
  00f6d	0f 84 e4 01 00
	00		 je	 $LN21@On_SPDZ
  00f73	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00f76	81 c1 a0 00 00
	00		 add	 ecx, 160		; 000000a0H
  00f7c	e8 00 00 00 00	 call	 ?GetRecordCount@CAdoRecordSet@@QAEJXZ ; CAdoRecordSet::GetRecordCount
  00f81	85 c0		 test	 eax, eax
  00f83	0f 8e ce 01 00
	00		 jle	 $LN21@On_SPDZ

; 315  : 								{
; 316  : 									m_AdoRS2.MoveFirst();

  00f89	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00f8c	81 c1 a0 00 00
	00		 add	 ecx, 160		; 000000a0H
  00f92	e8 00 00 00 00	 call	 ?MoveFirst@CAdoRecordSet@@QAEHXZ ; CAdoRecordSet::MoveFirst

; 317  : 									long lMsgID;
; 318  : 									m_AdoRS2.GetCollect( _T("DataMsgID") , lMsgID );

  00f97	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  00f9a	05 a0 00 00 00	 add	 eax, 160		; 000000a0H
  00f9f	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv793[ebp], eax
  00fa5	8d 8d 54 74 ff
	ff		 lea	 ecx, DWORD PTR _lMsgID$8[ebp]
  00fab	51		 push	 ecx
  00fac	68 00 00 00 00	 push	 OFFSET ??_C@_1BE@MMJOHFKE@?$AAD?$AAa?$AAt?$AAa?$AAM?$AAs?$AAg?$AAI?$AAD@
  00fb1	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv793[ebp]
  00fb7	e8 00 00 00 00	 call	 ?GetCollect@CAdoRecordSet@@QAEHPB_WAAJ@Z ; CAdoRecordSet::GetCollect

; 319  : 									m_AdoRS2.GetCollect( _T("Msg") , strOldMsg );

  00fbc	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  00fbf	05 a0 00 00 00	 add	 eax, 160		; 000000a0H
  00fc4	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv799[ebp], eax
  00fca	8d 8d 38 ff ff
	ff		 lea	 ecx, DWORD PTR _strOldMsg$44[ebp]
  00fd0	51		 push	 ecx
  00fd1	68 00 00 00 00	 push	 OFFSET ??_C@_17DACEHHP@?$AAM?$AAs?$AAg@
  00fd6	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv799[ebp]
  00fdc	e8 00 00 00 00	 call	 ?GetCollect@CAdoRecordSet@@QAEHPB_WAAV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@Z ; CAdoRecordSet::GetCollect

; 320  : 									m_AdoRS2.Close();

  00fe1	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00fe4	81 c1 a0 00 00
	00		 add	 ecx, 160		; 000000a0H
  00fea	e8 00 00 00 00	 call	 ?Close@CAdoRecordSet@@QAEXXZ ; CAdoRecordSet::Close

; 321  : 									strSelect3.Format( _T("update DataMsg set status=1 where DataMsgID=%d") , lMsgID );

  00fef	8b 85 54 74 ff
	ff		 mov	 eax, DWORD PTR _lMsgID$8[ebp]
  00ff5	50		 push	 eax
  00ff6	68 00 00 00 00	 push	 OFFSET ??_C@_1FO@HKHFCEJC@?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?5?$AAD?$AAa?$AAt?$AAa?$AAM?$AAs?$AAg?$AA?5@
  00ffb	8d 8d 14 b9 ff
	ff		 lea	 ecx, DWORD PTR _strSelect3$17[ebp]
  01001	51		 push	 ecx
  01002	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
  01007	83 c4 0c	 add	 esp, 12			; 0000000cH

; 322  : 									m_AdoRS2.Open(strSelect3);

  0100a	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  0100d	05 a0 00 00 00	 add	 eax, 160		; 000000a0H
  01012	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv818[ebp], eax
  01018	6a 03		 push	 3
  0101a	6a 03		 push	 3
  0101c	6a 01		 push	 1
  0101e	8d 8d 14 b9 ff
	ff		 lea	 ecx, DWORD PTR _strSelect3$17[ebp]
  01024	e8 00 00 00 00	 call	 ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
  01029	50		 push	 eax
  0102a	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv818[ebp]
  01030	e8 00 00 00 00	 call	 ?Open@CAdoRecordSet@@QAEHPB_WJW4CursorTypeEnum@ADODB@@W4LockTypeEnum@3@@Z ; CAdoRecordSet::Open

; 323  : 									m_AdoRS2.Close();

  01035	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  01038	81 c1 a0 00 00
	00		 add	 ecx, 160		; 000000a0H
  0103e	e8 00 00 00 00	 call	 ?Close@CAdoRecordSet@@QAEXXZ ; CAdoRecordSet::Close

; 324  : 									//����Ϣ�����ʱ��
; 325  : 									strSelect3.Format( _T("update dz set SendLast=GetDATE() where DZID=%d") ,lDZID );

  01043	8b 85 8c fe ff
	ff		 mov	 eax, DWORD PTR _lDZID$37[ebp]
  01049	50		 push	 eax
  0104a	68 00 00 00 00	 push	 OFFSET ??_C@_1FO@EEKDKMAK@?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?5?$AAd?$AAz?$AA?5?$AAs?$AAe?$AAt?$AA?5?$AAS@
  0104f	8d 8d 14 b9 ff
	ff		 lea	 ecx, DWORD PTR _strSelect3$17[ebp]
  01055	51		 push	 ecx
  01056	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
  0105b	83 c4 0c	 add	 esp, 12			; 0000000cH

; 326  : 									m_AdoRS2.Open(strSelect3);

  0105e	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  01061	05 a0 00 00 00	 add	 eax, 160		; 000000a0H
  01066	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv837[ebp], eax
  0106c	6a 03		 push	 3
  0106e	6a 03		 push	 3
  01070	6a 01		 push	 1
  01072	8d 8d 14 b9 ff
	ff		 lea	 ecx, DWORD PTR _strSelect3$17[ebp]
  01078	e8 00 00 00 00	 call	 ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
  0107d	50		 push	 eax
  0107e	8b 8d 04 16 ff
	ff		 mov	 ecx, DWORD PTR tv837[ebp]
  01084	e8 00 00 00 00	 call	 ?Open@CAdoRecordSet@@QAEHPB_WJW4CursorTypeEnum@ADODB@@W4LockTypeEnum@3@@Z ; CAdoRecordSet::Open

; 327  : 									m_AdoRS2.Close();

  01089	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0108c	81 c1 a0 00 00
	00		 add	 ecx, 160		; 000000a0H
  01092	e8 00 00 00 00	 call	 ?Close@CAdoRecordSet@@QAEXXZ ; CAdoRecordSet::Close

; 328  : 									bOldMsg = true;

  01097	c7 85 40 ff ff
	ff 01 00 00 00	 mov	 DWORD PTR _bOldMsg$46[ebp], 1

; 329  : 									
; 330  : 									//�ύ����
; 331  : 									long lMobType = MOBILE_TYPE_CMCC;

  010a1	c7 85 50 74 ff
	ff 00 00 00 00	 mov	 DWORD PTR _lMobType$7[ebp], 0

; 332  : 									//if ( isNumUnicom((char*)(LPCTSTR)strMobile) )
; 333  : 									//	lMobType = MOBILE_TYPE_UNICOM;
; 334  : 									
; 335  : 									SubmitData data={0};

  010ab	68 94 44 00 00	 push	 17556			; 00004494H
  010b0	6a 00		 push	 0
  010b2	8d 85 bc 2f ff
	ff		 lea	 eax, DWORD PTR _data$6[ebp]
  010b8	50		 push	 eax
  010b9	e8 00 00 00 00	 call	 _memset
  010be	83 c4 0c	 add	 esp, 12			; 0000000cH

; 336  : 									data.lCorpID = lCorpID;

  010c1	8b 45 d8	 mov	 eax, DWORD PTR _lCorpID$52[ebp]
  010c4	89 85 cc 2f ff
	ff		 mov	 DWORD PTR _data$6[ebp+16], eax

; 337  : 									data.lUserID = lUserID;

  010ca	8b 45 d4	 mov	 eax, DWORD PTR _lUserID$51[ebp]
  010cd	89 85 d0 2f ff
	ff		 mov	 DWORD PTR _data$6[ebp+20], eax

; 338  : 									_tcscpy( data.szName    , _T("SP") );

  010d3	68 00 00 00 00	 push	 OFFSET ??_C@_15PCKCLKH@?$AAS?$AAP@
  010d8	8d 85 14 30 ff
	ff		 lea	 eax, DWORD PTR _data$6[ebp+88]
  010de	50		 push	 eax
  010df	e8 00 00 00 00	 call	 _wcscpy
  010e4	83 c4 08	 add	 esp, 8

; 339  : 									_tcscpy( data.szMobile  , strMobile );

  010e7	8d 4d d0	 lea	 ecx, DWORD PTR _strMobile$50[ebp]
  010ea	e8 00 00 00 00	 call	 ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
  010ef	50		 push	 eax
  010f0	8d 85 54 30 ff
	ff		 lea	 eax, DWORD PTR _data$6[ebp+152]
  010f6	50		 push	 eax
  010f7	e8 00 00 00 00	 call	 _wcscpy
  010fc	83 c4 08	 add	 esp, 8

; 340  : 									_tcscpy( data.szMsg   , strOldMsg );

  010ff	8d 8d 38 ff ff
	ff		 lea	 ecx, DWORD PTR _strOldMsg$44[ebp]
  01105	e8 00 00 00 00	 call	 ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
  0110a	50		 push	 eax
  0110b	8d 85 94 30 ff
	ff		 lea	 eax, DWORD PTR _data$6[ebp+216]
  01111	50		 push	 eax
  01112	e8 00 00 00 00	 call	 _wcscpy
  01117	83 c4 08	 add	 esp, 8

; 341  : 									CSendThread::SubmitSms( data,&m_AdoRS2,&m_AdoRS3,m_pSMSDlg,lMobType,SMSTYPE_SP,lOldPrice);  //���Ͷ���

  0111a	8b 85 3c ff ff
	ff		 mov	 eax, DWORD PTR _lOldPrice$45[ebp]
  01120	50		 push	 eax
  01121	6a 05		 push	 5
  01123	8b 8d 50 74 ff
	ff		 mov	 ecx, DWORD PTR _lMobType$7[ebp]
  01129	51		 push	 ecx
  0112a	8b 55 e8	 mov	 edx, DWORD PTR _this$[ebp]
  0112d	8b 82 10 01 00
	00		 mov	 eax, DWORD PTR [edx+272]
  01133	50		 push	 eax
  01134	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  01137	81 c1 d8 00 00
	00		 add	 ecx, 216		; 000000d8H
  0113d	51		 push	 ecx
  0113e	8b 55 e8	 mov	 edx, DWORD PTR _this$[ebp]
  01141	81 c2 a0 00 00
	00		 add	 edx, 160		; 000000a0H
  01147	52		 push	 edx
  01148	8d 85 bc 2f ff
	ff		 lea	 eax, DWORD PTR _data$6[ebp]
  0114e	50		 push	 eax
  0114f	e8 00 00 00 00	 call	 ?SubmitSms@CSendThread@@SAJAAU_SubmitData@@PAVCAdoRecordSet@@1PAVCSmsCenterDlg@@JJJ@Z ; CSendThread::SubmitSms
  01154	83 c4 1c	 add	 esp, 28			; 0000001cH
$LN21@On_SPDZ:

; 342  : 								}
; 343  : 								else
; 344  : 								{
; 345  : 									//strSelect.Format( _T("Error:%s:%s->%s,û�й����ƻظ�����Ϣ����!"),smsSend.ServiceType,smsSend.szRecvNum,smsSend.szSendNum);
; 346  : 									//g_dlg->AddLog((char*)(LPCSTR)strSelect);
; 347  : 								}
; 348  : 							}
; 349  : 						}

  01157	c6 45 fc 05	 mov	 BYTE PTR __$EHRec$[ebp+12], 5
  0115b	8d 8d 14 b9 ff
	ff		 lea	 ecx, DWORD PTR _strSelect3$17[ebp]
  01161	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> > >
$LN12@On_SPDZ:

; 350  : 						}
; 351  : 					}

  01166	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+12], 3
  0116a	8d 8d e8 b9 ff
	ff		 lea	 ecx, DWORD PTR _strSelect2$32[ebp]
  01170	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> > >
$LN9@On_SPDZ:

; 352  : 					lAllCount2 ++;

  01175	8b 85 88 fe ff
	ff		 mov	 eax, DWORD PTR _lAllCount2$36[ebp]
  0117b	83 c0 01	 add	 eax, 1
  0117e	89 85 88 fe ff
	ff		 mov	 DWORD PTR _lAllCount2$36[ebp], eax

; 353  : 					//Sleep(50); //������,��Ҫ��
; 354  : 					m_AdoRS.MoveNext();  //����������һ��

  01184	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  01187	83 c1 68	 add	 ecx, 104		; 00000068H
  0118a	e8 00 00 00 00	 call	 ?MoveNext@CAdoRecordSet@@QAEHXZ ; CAdoRecordSet::MoveNext

; 355  : 				}

  0118f	e9 11 f0 ff ff	 jmp	 $LN2@On_SPDZ
$LN3@On_SPDZ:

; 356  : 			}

  01194	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+12], 2
  01198	8d 8d 38 ff ff
	ff		 lea	 ecx, DWORD PTR _strOldMsg$44[ebp]
  0119e	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> > >
  011a3	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+12], 1
  011a7	8d 4d d0	 lea	 ecx, DWORD PTR _strMobile$50[ebp]
  011aa	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> > >
$LN6@On_SPDZ:

; 357  : 			m_AdoRS.Close();

  011af	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  011b2	83 c1 68	 add	 ecx, 104		; 00000068H
  011b5	e8 00 00 00 00	 call	 ?Close@CAdoRecordSet@@QAEXXZ ; CAdoRecordSet::Close

; 358  : 	}

  011ba	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+12], 0
  011be	8d 4d e4	 lea	 ecx, DWORD PTR _strSelect$55[ebp]
  011c1	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> > >
  011c6	e9 a2 00 00 00	 jmp	 $LN32@On_SPDZ
__catch$?On_SPDZ@CSPThread@@QAEXIJ@Z$0:

; 359  : 	catch (...)
; 360  : 	{
; 361  : 		LOG_APPERROR(_T("T"));

  011cb	8d 8d 14 18 ff
	ff		 lea	 ecx, DWORD PTR _NXlog$5[ebp]
  011d1	e8 00 00 00 00	 call	 ??0CSAStatusLog@@QAE@XZ	; CSAStatusLog::CSAStatusLog
  011d6	c6 45 fc 0a	 mov	 BYTE PTR __$EHRec$[ebp+12], 10 ; 0000000aH
  011da	51		 push	 ecx
  011db	8b cc		 mov	 ecx, esp
  011dd	89 a5 0c 16 ff
	ff		 mov	 DWORD PTR $T3[ebp], esp
  011e3	68 00 00 00 00	 push	 OFFSET ??_C@_1BC@HEKPCAFP@?$AAA?$AAp?$AAp?$AAE?$AAr?$AAr?$AAo?$AAr@
  011e8	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> > >
  011ed	89 85 04 16 ff
	ff		 mov	 DWORD PTR tv876[ebp], eax
  011f3	c6 45 fc 0b	 mov	 BYTE PTR __$EHRec$[ebp+12], 11 ; 0000000bH
  011f7	51		 push	 ecx
  011f8	8b cc		 mov	 ecx, esp
  011fa	89 a5 08 16 ff
	ff		 mov	 DWORD PTR $T2[ebp], esp
  01200	68 00 00 00 00	 push	 OFFSET ??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@
  01205	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> > >
  0120a	89 85 00 16 ff
	ff		 mov	 DWORD PTR tv751[ebp], eax
  01210	c6 45 fc 0c	 mov	 BYTE PTR __$EHRec$[ebp+12], 12 ; 0000000cH
  01214	c6 45 fc 0a	 mov	 BYTE PTR __$EHRec$[ebp+12], 10 ; 0000000aH
  01218	8d 8d 14 18 ff
	ff		 lea	 ecx, DWORD PTR _NXlog$5[ebp]
  0121e	e8 00 00 00 00	 call	 ?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z ; CSAStatusLog::Init
  01223	a1 00 00 00 00	 mov	 eax, DWORD PTR ?__LINE__Var@?0??On_SPDZ@CSPThread@@QAEXIJ@Z@4JA
  01228	05 21 01 00 00	 add	 eax, 289		; 00000121H
  0122d	50		 push	 eax
  0122e	68 00 00 00 00	 push	 OFFSET ??_C@_07MPEIFHDG@On_SPDZ@
  01233	68 00 00 00 00	 push	 OFFSET ??_C@_0CN@HDLHKOEL@D?3?2Works?2Corpsms_2010?2SmsCenter@
  01238	68 00 00 00 00	 push	 OFFSET ??_C@_13JKNELIBG@?$AAT@
  0123d	8d 8d 14 18 ff
	ff		 lea	 ecx, DWORD PTR _NXlog$5[ebp]
  01243	e8 00 00 00 00	 call	 ?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z ; CSAStatusLog::LogError
  01248	c6 45 fc 09	 mov	 BYTE PTR __$EHRec$[ebp+12], 9
  0124c	8d 8d 14 18 ff
	ff		 lea	 ecx, DWORD PTR _NXlog$5[ebp]
  01252	e8 00 00 00 00	 call	 ??1CSAStatusLog@@QAE@XZ	; CSAStatusLog::~CSAStatusLog

; 362  : 		m_bStart = false;

  01257	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  0125a	c7 40 44 00 00
	00 00		 mov	 DWORD PTR [eax+68], 0

; 363  : 		return ;

  01261	b8 00 00 00 00	 mov	 eax, $LN46@On_SPDZ
  01266	c3		 ret	 0

; 364  : 	}

  01267	b8 00 00 00 00	 mov	 eax, $LN32@On_SPDZ
  0126c	c3		 ret	 0
$LN32@On_SPDZ:
  0126d	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  01274	eb 09		 jmp	 SHORT $LN45@On_SPDZ
$LN46@On_SPDZ:
  01276	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1

; 363  : 		return ;

  0127d	eb 0a		 jmp	 SHORT $LN1@On_SPDZ
$LN45@On_SPDZ:

; 365  : 	
; 366  : 	m_bStart = false;

  0127f	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  01282	c7 40 44 00 00
	00 00		 mov	 DWORD PTR [eax+68], 0
$LN1@On_SPDZ:

; 367  : 	return ;
; 368  : }

  01289	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp+4]
  0128c	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  01293	59		 pop	 ecx
  01294	5f		 pop	 edi
  01295	5e		 pop	 esi
  01296	5b		 pop	 ebx
  01297	8b 4d ec	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  0129a	33 cd		 xor	 ecx, ebp
  0129c	e8 00 00 00 00	 call	 @__security_check_cookie@4
  012a1	8b e5		 mov	 esp, ebp
  012a3	5d		 pop	 ebp
  012a4	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?On_SPDZ@CSPThread@@QAEXIJ@Z$2:
  00000	8d 4d e4	 lea	 ecx, DWORD PTR _strSelect$55[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_SPDZ@CSPThread@@QAEXIJ@Z$3:
  00008	8d 4d d0	 lea	 ecx, DWORD PTR _strMobile$50[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_SPDZ@CSPThread@@QAEXIJ@Z$4:
  00010	8d 8d 38 ff ff
	ff		 lea	 ecx, DWORD PTR _strOldMsg$44[ebp]
  00016	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_SPDZ@CSPThread@@QAEXIJ@Z$5:
  0001b	8d 8d 84 fe ff
	ff		 lea	 ecx, DWORD PTR _strSelect3$35[ebp]
  00021	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_SPDZ@CSPThread@@QAEXIJ@Z$6:
  00026	8d 8d e8 b9 ff
	ff		 lea	 ecx, DWORD PTR _strSelect2$32[ebp]
  0002c	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_SPDZ@CSPThread@@QAEXIJ@Z$7:
  00031	8d 8d 14 b9 ff
	ff		 lea	 ecx, DWORD PTR _strSelect3$17[ebp]
  00037	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_SPDZ@CSPThread@@QAEXIJ@Z$8:
  0003c	8b 8d 10 16 ff
	ff		 mov	 ecx, DWORD PTR $T4[ebp]
  00042	e9 00 00 00 00	 jmp	 ??1_variant_t@@QAE@XZ	; _variant_t::~_variant_t
__unwindfunclet$?On_SPDZ@CSPThread@@QAEXIJ@Z$9:
  00047	8d 8d 58 74 ff
	ff		 lea	 ecx, DWORD PTR _strTime$9[ebp]
  0004d	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_SPDZ@CSPThread@@QAEXIJ@Z$10:
  00052	8d 8d 14 18 ff
	ff		 lea	 ecx, DWORD PTR _NXlog$5[ebp]
  00058	e9 00 00 00 00	 jmp	 ??1CSAStatusLog@@QAE@XZ	; CSAStatusLog::~CSAStatusLog
__unwindfunclet$?On_SPDZ@CSPThread@@QAEXIJ@Z$11:
  0005d	8b 8d 0c 16 ff
	ff		 mov	 ecx, DWORD PTR $T3[ebp]
  00063	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_SPDZ@CSPThread@@QAEXIJ@Z$12:
  00068	8b 8d 08 16 ff
	ff		 mov	 ecx, DWORD PTR $T2[ebp]
  0006e	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> > >
  00073	cc		 int	 3
  00074	cc		 int	 3
  00075	cc		 int	 3
  00076	cc		 int	 3
  00077	cc		 int	 3
__ehhandler$?On_SPDZ@CSPThread@@QAEXIJ@Z:
  00078	90		 npad	 1
  00079	90		 npad	 1
  0007a	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0007e	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00081	8b 8a ec 15 ff
	ff		 mov	 ecx, DWORD PTR [edx-59924]
  00087	33 c8		 xor	 ecx, eax
  00089	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0008e	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00091	33 c8		 xor	 ecx, eax
  00093	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00098	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?On_SPDZ@CSPThread@@QAEXIJ@Z
  0009d	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?On_SPDZ@CSPThread@@QAEXIJ@Z ENDP			; CSPThread::On_SPDZ
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\SPThread.cpp
;	COMDAT ?ExitInstance@CSPThread@@UAEHXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?ExitInstance@CSPThread@@UAEHXZ PROC			; CSPThread::ExitInstance, COMDAT
; _this$ = ecx

; 38   : {

  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

; 39   : 	CoUninitialize();

  0000c	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CoUninitialize@0

; 40   : 	// TODO:  perform any per-thread cleanup here
; 41   : 	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

; 42   : }

  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@CSPThread@@UAEHXZ ENDP			; CSPThread::ExitInstance
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\SPThread.cpp
;	COMDAT ?InitInstance@CSPThread@@UAEHXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?InitInstance@CSPThread@@UAEHXZ PROC			; CSPThread::InitInstance, COMDAT
; _this$ = ecx

; 31   : {

  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

; 32   : 	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

; 33   : 	// TODO:  perform and per-thread initialization here
; 34   : 	return TRUE;

  00016	b8 01 00 00 00	 mov	 eax, 1

; 35   : }

  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@CSPThread@@UAEHXZ ENDP			; CSPThread::InitInstance
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\SPThread.cpp
;	COMDAT ?SetParam@CSPThread@@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@CSPThread@@QAEHPAVCSmsCenterDlg@@@Z PROC	; CSPThread::SetParam, COMDAT
; _this$ = ecx

; 55   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?SetParam@CSPThread@@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

; 56   : 	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

; 57   : 	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

; 58   : 	if ( b )

  000fe	83 7d ec 00	 cmp	 DWORD PTR _b$[ebp], 0
  00102	74 62		 je	 SHORT $LN2@SetParam

; 59   : 	{
; 60   : 		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

; 61   : #ifdef SMSCENTER_USECLIENT
; 62   : 		m_adoConnection.SetCursorLocation(adUseClient);  //�������������
; 63   : #endif
; 64   : 		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

; 65   : 		m_AdoRS2.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

; 66   : 		m_AdoRS3.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:

; 67   : 	}
; 68   : 	return b;

  00166	8b 45 ec	 mov	 eax, DWORD PTR _b$[ebp]

; 69   : }

  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@CSPThread@@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@CSPThread@@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@CSPThread@@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@CSPThread@@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@CSPThread@@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@CSPThread@@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@CSPThread@@QAEHPAVCSmsCenterDlg@@@Z
  00048	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?SetParam@CSPThread@@QAEHPAVCSmsCenterDlg@@@Z ENDP	; CSPThread::SetParam
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\SPThread.cpp
;	COMDAT ?GetBBMonDay@CSPThread@@SAHVCOleDateTime@ATL@@AAH1@Z
_TEXT	SEGMENT
tv85 = -116						; size = 4
_tBB$ = -48						; size = 16
_tNow$ = -32						; size = 16
_tNow2$ = -16						; size = 12
__$ArrayPad$ = -4					; size = 4
_tBirthday$ = 8						; size = 12
_iMon$ = 20						; size = 4
_iDay$ = 24						; size = 4
?GetBBMonDay@CSPThread@@SAHVCOleDateTime@ATL@@AAH1@Z PROC ; CSPThread::GetBBMonDay, COMDAT

; 371  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 74	 sub	 esp, 116		; 00000074H
  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

; 372  : 	COleDateTime tNow2 = ::COleDateTime::GetCurrentTime();

  00013	8d 45 f0	 lea	 eax, DWORD PTR _tNow2$[ebp]
  00016	50		 push	 eax
  00017	e8 00 00 00 00	 call	 ?GetTickCount@COleDateTime@ATL@@SG?AV12@XZ ; ATL::COleDateTime::GetTickCount

; 373  : 
; 374  : 	if ( tBirthday>tNow2 )  //���󣬷���

  0001c	8d 45 f0	 lea	 eax, DWORD PTR _tNow2$[ebp]
  0001f	50		 push	 eax
  00020	8d 4d 08	 lea	 ecx, DWORD PTR _tBirthday$[ebp]
  00023	e8 00 00 00 00	 call	 ??OCOleDateTime@ATL@@QBE_NABV01@@Z ; ATL::COleDateTime::operator>
  00028	0f b6 c8	 movzx	 ecx, al
  0002b	85 c9		 test	 ecx, ecx
  0002d	74 19		 je	 SHORT $LN4@GetBBMonDa

; 375  : 	{
; 376  : 		iMon = -1;

  0002f	8b 45 14	 mov	 eax, DWORD PTR _iMon$[ebp]
  00032	c7 00 ff ff ff
	ff		 mov	 DWORD PTR [eax], -1

; 377  : 		iDay = -1;

  00038	8b 45 18	 mov	 eax, DWORD PTR _iDay$[ebp]
  0003b	c7 00 ff ff ff
	ff		 mov	 DWORD PTR [eax], -1

; 378  : 		return false;

  00041	33 c0		 xor	 eax, eax
  00043	e9 4f 01 00 00	 jmp	 $LN1@GetBBMonDa
$LN4@GetBBMonDa:

; 379  : 	}
; 380  : 	SYSTEMTIME tNow,tBB;
; 381  : 	tNow2.GetAsSystemTime(tNow);

  00048	8d 45 e0	 lea	 eax, DWORD PTR _tNow$[ebp]
  0004b	50		 push	 eax
  0004c	8d 4d f0	 lea	 ecx, DWORD PTR _tNow2$[ebp]
  0004f	e8 00 00 00 00	 call	 ?GetAsSystemTime@COleDateTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z ; ATL::COleDateTime::GetAsSystemTime

; 382  : 	tBirthday.GetAsSystemTime(tBB);

  00054	8d 45 d0	 lea	 eax, DWORD PTR _tBB$[ebp]
  00057	50		 push	 eax
  00058	8d 4d 08	 lea	 ecx, DWORD PTR _tBirthday$[ebp]
  0005b	e8 00 00 00 00	 call	 ?GetAsSystemTime@COleDateTime@ATL@@QBE_NAAU_SYSTEMTIME@@@Z ; ATL::COleDateTime::GetAsSystemTime

; 383  : 	//�ȼ�����
; 384  : 	if (  tNow.wDay >=tBB.wDay )

  00060	0f b7 45 e6	 movzx	 eax, WORD PTR _tNow$[ebp+6]
  00064	0f b7 4d d6	 movzx	 ecx, WORD PTR _tBB$[ebp+6]
  00068	3b c1		 cmp	 eax, ecx
  0006a	7c 14		 jl	 SHORT $LN5@GetBBMonDa

; 385  : 	{
; 386  : 		iDay = tNow.wDay-tBB.wDay;

  0006c	0f b7 45 e6	 movzx	 eax, WORD PTR _tNow$[ebp+6]
  00070	0f b7 4d d6	 movzx	 ecx, WORD PTR _tBB$[ebp+6]
  00074	2b c1		 sub	 eax, ecx
  00076	8b 55 18	 mov	 edx, DWORD PTR _iDay$[ebp]
  00079	89 02		 mov	 DWORD PTR [edx], eax

; 387  : 	}

  0007b	e9 9e 00 00 00	 jmp	 $LN6@GetBBMonDa
$LN5@GetBBMonDa:

; 388  : 	else
; 389  : 	{
; 390  : 		tNow.wMonth--;

  00080	66 8b 45 e2	 mov	 ax, WORD PTR _tNow$[ebp+2]
  00084	66 83 e8 01	 sub	 ax, 1
  00088	66 89 45 e2	 mov	 WORD PTR _tNow$[ebp+2], ax

; 391  : 		if ( tNow.wMonth<=0 )

  0008c	0f b7 45 e2	 movzx	 eax, WORD PTR _tNow$[ebp+2]
  00090	85 c0		 test	 eax, eax
  00092	7f 15		 jg	 SHORT $LN7@GetBBMonDa

; 392  : 		{
; 393  : 			tNow.wMonth=12;

  00094	b8 0c 00 00 00	 mov	 eax, 12			; 0000000cH
  00099	66 89 45 e2	 mov	 WORD PTR _tNow$[ebp+2], ax

; 394  : 			tNow.wYear--;

  0009d	66 8b 45 e0	 mov	 ax, WORD PTR _tNow$[ebp]
  000a1	66 83 e8 01	 sub	 ax, 1
  000a5	66 89 45 e0	 mov	 WORD PTR _tNow$[ebp], ax
$LN7@GetBBMonDa:

; 395  : 		}
; 396  : 		switch(tNow.wMonth)

  000a9	0f b7 45 e2	 movzx	 eax, WORD PTR _tNow$[ebp+2]
  000ad	89 45 8c	 mov	 DWORD PTR tv85[ebp], eax
  000b0	8b 4d 8c	 mov	 ecx, DWORD PTR tv85[ebp]
  000b3	83 e9 01	 sub	 ecx, 1
  000b6	89 4d 8c	 mov	 DWORD PTR tv85[ebp], ecx
  000b9	83 7d 8c 0b	 cmp	 DWORD PTR tv85[ebp], 11	; 0000000bH
  000bd	77 45		 ja	 SHORT $LN18@GetBBMonDa
  000bf	8b 55 8c	 mov	 edx, DWORD PTR tv85[ebp]
  000c2	ff 24 95 00 00
	00 00		 jmp	 DWORD PTR $LN22@GetBBMonDa[edx*4]
$LN14@GetBBMonDa:

; 397  : 		{
; 398  : 		case 1:
; 399  : 		case 3:
; 400  : 		case 5:
; 401  : 		case 7:
; 402  : 		case 8:
; 403  : 		case 10:
; 404  : 		case 12:
; 405  : 			 tNow.wDay += 31;

  000c9	0f b7 45 e6	 movzx	 eax, WORD PTR _tNow$[ebp+6]
  000cd	83 c0 1f	 add	 eax, 31			; 0000001fH
  000d0	66 89 45 e6	 mov	 WORD PTR _tNow$[ebp+6], ax

; 406  : 			 break;

  000d4	eb 39		 jmp	 SHORT $LN2@GetBBMonDa
$LN15@GetBBMonDa:

; 407  : 		case 2:
; 408  : 			 if (tNow.wYear%4==0 )

  000d6	0f b7 45 e0	 movzx	 eax, WORD PTR _tNow$[ebp]
  000da	25 03 00 00 80	 and	 eax, -2147483645	; 80000003H
  000df	79 05		 jns	 SHORT $LN23@GetBBMonDa
  000e1	48		 dec	 eax
  000e2	83 c8 fc	 or	 eax, -4			; fffffffcH
  000e5	40		 inc	 eax
$LN23@GetBBMonDa:
  000e6	85 c0		 test	 eax, eax
  000e8	75 0d		 jne	 SHORT $LN16@GetBBMonDa

; 409  : 				tNow.wDay += 30;

  000ea	0f b7 45 e6	 movzx	 eax, WORD PTR _tNow$[ebp+6]
  000ee	83 c0 1e	 add	 eax, 30			; 0000001eH
  000f1	66 89 45 e6	 mov	 WORD PTR _tNow$[ebp+6], ax
  000f5	eb 0b		 jmp	 SHORT $LN17@GetBBMonDa
$LN16@GetBBMonDa:

; 410  : 			 else
; 411  : 				tNow.wDay += 28;

  000f7	0f b7 45 e6	 movzx	 eax, WORD PTR _tNow$[ebp+6]
  000fb	83 c0 1c	 add	 eax, 28			; 0000001cH
  000fe	66 89 45 e6	 mov	 WORD PTR _tNow$[ebp+6], ax
$LN17@GetBBMonDa:

; 412  : 			 break;

  00102	eb 0b		 jmp	 SHORT $LN2@GetBBMonDa
$LN18@GetBBMonDa:

; 413  : 		default:
; 414  : 			 tNow.wDay += 30;

  00104	0f b7 45 e6	 movzx	 eax, WORD PTR _tNow$[ebp+6]
  00108	83 c0 1e	 add	 eax, 30			; 0000001eH
  0010b	66 89 45 e6	 mov	 WORD PTR _tNow$[ebp+6], ax
$LN2@GetBBMonDa:

; 415  : 		}
; 416  : 		iDay = tNow.wDay-tBB.wDay;

  0010f	0f b7 45 e6	 movzx	 eax, WORD PTR _tNow$[ebp+6]
  00113	0f b7 4d d6	 movzx	 ecx, WORD PTR _tBB$[ebp+6]
  00117	2b c1		 sub	 eax, ecx
  00119	8b 55 18	 mov	 edx, DWORD PTR _iDay$[ebp]
  0011c	89 02		 mov	 DWORD PTR [edx], eax
$LN6@GetBBMonDa:

; 417  : 	}
; 418  : 	//������
; 419  : 	if (  tNow.wMonth >=tBB.wMonth )

  0011e	0f b7 45 e2	 movzx	 eax, WORD PTR _tNow$[ebp+2]
  00122	0f b7 4d d2	 movzx	 ecx, WORD PTR _tBB$[ebp+2]
  00126	3b c1		 cmp	 eax, ecx
  00128	7c 11		 jl	 SHORT $LN19@GetBBMonDa

; 420  : 	{
; 421  : 		iMon = tNow.wMonth-tBB.wMonth;

  0012a	0f b7 45 e2	 movzx	 eax, WORD PTR _tNow$[ebp+2]
  0012e	0f b7 4d d2	 movzx	 ecx, WORD PTR _tBB$[ebp+2]
  00132	2b c1		 sub	 eax, ecx
  00134	8b 55 14	 mov	 edx, DWORD PTR _iMon$[ebp]
  00137	89 02		 mov	 DWORD PTR [edx], eax

; 422  : 	}

  00139	eb 26		 jmp	 SHORT $LN20@GetBBMonDa
$LN19@GetBBMonDa:

; 423  : 	else
; 424  : 	{
; 425  : 		tNow.wYear --;

  0013b	66 8b 45 e0	 mov	 ax, WORD PTR _tNow$[ebp]
  0013f	66 83 e8 01	 sub	 ax, 1
  00143	66 89 45 e0	 mov	 WORD PTR _tNow$[ebp], ax

; 426  : 		tNow.wMonth+= 12;

  00147	0f b7 45 e2	 movzx	 eax, WORD PTR _tNow$[ebp+2]
  0014b	83 c0 0c	 add	 eax, 12			; 0000000cH
  0014e	66 89 45 e2	 mov	 WORD PTR _tNow$[ebp+2], ax

; 427  : 		iMon = tNow.wMonth-tBB.wMonth;

  00152	0f b7 45 e2	 movzx	 eax, WORD PTR _tNow$[ebp+2]
  00156	0f b7 4d d2	 movzx	 ecx, WORD PTR _tBB$[ebp+2]
  0015a	2b c1		 sub	 eax, ecx
  0015c	8b 55 14	 mov	 edx, DWORD PTR _iMon$[ebp]
  0015f	89 02		 mov	 DWORD PTR [edx], eax
$LN20@GetBBMonDa:

; 428  : 	}
; 429  : 	iMon = iMon+(tNow.wYear-tBB.wYear)*12;

  00161	0f b7 45 e0	 movzx	 eax, WORD PTR _tNow$[ebp]
  00165	0f b7 4d d0	 movzx	 ecx, WORD PTR _tBB$[ebp]
  00169	2b c1		 sub	 eax, ecx
  0016b	6b d0 0c	 imul	 edx, eax, 12
  0016e	8b 45 14	 mov	 eax, DWORD PTR _iMon$[ebp]
  00171	03 10		 add	 edx, DWORD PTR [eax]
  00173	8b 4d 14	 mov	 ecx, DWORD PTR _iMon$[ebp]
  00176	89 11		 mov	 DWORD PTR [ecx], edx

; 430  : 
; 431  : 	iDay++;

  00178	8b 45 18	 mov	 eax, DWORD PTR _iDay$[ebp]
  0017b	8b 08		 mov	 ecx, DWORD PTR [eax]
  0017d	83 c1 01	 add	 ecx, 1
  00180	8b 55 18	 mov	 edx, DWORD PTR _iDay$[ebp]
  00183	89 0a		 mov	 DWORD PTR [edx], ecx

; 432  : 	iMon++;

  00185	8b 45 14	 mov	 eax, DWORD PTR _iMon$[ebp]
  00188	8b 08		 mov	 ecx, DWORD PTR [eax]
  0018a	83 c1 01	 add	 ecx, 1
  0018d	8b 55 14	 mov	 edx, DWORD PTR _iMon$[ebp]
  00190	89 0a		 mov	 DWORD PTR [edx], ecx

; 433  : 	return true;

  00192	b8 01 00 00 00	 mov	 eax, 1
$LN1@GetBBMonDa:

; 434  : }

  00197	5f		 pop	 edi
  00198	5e		 pop	 esi
  00199	5b		 pop	 ebx
  0019a	8b 4d fc	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  0019d	33 cd		 xor	 ecx, ebp
  0019f	e8 00 00 00 00	 call	 @__security_check_cookie@4
  001a4	8b e5		 mov	 esp, ebp
  001a6	5d		 pop	 ebp
  001a7	c3		 ret	 0
$LN22@GetBBMonDa:
  001a8	00 00 00 00	 DD	 $LN14@GetBBMonDa
  001ac	00 00 00 00	 DD	 $LN15@GetBBMonDa
  001b0	00 00 00 00	 DD	 $LN14@GetBBMonDa
  001b4	00 00 00 00	 DD	 $LN18@GetBBMonDa
  001b8	00 00 00 00	 DD	 $LN14@GetBBMonDa
  001bc	00 00 00 00	 DD	 $LN18@GetBBMonDa
  001c0	00 00 00 00	 DD	 $LN14@GetBBMonDa
  001c4	00 00 00 00	 DD	 $LN14@GetBBMonDa
  001c8	00 00 00 00	 DD	 $LN18@GetBBMonDa
  001cc	00 00 00 00	 DD	 $LN14@GetBBMonDa
  001d0	00 00 00 00	 DD	 $LN18@GetBBMonDa
  001d4	00 00 00 00	 DD	 $LN14@GetBBMonDa
?GetBBMonDay@CSPThread@@SAHVCOleDateTime@ATL@@AAH1@Z ENDP ; CSPThread::GetBBMonDay
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\SPThread.cpp
;	COMDAT ??1CSPThread@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CSPThread@@UAE@XZ PROC				; CSPThread::~CSPThread, COMDAT
; _this$ = ecx

; 27   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1CSPThread@@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 ??_7CSPThread@@6B@
  00034	c7 45 fc 04 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 4

; 28   : }

  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$??1CSPThread@@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$??1CSPThread@@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$??1CSPThread@@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$??1CSPThread@@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$??1CSPThread@@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$??1CSPThread@@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$??1CSPThread@@UAE@XZ
  00057	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CSPThread@@UAE@XZ ENDP				; CSPThread::~CSPThread
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\SPThread.cpp
;	COMDAT ??0CSPThread@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0CSPThread@@QAE@XZ PROC				; CSPThread::CSPThread, 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$??0CSPThread@@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 ??_7CSPThread@@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   : }

  0008f	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00096	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00099	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0009c	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000a3	59		 pop	 ecx
  000a4	5f		 pop	 edi
  000a5	5e		 pop	 esi
  000a6	5b		 pop	 ebx
  000a7	8b e5		 mov	 esp, ebp
  000a9	5d		 pop	 ebp
  000aa	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CSPThread@@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$??0CSPThread@@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$??0CSPThread@@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$??0CSPThread@@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$??0CSPThread@@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$??0CSPThread@@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$??0CSPThread@@QAE@XZ
  00057	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CSPThread@@QAE@XZ ENDP				; CSPThread::CSPThread
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\SPThread.cpp
;	COMDAT ?CreateObject@CSPThread@@SGPAVCObject@@XZ
_TEXT	SEGMENT
tv77 = -88						; size = 4
$T2 = -84						; size = 4
$T3 = -80						; size = 4
__$EHRec$ = -12						; size = 12
?CreateObject@CSPThread@@SGPAVCObject@@XZ PROC		; CSPThread::CreateObject, COMDAT

; 19   : IMPLEMENT_DYNCREATE(CSPThread, 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@CSPThread@@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	 ??0CSPThread@@QAE@XZ	; CSPThread::CSPThread
  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@CSPThread@@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@CSPThread@@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@CSPThread@@SGPAVCObject@@XZ
  00027	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?CreateObject@CSPThread@@SGPAVCObject@@XZ ENDP		; CSPThread::CreateObject
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\SPThread.cpp
;	COMDAT ?GetRuntimeClass@CSPThread@@UBEPAUCRuntimeClass@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetRuntimeClass@CSPThread@@UBEPAUCRuntimeClass@@XZ PROC ; CSPThread::GetRuntimeClass, COMDAT
; _this$ = ecx

; 19   : IMPLEMENT_DYNCREATE(CSPThread, 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 ?classCSPThread@CSPThread@@2UCRuntimeClass@@B ; CSPThread::classCSPThread
  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@CSPThread@@UBEPAUCRuntimeClass@@XZ ENDP ; CSPThread::GetRuntimeClass
_TEXT	ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\comutil.h
;	COMDAT ??1_variant_t@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1_variant_t@@QAE@XZ PROC				; _variant_t::~_variant_t, COMDAT
; _this$ = ecx

; 2334 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1_variant_t@@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

; 2335 :     ::VariantClear(this);

  0002b	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  0002e	50		 push	 eax
  0002f	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__VariantClear@4

; 2336 : }

  00035	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00038	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0003f	59		 pop	 ecx
  00040	5f		 pop	 edi
  00041	5e		 pop	 esi
  00042	5b		 pop	 ebx
  00043	8b e5		 mov	 esp, ebp
  00045	5d		 pop	 ebp
  00046	c3		 ret	 0
  00047	cc		 int	 3
  00048	cc		 int	 3
  00049	cc		 int	 3
  0004a	cc		 int	 3
  0004b	cc		 int	 3
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$??1_variant_t@@QAE@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 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$??1_variant_t@@QAE@XZ
  00018	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1_variant_t@@QAE@XZ ENDP				; _variant_t::~_variant_t
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\comutil.h
;	COMDAT ??0_variant_t@@QAE@JG@Z
_TEXT	SEGMENT
tv132 = -70						; size = 2
_this$ = -4						; size = 4
_lSrc$ = 8						; size = 4
_vtSrc$ = 12						; size = 2
??0_variant_t@@QAE@JG@Z PROC				; _variant_t::_variant_t, COMDAT
; _this$ = ecx

; 1202 : {

  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

; 1203 :     if ((vtSrc != VT_I4) && (vtSrc != VT_ERROR) && (vtSrc != VT_BOOL)) {

  0000c	0f b7 45 0c	 movzx	 eax, WORD PTR _vtSrc$[ebp]
  00010	83 f8 03	 cmp	 eax, 3
  00013	74 1e		 je	 SHORT $LN2@variant_t
  00015	0f b7 45 0c	 movzx	 eax, WORD PTR _vtSrc$[ebp]
  00019	83 f8 0a	 cmp	 eax, 10			; 0000000aH
  0001c	74 15		 je	 SHORT $LN2@variant_t
  0001e	0f b7 45 0c	 movzx	 eax, WORD PTR _vtSrc$[ebp]
  00022	83 f8 0b	 cmp	 eax, 11			; 0000000bH
  00025	74 0c		 je	 SHORT $LN2@variant_t

; 1204 :         _com_issue_error(E_INVALIDARG);

  00027	68 57 00 07 80	 push	 -2147024809		; 80070057H
  0002c	e8 00 00 00 00	 call	 ?_com_issue_error@@YGXJ@Z ; _com_issue_error

; 1205 :         return;

  00031	eb 69		 jmp	 SHORT $LN1@variant_t
$LN2@variant_t:

; 1206 :     }
; 1207 : 
; 1208 :     if (vtSrc == VT_ERROR) {

  00033	0f b7 45 0c	 movzx	 eax, WORD PTR _vtSrc$[ebp]
  00037	83 f8 0a	 cmp	 eax, 10			; 0000000aH
  0003a	75 16		 jne	 SHORT $LN3@variant_t

; 1209 :         V_VT(this) = VT_ERROR;

  0003c	b8 0a 00 00 00	 mov	 eax, 10			; 0000000aH
  00041	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00044	66 89 01	 mov	 WORD PTR [ecx], ax

; 1210 :         V_ERROR(this) = lSrc;

  00047	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0004a	8b 4d 08	 mov	 ecx, DWORD PTR _lSrc$[ebp]
  0004d	89 48 08	 mov	 DWORD PTR [eax+8], ecx

; 1211 :     }

  00050	eb 4a		 jmp	 SHORT $LN1@variant_t
$LN3@variant_t:

; 1212 :     else if (vtSrc == VT_BOOL) {

  00052	0f b7 45 0c	 movzx	 eax, WORD PTR _vtSrc$[ebp]
  00056	83 f8 0b	 cmp	 eax, 11			; 0000000bH
  00059	75 2d		 jne	 SHORT $LN5@variant_t

; 1213 :         V_VT(this) = VT_BOOL;

  0005b	b8 0b 00 00 00	 mov	 eax, 11			; 0000000bH
  00060	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00063	66 89 01	 mov	 WORD PTR [ecx], ax

; 1214 :         V_BOOL(this) = (lSrc ? VARIANT_TRUE : VARIANT_FALSE);

  00066	83 7d 08 00	 cmp	 DWORD PTR _lSrc$[ebp], 0
  0006a	74 09		 je	 SHORT $LN8@variant_t
  0006c	83 c8 ff	 or	 eax, -1
  0006f	66 89 45 ba	 mov	 WORD PTR tv132[ebp], ax
  00073	eb 06		 jmp	 SHORT $LN9@variant_t
$LN8@variant_t:
  00075	33 c9		 xor	 ecx, ecx
  00077	66 89 4d ba	 mov	 WORD PTR tv132[ebp], cx
$LN9@variant_t:
  0007b	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0007e	66 8b 45 ba	 mov	 ax, WORD PTR tv132[ebp]
  00082	66 89 42 08	 mov	 WORD PTR [edx+8], ax

; 1215 :     }

  00086	eb 14		 jmp	 SHORT $LN1@variant_t
$LN5@variant_t:

; 1216 :     else {
; 1217 :         V_VT(this) = VT_I4;

  00088	b8 03 00 00 00	 mov	 eax, 3
  0008d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00090	66 89 01	 mov	 WORD PTR [ecx], ax

; 1218 :         V_I4(this) = lSrc;

  00093	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00096	8b 4d 08	 mov	 ecx, DWORD PTR _lSrc$[ebp]
  00099	89 48 08	 mov	 DWORD PTR [eax+8], ecx
$LN1@variant_t:

; 1219 :     }
; 1220 : }

  0009c	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
$LN7@variant_t:
  0009f	5f		 pop	 edi
  000a0	5e		 pop	 esi
  000a1	5b		 pop	 ebx
  000a2	8b e5		 mov	 esp, ebp
  000a4	5d		 pop	 ebp
  000a5	c2 08 00	 ret	 8
??0_variant_t@@QAE@JG@Z ENDP				; _variant_t::_variant_t
_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 ??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 ??MCOleDateTime@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
??MCOleDateTime@ATL@@QBE_NABV01@@Z PROC			; ATL::COleDateTime::operator<, COMDAT
; _this$ = ecx

; 794  : {

  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

; 795  : 	ATLASSERT(GetStatus() == valid);
; 796  : 	ATLASSERT(date.GetStatus() == valid);
; 797  : 	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 73		 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 5d		 jne	 SHORT $LN2@operator

; 798  : 		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 a4	 movsd	 xmm0, QWORD PTR tv130[ebp]
  0006b	f2 0f 10 4d ac	 movsd	 xmm1, QWORD PTR tv135[ebp]
  00070	66 0f 2f c1	 comisd	 xmm0, xmm1
  00074	76 09		 jbe	 SHORT $LN4@operator
  00076	c7 45 a0 01 00
	00 00		 mov	 DWORD PTR tv79[ebp], 1
  0007d	eb 07		 jmp	 SHORT $LN5@operator
$LN4@operator:
  0007f	c7 45 a0 00 00
	00 00		 mov	 DWORD PTR tv79[ebp], 0
$LN5@operator:
  00086	8a 45 a0	 mov	 al, BYTE PTR tv79[ebp]
  00089	eb 02		 jmp	 SHORT $LN1@operator
$LN2@operator:

; 799  : 
; 800  : 	return false;

  0008b	32 c0		 xor	 al, al
$LN1@operator:

; 801  : }

  0008d	5f		 pop	 edi
  0008e	5e		 pop	 esi
  0008f	5b		 pop	 ebx
  00090	8b e5		 mov	 esp, ebp
  00092	5d		 pop	 ebp
  00093	c2 04 00	 ret	 4
??MCOleDateTime@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\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 ?GetManager@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ
_TEXT	SEGMENT
_pStringMgr$ = -8					; size = 4
_this$ = -4						; size = 4
?GetManager@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager, COMDAT
; _this$ = ecx

; 1436 : 	{

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

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

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

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

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

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

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

; 1441 : 		return pStringMgr->Clone();

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

; 1442 : 	}

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

; 1318 : 	{

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

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

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

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

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

; 1322 : 	}

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

; 1298 : 	{

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

; 1299 : 	}

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

; 768  : 	{

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

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

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

; 772  : 	}

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

; 760  : 	{

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

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

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

; 763  : 	}

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

; 728  : 	{

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

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

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

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

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

; 742  : #endif
; 743  : 	}

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

; 682  : 	{

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

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

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

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

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

; 697  : #endif
; 698  : 	}

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