16555 lines
593 KiB
Plaintext
16555 lines
593 KiB
Plaintext
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.34.31933.0
|
||
|
||
TITLE D:\Works\Corpsms_2010\SmsCenter\Release_Unicode\SAStatusLog.obj
|
||
.686P
|
||
.XMM
|
||
include listing.inc
|
||
.model flat
|
||
|
||
INCLUDELIB LIBCMT
|
||
INCLUDELIB OLDNAMES
|
||
|
||
PUBLIC ?__empty_global_delete@@YAXPAX@Z ; __empty_global_delete
|
||
PUBLIC ?__empty_global_delete@@YAXPAXI@Z ; __empty_global_delete
|
||
PUBLIC ?__empty_global_delete@@YAXPAXW4align_val_t@std@@@Z ; __empty_global_delete
|
||
PUBLIC ?__empty_global_delete@@YAXPAXIW4align_val_t@std@@@Z ; __empty_global_delete
|
||
PUBLIC ___local_stdio_printf_options
|
||
PUBLIC __vsnwprintf_l
|
||
PUBLIC __vsnwprintf
|
||
PUBLIC __vfprintf_l
|
||
PUBLIC _fprintf
|
||
PUBLIC __vsnprintf_l
|
||
PUBLIC __vsprintf_l
|
||
PUBLIC __vsprintf_s_l
|
||
PUBLIC _vsprintf_s
|
||
PUBLIC __vscprintf_l
|
||
PUBLIC __vscprintf
|
||
PUBLIC _sprintf
|
||
PUBLIC _HRESULT_FROM_WIN32
|
||
PUBLIC ?AfxCrtErrorCheck@@YAHH@Z ; AfxCrtErrorCheck
|
||
PUBLIC ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
PUBLIC ?AtlThrowLastWin32@ATL@@YGXXZ ; ATL::AtlThrowLastWin32
|
||
PUBLIC ?memcpy_s@Checked@ATL@@YAXPAXIPBXI@Z ; ATL::Checked::memcpy_s
|
||
PUBLIC ?_AtlGetConversionACP@ATL@@YGIXZ ; ATL::_AtlGetConversionACP
|
||
PUBLIC ?wmemcpy_s@Checked@ATL@@YAXPA_WIPB_WI@Z ; ATL::Checked::wmemcpy_s
|
||
PUBLIC ?memmove_s@Checked@ATL@@YAXPAXIPBXI@Z ; ATL::Checked::memmove_s
|
||
PUBLIC ?AtlStrLen@ATL@@YAHPB_W@Z ; ATL::AtlStrLen
|
||
PUBLIC ?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z ; ATL::_AtlGetStringResourceImage
|
||
PUBLIC ?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z ; ATL::AtlGetStringResourceImage
|
||
PUBLIC ??$AtlAdd@H@ATL@@YAJPAHHH@Z ; ATL::AtlAdd<int>
|
||
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 ?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z ; ATL::ChTraitsCRT<wchar_t>::StringFindString
|
||
PUBLIC ?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPA_WPA_WPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::StringFindString
|
||
PUBLIC ?StringFindCharRev@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z ; ATL::ChTraitsCRT<wchar_t>::StringFindCharRev
|
||
PUBLIC ?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z ; ATL::ChTraitsCRT<wchar_t>::GetFormattedLength
|
||
PUBLIC ?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z ; ATL::ChTraitsCRT<wchar_t>::Format
|
||
PUBLIC ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPBD@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
|
||
PUBLIC ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
|
||
PUBLIC ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
|
||
PUBLIC ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPBDH@Z ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType
|
||
PUBLIC ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType
|
||
PUBLIC ?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::SafeStringLen
|
||
PUBLIC ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
|
||
PUBLIC ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@ABV01@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
|
||
PUBLIC ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
|
||
PUBLIC ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
|
||
PUBLIC ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CSimpleStringT<wchar_t,0>::operator=
|
||
PUBLIC ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::operator=
|
||
PUBLIC ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
|
||
PUBLIC ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ ; ATL::CSimpleStringT<wchar_t,0>::Empty
|
||
PUBLIC ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength
|
||
PUBLIC ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
|
||
PUBLIC ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
|
||
PUBLIC ?GetManager@?$CSimpleStringT@_W$0A@@ATL@@QBEPAUIAtlStringMgr@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetManager
|
||
PUBLIC ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
|
||
PUBLIC ?IsEmpty@?$CSimpleStringT@_W$0A@@ATL@@QBE_NXZ ; ATL::CSimpleStringT<wchar_t,0>::IsEmpty
|
||
PUBLIC ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
|
||
PUBLIC ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString
|
||
PUBLIC ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString
|
||
PUBLIC ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::CopyCharsOverlapped
|
||
PUBLIC ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::StringLength
|
||
PUBLIC ?Concatenate@?$CSimpleStringT@_W$0A@@ATL@@KAXAAV12@PB_WH1H@Z ; ATL::CSimpleStringT<wchar_t,0>::Concatenate
|
||
PUBLIC ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
|
||
PUBLIC ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
|
||
PUBLIC ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Fork
|
||
PUBLIC ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
PUBLIC ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite
|
||
PUBLIC ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2
|
||
PUBLIC ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Reallocate
|
||
PUBLIC ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetLength
|
||
PUBLIC ?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z ; ATL::CSimpleStringT<wchar_t,0>::CloneData
|
||
PUBLIC ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
PUBLIC ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
PUBLIC ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
PUBLIC ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
PUBLIC ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
PUBLIC ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PBD@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
PUBLIC ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
PUBLIC ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
PUBLIC ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
|
||
PUBLIC ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
|
||
PUBLIC ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PBD@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
|
||
PUBLIC ?GetManager@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager
|
||
PUBLIC ?Replace@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPB_W0@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace
|
||
PUBLIC ?ReverseFind@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEH_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::ReverseFind
|
||
PUBLIC ?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid
|
||
PUBLIC ?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid
|
||
PUBLIC ?Left@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Left
|
||
PUBLIC ?Format@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAAXPB_WZZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format
|
||
PUBLIC ?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV
|
||
PUBLIC ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
|
||
PUBLIC ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
|
||
PUBLIC ??HATL@@YA?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@0@ABV10@0@Z ; ATL::operator+
|
||
PUBLIC ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad
|
||
PUBLIC ?GetTickCount@CTime@ATL@@SG?AV12@XZ ; ATL::CTime::GetTickCount
|
||
PUBLIC ??0CTime@ATL@@QAE@XZ ; ATL::CTime::CTime
|
||
PUBLIC ??0CTime@ATL@@QAE@_J@Z ; ATL::CTime::CTime
|
||
PUBLIC ?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PB_W@Z ; ATL::CTime::Format
|
||
PUBLIC ?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PBD@Z ; ATL::CTime::Format
|
||
PUBLIC ?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::FindStringResourceInstance
|
||
PUBLIC ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager
|
||
PUBLIC ??0?$CSimpleStringT@D$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<char,0>::CSimpleStringT<char,0>
|
||
PUBLIC ??1?$CSimpleStringT@D$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<char,0>::~CSimpleStringT<char,0>
|
||
PUBLIC ??4?$CSimpleStringT@D$0A@@ATL@@QAEAAV01@PBD@Z ; ATL::CSimpleStringT<char,0>::operator=
|
||
PUBLIC ??B?$CSimpleStringT@D$0A@@ATL@@QBEPBDXZ ; ATL::CSimpleStringT<char,0>::operator char const *
|
||
PUBLIC ?Empty@?$CSimpleStringT@D$0A@@ATL@@QAEXXZ ; ATL::CSimpleStringT<char,0>::Empty
|
||
PUBLIC ?GetAllocLength@?$CSimpleStringT@D$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<char,0>::GetAllocLength
|
||
PUBLIC ?GetBuffer@?$CSimpleStringT@D$0A@@ATL@@QAEPADH@Z ; ATL::CSimpleStringT<char,0>::GetBuffer
|
||
PUBLIC ?GetLength@?$CSimpleStringT@D$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<char,0>::GetLength
|
||
PUBLIC ?GetManager@?$CSimpleStringT@D$0A@@ATL@@QBEPAUIAtlStringMgr@2@XZ ; ATL::CSimpleStringT<char,0>::GetManager
|
||
PUBLIC ?GetString@?$CSimpleStringT@D$0A@@ATL@@QBEPBDXZ ; ATL::CSimpleStringT<char,0>::GetString
|
||
PUBLIC ?ReleaseBufferSetLength@?$CSimpleStringT@D$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<char,0>::ReleaseBufferSetLength
|
||
PUBLIC ?SetString@?$CSimpleStringT@D$0A@@ATL@@QAEXPBD@Z ; ATL::CSimpleStringT<char,0>::SetString
|
||
PUBLIC ?SetString@?$CSimpleStringT@D$0A@@ATL@@QAEXPBDH@Z ; ATL::CSimpleStringT<char,0>::SetString
|
||
PUBLIC ?CopyCharsOverlapped@?$CSimpleStringT@D$0A@@ATL@@SAXPADIPBDH@Z ; ATL::CSimpleStringT<char,0>::CopyCharsOverlapped
|
||
PUBLIC ?StringLength@?$CSimpleStringT@D$0A@@ATL@@SAHPBD@Z ; ATL::CSimpleStringT<char,0>::StringLength
|
||
PUBLIC ?ThrowMemoryException@?$CSimpleStringT@D$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<char,0>::ThrowMemoryException
|
||
PUBLIC ?Attach@?$CSimpleStringT@D$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<char,0>::Attach
|
||
PUBLIC ?Fork@?$CSimpleStringT@D$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<char,0>::Fork
|
||
PUBLIC ?GetData@?$CSimpleStringT@D$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<char,0>::GetData
|
||
PUBLIC ?PrepareWrite@?$CSimpleStringT@D$0A@@ATL@@AAEPADH@Z ; ATL::CSimpleStringT<char,0>::PrepareWrite
|
||
PUBLIC ?PrepareWrite2@?$CSimpleStringT@D$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<char,0>::PrepareWrite2
|
||
PUBLIC ?Reallocate@?$CSimpleStringT@D$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<char,0>::Reallocate
|
||
PUBLIC ?SetLength@?$CSimpleStringT@D$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<char,0>::SetLength
|
||
PUBLIC ?GetLineCount@CEdit@@QBEHXZ ; CEdit::GetLineCount
|
||
PUBLIC ?GetLine@CEdit@@QBEHHPA_WH@Z ; CEdit::GetLine
|
||
PUBLIC ?EmptyUndoBuffer@CEdit@@QAEXXZ ; CEdit::EmptyUndoBuffer
|
||
PUBLIC ?ReplaceSel@CEdit@@QAEXPB_WH@Z ; CEdit::ReplaceSel
|
||
PUBLIC ?SetSel@CEdit@@QAEXHHH@Z ; CEdit::SetSel
|
||
PUBLIC ?AfxGetInstanceHandle@@YGPAUHINSTANCE__@@XZ ; AfxGetInstanceHandle
|
||
PUBLIC ??0CSAStatusLog@@QAE@XZ ; CSAStatusLog::CSAStatusLog
|
||
PUBLIC ??1CSAStatusLog@@QAE@XZ ; CSAStatusLog::~CSAStatusLog
|
||
PUBLIC ?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z ; CSAStatusLog::Init
|
||
PUBLIC ?Log@CSAStatusLog@@QAAHPB_WZZ ; CSAStatusLog::Log
|
||
PUBLIC ?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z ; CSAStatusLog::LogError
|
||
PUBLIC ?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z ; CSAStatusLog::Log_Data
|
||
PUBLIC ?Enable@CSAStatusLog@@QAEXH@Z ; CSAStatusLog::Enable
|
||
PUBLIC ?GetBaseDir@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z ; CSAStatusLog::GetBaseDir
|
||
PUBLIC ?GetBaseName@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z ; CSAStatusLog::GetBaseName
|
||
PUBLIC ??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
PUBLIC ??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBD@Z ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
PUBLIC ??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBDPAUIAtlStringMgr@1@@Z ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
PUBLIC ??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
PUBLIC ??4?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEAAV01@PBD@Z ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::operator=
|
||
PUBLIC ?GetManager@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::GetManager
|
||
PUBLIC ?Format@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAAXPBDZZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::Format
|
||
PUBLIC ?FormatV@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEXPBDPAD@Z ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::FormatV
|
||
PUBLIC ?LoadStringW@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEHI@Z ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::LoadStringW
|
||
PUBLIC ?LoadStringW@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::LoadStringW
|
||
PUBLIC ?CheckImplicitLoad@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@AAE_NPBX@Z ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CheckImplicitLoad
|
||
PUBLIC ??0?$CA2WEX@$0IA@@ATL@@QAE@PBD@Z ; ATL::CA2WEX<128>::CA2WEX<128>
|
||
PUBLIC ??1?$CA2WEX@$0IA@@ATL@@QAE@XZ ; ATL::CA2WEX<128>::~CA2WEX<128>
|
||
PUBLIC ??B?$CA2WEX@$0IA@@ATL@@QBEPA_WXZ ; ATL::CA2WEX<128>::operator wchar_t *
|
||
PUBLIC ?Init@?$CA2WEX@$0IA@@ATL@@AAEXPBDI@Z ; ATL::CA2WEX<128>::Init
|
||
PUBLIC ??0?$CW2AEX@$0IA@@ATL@@QAE@PB_W@Z ; ATL::CW2AEX<128>::CW2AEX<128>
|
||
PUBLIC ??1?$CW2AEX@$0IA@@ATL@@QAE@XZ ; ATL::CW2AEX<128>::~CW2AEX<128>
|
||
PUBLIC ??B?$CW2AEX@$0IA@@ATL@@QBEPADXZ ; ATL::CW2AEX<128>::operator char *
|
||
PUBLIC ?Init@?$CW2AEX@$0IA@@ATL@@AAEXPB_WI@Z ; ATL::CW2AEX<128>::Init
|
||
PUBLIC ?GetFormattedLength@?$ChTraitsCRT@D@ATL@@SAHPBDPAD@Z ; ATL::ChTraitsCRT<char>::GetFormattedLength
|
||
PUBLIC ?Format@?$ChTraitsCRT@D@ATL@@SAHPADIPBD0@Z ; ATL::ChTraitsCRT<char>::Format
|
||
PUBLIC ?GetBaseTypeLength@?$ChTraitsCRT@D@ATL@@SAHPB_WH@Z ; ATL::ChTraitsCRT<char>::GetBaseTypeLength
|
||
PUBLIC ?ConvertToBaseType@?$ChTraitsCRT@D@ATL@@SAXPADHPB_WH@Z ; ATL::ChTraitsCRT<char>::ConvertToBaseType
|
||
PUBLIC ?FindStringResourceInstance@?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@SAPAUHINSTANCE__@@I@Z ; StrTraitMFC<char,ATL::ChTraitsCRT<char> >::FindStringResourceInstance
|
||
PUBLIC ?GetDefaultManager@?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC<char,ATL::ChTraitsCRT<char> >::GetDefaultManager
|
||
PUBLIC ??$AtlConvFreeMemory@D@ATL@@YAXPAD0H@Z ; ATL::AtlConvFreeMemory<char>
|
||
PUBLIC ??$AtlConvFreeMemory@_W@ATL@@YAXPA_W0H@Z ; ATL::AtlConvFreeMemory<wchar_t>
|
||
PUBLIC ??$AtlConvAllocMemory@D@ATL@@YAXPAPADHPADH@Z ; ATL::AtlConvAllocMemory<char>
|
||
PUBLIC ??$AtlConvAllocMemory@_W@ATL@@YAXPAPA_WHPA_WH@Z ; ATL::AtlConvAllocMemory<wchar_t>
|
||
PUBLIC ??$AtlAddThrow@H@ATL@@YAHHH@Z ; ATL::AtlAddThrow<int>
|
||
PUBLIC ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA ; `__local_stdio_printf_options'::`2'::_OptionsStorage
|
||
PUBLIC ??_C@_11LOCGONAA@@ ; `string'
|
||
PUBLIC ??_C@_13FPGAJAPJ@?$AA?2@ ; `string'
|
||
PUBLIC ??_C@_1BC@HEKPCAFP@?$AAA?$AAp?$AAp?$AAE?$AAr?$AAr?$AAo?$AAr@ ; `string'
|
||
PUBLIC ??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@ ; `string'
|
||
PUBLIC ??_C@_13JKNELIBG@?$AAT@ ; `string'
|
||
PUBLIC ??_C@_1M@DFKENGJN@?$AA?$CF?$AAs?$AA?2?$AA?$CF?$AAs@ ; `string'
|
||
PUBLIC ??_C@_09INGMKCJK@?5?$CFs?0?$CFs?0?$CFd@ ; `string'
|
||
PUBLIC ?__LINE__Var@?0??Log@CSAStatusLog@@QAAHPB_WZZ@4JA ; `CSAStatusLog::Log'::`1'::__LINE__Var
|
||
PUBLIC ??_C@_03GGEOLGBL@Log@ ; `string'
|
||
PUBLIC ??_C@_0DJ@PHLILAKE@D?3?2Works?2Corpsms_2010?2public?2SA@ ; `string'
|
||
PUBLIC ??_C@_1O@MHOOHJDP@?$AA?$CF?$AAY?$AA?$CF?$AAm?$AA?$CF?$AAd@ ; `string'
|
||
PUBLIC ??_C@_09IGCMIAJA@?$CFs_?$CFs?4log@ ; `string'
|
||
PUBLIC ??_C@_01MCMALHOG@a@ ; `string'
|
||
PUBLIC ??_C@_05LLGELLBM@?$CFs?5?3?5@ ; `string'
|
||
PUBLIC ??_C@_0BC@LGPAMIPH@?$CFY?9?$CFm?9?$CFd?5?$CFH?3?$CFM?3?$CFS@ ; `string'
|
||
PUBLIC ??_C@_03OFAPEBGM@?$CFs?6@ ; `string'
|
||
PUBLIC ??_C@_15JNBOKNOG@?$AA?$AN?$AA?6@ ; `string'
|
||
PUBLIC ??_C@_1BC@HENGEFHL@?$AA?$CF?$AAH?$AA?3?$AA?$CF?$AAM?$AA?3?$AA?$CF?$AAS@ ; `string'
|
||
PUBLIC ??_C@_1BA@KIJFPCPK@?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAs?$AA?$AN?$AA?6@ ; `string'
|
||
PUBLIC ??_C@_1BM@BELHOIIM@?$AA?$CF?$AAY?$AA?$CF?$AAm?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAH?$AA?$CF?$AAM?$AA?$CF?$AAS@ ; `string'
|
||
PUBLIC ??_C@_0BA@IKNFHKEF@?$CFs_?$CFs_?$CFs_?$CFd?4log@ ; `string'
|
||
EXTRN ___report_rangecheckfailure:PROC
|
||
EXTRN __invalid_parameter_noinfo:PROC
|
||
EXTRN __errno:PROC
|
||
EXTRN _calloc:PROC
|
||
EXTRN _free:PROC
|
||
EXTRN __recalloc:PROC
|
||
EXTRN ___stdio_common_vswprintf:PROC
|
||
EXTRN ___stdio_common_vswprintf_s:PROC
|
||
EXTRN _fclose:PROC
|
||
EXTRN _fopen:PROC
|
||
EXTRN _fwrite:PROC
|
||
EXTRN ___stdio_common_vfprintf:PROC
|
||
EXTRN ___stdio_common_vsprintf:PROC
|
||
EXTRN ___stdio_common_vsprintf_s:PROC
|
||
EXTRN _memcpy:PROC
|
||
EXTRN _memmove:PROC
|
||
EXTRN _memset:PROC
|
||
EXTRN _wcsrchr:PROC
|
||
EXTRN _wcsstr:PROC
|
||
EXTRN _wcscat:PROC
|
||
EXTRN _wcslen:PROC
|
||
EXTRN _strlen:PROC
|
||
EXTRN _wcsftime:PROC
|
||
EXTRN _wmemcpy_s:PROC
|
||
EXTRN __localtime64_s:PROC
|
||
EXTRN __time64:PROC
|
||
EXTRN __imp__CreateDirectoryW@8:PROC
|
||
EXTRN __imp__GetLastError@0:PROC
|
||
EXTRN __imp__InitializeCriticalSection@4:PROC
|
||
EXTRN __imp__EnterCriticalSection@4:PROC
|
||
EXTRN __imp__LeaveCriticalSection@4:PROC
|
||
EXTRN __imp__DeleteCriticalSection@4:PROC
|
||
EXTRN __imp__GetTickCount@0:PROC
|
||
EXTRN __imp__GetModuleFileNameW@12:PROC
|
||
EXTRN __imp__LoadResource@8:PROC
|
||
EXTRN __imp__LockResource@4:PROC
|
||
EXTRN __imp__SizeofResource@8:PROC
|
||
EXTRN __imp__FindResourceW@12:PROC
|
||
EXTRN __imp__SendMessageW@16:PROC
|
||
EXTRN __imp__MultiByteToWideChar@24:PROC
|
||
EXTRN __imp__WideCharToMultiByte@32:PROC
|
||
EXTRN ?AfxThrowMemoryException@@YGXXZ:PROC ; AfxThrowMemoryException
|
||
EXTRN ?AfxThrowInvalidArgException@@YGXXZ:PROC ; AfxThrowInvalidArgException
|
||
EXTRN ?AfxThrowOleException@@YGXJ@Z:PROC ; AfxThrowOleException
|
||
EXTRN ?AfxFindStringResourceHandle@@YGPAUHINSTANCE__@@I@Z:PROC ; AfxFindStringResourceHandle
|
||
EXTRN ?AfxGetStringManager@@YGPAUIAtlStringMgr@ATL@@XZ:PROC ; AfxGetStringManager
|
||
EXTRN ?AfxIsValidString@@YGHPB_WH@Z:PROC ; AfxIsValidString
|
||
EXTRN ?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ:PROC ; AfxGetModuleState
|
||
EXTRN ?SetWindowTextW@CWnd@@QAEXPB_W@Z:PROC ; CWnd::SetWindowTextW
|
||
EXTRN ?GetWindowTextW@CWnd@@QBEXAAV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@Z:PROC ; CWnd::GetWindowTextW
|
||
EXTRN ?GetWindowTextLengthW@CWnd@@QBEHXZ:PROC ; CWnd::GetWindowTextLengthW
|
||
EXTRN @__security_check_cookie@4:PROC
|
||
EXTRN ___CxxFrameHandler3:PROC
|
||
EXTRN __chkstk:PROC
|
||
EXTRN _memset:PROC
|
||
EXTRN ___security_cookie:DWORD
|
||
; COMDAT ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA
|
||
_BSS SEGMENT
|
||
?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA DQ 01H DUP (?) ; `__local_stdio_printf_options'::`2'::_OptionsStorage
|
||
_BSS ENDS
|
||
; COMDAT ??_C@_0BA@IKNFHKEF@?$CFs_?$CFs_?$CFs_?$CFd?4log@
|
||
CONST SEGMENT
|
||
??_C@_0BA@IKNFHKEF@?$CFs_?$CFs_?$CFs_?$CFd?4log@ DB '%s_%s_%s_%d.log', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_1BM@BELHOIIM@?$AA?$CF?$AAY?$AA?$CF?$AAm?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAH?$AA?$CF?$AAM?$AA?$CF?$AAS@
|
||
CONST SEGMENT
|
||
??_C@_1BM@BELHOIIM@?$AA?$CF?$AAY?$AA?$CF?$AAm?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAH?$AA?$CF?$AAM?$AA?$CF?$AAS@ DB '%'
|
||
DB 00H, 'Y', 00H, '%', 00H, 'm', 00H, '%', 00H, 'd', 00H, ' ', 00H
|
||
DB '%', 00H, 'H', 00H, '%', 00H, 'M', 00H, '%', 00H, 'S', 00H, 00H
|
||
DB 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_1BA@KIJFPCPK@?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAs?$AA?$AN?$AA?6@
|
||
CONST SEGMENT
|
||
??_C@_1BA@KIJFPCPK@?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAs?$AA?$AN?$AA?6@ DB '%', 00H
|
||
DB 's', 00H, ' ', 00H, '%', 00H, 's', 00H, 0dH, 00H, 0aH, 00H, 00H
|
||
DB 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_1BC@HENGEFHL@?$AA?$CF?$AAH?$AA?3?$AA?$CF?$AAM?$AA?3?$AA?$CF?$AAS@
|
||
CONST SEGMENT
|
||
??_C@_1BC@HENGEFHL@?$AA?$CF?$AAH?$AA?3?$AA?$CF?$AAM?$AA?3?$AA?$CF?$AAS@ DB '%'
|
||
DB 00H, 'H', 00H, ':', 00H, '%', 00H, 'M', 00H, ':', 00H, '%', 00H
|
||
DB 'S', 00H, 00H, 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_15JNBOKNOG@?$AA?$AN?$AA?6@
|
||
CONST SEGMENT
|
||
??_C@_15JNBOKNOG@?$AA?$AN?$AA?6@ DB 0dH, 00H, 0aH, 00H, 00H, 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_03OFAPEBGM@?$CFs?6@
|
||
CONST SEGMENT
|
||
??_C@_03OFAPEBGM@?$CFs?6@ DB '%s', 0aH, 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0BC@LGPAMIPH@?$CFY?9?$CFm?9?$CFd?5?$CFH?3?$CFM?3?$CFS@
|
||
CONST SEGMENT
|
||
??_C@_0BC@LGPAMIPH@?$CFY?9?$CFm?9?$CFd?5?$CFH?3?$CFM?3?$CFS@ DB '%Y-%m-%d'
|
||
DB ' %H:%M:%S', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_05LLGELLBM@?$CFs?5?3?5@
|
||
CONST SEGMENT
|
||
??_C@_05LLGELLBM@?$CFs?5?3?5@ DB '%s : ', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_01MCMALHOG@a@
|
||
CONST SEGMENT
|
||
??_C@_01MCMALHOG@a@ DB 'a', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_09IGCMIAJA@?$CFs_?$CFs?4log@
|
||
CONST SEGMENT
|
||
??_C@_09IGCMIAJA@?$CFs_?$CFs?4log@ DB '%s_%s.log', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_1O@MHOOHJDP@?$AA?$CF?$AAY?$AA?$CF?$AAm?$AA?$CF?$AAd@
|
||
CONST SEGMENT
|
||
??_C@_1O@MHOOHJDP@?$AA?$CF?$AAY?$AA?$CF?$AAm?$AA?$CF?$AAd@ DB '%', 00H, 'Y'
|
||
DB 00H, '%', 00H, 'm', 00H, '%', 00H, 'd', 00H, 00H, 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0DJ@PHLILAKE@D?3?2Works?2Corpsms_2010?2public?2SA@
|
||
CONST SEGMENT
|
||
??_C@_0DJ@PHLILAKE@D?3?2Works?2Corpsms_2010?2public?2SA@ DB 'D:\Works\Cor'
|
||
DB 'psms_2010\public\SAStatusLog\SAStatusLog.cpp', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_03GGEOLGBL@Log@
|
||
CONST SEGMENT
|
||
??_C@_03GGEOLGBL@Log@ DB 'Log', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ?__LINE__Var@?0??Log@CSAStatusLog@@QAAHPB_WZZ@4JA
|
||
_DATA SEGMENT
|
||
?__LINE__Var@?0??Log@CSAStatusLog@@QAAHPB_WZZ@4JA DD 06bH ; `CSAStatusLog::Log'::`1'::__LINE__Var
|
||
_DATA ENDS
|
||
; COMDAT ??_C@_09INGMKCJK@?5?$CFs?0?$CFs?0?$CFd@
|
||
CONST SEGMENT
|
||
??_C@_09INGMKCJK@?5?$CFs?0?$CFs?0?$CFd@ DB ' %s,%s,%d', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_1M@DFKENGJN@?$AA?$CF?$AAs?$AA?2?$AA?$CF?$AAs@
|
||
CONST SEGMENT
|
||
??_C@_1M@DFKENGJN@?$AA?$CF?$AAs?$AA?2?$AA?$CF?$AAs@ DB '%', 00H, 's', 00H
|
||
DB '\', 00H, '%', 00H, 's', 00H, 00H, 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_13JKNELIBG@?$AAT@
|
||
CONST SEGMENT
|
||
??_C@_13JKNELIBG@?$AAT@ DB 'T', 00H, 00H, 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@
|
||
CONST SEGMENT
|
||
??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@ DB 'L', 00H, 'o', 00H, 'g', 00H, 00H, 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_1BC@HEKPCAFP@?$AAA?$AAp?$AAp?$AAE?$AAr?$AAr?$AAo?$AAr@
|
||
CONST SEGMENT
|
||
??_C@_1BC@HEKPCAFP@?$AAA?$AAp?$AAp?$AAE?$AAr?$AAr?$AAo?$AAr@ DB 'A', 00H, 'p'
|
||
DB 00H, 'p', 00H, 'E', 00H, 'r', 00H, 'r', 00H, 'o', 00H, 'r', 00H
|
||
DB 00H, 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_13FPGAJAPJ@?$AA?2@
|
||
CONST SEGMENT
|
||
??_C@_13FPGAJAPJ@?$AA?2@ DB '\', 00H, 00H, 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_11LOCGONAA@@
|
||
CONST SEGMENT
|
||
??_C@_11LOCGONAA@@ DB 00H, 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?GetDefaultManager@?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?FindStringResourceInstance@?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@SAPAUHINSTANCE__@@I@Z DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?ConvertToBaseType@?$ChTraitsCRT@D@ATL@@SAXPADHPB_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$?GetBaseTypeLength@?$ChTraitsCRT@D@ATL@@SAHPB_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$?Format@?$ChTraitsCRT@D@ATL@@SAHPADIPBD0@Z DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?GetFormattedLength@?$ChTraitsCRT@D@ATL@@SAHPBDPAD@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$??1?$CW2AEX@$0IA@@ATL@@QAE@XZ DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$??1?$CA2WEX@$0IA@@ATL@@QAE@XZ DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 016H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__unwindtable$?FormatV@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEXPBDPAD@Z DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$?FormatV@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEXPBDPAD@Z$0
|
||
__ehfuncinfo$?FormatV@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEXPBDPAD@Z DD 019930522H
|
||
DD 01H
|
||
DD FLAT:__unwindtable$?FormatV@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEXPBDPAD@Z
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 016H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__unwindtable$??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ$0
|
||
__ehfuncinfo$??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ DD 019930522H
|
||
DD 01H
|
||
DD FLAT:__unwindtable$??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@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@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBDPAUIAtlStringMgr@1@@Z DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBDPAUIAtlStringMgr@1@@Z$0
|
||
__ehfuncinfo$??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBDPAUIAtlStringMgr@1@@Z DD 019930522H
|
||
DD 01H
|
||
DD FLAT:__unwindtable$??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBDPAUIAtlStringMgr@1@@Z
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 016H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__unwindtable$??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBD@Z DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBD@Z$0
|
||
__ehfuncinfo$??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBD@Z DD 019930522H
|
||
DD 01H
|
||
DD FLAT:__unwindtable$??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBD@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@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ$0
|
||
__ehfuncinfo$??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ DD 019930522H
|
||
DD 01H
|
||
DD FLAT:__unwindtable$??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@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 047H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?GetBaseName@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z DD 019930522H
|
||
DD 05H
|
||
DD FLAT:__unwindtable$?GetBaseName@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
__unwindtable$?GetBaseName@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$?GetBaseName@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z$4
|
||
DD 00H
|
||
DD FLAT:__unwindfunclet$?GetBaseName@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z$0
|
||
DD 01H
|
||
DD FLAT:__unwindfunclet$?GetBaseName@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z$1
|
||
DD 01H
|
||
DD FLAT:__unwindfunclet$?GetBaseName@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z$2
|
||
DD 01H
|
||
DD FLAT:__unwindfunclet$?GetBaseName@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z$3
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 03fH
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__unwindtable$?GetBaseDir@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$?GetBaseDir@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z$3
|
||
DD 00H
|
||
DD FLAT:__unwindfunclet$?GetBaseDir@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z$0
|
||
DD 01H
|
||
DD FLAT:__unwindfunclet$?GetBaseDir@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z$1
|
||
DD 01H
|
||
DD FLAT:__unwindfunclet$?GetBaseDir@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z$2
|
||
__ehfuncinfo$?GetBaseDir@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z DD 019930522H
|
||
DD 04H
|
||
DD FLAT:__unwindtable$?GetBaseDir@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 05bH
|
||
DB 068H
|
||
voltbl ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DW 01eH
|
||
DW 02fbH
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z DD 019930522H
|
||
DD 0bH
|
||
DD FLAT:__unwindtable$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
__unwindtable$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z$0
|
||
DD 00H
|
||
DD FLAT:__unwindfunclet$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z$1
|
||
DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z$1
|
||
DD 02H
|
||
DD FLAT:__unwindfunclet$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z$2
|
||
DD 03H
|
||
DD FLAT:__unwindfunclet$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z$3
|
||
DD 02H
|
||
DD FLAT:__unwindfunclet$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z$3
|
||
DD 05H
|
||
DD FLAT:__unwindfunclet$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z$4
|
||
DD 06H
|
||
DD FLAT:__unwindfunclet$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z$5
|
||
DD 07H
|
||
DD FLAT:__unwindfunclet$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z$6
|
||
DD 06H
|
||
DD FLAT:__unwindfunclet$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z$6
|
||
DD 05H
|
||
DD FLAT:__unwindfunclet$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z$6
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 047H
|
||
DB 054H
|
||
voltbl ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DW 01eH
|
||
DW 018eH
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z DD 019930522H
|
||
DD 07H
|
||
DD FLAT:__unwindtable$?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
__unwindtable$?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z$0
|
||
DD 00H
|
||
DD FLAT:__unwindfunclet$?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z$1
|
||
DD 01H
|
||
DD FLAT:__unwindfunclet$?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z$2
|
||
DD 02H
|
||
DD FLAT:__unwindfunclet$?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z$3
|
||
DD 01H
|
||
DD FLAT:__unwindfunclet$?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z$3
|
||
DD 04H
|
||
DD FLAT:__unwindfunclet$?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z$4
|
||
DD 05H
|
||
DD FLAT:__unwindfunclet$?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z$5
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 0d4H
|
||
DB 0e1H
|
||
voltbl ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DW 023H
|
||
DW 075fH
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__catchsym$?Log@CSAStatusLog@@QAAHPB_WZZ$20 DD 00H
|
||
DD 00H
|
||
DD 00H
|
||
DD FLAT:__catch$?Log@CSAStatusLog@@QAAHPB_WZZ$0
|
||
__tryblocktable$?Log@CSAStatusLog@@QAAHPB_WZZ DD 00H
|
||
DD 00H
|
||
DD 04H
|
||
DD 01H
|
||
DD FLAT:__catchsym$?Log@CSAStatusLog@@QAAHPB_WZZ$20
|
||
__ehfuncinfo$?Log@CSAStatusLog@@QAAHPB_WZZ DD 019930522H
|
||
DD 01bH
|
||
DD FLAT:__unwindtable$?Log@CSAStatusLog@@QAAHPB_WZZ
|
||
DD 01H
|
||
DD FLAT:__tryblocktable$?Log@CSAStatusLog@@QAAHPB_WZZ
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
__unwindtable$?Log@CSAStatusLog@@QAAHPB_WZZ DD 0ffffffffH
|
||
DD 00H
|
||
DD 0ffffffffH
|
||
DD 00H
|
||
DD 01H
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$2
|
||
DD 02H
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$3
|
||
DD 03H
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$4
|
||
DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$5
|
||
DD 05H
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$6
|
||
DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$6
|
||
DD 07H
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$7
|
||
DD 08H
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$8
|
||
DD 09H
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$9
|
||
DD 08H
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$9
|
||
DD 07H
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$9
|
||
DD 0cH
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$10
|
||
DD 0dH
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$11
|
||
DD 0cH
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$11
|
||
DD 0cH
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$12
|
||
DD 010H
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$13
|
||
DD 011H
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$14
|
||
DD 010H
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$14
|
||
DD 0cH
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$14
|
||
DD 0cH
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$15
|
||
DD 015H
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$16
|
||
DD 0cH
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$16
|
||
DD 0cH
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$17
|
||
DD 018H
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$18
|
||
DD 019H
|
||
DD FLAT:__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$19
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 06bH
|
||
DB 078H
|
||
voltbl ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DW 01eH
|
||
DW 0264H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z DD 019930522H
|
||
DD 0aH
|
||
DD FLAT:__unwindtable$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
__unwindtable$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z$0
|
||
DD 00H
|
||
DD FLAT:__unwindfunclet$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z$1
|
||
DD 01H
|
||
DD FLAT:__unwindfunclet$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z$2
|
||
DD 02H
|
||
DD FLAT:__unwindfunclet$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z$3
|
||
DD 01H
|
||
DD FLAT:__unwindfunclet$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z$3
|
||
DD 04H
|
||
DD FLAT:__unwindfunclet$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z$4
|
||
DD 05H
|
||
DD FLAT:__unwindfunclet$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z$5
|
||
DD 04H
|
||
DD FLAT:__unwindfunclet$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z$6
|
||
DD 07H
|
||
DD FLAT:__unwindfunclet$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z$7
|
||
DD 08H
|
||
DD FLAT:__unwindfunclet$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z$8
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 02aH
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__unwindtable$??1CSAStatusLog@@QAE@XZ DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$??1CSAStatusLog@@QAE@XZ$0
|
||
DD 00H
|
||
DD FLAT:__unwindfunclet$??1CSAStatusLog@@QAE@XZ$1
|
||
__ehfuncinfo$??1CSAStatusLog@@QAE@XZ DD 019930522H
|
||
DD 02H
|
||
DD FLAT:__unwindtable$??1CSAStatusLog@@QAE@XZ
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 02aH
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__unwindtable$??0CSAStatusLog@@QAE@XZ DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$??0CSAStatusLog@@QAE@XZ$0
|
||
DD 00H
|
||
DD FLAT:__unwindfunclet$??0CSAStatusLog@@QAE@XZ$1
|
||
__ehfuncinfo$??0CSAStatusLog@@QAE@XZ DD 019930522H
|
||
DD 02H
|
||
DD FLAT:__unwindtable$??0CSAStatusLog@@QAE@XZ
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?StringLength@?$CSimpleStringT@D$0A@@ATL@@SAHPBD@Z DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?CopyCharsOverlapped@?$CSimpleStringT@D$0A@@ATL@@SAXPADIPBDH@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@D$0A@@ATL@@QAEXXZ DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 02fH
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__unwindtable$?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PBD@Z DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PBD@Z$1
|
||
DD 00H
|
||
DD FLAT:__unwindfunclet$?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PBD@Z$0
|
||
__ehfuncinfo$?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PBD@Z DD 019930522H
|
||
DD 02H
|
||
DD FLAT:__unwindtable$?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PBD@Z
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 02dH
|
||
DB 03aH
|
||
voltbl ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DW 01eH
|
||
DW 0116H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__unwindtable$?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PB_W@Z DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PB_W@Z$0
|
||
__ehfuncinfo$?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PB_W@Z DD 019930522H
|
||
DD 01H
|
||
DD FLAT:__unwindtable$?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PB_W@Z
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?GetTickCount@CTime@ATL@@SG?AV12@XZ DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 02fH
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__unwindtable$??HATL@@YA?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@0@ABV10@0@Z DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$??HATL@@YA?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@0@ABV10@0@Z$1
|
||
DD 00H
|
||
DD FLAT:__unwindfunclet$??HATL@@YA?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@0@ABV10@0@Z$0
|
||
__ehfuncinfo$??HATL@@YA?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@0@ABV10@0@Z DD 019930522H
|
||
DD 02H
|
||
DD FLAT:__unwindtable$??HATL@@YA?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@0@ABV10@0@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$?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z$0
|
||
__ehfuncinfo$?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z DD 019930522H
|
||
DD 01H
|
||
DD FLAT:__unwindtable$?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 027H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__unwindtable$?Left@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$?Left@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z$0
|
||
__ehfuncinfo$?Left@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z DD 019930522H
|
||
DD 01H
|
||
DD FLAT:__unwindtable$?Left@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 027H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__unwindtable$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z$0
|
||
__ehfuncinfo$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z DD 019930522H
|
||
DD 01H
|
||
DD FLAT:__unwindtable$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 027H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__unwindtable$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z$0
|
||
__ehfuncinfo$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z DD 019930522H
|
||
DD 01H
|
||
DD FLAT:__unwindtable$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 016H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__unwindtable$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ$0
|
||
__ehfuncinfo$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ DD 019930522H
|
||
DD 01H
|
||
DD FLAT:__unwindtable$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 016H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z$0
|
||
__ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z DD 019930522H
|
||
DD 01H
|
||
DD FLAT:__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 016H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PBD@Z DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PBD@Z$0
|
||
__ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PBD@Z DD 019930522H
|
||
DD 01H
|
||
DD FLAT:__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PBD@Z
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 016H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z$0
|
||
__ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z DD 019930522H
|
||
DD 01H
|
||
DD FLAT:__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 016H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z$0
|
||
__ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z DD 019930522H
|
||
DD 01H
|
||
DD FLAT:__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 016H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@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@PAUIAtlStringMgr@1@@Z DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PAUIAtlStringMgr@1@@Z$0
|
||
__ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PAUIAtlStringMgr@1@@Z DD 019930522H
|
||
DD 01H
|
||
DD FLAT:__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PAUIAtlStringMgr@1@@Z
|
||
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@XZ DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ$0
|
||
__ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ DD 019930522H
|
||
DD 01H
|
||
DD FLAT:__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPBDH@Z DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPBD@Z DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?StringFindCharRev@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlalloc.h
|
||
; COMDAT ??$AtlAddThrow@H@ATL@@YAHHH@Z
|
||
_TEXT SEGMENT
|
||
_hr$ = -8 ; size = 4
|
||
_tResult$ = -4 ; size = 4
|
||
_tLeft$ = 8 ; size = 4
|
||
_tRight$ = 12 ; size = 4
|
||
??$AtlAddThrow@H@ATL@@YAHHH@Z PROC ; ATL::AtlAddThrow<int>, COMDAT
|
||
|
||
; 194 : {
|
||
|
||
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
|
||
|
||
; 195 : T tResult;
|
||
; 196 : HRESULT hr=AtlAdd(&tResult, tLeft, tRight);
|
||
|
||
00009 8b 45 0c mov eax, DWORD PTR _tRight$[ebp]
|
||
0000c 50 push eax
|
||
0000d 8b 4d 08 mov ecx, DWORD PTR _tLeft$[ebp]
|
||
00010 51 push ecx
|
||
00011 8d 55 fc lea edx, DWORD PTR _tResult$[ebp]
|
||
00014 52 push edx
|
||
00015 e8 00 00 00 00 call ??$AtlAdd@H@ATL@@YAJPAHHH@Z ; ATL::AtlAdd<int>
|
||
0001a 83 c4 0c add esp, 12 ; 0000000cH
|
||
0001d 89 45 f8 mov DWORD PTR _hr$[ebp], eax
|
||
|
||
; 197 : if(FAILED(hr))
|
||
|
||
00020 83 7d f8 00 cmp DWORD PTR _hr$[ebp], 0
|
||
00024 7d 09 jge SHORT $LN2@AtlAddThro
|
||
|
||
; 198 : {
|
||
; 199 : AtlThrow(hr);
|
||
|
||
00026 8b 45 f8 mov eax, DWORD PTR _hr$[ebp]
|
||
00029 50 push eax
|
||
0002a e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN2@AtlAddThro:
|
||
|
||
; 200 : }
|
||
; 201 : return tResult;
|
||
|
||
0002f 8b 45 fc mov eax, DWORD PTR _tResult$[ebp]
|
||
$LN3@AtlAddThro:
|
||
|
||
; 202 : }
|
||
|
||
00032 5f pop edi
|
||
00033 5e pop esi
|
||
00034 5b pop ebx
|
||
00035 8b e5 mov esp, ebp
|
||
00037 5d pop ebp
|
||
00038 c3 ret 0
|
||
??$AtlAddThrow@H@ATL@@YAHHH@Z ENDP ; ATL::AtlAddThrow<int>
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlconv.h
|
||
; COMDAT ??$AtlConvAllocMemory@_W@ATL@@YAXPAPA_WHPA_WH@Z
|
||
_TEXT SEGMENT
|
||
tv77 = -84 ; size = 4
|
||
tv71 = -84 ; size = 4
|
||
tv65 = -84 ; size = 4
|
||
_ppReallocBuf$1 = -16 ; size = 4
|
||
___atl_condVal$2 = -12 ; size = 4
|
||
___atl_condVal$3 = -8 ; size = 4
|
||
___atl_condVal$4 = -4 ; size = 4
|
||
_ppBuff$ = 8 ; size = 4
|
||
_nLength$ = 12 ; size = 4
|
||
_pszFixedBuffer$ = 16 ; size = 4
|
||
_nFixedBufferLength$ = 20 ; size = 4
|
||
??$AtlConvAllocMemory@_W@ATL@@YAXPAPA_WHPA_WH@Z PROC ; ATL::AtlConvAllocMemory<wchar_t>, COMDAT
|
||
|
||
; 112 : {
|
||
|
||
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
|
||
$LN4@AtlConvAll:
|
||
|
||
; 113 : ATLENSURE_THROW(ppBuff != NULL, E_INVALIDARG);
|
||
|
||
00009 83 7d 08 00 cmp DWORD PTR _ppBuff$[ebp], 0
|
||
0000d 74 09 je SHORT $LN32@AtlConvAll
|
||
0000f c7 45 ac 01 00
|
||
00 00 mov DWORD PTR tv65[ebp], 1
|
||
00016 eb 07 jmp SHORT $LN33@AtlConvAll
|
||
$LN32@AtlConvAll:
|
||
00018 c7 45 ac 00 00
|
||
00 00 mov DWORD PTR tv65[ebp], 0
|
||
$LN33@AtlConvAll:
|
||
0001f 8b 45 ac mov eax, DWORD PTR tv65[ebp]
|
||
00022 89 45 fc mov DWORD PTR ___atl_condVal$4[ebp], eax
|
||
$LN5@AtlConvAll:
|
||
00025 33 c0 xor eax, eax
|
||
00027 75 fc jne SHORT $LN5@AtlConvAll
|
||
00029 83 7d fc 00 cmp DWORD PTR ___atl_condVal$4[ebp], 0
|
||
0002d 75 0a jne SHORT $LN2@AtlConvAll
|
||
0002f 68 57 00 07 80 push -2147024809 ; 80070057H
|
||
00034 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN2@AtlConvAll:
|
||
00039 33 c0 xor eax, eax
|
||
0003b 75 cc jne SHORT $LN4@AtlConvAll
|
||
$LN10@AtlConvAll:
|
||
|
||
; 114 : ATLENSURE_THROW(nLength >= 0, E_INVALIDARG);
|
||
|
||
0003d 83 7d 0c 00 cmp DWORD PTR _nLength$[ebp], 0
|
||
00041 7c 09 jl SHORT $LN34@AtlConvAll
|
||
00043 c7 45 ac 01 00
|
||
00 00 mov DWORD PTR tv71[ebp], 1
|
||
0004a eb 07 jmp SHORT $LN35@AtlConvAll
|
||
$LN34@AtlConvAll:
|
||
0004c c7 45 ac 00 00
|
||
00 00 mov DWORD PTR tv71[ebp], 0
|
||
$LN35@AtlConvAll:
|
||
00053 8b 45 ac mov eax, DWORD PTR tv71[ebp]
|
||
00056 89 45 f8 mov DWORD PTR ___atl_condVal$3[ebp], eax
|
||
$LN11@AtlConvAll:
|
||
00059 33 c0 xor eax, eax
|
||
0005b 75 fc jne SHORT $LN11@AtlConvAll
|
||
0005d 83 7d f8 00 cmp DWORD PTR ___atl_condVal$3[ebp], 0
|
||
00061 75 0a jne SHORT $LN8@AtlConvAll
|
||
00063 68 57 00 07 80 push -2147024809 ; 80070057H
|
||
00068 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN8@AtlConvAll:
|
||
0006d 33 c0 xor eax, eax
|
||
0006f 75 cc jne SHORT $LN10@AtlConvAll
|
||
$LN16@AtlConvAll:
|
||
|
||
; 115 : ATLENSURE_THROW(pszFixedBuffer != NULL, E_INVALIDARG);
|
||
|
||
00071 83 7d 10 00 cmp DWORD PTR _pszFixedBuffer$[ebp], 0
|
||
00075 74 09 je SHORT $LN36@AtlConvAll
|
||
00077 c7 45 ac 01 00
|
||
00 00 mov DWORD PTR tv77[ebp], 1
|
||
0007e eb 07 jmp SHORT $LN37@AtlConvAll
|
||
$LN36@AtlConvAll:
|
||
00080 c7 45 ac 00 00
|
||
00 00 mov DWORD PTR tv77[ebp], 0
|
||
$LN37@AtlConvAll:
|
||
00087 8b 45 ac mov eax, DWORD PTR tv77[ebp]
|
||
0008a 89 45 f4 mov DWORD PTR ___atl_condVal$2[ebp], eax
|
||
$LN17@AtlConvAll:
|
||
0008d 33 c0 xor eax, eax
|
||
0008f 75 fc jne SHORT $LN17@AtlConvAll
|
||
00091 83 7d f4 00 cmp DWORD PTR ___atl_condVal$2[ebp], 0
|
||
00095 75 0a jne SHORT $LN14@AtlConvAll
|
||
00097 68 57 00 07 80 push -2147024809 ; 80070057H
|
||
0009c e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN14@AtlConvAll:
|
||
000a1 33 c0 xor eax, eax
|
||
000a3 75 cc jne SHORT $LN16@AtlConvAll
|
||
|
||
; 116 :
|
||
; 117 : //if buffer malloced, try to realloc.
|
||
; 118 : if (*ppBuff != pszFixedBuffer)
|
||
|
||
000a5 8b 45 08 mov eax, DWORD PTR _ppBuff$[ebp]
|
||
000a8 8b 08 mov ecx, DWORD PTR [eax]
|
||
000aa 3b 4d 10 cmp ecx, DWORD PTR _pszFixedBuffer$[ebp]
|
||
000ad 74 51 je SHORT $LN23@AtlConvAll
|
||
|
||
; 119 : {
|
||
; 120 : if( nLength > nFixedBufferLength )
|
||
|
||
000af 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
000b2 3b 45 14 cmp eax, DWORD PTR _nFixedBufferLength$[ebp]
|
||
000b5 7e 31 jle SHORT $LN25@AtlConvAll
|
||
|
||
; 121 : {
|
||
; 122 : _CharType* ppReallocBuf = static_cast< _CharType* >( _recalloc(*ppBuff, nLength,sizeof( _CharType ) ) );
|
||
|
||
000b7 6a 02 push 2
|
||
000b9 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
000bc 50 push eax
|
||
000bd 8b 4d 08 mov ecx, DWORD PTR _ppBuff$[ebp]
|
||
000c0 8b 11 mov edx, DWORD PTR [ecx]
|
||
000c2 52 push edx
|
||
000c3 e8 00 00 00 00 call __recalloc
|
||
000c8 83 c4 0c add esp, 12 ; 0000000cH
|
||
000cb 89 45 f0 mov DWORD PTR _ppReallocBuf$1[ebp], eax
|
||
|
||
; 123 : if (ppReallocBuf == NULL)
|
||
|
||
000ce 83 7d f0 00 cmp DWORD PTR _ppReallocBuf$1[ebp], 0
|
||
000d2 75 0a jne SHORT $LN27@AtlConvAll
|
||
|
||
; 124 : {
|
||
; 125 : AtlThrow( E_OUTOFMEMORY );
|
||
|
||
000d4 68 0e 00 07 80 push -2147024882 ; 8007000eH
|
||
000d9 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN27@AtlConvAll:
|
||
|
||
; 126 : }
|
||
; 127 : *ppBuff = ppReallocBuf;
|
||
|
||
000de 8b 45 08 mov eax, DWORD PTR _ppBuff$[ebp]
|
||
000e1 8b 4d f0 mov ecx, DWORD PTR _ppReallocBuf$1[ebp]
|
||
000e4 89 08 mov DWORD PTR [eax], ecx
|
||
|
||
; 128 : } else
|
||
|
||
000e6 eb 16 jmp SHORT $LN26@AtlConvAll
|
||
$LN25@AtlConvAll:
|
||
|
||
; 129 : {
|
||
; 130 : free(*ppBuff);
|
||
|
||
000e8 8b 45 08 mov eax, DWORD PTR _ppBuff$[ebp]
|
||
000eb 8b 08 mov ecx, DWORD PTR [eax]
|
||
000ed 51 push ecx
|
||
000ee e8 00 00 00 00 call _free
|
||
000f3 83 c4 04 add esp, 4
|
||
|
||
; 131 : *ppBuff=pszFixedBuffer;
|
||
|
||
000f6 8b 45 08 mov eax, DWORD PTR _ppBuff$[ebp]
|
||
000f9 8b 4d 10 mov ecx, DWORD PTR _pszFixedBuffer$[ebp]
|
||
000fc 89 08 mov DWORD PTR [eax], ecx
|
||
$LN26@AtlConvAll:
|
||
|
||
; 132 : }
|
||
; 133 :
|
||
; 134 : } else //Buffer is not currently malloced.
|
||
|
||
000fe eb 25 jmp SHORT $LN24@AtlConvAll
|
||
$LN23@AtlConvAll:
|
||
|
||
; 135 : {
|
||
; 136 : if( nLength > nFixedBufferLength )
|
||
|
||
00100 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
00103 3b 45 14 cmp eax, DWORD PTR _nFixedBufferLength$[ebp]
|
||
00106 7e 15 jle SHORT $LN28@AtlConvAll
|
||
|
||
; 137 : {
|
||
; 138 : *ppBuff = static_cast< _CharType* >( calloc(nLength,sizeof( _CharType ) ) );
|
||
|
||
00108 6a 02 push 2
|
||
0010a 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
0010d 50 push eax
|
||
0010e e8 00 00 00 00 call _calloc
|
||
00113 83 c4 08 add esp, 8
|
||
00116 8b 4d 08 mov ecx, DWORD PTR _ppBuff$[ebp]
|
||
00119 89 01 mov DWORD PTR [ecx], eax
|
||
|
||
; 139 : } else
|
||
|
||
0011b eb 08 jmp SHORT $LN24@AtlConvAll
|
||
$LN28@AtlConvAll:
|
||
|
||
; 140 : {
|
||
; 141 : *ppBuff=pszFixedBuffer;
|
||
|
||
0011d 8b 45 08 mov eax, DWORD PTR _ppBuff$[ebp]
|
||
00120 8b 4d 10 mov ecx, DWORD PTR _pszFixedBuffer$[ebp]
|
||
00123 89 08 mov DWORD PTR [eax], ecx
|
||
$LN24@AtlConvAll:
|
||
|
||
; 142 : }
|
||
; 143 : }
|
||
; 144 :
|
||
; 145 : if (*ppBuff == NULL)
|
||
|
||
00125 8b 45 08 mov eax, DWORD PTR _ppBuff$[ebp]
|
||
00128 83 38 00 cmp DWORD PTR [eax], 0
|
||
0012b 75 0a jne SHORT $LN31@AtlConvAll
|
||
|
||
; 146 : {
|
||
; 147 : AtlThrow( E_OUTOFMEMORY );
|
||
|
||
0012d 68 0e 00 07 80 push -2147024882 ; 8007000eH
|
||
00132 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN31@AtlConvAll:
|
||
|
||
; 148 : }
|
||
; 149 : }
|
||
|
||
00137 5f pop edi
|
||
00138 5e pop esi
|
||
00139 5b pop ebx
|
||
0013a 8b e5 mov esp, ebp
|
||
0013c 5d pop ebp
|
||
0013d c3 ret 0
|
||
??$AtlConvAllocMemory@_W@ATL@@YAXPAPA_WHPA_WH@Z ENDP ; ATL::AtlConvAllocMemory<wchar_t>
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlconv.h
|
||
; COMDAT ??$AtlConvAllocMemory@D@ATL@@YAXPAPADHPADH@Z
|
||
_TEXT SEGMENT
|
||
tv77 = -84 ; size = 4
|
||
tv71 = -84 ; size = 4
|
||
tv65 = -84 ; size = 4
|
||
_ppReallocBuf$1 = -16 ; size = 4
|
||
___atl_condVal$2 = -12 ; size = 4
|
||
___atl_condVal$3 = -8 ; size = 4
|
||
___atl_condVal$4 = -4 ; size = 4
|
||
_ppBuff$ = 8 ; size = 4
|
||
_nLength$ = 12 ; size = 4
|
||
_pszFixedBuffer$ = 16 ; size = 4
|
||
_nFixedBufferLength$ = 20 ; size = 4
|
||
??$AtlConvAllocMemory@D@ATL@@YAXPAPADHPADH@Z PROC ; ATL::AtlConvAllocMemory<char>, COMDAT
|
||
|
||
; 112 : {
|
||
|
||
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
|
||
$LN4@AtlConvAll:
|
||
|
||
; 113 : ATLENSURE_THROW(ppBuff != NULL, E_INVALIDARG);
|
||
|
||
00009 83 7d 08 00 cmp DWORD PTR _ppBuff$[ebp], 0
|
||
0000d 74 09 je SHORT $LN32@AtlConvAll
|
||
0000f c7 45 ac 01 00
|
||
00 00 mov DWORD PTR tv65[ebp], 1
|
||
00016 eb 07 jmp SHORT $LN33@AtlConvAll
|
||
$LN32@AtlConvAll:
|
||
00018 c7 45 ac 00 00
|
||
00 00 mov DWORD PTR tv65[ebp], 0
|
||
$LN33@AtlConvAll:
|
||
0001f 8b 45 ac mov eax, DWORD PTR tv65[ebp]
|
||
00022 89 45 fc mov DWORD PTR ___atl_condVal$4[ebp], eax
|
||
$LN5@AtlConvAll:
|
||
00025 33 c0 xor eax, eax
|
||
00027 75 fc jne SHORT $LN5@AtlConvAll
|
||
00029 83 7d fc 00 cmp DWORD PTR ___atl_condVal$4[ebp], 0
|
||
0002d 75 0a jne SHORT $LN2@AtlConvAll
|
||
0002f 68 57 00 07 80 push -2147024809 ; 80070057H
|
||
00034 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN2@AtlConvAll:
|
||
00039 33 c0 xor eax, eax
|
||
0003b 75 cc jne SHORT $LN4@AtlConvAll
|
||
$LN10@AtlConvAll:
|
||
|
||
; 114 : ATLENSURE_THROW(nLength >= 0, E_INVALIDARG);
|
||
|
||
0003d 83 7d 0c 00 cmp DWORD PTR _nLength$[ebp], 0
|
||
00041 7c 09 jl SHORT $LN34@AtlConvAll
|
||
00043 c7 45 ac 01 00
|
||
00 00 mov DWORD PTR tv71[ebp], 1
|
||
0004a eb 07 jmp SHORT $LN35@AtlConvAll
|
||
$LN34@AtlConvAll:
|
||
0004c c7 45 ac 00 00
|
||
00 00 mov DWORD PTR tv71[ebp], 0
|
||
$LN35@AtlConvAll:
|
||
00053 8b 45 ac mov eax, DWORD PTR tv71[ebp]
|
||
00056 89 45 f8 mov DWORD PTR ___atl_condVal$3[ebp], eax
|
||
$LN11@AtlConvAll:
|
||
00059 33 c0 xor eax, eax
|
||
0005b 75 fc jne SHORT $LN11@AtlConvAll
|
||
0005d 83 7d f8 00 cmp DWORD PTR ___atl_condVal$3[ebp], 0
|
||
00061 75 0a jne SHORT $LN8@AtlConvAll
|
||
00063 68 57 00 07 80 push -2147024809 ; 80070057H
|
||
00068 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN8@AtlConvAll:
|
||
0006d 33 c0 xor eax, eax
|
||
0006f 75 cc jne SHORT $LN10@AtlConvAll
|
||
$LN16@AtlConvAll:
|
||
|
||
; 115 : ATLENSURE_THROW(pszFixedBuffer != NULL, E_INVALIDARG);
|
||
|
||
00071 83 7d 10 00 cmp DWORD PTR _pszFixedBuffer$[ebp], 0
|
||
00075 74 09 je SHORT $LN36@AtlConvAll
|
||
00077 c7 45 ac 01 00
|
||
00 00 mov DWORD PTR tv77[ebp], 1
|
||
0007e eb 07 jmp SHORT $LN37@AtlConvAll
|
||
$LN36@AtlConvAll:
|
||
00080 c7 45 ac 00 00
|
||
00 00 mov DWORD PTR tv77[ebp], 0
|
||
$LN37@AtlConvAll:
|
||
00087 8b 45 ac mov eax, DWORD PTR tv77[ebp]
|
||
0008a 89 45 f4 mov DWORD PTR ___atl_condVal$2[ebp], eax
|
||
$LN17@AtlConvAll:
|
||
0008d 33 c0 xor eax, eax
|
||
0008f 75 fc jne SHORT $LN17@AtlConvAll
|
||
00091 83 7d f4 00 cmp DWORD PTR ___atl_condVal$2[ebp], 0
|
||
00095 75 0a jne SHORT $LN14@AtlConvAll
|
||
00097 68 57 00 07 80 push -2147024809 ; 80070057H
|
||
0009c e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN14@AtlConvAll:
|
||
000a1 33 c0 xor eax, eax
|
||
000a3 75 cc jne SHORT $LN16@AtlConvAll
|
||
|
||
; 116 :
|
||
; 117 : //if buffer malloced, try to realloc.
|
||
; 118 : if (*ppBuff != pszFixedBuffer)
|
||
|
||
000a5 8b 45 08 mov eax, DWORD PTR _ppBuff$[ebp]
|
||
000a8 8b 08 mov ecx, DWORD PTR [eax]
|
||
000aa 3b 4d 10 cmp ecx, DWORD PTR _pszFixedBuffer$[ebp]
|
||
000ad 74 51 je SHORT $LN23@AtlConvAll
|
||
|
||
; 119 : {
|
||
; 120 : if( nLength > nFixedBufferLength )
|
||
|
||
000af 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
000b2 3b 45 14 cmp eax, DWORD PTR _nFixedBufferLength$[ebp]
|
||
000b5 7e 31 jle SHORT $LN25@AtlConvAll
|
||
|
||
; 121 : {
|
||
; 122 : _CharType* ppReallocBuf = static_cast< _CharType* >( _recalloc(*ppBuff, nLength,sizeof( _CharType ) ) );
|
||
|
||
000b7 6a 01 push 1
|
||
000b9 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
000bc 50 push eax
|
||
000bd 8b 4d 08 mov ecx, DWORD PTR _ppBuff$[ebp]
|
||
000c0 8b 11 mov edx, DWORD PTR [ecx]
|
||
000c2 52 push edx
|
||
000c3 e8 00 00 00 00 call __recalloc
|
||
000c8 83 c4 0c add esp, 12 ; 0000000cH
|
||
000cb 89 45 f0 mov DWORD PTR _ppReallocBuf$1[ebp], eax
|
||
|
||
; 123 : if (ppReallocBuf == NULL)
|
||
|
||
000ce 83 7d f0 00 cmp DWORD PTR _ppReallocBuf$1[ebp], 0
|
||
000d2 75 0a jne SHORT $LN27@AtlConvAll
|
||
|
||
; 124 : {
|
||
; 125 : AtlThrow( E_OUTOFMEMORY );
|
||
|
||
000d4 68 0e 00 07 80 push -2147024882 ; 8007000eH
|
||
000d9 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN27@AtlConvAll:
|
||
|
||
; 126 : }
|
||
; 127 : *ppBuff = ppReallocBuf;
|
||
|
||
000de 8b 45 08 mov eax, DWORD PTR _ppBuff$[ebp]
|
||
000e1 8b 4d f0 mov ecx, DWORD PTR _ppReallocBuf$1[ebp]
|
||
000e4 89 08 mov DWORD PTR [eax], ecx
|
||
|
||
; 128 : } else
|
||
|
||
000e6 eb 16 jmp SHORT $LN26@AtlConvAll
|
||
$LN25@AtlConvAll:
|
||
|
||
; 129 : {
|
||
; 130 : free(*ppBuff);
|
||
|
||
000e8 8b 45 08 mov eax, DWORD PTR _ppBuff$[ebp]
|
||
000eb 8b 08 mov ecx, DWORD PTR [eax]
|
||
000ed 51 push ecx
|
||
000ee e8 00 00 00 00 call _free
|
||
000f3 83 c4 04 add esp, 4
|
||
|
||
; 131 : *ppBuff=pszFixedBuffer;
|
||
|
||
000f6 8b 45 08 mov eax, DWORD PTR _ppBuff$[ebp]
|
||
000f9 8b 4d 10 mov ecx, DWORD PTR _pszFixedBuffer$[ebp]
|
||
000fc 89 08 mov DWORD PTR [eax], ecx
|
||
$LN26@AtlConvAll:
|
||
|
||
; 132 : }
|
||
; 133 :
|
||
; 134 : } else //Buffer is not currently malloced.
|
||
|
||
000fe eb 25 jmp SHORT $LN24@AtlConvAll
|
||
$LN23@AtlConvAll:
|
||
|
||
; 135 : {
|
||
; 136 : if( nLength > nFixedBufferLength )
|
||
|
||
00100 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
00103 3b 45 14 cmp eax, DWORD PTR _nFixedBufferLength$[ebp]
|
||
00106 7e 15 jle SHORT $LN28@AtlConvAll
|
||
|
||
; 137 : {
|
||
; 138 : *ppBuff = static_cast< _CharType* >( calloc(nLength,sizeof( _CharType ) ) );
|
||
|
||
00108 6a 01 push 1
|
||
0010a 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
0010d 50 push eax
|
||
0010e e8 00 00 00 00 call _calloc
|
||
00113 83 c4 08 add esp, 8
|
||
00116 8b 4d 08 mov ecx, DWORD PTR _ppBuff$[ebp]
|
||
00119 89 01 mov DWORD PTR [ecx], eax
|
||
|
||
; 139 : } else
|
||
|
||
0011b eb 08 jmp SHORT $LN24@AtlConvAll
|
||
$LN28@AtlConvAll:
|
||
|
||
; 140 : {
|
||
; 141 : *ppBuff=pszFixedBuffer;
|
||
|
||
0011d 8b 45 08 mov eax, DWORD PTR _ppBuff$[ebp]
|
||
00120 8b 4d 10 mov ecx, DWORD PTR _pszFixedBuffer$[ebp]
|
||
00123 89 08 mov DWORD PTR [eax], ecx
|
||
$LN24@AtlConvAll:
|
||
|
||
; 142 : }
|
||
; 143 : }
|
||
; 144 :
|
||
; 145 : if (*ppBuff == NULL)
|
||
|
||
00125 8b 45 08 mov eax, DWORD PTR _ppBuff$[ebp]
|
||
00128 83 38 00 cmp DWORD PTR [eax], 0
|
||
0012b 75 0a jne SHORT $LN31@AtlConvAll
|
||
|
||
; 146 : {
|
||
; 147 : AtlThrow( E_OUTOFMEMORY );
|
||
|
||
0012d 68 0e 00 07 80 push -2147024882 ; 8007000eH
|
||
00132 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN31@AtlConvAll:
|
||
|
||
; 148 : }
|
||
; 149 : }
|
||
|
||
00137 5f pop edi
|
||
00138 5e pop esi
|
||
00139 5b pop ebx
|
||
0013a 8b e5 mov esp, ebp
|
||
0013c 5d pop ebp
|
||
0013d c3 ret 0
|
||
??$AtlConvAllocMemory@D@ATL@@YAXPAPADHPADH@Z ENDP ; ATL::AtlConvAllocMemory<char>
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlconv.h
|
||
; COMDAT ??$AtlConvFreeMemory@_W@ATL@@YAXPA_W0H@Z
|
||
_TEXT SEGMENT
|
||
_pBuff$ = 8 ; size = 4
|
||
_pszFixedBuffer$ = 12 ; size = 4
|
||
_nFixedBufferLength$ = 16 ; size = 4
|
||
??$AtlConvFreeMemory@_W@ATL@@YAXPA_W0H@Z PROC ; ATL::AtlConvFreeMemory<wchar_t>, COMDAT
|
||
|
||
; 156 : {
|
||
|
||
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
|
||
|
||
; 157 : (nFixedBufferLength);
|
||
; 158 : if( pBuff != pszFixedBuffer )
|
||
|
||
00009 8b 45 08 mov eax, DWORD PTR _pBuff$[ebp]
|
||
0000c 3b 45 0c cmp eax, DWORD PTR _pszFixedBuffer$[ebp]
|
||
0000f 74 0c je SHORT $LN1@AtlConvFre
|
||
|
||
; 159 : {
|
||
; 160 : free( pBuff );
|
||
|
||
00011 8b 45 08 mov eax, DWORD PTR _pBuff$[ebp]
|
||
00014 50 push eax
|
||
00015 e8 00 00 00 00 call _free
|
||
0001a 83 c4 04 add esp, 4
|
||
$LN1@AtlConvFre:
|
||
|
||
; 161 : }
|
||
; 162 : #ifdef _DEBUG
|
||
; 163 : else
|
||
; 164 : {
|
||
; 165 : memset(pszFixedBuffer,ATLCONV_DEADLAND_FILL,nFixedBufferLength*sizeof(_CharType));
|
||
; 166 : }
|
||
; 167 : #endif
|
||
; 168 : }
|
||
|
||
0001d 5f pop edi
|
||
0001e 5e pop esi
|
||
0001f 5b pop ebx
|
||
00020 8b e5 mov esp, ebp
|
||
00022 5d pop ebp
|
||
00023 c3 ret 0
|
||
??$AtlConvFreeMemory@_W@ATL@@YAXPA_W0H@Z ENDP ; ATL::AtlConvFreeMemory<wchar_t>
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlconv.h
|
||
; COMDAT ??$AtlConvFreeMemory@D@ATL@@YAXPAD0H@Z
|
||
_TEXT SEGMENT
|
||
_pBuff$ = 8 ; size = 4
|
||
_pszFixedBuffer$ = 12 ; size = 4
|
||
_nFixedBufferLength$ = 16 ; size = 4
|
||
??$AtlConvFreeMemory@D@ATL@@YAXPAD0H@Z PROC ; ATL::AtlConvFreeMemory<char>, COMDAT
|
||
|
||
; 156 : {
|
||
|
||
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
|
||
|
||
; 157 : (nFixedBufferLength);
|
||
; 158 : if( pBuff != pszFixedBuffer )
|
||
|
||
00009 8b 45 08 mov eax, DWORD PTR _pBuff$[ebp]
|
||
0000c 3b 45 0c cmp eax, DWORD PTR _pszFixedBuffer$[ebp]
|
||
0000f 74 0c je SHORT $LN1@AtlConvFre
|
||
|
||
; 159 : {
|
||
; 160 : free( pBuff );
|
||
|
||
00011 8b 45 08 mov eax, DWORD PTR _pBuff$[ebp]
|
||
00014 50 push eax
|
||
00015 e8 00 00 00 00 call _free
|
||
0001a 83 c4 04 add esp, 4
|
||
$LN1@AtlConvFre:
|
||
|
||
; 161 : }
|
||
; 162 : #ifdef _DEBUG
|
||
; 163 : else
|
||
; 164 : {
|
||
; 165 : memset(pszFixedBuffer,ATLCONV_DEADLAND_FILL,nFixedBufferLength*sizeof(_CharType));
|
||
; 166 : }
|
||
; 167 : #endif
|
||
; 168 : }
|
||
|
||
0001d 5f pop edi
|
||
0001e 5e pop esi
|
||
0001f 5b pop ebx
|
||
00020 8b e5 mov esp, ebp
|
||
00022 5d pop ebp
|
||
00023 c3 ret 0
|
||
??$AtlConvFreeMemory@D@ATL@@YAXPAD0H@Z ENDP ; ATL::AtlConvFreeMemory<char>
|
||
_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@DV?$ChTraitsCRT@D@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ
|
||
_TEXT SEGMENT
|
||
__$EHRec$ = -12 ; size = 12
|
||
?GetDefaultManager@?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ PROC ; StrTraitMFC<char,ATL::ChTraitsCRT<char> >::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@DV?$ChTraitsCRT@D@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@DV?$ChTraitsCRT@D@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@DV?$ChTraitsCRT@D@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?GetDefaultManager@?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ENDP ; StrTraitMFC<char,ATL::ChTraitsCRT<char> >::GetDefaultManager
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxstr.h
|
||
; COMDAT ?FindStringResourceInstance@?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@SAPAUHINSTANCE__@@I@Z
|
||
_TEXT SEGMENT
|
||
__$EHRec$ = -12 ; size = 12
|
||
_nID$ = 8 ; size = 4
|
||
?FindStringResourceInstance@?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@SAPAUHINSTANCE__@@I@Z PROC ; StrTraitMFC<char,ATL::ChTraitsCRT<char> >::FindStringResourceInstance, COMDAT
|
||
|
||
; 46 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?FindStringResourceInstance@?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@SAPAUHINSTANCE__@@I@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 40 sub esp, 64 ; 00000040H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
|
||
; 47 : return( AfxFindStringResourceHandle( nID ) );
|
||
|
||
00028 8b 45 08 mov eax, DWORD PTR _nID$[ebp]
|
||
0002b 50 push eax
|
||
0002c e8 00 00 00 00 call ?AfxFindStringResourceHandle@@YGPAUHINSTANCE__@@I@Z ; AfxFindStringResourceHandle
|
||
|
||
; 48 : }
|
||
|
||
00031 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00034 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
0003b 59 pop ecx
|
||
0003c 5f pop edi
|
||
0003d 5e pop esi
|
||
0003e 5b pop ebx
|
||
0003f 8b e5 mov esp, ebp
|
||
00041 5d pop ebp
|
||
00042 c3 ret 0
|
||
00043 cc int 3
|
||
00044 cc int 3
|
||
00045 cc int 3
|
||
00046 cc int 3
|
||
00047 cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?FindStringResourceInstance@?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@SAPAUHINSTANCE__@@I@Z:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?FindStringResourceInstance@?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@SAPAUHINSTANCE__@@I@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?FindStringResourceInstance@?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@SAPAUHINSTANCE__@@I@Z ENDP ; StrTraitMFC<char,ATL::ChTraitsCRT<char> >::FindStringResourceInstance
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?ConvertToBaseType@?$ChTraitsCRT@D@ATL@@SAXPADHPB_WH@Z
|
||
_TEXT SEGMENT
|
||
__$EHRec$ = -12 ; size = 12
|
||
_pszDest$ = 8 ; size = 4
|
||
_nDestLength$ = 12 ; size = 4
|
||
_pszSrc$ = 16 ; size = 4
|
||
_nSrcLength$ = 20 ; size = 4
|
||
?ConvertToBaseType@?$ChTraitsCRT@D@ATL@@SAXPADHPB_WH@Z PROC ; ATL::ChTraitsCRT<char>::ConvertToBaseType, COMDAT
|
||
|
||
; 366 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?ConvertToBaseType@?$ChTraitsCRT@D@ATL@@SAXPADHPB_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
|
||
|
||
; 367 : // nLen is in XCHARs
|
||
; 368 : ::WideCharToMultiByte( _AtlGetConversionACP(), 0, pszSrc, nSrcLength, pszDest, nDestLength, NULL, NULL );
|
||
|
||
00028 6a 00 push 0
|
||
0002a 6a 00 push 0
|
||
0002c 8b 45 0c mov eax, DWORD PTR _nDestLength$[ebp]
|
||
0002f 50 push eax
|
||
00030 8b 4d 08 mov ecx, DWORD PTR _pszDest$[ebp]
|
||
00033 51 push ecx
|
||
00034 8b 55 14 mov edx, DWORD PTR _nSrcLength$[ebp]
|
||
00037 52 push edx
|
||
00038 8b 45 10 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
0003b 50 push eax
|
||
0003c 6a 00 push 0
|
||
0003e e8 00 00 00 00 call ?_AtlGetConversionACP@ATL@@YGIXZ ; ATL::_AtlGetConversionACP
|
||
00043 50 push eax
|
||
00044 ff 15 00 00 00
|
||
00 call DWORD PTR __imp__WideCharToMultiByte@32
|
||
|
||
; 369 : }
|
||
|
||
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
|
||
0005c cc int 3
|
||
0005d cc int 3
|
||
0005e cc int 3
|
||
0005f cc int 3
|
||
00060 cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?ConvertToBaseType@?$ChTraitsCRT@D@ATL@@SAXPADHPB_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$?ConvertToBaseType@?$ChTraitsCRT@D@ATL@@SAXPADHPB_WH@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?ConvertToBaseType@?$ChTraitsCRT@D@ATL@@SAXPADHPB_WH@Z ENDP ; ATL::ChTraitsCRT<char>::ConvertToBaseType
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?GetBaseTypeLength@?$ChTraitsCRT@D@ATL@@SAHPB_WH@Z
|
||
_TEXT SEGMENT
|
||
__$EHRec$ = -12 ; size = 12
|
||
_pszSource$ = 8 ; size = 4
|
||
_nLength$ = 12 ; size = 4
|
||
?GetBaseTypeLength@?$ChTraitsCRT@D@ATL@@SAHPB_WH@Z PROC ; ATL::ChTraitsCRT<char>::GetBaseTypeLength, COMDAT
|
||
|
||
; 344 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?GetBaseTypeLength@?$ChTraitsCRT@D@ATL@@SAHPB_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
|
||
|
||
; 345 : // Returns required buffer length in XCHARs
|
||
; 346 : return ::WideCharToMultiByte( _AtlGetConversionACP(), 0, pszSource, nLength, NULL, 0, NULL, NULL );
|
||
|
||
00028 6a 00 push 0
|
||
0002a 6a 00 push 0
|
||
0002c 6a 00 push 0
|
||
0002e 6a 00 push 0
|
||
00030 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
00033 50 push eax
|
||
00034 8b 4d 08 mov ecx, DWORD PTR _pszSource$[ebp]
|
||
00037 51 push ecx
|
||
00038 6a 00 push 0
|
||
0003a e8 00 00 00 00 call ?_AtlGetConversionACP@ATL@@YGIXZ ; ATL::_AtlGetConversionACP
|
||
0003f 50 push eax
|
||
00040 ff 15 00 00 00
|
||
00 call DWORD PTR __imp__WideCharToMultiByte@32
|
||
|
||
; 347 : }
|
||
|
||
00046 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00049 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00050 59 pop ecx
|
||
00051 5f pop edi
|
||
00052 5e pop esi
|
||
00053 5b pop ebx
|
||
00054 8b e5 mov esp, ebp
|
||
00056 5d pop ebp
|
||
00057 c3 ret 0
|
||
00058 cc int 3
|
||
00059 cc int 3
|
||
0005a cc int 3
|
||
0005b cc int 3
|
||
0005c cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?GetBaseTypeLength@?$ChTraitsCRT@D@ATL@@SAHPB_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$?GetBaseTypeLength@?$ChTraitsCRT@D@ATL@@SAHPB_WH@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?GetBaseTypeLength@?$ChTraitsCRT@D@ATL@@SAHPB_WH@Z ENDP ; ATL::ChTraitsCRT<char>::GetBaseTypeLength
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?Format@?$ChTraitsCRT@D@ATL@@SAHPADIPBD0@Z
|
||
_TEXT SEGMENT
|
||
__$EHRec$ = -12 ; size = 12
|
||
_pszBuffer$ = 8 ; size = 4
|
||
_nlength$ = 12 ; size = 4
|
||
_pszFormat$ = 16 ; size = 4
|
||
_args$ = 20 ; size = 4
|
||
?Format@?$ChTraitsCRT@D@ATL@@SAHPADIPBD0@Z PROC ; ATL::ChTraitsCRT<char>::Format, COMDAT
|
||
|
||
; 316 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?Format@?$ChTraitsCRT@D@ATL@@SAHPADIPBD0@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
|
||
|
||
; 317 : return vsprintf_s( pszBuffer, nlength, pszFormat, args );
|
||
|
||
00028 8b 45 14 mov eax, DWORD PTR _args$[ebp]
|
||
0002b 50 push eax
|
||
0002c 8b 4d 10 mov ecx, DWORD PTR _pszFormat$[ebp]
|
||
0002f 51 push ecx
|
||
00030 8b 55 0c mov edx, DWORD PTR _nlength$[ebp]
|
||
00033 52 push edx
|
||
00034 8b 45 08 mov eax, DWORD PTR _pszBuffer$[ebp]
|
||
00037 50 push eax
|
||
00038 e8 00 00 00 00 call _vsprintf_s
|
||
0003d 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 318 : }
|
||
|
||
00040 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00043 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
0004a 59 pop ecx
|
||
0004b 5f pop edi
|
||
0004c 5e pop esi
|
||
0004d 5b pop ebx
|
||
0004e 8b e5 mov esp, ebp
|
||
00050 5d pop ebp
|
||
00051 c3 ret 0
|
||
00052 cc int 3
|
||
00053 cc int 3
|
||
00054 cc int 3
|
||
00055 cc int 3
|
||
00056 cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?Format@?$ChTraitsCRT@D@ATL@@SAHPADIPBD0@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$?Format@?$ChTraitsCRT@D@ATL@@SAHPADIPBD0@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?Format@?$ChTraitsCRT@D@ATL@@SAHPADIPBD0@Z ENDP ; ATL::ChTraitsCRT<char>::Format
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?GetFormattedLength@?$ChTraitsCRT@D@ATL@@SAHPBDPAD@Z
|
||
_TEXT SEGMENT
|
||
__$EHRec$ = -12 ; size = 12
|
||
_pszFormat$ = 8 ; size = 4
|
||
_args$ = 12 ; size = 4
|
||
?GetFormattedLength@?$ChTraitsCRT@D@ATL@@SAHPBDPAD@Z PROC ; ATL::ChTraitsCRT<char>::GetFormattedLength, COMDAT
|
||
|
||
; 296 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?GetFormattedLength@?$ChTraitsCRT@D@ATL@@SAHPBDPAD@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
|
||
|
||
; 297 : return _vscprintf( pszFormat, args );
|
||
|
||
00028 8b 45 0c mov eax, DWORD PTR _args$[ebp]
|
||
0002b 50 push eax
|
||
0002c 8b 4d 08 mov ecx, DWORD PTR _pszFormat$[ebp]
|
||
0002f 51 push ecx
|
||
00030 e8 00 00 00 00 call __vscprintf
|
||
00035 83 c4 08 add esp, 8
|
||
|
||
; 298 : }
|
||
|
||
00038 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0003b 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00042 59 pop ecx
|
||
00043 5f pop edi
|
||
00044 5e pop esi
|
||
00045 5b pop ebx
|
||
00046 8b e5 mov esp, ebp
|
||
00048 5d pop ebp
|
||
00049 c3 ret 0
|
||
0004a cc int 3
|
||
0004b cc int 3
|
||
0004c cc int 3
|
||
0004d cc int 3
|
||
0004e cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?GetFormattedLength@?$ChTraitsCRT@D@ATL@@SAHPBDPAD@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$?GetFormattedLength@?$ChTraitsCRT@D@ATL@@SAHPBDPAD@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?GetFormattedLength@?$ChTraitsCRT@D@ATL@@SAHPBDPAD@Z ENDP ; ATL::ChTraitsCRT<char>::GetFormattedLength
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlconv.h
|
||
; COMDAT ?Init@?$CW2AEX@$0IA@@ATL@@AAEXPB_WI@Z
|
||
_TEXT SEGMENT
|
||
tv149 = -84 ; size = 4
|
||
tv87 = -84 ; size = 4
|
||
_bFailed$ = -16 ; size = 4
|
||
_nLengthA$ = -12 ; size = 4
|
||
_nLengthW$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_psz$ = 8 ; size = 4
|
||
_nConvertCodePage$ = 12 ; size = 4
|
||
?Init@?$CW2AEX@$0IA@@ATL@@AAEXPB_WI@Z PROC ; ATL::CW2AEX<128>::Init, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 439 : {
|
||
|
||
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
|
||
|
||
; 440 : if (psz == NULL)
|
||
|
||
0000c 83 7d 08 00 cmp DWORD PTR _psz$[ebp], 0
|
||
00010 75 0e jne SHORT $LN2@Init
|
||
|
||
; 441 : {
|
||
; 442 : m_psz = NULL;
|
||
|
||
00012 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00015 c7 00 00 00 00
|
||
00 mov DWORD PTR [eax], 0
|
||
|
||
; 443 : return;
|
||
|
||
0001b e9 24 01 00 00 jmp $LN6@Init
|
||
$LN2@Init:
|
||
|
||
; 444 : }
|
||
; 445 : int nLengthW = static_cast<int>(wcslen( psz ))+1;
|
||
|
||
00020 8b 45 08 mov eax, DWORD PTR _psz$[ebp]
|
||
00023 50 push eax
|
||
00024 e8 00 00 00 00 call _wcslen
|
||
00029 83 c4 04 add esp, 4
|
||
0002c 83 c0 01 add eax, 1
|
||
0002f 89 45 f8 mov DWORD PTR _nLengthW$[ebp], eax
|
||
|
||
; 446 : int nLengthA = nLengthW*4;
|
||
|
||
00032 8b 45 f8 mov eax, DWORD PTR _nLengthW$[ebp]
|
||
00035 c1 e0 02 shl eax, 2
|
||
00038 89 45 f4 mov DWORD PTR _nLengthA$[ebp], eax
|
||
|
||
; 447 :
|
||
; 448 : AtlConvAllocMemory(&m_psz,nLengthA,m_szBuffer,t_nBufferLength);
|
||
|
||
0003b 68 80 00 00 00 push 128 ; 00000080H
|
||
00040 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00043 83 c0 04 add eax, 4
|
||
00046 50 push eax
|
||
00047 8b 4d f4 mov ecx, DWORD PTR _nLengthA$[ebp]
|
||
0004a 51 push ecx
|
||
0004b 8b 55 fc mov edx, DWORD PTR _this$[ebp]
|
||
0004e 52 push edx
|
||
0004f e8 00 00 00 00 call ??$AtlConvAllocMemory@D@ATL@@YAXPAPADHPADH@Z ; ATL::AtlConvAllocMemory<char>
|
||
00054 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 449 :
|
||
; 450 : BOOL bFailed=(0 == ::WideCharToMultiByte( nConvertCodePage, 0, psz, nLengthW, m_psz, nLengthA, NULL, NULL ));
|
||
|
||
00057 6a 00 push 0
|
||
00059 6a 00 push 0
|
||
0005b 8b 45 f4 mov eax, DWORD PTR _nLengthA$[ebp]
|
||
0005e 50 push eax
|
||
0005f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00062 8b 11 mov edx, DWORD PTR [ecx]
|
||
00064 52 push edx
|
||
00065 8b 45 f8 mov eax, DWORD PTR _nLengthW$[ebp]
|
||
00068 50 push eax
|
||
00069 8b 4d 08 mov ecx, DWORD PTR _psz$[ebp]
|
||
0006c 51 push ecx
|
||
0006d 6a 00 push 0
|
||
0006f 8b 55 0c mov edx, DWORD PTR _nConvertCodePage$[ebp]
|
||
00072 52 push edx
|
||
00073 ff 15 00 00 00
|
||
00 call DWORD PTR __imp__WideCharToMultiByte@32
|
||
00079 85 c0 test eax, eax
|
||
0007b 75 09 jne SHORT $LN7@Init
|
||
0007d c7 45 ac 01 00
|
||
00 00 mov DWORD PTR tv87[ebp], 1
|
||
00084 eb 07 jmp SHORT $LN8@Init
|
||
$LN7@Init:
|
||
00086 c7 45 ac 00 00
|
||
00 00 mov DWORD PTR tv87[ebp], 0
|
||
$LN8@Init:
|
||
0008d 8b 45 ac mov eax, DWORD PTR tv87[ebp]
|
||
00090 89 45 f0 mov DWORD PTR _bFailed$[ebp], eax
|
||
|
||
; 451 : if (bFailed)
|
||
|
||
00093 83 7d f0 00 cmp DWORD PTR _bFailed$[ebp], 0
|
||
00097 0f 84 82 00 00
|
||
00 je $LN3@Init
|
||
|
||
; 452 : {
|
||
; 453 : if (GetLastError()==ERROR_INSUFFICIENT_BUFFER)
|
||
|
||
0009d ff 15 00 00 00
|
||
00 call DWORD PTR __imp__GetLastError@0
|
||
000a3 83 f8 7a cmp eax, 122 ; 0000007aH
|
||
000a6 75 77 jne SHORT $LN3@Init
|
||
|
||
; 454 : {
|
||
; 455 : nLengthA = ::WideCharToMultiByte( nConvertCodePage, 0, psz, nLengthW, NULL, 0, NULL, NULL );
|
||
|
||
000a8 6a 00 push 0
|
||
000aa 6a 00 push 0
|
||
000ac 6a 00 push 0
|
||
000ae 6a 00 push 0
|
||
000b0 8b 45 f8 mov eax, DWORD PTR _nLengthW$[ebp]
|
||
000b3 50 push eax
|
||
000b4 8b 4d 08 mov ecx, DWORD PTR _psz$[ebp]
|
||
000b7 51 push ecx
|
||
000b8 6a 00 push 0
|
||
000ba 8b 55 0c mov edx, DWORD PTR _nConvertCodePage$[ebp]
|
||
000bd 52 push edx
|
||
000be ff 15 00 00 00
|
||
00 call DWORD PTR __imp__WideCharToMultiByte@32
|
||
000c4 89 45 f4 mov DWORD PTR _nLengthA$[ebp], eax
|
||
|
||
; 456 : ATLPREFAST_SUPPRESS(6102)
|
||
; 457 : AtlConvAllocMemory(&m_psz,nLengthA,m_szBuffer,t_nBufferLength);
|
||
|
||
000c7 68 80 00 00 00 push 128 ; 00000080H
|
||
000cc 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
000cf 83 c0 04 add eax, 4
|
||
000d2 50 push eax
|
||
000d3 8b 4d f4 mov ecx, DWORD PTR _nLengthA$[ebp]
|
||
000d6 51 push ecx
|
||
000d7 8b 55 fc mov edx, DWORD PTR _this$[ebp]
|
||
000da 52 push edx
|
||
000db e8 00 00 00 00 call ??$AtlConvAllocMemory@D@ATL@@YAXPAPADHPADH@Z ; ATL::AtlConvAllocMemory<char>
|
||
000e0 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 458 : ATLPREFAST_UNSUPPRESS()
|
||
; 459 : bFailed=(0 == ::WideCharToMultiByte( nConvertCodePage, 0, psz, nLengthW, m_psz, nLengthA, NULL, NULL ));
|
||
|
||
000e3 6a 00 push 0
|
||
000e5 6a 00 push 0
|
||
000e7 8b 45 f4 mov eax, DWORD PTR _nLengthA$[ebp]
|
||
000ea 50 push eax
|
||
000eb 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
000ee 8b 11 mov edx, DWORD PTR [ecx]
|
||
000f0 52 push edx
|
||
000f1 8b 45 f8 mov eax, DWORD PTR _nLengthW$[ebp]
|
||
000f4 50 push eax
|
||
000f5 8b 4d 08 mov ecx, DWORD PTR _psz$[ebp]
|
||
000f8 51 push ecx
|
||
000f9 6a 00 push 0
|
||
000fb 8b 55 0c mov edx, DWORD PTR _nConvertCodePage$[ebp]
|
||
000fe 52 push edx
|
||
000ff ff 15 00 00 00
|
||
00 call DWORD PTR __imp__WideCharToMultiByte@32
|
||
00105 85 c0 test eax, eax
|
||
00107 75 09 jne SHORT $LN9@Init
|
||
00109 c7 45 ac 01 00
|
||
00 00 mov DWORD PTR tv149[ebp], 1
|
||
00110 eb 07 jmp SHORT $LN10@Init
|
||
$LN9@Init:
|
||
00112 c7 45 ac 00 00
|
||
00 00 mov DWORD PTR tv149[ebp], 0
|
||
$LN10@Init:
|
||
00119 8b 45 ac mov eax, DWORD PTR tv149[ebp]
|
||
0011c 89 45 f0 mov DWORD PTR _bFailed$[ebp], eax
|
||
$LN3@Init:
|
||
|
||
; 460 : }
|
||
; 461 : }
|
||
; 462 : if (bFailed)
|
||
|
||
0011f 83 7d f0 00 cmp DWORD PTR _bFailed$[ebp], 0
|
||
00123 74 1f je SHORT $LN6@Init
|
||
|
||
; 463 : {
|
||
; 464 : AtlConvFreeMemory(m_psz, m_szBuffer, t_nBufferLength);
|
||
|
||
00125 68 80 00 00 00 push 128 ; 00000080H
|
||
0012a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0012d 83 c0 04 add eax, 4
|
||
00130 50 push eax
|
||
00131 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00134 8b 11 mov edx, DWORD PTR [ecx]
|
||
00136 52 push edx
|
||
00137 e8 00 00 00 00 call ??$AtlConvFreeMemory@D@ATL@@YAXPAD0H@Z ; ATL::AtlConvFreeMemory<char>
|
||
0013c 83 c4 0c add esp, 12 ; 0000000cH
|
||
|
||
; 465 : AtlThrowLastWin32();
|
||
|
||
0013f e8 00 00 00 00 call ?AtlThrowLastWin32@ATL@@YGXXZ ; ATL::AtlThrowLastWin32
|
||
$LN6@Init:
|
||
|
||
; 466 : }
|
||
; 467 : }
|
||
|
||
00144 5f pop edi
|
||
00145 5e pop esi
|
||
00146 5b pop ebx
|
||
00147 8b e5 mov esp, ebp
|
||
00149 5d pop ebp
|
||
0014a c2 08 00 ret 8
|
||
?Init@?$CW2AEX@$0IA@@ATL@@AAEXPB_WI@Z ENDP ; ATL::CW2AEX<128>::Init
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlconv.h
|
||
; COMDAT ??B?$CW2AEX@$0IA@@ATL@@QBEPADXZ
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
??B?$CW2AEX@$0IA@@ATL@@QBEPADXZ PROC ; ATL::CW2AEX<128>::operator char *, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 431 : {
|
||
|
||
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
|
||
|
||
; 432 : return( m_psz );
|
||
|
||
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0000f 8b 00 mov eax, DWORD PTR [eax]
|
||
|
||
; 433 : }
|
||
|
||
00011 5f pop edi
|
||
00012 5e pop esi
|
||
00013 5b pop ebx
|
||
00014 8b e5 mov esp, ebp
|
||
00016 5d pop ebp
|
||
00017 c3 ret 0
|
||
??B?$CW2AEX@$0IA@@ATL@@QBEPADXZ ENDP ; ATL::CW2AEX<128>::operator char *
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlconv.h
|
||
; COMDAT ??1?$CW2AEX@$0IA@@ATL@@QAE@XZ
|
||
_TEXT SEGMENT
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
??1?$CW2AEX@$0IA@@ATL@@QAE@XZ PROC ; ATL::CW2AEX<128>::~CW2AEX<128>, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 426 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$??1?$CW2AEX@$0IA@@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
|
||
|
||
; 427 : AtlConvFreeMemory(m_psz,m_szBuffer,t_nBufferLength);
|
||
|
||
0002b 68 80 00 00 00 push 128 ; 00000080H
|
||
00030 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
00033 83 c0 04 add eax, 4
|
||
00036 50 push eax
|
||
00037 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
0003a 8b 11 mov edx, DWORD PTR [ecx]
|
||
0003c 52 push edx
|
||
0003d e8 00 00 00 00 call ??$AtlConvFreeMemory@D@ATL@@YAXPAD0H@Z ; ATL::AtlConvFreeMemory<char>
|
||
00042 83 c4 0c add esp, 12 ; 0000000cH
|
||
|
||
; 428 : }
|
||
|
||
00045 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00048 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
0004f 59 pop ecx
|
||
00050 5f pop edi
|
||
00051 5e pop esi
|
||
00052 5b pop ebx
|
||
00053 8b e5 mov esp, ebp
|
||
00055 5d pop ebp
|
||
00056 c3 ret 0
|
||
00057 cc int 3
|
||
00058 cc int 3
|
||
00059 cc int 3
|
||
0005a cc int 3
|
||
0005b cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$??1?$CW2AEX@$0IA@@ATL@@QAE@XZ:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a ac mov ecx, DWORD PTR [edx-84]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??1?$CW2AEX@$0IA@@ATL@@QAE@XZ
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
??1?$CW2AEX@$0IA@@ATL@@QAE@XZ ENDP ; ATL::CW2AEX<128>::~CW2AEX<128>
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlconv.h
|
||
; COMDAT ??0?$CW2AEX@$0IA@@ATL@@QAE@PB_W@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_psz$ = 8 ; size = 4
|
||
??0?$CW2AEX@$0IA@@ATL@@QAE@PB_W@Z PROC ; ATL::CW2AEX<128>::CW2AEX<128>, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 415 : {
|
||
|
||
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
|
||
|
||
; 414 : m_psz( m_szBuffer )
|
||
|
||
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0000f 83 c0 04 add eax, 4
|
||
00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00015 89 01 mov DWORD PTR [ecx], eax
|
||
|
||
; 416 : Init( psz, _AtlGetConversionACP() );
|
||
|
||
00017 e8 00 00 00 00 call ?_AtlGetConversionACP@ATL@@YGIXZ ; ATL::_AtlGetConversionACP
|
||
0001c 50 push eax
|
||
0001d 8b 45 08 mov eax, DWORD PTR _psz$[ebp]
|
||
00020 50 push eax
|
||
00021 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00024 e8 00 00 00 00 call ?Init@?$CW2AEX@$0IA@@ATL@@AAEXPB_WI@Z ; ATL::CW2AEX<128>::Init
|
||
|
||
; 417 : }
|
||
|
||
00029 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0002c 5f pop edi
|
||
0002d 5e pop esi
|
||
0002e 5b pop ebx
|
||
0002f 8b e5 mov esp, ebp
|
||
00031 5d pop ebp
|
||
00032 c2 04 00 ret 4
|
||
??0?$CW2AEX@$0IA@@ATL@@QAE@PB_W@Z ENDP ; ATL::CW2AEX<128>::CW2AEX<128>
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlconv.h
|
||
; COMDAT ?Init@?$CA2WEX@$0IA@@ATL@@AAEXPBDI@Z
|
||
_TEXT SEGMENT
|
||
tv142 = -84 ; size = 4
|
||
tv84 = -84 ; size = 4
|
||
_bFailed$ = -16 ; size = 4
|
||
_nLengthW$ = -12 ; size = 4
|
||
_nLengthA$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_psz$ = 8 ; size = 4
|
||
_nCodePage$ = 12 ; size = 4
|
||
?Init@?$CA2WEX@$0IA@@ATL@@AAEXPBDI@Z PROC ; ATL::CA2WEX<128>::Init, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 369 : {
|
||
|
||
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
|
||
|
||
; 370 : if (psz == NULL)
|
||
|
||
0000c 83 7d 08 00 cmp DWORD PTR _psz$[ebp], 0
|
||
00010 75 0e jne SHORT $LN2@Init
|
||
|
||
; 371 : {
|
||
; 372 : m_psz = NULL;
|
||
|
||
00012 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00015 c7 00 00 00 00
|
||
00 mov DWORD PTR [eax], 0
|
||
|
||
; 373 : return;
|
||
|
||
0001b e9 11 01 00 00 jmp $LN6@Init
|
||
$LN2@Init:
|
||
|
||
; 374 : }
|
||
; 375 : int nLengthA = static_cast<int>(strlen( psz ))+1;
|
||
|
||
00020 8b 45 08 mov eax, DWORD PTR _psz$[ebp]
|
||
00023 50 push eax
|
||
00024 e8 00 00 00 00 call _strlen
|
||
00029 83 c4 04 add esp, 4
|
||
0002c 83 c0 01 add eax, 1
|
||
0002f 89 45 f8 mov DWORD PTR _nLengthA$[ebp], eax
|
||
|
||
; 376 : int nLengthW = nLengthA;
|
||
|
||
00032 8b 45 f8 mov eax, DWORD PTR _nLengthA$[ebp]
|
||
00035 89 45 f4 mov DWORD PTR _nLengthW$[ebp], eax
|
||
|
||
; 377 :
|
||
; 378 : AtlConvAllocMemory(&m_psz,nLengthW,m_szBuffer,t_nBufferLength);
|
||
|
||
00038 68 80 00 00 00 push 128 ; 00000080H
|
||
0003d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00040 83 c0 04 add eax, 4
|
||
00043 50 push eax
|
||
00044 8b 4d f4 mov ecx, DWORD PTR _nLengthW$[ebp]
|
||
00047 51 push ecx
|
||
00048 8b 55 fc mov edx, DWORD PTR _this$[ebp]
|
||
0004b 52 push edx
|
||
0004c e8 00 00 00 00 call ??$AtlConvAllocMemory@_W@ATL@@YAXPAPA_WHPA_WH@Z ; ATL::AtlConvAllocMemory<wchar_t>
|
||
00051 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 379 :
|
||
; 380 : BOOL bFailed=(0 == ::MultiByteToWideChar( nCodePage, 0, psz, nLengthA, m_psz, nLengthW ) );
|
||
|
||
00054 8b 45 f4 mov eax, DWORD PTR _nLengthW$[ebp]
|
||
00057 50 push eax
|
||
00058 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0005b 8b 11 mov edx, DWORD PTR [ecx]
|
||
0005d 52 push edx
|
||
0005e 8b 45 f8 mov eax, DWORD PTR _nLengthA$[ebp]
|
||
00061 50 push eax
|
||
00062 8b 4d 08 mov ecx, DWORD PTR _psz$[ebp]
|
||
00065 51 push ecx
|
||
00066 6a 00 push 0
|
||
00068 8b 55 0c mov edx, DWORD PTR _nCodePage$[ebp]
|
||
0006b 52 push edx
|
||
0006c ff 15 00 00 00
|
||
00 call DWORD PTR __imp__MultiByteToWideChar@24
|
||
00072 85 c0 test eax, eax
|
||
00074 75 09 jne SHORT $LN7@Init
|
||
00076 c7 45 ac 01 00
|
||
00 00 mov DWORD PTR tv84[ebp], 1
|
||
0007d eb 07 jmp SHORT $LN8@Init
|
||
$LN7@Init:
|
||
0007f c7 45 ac 00 00
|
||
00 00 mov DWORD PTR tv84[ebp], 0
|
||
$LN8@Init:
|
||
00086 8b 45 ac mov eax, DWORD PTR tv84[ebp]
|
||
00089 89 45 f0 mov DWORD PTR _bFailed$[ebp], eax
|
||
|
||
; 381 : if (bFailed)
|
||
|
||
0008c 83 7d f0 00 cmp DWORD PTR _bFailed$[ebp], 0
|
||
00090 74 7a je SHORT $LN3@Init
|
||
|
||
; 382 : {
|
||
; 383 : if (GetLastError()==ERROR_INSUFFICIENT_BUFFER)
|
||
|
||
00092 ff 15 00 00 00
|
||
00 call DWORD PTR __imp__GetLastError@0
|
||
00098 83 f8 7a cmp eax, 122 ; 0000007aH
|
||
0009b 75 6f jne SHORT $LN3@Init
|
||
|
||
; 384 : {
|
||
; 385 : nLengthW = ::MultiByteToWideChar( nCodePage, 0, psz, nLengthA, NULL, 0);
|
||
|
||
0009d 6a 00 push 0
|
||
0009f 6a 00 push 0
|
||
000a1 8b 45 f8 mov eax, DWORD PTR _nLengthA$[ebp]
|
||
000a4 50 push eax
|
||
000a5 8b 4d 08 mov ecx, DWORD PTR _psz$[ebp]
|
||
000a8 51 push ecx
|
||
000a9 6a 00 push 0
|
||
000ab 8b 55 0c mov edx, DWORD PTR _nCodePage$[ebp]
|
||
000ae 52 push edx
|
||
000af ff 15 00 00 00
|
||
00 call DWORD PTR __imp__MultiByteToWideChar@24
|
||
000b5 89 45 f4 mov DWORD PTR _nLengthW$[ebp], eax
|
||
|
||
; 386 : ATLPREFAST_SUPPRESS(6102)
|
||
; 387 : AtlConvAllocMemory(&m_psz,nLengthW,m_szBuffer,t_nBufferLength);
|
||
|
||
000b8 68 80 00 00 00 push 128 ; 00000080H
|
||
000bd 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
000c0 83 c0 04 add eax, 4
|
||
000c3 50 push eax
|
||
000c4 8b 4d f4 mov ecx, DWORD PTR _nLengthW$[ebp]
|
||
000c7 51 push ecx
|
||
000c8 8b 55 fc mov edx, DWORD PTR _this$[ebp]
|
||
000cb 52 push edx
|
||
000cc e8 00 00 00 00 call ??$AtlConvAllocMemory@_W@ATL@@YAXPAPA_WHPA_WH@Z ; ATL::AtlConvAllocMemory<wchar_t>
|
||
000d1 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 388 : ATLPREFAST_UNSUPPRESS()
|
||
; 389 : bFailed=(0 == ::MultiByteToWideChar( nCodePage, 0, psz, nLengthA, m_psz, nLengthW ) );
|
||
|
||
000d4 8b 45 f4 mov eax, DWORD PTR _nLengthW$[ebp]
|
||
000d7 50 push eax
|
||
000d8 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
000db 8b 11 mov edx, DWORD PTR [ecx]
|
||
000dd 52 push edx
|
||
000de 8b 45 f8 mov eax, DWORD PTR _nLengthA$[ebp]
|
||
000e1 50 push eax
|
||
000e2 8b 4d 08 mov ecx, DWORD PTR _psz$[ebp]
|
||
000e5 51 push ecx
|
||
000e6 6a 00 push 0
|
||
000e8 8b 55 0c mov edx, DWORD PTR _nCodePage$[ebp]
|
||
000eb 52 push edx
|
||
000ec ff 15 00 00 00
|
||
00 call DWORD PTR __imp__MultiByteToWideChar@24
|
||
000f2 85 c0 test eax, eax
|
||
000f4 75 09 jne SHORT $LN9@Init
|
||
000f6 c7 45 ac 01 00
|
||
00 00 mov DWORD PTR tv142[ebp], 1
|
||
000fd eb 07 jmp SHORT $LN10@Init
|
||
$LN9@Init:
|
||
000ff c7 45 ac 00 00
|
||
00 00 mov DWORD PTR tv142[ebp], 0
|
||
$LN10@Init:
|
||
00106 8b 45 ac mov eax, DWORD PTR tv142[ebp]
|
||
00109 89 45 f0 mov DWORD PTR _bFailed$[ebp], eax
|
||
$LN3@Init:
|
||
|
||
; 390 : }
|
||
; 391 : }
|
||
; 392 : if (bFailed)
|
||
|
||
0010c 83 7d f0 00 cmp DWORD PTR _bFailed$[ebp], 0
|
||
00110 74 1f je SHORT $LN6@Init
|
||
|
||
; 393 : {
|
||
; 394 : AtlConvFreeMemory(m_psz, m_szBuffer, t_nBufferLength);
|
||
|
||
00112 68 80 00 00 00 push 128 ; 00000080H
|
||
00117 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0011a 83 c0 04 add eax, 4
|
||
0011d 50 push eax
|
||
0011e 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00121 8b 11 mov edx, DWORD PTR [ecx]
|
||
00123 52 push edx
|
||
00124 e8 00 00 00 00 call ??$AtlConvFreeMemory@_W@ATL@@YAXPA_W0H@Z ; ATL::AtlConvFreeMemory<wchar_t>
|
||
00129 83 c4 0c add esp, 12 ; 0000000cH
|
||
|
||
; 395 : AtlThrowLastWin32();
|
||
|
||
0012c e8 00 00 00 00 call ?AtlThrowLastWin32@ATL@@YGXXZ ; ATL::AtlThrowLastWin32
|
||
$LN6@Init:
|
||
|
||
; 396 : }
|
||
; 397 : }
|
||
|
||
00131 5f pop edi
|
||
00132 5e pop esi
|
||
00133 5b pop ebx
|
||
00134 8b e5 mov esp, ebp
|
||
00136 5d pop ebp
|
||
00137 c2 08 00 ret 8
|
||
?Init@?$CA2WEX@$0IA@@ATL@@AAEXPBDI@Z ENDP ; ATL::CA2WEX<128>::Init
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlconv.h
|
||
; COMDAT ??B?$CA2WEX@$0IA@@ATL@@QBEPA_WXZ
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
??B?$CA2WEX@$0IA@@ATL@@QBEPA_WXZ PROC ; ATL::CA2WEX<128>::operator wchar_t *, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 361 : {
|
||
|
||
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
|
||
|
||
; 362 : return( m_psz );
|
||
|
||
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0000f 8b 00 mov eax, DWORD PTR [eax]
|
||
|
||
; 363 : }
|
||
|
||
00011 5f pop edi
|
||
00012 5e pop esi
|
||
00013 5b pop ebx
|
||
00014 8b e5 mov esp, ebp
|
||
00016 5d pop ebp
|
||
00017 c3 ret 0
|
||
??B?$CA2WEX@$0IA@@ATL@@QBEPA_WXZ ENDP ; ATL::CA2WEX<128>::operator wchar_t *
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlconv.h
|
||
; COMDAT ??1?$CA2WEX@$0IA@@ATL@@QAE@XZ
|
||
_TEXT SEGMENT
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
??1?$CA2WEX@$0IA@@ATL@@QAE@XZ PROC ; ATL::CA2WEX<128>::~CA2WEX<128>, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 356 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$??1?$CA2WEX@$0IA@@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
|
||
|
||
; 357 : AtlConvFreeMemory(m_psz,m_szBuffer,t_nBufferLength);
|
||
|
||
0002b 68 80 00 00 00 push 128 ; 00000080H
|
||
00030 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
00033 83 c0 04 add eax, 4
|
||
00036 50 push eax
|
||
00037 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
0003a 8b 11 mov edx, DWORD PTR [ecx]
|
||
0003c 52 push edx
|
||
0003d e8 00 00 00 00 call ??$AtlConvFreeMemory@_W@ATL@@YAXPA_W0H@Z ; ATL::AtlConvFreeMemory<wchar_t>
|
||
00042 83 c4 0c add esp, 12 ; 0000000cH
|
||
|
||
; 358 : }
|
||
|
||
00045 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00048 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
0004f 59 pop ecx
|
||
00050 5f pop edi
|
||
00051 5e pop esi
|
||
00052 5b pop ebx
|
||
00053 8b e5 mov esp, ebp
|
||
00055 5d pop ebp
|
||
00056 c3 ret 0
|
||
00057 cc int 3
|
||
00058 cc int 3
|
||
00059 cc int 3
|
||
0005a cc int 3
|
||
0005b cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$??1?$CA2WEX@$0IA@@ATL@@QAE@XZ:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a ac mov ecx, DWORD PTR [edx-84]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??1?$CA2WEX@$0IA@@ATL@@QAE@XZ
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
??1?$CA2WEX@$0IA@@ATL@@QAE@XZ ENDP ; ATL::CA2WEX<128>::~CA2WEX<128>
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlconv.h
|
||
; COMDAT ??0?$CA2WEX@$0IA@@ATL@@QAE@PBD@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_psz$ = 8 ; size = 4
|
||
??0?$CA2WEX@$0IA@@ATL@@QAE@PBD@Z PROC ; ATL::CA2WEX<128>::CA2WEX<128>, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 345 : {
|
||
|
||
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
|
||
|
||
; 344 : m_psz( m_szBuffer )
|
||
|
||
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0000f 83 c0 04 add eax, 4
|
||
00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00015 89 01 mov DWORD PTR [ecx], eax
|
||
|
||
; 346 : Init( psz, _AtlGetConversionACP() );
|
||
|
||
00017 e8 00 00 00 00 call ?_AtlGetConversionACP@ATL@@YGIXZ ; ATL::_AtlGetConversionACP
|
||
0001c 50 push eax
|
||
0001d 8b 45 08 mov eax, DWORD PTR _psz$[ebp]
|
||
00020 50 push eax
|
||
00021 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00024 e8 00 00 00 00 call ?Init@?$CA2WEX@$0IA@@ATL@@AAEXPBDI@Z ; ATL::CA2WEX<128>::Init
|
||
|
||
; 347 : }
|
||
|
||
00029 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0002c 5f pop edi
|
||
0002d 5e pop esi
|
||
0002e 5b pop ebx
|
||
0002f 8b e5 mov esp, ebp
|
||
00031 5d pop ebp
|
||
00032 c2 04 00 ret 4
|
||
??0?$CA2WEX@$0IA@@ATL@@QAE@PBD@Z ENDP ; ATL::CA2WEX<128>::CA2WEX<128>
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?CheckImplicitLoad@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@AAE_NPBX@Z
|
||
_TEXT SEGMENT
|
||
_nID$1 = -12 ; size = 4
|
||
_bRet$ = -5 ; size = 1
|
||
_this$ = -4 ; size = 4
|
||
_pv$ = 8 ; size = 4
|
||
?CheckImplicitLoad@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@AAE_NPBX@Z PROC ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CheckImplicitLoad, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 2705 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 4c sub esp, 76 ; 0000004cH
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 2706 : bool bRet = false;
|
||
|
||
0000c c6 45 fb 00 mov BYTE PTR _bRet$[ebp], 0
|
||
|
||
; 2707 :
|
||
; 2708 : if( (pv != NULL) && IS_INTRESOURCE( pv ) )
|
||
|
||
00010 83 7d 08 00 cmp DWORD PTR _pv$[ebp], 0
|
||
00014 74 28 je SHORT $LN2@CheckImpli
|
||
00016 8b 45 08 mov eax, DWORD PTR _pv$[ebp]
|
||
00019 c1 e8 10 shr eax, 16 ; 00000010H
|
||
0001c 85 c0 test eax, eax
|
||
0001e 75 1e jne SHORT $LN2@CheckImpli
|
||
|
||
; 2709 : {
|
||
; 2710 : UINT nID = LOWORD( reinterpret_cast< DWORD_PTR >( pv ) );
|
||
|
||
00020 8b 45 08 mov eax, DWORD PTR _pv$[ebp]
|
||
00023 25 ff ff 00 00 and eax, 65535 ; 0000ffffH
|
||
00028 0f b7 c8 movzx ecx, ax
|
||
0002b 89 4d f4 mov DWORD PTR _nID$1[ebp], ecx
|
||
|
||
; 2711 : (nID);
|
||
; 2712 : #ifdef _ATL_USE_WINAPI_FAMILY_DESKTOP_APP
|
||
; 2713 : if( !LoadString( nID ) )
|
||
|
||
0002e 8b 45 f4 mov eax, DWORD PTR _nID$1[ebp]
|
||
00031 50 push eax
|
||
00032 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00035 e8 00 00 00 00 call ?LoadStringW@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEHI@Z ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::LoadStringW
|
||
|
||
; 2714 : {
|
||
; 2715 : ATLTRACE( atlTraceString, 2, _T( "Warning: implicit LoadString(%u) failed\n" ), nID );
|
||
; 2716 : }
|
||
; 2717 : bRet = true;
|
||
|
||
0003a c6 45 fb 01 mov BYTE PTR _bRet$[ebp], 1
|
||
$LN2@CheckImpli:
|
||
|
||
; 2718 : #else
|
||
; 2719 : ATLTRACE( atlTraceString, 2, _T( "Warning: LoadString(%u) not supported under the current WINAPI_FAMILY.\n" ), nID );
|
||
; 2720 : #endif
|
||
; 2721 : }
|
||
; 2722 :
|
||
; 2723 : return( bRet );
|
||
|
||
0003e 8a 45 fb mov al, BYTE PTR _bRet$[ebp]
|
||
|
||
; 2724 : }
|
||
|
||
00041 5f pop edi
|
||
00042 5e pop esi
|
||
00043 5b pop ebx
|
||
00044 8b e5 mov esp, ebp
|
||
00046 5d pop ebp
|
||
00047 c2 04 00 ret 4
|
||
?CheckImplicitLoad@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@AAE_NPBX@Z ENDP ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CheckImplicitLoad
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?LoadStringW@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z
|
||
_TEXT SEGMENT
|
||
_pszBuffer$ = -16 ; size = 4
|
||
_nLength$ = -12 ; size = 4
|
||
_pImage$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_hInstance$ = 8 ; size = 4
|
||
_nID$ = 12 ; size = 4
|
||
?LoadStringW@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z PROC ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::LoadStringW, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 2350 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 50 sub esp, 80 ; 00000050H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 2351 : const ATLSTRINGRESOURCEIMAGE* pImage = AtlGetStringResourceImage( hInstance, nID );
|
||
|
||
0000c 8b 45 0c mov eax, DWORD PTR _nID$[ebp]
|
||
0000f 50 push eax
|
||
00010 8b 4d 08 mov ecx, DWORD PTR _hInstance$[ebp]
|
||
00013 51 push ecx
|
||
00014 e8 00 00 00 00 call ?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z ; ATL::AtlGetStringResourceImage
|
||
00019 83 c4 08 add esp, 8
|
||
0001c 89 45 f8 mov DWORD PTR _pImage$[ebp], eax
|
||
|
||
; 2352 : if( pImage == NULL )
|
||
|
||
0001f 83 7d f8 00 cmp DWORD PTR _pImage$[ebp], 0
|
||
00023 75 04 jne SHORT $LN2@LoadString
|
||
|
||
; 2353 : {
|
||
; 2354 : return( FALSE );
|
||
|
||
00025 33 c0 xor eax, eax
|
||
00027 eb 57 jmp SHORT $LN1@LoadString
|
||
$LN2@LoadString:
|
||
|
||
; 2355 : }
|
||
; 2356 :
|
||
; 2357 : int nLength = StringTraits::GetBaseTypeLength( pImage->achString, pImage->nLength );
|
||
|
||
00029 8b 45 f8 mov eax, DWORD PTR _pImage$[ebp]
|
||
0002c 0f b7 08 movzx ecx, WORD PTR [eax]
|
||
0002f 51 push ecx
|
||
00030 8b 55 f8 mov edx, DWORD PTR _pImage$[ebp]
|
||
00033 83 c2 02 add edx, 2
|
||
00036 52 push edx
|
||
00037 e8 00 00 00 00 call ?GetBaseTypeLength@?$ChTraitsCRT@D@ATL@@SAHPB_WH@Z ; ATL::ChTraitsCRT<char>::GetBaseTypeLength
|
||
0003c 83 c4 08 add esp, 8
|
||
0003f 89 45 f4 mov DWORD PTR _nLength$[ebp], eax
|
||
|
||
; 2358 : PXSTR pszBuffer = this->GetBuffer( nLength );
|
||
|
||
00042 8b 45 f4 mov eax, DWORD PTR _nLength$[ebp]
|
||
00045 50 push eax
|
||
00046 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00049 e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@D$0A@@ATL@@QAEPADH@Z ; ATL::CSimpleStringT<char,0>::GetBuffer
|
||
0004e 89 45 f0 mov DWORD PTR _pszBuffer$[ebp], eax
|
||
|
||
; 2359 : StringTraits::ConvertToBaseType( pszBuffer, nLength, pImage->achString, pImage->nLength );
|
||
|
||
00051 8b 45 f8 mov eax, DWORD PTR _pImage$[ebp]
|
||
00054 0f b7 08 movzx ecx, WORD PTR [eax]
|
||
00057 51 push ecx
|
||
00058 8b 55 f8 mov edx, DWORD PTR _pImage$[ebp]
|
||
0005b 83 c2 02 add edx, 2
|
||
0005e 52 push edx
|
||
0005f 8b 45 f4 mov eax, DWORD PTR _nLength$[ebp]
|
||
00062 50 push eax
|
||
00063 8b 4d f0 mov ecx, DWORD PTR _pszBuffer$[ebp]
|
||
00066 51 push ecx
|
||
00067 e8 00 00 00 00 call ?ConvertToBaseType@?$ChTraitsCRT@D@ATL@@SAXPADHPB_WH@Z ; ATL::ChTraitsCRT<char>::ConvertToBaseType
|
||
0006c 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 2360 : this->ReleaseBufferSetLength( nLength );
|
||
|
||
0006f 8b 45 f4 mov eax, DWORD PTR _nLength$[ebp]
|
||
00072 50 push eax
|
||
00073 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00076 e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@D$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<char,0>::ReleaseBufferSetLength
|
||
|
||
; 2361 :
|
||
; 2362 : return( TRUE );
|
||
|
||
0007b b8 01 00 00 00 mov eax, 1
|
||
$LN1@LoadString:
|
||
|
||
; 2363 : }
|
||
|
||
00080 5f pop edi
|
||
00081 5e pop esi
|
||
00082 5b pop ebx
|
||
00083 8b e5 mov esp, ebp
|
||
00085 5d pop ebp
|
||
00086 c2 08 00 ret 8
|
||
?LoadStringW@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z ENDP ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::LoadStringW
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?LoadStringW@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEHI@Z
|
||
_TEXT SEGMENT
|
||
_hInstance$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_nID$ = 8 ; size = 4
|
||
?LoadStringW@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEHI@Z PROC ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::LoadStringW, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 2336 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 48 sub esp, 72 ; 00000048H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 2337 : HINSTANCE hInstance = StringTraits::FindStringResourceInstance( nID );
|
||
|
||
0000c 8b 45 08 mov eax, DWORD PTR _nID$[ebp]
|
||
0000f 50 push eax
|
||
00010 e8 00 00 00 00 call ?FindStringResourceInstance@?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@SAPAUHINSTANCE__@@I@Z ; StrTraitMFC<char,ATL::ChTraitsCRT<char> >::FindStringResourceInstance
|
||
00015 83 c4 04 add esp, 4
|
||
00018 89 45 f8 mov DWORD PTR _hInstance$[ebp], eax
|
||
|
||
; 2338 : if( hInstance == NULL )
|
||
|
||
0001b 83 7d f8 00 cmp DWORD PTR _hInstance$[ebp], 0
|
||
0001f 75 04 jne SHORT $LN2@LoadString
|
||
|
||
; 2339 : {
|
||
; 2340 : return( FALSE );
|
||
|
||
00021 33 c0 xor eax, eax
|
||
00023 eb 10 jmp SHORT $LN1@LoadString
|
||
$LN2@LoadString:
|
||
|
||
; 2341 : }
|
||
; 2342 :
|
||
; 2343 : return( LoadString( hInstance, nID ) );
|
||
|
||
00025 8b 45 08 mov eax, DWORD PTR _nID$[ebp]
|
||
00028 50 push eax
|
||
00029 8b 4d f8 mov ecx, DWORD PTR _hInstance$[ebp]
|
||
0002c 51 push ecx
|
||
0002d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00030 e8 00 00 00 00 call ?LoadStringW@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::LoadStringW
|
||
$LN1@LoadString:
|
||
|
||
; 2344 : }
|
||
|
||
00035 5f pop edi
|
||
00036 5e pop esi
|
||
00037 5b pop ebx
|
||
00038 8b e5 mov esp, ebp
|
||
0003a 5d pop ebp
|
||
0003b c2 04 00 ret 4
|
||
?LoadStringW@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEHI@Z ENDP ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::LoadStringW
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?FormatV@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEXPBDPAD@Z
|
||
_TEXT SEGMENT
|
||
_pszBuffer$ = -28 ; size = 4
|
||
_temp$ = -24 ; size = 4
|
||
_nLength$ = -20 ; size = 4
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
_pszFormat$ = 8 ; size = 4
|
||
_args$ = 12 ; size = 4
|
||
?FormatV@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEXPBDPAD@Z PROC ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::FormatV, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 2221 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?FormatV@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEXPBDPAD@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 50 sub esp, 80 ; 00000050H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 2222 : ATLASSERT( AtlIsValidString( pszFormat ) );
|
||
; 2223 : if(pszFormat == NULL)
|
||
|
||
0002b 83 7d 08 00 cmp DWORD PTR _pszFormat$[ebp], 0
|
||
0002f 75 0a jne SHORT $LN2@FormatV
|
||
|
||
; 2224 : AtlThrow(E_INVALIDARG);
|
||
|
||
00031 68 57 00 07 80 push -2147024809 ; 80070057H
|
||
00036 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN2@FormatV:
|
||
|
||
; 2225 :
|
||
; 2226 : int nLength = StringTraits::GetFormattedLength( pszFormat, args );
|
||
|
||
0003b 8b 45 0c mov eax, DWORD PTR _args$[ebp]
|
||
0003e 50 push eax
|
||
0003f 8b 4d 08 mov ecx, DWORD PTR _pszFormat$[ebp]
|
||
00042 51 push ecx
|
||
00043 e8 00 00 00 00 call ?GetFormattedLength@?$ChTraitsCRT@D@ATL@@SAHPBDPAD@Z ; ATL::ChTraitsCRT<char>::GetFormattedLength
|
||
00048 83 c4 08 add esp, 8
|
||
0004b 89 45 ec mov DWORD PTR _nLength$[ebp], eax
|
||
|
||
; 2227 :
|
||
; 2228 : if (nLength < 0)
|
||
|
||
0004e 83 7d ec 00 cmp DWORD PTR _nLength$[ebp], 0
|
||
00052 7d 0a jge SHORT $LN3@FormatV
|
||
|
||
; 2229 : AtlThrow(E_FAIL);
|
||
|
||
00054 68 05 40 00 80 push -2147467259 ; 80004005H
|
||
00059 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN3@FormatV:
|
||
|
||
; 2230 :
|
||
; 2231 : CStringT temp(pszFormat, this->GetManager());
|
||
|
||
0005e 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00061 e8 00 00 00 00 call ?GetManager@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::GetManager
|
||
00066 50 push eax
|
||
00067 8b 45 08 mov eax, DWORD PTR _pszFormat$[ebp]
|
||
0006a 50 push eax
|
||
0006b 8d 4d e8 lea ecx, DWORD PTR _temp$[ebp]
|
||
0006e e8 00 00 00 00 call ??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBDPAUIAtlStringMgr@1@@Z ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
00073 c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
|
||
; 2232 : PXSTR pszBuffer = this->GetBuffer( nLength );
|
||
|
||
0007a 8b 45 ec mov eax, DWORD PTR _nLength$[ebp]
|
||
0007d 50 push eax
|
||
0007e 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00081 e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@D$0A@@ATL@@QAEPADH@Z ; ATL::CSimpleStringT<char,0>::GetBuffer
|
||
00086 89 45 e4 mov DWORD PTR _pszBuffer$[ebp], eax
|
||
|
||
; 2233 : StringTraits::Format( pszBuffer, nLength+1, temp, args );
|
||
|
||
00089 8b 45 0c mov eax, DWORD PTR _args$[ebp]
|
||
0008c 50 push eax
|
||
0008d 8d 4d e8 lea ecx, DWORD PTR _temp$[ebp]
|
||
00090 e8 00 00 00 00 call ??B?$CSimpleStringT@D$0A@@ATL@@QBEPBDXZ ; ATL::CSimpleStringT<char,0>::operator char const *
|
||
00095 50 push eax
|
||
00096 8b 4d ec mov ecx, DWORD PTR _nLength$[ebp]
|
||
00099 83 c1 01 add ecx, 1
|
||
0009c 51 push ecx
|
||
0009d 8b 55 e4 mov edx, DWORD PTR _pszBuffer$[ebp]
|
||
000a0 52 push edx
|
||
000a1 e8 00 00 00 00 call ?Format@?$ChTraitsCRT@D@ATL@@SAHPADIPBD0@Z ; ATL::ChTraitsCRT<char>::Format
|
||
000a6 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 2234 : this->ReleaseBufferSetLength( nLength );
|
||
|
||
000a9 8b 45 ec mov eax, DWORD PTR _nLength$[ebp]
|
||
000ac 50 push eax
|
||
000ad 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
000b0 e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@D$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<char,0>::ReleaseBufferSetLength
|
||
|
||
; 2235 : }
|
||
|
||
000b5 c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
|
||
000bc 8d 4d e8 lea ecx, DWORD PTR _temp$[ebp]
|
||
000bf e8 00 00 00 00 call ??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
$LN4@FormatV:
|
||
000c4 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
000c7 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
000ce 59 pop ecx
|
||
000cf 5f pop edi
|
||
000d0 5e pop esi
|
||
000d1 5b pop ebx
|
||
000d2 8b e5 mov esp, ebp
|
||
000d4 5d pop ebp
|
||
000d5 c2 08 00 ret 8
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$?FormatV@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEXPBDPAD@Z$0:
|
||
00000 8d 4d e8 lea ecx, DWORD PTR _temp$[ebp]
|
||
00003 e9 00 00 00 00 jmp ??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
00008 cc int 3
|
||
00009 cc int 3
|
||
0000a cc int 3
|
||
0000b cc int 3
|
||
0000c cc int 3
|
||
__ehhandler$?FormatV@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEXPBDPAD@Z:
|
||
0000d 90 npad 1
|
||
0000e 90 npad 1
|
||
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00016 8b 4a a0 mov ecx, DWORD PTR [edx-96]
|
||
00019 33 c8 xor ecx, eax
|
||
0001b e8 00 00 00 00 call @__security_check_cookie@4
|
||
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?FormatV@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEXPBDPAD@Z
|
||
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?FormatV@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEXPBDPAD@Z ENDP ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::FormatV
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?Format@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAAXPBDZZ
|
||
_TEXT SEGMENT
|
||
_argList$ = -4 ; size = 4
|
||
_this$ = 8 ; size = 4
|
||
_pszFormat$ = 12 ; size = 4
|
||
?Format@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAAXPBDZZ PROC ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::Format, COMDAT
|
||
|
||
; 2741 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 48 sub esp, 72 ; 00000048H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
|
||
; 2742 : ATLASSERT( AtlIsValidString( pszFormat ) );
|
||
; 2743 :
|
||
; 2744 : va_list argList;
|
||
; 2745 : va_start( argList, pszFormat );
|
||
|
||
00009 8d 45 10 lea eax, DWORD PTR _pszFormat$[ebp+4]
|
||
0000c 89 45 fc mov DWORD PTR _argList$[ebp], eax
|
||
|
||
; 2746 : FormatV( pszFormat, argList );
|
||
|
||
0000f 8b 45 fc mov eax, DWORD PTR _argList$[ebp]
|
||
00012 50 push eax
|
||
00013 8b 4d 0c mov ecx, DWORD PTR _pszFormat$[ebp]
|
||
00016 51 push ecx
|
||
00017 8b 4d 08 mov ecx, DWORD PTR _this$[ebp]
|
||
0001a e8 00 00 00 00 call ?FormatV@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEXPBDPAD@Z ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::FormatV
|
||
|
||
; 2747 : va_end( argList );
|
||
|
||
0001f c7 45 fc 00 00
|
||
00 00 mov DWORD PTR _argList$[ebp], 0
|
||
|
||
; 2748 : }
|
||
|
||
00026 5f pop edi
|
||
00027 5e pop esi
|
||
00028 5b pop ebx
|
||
00029 8b e5 mov esp, ebp
|
||
0002b 5d pop ebp
|
||
0002c c3 ret 0
|
||
?Format@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAAXPBDZZ ENDP ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::Format
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?GetManager@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ
|
||
_TEXT SEGMENT
|
||
_pStringMgr$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
?GetManager@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ PROC ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::GetManager, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 1436 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 48 sub esp, 72 ; 00000048H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 1437 : IAtlStringMgr* pStringMgr = CThisSimpleString::GetManager();
|
||
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetManager@?$CSimpleStringT@D$0A@@ATL@@QBEPAUIAtlStringMgr@2@XZ ; ATL::CSimpleStringT<char,0>::GetManager
|
||
00014 89 45 f8 mov DWORD PTR _pStringMgr$[ebp], eax
|
||
|
||
; 1438 : if(pStringMgr) { return pStringMgr; }
|
||
|
||
00017 83 7d f8 00 cmp DWORD PTR _pStringMgr$[ebp], 0
|
||
0001b 74 05 je SHORT $LN2@GetManager
|
||
0001d 8b 45 f8 mov eax, DWORD PTR _pStringMgr$[ebp]
|
||
00020 eb 15 jmp SHORT $LN1@GetManager
|
||
$LN2@GetManager:
|
||
|
||
; 1439 :
|
||
; 1440 : pStringMgr = StringTraits::GetDefaultManager();
|
||
|
||
00022 e8 00 00 00 00 call ?GetDefaultManager@?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC<char,ATL::ChTraitsCRT<char> >::GetDefaultManager
|
||
00027 89 45 f8 mov DWORD PTR _pStringMgr$[ebp], eax
|
||
|
||
; 1441 : return pStringMgr->Clone();
|
||
|
||
0002a 8b 45 f8 mov eax, DWORD PTR _pStringMgr$[ebp]
|
||
0002d 8b 10 mov edx, DWORD PTR [eax]
|
||
0002f 8b 4d f8 mov ecx, DWORD PTR _pStringMgr$[ebp]
|
||
00032 8b 42 10 mov eax, DWORD PTR [edx+16]
|
||
00035 ff d0 call eax
|
||
$LN1@GetManager:
|
||
|
||
; 1442 : }
|
||
|
||
00037 5f pop edi
|
||
00038 5e pop esi
|
||
00039 5b pop ebx
|
||
0003a 8b e5 mov esp, ebp
|
||
0003c 5d pop ebp
|
||
0003d c3 ret 0
|
||
?GetManager@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ ENDP ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::GetManager
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ??4?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEAAV01@PBD@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_pszSrc$ = 8 ; size = 4
|
||
??4?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEAAV01@PBD@Z PROC ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::operator=, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 1318 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 1319 : CThisSimpleString::operator=( pszSrc );
|
||
|
||
0000c 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
0000f 50 push eax
|
||
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00013 e8 00 00 00 00 call ??4?$CSimpleStringT@D$0A@@ATL@@QAEAAV01@PBD@Z ; ATL::CSimpleStringT<char,0>::operator=
|
||
|
||
; 1320 :
|
||
; 1321 : return( *this );
|
||
|
||
00018 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
|
||
; 1322 : }
|
||
|
||
0001b 5f pop edi
|
||
0001c 5e pop esi
|
||
0001d 5b pop ebx
|
||
0001e 8b e5 mov esp, ebp
|
||
00020 5d pop ebp
|
||
00021 c2 04 00 ret 4
|
||
??4?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEAAV01@PBD@Z ENDP ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::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@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ
|
||
_TEXT SEGMENT
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ PROC ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >, 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@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@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@D$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<char,0>::~CSimpleStringT<char,0>
|
||
00041 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00044 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
0004b 59 pop ecx
|
||
0004c 5f pop edi
|
||
0004d 5e pop esi
|
||
0004e 5b pop ebx
|
||
0004f 8b e5 mov esp, ebp
|
||
00051 5d pop ebp
|
||
00052 c3 ret 0
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ$0:
|
||
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@D$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<char,0>::~CSimpleStringT<char,0>
|
||
00008 cc int 3
|
||
00009 cc int 3
|
||
0000a cc int 3
|
||
0000b cc int 3
|
||
0000c cc int 3
|
||
__ehhandler$??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@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@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ
|
||
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ENDP ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
; 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@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBDPAUIAtlStringMgr@1@@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
_pszSrc$ = 8 ; size = 4
|
||
_pStringMgr$ = 12 ; size = 4
|
||
??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBDPAUIAtlStringMgr@1@@Z PROC ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 1060 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBDPAUIAtlStringMgr@1@@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 44 sub esp, 68 ; 00000044H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 1059 : CThisSimpleString( pStringMgr )
|
||
|
||
0002b 8b 45 0c mov eax, DWORD PTR _pStringMgr$[ebp]
|
||
0002e 50 push eax
|
||
0002f 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00032 e8 00 00 00 00 call ??0?$CSimpleStringT@D$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<char,0>::CSimpleStringT<char,0>
|
||
00037 c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
|
||
; 1061 : if( !CheckImplicitLoad( pszSrc ) )
|
||
|
||
0003e 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
00041 50 push eax
|
||
00042 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00045 e8 00 00 00 00 call ?CheckImplicitLoad@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@AAE_NPBX@Z ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CheckImplicitLoad
|
||
0004a 0f b6 c8 movzx ecx, al
|
||
0004d 85 c9 test ecx, ecx
|
||
0004f 75 0c jne SHORT $LN1@CStringT
|
||
|
||
; 1062 : {
|
||
; 1063 : *this = pszSrc;
|
||
|
||
00051 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
00054 50 push eax
|
||
00055 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00058 e8 00 00 00 00 call ??4?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEAAV01@PBD@Z ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::operator=
|
||
$LN1@CStringT:
|
||
|
||
; 1064 : }
|
||
; 1065 : }
|
||
|
||
0005d c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
|
||
00064 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
00067 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0006a 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00071 59 pop ecx
|
||
00072 5f pop edi
|
||
00073 5e pop esi
|
||
00074 5b pop ebx
|
||
00075 8b e5 mov esp, ebp
|
||
00077 5d pop ebp
|
||
00078 c2 08 00 ret 8
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBDPAUIAtlStringMgr@1@@Z$0:
|
||
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@D$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<char,0>::~CSimpleStringT<char,0>
|
||
00008 cc int 3
|
||
00009 cc int 3
|
||
0000a cc int 3
|
||
0000b cc int 3
|
||
0000c cc int 3
|
||
__ehhandler$??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBDPAUIAtlStringMgr@1@@Z:
|
||
0000d 90 npad 1
|
||
0000e 90 npad 1
|
||
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00016 8b 4a ac mov ecx, DWORD PTR [edx-84]
|
||
00019 33 c8 xor ecx, eax
|
||
0001b e8 00 00 00 00 call @__security_check_cookie@4
|
||
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBDPAUIAtlStringMgr@1@@Z
|
||
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBDPAUIAtlStringMgr@1@@Z ENDP ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
; 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@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBD@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
_pszSrc$ = 8 ; size = 4
|
||
??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBD@Z PROC ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 1049 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBD@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 44 sub esp, 68 ; 00000044H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 1048 : CThisSimpleString( StringTraits::GetDefaultManager() )
|
||
|
||
0002b e8 00 00 00 00 call ?GetDefaultManager@?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC<char,ATL::ChTraitsCRT<char> >::GetDefaultManager
|
||
00030 50 push eax
|
||
00031 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00034 e8 00 00 00 00 call ??0?$CSimpleStringT@D$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<char,0>::CSimpleStringT<char,0>
|
||
00039 c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
|
||
; 1050 : if( !CheckImplicitLoad( pszSrc ) )
|
||
|
||
00040 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
00043 50 push eax
|
||
00044 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00047 e8 00 00 00 00 call ?CheckImplicitLoad@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@AAE_NPBX@Z ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CheckImplicitLoad
|
||
0004c 0f b6 c8 movzx ecx, al
|
||
0004f 85 c9 test ecx, ecx
|
||
00051 75 0c jne SHORT $LN1@CStringT
|
||
|
||
; 1051 : {
|
||
; 1052 : *this = pszSrc;
|
||
|
||
00053 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
00056 50 push eax
|
||
00057 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
0005a e8 00 00 00 00 call ??4?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAEAAV01@PBD@Z ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::operator=
|
||
$LN1@CStringT:
|
||
|
||
; 1053 : }
|
||
; 1054 : }
|
||
|
||
0005f c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
|
||
00066 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
00069 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0006c 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00073 59 pop ecx
|
||
00074 5f pop edi
|
||
00075 5e pop esi
|
||
00076 5b pop ebx
|
||
00077 8b e5 mov esp, ebp
|
||
00079 5d pop ebp
|
||
0007a c2 04 00 ret 4
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBD@Z$0:
|
||
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@D$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<char,0>::~CSimpleStringT<char,0>
|
||
00008 cc int 3
|
||
00009 cc int 3
|
||
0000a cc int 3
|
||
0000b cc int 3
|
||
0000c cc int 3
|
||
__ehhandler$??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBD@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@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBD@Z
|
||
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBD@Z ENDP ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
; 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@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ
|
||
_TEXT SEGMENT
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ PROC ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >, 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@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@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@DV?$ChTraitsCRT@D@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC<char,ATL::ChTraitsCRT<char> >::GetDefaultManager
|
||
00030 50 push eax
|
||
00031 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00034 e8 00 00 00 00 call ??0?$CSimpleStringT@D$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<char,0>::CSimpleStringT<char,0>
|
||
00039 c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
|
||
; 1012 : }
|
||
|
||
00040 c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
|
||
00047 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
0004a 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0004d 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00054 59 pop ecx
|
||
00055 5f pop edi
|
||
00056 5e pop esi
|
||
00057 5b pop ebx
|
||
00058 8b e5 mov esp, ebp
|
||
0005a 5d pop ebp
|
||
0005b c3 ret 0
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ$0:
|
||
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@D$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<char,0>::~CSimpleStringT<char,0>
|
||
00008 cc int 3
|
||
00009 cc int 3
|
||
0000a cc int 3
|
||
0000b cc int 3
|
||
0000c cc int 3
|
||
__ehhandler$??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@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@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ
|
||
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ENDP ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\public\SAStatusLog\SAStatusLog.cpp
|
||
; COMDAT ?GetBaseName@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z
|
||
_TEXT SEGMENT
|
||
tv148 = -116 ; size = 4
|
||
tv146 = -116 ; size = 4
|
||
tv144 = -116 ; size = 4
|
||
tv155 = -112 ; size = 4
|
||
tv154 = -112 ; size = 4
|
||
tv65 = -112 ; size = 4
|
||
$T2 = -108 ; size = 4
|
||
$T3 = -104 ; size = 4
|
||
$T4 = -100 ; size = 4
|
||
$T5 = -96 ; size = 4
|
||
_iDotPos$ = -28 ; size = 4
|
||
_iSlashPos$ = -24 ; size = 4
|
||
_out$ = -20 ; size = 4
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
___$ReturnUdt$ = 8 ; size = 4
|
||
_path$ = 12 ; size = 4
|
||
?GetBaseName@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z PROC ; CSAStatusLog::GetBaseName, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 291 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?GetBaseName@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 68 sub esp, 104 ; 00000068H
|
||
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 94 00 00
|
||
00 00 mov DWORD PTR $T2[ebp], 0
|
||
|
||
; 292 : CString out = path;
|
||
|
||
00032 8b 45 0c mov eax, DWORD PTR _path$[ebp]
|
||
00035 50 push eax
|
||
00036 8d 4d ec lea ecx, DWORD PTR _out$[ebp]
|
||
00039 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
0003e c7 45 fc 01 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 1
|
||
|
||
; 293 :
|
||
; 294 : int iSlashPos = path.ReverseFind('\\');
|
||
|
||
00045 6a 5c push 92 ; 0000005cH
|
||
00047 8b 4d 0c mov ecx, DWORD PTR _path$[ebp]
|
||
0004a e8 00 00 00 00 call ?ReverseFind@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEH_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::ReverseFind
|
||
0004f 89 45 e8 mov DWORD PTR _iSlashPos$[ebp], eax
|
||
|
||
; 295 : if (iSlashPos !=-1)
|
||
|
||
00052 83 7d e8 ff cmp DWORD PTR _iSlashPos$[ebp], -1
|
||
00056 74 3a je SHORT $LN2@GetBaseNam
|
||
|
||
; 296 : {
|
||
; 297 : out = out.Mid(iSlashPos+1);
|
||
|
||
00058 8b 45 e8 mov eax, DWORD PTR _iSlashPos$[ebp]
|
||
0005b 83 c0 01 add eax, 1
|
||
0005e 50 push eax
|
||
0005f 8d 4d a0 lea ecx, DWORD PTR $T5[ebp]
|
||
00062 51 push ecx
|
||
00063 8d 4d ec lea ecx, DWORD PTR _out$[ebp]
|
||
00066 e8 00 00 00 00 call ?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid
|
||
0006b 89 45 90 mov DWORD PTR tv65[ebp], eax
|
||
0006e 8b 55 90 mov edx, DWORD PTR tv65[ebp]
|
||
00071 89 55 8c mov DWORD PTR tv144[ebp], edx
|
||
00074 c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+8], 2
|
||
00078 8b 45 8c mov eax, DWORD PTR tv144[ebp]
|
||
0007b 50 push eax
|
||
0007c 8d 4d ec lea ecx, DWORD PTR _out$[ebp]
|
||
0007f e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
|
||
00084 c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+8], 1
|
||
00088 8d 4d a0 lea ecx, DWORD PTR $T5[ebp]
|
||
0008b e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
|
||
; 298 : }
|
||
|
||
00090 eb 4b jmp SHORT $LN3@GetBaseNam
|
||
$LN2@GetBaseNam:
|
||
|
||
; 299 : else
|
||
; 300 : {
|
||
; 301 : iSlashPos = path.ReverseFind('/');
|
||
|
||
00092 6a 2f push 47 ; 0000002fH
|
||
00094 8b 4d 0c mov ecx, DWORD PTR _path$[ebp]
|
||
00097 e8 00 00 00 00 call ?ReverseFind@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEH_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::ReverseFind
|
||
0009c 89 45 e8 mov DWORD PTR _iSlashPos$[ebp], eax
|
||
|
||
; 302 : if (iSlashPos !=-1)
|
||
|
||
0009f 83 7d e8 ff cmp DWORD PTR _iSlashPos$[ebp], -1
|
||
000a3 74 38 je SHORT $LN3@GetBaseNam
|
||
|
||
; 303 : {
|
||
; 304 : out = out.Mid(iSlashPos+1);
|
||
|
||
000a5 8b 45 e8 mov eax, DWORD PTR _iSlashPos$[ebp]
|
||
000a8 83 c0 01 add eax, 1
|
||
000ab 50 push eax
|
||
000ac 8d 4d 9c lea ecx, DWORD PTR $T4[ebp]
|
||
000af 51 push ecx
|
||
000b0 8d 4d ec lea ecx, DWORD PTR _out$[ebp]
|
||
000b3 e8 00 00 00 00 call ?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid
|
||
000b8 89 45 90 mov DWORD PTR tv154[ebp], eax
|
||
000bb 8b 55 90 mov edx, DWORD PTR tv154[ebp]
|
||
000be 89 55 8c mov DWORD PTR tv146[ebp], edx
|
||
000c1 c6 45 fc 03 mov BYTE PTR __$EHRec$[ebp+8], 3
|
||
000c5 8b 45 8c mov eax, DWORD PTR tv146[ebp]
|
||
000c8 50 push eax
|
||
000c9 8d 4d ec lea ecx, DWORD PTR _out$[ebp]
|
||
000cc e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
|
||
000d1 c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+8], 1
|
||
000d5 8d 4d 9c lea ecx, DWORD PTR $T4[ebp]
|
||
000d8 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
$LN3@GetBaseNam:
|
||
|
||
; 305 : }
|
||
; 306 : }
|
||
; 307 :
|
||
; 308 : int iDotPos = out.ReverseFind('.');
|
||
|
||
000dd 6a 2e push 46 ; 0000002eH
|
||
000df 8d 4d ec lea ecx, DWORD PTR _out$[ebp]
|
||
000e2 e8 00 00 00 00 call ?ReverseFind@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEH_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::ReverseFind
|
||
000e7 89 45 e4 mov DWORD PTR _iDotPos$[ebp], eax
|
||
|
||
; 309 : if (iDotPos>0)
|
||
|
||
000ea 83 7d e4 00 cmp DWORD PTR _iDotPos$[ebp], 0
|
||
000ee 7e 35 jle SHORT $LN5@GetBaseNam
|
||
|
||
; 310 : {
|
||
; 311 : out = out.Left(iDotPos);
|
||
|
||
000f0 8b 45 e4 mov eax, DWORD PTR _iDotPos$[ebp]
|
||
000f3 50 push eax
|
||
000f4 8d 4d 98 lea ecx, DWORD PTR $T3[ebp]
|
||
000f7 51 push ecx
|
||
000f8 8d 4d ec lea ecx, DWORD PTR _out$[ebp]
|
||
000fb e8 00 00 00 00 call ?Left@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Left
|
||
00100 89 45 90 mov DWORD PTR tv155[ebp], eax
|
||
00103 8b 55 90 mov edx, DWORD PTR tv155[ebp]
|
||
00106 89 55 8c mov DWORD PTR tv148[ebp], edx
|
||
00109 c6 45 fc 04 mov BYTE PTR __$EHRec$[ebp+8], 4
|
||
0010d 8b 45 8c mov eax, DWORD PTR tv148[ebp]
|
||
00110 50 push eax
|
||
00111 8d 4d ec lea ecx, DWORD PTR _out$[ebp]
|
||
00114 e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
|
||
00119 c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+8], 1
|
||
0011d 8d 4d 98 lea ecx, DWORD PTR $T3[ebp]
|
||
00120 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
$LN5@GetBaseNam:
|
||
|
||
; 312 : }
|
||
; 313 :
|
||
; 314 : return out;
|
||
|
||
00125 8d 45 ec lea eax, DWORD PTR _out$[ebp]
|
||
00128 50 push eax
|
||
00129 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
|
||
0012c e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
00131 8b 4d 94 mov ecx, DWORD PTR $T2[ebp]
|
||
00134 83 c9 01 or ecx, 1
|
||
00137 89 4d 94 mov DWORD PTR $T2[ebp], ecx
|
||
0013a c6 45 fc 00 mov BYTE PTR __$EHRec$[ebp+8], 0
|
||
0013e 8d 4d ec lea ecx, DWORD PTR _out$[ebp]
|
||
00141 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
00146 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp]
|
||
|
||
; 315 : }
|
||
|
||
00149 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0014c 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00153 59 pop ecx
|
||
00154 5f pop edi
|
||
00155 5e pop esi
|
||
00156 5b pop ebx
|
||
00157 8b e5 mov esp, ebp
|
||
00159 5d pop ebp
|
||
0015a c2 08 00 ret 8
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$?GetBaseName@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z$0:
|
||
00000 8d 4d ec lea ecx, DWORD PTR _out$[ebp]
|
||
00003 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?GetBaseName@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z$1:
|
||
00008 8d 4d a0 lea ecx, DWORD PTR $T5[ebp]
|
||
0000b e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?GetBaseName@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z$2:
|
||
00010 8d 4d 9c lea ecx, DWORD PTR $T4[ebp]
|
||
00013 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?GetBaseName@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z$3:
|
||
00018 8d 4d 98 lea ecx, DWORD PTR $T3[ebp]
|
||
0001b e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?GetBaseName@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z$4:
|
||
00020 8b 45 94 mov eax, DWORD PTR $T2[ebp]
|
||
00023 83 e0 01 and eax, 1
|
||
00026 0f 84 0c 00 00
|
||
00 je $LN12@GetBaseNam
|
||
0002c 83 65 94 fe and DWORD PTR $T2[ebp], -2 ; fffffffeH
|
||
00030 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
|
||
00033 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
$LN12@GetBaseNam:
|
||
00038 c3 ret 0
|
||
00039 cc int 3
|
||
0003a cc int 3
|
||
0003b cc int 3
|
||
0003c cc int 3
|
||
0003d cc int 3
|
||
__ehhandler$?GetBaseName@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z:
|
||
0003e 90 npad 1
|
||
0003f 90 npad 1
|
||
00040 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00044 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00047 8b 4a 88 mov ecx, DWORD PTR [edx-120]
|
||
0004a 33 c8 xor ecx, eax
|
||
0004c e8 00 00 00 00 call @__security_check_cookie@4
|
||
00051 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?GetBaseName@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z
|
||
00056 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?GetBaseName@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z ENDP ; CSAStatusLog::GetBaseName
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\public\SAStatusLog\SAStatusLog.cpp
|
||
; COMDAT ?GetBaseDir@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z
|
||
_TEXT SEGMENT
|
||
tv132 = -108 ; size = 4
|
||
tv130 = -108 ; size = 4
|
||
tv138 = -104 ; size = 4
|
||
tv65 = -104 ; size = 4
|
||
$T2 = -100 ; size = 4
|
||
$T3 = -96 ; size = 4
|
||
$T4 = -92 ; size = 4
|
||
_iSlashPos$ = -24 ; size = 4
|
||
_out$ = -20 ; size = 4
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
___$ReturnUdt$ = 8 ; size = 4
|
||
_path$ = 12 ; size = 4
|
||
?GetBaseDir@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z PROC ; CSAStatusLog::GetBaseDir, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 320 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?GetBaseDir@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 60 sub esp, 96 ; 00000060H
|
||
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 9c 00 00
|
||
00 00 mov DWORD PTR $T2[ebp], 0
|
||
|
||
; 321 : CString out = _T("");
|
||
|
||
00032 68 00 00 00 00 push OFFSET ??_C@_11LOCGONAA@@
|
||
00037 8d 4d ec lea ecx, DWORD PTR _out$[ebp]
|
||
0003a e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
0003f c7 45 fc 01 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 1
|
||
|
||
; 322 : int iSlashPos = path.ReverseFind('\\');
|
||
|
||
00046 6a 5c push 92 ; 0000005cH
|
||
00048 8b 4d 0c mov ecx, DWORD PTR _path$[ebp]
|
||
0004b e8 00 00 00 00 call ?ReverseFind@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEH_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::ReverseFind
|
||
00050 89 45 e8 mov DWORD PTR _iSlashPos$[ebp], eax
|
||
|
||
; 323 : if (iSlashPos !=-1)
|
||
|
||
00053 83 7d e8 ff cmp DWORD PTR _iSlashPos$[ebp], -1
|
||
00057 74 37 je SHORT $LN2@GetBaseDir
|
||
|
||
; 324 : {
|
||
; 325 : out = path.Left(iSlashPos);
|
||
|
||
00059 8b 45 e8 mov eax, DWORD PTR _iSlashPos$[ebp]
|
||
0005c 50 push eax
|
||
0005d 8d 4d a4 lea ecx, DWORD PTR $T4[ebp]
|
||
00060 51 push ecx
|
||
00061 8b 4d 0c mov ecx, DWORD PTR _path$[ebp]
|
||
00064 e8 00 00 00 00 call ?Left@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Left
|
||
00069 89 45 98 mov DWORD PTR tv65[ebp], eax
|
||
0006c 8b 55 98 mov edx, DWORD PTR tv65[ebp]
|
||
0006f 89 55 94 mov DWORD PTR tv130[ebp], edx
|
||
00072 c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+8], 2
|
||
00076 8b 45 94 mov eax, DWORD PTR tv130[ebp]
|
||
00079 50 push eax
|
||
0007a 8d 4d ec lea ecx, DWORD PTR _out$[ebp]
|
||
0007d e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
|
||
00082 c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+8], 1
|
||
00086 8d 4d a4 lea ecx, DWORD PTR $T4[ebp]
|
||
00089 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
|
||
; 326 : }
|
||
|
||
0008e eb 48 jmp SHORT $LN3@GetBaseDir
|
||
$LN2@GetBaseDir:
|
||
|
||
; 327 : else
|
||
; 328 : {
|
||
; 329 : iSlashPos = path.ReverseFind('/');
|
||
|
||
00090 6a 2f push 47 ; 0000002fH
|
||
00092 8b 4d 0c mov ecx, DWORD PTR _path$[ebp]
|
||
00095 e8 00 00 00 00 call ?ReverseFind@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEH_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::ReverseFind
|
||
0009a 89 45 e8 mov DWORD PTR _iSlashPos$[ebp], eax
|
||
|
||
; 330 : if (iSlashPos !=-1)
|
||
|
||
0009d 83 7d e8 ff cmp DWORD PTR _iSlashPos$[ebp], -1
|
||
000a1 74 35 je SHORT $LN3@GetBaseDir
|
||
|
||
; 331 : {
|
||
; 332 : out = path.Left(iSlashPos);
|
||
|
||
000a3 8b 45 e8 mov eax, DWORD PTR _iSlashPos$[ebp]
|
||
000a6 50 push eax
|
||
000a7 8d 4d a0 lea ecx, DWORD PTR $T3[ebp]
|
||
000aa 51 push ecx
|
||
000ab 8b 4d 0c mov ecx, DWORD PTR _path$[ebp]
|
||
000ae e8 00 00 00 00 call ?Left@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Left
|
||
000b3 89 45 98 mov DWORD PTR tv138[ebp], eax
|
||
000b6 8b 55 98 mov edx, DWORD PTR tv138[ebp]
|
||
000b9 89 55 94 mov DWORD PTR tv132[ebp], edx
|
||
000bc c6 45 fc 03 mov BYTE PTR __$EHRec$[ebp+8], 3
|
||
000c0 8b 45 94 mov eax, DWORD PTR tv132[ebp]
|
||
000c3 50 push eax
|
||
000c4 8d 4d ec lea ecx, DWORD PTR _out$[ebp]
|
||
000c7 e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
|
||
000cc c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+8], 1
|
||
000d0 8d 4d a0 lea ecx, DWORD PTR $T3[ebp]
|
||
000d3 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
$LN3@GetBaseDir:
|
||
|
||
; 333 : }
|
||
; 334 : }
|
||
; 335 :
|
||
; 336 : return out;
|
||
|
||
000d8 8d 45 ec lea eax, DWORD PTR _out$[ebp]
|
||
000db 50 push eax
|
||
000dc 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
|
||
000df e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
000e4 8b 4d 9c mov ecx, DWORD PTR $T2[ebp]
|
||
000e7 83 c9 01 or ecx, 1
|
||
000ea 89 4d 9c mov DWORD PTR $T2[ebp], ecx
|
||
000ed c6 45 fc 00 mov BYTE PTR __$EHRec$[ebp+8], 0
|
||
000f1 8d 4d ec lea ecx, DWORD PTR _out$[ebp]
|
||
000f4 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
000f9 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp]
|
||
|
||
; 337 : }
|
||
|
||
000fc 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
000ff 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00106 59 pop ecx
|
||
00107 5f pop edi
|
||
00108 5e pop esi
|
||
00109 5b pop ebx
|
||
0010a 8b e5 mov esp, ebp
|
||
0010c 5d pop ebp
|
||
0010d c2 08 00 ret 8
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$?GetBaseDir@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z$0:
|
||
00000 8d 4d ec lea ecx, DWORD PTR _out$[ebp]
|
||
00003 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?GetBaseDir@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z$1:
|
||
00008 8d 4d a4 lea ecx, DWORD PTR $T4[ebp]
|
||
0000b e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?GetBaseDir@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z$2:
|
||
00010 8d 4d a0 lea ecx, DWORD PTR $T3[ebp]
|
||
00013 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?GetBaseDir@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z$3:
|
||
00018 8b 45 9c mov eax, DWORD PTR $T2[ebp]
|
||
0001b 83 e0 01 and eax, 1
|
||
0001e 0f 84 0c 00 00
|
||
00 je $LN10@GetBaseDir
|
||
00024 83 65 9c fe and DWORD PTR $T2[ebp], -2 ; fffffffeH
|
||
00028 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
|
||
0002b e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
$LN10@GetBaseDir:
|
||
00030 c3 ret 0
|
||
00031 cc int 3
|
||
00032 cc int 3
|
||
00033 cc int 3
|
||
00034 cc int 3
|
||
00035 cc int 3
|
||
__ehhandler$?GetBaseDir@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z:
|
||
00036 90 npad 1
|
||
00037 90 npad 1
|
||
00038 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
0003c 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
0003f 8b 4a 90 mov ecx, DWORD PTR [edx-112]
|
||
00042 33 c8 xor ecx, eax
|
||
00044 e8 00 00 00 00 call @__security_check_cookie@4
|
||
00049 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?GetBaseDir@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z
|
||
0004e e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?GetBaseDir@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z ENDP ; CSAStatusLog::GetBaseDir
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\public\SAStatusLog\SAStatusLog.cpp
|
||
; COMDAT ?Enable@CSAStatusLog@@QAEXH@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_bEnable$ = 8 ; size = 4
|
||
?Enable@CSAStatusLog@@QAEXH@Z PROC ; CSAStatusLog::Enable, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 84 : {
|
||
|
||
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
|
||
|
||
; 85 : m_bEnable = bEnable;
|
||
|
||
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0000f 8b 4d 08 mov ecx, DWORD PTR _bEnable$[ebp]
|
||
00012 89 88 90 17 00
|
||
00 mov DWORD PTR [eax+6032], ecx
|
||
|
||
; 86 : }
|
||
|
||
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
|
||
?Enable@CSAStatusLog@@QAEXH@Z ENDP ; CSAStatusLog::Enable
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\public\SAStatusLog\SAStatusLog.cpp
|
||
; COMDAT ?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z
|
||
_TEXT SEGMENT
|
||
tv202 = -1132 ; size = 4
|
||
tv208 = -1128 ; size = 4
|
||
tv200 = -1124 ; size = 4
|
||
tv197 = -1124 ; size = 4
|
||
tv194 = -1124 ; size = 4
|
||
tv207 = -1120 ; size = 4
|
||
tv178 = -1120 ; size = 4
|
||
tv128 = -1120 ; size = 4
|
||
tv85 = -1120 ; size = 4
|
||
$T2 = -1116 ; size = 4
|
||
$T3 = -1112 ; size = 4
|
||
$T4 = -1108 ; size = 4
|
||
$T5 = -1104 ; size = 4
|
||
$T6 = -1100 ; size = 4
|
||
$T7 = -1096 ; size = 132
|
||
$T8 = -964 ; size = 132
|
||
$T9 = -832 ; size = 132
|
||
$T10 = -700 ; size = 8
|
||
_lCount$11 = -564 ; size = 4
|
||
_fp$ = -560 ; size = 4
|
||
_timeA$ = -556 ; size = 4
|
||
_fileNameA$ = -552 ; size = 4
|
||
_funcTypeA$ = -548 ; size = 4
|
||
_szFile$ = -544 ; size = 512
|
||
_ct$ = -32 ; size = 8
|
||
_bOK$ = -24 ; size = 4
|
||
_this$ = -20 ; size = 4
|
||
__$ArrayPad$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
_funcType$ = 8 ; size = 4
|
||
_pData$ = 12 ; size = 4
|
||
_lSize$ = 16 ; size = 4
|
||
?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z PROC ; CSAStatusLog::Log_Data, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 251 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 81 ec 60 04 00
|
||
00 sub esp, 1120 ; 00000460H
|
||
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
|
||
|
||
; 252 : if (m_csFileName.IsEmpty())
|
||
|
||
00031 8b 4d ec mov ecx, DWORD PTR _this$[ebp]
|
||
00034 81 c1 74 17 00
|
||
00 add ecx, 6004 ; 00001774H
|
||
0003a e8 00 00 00 00 call ?IsEmpty@?$CSimpleStringT@_W$0A@@ATL@@QBE_NXZ ; ATL::CSimpleStringT<wchar_t,0>::IsEmpty
|
||
0003f 0f b6 c0 movzx eax, al
|
||
00042 85 c0 test eax, eax
|
||
00044 74 07 je SHORT $LN2@Log_Data
|
||
|
||
; 253 : return FALSE;
|
||
|
||
00046 33 c0 xor eax, eax
|
||
00048 e9 a0 02 00 00 jmp $LN1@Log_Data
|
||
$LN2@Log_Data:
|
||
|
||
; 254 :
|
||
; 255 : if (!m_bEnable)
|
||
|
||
0004d 8b 45 ec mov eax, DWORD PTR _this$[ebp]
|
||
00050 83 b8 90 17 00
|
||
00 00 cmp DWORD PTR [eax+6032], 0
|
||
00057 75 0a jne SHORT $LN3@Log_Data
|
||
|
||
; 256 : return TRUE;
|
||
|
||
00059 b8 01 00 00 00 mov eax, 1
|
||
0005e e9 8a 02 00 00 jmp $LN1@Log_Data
|
||
$LN3@Log_Data:
|
||
|
||
; 257 :
|
||
; 258 : EnterCriticalSection(&m_crit);
|
||
|
||
00063 8b 45 ec mov eax, DWORD PTR _this$[ebp]
|
||
00066 05 78 17 00 00 add eax, 6008 ; 00001778H
|
||
0006b 50 push eax
|
||
0006c ff 15 00 00 00
|
||
00 call DWORD PTR __imp__EnterCriticalSection@4
|
||
|
||
; 259 :
|
||
; 260 : BOOL bOK = FALSE;
|
||
|
||
00072 c7 45 e8 00 00
|
||
00 00 mov DWORD PTR _bOK$[ebp], 0
|
||
|
||
; 261 :
|
||
; 262 : CTime ct;
|
||
|
||
00079 8d 4d e0 lea ecx, DWORD PTR _ct$[ebp]
|
||
0007c e8 00 00 00 00 call ??0CTime@ATL@@QAE@XZ ; ATL::CTime::CTime
|
||
|
||
; 263 : ct = CTime::GetCurrentTime();
|
||
|
||
00081 8d 85 44 fd ff
|
||
ff lea eax, DWORD PTR $T10[ebp]
|
||
00087 50 push eax
|
||
00088 e8 00 00 00 00 call ?GetTickCount@CTime@ATL@@SG?AV12@XZ ; ATL::CTime::GetTickCount
|
||
0008d 8b 08 mov ecx, DWORD PTR [eax]
|
||
0008f 8b 50 04 mov edx, DWORD PTR [eax+4]
|
||
00092 89 4d e0 mov DWORD PTR _ct$[ebp], ecx
|
||
00095 89 55 e4 mov DWORD PTR _ct$[ebp+4], edx
|
||
|
||
; 264 : char szFile[512] = { 0 };
|
||
|
||
00098 68 00 02 00 00 push 512 ; 00000200H
|
||
0009d 6a 00 push 0
|
||
0009f 8d 85 e0 fd ff
|
||
ff lea eax, DWORD PTR _szFile$[ebp]
|
||
000a5 50 push eax
|
||
000a6 e8 00 00 00 00 call _memset
|
||
000ab 83 c4 0c add esp, 12 ; 0000000cH
|
||
|
||
; 265 : #ifdef _UNICODE
|
||
; 266 : CStringA funcTypeA = CW2A(funcType);
|
||
|
||
000ae 8b 45 08 mov eax, DWORD PTR _funcType$[ebp]
|
||
000b1 50 push eax
|
||
000b2 8d 8d c0 fc ff
|
||
ff lea ecx, DWORD PTR $T9[ebp]
|
||
000b8 e8 00 00 00 00 call ??0?$CW2AEX@$0IA@@ATL@@QAE@PB_W@Z ; ATL::CW2AEX<128>::CW2AEX<128>
|
||
000bd 89 85 a0 fb ff
|
||
ff mov DWORD PTR tv207[ebp], eax
|
||
000c3 8b 8d a0 fb ff
|
||
ff mov ecx, DWORD PTR tv207[ebp]
|
||
000c9 89 8d 9c fb ff
|
||
ff mov DWORD PTR tv194[ebp], ecx
|
||
000cf c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
000d6 8b 8d 9c fb ff
|
||
ff mov ecx, DWORD PTR tv194[ebp]
|
||
000dc e8 00 00 00 00 call ??B?$CW2AEX@$0IA@@ATL@@QBEPADXZ ; ATL::CW2AEX<128>::operator char *
|
||
000e1 50 push eax
|
||
000e2 8d 8d dc fd ff
|
||
ff lea ecx, DWORD PTR _funcTypeA$[ebp]
|
||
000e8 e8 00 00 00 00 call ??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBD@Z ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
000ed c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+8], 2
|
||
000f1 8d 8d c0 fc ff
|
||
ff lea ecx, DWORD PTR $T9[ebp]
|
||
000f7 e8 00 00 00 00 call ??1?$CW2AEX@$0IA@@ATL@@QAE@XZ ; ATL::CW2AEX<128>::~CW2AEX<128>
|
||
|
||
; 267 : CStringA fileNameA = CW2A(m_csFileName);
|
||
|
||
000fc 8b 4d ec mov ecx, DWORD PTR _this$[ebp]
|
||
000ff 81 c1 74 17 00
|
||
00 add ecx, 6004 ; 00001774H
|
||
00105 e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
|
||
0010a 50 push eax
|
||
0010b 8d 8d 3c fc ff
|
||
ff lea ecx, DWORD PTR $T8[ebp]
|
||
00111 e8 00 00 00 00 call ??0?$CW2AEX@$0IA@@ATL@@QAE@PB_W@Z ; ATL::CW2AEX<128>::CW2AEX<128>
|
||
00116 89 85 a0 fb ff
|
||
ff mov DWORD PTR tv85[ebp], eax
|
||
0011c 8b 85 a0 fb ff
|
||
ff mov eax, DWORD PTR tv85[ebp]
|
||
00122 89 85 9c fb ff
|
||
ff mov DWORD PTR tv197[ebp], eax
|
||
00128 c6 45 fc 03 mov BYTE PTR __$EHRec$[ebp+8], 3
|
||
0012c 8b 8d 9c fb ff
|
||
ff mov ecx, DWORD PTR tv197[ebp]
|
||
00132 e8 00 00 00 00 call ??B?$CW2AEX@$0IA@@ATL@@QBEPADXZ ; ATL::CW2AEX<128>::operator char *
|
||
00137 50 push eax
|
||
00138 8d 8d d8 fd ff
|
||
ff lea ecx, DWORD PTR _fileNameA$[ebp]
|
||
0013e e8 00 00 00 00 call ??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBD@Z ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
00143 c6 45 fc 05 mov BYTE PTR __$EHRec$[ebp+8], 5
|
||
00147 8d 8d 3c fc ff
|
||
ff lea ecx, DWORD PTR $T8[ebp]
|
||
0014d e8 00 00 00 00 call ??1?$CW2AEX@$0IA@@ATL@@QAE@XZ ; ATL::CW2AEX<128>::~CW2AEX<128>
|
||
|
||
; 268 : CStringA timeA = CW2A(ct.Format(_T("%Y%m%d %H%M%S")));
|
||
|
||
00152 68 00 00 00 00 push OFFSET ??_C@_1BM@BELHOIIM@?$AA?$CF?$AAY?$AA?$CF?$AAm?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAH?$AA?$CF?$AAM?$AA?$CF?$AAS@
|
||
00157 8d 85 b4 fb ff
|
||
ff lea eax, DWORD PTR $T6[ebp]
|
||
0015d 50 push eax
|
||
0015e 8d 4d e0 lea ecx, DWORD PTR _ct$[ebp]
|
||
00161 e8 00 00 00 00 call ?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PB_W@Z ; ATL::CTime::Format
|
||
00166 89 85 a0 fb ff
|
||
ff mov DWORD PTR tv128[ebp], eax
|
||
0016c 8b 8d a0 fb ff
|
||
ff mov ecx, DWORD PTR tv128[ebp]
|
||
00172 89 8d 9c fb ff
|
||
ff mov DWORD PTR tv200[ebp], ecx
|
||
00178 c6 45 fc 06 mov BYTE PTR __$EHRec$[ebp+8], 6
|
||
0017c 8b 8d 9c fb ff
|
||
ff mov ecx, DWORD PTR tv200[ebp]
|
||
00182 e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
|
||
00187 50 push eax
|
||
00188 8d 8d b8 fb ff
|
||
ff lea ecx, DWORD PTR $T7[ebp]
|
||
0018e e8 00 00 00 00 call ??0?$CW2AEX@$0IA@@ATL@@QAE@PB_W@Z ; ATL::CW2AEX<128>::CW2AEX<128>
|
||
00193 89 85 98 fb ff
|
||
ff mov DWORD PTR tv208[ebp], eax
|
||
00199 8b 95 98 fb ff
|
||
ff mov edx, DWORD PTR tv208[ebp]
|
||
0019f 89 95 94 fb ff
|
||
ff mov DWORD PTR tv202[ebp], edx
|
||
001a5 c6 45 fc 07 mov BYTE PTR __$EHRec$[ebp+8], 7
|
||
001a9 8b 8d 94 fb ff
|
||
ff mov ecx, DWORD PTR tv202[ebp]
|
||
001af e8 00 00 00 00 call ??B?$CW2AEX@$0IA@@ATL@@QBEPADXZ ; ATL::CW2AEX<128>::operator char *
|
||
001b4 50 push eax
|
||
001b5 8d 8d d4 fd ff
|
||
ff lea ecx, DWORD PTR _timeA$[ebp]
|
||
001bb e8 00 00 00 00 call ??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBD@Z ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
001c0 c6 45 fc 09 mov BYTE PTR __$EHRec$[ebp+8], 9
|
||
001c4 8d 8d b8 fb ff
|
||
ff lea ecx, DWORD PTR $T7[ebp]
|
||
001ca e8 00 00 00 00 call ??1?$CW2AEX@$0IA@@ATL@@QAE@XZ ; ATL::CW2AEX<128>::~CW2AEX<128>
|
||
001cf c6 45 fc 0a mov BYTE PTR __$EHRec$[ebp+8], 10 ; 0000000aH
|
||
001d3 8d 8d b4 fb ff
|
||
ff lea ecx, DWORD PTR $T6[ebp]
|
||
001d9 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
|
||
; 269 : sprintf(szFile, "%s_%s_%s_%d.log", fileNameA, timeA, funcTypeA,GetTickCount());
|
||
|
||
001de ff 15 00 00 00
|
||
00 call DWORD PTR __imp__GetTickCount@0
|
||
001e4 89 85 a0 fb ff
|
||
ff mov DWORD PTR tv178[ebp], eax
|
||
001ea 8b 85 dc fd ff
|
||
ff mov eax, DWORD PTR _funcTypeA$[ebp]
|
||
001f0 89 85 a8 fb ff
|
||
ff mov DWORD PTR $T3[ebp], eax
|
||
001f6 8b 8d d4 fd ff
|
||
ff mov ecx, DWORD PTR _timeA$[ebp]
|
||
001fc 89 8d ac fb ff
|
||
ff mov DWORD PTR $T4[ebp], ecx
|
||
00202 8b 95 d8 fd ff
|
||
ff mov edx, DWORD PTR _fileNameA$[ebp]
|
||
00208 89 95 b0 fb ff
|
||
ff mov DWORD PTR $T5[ebp], edx
|
||
0020e 8b 85 a0 fb ff
|
||
ff mov eax, DWORD PTR tv178[ebp]
|
||
00214 50 push eax
|
||
00215 8b 8d a8 fb ff
|
||
ff mov ecx, DWORD PTR $T3[ebp]
|
||
0021b 51 push ecx
|
||
0021c 8b 95 ac fb ff
|
||
ff mov edx, DWORD PTR $T4[ebp]
|
||
00222 52 push edx
|
||
00223 8b 85 b0 fb ff
|
||
ff mov eax, DWORD PTR $T5[ebp]
|
||
00229 50 push eax
|
||
0022a 68 00 00 00 00 push OFFSET ??_C@_0BA@IKNFHKEF@?$CFs_?$CFs_?$CFs_?$CFd?4log@
|
||
0022f 8d 8d e0 fd ff
|
||
ff lea ecx, DWORD PTR _szFile$[ebp]
|
||
00235 51 push ecx
|
||
00236 e8 00 00 00 00 call _sprintf
|
||
0023b 83 c4 18 add esp, 24 ; 00000018H
|
||
|
||
; 270 : #else
|
||
; 271 : sprintf(szFile, "%s_%s_Error.log", m_csFileName, ct.Format(_T("%Y%m%d %H%M%S")));
|
||
; 272 : #endif
|
||
; 273 :
|
||
; 274 : // output
|
||
; 275 : FILE *fp = fopen(szFile, "a");
|
||
|
||
0023e 68 00 00 00 00 push OFFSET ??_C@_01MCMALHOG@a@
|
||
00243 8d 85 e0 fd ff
|
||
ff lea eax, DWORD PTR _szFile$[ebp]
|
||
00249 50 push eax
|
||
0024a e8 00 00 00 00 call _fopen
|
||
0024f 83 c4 08 add esp, 8
|
||
00252 89 85 d0 fd ff
|
||
ff mov DWORD PTR _fp$[ebp], eax
|
||
|
||
; 276 : if (fp)
|
||
|
||
00258 83 bd d0 fd ff
|
||
ff 00 cmp DWORD PTR _fp$[ebp], 0
|
||
0025f 74 3e je SHORT $LN4@Log_Data
|
||
|
||
; 277 : {
|
||
; 278 : long lCount=fwrite(pData, 1, lSize, fp);
|
||
|
||
00261 8b 85 d0 fd ff
|
||
ff mov eax, DWORD PTR _fp$[ebp]
|
||
00267 50 push eax
|
||
00268 8b 4d 10 mov ecx, DWORD PTR _lSize$[ebp]
|
||
0026b 51 push ecx
|
||
0026c 6a 01 push 1
|
||
0026e 8b 55 0c mov edx, DWORD PTR _pData$[ebp]
|
||
00271 52 push edx
|
||
00272 e8 00 00 00 00 call _fwrite
|
||
00277 83 c4 10 add esp, 16 ; 00000010H
|
||
0027a 89 85 cc fd ff
|
||
ff mov DWORD PTR _lCount$11[ebp], eax
|
||
|
||
; 279 : fclose(fp);
|
||
|
||
00280 8b 85 d0 fd ff
|
||
ff mov eax, DWORD PTR _fp$[ebp]
|
||
00286 50 push eax
|
||
00287 e8 00 00 00 00 call _fclose
|
||
0028c 83 c4 04 add esp, 4
|
||
|
||
; 280 : if (lCount>0)
|
||
|
||
0028f 83 bd cc fd ff
|
||
ff 00 cmp DWORD PTR _lCount$11[ebp], 0
|
||
00296 7e 07 jle SHORT $LN4@Log_Data
|
||
|
||
; 281 : bOK = TRUE;
|
||
|
||
00298 c7 45 e8 01 00
|
||
00 00 mov DWORD PTR _bOK$[ebp], 1
|
||
$LN4@Log_Data:
|
||
|
||
; 282 : }
|
||
; 283 : LeaveCriticalSection(&m_crit);
|
||
|
||
0029f 8b 45 ec mov eax, DWORD PTR _this$[ebp]
|
||
002a2 05 78 17 00 00 add eax, 6008 ; 00001778H
|
||
002a7 50 push eax
|
||
002a8 ff 15 00 00 00
|
||
00 call DWORD PTR __imp__LeaveCriticalSection@4
|
||
|
||
; 284 :
|
||
; 285 : return bOK;
|
||
|
||
002ae 8b 45 e8 mov eax, DWORD PTR _bOK$[ebp]
|
||
002b1 89 85 a4 fb ff
|
||
ff mov DWORD PTR $T2[ebp], eax
|
||
002b7 c6 45 fc 05 mov BYTE PTR __$EHRec$[ebp+8], 5
|
||
002bb 8d 8d d4 fd ff
|
||
ff lea ecx, DWORD PTR _timeA$[ebp]
|
||
002c1 e8 00 00 00 00 call ??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
002c6 c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+8], 2
|
||
002ca 8d 8d d8 fd ff
|
||
ff lea ecx, DWORD PTR _fileNameA$[ebp]
|
||
002d0 e8 00 00 00 00 call ??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
002d5 c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
|
||
002dc 8d 8d dc fd ff
|
||
ff lea ecx, DWORD PTR _funcTypeA$[ebp]
|
||
002e2 e8 00 00 00 00 call ??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
002e7 8b 85 a4 fb ff
|
||
ff mov eax, DWORD PTR $T2[ebp]
|
||
$LN1@Log_Data:
|
||
|
||
; 286 : }
|
||
|
||
002ed 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
002f0 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
002f7 59 pop ecx
|
||
002f8 5f pop edi
|
||
002f9 5e pop esi
|
||
002fa 5b pop ebx
|
||
002fb 8b 4d f0 mov ecx, DWORD PTR __$ArrayPad$[ebp]
|
||
002fe 33 cd xor ecx, ebp
|
||
00300 e8 00 00 00 00 call @__security_check_cookie@4
|
||
00305 8b e5 mov esp, ebp
|
||
00307 5d pop ebp
|
||
00308 c2 0c 00 ret 12 ; 0000000cH
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z$0:
|
||
00000 8d 8d c0 fc ff
|
||
ff lea ecx, DWORD PTR $T9[ebp]
|
||
00006 e9 00 00 00 00 jmp ??1?$CW2AEX@$0IA@@ATL@@QAE@XZ ; ATL::CW2AEX<128>::~CW2AEX<128>
|
||
__unwindfunclet$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z$1:
|
||
0000b 8d 8d dc fd ff
|
||
ff lea ecx, DWORD PTR _funcTypeA$[ebp]
|
||
00011 e9 00 00 00 00 jmp ??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
__unwindfunclet$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z$2:
|
||
00016 8d 8d 3c fc ff
|
||
ff lea ecx, DWORD PTR $T8[ebp]
|
||
0001c e9 00 00 00 00 jmp ??1?$CW2AEX@$0IA@@ATL@@QAE@XZ ; ATL::CW2AEX<128>::~CW2AEX<128>
|
||
__unwindfunclet$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z$3:
|
||
00021 8d 8d d8 fd ff
|
||
ff lea ecx, DWORD PTR _fileNameA$[ebp]
|
||
00027 e9 00 00 00 00 jmp ??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
__unwindfunclet$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z$4:
|
||
0002c 8d 8d b4 fb ff
|
||
ff lea ecx, DWORD PTR $T6[ebp]
|
||
00032 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z$5:
|
||
00037 8d 8d b8 fb ff
|
||
ff lea ecx, DWORD PTR $T7[ebp]
|
||
0003d e9 00 00 00 00 jmp ??1?$CW2AEX@$0IA@@ATL@@QAE@XZ ; ATL::CW2AEX<128>::~CW2AEX<128>
|
||
__unwindfunclet$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z$6:
|
||
00042 8d 8d d4 fd ff
|
||
ff lea ecx, DWORD PTR _timeA$[ebp]
|
||
00048 e9 00 00 00 00 jmp ??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
0004d cc int 3
|
||
0004e cc int 3
|
||
0004f cc int 3
|
||
00050 cc int 3
|
||
00051 cc int 3
|
||
__ehhandler$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z:
|
||
00052 90 npad 1
|
||
00053 90 npad 1
|
||
00054 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00058 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
0005b 8b 8a 90 fb ff
|
||
ff mov ecx, DWORD PTR [edx-1136]
|
||
00061 33 c8 xor ecx, eax
|
||
00063 e8 00 00 00 00 call @__security_check_cookie@4
|
||
00068 8b 4a fc mov ecx, DWORD PTR [edx-4]
|
||
0006b 33 c8 xor ecx, eax
|
||
0006d e8 00 00 00 00 call @__security_check_cookie@4
|
||
00072 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z
|
||
00077 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?Log_Data@CSAStatusLog@@QAEHPB_WPAEJ@Z ENDP ; CSAStatusLog::Log_Data
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\public\SAStatusLog\SAStatusLog.cpp
|
||
; COMDAT ?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z
|
||
_TEXT SEGMENT
|
||
tv154 = -384 ; size = 4
|
||
tv65 = -380 ; size = 4
|
||
tv152 = -376 ; size = 4
|
||
tv149 = -376 ; size = 4
|
||
tv76 = -372 ; size = 4
|
||
tv68 = -372 ; size = 4
|
||
$T2 = -368 ; size = 4
|
||
$T3 = -364 ; size = 4
|
||
$T4 = -360 ; size = 4
|
||
$T5 = -356 ; size = 260
|
||
_errMsgW$ = -32 ; size = 4
|
||
_errMsg$ = -28 ; size = 4
|
||
_logMsg$ = -24 ; size = 4
|
||
_this$ = -20 ; size = 4
|
||
__$ArrayPad$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
_szErrMsg$ = 8 ; size = 4
|
||
_strFile$ = 12 ; size = 4
|
||
_strFunc$ = 16 ; size = 4
|
||
_lLine$ = 20 ; size = 4
|
||
?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z PROC ; CSAStatusLog::LogError, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 90 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 81 ec 74 01 00
|
||
00 sub esp, 372 ; 00000174H
|
||
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
|
||
|
||
; 91 : CString logMsg;
|
||
|
||
00031 8d 4d e8 lea ecx, DWORD PTR _logMsg$[ebp]
|
||
00034 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
00039 c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
|
||
; 92 : CStringA errMsg;
|
||
|
||
00040 8d 4d e4 lea ecx, DWORD PTR _errMsg$[ebp]
|
||
00043 e8 00 00 00 00 call ??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
00048 c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+8], 1
|
||
|
||
; 93 : errMsg.Format(" %s,%s,%d", strFile, strFunc, lLine);
|
||
|
||
0004c 8b 45 14 mov eax, DWORD PTR _lLine$[ebp]
|
||
0004f 50 push eax
|
||
00050 8b 4d 10 mov ecx, DWORD PTR _strFunc$[ebp]
|
||
00053 51 push ecx
|
||
00054 8b 55 0c mov edx, DWORD PTR _strFile$[ebp]
|
||
00057 52 push edx
|
||
00058 68 00 00 00 00 push OFFSET ??_C@_09INGMKCJK@?5?$CFs?0?$CFs?0?$CFd@
|
||
0005d 8d 45 e4 lea eax, DWORD PTR _errMsg$[ebp]
|
||
00060 50 push eax
|
||
00061 e8 00 00 00 00 call ?Format@?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAAXPBDZZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::Format
|
||
00066 83 c4 14 add esp, 20 ; 00000014H
|
||
|
||
; 94 :
|
||
; 95 : #ifdef _UNICODE
|
||
; 96 : CString errMsgW = CA2W(errMsg);
|
||
|
||
00069 8d 4d e4 lea ecx, DWORD PTR _errMsg$[ebp]
|
||
0006c e8 00 00 00 00 call ??B?$CSimpleStringT@D$0A@@ATL@@QBEPBDXZ ; ATL::CSimpleStringT<char,0>::operator char const *
|
||
00071 50 push eax
|
||
00072 8d 8d 9c fe ff
|
||
ff lea ecx, DWORD PTR $T5[ebp]
|
||
00078 e8 00 00 00 00 call ??0?$CA2WEX@$0IA@@ATL@@QAE@PBD@Z ; ATL::CA2WEX<128>::CA2WEX<128>
|
||
0007d 89 85 8c fe ff
|
||
ff mov DWORD PTR tv68[ebp], eax
|
||
00083 8b 85 8c fe ff
|
||
ff mov eax, DWORD PTR tv68[ebp]
|
||
00089 89 85 88 fe ff
|
||
ff mov DWORD PTR tv149[ebp], eax
|
||
0008f c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+8], 2
|
||
00093 8b 8d 88 fe ff
|
||
ff mov ecx, DWORD PTR tv149[ebp]
|
||
00099 e8 00 00 00 00 call ??B?$CA2WEX@$0IA@@ATL@@QBEPA_WXZ ; ATL::CA2WEX<128>::operator wchar_t *
|
||
0009e 50 push eax
|
||
0009f 8d 4d e0 lea ecx, DWORD PTR _errMsgW$[ebp]
|
||
000a2 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
000a7 c6 45 fc 04 mov BYTE PTR __$EHRec$[ebp+8], 4
|
||
000ab 8d 8d 9c fe ff
|
||
ff lea ecx, DWORD PTR $T5[ebp]
|
||
000b1 e8 00 00 00 00 call ??1?$CA2WEX@$0IA@@ATL@@QAE@XZ ; ATL::CA2WEX<128>::~CA2WEX<128>
|
||
|
||
; 97 : logMsg = CString(szErrMsg) + errMsgW;
|
||
|
||
000b6 8d 45 e0 lea eax, DWORD PTR _errMsgW$[ebp]
|
||
000b9 50 push eax
|
||
000ba 8b 4d 08 mov ecx, DWORD PTR _szErrMsg$[ebp]
|
||
000bd 51 push ecx
|
||
000be 8d 8d 98 fe ff
|
||
ff lea ecx, DWORD PTR $T4[ebp]
|
||
000c4 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
000c9 89 85 8c fe ff
|
||
ff mov DWORD PTR tv76[ebp], eax
|
||
000cf 8b 95 8c fe ff
|
||
ff mov edx, DWORD PTR tv76[ebp]
|
||
000d5 89 95 88 fe ff
|
||
ff mov DWORD PTR tv152[ebp], edx
|
||
000db c6 45 fc 05 mov BYTE PTR __$EHRec$[ebp+8], 5
|
||
000df 8b 85 88 fe ff
|
||
ff mov eax, DWORD PTR tv152[ebp]
|
||
000e5 50 push eax
|
||
000e6 8d 8d 94 fe ff
|
||
ff lea ecx, DWORD PTR $T3[ebp]
|
||
000ec 51 push ecx
|
||
000ed e8 00 00 00 00 call ??HATL@@YA?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@0@ABV10@0@Z ; ATL::operator+
|
||
000f2 83 c4 0c add esp, 12 ; 0000000cH
|
||
000f5 89 85 84 fe ff
|
||
ff mov DWORD PTR tv65[ebp], eax
|
||
000fb 8b 95 84 fe ff
|
||
ff mov edx, DWORD PTR tv65[ebp]
|
||
00101 89 95 80 fe ff
|
||
ff mov DWORD PTR tv154[ebp], edx
|
||
00107 c6 45 fc 06 mov BYTE PTR __$EHRec$[ebp+8], 6
|
||
0010b 8b 85 80 fe ff
|
||
ff mov eax, DWORD PTR tv154[ebp]
|
||
00111 50 push eax
|
||
00112 8d 4d e8 lea ecx, DWORD PTR _logMsg$[ebp]
|
||
00115 e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
|
||
0011a c6 45 fc 05 mov BYTE PTR __$EHRec$[ebp+8], 5
|
||
0011e 8d 8d 94 fe ff
|
||
ff lea ecx, DWORD PTR $T3[ebp]
|
||
00124 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
00129 c6 45 fc 04 mov BYTE PTR __$EHRec$[ebp+8], 4
|
||
0012d 8d 8d 98 fe ff
|
||
ff lea ecx, DWORD PTR $T4[ebp]
|
||
00133 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
|
||
; 98 : #else
|
||
; 99 : logMsg = errMsg + CStringA(szErrMsg);
|
||
; 100 : #endif
|
||
; 101 : return Log(logMsg);
|
||
|
||
00138 8d 4d e8 lea ecx, DWORD PTR _logMsg$[ebp]
|
||
0013b e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
|
||
00140 50 push eax
|
||
00141 8b 45 ec mov eax, DWORD PTR _this$[ebp]
|
||
00144 50 push eax
|
||
00145 e8 00 00 00 00 call ?Log@CSAStatusLog@@QAAHPB_WZZ ; CSAStatusLog::Log
|
||
0014a 83 c4 08 add esp, 8
|
||
0014d 89 85 90 fe ff
|
||
ff mov DWORD PTR $T2[ebp], eax
|
||
00153 c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+8], 1
|
||
00157 8d 4d e0 lea ecx, DWORD PTR _errMsgW$[ebp]
|
||
0015a e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
0015f c6 45 fc 00 mov BYTE PTR __$EHRec$[ebp+8], 0
|
||
00163 8d 4d e4 lea ecx, DWORD PTR _errMsg$[ebp]
|
||
00166 e8 00 00 00 00 call ??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
0016b c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
|
||
00172 8d 4d e8 lea ecx, DWORD PTR _logMsg$[ebp]
|
||
00175 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
0017a 8b 85 90 fe ff
|
||
ff mov eax, DWORD PTR $T2[ebp]
|
||
|
||
; 102 : }
|
||
|
||
00180 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00183 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
0018a 59 pop ecx
|
||
0018b 5f pop edi
|
||
0018c 5e pop esi
|
||
0018d 5b pop ebx
|
||
0018e 8b 4d f0 mov ecx, DWORD PTR __$ArrayPad$[ebp]
|
||
00191 33 cd xor ecx, ebp
|
||
00193 e8 00 00 00 00 call @__security_check_cookie@4
|
||
00198 8b e5 mov esp, ebp
|
||
0019a 5d pop ebp
|
||
0019b c2 10 00 ret 16 ; 00000010H
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z$0:
|
||
00000 8d 4d e8 lea ecx, DWORD PTR _logMsg$[ebp]
|
||
00003 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z$1:
|
||
00008 8d 4d e4 lea ecx, DWORD PTR _errMsg$[ebp]
|
||
0000b e9 00 00 00 00 jmp ??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
__unwindfunclet$?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z$2:
|
||
00010 8d 8d 9c fe ff
|
||
ff lea ecx, DWORD PTR $T5[ebp]
|
||
00016 e9 00 00 00 00 jmp ??1?$CA2WEX@$0IA@@ATL@@QAE@XZ ; ATL::CA2WEX<128>::~CA2WEX<128>
|
||
__unwindfunclet$?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z$3:
|
||
0001b 8d 4d e0 lea ecx, DWORD PTR _errMsgW$[ebp]
|
||
0001e e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z$4:
|
||
00023 8d 8d 98 fe ff
|
||
ff lea ecx, DWORD PTR $T4[ebp]
|
||
00029 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z$5:
|
||
0002e 8d 8d 94 fe ff
|
||
ff lea ecx, DWORD PTR $T3[ebp]
|
||
00034 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
00039 cc int 3
|
||
0003a cc int 3
|
||
0003b cc int 3
|
||
0003c cc int 3
|
||
0003d cc int 3
|
||
__ehhandler$?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z:
|
||
0003e 90 npad 1
|
||
0003f 90 npad 1
|
||
00040 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00044 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00047 8b 8a 7c fe ff
|
||
ff mov ecx, DWORD PTR [edx-388]
|
||
0004d 33 c8 xor ecx, eax
|
||
0004f e8 00 00 00 00 call @__security_check_cookie@4
|
||
00054 8b 4a fc mov ecx, DWORD PTR [edx-4]
|
||
00057 33 c8 xor ecx, eax
|
||
00059 e8 00 00 00 00 call @__security_check_cookie@4
|
||
0005e b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z
|
||
00063 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z ENDP ; CSAStatusLog::LogError
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\public\SAStatusLog\SAStatusLog.cpp
|
||
; COMDAT ?Log@CSAStatusLog@@QAAHPB_WZZ
|
||
_TEXT SEGMENT
|
||
tv411 = -11964 ; size = 4
|
||
tv403 = -11964 ; size = 4
|
||
tv458 = -11960 ; size = 4
|
||
tv457 = -11960 ; size = 4
|
||
tv454 = -11956 ; size = 4
|
||
tv451 = -11956 ; size = 4
|
||
tv414 = -11956 ; size = 4
|
||
tv409 = -11956 ; size = 4
|
||
tv406 = -11956 ; size = 4
|
||
tv401 = -11956 ; size = 4
|
||
tv398 = -11956 ; size = 4
|
||
tv385 = -11956 ; size = 4
|
||
tv341 = -11956 ; size = 4
|
||
tv456 = -11952 ; size = 4
|
||
tv387 = -11952 ; size = 4
|
||
tv373 = -11952 ; size = 4
|
||
tv347 = -11952 ; size = 4
|
||
tv343 = -11952 ; size = 4
|
||
tv323 = -11952 ; size = 4
|
||
tv313 = -11952 ; size = 4
|
||
tv297 = -11952 ; size = 4
|
||
tv241 = -11952 ; size = 4
|
||
tv218 = -11952 ; size = 4
|
||
tv185 = -11952 ; size = 4
|
||
tv167 = -11952 ; size = 4
|
||
tv88 = -11952 ; size = 4
|
||
$T2 = -11948 ; size = 4
|
||
$T3 = -11944 ; size = 4
|
||
$T4 = -11940 ; size = 132
|
||
$T5 = -11808 ; size = 4
|
||
$T6 = -11804 ; size = 132
|
||
$T7 = -11672 ; size = 132
|
||
$T8 = -11540 ; size = 4
|
||
$T9 = -11536 ; size = 132
|
||
$T10 = -11404 ; size = 132
|
||
$T11 = -11272 ; size = 8
|
||
$T12 = -11264 ; size = 4
|
||
$T13 = -11260 ; size = 4
|
||
_lTLen$14 = -10740 ; size = 4
|
||
_str$15 = -10736 ; size = 4
|
||
_szBuf$16 = -10732 ; size = 4096
|
||
_lLineCount$17 = -6636 ; size = 4
|
||
_strWMsg$18 = -6632 ; size = 4
|
||
_strbufA$19 = -6628 ; size = 4
|
||
_TimeA$20 = -6624 ; size = 4
|
||
_AppNameA$21 = -6620 ; size = 4
|
||
_fp$ = -6616 ; size = 4
|
||
_timeA$ = -6612 ; size = 4
|
||
_fileNameA$ = -6608 ; size = 4
|
||
_szFile$ = -6604 ; size = 512
|
||
_ct$ = -6092 ; size = 8
|
||
_bOK$ = -6084 ; size = 4
|
||
_NXlog$22 = -6080 ; size = 6056
|
||
_argptr$23 = -24 ; size = 4
|
||
__$ArrayPad$ = -20 ; size = 4
|
||
__$EHRec$ = -16 ; size = 16
|
||
_this$ = 8 ; size = 4
|
||
_fmt$ = 12 ; size = 4
|
||
?Log@CSAStatusLog@@QAAHPB_WZZ PROC ; CSAStatusLog::Log, COMDAT
|
||
|
||
; 107 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?Log@CSAStatusLog@@QAAHPB_WZZ
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 51 push ecx
|
||
00012 b8 ac 2e 00 00 mov eax, 11948 ; 00002eacH
|
||
00017 e8 00 00 00 00 call __chkstk
|
||
0001c a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
00021 33 c5 xor eax, ebp
|
||
00023 89 45 ec mov DWORD PTR __$ArrayPad$[ebp], eax
|
||
00026 53 push ebx
|
||
00027 56 push esi
|
||
00028 57 push edi
|
||
00029 50 push eax
|
||
0002a 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp+4]
|
||
0002d 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00033 89 65 f0 mov DWORD PTR __$EHRec$[ebp], esp
|
||
|
||
; 108 : if (m_csFileName.IsEmpty())
|
||
|
||
00036 8b 4d 08 mov ecx, DWORD PTR _this$[ebp]
|
||
00039 81 c1 74 17 00
|
||
00 add ecx, 6004 ; 00001774H
|
||
0003f e8 00 00 00 00 call ?IsEmpty@?$CSimpleStringT@_W$0A@@ATL@@QBE_NXZ ; ATL::CSimpleStringT<wchar_t,0>::IsEmpty
|
||
00044 0f b6 c0 movzx eax, al
|
||
00047 85 c0 test eax, eax
|
||
00049 74 07 je SHORT $LN2@Log
|
||
|
||
; 109 : return FALSE;
|
||
|
||
0004b 33 c0 xor eax, eax
|
||
0004d e9 ff 06 00 00 jmp $LN1@Log
|
||
$LN2@Log:
|
||
|
||
; 110 :
|
||
; 111 : if (!m_bEnable)
|
||
|
||
00052 8b 45 08 mov eax, DWORD PTR _this$[ebp]
|
||
00055 83 b8 90 17 00
|
||
00 00 cmp DWORD PTR [eax+6032], 0
|
||
0005c 75 0a jne SHORT $LN3@Log
|
||
|
||
; 112 : return TRUE;
|
||
|
||
0005e b8 01 00 00 00 mov eax, 1
|
||
00063 e9 e9 06 00 00 jmp $LN1@Log
|
||
$LN3@Log:
|
||
|
||
; 113 :
|
||
; 114 : if (!AfxIsValidString(fmt, -1))
|
||
|
||
00068 6a ff push -1
|
||
0006a 8b 45 0c mov eax, DWORD PTR _fmt$[ebp]
|
||
0006d 50 push eax
|
||
0006e e8 00 00 00 00 call ?AfxIsValidString@@YGHPB_WH@Z ; AfxIsValidString
|
||
00073 85 c0 test eax, eax
|
||
00075 75 07 jne SHORT $LN4@Log
|
||
|
||
; 115 : return FALSE;
|
||
|
||
00077 33 c0 xor eax, eax
|
||
00079 e9 d3 06 00 00 jmp $LN1@Log
|
||
$LN4@Log:
|
||
|
||
; 116 :
|
||
; 117 : EnterCriticalSection(&m_crit);
|
||
|
||
0007e 8b 45 08 mov eax, DWORD PTR _this$[ebp]
|
||
00081 05 78 17 00 00 add eax, 6008 ; 00001778H
|
||
00086 50 push eax
|
||
00087 ff 15 00 00 00
|
||
00 call DWORD PTR __imp__EnterCriticalSection@4
|
||
|
||
; 118 :
|
||
; 119 : // parse that string format
|
||
; 120 : try
|
||
|
||
0008d c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+12], 0
|
||
|
||
; 121 : {
|
||
; 122 : va_list argptr;
|
||
; 123 : va_start(argptr, fmt);
|
||
|
||
00094 8d 45 10 lea eax, DWORD PTR _fmt$[ebp+4]
|
||
00097 89 45 e8 mov DWORD PTR _argptr$23[ebp], eax
|
||
|
||
; 124 : _vsntprintf(m_tBuf, TBUF_SIZE, fmt, argptr);
|
||
|
||
0009a 8b 45 e8 mov eax, DWORD PTR _argptr$23[ebp]
|
||
0009d 50 push eax
|
||
0009e 8b 4d 0c mov ecx, DWORD PTR _fmt$[ebp]
|
||
000a1 51 push ecx
|
||
000a2 68 b8 0b 00 00 push 3000 ; 00000bb8H
|
||
000a7 8b 55 08 mov edx, DWORD PTR _this$[ebp]
|
||
000aa 52 push edx
|
||
000ab e8 00 00 00 00 call __vsnwprintf
|
||
000b0 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 125 : va_end(argptr);
|
||
|
||
000b3 c7 45 e8 00 00
|
||
00 00 mov DWORD PTR _argptr$23[ebp], 0
|
||
|
||
; 126 : }
|
||
|
||
000ba e9 a1 00 00 00 jmp $LN12@Log
|
||
__catch$?Log@CSAStatusLog@@QAAHPB_WZZ$0:
|
||
|
||
; 127 : catch (...)
|
||
; 128 : {
|
||
; 129 : LOG_APPERROR(_T("T"));
|
||
|
||
000bf 8d 8d 40 e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$22[ebp]
|
||
000c5 e8 00 00 00 00 call ??0CSAStatusLog@@QAE@XZ ; CSAStatusLog::CSAStatusLog
|
||
000ca c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+12], 2
|
||
000ce 51 push ecx
|
||
000cf 8b cc mov ecx, esp
|
||
000d1 89 a5 04 d4 ff
|
||
ff mov DWORD PTR $T13[ebp], esp
|
||
000d7 68 00 00 00 00 push OFFSET ??_C@_1BC@HEKPCAFP@?$AAA?$AAp?$AAp?$AAE?$AAr?$AAr?$AAo?$AAr@
|
||
000dc e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
000e1 89 85 50 d1 ff
|
||
ff mov DWORD PTR tv88[ebp], eax
|
||
000e7 c6 45 fc 03 mov BYTE PTR __$EHRec$[ebp+12], 3
|
||
000eb 51 push ecx
|
||
000ec 8b cc mov ecx, esp
|
||
000ee 89 a5 00 d4 ff
|
||
ff mov DWORD PTR $T12[ebp], esp
|
||
000f4 68 00 00 00 00 push OFFSET ??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@
|
||
000f9 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
000fe 89 85 4c d1 ff
|
||
ff mov DWORD PTR tv454[ebp], eax
|
||
00104 c6 45 fc 04 mov BYTE PTR __$EHRec$[ebp+12], 4
|
||
00108 c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+12], 2
|
||
0010c 8d 8d 40 e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$22[ebp]
|
||
00112 e8 00 00 00 00 call ?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z ; CSAStatusLog::Init
|
||
00117 a1 00 00 00 00 mov eax, DWORD PTR ?__LINE__Var@?0??Log@CSAStatusLog@@QAAHPB_WZZ@4JA
|
||
0011c 83 c0 16 add eax, 22 ; 00000016H
|
||
0011f 50 push eax
|
||
00120 68 00 00 00 00 push OFFSET ??_C@_03GGEOLGBL@Log@
|
||
00125 68 00 00 00 00 push OFFSET ??_C@_0DJ@PHLILAKE@D?3?2Works?2Corpsms_2010?2public?2SA@
|
||
0012a 68 00 00 00 00 push OFFSET ??_C@_13JKNELIBG@?$AAT@
|
||
0012f 8d 8d 40 e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$22[ebp]
|
||
00135 e8 00 00 00 00 call ?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z ; CSAStatusLog::LogError
|
||
0013a c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+12], 1
|
||
0013e 8d 8d 40 e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$22[ebp]
|
||
00144 e8 00 00 00 00 call ??1CSAStatusLog@@QAE@XZ ; CSAStatusLog::~CSAStatusLog
|
||
|
||
; 130 : m_tBuf[0] = 0;
|
||
|
||
00149 b8 02 00 00 00 mov eax, 2
|
||
0014e 6b c8 00 imul ecx, eax, 0
|
||
00151 33 d2 xor edx, edx
|
||
00153 8b 45 08 mov eax, DWORD PTR _this$[ebp]
|
||
00156 66 89 14 08 mov WORD PTR [eax+ecx], dx
|
||
|
||
; 131 : }
|
||
|
||
0015a b8 00 00 00 00 mov eax, $LN33@Log
|
||
0015f c3 ret 0
|
||
$LN12@Log:
|
||
00160 c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+12], -1
|
||
00167 eb 07 jmp SHORT __tryend$?Log@CSAStatusLog@@QAAHPB_WZZ$1
|
||
$LN33@Log:
|
||
00169 c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+12], -1
|
||
__tryend$?Log@CSAStatusLog@@QAAHPB_WZZ$1:
|
||
|
||
; 132 :
|
||
; 133 : BOOL bOK = FALSE;
|
||
|
||
00170 c7 85 3c e8 ff
|
||
ff 00 00 00 00 mov DWORD PTR _bOK$[ebp], 0
|
||
|
||
; 134 :
|
||
; 135 : CTime ct ;
|
||
|
||
0017a 8d 8d 34 e8 ff
|
||
ff lea ecx, DWORD PTR _ct$[ebp]
|
||
00180 e8 00 00 00 00 call ??0CTime@ATL@@QAE@XZ ; ATL::CTime::CTime
|
||
|
||
; 136 : ct = CTime::GetCurrentTime();
|
||
|
||
00185 8d 85 f8 d3 ff
|
||
ff lea eax, DWORD PTR $T11[ebp]
|
||
0018b 50 push eax
|
||
0018c e8 00 00 00 00 call ?GetTickCount@CTime@ATL@@SG?AV12@XZ ; ATL::CTime::GetTickCount
|
||
00191 8b 08 mov ecx, DWORD PTR [eax]
|
||
00193 8b 50 04 mov edx, DWORD PTR [eax+4]
|
||
00196 89 8d 34 e8 ff
|
||
ff mov DWORD PTR _ct$[ebp], ecx
|
||
0019c 89 95 38 e8 ff
|
||
ff mov DWORD PTR _ct$[ebp+4], edx
|
||
|
||
; 137 : char szFile[512]={0};
|
||
|
||
001a2 68 00 02 00 00 push 512 ; 00000200H
|
||
001a7 6a 00 push 0
|
||
001a9 8d 85 34 e6 ff
|
||
ff lea eax, DWORD PTR _szFile$[ebp]
|
||
001af 50 push eax
|
||
001b0 e8 00 00 00 00 call _memset
|
||
001b5 83 c4 0c add esp, 12 ; 0000000cH
|
||
|
||
; 138 : #ifdef _UNICODE
|
||
; 139 : CStringA fileNameA = CW2A(m_csFileName);
|
||
|
||
001b8 8b 4d 08 mov ecx, DWORD PTR _this$[ebp]
|
||
001bb 81 c1 74 17 00
|
||
00 add ecx, 6004 ; 00001774H
|
||
001c1 e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
|
||
001c6 50 push eax
|
||
001c7 8d 8d 74 d3 ff
|
||
ff lea ecx, DWORD PTR $T10[ebp]
|
||
001cd e8 00 00 00 00 call ??0?$CW2AEX@$0IA@@ATL@@QAE@PB_W@Z ; ATL::CW2AEX<128>::CW2AEX<128>
|
||
001d2 89 85 50 d1 ff
|
||
ff mov DWORD PTR tv456[ebp], eax
|
||
001d8 8b 85 50 d1 ff
|
||
ff mov eax, DWORD PTR tv456[ebp]
|
||
001de 89 85 4c d1 ff
|
||
ff mov DWORD PTR tv398[ebp], eax
|
||
001e4 c7 45 fc 05 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+12], 5
|
||
001eb 8b 8d 4c d1 ff
|
||
ff mov ecx, DWORD PTR tv398[ebp]
|
||
001f1 e8 00 00 00 00 call ??B?$CW2AEX@$0IA@@ATL@@QBEPADXZ ; ATL::CW2AEX<128>::operator char *
|
||
001f6 50 push eax
|
||
001f7 8d 8d 30 e6 ff
|
||
ff lea ecx, DWORD PTR _fileNameA$[ebp]
|
||
001fd e8 00 00 00 00 call ??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBD@Z ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
00202 c6 45 fc 07 mov BYTE PTR __$EHRec$[ebp+12], 7
|
||
00206 8d 8d 74 d3 ff
|
||
ff lea ecx, DWORD PTR $T10[ebp]
|
||
0020c e8 00 00 00 00 call ??1?$CW2AEX@$0IA@@ATL@@QAE@XZ ; ATL::CW2AEX<128>::~CW2AEX<128>
|
||
|
||
; 140 : CStringA timeA=CW2A(ct.Format(_T("%Y%m%d")));
|
||
|
||
00211 68 00 00 00 00 push OFFSET ??_C@_1O@MHOOHJDP@?$AA?$CF?$AAY?$AA?$CF?$AAm?$AA?$CF?$AAd@
|
||
00216 8d 85 ec d2 ff
|
||
ff lea eax, DWORD PTR $T8[ebp]
|
||
0021c 50 push eax
|
||
0021d 8d 8d 34 e8 ff
|
||
ff lea ecx, DWORD PTR _ct$[ebp]
|
||
00223 e8 00 00 00 00 call ?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PB_W@Z ; ATL::CTime::Format
|
||
00228 89 85 50 d1 ff
|
||
ff mov DWORD PTR tv167[ebp], eax
|
||
0022e 8b 8d 50 d1 ff
|
||
ff mov ecx, DWORD PTR tv167[ebp]
|
||
00234 89 8d 4c d1 ff
|
||
ff mov DWORD PTR tv401[ebp], ecx
|
||
0023a c6 45 fc 08 mov BYTE PTR __$EHRec$[ebp+12], 8
|
||
0023e 8b 8d 4c d1 ff
|
||
ff mov ecx, DWORD PTR tv401[ebp]
|
||
00244 e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
|
||
00249 50 push eax
|
||
0024a 8d 8d f0 d2 ff
|
||
ff lea ecx, DWORD PTR $T9[ebp]
|
||
00250 e8 00 00 00 00 call ??0?$CW2AEX@$0IA@@ATL@@QAE@PB_W@Z ; ATL::CW2AEX<128>::CW2AEX<128>
|
||
00255 89 85 48 d1 ff
|
||
ff mov DWORD PTR tv457[ebp], eax
|
||
0025b 8b 95 48 d1 ff
|
||
ff mov edx, DWORD PTR tv457[ebp]
|
||
00261 89 95 44 d1 ff
|
||
ff mov DWORD PTR tv403[ebp], edx
|
||
00267 c6 45 fc 09 mov BYTE PTR __$EHRec$[ebp+12], 9
|
||
0026b 8b 8d 44 d1 ff
|
||
ff mov ecx, DWORD PTR tv403[ebp]
|
||
00271 e8 00 00 00 00 call ??B?$CW2AEX@$0IA@@ATL@@QBEPADXZ ; ATL::CW2AEX<128>::operator char *
|
||
00276 50 push eax
|
||
00277 8d 8d 2c e6 ff
|
||
ff lea ecx, DWORD PTR _timeA$[ebp]
|
||
0027d e8 00 00 00 00 call ??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBD@Z ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
00282 c6 45 fc 0b mov BYTE PTR __$EHRec$[ebp+12], 11 ; 0000000bH
|
||
00286 8d 8d f0 d2 ff
|
||
ff lea ecx, DWORD PTR $T9[ebp]
|
||
0028c e8 00 00 00 00 call ??1?$CW2AEX@$0IA@@ATL@@QAE@XZ ; ATL::CW2AEX<128>::~CW2AEX<128>
|
||
00291 c6 45 fc 0c mov BYTE PTR __$EHRec$[ebp+12], 12 ; 0000000cH
|
||
00295 8d 8d ec d2 ff
|
||
ff lea ecx, DWORD PTR $T8[ebp]
|
||
0029b e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
|
||
; 141 : sprintf(szFile , "%s_%s.log" , fileNameA , timeA );
|
||
|
||
002a0 8b 85 2c e6 ff
|
||
ff mov eax, DWORD PTR _timeA$[ebp]
|
||
002a6 50 push eax
|
||
002a7 8b 8d 30 e6 ff
|
||
ff mov ecx, DWORD PTR _fileNameA$[ebp]
|
||
002ad 51 push ecx
|
||
002ae 68 00 00 00 00 push OFFSET ??_C@_09IGCMIAJA@?$CFs_?$CFs?4log@
|
||
002b3 8d 95 34 e6 ff
|
||
ff lea edx, DWORD PTR _szFile$[ebp]
|
||
002b9 52 push edx
|
||
002ba e8 00 00 00 00 call _sprintf
|
||
002bf 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 142 : #else
|
||
; 143 : sprintf(szFile , "%s_%s.log" , m_csFileName , ct.Format(_T("%Y%m%d")) );
|
||
; 144 : #endif
|
||
; 145 :
|
||
; 146 : // output
|
||
; 147 : FILE *fp = fopen(szFile, "a");
|
||
|
||
002c2 68 00 00 00 00 push OFFSET ??_C@_01MCMALHOG@a@
|
||
002c7 8d 85 34 e6 ff
|
||
ff lea eax, DWORD PTR _szFile$[ebp]
|
||
002cd 50 push eax
|
||
002ce e8 00 00 00 00 call _fopen
|
||
002d3 83 c4 08 add esp, 8
|
||
002d6 89 85 28 e6 ff
|
||
ff mov DWORD PTR _fp$[ebp], eax
|
||
|
||
; 148 : if (fp)
|
||
|
||
002dc 83 bd 28 e6 ff
|
||
ff 00 cmp DWORD PTR _fp$[ebp], 0
|
||
002e3 0f 84 e7 01 00
|
||
00 je $LN6@Log
|
||
|
||
; 149 : {
|
||
; 150 : if (m_bPrintAppName)
|
||
|
||
002e9 8b 45 08 mov eax, DWORD PTR _this$[ebp]
|
||
002ec 83 b8 98 17 00
|
||
00 00 cmp DWORD PTR [eax+6040], 0
|
||
002f3 0f 84 80 00 00
|
||
00 je $LN7@Log
|
||
|
||
; 151 : {
|
||
; 152 : #ifdef _UNICODE
|
||
; 153 : CStringA AppNameA = CW2A(m_csAppName);
|
||
|
||
002f9 8b 4d 08 mov ecx, DWORD PTR _this$[ebp]
|
||
002fc 81 c1 70 17 00
|
||
00 add ecx, 6000 ; 00001770H
|
||
00302 e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
|
||
00307 50 push eax
|
||
00308 8d 8d 68 d2 ff
|
||
ff lea ecx, DWORD PTR $T7[ebp]
|
||
0030e e8 00 00 00 00 call ??0?$CW2AEX@$0IA@@ATL@@QAE@PB_W@Z ; ATL::CW2AEX<128>::CW2AEX<128>
|
||
00313 89 85 50 d1 ff
|
||
ff mov DWORD PTR tv185[ebp], eax
|
||
00319 8b 85 50 d1 ff
|
||
ff mov eax, DWORD PTR tv185[ebp]
|
||
0031f 89 85 4c d1 ff
|
||
ff mov DWORD PTR tv406[ebp], eax
|
||
00325 c6 45 fc 0d mov BYTE PTR __$EHRec$[ebp+12], 13 ; 0000000dH
|
||
00329 8b 8d 4c d1 ff
|
||
ff mov ecx, DWORD PTR tv406[ebp]
|
||
0032f e8 00 00 00 00 call ??B?$CW2AEX@$0IA@@ATL@@QBEPADXZ ; ATL::CW2AEX<128>::operator char *
|
||
00334 50 push eax
|
||
00335 8d 8d 24 e6 ff
|
||
ff lea ecx, DWORD PTR _AppNameA$21[ebp]
|
||
0033b e8 00 00 00 00 call ??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBD@Z ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
00340 c6 45 fc 0f mov BYTE PTR __$EHRec$[ebp+12], 15 ; 0000000fH
|
||
00344 8d 8d 68 d2 ff
|
||
ff lea ecx, DWORD PTR $T7[ebp]
|
||
0034a e8 00 00 00 00 call ??1?$CW2AEX@$0IA@@ATL@@QAE@XZ ; ATL::CW2AEX<128>::~CW2AEX<128>
|
||
|
||
; 154 : fprintf(fp,"%s : ", AppNameA);
|
||
|
||
0034f 8b 85 24 e6 ff
|
||
ff mov eax, DWORD PTR _AppNameA$21[ebp]
|
||
00355 50 push eax
|
||
00356 68 00 00 00 00 push OFFSET ??_C@_05LLGELLBM@?$CFs?5?3?5@
|
||
0035b 8b 8d 28 e6 ff
|
||
ff mov ecx, DWORD PTR _fp$[ebp]
|
||
00361 51 push ecx
|
||
00362 e8 00 00 00 00 call _fprintf
|
||
00367 83 c4 0c add esp, 12 ; 0000000cH
|
||
|
||
; 155 : #else
|
||
; 156 : fprintf(fp,"%s : ", m_csAppName);
|
||
; 157 : #endif
|
||
; 158 : }
|
||
|
||
0036a c6 45 fc 0c mov BYTE PTR __$EHRec$[ebp+12], 12 ; 0000000cH
|
||
0036e 8d 8d 24 e6 ff
|
||
ff lea ecx, DWORD PTR _AppNameA$21[ebp]
|
||
00374 e8 00 00 00 00 call ??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
$LN7@Log:
|
||
|
||
; 159 :
|
||
; 160 : if (m_bPrintTime)
|
||
|
||
00379 8b 45 08 mov eax, DWORD PTR _this$[ebp]
|
||
0037c 83 b8 94 17 00
|
||
00 00 cmp DWORD PTR [eax+6036], 0
|
||
00383 0f 84 b9 00 00
|
||
00 je $LN8@Log
|
||
|
||
; 161 : {
|
||
; 162 : #ifdef _UNICODE
|
||
; 163 : CStringA TimeA=CW2A(ct.Format("%Y-%m-%d %H:%M:%S"));
|
||
|
||
00389 68 00 00 00 00 push OFFSET ??_C@_0BC@LGPAMIPH@?$CFY?9?$CFm?9?$CFd?5?$CFH?3?$CFM?3?$CFS@
|
||
0038e 8d 85 e0 d1 ff
|
||
ff lea eax, DWORD PTR $T5[ebp]
|
||
00394 50 push eax
|
||
00395 8d 8d 34 e8 ff
|
||
ff lea ecx, DWORD PTR _ct$[ebp]
|
||
0039b e8 00 00 00 00 call ?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PBD@Z ; ATL::CTime::Format
|
||
003a0 89 85 50 d1 ff
|
||
ff mov DWORD PTR tv218[ebp], eax
|
||
003a6 8b 8d 50 d1 ff
|
||
ff mov ecx, DWORD PTR tv218[ebp]
|
||
003ac 89 8d 4c d1 ff
|
||
ff mov DWORD PTR tv409[ebp], ecx
|
||
003b2 c6 45 fc 10 mov BYTE PTR __$EHRec$[ebp+12], 16 ; 00000010H
|
||
003b6 8b 8d 4c d1 ff
|
||
ff mov ecx, DWORD PTR tv409[ebp]
|
||
003bc e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
|
||
003c1 50 push eax
|
||
003c2 8d 8d e4 d1 ff
|
||
ff lea ecx, DWORD PTR $T6[ebp]
|
||
003c8 e8 00 00 00 00 call ??0?$CW2AEX@$0IA@@ATL@@QAE@PB_W@Z ; ATL::CW2AEX<128>::CW2AEX<128>
|
||
003cd 89 85 48 d1 ff
|
||
ff mov DWORD PTR tv458[ebp], eax
|
||
003d3 8b 95 48 d1 ff
|
||
ff mov edx, DWORD PTR tv458[ebp]
|
||
003d9 89 95 44 d1 ff
|
||
ff mov DWORD PTR tv411[ebp], edx
|
||
003df c6 45 fc 11 mov BYTE PTR __$EHRec$[ebp+12], 17 ; 00000011H
|
||
003e3 8b 8d 44 d1 ff
|
||
ff mov ecx, DWORD PTR tv411[ebp]
|
||
003e9 e8 00 00 00 00 call ??B?$CW2AEX@$0IA@@ATL@@QBEPADXZ ; ATL::CW2AEX<128>::operator char *
|
||
003ee 50 push eax
|
||
003ef 8d 8d 20 e6 ff
|
||
ff lea ecx, DWORD PTR _TimeA$20[ebp]
|
||
003f5 e8 00 00 00 00 call ??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBD@Z ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
003fa c6 45 fc 13 mov BYTE PTR __$EHRec$[ebp+12], 19 ; 00000013H
|
||
003fe 8d 8d e4 d1 ff
|
||
ff lea ecx, DWORD PTR $T6[ebp]
|
||
00404 e8 00 00 00 00 call ??1?$CW2AEX@$0IA@@ATL@@QAE@XZ ; ATL::CW2AEX<128>::~CW2AEX<128>
|
||
00409 c6 45 fc 14 mov BYTE PTR __$EHRec$[ebp+12], 20 ; 00000014H
|
||
0040d 8d 8d e0 d1 ff
|
||
ff lea ecx, DWORD PTR $T5[ebp]
|
||
00413 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
|
||
; 164 : fprintf(fp,"%s : ",TimeA);
|
||
|
||
00418 8b 85 20 e6 ff
|
||
ff mov eax, DWORD PTR _TimeA$20[ebp]
|
||
0041e 50 push eax
|
||
0041f 68 00 00 00 00 push OFFSET ??_C@_05LLGELLBM@?$CFs?5?3?5@
|
||
00424 8b 8d 28 e6 ff
|
||
ff mov ecx, DWORD PTR _fp$[ebp]
|
||
0042a 51 push ecx
|
||
0042b e8 00 00 00 00 call _fprintf
|
||
00430 83 c4 0c add esp, 12 ; 0000000cH
|
||
|
||
; 165 : #else
|
||
; 166 : fprintf(fp,"%s : ",ct.Format("%Y-%m-%d %H:%M:%S"));
|
||
; 167 : #endif
|
||
; 168 : }
|
||
|
||
00433 c6 45 fc 0c mov BYTE PTR __$EHRec$[ebp+12], 12 ; 0000000cH
|
||
00437 8d 8d 20 e6 ff
|
||
ff lea ecx, DWORD PTR _TimeA$20[ebp]
|
||
0043d e8 00 00 00 00 call ??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
$LN8@Log:
|
||
|
||
; 169 : #ifdef _UNICODE
|
||
; 170 : CStringA strbufA = CW2A(m_tBuf);
|
||
|
||
00442 8b 45 08 mov eax, DWORD PTR _this$[ebp]
|
||
00445 50 push eax
|
||
00446 8d 8d 5c d1 ff
|
||
ff lea ecx, DWORD PTR $T4[ebp]
|
||
0044c e8 00 00 00 00 call ??0?$CW2AEX@$0IA@@ATL@@QAE@PB_W@Z ; ATL::CW2AEX<128>::CW2AEX<128>
|
||
00451 89 85 50 d1 ff
|
||
ff mov DWORD PTR tv241[ebp], eax
|
||
00457 8b 8d 50 d1 ff
|
||
ff mov ecx, DWORD PTR tv241[ebp]
|
||
0045d 89 8d 4c d1 ff
|
||
ff mov DWORD PTR tv414[ebp], ecx
|
||
00463 c6 45 fc 15 mov BYTE PTR __$EHRec$[ebp+12], 21 ; 00000015H
|
||
00467 8b 8d 4c d1 ff
|
||
ff mov ecx, DWORD PTR tv414[ebp]
|
||
0046d e8 00 00 00 00 call ??B?$CW2AEX@$0IA@@ATL@@QBEPADXZ ; ATL::CW2AEX<128>::operator char *
|
||
00472 50 push eax
|
||
00473 8d 8d 1c e6 ff
|
||
ff lea ecx, DWORD PTR _strbufA$19[ebp]
|
||
00479 e8 00 00 00 00 call ??0?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@PBD@Z ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
0047e c6 45 fc 17 mov BYTE PTR __$EHRec$[ebp+12], 23 ; 00000017H
|
||
00482 8d 8d 5c d1 ff
|
||
ff lea ecx, DWORD PTR $T4[ebp]
|
||
00488 e8 00 00 00 00 call ??1?$CW2AEX@$0IA@@ATL@@QAE@XZ ; ATL::CW2AEX<128>::~CW2AEX<128>
|
||
|
||
; 171 : fprintf(fp, "%s\n", strbufA);
|
||
|
||
0048d 8b 85 1c e6 ff
|
||
ff mov eax, DWORD PTR _strbufA$19[ebp]
|
||
00493 50 push eax
|
||
00494 68 00 00 00 00 push OFFSET ??_C@_03OFAPEBGM@?$CFs?6@
|
||
00499 8b 8d 28 e6 ff
|
||
ff mov ecx, DWORD PTR _fp$[ebp]
|
||
0049f 51 push ecx
|
||
004a0 e8 00 00 00 00 call _fprintf
|
||
004a5 83 c4 0c add esp, 12 ; 0000000cH
|
||
|
||
; 172 : #else
|
||
; 173 : fprintf(fp, "%s\n", m_tBuf);
|
||
; 174 : #endif
|
||
; 175 :
|
||
; 176 : fclose(fp);
|
||
|
||
004a8 8b 85 28 e6 ff
|
||
ff mov eax, DWORD PTR _fp$[ebp]
|
||
004ae 50 push eax
|
||
004af e8 00 00 00 00 call _fclose
|
||
004b4 83 c4 04 add esp, 4
|
||
|
||
; 177 :
|
||
; 178 : bOK = TRUE;
|
||
|
||
004b7 c7 85 3c e8 ff
|
||
ff 01 00 00 00 mov DWORD PTR _bOK$[ebp], 1
|
||
|
||
; 179 : }
|
||
|
||
004c1 c6 45 fc 0c mov BYTE PTR __$EHRec$[ebp+12], 12 ; 0000000cH
|
||
004c5 8d 8d 1c e6 ff
|
||
ff lea ecx, DWORD PTR _strbufA$19[ebp]
|
||
004cb e8 00 00 00 00 call ??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
$LN6@Log:
|
||
|
||
; 180 :
|
||
; 181 : if ( m_pEdit && m_bShowEdit )
|
||
|
||
004d0 8b 45 08 mov eax, DWORD PTR _this$[ebp]
|
||
004d3 83 b8 a4 17 00
|
||
00 00 cmp DWORD PTR [eax+6052], 0
|
||
004da 0f 84 2f 02 00
|
||
00 je $LN9@Log
|
||
004e0 8b 45 08 mov eax, DWORD PTR _this$[ebp]
|
||
004e3 83 b8 9c 17 00
|
||
00 00 cmp DWORD PTR [eax+6044], 0
|
||
004ea 0f 84 1f 02 00
|
||
00 je $LN9@Log
|
||
|
||
; 182 : {
|
||
; 183 : /*
|
||
; 184 : int lLines = m_pEdit->GetLineCount();
|
||
; 185 :
|
||
; 186 : if ( lLines>m_lEditMaxLines )
|
||
; 187 : {
|
||
; 188 : for ( int i=0 ; i<lLines-m_lEditMaxLines ; i++ ) //ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
; 189 : {
|
||
; 190 : int nBegin, nEnd;
|
||
; 191 : // Replace the second line, if it exists, of the edit control
|
||
; 192 : // with the text lpszmyString.
|
||
; 193 : if ((nBegin=m_pEdit->LineIndex(0)) != -1)
|
||
; 194 : {
|
||
; 195 : nEnd = nBegin + m_pEdit->LineLength(1);
|
||
; 196 : m_pEdit->SetSel(nBegin, nEnd+1);
|
||
; 197 : m_pEdit->Clear();
|
||
; 198 : //m_pEdit->ReplaceSel(_T(""));
|
||
; 199 : }
|
||
; 200 : }
|
||
; 201 : }
|
||
; 202 : int iLen = m_pEdit->GetWindowTextLength();
|
||
; 203 : m_pEdit->SetSel(iLen,iLen);
|
||
; 204 : CString str;
|
||
; 205 : str.Format( _T("%s %s\r\n"),ct.Format(_T("%H:%M:%S")) , m_tBuf );
|
||
; 206 : m_pEdit->ReplaceSel(str);
|
||
; 207 : */
|
||
; 208 :
|
||
; 209 : CString strWMsg;
|
||
|
||
004f0 8d 8d 18 e6 ff
|
||
ff lea ecx, DWORD PTR _strWMsg$18[ebp]
|
||
004f6 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
004fb c6 45 fc 18 mov BYTE PTR __$EHRec$[ebp+12], 24 ; 00000018H
|
||
|
||
; 210 :
|
||
; 211 : m_pEdit->GetWindowText(strWMsg);
|
||
|
||
004ff 8b 45 08 mov eax, DWORD PTR _this$[ebp]
|
||
00502 8b 88 a4 17 00
|
||
00 mov ecx, DWORD PTR [eax+6052]
|
||
00508 89 8d 50 d1 ff
|
||
ff mov DWORD PTR tv297[ebp], ecx
|
||
0050e 8d 95 18 e6 ff
|
||
ff lea edx, DWORD PTR _strWMsg$18[ebp]
|
||
00514 52 push edx
|
||
00515 8b 8d 50 d1 ff
|
||
ff mov ecx, DWORD PTR tv297[ebp]
|
||
0051b e8 00 00 00 00 call ?GetWindowTextW@CWnd@@QBEXAAV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@Z ; CWnd::GetWindowTextW
|
||
|
||
; 212 : /*
|
||
; 213 : if ( strWMsg.GetLength() > LOG_MAX_CHAR )
|
||
; 214 : {
|
||
; 215 : strWMsg = strWMsg.Right(LOG_MAX_CHAR);
|
||
; 216 : m_E_Log.SetWindowText(strWMsg);
|
||
; 217 : m_E_Log.EmptyUndoBuffer();
|
||
; 218 : }
|
||
; 219 : */
|
||
; 220 :
|
||
; 221 : long lLineCount = m_pEdit->GetLineCount();
|
||
|
||
00520 8b 45 08 mov eax, DWORD PTR _this$[ebp]
|
||
00523 8b 88 a4 17 00
|
||
00 mov ecx, DWORD PTR [eax+6052]
|
||
00529 e8 00 00 00 00 call ?GetLineCount@CEdit@@QBEHXZ ; CEdit::GetLineCount
|
||
0052e 89 85 14 e6 ff
|
||
ff mov DWORD PTR _lLineCount$17[ebp], eax
|
||
|
||
; 222 : if ( lLineCount > m_lEditMaxLines )
|
||
|
||
00534 8b 45 08 mov eax, DWORD PTR _this$[ebp]
|
||
00537 8b 8d 14 e6 ff
|
||
ff mov ecx, DWORD PTR _lLineCount$17[ebp]
|
||
0053d 3b 88 a0 17 00
|
||
00 cmp ecx, DWORD PTR [eax+6048]
|
||
00543 0f 8e ca 00 00
|
||
00 jle $LN10@Log
|
||
|
||
; 223 : {
|
||
; 224 : TCHAR szBuf[2048]={0};
|
||
|
||
00549 68 00 10 00 00 push 4096 ; 00001000H
|
||
0054e 6a 00 push 0
|
||
00550 8d 85 14 d6 ff
|
||
ff lea eax, DWORD PTR _szBuf$16[ebp]
|
||
00556 50 push eax
|
||
00557 e8 00 00 00 00 call _memset
|
||
0055c 83 c4 0c add esp, 12 ; 0000000cH
|
||
|
||
; 225 : m_pEdit->GetLine(0,szBuf,sizeof(szBuf));
|
||
|
||
0055f 8b 45 08 mov eax, DWORD PTR _this$[ebp]
|
||
00562 8b 88 a4 17 00
|
||
00 mov ecx, DWORD PTR [eax+6052]
|
||
00568 89 8d 50 d1 ff
|
||
ff mov DWORD PTR tv313[ebp], ecx
|
||
0056e 68 00 10 00 00 push 4096 ; 00001000H
|
||
00573 8d 95 14 d6 ff
|
||
ff lea edx, DWORD PTR _szBuf$16[ebp]
|
||
00579 52 push edx
|
||
0057a 6a 00 push 0
|
||
0057c 8b 8d 50 d1 ff
|
||
ff mov ecx, DWORD PTR tv313[ebp]
|
||
00582 e8 00 00 00 00 call ?GetLine@CEdit@@QBEHHPA_WH@Z ; CEdit::GetLine
|
||
|
||
; 226 : _tcscat(szBuf , _T("\r\n") );
|
||
|
||
00587 68 00 00 00 00 push OFFSET ??_C@_15JNBOKNOG@?$AA?$AN?$AA?6@
|
||
0058c 8d 85 14 d6 ff
|
||
ff lea eax, DWORD PTR _szBuf$16[ebp]
|
||
00592 50 push eax
|
||
00593 e8 00 00 00 00 call _wcscat
|
||
00598 83 c4 08 add esp, 8
|
||
|
||
; 227 :
|
||
; 228 : m_pEdit->GetWindowText(strWMsg);
|
||
|
||
0059b 8b 45 08 mov eax, DWORD PTR _this$[ebp]
|
||
0059e 8b 88 a4 17 00
|
||
00 mov ecx, DWORD PTR [eax+6052]
|
||
005a4 89 8d 50 d1 ff
|
||
ff mov DWORD PTR tv323[ebp], ecx
|
||
005aa 8d 95 18 e6 ff
|
||
ff lea edx, DWORD PTR _strWMsg$18[ebp]
|
||
005b0 52 push edx
|
||
005b1 8b 8d 50 d1 ff
|
||
ff mov ecx, DWORD PTR tv323[ebp]
|
||
005b7 e8 00 00 00 00 call ?GetWindowTextW@CWnd@@QBEXAAV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@Z ; CWnd::GetWindowTextW
|
||
|
||
; 229 : strWMsg.Replace( szBuf , _T("") );
|
||
|
||
005bc 68 00 00 00 00 push OFFSET ??_C@_11LOCGONAA@@
|
||
005c1 8d 85 14 d6 ff
|
||
ff lea eax, DWORD PTR _szBuf$16[ebp]
|
||
005c7 50 push eax
|
||
005c8 8d 8d 18 e6 ff
|
||
ff lea ecx, DWORD PTR _strWMsg$18[ebp]
|
||
005ce e8 00 00 00 00 call ?Replace@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPB_W0@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace
|
||
|
||
; 230 :
|
||
; 231 : m_pEdit->SetWindowText(strWMsg);
|
||
|
||
005d3 8b 45 08 mov eax, DWORD PTR _this$[ebp]
|
||
005d6 8b 88 a4 17 00
|
||
00 mov ecx, DWORD PTR [eax+6052]
|
||
005dc 89 8d 50 d1 ff
|
||
ff mov DWORD PTR tv343[ebp], ecx
|
||
005e2 8d 8d 18 e6 ff
|
||
ff lea ecx, DWORD PTR _strWMsg$18[ebp]
|
||
005e8 e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
|
||
005ed 89 85 4c d1 ff
|
||
ff mov DWORD PTR tv341[ebp], eax
|
||
005f3 8b 95 4c d1 ff
|
||
ff mov edx, DWORD PTR tv341[ebp]
|
||
005f9 52 push edx
|
||
005fa 8b 8d 50 d1 ff
|
||
ff mov ecx, DWORD PTR tv343[ebp]
|
||
00600 e8 00 00 00 00 call ?SetWindowTextW@CWnd@@QAEXPB_W@Z ; CWnd::SetWindowTextW
|
||
|
||
; 232 : m_pEdit->EmptyUndoBuffer();
|
||
|
||
00605 8b 45 08 mov eax, DWORD PTR _this$[ebp]
|
||
00608 8b 88 a4 17 00
|
||
00 mov ecx, DWORD PTR [eax+6052]
|
||
0060e e8 00 00 00 00 call ?EmptyUndoBuffer@CEdit@@QAEXXZ ; CEdit::EmptyUndoBuffer
|
||
$LN10@Log:
|
||
|
||
; 233 : }
|
||
; 234 :
|
||
; 235 : CString str;
|
||
|
||
00613 8d 8d 10 d6 ff
|
||
ff lea ecx, DWORD PTR _str$15[ebp]
|
||
00619 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
0061e c6 45 fc 19 mov BYTE PTR __$EHRec$[ebp+12], 25 ; 00000019H
|
||
|
||
; 236 : str.Format( _T("%s %s\r\n"),ct.Format(_T("%H:%M:%S")) , m_tBuf );
|
||
|
||
00622 8b 45 08 mov eax, DWORD PTR _this$[ebp]
|
||
00625 50 push eax
|
||
00626 68 00 00 00 00 push OFFSET ??_C@_1BC@HENGEFHL@?$AA?$CF?$AAH?$AA?3?$AA?$CF?$AAM?$AA?3?$AA?$CF?$AAS@
|
||
0062b 8d 8d 58 d1 ff
|
||
ff lea ecx, DWORD PTR $T3[ebp]
|
||
00631 51 push ecx
|
||
00632 8d 8d 34 e8 ff
|
||
ff lea ecx, DWORD PTR _ct$[ebp]
|
||
00638 e8 00 00 00 00 call ?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PB_W@Z ; ATL::CTime::Format
|
||
0063d 89 85 50 d1 ff
|
||
ff mov DWORD PTR tv347[ebp], eax
|
||
00643 8b 95 50 d1 ff
|
||
ff mov edx, DWORD PTR tv347[ebp]
|
||
00649 89 95 4c d1 ff
|
||
ff mov DWORD PTR tv451[ebp], edx
|
||
0064f c6 45 fc 1a mov BYTE PTR __$EHRec$[ebp+12], 26 ; 0000001aH
|
||
00653 8b 85 4c d1 ff
|
||
ff mov eax, DWORD PTR tv451[ebp]
|
||
00659 8b 08 mov ecx, DWORD PTR [eax]
|
||
0065b 51 push ecx
|
||
0065c 68 00 00 00 00 push OFFSET ??_C@_1BA@KIJFPCPK@?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAs?$AA?$AN?$AA?6@
|
||
00661 8d 95 10 d6 ff
|
||
ff lea edx, DWORD PTR _str$15[ebp]
|
||
00667 52 push edx
|
||
00668 e8 00 00 00 00 call ?Format@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAAXPB_WZZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format
|
||
0066d 83 c4 10 add esp, 16 ; 00000010H
|
||
00670 c6 45 fc 19 mov BYTE PTR __$EHRec$[ebp+12], 25 ; 00000019H
|
||
00674 8d 8d 58 d1 ff
|
||
ff lea ecx, DWORD PTR $T3[ebp]
|
||
0067a e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
|
||
; 237 :
|
||
; 238 : long lTLen= m_pEdit->GetWindowTextLength();
|
||
|
||
0067f 8b 45 08 mov eax, DWORD PTR _this$[ebp]
|
||
00682 8b 88 a4 17 00
|
||
00 mov ecx, DWORD PTR [eax+6052]
|
||
00688 e8 00 00 00 00 call ?GetWindowTextLengthW@CWnd@@QBEHXZ ; CWnd::GetWindowTextLengthW
|
||
0068d 89 85 0c d6 ff
|
||
ff mov DWORD PTR _lTLen$14[ebp], eax
|
||
|
||
; 239 : m_pEdit->SetSel( lTLen , lTLen );
|
||
|
||
00693 8b 45 08 mov eax, DWORD PTR _this$[ebp]
|
||
00696 8b 88 a4 17 00
|
||
00 mov ecx, DWORD PTR [eax+6052]
|
||
0069c 89 8d 50 d1 ff
|
||
ff mov DWORD PTR tv373[ebp], ecx
|
||
006a2 6a 00 push 0
|
||
006a4 8b 95 0c d6 ff
|
||
ff mov edx, DWORD PTR _lTLen$14[ebp]
|
||
006aa 52 push edx
|
||
006ab 8b 85 0c d6 ff
|
||
ff mov eax, DWORD PTR _lTLen$14[ebp]
|
||
006b1 50 push eax
|
||
006b2 8b 8d 50 d1 ff
|
||
ff mov ecx, DWORD PTR tv373[ebp]
|
||
006b8 e8 00 00 00 00 call ?SetSel@CEdit@@QAEXHHH@Z ; CEdit::SetSel
|
||
|
||
; 240 : m_pEdit->ReplaceSel( str );
|
||
|
||
006bd 8b 45 08 mov eax, DWORD PTR _this$[ebp]
|
||
006c0 8b 88 a4 17 00
|
||
00 mov ecx, DWORD PTR [eax+6052]
|
||
006c6 89 8d 50 d1 ff
|
||
ff mov DWORD PTR tv387[ebp], ecx
|
||
006cc 8d 8d 10 d6 ff
|
||
ff lea ecx, DWORD PTR _str$15[ebp]
|
||
006d2 e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
|
||
006d7 89 85 4c d1 ff
|
||
ff mov DWORD PTR tv385[ebp], eax
|
||
006dd 6a 00 push 0
|
||
006df 8b 95 4c d1 ff
|
||
ff mov edx, DWORD PTR tv385[ebp]
|
||
006e5 52 push edx
|
||
006e6 8b 8d 50 d1 ff
|
||
ff mov ecx, DWORD PTR tv387[ebp]
|
||
006ec e8 00 00 00 00 call ?ReplaceSel@CEdit@@QAEXPB_WH@Z ; CEdit::ReplaceSel
|
||
|
||
; 241 : }
|
||
|
||
006f1 c6 45 fc 18 mov BYTE PTR __$EHRec$[ebp+12], 24 ; 00000018H
|
||
006f5 8d 8d 10 d6 ff
|
||
ff lea ecx, DWORD PTR _str$15[ebp]
|
||
006fb e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
00700 c6 45 fc 0c mov BYTE PTR __$EHRec$[ebp+12], 12 ; 0000000cH
|
||
00704 8d 8d 18 e6 ff
|
||
ff lea ecx, DWORD PTR _strWMsg$18[ebp]
|
||
0070a e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
$LN9@Log:
|
||
|
||
; 242 :
|
||
; 243 : LeaveCriticalSection(&m_crit);
|
||
|
||
0070f 8b 45 08 mov eax, DWORD PTR _this$[ebp]
|
||
00712 05 78 17 00 00 add eax, 6008 ; 00001778H
|
||
00717 50 push eax
|
||
00718 ff 15 00 00 00
|
||
00 call DWORD PTR __imp__LeaveCriticalSection@4
|
||
|
||
; 244 :
|
||
; 245 : return bOK;
|
||
|
||
0071e 8b 85 3c e8 ff
|
||
ff mov eax, DWORD PTR _bOK$[ebp]
|
||
00724 89 85 54 d1 ff
|
||
ff mov DWORD PTR $T2[ebp], eax
|
||
0072a c6 45 fc 07 mov BYTE PTR __$EHRec$[ebp+12], 7
|
||
0072e 8d 8d 2c e6 ff
|
||
ff lea ecx, DWORD PTR _timeA$[ebp]
|
||
00734 e8 00 00 00 00 call ??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
00739 c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+12], -1
|
||
00740 8d 8d 30 e6 ff
|
||
ff lea ecx, DWORD PTR _fileNameA$[ebp]
|
||
00746 e8 00 00 00 00 call ??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
0074b 8b 85 54 d1 ff
|
||
ff mov eax, DWORD PTR $T2[ebp]
|
||
$LN1@Log:
|
||
|
||
; 246 : }
|
||
|
||
00751 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp+4]
|
||
00754 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
0075b 59 pop ecx
|
||
0075c 5f pop edi
|
||
0075d 5e pop esi
|
||
0075e 5b pop ebx
|
||
0075f 8b 4d ec mov ecx, DWORD PTR __$ArrayPad$[ebp]
|
||
00762 33 cd xor ecx, ebp
|
||
00764 e8 00 00 00 00 call @__security_check_cookie@4
|
||
00769 8b e5 mov esp, ebp
|
||
0076b 5d pop ebp
|
||
0076c c3 ret 0
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$2:
|
||
00000 8d 8d 40 e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$22[ebp]
|
||
00006 e9 00 00 00 00 jmp ??1CSAStatusLog@@QAE@XZ ; CSAStatusLog::~CSAStatusLog
|
||
__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$3:
|
||
0000b 8b 8d 04 d4 ff
|
||
ff mov ecx, DWORD PTR $T13[ebp]
|
||
00011 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$4:
|
||
00016 8b 8d 00 d4 ff
|
||
ff mov ecx, DWORD PTR $T12[ebp]
|
||
0001c e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$5:
|
||
00021 8d 8d 74 d3 ff
|
||
ff lea ecx, DWORD PTR $T10[ebp]
|
||
00027 e9 00 00 00 00 jmp ??1?$CW2AEX@$0IA@@ATL@@QAE@XZ ; ATL::CW2AEX<128>::~CW2AEX<128>
|
||
__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$6:
|
||
0002c 8d 8d 30 e6 ff
|
||
ff lea ecx, DWORD PTR _fileNameA$[ebp]
|
||
00032 e9 00 00 00 00 jmp ??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$7:
|
||
00037 8d 8d ec d2 ff
|
||
ff lea ecx, DWORD PTR $T8[ebp]
|
||
0003d e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$8:
|
||
00042 8d 8d f0 d2 ff
|
||
ff lea ecx, DWORD PTR $T9[ebp]
|
||
00048 e9 00 00 00 00 jmp ??1?$CW2AEX@$0IA@@ATL@@QAE@XZ ; ATL::CW2AEX<128>::~CW2AEX<128>
|
||
__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$9:
|
||
0004d 8d 8d 2c e6 ff
|
||
ff lea ecx, DWORD PTR _timeA$[ebp]
|
||
00053 e9 00 00 00 00 jmp ??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$10:
|
||
00058 8d 8d 68 d2 ff
|
||
ff lea ecx, DWORD PTR $T7[ebp]
|
||
0005e e9 00 00 00 00 jmp ??1?$CW2AEX@$0IA@@ATL@@QAE@XZ ; ATL::CW2AEX<128>::~CW2AEX<128>
|
||
__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$11:
|
||
00063 8d 8d 24 e6 ff
|
||
ff lea ecx, DWORD PTR _AppNameA$21[ebp]
|
||
00069 e9 00 00 00 00 jmp ??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$12:
|
||
0006e 8d 8d e0 d1 ff
|
||
ff lea ecx, DWORD PTR $T5[ebp]
|
||
00074 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$13:
|
||
00079 8d 8d e4 d1 ff
|
||
ff lea ecx, DWORD PTR $T6[ebp]
|
||
0007f e9 00 00 00 00 jmp ??1?$CW2AEX@$0IA@@ATL@@QAE@XZ ; ATL::CW2AEX<128>::~CW2AEX<128>
|
||
__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$14:
|
||
00084 8d 8d 20 e6 ff
|
||
ff lea ecx, DWORD PTR _TimeA$20[ebp]
|
||
0008a e9 00 00 00 00 jmp ??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$15:
|
||
0008f 8d 8d 5c d1 ff
|
||
ff lea ecx, DWORD PTR $T4[ebp]
|
||
00095 e9 00 00 00 00 jmp ??1?$CW2AEX@$0IA@@ATL@@QAE@XZ ; ATL::CW2AEX<128>::~CW2AEX<128>
|
||
__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$16:
|
||
0009a 8d 8d 1c e6 ff
|
||
ff lea ecx, DWORD PTR _strbufA$19[ebp]
|
||
000a0 e9 00 00 00 00 jmp ??1?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >
|
||
__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$17:
|
||
000a5 8d 8d 18 e6 ff
|
||
ff lea ecx, DWORD PTR _strWMsg$18[ebp]
|
||
000ab e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$18:
|
||
000b0 8d 8d 10 d6 ff
|
||
ff lea ecx, DWORD PTR _str$15[ebp]
|
||
000b6 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?Log@CSAStatusLog@@QAAHPB_WZZ$19:
|
||
000bb 8d 8d 58 d1 ff
|
||
ff lea ecx, DWORD PTR $T3[ebp]
|
||
000c1 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
000c6 cc int 3
|
||
000c7 cc int 3
|
||
000c8 cc int 3
|
||
000c9 cc int 3
|
||
000ca cc int 3
|
||
__ehhandler$?Log@CSAStatusLog@@QAAHPB_WZZ:
|
||
000cb 90 npad 1
|
||
000cc 90 npad 1
|
||
000cd 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
000d1 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
000d4 8b 8a 40 d1 ff
|
||
ff mov ecx, DWORD PTR [edx-11968]
|
||
000da 33 c8 xor ecx, eax
|
||
000dc e8 00 00 00 00 call @__security_check_cookie@4
|
||
000e1 8b 4a f8 mov ecx, DWORD PTR [edx-8]
|
||
000e4 33 c8 xor ecx, eax
|
||
000e6 e8 00 00 00 00 call @__security_check_cookie@4
|
||
000eb b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?Log@CSAStatusLog@@QAAHPB_WZZ
|
||
000f0 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?Log@CSAStatusLog@@QAAHPB_WZZ ENDP ; CSAStatusLog::Log
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\public\SAStatusLog\SAStatusLog.cpp
|
||
; COMDAT ?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z
|
||
_TEXT SEGMENT
|
||
tv179 = -728 ; size = 4
|
||
tv182 = -724 ; size = 4
|
||
tv177 = -720 ; size = 4
|
||
tv75 = -716 ; size = 4
|
||
tv175 = -712 ; size = 4
|
||
tv173 = -712 ; size = 4
|
||
tv166 = -708 ; size = 4
|
||
tv87 = -708 ; size = 4
|
||
tv73 = -708 ; size = 4
|
||
$T2 = -704 ; size = 4
|
||
$T3 = -700 ; size = 4
|
||
$T4 = -696 ; size = 4
|
||
$T5 = -692 ; size = 4
|
||
$T6 = -688 ; size = 4
|
||
$T7 = -684 ; size = 4
|
||
_appDir$ = -552 ; size = 4
|
||
_res$ = -548 ; size = 4
|
||
_buf$ = -544 ; size = 522
|
||
_this$ = -20 ; size = 4
|
||
__$ArrayPad$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
_strOutputBasePath$ = 8 ; size = 4
|
||
_strpOutputBaseFilename$ = 12 ; size = 4
|
||
?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z PROC ; CSAStatusLog::Init, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 59 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 81 ec cc 02 00
|
||
00 sub esp, 716 ; 000002ccH
|
||
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
|
||
00031 c7 45 fc 01 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 1
|
||
|
||
; 60 : m_bEnable = TRUE;
|
||
|
||
00038 8b 45 ec mov eax, DWORD PTR _this$[ebp]
|
||
0003b c7 80 90 17 00
|
||
00 01 00 00 00 mov DWORD PTR [eax+6032], 1
|
||
|
||
; 61 :
|
||
; 62 : // get application path and name
|
||
; 63 : TCHAR buf[MAX_PATH+1];
|
||
; 64 : DWORD res = GetModuleFileName(AfxGetInstanceHandle(), buf, MAX_PATH);
|
||
|
||
00045 68 04 01 00 00 push 260 ; 00000104H
|
||
0004a 8d 85 e0 fd ff
|
||
ff lea eax, DWORD PTR _buf$[ebp]
|
||
00050 50 push eax
|
||
00051 e8 00 00 00 00 call ?AfxGetInstanceHandle@@YGPAUHINSTANCE__@@XZ ; AfxGetInstanceHandle
|
||
00056 50 push eax
|
||
00057 ff 15 00 00 00
|
||
00 call DWORD PTR __imp__GetModuleFileNameW@12
|
||
0005d 89 85 dc fd ff
|
||
ff mov DWORD PTR _res$[ebp], eax
|
||
|
||
; 65 :
|
||
; 66 : CString appDir = GetBaseDir(buf);
|
||
|
||
00063 8d 85 e0 fd ff
|
||
ff lea eax, DWORD PTR _buf$[ebp]
|
||
00069 50 push eax
|
||
0006a 8d 8d 54 fd ff
|
||
ff lea ecx, DWORD PTR $T7[ebp]
|
||
00070 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
00075 c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+8], 2
|
||
00079 8d 8d 54 fd ff
|
||
ff lea ecx, DWORD PTR $T7[ebp]
|
||
0007f 51 push ecx
|
||
00080 8d 95 d8 fd ff
|
||
ff lea edx, DWORD PTR _appDir$[ebp]
|
||
00086 52 push edx
|
||
00087 8b 4d ec mov ecx, DWORD PTR _this$[ebp]
|
||
0008a e8 00 00 00 00 call ?GetBaseDir@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z ; CSAStatusLog::GetBaseDir
|
||
0008f c6 45 fc 04 mov BYTE PTR __$EHRec$[ebp+8], 4
|
||
00093 8d 8d 54 fd ff
|
||
ff lea ecx, DWORD PTR $T7[ebp]
|
||
00099 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
|
||
; 67 : m_csAppName = GetBaseName(buf);
|
||
|
||
0009e 8d 85 e0 fd ff
|
||
ff lea eax, DWORD PTR _buf$[ebp]
|
||
000a4 50 push eax
|
||
000a5 8d 8d 50 fd ff
|
||
ff lea ecx, DWORD PTR $T6[ebp]
|
||
000ab e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
000b0 c6 45 fc 05 mov BYTE PTR __$EHRec$[ebp+8], 5
|
||
000b4 8d 8d 50 fd ff
|
||
ff lea ecx, DWORD PTR $T6[ebp]
|
||
000ba 51 push ecx
|
||
000bb 8d 95 4c fd ff
|
||
ff lea edx, DWORD PTR $T5[ebp]
|
||
000c1 52 push edx
|
||
000c2 8b 4d ec mov ecx, DWORD PTR _this$[ebp]
|
||
000c5 e8 00 00 00 00 call ?GetBaseName@CSAStatusLog@@IAE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@ABV23@@Z ; CSAStatusLog::GetBaseName
|
||
000ca 89 85 3c fd ff
|
||
ff mov DWORD PTR tv87[ebp], eax
|
||
000d0 8b 85 3c fd ff
|
||
ff mov eax, DWORD PTR tv87[ebp]
|
||
000d6 89 85 38 fd ff
|
||
ff mov DWORD PTR tv173[ebp], eax
|
||
000dc c6 45 fc 06 mov BYTE PTR __$EHRec$[ebp+8], 6
|
||
000e0 8b 8d 38 fd ff
|
||
ff mov ecx, DWORD PTR tv173[ebp]
|
||
000e6 51 push ecx
|
||
000e7 8b 4d ec mov ecx, DWORD PTR _this$[ebp]
|
||
000ea 81 c1 70 17 00
|
||
00 add ecx, 6000 ; 00001770H
|
||
000f0 e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
|
||
000f5 c6 45 fc 05 mov BYTE PTR __$EHRec$[ebp+8], 5
|
||
000f9 8d 8d 4c fd ff
|
||
ff lea ecx, DWORD PTR $T5[ebp]
|
||
000ff e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
00104 c6 45 fc 04 mov BYTE PTR __$EHRec$[ebp+8], 4
|
||
00108 8d 8d 50 fd ff
|
||
ff lea ecx, DWORD PTR $T6[ebp]
|
||
0010e e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
|
||
; 68 :
|
||
; 69 : if ( strOutputBasePath.GetLength()>0 )
|
||
|
||
00113 8d 4d 08 lea ecx, DWORD PTR _strOutputBasePath$[ebp]
|
||
00116 e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
|
||
0011b 85 c0 test eax, eax
|
||
0011d 0f 8e dc 00 00
|
||
00 jle $LN2@Init
|
||
|
||
; 70 : {
|
||
; 71 : appDir = appDir+CString(_T("\\"))+strOutputBasePath;
|
||
|
||
00123 8d 45 08 lea eax, DWORD PTR _strOutputBasePath$[ebp]
|
||
00126 50 push eax
|
||
00127 68 00 00 00 00 push OFFSET ??_C@_13FPGAJAPJ@?$AA?2@
|
||
0012c 8d 8d 48 fd ff
|
||
ff lea ecx, DWORD PTR $T4[ebp]
|
||
00132 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
00137 89 85 3c fd ff
|
||
ff mov DWORD PTR tv73[ebp], eax
|
||
0013d 8b 8d 3c fd ff
|
||
ff mov ecx, DWORD PTR tv73[ebp]
|
||
00143 89 8d 38 fd ff
|
||
ff mov DWORD PTR tv175[ebp], ecx
|
||
00149 c6 45 fc 07 mov BYTE PTR __$EHRec$[ebp+8], 7
|
||
0014d 8b 95 38 fd ff
|
||
ff mov edx, DWORD PTR tv175[ebp]
|
||
00153 52 push edx
|
||
00154 8d 85 d8 fd ff
|
||
ff lea eax, DWORD PTR _appDir$[ebp]
|
||
0015a 50 push eax
|
||
0015b 8d 8d 44 fd ff
|
||
ff lea ecx, DWORD PTR $T3[ebp]
|
||
00161 51 push ecx
|
||
00162 e8 00 00 00 00 call ??HATL@@YA?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@0@ABV10@0@Z ; ATL::operator+
|
||
00167 83 c4 0c add esp, 12 ; 0000000cH
|
||
0016a 89 85 34 fd ff
|
||
ff mov DWORD PTR tv75[ebp], eax
|
||
00170 8b 95 34 fd ff
|
||
ff mov edx, DWORD PTR tv75[ebp]
|
||
00176 89 95 30 fd ff
|
||
ff mov DWORD PTR tv177[ebp], edx
|
||
0017c c6 45 fc 08 mov BYTE PTR __$EHRec$[ebp+8], 8
|
||
00180 8b 85 30 fd ff
|
||
ff mov eax, DWORD PTR tv177[ebp]
|
||
00186 50 push eax
|
||
00187 8d 8d 40 fd ff
|
||
ff lea ecx, DWORD PTR $T2[ebp]
|
||
0018d 51 push ecx
|
||
0018e e8 00 00 00 00 call ??HATL@@YA?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@0@ABV10@0@Z ; ATL::operator+
|
||
00193 83 c4 0c add esp, 12 ; 0000000cH
|
||
00196 89 85 2c fd ff
|
||
ff mov DWORD PTR tv182[ebp], eax
|
||
0019c 8b 95 2c fd ff
|
||
ff mov edx, DWORD PTR tv182[ebp]
|
||
001a2 89 95 28 fd ff
|
||
ff mov DWORD PTR tv179[ebp], edx
|
||
001a8 c6 45 fc 09 mov BYTE PTR __$EHRec$[ebp+8], 9
|
||
001ac 8b 85 28 fd ff
|
||
ff mov eax, DWORD PTR tv179[ebp]
|
||
001b2 50 push eax
|
||
001b3 8d 8d d8 fd ff
|
||
ff lea ecx, DWORD PTR _appDir$[ebp]
|
||
001b9 e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
|
||
001be c6 45 fc 08 mov BYTE PTR __$EHRec$[ebp+8], 8
|
||
001c2 8d 8d 40 fd ff
|
||
ff lea ecx, DWORD PTR $T2[ebp]
|
||
001c8 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
001cd c6 45 fc 07 mov BYTE PTR __$EHRec$[ebp+8], 7
|
||
001d1 8d 8d 44 fd ff
|
||
ff lea ecx, DWORD PTR $T3[ebp]
|
||
001d7 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
001dc c6 45 fc 04 mov BYTE PTR __$EHRec$[ebp+8], 4
|
||
001e0 8d 8d 48 fd ff
|
||
ff lea ecx, DWORD PTR $T4[ebp]
|
||
001e6 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
|
||
; 72 : ::CreateDirectory(appDir,NULL); //<2F><><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵
|
||
|
||
001eb 6a 00 push 0
|
||
001ed 8d 8d d8 fd ff
|
||
ff lea ecx, DWORD PTR _appDir$[ebp]
|
||
001f3 e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
|
||
001f8 50 push eax
|
||
001f9 ff 15 00 00 00
|
||
00 call DWORD PTR __imp__CreateDirectoryW@8
|
||
$LN2@Init:
|
||
|
||
; 73 : }
|
||
; 74 :
|
||
; 75 : m_csFileName.Format(_T("%s\\%s"), appDir, strpOutputBaseFilename);
|
||
|
||
001ff 8b 45 ec mov eax, DWORD PTR _this$[ebp]
|
||
00202 05 74 17 00 00 add eax, 6004 ; 00001774H
|
||
00207 89 85 3c fd ff
|
||
ff mov DWORD PTR tv166[ebp], eax
|
||
0020d 8b 4d 0c mov ecx, DWORD PTR _strpOutputBaseFilename$[ebp]
|
||
00210 51 push ecx
|
||
00211 8b 95 d8 fd ff
|
||
ff mov edx, DWORD PTR _appDir$[ebp]
|
||
00217 52 push edx
|
||
00218 68 00 00 00 00 push OFFSET ??_C@_1M@DFKENGJN@?$AA?$CF?$AAs?$AA?2?$AA?$CF?$AAs@
|
||
0021d 8b 85 3c fd ff
|
||
ff mov eax, DWORD PTR tv166[ebp]
|
||
00223 50 push eax
|
||
00224 e8 00 00 00 00 call ?Format@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAAXPB_WZZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format
|
||
00229 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 76 :
|
||
; 77 : // overwrite the old one!
|
||
; 78 : //remove(m_csFileName);
|
||
; 79 : }
|
||
|
||
0022c c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+8], 1
|
||
00230 8d 8d d8 fd ff
|
||
ff lea ecx, DWORD PTR _appDir$[ebp]
|
||
00236 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
0023b c6 45 fc 00 mov BYTE PTR __$EHRec$[ebp+8], 0
|
||
0023f 8d 4d 08 lea ecx, DWORD PTR _strOutputBasePath$[ebp]
|
||
00242 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
00247 c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
|
||
0024e 8d 4d 0c lea ecx, DWORD PTR _strpOutputBaseFilename$[ebp]
|
||
00251 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
00256 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00259 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00260 59 pop ecx
|
||
00261 5f pop edi
|
||
00262 5e pop esi
|
||
00263 5b pop ebx
|
||
00264 8b 4d f0 mov ecx, DWORD PTR __$ArrayPad$[ebp]
|
||
00267 33 cd xor ecx, ebp
|
||
00269 e8 00 00 00 00 call @__security_check_cookie@4
|
||
0026e 8b e5 mov esp, ebp
|
||
00270 5d pop ebp
|
||
00271 c2 08 00 ret 8
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z$0:
|
||
00000 8d 4d 0c lea ecx, DWORD PTR _strpOutputBaseFilename$[ebp]
|
||
00003 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z$1:
|
||
00008 8d 4d 08 lea ecx, DWORD PTR _strOutputBasePath$[ebp]
|
||
0000b e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z$2:
|
||
00010 8d 8d 54 fd ff
|
||
ff lea ecx, DWORD PTR $T7[ebp]
|
||
00016 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z$3:
|
||
0001b 8d 8d d8 fd ff
|
||
ff lea ecx, DWORD PTR _appDir$[ebp]
|
||
00021 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z$4:
|
||
00026 8d 8d 50 fd ff
|
||
ff lea ecx, DWORD PTR $T6[ebp]
|
||
0002c e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z$5:
|
||
00031 8d 8d 4c fd ff
|
||
ff lea ecx, DWORD PTR $T5[ebp]
|
||
00037 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z$6:
|
||
0003c 8d 8d 48 fd ff
|
||
ff lea ecx, DWORD PTR $T4[ebp]
|
||
00042 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z$7:
|
||
00047 8d 8d 44 fd ff
|
||
ff lea ecx, DWORD PTR $T3[ebp]
|
||
0004d e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z$8:
|
||
00052 8d 8d 40 fd ff
|
||
ff lea ecx, DWORD PTR $T2[ebp]
|
||
00058 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
0005d cc int 3
|
||
0005e cc int 3
|
||
0005f cc int 3
|
||
00060 cc int 3
|
||
00061 cc int 3
|
||
__ehhandler$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z:
|
||
00062 90 npad 1
|
||
00063 90 npad 1
|
||
00064 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00068 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
0006b 8b 8a 24 fd ff
|
||
ff mov ecx, DWORD PTR [edx-732]
|
||
00071 33 c8 xor ecx, eax
|
||
00073 e8 00 00 00 00 call @__security_check_cookie@4
|
||
00078 8b 4a fc mov ecx, DWORD PTR [edx-4]
|
||
0007b 33 c8 xor ecx, eax
|
||
0007d e8 00 00 00 00 call @__security_check_cookie@4
|
||
00082 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z
|
||
00087 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z ENDP ; CSAStatusLog::Init
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\public\SAStatusLog\SAStatusLog.cpp
|
||
; COMDAT ??1CSAStatusLog@@QAE@XZ
|
||
_TEXT SEGMENT
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
??1CSAStatusLog@@QAE@XZ PROC ; CSAStatusLog::~CSAStatusLog, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 52 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$??1CSAStatusLog@@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 01 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 1
|
||
|
||
; 53 : DeleteCriticalSection(&m_crit);
|
||
|
||
00032 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
00035 05 78 17 00 00 add eax, 6008 ; 00001778H
|
||
0003a 50 push eax
|
||
0003b ff 15 00 00 00
|
||
00 call DWORD PTR __imp__DeleteCriticalSection@4
|
||
|
||
; 54 : }
|
||
|
||
00041 c6 45 fc 00 mov BYTE PTR __$EHRec$[ebp+8], 0
|
||
00045 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00048 81 c1 74 17 00
|
||
00 add ecx, 6004 ; 00001774H
|
||
0004e e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
00053 c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
|
||
0005a 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
0005d 81 c1 70 17 00
|
||
00 add ecx, 6000 ; 00001770H
|
||
00063 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
00068 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0006b 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00072 59 pop ecx
|
||
00073 5f pop edi
|
||
00074 5e pop esi
|
||
00075 5b pop ebx
|
||
00076 8b e5 mov esp, ebp
|
||
00078 5d pop ebp
|
||
00079 c3 ret 0
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$??1CSAStatusLog@@QAE@XZ$0:
|
||
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00003 81 c1 70 17 00
|
||
00 add ecx, 6000 ; 00001770H
|
||
00009 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$??1CSAStatusLog@@QAE@XZ$1:
|
||
0000e 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00011 81 c1 74 17 00
|
||
00 add ecx, 6004 ; 00001774H
|
||
00017 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
0001c cc int 3
|
||
0001d cc int 3
|
||
0001e cc int 3
|
||
0001f cc int 3
|
||
00020 cc int 3
|
||
__ehhandler$??1CSAStatusLog@@QAE@XZ:
|
||
00021 90 npad 1
|
||
00022 90 npad 1
|
||
00023 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00027 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
0002a 8b 4a ac mov ecx, DWORD PTR [edx-84]
|
||
0002d 33 c8 xor ecx, eax
|
||
0002f e8 00 00 00 00 call @__security_check_cookie@4
|
||
00034 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??1CSAStatusLog@@QAE@XZ
|
||
00039 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
??1CSAStatusLog@@QAE@XZ ENDP ; CSAStatusLog::~CSAStatusLog
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\public\SAStatusLog\SAStatusLog.cpp
|
||
; COMDAT ??0CSAStatusLog@@QAE@XZ
|
||
_TEXT SEGMENT
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
??0CSAStatusLog@@QAE@XZ PROC ; CSAStatusLog::CSAStatusLog, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 34 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$??0CSAStatusLog@@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 81 c1 70 17 00
|
||
00 add ecx, 6000 ; 00001770H
|
||
00034 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
00039 c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
00040 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00043 81 c1 74 17 00
|
||
00 add ecx, 6004 ; 00001774H
|
||
00049 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
0004e c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+8], 1
|
||
|
||
; 35 : m_bEnable = FALSE;
|
||
|
||
00052 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
00055 c7 80 90 17 00
|
||
00 00 00 00 00 mov DWORD PTR [eax+6032], 0
|
||
|
||
; 36 : m_bPrintTime = TRUE;
|
||
|
||
0005f 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
00062 c7 80 94 17 00
|
||
00 01 00 00 00 mov DWORD PTR [eax+6036], 1
|
||
|
||
; 37 : m_bPrintAppName = FALSE;
|
||
|
||
0006c 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
0006f c7 80 98 17 00
|
||
00 00 00 00 00 mov DWORD PTR [eax+6040], 0
|
||
|
||
; 38 : m_bShowEdit = FALSE;
|
||
|
||
00079 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
0007c c7 80 9c 17 00
|
||
00 00 00 00 00 mov DWORD PTR [eax+6044], 0
|
||
|
||
; 39 : m_csFileName = _T("");
|
||
|
||
00086 68 00 00 00 00 push OFFSET ??_C@_11LOCGONAA@@
|
||
0008b 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
0008e 81 c1 74 17 00
|
||
00 add ecx, 6004 ; 00001774H
|
||
00094 e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
|
||
|
||
; 40 : m_pEdit = NULL;
|
||
|
||
00099 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
0009c c7 80 a4 17 00
|
||
00 00 00 00 00 mov DWORD PTR [eax+6052], 0
|
||
|
||
; 41 : m_lEditMaxLines = 25;
|
||
|
||
000a6 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
000a9 c7 80 a0 17 00
|
||
00 19 00 00 00 mov DWORD PTR [eax+6048], 25 ; 00000019H
|
||
|
||
; 42 :
|
||
; 43 : m_csAppName = _T("");
|
||
|
||
000b3 68 00 00 00 00 push OFFSET ??_C@_11LOCGONAA@@
|
||
000b8 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
000bb 81 c1 70 17 00
|
||
00 add ecx, 6000 ; 00001770H
|
||
000c1 e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
|
||
|
||
; 44 :
|
||
; 45 : // we'll make sure only one call uses the critical stuff at a time
|
||
; 46 : InitializeCriticalSection(&m_crit);
|
||
|
||
000c6 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
000c9 05 78 17 00 00 add eax, 6008 ; 00001778H
|
||
000ce 50 push eax
|
||
000cf ff 15 00 00 00
|
||
00 call DWORD PTR __imp__InitializeCriticalSection@4
|
||
|
||
; 47 : }
|
||
|
||
000d5 c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
|
||
000dc 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
000df 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
000e2 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
000e9 59 pop ecx
|
||
000ea 5f pop edi
|
||
000eb 5e pop esi
|
||
000ec 5b pop ebx
|
||
000ed 8b e5 mov esp, ebp
|
||
000ef 5d pop ebp
|
||
000f0 c3 ret 0
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$??0CSAStatusLog@@QAE@XZ$0:
|
||
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00003 81 c1 70 17 00
|
||
00 add ecx, 6000 ; 00001770H
|
||
00009 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$??0CSAStatusLog@@QAE@XZ$1:
|
||
0000e 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00011 81 c1 74 17 00
|
||
00 add ecx, 6004 ; 00001774H
|
||
00017 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
0001c cc int 3
|
||
0001d cc int 3
|
||
0001e cc int 3
|
||
0001f cc int 3
|
||
00020 cc int 3
|
||
__ehhandler$??0CSAStatusLog@@QAE@XZ:
|
||
00021 90 npad 1
|
||
00022 90 npad 1
|
||
00023 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00027 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
0002a 8b 4a ac mov ecx, DWORD PTR [edx-84]
|
||
0002d 33 c8 xor ecx, eax
|
||
0002f e8 00 00 00 00 call @__security_check_cookie@4
|
||
00034 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??0CSAStatusLog@@QAE@XZ
|
||
00039 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
??0CSAStatusLog@@QAE@XZ ENDP ; CSAStatusLog::CSAStatusLog
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxwin1.inl
|
||
; COMDAT ?AfxGetInstanceHandle@@YGPAUHINSTANCE__@@XZ
|
||
_TEXT SEGMENT
|
||
?AfxGetInstanceHandle@@YGPAUHINSTANCE__@@XZ PROC ; AfxGetInstanceHandle, COMDAT
|
||
|
||
; 21 : { ASSERT(afxCurrentInstanceHandle != NULL);
|
||
|
||
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
|
||
|
||
; 22 : return afxCurrentInstanceHandle; }
|
||
|
||
00009 e8 00 00 00 00 call ?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ; AfxGetModuleState
|
||
0000e 8b 40 08 mov eax, DWORD PTR [eax+8]
|
||
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
|
||
?AfxGetInstanceHandle@@YGPAUHINSTANCE__@@XZ ENDP ; AfxGetInstanceHandle
|
||
_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 ?SetSel@CEdit@@QAEXHHH@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_nStartChar$ = 8 ; size = 4
|
||
_nEndChar$ = 12 ; size = 4
|
||
_bNoScroll$ = 16 ; size = 4
|
||
?SetSel@CEdit@@QAEXHHH@Z PROC ; CEdit::SetSel, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 909 : { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_SETSEL, nStartChar, nEndChar);
|
||
|
||
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 0c mov eax, DWORD PTR _nEndChar$[ebp]
|
||
0000f 50 push eax
|
||
00010 8b 4d 08 mov ecx, DWORD PTR _nStartChar$[ebp]
|
||
00013 51 push ecx
|
||
00014 68 b1 00 00 00 push 177 ; 000000b1H
|
||
00019 8b 55 fc mov edx, DWORD PTR _this$[ebp]
|
||
0001c 8b 42 20 mov eax, DWORD PTR [edx+32]
|
||
0001f 50 push eax
|
||
00020 ff 15 00 00 00
|
||
00 call DWORD PTR __imp__SendMessageW@16
|
||
|
||
; 910 : if (!bNoScroll)
|
||
|
||
00026 83 7d 10 00 cmp DWORD PTR _bNoScroll$[ebp], 0
|
||
0002a 75 16 jne SHORT $LN1@SetSel
|
||
|
||
; 911 : ::SendMessage(m_hWnd, EM_SCROLLCARET, 0, 0); }
|
||
|
||
0002c 6a 00 push 0
|
||
0002e 6a 00 push 0
|
||
00030 68 b7 00 00 00 push 183 ; 000000b7H
|
||
00035 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00038 8b 48 20 mov ecx, DWORD PTR [eax+32]
|
||
0003b 51 push ecx
|
||
0003c ff 15 00 00 00
|
||
00 call DWORD PTR __imp__SendMessageW@16
|
||
$LN1@SetSel:
|
||
00042 5f pop edi
|
||
00043 5e pop esi
|
||
00044 5b pop ebx
|
||
00045 8b e5 mov esp, ebp
|
||
00047 5d pop ebp
|
||
00048 c2 0c 00 ret 12 ; 0000000cH
|
||
?SetSel@CEdit@@QAEXHHH@Z ENDP ; CEdit::SetSel
|
||
_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 ?ReplaceSel@CEdit@@QAEXPB_WH@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_lpszNewText$ = 8 ; size = 4
|
||
_bCanUndo$ = 12 ; size = 4
|
||
?ReplaceSel@CEdit@@QAEXPB_WH@Z PROC ; CEdit::ReplaceSel, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 896 : { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_REPLACESEL, (WPARAM) bCanUndo, (LPARAM)lpszNewText); }
|
||
|
||
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 _lpszNewText$[ebp]
|
||
0000f 50 push eax
|
||
00010 8b 4d 0c mov ecx, DWORD PTR _bCanUndo$[ebp]
|
||
00013 51 push ecx
|
||
00014 68 c2 00 00 00 push 194 ; 000000c2H
|
||
00019 8b 55 fc mov edx, DWORD PTR _this$[ebp]
|
||
0001c 8b 42 20 mov eax, DWORD PTR [edx+32]
|
||
0001f 50 push eax
|
||
00020 ff 15 00 00 00
|
||
00 call DWORD PTR __imp__SendMessageW@16
|
||
00026 5f pop edi
|
||
00027 5e pop esi
|
||
00028 5b pop ebx
|
||
00029 8b e5 mov esp, ebp
|
||
0002b 5d pop ebp
|
||
0002c c2 08 00 ret 8
|
||
?ReplaceSel@CEdit@@QAEXPB_WH@Z ENDP ; CEdit::ReplaceSel
|
||
_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 ?EmptyUndoBuffer@CEdit@@QAEXXZ
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
?EmptyUndoBuffer@CEdit@@QAEXXZ PROC ; CEdit::EmptyUndoBuffer, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 882 : { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_EMPTYUNDOBUFFER, 0, 0); }
|
||
|
||
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 6a 00 push 0
|
||
0000e 6a 00 push 0
|
||
00010 68 cd 00 00 00 push 205 ; 000000cdH
|
||
00015 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00018 8b 48 20 mov ecx, DWORD PTR [eax+32]
|
||
0001b 51 push ecx
|
||
0001c ff 15 00 00 00
|
||
00 call DWORD PTR __imp__SendMessageW@16
|
||
00022 5f pop edi
|
||
00023 5e pop esi
|
||
00024 5b pop ebx
|
||
00025 8b e5 mov esp, ebp
|
||
00027 5d pop ebp
|
||
00028 c3 ret 0
|
||
?EmptyUndoBuffer@CEdit@@QAEXXZ ENDP ; CEdit::EmptyUndoBuffer
|
||
_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 ?GetLine@CEdit@@QBEHHPA_WH@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_nIndex$ = 8 ; size = 4
|
||
_lpszBuffer$ = 12 ; size = 4
|
||
_nMaxLength$ = 16 ; size = 4
|
||
?GetLine@CEdit@@QBEHHPA_WH@Z PROC ; CEdit::GetLine, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 876 : {
|
||
|
||
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
|
||
|
||
; 877 : ASSERT(::IsWindow(m_hWnd));
|
||
; 878 : *(LPWORD)lpszBuffer = (WORD)nMaxLength;
|
||
|
||
0000c 8b 45 0c mov eax, DWORD PTR _lpszBuffer$[ebp]
|
||
0000f 66 8b 4d 10 mov cx, WORD PTR _nMaxLength$[ebp]
|
||
00013 66 89 08 mov WORD PTR [eax], cx
|
||
|
||
; 879 : return (int)::SendMessage(m_hWnd, EM_GETLINE, nIndex, (LPARAM)lpszBuffer);
|
||
|
||
00016 8b 45 0c mov eax, DWORD PTR _lpszBuffer$[ebp]
|
||
00019 50 push eax
|
||
0001a 8b 4d 08 mov ecx, DWORD PTR _nIndex$[ebp]
|
||
0001d 51 push ecx
|
||
0001e 68 c4 00 00 00 push 196 ; 000000c4H
|
||
00023 8b 55 fc mov edx, DWORD PTR _this$[ebp]
|
||
00026 8b 42 20 mov eax, DWORD PTR [edx+32]
|
||
00029 50 push eax
|
||
0002a ff 15 00 00 00
|
||
00 call DWORD PTR __imp__SendMessageW@16
|
||
|
||
; 880 : }
|
||
|
||
00030 5f pop edi
|
||
00031 5e pop esi
|
||
00032 5b pop ebx
|
||
00033 8b e5 mov esp, ebp
|
||
00035 5d pop ebp
|
||
00036 c2 0c 00 ret 12 ; 0000000cH
|
||
?GetLine@CEdit@@QBEHHPA_WH@Z ENDP ; CEdit::GetLine
|
||
_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 ?GetLineCount@CEdit@@QBEHXZ
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
?GetLineCount@CEdit@@QBEHXZ PROC ; CEdit::GetLineCount, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 855 : { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, EM_GETLINECOUNT, 0, 0); }
|
||
|
||
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 6a 00 push 0
|
||
0000e 6a 00 push 0
|
||
00010 68 ba 00 00 00 push 186 ; 000000baH
|
||
00015 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00018 8b 48 20 mov ecx, DWORD PTR [eax+32]
|
||
0001b 51 push ecx
|
||
0001c ff 15 00 00 00
|
||
00 call DWORD PTR __imp__SendMessageW@16
|
||
00022 5f pop edi
|
||
00023 5e pop esi
|
||
00024 5b pop ebx
|
||
00025 8b e5 mov esp, ebp
|
||
00027 5d pop ebp
|
||
00028 c3 ret 0
|
||
?GetLineCount@CEdit@@QBEHXZ ENDP ; CEdit::GetLineCount
|
||
_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@D$0A@@ATL@@AAEXH@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_nLength$ = 8 ; size = 4
|
||
?SetLength@?$CSimpleStringT@D$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<char,0>::SetLength, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 867 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 868 : ATLASSERT( nLength >= 0 );
|
||
; 869 : ATLASSERT( nLength <= GetData()->nAllocLength );
|
||
; 870 :
|
||
; 871 : if( nLength < 0 || nLength > GetData()->nAllocLength)
|
||
|
||
0000c 83 7d 08 00 cmp DWORD PTR _nLength$[ebp], 0
|
||
00010 7c 10 jl SHORT $LN3@SetLength
|
||
00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00015 e8 00 00 00 00 call ?GetData@?$CSimpleStringT@D$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<char,0>::GetData
|
||
0001a 8b 4d 08 mov ecx, DWORD PTR _nLength$[ebp]
|
||
0001d 3b 48 08 cmp ecx, DWORD PTR [eax+8]
|
||
00020 7e 0a jle SHORT $LN2@SetLength
|
||
$LN3@SetLength:
|
||
|
||
; 872 : AtlThrow(E_INVALIDARG);
|
||
|
||
00022 68 57 00 07 80 push -2147024809 ; 80070057H
|
||
00027 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN2@SetLength:
|
||
|
||
; 873 :
|
||
; 874 : GetData()->nDataLength = nLength;
|
||
|
||
0002c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0002f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@D$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<char,0>::GetData
|
||
00034 8b 4d 08 mov ecx, DWORD PTR _nLength$[ebp]
|
||
00037 89 48 04 mov DWORD PTR [eax+4], ecx
|
||
|
||
; 875 : m_pszData[nLength] = 0;
|
||
|
||
0003a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0003d 8b 08 mov ecx, DWORD PTR [eax]
|
||
0003f 8b 55 08 mov edx, DWORD PTR _nLength$[ebp]
|
||
00042 c6 04 11 00 mov BYTE PTR [ecx+edx], 0
|
||
$LN4@SetLength:
|
||
|
||
; 876 : }
|
||
|
||
00046 5f pop edi
|
||
00047 5e pop esi
|
||
00048 5b pop ebx
|
||
00049 8b e5 mov esp, ebp
|
||
0004b 5d pop ebp
|
||
0004c c2 04 00 ret 4
|
||
?SetLength@?$CSimpleStringT@D$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<char,0>::SetLength
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?Reallocate@?$CSimpleStringT@D$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@D$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<char,0>::Reallocate, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 849 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 54 sub esp, 84 ; 00000054H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 850 : CStringData* pOldData = GetData();
|
||
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@D$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<char,0>::GetData
|
||
00014 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
|
||
|
||
; 851 : ATLASSERT( pOldData->nAllocLength < nLength );
|
||
; 852 : IAtlStringMgr* pStringMgr = pOldData->pStringMgr;
|
||
|
||
00017 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
0001a 8b 08 mov ecx, DWORD PTR [eax]
|
||
0001c 89 4d f4 mov DWORD PTR _pStringMgr$[ebp], ecx
|
||
|
||
; 853 : if ( pOldData->nAllocLength >= nLength || nLength <= 0)
|
||
|
||
0001f 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
00022 8b 48 08 mov ecx, DWORD PTR [eax+8]
|
||
00025 3b 4d 08 cmp ecx, DWORD PTR _nLength$[ebp]
|
||
00028 7d 06 jge SHORT $LN3@Reallocate
|
||
0002a 83 7d 08 00 cmp DWORD PTR _nLength$[ebp], 0
|
||
0002e 7f 07 jg SHORT $LN2@Reallocate
|
||
$LN3@Reallocate:
|
||
|
||
; 854 : {
|
||
; 855 : ThrowMemoryException();
|
||
|
||
00030 e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@D$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<char,0>::ThrowMemoryException
|
||
|
||
; 856 : return;
|
||
|
||
00035 eb 35 jmp SHORT $LN5@Reallocate
|
||
$LN2@Reallocate:
|
||
|
||
; 857 : }
|
||
; 858 : CStringData* pNewData = pStringMgr->Reallocate( pOldData, nLength, sizeof( XCHAR ) );
|
||
|
||
00037 8b 45 f4 mov eax, DWORD PTR _pStringMgr$[ebp]
|
||
0003a 8b 08 mov ecx, DWORD PTR [eax]
|
||
0003c 8b 51 08 mov edx, DWORD PTR [ecx+8]
|
||
0003f 89 55 ac mov DWORD PTR tv78[ebp], edx
|
||
00042 6a 01 push 1
|
||
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@D$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<char,0>::ThrowMemoryException
|
||
$LN4@Reallocate:
|
||
|
||
; 862 : }
|
||
; 863 : Attach( pNewData );
|
||
|
||
00060 8b 45 f0 mov eax, DWORD PTR _pNewData$[ebp]
|
||
00063 50 push eax
|
||
00064 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00067 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@D$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<char,0>::Attach
|
||
$LN5@Reallocate:
|
||
|
||
; 864 : }
|
||
|
||
0006c 5f pop edi
|
||
0006d 5e pop esi
|
||
0006e 5b pop ebx
|
||
0006f 8b e5 mov esp, ebp
|
||
00071 5d pop ebp
|
||
00072 c2 04 00 ret 4
|
||
?Reallocate@?$CSimpleStringT@D$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<char,0>::Reallocate
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?PrepareWrite2@?$CSimpleStringT@D$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@D$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<char,0>::PrepareWrite2, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 818 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 4c sub esp, 76 ; 0000004cH
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 819 : CStringData* pOldData = GetData();
|
||
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@D$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<char,0>::GetData
|
||
00014 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
|
||
|
||
; 820 : if( pOldData->nDataLength > nLength )
|
||
|
||
00017 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
0001a 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
0001d 3b 4d 08 cmp ecx, DWORD PTR _nLength$[ebp]
|
||
00020 7e 09 jle SHORT $LN2@PrepareWri
|
||
|
||
; 821 : {
|
||
; 822 : nLength = pOldData->nDataLength;
|
||
|
||
00022 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
00025 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
00028 89 4d 08 mov DWORD PTR _nLength$[ebp], ecx
|
||
$LN2@PrepareWri:
|
||
|
||
; 823 : }
|
||
; 824 : if( pOldData->IsShared() )
|
||
|
||
0002b 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp]
|
||
0002e e8 00 00 00 00 call ?IsShared@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsShared
|
||
00033 0f b6 c0 movzx eax, al
|
||
00036 85 c0 test eax, eax
|
||
00038 74 0e je SHORT $LN3@PrepareWri
|
||
|
||
; 825 : {
|
||
; 826 : Fork( nLength );
|
||
|
||
0003a 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
|
||
0003d 50 push eax
|
||
0003e 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00041 e8 00 00 00 00 call ?Fork@?$CSimpleStringT@D$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<char,0>::Fork
|
||
|
||
; 827 : }
|
||
|
||
00046 eb 52 jmp SHORT $LN1@PrepareWri
|
||
$LN3@PrepareWri:
|
||
|
||
; 828 : else if( pOldData->nAllocLength < nLength )
|
||
|
||
00048 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
0004b 8b 48 08 mov ecx, DWORD PTR [eax+8]
|
||
0004e 3b 4d 08 cmp ecx, DWORD PTR _nLength$[ebp]
|
||
00051 7d 47 jge SHORT $LN1@PrepareWri
|
||
|
||
; 829 : {
|
||
; 830 : // Grow exponentially, until we hit 1G, then by 1M thereafter.
|
||
; 831 : int nNewLength = pOldData->nAllocLength;
|
||
|
||
00053 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
00056 8b 48 08 mov ecx, DWORD PTR [eax+8]
|
||
00059 89 4d f4 mov DWORD PTR _nNewLength$1[ebp], ecx
|
||
|
||
; 832 : if( nNewLength > 1024 * 1024 * 1024 )
|
||
|
||
0005c 81 7d f4 00 00
|
||
00 40 cmp DWORD PTR _nNewLength$1[ebp], 1073741824 ; 40000000H
|
||
00063 7e 0d jle SHORT $LN6@PrepareWri
|
||
|
||
; 833 : {
|
||
; 834 : nNewLength += 1024 * 1024;
|
||
|
||
00065 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
|
||
00068 05 00 00 10 00 add eax, 1048576 ; 00100000H
|
||
0006d 89 45 f4 mov DWORD PTR _nNewLength$1[ebp], eax
|
||
|
||
; 835 : }
|
||
|
||
00070 eb 0e jmp SHORT $LN7@PrepareWri
|
||
$LN6@PrepareWri:
|
||
|
||
; 836 : else
|
||
; 837 : {
|
||
; 838 : // Exponential growth factor is 1.5.
|
||
; 839 : nNewLength = nNewLength + nNewLength / 2;
|
||
|
||
00072 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
|
||
00075 99 cdq
|
||
00076 2b c2 sub eax, edx
|
||
00078 d1 f8 sar eax, 1
|
||
0007a 03 45 f4 add eax, DWORD PTR _nNewLength$1[ebp]
|
||
0007d 89 45 f4 mov DWORD PTR _nNewLength$1[ebp], eax
|
||
$LN7@PrepareWri:
|
||
|
||
; 840 : }
|
||
; 841 : if( nNewLength < nLength )
|
||
|
||
00080 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
|
||
00083 3b 45 08 cmp eax, DWORD PTR _nLength$[ebp]
|
||
00086 7d 06 jge SHORT $LN8@PrepareWri
|
||
|
||
; 842 : {
|
||
; 843 : nNewLength = nLength;
|
||
|
||
00088 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
|
||
0008b 89 45 f4 mov DWORD PTR _nNewLength$1[ebp], eax
|
||
$LN8@PrepareWri:
|
||
|
||
; 844 : }
|
||
; 845 : Reallocate( nNewLength );
|
||
|
||
0008e 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
|
||
00091 50 push eax
|
||
00092 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00095 e8 00 00 00 00 call ?Reallocate@?$CSimpleStringT@D$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<char,0>::Reallocate
|
||
$LN1@PrepareWri:
|
||
|
||
; 846 : }
|
||
; 847 : }
|
||
|
||
0009a 5f pop edi
|
||
0009b 5e pop esi
|
||
0009c 5b pop ebx
|
||
0009d 8b e5 mov esp, ebp
|
||
0009f 5d pop ebp
|
||
000a0 c2 04 00 ret 4
|
||
?PrepareWrite2@?$CSimpleStringT@D$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<char,0>::PrepareWrite2
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?PrepareWrite@?$CSimpleStringT@D$0A@@ATL@@AAEPADH@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@D$0A@@ATL@@AAEPADH@Z PROC ; ATL::CSimpleStringT<char,0>::PrepareWrite, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 803 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 50 sub esp, 80 ; 00000050H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 804 : if (nLength < 0)
|
||
|
||
0000c 83 7d 08 00 cmp DWORD PTR _nLength$[ebp], 0
|
||
00010 7d 0a jge SHORT $LN2@PrepareWri
|
||
|
||
; 805 : AtlThrow(E_INVALIDARG);
|
||
|
||
00012 68 57 00 07 80 push -2147024809 ; 80070057H
|
||
00017 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN2@PrepareWri:
|
||
|
||
; 806 :
|
||
; 807 : CStringData* pOldData = GetData();
|
||
|
||
0001c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0001f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@D$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<char,0>::GetData
|
||
00024 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
|
||
|
||
; 808 : int nShared = 1-pOldData->nRefs; // nShared < 0 means true, >= 0 means false
|
||
|
||
00027 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
0002a b9 01 00 00 00 mov ecx, 1
|
||
0002f 2b 48 0c sub ecx, DWORD PTR [eax+12]
|
||
00032 89 4d f4 mov DWORD PTR _nShared$[ebp], ecx
|
||
|
||
; 809 : int nTooShort = pOldData->nAllocLength-nLength; // nTooShort < 0 means true, >= 0 means false
|
||
|
||
00035 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
00038 8b 48 08 mov ecx, DWORD PTR [eax+8]
|
||
0003b 2b 4d 08 sub ecx, DWORD PTR _nLength$[ebp]
|
||
0003e 89 4d f0 mov DWORD PTR _nTooShort$[ebp], ecx
|
||
|
||
; 810 : if( (nShared|nTooShort) < 0 ) // If either sign bit is set (i.e. either is less than zero), we need to copy data
|
||
|
||
00041 8b 45 f4 mov eax, DWORD PTR _nShared$[ebp]
|
||
00044 0b 45 f0 or eax, DWORD PTR _nTooShort$[ebp]
|
||
00047 7d 0c jge SHORT $LN3@PrepareWri
|
||
|
||
; 811 : {
|
||
; 812 : PrepareWrite2( nLength );
|
||
|
||
00049 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
|
||
0004c 50 push eax
|
||
0004d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00050 e8 00 00 00 00 call ?PrepareWrite2@?$CSimpleStringT@D$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<char,0>::PrepareWrite2
|
||
$LN3@PrepareWri:
|
||
|
||
; 813 : }
|
||
; 814 :
|
||
; 815 : return( m_pszData );
|
||
|
||
00055 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00058 8b 00 mov eax, DWORD PTR [eax]
|
||
$LN4@PrepareWri:
|
||
|
||
; 816 : }
|
||
|
||
0005a 5f pop edi
|
||
0005b 5e pop esi
|
||
0005c 5b pop ebx
|
||
0005d 8b e5 mov esp, ebp
|
||
0005f 5d pop ebp
|
||
00060 c2 04 00 ret 4
|
||
?PrepareWrite@?$CSimpleStringT@D$0A@@ATL@@AAEPADH@Z ENDP ; ATL::CSimpleStringT<char,0>::PrepareWrite
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?GetData@?$CSimpleStringT@D$0A@@ATL@@ABEPAUCStringData@2@XZ
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
?GetData@?$CSimpleStringT@D$0A@@ATL@@ABEPAUCStringData@2@XZ PROC ; ATL::CSimpleStringT<char,0>::GetData, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 799 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 800 : return( reinterpret_cast< CStringData* >( m_pszData )-1 );
|
||
|
||
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0000f 8b 00 mov eax, DWORD PTR [eax]
|
||
00011 83 e8 10 sub eax, 16 ; 00000010H
|
||
|
||
; 801 : }
|
||
|
||
00014 5f pop edi
|
||
00015 5e pop esi
|
||
00016 5b pop ebx
|
||
00017 8b e5 mov esp, ebp
|
||
00019 5d pop ebp
|
||
0001a c3 ret 0
|
||
?GetData@?$CSimpleStringT@D$0A@@ATL@@ABEPAUCStringData@2@XZ ENDP ; ATL::CSimpleStringT<char,0>::GetData
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?Fork@?$CSimpleStringT@D$0A@@ATL@@AAEXH@Z
|
||
_TEXT SEGMENT
|
||
tv130 = -92 ; size = 4
|
||
tv83 = -92 ; size = 4
|
||
tv132 = -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@D$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<char,0>::Fork, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 783 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 5c sub esp, 92 ; 0000005cH
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 784 : CStringData* pOldData = GetData();
|
||
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@D$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<char,0>::GetData
|
||
00014 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
|
||
|
||
; 785 : int nOldLength = pOldData->nDataLength;
|
||
|
||
00017 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
0001a 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
0001d 89 4d f4 mov DWORD PTR _nOldLength$[ebp], ecx
|
||
|
||
; 786 : CStringData* pNewData = pOldData->pStringMgr->Clone()->Allocate( nLength, sizeof( XCHAR ) );
|
||
|
||
00020 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
00023 8b 08 mov ecx, DWORD PTR [eax]
|
||
00025 8b 55 f8 mov edx, DWORD PTR _pOldData$[ebp]
|
||
00028 8b 01 mov eax, DWORD PTR [ecx]
|
||
0002a 8b 0a mov ecx, DWORD PTR [edx]
|
||
0002c 8b 50 10 mov edx, DWORD PTR [eax+16]
|
||
0002f ff d2 call edx
|
||
00031 89 45 a8 mov DWORD PTR tv76[ebp], eax
|
||
00034 8b 45 a8 mov eax, DWORD PTR tv76[ebp]
|
||
00037 8b 08 mov ecx, DWORD PTR [eax]
|
||
00039 8b 11 mov edx, DWORD PTR [ecx]
|
||
0003b 89 55 a4 mov DWORD PTR tv83[ebp], edx
|
||
0003e 6a 01 push 1
|
||
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@D$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<char,0>::ThrowMemoryException
|
||
$LN2@Fork:
|
||
|
||
; 790 : }
|
||
; 791 : int nCharsToCopy = ((nOldLength < nLength) ? nOldLength : nLength)+1; // Copy '\0'
|
||
|
||
00058 8b 45 f4 mov eax, DWORD PTR _nOldLength$[ebp]
|
||
0005b 3b 45 08 cmp eax, DWORD PTR _nLength$[ebp]
|
||
0005e 7d 08 jge SHORT $LN4@Fork
|
||
00060 8b 4d f4 mov ecx, DWORD PTR _nOldLength$[ebp]
|
||
00063 89 4d a8 mov DWORD PTR tv86[ebp], ecx
|
||
00066 eb 06 jmp SHORT $LN5@Fork
|
||
$LN4@Fork:
|
||
00068 8b 55 08 mov edx, DWORD PTR _nLength$[ebp]
|
||
0006b 89 55 a8 mov DWORD PTR tv86[ebp], edx
|
||
$LN5@Fork:
|
||
0006e 8b 45 a8 mov eax, DWORD PTR tv86[ebp]
|
||
00071 83 c0 01 add eax, 1
|
||
00074 89 45 ec mov DWORD PTR _nCharsToCopy$[ebp], eax
|
||
|
||
; 792 : memcpy_s( PXSTR( pNewData->data() ), nCharsToCopy * sizeof( XCHAR ),
|
||
|
||
00077 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp]
|
||
0007a e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
|
||
0007f 89 45 a8 mov DWORD PTR tv132[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 tv130[ebp], eax
|
||
0008d 8b 45 ec mov eax, DWORD PTR _nCharsToCopy$[ebp]
|
||
00090 50 push eax
|
||
00091 8b 4d a8 mov ecx, DWORD PTR tv132[ebp]
|
||
00094 51 push ecx
|
||
00095 8b 55 ec mov edx, DWORD PTR _nCharsToCopy$[ebp]
|
||
00098 52 push edx
|
||
00099 8b 45 a4 mov eax, DWORD PTR tv130[ebp]
|
||
0009c 50 push eax
|
||
0009d e8 00 00 00 00 call _memcpy_s
|
||
000a2 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 793 : PCXSTR( pOldData->data() ), nCharsToCopy * sizeof( XCHAR ));
|
||
; 794 : pNewData->nDataLength = nOldLength;
|
||
|
||
000a5 8b 45 f0 mov eax, DWORD PTR _pNewData$[ebp]
|
||
000a8 8b 4d f4 mov ecx, DWORD PTR _nOldLength$[ebp]
|
||
000ab 89 48 04 mov DWORD PTR [eax+4], ecx
|
||
|
||
; 795 : pOldData->Release();
|
||
|
||
000ae 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp]
|
||
000b1 e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release
|
||
|
||
; 796 : Attach( pNewData );
|
||
|
||
000b6 8b 45 f0 mov eax, DWORD PTR _pNewData$[ebp]
|
||
000b9 50 push eax
|
||
000ba 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
000bd e8 00 00 00 00 call ?Attach@?$CSimpleStringT@D$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<char,0>::Attach
|
||
$LN3@Fork:
|
||
|
||
; 797 : }
|
||
|
||
000c2 5f pop edi
|
||
000c3 5e pop esi
|
||
000c4 5b pop ebx
|
||
000c5 8b e5 mov esp, ebp
|
||
000c7 5d pop ebp
|
||
000c8 c2 04 00 ret 4
|
||
?Fork@?$CSimpleStringT@D$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<char,0>::Fork
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?Attach@?$CSimpleStringT@D$0A@@ATL@@AAEXPAUCStringData@2@@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_pData$ = 8 ; size = 4
|
||
?Attach@?$CSimpleStringT@D$0A@@ATL@@AAEXPAUCStringData@2@@Z PROC ; ATL::CSimpleStringT<char,0>::Attach, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 779 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 780 : m_pszData = static_cast< PXSTR >( pData->data() );
|
||
|
||
0000c 8b 4d 08 mov ecx, DWORD PTR _pData$[ebp]
|
||
0000f e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
|
||
00014 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00017 89 01 mov DWORD PTR [ecx], eax
|
||
|
||
; 781 : }
|
||
|
||
00019 5f pop edi
|
||
0001a 5e pop esi
|
||
0001b 5b pop ebx
|
||
0001c 8b e5 mov esp, ebp
|
||
0001e 5d pop ebp
|
||
0001f c2 04 00 ret 4
|
||
?Attach@?$CSimpleStringT@D$0A@@ATL@@AAEXPAUCStringData@2@@Z ENDP ; ATL::CSimpleStringT<char,0>::Attach
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?ThrowMemoryException@?$CSimpleStringT@D$0A@@ATL@@KAXXZ
|
||
_TEXT SEGMENT
|
||
?ThrowMemoryException@?$CSimpleStringT@D$0A@@ATL@@KAXXZ PROC ; ATL::CSimpleStringT<char,0>::ThrowMemoryException, COMDAT
|
||
|
||
; 772 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 40 sub esp, 64 ; 00000040H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
|
||
; 773 : AtlThrow( E_OUTOFMEMORY );
|
||
|
||
00009 68 0e 00 07 80 push -2147024882 ; 8007000eH
|
||
0000e e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN2@ThrowMemor:
|
||
|
||
; 774 : }
|
||
|
||
00013 5f pop edi
|
||
00014 5e pop esi
|
||
00015 5b pop ebx
|
||
00016 8b e5 mov esp, ebp
|
||
00018 5d pop ebp
|
||
00019 c3 ret 0
|
||
?ThrowMemoryException@?$CSimpleStringT@D$0A@@ATL@@KAXXZ ENDP ; ATL::CSimpleStringT<char,0>::ThrowMemoryException
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?StringLength@?$CSimpleStringT@D$0A@@ATL@@SAHPBD@Z
|
||
_TEXT SEGMENT
|
||
__$EHRec$ = -12 ; size = 12
|
||
_psz$ = 8 ; size = 4
|
||
?StringLength@?$CSimpleStringT@D$0A@@ATL@@SAHPBD@Z PROC ; ATL::CSimpleStringT<char,0>::StringLength, COMDAT
|
||
|
||
; 721 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?StringLength@?$CSimpleStringT@D$0A@@ATL@@SAHPBD@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 40 sub esp, 64 ; 00000040H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
|
||
; 722 : if( psz == NULL )
|
||
|
||
00028 83 7d 08 00 cmp DWORD PTR _psz$[ebp], 0
|
||
0002c 75 04 jne SHORT $LN2@StringLeng
|
||
|
||
; 723 : {
|
||
; 724 : return( 0 );
|
||
|
||
0002e 33 c0 xor eax, eax
|
||
00030 eb 0c jmp SHORT $LN1@StringLeng
|
||
$LN2@StringLeng:
|
||
|
||
; 725 : }
|
||
; 726 : return( int( strlen( psz ) ) );
|
||
|
||
00032 8b 45 08 mov eax, DWORD PTR _psz$[ebp]
|
||
00035 50 push eax
|
||
00036 e8 00 00 00 00 call _strlen
|
||
0003b 83 c4 04 add esp, 4
|
||
$LN1@StringLeng:
|
||
|
||
; 727 : }
|
||
|
||
0003e 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00041 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00048 59 pop ecx
|
||
00049 5f pop edi
|
||
0004a 5e pop esi
|
||
0004b 5b pop ebx
|
||
0004c 8b e5 mov esp, ebp
|
||
0004e 5d pop ebp
|
||
0004f c3 ret 0
|
||
00050 cc int 3
|
||
00051 cc int 3
|
||
00052 cc int 3
|
||
00053 cc int 3
|
||
00054 cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?StringLength@?$CSimpleStringT@D$0A@@ATL@@SAHPBD@Z:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?StringLength@?$CSimpleStringT@D$0A@@ATL@@SAHPBD@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?StringLength@?$CSimpleStringT@D$0A@@ATL@@SAHPBD@Z ENDP ; ATL::CSimpleStringT<char,0>::StringLength
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?CopyCharsOverlapped@?$CSimpleStringT@D$0A@@ATL@@SAXPADIPBDH@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@D$0A@@ATL@@SAXPADIPBDH@Z PROC ; ATL::CSimpleStringT<char,0>::CopyCharsOverlapped, COMDAT
|
||
|
||
; 716 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?CopyCharsOverlapped@?$CSimpleStringT@D$0A@@ATL@@SAXPADIPBDH@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 50 push eax
|
||
0002c 8b 4d 10 mov ecx, DWORD PTR _pchSrc$[ebp]
|
||
0002f 51 push ecx
|
||
00030 8b 55 0c mov edx, DWORD PTR _nDestLen$[ebp]
|
||
00033 52 push edx
|
||
00034 8b 45 08 mov eax, DWORD PTR _pchDest$[ebp]
|
||
00037 50 push eax
|
||
00038 e8 00 00 00 00 call _memmove_s
|
||
0003d 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 718 : pchSrc, nChars*sizeof( XCHAR ) );
|
||
; 719 : }
|
||
|
||
00040 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00043 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
0004a 59 pop ecx
|
||
0004b 5f pop edi
|
||
0004c 5e pop esi
|
||
0004d 5b pop ebx
|
||
0004e 8b e5 mov esp, ebp
|
||
00050 5d pop ebp
|
||
00051 c3 ret 0
|
||
00052 cc int 3
|
||
00053 cc int 3
|
||
00054 cc int 3
|
||
00055 cc int 3
|
||
00056 cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?CopyCharsOverlapped@?$CSimpleStringT@D$0A@@ATL@@SAXPADIPBDH@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@D$0A@@ATL@@SAXPADIPBDH@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?CopyCharsOverlapped@?$CSimpleStringT@D$0A@@ATL@@SAXPADIPBDH@Z ENDP ; ATL::CSimpleStringT<char,0>::CopyCharsOverlapped
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?SetString@?$CSimpleStringT@D$0A@@ATL@@QAEXPBDH@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@D$0A@@ATL@@QAEXPBDH@Z PROC ; ATL::CSimpleStringT<char,0>::SetString, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 607 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 50 sub esp, 80 ; 00000050H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 608 : if( nLength == 0 )
|
||
|
||
0000c 83 7d 0c 00 cmp DWORD PTR _nLength$[ebp], 0
|
||
00010 75 0d jne SHORT $LN2@SetString
|
||
|
||
; 609 : {
|
||
; 610 : Empty();
|
||
|
||
00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00015 e8 00 00 00 00 call ?Empty@?$CSimpleStringT@D$0A@@ATL@@QAEXXZ ; ATL::CSimpleStringT<char,0>::Empty
|
||
|
||
; 611 : }
|
||
|
||
0001a e9 8d 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@D$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<char,0>::GetLength
|
||
00037 89 45 f8 mov DWORD PTR _nOldLength$3[ebp], eax
|
||
|
||
; 624 : UINT_PTR nOffset = pszSrc-GetString();
|
||
|
||
0003a 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0003d e8 00 00 00 00 call ?GetString@?$CSimpleStringT@D$0A@@ATL@@QBEPBDXZ ; ATL::CSimpleStringT<char,0>::GetString
|
||
00042 8b 4d 08 mov ecx, DWORD PTR _pszSrc$[ebp]
|
||
00045 2b c8 sub ecx, eax
|
||
00047 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 );
|
||
|
||
0004a 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
0004d 50 push eax
|
||
0004e 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00051 e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@D$0A@@ATL@@QAEPADH@Z ; ATL::CSimpleStringT<char,0>::GetBuffer
|
||
00056 89 45 f0 mov DWORD PTR _pszBuffer$1[ebp], eax
|
||
|
||
; 629 : if( nOffset <= nOldLength )
|
||
|
||
00059 8b 45 f4 mov eax, DWORD PTR _nOffset$2[ebp]
|
||
0005c 3b 45 f8 cmp eax, DWORD PTR _nOldLength$3[ebp]
|
||
0005f 77 22 ja SHORT $LN5@SetString
|
||
|
||
; 630 : {
|
||
; 631 : CopyCharsOverlapped( pszBuffer, GetAllocLength(),
|
||
|
||
00061 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
00064 50 push eax
|
||
00065 8b 4d f0 mov ecx, DWORD PTR _pszBuffer$1[ebp]
|
||
00068 03 4d f4 add ecx, DWORD PTR _nOffset$2[ebp]
|
||
0006b 51 push ecx
|
||
0006c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0006f e8 00 00 00 00 call ?GetAllocLength@?$CSimpleStringT@D$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<char,0>::GetAllocLength
|
||
00074 50 push eax
|
||
00075 8b 55 f0 mov edx, DWORD PTR _pszBuffer$1[ebp]
|
||
00078 52 push edx
|
||
00079 e8 00 00 00 00 call ?CopyCharsOverlapped@?$CSimpleStringT@D$0A@@ATL@@SAXPADIPBDH@Z ; ATL::CSimpleStringT<char,0>::CopyCharsOverlapped
|
||
0007e 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 632 : pszBuffer+nOffset, nLength );
|
||
; 633 : }
|
||
|
||
00081 eb 1d jmp SHORT $LN6@SetString
|
||
$LN5@SetString:
|
||
|
||
; 634 : else
|
||
; 635 : {
|
||
; 636 : memcpy_s( pszBuffer, GetAllocLength() * sizeof( XCHAR ), pszSrc, nLength * sizeof( XCHAR ));
|
||
|
||
00083 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
00086 50 push eax
|
||
00087 8b 4d 08 mov ecx, DWORD PTR _pszSrc$[ebp]
|
||
0008a 51 push ecx
|
||
0008b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0008e e8 00 00 00 00 call ?GetAllocLength@?$CSimpleStringT@D$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<char,0>::GetAllocLength
|
||
00093 50 push eax
|
||
00094 8b 55 f0 mov edx, DWORD PTR _pszBuffer$1[ebp]
|
||
00097 52 push edx
|
||
00098 e8 00 00 00 00 call _memcpy_s
|
||
0009d 83 c4 10 add esp, 16 ; 00000010H
|
||
$LN6@SetString:
|
||
|
||
; 637 : }
|
||
; 638 : ReleaseBufferSetLength( nLength );
|
||
|
||
000a0 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
000a3 50 push eax
|
||
000a4 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
000a7 e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@D$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<char,0>::ReleaseBufferSetLength
|
||
$LN7@SetString:
|
||
|
||
; 639 : }
|
||
; 640 : }
|
||
|
||
000ac 5f pop edi
|
||
000ad 5e pop esi
|
||
000ae 5b pop ebx
|
||
000af 8b e5 mov esp, ebp
|
||
000b1 5d pop ebp
|
||
000b2 c2 08 00 ret 8
|
||
?SetString@?$CSimpleStringT@D$0A@@ATL@@QAEXPBDH@Z ENDP ; ATL::CSimpleStringT<char,0>::SetString
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?SetString@?$CSimpleStringT@D$0A@@ATL@@QAEXPBD@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_pszSrc$ = 8 ; size = 4
|
||
?SetString@?$CSimpleStringT@D$0A@@ATL@@QAEXPBD@Z PROC ; ATL::CSimpleStringT<char,0>::SetString, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 601 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 602 : SetString( pszSrc, StringLength( pszSrc ) );
|
||
|
||
0000c 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
0000f 50 push eax
|
||
00010 e8 00 00 00 00 call ?StringLength@?$CSimpleStringT@D$0A@@ATL@@SAHPBD@Z ; ATL::CSimpleStringT<char,0>::StringLength
|
||
00015 83 c4 04 add esp, 4
|
||
00018 50 push eax
|
||
00019 8b 4d 08 mov ecx, DWORD PTR _pszSrc$[ebp]
|
||
0001c 51 push ecx
|
||
0001d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00020 e8 00 00 00 00 call ?SetString@?$CSimpleStringT@D$0A@@ATL@@QAEXPBDH@Z ; ATL::CSimpleStringT<char,0>::SetString
|
||
|
||
; 603 : }
|
||
|
||
00025 5f pop edi
|
||
00026 5e pop esi
|
||
00027 5b pop ebx
|
||
00028 8b e5 mov esp, ebp
|
||
0002a 5d pop ebp
|
||
0002b c2 04 00 ret 4
|
||
?SetString@?$CSimpleStringT@D$0A@@ATL@@QAEXPBD@Z ENDP ; ATL::CSimpleStringT<char,0>::SetString
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?ReleaseBufferSetLength@?$CSimpleStringT@D$0A@@ATL@@QAEXH@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_nNewLength$ = 8 ; size = 4
|
||
?ReleaseBufferSetLength@?$CSimpleStringT@D$0A@@ATL@@QAEXH@Z PROC ; ATL::CSimpleStringT<char,0>::ReleaseBufferSetLength, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 566 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 567 : ATLASSERT( nNewLength >= 0 );
|
||
; 568 : SetLength( nNewLength );
|
||
|
||
0000c 8b 45 08 mov eax, DWORD PTR _nNewLength$[ebp]
|
||
0000f 50 push eax
|
||
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00013 e8 00 00 00 00 call ?SetLength@?$CSimpleStringT@D$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<char,0>::SetLength
|
||
|
||
; 569 : }
|
||
|
||
00018 5f pop edi
|
||
00019 5e pop esi
|
||
0001a 5b pop ebx
|
||
0001b 8b e5 mov esp, ebp
|
||
0001d 5d pop ebp
|
||
0001e c2 04 00 ret 4
|
||
?ReleaseBufferSetLength@?$CSimpleStringT@D$0A@@ATL@@QAEXH@Z ENDP ; ATL::CSimpleStringT<char,0>::ReleaseBufferSetLength
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?GetString@?$CSimpleStringT@D$0A@@ATL@@QBEPBDXZ
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
?GetString@?$CSimpleStringT@D$0A@@ATL@@QBEPBDXZ PROC ; ATL::CSimpleStringT<char,0>::GetString, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 528 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 529 : return( m_pszData );
|
||
|
||
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0000f 8b 00 mov eax, DWORD PTR [eax]
|
||
|
||
; 530 : }
|
||
|
||
00011 5f pop edi
|
||
00012 5e pop esi
|
||
00013 5b pop ebx
|
||
00014 8b e5 mov esp, ebp
|
||
00016 5d pop ebp
|
||
00017 c3 ret 0
|
||
?GetString@?$CSimpleStringT@D$0A@@ATL@@QBEPBDXZ ENDP ; ATL::CSimpleStringT<char,0>::GetString
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?GetManager@?$CSimpleStringT@D$0A@@ATL@@QBEPAUIAtlStringMgr@2@XZ
|
||
_TEXT SEGMENT
|
||
tv72 = -76 ; size = 4
|
||
_pStringMgr$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
?GetManager@?$CSimpleStringT@D$0A@@ATL@@QBEPAUIAtlStringMgr@2@XZ PROC ; ATL::CSimpleStringT<char,0>::GetManager, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 522 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 4c sub esp, 76 ; 0000004cH
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 523 : IAtlStringMgr* pStringMgr = GetData()->pStringMgr;
|
||
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@D$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<char,0>::GetData
|
||
00014 8b 00 mov eax, DWORD PTR [eax]
|
||
00016 89 45 f8 mov DWORD PTR _pStringMgr$[ebp], eax
|
||
|
||
; 524 : return pStringMgr ? pStringMgr->Clone() : NULL;
|
||
|
||
00019 83 7d f8 00 cmp DWORD PTR _pStringMgr$[ebp], 0
|
||
0001d 74 12 je SHORT $LN3@GetManager
|
||
0001f 8b 45 f8 mov eax, DWORD PTR _pStringMgr$[ebp]
|
||
00022 8b 10 mov edx, DWORD PTR [eax]
|
||
00024 8b 4d f8 mov ecx, DWORD PTR _pStringMgr$[ebp]
|
||
00027 8b 42 10 mov eax, DWORD PTR [edx+16]
|
||
0002a ff d0 call eax
|
||
0002c 89 45 b4 mov DWORD PTR tv72[ebp], eax
|
||
0002f eb 07 jmp SHORT $LN4@GetManager
|
||
$LN3@GetManager:
|
||
00031 c7 45 b4 00 00
|
||
00 00 mov DWORD PTR tv72[ebp], 0
|
||
$LN4@GetManager:
|
||
00038 8b 45 b4 mov eax, DWORD PTR tv72[ebp]
|
||
|
||
; 525 : }
|
||
|
||
0003b 5f pop edi
|
||
0003c 5e pop esi
|
||
0003d 5b pop ebx
|
||
0003e 8b e5 mov esp, ebp
|
||
00040 5d pop ebp
|
||
00041 c3 ret 0
|
||
?GetManager@?$CSimpleStringT@D$0A@@ATL@@QBEPAUIAtlStringMgr@2@XZ ENDP ; ATL::CSimpleStringT<char,0>::GetManager
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?GetLength@?$CSimpleStringT@D$0A@@ATL@@QBEHXZ
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
?GetLength@?$CSimpleStringT@D$0A@@ATL@@QBEHXZ PROC ; ATL::CSimpleStringT<char,0>::GetLength, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 518 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 519 : return( GetData()->nDataLength );
|
||
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@D$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<char,0>::GetData
|
||
00014 8b 40 04 mov eax, DWORD PTR [eax+4]
|
||
|
||
; 520 : }
|
||
|
||
00017 5f pop edi
|
||
00018 5e pop esi
|
||
00019 5b pop ebx
|
||
0001a 8b e5 mov esp, ebp
|
||
0001c 5d pop ebp
|
||
0001d c3 ret 0
|
||
?GetLength@?$CSimpleStringT@D$0A@@ATL@@QBEHXZ ENDP ; ATL::CSimpleStringT<char,0>::GetLength
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?GetBuffer@?$CSimpleStringT@D$0A@@ATL@@QAEPADH@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_nMinBufferLength$ = 8 ; size = 4
|
||
?GetBuffer@?$CSimpleStringT@D$0A@@ATL@@QAEPADH@Z PROC ; ATL::CSimpleStringT<char,0>::GetBuffer, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 507 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 508 : return( PrepareWrite( nMinBufferLength ) );
|
||
|
||
0000c 8b 45 08 mov eax, DWORD PTR _nMinBufferLength$[ebp]
|
||
0000f 50 push eax
|
||
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00013 e8 00 00 00 00 call ?PrepareWrite@?$CSimpleStringT@D$0A@@ATL@@AAEPADH@Z ; ATL::CSimpleStringT<char,0>::PrepareWrite
|
||
|
||
; 509 : }
|
||
|
||
00018 5f pop edi
|
||
00019 5e pop esi
|
||
0001a 5b pop ebx
|
||
0001b 8b e5 mov esp, ebp
|
||
0001d 5d pop ebp
|
||
0001e c2 04 00 ret 4
|
||
?GetBuffer@?$CSimpleStringT@D$0A@@ATL@@QAEPADH@Z ENDP ; ATL::CSimpleStringT<char,0>::GetBuffer
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?GetAllocLength@?$CSimpleStringT@D$0A@@ATL@@QBEHXZ
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
?GetAllocLength@?$CSimpleStringT@D$0A@@ATL@@QBEHXZ PROC ; ATL::CSimpleStringT<char,0>::GetAllocLength, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 485 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 486 : return( GetData()->nAllocLength );
|
||
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@D$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<char,0>::GetData
|
||
00014 8b 40 08 mov eax, DWORD PTR [eax+8]
|
||
|
||
; 487 : }
|
||
|
||
00017 5f pop edi
|
||
00018 5e pop esi
|
||
00019 5b pop ebx
|
||
0001a 8b e5 mov esp, ebp
|
||
0001c 5d pop ebp
|
||
0001d c3 ret 0
|
||
?GetAllocLength@?$CSimpleStringT@D$0A@@ATL@@QBEHXZ ENDP ; ATL::CSimpleStringT<char,0>::GetAllocLength
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?Empty@?$CSimpleStringT@D$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@D$0A@@ATL@@QAEXXZ PROC ; ATL::CSimpleStringT<char,0>::Empty, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 436 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?Empty@?$CSimpleStringT@D$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@D$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<char,0>::GetData
|
||
00033 89 45 ec mov DWORD PTR _pOldData$[ebp], eax
|
||
|
||
; 438 : IAtlStringMgr* pStringMgr = pOldData->pStringMgr;
|
||
|
||
00036 8b 45 ec mov eax, DWORD PTR _pOldData$[ebp]
|
||
00039 8b 08 mov ecx, DWORD PTR [eax]
|
||
0003b 89 4d e8 mov DWORD PTR _pStringMgr$[ebp], ecx
|
||
|
||
; 439 : if( pOldData->nDataLength == 0 )
|
||
|
||
0003e 8b 45 ec mov eax, DWORD PTR _pOldData$[ebp]
|
||
00041 83 78 04 00 cmp DWORD PTR [eax+4], 0
|
||
00045 75 02 jne SHORT $LN2@Empty
|
||
|
||
; 440 : {
|
||
; 441 : return;
|
||
|
||
00047 eb 3f jmp SHORT $LN1@Empty
|
||
$LN2@Empty:
|
||
|
||
; 442 : }
|
||
; 443 :
|
||
; 444 : if( pOldData->IsLocked() )
|
||
|
||
00049 8b 4d ec mov ecx, DWORD PTR _pOldData$[ebp]
|
||
0004c e8 00 00 00 00 call ?IsLocked@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsLocked
|
||
00051 0f b6 c0 movzx eax, al
|
||
00054 85 c0 test eax, eax
|
||
00056 74 0c je SHORT $LN3@Empty
|
||
|
||
; 445 : {
|
||
; 446 : // Don't reallocate a locked buffer that's shrinking
|
||
; 447 : SetLength( 0 );
|
||
|
||
00058 6a 00 push 0
|
||
0005a 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
0005d e8 00 00 00 00 call ?SetLength@?$CSimpleStringT@D$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<char,0>::SetLength
|
||
|
||
; 448 : }
|
||
|
||
00062 eb 24 jmp SHORT $LN1@Empty
|
||
$LN3@Empty:
|
||
|
||
; 449 : else
|
||
; 450 : {
|
||
; 451 : pOldData->Release();
|
||
|
||
00064 8b 4d ec mov ecx, DWORD PTR _pOldData$[ebp]
|
||
00067 e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release
|
||
|
||
; 452 : CStringData* pNewData = pStringMgr->GetNilString();
|
||
|
||
0006c 8b 45 e8 mov eax, DWORD PTR _pStringMgr$[ebp]
|
||
0006f 8b 10 mov edx, DWORD PTR [eax]
|
||
00071 8b 4d e8 mov ecx, DWORD PTR _pStringMgr$[ebp]
|
||
00074 8b 42 0c mov eax, DWORD PTR [edx+12]
|
||
00077 ff d0 call eax
|
||
00079 89 45 e4 mov DWORD PTR _pNewData$2[ebp], eax
|
||
|
||
; 453 : Attach( pNewData );
|
||
|
||
0007c 8b 45 e4 mov eax, DWORD PTR _pNewData$2[ebp]
|
||
0007f 50 push eax
|
||
00080 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00083 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@D$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<char,0>::Attach
|
||
$LN1@Empty:
|
||
|
||
; 454 : }
|
||
; 455 : }
|
||
|
||
00088 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0008b 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00092 59 pop ecx
|
||
00093 5f pop edi
|
||
00094 5e pop esi
|
||
00095 5b pop ebx
|
||
00096 8b e5 mov esp, ebp
|
||
00098 5d pop ebp
|
||
00099 c3 ret 0
|
||
0009a cc int 3
|
||
0009b cc int 3
|
||
0009c cc int 3
|
||
0009d cc int 3
|
||
0009e cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?Empty@?$CSimpleStringT@D$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@D$0A@@ATL@@QAEXXZ
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?Empty@?$CSimpleStringT@D$0A@@ATL@@QAEXXZ ENDP ; ATL::CSimpleStringT<char,0>::Empty
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ??B?$CSimpleStringT@D$0A@@ATL@@QBEPBDXZ
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
??B?$CSimpleStringT@D$0A@@ATL@@QBEPBDXZ PROC ; ATL::CSimpleStringT<char,0>::operator char const *, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 376 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 377 : return( m_pszData );
|
||
|
||
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0000f 8b 00 mov eax, DWORD PTR [eax]
|
||
|
||
; 378 : }
|
||
|
||
00011 5f pop edi
|
||
00012 5e pop esi
|
||
00013 5b pop ebx
|
||
00014 8b e5 mov esp, ebp
|
||
00016 5d pop ebp
|
||
00017 c3 ret 0
|
||
??B?$CSimpleStringT@D$0A@@ATL@@QBEPBDXZ ENDP ; ATL::CSimpleStringT<char,0>::operator char const *
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ??4?$CSimpleStringT@D$0A@@ATL@@QAEAAV01@PBD@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_pszSrc$ = 8 ; size = 4
|
||
??4?$CSimpleStringT@D$0A@@ATL@@QAEAAV01@PBD@Z PROC ; ATL::CSimpleStringT<char,0>::operator=, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 313 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 314 : SetString( pszSrc );
|
||
|
||
0000c 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
0000f 50 push eax
|
||
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00013 e8 00 00 00 00 call ?SetString@?$CSimpleStringT@D$0A@@ATL@@QAEXPBD@Z ; ATL::CSimpleStringT<char,0>::SetString
|
||
|
||
; 315 :
|
||
; 316 : return( *this );
|
||
|
||
00018 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
|
||
; 317 : }
|
||
|
||
0001b 5f pop edi
|
||
0001c 5e pop esi
|
||
0001d 5b pop ebx
|
||
0001e 8b e5 mov esp, ebp
|
||
00020 5d pop ebp
|
||
00021 c2 04 00 ret 4
|
||
??4?$CSimpleStringT@D$0A@@ATL@@QAEAAV01@PBD@Z ENDP ; ATL::CSimpleStringT<char,0>::operator=
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ??1?$CSimpleStringT@D$0A@@ATL@@QAE@XZ
|
||
_TEXT SEGMENT
|
||
_pData$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
??1?$CSimpleStringT@D$0A@@ATL@@QAE@XZ PROC ; ATL::CSimpleStringT<char,0>::~CSimpleStringT<char,0>, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 260 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 48 sub esp, 72 ; 00000048H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 261 : CStringData* pData = GetData();
|
||
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@D$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<char,0>::GetData
|
||
00014 89 45 f8 mov DWORD PTR _pData$[ebp], eax
|
||
|
||
; 262 : pData->Release();
|
||
|
||
00017 8b 4d f8 mov ecx, DWORD PTR _pData$[ebp]
|
||
0001a e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release
|
||
|
||
; 263 : }
|
||
|
||
0001f 5f pop edi
|
||
00020 5e pop esi
|
||
00021 5b pop ebx
|
||
00022 8b e5 mov esp, ebp
|
||
00024 5d pop ebp
|
||
00025 c3 ret 0
|
||
??1?$CSimpleStringT@D$0A@@ATL@@QAE@XZ ENDP ; ATL::CSimpleStringT<char,0>::~CSimpleStringT<char,0>
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ??0?$CSimpleStringT@D$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@D$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z PROC ; ATL::CSimpleStringT<char,0>::CSimpleStringT<char,0>, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 203 : explicit CSimpleStringT(_Inout_ IAtlStringMgr* pStringMgr)
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 50 sub esp, 80 ; 00000050H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
$LN4@CSimpleStr:
|
||
|
||
; 204 : {
|
||
; 205 : ATLENSURE( pStringMgr != NULL );
|
||
|
||
0000c 83 7d 08 00 cmp DWORD PTR _pStringMgr$[ebp], 0
|
||
00010 74 09 je SHORT $LN10@CSimpleStr
|
||
00012 c7 45 b0 01 00
|
||
00 00 mov DWORD PTR tv65[ebp], 1
|
||
00019 eb 07 jmp SHORT $LN11@CSimpleStr
|
||
$LN10@CSimpleStr:
|
||
0001b c7 45 b0 00 00
|
||
00 00 mov DWORD PTR tv65[ebp], 0
|
||
$LN11@CSimpleStr:
|
||
00022 8b 45 b0 mov eax, DWORD PTR tv65[ebp]
|
||
00025 89 45 f8 mov DWORD PTR ___atl_condVal$1[ebp], eax
|
||
$LN5@CSimpleStr:
|
||
00028 33 c0 xor eax, eax
|
||
0002a 75 fc jne SHORT $LN5@CSimpleStr
|
||
0002c 83 7d f8 00 cmp DWORD PTR ___atl_condVal$1[ebp], 0
|
||
00030 75 0a jne SHORT $LN2@CSimpleStr
|
||
00032 68 05 40 00 80 push -2147467259 ; 80004005H
|
||
00037 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN2@CSimpleStr:
|
||
0003c 33 c0 xor eax, eax
|
||
0003e 75 cc jne SHORT $LN4@CSimpleStr
|
||
|
||
; 206 : CStringData* pData = pStringMgr->GetNilString();
|
||
|
||
00040 8b 45 08 mov eax, DWORD PTR _pStringMgr$[ebp]
|
||
00043 8b 10 mov edx, DWORD PTR [eax]
|
||
00045 8b 4d 08 mov ecx, DWORD PTR _pStringMgr$[ebp]
|
||
00048 8b 42 0c mov eax, DWORD PTR [edx+12]
|
||
0004b ff d0 call eax
|
||
0004d 89 45 f4 mov DWORD PTR _pData$[ebp], eax
|
||
|
||
; 207 : Attach( pData );
|
||
|
||
00050 8b 45 f4 mov eax, DWORD PTR _pData$[ebp]
|
||
00053 50 push eax
|
||
00054 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00057 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@D$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<char,0>::Attach
|
||
|
||
; 208 : }
|
||
|
||
0005c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
$LN9@CSimpleStr:
|
||
0005f 5f pop edi
|
||
00060 5e pop esi
|
||
00061 5b pop ebx
|
||
00062 8b e5 mov esp, ebp
|
||
00064 5d pop ebp
|
||
00065 c2 04 00 ret 4
|
||
??0?$CSimpleStringT@D$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ENDP ; ATL::CSimpleStringT<char,0>::CSimpleStringT<char,0>
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxstr.h
|
||
; COMDAT ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ
|
||
_TEXT SEGMENT
|
||
__$EHRec$ = -12 ; size = 12
|
||
?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ PROC ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager, COMDAT
|
||
|
||
; 51 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 40 sub esp, 64 ; 00000040H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
|
||
; 52 : return( AfxGetStringManager() );
|
||
|
||
00028 e8 00 00 00 00 call ?AfxGetStringManager@@YGPAUIAtlStringMgr@ATL@@XZ ; AfxGetStringManager
|
||
|
||
; 53 : }
|
||
|
||
0002d 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00030 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00037 59 pop ecx
|
||
00038 5f pop edi
|
||
00039 5e pop esi
|
||
0003a 5b pop ebx
|
||
0003b 8b e5 mov esp, ebp
|
||
0003d 5d pop ebp
|
||
0003e c3 ret 0
|
||
0003f cc int 3
|
||
00040 cc int 3
|
||
00041 cc int 3
|
||
00042 cc int 3
|
||
00043 cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ENDP ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxstr.h
|
||
; COMDAT ?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z
|
||
_TEXT SEGMENT
|
||
__$EHRec$ = -12 ; size = 12
|
||
_nID$ = 8 ; size = 4
|
||
?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z PROC ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::FindStringResourceInstance, COMDAT
|
||
|
||
; 46 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 40 sub esp, 64 ; 00000040H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
|
||
; 47 : return( AfxFindStringResourceHandle( nID ) );
|
||
|
||
00028 8b 45 08 mov eax, DWORD PTR _nID$[ebp]
|
||
0002b 50 push eax
|
||
0002c e8 00 00 00 00 call ?AfxFindStringResourceHandle@@YGPAUHINSTANCE__@@I@Z ; AfxFindStringResourceHandle
|
||
|
||
; 48 : }
|
||
|
||
00031 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00034 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
0003b 59 pop ecx
|
||
0003c 5f pop edi
|
||
0003d 5e pop esi
|
||
0003e 5b pop ebx
|
||
0003f 8b e5 mov esp, ebp
|
||
00041 5d pop ebp
|
||
00042 c3 ret 0
|
||
00043 cc int 3
|
||
00044 cc int 3
|
||
00045 cc int 3
|
||
00046 cc int 3
|
||
00047 cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z ENDP ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::FindStringResourceInstance
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atltime.h
|
||
; COMDAT ?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PBD@Z
|
||
_TEXT SEGMENT
|
||
tv81 = -96 ; size = 4
|
||
tv86 = -92 ; size = 4
|
||
$T2 = -88 ; size = 4
|
||
$T3 = -84 ; size = 4
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
___$ReturnUdt$ = 8 ; size = 4
|
||
_pFormat$ = 12 ; size = 4
|
||
?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PBD@Z PROC ; ATL::CTime::Format, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 1118 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PBD@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 54 sub esp, 84 ; 00000054H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
|
||
0002b c7 45 a8 00 00
|
||
00 00 mov DWORD PTR $T2[ebp], 0
|
||
|
||
; 1119 : return Format(CString(pFormat));
|
||
|
||
00032 8b 45 0c mov eax, DWORD PTR _pFormat$[ebp]
|
||
00035 50 push eax
|
||
00036 8d 4d ac lea ecx, DWORD PTR $T3[ebp]
|
||
00039 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PBD@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
0003e 89 45 a4 mov DWORD PTR tv86[ebp], eax
|
||
00041 8b 4d a4 mov ecx, DWORD PTR tv86[ebp]
|
||
00044 89 4d a0 mov DWORD PTR tv81[ebp], ecx
|
||
00047 c7 45 fc 01 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 1
|
||
0004e 8b 4d a0 mov ecx, DWORD PTR tv81[ebp]
|
||
00051 e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
|
||
00056 50 push eax
|
||
00057 8b 55 08 mov edx, DWORD PTR ___$ReturnUdt$[ebp]
|
||
0005a 52 push edx
|
||
0005b 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
0005e e8 00 00 00 00 call ?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PB_W@Z ; ATL::CTime::Format
|
||
00063 8b 45 a8 mov eax, DWORD PTR $T2[ebp]
|
||
00066 83 c8 01 or eax, 1
|
||
00069 89 45 a8 mov DWORD PTR $T2[ebp], eax
|
||
0006c c6 45 fc 00 mov BYTE PTR __$EHRec$[ebp+8], 0
|
||
00070 8d 4d ac lea ecx, DWORD PTR $T3[ebp]
|
||
00073 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
00078 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp]
|
||
|
||
; 1120 : }
|
||
|
||
0007b 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0007e 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00085 59 pop ecx
|
||
00086 5f pop edi
|
||
00087 5e pop esi
|
||
00088 5b pop ebx
|
||
00089 8b e5 mov esp, ebp
|
||
0008b 5d pop ebp
|
||
0008c c2 08 00 ret 8
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PBD@Z$0:
|
||
00000 8d 4d ac lea ecx, DWORD PTR $T3[ebp]
|
||
00003 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PBD@Z$1:
|
||
00008 8b 45 a8 mov eax, DWORD PTR $T2[ebp]
|
||
0000b 83 e0 01 and eax, 1
|
||
0000e 0f 84 0c 00 00
|
||
00 je $LN5@Format
|
||
00014 83 65 a8 fe and DWORD PTR $T2[ebp], -2 ; fffffffeH
|
||
00018 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
|
||
0001b e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
$LN5@Format:
|
||
00020 c3 ret 0
|
||
00021 cc int 3
|
||
00022 cc int 3
|
||
00023 cc int 3
|
||
00024 cc int 3
|
||
00025 cc int 3
|
||
__ehhandler$?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PBD@Z:
|
||
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 9c mov ecx, DWORD PTR [edx-100]
|
||
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$?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PBD@Z
|
||
0003e e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PBD@Z ENDP ; ATL::CTime::Format
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atltime.h
|
||
; COMDAT ?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PB_W@Z
|
||
_TEXT SEGMENT
|
||
$T2 = -384 ; size = 4
|
||
$T3 = -380 ; size = 4
|
||
_ptmTemp$ = -312 ; size = 36
|
||
_szBuffer$ = -276 ; size = 256
|
||
_this$ = -20 ; size = 4
|
||
__$ArrayPad$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
___$ReturnUdt$ = 8 ; size = 4
|
||
_pFormat$ = 12 ; size = 4
|
||
?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PB_W@Z PROC ; ATL::CTime::Format, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 1057 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PB_W@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 81 ec 74 01 00
|
||
00 sub esp, 372 ; 00000174H
|
||
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
|
||
00031 c7 85 80 fe ff
|
||
ff 00 00 00 00 mov DWORD PTR $T2[ebp], 0
|
||
|
||
; 1058 : if(pFormat == NULL)
|
||
|
||
0003b 83 7d 0c 00 cmp DWORD PTR _pFormat$[ebp], 0
|
||
0003f 75 2a jne SHORT $LN2@Format
|
||
|
||
; 1059 : {
|
||
; 1060 : return pFormat;
|
||
|
||
00041 8b 45 0c mov eax, DWORD PTR _pFormat$[ebp]
|
||
00044 50 push eax
|
||
00045 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
|
||
00048 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
0004d c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
00054 8b 8d 80 fe ff
|
||
ff mov ecx, DWORD PTR $T2[ebp]
|
||
0005a 83 c9 01 or ecx, 1
|
||
0005d 89 8d 80 fe ff
|
||
ff mov DWORD PTR $T2[ebp], ecx
|
||
00063 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp]
|
||
00066 e9 9d 00 00 00 jmp $LN5@Format
|
||
$LN2@Format:
|
||
|
||
; 1061 : }
|
||
; 1062 :
|
||
; 1063 : TCHAR szBuffer[maxTimeBufferSize];
|
||
; 1064 : struct tm ptmTemp;
|
||
; 1065 :
|
||
; 1066 : if (_localtime64_s(&ptmTemp, &m_time) != 0)
|
||
|
||
0006b 8b 45 ec mov eax, DWORD PTR _this$[ebp]
|
||
0006e 50 push eax
|
||
0006f 8d 8d c8 fe ff
|
||
ff lea ecx, DWORD PTR _ptmTemp$[ebp]
|
||
00075 51 push ecx
|
||
00076 e8 00 00 00 00 call __localtime64_s
|
||
0007b 83 c4 08 add esp, 8
|
||
0007e 85 c0 test eax, eax
|
||
00080 74 0a je SHORT $LN3@Format
|
||
|
||
; 1067 : {
|
||
; 1068 : AtlThrow(E_INVALIDARG);
|
||
|
||
00082 68 57 00 07 80 push -2147024809 ; 80070057H
|
||
00087 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN3@Format:
|
||
|
||
; 1069 : }
|
||
; 1070 :
|
||
; 1071 : if (!_tcsftime(szBuffer, maxTimeBufferSize, pFormat, &ptmTemp))
|
||
|
||
0008c 8d 85 c8 fe ff
|
||
ff lea eax, DWORD PTR _ptmTemp$[ebp]
|
||
00092 50 push eax
|
||
00093 8b 4d 0c mov ecx, DWORD PTR _pFormat$[ebp]
|
||
00096 51 push ecx
|
||
00097 68 80 00 00 00 push 128 ; 00000080H
|
||
0009c 8d 95 ec fe ff
|
||
ff lea edx, DWORD PTR _szBuffer$[ebp]
|
||
000a2 52 push edx
|
||
000a3 e8 00 00 00 00 call _wcsftime
|
||
000a8 83 c4 10 add esp, 16 ; 00000010H
|
||
000ab 85 c0 test eax, eax
|
||
000ad 75 31 jne SHORT $LN4@Format
|
||
|
||
; 1072 : {
|
||
; 1073 : szBuffer[0] = '\0';
|
||
|
||
000af b8 02 00 00 00 mov eax, 2
|
||
000b4 6b c8 00 imul ecx, eax, 0
|
||
000b7 89 8d 84 fe ff
|
||
ff mov DWORD PTR $T3[ebp], ecx
|
||
000bd 81 bd 84 fe ff
|
||
ff 00 01 00 00 cmp DWORD PTR $T3[ebp], 256 ; 00000100H
|
||
000c7 73 02 jae SHORT $LN6@Format
|
||
000c9 eb 05 jmp SHORT $LN7@Format
|
||
$LN6@Format:
|
||
000cb e8 00 00 00 00 call ___report_rangecheckfailure
|
||
$LN7@Format:
|
||
000d0 33 d2 xor edx, edx
|
||
000d2 8b 85 84 fe ff
|
||
ff mov eax, DWORD PTR $T3[ebp]
|
||
000d8 66 89 94 05 ec
|
||
fe ff ff mov WORD PTR _szBuffer$[ebp+eax], dx
|
||
$LN4@Format:
|
||
|
||
; 1074 : }
|
||
; 1075 :
|
||
; 1076 : return szBuffer;
|
||
|
||
000e0 8d 85 ec fe ff
|
||
ff lea eax, DWORD PTR _szBuffer$[ebp]
|
||
000e6 50 push eax
|
||
000e7 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
|
||
000ea e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
000ef c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
000f6 8b 8d 80 fe ff
|
||
ff mov ecx, DWORD PTR $T2[ebp]
|
||
000fc 83 c9 01 or ecx, 1
|
||
000ff 89 8d 80 fe ff
|
||
ff mov DWORD PTR $T2[ebp], ecx
|
||
00105 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp]
|
||
$LN5@Format:
|
||
|
||
; 1077 : }
|
||
|
||
00108 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0010b 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00112 59 pop ecx
|
||
00113 5f pop edi
|
||
00114 5e pop esi
|
||
00115 5b pop ebx
|
||
00116 8b 4d f0 mov ecx, DWORD PTR __$ArrayPad$[ebp]
|
||
00119 33 cd xor ecx, ebp
|
||
0011b e8 00 00 00 00 call @__security_check_cookie@4
|
||
00120 8b e5 mov esp, ebp
|
||
00122 5d pop ebp
|
||
00123 c2 08 00 ret 8
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PB_W@Z$0:
|
||
00000 8b 85 80 fe ff
|
||
ff mov eax, DWORD PTR $T2[ebp]
|
||
00006 83 e0 01 and eax, 1
|
||
00009 0f 84 0f 00 00
|
||
00 je $LN9@Format
|
||
0000f 83 a5 80 fe ff
|
||
ff fe and DWORD PTR $T2[ebp], -2 ; fffffffeH
|
||
00016 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
|
||
00019 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
$LN9@Format:
|
||
0001e c3 ret 0
|
||
0001f cc int 3
|
||
00020 cc int 3
|
||
00021 cc int 3
|
||
00022 cc int 3
|
||
00023 cc int 3
|
||
__ehhandler$?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PB_W@Z:
|
||
00024 90 npad 1
|
||
00025 90 npad 1
|
||
00026 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
0002a 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
0002d 8b 8a 7c fe ff
|
||
ff mov ecx, DWORD PTR [edx-388]
|
||
00033 33 c8 xor ecx, eax
|
||
00035 e8 00 00 00 00 call @__security_check_cookie@4
|
||
0003a 8b 4a fc mov ecx, DWORD PTR [edx-4]
|
||
0003d 33 c8 xor ecx, eax
|
||
0003f e8 00 00 00 00 call @__security_check_cookie@4
|
||
00044 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PB_W@Z
|
||
00049 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?Format@CTime@ATL@@QBE?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@2@PB_W@Z ENDP ; ATL::CTime::Format
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atltime.h
|
||
; COMDAT ??0CTime@ATL@@QAE@_J@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_time$ = 8 ; size = 8
|
||
??0CTime@ATL@@QAE@_J@Z PROC ; ATL::CTime::CTime, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 418 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 417 : m_time( time )
|
||
|
||
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0000f 8b 4d 08 mov ecx, DWORD PTR _time$[ebp]
|
||
00012 8b 55 0c mov edx, DWORD PTR _time$[ebp+4]
|
||
00015 89 08 mov DWORD PTR [eax], ecx
|
||
00017 89 50 04 mov DWORD PTR [eax+4], edx
|
||
|
||
; 419 : }
|
||
|
||
0001a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0001d 5f pop edi
|
||
0001e 5e pop esi
|
||
0001f 5b pop ebx
|
||
00020 8b e5 mov esp, ebp
|
||
00022 5d pop ebp
|
||
00023 c2 08 00 ret 8
|
||
??0CTime@ATL@@QAE@_J@Z ENDP ; ATL::CTime::CTime
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atltime.h
|
||
; COMDAT ??0CTime@ATL@@QAE@XZ
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
??0CTime@ATL@@QAE@XZ PROC ; ATL::CTime::CTime, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 413 : {
|
||
|
||
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
|
||
|
||
; 412 : m_time(0)
|
||
|
||
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0000f 33 c9 xor ecx, ecx
|
||
00011 33 d2 xor edx, edx
|
||
00013 89 08 mov DWORD PTR [eax], ecx
|
||
00015 89 50 04 mov DWORD PTR [eax+4], edx
|
||
|
||
; 414 : }
|
||
|
||
00018 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0001b 5f pop edi
|
||
0001c 5e pop esi
|
||
0001d 5b pop ebx
|
||
0001e 8b e5 mov esp, ebp
|
||
00020 5d pop ebp
|
||
00021 c3 ret 0
|
||
??0CTime@ATL@@QAE@XZ ENDP ; ATL::CTime::CTime
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atltime.h
|
||
; COMDAT ?GetTickCount@CTime@ATL@@SG?AV12@XZ
|
||
_TEXT SEGMENT
|
||
__$EHRec$ = -12 ; size = 12
|
||
___$ReturnUdt$ = 8 ; size = 4
|
||
?GetTickCount@CTime@ATL@@SG?AV12@XZ PROC ; ATL::CTime::GetTickCount, COMDAT
|
||
|
||
; 373 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?GetTickCount@CTime@ATL@@SG?AV12@XZ
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 40 sub esp, 64 ; 00000040H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
|
||
; 374 : return( CTime( ::_time64( NULL ) ) );
|
||
|
||
00028 6a 00 push 0
|
||
0002a e8 00 00 00 00 call __time64
|
||
0002f 83 c4 04 add esp, 4
|
||
00032 52 push edx
|
||
00033 50 push eax
|
||
00034 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
|
||
00037 e8 00 00 00 00 call ??0CTime@ATL@@QAE@_J@Z ; ATL::CTime::CTime
|
||
0003c 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp]
|
||
|
||
; 375 : }
|
||
|
||
0003f 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00042 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00049 59 pop ecx
|
||
0004a 5f pop edi
|
||
0004b 5e pop esi
|
||
0004c 5b pop ebx
|
||
0004d 8b e5 mov esp, ebp
|
||
0004f 5d pop ebp
|
||
00050 c2 04 00 ret 4
|
||
00053 cc int 3
|
||
00054 cc int 3
|
||
00055 cc int 3
|
||
00056 cc int 3
|
||
00057 cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?GetTickCount@CTime@ATL@@SG?AV12@XZ:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?GetTickCount@CTime@ATL@@SG?AV12@XZ
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?GetTickCount@CTime@ATL@@SG?AV12@XZ ENDP ; ATL::CTime::GetTickCount
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z
|
||
_TEXT SEGMENT
|
||
_nID$1 = -12 ; size = 4
|
||
_bRet$ = -5 ; size = 1
|
||
_this$ = -4 ; size = 4
|
||
_pv$ = 8 ; size = 4
|
||
?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 2705 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 4c sub esp, 76 ; 0000004cH
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 2706 : bool bRet = false;
|
||
|
||
0000c c6 45 fb 00 mov BYTE PTR _bRet$[ebp], 0
|
||
|
||
; 2707 :
|
||
; 2708 : if( (pv != NULL) && IS_INTRESOURCE( pv ) )
|
||
|
||
00010 83 7d 08 00 cmp DWORD PTR _pv$[ebp], 0
|
||
00014 74 28 je SHORT $LN2@CheckImpli
|
||
00016 8b 45 08 mov eax, DWORD PTR _pv$[ebp]
|
||
00019 c1 e8 10 shr eax, 16 ; 00000010H
|
||
0001c 85 c0 test eax, eax
|
||
0001e 75 1e jne SHORT $LN2@CheckImpli
|
||
|
||
; 2709 : {
|
||
; 2710 : UINT nID = LOWORD( reinterpret_cast< DWORD_PTR >( pv ) );
|
||
|
||
00020 8b 45 08 mov eax, DWORD PTR _pv$[ebp]
|
||
00023 25 ff ff 00 00 and eax, 65535 ; 0000ffffH
|
||
00028 0f b7 c8 movzx ecx, ax
|
||
0002b 89 4d f4 mov DWORD PTR _nID$1[ebp], ecx
|
||
|
||
; 2711 : (nID);
|
||
; 2712 : #ifdef _ATL_USE_WINAPI_FAMILY_DESKTOP_APP
|
||
; 2713 : if( !LoadString( nID ) )
|
||
|
||
0002e 8b 45 f4 mov eax, DWORD PTR _nID$1[ebp]
|
||
00031 50 push eax
|
||
00032 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00035 e8 00 00 00 00 call ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
|
||
|
||
; 2714 : {
|
||
; 2715 : ATLTRACE( atlTraceString, 2, _T( "Warning: implicit LoadString(%u) failed\n" ), nID );
|
||
; 2716 : }
|
||
; 2717 : bRet = true;
|
||
|
||
0003a c6 45 fb 01 mov BYTE PTR _bRet$[ebp], 1
|
||
$LN2@CheckImpli:
|
||
|
||
; 2718 : #else
|
||
; 2719 : ATLTRACE( atlTraceString, 2, _T( "Warning: LoadString(%u) not supported under the current WINAPI_FAMILY.\n" ), nID );
|
||
; 2720 : #endif
|
||
; 2721 : }
|
||
; 2722 :
|
||
; 2723 : return( bRet );
|
||
|
||
0003e 8a 45 fb mov al, BYTE PTR _bRet$[ebp]
|
||
|
||
; 2724 : }
|
||
|
||
00041 5f pop edi
|
||
00042 5e pop esi
|
||
00043 5b pop ebx
|
||
00044 8b e5 mov esp, ebp
|
||
00046 5d pop ebp
|
||
00047 c2 04 00 ret 4
|
||
?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ??HATL@@YA?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@0@ABV10@0@Z
|
||
_TEXT SEGMENT
|
||
tv136 = -100 ; size = 4
|
||
tv138 = -96 ; size = 4
|
||
tv140 = -92 ; size = 4
|
||
tv142 = -88 ; size = 4
|
||
$T2 = -84 ; size = 4
|
||
_strResult$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
___$ReturnUdt$ = 8 ; size = 4
|
||
_str1$ = 12 ; size = 4
|
||
_str2$ = 16 ; size = 4
|
||
??HATL@@YA?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@0@ABV10@0@Z PROC ; ATL::operator+, COMDAT
|
||
|
||
; 2389 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$??HATL@@YA?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@0@ABV10@0@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 58 sub esp, 88 ; 00000058H
|
||
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 c7 45 ac 00 00
|
||
00 00 mov DWORD PTR $T2[ebp], 0
|
||
|
||
; 2390 : CStringT strResult( str1.GetManager() );
|
||
|
||
0002f 8b 4d 0c mov ecx, DWORD PTR _str1$[ebp]
|
||
00032 e8 00 00 00 00 call ?GetManager@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager
|
||
00037 50 push eax
|
||
00038 8d 4d f0 lea ecx, DWORD PTR _strResult$[ebp]
|
||
0003b e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
00040 c7 45 fc 01 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 1
|
||
|
||
; 2391 :
|
||
; 2392 : CThisSimpleString::Concatenate( strResult, str1, str1.GetLength(), str2, str2.GetLength() );
|
||
|
||
00047 8b 4d 10 mov ecx, DWORD PTR _str2$[ebp]
|
||
0004a e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
|
||
0004f 89 45 a8 mov DWORD PTR tv142[ebp], eax
|
||
00052 8b 4d 10 mov ecx, DWORD PTR _str2$[ebp]
|
||
00055 e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
|
||
0005a 89 45 a4 mov DWORD PTR tv140[ebp], eax
|
||
0005d 8b 4d 0c mov ecx, DWORD PTR _str1$[ebp]
|
||
00060 e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
|
||
00065 89 45 a0 mov DWORD PTR tv138[ebp], eax
|
||
00068 8b 4d 0c mov ecx, DWORD PTR _str1$[ebp]
|
||
0006b e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
|
||
00070 89 45 9c mov DWORD PTR tv136[ebp], eax
|
||
00073 8b 45 a8 mov eax, DWORD PTR tv142[ebp]
|
||
00076 50 push eax
|
||
00077 8b 4d a4 mov ecx, DWORD PTR tv140[ebp]
|
||
0007a 51 push ecx
|
||
0007b 8b 55 a0 mov edx, DWORD PTR tv138[ebp]
|
||
0007e 52 push edx
|
||
0007f 8b 45 9c mov eax, DWORD PTR tv136[ebp]
|
||
00082 50 push eax
|
||
00083 8d 4d f0 lea ecx, DWORD PTR _strResult$[ebp]
|
||
00086 51 push ecx
|
||
00087 e8 00 00 00 00 call ?Concatenate@?$CSimpleStringT@_W$0A@@ATL@@KAXAAV12@PB_WH1H@Z ; ATL::CSimpleStringT<wchar_t,0>::Concatenate
|
||
0008c 83 c4 14 add esp, 20 ; 00000014H
|
||
|
||
; 2393 :
|
||
; 2394 : return( strResult );
|
||
|
||
0008f 8d 45 f0 lea eax, DWORD PTR _strResult$[ebp]
|
||
00092 50 push eax
|
||
00093 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
|
||
00096 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
0009b 8b 4d ac mov ecx, DWORD PTR $T2[ebp]
|
||
0009e 83 c9 01 or ecx, 1
|
||
000a1 89 4d ac mov DWORD PTR $T2[ebp], ecx
|
||
000a4 c6 45 fc 00 mov BYTE PTR __$EHRec$[ebp+8], 0
|
||
000a8 8d 4d f0 lea ecx, DWORD PTR _strResult$[ebp]
|
||
000ab e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
000b0 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp]
|
||
|
||
; 2395 : }
|
||
|
||
000b3 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
000b6 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
000bd 59 pop ecx
|
||
000be 5f pop edi
|
||
000bf 5e pop esi
|
||
000c0 5b pop ebx
|
||
000c1 8b e5 mov esp, ebp
|
||
000c3 5d pop ebp
|
||
000c4 c3 ret 0
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$??HATL@@YA?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@0@ABV10@0@Z$0:
|
||
00000 8d 4d f0 lea ecx, DWORD PTR _strResult$[ebp]
|
||
00003 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
__unwindfunclet$??HATL@@YA?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@0@ABV10@0@Z$1:
|
||
00008 8b 45 ac mov eax, DWORD PTR $T2[ebp]
|
||
0000b 83 e0 01 and eax, 1
|
||
0000e 0f 84 0c 00 00
|
||
00 je $LN5@operator
|
||
00014 83 65 ac fe and DWORD PTR $T2[ebp], -2 ; fffffffeH
|
||
00018 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
|
||
0001b e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
$LN5@operator:
|
||
00020 c3 ret 0
|
||
00021 cc int 3
|
||
00022 cc int 3
|
||
00023 cc int 3
|
||
00024 cc int 3
|
||
00025 cc int 3
|
||
__ehhandler$??HATL@@YA?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@0@ABV10@0@Z:
|
||
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 98 mov ecx, DWORD PTR [edx-104]
|
||
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$??HATL@@YA?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@0@ABV10@0@Z
|
||
0003e e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
??HATL@@YA?AV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@0@ABV10@0@Z ENDP ; ATL::operator+
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z
|
||
_TEXT SEGMENT
|
||
_pszBuffer$ = -16 ; size = 4
|
||
_nLength$ = -12 ; size = 4
|
||
_pImage$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_hInstance$ = 8 ; size = 4
|
||
_nID$ = 12 ; size = 4
|
||
?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 2350 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 50 sub esp, 80 ; 00000050H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 2351 : const ATLSTRINGRESOURCEIMAGE* pImage = AtlGetStringResourceImage( hInstance, nID );
|
||
|
||
0000c 8b 45 0c mov eax, DWORD PTR _nID$[ebp]
|
||
0000f 50 push eax
|
||
00010 8b 4d 08 mov ecx, DWORD PTR _hInstance$[ebp]
|
||
00013 51 push ecx
|
||
00014 e8 00 00 00 00 call ?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z ; ATL::AtlGetStringResourceImage
|
||
00019 83 c4 08 add esp, 8
|
||
0001c 89 45 f8 mov DWORD PTR _pImage$[ebp], eax
|
||
|
||
; 2352 : if( pImage == NULL )
|
||
|
||
0001f 83 7d f8 00 cmp DWORD PTR _pImage$[ebp], 0
|
||
00023 75 04 jne SHORT $LN2@LoadString
|
||
|
||
; 2353 : {
|
||
; 2354 : return( FALSE );
|
||
|
||
00025 33 c0 xor eax, eax
|
||
00027 eb 57 jmp SHORT $LN1@LoadString
|
||
$LN2@LoadString:
|
||
|
||
; 2355 : }
|
||
; 2356 :
|
||
; 2357 : int nLength = StringTraits::GetBaseTypeLength( pImage->achString, pImage->nLength );
|
||
|
||
00029 8b 45 f8 mov eax, DWORD PTR _pImage$[ebp]
|
||
0002c 0f b7 08 movzx ecx, WORD PTR [eax]
|
||
0002f 51 push ecx
|
||
00030 8b 55 f8 mov edx, DWORD PTR _pImage$[ebp]
|
||
00033 83 c2 02 add edx, 2
|
||
00036 52 push edx
|
||
00037 e8 00 00 00 00 call ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
|
||
0003c 83 c4 08 add esp, 8
|
||
0003f 89 45 f4 mov DWORD PTR _nLength$[ebp], eax
|
||
|
||
; 2358 : PXSTR pszBuffer = this->GetBuffer( nLength );
|
||
|
||
00042 8b 45 f4 mov eax, DWORD PTR _nLength$[ebp]
|
||
00045 50 push eax
|
||
00046 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00049 e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
|
||
0004e 89 45 f0 mov DWORD PTR _pszBuffer$[ebp], eax
|
||
|
||
; 2359 : StringTraits::ConvertToBaseType( pszBuffer, nLength, pImage->achString, pImage->nLength );
|
||
|
||
00051 8b 45 f8 mov eax, DWORD PTR _pImage$[ebp]
|
||
00054 0f b7 08 movzx ecx, WORD PTR [eax]
|
||
00057 51 push ecx
|
||
00058 8b 55 f8 mov edx, DWORD PTR _pImage$[ebp]
|
||
0005b 83 c2 02 add edx, 2
|
||
0005e 52 push edx
|
||
0005f 8b 45 f4 mov eax, DWORD PTR _nLength$[ebp]
|
||
00062 50 push eax
|
||
00063 8b 4d f0 mov ecx, DWORD PTR _pszBuffer$[ebp]
|
||
00066 51 push ecx
|
||
00067 e8 00 00 00 00 call ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType
|
||
0006c 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 2360 : this->ReleaseBufferSetLength( nLength );
|
||
|
||
0006f 8b 45 f4 mov eax, DWORD PTR _nLength$[ebp]
|
||
00072 50 push eax
|
||
00073 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00076 e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
|
||
|
||
; 2361 :
|
||
; 2362 : return( TRUE );
|
||
|
||
0007b b8 01 00 00 00 mov eax, 1
|
||
$LN1@LoadString:
|
||
|
||
; 2363 : }
|
||
|
||
00080 5f pop edi
|
||
00081 5e pop esi
|
||
00082 5b pop ebx
|
||
00083 8b e5 mov esp, ebp
|
||
00085 5d pop ebp
|
||
00086 c2 08 00 ret 8
|
||
?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z
|
||
_TEXT SEGMENT
|
||
_hInstance$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_nID$ = 8 ; size = 4
|
||
?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 2336 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 48 sub esp, 72 ; 00000048H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 2337 : HINSTANCE hInstance = StringTraits::FindStringResourceInstance( nID );
|
||
|
||
0000c 8b 45 08 mov eax, DWORD PTR _nID$[ebp]
|
||
0000f 50 push eax
|
||
00010 e8 00 00 00 00 call ?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::FindStringResourceInstance
|
||
00015 83 c4 04 add esp, 4
|
||
00018 89 45 f8 mov DWORD PTR _hInstance$[ebp], eax
|
||
|
||
; 2338 : if( hInstance == NULL )
|
||
|
||
0001b 83 7d f8 00 cmp DWORD PTR _hInstance$[ebp], 0
|
||
0001f 75 04 jne SHORT $LN2@LoadString
|
||
|
||
; 2339 : {
|
||
; 2340 : return( FALSE );
|
||
|
||
00021 33 c0 xor eax, eax
|
||
00023 eb 10 jmp SHORT $LN1@LoadString
|
||
$LN2@LoadString:
|
||
|
||
; 2341 : }
|
||
; 2342 :
|
||
; 2343 : return( LoadString( hInstance, nID ) );
|
||
|
||
00025 8b 45 08 mov eax, DWORD PTR _nID$[ebp]
|
||
00028 50 push eax
|
||
00029 8b 4d f8 mov ecx, DWORD PTR _hInstance$[ebp]
|
||
0002c 51 push ecx
|
||
0002d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00030 e8 00 00 00 00 call ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
|
||
$LN1@LoadString:
|
||
|
||
; 2344 : }
|
||
|
||
00035 5f pop edi
|
||
00036 5e pop esi
|
||
00037 5b pop ebx
|
||
00038 8b e5 mov esp, ebp
|
||
0003a 5d pop ebp
|
||
0003b c2 04 00 ret 4
|
||
?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z
|
||
_TEXT SEGMENT
|
||
_pszBuffer$ = -28 ; size = 4
|
||
_temp$ = -24 ; size = 4
|
||
_nLength$ = -20 ; size = 4
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
_pszFormat$ = 8 ; size = 4
|
||
_args$ = 12 ; size = 4
|
||
?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 2221 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 50 sub esp, 80 ; 00000050H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 2222 : ATLASSERT( AtlIsValidString( pszFormat ) );
|
||
; 2223 : if(pszFormat == NULL)
|
||
|
||
0002b 83 7d 08 00 cmp DWORD PTR _pszFormat$[ebp], 0
|
||
0002f 75 0a jne SHORT $LN2@FormatV
|
||
|
||
; 2224 : AtlThrow(E_INVALIDARG);
|
||
|
||
00031 68 57 00 07 80 push -2147024809 ; 80070057H
|
||
00036 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN2@FormatV:
|
||
|
||
; 2225 :
|
||
; 2226 : int nLength = StringTraits::GetFormattedLength( pszFormat, args );
|
||
|
||
0003b 8b 45 0c mov eax, DWORD PTR _args$[ebp]
|
||
0003e 50 push eax
|
||
0003f 8b 4d 08 mov ecx, DWORD PTR _pszFormat$[ebp]
|
||
00042 51 push ecx
|
||
00043 e8 00 00 00 00 call ?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z ; ATL::ChTraitsCRT<wchar_t>::GetFormattedLength
|
||
00048 83 c4 08 add esp, 8
|
||
0004b 89 45 ec mov DWORD PTR _nLength$[ebp], eax
|
||
|
||
; 2227 :
|
||
; 2228 : if (nLength < 0)
|
||
|
||
0004e 83 7d ec 00 cmp DWORD PTR _nLength$[ebp], 0
|
||
00052 7d 0a jge SHORT $LN3@FormatV
|
||
|
||
; 2229 : AtlThrow(E_FAIL);
|
||
|
||
00054 68 05 40 00 80 push -2147467259 ; 80004005H
|
||
00059 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN3@FormatV:
|
||
|
||
; 2230 :
|
||
; 2231 : CStringT temp(pszFormat, this->GetManager());
|
||
|
||
0005e 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00061 e8 00 00 00 00 call ?GetManager@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager
|
||
00066 50 push eax
|
||
00067 8b 45 08 mov eax, DWORD PTR _pszFormat$[ebp]
|
||
0006a 50 push eax
|
||
0006b 8d 4d e8 lea ecx, DWORD PTR _temp$[ebp]
|
||
0006e e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
00073 c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
|
||
; 2232 : PXSTR pszBuffer = this->GetBuffer( nLength );
|
||
|
||
0007a 8b 45 ec mov eax, DWORD PTR _nLength$[ebp]
|
||
0007d 50 push eax
|
||
0007e 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00081 e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
|
||
00086 89 45 e4 mov DWORD PTR _pszBuffer$[ebp], eax
|
||
|
||
; 2233 : StringTraits::Format( pszBuffer, nLength+1, temp, args );
|
||
|
||
00089 8b 45 0c mov eax, DWORD PTR _args$[ebp]
|
||
0008c 50 push eax
|
||
0008d 8d 4d e8 lea ecx, DWORD PTR _temp$[ebp]
|
||
00090 e8 00 00 00 00 call ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
|
||
00095 50 push eax
|
||
00096 8b 4d ec mov ecx, DWORD PTR _nLength$[ebp]
|
||
00099 83 c1 01 add ecx, 1
|
||
0009c 51 push ecx
|
||
0009d 8b 55 e4 mov edx, DWORD PTR _pszBuffer$[ebp]
|
||
000a0 52 push edx
|
||
000a1 e8 00 00 00 00 call ?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z ; ATL::ChTraitsCRT<wchar_t>::Format
|
||
000a6 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 2234 : this->ReleaseBufferSetLength( nLength );
|
||
|
||
000a9 8b 45 ec mov eax, DWORD PTR _nLength$[ebp]
|
||
000ac 50 push eax
|
||
000ad 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
000b0 e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
|
||
|
||
; 2235 : }
|
||
|
||
000b5 c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
|
||
000bc 8d 4d e8 lea ecx, DWORD PTR _temp$[ebp]
|
||
000bf e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
$LN4@FormatV:
|
||
000c4 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
000c7 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
000ce 59 pop ecx
|
||
000cf 5f pop edi
|
||
000d0 5e pop esi
|
||
000d1 5b pop ebx
|
||
000d2 8b e5 mov esp, ebp
|
||
000d4 5d pop ebp
|
||
000d5 c2 08 00 ret 8
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z$0:
|
||
00000 8d 4d e8 lea ecx, DWORD PTR _temp$[ebp]
|
||
00003 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
00008 cc int 3
|
||
00009 cc int 3
|
||
0000a cc int 3
|
||
0000b cc int 3
|
||
0000c cc int 3
|
||
__ehhandler$?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z:
|
||
0000d 90 npad 1
|
||
0000e 90 npad 1
|
||
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00016 8b 4a a0 mov ecx, DWORD PTR [edx-96]
|
||
00019 33 c8 xor ecx, eax
|
||
0001b e8 00 00 00 00 call @__security_check_cookie@4
|
||
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z
|
||
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?Format@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAAXPB_WZZ
|
||
_TEXT SEGMENT
|
||
_argList$ = -4 ; size = 4
|
||
_this$ = 8 ; size = 4
|
||
_pszFormat$ = 12 ; size = 4
|
||
?Format@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAAXPB_WZZ PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format, COMDAT
|
||
|
||
; 2741 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 48 sub esp, 72 ; 00000048H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
|
||
; 2742 : ATLASSERT( AtlIsValidString( pszFormat ) );
|
||
; 2743 :
|
||
; 2744 : va_list argList;
|
||
; 2745 : va_start( argList, pszFormat );
|
||
|
||
00009 8d 45 10 lea eax, DWORD PTR _pszFormat$[ebp+4]
|
||
0000c 89 45 fc mov DWORD PTR _argList$[ebp], eax
|
||
|
||
; 2746 : FormatV( pszFormat, argList );
|
||
|
||
0000f 8b 45 fc mov eax, DWORD PTR _argList$[ebp]
|
||
00012 50 push eax
|
||
00013 8b 4d 0c mov ecx, DWORD PTR _pszFormat$[ebp]
|
||
00016 51 push ecx
|
||
00017 8b 4d 08 mov ecx, DWORD PTR _this$[ebp]
|
||
0001a e8 00 00 00 00 call ?FormatV@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEXPB_WPAD@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV
|
||
|
||
; 2747 : va_end( argList );
|
||
|
||
0001f c7 45 fc 00 00
|
||
00 00 mov DWORD PTR _argList$[ebp], 0
|
||
|
||
; 2748 : }
|
||
|
||
00026 5f pop edi
|
||
00027 5e pop esi
|
||
00028 5b pop ebx
|
||
00029 8b e5 mov esp, ebp
|
||
0002b 5d pop ebp
|
||
0002c c3 ret 0
|
||
?Format@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAAXPB_WZZ ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?Left@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z
|
||
_TEXT SEGMENT
|
||
tv90 = -96 ; size = 4
|
||
tv92 = -92 ; size = 4
|
||
$T2 = -88 ; size = 4
|
||
_nLength$ = -20 ; size = 4
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
___$ReturnUdt$ = 8 ; size = 4
|
||
_nCount$ = 12 ; size = 4
|
||
?Left@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Left, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 2151 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?Left@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 54 sub esp, 84 ; 00000054H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
|
||
0002b c7 45 a8 00 00
|
||
00 00 mov DWORD PTR $T2[ebp], 0
|
||
|
||
; 2152 : // nCount is in XCHARs
|
||
; 2153 : if (nCount < 0)
|
||
|
||
00032 83 7d 0c 00 cmp DWORD PTR _nCount$[ebp], 0
|
||
00036 7d 07 jge SHORT $LN2@Left
|
||
|
||
; 2154 : nCount = 0;
|
||
|
||
00038 c7 45 0c 00 00
|
||
00 00 mov DWORD PTR _nCount$[ebp], 0
|
||
$LN2@Left:
|
||
|
||
; 2155 :
|
||
; 2156 : int nLength = this->GetLength();
|
||
|
||
0003f 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00042 e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
|
||
00047 89 45 ec mov DWORD PTR _nLength$[ebp], eax
|
||
|
||
; 2157 : if( nCount >= nLength )
|
||
|
||
0004a 8b 45 0c mov eax, DWORD PTR _nCount$[ebp]
|
||
0004d 3b 45 ec cmp eax, DWORD PTR _nLength$[ebp]
|
||
00050 7c 21 jl SHORT $LN3@Left
|
||
|
||
; 2158 : {
|
||
; 2159 : return( *this );
|
||
|
||
00052 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
00055 50 push eax
|
||
00056 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
|
||
00059 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
0005e c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
00065 8b 4d a8 mov ecx, DWORD PTR $T2[ebp]
|
||
00068 83 c9 01 or ecx, 1
|
||
0006b 89 4d a8 mov DWORD PTR $T2[ebp], ecx
|
||
0006e 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp]
|
||
00071 eb 3d jmp SHORT $LN1@Left
|
||
$LN3@Left:
|
||
|
||
; 2160 : }
|
||
; 2161 :
|
||
; 2162 : return( CStringT( this->GetString(), nCount, GetManager() ) );
|
||
|
||
00073 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00076 e8 00 00 00 00 call ?GetManager@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager
|
||
0007b 89 45 a4 mov DWORD PTR tv92[ebp], eax
|
||
0007e 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00081 e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
|
||
00086 89 45 a0 mov DWORD PTR tv90[ebp], eax
|
||
00089 8b 45 a4 mov eax, DWORD PTR tv92[ebp]
|
||
0008c 50 push eax
|
||
0008d 8b 4d 0c mov ecx, DWORD PTR _nCount$[ebp]
|
||
00090 51 push ecx
|
||
00091 8b 55 a0 mov edx, DWORD PTR tv90[ebp]
|
||
00094 52 push edx
|
||
00095 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
|
||
00098 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
0009d c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
000a4 8b 45 a8 mov eax, DWORD PTR $T2[ebp]
|
||
000a7 83 c8 01 or eax, 1
|
||
000aa 89 45 a8 mov DWORD PTR $T2[ebp], eax
|
||
000ad 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp]
|
||
$LN1@Left:
|
||
|
||
; 2163 : }
|
||
|
||
000b0 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
000b3 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
000ba 59 pop ecx
|
||
000bb 5f pop edi
|
||
000bc 5e pop esi
|
||
000bd 5b pop ebx
|
||
000be 8b e5 mov esp, ebp
|
||
000c0 5d pop ebp
|
||
000c1 c2 08 00 ret 8
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$?Left@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z$0:
|
||
00000 8b 45 a8 mov eax, DWORD PTR $T2[ebp]
|
||
00003 83 e0 01 and eax, 1
|
||
00006 0f 84 0c 00 00
|
||
00 je $LN6@Left
|
||
0000c 83 65 a8 fe and DWORD PTR $T2[ebp], -2 ; fffffffeH
|
||
00010 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
|
||
00013 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
$LN6@Left:
|
||
00018 c3 ret 0
|
||
00019 cc int 3
|
||
0001a cc int 3
|
||
0001b cc int 3
|
||
0001c cc int 3
|
||
0001d cc int 3
|
||
__ehhandler$?Left@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z:
|
||
0001e 90 npad 1
|
||
0001f 90 npad 1
|
||
00020 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00024 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00027 8b 4a 9c mov ecx, DWORD PTR [edx-100]
|
||
0002a 33 c8 xor ecx, eax
|
||
0002c e8 00 00 00 00 call @__security_check_cookie@4
|
||
00031 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?Left@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z
|
||
00036 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?Left@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Left
|
||
; 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 ?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z
|
||
_TEXT SEGMENT
|
||
tv151 = -92 ; size = 4
|
||
tv153 = -88 ; size = 4
|
||
$T2 = -84 ; size = 4
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
___$ReturnUdt$ = 8 ; size = 4
|
||
_iFirst$ = 12 ; size = 4
|
||
_nCount$ = 16 ; size = 4
|
||
?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 2104 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 50 sub esp, 80 ; 00000050H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
|
||
0002b c7 45 ac 00 00
|
||
00 00 mov DWORD PTR $T2[ebp], 0
|
||
|
||
; 2105 : // nCount is in XCHARs
|
||
; 2106 :
|
||
; 2107 : // out-of-bounds requests return sensible things
|
||
; 2108 : if (iFirst < 0)
|
||
|
||
00032 83 7d 0c 00 cmp DWORD PTR _iFirst$[ebp], 0
|
||
00036 7d 07 jge SHORT $LN2@Mid
|
||
|
||
; 2109 : iFirst = 0;
|
||
|
||
00038 c7 45 0c 00 00
|
||
00 00 mov DWORD PTR _iFirst$[ebp], 0
|
||
$LN2@Mid:
|
||
|
||
; 2110 : if (nCount < 0)
|
||
|
||
0003f 83 7d 10 00 cmp DWORD PTR _nCount$[ebp], 0
|
||
00043 7d 07 jge SHORT $LN3@Mid
|
||
|
||
; 2111 : nCount = 0;
|
||
|
||
00045 c7 45 10 00 00
|
||
00 00 mov DWORD PTR _nCount$[ebp], 0
|
||
$LN3@Mid:
|
||
|
||
; 2112 :
|
||
; 2113 : if( (::ATL::AtlAddThrow(iFirst,nCount)) > this->GetLength() )
|
||
|
||
0004c 8b 45 10 mov eax, DWORD PTR _nCount$[ebp]
|
||
0004f 50 push eax
|
||
00050 8b 4d 0c mov ecx, DWORD PTR _iFirst$[ebp]
|
||
00053 51 push ecx
|
||
00054 e8 00 00 00 00 call ??$AtlAddThrow@H@ATL@@YAHHH@Z ; ATL::AtlAddThrow<int>
|
||
00059 83 c4 08 add esp, 8
|
||
0005c 8b f0 mov esi, eax
|
||
0005e 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00061 e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
|
||
00066 3b f0 cmp esi, eax
|
||
00068 7e 0e jle SHORT $LN4@Mid
|
||
|
||
; 2114 : {
|
||
; 2115 : nCount = this->GetLength()-iFirst;
|
||
|
||
0006a 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
0006d e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
|
||
00072 2b 45 0c sub eax, DWORD PTR _iFirst$[ebp]
|
||
00075 89 45 10 mov DWORD PTR _nCount$[ebp], eax
|
||
$LN4@Mid:
|
||
|
||
; 2116 : }
|
||
; 2117 : if( iFirst > this->GetLength() )
|
||
|
||
00078 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
0007b e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
|
||
00080 39 45 0c cmp DWORD PTR _iFirst$[ebp], eax
|
||
00083 7e 07 jle SHORT $LN5@Mid
|
||
|
||
; 2118 : {
|
||
; 2119 : nCount = 0;
|
||
|
||
00085 c7 45 10 00 00
|
||
00 00 mov DWORD PTR _nCount$[ebp], 0
|
||
$LN5@Mid:
|
||
|
||
; 2120 : }
|
||
; 2121 :
|
||
; 2122 : ATLASSERT( (nCount == 0) || ((iFirst+nCount) <= this->GetLength()) );
|
||
; 2123 :
|
||
; 2124 : // optimize case of returning entire string
|
||
; 2125 : if( (iFirst == 0) && ((iFirst+nCount) == this->GetLength()) )
|
||
|
||
0008c 83 7d 0c 00 cmp DWORD PTR _iFirst$[ebp], 0
|
||
00090 75 33 jne SHORT $LN6@Mid
|
||
00092 8b 75 0c mov esi, DWORD PTR _iFirst$[ebp]
|
||
00095 03 75 10 add esi, DWORD PTR _nCount$[ebp]
|
||
00098 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
0009b e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
|
||
000a0 3b f0 cmp esi, eax
|
||
000a2 75 21 jne SHORT $LN6@Mid
|
||
|
||
; 2126 : {
|
||
; 2127 : return( *this );
|
||
|
||
000a4 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
000a7 50 push eax
|
||
000a8 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
|
||
000ab e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
000b0 c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
000b7 8b 4d ac mov ecx, DWORD PTR $T2[ebp]
|
||
000ba 83 c9 01 or ecx, 1
|
||
000bd 89 4d ac mov DWORD PTR $T2[ebp], ecx
|
||
000c0 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp]
|
||
000c3 eb 43 jmp SHORT $LN1@Mid
|
||
$LN6@Mid:
|
||
|
||
; 2128 : }
|
||
; 2129 :
|
||
; 2130 : return( CStringT( this->GetString()+iFirst, nCount, GetManager() ) );
|
||
|
||
000c5 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
000c8 e8 00 00 00 00 call ?GetManager@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager
|
||
000cd 89 45 a8 mov DWORD PTR tv153[ebp], eax
|
||
000d0 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
000d3 e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
|
||
000d8 8b 4d 0c mov ecx, DWORD PTR _iFirst$[ebp]
|
||
000db 8d 14 48 lea edx, DWORD PTR [eax+ecx*2]
|
||
000de 89 55 a4 mov DWORD PTR tv151[ebp], edx
|
||
000e1 8b 45 a8 mov eax, DWORD PTR tv153[ebp]
|
||
000e4 50 push eax
|
||
000e5 8b 4d 10 mov ecx, DWORD PTR _nCount$[ebp]
|
||
000e8 51 push ecx
|
||
000e9 8b 55 a4 mov edx, DWORD PTR tv151[ebp]
|
||
000ec 52 push edx
|
||
000ed 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
|
||
000f0 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
000f5 c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
000fc 8b 45 ac mov eax, DWORD PTR $T2[ebp]
|
||
000ff 83 c8 01 or eax, 1
|
||
00102 89 45 ac mov DWORD PTR $T2[ebp], eax
|
||
00105 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp]
|
||
$LN1@Mid:
|
||
|
||
; 2131 : }
|
||
|
||
00108 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0010b 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00112 59 pop ecx
|
||
00113 5f pop edi
|
||
00114 5e pop esi
|
||
00115 5b pop ebx
|
||
00116 8b e5 mov esp, ebp
|
||
00118 5d pop ebp
|
||
00119 c2 0c 00 ret 12 ; 0000000cH
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z$0:
|
||
00000 8b 45 ac mov eax, DWORD PTR $T2[ebp]
|
||
00003 83 e0 01 and eax, 1
|
||
00006 0f 84 0c 00 00
|
||
00 je $LN9@Mid
|
||
0000c 83 65 ac fe and DWORD PTR $T2[ebp], -2 ; fffffffeH
|
||
00010 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
|
||
00013 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
$LN9@Mid:
|
||
00018 c3 ret 0
|
||
00019 cc int 3
|
||
0001a cc int 3
|
||
0001b cc int 3
|
||
0001c cc int 3
|
||
0001d cc int 3
|
||
__ehhandler$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z:
|
||
0001e 90 npad 1
|
||
0001f 90 npad 1
|
||
00020 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00024 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00027 8b 4a a0 mov ecx, DWORD PTR [edx-96]
|
||
0002a 33 c8 xor ecx, eax
|
||
0002c e8 00 00 00 00 call @__security_check_cookie@4
|
||
00031 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z
|
||
00036 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid
|
||
; 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 ?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z
|
||
_TEXT SEGMENT
|
||
$T2 = -84 ; size = 4
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
___$ReturnUdt$ = 8 ; size = 4
|
||
_iFirst$ = 12 ; size = 4
|
||
?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 2096 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@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 c7 45 ac 00 00
|
||
00 00 mov DWORD PTR $T2[ebp], 0
|
||
|
||
; 2097 : return( Mid( iFirst, this->GetLength()-iFirst ) );
|
||
|
||
00032 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00035 e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
|
||
0003a 2b 45 0c sub eax, DWORD PTR _iFirst$[ebp]
|
||
0003d 50 push eax
|
||
0003e 8b 45 0c mov eax, DWORD PTR _iFirst$[ebp]
|
||
00041 50 push eax
|
||
00042 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
|
||
00045 51 push ecx
|
||
00046 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00049 e8 00 00 00 00 call ?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@HH@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid
|
||
0004e c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
00055 8b 55 ac mov edx, DWORD PTR $T2[ebp]
|
||
00058 83 ca 01 or edx, 1
|
||
0005b 89 55 ac mov DWORD PTR $T2[ebp], edx
|
||
0005e 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp]
|
||
|
||
; 2098 : }
|
||
|
||
00061 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00064 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
0006b 59 pop ecx
|
||
0006c 5f pop edi
|
||
0006d 5e pop esi
|
||
0006e 5b pop ebx
|
||
0006f 8b e5 mov esp, ebp
|
||
00071 5d pop ebp
|
||
00072 c2 08 00 ret 8
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z$0:
|
||
00000 8b 45 ac mov eax, DWORD PTR $T2[ebp]
|
||
00003 83 e0 01 and eax, 1
|
||
00006 0f 84 0c 00 00
|
||
00 je $LN4@Mid
|
||
0000c 83 65 ac fe and DWORD PTR $T2[ebp], -2 ; fffffffeH
|
||
00010 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp]
|
||
00013 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
$LN4@Mid:
|
||
00018 c3 ret 0
|
||
00019 cc int 3
|
||
0001a cc int 3
|
||
0001b cc int 3
|
||
0001c cc int 3
|
||
0001d cc int 3
|
||
__ehhandler$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z:
|
||
0001e 90 npad 1
|
||
0001f 90 npad 1
|
||
00020 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00024 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00027 8b 4a a8 mov ecx, DWORD PTR [edx-88]
|
||
0002a 33 c8 xor ecx, eax
|
||
0002c e8 00 00 00 00 call @__security_check_cookie@4
|
||
00031 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z
|
||
00036 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?Mid@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBE?AV12@H@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid
|
||
; 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 ?ReverseFind@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEH_W@Z
|
||
_TEXT SEGMENT
|
||
tv82 = -76 ; size = 4
|
||
_psz$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_ch$ = 8 ; size = 2
|
||
?ReverseFind@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEH_W@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::ReverseFind, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 1813 : {
|
||
|
||
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
|
||
|
||
; 1814 : // find last single character
|
||
; 1815 : PCXSTR psz = StringTraits::StringFindCharRev( this->GetString(), ch );
|
||
|
||
0000c 0f b7 45 08 movzx eax, WORD PTR _ch$[ebp]
|
||
00010 50 push eax
|
||
00011 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00014 e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
|
||
00019 50 push eax
|
||
0001a e8 00 00 00 00 call ?StringFindCharRev@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z ; ATL::ChTraitsCRT<wchar_t>::StringFindCharRev
|
||
0001f 83 c4 08 add esp, 8
|
||
00022 89 45 f8 mov DWORD PTR _psz$[ebp], eax
|
||
|
||
; 1816 :
|
||
; 1817 : // return -1 if not found, distance from beginning otherwise
|
||
; 1818 : return( (psz == NULL) ? -1 : int( psz - this->GetString() ) );
|
||
|
||
00025 83 7d f8 00 cmp DWORD PTR _psz$[ebp], 0
|
||
00029 75 09 jne SHORT $LN3@ReverseFin
|
||
0002b c7 45 b4 ff ff
|
||
ff ff mov DWORD PTR tv82[ebp], -1
|
||
00032 eb 12 jmp SHORT $LN4@ReverseFin
|
||
$LN3@ReverseFin:
|
||
00034 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00037 e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
|
||
0003c 8b 4d f8 mov ecx, DWORD PTR _psz$[ebp]
|
||
0003f 2b c8 sub ecx, eax
|
||
00041 d1 f9 sar ecx, 1
|
||
00043 89 4d b4 mov DWORD PTR tv82[ebp], ecx
|
||
$LN4@ReverseFin:
|
||
00046 8b 45 b4 mov eax, DWORD PTR tv82[ebp]
|
||
|
||
; 1819 : }
|
||
|
||
00049 5f pop edi
|
||
0004a 5e pop esi
|
||
0004b 5b pop ebx
|
||
0004c 8b e5 mov esp, ebp
|
||
0004e 5d pop ebp
|
||
0004f c2 04 00 ret 4
|
||
?ReverseFind@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEH_W@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::ReverseFind
|
||
_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 ?Replace@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPB_W0@Z
|
||
_TEXT SEGMENT
|
||
tv145 = -124 ; size = 4
|
||
_nBalance$1 = -56 ; size = 4
|
||
_pszTarget$2 = -52 ; size = 4
|
||
_pszEnd$3 = -48 ; size = 4
|
||
_pszStart$4 = -44 ; size = 4
|
||
_pszBuffer$5 = -40 ; size = 4
|
||
_nNewLength$6 = -36 ; size = 4
|
||
_nOldLength$7 = -32 ; size = 4
|
||
_pszTarget$8 = -28 ; size = 4
|
||
_pszEnd$9 = -24 ; size = 4
|
||
_pszStart$10 = -20 ; size = 4
|
||
_nCount$ = -16 ; size = 4
|
||
_nReplacementLen$ = -12 ; size = 4
|
||
_nSourceLen$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_pszOld$ = 8 ; size = 4
|
||
_pszNew$ = 12 ; size = 4
|
||
?Replace@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPB_W0@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 1605 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 7c sub esp, 124 ; 0000007cH
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 1606 : // can't have empty or NULL lpszOld
|
||
; 1607 :
|
||
; 1608 : // nSourceLen is in XCHARs
|
||
; 1609 : int nSourceLen = StringTraits::SafeStringLen( pszOld );
|
||
|
||
0000c 8b 45 08 mov eax, DWORD PTR _pszOld$[ebp]
|
||
0000f 50 push eax
|
||
00010 e8 00 00 00 00 call ?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::SafeStringLen
|
||
00015 83 c4 04 add esp, 4
|
||
00018 89 45 f8 mov DWORD PTR _nSourceLen$[ebp], eax
|
||
|
||
; 1610 : if( nSourceLen == 0 )
|
||
|
||
0001b 83 7d f8 00 cmp DWORD PTR _nSourceLen$[ebp], 0
|
||
0001f 75 07 jne SHORT $LN10@Replace
|
||
|
||
; 1611 : return( 0 );
|
||
|
||
00021 33 c0 xor eax, eax
|
||
00023 e9 b4 01 00 00 jmp $LN1@Replace
|
||
$LN10@Replace:
|
||
|
||
; 1612 : // nReplacementLen is in XCHARs
|
||
; 1613 : int nReplacementLen = StringTraits::SafeStringLen( pszNew );
|
||
|
||
00028 8b 45 0c mov eax, DWORD PTR _pszNew$[ebp]
|
||
0002b 50 push eax
|
||
0002c e8 00 00 00 00 call ?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::SafeStringLen
|
||
00031 83 c4 04 add esp, 4
|
||
00034 89 45 f4 mov DWORD PTR _nReplacementLen$[ebp], eax
|
||
|
||
; 1614 :
|
||
; 1615 : // loop once to figure out the size of the result string
|
||
; 1616 : int nCount = 0;
|
||
|
||
00037 c7 45 f0 00 00
|
||
00 00 mov DWORD PTR _nCount$[ebp], 0
|
||
|
||
; 1617 : {
|
||
; 1618 : PCXSTR pszStart = this->GetString();
|
||
|
||
0003e 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00041 e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
|
||
00046 89 45 ec mov DWORD PTR _pszStart$10[ebp], eax
|
||
|
||
; 1619 : PCXSTR pszEnd = pszStart + this->GetLength();
|
||
|
||
00049 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0004c e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
|
||
00051 8b 4d ec mov ecx, DWORD PTR _pszStart$10[ebp]
|
||
00054 8d 14 41 lea edx, DWORD PTR [ecx+eax*2]
|
||
00057 89 55 e8 mov DWORD PTR _pszEnd$9[ebp], edx
|
||
$LN2@Replace:
|
||
|
||
; 1620 : while( pszStart < pszEnd )
|
||
|
||
0005a 8b 45 ec mov eax, DWORD PTR _pszStart$10[ebp]
|
||
0005d 3b 45 e8 cmp eax, DWORD PTR _pszEnd$9[ebp]
|
||
00060 73 48 jae SHORT $LN3@Replace
|
||
$LN4@Replace:
|
||
|
||
; 1621 : {
|
||
; 1622 : PCXSTR pszTarget;
|
||
; 1623 : while( (pszTarget = StringTraits::StringFindString( pszStart, pszOld ) ) != NULL)
|
||
|
||
00062 8b 45 08 mov eax, DWORD PTR _pszOld$[ebp]
|
||
00065 50 push eax
|
||
00066 8b 4d ec mov ecx, DWORD PTR _pszStart$10[ebp]
|
||
00069 51 push ecx
|
||
0006a e8 00 00 00 00 call ?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z ; ATL::ChTraitsCRT<wchar_t>::StringFindString
|
||
0006f 83 c4 08 add esp, 8
|
||
00072 89 45 e4 mov DWORD PTR _pszTarget$8[ebp], eax
|
||
00075 83 7d e4 00 cmp DWORD PTR _pszTarget$8[ebp], 0
|
||
00079 74 17 je SHORT $LN5@Replace
|
||
|
||
; 1624 : {
|
||
; 1625 : nCount++;
|
||
|
||
0007b 8b 45 f0 mov eax, DWORD PTR _nCount$[ebp]
|
||
0007e 83 c0 01 add eax, 1
|
||
00081 89 45 f0 mov DWORD PTR _nCount$[ebp], eax
|
||
|
||
; 1626 : pszStart = pszTarget+nSourceLen;
|
||
|
||
00084 8b 45 f8 mov eax, DWORD PTR _nSourceLen$[ebp]
|
||
00087 8b 4d e4 mov ecx, DWORD PTR _pszTarget$8[ebp]
|
||
0008a 8d 14 41 lea edx, DWORD PTR [ecx+eax*2]
|
||
0008d 89 55 ec mov DWORD PTR _pszStart$10[ebp], edx
|
||
|
||
; 1627 : }
|
||
|
||
00090 eb d0 jmp SHORT $LN4@Replace
|
||
$LN5@Replace:
|
||
|
||
; 1628 : pszStart += StringTraits::SafeStringLen( pszStart )+1;
|
||
|
||
00092 8b 45 ec mov eax, DWORD PTR _pszStart$10[ebp]
|
||
00095 50 push eax
|
||
00096 e8 00 00 00 00 call ?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::SafeStringLen
|
||
0009b 83 c4 04 add esp, 4
|
||
0009e 8b 4d ec mov ecx, DWORD PTR _pszStart$10[ebp]
|
||
000a1 8d 54 41 02 lea edx, DWORD PTR [ecx+eax*2+2]
|
||
000a5 89 55 ec mov DWORD PTR _pszStart$10[ebp], edx
|
||
|
||
; 1629 : }
|
||
|
||
000a8 eb b0 jmp SHORT $LN2@Replace
|
||
$LN3@Replace:
|
||
|
||
; 1630 : }
|
||
; 1631 :
|
||
; 1632 : // if any changes were made, make them
|
||
; 1633 : if( nCount > 0 )
|
||
|
||
000aa 83 7d f0 00 cmp DWORD PTR _nCount$[ebp], 0
|
||
000ae 0f 8e 25 01 00
|
||
00 jle $LN11@Replace
|
||
|
||
; 1634 : {
|
||
; 1635 : // if the buffer is too small, just
|
||
; 1636 : // allocate a new buffer (slow but sure)
|
||
; 1637 : int nOldLength = this->GetLength();
|
||
|
||
000b4 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
000b7 e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
|
||
000bc 89 45 e0 mov DWORD PTR _nOldLength$7[ebp], eax
|
||
|
||
; 1638 : int nNewLength = nOldLength+(nReplacementLen-nSourceLen)*nCount;
|
||
|
||
000bf 8b 45 f4 mov eax, DWORD PTR _nReplacementLen$[ebp]
|
||
000c2 2b 45 f8 sub eax, DWORD PTR _nSourceLen$[ebp]
|
||
000c5 0f af 45 f0 imul eax, DWORD PTR _nCount$[ebp]
|
||
000c9 03 45 e0 add eax, DWORD PTR _nOldLength$7[ebp]
|
||
000cc 89 45 dc mov DWORD PTR _nNewLength$6[ebp], eax
|
||
|
||
; 1639 :
|
||
; 1640 : PXSTR pszBuffer = this->GetBuffer( __max( nNewLength, nOldLength ) );
|
||
|
||
000cf 8b 45 dc mov eax, DWORD PTR _nNewLength$6[ebp]
|
||
000d2 3b 45 e0 cmp eax, DWORD PTR _nOldLength$7[ebp]
|
||
000d5 7e 08 jle SHORT $LN13@Replace
|
||
000d7 8b 4d dc mov ecx, DWORD PTR _nNewLength$6[ebp]
|
||
000da 89 4d 84 mov DWORD PTR tv145[ebp], ecx
|
||
000dd eb 06 jmp SHORT $LN14@Replace
|
||
$LN13@Replace:
|
||
000df 8b 55 e0 mov edx, DWORD PTR _nOldLength$7[ebp]
|
||
000e2 89 55 84 mov DWORD PTR tv145[ebp], edx
|
||
$LN14@Replace:
|
||
000e5 8b 45 84 mov eax, DWORD PTR tv145[ebp]
|
||
000e8 50 push eax
|
||
000e9 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
000ec e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
|
||
000f1 89 45 d8 mov DWORD PTR _pszBuffer$5[ebp], eax
|
||
|
||
; 1641 :
|
||
; 1642 : PXSTR pszStart = pszBuffer;
|
||
|
||
000f4 8b 45 d8 mov eax, DWORD PTR _pszBuffer$5[ebp]
|
||
000f7 89 45 d4 mov DWORD PTR _pszStart$4[ebp], eax
|
||
|
||
; 1643 : PXSTR pszEnd = pszStart+nOldLength;
|
||
|
||
000fa 8b 45 e0 mov eax, DWORD PTR _nOldLength$7[ebp]
|
||
000fd 8b 4d d4 mov ecx, DWORD PTR _pszStart$4[ebp]
|
||
00100 8d 14 41 lea edx, DWORD PTR [ecx+eax*2]
|
||
00103 89 55 d0 mov DWORD PTR _pszEnd$3[ebp], edx
|
||
$LN6@Replace:
|
||
|
||
; 1644 :
|
||
; 1645 : // loop again to actually do the work
|
||
; 1646 : while( pszStart < pszEnd )
|
||
|
||
00106 8b 45 d4 mov eax, DWORD PTR _pszStart$4[ebp]
|
||
00109 3b 45 d0 cmp eax, DWORD PTR _pszEnd$3[ebp]
|
||
0010c 0f 83 bb 00 00
|
||
00 jae $LN7@Replace
|
||
$LN8@Replace:
|
||
|
||
; 1647 : {
|
||
; 1648 : PXSTR pszTarget;
|
||
; 1649 : while( (pszTarget = StringTraits::StringFindString( pszStart, pszOld ) ) != NULL )
|
||
|
||
00112 8b 45 08 mov eax, DWORD PTR _pszOld$[ebp]
|
||
00115 50 push eax
|
||
00116 8b 4d d4 mov ecx, DWORD PTR _pszStart$4[ebp]
|
||
00119 51 push ecx
|
||
0011a e8 00 00 00 00 call ?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPA_WPA_WPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::StringFindString
|
||
0011f 83 c4 08 add esp, 8
|
||
00122 89 45 cc mov DWORD PTR _pszTarget$2[ebp], eax
|
||
00125 83 7d cc 00 cmp DWORD PTR _pszTarget$2[ebp], 0
|
||
00129 0f 84 83 00 00
|
||
00 je $LN9@Replace
|
||
|
||
; 1650 : {
|
||
; 1651 : int nBalance = nOldLength-int(pszTarget-pszBuffer+nSourceLen);
|
||
|
||
0012f 8b 45 cc mov eax, DWORD PTR _pszTarget$2[ebp]
|
||
00132 2b 45 d8 sub eax, DWORD PTR _pszBuffer$5[ebp]
|
||
00135 d1 f8 sar eax, 1
|
||
00137 03 45 f8 add eax, DWORD PTR _nSourceLen$[ebp]
|
||
0013a 8b 4d e0 mov ecx, DWORD PTR _nOldLength$7[ebp]
|
||
0013d 2b c8 sub ecx, eax
|
||
0013f 89 4d c8 mov DWORD PTR _nBalance$1[ebp], ecx
|
||
|
||
; 1652 : Checked::memmove_s( pszTarget+nReplacementLen, nBalance*sizeof( XCHAR ),
|
||
|
||
00142 8b 45 c8 mov eax, DWORD PTR _nBalance$1[ebp]
|
||
00145 d1 e0 shl eax, 1
|
||
00147 50 push eax
|
||
00148 8b 4d f8 mov ecx, DWORD PTR _nSourceLen$[ebp]
|
||
0014b 8b 55 cc mov edx, DWORD PTR _pszTarget$2[ebp]
|
||
0014e 8d 04 4a lea eax, DWORD PTR [edx+ecx*2]
|
||
00151 50 push eax
|
||
00152 8b 4d c8 mov ecx, DWORD PTR _nBalance$1[ebp]
|
||
00155 d1 e1 shl ecx, 1
|
||
00157 51 push ecx
|
||
00158 8b 55 f4 mov edx, DWORD PTR _nReplacementLen$[ebp]
|
||
0015b 8b 45 cc mov eax, DWORD PTR _pszTarget$2[ebp]
|
||
0015e 8d 0c 50 lea ecx, DWORD PTR [eax+edx*2]
|
||
00161 51 push ecx
|
||
00162 e8 00 00 00 00 call ?memmove_s@Checked@ATL@@YAXPAXIPBXI@Z ; ATL::Checked::memmove_s
|
||
00167 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 1653 : pszTarget+nSourceLen, nBalance*sizeof( XCHAR ) );
|
||
; 1654 : Checked::memcpy_s( pszTarget, nReplacementLen*sizeof( XCHAR ),
|
||
|
||
0016a 8b 45 f4 mov eax, DWORD PTR _nReplacementLen$[ebp]
|
||
0016d d1 e0 shl eax, 1
|
||
0016f 50 push eax
|
||
00170 8b 4d 0c mov ecx, DWORD PTR _pszNew$[ebp]
|
||
00173 51 push ecx
|
||
00174 8b 55 f4 mov edx, DWORD PTR _nReplacementLen$[ebp]
|
||
00177 d1 e2 shl edx, 1
|
||
00179 52 push edx
|
||
0017a 8b 45 cc mov eax, DWORD PTR _pszTarget$2[ebp]
|
||
0017d 50 push eax
|
||
0017e e8 00 00 00 00 call ?memcpy_s@Checked@ATL@@YAXPAXIPBXI@Z ; ATL::Checked::memcpy_s
|
||
00183 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 1655 : pszNew, nReplacementLen*sizeof( XCHAR ) );
|
||
; 1656 : pszStart = pszTarget+nReplacementLen;
|
||
|
||
00186 8b 45 f4 mov eax, DWORD PTR _nReplacementLen$[ebp]
|
||
00189 8b 4d cc mov ecx, DWORD PTR _pszTarget$2[ebp]
|
||
0018c 8d 14 41 lea edx, DWORD PTR [ecx+eax*2]
|
||
0018f 89 55 d4 mov DWORD PTR _pszStart$4[ebp], edx
|
||
|
||
; 1657 : pszTarget[nReplacementLen+nBalance] = 0;
|
||
|
||
00192 8b 45 f4 mov eax, DWORD PTR _nReplacementLen$[ebp]
|
||
00195 03 45 c8 add eax, DWORD PTR _nBalance$1[ebp]
|
||
00198 33 c9 xor ecx, ecx
|
||
0019a 8b 55 cc mov edx, DWORD PTR _pszTarget$2[ebp]
|
||
0019d 66 89 0c 42 mov WORD PTR [edx+eax*2], cx
|
||
|
||
; 1658 : nOldLength += (nReplacementLen-nSourceLen);
|
||
|
||
001a1 8b 45 f4 mov eax, DWORD PTR _nReplacementLen$[ebp]
|
||
001a4 2b 45 f8 sub eax, DWORD PTR _nSourceLen$[ebp]
|
||
001a7 03 45 e0 add eax, DWORD PTR _nOldLength$7[ebp]
|
||
001aa 89 45 e0 mov DWORD PTR _nOldLength$7[ebp], eax
|
||
|
||
; 1659 : }
|
||
|
||
001ad e9 60 ff ff ff jmp $LN8@Replace
|
||
$LN9@Replace:
|
||
|
||
; 1660 : pszStart += StringTraits::SafeStringLen( pszStart )+1;
|
||
|
||
001b2 8b 45 d4 mov eax, DWORD PTR _pszStart$4[ebp]
|
||
001b5 50 push eax
|
||
001b6 e8 00 00 00 00 call ?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::SafeStringLen
|
||
001bb 83 c4 04 add esp, 4
|
||
001be 8b 4d d4 mov ecx, DWORD PTR _pszStart$4[ebp]
|
||
001c1 8d 54 41 02 lea edx, DWORD PTR [ecx+eax*2+2]
|
||
001c5 89 55 d4 mov DWORD PTR _pszStart$4[ebp], edx
|
||
|
||
; 1661 : }
|
||
|
||
001c8 e9 39 ff ff ff jmp $LN6@Replace
|
||
$LN7@Replace:
|
||
|
||
; 1662 : ATLASSERT( pszBuffer[nNewLength] == 0 );
|
||
; 1663 : this->ReleaseBufferSetLength( nNewLength );
|
||
|
||
001cd 8b 45 dc mov eax, DWORD PTR _nNewLength$6[ebp]
|
||
001d0 50 push eax
|
||
001d1 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
001d4 e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
|
||
$LN11@Replace:
|
||
|
||
; 1664 : }
|
||
; 1665 :
|
||
; 1666 : return( nCount );
|
||
|
||
001d9 8b 45 f0 mov eax, DWORD PTR _nCount$[ebp]
|
||
$LN1@Replace:
|
||
|
||
; 1667 : }
|
||
|
||
001dc 5f pop edi
|
||
001dd 5e pop esi
|
||
001de 5b pop ebx
|
||
001df 8b e5 mov esp, ebp
|
||
001e1 5d pop ebp
|
||
001e2 c2 08 00 ret 8
|
||
?Replace@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPB_W0@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?GetManager@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ
|
||
_TEXT SEGMENT
|
||
_pStringMgr$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
?GetManager@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 1436 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 48 sub esp, 72 ; 00000048H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 1437 : IAtlStringMgr* pStringMgr = CThisSimpleString::GetManager();
|
||
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetManager@?$CSimpleStringT@_W$0A@@ATL@@QBEPAUIAtlStringMgr@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetManager
|
||
00014 89 45 f8 mov DWORD PTR _pStringMgr$[ebp], eax
|
||
|
||
; 1438 : if(pStringMgr) { return pStringMgr; }
|
||
|
||
00017 83 7d f8 00 cmp DWORD PTR _pStringMgr$[ebp], 0
|
||
0001b 74 05 je SHORT $LN2@GetManager
|
||
0001d 8b 45 f8 mov eax, DWORD PTR _pStringMgr$[ebp]
|
||
00020 eb 15 jmp SHORT $LN1@GetManager
|
||
$LN2@GetManager:
|
||
|
||
; 1439 :
|
||
; 1440 : pStringMgr = StringTraits::GetDefaultManager();
|
||
|
||
00022 e8 00 00 00 00 call ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager
|
||
00027 89 45 f8 mov DWORD PTR _pStringMgr$[ebp], eax
|
||
|
||
; 1441 : return pStringMgr->Clone();
|
||
|
||
0002a 8b 45 f8 mov eax, DWORD PTR _pStringMgr$[ebp]
|
||
0002d 8b 10 mov edx, DWORD PTR [eax]
|
||
0002f 8b 4d f8 mov ecx, DWORD PTR _pStringMgr$[ebp]
|
||
00032 8b 42 10 mov eax, DWORD PTR [edx+16]
|
||
00035 ff d0 call eax
|
||
$LN1@GetManager:
|
||
|
||
; 1442 : }
|
||
|
||
00037 5f pop edi
|
||
00038 5e pop esi
|
||
00039 5b pop ebx
|
||
0003a 8b e5 mov esp, ebp
|
||
0003c 5d pop ebp
|
||
0003d c3 ret 0
|
||
?GetManager@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QBEPAUIAtlStringMgr@2@XZ ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PBD@Z
|
||
_TEXT SEGMENT
|
||
tv67 = -80 ; size = 4
|
||
_pszBuffer$1 = -12 ; size = 4
|
||
_nDestLength$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_pszSrc$ = 8 ; size = 4
|
||
??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PBD@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 1326 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 50 sub esp, 80 ; 00000050H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 1327 : // nDestLength is in XCHARs
|
||
; 1328 : int nDestLength = (pszSrc != NULL) ? StringTraits::GetBaseTypeLength( pszSrc ) : 0;
|
||
|
||
0000c 83 7d 08 00 cmp DWORD PTR _pszSrc$[ebp], 0
|
||
00010 74 11 je SHORT $LN5@operator
|
||
00012 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
00015 50 push eax
|
||
00016 e8 00 00 00 00 call ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPBD@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
|
||
0001b 83 c4 04 add esp, 4
|
||
0001e 89 45 b0 mov DWORD PTR tv67[ebp], eax
|
||
00021 eb 07 jmp SHORT $LN6@operator
|
||
$LN5@operator:
|
||
00023 c7 45 b0 00 00
|
||
00 00 mov DWORD PTR tv67[ebp], 0
|
||
$LN6@operator:
|
||
0002a 8b 4d b0 mov ecx, DWORD PTR tv67[ebp]
|
||
0002d 89 4d f8 mov DWORD PTR _nDestLength$[ebp], ecx
|
||
|
||
; 1329 : if( nDestLength > 0 )
|
||
|
||
00030 83 7d f8 00 cmp DWORD PTR _nDestLength$[ebp], 0
|
||
00034 7e 33 jle SHORT $LN2@operator
|
||
|
||
; 1330 : {
|
||
; 1331 : PXSTR pszBuffer = this->GetBuffer( nDestLength );
|
||
|
||
00036 8b 45 f8 mov eax, DWORD PTR _nDestLength$[ebp]
|
||
00039 50 push eax
|
||
0003a 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0003d e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
|
||
00042 89 45 f4 mov DWORD PTR _pszBuffer$1[ebp], eax
|
||
|
||
; 1332 : StringTraits::ConvertToBaseType( pszBuffer, nDestLength, pszSrc);
|
||
|
||
00045 6a ff push -1
|
||
00047 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
0004a 50 push eax
|
||
0004b 8b 4d f8 mov ecx, DWORD PTR _nDestLength$[ebp]
|
||
0004e 51 push ecx
|
||
0004f 8b 55 f4 mov edx, DWORD PTR _pszBuffer$1[ebp]
|
||
00052 52 push edx
|
||
00053 e8 00 00 00 00 call ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPBDH@Z ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType
|
||
00058 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 1333 : this->ReleaseBufferSetLength( nDestLength );
|
||
|
||
0005b 8b 45 f8 mov eax, DWORD PTR _nDestLength$[ebp]
|
||
0005e 50 push eax
|
||
0005f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00062 e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
|
||
|
||
; 1334 : }
|
||
|
||
00067 eb 08 jmp SHORT $LN3@operator
|
||
$LN2@operator:
|
||
|
||
; 1335 : else
|
||
; 1336 : {
|
||
; 1337 : this->Empty();
|
||
|
||
00069 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0006c e8 00 00 00 00 call ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ ; ATL::CSimpleStringT<wchar_t,0>::Empty
|
||
$LN3@operator:
|
||
|
||
; 1338 : }
|
||
; 1339 :
|
||
; 1340 : return( *this );
|
||
|
||
00071 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
|
||
; 1341 : }
|
||
|
||
00074 5f pop edi
|
||
00075 5e pop esi
|
||
00076 5b pop ebx
|
||
00077 8b e5 mov esp, ebp
|
||
00079 5d pop ebp
|
||
0007a c2 04 00 ret 4
|
||
??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PBD@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_pszSrc$ = 8 ; size = 4
|
||
??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 1318 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 1319 : CThisSimpleString::operator=( pszSrc );
|
||
|
||
0000c 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
0000f 50 push eax
|
||
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00013 e8 00 00 00 00 call ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::operator=
|
||
|
||
; 1320 :
|
||
; 1321 : return( *this );
|
||
|
||
00018 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
|
||
; 1322 : }
|
||
|
||
0001b 5f pop edi
|
||
0001c 5e pop esi
|
||
0001d 5b pop ebx
|
||
0001e 8b e5 mov esp, ebp
|
||
00020 5d pop ebp
|
||
00021 c2 04 00 ret 4
|
||
??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_strSrc$ = 8 ; size = 4
|
||
??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 1303 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 1304 : CThisSimpleString::operator=( strSrc );
|
||
|
||
0000c 8b 45 08 mov eax, DWORD PTR _strSrc$[ebp]
|
||
0000f 50 push eax
|
||
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00013 e8 00 00 00 00 call ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@ABV01@@Z ; ATL::CSimpleStringT<wchar_t,0>::operator=
|
||
|
||
; 1305 :
|
||
; 1306 : return( *this );
|
||
|
||
00018 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
|
||
; 1307 : }
|
||
|
||
0001b 5f pop edi
|
||
0001c 5e pop esi
|
||
0001d 5b pop ebx
|
||
0001e 8b e5 mov esp, ebp
|
||
00020 5d pop ebp
|
||
00021 c2 04 00 ret 4
|
||
??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@ABV01@@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
|
||
_TEXT SEGMENT
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 1298 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 44 sub esp, 68 ; 00000044H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
|
||
0002b c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
|
||
; 1299 : }
|
||
|
||
00032 c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
|
||
00039 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
0003c e8 00 00 00 00 call ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
|
||
00041 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00044 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
0004b 59 pop ecx
|
||
0004c 5f pop edi
|
||
0004d 5e pop esi
|
||
0004e 5b pop ebx
|
||
0004f 8b e5 mov esp, ebp
|
||
00051 5d pop ebp
|
||
00052 c3 ret 0
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ$0:
|
||
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
|
||
00008 cc int 3
|
||
00009 cc int 3
|
||
0000a cc int 3
|
||
0000b cc int 3
|
||
0000c cc int 3
|
||
__ehhandler$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ:
|
||
0000d 90 npad 1
|
||
0000e 90 npad 1
|
||
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00016 8b 4a ac mov ecx, DWORD PTR [edx-84]
|
||
00019 33 c8 xor ecx, eax
|
||
0001b e8 00 00 00 00 call @__security_check_cookie@4
|
||
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
|
||
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
_pch$ = 8 ; size = 4
|
||
_nLength$ = 12 ; size = 4
|
||
_pStringMgr$ = 16 ; size = 4
|
||
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 1252 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 44 sub esp, 68 ; 00000044H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 1251 : CThisSimpleString( pch, nLength, pStringMgr )
|
||
|
||
0002b 8b 45 10 mov eax, DWORD PTR _pStringMgr$[ebp]
|
||
0002e 50 push eax
|
||
0002f 8b 4d 0c mov ecx, DWORD PTR _nLength$[ebp]
|
||
00032 51 push ecx
|
||
00033 8b 55 08 mov edx, DWORD PTR _pch$[ebp]
|
||
00036 52 push edx
|
||
00037 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
0003a e8 00 00 00 00 call ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
|
||
0003f c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
|
||
; 1253 : }
|
||
|
||
00046 c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
|
||
0004d 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
00050 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00053 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
0005a 59 pop ecx
|
||
0005b 5f pop edi
|
||
0005c 5e pop esi
|
||
0005d 5b pop ebx
|
||
0005e 8b e5 mov esp, ebp
|
||
00060 5d pop ebp
|
||
00061 c2 0c 00 ret 12 ; 0000000cH
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z$0:
|
||
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
|
||
00008 cc int 3
|
||
00009 cc int 3
|
||
0000a cc int 3
|
||
0000b cc int 3
|
||
0000c cc int 3
|
||
__ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z:
|
||
0000d 90 npad 1
|
||
0000e 90 npad 1
|
||
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00016 8b 4a ac mov ecx, DWORD PTR [edx-84]
|
||
00019 33 c8 xor ecx, eax
|
||
0001b e8 00 00 00 00 call @__security_check_cookie@4
|
||
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z
|
||
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PBD@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
_pszSrc$ = 8 ; size = 4
|
||
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PBD@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 1070 : {
|
||
|
||
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@PBD@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
|
||
|
||
; 1069 : CThisSimpleString( StringTraits::GetDefaultManager() )
|
||
|
||
0002b e8 00 00 00 00 call ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager
|
||
00030 50 push eax
|
||
00031 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00034 e8 00 00 00 00 call ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
|
||
00039 c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
|
||
; 1071 : if( !CheckImplicitLoad( pszSrc ) )
|
||
|
||
00040 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
00043 50 push eax
|
||
00044 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00047 e8 00 00 00 00 call ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad
|
||
0004c 0f b6 c8 movzx ecx, al
|
||
0004f 85 c9 test ecx, ecx
|
||
00051 75 0c jne SHORT $LN1@CStringT
|
||
|
||
; 1072 : {
|
||
; 1073 : *this = pszSrc;
|
||
|
||
00053 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
00056 50 push eax
|
||
00057 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
0005a e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PBD@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
|
||
$LN1@CStringT:
|
||
|
||
; 1074 : }
|
||
; 1075 : }
|
||
|
||
0005f c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
|
||
00066 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
00069 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0006c 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00073 59 pop ecx
|
||
00074 5f pop edi
|
||
00075 5e pop esi
|
||
00076 5b pop ebx
|
||
00077 8b e5 mov esp, ebp
|
||
00079 5d pop ebp
|
||
0007a c2 04 00 ret 4
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PBD@Z$0:
|
||
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
|
||
00008 cc int 3
|
||
00009 cc int 3
|
||
0000a cc int 3
|
||
0000b cc int 3
|
||
0000c cc int 3
|
||
__ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PBD@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@PBD@Z
|
||
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PBD@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
_pszSrc$ = 8 ; size = 4
|
||
_pStringMgr$ = 12 ; size = 4
|
||
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 1060 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 44 sub esp, 68 ; 00000044H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 1059 : CThisSimpleString( pStringMgr )
|
||
|
||
0002b 8b 45 0c mov eax, DWORD PTR _pStringMgr$[ebp]
|
||
0002e 50 push eax
|
||
0002f 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00032 e8 00 00 00 00 call ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
|
||
00037 c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
|
||
; 1061 : if( !CheckImplicitLoad( pszSrc ) )
|
||
|
||
0003e 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
00041 50 push eax
|
||
00042 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00045 e8 00 00 00 00 call ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad
|
||
0004a 0f b6 c8 movzx ecx, al
|
||
0004d 85 c9 test ecx, ecx
|
||
0004f 75 0c jne SHORT $LN1@CStringT
|
||
|
||
; 1062 : {
|
||
; 1063 : *this = pszSrc;
|
||
|
||
00051 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
00054 50 push eax
|
||
00055 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00058 e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
|
||
$LN1@CStringT:
|
||
|
||
; 1064 : }
|
||
; 1065 : }
|
||
|
||
0005d c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
|
||
00064 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
00067 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0006a 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00071 59 pop ecx
|
||
00072 5f pop edi
|
||
00073 5e pop esi
|
||
00074 5b pop ebx
|
||
00075 8b e5 mov esp, ebp
|
||
00077 5d pop ebp
|
||
00078 c2 08 00 ret 8
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z$0:
|
||
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
|
||
00008 cc int 3
|
||
00009 cc int 3
|
||
0000a cc int 3
|
||
0000b cc int 3
|
||
0000c cc int 3
|
||
__ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z:
|
||
0000d 90 npad 1
|
||
0000e 90 npad 1
|
||
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00016 8b 4a ac mov ecx, DWORD PTR [edx-84]
|
||
00019 33 c8 xor ecx, eax
|
||
0001b e8 00 00 00 00 call @__security_check_cookie@4
|
||
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z
|
||
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_WPAUIAtlStringMgr@1@@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
_pszSrc$ = 8 ; size = 4
|
||
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 1049 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 44 sub esp, 68 ; 00000044H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 1048 : CThisSimpleString( StringTraits::GetDefaultManager() )
|
||
|
||
0002b e8 00 00 00 00 call ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager
|
||
00030 50 push eax
|
||
00031 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00034 e8 00 00 00 00 call ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
|
||
00039 c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
|
||
; 1050 : if( !CheckImplicitLoad( pszSrc ) )
|
||
|
||
00040 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
00043 50 push eax
|
||
00044 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00047 e8 00 00 00 00 call ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad
|
||
0004c 0f b6 c8 movzx ecx, al
|
||
0004f 85 c9 test ecx, ecx
|
||
00051 75 0c jne SHORT $LN1@CStringT
|
||
|
||
; 1051 : {
|
||
; 1052 : *this = pszSrc;
|
||
|
||
00053 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
00056 50 push eax
|
||
00057 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
0005a e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
|
||
$LN1@CStringT:
|
||
|
||
; 1053 : }
|
||
; 1054 : }
|
||
|
||
0005f c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
|
||
00066 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
00069 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0006c 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00073 59 pop ecx
|
||
00074 5f pop edi
|
||
00075 5e pop esi
|
||
00076 5b pop ebx
|
||
00077 8b e5 mov esp, ebp
|
||
00079 5d pop ebp
|
||
0007a c2 04 00 ret 4
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z$0:
|
||
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
|
||
00008 cc int 3
|
||
00009 cc int 3
|
||
0000a cc int 3
|
||
0000b cc int 3
|
||
0000c cc int 3
|
||
__ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z:
|
||
0000d 90 npad 1
|
||
0000e 90 npad 1
|
||
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00016 8b 4a ac mov ecx, DWORD PTR [edx-84]
|
||
00019 33 c8 xor ecx, eax
|
||
0001b e8 00 00 00 00 call @__security_check_cookie@4
|
||
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z
|
||
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
_strSrc$ = 8 ; size = 4
|
||
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 1032 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 44 sub esp, 68 ; 00000044H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 1031 : CThisSimpleString( strSrc )
|
||
|
||
0002b 8b 45 08 mov eax, DWORD PTR _strSrc$[ebp]
|
||
0002e 50 push eax
|
||
0002f 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00032 e8 00 00 00 00 call ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@ABV01@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
|
||
00037 c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
|
||
; 1033 : }
|
||
|
||
0003e c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
|
||
00045 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
00048 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0004b 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00052 59 pop ecx
|
||
00053 5f pop edi
|
||
00054 5e pop esi
|
||
00055 5b pop ebx
|
||
00056 8b e5 mov esp, ebp
|
||
00058 5d pop ebp
|
||
00059 c2 04 00 ret 4
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z$0:
|
||
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
|
||
00008 cc int 3
|
||
00009 cc int 3
|
||
0000a cc int 3
|
||
0000b cc int 3
|
||
0000c cc int 3
|
||
__ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z:
|
||
0000d 90 npad 1
|
||
0000e 90 npad 1
|
||
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00016 8b 4a ac mov ecx, DWORD PTR [edx-84]
|
||
00019 33 c8 xor ecx, eax
|
||
0001b e8 00 00 00 00 call @__security_check_cookie@4
|
||
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z
|
||
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PAUIAtlStringMgr@1@@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
_pStringMgr$ = 8 ; size = 4
|
||
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PAUIAtlStringMgr@1@@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 1016 : {
|
||
|
||
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@PAUIAtlStringMgr@1@@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 44 sub esp, 68 ; 00000044H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 1015 : CThisSimpleString( pStringMgr )
|
||
|
||
0002b 8b 45 08 mov eax, DWORD PTR _pStringMgr$[ebp]
|
||
0002e 50 push eax
|
||
0002f 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00032 e8 00 00 00 00 call ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
|
||
00037 c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
|
||
; 1017 : }
|
||
|
||
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@PAUIAtlStringMgr@1@@Z$0:
|
||
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
|
||
00008 cc int 3
|
||
00009 cc int 3
|
||
0000a cc int 3
|
||
0000b cc int 3
|
||
0000c cc int 3
|
||
__ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PAUIAtlStringMgr@1@@Z:
|
||
0000d 90 npad 1
|
||
0000e 90 npad 1
|
||
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00016 8b 4a ac mov ecx, DWORD PTR [edx-84]
|
||
00019 33 c8 xor ecx, eax
|
||
0001b e8 00 00 00 00 call @__security_check_cookie@4
|
||
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PAUIAtlStringMgr@1@@Z
|
||
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
|
||
_TEXT SEGMENT
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 1011 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 44 sub esp, 68 ; 00000044H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 1010 : CThisSimpleString( StringTraits::GetDefaultManager() )
|
||
|
||
0002b e8 00 00 00 00 call ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager
|
||
00030 50 push eax
|
||
00031 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00034 e8 00 00 00 00 call ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
|
||
00039 c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
|
||
; 1012 : }
|
||
|
||
00040 c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
|
||
00047 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
0004a 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0004d 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00054 59 pop ecx
|
||
00055 5f pop edi
|
||
00056 5e pop esi
|
||
00057 5b pop ebx
|
||
00058 8b e5 mov esp, ebp
|
||
0005a 5d pop ebp
|
||
0005b c3 ret 0
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ$0:
|
||
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
|
||
00008 cc int 3
|
||
00009 cc int 3
|
||
0000a cc int 3
|
||
0000b cc int 3
|
||
0000c cc int 3
|
||
__ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ:
|
||
0000d 90 npad 1
|
||
0000e 90 npad 1
|
||
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00016 8b 4a ac mov ecx, DWORD PTR [edx-84]
|
||
00019 33 c8 xor ecx, eax
|
||
0001b e8 00 00 00 00 call @__security_check_cookie@4
|
||
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
|
||
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z
|
||
_TEXT SEGMENT
|
||
tv139 = -88 ; size = 4
|
||
tv141 = -84 ; size = 4
|
||
tv143 = -80 ; size = 4
|
||
tv145 = -76 ; size = 4
|
||
tv87 = -76 ; size = 4
|
||
_pNewStringMgr$ = -8 ; size = 4
|
||
_pNewData$ = -4 ; size = 4
|
||
_pData$ = 8 ; size = 4
|
||
?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::CloneData, COMDAT
|
||
|
||
; 879 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 58 sub esp, 88 ; 00000058H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
|
||
; 880 : CStringData* pNewData = NULL;
|
||
|
||
00009 c7 45 fc 00 00
|
||
00 00 mov DWORD PTR _pNewData$[ebp], 0
|
||
|
||
; 881 :
|
||
; 882 : IAtlStringMgr* pNewStringMgr = pData->pStringMgr->Clone();
|
||
|
||
00010 8b 45 08 mov eax, DWORD PTR _pData$[ebp]
|
||
00013 8b 08 mov ecx, DWORD PTR [eax]
|
||
00015 8b 55 08 mov edx, DWORD PTR _pData$[ebp]
|
||
00018 8b 01 mov eax, DWORD PTR [ecx]
|
||
0001a 8b 0a mov ecx, DWORD PTR [edx]
|
||
0001c 8b 50 10 mov edx, DWORD PTR [eax+16]
|
||
0001f ff d2 call edx
|
||
00021 89 45 f8 mov DWORD PTR _pNewStringMgr$[ebp], eax
|
||
|
||
; 883 : if( !pData->IsLocked() && (pNewStringMgr == pData->pStringMgr) )
|
||
|
||
00024 8b 4d 08 mov ecx, DWORD PTR _pData$[ebp]
|
||
00027 e8 00 00 00 00 call ?IsLocked@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsLocked
|
||
0002c 0f b6 c0 movzx eax, al
|
||
0002f 85 c0 test eax, eax
|
||
00031 75 1a jne SHORT $LN2@CloneData
|
||
00033 8b 45 08 mov eax, DWORD PTR _pData$[ebp]
|
||
00036 8b 4d f8 mov ecx, DWORD PTR _pNewStringMgr$[ebp]
|
||
00039 3b 08 cmp ecx, DWORD PTR [eax]
|
||
0003b 75 10 jne SHORT $LN2@CloneData
|
||
|
||
; 884 : {
|
||
; 885 : pNewData = pData;
|
||
|
||
0003d 8b 45 08 mov eax, DWORD PTR _pData$[ebp]
|
||
00040 89 45 fc mov DWORD PTR _pNewData$[ebp], eax
|
||
|
||
; 886 : pNewData->AddRef();
|
||
|
||
00043 8b 4d fc mov ecx, DWORD PTR _pNewData$[ebp]
|
||
00046 e8 00 00 00 00 call ?AddRef@CStringData@ATL@@QAEXXZ ; ATL::CStringData::AddRef
|
||
|
||
; 887 : }
|
||
|
||
0004b eb 7b jmp SHORT $LN3@CloneData
|
||
$LN2@CloneData:
|
||
|
||
; 888 : else
|
||
; 889 : {
|
||
; 890 : pNewData = pNewStringMgr->Allocate( pData->nDataLength, sizeof( XCHAR ) );
|
||
|
||
0004d 8b 45 f8 mov eax, DWORD PTR _pNewStringMgr$[ebp]
|
||
00050 8b 08 mov ecx, DWORD PTR [eax]
|
||
00052 8b 11 mov edx, DWORD PTR [ecx]
|
||
00054 89 55 b4 mov DWORD PTR tv87[ebp], edx
|
||
00057 6a 02 push 2
|
||
00059 8b 45 08 mov eax, DWORD PTR _pData$[ebp]
|
||
0005c 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
0005f 51 push ecx
|
||
00060 8b 4d f8 mov ecx, DWORD PTR _pNewStringMgr$[ebp]
|
||
00063 ff 55 b4 call DWORD PTR tv87[ebp]
|
||
00066 89 45 fc mov DWORD PTR _pNewData$[ebp], eax
|
||
|
||
; 891 : if( pNewData == NULL )
|
||
|
||
00069 83 7d fc 00 cmp DWORD PTR _pNewData$[ebp], 0
|
||
0006d 75 05 jne SHORT $LN4@CloneData
|
||
|
||
; 892 : {
|
||
; 893 : ThrowMemoryException();
|
||
|
||
0006f e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
|
||
$LN4@CloneData:
|
||
|
||
; 894 : }
|
||
; 895 : pNewData->nDataLength = pData->nDataLength;
|
||
|
||
00074 8b 45 fc mov eax, DWORD PTR _pNewData$[ebp]
|
||
00077 8b 4d 08 mov ecx, DWORD PTR _pData$[ebp]
|
||
0007a 8b 51 04 mov edx, DWORD PTR [ecx+4]
|
||
0007d 89 50 04 mov DWORD PTR [eax+4], edx
|
||
|
||
; 896 : memcpy_s( PXSTR( pNewData->data() ), (pNewData->nDataLength+1) * sizeof( XCHAR ),
|
||
|
||
00080 8b 45 08 mov eax, DWORD PTR _pData$[ebp]
|
||
00083 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
00086 8d 54 09 02 lea edx, DWORD PTR [ecx+ecx+2]
|
||
0008a 89 55 b4 mov DWORD PTR tv145[ebp], edx
|
||
0008d 8b 4d 08 mov ecx, DWORD PTR _pData$[ebp]
|
||
00090 e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
|
||
00095 89 45 b0 mov DWORD PTR tv143[ebp], eax
|
||
00098 8b 45 fc mov eax, DWORD PTR _pNewData$[ebp]
|
||
0009b 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
0009e 8d 54 09 02 lea edx, DWORD PTR [ecx+ecx+2]
|
||
000a2 89 55 ac mov DWORD PTR tv141[ebp], edx
|
||
000a5 8b 4d fc mov ecx, DWORD PTR _pNewData$[ebp]
|
||
000a8 e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
|
||
000ad 89 45 a8 mov DWORD PTR tv139[ebp], eax
|
||
000b0 8b 45 b4 mov eax, DWORD PTR tv145[ebp]
|
||
000b3 50 push eax
|
||
000b4 8b 4d b0 mov ecx, DWORD PTR tv143[ebp]
|
||
000b7 51 push ecx
|
||
000b8 8b 55 ac mov edx, DWORD PTR tv141[ebp]
|
||
000bb 52 push edx
|
||
000bc 8b 45 a8 mov eax, DWORD PTR tv139[ebp]
|
||
000bf 50 push eax
|
||
000c0 e8 00 00 00 00 call _memcpy_s
|
||
000c5 83 c4 10 add esp, 16 ; 00000010H
|
||
$LN3@CloneData:
|
||
|
||
; 897 : PCXSTR( pData->data() ), (pData->nDataLength+1) * sizeof( XCHAR )); // Copy '\0'
|
||
; 898 : }
|
||
; 899 :
|
||
; 900 : return( pNewData );
|
||
|
||
000c8 8b 45 fc mov eax, DWORD PTR _pNewData$[ebp]
|
||
$LN5@CloneData:
|
||
|
||
; 901 : }
|
||
|
||
000cb 5f pop edi
|
||
000cc 5e pop esi
|
||
000cd 5b pop ebx
|
||
000ce 8b e5 mov esp, ebp
|
||
000d0 5d pop ebp
|
||
000d1 c3 ret 0
|
||
?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::CloneData
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_nLength$ = 8 ; size = 4
|
||
?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::SetLength, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 867 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 868 : ATLASSERT( nLength >= 0 );
|
||
; 869 : ATLASSERT( nLength <= GetData()->nAllocLength );
|
||
; 870 :
|
||
; 871 : if( nLength < 0 || nLength > GetData()->nAllocLength)
|
||
|
||
0000c 83 7d 08 00 cmp DWORD PTR _nLength$[ebp], 0
|
||
00010 7c 10 jl SHORT $LN3@SetLength
|
||
00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00015 e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
0001a 8b 4d 08 mov ecx, DWORD PTR _nLength$[ebp]
|
||
0001d 3b 48 08 cmp ecx, DWORD PTR [eax+8]
|
||
00020 7e 0a jle SHORT $LN2@SetLength
|
||
$LN3@SetLength:
|
||
|
||
; 872 : AtlThrow(E_INVALIDARG);
|
||
|
||
00022 68 57 00 07 80 push -2147024809 ; 80070057H
|
||
00027 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN2@SetLength:
|
||
|
||
; 873 :
|
||
; 874 : GetData()->nDataLength = nLength;
|
||
|
||
0002c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0002f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
00034 8b 4d 08 mov ecx, DWORD PTR _nLength$[ebp]
|
||
00037 89 48 04 mov DWORD PTR [eax+4], ecx
|
||
|
||
; 875 : m_pszData[nLength] = 0;
|
||
|
||
0003a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0003d 8b 08 mov ecx, DWORD PTR [eax]
|
||
0003f 33 d2 xor edx, edx
|
||
00041 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
|
||
00044 66 89 14 41 mov WORD PTR [ecx+eax*2], dx
|
||
$LN4@SetLength:
|
||
|
||
; 876 : }
|
||
|
||
00048 5f pop edi
|
||
00049 5e pop esi
|
||
0004a 5b pop ebx
|
||
0004b 8b e5 mov esp, ebp
|
||
0004d 5d pop ebp
|
||
0004e c2 04 00 ret 4
|
||
?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::SetLength
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
|
||
_TEXT SEGMENT
|
||
tv78 = -84 ; size = 4
|
||
_pNewData$ = -16 ; size = 4
|
||
_pStringMgr$ = -12 ; size = 4
|
||
_pOldData$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_nLength$ = 8 ; size = 4
|
||
?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::Reallocate, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 849 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 54 sub esp, 84 ; 00000054H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 850 : CStringData* pOldData = GetData();
|
||
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
00014 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
|
||
|
||
; 851 : ATLASSERT( pOldData->nAllocLength < nLength );
|
||
; 852 : IAtlStringMgr* pStringMgr = pOldData->pStringMgr;
|
||
|
||
00017 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
0001a 8b 08 mov ecx, DWORD PTR [eax]
|
||
0001c 89 4d f4 mov DWORD PTR _pStringMgr$[ebp], ecx
|
||
|
||
; 853 : if ( pOldData->nAllocLength >= nLength || nLength <= 0)
|
||
|
||
0001f 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
00022 8b 48 08 mov ecx, DWORD PTR [eax+8]
|
||
00025 3b 4d 08 cmp ecx, DWORD PTR _nLength$[ebp]
|
||
00028 7d 06 jge SHORT $LN3@Reallocate
|
||
0002a 83 7d 08 00 cmp DWORD PTR _nLength$[ebp], 0
|
||
0002e 7f 07 jg SHORT $LN2@Reallocate
|
||
$LN3@Reallocate:
|
||
|
||
; 854 : {
|
||
; 855 : ThrowMemoryException();
|
||
|
||
00030 e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
|
||
|
||
; 856 : return;
|
||
|
||
00035 eb 35 jmp SHORT $LN5@Reallocate
|
||
$LN2@Reallocate:
|
||
|
||
; 857 : }
|
||
; 858 : CStringData* pNewData = pStringMgr->Reallocate( pOldData, nLength, sizeof( XCHAR ) );
|
||
|
||
00037 8b 45 f4 mov eax, DWORD PTR _pStringMgr$[ebp]
|
||
0003a 8b 08 mov ecx, DWORD PTR [eax]
|
||
0003c 8b 51 08 mov edx, DWORD PTR [ecx+8]
|
||
0003f 89 55 ac mov DWORD PTR tv78[ebp], edx
|
||
00042 6a 02 push 2
|
||
00044 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
|
||
00047 50 push eax
|
||
00048 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp]
|
||
0004b 51 push ecx
|
||
0004c 8b 4d f4 mov ecx, DWORD PTR _pStringMgr$[ebp]
|
||
0004f ff 55 ac call DWORD PTR tv78[ebp]
|
||
00052 89 45 f0 mov DWORD PTR _pNewData$[ebp], eax
|
||
|
||
; 859 : if( pNewData == NULL )
|
||
|
||
00055 83 7d f0 00 cmp DWORD PTR _pNewData$[ebp], 0
|
||
00059 75 05 jne SHORT $LN4@Reallocate
|
||
|
||
; 860 : {
|
||
; 861 : ThrowMemoryException();
|
||
|
||
0005b e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
|
||
$LN4@Reallocate:
|
||
|
||
; 862 : }
|
||
; 863 : Attach( pNewData );
|
||
|
||
00060 8b 45 f0 mov eax, DWORD PTR _pNewData$[ebp]
|
||
00063 50 push eax
|
||
00064 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00067 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
|
||
$LN5@Reallocate:
|
||
|
||
; 864 : }
|
||
|
||
0006c 5f pop edi
|
||
0006d 5e pop esi
|
||
0006e 5b pop ebx
|
||
0006f 8b e5 mov esp, ebp
|
||
00071 5d pop ebp
|
||
00072 c2 04 00 ret 4
|
||
?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::Reallocate
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
|
||
_TEXT SEGMENT
|
||
_nNewLength$1 = -12 ; size = 4
|
||
_pOldData$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_nLength$ = 8 ; size = 4
|
||
?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 818 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 4c sub esp, 76 ; 0000004cH
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 819 : CStringData* pOldData = GetData();
|
||
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
00014 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
|
||
|
||
; 820 : if( pOldData->nDataLength > nLength )
|
||
|
||
00017 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
0001a 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
0001d 3b 4d 08 cmp ecx, DWORD PTR _nLength$[ebp]
|
||
00020 7e 09 jle SHORT $LN2@PrepareWri
|
||
|
||
; 821 : {
|
||
; 822 : nLength = pOldData->nDataLength;
|
||
|
||
00022 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
00025 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
00028 89 4d 08 mov DWORD PTR _nLength$[ebp], ecx
|
||
$LN2@PrepareWri:
|
||
|
||
; 823 : }
|
||
; 824 : if( pOldData->IsShared() )
|
||
|
||
0002b 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp]
|
||
0002e e8 00 00 00 00 call ?IsShared@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsShared
|
||
00033 0f b6 c0 movzx eax, al
|
||
00036 85 c0 test eax, eax
|
||
00038 74 0e je SHORT $LN3@PrepareWri
|
||
|
||
; 825 : {
|
||
; 826 : Fork( nLength );
|
||
|
||
0003a 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
|
||
0003d 50 push eax
|
||
0003e 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00041 e8 00 00 00 00 call ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Fork
|
||
|
||
; 827 : }
|
||
|
||
00046 eb 52 jmp SHORT $LN1@PrepareWri
|
||
$LN3@PrepareWri:
|
||
|
||
; 828 : else if( pOldData->nAllocLength < nLength )
|
||
|
||
00048 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
0004b 8b 48 08 mov ecx, DWORD PTR [eax+8]
|
||
0004e 3b 4d 08 cmp ecx, DWORD PTR _nLength$[ebp]
|
||
00051 7d 47 jge SHORT $LN1@PrepareWri
|
||
|
||
; 829 : {
|
||
; 830 : // Grow exponentially, until we hit 1G, then by 1M thereafter.
|
||
; 831 : int nNewLength = pOldData->nAllocLength;
|
||
|
||
00053 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
00056 8b 48 08 mov ecx, DWORD PTR [eax+8]
|
||
00059 89 4d f4 mov DWORD PTR _nNewLength$1[ebp], ecx
|
||
|
||
; 832 : if( nNewLength > 1024 * 1024 * 1024 )
|
||
|
||
0005c 81 7d f4 00 00
|
||
00 40 cmp DWORD PTR _nNewLength$1[ebp], 1073741824 ; 40000000H
|
||
00063 7e 0d jle SHORT $LN6@PrepareWri
|
||
|
||
; 833 : {
|
||
; 834 : nNewLength += 1024 * 1024;
|
||
|
||
00065 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
|
||
00068 05 00 00 10 00 add eax, 1048576 ; 00100000H
|
||
0006d 89 45 f4 mov DWORD PTR _nNewLength$1[ebp], eax
|
||
|
||
; 835 : }
|
||
|
||
00070 eb 0e jmp SHORT $LN7@PrepareWri
|
||
$LN6@PrepareWri:
|
||
|
||
; 836 : else
|
||
; 837 : {
|
||
; 838 : // Exponential growth factor is 1.5.
|
||
; 839 : nNewLength = nNewLength + nNewLength / 2;
|
||
|
||
00072 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
|
||
00075 99 cdq
|
||
00076 2b c2 sub eax, edx
|
||
00078 d1 f8 sar eax, 1
|
||
0007a 03 45 f4 add eax, DWORD PTR _nNewLength$1[ebp]
|
||
0007d 89 45 f4 mov DWORD PTR _nNewLength$1[ebp], eax
|
||
$LN7@PrepareWri:
|
||
|
||
; 840 : }
|
||
; 841 : if( nNewLength < nLength )
|
||
|
||
00080 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
|
||
00083 3b 45 08 cmp eax, DWORD PTR _nLength$[ebp]
|
||
00086 7d 06 jge SHORT $LN8@PrepareWri
|
||
|
||
; 842 : {
|
||
; 843 : nNewLength = nLength;
|
||
|
||
00088 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
|
||
0008b 89 45 f4 mov DWORD PTR _nNewLength$1[ebp], eax
|
||
$LN8@PrepareWri:
|
||
|
||
; 844 : }
|
||
; 845 : Reallocate( nNewLength );
|
||
|
||
0008e 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
|
||
00091 50 push eax
|
||
00092 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00095 e8 00 00 00 00 call ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Reallocate
|
||
$LN1@PrepareWri:
|
||
|
||
; 846 : }
|
||
; 847 : }
|
||
|
||
0009a 5f pop edi
|
||
0009b 5e pop esi
|
||
0009c 5b pop ebx
|
||
0009d 8b e5 mov esp, ebp
|
||
0009f 5d pop ebp
|
||
000a0 c2 04 00 ret 4
|
||
?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z
|
||
_TEXT SEGMENT
|
||
_nTooShort$ = -16 ; size = 4
|
||
_nShared$ = -12 ; size = 4
|
||
_pOldData$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_nLength$ = 8 ; size = 4
|
||
?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 803 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 50 sub esp, 80 ; 00000050H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 804 : if (nLength < 0)
|
||
|
||
0000c 83 7d 08 00 cmp DWORD PTR _nLength$[ebp], 0
|
||
00010 7d 0a jge SHORT $LN2@PrepareWri
|
||
|
||
; 805 : AtlThrow(E_INVALIDARG);
|
||
|
||
00012 68 57 00 07 80 push -2147024809 ; 80070057H
|
||
00017 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN2@PrepareWri:
|
||
|
||
; 806 :
|
||
; 807 : CStringData* pOldData = GetData();
|
||
|
||
0001c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0001f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
00024 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
|
||
|
||
; 808 : int nShared = 1-pOldData->nRefs; // nShared < 0 means true, >= 0 means false
|
||
|
||
00027 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
0002a b9 01 00 00 00 mov ecx, 1
|
||
0002f 2b 48 0c sub ecx, DWORD PTR [eax+12]
|
||
00032 89 4d f4 mov DWORD PTR _nShared$[ebp], ecx
|
||
|
||
; 809 : int nTooShort = pOldData->nAllocLength-nLength; // nTooShort < 0 means true, >= 0 means false
|
||
|
||
00035 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
00038 8b 48 08 mov ecx, DWORD PTR [eax+8]
|
||
0003b 2b 4d 08 sub ecx, DWORD PTR _nLength$[ebp]
|
||
0003e 89 4d f0 mov DWORD PTR _nTooShort$[ebp], ecx
|
||
|
||
; 810 : if( (nShared|nTooShort) < 0 ) // If either sign bit is set (i.e. either is less than zero), we need to copy data
|
||
|
||
00041 8b 45 f4 mov eax, DWORD PTR _nShared$[ebp]
|
||
00044 0b 45 f0 or eax, DWORD PTR _nTooShort$[ebp]
|
||
00047 7d 0c jge SHORT $LN3@PrepareWri
|
||
|
||
; 811 : {
|
||
; 812 : PrepareWrite2( nLength );
|
||
|
||
00049 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
|
||
0004c 50 push eax
|
||
0004d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00050 e8 00 00 00 00 call ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2
|
||
$LN3@PrepareWri:
|
||
|
||
; 813 : }
|
||
; 814 :
|
||
; 815 : return( m_pszData );
|
||
|
||
00055 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00058 8b 00 mov eax, DWORD PTR [eax]
|
||
$LN4@PrepareWri:
|
||
|
||
; 816 : }
|
||
|
||
0005a 5f pop edi
|
||
0005b 5e pop esi
|
||
0005c 5b pop ebx
|
||
0005d 8b e5 mov esp, ebp
|
||
0005f 5d pop ebp
|
||
00060 c2 04 00 ret 4
|
||
?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ PROC ; ATL::CSimpleStringT<wchar_t,0>::GetData, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 799 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 800 : return( reinterpret_cast< CStringData* >( m_pszData )-1 );
|
||
|
||
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0000f 8b 00 mov eax, DWORD PTR [eax]
|
||
00011 83 e8 10 sub eax, 16 ; 00000010H
|
||
|
||
; 801 : }
|
||
|
||
00014 5f pop edi
|
||
00015 5e pop esi
|
||
00016 5b pop ebx
|
||
00017 8b e5 mov esp, ebp
|
||
00019 5d pop ebp
|
||
0001a c3 ret 0
|
||
?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
|
||
_TEXT SEGMENT
|
||
tv132 = -92 ; size = 4
|
||
tv83 = -92 ; size = 4
|
||
tv134 = -88 ; size = 4
|
||
tv86 = -88 ; size = 4
|
||
tv76 = -88 ; size = 4
|
||
_nCharsToCopy$ = -20 ; size = 4
|
||
_pNewData$ = -16 ; size = 4
|
||
_nOldLength$ = -12 ; size = 4
|
||
_pOldData$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_nLength$ = 8 ; size = 4
|
||
?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::Fork, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 783 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 5c sub esp, 92 ; 0000005cH
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 784 : CStringData* pOldData = GetData();
|
||
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
00014 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
|
||
|
||
; 785 : int nOldLength = pOldData->nDataLength;
|
||
|
||
00017 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
0001a 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
0001d 89 4d f4 mov DWORD PTR _nOldLength$[ebp], ecx
|
||
|
||
; 786 : CStringData* pNewData = pOldData->pStringMgr->Clone()->Allocate( nLength, sizeof( XCHAR ) );
|
||
|
||
00020 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
00023 8b 08 mov ecx, DWORD PTR [eax]
|
||
00025 8b 55 f8 mov edx, DWORD PTR _pOldData$[ebp]
|
||
00028 8b 01 mov eax, DWORD PTR [ecx]
|
||
0002a 8b 0a mov ecx, DWORD PTR [edx]
|
||
0002c 8b 50 10 mov edx, DWORD PTR [eax+16]
|
||
0002f ff d2 call edx
|
||
00031 89 45 a8 mov DWORD PTR tv76[ebp], eax
|
||
00034 8b 45 a8 mov eax, DWORD PTR tv76[ebp]
|
||
00037 8b 08 mov ecx, DWORD PTR [eax]
|
||
00039 8b 11 mov edx, DWORD PTR [ecx]
|
||
0003b 89 55 a4 mov DWORD PTR tv83[ebp], edx
|
||
0003e 6a 02 push 2
|
||
00040 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
|
||
00043 50 push eax
|
||
00044 8b 4d a8 mov ecx, DWORD PTR tv76[ebp]
|
||
00047 ff 55 a4 call DWORD PTR tv83[ebp]
|
||
0004a 89 45 f0 mov DWORD PTR _pNewData$[ebp], eax
|
||
|
||
; 787 : if( pNewData == NULL )
|
||
|
||
0004d 83 7d f0 00 cmp DWORD PTR _pNewData$[ebp], 0
|
||
00051 75 05 jne SHORT $LN2@Fork
|
||
|
||
; 788 : {
|
||
; 789 : ThrowMemoryException();
|
||
|
||
00053 e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
|
||
$LN2@Fork:
|
||
|
||
; 790 : }
|
||
; 791 : int nCharsToCopy = ((nOldLength < nLength) ? nOldLength : nLength)+1; // Copy '\0'
|
||
|
||
00058 8b 45 f4 mov eax, DWORD PTR _nOldLength$[ebp]
|
||
0005b 3b 45 08 cmp eax, DWORD PTR _nLength$[ebp]
|
||
0005e 7d 08 jge SHORT $LN4@Fork
|
||
00060 8b 4d f4 mov ecx, DWORD PTR _nOldLength$[ebp]
|
||
00063 89 4d a8 mov DWORD PTR tv86[ebp], ecx
|
||
00066 eb 06 jmp SHORT $LN5@Fork
|
||
$LN4@Fork:
|
||
00068 8b 55 08 mov edx, DWORD PTR _nLength$[ebp]
|
||
0006b 89 55 a8 mov DWORD PTR tv86[ebp], edx
|
||
$LN5@Fork:
|
||
0006e 8b 45 a8 mov eax, DWORD PTR tv86[ebp]
|
||
00071 83 c0 01 add eax, 1
|
||
00074 89 45 ec mov DWORD PTR _nCharsToCopy$[ebp], eax
|
||
|
||
; 792 : memcpy_s( PXSTR( pNewData->data() ), nCharsToCopy * sizeof( XCHAR ),
|
||
|
||
00077 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp]
|
||
0007a e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
|
||
0007f 89 45 a8 mov DWORD PTR tv134[ebp], eax
|
||
00082 8b 4d f0 mov ecx, DWORD PTR _pNewData$[ebp]
|
||
00085 e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
|
||
0008a 89 45 a4 mov DWORD PTR tv132[ebp], eax
|
||
0008d 8b 45 ec mov eax, DWORD PTR _nCharsToCopy$[ebp]
|
||
00090 d1 e0 shl eax, 1
|
||
00092 50 push eax
|
||
00093 8b 4d a8 mov ecx, DWORD PTR tv134[ebp]
|
||
00096 51 push ecx
|
||
00097 8b 55 ec mov edx, DWORD PTR _nCharsToCopy$[ebp]
|
||
0009a d1 e2 shl edx, 1
|
||
0009c 52 push edx
|
||
0009d 8b 45 a4 mov eax, DWORD PTR tv132[ebp]
|
||
000a0 50 push eax
|
||
000a1 e8 00 00 00 00 call _memcpy_s
|
||
000a6 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 793 : PCXSTR( pOldData->data() ), nCharsToCopy * sizeof( XCHAR ));
|
||
; 794 : pNewData->nDataLength = nOldLength;
|
||
|
||
000a9 8b 45 f0 mov eax, DWORD PTR _pNewData$[ebp]
|
||
000ac 8b 4d f4 mov ecx, DWORD PTR _nOldLength$[ebp]
|
||
000af 89 48 04 mov DWORD PTR [eax+4], ecx
|
||
|
||
; 795 : pOldData->Release();
|
||
|
||
000b2 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp]
|
||
000b5 e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release
|
||
|
||
; 796 : Attach( pNewData );
|
||
|
||
000ba 8b 45 f0 mov eax, DWORD PTR _pNewData$[ebp]
|
||
000bd 50 push eax
|
||
000be 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
000c1 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
|
||
$LN3@Fork:
|
||
|
||
; 797 : }
|
||
|
||
000c6 5f pop edi
|
||
000c7 5e pop esi
|
||
000c8 5b pop ebx
|
||
000c9 8b e5 mov esp, ebp
|
||
000cb 5d pop ebp
|
||
000cc c2 04 00 ret 4
|
||
?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::Fork
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_pData$ = 8 ; size = 4
|
||
?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::Attach, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 779 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 780 : m_pszData = static_cast< PXSTR >( pData->data() );
|
||
|
||
0000c 8b 4d 08 mov ecx, DWORD PTR _pData$[ebp]
|
||
0000f e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
|
||
00014 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00017 89 01 mov DWORD PTR [ecx], eax
|
||
|
||
; 781 : }
|
||
|
||
00019 5f pop edi
|
||
0001a 5e pop esi
|
||
0001b 5b pop ebx
|
||
0001c 8b e5 mov esp, ebp
|
||
0001e 5d pop ebp
|
||
0001f c2 04 00 ret 4
|
||
?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::Attach
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ
|
||
_TEXT SEGMENT
|
||
?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException, COMDAT
|
||
|
||
; 772 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 40 sub esp, 64 ; 00000040H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
|
||
; 773 : AtlThrow( E_OUTOFMEMORY );
|
||
|
||
00009 68 0e 00 07 80 push -2147024882 ; 8007000eH
|
||
0000e e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN2@ThrowMemor:
|
||
|
||
; 774 : }
|
||
|
||
00013 5f pop edi
|
||
00014 5e pop esi
|
||
00015 5b pop ebx
|
||
00016 8b e5 mov esp, ebp
|
||
00018 5d pop ebp
|
||
00019 c3 ret 0
|
||
?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?Concatenate@?$CSimpleStringT@_W$0A@@ATL@@KAXAAV12@PB_WH1H@Z
|
||
_TEXT SEGMENT
|
||
_pszBuffer$ = -8 ; size = 4
|
||
_nNewLength$ = -4 ; size = 4
|
||
_strResult$ = 8 ; size = 4
|
||
_psz1$ = 12 ; size = 4
|
||
_nLength1$ = 16 ; size = 4
|
||
_psz2$ = 20 ; size = 4
|
||
_nLength2$ = 24 ; size = 4
|
||
?Concatenate@?$CSimpleStringT@_W$0A@@ATL@@KAXAAV12@PB_WH1H@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::Concatenate, COMDAT
|
||
|
||
; 764 : {
|
||
|
||
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
|
||
|
||
; 765 : int nNewLength = nLength1+nLength2;
|
||
|
||
00009 8b 45 10 mov eax, DWORD PTR _nLength1$[ebp]
|
||
0000c 03 45 18 add eax, DWORD PTR _nLength2$[ebp]
|
||
0000f 89 45 fc mov DWORD PTR _nNewLength$[ebp], eax
|
||
|
||
; 766 : PXSTR pszBuffer = strResult.GetBuffer( nNewLength );
|
||
|
||
00012 8b 45 fc mov eax, DWORD PTR _nNewLength$[ebp]
|
||
00015 50 push eax
|
||
00016 8b 4d 08 mov ecx, DWORD PTR _strResult$[ebp]
|
||
00019 e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
|
||
0001e 89 45 f8 mov DWORD PTR _pszBuffer$[ebp], eax
|
||
|
||
; 767 : memcpy_s( pszBuffer, nLength1 * sizeof( XCHAR ), psz1, nLength1 * sizeof( XCHAR ));
|
||
|
||
00021 8b 45 10 mov eax, DWORD PTR _nLength1$[ebp]
|
||
00024 d1 e0 shl eax, 1
|
||
00026 50 push eax
|
||
00027 8b 4d 0c mov ecx, DWORD PTR _psz1$[ebp]
|
||
0002a 51 push ecx
|
||
0002b 8b 55 10 mov edx, DWORD PTR _nLength1$[ebp]
|
||
0002e d1 e2 shl edx, 1
|
||
00030 52 push edx
|
||
00031 8b 45 f8 mov eax, DWORD PTR _pszBuffer$[ebp]
|
||
00034 50 push eax
|
||
00035 e8 00 00 00 00 call _memcpy_s
|
||
0003a 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 768 : memcpy_s( pszBuffer+nLength1, nLength2 * sizeof( XCHAR ), psz2, nLength2 * sizeof( XCHAR ));
|
||
|
||
0003d 8b 45 18 mov eax, DWORD PTR _nLength2$[ebp]
|
||
00040 d1 e0 shl eax, 1
|
||
00042 50 push eax
|
||
00043 8b 4d 14 mov ecx, DWORD PTR _psz2$[ebp]
|
||
00046 51 push ecx
|
||
00047 8b 55 18 mov edx, DWORD PTR _nLength2$[ebp]
|
||
0004a d1 e2 shl edx, 1
|
||
0004c 52 push edx
|
||
0004d 8b 45 10 mov eax, DWORD PTR _nLength1$[ebp]
|
||
00050 8b 4d f8 mov ecx, DWORD PTR _pszBuffer$[ebp]
|
||
00053 8d 14 41 lea edx, DWORD PTR [ecx+eax*2]
|
||
00056 52 push edx
|
||
00057 e8 00 00 00 00 call _memcpy_s
|
||
0005c 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 769 : strResult.ReleaseBufferSetLength( nNewLength );
|
||
|
||
0005f 8b 45 fc mov eax, DWORD PTR _nNewLength$[ebp]
|
||
00062 50 push eax
|
||
00063 8b 4d 08 mov ecx, DWORD PTR _strResult$[ebp]
|
||
00066 e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
|
||
|
||
; 770 : }
|
||
|
||
0006b 5f pop edi
|
||
0006c 5e pop esi
|
||
0006d 5b pop ebx
|
||
0006e 8b e5 mov esp, ebp
|
||
00070 5d pop ebp
|
||
00071 c3 ret 0
|
||
?Concatenate@?$CSimpleStringT@_W$0A@@ATL@@KAXAAV12@PB_WH1H@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::Concatenate
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z
|
||
_TEXT SEGMENT
|
||
__$EHRec$ = -12 ; size = 12
|
||
_psz$ = 8 ; size = 4
|
||
?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::StringLength, COMDAT
|
||
|
||
; 729 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 40 sub esp, 64 ; 00000040H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
|
||
; 730 : if( psz == NULL )
|
||
|
||
00028 83 7d 08 00 cmp DWORD PTR _psz$[ebp], 0
|
||
0002c 75 04 jne SHORT $LN2@StringLeng
|
||
|
||
; 731 : {
|
||
; 732 : return( 0 );
|
||
|
||
0002e 33 c0 xor eax, eax
|
||
00030 eb 0c jmp SHORT $LN1@StringLeng
|
||
$LN2@StringLeng:
|
||
|
||
; 733 : }
|
||
; 734 : return( int( wcslen( psz ) ) );
|
||
|
||
00032 8b 45 08 mov eax, DWORD PTR _psz$[ebp]
|
||
00035 50 push eax
|
||
00036 e8 00 00 00 00 call _wcslen
|
||
0003b 83 c4 04 add esp, 4
|
||
$LN1@StringLeng:
|
||
|
||
; 735 : }
|
||
|
||
0003e 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00041 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00048 59 pop ecx
|
||
00049 5f pop edi
|
||
0004a 5e pop esi
|
||
0004b 5b pop ebx
|
||
0004c 8b e5 mov esp, ebp
|
||
0004e 5d pop ebp
|
||
0004f c3 ret 0
|
||
00050 cc int 3
|
||
00051 cc int 3
|
||
00052 cc int 3
|
||
00053 cc int 3
|
||
00054 cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::StringLength
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z
|
||
_TEXT SEGMENT
|
||
__$EHRec$ = -12 ; size = 12
|
||
_pchDest$ = 8 ; size = 4
|
||
_nDestLen$ = 12 ; size = 4
|
||
_pchSrc$ = 16 ; size = 4
|
||
_nChars$ = 20 ; size = 4
|
||
?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::CopyCharsOverlapped, COMDAT
|
||
|
||
; 716 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 40 sub esp, 64 ; 00000040H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
|
||
; 717 : memmove_s( pchDest, nDestLen*sizeof( XCHAR ),
|
||
|
||
00028 8b 45 14 mov eax, DWORD PTR _nChars$[ebp]
|
||
0002b d1 e0 shl eax, 1
|
||
0002d 50 push eax
|
||
0002e 8b 4d 10 mov ecx, DWORD PTR _pchSrc$[ebp]
|
||
00031 51 push ecx
|
||
00032 8b 55 0c mov edx, DWORD PTR _nDestLen$[ebp]
|
||
00035 d1 e2 shl edx, 1
|
||
00037 52 push edx
|
||
00038 8b 45 08 mov eax, DWORD PTR _pchDest$[ebp]
|
||
0003b 50 push eax
|
||
0003c e8 00 00 00 00 call _memmove_s
|
||
00041 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 718 : pchSrc, nChars*sizeof( XCHAR ) );
|
||
; 719 : }
|
||
|
||
00044 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00047 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
0004e 59 pop ecx
|
||
0004f 5f pop edi
|
||
00050 5e pop esi
|
||
00051 5b pop ebx
|
||
00052 8b e5 mov esp, ebp
|
||
00054 5d pop ebp
|
||
00055 c3 ret 0
|
||
00056 cc int 3
|
||
00057 cc int 3
|
||
00058 cc int 3
|
||
00059 cc int 3
|
||
0005a cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::CopyCharsOverlapped
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z
|
||
_TEXT SEGMENT
|
||
_pszBuffer$1 = -16 ; size = 4
|
||
_nOffset$2 = -12 ; size = 4
|
||
_nOldLength$3 = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_pszSrc$ = 8 ; size = 4
|
||
_nLength$ = 12 ; size = 4
|
||
?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::SetString, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 607 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 50 sub esp, 80 ; 00000050H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 608 : if( nLength == 0 )
|
||
|
||
0000c 83 7d 0c 00 cmp DWORD PTR _nLength$[ebp], 0
|
||
00010 75 0d jne SHORT $LN2@SetString
|
||
|
||
; 609 : {
|
||
; 610 : Empty();
|
||
|
||
00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00015 e8 00 00 00 00 call ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ ; ATL::CSimpleStringT<wchar_t,0>::Empty
|
||
|
||
; 611 : }
|
||
|
||
0001a e9 96 00 00 00 jmp $LN7@SetString
|
||
$LN2@SetString:
|
||
|
||
; 612 : else
|
||
; 613 : {
|
||
; 614 : // It is possible that pszSrc points to a location inside of our
|
||
; 615 : // buffer. GetBuffer() might change m_pszData if (1) the buffer
|
||
; 616 : // is shared or (2) the buffer is too small to hold the new
|
||
; 617 : // string. We detect this aliasing, and modify pszSrc to point
|
||
; 618 : // into the newly allocated buffer instead.
|
||
; 619 :
|
||
; 620 : if(pszSrc == NULL)
|
||
|
||
0001f 83 7d 08 00 cmp DWORD PTR _pszSrc$[ebp], 0
|
||
00023 75 0a jne SHORT $LN4@SetString
|
||
|
||
; 621 : AtlThrow(E_INVALIDARG);
|
||
|
||
00025 68 57 00 07 80 push -2147024809 ; 80070057H
|
||
0002a e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN4@SetString:
|
||
|
||
; 622 :
|
||
; 623 : UINT nOldLength = GetLength();
|
||
|
||
0002f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00032 e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
|
||
00037 89 45 f8 mov DWORD PTR _nOldLength$3[ebp], eax
|
||
|
||
; 624 : UINT_PTR nOffset = pszSrc-GetString();
|
||
|
||
0003a 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0003d e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
|
||
00042 8b 4d 08 mov ecx, DWORD PTR _pszSrc$[ebp]
|
||
00045 2b c8 sub ecx, eax
|
||
00047 d1 f9 sar ecx, 1
|
||
00049 89 4d f4 mov DWORD PTR _nOffset$2[ebp], ecx
|
||
|
||
; 625 : // If 0 <= nOffset <= nOldLength, then pszSrc points into our
|
||
; 626 : // buffer
|
||
; 627 :
|
||
; 628 : PXSTR pszBuffer = GetBuffer( nLength );
|
||
|
||
0004c 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
0004f 50 push eax
|
||
00050 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00053 e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
|
||
00058 89 45 f0 mov DWORD PTR _pszBuffer$1[ebp], eax
|
||
|
||
; 629 : if( nOffset <= nOldLength )
|
||
|
||
0005b 8b 45 f4 mov eax, DWORD PTR _nOffset$2[ebp]
|
||
0005e 3b 45 f8 cmp eax, DWORD PTR _nOldLength$3[ebp]
|
||
00061 77 25 ja SHORT $LN5@SetString
|
||
|
||
; 630 : {
|
||
; 631 : CopyCharsOverlapped( pszBuffer, GetAllocLength(),
|
||
|
||
00063 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
00066 50 push eax
|
||
00067 8b 4d f4 mov ecx, DWORD PTR _nOffset$2[ebp]
|
||
0006a 8b 55 f0 mov edx, DWORD PTR _pszBuffer$1[ebp]
|
||
0006d 8d 04 4a lea eax, DWORD PTR [edx+ecx*2]
|
||
00070 50 push eax
|
||
00071 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00074 e8 00 00 00 00 call ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength
|
||
00079 50 push eax
|
||
0007a 8b 4d f0 mov ecx, DWORD PTR _pszBuffer$1[ebp]
|
||
0007d 51 push ecx
|
||
0007e e8 00 00 00 00 call ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::CopyCharsOverlapped
|
||
00083 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 632 : pszBuffer+nOffset, nLength );
|
||
; 633 : }
|
||
|
||
00086 eb 21 jmp SHORT $LN6@SetString
|
||
$LN5@SetString:
|
||
|
||
; 634 : else
|
||
; 635 : {
|
||
; 636 : memcpy_s( pszBuffer, GetAllocLength() * sizeof( XCHAR ), pszSrc, nLength * sizeof( XCHAR ));
|
||
|
||
00088 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
0008b d1 e0 shl eax, 1
|
||
0008d 50 push eax
|
||
0008e 8b 4d 08 mov ecx, DWORD PTR _pszSrc$[ebp]
|
||
00091 51 push ecx
|
||
00092 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00095 e8 00 00 00 00 call ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength
|
||
0009a d1 e0 shl eax, 1
|
||
0009c 50 push eax
|
||
0009d 8b 55 f0 mov edx, DWORD PTR _pszBuffer$1[ebp]
|
||
000a0 52 push edx
|
||
000a1 e8 00 00 00 00 call _memcpy_s
|
||
000a6 83 c4 10 add esp, 16 ; 00000010H
|
||
$LN6@SetString:
|
||
|
||
; 637 : }
|
||
; 638 : ReleaseBufferSetLength( nLength );
|
||
|
||
000a9 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
000ac 50 push eax
|
||
000ad 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
000b0 e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
|
||
$LN7@SetString:
|
||
|
||
; 639 : }
|
||
; 640 : }
|
||
|
||
000b5 5f pop edi
|
||
000b6 5e pop esi
|
||
000b7 5b pop ebx
|
||
000b8 8b e5 mov esp, ebp
|
||
000ba 5d pop ebp
|
||
000bb c2 08 00 ret 8
|
||
?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::SetString
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_pszSrc$ = 8 ; size = 4
|
||
?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::SetString, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 601 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 602 : SetString( pszSrc, StringLength( pszSrc ) );
|
||
|
||
0000c 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
0000f 50 push eax
|
||
00010 e8 00 00 00 00 call ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::StringLength
|
||
00015 83 c4 04 add esp, 4
|
||
00018 50 push eax
|
||
00019 8b 4d 08 mov ecx, DWORD PTR _pszSrc$[ebp]
|
||
0001c 51 push ecx
|
||
0001d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00020 e8 00 00 00 00 call ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString
|
||
|
||
; 603 : }
|
||
|
||
00025 5f pop edi
|
||
00026 5e pop esi
|
||
00027 5b pop ebx
|
||
00028 8b e5 mov esp, ebp
|
||
0002a 5d pop ebp
|
||
0002b c2 04 00 ret 4
|
||
?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::SetString
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_nNewLength$ = 8 ; size = 4
|
||
?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 566 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 567 : ATLASSERT( nNewLength >= 0 );
|
||
; 568 : SetLength( nNewLength );
|
||
|
||
0000c 8b 45 08 mov eax, DWORD PTR _nNewLength$[ebp]
|
||
0000f 50 push eax
|
||
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00013 e8 00 00 00 00 call ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetLength
|
||
|
||
; 569 : }
|
||
|
||
00018 5f pop edi
|
||
00019 5e pop esi
|
||
0001a 5b pop ebx
|
||
0001b 8b e5 mov esp, ebp
|
||
0001d 5d pop ebp
|
||
0001e c2 04 00 ret 4
|
||
?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?IsEmpty@?$CSimpleStringT@_W$0A@@ATL@@QBE_NXZ
|
||
_TEXT SEGMENT
|
||
tv67 = -72 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
?IsEmpty@?$CSimpleStringT@_W$0A@@ATL@@QBE_NXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::IsEmpty, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 532 : {
|
||
|
||
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
|
||
|
||
; 533 : return( GetLength() == 0 );
|
||
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
|
||
00014 85 c0 test eax, eax
|
||
00016 75 09 jne SHORT $LN3@IsEmpty
|
||
00018 c7 45 b8 01 00
|
||
00 00 mov DWORD PTR tv67[ebp], 1
|
||
0001f eb 07 jmp SHORT $LN4@IsEmpty
|
||
$LN3@IsEmpty:
|
||
00021 c7 45 b8 00 00
|
||
00 00 mov DWORD PTR tv67[ebp], 0
|
||
$LN4@IsEmpty:
|
||
00028 8a 45 b8 mov al, BYTE PTR tv67[ebp]
|
||
|
||
; 534 : }
|
||
|
||
0002b 5f pop edi
|
||
0002c 5e pop esi
|
||
0002d 5b pop ebx
|
||
0002e 8b e5 mov esp, ebp
|
||
00030 5d pop ebp
|
||
00031 c3 ret 0
|
||
?IsEmpty@?$CSimpleStringT@_W$0A@@ATL@@QBE_NXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::IsEmpty
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::GetString, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 528 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 529 : return( m_pszData );
|
||
|
||
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0000f 8b 00 mov eax, DWORD PTR [eax]
|
||
|
||
; 530 : }
|
||
|
||
00011 5f pop edi
|
||
00012 5e pop esi
|
||
00013 5b pop ebx
|
||
00014 8b e5 mov esp, ebp
|
||
00016 5d pop ebp
|
||
00017 c3 ret 0
|
||
?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetString
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?GetManager@?$CSimpleStringT@_W$0A@@ATL@@QBEPAUIAtlStringMgr@2@XZ
|
||
_TEXT SEGMENT
|
||
tv72 = -76 ; size = 4
|
||
_pStringMgr$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
?GetManager@?$CSimpleStringT@_W$0A@@ATL@@QBEPAUIAtlStringMgr@2@XZ PROC ; ATL::CSimpleStringT<wchar_t,0>::GetManager, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 522 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 4c sub esp, 76 ; 0000004cH
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 523 : IAtlStringMgr* pStringMgr = GetData()->pStringMgr;
|
||
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
00014 8b 00 mov eax, DWORD PTR [eax]
|
||
00016 89 45 f8 mov DWORD PTR _pStringMgr$[ebp], eax
|
||
|
||
; 524 : return pStringMgr ? pStringMgr->Clone() : NULL;
|
||
|
||
00019 83 7d f8 00 cmp DWORD PTR _pStringMgr$[ebp], 0
|
||
0001d 74 12 je SHORT $LN3@GetManager
|
||
0001f 8b 45 f8 mov eax, DWORD PTR _pStringMgr$[ebp]
|
||
00022 8b 10 mov edx, DWORD PTR [eax]
|
||
00024 8b 4d f8 mov ecx, DWORD PTR _pStringMgr$[ebp]
|
||
00027 8b 42 10 mov eax, DWORD PTR [edx+16]
|
||
0002a ff d0 call eax
|
||
0002c 89 45 b4 mov DWORD PTR tv72[ebp], eax
|
||
0002f eb 07 jmp SHORT $LN4@GetManager
|
||
$LN3@GetManager:
|
||
00031 c7 45 b4 00 00
|
||
00 00 mov DWORD PTR tv72[ebp], 0
|
||
$LN4@GetManager:
|
||
00038 8b 45 b4 mov eax, DWORD PTR tv72[ebp]
|
||
|
||
; 525 : }
|
||
|
||
0003b 5f pop edi
|
||
0003c 5e pop esi
|
||
0003d 5b pop ebx
|
||
0003e 8b e5 mov esp, ebp
|
||
00040 5d pop ebp
|
||
00041 c3 ret 0
|
||
?GetManager@?$CSimpleStringT@_W$0A@@ATL@@QBEPAUIAtlStringMgr@2@XZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetManager
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::GetLength, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 518 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 519 : return( GetData()->nDataLength );
|
||
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
00014 8b 40 04 mov eax, DWORD PTR [eax+4]
|
||
|
||
; 520 : }
|
||
|
||
00017 5f pop edi
|
||
00018 5e pop esi
|
||
00019 5b pop ebx
|
||
0001a 8b e5 mov esp, ebp
|
||
0001c 5d pop ebp
|
||
0001d c3 ret 0
|
||
?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetLength
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_nMinBufferLength$ = 8 ; size = 4
|
||
?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 507 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 508 : return( PrepareWrite( nMinBufferLength ) );
|
||
|
||
0000c 8b 45 08 mov eax, DWORD PTR _nMinBufferLength$[ebp]
|
||
0000f 50 push eax
|
||
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00013 e8 00 00 00 00 call ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite
|
||
|
||
; 509 : }
|
||
|
||
00018 5f pop edi
|
||
00019 5e pop esi
|
||
0001a 5b pop ebx
|
||
0001b 8b e5 mov esp, ebp
|
||
0001d 5d pop ebp
|
||
0001e c2 04 00 ret 4
|
||
?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 485 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 486 : return( GetData()->nAllocLength );
|
||
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
00014 8b 40 08 mov eax, DWORD PTR [eax+8]
|
||
|
||
; 487 : }
|
||
|
||
00017 5f pop edi
|
||
00018 5e pop esi
|
||
00019 5b pop ebx
|
||
0001a 8b e5 mov esp, ebp
|
||
0001c 5d pop ebp
|
||
0001d c3 ret 0
|
||
?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ
|
||
_TEXT SEGMENT
|
||
_pNewData$2 = -28 ; size = 4
|
||
_pStringMgr$ = -24 ; size = 4
|
||
_pOldData$ = -20 ; size = 4
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::Empty, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 436 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 50 sub esp, 80 ; 00000050H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 437 : CStringData* pOldData = GetData();
|
||
|
||
0002b 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
0002e e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
00033 89 45 ec mov DWORD PTR _pOldData$[ebp], eax
|
||
|
||
; 438 : IAtlStringMgr* pStringMgr = pOldData->pStringMgr;
|
||
|
||
00036 8b 45 ec mov eax, DWORD PTR _pOldData$[ebp]
|
||
00039 8b 08 mov ecx, DWORD PTR [eax]
|
||
0003b 89 4d e8 mov DWORD PTR _pStringMgr$[ebp], ecx
|
||
|
||
; 439 : if( pOldData->nDataLength == 0 )
|
||
|
||
0003e 8b 45 ec mov eax, DWORD PTR _pOldData$[ebp]
|
||
00041 83 78 04 00 cmp DWORD PTR [eax+4], 0
|
||
00045 75 02 jne SHORT $LN2@Empty
|
||
|
||
; 440 : {
|
||
; 441 : return;
|
||
|
||
00047 eb 3f jmp SHORT $LN1@Empty
|
||
$LN2@Empty:
|
||
|
||
; 442 : }
|
||
; 443 :
|
||
; 444 : if( pOldData->IsLocked() )
|
||
|
||
00049 8b 4d ec mov ecx, DWORD PTR _pOldData$[ebp]
|
||
0004c e8 00 00 00 00 call ?IsLocked@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsLocked
|
||
00051 0f b6 c0 movzx eax, al
|
||
00054 85 c0 test eax, eax
|
||
00056 74 0c je SHORT $LN3@Empty
|
||
|
||
; 445 : {
|
||
; 446 : // Don't reallocate a locked buffer that's shrinking
|
||
; 447 : SetLength( 0 );
|
||
|
||
00058 6a 00 push 0
|
||
0005a 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
0005d e8 00 00 00 00 call ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetLength
|
||
|
||
; 448 : }
|
||
|
||
00062 eb 24 jmp SHORT $LN1@Empty
|
||
$LN3@Empty:
|
||
|
||
; 449 : else
|
||
; 450 : {
|
||
; 451 : pOldData->Release();
|
||
|
||
00064 8b 4d ec mov ecx, DWORD PTR _pOldData$[ebp]
|
||
00067 e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release
|
||
|
||
; 452 : CStringData* pNewData = pStringMgr->GetNilString();
|
||
|
||
0006c 8b 45 e8 mov eax, DWORD PTR _pStringMgr$[ebp]
|
||
0006f 8b 10 mov edx, DWORD PTR [eax]
|
||
00071 8b 4d e8 mov ecx, DWORD PTR _pStringMgr$[ebp]
|
||
00074 8b 42 0c mov eax, DWORD PTR [edx+12]
|
||
00077 ff d0 call eax
|
||
00079 89 45 e4 mov DWORD PTR _pNewData$2[ebp], eax
|
||
|
||
; 453 : Attach( pNewData );
|
||
|
||
0007c 8b 45 e4 mov eax, DWORD PTR _pNewData$2[ebp]
|
||
0007f 50 push eax
|
||
00080 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00083 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
|
||
$LN1@Empty:
|
||
|
||
; 454 : }
|
||
; 455 : }
|
||
|
||
00088 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0008b 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00092 59 pop ecx
|
||
00093 5f pop edi
|
||
00094 5e pop esi
|
||
00095 5b pop ebx
|
||
00096 8b e5 mov esp, ebp
|
||
00098 5d pop ebp
|
||
00099 c3 ret 0
|
||
0009a cc int 3
|
||
0009b cc int 3
|
||
0009c cc int 3
|
||
0009d cc int 3
|
||
0009e cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a a0 mov ecx, DWORD PTR [edx-96]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::Empty
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 376 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 377 : return( m_pszData );
|
||
|
||
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0000f 8b 00 mov eax, DWORD PTR [eax]
|
||
|
||
; 378 : }
|
||
|
||
00011 5f pop edi
|
||
00012 5e pop esi
|
||
00013 5b pop ebx
|
||
00014 8b e5 mov esp, ebp
|
||
00016 5d pop ebp
|
||
00017 c3 ret 0
|
||
??B?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::operator wchar_t const *
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_pszSrc$ = 8 ; size = 4
|
||
??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::operator=, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 313 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 314 : SetString( pszSrc );
|
||
|
||
0000c 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
0000f 50 push eax
|
||
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00013 e8 00 00 00 00 call ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString
|
||
|
||
; 315 :
|
||
; 316 : return( *this );
|
||
|
||
00018 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
|
||
; 317 : }
|
||
|
||
0001b 5f pop edi
|
||
0001c 5e pop esi
|
||
0001d 5b pop ebx
|
||
0001e 8b e5 mov esp, ebp
|
||
00020 5d pop ebp
|
||
00021 c2 04 00 ret 4
|
||
??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::operator=
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@ABV01@@Z
|
||
_TEXT SEGMENT
|
||
tv84 = -88 ; size = 4
|
||
tv86 = -84 ; size = 4
|
||
_pNewData$1 = -16 ; size = 4
|
||
_pOldData$ = -12 ; size = 4
|
||
_pSrcData$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_strSrc$ = 8 ; size = 4
|
||
??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@ABV01@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::operator=, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 271 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 58 sub esp, 88 ; 00000058H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 272 : CStringData* pSrcData = strSrc.GetData();
|
||
|
||
0000c 8b 4d 08 mov ecx, DWORD PTR _strSrc$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
00014 89 45 f8 mov DWORD PTR _pSrcData$[ebp], eax
|
||
|
||
; 273 : CStringData* pOldData = GetData();
|
||
|
||
00017 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0001a e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
0001f 89 45 f4 mov DWORD PTR _pOldData$[ebp], eax
|
||
|
||
; 274 : if( pSrcData != pOldData)
|
||
|
||
00022 8b 45 f8 mov eax, DWORD PTR _pSrcData$[ebp]
|
||
00025 3b 45 f4 cmp eax, DWORD PTR _pOldData$[ebp]
|
||
00028 74 66 je SHORT $LN2@operator
|
||
|
||
; 275 : {
|
||
; 276 : if( pOldData->IsLocked() || pSrcData->pStringMgr != pOldData->pStringMgr )
|
||
|
||
0002a 8b 4d f4 mov ecx, DWORD PTR _pOldData$[ebp]
|
||
0002d e8 00 00 00 00 call ?IsLocked@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsLocked
|
||
00032 0f b6 c0 movzx eax, al
|
||
00035 85 c0 test eax, eax
|
||
00037 75 0c jne SHORT $LN5@operator
|
||
00039 8b 45 f8 mov eax, DWORD PTR _pSrcData$[ebp]
|
||
0003c 8b 4d f4 mov ecx, DWORD PTR _pOldData$[ebp]
|
||
0003f 8b 10 mov edx, DWORD PTR [eax]
|
||
00041 3b 11 cmp edx, DWORD PTR [ecx]
|
||
00043 74 28 je SHORT $LN3@operator
|
||
$LN5@operator:
|
||
|
||
; 277 : {
|
||
; 278 : SetString( strSrc.GetString(), strSrc.GetLength() );
|
||
|
||
00045 8b 4d 08 mov ecx, DWORD PTR _strSrc$[ebp]
|
||
00048 e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
|
||
0004d 89 45 ac mov DWORD PTR tv86[ebp], eax
|
||
00050 8b 4d 08 mov ecx, DWORD PTR _strSrc$[ebp]
|
||
00053 e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
|
||
00058 89 45 a8 mov DWORD PTR tv84[ebp], eax
|
||
0005b 8b 45 ac mov eax, DWORD PTR tv86[ebp]
|
||
0005e 50 push eax
|
||
0005f 8b 4d a8 mov ecx, DWORD PTR tv84[ebp]
|
||
00062 51 push ecx
|
||
00063 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00066 e8 00 00 00 00 call ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString
|
||
|
||
; 279 : }
|
||
|
||
0006b eb 23 jmp SHORT $LN2@operator
|
||
$LN3@operator:
|
||
|
||
; 280 : else
|
||
; 281 : {
|
||
; 282 : CStringData* pNewData = CloneData( pSrcData );
|
||
|
||
0006d 8b 45 f8 mov eax, DWORD PTR _pSrcData$[ebp]
|
||
00070 50 push eax
|
||
00071 e8 00 00 00 00 call ?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z ; ATL::CSimpleStringT<wchar_t,0>::CloneData
|
||
00076 83 c4 04 add esp, 4
|
||
00079 89 45 f0 mov DWORD PTR _pNewData$1[ebp], eax
|
||
|
||
; 283 : pOldData->Release();
|
||
|
||
0007c 8b 4d f4 mov ecx, DWORD PTR _pOldData$[ebp]
|
||
0007f e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release
|
||
|
||
; 284 : Attach( pNewData );
|
||
|
||
00084 8b 45 f0 mov eax, DWORD PTR _pNewData$1[ebp]
|
||
00087 50 push eax
|
||
00088 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0008b e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
|
||
$LN2@operator:
|
||
|
||
; 285 : }
|
||
; 286 : }
|
||
; 287 :
|
||
; 288 : return( *this );
|
||
|
||
00090 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
|
||
; 289 : }
|
||
|
||
00093 5f pop edi
|
||
00094 5e pop esi
|
||
00095 5b pop ebx
|
||
00096 8b e5 mov esp, ebp
|
||
00098 5d pop ebp
|
||
00099 c2 04 00 ret 4
|
||
??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@ABV01@@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::operator=
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ
|
||
_TEXT SEGMENT
|
||
_pData$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ PROC ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 260 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 48 sub esp, 72 ; 00000048H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 261 : CStringData* pData = GetData();
|
||
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
00014 89 45 f8 mov DWORD PTR _pData$[ebp], eax
|
||
|
||
; 262 : pData->Release();
|
||
|
||
00017 8b 4d f8 mov ecx, DWORD PTR _pData$[ebp]
|
||
0001a e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release
|
||
|
||
; 263 : }
|
||
|
||
0001f 5f pop edi
|
||
00020 5e pop esi
|
||
00021 5b pop ebx
|
||
00022 8b e5 mov esp, ebp
|
||
00024 5d pop ebp
|
||
00025 c3 ret 0
|
||
??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z
|
||
_TEXT SEGMENT
|
||
tv80 = -80 ; size = 4
|
||
tv65 = -80 ; size = 4
|
||
_pData$ = -12 ; size = 4
|
||
___atl_condVal$1 = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_pchSrc$ = 8 ; size = 4
|
||
_nLength$ = 12 ; size = 4
|
||
_pStringMgr$ = 16 ; size = 4
|
||
??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 240 : CSimpleStringT(
|
||
|
||
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:
|
||
|
||
; 241 : _In_reads_(nLength) const XCHAR* pchSrc,
|
||
; 242 : _In_ int nLength,
|
||
; 243 : _Inout_ IAtlStringMgr* pStringMgr)
|
||
; 244 : {
|
||
; 245 : ATLENSURE( pStringMgr != NULL );
|
||
|
||
0000c 83 7d 10 00 cmp DWORD PTR _pStringMgr$[ebp], 0
|
||
00010 74 09 je SHORT $LN12@CSimpleStr
|
||
00012 c7 45 b0 01 00
|
||
00 00 mov DWORD PTR tv65[ebp], 1
|
||
00019 eb 07 jmp SHORT $LN13@CSimpleStr
|
||
$LN12@CSimpleStr:
|
||
0001b c7 45 b0 00 00
|
||
00 00 mov DWORD PTR tv65[ebp], 0
|
||
$LN13@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
|
||
|
||
; 246 :
|
||
; 247 : if(pchSrc == NULL && nLength != 0)
|
||
|
||
00040 83 7d 08 00 cmp DWORD PTR _pchSrc$[ebp], 0
|
||
00044 75 10 jne SHORT $LN9@CSimpleStr
|
||
00046 83 7d 0c 00 cmp DWORD PTR _nLength$[ebp], 0
|
||
0004a 74 0a je SHORT $LN9@CSimpleStr
|
||
|
||
; 248 : AtlThrow(E_INVALIDARG);
|
||
|
||
0004c 68 57 00 07 80 push -2147024809 ; 80070057H
|
||
00051 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN9@CSimpleStr:
|
||
|
||
; 249 :
|
||
; 250 : CStringData* pData = pStringMgr->Allocate( nLength, sizeof( XCHAR ) );
|
||
|
||
00056 8b 45 10 mov eax, DWORD PTR _pStringMgr$[ebp]
|
||
00059 8b 08 mov ecx, DWORD PTR [eax]
|
||
0005b 8b 11 mov edx, DWORD PTR [ecx]
|
||
0005d 89 55 b0 mov DWORD PTR tv80[ebp], edx
|
||
00060 6a 02 push 2
|
||
00062 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
00065 50 push eax
|
||
00066 8b 4d 10 mov ecx, DWORD PTR _pStringMgr$[ebp]
|
||
00069 ff 55 b0 call DWORD PTR tv80[ebp]
|
||
0006c 89 45 f4 mov DWORD PTR _pData$[ebp], eax
|
||
|
||
; 251 : if( pData == NULL )
|
||
|
||
0006f 83 7d f4 00 cmp DWORD PTR _pData$[ebp], 0
|
||
00073 75 05 jne SHORT $LN10@CSimpleStr
|
||
|
||
; 252 : {
|
||
; 253 : ThrowMemoryException();
|
||
|
||
00075 e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
|
||
$LN10@CSimpleStr:
|
||
|
||
; 254 : }
|
||
; 255 : Attach( pData );
|
||
|
||
0007a 8b 45 f4 mov eax, DWORD PTR _pData$[ebp]
|
||
0007d 50 push eax
|
||
0007e 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00081 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
|
||
|
||
; 256 : SetLength( nLength );
|
||
|
||
00086 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
00089 50 push eax
|
||
0008a 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0008d e8 00 00 00 00 call ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetLength
|
||
|
||
; 257 : memcpy_s( m_pszData, nLength * sizeof( XCHAR ), pchSrc, nLength * sizeof( XCHAR ));
|
||
|
||
00092 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
00095 d1 e0 shl eax, 1
|
||
00097 50 push eax
|
||
00098 8b 4d 08 mov ecx, DWORD PTR _pchSrc$[ebp]
|
||
0009b 51 push ecx
|
||
0009c 8b 55 0c mov edx, DWORD PTR _nLength$[ebp]
|
||
0009f d1 e2 shl edx, 1
|
||
000a1 52 push edx
|
||
000a2 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
000a5 8b 08 mov ecx, DWORD PTR [eax]
|
||
000a7 51 push ecx
|
||
000a8 e8 00 00 00 00 call _memcpy_s
|
||
000ad 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 258 : }
|
||
|
||
000b0 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
$LN11@CSimpleStr:
|
||
000b3 5f pop edi
|
||
000b4 5e pop esi
|
||
000b5 5b pop ebx
|
||
000b6 8b e5 mov esp, ebp
|
||
000b8 5d pop ebp
|
||
000b9 c2 0c 00 ret 12 ; 0000000cH
|
||
??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PB_WHPAUIAtlStringMgr@1@@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@ABV01@@Z
|
||
_TEXT SEGMENT
|
||
_pNewData$ = -12 ; size = 4
|
||
_pSrcData$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_strSrc$ = 8 ; size = 4
|
||
??0?$CSimpleStringT@_W$0A@@ATL@@QAE@ABV01@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 210 : CSimpleStringT(_In_ const CSimpleStringT& strSrc)
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 4c sub esp, 76 ; 0000004cH
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 211 : {
|
||
; 212 : CStringData* pSrcData = strSrc.GetData();
|
||
|
||
0000c 8b 4d 08 mov ecx, DWORD PTR _strSrc$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
00014 89 45 f8 mov DWORD PTR _pSrcData$[ebp], eax
|
||
|
||
; 213 : CStringData* pNewData = CloneData( pSrcData );
|
||
|
||
00017 8b 45 f8 mov eax, DWORD PTR _pSrcData$[ebp]
|
||
0001a 50 push eax
|
||
0001b e8 00 00 00 00 call ?CloneData@?$CSimpleStringT@_W$0A@@ATL@@CAPAUCStringData@2@PAU32@@Z ; ATL::CSimpleStringT<wchar_t,0>::CloneData
|
||
00020 83 c4 04 add esp, 4
|
||
00023 89 45 f4 mov DWORD PTR _pNewData$[ebp], eax
|
||
|
||
; 214 : Attach( pNewData );
|
||
|
||
00026 8b 45 f4 mov eax, DWORD PTR _pNewData$[ebp]
|
||
00029 50 push eax
|
||
0002a 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0002d e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
|
||
|
||
; 215 : }
|
||
|
||
00032 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00035 5f pop edi
|
||
00036 5e pop esi
|
||
00037 5b pop ebx
|
||
00038 8b e5 mov esp, ebp
|
||
0003a 5d pop ebp
|
||
0003b c2 04 00 ret 4
|
||
??0?$CSimpleStringT@_W$0A@@ATL@@QAE@ABV01@@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z
|
||
_TEXT SEGMENT
|
||
tv65 = -80 ; size = 4
|
||
_pData$ = -12 ; size = 4
|
||
___atl_condVal$1 = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_pStringMgr$ = 8 ; size = 4
|
||
??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 203 : explicit CSimpleStringT(_Inout_ IAtlStringMgr* pStringMgr)
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 50 sub esp, 80 ; 00000050H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
$LN4@CSimpleStr:
|
||
|
||
; 204 : {
|
||
; 205 : ATLENSURE( pStringMgr != NULL );
|
||
|
||
0000c 83 7d 08 00 cmp DWORD PTR _pStringMgr$[ebp], 0
|
||
00010 74 09 je SHORT $LN10@CSimpleStr
|
||
00012 c7 45 b0 01 00
|
||
00 00 mov DWORD PTR tv65[ebp], 1
|
||
00019 eb 07 jmp SHORT $LN11@CSimpleStr
|
||
$LN10@CSimpleStr:
|
||
0001b c7 45 b0 00 00
|
||
00 00 mov DWORD PTR tv65[ebp], 0
|
||
$LN11@CSimpleStr:
|
||
00022 8b 45 b0 mov eax, DWORD PTR tv65[ebp]
|
||
00025 89 45 f8 mov DWORD PTR ___atl_condVal$1[ebp], eax
|
||
$LN5@CSimpleStr:
|
||
00028 33 c0 xor eax, eax
|
||
0002a 75 fc jne SHORT $LN5@CSimpleStr
|
||
0002c 83 7d f8 00 cmp DWORD PTR ___atl_condVal$1[ebp], 0
|
||
00030 75 0a jne SHORT $LN2@CSimpleStr
|
||
00032 68 05 40 00 80 push -2147467259 ; 80004005H
|
||
00037 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN2@CSimpleStr:
|
||
0003c 33 c0 xor eax, eax
|
||
0003e 75 cc jne SHORT $LN4@CSimpleStr
|
||
|
||
; 206 : CStringData* pData = pStringMgr->GetNilString();
|
||
|
||
00040 8b 45 08 mov eax, DWORD PTR _pStringMgr$[ebp]
|
||
00043 8b 10 mov edx, DWORD PTR [eax]
|
||
00045 8b 4d 08 mov ecx, DWORD PTR _pStringMgr$[ebp]
|
||
00048 8b 42 0c mov eax, DWORD PTR [edx+12]
|
||
0004b ff d0 call eax
|
||
0004d 89 45 f4 mov DWORD PTR _pData$[ebp], eax
|
||
|
||
; 207 : Attach( pData );
|
||
|
||
00050 8b 45 f4 mov eax, DWORD PTR _pData$[ebp]
|
||
00053 50 push eax
|
||
00054 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00057 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
|
||
|
||
; 208 : }
|
||
|
||
0005c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
$LN9@CSimpleStr:
|
||
0005f 5f pop edi
|
||
00060 5e pop esi
|
||
00061 5b pop ebx
|
||
00062 8b e5 mov esp, ebp
|
||
00064 5d pop ebp
|
||
00065 c2 04 00 ret 4
|
||
??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z
|
||
_TEXT SEGMENT
|
||
tv67 = -80 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
_psz$ = 8 ; size = 4
|
||
?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z PROC ; ATL::ChTraitsCRT<wchar_t>::SafeStringLen, COMDAT
|
||
|
||
; 829 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 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
|
||
|
||
; 830 : // returns length in wchar_ts
|
||
; 831 : return (psz != NULL) ? (int)wcslen( psz ) : 0;
|
||
|
||
00028 83 7d 08 00 cmp DWORD PTR _psz$[ebp], 0
|
||
0002c 74 11 je SHORT $LN3@SafeString
|
||
0002e 8b 45 08 mov eax, DWORD PTR _psz$[ebp]
|
||
00031 50 push eax
|
||
00032 e8 00 00 00 00 call _wcslen
|
||
00037 83 c4 04 add esp, 4
|
||
0003a 89 45 b0 mov DWORD PTR tv67[ebp], eax
|
||
0003d eb 07 jmp SHORT $LN4@SafeString
|
||
$LN3@SafeString:
|
||
0003f c7 45 b0 00 00
|
||
00 00 mov DWORD PTR tv67[ebp], 0
|
||
$LN4@SafeString:
|
||
00046 8b 45 b0 mov eax, DWORD PTR tv67[ebp]
|
||
|
||
; 832 : }
|
||
|
||
00049 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0004c 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00053 59 pop ecx
|
||
00054 5f pop edi
|
||
00055 5e pop esi
|
||
00056 5b pop ebx
|
||
00057 8b e5 mov esp, ebp
|
||
00059 5d pop ebp
|
||
0005a c3 ret 0
|
||
0005b cc int 3
|
||
0005c cc int 3
|
||
0005d cc int 3
|
||
0005e cc int 3
|
||
0005f cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a ac mov ecx, DWORD PTR [edx-84]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?SafeStringLen@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::SafeStringLen
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z
|
||
_TEXT SEGMENT
|
||
_pszDest$ = 8 ; size = 4
|
||
_nDestLength$ = 12 ; size = 4
|
||
_pszSrc$ = 16 ; size = 4
|
||
_nSrcLength$ = 20 ; size = 4
|
||
?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z PROC ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType, COMDAT
|
||
|
||
; 789 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 40 sub esp, 64 ; 00000040H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
|
||
; 790 : if (nSrcLength == -1) { nSrcLength=1 + GetBaseTypeLength(pszSrc); }
|
||
|
||
00009 83 7d 14 ff cmp DWORD PTR _nSrcLength$[ebp], -1
|
||
0000d 75 12 jne SHORT $LN2@ConvertToB
|
||
0000f 8b 45 10 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
00012 50 push eax
|
||
00013 e8 00 00 00 00 call ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
|
||
00018 83 c4 04 add esp, 4
|
||
0001b 83 c0 01 add eax, 1
|
||
0001e 89 45 14 mov DWORD PTR _nSrcLength$[ebp], eax
|
||
$LN2@ConvertToB:
|
||
|
||
; 791 : // nLen is in wchar_ts
|
||
; 792 : Checked::wmemcpy_s(pszDest, nDestLength, pszSrc, nSrcLength);
|
||
|
||
00021 8b 45 14 mov eax, DWORD PTR _nSrcLength$[ebp]
|
||
00024 50 push eax
|
||
00025 8b 4d 10 mov ecx, DWORD PTR _pszSrc$[ebp]
|
||
00028 51 push ecx
|
||
00029 8b 55 0c mov edx, DWORD PTR _nDestLength$[ebp]
|
||
0002c 52 push edx
|
||
0002d 8b 45 08 mov eax, DWORD PTR _pszDest$[ebp]
|
||
00030 50 push eax
|
||
00031 e8 00 00 00 00 call ?wmemcpy_s@Checked@ATL@@YAXPA_WIPB_WI@Z ; ATL::Checked::wmemcpy_s
|
||
00036 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 793 : }
|
||
|
||
00039 5f pop edi
|
||
0003a 5e pop esi
|
||
0003b 5b pop ebx
|
||
0003c 8b e5 mov esp, ebp
|
||
0003e 5d pop ebp
|
||
0003f c3 ret 0
|
||
?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPBDH@Z
|
||
_TEXT SEGMENT
|
||
__$EHRec$ = -12 ; size = 12
|
||
_pszDest$ = 8 ; size = 4
|
||
_nDestLength$ = 12 ; size = 4
|
||
_pszSrc$ = 16 ; size = 4
|
||
_nSrcLength$ = 20 ; size = 4
|
||
?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPBDH@Z PROC ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType, COMDAT
|
||
|
||
; 779 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPBDH@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 40 sub esp, 64 ; 00000040H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
|
||
; 780 : // nLen is in wchar_ts
|
||
; 781 : ::MultiByteToWideChar( _AtlGetConversionACP(), 0, pszSrc, nSrcLength, pszDest, nDestLength );
|
||
|
||
00028 8b 45 0c mov eax, DWORD PTR _nDestLength$[ebp]
|
||
0002b 50 push eax
|
||
0002c 8b 4d 08 mov ecx, DWORD PTR _pszDest$[ebp]
|
||
0002f 51 push ecx
|
||
00030 8b 55 14 mov edx, DWORD PTR _nSrcLength$[ebp]
|
||
00033 52 push edx
|
||
00034 8b 45 10 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
00037 50 push eax
|
||
00038 6a 00 push 0
|
||
0003a e8 00 00 00 00 call ?_AtlGetConversionACP@ATL@@YGIXZ ; ATL::_AtlGetConversionACP
|
||
0003f 50 push eax
|
||
00040 ff 15 00 00 00
|
||
00 call DWORD PTR __imp__MultiByteToWideChar@24
|
||
|
||
; 782 : }
|
||
|
||
00046 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00049 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00050 59 pop ecx
|
||
00051 5f pop edi
|
||
00052 5e pop esi
|
||
00053 5b pop ebx
|
||
00054 8b e5 mov esp, ebp
|
||
00056 5d pop ebp
|
||
00057 c3 ret 0
|
||
00058 cc int 3
|
||
00059 cc int 3
|
||
0005a cc int 3
|
||
0005b cc int 3
|
||
0005c cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPBDH@Z:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPBDH@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPBDH@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z
|
||
_TEXT SEGMENT
|
||
_pszSrc$ = 8 ; size = 4
|
||
_nLength$ = 12 ; size = 4
|
||
?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z PROC ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength, COMDAT
|
||
|
||
; 768 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 40 sub esp, 64 ; 00000040H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
|
||
; 769 : (void)pszSrc;
|
||
; 770 : // Returns required buffer size in wchar_ts
|
||
; 771 : return nLength;
|
||
|
||
00009 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
|
||
; 772 : }
|
||
|
||
0000c 5f pop edi
|
||
0000d 5e pop esi
|
||
0000e 5b pop ebx
|
||
0000f 8b e5 mov esp, ebp
|
||
00011 5d pop ebp
|
||
00012 c3 ret 0
|
||
?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z
|
||
_TEXT SEGMENT
|
||
__$EHRec$ = -12 ; size = 12
|
||
_pszSrc$ = 8 ; size = 4
|
||
?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z PROC ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength, COMDAT
|
||
|
||
; 760 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 40 sub esp, 64 ; 00000040H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
|
||
; 761 : // Returns required buffer size in wchar_ts
|
||
; 762 : return AtlStrLen( pszSrc );
|
||
|
||
00028 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
0002b 50 push eax
|
||
0002c e8 00 00 00 00 call ?AtlStrLen@ATL@@YAHPB_W@Z ; ATL::AtlStrLen
|
||
00031 83 c4 04 add esp, 4
|
||
|
||
; 763 : }
|
||
|
||
00034 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00037 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
0003e 59 pop ecx
|
||
0003f 5f pop edi
|
||
00040 5e pop esi
|
||
00041 5b pop ebx
|
||
00042 8b e5 mov esp, ebp
|
||
00044 5d pop ebp
|
||
00045 c3 ret 0
|
||
00046 cc int 3
|
||
00047 cc int 3
|
||
00048 cc int 3
|
||
00049 cc int 3
|
||
0004a cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPBD@Z
|
||
_TEXT SEGMENT
|
||
__$EHRec$ = -12 ; size = 12
|
||
_pszSrc$ = 8 ; size = 4
|
||
?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPBD@Z PROC ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength, COMDAT
|
||
|
||
; 746 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPBD@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 40 sub esp, 64 ; 00000040H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
|
||
; 747 : // Returns required buffer size in wchar_ts
|
||
; 748 : return ::MultiByteToWideChar( _AtlGetConversionACP(), 0, pszSrc, -1, NULL, 0 )-1;
|
||
|
||
00028 6a 00 push 0
|
||
0002a 6a 00 push 0
|
||
0002c 6a ff push -1
|
||
0002e 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
00031 50 push eax
|
||
00032 6a 00 push 0
|
||
00034 e8 00 00 00 00 call ?_AtlGetConversionACP@ATL@@YGIXZ ; ATL::_AtlGetConversionACP
|
||
00039 50 push eax
|
||
0003a ff 15 00 00 00
|
||
00 call DWORD PTR __imp__MultiByteToWideChar@24
|
||
00040 83 e8 01 sub eax, 1
|
||
|
||
; 749 : }
|
||
|
||
00043 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00046 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
0004d 59 pop ecx
|
||
0004e 5f pop edi
|
||
0004f 5e pop esi
|
||
00050 5b pop ebx
|
||
00051 8b e5 mov esp, ebp
|
||
00053 5d pop ebp
|
||
00054 c3 ret 0
|
||
00055 cc int 3
|
||
00056 cc int 3
|
||
00057 cc int 3
|
||
00058 cc int 3
|
||
00059 cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPBD@Z:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPBD@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPBD@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z
|
||
_TEXT SEGMENT
|
||
tv74 = -84 ; size = 4
|
||
_result$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
_pszBuffer$ = 8 ; size = 4
|
||
_nLength$ = 12 ; size = 4
|
||
_pszFormat$ = 16 ; size = 4
|
||
_args$ = 20 ; size = 4
|
||
?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z PROC ; ATL::ChTraitsCRT<wchar_t>::Format, COMDAT
|
||
|
||
; 728 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 48 sub esp, 72 ; 00000048H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
|
||
; 729 : #if _MSC_VER < 1900
|
||
; 730 : return vswprintf_s(pszBuffer, nLength, pszFormat, args);
|
||
; 731 : #else
|
||
; 732 : // Explicitly request the legacy wide format specifiers mode from the CRT,
|
||
; 733 : // for compatibility with previous versions. While the CRT supports two
|
||
; 734 : // modes, the ATL and MFC functions that accept format strings only support
|
||
; 735 : // legacy mode format strings.
|
||
; 736 : int const result = __stdio_common_vswprintf_s(
|
||
|
||
00028 8b 45 14 mov eax, DWORD PTR _args$[ebp]
|
||
0002b 50 push eax
|
||
0002c 6a 00 push 0
|
||
0002e 8b 4d 10 mov ecx, DWORD PTR _pszFormat$[ebp]
|
||
00031 51 push ecx
|
||
00032 8b 55 0c mov edx, DWORD PTR _nLength$[ebp]
|
||
00035 52 push edx
|
||
00036 8b 45 08 mov eax, DWORD PTR _pszBuffer$[ebp]
|
||
00039 50 push eax
|
||
0003a e8 00 00 00 00 call ___local_stdio_printf_options
|
||
0003f 8b 08 mov ecx, DWORD PTR [eax]
|
||
00041 83 c9 04 or ecx, 4
|
||
00044 8b 50 04 mov edx, DWORD PTR [eax+4]
|
||
00047 52 push edx
|
||
00048 51 push ecx
|
||
00049 e8 00 00 00 00 call ___stdio_common_vswprintf_s
|
||
0004e 83 c4 1c add esp, 28 ; 0000001cH
|
||
00051 89 45 f0 mov DWORD PTR _result$[ebp], eax
|
||
|
||
; 737 : _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS |
|
||
; 738 : _CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS,
|
||
; 739 : pszBuffer, nLength, pszFormat, NULL, args);
|
||
; 740 :
|
||
; 741 : return result < 0 ? -1 : result;
|
||
|
||
00054 83 7d f0 00 cmp DWORD PTR _result$[ebp], 0
|
||
00058 7d 09 jge SHORT $LN3@Format
|
||
0005a c7 45 ac ff ff
|
||
ff ff mov DWORD PTR tv74[ebp], -1
|
||
00061 eb 06 jmp SHORT $LN4@Format
|
||
$LN3@Format:
|
||
00063 8b 45 f0 mov eax, DWORD PTR _result$[ebp]
|
||
00066 89 45 ac mov DWORD PTR tv74[ebp], eax
|
||
$LN4@Format:
|
||
00069 8b 45 ac mov eax, DWORD PTR tv74[ebp]
|
||
|
||
; 742 : #endif
|
||
; 743 : }
|
||
|
||
0006c 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0006f 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00076 59 pop ecx
|
||
00077 5f pop edi
|
||
00078 5e pop esi
|
||
00079 5b pop ebx
|
||
0007a 8b e5 mov esp, ebp
|
||
0007c 5d pop ebp
|
||
0007d c3 ret 0
|
||
0007e cc int 3
|
||
0007f cc int 3
|
||
00080 cc int 3
|
||
00081 cc int 3
|
||
00082 cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a a8 mov ecx, DWORD PTR [edx-88]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?Format@?$ChTraitsCRT@_W@ATL@@SAHPA_WIPB_WPAD@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::Format
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z
|
||
_TEXT SEGMENT
|
||
tv75 = -84 ; size = 4
|
||
_result$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
_pszFormat$ = 8 ; size = 4
|
||
_args$ = 12 ; size = 4
|
||
?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z PROC ; ATL::ChTraitsCRT<wchar_t>::GetFormattedLength, COMDAT
|
||
|
||
; 682 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 48 sub esp, 72 ; 00000048H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
|
||
; 683 : #if _MSC_VER < 1900
|
||
; 684 : return _vscwprintf(pszFormat, args);
|
||
; 685 : #else
|
||
; 686 : // Explicitly request the legacy wide format specifiers mode from the CRT,
|
||
; 687 : // for compatibility with previous versions. While the CRT supports two
|
||
; 688 : // modes, the ATL and MFC functions that accept format strings only support
|
||
; 689 : // legacy mode format strings.
|
||
; 690 : int const result = __stdio_common_vswprintf(
|
||
|
||
00028 8b 45 0c mov eax, DWORD PTR _args$[ebp]
|
||
0002b 50 push eax
|
||
0002c 6a 00 push 0
|
||
0002e 8b 4d 08 mov ecx, DWORD PTR _pszFormat$[ebp]
|
||
00031 51 push ecx
|
||
00032 6a 00 push 0
|
||
00034 6a 00 push 0
|
||
00036 e8 00 00 00 00 call ___local_stdio_printf_options
|
||
0003b 8b 10 mov edx, DWORD PTR [eax]
|
||
0003d 83 ca 02 or edx, 2
|
||
00040 8b 40 04 mov eax, DWORD PTR [eax+4]
|
||
00043 83 ca 04 or edx, 4
|
||
00046 50 push eax
|
||
00047 52 push edx
|
||
00048 e8 00 00 00 00 call ___stdio_common_vswprintf
|
||
0004d 83 c4 1c add esp, 28 ; 0000001cH
|
||
00050 89 45 f0 mov DWORD PTR _result$[ebp], eax
|
||
|
||
; 691 : _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS |
|
||
; 692 : _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR |
|
||
; 693 : _CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS,
|
||
; 694 : NULL, 0, pszFormat, NULL, args);
|
||
; 695 :
|
||
; 696 : return result < 0 ? -1 : result;
|
||
|
||
00053 83 7d f0 00 cmp DWORD PTR _result$[ebp], 0
|
||
00057 7d 09 jge SHORT $LN3@GetFormatt
|
||
00059 c7 45 ac ff ff
|
||
ff ff mov DWORD PTR tv75[ebp], -1
|
||
00060 eb 06 jmp SHORT $LN4@GetFormatt
|
||
$LN3@GetFormatt:
|
||
00062 8b 45 f0 mov eax, DWORD PTR _result$[ebp]
|
||
00065 89 45 ac mov DWORD PTR tv75[ebp], eax
|
||
$LN4@GetFormatt:
|
||
00068 8b 45 ac mov eax, DWORD PTR tv75[ebp]
|
||
|
||
; 697 : #endif
|
||
; 698 : }
|
||
|
||
0006b 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0006e 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00075 59 pop ecx
|
||
00076 5f pop edi
|
||
00077 5e pop esi
|
||
00078 5b pop ebx
|
||
00079 8b e5 mov esp, ebp
|
||
0007b 5d pop ebp
|
||
0007c c3 ret 0
|
||
0007d cc int 3
|
||
0007e cc int 3
|
||
0007f cc int 3
|
||
00080 cc int 3
|
||
00081 cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a a8 mov ecx, DWORD PTR [edx-88]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?GetFormattedLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WPAD@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::GetFormattedLength
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?StringFindCharRev@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z
|
||
_TEXT SEGMENT
|
||
__$EHRec$ = -12 ; size = 12
|
||
_psz$ = 8 ; size = 4
|
||
_ch$ = 12 ; size = 2
|
||
?StringFindCharRev@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z PROC ; ATL::ChTraitsCRT<wchar_t>::StringFindCharRev, COMDAT
|
||
|
||
; 616 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?StringFindCharRev@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 40 sub esp, 64 ; 00000040H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
|
||
; 617 : return wcsrchr( psz, ch );
|
||
|
||
00028 0f b7 45 0c movzx eax, WORD PTR _ch$[ebp]
|
||
0002c 50 push eax
|
||
0002d 8b 4d 08 mov ecx, DWORD PTR _psz$[ebp]
|
||
00030 51 push ecx
|
||
00031 e8 00 00 00 00 call _wcsrchr
|
||
00036 83 c4 08 add esp, 8
|
||
|
||
; 618 : }
|
||
|
||
00039 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0003c 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00043 59 pop ecx
|
||
00044 5f pop edi
|
||
00045 5e pop esi
|
||
00046 5b pop ebx
|
||
00047 8b e5 mov esp, ebp
|
||
00049 5d pop ebp
|
||
0004a c3 ret 0
|
||
0004b cc int 3
|
||
0004c cc int 3
|
||
0004d cc int 3
|
||
0004e cc int 3
|
||
0004f cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?StringFindCharRev@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?StringFindCharRev@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?StringFindCharRev@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W_W@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::StringFindCharRev
|
||
; 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 ?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPA_WPA_WPB_W@Z
|
||
_TEXT SEGMENT
|
||
_pszBlock$ = 8 ; size = 4
|
||
_pszMatch$ = 12 ; size = 4
|
||
?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPA_WPA_WPB_W@Z PROC ; ATL::ChTraitsCRT<wchar_t>::StringFindString, COMDAT
|
||
|
||
; 602 : {
|
||
|
||
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
|
||
|
||
; 603 : return( const_cast< LPWSTR >( StringFindString( const_cast< LPCWSTR >( pszBlock ), pszMatch ) ) );
|
||
|
||
00009 8b 45 0c mov eax, DWORD PTR _pszMatch$[ebp]
|
||
0000c 50 push eax
|
||
0000d 8b 4d 08 mov ecx, DWORD PTR _pszBlock$[ebp]
|
||
00010 51 push ecx
|
||
00011 e8 00 00 00 00 call ?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z ; ATL::ChTraitsCRT<wchar_t>::StringFindString
|
||
00016 83 c4 08 add esp, 8
|
||
|
||
; 604 : }
|
||
|
||
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
|
||
?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPA_WPA_WPB_W@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::StringFindString
|
||
_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 ?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z
|
||
_TEXT SEGMENT
|
||
__$EHRec$ = -12 ; size = 12
|
||
_pszBlock$ = 8 ; size = 4
|
||
_pszMatch$ = 12 ; size = 4
|
||
?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z PROC ; ATL::ChTraitsCRT<wchar_t>::StringFindString, COMDAT
|
||
|
||
; 595 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@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
|
||
|
||
; 596 : return wcsstr( pszBlock, pszMatch );
|
||
|
||
00028 8b 45 0c mov eax, DWORD PTR _pszMatch$[ebp]
|
||
0002b 50 push eax
|
||
0002c 8b 4d 08 mov ecx, DWORD PTR _pszBlock$[ebp]
|
||
0002f 51 push ecx
|
||
00030 e8 00 00 00 00 call _wcsstr
|
||
00035 83 c4 08 add esp, 8
|
||
|
||
; 597 : }
|
||
|
||
00038 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0003b 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00042 59 pop ecx
|
||
00043 5f pop edi
|
||
00044 5e pop esi
|
||
00045 5b pop ebx
|
||
00046 8b e5 mov esp, ebp
|
||
00048 5d pop ebp
|
||
00049 c3 ret 0
|
||
0004a cc int 3
|
||
0004b cc int 3
|
||
0004c cc int 3
|
||
0004d cc int 3
|
||
0004e cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@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$?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?StringFindString@?$ChTraitsCRT@_W@ATL@@SAPB_WPB_W0@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::StringFindString
|
||
; 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\atlalloc.h
|
||
; COMDAT ??$AtlAdd@H@ATL@@YAJPAHHH@Z
|
||
_TEXT SEGMENT
|
||
_ptResult$ = 8 ; size = 4
|
||
_tLeft$ = 12 ; size = 4
|
||
_tRight$ = 16 ; size = 4
|
||
??$AtlAdd@H@ATL@@YAJPAHHH@Z PROC ; ATL::AtlAdd<int>, COMDAT
|
||
|
||
; 84 : {
|
||
|
||
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
|
||
|
||
; 85 : if(::ATL::AtlLimits<T>::_Max-tLeft < tRight)
|
||
|
||
00009 b8 ff ff ff 7f mov eax, 2147483647 ; 7fffffffH
|
||
0000e 2b 45 0c sub eax, DWORD PTR _tLeft$[ebp]
|
||
00011 3b 45 10 cmp eax, DWORD PTR _tRight$[ebp]
|
||
00014 7d 0f jge SHORT $LN2@AtlAdd
|
||
|
||
; 86 : {
|
||
; 87 : return HRESULT_FROM_WIN32(ERROR_ARITHMETIC_OVERFLOW);
|
||
|
||
00016 68 16 02 00 00 push 534 ; 00000216H
|
||
0001b e8 00 00 00 00 call _HRESULT_FROM_WIN32
|
||
00020 83 c4 04 add esp, 4
|
||
00023 eb 0d jmp SHORT $LN1@AtlAdd
|
||
$LN2@AtlAdd:
|
||
|
||
; 88 : }
|
||
; 89 : *ptResult= tLeft + tRight;
|
||
|
||
00025 8b 45 0c mov eax, DWORD PTR _tLeft$[ebp]
|
||
00028 03 45 10 add eax, DWORD PTR _tRight$[ebp]
|
||
0002b 8b 4d 08 mov ecx, DWORD PTR _ptResult$[ebp]
|
||
0002e 89 01 mov DWORD PTR [ecx], eax
|
||
|
||
; 90 : return S_OK;
|
||
|
||
00030 33 c0 xor eax, eax
|
||
$LN1@AtlAdd:
|
||
|
||
; 91 : }
|
||
|
||
00032 5f pop edi
|
||
00033 5e pop esi
|
||
00034 5b pop ebx
|
||
00035 8b e5 mov esp, ebp
|
||
00037 5d pop ebp
|
||
00038 c3 ret 0
|
||
??$AtlAdd@H@ATL@@YAJPAHHH@Z ENDP ; ATL::AtlAdd<int>
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlcore.h
|
||
; COMDAT ?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z
|
||
_TEXT SEGMENT
|
||
_hResource$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
_hInstance$ = 8 ; size = 4
|
||
_id$ = 12 ; size = 4
|
||
?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z PROC ; ATL::AtlGetStringResourceImage, COMDAT
|
||
|
||
; 370 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 44 sub esp, 68 ; 00000044H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
|
||
; 371 : HRSRC hResource;
|
||
; 372 : /*
|
||
; 373 : The and operation (& static_cast<WORD>(~0)) protects the expression from being greater
|
||
; 374 : than WORD - this would cause a runtime error when the application is compiled with /RTCc flag.
|
||
; 375 : */
|
||
; 376 : hResource = ::FindResourceW(hInstance, MAKEINTRESOURCEW( (((id>>4)+1) & static_cast<WORD>(~0)) ), (LPWSTR) RT_STRING);
|
||
|
||
00028 6a 06 push 6
|
||
0002a 8b 45 0c mov eax, DWORD PTR _id$[ebp]
|
||
0002d c1 e8 04 shr eax, 4
|
||
00030 83 c0 01 add eax, 1
|
||
00033 25 ff ff 00 00 and eax, 65535 ; 0000ffffH
|
||
00038 0f b7 c8 movzx ecx, ax
|
||
0003b 51 push ecx
|
||
0003c 8b 55 08 mov edx, DWORD PTR _hInstance$[ebp]
|
||
0003f 52 push edx
|
||
00040 ff 15 00 00 00
|
||
00 call DWORD PTR __imp__FindResourceW@12
|
||
00046 89 45 f0 mov DWORD PTR _hResource$[ebp], eax
|
||
|
||
; 377 : if( hResource == NULL )
|
||
|
||
00049 83 7d f0 00 cmp DWORD PTR _hResource$[ebp], 0
|
||
0004d 75 04 jne SHORT $LN2@AtlGetStri
|
||
|
||
; 378 : {
|
||
; 379 : return( NULL );
|
||
|
||
0004f 33 c0 xor eax, eax
|
||
00051 eb 14 jmp SHORT $LN1@AtlGetStri
|
||
$LN2@AtlGetStri:
|
||
|
||
; 380 : }
|
||
; 381 :
|
||
; 382 : return _AtlGetStringResourceImage( hInstance, hResource, id );
|
||
|
||
00053 8b 45 0c mov eax, DWORD PTR _id$[ebp]
|
||
00056 50 push eax
|
||
00057 8b 4d f0 mov ecx, DWORD PTR _hResource$[ebp]
|
||
0005a 51 push ecx
|
||
0005b 8b 55 08 mov edx, DWORD PTR _hInstance$[ebp]
|
||
0005e 52 push edx
|
||
0005f e8 00 00 00 00 call ?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z ; ATL::_AtlGetStringResourceImage
|
||
00064 83 c4 0c add esp, 12 ; 0000000cH
|
||
$LN1@AtlGetStri:
|
||
|
||
; 383 : }
|
||
|
||
00067 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0006a 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00071 59 pop ecx
|
||
00072 5f pop edi
|
||
00073 5e pop esi
|
||
00074 5b pop ebx
|
||
00075 8b e5 mov esp, ebp
|
||
00077 5d pop ebp
|
||
00078 c3 ret 0
|
||
00079 cc int 3
|
||
0007a cc int 3
|
||
0007b cc int 3
|
||
0007c cc int 3
|
||
0007d cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a ac mov ecx, DWORD PTR [edx-84]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z ENDP ; ATL::AtlGetStringResourceImage
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlcore.h
|
||
; COMDAT ?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z
|
||
_TEXT SEGMENT
|
||
_iIndex$ = -32 ; size = 4
|
||
_hGlobal$ = -28 ; size = 4
|
||
_nResourceSize$ = -24 ; size = 4
|
||
_pImageEnd$ = -20 ; size = 4
|
||
_pImage$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
_hInstance$ = 8 ; size = 4
|
||
_hResource$ = 12 ; size = 4
|
||
_id$ = 16 ; size = 4
|
||
?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z PROC ; ATL::_AtlGetStringResourceImage, COMDAT
|
||
|
||
; 327 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 54 sub esp, 84 ; 00000054H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
|
||
; 328 : const ATLSTRINGRESOURCEIMAGE* pImage;
|
||
; 329 : const ATLSTRINGRESOURCEIMAGE* pImageEnd;
|
||
; 330 : ULONG nResourceSize;
|
||
; 331 : HGLOBAL hGlobal;
|
||
; 332 : UINT iIndex;
|
||
; 333 :
|
||
; 334 : hGlobal = ::LoadResource( hInstance, hResource );
|
||
|
||
00028 8b 45 0c mov eax, DWORD PTR _hResource$[ebp]
|
||
0002b 50 push eax
|
||
0002c 8b 4d 08 mov ecx, DWORD PTR _hInstance$[ebp]
|
||
0002f 51 push ecx
|
||
00030 ff 15 00 00 00
|
||
00 call DWORD PTR __imp__LoadResource@8
|
||
00036 89 45 e4 mov DWORD PTR _hGlobal$[ebp], eax
|
||
|
||
; 335 : if( hGlobal == NULL )
|
||
|
||
00039 83 7d e4 00 cmp DWORD PTR _hGlobal$[ebp], 0
|
||
0003d 75 07 jne SHORT $LN4@AtlGetStri
|
||
|
||
; 336 : {
|
||
; 337 : return( NULL );
|
||
|
||
0003f 33 c0 xor eax, eax
|
||
00041 e9 80 00 00 00 jmp $LN1@AtlGetStri
|
||
$LN4@AtlGetStri:
|
||
|
||
; 338 : }
|
||
; 339 :
|
||
; 340 : pImage = (const ATLSTRINGRESOURCEIMAGE*)::LockResource( hGlobal );
|
||
|
||
00046 8b 45 e4 mov eax, DWORD PTR _hGlobal$[ebp]
|
||
00049 50 push eax
|
||
0004a ff 15 00 00 00
|
||
00 call DWORD PTR __imp__LockResource@4
|
||
00050 89 45 f0 mov DWORD PTR _pImage$[ebp], eax
|
||
|
||
; 341 : if( pImage == NULL )
|
||
|
||
00053 83 7d f0 00 cmp DWORD PTR _pImage$[ebp], 0
|
||
00057 75 04 jne SHORT $LN5@AtlGetStri
|
||
|
||
; 342 : {
|
||
; 343 : return( NULL );
|
||
|
||
00059 33 c0 xor eax, eax
|
||
0005b eb 69 jmp SHORT $LN1@AtlGetStri
|
||
$LN5@AtlGetStri:
|
||
|
||
; 344 : }
|
||
; 345 :
|
||
; 346 : nResourceSize = ::SizeofResource( hInstance, hResource );
|
||
|
||
0005d 8b 45 0c mov eax, DWORD PTR _hResource$[ebp]
|
||
00060 50 push eax
|
||
00061 8b 4d 08 mov ecx, DWORD PTR _hInstance$[ebp]
|
||
00064 51 push ecx
|
||
00065 ff 15 00 00 00
|
||
00 call DWORD PTR __imp__SizeofResource@8
|
||
0006b 89 45 e8 mov DWORD PTR _nResourceSize$[ebp], eax
|
||
|
||
; 347 : pImageEnd = (const ATLSTRINGRESOURCEIMAGE*)(LPBYTE( pImage )+nResourceSize);
|
||
|
||
0006e 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
|
||
00071 03 45 e8 add eax, DWORD PTR _nResourceSize$[ebp]
|
||
00074 89 45 ec mov DWORD PTR _pImageEnd$[ebp], eax
|
||
|
||
; 348 : iIndex = id&0x000f;
|
||
|
||
00077 8b 45 10 mov eax, DWORD PTR _id$[ebp]
|
||
0007a 83 e0 0f and eax, 15 ; 0000000fH
|
||
0007d 89 45 e0 mov DWORD PTR _iIndex$[ebp], eax
|
||
$LN2@AtlGetStri:
|
||
|
||
; 349 :
|
||
; 350 : while( (iIndex > 0) && (pImage < pImageEnd) )
|
||
|
||
00080 83 7d e0 00 cmp DWORD PTR _iIndex$[ebp], 0
|
||
00084 76 23 jbe SHORT $LN3@AtlGetStri
|
||
00086 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
|
||
00089 3b 45 ec cmp eax, DWORD PTR _pImageEnd$[ebp]
|
||
0008c 73 1b jae SHORT $LN3@AtlGetStri
|
||
|
||
; 351 : {
|
||
; 352 : pImage = (const ATLSTRINGRESOURCEIMAGE*)(LPBYTE( pImage )+(sizeof( ATLSTRINGRESOURCEIMAGE )+(pImage->nLength*sizeof( WCHAR ))));
|
||
|
||
0008e 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
|
||
00091 0f b7 08 movzx ecx, WORD PTR [eax]
|
||
00094 8b 55 f0 mov edx, DWORD PTR _pImage$[ebp]
|
||
00097 8d 44 4a 02 lea eax, DWORD PTR [edx+ecx*2+2]
|
||
0009b 89 45 f0 mov DWORD PTR _pImage$[ebp], eax
|
||
|
||
; 353 : iIndex--;
|
||
|
||
0009e 8b 45 e0 mov eax, DWORD PTR _iIndex$[ebp]
|
||
000a1 83 e8 01 sub eax, 1
|
||
000a4 89 45 e0 mov DWORD PTR _iIndex$[ebp], eax
|
||
|
||
; 354 : }
|
||
|
||
000a7 eb d7 jmp SHORT $LN2@AtlGetStri
|
||
$LN3@AtlGetStri:
|
||
|
||
; 355 : if( pImage >= pImageEnd )
|
||
|
||
000a9 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
|
||
000ac 3b 45 ec cmp eax, DWORD PTR _pImageEnd$[ebp]
|
||
000af 72 04 jb SHORT $LN6@AtlGetStri
|
||
|
||
; 356 : {
|
||
; 357 : return( NULL );
|
||
|
||
000b1 33 c0 xor eax, eax
|
||
000b3 eb 11 jmp SHORT $LN1@AtlGetStri
|
||
$LN6@AtlGetStri:
|
||
|
||
; 358 : }
|
||
; 359 : if( pImage->nLength == 0 )
|
||
|
||
000b5 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
|
||
000b8 0f b7 08 movzx ecx, WORD PTR [eax]
|
||
000bb 85 c9 test ecx, ecx
|
||
000bd 75 04 jne SHORT $LN7@AtlGetStri
|
||
|
||
; 360 : {
|
||
; 361 : return( NULL );
|
||
|
||
000bf 33 c0 xor eax, eax
|
||
000c1 eb 03 jmp SHORT $LN1@AtlGetStri
|
||
$LN7@AtlGetStri:
|
||
|
||
; 362 : }
|
||
; 363 :
|
||
; 364 : return( pImage );
|
||
|
||
000c3 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
|
||
$LN1@AtlGetStri:
|
||
|
||
; 365 : }
|
||
|
||
000c6 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
000c9 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
000d0 59 pop ecx
|
||
000d1 5f pop edi
|
||
000d2 5e pop esi
|
||
000d3 5b pop ebx
|
||
000d4 8b e5 mov esp, ebp
|
||
000d6 5d pop ebp
|
||
000d7 c3 ret 0
|
||
000d8 cc int 3
|
||
000d9 cc int 3
|
||
000da cc int 3
|
||
000db cc int 3
|
||
000dc cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a 9c mov ecx, DWORD PTR [edx-100]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z ENDP ; ATL::_AtlGetStringResourceImage
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlcore.h
|
||
; COMDAT ?AtlStrLen@ATL@@YAHPB_W@Z
|
||
_TEXT SEGMENT
|
||
_str$ = 8 ; size = 4
|
||
?AtlStrLen@ATL@@YAHPB_W@Z PROC ; ATL::AtlStrLen, COMDAT
|
||
|
||
; 60 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 40 sub esp, 64 ; 00000040H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
|
||
; 61 : if (str == NULL)
|
||
|
||
00009 83 7d 08 00 cmp DWORD PTR _str$[ebp], 0
|
||
0000d 75 04 jne SHORT $LN2@AtlStrLen
|
||
|
||
; 62 : return 0;
|
||
|
||
0000f 33 c0 xor eax, eax
|
||
00011 eb 0c jmp SHORT $LN1@AtlStrLen
|
||
$LN2@AtlStrLen:
|
||
|
||
; 63 : return static_cast<int>(::wcslen(str));
|
||
|
||
00013 8b 45 08 mov eax, DWORD PTR _str$[ebp]
|
||
00016 50 push eax
|
||
00017 e8 00 00 00 00 call _wcslen
|
||
0001c 83 c4 04 add esp, 4
|
||
$LN1@AtlStrLen:
|
||
|
||
; 64 : }
|
||
|
||
0001f 5f pop edi
|
||
00020 5e pop esi
|
||
00021 5b pop ebx
|
||
00022 8b e5 mov esp, ebp
|
||
00024 5d pop ebp
|
||
00025 c3 ret 0
|
||
?AtlStrLen@ATL@@YAHPB_W@Z ENDP ; ATL::AtlStrLen
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlchecked.h
|
||
; COMDAT ?memmove_s@Checked@ATL@@YAXPAXIPBXI@Z
|
||
_TEXT SEGMENT
|
||
__S1$ = 8 ; size = 4
|
||
__S1max$ = 12 ; size = 4
|
||
__S2$ = 16 ; size = 4
|
||
__N$ = 20 ; size = 4
|
||
?memmove_s@Checked@ATL@@YAXPAXIPBXI@Z PROC ; ATL::Checked::memmove_s, COMDAT
|
||
|
||
; 86 : {
|
||
|
||
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
|
||
|
||
; 87 : ATLMFC_CRT_ERRORCHECK(::memmove_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 _memmove_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
|
||
|
||
; 88 : }
|
||
|
||
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
|
||
?memmove_s@Checked@ATL@@YAXPAXIPBXI@Z ENDP ; ATL::Checked::memmove_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\atlchecked.h
|
||
; COMDAT ?wmemcpy_s@Checked@ATL@@YAXPA_WIPB_WI@Z
|
||
_TEXT SEGMENT
|
||
__S1$ = 8 ; size = 4
|
||
__N1$ = 12 ; size = 4
|
||
__S2$ = 16 ; size = 4
|
||
__N$ = 20 ; size = 4
|
||
?wmemcpy_s@Checked@ATL@@YAXPA_WIPB_WI@Z PROC ; ATL::Checked::wmemcpy_s, COMDAT
|
||
|
||
; 77 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 40 sub esp, 64 ; 00000040H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
|
||
; 78 : ATLMFC_CRT_ERRORCHECK(::wmemcpy_s(_S1, _N1, _S2, _N));
|
||
|
||
00009 8b 45 14 mov eax, DWORD PTR __N$[ebp]
|
||
0000c 50 push eax
|
||
0000d 8b 4d 10 mov ecx, DWORD PTR __S2$[ebp]
|
||
00010 51 push ecx
|
||
00011 8b 55 0c mov edx, DWORD PTR __N1$[ebp]
|
||
00014 52 push edx
|
||
00015 8b 45 08 mov eax, DWORD PTR __S1$[ebp]
|
||
00018 50 push eax
|
||
00019 e8 00 00 00 00 call _wmemcpy_s
|
||
0001e 83 c4 10 add esp, 16 ; 00000010H
|
||
00021 50 push eax
|
||
00022 e8 00 00 00 00 call ?AfxCrtErrorCheck@@YAHH@Z ; AfxCrtErrorCheck
|
||
00027 83 c4 04 add esp, 4
|
||
|
||
; 79 : }
|
||
|
||
0002a 5f pop edi
|
||
0002b 5e pop esi
|
||
0002c 5b pop ebx
|
||
0002d 8b e5 mov esp, ebp
|
||
0002f 5d pop ebp
|
||
00030 c3 ret 0
|
||
?wmemcpy_s@Checked@ATL@@YAXPA_WIPB_WI@Z ENDP ; ATL::Checked::wmemcpy_s
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlconv.h
|
||
; COMDAT ?_AtlGetConversionACP@ATL@@YGIXZ
|
||
_TEXT SEGMENT
|
||
?_AtlGetConversionACP@ATL@@YGIXZ PROC ; ATL::_AtlGetConversionACP, COMDAT
|
||
|
||
; 98 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 40 sub esp, 64 ; 00000040H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
|
||
; 99 : #ifdef _CONVERSION_DONT_USE_THREAD_LOCALE
|
||
; 100 : return CP_ACP;
|
||
; 101 : #else
|
||
; 102 : return CP_THREAD_ACP;
|
||
|
||
00009 b8 03 00 00 00 mov eax, 3
|
||
|
||
; 103 : #endif
|
||
; 104 : }
|
||
|
||
0000e 5f pop edi
|
||
0000f 5e pop esi
|
||
00010 5b pop ebx
|
||
00011 8b e5 mov esp, ebp
|
||
00013 5d pop ebp
|
||
00014 c3 ret 0
|
||
?_AtlGetConversionACP@ATL@@YGIXZ ENDP ; ATL::_AtlGetConversionACP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\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 ?AtlThrowLastWin32@ATL@@YGXXZ
|
||
_TEXT SEGMENT
|
||
_dwError$ = -4 ; size = 4
|
||
?AtlThrowLastWin32@ATL@@YGXXZ PROC ; ATL::AtlThrowLastWin32, COMDAT
|
||
|
||
; 84 : {
|
||
|
||
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
|
||
|
||
; 85 : DWORD dwError = ::GetLastError();
|
||
|
||
00009 ff 15 00 00 00
|
||
00 call DWORD PTR __imp__GetLastError@0
|
||
0000f 89 45 fc mov DWORD PTR _dwError$[ebp], eax
|
||
|
||
; 86 : AtlThrow( HRESULT_FROM_WIN32( dwError ) );
|
||
|
||
00012 8b 45 fc mov eax, DWORD PTR _dwError$[ebp]
|
||
00015 50 push eax
|
||
00016 e8 00 00 00 00 call _HRESULT_FROM_WIN32
|
||
0001b 83 c4 04 add esp, 4
|
||
0001e 50 push eax
|
||
0001f e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN2@AtlThrowLa:
|
||
|
||
; 87 : }
|
||
|
||
00024 5f pop edi
|
||
00025 5e pop esi
|
||
00026 5b pop ebx
|
||
00027 8b e5 mov esp, ebp
|
||
00029 5d pop ebp
|
||
0002a c3 ret 0
|
||
?AtlThrowLastWin32@ATL@@YGXXZ ENDP ; ATL::AtlThrowLastWin32
|
||
_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.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\shared\winerror.h
|
||
; COMDAT _HRESULT_FROM_WIN32
|
||
_TEXT SEGMENT
|
||
tv68 = -68 ; size = 4
|
||
_x$ = 8 ; size = 4
|
||
_HRESULT_FROM_WIN32 PROC ; COMDAT
|
||
|
||
; 29097: FORCEINLINE _Translates_Win32_to_HRESULT_(x) HRESULT HRESULT_FROM_WIN32(unsigned long x) { return (HRESULT)(x) <= 0 ? (HRESULT)(x) : (HRESULT) (((x) & 0x0000FFFF) | (FACILITY_WIN32 << 16) | 0x80000000);}
|
||
|
||
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 83 7d 08 00 cmp DWORD PTR _x$[ebp], 0
|
||
0000d 7f 08 jg SHORT $LN3@HRESULT_FR
|
||
0000f 8b 45 08 mov eax, DWORD PTR _x$[ebp]
|
||
00012 89 45 bc mov DWORD PTR tv68[ebp], eax
|
||
00015 eb 18 jmp SHORT $LN4@HRESULT_FR
|
||
$LN3@HRESULT_FR:
|
||
00017 8b 4d 08 mov ecx, DWORD PTR _x$[ebp]
|
||
0001a 81 e1 ff ff 00
|
||
00 and ecx, 65535 ; 0000ffffH
|
||
00020 81 c9 00 00 07
|
||
00 or ecx, 458752 ; 00070000H
|
||
00026 81 c9 00 00 00
|
||
80 or ecx, -2147483648 ; 80000000H
|
||
0002c 89 4d bc mov DWORD PTR tv68[ebp], ecx
|
||
$LN4@HRESULT_FR:
|
||
0002f 8b 45 bc mov eax, DWORD PTR tv68[ebp]
|
||
00032 5f pop edi
|
||
00033 5e pop esi
|
||
00034 5b pop ebx
|
||
00035 8b e5 mov esp, ebp
|
||
00037 5d pop ebp
|
||
00038 c3 ret 0
|
||
_HRESULT_FROM_WIN32 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 _memmove_s
|
||
_TEXT SEGMENT
|
||
tv74 = -80 ; size = 4
|
||
tv70 = -80 ; size = 4
|
||
tv66 = -80 ; size = 4
|
||
__Expr_val$1 = -12 ; size = 4
|
||
__Expr_val$2 = -8 ; size = 4
|
||
__Expr_val$3 = -4 ; size = 4
|
||
__Destination$ = 8 ; size = 4
|
||
__DestinationSize$ = 12 ; size = 4
|
||
__Source$ = 16 ; size = 4
|
||
__SourceSize$ = 20 ; size = 4
|
||
_memmove_s PROC ; COMDAT
|
||
|
||
; 73 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 50 sub esp, 80 ; 00000050H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
|
||
; 74 : if (_SourceSize == 0)
|
||
|
||
00009 83 7d 14 00 cmp DWORD PTR __SourceSize$[ebp], 0
|
||
0000d 75 07 jne SHORT $LN2@memmove_s
|
||
|
||
; 75 : {
|
||
; 76 : return 0;
|
||
|
||
0000f 33 c0 xor eax, eax
|
||
00011 e9 c6 00 00 00 jmp $LN1@memmove_s
|
||
$LN2@memmove_s:
|
||
|
||
; 77 : }
|
||
; 78 :
|
||
; 79 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Destination != NULL, EINVAL);
|
||
|
||
00016 83 7d 08 00 cmp DWORD PTR __Destination$[ebp], 0
|
||
0001a 74 09 je SHORT $LN7@memmove_s
|
||
0001c c7 45 b0 01 00
|
||
00 00 mov DWORD PTR tv66[ebp], 1
|
||
00023 eb 07 jmp SHORT $LN8@memmove_s
|
||
$LN7@memmove_s:
|
||
00025 c7 45 b0 00 00
|
||
00 00 mov DWORD PTR tv66[ebp], 0
|
||
$LN8@memmove_s:
|
||
0002c 8b 45 b0 mov eax, DWORD PTR tv66[ebp]
|
||
0002f 89 45 fc mov DWORD PTR __Expr_val$3[ebp], eax
|
||
00032 83 7d fc 00 cmp DWORD PTR __Expr_val$3[ebp], 0
|
||
00036 75 1a jne SHORT $LN3@memmove_s
|
||
00038 e8 00 00 00 00 call __errno
|
||
0003d c7 00 16 00 00
|
||
00 mov DWORD PTR [eax], 22 ; 00000016H
|
||
00043 e8 00 00 00 00 call __invalid_parameter_noinfo
|
||
00048 b8 16 00 00 00 mov eax, 22 ; 00000016H
|
||
0004d e9 8a 00 00 00 jmp $LN1@memmove_s
|
||
$LN3@memmove_s:
|
||
|
||
; 80 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Source != NULL, EINVAL);
|
||
|
||
00052 83 7d 10 00 cmp DWORD PTR __Source$[ebp], 0
|
||
00056 74 09 je SHORT $LN9@memmove_s
|
||
00058 c7 45 b0 01 00
|
||
00 00 mov DWORD PTR tv70[ebp], 1
|
||
0005f eb 07 jmp SHORT $LN10@memmove_s
|
||
$LN9@memmove_s:
|
||
00061 c7 45 b0 00 00
|
||
00 00 mov DWORD PTR tv70[ebp], 0
|
||
$LN10@memmove_s:
|
||
00068 8b 45 b0 mov eax, DWORD PTR tv70[ebp]
|
||
0006b 89 45 f8 mov DWORD PTR __Expr_val$2[ebp], eax
|
||
0006e 83 7d f8 00 cmp DWORD PTR __Expr_val$2[ebp], 0
|
||
00072 75 17 jne SHORT $LN4@memmove_s
|
||
00074 e8 00 00 00 00 call __errno
|
||
00079 c7 00 16 00 00
|
||
00 mov DWORD PTR [eax], 22 ; 00000016H
|
||
0007f e8 00 00 00 00 call __invalid_parameter_noinfo
|
||
00084 b8 16 00 00 00 mov eax, 22 ; 00000016H
|
||
00089 eb 51 jmp SHORT $LN1@memmove_s
|
||
$LN4@memmove_s:
|
||
|
||
; 81 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_DestinationSize >= _SourceSize, ERANGE);
|
||
|
||
0008b 8b 45 0c mov eax, DWORD PTR __DestinationSize$[ebp]
|
||
0008e 3b 45 14 cmp eax, DWORD PTR __SourceSize$[ebp]
|
||
00091 72 09 jb SHORT $LN11@memmove_s
|
||
00093 c7 45 b0 01 00
|
||
00 00 mov DWORD PTR tv74[ebp], 1
|
||
0009a eb 07 jmp SHORT $LN12@memmove_s
|
||
$LN11@memmove_s:
|
||
0009c c7 45 b0 00 00
|
||
00 00 mov DWORD PTR tv74[ebp], 0
|
||
$LN12@memmove_s:
|
||
000a3 8b 4d b0 mov ecx, DWORD PTR tv74[ebp]
|
||
000a6 89 4d f4 mov DWORD PTR __Expr_val$1[ebp], ecx
|
||
000a9 83 7d f4 00 cmp DWORD PTR __Expr_val$1[ebp], 0
|
||
000ad 75 17 jne SHORT $LN5@memmove_s
|
||
000af e8 00 00 00 00 call __errno
|
||
000b4 c7 00 22 00 00
|
||
00 mov DWORD PTR [eax], 34 ; 00000022H
|
||
000ba e8 00 00 00 00 call __invalid_parameter_noinfo
|
||
000bf b8 22 00 00 00 mov eax, 34 ; 00000022H
|
||
000c4 eb 16 jmp SHORT $LN1@memmove_s
|
||
$LN5@memmove_s:
|
||
|
||
; 82 :
|
||
; 83 : memmove(_Destination, _Source, _SourceSize);
|
||
|
||
000c6 8b 45 14 mov eax, DWORD PTR __SourceSize$[ebp]
|
||
000c9 50 push eax
|
||
000ca 8b 4d 10 mov ecx, DWORD PTR __Source$[ebp]
|
||
000cd 51 push ecx
|
||
000ce 8b 55 08 mov edx, DWORD PTR __Destination$[ebp]
|
||
000d1 52 push edx
|
||
000d2 e8 00 00 00 00 call _memmove
|
||
000d7 83 c4 0c add esp, 12 ; 0000000cH
|
||
|
||
; 84 : return 0;
|
||
|
||
000da 33 c0 xor eax, eax
|
||
$LN1@memmove_s:
|
||
|
||
; 85 : }
|
||
|
||
000dc 5f pop edi
|
||
000dd 5e pop esi
|
||
000de 5b pop ebx
|
||
000df 8b e5 mov esp, ebp
|
||
000e1 5d pop ebp
|
||
000e2 c3 ret 0
|
||
_memmove_s ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_memcpy_s.h
|
||
; COMDAT _memcpy_s
|
||
_TEXT SEGMENT
|
||
tv79 = -80 ; size = 4
|
||
tv75 = -80 ; size = 4
|
||
tv66 = -80 ; size = 4
|
||
__Expr_val$1 = -12 ; size = 4
|
||
__Expr_val$2 = -8 ; size = 4
|
||
__Expr_val$3 = -4 ; size = 4
|
||
__Destination$ = 8 ; size = 4
|
||
__DestinationSize$ = 12 ; size = 4
|
||
__Source$ = 16 ; size = 4
|
||
__SourceSize$ = 20 ; size = 4
|
||
_memcpy_s PROC ; COMDAT
|
||
|
||
; 45 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 50 sub esp, 80 ; 00000050H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
|
||
; 46 : if (_SourceSize == 0)
|
||
|
||
00009 83 7d 14 00 cmp DWORD PTR __SourceSize$[ebp], 0
|
||
0000d 75 07 jne SHORT $LN2@memcpy_s
|
||
|
||
; 47 : {
|
||
; 48 : return 0;
|
||
|
||
0000f 33 c0 xor eax, eax
|
||
00011 e9 f1 00 00 00 jmp $LN1@memcpy_s
|
||
$LN2@memcpy_s:
|
||
|
||
; 49 : }
|
||
; 50 :
|
||
; 51 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Destination != NULL, EINVAL);
|
||
|
||
00016 83 7d 08 00 cmp DWORD PTR __Destination$[ebp], 0
|
||
0001a 74 09 je SHORT $LN9@memcpy_s
|
||
0001c c7 45 b0 01 00
|
||
00 00 mov DWORD PTR tv66[ebp], 1
|
||
00023 eb 07 jmp SHORT $LN10@memcpy_s
|
||
$LN9@memcpy_s:
|
||
00025 c7 45 b0 00 00
|
||
00 00 mov DWORD PTR tv66[ebp], 0
|
||
$LN10@memcpy_s:
|
||
0002c 8b 45 b0 mov eax, DWORD PTR tv66[ebp]
|
||
0002f 89 45 fc mov DWORD PTR __Expr_val$3[ebp], eax
|
||
00032 83 7d fc 00 cmp DWORD PTR __Expr_val$3[ebp], 0
|
||
00036 75 1a jne SHORT $LN3@memcpy_s
|
||
00038 e8 00 00 00 00 call __errno
|
||
0003d c7 00 16 00 00
|
||
00 mov DWORD PTR [eax], 22 ; 00000016H
|
||
00043 e8 00 00 00 00 call __invalid_parameter_noinfo
|
||
00048 b8 16 00 00 00 mov eax, 22 ; 00000016H
|
||
0004d e9 b5 00 00 00 jmp $LN1@memcpy_s
|
||
$LN3@memcpy_s:
|
||
|
||
; 52 : if (_Source == NULL || _DestinationSize < _SourceSize)
|
||
|
||
00052 83 7d 10 00 cmp DWORD PTR __Source$[ebp], 0
|
||
00056 74 0c je SHORT $LN5@memcpy_s
|
||
00058 8b 45 0c mov eax, DWORD PTR __DestinationSize$[ebp]
|
||
0005b 3b 45 14 cmp eax, DWORD PTR __SourceSize$[ebp]
|
||
0005e 0f 83 8d 00 00
|
||
00 jae $LN4@memcpy_s
|
||
$LN5@memcpy_s:
|
||
|
||
; 53 : {
|
||
; 54 : memset(_Destination, 0, _DestinationSize);
|
||
|
||
00064 8b 45 0c mov eax, DWORD PTR __DestinationSize$[ebp]
|
||
00067 50 push eax
|
||
00068 6a 00 push 0
|
||
0006a 8b 4d 08 mov ecx, DWORD PTR __Destination$[ebp]
|
||
0006d 51 push ecx
|
||
0006e e8 00 00 00 00 call _memset
|
||
00073 83 c4 0c add esp, 12 ; 0000000cH
|
||
|
||
; 55 :
|
||
; 56 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Source != NULL, EINVAL);
|
||
|
||
00076 83 7d 10 00 cmp DWORD PTR __Source$[ebp], 0
|
||
0007a 74 09 je SHORT $LN11@memcpy_s
|
||
0007c c7 45 b0 01 00
|
||
00 00 mov DWORD PTR tv75[ebp], 1
|
||
00083 eb 07 jmp SHORT $LN12@memcpy_s
|
||
$LN11@memcpy_s:
|
||
00085 c7 45 b0 00 00
|
||
00 00 mov DWORD PTR tv75[ebp], 0
|
||
$LN12@memcpy_s:
|
||
0008c 8b 45 b0 mov eax, DWORD PTR tv75[ebp]
|
||
0008f 89 45 f8 mov DWORD PTR __Expr_val$2[ebp], eax
|
||
00092 83 7d f8 00 cmp DWORD PTR __Expr_val$2[ebp], 0
|
||
00096 75 17 jne SHORT $LN6@memcpy_s
|
||
00098 e8 00 00 00 00 call __errno
|
||
0009d c7 00 16 00 00
|
||
00 mov DWORD PTR [eax], 22 ; 00000016H
|
||
000a3 e8 00 00 00 00 call __invalid_parameter_noinfo
|
||
000a8 b8 16 00 00 00 mov eax, 22 ; 00000016H
|
||
000ad eb 58 jmp SHORT $LN1@memcpy_s
|
||
$LN6@memcpy_s:
|
||
|
||
; 57 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_DestinationSize >= _SourceSize, ERANGE);
|
||
|
||
000af 8b 45 0c mov eax, DWORD PTR __DestinationSize$[ebp]
|
||
000b2 3b 45 14 cmp eax, DWORD PTR __SourceSize$[ebp]
|
||
000b5 72 09 jb SHORT $LN13@memcpy_s
|
||
000b7 c7 45 b0 01 00
|
||
00 00 mov DWORD PTR tv79[ebp], 1
|
||
000be eb 07 jmp SHORT $LN14@memcpy_s
|
||
$LN13@memcpy_s:
|
||
000c0 c7 45 b0 00 00
|
||
00 00 mov DWORD PTR tv79[ebp], 0
|
||
$LN14@memcpy_s:
|
||
000c7 8b 4d b0 mov ecx, DWORD PTR tv79[ebp]
|
||
000ca 89 4d f4 mov DWORD PTR __Expr_val$1[ebp], ecx
|
||
000cd 83 7d f4 00 cmp DWORD PTR __Expr_val$1[ebp], 0
|
||
000d1 75 17 jne SHORT $LN7@memcpy_s
|
||
000d3 e8 00 00 00 00 call __errno
|
||
000d8 c7 00 22 00 00
|
||
00 mov DWORD PTR [eax], 34 ; 00000022H
|
||
000de e8 00 00 00 00 call __invalid_parameter_noinfo
|
||
000e3 b8 22 00 00 00 mov eax, 34 ; 00000022H
|
||
000e8 eb 1d jmp SHORT $LN1@memcpy_s
|
||
$LN7@memcpy_s:
|
||
|
||
; 58 :
|
||
; 59 : // Unreachable, but required to suppress /analyze warnings:
|
||
; 60 : return EINVAL;
|
||
|
||
000ea b8 16 00 00 00 mov eax, 22 ; 00000016H
|
||
000ef eb 16 jmp SHORT $LN1@memcpy_s
|
||
$LN4@memcpy_s:
|
||
|
||
; 61 : }
|
||
; 62 : memcpy(_Destination, _Source, _SourceSize);
|
||
|
||
000f1 8b 45 14 mov eax, DWORD PTR __SourceSize$[ebp]
|
||
000f4 50 push eax
|
||
000f5 8b 4d 10 mov ecx, DWORD PTR __Source$[ebp]
|
||
000f8 51 push ecx
|
||
000f9 8b 55 08 mov edx, DWORD PTR __Destination$[ebp]
|
||
000fc 52 push edx
|
||
000fd e8 00 00 00 00 call _memcpy
|
||
00102 83 c4 0c add esp, 12 ; 0000000cH
|
||
|
||
; 63 : return 0;
|
||
|
||
00105 33 c0 xor eax, eax
|
||
$LN1@memcpy_s:
|
||
|
||
; 64 : }
|
||
|
||
00107 5f pop edi
|
||
00108 5e pop esi
|
||
00109 5b pop ebx
|
||
0010a 8b e5 mov esp, ebp
|
||
0010c 5d pop ebp
|
||
0010d c3 ret 0
|
||
_memcpy_s ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h
|
||
; COMDAT _sprintf
|
||
_TEXT SEGMENT
|
||
__ArgList$ = -8 ; size = 4
|
||
__Result$ = -4 ; size = 4
|
||
__Buffer$ = 8 ; size = 4
|
||
__Format$ = 12 ; size = 4
|
||
_sprintf PROC ; COMDAT
|
||
|
||
; 1771 : {
|
||
|
||
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
|
||
|
||
; 1772 : int _Result;
|
||
; 1773 : va_list _ArgList;
|
||
; 1774 : __crt_va_start(_ArgList, _Format);
|
||
|
||
00009 8d 45 10 lea eax, DWORD PTR __Format$[ebp+4]
|
||
0000c 89 45 f8 mov DWORD PTR __ArgList$[ebp], eax
|
||
|
||
; 1775 :
|
||
; 1776 : _Result = _vsprintf_l(_Buffer, _Format, NULL, _ArgList);
|
||
|
||
0000f 8b 45 f8 mov eax, DWORD PTR __ArgList$[ebp]
|
||
00012 50 push eax
|
||
00013 6a 00 push 0
|
||
00015 8b 4d 0c mov ecx, DWORD PTR __Format$[ebp]
|
||
00018 51 push ecx
|
||
00019 8b 55 08 mov edx, DWORD PTR __Buffer$[ebp]
|
||
0001c 52 push edx
|
||
0001d e8 00 00 00 00 call __vsprintf_l
|
||
00022 83 c4 10 add esp, 16 ; 00000010H
|
||
00025 89 45 fc mov DWORD PTR __Result$[ebp], eax
|
||
|
||
; 1777 :
|
||
; 1778 : __crt_va_end(_ArgList);
|
||
|
||
00028 c7 45 f8 00 00
|
||
00 00 mov DWORD PTR __ArgList$[ebp], 0
|
||
|
||
; 1779 : return _Result;
|
||
|
||
0002f 8b 45 fc mov eax, DWORD PTR __Result$[ebp]
|
||
|
||
; 1780 : }
|
||
|
||
00032 5f pop edi
|
||
00033 5e pop esi
|
||
00034 5b pop ebx
|
||
00035 8b e5 mov esp, ebp
|
||
00037 5d pop ebp
|
||
00038 c3 ret 0
|
||
_sprintf ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h
|
||
; COMDAT __vscprintf
|
||
_TEXT SEGMENT
|
||
__Format$ = 8 ; size = 4
|
||
__ArgList$ = 12 ; size = 4
|
||
__vscprintf PROC ; COMDAT
|
||
|
||
; 1668 : {
|
||
|
||
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
|
||
|
||
; 1669 : return _vscprintf_l(_Format, NULL, _ArgList);
|
||
|
||
00009 8b 45 0c mov eax, DWORD PTR __ArgList$[ebp]
|
||
0000c 50 push eax
|
||
0000d 6a 00 push 0
|
||
0000f 8b 4d 08 mov ecx, DWORD PTR __Format$[ebp]
|
||
00012 51 push ecx
|
||
00013 e8 00 00 00 00 call __vscprintf_l
|
||
00018 83 c4 0c add esp, 12 ; 0000000cH
|
||
|
||
; 1670 : }
|
||
|
||
0001b 5f pop edi
|
||
0001c 5e pop esi
|
||
0001d 5b pop ebx
|
||
0001e 8b e5 mov esp, ebp
|
||
00020 5d pop ebp
|
||
00021 c3 ret 0
|
||
__vscprintf ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h
|
||
; COMDAT __vscprintf_l
|
||
_TEXT SEGMENT
|
||
tv74 = -72 ; size = 4
|
||
__Result$ = -4 ; size = 4
|
||
__Format$ = 8 ; size = 4
|
||
__Locale$ = 12 ; size = 4
|
||
__ArgList$ = 16 ; size = 4
|
||
__vscprintf_l PROC ; COMDAT
|
||
|
||
; 1651 : {
|
||
|
||
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
|
||
|
||
; 1652 : int const _Result = __stdio_common_vsprintf(
|
||
|
||
00009 8b 45 10 mov eax, DWORD PTR __ArgList$[ebp]
|
||
0000c 50 push eax
|
||
0000d 8b 4d 0c mov ecx, DWORD PTR __Locale$[ebp]
|
||
00010 51 push ecx
|
||
00011 8b 55 08 mov edx, DWORD PTR __Format$[ebp]
|
||
00014 52 push edx
|
||
00015 6a 00 push 0
|
||
00017 6a 00 push 0
|
||
00019 e8 00 00 00 00 call ___local_stdio_printf_options
|
||
0001e 8b 08 mov ecx, DWORD PTR [eax]
|
||
00020 83 c9 02 or ecx, 2
|
||
00023 8b 50 04 mov edx, DWORD PTR [eax+4]
|
||
00026 52 push edx
|
||
00027 51 push ecx
|
||
00028 e8 00 00 00 00 call ___stdio_common_vsprintf
|
||
0002d 83 c4 1c add esp, 28 ; 0000001cH
|
||
00030 89 45 fc mov DWORD PTR __Result$[ebp], eax
|
||
|
||
; 1653 : _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR,
|
||
; 1654 : NULL, 0, _Format, _Locale, _ArgList);
|
||
; 1655 :
|
||
; 1656 : return _Result < 0 ? -1 : _Result;
|
||
|
||
00033 83 7d fc 00 cmp DWORD PTR __Result$[ebp], 0
|
||
00037 7d 09 jge SHORT $LN3@vscprintf_
|
||
00039 c7 45 b8 ff ff
|
||
ff ff mov DWORD PTR tv74[ebp], -1
|
||
00040 eb 06 jmp SHORT $LN4@vscprintf_
|
||
$LN3@vscprintf_:
|
||
00042 8b 45 fc mov eax, DWORD PTR __Result$[ebp]
|
||
00045 89 45 b8 mov DWORD PTR tv74[ebp], eax
|
||
$LN4@vscprintf_:
|
||
00048 8b 45 b8 mov eax, DWORD PTR tv74[ebp]
|
||
|
||
; 1657 : }
|
||
|
||
0004b 5f pop edi
|
||
0004c 5e pop esi
|
||
0004d 5b pop ebx
|
||
0004e 8b e5 mov esp, ebp
|
||
00050 5d pop ebp
|
||
00051 c3 ret 0
|
||
__vscprintf_l ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h
|
||
; COMDAT _vsprintf_s
|
||
_TEXT SEGMENT
|
||
__Buffer$ = 8 ; size = 4
|
||
__BufferCount$ = 12 ; size = 4
|
||
__Format$ = 16 ; size = 4
|
||
__ArgList$ = 20 ; size = 4
|
||
_vsprintf_s PROC ; COMDAT
|
||
|
||
; 1512 : {
|
||
|
||
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
|
||
|
||
; 1513 : return _vsprintf_s_l(_Buffer, _BufferCount, _Format, NULL, _ArgList);
|
||
|
||
00009 8b 45 14 mov eax, DWORD PTR __ArgList$[ebp]
|
||
0000c 50 push eax
|
||
0000d 6a 00 push 0
|
||
0000f 8b 4d 10 mov ecx, DWORD PTR __Format$[ebp]
|
||
00012 51 push ecx
|
||
00013 8b 55 0c mov edx, DWORD PTR __BufferCount$[ebp]
|
||
00016 52 push edx
|
||
00017 8b 45 08 mov eax, DWORD PTR __Buffer$[ebp]
|
||
0001a 50 push eax
|
||
0001b e8 00 00 00 00 call __vsprintf_s_l
|
||
00020 83 c4 14 add esp, 20 ; 00000014H
|
||
|
||
; 1514 : }
|
||
|
||
00023 5f pop edi
|
||
00024 5e pop esi
|
||
00025 5b pop ebx
|
||
00026 8b e5 mov esp, ebp
|
||
00028 5d pop ebp
|
||
00029 c3 ret 0
|
||
_vsprintf_s ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h
|
||
; COMDAT __vsprintf_s_l
|
||
_TEXT SEGMENT
|
||
tv73 = -72 ; size = 4
|
||
__Result$ = -4 ; size = 4
|
||
__Buffer$ = 8 ; size = 4
|
||
__BufferCount$ = 12 ; size = 4
|
||
__Format$ = 16 ; size = 4
|
||
__Locale$ = 20 ; size = 4
|
||
__ArgList$ = 24 ; size = 4
|
||
__vsprintf_s_l PROC ; COMDAT
|
||
|
||
; 1490 : {
|
||
|
||
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
|
||
|
||
; 1491 : int const _Result = __stdio_common_vsprintf_s(
|
||
|
||
00009 8b 45 18 mov eax, DWORD PTR __ArgList$[ebp]
|
||
0000c 50 push eax
|
||
0000d 8b 4d 14 mov ecx, DWORD PTR __Locale$[ebp]
|
||
00010 51 push ecx
|
||
00011 8b 55 10 mov edx, DWORD PTR __Format$[ebp]
|
||
00014 52 push edx
|
||
00015 8b 45 0c mov eax, DWORD PTR __BufferCount$[ebp]
|
||
00018 50 push eax
|
||
00019 8b 4d 08 mov ecx, DWORD PTR __Buffer$[ebp]
|
||
0001c 51 push ecx
|
||
0001d e8 00 00 00 00 call ___local_stdio_printf_options
|
||
00022 8b 50 04 mov edx, DWORD PTR [eax+4]
|
||
00025 52 push edx
|
||
00026 8b 00 mov eax, DWORD PTR [eax]
|
||
00028 50 push eax
|
||
00029 e8 00 00 00 00 call ___stdio_common_vsprintf_s
|
||
0002e 83 c4 1c add esp, 28 ; 0000001cH
|
||
00031 89 45 fc mov DWORD PTR __Result$[ebp], eax
|
||
|
||
; 1492 : _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS,
|
||
; 1493 : _Buffer, _BufferCount, _Format, _Locale, _ArgList);
|
||
; 1494 :
|
||
; 1495 : return _Result < 0 ? -1 : _Result;
|
||
|
||
00034 83 7d fc 00 cmp DWORD PTR __Result$[ebp], 0
|
||
00038 7d 09 jge SHORT $LN3@vsprintf_s
|
||
0003a c7 45 b8 ff ff
|
||
ff ff mov DWORD PTR tv73[ebp], -1
|
||
00041 eb 06 jmp SHORT $LN4@vsprintf_s
|
||
$LN3@vsprintf_s:
|
||
00043 8b 45 fc mov eax, DWORD PTR __Result$[ebp]
|
||
00046 89 45 b8 mov DWORD PTR tv73[ebp], eax
|
||
$LN4@vsprintf_s:
|
||
00049 8b 45 b8 mov eax, DWORD PTR tv73[ebp]
|
||
|
||
; 1496 : }
|
||
|
||
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
|
||
__vsprintf_s_l ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h
|
||
; COMDAT __vsprintf_l
|
||
_TEXT SEGMENT
|
||
__Buffer$ = 8 ; size = 4
|
||
__Format$ = 12 ; size = 4
|
||
__Locale$ = 16 ; size = 4
|
||
__ArgList$ = 20 ; size = 4
|
||
__vsprintf_l PROC ; COMDAT
|
||
|
||
; 1458 : {
|
||
|
||
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
|
||
|
||
; 1459 : return _vsnprintf_l(_Buffer, (size_t)-1, _Format, _Locale, _ArgList);
|
||
|
||
00009 8b 45 14 mov eax, DWORD PTR __ArgList$[ebp]
|
||
0000c 50 push eax
|
||
0000d 8b 4d 10 mov ecx, DWORD PTR __Locale$[ebp]
|
||
00010 51 push ecx
|
||
00011 8b 55 0c mov edx, DWORD PTR __Format$[ebp]
|
||
00014 52 push edx
|
||
00015 6a ff push -1
|
||
00017 8b 45 08 mov eax, DWORD PTR __Buffer$[ebp]
|
||
0001a 50 push eax
|
||
0001b e8 00 00 00 00 call __vsnprintf_l
|
||
00020 83 c4 14 add esp, 20 ; 00000014H
|
||
|
||
; 1460 : }
|
||
|
||
00023 5f pop edi
|
||
00024 5e pop esi
|
||
00025 5b pop ebx
|
||
00026 8b e5 mov esp, ebp
|
||
00028 5d pop ebp
|
||
00029 c3 ret 0
|
||
__vsprintf_l ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h
|
||
; COMDAT __vsnprintf_l
|
||
_TEXT SEGMENT
|
||
tv74 = -72 ; size = 4
|
||
__Result$ = -4 ; size = 4
|
||
__Buffer$ = 8 ; size = 4
|
||
__BufferCount$ = 12 ; size = 4
|
||
__Format$ = 16 ; size = 4
|
||
__Locale$ = 20 ; size = 4
|
||
__ArgList$ = 24 ; size = 4
|
||
__vsnprintf_l PROC ; COMDAT
|
||
|
||
; 1391 : {
|
||
|
||
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
|
||
|
||
; 1392 : int const _Result = __stdio_common_vsprintf(
|
||
|
||
00009 8b 45 18 mov eax, DWORD PTR __ArgList$[ebp]
|
||
0000c 50 push eax
|
||
0000d 8b 4d 14 mov ecx, DWORD PTR __Locale$[ebp]
|
||
00010 51 push ecx
|
||
00011 8b 55 10 mov edx, DWORD PTR __Format$[ebp]
|
||
00014 52 push edx
|
||
00015 8b 45 0c mov eax, DWORD PTR __BufferCount$[ebp]
|
||
00018 50 push eax
|
||
00019 8b 4d 08 mov ecx, DWORD PTR __Buffer$[ebp]
|
||
0001c 51 push ecx
|
||
0001d e8 00 00 00 00 call ___local_stdio_printf_options
|
||
00022 8b 10 mov edx, DWORD PTR [eax]
|
||
00024 83 ca 01 or edx, 1
|
||
00027 8b 40 04 mov eax, DWORD PTR [eax+4]
|
||
0002a 50 push eax
|
||
0002b 52 push edx
|
||
0002c e8 00 00 00 00 call ___stdio_common_vsprintf
|
||
00031 83 c4 1c add esp, 28 ; 0000001cH
|
||
00034 89 45 fc mov DWORD PTR __Result$[ebp], eax
|
||
|
||
; 1393 : _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION,
|
||
; 1394 : _Buffer, _BufferCount, _Format, _Locale, _ArgList);
|
||
; 1395 :
|
||
; 1396 : return _Result < 0 ? -1 : _Result;
|
||
|
||
00037 83 7d fc 00 cmp DWORD PTR __Result$[ebp], 0
|
||
0003b 7d 09 jge SHORT $LN3@vsnprintf_
|
||
0003d c7 45 b8 ff ff
|
||
ff ff mov DWORD PTR tv74[ebp], -1
|
||
00044 eb 06 jmp SHORT $LN4@vsnprintf_
|
||
$LN3@vsnprintf_:
|
||
00046 8b 45 fc mov eax, DWORD PTR __Result$[ebp]
|
||
00049 89 45 b8 mov DWORD PTR tv74[ebp], eax
|
||
$LN4@vsnprintf_:
|
||
0004c 8b 45 b8 mov eax, DWORD PTR tv74[ebp]
|
||
|
||
; 1397 : }
|
||
|
||
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
|
||
__vsnprintf_l ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h
|
||
; COMDAT _fprintf
|
||
_TEXT SEGMENT
|
||
__ArgList$ = -8 ; size = 4
|
||
__Result$ = -4 ; size = 4
|
||
__Stream$ = 8 ; size = 4
|
||
__Format$ = 12 ; size = 4
|
||
_fprintf PROC ; COMDAT
|
||
|
||
; 837 : {
|
||
|
||
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
|
||
|
||
; 838 : int _Result;
|
||
; 839 : va_list _ArgList;
|
||
; 840 : __crt_va_start(_ArgList, _Format);
|
||
|
||
00009 8d 45 10 lea eax, DWORD PTR __Format$[ebp+4]
|
||
0000c 89 45 f8 mov DWORD PTR __ArgList$[ebp], eax
|
||
|
||
; 841 : _Result = _vfprintf_l(_Stream, _Format, NULL, _ArgList);
|
||
|
||
0000f 8b 45 f8 mov eax, DWORD PTR __ArgList$[ebp]
|
||
00012 50 push eax
|
||
00013 6a 00 push 0
|
||
00015 8b 4d 0c mov ecx, DWORD PTR __Format$[ebp]
|
||
00018 51 push ecx
|
||
00019 8b 55 08 mov edx, DWORD PTR __Stream$[ebp]
|
||
0001c 52 push edx
|
||
0001d e8 00 00 00 00 call __vfprintf_l
|
||
00022 83 c4 10 add esp, 16 ; 00000010H
|
||
00025 89 45 fc mov DWORD PTR __Result$[ebp], eax
|
||
|
||
; 842 : __crt_va_end(_ArgList);
|
||
|
||
00028 c7 45 f8 00 00
|
||
00 00 mov DWORD PTR __ArgList$[ebp], 0
|
||
|
||
; 843 : return _Result;
|
||
|
||
0002f 8b 45 fc mov eax, DWORD PTR __Result$[ebp]
|
||
|
||
; 844 : }
|
||
|
||
00032 5f pop edi
|
||
00033 5e pop esi
|
||
00034 5b pop ebx
|
||
00035 8b e5 mov esp, ebp
|
||
00037 5d pop ebp
|
||
00038 c3 ret 0
|
||
_fprintf ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h
|
||
; COMDAT __vfprintf_l
|
||
_TEXT SEGMENT
|
||
__Stream$ = 8 ; size = 4
|
||
__Format$ = 12 ; size = 4
|
||
__Locale$ = 16 ; size = 4
|
||
__ArgList$ = 20 ; size = 4
|
||
__vfprintf_l PROC ; COMDAT
|
||
|
||
; 644 : {
|
||
|
||
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
|
||
|
||
; 645 : return __stdio_common_vfprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _Stream, _Format, _Locale, _ArgList);
|
||
|
||
00009 8b 45 14 mov eax, DWORD PTR __ArgList$[ebp]
|
||
0000c 50 push eax
|
||
0000d 8b 4d 10 mov ecx, DWORD PTR __Locale$[ebp]
|
||
00010 51 push ecx
|
||
00011 8b 55 0c mov edx, DWORD PTR __Format$[ebp]
|
||
00014 52 push edx
|
||
00015 8b 45 08 mov eax, DWORD PTR __Stream$[ebp]
|
||
00018 50 push eax
|
||
00019 e8 00 00 00 00 call ___local_stdio_printf_options
|
||
0001e 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
00021 51 push ecx
|
||
00022 8b 10 mov edx, DWORD PTR [eax]
|
||
00024 52 push edx
|
||
00025 e8 00 00 00 00 call ___stdio_common_vfprintf
|
||
0002a 83 c4 18 add esp, 24 ; 00000018H
|
||
|
||
; 646 : }
|
||
|
||
0002d 5f pop edi
|
||
0002e 5e pop esi
|
||
0002f 5b pop ebx
|
||
00030 8b e5 mov esp, ebp
|
||
00032 5d pop ebp
|
||
00033 c3 ret 0
|
||
__vfprintf_l ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_wstdio.h
|
||
; COMDAT __vsnwprintf
|
||
_TEXT SEGMENT
|
||
__Buffer$ = 8 ; size = 4
|
||
__BufferCount$ = 12 ; size = 4
|
||
__Format$ = 16 ; size = 4
|
||
__ArgList$ = 20 ; size = 4
|
||
__vsnwprintf PROC ; COMDAT
|
||
|
||
; 1129 : {
|
||
|
||
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
|
||
|
||
; 1130 : return _vsnwprintf_l(_Buffer, _BufferCount, _Format, NULL, _ArgList);
|
||
|
||
00009 8b 45 14 mov eax, DWORD PTR __ArgList$[ebp]
|
||
0000c 50 push eax
|
||
0000d 6a 00 push 0
|
||
0000f 8b 4d 10 mov ecx, DWORD PTR __Format$[ebp]
|
||
00012 51 push ecx
|
||
00013 8b 55 0c mov edx, DWORD PTR __BufferCount$[ebp]
|
||
00016 52 push edx
|
||
00017 8b 45 08 mov eax, DWORD PTR __Buffer$[ebp]
|
||
0001a 50 push eax
|
||
0001b e8 00 00 00 00 call __vsnwprintf_l
|
||
00020 83 c4 14 add esp, 20 ; 00000014H
|
||
|
||
; 1131 : }
|
||
|
||
00023 5f pop edi
|
||
00024 5e pop esi
|
||
00025 5b pop ebx
|
||
00026 8b e5 mov esp, ebp
|
||
00028 5d pop ebp
|
||
00029 c3 ret 0
|
||
__vsnwprintf ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_wstdio.h
|
||
; COMDAT __vsnwprintf_l
|
||
_TEXT SEGMENT
|
||
tv74 = -72 ; size = 4
|
||
__Result$ = -4 ; size = 4
|
||
__Buffer$ = 8 ; size = 4
|
||
__BufferCount$ = 12 ; size = 4
|
||
__Format$ = 16 ; size = 4
|
||
__Locale$ = 20 ; size = 4
|
||
__ArgList$ = 24 ; size = 4
|
||
__vsnwprintf_l PROC ; COMDAT
|
||
|
||
; 1061 : {
|
||
|
||
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
|
||
|
||
; 1062 : int const _Result = __stdio_common_vswprintf(
|
||
|
||
00009 8b 45 18 mov eax, DWORD PTR __ArgList$[ebp]
|
||
0000c 50 push eax
|
||
0000d 8b 4d 14 mov ecx, DWORD PTR __Locale$[ebp]
|
||
00010 51 push ecx
|
||
00011 8b 55 10 mov edx, DWORD PTR __Format$[ebp]
|
||
00014 52 push edx
|
||
00015 8b 45 0c mov eax, DWORD PTR __BufferCount$[ebp]
|
||
00018 50 push eax
|
||
00019 8b 4d 08 mov ecx, DWORD PTR __Buffer$[ebp]
|
||
0001c 51 push ecx
|
||
0001d e8 00 00 00 00 call ___local_stdio_printf_options
|
||
00022 8b 10 mov edx, DWORD PTR [eax]
|
||
00024 83 ca 01 or edx, 1
|
||
00027 8b 40 04 mov eax, DWORD PTR [eax+4]
|
||
0002a 50 push eax
|
||
0002b 52 push edx
|
||
0002c e8 00 00 00 00 call ___stdio_common_vswprintf
|
||
00031 83 c4 1c add esp, 28 ; 0000001cH
|
||
00034 89 45 fc mov DWORD PTR __Result$[ebp], eax
|
||
|
||
; 1063 : _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION,
|
||
; 1064 : _Buffer, _BufferCount, _Format, _Locale, _ArgList);
|
||
; 1065 :
|
||
; 1066 : return _Result < 0 ? -1 : _Result;
|
||
|
||
00037 83 7d fc 00 cmp DWORD PTR __Result$[ebp], 0
|
||
0003b 7d 09 jge SHORT $LN3@vsnwprintf
|
||
0003d c7 45 b8 ff ff
|
||
ff ff mov DWORD PTR tv74[ebp], -1
|
||
00044 eb 06 jmp SHORT $LN4@vsnwprintf
|
||
$LN3@vsnwprintf:
|
||
00046 8b 45 fc mov eax, DWORD PTR __Result$[ebp]
|
||
00049 89 45 b8 mov DWORD PTR tv74[ebp], eax
|
||
$LN4@vsnwprintf:
|
||
0004c 8b 45 b8 mov eax, DWORD PTR tv74[ebp]
|
||
|
||
; 1067 : }
|
||
|
||
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
|
||
__vsnwprintf_l ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_stdio_config.h
|
||
; COMDAT ___local_stdio_printf_options
|
||
_TEXT SEGMENT
|
||
___local_stdio_printf_options PROC ; COMDAT
|
||
|
||
; 90 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 40 sub esp, 64 ; 00000040H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
|
||
; 91 : static unsigned __int64 _OptionsStorage;
|
||
; 92 : return &_OptionsStorage;
|
||
|
||
00009 b8 00 00 00 00 mov eax, OFFSET ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA ; `__local_stdio_printf_options'::`2'::_OptionsStorage
|
||
|
||
; 93 : }
|
||
|
||
0000e 5f pop edi
|
||
0000f 5e pop esi
|
||
00010 5b pop ebx
|
||
00011 8b e5 mov esp, ebp
|
||
00013 5d pop ebp
|
||
00014 c3 ret 0
|
||
___local_stdio_printf_options ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\public\SAStatusLog\SAStatusLog.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\public\SAStatusLog\SAStatusLog.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\public\SAStatusLog\SAStatusLog.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\public\SAStatusLog\SAStatusLog.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
|