; Listing generated by Microsoft (R) Optimizing Compiler Version 19.34.31933.0 include listing.inc INCLUDELIB LIBCMT INCLUDELIB OLDNAMES 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 ??_C@_1BC@HEKPCAFP@?$AAA?$AAp?$AAp?$AAE?$AAr?$AAr?$AAo?$AAr@ ; `string' PUBLIC ??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@ ; `string' PUBLIC ??_C@_13JKNELIBG@?$AAT@ ; `string' PUBLIC ?__LINE__Var@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4JA ; `CDes::Encrypt'::`1'::__LINE__Var PUBLIC ??_C@_07CEMOCOEI@Encrypt@ ; `string' PUBLIC ??_C@_0CJ@CDDOEPDI@D?3?2Works?2Corpsms_2010?2public?2de@ ; `string' PUBLIC ?__LINE__Var@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4JA ; `CDes::Decrypt'::`1'::__LINE__Var PUBLIC ??_C@_07OKGDHKCM@Decrypt@ ; `string' PUBLIC ??_C@_04JFFKLGJF@?$CF02X@ ; `string' 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$?__empty_global_delete@@YAXPEAX@Z DD imagerel $LN3 DD imagerel $LN3+19 DD imagerel $unwind$?__empty_global_delete@@YAXPEAX@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?__empty_global_delete@@YAXPEAX_K@Z DD imagerel $LN3 DD imagerel $LN3+24 DD imagerel $unwind$?__empty_global_delete@@YAXPEAX_K@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z DD imagerel $LN3 DD imagerel $LN3+24 DD imagerel $unwind$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z DD imagerel $LN3 DD imagerel $LN3+29 DD imagerel $unwind$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$__local_stdio_printf_options DD imagerel $LN3 DD imagerel $LN3+22 DD imagerel $unwind$__local_stdio_printf_options pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_vsnprintf_l DD imagerel $LN5 DD imagerel $LN5+119 DD imagerel $unwind$_vsnprintf_l pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_vsprintf_l DD imagerel $LN3 DD imagerel $LN3+69 DD imagerel $unwind$_vsprintf_l pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$sprintf DD imagerel $LN3 DD imagerel $LN3+84 DD imagerel $unwind$sprintf pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$memcpy_s DD imagerel memcpy_s DD imagerel memcpy_s+292 DD imagerel $unwind$memcpy_s pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$memmove_s DD imagerel memmove_s DD imagerel memmove_s+249 DD imagerel $unwind$memmove_s pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?AfxCrtErrorCheck@@YAHH@Z DD imagerel $LN11 DD imagerel $LN11+82 DD imagerel $unwind$?AfxCrtErrorCheck@@YAHH@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?AtlThrowImpl@ATL@@YAXJ@Z DD imagerel $LN5 DD imagerel $LN5+44 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+64 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+41 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+231 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$?data@CStringData@ATL@@QEAAPEAXXZ DD imagerel $LN3 DD imagerel $LN3+27 DD imagerel $unwind$?data@CStringData@ATL@@QEAAPEAXXZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?IsLocked@CStringData@ATL@@QEBA_NXZ DD imagerel $LN5 DD imagerel $LN5+49 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+49 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+86 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+31 DD imagerel $unwind$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_W@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_WH@Z DD imagerel $LN3 DD imagerel $LN3+26 DD imagerel $unwind$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_WH@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+121 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+43 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+43 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+130 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+33 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+37 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+33 DD imagerel $unwind$?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?GetString@?$CSimpleStringT@_W$0A@@ATL@@QEBAPEB_WXZ DD imagerel $LN3 DD imagerel $LN3+26 DD imagerel $unwind$?GetString@?$CSimpleStringT@_W$0A@@ATL@@QEBAPEB_WXZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QEAAXH@Z DD imagerel $LN3 DD imagerel $LN3+37 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+51 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+261 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+70 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+42 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+27 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+42 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+257 DD imagerel $unwind$?Fork@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ DD imagerel $LN3 DD imagerel $LN3+30 DD imagerel $unwind$?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AEAAPEA_WH@Z DD imagerel $LN5 DD imagerel $LN5+119 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+178 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+142 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+82 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+25 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+31 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+25 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+43 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+65 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+155 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+86 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+29 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+23 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+411 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+272 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+28 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+28 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+28 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+287 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+272 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+28 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+28 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+28 DD imagerel $unwind$?dtor$2@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??0CDes@@QEAA@XZ DD imagerel $LN3 DD imagerel $LN3+8917 DD imagerel $unwind$??0CDes@@QEAA@XZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??1CDes@@UEAA@XZ DD imagerel $LN3 DD imagerel $LN3+33 DD imagerel $unwind$??1CDes@@UEAA@XZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?AsciiToHex@CDes@@IEAAXPEAD0J@Z DD imagerel $LN6 DD imagerel $LN6+121 DD imagerel $unwind$?AsciiToHex@CDes@@IEAAXPEAD0J@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?CharHex@CDes@@IEAAJD@Z DD imagerel $LN25 DD imagerel $LN25+362 DD imagerel $unwind$?CharHex@CDes@@IEAAJD@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?HexToAscii@CDes@@IEAAXPEAD0@Z DD imagerel $LN8 DD imagerel $LN8+276 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+526 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+530 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+249 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+362 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+212 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+273 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+98 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+162 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+99 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+142 DD imagerel $unwind$?BitToByte@CDes@@IEAAXPEADPEB_NH@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??_GCDes@@UEAAPEAXI@Z DD imagerel $LN4 DD imagerel $LN4+62 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 ??_C@_04JFFKLGJF@?$CF02X@ CONST SEGMENT ??_C@_04JFFKLGJF@?$CF02X@ DB '%02X', 00H ; `string' CONST ENDS ; COMDAT ??_C@_07OKGDHKCM@Decrypt@ CONST SEGMENT ??_C@_07OKGDHKCM@Decrypt@ DB 'Decrypt', 00H ; `string' CONST ENDS ; COMDAT ?__LINE__Var@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4JA _DATA SEGMENT ?__LINE__Var@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4JA DD 0acH ; `CDes::Decrypt'::`1'::__LINE__Var _DATA ENDS ; COMDAT ??_C@_0CJ@CDDOEPDI@D?3?2Works?2Corpsms_2010?2public?2de@ CONST SEGMENT ??_C@_0CJ@CDDOEPDI@D?3?2Works?2Corpsms_2010?2public?2de@ DB 'D:\Works\Cor' DB 'psms_2010\public\des\Des.cpp', 00H ; `string' CONST ENDS ; COMDAT ??_C@_07CEMOCOEI@Encrypt@ CONST SEGMENT ??_C@_07CEMOCOEI@Encrypt@ DB 'Encrypt', 00H ; `string' CONST ENDS ; COMDAT ?__LINE__Var@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4JA _DATA SEGMENT ?__LINE__Var@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4JA DD 08cH ; `CDes::Encrypt'::`1'::__LINE__Var _DATA ENDS ; COMDAT ??_C@_13JKNELIBG@?$AAT@ CONST SEGMENT ??_C@_13JKNELIBG@?$AAT@ DB 'T', 00H, 00H, 00H ; `string' CONST ENDS ; COMDAT ??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@ CONST SEGMENT ??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@ DB 'L', 00H, 'o', 00H, 'g', 00H, 00H, 00H ; `string' CONST ENDS ; COMDAT ??_C@_1BC@HEKPCAFP@?$AAA?$AAp?$AAp?$AAE?$AAr?$AAr?$AAo?$AAr@ CONST SEGMENT ??_C@_1BC@HEKPCAFP@?$AAA?$AAp?$AAp?$AAE?$AAr?$AAr?$AAo?$AAr@ DB 'A', 00H, 'p' DB 00H, 'p', 00H, 'E', 00H, 'r', 00H, 'r', 00H, 'o', 00H, 'r', 00H DB 00H, 00H ; `string' CONST ENDS ; COMDAT ??_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 025031301H DD 0b20e2313H DD 0500aH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?BitToByte@CDes@@IEAAXPEADPEB_NH@Z DD 025031e01H DD 0d219231eH DD 05015H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?ByteToBit@CDes@@IEAAXPEA_NPEBDH@Z DD 05031c01H DD 09219031cH DD 05015H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?RotateL@CDes@@IEAAXPEA_NHH@Z DD 025031e01H DD 0d219231eH DD 05015H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?Xor@CDes@@IEAAXPEA_NPEB_NH@Z DD 05031c01H DD 09219031cH DD 05015H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?Transform@CDes@@IEAAXPEA_N0PEBDH@Z DD 025031e01H DD 0d219231eH DD 05015H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?S_func@CDes@@IEAAXQEA_NQEB_N@Z DD 025031901H DD 0d2142319H DD 05010H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 026H DB 0bfH voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$?F_func@CDes@@IEAAXQEA_NQEB_N@Z DD 035042a19H DD 0117331cH DD 050100016H DD imagerel __GSHandlerCheck DD 0a0H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 026H DW 0152H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$?SetSubKey@CDes@@IEAAXPEAY1BA@DA@_NQEBD@Z DD 035042d19H DD 0117331cH DD 05010001aH DD imagerel __GSHandlerCheck DD 0c8H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?SetKey@CDes@@IEAAXPEBDH@Z DD 025031901H DD 0d2142319H DD 05010H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 02bH DW 01faH voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$?DES@CDes@@IEAAXQEAD0QEAY1BA@DA@_N_N@Z DD 035043219H DD 011c3321H DD 05015001eH DD imagerel __GSHandlerCheck DD 0e8H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?Des_Go@CDes@@IEAA_NPEAD0JPEBDH_N@Z DD 035042101H DD 011c3321H DD 050150012H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?HexToAscii@CDes@@IEAAXPEAD0@Z DD 025041c01H DD 0117231cH DD 050100014H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?CharHex@CDes@@IEAAJD@Z DD 05031101H DD 0720e0311H DD 0500aH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?AsciiToHex@CDes@@IEAAXPEAD0J@Z DD 025031e01H DD 0d219231eH DD 05015H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??1CDes@@UEAA@XZ DD 05030d01H DD 0720a030dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??0CDes@@QEAA@XZ DD 05030d01H DD 0720a030dH DD 05006H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 00H voltbl ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 032H DW 0106H 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 01cH DB 02H DB 01aH DB 04H DB 'l' DB 06H DB 088H DB 08H DB 01cH DB 04H DB 092H 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 'Y', 02H DB 02H DB 084H 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 045053919H DD 01234328H DD 0701603d1H DD 05015H DD imagerel __GSHandlerCheck_EH4 DD imagerel $cppxdata$?Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z DD 01e73H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 00H voltbl ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 032H DW 0182H 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 01cH DB 02H DB 01aH DB 04H DB 'l' DB 06H DB 088H DB 08H DB 01cH DB 04H DB 092H 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 '}', 03H DB 02H DB 084H 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 045053919H DD 01234328H DD 0701603d1H DD 05015H DD imagerel __GSHandlerCheck_EH4 DD imagerel $cppxdata$?Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z DD 01e73H 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 025030b19H DD 0b206230bH DD 05002H 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 025030e19H DD 0b209230eH DD 05005H 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 025031401H DD 0d20f2314H DD 0500bH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAHPEAUHINSTANCE__@@I@Z DD 025031c01H DD 0f217231cH DD 05010H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAHI@Z DD 025031301H DD 0d20e2313H DD 0500aH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAAEAV01@PEB_W@Z DD 025031401H DD 0b20f2314H DD 0500bH 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 025030f11H DD 0b20a230fH DD 05006H 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 'L' DB 02H DB 'D' 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 025031411H DD 0b20f2314H DD 0500bH 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 025031301H DD 0b20e2313H DD 0500aH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z DD 025031601H DD 0f2112316H DD 0500aH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z DD 025031301H DD 0d20e2313H DD 0500aH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AEAAPEA_WH@Z DD 025031301H DD 0d20e2313H DD 0500aH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ DD 05030d01H DD 0720a030dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?Fork@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z DD 025041601H DD 01112316H DD 0500a0012H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?Attach@?$CSimpleStringT@_W$0A@@ATL@@AEAAXPEAUCStringData@2@@Z DD 025031401H DD 0b20f2314H DD 0500bH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ DD 025030b01H DD 0b206230bH DD 05002H 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 025030f19H DD 0b20a230fH DD 05006H 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 025031e19H DD 0b219231eH DD 05015H 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 025031c01H DD 0f217231cH DD 05010H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_W@Z DD 025031401H DD 0b20f2314H DD 0500bH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QEAAXH@Z DD 025031301H DD 0b20e2313H DD 0500aH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?GetString@?$CSimpleStringT@_W$0A@@ATL@@QEBAPEB_WXZ DD 05030d01H DD 0720a030dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ DD 025030f01H DD 0b20a230fH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QEAAPEA_WH@Z DD 025031301H DD 0b20e2313H DD 0500aH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ DD 025030f01H DD 0b20a230fH DD 05006H 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 025031219H DD 0f20d2312H DD 05006H 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 025031401H DD 0b20f2314H DD 0500bH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??1?$CSimpleStringT@_W$0A@@ATL@@QEAA@XZ DD 025030f01H DD 0d20a230fH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??0?$CSimpleStringT@_W$0A@@ATL@@QEAA@PEAUIAtlStringMgr@1@@Z DD 025031701H DD 0f2122317H DD 0500bH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPEA_WHPEB_WH@Z DD 025031d01H DD 0b218231dH DD 05014H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_WH@Z DD 05031101H DD 0720e0311H DD 0500aH 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 025030f19H DD 0b20a230fH DD 05006H DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_W@Z xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 01cH voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$?Release@CStringData@ATL@@QEAAXXZ DD 025030f01H DD 0d20a230fH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?IsShared@CStringData@ATL@@QEBA_NXZ DD 05030d01H DD 0920a030dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?IsLocked@CStringData@ATL@@QEBA_NXZ DD 05030d01H DD 0920a030dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?data@CStringData@ATL@@QEAAPEAXXZ DD 05030d01H DD 0720a030dH DD 05006H 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 025031319H DD 0d20e2313H DD 0500aH 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 025041c19H DD 0117231cH DD 050100012H 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 025030f01H DD 0b20a230fH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?wmemcpy_s@Checked@ATL@@YAXPEA_W_KPEB_W1@Z DD 025031e01H DD 0b219231eH DD 05015H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?AtlThrowImpl@ATL@@YAXJ@Z DD 025030e01H DD 0b209230eH DD 05005H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?AfxCrtErrorCheck@@YAHH@Z DD 025030e01H DD 0d209230eH DD 05005H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$memmove_s DD 025031e01H DD 0d219231eH DD 05015H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$memcpy_s DD 025031e01H DD 0d219231eH DD 05015H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$sprintf DD 025032101H DD 0f21c2321H DD 05015H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_vsprintf_l DD 035031e01H DD 0d219331eH DD 05015H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_vsnprintf_l DD 035032101H DD 0f21c3321H DD 05015H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$__local_stdio_printf_options DD 05030901H DD 072060309H DD 05002H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z DD 05031701H DD 072140317H DD 05010H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z DD 05031201H DD 0720f0312H DD 0500bH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?__empty_global_delete@@YAXPEAX_K@Z DD 05031201H DD 0720f0312H DD 0500bH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?__empty_global_delete@@YAXPEAX@Z DD 05030d01H DD 0720a030dH DD 05006H xdata ENDS ; Function compile flags: /Odtp /ZI ; COMDAT ??_GCDes@@UEAAPEAXI@Z _TEXT SEGMENT this$ = 80 __flags$ = 88 ??_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 55 push rbp 0000a 48 83 ec 60 sub rsp, 96 ; 00000060H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8b 4d 50 mov rcx, QWORD PTR this$[rbp] 00017 e8 00 00 00 00 call ??1CDes@@UEAA@XZ ; CDes::~CDes 0001c 8b 45 58 mov eax, DWORD PTR __flags$[rbp] 0001f 83 e0 01 and eax, 1 00022 85 c0 test eax, eax 00024 74 0e je SHORT $LN2@scalar 00026 ba 68 0a 00 00 mov edx, 2664 ; 00000a68H 0002b 48 8b 4d 50 mov rcx, QWORD PTR this$[rbp] 0002f e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete $LN2@scalar: 00034 48 8b 45 50 mov rax, QWORD PTR this$[rbp] 00038 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 0003c 5d pop rbp 0003d c3 ret 0 ??_GCDes@@UEAAPEAXI@Z ENDP ; CDes::`scalar deleting destructor' _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File D:\Works\Corpsms_2010\public\des\Des.cpp ; COMDAT ?BitToByte@CDes@@IEAAXPEADPEB_NH@Z _TEXT SEGMENT i$1 = 0 this$ = 96 Out$ = 104 In$ = 112 bits$ = 120 ?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 55 push rbp 00015 48 83 ec 70 sub rsp, 112 ; 00000070H 00019 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 134 : memset(Out, 0, bits>>3); 0001e 8b 45 78 mov eax, DWORD PTR bits$[rbp] 00021 c1 f8 03 sar eax, 3 00024 48 98 cdqe 00026 4c 8b c0 mov r8, rax 00029 33 d2 xor edx, edx 0002b 48 8b 4d 68 mov rcx, QWORD PTR Out$[rbp] 0002f e8 00 00 00 00 call memset ; 135 : for(int i=0; i>3] |= In[i]<<(i&7); 0004d 48 63 45 00 movsxd rax, DWORD PTR i$1[rbp] 00051 48 8b 4d 70 mov rcx, QWORD PTR In$[rbp] 00055 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] 00059 8b 4d 00 mov ecx, DWORD PTR i$1[rbp] 0005c 83 e1 07 and ecx, 7 0005f d3 e0 shl eax, cl 00061 8b 4d 00 mov ecx, DWORD PTR i$1[rbp] 00064 c1 f9 03 sar ecx, 3 00067 48 63 c9 movsxd rcx, ecx 0006a 48 8b 55 68 mov rdx, QWORD PTR Out$[rbp] 0006e 0f be 0c 0a movsx ecx, BYTE PTR [rdx+rcx] 00072 0b c8 or ecx, eax 00074 8b c1 mov eax, ecx 00076 8b 4d 00 mov ecx, DWORD PTR i$1[rbp] 00079 c1 f9 03 sar ecx, 3 0007c 48 63 c9 movsxd rcx, ecx 0007f 48 8b 55 68 mov rdx, QWORD PTR Out$[rbp] 00083 88 04 0a mov BYTE PTR [rdx+rcx], al 00086 eb b5 jmp SHORT $LN2@BitToByte $LN3@BitToByte: ; 137 : } 00088 48 8d 65 50 lea rsp, QWORD PTR [rbp+80] 0008c 5d pop rbp 0008d c3 ret 0 ?BitToByte@CDes@@IEAAXPEADPEB_NH@Z ENDP ; CDes::BitToByte _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File D:\Works\Corpsms_2010\public\des\Des.cpp ; COMDAT ?ByteToBit@CDes@@IEAAXPEA_NPEBDH@Z _TEXT SEGMENT i$1 = 0 this$ = 96 Out$ = 104 In$ = 112 bits$ = 120 ?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 55 push rbp 00015 48 83 ec 50 sub rsp, 80 ; 00000050H 00019 48 8b ec mov rbp, rsp ; 129 : for(int i=0; i>3]>>(i&7)) & 1; 00035 8b 45 00 mov eax, DWORD PTR i$1[rbp] 00038 c1 f8 03 sar eax, 3 0003b 48 98 cdqe 0003d 48 8b 4d 70 mov rcx, QWORD PTR In$[rbp] 00041 0f be 04 01 movsx eax, BYTE PTR [rcx+rax] 00045 8b 4d 00 mov ecx, DWORD PTR i$1[rbp] 00048 83 e1 07 and ecx, 7 0004b d3 f8 sar eax, cl 0004d 83 e0 01 and eax, 1 00050 48 63 4d 00 movsxd rcx, DWORD PTR i$1[rbp] 00054 48 8b 55 68 mov rdx, QWORD PTR Out$[rbp] 00058 88 04 0a mov BYTE PTR [rdx+rcx], al 0005b eb c8 jmp SHORT $LN2@ByteToBit $LN3@ByteToBit: ; 131 : } 0005d 48 8d 65 50 lea rsp, QWORD PTR [rbp+80] 00061 5d pop rbp 00062 c3 ret 0 ?ByteToBit@CDes@@IEAAXPEA_NPEBDH@Z ENDP ; CDes::ByteToBit _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File D:\Works\Corpsms_2010\public\des\Des.cpp ; COMDAT ?RotateL@CDes@@IEAAXPEA_NHH@Z _TEXT SEGMENT tv84 = 64 this$ = 96 In$ = 104 len$ = 112 loop$ = 120 ?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 55 push rbp 00015 48 83 ec 70 sub rsp, 112 ; 00000070H 00019 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 123 : memcpy(Tmp, In, loop); 0001e 48 63 45 78 movsxd rax, DWORD PTR loop$[rbp] 00022 48 8b 4d 60 mov rcx, QWORD PTR this$[rbp] 00026 48 81 c1 51 09 00 00 add rcx, 2385 ; 00000951H 0002d 4c 8b c0 mov r8, rax 00030 48 8b 55 68 mov rdx, QWORD PTR In$[rbp] 00034 e8 00 00 00 00 call memcpy ; 124 : memcpy(In, In+loop, len-loop); 00039 8b 45 78 mov eax, DWORD PTR loop$[rbp] 0003c 8b 4d 70 mov ecx, DWORD PTR len$[rbp] 0003f 2b c8 sub ecx, eax 00041 8b c1 mov eax, ecx 00043 48 98 cdqe 00045 48 63 4d 78 movsxd rcx, DWORD PTR loop$[rbp] 00049 48 8b 55 68 mov rdx, QWORD PTR In$[rbp] 0004d 48 03 d1 add rdx, rcx 00050 48 8b ca mov rcx, rdx 00053 4c 8b c0 mov r8, rax 00056 48 8b d1 mov rdx, rcx 00059 48 8b 4d 68 mov rcx, QWORD PTR In$[rbp] 0005d e8 00 00 00 00 call memcpy ; 125 : memcpy(In+len-loop, Tmp, loop); 00062 48 63 45 78 movsxd rax, DWORD PTR loop$[rbp] 00066 48 8b 4d 60 mov rcx, QWORD PTR this$[rbp] 0006a 48 81 c1 51 09 00 00 add rcx, 2385 ; 00000951H 00071 48 63 55 70 movsxd rdx, DWORD PTR len$[rbp] 00075 4c 8b 45 68 mov r8, QWORD PTR In$[rbp] 00079 4c 03 c2 add r8, rdx 0007c 49 8b d0 mov rdx, r8 0007f 4c 63 45 78 movsxd r8, DWORD PTR loop$[rbp] 00083 49 2b d0 sub rdx, r8 00086 48 89 55 40 mov QWORD PTR tv84[rbp], rdx 0008a 4c 8b c0 mov r8, rax 0008d 48 8b d1 mov rdx, rcx 00090 48 8b 45 40 mov rax, QWORD PTR tv84[rbp] 00094 48 8b c8 mov rcx, rax 00097 e8 00 00 00 00 call memcpy ; 126 : } 0009c 48 8d 65 50 lea rsp, QWORD PTR [rbp+80] 000a0 5d pop rbp 000a1 c3 ret 0 ?RotateL@CDes@@IEAAXPEA_NHH@Z ENDP ; CDes::RotateL _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File D:\Works\Corpsms_2010\public\des\Des.cpp ; COMDAT ?Xor@CDes@@IEAAXPEA_NPEB_NH@Z _TEXT SEGMENT i$1 = 0 this$ = 96 InA$ = 104 InB$ = 112 len$ = 120 ?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 55 push rbp 00015 48 83 ec 50 sub rsp, 80 ; 00000050H 00019 48 8b ec mov rbp, rsp ; 118 : for(int i=0; i16?16:len); 00033 83 7d 70 10 cmp DWORD PTR len$[rbp], 16 00037 7e 09 jle SHORT $LN3@SetKey 00039 c7 45 40 10 00 00 00 mov DWORD PTR tv70[rbp], 16 00040 eb 06 jmp SHORT $LN4@SetKey $LN3@SetKey: 00042 8b 45 70 mov eax, DWORD PTR len$[rbp] 00045 89 45 40 mov DWORD PTR tv70[rbp], eax $LN4@SetKey: 00048 48 63 45 40 movsxd rax, DWORD PTR tv70[rbp] 0004c 48 8b 4d 60 mov rcx, QWORD PTR this$[rbp] 00050 48 81 c1 51 0a 00 00 add rcx, 2641 ; 00000a51H 00057 4c 8b c0 mov r8, rax 0005a 48 8b 55 68 mov rdx, QWORD PTR Key$[rbp] 0005e e8 00 00 00 00 call memcpy ; 57 : SetSubKey(&SubKey[0], &deskey[0]); 00063 b8 01 00 00 00 mov eax, 1 00068 48 6b c0 00 imul rax, rax, 0 0006c 48 8b 4d 60 mov rcx, QWORD PTR this$[rbp] 00070 48 8d 84 01 51 0a 00 00 lea rax, QWORD PTR [rcx+rax+2641] 00078 b9 00 03 00 00 mov ecx, 768 ; 00000300H 0007d 48 6b c9 00 imul rcx, rcx, 0 00081 48 8b 55 60 mov rdx, QWORD PTR this$[rbp] 00085 48 8d 8c 0a 50 03 00 00 lea rcx, QWORD PTR [rdx+rcx+848] 0008d 4c 8b c0 mov r8, rax 00090 48 8b d1 mov rdx, rcx 00093 48 8b 4d 60 mov rcx, QWORD PTR this$[rbp] 00097 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; 0009c 83 7d 70 08 cmp DWORD PTR len$[rbp], 8 000a0 7e 3f jle SHORT $LN5@SetKey 000a2 b8 01 00 00 00 mov eax, 1 000a7 48 6b c0 08 imul rax, rax, 8 000ab 48 8b 4d 60 mov rcx, QWORD PTR this$[rbp] 000af 48 8d 84 01 51 0a 00 00 lea rax, QWORD PTR [rcx+rax+2641] 000b7 b9 00 03 00 00 mov ecx, 768 ; 00000300H 000bc 48 6b c9 01 imul rcx, rcx, 1 000c0 48 8b 55 60 mov rdx, QWORD PTR this$[rbp] 000c4 48 8d 8c 0a 50 03 00 00 lea rcx, QWORD PTR [rdx+rcx+848] 000cc 4c 8b c0 mov r8, rax 000cf 48 8b d1 mov rdx, rcx 000d2 48 8b 4d 60 mov rcx, QWORD PTR this$[rbp] 000d6 e8 00 00 00 00 call ?SetSubKey@CDes@@IEAAXPEAY1BA@DA@_NQEBD@Z ; CDes::SetSubKey 000db c6 45 40 01 mov BYTE PTR tv95[rbp], 1 000df eb 04 jmp SHORT $LN6@SetKey $LN5@SetKey: 000e1 c6 45 40 00 mov BYTE PTR tv95[rbp], 0 $LN6@SetKey: 000e5 48 8b 45 60 mov rax, QWORD PTR this$[rbp] 000e9 0f b6 4d 40 movzx ecx, BYTE PTR tv95[rbp] 000ed 88 88 50 09 00 00 mov BYTE PTR [rax+2384], cl ; 59 : } 000f3 48 8d 65 50 lea rsp, QWORD PTR [rbp+80] 000f7 5d pop rbp 000f8 c3 ret 0 ?SetKey@CDes@@IEAAXPEBDH@Z ENDP ; CDes::SetKey _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File D:\Works\Corpsms_2010\public\des\Des.cpp ; COMDAT ?DES@CDes@@IEAAXQEAD0QEAY1BA@DA@_N_N@Z _TEXT SEGMENT M$ = 0 tmp$ = 64 Li$ = 96 Ri$ = 104 i$1 = 112 i$2 = 116 __$ArrayPad$ = 184 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 55 push rbp 00015 48 81 ec f0 00 00 00 sub rsp, 240 ; 000000f0H 0001c 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] 00021 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00028 48 33 c5 xor rax, rbp 0002b 48 89 85 b8 00 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax ; 62 : bool M[64], tmp[32], *Li=&M[0], *Ri=&M[32]; 00032 b8 01 00 00 00 mov eax, 1 00037 48 6b c0 00 imul rax, rax, 0 0003b 48 8d 44 05 00 lea rax, QWORD PTR M$[rbp+rax] 00040 48 89 45 60 mov QWORD PTR Li$[rbp], rax 00044 b8 01 00 00 00 mov eax, 1 00049 48 6b c0 20 imul rax, rax, 32 ; 00000020H 0004d 48 8d 44 05 00 lea rax, QWORD PTR M$[rbp+rax] 00052 48 89 45 68 mov QWORD PTR Ri$[rbp], rax ; 63 : ByteToBit(M, In, 64); 00056 41 b9 40 00 00 00 mov r9d, 64 ; 00000040H 0005c 4c 8b 85 e0 00 00 00 mov r8, QWORD PTR In$[rbp] 00063 48 8d 55 00 lea rdx, QWORD PTR M$[rbp] 00067 48 8b 8d d0 00 00 00 mov rcx, QWORD PTR this$[rbp] 0006e e8 00 00 00 00 call ?ByteToBit@CDes@@IEAAXPEA_NPEBDH@Z ; CDes::ByteToBit ; 64 : Transform(M, M, IP_Table, 64); 00073 48 8b 85 d0 00 00 00 mov rax, QWORD PTR this$[rbp] 0007a 48 83 c0 08 add rax, 8 0007e c7 44 24 20 40 00 00 00 mov DWORD PTR [rsp+32], 64 ; 00000040H 00086 4c 8b c8 mov r9, rax 00089 4c 8d 45 00 lea r8, QWORD PTR M$[rbp] 0008d 48 8d 55 00 lea rdx, QWORD PTR M$[rbp] 00091 48 8b 8d d0 00 00 00 mov rcx, QWORD PTR this$[rbp] 00098 e8 00 00 00 00 call ?Transform@CDes@@IEAAXPEA_N0PEBDH@Z ; CDes::Transform ; 65 : if( Type == ENCRYPT_DES ){ 0009d 0f b6 85 f0 00 00 00 movzx eax, BYTE PTR Type$[rbp] 000a4 85 c0 test eax, eax 000a6 0f 85 86 00 00 00 jne $LN8@DES ; 66 : for(int i=0; i<16; ++i) { 000ac c7 45 70 00 00 00 00 mov DWORD PTR i$1[rbp], 0 000b3 eb 08 jmp SHORT $LN4@DES $LN2@DES: 000b5 8b 45 70 mov eax, DWORD PTR i$1[rbp] 000b8 ff c0 inc eax 000ba 89 45 70 mov DWORD PTR i$1[rbp], eax $LN4@DES: 000bd 83 7d 70 10 cmp DWORD PTR i$1[rbp], 16 000c1 7d 6a jge SHORT $LN3@DES ; 67 : memcpy(tmp, Ri, 32); 000c3 41 b8 20 00 00 00 mov r8d, 32 ; 00000020H 000c9 48 8b 55 68 mov rdx, QWORD PTR Ri$[rbp] 000cd 48 8d 4d 40 lea rcx, QWORD PTR tmp$[rbp] 000d1 e8 00 00 00 00 call memcpy ; 68 : F_func(Ri, (*pSubKey)[i]); 000d6 48 63 45 70 movsxd rax, DWORD PTR i$1[rbp] 000da 48 6b c0 30 imul rax, rax, 48 ; 00000030H 000de 48 8b 8d e8 00 00 00 mov rcx, QWORD PTR pSubKey$[rbp] 000e5 48 03 c8 add rcx, rax 000e8 48 8b c1 mov rax, rcx 000eb 4c 8b c0 mov r8, rax 000ee 48 8b 55 68 mov rdx, QWORD PTR Ri$[rbp] 000f2 48 8b 8d d0 00 00 00 mov rcx, QWORD PTR this$[rbp] 000f9 e8 00 00 00 00 call ?F_func@CDes@@IEAAXQEA_NQEB_N@Z ; CDes::F_func ; 69 : Xor(Ri, Li, 32); 000fe 41 b9 20 00 00 00 mov r9d, 32 ; 00000020H 00104 4c 8b 45 60 mov r8, QWORD PTR Li$[rbp] 00108 48 8b 55 68 mov rdx, QWORD PTR Ri$[rbp] 0010c 48 8b 8d d0 00 00 00 mov rcx, QWORD PTR this$[rbp] 00113 e8 00 00 00 00 call ?Xor@CDes@@IEAAXPEA_NPEB_NH@Z ; CDes::Xor ; 70 : memcpy(Li, tmp, 32); 00118 41 b8 20 00 00 00 mov r8d, 32 ; 00000020H 0011e 48 8d 55 40 lea rdx, QWORD PTR tmp$[rbp] 00122 48 8b 4d 60 mov rcx, QWORD PTR Li$[rbp] 00126 e8 00 00 00 00 call memcpy ; 71 : } 0012b eb 88 jmp SHORT $LN2@DES $LN3@DES: ; 72 : }else{ 0012d e9 81 00 00 00 jmp $LN9@DES $LN8@DES: ; 73 : for(int i=15; i>=0; --i) { 00132 c7 45 74 0f 00 00 00 mov DWORD PTR i$2[rbp], 15 00139 eb 08 jmp SHORT $LN7@DES $LN5@DES: 0013b 8b 45 74 mov eax, DWORD PTR i$2[rbp] 0013e ff c8 dec eax 00140 89 45 74 mov DWORD PTR i$2[rbp], eax $LN7@DES: 00143 83 7d 74 00 cmp DWORD PTR i$2[rbp], 0 00147 7c 6a jl SHORT $LN6@DES ; 74 : memcpy(tmp, Li, 32); 00149 41 b8 20 00 00 00 mov r8d, 32 ; 00000020H 0014f 48 8b 55 60 mov rdx, QWORD PTR Li$[rbp] 00153 48 8d 4d 40 lea rcx, QWORD PTR tmp$[rbp] 00157 e8 00 00 00 00 call memcpy ; 75 : F_func(Li, (*pSubKey)[i]); 0015c 48 63 45 74 movsxd rax, DWORD PTR i$2[rbp] 00160 48 6b c0 30 imul rax, rax, 48 ; 00000030H 00164 48 8b 8d e8 00 00 00 mov rcx, QWORD PTR pSubKey$[rbp] 0016b 48 03 c8 add rcx, rax 0016e 48 8b c1 mov rax, rcx 00171 4c 8b c0 mov r8, rax 00174 48 8b 55 60 mov rdx, QWORD PTR Li$[rbp] 00178 48 8b 8d d0 00 00 00 mov rcx, QWORD PTR this$[rbp] 0017f e8 00 00 00 00 call ?F_func@CDes@@IEAAXQEA_NQEB_N@Z ; CDes::F_func ; 76 : Xor(Li, Ri, 32); 00184 41 b9 20 00 00 00 mov r9d, 32 ; 00000020H 0018a 4c 8b 45 68 mov r8, QWORD PTR Ri$[rbp] 0018e 48 8b 55 60 mov rdx, QWORD PTR Li$[rbp] 00192 48 8b 8d d0 00 00 00 mov rcx, QWORD PTR this$[rbp] 00199 e8 00 00 00 00 call ?Xor@CDes@@IEAAXPEA_NPEB_NH@Z ; CDes::Xor ; 77 : memcpy(Ri, tmp, 32); 0019e 41 b8 20 00 00 00 mov r8d, 32 ; 00000020H 001a4 48 8d 55 40 lea rdx, QWORD PTR tmp$[rbp] 001a8 48 8b 4d 68 mov rcx, QWORD PTR Ri$[rbp] 001ac e8 00 00 00 00 call memcpy ; 78 : } 001b1 eb 88 jmp SHORT $LN5@DES $LN6@DES: $LN9@DES: ; 79 : } ; 80 : Transform(M, M, IPR_Table, 64); 001b3 48 8b 85 d0 00 00 00 mov rax, QWORD PTR this$[rbp] 001ba 48 83 c0 48 add rax, 72 ; 00000048H 001be c7 44 24 20 40 00 00 00 mov DWORD PTR [rsp+32], 64 ; 00000040H 001c6 4c 8b c8 mov r9, rax 001c9 4c 8d 45 00 lea r8, QWORD PTR M$[rbp] 001cd 48 8d 55 00 lea rdx, QWORD PTR M$[rbp] 001d1 48 8b 8d d0 00 00 00 mov rcx, QWORD PTR this$[rbp] 001d8 e8 00 00 00 00 call ?Transform@CDes@@IEAAXPEA_N0PEBDH@Z ; CDes::Transform ; 81 : BitToByte(Out, M, 64); 001dd 41 b9 40 00 00 00 mov r9d, 64 ; 00000040H 001e3 4c 8d 45 00 lea r8, QWORD PTR M$[rbp] 001e7 48 8b 95 d8 00 00 00 mov rdx, QWORD PTR Out$[rbp] 001ee 48 8b 8d d0 00 00 00 mov rcx, QWORD PTR this$[rbp] 001f5 e8 00 00 00 00 call ?BitToByte@CDes@@IEAAXPEADPEB_NH@Z ; CDes::BitToByte ; 82 : } 001fa 48 8b 8d b8 00 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 00201 48 33 cd xor rcx, rbp 00204 e8 00 00 00 00 call __security_check_cookie 00209 48 8d a5 c0 00 00 00 lea rsp, QWORD PTR [rbp+192] 00210 5d pop rbp 00211 c3 ret 0 ?DES@CDes@@IEAAXQEAD0QEAY1BA@DA@_N_N@Z ENDP ; CDes::DES _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File D:\Works\Corpsms_2010\public\des\Des.cpp ; COMDAT ?Des_Go@CDes@@IEAA_NPEAD0JPEBDH_N@Z _TEXT SEGMENT i$1 = 0 j$2 = 4 i$3 = 8 j$4 = 12 tv137 = 80 this$ = 112 Out$ = 120 In$ = 128 datalen$ = 136 Key$ = 144 keylen$ = 152 Type$ = 160 ?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 55 push rbp 00015 48 81 ec 90 00 00 00 sub rsp, 144 ; 00000090H 0001c 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] ; 38 : if( !( Out && In && Key && (datalen=(datalen+7)&0xfffffff8) ) ) 00021 48 83 7d 78 00 cmp QWORD PTR Out$[rbp], 0 00026 74 2f je SHORT $LN9@Des_Go 00028 48 83 bd 80 00 00 00 00 cmp QWORD PTR In$[rbp], 0 00030 74 25 je SHORT $LN9@Des_Go 00032 48 83 bd 90 00 00 00 00 cmp QWORD PTR Key$[rbp], 0 0003a 74 1b je SHORT $LN9@Des_Go 0003c 8b 85 88 00 00 00 mov eax, DWORD PTR datalen$[rbp] 00042 83 c0 07 add eax, 7 00045 83 e0 f8 and eax, -8 ; fffffff8H 00048 89 85 88 00 00 00 mov DWORD PTR datalen$[rbp], eax 0004e 83 bd 88 00 00 00 00 cmp DWORD PTR datalen$[rbp], 0 00055 75 07 jne SHORT $LN8@Des_Go $LN9@Des_Go: ; 39 : return false; 00057 32 c0 xor al, al 00059 e9 aa 01 00 00 jmp $LN1@Des_Go $LN8@Des_Go: ; 40 : SetKey(Key, keylen); 0005e 44 8b 85 98 00 00 00 mov r8d, DWORD PTR keylen$[rbp] 00065 48 8b 95 90 00 00 00 mov rdx, QWORD PTR Key$[rbp] 0006c 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp] 00070 e8 00 00 00 00 call ?SetKey@CDes@@IEAAXPEBDH@Z ; CDes::SetKey ; 41 : if( !Is3DES ) { // 1´ÎDES 00075 48 8b 45 70 mov rax, QWORD PTR this$[rbp] 00079 0f b6 80 50 09 00 00 movzx eax, BYTE PTR [rax+2384] 00080 85 c0 test eax, eax 00082 0f 85 81 00 00 00 jne $LN10@Des_Go ; 42 : for(long i=0,j=datalen>>3; i>3; i > >::CStringT > > 0003c 48 89 85 00 1e 00 00 mov QWORD PTR tv86[rbp], rax 00043 48 8b 85 00 1e 00 00 mov rax, QWORD PTR tv86[rbp] 0004a 48 89 85 08 1e 00 00 mov QWORD PTR tv155[rbp], rax 00051 48 8b 85 08 1e 00 00 mov rax, QWORD PTR tv155[rbp] 00058 48 89 85 10 1e 00 00 mov QWORD PTR tv94[rbp], rax 0005f 48 8d 85 f0 1d 00 00 lea rax, QWORD PTR $T4[rbp] 00066 48 89 85 f8 1d 00 00 mov QWORD PTR $T5[rbp], rax 0006d 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@ 00074 48 8b 8d f8 1d 00 00 mov rcx, QWORD PTR $T5[rbp] 0007b e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z ; ATL::CStringT > >::CStringT > > 00080 48 89 85 18 1e 00 00 mov QWORD PTR tv159[rbp], rax 00087 48 8b 85 18 1e 00 00 mov rax, QWORD PTR tv159[rbp] 0008e 48 89 85 20 1e 00 00 mov QWORD PTR tv157[rbp], rax 00095 48 8b 85 20 1e 00 00 mov rax, QWORD PTR tv157[rbp] 0009c 48 89 85 28 1e 00 00 mov QWORD PTR tv140[rbp], rax 000a3 4c 8b 85 10 1e 00 00 mov r8, QWORD PTR tv94[rbp] 000aa 48 8b 95 28 1e 00 00 mov rdx, QWORD PTR tv140[rbp] 000b1 48 8d 8d 10 04 00 00 lea rcx, QWORD PTR NXlog$1[rbp] 000b8 e8 00 00 00 00 call ?Init@CSAStatusLog@@QEAAXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z ; CSAStatusLog::Init 000bd 8b 05 00 00 00 00 mov eax, DWORD PTR ?__LINE__Var@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4JA 000c3 83 c0 0d add eax, 13 000c6 89 44 24 20 mov DWORD PTR [rsp+32], eax 000ca 4c 8d 0d 00 00 00 00 lea r9, OFFSET FLAT:??_C@_07OKGDHKCM@Decrypt@ 000d1 4c 8d 05 00 00 00 00 lea r8, OFFSET FLAT:??_C@_0CJ@CDDOEPDI@D?3?2Works?2Corpsms_2010?2public?2de@ 000d8 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_13JKNELIBG@?$AAT@ 000df 48 8d 8d 10 04 00 00 lea rcx, QWORD PTR NXlog$1[rbp] 000e6 e8 00 00 00 00 call ?LogError@CSAStatusLog@@QEAAHPEB_WPEBD1J@Z ; CSAStatusLog::LogError 000eb 90 npad 1 000ec 48 8d 8d 10 04 00 00 lea rcx, QWORD PTR NXlog$1[rbp] 000f3 e8 00 00 00 00 call ??1CSAStatusLog@@QEAA@XZ ; CSAStatusLog::~CSAStatusLog ; 186 : #endif ; 187 : b = false; 000f8 c7 85 00 04 00 00 00 00 00 00 mov DWORD PTR b$[rbp], 0 ; 188 : } 00102 48 8d 05 00 00 00 00 lea rax, $LN12@catch$3 00109 48 83 c4 40 add rsp, 64 ; 00000040H 0010d 5d pop rbp 0010e c3 ret 0 0010f 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 /ZI ; COMDAT text$x text$x SEGMENT szBuf$ = 0 b$ = 1024 NXlog$1 = 1040 $T2 = 7648 $T3 = 7656 $T4 = 7664 $T5 = 7672 tv86 = 7680 tv155 = 7688 tv94 = 7696 tv159 = 7704 tv157 = 7712 tv140 = 7720 __$ArrayPad$ = 7728 this$ = 7776 pIn$ = 7784 inLen$ = 7792 pOut$ = 7800 outLen$ = 7808 pKey$ = 7816 keyLen$ = 7824 ?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 8d 6a 40 lea rbp, QWORD PTR [rdx+64] 0000a 48 8d 8d 10 04 00 00 lea rcx, QWORD PTR NXlog$1[rbp] 00011 e8 00 00 00 00 call ??1CSAStatusLog@@QEAA@XZ ; CSAStatusLog::~CSAStatusLog 00016 48 83 c4 20 add rsp, 32 ; 00000020H 0001a 5d pop rbp 0001b 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 /ZI ; COMDAT text$x text$x SEGMENT szBuf$ = 0 b$ = 1024 NXlog$1 = 1040 $T2 = 7648 $T3 = 7656 $T4 = 7664 $T5 = 7672 tv86 = 7680 tv155 = 7688 tv94 = 7696 tv159 = 7704 tv157 = 7712 tv140 = 7720 __$ArrayPad$ = 7728 this$ = 7776 pIn$ = 7784 inLen$ = 7792 pOut$ = 7800 outLen$ = 7808 pKey$ = 7816 keyLen$ = 7824 ?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 8d 6a 40 lea rbp, QWORD PTR [rdx+64] 0000a 48 8b 8d e8 1d 00 00 mov rcx, QWORD PTR $T3[rbp] 00011 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ ; ATL::CStringT > >::~CStringT > > 00016 48 83 c4 20 add rsp, 32 ; 00000020H 0001a 5d pop rbp 0001b 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 /ZI ; COMDAT text$x text$x SEGMENT szBuf$ = 0 b$ = 1024 NXlog$1 = 1040 $T2 = 7648 $T3 = 7656 $T4 = 7664 $T5 = 7672 tv86 = 7680 tv155 = 7688 tv94 = 7696 tv159 = 7704 tv157 = 7712 tv140 = 7720 __$ArrayPad$ = 7728 this$ = 7776 pIn$ = 7784 inLen$ = 7792 pOut$ = 7800 outLen$ = 7808 pKey$ = 7816 keyLen$ = 7824 ?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 8d 6a 40 lea rbp, QWORD PTR [rdx+64] 0000a 48 8b 8d f8 1d 00 00 mov rcx, QWORD PTR $T5[rbp] 00011 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ ; ATL::CStringT > >::~CStringT > > 00016 48 83 c4 20 add rsp, 32 ; 00000020H 0001a 5d pop rbp 0001b 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 /ZI ; File D:\Works\Corpsms_2010\public\des\Des.cpp ; COMDAT ?Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z _TEXT SEGMENT szBuf$ = 0 lTemp$ = 1024 b$ = 1028 NXlog$1 = 1040 $T2 = 7648 $T3 = 7656 $T4 = 7664 $T5 = 7672 tv95 = 7680 tv171 = 7688 tv135 = 7696 tv175 = 7704 tv173 = 7712 tv149 = 7720 __$ArrayPad$ = 7728 this$ = 7776 pIn$ = 7784 inLen$ = 7792 pOut$ = 7800 outLen$ = 7808 pKey$ = 7816 keyLen$ = 7824 ?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 55 push rbp 00015 57 push rdi 00016 b8 88 1e 00 00 mov eax, 7816 ; 00001e88H 0001b e8 00 00 00 00 call __chkstk 00020 48 2b e0 sub rsp, rax 00023 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] 00028 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0002f 48 33 c5 xor rax, rbp 00032 48 89 85 30 1e 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax ; 141 : char szBuf[1024]={0}; 00039 48 8d 45 00 lea rax, QWORD PTR szBuf$[rbp] 0003d 48 8b f8 mov rdi, rax 00040 33 c0 xor eax, eax 00042 b9 00 04 00 00 mov ecx, 1024 ; 00000400H 00047 f3 aa rep stosb ; 142 : //¼ÆËã¼ÓÃÜ·µ»ØµÄ×Ö´®³¤¶È ; 143 : long lTemp = (inLen/8)*8; 00049 8b 85 70 1e 00 00 mov eax, DWORD PTR inLen$[rbp] 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 85 00 04 00 00 mov DWORD PTR lTemp$[rbp], eax ; 144 : if ( (inLen/8)*8 != inLen ) 00061 8b 85 70 1e 00 00 mov eax, DWORD PTR inLen$[rbp] 00067 99 cdq 00068 83 e2 07 and edx, 7 0006b 03 c2 add eax, edx 0006d c1 f8 03 sar eax, 3 00070 c1 e0 03 shl eax, 3 00073 3b 85 70 1e 00 00 cmp eax, DWORD PTR inLen$[rbp] 00079 74 0f je SHORT $LN2@Encrypt ; 145 : lTemp += 8; 0007b 8b 85 00 04 00 00 mov eax, DWORD PTR lTemp$[rbp] 00081 83 c0 08 add eax, 8 00084 89 85 00 04 00 00 mov DWORD PTR lTemp$[rbp], eax $LN2@Encrypt: ; 146 : memset( pIn+inLen,0,lTemp-inLen); 0008a 8b 85 70 1e 00 00 mov eax, DWORD PTR inLen$[rbp] 00090 8b 8d 00 04 00 00 mov ecx, DWORD PTR lTemp$[rbp] 00096 2b c8 sub ecx, eax 00098 8b c1 mov eax, ecx 0009a 48 98 cdqe 0009c 48 63 8d 70 1e 00 00 movsxd rcx, DWORD PTR inLen$[rbp] 000a3 48 8b 95 68 1e 00 00 mov rdx, QWORD PTR pIn$[rbp] 000aa 48 03 d1 add rdx, rcx 000ad 48 8b ca mov rcx, rdx 000b0 4c 8b c0 mov r8, rax 000b3 33 d2 xor edx, edx 000b5 e8 00 00 00 00 call memset ; 147 : memset( pOut , 0 , outLen ); 000ba 48 8b 85 80 1e 00 00 mov rax, QWORD PTR outLen$[rbp] 000c1 48 63 00 movsxd rax, DWORD PTR [rax] 000c4 4c 8b c0 mov r8, rax 000c7 33 d2 xor edx, edx 000c9 48 8b 8d 78 1e 00 00 mov rcx, QWORD PTR pOut$[rbp] 000d0 e8 00 00 00 00 call memset ; 148 : BOOL b = false; 000d5 c7 85 04 04 00 00 00 00 00 00 mov DWORD PTR b$[rbp], 0 ; 149 : try ; 150 : { ; 151 : b = Des_Go( szBuf , pIn , inLen , pKey , keyLen , ENCRYPT_DES ); 000df c6 44 24 30 00 mov BYTE PTR [rsp+48], 0 000e4 8b 85 90 1e 00 00 mov eax, DWORD PTR keyLen$[rbp] 000ea 89 44 24 28 mov DWORD PTR [rsp+40], eax 000ee 48 8b 85 88 1e 00 00 mov rax, QWORD PTR pKey$[rbp] 000f5 48 89 44 24 20 mov QWORD PTR [rsp+32], rax 000fa 44 8b 8d 70 1e 00 00 mov r9d, DWORD PTR inLen$[rbp] 00101 4c 8b 85 68 1e 00 00 mov r8, QWORD PTR pIn$[rbp] 00108 48 8d 55 00 lea rdx, QWORD PTR szBuf$[rbp] 0010c 48 8b 8d 60 1e 00 00 mov rcx, QWORD PTR this$[rbp] 00113 e8 00 00 00 00 call ?Des_Go@CDes@@IEAA_NPEAD0JPEBDH_N@Z ; CDes::Des_Go 00118 0f b6 c0 movzx eax, al 0011b 89 85 04 04 00 00 mov DWORD PTR b$[rbp], eax 00121 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 ) 00123 83 bd 04 04 00 00 00 cmp DWORD PTR b$[rbp], 0 0012a 74 39 je SHORT $LN4@Encrypt ; 160 : { ; 161 : AsciiToHex( szBuf , pOut , lTemp ); 0012c 44 8b 8d 00 04 00 00 mov r9d, DWORD PTR lTemp$[rbp] 00133 4c 8b 85 78 1e 00 00 mov r8, QWORD PTR pOut$[rbp] 0013a 48 8d 55 00 lea rdx, QWORD PTR szBuf$[rbp] 0013e 48 8b 8d 60 1e 00 00 mov rcx, QWORD PTR this$[rbp] 00145 e8 00 00 00 00 call ?AsciiToHex@CDes@@IEAAXPEAD0J@Z ; CDes::AsciiToHex ; 162 : outLen = (long)strlen( pOut ); 0014a 48 8b 8d 78 1e 00 00 mov rcx, QWORD PTR pOut$[rbp] 00151 e8 00 00 00 00 call strlen 00156 48 8b 8d 80 1e 00 00 mov rcx, QWORD PTR outLen$[rbp] 0015d 89 01 mov DWORD PTR [rcx], eax ; 163 : return true; 0015f b0 01 mov al, 1 00161 eb 1f jmp SHORT $LN1@Encrypt ; 164 : } 00163 eb 1b jmp SHORT $LN5@Encrypt $LN4@Encrypt: ; 165 : else ; 166 : { ; 167 : memset( pOut , 0 , outLen ); 00165 48 8b 85 80 1e 00 00 mov rax, QWORD PTR outLen$[rbp] 0016c 48 63 00 movsxd rax, DWORD PTR [rax] 0016f 4c 8b c0 mov r8, rax 00172 33 d2 xor edx, edx 00174 48 8b 8d 78 1e 00 00 mov rcx, QWORD PTR pOut$[rbp] 0017b e8 00 00 00 00 call memset $LN5@Encrypt: ; 168 : } ; 169 : return false; 00180 32 c0 xor al, al $LN1@Encrypt: ; 170 : } 00182 48 8b 8d 30 1e 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 00189 48 33 cd xor rcx, rbp 0018c e8 00 00 00 00 call __security_check_cookie 00191 48 8d a5 48 1e 00 00 lea rsp, QWORD PTR [rbp+7752] 00198 5f pop rdi 00199 5d pop rbp 0019a c3 ret 0 ?Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z ENDP ; CDes::Encrypt _TEXT ENDS ; Function compile flags: /Odtp /ZI ; COMDAT text$x text$x SEGMENT szBuf$ = 0 lTemp$ = 1024 b$ = 1028 NXlog$1 = 1040 $T2 = 7648 $T3 = 7656 $T4 = 7664 $T5 = 7672 tv95 = 7680 tv171 = 7688 tv135 = 7696 tv175 = 7704 tv173 = 7712 tv149 = 7720 __$ArrayPad$ = 7728 this$ = 7776 pIn$ = 7784 inLen$ = 7792 pOut$ = 7800 outLen$ = 7808 pKey$ = 7816 keyLen$ = 7824 ?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 8d 6a 40 lea rbp, QWORD PTR [rdx+64] __catch$?Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z$0: ; 154 : #ifndef MOBSETSMS_SDK ; 155 : LOG_APPERROR(_T("T")); 0000e 48 8d 8d 10 04 00 00 lea rcx, QWORD PTR NXlog$1[rbp] 00015 e8 00 00 00 00 call ??0CSAStatusLog@@QEAA@XZ ; CSAStatusLog::CSAStatusLog 0001a 90 npad 1 0001b 48 8d 85 e0 1d 00 00 lea rax, QWORD PTR $T2[rbp] 00022 48 89 85 e8 1d 00 00 mov QWORD PTR $T3[rbp], rax 00029 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_1BC@HEKPCAFP@?$AAA?$AAp?$AAp?$AAE?$AAr?$AAr?$AAo?$AAr@ 00030 48 8b 8d e8 1d 00 00 mov rcx, QWORD PTR $T3[rbp] 00037 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z ; ATL::CStringT > >::CStringT > > 0003c 48 89 85 00 1e 00 00 mov QWORD PTR tv95[rbp], rax 00043 48 8b 85 00 1e 00 00 mov rax, QWORD PTR tv95[rbp] 0004a 48 89 85 08 1e 00 00 mov QWORD PTR tv171[rbp], rax 00051 48 8b 85 08 1e 00 00 mov rax, QWORD PTR tv171[rbp] 00058 48 89 85 10 1e 00 00 mov QWORD PTR tv135[rbp], rax 0005f 48 8d 85 f0 1d 00 00 lea rax, QWORD PTR $T4[rbp] 00066 48 89 85 f8 1d 00 00 mov QWORD PTR $T5[rbp], rax 0006d 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@ 00074 48 8b 8d f8 1d 00 00 mov rcx, QWORD PTR $T5[rbp] 0007b e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z ; ATL::CStringT > >::CStringT > > 00080 48 89 85 18 1e 00 00 mov QWORD PTR tv175[rbp], rax 00087 48 8b 85 18 1e 00 00 mov rax, QWORD PTR tv175[rbp] 0008e 48 89 85 20 1e 00 00 mov QWORD PTR tv173[rbp], rax 00095 48 8b 85 20 1e 00 00 mov rax, QWORD PTR tv173[rbp] 0009c 48 89 85 28 1e 00 00 mov QWORD PTR tv149[rbp], rax 000a3 4c 8b 85 10 1e 00 00 mov r8, QWORD PTR tv135[rbp] 000aa 48 8b 95 28 1e 00 00 mov rdx, QWORD PTR tv149[rbp] 000b1 48 8d 8d 10 04 00 00 lea rcx, QWORD PTR NXlog$1[rbp] 000b8 e8 00 00 00 00 call ?Init@CSAStatusLog@@QEAAXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z ; CSAStatusLog::Init 000bd 8b 05 00 00 00 00 mov eax, DWORD PTR ?__LINE__Var@?0??Encrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4JA 000c3 83 c0 0f add eax, 15 000c6 89 44 24 20 mov DWORD PTR [rsp+32], eax 000ca 4c 8d 0d 00 00 00 00 lea r9, OFFSET FLAT:??_C@_07CEMOCOEI@Encrypt@ 000d1 4c 8d 05 00 00 00 00 lea r8, OFFSET FLAT:??_C@_0CJ@CDDOEPDI@D?3?2Works?2Corpsms_2010?2public?2de@ 000d8 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_13JKNELIBG@?$AAT@ 000df 48 8d 8d 10 04 00 00 lea rcx, QWORD PTR NXlog$1[rbp] 000e6 e8 00 00 00 00 call ?LogError@CSAStatusLog@@QEAAHPEB_WPEBD1J@Z ; CSAStatusLog::LogError 000eb 90 npad 1 000ec 48 8d 8d 10 04 00 00 lea rcx, QWORD PTR NXlog$1[rbp] 000f3 e8 00 00 00 00 call ??1CSAStatusLog@@QEAA@XZ ; CSAStatusLog::~CSAStatusLog ; 156 : #endif ; 157 : b = false; 000f8 c7 85 04 04 00 00 00 00 00 00 mov DWORD PTR b$[rbp], 0 ; 158 : } 00102 48 8d 05 00 00 00 00 lea rax, $LN13@catch$3 00109 48 83 c4 40 add rsp, 64 ; 00000040H 0010d 5d pop rbp 0010e c3 ret 0 0010f 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 /ZI ; COMDAT text$x text$x SEGMENT szBuf$ = 0 lTemp$ = 1024 b$ = 1028 NXlog$1 = 1040 $T2 = 7648 $T3 = 7656 $T4 = 7664 $T5 = 7672 tv95 = 7680 tv171 = 7688 tv135 = 7696 tv175 = 7704 tv173 = 7712 tv149 = 7720 __$ArrayPad$ = 7728 this$ = 7776 pIn$ = 7784 inLen$ = 7792 pOut$ = 7800 outLen$ = 7808 pKey$ = 7816 keyLen$ = 7824 ?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 8d 6a 40 lea rbp, QWORD PTR [rdx+64] 0000a 48 8d 8d 10 04 00 00 lea rcx, QWORD PTR NXlog$1[rbp] 00011 e8 00 00 00 00 call ??1CSAStatusLog@@QEAA@XZ ; CSAStatusLog::~CSAStatusLog 00016 48 83 c4 20 add rsp, 32 ; 00000020H 0001a 5d pop rbp 0001b 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 /ZI ; COMDAT text$x text$x SEGMENT szBuf$ = 0 lTemp$ = 1024 b$ = 1028 NXlog$1 = 1040 $T2 = 7648 $T3 = 7656 $T4 = 7664 $T5 = 7672 tv95 = 7680 tv171 = 7688 tv135 = 7696 tv175 = 7704 tv173 = 7712 tv149 = 7720 __$ArrayPad$ = 7728 this$ = 7776 pIn$ = 7784 inLen$ = 7792 pOut$ = 7800 outLen$ = 7808 pKey$ = 7816 keyLen$ = 7824 ?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 8d 6a 40 lea rbp, QWORD PTR [rdx+64] 0000a 48 8b 8d e8 1d 00 00 mov rcx, QWORD PTR $T3[rbp] 00011 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ ; ATL::CStringT > >::~CStringT > > 00016 48 83 c4 20 add rsp, 32 ; 00000020H 0001a 5d pop rbp 0001b 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 /ZI ; COMDAT text$x text$x SEGMENT szBuf$ = 0 lTemp$ = 1024 b$ = 1028 NXlog$1 = 1040 $T2 = 7648 $T3 = 7656 $T4 = 7664 $T5 = 7672 tv95 = 7680 tv171 = 7688 tv135 = 7696 tv175 = 7704 tv173 = 7712 tv149 = 7720 __$ArrayPad$ = 7728 this$ = 7776 pIn$ = 7784 inLen$ = 7792 pOut$ = 7800 outLen$ = 7808 pKey$ = 7816 keyLen$ = 7824 ?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 8d 6a 40 lea rbp, QWORD PTR [rdx+64] 0000a 48 8b 8d f8 1d 00 00 mov rcx, QWORD PTR $T5[rbp] 00011 e8 00 00 00 00 call ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ ; ATL::CStringT > >::~CStringT > > 00016 48 83 c4 20 add rsp, 32 ; 00000020H 0001a 5d pop rbp 0001b 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 /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxstr.h ; COMDAT ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUIAtlStringMgr@ATL@@XZ _TEXT SEGMENT ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUIAtlStringMgr@ATL@@XZ PROC ; StrTraitMFC >::GetDefaultManager, COMDAT ; 51 : { $LN3: 00000 40 55 push rbp 00002 48 83 ec 60 sub rsp, 96 ; 00000060H 00006 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 52 : return( AfxGetStringManager() ); 0000b e8 00 00 00 00 call ?AfxGetStringManager@@YAPEAUIAtlStringMgr@ATL@@XZ ; AfxGetStringManager 00010 90 npad 1 ; 53 : } 00011 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 00015 5d pop rbp 00016 c3 ret 0 ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUIAtlStringMgr@ATL@@XZ ENDP ; StrTraitMFC >::GetDefaultManager _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxstr.h ; COMDAT ?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUHINSTANCE__@@I@Z _TEXT SEGMENT nID$ = 80 ?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 55 push rbp 00005 48 83 ec 60 sub rsp, 96 ; 00000060H 00009 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 47 : return( AfxFindStringResourceHandle( nID ) ); 0000e 8b 4d 50 mov ecx, DWORD PTR nID$[rbp] 00011 e8 00 00 00 00 call ?AfxFindStringResourceHandle@@YAPEAUHINSTANCE__@@I@Z ; AfxFindStringResourceHandle 00016 90 npad 1 ; 48 : } 00017 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 0001b 5d pop rbp 0001c c3 ret 0 ?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUHINSTANCE__@@I@Z ENDP ; StrTraitMFC >::FindStringResourceInstance _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h ; COMDAT ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AEAA_NPEBX@Z _TEXT SEGMENT bRet$ = 0 nID$1 = 4 this$ = 96 pv$ = 104 ?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 55 push rbp 0000b 48 83 ec 70 sub rsp, 112 ; 00000070H 0000f 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 2706 : bool bRet = false; 00014 c6 45 00 00 mov BYTE PTR bRet$[rbp], 0 ; 2707 : ; 2708 : if( (pv != NULL) && IS_INTRESOURCE( pv ) ) 00018 48 83 7d 68 00 cmp QWORD PTR pv$[rbp], 0 0001d 74 2d je SHORT $LN2@CheckImpli 0001f 48 8b 45 68 mov rax, QWORD PTR pv$[rbp] 00023 48 c1 e8 10 shr rax, 16 00027 48 85 c0 test rax, rax 0002a 75 20 jne SHORT $LN2@CheckImpli ; 2709 : { ; 2710 : UINT nID = LOWORD( reinterpret_cast< DWORD_PTR >( pv ) ); 0002c 48 8b 45 68 mov rax, QWORD PTR pv$[rbp] 00030 48 25 ff ff 00 00 and rax, 65535 ; 0000ffffH 00036 0f b7 c0 movzx eax, ax 00039 89 45 04 mov DWORD PTR nID$1[rbp], eax ; 2711 : (nID); ; 2712 : #ifdef _ATL_USE_WINAPI_FAMILY_DESKTOP_APP ; 2713 : if( !LoadString( nID ) ) 0003c 8b 55 04 mov edx, DWORD PTR nID$1[rbp] 0003f 48 8b 4d 60 mov rcx, QWORD PTR this$[rbp] 00043 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; 00048 c6 45 00 01 mov BYTE PTR bRet$[rbp], 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 ); 0004c 0f b6 45 00 movzx eax, BYTE PTR bRet$[rbp] ; 2724 : } 00050 48 8d 65 50 lea rsp, QWORD PTR [rbp+80] 00054 5d pop rbp 00055 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 /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h ; COMDAT ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAHPEAUHINSTANCE__@@I@Z _TEXT SEGMENT pImage$ = 0 nLength$ = 8 pszBuffer$ = 16 this$ = 112 hInstance$ = 120 nID$ = 128 ?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 55 push rbp 00010 48 81 ec 80 00 00 00 sub rsp, 128 ; 00000080H 00017 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 2351 : const ATLSTRINGRESOURCEIMAGE* pImage = AtlGetStringResourceImage( hInstance, nID ); 0001c 8b 95 80 00 00 00 mov edx, DWORD PTR nID$[rbp] 00022 48 8b 4d 78 mov rcx, QWORD PTR hInstance$[rbp] 00026 e8 00 00 00 00 call ?AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@I@Z ; ATL::AtlGetStringResourceImage 0002b 48 89 45 00 mov QWORD PTR pImage$[rbp], rax ; 2352 : if( pImage == NULL ) 0002f 48 83 7d 00 00 cmp QWORD PTR pImage$[rbp], 0 00034 75 04 jne SHORT $LN2@LoadString ; 2353 : { ; 2354 : return( FALSE ); 00036 33 c0 xor eax, eax 00038 eb 5b jmp SHORT $LN1@LoadString $LN2@LoadString: ; 2355 : } ; 2356 : ; 2357 : int nLength = StringTraits::GetBaseTypeLength( pImage->achString, pImage->nLength ); 0003a 48 8b 45 00 mov rax, QWORD PTR pImage$[rbp] 0003e 0f b7 00 movzx eax, WORD PTR [rax] 00041 48 8b 4d 00 mov rcx, QWORD PTR pImage$[rbp] 00045 48 83 c1 02 add rcx, 2 00049 8b d0 mov edx, eax 0004b e8 00 00 00 00 call ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_WH@Z ; ATL::ChTraitsCRT::GetBaseTypeLength 00050 89 45 08 mov DWORD PTR nLength$[rbp], eax ; 2358 : PXSTR pszBuffer = this->GetBuffer( nLength ); 00053 8b 55 08 mov edx, DWORD PTR nLength$[rbp] 00056 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp] 0005a e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QEAAPEA_WH@Z ; ATL::CSimpleStringT::GetBuffer 0005f 48 89 45 10 mov QWORD PTR pszBuffer$[rbp], rax ; 2359 : StringTraits::ConvertToBaseType( pszBuffer, nLength, pImage->achString, pImage->nLength ); 00063 48 8b 45 00 mov rax, QWORD PTR pImage$[rbp] 00067 0f b7 00 movzx eax, WORD PTR [rax] 0006a 48 8b 4d 00 mov rcx, QWORD PTR pImage$[rbp] 0006e 48 83 c1 02 add rcx, 2 00072 44 8b c8 mov r9d, eax 00075 4c 8b c1 mov r8, rcx 00078 8b 55 08 mov edx, DWORD PTR nLength$[rbp] 0007b 48 8b 4d 10 mov rcx, QWORD PTR pszBuffer$[rbp] 0007f e8 00 00 00 00 call ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPEA_WHPEB_WH@Z ; ATL::ChTraitsCRT::ConvertToBaseType ; 2360 : this->ReleaseBufferSetLength( nLength ); 00084 8b 55 08 mov edx, DWORD PTR nLength$[rbp] 00087 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp] 0008b e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QEAAXH@Z ; ATL::CSimpleStringT::ReleaseBufferSetLength ; 2361 : ; 2362 : return( TRUE ); 00090 b8 01 00 00 00 mov eax, 1 $LN1@LoadString: ; 2363 : } 00095 48 8d 65 60 lea rsp, QWORD PTR [rbp+96] 00099 5d pop rbp 0009a 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 /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h ; COMDAT ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAHI@Z _TEXT SEGMENT hInstance$ = 0 this$ = 96 nID$ = 104 ?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 55 push rbp 0000a 48 83 ec 70 sub rsp, 112 ; 00000070H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 2337 : HINSTANCE hInstance = StringTraits::FindStringResourceInstance( nID ); 00013 8b 4d 68 mov ecx, DWORD PTR nID$[rbp] 00016 e8 00 00 00 00 call ?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUHINSTANCE__@@I@Z ; StrTraitMFC >::FindStringResourceInstance 0001b 48 89 45 00 mov QWORD PTR hInstance$[rbp], rax ; 2338 : if( hInstance == NULL ) 0001f 48 83 7d 00 00 cmp QWORD PTR hInstance$[rbp], 0 00024 75 04 jne SHORT $LN2@LoadString ; 2339 : { ; 2340 : return( FALSE ); 00026 33 c0 xor eax, eax 00028 eb 11 jmp SHORT $LN1@LoadString $LN2@LoadString: ; 2341 : } ; 2342 : ; 2343 : return( LoadString( hInstance, nID ) ); 0002a 44 8b 45 68 mov r8d, DWORD PTR nID$[rbp] 0002e 48 8b 55 00 mov rdx, QWORD PTR hInstance$[rbp] 00032 48 8b 4d 60 mov rcx, QWORD PTR this$[rbp] 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 8d 65 50 lea rsp, QWORD PTR [rbp+80] 0003f 5d pop rbp 00040 c3 ret 0 ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAHI@Z ENDP ; ATL::CStringT > >::LoadStringW _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h ; COMDAT ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAAEAV01@PEB_W@Z _TEXT SEGMENT this$ = 80 pszSrc$ = 88 ??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 55 push rbp 0000b 48 83 ec 60 sub rsp, 96 ; 00000060H 0000f 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 1319 : CThisSimpleString::operator=( pszSrc ); 00014 48 8b 55 58 mov rdx, QWORD PTR pszSrc$[rbp] 00018 48 8b 4d 50 mov rcx, QWORD PTR this$[rbp] 0001c e8 00 00 00 00 call ??4?$CSimpleStringT@_W$0A@@ATL@@QEAAAEAV01@PEB_W@Z ; ATL::CSimpleStringT::operator= ; 1320 : ; 1321 : return( *this ); 00021 48 8b 45 50 mov rax, QWORD PTR this$[rbp] ; 1322 : } 00025 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 00029 5d pop rbp 0002a 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 /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h ; COMDAT ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ _TEXT SEGMENT this$ = 80 ??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 55 push rbp 00006 48 83 ec 60 sub rsp, 96 ; 00000060H 0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 1299 : } 0000f 48 8b 4d 50 mov rcx, QWORD PTR this$[rbp] 00013 e8 00 00 00 00 call ??1?$CSimpleStringT@_W$0A@@ATL@@QEAA@XZ ; ATL::CSimpleStringT::~CSimpleStringT 00018 90 npad 1 00019 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 0001d 5d pop rbp 0001e c3 ret 0 ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ ENDP ; ATL::CStringT > >::~CStringT > > _TEXT ENDS ; Function compile flags: /Odtp /ZI ; COMDAT text$x text$x SEGMENT this$ = 80 ?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 8d 6a 20 lea rbp, QWORD PTR [rdx+32] 0000a 48 8b 4d 50 mov rcx, QWORD PTR this$[rbp] 0000e e8 00 00 00 00 call ??1?$CSimpleStringT@_W$0A@@ATL@@QEAA@XZ ; ATL::CSimpleStringT::~CSimpleStringT 00013 48 83 c4 20 add rsp, 32 ; 00000020H 00017 5d pop rbp 00018 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 /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h ; COMDAT ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z _TEXT SEGMENT this$ = 80 pszSrc$ = 88 ??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 55 push rbp 0000b 48 83 ec 60 sub rsp, 96 ; 00000060H 0000f 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 1048 : CThisSimpleString( StringTraits::GetDefaultManager() ) 00014 e8 00 00 00 00 call ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC >::GetDefaultManager 00019 48 8b d0 mov rdx, rax 0001c 48 8b 4d 50 mov rcx, QWORD PTR this$[rbp] 00020 e8 00 00 00 00 call ??0?$CSimpleStringT@_W$0A@@ATL@@QEAA@PEAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT::CSimpleStringT 00025 90 npad 1 ; 1050 : if( !CheckImplicitLoad( pszSrc ) ) 00026 48 8b 55 58 mov rdx, QWORD PTR pszSrc$[rbp] 0002a 48 8b 4d 50 mov rcx, QWORD PTR this$[rbp] 0002e e8 00 00 00 00 call ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AEAA_NPEBX@Z ; ATL::CStringT > >::CheckImplicitLoad 00033 0f b6 c0 movzx eax, al 00036 85 c0 test eax, eax 00038 75 0e jne SHORT $LN2@CStringT ; 1051 : { ; 1052 : *this = pszSrc; 0003a 48 8b 55 58 mov rdx, QWORD PTR pszSrc$[rbp] 0003e 48 8b 4d 50 mov rcx, QWORD PTR this$[rbp] 00042 e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAAEAV01@PEB_W@Z ; ATL::CStringT > >::operator= 00047 90 npad 1 $LN2@CStringT: ; 1053 : } ; 1054 : } 00048 48 8b 45 50 mov rax, QWORD PTR this$[rbp] 0004c 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 00050 5d pop rbp 00051 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 /ZI ; COMDAT text$x text$x SEGMENT this$ = 80 pszSrc$ = 88 ?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 8d 6a 20 lea rbp, QWORD PTR [rdx+32] 0000a 48 8b 4d 50 mov rcx, QWORD PTR this$[rbp] 0000e e8 00 00 00 00 call ??1?$CSimpleStringT@_W$0A@@ATL@@QEAA@XZ ; ATL::CSimpleStringT::~CSimpleStringT 00013 48 83 c4 20 add rsp, 32 ; 00000020H 00017 5d pop rbp 00018 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 /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z _TEXT SEGMENT this$ = 80 nLength$ = 88 ?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 55 push rbp 0000a 48 83 ec 60 sub rsp, 96 ; 00000060H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 868 : ATLASSERT( nLength >= 0 ); ; 869 : ATLASSERT( nLength <= GetData()->nAllocLength ); ; 870 : ; 871 : if( nLength < 0 || nLength > GetData()->nAllocLength) 00013 83 7d 58 00 cmp DWORD PTR nLength$[rbp], 0 00017 7c 11 jl SHORT $LN3@SetLength 00019 48 8b 4d 50 mov rcx, QWORD PTR this$[rbp] 0001d e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 00022 8b 40 0c mov eax, DWORD PTR [rax+12] 00025 39 45 58 cmp DWORD PTR nLength$[rbp], eax 00028 7e 0a jle SHORT $LN2@SetLength $LN3@SetLength: ; 872 : AtlThrow(E_INVALIDARG); 0002a b9 57 00 07 80 mov ecx, -2147024809 ; ffffffff80070057H 0002f e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YAXJ@Z ; ATL::AtlThrowImpl $LN2@SetLength: ; 873 : ; 874 : GetData()->nDataLength = nLength; 00034 48 8b 4d 50 mov rcx, QWORD PTR this$[rbp] 00038 e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 0003d 8b 4d 58 mov ecx, DWORD PTR nLength$[rbp] 00040 89 48 08 mov DWORD PTR [rax+8], ecx ; 875 : m_pszData[nLength] = 0; 00043 48 63 45 58 movsxd rax, DWORD PTR nLength$[rbp] 00047 48 8b 4d 50 mov rcx, QWORD PTR this$[rbp] 0004b 48 8b 09 mov rcx, QWORD PTR [rcx] 0004e 33 d2 xor edx, edx 00050 66 89 14 41 mov WORD PTR [rcx+rax*2], dx $LN4@SetLength: ; 876 : } 00054 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 00058 5d pop rbp 00059 c3 ret 0 ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ENDP ; ATL::CSimpleStringT::SetLength _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z _TEXT SEGMENT pOldData$ = 0 pStringMgr$ = 8 pNewData$ = 16 tv78 = 88 this$ = 112 nLength$ = 120 ?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 55 push rbp 0000a 48 81 ec 80 00 00 00 sub rsp, 128 ; 00000080H 00011 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 850 : CStringData* pOldData = GetData(); 00016 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp] 0001a e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 0001f 48 89 45 00 mov QWORD PTR pOldData$[rbp], rax ; 851 : ATLASSERT( pOldData->nAllocLength < nLength ); ; 852 : IAtlStringMgr* pStringMgr = pOldData->pStringMgr; 00023 48 8b 45 00 mov rax, QWORD PTR pOldData$[rbp] 00027 48 8b 00 mov rax, QWORD PTR [rax] 0002a 48 89 45 08 mov QWORD PTR pStringMgr$[rbp], rax ; 853 : if ( pOldData->nAllocLength >= nLength || nLength <= 0) 0002e 48 8b 45 00 mov rax, QWORD PTR pOldData$[rbp] 00032 8b 4d 78 mov ecx, DWORD PTR nLength$[rbp] 00035 39 48 0c cmp DWORD PTR [rax+12], ecx 00038 7d 06 jge SHORT $LN3@Reallocate 0003a 83 7d 78 00 cmp DWORD PTR nLength$[rbp], 0 0003e 7f 07 jg SHORT $LN2@Reallocate $LN3@Reallocate: ; 854 : { ; 855 : ThrowMemoryException(); 00040 e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT::ThrowMemoryException ; 856 : return; 00045 eb 41 jmp SHORT $LN1@Reallocate $LN2@Reallocate: ; 857 : } ; 858 : CStringData* pNewData = pStringMgr->Reallocate( pOldData, nLength, sizeof( XCHAR ) ); 00047 48 8b 45 08 mov rax, QWORD PTR pStringMgr$[rbp] 0004b 48 8b 00 mov rax, QWORD PTR [rax] 0004e 48 8b 40 10 mov rax, QWORD PTR [rax+16] 00052 48 89 45 58 mov QWORD PTR tv78[rbp], rax 00056 41 b9 02 00 00 00 mov r9d, 2 0005c 44 8b 45 78 mov r8d, DWORD PTR nLength$[rbp] 00060 48 8b 55 00 mov rdx, QWORD PTR pOldData$[rbp] 00064 48 8b 4d 08 mov rcx, QWORD PTR pStringMgr$[rbp] 00068 ff 55 58 call QWORD PTR tv78[rbp] 0006b 48 89 45 10 mov QWORD PTR pNewData$[rbp], rax ; 859 : if( pNewData == NULL ) 0006f 48 83 7d 10 00 cmp QWORD PTR pNewData$[rbp], 0 00074 75 05 jne SHORT $LN4@Reallocate ; 860 : { ; 861 : ThrowMemoryException(); 00076 e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT::ThrowMemoryException $LN4@Reallocate: ; 862 : } ; 863 : Attach( pNewData ); 0007b 48 8b 55 10 mov rdx, QWORD PTR pNewData$[rbp] 0007f 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp] 00083 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AEAAXPEAUCStringData@2@@Z ; ATL::CSimpleStringT::Attach $LN1@Reallocate: $LN5@Reallocate: ; 864 : } 00088 48 8d 65 60 lea rsp, QWORD PTR [rbp+96] 0008c 5d pop rbp 0008d c3 ret 0 ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ENDP ; ATL::CSimpleStringT::Reallocate _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z _TEXT SEGMENT pOldData$ = 0 nNewLength$1 = 8 this$ = 96 nLength$ = 104 ?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 55 push rbp 0000a 48 83 ec 70 sub rsp, 112 ; 00000070H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 819 : CStringData* pOldData = GetData(); 00013 48 8b 4d 60 mov rcx, QWORD PTR this$[rbp] 00017 e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 0001c 48 89 45 00 mov QWORD PTR pOldData$[rbp], rax ; 820 : if( pOldData->nDataLength > nLength ) 00020 48 8b 45 00 mov rax, QWORD PTR pOldData$[rbp] 00024 8b 4d 68 mov ecx, DWORD PTR nLength$[rbp] 00027 39 48 08 cmp DWORD PTR [rax+8], ecx 0002a 7e 0a jle SHORT $LN2@PrepareWri ; 821 : { ; 822 : nLength = pOldData->nDataLength; 0002c 48 8b 45 00 mov rax, QWORD PTR pOldData$[rbp] 00030 8b 40 08 mov eax, DWORD PTR [rax+8] 00033 89 45 68 mov DWORD PTR nLength$[rbp], eax $LN2@PrepareWri: ; 823 : } ; 824 : if( pOldData->IsShared() ) 00036 48 8b 4d 00 mov rcx, QWORD PTR pOldData$[rbp] 0003a e8 00 00 00 00 call ?IsShared@CStringData@ATL@@QEBA_NXZ ; ATL::CStringData::IsShared 0003f 0f b6 c0 movzx eax, al 00042 85 c0 test eax, eax 00044 74 0e je SHORT $LN3@PrepareWri ; 825 : { ; 826 : Fork( nLength ); 00046 8b 55 68 mov edx, DWORD PTR nLength$[rbp] 00049 48 8b 4d 60 mov rcx, QWORD PTR this$[rbp] 0004d e8 00 00 00 00 call ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ; ATL::CSimpleStringT::Fork ; 827 : } 00052 eb 58 jmp SHORT $LN4@PrepareWri $LN3@PrepareWri: ; 828 : else if( pOldData->nAllocLength < nLength ) 00054 48 8b 45 00 mov rax, QWORD PTR pOldData$[rbp] 00058 8b 4d 68 mov ecx, DWORD PTR nLength$[rbp] 0005b 39 48 0c cmp DWORD PTR [rax+12], ecx 0005e 7d 4c jge SHORT $LN5@PrepareWri ; 829 : { ; 830 : // Grow exponentially, until we hit 1G, then by 1M thereafter. ; 831 : int nNewLength = pOldData->nAllocLength; 00060 48 8b 45 00 mov rax, QWORD PTR pOldData$[rbp] 00064 8b 40 0c mov eax, DWORD PTR [rax+12] 00067 89 45 08 mov DWORD PTR nNewLength$1[rbp], eax ; 832 : if( nNewLength > 1024 * 1024 * 1024 ) 0006a 81 7d 08 00 00 00 40 cmp DWORD PTR nNewLength$1[rbp], 1073741824 ; 40000000H 00071 7e 0d jle SHORT $LN6@PrepareWri ; 833 : { ; 834 : nNewLength += 1024 * 1024; 00073 8b 45 08 mov eax, DWORD PTR nNewLength$1[rbp] 00076 05 00 00 10 00 add eax, 1048576 ; 00100000H 0007b 89 45 08 mov DWORD PTR nNewLength$1[rbp], eax ; 835 : } 0007e eb 12 jmp SHORT $LN7@PrepareWri $LN6@PrepareWri: ; 836 : else ; 837 : { ; 838 : // Exponential growth factor is 1.5. ; 839 : nNewLength = nNewLength + nNewLength / 2; 00080 8b 45 08 mov eax, DWORD PTR nNewLength$1[rbp] 00083 99 cdq 00084 2b c2 sub eax, edx 00086 d1 f8 sar eax, 1 00088 8b 4d 08 mov ecx, DWORD PTR nNewLength$1[rbp] 0008b 03 c8 add ecx, eax 0008d 8b c1 mov eax, ecx 0008f 89 45 08 mov DWORD PTR nNewLength$1[rbp], eax $LN7@PrepareWri: ; 840 : } ; 841 : if( nNewLength < nLength ) 00092 8b 45 68 mov eax, DWORD PTR nLength$[rbp] 00095 39 45 08 cmp DWORD PTR nNewLength$1[rbp], eax 00098 7d 06 jge SHORT $LN8@PrepareWri ; 842 : { ; 843 : nNewLength = nLength; 0009a 8b 45 68 mov eax, DWORD PTR nLength$[rbp] 0009d 89 45 08 mov DWORD PTR nNewLength$1[rbp], eax $LN8@PrepareWri: ; 844 : } ; 845 : Reallocate( nNewLength ); 000a0 8b 55 08 mov edx, DWORD PTR nNewLength$1[rbp] 000a3 48 8b 4d 60 mov rcx, QWORD PTR this$[rbp] 000a7 e8 00 00 00 00 call ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ; ATL::CSimpleStringT::Reallocate $LN5@PrepareWri: $LN4@PrepareWri: ; 846 : } ; 847 : } 000ac 48 8d 65 50 lea rsp, QWORD PTR [rbp+80] 000b0 5d pop rbp 000b1 c3 ret 0 ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ENDP ; ATL::CSimpleStringT::PrepareWrite2 _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AEAAPEA_WH@Z _TEXT SEGMENT pOldData$ = 0 nShared$ = 8 nTooShort$ = 12 this$ = 96 nLength$ = 104 ?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 55 push rbp 0000a 48 83 ec 70 sub rsp, 112 ; 00000070H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 804 : if (nLength < 0) 00013 83 7d 68 00 cmp DWORD PTR nLength$[rbp], 0 00017 7d 0a jge SHORT $LN2@PrepareWri ; 805 : AtlThrow(E_INVALIDARG); 00019 b9 57 00 07 80 mov ecx, -2147024809 ; ffffffff80070057H 0001e e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YAXJ@Z ; ATL::AtlThrowImpl $LN2@PrepareWri: ; 806 : ; 807 : CStringData* pOldData = GetData(); 00023 48 8b 4d 60 mov rcx, QWORD PTR this$[rbp] 00027 e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 0002c 48 89 45 00 mov QWORD PTR pOldData$[rbp], rax ; 808 : int nShared = 1-pOldData->nRefs; // nShared < 0 means true, >= 0 means false 00030 48 8b 45 00 mov rax, QWORD PTR pOldData$[rbp] 00034 b9 01 00 00 00 mov ecx, 1 00039 2b 48 10 sub ecx, DWORD PTR [rax+16] 0003c 8b c1 mov eax, ecx 0003e 89 45 08 mov DWORD PTR nShared$[rbp], eax ; 809 : int nTooShort = pOldData->nAllocLength-nLength; // nTooShort < 0 means true, >= 0 means false 00041 48 8b 45 00 mov rax, QWORD PTR pOldData$[rbp] 00045 8b 4d 68 mov ecx, DWORD PTR nLength$[rbp] 00048 8b 40 0c mov eax, DWORD PTR [rax+12] 0004b 2b c1 sub eax, ecx 0004d 89 45 0c mov DWORD PTR nTooShort$[rbp], eax ; 810 : if( (nShared|nTooShort) < 0 ) // If either sign bit is set (i.e. either is less than zero), we need to copy data 00050 8b 45 0c mov eax, DWORD PTR nTooShort$[rbp] 00053 8b 4d 08 mov ecx, DWORD PTR nShared$[rbp] 00056 0b c8 or ecx, eax 00058 8b c1 mov eax, ecx 0005a 85 c0 test eax, eax 0005c 7d 0c jge SHORT $LN3@PrepareWri ; 811 : { ; 812 : PrepareWrite2( nLength ); 0005e 8b 55 68 mov edx, DWORD PTR nLength$[rbp] 00061 48 8b 4d 60 mov rcx, QWORD PTR this$[rbp] 00065 e8 00 00 00 00 call ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ; ATL::CSimpleStringT::PrepareWrite2 $LN3@PrepareWri: ; 813 : } ; 814 : ; 815 : return( m_pszData ); 0006a 48 8b 45 60 mov rax, QWORD PTR this$[rbp] 0006e 48 8b 00 mov rax, QWORD PTR [rax] $LN4@PrepareWri: ; 816 : } 00071 48 8d 65 50 lea rsp, QWORD PTR [rbp+80] 00075 5d pop rbp 00076 c3 ret 0 ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AEAAPEA_WH@Z ENDP ; ATL::CSimpleStringT::PrepareWrite _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ _TEXT SEGMENT this$ = 80 ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ PROC ; ATL::CSimpleStringT::GetData, COMDAT ; 799 : { $LN3: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 48 83 ec 40 sub rsp, 64 ; 00000040H 0000a 48 8b ec mov rbp, rsp ; 800 : return( reinterpret_cast< CStringData* >( m_pszData )-1 ); 0000d 48 8b 45 50 mov rax, QWORD PTR this$[rbp] 00011 48 8b 00 mov rax, QWORD PTR [rax] 00014 48 83 e8 18 sub rax, 24 ; 801 : } 00018 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 0001c 5d pop rbp 0001d c3 ret 0 ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ENDP ; ATL::CSimpleStringT::GetData _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z _TEXT SEGMENT pOldData$ = 0 nOldLength$ = 8 pNewData$ = 16 nCharsToCopy$ = 24 tv86 = 92 tv136 = 96 tv76 = 96 tv134 = 104 tv83 = 104 this$ = 128 nLength$ = 136 ?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 55 push rbp 0000a 48 81 ec 90 00 00 00 sub rsp, 144 ; 00000090H 00011 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 784 : CStringData* pOldData = GetData(); 00016 48 8b 8d 80 00 00 00 mov rcx, QWORD PTR this$[rbp] 0001d e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 00022 48 89 45 00 mov QWORD PTR pOldData$[rbp], rax ; 785 : int nOldLength = pOldData->nDataLength; 00026 48 8b 45 00 mov rax, QWORD PTR pOldData$[rbp] 0002a 8b 40 08 mov eax, DWORD PTR [rax+8] 0002d 89 45 08 mov DWORD PTR nOldLength$[rbp], eax ; 786 : CStringData* pNewData = pOldData->pStringMgr->Clone()->Allocate( nLength, sizeof( XCHAR ) ); 00030 48 8b 45 00 mov rax, QWORD PTR pOldData$[rbp] 00034 48 8b 00 mov rax, QWORD PTR [rax] 00037 48 8b 4d 00 mov rcx, QWORD PTR pOldData$[rbp] 0003b 48 8b 09 mov rcx, QWORD PTR [rcx] 0003e 48 8b 00 mov rax, QWORD PTR [rax] 00041 ff 50 20 call QWORD PTR [rax+32] 00044 48 89 45 60 mov QWORD PTR tv76[rbp], rax 00048 48 8b 45 60 mov rax, QWORD PTR tv76[rbp] 0004c 48 8b 00 mov rax, QWORD PTR [rax] 0004f 48 8b 00 mov rax, QWORD PTR [rax] 00052 48 89 45 68 mov QWORD PTR tv83[rbp], rax 00056 41 b8 02 00 00 00 mov r8d, 2 0005c 8b 95 88 00 00 00 mov edx, DWORD PTR nLength$[rbp] 00062 48 8b 4d 60 mov rcx, QWORD PTR tv76[rbp] 00066 ff 55 68 call QWORD PTR tv83[rbp] 00069 48 89 45 10 mov QWORD PTR pNewData$[rbp], rax ; 787 : if( pNewData == NULL ) 0006d 48 83 7d 10 00 cmp QWORD PTR pNewData$[rbp], 0 00072 75 05 jne SHORT $LN2@Fork ; 788 : { ; 789 : ThrowMemoryException(); 00074 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' 00079 8b 85 88 00 00 00 mov eax, DWORD PTR nLength$[rbp] 0007f 39 45 08 cmp DWORD PTR nOldLength$[rbp], eax 00082 7d 08 jge SHORT $LN4@Fork 00084 8b 45 08 mov eax, DWORD PTR nOldLength$[rbp] 00087 89 45 5c mov DWORD PTR tv86[rbp], eax 0008a eb 09 jmp SHORT $LN5@Fork $LN4@Fork: 0008c 8b 85 88 00 00 00 mov eax, DWORD PTR nLength$[rbp] 00092 89 45 5c mov DWORD PTR tv86[rbp], eax $LN5@Fork: 00095 8b 45 5c mov eax, DWORD PTR tv86[rbp] 00098 ff c0 inc eax 0009a 89 45 18 mov DWORD PTR nCharsToCopy$[rbp], eax ; 792 : memcpy_s( PXSTR( pNewData->data() ), nCharsToCopy * sizeof( XCHAR ), 0009d 48 8b 4d 00 mov rcx, QWORD PTR pOldData$[rbp] 000a1 e8 00 00 00 00 call ?data@CStringData@ATL@@QEAAPEAXXZ ; ATL::CStringData::data 000a6 48 89 45 60 mov QWORD PTR tv136[rbp], rax 000aa 48 8b 4d 10 mov rcx, QWORD PTR pNewData$[rbp] 000ae e8 00 00 00 00 call ?data@CStringData@ATL@@QEAAPEAXXZ ; ATL::CStringData::data 000b3 48 89 45 68 mov QWORD PTR tv134[rbp], rax 000b7 48 63 45 18 movsxd rax, DWORD PTR nCharsToCopy$[rbp] 000bb 48 d1 e0 shl rax, 1 000be 48 63 4d 18 movsxd rcx, DWORD PTR nCharsToCopy$[rbp] 000c2 48 d1 e1 shl rcx, 1 000c5 4c 8b c8 mov r9, rax 000c8 4c 8b 45 60 mov r8, QWORD PTR tv136[rbp] 000cc 48 8b d1 mov rdx, rcx 000cf 48 8b 4d 68 mov rcx, QWORD PTR tv134[rbp] 000d3 e8 00 00 00 00 call memcpy_s ; 793 : PCXSTR( pOldData->data() ), nCharsToCopy * sizeof( XCHAR )); ; 794 : pNewData->nDataLength = nOldLength; 000d8 48 8b 45 10 mov rax, QWORD PTR pNewData$[rbp] 000dc 8b 4d 08 mov ecx, DWORD PTR nOldLength$[rbp] 000df 89 48 08 mov DWORD PTR [rax+8], ecx ; 795 : pOldData->Release(); 000e2 48 8b 4d 00 mov rcx, QWORD PTR pOldData$[rbp] 000e6 e8 00 00 00 00 call ?Release@CStringData@ATL@@QEAAXXZ ; ATL::CStringData::Release ; 796 : Attach( pNewData ); 000eb 48 8b 55 10 mov rdx, QWORD PTR pNewData$[rbp] 000ef 48 8b 8d 80 00 00 00 mov rcx, QWORD PTR this$[rbp] 000f6 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AEAAXPEAUCStringData@2@@Z ; ATL::CSimpleStringT::Attach $LN3@Fork: ; 797 : } 000fb 48 8d 65 70 lea rsp, QWORD PTR [rbp+112] 000ff 5d pop rbp 00100 c3 ret 0 ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ENDP ; ATL::CSimpleStringT::Fork _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AEAAXPEAUCStringData@2@@Z _TEXT SEGMENT this$ = 80 pData$ = 88 ?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 55 push rbp 0000b 48 83 ec 60 sub rsp, 96 ; 00000060H 0000f 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 780 : m_pszData = static_cast< PXSTR >( pData->data() ); 00014 48 8b 4d 58 mov rcx, QWORD PTR pData$[rbp] 00018 e8 00 00 00 00 call ?data@CStringData@ATL@@QEAAPEAXXZ ; ATL::CStringData::data 0001d 48 8b 4d 50 mov rcx, QWORD PTR this$[rbp] 00021 48 89 01 mov QWORD PTR [rcx], rax ; 781 : } 00024 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 00028 5d pop rbp 00029 c3 ret 0 ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AEAAXPEAUCStringData@2@@Z ENDP ; ATL::CSimpleStringT::Attach _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ _TEXT SEGMENT ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ PROC ; ATL::CSimpleStringT::ThrowMemoryException, COMDAT ; 772 : { $LN3: 00000 40 55 push rbp 00002 48 83 ec 60 sub rsp, 96 ; 00000060H 00006 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 773 : AtlThrow( E_OUTOFMEMORY ); 0000b b9 0e 00 07 80 mov ecx, -2147024882 ; ffffffff8007000eH 00010 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YAXJ@Z ; ATL::AtlThrowImpl $LN2@ThrowMemor: ; 774 : } 00015 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 00019 5d pop rbp 0001a c3 ret 0 ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ENDP ; ATL::CSimpleStringT::ThrowMemoryException _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPEB_W@Z _TEXT SEGMENT psz$ = 80 ?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 55 push rbp 00006 48 83 ec 60 sub rsp, 96 ; 00000060H 0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 730 : if( psz == NULL ) 0000f 48 83 7d 50 00 cmp QWORD PTR psz$[rbp], 0 00014 75 04 jne SHORT $LN2@StringLeng ; 731 : { ; 732 : return( 0 ); 00016 33 c0 xor eax, eax 00018 eb 0a jmp SHORT $LN1@StringLeng $LN2@StringLeng: ; 733 : } ; 734 : return( int( wcslen( psz ) ) ); 0001a 48 8b 4d 50 mov rcx, QWORD PTR psz$[rbp] 0001e e8 00 00 00 00 call wcslen 00023 90 npad 1 $LN1@StringLeng: ; 735 : } 00024 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 00028 5d pop rbp 00029 c3 ret 0 ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPEB_W@Z ENDP ; ATL::CSimpleStringT::StringLength _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPEA_W_KPEB_WH@Z _TEXT SEGMENT pchDest$ = 80 nDestLen$ = 88 pchSrc$ = 96 nChars$ = 104 ?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 55 push rbp 00015 48 83 ec 60 sub rsp, 96 ; 00000060H 00019 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 717 : memmove_s( pchDest, nDestLen*sizeof( XCHAR ), 0001e 48 63 45 68 movsxd rax, DWORD PTR nChars$[rbp] 00022 48 d1 e0 shl rax, 1 00025 48 8b 4d 58 mov rcx, QWORD PTR nDestLen$[rbp] 00029 48 d1 e1 shl rcx, 1 0002c 4c 8b c8 mov r9, rax 0002f 4c 8b 45 60 mov r8, QWORD PTR pchSrc$[rbp] 00033 48 8b d1 mov rdx, rcx 00036 48 8b 4d 50 mov rcx, QWORD PTR pchDest$[rbp] 0003a e8 00 00 00 00 call memmove_s 0003f 90 npad 1 ; 718 : pchSrc, nChars*sizeof( XCHAR ) ); ; 719 : } 00040 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 00044 5d pop rbp 00045 c3 ret 0 ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPEA_W_KPEB_WH@Z ENDP ; ATL::CSimpleStringT::CopyCharsOverlapped _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_WH@Z _TEXT SEGMENT nOldLength$1 = 0 nOffset$2 = 8 pszBuffer$3 = 16 tv90 = 88 tv81 = 88 this$ = 112 pszSrc$ = 120 nLength$ = 128 ?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 55 push rbp 00010 48 81 ec 80 00 00 00 sub rsp, 128 ; 00000080H 00017 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 608 : if( nLength == 0 ) 0001c 83 bd 80 00 00 00 00 cmp DWORD PTR nLength$[rbp], 0 00023 75 0e jne SHORT $LN2@SetString ; 609 : { ; 610 : Empty(); 00025 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp] 00029 e8 00 00 00 00 call ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QEAAXXZ ; ATL::CSimpleStringT::Empty ; 611 : } 0002e e9 cc 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) 00033 48 83 7d 78 00 cmp QWORD PTR pszSrc$[rbp], 0 00038 75 0a jne SHORT $LN4@SetString ; 621 : AtlThrow(E_INVALIDARG); 0003a b9 57 00 07 80 mov ecx, -2147024809 ; ffffffff80070057H 0003f e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YAXJ@Z ; ATL::AtlThrowImpl $LN4@SetString: ; 622 : ; 623 : UINT nOldLength = GetLength(); 00044 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp] 00048 e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ ; ATL::CSimpleStringT::GetLength 0004d 89 45 00 mov DWORD PTR nOldLength$1[rbp], eax ; 624 : UINT_PTR nOffset = pszSrc-GetString(); 00050 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp] 00054 e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QEBAPEB_WXZ ; ATL::CSimpleStringT::GetString 00059 48 8b 4d 78 mov rcx, QWORD PTR pszSrc$[rbp] 0005d 48 2b c8 sub rcx, rax 00060 48 8b c1 mov rax, rcx 00063 48 d1 f8 sar rax, 1 00066 48 89 45 08 mov QWORD PTR nOffset$2[rbp], rax ; 625 : // If 0 <= nOffset <= nOldLength, then pszSrc points into our ; 626 : // buffer ; 627 : ; 628 : PXSTR pszBuffer = GetBuffer( nLength ); 0006a 8b 95 80 00 00 00 mov edx, DWORD PTR nLength$[rbp] 00070 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp] 00074 e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QEAAPEA_WH@Z ; ATL::CSimpleStringT::GetBuffer 00079 48 89 45 10 mov QWORD PTR pszBuffer$3[rbp], rax ; 629 : if( nOffset <= nOldLength ) 0007d 8b 45 00 mov eax, DWORD PTR nOldLength$1[rbp] 00080 48 39 45 08 cmp QWORD PTR nOffset$2[rbp], rax 00084 77 37 ja SHORT $LN5@SetString ; 630 : { ; 631 : CopyCharsOverlapped( pszBuffer, GetAllocLength(), 00086 48 8b 45 10 mov rax, QWORD PTR pszBuffer$3[rbp] 0008a 48 8b 4d 08 mov rcx, QWORD PTR nOffset$2[rbp] 0008e 48 8d 04 48 lea rax, QWORD PTR [rax+rcx*2] 00092 48 89 45 58 mov QWORD PTR tv81[rbp], rax 00096 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp] 0009a e8 00 00 00 00 call ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ ; ATL::CSimpleStringT::GetAllocLength 0009f 48 98 cdqe 000a1 44 8b 8d 80 00 00 00 mov r9d, DWORD PTR nLength$[rbp] 000a8 48 8b 4d 58 mov rcx, QWORD PTR tv81[rbp] 000ac 4c 8b c1 mov r8, rcx 000af 48 8b d0 mov rdx, rax 000b2 48 8b 4d 10 mov rcx, QWORD PTR pszBuffer$3[rbp] 000b6 e8 00 00 00 00 call ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPEA_W_KPEB_WH@Z ; ATL::CSimpleStringT::CopyCharsOverlapped ; 632 : pszBuffer+nOffset, nLength ); ; 633 : } 000bb eb 33 jmp SHORT $LN6@SetString $LN5@SetString: ; 634 : else ; 635 : { ; 636 : memcpy_s( pszBuffer, GetAllocLength() * sizeof( XCHAR ), pszSrc, nLength * sizeof( XCHAR )); 000bd 48 63 85 80 00 00 00 movsxd rax, DWORD PTR nLength$[rbp] 000c4 48 d1 e0 shl rax, 1 000c7 48 89 45 58 mov QWORD PTR tv90[rbp], rax 000cb 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp] 000cf e8 00 00 00 00 call ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ ; ATL::CSimpleStringT::GetAllocLength 000d4 48 98 cdqe 000d6 48 d1 e0 shl rax, 1 000d9 48 8b 4d 58 mov rcx, QWORD PTR tv90[rbp] 000dd 4c 8b c9 mov r9, rcx 000e0 4c 8b 45 78 mov r8, QWORD PTR pszSrc$[rbp] 000e4 48 8b d0 mov rdx, rax 000e7 48 8b 4d 10 mov rcx, QWORD PTR pszBuffer$3[rbp] 000eb e8 00 00 00 00 call memcpy_s $LN6@SetString: ; 637 : } ; 638 : ReleaseBufferSetLength( nLength ); 000f0 8b 95 80 00 00 00 mov edx, DWORD PTR nLength$[rbp] 000f6 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp] 000fa e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QEAAXH@Z ; ATL::CSimpleStringT::ReleaseBufferSetLength $LN3@SetString: $LN7@SetString: ; 639 : } ; 640 : } 000ff 48 8d 65 60 lea rsp, QWORD PTR [rbp+96] 00103 5d pop rbp 00104 c3 ret 0 ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_WH@Z ENDP ; ATL::CSimpleStringT::SetString _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_W@Z _TEXT SEGMENT this$ = 80 pszSrc$ = 88 ?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 55 push rbp 0000b 48 83 ec 60 sub rsp, 96 ; 00000060H 0000f 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 602 : SetString( pszSrc, StringLength( pszSrc ) ); 00014 48 8b 4d 58 mov rcx, QWORD PTR pszSrc$[rbp] 00018 e8 00 00 00 00 call ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPEB_W@Z ; ATL::CSimpleStringT::StringLength 0001d 44 8b c0 mov r8d, eax 00020 48 8b 55 58 mov rdx, QWORD PTR pszSrc$[rbp] 00024 48 8b 4d 50 mov rcx, QWORD PTR this$[rbp] 00028 e8 00 00 00 00 call ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_WH@Z ; ATL::CSimpleStringT::SetString ; 603 : } 0002d 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 00031 5d pop rbp 00032 c3 ret 0 ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_W@Z ENDP ; ATL::CSimpleStringT::SetString _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QEAAXH@Z _TEXT SEGMENT this$ = 80 nNewLength$ = 88 ?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 55 push rbp 0000a 48 83 ec 60 sub rsp, 96 ; 00000060H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 567 : ATLASSERT( nNewLength >= 0 ); ; 568 : SetLength( nNewLength ); 00013 8b 55 58 mov edx, DWORD PTR nNewLength$[rbp] 00016 48 8b 4d 50 mov rcx, QWORD PTR this$[rbp] 0001a e8 00 00 00 00 call ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ; ATL::CSimpleStringT::SetLength ; 569 : } 0001f 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 00023 5d pop rbp 00024 c3 ret 0 ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QEAAXH@Z ENDP ; ATL::CSimpleStringT::ReleaseBufferSetLength _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QEBAPEB_WXZ _TEXT SEGMENT this$ = 80 ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QEBAPEB_WXZ PROC ; ATL::CSimpleStringT::GetString, COMDAT ; 528 : { $LN3: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 48 83 ec 40 sub rsp, 64 ; 00000040H 0000a 48 8b ec mov rbp, rsp ; 529 : return( m_pszData ); 0000d 48 8b 45 50 mov rax, QWORD PTR this$[rbp] 00011 48 8b 00 mov rax, QWORD PTR [rax] ; 530 : } 00014 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 00018 5d pop rbp 00019 c3 ret 0 ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QEBAPEB_WXZ ENDP ; ATL::CSimpleStringT::GetString _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ _TEXT SEGMENT this$ = 80 ?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 55 push rbp 00006 48 83 ec 60 sub rsp, 96 ; 00000060H 0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 519 : return( GetData()->nDataLength ); 0000f 48 8b 4d 50 mov rcx, QWORD PTR this$[rbp] 00013 e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 00018 8b 40 08 mov eax, DWORD PTR [rax+8] ; 520 : } 0001b 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 0001f 5d pop rbp 00020 c3 ret 0 ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ ENDP ; ATL::CSimpleStringT::GetLength _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QEAAPEA_WH@Z _TEXT SEGMENT this$ = 80 nMinBufferLength$ = 88 ?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 55 push rbp 0000a 48 83 ec 60 sub rsp, 96 ; 00000060H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 508 : return( PrepareWrite( nMinBufferLength ) ); 00013 8b 55 58 mov edx, DWORD PTR nMinBufferLength$[rbp] 00016 48 8b 4d 50 mov rcx, QWORD PTR this$[rbp] 0001a e8 00 00 00 00 call ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AEAAPEA_WH@Z ; ATL::CSimpleStringT::PrepareWrite ; 509 : } 0001f 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 00023 5d pop rbp 00024 c3 ret 0 ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QEAAPEA_WH@Z ENDP ; ATL::CSimpleStringT::GetBuffer _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ _TEXT SEGMENT this$ = 80 ?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 55 push rbp 00006 48 83 ec 60 sub rsp, 96 ; 00000060H 0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 486 : return( GetData()->nAllocLength ); 0000f 48 8b 4d 50 mov rcx, QWORD PTR this$[rbp] 00013 e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 00018 8b 40 0c mov eax, DWORD PTR [rax+12] ; 487 : } 0001b 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 0001f 5d pop rbp 00020 c3 ret 0 ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ ENDP ; ATL::CSimpleStringT::GetAllocLength _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QEAAXXZ _TEXT SEGMENT pOldData$ = 0 pStringMgr$ = 8 pNewData$1 = 16 this$ = 112 ?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 55 push rbp 00006 48 81 ec 80 00 00 00 sub rsp, 128 ; 00000080H 0000d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 437 : CStringData* pOldData = GetData(); 00012 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp] 00016 e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 0001b 48 89 45 00 mov QWORD PTR pOldData$[rbp], rax ; 438 : IAtlStringMgr* pStringMgr = pOldData->pStringMgr; 0001f 48 8b 45 00 mov rax, QWORD PTR pOldData$[rbp] 00023 48 8b 00 mov rax, QWORD PTR [rax] 00026 48 89 45 08 mov QWORD PTR pStringMgr$[rbp], rax ; 439 : if( pOldData->nDataLength == 0 ) 0002a 48 8b 45 00 mov rax, QWORD PTR pOldData$[rbp] 0002e 83 78 08 00 cmp DWORD PTR [rax+8], 0 00032 75 02 jne SHORT $LN2@Empty ; 440 : { ; 441 : return; 00034 eb 46 jmp SHORT $LN1@Empty $LN2@Empty: ; 442 : } ; 443 : ; 444 : if( pOldData->IsLocked() ) 00036 48 8b 4d 00 mov rcx, QWORD PTR pOldData$[rbp] 0003a e8 00 00 00 00 call ?IsLocked@CStringData@ATL@@QEBA_NXZ ; ATL::CStringData::IsLocked 0003f 0f b6 c0 movzx eax, al 00042 85 c0 test eax, eax 00044 74 0d je SHORT $LN3@Empty ; 445 : { ; 446 : // Don't reallocate a locked buffer that's shrinking ; 447 : SetLength( 0 ); 00046 33 d2 xor edx, edx 00048 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp] 0004c e8 00 00 00 00 call ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ; ATL::CSimpleStringT::SetLength ; 448 : } 00051 eb 29 jmp SHORT $LN1@Empty $LN3@Empty: ; 449 : else ; 450 : { ; 451 : pOldData->Release(); 00053 48 8b 4d 00 mov rcx, QWORD PTR pOldData$[rbp] 00057 e8 00 00 00 00 call ?Release@CStringData@ATL@@QEAAXXZ ; ATL::CStringData::Release ; 452 : CStringData* pNewData = pStringMgr->GetNilString(); 0005c 48 8b 45 08 mov rax, QWORD PTR pStringMgr$[rbp] 00060 48 8b 00 mov rax, QWORD PTR [rax] 00063 48 8b 4d 08 mov rcx, QWORD PTR pStringMgr$[rbp] 00067 ff 50 18 call QWORD PTR [rax+24] 0006a 48 89 45 10 mov QWORD PTR pNewData$1[rbp], rax ; 453 : Attach( pNewData ); 0006e 48 8b 55 10 mov rdx, QWORD PTR pNewData$1[rbp] 00072 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp] 00076 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AEAAXPEAUCStringData@2@@Z ; ATL::CSimpleStringT::Attach 0007b 90 npad 1 $LN1@Empty: ; 454 : } ; 455 : } 0007c 48 8d 65 60 lea rsp, QWORD PTR [rbp+96] 00080 5d pop rbp 00081 c3 ret 0 ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QEAAXXZ ENDP ; ATL::CSimpleStringT::Empty _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ??4?$CSimpleStringT@_W$0A@@ATL@@QEAAAEAV01@PEB_W@Z _TEXT SEGMENT this$ = 80 pszSrc$ = 88 ??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 55 push rbp 0000b 48 83 ec 60 sub rsp, 96 ; 00000060H 0000f 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 314 : SetString( pszSrc ); 00014 48 8b 55 58 mov rdx, QWORD PTR pszSrc$[rbp] 00018 48 8b 4d 50 mov rcx, QWORD PTR this$[rbp] 0001c e8 00 00 00 00 call ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_W@Z ; ATL::CSimpleStringT::SetString ; 315 : ; 316 : return( *this ); 00021 48 8b 45 50 mov rax, QWORD PTR this$[rbp] ; 317 : } 00025 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 00029 5d pop rbp 0002a c3 ret 0 ??4?$CSimpleStringT@_W$0A@@ATL@@QEAAAEAV01@PEB_W@Z ENDP ; ATL::CSimpleStringT::operator= _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ??1?$CSimpleStringT@_W$0A@@ATL@@QEAA@XZ _TEXT SEGMENT pData$ = 0 this$ = 96 ??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 55 push rbp 00006 48 83 ec 70 sub rsp, 112 ; 00000070H 0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 261 : CStringData* pData = GetData(); 0000f 48 8b 4d 60 mov rcx, QWORD PTR this$[rbp] 00013 e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ; ATL::CSimpleStringT::GetData 00018 48 89 45 00 mov QWORD PTR pData$[rbp], rax ; 262 : pData->Release(); 0001c 48 8b 4d 00 mov rcx, QWORD PTR pData$[rbp] 00020 e8 00 00 00 00 call ?Release@CStringData@ATL@@QEAAXXZ ; ATL::CStringData::Release ; 263 : } 00025 48 8d 65 50 lea rsp, QWORD PTR [rbp+80] 00029 5d pop rbp 0002a c3 ret 0 ??1?$CSimpleStringT@_W$0A@@ATL@@QEAA@XZ ENDP ; ATL::CSimpleStringT::~CSimpleStringT _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ??0?$CSimpleStringT@_W$0A@@ATL@@QEAA@PEAUIAtlStringMgr@1@@Z _TEXT SEGMENT __atl_condVal$1 = 0 pData$ = 8 tv65 = 80 this$ = 112 pStringMgr$ = 120 ??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 55 push rbp 0000b 48 81 ec 80 00 00 00 sub rsp, 128 ; 00000080H 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] $LN4@CSimpleStr: ; 204 : { ; 205 : ATLENSURE( pStringMgr != NULL ); 00017 48 83 7d 78 00 cmp QWORD PTR pStringMgr$[rbp], 0 0001c 74 09 je SHORT $LN10@CSimpleStr 0001e c7 45 50 01 00 00 00 mov DWORD PTR tv65[rbp], 1 00025 eb 07 jmp SHORT $LN11@CSimpleStr $LN10@CSimpleStr: 00027 c7 45 50 00 00 00 00 mov DWORD PTR tv65[rbp], 0 $LN11@CSimpleStr: 0002e 8b 45 50 mov eax, DWORD PTR tv65[rbp] 00031 89 45 00 mov DWORD PTR __atl_condVal$1[rbp], eax $LN7@CSimpleStr: 00034 33 c0 xor eax, eax 00036 85 c0 test eax, eax 00038 75 fa jne SHORT $LN7@CSimpleStr 0003a 83 7d 00 00 cmp DWORD PTR __atl_condVal$1[rbp], 0 0003e 75 0a jne SHORT $LN8@CSimpleStr 00040 b9 05 40 00 80 mov ecx, -2147467259 ; ffffffff80004005H 00045 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YAXJ@Z ; ATL::AtlThrowImpl $LN8@CSimpleStr: 0004a 33 c0 xor eax, eax 0004c 85 c0 test eax, eax 0004e 75 c7 jne SHORT $LN4@CSimpleStr ; 206 : CStringData* pData = pStringMgr->GetNilString(); 00050 48 8b 45 78 mov rax, QWORD PTR pStringMgr$[rbp] 00054 48 8b 00 mov rax, QWORD PTR [rax] 00057 48 8b 4d 78 mov rcx, QWORD PTR pStringMgr$[rbp] 0005b ff 50 18 call QWORD PTR [rax+24] 0005e 48 89 45 08 mov QWORD PTR pData$[rbp], rax ; 207 : Attach( pData ); 00062 48 8b 55 08 mov rdx, QWORD PTR pData$[rbp] 00066 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp] 0006a e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AEAAXPEAUCStringData@2@@Z ; ATL::CSimpleStringT::Attach ; 208 : } 0006f 48 8b 45 70 mov rax, QWORD PTR this$[rbp] $LN9@CSimpleStr: 00073 48 8d 65 60 lea rsp, QWORD PTR [rbp+96] 00077 5d pop rbp 00078 c3 ret 0 ??0?$CSimpleStringT@_W$0A@@ATL@@QEAA@PEAUIAtlStringMgr@1@@Z ENDP ; ATL::CSimpleStringT::CSimpleStringT _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h ; COMDAT ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPEA_WHPEB_WH@Z _TEXT SEGMENT pszDest$ = 80 nDestLength$ = 88 pszSrc$ = 96 nSrcLength$ = 104 ?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 55 push rbp 00014 48 83 ec 60 sub rsp, 96 ; 00000060H 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 790 : if (nSrcLength == -1) { nSrcLength=1 + GetBaseTypeLength(pszSrc); } 0001d 83 7d 68 ff cmp DWORD PTR nSrcLength$[rbp], -1 00021 75 0e jne SHORT $LN2@ConvertToB 00023 48 8b 4d 60 mov rcx, QWORD PTR pszSrc$[rbp] 00027 e8 00 00 00 00 call ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_W@Z ; ATL::ChTraitsCRT::GetBaseTypeLength 0002c ff c0 inc eax 0002e 89 45 68 mov DWORD PTR nSrcLength$[rbp], eax $LN2@ConvertToB: ; 791 : // nLen is in wchar_ts ; 792 : Checked::wmemcpy_s(pszDest, nDestLength, pszSrc, nSrcLength); 00031 48 63 45 68 movsxd rax, DWORD PTR nSrcLength$[rbp] 00035 48 63 4d 58 movsxd rcx, DWORD PTR nDestLength$[rbp] 00039 4c 8b c8 mov r9, rax 0003c 4c 8b 45 60 mov r8, QWORD PTR pszSrc$[rbp] 00040 48 8b d1 mov rdx, rcx 00043 48 8b 4d 50 mov rcx, QWORD PTR pszDest$[rbp] 00047 e8 00 00 00 00 call ?wmemcpy_s@Checked@ATL@@YAXPEA_W_KPEB_W1@Z ; ATL::Checked::wmemcpy_s ; 793 : } 0004c 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 00050 5d pop rbp 00051 c3 ret 0 ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPEA_WHPEB_WH@Z ENDP ; ATL::ChTraitsCRT::ConvertToBaseType _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h ; COMDAT ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_WH@Z _TEXT SEGMENT pszSrc$ = 80 nLength$ = 88 ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_WH@Z PROC ; ATL::ChTraitsCRT::GetBaseTypeLength, COMDAT ; 768 : { $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 55 push rbp 0000a 48 83 ec 40 sub rsp, 64 ; 00000040H 0000e 48 8b ec mov rbp, rsp ; 769 : (void)pszSrc; ; 770 : // Returns required buffer size in wchar_ts ; 771 : return nLength; 00011 8b 45 58 mov eax, DWORD PTR nLength$[rbp] ; 772 : } 00014 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 00018 5d pop rbp 00019 c3 ret 0 ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_WH@Z ENDP ; ATL::ChTraitsCRT::GetBaseTypeLength _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h ; COMDAT ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_W@Z _TEXT SEGMENT pszSrc$ = 80 ?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 55 push rbp 00006 48 83 ec 60 sub rsp, 96 ; 00000060H 0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 761 : // Returns required buffer size in wchar_ts ; 762 : return AtlStrLen( pszSrc ); 0000f 48 8b 4d 50 mov rcx, QWORD PTR pszSrc$[rbp] 00013 e8 00 00 00 00 call ?AtlStrLen@ATL@@YAHPEB_W@Z ; ATL::AtlStrLen 00018 90 npad 1 ; 763 : } 00019 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 0001d 5d pop rbp 0001e c3 ret 0 ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_W@Z ENDP ; ATL::ChTraitsCRT::GetBaseTypeLength _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?Release@CStringData@ATL@@QEAAXXZ _TEXT SEGMENT tv77 = 64 tv79 = 72 this$ = 96 ?Release@CStringData@ATL@@QEAAXXZ PROC ; ATL::CStringData::Release, COMDAT ; 85 : { $LN4: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 48 83 ec 70 sub rsp, 112 ; 00000070H 0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 86 : ATLASSERT( nRefs != 0 ); ; 87 : ; 88 : if( _InterlockedDecrement( &nRefs ) <= 0 ) 0000f 48 8b 45 60 mov rax, QWORD PTR this$[rbp] 00013 48 83 c0 10 add rax, 16 00017 b9 ff ff ff ff mov ecx, -1 0001c f0 0f c1 08 lock xadd DWORD PTR [rax], ecx 00020 ff c9 dec ecx 00022 8b c1 mov eax, ecx 00024 85 c0 test eax, eax 00026 7f 28 jg SHORT $LN2@Release ; 89 : { ; 90 : pStringMgr->Free( this ); 00028 48 8b 45 60 mov rax, QWORD PTR this$[rbp] 0002c 48 8b 00 mov rax, QWORD PTR [rax] 0002f 48 89 45 40 mov QWORD PTR tv77[rbp], rax 00033 48 8b 45 60 mov rax, QWORD PTR this$[rbp] 00037 48 8b 00 mov rax, QWORD PTR [rax] 0003a 48 8b 00 mov rax, QWORD PTR [rax] 0003d 48 8b 40 08 mov rax, QWORD PTR [rax+8] 00041 48 89 45 48 mov QWORD PTR tv79[rbp], rax 00045 48 8b 55 60 mov rdx, QWORD PTR this$[rbp] 00049 48 8b 4d 40 mov rcx, QWORD PTR tv77[rbp] 0004d ff 55 48 call QWORD PTR tv79[rbp] $LN2@Release: ; 91 : } ; 92 : } 00050 48 8d 65 50 lea rsp, QWORD PTR [rbp+80] 00054 5d pop rbp 00055 c3 ret 0 ?Release@CStringData@ATL@@QEAAXXZ ENDP ; ATL::CStringData::Release _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?IsShared@CStringData@ATL@@QEBA_NXZ _TEXT SEGMENT tv66 = 64 this$ = 96 ?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 55 push rbp 00006 48 83 ec 50 sub rsp, 80 ; 00000050H 0000a 48 8b ec mov rbp, rsp ; 73 : return( nRefs > 1 ); 0000d 48 8b 45 60 mov rax, QWORD PTR this$[rbp] 00011 83 78 10 01 cmp DWORD PTR [rax+16], 1 00015 7e 09 jle SHORT $LN3@IsShared 00017 c7 45 40 01 00 00 00 mov DWORD PTR tv66[rbp], 1 0001e eb 07 jmp SHORT $LN4@IsShared $LN3@IsShared: 00020 c7 45 40 00 00 00 00 mov DWORD PTR tv66[rbp], 0 $LN4@IsShared: 00027 0f b6 45 40 movzx eax, BYTE PTR tv66[rbp] ; 74 : } 0002b 48 8d 65 50 lea rsp, QWORD PTR [rbp+80] 0002f 5d pop rbp 00030 c3 ret 0 ?IsShared@CStringData@ATL@@QEBA_NXZ ENDP ; ATL::CStringData::IsShared _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?IsLocked@CStringData@ATL@@QEBA_NXZ _TEXT SEGMENT tv66 = 64 this$ = 96 ?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 55 push rbp 00006 48 83 ec 50 sub rsp, 80 ; 00000050H 0000a 48 8b ec mov rbp, rsp ; 69 : return nRefs < 0; 0000d 48 8b 45 60 mov rax, QWORD PTR this$[rbp] 00011 83 78 10 00 cmp DWORD PTR [rax+16], 0 00015 7d 09 jge SHORT $LN3@IsLocked 00017 c7 45 40 01 00 00 00 mov DWORD PTR tv66[rbp], 1 0001e eb 07 jmp SHORT $LN4@IsLocked $LN3@IsLocked: 00020 c7 45 40 00 00 00 00 mov DWORD PTR tv66[rbp], 0 $LN4@IsLocked: 00027 0f b6 45 40 movzx eax, BYTE PTR tv66[rbp] ; 70 : } 0002b 48 8d 65 50 lea rsp, QWORD PTR [rbp+80] 0002f 5d pop rbp 00030 c3 ret 0 ?IsLocked@CStringData@ATL@@QEBA_NXZ ENDP ; ATL::CStringData::IsLocked _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h ; COMDAT ?data@CStringData@ATL@@QEAAPEAXXZ _TEXT SEGMENT this$ = 80 ?data@CStringData@ATL@@QEAAPEAXXZ PROC ; ATL::CStringData::data, COMDAT ; 58 : { $LN3: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 48 83 ec 40 sub rsp, 64 ; 00000040H 0000a 48 8b ec mov rbp, rsp ; 59 : return (this+1); 0000d 48 8b 45 50 mov rax, QWORD PTR this$[rbp] 00011 48 83 c0 18 add rax, 24 ; 60 : } 00015 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 00019 5d pop rbp 0001a c3 ret 0 ?data@CStringData@ATL@@QEAAPEAXXZ ENDP ; ATL::CStringData::data _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlcore.h ; COMDAT ?AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@I@Z _TEXT SEGMENT hResource$ = 0 hInstance$ = 96 id$ = 104 ?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 55 push rbp 0000a 48 83 ec 70 sub rsp, 112 ; 00000070H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 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); 00013 8b 45 68 mov eax, DWORD PTR id$[rbp] 00016 c1 e8 04 shr eax, 4 00019 ff c0 inc eax 0001b 25 ff ff 00 00 and eax, 65535 ; 0000ffffH 00020 0f b7 c0 movzx eax, ax 00023 41 b8 06 00 00 00 mov r8d, 6 00029 8b d0 mov edx, eax 0002b 48 8b 4d 60 mov rcx, QWORD PTR hInstance$[rbp] 0002f ff 15 00 00 00 00 call QWORD PTR __imp_FindResourceW 00035 48 89 45 00 mov QWORD PTR hResource$[rbp], rax ; 377 : if( hResource == NULL ) 00039 48 83 7d 00 00 cmp QWORD PTR hResource$[rbp], 0 0003e 75 04 jne SHORT $LN2@AtlGetStri ; 378 : { ; 379 : return( NULL ); 00040 33 c0 xor eax, eax 00042 eb 12 jmp SHORT $LN1@AtlGetStri $LN2@AtlGetStri: ; 380 : } ; 381 : ; 382 : return _AtlGetStringResourceImage( hInstance, hResource, id ); 00044 44 8b 45 68 mov r8d, DWORD PTR id$[rbp] 00048 48 8b 55 00 mov rdx, QWORD PTR hResource$[rbp] 0004c 48 8b 4d 60 mov rcx, QWORD PTR hInstance$[rbp] 00050 e8 00 00 00 00 call ?_AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@PEAUHRSRC__@@I@Z ; ATL::_AtlGetStringResourceImage 00055 90 npad 1 $LN1@AtlGetStri: ; 383 : } 00056 48 8d 65 50 lea rsp, QWORD PTR [rbp+80] 0005a 5d pop rbp 0005b c3 ret 0 ?AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@I@Z ENDP ; ATL::AtlGetStringResourceImage _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlcore.h ; COMDAT ?_AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@PEAUHRSRC__@@I@Z _TEXT SEGMENT pImage$ = 0 pImageEnd$ = 8 nResourceSize$ = 16 hGlobal$ = 24 iIndex$ = 32 hInstance$ = 128 hResource$ = 136 id$ = 144 ?_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 55 push rbp 00010 48 81 ec 90 00 00 00 sub rsp, 144 ; 00000090H 00017 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 328 : const ATLSTRINGRESOURCEIMAGE* pImage; ; 329 : const ATLSTRINGRESOURCEIMAGE* pImageEnd; ; 330 : ULONG nResourceSize; ; 331 : HGLOBAL hGlobal; ; 332 : UINT iIndex; ; 333 : ; 334 : hGlobal = ::LoadResource( hInstance, hResource ); 0001c 48 8b 95 88 00 00 00 mov rdx, QWORD PTR hResource$[rbp] 00023 48 8b 8d 80 00 00 00 mov rcx, QWORD PTR hInstance$[rbp] 0002a ff 15 00 00 00 00 call QWORD PTR __imp_LoadResource 00030 48 89 45 18 mov QWORD PTR hGlobal$[rbp], rax ; 335 : if( hGlobal == NULL ) 00034 48 83 7d 18 00 cmp QWORD PTR hGlobal$[rbp], 0 00039 75 07 jne SHORT $LN4@AtlGetStri ; 336 : { ; 337 : return( NULL ); 0003b 33 c0 xor eax, eax 0003d e9 9f 00 00 00 jmp $LN1@AtlGetStri $LN4@AtlGetStri: ; 338 : } ; 339 : ; 340 : pImage = (const ATLSTRINGRESOURCEIMAGE*)::LockResource( hGlobal ); 00042 48 8b 4d 18 mov rcx, QWORD PTR hGlobal$[rbp] 00046 ff 15 00 00 00 00 call QWORD PTR __imp_LockResource 0004c 48 89 45 00 mov QWORD PTR pImage$[rbp], rax ; 341 : if( pImage == NULL ) 00050 48 83 7d 00 00 cmp QWORD PTR pImage$[rbp], 0 00055 75 07 jne SHORT $LN5@AtlGetStri ; 342 : { ; 343 : return( NULL ); 00057 33 c0 xor eax, eax 00059 e9 83 00 00 00 jmp $LN1@AtlGetStri $LN5@AtlGetStri: ; 344 : } ; 345 : ; 346 : nResourceSize = ::SizeofResource( hInstance, hResource ); 0005e 48 8b 95 88 00 00 00 mov rdx, QWORD PTR hResource$[rbp] 00065 48 8b 8d 80 00 00 00 mov rcx, QWORD PTR hInstance$[rbp] 0006c ff 15 00 00 00 00 call QWORD PTR __imp_SizeofResource 00072 89 45 10 mov DWORD PTR nResourceSize$[rbp], eax ; 347 : pImageEnd = (const ATLSTRINGRESOURCEIMAGE*)(LPBYTE( pImage )+nResourceSize); 00075 8b 45 10 mov eax, DWORD PTR nResourceSize$[rbp] 00078 48 8b 4d 00 mov rcx, QWORD PTR pImage$[rbp] 0007c 48 03 c8 add rcx, rax 0007f 48 8b c1 mov rax, rcx 00082 48 89 45 08 mov QWORD PTR pImageEnd$[rbp], rax ; 348 : iIndex = id&0x000f; 00086 8b 85 90 00 00 00 mov eax, DWORD PTR id$[rbp] 0008c 83 e0 0f and eax, 15 0008f 89 45 20 mov DWORD PTR iIndex$[rbp], eax $LN2@AtlGetStri: ; 349 : ; 350 : while( (iIndex > 0) && (pImage < pImageEnd) ) 00092 83 7d 20 00 cmp DWORD PTR iIndex$[rbp], 0 00096 76 28 jbe SHORT $LN3@AtlGetStri 00098 48 8b 45 08 mov rax, QWORD PTR pImageEnd$[rbp] 0009c 48 39 45 00 cmp QWORD PTR pImage$[rbp], rax 000a0 73 1e jae SHORT $LN3@AtlGetStri ; 351 : { ; 352 : pImage = (const ATLSTRINGRESOURCEIMAGE*)(LPBYTE( pImage )+(sizeof( ATLSTRINGRESOURCEIMAGE )+(pImage->nLength*sizeof( WCHAR )))); 000a2 48 8b 45 00 mov rax, QWORD PTR pImage$[rbp] 000a6 0f b7 00 movzx eax, WORD PTR [rax] 000a9 48 8b 4d 00 mov rcx, QWORD PTR pImage$[rbp] 000ad 48 8d 44 41 02 lea rax, QWORD PTR [rcx+rax*2+2] 000b2 48 89 45 00 mov QWORD PTR pImage$[rbp], rax ; 353 : iIndex--; 000b6 8b 45 20 mov eax, DWORD PTR iIndex$[rbp] 000b9 ff c8 dec eax 000bb 89 45 20 mov DWORD PTR iIndex$[rbp], eax ; 354 : } 000be eb d2 jmp SHORT $LN2@AtlGetStri $LN3@AtlGetStri: ; 355 : if( pImage >= pImageEnd ) 000c0 48 8b 45 08 mov rax, QWORD PTR pImageEnd$[rbp] 000c4 48 39 45 00 cmp QWORD PTR pImage$[rbp], rax 000c8 72 04 jb SHORT $LN6@AtlGetStri ; 356 : { ; 357 : return( NULL ); 000ca 33 c0 xor eax, eax 000cc eb 13 jmp SHORT $LN1@AtlGetStri $LN6@AtlGetStri: ; 358 : } ; 359 : if( pImage->nLength == 0 ) 000ce 48 8b 45 00 mov rax, QWORD PTR pImage$[rbp] 000d2 0f b7 00 movzx eax, WORD PTR [rax] 000d5 85 c0 test eax, eax 000d7 75 04 jne SHORT $LN7@AtlGetStri ; 360 : { ; 361 : return( NULL ); 000d9 33 c0 xor eax, eax 000db eb 04 jmp SHORT $LN1@AtlGetStri $LN7@AtlGetStri: ; 362 : } ; 363 : ; 364 : return( pImage ); 000dd 48 8b 45 00 mov rax, QWORD PTR pImage$[rbp] $LN1@AtlGetStri: ; 365 : } 000e1 48 8d 65 70 lea rsp, QWORD PTR [rbp+112] 000e5 5d pop rbp 000e6 c3 ret 0 ?_AtlGetStringResourceImage@ATL@@YAPEBUATLSTRINGRESOURCEIMAGE@1@PEAUHINSTANCE__@@PEAUHRSRC__@@I@Z ENDP ; ATL::_AtlGetStringResourceImage _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlcore.h ; COMDAT ?AtlStrLen@ATL@@YAHPEB_W@Z _TEXT SEGMENT str$ = 80 ?AtlStrLen@ATL@@YAHPEB_W@Z PROC ; ATL::AtlStrLen, COMDAT ; 60 : { $LN4: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 48 83 ec 60 sub rsp, 96 ; 00000060H 0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 61 : if (str == NULL) 0000f 48 83 7d 50 00 cmp QWORD PTR str$[rbp], 0 00014 75 04 jne SHORT $LN2@AtlStrLen ; 62 : return 0; 00016 33 c0 xor eax, eax 00018 eb 09 jmp SHORT $LN1@AtlStrLen $LN2@AtlStrLen: ; 63 : return static_cast(::wcslen(str)); 0001a 48 8b 4d 50 mov rcx, QWORD PTR str$[rbp] 0001e e8 00 00 00 00 call wcslen $LN1@AtlStrLen: ; 64 : } 00023 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 00027 5d pop rbp 00028 c3 ret 0 ?AtlStrLen@ATL@@YAHPEB_W@Z ENDP ; ATL::AtlStrLen _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlchecked.h ; COMDAT ?wmemcpy_s@Checked@ATL@@YAXPEA_W_KPEB_W1@Z _TEXT SEGMENT _S1$ = 80 _N1$ = 88 _S2$ = 96 _N$ = 104 ?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 55 push rbp 00015 48 83 ec 60 sub rsp, 96 ; 00000060H 00019 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 78 : ATLMFC_CRT_ERRORCHECK(::wmemcpy_s(_S1, _N1, _S2, _N)); 0001e 4c 8b 4d 68 mov r9, QWORD PTR _N$[rbp] 00022 4c 8b 45 60 mov r8, QWORD PTR _S2$[rbp] 00026 48 8b 55 58 mov rdx, QWORD PTR _N1$[rbp] 0002a 48 8b 4d 50 mov rcx, QWORD PTR _S1$[rbp] 0002e e8 00 00 00 00 call wmemcpy_s 00033 8b c8 mov ecx, eax 00035 e8 00 00 00 00 call ?AfxCrtErrorCheck@@YAHH@Z ; AfxCrtErrorCheck ; 79 : } 0003a 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 0003e 5d pop rbp 0003f c3 ret 0 ?wmemcpy_s@Checked@ATL@@YAXPEA_W_KPEB_W1@Z ENDP ; ATL::Checked::wmemcpy_s _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlexcept.h ; COMDAT ?AtlThrowImpl@ATL@@YAXJ@Z _TEXT SEGMENT hr$ = 80 ?AtlThrowImpl@ATL@@YAXJ@Z PROC ; ATL::AtlThrowImpl, COMDAT ; 65 : { $LN5: 00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx 00004 55 push rbp 00005 48 83 ec 60 sub rsp, 96 ; 00000060H 00009 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 66 : ATLTRACE(atlTraceException, 0, _T("AtlThrow: hr = 0x%x\n"), hr ); ; 67 : #ifdef _AFX ; 68 : if( hr == E_OUTOFMEMORY ) 0000e 81 7d 50 0e 00 07 80 cmp DWORD PTR hr$[rbp], -2147024882 ; ffffffff8007000eH 00015 75 07 jne SHORT $LN2@AtlThrowIm ; 69 : { ; 70 : AfxThrowMemoryException(); 00017 e8 00 00 00 00 call ?AfxThrowMemoryException@@YAXXZ ; AfxThrowMemoryException ; 71 : } 0001c eb 08 jmp SHORT $LN3@AtlThrowIm $LN2@AtlThrowIm: ; 72 : else ; 73 : { ; 74 : AfxThrowOleException( hr ); 0001e 8b 4d 50 mov ecx, DWORD PTR hr$[rbp] 00021 e8 00 00 00 00 call ?AfxThrowOleException@@YAXJ@Z ; AfxThrowOleException $LN3@AtlThrowIm: $LN4@AtlThrowIm: ; 75 : } ; 76 : #else ; 77 : throw CAtlException( hr ); ; 78 : #endif ; 79 : }; 00026 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 0002a 5d pop rbp 0002b c3 ret 0 ?AtlThrowImpl@ATL@@YAXJ@Z ENDP ; ATL::AtlThrowImpl _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afx.h ; COMDAT ?AfxCrtErrorCheck@@YAHH@Z _TEXT SEGMENT tv64 = 64 error$ = 96 ?AfxCrtErrorCheck@@YAHH@Z PROC ; AfxCrtErrorCheck, COMDAT ; 506 : { $LN11: 00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx 00004 55 push rbp 00005 48 83 ec 70 sub rsp, 112 ; 00000070H 00009 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 507 : switch(error) 0000e 8b 45 60 mov eax, DWORD PTR error$[rbp] 00011 89 45 40 mov DWORD PTR tv64[rbp], eax 00014 83 7d 40 00 cmp DWORD PTR tv64[rbp], 0 00018 74 28 je SHORT $LN8@AfxCrtErro 0001a 83 7d 40 0c cmp DWORD PTR tv64[rbp], 12 0001e 74 14 je SHORT $LN4@AfxCrtErro 00020 83 7d 40 16 cmp DWORD PTR tv64[rbp], 22 00024 74 15 je SHORT $LN5@AfxCrtErro 00026 83 7d 40 22 cmp DWORD PTR tv64[rbp], 34 ; 00000022H 0002a 74 0f je SHORT $LN6@AfxCrtErro 0002c 83 7d 40 50 cmp DWORD PTR tv64[rbp], 80 ; 00000050H 00030 74 10 je SHORT $LN7@AfxCrtErro 00032 eb 10 jmp SHORT $LN9@AfxCrtErro $LN4@AfxCrtErro: ; 508 : { ; 509 : case ENOMEM: ; 510 : AfxThrowMemoryException(); 00034 e8 00 00 00 00 call ?AfxThrowMemoryException@@YAXXZ ; AfxThrowMemoryException ; 511 : break; 00039 eb 0e jmp SHORT $LN2@AfxCrtErro $LN5@AfxCrtErro: $LN6@AfxCrtErro: ; 512 : case EINVAL: ; 513 : case ERANGE: ; 514 : AfxThrowInvalidArgException(); 0003b e8 00 00 00 00 call ?AfxThrowInvalidArgException@@YAXXZ ; AfxThrowInvalidArgException ; 515 : break; 00040 eb 07 jmp SHORT $LN2@AfxCrtErro $LN7@AfxCrtErro: $LN8@AfxCrtErro: ; 516 : case STRUNCATE: ; 517 : case 0: ; 518 : break; 00042 eb 05 jmp SHORT $LN2@AfxCrtErro $LN9@AfxCrtErro: ; 519 : default: ; 520 : AfxThrowInvalidArgException(); 00044 e8 00 00 00 00 call ?AfxThrowInvalidArgException@@YAXXZ ; AfxThrowInvalidArgException $LN2@AfxCrtErro: ; 521 : break; ; 522 : } ; 523 : return error; 00049 8b 45 60 mov eax, DWORD PTR error$[rbp] $LN10@AfxCrtErro: ; 524 : } 0004c 48 8d 65 50 lea rsp, QWORD PTR [rbp+80] 00050 5d pop rbp 00051 c3 ret 0 ?AfxCrtErrorCheck@@YAHH@Z ENDP ; AfxCrtErrorCheck _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_memcpy_s.h ; COMDAT memmove_s _TEXT SEGMENT _Expr_val$1 = 0 _Expr_val$2 = 4 _Expr_val$3 = 8 tv74 = 76 tv70 = 76 tv66 = 76 _Destination$ = 96 _DestinationSize$ = 104 _Source$ = 112 _SourceSize$ = 120 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 55 push rbp 00015 48 83 ec 70 sub rsp, 112 ; 00000070H 00019 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 74 : if (_SourceSize == 0) 0001e 48 83 7d 78 00 cmp QWORD PTR _SourceSize$[rbp], 0 00023 75 07 jne SHORT $LN2@memmove_s ; 75 : { ; 76 : return 0; 00025 33 c0 xor eax, eax 00027 e9 c7 00 00 00 jmp $LN1@memmove_s $LN2@memmove_s: ; 77 : } ; 78 : ; 79 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Destination != NULL, EINVAL); 0002c 48 83 7d 60 00 cmp QWORD PTR _Destination$[rbp], 0 00031 74 09 je SHORT $LN7@memmove_s 00033 c7 45 4c 01 00 00 00 mov DWORD PTR tv66[rbp], 1 0003a eb 07 jmp SHORT $LN8@memmove_s $LN7@memmove_s: 0003c c7 45 4c 00 00 00 00 mov DWORD PTR tv66[rbp], 0 $LN8@memmove_s: 00043 8b 45 4c mov eax, DWORD PTR tv66[rbp] 00046 89 45 00 mov DWORD PTR _Expr_val$1[rbp], eax 00049 83 7d 00 00 cmp DWORD PTR _Expr_val$1[rbp], 0 0004d 75 1a jne SHORT $LN3@memmove_s 0004f e8 00 00 00 00 call _errno 00054 c7 00 16 00 00 00 mov DWORD PTR [rax], 22 0005a e8 00 00 00 00 call _invalid_parameter_noinfo 0005f b8 16 00 00 00 mov eax, 22 00064 e9 8a 00 00 00 jmp $LN1@memmove_s $LN3@memmove_s: ; 80 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Source != NULL, EINVAL); 00069 48 83 7d 70 00 cmp QWORD PTR _Source$[rbp], 0 0006e 74 09 je SHORT $LN9@memmove_s 00070 c7 45 4c 01 00 00 00 mov DWORD PTR tv70[rbp], 1 00077 eb 07 jmp SHORT $LN10@memmove_s $LN9@memmove_s: 00079 c7 45 4c 00 00 00 00 mov DWORD PTR tv70[rbp], 0 $LN10@memmove_s: 00080 8b 45 4c mov eax, DWORD PTR tv70[rbp] 00083 89 45 04 mov DWORD PTR _Expr_val$2[rbp], eax 00086 83 7d 04 00 cmp DWORD PTR _Expr_val$2[rbp], 0 0008a 75 17 jne SHORT $LN4@memmove_s 0008c e8 00 00 00 00 call _errno 00091 c7 00 16 00 00 00 mov DWORD PTR [rax], 22 00097 e8 00 00 00 00 call _invalid_parameter_noinfo 0009c b8 16 00 00 00 mov eax, 22 000a1 eb 50 jmp SHORT $LN1@memmove_s $LN4@memmove_s: ; 81 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_DestinationSize >= _SourceSize, ERANGE); 000a3 48 8b 45 78 mov rax, QWORD PTR _SourceSize$[rbp] 000a7 48 39 45 68 cmp QWORD PTR _DestinationSize$[rbp], rax 000ab 72 09 jb SHORT $LN11@memmove_s 000ad c7 45 4c 01 00 00 00 mov DWORD PTR tv74[rbp], 1 000b4 eb 07 jmp SHORT $LN12@memmove_s $LN11@memmove_s: 000b6 c7 45 4c 00 00 00 00 mov DWORD PTR tv74[rbp], 0 $LN12@memmove_s: 000bd 8b 45 4c mov eax, DWORD PTR tv74[rbp] 000c0 89 45 08 mov DWORD PTR _Expr_val$3[rbp], eax 000c3 83 7d 08 00 cmp DWORD PTR _Expr_val$3[rbp], 0 000c7 75 17 jne SHORT $LN5@memmove_s 000c9 e8 00 00 00 00 call _errno 000ce c7 00 22 00 00 00 mov DWORD PTR [rax], 34 ; 00000022H 000d4 e8 00 00 00 00 call _invalid_parameter_noinfo 000d9 b8 22 00 00 00 mov eax, 34 ; 00000022H 000de eb 13 jmp SHORT $LN1@memmove_s $LN5@memmove_s: ; 82 : ; 83 : memmove(_Destination, _Source, _SourceSize); 000e0 4c 8b 45 78 mov r8, QWORD PTR _SourceSize$[rbp] 000e4 48 8b 55 70 mov rdx, QWORD PTR _Source$[rbp] 000e8 48 8b 4d 60 mov rcx, QWORD PTR _Destination$[rbp] 000ec e8 00 00 00 00 call memmove ; 84 : return 0; 000f1 33 c0 xor eax, eax $LN1@memmove_s: ; 85 : } 000f3 48 8d 65 50 lea rsp, QWORD PTR [rbp+80] 000f7 5d pop rbp 000f8 c3 ret 0 memmove_s ENDP _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_memcpy_s.h ; COMDAT memcpy_s _TEXT SEGMENT _Expr_val$1 = 0 _Expr_val$2 = 4 _Expr_val$3 = 8 tv79 = 76 tv75 = 76 tv66 = 76 _Destination$ = 96 _DestinationSize$ = 104 _Source$ = 112 _SourceSize$ = 120 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 55 push rbp 00015 48 83 ec 70 sub rsp, 112 ; 00000070H 00019 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 46 : if (_SourceSize == 0) 0001e 48 83 7d 78 00 cmp QWORD PTR _SourceSize$[rbp], 0 00023 75 07 jne SHORT $LN2@memcpy_s ; 47 : { ; 48 : return 0; 00025 33 c0 xor eax, eax 00027 e9 f2 00 00 00 jmp $LN1@memcpy_s $LN2@memcpy_s: ; 49 : } ; 50 : ; 51 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Destination != NULL, EINVAL); 0002c 48 83 7d 60 00 cmp QWORD PTR _Destination$[rbp], 0 00031 74 09 je SHORT $LN9@memcpy_s 00033 c7 45 4c 01 00 00 00 mov DWORD PTR tv66[rbp], 1 0003a eb 07 jmp SHORT $LN10@memcpy_s $LN9@memcpy_s: 0003c c7 45 4c 00 00 00 00 mov DWORD PTR tv66[rbp], 0 $LN10@memcpy_s: 00043 8b 45 4c mov eax, DWORD PTR tv66[rbp] 00046 89 45 00 mov DWORD PTR _Expr_val$1[rbp], eax 00049 83 7d 00 00 cmp DWORD PTR _Expr_val$1[rbp], 0 0004d 75 1a jne SHORT $LN3@memcpy_s 0004f e8 00 00 00 00 call _errno 00054 c7 00 16 00 00 00 mov DWORD PTR [rax], 22 0005a e8 00 00 00 00 call _invalid_parameter_noinfo 0005f b8 16 00 00 00 mov eax, 22 00064 e9 b5 00 00 00 jmp $LN1@memcpy_s $LN3@memcpy_s: ; 52 : if (_Source == NULL || _DestinationSize < _SourceSize) 00069 48 83 7d 70 00 cmp QWORD PTR _Source$[rbp], 0 0006e 74 0e je SHORT $LN5@memcpy_s 00070 48 8b 45 78 mov rax, QWORD PTR _SourceSize$[rbp] 00074 48 39 45 68 cmp QWORD PTR _DestinationSize$[rbp], rax 00078 0f 83 8d 00 00 00 jae $LN4@memcpy_s $LN5@memcpy_s: ; 53 : { ; 54 : memset(_Destination, 0, _DestinationSize); 0007e 4c 8b 45 68 mov r8, QWORD PTR _DestinationSize$[rbp] 00082 33 d2 xor edx, edx 00084 48 8b 4d 60 mov rcx, QWORD PTR _Destination$[rbp] 00088 e8 00 00 00 00 call memset ; 55 : ; 56 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Source != NULL, EINVAL); 0008d 48 83 7d 70 00 cmp QWORD PTR _Source$[rbp], 0 00092 74 09 je SHORT $LN11@memcpy_s 00094 c7 45 4c 01 00 00 00 mov DWORD PTR tv75[rbp], 1 0009b eb 07 jmp SHORT $LN12@memcpy_s $LN11@memcpy_s: 0009d c7 45 4c 00 00 00 00 mov DWORD PTR tv75[rbp], 0 $LN12@memcpy_s: 000a4 8b 45 4c mov eax, DWORD PTR tv75[rbp] 000a7 89 45 04 mov DWORD PTR _Expr_val$2[rbp], eax 000aa 83 7d 04 00 cmp DWORD PTR _Expr_val$2[rbp], 0 000ae 75 17 jne SHORT $LN6@memcpy_s 000b0 e8 00 00 00 00 call _errno 000b5 c7 00 16 00 00 00 mov DWORD PTR [rax], 22 000bb e8 00 00 00 00 call _invalid_parameter_noinfo 000c0 b8 16 00 00 00 mov eax, 22 000c5 eb 57 jmp SHORT $LN1@memcpy_s $LN6@memcpy_s: ; 57 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_DestinationSize >= _SourceSize, ERANGE); 000c7 48 8b 45 78 mov rax, QWORD PTR _SourceSize$[rbp] 000cb 48 39 45 68 cmp QWORD PTR _DestinationSize$[rbp], rax 000cf 72 09 jb SHORT $LN13@memcpy_s 000d1 c7 45 4c 01 00 00 00 mov DWORD PTR tv79[rbp], 1 000d8 eb 07 jmp SHORT $LN14@memcpy_s $LN13@memcpy_s: 000da c7 45 4c 00 00 00 00 mov DWORD PTR tv79[rbp], 0 $LN14@memcpy_s: 000e1 8b 45 4c mov eax, DWORD PTR tv79[rbp] 000e4 89 45 08 mov DWORD PTR _Expr_val$3[rbp], eax 000e7 83 7d 08 00 cmp DWORD PTR _Expr_val$3[rbp], 0 000eb 75 17 jne SHORT $LN7@memcpy_s 000ed e8 00 00 00 00 call _errno 000f2 c7 00 22 00 00 00 mov DWORD PTR [rax], 34 ; 00000022H 000f8 e8 00 00 00 00 call _invalid_parameter_noinfo 000fd b8 22 00 00 00 mov eax, 34 ; 00000022H 00102 eb 1a jmp SHORT $LN1@memcpy_s $LN7@memcpy_s: ; 58 : ; 59 : // Unreachable, but required to suppress /analyze warnings: ; 60 : return EINVAL; 00104 b8 16 00 00 00 mov eax, 22 00109 eb 13 jmp SHORT $LN1@memcpy_s $LN4@memcpy_s: ; 61 : } ; 62 : memcpy(_Destination, _Source, _SourceSize); 0010b 4c 8b 45 78 mov r8, QWORD PTR _SourceSize$[rbp] 0010f 48 8b 55 70 mov rdx, QWORD PTR _Source$[rbp] 00113 48 8b 4d 60 mov rcx, QWORD PTR _Destination$[rbp] 00117 e8 00 00 00 00 call memcpy ; 63 : return 0; 0011c 33 c0 xor eax, eax $LN1@memcpy_s: ; 64 : } 0011e 48 8d 65 50 lea rsp, QWORD PTR [rbp+80] 00122 5d pop rbp 00123 c3 ret 0 memcpy_s ENDP _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h ; COMDAT sprintf _TEXT SEGMENT _Result$ = 0 _ArgList$ = 8 _Buffer$ = 112 _Format$ = 120 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 55 push rbp 00015 48 81 ec 80 00 00 00 sub rsp, 128 ; 00000080H 0001c 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] ; 1772 : int _Result; ; 1773 : va_list _ArgList; ; 1774 : __crt_va_start(_ArgList, _Format); 00021 48 8d 85 80 00 00 00 lea rax, QWORD PTR _Format$[rbp+8] 00028 48 89 45 08 mov QWORD PTR _ArgList$[rbp], rax ; 1775 : ; 1776 : _Result = _vsprintf_l(_Buffer, _Format, NULL, _ArgList); 0002c 4c 8b 4d 08 mov r9, QWORD PTR _ArgList$[rbp] 00030 45 33 c0 xor r8d, r8d 00033 48 8b 55 78 mov rdx, QWORD PTR _Format$[rbp] 00037 48 8b 4d 70 mov rcx, QWORD PTR _Buffer$[rbp] 0003b e8 00 00 00 00 call _vsprintf_l 00040 89 45 00 mov DWORD PTR _Result$[rbp], eax ; 1777 : ; 1778 : __crt_va_end(_ArgList); 00043 48 c7 45 08 00 00 00 00 mov QWORD PTR _ArgList$[rbp], 0 ; 1779 : return _Result; 0004b 8b 45 00 mov eax, DWORD PTR _Result$[rbp] ; 1780 : } 0004e 48 8d 65 60 lea rsp, QWORD PTR [rbp+96] 00052 5d pop rbp 00053 c3 ret 0 sprintf ENDP _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h ; COMDAT _vsprintf_l _TEXT SEGMENT _Buffer$ = 80 _Format$ = 88 _Locale$ = 96 _ArgList$ = 104 _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 55 push rbp 00015 48 83 ec 70 sub rsp, 112 ; 00000070H 00019 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] ; 1459 : return _vsnprintf_l(_Buffer, (size_t)-1, _Format, _Locale, _ArgList); 0001e 48 8b 45 68 mov rax, QWORD PTR _ArgList$[rbp] 00022 48 89 44 24 20 mov QWORD PTR [rsp+32], rax 00027 4c 8b 4d 60 mov r9, QWORD PTR _Locale$[rbp] 0002b 4c 8b 45 58 mov r8, QWORD PTR _Format$[rbp] 0002f 48 c7 c2 ff ff ff ff mov rdx, -1 00036 48 8b 4d 50 mov rcx, QWORD PTR _Buffer$[rbp] 0003a e8 00 00 00 00 call _vsnprintf_l ; 1460 : } 0003f 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 00043 5d pop rbp 00044 c3 ret 0 _vsprintf_l ENDP _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h ; COMDAT _vsnprintf_l _TEXT SEGMENT _Result$ = 0 tv74 = 68 _Buffer$ = 96 _BufferCount$ = 104 _Format$ = 112 _Locale$ = 120 _ArgList$ = 128 _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 55 push rbp 00015 48 81 ec 80 00 00 00 sub rsp, 128 ; 00000080H 0001c 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] ; 1392 : int const _Result = __stdio_common_vsprintf( 00021 e8 00 00 00 00 call __local_stdio_printf_options 00026 48 8b 00 mov rax, QWORD PTR [rax] 00029 48 83 c8 01 or rax, 1 0002d 48 8b 8d 80 00 00 00 mov rcx, QWORD PTR _ArgList$[rbp] 00034 48 89 4c 24 28 mov QWORD PTR [rsp+40], rcx 00039 48 8b 4d 78 mov rcx, QWORD PTR _Locale$[rbp] 0003d 48 89 4c 24 20 mov QWORD PTR [rsp+32], rcx 00042 4c 8b 4d 70 mov r9, QWORD PTR _Format$[rbp] 00046 4c 8b 45 68 mov r8, QWORD PTR _BufferCount$[rbp] 0004a 48 8b 55 60 mov rdx, QWORD PTR _Buffer$[rbp] 0004e 48 8b c8 mov rcx, rax 00051 e8 00 00 00 00 call __stdio_common_vsprintf 00056 89 45 00 mov DWORD PTR _Result$[rbp], 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; 00059 83 7d 00 00 cmp DWORD PTR _Result$[rbp], 0 0005d 7d 09 jge SHORT $LN3@vsnprintf_ 0005f c7 45 44 ff ff ff ff mov DWORD PTR tv74[rbp], -1 00066 eb 06 jmp SHORT $LN4@vsnprintf_ $LN3@vsnprintf_: 00068 8b 45 00 mov eax, DWORD PTR _Result$[rbp] 0006b 89 45 44 mov DWORD PTR tv74[rbp], eax $LN4@vsnprintf_: 0006e 8b 45 44 mov eax, DWORD PTR tv74[rbp] ; 1397 : } 00071 48 8d 65 50 lea rsp, QWORD PTR [rbp+80] 00075 5d pop rbp 00076 c3 ret 0 _vsnprintf_l ENDP _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_stdio_config.h ; COMDAT __local_stdio_printf_options _TEXT SEGMENT __local_stdio_printf_options PROC ; COMDAT ; 90 : { $LN3: 00000 40 55 push rbp 00002 48 83 ec 40 sub rsp, 64 ; 00000040H 00006 48 8b ec mov rbp, rsp ; 91 : static unsigned __int64 _OptionsStorage; ; 92 : return &_OptionsStorage; 00009 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 : } 00010 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 00014 5d pop rbp 00015 c3 ret 0 __local_stdio_printf_options ENDP _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File D:\Works\Corpsms_2010\public\des\Des.cpp ; COMDAT ?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z _TEXT SEGMENT __formal$ = 80 __formal$ = 88 __formal$ = 96 ?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT $LN3: 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 55 push rbp 00010 48 83 ec 40 sub rsp, 64 ; 00000040H 00014 48 8b ec mov rbp, rsp 00017 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 0001b 5d pop rbp 0001c c3 ret 0 ?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z ENDP ; __empty_global_delete _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File D:\Works\Corpsms_2010\public\des\Des.cpp ; COMDAT ?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z _TEXT SEGMENT __formal$ = 80 __formal$ = 88 ?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT $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 55 push rbp 0000b 48 83 ec 40 sub rsp, 64 ; 00000040H 0000f 48 8b ec mov rbp, rsp 00012 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 00016 5d pop rbp 00017 c3 ret 0 ?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z ENDP ; __empty_global_delete _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File D:\Works\Corpsms_2010\public\des\Des.cpp ; COMDAT ?__empty_global_delete@@YAXPEAX_K@Z _TEXT SEGMENT __formal$ = 80 __formal$ = 88 ?__empty_global_delete@@YAXPEAX_K@Z PROC ; __empty_global_delete, COMDAT $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 55 push rbp 0000b 48 83 ec 40 sub rsp, 64 ; 00000040H 0000f 48 8b ec mov rbp, rsp 00012 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 00016 5d pop rbp 00017 c3 ret 0 ?__empty_global_delete@@YAXPEAX_K@Z ENDP ; __empty_global_delete _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File D:\Works\Corpsms_2010\public\des\Des.cpp ; COMDAT ?__empty_global_delete@@YAXPEAX@Z _TEXT SEGMENT __formal$ = 80 ?__empty_global_delete@@YAXPEAX@Z PROC ; __empty_global_delete, COMDAT $LN3: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 48 83 ec 40 sub rsp, 64 ; 00000040H 0000a 48 8b ec mov rbp, rsp 0000d 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 00011 5d pop rbp 00012 c3 ret 0 ?__empty_global_delete@@YAXPEAX@Z ENDP ; __empty_global_delete _TEXT ENDS END