; Listing generated by Microsoft (R) Optimizing Compiler Version 19.34.31933.0 include listing.inc INCLUDELIB LIBCMT INCLUDELIB OLDNAMES CONST SEGMENT $SG321074 DB 'A', 00H, 'p', 00H, 'p', 00H, 'E', 00H, 'r', 00H, 'r', 00H DB 'o', 00H, 'r', 00H, 00H, 00H ORG $+6 $SG321075 DB 'L', 00H, 'o', 00H, 'g', 00H, 00H, 00H $SG321076 DB 'Encrypt', 00H $SG321077 DB 'D:\Works\Corpsms_2010\public\des\Des.cpp', 00H ORG $+3 $SG321078 DB 'T', 00H, 00H, 00H $SG321096 DB 'A', 00H, 'p', 00H, 'p', 00H, 'E', 00H, 'r', 00H, 'r', 00H DB 'o', 00H, 'r', 00H, 00H, 00H ORG $+2 $SG321100 DB 'T', 00H, 00H, 00H $SG321097 DB 'L', 00H, 'o', 00H, 'g', 00H, 00H, 00H $SG321098 DB 'Decrypt', 00H $SG321099 DB 'D:\Works\Corpsms_2010\public\des\Des.cpp', 00H ORG $+3 $SG321116 DB '%02X', 00H CONST ENDS PUBLIC ?__empty_global_delete@@YAXPEAX@Z ; __empty_global_delete PUBLIC ?__empty_global_delete@@YAXPEAX_K@Z ; __empty_global_delete PUBLIC ?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z ; __empty_global_delete PUBLIC ?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z ; __empty_global_delete PUBLIC __local_stdio_printf_options PUBLIC _vsnprintf_l PUBLIC _vsprintf_l PUBLIC sprintf PUBLIC ?AfxCrtErrorCheck@@YAHH@Z ; AfxCrtErrorCheck PUBLIC ?AtlThrowImpl@ATL@@YAXJ@Z ; ATL::AtlThrowImpl PUBLIC ?wmemcpy_s@Checked@ATL@@YAXPEA_W_KPEB_W1@Z ; ATL::Checked::wmemcpy_s PUBLIC ?AtlStrLen@ATL@@YAHPEB_W@Z ; ATL::AtlStrLen PUBLIC ?_AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@PEAUHRSRC__@@I@Z ; ATL::_AtlGetStringResourceImage PUBLIC ?AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@I@Z ; ATL::AtlGetStringResourceImage PUBLIC ?data@CStringData@ATL@@QEAAPEAXXZ ; ATL::CStringData::data PUBLIC ?IsLocked@CStringData@ATL@@QEBA_NXZ ; ATL::CStringData::IsLocked PUBLIC ?IsShared@CStringData@ATL@@QEBA_NXZ ; ATL::CStringData::IsShared PUBLIC ?Release@CStringData@ATL@@QEAAXXZ ; ATL::CStringData::Release PUBLIC ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_W@Z ; ATL::ChTraitsCRT::GetBaseTypeLength PUBLIC ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_WH@Z ; ATL::ChTraitsCRT::GetBaseTypeLength PUBLIC ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPEA_WHPEB_WH@Z ; ATL::ChTraitsCRT::ConvertToBaseType PUBLIC ??0?$CSimpleStringT@_W$0A@@ATL@@QEAA@PEAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT::CSimpleStringT PUBLIC ??1?$CSimpleStringT@_W$0A@@ATL@@QEAA@XZ ; ATL::CSimpleStringT::~CSimpleStringT PUBLIC ??4?$CSimpleStringT@_W$0A@@ATL@@QEAAAEAV01@PEB_W@Z ; ATL::CSimpleStringT::operator= PUBLIC ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QEAAXXZ ; ATL::CSimpleStringT::Empty PUBLIC ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ ; ATL::CSimpleStringT::GetAllocLength PUBLIC ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QEAAPEA_WH@Z ; ATL::CSimpleStringT::GetBuffer PUBLIC ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ ; ATL::CSimpleStringT::GetLength PUBLIC ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QEBAPEB_WXZ ; ATL::CSimpleStringT::GetString PUBLIC ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QEAAXH@Z ; ATL::CSimpleStringT::ReleaseBufferSetLength PUBLIC ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_W@Z ; ATL::CSimpleStringT::SetString PUBLIC ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_WH@Z ; ATL::CSimpleStringT::SetString PUBLIC ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPEA_W_KPEB_WH@Z ; ATL::CSimpleStringT::CopyCharsOverlapped PUBLIC ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPEB_W@Z ; ATL::CSimpleStringT::StringLength PUBLIC ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT::ThrowMemoryException PUBLIC ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AEAAXPEAUCStringData@2@@Z ; ATL::CSimpleStringT::Attach PUBLIC ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ; ATL::CSimpleStringT::Fork PUBLIC ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData PUBLIC ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AEAAPEA_WH@Z ; ATL::CSimpleStringT::PrepareWrite PUBLIC ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ; ATL::CSimpleStringT::PrepareWrite2 PUBLIC ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ; ATL::CSimpleStringT::Reallocate PUBLIC ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ; ATL::CSimpleStringT::SetLength PUBLIC ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z ; ATL::CStringT > >::CStringT > > PUBLIC ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ ; ATL::CStringT > >::~CStringT > > PUBLIC ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAAEAV01@PEB_W@Z ; ATL::CStringT > >::operator= PUBLIC ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAHI@Z ; ATL::CStringT > >::LoadStringW PUBLIC ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAHPEAUHINSTANCE__@@I@Z ; ATL::CStringT > >::LoadStringW PUBLIC ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AEAA_NPEBX@Z ; ATL::CStringT > >::CheckImplicitLoad PUBLIC ?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUHINSTANCE__@@I@Z ; StrTraitMFC >::FindStringResourceInstance PUBLIC ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC >::GetDefaultManager PUBLIC ?Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z ; CDes::Encrypt PUBLIC ?Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z ; CDes::Decrypt PUBLIC ??0CDes@@QEAA@XZ ; CDes::CDes PUBLIC ??1CDes@@UEAA@XZ ; CDes::~CDes PUBLIC ?AsciiToHex@CDes@@IEAAXPEAD0J@Z ; CDes::AsciiToHex PUBLIC ?CharHex@CDes@@IEAAJD@Z ; CDes::CharHex PUBLIC ?HexToAscii@CDes@@IEAAXPEAD0@Z ; CDes::HexToAscii PUBLIC ?Des_Go@CDes@@IEAA_NPEAD0JPEBDH_N@Z ; CDes::Des_Go PUBLIC ?DES@CDes@@IEAAXQEAD0QEAY1BA@DA@_N_N@Z ; CDes::DES PUBLIC ?SetKey@CDes@@IEAAXPEBDH@Z ; CDes::SetKey PUBLIC ?SetSubKey@CDes@@IEAAXPEAY1BA@DA@_NQEBD@Z ; CDes::SetSubKey PUBLIC ?F_func@CDes@@IEAAXQEA_NQEB_N@Z ; CDes::F_func PUBLIC ?S_func@CDes@@IEAAXQEA_NQEB_N@Z ; CDes::S_func PUBLIC ?Transform@CDes@@IEAAXPEA_N0PEBDH@Z ; CDes::Transform PUBLIC ?Xor@CDes@@IEAAXPEA_NPEB_NH@Z ; CDes::Xor PUBLIC ?RotateL@CDes@@IEAAXPEA_NHH@Z ; CDes::RotateL PUBLIC ?ByteToBit@CDes@@IEAAXPEA_NPEBDH@Z ; CDes::ByteToBit PUBLIC ?BitToByte@CDes@@IEAAXPEADPEB_NH@Z ; CDes::BitToByte PUBLIC ??_GCDes@@UEAAPEAXI@Z ; CDes::`scalar deleting destructor' PUBLIC ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA ; `__local_stdio_printf_options'::`2'::_OptionsStorage PUBLIC ??_7CDes@@6B@ ; CDes::`vftable' PUBLIC ??_R4CDes@@6B@ ; CDes::`RTTI Complete Object Locator' PUBLIC ??_R0?AVCDes@@@8 ; CDes `RTTI Type Descriptor' PUBLIC ??_R3CDes@@8 ; CDes::`RTTI Class Hierarchy Descriptor' PUBLIC ??_R2CDes@@8 ; CDes::`RTTI Base Class Array' PUBLIC ??_R1A@?0A@EA@CDes@@8 ; CDes::`RTTI Base Class Descriptor at (0,-1,0,64)' EXTRN ??3@YAXPEAX_K@Z:PROC ; operator delete EXTRN __report_rangecheckfailure:PROC EXTRN _invalid_parameter_noinfo:PROC EXTRN __stdio_common_vsprintf:PROC EXTRN _errno:PROC EXTRN memcpy:PROC EXTRN memmove:PROC EXTRN memset:PROC EXTRN wcslen:PROC EXTRN strlen:PROC EXTRN wmemcpy_s:PROC EXTRN __imp_LoadResource:PROC EXTRN __imp_LockResource:PROC EXTRN __imp_SizeofResource:PROC EXTRN __imp_FindResourceW:PROC EXTRN ?AfxThrowMemoryException@@YAXXZ:PROC ; AfxThrowMemoryException EXTRN ?AfxThrowInvalidArgException@@YAXXZ:PROC ; AfxThrowInvalidArgException EXTRN ?AfxThrowOleException@@YAXJ@Z:PROC ; AfxThrowOleException EXTRN ?AfxFindStringResourceHandle@@YAPEAUHINSTANCE__@@I@Z:PROC ; AfxFindStringResourceHandle EXTRN ?AfxGetStringManager@@YAPEAUIAtlStringMgr@ATL@@XZ:PROC ; AfxGetStringManager EXTRN ??0CSAStatusLog@@QEAA@XZ:PROC ; CSAStatusLog::CSAStatusLog EXTRN ??1CSAStatusLog@@QEAA@XZ:PROC ; CSAStatusLog::~CSAStatusLog EXTRN ?Init@CSAStatusLog@@QEAAXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z:PROC ; CSAStatusLog::Init EXTRN ?LogError@CSAStatusLog@@QEAAHPEB_WPEBD1J@Z:PROC ; CSAStatusLog::LogError EXTRN ??_ECDes@@UEAAPEAXI@Z:PROC ; CDes::`vector deleting destructor' EXTRN __CxxFrameHandler4:PROC EXTRN __GSHandlerCheck:PROC EXTRN __GSHandlerCheck_EH4:PROC EXTRN __chkstk:PROC EXTRN __security_check_cookie:PROC EXTRN ??_7type_info@@6B@:BYTE ; type_info::`vftable' EXTRN __security_cookie:QWORD ; 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 pdata pdata SEGMENT $pdata$_vsnprintf_l DD imagerel $LN5 DD imagerel $LN5+117 DD imagerel $unwind$_vsnprintf_l pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_vsprintf_l DD imagerel $LN3 DD imagerel $LN3+66 DD imagerel $unwind$_vsprintf_l pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$sprintf DD imagerel $LN3 DD imagerel $LN3+79 DD imagerel $unwind$sprintf pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$memcpy_s DD imagerel memcpy_s DD imagerel memcpy_s+313 DD imagerel $unwind$memcpy_s pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$memmove_s DD imagerel memmove_s DD imagerel memmove_s+265 DD imagerel $unwind$memmove_s pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?AfxCrtErrorCheck@@YAHH@Z DD imagerel $LN11 DD imagerel $LN11+83 DD imagerel $unwind$?AfxCrtErrorCheck@@YAHH@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?AtlThrowImpl@ATL@@YAXJ@Z DD imagerel $LN5 DD imagerel $LN5+39 DD imagerel $unwind$?AtlThrowImpl@ATL@@YAXJ@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?wmemcpy_s@Checked@ATL@@YAXPEA_W_KPEB_W1@Z DD imagerel $LN3 DD imagerel $LN3+61 DD imagerel $unwind$?wmemcpy_s@Checked@ATL@@YAXPEA_W_KPEB_W1@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?AtlStrLen@ATL@@YAHPEB_W@Z DD imagerel $LN4 DD imagerel $LN4+36 DD imagerel $unwind$?AtlStrLen@ATL@@YAHPEB_W@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?_AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@PEAUHRSRC__@@I@Z DD imagerel $LN9 DD imagerel $LN9+233 DD imagerel $unwind$?_AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@PEAUHRSRC__@@I@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@I@Z DD imagerel $LN4 DD imagerel $LN4+92 DD imagerel $unwind$?AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@I@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?IsLocked@CStringData@ATL@@QEBA_NXZ DD imagerel $LN5 DD imagerel $LN5+45 DD imagerel $unwind$?IsLocked@CStringData@ATL@@QEBA_NXZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?IsShared@CStringData@ATL@@QEBA_NXZ DD imagerel $LN5 DD imagerel $LN5+45 DD imagerel $unwind$?IsShared@CStringData@ATL@@QEBA_NXZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?Release@CStringData@ATL@@QEAAXXZ DD imagerel $LN4 DD imagerel $LN4+87 DD imagerel $unwind$?Release@CStringData@ATL@@QEAAXXZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_W@Z DD imagerel $LN3 DD imagerel $LN3+25 DD imagerel $unwind$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_W@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPEA_WHPEB_WH@Z DD imagerel $LN4 DD imagerel $LN4+82 DD imagerel $unwind$?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPEA_WHPEB_WH@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??0?$CSimpleStringT@_W$0A@@ATL@@QEAA@PEAUIAtlStringMgr@1@@Z DD imagerel $LN12 DD imagerel $LN12+123 DD imagerel $unwind$??0?$CSimpleStringT@_W$0A@@ATL@@QEAA@PEAUIAtlStringMgr@1@@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??1?$CSimpleStringT@_W$0A@@ATL@@QEAA@XZ DD imagerel $LN3 DD imagerel $LN3+39 DD imagerel $unwind$??1?$CSimpleStringT@_W$0A@@ATL@@QEAA@XZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??4?$CSimpleStringT@_W$0A@@ATL@@QEAAAEAV01@PEB_W@Z DD imagerel $LN3 DD imagerel $LN3+39 DD imagerel $unwind$??4?$CSimpleStringT@_W$0A@@ATL@@QEAAAEAV01@PEB_W@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QEAAXXZ DD imagerel $LN6 DD imagerel $LN6+133 DD imagerel $unwind$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QEAAXXZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ DD imagerel $LN3 DD imagerel $LN3+27 DD imagerel $unwind$?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QEAAPEA_WH@Z DD imagerel $LN3 DD imagerel $LN3+32 DD imagerel $unwind$?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QEAAPEA_WH@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ DD imagerel $LN3 DD imagerel $LN3+27 DD imagerel $unwind$?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QEAAXH@Z DD imagerel $LN3 DD imagerel $LN3+32 DD imagerel $unwind$?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QEAAXH@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_W@Z DD imagerel $LN3 DD imagerel $LN3+47 DD imagerel $unwind$?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_W@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_WH@Z DD imagerel $LN8 DD imagerel $LN8+264 DD imagerel $unwind$?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_WH@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPEA_W_KPEB_WH@Z DD imagerel $LN3 DD imagerel $LN3+67 DD imagerel $unwind$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPEA_W_KPEB_WH@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPEB_W@Z DD imagerel $LN4 DD imagerel $LN4+37 DD imagerel $unwind$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPEB_W@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ DD imagerel $LN3 DD imagerel $LN3+19 DD imagerel $unwind$?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?Attach@?$CSimpleStringT@_W$0A@@ATL@@AEAAXPEAUCStringData@2@@Z DD imagerel $LN3 DD imagerel $LN3+37 DD imagerel $unwind$?Attach@?$CSimpleStringT@_W$0A@@ATL@@AEAAXPEAUCStringData@2@@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?Fork@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z DD imagerel $LN6 DD imagerel $LN6+267 DD imagerel $unwind$?Fork@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AEAAPEA_WH@Z DD imagerel $LN5 DD imagerel $LN5+125 DD imagerel $unwind$?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AEAAPEA_WH@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z DD imagerel $LN10 DD imagerel $LN10+196 DD imagerel $unwind$?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z DD imagerel $LN6 DD imagerel $LN6+149 DD imagerel $unwind$?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z DD imagerel $LN5 DD imagerel $LN5+90 DD imagerel $unwind$?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z DD imagerel $LN5 DD imagerel $LN5+81 DD imagerel $unwind$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?dtor$0@?0???0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z@4HA DD imagerel ?dtor$0@?0???0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z@4HA DD imagerel ?dtor$0@?0???0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z@4HA+24 DD imagerel $unwind$?dtor$0@?0???0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z@4HA pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ DD imagerel $LN4 DD imagerel $LN4+25 DD imagerel $unwind$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?dtor$0@?0???1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ@4HA DD imagerel ?dtor$0@?0???1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ@4HA DD imagerel ?dtor$0@?0???1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ@4HA+24 DD imagerel $unwind$?dtor$0@?0???1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ@4HA pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAAEAV01@PEB_W@Z DD imagerel $LN3 DD imagerel $LN3+39 DD imagerel $unwind$??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAAEAV01@PEB_W@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAHI@Z DD imagerel $LN4 DD imagerel $LN4+64 DD imagerel $unwind$?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAHI@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAHPEAUHINSTANCE__@@I@Z DD imagerel $LN4 DD imagerel $LN4+158 DD imagerel $unwind$?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAHPEAUHINSTANCE__@@I@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AEAA_NPEBX@Z DD imagerel $LN5 DD imagerel $LN5+88 DD imagerel $unwind$?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AEAA_NPEBX@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUHINSTANCE__@@I@Z DD imagerel $LN3 DD imagerel $LN3+23 DD imagerel $unwind$?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUHINSTANCE__@@I@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUIAtlStringMgr@ATL@@XZ DD imagerel $LN3 DD imagerel $LN3+15 DD imagerel $unwind$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUIAtlStringMgr@ATL@@XZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z DD imagerel $LN15 DD imagerel $LN15+421 DD imagerel $unwind$?Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?catch$3@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD imagerel ?catch$3@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD imagerel ?catch$3@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA+221 DD imagerel $unwind$?catch$3@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?dtor$0@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD imagerel ?dtor$0@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD imagerel ?dtor$0@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA+27 DD imagerel $unwind$?dtor$0@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?dtor$1@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD imagerel ?dtor$1@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD imagerel ?dtor$1@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA+24 DD imagerel $unwind$?dtor$1@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?dtor$2@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD imagerel ?dtor$2@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD imagerel ?dtor$2@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA+24 DD imagerel $unwind$?dtor$2@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z DD imagerel $LN14 DD imagerel $LN14+301 DD imagerel $unwind$?Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?catch$3@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD imagerel ?catch$3@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD imagerel ?catch$3@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA+221 DD imagerel $unwind$?catch$3@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?dtor$0@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD imagerel ?dtor$0@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD imagerel ?dtor$0@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA+27 DD imagerel $unwind$?dtor$0@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?dtor$1@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD imagerel ?dtor$1@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD imagerel ?dtor$1@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA+24 DD imagerel $unwind$?dtor$1@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?dtor$2@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD imagerel ?dtor$2@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD imagerel ?dtor$2@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA+24 DD imagerel $unwind$?dtor$2@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?AsciiToHex@CDes@@IEAAXPEAD0J@Z DD imagerel $LN6 DD imagerel $LN6+127 DD imagerel $unwind$?AsciiToHex@CDes@@IEAAXPEAD0J@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?HexToAscii@CDes@@IEAAXPEAD0@Z DD imagerel $LN8 DD imagerel $LN8+278 DD imagerel $unwind$?HexToAscii@CDes@@IEAAXPEAD0@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?Des_Go@CDes@@IEAA_NPEAD0JPEBDH_N@Z DD imagerel $LN15 DD imagerel $LN15+535 DD imagerel $unwind$?Des_Go@CDes@@IEAA_NPEAD0JPEBDH_N@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?DES@CDes@@IEAAXQEAD0QEAY1BA@DA@_N_N@Z DD imagerel $LN11 DD imagerel $LN11+578 DD imagerel $unwind$?DES@CDes@@IEAAXQEAD0QEAY1BA@DA@_N_N@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?SetKey@CDes@@IEAAXPEBDH@Z DD imagerel $LN7 DD imagerel $LN7+261 DD imagerel $unwind$?SetKey@CDes@@IEAAXPEBDH@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?SetSubKey@CDes@@IEAAXPEAY1BA@DA@_NQEBD@Z DD imagerel $LN6 DD imagerel $LN6+383 DD imagerel $unwind$?SetSubKey@CDes@@IEAAXPEAY1BA@DA@_NQEBD@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?F_func@CDes@@IEAAXQEA_NQEB_N@Z DD imagerel $LN3 DD imagerel $LN3+215 DD imagerel $unwind$?F_func@CDes@@IEAAXQEA_NQEB_N@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?S_func@CDes@@IEAAXQEA_NQEB_N@Z DD imagerel $LN6 DD imagerel $LN6+288 DD imagerel $unwind$?S_func@CDes@@IEAAXQEA_NQEB_N@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?Transform@CDes@@IEAAXPEA_N0PEBDH@Z DD imagerel $LN6 DD imagerel $LN6+139 DD imagerel $unwind$?Transform@CDes@@IEAAXPEA_N0PEBDH@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?Xor@CDes@@IEAAXPEA_NPEB_NH@Z DD imagerel $LN6 DD imagerel $LN6+97 DD imagerel $unwind$?Xor@CDes@@IEAAXPEA_NPEB_NH@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?RotateL@CDes@@IEAAXPEA_NHH@Z DD imagerel $LN3 DD imagerel $LN3+170 DD imagerel $unwind$?RotateL@CDes@@IEAAXPEA_NHH@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?ByteToBit@CDes@@IEAAXPEA_NPEBDH@Z DD imagerel $LN6 DD imagerel $LN6+97 DD imagerel $unwind$?ByteToBit@CDes@@IEAAXPEA_NPEBDH@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?BitToByte@CDes@@IEAAXPEADPEB_NH@Z DD imagerel $LN6 DD imagerel $LN6+149 DD imagerel $unwind$?BitToByte@CDes@@IEAAXPEADPEB_NH@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??_GCDes@@UEAAPEAXI@Z DD imagerel $LN4 DD imagerel $LN4+59 DD imagerel $unwind$??_GCDes@@UEAAPEAXI@Z pdata ENDS ; COMDAT ??_R1A@?0A@EA@CDes@@8 rdata$r SEGMENT ??_R1A@?0A@EA@CDes@@8 DD imagerel ??_R0?AVCDes@@@8 ; CDes::`RTTI Base Class Descriptor at (0,-1,0,64)' DD 00H DD 00H DD 0ffffffffH DD 00H DD 040H DD imagerel ??_R3CDes@@8 rdata$r ENDS ; COMDAT ??_R2CDes@@8 rdata$r SEGMENT ??_R2CDes@@8 DD imagerel ??_R1A@?0A@EA@CDes@@8 ; CDes::`RTTI Base Class Array' ORG $+3 rdata$r ENDS ; COMDAT ??_R3CDes@@8 rdata$r SEGMENT ??_R3CDes@@8 DD 00H ; CDes::`RTTI Class Hierarchy Descriptor' DD 00H DD 01H DD imagerel ??_R2CDes@@8 rdata$r ENDS ; COMDAT ??_R0?AVCDes@@@8 data$rs SEGMENT ??_R0?AVCDes@@@8 DQ FLAT:??_7type_info@@6B@ ; CDes `RTTI Type Descriptor' DQ 0000000000000000H DB '.?AVCDes@@', 00H data$rs ENDS ; COMDAT ??_R4CDes@@6B@ rdata$r SEGMENT ??_R4CDes@@6B@ DD 01H ; CDes::`RTTI Complete Object Locator' DD 00H DD 00H DD imagerel ??_R0?AVCDes@@@8 DD imagerel ??_R3CDes@@8 DD imagerel ??_R4CDes@@6B@ rdata$r ENDS ; COMDAT ??_7CDes@@6B@ CONST SEGMENT ??_7CDes@@6B@ DQ FLAT:??_R4CDes@@6B@ ; CDes::`vftable' DQ FLAT:??_ECDes@@UEAAPEAXI@Z CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$??_GCDes@@UEAAPEAXI@Z DD 010d01H DD 0420dH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?BitToByte@CDes@@IEAAXPEADPEB_NH@Z DD 011801H DD 06218H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?ByteToBit@CDes@@IEAAXPEA_NPEBDH@Z DD 011801H DD 02218H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?RotateL@CDes@@IEAAXPEA_NHH@Z DD 011801H DD 06218H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?Xor@CDes@@IEAAXPEA_NPEB_NH@Z DD 011801H DD 02218H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?Transform@CDes@@IEAAXPEA_N0PEBDH@Z DD 011801H DD 06218H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?S_func@CDes@@IEAAXQEA_NQEB_N@Z DD 011301H DD 06213H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 01dH DB 0c5H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$?F_func@CDes@@IEAAXQEA_NQEB_N@Z DD 012219H DD 0e213H DD imagerel __GSHandlerCheck DD 060H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 020H DW 0167H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$?SetSubKey@CDes@@IEAAXPEAY1BA@DA@_NQEBD@Z DD 022819H DD 0150116H DD imagerel __GSHandlerCheck DD 090H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?SetKey@CDes@@IEAAXPEBDH@Z DD 011301H DD 06213H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 025H DW 022aH voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$?DES@CDes@@IEAAXQEAD0QEAY1BA@DA@_N_N@Z DD 022d19H DD 019011bH DD imagerel __GSHandlerCheck DD 0b0H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?Des_Go@CDes@@IEAA_NPEAD0JPEBDH_N@Z DD 011801H DD 0a218H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?HexToAscii@CDes@@IEAAXPEAD0@Z DD 011301H DD 0a213H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?AsciiToHex@CDes@@IEAAXPEAD0J@Z DD 011801H DD 06218H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 00H voltbl ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 02cH DW 0114H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$?dtor$2@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD 020601H DD 050023206H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?dtor$1@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD 020601H DD 050023206H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?dtor$0@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD 020601H DD 050023206H xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?catch$3@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DB 010H DB 00H DB 02H DB 01aH DB 02H DB 01aH DB 04H DB 'N' DB 06H DB '^' DB 08H DB 016H DB 04H DB 082H DB 02H DB '&' DB 02H xdata ENDS ; COMDAT xdata xdata SEGMENT $stateUnwindMap$?catch$3@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DB 08H DB 08H DB 0eH DD imagerel ?dtor$0@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DB 02eH DD imagerel ?dtor$1@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DB 02eH DD imagerel ?dtor$2@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?catch$3@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DB 09H DD imagerel $stateUnwindMap$?catch$3@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD imagerel $ip2state$?catch$3@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DB 0b0H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?catch$3@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD 020a19H DD 05006720aH DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$?catch$3@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z DB 06H DB 00H DB 00H DB 'u', 02H DB 02H DB 092H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $handlerMap$?Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z DB 02H DB 00H DD imagerel ?catch$3@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA xdata ENDS ; COMDAT xdata xdata SEGMENT $tryMap$?Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z DB 02H DB 00H DB 00H DB 02H DD imagerel $handlerMap$?Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $stateUnwindMap$?Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z DB 04H DB 08H DB 016H DD imagerel ?dtor$2@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z DB 018H DD imagerel $stateUnwindMap$?Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z DD imagerel $tryMap$?Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z DD imagerel $ip2state$?Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z DD 033419H DD 03900122H DD 07015H DD imagerel __GSHandlerCheck_EH4 DD imagerel $cppxdata$?Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z DD 01c73H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 00H voltbl ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 02cH DW 018cH voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$?dtor$2@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD 020601H DD 050023206H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?dtor$1@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD 020601H DD 050023206H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?dtor$0@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD 020601H DD 050023206H xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?catch$3@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DB 010H DB 00H DB 02H DB 01aH DB 02H DB 01aH DB 04H DB 'N' DB 06H DB '^' DB 08H DB 016H DB 04H DB 082H DB 02H DB '&' DB 02H xdata ENDS ; COMDAT xdata xdata SEGMENT $stateUnwindMap$?catch$3@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DB 08H DB 08H DB 0eH DD imagerel ?dtor$0@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DB 02eH DD imagerel ?dtor$1@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DB 02eH DD imagerel ?dtor$2@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?catch$3@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DB 09H DD imagerel $stateUnwindMap$?catch$3@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD imagerel $ip2state$?catch$3@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DB 0b0H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?catch$3@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA DD 020a19H DD 05006720aH DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$?catch$3@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z DB 06H DB 00H DB 00H DB 'q', 03H DB 02H DB 092H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $handlerMap$?Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z DB 02H DB 00H DD imagerel ?catch$3@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA xdata ENDS ; COMDAT xdata xdata SEGMENT $tryMap$?Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z DB 02H DB 00H DB 00H DB 02H DD imagerel $handlerMap$?Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $stateUnwindMap$?Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z DB 04H DB 08H DB 016H DD imagerel ?dtor$2@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z DB 018H DD imagerel $stateUnwindMap$?Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z DD imagerel $tryMap$?Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z DD imagerel $ip2state$?Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z DD 033419H DD 03900122H DD 07015H DD imagerel __GSHandlerCheck_EH4 DD imagerel $cppxdata$?Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z DD 01c73H xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUIAtlStringMgr@ATL@@XZ DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUIAtlStringMgr@ATL@@XZ DB 040H DD imagerel $ip2state$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUIAtlStringMgr@ATL@@XZ xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUIAtlStringMgr@ATL@@XZ DD 010419H DD 04204H DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUIAtlStringMgr@ATL@@XZ xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUHINSTANCE__@@I@Z DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUHINSTANCE__@@I@Z DB 040H DD imagerel $ip2state$?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUHINSTANCE__@@I@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUHINSTANCE__@@I@Z DD 010819H DD 04208H DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUHINSTANCE__@@I@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AEAA_NPEBX@Z DD 010e01H DD 0620eH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAHPEAUHINSTANCE__@@I@Z DD 011301H DD 08213H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAHI@Z DD 010d01H DD 0620dH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAAEAV01@PEB_W@Z DD 010e01H DD 0420eH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?dtor$0@?0???1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ@4HA DD 020601H DD 050023206H xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $stateUnwindMap$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ DB 02H DB 0eH DD imagerel ?dtor$0@?0???1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ@4HA xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ DB 048H DD imagerel $stateUnwindMap$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ DD imagerel $ip2state$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ DD 010911H DD 04209H DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?dtor$0@?0???0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z@4HA DD 020601H DD 050023206H xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z DB 06H DB 00H DB 00H DB 'B' DB 02H DB 'L' DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $stateUnwindMap$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z DB 02H DB 0eH DD imagerel ?dtor$0@?0???0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z@4HA xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z DB 08H DD imagerel $stateUnwindMap$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z DD imagerel $ip2state$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z DD 010e11H DD 0420eH DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z DD 010d01H DD 0420dH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z DD 010d01H DD 0820dH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z DD 010d01H DD 0620dH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AEAAPEA_WH@Z DD 010d01H DD 0620dH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?Fork@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z DD 010d01H DD 0c20dH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?Attach@?$CSimpleStringT@_W$0A@@ATL@@AEAAXPEAUCStringData@2@@Z DD 010e01H DD 0420eH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ DD 010401H DD 04204H xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPEB_W@Z DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPEB_W@Z DB 040H DD imagerel $ip2state$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPEB_W@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPEB_W@Z DD 010919H DD 04209H DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPEB_W@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPEA_W_KPEB_WH@Z DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPEA_W_KPEB_WH@Z DB 040H DD imagerel $ip2state$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPEA_W_KPEB_WH@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPEA_W_KPEB_WH@Z DD 011819H DD 04218H DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPEA_W_KPEB_WH@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_WH@Z DD 011301H DD 0a213H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_W@Z DD 010e01H DD 0420eH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QEAAXH@Z DD 010d01H DD 0420dH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ DD 010901H DD 04209H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QEAAPEA_WH@Z DD 010d01H DD 0420dH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ DD 010901H DD 04209H xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QEAAXXZ DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QEAAXXZ DB 040H DD imagerel $ip2state$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QEAAXXZ xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QEAAXXZ DD 010919H DD 08209H DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QEAAXXZ xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??4?$CSimpleStringT@_W$0A@@ATL@@QEAAAEAV01@PEB_W@Z DD 010e01H DD 0420eH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??1?$CSimpleStringT@_W$0A@@ATL@@QEAA@XZ DD 010901H DD 06209H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??0?$CSimpleStringT@_W$0A@@ATL@@QEAA@PEAUIAtlStringMgr@1@@Z DD 010e01H DD 0620eH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPEA_WHPEB_WH@Z DD 011701H DD 04217H xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_W@Z DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_W@Z DB 040H DD imagerel $ip2state$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_W@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_W@Z DD 010919H DD 04209H DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_W@Z xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 017H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$?Release@CStringData@ATL@@QEAAXXZ DD 010901H DD 06209H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?IsShared@CStringData@ATL@@QEBA_NXZ DD 010901H DD 02209H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?IsLocked@CStringData@ATL@@QEBA_NXZ DD 010901H DD 02209H xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@I@Z DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@I@Z DB 040H DD imagerel $ip2state$?AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@I@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@I@Z DD 010d19H DD 0620dH DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$?AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@I@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?_AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@PEAUHRSRC__@@I@Z DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?_AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@PEAUHRSRC__@@I@Z DB 040H DD imagerel $ip2state$?_AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@PEAUHRSRC__@@I@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?_AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@PEAUHRSRC__@@I@Z DD 011319H DD 08213H DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$?_AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@PEAUHRSRC__@@I@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?AtlStrLen@ATL@@YAHPEB_W@Z DD 010901H DD 04209H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?wmemcpy_s@Checked@ATL@@YAXPEA_W_KPEB_W1@Z DD 011801H DD 04218H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?AtlThrowImpl@ATL@@YAXJ@Z DD 010801H DD 04208H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?AfxCrtErrorCheck@@YAHH@Z DD 010801H DD 06208H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$memmove_s DD 011801H DD 08218H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$memcpy_s DD 011801H DD 08218H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$sprintf DD 011801H DD 06218H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_vsprintf_l DD 011801H DD 06218H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_vsnprintf_l DD 011801H DD 08218H xdata ENDS ; Function compile flags: /Odtp ; COMDAT ??_GCDes@@UEAAPEAXI@Z _TEXT SEGMENT this$ = 48 __flags$ = 56 ??_GCDes@@UEAAPEAXI@Z PROC ; CDes::`scalar deleting destructor', COMDAT $LN4: 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00009 48 83 ec 28 sub rsp, 40 ; 00000028H 0000d 48 8b 4c 24 30 mov rcx, QWORD PTR this$[rsp] 00012 e8 00 00 00 00 call ??1CDes@@UEAA@XZ ; CDes::~CDes 00017 8b 44 24 38 mov eax, DWORD PTR __flags$[rsp] 0001b 83 e0 01 and eax, 1 0001e 85 c0 test eax, eax 00020 74 0f je SHORT $LN2@scalar 00022 ba 68 0a 00 00 mov edx, 2664 ; 00000a68H 00027 48 8b 4c 24 30 mov rcx, QWORD PTR this$[rsp] 0002c e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete $LN2@scalar: 00031 48 8b 44 24 30 mov rax, QWORD PTR this$[rsp] 00036 48 83 c4 28 add rsp, 40 ; 00000028H 0003a c3 ret 0 ??_GCDes@@UEAAPEAXI@Z ENDP ; CDes::`scalar deleting destructor' _TEXT ENDS ; Function compile flags: /Odtp ; File D:\Works\Corpsms_2010\public\des\Des.cpp ; COMDAT ?BitToByte@CDes@@IEAAXPEADPEB_NH@Z _TEXT SEGMENT i$1 = 32 this$ = 64 Out$ = 72 In$ = 80 bits$ = 88 ?BitToByte@CDes@@IEAAXPEADPEB_NH@Z PROC ; CDes::BitToByte, COMDAT ; 133 : { $LN6: 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00014 48 83 ec 38 sub rsp, 56 ; 00000038H ; 134 : memset(Out, 0, bits>>3); 00018 8b 44 24 58 mov eax, DWORD PTR bits$[rsp] 0001c c1 f8 03 sar eax, 3 0001f 48 98 cdqe 00021 4c 8b c0 mov r8, rax 00024 33 d2 xor edx, edx 00026 48 8b 4c 24 48 mov rcx, QWORD PTR Out$[rsp] 0002b e8 00 00 00 00 call memset ; 135 : for(int i=0; i>3] |= In[i]<<(i&7); 0004e 48 63 44 24 20 movsxd rax, DWORD PTR i$1[rsp] 00053 48 8b 4c 24 50 mov rcx, QWORD PTR In$[rsp] 00058 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] 0005c 8b 4c 24 20 mov ecx, DWORD PTR i$1[rsp] 00060 83 e1 07 and ecx, 7 00063 d3 e0 shl eax, cl 00065 8b 4c 24 20 mov ecx, DWORD PTR i$1[rsp] 00069 c1 f9 03 sar ecx, 3 0006c 48 63 c9 movsxd rcx, ecx 0006f 48 8b 54 24 48 mov rdx, QWORD PTR Out$[rsp] 00074 0f be 0c 0a movsx ecx, BYTE PTR [rdx+rcx] 00078 0b c8 or ecx, eax 0007a 8b c1 mov eax, ecx 0007c 8b 4c 24 20 mov ecx, DWORD PTR i$1[rsp] 00080 c1 f9 03 sar ecx, 3 00083 48 63 c9 movsxd rcx, ecx 00086 48 8b 54 24 48 mov rdx, QWORD PTR Out$[rsp] 0008b 88 04 0a mov BYTE PTR [rdx+rcx], al 0008e eb aa jmp SHORT $LN2@BitToByte $LN3@BitToByte: ; 137 : } 00090 48 83 c4 38 add rsp, 56 ; 00000038H 00094 c3 ret 0 ?BitToByte@CDes@@IEAAXPEADPEB_NH@Z ENDP ; CDes::BitToByte _TEXT ENDS ; Function compile flags: /Odtp ; File D:\Works\Corpsms_2010\public\des\Des.cpp ; COMDAT ?ByteToBit@CDes@@IEAAXPEA_NPEBDH@Z _TEXT SEGMENT i$1 = 0 this$ = 32 Out$ = 40 In$ = 48 bits$ = 56 ?ByteToBit@CDes@@IEAAXPEA_NPEBDH@Z PROC ; CDes::ByteToBit, COMDAT ; 128 : { $LN6: 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00014 48 83 ec 18 sub rsp, 24 ; 129 : for(int i=0; i>3]>>(i&7)) & 1; 00032 8b 04 24 mov eax, DWORD PTR i$1[rsp] 00035 c1 f8 03 sar eax, 3 00038 48 98 cdqe 0003a 48 8b 4c 24 30 mov rcx, QWORD PTR In$[rsp] 0003f 0f be 04 01 movsx eax, BYTE PTR [rcx+rax] 00043 8b 0c 24 mov ecx, DWORD PTR i$1[rsp] 00046 83 e1 07 and ecx, 7 00049 d3 f8 sar eax, cl 0004b 83 e0 01 and eax, 1 0004e 48 63 0c 24 movsxd rcx, DWORD PTR i$1[rsp] 00052 48 8b 54 24 28 mov rdx, QWORD PTR Out$[rsp] 00057 88 04 0a mov BYTE PTR [rdx+rcx], al 0005a eb c5 jmp SHORT $LN2@ByteToBit $LN3@ByteToBit: ; 131 : } 0005c 48 83 c4 18 add rsp, 24 00060 c3 ret 0 ?ByteToBit@CDes@@IEAAXPEA_NPEBDH@Z ENDP ; CDes::ByteToBit _TEXT ENDS ; Function compile flags: /Odtp ; File D:\Works\Corpsms_2010\public\des\Des.cpp ; COMDAT ?RotateL@CDes@@IEAAXPEA_NHH@Z _TEXT SEGMENT tv84 = 32 this$ = 64 In$ = 72 len$ = 80 loop$ = 88 ?RotateL@CDes@@IEAAXPEA_NHH@Z PROC ; CDes::RotateL, COMDAT ; 122 : { $LN3: 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00014 48 83 ec 38 sub rsp, 56 ; 00000038H ; 123 : memcpy(Tmp, In, loop); 00018 48 63 44 24 58 movsxd rax, DWORD PTR loop$[rsp] 0001d 48 8b 4c 24 40 mov rcx, QWORD PTR this$[rsp] 00022 48 81 c1 51 09 00 00 add rcx, 2385 ; 00000951H 00029 4c 8b c0 mov r8, rax 0002c 48 8b 54 24 48 mov rdx, QWORD PTR In$[rsp] 00031 e8 00 00 00 00 call memcpy ; 124 : memcpy(In, In+loop, len-loop); 00036 8b 44 24 58 mov eax, DWORD PTR loop$[rsp] 0003a 8b 4c 24 50 mov ecx, DWORD PTR len$[rsp] 0003e 2b c8 sub ecx, eax 00040 8b c1 mov eax, ecx 00042 48 98 cdqe 00044 48 63 4c 24 58 movsxd rcx, DWORD PTR loop$[rsp] 00049 48 8b 54 24 48 mov rdx, QWORD PTR In$[rsp] 0004e 48 03 d1 add rdx, rcx 00051 48 8b ca mov rcx, rdx 00054 4c 8b c0 mov r8, rax 00057 48 8b d1 mov rdx, rcx 0005a 48 8b 4c 24 48 mov rcx, QWORD PTR In$[rsp] 0005f e8 00 00 00 00 call memcpy ; 125 : memcpy(In+len-loop, Tmp, loop); 00064 48 63 44 24 58 movsxd rax, DWORD PTR loop$[rsp] 00069 48 8b 4c 24 40 mov rcx, QWORD PTR this$[rsp] 0006e 48 81 c1 51 09 00 00 add rcx, 2385 ; 00000951H 00075 48 63 54 24 50 movsxd rdx, DWORD PTR len$[rsp] 0007a 4c 8b 44 24 48 mov r8, QWORD PTR In$[rsp] 0007f 4c 03 c2 add r8, rdx 00082 49 8b d0 mov rdx, r8 00085 4c 63 44 24 58 movsxd r8, DWORD PTR loop$[rsp] 0008a 49 2b d0 sub rdx, r8 0008d 48 89 54 24 20 mov QWORD PTR tv84[rsp], rdx 00092 4c 8b c0 mov r8, rax 00095 48 8b d1 mov rdx, rcx 00098 48 8b 44 24 20 mov rax, QWORD PTR tv84[rsp] 0009d 48 8b c8 mov rcx, rax 000a0 e8 00 00 00 00 call memcpy ; 126 : } 000a5 48 83 c4 38 add rsp, 56 ; 00000038H 000a9 c3 ret 0 ?RotateL@CDes@@IEAAXPEA_NHH@Z ENDP ; CDes::RotateL _TEXT ENDS ; Function compile flags: /Odtp ; File D:\Works\Corpsms_2010\public\des\Des.cpp ; COMDAT ?Xor@CDes@@IEAAXPEA_NPEB_NH@Z _TEXT SEGMENT i$1 = 0 this$ = 32 InA$ = 40 InB$ = 48 len$ = 56 ?Xor@CDes@@IEAAXPEA_NPEB_NH@Z PROC ; CDes::Xor, COMDAT ; 117 : { $LN6: 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00014 48 83 ec 18 sub rsp, 24 ; 118 : for(int i=0; i16?16:len); 0002e 83 7c 24 50 10 cmp DWORD PTR len$[rsp], 16 00033 7e 0a jle SHORT $LN3@SetKey 00035 c7 44 24 24 10 00 00 00 mov DWORD PTR tv70[rsp], 16 0003d eb 08 jmp SHORT $LN4@SetKey $LN3@SetKey: 0003f 8b 44 24 50 mov eax, DWORD PTR len$[rsp] 00043 89 44 24 24 mov DWORD PTR tv70[rsp], eax $LN4@SetKey: 00047 48 63 44 24 24 movsxd rax, DWORD PTR tv70[rsp] 0004c 48 8b 4c 24 40 mov rcx, QWORD PTR this$[rsp] 00051 48 81 c1 51 0a 00 00 add rcx, 2641 ; 00000a51H 00058 4c 8b c0 mov r8, rax 0005b 48 8b 54 24 48 mov rdx, QWORD PTR Key$[rsp] 00060 e8 00 00 00 00 call memcpy ; 57 : SetSubKey(&SubKey[0], &deskey[0]); 00065 b8 01 00 00 00 mov eax, 1 0006a 48 6b c0 00 imul rax, rax, 0 0006e 48 8b 4c 24 40 mov rcx, QWORD PTR this$[rsp] 00073 48 8d 84 01 51 0a 00 00 lea rax, QWORD PTR [rcx+rax+2641] 0007b b9 00 03 00 00 mov ecx, 768 ; 00000300H 00080 48 6b c9 00 imul rcx, rcx, 0 00084 48 8b 54 24 40 mov rdx, QWORD PTR this$[rsp] 00089 48 8d 8c 0a 50 03 00 00 lea rcx, QWORD PTR [rdx+rcx+848] 00091 4c 8b c0 mov r8, rax 00094 48 8b d1 mov rdx, rcx 00097 48 8b 4c 24 40 mov rcx, QWORD PTR this$[rsp] 0009c e8 00 00 00 00 call ?SetSubKey@CDes@@IEAAXPEAY1BA@DA@_NQEBD@Z ; CDes::SetSubKey ; 58 : Is3DES = len>8 ? (SetSubKey(&SubKey[1], &deskey[8]), true) : false; 000a1 83 7c 24 50 08 cmp DWORD PTR len$[rsp], 8 000a6 7e 43 jle SHORT $LN5@SetKey 000a8 b8 01 00 00 00 mov eax, 1 000ad 48 6b c0 08 imul rax, rax, 8 000b1 48 8b 4c 24 40 mov rcx, QWORD PTR this$[rsp] 000b6 48 8d 84 01 51 0a 00 00 lea rax, QWORD PTR [rcx+rax+2641] 000be b9 00 03 00 00 mov ecx, 768 ; 00000300H 000c3 48 6b c9 01 imul rcx, rcx, 1 000c7 48 8b 54 24 40 mov rdx, QWORD PTR this$[rsp] 000cc 48 8d 8c 0a 50 03 00 00 lea rcx, QWORD PTR [rdx+rcx+848] 000d4 4c 8b c0 mov r8, rax 000d7 48 8b d1 mov rdx, rcx 000da 48 8b 4c 24 40 mov rcx, QWORD PTR this$[rsp] 000df e8 00 00 00 00 call ?SetSubKey@CDes@@IEAAXPEAY1BA@DA@_NQEBD@Z ; CDes::SetSubKey 000e4 c6 44 24 20 01 mov BYTE PTR tv95[rsp], 1 000e9 eb 05 jmp SHORT $LN6@SetKey $LN5@SetKey: 000eb c6 44 24 20 00 mov BYTE PTR tv95[rsp], 0 $LN6@SetKey: 000f0 48 8b 44 24 40 mov rax, QWORD PTR this$[rsp] 000f5 0f b6 4c 24 20 movzx ecx, BYTE PTR tv95[rsp] 000fa 88 88 50 09 00 00 mov BYTE PTR [rax+2384], cl ; 59 : } 00100 48 83 c4 38 add rsp, 56 ; 00000038H 00104 c3 ret 0 ?SetKey@CDes@@IEAAXPEBDH@Z ENDP ; CDes::SetKey _TEXT ENDS ; Function compile flags: /Odtp ; File D:\Works\Corpsms_2010\public\des\Des.cpp ; COMDAT ?DES@CDes@@IEAAXQEAD0QEAY1BA@DA@_N_N@Z _TEXT SEGMENT i$1 = 48 i$2 = 52 Li$ = 56 Ri$ = 64 tmp$ = 72 M$ = 112 __$ArrayPad$ = 176 this$ = 208 Out$ = 216 In$ = 224 pSubKey$ = 232 Type$ = 240 ?DES@CDes@@IEAAXQEAD0QEAY1BA@DA@_N_N@Z PROC ; CDes::DES, COMDAT ; 61 : { $LN11: 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00014 48 81 ec c8 00 00 00 sub rsp, 200 ; 000000c8H 0001b 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00022 48 33 c4 xor rax, rsp 00025 48 89 84 24 b0 00 00 00 mov QWORD PTR __$ArrayPad$[rsp], rax ; 62 : bool M[64], tmp[32], *Li=&M[0], *Ri=&M[32]; 0002d b8 01 00 00 00 mov eax, 1 00032 48 6b c0 00 imul rax, rax, 0 00036 48 8d 44 04 70 lea rax, QWORD PTR M$[rsp+rax] 0003b 48 89 44 24 38 mov QWORD PTR Li$[rsp], rax 00040 b8 01 00 00 00 mov eax, 1 00045 48 6b c0 20 imul rax, rax, 32 ; 00000020H 00049 48 8d 44 04 70 lea rax, QWORD PTR M$[rsp+rax] 0004e 48 89 44 24 40 mov QWORD PTR Ri$[rsp], rax ; 63 : ByteToBit(M, In, 64); 00053 41 b9 40 00 00 00 mov r9d, 64 ; 00000040H 00059 4c 8b 84 24 e0 00 00 00 mov r8, QWORD PTR In$[rsp] 00061 48 8d 54 24 70 lea rdx, QWORD PTR M$[rsp] 00066 48 8b 8c 24 d0 00 00 00 mov rcx, QWORD PTR this$[rsp] 0006e e8 00 00 00 00 call ?ByteToBit@CDes@@IEAAXPEA_NPEBDH@Z ; CDes::ByteToBit ; 64 : Transform(M, M, IP_Table, 64); 00073 48 8b 84 24 d0 00 00 00 mov rax, QWORD PTR this$[rsp] 0007b 48 83 c0 08 add rax, 8 0007f c7 44 24 20 40 00 00 00 mov DWORD PTR [rsp+32], 64 ; 00000040H 00087 4c 8b c8 mov r9, rax 0008a 4c 8d 44 24 70 lea r8, QWORD PTR M$[rsp] 0008f 48 8d 54 24 70 lea rdx, QWORD PTR M$[rsp] 00094 48 8b 8c 24 d0 00 00 00 mov rcx, QWORD PTR this$[rsp] 0009c e8 00 00 00 00 call ?Transform@CDes@@IEAAXPEA_N0PEBDH@Z ; CDes::Transform ; 65 : if( Type == ENCRYPT_DES ){ 000a1 0f b6 84 24 f0 00 00 00 movzx eax, BYTE PTR Type$[rsp] 000a9 85 c0 test eax, eax 000ab 0f 85 98 00 00 00 jne $LN8@DES ; 66 : for(int i=0; i<16; ++i) { 000b1 c7 44 24 30 00 00 00 00 mov DWORD PTR i$1[rsp], 0 000b9 eb 0a jmp SHORT $LN4@DES $LN2@DES: 000bb 8b 44 24 30 mov eax, DWORD PTR i$1[rsp] 000bf ff c0 inc eax 000c1 89 44 24 30 mov DWORD PTR i$1[rsp], eax $LN4@DES: 000c5 83 7c 24 30 10 cmp DWORD PTR i$1[rsp], 16 000ca 7d 78 jge SHORT $LN3@DES ; 67 : memcpy(tmp, Ri, 32); 000cc 41 b8 20 00 00 00 mov r8d, 32 ; 00000020H 000d2 48 8b 54 24 40 mov rdx, QWORD PTR Ri$[rsp] 000d7 48 8d 4c 24 48 lea rcx, QWORD PTR tmp$[rsp] 000dc e8 00 00 00 00 call memcpy ; 68 : F_func(Ri, (*pSubKey)[i]); 000e1 48 63 44 24 30 movsxd rax, DWORD PTR i$1[rsp] 000e6 48 6b c0 30 imul rax, rax, 48 ; 00000030H 000ea 48 8b 8c 24 e8 00 00 00 mov rcx, QWORD PTR pSubKey$[rsp] 000f2 48 03 c8 add rcx, rax 000f5 48 8b c1 mov rax, rcx 000f8 4c 8b c0 mov r8, rax 000fb 48 8b 54 24 40 mov rdx, QWORD PTR Ri$[rsp] 00100 48 8b 8c 24 d0 00 00 00 mov rcx, QWORD PTR this$[rsp] 00108 e8 00 00 00 00 call ?F_func@CDes@@IEAAXQEA_NQEB_N@Z ; CDes::F_func ; 69 : Xor(Ri, Li, 32); 0010d 41 b9 20 00 00 00 mov r9d, 32 ; 00000020H 00113 4c 8b 44 24 38 mov r8, QWORD PTR Li$[rsp] 00118 48 8b 54 24 40 mov rdx, QWORD PTR Ri$[rsp] 0011d 48 8b 8c 24 d0 00 00 00 mov rcx, QWORD PTR this$[rsp] 00125 e8 00 00 00 00 call ?Xor@CDes@@IEAAXPEA_NPEB_NH@Z ; CDes::Xor ; 70 : memcpy(Li, tmp, 32); 0012a 41 b8 20 00 00 00 mov r8d, 32 ; 00000020H 00130 48 8d 54 24 48 lea rdx, QWORD PTR tmp$[rsp] 00135 48 8b 4c 24 38 mov rcx, QWORD PTR Li$[rsp] 0013a e8 00 00 00 00 call memcpy ; 71 : } 0013f e9 77 ff ff ff jmp $LN2@DES $LN3@DES: ; 72 : }else{ 00144 e9 93 00 00 00 jmp $LN9@DES $LN8@DES: ; 73 : for(int i=15; i>=0; --i) { 00149 c7 44 24 34 0f 00 00 00 mov DWORD PTR i$2[rsp], 15 00151 eb 0a jmp SHORT $LN7@DES $LN5@DES: 00153 8b 44 24 34 mov eax, DWORD PTR i$2[rsp] 00157 ff c8 dec eax 00159 89 44 24 34 mov DWORD PTR i$2[rsp], eax $LN7@DES: 0015d 83 7c 24 34 00 cmp DWORD PTR i$2[rsp], 0 00162 7c 78 jl SHORT $LN6@DES ; 74 : memcpy(tmp, Li, 32); 00164 41 b8 20 00 00 00 mov r8d, 32 ; 00000020H 0016a 48 8b 54 24 38 mov rdx, QWORD PTR Li$[rsp] 0016f 48 8d 4c 24 48 lea rcx, QWORD PTR tmp$[rsp] 00174 e8 00 00 00 00 call memcpy ; 75 : F_func(Li, (*pSubKey)[i]); 00179 48 63 44 24 34 movsxd rax, DWORD PTR i$2[rsp] 0017e 48 6b c0 30 imul rax, rax, 48 ; 00000030H 00182 48 8b 8c 24 e8 00 00 00 mov rcx, QWORD PTR pSubKey$[rsp] 0018a 48 03 c8 add rcx, rax 0018d 48 8b c1 mov rax, rcx 00190 4c 8b c0 mov r8, rax 00193 48 8b 54 24 38 mov rdx, QWORD PTR Li$[rsp] 00198 48 8b 8c 24 d0 00 00 00 mov rcx, QWORD PTR this$[rsp] 001a0 e8 00 00 00 00 call ?F_func@CDes@@IEAAXQEA_NQEB_N@Z ; CDes::F_func ; 76 : Xor(Li, Ri, 32); 001a5 41 b9 20 00 00 00 mov r9d, 32 ; 00000020H 001ab 4c 8b 44 24 40 mov r8, QWORD PTR Ri$[rsp] 001b0 48 8b 54 24 38 mov rdx, QWORD PTR Li$[rsp] 001b5 48 8b 8c 24 d0 00 00 00 mov rcx, QWORD PTR this$[rsp] 001bd e8 00 00 00 00 call ?Xor@CDes@@IEAAXPEA_NPEB_NH@Z ; CDes::Xor ; 77 : memcpy(Ri, tmp, 32); 001c2 41 b8 20 00 00 00 mov r8d, 32 ; 00000020H 001c8 48 8d 54 24 48 lea rdx, QWORD PTR tmp$[rsp] 001cd 48 8b 4c 24 40 mov rcx, QWORD PTR Ri$[rsp] 001d2 e8 00 00 00 00 call memcpy ; 78 : } 001d7 e9 77 ff ff ff jmp $LN5@DES $LN6@DES: $LN9@DES: ; 79 : } ; 80 : Transform(M, M, IPR_Table, 64); 001dc 48 8b 84 24 d0 00 00 00 mov rax, QWORD PTR this$[rsp] 001e4 48 83 c0 48 add rax, 72 ; 00000048H 001e8 c7 44 24 20 40 00 00 00 mov DWORD PTR [rsp+32], 64 ; 00000040H 001f0 4c 8b c8 mov r9, rax 001f3 4c 8d 44 24 70 lea r8, QWORD PTR M$[rsp] 001f8 48 8d 54 24 70 lea rdx, QWORD PTR M$[rsp] 001fd 48 8b 8c 24 d0 00 00 00 mov rcx, QWORD PTR this$[rsp] 00205 e8 00 00 00 00 call ?Transform@CDes@@IEAAXPEA_N0PEBDH@Z ; CDes::Transform ; 81 : BitToByte(Out, M, 64); 0020a 41 b9 40 00 00 00 mov r9d, 64 ; 00000040H 00210 4c 8d 44 24 70 lea r8, QWORD PTR M$[rsp] 00215 48 8b 94 24 d8 00 00 00 mov rdx, QWORD PTR Out$[rsp] 0021d 48 8b 8c 24 d0 00 00 00 mov rcx, QWORD PTR this$[rsp] 00225 e8 00 00 00 00 call ?BitToByte@CDes@@IEAAXPEADPEB_NH@Z ; CDes::BitToByte ; 82 : } 0022a 48 8b 8c 24 b0 00 00 00 mov rcx, QWORD PTR __$ArrayPad$[rsp] 00232 48 33 cc xor rcx, rsp 00235 e8 00 00 00 00 call __security_check_cookie 0023a 48 81 c4 c8 00 00 00 add rsp, 200 ; 000000c8H 00241 c3 ret 0 ?DES@CDes@@IEAAXQEAD0QEAY1BA@DA@_N_N@Z ENDP ; CDes::DES _TEXT ENDS ; Function compile flags: /Odtp ; File D:\Works\Corpsms_2010\public\des\Des.cpp ; COMDAT ?Des_Go@CDes@@IEAA_NPEAD0JPEBDH_N@Z _TEXT SEGMENT tv137 = 48 i$1 = 52 i$2 = 56 j$3 = 60 j$4 = 64 this$ = 96 Out$ = 104 In$ = 112 datalen$ = 120 Key$ = 128 keylen$ = 136 Type$ = 144 ?Des_Go@CDes@@IEAA_NPEAD0JPEBDH_N@Z PROC ; CDes::Des_Go, COMDAT ; 37 : { $LN15: 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00014 48 83 ec 58 sub rsp, 88 ; 00000058H ; 38 : if( !( Out && In && Key && (datalen=(datalen+7)&0xfffffff8) ) ) 00018 48 83 7c 24 68 00 cmp QWORD PTR Out$[rsp], 0 0001e 74 28 je SHORT $LN9@Des_Go 00020 48 83 7c 24 70 00 cmp QWORD PTR In$[rsp], 0 00026 74 20 je SHORT $LN9@Des_Go 00028 48 83 bc 24 80 00 00 00 00 cmp QWORD PTR Key$[rsp], 0 00031 74 15 je SHORT $LN9@Des_Go 00033 8b 44 24 78 mov eax, DWORD PTR datalen$[rsp] 00037 83 c0 07 add eax, 7 0003a 83 e0 f8 and eax, -8 ; fffffff8H 0003d 89 44 24 78 mov DWORD PTR datalen$[rsp], eax 00041 83 7c 24 78 00 cmp DWORD PTR datalen$[rsp], 0 00046 75 07 jne SHORT $LN8@Des_Go $LN9@Des_Go: ; 39 : return false; 00048 32 c0 xor al, al 0004a e9 c3 01 00 00 jmp $LN1@Des_Go $LN8@Des_Go: ; 40 : SetKey(Key, keylen); 0004f 44 8b 84 24 88 00 00 00 mov r8d, DWORD PTR keylen$[rsp] 00057 48 8b 94 24 80 00 00 00 mov rdx, QWORD PTR Key$[rsp] 0005f 48 8b 4c 24 60 mov rcx, QWORD PTR this$[rsp] 00064 e8 00 00 00 00 call ?SetKey@CDes@@IEAAXPEBDH@Z ; CDes::SetKey ; 41 : if( !Is3DES ) { // 1´ÎDES 00069 48 8b 44 24 60 mov rax, QWORD PTR this$[rsp] 0006e 0f b6 80 50 09 00 00 movzx eax, BYTE PTR [rax+2384] 00075 85 c0 test eax, eax 00077 0f 85 85 00 00 00 jne $LN10@Des_Go ; 42 : for(long i=0,j=datalen>>3; i>3; i > >::CStringT > > 00035 48 89 45 50 mov QWORD PTR tv86[rbp], rax 00039 48 8b 45 50 mov rax, QWORD PTR tv86[rbp] 0003d 48 89 45 58 mov QWORD PTR tv154[rbp], rax 00041 48 8b 45 58 mov rax, QWORD PTR tv154[rbp] 00045 48 89 45 78 mov QWORD PTR tv94[rbp], rax 00049 48 8d 85 90 00 00 00 lea rax, QWORD PTR $T4[rbp] 00050 48 89 45 60 mov QWORD PTR $T2[rbp], rax 00054 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:$SG321097 0005b 48 8b 4d 60 mov rcx, QWORD PTR $T2[rbp] 0005f e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z ; ATL::CStringT > >::CStringT > > 00064 48 89 45 68 mov QWORD PTR tv158[rbp], rax 00068 48 8b 45 68 mov rax, QWORD PTR tv158[rbp] 0006c 48 89 45 70 mov QWORD PTR tv156[rbp], rax 00070 48 8b 45 70 mov rax, QWORD PTR tv156[rbp] 00074 48 89 85 80 00 00 00 mov QWORD PTR tv140[rbp], rax 0007b 4c 8b 45 78 mov r8, QWORD PTR tv94[rbp] 0007f 48 8b 95 80 00 00 00 mov rdx, QWORD PTR tv140[rbp] 00086 48 8d 8d a0 00 00 00 lea rcx, QWORD PTR NXlog$5[rbp] 0008d e8 00 00 00 00 call ?Init@CSAStatusLog@@QEAAXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z ; CSAStatusLog::Init 00092 c7 44 24 20 b9 00 00 00 mov DWORD PTR [rsp+32], 185 ; 000000b9H 0009a 4c 8d 0d 00 00 00 00 lea r9, OFFSET FLAT:$SG321098 000a1 4c 8d 05 00 00 00 00 lea r8, OFFSET FLAT:$SG321099 000a8 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:$SG321100 000af 48 8d 8d a0 00 00 00 lea rcx, QWORD PTR NXlog$5[rbp] 000b6 e8 00 00 00 00 call ?LogError@CSAStatusLog@@QEAAHPEB_WPEBD1J@Z ; CSAStatusLog::LogError 000bb 90 npad 1 000bc 48 8d 8d a0 00 00 00 lea rcx, QWORD PTR NXlog$5[rbp] 000c3 e8 00 00 00 00 call ??1CSAStatusLog@@QEAA@XZ ; CSAStatusLog::~CSAStatusLog ; 186 : #endif ; 187 : b = false; 000c8 c7 45 40 00 00 00 00 mov DWORD PTR b$[rbp], 0 ; 188 : } 000cf 48 8d 05 00 00 00 00 lea rax, $LN12@catch$3 000d6 48 83 c4 40 add rsp, 64 ; 00000040H 000da 5d pop rbp 000db c3 ret 0 000dc cc int 3 ?catch$3@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA ENDP ; `CDes::Decrypt'::`1'::catch$3 text$x ENDS ; Function compile flags: /Odtp ; COMDAT text$x text$x SEGMENT b$ = 64 $T1 = 72 tv86 = 80 tv154 = 88 $T2 = 96 tv158 = 104 tv156 = 112 tv94 = 120 tv140 = 128 $T3 = 136 $T4 = 144 NXlog$5 = 160 szBuf$ = 6256 __$ArrayPad$ = 7280 this$ = 7312 pIn$ = 7320 inLen$ = 7328 pOut$ = 7336 outLen$ = 7344 pKey$ = 7352 keyLen$ = 7360 ?dtor$0@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA PROC ; `CDes::Decrypt'::`1'::dtor$0 00000 40 55 push rbp 00002 48 83 ec 20 sub rsp, 32 ; 00000020H 00006 48 8b ea mov rbp, rdx 00009 48 8d 8d a0 00 00 00 lea rcx, QWORD PTR NXlog$5[rbp] 00010 e8 00 00 00 00 call ??1CSAStatusLog@@QEAA@XZ ; CSAStatusLog::~CSAStatusLog 00015 48 83 c4 20 add rsp, 32 ; 00000020H 00019 5d pop rbp 0001a c3 ret 0 ?dtor$0@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA ENDP ; `CDes::Decrypt'::`1'::dtor$0 text$x ENDS ; Function compile flags: /Odtp ; COMDAT text$x text$x SEGMENT b$ = 64 $T1 = 72 tv86 = 80 tv154 = 88 $T2 = 96 tv158 = 104 tv156 = 112 tv94 = 120 tv140 = 128 $T3 = 136 $T4 = 144 NXlog$5 = 160 szBuf$ = 6256 __$ArrayPad$ = 7280 this$ = 7312 pIn$ = 7320 inLen$ = 7328 pOut$ = 7336 outLen$ = 7344 pKey$ = 7352 keyLen$ = 7360 ?dtor$1@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA PROC ; `CDes::Decrypt'::`1'::dtor$1 00000 40 55 push rbp 00002 48 83 ec 20 sub rsp, 32 ; 00000020H 00006 48 8b ea mov rbp, rdx 00009 48 8b 4d 48 mov rcx, QWORD PTR $T1[rbp] 0000d e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ ; ATL::CStringT > >::~CStringT > > 00012 48 83 c4 20 add rsp, 32 ; 00000020H 00016 5d pop rbp 00017 c3 ret 0 ?dtor$1@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA ENDP ; `CDes::Decrypt'::`1'::dtor$1 text$x ENDS ; Function compile flags: /Odtp ; COMDAT text$x text$x SEGMENT b$ = 64 $T1 = 72 tv86 = 80 tv154 = 88 $T2 = 96 tv158 = 104 tv156 = 112 tv94 = 120 tv140 = 128 $T3 = 136 $T4 = 144 NXlog$5 = 160 szBuf$ = 6256 __$ArrayPad$ = 7280 this$ = 7312 pIn$ = 7320 inLen$ = 7328 pOut$ = 7336 outLen$ = 7344 pKey$ = 7352 keyLen$ = 7360 ?dtor$2@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA PROC ; `CDes::Decrypt'::`1'::dtor$2 00000 40 55 push rbp 00002 48 83 ec 20 sub rsp, 32 ; 00000020H 00006 48 8b ea mov rbp, rdx 00009 48 8b 4d 60 mov rcx, QWORD PTR $T2[rbp] 0000d e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ ; ATL::CStringT > >::~CStringT > > 00012 48 83 c4 20 add rsp, 32 ; 00000020H 00016 5d pop rbp 00017 c3 ret 0 ?dtor$2@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA ENDP ; `CDes::Decrypt'::`1'::dtor$2 text$x ENDS ; Function compile flags: /Odtp ; File D:\Works\Corpsms_2010\public\des\Des.cpp ; COMDAT ?Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z _TEXT SEGMENT lTemp$ = 64 b$ = 68 $T1 = 72 tv95 = 80 tv170 = 88 $T2 = 96 tv174 = 104 tv172 = 112 tv135 = 120 tv149 = 128 $T3 = 136 $T4 = 144 NXlog$5 = 160 szBuf$ = 6256 __$ArrayPad$ = 7280 this$ = 7312 pIn$ = 7320 inLen$ = 7328 pOut$ = 7336 outLen$ = 7344 pKey$ = 7352 keyLen$ = 7360 ?Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z PROC ; CDes::Encrypt, COMDAT ; 140 : { $LN15: 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00014 57 push rdi 00015 b8 80 1c 00 00 mov eax, 7296 ; 00001c80H 0001a e8 00 00 00 00 call __chkstk 0001f 48 2b e0 sub rsp, rax 00022 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00029 48 33 c4 xor rax, rsp 0002c 48 89 84 24 70 1c 00 00 mov QWORD PTR __$ArrayPad$[rsp], rax ; 141 : char szBuf[1024]={0}; 00034 48 8d 84 24 70 18 00 00 lea rax, QWORD PTR szBuf$[rsp] 0003c 48 8b f8 mov rdi, rax 0003f 33 c0 xor eax, eax 00041 b9 00 04 00 00 mov ecx, 1024 ; 00000400H 00046 f3 aa rep stosb ; 142 : //¼ÆËã¼ÓÃÜ·µ»ØµÄ×Ö´®³¤¶È ; 143 : long lTemp = (inLen/8)*8; 00048 8b 84 24 a0 1c 00 00 mov eax, DWORD PTR inLen$[rsp] 0004f 99 cdq 00050 83 e2 07 and edx, 7 00053 03 c2 add eax, edx 00055 c1 f8 03 sar eax, 3 00058 c1 e0 03 shl eax, 3 0005b 89 44 24 40 mov DWORD PTR lTemp$[rsp], eax ; 144 : if ( (inLen/8)*8 != inLen ) 0005f 8b 84 24 a0 1c 00 00 mov eax, DWORD PTR inLen$[rsp] 00066 99 cdq 00067 83 e2 07 and edx, 7 0006a 03 c2 add eax, edx 0006c c1 f8 03 sar eax, 3 0006f c1 e0 03 shl eax, 3 00072 3b 84 24 a0 1c 00 00 cmp eax, DWORD PTR inLen$[rsp] 00079 74 0b je SHORT $LN2@Encrypt ; 145 : lTemp += 8; 0007b 8b 44 24 40 mov eax, DWORD PTR lTemp$[rsp] 0007f 83 c0 08 add eax, 8 00082 89 44 24 40 mov DWORD PTR lTemp$[rsp], eax $LN2@Encrypt: ; 146 : memset( pIn+inLen,0,lTemp-inLen); 00086 8b 84 24 a0 1c 00 00 mov eax, DWORD PTR inLen$[rsp] 0008d 8b 4c 24 40 mov ecx, DWORD PTR lTemp$[rsp] 00091 2b c8 sub ecx, eax 00093 8b c1 mov eax, ecx 00095 48 98 cdqe 00097 48 63 8c 24 a0 1c 00 00 movsxd rcx, DWORD PTR inLen$[rsp] 0009f 48 8b 94 24 98 1c 00 00 mov rdx, QWORD PTR pIn$[rsp] 000a7 48 03 d1 add rdx, rcx 000aa 48 8b ca mov rcx, rdx 000ad 4c 8b c0 mov r8, rax 000b0 33 d2 xor edx, edx 000b2 e8 00 00 00 00 call memset ; 147 : memset( pOut , 0 , outLen ); 000b7 48 8b 84 24 b0 1c 00 00 mov rax, QWORD PTR outLen$[rsp] 000bf 48 63 00 movsxd rax, DWORD PTR [rax] 000c2 4c 8b c0 mov r8, rax 000c5 33 d2 xor edx, edx 000c7 48 8b 8c 24 a8 1c 00 00 mov rcx, QWORD PTR pOut$[rsp] 000cf e8 00 00 00 00 call memset ; 148 : BOOL b = false; 000d4 c7 44 24 44 00 00 00 00 mov DWORD PTR b$[rsp], 0 ; 149 : try ; 150 : { ; 151 : b = Des_Go( szBuf , pIn , inLen , pKey , keyLen , ENCRYPT_DES ); 000dc c6 44 24 30 00 mov BYTE PTR [rsp+48], 0 000e1 8b 84 24 c0 1c 00 00 mov eax, DWORD PTR keyLen$[rsp] 000e8 89 44 24 28 mov DWORD PTR [rsp+40], eax 000ec 48 8b 84 24 b8 1c 00 00 mov rax, QWORD PTR pKey$[rsp] 000f4 48 89 44 24 20 mov QWORD PTR [rsp+32], rax 000f9 44 8b 8c 24 a0 1c 00 00 mov r9d, DWORD PTR inLen$[rsp] 00101 4c 8b 84 24 98 1c 00 00 mov r8, QWORD PTR pIn$[rsp] 00109 48 8d 94 24 70 18 00 00 lea rdx, QWORD PTR szBuf$[rsp] 00111 48 8b 8c 24 90 1c 00 00 mov rcx, QWORD PTR this$[rsp] 00119 e8 00 00 00 00 call ?Des_Go@CDes@@IEAA_NPEAD0JPEBDH_N@Z ; CDes::Des_Go 0011e 0f b6 c0 movzx eax, al 00121 89 44 24 44 mov DWORD PTR b$[rsp], eax 00125 eb 00 jmp SHORT $LN12@Encrypt $LN13@Encrypt: $LN12@Encrypt: ; 152 : }catch( ... ) ; 153 : { ; 154 : #ifndef MOBSETSMS_SDK ; 155 : LOG_APPERROR(_T("T")); ; 156 : #endif ; 157 : b = false; ; 158 : } ; 159 : if ( b ) 00127 83 7c 24 44 00 cmp DWORD PTR b$[rsp], 0 0012c 74 3f je SHORT $LN4@Encrypt ; 160 : { ; 161 : AsciiToHex( szBuf , pOut , lTemp ); 0012e 44 8b 4c 24 40 mov r9d, DWORD PTR lTemp$[rsp] 00133 4c 8b 84 24 a8 1c 00 00 mov r8, QWORD PTR pOut$[rsp] 0013b 48 8d 94 24 70 18 00 00 lea rdx, QWORD PTR szBuf$[rsp] 00143 48 8b 8c 24 90 1c 00 00 mov rcx, QWORD PTR this$[rsp] 0014b e8 00 00 00 00 call ?AsciiToHex@CDes@@IEAAXPEAD0J@Z ; CDes::AsciiToHex ; 162 : outLen = (long)strlen( pOut ); 00150 48 8b 8c 24 a8 1c 00 00 mov rcx, QWORD PTR pOut$[rsp] 00158 e8 00 00 00 00 call strlen 0015d 48 8b 8c 24 b0 1c 00 00 mov rcx, QWORD PTR outLen$[rsp] 00165 89 01 mov DWORD PTR [rcx], eax ; 163 : return true; 00167 b0 01 mov al, 1 00169 eb 21 jmp SHORT $LN1@Encrypt ; 164 : } 0016b eb 1d jmp SHORT $LN5@Encrypt $LN4@Encrypt: ; 165 : else ; 166 : { ; 167 : memset( pOut , 0 , outLen ); 0016d 48 8b 84 24 b0 1c 00 00 mov rax, QWORD PTR outLen$[rsp] 00175 48 63 00 movsxd rax, DWORD PTR [rax] 00178 4c 8b c0 mov r8, rax 0017b 33 d2 xor edx, edx 0017d 48 8b 8c 24 a8 1c 00 00 mov rcx, QWORD PTR pOut$[rsp] 00185 e8 00 00 00 00 call memset $LN5@Encrypt: ; 168 : } ; 169 : return false; 0018a 32 c0 xor al, al $LN1@Encrypt: ; 170 : } 0018c 48 8b 8c 24 70 1c 00 00 mov rcx, QWORD PTR __$ArrayPad$[rsp] 00194 48 33 cc xor rcx, rsp 00197 e8 00 00 00 00 call __security_check_cookie 0019c 48 81 c4 80 1c 00 00 add rsp, 7296 ; 00001c80H 001a3 5f pop rdi 001a4 c3 ret 0 ?Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z ENDP ; CDes::Encrypt _TEXT ENDS ; Function compile flags: /Odtp ; COMDAT text$x text$x SEGMENT lTemp$ = 64 b$ = 68 $T1 = 72 tv95 = 80 tv170 = 88 $T2 = 96 tv174 = 104 tv172 = 112 tv135 = 120 tv149 = 128 $T3 = 136 $T4 = 144 NXlog$5 = 160 szBuf$ = 6256 __$ArrayPad$ = 7280 this$ = 7312 pIn$ = 7320 inLen$ = 7328 pOut$ = 7336 outLen$ = 7344 pKey$ = 7352 keyLen$ = 7360 ?catch$3@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA PROC ; `CDes::Encrypt'::`1'::catch$3 ; 153 : { 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 00005 55 push rbp 00006 48 83 ec 40 sub rsp, 64 ; 00000040H 0000a 48 8b ea mov rbp, rdx __catch$?Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z$0: ; 154 : #ifndef MOBSETSMS_SDK ; 155 : LOG_APPERROR(_T("T")); 0000d 48 8d 8d a0 00 00 00 lea rcx, QWORD PTR NXlog$5[rbp] 00014 e8 00 00 00 00 call ??0CSAStatusLog@@QEAA@XZ ; CSAStatusLog::CSAStatusLog 00019 90 npad 1 0001a 48 8d 85 88 00 00 00 lea rax, QWORD PTR $T3[rbp] 00021 48 89 45 48 mov QWORD PTR $T1[rbp], rax 00025 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:$SG321074 0002c 48 8b 4d 48 mov rcx, QWORD PTR $T1[rbp] 00030 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z ; ATL::CStringT > >::CStringT > > 00035 48 89 45 50 mov QWORD PTR tv95[rbp], rax 00039 48 8b 45 50 mov rax, QWORD PTR tv95[rbp] 0003d 48 89 45 58 mov QWORD PTR tv170[rbp], rax 00041 48 8b 45 58 mov rax, QWORD PTR tv170[rbp] 00045 48 89 45 78 mov QWORD PTR tv135[rbp], rax 00049 48 8d 85 90 00 00 00 lea rax, QWORD PTR $T4[rbp] 00050 48 89 45 60 mov QWORD PTR $T2[rbp], rax 00054 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:$SG321075 0005b 48 8b 4d 60 mov rcx, QWORD PTR $T2[rbp] 0005f e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z ; ATL::CStringT > >::CStringT > > 00064 48 89 45 68 mov QWORD PTR tv174[rbp], rax 00068 48 8b 45 68 mov rax, QWORD PTR tv174[rbp] 0006c 48 89 45 70 mov QWORD PTR tv172[rbp], rax 00070 48 8b 45 70 mov rax, QWORD PTR tv172[rbp] 00074 48 89 85 80 00 00 00 mov QWORD PTR tv149[rbp], rax 0007b 4c 8b 45 78 mov r8, QWORD PTR tv135[rbp] 0007f 48 8b 95 80 00 00 00 mov rdx, QWORD PTR tv149[rbp] 00086 48 8d 8d a0 00 00 00 lea rcx, QWORD PTR NXlog$5[rbp] 0008d e8 00 00 00 00 call ?Init@CSAStatusLog@@QEAAXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z ; CSAStatusLog::Init 00092 c7 44 24 20 9b 00 00 00 mov DWORD PTR [rsp+32], 155 ; 0000009bH 0009a 4c 8d 0d 00 00 00 00 lea r9, OFFSET FLAT:$SG321076 000a1 4c 8d 05 00 00 00 00 lea r8, OFFSET FLAT:$SG321077 000a8 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:$SG321078 000af 48 8d 8d a0 00 00 00 lea rcx, QWORD PTR NXlog$5[rbp] 000b6 e8 00 00 00 00 call ?LogError@CSAStatusLog@@QEAAHPEB_WPEBD1J@Z ; CSAStatusLog::LogError 000bb 90 npad 1 000bc 48 8d 8d a0 00 00 00 lea rcx, QWORD PTR NXlog$5[rbp] 000c3 e8 00 00 00 00 call ??1CSAStatusLog@@QEAA@XZ ; CSAStatusLog::~CSAStatusLog ; 156 : #endif ; 157 : b = false; 000c8 c7 45 44 00 00 00 00 mov DWORD PTR b$[rbp], 0 ; 158 : } 000cf 48 8d 05 00 00 00 00 lea rax, $LN13@catch$3 000d6 48 83 c4 40 add rsp, 64 ; 00000040H 000da 5d pop rbp 000db c3 ret 0 000dc cc int 3 ?catch$3@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA ENDP ; `CDes::Encrypt'::`1'::catch$3 text$x ENDS ; Function compile flags: /Odtp ; COMDAT text$x text$x SEGMENT lTemp$ = 64 b$ = 68 $T1 = 72 tv95 = 80 tv170 = 88 $T2 = 96 tv174 = 104 tv172 = 112 tv135 = 120 tv149 = 128 $T3 = 136 $T4 = 144 NXlog$5 = 160 szBuf$ = 6256 __$ArrayPad$ = 7280 this$ = 7312 pIn$ = 7320 inLen$ = 7328 pOut$ = 7336 outLen$ = 7344 pKey$ = 7352 keyLen$ = 7360 ?dtor$0@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA PROC ; `CDes::Encrypt'::`1'::dtor$0 00000 40 55 push rbp 00002 48 83 ec 20 sub rsp, 32 ; 00000020H 00006 48 8b ea mov rbp, rdx 00009 48 8d 8d a0 00 00 00 lea rcx, QWORD PTR NXlog$5[rbp] 00010 e8 00 00 00 00 call ??1CSAStatusLog@@QEAA@XZ ; CSAStatusLog::~CSAStatusLog 00015 48 83 c4 20 add rsp, 32 ; 00000020H 00019 5d pop rbp 0001a c3 ret 0 ?dtor$0@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA ENDP ; `CDes::Encrypt'::`1'::dtor$0 text$x ENDS ; Function compile flags: /Odtp ; COMDAT text$x text$x SEGMENT lTemp$ = 64 b$ = 68 $T1 = 72 tv95 = 80 tv170 = 88 $T2 = 96 tv174 = 104 tv172 = 112 tv135 = 120 tv149 = 128 $T3 = 136 $T4 = 144 NXlog$5 = 160 szBuf$ = 6256 __$ArrayPad$ = 7280 this$ = 7312 pIn$ = 7320 inLen$ = 7328 pOut$ = 7336 outLen$ = 7344 pKey$ = 7352 keyLen$ = 7360 ?dtor$1@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA PROC ; `CDes::Encrypt'::`1'::dtor$1 00000 40 55 push rbp 00002 48 83 ec 20 sub rsp, 32 ; 00000020H 00006 48 8b ea mov rbp, rdx 00009 48 8b 4d 48 mov rcx, QWORD PTR $T1[rbp] 0000d e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ ; ATL::CStringT > >::~CStringT > > 00012 48 83 c4 20 add rsp, 32 ; 00000020H 00016 5d pop rbp 00017 c3 ret 0 ?dtor$1@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA ENDP ; `CDes::Encrypt'::`1'::dtor$1 text$x ENDS ; Function compile flags: /Odtp ; COMDAT text$x text$x SEGMENT lTemp$ = 64 b$ = 68 $T1 = 72 tv95 = 80 tv170 = 88 $T2 = 96 tv174 = 104 tv172 = 112 tv135 = 120 tv149 = 128 $T3 = 136 $T4 = 144 NXlog$5 = 160 szBuf$ = 6256 __$ArrayPad$ = 7280 this$ = 7312 pIn$ = 7320 inLen$ = 7328 pOut$ = 7336 outLen$ = 7344 pKey$ = 7352 keyLen$ = 7360 ?dtor$2@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA PROC ; `CDes::Encrypt'::`1'::dtor$2 00000 40 55 push rbp 00002 48 83 ec 20 sub rsp, 32 ; 00000020H 00006 48 8b ea mov rbp, rdx 00009 48 8b 4d 60 mov rcx, QWORD PTR $T2[rbp] 0000d e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ ; ATL::CStringT > >::~CStringT > > 00012 48 83 c4 20 add rsp, 32 ; 00000020H 00016 5d pop rbp 00017 c3 ret 0 ?dtor$2@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA ENDP ; `CDes::Encrypt'::`1'::dtor$2 text$x ENDS ; Function compile flags: /Odtp ; 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@@@@SAPEAUIAtlStringMgr@ATL@@XZ _TEXT SEGMENT ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUIAtlStringMgr@ATL@@XZ PROC ; StrTraitMFC >::GetDefaultManager, COMDAT ; 51 : { $LN3: 00000 48 83 ec 28 sub rsp, 40 ; 00000028H ; 52 : return( AfxGetStringManager() ); 00004 e8 00 00 00 00 call ?AfxGetStringManager@@YAPEAUIAtlStringMgr@ATL@@XZ ; AfxGetStringManager 00009 90 npad 1 ; 53 : } 0000a 48 83 c4 28 add rsp, 40 ; 00000028H 0000e c3 ret 0 ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUIAtlStringMgr@ATL@@XZ ENDP ; StrTraitMFC >::GetDefaultManager _TEXT ENDS ; Function compile flags: /Odtp ; 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@@@@SAPEAUHINSTANCE__@@I@Z _TEXT SEGMENT nID$ = 48 ?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUHINSTANCE__@@I@Z PROC ; StrTraitMFC >::FindStringResourceInstance, COMDAT ; 46 : { $LN3: 00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx 00004 48 83 ec 28 sub rsp, 40 ; 00000028H ; 47 : return( AfxFindStringResourceHandle( nID ) ); 00008 8b 4c 24 30 mov ecx, DWORD PTR nID$[rsp] 0000c e8 00 00 00 00 call ?AfxFindStringResourceHandle@@YAPEAUHINSTANCE__@@I@Z ; AfxFindStringResourceHandle 00011 90 npad 1 ; 48 : } 00012 48 83 c4 28 add rsp, 40 ; 00000028H 00016 c3 ret 0 ?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUHINSTANCE__@@I@Z ENDP ; StrTraitMFC >::FindStringResourceInstance _TEXT ENDS ; Function compile flags: /Odtp ; 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@@AEAA_NPEBX@Z _TEXT SEGMENT bRet$ = 32 nID$1 = 36 this$ = 64 pv$ = 72 ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AEAA_NPEBX@Z PROC ; ATL::CStringT > >::CheckImplicitLoad, COMDAT ; 2705 : { $LN5: 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000a 48 83 ec 38 sub rsp, 56 ; 00000038H ; 2706 : bool bRet = false; 0000e c6 44 24 20 00 mov BYTE PTR bRet$[rsp], 0 ; 2707 : ; 2708 : if( (pv != NULL) && IS_INTRESOURCE( pv ) ) 00013 48 83 7c 24 48 00 cmp QWORD PTR pv$[rsp], 0 00019 74 33 je SHORT $LN2@CheckImpli 0001b 48 8b 44 24 48 mov rax, QWORD PTR pv$[rsp] 00020 48 c1 e8 10 shr rax, 16 00024 48 85 c0 test rax, rax 00027 75 25 jne SHORT $LN2@CheckImpli ; 2709 : { ; 2710 : UINT nID = LOWORD( reinterpret_cast< DWORD_PTR >( pv ) ); 00029 48 8b 44 24 48 mov rax, QWORD PTR pv$[rsp] 0002e 48 25 ff ff 00 00 and rax, 65535 ; 0000ffffH 00034 0f b7 c0 movzx eax, ax 00037 89 44 24 24 mov DWORD PTR nID$1[rsp], eax ; 2711 : (nID); ; 2712 : #ifdef _ATL_USE_WINAPI_FAMILY_DESKTOP_APP ; 2713 : if( !LoadString( nID ) ) 0003b 8b 54 24 24 mov edx, DWORD PTR nID$1[rsp] 0003f 48 8b 4c 24 40 mov rcx, QWORD PTR this$[rsp] 00044 e8 00 00 00 00 call ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAHI@Z ; ATL::CStringT > >::LoadStringW ; 2714 : { ; 2715 : ATLTRACE( atlTraceString, 2, _T( "Warning: implicit LoadString(%u) failed\n" ), nID ); ; 2716 : } ; 2717 : bRet = true; 00049 c6 44 24 20 01 mov BYTE PTR bRet$[rsp], 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 ); 0004e 0f b6 44 24 20 movzx eax, BYTE PTR bRet$[rsp] ; 2724 : } 00053 48 83 c4 38 add rsp, 56 ; 00000038H 00057 c3 ret 0 ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AEAA_NPEBX@Z ENDP ; ATL::CStringT > >::CheckImplicitLoad _TEXT ENDS ; Function compile flags: /Odtp ; 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@@QEAAHPEAUHINSTANCE__@@I@Z _TEXT SEGMENT nLength$ = 32 pImage$ = 40 pszBuffer$ = 48 this$ = 80 hInstance$ = 88 nID$ = 96 ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAHPEAUHINSTANCE__@@I@Z PROC ; ATL::CStringT > >::LoadStringW, COMDAT ; 2350 : { $LN4: 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000f 48 83 ec 48 sub rsp, 72 ; 00000048H ; 2351 : const ATLSTRINGRESOURCEIMAGE* pImage = AtlGetStringResourceImage( hInstance, nID ); 00013 8b 54 24 60 mov edx, DWORD PTR nID$[rsp] 00017 48 8b 4c 24 58 mov rcx, QWORD PTR hInstance$[rsp] 0001c e8 00 00 00 00 call ?AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@I@Z ; ATL::AtlGetStringResourceImage 00021 48 89 44 24 28 mov QWORD PTR pImage$[rsp], rax ; 2352 : if( pImage == NULL ) 00026 48 83 7c 24 28 00 cmp QWORD PTR pImage$[rsp], 0 0002c 75 04 jne SHORT $LN2@LoadString ; 2353 : { ; 2354 : return( FALSE ); 0002e 33 c0 xor eax, eax 00030 eb 67 jmp SHORT $LN1@LoadString $LN2@LoadString: ; 2355 : } ; 2356 : ; 2357 : int nLength = StringTraits::GetBaseTypeLength( pImage->achString, pImage->nLength ); 00032 48 8b 44 24 28 mov rax, QWORD PTR pImage$[rsp] 00037 0f b7 00 movzx eax, WORD PTR [rax] 0003a 48 8b 4c 24 28 mov rcx, QWORD PTR pImage$[rsp] 0003f 48 83 c1 02 add rcx, 2 00043 8b d0 mov edx, eax 00045 e8 00 00 00 00 call ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_WH@Z ; ATL::ChTraitsCRT::GetBaseTypeLength 0004a 89 44 24 20 mov DWORD PTR nLength$[rsp], eax ; 2358 : PXSTR pszBuffer = this->GetBuffer( nLength ); 0004e 8b 54 24 20 mov edx, DWORD PTR nLength$[rsp] 00052 48 8b 4c 24 50 mov rcx, QWORD PTR this$[rsp] 00057 e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QEAAPEA_WH@Z ; ATL::CSimpleStringT::GetBuffer 0005c 48 89 44 24 30 mov QWORD PTR pszBuffer$[rsp], rax ; 2359 : StringTraits::ConvertToBaseType( pszBuffer, nLength, pImage->achString, pImage->nLength ); 00061 48 8b 44 24 28 mov rax, QWORD PTR pImage$[rsp] 00066 0f b7 00 movzx eax, WORD PTR [rax] 00069 48 8b 4c 24 28 mov rcx, QWORD PTR pImage$[rsp] 0006e 48 83 c1 02 add rcx, 2 00072 44 8b c8 mov r9d, eax 00075 4c 8b c1 mov r8, rcx 00078 8b 54 24 20 mov edx, DWORD PTR nLength$[rsp] 0007c 48 8b 4c 24 30 mov rcx, QWORD PTR pszBuffer$[rsp] 00081 e8 00 00 00 00 call ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPEA_WHPEB_WH@Z ; ATL::ChTraitsCRT::ConvertToBaseType ; 2360 : this->ReleaseBufferSetLength( nLength ); 00086 8b 54 24 20 mov edx, DWORD PTR nLength$[rsp] 0008a 48 8b 4c 24 50 mov rcx, QWORD PTR this$[rsp] 0008f e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QEAAXH@Z ; ATL::CSimpleStringT::ReleaseBufferSetLength ; 2361 : ; 2362 : return( TRUE ); 00094 b8 01 00 00 00 mov eax, 1 $LN1@LoadString: ; 2363 : } 00099 48 83 c4 48 add rsp, 72 ; 00000048H 0009d c3 ret 0 ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAHPEAUHINSTANCE__@@I@Z ENDP ; ATL::CStringT > >::LoadStringW _TEXT ENDS ; Function compile flags: /Odtp ; 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@@QEAAHI@Z _TEXT SEGMENT hInstance$ = 32 this$ = 64 nID$ = 72 ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAHI@Z PROC ; ATL::CStringT > >::LoadStringW, COMDAT ; 2336 : { $LN4: 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00009 48 83 ec 38 sub rsp, 56 ; 00000038H ; 2337 : HINSTANCE hInstance = StringTraits::FindStringResourceInstance( nID ); 0000d 8b 4c 24 48 mov ecx, DWORD PTR nID$[rsp] 00011 e8 00 00 00 00 call ?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUHINSTANCE__@@I@Z ; StrTraitMFC >::FindStringResourceInstance 00016 48 89 44 24 20 mov QWORD PTR hInstance$[rsp], rax ; 2338 : if( hInstance == NULL ) 0001b 48 83 7c 24 20 00 cmp QWORD PTR hInstance$[rsp], 0 00021 75 04 jne SHORT $LN2@LoadString ; 2339 : { ; 2340 : return( FALSE ); 00023 33 c0 xor eax, eax 00025 eb 14 jmp SHORT $LN1@LoadString $LN2@LoadString: ; 2341 : } ; 2342 : ; 2343 : return( LoadString( hInstance, nID ) ); 00027 44 8b 44 24 48 mov r8d, DWORD PTR nID$[rsp] 0002c 48 8b 54 24 20 mov rdx, QWORD PTR hInstance$[rsp] 00031 48 8b 4c 24 40 mov rcx, QWORD PTR this$[rsp] 00036 e8 00 00 00 00 call ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAHPEAUHINSTANCE__@@I@Z ; ATL::CStringT > >::LoadStringW $LN1@LoadString: ; 2344 : } 0003b 48 83 c4 38 add rsp, 56 ; 00000038H 0003f c3 ret 0 ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAHI@Z ENDP ; ATL::CStringT > >::LoadStringW _TEXT ENDS ; Function compile flags: /Odtp ; 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@@QEAAAEAV01@PEB_W@Z _TEXT SEGMENT this$ = 48 pszSrc$ = 56 ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAAEAV01@PEB_W@Z PROC ; ATL::CStringT > >::operator=, COMDAT ; 1318 : { $LN3: 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000a 48 83 ec 28 sub rsp, 40 ; 00000028H ; 1319 : CThisSimpleString::operator=( pszSrc ); 0000e 48 8b 54 24 38 mov rdx, QWORD PTR pszSrc$[rsp] 00013 48 8b 4c 24 30 mov rcx, QWORD PTR this$[rsp] 00018 e8 00 00 00 00 call ??4?$CSimpleStringT@_W$0A@@ATL@@QEAAAEAV01@PEB_W@Z ; ATL::CSimpleStringT::operator= ; 1320 : ; 1321 : return( *this ); 0001d 48 8b 44 24 30 mov rax, QWORD PTR this$[rsp] ; 1322 : } 00022 48 83 c4 28 add rsp, 40 ; 00000028H 00026 c3 ret 0 ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAAEAV01@PEB_W@Z ENDP ; ATL::CStringT > >::operator= _TEXT ENDS ; Function compile flags: /Odtp ; 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@@QEAA@XZ _TEXT SEGMENT this$ = 48 ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ PROC ; ATL::CStringT > >::~CStringT > >, COMDAT ; 1298 : { $LN4: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 48 83 ec 28 sub rsp, 40 ; 00000028H ; 1299 : } 00009 48 8b 4c 24 30 mov rcx, QWORD PTR this$[rsp] 0000e e8 00 00 00 00 call ??1?$CSimpleStringT@_W$0A@@ATL@@QEAA@XZ ; ATL::CSimpleStringT::~CSimpleStringT 00013 90 npad 1 00014 48 83 c4 28 add rsp, 40 ; 00000028H 00018 c3 ret 0 ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ ENDP ; ATL::CStringT > >::~CStringT > > _TEXT ENDS ; Function compile flags: /Odtp ; COMDAT text$x text$x SEGMENT this$ = 48 ?dtor$0@?0???1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ@4HA PROC ; `ATL::CStringT > >::~CStringT > >'::`1'::dtor$0 00000 40 55 push rbp 00002 48 83 ec 20 sub rsp, 32 ; 00000020H 00006 48 8b ea mov rbp, rdx 00009 48 8b 4d 30 mov rcx, QWORD PTR this$[rbp] 0000d e8 00 00 00 00 call ??1?$CSimpleStringT@_W$0A@@ATL@@QEAA@XZ ; ATL::CSimpleStringT::~CSimpleStringT 00012 48 83 c4 20 add rsp, 32 ; 00000020H 00016 5d pop rbp 00017 c3 ret 0 ?dtor$0@?0???1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ@4HA ENDP ; `ATL::CStringT > >::~CStringT > >'::`1'::dtor$0 text$x ENDS ; Function compile flags: /Odtp ; 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@@QEAA@PEB_W@Z _TEXT SEGMENT this$ = 48 pszSrc$ = 56 ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z PROC ; ATL::CStringT > >::CStringT > >, COMDAT ; 1049 : { $LN5: 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000a 48 83 ec 28 sub rsp, 40 ; 00000028H ; 1048 : CThisSimpleString( StringTraits::GetDefaultManager() ) 0000e e8 00 00 00 00 call ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC >::GetDefaultManager 00013 48 8b d0 mov rdx, rax 00016 48 8b 4c 24 30 mov rcx, QWORD PTR this$[rsp] 0001b e8 00 00 00 00 call ??0?$CSimpleStringT@_W$0A@@ATL@@QEAA@PEAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT::CSimpleStringT 00020 90 npad 1 ; 1050 : if( !CheckImplicitLoad( pszSrc ) ) 00021 48 8b 54 24 38 mov rdx, QWORD PTR pszSrc$[rsp] 00026 48 8b 4c 24 30 mov rcx, QWORD PTR this$[rsp] 0002b e8 00 00 00 00 call ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AEAA_NPEBX@Z ; ATL::CStringT > >::CheckImplicitLoad 00030 0f b6 c0 movzx eax, al 00033 85 c0 test eax, eax 00035 75 10 jne SHORT $LN2@CStringT ; 1051 : { ; 1052 : *this = pszSrc; 00037 48 8b 54 24 38 mov rdx, QWORD PTR pszSrc$[rsp] 0003c 48 8b 4c 24 30 mov rcx, QWORD PTR this$[rsp] 00041 e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAAEAV01@PEB_W@Z ; ATL::CStringT > >::operator= 00046 90 npad 1 $LN2@CStringT: ; 1053 : } ; 1054 : } 00047 48 8b 44 24 30 mov rax, QWORD PTR this$[rsp] 0004c 48 83 c4 28 add rsp, 40 ; 00000028H 00050 c3 ret 0 ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z ENDP ; ATL::CStringT > >::CStringT > > _TEXT ENDS ; Function compile flags: /Odtp ; COMDAT text$x text$x SEGMENT this$ = 48 pszSrc$ = 56 ?dtor$0@?0???0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z@4HA PROC ; `ATL::CStringT > >::CStringT > >'::`1'::dtor$0 00000 40 55 push rbp 00002 48 83 ec 20 sub rsp, 32 ; 00000020H 00006 48 8b ea mov rbp, rdx 00009 48 8b 4d 30 mov rcx, QWORD PTR this$[rbp] 0000d e8 00 00 00 00 call ??1?$CSimpleStringT@_W$0A@@ATL@@QEAA@XZ ; ATL::CSimpleStringT::~CSimpleStringT 00012 48 83 c4 20 add rsp, 32 ; 00000020H 00016 5d pop rbp 00017 c3 ret 0 ?dtor$0@?0???0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z@4HA ENDP ; `ATL::CStringT > >::CStringT > >'::`1'::dtor$0 text$x ENDS ; Function compile flags: /Odtp ; 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@@AEAAXH@Z _TEXT SEGMENT this$ = 48 nLength$ = 56 ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z PROC ; ATL::CSimpleStringT::SetLength, COMDAT ; 867 : { $LN5: 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00009 48 83 ec 28 sub rsp, 40 ; 00000028H ; 868 : ATLASSERT( nLength >= 0 ); ; 869 : ATLASSERT( nLength <= GetData()->nAllocLength ); ; 870 : ; 871 : if( nLength < 0 || nLength > GetData()->nAllocLength) 0000d 83 7c 24 38 00 cmp DWORD PTR nLength$[rsp], 0 00012 7c 13 jl SHORT $LN3@SetLength 00014 48 8b 4c 24 30 mov rcx, QWORD PTR this$[rsp] 00019 e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 0001e 8b 40 0c mov eax, DWORD PTR [rax+12] 00021 39 44 24 38 cmp DWORD PTR nLength$[rsp], eax 00025 7e 0a jle SHORT $LN2@SetLength $LN3@SetLength: ; 872 : AtlThrow(E_INVALIDARG); 00027 b9 57 00 07 80 mov ecx, -2147024809 ; ffffffff80070057H 0002c e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YAXJ@Z ; ATL::AtlThrowImpl $LN2@SetLength: ; 873 : ; 874 : GetData()->nDataLength = nLength; 00031 48 8b 4c 24 30 mov rcx, QWORD PTR this$[rsp] 00036 e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 0003b 8b 4c 24 38 mov ecx, DWORD PTR nLength$[rsp] 0003f 89 48 08 mov DWORD PTR [rax+8], ecx ; 875 : m_pszData[nLength] = 0; 00042 48 63 44 24 38 movsxd rax, DWORD PTR nLength$[rsp] 00047 48 8b 4c 24 30 mov rcx, QWORD PTR this$[rsp] 0004c 48 8b 09 mov rcx, QWORD PTR [rcx] 0004f 33 d2 xor edx, edx 00051 66 89 14 41 mov WORD PTR [rcx+rax*2], dx $LN4@SetLength: ; 876 : } 00055 48 83 c4 28 add rsp, 40 ; 00000028H 00059 c3 ret 0 ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ENDP ; ATL::CSimpleStringT::SetLength _TEXT ENDS ; Function compile flags: /Odtp ; 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@@AEAAXH@Z _TEXT SEGMENT pOldData$ = 32 pStringMgr$ = 40 pNewData$ = 48 tv78 = 56 this$ = 80 nLength$ = 88 ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z PROC ; ATL::CSimpleStringT::Reallocate, COMDAT ; 849 : { $LN6: 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00009 48 83 ec 48 sub rsp, 72 ; 00000048H ; 850 : CStringData* pOldData = GetData(); 0000d 48 8b 4c 24 50 mov rcx, QWORD PTR this$[rsp] 00012 e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 00017 48 89 44 24 20 mov QWORD PTR pOldData$[rsp], rax ; 851 : ATLASSERT( pOldData->nAllocLength < nLength ); ; 852 : IAtlStringMgr* pStringMgr = pOldData->pStringMgr; 0001c 48 8b 44 24 20 mov rax, QWORD PTR pOldData$[rsp] 00021 48 8b 00 mov rax, QWORD PTR [rax] 00024 48 89 44 24 28 mov QWORD PTR pStringMgr$[rsp], rax ; 853 : if ( pOldData->nAllocLength >= nLength || nLength <= 0) 00029 48 8b 44 24 20 mov rax, QWORD PTR pOldData$[rsp] 0002e 8b 4c 24 58 mov ecx, DWORD PTR nLength$[rsp] 00032 39 48 0c cmp DWORD PTR [rax+12], ecx 00035 7d 07 jge SHORT $LN3@Reallocate 00037 83 7c 24 58 00 cmp DWORD PTR nLength$[rsp], 0 0003c 7f 07 jg SHORT $LN2@Reallocate $LN3@Reallocate: ; 854 : { ; 855 : ThrowMemoryException(); 0003e e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT::ThrowMemoryException ; 856 : return; 00043 eb 4b jmp SHORT $LN1@Reallocate $LN2@Reallocate: ; 857 : } ; 858 : CStringData* pNewData = pStringMgr->Reallocate( pOldData, nLength, sizeof( XCHAR ) ); 00045 48 8b 44 24 28 mov rax, QWORD PTR pStringMgr$[rsp] 0004a 48 8b 00 mov rax, QWORD PTR [rax] 0004d 48 8b 40 10 mov rax, QWORD PTR [rax+16] 00051 48 89 44 24 38 mov QWORD PTR tv78[rsp], rax 00056 41 b9 02 00 00 00 mov r9d, 2 0005c 44 8b 44 24 58 mov r8d, DWORD PTR nLength$[rsp] 00061 48 8b 54 24 20 mov rdx, QWORD PTR pOldData$[rsp] 00066 48 8b 4c 24 28 mov rcx, QWORD PTR pStringMgr$[rsp] 0006b ff 54 24 38 call QWORD PTR tv78[rsp] 0006f 48 89 44 24 30 mov QWORD PTR pNewData$[rsp], rax ; 859 : if( pNewData == NULL ) 00074 48 83 7c 24 30 00 cmp QWORD PTR pNewData$[rsp], 0 0007a 75 05 jne SHORT $LN4@Reallocate ; 860 : { ; 861 : ThrowMemoryException(); 0007c e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT::ThrowMemoryException $LN4@Reallocate: ; 862 : } ; 863 : Attach( pNewData ); 00081 48 8b 54 24 30 mov rdx, QWORD PTR pNewData$[rsp] 00086 48 8b 4c 24 50 mov rcx, QWORD PTR this$[rsp] 0008b e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AEAAXPEAUCStringData@2@@Z ; ATL::CSimpleStringT::Attach $LN1@Reallocate: $LN5@Reallocate: ; 864 : } 00090 48 83 c4 48 add rsp, 72 ; 00000048H 00094 c3 ret 0 ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ENDP ; ATL::CSimpleStringT::Reallocate _TEXT ENDS ; Function compile flags: /Odtp ; 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@@AEAAXH@Z _TEXT SEGMENT nNewLength$1 = 32 pOldData$ = 40 this$ = 64 nLength$ = 72 ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z PROC ; ATL::CSimpleStringT::PrepareWrite2, COMDAT ; 818 : { $LN10: 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00009 48 83 ec 38 sub rsp, 56 ; 00000038H ; 819 : CStringData* pOldData = GetData(); 0000d 48 8b 4c 24 40 mov rcx, QWORD PTR this$[rsp] 00012 e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 00017 48 89 44 24 28 mov QWORD PTR pOldData$[rsp], rax ; 820 : if( pOldData->nDataLength > nLength ) 0001c 48 8b 44 24 28 mov rax, QWORD PTR pOldData$[rsp] 00021 8b 4c 24 48 mov ecx, DWORD PTR nLength$[rsp] 00025 39 48 08 cmp DWORD PTR [rax+8], ecx 00028 7e 0c jle SHORT $LN2@PrepareWri ; 821 : { ; 822 : nLength = pOldData->nDataLength; 0002a 48 8b 44 24 28 mov rax, QWORD PTR pOldData$[rsp] 0002f 8b 40 08 mov eax, DWORD PTR [rax+8] 00032 89 44 24 48 mov DWORD PTR nLength$[rsp], eax $LN2@PrepareWri: ; 823 : } ; 824 : if( pOldData->IsShared() ) 00036 48 8b 4c 24 28 mov rcx, QWORD PTR pOldData$[rsp] 0003b e8 00 00 00 00 call ?IsShared@CStringData@ATL@@QEBA_NXZ ; ATL::CStringData::IsShared 00040 0f b6 c0 movzx eax, al 00043 85 c0 test eax, eax 00045 74 10 je SHORT $LN3@PrepareWri ; 825 : { ; 826 : Fork( nLength ); 00047 8b 54 24 48 mov edx, DWORD PTR nLength$[rsp] 0004b 48 8b 4c 24 40 mov rcx, QWORD PTR this$[rsp] 00050 e8 00 00 00 00 call ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ; ATL::CSimpleStringT::Fork ; 827 : } 00055 eb 68 jmp SHORT $LN4@PrepareWri $LN3@PrepareWri: ; 828 : else if( pOldData->nAllocLength < nLength ) 00057 48 8b 44 24 28 mov rax, QWORD PTR pOldData$[rsp] 0005c 8b 4c 24 48 mov ecx, DWORD PTR nLength$[rsp] 00060 39 48 0c cmp DWORD PTR [rax+12], ecx 00063 7d 5a jge SHORT $LN5@PrepareWri ; 829 : { ; 830 : // Grow exponentially, until we hit 1G, then by 1M thereafter. ; 831 : int nNewLength = pOldData->nAllocLength; 00065 48 8b 44 24 28 mov rax, QWORD PTR pOldData$[rsp] 0006a 8b 40 0c mov eax, DWORD PTR [rax+12] 0006d 89 44 24 20 mov DWORD PTR nNewLength$1[rsp], eax ; 832 : if( nNewLength > 1024 * 1024 * 1024 ) 00071 81 7c 24 20 00 00 00 40 cmp DWORD PTR nNewLength$1[rsp], 1073741824 ; 40000000H 00079 7e 0f jle SHORT $LN6@PrepareWri ; 833 : { ; 834 : nNewLength += 1024 * 1024; 0007b 8b 44 24 20 mov eax, DWORD PTR nNewLength$1[rsp] 0007f 05 00 00 10 00 add eax, 1048576 ; 00100000H 00084 89 44 24 20 mov DWORD PTR nNewLength$1[rsp], eax ; 835 : } 00088 eb 15 jmp SHORT $LN7@PrepareWri $LN6@PrepareWri: ; 836 : else ; 837 : { ; 838 : // Exponential growth factor is 1.5. ; 839 : nNewLength = nNewLength + nNewLength / 2; 0008a 8b 44 24 20 mov eax, DWORD PTR nNewLength$1[rsp] 0008e 99 cdq 0008f 2b c2 sub eax, edx 00091 d1 f8 sar eax, 1 00093 8b 4c 24 20 mov ecx, DWORD PTR nNewLength$1[rsp] 00097 03 c8 add ecx, eax 00099 8b c1 mov eax, ecx 0009b 89 44 24 20 mov DWORD PTR nNewLength$1[rsp], eax $LN7@PrepareWri: ; 840 : } ; 841 : if( nNewLength < nLength ) 0009f 8b 44 24 48 mov eax, DWORD PTR nLength$[rsp] 000a3 39 44 24 20 cmp DWORD PTR nNewLength$1[rsp], eax 000a7 7d 08 jge SHORT $LN8@PrepareWri ; 842 : { ; 843 : nNewLength = nLength; 000a9 8b 44 24 48 mov eax, DWORD PTR nLength$[rsp] 000ad 89 44 24 20 mov DWORD PTR nNewLength$1[rsp], eax $LN8@PrepareWri: ; 844 : } ; 845 : Reallocate( nNewLength ); 000b1 8b 54 24 20 mov edx, DWORD PTR nNewLength$1[rsp] 000b5 48 8b 4c 24 40 mov rcx, QWORD PTR this$[rsp] 000ba e8 00 00 00 00 call ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ; ATL::CSimpleStringT::Reallocate $LN5@PrepareWri: $LN4@PrepareWri: ; 846 : } ; 847 : } 000bf 48 83 c4 38 add rsp, 56 ; 00000038H 000c3 c3 ret 0 ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ENDP ; ATL::CSimpleStringT::PrepareWrite2 _TEXT ENDS ; Function compile flags: /Odtp ; 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@@AEAAPEA_WH@Z _TEXT SEGMENT nTooShort$ = 32 nShared$ = 36 pOldData$ = 40 this$ = 64 nLength$ = 72 ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AEAAPEA_WH@Z PROC ; ATL::CSimpleStringT::PrepareWrite, COMDAT ; 803 : { $LN5: 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00009 48 83 ec 38 sub rsp, 56 ; 00000038H ; 804 : if (nLength < 0) 0000d 83 7c 24 48 00 cmp DWORD PTR nLength$[rsp], 0 00012 7d 0a jge SHORT $LN2@PrepareWri ; 805 : AtlThrow(E_INVALIDARG); 00014 b9 57 00 07 80 mov ecx, -2147024809 ; ffffffff80070057H 00019 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YAXJ@Z ; ATL::AtlThrowImpl $LN2@PrepareWri: ; 806 : ; 807 : CStringData* pOldData = GetData(); 0001e 48 8b 4c 24 40 mov rcx, QWORD PTR this$[rsp] 00023 e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 00028 48 89 44 24 28 mov QWORD PTR pOldData$[rsp], rax ; 808 : int nShared = 1-pOldData->nRefs; // nShared < 0 means true, >= 0 means false 0002d 48 8b 44 24 28 mov rax, QWORD PTR pOldData$[rsp] 00032 b9 01 00 00 00 mov ecx, 1 00037 2b 48 10 sub ecx, DWORD PTR [rax+16] 0003a 8b c1 mov eax, ecx 0003c 89 44 24 24 mov DWORD PTR nShared$[rsp], eax ; 809 : int nTooShort = pOldData->nAllocLength-nLength; // nTooShort < 0 means true, >= 0 means false 00040 48 8b 44 24 28 mov rax, QWORD PTR pOldData$[rsp] 00045 8b 4c 24 48 mov ecx, DWORD PTR nLength$[rsp] 00049 8b 40 0c mov eax, DWORD PTR [rax+12] 0004c 2b c1 sub eax, ecx 0004e 89 44 24 20 mov DWORD PTR nTooShort$[rsp], eax ; 810 : if( (nShared|nTooShort) < 0 ) // If either sign bit is set (i.e. either is less than zero), we need to copy data 00052 8b 44 24 20 mov eax, DWORD PTR nTooShort$[rsp] 00056 8b 4c 24 24 mov ecx, DWORD PTR nShared$[rsp] 0005a 0b c8 or ecx, eax 0005c 8b c1 mov eax, ecx 0005e 85 c0 test eax, eax 00060 7d 0e jge SHORT $LN3@PrepareWri ; 811 : { ; 812 : PrepareWrite2( nLength ); 00062 8b 54 24 48 mov edx, DWORD PTR nLength$[rsp] 00066 48 8b 4c 24 40 mov rcx, QWORD PTR this$[rsp] 0006b e8 00 00 00 00 call ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ; ATL::CSimpleStringT::PrepareWrite2 $LN3@PrepareWri: ; 813 : } ; 814 : ; 815 : return( m_pszData ); 00070 48 8b 44 24 40 mov rax, QWORD PTR this$[rsp] 00075 48 8b 00 mov rax, QWORD PTR [rax] $LN4@PrepareWri: ; 816 : } 00078 48 83 c4 38 add rsp, 56 ; 00000038H 0007c c3 ret 0 ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AEAAPEA_WH@Z ENDP ; ATL::CSimpleStringT::PrepareWrite _TEXT ENDS ; Function compile flags: /Odtp ; 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@@AEBAPEAUCStringData@2@XZ _TEXT SEGMENT this$ = 8 ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ PROC ; ATL::CSimpleStringT::GetData, COMDAT ; 799 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx ; 800 : return( reinterpret_cast< CStringData* >( m_pszData )-1 ); 00005 48 8b 44 24 08 mov rax, QWORD PTR this$[rsp] 0000a 48 8b 00 mov rax, QWORD PTR [rax] 0000d 48 83 e8 18 sub rax, 24 ; 801 : } 00011 c3 ret 0 ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ENDP ; ATL::CSimpleStringT::GetData _TEXT ENDS ; Function compile flags: /Odtp ; 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@@AEAAXH@Z _TEXT SEGMENT nOldLength$ = 32 tv86 = 36 nCharsToCopy$ = 40 pOldData$ = 48 pNewData$ = 56 tv76 = 64 tv83 = 72 tv136 = 80 tv134 = 88 this$ = 112 nLength$ = 120 ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z PROC ; ATL::CSimpleStringT::Fork, COMDAT ; 783 : { $LN6: 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00009 48 83 ec 68 sub rsp, 104 ; 00000068H ; 784 : CStringData* pOldData = GetData(); 0000d 48 8b 4c 24 70 mov rcx, QWORD PTR this$[rsp] 00012 e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 00017 48 89 44 24 30 mov QWORD PTR pOldData$[rsp], rax ; 785 : int nOldLength = pOldData->nDataLength; 0001c 48 8b 44 24 30 mov rax, QWORD PTR pOldData$[rsp] 00021 8b 40 08 mov eax, DWORD PTR [rax+8] 00024 89 44 24 20 mov DWORD PTR nOldLength$[rsp], eax ; 786 : CStringData* pNewData = pOldData->pStringMgr->Clone()->Allocate( nLength, sizeof( XCHAR ) ); 00028 48 8b 44 24 30 mov rax, QWORD PTR pOldData$[rsp] 0002d 48 8b 00 mov rax, QWORD PTR [rax] 00030 48 8b 4c 24 30 mov rcx, QWORD PTR pOldData$[rsp] 00035 48 8b 09 mov rcx, QWORD PTR [rcx] 00038 48 8b 00 mov rax, QWORD PTR [rax] 0003b ff 50 20 call QWORD PTR [rax+32] 0003e 48 89 44 24 40 mov QWORD PTR tv76[rsp], rax 00043 48 8b 44 24 40 mov rax, QWORD PTR tv76[rsp] 00048 48 8b 00 mov rax, QWORD PTR [rax] 0004b 48 8b 00 mov rax, QWORD PTR [rax] 0004e 48 89 44 24 48 mov QWORD PTR tv83[rsp], rax 00053 41 b8 02 00 00 00 mov r8d, 2 00059 8b 54 24 78 mov edx, DWORD PTR nLength$[rsp] 0005d 48 8b 4c 24 40 mov rcx, QWORD PTR tv76[rsp] 00062 ff 54 24 48 call QWORD PTR tv83[rsp] 00066 48 89 44 24 38 mov QWORD PTR pNewData$[rsp], rax ; 787 : if( pNewData == NULL ) 0006b 48 83 7c 24 38 00 cmp QWORD PTR pNewData$[rsp], 0 00071 75 05 jne SHORT $LN2@Fork ; 788 : { ; 789 : ThrowMemoryException(); 00073 e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT::ThrowMemoryException $LN2@Fork: ; 790 : } ; 791 : int nCharsToCopy = ((nOldLength < nLength) ? nOldLength : nLength)+1; // Copy '\0' 00078 8b 44 24 78 mov eax, DWORD PTR nLength$[rsp] 0007c 39 44 24 20 cmp DWORD PTR nOldLength$[rsp], eax 00080 7d 0a jge SHORT $LN4@Fork 00082 8b 44 24 20 mov eax, DWORD PTR nOldLength$[rsp] 00086 89 44 24 24 mov DWORD PTR tv86[rsp], eax 0008a eb 08 jmp SHORT $LN5@Fork $LN4@Fork: 0008c 8b 44 24 78 mov eax, DWORD PTR nLength$[rsp] 00090 89 44 24 24 mov DWORD PTR tv86[rsp], eax $LN5@Fork: 00094 8b 44 24 24 mov eax, DWORD PTR tv86[rsp] 00098 ff c0 inc eax 0009a 89 44 24 28 mov DWORD PTR nCharsToCopy$[rsp], eax ; 792 : memcpy_s( PXSTR( pNewData->data() ), nCharsToCopy * sizeof( XCHAR ), 0009e 48 8b 4c 24 30 mov rcx, QWORD PTR pOldData$[rsp] 000a3 e8 00 00 00 00 call ?data@CStringData@ATL@@QEAAPEAXXZ ; ATL::CStringData::data 000a8 48 89 44 24 50 mov QWORD PTR tv136[rsp], rax 000ad 48 8b 4c 24 38 mov rcx, QWORD PTR pNewData$[rsp] 000b2 e8 00 00 00 00 call ?data@CStringData@ATL@@QEAAPEAXXZ ; ATL::CStringData::data 000b7 48 89 44 24 58 mov QWORD PTR tv134[rsp], rax 000bc 48 63 44 24 28 movsxd rax, DWORD PTR nCharsToCopy$[rsp] 000c1 48 d1 e0 shl rax, 1 000c4 48 63 4c 24 28 movsxd rcx, DWORD PTR nCharsToCopy$[rsp] 000c9 48 d1 e1 shl rcx, 1 000cc 4c 8b c8 mov r9, rax 000cf 4c 8b 44 24 50 mov r8, QWORD PTR tv136[rsp] 000d4 48 8b d1 mov rdx, rcx 000d7 48 8b 4c 24 58 mov rcx, QWORD PTR tv134[rsp] 000dc e8 00 00 00 00 call memcpy_s ; 793 : PCXSTR( pOldData->data() ), nCharsToCopy * sizeof( XCHAR )); ; 794 : pNewData->nDataLength = nOldLength; 000e1 48 8b 44 24 38 mov rax, QWORD PTR pNewData$[rsp] 000e6 8b 4c 24 20 mov ecx, DWORD PTR nOldLength$[rsp] 000ea 89 48 08 mov DWORD PTR [rax+8], ecx ; 795 : pOldData->Release(); 000ed 48 8b 4c 24 30 mov rcx, QWORD PTR pOldData$[rsp] 000f2 e8 00 00 00 00 call ?Release@CStringData@ATL@@QEAAXXZ ; ATL::CStringData::Release ; 796 : Attach( pNewData ); 000f7 48 8b 54 24 38 mov rdx, QWORD PTR pNewData$[rsp] 000fc 48 8b 4c 24 70 mov rcx, QWORD PTR this$[rsp] 00101 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AEAAXPEAUCStringData@2@@Z ; ATL::CSimpleStringT::Attach $LN3@Fork: ; 797 : } 00106 48 83 c4 68 add rsp, 104 ; 00000068H 0010a c3 ret 0 ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ENDP ; ATL::CSimpleStringT::Fork _TEXT ENDS ; Function compile flags: /Odtp ; 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@@AEAAXPEAUCStringData@2@@Z _TEXT SEGMENT this$ = 48 pData$ = 56 ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AEAAXPEAUCStringData@2@@Z PROC ; ATL::CSimpleStringT::Attach, COMDAT ; 779 : { $LN3: 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000a 48 83 ec 28 sub rsp, 40 ; 00000028H ; 780 : m_pszData = static_cast< PXSTR >( pData->data() ); 0000e 48 8b 4c 24 38 mov rcx, QWORD PTR pData$[rsp] 00013 e8 00 00 00 00 call ?data@CStringData@ATL@@QEAAPEAXXZ ; ATL::CStringData::data 00018 48 8b 4c 24 30 mov rcx, QWORD PTR this$[rsp] 0001d 48 89 01 mov QWORD PTR [rcx], rax ; 781 : } 00020 48 83 c4 28 add rsp, 40 ; 00000028H 00024 c3 ret 0 ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AEAAXPEAUCStringData@2@@Z ENDP ; ATL::CSimpleStringT::Attach _TEXT ENDS ; Function compile flags: /Odtp ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ _TEXT SEGMENT ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ PROC ; ATL::CSimpleStringT::ThrowMemoryException, COMDAT ; 772 : { $LN3: 00000 48 83 ec 28 sub rsp, 40 ; 00000028H ; 773 : AtlThrow( E_OUTOFMEMORY ); 00004 b9 0e 00 07 80 mov ecx, -2147024882 ; ffffffff8007000eH 00009 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YAXJ@Z ; ATL::AtlThrowImpl $LN2@ThrowMemor: ; 774 : } 0000e 48 83 c4 28 add rsp, 40 ; 00000028H 00012 c3 ret 0 ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ENDP ; ATL::CSimpleStringT::ThrowMemoryException _TEXT ENDS ; Function compile flags: /Odtp ; 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@@SAHPEB_W@Z _TEXT SEGMENT psz$ = 48 ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPEB_W@Z PROC ; ATL::CSimpleStringT::StringLength, COMDAT ; 729 : { $LN4: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 48 83 ec 28 sub rsp, 40 ; 00000028H ; 730 : if( psz == NULL ) 00009 48 83 7c 24 30 00 cmp QWORD PTR psz$[rsp], 0 0000f 75 04 jne SHORT $LN2@StringLeng ; 731 : { ; 732 : return( 0 ); 00011 33 c0 xor eax, eax 00013 eb 0b jmp SHORT $LN1@StringLeng $LN2@StringLeng: ; 733 : } ; 734 : return( int( wcslen( psz ) ) ); 00015 48 8b 4c 24 30 mov rcx, QWORD PTR psz$[rsp] 0001a e8 00 00 00 00 call wcslen 0001f 90 npad 1 $LN1@StringLeng: ; 735 : } 00020 48 83 c4 28 add rsp, 40 ; 00000028H 00024 c3 ret 0 ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPEB_W@Z ENDP ; ATL::CSimpleStringT::StringLength _TEXT ENDS ; Function compile flags: /Odtp ; 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@@SAXPEA_W_KPEB_WH@Z _TEXT SEGMENT pchDest$ = 48 nDestLen$ = 56 pchSrc$ = 64 nChars$ = 72 ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPEA_W_KPEB_WH@Z PROC ; ATL::CSimpleStringT::CopyCharsOverlapped, COMDAT ; 716 : { $LN3: 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00014 48 83 ec 28 sub rsp, 40 ; 00000028H ; 717 : memmove_s( pchDest, nDestLen*sizeof( XCHAR ), 00018 48 63 44 24 48 movsxd rax, DWORD PTR nChars$[rsp] 0001d 48 d1 e0 shl rax, 1 00020 48 8b 4c 24 38 mov rcx, QWORD PTR nDestLen$[rsp] 00025 48 d1 e1 shl rcx, 1 00028 4c 8b c8 mov r9, rax 0002b 4c 8b 44 24 40 mov r8, QWORD PTR pchSrc$[rsp] 00030 48 8b d1 mov rdx, rcx 00033 48 8b 4c 24 30 mov rcx, QWORD PTR pchDest$[rsp] 00038 e8 00 00 00 00 call memmove_s 0003d 90 npad 1 ; 718 : pchSrc, nChars*sizeof( XCHAR ) ); ; 719 : } 0003e 48 83 c4 28 add rsp, 40 ; 00000028H 00042 c3 ret 0 ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPEA_W_KPEB_WH@Z ENDP ; ATL::CSimpleStringT::CopyCharsOverlapped _TEXT ENDS ; Function compile flags: /Odtp ; 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@@QEAAXPEB_WH@Z _TEXT SEGMENT nOldLength$1 = 32 pszBuffer$2 = 40 nOffset$3 = 48 tv81 = 56 tv90 = 64 this$ = 96 pszSrc$ = 104 nLength$ = 112 ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_WH@Z PROC ; ATL::CSimpleStringT::SetString, COMDAT ; 607 : { $LN8: 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000f 48 83 ec 58 sub rsp, 88 ; 00000058H ; 608 : if( nLength == 0 ) 00013 83 7c 24 70 00 cmp DWORD PTR nLength$[rsp], 0 00018 75 0f jne SHORT $LN2@SetString ; 609 : { ; 610 : Empty(); 0001a 48 8b 4c 24 60 mov rcx, QWORD PTR this$[rsp] 0001f e8 00 00 00 00 call ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QEAAXXZ ; ATL::CSimpleStringT::Empty ; 611 : } 00024 e9 da 00 00 00 jmp $LN3@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) 00029 48 83 7c 24 68 00 cmp QWORD PTR pszSrc$[rsp], 0 0002f 75 0a jne SHORT $LN4@SetString ; 621 : AtlThrow(E_INVALIDARG); 00031 b9 57 00 07 80 mov ecx, -2147024809 ; ffffffff80070057H 00036 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YAXJ@Z ; ATL::AtlThrowImpl $LN4@SetString: ; 622 : ; 623 : UINT nOldLength = GetLength(); 0003b 48 8b 4c 24 60 mov rcx, QWORD PTR this$[rsp] 00040 e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ ; ATL::CSimpleStringT::GetLength 00045 89 44 24 20 mov DWORD PTR nOldLength$1[rsp], eax ; 624 : UINT_PTR nOffset = pszSrc-GetString(); 00049 48 8b 4c 24 60 mov rcx, QWORD PTR this$[rsp] 0004e e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QEBAPEB_WXZ ; ATL::CSimpleStringT::GetString 00053 48 8b 4c 24 68 mov rcx, QWORD PTR pszSrc$[rsp] 00058 48 2b c8 sub rcx, rax 0005b 48 8b c1 mov rax, rcx 0005e 48 d1 f8 sar rax, 1 00061 48 89 44 24 30 mov QWORD PTR nOffset$3[rsp], rax ; 625 : // If 0 <= nOffset <= nOldLength, then pszSrc points into our ; 626 : // buffer ; 627 : ; 628 : PXSTR pszBuffer = GetBuffer( nLength ); 00066 8b 54 24 70 mov edx, DWORD PTR nLength$[rsp] 0006a 48 8b 4c 24 60 mov rcx, QWORD PTR this$[rsp] 0006f e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QEAAPEA_WH@Z ; ATL::CSimpleStringT::GetBuffer 00074 48 89 44 24 28 mov QWORD PTR pszBuffer$2[rsp], rax ; 629 : if( nOffset <= nOldLength ) 00079 8b 44 24 20 mov eax, DWORD PTR nOldLength$1[rsp] 0007d 48 39 44 24 30 cmp QWORD PTR nOffset$3[rsp], rax 00082 77 3b ja SHORT $LN5@SetString ; 630 : { ; 631 : CopyCharsOverlapped( pszBuffer, GetAllocLength(), 00084 48 8b 44 24 28 mov rax, QWORD PTR pszBuffer$2[rsp] 00089 48 8b 4c 24 30 mov rcx, QWORD PTR nOffset$3[rsp] 0008e 48 8d 04 48 lea rax, QWORD PTR [rax+rcx*2] 00092 48 89 44 24 38 mov QWORD PTR tv81[rsp], rax 00097 48 8b 4c 24 60 mov rcx, QWORD PTR this$[rsp] 0009c e8 00 00 00 00 call ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ ; ATL::CSimpleStringT::GetAllocLength 000a1 48 98 cdqe 000a3 44 8b 4c 24 70 mov r9d, DWORD PTR nLength$[rsp] 000a8 48 8b 4c 24 38 mov rcx, QWORD PTR tv81[rsp] 000ad 4c 8b c1 mov r8, rcx 000b0 48 8b d0 mov rdx, rax 000b3 48 8b 4c 24 28 mov rcx, QWORD PTR pszBuffer$2[rsp] 000b8 e8 00 00 00 00 call ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPEA_W_KPEB_WH@Z ; ATL::CSimpleStringT::CopyCharsOverlapped ; 632 : pszBuffer+nOffset, nLength ); ; 633 : } 000bd eb 36 jmp SHORT $LN6@SetString $LN5@SetString: ; 634 : else ; 635 : { ; 636 : memcpy_s( pszBuffer, GetAllocLength() * sizeof( XCHAR ), pszSrc, nLength * sizeof( XCHAR )); 000bf 48 63 44 24 70 movsxd rax, DWORD PTR nLength$[rsp] 000c4 48 d1 e0 shl rax, 1 000c7 48 89 44 24 40 mov QWORD PTR tv90[rsp], rax 000cc 48 8b 4c 24 60 mov rcx, QWORD PTR this$[rsp] 000d1 e8 00 00 00 00 call ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ ; ATL::CSimpleStringT::GetAllocLength 000d6 48 98 cdqe 000d8 48 d1 e0 shl rax, 1 000db 48 8b 4c 24 40 mov rcx, QWORD PTR tv90[rsp] 000e0 4c 8b c9 mov r9, rcx 000e3 4c 8b 44 24 68 mov r8, QWORD PTR pszSrc$[rsp] 000e8 48 8b d0 mov rdx, rax 000eb 48 8b 4c 24 28 mov rcx, QWORD PTR pszBuffer$2[rsp] 000f0 e8 00 00 00 00 call memcpy_s $LN6@SetString: ; 637 : } ; 638 : ReleaseBufferSetLength( nLength ); 000f5 8b 54 24 70 mov edx, DWORD PTR nLength$[rsp] 000f9 48 8b 4c 24 60 mov rcx, QWORD PTR this$[rsp] 000fe e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QEAAXH@Z ; ATL::CSimpleStringT::ReleaseBufferSetLength $LN3@SetString: $LN7@SetString: ; 639 : } ; 640 : } 00103 48 83 c4 58 add rsp, 88 ; 00000058H 00107 c3 ret 0 ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_WH@Z ENDP ; ATL::CSimpleStringT::SetString _TEXT ENDS ; Function compile flags: /Odtp ; 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@@QEAAXPEB_W@Z _TEXT SEGMENT this$ = 48 pszSrc$ = 56 ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_W@Z PROC ; ATL::CSimpleStringT::SetString, COMDAT ; 601 : { $LN3: 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000a 48 83 ec 28 sub rsp, 40 ; 00000028H ; 602 : SetString( pszSrc, StringLength( pszSrc ) ); 0000e 48 8b 4c 24 38 mov rcx, QWORD PTR pszSrc$[rsp] 00013 e8 00 00 00 00 call ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPEB_W@Z ; ATL::CSimpleStringT::StringLength 00018 44 8b c0 mov r8d, eax 0001b 48 8b 54 24 38 mov rdx, QWORD PTR pszSrc$[rsp] 00020 48 8b 4c 24 30 mov rcx, QWORD PTR this$[rsp] 00025 e8 00 00 00 00 call ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_WH@Z ; ATL::CSimpleStringT::SetString ; 603 : } 0002a 48 83 c4 28 add rsp, 40 ; 00000028H 0002e c3 ret 0 ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_W@Z ENDP ; ATL::CSimpleStringT::SetString _TEXT ENDS ; Function compile flags: /Odtp ; 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@@QEAAXH@Z _TEXT SEGMENT this$ = 48 nNewLength$ = 56 ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QEAAXH@Z PROC ; ATL::CSimpleStringT::ReleaseBufferSetLength, COMDAT ; 566 : { $LN3: 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00009 48 83 ec 28 sub rsp, 40 ; 00000028H ; 567 : ATLASSERT( nNewLength >= 0 ); ; 568 : SetLength( nNewLength ); 0000d 8b 54 24 38 mov edx, DWORD PTR nNewLength$[rsp] 00011 48 8b 4c 24 30 mov rcx, QWORD PTR this$[rsp] 00016 e8 00 00 00 00 call ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ; ATL::CSimpleStringT::SetLength ; 569 : } 0001b 48 83 c4 28 add rsp, 40 ; 00000028H 0001f c3 ret 0 ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QEAAXH@Z ENDP ; ATL::CSimpleStringT::ReleaseBufferSetLength _TEXT ENDS ; Function compile flags: /Odtp ; 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@@QEBAPEB_WXZ _TEXT SEGMENT this$ = 8 ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QEBAPEB_WXZ PROC ; ATL::CSimpleStringT::GetString, COMDAT ; 528 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx ; 529 : return( m_pszData ); 00005 48 8b 44 24 08 mov rax, QWORD PTR this$[rsp] 0000a 48 8b 00 mov rax, QWORD PTR [rax] ; 530 : } 0000d c3 ret 0 ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QEBAPEB_WXZ ENDP ; ATL::CSimpleStringT::GetString _TEXT ENDS ; Function compile flags: /Odtp ; 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@@QEBAHXZ _TEXT SEGMENT this$ = 48 ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ PROC ; ATL::CSimpleStringT::GetLength, COMDAT ; 518 : { $LN3: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 48 83 ec 28 sub rsp, 40 ; 00000028H ; 519 : return( GetData()->nDataLength ); 00009 48 8b 4c 24 30 mov rcx, QWORD PTR this$[rsp] 0000e e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 00013 8b 40 08 mov eax, DWORD PTR [rax+8] ; 520 : } 00016 48 83 c4 28 add rsp, 40 ; 00000028H 0001a c3 ret 0 ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ ENDP ; ATL::CSimpleStringT::GetLength _TEXT ENDS ; Function compile flags: /Odtp ; 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@@QEAAPEA_WH@Z _TEXT SEGMENT this$ = 48 nMinBufferLength$ = 56 ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QEAAPEA_WH@Z PROC ; ATL::CSimpleStringT::GetBuffer, COMDAT ; 507 : { $LN3: 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00009 48 83 ec 28 sub rsp, 40 ; 00000028H ; 508 : return( PrepareWrite( nMinBufferLength ) ); 0000d 8b 54 24 38 mov edx, DWORD PTR nMinBufferLength$[rsp] 00011 48 8b 4c 24 30 mov rcx, QWORD PTR this$[rsp] 00016 e8 00 00 00 00 call ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AEAAPEA_WH@Z ; ATL::CSimpleStringT::PrepareWrite ; 509 : } 0001b 48 83 c4 28 add rsp, 40 ; 00000028H 0001f c3 ret 0 ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QEAAPEA_WH@Z ENDP ; ATL::CSimpleStringT::GetBuffer _TEXT ENDS ; Function compile flags: /Odtp ; 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@@QEBAHXZ _TEXT SEGMENT this$ = 48 ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ PROC ; ATL::CSimpleStringT::GetAllocLength, COMDAT ; 485 : { $LN3: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 48 83 ec 28 sub rsp, 40 ; 00000028H ; 486 : return( GetData()->nAllocLength ); 00009 48 8b 4c 24 30 mov rcx, QWORD PTR this$[rsp] 0000e e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 00013 8b 40 0c mov eax, DWORD PTR [rax+12] ; 487 : } 00016 48 83 c4 28 add rsp, 40 ; 00000028H 0001a c3 ret 0 ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ ENDP ; ATL::CSimpleStringT::GetAllocLength _TEXT ENDS ; Function compile flags: /Odtp ; 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@@QEAAXXZ _TEXT SEGMENT pOldData$ = 32 pStringMgr$ = 40 pNewData$1 = 48 this$ = 80 ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QEAAXXZ PROC ; ATL::CSimpleStringT::Empty, COMDAT ; 436 : { $LN6: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 48 83 ec 48 sub rsp, 72 ; 00000048H ; 437 : CStringData* pOldData = GetData(); 00009 48 8b 4c 24 50 mov rcx, QWORD PTR this$[rsp] 0000e e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 00013 48 89 44 24 20 mov QWORD PTR pOldData$[rsp], rax ; 438 : IAtlStringMgr* pStringMgr = pOldData->pStringMgr; 00018 48 8b 44 24 20 mov rax, QWORD PTR pOldData$[rsp] 0001d 48 8b 00 mov rax, QWORD PTR [rax] 00020 48 89 44 24 28 mov QWORD PTR pStringMgr$[rsp], rax ; 439 : if( pOldData->nDataLength == 0 ) 00025 48 8b 44 24 20 mov rax, QWORD PTR pOldData$[rsp] 0002a 83 78 08 00 cmp DWORD PTR [rax+8], 0 0002e 75 02 jne SHORT $LN2@Empty ; 440 : { ; 441 : return; 00030 eb 4e jmp SHORT $LN1@Empty $LN2@Empty: ; 442 : } ; 443 : ; 444 : if( pOldData->IsLocked() ) 00032 48 8b 4c 24 20 mov rcx, QWORD PTR pOldData$[rsp] 00037 e8 00 00 00 00 call ?IsLocked@CStringData@ATL@@QEBA_NXZ ; ATL::CStringData::IsLocked 0003c 0f b6 c0 movzx eax, al 0003f 85 c0 test eax, eax 00041 74 0e je SHORT $LN3@Empty ; 445 : { ; 446 : // Don't reallocate a locked buffer that's shrinking ; 447 : SetLength( 0 ); 00043 33 d2 xor edx, edx 00045 48 8b 4c 24 50 mov rcx, QWORD PTR this$[rsp] 0004a e8 00 00 00 00 call ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ; ATL::CSimpleStringT::SetLength ; 448 : } 0004f eb 2f jmp SHORT $LN1@Empty $LN3@Empty: ; 449 : else ; 450 : { ; 451 : pOldData->Release(); 00051 48 8b 4c 24 20 mov rcx, QWORD PTR pOldData$[rsp] 00056 e8 00 00 00 00 call ?Release@CStringData@ATL@@QEAAXXZ ; ATL::CStringData::Release ; 452 : CStringData* pNewData = pStringMgr->GetNilString(); 0005b 48 8b 44 24 28 mov rax, QWORD PTR pStringMgr$[rsp] 00060 48 8b 00 mov rax, QWORD PTR [rax] 00063 48 8b 4c 24 28 mov rcx, QWORD PTR pStringMgr$[rsp] 00068 ff 50 18 call QWORD PTR [rax+24] 0006b 48 89 44 24 30 mov QWORD PTR pNewData$1[rsp], rax ; 453 : Attach( pNewData ); 00070 48 8b 54 24 30 mov rdx, QWORD PTR pNewData$1[rsp] 00075 48 8b 4c 24 50 mov rcx, QWORD PTR this$[rsp] 0007a e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AEAAXPEAUCStringData@2@@Z ; ATL::CSimpleStringT::Attach 0007f 90 npad 1 $LN1@Empty: ; 454 : } ; 455 : } 00080 48 83 c4 48 add rsp, 72 ; 00000048H 00084 c3 ret 0 ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QEAAXXZ ENDP ; ATL::CSimpleStringT::Empty _TEXT ENDS ; Function compile flags: /Odtp ; 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@@QEAAAEAV01@PEB_W@Z _TEXT SEGMENT this$ = 48 pszSrc$ = 56 ??4?$CSimpleStringT@_W$0A@@ATL@@QEAAAEAV01@PEB_W@Z PROC ; ATL::CSimpleStringT::operator=, COMDAT ; 313 : { $LN3: 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000a 48 83 ec 28 sub rsp, 40 ; 00000028H ; 314 : SetString( pszSrc ); 0000e 48 8b 54 24 38 mov rdx, QWORD PTR pszSrc$[rsp] 00013 48 8b 4c 24 30 mov rcx, QWORD PTR this$[rsp] 00018 e8 00 00 00 00 call ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_W@Z ; ATL::CSimpleStringT::SetString ; 315 : ; 316 : return( *this ); 0001d 48 8b 44 24 30 mov rax, QWORD PTR this$[rsp] ; 317 : } 00022 48 83 c4 28 add rsp, 40 ; 00000028H 00026 c3 ret 0 ??4?$CSimpleStringT@_W$0A@@ATL@@QEAAAEAV01@PEB_W@Z ENDP ; ATL::CSimpleStringT::operator= _TEXT ENDS ; Function compile flags: /Odtp ; 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@@QEAA@XZ _TEXT SEGMENT pData$ = 32 this$ = 64 ??1?$CSimpleStringT@_W$0A@@ATL@@QEAA@XZ PROC ; ATL::CSimpleStringT::~CSimpleStringT, COMDAT ; 260 : { $LN3: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 48 83 ec 38 sub rsp, 56 ; 00000038H ; 261 : CStringData* pData = GetData(); 00009 48 8b 4c 24 40 mov rcx, QWORD PTR this$[rsp] 0000e e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 00013 48 89 44 24 20 mov QWORD PTR pData$[rsp], rax ; 262 : pData->Release(); 00018 48 8b 4c 24 20 mov rcx, QWORD PTR pData$[rsp] 0001d e8 00 00 00 00 call ?Release@CStringData@ATL@@QEAAXXZ ; ATL::CStringData::Release ; 263 : } 00022 48 83 c4 38 add rsp, 56 ; 00000038H 00026 c3 ret 0 ??1?$CSimpleStringT@_W$0A@@ATL@@QEAA@XZ ENDP ; ATL::CSimpleStringT::~CSimpleStringT _TEXT ENDS ; Function compile flags: /Odtp ; 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@@QEAA@PEAUIAtlStringMgr@1@@Z _TEXT SEGMENT tv65 = 32 __atl_condVal$1 = 36 pData$ = 40 this$ = 64 pStringMgr$ = 72 ??0?$CSimpleStringT@_W$0A@@ATL@@QEAA@PEAUIAtlStringMgr@1@@Z PROC ; ATL::CSimpleStringT::CSimpleStringT, COMDAT ; 203 : explicit CSimpleStringT(_Inout_ IAtlStringMgr* pStringMgr) $LN12: 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000a 48 83 ec 38 sub rsp, 56 ; 00000038H $LN4@CSimpleStr: ; 204 : { ; 205 : ATLENSURE( pStringMgr != NULL ); 0000e 48 83 7c 24 48 00 cmp QWORD PTR pStringMgr$[rsp], 0 00014 74 0a je SHORT $LN10@CSimpleStr 00016 c7 44 24 20 01 00 00 00 mov DWORD PTR tv65[rsp], 1 0001e eb 08 jmp SHORT $LN11@CSimpleStr $LN10@CSimpleStr: 00020 c7 44 24 20 00 00 00 00 mov DWORD PTR tv65[rsp], 0 $LN11@CSimpleStr: 00028 8b 44 24 20 mov eax, DWORD PTR tv65[rsp] 0002c 89 44 24 24 mov DWORD PTR __atl_condVal$1[rsp], eax $LN7@CSimpleStr: 00030 33 c0 xor eax, eax 00032 85 c0 test eax, eax 00034 75 fa jne SHORT $LN7@CSimpleStr 00036 83 7c 24 24 00 cmp DWORD PTR __atl_condVal$1[rsp], 0 0003b 75 0a jne SHORT $LN8@CSimpleStr 0003d b9 05 40 00 80 mov ecx, -2147467259 ; ffffffff80004005H 00042 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YAXJ@Z ; ATL::AtlThrowImpl $LN8@CSimpleStr: 00047 33 c0 xor eax, eax 00049 85 c0 test eax, eax 0004b 75 c1 jne SHORT $LN4@CSimpleStr ; 206 : CStringData* pData = pStringMgr->GetNilString(); 0004d 48 8b 44 24 48 mov rax, QWORD PTR pStringMgr$[rsp] 00052 48 8b 00 mov rax, QWORD PTR [rax] 00055 48 8b 4c 24 48 mov rcx, QWORD PTR pStringMgr$[rsp] 0005a ff 50 18 call QWORD PTR [rax+24] 0005d 48 89 44 24 28 mov QWORD PTR pData$[rsp], rax ; 207 : Attach( pData ); 00062 48 8b 54 24 28 mov rdx, QWORD PTR pData$[rsp] 00067 48 8b 4c 24 40 mov rcx, QWORD PTR this$[rsp] 0006c e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AEAAXPEAUCStringData@2@@Z ; ATL::CSimpleStringT::Attach ; 208 : } 00071 48 8b 44 24 40 mov rax, QWORD PTR this$[rsp] $LN9@CSimpleStr: 00076 48 83 c4 38 add rsp, 56 ; 00000038H 0007a c3 ret 0 ??0?$CSimpleStringT@_W$0A@@ATL@@QEAA@PEAUIAtlStringMgr@1@@Z ENDP ; ATL::CSimpleStringT::CSimpleStringT _TEXT ENDS ; Function compile flags: /Odtp ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h ; COMDAT ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPEA_WHPEB_WH@Z _TEXT SEGMENT pszDest$ = 48 nDestLength$ = 56 pszSrc$ = 64 nSrcLength$ = 72 ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPEA_WHPEB_WH@Z PROC ; ATL::ChTraitsCRT::ConvertToBaseType, COMDAT ; 789 : { $LN4: 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx 0000e 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00013 48 83 ec 28 sub rsp, 40 ; 00000028H ; 790 : if (nSrcLength == -1) { nSrcLength=1 + GetBaseTypeLength(pszSrc); } 00017 83 7c 24 48 ff cmp DWORD PTR nSrcLength$[rsp], -1 0001c 75 10 jne SHORT $LN2@ConvertToB 0001e 48 8b 4c 24 40 mov rcx, QWORD PTR pszSrc$[rsp] 00023 e8 00 00 00 00 call ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_W@Z ; ATL::ChTraitsCRT::GetBaseTypeLength 00028 ff c0 inc eax 0002a 89 44 24 48 mov DWORD PTR nSrcLength$[rsp], eax $LN2@ConvertToB: ; 791 : // nLen is in wchar_ts ; 792 : Checked::wmemcpy_s(pszDest, nDestLength, pszSrc, nSrcLength); 0002e 48 63 44 24 48 movsxd rax, DWORD PTR nSrcLength$[rsp] 00033 48 63 4c 24 38 movsxd rcx, DWORD PTR nDestLength$[rsp] 00038 4c 8b c8 mov r9, rax 0003b 4c 8b 44 24 40 mov r8, QWORD PTR pszSrc$[rsp] 00040 48 8b d1 mov rdx, rcx 00043 48 8b 4c 24 30 mov rcx, QWORD PTR pszDest$[rsp] 00048 e8 00 00 00 00 call ?wmemcpy_s@Checked@ATL@@YAXPEA_W_KPEB_W1@Z ; ATL::Checked::wmemcpy_s ; 793 : } 0004d 48 83 c4 28 add rsp, 40 ; 00000028H 00051 c3 ret 0 ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPEA_WHPEB_WH@Z ENDP ; ATL::ChTraitsCRT::ConvertToBaseType _TEXT ENDS ; Function compile flags: /Odtp ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h ; COMDAT ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_WH@Z _TEXT SEGMENT pszSrc$ = 8 nLength$ = 16 ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_WH@Z PROC ; ATL::ChTraitsCRT::GetBaseTypeLength, COMDAT ; 768 : { 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx ; 769 : (void)pszSrc; ; 770 : // Returns required buffer size in wchar_ts ; 771 : return nLength; 00009 8b 44 24 10 mov eax, DWORD PTR nLength$[rsp] ; 772 : } 0000d c3 ret 0 ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_WH@Z ENDP ; ATL::ChTraitsCRT::GetBaseTypeLength _TEXT ENDS ; Function compile flags: /Odtp ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h ; COMDAT ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_W@Z _TEXT SEGMENT pszSrc$ = 48 ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_W@Z PROC ; ATL::ChTraitsCRT::GetBaseTypeLength, COMDAT ; 760 : { $LN3: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 48 83 ec 28 sub rsp, 40 ; 00000028H ; 761 : // Returns required buffer size in wchar_ts ; 762 : return AtlStrLen( pszSrc ); 00009 48 8b 4c 24 30 mov rcx, QWORD PTR pszSrc$[rsp] 0000e e8 00 00 00 00 call ?AtlStrLen@ATL@@YAHPEB_W@Z ; ATL::AtlStrLen 00013 90 npad 1 ; 763 : } 00014 48 83 c4 28 add rsp, 40 ; 00000028H 00018 c3 ret 0 ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_W@Z ENDP ; ATL::ChTraitsCRT::GetBaseTypeLength _TEXT ENDS ; Function compile flags: /Odtp ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?Release@CStringData@ATL@@QEAAXXZ _TEXT SEGMENT tv77 = 32 tv79 = 40 this$ = 64 ?Release@CStringData@ATL@@QEAAXXZ PROC ; ATL::CStringData::Release, COMDAT ; 85 : { $LN4: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 48 83 ec 38 sub rsp, 56 ; 00000038H ; 86 : ATLASSERT( nRefs != 0 ); ; 87 : ; 88 : if( _InterlockedDecrement( &nRefs ) <= 0 ) 00009 48 8b 44 24 40 mov rax, QWORD PTR this$[rsp] 0000e 48 83 c0 10 add rax, 16 00012 b9 ff ff ff ff mov ecx, -1 00017 f0 0f c1 08 lock xadd DWORD PTR [rax], ecx 0001b ff c9 dec ecx 0001d 8b c1 mov eax, ecx 0001f 85 c0 test eax, eax 00021 7f 2f jg SHORT $LN2@Release ; 89 : { ; 90 : pStringMgr->Free( this ); 00023 48 8b 44 24 40 mov rax, QWORD PTR this$[rsp] 00028 48 8b 00 mov rax, QWORD PTR [rax] 0002b 48 89 44 24 20 mov QWORD PTR tv77[rsp], rax 00030 48 8b 44 24 40 mov rax, QWORD PTR this$[rsp] 00035 48 8b 00 mov rax, QWORD PTR [rax] 00038 48 8b 00 mov rax, QWORD PTR [rax] 0003b 48 8b 40 08 mov rax, QWORD PTR [rax+8] 0003f 48 89 44 24 28 mov QWORD PTR tv79[rsp], rax 00044 48 8b 54 24 40 mov rdx, QWORD PTR this$[rsp] 00049 48 8b 4c 24 20 mov rcx, QWORD PTR tv77[rsp] 0004e ff 54 24 28 call QWORD PTR tv79[rsp] $LN2@Release: ; 91 : } ; 92 : } 00052 48 83 c4 38 add rsp, 56 ; 00000038H 00056 c3 ret 0 ?Release@CStringData@ATL@@QEAAXXZ ENDP ; ATL::CStringData::Release _TEXT ENDS ; Function compile flags: /Odtp ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?IsShared@CStringData@ATL@@QEBA_NXZ _TEXT SEGMENT tv66 = 0 this$ = 32 ?IsShared@CStringData@ATL@@QEBA_NXZ PROC ; ATL::CStringData::IsShared, COMDAT ; 72 : { $LN5: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 48 83 ec 18 sub rsp, 24 ; 73 : return( nRefs > 1 ); 00009 48 8b 44 24 20 mov rax, QWORD PTR this$[rsp] 0000e 83 78 10 01 cmp DWORD PTR [rax+16], 1 00012 7e 09 jle SHORT $LN3@IsShared 00014 c7 04 24 01 00 00 00 mov DWORD PTR tv66[rsp], 1 0001b eb 07 jmp SHORT $LN4@IsShared $LN3@IsShared: 0001d c7 04 24 00 00 00 00 mov DWORD PTR tv66[rsp], 0 $LN4@IsShared: 00024 0f b6 04 24 movzx eax, BYTE PTR tv66[rsp] ; 74 : } 00028 48 83 c4 18 add rsp, 24 0002c c3 ret 0 ?IsShared@CStringData@ATL@@QEBA_NXZ ENDP ; ATL::CStringData::IsShared _TEXT ENDS ; Function compile flags: /Odtp ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?IsLocked@CStringData@ATL@@QEBA_NXZ _TEXT SEGMENT tv66 = 0 this$ = 32 ?IsLocked@CStringData@ATL@@QEBA_NXZ PROC ; ATL::CStringData::IsLocked, COMDAT ; 68 : { $LN5: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 48 83 ec 18 sub rsp, 24 ; 69 : return nRefs < 0; 00009 48 8b 44 24 20 mov rax, QWORD PTR this$[rsp] 0000e 83 78 10 00 cmp DWORD PTR [rax+16], 0 00012 7d 09 jge SHORT $LN3@IsLocked 00014 c7 04 24 01 00 00 00 mov DWORD PTR tv66[rsp], 1 0001b eb 07 jmp SHORT $LN4@IsLocked $LN3@IsLocked: 0001d c7 04 24 00 00 00 00 mov DWORD PTR tv66[rsp], 0 $LN4@IsLocked: 00024 0f b6 04 24 movzx eax, BYTE PTR tv66[rsp] ; 70 : } 00028 48 83 c4 18 add rsp, 24 0002c c3 ret 0 ?IsLocked@CStringData@ATL@@QEBA_NXZ ENDP ; ATL::CStringData::IsLocked _TEXT ENDS ; Function compile flags: /Odtp ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?data@CStringData@ATL@@QEAAPEAXXZ _TEXT SEGMENT this$ = 8 ?data@CStringData@ATL@@QEAAPEAXXZ PROC ; ATL::CStringData::data, COMDAT ; 58 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx ; 59 : return (this+1); 00005 48 8b 44 24 08 mov rax, QWORD PTR this$[rsp] 0000a 48 83 c0 18 add rax, 24 ; 60 : } 0000e c3 ret 0 ?data@CStringData@ATL@@QEAAPEAXXZ ENDP ; ATL::CStringData::data _TEXT ENDS ; Function compile flags: /Odtp ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlcore.h ; COMDAT ?AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@I@Z _TEXT SEGMENT hResource$ = 32 hInstance$ = 64 id$ = 72 ?AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@I@Z PROC ; ATL::AtlGetStringResourceImage, COMDAT ; 370 : { $LN4: 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00009 48 83 ec 38 sub rsp, 56 ; 00000038H ; 371 : HRSRC hResource; ; 372 : /* ; 373 : The and operation (& static_cast(~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(~0)) ), (LPWSTR) RT_STRING); 0000d 8b 44 24 48 mov eax, DWORD PTR id$[rsp] 00011 c1 e8 04 shr eax, 4 00014 ff c0 inc eax 00016 25 ff ff 00 00 and eax, 65535 ; 0000ffffH 0001b 0f b7 c0 movzx eax, ax 0001e 41 b8 06 00 00 00 mov r8d, 6 00024 8b d0 mov edx, eax 00026 48 8b 4c 24 40 mov rcx, QWORD PTR hInstance$[rsp] 0002b ff 15 00 00 00 00 call QWORD PTR __imp_FindResourceW 00031 48 89 44 24 20 mov QWORD PTR hResource$[rsp], rax ; 377 : if( hResource == NULL ) 00036 48 83 7c 24 20 00 cmp QWORD PTR hResource$[rsp], 0 0003c 75 04 jne SHORT $LN2@AtlGetStri ; 378 : { ; 379 : return( NULL ); 0003e 33 c0 xor eax, eax 00040 eb 15 jmp SHORT $LN1@AtlGetStri $LN2@AtlGetStri: ; 380 : } ; 381 : ; 382 : return _AtlGetStringResourceImage( hInstance, hResource, id ); 00042 44 8b 44 24 48 mov r8d, DWORD PTR id$[rsp] 00047 48 8b 54 24 20 mov rdx, QWORD PTR hResource$[rsp] 0004c 48 8b 4c 24 40 mov rcx, QWORD PTR hInstance$[rsp] 00051 e8 00 00 00 00 call ?_AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@PEAUHRSRC__@@I@Z ; ATL::_AtlGetStringResourceImage 00056 90 npad 1 $LN1@AtlGetStri: ; 383 : } 00057 48 83 c4 38 add rsp, 56 ; 00000038H 0005b c3 ret 0 ?AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@I@Z ENDP ; ATL::AtlGetStringResourceImage _TEXT ENDS ; Function compile flags: /Odtp ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlcore.h ; COMDAT ?_AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@PEAUHRSRC__@@I@Z _TEXT SEGMENT iIndex$ = 32 nResourceSize$ = 36 pImage$ = 40 hGlobal$ = 48 pImageEnd$ = 56 hInstance$ = 80 hResource$ = 88 id$ = 96 ?_AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@PEAUHRSRC__@@I@Z PROC ; ATL::_AtlGetStringResourceImage, COMDAT ; 327 : { $LN9: 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000f 48 83 ec 48 sub rsp, 72 ; 00000048H ; 328 : const ATLSTRINGRESOURCEIMAGE* pImage; ; 329 : const ATLSTRINGRESOURCEIMAGE* pImageEnd; ; 330 : ULONG nResourceSize; ; 331 : HGLOBAL hGlobal; ; 332 : UINT iIndex; ; 333 : ; 334 : hGlobal = ::LoadResource( hInstance, hResource ); 00013 48 8b 54 24 58 mov rdx, QWORD PTR hResource$[rsp] 00018 48 8b 4c 24 50 mov rcx, QWORD PTR hInstance$[rsp] 0001d ff 15 00 00 00 00 call QWORD PTR __imp_LoadResource 00023 48 89 44 24 30 mov QWORD PTR hGlobal$[rsp], rax ; 335 : if( hGlobal == NULL ) 00028 48 83 7c 24 30 00 cmp QWORD PTR hGlobal$[rsp], 0 0002e 75 07 jne SHORT $LN4@AtlGetStri ; 336 : { ; 337 : return( NULL ); 00030 33 c0 xor eax, eax 00032 e9 ad 00 00 00 jmp $LN1@AtlGetStri $LN4@AtlGetStri: ; 338 : } ; 339 : ; 340 : pImage = (const ATLSTRINGRESOURCEIMAGE*)::LockResource( hGlobal ); 00037 48 8b 4c 24 30 mov rcx, QWORD PTR hGlobal$[rsp] 0003c ff 15 00 00 00 00 call QWORD PTR __imp_LockResource 00042 48 89 44 24 28 mov QWORD PTR pImage$[rsp], rax ; 341 : if( pImage == NULL ) 00047 48 83 7c 24 28 00 cmp QWORD PTR pImage$[rsp], 0 0004d 75 07 jne SHORT $LN5@AtlGetStri ; 342 : { ; 343 : return( NULL ); 0004f 33 c0 xor eax, eax 00051 e9 8e 00 00 00 jmp $LN1@AtlGetStri $LN5@AtlGetStri: ; 344 : } ; 345 : ; 346 : nResourceSize = ::SizeofResource( hInstance, hResource ); 00056 48 8b 54 24 58 mov rdx, QWORD PTR hResource$[rsp] 0005b 48 8b 4c 24 50 mov rcx, QWORD PTR hInstance$[rsp] 00060 ff 15 00 00 00 00 call QWORD PTR __imp_SizeofResource 00066 89 44 24 24 mov DWORD PTR nResourceSize$[rsp], eax ; 347 : pImageEnd = (const ATLSTRINGRESOURCEIMAGE*)(LPBYTE( pImage )+nResourceSize); 0006a 8b 44 24 24 mov eax, DWORD PTR nResourceSize$[rsp] 0006e 48 8b 4c 24 28 mov rcx, QWORD PTR pImage$[rsp] 00073 48 03 c8 add rcx, rax 00076 48 8b c1 mov rax, rcx 00079 48 89 44 24 38 mov QWORD PTR pImageEnd$[rsp], rax ; 348 : iIndex = id&0x000f; 0007e 8b 44 24 60 mov eax, DWORD PTR id$[rsp] 00082 83 e0 0f and eax, 15 00085 89 44 24 20 mov DWORD PTR iIndex$[rsp], eax $LN2@AtlGetStri: ; 349 : ; 350 : while( (iIndex > 0) && (pImage < pImageEnd) ) 00089 83 7c 24 20 00 cmp DWORD PTR iIndex$[rsp], 0 0008e 76 2f jbe SHORT $LN3@AtlGetStri 00090 48 8b 44 24 38 mov rax, QWORD PTR pImageEnd$[rsp] 00095 48 39 44 24 28 cmp QWORD PTR pImage$[rsp], rax 0009a 73 23 jae SHORT $LN3@AtlGetStri ; 351 : { ; 352 : pImage = (const ATLSTRINGRESOURCEIMAGE*)(LPBYTE( pImage )+(sizeof( ATLSTRINGRESOURCEIMAGE )+(pImage->nLength*sizeof( WCHAR )))); 0009c 48 8b 44 24 28 mov rax, QWORD PTR pImage$[rsp] 000a1 0f b7 00 movzx eax, WORD PTR [rax] 000a4 48 8b 4c 24 28 mov rcx, QWORD PTR pImage$[rsp] 000a9 48 8d 44 41 02 lea rax, QWORD PTR [rcx+rax*2+2] 000ae 48 89 44 24 28 mov QWORD PTR pImage$[rsp], rax ; 353 : iIndex--; 000b3 8b 44 24 20 mov eax, DWORD PTR iIndex$[rsp] 000b7 ff c8 dec eax 000b9 89 44 24 20 mov DWORD PTR iIndex$[rsp], eax ; 354 : } 000bd eb ca jmp SHORT $LN2@AtlGetStri $LN3@AtlGetStri: ; 355 : if( pImage >= pImageEnd ) 000bf 48 8b 44 24 38 mov rax, QWORD PTR pImageEnd$[rsp] 000c4 48 39 44 24 28 cmp QWORD PTR pImage$[rsp], rax 000c9 72 04 jb SHORT $LN6@AtlGetStri ; 356 : { ; 357 : return( NULL ); 000cb 33 c0 xor eax, eax 000cd eb 15 jmp SHORT $LN1@AtlGetStri $LN6@AtlGetStri: ; 358 : } ; 359 : if( pImage->nLength == 0 ) 000cf 48 8b 44 24 28 mov rax, QWORD PTR pImage$[rsp] 000d4 0f b7 00 movzx eax, WORD PTR [rax] 000d7 85 c0 test eax, eax 000d9 75 04 jne SHORT $LN7@AtlGetStri ; 360 : { ; 361 : return( NULL ); 000db 33 c0 xor eax, eax 000dd eb 05 jmp SHORT $LN1@AtlGetStri $LN7@AtlGetStri: ; 362 : } ; 363 : ; 364 : return( pImage ); 000df 48 8b 44 24 28 mov rax, QWORD PTR pImage$[rsp] $LN1@AtlGetStri: ; 365 : } 000e4 48 83 c4 48 add rsp, 72 ; 00000048H 000e8 c3 ret 0 ?_AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@PEAUHRSRC__@@I@Z ENDP ; ATL::_AtlGetStringResourceImage _TEXT ENDS ; Function compile flags: /Odtp ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlcore.h ; COMDAT ?AtlStrLen@ATL@@YAHPEB_W@Z _TEXT SEGMENT str$ = 48 ?AtlStrLen@ATL@@YAHPEB_W@Z PROC ; ATL::AtlStrLen, COMDAT ; 60 : { $LN4: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 48 83 ec 28 sub rsp, 40 ; 00000028H ; 61 : if (str == NULL) 00009 48 83 7c 24 30 00 cmp QWORD PTR str$[rsp], 0 0000f 75 04 jne SHORT $LN2@AtlStrLen ; 62 : return 0; 00011 33 c0 xor eax, eax 00013 eb 0a jmp SHORT $LN1@AtlStrLen $LN2@AtlStrLen: ; 63 : return static_cast(::wcslen(str)); 00015 48 8b 4c 24 30 mov rcx, QWORD PTR str$[rsp] 0001a e8 00 00 00 00 call wcslen $LN1@AtlStrLen: ; 64 : } 0001f 48 83 c4 28 add rsp, 40 ; 00000028H 00023 c3 ret 0 ?AtlStrLen@ATL@@YAHPEB_W@Z ENDP ; ATL::AtlStrLen _TEXT ENDS ; Function compile flags: /Odtp ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlchecked.h ; COMDAT ?wmemcpy_s@Checked@ATL@@YAXPEA_W_KPEB_W1@Z _TEXT SEGMENT _S1$ = 48 _N1$ = 56 _S2$ = 64 _N$ = 72 ?wmemcpy_s@Checked@ATL@@YAXPEA_W_KPEB_W1@Z PROC ; ATL::Checked::wmemcpy_s, COMDAT ; 77 : { $LN3: 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00014 48 83 ec 28 sub rsp, 40 ; 00000028H ; 78 : ATLMFC_CRT_ERRORCHECK(::wmemcpy_s(_S1, _N1, _S2, _N)); 00018 4c 8b 4c 24 48 mov r9, QWORD PTR _N$[rsp] 0001d 4c 8b 44 24 40 mov r8, QWORD PTR _S2$[rsp] 00022 48 8b 54 24 38 mov rdx, QWORD PTR _N1$[rsp] 00027 48 8b 4c 24 30 mov rcx, QWORD PTR _S1$[rsp] 0002c e8 00 00 00 00 call wmemcpy_s 00031 8b c8 mov ecx, eax 00033 e8 00 00 00 00 call ?AfxCrtErrorCheck@@YAHH@Z ; AfxCrtErrorCheck ; 79 : } 00038 48 83 c4 28 add rsp, 40 ; 00000028H 0003c c3 ret 0 ?wmemcpy_s@Checked@ATL@@YAXPEA_W_KPEB_W1@Z ENDP ; ATL::Checked::wmemcpy_s _TEXT ENDS ; Function compile flags: /Odtp ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlexcept.h ; COMDAT ?AtlThrowImpl@ATL@@YAXJ@Z _TEXT SEGMENT hr$ = 48 ?AtlThrowImpl@ATL@@YAXJ@Z PROC ; ATL::AtlThrowImpl, COMDAT ; 65 : { $LN5: 00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx 00004 48 83 ec 28 sub rsp, 40 ; 00000028H ; 66 : ATLTRACE(atlTraceException, 0, _T("AtlThrow: hr = 0x%x\n"), hr ); ; 67 : #ifdef _AFX ; 68 : if( hr == E_OUTOFMEMORY ) 00008 81 7c 24 30 0e 00 07 80 cmp DWORD PTR hr$[rsp], -2147024882 ; ffffffff8007000eH 00010 75 07 jne SHORT $LN2@AtlThrowIm ; 69 : { ; 70 : AfxThrowMemoryException(); 00012 e8 00 00 00 00 call ?AfxThrowMemoryException@@YAXXZ ; AfxThrowMemoryException ; 71 : } 00017 eb 09 jmp SHORT $LN3@AtlThrowIm $LN2@AtlThrowIm: ; 72 : else ; 73 : { ; 74 : AfxThrowOleException( hr ); 00019 8b 4c 24 30 mov ecx, DWORD PTR hr$[rsp] 0001d e8 00 00 00 00 call ?AfxThrowOleException@@YAXJ@Z ; AfxThrowOleException $LN3@AtlThrowIm: $LN4@AtlThrowIm: ; 75 : } ; 76 : #else ; 77 : throw CAtlException( hr ); ; 78 : #endif ; 79 : }; 00022 48 83 c4 28 add rsp, 40 ; 00000028H 00026 c3 ret 0 ?AtlThrowImpl@ATL@@YAXJ@Z ENDP ; ATL::AtlThrowImpl _TEXT ENDS ; Function compile flags: /Odtp ; 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 = 32 error$ = 64 ?AfxCrtErrorCheck@@YAHH@Z PROC ; AfxCrtErrorCheck, COMDAT ; 506 : { $LN11: 00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx 00004 48 83 ec 38 sub rsp, 56 ; 00000038H ; 507 : switch(error) 00008 8b 44 24 40 mov eax, DWORD PTR error$[rsp] 0000c 89 44 24 20 mov DWORD PTR tv64[rsp], eax 00010 83 7c 24 20 00 cmp DWORD PTR tv64[rsp], 0 00015 74 2c je SHORT $LN8@AfxCrtErro 00017 83 7c 24 20 0c cmp DWORD PTR tv64[rsp], 12 0001c 74 17 je SHORT $LN4@AfxCrtErro 0001e 83 7c 24 20 16 cmp DWORD PTR tv64[rsp], 22 00023 74 17 je SHORT $LN5@AfxCrtErro 00025 83 7c 24 20 22 cmp DWORD PTR tv64[rsp], 34 ; 00000022H 0002a 74 10 je SHORT $LN6@AfxCrtErro 0002c 83 7c 24 20 50 cmp DWORD PTR tv64[rsp], 80 ; 00000050H 00031 74 10 je SHORT $LN7@AfxCrtErro 00033 eb 10 jmp SHORT $LN9@AfxCrtErro $LN4@AfxCrtErro: ; 508 : { ; 509 : case ENOMEM: ; 510 : AfxThrowMemoryException(); 00035 e8 00 00 00 00 call ?AfxThrowMemoryException@@YAXXZ ; AfxThrowMemoryException ; 511 : break; 0003a eb 0e jmp SHORT $LN2@AfxCrtErro $LN5@AfxCrtErro: $LN6@AfxCrtErro: ; 512 : case EINVAL: ; 513 : case ERANGE: ; 514 : AfxThrowInvalidArgException(); 0003c e8 00 00 00 00 call ?AfxThrowInvalidArgException@@YAXXZ ; AfxThrowInvalidArgException ; 515 : break; 00041 eb 07 jmp SHORT $LN2@AfxCrtErro $LN7@AfxCrtErro: $LN8@AfxCrtErro: ; 516 : case STRUNCATE: ; 517 : case 0: ; 518 : break; 00043 eb 05 jmp SHORT $LN2@AfxCrtErro $LN9@AfxCrtErro: ; 519 : default: ; 520 : AfxThrowInvalidArgException(); 00045 e8 00 00 00 00 call ?AfxThrowInvalidArgException@@YAXXZ ; AfxThrowInvalidArgException $LN2@AfxCrtErro: ; 521 : break; ; 522 : } ; 523 : return error; 0004a 8b 44 24 40 mov eax, DWORD PTR error$[rsp] $LN10@AfxCrtErro: ; 524 : } 0004e 48 83 c4 38 add rsp, 56 ; 00000038H 00052 c3 ret 0 ?AfxCrtErrorCheck@@YAHH@Z ENDP ; AfxCrtErrorCheck _TEXT ENDS ; Function compile flags: /Odtp ; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_memcpy_s.h ; COMDAT memmove_s _TEXT SEGMENT tv66 = 32 tv70 = 36 tv74 = 40 _Expr_val$1 = 44 _Expr_val$2 = 48 _Expr_val$3 = 52 _Destination$ = 80 _DestinationSize$ = 88 _Source$ = 96 _SourceSize$ = 104 memmove_s PROC ; COMDAT ; 73 : { 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00014 48 83 ec 48 sub rsp, 72 ; 00000048H ; 74 : if (_SourceSize == 0) 00018 48 83 7c 24 68 00 cmp QWORD PTR _SourceSize$[rsp], 0 0001e 75 07 jne SHORT $LN2@memmove_s ; 75 : { ; 76 : return 0; 00020 33 c0 xor eax, eax 00022 e9 dd 00 00 00 jmp $LN1@memmove_s $LN2@memmove_s: ; 77 : } ; 78 : ; 79 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Destination != NULL, EINVAL); 00027 48 83 7c 24 50 00 cmp QWORD PTR _Destination$[rsp], 0 0002d 74 0a je SHORT $LN7@memmove_s 0002f c7 44 24 20 01 00 00 00 mov DWORD PTR tv66[rsp], 1 00037 eb 08 jmp SHORT $LN8@memmove_s $LN7@memmove_s: 00039 c7 44 24 20 00 00 00 00 mov DWORD PTR tv66[rsp], 0 $LN8@memmove_s: 00041 8b 44 24 20 mov eax, DWORD PTR tv66[rsp] 00045 89 44 24 2c mov DWORD PTR _Expr_val$1[rsp], eax 00049 83 7c 24 2c 00 cmp DWORD PTR _Expr_val$1[rsp], 0 0004e 75 1a jne SHORT $LN3@memmove_s 00050 e8 00 00 00 00 call _errno 00055 c7 00 16 00 00 00 mov DWORD PTR [rax], 22 0005b e8 00 00 00 00 call _invalid_parameter_noinfo 00060 b8 16 00 00 00 mov eax, 22 00065 e9 9a 00 00 00 jmp $LN1@memmove_s $LN3@memmove_s: ; 80 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Source != NULL, EINVAL); 0006a 48 83 7c 24 60 00 cmp QWORD PTR _Source$[rsp], 0 00070 74 0a je SHORT $LN9@memmove_s 00072 c7 44 24 24 01 00 00 00 mov DWORD PTR tv70[rsp], 1 0007a eb 08 jmp SHORT $LN10@memmove_s $LN9@memmove_s: 0007c c7 44 24 24 00 00 00 00 mov DWORD PTR tv70[rsp], 0 $LN10@memmove_s: 00084 8b 44 24 24 mov eax, DWORD PTR tv70[rsp] 00088 89 44 24 30 mov DWORD PTR _Expr_val$2[rsp], eax 0008c 83 7c 24 30 00 cmp DWORD PTR _Expr_val$2[rsp], 0 00091 75 17 jne SHORT $LN4@memmove_s 00093 e8 00 00 00 00 call _errno 00098 c7 00 16 00 00 00 mov DWORD PTR [rax], 22 0009e e8 00 00 00 00 call _invalid_parameter_noinfo 000a3 b8 16 00 00 00 mov eax, 22 000a8 eb 5a jmp SHORT $LN1@memmove_s $LN4@memmove_s: ; 81 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_DestinationSize >= _SourceSize, ERANGE); 000aa 48 8b 44 24 68 mov rax, QWORD PTR _SourceSize$[rsp] 000af 48 39 44 24 58 cmp QWORD PTR _DestinationSize$[rsp], rax 000b4 72 0a jb SHORT $LN11@memmove_s 000b6 c7 44 24 28 01 00 00 00 mov DWORD PTR tv74[rsp], 1 000be eb 08 jmp SHORT $LN12@memmove_s $LN11@memmove_s: 000c0 c7 44 24 28 00 00 00 00 mov DWORD PTR tv74[rsp], 0 $LN12@memmove_s: 000c8 8b 44 24 28 mov eax, DWORD PTR tv74[rsp] 000cc 89 44 24 34 mov DWORD PTR _Expr_val$3[rsp], eax 000d0 83 7c 24 34 00 cmp DWORD PTR _Expr_val$3[rsp], 0 000d5 75 17 jne SHORT $LN5@memmove_s 000d7 e8 00 00 00 00 call _errno 000dc c7 00 22 00 00 00 mov DWORD PTR [rax], 34 ; 00000022H 000e2 e8 00 00 00 00 call _invalid_parameter_noinfo 000e7 b8 22 00 00 00 mov eax, 34 ; 00000022H 000ec eb 16 jmp SHORT $LN1@memmove_s $LN5@memmove_s: ; 82 : ; 83 : memmove(_Destination, _Source, _SourceSize); 000ee 4c 8b 44 24 68 mov r8, QWORD PTR _SourceSize$[rsp] 000f3 48 8b 54 24 60 mov rdx, QWORD PTR _Source$[rsp] 000f8 48 8b 4c 24 50 mov rcx, QWORD PTR _Destination$[rsp] 000fd e8 00 00 00 00 call memmove ; 84 : return 0; 00102 33 c0 xor eax, eax $LN1@memmove_s: ; 85 : } 00104 48 83 c4 48 add rsp, 72 ; 00000048H 00108 c3 ret 0 memmove_s ENDP _TEXT ENDS ; Function compile flags: /Odtp ; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_memcpy_s.h ; COMDAT memcpy_s _TEXT SEGMENT tv66 = 32 tv75 = 36 tv79 = 40 _Expr_val$1 = 44 _Expr_val$2 = 48 _Expr_val$3 = 52 _Destination$ = 80 _DestinationSize$ = 88 _Source$ = 96 _SourceSize$ = 104 memcpy_s PROC ; COMDAT ; 45 : { 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00014 48 83 ec 48 sub rsp, 72 ; 00000048H ; 46 : if (_SourceSize == 0) 00018 48 83 7c 24 68 00 cmp QWORD PTR _SourceSize$[rsp], 0 0001e 75 07 jne SHORT $LN2@memcpy_s ; 47 : { ; 48 : return 0; 00020 33 c0 xor eax, eax 00022 e9 0d 01 00 00 jmp $LN1@memcpy_s $LN2@memcpy_s: ; 49 : } ; 50 : ; 51 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Destination != NULL, EINVAL); 00027 48 83 7c 24 50 00 cmp QWORD PTR _Destination$[rsp], 0 0002d 74 0a je SHORT $LN9@memcpy_s 0002f c7 44 24 20 01 00 00 00 mov DWORD PTR tv66[rsp], 1 00037 eb 08 jmp SHORT $LN10@memcpy_s $LN9@memcpy_s: 00039 c7 44 24 20 00 00 00 00 mov DWORD PTR tv66[rsp], 0 $LN10@memcpy_s: 00041 8b 44 24 20 mov eax, DWORD PTR tv66[rsp] 00045 89 44 24 2c mov DWORD PTR _Expr_val$1[rsp], eax 00049 83 7c 24 2c 00 cmp DWORD PTR _Expr_val$1[rsp], 0 0004e 75 1a jne SHORT $LN3@memcpy_s 00050 e8 00 00 00 00 call _errno 00055 c7 00 16 00 00 00 mov DWORD PTR [rax], 22 0005b e8 00 00 00 00 call _invalid_parameter_noinfo 00060 b8 16 00 00 00 mov eax, 22 00065 e9 ca 00 00 00 jmp $LN1@memcpy_s $LN3@memcpy_s: ; 52 : if (_Source == NULL || _DestinationSize < _SourceSize) 0006a 48 83 7c 24 60 00 cmp QWORD PTR _Source$[rsp], 0 00070 74 10 je SHORT $LN5@memcpy_s 00072 48 8b 44 24 68 mov rax, QWORD PTR _SourceSize$[rsp] 00077 48 39 44 24 58 cmp QWORD PTR _DestinationSize$[rsp], rax 0007c 0f 83 9c 00 00 00 jae $LN4@memcpy_s $LN5@memcpy_s: ; 53 : { ; 54 : memset(_Destination, 0, _DestinationSize); 00082 4c 8b 44 24 58 mov r8, QWORD PTR _DestinationSize$[rsp] 00087 33 d2 xor edx, edx 00089 48 8b 4c 24 50 mov rcx, QWORD PTR _Destination$[rsp] 0008e e8 00 00 00 00 call memset ; 55 : ; 56 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Source != NULL, EINVAL); 00093 48 83 7c 24 60 00 cmp QWORD PTR _Source$[rsp], 0 00099 74 0a je SHORT $LN11@memcpy_s 0009b c7 44 24 24 01 00 00 00 mov DWORD PTR tv75[rsp], 1 000a3 eb 08 jmp SHORT $LN12@memcpy_s $LN11@memcpy_s: 000a5 c7 44 24 24 00 00 00 00 mov DWORD PTR tv75[rsp], 0 $LN12@memcpy_s: 000ad 8b 44 24 24 mov eax, DWORD PTR tv75[rsp] 000b1 89 44 24 30 mov DWORD PTR _Expr_val$2[rsp], eax 000b5 83 7c 24 30 00 cmp DWORD PTR _Expr_val$2[rsp], 0 000ba 75 17 jne SHORT $LN6@memcpy_s 000bc e8 00 00 00 00 call _errno 000c1 c7 00 16 00 00 00 mov DWORD PTR [rax], 22 000c7 e8 00 00 00 00 call _invalid_parameter_noinfo 000cc b8 16 00 00 00 mov eax, 22 000d1 eb 61 jmp SHORT $LN1@memcpy_s $LN6@memcpy_s: ; 57 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_DestinationSize >= _SourceSize, ERANGE); 000d3 48 8b 44 24 68 mov rax, QWORD PTR _SourceSize$[rsp] 000d8 48 39 44 24 58 cmp QWORD PTR _DestinationSize$[rsp], rax 000dd 72 0a jb SHORT $LN13@memcpy_s 000df c7 44 24 28 01 00 00 00 mov DWORD PTR tv79[rsp], 1 000e7 eb 08 jmp SHORT $LN14@memcpy_s $LN13@memcpy_s: 000e9 c7 44 24 28 00 00 00 00 mov DWORD PTR tv79[rsp], 0 $LN14@memcpy_s: 000f1 8b 44 24 28 mov eax, DWORD PTR tv79[rsp] 000f5 89 44 24 34 mov DWORD PTR _Expr_val$3[rsp], eax 000f9 83 7c 24 34 00 cmp DWORD PTR _Expr_val$3[rsp], 0 000fe 75 17 jne SHORT $LN7@memcpy_s 00100 e8 00 00 00 00 call _errno 00105 c7 00 22 00 00 00 mov DWORD PTR [rax], 34 ; 00000022H 0010b e8 00 00 00 00 call _invalid_parameter_noinfo 00110 b8 22 00 00 00 mov eax, 34 ; 00000022H 00115 eb 1d jmp SHORT $LN1@memcpy_s $LN7@memcpy_s: ; 58 : ; 59 : // Unreachable, but required to suppress /analyze warnings: ; 60 : return EINVAL; 00117 b8 16 00 00 00 mov eax, 22 0011c eb 16 jmp SHORT $LN1@memcpy_s $LN4@memcpy_s: ; 61 : } ; 62 : memcpy(_Destination, _Source, _SourceSize); 0011e 4c 8b 44 24 68 mov r8, QWORD PTR _SourceSize$[rsp] 00123 48 8b 54 24 60 mov rdx, QWORD PTR _Source$[rsp] 00128 48 8b 4c 24 50 mov rcx, QWORD PTR _Destination$[rsp] 0012d e8 00 00 00 00 call memcpy ; 63 : return 0; 00132 33 c0 xor eax, eax $LN1@memcpy_s: ; 64 : } 00134 48 83 c4 48 add rsp, 72 ; 00000048H 00138 c3 ret 0 memcpy_s ENDP _TEXT ENDS ; Function compile flags: /Odtp ; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h ; COMDAT sprintf _TEXT SEGMENT _Result$ = 32 _ArgList$ = 40 _Buffer$ = 64 _Format$ = 72 sprintf PROC ; COMDAT ; 1771 : { $LN3: 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000a 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 0000f 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 00014 48 83 ec 38 sub rsp, 56 ; 00000038H ; 1772 : int _Result; ; 1773 : va_list _ArgList; ; 1774 : __crt_va_start(_ArgList, _Format); 00018 48 8d 44 24 50 lea rax, QWORD PTR _Format$[rsp+8] 0001d 48 89 44 24 28 mov QWORD PTR _ArgList$[rsp], rax ; 1775 : ; 1776 : _Result = _vsprintf_l(_Buffer, _Format, NULL, _ArgList); 00022 4c 8b 4c 24 28 mov r9, QWORD PTR _ArgList$[rsp] 00027 45 33 c0 xor r8d, r8d 0002a 48 8b 54 24 48 mov rdx, QWORD PTR _Format$[rsp] 0002f 48 8b 4c 24 40 mov rcx, QWORD PTR _Buffer$[rsp] 00034 e8 00 00 00 00 call _vsprintf_l 00039 89 44 24 20 mov DWORD PTR _Result$[rsp], eax ; 1777 : ; 1778 : __crt_va_end(_ArgList); 0003d 48 c7 44 24 28 00 00 00 00 mov QWORD PTR _ArgList$[rsp], 0 ; 1779 : return _Result; 00046 8b 44 24 20 mov eax, DWORD PTR _Result$[rsp] ; 1780 : } 0004a 48 83 c4 38 add rsp, 56 ; 00000038H 0004e c3 ret 0 sprintf ENDP _TEXT ENDS ; Function compile flags: /Odtp ; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h ; COMDAT _vsprintf_l _TEXT SEGMENT _Buffer$ = 64 _Format$ = 72 _Locale$ = 80 _ArgList$ = 88 _vsprintf_l PROC ; COMDAT ; 1458 : { $LN3: 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00014 48 83 ec 38 sub rsp, 56 ; 00000038H ; 1459 : return _vsnprintf_l(_Buffer, (size_t)-1, _Format, _Locale, _ArgList); 00018 48 8b 44 24 58 mov rax, QWORD PTR _ArgList$[rsp] 0001d 48 89 44 24 20 mov QWORD PTR [rsp+32], rax 00022 4c 8b 4c 24 50 mov r9, QWORD PTR _Locale$[rsp] 00027 4c 8b 44 24 48 mov r8, QWORD PTR _Format$[rsp] 0002c 48 c7 c2 ff ff ff ff mov rdx, -1 00033 48 8b 4c 24 40 mov rcx, QWORD PTR _Buffer$[rsp] 00038 e8 00 00 00 00 call _vsnprintf_l ; 1460 : } 0003d 48 83 c4 38 add rsp, 56 ; 00000038H 00041 c3 ret 0 _vsprintf_l ENDP _TEXT ENDS ; Function compile flags: /Odtp ; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h ; COMDAT _vsnprintf_l _TEXT SEGMENT _Result$ = 48 tv74 = 52 _Buffer$ = 80 _BufferCount$ = 88 _Format$ = 96 _Locale$ = 104 _ArgList$ = 112 _vsnprintf_l PROC ; COMDAT ; 1391 : { $LN5: 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00014 48 83 ec 48 sub rsp, 72 ; 00000048H ; 1392 : int const _Result = __stdio_common_vsprintf( 00018 e8 00 00 00 00 call __local_stdio_printf_options 0001d 48 8b 00 mov rax, QWORD PTR [rax] 00020 48 83 c8 01 or rax, 1 00024 48 8b 4c 24 70 mov rcx, QWORD PTR _ArgList$[rsp] 00029 48 89 4c 24 28 mov QWORD PTR [rsp+40], rcx 0002e 48 8b 4c 24 68 mov rcx, QWORD PTR _Locale$[rsp] 00033 48 89 4c 24 20 mov QWORD PTR [rsp+32], rcx 00038 4c 8b 4c 24 60 mov r9, QWORD PTR _Format$[rsp] 0003d 4c 8b 44 24 58 mov r8, QWORD PTR _BufferCount$[rsp] 00042 48 8b 54 24 50 mov rdx, QWORD PTR _Buffer$[rsp] 00047 48 8b c8 mov rcx, rax 0004a e8 00 00 00 00 call __stdio_common_vsprintf 0004f 89 44 24 30 mov DWORD PTR _Result$[rsp], eax ; 1393 : _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION, ; 1394 : _Buffer, _BufferCount, _Format, _Locale, _ArgList); ; 1395 : ; 1396 : return _Result < 0 ? -1 : _Result; 00053 83 7c 24 30 00 cmp DWORD PTR _Result$[rsp], 0 00058 7d 0a jge SHORT $LN3@vsnprintf_ 0005a c7 44 24 34 ff ff ff ff mov DWORD PTR tv74[rsp], -1 00062 eb 08 jmp SHORT $LN4@vsnprintf_ $LN3@vsnprintf_: 00064 8b 44 24 30 mov eax, DWORD PTR _Result$[rsp] 00068 89 44 24 34 mov DWORD PTR tv74[rsp], eax $LN4@vsnprintf_: 0006c 8b 44 24 34 mov eax, DWORD PTR tv74[rsp] ; 1397 : } 00070 48 83 c4 48 add rsp, 72 ; 00000048H 00074 c3 ret 0 _vsnprintf_l ENDP _TEXT ENDS ; Function compile flags: /Odtp ; 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 ; 91 : static unsigned __int64 _OptionsStorage; ; 92 : return &_OptionsStorage; 00000 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA ; `__local_stdio_printf_options'::`2'::_OptionsStorage ; 93 : } 00007 c3 ret 0 __local_stdio_printf_options ENDP _TEXT ENDS ; Function compile flags: /Odtp ; File D:\Works\Corpsms_2010\public\des\Des.cpp ; COMDAT ?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z _TEXT SEGMENT __formal$ = 8 __formal$ = 16 __formal$ = 24 ?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000f c3 ret 0 ?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z ENDP ; __empty_global_delete _TEXT ENDS ; Function compile flags: /Odtp ; File D:\Works\Corpsms_2010\public\des\Des.cpp ; COMDAT ?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z _TEXT SEGMENT __formal$ = 8 __formal$ = 16 ?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000a c3 ret 0 ?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z ENDP ; __empty_global_delete _TEXT ENDS ; Function compile flags: /Odtp ; File D:\Works\Corpsms_2010\public\des\Des.cpp ; COMDAT ?__empty_global_delete@@YAXPEAX_K@Z _TEXT SEGMENT __formal$ = 8 __formal$ = 16 ?__empty_global_delete@@YAXPEAX_K@Z PROC ; __empty_global_delete, COMDAT 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000a c3 ret 0 ?__empty_global_delete@@YAXPEAX_K@Z ENDP ; __empty_global_delete _TEXT ENDS ; Function compile flags: /Odtp ; File D:\Works\Corpsms_2010\public\des\Des.cpp ; COMDAT ?__empty_global_delete@@YAXPEAX@Z _TEXT SEGMENT __formal$ = 8 ?__empty_global_delete@@YAXPEAX@Z PROC ; __empty_global_delete, COMDAT 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 c3 ret 0 ?__empty_global_delete@@YAXPEAX@Z ENDP ; __empty_global_delete _TEXT ENDS END