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

11328 lines
399 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

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

; Listing generated by Microsoft (R) Optimizing Compiler Version 19.34.31933.0
TITLE D:\Works\Corpsms_2010\SmsCenter\Release_Unicode\SmsCenter.obj
.686P
.XMM
include listing.inc
.model flat
INCLUDELIB LIBCMT
INCLUDELIB OLDNAMES
EXTRN ?OnHelp@CWinApp@@IAEXXZ:PROC ; CWinApp::OnHelp
EXTRN ?GetThisMessageMap@CWinApp@@KGPBUAFX_MSGMAP@@XZ:PROC ; CWinApp::GetThisMessageMap
CONST SEGMENT
?_messageEntries@?1??GetThisMessageMap@CSmsCenterApp@@KGPBUAFX_MSGMAP@@XZ@4QBUAFX_MSGMAP_ENTRY@@B DD 0111H ; `CSmsCenterApp::GetThisMessageMap'::`2'::_messageEntries
DD 00H
DD 0e146H
DD 0e146H
DD 03aH
DD FLAT:?OnHelp@CWinApp@@IAEXXZ
DD 00H
DD 00H
DD 00H
DD 00H
DD 00H
DD 00H
?messageMap@?1??GetThisMessageMap@CSmsCenterApp@@KGPBUAFX_MSGMAP@@XZ@4U3@B DD FLAT:?GetThisMessageMap@CWinApp@@KGPBUAFX_MSGMAP@@XZ ; `CSmsCenterApp::GetThisMessageMap'::`2'::messageMap
DD FLAT:?_messageEntries@?1??GetThisMessageMap@CSmsCenterApp@@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 ??2@YAPAXIPAX@Z ; operator new
PUBLIC ?AfxCrtErrorCheck@@YAHH@Z ; AfxCrtErrorCheck
PUBLIC ??1CObject@@UAE@XZ ; CObject::~CObject
PUBLIC ??3CObject@@SGXPAX@Z ; CObject::operator delete
PUBLIC ?Serialize@CObject@@UAEXAAVCArchive@@@Z ; CObject::Serialize
PUBLIC ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
PUBLIC ?memcpy_s@Checked@ATL@@YAXPAXIPBXI@Z ; ATL::Checked::memcpy_s
PUBLIC ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
PUBLIC ?AddRef@CStringData@ATL@@QAEXXZ ; ATL::CStringData::AddRef
PUBLIC ?IsLocked@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsLocked
PUBLIC ?IsShared@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsShared
PUBLIC ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release
PUBLIC ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
PUBLIC ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@ABV01@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
PUBLIC ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
PUBLIC ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CSimpleStringT<wchar_t,0>::operator=
PUBLIC ?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 ?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_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 ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
PUBLIC ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
PUBLIC ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Fork
PUBLIC ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
PUBLIC ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite
PUBLIC ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2
PUBLIC ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Reallocate
PUBLIC ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetLength
PUBLIC ?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z ; ATL::CSimpleStringT<wchar_t,0>::CloneData
PUBLIC ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
PUBLIC ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
PUBLIC ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
PUBLIC ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
PUBLIC ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager
PUBLIC ?IsStoring@CArchive@@QBEHXZ ; CArchive::IsStoring
PUBLIC ?EnsureRead@CArchive@@QAEXPAXI@Z ; CArchive::EnsureRead
PUBLIC ?data@CPlex@@QAEPAXXZ ; CPlex::data
PUBLIC ?Enable3dControlsStatic@CWinApp@@IAEHXZ ; CWinApp::Enable3dControlsStatic
PUBLIC ?SupportsRestartManager@CWinApp@@UBEHXZ ; CWinApp::SupportsRestartManager
PUBLIC ?SupportsApplicationRecovery@CWinApp@@UBEHXZ ; CWinApp::SupportsApplicationRecovery
PUBLIC ?SupportsAutosaveAtRestart@CWinApp@@UBEHXZ ; CWinApp::SupportsAutosaveAtRestart
PUBLIC ?SupportsAutosaveAtInterval@CWinApp@@UBEHXZ ; CWinApp::SupportsAutosaveAtInterval
PUBLIC ?ReopenPreviousFilesAtRestart@CWinApp@@UBEHXZ ; CWinApp::ReopenPreviousFilesAtRestart
PUBLIC ?RestoreAutosavedFilesAtRestart@CWinApp@@UBEHXZ ; CWinApp::RestoreAutosavedFilesAtRestart
PUBLIC ?GetApplicationRestartFlags@CWinApp@@UAEKXZ ; CWinApp::GetApplicationRestartFlags
PUBLIC ?GetApplicationRecoveryParameter@CWinApp@@UAEPAXXZ ; CWinApp::GetApplicationRecoveryParameter
PUBLIC ?GetApplicationRecoveryPingInterval@CWinApp@@UAEKXZ ; CWinApp::GetApplicationRecoveryPingInterval
PUBLIC ??0_Mas_TDType@@QAE@XZ ; _Mas_TDType::_Mas_TDType
PUBLIC ??1_Mas_TDType@@QAE@XZ ; _Mas_TDType::~_Mas_TDType
PUBLIC ??_G_Mas_TDType@@QAEPAXI@Z ; _Mas_TDType::`scalar deleting destructor'
PUBLIC ??0_REQ_WxWork_Send@@QAE@XZ ; _REQ_WxWork_Send::_REQ_WxWork_Send
PUBLIC ??1_REQ_WxWork_Send@@QAE@XZ ; _REQ_WxWork_Send::~_REQ_WxWork_Send
PUBLIC ??0_REQ_WxWork_Send@@QAE@ABU0@@Z ; _REQ_WxWork_Send::_REQ_WxWork_Send
PUBLIC ??4_REQ_WxWork_Send@@QAEAAU0@ABU0@@Z ; _REQ_WxWork_Send::operator=
PUBLIC ??_G_REQ_WxWork_Send@@QAEPAXI@Z ; _REQ_WxWork_Send::`scalar deleting destructor'
PUBLIC ?Unlock@CSyncObject@@UAEHJPAJ@Z ; CSyncObject::Unlock
PUBLIC ?Unlock@CCriticalSection@@UAEHXZ ; CCriticalSection::Unlock
PUBLIC ?Lock@CCriticalSection@@QAEHXZ ; CCriticalSection::Lock
PUBLIC ?Lock@CCriticalSection@@UAEHK@Z ; CCriticalSection::Lock
PUBLIC ??1CCriticalSection@@UAE@XZ ; CCriticalSection::~CCriticalSection
PUBLIC ??_GCCriticalSection@@UAEPAXI@Z ; CCriticalSection::`scalar deleting destructor'
PUBLIC ??0_SmsReport@@QAE@XZ ; _SmsReport::_SmsReport
PUBLIC ??1_SmsReport@@QAE@XZ ; _SmsReport::~_SmsReport
PUBLIC ??4_SmsReport@@QAEAAU0@ABU0@@Z ; _SmsReport::operator=
PUBLIC ??_G_SmsReport@@QAEPAXI@Z ; _SmsReport::`scalar deleting destructor'
PUBLIC ?FindProcess@CSmsCenterApp@@QAEJPB_W@Z ; CSmsCenterApp::FindProcess
PUBLIC ??0CSmsCenterApp@@QAE@XZ ; CSmsCenterApp::CSmsCenterApp
PUBLIC ?InitInstance@CSmsCenterApp@@UAEHXZ ; CSmsCenterApp::InitInstance
PUBLIC ?ExitInstance@CSmsCenterApp@@UAEHXZ ; CSmsCenterApp::ExitInstance
PUBLIC ?GetThisMessageMap@CSmsCenterApp@@KGPBUAFX_MSGMAP@@XZ ; CSmsCenterApp::GetThisMessageMap
PUBLIC ?GetMessageMap@CSmsCenterApp@@MBEPBUAFX_MSGMAP@@XZ ; CSmsCenterApp::GetMessageMap
PUBLIC ??1CSmsCenterApp@@UAE@XZ ; CSmsCenterApp::~CSmsCenterApp
PUBLIC ??_GCSmsCenterApp@@UAEPAXI@Z ; CSmsCenterApp::`scalar deleting destructor'
PUBLIC ??1?$_CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@XZ ; _CTypedPtrList<CPtrList,CProcessSocket *>::~_CTypedPtrList<CPtrList,CProcessSocket *>
PUBLIC ??1?$CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@XZ ; CTypedPtrList<CPtrList,CProcessSocket *>::~CTypedPtrList<CPtrList,CProcessSocket *>
PUBLIC ?AddTail@?$CList@U_Checkup@@U1@@@QAEPAU__POSITION@@U_Checkup@@@Z ; CList<_Checkup,_Checkup>::AddTail
PUBLIC ?RemoveAll@?$CList@U_Checkup@@U1@@@QAEXXZ ; CList<_Checkup,_Checkup>::RemoveAll
PUBLIC ?NewNode@?$CList@U_Checkup@@U1@@@IAEPAUCNode@1@PAU21@0@Z ; CList<_Checkup,_Checkup>::NewNode
PUBLIC ??1?$CList@U_Checkup@@U1@@@UAE@XZ ; CList<_Checkup,_Checkup>::~CList<_Checkup,_Checkup>
PUBLIC ?Serialize@?$CList@U_Checkup@@U1@@@UAEXAAVCArchive@@@Z ; CList<_Checkup,_Checkup>::Serialize
PUBLIC ??_G?$CList@U_Checkup@@U1@@@UAEPAXI@Z ; CList<_Checkup,_Checkup>::`scalar deleting destructor'
PUBLIC ?SetSize@?$CArray@U_Mas_TDType@@AAU1@@@QAEXHH@Z ; CArray<_Mas_TDType,_Mas_TDType &>::SetSize
PUBLIC ??1?$CArray@U_Mas_TDType@@AAU1@@@UAE@XZ ; CArray<_Mas_TDType,_Mas_TDType &>::~CArray<_Mas_TDType,_Mas_TDType &>
PUBLIC ?Serialize@?$CArray@U_Mas_TDType@@AAU1@@@UAEXAAVCArchive@@@Z ; CArray<_Mas_TDType,_Mas_TDType &>::Serialize
PUBLIC ??_G?$CArray@U_Mas_TDType@@AAU1@@@UAEPAXI@Z ; CArray<_Mas_TDType,_Mas_TDType &>::`scalar deleting destructor'
PUBLIC ?AddTail@?$CList@U_SmsReport@@AAU1@@@QAEPAU__POSITION@@AAU_SmsReport@@@Z ; CList<_SmsReport,_SmsReport &>::AddTail
PUBLIC ?RemoveAll@?$CList@U_SmsReport@@AAU1@@@QAEXXZ ; CList<_SmsReport,_SmsReport &>::RemoveAll
PUBLIC ?NewNode@?$CList@U_SmsReport@@AAU1@@@IAEPAUCNode@1@PAU21@0@Z ; CList<_SmsReport,_SmsReport &>::NewNode
PUBLIC ??1?$CList@U_SmsReport@@AAU1@@@UAE@XZ ; CList<_SmsReport,_SmsReport &>::~CList<_SmsReport,_SmsReport &>
PUBLIC ?Serialize@?$CList@U_SmsReport@@AAU1@@@UAEXAAVCArchive@@@Z ; CList<_SmsReport,_SmsReport &>::Serialize
PUBLIC ??_G?$CList@U_SmsReport@@AAU1@@@UAEPAXI@Z ; CList<_SmsReport,_SmsReport &>::`scalar deleting destructor'
PUBLIC ?AddTail@?$CList@U_REQ_WxWork_Send@@U1@@@QAEPAU__POSITION@@U_REQ_WxWork_Send@@@Z ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::AddTail
PUBLIC ?RemoveAll@?$CList@U_REQ_WxWork_Send@@U1@@@QAEXXZ ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::RemoveAll
PUBLIC ?NewNode@?$CList@U_REQ_WxWork_Send@@U1@@@IAEPAUCNode@1@PAU21@0@Z ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::NewNode
PUBLIC ??1?$CList@U_REQ_WxWork_Send@@U1@@@UAE@XZ ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::~CList<_REQ_WxWork_Send,_REQ_WxWork_Send>
PUBLIC ?Serialize@?$CList@U_REQ_WxWork_Send@@U1@@@UAEXAAVCArchive@@@Z ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::Serialize
PUBLIC ??_G?$CList@U_REQ_WxWork_Send@@U1@@@UAEPAXI@Z ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::`scalar deleting destructor'
PUBLIC ??1CSmsCenterDlg@@UAE@XZ ; CSmsCenterDlg::~CSmsCenterDlg
PUBLIC ?CreateMiniDump@@YAXPAU_EXCEPTION_POINTERS@@PB_W@Z ; CreateMiniDump
PUBLIC ?GPTUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; GPTUnhandledExceptionFilter
PUBLIC ?DisableSetUnhandledExceptionFilter@@YAXXZ ; DisableSetUnhandledExceptionFilter
PUBLIC ?GPTSetSetUnhandledExceptionFilter@@YAXXZ ; GPTSetSetUnhandledExceptionFilter
PUBLIC ??$SerializeElements@U_Mas_TDType@@@@YGXAAVCArchive@@PAU_Mas_TDType@@H@Z ; SerializeElements<_Mas_TDType>
PUBLIC ??$SerializeElements@U_Checkup@@@@YGXAAVCArchive@@PAU_Checkup@@H@Z ; SerializeElements<_Checkup>
PUBLIC ??$SerializeElements@U_REQ_WxWork_Send@@@@YGXAAVCArchive@@PAU_REQ_WxWork_Send@@H@Z ; SerializeElements<_REQ_WxWork_Send>
PUBLIC ??$SerializeElements@U_SmsReport@@@@YGXAAVCArchive@@PAU_SmsReport@@H@Z ; SerializeElements<_SmsReport>
PUBLIC ??_C@_1BK@MGMFAEKH@?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA3?$AA2?$AA?4?$AAd?$AAl?$AAl@ ; `string'
PUBLIC ??_7CCriticalSection@@6B@ ; CCriticalSection::`vftable'
PUBLIC ??_7CSmsCenterApp@@6B@ ; CSmsCenterApp::`vftable'
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 ??_R4CCriticalSection@@6B@ ; CCriticalSection::`RTTI Complete Object Locator'
PUBLIC ??_R0?AVCCriticalSection@@@8 ; CCriticalSection `RTTI Type Descriptor'
PUBLIC ??_R3CCriticalSection@@8 ; CCriticalSection::`RTTI Class Hierarchy Descriptor'
PUBLIC ??_R2CCriticalSection@@8 ; CCriticalSection::`RTTI Base Class Array'
PUBLIC ??_R1A@?0A@EA@CCriticalSection@@8 ; CCriticalSection::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC ??_R1A@?0A@EA@CSyncObject@@8 ; CSyncObject::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC ??_R0?AVCSyncObject@@@8 ; CSyncObject `RTTI Type Descriptor'
PUBLIC ??_R3CSyncObject@@8 ; CSyncObject::`RTTI Class Hierarchy Descriptor'
PUBLIC ??_R2CSyncObject@@8 ; CSyncObject::`RTTI Base Class Array'
PUBLIC ??_7?$CList@U_Checkup@@U1@@@6B@ ; CList<_Checkup,_Checkup>::`vftable'
PUBLIC ??_7?$CArray@U_Mas_TDType@@AAU1@@@6B@ ; CArray<_Mas_TDType,_Mas_TDType &>::`vftable'
PUBLIC ??_7?$CList@U_SmsReport@@AAU1@@@6B@ ; CList<_SmsReport,_SmsReport &>::`vftable'
PUBLIC ??_7?$CList@U_REQ_WxWork_Send@@U1@@@6B@ ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::`vftable'
PUBLIC ??_C@_1EG@GHBDJLCN@?$AA?$CF?$AAs?$AA_?$AA?$CF?$AA0?$AA4?$AAd?$AA?$CF?$AA0?$AA2?$AAd?$AA?$CF?$AA0?$AA2?$AAd@ ; `string'
PUBLIC ??_C@_0BM@EBDAABIF@SetUnhandledExceptionFilter@ ; `string'
PUBLIC ?theApp@@3VCSmsCenterApp@@A ; theApp
PUBLIC ??_R4?$CArray@U_Mas_TDType@@AAU1@@@6B@ ; CArray<_Mas_TDType,_Mas_TDType &>::`RTTI Complete Object Locator'
PUBLIC ??_R0?AV?$CArray@U_Mas_TDType@@AAU1@@@@8 ; CArray<_Mas_TDType,_Mas_TDType &> `RTTI Type Descriptor'
PUBLIC ??_R3?$CArray@U_Mas_TDType@@AAU1@@@8 ; CArray<_Mas_TDType,_Mas_TDType &>::`RTTI Class Hierarchy Descriptor'
PUBLIC ??_R2?$CArray@U_Mas_TDType@@AAU1@@@8 ; CArray<_Mas_TDType,_Mas_TDType &>::`RTTI Base Class Array'
PUBLIC ??_R1A@?0A@EA@?$CArray@U_Mas_TDType@@AAU1@@@8 ; CArray<_Mas_TDType,_Mas_TDType &>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC ??_R4CSmsCenterApp@@6B@ ; CSmsCenterApp::`RTTI Complete Object Locator'
PUBLIC ??_R0?AVCSmsCenterApp@@@8 ; CSmsCenterApp `RTTI Type Descriptor'
PUBLIC ??_R3CSmsCenterApp@@8 ; CSmsCenterApp::`RTTI Class Hierarchy Descriptor'
PUBLIC ??_R2CSmsCenterApp@@8 ; CSmsCenterApp::`RTTI Base Class Array'
PUBLIC ??_R1A@?0A@EA@CSmsCenterApp@@8 ; CSmsCenterApp::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC ??_R1A@?0A@EA@CWinApp@@8 ; CWinApp::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC ??_R0?AVCWinApp@@@8 ; CWinApp `RTTI Type Descriptor'
PUBLIC ??_R3CWinApp@@8 ; CWinApp::`RTTI Class Hierarchy Descriptor'
PUBLIC ??_R2CWinApp@@8 ; CWinApp::`RTTI Base Class Array'
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 ??_R4?$CList@U_Checkup@@U1@@@6B@ ; CList<_Checkup,_Checkup>::`RTTI Complete Object Locator'
PUBLIC ??_R0?AV?$CList@U_Checkup@@U1@@@@8 ; CList<_Checkup,_Checkup> `RTTI Type Descriptor'
PUBLIC ??_R3?$CList@U_Checkup@@U1@@@8 ; CList<_Checkup,_Checkup>::`RTTI Class Hierarchy Descriptor'
PUBLIC ??_R2?$CList@U_Checkup@@U1@@@8 ; CList<_Checkup,_Checkup>::`RTTI Base Class Array'
PUBLIC ??_R1A@?0A@EA@?$CList@U_Checkup@@U1@@@8 ; CList<_Checkup,_Checkup>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC ??_R4?$CList@U_REQ_WxWork_Send@@U1@@@6B@ ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::`RTTI Complete Object Locator'
PUBLIC ??_R0?AV?$CList@U_REQ_WxWork_Send@@U1@@@@8 ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send> `RTTI Type Descriptor'
PUBLIC ??_R3?$CList@U_REQ_WxWork_Send@@U1@@@8 ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::`RTTI Class Hierarchy Descriptor'
PUBLIC ??_R2?$CList@U_REQ_WxWork_Send@@U1@@@8 ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::`RTTI Base Class Array'
PUBLIC ??_R1A@?0A@EA@?$CList@U_REQ_WxWork_Send@@U1@@@8 ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC ??_R4?$CList@U_SmsReport@@AAU1@@@6B@ ; CList<_SmsReport,_SmsReport &>::`RTTI Complete Object Locator'
PUBLIC ??_R0?AV?$CList@U_SmsReport@@AAU1@@@@8 ; CList<_SmsReport,_SmsReport &> `RTTI Type Descriptor'
PUBLIC ??_R3?$CList@U_SmsReport@@AAU1@@@8 ; CList<_SmsReport,_SmsReport &>::`RTTI Class Hierarchy Descriptor'
PUBLIC ??_R2?$CList@U_SmsReport@@AAU1@@@8 ; CList<_SmsReport,_SmsReport &>::`RTTI Base Class Array'
PUBLIC ??_R1A@?0A@EA@?$CList@U_SmsReport@@AAU1@@@8 ; CList<_SmsReport,_SmsReport &>::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN ??_L@YGXPAXIIP6EX0@Z1@Z:PROC ; `eh vector constructor iterator'
EXTRN ??_M@YGXPAXIIP6EX0@Z@Z:PROC ; `eh vector destructor iterator'
EXTRN ??3@YAXPAX@Z:PROC ; operator delete
EXTRN ??3@YAXPAXI@Z:PROC ; operator delete
EXTRN ?__global_delete@@YAXPAXI@Z:PROC ; __global_delete
EXTRN ??_U@YAPAXI@Z:PROC ; operator new[]
EXTRN ??_V@YAXPAX@Z:PROC ; operator delete[]
EXTRN _atexit:PROC
EXTRN ___report_rangecheckfailure:PROC
EXTRN __invalid_parameter_noinfo:PROC
EXTRN __errno:PROC
EXTRN _memcpy:PROC
EXTRN _memmove:PROC
EXTRN _memset:PROC
EXTRN _wcslen:PROC
EXTRN _wcsncmp:PROC
EXTRN __imp__CreateFileW@28:PROC
EXTRN __imp__CloseHandle@4:PROC
EXTRN __imp__SetUnhandledExceptionFilter@4:PROC
EXTRN __imp__EnterCriticalSection@4:PROC
EXTRN __imp__LeaveCriticalSection@4:PROC
EXTRN __imp__DeleteCriticalSection@4:PROC
EXTRN __imp__GetCurrentProcess@0:PROC
EXTRN __imp__GetCurrentProcessId@0:PROC
EXTRN __imp__GetCurrentThreadId@0:PROC
EXTRN __imp__GetLocalTime@4:PROC
EXTRN __imp__VirtualProtect@16:PROC
EXTRN __imp__WriteProcessMemory@20:PROC
EXTRN __imp__GetModuleFileNameW@12:PROC
EXTRN __imp__GetProcAddress@8:PROC
EXTRN __imp__LoadLibraryW@4:PROC
EXTRN __imp__wsprintfW:PROC
EXTRN ?AfxThrowMemoryException@@YGXXZ:PROC ; AfxThrowMemoryException
EXTRN ?AfxThrowInvalidArgException@@YGXXZ:PROC ; AfxThrowInvalidArgException
EXTRN ?AfxThrowArchiveException@@YGXHPB_W@Z:PROC ; AfxThrowArchiveException
EXTRN ?AfxThrowOleException@@YGXJ@Z:PROC ; AfxThrowOleException
EXTRN ?GetRuntimeClass@CObject@@UBEPAUCRuntimeClass@@XZ:PROC ; CObject::GetRuntimeClass
EXTRN __imp__CoUninitialize@0:PROC
EXTRN __imp__CoInitializeEx@8:PROC
EXTRN ?AfxGetStringManager@@YGPAUIAtlStringMgr@ATL@@XZ:PROC ; AfxGetStringManager
EXTRN ?Read@CArchive@@QAEIPAXI@Z:PROC ; CArchive::Read
EXTRN ?Write@CArchive@@QAEXPBXI@Z:PROC ; CArchive::Write
EXTRN ?ReadCount@CArchive@@QAEKXZ:PROC ; CArchive::ReadCount
EXTRN ?WriteCount@CArchive@@QAEXK@Z:PROC ; CArchive::WriteCount
EXTRN ??1CPtrList@@UAE@XZ:PROC ; CPtrList::~CPtrList
EXTRN ?Create@CPlex@@SGPAU1@AAPAU1@II@Z:PROC ; CPlex::Create
EXTRN ?FreeDataChain@CPlex@@QAEXXZ:PROC ; CPlex::FreeDataChain
EXTRN ??1CImageList@@UAE@XZ:PROC ; CImageList::~CImageList
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 ?DoModal@CDialog@@UAEHXZ:PROC ; CDialog::DoModal
EXTRN ??1CDialog@@UAE@XZ:PROC ; CDialog::~CDialog
EXTRN ??1CStatic@@UAE@XZ:PROC ; CStatic::~CStatic
EXTRN ??1CButton@@UAE@XZ:PROC ; CButton::~CButton
EXTRN ??1CEdit@@UAE@XZ:PROC ; CEdit::~CEdit
EXTRN ?PreTranslateMessage@CWinThread@@UAEHPAUtagMSG@@@Z:PROC ; CWinThread::PreTranslateMessage
EXTRN ?PumpMessage@CWinThread@@UAEHXZ:PROC ; CWinThread::PumpMessage
EXTRN ?IsIdleMessage@CWinThread@@UAEHPAUtagMSG@@@Z:PROC ; CWinThread::IsIdleMessage
EXTRN ?ProcessMessageFilter@CWinThread@@UAEHHPAUtagMSG@@@Z:PROC ; CWinThread::ProcessMessageFilter
EXTRN ?GetMainWnd@CWinThread@@UAEPAVCWnd@@XZ:PROC ; CWinThread::GetMainWnd
EXTRN ?Delete@CWinThread@@UAEXXZ:PROC ; CWinThread::Delete
EXTRN ?GetRuntimeClass@CWinApp@@UBEPAUCRuntimeClass@@XZ:PROC ; CWinApp::GetRuntimeClass
EXTRN ??0CWinApp@@QAE@PB_W@Z:PROC ; CWinApp::CWinApp
EXTRN ?GetProfileIntW@CWinApp@@UAEIPB_W0H@Z:PROC ; CWinApp::GetProfileIntW
EXTRN ?WriteProfileInt@CWinApp@@UAEHPB_W0H@Z:PROC ; CWinApp::WriteProfileInt
EXTRN ?GetProfileStringW@CWinApp@@UAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@PB_W00@Z:PROC ; CWinApp::GetProfileStringW
EXTRN ?WriteProfileStringW@CWinApp@@UAEHPB_W00@Z:PROC ; CWinApp::WriteProfileStringW
EXTRN ?GetProfileBinary@CWinApp@@UAEHPB_W0PAPAEPAI@Z:PROC ; CWinApp::GetProfileBinary
EXTRN ?WriteProfileBinary@CWinApp@@UAEHPB_W0PAEI@Z:PROC ; CWinApp::WriteProfileBinary
EXTRN ?InitLibId@CWinApp@@UAEXXZ:PROC ; CWinApp::InitLibId
EXTRN ?Register@CWinApp@@UAEHXZ:PROC ; CWinApp::Register
EXTRN ?Unregister@CWinApp@@UAEHXZ:PROC ; CWinApp::Unregister
EXTRN ?OpenDocumentFile@CWinApp@@UAEPAVCDocument@@PB_W@Z:PROC ; CWinApp::OpenDocumentFile
EXTRN ?OpenDocumentFile@CWinApp@@UAEPAVCDocument@@PB_WH@Z:PROC ; CWinApp::OpenDocumentFile
EXTRN ?AddToRecentFileList@CWinApp@@UAEXPB_W@Z:PROC ; CWinApp::AddToRecentFileList
EXTRN ?InitApplication@CWinApp@@UAEHXZ:PROC ; CWinApp::InitApplication
EXTRN ?SaveAllModified@CWinApp@@UAEHXZ:PROC ; CWinApp::SaveAllModified
EXTRN ?DoMessageBox@CWinApp@@UAEHPB_WII@Z:PROC ; CWinApp::DoMessageBox
EXTRN ?DoWaitCursor@CWinApp@@UAEXH@Z:PROC ; CWinApp::DoWaitCursor
EXTRN ?OnDDECommand@CWinApp@@UAEHPA_W@Z:PROC ; CWinApp::OnDDECommand
EXTRN ?WinHelpW@CWinApp@@UAEXKI@Z:PROC ; CWinApp::WinHelpW
EXTRN ?HtmlHelpW@CWinApp@@UAEXKI@Z:PROC ; CWinApp::HtmlHelpW
EXTRN ?WinHelpInternal@CWinApp@@UAEXKI@Z:PROC ; CWinApp::WinHelpInternal
EXTRN ?RegisterWithRestartManager@CWinApp@@UAEJHABV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@Z:PROC ; CWinApp::RegisterWithRestartManager
EXTRN ?RegisterWithRestartManager@CWinApp@@UAEJPB_WKP6GKPAX@Z1KK@Z:PROC ; CWinApp::RegisterWithRestartManager
EXTRN ?ApplicationRecoveryCallback@CWinApp@@UAEKPAX@Z:PROC ; CWinApp::ApplicationRecoveryCallback
EXTRN ?GetDataRecoveryHandler@CWinApp@@UAEPAVCDataRecoveryHandler@@XZ:PROC ; CWinApp::GetDataRecoveryHandler
EXTRN ?IsTaskbarInteractionEnabled@CWinApp@@UAEHXZ:PROC ; CWinApp::IsTaskbarInteractionEnabled
EXTRN ?ExitInstance@CWinApp@@UAEHXZ:PROC ; CWinApp::ExitInstance
EXTRN ?RestartInstance@CWinApp@@UAEHXZ:PROC ; CWinApp::RestartInstance
EXTRN ?Run@CWinApp@@UAEHXZ:PROC ; CWinApp::Run
EXTRN ?OnIdle@CWinApp@@UAEHJ@Z:PROC ; CWinApp::OnIdle
EXTRN ?ProcessWndProcException@CWinApp@@UAEJPAVCException@@PBUtagMSG@@@Z:PROC ; CWinApp::ProcessWndProcException
EXTRN ?LoadAppLangResourceDLL@CWinApp@@UAEPAUHINSTANCE__@@XZ:PROC ; CWinApp::LoadAppLangResourceDLL
EXTRN ??1CWinApp@@UAE@XZ:PROC ; CWinApp::~CWinApp
EXTRN ?LoadSysPolicies@CWinApp@@UAEHXZ:PROC ; CWinApp::LoadSysPolicies
EXTRN ?AfxEnableControlContainer@@YAXPAVCOccManager@@@Z:PROC ; AfxEnableControlContainer
EXTRN ??1CListCtrl@@UAE@XZ:PROC ; CListCtrl::~CListCtrl
EXTRN ??1CAdoRecordSet@@UAE@XZ:PROC ; CAdoRecordSet::~CAdoRecordSet
EXTRN ??1CAdoConnection@@UAE@XZ:PROC ; CAdoConnection::~CAdoConnection
EXTRN ??1CSyncObject@@UAE@XZ:PROC ; CSyncObject::~CSyncObject
EXTRN ?GetRuntimeClass@CCriticalSection@@UBEPAUCRuntimeClass@@XZ:PROC ; CCriticalSection::GetRuntimeClass
EXTRN ??_ECCriticalSection@@UAEPAXI@Z:PROC ; CCriticalSection::`vector deleting destructor'
EXTRN ??1CSendPub@@QAE@XZ:PROC ; CSendPub::~CSendPub
EXTRN ??1CSqlPool@@UAE@XZ:PROC ; CSqlPool::~CSqlPool
EXTRN ??_ECSmsCenterApp@@UAEPAXI@Z:PROC ; CSmsCenterApp::`vector deleting destructor'
EXTRN ??1CIOCP@@UAE@XZ:PROC ; CIOCP::~CIOCP
EXTRN ??_E?$CList@U_Checkup@@U1@@@UAEPAXI@Z:PROC ; CList<_Checkup,_Checkup>::`vector deleting destructor'
EXTRN ??_E?$CArray@U_Mas_TDType@@AAU1@@@UAEPAXI@Z:PROC ; CArray<_Mas_TDType,_Mas_TDType &>::`vector deleting destructor'
EXTRN ??_E?$CList@U_SmsReport@@AAU1@@@UAEPAXI@Z:PROC ; CList<_SmsReport,_SmsReport &>::`vector deleting destructor'
EXTRN ??_E?$CList@U_REQ_WxWork_Send@@U1@@@UAEPAXI@Z:PROC ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::`vector deleting destructor'
EXTRN ?GetProcessNameAndID@CSmsCenterDlg@@SAXKPA_W@Z:PROC ; CSmsCenterDlg::GetProcessNameAndID
EXTRN ??0CSmsCenterDlg@@QAE@PAVCWnd@@@Z:PROC ; CSmsCenterDlg::CSmsCenterDlg
EXTRN _EnumProcesses@12:PROC
EXTRN _MiniDumpWriteDump@28:PROC
EXTRN @__security_check_cookie@4:PROC
EXTRN ___CxxFrameHandler3:PROC
EXTRN __chkstk:PROC
EXTRN _memset:PROC
EXTRN ??_7type_info@@6B@:QWORD ; type_info::`vftable'
EXTRN ___security_cookie:DWORD
_BSS SEGMENT
?theApp@@3VCSmsCenterApp@@A DB 0ccH DUP (?) ; theApp
_BSS ENDS
CRT$XCU SEGMENT
?theApp$initializer$@@3P6AXXZA DD FLAT:??__EtheApp@@YAXXZ ; theApp$initializer$
CRT$XCU ENDS
; COMDAT ??_R1A@?0A@EA@?$CList@U_SmsReport@@AAU1@@@8
rdata$r SEGMENT
??_R1A@?0A@EA@?$CList@U_SmsReport@@AAU1@@@8 DD FLAT:??_R0?AV?$CList@U_SmsReport@@AAU1@@@@8 ; CList<_SmsReport,_SmsReport &>::`RTTI Base Class Descriptor at (0,-1,0,64)'
DD 01H
DD 00H
DD 0ffffffffH
DD 00H
DD 040H
DD FLAT:??_R3?$CList@U_SmsReport@@AAU1@@@8
rdata$r ENDS
; COMDAT ??_R2?$CList@U_SmsReport@@AAU1@@@8
rdata$r SEGMENT
??_R2?$CList@U_SmsReport@@AAU1@@@8 DD FLAT:??_R1A@?0A@EA@?$CList@U_SmsReport@@AAU1@@@8 ; CList<_SmsReport,_SmsReport &>::`RTTI Base Class Array'
DD FLAT:??_R1A@?0A@EA@CObject@@8
rdata$r ENDS
; COMDAT ??_R3?$CList@U_SmsReport@@AAU1@@@8
rdata$r SEGMENT
??_R3?$CList@U_SmsReport@@AAU1@@@8 DD 00H ; CList<_SmsReport,_SmsReport &>::`RTTI Class Hierarchy Descriptor'
DD 00H
DD 02H
DD FLAT:??_R2?$CList@U_SmsReport@@AAU1@@@8
rdata$r ENDS
; COMDAT ??_R0?AV?$CList@U_SmsReport@@AAU1@@@@8
data$rs SEGMENT
??_R0?AV?$CList@U_SmsReport@@AAU1@@@@8 DD FLAT:??_7type_info@@6B@ ; CList<_SmsReport,_SmsReport &> `RTTI Type Descriptor'
DD 00H
DB '.?AV?$CList@U_SmsReport@@AAU1@@@', 00H
data$rs ENDS
; COMDAT ??_R4?$CList@U_SmsReport@@AAU1@@@6B@
rdata$r SEGMENT
??_R4?$CList@U_SmsReport@@AAU1@@@6B@ DD 00H ; CList<_SmsReport,_SmsReport &>::`RTTI Complete Object Locator'
DD 00H
DD 00H
DD FLAT:??_R0?AV?$CList@U_SmsReport@@AAU1@@@@8
DD FLAT:??_R3?$CList@U_SmsReport@@AAU1@@@8
rdata$r ENDS
; COMDAT ??_R1A@?0A@EA@?$CList@U_REQ_WxWork_Send@@U1@@@8
rdata$r SEGMENT
??_R1A@?0A@EA@?$CList@U_REQ_WxWork_Send@@U1@@@8 DD FLAT:??_R0?AV?$CList@U_REQ_WxWork_Send@@U1@@@@8 ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::`RTTI Base Class Descriptor at (0,-1,0,64)'
DD 01H
DD 00H
DD 0ffffffffH
DD 00H
DD 040H
DD FLAT:??_R3?$CList@U_REQ_WxWork_Send@@U1@@@8
rdata$r ENDS
; COMDAT ??_R2?$CList@U_REQ_WxWork_Send@@U1@@@8
rdata$r SEGMENT
??_R2?$CList@U_REQ_WxWork_Send@@U1@@@8 DD FLAT:??_R1A@?0A@EA@?$CList@U_REQ_WxWork_Send@@U1@@@8 ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::`RTTI Base Class Array'
DD FLAT:??_R1A@?0A@EA@CObject@@8
rdata$r ENDS
; COMDAT ??_R3?$CList@U_REQ_WxWork_Send@@U1@@@8
rdata$r SEGMENT
??_R3?$CList@U_REQ_WxWork_Send@@U1@@@8 DD 00H ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::`RTTI Class Hierarchy Descriptor'
DD 00H
DD 02H
DD FLAT:??_R2?$CList@U_REQ_WxWork_Send@@U1@@@8
rdata$r ENDS
; COMDAT ??_R0?AV?$CList@U_REQ_WxWork_Send@@U1@@@@8
data$rs SEGMENT
??_R0?AV?$CList@U_REQ_WxWork_Send@@U1@@@@8 DD FLAT:??_7type_info@@6B@ ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send> `RTTI Type Descriptor'
DD 00H
DB '.?AV?$CList@U_REQ_WxWork_Send@@U1@@@', 00H
data$rs ENDS
; COMDAT ??_R4?$CList@U_REQ_WxWork_Send@@U1@@@6B@
rdata$r SEGMENT
??_R4?$CList@U_REQ_WxWork_Send@@U1@@@6B@ DD 00H ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::`RTTI Complete Object Locator'
DD 00H
DD 00H
DD FLAT:??_R0?AV?$CList@U_REQ_WxWork_Send@@U1@@@@8
DD FLAT:??_R3?$CList@U_REQ_WxWork_Send@@U1@@@8
rdata$r ENDS
; COMDAT ??_R1A@?0A@EA@?$CList@U_Checkup@@U1@@@8
rdata$r SEGMENT
??_R1A@?0A@EA@?$CList@U_Checkup@@U1@@@8 DD FLAT:??_R0?AV?$CList@U_Checkup@@U1@@@@8 ; CList<_Checkup,_Checkup>::`RTTI Base Class Descriptor at (0,-1,0,64)'
DD 01H
DD 00H
DD 0ffffffffH
DD 00H
DD 040H
DD FLAT:??_R3?$CList@U_Checkup@@U1@@@8
rdata$r ENDS
; COMDAT ??_R2?$CList@U_Checkup@@U1@@@8
rdata$r SEGMENT
??_R2?$CList@U_Checkup@@U1@@@8 DD FLAT:??_R1A@?0A@EA@?$CList@U_Checkup@@U1@@@8 ; CList<_Checkup,_Checkup>::`RTTI Base Class Array'
DD FLAT:??_R1A@?0A@EA@CObject@@8
rdata$r ENDS
; COMDAT ??_R3?$CList@U_Checkup@@U1@@@8
rdata$r SEGMENT
??_R3?$CList@U_Checkup@@U1@@@8 DD 00H ; CList<_Checkup,_Checkup>::`RTTI Class Hierarchy Descriptor'
DD 00H
DD 02H
DD FLAT:??_R2?$CList@U_Checkup@@U1@@@8
rdata$r ENDS
; COMDAT ??_R0?AV?$CList@U_Checkup@@U1@@@@8
data$rs SEGMENT
??_R0?AV?$CList@U_Checkup@@U1@@@@8 DD FLAT:??_7type_info@@6B@ ; CList<_Checkup,_Checkup> `RTTI Type Descriptor'
DD 00H
DB '.?AV?$CList@U_Checkup@@U1@@@', 00H
data$rs ENDS
; COMDAT ??_R4?$CList@U_Checkup@@U1@@@6B@
rdata$r SEGMENT
??_R4?$CList@U_Checkup@@U1@@@6B@ DD 00H ; CList<_Checkup,_Checkup>::`RTTI Complete Object Locator'
DD 00H
DD 00H
DD FLAT:??_R0?AV?$CList@U_Checkup@@U1@@@@8
DD FLAT:??_R3?$CList@U_Checkup@@U1@@@8
rdata$r 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 ??_R2CWinApp@@8
rdata$r SEGMENT
??_R2CWinApp@@8 DD FLAT:??_R1A@?0A@EA@CWinApp@@8 ; CWinApp::`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 ??_R3CWinApp@@8
rdata$r SEGMENT
??_R3CWinApp@@8 DD 00H ; CWinApp::`RTTI Class Hierarchy Descriptor'
DD 00H
DD 04H
DD FLAT:??_R2CWinApp@@8
rdata$r ENDS
; COMDAT ??_R0?AVCWinApp@@@8
data$rs SEGMENT
??_R0?AVCWinApp@@@8 DD FLAT:??_7type_info@@6B@ ; CWinApp `RTTI Type Descriptor'
DD 00H
DB '.?AVCWinApp@@', 00H
data$rs ENDS
; COMDAT ??_R1A@?0A@EA@CWinApp@@8
rdata$r SEGMENT
??_R1A@?0A@EA@CWinApp@@8 DD FLAT:??_R0?AVCWinApp@@@8 ; CWinApp::`RTTI Base Class Descriptor at (0,-1,0,64)'
DD 03H
DD 00H
DD 0ffffffffH
DD 00H
DD 040H
DD FLAT:??_R3CWinApp@@8
rdata$r ENDS
; COMDAT ??_R1A@?0A@EA@CSmsCenterApp@@8
rdata$r SEGMENT
??_R1A@?0A@EA@CSmsCenterApp@@8 DD FLAT:??_R0?AVCSmsCenterApp@@@8 ; CSmsCenterApp::`RTTI Base Class Descriptor at (0,-1,0,64)'
DD 04H
DD 00H
DD 0ffffffffH
DD 00H
DD 040H
DD FLAT:??_R3CSmsCenterApp@@8
rdata$r ENDS
; COMDAT ??_R2CSmsCenterApp@@8
rdata$r SEGMENT
??_R2CSmsCenterApp@@8 DD FLAT:??_R1A@?0A@EA@CSmsCenterApp@@8 ; CSmsCenterApp::`RTTI Base Class Array'
DD FLAT:??_R1A@?0A@EA@CWinApp@@8
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 ??_R3CSmsCenterApp@@8
rdata$r SEGMENT
??_R3CSmsCenterApp@@8 DD 00H ; CSmsCenterApp::`RTTI Class Hierarchy Descriptor'
DD 00H
DD 05H
DD FLAT:??_R2CSmsCenterApp@@8
rdata$r ENDS
; COMDAT ??_R0?AVCSmsCenterApp@@@8
data$rs SEGMENT
??_R0?AVCSmsCenterApp@@@8 DD FLAT:??_7type_info@@6B@ ; CSmsCenterApp `RTTI Type Descriptor'
DD 00H
DB '.?AVCSmsCenterApp@@', 00H
data$rs ENDS
; COMDAT ??_R4CSmsCenterApp@@6B@
rdata$r SEGMENT
??_R4CSmsCenterApp@@6B@ DD 00H ; CSmsCenterApp::`RTTI Complete Object Locator'
DD 00H
DD 00H
DD FLAT:??_R0?AVCSmsCenterApp@@@8
DD FLAT:??_R3CSmsCenterApp@@8
rdata$r ENDS
; COMDAT ??_R1A@?0A@EA@?$CArray@U_Mas_TDType@@AAU1@@@8
rdata$r SEGMENT
??_R1A@?0A@EA@?$CArray@U_Mas_TDType@@AAU1@@@8 DD FLAT:??_R0?AV?$CArray@U_Mas_TDType@@AAU1@@@@8 ; CArray<_Mas_TDType,_Mas_TDType &>::`RTTI Base Class Descriptor at (0,-1,0,64)'
DD 01H
DD 00H
DD 0ffffffffH
DD 00H
DD 040H
DD FLAT:??_R3?$CArray@U_Mas_TDType@@AAU1@@@8
rdata$r ENDS
; COMDAT ??_R2?$CArray@U_Mas_TDType@@AAU1@@@8
rdata$r SEGMENT
??_R2?$CArray@U_Mas_TDType@@AAU1@@@8 DD FLAT:??_R1A@?0A@EA@?$CArray@U_Mas_TDType@@AAU1@@@8 ; CArray<_Mas_TDType,_Mas_TDType &>::`RTTI Base Class Array'
DD FLAT:??_R1A@?0A@EA@CObject@@8
rdata$r ENDS
; COMDAT ??_R3?$CArray@U_Mas_TDType@@AAU1@@@8
rdata$r SEGMENT
??_R3?$CArray@U_Mas_TDType@@AAU1@@@8 DD 00H ; CArray<_Mas_TDType,_Mas_TDType &>::`RTTI Class Hierarchy Descriptor'
DD 00H
DD 02H
DD FLAT:??_R2?$CArray@U_Mas_TDType@@AAU1@@@8
rdata$r ENDS
; COMDAT ??_R0?AV?$CArray@U_Mas_TDType@@AAU1@@@@8
data$rs SEGMENT
??_R0?AV?$CArray@U_Mas_TDType@@AAU1@@@@8 DD FLAT:??_7type_info@@6B@ ; CArray<_Mas_TDType,_Mas_TDType &> `RTTI Type Descriptor'
DD 00H
DB '.?AV?$CArray@U_Mas_TDType@@AAU1@@@', 00H
data$rs ENDS
; COMDAT ??_R4?$CArray@U_Mas_TDType@@AAU1@@@6B@
rdata$r SEGMENT
??_R4?$CArray@U_Mas_TDType@@AAU1@@@6B@ DD 00H ; CArray<_Mas_TDType,_Mas_TDType &>::`RTTI Complete Object Locator'
DD 00H
DD 00H
DD FLAT:??_R0?AV?$CArray@U_Mas_TDType@@AAU1@@@@8
DD FLAT:??_R3?$CArray@U_Mas_TDType@@AAU1@@@8
rdata$r ENDS
; COMDAT ??_C@_0BM@EBDAABIF@SetUnhandledExceptionFilter@
CONST SEGMENT
??_C@_0BM@EBDAABIF@SetUnhandledExceptionFilter@ DB 'SetUnhandledException'
DB 'Filter', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_1EG@GHBDJLCN@?$AA?$CF?$AAs?$AA_?$AA?$CF?$AA0?$AA4?$AAd?$AA?$CF?$AA0?$AA2?$AAd?$AA?$CF?$AA0?$AA2?$AAd@
CONST SEGMENT
??_C@_1EG@GHBDJLCN@?$AA?$CF?$AAs?$AA_?$AA?$CF?$AA0?$AA4?$AAd?$AA?$CF?$AA0?$AA2?$AAd?$AA?$CF?$AA0?$AA2?$AAd@ DB '%'
DB 00H, 's', 00H, '_', 00H, '%', 00H, '0', 00H, '4', 00H, 'd', 00H
DB '%', 00H, '0', 00H, '2', 00H, 'd', 00H, '%', 00H, '0', 00H, '2'
DB 00H, 'd', 00H, ' ', 00H, '%', 00H, '0', 00H, '2', 00H, 'd', 00H
DB '_', 00H, '%', 00H, '0', 00H, '2', 00H, 'd', 00H, '_', 00H, '%'
DB 00H, '0', 00H, '2', 00H, 'd', 00H, '.', 00H, 'd', 00H, 'm', 00H
DB 'p', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_7?$CList@U_REQ_WxWork_Send@@U1@@@6B@
CONST SEGMENT
??_7?$CList@U_REQ_WxWork_Send@@U1@@@6B@ DD FLAT:??_R4?$CList@U_REQ_WxWork_Send@@U1@@@6B@ ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::`vftable'
DD FLAT:?GetRuntimeClass@CObject@@UBEPAUCRuntimeClass@@XZ
DD FLAT:??_E?$CList@U_REQ_WxWork_Send@@U1@@@UAEPAXI@Z
DD FLAT:?Serialize@?$CList@U_REQ_WxWork_Send@@U1@@@UAEXAAVCArchive@@@Z
CONST ENDS
; COMDAT ??_7?$CList@U_SmsReport@@AAU1@@@6B@
CONST SEGMENT
??_7?$CList@U_SmsReport@@AAU1@@@6B@ DD FLAT:??_R4?$CList@U_SmsReport@@AAU1@@@6B@ ; CList<_SmsReport,_SmsReport &>::`vftable'
DD FLAT:?GetRuntimeClass@CObject@@UBEPAUCRuntimeClass@@XZ
DD FLAT:??_E?$CList@U_SmsReport@@AAU1@@@UAEPAXI@Z
DD FLAT:?Serialize@?$CList@U_SmsReport@@AAU1@@@UAEXAAVCArchive@@@Z
CONST ENDS
; COMDAT ??_7?$CArray@U_Mas_TDType@@AAU1@@@6B@
CONST SEGMENT
??_7?$CArray@U_Mas_TDType@@AAU1@@@6B@ DD FLAT:??_R4?$CArray@U_Mas_TDType@@AAU1@@@6B@ ; CArray<_Mas_TDType,_Mas_TDType &>::`vftable'
DD FLAT:?GetRuntimeClass@CObject@@UBEPAUCRuntimeClass@@XZ
DD FLAT:??_E?$CArray@U_Mas_TDType@@AAU1@@@UAEPAXI@Z
DD FLAT:?Serialize@?$CArray@U_Mas_TDType@@AAU1@@@UAEXAAVCArchive@@@Z
CONST ENDS
; COMDAT ??_7?$CList@U_Checkup@@U1@@@6B@
CONST SEGMENT
??_7?$CList@U_Checkup@@U1@@@6B@ DD FLAT:??_R4?$CList@U_Checkup@@U1@@@6B@ ; CList<_Checkup,_Checkup>::`vftable'
DD FLAT:?GetRuntimeClass@CObject@@UBEPAUCRuntimeClass@@XZ
DD FLAT:??_E?$CList@U_Checkup@@U1@@@UAEPAXI@Z
DD FLAT:?Serialize@?$CList@U_Checkup@@U1@@@UAEXAAVCArchive@@@Z
CONST ENDS
; COMDAT ??_R2CSyncObject@@8
rdata$r SEGMENT
??_R2CSyncObject@@8 DD FLAT:??_R1A@?0A@EA@CSyncObject@@8 ; CSyncObject::`RTTI Base Class Array'
DD FLAT:??_R1A@?0A@EA@CObject@@8
rdata$r ENDS
; COMDAT ??_R3CSyncObject@@8
rdata$r SEGMENT
??_R3CSyncObject@@8 DD 00H ; CSyncObject::`RTTI Class Hierarchy Descriptor'
DD 00H
DD 02H
DD FLAT:??_R2CSyncObject@@8
rdata$r ENDS
; COMDAT ??_R0?AVCSyncObject@@@8
data$rs SEGMENT
??_R0?AVCSyncObject@@@8 DD FLAT:??_7type_info@@6B@ ; CSyncObject `RTTI Type Descriptor'
DD 00H
DB '.?AVCSyncObject@@', 00H
data$rs ENDS
; COMDAT ??_R1A@?0A@EA@CSyncObject@@8
rdata$r SEGMENT
??_R1A@?0A@EA@CSyncObject@@8 DD FLAT:??_R0?AVCSyncObject@@@8 ; CSyncObject::`RTTI Base Class Descriptor at (0,-1,0,64)'
DD 01H
DD 00H
DD 0ffffffffH
DD 00H
DD 040H
DD FLAT:??_R3CSyncObject@@8
rdata$r ENDS
; COMDAT ??_R1A@?0A@EA@CCriticalSection@@8
rdata$r SEGMENT
??_R1A@?0A@EA@CCriticalSection@@8 DD FLAT:??_R0?AVCCriticalSection@@@8 ; CCriticalSection::`RTTI Base Class Descriptor at (0,-1,0,64)'
DD 02H
DD 00H
DD 0ffffffffH
DD 00H
DD 040H
DD FLAT:??_R3CCriticalSection@@8
rdata$r ENDS
; COMDAT ??_R2CCriticalSection@@8
rdata$r SEGMENT
??_R2CCriticalSection@@8 DD FLAT:??_R1A@?0A@EA@CCriticalSection@@8 ; CCriticalSection::`RTTI Base Class Array'
DD FLAT:??_R1A@?0A@EA@CSyncObject@@8
DD FLAT:??_R1A@?0A@EA@CObject@@8
rdata$r ENDS
; COMDAT ??_R3CCriticalSection@@8
rdata$r SEGMENT
??_R3CCriticalSection@@8 DD 00H ; CCriticalSection::`RTTI Class Hierarchy Descriptor'
DD 00H
DD 03H
DD FLAT:??_R2CCriticalSection@@8
rdata$r ENDS
; COMDAT ??_R0?AVCCriticalSection@@@8
data$rs SEGMENT
??_R0?AVCCriticalSection@@@8 DD FLAT:??_7type_info@@6B@ ; CCriticalSection `RTTI Type Descriptor'
DD 00H
DB '.?AVCCriticalSection@@', 00H
data$rs ENDS
; COMDAT ??_R4CCriticalSection@@6B@
rdata$r SEGMENT
??_R4CCriticalSection@@6B@ DD 00H ; CCriticalSection::`RTTI Complete Object Locator'
DD 00H
DD 00H
DD FLAT:??_R0?AVCCriticalSection@@@8
DD FLAT:??_R3CCriticalSection@@8
rdata$r 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 ??_7CSmsCenterApp@@6B@
CONST SEGMENT
??_7CSmsCenterApp@@6B@ DD FLAT:??_R4CSmsCenterApp@@6B@ ; CSmsCenterApp::`vftable'
DD FLAT:?GetRuntimeClass@CWinApp@@UBEPAUCRuntimeClass@@XZ
DD FLAT:??_ECSmsCenterApp@@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@CSmsCenterApp@@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@CSmsCenterApp@@UAEHXZ
DD FLAT:?Run@CWinApp@@UAEHXZ
DD FLAT:?PreTranslateMessage@CWinThread@@UAEHPAUtagMSG@@@Z
DD FLAT:?PumpMessage@CWinThread@@UAEHXZ
DD FLAT:?OnIdle@CWinApp@@UAEHJ@Z
DD FLAT:?IsIdleMessage@CWinThread@@UAEHPAUtagMSG@@@Z
DD FLAT:?ExitInstance@CSmsCenterApp@@UAEHXZ
DD FLAT:?ProcessWndProcException@CWinApp@@UAEJPAVCException@@PBUtagMSG@@@Z
DD FLAT:?ProcessMessageFilter@CWinThread@@UAEHHPAUtagMSG@@@Z
DD FLAT:?GetMainWnd@CWinThread@@UAEPAVCWnd@@XZ
DD FLAT:?Delete@CWinThread@@UAEXXZ
DD FLAT:?GetProfileIntW@CWinApp@@UAEIPB_W0H@Z
DD FLAT:?WriteProfileInt@CWinApp@@UAEHPB_W0H@Z
DD FLAT:?GetProfileStringW@CWinApp@@UAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@PB_W00@Z
DD FLAT:?WriteProfileStringW@CWinApp@@UAEHPB_W00@Z
DD FLAT:?GetProfileBinary@CWinApp@@UAEHPB_W0PAPAEPAI@Z
DD FLAT:?WriteProfileBinary@CWinApp@@UAEHPB_W0PAEI@Z
DD FLAT:?InitLibId@CWinApp@@UAEXXZ
DD FLAT:?Register@CWinApp@@UAEHXZ
DD FLAT:?Unregister@CWinApp@@UAEHXZ
DD FLAT:?OpenDocumentFile@CWinApp@@UAEPAVCDocument@@PB_WH@Z
DD FLAT:?OpenDocumentFile@CWinApp@@UAEPAVCDocument@@PB_W@Z
DD FLAT:?AddToRecentFileList@CWinApp@@UAEXPB_W@Z
DD FLAT:?InitApplication@CWinApp@@UAEHXZ
DD FLAT:?SaveAllModified@CWinApp@@UAEHXZ
DD FLAT:?DoMessageBox@CWinApp@@UAEHPB_WII@Z
DD FLAT:?DoWaitCursor@CWinApp@@UAEXH@Z
DD FLAT:?OnDDECommand@CWinApp@@UAEHPA_W@Z
DD FLAT:?WinHelpW@CWinApp@@UAEXKI@Z
DD FLAT:?HtmlHelpW@CWinApp@@UAEXKI@Z
DD FLAT:?WinHelpInternal@CWinApp@@UAEXKI@Z
DD FLAT:?RegisterWithRestartManager@CWinApp@@UAEJPB_WKP6GKPAX@Z1KK@Z
DD FLAT:?RegisterWithRestartManager@CWinApp@@UAEJHABV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@Z
DD FLAT:?ApplicationRecoveryCallback@CWinApp@@UAEKPAX@Z
DD FLAT:?SupportsRestartManager@CWinApp@@UBEHXZ
DD FLAT:?SupportsApplicationRecovery@CWinApp@@UBEHXZ
DD FLAT:?SupportsAutosaveAtRestart@CWinApp@@UBEHXZ
DD FLAT:?SupportsAutosaveAtInterval@CWinApp@@UBEHXZ
DD FLAT:?ReopenPreviousFilesAtRestart@CWinApp@@UBEHXZ
DD FLAT:?RestoreAutosavedFilesAtRestart@CWinApp@@UBEHXZ
DD FLAT:?GetApplicationRestartFlags@CWinApp@@UAEKXZ
DD FLAT:?GetApplicationRecoveryParameter@CWinApp@@UAEPAXXZ
DD FLAT:?GetApplicationRecoveryPingInterval@CWinApp@@UAEKXZ
DD FLAT:?GetDataRecoveryHandler@CWinApp@@UAEPAVCDataRecoveryHandler@@XZ
DD FLAT:?IsTaskbarInteractionEnabled@CWinApp@@UAEHXZ
DD FLAT:?RestartInstance@CWinApp@@UAEHXZ
DD FLAT:?LoadAppLangResourceDLL@CWinApp@@UAEPAUHINSTANCE__@@XZ
DD FLAT:?LoadSysPolicies@CWinApp@@UAEHXZ
CONST ENDS
; COMDAT ??_7CCriticalSection@@6B@
CONST SEGMENT
??_7CCriticalSection@@6B@ DD FLAT:??_R4CCriticalSection@@6B@ ; CCriticalSection::`vftable'
DD FLAT:?GetRuntimeClass@CCriticalSection@@UBEPAUCRuntimeClass@@XZ
DD FLAT:??_ECCriticalSection@@UAEPAXI@Z
DD FLAT:?Serialize@CObject@@UAEXAAVCArchive@@@Z
DD FLAT:?Lock@CCriticalSection@@UAEHK@Z
DD FLAT:?Unlock@CSyncObject@@UAEHJPAJ@Z
DD FLAT:?Unlock@CCriticalSection@@UAEHXZ
CONST ENDS
; COMDAT ??_C@_1BK@MGMFAEKH@?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA3?$AA2?$AA?4?$AAd?$AAl?$AAl@
CONST SEGMENT
??_C@_1BK@MGMFAEKH@?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA3?$AA2?$AA?4?$AAd?$AAl?$AAl@ DB 'k'
DB 00H, 'e', 00H, 'r', 00H, 'n', 00H, 'e', 00H, 'l', 00H, '3', 00H
DB '2', 00H, '.', 00H, 'd', 00H, 'l', 00H, 'l', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 0dH
DB 0f4H
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 010H
DB 0d6H
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 0246H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$??1CSmsCenterDlg@@UAE@XZ DD 019930522H
DD 029H
DD FLAT:__unwindtable$??1CSmsCenterDlg@@UAE@XZ
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
__unwindtable$??1CSmsCenterDlg@@UAE@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$0
DD 00H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$1
DD 01H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$2
DD 02H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$3
DD 03H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$4
DD 04H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$5
DD 05H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$6
DD 06H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$7
DD 07H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$8
DD 08H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$9
DD 09H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$10
DD 0aH
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$11
DD 0bH
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$12
DD 0cH
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$13
DD 0dH
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$14
DD 0eH
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$15
DD 0fH
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$16
DD 010H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$17
DD 011H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$18
DD 012H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$19
DD 013H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$20
DD 014H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$21
DD 015H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$22
DD 016H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$23
DD 017H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$24
DD 018H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$25
DD 019H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$26
DD 01aH
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$27
DD 01bH
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$28
DD 01cH
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$29
DD 01dH
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$30
DD 01eH
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$31
DD 01fH
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$32
DD 020H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$33
DD 021H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$34
DD 022H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$35
DD 023H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$36
DD 024H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$37
DD 025H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$38
DD 026H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$39
DD 027H
DD FLAT:__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$40
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 029H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$?Serialize@?$CList@U_REQ_WxWork_Send@@U1@@@UAEXAAVCArchive@@@Z DD 0ffffffffH
DD FLAT:__unwindfunclet$?Serialize@?$CList@U_REQ_WxWork_Send@@U1@@@UAEXAAVCArchive@@@Z$0
DD 00H
DD FLAT:__unwindfunclet$?Serialize@?$CList@U_REQ_WxWork_Send@@U1@@@UAEXAAVCArchive@@@Z$1
__ehfuncinfo$?Serialize@?$CList@U_REQ_WxWork_Send@@U1@@@UAEXAAVCArchive@@@Z DD 019930522H
DD 02H
DD FLAT:__unwindtable$?Serialize@?$CList@U_REQ_WxWork_Send@@U1@@@UAEXAAVCArchive@@@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?$CList@U_REQ_WxWork_Send@@U1@@@UAE@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$??1?$CList@U_REQ_WxWork_Send@@U1@@@UAE@XZ$0
__ehfuncinfo$??1?$CList@U_REQ_WxWork_Send@@U1@@@UAE@XZ DD 019930522H
DD 01H
DD FLAT:__unwindtable$??1?$CList@U_REQ_WxWork_Send@@U1@@@UAE@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$?AddTail@?$CList@U_REQ_WxWork_Send@@U1@@@QAEPAU__POSITION@@U_REQ_WxWork_Send@@@Z DD 0ffffffffH
DD FLAT:__unwindfunclet$?AddTail@?$CList@U_REQ_WxWork_Send@@U1@@@QAEPAU__POSITION@@U_REQ_WxWork_Send@@@Z$0
__ehfuncinfo$?AddTail@?$CList@U_REQ_WxWork_Send@@U1@@@QAEPAU__POSITION@@U_REQ_WxWork_Send@@@Z DD 019930522H
DD 01H
DD FLAT:__unwindtable$?AddTail@?$CList@U_REQ_WxWork_Send@@U1@@@QAEPAU__POSITION@@U_REQ_WxWork_Send@@@Z
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 00H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 021H
DB 02eH
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 01eH
DW 0121H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$?Serialize@?$CList@U_SmsReport@@AAU1@@@UAEXAAVCArchive@@@Z DD 0ffffffffH
DD FLAT:__unwindfunclet$?Serialize@?$CList@U_SmsReport@@AAU1@@@UAEXAAVCArchive@@@Z$0
__ehfuncinfo$?Serialize@?$CList@U_SmsReport@@AAU1@@@UAEXAAVCArchive@@@Z DD 019930522H
DD 01H
DD FLAT:__unwindtable$?Serialize@?$CList@U_SmsReport@@AAU1@@@UAEXAAVCArchive@@@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?$CList@U_SmsReport@@AAU1@@@UAE@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$??1?$CList@U_SmsReport@@AAU1@@@UAE@XZ$0
__ehfuncinfo$??1?$CList@U_SmsReport@@AAU1@@@UAE@XZ DD 019930522H
DD 01H
DD FLAT:__unwindtable$??1?$CList@U_SmsReport@@AAU1@@@UAE@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$??1?$CArray@U_Mas_TDType@@AAU1@@@UAE@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$??1?$CArray@U_Mas_TDType@@AAU1@@@UAE@XZ$0
__ehfuncinfo$??1?$CArray@U_Mas_TDType@@AAU1@@@UAE@XZ DD 019930522H
DD 01H
DD FLAT:__unwindtable$??1?$CArray@U_Mas_TDType@@AAU1@@@UAE@XZ
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 010H
DB 0d8H
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 016H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$??1?$CList@U_Checkup@@U1@@@UAE@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$??1?$CList@U_Checkup@@U1@@@UAE@XZ$0
__ehfuncinfo$??1?$CList@U_Checkup@@U1@@@UAE@XZ DD 019930522H
DD 01H
DD FLAT:__unwindtable$??1?$CList@U_Checkup@@U1@@@UAE@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$??1?$CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$??1?$CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@XZ$0
__ehfuncinfo$??1?$CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@XZ DD 019930522H
DD 01H
DD FLAT:__unwindtable$??1?$CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@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$??1?$_CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$??1?$_CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@XZ$0
__ehfuncinfo$??1?$_CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@XZ DD 019930522H
DD 01H
DD FLAT:__unwindtable$??1?$_CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@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$??1CSmsCenterApp@@UAE@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$??1CSmsCenterApp@@UAE@XZ$0
__ehfuncinfo$??1CSmsCenterApp@@UAE@XZ DD 019930522H
DD 01H
DD FLAT:__unwindtable$??1CSmsCenterApp@@UAE@XZ
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 019H
DB 026H
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 022H
DB 0b7H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$?InitInstance@CSmsCenterApp@@UAEHXZ DD 0ffffffffH
DD FLAT:__unwindfunclet$?InitInstance@CSmsCenterApp@@UAEHXZ$0
__ehfuncinfo$?InitInstance@CSmsCenterApp@@UAEHXZ DD 019930522H
DD 01H
DD FLAT:__unwindtable$?InitInstance@CSmsCenterApp@@UAEHXZ
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$??0CSmsCenterApp@@QAE@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$??0CSmsCenterApp@@QAE@XZ$0
__ehfuncinfo$??0CSmsCenterApp@@QAE@XZ DD 019930522H
DD 01H
DD FLAT:__unwindtable$??0CSmsCenterApp@@QAE@XZ
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 00H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 014H
DW 0101H
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 02fH
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$??1_SmsReport@@QAE@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$??1_SmsReport@@QAE@XZ$0
DD 00H
DD FLAT:__unwindfunclet$??1_SmsReport@@QAE@XZ$1
DD 01H
DD FLAT:__unwindfunclet$??1_SmsReport@@QAE@XZ$2
__ehfuncinfo$??1_SmsReport@@QAE@XZ DD 019930522H
DD 03H
DD FLAT:__unwindtable$??1_SmsReport@@QAE@XZ
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 02fH
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$??0_SmsReport@@QAE@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$??0_SmsReport@@QAE@XZ$0
DD 00H
DD FLAT:__unwindfunclet$??0_SmsReport@@QAE@XZ$1
DD 01H
DD FLAT:__unwindfunclet$??0_SmsReport@@QAE@XZ$2
__ehfuncinfo$??0_SmsReport@@QAE@XZ DD 019930522H
DD 03H
DD FLAT:__unwindtable$??0_SmsReport@@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$??1CCriticalSection@@UAE@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$??1CCriticalSection@@UAE@XZ$0
__ehfuncinfo$??1CCriticalSection@@UAE@XZ DD 019930522H
DD 01H
DD FLAT:__unwindtable$??1CCriticalSection@@UAE@XZ
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 02cH
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$??0_REQ_WxWork_Send@@QAE@ABU0@@Z DD 0ffffffffH
DD FLAT:__unwindfunclet$??0_REQ_WxWork_Send@@QAE@ABU0@@Z$0
DD 00H
DD FLAT:__unwindfunclet$??0_REQ_WxWork_Send@@QAE@ABU0@@Z$1
DD 01H
DD FLAT:__unwindfunclet$??0_REQ_WxWork_Send@@QAE@ABU0@@Z$2
__ehfuncinfo$??0_REQ_WxWork_Send@@QAE@ABU0@@Z DD 019930522H
DD 03H
DD FLAT:__unwindtable$??0_REQ_WxWork_Send@@QAE@ABU0@@Z
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 00H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 02cH
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$??1_REQ_WxWork_Send@@QAE@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$??1_REQ_WxWork_Send@@QAE@XZ$0
DD 00H
DD FLAT:__unwindfunclet$??1_REQ_WxWork_Send@@QAE@XZ$1
DD 01H
DD FLAT:__unwindfunclet$??1_REQ_WxWork_Send@@QAE@XZ$2
__ehfuncinfo$??1_REQ_WxWork_Send@@QAE@XZ DD 019930522H
DD 03H
DD FLAT:__unwindtable$??1_REQ_WxWork_Send@@QAE@XZ
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 02cH
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$??0_REQ_WxWork_Send@@QAE@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$??0_REQ_WxWork_Send@@QAE@XZ$0
DD 00H
DD FLAT:__unwindfunclet$??0_REQ_WxWork_Send@@QAE@XZ$1
DD 01H
DD FLAT:__unwindfunclet$??0_REQ_WxWork_Send@@QAE@XZ$2
__ehfuncinfo$??0_REQ_WxWork_Send@@QAE@XZ DD 019930522H
DD 03H
DD FLAT:__unwindtable$??0_REQ_WxWork_Send@@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$??1_Mas_TDType@@QAE@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$??1_Mas_TDType@@QAE@XZ$0
__ehfuncinfo$??1_Mas_TDType@@QAE@XZ DD 019930522H
DD 01H
DD FLAT:__unwindtable$??1_Mas_TDType@@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_Mas_TDType@@QAE@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$??0_Mas_TDType@@QAE@XZ$0
__ehfuncinfo$??0_Mas_TDType@@QAE@XZ DD 019930522H
DD 01H
DD FLAT:__unwindtable$??0_Mas_TDType@@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$?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 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@ABV01@@Z DD 0ffffffffH
DD FLAT:__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z$0
__ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z DD 019930522H
DD 01H
DD FLAT:__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 00H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 016H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ$0
__ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ DD 019930522H
DD 01H
DD FLAT:__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?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
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxtempl.h
; COMDAT ??$SerializeElements@U_SmsReport@@@@YGXAAVCArchive@@PAU_SmsReport@@H@Z
_TEXT SEGMENT
tv84 = -96 ; size = 4
tv74 = -96 ; size = 4
tv66 = -96 ; size = 4
_nElementsToRead$1 = -28 ; size = 4
_nElementsLeft$2 = -24 ; size = 4
_pData$3 = -20 ; size = 4
_nElementsToWrite$4 = -16 ; size = 4
_nElementsLeft$5 = -12 ; size = 4
_pData$6 = -8 ; size = 4
___afx_condVal$7 = -4 ; size = 4
_ar$ = 8 ; size = 4
_pElements$ = 12 ; size = 4
_nCount$ = 16 ; size = 4
??$SerializeElements@U_SmsReport@@@@YGXAAVCArchive@@PAU_SmsReport@@H@Z PROC ; SerializeElements<_SmsReport>, COMDAT
; 67 : {
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
$LN4@SerializeE:
; 68 : ENSURE(nCount == 0 || pElements != NULL);
00009 83 7d 10 00 cmp DWORD PTR _nCount$[ebp], 0
0000d 74 0f je SHORT $LN13@SerializeE
0000f 83 7d 0c 00 cmp DWORD PTR _pElements$[ebp], 0
00013 75 09 jne SHORT $LN13@SerializeE
00015 c7 45 a0 00 00
00 00 mov DWORD PTR tv66[ebp], 0
0001c eb 07 jmp SHORT $LN14@SerializeE
$LN13@SerializeE:
0001e c7 45 a0 01 00
00 00 mov DWORD PTR tv66[ebp], 1
$LN14@SerializeE:
00025 8b 45 a0 mov eax, DWORD PTR tv66[ebp]
00028 89 45 fc mov DWORD PTR ___afx_condVal$7[ebp], eax
0002b 83 7d fc 00 cmp DWORD PTR ___afx_condVal$7[ebp], 0
0002f 75 05 jne SHORT $LN2@SerializeE
00031 e8 00 00 00 00 call ?AfxThrowInvalidArgException@@YGXXZ ; AfxThrowInvalidArgException
$LN2@SerializeE:
00036 33 c0 xor eax, eax
00038 75 cf jne SHORT $LN4@SerializeE
; 69 : ASSERT(nCount == 0 ||
; 70 : AfxIsValidAddress(pElements, (size_t)nCount * sizeof(TYPE)));
; 71 :
; 72 : // default is bit-wise read/write
; 73 : if (ar.IsStoring())
0003a 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
0003d e8 00 00 00 00 call ?IsStoring@CArchive@@QBEHXZ ; CArchive::IsStoring
00042 85 c0 test eax, eax
00044 74 58 je SHORT $LN10@SerializeE
; 74 : {
; 75 : TYPE* pData;
; 76 : UINT_PTR nElementsLeft;
; 77 :
; 78 : nElementsLeft = nCount;
00046 8b 45 10 mov eax, DWORD PTR _nCount$[ebp]
00049 89 45 f4 mov DWORD PTR _nElementsLeft$5[ebp], eax
; 79 : pData = pElements;
0004c 8b 45 0c mov eax, DWORD PTR _pElements$[ebp]
0004f 89 45 f8 mov DWORD PTR _pData$6[ebp], eax
$LN5@SerializeE:
; 80 : while( nElementsLeft > 0 )
00052 83 7d f4 00 cmp DWORD PTR _nElementsLeft$5[ebp], 0
00056 76 44 jbe SHORT $LN6@SerializeE
; 81 : {
; 82 : UINT nElementsToWrite;
; 83 :
; 84 : nElementsToWrite = UINT(__min(nElementsLeft, INT_MAX/sizeof(TYPE)));
00058 81 7d f4 2e ba
e8 02 cmp DWORD PTR _nElementsLeft$5[ebp], 48806446 ; 02e8ba2eH
0005f 73 08 jae SHORT $LN15@SerializeE
00061 8b 45 f4 mov eax, DWORD PTR _nElementsLeft$5[ebp]
00064 89 45 a0 mov DWORD PTR tv74[ebp], eax
00067 eb 07 jmp SHORT $LN16@SerializeE
$LN15@SerializeE:
00069 c7 45 a0 2e ba
e8 02 mov DWORD PTR tv74[ebp], 48806446 ; 02e8ba2eH
$LN16@SerializeE:
00070 8b 4d a0 mov ecx, DWORD PTR tv74[ebp]
00073 89 4d f0 mov DWORD PTR _nElementsToWrite$4[ebp], ecx
; 85 : ar.Write(pData, nElementsToWrite*sizeof(TYPE));
00076 6b 45 f0 2c imul eax, DWORD PTR _nElementsToWrite$4[ebp], 44
0007a 50 push eax
0007b 8b 4d f8 mov ecx, DWORD PTR _pData$6[ebp]
0007e 51 push ecx
0007f 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
00082 e8 00 00 00 00 call ?Write@CArchive@@QAEXPBXI@Z ; CArchive::Write
; 86 : nElementsLeft -= nElementsToWrite;
00087 8b 45 f4 mov eax, DWORD PTR _nElementsLeft$5[ebp]
0008a 2b 45 f0 sub eax, DWORD PTR _nElementsToWrite$4[ebp]
0008d 89 45 f4 mov DWORD PTR _nElementsLeft$5[ebp], eax
; 87 : pData += nElementsToWrite;
00090 6b 45 f0 2c imul eax, DWORD PTR _nElementsToWrite$4[ebp], 44
00094 03 45 f8 add eax, DWORD PTR _pData$6[ebp]
00097 89 45 f8 mov DWORD PTR _pData$6[ebp], eax
; 88 : }
0009a eb b6 jmp SHORT $LN5@SerializeE
$LN6@SerializeE:
; 89 : }
0009c eb 56 jmp SHORT $LN12@SerializeE
$LN10@SerializeE:
; 90 : else
; 91 : {
; 92 : TYPE* pData;
; 93 : UINT_PTR nElementsLeft;
; 94 :
; 95 : nElementsLeft = nCount;
0009e 8b 45 10 mov eax, DWORD PTR _nCount$[ebp]
000a1 89 45 e8 mov DWORD PTR _nElementsLeft$2[ebp], eax
; 96 : pData = pElements;
000a4 8b 45 0c mov eax, DWORD PTR _pElements$[ebp]
000a7 89 45 ec mov DWORD PTR _pData$3[ebp], eax
$LN7@SerializeE:
; 97 : while( nElementsLeft > 0 )
000aa 83 7d e8 00 cmp DWORD PTR _nElementsLeft$2[ebp], 0
000ae 76 44 jbe SHORT $LN12@SerializeE
; 98 : {
; 99 : UINT nElementsToRead;
; 100 :
; 101 : nElementsToRead = UINT(__min(nElementsLeft, INT_MAX/sizeof(TYPE)));
000b0 81 7d e8 2e ba
e8 02 cmp DWORD PTR _nElementsLeft$2[ebp], 48806446 ; 02e8ba2eH
000b7 73 08 jae SHORT $LN17@SerializeE
000b9 8b 45 e8 mov eax, DWORD PTR _nElementsLeft$2[ebp]
000bc 89 45 a0 mov DWORD PTR tv84[ebp], eax
000bf eb 07 jmp SHORT $LN18@SerializeE
$LN17@SerializeE:
000c1 c7 45 a0 2e ba
e8 02 mov DWORD PTR tv84[ebp], 48806446 ; 02e8ba2eH
$LN18@SerializeE:
000c8 8b 4d a0 mov ecx, DWORD PTR tv84[ebp]
000cb 89 4d e4 mov DWORD PTR _nElementsToRead$1[ebp], ecx
; 102 : ar.EnsureRead(pData, nElementsToRead*sizeof(TYPE));
000ce 6b 45 e4 2c imul eax, DWORD PTR _nElementsToRead$1[ebp], 44
000d2 50 push eax
000d3 8b 4d ec mov ecx, DWORD PTR _pData$3[ebp]
000d6 51 push ecx
000d7 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
000da e8 00 00 00 00 call ?EnsureRead@CArchive@@QAEXPAXI@Z ; CArchive::EnsureRead
; 103 : nElementsLeft -= nElementsToRead;
000df 8b 45 e8 mov eax, DWORD PTR _nElementsLeft$2[ebp]
000e2 2b 45 e4 sub eax, DWORD PTR _nElementsToRead$1[ebp]
000e5 89 45 e8 mov DWORD PTR _nElementsLeft$2[ebp], eax
; 104 : pData += nElementsToRead;
000e8 6b 45 e4 2c imul eax, DWORD PTR _nElementsToRead$1[ebp], 44
000ec 03 45 ec add eax, DWORD PTR _pData$3[ebp]
000ef 89 45 ec mov DWORD PTR _pData$3[ebp], eax
; 105 : }
000f2 eb b6 jmp SHORT $LN7@SerializeE
$LN12@SerializeE:
; 106 : }
; 107 : }
000f4 5f pop edi
000f5 5e pop esi
000f6 5b pop ebx
000f7 8b e5 mov esp, ebp
000f9 5d pop ebp
000fa c2 0c 00 ret 12 ; 0000000cH
??$SerializeElements@U_SmsReport@@@@YGXAAVCArchive@@PAU_SmsReport@@H@Z ENDP ; SerializeElements<_SmsReport>
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxtempl.h
; COMDAT ??$SerializeElements@U_REQ_WxWork_Send@@@@YGXAAVCArchive@@PAU_REQ_WxWork_Send@@H@Z
_TEXT SEGMENT
tv84 = -96 ; size = 4
tv74 = -96 ; size = 4
tv66 = -96 ; size = 4
_nElementsToRead$1 = -28 ; size = 4
_nElementsLeft$2 = -24 ; size = 4
_pData$3 = -20 ; size = 4
_nElementsToWrite$4 = -16 ; size = 4
_nElementsLeft$5 = -12 ; size = 4
_pData$6 = -8 ; size = 4
___afx_condVal$7 = -4 ; size = 4
_ar$ = 8 ; size = 4
_pElements$ = 12 ; size = 4
_nCount$ = 16 ; size = 4
??$SerializeElements@U_REQ_WxWork_Send@@@@YGXAAVCArchive@@PAU_REQ_WxWork_Send@@H@Z PROC ; SerializeElements<_REQ_WxWork_Send>, COMDAT
; 67 : {
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
$LN4@SerializeE:
; 68 : ENSURE(nCount == 0 || pElements != NULL);
00009 83 7d 10 00 cmp DWORD PTR _nCount$[ebp], 0
0000d 74 0f je SHORT $LN13@SerializeE
0000f 83 7d 0c 00 cmp DWORD PTR _pElements$[ebp], 0
00013 75 09 jne SHORT $LN13@SerializeE
00015 c7 45 a0 00 00
00 00 mov DWORD PTR tv66[ebp], 0
0001c eb 07 jmp SHORT $LN14@SerializeE
$LN13@SerializeE:
0001e c7 45 a0 01 00
00 00 mov DWORD PTR tv66[ebp], 1
$LN14@SerializeE:
00025 8b 45 a0 mov eax, DWORD PTR tv66[ebp]
00028 89 45 fc mov DWORD PTR ___afx_condVal$7[ebp], eax
0002b 83 7d fc 00 cmp DWORD PTR ___afx_condVal$7[ebp], 0
0002f 75 05 jne SHORT $LN2@SerializeE
00031 e8 00 00 00 00 call ?AfxThrowInvalidArgException@@YGXXZ ; AfxThrowInvalidArgException
$LN2@SerializeE:
00036 33 c0 xor eax, eax
00038 75 cf jne SHORT $LN4@SerializeE
; 69 : ASSERT(nCount == 0 ||
; 70 : AfxIsValidAddress(pElements, (size_t)nCount * sizeof(TYPE)));
; 71 :
; 72 : // default is bit-wise read/write
; 73 : if (ar.IsStoring())
0003a 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
0003d e8 00 00 00 00 call ?IsStoring@CArchive@@QBEHXZ ; CArchive::IsStoring
00042 85 c0 test eax, eax
00044 74 58 je SHORT $LN10@SerializeE
; 74 : {
; 75 : TYPE* pData;
; 76 : UINT_PTR nElementsLeft;
; 77 :
; 78 : nElementsLeft = nCount;
00046 8b 45 10 mov eax, DWORD PTR _nCount$[ebp]
00049 89 45 f4 mov DWORD PTR _nElementsLeft$5[ebp], eax
; 79 : pData = pElements;
0004c 8b 45 0c mov eax, DWORD PTR _pElements$[ebp]
0004f 89 45 f8 mov DWORD PTR _pData$6[ebp], eax
$LN5@SerializeE:
; 80 : while( nElementsLeft > 0 )
00052 83 7d f4 00 cmp DWORD PTR _nElementsLeft$5[ebp], 0
00056 76 44 jbe SHORT $LN6@SerializeE
; 81 : {
; 82 : UINT nElementsToWrite;
; 83 :
; 84 : nElementsToWrite = UINT(__min(nElementsLeft, INT_MAX/sizeof(TYPE)));
00058 81 7d f4 aa aa
aa 0a cmp DWORD PTR _nElementsLeft$5[ebp], 178956970 ; 0aaaaaaaH
0005f 73 08 jae SHORT $LN15@SerializeE
00061 8b 45 f4 mov eax, DWORD PTR _nElementsLeft$5[ebp]
00064 89 45 a0 mov DWORD PTR tv74[ebp], eax
00067 eb 07 jmp SHORT $LN16@SerializeE
$LN15@SerializeE:
00069 c7 45 a0 aa aa
aa 0a mov DWORD PTR tv74[ebp], 178956970 ; 0aaaaaaaH
$LN16@SerializeE:
00070 8b 4d a0 mov ecx, DWORD PTR tv74[ebp]
00073 89 4d f0 mov DWORD PTR _nElementsToWrite$4[ebp], ecx
; 85 : ar.Write(pData, nElementsToWrite*sizeof(TYPE));
00076 6b 45 f0 0c imul eax, DWORD PTR _nElementsToWrite$4[ebp], 12
0007a 50 push eax
0007b 8b 4d f8 mov ecx, DWORD PTR _pData$6[ebp]
0007e 51 push ecx
0007f 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
00082 e8 00 00 00 00 call ?Write@CArchive@@QAEXPBXI@Z ; CArchive::Write
; 86 : nElementsLeft -= nElementsToWrite;
00087 8b 45 f4 mov eax, DWORD PTR _nElementsLeft$5[ebp]
0008a 2b 45 f0 sub eax, DWORD PTR _nElementsToWrite$4[ebp]
0008d 89 45 f4 mov DWORD PTR _nElementsLeft$5[ebp], eax
; 87 : pData += nElementsToWrite;
00090 6b 45 f0 0c imul eax, DWORD PTR _nElementsToWrite$4[ebp], 12
00094 03 45 f8 add eax, DWORD PTR _pData$6[ebp]
00097 89 45 f8 mov DWORD PTR _pData$6[ebp], eax
; 88 : }
0009a eb b6 jmp SHORT $LN5@SerializeE
$LN6@SerializeE:
; 89 : }
0009c eb 56 jmp SHORT $LN12@SerializeE
$LN10@SerializeE:
; 90 : else
; 91 : {
; 92 : TYPE* pData;
; 93 : UINT_PTR nElementsLeft;
; 94 :
; 95 : nElementsLeft = nCount;
0009e 8b 45 10 mov eax, DWORD PTR _nCount$[ebp]
000a1 89 45 e8 mov DWORD PTR _nElementsLeft$2[ebp], eax
; 96 : pData = pElements;
000a4 8b 45 0c mov eax, DWORD PTR _pElements$[ebp]
000a7 89 45 ec mov DWORD PTR _pData$3[ebp], eax
$LN7@SerializeE:
; 97 : while( nElementsLeft > 0 )
000aa 83 7d e8 00 cmp DWORD PTR _nElementsLeft$2[ebp], 0
000ae 76 44 jbe SHORT $LN12@SerializeE
; 98 : {
; 99 : UINT nElementsToRead;
; 100 :
; 101 : nElementsToRead = UINT(__min(nElementsLeft, INT_MAX/sizeof(TYPE)));
000b0 81 7d e8 aa aa
aa 0a cmp DWORD PTR _nElementsLeft$2[ebp], 178956970 ; 0aaaaaaaH
000b7 73 08 jae SHORT $LN17@SerializeE
000b9 8b 45 e8 mov eax, DWORD PTR _nElementsLeft$2[ebp]
000bc 89 45 a0 mov DWORD PTR tv84[ebp], eax
000bf eb 07 jmp SHORT $LN18@SerializeE
$LN17@SerializeE:
000c1 c7 45 a0 aa aa
aa 0a mov DWORD PTR tv84[ebp], 178956970 ; 0aaaaaaaH
$LN18@SerializeE:
000c8 8b 4d a0 mov ecx, DWORD PTR tv84[ebp]
000cb 89 4d e4 mov DWORD PTR _nElementsToRead$1[ebp], ecx
; 102 : ar.EnsureRead(pData, nElementsToRead*sizeof(TYPE));
000ce 6b 45 e4 0c imul eax, DWORD PTR _nElementsToRead$1[ebp], 12
000d2 50 push eax
000d3 8b 4d ec mov ecx, DWORD PTR _pData$3[ebp]
000d6 51 push ecx
000d7 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
000da e8 00 00 00 00 call ?EnsureRead@CArchive@@QAEXPAXI@Z ; CArchive::EnsureRead
; 103 : nElementsLeft -= nElementsToRead;
000df 8b 45 e8 mov eax, DWORD PTR _nElementsLeft$2[ebp]
000e2 2b 45 e4 sub eax, DWORD PTR _nElementsToRead$1[ebp]
000e5 89 45 e8 mov DWORD PTR _nElementsLeft$2[ebp], eax
; 104 : pData += nElementsToRead;
000e8 6b 45 e4 0c imul eax, DWORD PTR _nElementsToRead$1[ebp], 12
000ec 03 45 ec add eax, DWORD PTR _pData$3[ebp]
000ef 89 45 ec mov DWORD PTR _pData$3[ebp], eax
; 105 : }
000f2 eb b6 jmp SHORT $LN7@SerializeE
$LN12@SerializeE:
; 106 : }
; 107 : }
000f4 5f pop edi
000f5 5e pop esi
000f6 5b pop ebx
000f7 8b e5 mov esp, ebp
000f9 5d pop ebp
000fa c2 0c 00 ret 12 ; 0000000cH
??$SerializeElements@U_REQ_WxWork_Send@@@@YGXAAVCArchive@@PAU_REQ_WxWork_Send@@H@Z ENDP ; SerializeElements<_REQ_WxWork_Send>
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxtempl.h
; COMDAT ??$SerializeElements@U_Checkup@@@@YGXAAVCArchive@@PAU_Checkup@@H@Z
_TEXT SEGMENT
tv84 = -96 ; size = 4
tv74 = -96 ; size = 4
tv66 = -96 ; size = 4
_nElementsToRead$1 = -28 ; size = 4
_nElementsLeft$2 = -24 ; size = 4
_pData$3 = -20 ; size = 4
_nElementsToWrite$4 = -16 ; size = 4
_nElementsLeft$5 = -12 ; size = 4
_pData$6 = -8 ; size = 4
___afx_condVal$7 = -4 ; size = 4
_ar$ = 8 ; size = 4
_pElements$ = 12 ; size = 4
_nCount$ = 16 ; size = 4
??$SerializeElements@U_Checkup@@@@YGXAAVCArchive@@PAU_Checkup@@H@Z PROC ; SerializeElements<_Checkup>, COMDAT
; 67 : {
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
$LN4@SerializeE:
; 68 : ENSURE(nCount == 0 || pElements != NULL);
00009 83 7d 10 00 cmp DWORD PTR _nCount$[ebp], 0
0000d 74 0f je SHORT $LN13@SerializeE
0000f 83 7d 0c 00 cmp DWORD PTR _pElements$[ebp], 0
00013 75 09 jne SHORT $LN13@SerializeE
00015 c7 45 a0 00 00
00 00 mov DWORD PTR tv66[ebp], 0
0001c eb 07 jmp SHORT $LN14@SerializeE
$LN13@SerializeE:
0001e c7 45 a0 01 00
00 00 mov DWORD PTR tv66[ebp], 1
$LN14@SerializeE:
00025 8b 45 a0 mov eax, DWORD PTR tv66[ebp]
00028 89 45 fc mov DWORD PTR ___afx_condVal$7[ebp], eax
0002b 83 7d fc 00 cmp DWORD PTR ___afx_condVal$7[ebp], 0
0002f 75 05 jne SHORT $LN2@SerializeE
00031 e8 00 00 00 00 call ?AfxThrowInvalidArgException@@YGXXZ ; AfxThrowInvalidArgException
$LN2@SerializeE:
00036 33 c0 xor eax, eax
00038 75 cf jne SHORT $LN4@SerializeE
; 69 : ASSERT(nCount == 0 ||
; 70 : AfxIsValidAddress(pElements, (size_t)nCount * sizeof(TYPE)));
; 71 :
; 72 : // default is bit-wise read/write
; 73 : if (ar.IsStoring())
0003a 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
0003d e8 00 00 00 00 call ?IsStoring@CArchive@@QBEHXZ ; CArchive::IsStoring
00042 85 c0 test eax, eax
00044 74 5e je SHORT $LN10@SerializeE
; 74 : {
; 75 : TYPE* pData;
; 76 : UINT_PTR nElementsLeft;
; 77 :
; 78 : nElementsLeft = nCount;
00046 8b 45 10 mov eax, DWORD PTR _nCount$[ebp]
00049 89 45 f4 mov DWORD PTR _nElementsLeft$5[ebp], eax
; 79 : pData = pElements;
0004c 8b 45 0c mov eax, DWORD PTR _pElements$[ebp]
0004f 89 45 f8 mov DWORD PTR _pData$6[ebp], eax
$LN5@SerializeE:
; 80 : while( nElementsLeft > 0 )
00052 83 7d f4 00 cmp DWORD PTR _nElementsLeft$5[ebp], 0
00056 76 4a jbe SHORT $LN6@SerializeE
; 81 : {
; 82 : UINT nElementsToWrite;
; 83 :
; 84 : nElementsToWrite = UINT(__min(nElementsLeft, INT_MAX/sizeof(TYPE)));
00058 81 7d f4 dd 95
0d 00 cmp DWORD PTR _nElementsLeft$5[ebp], 890333 ; 000d95ddH
0005f 73 08 jae SHORT $LN15@SerializeE
00061 8b 45 f4 mov eax, DWORD PTR _nElementsLeft$5[ebp]
00064 89 45 a0 mov DWORD PTR tv74[ebp], eax
00067 eb 07 jmp SHORT $LN16@SerializeE
$LN15@SerializeE:
00069 c7 45 a0 dd 95
0d 00 mov DWORD PTR tv74[ebp], 890333 ; 000d95ddH
$LN16@SerializeE:
00070 8b 4d a0 mov ecx, DWORD PTR tv74[ebp]
00073 89 4d f0 mov DWORD PTR _nElementsToWrite$4[ebp], ecx
; 85 : ar.Write(pData, nElementsToWrite*sizeof(TYPE));
00076 69 45 f0 6c 09
00 00 imul eax, DWORD PTR _nElementsToWrite$4[ebp], 2412
0007d 50 push eax
0007e 8b 4d f8 mov ecx, DWORD PTR _pData$6[ebp]
00081 51 push ecx
00082 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
00085 e8 00 00 00 00 call ?Write@CArchive@@QAEXPBXI@Z ; CArchive::Write
; 86 : nElementsLeft -= nElementsToWrite;
0008a 8b 45 f4 mov eax, DWORD PTR _nElementsLeft$5[ebp]
0008d 2b 45 f0 sub eax, DWORD PTR _nElementsToWrite$4[ebp]
00090 89 45 f4 mov DWORD PTR _nElementsLeft$5[ebp], eax
; 87 : pData += nElementsToWrite;
00093 69 45 f0 6c 09
00 00 imul eax, DWORD PTR _nElementsToWrite$4[ebp], 2412
0009a 03 45 f8 add eax, DWORD PTR _pData$6[ebp]
0009d 89 45 f8 mov DWORD PTR _pData$6[ebp], eax
; 88 : }
000a0 eb b0 jmp SHORT $LN5@SerializeE
$LN6@SerializeE:
; 89 : }
000a2 eb 5c jmp SHORT $LN12@SerializeE
$LN10@SerializeE:
; 90 : else
; 91 : {
; 92 : TYPE* pData;
; 93 : UINT_PTR nElementsLeft;
; 94 :
; 95 : nElementsLeft = nCount;
000a4 8b 45 10 mov eax, DWORD PTR _nCount$[ebp]
000a7 89 45 e8 mov DWORD PTR _nElementsLeft$2[ebp], eax
; 96 : pData = pElements;
000aa 8b 45 0c mov eax, DWORD PTR _pElements$[ebp]
000ad 89 45 ec mov DWORD PTR _pData$3[ebp], eax
$LN7@SerializeE:
; 97 : while( nElementsLeft > 0 )
000b0 83 7d e8 00 cmp DWORD PTR _nElementsLeft$2[ebp], 0
000b4 76 4a jbe SHORT $LN12@SerializeE
; 98 : {
; 99 : UINT nElementsToRead;
; 100 :
; 101 : nElementsToRead = UINT(__min(nElementsLeft, INT_MAX/sizeof(TYPE)));
000b6 81 7d e8 dd 95
0d 00 cmp DWORD PTR _nElementsLeft$2[ebp], 890333 ; 000d95ddH
000bd 73 08 jae SHORT $LN17@SerializeE
000bf 8b 45 e8 mov eax, DWORD PTR _nElementsLeft$2[ebp]
000c2 89 45 a0 mov DWORD PTR tv84[ebp], eax
000c5 eb 07 jmp SHORT $LN18@SerializeE
$LN17@SerializeE:
000c7 c7 45 a0 dd 95
0d 00 mov DWORD PTR tv84[ebp], 890333 ; 000d95ddH
$LN18@SerializeE:
000ce 8b 4d a0 mov ecx, DWORD PTR tv84[ebp]
000d1 89 4d e4 mov DWORD PTR _nElementsToRead$1[ebp], ecx
; 102 : ar.EnsureRead(pData, nElementsToRead*sizeof(TYPE));
000d4 69 45 e4 6c 09
00 00 imul eax, DWORD PTR _nElementsToRead$1[ebp], 2412
000db 50 push eax
000dc 8b 4d ec mov ecx, DWORD PTR _pData$3[ebp]
000df 51 push ecx
000e0 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
000e3 e8 00 00 00 00 call ?EnsureRead@CArchive@@QAEXPAXI@Z ; CArchive::EnsureRead
; 103 : nElementsLeft -= nElementsToRead;
000e8 8b 45 e8 mov eax, DWORD PTR _nElementsLeft$2[ebp]
000eb 2b 45 e4 sub eax, DWORD PTR _nElementsToRead$1[ebp]
000ee 89 45 e8 mov DWORD PTR _nElementsLeft$2[ebp], eax
; 104 : pData += nElementsToRead;
000f1 69 45 e4 6c 09
00 00 imul eax, DWORD PTR _nElementsToRead$1[ebp], 2412
000f8 03 45 ec add eax, DWORD PTR _pData$3[ebp]
000fb 89 45 ec mov DWORD PTR _pData$3[ebp], eax
; 105 : }
000fe eb b0 jmp SHORT $LN7@SerializeE
$LN12@SerializeE:
; 106 : }
; 107 : }
00100 5f pop edi
00101 5e pop esi
00102 5b pop ebx
00103 8b e5 mov esp, ebp
00105 5d pop ebp
00106 c2 0c 00 ret 12 ; 0000000cH
??$SerializeElements@U_Checkup@@@@YGXAAVCArchive@@PAU_Checkup@@H@Z ENDP ; SerializeElements<_Checkup>
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxtempl.h
; COMDAT ??$SerializeElements@U_Mas_TDType@@@@YGXAAVCArchive@@PAU_Mas_TDType@@H@Z
_TEXT SEGMENT
tv84 = -96 ; size = 4
tv74 = -96 ; size = 4
tv66 = -96 ; size = 4
_nElementsToRead$1 = -28 ; size = 4
_nElementsLeft$2 = -24 ; size = 4
_pData$3 = -20 ; size = 4
_nElementsToWrite$4 = -16 ; size = 4
_nElementsLeft$5 = -12 ; size = 4
_pData$6 = -8 ; size = 4
___afx_condVal$7 = -4 ; size = 4
_ar$ = 8 ; size = 4
_pElements$ = 12 ; size = 4
_nCount$ = 16 ; size = 4
??$SerializeElements@U_Mas_TDType@@@@YGXAAVCArchive@@PAU_Mas_TDType@@H@Z PROC ; SerializeElements<_Mas_TDType>, COMDAT
; 67 : {
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
$LN4@SerializeE:
; 68 : ENSURE(nCount == 0 || pElements != NULL);
00009 83 7d 10 00 cmp DWORD PTR _nCount$[ebp], 0
0000d 74 0f je SHORT $LN13@SerializeE
0000f 83 7d 0c 00 cmp DWORD PTR _pElements$[ebp], 0
00013 75 09 jne SHORT $LN13@SerializeE
00015 c7 45 a0 00 00
00 00 mov DWORD PTR tv66[ebp], 0
0001c eb 07 jmp SHORT $LN14@SerializeE
$LN13@SerializeE:
0001e c7 45 a0 01 00
00 00 mov DWORD PTR tv66[ebp], 1
$LN14@SerializeE:
00025 8b 45 a0 mov eax, DWORD PTR tv66[ebp]
00028 89 45 fc mov DWORD PTR ___afx_condVal$7[ebp], eax
0002b 83 7d fc 00 cmp DWORD PTR ___afx_condVal$7[ebp], 0
0002f 75 05 jne SHORT $LN2@SerializeE
00031 e8 00 00 00 00 call ?AfxThrowInvalidArgException@@YGXXZ ; AfxThrowInvalidArgException
$LN2@SerializeE:
00036 33 c0 xor eax, eax
00038 75 cf jne SHORT $LN4@SerializeE
; 69 : ASSERT(nCount == 0 ||
; 70 : AfxIsValidAddress(pElements, (size_t)nCount * sizeof(TYPE)));
; 71 :
; 72 : // default is bit-wise read/write
; 73 : if (ar.IsStoring())
0003a 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
0003d e8 00 00 00 00 call ?IsStoring@CArchive@@QBEHXZ ; CArchive::IsStoring
00042 85 c0 test eax, eax
00044 74 5c je SHORT $LN10@SerializeE
; 74 : {
; 75 : TYPE* pData;
; 76 : UINT_PTR nElementsLeft;
; 77 :
; 78 : nElementsLeft = nCount;
00046 8b 45 10 mov eax, DWORD PTR _nCount$[ebp]
00049 89 45 f4 mov DWORD PTR _nElementsLeft$5[ebp], eax
; 79 : pData = pElements;
0004c 8b 45 0c mov eax, DWORD PTR _pElements$[ebp]
0004f 89 45 f8 mov DWORD PTR _pData$6[ebp], eax
$LN5@SerializeE:
; 80 : while( nElementsLeft > 0 )
00052 83 7d f4 00 cmp DWORD PTR _nElementsLeft$5[ebp], 0
00056 76 48 jbe SHORT $LN6@SerializeE
; 81 : {
; 82 : UINT nElementsToWrite;
; 83 :
; 84 : nElementsToWrite = UINT(__min(nElementsLeft, INT_MAX/sizeof(TYPE)));
00058 81 7d f4 ff ff
ff 0f cmp DWORD PTR _nElementsLeft$5[ebp], 268435455 ; 0fffffffH
0005f 73 08 jae SHORT $LN15@SerializeE
00061 8b 45 f4 mov eax, DWORD PTR _nElementsLeft$5[ebp]
00064 89 45 a0 mov DWORD PTR tv74[ebp], eax
00067 eb 07 jmp SHORT $LN16@SerializeE
$LN15@SerializeE:
00069 c7 45 a0 ff ff
ff 0f mov DWORD PTR tv74[ebp], 268435455 ; 0fffffffH
$LN16@SerializeE:
00070 8b 4d a0 mov ecx, DWORD PTR tv74[ebp]
00073 89 4d f0 mov DWORD PTR _nElementsToWrite$4[ebp], ecx
; 85 : ar.Write(pData, nElementsToWrite*sizeof(TYPE));
00076 8b 45 f0 mov eax, DWORD PTR _nElementsToWrite$4[ebp]
00079 c1 e0 03 shl eax, 3
0007c 50 push eax
0007d 8b 4d f8 mov ecx, DWORD PTR _pData$6[ebp]
00080 51 push ecx
00081 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
00084 e8 00 00 00 00 call ?Write@CArchive@@QAEXPBXI@Z ; CArchive::Write
; 86 : nElementsLeft -= nElementsToWrite;
00089 8b 45 f4 mov eax, DWORD PTR _nElementsLeft$5[ebp]
0008c 2b 45 f0 sub eax, DWORD PTR _nElementsToWrite$4[ebp]
0008f 89 45 f4 mov DWORD PTR _nElementsLeft$5[ebp], eax
; 87 : pData += nElementsToWrite;
00092 8b 45 f0 mov eax, DWORD PTR _nElementsToWrite$4[ebp]
00095 8b 4d f8 mov ecx, DWORD PTR _pData$6[ebp]
00098 8d 14 c1 lea edx, DWORD PTR [ecx+eax*8]
0009b 89 55 f8 mov DWORD PTR _pData$6[ebp], edx
; 88 : }
0009e eb b2 jmp SHORT $LN5@SerializeE
$LN6@SerializeE:
; 89 : }
000a0 eb 5a jmp SHORT $LN12@SerializeE
$LN10@SerializeE:
; 90 : else
; 91 : {
; 92 : TYPE* pData;
; 93 : UINT_PTR nElementsLeft;
; 94 :
; 95 : nElementsLeft = nCount;
000a2 8b 45 10 mov eax, DWORD PTR _nCount$[ebp]
000a5 89 45 e8 mov DWORD PTR _nElementsLeft$2[ebp], eax
; 96 : pData = pElements;
000a8 8b 45 0c mov eax, DWORD PTR _pElements$[ebp]
000ab 89 45 ec mov DWORD PTR _pData$3[ebp], eax
$LN7@SerializeE:
; 97 : while( nElementsLeft > 0 )
000ae 83 7d e8 00 cmp DWORD PTR _nElementsLeft$2[ebp], 0
000b2 76 48 jbe SHORT $LN12@SerializeE
; 98 : {
; 99 : UINT nElementsToRead;
; 100 :
; 101 : nElementsToRead = UINT(__min(nElementsLeft, INT_MAX/sizeof(TYPE)));
000b4 81 7d e8 ff ff
ff 0f cmp DWORD PTR _nElementsLeft$2[ebp], 268435455 ; 0fffffffH
000bb 73 08 jae SHORT $LN17@SerializeE
000bd 8b 45 e8 mov eax, DWORD PTR _nElementsLeft$2[ebp]
000c0 89 45 a0 mov DWORD PTR tv84[ebp], eax
000c3 eb 07 jmp SHORT $LN18@SerializeE
$LN17@SerializeE:
000c5 c7 45 a0 ff ff
ff 0f mov DWORD PTR tv84[ebp], 268435455 ; 0fffffffH
$LN18@SerializeE:
000cc 8b 4d a0 mov ecx, DWORD PTR tv84[ebp]
000cf 89 4d e4 mov DWORD PTR _nElementsToRead$1[ebp], ecx
; 102 : ar.EnsureRead(pData, nElementsToRead*sizeof(TYPE));
000d2 8b 45 e4 mov eax, DWORD PTR _nElementsToRead$1[ebp]
000d5 c1 e0 03 shl eax, 3
000d8 50 push eax
000d9 8b 4d ec mov ecx, DWORD PTR _pData$3[ebp]
000dc 51 push ecx
000dd 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
000e0 e8 00 00 00 00 call ?EnsureRead@CArchive@@QAEXPAXI@Z ; CArchive::EnsureRead
; 103 : nElementsLeft -= nElementsToRead;
000e5 8b 45 e8 mov eax, DWORD PTR _nElementsLeft$2[ebp]
000e8 2b 45 e4 sub eax, DWORD PTR _nElementsToRead$1[ebp]
000eb 89 45 e8 mov DWORD PTR _nElementsLeft$2[ebp], eax
; 104 : pData += nElementsToRead;
000ee 8b 45 e4 mov eax, DWORD PTR _nElementsToRead$1[ebp]
000f1 8b 4d ec mov ecx, DWORD PTR _pData$3[ebp]
000f4 8d 14 c1 lea edx, DWORD PTR [ecx+eax*8]
000f7 89 55 ec mov DWORD PTR _pData$3[ebp], edx
; 105 : }
000fa eb b2 jmp SHORT $LN7@SerializeE
$LN12@SerializeE:
; 106 : }
; 107 : }
000fc 5f pop edi
000fd 5e pop esi
000fe 5b pop ebx
000ff 8b e5 mov esp, ebp
00101 5d pop ebp
00102 c2 0c 00 ret 12 ; 0000000cH
??$SerializeElements@U_Mas_TDType@@@@YGXAAVCArchive@@PAU_Mas_TDType@@H@Z ENDP ; SerializeElements<_Mas_TDType>
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; COMDAT ??__FtheApp@@YAXXZ
text$yd SEGMENT
??__FtheApp@@YAXXZ PROC ; `dynamic atexit destructor for 'theApp'', 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 b9 00 00 00 00 mov ecx, OFFSET ?theApp@@3VCSmsCenterApp@@A ; theApp
0000e e8 00 00 00 00 call ??1CSmsCenterApp@@UAE@XZ
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
??__FtheApp@@YAXXZ ENDP ; `dynamic atexit destructor for 'theApp''
text$yd ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\SmsCenter.cpp
; COMDAT ??__EtheApp@@YAXXZ
text$di SEGMENT
??__EtheApp@@YAXXZ PROC ; `dynamic initializer for 'theApp'', COMDAT
; 39 : CSmsCenterApp theApp;
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 b9 00 00 00 00 mov ecx, OFFSET ?theApp@@3VCSmsCenterApp@@A ; theApp
0000e e8 00 00 00 00 call ??0CSmsCenterApp@@QAE@XZ ; CSmsCenterApp::CSmsCenterApp
00013 68 00 00 00 00 push OFFSET ??__FtheApp@@YAXXZ ; `dynamic atexit destructor for 'theApp''
00018 e8 00 00 00 00 call _atexit
0001d 83 c4 04 add esp, 4
00020 5f pop edi
00021 5e pop esi
00022 5b pop ebx
00023 8b e5 mov esp, ebp
00025 5d pop ebp
00026 c3 ret 0
??__EtheApp@@YAXXZ ENDP ; `dynamic initializer for 'theApp''
text$di ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\MiniDmp\MiniDmp.h
; COMDAT ?GPTSetSetUnhandledExceptionFilter@@YAXXZ
_TEXT SEGMENT
?GPTSetSetUnhandledExceptionFilter@@YAXXZ PROC ; GPTSetSetUnhandledExceptionFilter, COMDAT
; 134 : {
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
; 135 : SetUnhandledExceptionFilter(GPTUnhandledExceptionFilter);
00009 68 00 00 00 00 push OFFSET ?GPTUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; GPTUnhandledExceptionFilter
0000e ff 15 00 00 00
00 call DWORD PTR __imp__SetUnhandledExceptionFilter@4
; 136 : #if _MSC_VER>=1300
; 137 : DisableSetUnhandledExceptionFilter(); //ע<><D7A2>SetUnhandledExceptionFilter vc 2005<30>Ժ<EFBFBD><D4BA><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
00014 e8 00 00 00 00 call ?DisableSetUnhandledExceptionFilter@@YAXXZ ; DisableSetUnhandledExceptionFilter
; 138 : #endif
; 139 : }
00019 5f pop edi
0001a 5e pop esi
0001b 5b pop ebx
0001c 8b e5 mov esp, ebp
0001e 5d pop ebp
0001f c3 ret 0
?GPTSetSetUnhandledExceptionFilter@@YAXXZ ENDP ; GPTSetSetUnhandledExceptionFilter
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\MiniDmp\MiniDmp.h
; COMDAT ?DisableSetUnhandledExceptionFilter@@YAXXZ
_TEXT SEGMENT
tv85 = -108 ; size = 4
$T1 = -104 ; size = 4
_dwTempFlag$2 = -36 ; size = 4
_dwOldFlag$3 = -32 ; size = 4
_size$4 = -28 ; size = 4
_code$5 = -24 ; size = 16
_addr$ = -8 ; size = 4
__$ArrayPad$ = -4 ; size = 4
?DisableSetUnhandledExceptionFilter@@YAXXZ PROC ; DisableSetUnhandledExceptionFilter, COMDAT
; 115 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 6c sub esp, 108 ; 0000006cH
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
; 116 : void *addr = (void*)GetProcAddress(LoadLibrary(_T("kernel32.dll")),"SetUnhandledExceptionFilter");
00013 68 00 00 00 00 push OFFSET ??_C@_0BM@EBDAABIF@SetUnhandledExceptionFilter@
00018 68 00 00 00 00 push OFFSET ??_C@_1BK@MGMFAEKH@?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA3?$AA2?$AA?4?$AAd?$AAl?$AAl@
0001d ff 15 00 00 00
00 call DWORD PTR __imp__LoadLibraryW@4
00023 50 push eax
00024 ff 15 00 00 00
00 call DWORD PTR __imp__GetProcAddress@8
0002a 89 45 f8 mov DWORD PTR _addr$[ebp], eax
; 117 : if (addr)
0002d 83 7d f8 00 cmp DWORD PTR _addr$[ebp], 0
00031 0f 84 ba 00 00
00 je $LN3@DisableSet
; 118 : {
; 119 : unsigned char code[16];
; 120 : int size = 0;
00037 c7 45 e4 00 00
00 00 mov DWORD PTR _size$4[ebp], 0
; 121 : code[size++] = 0x33;
0003e 8b 45 e4 mov eax, DWORD PTR _size$4[ebp]
00041 c6 44 05 e8 33 mov BYTE PTR _code$5[ebp+eax], 51 ; 00000033H
00046 8b 4d e4 mov ecx, DWORD PTR _size$4[ebp]
00049 83 c1 01 add ecx, 1
0004c 89 4d e4 mov DWORD PTR _size$4[ebp], ecx
; 122 : code[size++] = 0xC0;
0004f 8b 45 e4 mov eax, DWORD PTR _size$4[ebp]
00052 c6 44 05 e8 c0 mov BYTE PTR _code$5[ebp+eax], 192 ; 000000c0H
00057 8b 4d e4 mov ecx, DWORD PTR _size$4[ebp]
0005a 83 c1 01 add ecx, 1
0005d 89 4d e4 mov DWORD PTR _size$4[ebp], ecx
; 123 : code[size++] = 0xC2;
00060 8b 45 e4 mov eax, DWORD PTR _size$4[ebp]
00063 c6 44 05 e8 c2 mov BYTE PTR _code$5[ebp+eax], 194 ; 000000c2H
00068 8b 4d e4 mov ecx, DWORD PTR _size$4[ebp]
0006b 83 c1 01 add ecx, 1
0006e 89 4d e4 mov DWORD PTR _size$4[ebp], ecx
; 124 : code[size++] = 0x04;
00071 8b 45 e4 mov eax, DWORD PTR _size$4[ebp]
00074 c6 44 05 e8 04 mov BYTE PTR _code$5[ebp+eax], 4
00079 8b 4d e4 mov ecx, DWORD PTR _size$4[ebp]
0007c 83 c1 01 add ecx, 1
0007f 89 4d e4 mov DWORD PTR _size$4[ebp], ecx
; 125 : code[size++] = 0x00;
00082 8b 45 e4 mov eax, DWORD PTR _size$4[ebp]
00085 89 45 94 mov DWORD PTR tv85[ebp], eax
00088 8b 4d e4 mov ecx, DWORD PTR _size$4[ebp]
0008b 83 c1 01 add ecx, 1
0008e 89 4d e4 mov DWORD PTR _size$4[ebp], ecx
00091 8b 55 94 mov edx, DWORD PTR tv85[ebp]
00094 89 55 98 mov DWORD PTR $T1[ebp], edx
00097 83 7d 98 10 cmp DWORD PTR $T1[ebp], 16 ; 00000010H
0009b 73 02 jae SHORT $LN4@DisableSet
0009d eb 05 jmp SHORT $LN5@DisableSet
$LN4@DisableSet:
0009f e8 00 00 00 00 call ___report_rangecheckfailure
$LN5@DisableSet:
000a4 8b 45 98 mov eax, DWORD PTR $T1[ebp]
000a7 c6 44 05 e8 00 mov BYTE PTR _code$5[ebp+eax], 0
; 126 : DWORD dwOldFlag, dwTempFlag;
; 127 : VirtualProtect(addr, size, PAGE_READWRITE, &dwOldFlag);
000ac 8d 45 e0 lea eax, DWORD PTR _dwOldFlag$3[ebp]
000af 50 push eax
000b0 6a 04 push 4
000b2 8b 4d e4 mov ecx, DWORD PTR _size$4[ebp]
000b5 51 push ecx
000b6 8b 55 f8 mov edx, DWORD PTR _addr$[ebp]
000b9 52 push edx
000ba ff 15 00 00 00
00 call DWORD PTR __imp__VirtualProtect@16
; 128 : WriteProcessMemory(GetCurrentProcess(), addr, code, size, NULL);
000c0 6a 00 push 0
000c2 8b 45 e4 mov eax, DWORD PTR _size$4[ebp]
000c5 50 push eax
000c6 8d 4d e8 lea ecx, DWORD PTR _code$5[ebp]
000c9 51 push ecx
000ca 8b 55 f8 mov edx, DWORD PTR _addr$[ebp]
000cd 52 push edx
000ce ff 15 00 00 00
00 call DWORD PTR __imp__GetCurrentProcess@0
000d4 50 push eax
000d5 ff 15 00 00 00
00 call DWORD PTR __imp__WriteProcessMemory@20
; 129 : VirtualProtect(addr, size, dwOldFlag, &dwTempFlag);
000db 8d 45 dc lea eax, DWORD PTR _dwTempFlag$2[ebp]
000de 50 push eax
000df 8b 4d e0 mov ecx, DWORD PTR _dwOldFlag$3[ebp]
000e2 51 push ecx
000e3 8b 55 e4 mov edx, DWORD PTR _size$4[ebp]
000e6 52 push edx
000e7 8b 45 f8 mov eax, DWORD PTR _addr$[ebp]
000ea 50 push eax
000eb ff 15 00 00 00
00 call DWORD PTR __imp__VirtualProtect@16
$LN3@DisableSet:
; 130 : }
; 131 : }
000f1 5f pop edi
000f2 5e pop esi
000f3 5b pop ebx
000f4 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp]
000f7 33 cd xor ecx, ebp
000f9 e8 00 00 00 00 call @__security_check_cookie@4
000fe 8b e5 mov esp, ebp
00100 5d pop ebp
00101 c3 ret 0
?DisableSetUnhandledExceptionFilter@@YAXXZ ENDP ; DisableSetUnhandledExceptionFilter
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\MiniDmp\MiniDmp.h
; COMDAT ?GPTUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z
_TEXT SEGMENT
_nThreadId$ = -2072 ; size = 4
_szFile2$ = -2068 ; size = 1024
_t$ = -1044 ; size = 16
_szFile$ = -1028 ; size = 1024
__$ArrayPad$ = -4 ; size = 4
_pExceptionInfo$ = 8 ; size = 4
?GPTUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z PROC ; GPTUnhandledExceptionFilter, COMDAT
; 91 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 81 ec 58 09 00
00 sub esp, 2392 ; 00000958H
00009 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0000e 33 c5 xor eax, ebp
00010 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax
00013 53 push ebx
00014 56 push esi
00015 57 push edi
; 92 : WCHAR szFile[512]={0};
00016 68 00 04 00 00 push 1024 ; 00000400H
0001b 6a 00 push 0
0001d 8d 85 fc fb ff
ff lea eax, DWORD PTR _szFile$[ebp]
00023 50 push eax
00024 e8 00 00 00 00 call _memset
00029 83 c4 0c add esp, 12 ; 0000000cH
; 93 : GetModuleFileNameW(NULL,szFile,sizeof(szFile));
0002c 68 00 04 00 00 push 1024 ; 00000400H
00031 8d 85 fc fb ff
ff lea eax, DWORD PTR _szFile$[ebp]
00037 50 push eax
00038 6a 00 push 0
0003a ff 15 00 00 00
00 call DWORD PTR __imp__GetModuleFileNameW@12
; 94 : SYSTEMTIME t;
; 95 : GetLocalTime(&t);
00040 8d 85 ec fb ff
ff lea eax, DWORD PTR _t$[ebp]
00046 50 push eax
00047 ff 15 00 00 00
00 call DWORD PTR __imp__GetLocalTime@4
; 96 : WCHAR szFile2[512]={0};
0004d 68 00 04 00 00 push 1024 ; 00000400H
00052 6a 00 push 0
00054 8d 85 ec f7 ff
ff lea eax, DWORD PTR _szFile2$[ebp]
0005a 50 push eax
0005b e8 00 00 00 00 call _memset
00060 83 c4 0c add esp, 12 ; 0000000cH
; 97 : wsprintfW(szFile2 , L"%s_%04d%02d%02d %02d_%02d_%02d.dmp" , szFile , t.wYear,t.wMonth,t.wDay,t.wHour,t.wMinute,t.wSecond);
00063 0f b7 85 f8 fb
ff ff movzx eax, WORD PTR _t$[ebp+12]
0006a 50 push eax
0006b 0f b7 8d f6 fb
ff ff movzx ecx, WORD PTR _t$[ebp+10]
00072 51 push ecx
00073 0f b7 95 f4 fb
ff ff movzx edx, WORD PTR _t$[ebp+8]
0007a 52 push edx
0007b 0f b7 85 f2 fb
ff ff movzx eax, WORD PTR _t$[ebp+6]
00082 50 push eax
00083 0f b7 8d ee fb
ff ff movzx ecx, WORD PTR _t$[ebp+2]
0008a 51 push ecx
0008b 0f b7 95 ec fb
ff ff movzx edx, WORD PTR _t$[ebp]
00092 52 push edx
00093 8d 85 fc fb ff
ff lea eax, DWORD PTR _szFile$[ebp]
00099 50 push eax
0009a 68 00 00 00 00 push OFFSET ??_C@_1EG@GHBDJLCN@?$AA?$CF?$AAs?$AA_?$AA?$CF?$AA0?$AA4?$AAd?$AA?$CF?$AA0?$AA2?$AAd?$AA?$CF?$AA0?$AA2?$AAd@
0009f 8d 8d ec f7 ff
ff lea ecx, DWORD PTR _szFile2$[ebp]
000a5 51 push ecx
000a6 ff 15 00 00 00
00 call DWORD PTR __imp__wsprintfW
000ac 83 c4 24 add esp, 36 ; 00000024H
; 98 :
; 99 : DWORD nThreadId = GetCurrentThreadId();
000af ff 15 00 00 00
00 call DWORD PTR __imp__GetCurrentThreadId@0
000b5 89 85 e8 f7 ff
ff mov DWORD PTR _nThreadId$[ebp], eax
; 100 : //DWORD nProcessId = GetCurrentPrcoessId();
; 101 :
; 102 : //CreateMiniDump(pExceptionInfo, L"Exception.dmp");
; 103 : CreateMiniDump(pExceptionInfo, szFile2);
000bb 8d 85 ec f7 ff
ff lea eax, DWORD PTR _szFile2$[ebp]
000c1 50 push eax
000c2 8b 4d 08 mov ecx, DWORD PTR _pExceptionInfo$[ebp]
000c5 51 push ecx
000c6 e8 00 00 00 00 call ?CreateMiniDump@@YAXPAU_EXCEPTION_POINTERS@@PB_W@Z ; CreateMiniDump
000cb 83 c4 08 add esp, 8
; 104 : /*
; 105 : EXCEPTION_EXECUTE_HANDLER equ 1 <20><>ʾ<EFBFBD><CABE><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵؽ<C5B5><D8BD><EFBFBD><EFBFBD><EFBFBD>
; 106 : EXCEPTION_CONTINUE_SEARCH equ 0 <20><>ʾ<EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>windows<77><73><EFBFBD><EFBFBD>Ĭ<EFBFBD>ϵĴ<CFB5><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ<CABE><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; 107 : EXCEPTION_CONTINUE_EXECUTION equ -1 <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD>޸<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>
; 108 : */
; 109 : //return EXCEPTION_CONTINUE_EXECUTION; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; 110 : return EXCEPTION_EXECUTE_HANDLER;
000ce b8 01 00 00 00 mov eax, 1
; 111 : }
000d3 5f pop edi
000d4 5e pop esi
000d5 5b pop ebx
000d6 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp]
000d9 33 cd xor ecx, ebp
000db e8 00 00 00 00 call @__security_check_cookie@4
000e0 8b e5 mov esp, ebp
000e2 5d pop ebp
000e3 c2 04 00 ret 4
?GPTUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ENDP ; GPTUnhandledExceptionFilter
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\MiniDmp\MiniDmp.h
; COMDAT ?CreateMiniDump@@YAXPAU_EXCEPTION_POINTERS@@PB_W@Z
_TEXT SEGMENT
tv86 = -88 ; size = 4
tv88 = -84 ; size = 4
_einfo$1 = -16 ; size = 12
_hFile$ = -4 ; size = 4
_pep$ = 8 ; size = 4
_strFileName$ = 12 ; size = 4
?CreateMiniDump@@YAXPAU_EXCEPTION_POINTERS@@PB_W@Z PROC ; CreateMiniDump, COMDAT
; 55 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 58 sub esp, 88 ; 00000058H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 56 : HANDLE hFile = CreateFileW(strFileName, GENERIC_READ | GENERIC_WRITE,
00009 6a 00 push 0
0000b 68 80 00 00 00 push 128 ; 00000080H
00010 6a 02 push 2
00012 6a 00 push 0
00014 6a 00 push 0
00016 68 00 00 00 c0 push -1073741824 ; c0000000H
0001b 8b 45 0c mov eax, DWORD PTR _strFileName$[ebp]
0001e 50 push eax
0001f ff 15 00 00 00
00 call DWORD PTR __imp__CreateFileW@28
00025 89 45 fc mov DWORD PTR _hFile$[ebp], eax
; 57 : 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
; 58 :
; 59 : if((hFile != NULL) && (hFile != INVALID_HANDLE_VALUE))
00028 83 7d fc 00 cmp DWORD PTR _hFile$[ebp], 0
0002c 74 53 je SHORT $LN1@CreateMini
0002e 83 7d fc ff cmp DWORD PTR _hFile$[ebp], -1
00032 74 4d je SHORT $LN1@CreateMini
; 60 : {
; 61 : /*
; 62 : MINIDUMP_EXCEPTION_INFORMATION mdei;
; 63 : mdei.ThreadId = GetCurrentThreadId();
; 64 : mdei.ExceptionPointers = pep;
; 65 : mdei.ClientPointers = FALSE;
; 66 : MINIDUMP_CALLBACK_INFORMATION mci;
; 67 : mci.CallbackRoutine = (MINIDUMP_CALLBACK_ROUTINE)MiniDumpCallback;
; 68 : mci.CallbackParam = 0;
; 69 : MINIDUMP_TYPE mdt = (MINIDUMP_TYPE)(MiniDumpWithPrivateReadWriteMemory |
; 70 : MiniDumpWithDataSegs |
; 71 : MiniDumpWithHandleData |
; 72 : 0x00000800
; 73 : 0x00001000
; 74 : MiniDumpWithUnloadedModules);
; 75 : MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(),
; 76 : hFile, mdt, (pep != 0) ? &mdei : 0, 0, &mci);
; 77 : */
; 78 :
; 79 : MINIDUMP_EXCEPTION_INFORMATION einfo;
; 80 : einfo.ThreadId = ::GetCurrentThreadId();
00034 ff 15 00 00 00
00 call DWORD PTR __imp__GetCurrentThreadId@0
0003a 89 45 f0 mov DWORD PTR _einfo$1[ebp], eax
; 81 : einfo.ExceptionPointers = pep;
0003d 8b 45 08 mov eax, DWORD PTR _pep$[ebp]
00040 89 45 f4 mov DWORD PTR _einfo$1[ebp+4], eax
; 82 : einfo.ClientPointers = FALSE;
00043 c7 45 f8 00 00
00 00 mov DWORD PTR _einfo$1[ebp+8], 0
; 83 : ::MiniDumpWriteDump(::GetCurrentProcess(), ::GetCurrentProcessId(), hFile, MiniDumpNormal, &einfo, NULL, NULL);
0004a ff 15 00 00 00
00 call DWORD PTR __imp__GetCurrentProcessId@0
00050 89 45 ac mov DWORD PTR tv88[ebp], eax
00053 ff 15 00 00 00
00 call DWORD PTR __imp__GetCurrentProcess@0
00059 89 45 a8 mov DWORD PTR tv86[ebp], eax
0005c 6a 00 push 0
0005e 6a 00 push 0
00060 8d 45 f0 lea eax, DWORD PTR _einfo$1[ebp]
00063 50 push eax
00064 6a 00 push 0
00066 8b 4d fc mov ecx, DWORD PTR _hFile$[ebp]
00069 51 push ecx
0006a 8b 55 ac mov edx, DWORD PTR tv88[ebp]
0006d 52 push edx
0006e 8b 45 a8 mov eax, DWORD PTR tv86[ebp]
00071 50 push eax
00072 e8 00 00 00 00 call _MiniDumpWriteDump@28
; 84 :
; 85 : CloseHandle(hFile);
00077 8b 45 fc mov eax, DWORD PTR _hFile$[ebp]
0007a 50 push eax
0007b ff 15 00 00 00
00 call DWORD PTR __imp__CloseHandle@4
$LN1@CreateMini:
; 86 : }
; 87 : }
00081 5f pop edi
00082 5e pop esi
00083 5b pop ebx
00084 8b e5 mov esp, ebp
00086 5d pop ebp
00087 c3 ret 0
?CreateMiniDump@@YAXPAU_EXCEPTION_POINTERS@@PB_W@Z ENDP ; CreateMiniDump
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; COMDAT ??1CSmsCenterDlg@@UAE@XZ
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
??1CSmsCenterDlg@@UAE@XZ PROC ; CSmsCenterDlg::~CSmsCenterDlg, COMDAT
; _this$ = ecx
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??1CSmsCenterDlg@@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 c7 45 fc 28 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 40 ; 00000028H
00032 c6 45 fc 27 mov BYTE PTR __$EHRec$[ebp+8], 39 ; 00000027H
00036 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00039 81 c1 78 1e 00
00 add ecx, 7800 ; 00001e78H
0003f e8 00 00 00 00 call ??1CButton@@UAE@XZ ; CButton::~CButton
00044 c6 45 fc 26 mov BYTE PTR __$EHRec$[ebp+8], 38 ; 00000026H
00048 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0004b 81 c1 f8 1d 00
00 add ecx, 7672 ; 00001df8H
00051 e8 00 00 00 00 call ??1CStatic@@UAE@XZ ; CStatic::~CStatic
00056 c6 45 fc 25 mov BYTE PTR __$EHRec$[ebp+8], 37 ; 00000025H
0005a 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0005d 81 c1 70 1d 00
00 add ecx, 7536 ; 00001d70H
00063 e8 00 00 00 00 call ??1CStatic@@UAE@XZ ; CStatic::~CStatic
00068 c6 45 fc 24 mov BYTE PTR __$EHRec$[ebp+8], 36 ; 00000024H
0006c 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0006f 81 c1 f0 1c 00
00 add ecx, 7408 ; 00001cf0H
00075 e8 00 00 00 00 call ??1CButton@@UAE@XZ ; CButton::~CButton
0007a c6 45 fc 23 mov BYTE PTR __$EHRec$[ebp+8], 35 ; 00000023H
0007e 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00081 81 c1 70 1c 00
00 add ecx, 7280 ; 00001c70H
00087 e8 00 00 00 00 call ??1CEdit@@UAE@XZ ; CEdit::~CEdit
0008c c6 45 fc 22 mov BYTE PTR __$EHRec$[ebp+8], 34 ; 00000022H
00090 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00093 81 c1 f0 1b 00
00 add ecx, 7152 ; 00001bf0H
00099 e8 00 00 00 00 call ??1CListCtrl@@UAE@XZ ; CListCtrl::~CListCtrl
0009e c6 45 fc 21 mov BYTE PTR __$EHRec$[ebp+8], 33 ; 00000021H
000a2 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
000a5 81 c1 70 1b 00
00 add ecx, 7024 ; 00001b70H
000ab e8 00 00 00 00 call ??1CButton@@UAE@XZ ; CButton::~CButton
000b0 c6 45 fc 20 mov BYTE PTR __$EHRec$[ebp+8], 32 ; 00000020H
000b4 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
000b7 81 c1 f0 1a 00
00 add ecx, 6896 ; 00001af0H
000bd e8 00 00 00 00 call ??1CButton@@UAE@XZ ; CButton::~CButton
000c2 c6 45 fc 1f mov BYTE PTR __$EHRec$[ebp+8], 31 ; 0000001fH
000c6 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
000c9 81 c1 70 1a 00
00 add ecx, 6768 ; 00001a70H
000cf e8 00 00 00 00 call ??1CButton@@UAE@XZ ; CButton::~CButton
000d4 c6 45 fc 1e mov BYTE PTR __$EHRec$[ebp+8], 30 ; 0000001eH
000d8 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
000db 81 c1 f0 19 00
00 add ecx, 6640 ; 000019f0H
000e1 e8 00 00 00 00 call ??1CButton@@UAE@XZ ; CButton::~CButton
000e6 c6 45 fc 1d mov BYTE PTR __$EHRec$[ebp+8], 29 ; 0000001dH
000ea 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
000ed 81 c1 70 19 00
00 add ecx, 6512 ; 00001970H
000f3 e8 00 00 00 00 call ??1CListCtrl@@UAE@XZ ; CListCtrl::~CListCtrl
000f8 c6 45 fc 1c mov BYTE PTR __$EHRec$[ebp+8], 28 ; 0000001cH
000fc 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
000ff 81 c1 f0 18 00
00 add ecx, 6384 ; 000018f0H
00105 e8 00 00 00 00 call ??1CButton@@UAE@XZ ; CButton::~CButton
0010a c6 45 fc 1b mov BYTE PTR __$EHRec$[ebp+8], 27 ; 0000001bH
0010e 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00111 81 c1 70 18 00
00 add ecx, 6256 ; 00001870H
00117 e8 00 00 00 00 call ??1CEdit@@UAE@XZ ; CEdit::~CEdit
0011c c6 45 fc 1a mov BYTE PTR __$EHRec$[ebp+8], 26 ; 0000001aH
00120 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00123 81 c1 f0 17 00
00 add ecx, 6128 ; 000017f0H
00129 e8 00 00 00 00 call ??1CStatic@@UAE@XZ ; CStatic::~CStatic
0012e c6 45 fc 19 mov BYTE PTR __$EHRec$[ebp+8], 25 ; 00000019H
00132 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00135 81 c1 70 17 00
00 add ecx, 6000 ; 00001770H
0013b e8 00 00 00 00 call ??1CButton@@UAE@XZ ; CButton::~CButton
00140 c6 45 fc 18 mov BYTE PTR __$EHRec$[ebp+8], 24 ; 00000018H
00144 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00147 81 c1 4c 17 00
00 add ecx, 5964 ; 0000174cH
0014d e8 00 00 00 00 call ??1?$CList@U_REQ_WxWork_Send@@U1@@@UAE@XZ ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::~CList<_REQ_WxWork_Send,_REQ_WxWork_Send>
00152 c6 45 fc 17 mov BYTE PTR __$EHRec$[ebp+8], 23 ; 00000017H
00156 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00159 81 c1 30 17 00
00 add ecx, 5936 ; 00001730H
0015f e8 00 00 00 00 call ??1?$CList@U_REQ_WxWork_Send@@U1@@@UAE@XZ ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::~CList<_REQ_WxWork_Send,_REQ_WxWork_Send>
00164 c6 45 fc 16 mov BYTE PTR __$EHRec$[ebp+8], 22 ; 00000016H
00168 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0016b 81 c1 b8 14 00
00 add ecx, 5304 ; 000014b8H
00171 e8 00 00 00 00 call ??1CSqlPool@@UAE@XZ ; CSqlPool::~CSqlPool
00176 c6 45 fc 15 mov BYTE PTR __$EHRec$[ebp+8], 21 ; 00000015H
0017a 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0017d 81 c1 90 14 00
00 add ecx, 5264 ; 00001490H
00183 e8 00 00 00 00 call ??1CSendPub@@QAE@XZ ; CSendPub::~CSendPub
00188 c6 45 fc 14 mov BYTE PTR __$EHRec$[ebp+8], 20 ; 00000014H
0018c 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0018f 81 c1 6c 14 00
00 add ecx, 5228 ; 0000146cH
00195 e8 00 00 00 00 call ??1CCriticalSection@@UAE@XZ ; CCriticalSection::~CCriticalSection
0019a c6 45 fc 13 mov BYTE PTR __$EHRec$[ebp+8], 19 ; 00000013H
0019e 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
001a1 81 c1 50 14 00
00 add ecx, 5200 ; 00001450H
001a7 e8 00 00 00 00 call ??1?$CList@U_SmsReport@@AAU1@@@UAE@XZ ; CList<_SmsReport,_SmsReport &>::~CList<_SmsReport,_SmsReport &>
001ac c6 45 fc 12 mov BYTE PTR __$EHRec$[ebp+8], 18 ; 00000012H
001b0 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
001b3 81 c1 08 14 00
00 add ecx, 5128 ; 00001408H
001b9 e8 00 00 00 00 call ??1CCriticalSection@@UAE@XZ ; CCriticalSection::~CCriticalSection
001be c6 45 fc 11 mov BYTE PTR __$EHRec$[ebp+8], 17 ; 00000011H
001c2 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
001c5 81 c1 f0 13 00
00 add ecx, 5104 ; 000013f0H
001cb e8 00 00 00 00 call ??1?$CArray@U_Mas_TDType@@AAU1@@@UAE@XZ ; CArray<_Mas_TDType,_Mas_TDType &>::~CArray<_Mas_TDType,_Mas_TDType &>
001d0 c6 45 fc 10 mov BYTE PTR __$EHRec$[ebp+8], 16 ; 00000010H
001d4 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
001d7 81 c1 08 13 00
00 add ecx, 4872 ; 00001308H
001dd e8 00 00 00 00 call ??1CIOCP@@UAE@XZ ; CIOCP::~CIOCP
001e2 c6 45 fc 0f mov BYTE PTR __$EHRec$[ebp+8], 15 ; 0000000fH
001e6 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
001e9 81 c1 04 13 00
00 add ecx, 4868 ; 00001304H
001ef 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> > >
001f4 c6 45 fc 0e mov BYTE PTR __$EHRec$[ebp+8], 14 ; 0000000eH
001f8 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
001fb 81 c1 bc 12 00
00 add ecx, 4796 ; 000012bcH
00201 e8 00 00 00 00 call ??1CImageList@@UAE@XZ ; CImageList::~CImageList
00206 c6 45 fc 0d mov BYTE PTR __$EHRec$[ebp+8], 13 ; 0000000dH
0020a 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0020d 81 c1 20 03 00
00 add ecx, 800 ; 00000320H
00213 e8 00 00 00 00 call ??1?$CList@U_Checkup@@U1@@@UAE@XZ ; CList<_Checkup,_Checkup>::~CList<_Checkup,_Checkup>
00218 c6 45 fc 0c mov BYTE PTR __$EHRec$[ebp+8], 12 ; 0000000cH
0021c 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0021f 81 c1 04 03 00
00 add ecx, 772 ; 00000304H
00225 e8 00 00 00 00 call ??1?$CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@XZ
0022a c6 45 fc 0b mov BYTE PTR __$EHRec$[ebp+8], 11 ; 0000000bH
0022e 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00231 81 c1 c8 02 00
00 add ecx, 712 ; 000002c8H
00237 e8 00 00 00 00 call ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
0023c c6 45 fc 0a mov BYTE PTR __$EHRec$[ebp+8], 10 ; 0000000aH
00240 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00243 81 c1 a8 02 00
00 add ecx, 680 ; 000002a8H
00249 e8 00 00 00 00 call ??1CAdoConnection@@UAE@XZ ; CAdoConnection::~CAdoConnection
0024e c6 45 fc 09 mov BYTE PTR __$EHRec$[ebp+8], 9
00252 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00255 81 c1 70 02 00
00 add ecx, 624 ; 00000270H
0025b e8 00 00 00 00 call ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
00260 c6 45 fc 08 mov BYTE PTR __$EHRec$[ebp+8], 8
00264 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00267 81 c1 38 02 00
00 add ecx, 568 ; 00000238H
0026d e8 00 00 00 00 call ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
00272 c6 45 fc 07 mov BYTE PTR __$EHRec$[ebp+8], 7
00276 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00279 81 c1 00 02 00
00 add ecx, 512 ; 00000200H
0027f e8 00 00 00 00 call ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
00284 c6 45 fc 06 mov BYTE PTR __$EHRec$[ebp+8], 6
00288 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0028b 81 c1 c8 01 00
00 add ecx, 456 ; 000001c8H
00291 e8 00 00 00 00 call ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
00296 c6 45 fc 05 mov BYTE PTR __$EHRec$[ebp+8], 5
0029a 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0029d 81 c1 90 01 00
00 add ecx, 400 ; 00000190H
002a3 e8 00 00 00 00 call ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
002a8 c6 45 fc 04 mov BYTE PTR __$EHRec$[ebp+8], 4
002ac 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
002af 81 c1 58 01 00
00 add ecx, 344 ; 00000158H
002b5 e8 00 00 00 00 call ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
002ba c6 45 fc 03 mov BYTE PTR __$EHRec$[ebp+8], 3
002be 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
002c1 81 c1 20 01 00
00 add ecx, 288 ; 00000120H
002c7 e8 00 00 00 00 call ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
002cc c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+8], 2
002d0 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
002d3 81 c1 00 01 00
00 add ecx, 256 ; 00000100H
002d9 e8 00 00 00 00 call ??1CAdoConnection@@UAE@XZ ; CAdoConnection::~CAdoConnection
002de c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+8], 1
002e2 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
002e5 81 c1 c8 00 00
00 add ecx, 200 ; 000000c8H
002eb e8 00 00 00 00 call ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
002f0 c6 45 fc 00 mov BYTE PTR __$EHRec$[ebp+8], 0
002f4 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
002f7 81 c1 a8 00 00
00 add ecx, 168 ; 000000a8H
002fd e8 00 00 00 00 call ??1CAdoConnection@@UAE@XZ ; CAdoConnection::~CAdoConnection
00302 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
00309 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0030c e8 00 00 00 00 call ??1CDialog@@UAE@XZ ; CDialog::~CDialog
00311 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00314 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0031b 59 pop ecx
0031c 5f pop edi
0031d 5e pop esi
0031e 5b pop ebx
0031f 8b e5 mov esp, ebp
00321 5d pop ebp
00322 c3 ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 e9 00 00 00 00 jmp ??1CDialog@@UAE@XZ ; CDialog::~CDialog
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$1:
00008 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0000b 81 c1 a8 00 00
00 add ecx, 168 ; 000000a8H
00011 e9 00 00 00 00 jmp ??1CAdoConnection@@UAE@XZ ; CAdoConnection::~CAdoConnection
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$2:
00016 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00019 81 c1 c8 00 00
00 add ecx, 200 ; 000000c8H
0001f e9 00 00 00 00 jmp ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$3:
00024 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00027 81 c1 00 01 00
00 add ecx, 256 ; 00000100H
0002d e9 00 00 00 00 jmp ??1CAdoConnection@@UAE@XZ ; CAdoConnection::~CAdoConnection
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$4:
00032 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00035 81 c1 20 01 00
00 add ecx, 288 ; 00000120H
0003b e9 00 00 00 00 jmp ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$5:
00040 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00043 81 c1 58 01 00
00 add ecx, 344 ; 00000158H
00049 e9 00 00 00 00 jmp ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$6:
0004e 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00051 81 c1 90 01 00
00 add ecx, 400 ; 00000190H
00057 e9 00 00 00 00 jmp ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$7:
0005c 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0005f 81 c1 c8 01 00
00 add ecx, 456 ; 000001c8H
00065 e9 00 00 00 00 jmp ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$8:
0006a 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0006d 81 c1 00 02 00
00 add ecx, 512 ; 00000200H
00073 e9 00 00 00 00 jmp ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$9:
00078 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0007b 81 c1 38 02 00
00 add ecx, 568 ; 00000238H
00081 e9 00 00 00 00 jmp ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$10:
00086 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00089 81 c1 70 02 00
00 add ecx, 624 ; 00000270H
0008f e9 00 00 00 00 jmp ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$11:
00094 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00097 81 c1 a8 02 00
00 add ecx, 680 ; 000002a8H
0009d e9 00 00 00 00 jmp ??1CAdoConnection@@UAE@XZ ; CAdoConnection::~CAdoConnection
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$12:
000a2 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
000a5 81 c1 c8 02 00
00 add ecx, 712 ; 000002c8H
000ab e9 00 00 00 00 jmp ??1CAdoRecordSet@@UAE@XZ ; CAdoRecordSet::~CAdoRecordSet
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$13:
000b0 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
000b3 81 c1 04 03 00
00 add ecx, 772 ; 00000304H
000b9 e9 00 00 00 00 jmp ??1?$CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@XZ
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$14:
000be 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
000c1 81 c1 20 03 00
00 add ecx, 800 ; 00000320H
000c7 e9 00 00 00 00 jmp ??1?$CList@U_Checkup@@U1@@@UAE@XZ ; CList<_Checkup,_Checkup>::~CList<_Checkup,_Checkup>
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$15:
000cc 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
000cf 81 c1 bc 12 00
00 add ecx, 4796 ; 000012bcH
000d5 e9 00 00 00 00 jmp ??1CImageList@@UAE@XZ ; CImageList::~CImageList
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$16:
000da 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
000dd 81 c1 04 13 00
00 add ecx, 4868 ; 00001304H
000e3 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$??1CSmsCenterDlg@@UAE@XZ$17:
000e8 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
000eb 81 c1 08 13 00
00 add ecx, 4872 ; 00001308H
000f1 e9 00 00 00 00 jmp ??1CIOCP@@UAE@XZ ; CIOCP::~CIOCP
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$18:
000f6 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
000f9 81 c1 f0 13 00
00 add ecx, 5104 ; 000013f0H
000ff e9 00 00 00 00 jmp ??1?$CArray@U_Mas_TDType@@AAU1@@@UAE@XZ ; CArray<_Mas_TDType,_Mas_TDType &>::~CArray<_Mas_TDType,_Mas_TDType &>
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$19:
00104 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00107 81 c1 08 14 00
00 add ecx, 5128 ; 00001408H
0010d e9 00 00 00 00 jmp ??1CCriticalSection@@UAE@XZ ; CCriticalSection::~CCriticalSection
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$20:
00112 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00115 81 c1 50 14 00
00 add ecx, 5200 ; 00001450H
0011b e9 00 00 00 00 jmp ??1?$CList@U_SmsReport@@AAU1@@@UAE@XZ ; CList<_SmsReport,_SmsReport &>::~CList<_SmsReport,_SmsReport &>
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$21:
00120 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00123 81 c1 6c 14 00
00 add ecx, 5228 ; 0000146cH
00129 e9 00 00 00 00 jmp ??1CCriticalSection@@UAE@XZ ; CCriticalSection::~CCriticalSection
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$22:
0012e 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00131 81 c1 90 14 00
00 add ecx, 5264 ; 00001490H
00137 e9 00 00 00 00 jmp ??1CSendPub@@QAE@XZ ; CSendPub::~CSendPub
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$23:
0013c 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0013f 81 c1 b8 14 00
00 add ecx, 5304 ; 000014b8H
00145 e9 00 00 00 00 jmp ??1CSqlPool@@UAE@XZ ; CSqlPool::~CSqlPool
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$24:
0014a 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0014d 81 c1 30 17 00
00 add ecx, 5936 ; 00001730H
00153 e9 00 00 00 00 jmp ??1?$CList@U_REQ_WxWork_Send@@U1@@@UAE@XZ ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::~CList<_REQ_WxWork_Send,_REQ_WxWork_Send>
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$25:
00158 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0015b 81 c1 4c 17 00
00 add ecx, 5964 ; 0000174cH
00161 e9 00 00 00 00 jmp ??1?$CList@U_REQ_WxWork_Send@@U1@@@UAE@XZ ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::~CList<_REQ_WxWork_Send,_REQ_WxWork_Send>
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$26:
00166 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00169 81 c1 70 17 00
00 add ecx, 6000 ; 00001770H
0016f e9 00 00 00 00 jmp ??1CButton@@UAE@XZ ; CButton::~CButton
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$27:
00174 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00177 81 c1 f0 17 00
00 add ecx, 6128 ; 000017f0H
0017d e9 00 00 00 00 jmp ??1CStatic@@UAE@XZ ; CStatic::~CStatic
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$28:
00182 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00185 81 c1 70 18 00
00 add ecx, 6256 ; 00001870H
0018b e9 00 00 00 00 jmp ??1CEdit@@UAE@XZ ; CEdit::~CEdit
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$29:
00190 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00193 81 c1 f0 18 00
00 add ecx, 6384 ; 000018f0H
00199 e9 00 00 00 00 jmp ??1CButton@@UAE@XZ ; CButton::~CButton
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$30:
0019e 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
001a1 81 c1 70 19 00
00 add ecx, 6512 ; 00001970H
001a7 e9 00 00 00 00 jmp ??1CListCtrl@@UAE@XZ ; CListCtrl::~CListCtrl
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$31:
001ac 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
001af 81 c1 f0 19 00
00 add ecx, 6640 ; 000019f0H
001b5 e9 00 00 00 00 jmp ??1CButton@@UAE@XZ ; CButton::~CButton
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$32:
001ba 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
001bd 81 c1 70 1a 00
00 add ecx, 6768 ; 00001a70H
001c3 e9 00 00 00 00 jmp ??1CButton@@UAE@XZ ; CButton::~CButton
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$33:
001c8 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
001cb 81 c1 f0 1a 00
00 add ecx, 6896 ; 00001af0H
001d1 e9 00 00 00 00 jmp ??1CButton@@UAE@XZ ; CButton::~CButton
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$34:
001d6 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
001d9 81 c1 70 1b 00
00 add ecx, 7024 ; 00001b70H
001df e9 00 00 00 00 jmp ??1CButton@@UAE@XZ ; CButton::~CButton
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$35:
001e4 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
001e7 81 c1 f0 1b 00
00 add ecx, 7152 ; 00001bf0H
001ed e9 00 00 00 00 jmp ??1CListCtrl@@UAE@XZ ; CListCtrl::~CListCtrl
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$36:
001f2 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
001f5 81 c1 70 1c 00
00 add ecx, 7280 ; 00001c70H
001fb e9 00 00 00 00 jmp ??1CEdit@@UAE@XZ ; CEdit::~CEdit
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$37:
00200 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00203 81 c1 f0 1c 00
00 add ecx, 7408 ; 00001cf0H
00209 e9 00 00 00 00 jmp ??1CButton@@UAE@XZ ; CButton::~CButton
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$38:
0020e 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00211 81 c1 70 1d 00
00 add ecx, 7536 ; 00001d70H
00217 e9 00 00 00 00 jmp ??1CStatic@@UAE@XZ ; CStatic::~CStatic
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$39:
0021c 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0021f 81 c1 f8 1d 00
00 add ecx, 7672 ; 00001df8H
00225 e9 00 00 00 00 jmp ??1CStatic@@UAE@XZ ; CStatic::~CStatic
__unwindfunclet$??1CSmsCenterDlg@@UAE@XZ$40:
0022a 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0022d 81 c1 78 1e 00
00 add ecx, 7800 ; 00001e78H
00233 e9 00 00 00 00 jmp ??1CButton@@UAE@XZ ; CButton::~CButton
00238 cc int 3
00239 cc int 3
0023a cc int 3
0023b cc int 3
0023c cc int 3
__ehhandler$??1CSmsCenterDlg@@UAE@XZ:
0023d 90 npad 1
0023e 90 npad 1
0023f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00243 8d 42 0c lea eax, DWORD PTR [edx+12]
00246 8b 4a ac mov ecx, DWORD PTR [edx-84]
00249 33 c8 xor ecx, eax
0024b e8 00 00 00 00 call @__security_check_cookie@4
00250 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??1CSmsCenterDlg@@UAE@XZ
00255 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??1CSmsCenterDlg@@UAE@XZ ENDP ; CSmsCenterDlg::~CSmsCenterDlg
; Function compile flags: /Odtp /ZI
; COMDAT ??_G?$CList@U_REQ_WxWork_Send@@U1@@@UAEPAXI@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
___flags$ = 8 ; size = 4
??_G?$CList@U_REQ_WxWork_Send@@U1@@@UAEPAXI@Z PROC ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::`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 ??1?$CList@U_REQ_WxWork_Send@@U1@@@UAE@XZ ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::~CList<_REQ_WxWork_Send,_REQ_WxWork_Send>
00014 8b 45 08 mov eax, DWORD PTR ___flags$[ebp]
00017 83 e0 01 and eax, 1
0001a 74 23 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 10 jmp SHORT $LN2@scalar
0002f eb 0e jmp SHORT $LN2@scalar
$LN3@scalar:
00031 6a 1c push 28 ; 0000001cH
00033 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00036 50 push eax
00037 e8 00 00 00 00 call ?__global_delete@@YAXPAXI@Z ; __global_delete
0003c 83 c4 08 add esp, 8
$LN2@scalar:
0003f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00042 5f pop edi
00043 5e pop esi
00044 5b pop ebx
00045 8b e5 mov esp, ebp
00047 5d pop ebp
00048 c2 04 00 ret 4
??_G?$CList@U_REQ_WxWork_Send@@U1@@@UAEPAXI@Z ENDP ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::`scalar deleting destructor'
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxtempl.h
; COMDAT ?Serialize@?$CList@U_REQ_WxWork_Send@@U1@@@UAEXAAVCArchive@@@Z
_TEXT SEGMENT
tv155 = -112 ; size = 4
tv87 = -112 ; size = 4
$T2 = -108 ; size = 4
_newData$3 = -40 ; size = 12
_nNewCount$4 = -28 ; size = 4
_pData$5 = -24 ; size = 4
_pNode$6 = -20 ; size = 4
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_ar$ = 8 ; size = 4
?Serialize@?$CList@U_REQ_WxWork_Send@@U1@@@UAEXAAVCArchive@@@Z PROC ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::Serialize, COMDAT
; _this$ = ecx
; 1172 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?Serialize@?$CList@U_REQ_WxWork_Send@@U1@@@UAEXAAVCArchive@@@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 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
; 1173 : ASSERT_VALID(this);
; 1174 :
; 1175 : CObject::Serialize(ar);
0002b 8b 45 08 mov eax, DWORD PTR _ar$[ebp]
0002e 50 push eax
0002f 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00032 e8 00 00 00 00 call ?Serialize@CObject@@UAEXAAVCArchive@@@Z ; CObject::Serialize
; 1176 :
; 1177 : if (ar.IsStoring())
00037 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
0003a e8 00 00 00 00 call ?IsStoring@CArchive@@QBEHXZ ; CArchive::IsStoring
0003f 85 c0 test eax, eax
00041 74 47 je SHORT $LN7@Serialize
; 1178 : {
; 1179 : ar.WriteCount(m_nCount);
00043 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00046 8b 48 0c mov ecx, DWORD PTR [eax+12]
00049 51 push ecx
0004a 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
0004d e8 00 00 00 00 call ?WriteCount@CArchive@@QAEXK@Z ; CArchive::WriteCount
; 1180 : for (CNode* pNode = m_pNodeHead; pNode != NULL; pNode = pNode->pNext)
00052 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00055 8b 48 04 mov ecx, DWORD PTR [eax+4]
00058 89 4d ec mov DWORD PTR _pNode$6[ebp], ecx
0005b eb 08 jmp SHORT $LN4@Serialize
$LN2@Serialize:
0005d 8b 45 ec mov eax, DWORD PTR _pNode$6[ebp]
00060 8b 08 mov ecx, DWORD PTR [eax]
00062 89 4d ec mov DWORD PTR _pNode$6[ebp], ecx
$LN4@Serialize:
00065 83 7d ec 00 cmp DWORD PTR _pNode$6[ebp], 0
00069 74 1a je SHORT $LN3@Serialize
; 1181 : {
; 1182 : ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
; 1183 : TYPE* pData;
; 1184 : /*
; 1185 : * in some cases the & operator might be overloaded, and we cannot use it to obtain
; 1186 : * the address of a given object. We then use the following trick to get the address
; 1187 : */
; 1188 : pData = reinterpret_cast< TYPE* >( &reinterpret_cast< int& >( static_cast< TYPE& >( pNode->data ) ) );
0006b 8b 45 ec mov eax, DWORD PTR _pNode$6[ebp]
0006e 83 c0 08 add eax, 8
00071 89 45 e8 mov DWORD PTR _pData$5[ebp], eax
; 1189 : SerializeElements<TYPE>(ar, pData, 1);
00074 6a 01 push 1
00076 8b 45 e8 mov eax, DWORD PTR _pData$5[ebp]
00079 50 push eax
0007a 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
0007d 51 push ecx
0007e e8 00 00 00 00 call ??$SerializeElements@U_REQ_WxWork_Send@@@@YGXAAVCArchive@@PAU_REQ_WxWork_Send@@H@Z ; SerializeElements<_REQ_WxWork_Send>
; 1190 : }
00083 eb d8 jmp SHORT $LN2@Serialize
$LN3@Serialize:
; 1191 : }
00085 e9 98 00 00 00 jmp $LN1@Serialize
$LN7@Serialize:
; 1192 : else
; 1193 : {
; 1194 : DWORD_PTR nNewCount = ar.ReadCount();
0008a 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
0008d e8 00 00 00 00 call ?ReadCount@CArchive@@QAEKXZ ; CArchive::ReadCount
00092 89 45 e4 mov DWORD PTR _nNewCount$4[ebp], eax
$LN5@Serialize:
; 1195 : while (nNewCount--)
00095 8b 45 e4 mov eax, DWORD PTR _nNewCount$4[ebp]
00098 89 45 90 mov DWORD PTR tv87[ebp], eax
0009b 8b 4d e4 mov ecx, DWORD PTR _nNewCount$4[ebp]
0009e 83 e9 01 sub ecx, 1
000a1 89 4d e4 mov DWORD PTR _nNewCount$4[ebp], ecx
000a4 83 7d 90 00 cmp DWORD PTR tv87[ebp], 0
000a8 74 78 je SHORT $LN1@Serialize
; 1196 : {
; 1197 : TYPE newData[1];
000aa 68 00 00 00 00 push OFFSET ??1_REQ_WxWork_Send@@QAE@XZ
000af 68 00 00 00 00 push OFFSET ??0_REQ_WxWork_Send@@QAE@XZ
000b4 6a 01 push 1
000b6 6a 0c push 12 ; 0000000cH
000b8 8d 45 d8 lea eax, DWORD PTR _newData$3[ebp]
000bb 50 push eax
000bc e8 00 00 00 00 call ??_L@YGXPAXIIP6EX0@Z1@Z
000c1 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
; 1198 : SerializeElements<TYPE>(ar, newData, 1);
000c8 6a 01 push 1
000ca 8d 45 d8 lea eax, DWORD PTR _newData$3[ebp]
000cd 50 push eax
000ce 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
000d1 51 push ecx
000d2 e8 00 00 00 00 call ??$SerializeElements@U_REQ_WxWork_Send@@@@YGXAAVCArchive@@PAU_REQ_WxWork_Send@@H@Z ; SerializeElements<_REQ_WxWork_Send>
; 1199 : AddTail(newData[0]);
000d7 83 ec 0c sub esp, 12 ; 0000000cH
000da 8b cc mov ecx, esp
000dc 89 65 94 mov DWORD PTR $T2[ebp], esp
000df b8 0c 00 00 00 mov eax, 12 ; 0000000cH
000e4 6b d0 00 imul edx, eax, 0
000e7 8d 44 15 d8 lea eax, DWORD PTR _newData$3[ebp+edx]
000eb 50 push eax
000ec e8 00 00 00 00 call ??0_REQ_WxWork_Send@@QAE@ABU0@@Z
000f1 89 45 90 mov DWORD PTR tv155[ebp], eax
000f4 c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+8], 1
000f8 c6 45 fc 00 mov BYTE PTR __$EHRec$[ebp+8], 0
000fc 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
000ff e8 00 00 00 00 call ?AddTail@?$CList@U_REQ_WxWork_Send@@U1@@@QAEPAU__POSITION@@U_REQ_WxWork_Send@@@Z ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::AddTail
; 1200 : }
00104 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
0010b 68 00 00 00 00 push OFFSET ??1_REQ_WxWork_Send@@QAE@XZ
00110 6a 01 push 1
00112 6a 0c push 12 ; 0000000cH
00114 8d 45 d8 lea eax, DWORD PTR _newData$3[ebp]
00117 50 push eax
00118 e8 00 00 00 00 call ??_M@YGXPAXIIP6EX0@Z@Z
0011d e9 73 ff ff ff jmp $LN5@Serialize
$LN1@Serialize:
; 1201 : }
; 1202 : }
00122 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00125 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0012c 59 pop ecx
0012d 5f pop edi
0012e 5e pop esi
0012f 5b pop ebx
00130 8b e5 mov esp, ebp
00132 5d pop ebp
00133 c2 04 00 ret 4
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$?Serialize@?$CList@U_REQ_WxWork_Send@@U1@@@UAEXAAVCArchive@@@Z$0:
00000 68 00 00 00 00 push OFFSET ??1_REQ_WxWork_Send@@QAE@XZ
00005 6a 01 push 1
00007 6a 0c push 12 ; 0000000cH
00009 8d 45 d8 lea eax, DWORD PTR _newData$3[ebp]
0000c 50 push eax
0000d e8 00 00 00 00 call ??_M@YGXPAXIIP6EX0@Z@Z
00012 c3 ret 0
__unwindfunclet$?Serialize@?$CList@U_REQ_WxWork_Send@@U1@@@UAEXAAVCArchive@@@Z$1:
00013 8b 4d 94 mov ecx, DWORD PTR $T2[ebp]
00016 e9 00 00 00 00 jmp ??1_REQ_WxWork_Send@@QAE@XZ
0001b cc int 3
0001c cc int 3
0001d cc int 3
0001e cc int 3
0001f cc int 3
__ehhandler$?Serialize@?$CList@U_REQ_WxWork_Send@@U1@@@UAEXAAVCArchive@@@Z:
00020 90 npad 1
00021 90 npad 1
00022 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00026 8d 42 0c lea eax, DWORD PTR [edx+12]
00029 8b 4a 8c mov ecx, DWORD PTR [edx-116]
0002c 33 c8 xor ecx, eax
0002e e8 00 00 00 00 call @__security_check_cookie@4
00033 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?Serialize@?$CList@U_REQ_WxWork_Send@@U1@@@UAEXAAVCArchive@@@Z
00038 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?Serialize@?$CList@U_REQ_WxWork_Send@@U1@@@UAEXAAVCArchive@@@Z ENDP ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::Serialize
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxtempl.h
; COMDAT ??1?$CList@U_REQ_WxWork_Send@@U1@@@UAE@XZ
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
??1?$CList@U_REQ_WxWork_Send@@U1@@@UAE@XZ PROC ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::~CList<_REQ_WxWork_Send,_REQ_WxWork_Send>, COMDAT
; _this$ = ecx
; 881 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??1?$CList@U_REQ_WxWork_Send@@U1@@@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 ??_7?$CList@U_REQ_WxWork_Send@@U1@@@6B@
00034 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
; 882 : RemoveAll();
0003b 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0003e e8 00 00 00 00 call ?RemoveAll@?$CList@U_REQ_WxWork_Send@@U1@@@QAEXXZ ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::RemoveAll
; 883 : ASSERT(m_nCount == 0);
; 884 : }
00043 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
0004a 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0004d e8 00 00 00 00 call ??1CObject@@UAE@XZ ; CObject::~CObject
00052 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00055 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0005c 59 pop ecx
0005d 5f pop edi
0005e 5e pop esi
0005f 5b pop ebx
00060 8b e5 mov esp, ebp
00062 5d pop ebp
00063 c3 ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??1?$CList@U_REQ_WxWork_Send@@U1@@@UAE@XZ$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 e9 00 00 00 00 jmp ??1CObject@@UAE@XZ ; CObject::~CObject
00008 cc int 3
00009 cc int 3
0000a cc int 3
0000b cc int 3
0000c cc int 3
__ehhandler$??1?$CList@U_REQ_WxWork_Send@@U1@@@UAE@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?$CList@U_REQ_WxWork_Send@@U1@@@UAE@XZ
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??1?$CList@U_REQ_WxWork_Send@@U1@@@UAE@XZ ENDP ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::~CList<_REQ_WxWork_Send,_REQ_WxWork_Send>
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxtempl.h
; COMDAT ?NewNode@?$CList@U_REQ_WxWork_Send@@U1@@@IAEPAUCNode@1@PAU21@0@Z
_TEXT SEGMENT
tv88 = -96 ; size = 4
$T1 = -92 ; size = 4
_pNode$ = -24 ; size = 4
___afx_condVal$2 = -20 ; size = 4
_i$3 = -16 ; size = 4
_pNode$4 = -12 ; size = 4
_pNewBlock$5 = -8 ; size = 4
_this$ = -4 ; size = 4
_pPrev$ = 8 ; size = 4
_pNext$ = 12 ; size = 4
?NewNode@?$CList@U_REQ_WxWork_Send@@U1@@@IAEPAUCNode@1@PAU21@0@Z PROC ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::NewNode, COMDAT
; _this$ = ecx
; 904 : {
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
; 905 : if (m_pNodeFree == NULL)
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 83 78 10 00 cmp DWORD PTR [eax+16], 0
00013 75 71 jne SHORT $LN7@NewNode
; 906 : {
; 907 : // add another block
; 908 : CPlex* pNewBlock = CPlex::Create(m_pBlocks, m_nBlockSize,
00015 6a 14 push 20 ; 00000014H
00017 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0001a 8b 48 18 mov ecx, DWORD PTR [eax+24]
0001d 51 push ecx
0001e 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00021 83 c2 14 add edx, 20 ; 00000014H
00024 52 push edx
00025 e8 00 00 00 00 call ?Create@CPlex@@SGPAU1@AAPAU1@II@Z ; CPlex::Create
0002a 89 45 f8 mov DWORD PTR _pNewBlock$5[ebp], eax
; 909 : sizeof(CNode));
; 910 :
; 911 : // chain them into free list
; 912 : CNode* pNode = (CNode*) pNewBlock->data();
0002d 8b 4d f8 mov ecx, DWORD PTR _pNewBlock$5[ebp]
00030 e8 00 00 00 00 call ?data@CPlex@@QAEPAXXZ ; CPlex::data
00035 89 45 f4 mov DWORD PTR _pNode$4[ebp], eax
; 913 : // free in reverse order to make it easier to debug
; 914 : pNode += m_nBlockSize - 1;
00038 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0003b 8b 48 18 mov ecx, DWORD PTR [eax+24]
0003e 83 e9 01 sub ecx, 1
00041 6b d1 14 imul edx, ecx, 20
00044 03 55 f4 add edx, DWORD PTR _pNode$4[ebp]
00047 89 55 f4 mov DWORD PTR _pNode$4[ebp], edx
; 915 : for (INT_PTR i = m_nBlockSize-1; i >= 0; i--, pNode--)
0004a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0004d 8b 48 18 mov ecx, DWORD PTR [eax+24]
00050 83 e9 01 sub ecx, 1
00053 89 4d f0 mov DWORD PTR _i$3[ebp], ecx
00056 eb 12 jmp SHORT $LN4@NewNode
$LN2@NewNode:
00058 8b 45 f0 mov eax, DWORD PTR _i$3[ebp]
0005b 83 e8 01 sub eax, 1
0005e 89 45 f0 mov DWORD PTR _i$3[ebp], eax
00061 8b 4d f4 mov ecx, DWORD PTR _pNode$4[ebp]
00064 83 e9 14 sub ecx, 20 ; 00000014H
00067 89 4d f4 mov DWORD PTR _pNode$4[ebp], ecx
$LN4@NewNode:
0006a 83 7d f0 00 cmp DWORD PTR _i$3[ebp], 0
0006e 7c 16 jl SHORT $LN7@NewNode
; 916 : {
; 917 : pNode->pNext = m_pNodeFree;
00070 8b 45 f4 mov eax, DWORD PTR _pNode$4[ebp]
00073 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00076 8b 51 10 mov edx, DWORD PTR [ecx+16]
00079 89 10 mov DWORD PTR [eax], edx
; 918 : m_pNodeFree = pNode;
0007b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0007e 8b 4d f4 mov ecx, DWORD PTR _pNode$4[ebp]
00081 89 48 10 mov DWORD PTR [eax+16], ecx
; 919 : }
00084 eb d2 jmp SHORT $LN2@NewNode
$LN7@NewNode:
; 920 : }
; 921 : ENSURE(m_pNodeFree != NULL); // we must have something
00086 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00089 83 78 10 00 cmp DWORD PTR [eax+16], 0
0008d 74 09 je SHORT $LN11@NewNode
0008f c7 45 a0 01 00
00 00 mov DWORD PTR tv88[ebp], 1
00096 eb 07 jmp SHORT $LN12@NewNode
$LN11@NewNode:
00098 c7 45 a0 00 00
00 00 mov DWORD PTR tv88[ebp], 0
$LN12@NewNode:
0009f 8b 4d a0 mov ecx, DWORD PTR tv88[ebp]
000a2 89 4d ec mov DWORD PTR ___afx_condVal$2[ebp], ecx
000a5 83 7d ec 00 cmp DWORD PTR ___afx_condVal$2[ebp], 0
000a9 75 05 jne SHORT $LN5@NewNode
000ab e8 00 00 00 00 call ?AfxThrowInvalidArgException@@YGXXZ ; AfxThrowInvalidArgException
$LN5@NewNode:
000b0 33 c0 xor eax, eax
000b2 75 d2 jne SHORT $LN7@NewNode
; 922 :
; 923 : CList::CNode* pNode = m_pNodeFree;
000b4 8b 45 fc mov eax, DWORD PTR _this$[ebp]
000b7 8b 48 10 mov ecx, DWORD PTR [eax+16]
000ba 89 4d e8 mov DWORD PTR _pNode$[ebp], ecx
; 924 : m_pNodeFree = m_pNodeFree->pNext;
000bd 8b 45 fc mov eax, DWORD PTR _this$[ebp]
000c0 8b 48 10 mov ecx, DWORD PTR [eax+16]
000c3 8b 55 fc mov edx, DWORD PTR _this$[ebp]
000c6 8b 01 mov eax, DWORD PTR [ecx]
000c8 89 42 10 mov DWORD PTR [edx+16], eax
; 925 : pNode->pPrev = pPrev;
000cb 8b 45 e8 mov eax, DWORD PTR _pNode$[ebp]
000ce 8b 4d 08 mov ecx, DWORD PTR _pPrev$[ebp]
000d1 89 48 04 mov DWORD PTR [eax+4], ecx
; 926 : pNode->pNext = pNext;
000d4 8b 45 e8 mov eax, DWORD PTR _pNode$[ebp]
000d7 8b 4d 0c mov ecx, DWORD PTR _pNext$[ebp]
000da 89 08 mov DWORD PTR [eax], ecx
; 927 : m_nCount++;
000dc 8b 45 fc mov eax, DWORD PTR _this$[ebp]
000df 8b 48 0c mov ecx, DWORD PTR [eax+12]
000e2 83 c1 01 add ecx, 1
000e5 8b 55 fc mov edx, DWORD PTR _this$[ebp]
000e8 89 4a 0c mov DWORD PTR [edx+12], ecx
; 928 : ASSERT(m_nCount > 0); // make sure we don't overflow
; 929 :
; 930 : #pragma push_macro("new")
; 931 : #undef new
; 932 : ::new( (void*)( &pNode->data ) ) TYPE;
000eb 8b 45 e8 mov eax, DWORD PTR _pNode$[ebp]
000ee 83 c0 08 add eax, 8
000f1 50 push eax
000f2 6a 0c push 12 ; 0000000cH
000f4 e8 00 00 00 00 call ??2@YAPAXIPAX@Z ; operator new
000f9 83 c4 08 add esp, 8
000fc 89 45 a4 mov DWORD PTR $T1[ebp], eax
000ff 8b 4d a4 mov ecx, DWORD PTR $T1[ebp]
00102 e8 00 00 00 00 call ??0_REQ_WxWork_Send@@QAE@XZ
; 933 : #pragma pop_macro("new")
; 934 : return pNode;
00107 8b 45 e8 mov eax, DWORD PTR _pNode$[ebp]
$LN10@NewNode:
; 935 : }
0010a 5f pop edi
0010b 5e pop esi
0010c 5b pop ebx
0010d 8b e5 mov esp, ebp
0010f 5d pop ebp
00110 c2 08 00 ret 8
?NewNode@?$CList@U_REQ_WxWork_Send@@U1@@@IAEPAUCNode@1@PAU21@0@Z ENDP ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::NewNode
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxtempl.h
; COMDAT ?RemoveAll@?$CList@U_REQ_WxWork_Send@@U1@@@QAEXXZ
_TEXT SEGMENT
tv72 = -76 ; size = 4
_pNode$ = -8 ; size = 4
_this$ = -4 ; size = 4
?RemoveAll@?$CList@U_REQ_WxWork_Send@@U1@@@QAEXXZ PROC ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::RemoveAll, COMDAT
; _this$ = ecx
; 865 : {
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
; 866 : ASSERT_VALID(this);
; 867 :
; 868 : // destroy elements
; 869 : CNode* pNode;
; 870 : for (pNode = m_pNodeHead; pNode != NULL; pNode = pNode->pNext)
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 8b 48 04 mov ecx, DWORD PTR [eax+4]
00012 89 4d f8 mov DWORD PTR _pNode$[ebp], ecx
00015 eb 08 jmp SHORT $LN4@RemoveAll
$LN2@RemoveAll:
00017 8b 45 f8 mov eax, DWORD PTR _pNode$[ebp]
0001a 8b 08 mov ecx, DWORD PTR [eax]
0001c 89 4d f8 mov DWORD PTR _pNode$[ebp], ecx
$LN4@RemoveAll:
0001f 83 7d f8 00 cmp DWORD PTR _pNode$[ebp], 0
00023 74 15 je SHORT $LN3@RemoveAll
; 871 : pNode->data.~TYPE();
00025 8b 45 f8 mov eax, DWORD PTR _pNode$[ebp]
00028 83 c0 08 add eax, 8
0002b 89 45 b4 mov DWORD PTR tv72[ebp], eax
0002e 6a 00 push 0
00030 8b 4d b4 mov ecx, DWORD PTR tv72[ebp]
00033 e8 00 00 00 00 call ??_G_REQ_WxWork_Send@@QAEPAXI@Z
00038 eb dd jmp SHORT $LN2@RemoveAll
$LN3@RemoveAll:
; 872 :
; 873 : m_nCount = 0;
0003a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0003d c7 40 0c 00 00
00 00 mov DWORD PTR [eax+12], 0
; 874 : m_pNodeHead = m_pNodeTail = m_pNodeFree = NULL;
00044 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00047 c7 40 10 00 00
00 00 mov DWORD PTR [eax+16], 0
0004e 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00051 c7 41 08 00 00
00 00 mov DWORD PTR [ecx+8], 0
00058 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0005b c7 42 04 00 00
00 00 mov DWORD PTR [edx+4], 0
; 875 : m_pBlocks->FreeDataChain();
00062 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00065 8b 48 14 mov ecx, DWORD PTR [eax+20]
00068 e8 00 00 00 00 call ?FreeDataChain@CPlex@@QAEXXZ ; CPlex::FreeDataChain
; 876 : m_pBlocks = NULL;
0006d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00070 c7 40 14 00 00
00 00 mov DWORD PTR [eax+20], 0
; 877 : }
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
?RemoveAll@?$CList@U_REQ_WxWork_Send@@U1@@@QAEXXZ ENDP ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::RemoveAll
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxtempl.h
; COMDAT ?AddTail@?$CList@U_REQ_WxWork_Send@@U1@@@QAEPAU__POSITION@@U_REQ_WxWork_Send@@@Z
_TEXT SEGMENT
$T2 = -88 ; size = 4
_pNewNode$ = -20 ; size = 4
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_newElement$ = 8 ; size = 12
?AddTail@?$CList@U_REQ_WxWork_Send@@U1@@@QAEPAU__POSITION@@U_REQ_WxWork_Send@@@Z PROC ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::AddTail, COMDAT
; _this$ = ecx
; 968 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?AddTail@?$CList@U_REQ_WxWork_Send@@U1@@@QAEPAU__POSITION@@U_REQ_WxWork_Send@@@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 4c sub esp, 76 ; 0000004cH
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
0002b c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
; 969 : ASSERT_VALID(this);
; 970 :
; 971 : CNode* pNewNode = NewNode(m_pNodeTail, NULL);
00032 6a 00 push 0
00034 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00037 8b 48 08 mov ecx, DWORD PTR [eax+8]
0003a 51 push ecx
0003b 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0003e e8 00 00 00 00 call ?NewNode@?$CList@U_REQ_WxWork_Send@@U1@@@IAEPAUCNode@1@PAU21@0@Z ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::NewNode
00043 89 45 ec mov DWORD PTR _pNewNode$[ebp], eax
; 972 : pNewNode->data = newElement;
00046 8d 45 08 lea eax, DWORD PTR _newElement$[ebp]
00049 50 push eax
0004a 8b 4d ec mov ecx, DWORD PTR _pNewNode$[ebp]
0004d 83 c1 08 add ecx, 8
00050 e8 00 00 00 00 call ??4_REQ_WxWork_Send@@QAEAAU0@ABU0@@Z
; 973 : if (m_pNodeTail != NULL)
00055 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00058 83 78 08 00 cmp DWORD PTR [eax+8], 0
0005c 74 0d je SHORT $LN2@AddTail
; 974 : m_pNodeTail->pNext = pNewNode;
0005e 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00061 8b 48 08 mov ecx, DWORD PTR [eax+8]
00064 8b 55 ec mov edx, DWORD PTR _pNewNode$[ebp]
00067 89 11 mov DWORD PTR [ecx], edx
00069 eb 09 jmp SHORT $LN3@AddTail
$LN2@AddTail:
; 975 : else
; 976 : m_pNodeHead = pNewNode;
0006b 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
0006e 8b 4d ec mov ecx, DWORD PTR _pNewNode$[ebp]
00071 89 48 04 mov DWORD PTR [eax+4], ecx
$LN3@AddTail:
; 977 : m_pNodeTail = pNewNode;
00074 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00077 8b 4d ec mov ecx, DWORD PTR _pNewNode$[ebp]
0007a 89 48 08 mov DWORD PTR [eax+8], ecx
; 978 : return (POSITION) pNewNode;
0007d 8b 45 ec mov eax, DWORD PTR _pNewNode$[ebp]
00080 89 45 a8 mov DWORD PTR $T2[ebp], eax
00083 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
0008a 8d 4d 08 lea ecx, DWORD PTR _newElement$[ebp]
0008d e8 00 00 00 00 call ??1_REQ_WxWork_Send@@QAE@XZ
00092 8b 45 a8 mov eax, DWORD PTR $T2[ebp]
; 979 : }
00095 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00098 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0009f 59 pop ecx
000a0 5f pop edi
000a1 5e pop esi
000a2 5b pop ebx
000a3 8b e5 mov esp, ebp
000a5 5d pop ebp
000a6 c2 0c 00 ret 12 ; 0000000cH
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$?AddTail@?$CList@U_REQ_WxWork_Send@@U1@@@QAEPAU__POSITION@@U_REQ_WxWork_Send@@@Z$0:
00000 8d 4d 08 lea ecx, DWORD PTR _newElement$[ebp]
00003 e9 00 00 00 00 jmp ??1_REQ_WxWork_Send@@QAE@XZ
00008 cc int 3
00009 cc int 3
0000a cc int 3
0000b cc int 3
0000c cc int 3
__ehhandler$?AddTail@?$CList@U_REQ_WxWork_Send@@U1@@@QAEPAU__POSITION@@U_REQ_WxWork_Send@@@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 a4 mov ecx, DWORD PTR [edx-92]
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$?AddTail@?$CList@U_REQ_WxWork_Send@@U1@@@QAEPAU__POSITION@@U_REQ_WxWork_Send@@@Z
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?AddTail@?$CList@U_REQ_WxWork_Send@@U1@@@QAEPAU__POSITION@@U_REQ_WxWork_Send@@@Z ENDP ; CList<_REQ_WxWork_Send,_REQ_WxWork_Send>::AddTail
; Function compile flags: /Odtp /ZI
; COMDAT ??_G?$CList@U_SmsReport@@AAU1@@@UAEPAXI@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
___flags$ = 8 ; size = 4
??_G?$CList@U_SmsReport@@AAU1@@@UAEPAXI@Z PROC ; CList<_SmsReport,_SmsReport &>::`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 ??1?$CList@U_SmsReport@@AAU1@@@UAE@XZ ; CList<_SmsReport,_SmsReport &>::~CList<_SmsReport,_SmsReport &>
00014 8b 45 08 mov eax, DWORD PTR ___flags$[ebp]
00017 83 e0 01 and eax, 1
0001a 74 23 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 10 jmp SHORT $LN2@scalar
0002f eb 0e jmp SHORT $LN2@scalar
$LN3@scalar:
00031 6a 1c push 28 ; 0000001cH
00033 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00036 50 push eax
00037 e8 00 00 00 00 call ?__global_delete@@YAXPAXI@Z ; __global_delete
0003c 83 c4 08 add esp, 8
$LN2@scalar:
0003f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00042 5f pop edi
00043 5e pop esi
00044 5b pop ebx
00045 8b e5 mov esp, ebp
00047 5d pop ebp
00048 c2 04 00 ret 4
??_G?$CList@U_SmsReport@@AAU1@@@UAEPAXI@Z ENDP ; CList<_SmsReport,_SmsReport &>::`scalar deleting destructor'
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxtempl.h
; COMDAT ?Serialize@?$CList@U_SmsReport@@AAU1@@@UAEXAAVCArchive@@@Z
_TEXT SEGMENT
tv87 = -144 ; size = 4
_newData$2 = -76 ; size = 44
_nNewCount$3 = -32 ; size = 4
_pData$4 = -28 ; size = 4
_pNode$5 = -24 ; size = 4
_this$ = -20 ; size = 4
__$ArrayPad$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_ar$ = 8 ; size = 4
?Serialize@?$CList@U_SmsReport@@AAU1@@@UAEXAAVCArchive@@@Z PROC ; CList<_SmsReport,_SmsReport &>::Serialize, COMDAT
; _this$ = ecx
; 1172 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?Serialize@?$CList@U_SmsReport@@AAU1@@@UAEXAAVCArchive@@@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 81 ec 84 00 00
00 sub esp, 132 ; 00000084H
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 89 45 f0 mov DWORD PTR __$ArrayPad$[ebp], eax
00021 53 push ebx
00022 56 push esi
00023 57 push edi
00024 50 push eax
00025 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00028 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
0002e 89 4d ec mov DWORD PTR _this$[ebp], ecx
; 1173 : ASSERT_VALID(this);
; 1174 :
; 1175 : CObject::Serialize(ar);
00031 8b 45 08 mov eax, DWORD PTR _ar$[ebp]
00034 50 push eax
00035 8b 4d ec mov ecx, DWORD PTR _this$[ebp]
00038 e8 00 00 00 00 call ?Serialize@CObject@@UAEXAAVCArchive@@@Z ; CObject::Serialize
; 1176 :
; 1177 : if (ar.IsStoring())
0003d 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
00040 e8 00 00 00 00 call ?IsStoring@CArchive@@QBEHXZ ; CArchive::IsStoring
00045 85 c0 test eax, eax
00047 74 47 je SHORT $LN7@Serialize
; 1178 : {
; 1179 : ar.WriteCount(m_nCount);
00049 8b 45 ec mov eax, DWORD PTR _this$[ebp]
0004c 8b 48 0c mov ecx, DWORD PTR [eax+12]
0004f 51 push ecx
00050 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
00053 e8 00 00 00 00 call ?WriteCount@CArchive@@QAEXK@Z ; CArchive::WriteCount
; 1180 : for (CNode* pNode = m_pNodeHead; pNode != NULL; pNode = pNode->pNext)
00058 8b 45 ec mov eax, DWORD PTR _this$[ebp]
0005b 8b 48 04 mov ecx, DWORD PTR [eax+4]
0005e 89 4d e8 mov DWORD PTR _pNode$5[ebp], ecx
00061 eb 08 jmp SHORT $LN4@Serialize
$LN2@Serialize:
00063 8b 45 e8 mov eax, DWORD PTR _pNode$5[ebp]
00066 8b 08 mov ecx, DWORD PTR [eax]
00068 89 4d e8 mov DWORD PTR _pNode$5[ebp], ecx
$LN4@Serialize:
0006b 83 7d e8 00 cmp DWORD PTR _pNode$5[ebp], 0
0006f 74 1a je SHORT $LN3@Serialize
; 1181 : {
; 1182 : ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
; 1183 : TYPE* pData;
; 1184 : /*
; 1185 : * in some cases the & operator might be overloaded, and we cannot use it to obtain
; 1186 : * the address of a given object. We then use the following trick to get the address
; 1187 : */
; 1188 : pData = reinterpret_cast< TYPE* >( &reinterpret_cast< int& >( static_cast< TYPE& >( pNode->data ) ) );
00071 8b 45 e8 mov eax, DWORD PTR _pNode$5[ebp]
00074 83 c0 08 add eax, 8
00077 89 45 e4 mov DWORD PTR _pData$4[ebp], eax
; 1189 : SerializeElements<TYPE>(ar, pData, 1);
0007a 6a 01 push 1
0007c 8b 45 e4 mov eax, DWORD PTR _pData$4[ebp]
0007f 50 push eax
00080 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
00083 51 push ecx
00084 e8 00 00 00 00 call ??$SerializeElements@U_SmsReport@@@@YGXAAVCArchive@@PAU_SmsReport@@H@Z ; SerializeElements<_SmsReport>
; 1190 : }
00089 eb d8 jmp SHORT $LN2@Serialize
$LN3@Serialize:
; 1191 : }
0008b e9 83 00 00 00 jmp $LN1@Serialize
$LN7@Serialize:
; 1192 : else
; 1193 : {
; 1194 : DWORD_PTR nNewCount = ar.ReadCount();
00090 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
00093 e8 00 00 00 00 call ?ReadCount@CArchive@@QAEKXZ ; CArchive::ReadCount
00098 89 45 e0 mov DWORD PTR _nNewCount$3[ebp], eax
$LN5@Serialize:
; 1195 : while (nNewCount--)
0009b 8b 45 e0 mov eax, DWORD PTR _nNewCount$3[ebp]
0009e 89 85 70 ff ff
ff mov DWORD PTR tv87[ebp], eax
000a4 8b 4d e0 mov ecx, DWORD PTR _nNewCount$3[ebp]
000a7 83 e9 01 sub ecx, 1
000aa 89 4d e0 mov DWORD PTR _nNewCount$3[ebp], ecx
000ad 83 bd 70 ff ff
ff 00 cmp DWORD PTR tv87[ebp], 0
000b4 74 5d je SHORT $LN1@Serialize
; 1196 : {
; 1197 : TYPE newData[1];
000b6 68 00 00 00 00 push OFFSET ??1_SmsReport@@QAE@XZ
000bb 68 00 00 00 00 push OFFSET ??0_SmsReport@@QAE@XZ
000c0 6a 01 push 1
000c2 6a 2c push 44 ; 0000002cH
000c4 8d 45 b4 lea eax, DWORD PTR _newData$2[ebp]
000c7 50 push eax
000c8 e8 00 00 00 00 call ??_L@YGXPAXIIP6EX0@Z1@Z
000cd c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
; 1198 : SerializeElements<TYPE>(ar, newData, 1);
000d4 6a 01 push 1
000d6 8d 45 b4 lea eax, DWORD PTR _newData$2[ebp]
000d9 50 push eax
000da 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
000dd 51 push ecx
000de e8 00 00 00 00 call ??$SerializeElements@U_SmsReport@@@@YGXAAVCArchive@@PAU_SmsReport@@H@Z ; SerializeElements<_SmsReport>
; 1199 : AddTail(newData[0]);
000e3 b8 2c 00 00 00 mov eax, 44 ; 0000002cH
000e8 6b c8 00 imul ecx, eax, 0
000eb 8d 54 0d b4 lea edx, DWORD PTR _newData$2[ebp+ecx]
000ef 52 push edx
000f0 8b 4d ec mov ecx, DWORD PTR _this$[ebp]
000f3 e8 00 00 00 00 call ?AddTail@?$CList@U_SmsReport@@AAU1@@@QAEPAU__POSITION@@AAU_SmsReport@@@Z ; CList<_SmsReport,_SmsReport &>::AddTail
; 1200 : }
000f8 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
000ff 68 00 00 00 00 push OFFSET ??1_SmsReport@@QAE@XZ
00104 6a 01 push 1
00106 6a 2c push 44 ; 0000002cH
00108 8d 45 b4 lea eax, DWORD PTR _newData$2[ebp]
0010b 50 push eax
0010c e8 00 00 00 00 call ??_M@YGXPAXIIP6EX0@Z@Z
00111 eb 88 jmp SHORT $LN5@Serialize
$LN1@Serialize:
; 1201 : }
; 1202 : }
00113 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00116 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0011d 59 pop ecx
0011e 5f pop edi
0011f 5e pop esi
00120 5b pop ebx
00121 8b 4d f0 mov ecx, DWORD PTR __$ArrayPad$[ebp]
00124 33 cd xor ecx, ebp
00126 e8 00 00 00 00 call @__security_check_cookie@4
0012b 8b e5 mov esp, ebp
0012d 5d pop ebp
0012e c2 04 00 ret 4
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$?Serialize@?$CList@U_SmsReport@@AAU1@@@UAEXAAVCArchive@@@Z$0:
00000 68 00 00 00 00 push OFFSET ??1_SmsReport@@QAE@XZ
00005 6a 01 push 1
00007 6a 2c push 44 ; 0000002cH
00009 8d 45 b4 lea eax, DWORD PTR _newData$2[ebp]
0000c 50 push eax
0000d e8 00 00 00 00 call ??_M@YGXPAXIIP6EX0@Z@Z
00012 c3 ret 0
00013 cc int 3
00014 cc int 3
00015 cc int 3
00016 cc int 3
00017 cc int 3
__ehhandler$?Serialize@?$CList@U_SmsReport@@AAU1@@@UAEXAAVCArchive@@@Z:
00018 90 npad 1
00019 90 npad 1
0001a 8b 54 24 08 mov edx, DWORD PTR [esp+8]
0001e 8d 42 0c lea eax, DWORD PTR [edx+12]
00021 8b 8a 6c ff ff
ff mov ecx, DWORD PTR [edx-148]
00027 33 c8 xor ecx, eax
00029 e8 00 00 00 00 call @__security_check_cookie@4
0002e 8b 4a fc mov ecx, DWORD PTR [edx-4]
00031 33 c8 xor ecx, eax
00033 e8 00 00 00 00 call @__security_check_cookie@4
00038 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?Serialize@?$CList@U_SmsReport@@AAU1@@@UAEXAAVCArchive@@@Z
0003d e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?Serialize@?$CList@U_SmsReport@@AAU1@@@UAEXAAVCArchive@@@Z ENDP ; CList<_SmsReport,_SmsReport &>::Serialize
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxtempl.h
; COMDAT ??1?$CList@U_SmsReport@@AAU1@@@UAE@XZ
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
??1?$CList@U_SmsReport@@AAU1@@@UAE@XZ PROC ; CList<_SmsReport,_SmsReport &>::~CList<_SmsReport,_SmsReport &>, COMDAT
; _this$ = ecx
; 881 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??1?$CList@U_SmsReport@@AAU1@@@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 ??_7?$CList@U_SmsReport@@AAU1@@@6B@
00034 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
; 882 : RemoveAll();
0003b 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0003e e8 00 00 00 00 call ?RemoveAll@?$CList@U_SmsReport@@AAU1@@@QAEXXZ ; CList<_SmsReport,_SmsReport &>::RemoveAll
; 883 : ASSERT(m_nCount == 0);
; 884 : }
00043 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
0004a 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0004d e8 00 00 00 00 call ??1CObject@@UAE@XZ ; CObject::~CObject
00052 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00055 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0005c 59 pop ecx
0005d 5f pop edi
0005e 5e pop esi
0005f 5b pop ebx
00060 8b e5 mov esp, ebp
00062 5d pop ebp
00063 c3 ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??1?$CList@U_SmsReport@@AAU1@@@UAE@XZ$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 e9 00 00 00 00 jmp ??1CObject@@UAE@XZ ; CObject::~CObject
00008 cc int 3
00009 cc int 3
0000a cc int 3
0000b cc int 3
0000c cc int 3
__ehhandler$??1?$CList@U_SmsReport@@AAU1@@@UAE@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?$CList@U_SmsReport@@AAU1@@@UAE@XZ
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??1?$CList@U_SmsReport@@AAU1@@@UAE@XZ ENDP ; CList<_SmsReport,_SmsReport &>::~CList<_SmsReport,_SmsReport &>
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxtempl.h
; COMDAT ?NewNode@?$CList@U_SmsReport@@AAU1@@@IAEPAUCNode@1@PAU21@0@Z
_TEXT SEGMENT
tv88 = -96 ; size = 4
$T1 = -92 ; size = 4
_pNode$ = -24 ; size = 4
___afx_condVal$2 = -20 ; size = 4
_i$3 = -16 ; size = 4
_pNode$4 = -12 ; size = 4
_pNewBlock$5 = -8 ; size = 4
_this$ = -4 ; size = 4
_pPrev$ = 8 ; size = 4
_pNext$ = 12 ; size = 4
?NewNode@?$CList@U_SmsReport@@AAU1@@@IAEPAUCNode@1@PAU21@0@Z PROC ; CList<_SmsReport,_SmsReport &>::NewNode, COMDAT
; _this$ = ecx
; 904 : {
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
; 905 : if (m_pNodeFree == NULL)
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 83 78 10 00 cmp DWORD PTR [eax+16], 0
00013 75 71 jne SHORT $LN7@NewNode
; 906 : {
; 907 : // add another block
; 908 : CPlex* pNewBlock = CPlex::Create(m_pBlocks, m_nBlockSize,
00015 6a 34 push 52 ; 00000034H
00017 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0001a 8b 48 18 mov ecx, DWORD PTR [eax+24]
0001d 51 push ecx
0001e 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00021 83 c2 14 add edx, 20 ; 00000014H
00024 52 push edx
00025 e8 00 00 00 00 call ?Create@CPlex@@SGPAU1@AAPAU1@II@Z ; CPlex::Create
0002a 89 45 f8 mov DWORD PTR _pNewBlock$5[ebp], eax
; 909 : sizeof(CNode));
; 910 :
; 911 : // chain them into free list
; 912 : CNode* pNode = (CNode*) pNewBlock->data();
0002d 8b 4d f8 mov ecx, DWORD PTR _pNewBlock$5[ebp]
00030 e8 00 00 00 00 call ?data@CPlex@@QAEPAXXZ ; CPlex::data
00035 89 45 f4 mov DWORD PTR _pNode$4[ebp], eax
; 913 : // free in reverse order to make it easier to debug
; 914 : pNode += m_nBlockSize - 1;
00038 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0003b 8b 48 18 mov ecx, DWORD PTR [eax+24]
0003e 83 e9 01 sub ecx, 1
00041 6b d1 34 imul edx, ecx, 52
00044 03 55 f4 add edx, DWORD PTR _pNode$4[ebp]
00047 89 55 f4 mov DWORD PTR _pNode$4[ebp], edx
; 915 : for (INT_PTR i = m_nBlockSize-1; i >= 0; i--, pNode--)
0004a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0004d 8b 48 18 mov ecx, DWORD PTR [eax+24]
00050 83 e9 01 sub ecx, 1
00053 89 4d f0 mov DWORD PTR _i$3[ebp], ecx
00056 eb 12 jmp SHORT $LN4@NewNode
$LN2@NewNode:
00058 8b 45 f0 mov eax, DWORD PTR _i$3[ebp]
0005b 83 e8 01 sub eax, 1
0005e 89 45 f0 mov DWORD PTR _i$3[ebp], eax
00061 8b 4d f4 mov ecx, DWORD PTR _pNode$4[ebp]
00064 83 e9 34 sub ecx, 52 ; 00000034H
00067 89 4d f4 mov DWORD PTR _pNode$4[ebp], ecx
$LN4@NewNode:
0006a 83 7d f0 00 cmp DWORD PTR _i$3[ebp], 0
0006e 7c 16 jl SHORT $LN7@NewNode
; 916 : {
; 917 : pNode->pNext = m_pNodeFree;
00070 8b 45 f4 mov eax, DWORD PTR _pNode$4[ebp]
00073 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00076 8b 51 10 mov edx, DWORD PTR [ecx+16]
00079 89 10 mov DWORD PTR [eax], edx
; 918 : m_pNodeFree = pNode;
0007b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0007e 8b 4d f4 mov ecx, DWORD PTR _pNode$4[ebp]
00081 89 48 10 mov DWORD PTR [eax+16], ecx
; 919 : }
00084 eb d2 jmp SHORT $LN2@NewNode
$LN7@NewNode:
; 920 : }
; 921 : ENSURE(m_pNodeFree != NULL); // we must have something
00086 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00089 83 78 10 00 cmp DWORD PTR [eax+16], 0
0008d 74 09 je SHORT $LN11@NewNode
0008f c7 45 a0 01 00
00 00 mov DWORD PTR tv88[ebp], 1
00096 eb 07 jmp SHORT $LN12@NewNode
$LN11@NewNode:
00098 c7 45 a0 00 00
00 00 mov DWORD PTR tv88[ebp], 0
$LN12@NewNode:
0009f 8b 4d a0 mov ecx, DWORD PTR tv88[ebp]
000a2 89 4d ec mov DWORD PTR ___afx_condVal$2[ebp], ecx
000a5 83 7d ec 00 cmp DWORD PTR ___afx_condVal$2[ebp], 0
000a9 75 05 jne SHORT $LN5@NewNode
000ab e8 00 00 00 00 call ?AfxThrowInvalidArgException@@YGXXZ ; AfxThrowInvalidArgException
$LN5@NewNode:
000b0 33 c0 xor eax, eax
000b2 75 d2 jne SHORT $LN7@NewNode
; 922 :
; 923 : CList::CNode* pNode = m_pNodeFree;
000b4 8b 45 fc mov eax, DWORD PTR _this$[ebp]
000b7 8b 48 10 mov ecx, DWORD PTR [eax+16]
000ba 89 4d e8 mov DWORD PTR _pNode$[ebp], ecx
; 924 : m_pNodeFree = m_pNodeFree->pNext;
000bd 8b 45 fc mov eax, DWORD PTR _this$[ebp]
000c0 8b 48 10 mov ecx, DWORD PTR [eax+16]
000c3 8b 55 fc mov edx, DWORD PTR _this$[ebp]
000c6 8b 01 mov eax, DWORD PTR [ecx]
000c8 89 42 10 mov DWORD PTR [edx+16], eax
; 925 : pNode->pPrev = pPrev;
000cb 8b 45 e8 mov eax, DWORD PTR _pNode$[ebp]
000ce 8b 4d 08 mov ecx, DWORD PTR _pPrev$[ebp]
000d1 89 48 04 mov DWORD PTR [eax+4], ecx
; 926 : pNode->pNext = pNext;
000d4 8b 45 e8 mov eax, DWORD PTR _pNode$[ebp]
000d7 8b 4d 0c mov ecx, DWORD PTR _pNext$[ebp]
000da 89 08 mov DWORD PTR [eax], ecx
; 927 : m_nCount++;
000dc 8b 45 fc mov eax, DWORD PTR _this$[ebp]
000df 8b 48 0c mov ecx, DWORD PTR [eax+12]
000e2 83 c1 01 add ecx, 1
000e5 8b 55 fc mov edx, DWORD PTR _this$[ebp]
000e8 89 4a 0c mov DWORD PTR [edx+12], ecx
; 928 : ASSERT(m_nCount > 0); // make sure we don't overflow
; 929 :
; 930 : #pragma push_macro("new")
; 931 : #undef new
; 932 : ::new( (void*)( &pNode->data ) ) TYPE;
000eb 8b 45 e8 mov eax, DWORD PTR _pNode$[ebp]
000ee 83 c0 08 add eax, 8
000f1 50 push eax
000f2 6a 2c push 44 ; 0000002cH
000f4 e8 00 00 00 00 call ??2@YAPAXIPAX@Z ; operator new
000f9 83 c4 08 add esp, 8
000fc 89 45 a4 mov DWORD PTR $T1[ebp], eax
000ff 8b 4d a4 mov ecx, DWORD PTR $T1[ebp]
00102 e8 00 00 00 00 call ??0_SmsReport@@QAE@XZ
; 933 : #pragma pop_macro("new")
; 934 : return pNode;
00107 8b 45 e8 mov eax, DWORD PTR _pNode$[ebp]
$LN10@NewNode:
; 935 : }
0010a 5f pop edi
0010b 5e pop esi
0010c 5b pop ebx
0010d 8b e5 mov esp, ebp
0010f 5d pop ebp
00110 c2 08 00 ret 8
?NewNode@?$CList@U_SmsReport@@AAU1@@@IAEPAUCNode@1@PAU21@0@Z ENDP ; CList<_SmsReport,_SmsReport &>::NewNode
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxtempl.h
; COMDAT ?RemoveAll@?$CList@U_SmsReport@@AAU1@@@QAEXXZ
_TEXT SEGMENT
tv72 = -76 ; size = 4
_pNode$ = -8 ; size = 4
_this$ = -4 ; size = 4
?RemoveAll@?$CList@U_SmsReport@@AAU1@@@QAEXXZ PROC ; CList<_SmsReport,_SmsReport &>::RemoveAll, COMDAT
; _this$ = ecx
; 865 : {
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
; 866 : ASSERT_VALID(this);
; 867 :
; 868 : // destroy elements
; 869 : CNode* pNode;
; 870 : for (pNode = m_pNodeHead; pNode != NULL; pNode = pNode->pNext)
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 8b 48 04 mov ecx, DWORD PTR [eax+4]
00012 89 4d f8 mov DWORD PTR _pNode$[ebp], ecx
00015 eb 08 jmp SHORT $LN4@RemoveAll
$LN2@RemoveAll:
00017 8b 45 f8 mov eax, DWORD PTR _pNode$[ebp]
0001a 8b 08 mov ecx, DWORD PTR [eax]
0001c 89 4d f8 mov DWORD PTR _pNode$[ebp], ecx
$LN4@RemoveAll:
0001f 83 7d f8 00 cmp DWORD PTR _pNode$[ebp], 0
00023 74 15 je SHORT $LN3@RemoveAll
; 871 : pNode->data.~TYPE();
00025 8b 45 f8 mov eax, DWORD PTR _pNode$[ebp]
00028 83 c0 08 add eax, 8
0002b 89 45 b4 mov DWORD PTR tv72[ebp], eax
0002e 6a 00 push 0
00030 8b 4d b4 mov ecx, DWORD PTR tv72[ebp]
00033 e8 00 00 00 00 call ??_G_SmsReport@@QAEPAXI@Z
00038 eb dd jmp SHORT $LN2@RemoveAll
$LN3@RemoveAll:
; 872 :
; 873 : m_nCount = 0;
0003a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0003d c7 40 0c 00 00
00 00 mov DWORD PTR [eax+12], 0
; 874 : m_pNodeHead = m_pNodeTail = m_pNodeFree = NULL;
00044 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00047 c7 40 10 00 00
00 00 mov DWORD PTR [eax+16], 0
0004e 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00051 c7 41 08 00 00
00 00 mov DWORD PTR [ecx+8], 0
00058 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0005b c7 42 04 00 00
00 00 mov DWORD PTR [edx+4], 0
; 875 : m_pBlocks->FreeDataChain();
00062 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00065 8b 48 14 mov ecx, DWORD PTR [eax+20]
00068 e8 00 00 00 00 call ?FreeDataChain@CPlex@@QAEXXZ ; CPlex::FreeDataChain
; 876 : m_pBlocks = NULL;
0006d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00070 c7 40 14 00 00
00 00 mov DWORD PTR [eax+20], 0
; 877 : }
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
?RemoveAll@?$CList@U_SmsReport@@AAU1@@@QAEXXZ ENDP ; CList<_SmsReport,_SmsReport &>::RemoveAll
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxtempl.h
; COMDAT ?AddTail@?$CList@U_SmsReport@@AAU1@@@QAEPAU__POSITION@@AAU_SmsReport@@@Z
_TEXT SEGMENT
_pNewNode$ = -8 ; size = 4
_this$ = -4 ; size = 4
_newElement$ = 8 ; size = 4
?AddTail@?$CList@U_SmsReport@@AAU1@@@QAEPAU__POSITION@@AAU_SmsReport@@@Z PROC ; CList<_SmsReport,_SmsReport &>::AddTail, COMDAT
; _this$ = ecx
; 968 : {
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
; 969 : ASSERT_VALID(this);
; 970 :
; 971 : CNode* pNewNode = NewNode(m_pNodeTail, NULL);
0000c 6a 00 push 0
0000e 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00011 8b 48 08 mov ecx, DWORD PTR [eax+8]
00014 51 push ecx
00015 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00018 e8 00 00 00 00 call ?NewNode@?$CList@U_SmsReport@@AAU1@@@IAEPAUCNode@1@PAU21@0@Z ; CList<_SmsReport,_SmsReport &>::NewNode
0001d 89 45 f8 mov DWORD PTR _pNewNode$[ebp], eax
; 972 : pNewNode->data = newElement;
00020 8b 45 08 mov eax, DWORD PTR _newElement$[ebp]
00023 50 push eax
00024 8b 4d f8 mov ecx, DWORD PTR _pNewNode$[ebp]
00027 83 c1 08 add ecx, 8
0002a e8 00 00 00 00 call ??4_SmsReport@@QAEAAU0@ABU0@@Z
; 973 : if (m_pNodeTail != NULL)
0002f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00032 83 78 08 00 cmp DWORD PTR [eax+8], 0
00036 74 0d je SHORT $LN2@AddTail
; 974 : m_pNodeTail->pNext = pNewNode;
00038 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0003b 8b 48 08 mov ecx, DWORD PTR [eax+8]
0003e 8b 55 f8 mov edx, DWORD PTR _pNewNode$[ebp]
00041 89 11 mov DWORD PTR [ecx], edx
00043 eb 09 jmp SHORT $LN3@AddTail
$LN2@AddTail:
; 975 : else
; 976 : m_pNodeHead = pNewNode;
00045 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00048 8b 4d f8 mov ecx, DWORD PTR _pNewNode$[ebp]
0004b 89 48 04 mov DWORD PTR [eax+4], ecx
$LN3@AddTail:
; 977 : m_pNodeTail = pNewNode;
0004e 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00051 8b 4d f8 mov ecx, DWORD PTR _pNewNode$[ebp]
00054 89 48 08 mov DWORD PTR [eax+8], ecx
; 978 : return (POSITION) pNewNode;
00057 8b 45 f8 mov eax, DWORD PTR _pNewNode$[ebp]
; 979 : }
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
?AddTail@?$CList@U_SmsReport@@AAU1@@@QAEPAU__POSITION@@AAU_SmsReport@@@Z ENDP ; CList<_SmsReport,_SmsReport &>::AddTail
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; COMDAT ??_G?$CArray@U_Mas_TDType@@AAU1@@@UAEPAXI@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
___flags$ = 8 ; size = 4
??_G?$CArray@U_Mas_TDType@@AAU1@@@UAEPAXI@Z PROC ; CArray<_Mas_TDType,_Mas_TDType &>::`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 ??1?$CArray@U_Mas_TDType@@AAU1@@@UAE@XZ ; CArray<_Mas_TDType,_Mas_TDType &>::~CArray<_Mas_TDType,_Mas_TDType &>
00014 8b 45 08 mov eax, DWORD PTR ___flags$[ebp]
00017 83 e0 01 and eax, 1
0001a 74 23 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 10 jmp SHORT $LN2@scalar
0002f eb 0e jmp SHORT $LN2@scalar
$LN3@scalar:
00031 6a 14 push 20 ; 00000014H
00033 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00036 50 push eax
00037 e8 00 00 00 00 call ?__global_delete@@YAXPAXI@Z ; __global_delete
0003c 83 c4 08 add esp, 8
$LN2@scalar:
0003f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00042 5f pop edi
00043 5e pop esi
00044 5b pop ebx
00045 8b e5 mov esp, ebp
00047 5d pop ebp
00048 c2 04 00 ret 4
??_G?$CArray@U_Mas_TDType@@AAU1@@@UAEPAXI@Z ENDP ; CArray<_Mas_TDType,_Mas_TDType &>::`scalar deleting destructor'
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxtempl.h
; COMDAT ?Serialize@?$CArray@U_Mas_TDType@@AAU1@@@UAEXAAVCArchive@@@Z
_TEXT SEGMENT
_nOldSize$1 = -8 ; size = 4
_this$ = -4 ; size = 4
_ar$ = 8 ; size = 4
?Serialize@?$CArray@U_Mas_TDType@@AAU1@@@UAEXAAVCArchive@@@Z PROC ; CArray<_Mas_TDType,_Mas_TDType &>::Serialize, COMDAT
; _this$ = ecx
; 636 : {
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
; 637 : ASSERT_VALID(this);
; 638 :
; 639 : CObject::Serialize(ar);
0000c 8b 45 08 mov eax, DWORD PTR _ar$[ebp]
0000f 50 push eax
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00013 e8 00 00 00 00 call ?Serialize@CObject@@UAEXAAVCArchive@@@Z ; CObject::Serialize
; 640 : if (ar.IsStoring())
00018 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
0001b e8 00 00 00 00 call ?IsStoring@CArchive@@QBEHXZ ; CArchive::IsStoring
00020 85 c0 test eax, eax
00022 74 11 je SHORT $LN2@Serialize
; 641 : {
; 642 : ar.WriteCount(m_nSize);
00024 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00027 8b 48 08 mov ecx, DWORD PTR [eax+8]
0002a 51 push ecx
0002b 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
0002e e8 00 00 00 00 call ?WriteCount@CArchive@@QAEXK@Z ; CArchive::WriteCount
; 643 : }
00033 eb 19 jmp SHORT $LN3@Serialize
$LN2@Serialize:
; 644 : else
; 645 : {
; 646 : DWORD_PTR nOldSize = ar.ReadCount();
00035 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
00038 e8 00 00 00 00 call ?ReadCount@CArchive@@QAEKXZ ; CArchive::ReadCount
0003d 89 45 f8 mov DWORD PTR _nOldSize$1[ebp], eax
; 647 : SetSize(nOldSize, -1);
00040 6a ff push -1
00042 8b 45 f8 mov eax, DWORD PTR _nOldSize$1[ebp]
00045 50 push eax
00046 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00049 e8 00 00 00 00 call ?SetSize@?$CArray@U_Mas_TDType@@AAU1@@@QAEXHH@Z ; CArray<_Mas_TDType,_Mas_TDType &>::SetSize
$LN3@Serialize:
; 648 : }
; 649 : SerializeElements<TYPE>(ar, m_pData, m_nSize);
0004e 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00051 8b 48 08 mov ecx, DWORD PTR [eax+8]
00054 51 push ecx
00055 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00058 8b 42 04 mov eax, DWORD PTR [edx+4]
0005b 50 push eax
0005c 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
0005f 51 push ecx
00060 e8 00 00 00 00 call ??$SerializeElements@U_Mas_TDType@@@@YGXAAVCArchive@@PAU_Mas_TDType@@H@Z ; SerializeElements<_Mas_TDType>
; 650 : }
00065 5f pop edi
00066 5e pop esi
00067 5b pop ebx
00068 8b e5 mov esp, ebp
0006a 5d pop ebp
0006b c2 04 00 ret 4
?Serialize@?$CArray@U_Mas_TDType@@AAU1@@@UAEXAAVCArchive@@@Z ENDP ; CArray<_Mas_TDType,_Mas_TDType &>::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\afxtempl.h
; COMDAT ??1?$CArray@U_Mas_TDType@@AAU1@@@UAE@XZ
_TEXT SEGMENT
tv86 = -92 ; size = 4
$T2 = -88 ; size = 4
_i$3 = -20 ; size = 4
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
??1?$CArray@U_Mas_TDType@@AAU1@@@UAE@XZ PROC ; CArray<_Mas_TDType,_Mas_TDType &>::~CArray<_Mas_TDType,_Mas_TDType &>, COMDAT
; _this$ = ecx
; 358 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??1?$CArray@U_Mas_TDType@@AAU1@@@UAE@XZ
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 50 sub esp, 80 ; 00000050H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
0002b 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
0002e c7 00 00 00 00
00 mov DWORD PTR [eax], OFFSET ??_7?$CArray@U_Mas_TDType@@AAU1@@@6B@
00034 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
; 359 : ASSERT_VALID(this);
; 360 :
; 361 : if (m_pData != NULL)
0003b 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
0003e 83 78 04 00 cmp DWORD PTR [eax+4], 0
00042 74 4d je SHORT $LN1@CArray
; 362 : {
; 363 : for( int i = 0; i < m_nSize; i++ )
00044 c7 45 ec 00 00
00 00 mov DWORD PTR _i$3[ebp], 0
0004b eb 09 jmp SHORT $LN4@CArray
$LN2@CArray:
0004d 8b 45 ec mov eax, DWORD PTR _i$3[ebp]
00050 83 c0 01 add eax, 1
00053 89 45 ec mov DWORD PTR _i$3[ebp], eax
$LN4@CArray:
00056 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00059 8b 4d ec mov ecx, DWORD PTR _i$3[ebp]
0005c 3b 48 08 cmp ecx, DWORD PTR [eax+8]
0005f 7d 1b jge SHORT $LN3@CArray
; 364 : (m_pData + i)->~TYPE();
00061 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00064 8b 48 04 mov ecx, DWORD PTR [eax+4]
00067 8b 55 ec mov edx, DWORD PTR _i$3[ebp]
0006a 8d 04 d1 lea eax, DWORD PTR [ecx+edx*8]
0006d 89 45 a4 mov DWORD PTR tv86[ebp], eax
00070 6a 00 push 0
00072 8b 4d a4 mov ecx, DWORD PTR tv86[ebp]
00075 e8 00 00 00 00 call ??_G_Mas_TDType@@QAEPAXI@Z
0007a eb d1 jmp SHORT $LN2@CArray
$LN3@CArray:
; 365 : delete[] (BYTE*)m_pData;
0007c 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
0007f 8b 48 04 mov ecx, DWORD PTR [eax+4]
00082 89 4d a8 mov DWORD PTR $T2[ebp], ecx
00085 8b 55 a8 mov edx, DWORD PTR $T2[ebp]
00088 52 push edx
00089 e8 00 00 00 00 call ??_V@YAXPAX@Z ; operator delete[]
0008e 83 c4 04 add esp, 4
$LN1@CArray:
; 366 : }
; 367 : }
00091 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
00098 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0009b e8 00 00 00 00 call ??1CObject@@UAE@XZ ; CObject::~CObject
000a0 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
000a3 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
000aa 59 pop ecx
000ab 5f pop edi
000ac 5e pop esi
000ad 5b pop ebx
000ae 8b e5 mov esp, ebp
000b0 5d pop ebp
000b1 c3 ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??1?$CArray@U_Mas_TDType@@AAU1@@@UAE@XZ$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 e9 00 00 00 00 jmp ??1CObject@@UAE@XZ ; CObject::~CObject
00008 cc int 3
00009 cc int 3
0000a cc int 3
0000b cc int 3
0000c cc int 3
__ehhandler$??1?$CArray@U_Mas_TDType@@AAU1@@@UAE@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 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$??1?$CArray@U_Mas_TDType@@AAU1@@@UAE@XZ
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??1?$CArray@U_Mas_TDType@@AAU1@@@UAE@XZ ENDP ; CArray<_Mas_TDType,_Mas_TDType &>::~CArray<_Mas_TDType,_Mas_TDType &>
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxtempl.h
; COMDAT ?SetSize@?$CArray@U_Mas_TDType@@AAU1@@@QAEXHH@Z
_TEXT SEGMENT
tv202 = -136 ; size = 4
tv203 = -132 ; size = 4
tv195 = -132 ; size = 4
tv90 = -132 ; size = 4
tv80 = -132 ; size = 4
$T1 = -128 ; size = 4
$T2 = -124 ; size = 4
$T3 = -120 ; size = 4
$T4 = -116 ; size = 4
$T5 = -112 ; size = 4
$T6 = -108 ; size = 4
$T7 = -104 ; size = 4
_i$8 = -36 ; size = 4
_pNewData$9 = -32 ; size = 4
_nNewMax$10 = -28 ; size = 4
_i$11 = -24 ; size = 4
_i$12 = -20 ; size = 4
_i$13 = -16 ; size = 4
_nAllocSize$14 = -12 ; size = 4
_i$15 = -8 ; size = 4
_this$ = -4 ; size = 4
_nNewSize$ = 8 ; size = 4
_nGrowBy$ = 12 ; size = 4
?SetSize@?$CArray@U_Mas_TDType@@AAU1@@@QAEXHH@Z PROC ; CArray<_Mas_TDType,_Mas_TDType &>::SetSize, COMDAT
; _this$ = ecx
; 371 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 81 ec 88 00 00
00 sub esp, 136 ; 00000088H
00009 53 push ebx
0000a 56 push esi
0000b 57 push edi
0000c 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 372 : ASSERT_VALID(this);
; 373 : ASSERT(nNewSize >= 0);
; 374 :
; 375 : if(nNewSize < 0 )
0000f 83 7d 08 00 cmp DWORD PTR _nNewSize$[ebp], 0
00013 7d 05 jge SHORT $LN17@SetSize
; 376 : AfxThrowInvalidArgException();
00015 e8 00 00 00 00 call ?AfxThrowInvalidArgException@@YGXXZ ; AfxThrowInvalidArgException
$LN17@SetSize:
; 377 :
; 378 : if (nGrowBy >= 0)
0001a 83 7d 0c 00 cmp DWORD PTR _nGrowBy$[ebp], 0
0001e 7c 09 jl SHORT $LN18@SetSize
; 379 : m_nGrowBy = nGrowBy; // set new size
00020 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00023 8b 4d 0c mov ecx, DWORD PTR _nGrowBy$[ebp]
00026 89 48 10 mov DWORD PTR [eax+16], ecx
$LN18@SetSize:
; 380 :
; 381 : if (nNewSize == 0)
00029 83 7d 08 00 cmp DWORD PTR _nNewSize$[ebp], 0
0002d 75 7f jne SHORT $LN19@SetSize
; 382 : {
; 383 : // shrink to nothing
; 384 : if (m_pData != NULL)
0002f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00032 83 78 04 00 cmp DWORD PTR [eax+4], 0
00036 74 5d je SHORT $LN21@SetSize
; 385 : {
; 386 : for( int i = 0; i < m_nSize; i++ )
00038 c7 45 f8 00 00
00 00 mov DWORD PTR _i$15[ebp], 0
0003f eb 09 jmp SHORT $LN4@SetSize
$LN2@SetSize:
00041 8b 45 f8 mov eax, DWORD PTR _i$15[ebp]
00044 83 c0 01 add eax, 1
00047 89 45 f8 mov DWORD PTR _i$15[ebp], eax
$LN4@SetSize:
0004a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0004d 8b 4d f8 mov ecx, DWORD PTR _i$15[ebp]
00050 3b 48 08 cmp ecx, DWORD PTR [eax+8]
00053 7d 21 jge SHORT $LN3@SetSize
; 387 : (m_pData + i)->~TYPE();
00055 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00058 8b 48 04 mov ecx, DWORD PTR [eax+4]
0005b 8b 55 f8 mov edx, DWORD PTR _i$15[ebp]
0005e 8d 04 d1 lea eax, DWORD PTR [ecx+edx*8]
00061 89 85 7c ff ff
ff mov DWORD PTR tv80[ebp], eax
00067 6a 00 push 0
00069 8b 8d 7c ff ff
ff mov ecx, DWORD PTR tv80[ebp]
0006f e8 00 00 00 00 call ??_G_Mas_TDType@@QAEPAXI@Z
00074 eb cb jmp SHORT $LN2@SetSize
$LN3@SetSize:
; 388 : delete[] (BYTE*)m_pData;
00076 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00079 8b 48 04 mov ecx, DWORD PTR [eax+4]
0007c 89 4d 98 mov DWORD PTR $T7[ebp], ecx
0007f 8b 55 98 mov edx, DWORD PTR $T7[ebp]
00082 52 push edx
00083 e8 00 00 00 00 call ??_V@YAXPAX@Z ; operator delete[]
00088 83 c4 04 add esp, 4
; 389 : m_pData = NULL;
0008b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0008e c7 40 04 00 00
00 00 mov DWORD PTR [eax+4], 0
$LN21@SetSize:
; 390 : }
; 391 : m_nSize = m_nMaxSize = 0;
00095 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00098 c7 40 0c 00 00
00 00 mov DWORD PTR [eax+12], 0
0009f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
000a2 c7 41 08 00 00
00 00 mov DWORD PTR [ecx+8], 0
; 392 : }
000a9 e9 22 03 00 00 jmp $LN33@SetSize
$LN19@SetSize:
; 393 : else if (m_pData == NULL)
000ae 8b 45 fc mov eax, DWORD PTR _this$[ebp]
000b1 83 78 04 00 cmp DWORD PTR [eax+4], 0
000b5 0f 85 b3 00 00
00 jne $LN22@SetSize
; 394 : {
; 395 : // create buffer big enough to hold number of requested elements or
; 396 : // m_nGrowBy elements, whichever is larger.
; 397 : #ifdef SIZE_T_MAX
; 398 : ASSERT(nNewSize <= SIZE_T_MAX/sizeof(TYPE)); // no overflow
; 399 : #endif
; 400 : size_t nAllocSize = __max(nNewSize, m_nGrowBy);
000bb 8b 45 fc mov eax, DWORD PTR _this$[ebp]
000be 8b 4d 08 mov ecx, DWORD PTR _nNewSize$[ebp]
000c1 3b 48 10 cmp ecx, DWORD PTR [eax+16]
000c4 7e 0b jle SHORT $LN34@SetSize
000c6 8b 55 08 mov edx, DWORD PTR _nNewSize$[ebp]
000c9 89 95 7c ff ff
ff mov DWORD PTR tv90[ebp], edx
000cf eb 0c jmp SHORT $LN35@SetSize
$LN34@SetSize:
000d1 8b 45 fc mov eax, DWORD PTR _this$[ebp]
000d4 8b 48 10 mov ecx, DWORD PTR [eax+16]
000d7 89 8d 7c ff ff
ff mov DWORD PTR tv90[ebp], ecx
$LN35@SetSize:
000dd 8b 95 7c ff ff
ff mov edx, DWORD PTR tv90[ebp]
000e3 89 55 f4 mov DWORD PTR _nAllocSize$14[ebp], edx
; 401 : m_pData = (TYPE*) new BYTE[(size_t)nAllocSize * sizeof(TYPE)];
000e6 8b 45 f4 mov eax, DWORD PTR _nAllocSize$14[ebp]
000e9 c1 e0 03 shl eax, 3
000ec 50 push eax
000ed e8 00 00 00 00 call ??_U@YAPAXI@Z ; operator new[]
000f2 83 c4 04 add esp, 4
000f5 89 45 94 mov DWORD PTR $T6[ebp], eax
000f8 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
000fb 8b 55 94 mov edx, DWORD PTR $T6[ebp]
000fe 89 51 04 mov DWORD PTR [ecx+4], edx
; 402 : memset((void*)m_pData, 0, (size_t)nAllocSize * sizeof(TYPE));
00101 8b 45 f4 mov eax, DWORD PTR _nAllocSize$14[ebp]
00104 c1 e0 03 shl eax, 3
00107 50 push eax
00108 6a 00 push 0
0010a 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0010d 8b 51 04 mov edx, DWORD PTR [ecx+4]
00110 52 push edx
00111 e8 00 00 00 00 call _memset
00116 83 c4 0c add esp, 12 ; 0000000cH
; 403 : for( int i = 0; i < nNewSize; i++ )
00119 c7 45 f0 00 00
00 00 mov DWORD PTR _i$13[ebp], 0
00120 eb 09 jmp SHORT $LN7@SetSize
$LN5@SetSize:
00122 8b 45 f0 mov eax, DWORD PTR _i$13[ebp]
00125 83 c0 01 add eax, 1
00128 89 45 f0 mov DWORD PTR _i$13[ebp], eax
$LN7@SetSize:
0012b 8b 45 f0 mov eax, DWORD PTR _i$13[ebp]
0012e 3b 45 08 cmp eax, DWORD PTR _nNewSize$[ebp]
00131 7d 24 jge SHORT $LN6@SetSize
; 404 : #pragma push_macro("new")
; 405 : #undef new
; 406 : ::new( (void*)( m_pData + i ) ) TYPE;
00133 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00136 8b 48 04 mov ecx, DWORD PTR [eax+4]
00139 8b 55 f0 mov edx, DWORD PTR _i$13[ebp]
0013c 8d 04 d1 lea eax, DWORD PTR [ecx+edx*8]
0013f 50 push eax
00140 6a 08 push 8
00142 e8 00 00 00 00 call ??2@YAPAXIPAX@Z ; operator new
00147 83 c4 08 add esp, 8
0014a 89 45 90 mov DWORD PTR $T5[ebp], eax
0014d 8b 4d 90 mov ecx, DWORD PTR $T5[ebp]
00150 e8 00 00 00 00 call ??0_Mas_TDType@@QAE@XZ
00155 eb cb jmp SHORT $LN5@SetSize
$LN6@SetSize:
; 407 : #pragma pop_macro("new")
; 408 : m_nSize = nNewSize;
00157 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0015a 8b 4d 08 mov ecx, DWORD PTR _nNewSize$[ebp]
0015d 89 48 08 mov DWORD PTR [eax+8], ecx
; 409 : m_nMaxSize = nAllocSize;
00160 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00163 8b 4d f4 mov ecx, DWORD PTR _nAllocSize$14[ebp]
00166 89 48 0c mov DWORD PTR [eax+12], ecx
; 410 : }
00169 e9 62 02 00 00 jmp $LN33@SetSize
$LN22@SetSize:
; 411 : else if (nNewSize <= m_nMaxSize)
0016e 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00171 8b 4d 08 mov ecx, DWORD PTR _nNewSize$[ebp]
00174 3b 48 0c cmp ecx, DWORD PTR [eax+12]
00177 0f 8f e1 00 00
00 jg $LN24@SetSize
; 412 : {
; 413 : // it fits
; 414 : if (nNewSize > m_nSize)
0017d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00180 8b 4d 08 mov ecx, DWORD PTR _nNewSize$[ebp]
00183 3b 48 08 cmp ecx, DWORD PTR [eax+8]
00186 7e 76 jle SHORT $LN26@SetSize
; 415 : {
; 416 : // initialize the new elements
; 417 : memset((void*)(m_pData + m_nSize), 0, (size_t)(nNewSize-m_nSize) * sizeof(TYPE));
00188 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0018b 8b 4d 08 mov ecx, DWORD PTR _nNewSize$[ebp]
0018e 2b 48 08 sub ecx, DWORD PTR [eax+8]
00191 c1 e1 03 shl ecx, 3
00194 51 push ecx
00195 6a 00 push 0
00197 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0019a 8b 42 08 mov eax, DWORD PTR [edx+8]
0019d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
001a0 8b 51 04 mov edx, DWORD PTR [ecx+4]
001a3 8d 04 c2 lea eax, DWORD PTR [edx+eax*8]
001a6 50 push eax
001a7 e8 00 00 00 00 call _memset
001ac 83 c4 0c add esp, 12 ; 0000000cH
; 418 : for( int i = 0; i < nNewSize-m_nSize; i++ )
001af c7 45 ec 00 00
00 00 mov DWORD PTR _i$12[ebp], 0
001b6 eb 09 jmp SHORT $LN10@SetSize
$LN8@SetSize:
001b8 8b 45 ec mov eax, DWORD PTR _i$12[ebp]
001bb 83 c0 01 add eax, 1
001be 89 45 ec mov DWORD PTR _i$12[ebp], eax
$LN10@SetSize:
001c1 8b 45 fc mov eax, DWORD PTR _this$[ebp]
001c4 8b 4d 08 mov ecx, DWORD PTR _nNewSize$[ebp]
001c7 2b 48 08 sub ecx, DWORD PTR [eax+8]
001ca 39 4d ec cmp DWORD PTR _i$12[ebp], ecx
001cd 7d 2d jge SHORT $LN9@SetSize
; 419 : #pragma push_macro("new")
; 420 : #undef new
; 421 : ::new( (void*)( m_pData + m_nSize + i ) ) TYPE;
001cf 8b 45 fc mov eax, DWORD PTR _this$[ebp]
001d2 8b 48 08 mov ecx, DWORD PTR [eax+8]
001d5 8b 55 fc mov edx, DWORD PTR _this$[ebp]
001d8 8b 42 04 mov eax, DWORD PTR [edx+4]
001db 8d 0c c8 lea ecx, DWORD PTR [eax+ecx*8]
001de 8b 55 ec mov edx, DWORD PTR _i$12[ebp]
001e1 8d 04 d1 lea eax, DWORD PTR [ecx+edx*8]
001e4 50 push eax
001e5 6a 08 push 8
001e7 e8 00 00 00 00 call ??2@YAPAXIPAX@Z ; operator new
001ec 83 c4 08 add esp, 8
001ef 89 45 8c mov DWORD PTR $T4[ebp], eax
001f2 8b 4d 8c mov ecx, DWORD PTR $T4[ebp]
001f5 e8 00 00 00 00 call ??0_Mas_TDType@@QAE@XZ
001fa eb bc jmp SHORT $LN8@SetSize
$LN9@SetSize:
; 422 : #pragma pop_macro("new")
; 423 : }
001fc eb 52 jmp SHORT $LN27@SetSize
$LN26@SetSize:
; 424 : else if (m_nSize > nNewSize)
001fe 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00201 8b 48 08 mov ecx, DWORD PTR [eax+8]
00204 3b 4d 08 cmp ecx, DWORD PTR _nNewSize$[ebp]
00207 7e 47 jle SHORT $LN27@SetSize
; 425 : {
; 426 : // destroy the old elements
; 427 : for( int i = 0; i < m_nSize-nNewSize; i++ )
00209 c7 45 e8 00 00
00 00 mov DWORD PTR _i$11[ebp], 0
00210 eb 09 jmp SHORT $LN13@SetSize
$LN11@SetSize:
00212 8b 45 e8 mov eax, DWORD PTR _i$11[ebp]
00215 83 c0 01 add eax, 1
00218 89 45 e8 mov DWORD PTR _i$11[ebp], eax
$LN13@SetSize:
0021b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0021e 8b 48 08 mov ecx, DWORD PTR [eax+8]
00221 2b 4d 08 sub ecx, DWORD PTR _nNewSize$[ebp]
00224 39 4d e8 cmp DWORD PTR _i$11[ebp], ecx
00227 7d 27 jge SHORT $LN27@SetSize
; 428 : (m_pData + nNewSize + i)->~TYPE();
00229 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0022c 8b 48 04 mov ecx, DWORD PTR [eax+4]
0022f 8b 55 08 mov edx, DWORD PTR _nNewSize$[ebp]
00232 8d 04 d1 lea eax, DWORD PTR [ecx+edx*8]
00235 8b 4d e8 mov ecx, DWORD PTR _i$11[ebp]
00238 8d 14 c8 lea edx, DWORD PTR [eax+ecx*8]
0023b 89 95 7c ff ff
ff mov DWORD PTR tv195[ebp], edx
00241 6a 00 push 0
00243 8b 8d 7c ff ff
ff mov ecx, DWORD PTR tv195[ebp]
00249 e8 00 00 00 00 call ??_G_Mas_TDType@@QAEPAXI@Z
0024e eb c2 jmp SHORT $LN11@SetSize
$LN27@SetSize:
; 429 : }
; 430 : m_nSize = nNewSize;
00250 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00253 8b 4d 08 mov ecx, DWORD PTR _nNewSize$[ebp]
00256 89 48 08 mov DWORD PTR [eax+8], ecx
; 431 : }
00259 e9 72 01 00 00 jmp $LN33@SetSize
$LN24@SetSize:
; 432 : else
; 433 : {
; 434 : // otherwise, grow array
; 435 : nGrowBy = m_nGrowBy;
0025e 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00261 8b 48 10 mov ecx, DWORD PTR [eax+16]
00264 89 4d 0c mov DWORD PTR _nGrowBy$[ebp], ecx
; 436 : if (nGrowBy == 0)
00267 83 7d 0c 00 cmp DWORD PTR _nGrowBy$[ebp], 0
0026b 75 57 jne SHORT $LN29@SetSize
; 437 : {
; 438 : // heuristically determine growth when nGrowBy == 0
; 439 : // (this avoids heap fragmentation in many situations)
; 440 : nGrowBy = m_nSize / 8;
0026d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00270 8b 40 08 mov eax, DWORD PTR [eax+8]
00273 99 cdq
00274 83 e2 07 and edx, 7
00277 03 c2 add eax, edx
00279 c1 f8 03 sar eax, 3
0027c 89 45 0c mov DWORD PTR _nGrowBy$[ebp], eax
; 441 : nGrowBy = (nGrowBy < 4) ? 4 : ((nGrowBy > 1024) ? 1024 : nGrowBy);
0027f 83 7d 0c 04 cmp DWORD PTR _nGrowBy$[ebp], 4
00283 7d 0c jge SHORT $LN38@SetSize
00285 c7 85 7c ff ff
ff 04 00 00 00 mov DWORD PTR tv203[ebp], 4
0028f eb 2a jmp SHORT $LN39@SetSize
$LN38@SetSize:
00291 81 7d 0c 00 04
00 00 cmp DWORD PTR _nGrowBy$[ebp], 1024 ; 00000400H
00298 7e 0c jle SHORT $LN36@SetSize
0029a c7 85 78 ff ff
ff 00 04 00 00 mov DWORD PTR tv202[ebp], 1024 ; 00000400H
002a4 eb 09 jmp SHORT $LN37@SetSize
$LN36@SetSize:
002a6 8b 45 0c mov eax, DWORD PTR _nGrowBy$[ebp]
002a9 89 85 78 ff ff
ff mov DWORD PTR tv202[ebp], eax
$LN37@SetSize:
002af 8b 8d 78 ff ff
ff mov ecx, DWORD PTR tv202[ebp]
002b5 89 8d 7c ff ff
ff mov DWORD PTR tv203[ebp], ecx
$LN39@SetSize:
002bb 8b 95 7c ff ff
ff mov edx, DWORD PTR tv203[ebp]
002c1 89 55 0c mov DWORD PTR _nGrowBy$[ebp], edx
$LN29@SetSize:
; 442 : }
; 443 : INT_PTR nNewMax;
; 444 : if (nNewSize < m_nMaxSize + nGrowBy)
002c4 8b 45 fc mov eax, DWORD PTR _this$[ebp]
002c7 8b 48 0c mov ecx, DWORD PTR [eax+12]
002ca 03 4d 0c add ecx, DWORD PTR _nGrowBy$[ebp]
002cd 39 4d 08 cmp DWORD PTR _nNewSize$[ebp], ecx
002d0 7d 0e jge SHORT $LN30@SetSize
; 445 : nNewMax = m_nMaxSize + nGrowBy; // granularity
002d2 8b 45 fc mov eax, DWORD PTR _this$[ebp]
002d5 8b 48 0c mov ecx, DWORD PTR [eax+12]
002d8 03 4d 0c add ecx, DWORD PTR _nGrowBy$[ebp]
002db 89 4d e4 mov DWORD PTR _nNewMax$10[ebp], ecx
002de eb 06 jmp SHORT $LN31@SetSize
$LN30@SetSize:
; 446 : else
; 447 : nNewMax = nNewSize; // no slush
002e0 8b 45 08 mov eax, DWORD PTR _nNewSize$[ebp]
002e3 89 45 e4 mov DWORD PTR _nNewMax$10[ebp], eax
$LN31@SetSize:
; 448 :
; 449 : ASSERT(nNewMax >= m_nMaxSize); // no wrap around
; 450 :
; 451 : if(nNewMax < m_nMaxSize)
002e6 8b 45 fc mov eax, DWORD PTR _this$[ebp]
002e9 8b 4d e4 mov ecx, DWORD PTR _nNewMax$10[ebp]
002ec 3b 48 0c cmp ecx, DWORD PTR [eax+12]
002ef 7d 05 jge SHORT $LN32@SetSize
; 452 : AfxThrowInvalidArgException();
002f1 e8 00 00 00 00 call ?AfxThrowInvalidArgException@@YGXXZ ; AfxThrowInvalidArgException
$LN32@SetSize:
; 453 :
; 454 : #ifdef SIZE_T_MAX
; 455 : ASSERT(nNewMax <= SIZE_T_MAX/sizeof(TYPE)); // no overflow
; 456 : #endif
; 457 : TYPE* pNewData = (TYPE*) new BYTE[(size_t)nNewMax * sizeof(TYPE)];
002f6 8b 45 e4 mov eax, DWORD PTR _nNewMax$10[ebp]
002f9 c1 e0 03 shl eax, 3
002fc 50 push eax
002fd e8 00 00 00 00 call ??_U@YAPAXI@Z ; operator new[]
00302 83 c4 04 add esp, 4
00305 89 45 88 mov DWORD PTR $T3[ebp], eax
00308 8b 4d 88 mov ecx, DWORD PTR $T3[ebp]
0030b 89 4d e0 mov DWORD PTR _pNewData$9[ebp], ecx
; 458 :
; 459 : // copy new data from old
; 460 : ::ATL::Checked::memcpy_s(pNewData, (size_t)nNewMax * sizeof(TYPE),
0030e 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00311 8b 48 08 mov ecx, DWORD PTR [eax+8]
00314 c1 e1 03 shl ecx, 3
00317 51 push ecx
00318 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0031b 8b 42 04 mov eax, DWORD PTR [edx+4]
0031e 50 push eax
0031f 8b 4d e4 mov ecx, DWORD PTR _nNewMax$10[ebp]
00322 c1 e1 03 shl ecx, 3
00325 51 push ecx
00326 8b 55 e0 mov edx, DWORD PTR _pNewData$9[ebp]
00329 52 push edx
0032a e8 00 00 00 00 call ?memcpy_s@Checked@ATL@@YAXPAXIPBXI@Z ; ATL::Checked::memcpy_s
0032f 83 c4 10 add esp, 16 ; 00000010H
; 461 : m_pData, (size_t)m_nSize * sizeof(TYPE));
; 462 :
; 463 : // construct remaining elements
; 464 : ASSERT(nNewSize > m_nSize);
; 465 : memset((void*)(pNewData + m_nSize), 0, (size_t)(nNewSize-m_nSize) * sizeof(TYPE));
00332 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00335 8b 4d 08 mov ecx, DWORD PTR _nNewSize$[ebp]
00338 2b 48 08 sub ecx, DWORD PTR [eax+8]
0033b c1 e1 03 shl ecx, 3
0033e 51 push ecx
0033f 6a 00 push 0
00341 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00344 8b 42 08 mov eax, DWORD PTR [edx+8]
00347 8b 4d e0 mov ecx, DWORD PTR _pNewData$9[ebp]
0034a 8d 14 c1 lea edx, DWORD PTR [ecx+eax*8]
0034d 52 push edx
0034e e8 00 00 00 00 call _memset
00353 83 c4 0c add esp, 12 ; 0000000cH
; 466 : for( int i = 0; i < nNewSize-m_nSize; i++ )
00356 c7 45 dc 00 00
00 00 mov DWORD PTR _i$8[ebp], 0
0035d eb 09 jmp SHORT $LN16@SetSize
$LN14@SetSize:
0035f 8b 45 dc mov eax, DWORD PTR _i$8[ebp]
00362 83 c0 01 add eax, 1
00365 89 45 dc mov DWORD PTR _i$8[ebp], eax
$LN16@SetSize:
00368 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0036b 8b 4d 08 mov ecx, DWORD PTR _nNewSize$[ebp]
0036e 2b 48 08 sub ecx, DWORD PTR [eax+8]
00371 39 4d dc cmp DWORD PTR _i$8[ebp], ecx
00374 7d 2a jge SHORT $LN15@SetSize
; 467 : #pragma push_macro("new")
; 468 : #undef new
; 469 : ::new( (void*)( pNewData + m_nSize + i ) ) TYPE;
00376 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00379 8b 48 08 mov ecx, DWORD PTR [eax+8]
0037c 8b 55 e0 mov edx, DWORD PTR _pNewData$9[ebp]
0037f 8d 04 ca lea eax, DWORD PTR [edx+ecx*8]
00382 8b 4d dc mov ecx, DWORD PTR _i$8[ebp]
00385 8d 14 c8 lea edx, DWORD PTR [eax+ecx*8]
00388 52 push edx
00389 6a 08 push 8
0038b e8 00 00 00 00 call ??2@YAPAXIPAX@Z ; operator new
00390 83 c4 08 add esp, 8
00393 89 45 84 mov DWORD PTR $T2[ebp], eax
00396 8b 4d 84 mov ecx, DWORD PTR $T2[ebp]
00399 e8 00 00 00 00 call ??0_Mas_TDType@@QAE@XZ
0039e eb bf jmp SHORT $LN14@SetSize
$LN15@SetSize:
; 470 : #pragma pop_macro("new")
; 471 :
; 472 : // get rid of old stuff (note: no destructors called)
; 473 : delete[] (BYTE*)m_pData;
003a0 8b 45 fc mov eax, DWORD PTR _this$[ebp]
003a3 8b 48 04 mov ecx, DWORD PTR [eax+4]
003a6 89 4d 80 mov DWORD PTR $T1[ebp], ecx
003a9 8b 55 80 mov edx, DWORD PTR $T1[ebp]
003ac 52 push edx
003ad e8 00 00 00 00 call ??_V@YAXPAX@Z ; operator delete[]
003b2 83 c4 04 add esp, 4
; 474 : m_pData = pNewData;
003b5 8b 45 fc mov eax, DWORD PTR _this$[ebp]
003b8 8b 4d e0 mov ecx, DWORD PTR _pNewData$9[ebp]
003bb 89 48 04 mov DWORD PTR [eax+4], ecx
; 475 : m_nSize = nNewSize;
003be 8b 45 fc mov eax, DWORD PTR _this$[ebp]
003c1 8b 4d 08 mov ecx, DWORD PTR _nNewSize$[ebp]
003c4 89 48 08 mov DWORD PTR [eax+8], ecx
; 476 : m_nMaxSize = nNewMax;
003c7 8b 45 fc mov eax, DWORD PTR _this$[ebp]
003ca 8b 4d e4 mov ecx, DWORD PTR _nNewMax$10[ebp]
003cd 89 48 0c mov DWORD PTR [eax+12], ecx
$LN33@SetSize:
; 477 : }
; 478 : }
003d0 5f pop edi
003d1 5e pop esi
003d2 5b pop ebx
003d3 8b e5 mov esp, ebp
003d5 5d pop ebp
003d6 c2 08 00 ret 8
?SetSize@?$CArray@U_Mas_TDType@@AAU1@@@QAEXHH@Z ENDP ; CArray<_Mas_TDType,_Mas_TDType &>::SetSize
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; COMDAT ??_G?$CList@U_Checkup@@U1@@@UAEPAXI@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
___flags$ = 8 ; size = 4
??_G?$CList@U_Checkup@@U1@@@UAEPAXI@Z PROC ; CList<_Checkup,_Checkup>::`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 ??1?$CList@U_Checkup@@U1@@@UAE@XZ ; CList<_Checkup,_Checkup>::~CList<_Checkup,_Checkup>
00014 8b 45 08 mov eax, DWORD PTR ___flags$[ebp]
00017 83 e0 01 and eax, 1
0001a 74 23 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 10 jmp SHORT $LN2@scalar
0002f eb 0e jmp SHORT $LN2@scalar
$LN3@scalar:
00031 6a 1c push 28 ; 0000001cH
00033 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00036 50 push eax
00037 e8 00 00 00 00 call ?__global_delete@@YAXPAXI@Z ; __global_delete
0003c 83 c4 08 add esp, 8
$LN2@scalar:
0003f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00042 5f pop edi
00043 5e pop esi
00044 5b pop ebx
00045 8b e5 mov esp, ebp
00047 5d pop ebp
00048 c2 04 00 ret 4
??_G?$CList@U_Checkup@@U1@@@UAEPAXI@Z ENDP ; CList<_Checkup,_Checkup>::`scalar deleting destructor'
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxtempl.h
; COMDAT ?Serialize@?$CList@U_Checkup@@U1@@@UAEXAAVCArchive@@@Z
_TEXT SEGMENT
tv87 = -2756 ; size = 4
_newData$1 = -2432 ; size = 2412
_nNewCount$2 = -20 ; size = 4
_pData$3 = -16 ; size = 4
_pNode$4 = -12 ; size = 4
_this$ = -8 ; size = 4
__$ArrayPad$ = -4 ; size = 4
_ar$ = 8 ; size = 4
?Serialize@?$CList@U_Checkup@@U1@@@UAEXAAVCArchive@@@Z PROC ; CList<_Checkup,_Checkup>::Serialize, COMDAT
; _this$ = ecx
; 1172 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 81 ec c4 0a 00
00 sub esp, 2756 ; 00000ac4H
00009 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0000e 33 c5 xor eax, ebp
00010 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax
00013 53 push ebx
00014 56 push esi
00015 57 push edi
00016 89 4d f8 mov DWORD PTR _this$[ebp], ecx
; 1173 : ASSERT_VALID(this);
; 1174 :
; 1175 : CObject::Serialize(ar);
00019 8b 45 08 mov eax, DWORD PTR _ar$[ebp]
0001c 50 push eax
0001d 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
00020 e8 00 00 00 00 call ?Serialize@CObject@@UAEXAAVCArchive@@@Z ; CObject::Serialize
; 1176 :
; 1177 : if (ar.IsStoring())
00025 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
00028 e8 00 00 00 00 call ?IsStoring@CArchive@@QBEHXZ ; CArchive::IsStoring
0002d 85 c0 test eax, eax
0002f 74 44 je SHORT $LN7@Serialize
; 1178 : {
; 1179 : ar.WriteCount(m_nCount);
00031 8b 45 f8 mov eax, DWORD PTR _this$[ebp]
00034 8b 48 0c mov ecx, DWORD PTR [eax+12]
00037 51 push ecx
00038 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
0003b e8 00 00 00 00 call ?WriteCount@CArchive@@QAEXK@Z ; CArchive::WriteCount
; 1180 : for (CNode* pNode = m_pNodeHead; pNode != NULL; pNode = pNode->pNext)
00040 8b 45 f8 mov eax, DWORD PTR _this$[ebp]
00043 8b 48 04 mov ecx, DWORD PTR [eax+4]
00046 89 4d f4 mov DWORD PTR _pNode$4[ebp], ecx
00049 eb 08 jmp SHORT $LN4@Serialize
$LN2@Serialize:
0004b 8b 45 f4 mov eax, DWORD PTR _pNode$4[ebp]
0004e 8b 08 mov ecx, DWORD PTR [eax]
00050 89 4d f4 mov DWORD PTR _pNode$4[ebp], ecx
$LN4@Serialize:
00053 83 7d f4 00 cmp DWORD PTR _pNode$4[ebp], 0
00057 74 1a je SHORT $LN3@Serialize
; 1181 : {
; 1182 : ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
; 1183 : TYPE* pData;
; 1184 : /*
; 1185 : * in some cases the & operator might be overloaded, and we cannot use it to obtain
; 1186 : * the address of a given object. We then use the following trick to get the address
; 1187 : */
; 1188 : pData = reinterpret_cast< TYPE* >( &reinterpret_cast< int& >( static_cast< TYPE& >( pNode->data ) ) );
00059 8b 45 f4 mov eax, DWORD PTR _pNode$4[ebp]
0005c 83 c0 08 add eax, 8
0005f 89 45 f0 mov DWORD PTR _pData$3[ebp], eax
; 1189 : SerializeElements<TYPE>(ar, pData, 1);
00062 6a 01 push 1
00064 8b 45 f0 mov eax, DWORD PTR _pData$3[ebp]
00067 50 push eax
00068 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
0006b 51 push ecx
0006c e8 00 00 00 00 call ??$SerializeElements@U_Checkup@@@@YGXAAVCArchive@@PAU_Checkup@@H@Z ; SerializeElements<_Checkup>
; 1190 : }
00071 eb d8 jmp SHORT $LN2@Serialize
$LN3@Serialize:
; 1191 : }
00073 eb 60 jmp SHORT $LN1@Serialize
$LN7@Serialize:
; 1192 : else
; 1193 : {
; 1194 : DWORD_PTR nNewCount = ar.ReadCount();
00075 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
00078 e8 00 00 00 00 call ?ReadCount@CArchive@@QAEKXZ ; CArchive::ReadCount
0007d 89 45 ec mov DWORD PTR _nNewCount$2[ebp], eax
$LN5@Serialize:
; 1195 : while (nNewCount--)
00080 8b 45 ec mov eax, DWORD PTR _nNewCount$2[ebp]
00083 89 85 3c f5 ff
ff mov DWORD PTR tv87[ebp], eax
00089 8b 4d ec mov ecx, DWORD PTR _nNewCount$2[ebp]
0008c 83 e9 01 sub ecx, 1
0008f 89 4d ec mov DWORD PTR _nNewCount$2[ebp], ecx
00092 83 bd 3c f5 ff
ff 00 cmp DWORD PTR tv87[ebp], 0
00099 74 3a je SHORT $LN1@Serialize
; 1196 : {
; 1197 : TYPE newData[1];
; 1198 : SerializeElements<TYPE>(ar, newData, 1);
0009b 6a 01 push 1
0009d 8d 85 80 f6 ff
ff lea eax, DWORD PTR _newData$1[ebp]
000a3 50 push eax
000a4 8b 4d 08 mov ecx, DWORD PTR _ar$[ebp]
000a7 51 push ecx
000a8 e8 00 00 00 00 call ??$SerializeElements@U_Checkup@@@@YGXAAVCArchive@@PAU_Checkup@@H@Z ; SerializeElements<_Checkup>
; 1199 : AddTail(newData[0]);
000ad b8 6c 09 00 00 mov eax, 2412 ; 0000096cH
000b2 6b c8 00 imul ecx, eax, 0
000b5 8d b4 0d 80 f6
ff ff lea esi, DWORD PTR _newData$1[ebp+ecx]
000bc 81 ec 6c 09 00
00 sub esp, 2412 ; 0000096cH
000c2 b9 5b 02 00 00 mov ecx, 603 ; 0000025bH
000c7 8b fc mov edi, esp
000c9 f3 a5 rep movsd
000cb 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
000ce e8 00 00 00 00 call ?AddTail@?$CList@U_Checkup@@U1@@@QAEPAU__POSITION@@U_Checkup@@@Z ; CList<_Checkup,_Checkup>::AddTail
; 1200 : }
000d3 eb ab jmp SHORT $LN5@Serialize
$LN1@Serialize:
; 1201 : }
; 1202 : }
000d5 5f pop edi
000d6 5e pop esi
000d7 5b pop ebx
000d8 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp]
000db 33 cd xor ecx, ebp
000dd e8 00 00 00 00 call @__security_check_cookie@4
000e2 8b e5 mov esp, ebp
000e4 5d pop ebp
000e5 c2 04 00 ret 4
?Serialize@?$CList@U_Checkup@@U1@@@UAEXAAVCArchive@@@Z ENDP ; CList<_Checkup,_Checkup>::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\afxtempl.h
; COMDAT ??1?$CList@U_Checkup@@U1@@@UAE@XZ
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
??1?$CList@U_Checkup@@U1@@@UAE@XZ PROC ; CList<_Checkup,_Checkup>::~CList<_Checkup,_Checkup>, COMDAT
; _this$ = ecx
; 881 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??1?$CList@U_Checkup@@U1@@@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 ??_7?$CList@U_Checkup@@U1@@@6B@
00034 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
; 882 : RemoveAll();
0003b 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0003e e8 00 00 00 00 call ?RemoveAll@?$CList@U_Checkup@@U1@@@QAEXXZ ; CList<_Checkup,_Checkup>::RemoveAll
; 883 : ASSERT(m_nCount == 0);
; 884 : }
00043 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
0004a 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0004d e8 00 00 00 00 call ??1CObject@@UAE@XZ ; CObject::~CObject
00052 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00055 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0005c 59 pop ecx
0005d 5f pop edi
0005e 5e pop esi
0005f 5b pop ebx
00060 8b e5 mov esp, ebp
00062 5d pop ebp
00063 c3 ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??1?$CList@U_Checkup@@U1@@@UAE@XZ$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 e9 00 00 00 00 jmp ??1CObject@@UAE@XZ ; CObject::~CObject
00008 cc int 3
00009 cc int 3
0000a cc int 3
0000b cc int 3
0000c cc int 3
__ehhandler$??1?$CList@U_Checkup@@U1@@@UAE@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?$CList@U_Checkup@@U1@@@UAE@XZ
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??1?$CList@U_Checkup@@U1@@@UAE@XZ ENDP ; CList<_Checkup,_Checkup>::~CList<_Checkup,_Checkup>
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxtempl.h
; COMDAT ?NewNode@?$CList@U_Checkup@@U1@@@IAEPAUCNode@1@PAU21@0@Z
_TEXT SEGMENT
tv88 = -96 ; size = 4
$T1 = -92 ; size = 4
_pNode$ = -24 ; size = 4
___afx_condVal$2 = -20 ; size = 4
_i$3 = -16 ; size = 4
_pNode$4 = -12 ; size = 4
_pNewBlock$5 = -8 ; size = 4
_this$ = -4 ; size = 4
_pPrev$ = 8 ; size = 4
_pNext$ = 12 ; size = 4
?NewNode@?$CList@U_Checkup@@U1@@@IAEPAUCNode@1@PAU21@0@Z PROC ; CList<_Checkup,_Checkup>::NewNode, COMDAT
; _this$ = ecx
; 904 : {
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
; 905 : if (m_pNodeFree == NULL)
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 83 78 10 00 cmp DWORD PTR [eax+16], 0
00013 75 7a jne SHORT $LN7@NewNode
; 906 : {
; 907 : // add another block
; 908 : CPlex* pNewBlock = CPlex::Create(m_pBlocks, m_nBlockSize,
00015 68 74 09 00 00 push 2420 ; 00000974H
0001a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0001d 8b 48 18 mov ecx, DWORD PTR [eax+24]
00020 51 push ecx
00021 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00024 83 c2 14 add edx, 20 ; 00000014H
00027 52 push edx
00028 e8 00 00 00 00 call ?Create@CPlex@@SGPAU1@AAPAU1@II@Z ; CPlex::Create
0002d 89 45 f8 mov DWORD PTR _pNewBlock$5[ebp], eax
; 909 : sizeof(CNode));
; 910 :
; 911 : // chain them into free list
; 912 : CNode* pNode = (CNode*) pNewBlock->data();
00030 8b 4d f8 mov ecx, DWORD PTR _pNewBlock$5[ebp]
00033 e8 00 00 00 00 call ?data@CPlex@@QAEPAXXZ ; CPlex::data
00038 89 45 f4 mov DWORD PTR _pNode$4[ebp], eax
; 913 : // free in reverse order to make it easier to debug
; 914 : pNode += m_nBlockSize - 1;
0003b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0003e 8b 48 18 mov ecx, DWORD PTR [eax+24]
00041 83 e9 01 sub ecx, 1
00044 69 d1 74 09 00
00 imul edx, ecx, 2420
0004a 03 55 f4 add edx, DWORD PTR _pNode$4[ebp]
0004d 89 55 f4 mov DWORD PTR _pNode$4[ebp], edx
; 915 : for (INT_PTR i = m_nBlockSize-1; i >= 0; i--, pNode--)
00050 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00053 8b 48 18 mov ecx, DWORD PTR [eax+24]
00056 83 e9 01 sub ecx, 1
00059 89 4d f0 mov DWORD PTR _i$3[ebp], ecx
0005c eb 15 jmp SHORT $LN4@NewNode
$LN2@NewNode:
0005e 8b 45 f0 mov eax, DWORD PTR _i$3[ebp]
00061 83 e8 01 sub eax, 1
00064 89 45 f0 mov DWORD PTR _i$3[ebp], eax
00067 8b 4d f4 mov ecx, DWORD PTR _pNode$4[ebp]
0006a 81 e9 74 09 00
00 sub ecx, 2420 ; 00000974H
00070 89 4d f4 mov DWORD PTR _pNode$4[ebp], ecx
$LN4@NewNode:
00073 83 7d f0 00 cmp DWORD PTR _i$3[ebp], 0
00077 7c 16 jl SHORT $LN7@NewNode
; 916 : {
; 917 : pNode->pNext = m_pNodeFree;
00079 8b 45 f4 mov eax, DWORD PTR _pNode$4[ebp]
0007c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0007f 8b 51 10 mov edx, DWORD PTR [ecx+16]
00082 89 10 mov DWORD PTR [eax], edx
; 918 : m_pNodeFree = pNode;
00084 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00087 8b 4d f4 mov ecx, DWORD PTR _pNode$4[ebp]
0008a 89 48 10 mov DWORD PTR [eax+16], ecx
; 919 : }
0008d eb cf jmp SHORT $LN2@NewNode
$LN7@NewNode:
; 920 : }
; 921 : ENSURE(m_pNodeFree != NULL); // we must have something
0008f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00092 83 78 10 00 cmp DWORD PTR [eax+16], 0
00096 74 09 je SHORT $LN11@NewNode
00098 c7 45 a0 01 00
00 00 mov DWORD PTR tv88[ebp], 1
0009f eb 07 jmp SHORT $LN12@NewNode
$LN11@NewNode:
000a1 c7 45 a0 00 00
00 00 mov DWORD PTR tv88[ebp], 0
$LN12@NewNode:
000a8 8b 4d a0 mov ecx, DWORD PTR tv88[ebp]
000ab 89 4d ec mov DWORD PTR ___afx_condVal$2[ebp], ecx
000ae 83 7d ec 00 cmp DWORD PTR ___afx_condVal$2[ebp], 0
000b2 75 05 jne SHORT $LN5@NewNode
000b4 e8 00 00 00 00 call ?AfxThrowInvalidArgException@@YGXXZ ; AfxThrowInvalidArgException
$LN5@NewNode:
000b9 33 c0 xor eax, eax
000bb 75 d2 jne SHORT $LN7@NewNode
; 922 :
; 923 : CList::CNode* pNode = m_pNodeFree;
000bd 8b 45 fc mov eax, DWORD PTR _this$[ebp]
000c0 8b 48 10 mov ecx, DWORD PTR [eax+16]
000c3 89 4d e8 mov DWORD PTR _pNode$[ebp], ecx
; 924 : m_pNodeFree = m_pNodeFree->pNext;
000c6 8b 45 fc mov eax, DWORD PTR _this$[ebp]
000c9 8b 48 10 mov ecx, DWORD PTR [eax+16]
000cc 8b 55 fc mov edx, DWORD PTR _this$[ebp]
000cf 8b 01 mov eax, DWORD PTR [ecx]
000d1 89 42 10 mov DWORD PTR [edx+16], eax
; 925 : pNode->pPrev = pPrev;
000d4 8b 45 e8 mov eax, DWORD PTR _pNode$[ebp]
000d7 8b 4d 08 mov ecx, DWORD PTR _pPrev$[ebp]
000da 89 48 04 mov DWORD PTR [eax+4], ecx
; 926 : pNode->pNext = pNext;
000dd 8b 45 e8 mov eax, DWORD PTR _pNode$[ebp]
000e0 8b 4d 0c mov ecx, DWORD PTR _pNext$[ebp]
000e3 89 08 mov DWORD PTR [eax], ecx
; 927 : m_nCount++;
000e5 8b 45 fc mov eax, DWORD PTR _this$[ebp]
000e8 8b 48 0c mov ecx, DWORD PTR [eax+12]
000eb 83 c1 01 add ecx, 1
000ee 8b 55 fc mov edx, DWORD PTR _this$[ebp]
000f1 89 4a 0c mov DWORD PTR [edx+12], ecx
; 928 : ASSERT(m_nCount > 0); // make sure we don't overflow
; 929 :
; 930 : #pragma push_macro("new")
; 931 : #undef new
; 932 : ::new( (void*)( &pNode->data ) ) TYPE;
000f4 8b 45 e8 mov eax, DWORD PTR _pNode$[ebp]
000f7 83 c0 08 add eax, 8
000fa 50 push eax
000fb 68 6c 09 00 00 push 2412 ; 0000096cH
00100 e8 00 00 00 00 call ??2@YAPAXIPAX@Z ; operator new
00105 83 c4 08 add esp, 8
00108 89 45 a4 mov DWORD PTR $T1[ebp], eax
; 933 : #pragma pop_macro("new")
; 934 : return pNode;
0010b 8b 45 e8 mov eax, DWORD PTR _pNode$[ebp]
$LN10@NewNode:
; 935 : }
0010e 5f pop edi
0010f 5e pop esi
00110 5b pop ebx
00111 8b e5 mov esp, ebp
00113 5d pop ebp
00114 c2 08 00 ret 8
?NewNode@?$CList@U_Checkup@@U1@@@IAEPAUCNode@1@PAU21@0@Z ENDP ; CList<_Checkup,_Checkup>::NewNode
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxtempl.h
; COMDAT ?RemoveAll@?$CList@U_Checkup@@U1@@@QAEXXZ
_TEXT SEGMENT
_pNode$ = -8 ; size = 4
_this$ = -4 ; size = 4
?RemoveAll@?$CList@U_Checkup@@U1@@@QAEXXZ PROC ; CList<_Checkup,_Checkup>::RemoveAll, COMDAT
; _this$ = ecx
; 865 : {
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
; 866 : ASSERT_VALID(this);
; 867 :
; 868 : // destroy elements
; 869 : CNode* pNode;
; 870 : for (pNode = m_pNodeHead; pNode != NULL; pNode = pNode->pNext)
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 8b 48 04 mov ecx, DWORD PTR [eax+4]
00012 89 4d f8 mov DWORD PTR _pNode$[ebp], ecx
00015 eb 08 jmp SHORT $LN4@RemoveAll
$LN2@RemoveAll:
00017 8b 45 f8 mov eax, DWORD PTR _pNode$[ebp]
0001a 8b 08 mov ecx, DWORD PTR [eax]
0001c 89 4d f8 mov DWORD PTR _pNode$[ebp], ecx
$LN4@RemoveAll:
0001f 83 7d f8 00 cmp DWORD PTR _pNode$[ebp], 0
00023 74 02 je SHORT $LN3@RemoveAll
; 871 : pNode->data.~TYPE();
00025 eb f0 jmp SHORT $LN2@RemoveAll
$LN3@RemoveAll:
; 872 :
; 873 : m_nCount = 0;
00027 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0002a c7 40 0c 00 00
00 00 mov DWORD PTR [eax+12], 0
; 874 : m_pNodeHead = m_pNodeTail = m_pNodeFree = NULL;
00031 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00034 c7 40 10 00 00
00 00 mov DWORD PTR [eax+16], 0
0003b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0003e c7 41 08 00 00
00 00 mov DWORD PTR [ecx+8], 0
00045 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00048 c7 42 04 00 00
00 00 mov DWORD PTR [edx+4], 0
; 875 : m_pBlocks->FreeDataChain();
0004f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00052 8b 48 14 mov ecx, DWORD PTR [eax+20]
00055 e8 00 00 00 00 call ?FreeDataChain@CPlex@@QAEXXZ ; CPlex::FreeDataChain
; 876 : m_pBlocks = NULL;
0005a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0005d c7 40 14 00 00
00 00 mov DWORD PTR [eax+20], 0
; 877 : }
00064 5f pop edi
00065 5e pop esi
00066 5b pop ebx
00067 8b e5 mov esp, ebp
00069 5d pop ebp
0006a c3 ret 0
?RemoveAll@?$CList@U_Checkup@@U1@@@QAEXXZ ENDP ; CList<_Checkup,_Checkup>::RemoveAll
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxtempl.h
; COMDAT ?AddTail@?$CList@U_Checkup@@U1@@@QAEPAU__POSITION@@U_Checkup@@@Z
_TEXT SEGMENT
_pNewNode$ = -8 ; size = 4
_this$ = -4 ; size = 4
_newElement$ = 8 ; size = 2412
?AddTail@?$CList@U_Checkup@@U1@@@QAEPAU__POSITION@@U_Checkup@@@Z PROC ; CList<_Checkup,_Checkup>::AddTail, COMDAT
; _this$ = ecx
; 968 : {
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
; 969 : ASSERT_VALID(this);
; 970 :
; 971 : CNode* pNewNode = NewNode(m_pNodeTail, NULL);
0000c 6a 00 push 0
0000e 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00011 8b 48 08 mov ecx, DWORD PTR [eax+8]
00014 51 push ecx
00015 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00018 e8 00 00 00 00 call ?NewNode@?$CList@U_Checkup@@U1@@@IAEPAUCNode@1@PAU21@0@Z ; CList<_Checkup,_Checkup>::NewNode
0001d 89 45 f8 mov DWORD PTR _pNewNode$[ebp], eax
; 972 : pNewNode->data = newElement;
00020 8b 7d f8 mov edi, DWORD PTR _pNewNode$[ebp]
00023 83 c7 08 add edi, 8
00026 b9 5b 02 00 00 mov ecx, 603 ; 0000025bH
0002b 8d 75 08 lea esi, DWORD PTR _newElement$[ebp]
0002e f3 a5 rep movsd
; 973 : if (m_pNodeTail != NULL)
00030 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00033 83 78 08 00 cmp DWORD PTR [eax+8], 0
00037 74 0d je SHORT $LN2@AddTail
; 974 : m_pNodeTail->pNext = pNewNode;
00039 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0003c 8b 48 08 mov ecx, DWORD PTR [eax+8]
0003f 8b 55 f8 mov edx, DWORD PTR _pNewNode$[ebp]
00042 89 11 mov DWORD PTR [ecx], edx
00044 eb 09 jmp SHORT $LN3@AddTail
$LN2@AddTail:
; 975 : else
; 976 : m_pNodeHead = pNewNode;
00046 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00049 8b 4d f8 mov ecx, DWORD PTR _pNewNode$[ebp]
0004c 89 48 04 mov DWORD PTR [eax+4], ecx
$LN3@AddTail:
; 977 : m_pNodeTail = pNewNode;
0004f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00052 8b 4d f8 mov ecx, DWORD PTR _pNewNode$[ebp]
00055 89 48 08 mov DWORD PTR [eax+8], ecx
; 978 : return (POSITION) pNewNode;
00058 8b 45 f8 mov eax, DWORD PTR _pNewNode$[ebp]
; 979 : }
0005b 5f pop edi
0005c 5e pop esi
0005d 5b pop ebx
0005e 8b e5 mov esp, ebp
00060 5d pop ebp
00061 c2 6c 09 ret 2412 ; 0000096cH
?AddTail@?$CList@U_Checkup@@U1@@@QAEPAU__POSITION@@U_Checkup@@@Z ENDP ; CList<_Checkup,_Checkup>::AddTail
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; COMDAT ??1?$CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@XZ
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
??1?$CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@XZ PROC ; CTypedPtrList<CPtrList,CProcessSocket *>::~CTypedPtrList<CPtrList,CProcessSocket *>, COMDAT
; _this$ = ecx
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??1?$CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@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 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
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?$_CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@XZ
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?$CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@XZ$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 e9 00 00 00 00 jmp ??1?$_CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@XZ
00008 cc int 3
00009 cc int 3
0000a cc int 3
0000b cc int 3
0000c cc int 3
__ehhandler$??1?$CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@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?$CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@XZ
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??1?$CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@XZ ENDP ; CTypedPtrList<CPtrList,CProcessSocket *>::~CTypedPtrList<CPtrList,CProcessSocket *>
; Function compile flags: /Odtp /ZI
; COMDAT ??1?$_CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@XZ
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
??1?$_CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@XZ PROC ; _CTypedPtrList<CPtrList,CProcessSocket *>::~_CTypedPtrList<CPtrList,CProcessSocket *>, COMDAT
; _this$ = ecx
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??1?$_CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@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 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
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 ??1CPtrList@@UAE@XZ ; CPtrList::~CPtrList
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?$_CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@XZ$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 e9 00 00 00 00 jmp ??1CPtrList@@UAE@XZ ; CPtrList::~CPtrList
00008 cc int 3
00009 cc int 3
0000a cc int 3
0000b cc int 3
0000c cc int 3
__ehhandler$??1?$_CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@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?$_CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@XZ
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??1?$_CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@XZ ENDP ; _CTypedPtrList<CPtrList,CProcessSocket *>::~_CTypedPtrList<CPtrList,CProcessSocket *>
; Function compile flags: /Odtp /ZI
; COMDAT ??_GCSmsCenterApp@@UAEPAXI@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
___flags$ = 8 ; size = 4
??_GCSmsCenterApp@@UAEPAXI@Z PROC ; CSmsCenterApp::`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 ??1CSmsCenterApp@@UAE@XZ
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 cc 00 00 00 push 204 ; 000000ccH
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
??_GCSmsCenterApp@@UAEPAXI@Z ENDP ; CSmsCenterApp::`scalar deleting destructor'
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; COMDAT ??1CSmsCenterApp@@UAE@XZ
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
??1CSmsCenterApp@@UAE@XZ PROC ; CSmsCenterApp::~CSmsCenterApp, COMDAT
; _this$ = ecx
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??1CSmsCenterApp@@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 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
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 ??1CWinApp@@UAE@XZ ; CWinApp::~CWinApp
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$??1CSmsCenterApp@@UAE@XZ$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 e9 00 00 00 00 jmp ??1CWinApp@@UAE@XZ ; CWinApp::~CWinApp
00008 cc int 3
00009 cc int 3
0000a cc int 3
0000b cc int 3
0000c cc int 3
__ehhandler$??1CSmsCenterApp@@UAE@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$??1CSmsCenterApp@@UAE@XZ
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??1CSmsCenterApp@@UAE@XZ ENDP ; CSmsCenterApp::~CSmsCenterApp
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\SmsCenter.cpp
; COMDAT ?GetMessageMap@CSmsCenterApp@@MBEPBUAFX_MSGMAP@@XZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?GetMessageMap@CSmsCenterApp@@MBEPBUAFX_MSGMAP@@XZ PROC ; CSmsCenterApp::GetMessageMap, COMDAT
; _this$ = ecx
; 19 : BEGIN_MESSAGE_MAP(CSmsCenterApp, CWinApp)
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@CSmsCenterApp@@KGPBUAFX_MSGMAP@@XZ ; CSmsCenterApp::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@CSmsCenterApp@@MBEPBUAFX_MSGMAP@@XZ ENDP ; CSmsCenterApp::GetMessageMap
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\SmsCenter.cpp
; COMDAT ?GetThisMessageMap@CSmsCenterApp@@KGPBUAFX_MSGMAP@@XZ
_TEXT SEGMENT
?GetThisMessageMap@CSmsCenterApp@@KGPBUAFX_MSGMAP@@XZ PROC ; CSmsCenterApp::GetThisMessageMap, COMDAT
; 19 : BEGIN_MESSAGE_MAP(CSmsCenterApp, CWinApp)
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
; 20 : //{{AFX_MSG_MAP(CSmsCenterApp)
; 21 : // NOTE - the ClassWizard will add and remove mapping macros here.
; 22 : // DO NOT EDIT what you see in these blocks of generated code!
; 23 : //}}AFX_MSG
; 24 : ON_COMMAND(ID_HELP, CWinApp::OnHelp)
; 25 : END_MESSAGE_MAP()
00009 b8 00 00 00 00 mov eax, OFFSET ?messageMap@?1??GetThisMessageMap@CSmsCenterApp@@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@CSmsCenterApp@@KGPBUAFX_MSGMAP@@XZ ENDP ; CSmsCenterApp::GetThisMessageMap
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\SmsCenter.cpp
; COMDAT ?ExitInstance@CSmsCenterApp@@UAEHXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?ExitInstance@CSmsCenterApp@@UAEHXZ PROC ; CSmsCenterApp::ExitInstance, COMDAT
; _this$ = ecx
; 106 : {
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
; 107 : CoUninitialize();
0000c ff 15 00 00 00
00 call DWORD PTR __imp__CoUninitialize@0
; 108 :
; 109 : return CWinApp::ExitInstance();
00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00015 e8 00 00 00 00 call ?ExitInstance@CWinApp@@UAEHXZ ; CWinApp::ExitInstance
; 110 : }
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@CSmsCenterApp@@UAEHXZ ENDP ; CSmsCenterApp::ExitInstance
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\SmsCenter.cpp
; COMDAT ?InitInstance@CSmsCenterApp@@UAEHXZ
_TEXT SEGMENT
$T2 = -8468 ; size = 4
_nResponse$ = -7952 ; size = 4
_dlg$ = -7948 ; size = 7928
_this$ = -20 ; size = 4
__$ArrayPad$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
?InitInstance@CSmsCenterApp@@UAEHXZ PROC ; CSmsCenterApp::InitInstance, COMDAT
; _this$ = ecx
; 45 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?InitInstance@CSmsCenterApp@@UAEHXZ
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 b8 08 21 00 00 mov eax, 8456 ; 00002108H
00016 e8 00 00 00 00 call __chkstk
0001b a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
00020 33 c5 xor eax, ebp
00022 89 45 f0 mov DWORD PTR __$ArrayPad$[ebp], eax
00025 53 push ebx
00026 56 push esi
00027 57 push edi
00028 50 push eax
00029 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
0002c 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00032 89 4d ec mov DWORD PTR _this$[ebp], ecx
; 46 : /*
; 47 : int a = sizeof(long);
; 48 : int b = sizeof(float);
; 49 : int c = sizeof(double);
; 50 : int d=sizeof(UCHAR);
; 51 : int e=sizeof(int);
; 52 : */
; 53 :
; 54 : #if _MSC_VER>=1300
; 55 : #ifdef _M_IX86
; 56 : #ifndef _DEBUG
; 57 : GPTSetSetUnhandledExceptionFilter(); //<2F><><EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
00035 e8 00 00 00 00 call ?GPTSetSetUnhandledExceptionFilter@@YAXXZ ; GPTSetSetUnhandledExceptionFilter
; 58 : #endif
; 59 : #endif
; 60 : #endif
; 61 :
; 62 : AfxEnableControlContainer();
0003a 6a 00 push 0
0003c e8 00 00 00 00 call ?AfxEnableControlContainer@@YAXPAVCOccManager@@@Z ; AfxEnableControlContainer
00041 83 c4 04 add esp, 4
; 63 : //CoInitialize(NULL);
; 64 : CoInitializeEx( NULL , COINIT_MULTITHREADED );
00044 6a 00 push 0
00046 6a 00 push 0
00048 ff 15 00 00 00
00 call DWORD PTR __imp__CoInitializeEx@8
; 65 :
; 66 : // Standard initialization
; 67 : // If you are not using these features and wish to reduce the size
; 68 : // of your final executable, you should remove from the following
; 69 : // the specific initialization routines you do not need.
; 70 :
; 71 : #ifdef _AFXDLL
; 72 : Enable3dControls(); // Call this when using MFC in a shared DLL
; 73 : #else
; 74 : Enable3dControlsStatic(); // Call this when linking to MFC statically
0004e 8b 4d ec mov ecx, DWORD PTR _this$[ebp]
00051 e8 00 00 00 00 call ?Enable3dControlsStatic@CWinApp@@IAEHXZ ; CWinApp::Enable3dControlsStatic
; 75 : #endif
; 76 :
; 77 : /*
; 78 : if ( FindProcess(_T("SmsCenter.exe"))>1 )
; 79 : {
; 80 : int iRet = MessageBox(NULL,_T("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6>ŷ<EFBFBD><C5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><D8B3>򣬿<EFBFBD><F2A3ACBF>ܴ<EFBFBD><DCB4>ڲ<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!\r\n<>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , _T("<22><><EFBFBD><EFBFBD>") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 );
; 81 : if ( iRet != IDYES )
; 82 : return false;
; 83 : }
; 84 : */
; 85 :
; 86 : CSmsCenterDlg dlg;
00056 6a 00 push 0
00058 8d 8d f4 e0 ff
ff lea ecx, DWORD PTR _dlg$[ebp]
0005e e8 00 00 00 00 call ??0CSmsCenterDlg@@QAE@PAVCWnd@@@Z ; CSmsCenterDlg::CSmsCenterDlg
00063 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
; 87 : m_pMainWnd = &dlg;
0006a 8b 45 ec mov eax, DWORD PTR _this$[ebp]
0006d 8d 8d f4 e0 ff
ff lea ecx, DWORD PTR _dlg$[ebp]
00073 89 48 20 mov DWORD PTR [eax+32], ecx
; 88 : int nResponse = dlg.DoModal();
00076 8d 8d f4 e0 ff
ff lea ecx, DWORD PTR _dlg$[ebp]
0007c e8 00 00 00 00 call ?DoModal@CDialog@@UAEHXZ ; CDialog::DoModal
00081 89 85 f0 e0 ff
ff mov DWORD PTR _nResponse$[ebp], eax
; 89 : if (nResponse == IDOK)
; 90 : {
; 91 : // TODO: Place code here to handle when the dialog is
; 92 : // dismissed with OK
; 93 : }
; 94 : else if (nResponse == IDCANCEL)
; 95 : {
; 96 : // TODO: Place code here to handle when the dialog is
; 97 : // dismissed with Cancel
; 98 : }
; 99 :
; 100 : // Since the dialog has been closed, return FALSE so that we exit the
; 101 : // application, rather than start the application's message pump.
; 102 : return FALSE;
00087 c7 85 ec de ff
ff 00 00 00 00 mov DWORD PTR $T2[ebp], 0
00091 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
00098 8d 8d f4 e0 ff
ff lea ecx, DWORD PTR _dlg$[ebp]
0009e e8 00 00 00 00 call ??1CSmsCenterDlg@@UAE@XZ
000a3 8b 85 ec de ff
ff mov eax, DWORD PTR $T2[ebp]
; 103 : }
000a9 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
000ac 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
000b3 59 pop ecx
000b4 5f pop edi
000b5 5e pop esi
000b6 5b pop ebx
000b7 8b 4d f0 mov ecx, DWORD PTR __$ArrayPad$[ebp]
000ba 33 cd xor ecx, ebp
000bc e8 00 00 00 00 call @__security_check_cookie@4
000c1 8b e5 mov esp, ebp
000c3 5d pop ebp
000c4 c3 ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$?InitInstance@CSmsCenterApp@@UAEHXZ$0:
00000 8d 8d f4 e0 ff
ff lea ecx, DWORD PTR _dlg$[ebp]
00006 e9 00 00 00 00 jmp ??1CSmsCenterDlg@@UAE@XZ
0000b cc int 3
0000c cc int 3
0000d cc int 3
0000e cc int 3
0000f cc int 3
__ehhandler$?InitInstance@CSmsCenterApp@@UAEHXZ:
00010 90 npad 1
00011 90 npad 1
00012 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00016 8d 42 0c lea eax, DWORD PTR [edx+12]
00019 8b 8a e8 de ff
ff mov ecx, DWORD PTR [edx-8472]
0001f 33 c8 xor ecx, eax
00021 e8 00 00 00 00 call @__security_check_cookie@4
00026 8b 4a fc mov ecx, DWORD PTR [edx-4]
00029 33 c8 xor ecx, eax
0002b e8 00 00 00 00 call @__security_check_cookie@4
00030 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?InitInstance@CSmsCenterApp@@UAEHXZ
00035 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?InitInstance@CSmsCenterApp@@UAEHXZ ENDP ; CSmsCenterApp::InitInstance
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\SmsCenter.cpp
; COMDAT ??0CSmsCenterApp@@QAE@XZ
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
??0CSmsCenterApp@@QAE@XZ PROC ; CSmsCenterApp::CSmsCenterApp, COMDAT
; _this$ = ecx
; 31 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??0CSmsCenterApp@@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 6a 00 push 0
0002d 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00030 e8 00 00 00 00 call ??0CWinApp@@QAE@PB_W@Z ; CWinApp::CWinApp
00035 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
0003c 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
0003f c7 00 00 00 00
00 mov DWORD PTR [eax], OFFSET ??_7CSmsCenterApp@@6B@
; 32 : // TODO: add construction code here,
; 33 : // Place all significant initialization in InitInstance
; 34 : }
00045 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
0004c 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
0004f 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00052 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00059 59 pop ecx
0005a 5f pop edi
0005b 5e pop esi
0005c 5b pop ebx
0005d 8b e5 mov esp, ebp
0005f 5d pop ebp
00060 c3 ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??0CSmsCenterApp@@QAE@XZ$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 e9 00 00 00 00 jmp ??1CWinApp@@UAE@XZ ; CWinApp::~CWinApp
00008 cc int 3
00009 cc int 3
0000a cc int 3
0000b cc int 3
0000c cc int 3
__ehhandler$??0CSmsCenterApp@@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$??0CSmsCenterApp@@QAE@XZ
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??0CSmsCenterApp@@QAE@XZ ENDP ; CSmsCenterApp::CSmsCenterApp
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\SmsCenter.cpp
; COMDAT ?FindProcess@CSmsCenterApp@@QAEJPB_W@Z
_TEXT SEGMENT
_szProcessName$1 = -4644 ; size = 520
_i$ = -4124 ; size = 4
_cProcesses$ = -4120 ; size = 4
_cbNeeded$ = -4116 ; size = 4
_aProcesses$ = -4112 ; size = 4096
_bReBoot$ = -16 ; size = 4
_lCount$ = -12 ; size = 4
_this$ = -8 ; size = 4
__$ArrayPad$ = -4 ; size = 4
_pName$ = 8 ; size = 4
?FindProcess@CSmsCenterApp@@QAEJPB_W@Z PROC ; CSmsCenterApp::FindProcess, COMDAT
; _this$ = ecx
; 113 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 b8 24 14 00 00 mov eax, 5156 ; 00001424H
00008 e8 00 00 00 00 call __chkstk
0000d a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
00012 33 c5 xor eax, ebp
00014 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax
00017 53 push ebx
00018 56 push esi
00019 57 push edi
0001a 89 4d f8 mov DWORD PTR _this$[ebp], ecx
; 114 : long lCount=0;
0001d c7 45 f4 00 00
00 00 mov DWORD PTR _lCount$[ebp], 0
; 115 : BOOL bReBoot = false;
00024 c7 45 f0 00 00
00 00 mov DWORD PTR _bReBoot$[ebp], 0
; 116 : DWORD aProcesses[1024], cbNeeded, cProcesses;
; 117 : unsigned int i;
; 118 : //ö<><C3B6>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>ID<49>б<EFBFBD>
; 119 : if ( EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded ) )
0002b 8d 85 ec ef ff
ff lea eax, DWORD PTR _cbNeeded$[ebp]
00031 50 push eax
00032 68 00 10 00 00 push 4096 ; 00001000H
00037 8d 8d f0 ef ff
ff lea ecx, DWORD PTR _aProcesses$[ebp]
0003d 51 push ecx
0003e e8 00 00 00 00 call _EnumProcesses@12
00043 85 c0 test eax, eax
00045 0f 84 b0 00 00
00 je $LN5@FindProces
; 120 : {
; 121 : // Calculate how many process identifiers were returned.
; 122 : //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; 123 : cProcesses = cbNeeded / sizeof(DWORD);
0004b 8b 85 ec ef ff
ff mov eax, DWORD PTR _cbNeeded$[ebp]
00051 c1 e8 02 shr eax, 2
00054 89 85 e8 ef ff
ff mov DWORD PTR _cProcesses$[ebp], eax
; 124 : // <20><><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD>ƺ<EFBFBD>ID
; 125 : TCHAR szProcessName[MAX_PATH]={0};
0005a 68 08 02 00 00 push 520 ; 00000208H
0005f 6a 00 push 0
00061 8d 85 dc ed ff
ff lea eax, DWORD PTR _szProcessName$1[ebp]
00067 50 push eax
00068 e8 00 00 00 00 call _memset
0006d 83 c4 0c add esp, 12 ; 0000000cH
; 126 : for ( i = 0; i < cProcesses; i++ )
00070 c7 85 e4 ef ff
ff 00 00 00 00 mov DWORD PTR _i$[ebp], 0
0007a eb 0f jmp SHORT $LN4@FindProces
$LN2@FindProces:
0007c 8b 85 e4 ef ff
ff mov eax, DWORD PTR _i$[ebp]
00082 83 c0 01 add eax, 1
00085 89 85 e4 ef ff
ff mov DWORD PTR _i$[ebp], eax
$LN4@FindProces:
0008b 8b 85 e4 ef ff
ff mov eax, DWORD PTR _i$[ebp]
00091 3b 85 e8 ef ff
ff cmp eax, DWORD PTR _cProcesses$[ebp]
00097 73 62 jae SHORT $LN5@FindProces
; 127 : {
; 128 : memset( szProcessName ,0, sizeof(szProcessName) );
00099 68 08 02 00 00 push 520 ; 00000208H
0009e 6a 00 push 0
000a0 8d 85 dc ed ff
ff lea eax, DWORD PTR _szProcessName$1[ebp]
000a6 50 push eax
000a7 e8 00 00 00 00 call _memset
000ac 83 c4 0c add esp, 12 ; 0000000cH
; 129 : CSmsCenterDlg::GetProcessNameAndID( aProcesses[i],szProcessName);
000af 8d 85 dc ed ff
ff lea eax, DWORD PTR _szProcessName$1[ebp]
000b5 50 push eax
000b6 8b 8d e4 ef ff
ff mov ecx, DWORD PTR _i$[ebp]
000bc 8b 94 8d f0 ef
ff ff mov edx, DWORD PTR _aProcesses$[ebp+ecx*4]
000c3 52 push edx
000c4 e8 00 00 00 00 call ?GetProcessNameAndID@CSmsCenterDlg@@SAXKPA_W@Z ; CSmsCenterDlg::GetProcessNameAndID
000c9 83 c4 08 add esp, 8
; 130 : //if ( !strcmp( szProcessName , pName ) ) //<2F><><EFBFBD><EFBFBD>Dh2000<30>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD><EFBFBD>
; 131 : if ( !_tcsncmp( szProcessName , pName , _tcslen(pName) ) ) //<2F><><EFBFBD><EFBFBD>Dh2000<30>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD><EFBFBD>
000cc 8b 45 08 mov eax, DWORD PTR _pName$[ebp]
000cf 50 push eax
000d0 e8 00 00 00 00 call _wcslen
000d5 83 c4 04 add esp, 4
000d8 50 push eax
000d9 8b 4d 08 mov ecx, DWORD PTR _pName$[ebp]
000dc 51 push ecx
000dd 8d 95 dc ed ff
ff lea edx, DWORD PTR _szProcessName$1[ebp]
000e3 52 push edx
000e4 e8 00 00 00 00 call _wcsncmp
000e9 83 c4 0c add esp, 12 ; 0000000cH
000ec 85 c0 test eax, eax
000ee 75 09 jne SHORT $LN6@FindProces
; 132 : {
; 133 : lCount ++;
000f0 8b 45 f4 mov eax, DWORD PTR _lCount$[ebp]
000f3 83 c0 01 add eax, 1
000f6 89 45 f4 mov DWORD PTR _lCount$[ebp], eax
$LN6@FindProces:
; 134 : }
; 135 : }
000f9 eb 81 jmp SHORT $LN2@FindProces
$LN5@FindProces:
; 136 : }
; 137 : return lCount;
000fb 8b 45 f4 mov eax, DWORD PTR _lCount$[ebp]
; 138 : }
000fe 5f pop edi
000ff 5e pop esi
00100 5b pop ebx
00101 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp]
00104 33 cd xor ecx, ebp
00106 e8 00 00 00 00 call @__security_check_cookie@4
0010b 8b e5 mov esp, ebp
0010d 5d pop ebp
0010e c2 04 00 ret 4
?FindProcess@CSmsCenterApp@@QAEJPB_W@Z ENDP ; CSmsCenterApp::FindProcess
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; COMDAT ??_G_SmsReport@@QAEPAXI@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
___flags$ = 8 ; size = 4
??_G_SmsReport@@QAEPAXI@Z PROC ; _SmsReport::`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 ??1_SmsReport@@QAE@XZ
00014 8b 45 08 mov eax, DWORD PTR ___flags$[ebp]
00017 83 e0 01 and eax, 1
0001a 74 0e je SHORT $LN2@scalar
0001c 6a 2c push 44 ; 0000002cH
0001e 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00021 50 push eax
00022 e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete
00027 83 c4 08 add esp, 8
$LN2@scalar:
0002a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0002d 5f pop edi
0002e 5e pop esi
0002f 5b pop ebx
00030 8b e5 mov esp, ebp
00032 5d pop ebp
00033 c2 04 00 ret 4
??_G_SmsReport@@QAEPAXI@Z ENDP ; _SmsReport::`scalar deleting destructor'
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; COMDAT ??4_SmsReport@@QAEAAU0@ABU0@@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
___that$ = 8 ; size = 4
??4_SmsReport@@QAEAAU0@ABU0@@Z PROC ; _SmsReport::operator=, 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 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 8b 4d 08 mov ecx, DWORD PTR ___that$[ebp]
00012 8b 11 mov edx, DWORD PTR [ecx]
00014 89 10 mov DWORD PTR [eax], edx
00016 8b 45 08 mov eax, DWORD PTR ___that$[ebp]
00019 83 c0 04 add eax, 4
0001c 50 push eax
0001d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00020 83 c1 04 add ecx, 4
00023 e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
00028 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0002b 8b 4d 08 mov ecx, DWORD PTR ___that$[ebp]
0002e 8b 51 08 mov edx, DWORD PTR [ecx+8]
00031 89 50 08 mov DWORD PTR [eax+8], edx
00034 8b 45 08 mov eax, DWORD PTR ___that$[ebp]
00037 83 c0 0c add eax, 12 ; 0000000cH
0003a 50 push eax
0003b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0003e 83 c1 0c add ecx, 12 ; 0000000cH
00041 e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
00046 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00049 8b 4d 08 mov ecx, DWORD PTR ___that$[ebp]
0004c 8b 51 10 mov edx, DWORD PTR [ecx+16]
0004f 89 50 10 mov DWORD PTR [eax+16], edx
00052 8b 45 08 mov eax, DWORD PTR ___that$[ebp]
00055 83 c0 14 add eax, 20 ; 00000014H
00058 50 push eax
00059 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0005c 83 c1 14 add ecx, 20 ; 00000014H
0005f e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
00064 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00067 8b 4d 08 mov ecx, DWORD PTR ___that$[ebp]
0006a 8b 51 18 mov edx, DWORD PTR [ecx+24]
0006d 89 50 18 mov DWORD PTR [eax+24], edx
00070 8b 45 08 mov eax, DWORD PTR ___that$[ebp]
00073 83 c0 1c add eax, 28 ; 0000001cH
00076 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00079 83 c1 1c add ecx, 28 ; 0000001cH
0007c 8b 10 mov edx, DWORD PTR [eax]
0007e 89 11 mov DWORD PTR [ecx], edx
00080 8b 50 04 mov edx, DWORD PTR [eax+4]
00083 89 51 04 mov DWORD PTR [ecx+4], edx
00086 8b 50 08 mov edx, DWORD PTR [eax+8]
00089 89 51 08 mov DWORD PTR [ecx+8], edx
0008c 8b 40 0c mov eax, DWORD PTR [eax+12]
0008f 89 41 0c mov DWORD PTR [ecx+12], eax
00092 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00095 5f pop edi
00096 5e pop esi
00097 5b pop ebx
00098 8b e5 mov esp, ebp
0009a 5d pop ebp
0009b c2 04 00 ret 4
??4_SmsReport@@QAEAAU0@ABU0@@Z ENDP ; _SmsReport::operator=
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; COMDAT ??1_SmsReport@@QAE@XZ
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
??1_SmsReport@@QAE@XZ PROC ; _SmsReport::~_SmsReport, COMDAT
; _this$ = ecx
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??1_SmsReport@@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 02 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 2
00032 c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+8], 1
00036 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00039 83 c1 14 add ecx, 20 ; 00000014H
0003c 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> > >
00041 c6 45 fc 00 mov BYTE PTR __$EHRec$[ebp+8], 0
00045 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00048 83 c1 0c add ecx, 12 ; 0000000cH
0004b 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> > >
00050 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
00057 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0005a 83 c1 04 add ecx, 4
0005d 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> > >
00062 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00065 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0006c 59 pop ecx
0006d 5f pop edi
0006e 5e pop esi
0006f 5b pop ebx
00070 8b e5 mov esp, ebp
00072 5d pop ebp
00073 c3 ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??1_SmsReport@@QAE@XZ$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 83 c1 04 add ecx, 4
00006 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$??1_SmsReport@@QAE@XZ$1:
0000b 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0000e 83 c1 0c add ecx, 12 ; 0000000cH
00011 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$??1_SmsReport@@QAE@XZ$2:
00016 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00019 83 c1 14 add ecx, 20 ; 00000014H
0001c 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> > >
00021 cc int 3
00022 cc int 3
00023 cc int 3
00024 cc int 3
00025 cc int 3
__ehhandler$??1_SmsReport@@QAE@XZ:
00026 90 npad 1
00027 90 npad 1
00028 8b 54 24 08 mov edx, DWORD PTR [esp+8]
0002c 8d 42 0c lea eax, DWORD PTR [edx+12]
0002f 8b 4a ac mov ecx, DWORD PTR [edx-84]
00032 33 c8 xor ecx, eax
00034 e8 00 00 00 00 call @__security_check_cookie@4
00039 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??1_SmsReport@@QAE@XZ
0003e e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??1_SmsReport@@QAE@XZ ENDP ; _SmsReport::~_SmsReport
; Function compile flags: /Odtp /ZI
; COMDAT ??0_SmsReport@@QAE@XZ
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
??0_SmsReport@@QAE@XZ PROC ; _SmsReport::_SmsReport, COMDAT
; _this$ = ecx
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??0_SmsReport@@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 83 c1 04 add ecx, 4
00031 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> > >
00036 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
0003d 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00040 83 c1 0c add ecx, 12 ; 0000000cH
00043 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> > >
00048 c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+8], 1
0004c 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0004f 83 c1 14 add ecx, 20 ; 00000014H
00052 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> > >
00057 c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+8], 2
0005b c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
00062 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00065 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00068 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0006f 59 pop ecx
00070 5f pop edi
00071 5e pop esi
00072 5b pop ebx
00073 8b e5 mov esp, ebp
00075 5d pop ebp
00076 c3 ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??0_SmsReport@@QAE@XZ$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 83 c1 04 add ecx, 4
00006 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$??0_SmsReport@@QAE@XZ$1:
0000b 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0000e 83 c1 0c add ecx, 12 ; 0000000cH
00011 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$??0_SmsReport@@QAE@XZ$2:
00016 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00019 83 c1 14 add ecx, 20 ; 00000014H
0001c 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> > >
00021 cc int 3
00022 cc int 3
00023 cc int 3
00024 cc int 3
00025 cc int 3
__ehhandler$??0_SmsReport@@QAE@XZ:
00026 90 npad 1
00027 90 npad 1
00028 8b 54 24 08 mov edx, DWORD PTR [esp+8]
0002c 8d 42 0c lea eax, DWORD PTR [edx+12]
0002f 8b 4a ac mov ecx, DWORD PTR [edx-84]
00032 33 c8 xor ecx, eax
00034 e8 00 00 00 00 call @__security_check_cookie@4
00039 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??0_SmsReport@@QAE@XZ
0003e e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??0_SmsReport@@QAE@XZ ENDP ; _SmsReport::_SmsReport
; Function compile flags: /Odtp /ZI
; COMDAT ??_GCCriticalSection@@UAEPAXI@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
___flags$ = 8 ; size = 4
??_GCCriticalSection@@UAEPAXI@Z PROC ; CCriticalSection::`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 ??1CCriticalSection@@UAE@XZ ; CCriticalSection::~CCriticalSection
00014 8b 45 08 mov eax, DWORD PTR ___flags$[ebp]
00017 83 e0 01 and eax, 1
0001a 74 23 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 10 jmp SHORT $LN2@scalar
0002f eb 0e jmp SHORT $LN2@scalar
$LN3@scalar:
00031 6a 20 push 32 ; 00000020H
00033 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00036 50 push eax
00037 e8 00 00 00 00 call ?__global_delete@@YAXPAXI@Z ; __global_delete
0003c 83 c4 08 add esp, 8
$LN2@scalar:
0003f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00042 5f pop edi
00043 5e pop esi
00044 5b pop ebx
00045 8b e5 mov esp, ebp
00047 5d pop ebp
00048 c2 04 00 ret 4
??_GCCriticalSection@@UAEPAXI@Z ENDP ; CCriticalSection::`scalar deleting destructor'
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxmt.inl
; COMDAT ??1CCriticalSection@@UAE@XZ
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
??1CCriticalSection@@UAE@XZ PROC ; CCriticalSection::~CCriticalSection, COMDAT
; _this$ = ecx
; 105 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??1CCriticalSection@@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 ??_7CCriticalSection@@6B@
00034 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
; 106 : ::DeleteCriticalSection(&m_sect);
0003b 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
0003e 83 c0 08 add eax, 8
00041 50 push eax
00042 ff 15 00 00 00
00 call DWORD PTR __imp__DeleteCriticalSection@4
; 107 : }
00048 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
0004f 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00052 e8 00 00 00 00 call ??1CSyncObject@@UAE@XZ ; CSyncObject::~CSyncObject
00057 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0005a 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00061 59 pop ecx
00062 5f pop edi
00063 5e pop esi
00064 5b pop ebx
00065 8b e5 mov esp, ebp
00067 5d pop ebp
00068 c3 ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??1CCriticalSection@@UAE@XZ$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 e9 00 00 00 00 jmp ??1CSyncObject@@UAE@XZ ; CSyncObject::~CSyncObject
00008 cc int 3
00009 cc int 3
0000a cc int 3
0000b cc int 3
0000c cc int 3
__ehhandler$??1CCriticalSection@@UAE@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$??1CCriticalSection@@UAE@XZ
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??1CCriticalSection@@UAE@XZ ENDP ; CCriticalSection::~CCriticalSection
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxmt.inl
; COMDAT ?Lock@CCriticalSection@@UAEHK@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_dwTimeout$ = 8 ; size = 4
?Lock@CCriticalSection@@UAEHK@Z PROC ; CCriticalSection::Lock, COMDAT
; _this$ = ecx
; 117 : {
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
; 118 : ASSERT(dwTimeout == INFINITE);
; 119 : (void)dwTimeout;
; 120 :
; 121 : return Lock();
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?Lock@CCriticalSection@@QAEHXZ ; CCriticalSection::Lock
; 122 : }
00014 5f pop edi
00015 5e pop esi
00016 5b pop ebx
00017 8b e5 mov esp, ebp
00019 5d pop ebp
0001a c2 04 00 ret 4
?Lock@CCriticalSection@@UAEHK@Z ENDP ; CCriticalSection::Lock
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxmt.inl
; COMDAT ?Lock@CCriticalSection@@QAEHXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?Lock@CCriticalSection@@QAEHXZ PROC ; CCriticalSection::Lock, COMDAT
; _this$ = ecx
; 110 : {
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
; 111 : ::EnterCriticalSection(&m_sect);
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 83 c0 08 add eax, 8
00012 50 push eax
00013 ff 15 00 00 00
00 call DWORD PTR __imp__EnterCriticalSection@4
; 112 :
; 113 : return TRUE;
00019 b8 01 00 00 00 mov eax, 1
; 114 : }
0001e 5f pop edi
0001f 5e pop esi
00020 5b pop ebx
00021 8b e5 mov esp, ebp
00023 5d pop ebp
00024 c3 ret 0
?Lock@CCriticalSection@@QAEHXZ ENDP ; CCriticalSection::Lock
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxmt.inl
; COMDAT ?Unlock@CCriticalSection@@UAEHXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?Unlock@CCriticalSection@@UAEHXZ PROC ; CCriticalSection::Unlock, COMDAT
; _this$ = ecx
; 125 : {
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
; 126 : ::LeaveCriticalSection(&m_sect);
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 83 c0 08 add eax, 8
00012 50 push eax
00013 ff 15 00 00 00
00 call DWORD PTR __imp__LeaveCriticalSection@4
; 127 :
; 128 : return TRUE;
00019 b8 01 00 00 00 mov eax, 1
; 129 : }
0001e 5f pop edi
0001f 5e pop esi
00020 5b pop ebx
00021 8b e5 mov esp, ebp
00023 5d pop ebp
00024 c3 ret 0
?Unlock@CCriticalSection@@UAEHXZ ENDP ; CCriticalSection::Unlock
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxmt.h
; COMDAT ?Unlock@CSyncObject@@UAEHJPAJ@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
___formal$ = 8 ; size = 4
___formal$ = 12 ; size = 4
?Unlock@CSyncObject@@UAEHJPAJ@Z PROC ; CSyncObject::Unlock, COMDAT
; _this$ = ecx
; 66 : { return TRUE; }
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 01 00 00 00 mov eax, 1
00011 5f pop edi
00012 5e pop esi
00013 5b pop ebx
00014 8b e5 mov esp, ebp
00016 5d pop ebp
00017 c2 08 00 ret 8
?Unlock@CSyncObject@@UAEHJPAJ@Z ENDP ; CSyncObject::Unlock
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; COMDAT ??_G_REQ_WxWork_Send@@QAEPAXI@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
___flags$ = 8 ; size = 4
??_G_REQ_WxWork_Send@@QAEPAXI@Z PROC ; _REQ_WxWork_Send::`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 ??1_REQ_WxWork_Send@@QAE@XZ
00014 8b 45 08 mov eax, DWORD PTR ___flags$[ebp]
00017 83 e0 01 and eax, 1
0001a 74 0e je SHORT $LN2@scalar
0001c 6a 0c push 12 ; 0000000cH
0001e 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00021 50 push eax
00022 e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete
00027 83 c4 08 add esp, 8
$LN2@scalar:
0002a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0002d 5f pop edi
0002e 5e pop esi
0002f 5b pop ebx
00030 8b e5 mov esp, ebp
00032 5d pop ebp
00033 c2 04 00 ret 4
??_G_REQ_WxWork_Send@@QAEPAXI@Z ENDP ; _REQ_WxWork_Send::`scalar deleting destructor'
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; COMDAT ??4_REQ_WxWork_Send@@QAEAAU0@ABU0@@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
___that$ = 8 ; size = 4
??4_REQ_WxWork_Send@@QAEAAU0@ABU0@@Z PROC ; _REQ_WxWork_Send::operator=, 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 45 08 mov eax, DWORD PTR ___that$[ebp]
0000f 50 push eax
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00013 e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
00018 8b 45 08 mov eax, DWORD PTR ___that$[ebp]
0001b 83 c0 04 add eax, 4
0001e 50 push eax
0001f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00022 83 c1 04 add ecx, 4
00025 e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
0002a 8b 45 08 mov eax, DWORD PTR ___that$[ebp]
0002d 83 c0 08 add eax, 8
00030 50 push eax
00031 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00034 83 c1 08 add ecx, 8
00037 e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
0003c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0003f 5f pop edi
00040 5e pop esi
00041 5b pop ebx
00042 8b e5 mov esp, ebp
00044 5d pop ebp
00045 c2 04 00 ret 4
??4_REQ_WxWork_Send@@QAEAAU0@ABU0@@Z ENDP ; _REQ_WxWork_Send::operator=
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; COMDAT ??0_REQ_WxWork_Send@@QAE@ABU0@@Z
_TEXT SEGMENT
tv88 = -84 ; size = 4
tv79 = -84 ; size = 4
tv70 = -84 ; size = 4
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
___that$ = 8 ; size = 4
??0_REQ_WxWork_Send@@QAE@ABU0@@Z PROC ; _REQ_WxWork_Send::_REQ_WxWork_Send, COMDAT
; _this$ = ecx
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??0_REQ_WxWork_Send@@QAE@ABU0@@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
0002b 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
0002e 89 45 ac mov DWORD PTR tv70[ebp], eax
00031 8b 4d 08 mov ecx, DWORD PTR ___that$[ebp]
00034 51 push ecx
00035 8b 4d ac mov ecx, DWORD PTR tv70[ebp]
00038 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
0003d c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
00044 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00047 83 c0 04 add eax, 4
0004a 89 45 ac mov DWORD PTR tv79[ebp], eax
0004d 8b 4d 08 mov ecx, DWORD PTR ___that$[ebp]
00050 83 c1 04 add ecx, 4
00053 51 push ecx
00054 8b 4d ac mov ecx, DWORD PTR tv79[ebp]
00057 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
0005c c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+8], 1
00060 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00063 83 c0 08 add eax, 8
00066 89 45 ac mov DWORD PTR tv88[ebp], eax
00069 8b 4d 08 mov ecx, DWORD PTR ___that$[ebp]
0006c 83 c1 08 add ecx, 8
0006f 51 push ecx
00070 8b 4d ac mov ecx, DWORD PTR tv88[ebp]
00073 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00078 c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+8], 2
0007c c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
00083 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00086 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00089 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00090 59 pop ecx
00091 5f pop edi
00092 5e pop esi
00093 5b pop ebx
00094 8b e5 mov esp, ebp
00096 5d pop ebp
00097 c2 04 00 ret 4
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??0_REQ_WxWork_Send@@QAE@ABU0@@Z$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[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$??0_REQ_WxWork_Send@@QAE@ABU0@@Z$1:
00008 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0000b 83 c1 04 add ecx, 4
0000e 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$??0_REQ_WxWork_Send@@QAE@ABU0@@Z$2:
00013 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00016 83 c1 08 add ecx, 8
00019 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> > >
0001e cc int 3
0001f cc int 3
00020 cc int 3
00021 cc int 3
00022 cc int 3
__ehhandler$??0_REQ_WxWork_Send@@QAE@ABU0@@Z:
00023 90 npad 1
00024 90 npad 1
00025 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00029 8d 42 0c lea eax, DWORD PTR [edx+12]
0002c 8b 4a a8 mov ecx, DWORD PTR [edx-88]
0002f 33 c8 xor ecx, eax
00031 e8 00 00 00 00 call @__security_check_cookie@4
00036 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??0_REQ_WxWork_Send@@QAE@ABU0@@Z
0003b e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??0_REQ_WxWork_Send@@QAE@ABU0@@Z ENDP ; _REQ_WxWork_Send::_REQ_WxWork_Send
; Function compile flags: /Odtp /ZI
; COMDAT ??1_REQ_WxWork_Send@@QAE@XZ
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
??1_REQ_WxWork_Send@@QAE@XZ PROC ; _REQ_WxWork_Send::~_REQ_WxWork_Send, COMDAT
; _this$ = ecx
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??1_REQ_WxWork_Send@@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 02 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 2
00032 c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+8], 1
00036 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00039 83 c1 08 add ecx, 8
0003c 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> > >
00041 c6 45 fc 00 mov BYTE PTR __$EHRec$[ebp+8], 0
00045 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00048 83 c1 04 add ecx, 4
0004b 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> > >
00050 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
00057 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0005a 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> > >
0005f 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00062 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00069 59 pop ecx
0006a 5f pop edi
0006b 5e pop esi
0006c 5b pop ebx
0006d 8b e5 mov esp, ebp
0006f 5d pop ebp
00070 c3 ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??1_REQ_WxWork_Send@@QAE@XZ$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[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$??1_REQ_WxWork_Send@@QAE@XZ$1:
00008 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0000b 83 c1 04 add ecx, 4
0000e 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$??1_REQ_WxWork_Send@@QAE@XZ$2:
00013 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00016 83 c1 08 add ecx, 8
00019 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> > >
0001e cc int 3
0001f cc int 3
00020 cc int 3
00021 cc int 3
00022 cc int 3
__ehhandler$??1_REQ_WxWork_Send@@QAE@XZ:
00023 90 npad 1
00024 90 npad 1
00025 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00029 8d 42 0c lea eax, DWORD PTR [edx+12]
0002c 8b 4a ac mov ecx, DWORD PTR [edx-84]
0002f 33 c8 xor ecx, eax
00031 e8 00 00 00 00 call @__security_check_cookie@4
00036 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??1_REQ_WxWork_Send@@QAE@XZ
0003b e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??1_REQ_WxWork_Send@@QAE@XZ ENDP ; _REQ_WxWork_Send::~_REQ_WxWork_Send
; Function compile flags: /Odtp /ZI
; COMDAT ??0_REQ_WxWork_Send@@QAE@XZ
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
??0_REQ_WxWork_Send@@QAE@XZ PROC ; _REQ_WxWork_Send::_REQ_WxWork_Send, COMDAT
; _this$ = ecx
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??0_REQ_WxWork_Send@@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 ??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> > >
00033 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
0003a 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0003d 83 c1 04 add ecx, 4
00040 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> > >
00045 c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+8], 1
00049 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0004c 83 c1 08 add ecx, 8
0004f 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> > >
00054 c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+8], 2
00058 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
0005f 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00062 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00065 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0006c 59 pop ecx
0006d 5f pop edi
0006e 5e pop esi
0006f 5b pop ebx
00070 8b e5 mov esp, ebp
00072 5d pop ebp
00073 c3 ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??0_REQ_WxWork_Send@@QAE@XZ$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[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$??0_REQ_WxWork_Send@@QAE@XZ$1:
00008 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0000b 83 c1 04 add ecx, 4
0000e 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$??0_REQ_WxWork_Send@@QAE@XZ$2:
00013 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00016 83 c1 08 add ecx, 8
00019 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> > >
0001e cc int 3
0001f cc int 3
00020 cc int 3
00021 cc int 3
00022 cc int 3
__ehhandler$??0_REQ_WxWork_Send@@QAE@XZ:
00023 90 npad 1
00024 90 npad 1
00025 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00029 8d 42 0c lea eax, DWORD PTR [edx+12]
0002c 8b 4a ac mov ecx, DWORD PTR [edx-84]
0002f 33 c8 xor ecx, eax
00031 e8 00 00 00 00 call @__security_check_cookie@4
00036 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??0_REQ_WxWork_Send@@QAE@XZ
0003b e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??0_REQ_WxWork_Send@@QAE@XZ ENDP ; _REQ_WxWork_Send::_REQ_WxWork_Send
; Function compile flags: /Odtp /ZI
; COMDAT ??_G_Mas_TDType@@QAEPAXI@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
___flags$ = 8 ; size = 4
??_G_Mas_TDType@@QAEPAXI@Z PROC ; _Mas_TDType::`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 ??1_Mas_TDType@@QAE@XZ
00014 8b 45 08 mov eax, DWORD PTR ___flags$[ebp]
00017 83 e0 01 and eax, 1
0001a 74 0e je SHORT $LN2@scalar
0001c 6a 08 push 8
0001e 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00021 50 push eax
00022 e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete
00027 83 c4 08 add esp, 8
$LN2@scalar:
0002a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0002d 5f pop edi
0002e 5e pop esi
0002f 5b pop ebx
00030 8b e5 mov esp, ebp
00032 5d pop ebp
00033 c2 04 00 ret 4
??_G_Mas_TDType@@QAEPAXI@Z ENDP ; _Mas_TDType::`scalar deleting destructor'
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; COMDAT ??1_Mas_TDType@@QAE@XZ
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
??1_Mas_TDType@@QAE@XZ PROC ; _Mas_TDType::~_Mas_TDType, COMDAT
; _this$ = ecx
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??1_Mas_TDType@@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
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?$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> > >
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_Mas_TDType@@QAE@XZ$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[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$??1_Mas_TDType@@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_Mas_TDType@@QAE@XZ
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??1_Mas_TDType@@QAE@XZ ENDP ; _Mas_TDType::~_Mas_TDType
; Function compile flags: /Odtp /ZI
; COMDAT ??0_Mas_TDType@@QAE@XZ
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
??0_Mas_TDType@@QAE@XZ PROC ; _Mas_TDType::_Mas_TDType, COMDAT
; _this$ = ecx
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??0_Mas_TDType@@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 ??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> > >
00033 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
0003a c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
00041 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
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
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??0_Mas_TDType@@QAE@XZ$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[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$??0_Mas_TDType@@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_Mas_TDType@@QAE@XZ
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??0_Mas_TDType@@QAE@XZ ENDP ; _Mas_TDType::_Mas_TDType
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxwin.h
; COMDAT ?GetApplicationRecoveryPingInterval@CWinApp@@UAEKXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?GetApplicationRecoveryPingInterval@CWinApp@@UAEKXZ PROC ; CWinApp::GetApplicationRecoveryPingInterval, COMDAT
; _this$ = ecx
; 5370 : virtual DWORD GetApplicationRecoveryPingInterval() { return RECOVERY_DEFAULT_PING_INTERVAL; } // Ping interval for RegisterApplicationRecoveryCallback
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 88 13 00 00 mov eax, 5000 ; 00001388H
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
?GetApplicationRecoveryPingInterval@CWinApp@@UAEKXZ ENDP ; CWinApp::GetApplicationRecoveryPingInterval
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxwin.h
; COMDAT ?GetApplicationRecoveryParameter@CWinApp@@UAEPAXXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?GetApplicationRecoveryParameter@CWinApp@@UAEPAXXZ PROC ; CWinApp::GetApplicationRecoveryParameter, COMDAT
; _this$ = ecx
; 5369 : virtual LPVOID GetApplicationRecoveryParameter() { return NULL; } // Parameter to be passed along to RegisterApplicationRecoveryCallback
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 33 c0 xor eax, eax
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
?GetApplicationRecoveryParameter@CWinApp@@UAEPAXXZ ENDP ; CWinApp::GetApplicationRecoveryParameter
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxwin.h
; COMDAT ?GetApplicationRestartFlags@CWinApp@@UAEKXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?GetApplicationRestartFlags@CWinApp@@UAEKXZ PROC ; CWinApp::GetApplicationRestartFlags, COMDAT
; _this$ = ecx
; 5368 : virtual DWORD GetApplicationRestartFlags() { return 0; } // Flags for RegisterApplicationRestart: default is none of RESTART_NO_CRASH/RESTART_NO_HANG/RESTART_NO_PATCH/RESTART_NO_REBOOT
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 33 c0 xor eax, eax
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
?GetApplicationRestartFlags@CWinApp@@UAEKXZ ENDP ; CWinApp::GetApplicationRestartFlags
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxwin.h
; COMDAT ?RestoreAutosavedFilesAtRestart@CWinApp@@UBEHXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?RestoreAutosavedFilesAtRestart@CWinApp@@UBEHXZ PROC ; CWinApp::RestoreAutosavedFilesAtRestart, COMDAT
; _this$ = ecx
; 5366 : virtual BOOL RestoreAutosavedFilesAtRestart() const { return m_dwRestartManagerSupportFlags & AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES; }
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 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 8b 80 ac 00 00
00 mov eax, DWORD PTR [eax+172]
00015 83 e0 20 and eax, 32 ; 00000020H
00018 5f pop edi
00019 5e pop esi
0001a 5b pop ebx
0001b 8b e5 mov esp, ebp
0001d 5d pop ebp
0001e c3 ret 0
?RestoreAutosavedFilesAtRestart@CWinApp@@UBEHXZ ENDP ; CWinApp::RestoreAutosavedFilesAtRestart
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxwin.h
; COMDAT ?ReopenPreviousFilesAtRestart@CWinApp@@UBEHXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?ReopenPreviousFilesAtRestart@CWinApp@@UBEHXZ PROC ; CWinApp::ReopenPreviousFilesAtRestart, COMDAT
; _this$ = ecx
; 5365 : virtual BOOL ReopenPreviousFilesAtRestart() const { return m_dwRestartManagerSupportFlags & AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES; }
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 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 8b 80 ac 00 00
00 mov eax, DWORD PTR [eax+172]
00015 83 e0 10 and eax, 16 ; 00000010H
00018 5f pop edi
00019 5e pop esi
0001a 5b pop ebx
0001b 8b e5 mov esp, ebp
0001d 5d pop ebp
0001e c3 ret 0
?ReopenPreviousFilesAtRestart@CWinApp@@UBEHXZ ENDP ; CWinApp::ReopenPreviousFilesAtRestart
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxwin.h
; COMDAT ?SupportsAutosaveAtInterval@CWinApp@@UBEHXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?SupportsAutosaveAtInterval@CWinApp@@UBEHXZ PROC ; CWinApp::SupportsAutosaveAtInterval, COMDAT
; _this$ = ecx
; 5364 : virtual BOOL SupportsAutosaveAtInterval() const { return m_dwRestartManagerSupportFlags & AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL; }
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 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 8b 80 ac 00 00
00 mov eax, DWORD PTR [eax+172]
00015 83 e0 08 and eax, 8
00018 5f pop edi
00019 5e pop esi
0001a 5b pop ebx
0001b 8b e5 mov esp, ebp
0001d 5d pop ebp
0001e c3 ret 0
?SupportsAutosaveAtInterval@CWinApp@@UBEHXZ ENDP ; CWinApp::SupportsAutosaveAtInterval
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxwin.h
; COMDAT ?SupportsAutosaveAtRestart@CWinApp@@UBEHXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?SupportsAutosaveAtRestart@CWinApp@@UBEHXZ PROC ; CWinApp::SupportsAutosaveAtRestart, COMDAT
; _this$ = ecx
; 5363 : virtual BOOL SupportsAutosaveAtRestart() const { return m_dwRestartManagerSupportFlags & AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART; }
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 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 8b 80 ac 00 00
00 mov eax, DWORD PTR [eax+172]
00015 83 e0 04 and eax, 4
00018 5f pop edi
00019 5e pop esi
0001a 5b pop ebx
0001b 8b e5 mov esp, ebp
0001d 5d pop ebp
0001e c3 ret 0
?SupportsAutosaveAtRestart@CWinApp@@UBEHXZ ENDP ; CWinApp::SupportsAutosaveAtRestart
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxwin.h
; COMDAT ?SupportsApplicationRecovery@CWinApp@@UBEHXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?SupportsApplicationRecovery@CWinApp@@UBEHXZ PROC ; CWinApp::SupportsApplicationRecovery, COMDAT
; _this$ = ecx
; 5362 : virtual BOOL SupportsApplicationRecovery() const { return m_dwRestartManagerSupportFlags & AFX_RESTART_MANAGER_SUPPORT_RECOVERY; }
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 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 8b 80 ac 00 00
00 mov eax, DWORD PTR [eax+172]
00015 83 e0 02 and eax, 2
00018 5f pop edi
00019 5e pop esi
0001a 5b pop ebx
0001b 8b e5 mov esp, ebp
0001d 5d pop ebp
0001e c3 ret 0
?SupportsApplicationRecovery@CWinApp@@UBEHXZ ENDP ; CWinApp::SupportsApplicationRecovery
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxwin.h
; COMDAT ?SupportsRestartManager@CWinApp@@UBEHXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?SupportsRestartManager@CWinApp@@UBEHXZ PROC ; CWinApp::SupportsRestartManager, COMDAT
; _this$ = ecx
; 5361 : virtual BOOL SupportsRestartManager() const { return m_dwRestartManagerSupportFlags & AFX_RESTART_MANAGER_SUPPORT_RESTART; }
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 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 8b 80 ac 00 00
00 mov eax, DWORD PTR [eax+172]
00015 83 e0 01 and eax, 1
00018 5f pop edi
00019 5e pop esi
0001a 5b pop ebx
0001b 8b e5 mov esp, ebp
0001d 5d pop ebp
0001e c3 ret 0
?SupportsRestartManager@CWinApp@@UBEHXZ ENDP ; CWinApp::SupportsRestartManager
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxwin2.inl
; COMDAT ?Enable3dControlsStatic@CWinApp@@IAEHXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?Enable3dControlsStatic@CWinApp@@IAEHXZ PROC ; CWinApp::Enable3dControlsStatic, COMDAT
; _this$ = ecx
; 1078 : { return TRUE; }
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 01 00 00 00 mov eax, 1
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
?Enable3dControlsStatic@CWinApp@@IAEHXZ ENDP ; CWinApp::Enable3dControlsStatic
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxplex_.h
; COMDAT ?data@CPlex@@QAEPAXXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?data@CPlex@@QAEPAXXZ PROC ; CPlex::data, COMDAT
; _this$ = ecx
; 35 : void* data() { return this+1; }
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 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 83 c0 08 add eax, 8
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@CPlex@@QAEPAXXZ ENDP ; CPlex::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\afx.inl
; COMDAT ?EnsureRead@CArchive@@QAEXPAXI@Z
_TEXT SEGMENT
_nRead$ = -8 ; size = 4
_this$ = -4 ; size = 4
_lpBuf$ = 8 ; size = 4
_nCount$ = 12 ; size = 4
?EnsureRead@CArchive@@QAEXPAXI@Z PROC ; CArchive::EnsureRead, COMDAT
; _this$ = ecx
; 398 : {
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
; 399 : UINT nRead=Read(lpBuf, nCount);
0000c 8b 45 0c mov eax, DWORD PTR _nCount$[ebp]
0000f 50 push eax
00010 8b 4d 08 mov ecx, DWORD PTR _lpBuf$[ebp]
00013 51 push ecx
00014 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00017 e8 00 00 00 00 call ?Read@CArchive@@QAEIPAXI@Z ; CArchive::Read
0001c 89 45 f8 mov DWORD PTR _nRead$[ebp], eax
; 400 : if(nRead!=nCount)
0001f 8b 45 f8 mov eax, DWORD PTR _nRead$[ebp]
00022 3b 45 0c cmp eax, DWORD PTR _nCount$[ebp]
00025 74 09 je SHORT $LN3@EnsureRead
; 401 : {
; 402 : AfxThrowArchiveException(CArchiveException::endOfFile);
00027 6a 00 push 0
00029 6a 03 push 3
0002b e8 00 00 00 00 call ?AfxThrowArchiveException@@YGXHPB_W@Z ; AfxThrowArchiveException
$LN3@EnsureRead:
; 403 : }
; 404 : }
00030 5f pop edi
00031 5e pop esi
00032 5b pop ebx
00033 8b e5 mov esp, ebp
00035 5d pop ebp
00036 c2 08 00 ret 8
?EnsureRead@CArchive@@QAEXPAXI@Z ENDP ; CArchive::EnsureRead
_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 ?IsStoring@CArchive@@QBEHXZ
_TEXT SEGMENT
tv67 = -72 ; size = 4
_this$ = -4 ; size = 4
?IsStoring@CArchive@@QBEHXZ PROC ; CArchive::IsStoring, COMDAT
; _this$ = ecx
; 212 : { return (m_nMode & CArchive::load) == 0; }
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
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 8b 48 18 mov ecx, DWORD PTR [eax+24]
00012 83 e1 01 and ecx, 1
00015 75 09 jne SHORT $LN3@IsStoring
00017 c7 45 b8 01 00
00 00 mov DWORD PTR tv67[ebp], 1
0001e eb 07 jmp SHORT $LN4@IsStoring
$LN3@IsStoring:
00020 c7 45 b8 00 00
00 00 mov DWORD PTR tv67[ebp], 0
$LN4@IsStoring:
00027 8b 45 b8 mov eax, DWORD PTR tv67[ebp]
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
?IsStoring@CArchive@@QBEHXZ ENDP ; CArchive::IsStoring
_TEXT ENDS
; 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\cstringt.h
; COMDAT ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_strSrc$ = 8 ; size = 4
??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=, COMDAT
; _this$ = ecx
; 1303 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 1304 : CThisSimpleString::operator=( strSrc );
0000c 8b 45 08 mov eax, DWORD PTR _strSrc$[ebp]
0000f 50 push eax
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00013 e8 00 00 00 00 call ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CSimpleStringT<wchar_t,0>::operator=
; 1305 :
; 1306 : return( *this );
00018 8b 45 fc mov eax, DWORD PTR _this$[ebp]
; 1307 : }
0001b 5f pop edi
0001c 5e pop esi
0001d 5b pop ebx
0001e 8b e5 mov esp, ebp
00020 5d pop ebp
00021 c2 04 00 ret 4
??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
; _this$ = ecx
; 1298 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 44 sub esp, 68 ; 00000044H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
0002b c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
; 1299 : }
00032 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
00039 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0003c e8 00 00 00 00 call ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
00041 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00044 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0004b 59 pop ecx
0004c 5f pop edi
0004d 5e pop esi
0004e 5b pop ebx
0004f 8b e5 mov esp, ebp
00051 5d pop ebp
00052 c3 ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
00008 cc int 3
00009 cc int 3
0000a cc int 3
0000b cc int 3
0000c cc int 3
__ehhandler$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ:
0000d 90 npad 1
0000e 90 npad 1
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
00016 8b 4a ac mov ecx, DWORD PTR [edx-84]
00019 33 c8 xor ecx, eax
0001b e8 00 00 00 00 call @__security_check_cookie@4
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_strSrc$ = 8 ; size = 4
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
; _this$ = ecx
; 1032 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 44 sub esp, 68 ; 00000044H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
; 1031 : CThisSimpleString( strSrc )
0002b 8b 45 08 mov eax, DWORD PTR _strSrc$[ebp]
0002e 50 push eax
0002f 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00032 e8 00 00 00 00 call ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@ABV01@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
00037 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
; 1033 : }
0003e c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
00045 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00048 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0004b 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00052 59 pop ecx
00053 5f pop edi
00054 5e pop esi
00055 5b pop ebx
00056 8b e5 mov esp, ebp
00058 5d pop ebp
00059 c2 04 00 ret 4
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
00008 cc int 3
00009 cc int 3
0000a cc int 3
0000b cc int 3
0000c cc int 3
__ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z:
0000d 90 npad 1
0000e 90 npad 1
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
00016 8b 4a ac mov ecx, DWORD PTR [edx-84]
00019 33 c8 xor ecx, eax
0001b e8 00 00 00 00 call @__security_check_cookie@4
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
; _this$ = ecx
; 1011 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 44 sub esp, 68 ; 00000044H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
; 1010 : CThisSimpleString( StringTraits::GetDefaultManager() )
0002b e8 00 00 00 00 call ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager
00030 50 push eax
00031 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00034 e8 00 00 00 00 call ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
00039 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
; 1012 : }
00040 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
00047 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
0004a 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0004d 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00054 59 pop ecx
00055 5f pop edi
00056 5e pop esi
00057 5b pop ebx
00058 8b e5 mov esp, ebp
0005a 5d pop ebp
0005b c3 ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
00008 cc int 3
00009 cc int 3
0000a cc int 3
0000b cc int 3
0000c cc int 3
__ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ:
0000d 90 npad 1
0000e 90 npad 1
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
00016 8b 4a ac mov ecx, DWORD PTR [edx-84]
00019 33 c8 xor ecx, eax
0001b e8 00 00 00 00 call @__security_check_cookie@4
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z
_TEXT SEGMENT
tv139 = -88 ; size = 4
tv141 = -84 ; size = 4
tv143 = -80 ; size = 4
tv145 = -76 ; size = 4
tv87 = -76 ; size = 4
_pNewStringMgr$ = -8 ; size = 4
_pNewData$ = -4 ; size = 4
_pData$ = 8 ; size = 4
?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::CloneData, COMDAT
; 879 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 58 sub esp, 88 ; 00000058H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 880 : CStringData* pNewData = NULL;
00009 c7 45 fc 00 00
00 00 mov DWORD PTR _pNewData$[ebp], 0
; 881 :
; 882 : IAtlStringMgr* pNewStringMgr = pData->pStringMgr->Clone();
00010 8b 45 08 mov eax, DWORD PTR _pData$[ebp]
00013 8b 08 mov ecx, DWORD PTR [eax]
00015 8b 55 08 mov edx, DWORD PTR _pData$[ebp]
00018 8b 01 mov eax, DWORD PTR [ecx]
0001a 8b 0a mov ecx, DWORD PTR [edx]
0001c 8b 50 10 mov edx, DWORD PTR [eax+16]
0001f ff d2 call edx
00021 89 45 f8 mov DWORD PTR _pNewStringMgr$[ebp], eax
; 883 : if( !pData->IsLocked() && (pNewStringMgr == pData->pStringMgr) )
00024 8b 4d 08 mov ecx, DWORD PTR _pData$[ebp]
00027 e8 00 00 00 00 call ?IsLocked@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsLocked
0002c 0f b6 c0 movzx eax, al
0002f 85 c0 test eax, eax
00031 75 1a jne SHORT $LN2@CloneData
00033 8b 45 08 mov eax, DWORD PTR _pData$[ebp]
00036 8b 4d f8 mov ecx, DWORD PTR _pNewStringMgr$[ebp]
00039 3b 08 cmp ecx, DWORD PTR [eax]
0003b 75 10 jne SHORT $LN2@CloneData
; 884 : {
; 885 : pNewData = pData;
0003d 8b 45 08 mov eax, DWORD PTR _pData$[ebp]
00040 89 45 fc mov DWORD PTR _pNewData$[ebp], eax
; 886 : pNewData->AddRef();
00043 8b 4d fc mov ecx, DWORD PTR _pNewData$[ebp]
00046 e8 00 00 00 00 call ?AddRef@CStringData@ATL@@QAEXXZ ; ATL::CStringData::AddRef
; 887 : }
0004b eb 7b jmp SHORT $LN3@CloneData
$LN2@CloneData:
; 888 : else
; 889 : {
; 890 : pNewData = pNewStringMgr->Allocate( pData->nDataLength, sizeof( XCHAR ) );
0004d 8b 45 f8 mov eax, DWORD PTR _pNewStringMgr$[ebp]
00050 8b 08 mov ecx, DWORD PTR [eax]
00052 8b 11 mov edx, DWORD PTR [ecx]
00054 89 55 b4 mov DWORD PTR tv87[ebp], edx
00057 6a 02 push 2
00059 8b 45 08 mov eax, DWORD PTR _pData$[ebp]
0005c 8b 48 04 mov ecx, DWORD PTR [eax+4]
0005f 51 push ecx
00060 8b 4d f8 mov ecx, DWORD PTR _pNewStringMgr$[ebp]
00063 ff 55 b4 call DWORD PTR tv87[ebp]
00066 89 45 fc mov DWORD PTR _pNewData$[ebp], eax
; 891 : if( pNewData == NULL )
00069 83 7d fc 00 cmp DWORD PTR _pNewData$[ebp], 0
0006d 75 05 jne SHORT $LN4@CloneData
; 892 : {
; 893 : ThrowMemoryException();
0006f e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
$LN4@CloneData:
; 894 : }
; 895 : pNewData->nDataLength = pData->nDataLength;
00074 8b 45 fc mov eax, DWORD PTR _pNewData$[ebp]
00077 8b 4d 08 mov ecx, DWORD PTR _pData$[ebp]
0007a 8b 51 04 mov edx, DWORD PTR [ecx+4]
0007d 89 50 04 mov DWORD PTR [eax+4], edx
; 896 : memcpy_s( PXSTR( pNewData->data() ), (pNewData->nDataLength+1) * sizeof( XCHAR ),
00080 8b 45 08 mov eax, DWORD PTR _pData$[ebp]
00083 8b 48 04 mov ecx, DWORD PTR [eax+4]
00086 8d 54 09 02 lea edx, DWORD PTR [ecx+ecx+2]
0008a 89 55 b4 mov DWORD PTR tv145[ebp], edx
0008d 8b 4d 08 mov ecx, DWORD PTR _pData$[ebp]
00090 e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
00095 89 45 b0 mov DWORD PTR tv143[ebp], eax
00098 8b 45 fc mov eax, DWORD PTR _pNewData$[ebp]
0009b 8b 48 04 mov ecx, DWORD PTR [eax+4]
0009e 8d 54 09 02 lea edx, DWORD PTR [ecx+ecx+2]
000a2 89 55 ac mov DWORD PTR tv141[ebp], edx
000a5 8b 4d fc mov ecx, DWORD PTR _pNewData$[ebp]
000a8 e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
000ad 89 45 a8 mov DWORD PTR tv139[ebp], eax
000b0 8b 45 b4 mov eax, DWORD PTR tv145[ebp]
000b3 50 push eax
000b4 8b 4d b0 mov ecx, DWORD PTR tv143[ebp]
000b7 51 push ecx
000b8 8b 55 ac mov edx, DWORD PTR tv141[ebp]
000bb 52 push edx
000bc 8b 45 a8 mov eax, DWORD PTR tv139[ebp]
000bf 50 push eax
000c0 e8 00 00 00 00 call _memcpy_s
000c5 83 c4 10 add esp, 16 ; 00000010H
$LN3@CloneData:
; 897 : PCXSTR( pData->data() ), (pData->nDataLength+1) * sizeof( XCHAR )); // Copy '\0'
; 898 : }
; 899 :
; 900 : return( pNewData );
000c8 8b 45 fc mov eax, DWORD PTR _pNewData$[ebp]
$LN5@CloneData:
; 901 : }
000cb 5f pop edi
000cc 5e pop esi
000cd 5b pop ebx
000ce 8b e5 mov esp, ebp
000d0 5d pop ebp
000d1 c3 ret 0
?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::CloneData
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_nLength$ = 8 ; size = 4
?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::SetLength, COMDAT
; _this$ = ecx
; 867 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 868 : ATLASSERT( nLength >= 0 );
; 869 : ATLASSERT( nLength <= GetData()->nAllocLength );
; 870 :
; 871 : if( nLength < 0 || nLength > GetData()->nAllocLength)
0000c 83 7d 08 00 cmp DWORD PTR _nLength$[ebp], 0
00010 7c 10 jl SHORT $LN3@SetLength
00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00015 e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
0001a 8b 4d 08 mov ecx, DWORD PTR _nLength$[ebp]
0001d 3b 48 08 cmp ecx, DWORD PTR [eax+8]
00020 7e 0a jle SHORT $LN2@SetLength
$LN3@SetLength:
; 872 : AtlThrow(E_INVALIDARG);
00022 68 57 00 07 80 push -2147024809 ; 80070057H
00027 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN2@SetLength:
; 873 :
; 874 : GetData()->nDataLength = nLength;
0002c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0002f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00034 8b 4d 08 mov ecx, DWORD PTR _nLength$[ebp]
00037 89 48 04 mov DWORD PTR [eax+4], ecx
; 875 : m_pszData[nLength] = 0;
0003a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0003d 8b 08 mov ecx, DWORD PTR [eax]
0003f 33 d2 xor edx, edx
00041 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
00044 66 89 14 41 mov WORD PTR [ecx+eax*2], dx
$LN4@SetLength:
; 876 : }
00048 5f pop edi
00049 5e pop esi
0004a 5b pop ebx
0004b 8b e5 mov esp, ebp
0004d 5d pop ebp
0004e c2 04 00 ret 4
?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::SetLength
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
_TEXT SEGMENT
tv78 = -84 ; size = 4
_pNewData$ = -16 ; size = 4
_pStringMgr$ = -12 ; size = 4
_pOldData$ = -8 ; size = 4
_this$ = -4 ; size = 4
_nLength$ = 8 ; size = 4
?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::Reallocate, COMDAT
; _this$ = ecx
; 849 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 54 sub esp, 84 ; 00000054H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 850 : CStringData* pOldData = GetData();
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00014 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
; 851 : ATLASSERT( pOldData->nAllocLength < nLength );
; 852 : IAtlStringMgr* pStringMgr = pOldData->pStringMgr;
00017 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
0001a 8b 08 mov ecx, DWORD PTR [eax]
0001c 89 4d f4 mov DWORD PTR _pStringMgr$[ebp], ecx
; 853 : if ( pOldData->nAllocLength >= nLength || nLength <= 0)
0001f 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
00022 8b 48 08 mov ecx, DWORD PTR [eax+8]
00025 3b 4d 08 cmp ecx, DWORD PTR _nLength$[ebp]
00028 7d 06 jge SHORT $LN3@Reallocate
0002a 83 7d 08 00 cmp DWORD PTR _nLength$[ebp], 0
0002e 7f 07 jg SHORT $LN2@Reallocate
$LN3@Reallocate:
; 854 : {
; 855 : ThrowMemoryException();
00030 e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
; 856 : return;
00035 eb 35 jmp SHORT $LN5@Reallocate
$LN2@Reallocate:
; 857 : }
; 858 : CStringData* pNewData = pStringMgr->Reallocate( pOldData, nLength, sizeof( XCHAR ) );
00037 8b 45 f4 mov eax, DWORD PTR _pStringMgr$[ebp]
0003a 8b 08 mov ecx, DWORD PTR [eax]
0003c 8b 51 08 mov edx, DWORD PTR [ecx+8]
0003f 89 55 ac mov DWORD PTR tv78[ebp], edx
00042 6a 02 push 2
00044 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
00047 50 push eax
00048 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp]
0004b 51 push ecx
0004c 8b 4d f4 mov ecx, DWORD PTR _pStringMgr$[ebp]
0004f ff 55 ac call DWORD PTR tv78[ebp]
00052 89 45 f0 mov DWORD PTR _pNewData$[ebp], eax
; 859 : if( pNewData == NULL )
00055 83 7d f0 00 cmp DWORD PTR _pNewData$[ebp], 0
00059 75 05 jne SHORT $LN4@Reallocate
; 860 : {
; 861 : ThrowMemoryException();
0005b e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
$LN4@Reallocate:
; 862 : }
; 863 : Attach( pNewData );
00060 8b 45 f0 mov eax, DWORD PTR _pNewData$[ebp]
00063 50 push eax
00064 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00067 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
$LN5@Reallocate:
; 864 : }
0006c 5f pop edi
0006d 5e pop esi
0006e 5b pop ebx
0006f 8b e5 mov esp, ebp
00071 5d pop ebp
00072 c2 04 00 ret 4
?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::Reallocate
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
_TEXT SEGMENT
_nNewLength$1 = -12 ; size = 4
_pOldData$ = -8 ; size = 4
_this$ = -4 ; size = 4
_nLength$ = 8 ; size = 4
?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2, COMDAT
; _this$ = ecx
; 818 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 4c sub esp, 76 ; 0000004cH
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 819 : CStringData* pOldData = GetData();
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00014 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
; 820 : if( pOldData->nDataLength > nLength )
00017 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
0001a 8b 48 04 mov ecx, DWORD PTR [eax+4]
0001d 3b 4d 08 cmp ecx, DWORD PTR _nLength$[ebp]
00020 7e 09 jle SHORT $LN2@PrepareWri
; 821 : {
; 822 : nLength = pOldData->nDataLength;
00022 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
00025 8b 48 04 mov ecx, DWORD PTR [eax+4]
00028 89 4d 08 mov DWORD PTR _nLength$[ebp], ecx
$LN2@PrepareWri:
; 823 : }
; 824 : if( pOldData->IsShared() )
0002b 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp]
0002e e8 00 00 00 00 call ?IsShared@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsShared
00033 0f b6 c0 movzx eax, al
00036 85 c0 test eax, eax
00038 74 0e je SHORT $LN3@PrepareWri
; 825 : {
; 826 : Fork( nLength );
0003a 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
0003d 50 push eax
0003e 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00041 e8 00 00 00 00 call ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Fork
; 827 : }
00046 eb 52 jmp SHORT $LN1@PrepareWri
$LN3@PrepareWri:
; 828 : else if( pOldData->nAllocLength < nLength )
00048 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
0004b 8b 48 08 mov ecx, DWORD PTR [eax+8]
0004e 3b 4d 08 cmp ecx, DWORD PTR _nLength$[ebp]
00051 7d 47 jge SHORT $LN1@PrepareWri
; 829 : {
; 830 : // Grow exponentially, until we hit 1G, then by 1M thereafter.
; 831 : int nNewLength = pOldData->nAllocLength;
00053 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
00056 8b 48 08 mov ecx, DWORD PTR [eax+8]
00059 89 4d f4 mov DWORD PTR _nNewLength$1[ebp], ecx
; 832 : if( nNewLength > 1024 * 1024 * 1024 )
0005c 81 7d f4 00 00
00 40 cmp DWORD PTR _nNewLength$1[ebp], 1073741824 ; 40000000H
00063 7e 0d jle SHORT $LN6@PrepareWri
; 833 : {
; 834 : nNewLength += 1024 * 1024;
00065 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
00068 05 00 00 10 00 add eax, 1048576 ; 00100000H
0006d 89 45 f4 mov DWORD PTR _nNewLength$1[ebp], eax
; 835 : }
00070 eb 0e jmp SHORT $LN7@PrepareWri
$LN6@PrepareWri:
; 836 : else
; 837 : {
; 838 : // Exponential growth factor is 1.5.
; 839 : nNewLength = nNewLength + nNewLength / 2;
00072 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
00075 99 cdq
00076 2b c2 sub eax, edx
00078 d1 f8 sar eax, 1
0007a 03 45 f4 add eax, DWORD PTR _nNewLength$1[ebp]
0007d 89 45 f4 mov DWORD PTR _nNewLength$1[ebp], eax
$LN7@PrepareWri:
; 840 : }
; 841 : if( nNewLength < nLength )
00080 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
00083 3b 45 08 cmp eax, DWORD PTR _nLength$[ebp]
00086 7d 06 jge SHORT $LN8@PrepareWri
; 842 : {
; 843 : nNewLength = nLength;
00088 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
0008b 89 45 f4 mov DWORD PTR _nNewLength$1[ebp], eax
$LN8@PrepareWri:
; 844 : }
; 845 : Reallocate( nNewLength );
0008e 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
00091 50 push eax
00092 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00095 e8 00 00 00 00 call ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Reallocate
$LN1@PrepareWri:
; 846 : }
; 847 : }
0009a 5f pop edi
0009b 5e pop esi
0009c 5b pop ebx
0009d 8b e5 mov esp, ebp
0009f 5d pop ebp
000a0 c2 04 00 ret 4
?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z
_TEXT SEGMENT
_nTooShort$ = -16 ; size = 4
_nShared$ = -12 ; size = 4
_pOldData$ = -8 ; size = 4
_this$ = -4 ; size = 4
_nLength$ = 8 ; size = 4
?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite, COMDAT
; _this$ = ecx
; 803 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 50 sub esp, 80 ; 00000050H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 804 : if (nLength < 0)
0000c 83 7d 08 00 cmp DWORD PTR _nLength$[ebp], 0
00010 7d 0a jge SHORT $LN2@PrepareWri
; 805 : AtlThrow(E_INVALIDARG);
00012 68 57 00 07 80 push -2147024809 ; 80070057H
00017 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN2@PrepareWri:
; 806 :
; 807 : CStringData* pOldData = GetData();
0001c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0001f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00024 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
; 808 : int nShared = 1-pOldData->nRefs; // nShared < 0 means true, >= 0 means false
00027 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
0002a b9 01 00 00 00 mov ecx, 1
0002f 2b 48 0c sub ecx, DWORD PTR [eax+12]
00032 89 4d f4 mov DWORD PTR _nShared$[ebp], ecx
; 809 : int nTooShort = pOldData->nAllocLength-nLength; // nTooShort < 0 means true, >= 0 means false
00035 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
00038 8b 48 08 mov ecx, DWORD PTR [eax+8]
0003b 2b 4d 08 sub ecx, DWORD PTR _nLength$[ebp]
0003e 89 4d f0 mov DWORD PTR _nTooShort$[ebp], ecx
; 810 : if( (nShared|nTooShort) < 0 ) // If either sign bit is set (i.e. either is less than zero), we need to copy data
00041 8b 45 f4 mov eax, DWORD PTR _nShared$[ebp]
00044 0b 45 f0 or eax, DWORD PTR _nTooShort$[ebp]
00047 7d 0c jge SHORT $LN3@PrepareWri
; 811 : {
; 812 : PrepareWrite2( nLength );
00049 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
0004c 50 push eax
0004d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00050 e8 00 00 00 00 call ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2
$LN3@PrepareWri:
; 813 : }
; 814 :
; 815 : return( m_pszData );
00055 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00058 8b 00 mov eax, DWORD PTR [eax]
$LN4@PrepareWri:
; 816 : }
0005a 5f pop edi
0005b 5e pop esi
0005c 5b pop ebx
0005d 8b e5 mov esp, ebp
0005f 5d pop ebp
00060 c2 04 00 ret 4
?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ PROC ; ATL::CSimpleStringT<wchar_t,0>::GetData, COMDAT
; _this$ = ecx
; 799 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 800 : return( reinterpret_cast< CStringData* >( m_pszData )-1 );
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 8b 00 mov eax, DWORD PTR [eax]
00011 83 e8 10 sub eax, 16 ; 00000010H
; 801 : }
00014 5f pop edi
00015 5e pop esi
00016 5b pop ebx
00017 8b e5 mov esp, ebp
00019 5d pop ebp
0001a c3 ret 0
?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetData
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
_TEXT SEGMENT
tv132 = -92 ; size = 4
tv83 = -92 ; size = 4
tv134 = -88 ; size = 4
tv86 = -88 ; size = 4
tv76 = -88 ; size = 4
_nCharsToCopy$ = -20 ; size = 4
_pNewData$ = -16 ; size = 4
_nOldLength$ = -12 ; size = 4
_pOldData$ = -8 ; size = 4
_this$ = -4 ; size = 4
_nLength$ = 8 ; size = 4
?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::Fork, COMDAT
; _this$ = ecx
; 783 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 5c sub esp, 92 ; 0000005cH
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 784 : CStringData* pOldData = GetData();
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00014 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
; 785 : int nOldLength = pOldData->nDataLength;
00017 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
0001a 8b 48 04 mov ecx, DWORD PTR [eax+4]
0001d 89 4d f4 mov DWORD PTR _nOldLength$[ebp], ecx
; 786 : CStringData* pNewData = pOldData->pStringMgr->Clone()->Allocate( nLength, sizeof( XCHAR ) );
00020 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
00023 8b 08 mov ecx, DWORD PTR [eax]
00025 8b 55 f8 mov edx, DWORD PTR _pOldData$[ebp]
00028 8b 01 mov eax, DWORD PTR [ecx]
0002a 8b 0a mov ecx, DWORD PTR [edx]
0002c 8b 50 10 mov edx, DWORD PTR [eax+16]
0002f ff d2 call edx
00031 89 45 a8 mov DWORD PTR tv76[ebp], eax
00034 8b 45 a8 mov eax, DWORD PTR tv76[ebp]
00037 8b 08 mov ecx, DWORD PTR [eax]
00039 8b 11 mov edx, DWORD PTR [ecx]
0003b 89 55 a4 mov DWORD PTR tv83[ebp], edx
0003e 6a 02 push 2
00040 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
00043 50 push eax
00044 8b 4d a8 mov ecx, DWORD PTR tv76[ebp]
00047 ff 55 a4 call DWORD PTR tv83[ebp]
0004a 89 45 f0 mov DWORD PTR _pNewData$[ebp], eax
; 787 : if( pNewData == NULL )
0004d 83 7d f0 00 cmp DWORD PTR _pNewData$[ebp], 0
00051 75 05 jne SHORT $LN2@Fork
; 788 : {
; 789 : ThrowMemoryException();
00053 e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
$LN2@Fork:
; 790 : }
; 791 : int nCharsToCopy = ((nOldLength < nLength) ? nOldLength : nLength)+1; // Copy '\0'
00058 8b 45 f4 mov eax, DWORD PTR _nOldLength$[ebp]
0005b 3b 45 08 cmp eax, DWORD PTR _nLength$[ebp]
0005e 7d 08 jge SHORT $LN4@Fork
00060 8b 4d f4 mov ecx, DWORD PTR _nOldLength$[ebp]
00063 89 4d a8 mov DWORD PTR tv86[ebp], ecx
00066 eb 06 jmp SHORT $LN5@Fork
$LN4@Fork:
00068 8b 55 08 mov edx, DWORD PTR _nLength$[ebp]
0006b 89 55 a8 mov DWORD PTR tv86[ebp], edx
$LN5@Fork:
0006e 8b 45 a8 mov eax, DWORD PTR tv86[ebp]
00071 83 c0 01 add eax, 1
00074 89 45 ec mov DWORD PTR _nCharsToCopy$[ebp], eax
; 792 : memcpy_s( PXSTR( pNewData->data() ), nCharsToCopy * sizeof( XCHAR ),
00077 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp]
0007a e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
0007f 89 45 a8 mov DWORD PTR tv134[ebp], eax
00082 8b 4d f0 mov ecx, DWORD PTR _pNewData$[ebp]
00085 e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
0008a 89 45 a4 mov DWORD PTR tv132[ebp], eax
0008d 8b 45 ec mov eax, DWORD PTR _nCharsToCopy$[ebp]
00090 d1 e0 shl eax, 1
00092 50 push eax
00093 8b 4d a8 mov ecx, DWORD PTR tv134[ebp]
00096 51 push ecx
00097 8b 55 ec mov edx, DWORD PTR _nCharsToCopy$[ebp]
0009a d1 e2 shl edx, 1
0009c 52 push edx
0009d 8b 45 a4 mov eax, DWORD PTR tv132[ebp]
000a0 50 push eax
000a1 e8 00 00 00 00 call _memcpy_s
000a6 83 c4 10 add esp, 16 ; 00000010H
; 793 : PCXSTR( pOldData->data() ), nCharsToCopy * sizeof( XCHAR ));
; 794 : pNewData->nDataLength = nOldLength;
000a9 8b 45 f0 mov eax, DWORD PTR _pNewData$[ebp]
000ac 8b 4d f4 mov ecx, DWORD PTR _nOldLength$[ebp]
000af 89 48 04 mov DWORD PTR [eax+4], ecx
; 795 : pOldData->Release();
000b2 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp]
000b5 e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release
; 796 : Attach( pNewData );
000ba 8b 45 f0 mov eax, DWORD PTR _pNewData$[ebp]
000bd 50 push eax
000be 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
000c1 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
$LN3@Fork:
; 797 : }
000c6 5f pop edi
000c7 5e pop esi
000c8 5b pop ebx
000c9 8b e5 mov esp, ebp
000cb 5d pop ebp
000cc c2 04 00 ret 4
?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::Fork
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_pData$ = 8 ; size = 4
?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::Attach, COMDAT
; _this$ = ecx
; 779 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 780 : m_pszData = static_cast< PXSTR >( pData->data() );
0000c 8b 4d 08 mov ecx, DWORD PTR _pData$[ebp]
0000f e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
00014 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00017 89 01 mov DWORD PTR [ecx], eax
; 781 : }
00019 5f pop edi
0001a 5e pop esi
0001b 5b pop ebx
0001c 8b e5 mov esp, ebp
0001e 5d pop ebp
0001f c2 04 00 ret 4
?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::Attach
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ
_TEXT SEGMENT
?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException, COMDAT
; 772 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 773 : AtlThrow( E_OUTOFMEMORY );
00009 68 0e 00 07 80 push -2147024882 ; 8007000eH
0000e e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN2@ThrowMemor:
; 774 : }
00013 5f pop edi
00014 5e pop esi
00015 5b pop ebx
00016 8b e5 mov esp, ebp
00018 5d pop ebp
00019 c3 ret 0
?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?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 ?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 ?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 ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@ABV01@@Z
_TEXT SEGMENT
tv84 = -88 ; size = 4
tv86 = -84 ; size = 4
_pNewData$1 = -16 ; size = 4
_pOldData$ = -12 ; size = 4
_pSrcData$ = -8 ; size = 4
_this$ = -4 ; size = 4
_strSrc$ = 8 ; size = 4
??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@ABV01@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::operator=, COMDAT
; _this$ = ecx
; 271 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 58 sub esp, 88 ; 00000058H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 272 : CStringData* pSrcData = strSrc.GetData();
0000c 8b 4d 08 mov ecx, DWORD PTR _strSrc$[ebp]
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00014 89 45 f8 mov DWORD PTR _pSrcData$[ebp], eax
; 273 : CStringData* pOldData = GetData();
00017 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0001a e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
0001f 89 45 f4 mov DWORD PTR _pOldData$[ebp], eax
; 274 : if( pSrcData != pOldData)
00022 8b 45 f8 mov eax, DWORD PTR _pSrcData$[ebp]
00025 3b 45 f4 cmp eax, DWORD PTR _pOldData$[ebp]
00028 74 66 je SHORT $LN2@operator
; 275 : {
; 276 : if( pOldData->IsLocked() || pSrcData->pStringMgr != pOldData->pStringMgr )
0002a 8b 4d f4 mov ecx, DWORD PTR _pOldData$[ebp]
0002d e8 00 00 00 00 call ?IsLocked@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsLocked
00032 0f b6 c0 movzx eax, al
00035 85 c0 test eax, eax
00037 75 0c jne SHORT $LN5@operator
00039 8b 45 f8 mov eax, DWORD PTR _pSrcData$[ebp]
0003c 8b 4d f4 mov ecx, DWORD PTR _pOldData$[ebp]
0003f 8b 10 mov edx, DWORD PTR [eax]
00041 3b 11 cmp edx, DWORD PTR [ecx]
00043 74 28 je SHORT $LN3@operator
$LN5@operator:
; 277 : {
; 278 : SetString( strSrc.GetString(), strSrc.GetLength() );
00045 8b 4d 08 mov ecx, DWORD PTR _strSrc$[ebp]
00048 e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
0004d 89 45 ac mov DWORD PTR tv86[ebp], eax
00050 8b 4d 08 mov ecx, DWORD PTR _strSrc$[ebp]
00053 e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
00058 89 45 a8 mov DWORD PTR tv84[ebp], eax
0005b 8b 45 ac mov eax, DWORD PTR tv86[ebp]
0005e 50 push eax
0005f 8b 4d a8 mov ecx, DWORD PTR tv84[ebp]
00062 51 push ecx
00063 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00066 e8 00 00 00 00 call ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString
; 279 : }
0006b eb 23 jmp SHORT $LN2@operator
$LN3@operator:
; 280 : else
; 281 : {
; 282 : CStringData* pNewData = CloneData( pSrcData );
0006d 8b 45 f8 mov eax, DWORD PTR _pSrcData$[ebp]
00070 50 push eax
00071 e8 00 00 00 00 call ?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z ; ATL::CSimpleStringT<wchar_t,0>::CloneData
00076 83 c4 04 add esp, 4
00079 89 45 f0 mov DWORD PTR _pNewData$1[ebp], eax
; 283 : pOldData->Release();
0007c 8b 4d f4 mov ecx, DWORD PTR _pOldData$[ebp]
0007f e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release
; 284 : Attach( pNewData );
00084 8b 45 f0 mov eax, DWORD PTR _pNewData$1[ebp]
00087 50 push eax
00088 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0008b e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
$LN2@operator:
; 285 : }
; 286 : }
; 287 :
; 288 : return( *this );
00090 8b 45 fc mov eax, DWORD PTR _this$[ebp]
; 289 : }
00093 5f pop edi
00094 5e pop esi
00095 5b pop ebx
00096 8b e5 mov esp, ebp
00098 5d pop ebp
00099 c2 04 00 ret 4
??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@ABV01@@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::operator=
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ
_TEXT SEGMENT
_pData$ = -8 ; size = 4
_this$ = -4 ; size = 4
??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ PROC ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>, COMDAT
; _this$ = ecx
; 260 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 261 : CStringData* pData = GetData();
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00014 89 45 f8 mov DWORD PTR _pData$[ebp], eax
; 262 : pData->Release();
00017 8b 4d f8 mov ecx, DWORD PTR _pData$[ebp]
0001a e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release
; 263 : }
0001f 5f pop edi
00020 5e pop esi
00021 5b pop ebx
00022 8b e5 mov esp, ebp
00024 5d pop ebp
00025 c3 ret 0
??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@ABV01@@Z
_TEXT SEGMENT
_pNewData$ = -12 ; size = 4
_pSrcData$ = -8 ; size = 4
_this$ = -4 ; size = 4
_strSrc$ = 8 ; size = 4
??0?$CSimpleStringT@_W$0A@@ATL@@QAE@ABV01@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>, COMDAT
; _this$ = ecx
; 210 : CSimpleStringT(_In_ const CSimpleStringT& strSrc)
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 4c sub esp, 76 ; 0000004cH
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 211 : {
; 212 : CStringData* pSrcData = strSrc.GetData();
0000c 8b 4d 08 mov ecx, DWORD PTR _strSrc$[ebp]
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00014 89 45 f8 mov DWORD PTR _pSrcData$[ebp], eax
; 213 : CStringData* pNewData = CloneData( pSrcData );
00017 8b 45 f8 mov eax, DWORD PTR _pSrcData$[ebp]
0001a 50 push eax
0001b e8 00 00 00 00 call ?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z ; ATL::CSimpleStringT<wchar_t,0>::CloneData
00020 83 c4 04 add esp, 4
00023 89 45 f4 mov DWORD PTR _pNewData$[ebp], eax
; 214 : Attach( pNewData );
00026 8b 45 f4 mov eax, DWORD PTR _pNewData$[ebp]
00029 50 push eax
0002a 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0002d e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
; 215 : }
00032 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00035 5f pop edi
00036 5e pop esi
00037 5b pop ebx
00038 8b e5 mov esp, ebp
0003a 5d pop ebp
0003b c2 04 00 ret 4
??0?$CSimpleStringT@_W$0A@@ATL@@QAE@ABV01@@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z
_TEXT SEGMENT
tv65 = -80 ; size = 4
_pData$ = -12 ; size = 4
___atl_condVal$1 = -8 ; size = 4
_this$ = -4 ; size = 4
_pStringMgr$ = 8 ; size = 4
??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>, COMDAT
; _this$ = ecx
; 203 : explicit CSimpleStringT(_Inout_ IAtlStringMgr* pStringMgr)
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 50 sub esp, 80 ; 00000050H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
$LN4@CSimpleStr:
; 204 : {
; 205 : ATLENSURE( pStringMgr != NULL );
0000c 83 7d 08 00 cmp DWORD PTR _pStringMgr$[ebp], 0
00010 74 09 je SHORT $LN10@CSimpleStr
00012 c7 45 b0 01 00
00 00 mov DWORD PTR tv65[ebp], 1
00019 eb 07 jmp SHORT $LN11@CSimpleStr
$LN10@CSimpleStr:
0001b c7 45 b0 00 00
00 00 mov DWORD PTR tv65[ebp], 0
$LN11@CSimpleStr:
00022 8b 45 b0 mov eax, DWORD PTR tv65[ebp]
00025 89 45 f8 mov DWORD PTR ___atl_condVal$1[ebp], eax
$LN5@CSimpleStr:
00028 33 c0 xor eax, eax
0002a 75 fc jne SHORT $LN5@CSimpleStr
0002c 83 7d f8 00 cmp DWORD PTR ___atl_condVal$1[ebp], 0
00030 75 0a jne SHORT $LN2@CSimpleStr
00032 68 05 40 00 80 push -2147467259 ; 80004005H
00037 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN2@CSimpleStr:
0003c 33 c0 xor eax, eax
0003e 75 cc jne SHORT $LN4@CSimpleStr
; 206 : CStringData* pData = pStringMgr->GetNilString();
00040 8b 45 08 mov eax, DWORD PTR _pStringMgr$[ebp]
00043 8b 10 mov edx, DWORD PTR [eax]
00045 8b 4d 08 mov ecx, DWORD PTR _pStringMgr$[ebp]
00048 8b 42 0c mov eax, DWORD PTR [edx+12]
0004b ff d0 call eax
0004d 89 45 f4 mov DWORD PTR _pData$[ebp], eax
; 207 : Attach( pData );
00050 8b 45 f4 mov eax, DWORD PTR _pData$[ebp]
00053 50 push eax
00054 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00057 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
; 208 : }
0005c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
$LN9@CSimpleStr:
0005f 5f pop edi
00060 5e pop esi
00061 5b pop ebx
00062 8b e5 mov esp, ebp
00064 5d pop ebp
00065 c2 04 00 ret 4
??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?Release@CStringData@ATL@@QAEXXZ
_TEXT SEGMENT
tv79 = -76 ; size = 4
tv77 = -72 ; size = 4
_this$ = -4 ; size = 4
?Release@CStringData@ATL@@QAEXXZ PROC ; ATL::CStringData::Release, COMDAT
; _this$ = ecx
; 85 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 4c sub esp, 76 ; 0000004cH
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 86 : ATLASSERT( nRefs != 0 );
; 87 :
; 88 : if( _InterlockedDecrement( &nRefs ) <= 0 )
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 83 c0 0c add eax, 12 ; 0000000cH
00012 83 c9 ff or ecx, -1
00015 f0 0f c1 08 lock xadd DWORD PTR [eax], ecx
00019 49 dec ecx
0001a 85 c9 test ecx, ecx
0001c 7f 1f jg SHORT $LN1@Release
; 89 : {
; 90 : pStringMgr->Free( this );
0001e 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00021 8b 08 mov ecx, DWORD PTR [eax]
00023 89 4d b8 mov DWORD PTR tv77[ebp], ecx
00026 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00029 8b 02 mov eax, DWORD PTR [edx]
0002b 8b 08 mov ecx, DWORD PTR [eax]
0002d 8b 51 04 mov edx, DWORD PTR [ecx+4]
00030 89 55 b4 mov DWORD PTR tv79[ebp], edx
00033 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00036 50 push eax
00037 8b 4d b8 mov ecx, DWORD PTR tv77[ebp]
0003a ff 55 b4 call DWORD PTR tv79[ebp]
$LN1@Release:
; 91 : }
; 92 : }
0003d 5f pop edi
0003e 5e pop esi
0003f 5b pop ebx
00040 8b e5 mov esp, ebp
00042 5d pop ebp
00043 c3 ret 0
?Release@CStringData@ATL@@QAEXXZ ENDP ; ATL::CStringData::Release
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?IsShared@CStringData@ATL@@QBE_NXZ
_TEXT SEGMENT
tv66 = -72 ; size = 4
_this$ = -4 ; size = 4
?IsShared@CStringData@ATL@@QBE_NXZ PROC ; ATL::CStringData::IsShared, COMDAT
; _this$ = ecx
; 72 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 73 : return( nRefs > 1 );
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 83 78 0c 01 cmp DWORD PTR [eax+12], 1
00013 7e 09 jle SHORT $LN3@IsShared
00015 c7 45 b8 01 00
00 00 mov DWORD PTR tv66[ebp], 1
0001c eb 07 jmp SHORT $LN4@IsShared
$LN3@IsShared:
0001e c7 45 b8 00 00
00 00 mov DWORD PTR tv66[ebp], 0
$LN4@IsShared:
00025 8a 45 b8 mov al, BYTE PTR tv66[ebp]
; 74 : }
00028 5f pop edi
00029 5e pop esi
0002a 5b pop ebx
0002b 8b e5 mov esp, ebp
0002d 5d pop ebp
0002e c3 ret 0
?IsShared@CStringData@ATL@@QBE_NXZ ENDP ; ATL::CStringData::IsShared
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?IsLocked@CStringData@ATL@@QBE_NXZ
_TEXT SEGMENT
tv66 = -72 ; size = 4
_this$ = -4 ; size = 4
?IsLocked@CStringData@ATL@@QBE_NXZ PROC ; ATL::CStringData::IsLocked, COMDAT
; _this$ = ecx
; 68 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 69 : return nRefs < 0;
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 83 78 0c 00 cmp DWORD PTR [eax+12], 0
00013 7d 09 jge SHORT $LN3@IsLocked
00015 c7 45 b8 01 00
00 00 mov DWORD PTR tv66[ebp], 1
0001c eb 07 jmp SHORT $LN4@IsLocked
$LN3@IsLocked:
0001e c7 45 b8 00 00
00 00 mov DWORD PTR tv66[ebp], 0
$LN4@IsLocked:
00025 8a 45 b8 mov al, BYTE PTR tv66[ebp]
; 70 : }
00028 5f pop edi
00029 5e pop esi
0002a 5b pop ebx
0002b 8b e5 mov esp, ebp
0002d 5d pop ebp
0002e c3 ret 0
?IsLocked@CStringData@ATL@@QBE_NXZ ENDP ; ATL::CStringData::IsLocked
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?AddRef@CStringData@ATL@@QAEXXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?AddRef@CStringData@ATL@@QAEXXZ PROC ; ATL::CStringData::AddRef, COMDAT
; _this$ = ecx
; 63 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 64 : ATLASSERT(nRefs > 0);
; 65 : _InterlockedIncrement(&nRefs);
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 83 c0 0c add eax, 12 ; 0000000cH
00012 f0 ff 00 lock inc DWORD PTR [eax]
; 66 : }
00015 5f pop edi
00016 5e pop esi
00017 5b pop ebx
00018 8b e5 mov esp, ebp
0001a 5d pop ebp
0001b c3 ret 0
?AddRef@CStringData@ATL@@QAEXXZ ENDP ; ATL::CStringData::AddRef
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?data@CStringData@ATL@@QAEPAXXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?data@CStringData@ATL@@QAEPAXXZ PROC ; ATL::CStringData::data, COMDAT
; _this$ = ecx
; 58 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 59 : return (this+1);
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 83 c0 10 add eax, 16 ; 00000010H
; 60 : }
00012 5f pop edi
00013 5e pop esi
00014 5b pop ebx
00015 8b e5 mov esp, ebp
00017 5d pop ebp
00018 c3 ret 0
?data@CStringData@ATL@@QAEPAXXZ ENDP ; ATL::CStringData::data
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlchecked.h
; COMDAT ?memcpy_s@Checked@ATL@@YAXPAXIPBXI@Z
_TEXT SEGMENT
__S1$ = 8 ; size = 4
__S1max$ = 12 ; size = 4
__S2$ = 16 ; size = 4
__N$ = 20 ; size = 4
?memcpy_s@Checked@ATL@@YAXPAXIPBXI@Z PROC ; ATL::Checked::memcpy_s, COMDAT
; 68 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 69 : ATLMFC_CRT_ERRORCHECK(::memcpy_s(_S1, _S1max, _S2, _N));
00009 8b 45 14 mov eax, DWORD PTR __N$[ebp]
0000c 50 push eax
0000d 8b 4d 10 mov ecx, DWORD PTR __S2$[ebp]
00010 51 push ecx
00011 8b 55 0c mov edx, DWORD PTR __S1max$[ebp]
00014 52 push edx
00015 8b 45 08 mov eax, DWORD PTR __S1$[ebp]
00018 50 push eax
00019 e8 00 00 00 00 call _memcpy_s
0001e 83 c4 10 add esp, 16 ; 00000010H
00021 50 push eax
00022 e8 00 00 00 00 call ?AfxCrtErrorCheck@@YAHH@Z ; AfxCrtErrorCheck
00027 83 c4 04 add esp, 4
; 70 : }
0002a 5f pop edi
0002b 5e pop esi
0002c 5b pop ebx
0002d 8b e5 mov esp, ebp
0002f 5d pop ebp
00030 c3 ret 0
?memcpy_s@Checked@ATL@@YAXPAXIPBXI@Z ENDP ; ATL::Checked::memcpy_s
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlexcept.h
; COMDAT ?AtlThrowImpl@ATL@@YGXJ@Z
_TEXT SEGMENT
_hr$ = 8 ; size = 4
?AtlThrowImpl@ATL@@YGXJ@Z PROC ; ATL::AtlThrowImpl, COMDAT
; 65 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 66 : ATLTRACE(atlTraceException, 0, _T("AtlThrow: hr = 0x%x\n"), hr );
; 67 : #ifdef _AFX
; 68 : if( hr == E_OUTOFMEMORY )
00009 81 7d 08 0e 00
07 80 cmp DWORD PTR _hr$[ebp], -2147024882 ; 8007000eH
00010 75 07 jne SHORT $LN2@AtlThrowIm
; 69 : {
; 70 : AfxThrowMemoryException();
00012 e8 00 00 00 00 call ?AfxThrowMemoryException@@YGXXZ ; AfxThrowMemoryException
; 71 : }
00017 eb 09 jmp SHORT $LN4@AtlThrowIm
$LN2@AtlThrowIm:
; 72 : else
; 73 : {
; 74 : AfxThrowOleException( hr );
00019 8b 45 08 mov eax, DWORD PTR _hr$[ebp]
0001c 50 push eax
0001d e8 00 00 00 00 call ?AfxThrowOleException@@YGXJ@Z ; AfxThrowOleException
$LN4@AtlThrowIm:
; 75 : }
; 76 : #else
; 77 : throw CAtlException( hr );
; 78 : #endif
; 79 : };
00022 5f pop edi
00023 5e pop esi
00024 5b pop ebx
00025 8b e5 mov esp, ebp
00027 5d pop ebp
00028 c2 04 00 ret 4
?AtlThrowImpl@ATL@@YGXJ@Z ENDP ; ATL::AtlThrowImpl
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afx.inl
; COMDAT ?Serialize@CObject@@UAEXAAVCArchive@@@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
___formal$ = 8 ; size = 4
?Serialize@CObject@@UAEXAAVCArchive@@@Z PROC ; CObject::Serialize, COMDAT
; _this$ = ecx
; 106 : { /* CObject does not serialize anything by default */ }
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
0000c 5f pop edi
0000d 5e pop esi
0000e 5b pop ebx
0000f 8b e5 mov esp, ebp
00011 5d pop ebp
00012 c2 04 00 ret 4
?Serialize@CObject@@UAEXAAVCArchive@@@Z ENDP ; CObject::Serialize
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afx.inl
; COMDAT ??3CObject@@SGXPAX@Z
_TEXT SEGMENT
_p$ = 8 ; size = 4
??3CObject@@SGXPAX@Z PROC ; CObject::operator delete, COMDAT
; 112 : { ::operator delete(p); }
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 8b 45 08 mov eax, DWORD PTR _p$[ebp]
0000c 50 push eax
0000d e8 00 00 00 00 call ??3@YAXPAX@Z ; operator delete
00012 83 c4 04 add esp, 4
00015 5f pop edi
00016 5e pop esi
00017 5b pop ebx
00018 8b e5 mov esp, ebp
0001a 5d pop ebp
0001b c2 04 00 ret 4
??3CObject@@SGXPAX@Z ENDP ; CObject::operator delete
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afx.inl
; COMDAT ??1CObject@@UAE@XZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
??1CObject@@UAE@XZ PROC ; CObject::~CObject, COMDAT
; _this$ = ecx
; 104 : { }
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 c3 ret 0
??1CObject@@UAE@XZ ENDP ; CObject::~CObject
_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\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\vcruntime_new.h
; COMDAT ??2@YAPAXIPAX@Z
_TEXT SEGMENT
__Size$ = 8 ; size = 4
__Where$ = 12 ; size = 4
??2@YAPAXIPAX@Z PROC ; operator new, COMDAT
; 168 : {
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
; 169 : (void)_Size;
; 170 : return _Where;
00009 8b 45 0c mov eax, DWORD PTR __Where$[ebp]
; 171 : }
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
??2@YAPAXIPAX@Z ENDP ; operator new
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\SmsCenter\SmsCenter.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\SmsCenter.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\SmsCenter.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\SmsCenter.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