; 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::CSimpleStringT PUBLIC ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@ABV01@@Z ; ATL::CSimpleStringT::CSimpleStringT PUBLIC ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT::~CSimpleStringT PUBLIC ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CSimpleStringT::operator= PUBLIC ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ ; ATL::CSimpleStringT::Empty PUBLIC ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT::GetAllocLength PUBLIC ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT::GetBuffer PUBLIC ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT::GetLength PUBLIC ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT::GetString PUBLIC ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT::ReleaseBufferSetLength PUBLIC ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z ; ATL::CSimpleStringT::SetString PUBLIC ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z ; ATL::CSimpleStringT::CopyCharsOverlapped PUBLIC ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT::ThrowMemoryException PUBLIC ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT::Attach PUBLIC ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT::Fork PUBLIC ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData PUBLIC ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z ; ATL::CSimpleStringT::PrepareWrite PUBLIC ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT::PrepareWrite2 PUBLIC ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT::Reallocate PUBLIC ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT::SetLength PUBLIC ?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z ; ATL::CSimpleStringT::CloneData PUBLIC ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::CStringT > > PUBLIC ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z ; ATL::CStringT > >::CStringT > > PUBLIC ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT > >::~CStringT > > PUBLIC ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CStringT > >::operator= PUBLIC ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC >::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::~_CTypedPtrList PUBLIC ??1?$CTypedPtrList@VCPtrList@@PAVCProcessSocket@@@@UAE@XZ ; CTypedPtrList::~CTypedPtrList 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(); //×¢ÏúSetUnhandledExceptionFilter vc 2005ÒÔºóÐèÒª×öÕâ¸ö¹¤×÷ 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 ±íʾÎÒÒѾ­´¦ÀíÁËÒì³£,¿ÉÒÔÓÅÑŵؽáÊøÁË ; 106 : EXCEPTION_CONTINUE_SEARCH equ 0 ±íʾÎÒ²»´¦Àí,ÆäËûÈËÀ´°É,ÓÚÊÇwindowsµ÷ÓÃĬÈϵĴ¦Àí³ÌÐòÏÔʾһ¸ö´íÎó¿ò,²¢½áÊø ; 107 : EXCEPTION_CONTINUE_EXECUTION equ -1 ±íʾ´íÎóÒѾ­±»ÐÞ¸´,Çë´ÓÒì³£·¢Éú´¦¼ÌÐøÖ´ÐÐ ; 108 : */ ; 109 : //return EXCEPTION_CONTINUE_EXECUTION; //¼ÌÐøÔËÐÐ ; 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 > >::~CStringT > > 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 > >::~CStringT > > __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(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(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(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(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(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(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(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::~CTypedPtrList, 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::~CTypedPtrList ; 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::~_CTypedPtrList, 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::~_CTypedPtrList ; 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(); //ÆôÓôíÎóÀ¹½Ø 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("ÒÑÆô¶¯Á˶ÌÐÅ·þÎñÆ÷¼à¿Ø³ÌÐò£¬¿ÉÄÜ´¦ÓÚ²»Í¬µÄÓû§£¬Çë¼ì²é!\r\nÊÇ·ñ¼ÌÐøÆô¶¯£¿") , _T("ÌáÎÊ") , 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 : //ö¾Ùϵͳ½ø³ÌIDÁбí ; 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 : //¼ÆËã½ø³ÌÊýÁ¿ ; 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 : // Êä³öÿ¸ö½ø³ÌµÄÃû³ÆºÍ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 ) ) //²éÕÒDh2000µÄ½ø³ÌÃû ; 131 : if ( !_tcsncmp( szProcessName , pName , _tcslen(pName) ) ) //²éÕÒDh2000µÄ½ø³ÌÃû 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 > >::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 > >::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 > >::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 > >::~CStringT > > 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 > >::~CStringT > > 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 > >::~CStringT > > 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 > >::~CStringT > > __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 > >::~CStringT > > __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 > >::~CStringT > > 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 > >::CStringT > > 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 > >::CStringT > > 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 > >::CStringT > > 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 > >::~CStringT > > __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 > >::~CStringT > > __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 > >::~CStringT > > 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 > >::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 > >::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 > >::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 > >::CStringT > > 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 > >::CStringT > > 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 > >::CStringT > > 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 > >::~CStringT > > __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 > >::~CStringT > > __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 > >::~CStringT > > 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 > >::~CStringT > > 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 > >::~CStringT > > 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 > >::~CStringT > > 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 > >::~CStringT > > __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 > >::~CStringT > > __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 > >::~CStringT > > 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 > >::CStringT > > 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 > >::CStringT > > 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 > >::CStringT > > 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 > >::~CStringT > > __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 > >::~CStringT > > __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 > >::~CStringT > > 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 > >::~CStringT > > 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 > >::~CStringT > > 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 > >::CStringT > > 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 > >::~CStringT > > 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 >::GetDefaultManager, COMDAT ; 51 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 6a ff push -1 00005 68 00 00 00 00 push __ehhandler$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ 0000a 64 a1 00 00 00 00 mov eax, DWORD PTR fs:0 00010 50 push eax 00011 83 ec 40 sub esp, 64 ; 00000040H 00014 53 push ebx 00015 56 push esi 00016 57 push edi 00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie 0001c 33 c5 xor eax, ebp 0001e 50 push eax 0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp] 00022 64 a3 00 00 00 00 mov DWORD PTR fs:0, eax ; 52 : return( AfxGetStringManager() ); 00028 e8 00 00 00 00 call ?AfxGetStringManager@@YGPAUIAtlStringMgr@ATL@@XZ ; AfxGetStringManager ; 53 : } 0002d 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp] 00030 64 89 0d 00 00 00 00 mov DWORD PTR fs:0, ecx 00037 59 pop ecx 00038 5f pop edi 00039 5e pop esi 0003a 5b pop ebx 0003b 8b e5 mov esp, ebp 0003d 5d pop ebp 0003e c3 ret 0 0003f cc int 3 00040 cc int 3 00041 cc int 3 00042 cc int 3 00043 cc int 3 _TEXT ENDS ; COMDAT text$x text$x SEGMENT __ehhandler$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ: 00000 90 npad 1 00001 90 npad 1 00002 8b 54 24 08 mov edx, DWORD PTR [esp+8] 00006 8d 42 0c lea eax, DWORD PTR [edx+12] 00009 8b 4a b0 mov ecx, DWORD PTR [edx-80] 0000c 33 c8 xor ecx, eax 0000e e8 00 00 00 00 call @__security_check_cookie@4 00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ 00018 e9 00 00 00 00 jmp ___CxxFrameHandler3 text$x ENDS ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ENDP ; StrTraitMFC >::GetDefaultManager ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h ; COMDAT ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z _TEXT SEGMENT _this$ = -4 ; size = 4 _strSrc$ = 8 ; size = 4 ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z PROC ; ATL::CStringT > >::operator=, COMDAT ; _this$ = ecx ; 1303 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 83 ec 44 sub esp, 68 ; 00000044H 00006 53 push ebx 00007 56 push esi 00008 57 push edi 00009 89 4d fc mov DWORD PTR _this$[ebp], ecx ; 1304 : CThisSimpleString::operator=( strSrc ); 0000c 8b 45 08 mov eax, DWORD PTR _strSrc$[ebp] 0000f 50 push eax 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 00013 e8 00 00 00 00 call ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CSimpleStringT::operator= ; 1305 : ; 1306 : return( *this ); 00018 8b 45 fc mov eax, DWORD PTR _this$[ebp] ; 1307 : } 0001b 5f pop edi 0001c 5e pop esi 0001d 5b pop ebx 0001e 8b e5 mov esp, ebp 00020 5d pop ebp 00021 c2 04 00 ret 4 ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z ENDP ; ATL::CStringT > >::operator= _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h ; COMDAT ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ _TEXT SEGMENT _this$ = -16 ; size = 4 __$EHRec$ = -12 ; size = 12 ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ PROC ; ATL::CStringT > >::~CStringT > >, COMDAT ; _this$ = ecx ; 1298 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 6a ff push -1 00005 68 00 00 00 00 push __ehhandler$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ 0000a 64 a1 00 00 00 00 mov eax, DWORD PTR fs:0 00010 50 push eax 00011 83 ec 44 sub esp, 68 ; 00000044H 00014 53 push ebx 00015 56 push esi 00016 57 push edi 00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie 0001c 33 c5 xor eax, ebp 0001e 50 push eax 0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp] 00022 64 a3 00 00 00 00 mov DWORD PTR fs:0, eax 00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx 0002b c7 45 fc 00 00 00 00 mov DWORD PTR __$EHRec$[ebp+8], 0 ; 1299 : } 00032 c7 45 fc ff ff ff ff mov DWORD PTR __$EHRec$[ebp+8], -1 00039 8b 4d f0 mov ecx, DWORD PTR _this$[ebp] 0003c e8 00 00 00 00 call ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT::~CSimpleStringT 00041 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp] 00044 64 89 0d 00 00 00 00 mov DWORD PTR fs:0, ecx 0004b 59 pop ecx 0004c 5f pop edi 0004d 5e pop esi 0004e 5b pop ebx 0004f 8b e5 mov esp, ebp 00051 5d pop ebp 00052 c3 ret 0 _TEXT ENDS ; COMDAT text$x text$x SEGMENT __unwindfunclet$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ$0: 00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp] 00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT::~CSimpleStringT 00008 cc int 3 00009 cc int 3 0000a cc int 3 0000b cc int 3 0000c cc int 3 __ehhandler$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ: 0000d 90 npad 1 0000e 90 npad 1 0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8] 00013 8d 42 0c lea eax, DWORD PTR [edx+12] 00016 8b 4a ac mov ecx, DWORD PTR [edx-84] 00019 33 c8 xor ecx, eax 0001b e8 00 00 00 00 call @__security_check_cookie@4 00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ 00025 e9 00 00 00 00 jmp ___CxxFrameHandler3 text$x ENDS ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ENDP ; ATL::CStringT > >::~CStringT > > ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h ; COMDAT ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@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 > >::CStringT > >, 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::CSimpleStringT 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::~CSimpleStringT 00008 cc int 3 00009 cc int 3 0000a cc int 3 0000b cc int 3 0000c cc int 3 __ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@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 > >::CStringT > > ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h ; COMDAT ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ _TEXT SEGMENT _this$ = -16 ; size = 4 __$EHRec$ = -12 ; size = 12 ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ PROC ; ATL::CStringT > >::CStringT > >, COMDAT ; _this$ = ecx ; 1011 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 6a ff push -1 00005 68 00 00 00 00 push __ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ 0000a 64 a1 00 00 00 00 mov eax, DWORD PTR fs:0 00010 50 push eax 00011 83 ec 44 sub esp, 68 ; 00000044H 00014 53 push ebx 00015 56 push esi 00016 57 push edi 00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie 0001c 33 c5 xor eax, ebp 0001e 50 push eax 0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp] 00022 64 a3 00 00 00 00 mov DWORD PTR fs:0, eax 00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx ; 1010 : CThisSimpleString( StringTraits::GetDefaultManager() ) 0002b e8 00 00 00 00 call ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC >::GetDefaultManager 00030 50 push eax 00031 8b 4d f0 mov ecx, DWORD PTR _this$[ebp] 00034 e8 00 00 00 00 call ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT::CSimpleStringT 00039 c7 45 fc 00 00 00 00 mov DWORD PTR __$EHRec$[ebp+8], 0 ; 1012 : } 00040 c7 45 fc ff ff ff ff mov DWORD PTR __$EHRec$[ebp+8], -1 00047 8b 45 f0 mov eax, DWORD PTR _this$[ebp] 0004a 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp] 0004d 64 89 0d 00 00 00 00 mov DWORD PTR fs:0, ecx 00054 59 pop ecx 00055 5f pop edi 00056 5e pop esi 00057 5b pop ebx 00058 8b e5 mov esp, ebp 0005a 5d pop ebp 0005b c3 ret 0 _TEXT ENDS ; COMDAT text$x text$x SEGMENT __unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ$0: 00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp] 00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT::~CSimpleStringT 00008 cc int 3 00009 cc int 3 0000a cc int 3 0000b cc int 3 0000c cc int 3 __ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ: 0000d 90 npad 1 0000e 90 npad 1 0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8] 00013 8d 42 0c lea eax, DWORD PTR [edx+12] 00016 8b 4a ac mov ecx, DWORD PTR [edx-84] 00019 33 c8 xor ecx, eax 0001b e8 00 00 00 00 call @__security_check_cookie@4 00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ 00025 e9 00 00 00 00 jmp ___CxxFrameHandler3 text$x ENDS ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ENDP ; ATL::CStringT > >::CStringT > > ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z _TEXT SEGMENT tv139 = -88 ; size = 4 tv141 = -84 ; size = 4 tv143 = -80 ; size = 4 tv145 = -76 ; size = 4 tv87 = -76 ; size = 4 _pNewStringMgr$ = -8 ; size = 4 _pNewData$ = -4 ; size = 4 _pData$ = 8 ; size = 4 ?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z PROC ; ATL::CSimpleStringT::CloneData, COMDAT ; 879 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 83 ec 58 sub esp, 88 ; 00000058H 00006 53 push ebx 00007 56 push esi 00008 57 push edi ; 880 : CStringData* pNewData = NULL; 00009 c7 45 fc 00 00 00 00 mov DWORD PTR _pNewData$[ebp], 0 ; 881 : ; 882 : IAtlStringMgr* pNewStringMgr = pData->pStringMgr->Clone(); 00010 8b 45 08 mov eax, DWORD PTR _pData$[ebp] 00013 8b 08 mov ecx, DWORD PTR [eax] 00015 8b 55 08 mov edx, DWORD PTR _pData$[ebp] 00018 8b 01 mov eax, DWORD PTR [ecx] 0001a 8b 0a mov ecx, DWORD PTR [edx] 0001c 8b 50 10 mov edx, DWORD PTR [eax+16] 0001f ff d2 call edx 00021 89 45 f8 mov DWORD PTR _pNewStringMgr$[ebp], eax ; 883 : if( !pData->IsLocked() && (pNewStringMgr == pData->pStringMgr) ) 00024 8b 4d 08 mov ecx, DWORD PTR _pData$[ebp] 00027 e8 00 00 00 00 call ?IsLocked@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsLocked 0002c 0f b6 c0 movzx eax, al 0002f 85 c0 test eax, eax 00031 75 1a jne SHORT $LN2@CloneData 00033 8b 45 08 mov eax, DWORD PTR _pData$[ebp] 00036 8b 4d f8 mov ecx, DWORD PTR _pNewStringMgr$[ebp] 00039 3b 08 cmp ecx, DWORD PTR [eax] 0003b 75 10 jne SHORT $LN2@CloneData ; 884 : { ; 885 : pNewData = pData; 0003d 8b 45 08 mov eax, DWORD PTR _pData$[ebp] 00040 89 45 fc mov DWORD PTR _pNewData$[ebp], eax ; 886 : pNewData->AddRef(); 00043 8b 4d fc mov ecx, DWORD PTR _pNewData$[ebp] 00046 e8 00 00 00 00 call ?AddRef@CStringData@ATL@@QAEXXZ ; ATL::CStringData::AddRef ; 887 : } 0004b eb 7b jmp SHORT $LN3@CloneData $LN2@CloneData: ; 888 : else ; 889 : { ; 890 : pNewData = pNewStringMgr->Allocate( pData->nDataLength, sizeof( XCHAR ) ); 0004d 8b 45 f8 mov eax, DWORD PTR _pNewStringMgr$[ebp] 00050 8b 08 mov ecx, DWORD PTR [eax] 00052 8b 11 mov edx, DWORD PTR [ecx] 00054 89 55 b4 mov DWORD PTR tv87[ebp], edx 00057 6a 02 push 2 00059 8b 45 08 mov eax, DWORD PTR _pData$[ebp] 0005c 8b 48 04 mov ecx, DWORD PTR [eax+4] 0005f 51 push ecx 00060 8b 4d f8 mov ecx, DWORD PTR _pNewStringMgr$[ebp] 00063 ff 55 b4 call DWORD PTR tv87[ebp] 00066 89 45 fc mov DWORD PTR _pNewData$[ebp], eax ; 891 : if( pNewData == NULL ) 00069 83 7d fc 00 cmp DWORD PTR _pNewData$[ebp], 0 0006d 75 05 jne SHORT $LN4@CloneData ; 892 : { ; 893 : ThrowMemoryException(); 0006f e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT::ThrowMemoryException $LN4@CloneData: ; 894 : } ; 895 : pNewData->nDataLength = pData->nDataLength; 00074 8b 45 fc mov eax, DWORD PTR _pNewData$[ebp] 00077 8b 4d 08 mov ecx, DWORD PTR _pData$[ebp] 0007a 8b 51 04 mov edx, DWORD PTR [ecx+4] 0007d 89 50 04 mov DWORD PTR [eax+4], edx ; 896 : memcpy_s( PXSTR( pNewData->data() ), (pNewData->nDataLength+1) * sizeof( XCHAR ), 00080 8b 45 08 mov eax, DWORD PTR _pData$[ebp] 00083 8b 48 04 mov ecx, DWORD PTR [eax+4] 00086 8d 54 09 02 lea edx, DWORD PTR [ecx+ecx+2] 0008a 89 55 b4 mov DWORD PTR tv145[ebp], edx 0008d 8b 4d 08 mov ecx, DWORD PTR _pData$[ebp] 00090 e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data 00095 89 45 b0 mov DWORD PTR tv143[ebp], eax 00098 8b 45 fc mov eax, DWORD PTR _pNewData$[ebp] 0009b 8b 48 04 mov ecx, DWORD PTR [eax+4] 0009e 8d 54 09 02 lea edx, DWORD PTR [ecx+ecx+2] 000a2 89 55 ac mov DWORD PTR tv141[ebp], edx 000a5 8b 4d fc mov ecx, DWORD PTR _pNewData$[ebp] 000a8 e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data 000ad 89 45 a8 mov DWORD PTR tv139[ebp], eax 000b0 8b 45 b4 mov eax, DWORD PTR tv145[ebp] 000b3 50 push eax 000b4 8b 4d b0 mov ecx, DWORD PTR tv143[ebp] 000b7 51 push ecx 000b8 8b 55 ac mov edx, DWORD PTR tv141[ebp] 000bb 52 push edx 000bc 8b 45 a8 mov eax, DWORD PTR tv139[ebp] 000bf 50 push eax 000c0 e8 00 00 00 00 call _memcpy_s 000c5 83 c4 10 add esp, 16 ; 00000010H $LN3@CloneData: ; 897 : PCXSTR( pData->data() ), (pData->nDataLength+1) * sizeof( XCHAR )); // Copy '\0' ; 898 : } ; 899 : ; 900 : return( pNewData ); 000c8 8b 45 fc mov eax, DWORD PTR _pNewData$[ebp] $LN5@CloneData: ; 901 : } 000cb 5f pop edi 000cc 5e pop esi 000cd 5b pop ebx 000ce 8b e5 mov esp, ebp 000d0 5d pop ebp 000d1 c3 ret 0 ?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z ENDP ; ATL::CSimpleStringT::CloneData _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z _TEXT SEGMENT _this$ = -4 ; size = 4 _nLength$ = 8 ; size = 4 ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT::SetLength, COMDAT ; _this$ = ecx ; 867 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 83 ec 44 sub esp, 68 ; 00000044H 00006 53 push ebx 00007 56 push esi 00008 57 push edi 00009 89 4d fc mov DWORD PTR _this$[ebp], ecx ; 868 : ATLASSERT( nLength >= 0 ); ; 869 : ATLASSERT( nLength <= GetData()->nAllocLength ); ; 870 : ; 871 : if( nLength < 0 || nLength > GetData()->nAllocLength) 0000c 83 7d 08 00 cmp DWORD PTR _nLength$[ebp], 0 00010 7c 10 jl SHORT $LN3@SetLength 00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 00015 e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 0001a 8b 4d 08 mov ecx, DWORD PTR _nLength$[ebp] 0001d 3b 48 08 cmp ecx, DWORD PTR [eax+8] 00020 7e 0a jle SHORT $LN2@SetLength $LN3@SetLength: ; 872 : AtlThrow(E_INVALIDARG); 00022 68 57 00 07 80 push -2147024809 ; 80070057H 00027 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl $LN2@SetLength: ; 873 : ; 874 : GetData()->nDataLength = nLength; 0002c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 0002f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 00034 8b 4d 08 mov ecx, DWORD PTR _nLength$[ebp] 00037 89 48 04 mov DWORD PTR [eax+4], ecx ; 875 : m_pszData[nLength] = 0; 0003a 8b 45 fc mov eax, DWORD PTR _this$[ebp] 0003d 8b 08 mov ecx, DWORD PTR [eax] 0003f 33 d2 xor edx, edx 00041 8b 45 08 mov eax, DWORD PTR _nLength$[ebp] 00044 66 89 14 41 mov WORD PTR [ecx+eax*2], dx $LN4@SetLength: ; 876 : } 00048 5f pop edi 00049 5e pop esi 0004a 5b pop ebx 0004b 8b e5 mov esp, ebp 0004d 5d pop ebp 0004e c2 04 00 ret 4 ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT::SetLength _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z _TEXT SEGMENT tv78 = -84 ; size = 4 _pNewData$ = -16 ; size = 4 _pStringMgr$ = -12 ; size = 4 _pOldData$ = -8 ; size = 4 _this$ = -4 ; size = 4 _nLength$ = 8 ; size = 4 ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT::Reallocate, COMDAT ; _this$ = ecx ; 849 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 83 ec 54 sub esp, 84 ; 00000054H 00006 53 push ebx 00007 56 push esi 00008 57 push edi 00009 89 4d fc mov DWORD PTR _this$[ebp], ecx ; 850 : CStringData* pOldData = GetData(); 0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 00014 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax ; 851 : ATLASSERT( pOldData->nAllocLength < nLength ); ; 852 : IAtlStringMgr* pStringMgr = pOldData->pStringMgr; 00017 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp] 0001a 8b 08 mov ecx, DWORD PTR [eax] 0001c 89 4d f4 mov DWORD PTR _pStringMgr$[ebp], ecx ; 853 : if ( pOldData->nAllocLength >= nLength || nLength <= 0) 0001f 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp] 00022 8b 48 08 mov ecx, DWORD PTR [eax+8] 00025 3b 4d 08 cmp ecx, DWORD PTR _nLength$[ebp] 00028 7d 06 jge SHORT $LN3@Reallocate 0002a 83 7d 08 00 cmp DWORD PTR _nLength$[ebp], 0 0002e 7f 07 jg SHORT $LN2@Reallocate $LN3@Reallocate: ; 854 : { ; 855 : ThrowMemoryException(); 00030 e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT::ThrowMemoryException ; 856 : return; 00035 eb 35 jmp SHORT $LN5@Reallocate $LN2@Reallocate: ; 857 : } ; 858 : CStringData* pNewData = pStringMgr->Reallocate( pOldData, nLength, sizeof( XCHAR ) ); 00037 8b 45 f4 mov eax, DWORD PTR _pStringMgr$[ebp] 0003a 8b 08 mov ecx, DWORD PTR [eax] 0003c 8b 51 08 mov edx, DWORD PTR [ecx+8] 0003f 89 55 ac mov DWORD PTR tv78[ebp], edx 00042 6a 02 push 2 00044 8b 45 08 mov eax, DWORD PTR _nLength$[ebp] 00047 50 push eax 00048 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp] 0004b 51 push ecx 0004c 8b 4d f4 mov ecx, DWORD PTR _pStringMgr$[ebp] 0004f ff 55 ac call DWORD PTR tv78[ebp] 00052 89 45 f0 mov DWORD PTR _pNewData$[ebp], eax ; 859 : if( pNewData == NULL ) 00055 83 7d f0 00 cmp DWORD PTR _pNewData$[ebp], 0 00059 75 05 jne SHORT $LN4@Reallocate ; 860 : { ; 861 : ThrowMemoryException(); 0005b e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT::ThrowMemoryException $LN4@Reallocate: ; 862 : } ; 863 : Attach( pNewData ); 00060 8b 45 f0 mov eax, DWORD PTR _pNewData$[ebp] 00063 50 push eax 00064 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 00067 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT::Attach $LN5@Reallocate: ; 864 : } 0006c 5f pop edi 0006d 5e pop esi 0006e 5b pop ebx 0006f 8b e5 mov esp, ebp 00071 5d pop ebp 00072 c2 04 00 ret 4 ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT::Reallocate _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z _TEXT SEGMENT _nNewLength$1 = -12 ; size = 4 _pOldData$ = -8 ; size = 4 _this$ = -4 ; size = 4 _nLength$ = 8 ; size = 4 ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT::PrepareWrite2, COMDAT ; _this$ = ecx ; 818 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 83 ec 4c sub esp, 76 ; 0000004cH 00006 53 push ebx 00007 56 push esi 00008 57 push edi 00009 89 4d fc mov DWORD PTR _this$[ebp], ecx ; 819 : CStringData* pOldData = GetData(); 0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 00014 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax ; 820 : if( pOldData->nDataLength > nLength ) 00017 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp] 0001a 8b 48 04 mov ecx, DWORD PTR [eax+4] 0001d 3b 4d 08 cmp ecx, DWORD PTR _nLength$[ebp] 00020 7e 09 jle SHORT $LN2@PrepareWri ; 821 : { ; 822 : nLength = pOldData->nDataLength; 00022 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp] 00025 8b 48 04 mov ecx, DWORD PTR [eax+4] 00028 89 4d 08 mov DWORD PTR _nLength$[ebp], ecx $LN2@PrepareWri: ; 823 : } ; 824 : if( pOldData->IsShared() ) 0002b 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp] 0002e e8 00 00 00 00 call ?IsShared@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsShared 00033 0f b6 c0 movzx eax, al 00036 85 c0 test eax, eax 00038 74 0e je SHORT $LN3@PrepareWri ; 825 : { ; 826 : Fork( nLength ); 0003a 8b 45 08 mov eax, DWORD PTR _nLength$[ebp] 0003d 50 push eax 0003e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 00041 e8 00 00 00 00 call ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT::Fork ; 827 : } 00046 eb 52 jmp SHORT $LN1@PrepareWri $LN3@PrepareWri: ; 828 : else if( pOldData->nAllocLength < nLength ) 00048 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp] 0004b 8b 48 08 mov ecx, DWORD PTR [eax+8] 0004e 3b 4d 08 cmp ecx, DWORD PTR _nLength$[ebp] 00051 7d 47 jge SHORT $LN1@PrepareWri ; 829 : { ; 830 : // Grow exponentially, until we hit 1G, then by 1M thereafter. ; 831 : int nNewLength = pOldData->nAllocLength; 00053 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp] 00056 8b 48 08 mov ecx, DWORD PTR [eax+8] 00059 89 4d f4 mov DWORD PTR _nNewLength$1[ebp], ecx ; 832 : if( nNewLength > 1024 * 1024 * 1024 ) 0005c 81 7d f4 00 00 00 40 cmp DWORD PTR _nNewLength$1[ebp], 1073741824 ; 40000000H 00063 7e 0d jle SHORT $LN6@PrepareWri ; 833 : { ; 834 : nNewLength += 1024 * 1024; 00065 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp] 00068 05 00 00 10 00 add eax, 1048576 ; 00100000H 0006d 89 45 f4 mov DWORD PTR _nNewLength$1[ebp], eax ; 835 : } 00070 eb 0e jmp SHORT $LN7@PrepareWri $LN6@PrepareWri: ; 836 : else ; 837 : { ; 838 : // Exponential growth factor is 1.5. ; 839 : nNewLength = nNewLength + nNewLength / 2; 00072 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp] 00075 99 cdq 00076 2b c2 sub eax, edx 00078 d1 f8 sar eax, 1 0007a 03 45 f4 add eax, DWORD PTR _nNewLength$1[ebp] 0007d 89 45 f4 mov DWORD PTR _nNewLength$1[ebp], eax $LN7@PrepareWri: ; 840 : } ; 841 : if( nNewLength < nLength ) 00080 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp] 00083 3b 45 08 cmp eax, DWORD PTR _nLength$[ebp] 00086 7d 06 jge SHORT $LN8@PrepareWri ; 842 : { ; 843 : nNewLength = nLength; 00088 8b 45 08 mov eax, DWORD PTR _nLength$[ebp] 0008b 89 45 f4 mov DWORD PTR _nNewLength$1[ebp], eax $LN8@PrepareWri: ; 844 : } ; 845 : Reallocate( nNewLength ); 0008e 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp] 00091 50 push eax 00092 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 00095 e8 00 00 00 00 call ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT::Reallocate $LN1@PrepareWri: ; 846 : } ; 847 : } 0009a 5f pop edi 0009b 5e pop esi 0009c 5b pop ebx 0009d 8b e5 mov esp, ebp 0009f 5d pop ebp 000a0 c2 04 00 ret 4 ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT::PrepareWrite2 _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z _TEXT SEGMENT _nTooShort$ = -16 ; size = 4 _nShared$ = -12 ; size = 4 _pOldData$ = -8 ; size = 4 _this$ = -4 ; size = 4 _nLength$ = 8 ; size = 4 ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z PROC ; ATL::CSimpleStringT::PrepareWrite, COMDAT ; _this$ = ecx ; 803 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 83 ec 50 sub esp, 80 ; 00000050H 00006 53 push ebx 00007 56 push esi 00008 57 push edi 00009 89 4d fc mov DWORD PTR _this$[ebp], ecx ; 804 : if (nLength < 0) 0000c 83 7d 08 00 cmp DWORD PTR _nLength$[ebp], 0 00010 7d 0a jge SHORT $LN2@PrepareWri ; 805 : AtlThrow(E_INVALIDARG); 00012 68 57 00 07 80 push -2147024809 ; 80070057H 00017 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl $LN2@PrepareWri: ; 806 : ; 807 : CStringData* pOldData = GetData(); 0001c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 0001f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 00024 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax ; 808 : int nShared = 1-pOldData->nRefs; // nShared < 0 means true, >= 0 means false 00027 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp] 0002a b9 01 00 00 00 mov ecx, 1 0002f 2b 48 0c sub ecx, DWORD PTR [eax+12] 00032 89 4d f4 mov DWORD PTR _nShared$[ebp], ecx ; 809 : int nTooShort = pOldData->nAllocLength-nLength; // nTooShort < 0 means true, >= 0 means false 00035 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp] 00038 8b 48 08 mov ecx, DWORD PTR [eax+8] 0003b 2b 4d 08 sub ecx, DWORD PTR _nLength$[ebp] 0003e 89 4d f0 mov DWORD PTR _nTooShort$[ebp], ecx ; 810 : if( (nShared|nTooShort) < 0 ) // If either sign bit is set (i.e. either is less than zero), we need to copy data 00041 8b 45 f4 mov eax, DWORD PTR _nShared$[ebp] 00044 0b 45 f0 or eax, DWORD PTR _nTooShort$[ebp] 00047 7d 0c jge SHORT $LN3@PrepareWri ; 811 : { ; 812 : PrepareWrite2( nLength ); 00049 8b 45 08 mov eax, DWORD PTR _nLength$[ebp] 0004c 50 push eax 0004d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 00050 e8 00 00 00 00 call ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT::PrepareWrite2 $LN3@PrepareWri: ; 813 : } ; 814 : ; 815 : return( m_pszData ); 00055 8b 45 fc mov eax, DWORD PTR _this$[ebp] 00058 8b 00 mov eax, DWORD PTR [eax] $LN4@PrepareWri: ; 816 : } 0005a 5f pop edi 0005b 5e pop esi 0005c 5b pop ebx 0005d 8b e5 mov esp, ebp 0005f 5d pop ebp 00060 c2 04 00 ret 4 ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z ENDP ; ATL::CSimpleStringT::PrepareWrite _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ _TEXT SEGMENT _this$ = -4 ; size = 4 ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ PROC ; ATL::CSimpleStringT::GetData, COMDAT ; _this$ = ecx ; 799 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 83 ec 44 sub esp, 68 ; 00000044H 00006 53 push ebx 00007 56 push esi 00008 57 push edi 00009 89 4d fc mov DWORD PTR _this$[ebp], ecx ; 800 : return( reinterpret_cast< CStringData* >( m_pszData )-1 ); 0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp] 0000f 8b 00 mov eax, DWORD PTR [eax] 00011 83 e8 10 sub eax, 16 ; 00000010H ; 801 : } 00014 5f pop edi 00015 5e pop esi 00016 5b pop ebx 00017 8b e5 mov esp, ebp 00019 5d pop ebp 0001a c3 ret 0 ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ENDP ; ATL::CSimpleStringT::GetData _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z _TEXT SEGMENT tv132 = -92 ; size = 4 tv83 = -92 ; size = 4 tv134 = -88 ; size = 4 tv86 = -88 ; size = 4 tv76 = -88 ; size = 4 _nCharsToCopy$ = -20 ; size = 4 _pNewData$ = -16 ; size = 4 _nOldLength$ = -12 ; size = 4 _pOldData$ = -8 ; size = 4 _this$ = -4 ; size = 4 _nLength$ = 8 ; size = 4 ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT::Fork, COMDAT ; _this$ = ecx ; 783 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 83 ec 5c sub esp, 92 ; 0000005cH 00006 53 push ebx 00007 56 push esi 00008 57 push edi 00009 89 4d fc mov DWORD PTR _this$[ebp], ecx ; 784 : CStringData* pOldData = GetData(); 0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 00014 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax ; 785 : int nOldLength = pOldData->nDataLength; 00017 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp] 0001a 8b 48 04 mov ecx, DWORD PTR [eax+4] 0001d 89 4d f4 mov DWORD PTR _nOldLength$[ebp], ecx ; 786 : CStringData* pNewData = pOldData->pStringMgr->Clone()->Allocate( nLength, sizeof( XCHAR ) ); 00020 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp] 00023 8b 08 mov ecx, DWORD PTR [eax] 00025 8b 55 f8 mov edx, DWORD PTR _pOldData$[ebp] 00028 8b 01 mov eax, DWORD PTR [ecx] 0002a 8b 0a mov ecx, DWORD PTR [edx] 0002c 8b 50 10 mov edx, DWORD PTR [eax+16] 0002f ff d2 call edx 00031 89 45 a8 mov DWORD PTR tv76[ebp], eax 00034 8b 45 a8 mov eax, DWORD PTR tv76[ebp] 00037 8b 08 mov ecx, DWORD PTR [eax] 00039 8b 11 mov edx, DWORD PTR [ecx] 0003b 89 55 a4 mov DWORD PTR tv83[ebp], edx 0003e 6a 02 push 2 00040 8b 45 08 mov eax, DWORD PTR _nLength$[ebp] 00043 50 push eax 00044 8b 4d a8 mov ecx, DWORD PTR tv76[ebp] 00047 ff 55 a4 call DWORD PTR tv83[ebp] 0004a 89 45 f0 mov DWORD PTR _pNewData$[ebp], eax ; 787 : if( pNewData == NULL ) 0004d 83 7d f0 00 cmp DWORD PTR _pNewData$[ebp], 0 00051 75 05 jne SHORT $LN2@Fork ; 788 : { ; 789 : ThrowMemoryException(); 00053 e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT::ThrowMemoryException $LN2@Fork: ; 790 : } ; 791 : int nCharsToCopy = ((nOldLength < nLength) ? nOldLength : nLength)+1; // Copy '\0' 00058 8b 45 f4 mov eax, DWORD PTR _nOldLength$[ebp] 0005b 3b 45 08 cmp eax, DWORD PTR _nLength$[ebp] 0005e 7d 08 jge SHORT $LN4@Fork 00060 8b 4d f4 mov ecx, DWORD PTR _nOldLength$[ebp] 00063 89 4d a8 mov DWORD PTR tv86[ebp], ecx 00066 eb 06 jmp SHORT $LN5@Fork $LN4@Fork: 00068 8b 55 08 mov edx, DWORD PTR _nLength$[ebp] 0006b 89 55 a8 mov DWORD PTR tv86[ebp], edx $LN5@Fork: 0006e 8b 45 a8 mov eax, DWORD PTR tv86[ebp] 00071 83 c0 01 add eax, 1 00074 89 45 ec mov DWORD PTR _nCharsToCopy$[ebp], eax ; 792 : memcpy_s( PXSTR( pNewData->data() ), nCharsToCopy * sizeof( XCHAR ), 00077 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp] 0007a e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data 0007f 89 45 a8 mov DWORD PTR tv134[ebp], eax 00082 8b 4d f0 mov ecx, DWORD PTR _pNewData$[ebp] 00085 e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data 0008a 89 45 a4 mov DWORD PTR tv132[ebp], eax 0008d 8b 45 ec mov eax, DWORD PTR _nCharsToCopy$[ebp] 00090 d1 e0 shl eax, 1 00092 50 push eax 00093 8b 4d a8 mov ecx, DWORD PTR tv134[ebp] 00096 51 push ecx 00097 8b 55 ec mov edx, DWORD PTR _nCharsToCopy$[ebp] 0009a d1 e2 shl edx, 1 0009c 52 push edx 0009d 8b 45 a4 mov eax, DWORD PTR tv132[ebp] 000a0 50 push eax 000a1 e8 00 00 00 00 call _memcpy_s 000a6 83 c4 10 add esp, 16 ; 00000010H ; 793 : PCXSTR( pOldData->data() ), nCharsToCopy * sizeof( XCHAR )); ; 794 : pNewData->nDataLength = nOldLength; 000a9 8b 45 f0 mov eax, DWORD PTR _pNewData$[ebp] 000ac 8b 4d f4 mov ecx, DWORD PTR _nOldLength$[ebp] 000af 89 48 04 mov DWORD PTR [eax+4], ecx ; 795 : pOldData->Release(); 000b2 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp] 000b5 e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release ; 796 : Attach( pNewData ); 000ba 8b 45 f0 mov eax, DWORD PTR _pNewData$[ebp] 000bd 50 push eax 000be 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 000c1 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT::Attach $LN3@Fork: ; 797 : } 000c6 5f pop edi 000c7 5e pop esi 000c8 5b pop ebx 000c9 8b e5 mov esp, ebp 000cb 5d pop ebp 000cc c2 04 00 ret 4 ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT::Fork _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z _TEXT SEGMENT _this$ = -4 ; size = 4 _pData$ = 8 ; size = 4 ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z PROC ; ATL::CSimpleStringT::Attach, COMDAT ; _this$ = ecx ; 779 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 83 ec 44 sub esp, 68 ; 00000044H 00006 53 push ebx 00007 56 push esi 00008 57 push edi 00009 89 4d fc mov DWORD PTR _this$[ebp], ecx ; 780 : m_pszData = static_cast< PXSTR >( pData->data() ); 0000c 8b 4d 08 mov ecx, DWORD PTR _pData$[ebp] 0000f e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data 00014 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 00017 89 01 mov DWORD PTR [ecx], eax ; 781 : } 00019 5f pop edi 0001a 5e pop esi 0001b 5b pop ebx 0001c 8b e5 mov esp, ebp 0001e 5d pop ebp 0001f c2 04 00 ret 4 ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ENDP ; ATL::CSimpleStringT::Attach _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ _TEXT SEGMENT ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ PROC ; ATL::CSimpleStringT::ThrowMemoryException, COMDAT ; 772 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 83 ec 40 sub esp, 64 ; 00000040H 00006 53 push ebx 00007 56 push esi 00008 57 push edi ; 773 : AtlThrow( E_OUTOFMEMORY ); 00009 68 0e 00 07 80 push -2147024882 ; 8007000eH 0000e e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl $LN2@ThrowMemor: ; 774 : } 00013 5f pop edi 00014 5e pop esi 00015 5b pop ebx 00016 8b e5 mov esp, ebp 00018 5d pop ebp 00019 c3 ret 0 ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ENDP ; ATL::CSimpleStringT::ThrowMemoryException _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z _TEXT SEGMENT __$EHRec$ = -12 ; size = 12 _pchDest$ = 8 ; size = 4 _nDestLen$ = 12 ; size = 4 _pchSrc$ = 16 ; size = 4 _nChars$ = 20 ; size = 4 ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z PROC ; ATL::CSimpleStringT::CopyCharsOverlapped, COMDAT ; 716 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 6a ff push -1 00005 68 00 00 00 00 push __ehhandler$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z 0000a 64 a1 00 00 00 00 mov eax, DWORD PTR fs:0 00010 50 push eax 00011 83 ec 40 sub esp, 64 ; 00000040H 00014 53 push ebx 00015 56 push esi 00016 57 push edi 00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie 0001c 33 c5 xor eax, ebp 0001e 50 push eax 0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp] 00022 64 a3 00 00 00 00 mov DWORD PTR fs:0, eax ; 717 : memmove_s( pchDest, nDestLen*sizeof( XCHAR ), 00028 8b 45 14 mov eax, DWORD PTR _nChars$[ebp] 0002b d1 e0 shl eax, 1 0002d 50 push eax 0002e 8b 4d 10 mov ecx, DWORD PTR _pchSrc$[ebp] 00031 51 push ecx 00032 8b 55 0c mov edx, DWORD PTR _nDestLen$[ebp] 00035 d1 e2 shl edx, 1 00037 52 push edx 00038 8b 45 08 mov eax, DWORD PTR _pchDest$[ebp] 0003b 50 push eax 0003c e8 00 00 00 00 call _memmove_s 00041 83 c4 10 add esp, 16 ; 00000010H ; 718 : pchSrc, nChars*sizeof( XCHAR ) ); ; 719 : } 00044 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp] 00047 64 89 0d 00 00 00 00 mov DWORD PTR fs:0, ecx 0004e 59 pop ecx 0004f 5f pop edi 00050 5e pop esi 00051 5b pop ebx 00052 8b e5 mov esp, ebp 00054 5d pop ebp 00055 c3 ret 0 00056 cc int 3 00057 cc int 3 00058 cc int 3 00059 cc int 3 0005a cc int 3 _TEXT ENDS ; COMDAT text$x text$x SEGMENT __ehhandler$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z: 00000 90 npad 1 00001 90 npad 1 00002 8b 54 24 08 mov edx, DWORD PTR [esp+8] 00006 8d 42 0c lea eax, DWORD PTR [edx+12] 00009 8b 4a b0 mov ecx, DWORD PTR [edx-80] 0000c 33 c8 xor ecx, eax 0000e e8 00 00 00 00 call @__security_check_cookie@4 00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z 00018 e9 00 00 00 00 jmp ___CxxFrameHandler3 text$x ENDS ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z ENDP ; ATL::CSimpleStringT::CopyCharsOverlapped ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z _TEXT SEGMENT _pszBuffer$1 = -16 ; size = 4 _nOffset$2 = -12 ; size = 4 _nOldLength$3 = -8 ; size = 4 _this$ = -4 ; size = 4 _pszSrc$ = 8 ; size = 4 _nLength$ = 12 ; size = 4 ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z PROC ; ATL::CSimpleStringT::SetString, COMDAT ; _this$ = ecx ; 607 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 83 ec 50 sub esp, 80 ; 00000050H 00006 53 push ebx 00007 56 push esi 00008 57 push edi 00009 89 4d fc mov DWORD PTR _this$[ebp], ecx ; 608 : if( nLength == 0 ) 0000c 83 7d 0c 00 cmp DWORD PTR _nLength$[ebp], 0 00010 75 0d jne SHORT $LN2@SetString ; 609 : { ; 610 : Empty(); 00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 00015 e8 00 00 00 00 call ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ ; ATL::CSimpleStringT::Empty ; 611 : } 0001a e9 96 00 00 00 jmp $LN7@SetString $LN2@SetString: ; 612 : else ; 613 : { ; 614 : // It is possible that pszSrc points to a location inside of our ; 615 : // buffer. GetBuffer() might change m_pszData if (1) the buffer ; 616 : // is shared or (2) the buffer is too small to hold the new ; 617 : // string. We detect this aliasing, and modify pszSrc to point ; 618 : // into the newly allocated buffer instead. ; 619 : ; 620 : if(pszSrc == NULL) 0001f 83 7d 08 00 cmp DWORD PTR _pszSrc$[ebp], 0 00023 75 0a jne SHORT $LN4@SetString ; 621 : AtlThrow(E_INVALIDARG); 00025 68 57 00 07 80 push -2147024809 ; 80070057H 0002a e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl $LN4@SetString: ; 622 : ; 623 : UINT nOldLength = GetLength(); 0002f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 00032 e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT::GetLength 00037 89 45 f8 mov DWORD PTR _nOldLength$3[ebp], eax ; 624 : UINT_PTR nOffset = pszSrc-GetString(); 0003a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 0003d e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT::GetString 00042 8b 4d 08 mov ecx, DWORD PTR _pszSrc$[ebp] 00045 2b c8 sub ecx, eax 00047 d1 f9 sar ecx, 1 00049 89 4d f4 mov DWORD PTR _nOffset$2[ebp], ecx ; 625 : // If 0 <= nOffset <= nOldLength, then pszSrc points into our ; 626 : // buffer ; 627 : ; 628 : PXSTR pszBuffer = GetBuffer( nLength ); 0004c 8b 45 0c mov eax, DWORD PTR _nLength$[ebp] 0004f 50 push eax 00050 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 00053 e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT::GetBuffer 00058 89 45 f0 mov DWORD PTR _pszBuffer$1[ebp], eax ; 629 : if( nOffset <= nOldLength ) 0005b 8b 45 f4 mov eax, DWORD PTR _nOffset$2[ebp] 0005e 3b 45 f8 cmp eax, DWORD PTR _nOldLength$3[ebp] 00061 77 25 ja SHORT $LN5@SetString ; 630 : { ; 631 : CopyCharsOverlapped( pszBuffer, GetAllocLength(), 00063 8b 45 0c mov eax, DWORD PTR _nLength$[ebp] 00066 50 push eax 00067 8b 4d f4 mov ecx, DWORD PTR _nOffset$2[ebp] 0006a 8b 55 f0 mov edx, DWORD PTR _pszBuffer$1[ebp] 0006d 8d 04 4a lea eax, DWORD PTR [edx+ecx*2] 00070 50 push eax 00071 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 00074 e8 00 00 00 00 call ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT::GetAllocLength 00079 50 push eax 0007a 8b 4d f0 mov ecx, DWORD PTR _pszBuffer$1[ebp] 0007d 51 push ecx 0007e e8 00 00 00 00 call ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z ; ATL::CSimpleStringT::CopyCharsOverlapped 00083 83 c4 10 add esp, 16 ; 00000010H ; 632 : pszBuffer+nOffset, nLength ); ; 633 : } 00086 eb 21 jmp SHORT $LN6@SetString $LN5@SetString: ; 634 : else ; 635 : { ; 636 : memcpy_s( pszBuffer, GetAllocLength() * sizeof( XCHAR ), pszSrc, nLength * sizeof( XCHAR )); 00088 8b 45 0c mov eax, DWORD PTR _nLength$[ebp] 0008b d1 e0 shl eax, 1 0008d 50 push eax 0008e 8b 4d 08 mov ecx, DWORD PTR _pszSrc$[ebp] 00091 51 push ecx 00092 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 00095 e8 00 00 00 00 call ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT::GetAllocLength 0009a d1 e0 shl eax, 1 0009c 50 push eax 0009d 8b 55 f0 mov edx, DWORD PTR _pszBuffer$1[ebp] 000a0 52 push edx 000a1 e8 00 00 00 00 call _memcpy_s 000a6 83 c4 10 add esp, 16 ; 00000010H $LN6@SetString: ; 637 : } ; 638 : ReleaseBufferSetLength( nLength ); 000a9 8b 45 0c mov eax, DWORD PTR _nLength$[ebp] 000ac 50 push eax 000ad 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 000b0 e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT::ReleaseBufferSetLength $LN7@SetString: ; 639 : } ; 640 : } 000b5 5f pop edi 000b6 5e pop esi 000b7 5b pop ebx 000b8 8b e5 mov esp, ebp 000ba 5d pop ebp 000bb c2 08 00 ret 8 ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z ENDP ; ATL::CSimpleStringT::SetString _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z _TEXT SEGMENT _this$ = -4 ; size = 4 _nNewLength$ = 8 ; size = 4 ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z PROC ; ATL::CSimpleStringT::ReleaseBufferSetLength, COMDAT ; _this$ = ecx ; 566 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 83 ec 44 sub esp, 68 ; 00000044H 00006 53 push ebx 00007 56 push esi 00008 57 push edi 00009 89 4d fc mov DWORD PTR _this$[ebp], ecx ; 567 : ATLASSERT( nNewLength >= 0 ); ; 568 : SetLength( nNewLength ); 0000c 8b 45 08 mov eax, DWORD PTR _nNewLength$[ebp] 0000f 50 push eax 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 00013 e8 00 00 00 00 call ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT::SetLength ; 569 : } 00018 5f pop edi 00019 5e pop esi 0001a 5b pop ebx 0001b 8b e5 mov esp, ebp 0001d 5d pop ebp 0001e c2 04 00 ret 4 ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ENDP ; ATL::CSimpleStringT::ReleaseBufferSetLength _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ _TEXT SEGMENT _this$ = -4 ; size = 4 ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ PROC ; ATL::CSimpleStringT::GetString, COMDAT ; _this$ = ecx ; 528 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 83 ec 44 sub esp, 68 ; 00000044H 00006 53 push ebx 00007 56 push esi 00008 57 push edi 00009 89 4d fc mov DWORD PTR _this$[ebp], ecx ; 529 : return( m_pszData ); 0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp] 0000f 8b 00 mov eax, DWORD PTR [eax] ; 530 : } 00011 5f pop edi 00012 5e pop esi 00013 5b pop ebx 00014 8b e5 mov esp, ebp 00016 5d pop ebp 00017 c3 ret 0 ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ENDP ; ATL::CSimpleStringT::GetString _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ _TEXT SEGMENT _this$ = -4 ; size = 4 ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ PROC ; ATL::CSimpleStringT::GetLength, COMDAT ; _this$ = ecx ; 518 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 83 ec 44 sub esp, 68 ; 00000044H 00006 53 push ebx 00007 56 push esi 00008 57 push edi 00009 89 4d fc mov DWORD PTR _this$[ebp], ecx ; 519 : return( GetData()->nDataLength ); 0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 00014 8b 40 04 mov eax, DWORD PTR [eax+4] ; 520 : } 00017 5f pop edi 00018 5e pop esi 00019 5b pop ebx 0001a 8b e5 mov esp, ebp 0001c 5d pop ebp 0001d c3 ret 0 ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ENDP ; ATL::CSimpleStringT::GetLength _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z _TEXT SEGMENT _this$ = -4 ; size = 4 _nMinBufferLength$ = 8 ; size = 4 ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z PROC ; ATL::CSimpleStringT::GetBuffer, COMDAT ; _this$ = ecx ; 507 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 83 ec 44 sub esp, 68 ; 00000044H 00006 53 push ebx 00007 56 push esi 00008 57 push edi 00009 89 4d fc mov DWORD PTR _this$[ebp], ecx ; 508 : return( PrepareWrite( nMinBufferLength ) ); 0000c 8b 45 08 mov eax, DWORD PTR _nMinBufferLength$[ebp] 0000f 50 push eax 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 00013 e8 00 00 00 00 call ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z ; ATL::CSimpleStringT::PrepareWrite ; 509 : } 00018 5f pop edi 00019 5e pop esi 0001a 5b pop ebx 0001b 8b e5 mov esp, ebp 0001d 5d pop ebp 0001e c2 04 00 ret 4 ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ENDP ; ATL::CSimpleStringT::GetBuffer _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ _TEXT SEGMENT _this$ = -4 ; size = 4 ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ PROC ; ATL::CSimpleStringT::GetAllocLength, COMDAT ; _this$ = ecx ; 485 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 83 ec 44 sub esp, 68 ; 00000044H 00006 53 push ebx 00007 56 push esi 00008 57 push edi 00009 89 4d fc mov DWORD PTR _this$[ebp], ecx ; 486 : return( GetData()->nAllocLength ); 0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 00014 8b 40 08 mov eax, DWORD PTR [eax+8] ; 487 : } 00017 5f pop edi 00018 5e pop esi 00019 5b pop ebx 0001a 8b e5 mov esp, ebp 0001c 5d pop ebp 0001d c3 ret 0 ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ENDP ; ATL::CSimpleStringT::GetAllocLength _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ _TEXT SEGMENT _pNewData$2 = -28 ; size = 4 _pStringMgr$ = -24 ; size = 4 _pOldData$ = -20 ; size = 4 _this$ = -16 ; size = 4 __$EHRec$ = -12 ; size = 12 ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ PROC ; ATL::CSimpleStringT::Empty, COMDAT ; _this$ = ecx ; 436 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 6a ff push -1 00005 68 00 00 00 00 push __ehhandler$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ 0000a 64 a1 00 00 00 00 mov eax, DWORD PTR fs:0 00010 50 push eax 00011 83 ec 50 sub esp, 80 ; 00000050H 00014 53 push ebx 00015 56 push esi 00016 57 push edi 00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie 0001c 33 c5 xor eax, ebp 0001e 50 push eax 0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp] 00022 64 a3 00 00 00 00 mov DWORD PTR fs:0, eax 00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx ; 437 : CStringData* pOldData = GetData(); 0002b 8b 4d f0 mov ecx, DWORD PTR _this$[ebp] 0002e e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 00033 89 45 ec mov DWORD PTR _pOldData$[ebp], eax ; 438 : IAtlStringMgr* pStringMgr = pOldData->pStringMgr; 00036 8b 45 ec mov eax, DWORD PTR _pOldData$[ebp] 00039 8b 08 mov ecx, DWORD PTR [eax] 0003b 89 4d e8 mov DWORD PTR _pStringMgr$[ebp], ecx ; 439 : if( pOldData->nDataLength == 0 ) 0003e 8b 45 ec mov eax, DWORD PTR _pOldData$[ebp] 00041 83 78 04 00 cmp DWORD PTR [eax+4], 0 00045 75 02 jne SHORT $LN2@Empty ; 440 : { ; 441 : return; 00047 eb 3f jmp SHORT $LN1@Empty $LN2@Empty: ; 442 : } ; 443 : ; 444 : if( pOldData->IsLocked() ) 00049 8b 4d ec mov ecx, DWORD PTR _pOldData$[ebp] 0004c e8 00 00 00 00 call ?IsLocked@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsLocked 00051 0f b6 c0 movzx eax, al 00054 85 c0 test eax, eax 00056 74 0c je SHORT $LN3@Empty ; 445 : { ; 446 : // Don't reallocate a locked buffer that's shrinking ; 447 : SetLength( 0 ); 00058 6a 00 push 0 0005a 8b 4d f0 mov ecx, DWORD PTR _this$[ebp] 0005d e8 00 00 00 00 call ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT::SetLength ; 448 : } 00062 eb 24 jmp SHORT $LN1@Empty $LN3@Empty: ; 449 : else ; 450 : { ; 451 : pOldData->Release(); 00064 8b 4d ec mov ecx, DWORD PTR _pOldData$[ebp] 00067 e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release ; 452 : CStringData* pNewData = pStringMgr->GetNilString(); 0006c 8b 45 e8 mov eax, DWORD PTR _pStringMgr$[ebp] 0006f 8b 10 mov edx, DWORD PTR [eax] 00071 8b 4d e8 mov ecx, DWORD PTR _pStringMgr$[ebp] 00074 8b 42 0c mov eax, DWORD PTR [edx+12] 00077 ff d0 call eax 00079 89 45 e4 mov DWORD PTR _pNewData$2[ebp], eax ; 453 : Attach( pNewData ); 0007c 8b 45 e4 mov eax, DWORD PTR _pNewData$2[ebp] 0007f 50 push eax 00080 8b 4d f0 mov ecx, DWORD PTR _this$[ebp] 00083 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT::Attach $LN1@Empty: ; 454 : } ; 455 : } 00088 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp] 0008b 64 89 0d 00 00 00 00 mov DWORD PTR fs:0, ecx 00092 59 pop ecx 00093 5f pop edi 00094 5e pop esi 00095 5b pop ebx 00096 8b e5 mov esp, ebp 00098 5d pop ebp 00099 c3 ret 0 0009a cc int 3 0009b cc int 3 0009c cc int 3 0009d cc int 3 0009e cc int 3 _TEXT ENDS ; COMDAT text$x text$x SEGMENT __ehhandler$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ: 00000 90 npad 1 00001 90 npad 1 00002 8b 54 24 08 mov edx, DWORD PTR [esp+8] 00006 8d 42 0c lea eax, DWORD PTR [edx+12] 00009 8b 4a a0 mov ecx, DWORD PTR [edx-96] 0000c 33 c8 xor ecx, eax 0000e e8 00 00 00 00 call @__security_check_cookie@4 00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ 00018 e9 00 00 00 00 jmp ___CxxFrameHandler3 text$x ENDS ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ ENDP ; ATL::CSimpleStringT::Empty ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@ABV01@@Z _TEXT SEGMENT tv84 = -88 ; size = 4 tv86 = -84 ; size = 4 _pNewData$1 = -16 ; size = 4 _pOldData$ = -12 ; size = 4 _pSrcData$ = -8 ; size = 4 _this$ = -4 ; size = 4 _strSrc$ = 8 ; size = 4 ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@ABV01@@Z PROC ; ATL::CSimpleStringT::operator=, COMDAT ; _this$ = ecx ; 271 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 83 ec 58 sub esp, 88 ; 00000058H 00006 53 push ebx 00007 56 push esi 00008 57 push edi 00009 89 4d fc mov DWORD PTR _this$[ebp], ecx ; 272 : CStringData* pSrcData = strSrc.GetData(); 0000c 8b 4d 08 mov ecx, DWORD PTR _strSrc$[ebp] 0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 00014 89 45 f8 mov DWORD PTR _pSrcData$[ebp], eax ; 273 : CStringData* pOldData = GetData(); 00017 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 0001a e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 0001f 89 45 f4 mov DWORD PTR _pOldData$[ebp], eax ; 274 : if( pSrcData != pOldData) 00022 8b 45 f8 mov eax, DWORD PTR _pSrcData$[ebp] 00025 3b 45 f4 cmp eax, DWORD PTR _pOldData$[ebp] 00028 74 66 je SHORT $LN2@operator ; 275 : { ; 276 : if( pOldData->IsLocked() || pSrcData->pStringMgr != pOldData->pStringMgr ) 0002a 8b 4d f4 mov ecx, DWORD PTR _pOldData$[ebp] 0002d e8 00 00 00 00 call ?IsLocked@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsLocked 00032 0f b6 c0 movzx eax, al 00035 85 c0 test eax, eax 00037 75 0c jne SHORT $LN5@operator 00039 8b 45 f8 mov eax, DWORD PTR _pSrcData$[ebp] 0003c 8b 4d f4 mov ecx, DWORD PTR _pOldData$[ebp] 0003f 8b 10 mov edx, DWORD PTR [eax] 00041 3b 11 cmp edx, DWORD PTR [ecx] 00043 74 28 je SHORT $LN3@operator $LN5@operator: ; 277 : { ; 278 : SetString( strSrc.GetString(), strSrc.GetLength() ); 00045 8b 4d 08 mov ecx, DWORD PTR _strSrc$[ebp] 00048 e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT::GetLength 0004d 89 45 ac mov DWORD PTR tv86[ebp], eax 00050 8b 4d 08 mov ecx, DWORD PTR _strSrc$[ebp] 00053 e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT::GetString 00058 89 45 a8 mov DWORD PTR tv84[ebp], eax 0005b 8b 45 ac mov eax, DWORD PTR tv86[ebp] 0005e 50 push eax 0005f 8b 4d a8 mov ecx, DWORD PTR tv84[ebp] 00062 51 push ecx 00063 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 00066 e8 00 00 00 00 call ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z ; ATL::CSimpleStringT::SetString ; 279 : } 0006b eb 23 jmp SHORT $LN2@operator $LN3@operator: ; 280 : else ; 281 : { ; 282 : CStringData* pNewData = CloneData( pSrcData ); 0006d 8b 45 f8 mov eax, DWORD PTR _pSrcData$[ebp] 00070 50 push eax 00071 e8 00 00 00 00 call ?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z ; ATL::CSimpleStringT::CloneData 00076 83 c4 04 add esp, 4 00079 89 45 f0 mov DWORD PTR _pNewData$1[ebp], eax ; 283 : pOldData->Release(); 0007c 8b 4d f4 mov ecx, DWORD PTR _pOldData$[ebp] 0007f e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release ; 284 : Attach( pNewData ); 00084 8b 45 f0 mov eax, DWORD PTR _pNewData$1[ebp] 00087 50 push eax 00088 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 0008b e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT::Attach $LN2@operator: ; 285 : } ; 286 : } ; 287 : ; 288 : return( *this ); 00090 8b 45 fc mov eax, DWORD PTR _this$[ebp] ; 289 : } 00093 5f pop edi 00094 5e pop esi 00095 5b pop ebx 00096 8b e5 mov esp, ebp 00098 5d pop ebp 00099 c2 04 00 ret 4 ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@ABV01@@Z ENDP ; ATL::CSimpleStringT::operator= _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ _TEXT SEGMENT _pData$ = -8 ; size = 4 _this$ = -4 ; size = 4 ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ PROC ; ATL::CSimpleStringT::~CSimpleStringT, COMDAT ; _this$ = ecx ; 260 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 83 ec 48 sub esp, 72 ; 00000048H 00006 53 push ebx 00007 56 push esi 00008 57 push edi 00009 89 4d fc mov DWORD PTR _this$[ebp], ecx ; 261 : CStringData* pData = GetData(); 0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 00014 89 45 f8 mov DWORD PTR _pData$[ebp], eax ; 262 : pData->Release(); 00017 8b 4d f8 mov ecx, DWORD PTR _pData$[ebp] 0001a e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release ; 263 : } 0001f 5f pop edi 00020 5e pop esi 00021 5b pop ebx 00022 8b e5 mov esp, ebp 00024 5d pop ebp 00025 c3 ret 0 ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ENDP ; ATL::CSimpleStringT::~CSimpleStringT _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@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::CSimpleStringT, 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::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::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::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::CSimpleStringT _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z _TEXT SEGMENT tv65 = -80 ; size = 4 _pData$ = -12 ; size = 4 ___atl_condVal$1 = -8 ; size = 4 _this$ = -4 ; size = 4 _pStringMgr$ = 8 ; size = 4 ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z PROC ; ATL::CSimpleStringT::CSimpleStringT, COMDAT ; _this$ = ecx ; 203 : explicit CSimpleStringT(_Inout_ IAtlStringMgr* pStringMgr) 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 83 ec 50 sub esp, 80 ; 00000050H 00006 53 push ebx 00007 56 push esi 00008 57 push edi 00009 89 4d fc mov DWORD PTR _this$[ebp], ecx $LN4@CSimpleStr: ; 204 : { ; 205 : ATLENSURE( pStringMgr != NULL ); 0000c 83 7d 08 00 cmp DWORD PTR _pStringMgr$[ebp], 0 00010 74 09 je SHORT $LN10@CSimpleStr 00012 c7 45 b0 01 00 00 00 mov DWORD PTR tv65[ebp], 1 00019 eb 07 jmp SHORT $LN11@CSimpleStr $LN10@CSimpleStr: 0001b c7 45 b0 00 00 00 00 mov DWORD PTR tv65[ebp], 0 $LN11@CSimpleStr: 00022 8b 45 b0 mov eax, DWORD PTR tv65[ebp] 00025 89 45 f8 mov DWORD PTR ___atl_condVal$1[ebp], eax $LN5@CSimpleStr: 00028 33 c0 xor eax, eax 0002a 75 fc jne SHORT $LN5@CSimpleStr 0002c 83 7d f8 00 cmp DWORD PTR ___atl_condVal$1[ebp], 0 00030 75 0a jne SHORT $LN2@CSimpleStr 00032 68 05 40 00 80 push -2147467259 ; 80004005H 00037 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl $LN2@CSimpleStr: 0003c 33 c0 xor eax, eax 0003e 75 cc jne SHORT $LN4@CSimpleStr ; 206 : CStringData* pData = pStringMgr->GetNilString(); 00040 8b 45 08 mov eax, DWORD PTR _pStringMgr$[ebp] 00043 8b 10 mov edx, DWORD PTR [eax] 00045 8b 4d 08 mov ecx, DWORD PTR _pStringMgr$[ebp] 00048 8b 42 0c mov eax, DWORD PTR [edx+12] 0004b ff d0 call eax 0004d 89 45 f4 mov DWORD PTR _pData$[ebp], eax ; 207 : Attach( pData ); 00050 8b 45 f4 mov eax, DWORD PTR _pData$[ebp] 00053 50 push eax 00054 8b 4d fc mov ecx, DWORD PTR _this$[ebp] 00057 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT::Attach ; 208 : } 0005c 8b 45 fc mov eax, DWORD PTR _this$[ebp] $LN9@CSimpleStr: 0005f 5f pop edi 00060 5e pop esi 00061 5b pop ebx 00062 8b e5 mov esp, ebp 00064 5d pop ebp 00065 c2 04 00 ret 4 ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ENDP ; ATL::CSimpleStringT::CSimpleStringT _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\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