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

16555 lines
593 KiB
Plaintext
Raw Blame History

; 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