7039 lines
231 KiB
Plaintext
7039 lines
231 KiB
Plaintext
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.34.31933.0
|
||
|
||
TITLE D:\Works\Corpsms_2010\SmsCenter\Release_Unicode\KeyList.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 __vswprintf_c_l
|
||
PUBLIC __vswprintf_l
|
||
PUBLIC ___vswprintf_l
|
||
PUBLIC __swprintf
|
||
PUBLIC ?AfxCrtErrorCheck@@YAHH@Z ; AfxCrtErrorCheck
|
||
PUBLIC ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
PUBLIC ?wmemcpy_s@Checked@ATL@@YAXPA_WIPB_WI@Z ; ATL::Checked::wmemcpy_s
|
||
PUBLIC ?AtlStrLen@ATL@@YAHPB_W@Z ; ATL::AtlStrLen
|
||
PUBLIC ?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z ; ATL::_AtlGetStringResourceImage
|
||
PUBLIC ?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z ; ATL::AtlGetStringResourceImage
|
||
PUBLIC ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
|
||
PUBLIC ?IsLocked@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsLocked
|
||
PUBLIC ?IsShared@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsShared
|
||
PUBLIC ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release
|
||
PUBLIC ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
|
||
PUBLIC ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
|
||
PUBLIC ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType
|
||
PUBLIC ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
|
||
PUBLIC ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
|
||
PUBLIC ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::operator=
|
||
PUBLIC ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ ; ATL::CSimpleStringT<wchar_t,0>::Empty
|
||
PUBLIC ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength
|
||
PUBLIC ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
|
||
PUBLIC ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
|
||
PUBLIC ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
|
||
PUBLIC ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
|
||
PUBLIC ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString
|
||
PUBLIC ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString
|
||
PUBLIC ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::CopyCharsOverlapped
|
||
PUBLIC ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::StringLength
|
||
PUBLIC ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
|
||
PUBLIC ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
|
||
PUBLIC ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Fork
|
||
PUBLIC ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
PUBLIC ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite
|
||
PUBLIC ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2
|
||
PUBLIC ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Reallocate
|
||
PUBLIC ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetLength
|
||
PUBLIC ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@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 ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
PUBLIC ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
|
||
PUBLIC ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
|
||
PUBLIC ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
|
||
PUBLIC ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad
|
||
PUBLIC ?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 ?SetID@CAdoConnection@@QAEXJ@Z ; CAdoConnection::SetID
|
||
PUBLIC ??0IOCP_SQL@@QAE@XZ ; IOCP_SQL::IOCP_SQL
|
||
PUBLIC ??1IOCP_SQL@@QAE@XZ ; IOCP_SQL::~IOCP_SQL
|
||
PUBLIC ??_EIOCP_SQL@@QAEPAXI@Z ; IOCP_SQL::`vector deleting destructor'
|
||
PUBLIC ?GetBlank_SQL@CKeyList@@QAEPAUIOCP_SQL@@XZ ; CKeyList::GetBlank_SQL
|
||
PUBLIC ?Close@CKeyList@@QAEXXZ ; CKeyList::Close
|
||
PUBLIC ?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ ; CKeyList::GetBlank_Process
|
||
PUBLIC ?Init@CKeyList@@QAEXPAVCSmsCenterDlg@@@Z ; CKeyList::Init
|
||
PUBLIC ?Close_IO@CKeyList@@QAEXXZ ; CKeyList::Close_IO
|
||
PUBLIC ?RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z ; CKeyList::RemoveAt_IO
|
||
PUBLIC ?RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z ; CKeyList::RemoveAt_Key
|
||
PUBLIC ?GetBlank_IO@CKeyList@@QAEPAUIOCP_IO@@XZ ; CKeyList::GetBlank_IO
|
||
PUBLIC ?GetBlank_Key@CKeyList@@QAEPAUIOCP_KEY@@XZ ; CKeyList::GetBlank_Key
|
||
PUBLIC ??0CKeyList@@QAE@XZ ; CKeyList::CKeyList
|
||
PUBLIC ??1CKeyList@@UAE@XZ ; CKeyList::~CKeyList
|
||
PUBLIC ??_GCKeyList@@UAEPAXI@Z ; CKeyList::`scalar deleting destructor'
|
||
PUBLIC ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA ; `__local_stdio_printf_options'::`2'::_OptionsStorage
|
||
PUBLIC ??_C@_1BC@HEKPCAFP@?$AAA?$AAp?$AAp?$AAE?$AAr?$AAr?$AAo?$AAr@ ; `string'
|
||
PUBLIC ??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@ ; `string'
|
||
PUBLIC ??_C@_13JKNELIBG@?$AAT@ ; `string'
|
||
PUBLIC ??_7CKeyList@@6B@ ; CKeyList::`vftable'
|
||
PUBLIC ?__LINE__Var@?0??RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z@4JA ; `CKeyList::RemoveAt_Key'::`1'::__LINE__Var
|
||
PUBLIC ??_C@_0N@LNMKMNFF@RemoveAt_Key@ ; `string'
|
||
PUBLIC ??_C@_0DB@EILGGBMO@D?3?2Works?2Corpsms_2010?2SmsCenter@ ; `string'
|
||
PUBLIC ?__LINE__Var@?0??RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z@4JA ; `CKeyList::RemoveAt_IO'::`1'::__LINE__Var
|
||
PUBLIC ??_C@_1BO@OIFMIIBA@?$AA?$FL?$AA?$CF?$AAd?$AA?$FN?$AA?$CF?$AAs?$AA?9?$AA?$CF?$AAs?$PP?$KN?$PP?$LP?$AA?$AA?$PP?z?$AA?$CB@ ; `string'
|
||
PUBLIC ??_C@_1BO@IFJHDIMD@?$AA?$FL?$AA?$CF?$AAd?$AA?$FN?$AA?$CF?$AAs?$AA?9?$AA?$CF?$AAs?$AAc?$AA8?$AA?$AA?$PP?z?$AA?$CB@ ; `string'
|
||
PUBLIC ??_C@_0M@DCAJJICO@RemoveAt_IO@ ; `string'
|
||
PUBLIC ?__LINE__Var@?0??Close_IO@CKeyList@@QAEXXZ@4JA ; `CKeyList::Close_IO'::`1'::__LINE__Var
|
||
PUBLIC ??_C@_08EDPDCAEI@Close_IO@ ; `string'
|
||
PUBLIC ?__LINE__Var@?0??GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ@4JA ; `CKeyList::GetBlank_Process'::`1'::__LINE__Var
|
||
PUBLIC ??_C@_0BB@NCGHDNPI@GetBlank_Process@ ; `string'
|
||
PUBLIC ?__LINE__Var@?0??Close@CKeyList@@QAEXXZ@4JA ; `CKeyList::Close'::`1'::__LINE__Var
|
||
PUBLIC ??_C@_05LGELBCGM@Close@ ; `string'
|
||
PUBLIC ??_R4CKeyList@@6B@ ; CKeyList::`RTTI Complete Object Locator'
|
||
PUBLIC ??_R0?AVCKeyList@@@8 ; CKeyList `RTTI Type Descriptor'
|
||
PUBLIC ??_R3CKeyList@@8 ; CKeyList::`RTTI Class Hierarchy Descriptor'
|
||
PUBLIC ??_R2CKeyList@@8 ; CKeyList::`RTTI Base Class Array'
|
||
PUBLIC ??_R1A@?0A@EA@CKeyList@@8 ; CKeyList::`RTTI Base Class Descriptor at (0,-1,0,64)'
|
||
EXTRN ??_L@YGXPAXIIP6EX0@Z1@Z:PROC ; `eh vector constructor iterator'
|
||
EXTRN ??_M@YGXPAXIIP6EX0@Z@Z:PROC ; `eh vector destructor iterator'
|
||
EXTRN ??3@YAXPAXI@Z:PROC ; operator delete
|
||
EXTRN ??_U@YAPAXI@Z:PROC ; operator new[]
|
||
EXTRN ??_V@YAXPAX@Z:PROC ; operator delete[]
|
||
EXTRN ??_V@YAXPAXI@Z:PROC ; operator delete[]
|
||
EXTRN __invalid_parameter_noinfo:PROC
|
||
EXTRN __errno:PROC
|
||
EXTRN _rand:PROC
|
||
EXTRN ___stdio_common_vswprintf:PROC
|
||
EXTRN _memcpy:PROC
|
||
EXTRN _memmove:PROC
|
||
EXTRN _memset:PROC
|
||
EXTRN _wcslen:PROC
|
||
EXTRN _wmemcpy_s:PROC
|
||
EXTRN __imp__Sleep@4:PROC
|
||
EXTRN __imp__GetTickCount@0:PROC
|
||
EXTRN __imp__LoadResource@8:PROC
|
||
EXTRN __imp__LockResource@4:PROC
|
||
EXTRN __imp__SizeofResource@8:PROC
|
||
EXTRN __imp__FindResourceW@12:PROC
|
||
EXTRN ?AfxThrowMemoryException@@YGXXZ:PROC ; AfxThrowMemoryException
|
||
EXTRN ?AfxThrowInvalidArgException@@YGXXZ:PROC ; AfxThrowInvalidArgException
|
||
EXTRN ?AfxThrowOleException@@YGXJ@Z:PROC ; AfxThrowOleException
|
||
EXTRN ?AfxFindStringResourceHandle@@YGPAUHINSTANCE__@@I@Z:PROC ; AfxFindStringResourceHandle
|
||
EXTRN __imp__closesocket@4:PROC
|
||
EXTRN ?AfxGetStringManager@@YGPAUIAtlStringMgr@ATL@@XZ:PROC ; AfxGetStringManager
|
||
EXTRN ?AfxIsValidAddress@@YGHPBXIH@Z:PROC ; AfxIsValidAddress
|
||
EXTRN ??0CSAStatusLog@@QAE@XZ:PROC ; CSAStatusLog::CSAStatusLog
|
||
EXTRN ??1CSAStatusLog@@QAE@XZ:PROC ; CSAStatusLog::~CSAStatusLog
|
||
EXTRN ?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z:PROC ; CSAStatusLog::Init
|
||
EXTRN ?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z:PROC ; CSAStatusLog::LogError
|
||
EXTRN ??0CAdoConnection@@QAE@XZ:PROC ; CAdoConnection::CAdoConnection
|
||
EXTRN ??1CAdoConnection@@UAE@XZ:PROC ; CAdoConnection::~CAdoConnection
|
||
EXTRN ?isOK@CAdoConnection@@QAEHXZ:PROC ; CAdoConnection::isOK
|
||
EXTRN ??_ECKeyList@@UAEPAXI@Z:PROC ; CKeyList::`vector deleting destructor'
|
||
EXTRN ?RefreshLogin@CSmsCenterDlg@@QAEXXZ:PROC ; CSmsCenterDlg::RefreshLogin
|
||
EXTRN ?AddLog@CSmsCenterDlg@@QAEXPB_WJ@Z:PROC ; CSmsCenterDlg::AddLog
|
||
EXTRN @__security_check_cookie@4:PROC
|
||
EXTRN ___CxxFrameHandler3:PROC
|
||
EXTRN __chkstk:PROC
|
||
EXTRN _memset:PROC
|
||
EXTRN ??_7type_info@@6B@:QWORD ; type_info::`vftable'
|
||
EXTRN ___security_cookie:DWORD
|
||
; 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 ??_R1A@?0A@EA@CKeyList@@8
|
||
rdata$r SEGMENT
|
||
??_R1A@?0A@EA@CKeyList@@8 DD FLAT:??_R0?AVCKeyList@@@8 ; CKeyList::`RTTI Base Class Descriptor at (0,-1,0,64)'
|
||
DD 00H
|
||
DD 00H
|
||
DD 0ffffffffH
|
||
DD 00H
|
||
DD 040H
|
||
DD FLAT:??_R3CKeyList@@8
|
||
rdata$r ENDS
|
||
; COMDAT ??_R2CKeyList@@8
|
||
rdata$r SEGMENT
|
||
??_R2CKeyList@@8 DD FLAT:??_R1A@?0A@EA@CKeyList@@8 ; CKeyList::`RTTI Base Class Array'
|
||
rdata$r ENDS
|
||
; COMDAT ??_R3CKeyList@@8
|
||
rdata$r SEGMENT
|
||
??_R3CKeyList@@8 DD 00H ; CKeyList::`RTTI Class Hierarchy Descriptor'
|
||
DD 00H
|
||
DD 01H
|
||
DD FLAT:??_R2CKeyList@@8
|
||
rdata$r ENDS
|
||
; COMDAT ??_R0?AVCKeyList@@@8
|
||
data$rs SEGMENT
|
||
??_R0?AVCKeyList@@@8 DD FLAT:??_7type_info@@6B@ ; CKeyList `RTTI Type Descriptor'
|
||
DD 00H
|
||
DB '.?AVCKeyList@@', 00H
|
||
data$rs ENDS
|
||
; COMDAT ??_R4CKeyList@@6B@
|
||
rdata$r SEGMENT
|
||
??_R4CKeyList@@6B@ DD 00H ; CKeyList::`RTTI Complete Object Locator'
|
||
DD 00H
|
||
DD 00H
|
||
DD FLAT:??_R0?AVCKeyList@@@8
|
||
DD FLAT:??_R3CKeyList@@8
|
||
rdata$r ENDS
|
||
; COMDAT ??_C@_05LGELBCGM@Close@
|
||
CONST SEGMENT
|
||
??_C@_05LGELBCGM@Close@ DB 'Close', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ?__LINE__Var@?0??Close@CKeyList@@QAEXXZ@4JA
|
||
_DATA SEGMENT
|
||
?__LINE__Var@?0??Close@CKeyList@@QAEXXZ@4JA DD 0133H ; `CKeyList::Close'::`1'::__LINE__Var
|
||
_DATA ENDS
|
||
; COMDAT ??_C@_0BB@NCGHDNPI@GetBlank_Process@
|
||
CONST SEGMENT
|
||
??_C@_0BB@NCGHDNPI@GetBlank_Process@ DB 'GetBlank_Process', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ?__LINE__Var@?0??GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ@4JA
|
||
_DATA SEGMENT
|
||
?__LINE__Var@?0??GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ@4JA DD 0f4H ; `CKeyList::GetBlank_Process'::`1'::__LINE__Var
|
||
_DATA ENDS
|
||
; COMDAT ??_C@_08EDPDCAEI@Close_IO@
|
||
CONST SEGMENT
|
||
??_C@_08EDPDCAEI@Close_IO@ DB 'Close_IO', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ?__LINE__Var@?0??Close_IO@CKeyList@@QAEXXZ@4JA
|
||
_DATA SEGMENT
|
||
?__LINE__Var@?0??Close_IO@CKeyList@@QAEXXZ@4JA DD 0a6H ; `CKeyList::Close_IO'::`1'::__LINE__Var
|
||
_DATA ENDS
|
||
; COMDAT ??_C@_0M@DCAJJICO@RemoveAt_IO@
|
||
CONST SEGMENT
|
||
??_C@_0M@DCAJJICO@RemoveAt_IO@ DB 'RemoveAt_IO', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_1BO@IFJHDIMD@?$AA?$FL?$AA?$CF?$AAd?$AA?$FN?$AA?$CF?$AAs?$AA?9?$AA?$CF?$AAs?$AAc?$AA8?$AA?$AA?$PP?z?$AA?$CB@
|
||
CONST SEGMENT
|
||
??_C@_1BO@IFJHDIMD@?$AA?$FL?$AA?$CF?$AAd?$AA?$FN?$AA?$CF?$AAs?$AA?9?$AA?$CF?$AAs?$AAc?$AA8?$AA?$AA?$PP?z?$AA?$CB@ DB '['
|
||
DB 00H, '%', 00H, 'd', 00H, ']', 00H, '%', 00H, 's', 00H, '-', 00H
|
||
DB '%', 00H, 's', 00H, 'ck8^', 00H, 090H, 0faH, 'Q!', 00H, 00H, 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_1BO@OIFMIIBA@?$AA?$FL?$AA?$CF?$AAd?$AA?$FN?$AA?$CF?$AAs?$AA?9?$AA?$CF?$AAs?$PP?$KN?$PP?$LP?$AA?$AA?$PP?z?$AA?$CB@
|
||
CONST SEGMENT
|
||
??_C@_1BO@OIFMIIBA@?$AA?$FL?$AA?$CF?$AAd?$AA?$FN?$AA?$CF?$AAs?$AA?9?$AA?$CF?$AAs?$PP?$KN?$PP?$LP?$AA?$AA?$PP?z?$AA?$CB@ DB '['
|
||
DB 00H, '%', 00H, 'd', 00H, ']', 00H, '%', 00H, 's', 00H, '-', 00H
|
||
DB '%', 00H, 's', 00H, 0adH, 'e', 0bfH, '~', 00H, 090H, 0faH, 'Q!'
|
||
DB 00H, 00H, 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ?__LINE__Var@?0??RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z@4JA
|
||
_DATA SEGMENT
|
||
?__LINE__Var@?0??RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z@4JA DD 081H ; `CKeyList::RemoveAt_IO'::`1'::__LINE__Var
|
||
_DATA ENDS
|
||
; COMDAT ??_C@_0DB@EILGGBMO@D?3?2Works?2Corpsms_2010?2SmsCenter@
|
||
CONST SEGMENT
|
||
??_C@_0DB@EILGGBMO@D?3?2Works?2Corpsms_2010?2SmsCenter@ DB 'D:\Works\Corp'
|
||
DB 'sms_2010\SmsCenter\IOCP\KeyList.cpp', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0N@LNMKMNFF@RemoveAt_Key@
|
||
CONST SEGMENT
|
||
??_C@_0N@LNMKMNFF@RemoveAt_Key@ DB 'RemoveAt_Key', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ?__LINE__Var@?0??RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z@4JA
|
||
_DATA SEGMENT
|
||
?__LINE__Var@?0??RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z@4JA DD 06dH ; `CKeyList::RemoveAt_Key'::`1'::__LINE__Var
|
||
_DATA ENDS
|
||
; COMDAT ??_7CKeyList@@6B@
|
||
CONST SEGMENT
|
||
??_7CKeyList@@6B@ DD FLAT:??_R4CKeyList@@6B@ ; CKeyList::`vftable'
|
||
DD FLAT:??_ECKeyList@@UAEPAXI@Z
|
||
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 voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$??1CKeyList@@UAE@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
|
||
DB 03cH
|
||
voltbl ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DW 023H
|
||
DW 0144H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__catchsym$?RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z$5 DD 00H
|
||
DD 00H
|
||
DD 00H
|
||
DD FLAT:__catch$?RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z$0
|
||
__tryblocktable$?RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z DD 00H
|
||
DD 00H
|
||
DD 04H
|
||
DD 01H
|
||
DD FLAT:__catchsym$?RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z$5
|
||
__ehfuncinfo$?RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z DD 019930522H
|
||
DD 05H
|
||
DD FLAT:__unwindtable$?RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z
|
||
DD 01H
|
||
DD FLAT:__tryblocktable$?RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
__unwindtable$?RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z DD 0ffffffffH
|
||
DD 00H
|
||
DD 0ffffffffH
|
||
DD 00H
|
||
DD 01H
|
||
DD FLAT:__unwindfunclet$?RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z$2
|
||
DD 02H
|
||
DD FLAT:__unwindfunclet$?RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z$3
|
||
DD 03H
|
||
DD FLAT:__unwindfunclet$?RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z$4
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 02fH
|
||
DB 03cH
|
||
voltbl ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DW 023H
|
||
DW 0237H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__catchsym$?RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z$5 DD 00H
|
||
DD 00H
|
||
DD 00H
|
||
DD FLAT:__catch$?RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z$0
|
||
__tryblocktable$?RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z DD 00H
|
||
DD 00H
|
||
DD 04H
|
||
DD 01H
|
||
DD FLAT:__catchsym$?RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z$5
|
||
__ehfuncinfo$?RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z DD 019930522H
|
||
DD 05H
|
||
DD FLAT:__unwindtable$?RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z
|
||
DD 01H
|
||
DD FLAT:__tryblocktable$?RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
__unwindtable$?RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z DD 0ffffffffH
|
||
DD 00H
|
||
DD 0ffffffffH
|
||
DD 00H
|
||
DD 01H
|
||
DD FLAT:__unwindfunclet$?RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z$2
|
||
DD 02H
|
||
DD FLAT:__unwindfunclet$?RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z$3
|
||
DD 03H
|
||
DD FLAT:__unwindfunclet$?RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z$4
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 02fH
|
||
DB 03cH
|
||
voltbl ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DW 023H
|
||
DW 0173H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__catchsym$?Close_IO@CKeyList@@QAEXXZ$5 DD 00H
|
||
DD 00H
|
||
DD 00H
|
||
DD FLAT:__catch$?Close_IO@CKeyList@@QAEXXZ$0
|
||
__tryblocktable$?Close_IO@CKeyList@@QAEXXZ DD 00H
|
||
DD 00H
|
||
DD 04H
|
||
DD 01H
|
||
DD FLAT:__catchsym$?Close_IO@CKeyList@@QAEXXZ$5
|
||
__ehfuncinfo$?Close_IO@CKeyList@@QAEXXZ DD 019930522H
|
||
DD 05H
|
||
DD FLAT:__unwindtable$?Close_IO@CKeyList@@QAEXXZ
|
||
DD 01H
|
||
DD FLAT:__tryblocktable$?Close_IO@CKeyList@@QAEXXZ
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
__unwindtable$?Close_IO@CKeyList@@QAEXXZ DD 0ffffffffH
|
||
DD 00H
|
||
DD 0ffffffffH
|
||
DD 00H
|
||
DD 01H
|
||
DD FLAT:__unwindfunclet$?Close_IO@CKeyList@@QAEXXZ$2
|
||
DD 02H
|
||
DD FLAT:__unwindfunclet$?Close_IO@CKeyList@@QAEXXZ$3
|
||
DD 03H
|
||
DD FLAT:__unwindfunclet$?Close_IO@CKeyList@@QAEXXZ$4
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 020H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__unwindtable$?Init@CKeyList@@QAEXPAVCSmsCenterDlg@@@Z DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$?Init@CKeyList@@QAEXPAVCSmsCenterDlg@@@Z$0
|
||
__ehfuncinfo$?Init@CKeyList@@QAEXPAVCSmsCenterDlg@@@Z DD 019930522H
|
||
DD 01H
|
||
DD FLAT:__unwindtable$?Init@CKeyList@@QAEXPAVCSmsCenterDlg@@@Z
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 02fH
|
||
DB 03cH
|
||
voltbl ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 023H
|
||
DB 0f5H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__catchsym$?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ$5 DD 00H
|
||
DD 00H
|
||
DD 00H
|
||
DD FLAT:__catch$?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ$0
|
||
__tryblocktable$?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ DD 00H
|
||
DD 00H
|
||
DD 04H
|
||
DD 01H
|
||
DD FLAT:__catchsym$?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ$5
|
||
__ehfuncinfo$?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ DD 019930522H
|
||
DD 05H
|
||
DD FLAT:__unwindtable$?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ
|
||
DD 01H
|
||
DD FLAT:__tryblocktable$?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
__unwindtable$?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ DD 0ffffffffH
|
||
DD 00H
|
||
DD 0ffffffffH
|
||
DD 00H
|
||
DD 01H
|
||
DD FLAT:__unwindfunclet$?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ$2
|
||
DD 02H
|
||
DD FLAT:__unwindfunclet$?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ$3
|
||
DD 03H
|
||
DD FLAT:__unwindfunclet$?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ$4
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 02fH
|
||
DB 03cH
|
||
voltbl ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DW 023H
|
||
DW 0250H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__catchsym$?Close@CKeyList@@QAEXXZ$5 DD 00H
|
||
DD 00H
|
||
DD 00H
|
||
DD FLAT:__catch$?Close@CKeyList@@QAEXXZ$0
|
||
__tryblocktable$?Close@CKeyList@@QAEXXZ DD 00H
|
||
DD 00H
|
||
DD 04H
|
||
DD 01H
|
||
DD FLAT:__catchsym$?Close@CKeyList@@QAEXXZ$5
|
||
__ehfuncinfo$?Close@CKeyList@@QAEXXZ DD 019930522H
|
||
DD 05H
|
||
DD FLAT:__unwindtable$?Close@CKeyList@@QAEXXZ
|
||
DD 01H
|
||
DD FLAT:__tryblocktable$?Close@CKeyList@@QAEXXZ
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 00H
|
||
__unwindtable$?Close@CKeyList@@QAEXXZ DD 0ffffffffH
|
||
DD 00H
|
||
DD 0ffffffffH
|
||
DD 00H
|
||
DD 01H
|
||
DD FLAT:__unwindfunclet$?Close@CKeyList@@QAEXXZ$2
|
||
DD 02H
|
||
DD FLAT:__unwindfunclet$?Close@CKeyList@@QAEXXZ$3
|
||
DD 03H
|
||
DD FLAT:__unwindfunclet$?Close@CKeyList@@QAEXXZ$4
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$??_EIOCP_SQL@@QAEPAXI@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 019H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__unwindtable$??1IOCP_SQL@@QAE@XZ DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$??1IOCP_SQL@@QAE@XZ$0
|
||
__ehfuncinfo$??1IOCP_SQL@@QAE@XZ DD 019930522H
|
||
DD 01H
|
||
DD FLAT:__unwindtable$??1IOCP_SQL@@QAE@XZ
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 019H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__unwindtable$??0IOCP_SQL@@QAE@XZ DD 0ffffffffH
|
||
DD FLAT:__unwindfunclet$??0IOCP_SQL@@QAE@XZ$0
|
||
__ehfuncinfo$??0IOCP_SQL@@QAE@XZ DD 019930522H
|
||
DD 01H
|
||
DD FLAT:__unwindtable$??0IOCP_SQL@@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$?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 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_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 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 09H
|
||
voltbl ENDS
|
||
; COMDAT xdata$x
|
||
xdata$x SEGMENT
|
||
__ehfuncinfo$?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z DD 019930522H
|
||
DD 00H
|
||
DD 00H
|
||
DD 2 DUP(00H)
|
||
DD 2 DUP(00H)
|
||
DD 00H
|
||
DD 04H
|
||
xdata$x ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; COMDAT ??_GCKeyList@@UAEPAXI@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
___flags$ = 8 ; size = 4
|
||
??_GCKeyList@@UAEPAXI@Z PROC ; CKeyList::`scalar deleting destructor', COMDAT
|
||
; _this$ = ecx
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ??1CKeyList@@UAE@XZ ; CKeyList::~CKeyList
|
||
00014 8b 45 08 mov eax, DWORD PTR ___flags$[ebp]
|
||
00017 83 e0 01 and eax, 1
|
||
0001a 74 0e je SHORT $LN2@scalar
|
||
0001c 6a 20 push 32 ; 00000020H
|
||
0001e 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00021 50 push eax
|
||
00022 e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete
|
||
00027 83 c4 08 add esp, 8
|
||
$LN2@scalar:
|
||
0002a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0002d 5f pop edi
|
||
0002e 5e pop esi
|
||
0002f 5b pop ebx
|
||
00030 8b e5 mov esp, ebp
|
||
00032 5d pop ebp
|
||
00033 c2 04 00 ret 4
|
||
??_GCKeyList@@UAEPAXI@Z ENDP ; CKeyList::`scalar deleting destructor'
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\SmsCenter\IOCP\KeyList.cpp
|
||
; COMDAT ??1CKeyList@@UAE@XZ
|
||
_TEXT SEGMENT
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
??1CKeyList@@UAE@XZ PROC ; CKeyList::~CKeyList, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 32 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$??1CKeyList@@UAE@XZ
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 44 sub esp, 68 ; 00000044H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
|
||
0002b 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
0002e c7 00 00 00 00
|
||
00 mov DWORD PTR [eax], OFFSET ??_7CKeyList@@6B@
|
||
|
||
; 33 : Close();
|
||
|
||
00034 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00037 e8 00 00 00 00 call ?Close@CKeyList@@QAEXXZ ; CKeyList::Close
|
||
|
||
; 34 : }
|
||
|
||
0003c 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0003f 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00046 59 pop ecx
|
||
00047 5f pop edi
|
||
00048 5e pop esi
|
||
00049 5b pop ebx
|
||
0004a 8b e5 mov esp, ebp
|
||
0004c 5d pop ebp
|
||
0004d c3 ret 0
|
||
0004e cc int 3
|
||
0004f cc int 3
|
||
00050 cc int 3
|
||
00051 cc int 3
|
||
00052 cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$??1CKeyList@@UAE@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$??1CKeyList@@UAE@XZ
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
??1CKeyList@@UAE@XZ ENDP ; CKeyList::~CKeyList
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\SmsCenter\IOCP\KeyList.cpp
|
||
; COMDAT ??0CKeyList@@QAE@XZ
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
??0CKeyList@@QAE@XZ PROC ; CKeyList::CKeyList, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 21 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0000f c7 00 00 00 00
|
||
00 mov DWORD PTR [eax], OFFSET ??_7CKeyList@@6B@
|
||
|
||
; 22 : m_IO = NULL;
|
||
|
||
00015 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00018 c7 40 0c 00 00
|
||
00 00 mov DWORD PTR [eax+12], 0
|
||
|
||
; 23 : m_Key = NULL;
|
||
|
||
0001f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00022 c7 40 04 00 00
|
||
00 00 mov DWORD PTR [eax+4], 0
|
||
|
||
; 24 : m_Process = NULL;
|
||
|
||
00029 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0002c c7 40 18 00 00
|
||
00 00 mov DWORD PTR [eax+24], 0
|
||
|
||
; 25 : m_SQL = NULL;
|
||
|
||
00033 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00036 c7 40 14 00 00
|
||
00 00 mov DWORD PTR [eax+20], 0
|
||
|
||
; 26 : m_IOIndex = 0;
|
||
|
||
0003d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00040 c7 40 10 00 00
|
||
00 00 mov DWORD PTR [eax+16], 0
|
||
|
||
; 27 : m_KeyIndex = 0;
|
||
|
||
00047 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0004a c7 40 08 00 00
|
||
00 00 mov DWORD PTR [eax+8], 0
|
||
|
||
; 28 : m_Process = 0;
|
||
|
||
00051 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00054 c7 40 18 00 00
|
||
00 00 mov DWORD PTR [eax+24], 0
|
||
|
||
; 29 : }
|
||
|
||
0005b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0005e 5f pop edi
|
||
0005f 5e pop esi
|
||
00060 5b pop ebx
|
||
00061 8b e5 mov esp, ebp
|
||
00063 5d pop ebp
|
||
00064 c3 ret 0
|
||
??0CKeyList@@QAE@XZ ENDP ; CKeyList::CKeyList
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\SmsCenter\IOCP\KeyList.cpp
|
||
; COMDAT ?GetBlank_Key@CKeyList@@QAEPAUIOCP_KEY@@XZ
|
||
_TEXT SEGMENT
|
||
tv159 = -76 ; size = 4
|
||
tv93 = -76 ; size = 4
|
||
_i$1 = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
?GetBlank_Key@CKeyList@@QAEPAUIOCP_KEY@@XZ PROC ; CKeyList::GetBlank_Key, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 37 : {
|
||
|
||
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
|
||
|
||
; 38 : //<2F><>β<EFBFBD><CEB2><EFBFBD>ҿ<EFBFBD><D2BF>е<EFBFBD>Key
|
||
; 39 : for ( int i=m_KeyIndex ; i<MAX_LOGINUSER ; i++ )
|
||
|
||
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0000f 8b 48 08 mov ecx, DWORD PTR [eax+8]
|
||
00012 89 4d f8 mov DWORD PTR _i$1[ebp], ecx
|
||
00015 eb 09 jmp SHORT $LN4@GetBlank_K
|
||
$LN2@GetBlank_K:
|
||
00017 8b 45 f8 mov eax, DWORD PTR _i$1[ebp]
|
||
0001a 83 c0 01 add eax, 1
|
||
0001d 89 45 f8 mov DWORD PTR _i$1[ebp], eax
|
||
$LN4@GetBlank_K:
|
||
00020 81 7d f8 c8 00
|
||
00 00 cmp DWORD PTR _i$1[ebp], 200 ; 000000c8H
|
||
00027 7d 7e jge SHORT $LN3@GetBlank_K
|
||
|
||
; 40 : {
|
||
; 41 : if ( (m_Key[i].socket == NULL || m_Key[i].socket==INVALID_SOCKET) &&
|
||
|
||
00029 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0002c 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
0002f 8b 55 f8 mov edx, DWORD PTR _i$1[ebp]
|
||
00032 83 3c d1 00 cmp DWORD PTR [ecx+edx*8], 0
|
||
00036 74 0f je SHORT $LN9@GetBlank_K
|
||
00038 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0003b 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
0003e 8b 55 f8 mov edx, DWORD PTR _i$1[ebp]
|
||
00041 83 3c d1 ff cmp DWORD PTR [ecx+edx*8], -1
|
||
00045 75 5b jne SHORT $LN8@GetBlank_K
|
||
$LN9@GetBlank_K:
|
||
00047 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0004a 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
0004d 8b 55 f8 mov edx, DWORD PTR _i$1[ebp]
|
||
00050 83 7c d1 04 00 cmp DWORD PTR [ecx+edx*8+4], 0
|
||
00055 75 4b jne SHORT $LN8@GetBlank_K
|
||
|
||
; 42 : m_Key[i].lRandID==0)
|
||
; 43 : {
|
||
; 44 : m_KeyIndex = i+1;
|
||
|
||
00057 8b 45 f8 mov eax, DWORD PTR _i$1[ebp]
|
||
0005a 83 c0 01 add eax, 1
|
||
0005d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00060 89 41 08 mov DWORD PTR [ecx+8], eax
|
||
|
||
; 45 : if ( m_KeyIndex>=MAX_LOGINUSER )
|
||
|
||
00063 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00066 81 78 08 c8 00
|
||
00 00 cmp DWORD PTR [eax+8], 200 ; 000000c8H
|
||
0006d 7c 0a jl SHORT $LN10@GetBlank_K
|
||
|
||
; 46 : m_KeyIndex = 0;
|
||
|
||
0006f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00072 c7 40 08 00 00
|
||
00 00 mov DWORD PTR [eax+8], 0
|
||
$LN10@GetBlank_K:
|
||
|
||
; 47 : m_Key[i].lRandID = rand();
|
||
|
||
00079 e8 00 00 00 00 call _rand
|
||
0007e 89 45 b4 mov DWORD PTR tv93[ebp], eax
|
||
00081 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00084 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
00087 8b 55 f8 mov edx, DWORD PTR _i$1[ebp]
|
||
0008a 8b 45 b4 mov eax, DWORD PTR tv93[ebp]
|
||
0008d 89 44 d1 04 mov DWORD PTR [ecx+edx*8+4], eax
|
||
|
||
; 48 : return &m_Key[i];
|
||
|
||
00091 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00094 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
00097 8b 55 f8 mov edx, DWORD PTR _i$1[ebp]
|
||
0009a 8d 04 d1 lea eax, DWORD PTR [ecx+edx*8]
|
||
0009d e9 ac 00 00 00 jmp $LN1@GetBlank_K
|
||
$LN8@GetBlank_K:
|
||
|
||
; 49 : }
|
||
; 50 : }
|
||
|
||
000a2 e9 70 ff ff ff jmp $LN2@GetBlank_K
|
||
$LN3@GetBlank_K:
|
||
|
||
; 51 :
|
||
; 52 : //<2F><>ͷ<EFBFBD><CDB7><EFBFBD>ҿ<EFBFBD><D2BF>е<EFBFBD>Key
|
||
; 53 : for ( i=0 ; i<m_KeyIndex && i<MAX_LOGINUSER ; i++ )
|
||
|
||
000a7 c7 45 f8 00 00
|
||
00 00 mov DWORD PTR _i$1[ebp], 0
|
||
000ae eb 09 jmp SHORT $LN7@GetBlank_K
|
||
$LN5@GetBlank_K:
|
||
000b0 8b 45 f8 mov eax, DWORD PTR _i$1[ebp]
|
||
000b3 83 c0 01 add eax, 1
|
||
000b6 89 45 f8 mov DWORD PTR _i$1[ebp], eax
|
||
$LN7@GetBlank_K:
|
||
000b9 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
000bc 8b 4d f8 mov ecx, DWORD PTR _i$1[ebp]
|
||
000bf 3b 48 08 cmp ecx, DWORD PTR [eax+8]
|
||
000c2 0f 8d 84 00 00
|
||
00 jge $LN6@GetBlank_K
|
||
000c8 81 7d f8 c8 00
|
||
00 00 cmp DWORD PTR _i$1[ebp], 200 ; 000000c8H
|
||
000cf 7d 7b jge SHORT $LN6@GetBlank_K
|
||
|
||
; 54 : {
|
||
; 55 : if ( (m_Key[i].socket == NULL || m_Key[i].socket==INVALID_SOCKET) &&
|
||
|
||
000d1 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
000d4 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
000d7 8b 55 f8 mov edx, DWORD PTR _i$1[ebp]
|
||
000da 83 3c d1 00 cmp DWORD PTR [ecx+edx*8], 0
|
||
000de 74 0f je SHORT $LN12@GetBlank_K
|
||
000e0 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
000e3 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
000e6 8b 55 f8 mov edx, DWORD PTR _i$1[ebp]
|
||
000e9 83 3c d1 ff cmp DWORD PTR [ecx+edx*8], -1
|
||
000ed 75 58 jne SHORT $LN11@GetBlank_K
|
||
$LN12@GetBlank_K:
|
||
000ef 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
000f2 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
000f5 8b 55 f8 mov edx, DWORD PTR _i$1[ebp]
|
||
000f8 83 7c d1 04 00 cmp DWORD PTR [ecx+edx*8+4], 0
|
||
000fd 75 48 jne SHORT $LN11@GetBlank_K
|
||
|
||
; 56 : m_Key[i].lRandID==0)
|
||
; 57 : {
|
||
; 58 : m_KeyIndex = i+1;
|
||
|
||
000ff 8b 45 f8 mov eax, DWORD PTR _i$1[ebp]
|
||
00102 83 c0 01 add eax, 1
|
||
00105 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00108 89 41 08 mov DWORD PTR [ecx+8], eax
|
||
|
||
; 59 : if ( m_KeyIndex>=MAX_LOGINUSER )
|
||
|
||
0010b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0010e 81 78 08 c8 00
|
||
00 00 cmp DWORD PTR [eax+8], 200 ; 000000c8H
|
||
00115 7c 0a jl SHORT $LN13@GetBlank_K
|
||
|
||
; 60 : m_KeyIndex = 0;
|
||
|
||
00117 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0011a c7 40 08 00 00
|
||
00 00 mov DWORD PTR [eax+8], 0
|
||
$LN13@GetBlank_K:
|
||
|
||
; 61 : m_Key[i].lRandID = rand();
|
||
|
||
00121 e8 00 00 00 00 call _rand
|
||
00126 89 45 b4 mov DWORD PTR tv159[ebp], eax
|
||
00129 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0012c 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
0012f 8b 55 f8 mov edx, DWORD PTR _i$1[ebp]
|
||
00132 8b 45 b4 mov eax, DWORD PTR tv159[ebp]
|
||
00135 89 44 d1 04 mov DWORD PTR [ecx+edx*8+4], eax
|
||
|
||
; 62 : return &m_Key[i];
|
||
|
||
00139 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0013c 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
0013f 8b 55 f8 mov edx, DWORD PTR _i$1[ebp]
|
||
00142 8d 04 d1 lea eax, DWORD PTR [ecx+edx*8]
|
||
00145 eb 07 jmp SHORT $LN1@GetBlank_K
|
||
$LN11@GetBlank_K:
|
||
|
||
; 63 : }
|
||
; 64 : }
|
||
|
||
00147 e9 64 ff ff ff jmp $LN5@GetBlank_K
|
||
$LN6@GetBlank_K:
|
||
|
||
; 65 : return NULL;
|
||
|
||
0014c 33 c0 xor eax, eax
|
||
$LN1@GetBlank_K:
|
||
|
||
; 66 : }
|
||
|
||
0014e 5f pop edi
|
||
0014f 5e pop esi
|
||
00150 5b pop ebx
|
||
00151 8b e5 mov esp, ebp
|
||
00153 5d pop ebp
|
||
00154 c3 ret 0
|
||
?GetBlank_Key@CKeyList@@QAEPAUIOCP_KEY@@XZ ENDP ; CKeyList::GetBlank_Key
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\SmsCenter\IOCP\KeyList.cpp
|
||
; COMDAT ?GetBlank_IO@CKeyList@@QAEPAUIOCP_IO@@XZ
|
||
_TEXT SEGMENT
|
||
tv175 = -76 ; size = 4
|
||
tv93 = -76 ; size = 4
|
||
_i$1 = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
?GetBlank_IO@CKeyList@@QAEPAUIOCP_IO@@XZ PROC ; CKeyList::GetBlank_IO, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 69 : {
|
||
|
||
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
|
||
|
||
; 70 : //<2F><>β<EFBFBD><CEB2><EFBFBD>ҿ<EFBFBD><D2BF>е<EFBFBD>IO
|
||
; 71 : for ( int i=m_IOIndex ; i<MAX_LOGINUSER ; i++ )
|
||
|
||
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0000f 8b 48 10 mov ecx, DWORD PTR [eax+16]
|
||
00012 89 4d f8 mov DWORD PTR _i$1[ebp], ecx
|
||
00015 eb 09 jmp SHORT $LN4@GetBlank_I
|
||
$LN2@GetBlank_I:
|
||
00017 8b 45 f8 mov eax, DWORD PTR _i$1[ebp]
|
||
0001a 83 c0 01 add eax, 1
|
||
0001d 89 45 f8 mov DWORD PTR _i$1[ebp], eax
|
||
$LN4@GetBlank_I:
|
||
00020 81 7d f8 c8 00
|
||
00 00 cmp DWORD PTR _i$1[ebp], 200 ; 000000c8H
|
||
00027 0f 8d f9 00 00
|
||
00 jge $LN3@GetBlank_I
|
||
|
||
; 72 : {
|
||
; 73 : if ( (m_IO[i].socket == NULL || m_IO[i].socket==INVALID_SOCKET) &&
|
||
|
||
0002d 69 45 f8 b0 df
|
||
06 00 imul eax, DWORD PTR _i$1[ebp], 450480
|
||
00034 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00037 8b 51 0c mov edx, DWORD PTR [ecx+12]
|
||
0003a 83 7c 02 14 00 cmp DWORD PTR [edx+eax+20], 0
|
||
0003f 74 18 je SHORT $LN9@GetBlank_I
|
||
00041 69 45 f8 b0 df
|
||
06 00 imul eax, DWORD PTR _i$1[ebp], 450480
|
||
00048 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0004b 8b 51 0c mov edx, DWORD PTR [ecx+12]
|
||
0004e 83 7c 02 14 ff cmp DWORD PTR [edx+eax+20], -1
|
||
00053 0f 85 c8 00 00
|
||
00 jne $LN8@GetBlank_I
|
||
$LN9@GetBlank_I:
|
||
00059 69 45 f8 b0 df
|
||
06 00 imul eax, DWORD PTR _i$1[ebp], 450480
|
||
00060 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00063 8b 51 0c mov edx, DWORD PTR [ecx+12]
|
||
00066 83 7c 02 20 00 cmp DWORD PTR [edx+eax+32], 0
|
||
0006b 0f 85 b0 00 00
|
||
00 jne $LN8@GetBlank_I
|
||
|
||
; 74 : m_IO[i].lRandID==0)
|
||
; 75 : {
|
||
; 76 : m_IOIndex = i+1;
|
||
|
||
00071 8b 45 f8 mov eax, DWORD PTR _i$1[ebp]
|
||
00074 83 c0 01 add eax, 1
|
||
00077 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0007a 89 41 10 mov DWORD PTR [ecx+16], eax
|
||
|
||
; 77 : if ( m_IOIndex>=MAX_LOGINUSER )
|
||
|
||
0007d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00080 81 78 10 c8 00
|
||
00 00 cmp DWORD PTR [eax+16], 200 ; 000000c8H
|
||
00087 7c 0a jl SHORT $LN10@GetBlank_I
|
||
|
||
; 78 : m_IOIndex = 0;
|
||
|
||
00089 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0008c c7 40 10 00 00
|
||
00 00 mov DWORD PTR [eax+16], 0
|
||
$LN10@GetBlank_I:
|
||
|
||
; 79 : m_IO[i].lRandID = rand();
|
||
|
||
00093 e8 00 00 00 00 call _rand
|
||
00098 89 45 b4 mov DWORD PTR tv93[ebp], eax
|
||
0009b 69 45 f8 b0 df
|
||
06 00 imul eax, DWORD PTR _i$1[ebp], 450480
|
||
000a2 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
000a5 8b 51 0c mov edx, DWORD PTR [ecx+12]
|
||
000a8 8b 4d b4 mov ecx, DWORD PTR tv93[ebp]
|
||
000ab 89 4c 02 20 mov DWORD PTR [edx+eax+32], ecx
|
||
|
||
; 80 : // m_IO[i].IOS.lRandID=m_IO[i].lRandID;
|
||
; 81 :
|
||
; 82 : m_IO[i].m_bCheckup = true;
|
||
|
||
000af 69 45 f8 b0 df
|
||
06 00 imul eax, DWORD PTR _i$1[ebp], 450480
|
||
000b6 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
000b9 8b 51 0c mov edx, DWORD PTR [ecx+12]
|
||
000bc c7 84 02 b4 01
|
||
00 00 01 00 00
|
||
00 mov DWORD PTR [edx+eax+436], 1
|
||
|
||
; 83 : m_IO[i].m_bCompress = SENDDATA_COMPRESS; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD>ѹ<EFBFBD><D1B9>
|
||
|
||
000c7 69 45 f8 b0 df
|
||
06 00 imul eax, DWORD PTR _i$1[ebp], 450480
|
||
000ce 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
000d1 8b 51 0c mov edx, DWORD PTR [ecx+12]
|
||
000d4 c7 84 02 b8 01
|
||
00 00 00 00 00
|
||
00 mov DWORD PTR [edx+eax+440], 0
|
||
|
||
; 84 : m_IO[i].m_lAgentID =-100; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID <20><>Ĭ<EFBFBD><C4AC>Ϊ-100,δ֪<CEB4><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||
|
||
000df 69 45 f8 b0 df
|
||
06 00 imul eax, DWORD PTR _i$1[ebp], 450480
|
||
000e6 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
000e9 8b 51 0c mov edx, DWORD PTR [ecx+12]
|
||
000ec c7 84 02 98 01
|
||
00 00 9c ff ff
|
||
ff mov DWORD PTR [edx+eax+408], -100 ; ffffff9cH
|
||
|
||
; 85 : m_IO[i].m_lAgentType=-100; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>Ĭ<EFBFBD><C4AC>Ϊ-100,δ֪<CEB4><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||
|
||
000f7 69 45 f8 b0 df
|
||
06 00 imul eax, DWORD PTR _i$1[ebp], 450480
|
||
000fe 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00101 8b 51 0c mov edx, DWORD PTR [ecx+12]
|
||
00104 c7 84 02 a0 01
|
||
00 00 9c ff ff
|
||
ff mov DWORD PTR [edx+eax+416], -100 ; ffffff9cH
|
||
|
||
; 86 :
|
||
; 87 : return &m_IO[i];
|
||
|
||
0010f 69 45 f8 b0 df
|
||
06 00 imul eax, DWORD PTR _i$1[ebp], 450480
|
||
00116 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00119 03 41 0c add eax, DWORD PTR [ecx+12]
|
||
0011c e9 c3 00 00 00 jmp $LN1@GetBlank_I
|
||
$LN8@GetBlank_I:
|
||
|
||
; 88 : }
|
||
; 89 : }
|
||
|
||
00121 e9 f1 fe ff ff jmp $LN2@GetBlank_I
|
||
$LN3@GetBlank_I:
|
||
|
||
; 90 :
|
||
; 91 : //<2F><>ͷ<EFBFBD><CDB7><EFBFBD>ҿ<EFBFBD><D2BF>е<EFBFBD>IO
|
||
; 92 : for ( i=0 ; i<m_IOIndex && i<MAX_LOGINUSER ; i++ )
|
||
|
||
00126 c7 45 f8 00 00
|
||
00 00 mov DWORD PTR _i$1[ebp], 0
|
||
0012d eb 09 jmp SHORT $LN7@GetBlank_I
|
||
$LN5@GetBlank_I:
|
||
0012f 8b 45 f8 mov eax, DWORD PTR _i$1[ebp]
|
||
00132 83 c0 01 add eax, 1
|
||
00135 89 45 f8 mov DWORD PTR _i$1[ebp], eax
|
||
$LN7@GetBlank_I:
|
||
00138 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0013b 8b 4d f8 mov ecx, DWORD PTR _i$1[ebp]
|
||
0013e 3b 48 10 cmp ecx, DWORD PTR [eax+16]
|
||
00141 0f 8d 9b 00 00
|
||
00 jge $LN6@GetBlank_I
|
||
00147 81 7d f8 c8 00
|
||
00 00 cmp DWORD PTR _i$1[ebp], 200 ; 000000c8H
|
||
0014e 0f 8d 8e 00 00
|
||
00 jge $LN6@GetBlank_I
|
||
|
||
; 93 : {
|
||
; 94 : if ( (m_IO[i].socket == NULL || m_IO[i].socket==INVALID_SOCKET) &&
|
||
|
||
00154 69 45 f8 b0 df
|
||
06 00 imul eax, DWORD PTR _i$1[ebp], 450480
|
||
0015b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0015e 8b 51 0c mov edx, DWORD PTR [ecx+12]
|
||
00161 83 7c 02 14 00 cmp DWORD PTR [edx+eax+20], 0
|
||
00166 74 14 je SHORT $LN12@GetBlank_I
|
||
00168 69 45 f8 b0 df
|
||
06 00 imul eax, DWORD PTR _i$1[ebp], 450480
|
||
0016f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00172 8b 51 0c mov edx, DWORD PTR [ecx+12]
|
||
00175 83 7c 02 14 ff cmp DWORD PTR [edx+eax+20], -1
|
||
0017a 75 61 jne SHORT $LN11@GetBlank_I
|
||
$LN12@GetBlank_I:
|
||
0017c 69 45 f8 b0 df
|
||
06 00 imul eax, DWORD PTR _i$1[ebp], 450480
|
||
00183 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00186 8b 51 0c mov edx, DWORD PTR [ecx+12]
|
||
00189 83 7c 02 20 00 cmp DWORD PTR [edx+eax+32], 0
|
||
0018e 75 4d jne SHORT $LN11@GetBlank_I
|
||
|
||
; 95 : m_IO[i].lRandID==0 )
|
||
; 96 : {
|
||
; 97 : m_IOIndex = i+1;
|
||
|
||
00190 8b 45 f8 mov eax, DWORD PTR _i$1[ebp]
|
||
00193 83 c0 01 add eax, 1
|
||
00196 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00199 89 41 10 mov DWORD PTR [ecx+16], eax
|
||
|
||
; 98 : if ( m_IOIndex>=MAX_LOGINUSER )
|
||
|
||
0019c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0019f 81 78 10 c8 00
|
||
00 00 cmp DWORD PTR [eax+16], 200 ; 000000c8H
|
||
001a6 7c 0a jl SHORT $LN13@GetBlank_I
|
||
|
||
; 99 : m_IOIndex = 0;
|
||
|
||
001a8 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
001ab c7 40 10 00 00
|
||
00 00 mov DWORD PTR [eax+16], 0
|
||
$LN13@GetBlank_I:
|
||
|
||
; 100 : m_IO[i].lRandID = rand();
|
||
|
||
001b2 e8 00 00 00 00 call _rand
|
||
001b7 89 45 b4 mov DWORD PTR tv175[ebp], eax
|
||
001ba 69 45 f8 b0 df
|
||
06 00 imul eax, DWORD PTR _i$1[ebp], 450480
|
||
001c1 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
001c4 8b 51 0c mov edx, DWORD PTR [ecx+12]
|
||
001c7 8b 4d b4 mov ecx, DWORD PTR tv175[ebp]
|
||
001ca 89 4c 02 20 mov DWORD PTR [edx+eax+32], ecx
|
||
|
||
; 101 : // m_IO[i].IOS.lRandID=m_IO[i].lRandID;
|
||
; 102 : return &m_IO[i];
|
||
|
||
001ce 69 45 f8 b0 df
|
||
06 00 imul eax, DWORD PTR _i$1[ebp], 450480
|
||
001d5 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
001d8 03 41 0c add eax, DWORD PTR [ecx+12]
|
||
001db eb 07 jmp SHORT $LN1@GetBlank_I
|
||
$LN11@GetBlank_I:
|
||
|
||
; 103 : }
|
||
; 104 : }
|
||
|
||
001dd e9 4d ff ff ff jmp $LN5@GetBlank_I
|
||
$LN6@GetBlank_I:
|
||
|
||
; 105 : return NULL;
|
||
|
||
001e2 33 c0 xor eax, eax
|
||
$LN1@GetBlank_I:
|
||
|
||
; 106 : }
|
||
|
||
001e4 5f pop edi
|
||
001e5 5e pop esi
|
||
001e6 5b pop ebx
|
||
001e7 8b e5 mov esp, ebp
|
||
001e9 5d pop ebp
|
||
001ea c3 ret 0
|
||
?GetBlank_IO@CKeyList@@QAEPAUIOCP_IO@@XZ ENDP ; CKeyList::GetBlank_IO
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\SmsCenter\IOCP\KeyList.cpp
|
||
; COMDAT ?RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z
|
||
_TEXT SEGMENT
|
||
tv151 = -6612 ; size = 4
|
||
tv76 = -6608 ; size = 4
|
||
$T2 = -6604 ; size = 4
|
||
$T3 = -6600 ; size = 4
|
||
_i$4 = -6084 ; size = 4
|
||
_NXlog$5 = -6080 ; size = 6056
|
||
_this$ = -24 ; size = 4
|
||
__$ArrayPad$ = -20 ; size = 4
|
||
__$EHRec$ = -16 ; size = 16
|
||
_pKey$ = 8 ; size = 4
|
||
?RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z PROC ; CKeyList::RemoveAt_Key, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 109 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 51 push ecx
|
||
00012 b8 c4 19 00 00 mov eax, 6596 ; 000019c4H
|
||
00017 e8 00 00 00 00 call __chkstk
|
||
0001c a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
00021 33 c5 xor eax, ebp
|
||
00023 89 45 ec mov DWORD PTR __$ArrayPad$[ebp], eax
|
||
00026 53 push ebx
|
||
00027 56 push esi
|
||
00028 57 push edi
|
||
00029 50 push eax
|
||
0002a 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp+4]
|
||
0002d 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00033 89 65 f0 mov DWORD PTR __$EHRec$[ebp], esp
|
||
00036 89 4d e8 mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 110 : try
|
||
|
||
00039 c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+12], 0
|
||
|
||
; 111 : {
|
||
; 112 : if ( pKey )
|
||
|
||
00040 83 7d 08 00 cmp DWORD PTR _pKey$[ebp], 0
|
||
00044 74 41 je SHORT $LN3@RemoveAt_K
|
||
|
||
; 113 : {
|
||
; 114 : if ( pKey< &m_Key[0] || pKey>&m_Key[MAX_LOGINUSER] )
|
||
|
||
00046 b8 08 00 00 00 mov eax, 8
|
||
0004b 6b c8 00 imul ecx, eax, 0
|
||
0004e 8b 55 e8 mov edx, DWORD PTR _this$[ebp]
|
||
00051 03 4a 04 add ecx, DWORD PTR [edx+4]
|
||
00054 39 4d 08 cmp DWORD PTR _pKey$[ebp], ecx
|
||
00057 72 16 jb SHORT $LN5@RemoveAt_K
|
||
00059 b8 08 00 00 00 mov eax, 8
|
||
0005e 69 c8 c8 00 00
|
||
00 imul ecx, eax, 200
|
||
00064 8b 55 e8 mov edx, DWORD PTR _this$[ebp]
|
||
00067 03 4a 04 add ecx, DWORD PTR [edx+4]
|
||
0006a 39 4d 08 cmp DWORD PTR _pKey$[ebp], ecx
|
||
0006d 76 05 jbe SHORT $LN4@RemoveAt_K
|
||
$LN5@RemoveAt_K:
|
||
|
||
; 115 : return ;
|
||
|
||
0006f e9 c2 00 00 00 jmp $LN1@RemoveAt_K
|
||
$LN4@RemoveAt_K:
|
||
|
||
; 116 :
|
||
; 117 : //closesocket(pKey->socket);
|
||
; 118 : pKey->socket = 0;
|
||
|
||
00074 8b 45 08 mov eax, DWORD PTR _pKey$[ebp]
|
||
00077 c7 00 00 00 00
|
||
00 mov DWORD PTR [eax], 0
|
||
|
||
; 119 : pKey->lRandID = 0;
|
||
|
||
0007d 8b 45 08 mov eax, DWORD PTR _pKey$[ebp]
|
||
00080 c7 40 04 00 00
|
||
00 00 mov DWORD PTR [eax+4], 0
|
||
$LN3@RemoveAt_K:
|
||
|
||
; 120 : }
|
||
; 121 : }catch(...)
|
||
|
||
00087 e9 9a 00 00 00 jmp $LN7@RemoveAt_K
|
||
__catch$?RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z$0:
|
||
|
||
; 122 : {
|
||
; 123 : LOG_APPERROR(_T("T"));
|
||
|
||
0008c 8d 8d 40 e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$5[ebp]
|
||
00092 e8 00 00 00 00 call ??0CSAStatusLog@@QAE@XZ ; CSAStatusLog::CSAStatusLog
|
||
00097 c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+12], 2
|
||
0009b 51 push ecx
|
||
0009c 8b cc mov ecx, esp
|
||
0009e 89 a5 38 e6 ff
|
||
ff mov DWORD PTR $T3[ebp], esp
|
||
000a4 68 00 00 00 00 push OFFSET ??_C@_1BC@HEKPCAFP@?$AAA?$AAp?$AAp?$AAE?$AAr?$AAr?$AAo?$AAr@
|
||
000a9 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> > >
|
||
000ae 89 85 30 e6 ff
|
||
ff mov DWORD PTR tv76[ebp], eax
|
||
000b4 c6 45 fc 03 mov BYTE PTR __$EHRec$[ebp+12], 3
|
||
000b8 51 push ecx
|
||
000b9 8b cc mov ecx, esp
|
||
000bb 89 a5 34 e6 ff
|
||
ff mov DWORD PTR $T2[ebp], esp
|
||
000c1 68 00 00 00 00 push OFFSET ??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@
|
||
000c6 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> > >
|
||
000cb 89 85 2c e6 ff
|
||
ff mov DWORD PTR tv151[ebp], eax
|
||
000d1 c6 45 fc 04 mov BYTE PTR __$EHRec$[ebp+12], 4
|
||
000d5 c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+12], 2
|
||
000d9 8d 8d 40 e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$5[ebp]
|
||
000df e8 00 00 00 00 call ?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z ; CSAStatusLog::Init
|
||
000e4 a1 00 00 00 00 mov eax, DWORD PTR ?__LINE__Var@?0??RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z@4JA
|
||
000e9 83 c0 0e add eax, 14 ; 0000000eH
|
||
000ec 50 push eax
|
||
000ed 68 00 00 00 00 push OFFSET ??_C@_0N@LNMKMNFF@RemoveAt_Key@
|
||
000f2 68 00 00 00 00 push OFFSET ??_C@_0DB@EILGGBMO@D?3?2Works?2Corpsms_2010?2SmsCenter@
|
||
000f7 68 00 00 00 00 push OFFSET ??_C@_13JKNELIBG@?$AAT@
|
||
000fc 8d 8d 40 e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$5[ebp]
|
||
00102 e8 00 00 00 00 call ?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z ; CSAStatusLog::LogError
|
||
00107 c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+12], 1
|
||
0010b 8d 8d 40 e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$5[ebp]
|
||
00111 e8 00 00 00 00 call ??1CSAStatusLog@@QAE@XZ ; CSAStatusLog::~CSAStatusLog
|
||
|
||
; 124 : int i=0;
|
||
|
||
00116 c7 85 3c e8 ff
|
||
ff 00 00 00 00 mov DWORD PTR _i$4[ebp], 0
|
||
|
||
; 125 : }
|
||
|
||
00120 b8 00 00 00 00 mov eax, $LN13@RemoveAt_K
|
||
00125 c3 ret 0
|
||
$LN7@RemoveAt_K:
|
||
00126 c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+12], -1
|
||
0012d eb 07 jmp SHORT $LN1@RemoveAt_K
|
||
$LN13@RemoveAt_K:
|
||
0012f c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+12], -1
|
||
$LN1@RemoveAt_K:
|
||
|
||
; 126 : }
|
||
|
||
00136 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp+4]
|
||
00139 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00140 59 pop ecx
|
||
00141 5f pop edi
|
||
00142 5e pop esi
|
||
00143 5b pop ebx
|
||
00144 8b 4d ec mov ecx, DWORD PTR __$ArrayPad$[ebp]
|
||
00147 33 cd xor ecx, ebp
|
||
00149 e8 00 00 00 00 call @__security_check_cookie@4
|
||
0014e 8b e5 mov esp, ebp
|
||
00150 5d pop ebp
|
||
00151 c2 04 00 ret 4
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$?RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z$2:
|
||
00000 8d 8d 40 e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$5[ebp]
|
||
00006 e9 00 00 00 00 jmp ??1CSAStatusLog@@QAE@XZ ; CSAStatusLog::~CSAStatusLog
|
||
__unwindfunclet$?RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z$3:
|
||
0000b 8b 8d 38 e6 ff
|
||
ff mov ecx, DWORD PTR $T3[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$?RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z$4:
|
||
00016 8b 8d 34 e6 ff
|
||
ff mov ecx, DWORD PTR $T2[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> > >
|
||
00021 cc int 3
|
||
00022 cc int 3
|
||
00023 cc int 3
|
||
00024 cc int 3
|
||
00025 cc int 3
|
||
__ehhandler$?RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@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 8a 28 e6 ff
|
||
ff mov ecx, DWORD PTR [edx-6616]
|
||
00035 33 c8 xor ecx, eax
|
||
00037 e8 00 00 00 00 call @__security_check_cookie@4
|
||
0003c 8b 4a f8 mov ecx, DWORD PTR [edx-8]
|
||
0003f 33 c8 xor ecx, eax
|
||
00041 e8 00 00 00 00 call @__security_check_cookie@4
|
||
00046 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z
|
||
0004b e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?RemoveAt_Key@CKeyList@@QAEXPAUIOCP_KEY@@@Z ENDP ; CKeyList::RemoveAt_Key
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\SmsCenter\IOCP\KeyList.cpp
|
||
; COMDAT ?RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z
|
||
_TEXT SEGMENT
|
||
tv192 = -7124 ; size = 4
|
||
tv149 = -7120 ; size = 4
|
||
tv142 = -7120 ; size = 4
|
||
$T2 = -7116 ; size = 4
|
||
$T3 = -7112 ; size = 4
|
||
_i$4 = -6596 ; size = 4
|
||
_NXlog$5 = -6592 ; size = 6056
|
||
_szMsg$6 = -536 ; size = 512
|
||
_this$ = -24 ; size = 4
|
||
__$ArrayPad$ = -20 ; size = 4
|
||
__$EHRec$ = -16 ; size = 16
|
||
_pIO$ = 8 ; size = 4
|
||
?RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z PROC ; CKeyList::RemoveAt_IO, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 129 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 51 push ecx
|
||
00012 b8 c4 1b 00 00 mov eax, 7108 ; 00001bc4H
|
||
00017 e8 00 00 00 00 call __chkstk
|
||
0001c a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
00021 33 c5 xor eax, ebp
|
||
00023 89 45 ec mov DWORD PTR __$ArrayPad$[ebp], eax
|
||
00026 53 push ebx
|
||
00027 56 push esi
|
||
00028 57 push edi
|
||
00029 50 push eax
|
||
0002a 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp+4]
|
||
0002d 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00033 89 65 f0 mov DWORD PTR __$EHRec$[ebp], esp
|
||
00036 89 4d e8 mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 130 : try
|
||
|
||
00039 c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+12], 0
|
||
|
||
; 131 : {
|
||
; 132 : if ( pIO )
|
||
|
||
00040 83 7d 08 00 cmp DWORD PTR _pIO$[ebp], 0
|
||
00044 0f 84 30 01 00
|
||
00 je $LN3@RemoveAt_I
|
||
|
||
; 133 : {
|
||
; 134 : if ( pIO< &m_IO[0] || pIO>&m_IO[MAX_LOGINUSER] )
|
||
|
||
0004a b8 b0 df 06 00 mov eax, 450480 ; 0006dfb0H
|
||
0004f 6b c8 00 imul ecx, eax, 0
|
||
00052 8b 55 e8 mov edx, DWORD PTR _this$[ebp]
|
||
00055 03 4a 0c add ecx, DWORD PTR [edx+12]
|
||
00058 39 4d 08 cmp DWORD PTR _pIO$[ebp], ecx
|
||
0005b 72 16 jb SHORT $LN5@RemoveAt_I
|
||
0005d b8 b0 df 06 00 mov eax, 450480 ; 0006dfb0H
|
||
00062 69 c8 c8 00 00
|
||
00 imul ecx, eax, 200
|
||
00068 8b 55 e8 mov edx, DWORD PTR _this$[ebp]
|
||
0006b 03 4a 0c add ecx, DWORD PTR [edx+12]
|
||
0006e 39 4d 08 cmp DWORD PTR _pIO$[ebp], ecx
|
||
00071 76 05 jbe SHORT $LN4@RemoveAt_I
|
||
$LN5@RemoveAt_I:
|
||
|
||
; 135 : return ;
|
||
|
||
00073 e9 b1 01 00 00 jmp $LN1@RemoveAt_I
|
||
$LN4@RemoveAt_I:
|
||
|
||
; 136 :
|
||
; 137 : pIO->socket = 0;
|
||
|
||
00078 8b 45 08 mov eax, DWORD PTR _pIO$[ebp]
|
||
0007b c7 40 14 00 00
|
||
00 00 mov DWORD PTR [eax+20], 0
|
||
|
||
; 138 : pIO->lRandID= 0;
|
||
|
||
00082 8b 45 08 mov eax, DWORD PTR _pIO$[ebp]
|
||
00085 c7 40 20 00 00
|
||
00 00 mov DWORD PTR [eax+32], 0
|
||
|
||
; 139 : // pIO->IOS.lRandID = 0;
|
||
; 140 :
|
||
; 141 : if ( pIO->m_lUserID>0 )
|
||
|
||
0008c 8b 45 08 mov eax, DWORD PTR _pIO$[ebp]
|
||
0008f 83 b8 94 01 00
|
||
00 00 cmp DWORD PTR [eax+404], 0
|
||
00096 0f 8e cb 00 00
|
||
00 jle $LN6@RemoveAt_I
|
||
|
||
; 142 : {
|
||
; 143 : TCHAR szMsg[256]={0};
|
||
|
||
0009c 68 00 02 00 00 push 512 ; 00000200H
|
||
000a1 6a 00 push 0
|
||
000a3 8d 85 e8 fd ff
|
||
ff lea eax, DWORD PTR _szMsg$6[ebp]
|
||
000a9 50 push eax
|
||
000aa e8 00 00 00 00 call _memset
|
||
000af 83 c4 0c add esp, 12 ; 0000000cH
|
||
|
||
; 144 : //<2F>˳<EFBFBD>
|
||
; 145 : if ( pIO->m_lID==199992 ) //<2F><><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>
|
||
|
||
000b2 8b 45 08 mov eax, DWORD PTR _pIO$[ebp]
|
||
000b5 81 b8 c8 01 00
|
||
00 38 0d 03 00 cmp DWORD PTR [eax+456], 199992 ; 00030d38H
|
||
000bf 75 30 jne SHORT $LN7@RemoveAt_I
|
||
|
||
; 146 : _stprintf( szMsg , _T("[%d]%s-%s<><73><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>!") , pIO->m_lLocalPort,pIO->m_szCorpName,pIO->m_szLoginName);
|
||
|
||
000c1 8b 45 08 mov eax, DWORD PTR _pIO$[ebp]
|
||
000c4 05 48 01 00 00 add eax, 328 ; 00000148H
|
||
000c9 50 push eax
|
||
000ca 8b 4d 08 mov ecx, DWORD PTR _pIO$[ebp]
|
||
000cd 81 c1 88 00 00
|
||
00 add ecx, 136 ; 00000088H
|
||
000d3 51 push ecx
|
||
000d4 8b 55 08 mov edx, DWORD PTR _pIO$[ebp]
|
||
000d7 8b 42 74 mov eax, DWORD PTR [edx+116]
|
||
000da 50 push eax
|
||
000db 68 00 00 00 00 push OFFSET ??_C@_1BO@OIFMIIBA@?$AA?$FL?$AA?$CF?$AAd?$AA?$FN?$AA?$CF?$AAs?$AA?9?$AA?$CF?$AAs?$PP?$KN?$PP?$LP?$AA?$AA?$PP?z?$AA?$CB@
|
||
000e0 8d 8d e8 fd ff
|
||
ff lea ecx, DWORD PTR _szMsg$6[ebp]
|
||
000e6 51 push ecx
|
||
000e7 e8 00 00 00 00 call __swprintf
|
||
000ec 83 c4 14 add esp, 20 ; 00000014H
|
||
000ef eb 2e jmp SHORT $LN8@RemoveAt_I
|
||
$LN7@RemoveAt_I:
|
||
|
||
; 147 : else
|
||
; 148 : _stprintf( szMsg , _T("[%d]%s-%s<><73><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>!") , pIO->m_lLocalPort,pIO->m_szCorpName,pIO->m_szLoginName);
|
||
|
||
000f1 8b 45 08 mov eax, DWORD PTR _pIO$[ebp]
|
||
000f4 05 48 01 00 00 add eax, 328 ; 00000148H
|
||
000f9 50 push eax
|
||
000fa 8b 4d 08 mov ecx, DWORD PTR _pIO$[ebp]
|
||
000fd 81 c1 88 00 00
|
||
00 add ecx, 136 ; 00000088H
|
||
00103 51 push ecx
|
||
00104 8b 55 08 mov edx, DWORD PTR _pIO$[ebp]
|
||
00107 8b 42 74 mov eax, DWORD PTR [edx+116]
|
||
0010a 50 push eax
|
||
0010b 68 00 00 00 00 push OFFSET ??_C@_1BO@IFJHDIMD@?$AA?$FL?$AA?$CF?$AAd?$AA?$FN?$AA?$CF?$AAs?$AA?9?$AA?$CF?$AAs?$AAc?$AA8?$AA?$AA?$PP?z?$AA?$CB@
|
||
00110 8d 8d e8 fd ff
|
||
ff lea ecx, DWORD PTR _szMsg$6[ebp]
|
||
00116 51 push ecx
|
||
00117 e8 00 00 00 00 call __swprintf
|
||
0011c 83 c4 14 add esp, 20 ; 00000014H
|
||
$LN8@RemoveAt_I:
|
||
|
||
; 149 : if ( AfxIsValidAddress(&m_pDlg->m_Setup,sizeof(m_pDlg->m_Setup),true) )
|
||
|
||
0011f 6a 01 push 1
|
||
00121 68 c0 0e 00 00 push 3776 ; 00000ec0H
|
||
00126 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
|
||
00129 8b 48 1c mov ecx, DWORD PTR [eax+28]
|
||
0012c 81 c1 50 03 00
|
||
00 add ecx, 848 ; 00000350H
|
||
00132 51 push ecx
|
||
00133 e8 00 00 00 00 call ?AfxIsValidAddress@@YGHPBXIH@Z ; AfxIsValidAddress
|
||
00138 85 c0 test eax, eax
|
||
0013a 74 2b je SHORT $LN6@RemoveAt_I
|
||
|
||
; 150 : {
|
||
; 151 : m_pDlg->AddLog( szMsg );
|
||
|
||
0013c 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
|
||
0013f 8b 48 1c mov ecx, DWORD PTR [eax+28]
|
||
00142 89 8d 30 e4 ff
|
||
ff mov DWORD PTR tv142[ebp], ecx
|
||
00148 6a 00 push 0
|
||
0014a 8d 95 e8 fd ff
|
||
ff lea edx, DWORD PTR _szMsg$6[ebp]
|
||
00150 52 push edx
|
||
00151 8b 8d 30 e4 ff
|
||
ff mov ecx, DWORD PTR tv142[ebp]
|
||
00157 e8 00 00 00 00 call ?AddLog@CSmsCenterDlg@@QAEXPB_WJ@Z ; CSmsCenterDlg::AddLog
|
||
|
||
; 152 : m_pDlg->RefreshLogin();
|
||
|
||
0015c 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
|
||
0015f 8b 48 1c mov ecx, DWORD PTR [eax+28]
|
||
00162 e8 00 00 00 00 call ?RefreshLogin@CSmsCenterDlg@@QAEXXZ ; CSmsCenterDlg::RefreshLogin
|
||
$LN6@RemoveAt_I:
|
||
|
||
; 153 : }
|
||
; 154 : }
|
||
; 155 : memset(pIO,0,sizeof(IOCP_IO));
|
||
|
||
00167 68 b0 df 06 00 push 450480 ; 0006dfb0H
|
||
0016c 6a 00 push 0
|
||
0016e 8b 45 08 mov eax, DWORD PTR _pIO$[ebp]
|
||
00171 50 push eax
|
||
00172 e8 00 00 00 00 call _memset
|
||
00177 83 c4 0c add esp, 12 ; 0000000cH
|
||
$LN3@RemoveAt_I:
|
||
|
||
; 156 :
|
||
; 157 : }
|
||
; 158 : }catch(...)
|
||
|
||
0017a e9 9a 00 00 00 jmp $LN11@RemoveAt_I
|
||
__catch$?RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z$0:
|
||
|
||
; 159 : {
|
||
; 160 : LOG_APPERROR(_T("T"));
|
||
|
||
0017f 8d 8d 40 e6 ff
|
||
ff lea ecx, DWORD PTR _NXlog$5[ebp]
|
||
00185 e8 00 00 00 00 call ??0CSAStatusLog@@QAE@XZ ; CSAStatusLog::CSAStatusLog
|
||
0018a c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+12], 2
|
||
0018e 51 push ecx
|
||
0018f 8b cc mov ecx, esp
|
||
00191 89 a5 38 e4 ff
|
||
ff mov DWORD PTR $T3[ebp], esp
|
||
00197 68 00 00 00 00 push OFFSET ??_C@_1BC@HEKPCAFP@?$AAA?$AAp?$AAp?$AAE?$AAr?$AAr?$AAo?$AAr@
|
||
0019c 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> > >
|
||
001a1 89 85 30 e4 ff
|
||
ff mov DWORD PTR tv149[ebp], eax
|
||
001a7 c6 45 fc 03 mov BYTE PTR __$EHRec$[ebp+12], 3
|
||
001ab 51 push ecx
|
||
001ac 8b cc mov ecx, esp
|
||
001ae 89 a5 34 e4 ff
|
||
ff mov DWORD PTR $T2[ebp], esp
|
||
001b4 68 00 00 00 00 push OFFSET ??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@
|
||
001b9 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> > >
|
||
001be 89 85 2c e4 ff
|
||
ff mov DWORD PTR tv192[ebp], eax
|
||
001c4 c6 45 fc 04 mov BYTE PTR __$EHRec$[ebp+12], 4
|
||
001c8 c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+12], 2
|
||
001cc 8d 8d 40 e6 ff
|
||
ff lea ecx, DWORD PTR _NXlog$5[ebp]
|
||
001d2 e8 00 00 00 00 call ?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z ; CSAStatusLog::Init
|
||
001d7 a1 00 00 00 00 mov eax, DWORD PTR ?__LINE__Var@?0??RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z@4JA
|
||
001dc 83 c0 1f add eax, 31 ; 0000001fH
|
||
001df 50 push eax
|
||
001e0 68 00 00 00 00 push OFFSET ??_C@_0M@DCAJJICO@RemoveAt_IO@
|
||
001e5 68 00 00 00 00 push OFFSET ??_C@_0DB@EILGGBMO@D?3?2Works?2Corpsms_2010?2SmsCenter@
|
||
001ea 68 00 00 00 00 push OFFSET ??_C@_13JKNELIBG@?$AAT@
|
||
001ef 8d 8d 40 e6 ff
|
||
ff lea ecx, DWORD PTR _NXlog$5[ebp]
|
||
001f5 e8 00 00 00 00 call ?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z ; CSAStatusLog::LogError
|
||
001fa c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+12], 1
|
||
001fe 8d 8d 40 e6 ff
|
||
ff lea ecx, DWORD PTR _NXlog$5[ebp]
|
||
00204 e8 00 00 00 00 call ??1CSAStatusLog@@QAE@XZ ; CSAStatusLog::~CSAStatusLog
|
||
|
||
; 161 : int i=0;
|
||
|
||
00209 c7 85 3c e6 ff
|
||
ff 00 00 00 00 mov DWORD PTR _i$4[ebp], 0
|
||
|
||
; 162 : }
|
||
|
||
00213 b8 00 00 00 00 mov eax, $LN17@RemoveAt_I
|
||
00218 c3 ret 0
|
||
$LN11@RemoveAt_I:
|
||
00219 c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+12], -1
|
||
00220 eb 07 jmp SHORT $LN1@RemoveAt_I
|
||
$LN17@RemoveAt_I:
|
||
00222 c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+12], -1
|
||
$LN1@RemoveAt_I:
|
||
|
||
; 163 : }
|
||
|
||
00229 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp+4]
|
||
0022c 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00233 59 pop ecx
|
||
00234 5f pop edi
|
||
00235 5e pop esi
|
||
00236 5b pop ebx
|
||
00237 8b 4d ec mov ecx, DWORD PTR __$ArrayPad$[ebp]
|
||
0023a 33 cd xor ecx, ebp
|
||
0023c e8 00 00 00 00 call @__security_check_cookie@4
|
||
00241 8b e5 mov esp, ebp
|
||
00243 5d pop ebp
|
||
00244 c2 04 00 ret 4
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$?RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z$2:
|
||
00000 8d 8d 40 e6 ff
|
||
ff lea ecx, DWORD PTR _NXlog$5[ebp]
|
||
00006 e9 00 00 00 00 jmp ??1CSAStatusLog@@QAE@XZ ; CSAStatusLog::~CSAStatusLog
|
||
__unwindfunclet$?RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z$3:
|
||
0000b 8b 8d 38 e4 ff
|
||
ff mov ecx, DWORD PTR $T3[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$?RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z$4:
|
||
00016 8b 8d 34 e4 ff
|
||
ff mov ecx, DWORD PTR $T2[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> > >
|
||
00021 cc int 3
|
||
00022 cc int 3
|
||
00023 cc int 3
|
||
00024 cc int 3
|
||
00025 cc int 3
|
||
__ehhandler$?RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@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 8a 28 e4 ff
|
||
ff mov ecx, DWORD PTR [edx-7128]
|
||
00035 33 c8 xor ecx, eax
|
||
00037 e8 00 00 00 00 call @__security_check_cookie@4
|
||
0003c 8b 4a f8 mov ecx, DWORD PTR [edx-8]
|
||
0003f 33 c8 xor ecx, eax
|
||
00041 e8 00 00 00 00 call @__security_check_cookie@4
|
||
00046 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z
|
||
0004b e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z ENDP ; CKeyList::RemoveAt_IO
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\SmsCenter\IOCP\KeyList.cpp
|
||
; COMDAT ?Close_IO@CKeyList@@QAEXXZ
|
||
_TEXT SEGMENT
|
||
tv164 = -6612 ; size = 4
|
||
tv89 = -6608 ; size = 4
|
||
$T2 = -6604 ; size = 4
|
||
$T3 = -6600 ; size = 4
|
||
_NXlog$4 = -6084 ; size = 6056
|
||
_i$5 = -28 ; size = 4
|
||
_this$ = -24 ; size = 4
|
||
__$ArrayPad$ = -20 ; size = 4
|
||
__$EHRec$ = -16 ; size = 16
|
||
?Close_IO@CKeyList@@QAEXXZ PROC ; CKeyList::Close_IO, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 166 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?Close_IO@CKeyList@@QAEXXZ
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 51 push ecx
|
||
00012 b8 c4 19 00 00 mov eax, 6596 ; 000019c4H
|
||
00017 e8 00 00 00 00 call __chkstk
|
||
0001c a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
00021 33 c5 xor eax, ebp
|
||
00023 89 45 ec mov DWORD PTR __$ArrayPad$[ebp], eax
|
||
00026 53 push ebx
|
||
00027 56 push esi
|
||
00028 57 push edi
|
||
00029 50 push eax
|
||
0002a 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp+4]
|
||
0002d 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00033 89 65 f0 mov DWORD PTR __$EHRec$[ebp], esp
|
||
00036 89 4d e8 mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 167 : try
|
||
|
||
00039 c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+12], 0
|
||
|
||
; 168 : {
|
||
; 169 : if ( !m_IO )
|
||
|
||
00040 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
|
||
00043 83 78 0c 00 cmp DWORD PTR [eax+12], 0
|
||
00047 0f 84 18 01 00
|
||
00 je $LN1@Close_IO
|
||
|
||
; 170 : return ;
|
||
; 171 : //<2F><>β<EFBFBD><CEB2><EFBFBD>ҿ<EFBFBD><D2BF>е<EFBFBD>IO
|
||
; 172 : for ( int i=0 ; i<MAX_LOGINUSER ; i++ )
|
||
|
||
0004d c7 45 e4 00 00
|
||
00 00 mov DWORD PTR _i$5[ebp], 0
|
||
00054 eb 09 jmp SHORT $LN4@Close_IO
|
||
$LN2@Close_IO:
|
||
00056 8b 45 e4 mov eax, DWORD PTR _i$5[ebp]
|
||
00059 83 c0 01 add eax, 1
|
||
0005c 89 45 e4 mov DWORD PTR _i$5[ebp], eax
|
||
$LN4@Close_IO:
|
||
0005f 81 7d e4 c8 00
|
||
00 00 cmp DWORD PTR _i$5[ebp], 200 ; 000000c8H
|
||
00066 7d 58 jge SHORT $LN3@Close_IO
|
||
|
||
; 173 : {
|
||
; 174 : if ( (m_IO[i].socket != NULL && m_IO[i].socket!=INVALID_SOCKET) )
|
||
|
||
00068 69 45 e4 b0 df
|
||
06 00 imul eax, DWORD PTR _i$5[ebp], 450480
|
||
0006f 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
|
||
00072 8b 51 0c mov edx, DWORD PTR [ecx+12]
|
||
00075 83 7c 02 14 00 cmp DWORD PTR [edx+eax+20], 0
|
||
0007a 74 2c je SHORT $LN7@Close_IO
|
||
0007c 69 45 e4 b0 df
|
||
06 00 imul eax, DWORD PTR _i$5[ebp], 450480
|
||
00083 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
|
||
00086 8b 51 0c mov edx, DWORD PTR [ecx+12]
|
||
00089 83 7c 02 14 ff cmp DWORD PTR [edx+eax+20], -1
|
||
0008e 74 18 je SHORT $LN7@Close_IO
|
||
|
||
; 175 : {
|
||
; 176 : closesocket(m_IO[i].socket);
|
||
|
||
00090 69 45 e4 b0 df
|
||
06 00 imul eax, DWORD PTR _i$5[ebp], 450480
|
||
00097 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
|
||
0009a 8b 51 0c mov edx, DWORD PTR [ecx+12]
|
||
0009d 8b 44 02 14 mov eax, DWORD PTR [edx+eax+20]
|
||
000a1 50 push eax
|
||
000a2 ff 15 00 00 00
|
||
00 call DWORD PTR __imp__closesocket@4
|
||
$LN7@Close_IO:
|
||
|
||
; 177 : }
|
||
; 178 : RemoveAt_IO(&m_IO[i]);
|
||
|
||
000a8 69 45 e4 b0 df
|
||
06 00 imul eax, DWORD PTR _i$5[ebp], 450480
|
||
000af 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
|
||
000b2 03 41 0c add eax, DWORD PTR [ecx+12]
|
||
000b5 50 push eax
|
||
000b6 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
|
||
000b9 e8 00 00 00 00 call ?RemoveAt_IO@CKeyList@@QAEXPAUIOCP_IO@@@Z ; CKeyList::RemoveAt_IO
|
||
|
||
; 179 : }
|
||
|
||
000be eb 96 jmp SHORT $LN2@Close_IO
|
||
$LN3@Close_IO:
|
||
|
||
; 180 : }
|
||
|
||
000c0 e9 90 00 00 00 jmp $LN9@Close_IO
|
||
__catch$?Close_IO@CKeyList@@QAEXXZ$0:
|
||
|
||
; 181 : catch(...)
|
||
; 182 : {
|
||
; 183 : LOG_APPERROR(_T("T"));
|
||
|
||
000c5 8d 8d 3c e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$4[ebp]
|
||
000cb e8 00 00 00 00 call ??0CSAStatusLog@@QAE@XZ ; CSAStatusLog::CSAStatusLog
|
||
000d0 c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+12], 2
|
||
000d4 51 push ecx
|
||
000d5 8b cc mov ecx, esp
|
||
000d7 89 a5 38 e6 ff
|
||
ff mov DWORD PTR $T3[ebp], esp
|
||
000dd 68 00 00 00 00 push OFFSET ??_C@_1BC@HEKPCAFP@?$AAA?$AAp?$AAp?$AAE?$AAr?$AAr?$AAo?$AAr@
|
||
000e2 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> > >
|
||
000e7 89 85 30 e6 ff
|
||
ff mov DWORD PTR tv89[ebp], eax
|
||
000ed c6 45 fc 03 mov BYTE PTR __$EHRec$[ebp+12], 3
|
||
000f1 51 push ecx
|
||
000f2 8b cc mov ecx, esp
|
||
000f4 89 a5 34 e6 ff
|
||
ff mov DWORD PTR $T2[ebp], esp
|
||
000fa 68 00 00 00 00 push OFFSET ??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@
|
||
000ff 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> > >
|
||
00104 89 85 2c e6 ff
|
||
ff mov DWORD PTR tv164[ebp], eax
|
||
0010a c6 45 fc 04 mov BYTE PTR __$EHRec$[ebp+12], 4
|
||
0010e c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+12], 2
|
||
00112 8d 8d 3c e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$4[ebp]
|
||
00118 e8 00 00 00 00 call ?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z ; CSAStatusLog::Init
|
||
0011d a1 00 00 00 00 mov eax, DWORD PTR ?__LINE__Var@?0??Close_IO@CKeyList@@QAEXXZ@4JA
|
||
00122 83 c0 11 add eax, 17 ; 00000011H
|
||
00125 50 push eax
|
||
00126 68 00 00 00 00 push OFFSET ??_C@_08EDPDCAEI@Close_IO@
|
||
0012b 68 00 00 00 00 push OFFSET ??_C@_0DB@EILGGBMO@D?3?2Works?2Corpsms_2010?2SmsCenter@
|
||
00130 68 00 00 00 00 push OFFSET ??_C@_13JKNELIBG@?$AAT@
|
||
00135 8d 8d 3c e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$4[ebp]
|
||
0013b e8 00 00 00 00 call ?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z ; CSAStatusLog::LogError
|
||
00140 c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+12], 1
|
||
00144 8d 8d 3c e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$4[ebp]
|
||
0014a e8 00 00 00 00 call ??1CSAStatusLog@@QAE@XZ ; CSAStatusLog::~CSAStatusLog
|
||
|
||
; 184 : }
|
||
|
||
0014f b8 00 00 00 00 mov eax, $LN15@Close_IO
|
||
00154 c3 ret 0
|
||
$LN9@Close_IO:
|
||
00155 c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+12], -1
|
||
0015c eb 07 jmp SHORT $LN1@Close_IO
|
||
$LN15@Close_IO:
|
||
0015e c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+12], -1
|
||
$LN1@Close_IO:
|
||
|
||
; 185 : }
|
||
|
||
00165 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp+4]
|
||
00168 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
0016f 59 pop ecx
|
||
00170 5f pop edi
|
||
00171 5e pop esi
|
||
00172 5b pop ebx
|
||
00173 8b 4d ec mov ecx, DWORD PTR __$ArrayPad$[ebp]
|
||
00176 33 cd xor ecx, ebp
|
||
00178 e8 00 00 00 00 call @__security_check_cookie@4
|
||
0017d 8b e5 mov esp, ebp
|
||
0017f 5d pop ebp
|
||
00180 c3 ret 0
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$?Close_IO@CKeyList@@QAEXXZ$2:
|
||
00000 8d 8d 3c e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$4[ebp]
|
||
00006 e9 00 00 00 00 jmp ??1CSAStatusLog@@QAE@XZ ; CSAStatusLog::~CSAStatusLog
|
||
__unwindfunclet$?Close_IO@CKeyList@@QAEXXZ$3:
|
||
0000b 8b 8d 38 e6 ff
|
||
ff mov ecx, DWORD PTR $T3[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$?Close_IO@CKeyList@@QAEXXZ$4:
|
||
00016 8b 8d 34 e6 ff
|
||
ff mov ecx, DWORD PTR $T2[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> > >
|
||
00021 cc int 3
|
||
00022 cc int 3
|
||
00023 cc int 3
|
||
00024 cc int 3
|
||
00025 cc int 3
|
||
__ehhandler$?Close_IO@CKeyList@@QAEXXZ:
|
||
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 8a 28 e6 ff
|
||
ff mov ecx, DWORD PTR [edx-6616]
|
||
00035 33 c8 xor ecx, eax
|
||
00037 e8 00 00 00 00 call @__security_check_cookie@4
|
||
0003c 8b 4a f8 mov ecx, DWORD PTR [edx-8]
|
||
0003f 33 c8 xor ecx, eax
|
||
00041 e8 00 00 00 00 call @__security_check_cookie@4
|
||
00046 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?Close_IO@CKeyList@@QAEXXZ
|
||
0004b e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?Close_IO@CKeyList@@QAEXXZ ENDP ; CKeyList::Close_IO
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\SmsCenter\IOCP\KeyList.cpp
|
||
; COMDAT ?Init@CKeyList@@QAEXPAVCSmsCenterDlg@@@Z
|
||
_TEXT SEGMENT
|
||
tv174 = -108 ; size = 4
|
||
tv141 = -108 ; size = 4
|
||
$T2 = -104 ; size = 4
|
||
$T3 = -100 ; size = 4
|
||
$T4 = -96 ; size = 4
|
||
$T5 = -92 ; size = 4
|
||
_i$6 = -24 ; size = 4
|
||
_lSize$7 = -20 ; size = 4
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
_pDlg$ = 8 ; size = 4
|
||
?Init@CKeyList@@QAEXPAVCSmsCenterDlg@@@Z PROC ; CKeyList::Init, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 188 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?Init@CKeyList@@QAEXPAVCSmsCenterDlg@@@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
|
||
|
||
; 189 : m_pDlg = pDlg;
|
||
|
||
0002b 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
0002e 8b 4d 08 mov ecx, DWORD PTR _pDlg$[ebp]
|
||
00031 89 48 1c mov DWORD PTR [eax+28], ecx
|
||
|
||
; 190 :
|
||
; 191 : Close(); //<2F>ȹر<C8B9><D8B1>ٳ<EFBFBD>ʼ<EFBFBD><CABC>
|
||
|
||
00034 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00037 e8 00 00 00 00 call ?Close@CKeyList@@QAEXXZ ; CKeyList::Close
|
||
|
||
; 192 :
|
||
; 193 : if ( !m_IO )
|
||
|
||
0003c 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
0003f 83 78 0c 00 cmp DWORD PTR [eax+12], 0
|
||
00043 75 36 jne SHORT $LN5@Init
|
||
|
||
; 194 : {
|
||
; 195 : long lSize = sizeof(IOCP_IO)*MAX_LOGINUSER;
|
||
|
||
00045 c7 45 ec 80 c1
|
||
5e 05 mov DWORD PTR _lSize$7[ebp], 90096000 ; 055ec180H
|
||
|
||
; 196 : m_IO = new IOCP_IO[MAX_LOGINUSER];
|
||
|
||
0004c 68 80 c1 5e 05 push 90096000 ; 055ec180H
|
||
00051 e8 00 00 00 00 call ??_U@YAPAXI@Z ; operator new[]
|
||
00056 83 c4 04 add esp, 4
|
||
00059 89 45 a4 mov DWORD PTR $T5[ebp], eax
|
||
0005c 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
0005f 8b 4d a4 mov ecx, DWORD PTR $T5[ebp]
|
||
00062 89 48 0c mov DWORD PTR [eax+12], ecx
|
||
|
||
; 197 : memset(m_IO,0,sizeof(IOCP_IO)*MAX_LOGINUSER);
|
||
|
||
00065 68 80 c1 5e 05 push 90096000 ; 055ec180H
|
||
0006a 6a 00 push 0
|
||
0006c 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
0006f 8b 48 0c mov ecx, DWORD PTR [eax+12]
|
||
00072 51 push ecx
|
||
00073 e8 00 00 00 00 call _memset
|
||
00078 83 c4 0c add esp, 12 ; 0000000cH
|
||
$LN5@Init:
|
||
|
||
; 198 : }
|
||
; 199 : /*
|
||
; 200 : //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD>
|
||
; 201 : for ( int i=0 ; i<MAX_LOGINUSER ; i++ )
|
||
; 202 : {
|
||
; 203 : m_IO[i].buf = new char[BUFFER_SIZE];
|
||
; 204 : }
|
||
; 205 : */
|
||
; 206 :
|
||
; 207 : if ( !m_Key )
|
||
|
||
0007b 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
0007e 83 78 04 00 cmp DWORD PTR [eax+4], 0
|
||
00082 75 2f jne SHORT $LN6@Init
|
||
|
||
; 208 : {
|
||
; 209 : m_Key = new IOCP_KEY[MAX_LOGINUSER];
|
||
|
||
00084 68 40 06 00 00 push 1600 ; 00000640H
|
||
00089 e8 00 00 00 00 call ??_U@YAPAXI@Z ; operator new[]
|
||
0008e 83 c4 04 add esp, 4
|
||
00091 89 45 a0 mov DWORD PTR $T4[ebp], eax
|
||
00094 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
00097 8b 4d a0 mov ecx, DWORD PTR $T4[ebp]
|
||
0009a 89 48 04 mov DWORD PTR [eax+4], ecx
|
||
|
||
; 210 : memset(m_Key,0,sizeof(IOCP_KEY)*MAX_LOGINUSER);
|
||
|
||
0009d 68 40 06 00 00 push 1600 ; 00000640H
|
||
000a2 6a 00 push 0
|
||
000a4 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
000a7 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
000aa 51 push ecx
|
||
000ab e8 00 00 00 00 call _memset
|
||
000b0 83 c4 0c add esp, 12 ; 0000000cH
|
||
$LN6@Init:
|
||
|
||
; 211 : }
|
||
; 212 :
|
||
; 213 : /* m_Process = new LPVOID[MAX_SQLCONNECT];
|
||
; 214 : memset(m_Process,0,sizeof(LPVOID)*MAX_SQLCONNECT);
|
||
; 215 :
|
||
; 216 : for ( int i=0 ; i<MAX_SQLCONNECT ; i++ )
|
||
; 217 : {
|
||
; 218 : CProcessSocket * pSocket = new CProcessSocket;
|
||
; 219 : m_Process[i] = (LPVOID)pSocket;
|
||
; 220 : pSocket->SetDlg(m_pDlg);
|
||
; 221 : pSocket->SetIndex(i);
|
||
; 222 : }
|
||
; 223 : */
|
||
; 224 : if ( !m_SQL )
|
||
|
||
000b3 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
000b6 83 78 14 00 cmp DWORD PTR [eax+20], 0
|
||
000ba 0f 85 17 01 00
|
||
00 jne $LN1@Init
|
||
|
||
; 225 : {
|
||
; 226 : m_SQL = new IOCP_SQL[MAX_SQLCONNECT];
|
||
|
||
000c0 68 7c 1e 00 00 push 7804 ; 00001e7cH
|
||
000c5 e8 00 00 00 00 call ??_U@YAPAXI@Z ; operator new[]
|
||
000ca 83 c4 04 add esp, 4
|
||
000cd 89 45 98 mov DWORD PTR $T2[ebp], eax
|
||
000d0 c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
000d7 83 7d 98 00 cmp DWORD PTR $T2[ebp], 0
|
||
000db 74 31 je SHORT $LN9@Init
|
||
000dd 8b 45 98 mov eax, DWORD PTR $T2[ebp]
|
||
000e0 c7 00 96 00 00
|
||
00 mov DWORD PTR [eax], 150 ; 00000096H
|
||
000e6 68 00 00 00 00 push OFFSET ??1IOCP_SQL@@QAE@XZ
|
||
000eb 68 00 00 00 00 push OFFSET ??0IOCP_SQL@@QAE@XZ
|
||
000f0 68 96 00 00 00 push 150 ; 00000096H
|
||
000f5 6a 34 push 52 ; 00000034H
|
||
000f7 8b 4d 98 mov ecx, DWORD PTR $T2[ebp]
|
||
000fa 83 c1 04 add ecx, 4
|
||
000fd 51 push ecx
|
||
000fe e8 00 00 00 00 call ??_L@YGXPAXIIP6EX0@Z1@Z
|
||
00103 8b 55 98 mov edx, DWORD PTR $T2[ebp]
|
||
00106 83 c2 04 add edx, 4
|
||
00109 89 55 94 mov DWORD PTR tv141[ebp], edx
|
||
0010c eb 07 jmp SHORT $LN10@Init
|
||
$LN9@Init:
|
||
0010e c7 45 94 00 00
|
||
00 00 mov DWORD PTR tv141[ebp], 0
|
||
$LN10@Init:
|
||
00115 8b 45 94 mov eax, DWORD PTR tv141[ebp]
|
||
00118 89 45 9c mov DWORD PTR $T3[ebp], eax
|
||
0011b c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
|
||
00122 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00125 8b 55 9c mov edx, DWORD PTR $T3[ebp]
|
||
00128 89 51 14 mov DWORD PTR [ecx+20], edx
|
||
|
||
; 227 : for ( int i=0 ; i<MAX_SQLCONNECT ; i++ )
|
||
|
||
0012b c7 45 e8 00 00
|
||
00 00 mov DWORD PTR _i$6[ebp], 0
|
||
00132 eb 09 jmp SHORT $LN4@Init
|
||
$LN2@Init:
|
||
00134 8b 45 e8 mov eax, DWORD PTR _i$6[ebp]
|
||
00137 83 c0 01 add eax, 1
|
||
0013a 89 45 e8 mov DWORD PTR _i$6[ebp], eax
|
||
$LN4@Init:
|
||
0013d 81 7d e8 96 00
|
||
00 00 cmp DWORD PTR _i$6[ebp], 150 ; 00000096H
|
||
00144 0f 8d 8d 00 00
|
||
00 jge $LN1@Init
|
||
|
||
; 228 : {
|
||
; 229 : m_SQL[i].bUse = false;
|
||
|
||
0014a 6b 45 e8 34 imul eax, DWORD PTR _i$6[ebp], 52
|
||
0014e 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00151 8b 51 14 mov edx, DWORD PTR [ecx+20]
|
||
00154 c7 04 02 00 00
|
||
00 00 mov DWORD PTR [edx+eax], 0
|
||
|
||
; 230 : m_SQL[i].lRandID = 0;
|
||
|
||
0015b 6b 45 e8 34 imul eax, DWORD PTR _i$6[ebp], 52
|
||
0015f 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00162 8b 51 14 mov edx, DWORD PTR [ecx+20]
|
||
00165 c7 44 02 04 00
|
||
00 00 00 mov DWORD PTR [edx+eax+4], 0
|
||
|
||
; 231 : m_SQL[i].dwBeginUse = 0;
|
||
|
||
0016d 6b 45 e8 34 imul eax, DWORD PTR _i$6[ebp], 52
|
||
00171 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00174 8b 51 14 mov edx, DWORD PTR [ecx+20]
|
||
00177 c7 44 02 24 00
|
||
00 00 00 mov DWORD PTR [edx+eax+36], 0
|
||
|
||
; 232 : m_SQL[i].dwEndUse = 0;
|
||
|
||
0017f 6b 45 e8 34 imul eax, DWORD PTR _i$6[ebp], 52
|
||
00183 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00186 8b 51 14 mov edx, DWORD PTR [ecx+20]
|
||
00189 c7 44 02 28 00
|
||
00 00 00 mov DWORD PTR [edx+eax+40], 0
|
||
|
||
; 233 : m_SQL[i].lFuncID = 0;
|
||
|
||
00191 6b 45 e8 34 imul eax, DWORD PTR _i$6[ebp], 52
|
||
00195 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00198 8b 51 14 mov edx, DWORD PTR [ecx+20]
|
||
0019b c7 44 02 2c 00
|
||
00 00 00 mov DWORD PTR [edx+eax+44], 0
|
||
|
||
; 234 : m_SQL[i].lUserID = 0;
|
||
|
||
001a3 6b 45 e8 34 imul eax, DWORD PTR _i$6[ebp], 52
|
||
001a7 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
001aa 8b 51 14 mov edx, DWORD PTR [ecx+20]
|
||
001ad c7 44 02 30 00
|
||
00 00 00 mov DWORD PTR [edx+eax+48], 0
|
||
|
||
; 235 : m_SQL[i].adoConnection.SetID(i);
|
||
|
||
001b5 6b 45 e8 34 imul eax, DWORD PTR _i$6[ebp], 52
|
||
001b9 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
001bc 8b 51 14 mov edx, DWORD PTR [ecx+20]
|
||
001bf 8d 44 02 08 lea eax, DWORD PTR [edx+eax+8]
|
||
001c3 89 45 94 mov DWORD PTR tv174[ebp], eax
|
||
001c6 8b 4d e8 mov ecx, DWORD PTR _i$6[ebp]
|
||
001c9 51 push ecx
|
||
001ca 8b 4d 94 mov ecx, DWORD PTR tv174[ebp]
|
||
001cd e8 00 00 00 00 call ?SetID@CAdoConnection@@QAEXJ@Z ; CAdoConnection::SetID
|
||
|
||
; 236 : #ifdef SMSCENTER_USECLIENT
|
||
; 237 : m_SQL[i].adoConnection.SetCursorLocation(adUseClient); //<2F><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>α<EFBFBD><CEB1><EFBFBD><EFBFBD><EFBFBD>
|
||
; 238 : #endif
|
||
; 239 : }
|
||
|
||
001d2 e9 5d ff ff ff jmp $LN2@Init
|
||
$LN1@Init:
|
||
|
||
; 240 : }
|
||
; 241 : }
|
||
|
||
001d7 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
001da 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
001e1 59 pop ecx
|
||
001e2 5f pop edi
|
||
001e3 5e pop esi
|
||
001e4 5b pop ebx
|
||
001e5 8b e5 mov esp, ebp
|
||
001e7 5d pop ebp
|
||
001e8 c2 04 00 ret 4
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$?Init@CKeyList@@QAEXPAVCSmsCenterDlg@@@Z$0:
|
||
00000 68 7c 1e 00 00 push 7804 ; 00001e7cH
|
||
00005 8b 45 98 mov eax, DWORD PTR $T2[ebp]
|
||
00008 50 push eax
|
||
00009 e8 00 00 00 00 call ??_V@YAXPAXI@Z ; operator delete[]
|
||
0000e 83 c4 08 add esp, 8
|
||
00011 c3 ret 0
|
||
00012 cc int 3
|
||
00013 cc int 3
|
||
00014 cc int 3
|
||
00015 cc int 3
|
||
00016 cc int 3
|
||
__ehhandler$?Init@CKeyList@@QAEXPAVCSmsCenterDlg@@@Z:
|
||
00017 90 npad 1
|
||
00018 90 npad 1
|
||
00019 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
0001d 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00020 8b 4a 90 mov ecx, DWORD PTR [edx-112]
|
||
00023 33 c8 xor ecx, eax
|
||
00025 e8 00 00 00 00 call @__security_check_cookie@4
|
||
0002a b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?Init@CKeyList@@QAEXPAVCSmsCenterDlg@@@Z
|
||
0002f e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?Init@CKeyList@@QAEXPAVCSmsCenterDlg@@@Z ENDP ; CKeyList::Init
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\SmsCenter\IOCP\KeyList.cpp
|
||
; COMDAT ?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ
|
||
_TEXT SEGMENT
|
||
tv140 = -6608 ; size = 4
|
||
tv65 = -6604 ; size = 4
|
||
$T2 = -6600 ; size = 4
|
||
$T3 = -6596 ; size = 4
|
||
_NXlog$4 = -6080 ; size = 6056
|
||
_this$ = -24 ; size = 4
|
||
__$ArrayPad$ = -20 ; size = 4
|
||
__$EHRec$ = -16 ; size = 16
|
||
?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ PROC ; CKeyList::GetBlank_Process, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 244 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 51 push ecx
|
||
00012 b8 c0 19 00 00 mov eax, 6592 ; 000019c0H
|
||
00017 e8 00 00 00 00 call __chkstk
|
||
0001c a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
00021 33 c5 xor eax, ebp
|
||
00023 89 45 ec mov DWORD PTR __$ArrayPad$[ebp], eax
|
||
00026 53 push ebx
|
||
00027 56 push esi
|
||
00028 57 push edi
|
||
00029 50 push eax
|
||
0002a 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp+4]
|
||
0002d 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00033 89 65 f0 mov DWORD PTR __$EHRec$[ebp], esp
|
||
00036 89 4d e8 mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 245 : try
|
||
|
||
00039 c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+12], 0
|
||
|
||
; 246 : {
|
||
; 247 : /*
|
||
; 248 : for ( int k=0 ; k<3 ; k++ ) //<2F><><EFBFBD><EFBFBD>3<EFBFBD>Σ<EFBFBD><CEA3><EFBFBD><EFBFBD>ܷ<EFBFBD><DCB7>ҵ<EFBFBD><D2B5><EFBFBD>
|
||
; 249 : {
|
||
; 250 : for ( int i=0 ; i<MAX_SQLCONNECT ; i++ )
|
||
; 251 : {
|
||
; 252 : CProcessSocket * pProcess = (CProcessSocket *)m_Process[i];
|
||
; 253 : if (pProcess && !pProcess->m_bUse && pProcess->m_lRandID==0 )
|
||
; 254 : {
|
||
; 255 : if ( pProcess->m_adoConnection.isOK() && pProcess->m_AdoRS.isOK() && pProcess->m_AdoRS2.isOK() )
|
||
; 256 : {
|
||
; 257 : pProcess->m_bUse = true;
|
||
; 258 : pProcess->m_lRandID = rand();
|
||
; 259 : pProcess->m_dwBeginUse = ::GetTickCount();
|
||
; 260 : return pProcess;
|
||
; 261 : }
|
||
; 262 : }
|
||
; 263 : }
|
||
; 264 : */
|
||
; 265 : /*
|
||
; 266 : //<2F>Ȳ<EFBFBD><C8B2><EFBFBD>ǰ<EFBFBD><C7B0>10<31><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܷ<EFBFBD><DCB7>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>е<EFBFBD>
|
||
; 267 : for ( int j=0 ; j<3 ; j++ )
|
||
; 268 : {
|
||
; 269 : for ( int i=0 ; i<MIN_SQLCONNECT ; i++ )
|
||
; 270 : {
|
||
; 271 : CProcessSocket * pProcess = (CProcessSocket *)m_Process[i];
|
||
; 272 : if ( !pProcess->m_bUse && pProcess->m_lRandID==0 )
|
||
; 273 : {
|
||
; 274 : pProcess->m_bUse = true;
|
||
; 275 : pProcess->m_lRandID = rand();
|
||
; 276 : pProcess->m_dwBeginUse = ::GetTickCount();
|
||
; 277 : return pProcess;
|
||
; 278 : }
|
||
; 279 : }
|
||
; 280 : Sleep(100);
|
||
; 281 : }
|
||
; 282 : for ( int i=MIN_SQLCONNECT ; i<MAX_SQLCONNECT ; i++ )
|
||
; 283 : {
|
||
; 284 : CProcessSocket * pProcess = (CProcessSocket *)m_Process[i];
|
||
; 285 : if ( !pProcess->m_bUse && pProcess->m_lRandID==0 )
|
||
; 286 : {
|
||
; 287 : pProcess->m_bUse = true;
|
||
; 288 : pProcess->m_lRandID = rand();
|
||
; 289 : pProcess->m_dwBeginUse = ::GetTickCount();
|
||
; 290 : return pProcess;
|
||
; 291 : }
|
||
; 292 : }
|
||
; 293 : */
|
||
; 294 : /*
|
||
; 295 : Sleep(500);
|
||
; 296 : }
|
||
; 297 : */
|
||
; 298 : }
|
||
|
||
00040 e9 90 00 00 00 jmp $LN4@GetBlank_P
|
||
__catch$?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ$0:
|
||
|
||
; 299 : catch(...)
|
||
; 300 : {
|
||
; 301 : LOG_APPERROR(_T("T"));
|
||
|
||
00045 8d 8d 40 e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$4[ebp]
|
||
0004b e8 00 00 00 00 call ??0CSAStatusLog@@QAE@XZ ; CSAStatusLog::CSAStatusLog
|
||
00050 c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+12], 2
|
||
00054 51 push ecx
|
||
00055 8b cc mov ecx, esp
|
||
00057 89 a5 3c e6 ff
|
||
ff mov DWORD PTR $T3[ebp], esp
|
||
0005d 68 00 00 00 00 push OFFSET ??_C@_1BC@HEKPCAFP@?$AAA?$AAp?$AAp?$AAE?$AAr?$AAr?$AAo?$AAr@
|
||
00062 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> > >
|
||
00067 89 85 34 e6 ff
|
||
ff mov DWORD PTR tv65[ebp], eax
|
||
0006d c6 45 fc 03 mov BYTE PTR __$EHRec$[ebp+12], 3
|
||
00071 51 push ecx
|
||
00072 8b cc mov ecx, esp
|
||
00074 89 a5 38 e6 ff
|
||
ff mov DWORD PTR $T2[ebp], esp
|
||
0007a 68 00 00 00 00 push OFFSET ??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@
|
||
0007f 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> > >
|
||
00084 89 85 30 e6 ff
|
||
ff mov DWORD PTR tv140[ebp], eax
|
||
0008a c6 45 fc 04 mov BYTE PTR __$EHRec$[ebp+12], 4
|
||
0008e c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+12], 2
|
||
00092 8d 8d 40 e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$4[ebp]
|
||
00098 e8 00 00 00 00 call ?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z ; CSAStatusLog::Init
|
||
0009d a1 00 00 00 00 mov eax, DWORD PTR ?__LINE__Var@?0??GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ@4JA
|
||
000a2 83 c0 39 add eax, 57 ; 00000039H
|
||
000a5 50 push eax
|
||
000a6 68 00 00 00 00 push OFFSET ??_C@_0BB@NCGHDNPI@GetBlank_Process@
|
||
000ab 68 00 00 00 00 push OFFSET ??_C@_0DB@EILGGBMO@D?3?2Works?2Corpsms_2010?2SmsCenter@
|
||
000b0 68 00 00 00 00 push OFFSET ??_C@_13JKNELIBG@?$AAT@
|
||
000b5 8d 8d 40 e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$4[ebp]
|
||
000bb e8 00 00 00 00 call ?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z ; CSAStatusLog::LogError
|
||
000c0 c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+12], 1
|
||
000c4 8d 8d 40 e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$4[ebp]
|
||
000ca e8 00 00 00 00 call ??1CSAStatusLog@@QAE@XZ ; CSAStatusLog::~CSAStatusLog
|
||
|
||
; 302 : }
|
||
|
||
000cf b8 00 00 00 00 mov eax, $LN10@GetBlank_P
|
||
000d4 c3 ret 0
|
||
$LN4@GetBlank_P:
|
||
000d5 c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+12], -1
|
||
000dc eb 07 jmp SHORT __tryend$?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ$1
|
||
$LN10@GetBlank_P:
|
||
000de c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+12], -1
|
||
__tryend$?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ$1:
|
||
|
||
; 303 : return NULL;
|
||
|
||
000e5 33 c0 xor eax, eax
|
||
|
||
; 304 : }
|
||
|
||
000e7 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp+4]
|
||
000ea 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
000f1 59 pop ecx
|
||
000f2 5f pop edi
|
||
000f3 5e pop esi
|
||
000f4 5b pop ebx
|
||
000f5 8b 4d ec mov ecx, DWORD PTR __$ArrayPad$[ebp]
|
||
000f8 33 cd xor ecx, ebp
|
||
000fa e8 00 00 00 00 call @__security_check_cookie@4
|
||
000ff 8b e5 mov esp, ebp
|
||
00101 5d pop ebp
|
||
00102 c3 ret 0
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ$2:
|
||
00000 8d 8d 40 e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$4[ebp]
|
||
00006 e9 00 00 00 00 jmp ??1CSAStatusLog@@QAE@XZ ; CSAStatusLog::~CSAStatusLog
|
||
__unwindfunclet$?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ$3:
|
||
0000b 8b 8d 3c e6 ff
|
||
ff mov ecx, DWORD PTR $T3[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$?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ$4:
|
||
00016 8b 8d 38 e6 ff
|
||
ff mov ecx, DWORD PTR $T2[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> > >
|
||
00021 cc int 3
|
||
00022 cc int 3
|
||
00023 cc int 3
|
||
00024 cc int 3
|
||
00025 cc int 3
|
||
__ehhandler$?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ:
|
||
00026 90 npad 1
|
||
00027 90 npad 1
|
||
00028 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
0002c 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
0002f 8b 8a 2c e6 ff
|
||
ff mov ecx, DWORD PTR [edx-6612]
|
||
00035 33 c8 xor ecx, eax
|
||
00037 e8 00 00 00 00 call @__security_check_cookie@4
|
||
0003c 8b 4a f8 mov ecx, DWORD PTR [edx-8]
|
||
0003f 33 c8 xor ecx, eax
|
||
00041 e8 00 00 00 00 call @__security_check_cookie@4
|
||
00046 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ
|
||
0004b e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?GetBlank_Process@CKeyList@@QAEPAVCProcessSocket@@XZ ENDP ; CKeyList::GetBlank_Process
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\SmsCenter\IOCP\KeyList.cpp
|
||
; COMDAT ?Close@CKeyList@@QAEXXZ
|
||
_TEXT SEGMENT
|
||
tv183 = -6636 ; size = 4
|
||
tv90 = -6636 ; size = 4
|
||
tv140 = -6632 ; size = 4
|
||
tv137 = -6632 ; size = 4
|
||
tv89 = -6632 ; size = 4
|
||
$T2 = -6628 ; size = 4
|
||
$T3 = -6624 ; size = 4
|
||
$T4 = -6620 ; size = 4
|
||
$T5 = -6616 ; size = 4
|
||
$T6 = -6612 ; size = 4
|
||
$T7 = -6608 ; size = 4
|
||
$T8 = -6604 ; size = 4
|
||
_NXlog$9 = -6088 ; size = 6056
|
||
_pSocket$10 = -32 ; size = 4
|
||
_i$11 = -28 ; size = 4
|
||
_this$ = -24 ; size = 4
|
||
__$ArrayPad$ = -20 ; size = 4
|
||
__$EHRec$ = -16 ; size = 16
|
||
?Close@CKeyList@@QAEXXZ PROC ; CKeyList::Close, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 307 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?Close@CKeyList@@QAEXXZ
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 51 push ecx
|
||
00012 b8 dc 19 00 00 mov eax, 6620 ; 000019dcH
|
||
00017 e8 00 00 00 00 call __chkstk
|
||
0001c a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
00021 33 c5 xor eax, ebp
|
||
00023 89 45 ec mov DWORD PTR __$ArrayPad$[ebp], eax
|
||
00026 53 push ebx
|
||
00027 56 push esi
|
||
00028 57 push edi
|
||
00029 50 push eax
|
||
0002a 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp+4]
|
||
0002d 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00033 89 65 f0 mov DWORD PTR __$EHRec$[ebp], esp
|
||
00036 89 4d e8 mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 308 : try
|
||
|
||
00039 c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+12], 0
|
||
|
||
; 309 : {
|
||
; 310 : Close_IO();
|
||
|
||
00040 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
|
||
00043 e8 00 00 00 00 call ?Close_IO@CKeyList@@QAEXXZ ; CKeyList::Close_IO
|
||
|
||
; 311 :
|
||
; 312 : if ( m_Key )
|
||
|
||
00048 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
|
||
0004b 83 78 04 00 cmp DWORD PTR [eax+4], 0
|
||
0004f 74 25 je SHORT $LN6@Close
|
||
|
||
; 313 : {delete []m_Key;m_Key=NULL;}
|
||
|
||
00051 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
|
||
00054 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
00057 89 8d 34 e6 ff
|
||
ff mov DWORD PTR $T8[ebp], ecx
|
||
0005d 8b 95 34 e6 ff
|
||
ff mov edx, DWORD PTR $T8[ebp]
|
||
00063 52 push edx
|
||
00064 e8 00 00 00 00 call ??_V@YAXPAX@Z ; operator delete[]
|
||
00069 83 c4 04 add esp, 4
|
||
0006c 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
|
||
0006f c7 40 04 00 00
|
||
00 00 mov DWORD PTR [eax+4], 0
|
||
$LN6@Close:
|
||
|
||
; 314 : /*
|
||
; 315 : //ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD>
|
||
; 316 : for ( int i=0 ; i<MAX_LOGINUSER ; i++ )
|
||
; 317 : {
|
||
; 318 : if ( m_IO[i].buf )
|
||
; 319 : delete m_IO[i].buf;
|
||
; 320 : }
|
||
; 321 : */
|
||
; 322 : if ( m_IO )
|
||
|
||
00076 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
|
||
00079 83 78 0c 00 cmp DWORD PTR [eax+12], 0
|
||
0007d 74 25 je SHORT $LN7@Close
|
||
|
||
; 323 : {delete []m_IO;m_IO=NULL;}
|
||
|
||
0007f 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
|
||
00082 8b 48 0c mov ecx, DWORD PTR [eax+12]
|
||
00085 89 8d 30 e6 ff
|
||
ff mov DWORD PTR $T7[ebp], ecx
|
||
0008b 8b 95 30 e6 ff
|
||
ff mov edx, DWORD PTR $T7[ebp]
|
||
00091 52 push edx
|
||
00092 e8 00 00 00 00 call ??_V@YAXPAX@Z ; operator delete[]
|
||
00097 83 c4 04 add esp, 4
|
||
0009a 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
|
||
0009d c7 40 0c 00 00
|
||
00 00 mov DWORD PTR [eax+12], 0
|
||
$LN7@Close:
|
||
|
||
; 324 :
|
||
; 325 : if ( m_Process )
|
||
|
||
000a4 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
|
||
000a7 83 78 18 00 cmp DWORD PTR [eax+24], 0
|
||
000ab 0f 84 a5 00 00
|
||
00 je $LN8@Close
|
||
|
||
; 326 : {
|
||
; 327 : for ( int i=0 ; i<MAX_SQLCONNECT; i++ )
|
||
|
||
000b1 c7 45 e4 00 00
|
||
00 00 mov DWORD PTR _i$11[ebp], 0
|
||
000b8 eb 09 jmp SHORT $LN4@Close
|
||
$LN2@Close:
|
||
000ba 8b 45 e4 mov eax, DWORD PTR _i$11[ebp]
|
||
000bd 83 c0 01 add eax, 1
|
||
000c0 89 45 e4 mov DWORD PTR _i$11[ebp], eax
|
||
$LN4@Close:
|
||
000c3 81 7d e4 96 00
|
||
00 00 cmp DWORD PTR _i$11[ebp], 150 ; 00000096H
|
||
000ca 7d 63 jge SHORT $LN3@Close
|
||
|
||
; 328 : {
|
||
; 329 : CProcessSocket * pSocket = (CProcessSocket *)m_Process[i];
|
||
|
||
000cc 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
|
||
000cf 8b 48 18 mov ecx, DWORD PTR [eax+24]
|
||
000d2 8b 55 e4 mov edx, DWORD PTR _i$11[ebp]
|
||
000d5 8b 04 91 mov eax, DWORD PTR [ecx+edx*4]
|
||
000d8 89 45 e0 mov DWORD PTR _pSocket$10[ebp], eax
|
||
|
||
; 330 : delete pSocket;
|
||
|
||
000db 8b 45 e0 mov eax, DWORD PTR _pSocket$10[ebp]
|
||
000de 89 85 2c e6 ff
|
||
ff mov DWORD PTR $T6[ebp], eax
|
||
000e4 83 bd 2c e6 ff
|
||
ff 00 cmp DWORD PTR $T6[ebp], 0
|
||
000eb 74 26 je SHORT $LN11@Close
|
||
000ed 8b 8d 2c e6 ff
|
||
ff mov ecx, DWORD PTR $T6[ebp]
|
||
000f3 8b 11 mov edx, DWORD PTR [ecx]
|
||
000f5 8b 02 mov eax, DWORD PTR [edx]
|
||
000f7 89 85 18 e6 ff
|
||
ff mov DWORD PTR tv89[ebp], eax
|
||
000fd 6a 01 push 1
|
||
000ff 8b 8d 2c e6 ff
|
||
ff mov ecx, DWORD PTR $T6[ebp]
|
||
00105 ff 95 18 e6 ff
|
||
ff call DWORD PTR tv89[ebp]
|
||
0010b 89 85 14 e6 ff
|
||
ff mov DWORD PTR tv90[ebp], eax
|
||
00111 eb 0a jmp SHORT $LN12@Close
|
||
$LN11@Close:
|
||
00113 c7 85 14 e6 ff
|
||
ff 00 00 00 00 mov DWORD PTR tv90[ebp], 0
|
||
$LN12@Close:
|
||
|
||
; 331 : m_Process[i] = NULL;
|
||
|
||
0011d 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
|
||
00120 8b 48 18 mov ecx, DWORD PTR [eax+24]
|
||
00123 8b 55 e4 mov edx, DWORD PTR _i$11[ebp]
|
||
00126 c7 04 91 00 00
|
||
00 00 mov DWORD PTR [ecx+edx*4], 0
|
||
|
||
; 332 : }
|
||
|
||
0012d eb 8b jmp SHORT $LN2@Close
|
||
$LN3@Close:
|
||
|
||
; 333 : delete m_Process;
|
||
|
||
0012f 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
|
||
00132 8b 48 18 mov ecx, DWORD PTR [eax+24]
|
||
00135 89 8d 28 e6 ff
|
||
ff mov DWORD PTR $T5[ebp], ecx
|
||
0013b 6a 04 push 4
|
||
0013d 8b 95 28 e6 ff
|
||
ff mov edx, DWORD PTR $T5[ebp]
|
||
00143 52 push edx
|
||
00144 e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete
|
||
00149 83 c4 08 add esp, 8
|
||
|
||
; 334 : m_Process = NULL;
|
||
|
||
0014c 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
|
||
0014f c7 40 18 00 00
|
||
00 00 mov DWORD PTR [eax+24], 0
|
||
$LN8@Close:
|
||
|
||
; 335 : }
|
||
; 336 : if ( m_SQL )
|
||
|
||
00156 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
|
||
00159 83 78 14 00 cmp DWORD PTR [eax+20], 0
|
||
0015d 74 3e je SHORT $LN9@Close
|
||
|
||
; 337 : {delete []m_SQL;m_SQL=NULL;}
|
||
|
||
0015f 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
|
||
00162 8b 48 14 mov ecx, DWORD PTR [eax+20]
|
||
00165 89 8d 24 e6 ff
|
||
ff mov DWORD PTR $T4[ebp], ecx
|
||
0016b 83 bd 24 e6 ff
|
||
ff 00 cmp DWORD PTR $T4[ebp], 0
|
||
00172 74 15 je SHORT $LN13@Close
|
||
00174 6a 03 push 3
|
||
00176 8b 8d 24 e6 ff
|
||
ff mov ecx, DWORD PTR $T4[ebp]
|
||
0017c e8 00 00 00 00 call ??_EIOCP_SQL@@QAEPAXI@Z
|
||
00181 89 85 18 e6 ff
|
||
ff mov DWORD PTR tv137[ebp], eax
|
||
00187 eb 0a jmp SHORT $LN14@Close
|
||
$LN13@Close:
|
||
00189 c7 85 18 e6 ff
|
||
ff 00 00 00 00 mov DWORD PTR tv137[ebp], 0
|
||
$LN14@Close:
|
||
00193 8b 45 e8 mov eax, DWORD PTR _this$[ebp]
|
||
00196 c7 40 14 00 00
|
||
00 00 mov DWORD PTR [eax+20], 0
|
||
$LN9@Close:
|
||
|
||
; 338 : }
|
||
|
||
0019d e9 90 00 00 00 jmp $LN15@Close
|
||
__catch$?Close@CKeyList@@QAEXXZ$0:
|
||
|
||
; 339 : catch(...)
|
||
; 340 : {
|
||
; 341 : LOG_APPERROR(_T("T"));
|
||
|
||
001a2 8d 8d 38 e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$9[ebp]
|
||
001a8 e8 00 00 00 00 call ??0CSAStatusLog@@QAE@XZ ; CSAStatusLog::CSAStatusLog
|
||
001ad c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+12], 2
|
||
001b1 51 push ecx
|
||
001b2 8b cc mov ecx, esp
|
||
001b4 89 a5 20 e6 ff
|
||
ff mov DWORD PTR $T3[ebp], esp
|
||
001ba 68 00 00 00 00 push OFFSET ??_C@_1BC@HEKPCAFP@?$AAA?$AAp?$AAp?$AAE?$AAr?$AAr?$AAo?$AAr@
|
||
001bf 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> > >
|
||
001c4 89 85 18 e6 ff
|
||
ff mov DWORD PTR tv140[ebp], eax
|
||
001ca c6 45 fc 03 mov BYTE PTR __$EHRec$[ebp+12], 3
|
||
001ce 51 push ecx
|
||
001cf 8b cc mov ecx, esp
|
||
001d1 89 a5 1c e6 ff
|
||
ff mov DWORD PTR $T2[ebp], esp
|
||
001d7 68 00 00 00 00 push OFFSET ??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@
|
||
001dc 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> > >
|
||
001e1 89 85 14 e6 ff
|
||
ff mov DWORD PTR tv183[ebp], eax
|
||
001e7 c6 45 fc 04 mov BYTE PTR __$EHRec$[ebp+12], 4
|
||
001eb c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+12], 2
|
||
001ef 8d 8d 38 e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$9[ebp]
|
||
001f5 e8 00 00 00 00 call ?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z ; CSAStatusLog::Init
|
||
001fa a1 00 00 00 00 mov eax, DWORD PTR ?__LINE__Var@?0??Close@CKeyList@@QAEXXZ@4JA
|
||
001ff 83 c0 22 add eax, 34 ; 00000022H
|
||
00202 50 push eax
|
||
00203 68 00 00 00 00 push OFFSET ??_C@_05LGELBCGM@Close@
|
||
00208 68 00 00 00 00 push OFFSET ??_C@_0DB@EILGGBMO@D?3?2Works?2Corpsms_2010?2SmsCenter@
|
||
0020d 68 00 00 00 00 push OFFSET ??_C@_13JKNELIBG@?$AAT@
|
||
00212 8d 8d 38 e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$9[ebp]
|
||
00218 e8 00 00 00 00 call ?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z ; CSAStatusLog::LogError
|
||
0021d c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+12], 1
|
||
00221 8d 8d 38 e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$9[ebp]
|
||
00227 e8 00 00 00 00 call ??1CSAStatusLog@@QAE@XZ ; CSAStatusLog::~CSAStatusLog
|
||
|
||
; 342 : }
|
||
|
||
0022c b8 00 00 00 00 mov eax, $LN21@Close
|
||
00231 c3 ret 0
|
||
$LN15@Close:
|
||
00232 c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+12], -1
|
||
00239 eb 07 jmp SHORT $LN1@Close
|
||
$LN21@Close:
|
||
0023b c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+12], -1
|
||
$LN1@Close:
|
||
|
||
; 343 : }
|
||
|
||
00242 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp+4]
|
||
00245 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
0024c 59 pop ecx
|
||
0024d 5f pop edi
|
||
0024e 5e pop esi
|
||
0024f 5b pop ebx
|
||
00250 8b 4d ec mov ecx, DWORD PTR __$ArrayPad$[ebp]
|
||
00253 33 cd xor ecx, ebp
|
||
00255 e8 00 00 00 00 call @__security_check_cookie@4
|
||
0025a 8b e5 mov esp, ebp
|
||
0025c 5d pop ebp
|
||
0025d c3 ret 0
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$?Close@CKeyList@@QAEXXZ$2:
|
||
00000 8d 8d 38 e8 ff
|
||
ff lea ecx, DWORD PTR _NXlog$9[ebp]
|
||
00006 e9 00 00 00 00 jmp ??1CSAStatusLog@@QAE@XZ ; CSAStatusLog::~CSAStatusLog
|
||
__unwindfunclet$?Close@CKeyList@@QAEXXZ$3:
|
||
0000b 8b 8d 20 e6 ff
|
||
ff mov ecx, DWORD PTR $T3[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$?Close@CKeyList@@QAEXXZ$4:
|
||
00016 8b 8d 1c e6 ff
|
||
ff mov ecx, DWORD PTR $T2[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> > >
|
||
00021 cc int 3
|
||
00022 cc int 3
|
||
00023 cc int 3
|
||
00024 cc int 3
|
||
00025 cc int 3
|
||
__ehhandler$?Close@CKeyList@@QAEXXZ:
|
||
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 8a 10 e6 ff
|
||
ff mov ecx, DWORD PTR [edx-6640]
|
||
00035 33 c8 xor ecx, eax
|
||
00037 e8 00 00 00 00 call @__security_check_cookie@4
|
||
0003c 8b 4a f8 mov ecx, DWORD PTR [edx-8]
|
||
0003f 33 c8 xor ecx, eax
|
||
00041 e8 00 00 00 00 call @__security_check_cookie@4
|
||
00046 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?Close@CKeyList@@QAEXXZ
|
||
0004b e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?Close@CKeyList@@QAEXXZ ENDP ; CKeyList::Close
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\SmsCenter\IOCP\KeyList.cpp
|
||
; COMDAT ?GetBlank_SQL@CKeyList@@QAEPAUIOCP_SQL@@XZ
|
||
_TEXT SEGMENT
|
||
tv134 = -80 ; size = 4
|
||
tv95 = -80 ; size = 4
|
||
_i$1 = -12 ; size = 4
|
||
_j$2 = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
?GetBlank_SQL@CKeyList@@QAEPAUIOCP_SQL@@XZ PROC ; CKeyList::GetBlank_SQL, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 346 : {
|
||
|
||
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
|
||
|
||
; 347 : for ( int j=0 ; j<3 ; j++ )
|
||
|
||
0000c c7 45 f8 00 00
|
||
00 00 mov DWORD PTR _j$2[ebp], 0
|
||
00013 eb 09 jmp SHORT $LN4@GetBlank_S
|
||
$LN2@GetBlank_S:
|
||
00015 8b 45 f8 mov eax, DWORD PTR _j$2[ebp]
|
||
00018 83 c0 01 add eax, 1
|
||
0001b 89 45 f8 mov DWORD PTR _j$2[ebp], eax
|
||
$LN4@GetBlank_S:
|
||
0001e 83 7d f8 03 cmp DWORD PTR _j$2[ebp], 3
|
||
00022 0f 8d e8 00 00
|
||
00 jge $LN3@GetBlank_S
|
||
|
||
; 348 : {
|
||
; 349 : for ( int i=0 ; i<MAX_SQLCONNECT ; i++ )
|
||
|
||
00028 c7 45 f4 00 00
|
||
00 00 mov DWORD PTR _i$1[ebp], 0
|
||
0002f eb 09 jmp SHORT $LN7@GetBlank_S
|
||
$LN5@GetBlank_S:
|
||
00031 8b 45 f4 mov eax, DWORD PTR _i$1[ebp]
|
||
00034 83 c0 01 add eax, 1
|
||
00037 89 45 f4 mov DWORD PTR _i$1[ebp], eax
|
||
$LN7@GetBlank_S:
|
||
0003a 81 7d f4 96 00
|
||
00 00 cmp DWORD PTR _i$1[ebp], 150 ; 00000096H
|
||
00041 0f 8d b9 00 00
|
||
00 jge $LN6@GetBlank_S
|
||
|
||
; 350 : {
|
||
; 351 : if ( !m_SQL[i].bUse && m_SQL[i].lRandID==0 &&
|
||
|
||
00047 6b 45 f4 34 imul eax, DWORD PTR _i$1[ebp], 52
|
||
0004b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0004e 8b 51 14 mov edx, DWORD PTR [ecx+20]
|
||
00051 83 3c 02 00 cmp DWORD PTR [edx+eax], 0
|
||
00055 0f 85 a0 00 00
|
||
00 jne $LN8@GetBlank_S
|
||
0005b 6b 45 f4 34 imul eax, DWORD PTR _i$1[ebp], 52
|
||
0005f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00062 8b 51 14 mov edx, DWORD PTR [ecx+20]
|
||
00065 83 7c 02 04 00 cmp DWORD PTR [edx+eax+4], 0
|
||
0006a 0f 85 8b 00 00
|
||
00 jne $LN8@GetBlank_S
|
||
00070 6b 45 f4 34 imul eax, DWORD PTR _i$1[ebp], 52
|
||
00074 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00077 8b 51 14 mov edx, DWORD PTR [ecx+20]
|
||
0007a 8d 4c 02 08 lea ecx, DWORD PTR [edx+eax+8]
|
||
0007e e8 00 00 00 00 call ?isOK@CAdoConnection@@QAEHXZ ; CAdoConnection::isOK
|
||
00083 85 c0 test eax, eax
|
||
00085 74 74 je SHORT $LN8@GetBlank_S
|
||
|
||
; 352 : m_SQL[i].adoConnection.isOK() )
|
||
; 353 : {
|
||
; 354 : m_SQL[i].bUse = true;
|
||
|
||
00087 6b 45 f4 34 imul eax, DWORD PTR _i$1[ebp], 52
|
||
0008b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0008e 8b 51 14 mov edx, DWORD PTR [ecx+20]
|
||
00091 c7 04 02 01 00
|
||
00 00 mov DWORD PTR [edx+eax], 1
|
||
|
||
; 355 : m_SQL[i].lRandID = rand();
|
||
|
||
00098 e8 00 00 00 00 call _rand
|
||
0009d 89 45 b0 mov DWORD PTR tv95[ebp], eax
|
||
000a0 6b 45 f4 34 imul eax, DWORD PTR _i$1[ebp], 52
|
||
000a4 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
000a7 8b 51 14 mov edx, DWORD PTR [ecx+20]
|
||
000aa 8b 4d b0 mov ecx, DWORD PTR tv95[ebp]
|
||
000ad 89 4c 02 04 mov DWORD PTR [edx+eax+4], ecx
|
||
|
||
; 356 : m_SQL[i].dwBeginUse = GetTickCount();
|
||
|
||
000b1 ff 15 00 00 00
|
||
00 call DWORD PTR __imp__GetTickCount@0
|
||
000b7 89 45 b0 mov DWORD PTR tv134[ebp], eax
|
||
000ba 6b 45 f4 34 imul eax, DWORD PTR _i$1[ebp], 52
|
||
000be 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
000c1 8b 51 14 mov edx, DWORD PTR [ecx+20]
|
||
000c4 8b 4d b0 mov ecx, DWORD PTR tv134[ebp]
|
||
000c7 89 4c 02 24 mov DWORD PTR [edx+eax+36], ecx
|
||
|
||
; 357 : m_SQL[i].lFuncID = 0;
|
||
|
||
000cb 6b 45 f4 34 imul eax, DWORD PTR _i$1[ebp], 52
|
||
000cf 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
000d2 8b 51 14 mov edx, DWORD PTR [ecx+20]
|
||
000d5 c7 44 02 2c 00
|
||
00 00 00 mov DWORD PTR [edx+eax+44], 0
|
||
|
||
; 358 : m_SQL[i].lUserID = 0;
|
||
|
||
000dd 6b 45 f4 34 imul eax, DWORD PTR _i$1[ebp], 52
|
||
000e1 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
000e4 8b 51 14 mov edx, DWORD PTR [ecx+20]
|
||
000e7 c7 44 02 30 00
|
||
00 00 00 mov DWORD PTR [edx+eax+48], 0
|
||
|
||
; 359 : return &m_SQL[i];
|
||
|
||
000ef 6b 45 f4 34 imul eax, DWORD PTR _i$1[ebp], 52
|
||
000f3 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
000f6 03 41 14 add eax, DWORD PTR [ecx+20]
|
||
000f9 eb 17 jmp SHORT $LN1@GetBlank_S
|
||
$LN8@GetBlank_S:
|
||
|
||
; 360 : }
|
||
; 361 : }
|
||
|
||
000fb e9 31 ff ff ff jmp $LN5@GetBlank_S
|
||
$LN6@GetBlank_S:
|
||
|
||
; 362 : Sleep(500);
|
||
|
||
00100 68 f4 01 00 00 push 500 ; 000001f4H
|
||
00105 ff 15 00 00 00
|
||
00 call DWORD PTR __imp__Sleep@4
|
||
|
||
; 363 : }
|
||
|
||
0010b e9 05 ff ff ff jmp $LN2@GetBlank_S
|
||
$LN3@GetBlank_S:
|
||
|
||
; 364 : return NULL;
|
||
|
||
00110 33 c0 xor eax, eax
|
||
$LN1@GetBlank_S:
|
||
|
||
; 365 : }
|
||
|
||
00112 5f pop edi
|
||
00113 5e pop esi
|
||
00114 5b pop ebx
|
||
00115 8b e5 mov esp, ebp
|
||
00117 5d pop ebp
|
||
00118 c3 ret 0
|
||
?GetBlank_SQL@CKeyList@@QAEPAUIOCP_SQL@@XZ ENDP ; CKeyList::GetBlank_SQL
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; COMDAT ??_EIOCP_SQL@@QAEPAXI@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
___flags$ = 8 ; size = 4
|
||
??_EIOCP_SQL@@QAEPAXI@Z PROC ; IOCP_SQL::`vector deleting destructor', COMDAT
|
||
; _this$ = ecx
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$??_EIOCP_SQL@@QAEPAXI@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
|
||
0002b 8b 45 08 mov eax, DWORD PTR ___flags$[ebp]
|
||
0002e 83 e0 02 and eax, 2
|
||
00031 74 41 je SHORT $LN2@vector
|
||
00033 68 00 00 00 00 push OFFSET ??1IOCP_SQL@@QAE@XZ
|
||
00038 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
0003b 8b 48 fc mov ecx, DWORD PTR [eax-4]
|
||
0003e 51 push ecx
|
||
0003f 6a 34 push 52 ; 00000034H
|
||
00041 8b 55 f0 mov edx, DWORD PTR _this$[ebp]
|
||
00044 52 push edx
|
||
00045 e8 00 00 00 00 call ??_M@YGXPAXIIP6EX0@Z@Z
|
||
0004a 8b 45 08 mov eax, DWORD PTR ___flags$[ebp]
|
||
0004d 83 e0 01 and eax, 1
|
||
00050 74 1a je SHORT $LN3@vector
|
||
00052 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
00055 6b 48 fc 34 imul ecx, DWORD PTR [eax-4], 52
|
||
00059 83 c1 04 add ecx, 4
|
||
0005c 51 push ecx
|
||
0005d 8b 55 f0 mov edx, DWORD PTR _this$[ebp]
|
||
00060 83 ea 04 sub edx, 4
|
||
00063 52 push edx
|
||
00064 e8 00 00 00 00 call ??_V@YAXPAXI@Z ; operator delete[]
|
||
00069 83 c4 08 add esp, 8
|
||
$LN3@vector:
|
||
0006c 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
0006f 83 e8 04 sub eax, 4
|
||
00072 eb 21 jmp SHORT $LN1@vector
|
||
$LN2@vector:
|
||
00074 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00077 e8 00 00 00 00 call ??1IOCP_SQL@@QAE@XZ
|
||
0007c 8b 45 08 mov eax, DWORD PTR ___flags$[ebp]
|
||
0007f 83 e0 01 and eax, 1
|
||
00082 74 0e je SHORT $LN4@vector
|
||
00084 6a 34 push 52 ; 00000034H
|
||
00086 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
00089 50 push eax
|
||
0008a e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete
|
||
0008f 83 c4 08 add esp, 8
|
||
$LN4@vector:
|
||
00092 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
$LN1@vector:
|
||
00095 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00098 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
0009f 59 pop ecx
|
||
000a0 5f pop edi
|
||
000a1 5e pop esi
|
||
000a2 5b pop ebx
|
||
000a3 8b e5 mov esp, ebp
|
||
000a5 5d pop ebp
|
||
000a6 c2 04 00 ret 4
|
||
000a9 cc int 3
|
||
000aa cc int 3
|
||
000ab cc int 3
|
||
000ac cc int 3
|
||
000ad cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$??_EIOCP_SQL@@QAEPAXI@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$??_EIOCP_SQL@@QAEPAXI@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
??_EIOCP_SQL@@QAEPAXI@Z ENDP ; IOCP_SQL::`vector deleting destructor'
|
||
; Function compile flags: /Odtp /ZI
|
||
; COMDAT ??1IOCP_SQL@@QAE@XZ
|
||
_TEXT SEGMENT
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
??1IOCP_SQL@@QAE@XZ PROC ; IOCP_SQL::~IOCP_SQL, COMDAT
|
||
; _this$ = ecx
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$??1IOCP_SQL@@QAE@XZ
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 44 sub esp, 68 ; 00000044H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
|
||
0002b c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
00032 c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
|
||
00039 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
0003c 83 c1 08 add ecx, 8
|
||
0003f e8 00 00 00 00 call ??1CAdoConnection@@UAE@XZ ; CAdoConnection::~CAdoConnection
|
||
00044 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00047 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
0004e 59 pop ecx
|
||
0004f 5f pop edi
|
||
00050 5e pop esi
|
||
00051 5b pop ebx
|
||
00052 8b e5 mov esp, ebp
|
||
00054 5d pop ebp
|
||
00055 c3 ret 0
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$??1IOCP_SQL@@QAE@XZ$0:
|
||
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00003 83 c1 08 add ecx, 8
|
||
00006 e9 00 00 00 00 jmp ??1CAdoConnection@@UAE@XZ ; CAdoConnection::~CAdoConnection
|
||
0000b cc int 3
|
||
0000c cc int 3
|
||
0000d cc int 3
|
||
0000e cc int 3
|
||
0000f cc int 3
|
||
__ehhandler$??1IOCP_SQL@@QAE@XZ:
|
||
00010 90 npad 1
|
||
00011 90 npad 1
|
||
00012 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00016 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00019 8b 4a ac mov ecx, DWORD PTR [edx-84]
|
||
0001c 33 c8 xor ecx, eax
|
||
0001e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00023 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??1IOCP_SQL@@QAE@XZ
|
||
00028 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
??1IOCP_SQL@@QAE@XZ ENDP ; IOCP_SQL::~IOCP_SQL
|
||
; Function compile flags: /Odtp /ZI
|
||
; COMDAT ??0IOCP_SQL@@QAE@XZ
|
||
_TEXT SEGMENT
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
??0IOCP_SQL@@QAE@XZ PROC ; IOCP_SQL::IOCP_SQL, COMDAT
|
||
; _this$ = ecx
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$??0IOCP_SQL@@QAE@XZ
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 44 sub esp, 68 ; 00000044H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
|
||
0002b 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
0002e 83 c1 08 add ecx, 8
|
||
00031 e8 00 00 00 00 call ??0CAdoConnection@@QAE@XZ ; CAdoConnection::CAdoConnection
|
||
00036 c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
0003d c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
|
||
00044 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
|
||
00047 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0004a 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00051 59 pop ecx
|
||
00052 5f pop edi
|
||
00053 5e pop esi
|
||
00054 5b pop ebx
|
||
00055 8b e5 mov esp, ebp
|
||
00057 5d pop ebp
|
||
00058 c3 ret 0
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$??0IOCP_SQL@@QAE@XZ$0:
|
||
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00003 83 c1 08 add ecx, 8
|
||
00006 e9 00 00 00 00 jmp ??1CAdoConnection@@UAE@XZ ; CAdoConnection::~CAdoConnection
|
||
0000b cc int 3
|
||
0000c cc int 3
|
||
0000d cc int 3
|
||
0000e cc int 3
|
||
0000f cc int 3
|
||
__ehhandler$??0IOCP_SQL@@QAE@XZ:
|
||
00010 90 npad 1
|
||
00011 90 npad 1
|
||
00012 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00016 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00019 8b 4a ac mov ecx, DWORD PTR [edx-84]
|
||
0001c 33 c8 xor ecx, eax
|
||
0001e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00023 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??0IOCP_SQL@@QAE@XZ
|
||
00028 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
??0IOCP_SQL@@QAE@XZ ENDP ; IOCP_SQL::IOCP_SQL
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\public\ado\ado.h
|
||
; COMDAT ?SetID@CAdoConnection@@QAEXJ@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_lID$ = 8 ; size = 4
|
||
?SetID@CAdoConnection@@QAEXJ@Z PROC ; CAdoConnection::SetID, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 174 : void SetID(long lID) {m_lID = lID;}
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0000f 8b 4d 08 mov ecx, DWORD PTR _lID$[ebp]
|
||
00012 89 48 08 mov DWORD PTR [eax+8], ecx
|
||
00015 5f pop edi
|
||
00016 5e pop esi
|
||
00017 5b pop ebx
|
||
00018 8b e5 mov esp, ebp
|
||
0001a 5d pop ebp
|
||
0001b c2 04 00 ret 4
|
||
?SetID@CAdoConnection@@QAEXJ@Z ENDP ; CAdoConnection::SetID
|
||
_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\cstringt.h
|
||
; COMDAT ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z
|
||
_TEXT SEGMENT
|
||
_nID$1 = -12 ; size = 4
|
||
_bRet$ = -5 ; size = 1
|
||
_this$ = -4 ; size = 4
|
||
_pv$ = 8 ; size = 4
|
||
?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 2705 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 4c sub esp, 76 ; 0000004cH
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 2706 : bool bRet = false;
|
||
|
||
0000c c6 45 fb 00 mov BYTE PTR _bRet$[ebp], 0
|
||
|
||
; 2707 :
|
||
; 2708 : if( (pv != NULL) && IS_INTRESOURCE( pv ) )
|
||
|
||
00010 83 7d 08 00 cmp DWORD PTR _pv$[ebp], 0
|
||
00014 74 28 je SHORT $LN2@CheckImpli
|
||
00016 8b 45 08 mov eax, DWORD PTR _pv$[ebp]
|
||
00019 c1 e8 10 shr eax, 16 ; 00000010H
|
||
0001c 85 c0 test eax, eax
|
||
0001e 75 1e jne SHORT $LN2@CheckImpli
|
||
|
||
; 2709 : {
|
||
; 2710 : UINT nID = LOWORD( reinterpret_cast< DWORD_PTR >( pv ) );
|
||
|
||
00020 8b 45 08 mov eax, DWORD PTR _pv$[ebp]
|
||
00023 25 ff ff 00 00 and eax, 65535 ; 0000ffffH
|
||
00028 0f b7 c8 movzx ecx, ax
|
||
0002b 89 4d f4 mov DWORD PTR _nID$1[ebp], ecx
|
||
|
||
; 2711 : (nID);
|
||
; 2712 : #ifdef _ATL_USE_WINAPI_FAMILY_DESKTOP_APP
|
||
; 2713 : if( !LoadString( nID ) )
|
||
|
||
0002e 8b 45 f4 mov eax, DWORD PTR _nID$1[ebp]
|
||
00031 50 push eax
|
||
00032 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00035 e8 00 00 00 00 call ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
|
||
|
||
; 2714 : {
|
||
; 2715 : ATLTRACE( atlTraceString, 2, _T( "Warning: implicit LoadString(%u) failed\n" ), nID );
|
||
; 2716 : }
|
||
; 2717 : bRet = true;
|
||
|
||
0003a c6 45 fb 01 mov BYTE PTR _bRet$[ebp], 1
|
||
$LN2@CheckImpli:
|
||
|
||
; 2718 : #else
|
||
; 2719 : ATLTRACE( atlTraceString, 2, _T( "Warning: LoadString(%u) not supported under the current WINAPI_FAMILY.\n" ), nID );
|
||
; 2720 : #endif
|
||
; 2721 : }
|
||
; 2722 :
|
||
; 2723 : return( bRet );
|
||
|
||
0003e 8a 45 fb mov al, BYTE PTR _bRet$[ebp]
|
||
|
||
; 2724 : }
|
||
|
||
00041 5f pop edi
|
||
00042 5e pop esi
|
||
00043 5b pop ebx
|
||
00044 8b e5 mov esp, ebp
|
||
00046 5d pop ebp
|
||
00047 c2 04 00 ret 4
|
||
?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z
|
||
_TEXT SEGMENT
|
||
_pszBuffer$ = -16 ; size = 4
|
||
_nLength$ = -12 ; size = 4
|
||
_pImage$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_hInstance$ = 8 ; size = 4
|
||
_nID$ = 12 ; size = 4
|
||
?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 2350 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 50 sub esp, 80 ; 00000050H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 2351 : const ATLSTRINGRESOURCEIMAGE* pImage = AtlGetStringResourceImage( hInstance, nID );
|
||
|
||
0000c 8b 45 0c mov eax, DWORD PTR _nID$[ebp]
|
||
0000f 50 push eax
|
||
00010 8b 4d 08 mov ecx, DWORD PTR _hInstance$[ebp]
|
||
00013 51 push ecx
|
||
00014 e8 00 00 00 00 call ?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z ; ATL::AtlGetStringResourceImage
|
||
00019 83 c4 08 add esp, 8
|
||
0001c 89 45 f8 mov DWORD PTR _pImage$[ebp], eax
|
||
|
||
; 2352 : if( pImage == NULL )
|
||
|
||
0001f 83 7d f8 00 cmp DWORD PTR _pImage$[ebp], 0
|
||
00023 75 04 jne SHORT $LN2@LoadString
|
||
|
||
; 2353 : {
|
||
; 2354 : return( FALSE );
|
||
|
||
00025 33 c0 xor eax, eax
|
||
00027 eb 57 jmp SHORT $LN1@LoadString
|
||
$LN2@LoadString:
|
||
|
||
; 2355 : }
|
||
; 2356 :
|
||
; 2357 : int nLength = StringTraits::GetBaseTypeLength( pImage->achString, pImage->nLength );
|
||
|
||
00029 8b 45 f8 mov eax, DWORD PTR _pImage$[ebp]
|
||
0002c 0f b7 08 movzx ecx, WORD PTR [eax]
|
||
0002f 51 push ecx
|
||
00030 8b 55 f8 mov edx, DWORD PTR _pImage$[ebp]
|
||
00033 83 c2 02 add edx, 2
|
||
00036 52 push edx
|
||
00037 e8 00 00 00 00 call ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
|
||
0003c 83 c4 08 add esp, 8
|
||
0003f 89 45 f4 mov DWORD PTR _nLength$[ebp], eax
|
||
|
||
; 2358 : PXSTR pszBuffer = this->GetBuffer( nLength );
|
||
|
||
00042 8b 45 f4 mov eax, DWORD PTR _nLength$[ebp]
|
||
00045 50 push eax
|
||
00046 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00049 e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
|
||
0004e 89 45 f0 mov DWORD PTR _pszBuffer$[ebp], eax
|
||
|
||
; 2359 : StringTraits::ConvertToBaseType( pszBuffer, nLength, pImage->achString, pImage->nLength );
|
||
|
||
00051 8b 45 f8 mov eax, DWORD PTR _pImage$[ebp]
|
||
00054 0f b7 08 movzx ecx, WORD PTR [eax]
|
||
00057 51 push ecx
|
||
00058 8b 55 f8 mov edx, DWORD PTR _pImage$[ebp]
|
||
0005b 83 c2 02 add edx, 2
|
||
0005e 52 push edx
|
||
0005f 8b 45 f4 mov eax, DWORD PTR _nLength$[ebp]
|
||
00062 50 push eax
|
||
00063 8b 4d f0 mov ecx, DWORD PTR _pszBuffer$[ebp]
|
||
00066 51 push ecx
|
||
00067 e8 00 00 00 00 call ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType
|
||
0006c 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 2360 : this->ReleaseBufferSetLength( nLength );
|
||
|
||
0006f 8b 45 f4 mov eax, DWORD PTR _nLength$[ebp]
|
||
00072 50 push eax
|
||
00073 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00076 e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
|
||
|
||
; 2361 :
|
||
; 2362 : return( TRUE );
|
||
|
||
0007b b8 01 00 00 00 mov eax, 1
|
||
$LN1@LoadString:
|
||
|
||
; 2363 : }
|
||
|
||
00080 5f pop edi
|
||
00081 5e pop esi
|
||
00082 5b pop ebx
|
||
00083 8b e5 mov esp, ebp
|
||
00085 5d pop ebp
|
||
00086 c2 08 00 ret 8
|
||
?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z
|
||
_TEXT SEGMENT
|
||
_hInstance$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_nID$ = 8 ; size = 4
|
||
?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 2336 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 48 sub esp, 72 ; 00000048H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 2337 : HINSTANCE hInstance = StringTraits::FindStringResourceInstance( nID );
|
||
|
||
0000c 8b 45 08 mov eax, DWORD PTR _nID$[ebp]
|
||
0000f 50 push eax
|
||
00010 e8 00 00 00 00 call ?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::FindStringResourceInstance
|
||
00015 83 c4 04 add esp, 4
|
||
00018 89 45 f8 mov DWORD PTR _hInstance$[ebp], eax
|
||
|
||
; 2338 : if( hInstance == NULL )
|
||
|
||
0001b 83 7d f8 00 cmp DWORD PTR _hInstance$[ebp], 0
|
||
0001f 75 04 jne SHORT $LN2@LoadString
|
||
|
||
; 2339 : {
|
||
; 2340 : return( FALSE );
|
||
|
||
00021 33 c0 xor eax, eax
|
||
00023 eb 10 jmp SHORT $LN1@LoadString
|
||
$LN2@LoadString:
|
||
|
||
; 2341 : }
|
||
; 2342 :
|
||
; 2343 : return( LoadString( hInstance, nID ) );
|
||
|
||
00025 8b 45 08 mov eax, DWORD PTR _nID$[ebp]
|
||
00028 50 push eax
|
||
00029 8b 4d f8 mov ecx, DWORD PTR _hInstance$[ebp]
|
||
0002c 51 push ecx
|
||
0002d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00030 e8 00 00 00 00 call ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
|
||
$LN1@LoadString:
|
||
|
||
; 2344 : }
|
||
|
||
00035 5f pop edi
|
||
00036 5e pop esi
|
||
00037 5b pop ebx
|
||
00038 8b e5 mov esp, ebp
|
||
0003a 5d pop ebp
|
||
0003b c2 04 00 ret 4
|
||
?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_pszSrc$ = 8 ; size = 4
|
||
??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 1318 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 1319 : CThisSimpleString::operator=( pszSrc );
|
||
|
||
0000c 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
0000f 50 push eax
|
||
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00013 e8 00 00 00 00 call ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::operator=
|
||
|
||
; 1320 :
|
||
; 1321 : return( *this );
|
||
|
||
00018 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
|
||
; 1322 : }
|
||
|
||
0001b 5f pop edi
|
||
0001c 5e pop esi
|
||
0001d 5b pop ebx
|
||
0001e 8b e5 mov esp, ebp
|
||
00020 5d pop ebp
|
||
00021 c2 04 00 ret 4
|
||
??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
|
||
_TEXT SEGMENT
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 1298 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 44 sub esp, 68 ; 00000044H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
|
||
0002b c7 45 fc 00 00
|
||
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
|
||
|
||
; 1299 : }
|
||
|
||
00032 c7 45 fc ff ff
|
||
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
|
||
00039 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
0003c e8 00 00 00 00 call ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
|
||
00041 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00044 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
0004b 59 pop ecx
|
||
0004c 5f pop edi
|
||
0004d 5e pop esi
|
||
0004e 5b pop ebx
|
||
0004f 8b e5 mov esp, ebp
|
||
00051 5d pop ebp
|
||
00052 c3 ret 0
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__unwindfunclet$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ$0:
|
||
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
|
||
00008 cc int 3
|
||
00009 cc int 3
|
||
0000a cc int 3
|
||
0000b cc int 3
|
||
0000c cc int 3
|
||
__ehhandler$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ:
|
||
0000d 90 npad 1
|
||
0000e 90 npad 1
|
||
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00016 8b 4a ac mov ecx, DWORD PTR [edx-84]
|
||
00019 33 c8 xor ecx, eax
|
||
0001b e8 00 00 00 00 call @__security_check_cookie@4
|
||
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
|
||
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_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\atlsimpstr.h
|
||
; COMDAT ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_nLength$ = 8 ; size = 4
|
||
?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::SetLength, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 867 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 868 : ATLASSERT( nLength >= 0 );
|
||
; 869 : ATLASSERT( nLength <= GetData()->nAllocLength );
|
||
; 870 :
|
||
; 871 : if( nLength < 0 || nLength > GetData()->nAllocLength)
|
||
|
||
0000c 83 7d 08 00 cmp DWORD PTR _nLength$[ebp], 0
|
||
00010 7c 10 jl SHORT $LN3@SetLength
|
||
00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00015 e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
0001a 8b 4d 08 mov ecx, DWORD PTR _nLength$[ebp]
|
||
0001d 3b 48 08 cmp ecx, DWORD PTR [eax+8]
|
||
00020 7e 0a jle SHORT $LN2@SetLength
|
||
$LN3@SetLength:
|
||
|
||
; 872 : AtlThrow(E_INVALIDARG);
|
||
|
||
00022 68 57 00 07 80 push -2147024809 ; 80070057H
|
||
00027 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN2@SetLength:
|
||
|
||
; 873 :
|
||
; 874 : GetData()->nDataLength = nLength;
|
||
|
||
0002c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0002f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
00034 8b 4d 08 mov ecx, DWORD PTR _nLength$[ebp]
|
||
00037 89 48 04 mov DWORD PTR [eax+4], ecx
|
||
|
||
; 875 : m_pszData[nLength] = 0;
|
||
|
||
0003a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0003d 8b 08 mov ecx, DWORD PTR [eax]
|
||
0003f 33 d2 xor edx, edx
|
||
00041 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
|
||
00044 66 89 14 41 mov WORD PTR [ecx+eax*2], dx
|
||
$LN4@SetLength:
|
||
|
||
; 876 : }
|
||
|
||
00048 5f pop edi
|
||
00049 5e pop esi
|
||
0004a 5b pop ebx
|
||
0004b 8b e5 mov esp, ebp
|
||
0004d 5d pop ebp
|
||
0004e c2 04 00 ret 4
|
||
?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::SetLength
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
|
||
_TEXT SEGMENT
|
||
tv78 = -84 ; size = 4
|
||
_pNewData$ = -16 ; size = 4
|
||
_pStringMgr$ = -12 ; size = 4
|
||
_pOldData$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_nLength$ = 8 ; size = 4
|
||
?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::Reallocate, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 849 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 54 sub esp, 84 ; 00000054H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 850 : CStringData* pOldData = GetData();
|
||
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
00014 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
|
||
|
||
; 851 : ATLASSERT( pOldData->nAllocLength < nLength );
|
||
; 852 : IAtlStringMgr* pStringMgr = pOldData->pStringMgr;
|
||
|
||
00017 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
0001a 8b 08 mov ecx, DWORD PTR [eax]
|
||
0001c 89 4d f4 mov DWORD PTR _pStringMgr$[ebp], ecx
|
||
|
||
; 853 : if ( pOldData->nAllocLength >= nLength || nLength <= 0)
|
||
|
||
0001f 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
00022 8b 48 08 mov ecx, DWORD PTR [eax+8]
|
||
00025 3b 4d 08 cmp ecx, DWORD PTR _nLength$[ebp]
|
||
00028 7d 06 jge SHORT $LN3@Reallocate
|
||
0002a 83 7d 08 00 cmp DWORD PTR _nLength$[ebp], 0
|
||
0002e 7f 07 jg SHORT $LN2@Reallocate
|
||
$LN3@Reallocate:
|
||
|
||
; 854 : {
|
||
; 855 : ThrowMemoryException();
|
||
|
||
00030 e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
|
||
|
||
; 856 : return;
|
||
|
||
00035 eb 35 jmp SHORT $LN5@Reallocate
|
||
$LN2@Reallocate:
|
||
|
||
; 857 : }
|
||
; 858 : CStringData* pNewData = pStringMgr->Reallocate( pOldData, nLength, sizeof( XCHAR ) );
|
||
|
||
00037 8b 45 f4 mov eax, DWORD PTR _pStringMgr$[ebp]
|
||
0003a 8b 08 mov ecx, DWORD PTR [eax]
|
||
0003c 8b 51 08 mov edx, DWORD PTR [ecx+8]
|
||
0003f 89 55 ac mov DWORD PTR tv78[ebp], edx
|
||
00042 6a 02 push 2
|
||
00044 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
|
||
00047 50 push eax
|
||
00048 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp]
|
||
0004b 51 push ecx
|
||
0004c 8b 4d f4 mov ecx, DWORD PTR _pStringMgr$[ebp]
|
||
0004f ff 55 ac call DWORD PTR tv78[ebp]
|
||
00052 89 45 f0 mov DWORD PTR _pNewData$[ebp], eax
|
||
|
||
; 859 : if( pNewData == NULL )
|
||
|
||
00055 83 7d f0 00 cmp DWORD PTR _pNewData$[ebp], 0
|
||
00059 75 05 jne SHORT $LN4@Reallocate
|
||
|
||
; 860 : {
|
||
; 861 : ThrowMemoryException();
|
||
|
||
0005b e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
|
||
$LN4@Reallocate:
|
||
|
||
; 862 : }
|
||
; 863 : Attach( pNewData );
|
||
|
||
00060 8b 45 f0 mov eax, DWORD PTR _pNewData$[ebp]
|
||
00063 50 push eax
|
||
00064 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00067 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
|
||
$LN5@Reallocate:
|
||
|
||
; 864 : }
|
||
|
||
0006c 5f pop edi
|
||
0006d 5e pop esi
|
||
0006e 5b pop ebx
|
||
0006f 8b e5 mov esp, ebp
|
||
00071 5d pop ebp
|
||
00072 c2 04 00 ret 4
|
||
?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::Reallocate
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
|
||
_TEXT SEGMENT
|
||
_nNewLength$1 = -12 ; size = 4
|
||
_pOldData$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_nLength$ = 8 ; size = 4
|
||
?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 818 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 4c sub esp, 76 ; 0000004cH
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 819 : CStringData* pOldData = GetData();
|
||
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
00014 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
|
||
|
||
; 820 : if( pOldData->nDataLength > nLength )
|
||
|
||
00017 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
0001a 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
0001d 3b 4d 08 cmp ecx, DWORD PTR _nLength$[ebp]
|
||
00020 7e 09 jle SHORT $LN2@PrepareWri
|
||
|
||
; 821 : {
|
||
; 822 : nLength = pOldData->nDataLength;
|
||
|
||
00022 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
00025 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
00028 89 4d 08 mov DWORD PTR _nLength$[ebp], ecx
|
||
$LN2@PrepareWri:
|
||
|
||
; 823 : }
|
||
; 824 : if( pOldData->IsShared() )
|
||
|
||
0002b 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp]
|
||
0002e e8 00 00 00 00 call ?IsShared@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsShared
|
||
00033 0f b6 c0 movzx eax, al
|
||
00036 85 c0 test eax, eax
|
||
00038 74 0e je SHORT $LN3@PrepareWri
|
||
|
||
; 825 : {
|
||
; 826 : Fork( nLength );
|
||
|
||
0003a 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
|
||
0003d 50 push eax
|
||
0003e 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00041 e8 00 00 00 00 call ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Fork
|
||
|
||
; 827 : }
|
||
|
||
00046 eb 52 jmp SHORT $LN1@PrepareWri
|
||
$LN3@PrepareWri:
|
||
|
||
; 828 : else if( pOldData->nAllocLength < nLength )
|
||
|
||
00048 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
0004b 8b 48 08 mov ecx, DWORD PTR [eax+8]
|
||
0004e 3b 4d 08 cmp ecx, DWORD PTR _nLength$[ebp]
|
||
00051 7d 47 jge SHORT $LN1@PrepareWri
|
||
|
||
; 829 : {
|
||
; 830 : // Grow exponentially, until we hit 1G, then by 1M thereafter.
|
||
; 831 : int nNewLength = pOldData->nAllocLength;
|
||
|
||
00053 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
00056 8b 48 08 mov ecx, DWORD PTR [eax+8]
|
||
00059 89 4d f4 mov DWORD PTR _nNewLength$1[ebp], ecx
|
||
|
||
; 832 : if( nNewLength > 1024 * 1024 * 1024 )
|
||
|
||
0005c 81 7d f4 00 00
|
||
00 40 cmp DWORD PTR _nNewLength$1[ebp], 1073741824 ; 40000000H
|
||
00063 7e 0d jle SHORT $LN6@PrepareWri
|
||
|
||
; 833 : {
|
||
; 834 : nNewLength += 1024 * 1024;
|
||
|
||
00065 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
|
||
00068 05 00 00 10 00 add eax, 1048576 ; 00100000H
|
||
0006d 89 45 f4 mov DWORD PTR _nNewLength$1[ebp], eax
|
||
|
||
; 835 : }
|
||
|
||
00070 eb 0e jmp SHORT $LN7@PrepareWri
|
||
$LN6@PrepareWri:
|
||
|
||
; 836 : else
|
||
; 837 : {
|
||
; 838 : // Exponential growth factor is 1.5.
|
||
; 839 : nNewLength = nNewLength + nNewLength / 2;
|
||
|
||
00072 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
|
||
00075 99 cdq
|
||
00076 2b c2 sub eax, edx
|
||
00078 d1 f8 sar eax, 1
|
||
0007a 03 45 f4 add eax, DWORD PTR _nNewLength$1[ebp]
|
||
0007d 89 45 f4 mov DWORD PTR _nNewLength$1[ebp], eax
|
||
$LN7@PrepareWri:
|
||
|
||
; 840 : }
|
||
; 841 : if( nNewLength < nLength )
|
||
|
||
00080 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
|
||
00083 3b 45 08 cmp eax, DWORD PTR _nLength$[ebp]
|
||
00086 7d 06 jge SHORT $LN8@PrepareWri
|
||
|
||
; 842 : {
|
||
; 843 : nNewLength = nLength;
|
||
|
||
00088 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
|
||
0008b 89 45 f4 mov DWORD PTR _nNewLength$1[ebp], eax
|
||
$LN8@PrepareWri:
|
||
|
||
; 844 : }
|
||
; 845 : Reallocate( nNewLength );
|
||
|
||
0008e 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
|
||
00091 50 push eax
|
||
00092 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00095 e8 00 00 00 00 call ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Reallocate
|
||
$LN1@PrepareWri:
|
||
|
||
; 846 : }
|
||
; 847 : }
|
||
|
||
0009a 5f pop edi
|
||
0009b 5e pop esi
|
||
0009c 5b pop ebx
|
||
0009d 8b e5 mov esp, ebp
|
||
0009f 5d pop ebp
|
||
000a0 c2 04 00 ret 4
|
||
?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z
|
||
_TEXT SEGMENT
|
||
_nTooShort$ = -16 ; size = 4
|
||
_nShared$ = -12 ; size = 4
|
||
_pOldData$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_nLength$ = 8 ; size = 4
|
||
?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 803 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 50 sub esp, 80 ; 00000050H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 804 : if (nLength < 0)
|
||
|
||
0000c 83 7d 08 00 cmp DWORD PTR _nLength$[ebp], 0
|
||
00010 7d 0a jge SHORT $LN2@PrepareWri
|
||
|
||
; 805 : AtlThrow(E_INVALIDARG);
|
||
|
||
00012 68 57 00 07 80 push -2147024809 ; 80070057H
|
||
00017 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN2@PrepareWri:
|
||
|
||
; 806 :
|
||
; 807 : CStringData* pOldData = GetData();
|
||
|
||
0001c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0001f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
00024 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
|
||
|
||
; 808 : int nShared = 1-pOldData->nRefs; // nShared < 0 means true, >= 0 means false
|
||
|
||
00027 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
0002a b9 01 00 00 00 mov ecx, 1
|
||
0002f 2b 48 0c sub ecx, DWORD PTR [eax+12]
|
||
00032 89 4d f4 mov DWORD PTR _nShared$[ebp], ecx
|
||
|
||
; 809 : int nTooShort = pOldData->nAllocLength-nLength; // nTooShort < 0 means true, >= 0 means false
|
||
|
||
00035 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
00038 8b 48 08 mov ecx, DWORD PTR [eax+8]
|
||
0003b 2b 4d 08 sub ecx, DWORD PTR _nLength$[ebp]
|
||
0003e 89 4d f0 mov DWORD PTR _nTooShort$[ebp], ecx
|
||
|
||
; 810 : if( (nShared|nTooShort) < 0 ) // If either sign bit is set (i.e. either is less than zero), we need to copy data
|
||
|
||
00041 8b 45 f4 mov eax, DWORD PTR _nShared$[ebp]
|
||
00044 0b 45 f0 or eax, DWORD PTR _nTooShort$[ebp]
|
||
00047 7d 0c jge SHORT $LN3@PrepareWri
|
||
|
||
; 811 : {
|
||
; 812 : PrepareWrite2( nLength );
|
||
|
||
00049 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
|
||
0004c 50 push eax
|
||
0004d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00050 e8 00 00 00 00 call ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2
|
||
$LN3@PrepareWri:
|
||
|
||
; 813 : }
|
||
; 814 :
|
||
; 815 : return( m_pszData );
|
||
|
||
00055 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00058 8b 00 mov eax, DWORD PTR [eax]
|
||
$LN4@PrepareWri:
|
||
|
||
; 816 : }
|
||
|
||
0005a 5f pop edi
|
||
0005b 5e pop esi
|
||
0005c 5b pop ebx
|
||
0005d 8b e5 mov esp, ebp
|
||
0005f 5d pop ebp
|
||
00060 c2 04 00 ret 4
|
||
?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ PROC ; ATL::CSimpleStringT<wchar_t,0>::GetData, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 799 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 800 : return( reinterpret_cast< CStringData* >( m_pszData )-1 );
|
||
|
||
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0000f 8b 00 mov eax, DWORD PTR [eax]
|
||
00011 83 e8 10 sub eax, 16 ; 00000010H
|
||
|
||
; 801 : }
|
||
|
||
00014 5f pop edi
|
||
00015 5e pop esi
|
||
00016 5b pop ebx
|
||
00017 8b e5 mov esp, ebp
|
||
00019 5d pop ebp
|
||
0001a c3 ret 0
|
||
?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
|
||
_TEXT SEGMENT
|
||
tv132 = -92 ; size = 4
|
||
tv83 = -92 ; size = 4
|
||
tv134 = -88 ; size = 4
|
||
tv86 = -88 ; size = 4
|
||
tv76 = -88 ; size = 4
|
||
_nCharsToCopy$ = -20 ; size = 4
|
||
_pNewData$ = -16 ; size = 4
|
||
_nOldLength$ = -12 ; size = 4
|
||
_pOldData$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_nLength$ = 8 ; size = 4
|
||
?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::Fork, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 783 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 5c sub esp, 92 ; 0000005cH
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 784 : CStringData* pOldData = GetData();
|
||
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
00014 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
|
||
|
||
; 785 : int nOldLength = pOldData->nDataLength;
|
||
|
||
00017 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
0001a 8b 48 04 mov ecx, DWORD PTR [eax+4]
|
||
0001d 89 4d f4 mov DWORD PTR _nOldLength$[ebp], ecx
|
||
|
||
; 786 : CStringData* pNewData = pOldData->pStringMgr->Clone()->Allocate( nLength, sizeof( XCHAR ) );
|
||
|
||
00020 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
|
||
00023 8b 08 mov ecx, DWORD PTR [eax]
|
||
00025 8b 55 f8 mov edx, DWORD PTR _pOldData$[ebp]
|
||
00028 8b 01 mov eax, DWORD PTR [ecx]
|
||
0002a 8b 0a mov ecx, DWORD PTR [edx]
|
||
0002c 8b 50 10 mov edx, DWORD PTR [eax+16]
|
||
0002f ff d2 call edx
|
||
00031 89 45 a8 mov DWORD PTR tv76[ebp], eax
|
||
00034 8b 45 a8 mov eax, DWORD PTR tv76[ebp]
|
||
00037 8b 08 mov ecx, DWORD PTR [eax]
|
||
00039 8b 11 mov edx, DWORD PTR [ecx]
|
||
0003b 89 55 a4 mov DWORD PTR tv83[ebp], edx
|
||
0003e 6a 02 push 2
|
||
00040 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
|
||
00043 50 push eax
|
||
00044 8b 4d a8 mov ecx, DWORD PTR tv76[ebp]
|
||
00047 ff 55 a4 call DWORD PTR tv83[ebp]
|
||
0004a 89 45 f0 mov DWORD PTR _pNewData$[ebp], eax
|
||
|
||
; 787 : if( pNewData == NULL )
|
||
|
||
0004d 83 7d f0 00 cmp DWORD PTR _pNewData$[ebp], 0
|
||
00051 75 05 jne SHORT $LN2@Fork
|
||
|
||
; 788 : {
|
||
; 789 : ThrowMemoryException();
|
||
|
||
00053 e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
|
||
$LN2@Fork:
|
||
|
||
; 790 : }
|
||
; 791 : int nCharsToCopy = ((nOldLength < nLength) ? nOldLength : nLength)+1; // Copy '\0'
|
||
|
||
00058 8b 45 f4 mov eax, DWORD PTR _nOldLength$[ebp]
|
||
0005b 3b 45 08 cmp eax, DWORD PTR _nLength$[ebp]
|
||
0005e 7d 08 jge SHORT $LN4@Fork
|
||
00060 8b 4d f4 mov ecx, DWORD PTR _nOldLength$[ebp]
|
||
00063 89 4d a8 mov DWORD PTR tv86[ebp], ecx
|
||
00066 eb 06 jmp SHORT $LN5@Fork
|
||
$LN4@Fork:
|
||
00068 8b 55 08 mov edx, DWORD PTR _nLength$[ebp]
|
||
0006b 89 55 a8 mov DWORD PTR tv86[ebp], edx
|
||
$LN5@Fork:
|
||
0006e 8b 45 a8 mov eax, DWORD PTR tv86[ebp]
|
||
00071 83 c0 01 add eax, 1
|
||
00074 89 45 ec mov DWORD PTR _nCharsToCopy$[ebp], eax
|
||
|
||
; 792 : memcpy_s( PXSTR( pNewData->data() ), nCharsToCopy * sizeof( XCHAR ),
|
||
|
||
00077 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp]
|
||
0007a e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
|
||
0007f 89 45 a8 mov DWORD PTR tv134[ebp], eax
|
||
00082 8b 4d f0 mov ecx, DWORD PTR _pNewData$[ebp]
|
||
00085 e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
|
||
0008a 89 45 a4 mov DWORD PTR tv132[ebp], eax
|
||
0008d 8b 45 ec mov eax, DWORD PTR _nCharsToCopy$[ebp]
|
||
00090 d1 e0 shl eax, 1
|
||
00092 50 push eax
|
||
00093 8b 4d a8 mov ecx, DWORD PTR tv134[ebp]
|
||
00096 51 push ecx
|
||
00097 8b 55 ec mov edx, DWORD PTR _nCharsToCopy$[ebp]
|
||
0009a d1 e2 shl edx, 1
|
||
0009c 52 push edx
|
||
0009d 8b 45 a4 mov eax, DWORD PTR tv132[ebp]
|
||
000a0 50 push eax
|
||
000a1 e8 00 00 00 00 call _memcpy_s
|
||
000a6 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 793 : PCXSTR( pOldData->data() ), nCharsToCopy * sizeof( XCHAR ));
|
||
; 794 : pNewData->nDataLength = nOldLength;
|
||
|
||
000a9 8b 45 f0 mov eax, DWORD PTR _pNewData$[ebp]
|
||
000ac 8b 4d f4 mov ecx, DWORD PTR _nOldLength$[ebp]
|
||
000af 89 48 04 mov DWORD PTR [eax+4], ecx
|
||
|
||
; 795 : pOldData->Release();
|
||
|
||
000b2 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp]
|
||
000b5 e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release
|
||
|
||
; 796 : Attach( pNewData );
|
||
|
||
000ba 8b 45 f0 mov eax, DWORD PTR _pNewData$[ebp]
|
||
000bd 50 push eax
|
||
000be 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
000c1 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
|
||
$LN3@Fork:
|
||
|
||
; 797 : }
|
||
|
||
000c6 5f pop edi
|
||
000c7 5e pop esi
|
||
000c8 5b pop ebx
|
||
000c9 8b e5 mov esp, ebp
|
||
000cb 5d pop ebp
|
||
000cc c2 04 00 ret 4
|
||
?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::Fork
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_pData$ = 8 ; size = 4
|
||
?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::Attach, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 779 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 780 : m_pszData = static_cast< PXSTR >( pData->data() );
|
||
|
||
0000c 8b 4d 08 mov ecx, DWORD PTR _pData$[ebp]
|
||
0000f e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
|
||
00014 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00017 89 01 mov DWORD PTR [ecx], eax
|
||
|
||
; 781 : }
|
||
|
||
00019 5f pop edi
|
||
0001a 5e pop esi
|
||
0001b 5b pop ebx
|
||
0001c 8b e5 mov esp, ebp
|
||
0001e 5d pop ebp
|
||
0001f c2 04 00 ret 4
|
||
?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::Attach
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ
|
||
_TEXT SEGMENT
|
||
?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException, COMDAT
|
||
|
||
; 772 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 40 sub esp, 64 ; 00000040H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
|
||
; 773 : AtlThrow( E_OUTOFMEMORY );
|
||
|
||
00009 68 0e 00 07 80 push -2147024882 ; 8007000eH
|
||
0000e e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN2@ThrowMemor:
|
||
|
||
; 774 : }
|
||
|
||
00013 5f pop edi
|
||
00014 5e pop esi
|
||
00015 5b pop ebx
|
||
00016 8b e5 mov esp, ebp
|
||
00018 5d pop ebp
|
||
00019 c3 ret 0
|
||
?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z
|
||
_TEXT SEGMENT
|
||
__$EHRec$ = -12 ; size = 12
|
||
_psz$ = 8 ; size = 4
|
||
?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::StringLength, COMDAT
|
||
|
||
; 729 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 40 sub esp, 64 ; 00000040H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
|
||
; 730 : if( psz == NULL )
|
||
|
||
00028 83 7d 08 00 cmp DWORD PTR _psz$[ebp], 0
|
||
0002c 75 04 jne SHORT $LN2@StringLeng
|
||
|
||
; 731 : {
|
||
; 732 : return( 0 );
|
||
|
||
0002e 33 c0 xor eax, eax
|
||
00030 eb 0c jmp SHORT $LN1@StringLeng
|
||
$LN2@StringLeng:
|
||
|
||
; 733 : }
|
||
; 734 : return( int( wcslen( psz ) ) );
|
||
|
||
00032 8b 45 08 mov eax, DWORD PTR _psz$[ebp]
|
||
00035 50 push eax
|
||
00036 e8 00 00 00 00 call _wcslen
|
||
0003b 83 c4 04 add esp, 4
|
||
$LN1@StringLeng:
|
||
|
||
; 735 : }
|
||
|
||
0003e 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00041 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00048 59 pop ecx
|
||
00049 5f pop edi
|
||
0004a 5e pop esi
|
||
0004b 5b pop ebx
|
||
0004c 8b e5 mov esp, ebp
|
||
0004e 5d pop ebp
|
||
0004f c3 ret 0
|
||
00050 cc int 3
|
||
00051 cc int 3
|
||
00052 cc int 3
|
||
00053 cc int 3
|
||
00054 cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::StringLength
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z
|
||
_TEXT SEGMENT
|
||
__$EHRec$ = -12 ; size = 12
|
||
_pchDest$ = 8 ; size = 4
|
||
_nDestLen$ = 12 ; size = 4
|
||
_pchSrc$ = 16 ; size = 4
|
||
_nChars$ = 20 ; size = 4
|
||
?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::CopyCharsOverlapped, COMDAT
|
||
|
||
; 716 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 40 sub esp, 64 ; 00000040H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
|
||
; 717 : memmove_s( pchDest, nDestLen*sizeof( XCHAR ),
|
||
|
||
00028 8b 45 14 mov eax, DWORD PTR _nChars$[ebp]
|
||
0002b d1 e0 shl eax, 1
|
||
0002d 50 push eax
|
||
0002e 8b 4d 10 mov ecx, DWORD PTR _pchSrc$[ebp]
|
||
00031 51 push ecx
|
||
00032 8b 55 0c mov edx, DWORD PTR _nDestLen$[ebp]
|
||
00035 d1 e2 shl edx, 1
|
||
00037 52 push edx
|
||
00038 8b 45 08 mov eax, DWORD PTR _pchDest$[ebp]
|
||
0003b 50 push eax
|
||
0003c e8 00 00 00 00 call _memmove_s
|
||
00041 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 718 : pchSrc, nChars*sizeof( XCHAR ) );
|
||
; 719 : }
|
||
|
||
00044 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00047 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
0004e 59 pop ecx
|
||
0004f 5f pop edi
|
||
00050 5e pop esi
|
||
00051 5b pop ebx
|
||
00052 8b e5 mov esp, ebp
|
||
00054 5d pop ebp
|
||
00055 c3 ret 0
|
||
00056 cc int 3
|
||
00057 cc int 3
|
||
00058 cc int 3
|
||
00059 cc int 3
|
||
0005a cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::CopyCharsOverlapped
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z
|
||
_TEXT SEGMENT
|
||
_pszBuffer$1 = -16 ; size = 4
|
||
_nOffset$2 = -12 ; size = 4
|
||
_nOldLength$3 = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_pszSrc$ = 8 ; size = 4
|
||
_nLength$ = 12 ; size = 4
|
||
?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::SetString, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 607 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 50 sub esp, 80 ; 00000050H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 608 : if( nLength == 0 )
|
||
|
||
0000c 83 7d 0c 00 cmp DWORD PTR _nLength$[ebp], 0
|
||
00010 75 0d jne SHORT $LN2@SetString
|
||
|
||
; 609 : {
|
||
; 610 : Empty();
|
||
|
||
00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00015 e8 00 00 00 00 call ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ ; ATL::CSimpleStringT<wchar_t,0>::Empty
|
||
|
||
; 611 : }
|
||
|
||
0001a e9 96 00 00 00 jmp $LN7@SetString
|
||
$LN2@SetString:
|
||
|
||
; 612 : else
|
||
; 613 : {
|
||
; 614 : // It is possible that pszSrc points to a location inside of our
|
||
; 615 : // buffer. GetBuffer() might change m_pszData if (1) the buffer
|
||
; 616 : // is shared or (2) the buffer is too small to hold the new
|
||
; 617 : // string. We detect this aliasing, and modify pszSrc to point
|
||
; 618 : // into the newly allocated buffer instead.
|
||
; 619 :
|
||
; 620 : if(pszSrc == NULL)
|
||
|
||
0001f 83 7d 08 00 cmp DWORD PTR _pszSrc$[ebp], 0
|
||
00023 75 0a jne SHORT $LN4@SetString
|
||
|
||
; 621 : AtlThrow(E_INVALIDARG);
|
||
|
||
00025 68 57 00 07 80 push -2147024809 ; 80070057H
|
||
0002a e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN4@SetString:
|
||
|
||
; 622 :
|
||
; 623 : UINT nOldLength = GetLength();
|
||
|
||
0002f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00032 e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
|
||
00037 89 45 f8 mov DWORD PTR _nOldLength$3[ebp], eax
|
||
|
||
; 624 : UINT_PTR nOffset = pszSrc-GetString();
|
||
|
||
0003a 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0003d e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
|
||
00042 8b 4d 08 mov ecx, DWORD PTR _pszSrc$[ebp]
|
||
00045 2b c8 sub ecx, eax
|
||
00047 d1 f9 sar ecx, 1
|
||
00049 89 4d f4 mov DWORD PTR _nOffset$2[ebp], ecx
|
||
|
||
; 625 : // If 0 <= nOffset <= nOldLength, then pszSrc points into our
|
||
; 626 : // buffer
|
||
; 627 :
|
||
; 628 : PXSTR pszBuffer = GetBuffer( nLength );
|
||
|
||
0004c 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
0004f 50 push eax
|
||
00050 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00053 e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
|
||
00058 89 45 f0 mov DWORD PTR _pszBuffer$1[ebp], eax
|
||
|
||
; 629 : if( nOffset <= nOldLength )
|
||
|
||
0005b 8b 45 f4 mov eax, DWORD PTR _nOffset$2[ebp]
|
||
0005e 3b 45 f8 cmp eax, DWORD PTR _nOldLength$3[ebp]
|
||
00061 77 25 ja SHORT $LN5@SetString
|
||
|
||
; 630 : {
|
||
; 631 : CopyCharsOverlapped( pszBuffer, GetAllocLength(),
|
||
|
||
00063 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
00066 50 push eax
|
||
00067 8b 4d f4 mov ecx, DWORD PTR _nOffset$2[ebp]
|
||
0006a 8b 55 f0 mov edx, DWORD PTR _pszBuffer$1[ebp]
|
||
0006d 8d 04 4a lea eax, DWORD PTR [edx+ecx*2]
|
||
00070 50 push eax
|
||
00071 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00074 e8 00 00 00 00 call ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength
|
||
00079 50 push eax
|
||
0007a 8b 4d f0 mov ecx, DWORD PTR _pszBuffer$1[ebp]
|
||
0007d 51 push ecx
|
||
0007e e8 00 00 00 00 call ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::CopyCharsOverlapped
|
||
00083 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 632 : pszBuffer+nOffset, nLength );
|
||
; 633 : }
|
||
|
||
00086 eb 21 jmp SHORT $LN6@SetString
|
||
$LN5@SetString:
|
||
|
||
; 634 : else
|
||
; 635 : {
|
||
; 636 : memcpy_s( pszBuffer, GetAllocLength() * sizeof( XCHAR ), pszSrc, nLength * sizeof( XCHAR ));
|
||
|
||
00088 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
0008b d1 e0 shl eax, 1
|
||
0008d 50 push eax
|
||
0008e 8b 4d 08 mov ecx, DWORD PTR _pszSrc$[ebp]
|
||
00091 51 push ecx
|
||
00092 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00095 e8 00 00 00 00 call ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength
|
||
0009a d1 e0 shl eax, 1
|
||
0009c 50 push eax
|
||
0009d 8b 55 f0 mov edx, DWORD PTR _pszBuffer$1[ebp]
|
||
000a0 52 push edx
|
||
000a1 e8 00 00 00 00 call _memcpy_s
|
||
000a6 83 c4 10 add esp, 16 ; 00000010H
|
||
$LN6@SetString:
|
||
|
||
; 637 : }
|
||
; 638 : ReleaseBufferSetLength( nLength );
|
||
|
||
000a9 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
000ac 50 push eax
|
||
000ad 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
000b0 e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
|
||
$LN7@SetString:
|
||
|
||
; 639 : }
|
||
; 640 : }
|
||
|
||
000b5 5f pop edi
|
||
000b6 5e pop esi
|
||
000b7 5b pop ebx
|
||
000b8 8b e5 mov esp, ebp
|
||
000ba 5d pop ebp
|
||
000bb c2 08 00 ret 8
|
||
?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::SetString
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_pszSrc$ = 8 ; size = 4
|
||
?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::SetString, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 601 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 602 : SetString( pszSrc, StringLength( pszSrc ) );
|
||
|
||
0000c 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
0000f 50 push eax
|
||
00010 e8 00 00 00 00 call ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::StringLength
|
||
00015 83 c4 04 add esp, 4
|
||
00018 50 push eax
|
||
00019 8b 4d 08 mov ecx, DWORD PTR _pszSrc$[ebp]
|
||
0001c 51 push ecx
|
||
0001d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00020 e8 00 00 00 00 call ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString
|
||
|
||
; 603 : }
|
||
|
||
00025 5f pop edi
|
||
00026 5e pop esi
|
||
00027 5b pop ebx
|
||
00028 8b e5 mov esp, ebp
|
||
0002a 5d pop ebp
|
||
0002b c2 04 00 ret 4
|
||
?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::SetString
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_nNewLength$ = 8 ; size = 4
|
||
?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 566 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 567 : ATLASSERT( nNewLength >= 0 );
|
||
; 568 : SetLength( nNewLength );
|
||
|
||
0000c 8b 45 08 mov eax, DWORD PTR _nNewLength$[ebp]
|
||
0000f 50 push eax
|
||
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00013 e8 00 00 00 00 call ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetLength
|
||
|
||
; 569 : }
|
||
|
||
00018 5f pop edi
|
||
00019 5e pop esi
|
||
0001a 5b pop ebx
|
||
0001b 8b e5 mov esp, ebp
|
||
0001d 5d pop ebp
|
||
0001e c2 04 00 ret 4
|
||
?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::GetString, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 528 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 529 : return( m_pszData );
|
||
|
||
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0000f 8b 00 mov eax, DWORD PTR [eax]
|
||
|
||
; 530 : }
|
||
|
||
00011 5f pop edi
|
||
00012 5e pop esi
|
||
00013 5b pop ebx
|
||
00014 8b e5 mov esp, ebp
|
||
00016 5d pop ebp
|
||
00017 c3 ret 0
|
||
?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetString
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::GetLength, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 518 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 519 : return( GetData()->nDataLength );
|
||
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
00014 8b 40 04 mov eax, DWORD PTR [eax+4]
|
||
|
||
; 520 : }
|
||
|
||
00017 5f pop edi
|
||
00018 5e pop esi
|
||
00019 5b pop ebx
|
||
0001a 8b e5 mov esp, ebp
|
||
0001c 5d pop ebp
|
||
0001d c3 ret 0
|
||
?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetLength
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_nMinBufferLength$ = 8 ; size = 4
|
||
?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 507 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 508 : return( PrepareWrite( nMinBufferLength ) );
|
||
|
||
0000c 8b 45 08 mov eax, DWORD PTR _nMinBufferLength$[ebp]
|
||
0000f 50 push eax
|
||
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00013 e8 00 00 00 00 call ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite
|
||
|
||
; 509 : }
|
||
|
||
00018 5f pop edi
|
||
00019 5e pop esi
|
||
0001a 5b pop ebx
|
||
0001b 8b e5 mov esp, ebp
|
||
0001d 5d pop ebp
|
||
0001e c2 04 00 ret 4
|
||
?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 485 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 486 : return( GetData()->nAllocLength );
|
||
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
00014 8b 40 08 mov eax, DWORD PTR [eax+8]
|
||
|
||
; 487 : }
|
||
|
||
00017 5f pop edi
|
||
00018 5e pop esi
|
||
00019 5b pop ebx
|
||
0001a 8b e5 mov esp, ebp
|
||
0001c 5d pop ebp
|
||
0001d c3 ret 0
|
||
?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ
|
||
_TEXT SEGMENT
|
||
_pNewData$2 = -28 ; size = 4
|
||
_pStringMgr$ = -24 ; size = 4
|
||
_pOldData$ = -20 ; size = 4
|
||
_this$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::Empty, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 436 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 50 sub esp, 80 ; 00000050H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 437 : CStringData* pOldData = GetData();
|
||
|
||
0002b 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
0002e e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
00033 89 45 ec mov DWORD PTR _pOldData$[ebp], eax
|
||
|
||
; 438 : IAtlStringMgr* pStringMgr = pOldData->pStringMgr;
|
||
|
||
00036 8b 45 ec mov eax, DWORD PTR _pOldData$[ebp]
|
||
00039 8b 08 mov ecx, DWORD PTR [eax]
|
||
0003b 89 4d e8 mov DWORD PTR _pStringMgr$[ebp], ecx
|
||
|
||
; 439 : if( pOldData->nDataLength == 0 )
|
||
|
||
0003e 8b 45 ec mov eax, DWORD PTR _pOldData$[ebp]
|
||
00041 83 78 04 00 cmp DWORD PTR [eax+4], 0
|
||
00045 75 02 jne SHORT $LN2@Empty
|
||
|
||
; 440 : {
|
||
; 441 : return;
|
||
|
||
00047 eb 3f jmp SHORT $LN1@Empty
|
||
$LN2@Empty:
|
||
|
||
; 442 : }
|
||
; 443 :
|
||
; 444 : if( pOldData->IsLocked() )
|
||
|
||
00049 8b 4d ec mov ecx, DWORD PTR _pOldData$[ebp]
|
||
0004c e8 00 00 00 00 call ?IsLocked@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsLocked
|
||
00051 0f b6 c0 movzx eax, al
|
||
00054 85 c0 test eax, eax
|
||
00056 74 0c je SHORT $LN3@Empty
|
||
|
||
; 445 : {
|
||
; 446 : // Don't reallocate a locked buffer that's shrinking
|
||
; 447 : SetLength( 0 );
|
||
|
||
00058 6a 00 push 0
|
||
0005a 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
0005d e8 00 00 00 00 call ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetLength
|
||
|
||
; 448 : }
|
||
|
||
00062 eb 24 jmp SHORT $LN1@Empty
|
||
$LN3@Empty:
|
||
|
||
; 449 : else
|
||
; 450 : {
|
||
; 451 : pOldData->Release();
|
||
|
||
00064 8b 4d ec mov ecx, DWORD PTR _pOldData$[ebp]
|
||
00067 e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release
|
||
|
||
; 452 : CStringData* pNewData = pStringMgr->GetNilString();
|
||
|
||
0006c 8b 45 e8 mov eax, DWORD PTR _pStringMgr$[ebp]
|
||
0006f 8b 10 mov edx, DWORD PTR [eax]
|
||
00071 8b 4d e8 mov ecx, DWORD PTR _pStringMgr$[ebp]
|
||
00074 8b 42 0c mov eax, DWORD PTR [edx+12]
|
||
00077 ff d0 call eax
|
||
00079 89 45 e4 mov DWORD PTR _pNewData$2[ebp], eax
|
||
|
||
; 453 : Attach( pNewData );
|
||
|
||
0007c 8b 45 e4 mov eax, DWORD PTR _pNewData$2[ebp]
|
||
0007f 50 push eax
|
||
00080 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
|
||
00083 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
|
||
$LN1@Empty:
|
||
|
||
; 454 : }
|
||
; 455 : }
|
||
|
||
00088 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0008b 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00092 59 pop ecx
|
||
00093 5f pop edi
|
||
00094 5e pop esi
|
||
00095 5b pop ebx
|
||
00096 8b e5 mov esp, ebp
|
||
00098 5d pop ebp
|
||
00099 c3 ret 0
|
||
0009a cc int 3
|
||
0009b cc int 3
|
||
0009c cc int 3
|
||
0009d cc int 3
|
||
0009e cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a a0 mov ecx, DWORD PTR [edx-96]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::Empty
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
_pszSrc$ = 8 ; size = 4
|
||
??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::operator=, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 313 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 314 : SetString( pszSrc );
|
||
|
||
0000c 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
0000f 50 push eax
|
||
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00013 e8 00 00 00 00 call ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString
|
||
|
||
; 315 :
|
||
; 316 : return( *this );
|
||
|
||
00018 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
|
||
; 317 : }
|
||
|
||
0001b 5f pop edi
|
||
0001c 5e pop esi
|
||
0001d 5b pop ebx
|
||
0001e 8b e5 mov esp, ebp
|
||
00020 5d pop ebp
|
||
00021 c2 04 00 ret 4
|
||
??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::operator=
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ
|
||
_TEXT SEGMENT
|
||
_pData$ = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ PROC ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 260 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 48 sub esp, 72 ; 00000048H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 261 : CStringData* pData = GetData();
|
||
|
||
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
|
||
00014 89 45 f8 mov DWORD PTR _pData$[ebp], eax
|
||
|
||
; 262 : pData->Release();
|
||
|
||
00017 8b 4d f8 mov ecx, DWORD PTR _pData$[ebp]
|
||
0001a e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release
|
||
|
||
; 263 : }
|
||
|
||
0001f 5f pop edi
|
||
00020 5e pop esi
|
||
00021 5b pop ebx
|
||
00022 8b e5 mov esp, ebp
|
||
00024 5d pop ebp
|
||
00025 c3 ret 0
|
||
??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z
|
||
_TEXT SEGMENT
|
||
tv65 = -80 ; size = 4
|
||
_pData$ = -12 ; size = 4
|
||
___atl_condVal$1 = -8 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
_pStringMgr$ = 8 ; size = 4
|
||
??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 203 : explicit CSimpleStringT(_Inout_ IAtlStringMgr* pStringMgr)
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 50 sub esp, 80 ; 00000050H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
$LN4@CSimpleStr:
|
||
|
||
; 204 : {
|
||
; 205 : ATLENSURE( pStringMgr != NULL );
|
||
|
||
0000c 83 7d 08 00 cmp DWORD PTR _pStringMgr$[ebp], 0
|
||
00010 74 09 je SHORT $LN10@CSimpleStr
|
||
00012 c7 45 b0 01 00
|
||
00 00 mov DWORD PTR tv65[ebp], 1
|
||
00019 eb 07 jmp SHORT $LN11@CSimpleStr
|
||
$LN10@CSimpleStr:
|
||
0001b c7 45 b0 00 00
|
||
00 00 mov DWORD PTR tv65[ebp], 0
|
||
$LN11@CSimpleStr:
|
||
00022 8b 45 b0 mov eax, DWORD PTR tv65[ebp]
|
||
00025 89 45 f8 mov DWORD PTR ___atl_condVal$1[ebp], eax
|
||
$LN5@CSimpleStr:
|
||
00028 33 c0 xor eax, eax
|
||
0002a 75 fc jne SHORT $LN5@CSimpleStr
|
||
0002c 83 7d f8 00 cmp DWORD PTR ___atl_condVal$1[ebp], 0
|
||
00030 75 0a jne SHORT $LN2@CSimpleStr
|
||
00032 68 05 40 00 80 push -2147467259 ; 80004005H
|
||
00037 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
|
||
$LN2@CSimpleStr:
|
||
0003c 33 c0 xor eax, eax
|
||
0003e 75 cc jne SHORT $LN4@CSimpleStr
|
||
|
||
; 206 : CStringData* pData = pStringMgr->GetNilString();
|
||
|
||
00040 8b 45 08 mov eax, DWORD PTR _pStringMgr$[ebp]
|
||
00043 8b 10 mov edx, DWORD PTR [eax]
|
||
00045 8b 4d 08 mov ecx, DWORD PTR _pStringMgr$[ebp]
|
||
00048 8b 42 0c mov eax, DWORD PTR [edx+12]
|
||
0004b ff d0 call eax
|
||
0004d 89 45 f4 mov DWORD PTR _pData$[ebp], eax
|
||
|
||
; 207 : Attach( pData );
|
||
|
||
00050 8b 45 f4 mov eax, DWORD PTR _pData$[ebp]
|
||
00053 50 push eax
|
||
00054 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
||
00057 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
|
||
|
||
; 208 : }
|
||
|
||
0005c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
$LN9@CSimpleStr:
|
||
0005f 5f pop edi
|
||
00060 5e pop esi
|
||
00061 5b pop ebx
|
||
00062 8b e5 mov esp, ebp
|
||
00064 5d pop ebp
|
||
00065 c2 04 00 ret 4
|
||
??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z
|
||
_TEXT SEGMENT
|
||
_pszDest$ = 8 ; size = 4
|
||
_nDestLength$ = 12 ; size = 4
|
||
_pszSrc$ = 16 ; size = 4
|
||
_nSrcLength$ = 20 ; size = 4
|
||
?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z PROC ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType, COMDAT
|
||
|
||
; 789 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 40 sub esp, 64 ; 00000040H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
|
||
; 790 : if (nSrcLength == -1) { nSrcLength=1 + GetBaseTypeLength(pszSrc); }
|
||
|
||
00009 83 7d 14 ff cmp DWORD PTR _nSrcLength$[ebp], -1
|
||
0000d 75 12 jne SHORT $LN2@ConvertToB
|
||
0000f 8b 45 10 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
00012 50 push eax
|
||
00013 e8 00 00 00 00 call ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
|
||
00018 83 c4 04 add esp, 4
|
||
0001b 83 c0 01 add eax, 1
|
||
0001e 89 45 14 mov DWORD PTR _nSrcLength$[ebp], eax
|
||
$LN2@ConvertToB:
|
||
|
||
; 791 : // nLen is in wchar_ts
|
||
; 792 : Checked::wmemcpy_s(pszDest, nDestLength, pszSrc, nSrcLength);
|
||
|
||
00021 8b 45 14 mov eax, DWORD PTR _nSrcLength$[ebp]
|
||
00024 50 push eax
|
||
00025 8b 4d 10 mov ecx, DWORD PTR _pszSrc$[ebp]
|
||
00028 51 push ecx
|
||
00029 8b 55 0c mov edx, DWORD PTR _nDestLength$[ebp]
|
||
0002c 52 push edx
|
||
0002d 8b 45 08 mov eax, DWORD PTR _pszDest$[ebp]
|
||
00030 50 push eax
|
||
00031 e8 00 00 00 00 call ?wmemcpy_s@Checked@ATL@@YAXPA_WIPB_WI@Z ; ATL::Checked::wmemcpy_s
|
||
00036 83 c4 10 add esp, 16 ; 00000010H
|
||
|
||
; 793 : }
|
||
|
||
00039 5f pop edi
|
||
0003a 5e pop esi
|
||
0003b 5b pop ebx
|
||
0003c 8b e5 mov esp, ebp
|
||
0003e 5d pop ebp
|
||
0003f c3 ret 0
|
||
?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z
|
||
_TEXT SEGMENT
|
||
_pszSrc$ = 8 ; size = 4
|
||
_nLength$ = 12 ; size = 4
|
||
?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z PROC ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength, COMDAT
|
||
|
||
; 768 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 40 sub esp, 64 ; 00000040H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
|
||
; 769 : (void)pszSrc;
|
||
; 770 : // Returns required buffer size in wchar_ts
|
||
; 771 : return nLength;
|
||
|
||
00009 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
|
||
|
||
; 772 : }
|
||
|
||
0000c 5f pop edi
|
||
0000d 5e pop esi
|
||
0000e 5b pop ebx
|
||
0000f 8b e5 mov esp, ebp
|
||
00011 5d pop ebp
|
||
00012 c3 ret 0
|
||
?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
|
||
; COMDAT ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z
|
||
_TEXT SEGMENT
|
||
__$EHRec$ = -12 ; size = 12
|
||
_pszSrc$ = 8 ; size = 4
|
||
?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z PROC ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength, COMDAT
|
||
|
||
; 760 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 40 sub esp, 64 ; 00000040H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
|
||
; 761 : // Returns required buffer size in wchar_ts
|
||
; 762 : return AtlStrLen( pszSrc );
|
||
|
||
00028 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
|
||
0002b 50 push eax
|
||
0002c e8 00 00 00 00 call ?AtlStrLen@ATL@@YAHPB_W@Z ; ATL::AtlStrLen
|
||
00031 83 c4 04 add esp, 4
|
||
|
||
; 763 : }
|
||
|
||
00034 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
00037 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
0003e 59 pop ecx
|
||
0003f 5f pop edi
|
||
00040 5e pop esi
|
||
00041 5b pop ebx
|
||
00042 8b e5 mov esp, ebp
|
||
00044 5d pop ebp
|
||
00045 c3 ret 0
|
||
00046 cc int 3
|
||
00047 cc int 3
|
||
00048 cc int 3
|
||
00049 cc int 3
|
||
0004a cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?Release@CStringData@ATL@@QAEXXZ
|
||
_TEXT SEGMENT
|
||
tv79 = -76 ; size = 4
|
||
tv77 = -72 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
?Release@CStringData@ATL@@QAEXXZ PROC ; ATL::CStringData::Release, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 85 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 4c sub esp, 76 ; 0000004cH
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 86 : ATLASSERT( nRefs != 0 );
|
||
; 87 :
|
||
; 88 : if( _InterlockedDecrement( &nRefs ) <= 0 )
|
||
|
||
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0000f 83 c0 0c add eax, 12 ; 0000000cH
|
||
00012 83 c9 ff or ecx, -1
|
||
00015 f0 0f c1 08 lock xadd DWORD PTR [eax], ecx
|
||
00019 49 dec ecx
|
||
0001a 85 c9 test ecx, ecx
|
||
0001c 7f 1f jg SHORT $LN1@Release
|
||
|
||
; 89 : {
|
||
; 90 : pStringMgr->Free( this );
|
||
|
||
0001e 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00021 8b 08 mov ecx, DWORD PTR [eax]
|
||
00023 89 4d b8 mov DWORD PTR tv77[ebp], ecx
|
||
00026 8b 55 fc mov edx, DWORD PTR _this$[ebp]
|
||
00029 8b 02 mov eax, DWORD PTR [edx]
|
||
0002b 8b 08 mov ecx, DWORD PTR [eax]
|
||
0002d 8b 51 04 mov edx, DWORD PTR [ecx+4]
|
||
00030 89 55 b4 mov DWORD PTR tv79[ebp], edx
|
||
00033 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
00036 50 push eax
|
||
00037 8b 4d b8 mov ecx, DWORD PTR tv77[ebp]
|
||
0003a ff 55 b4 call DWORD PTR tv79[ebp]
|
||
$LN1@Release:
|
||
|
||
; 91 : }
|
||
; 92 : }
|
||
|
||
0003d 5f pop edi
|
||
0003e 5e pop esi
|
||
0003f 5b pop ebx
|
||
00040 8b e5 mov esp, ebp
|
||
00042 5d pop ebp
|
||
00043 c3 ret 0
|
||
?Release@CStringData@ATL@@QAEXXZ ENDP ; ATL::CStringData::Release
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?IsShared@CStringData@ATL@@QBE_NXZ
|
||
_TEXT SEGMENT
|
||
tv66 = -72 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
?IsShared@CStringData@ATL@@QBE_NXZ PROC ; ATL::CStringData::IsShared, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 72 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 48 sub esp, 72 ; 00000048H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 73 : return( nRefs > 1 );
|
||
|
||
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0000f 83 78 0c 01 cmp DWORD PTR [eax+12], 1
|
||
00013 7e 09 jle SHORT $LN3@IsShared
|
||
00015 c7 45 b8 01 00
|
||
00 00 mov DWORD PTR tv66[ebp], 1
|
||
0001c eb 07 jmp SHORT $LN4@IsShared
|
||
$LN3@IsShared:
|
||
0001e c7 45 b8 00 00
|
||
00 00 mov DWORD PTR tv66[ebp], 0
|
||
$LN4@IsShared:
|
||
00025 8a 45 b8 mov al, BYTE PTR tv66[ebp]
|
||
|
||
; 74 : }
|
||
|
||
00028 5f pop edi
|
||
00029 5e pop esi
|
||
0002a 5b pop ebx
|
||
0002b 8b e5 mov esp, ebp
|
||
0002d 5d pop ebp
|
||
0002e c3 ret 0
|
||
?IsShared@CStringData@ATL@@QBE_NXZ ENDP ; ATL::CStringData::IsShared
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?IsLocked@CStringData@ATL@@QBE_NXZ
|
||
_TEXT SEGMENT
|
||
tv66 = -72 ; size = 4
|
||
_this$ = -4 ; size = 4
|
||
?IsLocked@CStringData@ATL@@QBE_NXZ PROC ; ATL::CStringData::IsLocked, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 68 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 48 sub esp, 72 ; 00000048H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 69 : return nRefs < 0;
|
||
|
||
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0000f 83 78 0c 00 cmp DWORD PTR [eax+12], 0
|
||
00013 7d 09 jge SHORT $LN3@IsLocked
|
||
00015 c7 45 b8 01 00
|
||
00 00 mov DWORD PTR tv66[ebp], 1
|
||
0001c eb 07 jmp SHORT $LN4@IsLocked
|
||
$LN3@IsLocked:
|
||
0001e c7 45 b8 00 00
|
||
00 00 mov DWORD PTR tv66[ebp], 0
|
||
$LN4@IsLocked:
|
||
00025 8a 45 b8 mov al, BYTE PTR tv66[ebp]
|
||
|
||
; 70 : }
|
||
|
||
00028 5f pop edi
|
||
00029 5e pop esi
|
||
0002a 5b pop ebx
|
||
0002b 8b e5 mov esp, ebp
|
||
0002d 5d pop ebp
|
||
0002e c3 ret 0
|
||
?IsLocked@CStringData@ATL@@QBE_NXZ ENDP ; ATL::CStringData::IsLocked
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
|
||
; COMDAT ?data@CStringData@ATL@@QAEPAXXZ
|
||
_TEXT SEGMENT
|
||
_this$ = -4 ; size = 4
|
||
?data@CStringData@ATL@@QAEPAXXZ PROC ; ATL::CStringData::data, COMDAT
|
||
; _this$ = ecx
|
||
|
||
; 58 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
||
|
||
; 59 : return (this+1);
|
||
|
||
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
|
||
0000f 83 c0 10 add eax, 16 ; 00000010H
|
||
|
||
; 60 : }
|
||
|
||
00012 5f pop edi
|
||
00013 5e pop esi
|
||
00014 5b pop ebx
|
||
00015 8b e5 mov esp, ebp
|
||
00017 5d pop ebp
|
||
00018 c3 ret 0
|
||
?data@CStringData@ATL@@QAEPAXXZ ENDP ; ATL::CStringData::data
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlcore.h
|
||
; COMDAT ?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z
|
||
_TEXT SEGMENT
|
||
_hResource$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
_hInstance$ = 8 ; size = 4
|
||
_id$ = 12 ; size = 4
|
||
?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z PROC ; ATL::AtlGetStringResourceImage, COMDAT
|
||
|
||
; 370 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 44 sub esp, 68 ; 00000044H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
|
||
; 371 : HRSRC hResource;
|
||
; 372 : /*
|
||
; 373 : The and operation (& static_cast<WORD>(~0)) protects the expression from being greater
|
||
; 374 : than WORD - this would cause a runtime error when the application is compiled with /RTCc flag.
|
||
; 375 : */
|
||
; 376 : hResource = ::FindResourceW(hInstance, MAKEINTRESOURCEW( (((id>>4)+1) & static_cast<WORD>(~0)) ), (LPWSTR) RT_STRING);
|
||
|
||
00028 6a 06 push 6
|
||
0002a 8b 45 0c mov eax, DWORD PTR _id$[ebp]
|
||
0002d c1 e8 04 shr eax, 4
|
||
00030 83 c0 01 add eax, 1
|
||
00033 25 ff ff 00 00 and eax, 65535 ; 0000ffffH
|
||
00038 0f b7 c8 movzx ecx, ax
|
||
0003b 51 push ecx
|
||
0003c 8b 55 08 mov edx, DWORD PTR _hInstance$[ebp]
|
||
0003f 52 push edx
|
||
00040 ff 15 00 00 00
|
||
00 call DWORD PTR __imp__FindResourceW@12
|
||
00046 89 45 f0 mov DWORD PTR _hResource$[ebp], eax
|
||
|
||
; 377 : if( hResource == NULL )
|
||
|
||
00049 83 7d f0 00 cmp DWORD PTR _hResource$[ebp], 0
|
||
0004d 75 04 jne SHORT $LN2@AtlGetStri
|
||
|
||
; 378 : {
|
||
; 379 : return( NULL );
|
||
|
||
0004f 33 c0 xor eax, eax
|
||
00051 eb 14 jmp SHORT $LN1@AtlGetStri
|
||
$LN2@AtlGetStri:
|
||
|
||
; 380 : }
|
||
; 381 :
|
||
; 382 : return _AtlGetStringResourceImage( hInstance, hResource, id );
|
||
|
||
00053 8b 45 0c mov eax, DWORD PTR _id$[ebp]
|
||
00056 50 push eax
|
||
00057 8b 4d f0 mov ecx, DWORD PTR _hResource$[ebp]
|
||
0005a 51 push ecx
|
||
0005b 8b 55 08 mov edx, DWORD PTR _hInstance$[ebp]
|
||
0005e 52 push edx
|
||
0005f e8 00 00 00 00 call ?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z ; ATL::_AtlGetStringResourceImage
|
||
00064 83 c4 0c add esp, 12 ; 0000000cH
|
||
$LN1@AtlGetStri:
|
||
|
||
; 383 : }
|
||
|
||
00067 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
0006a 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
00071 59 pop ecx
|
||
00072 5f pop edi
|
||
00073 5e pop esi
|
||
00074 5b pop ebx
|
||
00075 8b e5 mov esp, ebp
|
||
00077 5d pop ebp
|
||
00078 c3 ret 0
|
||
00079 cc int 3
|
||
0007a cc int 3
|
||
0007b cc int 3
|
||
0007c cc int 3
|
||
0007d cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a ac mov ecx, DWORD PTR [edx-84]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z ENDP ; ATL::AtlGetStringResourceImage
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlcore.h
|
||
; COMDAT ?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z
|
||
_TEXT SEGMENT
|
||
_iIndex$ = -32 ; size = 4
|
||
_hGlobal$ = -28 ; size = 4
|
||
_nResourceSize$ = -24 ; size = 4
|
||
_pImageEnd$ = -20 ; size = 4
|
||
_pImage$ = -16 ; size = 4
|
||
__$EHRec$ = -12 ; size = 12
|
||
_hInstance$ = 8 ; size = 4
|
||
_hResource$ = 12 ; size = 4
|
||
_id$ = 16 ; size = 4
|
||
?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z PROC ; ATL::_AtlGetStringResourceImage, COMDAT
|
||
|
||
; 327 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 6a ff push -1
|
||
00005 68 00 00 00 00 push __ehhandler$?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z
|
||
0000a 64 a1 00 00 00
|
||
00 mov eax, DWORD PTR fs:0
|
||
00010 50 push eax
|
||
00011 83 ec 54 sub esp, 84 ; 00000054H
|
||
00014 53 push ebx
|
||
00015 56 push esi
|
||
00016 57 push edi
|
||
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
||
0001c 33 c5 xor eax, ebp
|
||
0001e 50 push eax
|
||
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
|
||
00022 64 a3 00 00 00
|
||
00 mov DWORD PTR fs:0, eax
|
||
|
||
; 328 : const ATLSTRINGRESOURCEIMAGE* pImage;
|
||
; 329 : const ATLSTRINGRESOURCEIMAGE* pImageEnd;
|
||
; 330 : ULONG nResourceSize;
|
||
; 331 : HGLOBAL hGlobal;
|
||
; 332 : UINT iIndex;
|
||
; 333 :
|
||
; 334 : hGlobal = ::LoadResource( hInstance, hResource );
|
||
|
||
00028 8b 45 0c mov eax, DWORD PTR _hResource$[ebp]
|
||
0002b 50 push eax
|
||
0002c 8b 4d 08 mov ecx, DWORD PTR _hInstance$[ebp]
|
||
0002f 51 push ecx
|
||
00030 ff 15 00 00 00
|
||
00 call DWORD PTR __imp__LoadResource@8
|
||
00036 89 45 e4 mov DWORD PTR _hGlobal$[ebp], eax
|
||
|
||
; 335 : if( hGlobal == NULL )
|
||
|
||
00039 83 7d e4 00 cmp DWORD PTR _hGlobal$[ebp], 0
|
||
0003d 75 07 jne SHORT $LN4@AtlGetStri
|
||
|
||
; 336 : {
|
||
; 337 : return( NULL );
|
||
|
||
0003f 33 c0 xor eax, eax
|
||
00041 e9 80 00 00 00 jmp $LN1@AtlGetStri
|
||
$LN4@AtlGetStri:
|
||
|
||
; 338 : }
|
||
; 339 :
|
||
; 340 : pImage = (const ATLSTRINGRESOURCEIMAGE*)::LockResource( hGlobal );
|
||
|
||
00046 8b 45 e4 mov eax, DWORD PTR _hGlobal$[ebp]
|
||
00049 50 push eax
|
||
0004a ff 15 00 00 00
|
||
00 call DWORD PTR __imp__LockResource@4
|
||
00050 89 45 f0 mov DWORD PTR _pImage$[ebp], eax
|
||
|
||
; 341 : if( pImage == NULL )
|
||
|
||
00053 83 7d f0 00 cmp DWORD PTR _pImage$[ebp], 0
|
||
00057 75 04 jne SHORT $LN5@AtlGetStri
|
||
|
||
; 342 : {
|
||
; 343 : return( NULL );
|
||
|
||
00059 33 c0 xor eax, eax
|
||
0005b eb 69 jmp SHORT $LN1@AtlGetStri
|
||
$LN5@AtlGetStri:
|
||
|
||
; 344 : }
|
||
; 345 :
|
||
; 346 : nResourceSize = ::SizeofResource( hInstance, hResource );
|
||
|
||
0005d 8b 45 0c mov eax, DWORD PTR _hResource$[ebp]
|
||
00060 50 push eax
|
||
00061 8b 4d 08 mov ecx, DWORD PTR _hInstance$[ebp]
|
||
00064 51 push ecx
|
||
00065 ff 15 00 00 00
|
||
00 call DWORD PTR __imp__SizeofResource@8
|
||
0006b 89 45 e8 mov DWORD PTR _nResourceSize$[ebp], eax
|
||
|
||
; 347 : pImageEnd = (const ATLSTRINGRESOURCEIMAGE*)(LPBYTE( pImage )+nResourceSize);
|
||
|
||
0006e 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
|
||
00071 03 45 e8 add eax, DWORD PTR _nResourceSize$[ebp]
|
||
00074 89 45 ec mov DWORD PTR _pImageEnd$[ebp], eax
|
||
|
||
; 348 : iIndex = id&0x000f;
|
||
|
||
00077 8b 45 10 mov eax, DWORD PTR _id$[ebp]
|
||
0007a 83 e0 0f and eax, 15 ; 0000000fH
|
||
0007d 89 45 e0 mov DWORD PTR _iIndex$[ebp], eax
|
||
$LN2@AtlGetStri:
|
||
|
||
; 349 :
|
||
; 350 : while( (iIndex > 0) && (pImage < pImageEnd) )
|
||
|
||
00080 83 7d e0 00 cmp DWORD PTR _iIndex$[ebp], 0
|
||
00084 76 23 jbe SHORT $LN3@AtlGetStri
|
||
00086 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
|
||
00089 3b 45 ec cmp eax, DWORD PTR _pImageEnd$[ebp]
|
||
0008c 73 1b jae SHORT $LN3@AtlGetStri
|
||
|
||
; 351 : {
|
||
; 352 : pImage = (const ATLSTRINGRESOURCEIMAGE*)(LPBYTE( pImage )+(sizeof( ATLSTRINGRESOURCEIMAGE )+(pImage->nLength*sizeof( WCHAR ))));
|
||
|
||
0008e 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
|
||
00091 0f b7 08 movzx ecx, WORD PTR [eax]
|
||
00094 8b 55 f0 mov edx, DWORD PTR _pImage$[ebp]
|
||
00097 8d 44 4a 02 lea eax, DWORD PTR [edx+ecx*2+2]
|
||
0009b 89 45 f0 mov DWORD PTR _pImage$[ebp], eax
|
||
|
||
; 353 : iIndex--;
|
||
|
||
0009e 8b 45 e0 mov eax, DWORD PTR _iIndex$[ebp]
|
||
000a1 83 e8 01 sub eax, 1
|
||
000a4 89 45 e0 mov DWORD PTR _iIndex$[ebp], eax
|
||
|
||
; 354 : }
|
||
|
||
000a7 eb d7 jmp SHORT $LN2@AtlGetStri
|
||
$LN3@AtlGetStri:
|
||
|
||
; 355 : if( pImage >= pImageEnd )
|
||
|
||
000a9 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
|
||
000ac 3b 45 ec cmp eax, DWORD PTR _pImageEnd$[ebp]
|
||
000af 72 04 jb SHORT $LN6@AtlGetStri
|
||
|
||
; 356 : {
|
||
; 357 : return( NULL );
|
||
|
||
000b1 33 c0 xor eax, eax
|
||
000b3 eb 11 jmp SHORT $LN1@AtlGetStri
|
||
$LN6@AtlGetStri:
|
||
|
||
; 358 : }
|
||
; 359 : if( pImage->nLength == 0 )
|
||
|
||
000b5 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
|
||
000b8 0f b7 08 movzx ecx, WORD PTR [eax]
|
||
000bb 85 c9 test ecx, ecx
|
||
000bd 75 04 jne SHORT $LN7@AtlGetStri
|
||
|
||
; 360 : {
|
||
; 361 : return( NULL );
|
||
|
||
000bf 33 c0 xor eax, eax
|
||
000c1 eb 03 jmp SHORT $LN1@AtlGetStri
|
||
$LN7@AtlGetStri:
|
||
|
||
; 362 : }
|
||
; 363 :
|
||
; 364 : return( pImage );
|
||
|
||
000c3 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
|
||
$LN1@AtlGetStri:
|
||
|
||
; 365 : }
|
||
|
||
000c6 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
|
||
000c9 64 89 0d 00 00
|
||
00 00 mov DWORD PTR fs:0, ecx
|
||
000d0 59 pop ecx
|
||
000d1 5f pop edi
|
||
000d2 5e pop esi
|
||
000d3 5b pop ebx
|
||
000d4 8b e5 mov esp, ebp
|
||
000d6 5d pop ebp
|
||
000d7 c3 ret 0
|
||
000d8 cc int 3
|
||
000d9 cc int 3
|
||
000da cc int 3
|
||
000db cc int 3
|
||
000dc cc int 3
|
||
_TEXT ENDS
|
||
; COMDAT text$x
|
||
text$x SEGMENT
|
||
__ehhandler$?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z:
|
||
00000 90 npad 1
|
||
00001 90 npad 1
|
||
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
|
||
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
|
||
00009 8b 4a 9c mov ecx, DWORD PTR [edx-100]
|
||
0000c 33 c8 xor ecx, eax
|
||
0000e e8 00 00 00 00 call @__security_check_cookie@4
|
||
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z
|
||
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
|
||
text$x ENDS
|
||
?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z ENDP ; ATL::_AtlGetStringResourceImage
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlcore.h
|
||
; COMDAT ?AtlStrLen@ATL@@YAHPB_W@Z
|
||
_TEXT SEGMENT
|
||
_str$ = 8 ; size = 4
|
||
?AtlStrLen@ATL@@YAHPB_W@Z PROC ; ATL::AtlStrLen, COMDAT
|
||
|
||
; 60 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 40 sub esp, 64 ; 00000040H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
|
||
; 61 : if (str == NULL)
|
||
|
||
00009 83 7d 08 00 cmp DWORD PTR _str$[ebp], 0
|
||
0000d 75 04 jne SHORT $LN2@AtlStrLen
|
||
|
||
; 62 : return 0;
|
||
|
||
0000f 33 c0 xor eax, eax
|
||
00011 eb 0c jmp SHORT $LN1@AtlStrLen
|
||
$LN2@AtlStrLen:
|
||
|
||
; 63 : return static_cast<int>(::wcslen(str));
|
||
|
||
00013 8b 45 08 mov eax, DWORD PTR _str$[ebp]
|
||
00016 50 push eax
|
||
00017 e8 00 00 00 00 call _wcslen
|
||
0001c 83 c4 04 add esp, 4
|
||
$LN1@AtlStrLen:
|
||
|
||
; 64 : }
|
||
|
||
0001f 5f pop edi
|
||
00020 5e pop esi
|
||
00021 5b pop ebx
|
||
00022 8b e5 mov esp, ebp
|
||
00024 5d pop ebp
|
||
00025 c3 ret 0
|
||
?AtlStrLen@ATL@@YAHPB_W@Z ENDP ; ATL::AtlStrLen
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlchecked.h
|
||
; COMDAT ?wmemcpy_s@Checked@ATL@@YAXPA_WIPB_WI@Z
|
||
_TEXT SEGMENT
|
||
__S1$ = 8 ; size = 4
|
||
__N1$ = 12 ; size = 4
|
||
__S2$ = 16 ; size = 4
|
||
__N$ = 20 ; size = 4
|
||
?wmemcpy_s@Checked@ATL@@YAXPA_WIPB_WI@Z PROC ; ATL::Checked::wmemcpy_s, COMDAT
|
||
|
||
; 77 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 40 sub esp, 64 ; 00000040H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
|
||
; 78 : ATLMFC_CRT_ERRORCHECK(::wmemcpy_s(_S1, _N1, _S2, _N));
|
||
|
||
00009 8b 45 14 mov eax, DWORD PTR __N$[ebp]
|
||
0000c 50 push eax
|
||
0000d 8b 4d 10 mov ecx, DWORD PTR __S2$[ebp]
|
||
00010 51 push ecx
|
||
00011 8b 55 0c mov edx, DWORD PTR __N1$[ebp]
|
||
00014 52 push edx
|
||
00015 8b 45 08 mov eax, DWORD PTR __S1$[ebp]
|
||
00018 50 push eax
|
||
00019 e8 00 00 00 00 call _wmemcpy_s
|
||
0001e 83 c4 10 add esp, 16 ; 00000010H
|
||
00021 50 push eax
|
||
00022 e8 00 00 00 00 call ?AfxCrtErrorCheck@@YAHH@Z ; AfxCrtErrorCheck
|
||
00027 83 c4 04 add esp, 4
|
||
|
||
; 79 : }
|
||
|
||
0002a 5f pop edi
|
||
0002b 5e pop esi
|
||
0002c 5b pop ebx
|
||
0002d 8b e5 mov esp, ebp
|
||
0002f 5d pop ebp
|
||
00030 c3 ret 0
|
||
?wmemcpy_s@Checked@ATL@@YAXPA_WIPB_WI@Z ENDP ; ATL::Checked::wmemcpy_s
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlexcept.h
|
||
; COMDAT ?AtlThrowImpl@ATL@@YGXJ@Z
|
||
_TEXT SEGMENT
|
||
_hr$ = 8 ; size = 4
|
||
?AtlThrowImpl@ATL@@YGXJ@Z PROC ; ATL::AtlThrowImpl, COMDAT
|
||
|
||
; 65 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 40 sub esp, 64 ; 00000040H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
|
||
; 66 : ATLTRACE(atlTraceException, 0, _T("AtlThrow: hr = 0x%x\n"), hr );
|
||
; 67 : #ifdef _AFX
|
||
; 68 : if( hr == E_OUTOFMEMORY )
|
||
|
||
00009 81 7d 08 0e 00
|
||
07 80 cmp DWORD PTR _hr$[ebp], -2147024882 ; 8007000eH
|
||
00010 75 07 jne SHORT $LN2@AtlThrowIm
|
||
|
||
; 69 : {
|
||
; 70 : AfxThrowMemoryException();
|
||
|
||
00012 e8 00 00 00 00 call ?AfxThrowMemoryException@@YGXXZ ; AfxThrowMemoryException
|
||
|
||
; 71 : }
|
||
|
||
00017 eb 09 jmp SHORT $LN4@AtlThrowIm
|
||
$LN2@AtlThrowIm:
|
||
|
||
; 72 : else
|
||
; 73 : {
|
||
; 74 : AfxThrowOleException( hr );
|
||
|
||
00019 8b 45 08 mov eax, DWORD PTR _hr$[ebp]
|
||
0001c 50 push eax
|
||
0001d e8 00 00 00 00 call ?AfxThrowOleException@@YGXJ@Z ; AfxThrowOleException
|
||
$LN4@AtlThrowIm:
|
||
|
||
; 75 : }
|
||
; 76 : #else
|
||
; 77 : throw CAtlException( hr );
|
||
; 78 : #endif
|
||
; 79 : };
|
||
|
||
00022 5f pop edi
|
||
00023 5e pop esi
|
||
00024 5b pop ebx
|
||
00025 8b e5 mov esp, ebp
|
||
00027 5d pop ebp
|
||
00028 c2 04 00 ret 4
|
||
?AtlThrowImpl@ATL@@YGXJ@Z ENDP ; ATL::AtlThrowImpl
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afx.h
|
||
; COMDAT ?AfxCrtErrorCheck@@YAHH@Z
|
||
_TEXT SEGMENT
|
||
tv64 = -68 ; size = 4
|
||
_error$ = 8 ; size = 4
|
||
?AfxCrtErrorCheck@@YAHH@Z PROC ; AfxCrtErrorCheck, COMDAT
|
||
|
||
; 506 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 44 sub esp, 68 ; 00000044H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
|
||
; 507 : switch(error)
|
||
|
||
00009 8b 45 08 mov eax, DWORD PTR _error$[ebp]
|
||
0000c 89 45 bc mov DWORD PTR tv64[ebp], eax
|
||
0000f 83 7d bc 50 cmp DWORD PTR tv64[ebp], 80 ; 00000050H
|
||
00013 77 21 ja SHORT $LN9@AfxCrtErro
|
||
00015 8b 4d bc mov ecx, DWORD PTR tv64[ebp]
|
||
00018 0f b6 91 00 00
|
||
00 00 movzx edx, BYTE PTR $LN11@AfxCrtErro[ecx]
|
||
0001f ff 24 95 00 00
|
||
00 00 jmp DWORD PTR $LN12@AfxCrtErro[edx*4]
|
||
$LN4@AfxCrtErro:
|
||
|
||
; 508 : {
|
||
; 509 : case ENOMEM:
|
||
; 510 : AfxThrowMemoryException();
|
||
|
||
00026 e8 00 00 00 00 call ?AfxThrowMemoryException@@YGXXZ ; AfxThrowMemoryException
|
||
|
||
; 511 : break;
|
||
|
||
0002b eb 0e jmp SHORT $LN2@AfxCrtErro
|
||
$LN6@AfxCrtErro:
|
||
|
||
; 512 : case EINVAL:
|
||
; 513 : case ERANGE:
|
||
; 514 : AfxThrowInvalidArgException();
|
||
|
||
0002d e8 00 00 00 00 call ?AfxThrowInvalidArgException@@YGXXZ ; AfxThrowInvalidArgException
|
||
|
||
; 515 : break;
|
||
|
||
00032 eb 07 jmp SHORT $LN2@AfxCrtErro
|
||
$LN8@AfxCrtErro:
|
||
|
||
; 516 : case STRUNCATE:
|
||
; 517 : case 0:
|
||
; 518 : break;
|
||
|
||
00034 eb 05 jmp SHORT $LN2@AfxCrtErro
|
||
$LN9@AfxCrtErro:
|
||
|
||
; 519 : default:
|
||
; 520 : AfxThrowInvalidArgException();
|
||
|
||
00036 e8 00 00 00 00 call ?AfxThrowInvalidArgException@@YGXXZ ; AfxThrowInvalidArgException
|
||
$LN2@AfxCrtErro:
|
||
|
||
; 521 : break;
|
||
; 522 : }
|
||
; 523 : return error;
|
||
|
||
0003b 8b 45 08 mov eax, DWORD PTR _error$[ebp]
|
||
$LN10@AfxCrtErro:
|
||
|
||
; 524 : }
|
||
|
||
0003e 5f pop edi
|
||
0003f 5e pop esi
|
||
00040 5b pop ebx
|
||
00041 8b e5 mov esp, ebp
|
||
00043 5d pop ebp
|
||
00044 c3 ret 0
|
||
00045 0f 1f 00 npad 3
|
||
$LN12@AfxCrtErro:
|
||
00048 00 00 00 00 DD $LN8@AfxCrtErro
|
||
0004c 00 00 00 00 DD $LN4@AfxCrtErro
|
||
00050 00 00 00 00 DD $LN6@AfxCrtErro
|
||
00054 00 00 00 00 DD $LN9@AfxCrtErro
|
||
$LN11@AfxCrtErro:
|
||
00058 00 DB 0
|
||
00059 03 DB 3
|
||
0005a 03 DB 3
|
||
0005b 03 DB 3
|
||
0005c 03 DB 3
|
||
0005d 03 DB 3
|
||
0005e 03 DB 3
|
||
0005f 03 DB 3
|
||
00060 03 DB 3
|
||
00061 03 DB 3
|
||
00062 03 DB 3
|
||
00063 03 DB 3
|
||
00064 01 DB 1
|
||
00065 03 DB 3
|
||
00066 03 DB 3
|
||
00067 03 DB 3
|
||
00068 03 DB 3
|
||
00069 03 DB 3
|
||
0006a 03 DB 3
|
||
0006b 03 DB 3
|
||
0006c 03 DB 3
|
||
0006d 03 DB 3
|
||
0006e 02 DB 2
|
||
0006f 03 DB 3
|
||
00070 03 DB 3
|
||
00071 03 DB 3
|
||
00072 03 DB 3
|
||
00073 03 DB 3
|
||
00074 03 DB 3
|
||
00075 03 DB 3
|
||
00076 03 DB 3
|
||
00077 03 DB 3
|
||
00078 03 DB 3
|
||
00079 03 DB 3
|
||
0007a 02 DB 2
|
||
0007b 03 DB 3
|
||
0007c 03 DB 3
|
||
0007d 03 DB 3
|
||
0007e 03 DB 3
|
||
0007f 03 DB 3
|
||
00080 03 DB 3
|
||
00081 03 DB 3
|
||
00082 03 DB 3
|
||
00083 03 DB 3
|
||
00084 03 DB 3
|
||
00085 03 DB 3
|
||
00086 03 DB 3
|
||
00087 03 DB 3
|
||
00088 03 DB 3
|
||
00089 03 DB 3
|
||
0008a 03 DB 3
|
||
0008b 03 DB 3
|
||
0008c 03 DB 3
|
||
0008d 03 DB 3
|
||
0008e 03 DB 3
|
||
0008f 03 DB 3
|
||
00090 03 DB 3
|
||
00091 03 DB 3
|
||
00092 03 DB 3
|
||
00093 03 DB 3
|
||
00094 03 DB 3
|
||
00095 03 DB 3
|
||
00096 03 DB 3
|
||
00097 03 DB 3
|
||
00098 03 DB 3
|
||
00099 03 DB 3
|
||
0009a 03 DB 3
|
||
0009b 03 DB 3
|
||
0009c 03 DB 3
|
||
0009d 03 DB 3
|
||
0009e 03 DB 3
|
||
0009f 03 DB 3
|
||
000a0 03 DB 3
|
||
000a1 03 DB 3
|
||
000a2 03 DB 3
|
||
000a3 03 DB 3
|
||
000a4 03 DB 3
|
||
000a5 03 DB 3
|
||
000a6 03 DB 3
|
||
000a7 03 DB 3
|
||
000a8 00 DB 0
|
||
?AfxCrtErrorCheck@@YAHH@Z ENDP ; AfxCrtErrorCheck
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_memcpy_s.h
|
||
; COMDAT _memmove_s
|
||
_TEXT SEGMENT
|
||
tv74 = -80 ; size = 4
|
||
tv70 = -80 ; size = 4
|
||
tv66 = -80 ; size = 4
|
||
__Expr_val$1 = -12 ; size = 4
|
||
__Expr_val$2 = -8 ; size = 4
|
||
__Expr_val$3 = -4 ; size = 4
|
||
__Destination$ = 8 ; size = 4
|
||
__DestinationSize$ = 12 ; size = 4
|
||
__Source$ = 16 ; size = 4
|
||
__SourceSize$ = 20 ; size = 4
|
||
_memmove_s PROC ; COMDAT
|
||
|
||
; 73 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 50 sub esp, 80 ; 00000050H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
|
||
; 74 : if (_SourceSize == 0)
|
||
|
||
00009 83 7d 14 00 cmp DWORD PTR __SourceSize$[ebp], 0
|
||
0000d 75 07 jne SHORT $LN2@memmove_s
|
||
|
||
; 75 : {
|
||
; 76 : return 0;
|
||
|
||
0000f 33 c0 xor eax, eax
|
||
00011 e9 c6 00 00 00 jmp $LN1@memmove_s
|
||
$LN2@memmove_s:
|
||
|
||
; 77 : }
|
||
; 78 :
|
||
; 79 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Destination != NULL, EINVAL);
|
||
|
||
00016 83 7d 08 00 cmp DWORD PTR __Destination$[ebp], 0
|
||
0001a 74 09 je SHORT $LN7@memmove_s
|
||
0001c c7 45 b0 01 00
|
||
00 00 mov DWORD PTR tv66[ebp], 1
|
||
00023 eb 07 jmp SHORT $LN8@memmove_s
|
||
$LN7@memmove_s:
|
||
00025 c7 45 b0 00 00
|
||
00 00 mov DWORD PTR tv66[ebp], 0
|
||
$LN8@memmove_s:
|
||
0002c 8b 45 b0 mov eax, DWORD PTR tv66[ebp]
|
||
0002f 89 45 fc mov DWORD PTR __Expr_val$3[ebp], eax
|
||
00032 83 7d fc 00 cmp DWORD PTR __Expr_val$3[ebp], 0
|
||
00036 75 1a jne SHORT $LN3@memmove_s
|
||
00038 e8 00 00 00 00 call __errno
|
||
0003d c7 00 16 00 00
|
||
00 mov DWORD PTR [eax], 22 ; 00000016H
|
||
00043 e8 00 00 00 00 call __invalid_parameter_noinfo
|
||
00048 b8 16 00 00 00 mov eax, 22 ; 00000016H
|
||
0004d e9 8a 00 00 00 jmp $LN1@memmove_s
|
||
$LN3@memmove_s:
|
||
|
||
; 80 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Source != NULL, EINVAL);
|
||
|
||
00052 83 7d 10 00 cmp DWORD PTR __Source$[ebp], 0
|
||
00056 74 09 je SHORT $LN9@memmove_s
|
||
00058 c7 45 b0 01 00
|
||
00 00 mov DWORD PTR tv70[ebp], 1
|
||
0005f eb 07 jmp SHORT $LN10@memmove_s
|
||
$LN9@memmove_s:
|
||
00061 c7 45 b0 00 00
|
||
00 00 mov DWORD PTR tv70[ebp], 0
|
||
$LN10@memmove_s:
|
||
00068 8b 45 b0 mov eax, DWORD PTR tv70[ebp]
|
||
0006b 89 45 f8 mov DWORD PTR __Expr_val$2[ebp], eax
|
||
0006e 83 7d f8 00 cmp DWORD PTR __Expr_val$2[ebp], 0
|
||
00072 75 17 jne SHORT $LN4@memmove_s
|
||
00074 e8 00 00 00 00 call __errno
|
||
00079 c7 00 16 00 00
|
||
00 mov DWORD PTR [eax], 22 ; 00000016H
|
||
0007f e8 00 00 00 00 call __invalid_parameter_noinfo
|
||
00084 b8 16 00 00 00 mov eax, 22 ; 00000016H
|
||
00089 eb 51 jmp SHORT $LN1@memmove_s
|
||
$LN4@memmove_s:
|
||
|
||
; 81 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_DestinationSize >= _SourceSize, ERANGE);
|
||
|
||
0008b 8b 45 0c mov eax, DWORD PTR __DestinationSize$[ebp]
|
||
0008e 3b 45 14 cmp eax, DWORD PTR __SourceSize$[ebp]
|
||
00091 72 09 jb SHORT $LN11@memmove_s
|
||
00093 c7 45 b0 01 00
|
||
00 00 mov DWORD PTR tv74[ebp], 1
|
||
0009a eb 07 jmp SHORT $LN12@memmove_s
|
||
$LN11@memmove_s:
|
||
0009c c7 45 b0 00 00
|
||
00 00 mov DWORD PTR tv74[ebp], 0
|
||
$LN12@memmove_s:
|
||
000a3 8b 4d b0 mov ecx, DWORD PTR tv74[ebp]
|
||
000a6 89 4d f4 mov DWORD PTR __Expr_val$1[ebp], ecx
|
||
000a9 83 7d f4 00 cmp DWORD PTR __Expr_val$1[ebp], 0
|
||
000ad 75 17 jne SHORT $LN5@memmove_s
|
||
000af e8 00 00 00 00 call __errno
|
||
000b4 c7 00 22 00 00
|
||
00 mov DWORD PTR [eax], 34 ; 00000022H
|
||
000ba e8 00 00 00 00 call __invalid_parameter_noinfo
|
||
000bf b8 22 00 00 00 mov eax, 34 ; 00000022H
|
||
000c4 eb 16 jmp SHORT $LN1@memmove_s
|
||
$LN5@memmove_s:
|
||
|
||
; 82 :
|
||
; 83 : memmove(_Destination, _Source, _SourceSize);
|
||
|
||
000c6 8b 45 14 mov eax, DWORD PTR __SourceSize$[ebp]
|
||
000c9 50 push eax
|
||
000ca 8b 4d 10 mov ecx, DWORD PTR __Source$[ebp]
|
||
000cd 51 push ecx
|
||
000ce 8b 55 08 mov edx, DWORD PTR __Destination$[ebp]
|
||
000d1 52 push edx
|
||
000d2 e8 00 00 00 00 call _memmove
|
||
000d7 83 c4 0c add esp, 12 ; 0000000cH
|
||
|
||
; 84 : return 0;
|
||
|
||
000da 33 c0 xor eax, eax
|
||
$LN1@memmove_s:
|
||
|
||
; 85 : }
|
||
|
||
000dc 5f pop edi
|
||
000dd 5e pop esi
|
||
000de 5b pop ebx
|
||
000df 8b e5 mov esp, ebp
|
||
000e1 5d pop ebp
|
||
000e2 c3 ret 0
|
||
_memmove_s ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_memcpy_s.h
|
||
; COMDAT _memcpy_s
|
||
_TEXT SEGMENT
|
||
tv79 = -80 ; size = 4
|
||
tv75 = -80 ; size = 4
|
||
tv66 = -80 ; size = 4
|
||
__Expr_val$1 = -12 ; size = 4
|
||
__Expr_val$2 = -8 ; size = 4
|
||
__Expr_val$3 = -4 ; size = 4
|
||
__Destination$ = 8 ; size = 4
|
||
__DestinationSize$ = 12 ; size = 4
|
||
__Source$ = 16 ; size = 4
|
||
__SourceSize$ = 20 ; size = 4
|
||
_memcpy_s PROC ; COMDAT
|
||
|
||
; 45 : {
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 50 sub esp, 80 ; 00000050H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
|
||
; 46 : if (_SourceSize == 0)
|
||
|
||
00009 83 7d 14 00 cmp DWORD PTR __SourceSize$[ebp], 0
|
||
0000d 75 07 jne SHORT $LN2@memcpy_s
|
||
|
||
; 47 : {
|
||
; 48 : return 0;
|
||
|
||
0000f 33 c0 xor eax, eax
|
||
00011 e9 f1 00 00 00 jmp $LN1@memcpy_s
|
||
$LN2@memcpy_s:
|
||
|
||
; 49 : }
|
||
; 50 :
|
||
; 51 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Destination != NULL, EINVAL);
|
||
|
||
00016 83 7d 08 00 cmp DWORD PTR __Destination$[ebp], 0
|
||
0001a 74 09 je SHORT $LN9@memcpy_s
|
||
0001c c7 45 b0 01 00
|
||
00 00 mov DWORD PTR tv66[ebp], 1
|
||
00023 eb 07 jmp SHORT $LN10@memcpy_s
|
||
$LN9@memcpy_s:
|
||
00025 c7 45 b0 00 00
|
||
00 00 mov DWORD PTR tv66[ebp], 0
|
||
$LN10@memcpy_s:
|
||
0002c 8b 45 b0 mov eax, DWORD PTR tv66[ebp]
|
||
0002f 89 45 fc mov DWORD PTR __Expr_val$3[ebp], eax
|
||
00032 83 7d fc 00 cmp DWORD PTR __Expr_val$3[ebp], 0
|
||
00036 75 1a jne SHORT $LN3@memcpy_s
|
||
00038 e8 00 00 00 00 call __errno
|
||
0003d c7 00 16 00 00
|
||
00 mov DWORD PTR [eax], 22 ; 00000016H
|
||
00043 e8 00 00 00 00 call __invalid_parameter_noinfo
|
||
00048 b8 16 00 00 00 mov eax, 22 ; 00000016H
|
||
0004d e9 b5 00 00 00 jmp $LN1@memcpy_s
|
||
$LN3@memcpy_s:
|
||
|
||
; 52 : if (_Source == NULL || _DestinationSize < _SourceSize)
|
||
|
||
00052 83 7d 10 00 cmp DWORD PTR __Source$[ebp], 0
|
||
00056 74 0c je SHORT $LN5@memcpy_s
|
||
00058 8b 45 0c mov eax, DWORD PTR __DestinationSize$[ebp]
|
||
0005b 3b 45 14 cmp eax, DWORD PTR __SourceSize$[ebp]
|
||
0005e 0f 83 8d 00 00
|
||
00 jae $LN4@memcpy_s
|
||
$LN5@memcpy_s:
|
||
|
||
; 53 : {
|
||
; 54 : memset(_Destination, 0, _DestinationSize);
|
||
|
||
00064 8b 45 0c mov eax, DWORD PTR __DestinationSize$[ebp]
|
||
00067 50 push eax
|
||
00068 6a 00 push 0
|
||
0006a 8b 4d 08 mov ecx, DWORD PTR __Destination$[ebp]
|
||
0006d 51 push ecx
|
||
0006e e8 00 00 00 00 call _memset
|
||
00073 83 c4 0c add esp, 12 ; 0000000cH
|
||
|
||
; 55 :
|
||
; 56 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Source != NULL, EINVAL);
|
||
|
||
00076 83 7d 10 00 cmp DWORD PTR __Source$[ebp], 0
|
||
0007a 74 09 je SHORT $LN11@memcpy_s
|
||
0007c c7 45 b0 01 00
|
||
00 00 mov DWORD PTR tv75[ebp], 1
|
||
00083 eb 07 jmp SHORT $LN12@memcpy_s
|
||
$LN11@memcpy_s:
|
||
00085 c7 45 b0 00 00
|
||
00 00 mov DWORD PTR tv75[ebp], 0
|
||
$LN12@memcpy_s:
|
||
0008c 8b 45 b0 mov eax, DWORD PTR tv75[ebp]
|
||
0008f 89 45 f8 mov DWORD PTR __Expr_val$2[ebp], eax
|
||
00092 83 7d f8 00 cmp DWORD PTR __Expr_val$2[ebp], 0
|
||
00096 75 17 jne SHORT $LN6@memcpy_s
|
||
00098 e8 00 00 00 00 call __errno
|
||
0009d c7 00 16 00 00
|
||
00 mov DWORD PTR [eax], 22 ; 00000016H
|
||
000a3 e8 00 00 00 00 call __invalid_parameter_noinfo
|
||
000a8 b8 16 00 00 00 mov eax, 22 ; 00000016H
|
||
000ad eb 58 jmp SHORT $LN1@memcpy_s
|
||
$LN6@memcpy_s:
|
||
|
||
; 57 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_DestinationSize >= _SourceSize, ERANGE);
|
||
|
||
000af 8b 45 0c mov eax, DWORD PTR __DestinationSize$[ebp]
|
||
000b2 3b 45 14 cmp eax, DWORD PTR __SourceSize$[ebp]
|
||
000b5 72 09 jb SHORT $LN13@memcpy_s
|
||
000b7 c7 45 b0 01 00
|
||
00 00 mov DWORD PTR tv79[ebp], 1
|
||
000be eb 07 jmp SHORT $LN14@memcpy_s
|
||
$LN13@memcpy_s:
|
||
000c0 c7 45 b0 00 00
|
||
00 00 mov DWORD PTR tv79[ebp], 0
|
||
$LN14@memcpy_s:
|
||
000c7 8b 4d b0 mov ecx, DWORD PTR tv79[ebp]
|
||
000ca 89 4d f4 mov DWORD PTR __Expr_val$1[ebp], ecx
|
||
000cd 83 7d f4 00 cmp DWORD PTR __Expr_val$1[ebp], 0
|
||
000d1 75 17 jne SHORT $LN7@memcpy_s
|
||
000d3 e8 00 00 00 00 call __errno
|
||
000d8 c7 00 22 00 00
|
||
00 mov DWORD PTR [eax], 34 ; 00000022H
|
||
000de e8 00 00 00 00 call __invalid_parameter_noinfo
|
||
000e3 b8 22 00 00 00 mov eax, 34 ; 00000022H
|
||
000e8 eb 1d jmp SHORT $LN1@memcpy_s
|
||
$LN7@memcpy_s:
|
||
|
||
; 58 :
|
||
; 59 : // Unreachable, but required to suppress /analyze warnings:
|
||
; 60 : return EINVAL;
|
||
|
||
000ea b8 16 00 00 00 mov eax, 22 ; 00000016H
|
||
000ef eb 16 jmp SHORT $LN1@memcpy_s
|
||
$LN4@memcpy_s:
|
||
|
||
; 61 : }
|
||
; 62 : memcpy(_Destination, _Source, _SourceSize);
|
||
|
||
000f1 8b 45 14 mov eax, DWORD PTR __SourceSize$[ebp]
|
||
000f4 50 push eax
|
||
000f5 8b 4d 10 mov ecx, DWORD PTR __Source$[ebp]
|
||
000f8 51 push ecx
|
||
000f9 8b 55 08 mov edx, DWORD PTR __Destination$[ebp]
|
||
000fc 52 push edx
|
||
000fd e8 00 00 00 00 call _memcpy
|
||
00102 83 c4 0c add esp, 12 ; 0000000cH
|
||
|
||
; 63 : return 0;
|
||
|
||
00105 33 c0 xor eax, eax
|
||
$LN1@memcpy_s:
|
||
|
||
; 64 : }
|
||
|
||
00107 5f pop edi
|
||
00108 5e pop esi
|
||
00109 5b pop ebx
|
||
0010a 8b e5 mov esp, ebp
|
||
0010c 5d pop ebp
|
||
0010d c3 ret 0
|
||
_memcpy_s ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_wstdio.h
|
||
; COMDAT __swprintf
|
||
_TEXT SEGMENT
|
||
__ArgList$ = -8 ; size = 4
|
||
__Result$ = -4 ; size = 4
|
||
__Buffer$ = 8 ; size = 4
|
||
__Format$ = 12 ; size = 4
|
||
__swprintf PROC ; COMDAT
|
||
|
||
; 1445 : {
|
||
|
||
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
|
||
|
||
; 1446 : int _Result;
|
||
; 1447 : va_list _ArgList;
|
||
; 1448 : __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
|
||
|
||
; 1449 : _Result = __vswprintf_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 ___vswprintf_l
|
||
00022 83 c4 10 add esp, 16 ; 00000010H
|
||
00025 89 45 fc mov DWORD PTR __Result$[ebp], eax
|
||
|
||
; 1450 : __crt_va_end(_ArgList);
|
||
|
||
00028 c7 45 f8 00 00
|
||
00 00 mov DWORD PTR __ArgList$[ebp], 0
|
||
|
||
; 1451 : return _Result;
|
||
|
||
0002f 8b 45 fc mov eax, DWORD PTR __Result$[ebp]
|
||
|
||
; 1452 : }
|
||
|
||
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
|
||
__swprintf 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 ___vswprintf_l
|
||
_TEXT SEGMENT
|
||
__Buffer$ = 8 ; size = 4
|
||
__Format$ = 12 ; size = 4
|
||
__Locale$ = 16 ; size = 4
|
||
__ArgList$ = 20 ; size = 4
|
||
___vswprintf_l PROC ; COMDAT
|
||
|
||
; 1208 : {
|
||
|
||
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
|
||
|
||
; 1209 : return _vswprintf_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 __vswprintf_l
|
||
00020 83 c4 14 add esp, 20 ; 00000014H
|
||
|
||
; 1210 : }
|
||
|
||
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
|
||
___vswprintf_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 __vswprintf_l
|
||
_TEXT SEGMENT
|
||
__Buffer$ = 8 ; size = 4
|
||
__BufferCount$ = 12 ; size = 4
|
||
__Format$ = 16 ; size = 4
|
||
__Locale$ = 20 ; size = 4
|
||
__ArgList$ = 24 ; size = 4
|
||
__vswprintf_l PROC ; COMDAT
|
||
|
||
; 1192 : {
|
||
|
||
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
|
||
|
||
; 1193 : return _vswprintf_c_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);
|
||
|
||
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 __vswprintf_c_l
|
||
00022 83 c4 14 add esp, 20 ; 00000014H
|
||
|
||
; 1194 : }
|
||
|
||
00025 5f pop edi
|
||
00026 5e pop esi
|
||
00027 5b pop ebx
|
||
00028 8b e5 mov esp, ebp
|
||
0002a 5d pop ebp
|
||
0002b c3 ret 0
|
||
__vswprintf_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 __vswprintf_c_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
|
||
__vswprintf_c_l PROC ; COMDAT
|
||
|
||
; 1155 : {
|
||
|
||
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
|
||
|
||
; 1156 : 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 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_vswprintf
|
||
0002e 83 c4 1c add esp, 28 ; 0000001cH
|
||
00031 89 45 fc mov DWORD PTR __Result$[ebp], eax
|
||
|
||
; 1157 : _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS,
|
||
; 1158 : _Buffer, _BufferCount, _Format, _Locale, _ArgList);
|
||
; 1159 :
|
||
; 1160 : return _Result < 0 ? -1 : _Result;
|
||
|
||
00034 83 7d fc 00 cmp DWORD PTR __Result$[ebp], 0
|
||
00038 7d 09 jge SHORT $LN3@vswprintf_
|
||
0003a c7 45 b8 ff ff
|
||
ff ff mov DWORD PTR tv73[ebp], -1
|
||
00041 eb 06 jmp SHORT $LN4@vswprintf_
|
||
$LN3@vswprintf_:
|
||
00043 8b 45 fc mov eax, DWORD PTR __Result$[ebp]
|
||
00046 89 45 b8 mov DWORD PTR tv73[ebp], eax
|
||
$LN4@vswprintf_:
|
||
00049 8b 45 b8 mov eax, DWORD PTR tv73[ebp]
|
||
|
||
; 1161 : }
|
||
|
||
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
|
||
__vswprintf_c_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\SmsCenter\IOCP\KeyList.cpp
|
||
; COMDAT ?__empty_global_delete@@YAXPAXIW4align_val_t@std@@@Z
|
||
_TEXT SEGMENT
|
||
___formal$ = 8 ; size = 4
|
||
___formal$ = 12 ; size = 4
|
||
___formal$ = 16 ; size = 4
|
||
?__empty_global_delete@@YAXPAXIW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 40 sub esp, 64 ; 00000040H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 5f pop edi
|
||
0000a 5e pop esi
|
||
0000b 5b pop ebx
|
||
0000c 8b e5 mov esp, ebp
|
||
0000e 5d pop ebp
|
||
0000f c3 ret 0
|
||
?__empty_global_delete@@YAXPAXIW4align_val_t@std@@@Z ENDP ; __empty_global_delete
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\SmsCenter\IOCP\KeyList.cpp
|
||
; COMDAT ?__empty_global_delete@@YAXPAXW4align_val_t@std@@@Z
|
||
_TEXT SEGMENT
|
||
___formal$ = 8 ; size = 4
|
||
___formal$ = 12 ; size = 4
|
||
?__empty_global_delete@@YAXPAXW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 40 sub esp, 64 ; 00000040H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 5f pop edi
|
||
0000a 5e pop esi
|
||
0000b 5b pop ebx
|
||
0000c 8b e5 mov esp, ebp
|
||
0000e 5d pop ebp
|
||
0000f c3 ret 0
|
||
?__empty_global_delete@@YAXPAXW4align_val_t@std@@@Z ENDP ; __empty_global_delete
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\SmsCenter\IOCP\KeyList.cpp
|
||
; COMDAT ?__empty_global_delete@@YAXPAXI@Z
|
||
_TEXT SEGMENT
|
||
___formal$ = 8 ; size = 4
|
||
___formal$ = 12 ; size = 4
|
||
?__empty_global_delete@@YAXPAXI@Z PROC ; __empty_global_delete, COMDAT
|
||
|
||
00000 55 push ebp
|
||
00001 8b ec mov ebp, esp
|
||
00003 83 ec 40 sub esp, 64 ; 00000040H
|
||
00006 53 push ebx
|
||
00007 56 push esi
|
||
00008 57 push edi
|
||
00009 5f pop edi
|
||
0000a 5e pop esi
|
||
0000b 5b pop ebx
|
||
0000c 8b e5 mov esp, ebp
|
||
0000e 5d pop ebp
|
||
0000f c3 ret 0
|
||
?__empty_global_delete@@YAXPAXI@Z ENDP ; __empty_global_delete
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /ZI
|
||
; File D:\Works\Corpsms_2010\SmsCenter\IOCP\KeyList.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
|