SmsCenter/Release_Unicode/Des.cod

9565 lines
320 KiB
Plaintext
Raw Blame History

; 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<wchar_t>::GetBaseTypeLength
PUBLIC ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
PUBLIC ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPEA_WHPEB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType
PUBLIC ??0?$CSimpleStringT@_W$0A@@ATL@@QEAA@PEAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
PUBLIC ??1?$CSimpleStringT@_W$0A@@ATL@@QEAA@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
PUBLIC ??4?$CSimpleStringT@_W$0A@@ATL@@QEAAAEAV01@PEB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::operator=
PUBLIC ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QEAAXXZ ; ATL::CSimpleStringT<wchar_t,0>::Empty
PUBLIC ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength
PUBLIC ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QEAAPEA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
PUBLIC ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
PUBLIC ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QEBAPEB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
PUBLIC ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QEAAXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
PUBLIC ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString
PUBLIC ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString
PUBLIC ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPEA_W_KPEB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::CopyCharsOverlapped
PUBLIC ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPEB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::StringLength
PUBLIC ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
PUBLIC ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AEAAXPEAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
PUBLIC ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Fork
PUBLIC ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
PUBLIC ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AEAAPEA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite
PUBLIC ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2
PUBLIC ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Reallocate
PUBLIC ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetLength
PUBLIC ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@PEB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
PUBLIC ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
PUBLIC ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAAEAV01@PEB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
PUBLIC ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAHI@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
PUBLIC ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAHPEAUHINSTANCE__@@I@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
PUBLIC ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AEAA_NPEBX@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad
PUBLIC ?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUHINSTANCE__@@I@Z ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::FindStringResourceInstance
PUBLIC ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPEAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::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<bits; ++i)
00034 c7 45 00 00 00
00 00 mov DWORD PTR i$1[rbp], 0
0003b eb 08 jmp SHORT $LN4@BitToByte
$LN2@BitToByte:
0003d 8b 45 00 mov eax, DWORD PTR i$1[rbp]
00040 ff c0 inc eax
00042 89 45 00 mov DWORD PTR i$1[rbp], eax
$LN4@BitToByte:
00045 8b 45 78 mov eax, DWORD PTR bits$[rbp]
00048 39 45 00 cmp DWORD PTR i$1[rbp], eax
0004b 7d 3b jge SHORT $LN3@BitToByte
; 136 : Out[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<bits; ++i)
0001c c7 45 00 00 00
00 00 mov DWORD PTR i$1[rbp], 0
00023 eb 08 jmp SHORT $LN4@ByteToBit
$LN2@ByteToBit:
00025 8b 45 00 mov eax, DWORD PTR i$1[rbp]
00028 ff c0 inc eax
0002a 89 45 00 mov DWORD PTR i$1[rbp], eax
$LN4@ByteToBit:
0002d 8b 45 78 mov eax, DWORD PTR bits$[rbp]
00030 39 45 00 cmp DWORD PTR i$1[rbp], eax
00033 7d 28 jge SHORT $LN3@ByteToBit
; 130 : Out[i] = (In[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; i<len; ++i)
0001c c7 45 00 00 00
00 00 mov DWORD PTR i$1[rbp], 0
00023 eb 08 jmp SHORT $LN4@Xor
$LN2@Xor:
00025 8b 45 00 mov eax, DWORD PTR i$1[rbp]
00028 ff c0 inc eax
0002a 89 45 00 mov DWORD PTR i$1[rbp], eax
$LN4@Xor:
0002d 8b 45 78 mov eax, DWORD PTR len$[rbp]
00030 39 45 00 cmp DWORD PTR i$1[rbp], eax
00033 7d 27 jge SHORT $LN3@Xor
; 119 : InA[i] ^= InB[i];
00035 48 63 45 00 movsxd rax, DWORD PTR i$1[rbp]
00039 48 8b 4d 68 mov rcx, QWORD PTR InA$[rbp]
0003d 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax]
00041 48 63 4d 00 movsxd rcx, DWORD PTR i$1[rbp]
00045 48 8b 55 70 mov rdx, QWORD PTR InB$[rbp]
00049 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx]
0004d 33 c1 xor eax, ecx
0004f 48 63 4d 00 movsxd rcx, DWORD PTR i$1[rbp]
00053 48 8b 55 68 mov rdx, QWORD PTR InA$[rbp]
00057 88 04 0a mov BYTE PTR [rdx+rcx], al
0005a eb c9 jmp SHORT $LN2@Xor
$LN3@Xor:
; 120 : }
0005c 48 8d 65 50 lea rsp, QWORD PTR [rbp+80]
00060 5d pop rbp
00061 c3 ret 0
?Xor@CDes@@IEAAXPEA_NPEB_NH@Z ENDP ; CDes::Xor
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?Transform@CDes@@IEAAXPEA_N0PEBDH@Z
_TEXT SEGMENT
i$1 = 0
this$ = 96
Out$ = 104
In$ = 112
Table$ = 120
len$ = 128
?Transform@CDes@@IEAAXPEA_N0PEBDH@Z PROC ; CDes::Transform, COMDAT
; 111 : {
$LN6:
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]
; 112 : for(int i=0; i<len; ++i)
0001e c7 45 00 00 00
00 00 mov DWORD PTR i$1[rbp], 0
00025 eb 08 jmp SHORT $LN4@Transform
$LN2@Transform:
00027 8b 45 00 mov eax, DWORD PTR i$1[rbp]
0002a ff c0 inc eax
0002c 89 45 00 mov DWORD PTR i$1[rbp], eax
$LN4@Transform:
0002f 8b 85 80 00 00
00 mov eax, DWORD PTR len$[rbp]
00035 39 45 00 cmp DWORD PTR i$1[rbp], eax
00038 7d 2a jge SHORT $LN3@Transform
; 113 : Tmp[i] = In[ Table[i]-1 ];
0003a 48 63 45 00 movsxd rax, DWORD PTR i$1[rbp]
0003e 48 8b 4d 78 mov rcx, QWORD PTR Table$[rbp]
00042 0f be 04 01 movsx eax, BYTE PTR [rcx+rax]
00046 ff c8 dec eax
00048 48 98 cdqe
0004a 48 63 4d 00 movsxd rcx, DWORD PTR i$1[rbp]
0004e 48 8b 55 60 mov rdx, QWORD PTR this$[rbp]
00052 4c 8b 45 70 mov r8, QWORD PTR In$[rbp]
00056 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax]
0005b 88 84 0a 51 09
00 00 mov BYTE PTR [rdx+rcx+2385], al
00062 eb c3 jmp SHORT $LN2@Transform
$LN3@Transform:
; 114 : memcpy(Out, Tmp, len);
00064 48 63 85 80 00
00 00 movsxd rax, DWORD PTR len$[rbp]
0006b 48 8b 4d 60 mov rcx, QWORD PTR this$[rbp]
0006f 48 81 c1 51 09
00 00 add rcx, 2385 ; 00000951H
00076 4c 8b c0 mov r8, rax
00079 48 8b d1 mov rdx, rcx
0007c 48 8b 4d 68 mov rcx, QWORD PTR Out$[rbp]
00080 e8 00 00 00 00 call memcpy
; 115 : }
00085 48 8d 65 50 lea rsp, QWORD PTR [rbp+80]
00089 5d pop rbp
0008a c3 ret 0
?Transform@CDes@@IEAAXPEA_N0PEBDH@Z ENDP ; CDes::Transform
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?S_func@CDes@@IEAAXQEA_NQEB_N@Z
_TEXT SEGMENT
i$1 = 0
j$2 = 1
k$3 = 2
this$ = 96
Out$ = 104
In$ = 112
?S_func@CDes@@IEAAXQEA_NQEB_N@Z PROC ; CDes::S_func, COMDAT
; 103 : {
$LN6:
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 70 sub rsp, 112 ; 00000070H
00014 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
; 104 : for(char i=0,j,k; i<8; ++i,In+=6,Out+=4) {
00019 c6 45 00 00 mov BYTE PTR i$1[rbp], 0
0001d eb 21 jmp SHORT $LN4@S_func
$LN2@S_func:
0001f 0f b6 45 00 movzx eax, BYTE PTR i$1[rbp]
00023 fe c0 inc al
00025 88 45 00 mov BYTE PTR i$1[rbp], al
00028 48 8b 45 70 mov rax, QWORD PTR In$[rbp]
0002c 48 83 c0 06 add rax, 6
00030 48 89 45 70 mov QWORD PTR In$[rbp], rax
00034 48 8b 45 68 mov rax, QWORD PTR Out$[rbp]
00038 48 83 c0 04 add rax, 4
0003c 48 89 45 68 mov QWORD PTR Out$[rbp], rax
$LN4@S_func:
00040 0f be 45 00 movsx eax, BYTE PTR i$1[rbp]
00044 83 f8 08 cmp eax, 8
00047 0f 8d be 00 00
00 jge $LN3@S_func
; 105 : j = (In[0]<<1) + In[5];
0004d b8 01 00 00 00 mov eax, 1
00052 48 6b c0 00 imul rax, rax, 0
00056 48 8b 4d 70 mov rcx, QWORD PTR In$[rbp]
0005a 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax]
0005e b9 01 00 00 00 mov ecx, 1
00063 48 6b c9 05 imul rcx, rcx, 5
00067 48 8b 55 70 mov rdx, QWORD PTR In$[rbp]
0006b 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx]
0006f 8d 04 41 lea eax, DWORD PTR [rcx+rax*2]
00072 88 45 01 mov BYTE PTR j$2[rbp], al
; 106 : k = (In[1]<<3) + (In[2]<<2) + (In[3]<<1) + In[4];
00075 b8 01 00 00 00 mov eax, 1
0007a 48 6b c0 01 imul rax, rax, 1
0007e 48 8b 4d 70 mov rcx, QWORD PTR In$[rbp]
00082 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax]
00086 b9 01 00 00 00 mov ecx, 1
0008b 48 6b c9 02 imul rcx, rcx, 2
0008f 48 8b 55 70 mov rdx, QWORD PTR In$[rbp]
00093 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx]
00097 c1 e1 02 shl ecx, 2
0009a 8d 04 c1 lea eax, DWORD PTR [rcx+rax*8]
0009d b9 01 00 00 00 mov ecx, 1
000a2 48 6b c9 03 imul rcx, rcx, 3
000a6 48 8b 55 70 mov rdx, QWORD PTR In$[rbp]
000aa 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx]
000ae 8d 04 48 lea eax, DWORD PTR [rax+rcx*2]
000b1 b9 01 00 00 00 mov ecx, 1
000b6 48 6b c9 04 imul rcx, rcx, 4
000ba 48 8b 55 70 mov rdx, QWORD PTR In$[rbp]
000be 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx]
000c2 03 c1 add eax, ecx
000c4 88 45 02 mov BYTE PTR k$3[rbp], al
; 107 : ByteToBit(Out, &S_Box[i][j][k], 4);
000c7 48 0f be 45 00 movsx rax, BYTE PTR i$1[rbp]
000cc 48 6b c0 40 imul rax, rax, 64 ; 00000040H
000d0 48 8b 4d 60 mov rcx, QWORD PTR this$[rbp]
000d4 48 8d 84 01 50
01 00 00 lea rax, QWORD PTR [rcx+rax+336]
000dc 48 0f be 4d 01 movsx rcx, BYTE PTR j$2[rbp]
000e1 48 6b c9 10 imul rcx, rcx, 16
000e5 48 03 c1 add rax, rcx
000e8 48 0f be 4d 02 movsx rcx, BYTE PTR k$3[rbp]
000ed 48 03 c1 add rax, rcx
000f0 41 b9 04 00 00
00 mov r9d, 4
000f6 4c 8b c0 mov r8, rax
000f9 48 8b 55 68 mov rdx, QWORD PTR Out$[rbp]
000fd 48 8b 4d 60 mov rcx, QWORD PTR this$[rbp]
00101 e8 00 00 00 00 call ?ByteToBit@CDes@@IEAAXPEA_NPEBDH@Z ; CDes::ByteToBit
; 108 : }
00106 e9 14 ff ff ff jmp $LN2@S_func
$LN3@S_func:
; 109 : }
0010b 48 8d 65 50 lea rsp, QWORD PTR [rbp+80]
0010f 5d pop rbp
00110 c3 ret 0
?S_func@CDes@@IEAAXQEA_NQEB_N@Z ENDP ; CDes::S_func
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?F_func@CDes@@IEAAXQEA_NQEB_N@Z
_TEXT SEGMENT
MR$ = 0
__$ArrayPad$ = 112
this$ = 144
In$ = 152
Ki$ = 160
?F_func@CDes@@IEAAXQEA_NQEB_N@Z PROC ; CDes::F_func, COMDAT
; 95 : {
$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 81 ec b0 00
00 00 sub rsp, 176 ; 000000b0H
00017 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
0001c 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
00023 48 33 c5 xor rax, rbp
00026 48 89 45 70 mov QWORD PTR __$ArrayPad$[rbp], rax
; 96 : bool MR[48];
; 97 : Transform(MR, In, E_Table, 48);
0002a 48 8b 85 90 00
00 00 mov rax, QWORD PTR this$[rbp]
00031 48 05 88 00 00
00 add rax, 136 ; 00000088H
00037 c7 44 24 20 30
00 00 00 mov DWORD PTR [rsp+32], 48 ; 00000030H
0003f 4c 8b c8 mov r9, rax
00042 4c 8b 85 98 00
00 00 mov r8, QWORD PTR In$[rbp]
00049 48 8d 55 00 lea rdx, QWORD PTR MR$[rbp]
0004d 48 8b 8d 90 00
00 00 mov rcx, QWORD PTR this$[rbp]
00054 e8 00 00 00 00 call ?Transform@CDes@@IEAAXPEA_N0PEBDH@Z ; CDes::Transform
; 98 : Xor(MR, Ki, 48);
00059 41 b9 30 00 00
00 mov r9d, 48 ; 00000030H
0005f 4c 8b 85 a0 00
00 00 mov r8, QWORD PTR Ki$[rbp]
00066 48 8d 55 00 lea rdx, QWORD PTR MR$[rbp]
0006a 48 8b 8d 90 00
00 00 mov rcx, QWORD PTR this$[rbp]
00071 e8 00 00 00 00 call ?Xor@CDes@@IEAAXPEA_NPEB_NH@Z ; CDes::Xor
; 99 : S_func(In, MR);
00076 4c 8d 45 00 lea r8, QWORD PTR MR$[rbp]
0007a 48 8b 95 98 00
00 00 mov rdx, QWORD PTR In$[rbp]
00081 48 8b 8d 90 00
00 00 mov rcx, QWORD PTR this$[rbp]
00088 e8 00 00 00 00 call ?S_func@CDes@@IEAAXQEA_NQEB_N@Z ; CDes::S_func
; 100 : Transform(In, In, P_Table, 32);
0008d 48 8b 85 90 00
00 00 mov rax, QWORD PTR this$[rbp]
00094 48 05 b8 00 00
00 add rax, 184 ; 000000b8H
0009a c7 44 24 20 20
00 00 00 mov DWORD PTR [rsp+32], 32 ; 00000020H
000a2 4c 8b c8 mov r9, rax
000a5 4c 8b 85 98 00
00 00 mov r8, QWORD PTR In$[rbp]
000ac 48 8b 95 98 00
00 00 mov rdx, QWORD PTR In$[rbp]
000b3 48 8b 8d 90 00
00 00 mov rcx, QWORD PTR this$[rbp]
000ba e8 00 00 00 00 call ?Transform@CDes@@IEAAXPEA_N0PEBDH@Z ; CDes::Transform
; 101 : }
000bf 48 8b 4d 70 mov rcx, QWORD PTR __$ArrayPad$[rbp]
000c3 48 33 cd xor rcx, rbp
000c6 e8 00 00 00 00 call __security_check_cookie
000cb 48 8d a5 80 00
00 00 lea rsp, QWORD PTR [rbp+128]
000d2 5d pop rbp
000d3 c3 ret 0
?F_func@CDes@@IEAAXQEA_NQEB_N@Z ENDP ; CDes::F_func
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?SetSubKey@CDes@@IEAAXPEAY1BA@DA@_NQEBD@Z
_TEXT SEGMENT
K$ = 0
KL$ = 64
KR$ = 72
i$1 = 80
__$ArrayPad$ = 152
this$ = 176
pSubKey$ = 184
Key$ = 192
?SetSubKey@CDes@@IEAAXPEAY1BA@DA@_NQEBD@Z PROC ; CDes::SetSubKey, COMDAT
; 84 : {
$LN6:
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 81 ec d0 00
00 00 sub rsp, 208 ; 000000d0H
00017 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
0001c 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
00023 48 33 c5 xor rax, rbp
00026 48 89 85 98 00
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
; 85 : bool K[64], *KL=&K[0], *KR=&K[28];
0002d b8 01 00 00 00 mov eax, 1
00032 48 6b c0 00 imul rax, rax, 0
00036 48 8d 44 05 00 lea rax, QWORD PTR K$[rbp+rax]
0003b 48 89 45 40 mov QWORD PTR KL$[rbp], rax
0003f b8 01 00 00 00 mov eax, 1
00044 48 6b c0 1c imul rax, rax, 28
00048 48 8d 44 05 00 lea rax, QWORD PTR K$[rbp+rax]
0004d 48 89 45 48 mov QWORD PTR KR$[rbp], rax
; 86 : ByteToBit(K, Key, 64);
00051 41 b9 40 00 00
00 mov r9d, 64 ; 00000040H
00057 4c 8b 85 c0 00
00 00 mov r8, QWORD PTR Key$[rbp]
0005e 48 8d 55 00 lea rdx, QWORD PTR K$[rbp]
00062 48 8b 8d b0 00
00 00 mov rcx, QWORD PTR this$[rbp]
00069 e8 00 00 00 00 call ?ByteToBit@CDes@@IEAAXPEA_NPEBDH@Z ; CDes::ByteToBit
; 87 : Transform(K, K, PC1_Table, 56);
0006e 48 8b 85 b0 00
00 00 mov rax, QWORD PTR this$[rbp]
00075 48 05 d8 00 00
00 add rax, 216 ; 000000d8H
0007b c7 44 24 20 38
00 00 00 mov DWORD PTR [rsp+32], 56 ; 00000038H
00083 4c 8b c8 mov r9, rax
00086 4c 8d 45 00 lea r8, QWORD PTR K$[rbp]
0008a 48 8d 55 00 lea rdx, QWORD PTR K$[rbp]
0008e 48 8b 8d b0 00
00 00 mov rcx, QWORD PTR this$[rbp]
00095 e8 00 00 00 00 call ?Transform@CDes@@IEAAXPEA_N0PEBDH@Z ; CDes::Transform
; 88 : for(int i=0; i<16; ++i) {
0009a c7 45 50 00 00
00 00 mov DWORD PTR i$1[rbp], 0
000a1 eb 08 jmp SHORT $LN4@SetSubKey
$LN2@SetSubKey:
000a3 8b 45 50 mov eax, DWORD PTR i$1[rbp]
000a6 ff c0 inc eax
000a8 89 45 50 mov DWORD PTR i$1[rbp], eax
$LN4@SetSubKey:
000ab 83 7d 50 10 cmp DWORD PTR i$1[rbp], 16
000af 0f 8d 9d 00 00
00 jge $LN3@SetSubKey
; 89 : RotateL(KL, 28, LOOP_Table[i]);
000b5 48 63 45 50 movsxd rax, DWORD PTR i$1[rbp]
000b9 48 8b 8d b0 00
00 00 mov rcx, QWORD PTR this$[rbp]
000c0 0f be 84 01 40
01 00 00 movsx eax, BYTE PTR [rcx+rax+320]
000c8 44 8b c8 mov r9d, eax
000cb 41 b8 1c 00 00
00 mov r8d, 28
000d1 48 8b 55 40 mov rdx, QWORD PTR KL$[rbp]
000d5 48 8b 8d b0 00
00 00 mov rcx, QWORD PTR this$[rbp]
000dc e8 00 00 00 00 call ?RotateL@CDes@@IEAAXPEA_NHH@Z ; CDes::RotateL
; 90 : RotateL(KR, 28, LOOP_Table[i]);
000e1 48 63 45 50 movsxd rax, DWORD PTR i$1[rbp]
000e5 48 8b 8d b0 00
00 00 mov rcx, QWORD PTR this$[rbp]
000ec 0f be 84 01 40
01 00 00 movsx eax, BYTE PTR [rcx+rax+320]
000f4 44 8b c8 mov r9d, eax
000f7 41 b8 1c 00 00
00 mov r8d, 28
000fd 48 8b 55 48 mov rdx, QWORD PTR KR$[rbp]
00101 48 8b 8d b0 00
00 00 mov rcx, QWORD PTR this$[rbp]
00108 e8 00 00 00 00 call ?RotateL@CDes@@IEAAXPEA_NHH@Z ; CDes::RotateL
; 91 : Transform((*pSubKey)[i], K, PC2_Table, 48);
0010d 48 8b 85 b0 00
00 00 mov rax, QWORD PTR this$[rbp]
00114 48 05 10 01 00
00 add rax, 272 ; 00000110H
0011a 48 63 4d 50 movsxd rcx, DWORD PTR i$1[rbp]
0011e 48 6b c9 30 imul rcx, rcx, 48 ; 00000030H
00122 48 8b 95 b8 00
00 00 mov rdx, QWORD PTR pSubKey$[rbp]
00129 48 03 d1 add rdx, rcx
0012c 48 8b ca mov rcx, rdx
0012f c7 44 24 20 30
00 00 00 mov DWORD PTR [rsp+32], 48 ; 00000030H
00137 4c 8b c8 mov r9, rax
0013a 4c 8d 45 00 lea r8, QWORD PTR K$[rbp]
0013e 48 8b d1 mov rdx, rcx
00141 48 8b 8d b0 00
00 00 mov rcx, QWORD PTR this$[rbp]
00148 e8 00 00 00 00 call ?Transform@CDes@@IEAAXPEA_N0PEBDH@Z ; CDes::Transform
; 92 : }
0014d e9 51 ff ff ff jmp $LN2@SetSubKey
$LN3@SetSubKey:
; 93 : }
00152 48 8b 8d 98 00
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
00159 48 33 cd xor rcx, rbp
0015c e8 00 00 00 00 call __security_check_cookie
00161 48 8d a5 a0 00
00 00 lea rsp, QWORD PTR [rbp+160]
00168 5d pop rbp
00169 c3 ret 0
?SetSubKey@CDes@@IEAAXPEAY1BA@DA@_NQEBD@Z ENDP ; CDes::SetSubKey
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?SetKey@CDes@@IEAAXPEBDH@Z
_TEXT SEGMENT
tv95 = 64
tv70 = 64
this$ = 96
Key$ = 104
len$ = 112
?SetKey@CDes@@IEAAXPEBDH@Z PROC ; CDes::SetKey, COMDAT
; 54 : {
$LN7:
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 83 ec 70 sub rsp, 112 ; 00000070H
00014 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
; 55 : memset(deskey, 0, 16);
00019 48 8b 45 60 mov rax, QWORD PTR this$[rbp]
0001d 48 05 51 0a 00
00 add rax, 2641 ; 00000a51H
00023 41 b8 10 00 00
00 mov r8d, 16
00029 33 d2 xor edx, edx
0002b 48 8b c8 mov rcx, rax
0002e e8 00 00 00 00 call memset
; 56 : memcpy(deskey, Key, len>16?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<><31>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<j; ++i,Out+=8,In+=8)
00088 c7 45 00 00 00
00 00 mov DWORD PTR i$1[rbp], 0
0008f 8b 85 88 00 00
00 mov eax, DWORD PTR datalen$[rbp]
00095 c1 f8 03 sar eax, 3
00098 89 45 04 mov DWORD PTR j$2[rbp], eax
0009b eb 26 jmp SHORT $LN4@Des_Go
$LN2@Des_Go:
0009d 8b 45 00 mov eax, DWORD PTR i$1[rbp]
000a0 ff c0 inc eax
000a2 89 45 00 mov DWORD PTR i$1[rbp], eax
000a5 48 8b 45 78 mov rax, QWORD PTR Out$[rbp]
000a9 48 83 c0 08 add rax, 8
000ad 48 89 45 78 mov QWORD PTR Out$[rbp], rax
000b1 48 8b 85 80 00
00 00 mov rax, QWORD PTR In$[rbp]
000b8 48 83 c0 08 add rax, 8
000bc 48 89 85 80 00
00 00 mov QWORD PTR In$[rbp], rax
$LN4@Des_Go:
000c3 8b 45 04 mov eax, DWORD PTR j$2[rbp]
000c6 39 45 00 cmp DWORD PTR i$1[rbp], eax
000c9 7d 39 jge SHORT $LN3@Des_Go
; 43 : DES(Out, In, &SubKey[0], Type);
000cb b8 00 03 00 00 mov eax, 768 ; 00000300H
000d0 48 6b c0 00 imul rax, rax, 0
000d4 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp]
000d8 48 8d 84 01 50
03 00 00 lea rax, QWORD PTR [rcx+rax+848]
000e0 0f b6 8d a0 00
00 00 movzx ecx, BYTE PTR Type$[rbp]
000e7 88 4c 24 20 mov BYTE PTR [rsp+32], cl
000eb 4c 8b c8 mov r9, rax
000ee 4c 8b 85 80 00
00 00 mov r8, QWORD PTR In$[rbp]
000f5 48 8b 55 78 mov rdx, QWORD PTR Out$[rbp]
000f9 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp]
000fd e8 00 00 00 00 call ?DES@CDes@@IEAAXQEAD0QEAY1BA@DA@_N_N@Z ; CDes::DES
00102 eb 99 jmp SHORT $LN2@Des_Go
$LN3@Des_Go:
; 44 : } else{ // 3<><33>DES <20><><EFBFBD><EFBFBD>:<3A><>(key0)-<2D><>(key1)-<2D><>(key0) <20><><EFBFBD><EFBFBD>::<3A><>(key0)-<2D><>(key1)-<2D><>(key0)
00104 e9 fd 00 00 00 jmp $LN11@Des_Go
$LN10@Des_Go:
; 45 : for(long i=0,j=datalen>>3; i<j; ++i,Out+=8,In+=8) {
00109 c7 45 08 00 00
00 00 mov DWORD PTR i$3[rbp], 0
00110 8b 85 88 00 00
00 mov eax, DWORD PTR datalen$[rbp]
00116 c1 f8 03 sar eax, 3
00119 89 45 0c mov DWORD PTR j$4[rbp], eax
0011c eb 26 jmp SHORT $LN7@Des_Go
$LN5@Des_Go:
0011e 8b 45 08 mov eax, DWORD PTR i$3[rbp]
00121 ff c0 inc eax
00123 89 45 08 mov DWORD PTR i$3[rbp], eax
00126 48 8b 45 78 mov rax, QWORD PTR Out$[rbp]
0012a 48 83 c0 08 add rax, 8
0012e 48 89 45 78 mov QWORD PTR Out$[rbp], rax
00132 48 8b 85 80 00
00 00 mov rax, QWORD PTR In$[rbp]
00139 48 83 c0 08 add rax, 8
0013d 48 89 85 80 00
00 00 mov QWORD PTR In$[rbp], rax
$LN7@Des_Go:
00144 8b 45 0c mov eax, DWORD PTR j$4[rbp]
00147 39 45 08 cmp DWORD PTR i$3[rbp], eax
0014a 0f 8d b6 00 00
00 jge $LN6@Des_Go
; 46 : DES(Out, In, &SubKey[0], Type);
00150 b8 00 03 00 00 mov eax, 768 ; 00000300H
00155 48 6b c0 00 imul rax, rax, 0
00159 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp]
0015d 48 8d 84 01 50
03 00 00 lea rax, QWORD PTR [rcx+rax+848]
00165 0f b6 8d a0 00
00 00 movzx ecx, BYTE PTR Type$[rbp]
0016c 88 4c 24 20 mov BYTE PTR [rsp+32], cl
00170 4c 8b c8 mov r9, rax
00173 4c 8b 85 80 00
00 00 mov r8, QWORD PTR In$[rbp]
0017a 48 8b 55 78 mov rdx, QWORD PTR Out$[rbp]
0017e 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp]
00182 e8 00 00 00 00 call ?DES@CDes@@IEAAXQEAD0QEAY1BA@DA@_N_N@Z ; CDes::DES
; 47 : DES(Out, Out, &SubKey[1], !Type);
00187 0f b6 85 a0 00
00 00 movzx eax, BYTE PTR Type$[rbp]
0018e 85 c0 test eax, eax
00190 75 06 jne SHORT $LN13@Des_Go
00192 c6 45 50 01 mov BYTE PTR tv137[rbp], 1
00196 eb 04 jmp SHORT $LN14@Des_Go
$LN13@Des_Go:
00198 c6 45 50 00 mov BYTE PTR tv137[rbp], 0
$LN14@Des_Go:
0019c b8 00 03 00 00 mov eax, 768 ; 00000300H
001a1 48 6b c0 01 imul rax, rax, 1
001a5 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp]
001a9 48 8d 84 01 50
03 00 00 lea rax, QWORD PTR [rcx+rax+848]
001b1 0f b6 4d 50 movzx ecx, BYTE PTR tv137[rbp]
001b5 88 4c 24 20 mov BYTE PTR [rsp+32], cl
001b9 4c 8b c8 mov r9, rax
001bc 4c 8b 45 78 mov r8, QWORD PTR Out$[rbp]
001c0 48 8b 55 78 mov rdx, QWORD PTR Out$[rbp]
001c4 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp]
001c8 e8 00 00 00 00 call ?DES@CDes@@IEAAXQEAD0QEAY1BA@DA@_N_N@Z ; CDes::DES
; 48 : DES(Out, Out, &SubKey[0], Type);
001cd b8 00 03 00 00 mov eax, 768 ; 00000300H
001d2 48 6b c0 00 imul rax, rax, 0
001d6 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp]
001da 48 8d 84 01 50
03 00 00 lea rax, QWORD PTR [rcx+rax+848]
001e2 0f b6 8d a0 00
00 00 movzx ecx, BYTE PTR Type$[rbp]
001e9 88 4c 24 20 mov BYTE PTR [rsp+32], cl
001ed 4c 8b c8 mov r9, rax
001f0 4c 8b 45 78 mov r8, QWORD PTR Out$[rbp]
001f4 48 8b 55 78 mov rdx, QWORD PTR Out$[rbp]
001f8 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp]
001fc e8 00 00 00 00 call ?DES@CDes@@IEAAXQEAD0QEAY1BA@DA@_N_N@Z ; CDes::DES
; 49 : }
00201 e9 18 ff ff ff jmp $LN5@Des_Go
$LN6@Des_Go:
$LN11@Des_Go:
; 50 : }
; 51 : return true;
00206 b0 01 mov al, 1
$LN1@Des_Go:
; 52 : }
00208 48 8d 65 60 lea rsp, QWORD PTR [rbp+96]
0020c 5d pop rbp
0020d c3 ret 0
?Des_Go@CDes@@IEAA_NPEAD0JPEBDH_N@Z ENDP ; CDes::Des_Go
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?HexToAscii@CDes@@IEAAXPEAD0@Z
_TEXT SEGMENT
Buf$ = 0
pDes$ = 8
pOrg$ = 16
lLen$ = 24
lTemp$ = 28
i$1 = 32
$T2 = 104
tv84 = 112
this$ = 144
pszOrgRandom$ = 152
pszDesRandom$ = 160
?HexToAscii@CDes@@IEAAXPEAD0@Z PROC ; CDes::HexToAscii, COMDAT
; 222 : {
$LN8:
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 81 ec a0 00
00 00 sub rsp, 160 ; 000000a0H
00017 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
; 223 : char Buf[4];
; 224 : char *pDes = (char *)pszDesRandom;
0001c 48 8b 85 a0 00
00 00 mov rax, QWORD PTR pszDesRandom$[rbp]
00023 48 89 45 08 mov QWORD PTR pDes$[rbp], rax
; 225 : char *pOrg = (char *)pszOrgRandom;
00027 48 8b 85 98 00
00 00 mov rax, QWORD PTR pszOrgRandom$[rbp]
0002e 48 89 45 10 mov QWORD PTR pOrg$[rbp], rax
; 226 : long lLen = (long)strlen( pOrg);
00032 48 8b 4d 10 mov rcx, QWORD PTR pOrg$[rbp]
00036 e8 00 00 00 00 call strlen
0003b 89 45 18 mov DWORD PTR lLen$[rbp], eax
; 227 : long lTemp;
; 228 : for( int i = 0; i < lLen/2; ++i )
0003e c7 45 20 00 00
00 00 mov DWORD PTR i$1[rbp], 0
00045 eb 08 jmp SHORT $LN4@HexToAscii
$LN2@HexToAscii:
00047 8b 45 20 mov eax, DWORD PTR i$1[rbp]
0004a ff c0 inc eax
0004c 89 45 20 mov DWORD PTR i$1[rbp], eax
$LN4@HexToAscii:
0004f 8b 45 18 mov eax, DWORD PTR lLen$[rbp]
00052 99 cdq
00053 2b c2 sub eax, edx
00055 d1 f8 sar eax, 1
00057 39 45 20 cmp DWORD PTR i$1[rbp], eax
0005a 0f 8d 9f 00 00
00 jge $LN3@HexToAscii
; 229 : {
; 230 : memcpy( Buf , pOrg+i*2 , 2 );
00060 8b 45 20 mov eax, DWORD PTR i$1[rbp]
00063 d1 e0 shl eax, 1
00065 48 98 cdqe
00067 48 8b 4d 10 mov rcx, QWORD PTR pOrg$[rbp]
0006b 48 03 c8 add rcx, rax
0006e 48 8b c1 mov rax, rcx
00071 41 b8 02 00 00
00 mov r8d, 2
00077 48 8b d0 mov rdx, rax
0007a 48 8d 4d 00 lea rcx, QWORD PTR Buf$[rbp]
0007e e8 00 00 00 00 call memcpy
; 231 : Buf[2] = 0;
00083 b8 01 00 00 00 mov eax, 1
00088 48 6b c0 02 imul rax, rax, 2
0008c 48 89 45 68 mov QWORD PTR $T2[rbp], rax
00090 48 83 7d 68 04 cmp QWORD PTR $T2[rbp], 4
00095 73 02 jae SHORT $LN6@HexToAscii
00097 eb 05 jmp SHORT $LN7@HexToAscii
$LN6@HexToAscii:
00099 e8 00 00 00 00 call __report_rangecheckfailure
$LN7@HexToAscii:
0009e 48 8b 45 68 mov rax, QWORD PTR $T2[rbp]
000a2 c6 44 05 00 00 mov BYTE PTR Buf$[rbp+rax], 0
; 232 : lTemp = CharHex(Buf[0])*16 + CharHex(Buf[1]);
000a7 b8 01 00 00 00 mov eax, 1
000ac 48 6b c0 00 imul rax, rax, 0
000b0 0f b6 54 05 00 movzx edx, BYTE PTR Buf$[rbp+rax]
000b5 48 8b 8d 90 00
00 00 mov rcx, QWORD PTR this$[rbp]
000bc e8 00 00 00 00 call ?CharHex@CDes@@IEAAJD@Z ; CDes::CharHex
000c1 6b c0 10 imul eax, eax, 16
000c4 89 45 70 mov DWORD PTR tv84[rbp], eax
000c7 b9 01 00 00 00 mov ecx, 1
000cc 48 6b c9 01 imul rcx, rcx, 1
000d0 0f b6 54 0d 00 movzx edx, BYTE PTR Buf$[rbp+rcx]
000d5 48 8b 8d 90 00
00 00 mov rcx, QWORD PTR this$[rbp]
000dc e8 00 00 00 00 call ?CharHex@CDes@@IEAAJD@Z ; CDes::CharHex
000e1 8b 4d 70 mov ecx, DWORD PTR tv84[rbp]
000e4 03 c8 add ecx, eax
000e6 8b c1 mov eax, ecx
000e8 89 45 1c mov DWORD PTR lTemp$[rbp], eax
; 233 : pDes[i] = (char)lTemp;
000eb 48 63 45 20 movsxd rax, DWORD PTR i$1[rbp]
000ef 48 8b 4d 08 mov rcx, QWORD PTR pDes$[rbp]
000f3 0f b6 55 1c movzx edx, BYTE PTR lTemp$[rbp]
000f7 88 14 01 mov BYTE PTR [rcx+rax], dl
; 234 : }
000fa e9 48 ff ff ff jmp $LN2@HexToAscii
$LN3@HexToAscii:
; 235 : pDes[i] = 0;
000ff 48 63 45 20 movsxd rax, DWORD PTR i$1[rbp]
00103 48 8b 4d 08 mov rcx, QWORD PTR pDes$[rbp]
00107 c6 04 01 00 mov BYTE PTR [rcx+rax], 0
$LN5@HexToAscii:
; 236 : }
0010b 48 8d a5 80 00
00 00 lea rsp, QWORD PTR [rbp+128]
00112 5d pop rbp
00113 c3 ret 0
?HexToAscii@CDes@@IEAAXPEAD0@Z ENDP ; CDes::HexToAscii
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?CharHex@CDes@@IEAAJD@Z
_TEXT SEGMENT
this$ = 80
ch$ = 88
?CharHex@CDes@@IEAAJD@Z PROC ; CDes::CharHex, COMDAT
; 239 : {
$LN25:
00000 88 54 24 10 mov BYTE PTR [rsp+16], dl
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
; 240 : if( ch == '0') return( 0 );
00011 0f be 45 58 movsx eax, BYTE PTR ch$[rbp]
00015 83 f8 30 cmp eax, 48 ; 00000030H
00018 75 07 jne SHORT $LN2@CharHex
0001a 33 c0 xor eax, eax
0001c e9 43 01 00 00 jmp $LN1@CharHex
$LN2@CharHex:
; 241 : if( ch == '1') return( 1 );
00021 0f be 45 58 movsx eax, BYTE PTR ch$[rbp]
00025 83 f8 31 cmp eax, 49 ; 00000031H
00028 75 0a jne SHORT $LN3@CharHex
0002a b8 01 00 00 00 mov eax, 1
0002f e9 30 01 00 00 jmp $LN1@CharHex
$LN3@CharHex:
; 242 : if( ch == '2') return( 2 );
00034 0f be 45 58 movsx eax, BYTE PTR ch$[rbp]
00038 83 f8 32 cmp eax, 50 ; 00000032H
0003b 75 0a jne SHORT $LN4@CharHex
0003d b8 02 00 00 00 mov eax, 2
00042 e9 1d 01 00 00 jmp $LN1@CharHex
$LN4@CharHex:
; 243 : if( ch == '3') return( 3 );
00047 0f be 45 58 movsx eax, BYTE PTR ch$[rbp]
0004b 83 f8 33 cmp eax, 51 ; 00000033H
0004e 75 0a jne SHORT $LN5@CharHex
00050 b8 03 00 00 00 mov eax, 3
00055 e9 0a 01 00 00 jmp $LN1@CharHex
$LN5@CharHex:
; 244 : if( ch == '4') return( 4 );
0005a 0f be 45 58 movsx eax, BYTE PTR ch$[rbp]
0005e 83 f8 34 cmp eax, 52 ; 00000034H
00061 75 0a jne SHORT $LN6@CharHex
00063 b8 04 00 00 00 mov eax, 4
00068 e9 f7 00 00 00 jmp $LN1@CharHex
$LN6@CharHex:
; 245 : if( ch == '5') return( 5 );
0006d 0f be 45 58 movsx eax, BYTE PTR ch$[rbp]
00071 83 f8 35 cmp eax, 53 ; 00000035H
00074 75 0a jne SHORT $LN7@CharHex
00076 b8 05 00 00 00 mov eax, 5
0007b e9 e4 00 00 00 jmp $LN1@CharHex
$LN7@CharHex:
; 246 : if( ch == '6') return( 6 );
00080 0f be 45 58 movsx eax, BYTE PTR ch$[rbp]
00084 83 f8 36 cmp eax, 54 ; 00000036H
00087 75 0a jne SHORT $LN8@CharHex
00089 b8 06 00 00 00 mov eax, 6
0008e e9 d1 00 00 00 jmp $LN1@CharHex
$LN8@CharHex:
; 247 : if( ch == '7') return( 7 );
00093 0f be 45 58 movsx eax, BYTE PTR ch$[rbp]
00097 83 f8 37 cmp eax, 55 ; 00000037H
0009a 75 0a jne SHORT $LN9@CharHex
0009c b8 07 00 00 00 mov eax, 7
000a1 e9 be 00 00 00 jmp $LN1@CharHex
$LN9@CharHex:
; 248 : if( ch == '8') return( 8 );
000a6 0f be 45 58 movsx eax, BYTE PTR ch$[rbp]
000aa 83 f8 38 cmp eax, 56 ; 00000038H
000ad 75 0a jne SHORT $LN10@CharHex
000af b8 08 00 00 00 mov eax, 8
000b4 e9 ab 00 00 00 jmp $LN1@CharHex
$LN10@CharHex:
; 249 : if( ch == '9') return( 9 );
000b9 0f be 45 58 movsx eax, BYTE PTR ch$[rbp]
000bd 83 f8 39 cmp eax, 57 ; 00000039H
000c0 75 0a jne SHORT $LN11@CharHex
000c2 b8 09 00 00 00 mov eax, 9
000c7 e9 98 00 00 00 jmp $LN1@CharHex
$LN11@CharHex:
; 250 : if( ch == 'a' || ch == 'A' ) return( 10 );
000cc 0f be 45 58 movsx eax, BYTE PTR ch$[rbp]
000d0 83 f8 61 cmp eax, 97 ; 00000061H
000d3 74 09 je SHORT $LN13@CharHex
000d5 0f be 45 58 movsx eax, BYTE PTR ch$[rbp]
000d9 83 f8 41 cmp eax, 65 ; 00000041H
000dc 75 07 jne SHORT $LN12@CharHex
$LN13@CharHex:
000de b8 0a 00 00 00 mov eax, 10
000e3 eb 7f jmp SHORT $LN1@CharHex
$LN12@CharHex:
; 251 : if( ch == 'b' || ch == 'B' ) return( 11 );
000e5 0f be 45 58 movsx eax, BYTE PTR ch$[rbp]
000e9 83 f8 62 cmp eax, 98 ; 00000062H
000ec 74 09 je SHORT $LN15@CharHex
000ee 0f be 45 58 movsx eax, BYTE PTR ch$[rbp]
000f2 83 f8 42 cmp eax, 66 ; 00000042H
000f5 75 07 jne SHORT $LN14@CharHex
$LN15@CharHex:
000f7 b8 0b 00 00 00 mov eax, 11
000fc eb 66 jmp SHORT $LN1@CharHex
$LN14@CharHex:
; 252 : if( ch == 'c' || ch == 'C' ) return( 12 );
000fe 0f be 45 58 movsx eax, BYTE PTR ch$[rbp]
00102 83 f8 63 cmp eax, 99 ; 00000063H
00105 74 09 je SHORT $LN17@CharHex
00107 0f be 45 58 movsx eax, BYTE PTR ch$[rbp]
0010b 83 f8 43 cmp eax, 67 ; 00000043H
0010e 75 07 jne SHORT $LN16@CharHex
$LN17@CharHex:
00110 b8 0c 00 00 00 mov eax, 12
00115 eb 4d jmp SHORT $LN1@CharHex
$LN16@CharHex:
; 253 : if( ch == 'd' || ch == 'D' ) return( 13 );
00117 0f be 45 58 movsx eax, BYTE PTR ch$[rbp]
0011b 83 f8 64 cmp eax, 100 ; 00000064H
0011e 74 09 je SHORT $LN19@CharHex
00120 0f be 45 58 movsx eax, BYTE PTR ch$[rbp]
00124 83 f8 44 cmp eax, 68 ; 00000044H
00127 75 07 jne SHORT $LN18@CharHex
$LN19@CharHex:
00129 b8 0d 00 00 00 mov eax, 13
0012e eb 34 jmp SHORT $LN1@CharHex
$LN18@CharHex:
; 254 : if( ch == 'e' || ch == 'E' ) return( 14 );
00130 0f be 45 58 movsx eax, BYTE PTR ch$[rbp]
00134 83 f8 65 cmp eax, 101 ; 00000065H
00137 74 09 je SHORT $LN21@CharHex
00139 0f be 45 58 movsx eax, BYTE PTR ch$[rbp]
0013d 83 f8 45 cmp eax, 69 ; 00000045H
00140 75 07 jne SHORT $LN20@CharHex
$LN21@CharHex:
00142 b8 0e 00 00 00 mov eax, 14
00147 eb 1b jmp SHORT $LN1@CharHex
$LN20@CharHex:
; 255 : if( ch == 'f' || ch == 'F' ) return( 15 );
00149 0f be 45 58 movsx eax, BYTE PTR ch$[rbp]
0014d 83 f8 66 cmp eax, 102 ; 00000066H
00150 74 09 je SHORT $LN23@CharHex
00152 0f be 45 58 movsx eax, BYTE PTR ch$[rbp]
00156 83 f8 46 cmp eax, 70 ; 00000046H
00159 75 07 jne SHORT $LN22@CharHex
$LN23@CharHex:
0015b b8 0f 00 00 00 mov eax, 15
00160 eb 02 jmp SHORT $LN1@CharHex
$LN22@CharHex:
; 256 : return( 0 );
00162 33 c0 xor eax, eax
$LN1@CharHex:
; 257 : }
00164 48 8d 65 40 lea rsp, QWORD PTR [rbp+64]
00168 5d pop rbp
00169 c3 ret 0
?CharHex@CDes@@IEAAJD@Z ENDP ; CDes::CharHex
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?AsciiToHex@CDes@@IEAAXPEAD0J@Z
_TEXT SEGMENT
p$ = 0
i$1 = 8
this$ = 96
pszOrgRandom$ = 104
pszDesRandom$ = 112
lLen$ = 120
?AsciiToHex@CDes@@IEAAXPEAD0J@Z PROC ; CDes::AsciiToHex, COMDAT
; 210 : {
$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]
; 211 : char *p = (char *)pszDesRandom;
0001e 48 8b 45 70 mov rax, QWORD PTR pszDesRandom$[rbp]
00022 48 89 45 00 mov QWORD PTR p$[rbp], rax
; 212 : //long lLen = lstrlen( (char*)pszOrgRandom);
; 213 : for( long i = 0; i < lLen; ++i )
00026 c7 45 08 00 00
00 00 mov DWORD PTR i$1[rbp], 0
0002d eb 08 jmp SHORT $LN4@AsciiToHex
$LN2@AsciiToHex:
0002f 8b 45 08 mov eax, DWORD PTR i$1[rbp]
00032 ff c0 inc eax
00034 89 45 08 mov DWORD PTR i$1[rbp], eax
$LN4@AsciiToHex:
00037 8b 45 78 mov eax, DWORD PTR lLen$[rbp]
0003a 39 45 08 cmp DWORD PTR i$1[rbp], eax
0003d 7d 2d jge SHORT $LN3@AsciiToHex
; 214 : {
; 215 : sprintf(p, "%02X", (BYTE)pszOrgRandom[i] );
0003f 48 63 45 08 movsxd rax, DWORD PTR i$1[rbp]
00043 48 8b 4d 68 mov rcx, QWORD PTR pszOrgRandom$[rbp]
00047 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax]
0004b 44 8b c0 mov r8d, eax
0004e 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:??_C@_04JFFKLGJF@?$CF02X@
00055 48 8b 4d 00 mov rcx, QWORD PTR p$[rbp]
00059 e8 00 00 00 00 call sprintf
; 216 : p += 2;
0005e 48 8b 45 00 mov rax, QWORD PTR p$[rbp]
00062 48 83 c0 02 add rax, 2
00066 48 89 45 00 mov QWORD PTR p$[rbp], rax
; 217 : }
0006a eb c3 jmp SHORT $LN2@AsciiToHex
$LN3@AsciiToHex:
; 218 : *p=0;
0006c 48 8b 45 00 mov rax, QWORD PTR p$[rbp]
00070 c6 00 00 mov BYTE PTR [rax], 0
; 219 : }
00073 48 8d 65 50 lea rsp, QWORD PTR [rbp+80]
00077 5d pop rbp
00078 c3 ret 0
?AsciiToHex@CDes@@IEAAXPEAD0J@Z ENDP ; CDes::AsciiToHex
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ??1CDes@@UEAA@XZ
_TEXT SEGMENT
this$ = 80
??1CDes@@UEAA@XZ PROC ; CDes::~CDes, COMDAT
; 27 : {
$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 8b 45 50 mov rax, QWORD PTR this$[rbp]
00011 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_7CDes@@6B@
00018 48 89 08 mov QWORD PTR [rax], rcx
; 28 :
; 29 : }
0001b 48 8d 65 40 lea rsp, QWORD PTR [rbp+64]
0001f 5d pop rbp
00020 c3 ret 0
??1CDes@@UEAA@XZ ENDP ; CDes::~CDes
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; File D:\Works\Corpsms_2010\public\des\des.h
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ??0CDes@@QEAA@XZ
_TEXT SEGMENT
this$ = 80
??0CDes@@QEAA@XZ PROC ; CDes::CDes, COMDAT
; 22 : {
$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 8b 45 50 mov rax, QWORD PTR this$[rbp]
00011 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_7CDes@@6B@
00018 48 89 08 mov QWORD PTR [rax], rcx
; File D:\Works\Corpsms_2010\public\des\des.h
; 40 : const char IP_Table[64] = {
0001b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0001f c6 40 08 3a mov BYTE PTR [rax+8], 58 ; 0000003aH
00023 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00027 c6 40 09 32 mov BYTE PTR [rax+9], 50 ; 00000032H
0002b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0002f c6 40 0a 2a mov BYTE PTR [rax+10], 42 ; 0000002aH
00033 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00037 c6 40 0b 22 mov BYTE PTR [rax+11], 34 ; 00000022H
0003b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0003f c6 40 0c 1a mov BYTE PTR [rax+12], 26
00043 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00047 c6 40 0d 12 mov BYTE PTR [rax+13], 18
0004b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0004f c6 40 0e 0a mov BYTE PTR [rax+14], 10
00053 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00057 c6 40 0f 02 mov BYTE PTR [rax+15], 2
0005b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0005f c6 40 10 3c mov BYTE PTR [rax+16], 60 ; 0000003cH
00063 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00067 c6 40 11 34 mov BYTE PTR [rax+17], 52 ; 00000034H
0006b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0006f c6 40 12 2c mov BYTE PTR [rax+18], 44 ; 0000002cH
00073 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00077 c6 40 13 24 mov BYTE PTR [rax+19], 36 ; 00000024H
0007b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0007f c6 40 14 1c mov BYTE PTR [rax+20], 28
00083 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00087 c6 40 15 14 mov BYTE PTR [rax+21], 20
0008b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0008f c6 40 16 0c mov BYTE PTR [rax+22], 12
00093 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00097 c6 40 17 04 mov BYTE PTR [rax+23], 4
0009b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0009f c6 40 18 3e mov BYTE PTR [rax+24], 62 ; 0000003eH
000a3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
000a7 c6 40 19 36 mov BYTE PTR [rax+25], 54 ; 00000036H
000ab 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
000af c6 40 1a 2e mov BYTE PTR [rax+26], 46 ; 0000002eH
000b3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
000b7 c6 40 1b 26 mov BYTE PTR [rax+27], 38 ; 00000026H
000bb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
000bf c6 40 1c 1e mov BYTE PTR [rax+28], 30
000c3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
000c7 c6 40 1d 16 mov BYTE PTR [rax+29], 22
000cb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
000cf c6 40 1e 0e mov BYTE PTR [rax+30], 14
000d3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
000d7 c6 40 1f 06 mov BYTE PTR [rax+31], 6
000db 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
000df c6 40 20 40 mov BYTE PTR [rax+32], 64 ; 00000040H
000e3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
000e7 c6 40 21 38 mov BYTE PTR [rax+33], 56 ; 00000038H
000eb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
000ef c6 40 22 30 mov BYTE PTR [rax+34], 48 ; 00000030H
000f3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
000f7 c6 40 23 28 mov BYTE PTR [rax+35], 40 ; 00000028H
000fb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
000ff c6 40 24 20 mov BYTE PTR [rax+36], 32 ; 00000020H
00103 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00107 c6 40 25 18 mov BYTE PTR [rax+37], 24
0010b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0010f c6 40 26 10 mov BYTE PTR [rax+38], 16
00113 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00117 c6 40 27 08 mov BYTE PTR [rax+39], 8
0011b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0011f c6 40 28 39 mov BYTE PTR [rax+40], 57 ; 00000039H
00123 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00127 c6 40 29 31 mov BYTE PTR [rax+41], 49 ; 00000031H
0012b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0012f c6 40 2a 29 mov BYTE PTR [rax+42], 41 ; 00000029H
00133 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00137 c6 40 2b 21 mov BYTE PTR [rax+43], 33 ; 00000021H
0013b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0013f c6 40 2c 19 mov BYTE PTR [rax+44], 25
00143 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00147 c6 40 2d 11 mov BYTE PTR [rax+45], 17
0014b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0014f c6 40 2e 09 mov BYTE PTR [rax+46], 9
00153 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00157 c6 40 2f 01 mov BYTE PTR [rax+47], 1
0015b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0015f c6 40 30 3b mov BYTE PTR [rax+48], 59 ; 0000003bH
00163 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00167 c6 40 31 33 mov BYTE PTR [rax+49], 51 ; 00000033H
0016b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0016f c6 40 32 2b mov BYTE PTR [rax+50], 43 ; 0000002bH
00173 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00177 c6 40 33 23 mov BYTE PTR [rax+51], 35 ; 00000023H
0017b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0017f c6 40 34 1b mov BYTE PTR [rax+52], 27
00183 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00187 c6 40 35 13 mov BYTE PTR [rax+53], 19
0018b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0018f c6 40 36 0b mov BYTE PTR [rax+54], 11
00193 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00197 c6 40 37 03 mov BYTE PTR [rax+55], 3
0019b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0019f c6 40 38 3d mov BYTE PTR [rax+56], 61 ; 0000003dH
001a3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
001a7 c6 40 39 35 mov BYTE PTR [rax+57], 53 ; 00000035H
001ab 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
001af c6 40 3a 2d mov BYTE PTR [rax+58], 45 ; 0000002dH
001b3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
001b7 c6 40 3b 25 mov BYTE PTR [rax+59], 37 ; 00000025H
001bb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
001bf c6 40 3c 1d mov BYTE PTR [rax+60], 29
001c3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
001c7 c6 40 3d 15 mov BYTE PTR [rax+61], 21
001cb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
001cf c6 40 3e 0d mov BYTE PTR [rax+62], 13
001d3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
001d7 c6 40 3f 05 mov BYTE PTR [rax+63], 5
001db 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
001df c6 40 40 3f mov BYTE PTR [rax+64], 63 ; 0000003fH
001e3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
001e7 c6 40 41 37 mov BYTE PTR [rax+65], 55 ; 00000037H
001eb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
001ef c6 40 42 2f mov BYTE PTR [rax+66], 47 ; 0000002fH
001f3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
001f7 c6 40 43 27 mov BYTE PTR [rax+67], 39 ; 00000027H
001fb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
001ff c6 40 44 1f mov BYTE PTR [rax+68], 31
00203 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00207 c6 40 45 17 mov BYTE PTR [rax+69], 23
0020b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0020f c6 40 46 0f mov BYTE PTR [rax+70], 15
00213 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00217 c6 40 47 07 mov BYTE PTR [rax+71], 7
; 41 : 58, 50, 42, 34, 26, 18, 10, 2, 60, 52, 44, 36, 28, 20, 12, 4,
; 42 : 62, 54, 46, 38, 30, 22, 14, 6, 64, 56, 48, 40, 32, 24, 16, 8,
; 43 : 57, 49, 41, 33, 25, 17, 9, 1, 59, 51, 43, 35, 27, 19, 11, 3,
; 44 : 61, 53, 45, 37, 29, 21, 13, 5, 63, 55, 47, 39, 31, 23, 15, 7
; 45 : };
; 46 : // final permutation IP^-1
; 47 : const char IPR_Table[64] = {
0021b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0021f c6 40 48 28 mov BYTE PTR [rax+72], 40 ; 00000028H
00223 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00227 c6 40 49 08 mov BYTE PTR [rax+73], 8
0022b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0022f c6 40 4a 30 mov BYTE PTR [rax+74], 48 ; 00000030H
00233 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00237 c6 40 4b 10 mov BYTE PTR [rax+75], 16
0023b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0023f c6 40 4c 38 mov BYTE PTR [rax+76], 56 ; 00000038H
00243 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00247 c6 40 4d 18 mov BYTE PTR [rax+77], 24
0024b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0024f c6 40 4e 40 mov BYTE PTR [rax+78], 64 ; 00000040H
00253 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00257 c6 40 4f 20 mov BYTE PTR [rax+79], 32 ; 00000020H
0025b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0025f c6 40 50 27 mov BYTE PTR [rax+80], 39 ; 00000027H
00263 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00267 c6 40 51 07 mov BYTE PTR [rax+81], 7
0026b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0026f c6 40 52 2f mov BYTE PTR [rax+82], 47 ; 0000002fH
00273 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00277 c6 40 53 0f mov BYTE PTR [rax+83], 15
0027b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0027f c6 40 54 37 mov BYTE PTR [rax+84], 55 ; 00000037H
00283 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00287 c6 40 55 17 mov BYTE PTR [rax+85], 23
0028b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0028f c6 40 56 3f mov BYTE PTR [rax+86], 63 ; 0000003fH
00293 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00297 c6 40 57 1f mov BYTE PTR [rax+87], 31
0029b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0029f c6 40 58 26 mov BYTE PTR [rax+88], 38 ; 00000026H
002a3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
002a7 c6 40 59 06 mov BYTE PTR [rax+89], 6
002ab 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
002af c6 40 5a 2e mov BYTE PTR [rax+90], 46 ; 0000002eH
002b3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
002b7 c6 40 5b 0e mov BYTE PTR [rax+91], 14
002bb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
002bf c6 40 5c 36 mov BYTE PTR [rax+92], 54 ; 00000036H
002c3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
002c7 c6 40 5d 16 mov BYTE PTR [rax+93], 22
002cb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
002cf c6 40 5e 3e mov BYTE PTR [rax+94], 62 ; 0000003eH
002d3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
002d7 c6 40 5f 1e mov BYTE PTR [rax+95], 30
002db 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
002df c6 40 60 25 mov BYTE PTR [rax+96], 37 ; 00000025H
002e3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
002e7 c6 40 61 05 mov BYTE PTR [rax+97], 5
002eb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
002ef c6 40 62 2d mov BYTE PTR [rax+98], 45 ; 0000002dH
002f3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
002f7 c6 40 63 0d mov BYTE PTR [rax+99], 13
002fb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
002ff c6 40 64 35 mov BYTE PTR [rax+100], 53 ; 00000035H
00303 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00307 c6 40 65 15 mov BYTE PTR [rax+101], 21
0030b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0030f c6 40 66 3d mov BYTE PTR [rax+102], 61 ; 0000003dH
00313 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00317 c6 40 67 1d mov BYTE PTR [rax+103], 29
0031b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0031f c6 40 68 24 mov BYTE PTR [rax+104], 36 ; 00000024H
00323 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00327 c6 40 69 04 mov BYTE PTR [rax+105], 4
0032b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0032f c6 40 6a 2c mov BYTE PTR [rax+106], 44 ; 0000002cH
00333 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00337 c6 40 6b 0c mov BYTE PTR [rax+107], 12
0033b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0033f c6 40 6c 34 mov BYTE PTR [rax+108], 52 ; 00000034H
00343 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00347 c6 40 6d 14 mov BYTE PTR [rax+109], 20
0034b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0034f c6 40 6e 3c mov BYTE PTR [rax+110], 60 ; 0000003cH
00353 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00357 c6 40 6f 1c mov BYTE PTR [rax+111], 28
0035b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0035f c6 40 70 23 mov BYTE PTR [rax+112], 35 ; 00000023H
00363 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00367 c6 40 71 03 mov BYTE PTR [rax+113], 3
0036b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0036f c6 40 72 2b mov BYTE PTR [rax+114], 43 ; 0000002bH
00373 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00377 c6 40 73 0b mov BYTE PTR [rax+115], 11
0037b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0037f c6 40 74 33 mov BYTE PTR [rax+116], 51 ; 00000033H
00383 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00387 c6 40 75 13 mov BYTE PTR [rax+117], 19
0038b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0038f c6 40 76 3b mov BYTE PTR [rax+118], 59 ; 0000003bH
00393 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00397 c6 40 77 1b mov BYTE PTR [rax+119], 27
0039b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0039f c6 40 78 22 mov BYTE PTR [rax+120], 34 ; 00000022H
003a3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
003a7 c6 40 79 02 mov BYTE PTR [rax+121], 2
003ab 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
003af c6 40 7a 2a mov BYTE PTR [rax+122], 42 ; 0000002aH
003b3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
003b7 c6 40 7b 0a mov BYTE PTR [rax+123], 10
003bb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
003bf c6 40 7c 32 mov BYTE PTR [rax+124], 50 ; 00000032H
003c3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
003c7 c6 40 7d 12 mov BYTE PTR [rax+125], 18
003cb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
003cf c6 40 7e 3a mov BYTE PTR [rax+126], 58 ; 0000003aH
003d3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
003d7 c6 40 7f 1a mov BYTE PTR [rax+127], 26
003db 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
003df c6 80 80 00 00
00 21 mov BYTE PTR [rax+128], 33 ; 00000021H
003e6 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
003ea c6 80 81 00 00
00 01 mov BYTE PTR [rax+129], 1
003f1 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
003f5 c6 80 82 00 00
00 29 mov BYTE PTR [rax+130], 41 ; 00000029H
003fc 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00400 c6 80 83 00 00
00 09 mov BYTE PTR [rax+131], 9
00407 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0040b c6 80 84 00 00
00 31 mov BYTE PTR [rax+132], 49 ; 00000031H
00412 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00416 c6 80 85 00 00
00 11 mov BYTE PTR [rax+133], 17
0041d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00421 c6 80 86 00 00
00 39 mov BYTE PTR [rax+134], 57 ; 00000039H
00428 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0042c c6 80 87 00 00
00 19 mov BYTE PTR [rax+135], 25
; 48 : 40, 8, 48, 16, 56, 24, 64, 32, 39, 7, 47, 15, 55, 23, 63, 31,
; 49 : 38, 6, 46, 14, 54, 22, 62, 30, 37, 5, 45, 13, 53, 21, 61, 29,
; 50 : 36, 4, 44, 12, 52, 20, 60, 28, 35, 3, 43, 11, 51, 19, 59, 27,
; 51 : 34, 2, 42, 10, 50, 18, 58, 26, 33, 1, 41, 9, 49, 17, 57, 25
; 52 : };
; 53 : // expansion operation matrix
; 54 : const char E_Table[48] = {
00433 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00437 c6 80 88 00 00
00 20 mov BYTE PTR [rax+136], 32 ; 00000020H
0043e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00442 c6 80 89 00 00
00 01 mov BYTE PTR [rax+137], 1
00449 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0044d c6 80 8a 00 00
00 02 mov BYTE PTR [rax+138], 2
00454 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00458 c6 80 8b 00 00
00 03 mov BYTE PTR [rax+139], 3
0045f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00463 c6 80 8c 00 00
00 04 mov BYTE PTR [rax+140], 4
0046a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0046e c6 80 8d 00 00
00 05 mov BYTE PTR [rax+141], 5
00475 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00479 c6 80 8e 00 00
00 04 mov BYTE PTR [rax+142], 4
00480 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00484 c6 80 8f 00 00
00 05 mov BYTE PTR [rax+143], 5
0048b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0048f c6 80 90 00 00
00 06 mov BYTE PTR [rax+144], 6
00496 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0049a c6 80 91 00 00
00 07 mov BYTE PTR [rax+145], 7
004a1 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
004a5 c6 80 92 00 00
00 08 mov BYTE PTR [rax+146], 8
004ac 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
004b0 c6 80 93 00 00
00 09 mov BYTE PTR [rax+147], 9
004b7 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
004bb c6 80 94 00 00
00 08 mov BYTE PTR [rax+148], 8
004c2 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
004c6 c6 80 95 00 00
00 09 mov BYTE PTR [rax+149], 9
004cd 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
004d1 c6 80 96 00 00
00 0a mov BYTE PTR [rax+150], 10
004d8 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
004dc c6 80 97 00 00
00 0b mov BYTE PTR [rax+151], 11
004e3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
004e7 c6 80 98 00 00
00 0c mov BYTE PTR [rax+152], 12
004ee 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
004f2 c6 80 99 00 00
00 0d mov BYTE PTR [rax+153], 13
004f9 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
004fd c6 80 9a 00 00
00 0c mov BYTE PTR [rax+154], 12
00504 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00508 c6 80 9b 00 00
00 0d mov BYTE PTR [rax+155], 13
0050f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00513 c6 80 9c 00 00
00 0e mov BYTE PTR [rax+156], 14
0051a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0051e c6 80 9d 00 00
00 0f mov BYTE PTR [rax+157], 15
00525 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00529 c6 80 9e 00 00
00 10 mov BYTE PTR [rax+158], 16
00530 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00534 c6 80 9f 00 00
00 11 mov BYTE PTR [rax+159], 17
0053b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0053f c6 80 a0 00 00
00 10 mov BYTE PTR [rax+160], 16
00546 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0054a c6 80 a1 00 00
00 11 mov BYTE PTR [rax+161], 17
00551 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00555 c6 80 a2 00 00
00 12 mov BYTE PTR [rax+162], 18
0055c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00560 c6 80 a3 00 00
00 13 mov BYTE PTR [rax+163], 19
00567 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0056b c6 80 a4 00 00
00 14 mov BYTE PTR [rax+164], 20
00572 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00576 c6 80 a5 00 00
00 15 mov BYTE PTR [rax+165], 21
0057d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00581 c6 80 a6 00 00
00 14 mov BYTE PTR [rax+166], 20
00588 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0058c c6 80 a7 00 00
00 15 mov BYTE PTR [rax+167], 21
00593 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00597 c6 80 a8 00 00
00 16 mov BYTE PTR [rax+168], 22
0059e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
005a2 c6 80 a9 00 00
00 17 mov BYTE PTR [rax+169], 23
005a9 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
005ad c6 80 aa 00 00
00 18 mov BYTE PTR [rax+170], 24
005b4 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
005b8 c6 80 ab 00 00
00 19 mov BYTE PTR [rax+171], 25
005bf 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
005c3 c6 80 ac 00 00
00 18 mov BYTE PTR [rax+172], 24
005ca 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
005ce c6 80 ad 00 00
00 19 mov BYTE PTR [rax+173], 25
005d5 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
005d9 c6 80 ae 00 00
00 1a mov BYTE PTR [rax+174], 26
005e0 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
005e4 c6 80 af 00 00
00 1b mov BYTE PTR [rax+175], 27
005eb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
005ef c6 80 b0 00 00
00 1c mov BYTE PTR [rax+176], 28
005f6 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
005fa c6 80 b1 00 00
00 1d mov BYTE PTR [rax+177], 29
00601 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00605 c6 80 b2 00 00
00 1c mov BYTE PTR [rax+178], 28
0060c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00610 c6 80 b3 00 00
00 1d mov BYTE PTR [rax+179], 29
00617 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0061b c6 80 b4 00 00
00 1e mov BYTE PTR [rax+180], 30
00622 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00626 c6 80 b5 00 00
00 1f mov BYTE PTR [rax+181], 31
0062d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00631 c6 80 b6 00 00
00 20 mov BYTE PTR [rax+182], 32 ; 00000020H
00638 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0063c c6 80 b7 00 00
00 01 mov BYTE PTR [rax+183], 1
; 55 : 32, 1, 2, 3, 4, 5, 4, 5, 6, 7, 8, 9,
; 56 : 8, 9, 10, 11, 12, 13, 12, 13, 14, 15, 16, 17,
; 57 : 16, 17, 18, 19, 20, 21, 20, 21, 22, 23, 24, 25,
; 58 : 24, 25, 26, 27, 28, 29, 28, 29, 30, 31, 32, 1
; 59 : };
; 60 : // 32-bit permutation function P used on the output of the S-boxes
; 61 : const char P_Table[32] = {
00643 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00647 c6 80 b8 00 00
00 10 mov BYTE PTR [rax+184], 16
0064e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00652 c6 80 b9 00 00
00 07 mov BYTE PTR [rax+185], 7
00659 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0065d c6 80 ba 00 00
00 14 mov BYTE PTR [rax+186], 20
00664 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00668 c6 80 bb 00 00
00 15 mov BYTE PTR [rax+187], 21
0066f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00673 c6 80 bc 00 00
00 1d mov BYTE PTR [rax+188], 29
0067a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0067e c6 80 bd 00 00
00 0c mov BYTE PTR [rax+189], 12
00685 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00689 c6 80 be 00 00
00 1c mov BYTE PTR [rax+190], 28
00690 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00694 c6 80 bf 00 00
00 11 mov BYTE PTR [rax+191], 17
0069b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0069f c6 80 c0 00 00
00 01 mov BYTE PTR [rax+192], 1
006a6 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
006aa c6 80 c1 00 00
00 0f mov BYTE PTR [rax+193], 15
006b1 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
006b5 c6 80 c2 00 00
00 17 mov BYTE PTR [rax+194], 23
006bc 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
006c0 c6 80 c3 00 00
00 1a mov BYTE PTR [rax+195], 26
006c7 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
006cb c6 80 c4 00 00
00 05 mov BYTE PTR [rax+196], 5
006d2 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
006d6 c6 80 c5 00 00
00 12 mov BYTE PTR [rax+197], 18
006dd 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
006e1 c6 80 c6 00 00
00 1f mov BYTE PTR [rax+198], 31
006e8 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
006ec c6 80 c7 00 00
00 0a mov BYTE PTR [rax+199], 10
006f3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
006f7 c6 80 c8 00 00
00 02 mov BYTE PTR [rax+200], 2
006fe 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00702 c6 80 c9 00 00
00 08 mov BYTE PTR [rax+201], 8
00709 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0070d c6 80 ca 00 00
00 18 mov BYTE PTR [rax+202], 24
00714 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00718 c6 80 cb 00 00
00 0e mov BYTE PTR [rax+203], 14
0071f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00723 c6 80 cc 00 00
00 20 mov BYTE PTR [rax+204], 32 ; 00000020H
0072a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0072e c6 80 cd 00 00
00 1b mov BYTE PTR [rax+205], 27
00735 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00739 c6 80 ce 00 00
00 03 mov BYTE PTR [rax+206], 3
00740 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00744 c6 80 cf 00 00
00 09 mov BYTE PTR [rax+207], 9
0074b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0074f c6 80 d0 00 00
00 13 mov BYTE PTR [rax+208], 19
00756 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0075a c6 80 d1 00 00
00 0d mov BYTE PTR [rax+209], 13
00761 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00765 c6 80 d2 00 00
00 1e mov BYTE PTR [rax+210], 30
0076c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00770 c6 80 d3 00 00
00 06 mov BYTE PTR [rax+211], 6
00777 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0077b c6 80 d4 00 00
00 16 mov BYTE PTR [rax+212], 22
00782 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00786 c6 80 d5 00 00
00 0b mov BYTE PTR [rax+213], 11
0078d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00791 c6 80 d6 00 00
00 04 mov BYTE PTR [rax+214], 4
00798 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0079c c6 80 d7 00 00
00 19 mov BYTE PTR [rax+215], 25
; 62 : 16, 7, 20, 21, 29, 12, 28, 17, 1, 15, 23, 26, 5, 18, 31, 10,
; 63 : 2, 8, 24, 14, 32, 27, 3, 9, 19, 13, 30, 6, 22, 11, 4, 25
; 64 : };
; 65 : // permuted choice table (key)
; 66 : const char PC1_Table[56] = {
007a3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
007a7 c6 80 d8 00 00
00 39 mov BYTE PTR [rax+216], 57 ; 00000039H
007ae 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
007b2 c6 80 d9 00 00
00 31 mov BYTE PTR [rax+217], 49 ; 00000031H
007b9 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
007bd c6 80 da 00 00
00 29 mov BYTE PTR [rax+218], 41 ; 00000029H
007c4 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
007c8 c6 80 db 00 00
00 21 mov BYTE PTR [rax+219], 33 ; 00000021H
007cf 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
007d3 c6 80 dc 00 00
00 19 mov BYTE PTR [rax+220], 25
007da 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
007de c6 80 dd 00 00
00 11 mov BYTE PTR [rax+221], 17
007e5 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
007e9 c6 80 de 00 00
00 09 mov BYTE PTR [rax+222], 9
007f0 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
007f4 c6 80 df 00 00
00 01 mov BYTE PTR [rax+223], 1
007fb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
007ff c6 80 e0 00 00
00 3a mov BYTE PTR [rax+224], 58 ; 0000003aH
00806 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0080a c6 80 e1 00 00
00 32 mov BYTE PTR [rax+225], 50 ; 00000032H
00811 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00815 c6 80 e2 00 00
00 2a mov BYTE PTR [rax+226], 42 ; 0000002aH
0081c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00820 c6 80 e3 00 00
00 22 mov BYTE PTR [rax+227], 34 ; 00000022H
00827 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0082b c6 80 e4 00 00
00 1a mov BYTE PTR [rax+228], 26
00832 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00836 c6 80 e5 00 00
00 12 mov BYTE PTR [rax+229], 18
0083d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00841 c6 80 e6 00 00
00 0a mov BYTE PTR [rax+230], 10
00848 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0084c c6 80 e7 00 00
00 02 mov BYTE PTR [rax+231], 2
00853 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00857 c6 80 e8 00 00
00 3b mov BYTE PTR [rax+232], 59 ; 0000003bH
0085e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00862 c6 80 e9 00 00
00 33 mov BYTE PTR [rax+233], 51 ; 00000033H
00869 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0086d c6 80 ea 00 00
00 2b mov BYTE PTR [rax+234], 43 ; 0000002bH
00874 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00878 c6 80 eb 00 00
00 23 mov BYTE PTR [rax+235], 35 ; 00000023H
0087f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00883 c6 80 ec 00 00
00 1b mov BYTE PTR [rax+236], 27
0088a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0088e c6 80 ed 00 00
00 13 mov BYTE PTR [rax+237], 19
00895 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00899 c6 80 ee 00 00
00 0b mov BYTE PTR [rax+238], 11
008a0 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
008a4 c6 80 ef 00 00
00 03 mov BYTE PTR [rax+239], 3
008ab 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
008af c6 80 f0 00 00
00 3c mov BYTE PTR [rax+240], 60 ; 0000003cH
008b6 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
008ba c6 80 f1 00 00
00 34 mov BYTE PTR [rax+241], 52 ; 00000034H
008c1 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
008c5 c6 80 f2 00 00
00 2c mov BYTE PTR [rax+242], 44 ; 0000002cH
008cc 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
008d0 c6 80 f3 00 00
00 24 mov BYTE PTR [rax+243], 36 ; 00000024H
008d7 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
008db c6 80 f4 00 00
00 3f mov BYTE PTR [rax+244], 63 ; 0000003fH
008e2 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
008e6 c6 80 f5 00 00
00 37 mov BYTE PTR [rax+245], 55 ; 00000037H
008ed 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
008f1 c6 80 f6 00 00
00 2f mov BYTE PTR [rax+246], 47 ; 0000002fH
008f8 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
008fc c6 80 f7 00 00
00 27 mov BYTE PTR [rax+247], 39 ; 00000027H
00903 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00907 c6 80 f8 00 00
00 1f mov BYTE PTR [rax+248], 31
0090e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00912 c6 80 f9 00 00
00 17 mov BYTE PTR [rax+249], 23
00919 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0091d c6 80 fa 00 00
00 0f mov BYTE PTR [rax+250], 15
00924 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00928 c6 80 fb 00 00
00 07 mov BYTE PTR [rax+251], 7
0092f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00933 c6 80 fc 00 00
00 3e mov BYTE PTR [rax+252], 62 ; 0000003eH
0093a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0093e c6 80 fd 00 00
00 36 mov BYTE PTR [rax+253], 54 ; 00000036H
00945 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00949 c6 80 fe 00 00
00 2e mov BYTE PTR [rax+254], 46 ; 0000002eH
00950 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00954 c6 80 ff 00 00
00 26 mov BYTE PTR [rax+255], 38 ; 00000026H
0095b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0095f c6 80 00 01 00
00 1e mov BYTE PTR [rax+256], 30
00966 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0096a c6 80 01 01 00
00 16 mov BYTE PTR [rax+257], 22
00971 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00975 c6 80 02 01 00
00 0e mov BYTE PTR [rax+258], 14
0097c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00980 c6 80 03 01 00
00 06 mov BYTE PTR [rax+259], 6
00987 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0098b c6 80 04 01 00
00 3d mov BYTE PTR [rax+260], 61 ; 0000003dH
00992 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00996 c6 80 05 01 00
00 35 mov BYTE PTR [rax+261], 53 ; 00000035H
0099d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
009a1 c6 80 06 01 00
00 2d mov BYTE PTR [rax+262], 45 ; 0000002dH
009a8 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
009ac c6 80 07 01 00
00 25 mov BYTE PTR [rax+263], 37 ; 00000025H
009b3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
009b7 c6 80 08 01 00
00 1d mov BYTE PTR [rax+264], 29
009be 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
009c2 c6 80 09 01 00
00 15 mov BYTE PTR [rax+265], 21
009c9 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
009cd c6 80 0a 01 00
00 0d mov BYTE PTR [rax+266], 13
009d4 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
009d8 c6 80 0b 01 00
00 05 mov BYTE PTR [rax+267], 5
009df 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
009e3 c6 80 0c 01 00
00 1c mov BYTE PTR [rax+268], 28
009ea 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
009ee c6 80 0d 01 00
00 14 mov BYTE PTR [rax+269], 20
009f5 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
009f9 c6 80 0e 01 00
00 0c mov BYTE PTR [rax+270], 12
00a00 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00a04 c6 80 0f 01 00
00 04 mov BYTE PTR [rax+271], 4
; 67 : 57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18,
; 68 : 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36,
; 69 : 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22,
; 70 : 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4
; 71 : };
; 72 : // permuted choice key (table)
; 73 : const char PC2_Table[48] = {
00a0b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00a0f c6 80 10 01 00
00 0e mov BYTE PTR [rax+272], 14
00a16 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00a1a c6 80 11 01 00
00 11 mov BYTE PTR [rax+273], 17
00a21 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00a25 c6 80 12 01 00
00 0b mov BYTE PTR [rax+274], 11
00a2c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00a30 c6 80 13 01 00
00 18 mov BYTE PTR [rax+275], 24
00a37 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00a3b c6 80 14 01 00
00 01 mov BYTE PTR [rax+276], 1
00a42 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00a46 c6 80 15 01 00
00 05 mov BYTE PTR [rax+277], 5
00a4d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00a51 c6 80 16 01 00
00 03 mov BYTE PTR [rax+278], 3
00a58 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00a5c c6 80 17 01 00
00 1c mov BYTE PTR [rax+279], 28
00a63 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00a67 c6 80 18 01 00
00 0f mov BYTE PTR [rax+280], 15
00a6e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00a72 c6 80 19 01 00
00 06 mov BYTE PTR [rax+281], 6
00a79 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00a7d c6 80 1a 01 00
00 15 mov BYTE PTR [rax+282], 21
00a84 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00a88 c6 80 1b 01 00
00 0a mov BYTE PTR [rax+283], 10
00a8f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00a93 c6 80 1c 01 00
00 17 mov BYTE PTR [rax+284], 23
00a9a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00a9e c6 80 1d 01 00
00 13 mov BYTE PTR [rax+285], 19
00aa5 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00aa9 c6 80 1e 01 00
00 0c mov BYTE PTR [rax+286], 12
00ab0 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00ab4 c6 80 1f 01 00
00 04 mov BYTE PTR [rax+287], 4
00abb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00abf c6 80 20 01 00
00 1a mov BYTE PTR [rax+288], 26
00ac6 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00aca c6 80 21 01 00
00 08 mov BYTE PTR [rax+289], 8
00ad1 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00ad5 c6 80 22 01 00
00 10 mov BYTE PTR [rax+290], 16
00adc 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00ae0 c6 80 23 01 00
00 07 mov BYTE PTR [rax+291], 7
00ae7 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00aeb c6 80 24 01 00
00 1b mov BYTE PTR [rax+292], 27
00af2 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00af6 c6 80 25 01 00
00 14 mov BYTE PTR [rax+293], 20
00afd 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00b01 c6 80 26 01 00
00 0d mov BYTE PTR [rax+294], 13
00b08 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00b0c c6 80 27 01 00
00 02 mov BYTE PTR [rax+295], 2
00b13 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00b17 c6 80 28 01 00
00 29 mov BYTE PTR [rax+296], 41 ; 00000029H
00b1e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00b22 c6 80 29 01 00
00 34 mov BYTE PTR [rax+297], 52 ; 00000034H
00b29 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00b2d c6 80 2a 01 00
00 1f mov BYTE PTR [rax+298], 31
00b34 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00b38 c6 80 2b 01 00
00 25 mov BYTE PTR [rax+299], 37 ; 00000025H
00b3f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00b43 c6 80 2c 01 00
00 2f mov BYTE PTR [rax+300], 47 ; 0000002fH
00b4a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00b4e c6 80 2d 01 00
00 37 mov BYTE PTR [rax+301], 55 ; 00000037H
00b55 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00b59 c6 80 2e 01 00
00 1e mov BYTE PTR [rax+302], 30
00b60 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00b64 c6 80 2f 01 00
00 28 mov BYTE PTR [rax+303], 40 ; 00000028H
00b6b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00b6f c6 80 30 01 00
00 33 mov BYTE PTR [rax+304], 51 ; 00000033H
00b76 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00b7a c6 80 31 01 00
00 2d mov BYTE PTR [rax+305], 45 ; 0000002dH
00b81 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00b85 c6 80 32 01 00
00 21 mov BYTE PTR [rax+306], 33 ; 00000021H
00b8c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00b90 c6 80 33 01 00
00 30 mov BYTE PTR [rax+307], 48 ; 00000030H
00b97 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00b9b c6 80 34 01 00
00 2c mov BYTE PTR [rax+308], 44 ; 0000002cH
00ba2 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00ba6 c6 80 35 01 00
00 31 mov BYTE PTR [rax+309], 49 ; 00000031H
00bad 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00bb1 c6 80 36 01 00
00 27 mov BYTE PTR [rax+310], 39 ; 00000027H
00bb8 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00bbc c6 80 37 01 00
00 38 mov BYTE PTR [rax+311], 56 ; 00000038H
00bc3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00bc7 c6 80 38 01 00
00 22 mov BYTE PTR [rax+312], 34 ; 00000022H
00bce 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00bd2 c6 80 39 01 00
00 35 mov BYTE PTR [rax+313], 53 ; 00000035H
00bd9 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00bdd c6 80 3a 01 00
00 2e mov BYTE PTR [rax+314], 46 ; 0000002eH
00be4 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00be8 c6 80 3b 01 00
00 2a mov BYTE PTR [rax+315], 42 ; 0000002aH
00bef 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00bf3 c6 80 3c 01 00
00 32 mov BYTE PTR [rax+316], 50 ; 00000032H
00bfa 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00bfe c6 80 3d 01 00
00 24 mov BYTE PTR [rax+317], 36 ; 00000024H
00c05 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00c09 c6 80 3e 01 00
00 1d mov BYTE PTR [rax+318], 29
00c10 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00c14 c6 80 3f 01 00
00 20 mov BYTE PTR [rax+319], 32 ; 00000020H
; 74 : 14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10,
; 75 : 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2,
; 76 : 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48,
; 77 : 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32
; 78 : };
; 79 : // number left rotations of pc1
; 80 : const char LOOP_Table[16] = {
00c1b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00c1f c6 80 40 01 00
00 01 mov BYTE PTR [rax+320], 1
00c26 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00c2a c6 80 41 01 00
00 01 mov BYTE PTR [rax+321], 1
00c31 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00c35 c6 80 42 01 00
00 02 mov BYTE PTR [rax+322], 2
00c3c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00c40 c6 80 43 01 00
00 02 mov BYTE PTR [rax+323], 2
00c47 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00c4b c6 80 44 01 00
00 02 mov BYTE PTR [rax+324], 2
00c52 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00c56 c6 80 45 01 00
00 02 mov BYTE PTR [rax+325], 2
00c5d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00c61 c6 80 46 01 00
00 02 mov BYTE PTR [rax+326], 2
00c68 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00c6c c6 80 47 01 00
00 02 mov BYTE PTR [rax+327], 2
00c73 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00c77 c6 80 48 01 00
00 01 mov BYTE PTR [rax+328], 1
00c7e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00c82 c6 80 49 01 00
00 02 mov BYTE PTR [rax+329], 2
00c89 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00c8d c6 80 4a 01 00
00 02 mov BYTE PTR [rax+330], 2
00c94 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00c98 c6 80 4b 01 00
00 02 mov BYTE PTR [rax+331], 2
00c9f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00ca3 c6 80 4c 01 00
00 02 mov BYTE PTR [rax+332], 2
00caa 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00cae c6 80 4d 01 00
00 02 mov BYTE PTR [rax+333], 2
00cb5 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00cb9 c6 80 4e 01 00
00 02 mov BYTE PTR [rax+334], 2
00cc0 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00cc4 c6 80 4f 01 00
00 01 mov BYTE PTR [rax+335], 1
; 81 : 1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1
; 82 : };
; 83 : // The (in)famous S-boxes
; 84 : const char S_Box[8][4][16] = {
00ccb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00ccf c6 80 50 01 00
00 0e mov BYTE PTR [rax+336], 14
00cd6 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00cda c6 80 51 01 00
00 04 mov BYTE PTR [rax+337], 4
00ce1 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00ce5 c6 80 52 01 00
00 0d mov BYTE PTR [rax+338], 13
00cec 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00cf0 c6 80 53 01 00
00 01 mov BYTE PTR [rax+339], 1
00cf7 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00cfb c6 80 54 01 00
00 02 mov BYTE PTR [rax+340], 2
00d02 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00d06 c6 80 55 01 00
00 0f mov BYTE PTR [rax+341], 15
00d0d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00d11 c6 80 56 01 00
00 0b mov BYTE PTR [rax+342], 11
00d18 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00d1c c6 80 57 01 00
00 08 mov BYTE PTR [rax+343], 8
00d23 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00d27 c6 80 58 01 00
00 03 mov BYTE PTR [rax+344], 3
00d2e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00d32 c6 80 59 01 00
00 0a mov BYTE PTR [rax+345], 10
00d39 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00d3d c6 80 5a 01 00
00 06 mov BYTE PTR [rax+346], 6
00d44 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00d48 c6 80 5b 01 00
00 0c mov BYTE PTR [rax+347], 12
00d4f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00d53 c6 80 5c 01 00
00 05 mov BYTE PTR [rax+348], 5
00d5a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00d5e c6 80 5d 01 00
00 09 mov BYTE PTR [rax+349], 9
00d65 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00d69 c6 80 5e 01 00
00 00 mov BYTE PTR [rax+350], 0
00d70 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00d74 c6 80 5f 01 00
00 07 mov BYTE PTR [rax+351], 7
00d7b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00d7f c6 80 60 01 00
00 00 mov BYTE PTR [rax+352], 0
00d86 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00d8a c6 80 61 01 00
00 0f mov BYTE PTR [rax+353], 15
00d91 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00d95 c6 80 62 01 00
00 07 mov BYTE PTR [rax+354], 7
00d9c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00da0 c6 80 63 01 00
00 04 mov BYTE PTR [rax+355], 4
00da7 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00dab c6 80 64 01 00
00 0e mov BYTE PTR [rax+356], 14
00db2 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00db6 c6 80 65 01 00
00 02 mov BYTE PTR [rax+357], 2
00dbd 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00dc1 c6 80 66 01 00
00 0d mov BYTE PTR [rax+358], 13
00dc8 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00dcc c6 80 67 01 00
00 01 mov BYTE PTR [rax+359], 1
00dd3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00dd7 c6 80 68 01 00
00 0a mov BYTE PTR [rax+360], 10
00dde 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00de2 c6 80 69 01 00
00 06 mov BYTE PTR [rax+361], 6
00de9 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00ded c6 80 6a 01 00
00 0c mov BYTE PTR [rax+362], 12
00df4 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00df8 c6 80 6b 01 00
00 0b mov BYTE PTR [rax+363], 11
00dff 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00e03 c6 80 6c 01 00
00 09 mov BYTE PTR [rax+364], 9
00e0a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00e0e c6 80 6d 01 00
00 05 mov BYTE PTR [rax+365], 5
00e15 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00e19 c6 80 6e 01 00
00 03 mov BYTE PTR [rax+366], 3
00e20 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00e24 c6 80 6f 01 00
00 08 mov BYTE PTR [rax+367], 8
00e2b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00e2f c6 80 70 01 00
00 04 mov BYTE PTR [rax+368], 4
00e36 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00e3a c6 80 71 01 00
00 01 mov BYTE PTR [rax+369], 1
00e41 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00e45 c6 80 72 01 00
00 0e mov BYTE PTR [rax+370], 14
00e4c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00e50 c6 80 73 01 00
00 08 mov BYTE PTR [rax+371], 8
00e57 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00e5b c6 80 74 01 00
00 0d mov BYTE PTR [rax+372], 13
00e62 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00e66 c6 80 75 01 00
00 06 mov BYTE PTR [rax+373], 6
00e6d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00e71 c6 80 76 01 00
00 02 mov BYTE PTR [rax+374], 2
00e78 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00e7c c6 80 77 01 00
00 0b mov BYTE PTR [rax+375], 11
00e83 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00e87 c6 80 78 01 00
00 0f mov BYTE PTR [rax+376], 15
00e8e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00e92 c6 80 79 01 00
00 0c mov BYTE PTR [rax+377], 12
00e99 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00e9d c6 80 7a 01 00
00 09 mov BYTE PTR [rax+378], 9
00ea4 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00ea8 c6 80 7b 01 00
00 07 mov BYTE PTR [rax+379], 7
00eaf 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00eb3 c6 80 7c 01 00
00 03 mov BYTE PTR [rax+380], 3
00eba 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00ebe c6 80 7d 01 00
00 0a mov BYTE PTR [rax+381], 10
00ec5 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00ec9 c6 80 7e 01 00
00 05 mov BYTE PTR [rax+382], 5
00ed0 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00ed4 c6 80 7f 01 00
00 00 mov BYTE PTR [rax+383], 0
00edb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00edf c6 80 80 01 00
00 0f mov BYTE PTR [rax+384], 15
00ee6 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00eea c6 80 81 01 00
00 0c mov BYTE PTR [rax+385], 12
00ef1 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00ef5 c6 80 82 01 00
00 08 mov BYTE PTR [rax+386], 8
00efc 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00f00 c6 80 83 01 00
00 02 mov BYTE PTR [rax+387], 2
00f07 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00f0b c6 80 84 01 00
00 04 mov BYTE PTR [rax+388], 4
00f12 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00f16 c6 80 85 01 00
00 09 mov BYTE PTR [rax+389], 9
00f1d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00f21 c6 80 86 01 00
00 01 mov BYTE PTR [rax+390], 1
00f28 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00f2c c6 80 87 01 00
00 07 mov BYTE PTR [rax+391], 7
00f33 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00f37 c6 80 88 01 00
00 05 mov BYTE PTR [rax+392], 5
00f3e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00f42 c6 80 89 01 00
00 0b mov BYTE PTR [rax+393], 11
00f49 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00f4d c6 80 8a 01 00
00 03 mov BYTE PTR [rax+394], 3
00f54 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00f58 c6 80 8b 01 00
00 0e mov BYTE PTR [rax+395], 14
00f5f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00f63 c6 80 8c 01 00
00 0a mov BYTE PTR [rax+396], 10
00f6a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00f6e c6 80 8d 01 00
00 00 mov BYTE PTR [rax+397], 0
00f75 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00f79 c6 80 8e 01 00
00 06 mov BYTE PTR [rax+398], 6
00f80 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00f84 c6 80 8f 01 00
00 0d mov BYTE PTR [rax+399], 13
00f8b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00f8f c6 80 90 01 00
00 0f mov BYTE PTR [rax+400], 15
00f96 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00f9a c6 80 91 01 00
00 01 mov BYTE PTR [rax+401], 1
00fa1 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00fa5 c6 80 92 01 00
00 08 mov BYTE PTR [rax+402], 8
00fac 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00fb0 c6 80 93 01 00
00 0e mov BYTE PTR [rax+403], 14
00fb7 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00fbb c6 80 94 01 00
00 06 mov BYTE PTR [rax+404], 6
00fc2 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00fc6 c6 80 95 01 00
00 0b mov BYTE PTR [rax+405], 11
00fcd 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00fd1 c6 80 96 01 00
00 03 mov BYTE PTR [rax+406], 3
00fd8 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00fdc c6 80 97 01 00
00 04 mov BYTE PTR [rax+407], 4
00fe3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00fe7 c6 80 98 01 00
00 09 mov BYTE PTR [rax+408], 9
00fee 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00ff2 c6 80 99 01 00
00 07 mov BYTE PTR [rax+409], 7
00ff9 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
00ffd c6 80 9a 01 00
00 02 mov BYTE PTR [rax+410], 2
01004 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01008 c6 80 9b 01 00
00 0d mov BYTE PTR [rax+411], 13
0100f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01013 c6 80 9c 01 00
00 0c mov BYTE PTR [rax+412], 12
0101a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0101e c6 80 9d 01 00
00 00 mov BYTE PTR [rax+413], 0
01025 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01029 c6 80 9e 01 00
00 05 mov BYTE PTR [rax+414], 5
01030 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01034 c6 80 9f 01 00
00 0a mov BYTE PTR [rax+415], 10
0103b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0103f c6 80 a0 01 00
00 03 mov BYTE PTR [rax+416], 3
01046 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0104a c6 80 a1 01 00
00 0d mov BYTE PTR [rax+417], 13
01051 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01055 c6 80 a2 01 00
00 04 mov BYTE PTR [rax+418], 4
0105c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01060 c6 80 a3 01 00
00 07 mov BYTE PTR [rax+419], 7
01067 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0106b c6 80 a4 01 00
00 0f mov BYTE PTR [rax+420], 15
01072 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01076 c6 80 a5 01 00
00 02 mov BYTE PTR [rax+421], 2
0107d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01081 c6 80 a6 01 00
00 08 mov BYTE PTR [rax+422], 8
01088 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0108c c6 80 a7 01 00
00 0e mov BYTE PTR [rax+423], 14
01093 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01097 c6 80 a8 01 00
00 0c mov BYTE PTR [rax+424], 12
0109e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
010a2 c6 80 a9 01 00
00 00 mov BYTE PTR [rax+425], 0
010a9 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
010ad c6 80 aa 01 00
00 01 mov BYTE PTR [rax+426], 1
010b4 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
010b8 c6 80 ab 01 00
00 0a mov BYTE PTR [rax+427], 10
010bf 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
010c3 c6 80 ac 01 00
00 06 mov BYTE PTR [rax+428], 6
010ca 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
010ce c6 80 ad 01 00
00 09 mov BYTE PTR [rax+429], 9
010d5 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
010d9 c6 80 ae 01 00
00 0b mov BYTE PTR [rax+430], 11
010e0 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
010e4 c6 80 af 01 00
00 05 mov BYTE PTR [rax+431], 5
010eb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
010ef c6 80 b0 01 00
00 00 mov BYTE PTR [rax+432], 0
010f6 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
010fa c6 80 b1 01 00
00 0e mov BYTE PTR [rax+433], 14
01101 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01105 c6 80 b2 01 00
00 07 mov BYTE PTR [rax+434], 7
0110c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01110 c6 80 b3 01 00
00 0b mov BYTE PTR [rax+435], 11
01117 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0111b c6 80 b4 01 00
00 0a mov BYTE PTR [rax+436], 10
01122 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01126 c6 80 b5 01 00
00 04 mov BYTE PTR [rax+437], 4
0112d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01131 c6 80 b6 01 00
00 0d mov BYTE PTR [rax+438], 13
01138 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0113c c6 80 b7 01 00
00 01 mov BYTE PTR [rax+439], 1
01143 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01147 c6 80 b8 01 00
00 05 mov BYTE PTR [rax+440], 5
0114e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01152 c6 80 b9 01 00
00 08 mov BYTE PTR [rax+441], 8
01159 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0115d c6 80 ba 01 00
00 0c mov BYTE PTR [rax+442], 12
01164 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01168 c6 80 bb 01 00
00 06 mov BYTE PTR [rax+443], 6
0116f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01173 c6 80 bc 01 00
00 09 mov BYTE PTR [rax+444], 9
0117a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0117e c6 80 bd 01 00
00 03 mov BYTE PTR [rax+445], 3
01185 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01189 c6 80 be 01 00
00 02 mov BYTE PTR [rax+446], 2
01190 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01194 c6 80 bf 01 00
00 0f mov BYTE PTR [rax+447], 15
0119b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0119f c6 80 c0 01 00
00 0d mov BYTE PTR [rax+448], 13
011a6 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
011aa c6 80 c1 01 00
00 08 mov BYTE PTR [rax+449], 8
011b1 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
011b5 c6 80 c2 01 00
00 0a mov BYTE PTR [rax+450], 10
011bc 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
011c0 c6 80 c3 01 00
00 01 mov BYTE PTR [rax+451], 1
011c7 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
011cb c6 80 c4 01 00
00 03 mov BYTE PTR [rax+452], 3
011d2 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
011d6 c6 80 c5 01 00
00 0f mov BYTE PTR [rax+453], 15
011dd 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
011e1 c6 80 c6 01 00
00 04 mov BYTE PTR [rax+454], 4
011e8 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
011ec c6 80 c7 01 00
00 02 mov BYTE PTR [rax+455], 2
011f3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
011f7 c6 80 c8 01 00
00 0b mov BYTE PTR [rax+456], 11
011fe 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01202 c6 80 c9 01 00
00 06 mov BYTE PTR [rax+457], 6
01209 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0120d c6 80 ca 01 00
00 07 mov BYTE PTR [rax+458], 7
01214 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01218 c6 80 cb 01 00
00 0c mov BYTE PTR [rax+459], 12
0121f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01223 c6 80 cc 01 00
00 00 mov BYTE PTR [rax+460], 0
0122a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0122e c6 80 cd 01 00
00 05 mov BYTE PTR [rax+461], 5
01235 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01239 c6 80 ce 01 00
00 0e mov BYTE PTR [rax+462], 14
01240 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01244 c6 80 cf 01 00
00 09 mov BYTE PTR [rax+463], 9
0124b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0124f c6 80 d0 01 00
00 0a mov BYTE PTR [rax+464], 10
01256 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0125a c6 80 d1 01 00
00 00 mov BYTE PTR [rax+465], 0
01261 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01265 c6 80 d2 01 00
00 09 mov BYTE PTR [rax+466], 9
0126c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01270 c6 80 d3 01 00
00 0e mov BYTE PTR [rax+467], 14
01277 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0127b c6 80 d4 01 00
00 06 mov BYTE PTR [rax+468], 6
01282 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01286 c6 80 d5 01 00
00 03 mov BYTE PTR [rax+469], 3
0128d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01291 c6 80 d6 01 00
00 0f mov BYTE PTR [rax+470], 15
01298 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0129c c6 80 d7 01 00
00 05 mov BYTE PTR [rax+471], 5
012a3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
012a7 c6 80 d8 01 00
00 01 mov BYTE PTR [rax+472], 1
012ae 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
012b2 c6 80 d9 01 00
00 0d mov BYTE PTR [rax+473], 13
012b9 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
012bd c6 80 da 01 00
00 0c mov BYTE PTR [rax+474], 12
012c4 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
012c8 c6 80 db 01 00
00 07 mov BYTE PTR [rax+475], 7
012cf 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
012d3 c6 80 dc 01 00
00 0b mov BYTE PTR [rax+476], 11
012da 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
012de c6 80 dd 01 00
00 04 mov BYTE PTR [rax+477], 4
012e5 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
012e9 c6 80 de 01 00
00 02 mov BYTE PTR [rax+478], 2
012f0 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
012f4 c6 80 df 01 00
00 08 mov BYTE PTR [rax+479], 8
012fb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
012ff c6 80 e0 01 00
00 0d mov BYTE PTR [rax+480], 13
01306 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0130a c6 80 e1 01 00
00 07 mov BYTE PTR [rax+481], 7
01311 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01315 c6 80 e2 01 00
00 00 mov BYTE PTR [rax+482], 0
0131c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01320 c6 80 e3 01 00
00 09 mov BYTE PTR [rax+483], 9
01327 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0132b c6 80 e4 01 00
00 03 mov BYTE PTR [rax+484], 3
01332 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01336 c6 80 e5 01 00
00 04 mov BYTE PTR [rax+485], 4
0133d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01341 c6 80 e6 01 00
00 06 mov BYTE PTR [rax+486], 6
01348 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0134c c6 80 e7 01 00
00 0a mov BYTE PTR [rax+487], 10
01353 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01357 c6 80 e8 01 00
00 02 mov BYTE PTR [rax+488], 2
0135e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01362 c6 80 e9 01 00
00 08 mov BYTE PTR [rax+489], 8
01369 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0136d c6 80 ea 01 00
00 05 mov BYTE PTR [rax+490], 5
01374 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01378 c6 80 eb 01 00
00 0e mov BYTE PTR [rax+491], 14
0137f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01383 c6 80 ec 01 00
00 0c mov BYTE PTR [rax+492], 12
0138a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0138e c6 80 ed 01 00
00 0b mov BYTE PTR [rax+493], 11
01395 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01399 c6 80 ee 01 00
00 0f mov BYTE PTR [rax+494], 15
013a0 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
013a4 c6 80 ef 01 00
00 01 mov BYTE PTR [rax+495], 1
013ab 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
013af c6 80 f0 01 00
00 0d mov BYTE PTR [rax+496], 13
013b6 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
013ba c6 80 f1 01 00
00 06 mov BYTE PTR [rax+497], 6
013c1 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
013c5 c6 80 f2 01 00
00 04 mov BYTE PTR [rax+498], 4
013cc 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
013d0 c6 80 f3 01 00
00 09 mov BYTE PTR [rax+499], 9
013d7 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
013db c6 80 f4 01 00
00 08 mov BYTE PTR [rax+500], 8
013e2 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
013e6 c6 80 f5 01 00
00 0f mov BYTE PTR [rax+501], 15
013ed 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
013f1 c6 80 f6 01 00
00 03 mov BYTE PTR [rax+502], 3
013f8 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
013fc c6 80 f7 01 00
00 00 mov BYTE PTR [rax+503], 0
01403 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01407 c6 80 f8 01 00
00 0b mov BYTE PTR [rax+504], 11
0140e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01412 c6 80 f9 01 00
00 01 mov BYTE PTR [rax+505], 1
01419 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0141d c6 80 fa 01 00
00 02 mov BYTE PTR [rax+506], 2
01424 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01428 c6 80 fb 01 00
00 0c mov BYTE PTR [rax+507], 12
0142f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01433 c6 80 fc 01 00
00 05 mov BYTE PTR [rax+508], 5
0143a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0143e c6 80 fd 01 00
00 0a mov BYTE PTR [rax+509], 10
01445 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01449 c6 80 fe 01 00
00 0e mov BYTE PTR [rax+510], 14
01450 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01454 c6 80 ff 01 00
00 07 mov BYTE PTR [rax+511], 7
0145b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0145f c6 80 00 02 00
00 01 mov BYTE PTR [rax+512], 1
01466 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0146a c6 80 01 02 00
00 0a mov BYTE PTR [rax+513], 10
01471 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01475 c6 80 02 02 00
00 0d mov BYTE PTR [rax+514], 13
0147c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01480 c6 80 03 02 00
00 00 mov BYTE PTR [rax+515], 0
01487 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0148b c6 80 04 02 00
00 06 mov BYTE PTR [rax+516], 6
01492 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01496 c6 80 05 02 00
00 09 mov BYTE PTR [rax+517], 9
0149d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
014a1 c6 80 06 02 00
00 08 mov BYTE PTR [rax+518], 8
014a8 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
014ac c6 80 07 02 00
00 07 mov BYTE PTR [rax+519], 7
014b3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
014b7 c6 80 08 02 00
00 04 mov BYTE PTR [rax+520], 4
014be 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
014c2 c6 80 09 02 00
00 0f mov BYTE PTR [rax+521], 15
014c9 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
014cd c6 80 0a 02 00
00 0e mov BYTE PTR [rax+522], 14
014d4 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
014d8 c6 80 0b 02 00
00 03 mov BYTE PTR [rax+523], 3
014df 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
014e3 c6 80 0c 02 00
00 0b mov BYTE PTR [rax+524], 11
014ea 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
014ee c6 80 0d 02 00
00 05 mov BYTE PTR [rax+525], 5
014f5 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
014f9 c6 80 0e 02 00
00 02 mov BYTE PTR [rax+526], 2
01500 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01504 c6 80 0f 02 00
00 0c mov BYTE PTR [rax+527], 12
0150b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0150f c6 80 10 02 00
00 07 mov BYTE PTR [rax+528], 7
01516 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0151a c6 80 11 02 00
00 0d mov BYTE PTR [rax+529], 13
01521 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01525 c6 80 12 02 00
00 0e mov BYTE PTR [rax+530], 14
0152c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01530 c6 80 13 02 00
00 03 mov BYTE PTR [rax+531], 3
01537 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0153b c6 80 14 02 00
00 00 mov BYTE PTR [rax+532], 0
01542 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01546 c6 80 15 02 00
00 06 mov BYTE PTR [rax+533], 6
0154d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01551 c6 80 16 02 00
00 09 mov BYTE PTR [rax+534], 9
01558 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0155c c6 80 17 02 00
00 0a mov BYTE PTR [rax+535], 10
01563 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01567 c6 80 18 02 00
00 01 mov BYTE PTR [rax+536], 1
0156e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01572 c6 80 19 02 00
00 02 mov BYTE PTR [rax+537], 2
01579 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0157d c6 80 1a 02 00
00 08 mov BYTE PTR [rax+538], 8
01584 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01588 c6 80 1b 02 00
00 05 mov BYTE PTR [rax+539], 5
0158f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01593 c6 80 1c 02 00
00 0b mov BYTE PTR [rax+540], 11
0159a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0159e c6 80 1d 02 00
00 0c mov BYTE PTR [rax+541], 12
015a5 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
015a9 c6 80 1e 02 00
00 04 mov BYTE PTR [rax+542], 4
015b0 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
015b4 c6 80 1f 02 00
00 0f mov BYTE PTR [rax+543], 15
015bb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
015bf c6 80 20 02 00
00 0d mov BYTE PTR [rax+544], 13
015c6 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
015ca c6 80 21 02 00
00 08 mov BYTE PTR [rax+545], 8
015d1 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
015d5 c6 80 22 02 00
00 0b mov BYTE PTR [rax+546], 11
015dc 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
015e0 c6 80 23 02 00
00 05 mov BYTE PTR [rax+547], 5
015e7 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
015eb c6 80 24 02 00
00 06 mov BYTE PTR [rax+548], 6
015f2 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
015f6 c6 80 25 02 00
00 0f mov BYTE PTR [rax+549], 15
015fd 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01601 c6 80 26 02 00
00 00 mov BYTE PTR [rax+550], 0
01608 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0160c c6 80 27 02 00
00 03 mov BYTE PTR [rax+551], 3
01613 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01617 c6 80 28 02 00
00 04 mov BYTE PTR [rax+552], 4
0161e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01622 c6 80 29 02 00
00 07 mov BYTE PTR [rax+553], 7
01629 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0162d c6 80 2a 02 00
00 02 mov BYTE PTR [rax+554], 2
01634 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01638 c6 80 2b 02 00
00 0c mov BYTE PTR [rax+555], 12
0163f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01643 c6 80 2c 02 00
00 01 mov BYTE PTR [rax+556], 1
0164a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0164e c6 80 2d 02 00
00 0a mov BYTE PTR [rax+557], 10
01655 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01659 c6 80 2e 02 00
00 0e mov BYTE PTR [rax+558], 14
01660 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01664 c6 80 2f 02 00
00 09 mov BYTE PTR [rax+559], 9
0166b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0166f c6 80 30 02 00
00 0a mov BYTE PTR [rax+560], 10
01676 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0167a c6 80 31 02 00
00 06 mov BYTE PTR [rax+561], 6
01681 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01685 c6 80 32 02 00
00 09 mov BYTE PTR [rax+562], 9
0168c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01690 c6 80 33 02 00
00 00 mov BYTE PTR [rax+563], 0
01697 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0169b c6 80 34 02 00
00 0c mov BYTE PTR [rax+564], 12
016a2 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
016a6 c6 80 35 02 00
00 0b mov BYTE PTR [rax+565], 11
016ad 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
016b1 c6 80 36 02 00
00 07 mov BYTE PTR [rax+566], 7
016b8 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
016bc c6 80 37 02 00
00 0d mov BYTE PTR [rax+567], 13
016c3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
016c7 c6 80 38 02 00
00 0f mov BYTE PTR [rax+568], 15
016ce 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
016d2 c6 80 39 02 00
00 01 mov BYTE PTR [rax+569], 1
016d9 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
016dd c6 80 3a 02 00
00 03 mov BYTE PTR [rax+570], 3
016e4 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
016e8 c6 80 3b 02 00
00 0e mov BYTE PTR [rax+571], 14
016ef 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
016f3 c6 80 3c 02 00
00 05 mov BYTE PTR [rax+572], 5
016fa 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
016fe c6 80 3d 02 00
00 02 mov BYTE PTR [rax+573], 2
01705 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01709 c6 80 3e 02 00
00 08 mov BYTE PTR [rax+574], 8
01710 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01714 c6 80 3f 02 00
00 04 mov BYTE PTR [rax+575], 4
0171b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0171f c6 80 40 02 00
00 03 mov BYTE PTR [rax+576], 3
01726 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0172a c6 80 41 02 00
00 0f mov BYTE PTR [rax+577], 15
01731 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01735 c6 80 42 02 00
00 00 mov BYTE PTR [rax+578], 0
0173c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01740 c6 80 43 02 00
00 06 mov BYTE PTR [rax+579], 6
01747 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0174b c6 80 44 02 00
00 0a mov BYTE PTR [rax+580], 10
01752 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01756 c6 80 45 02 00
00 01 mov BYTE PTR [rax+581], 1
0175d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01761 c6 80 46 02 00
00 0d mov BYTE PTR [rax+582], 13
01768 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0176c c6 80 47 02 00
00 08 mov BYTE PTR [rax+583], 8
01773 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01777 c6 80 48 02 00
00 09 mov BYTE PTR [rax+584], 9
0177e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01782 c6 80 49 02 00
00 04 mov BYTE PTR [rax+585], 4
01789 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0178d c6 80 4a 02 00
00 05 mov BYTE PTR [rax+586], 5
01794 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01798 c6 80 4b 02 00
00 0b mov BYTE PTR [rax+587], 11
0179f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
017a3 c6 80 4c 02 00
00 0c mov BYTE PTR [rax+588], 12
017aa 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
017ae c6 80 4d 02 00
00 07 mov BYTE PTR [rax+589], 7
017b5 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
017b9 c6 80 4e 02 00
00 02 mov BYTE PTR [rax+590], 2
017c0 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
017c4 c6 80 4f 02 00
00 0e mov BYTE PTR [rax+591], 14
017cb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
017cf c6 80 50 02 00
00 02 mov BYTE PTR [rax+592], 2
017d6 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
017da c6 80 51 02 00
00 0c mov BYTE PTR [rax+593], 12
017e1 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
017e5 c6 80 52 02 00
00 04 mov BYTE PTR [rax+594], 4
017ec 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
017f0 c6 80 53 02 00
00 01 mov BYTE PTR [rax+595], 1
017f7 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
017fb c6 80 54 02 00
00 07 mov BYTE PTR [rax+596], 7
01802 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01806 c6 80 55 02 00
00 0a mov BYTE PTR [rax+597], 10
0180d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01811 c6 80 56 02 00
00 0b mov BYTE PTR [rax+598], 11
01818 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0181c c6 80 57 02 00
00 06 mov BYTE PTR [rax+599], 6
01823 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01827 c6 80 58 02 00
00 08 mov BYTE PTR [rax+600], 8
0182e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01832 c6 80 59 02 00
00 05 mov BYTE PTR [rax+601], 5
01839 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0183d c6 80 5a 02 00
00 03 mov BYTE PTR [rax+602], 3
01844 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01848 c6 80 5b 02 00
00 0f mov BYTE PTR [rax+603], 15
0184f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01853 c6 80 5c 02 00
00 0d mov BYTE PTR [rax+604], 13
0185a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0185e c6 80 5d 02 00
00 00 mov BYTE PTR [rax+605], 0
01865 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01869 c6 80 5e 02 00
00 0e mov BYTE PTR [rax+606], 14
01870 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01874 c6 80 5f 02 00
00 09 mov BYTE PTR [rax+607], 9
0187b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0187f c6 80 60 02 00
00 0e mov BYTE PTR [rax+608], 14
01886 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0188a c6 80 61 02 00
00 0b mov BYTE PTR [rax+609], 11
01891 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01895 c6 80 62 02 00
00 02 mov BYTE PTR [rax+610], 2
0189c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
018a0 c6 80 63 02 00
00 0c mov BYTE PTR [rax+611], 12
018a7 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
018ab c6 80 64 02 00
00 04 mov BYTE PTR [rax+612], 4
018b2 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
018b6 c6 80 65 02 00
00 07 mov BYTE PTR [rax+613], 7
018bd 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
018c1 c6 80 66 02 00
00 0d mov BYTE PTR [rax+614], 13
018c8 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
018cc c6 80 67 02 00
00 01 mov BYTE PTR [rax+615], 1
018d3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
018d7 c6 80 68 02 00
00 05 mov BYTE PTR [rax+616], 5
018de 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
018e2 c6 80 69 02 00
00 00 mov BYTE PTR [rax+617], 0
018e9 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
018ed c6 80 6a 02 00
00 0f mov BYTE PTR [rax+618], 15
018f4 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
018f8 c6 80 6b 02 00
00 0a mov BYTE PTR [rax+619], 10
018ff 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01903 c6 80 6c 02 00
00 03 mov BYTE PTR [rax+620], 3
0190a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0190e c6 80 6d 02 00
00 09 mov BYTE PTR [rax+621], 9
01915 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01919 c6 80 6e 02 00
00 08 mov BYTE PTR [rax+622], 8
01920 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01924 c6 80 6f 02 00
00 06 mov BYTE PTR [rax+623], 6
0192b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0192f c6 80 70 02 00
00 04 mov BYTE PTR [rax+624], 4
01936 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0193a c6 80 71 02 00
00 02 mov BYTE PTR [rax+625], 2
01941 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01945 c6 80 72 02 00
00 01 mov BYTE PTR [rax+626], 1
0194c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01950 c6 80 73 02 00
00 0b mov BYTE PTR [rax+627], 11
01957 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0195b c6 80 74 02 00
00 0a mov BYTE PTR [rax+628], 10
01962 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01966 c6 80 75 02 00
00 0d mov BYTE PTR [rax+629], 13
0196d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01971 c6 80 76 02 00
00 07 mov BYTE PTR [rax+630], 7
01978 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0197c c6 80 77 02 00
00 08 mov BYTE PTR [rax+631], 8
01983 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01987 c6 80 78 02 00
00 0f mov BYTE PTR [rax+632], 15
0198e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01992 c6 80 79 02 00
00 09 mov BYTE PTR [rax+633], 9
01999 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0199d c6 80 7a 02 00
00 0c mov BYTE PTR [rax+634], 12
019a4 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
019a8 c6 80 7b 02 00
00 05 mov BYTE PTR [rax+635], 5
019af 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
019b3 c6 80 7c 02 00
00 06 mov BYTE PTR [rax+636], 6
019ba 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
019be c6 80 7d 02 00
00 03 mov BYTE PTR [rax+637], 3
019c5 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
019c9 c6 80 7e 02 00
00 00 mov BYTE PTR [rax+638], 0
019d0 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
019d4 c6 80 7f 02 00
00 0e mov BYTE PTR [rax+639], 14
019db 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
019df c6 80 80 02 00
00 0b mov BYTE PTR [rax+640], 11
019e6 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
019ea c6 80 81 02 00
00 08 mov BYTE PTR [rax+641], 8
019f1 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
019f5 c6 80 82 02 00
00 0c mov BYTE PTR [rax+642], 12
019fc 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01a00 c6 80 83 02 00
00 07 mov BYTE PTR [rax+643], 7
01a07 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01a0b c6 80 84 02 00
00 01 mov BYTE PTR [rax+644], 1
01a12 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01a16 c6 80 85 02 00
00 0e mov BYTE PTR [rax+645], 14
01a1d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01a21 c6 80 86 02 00
00 02 mov BYTE PTR [rax+646], 2
01a28 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01a2c c6 80 87 02 00
00 0d mov BYTE PTR [rax+647], 13
01a33 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01a37 c6 80 88 02 00
00 06 mov BYTE PTR [rax+648], 6
01a3e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01a42 c6 80 89 02 00
00 0f mov BYTE PTR [rax+649], 15
01a49 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01a4d c6 80 8a 02 00
00 00 mov BYTE PTR [rax+650], 0
01a54 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01a58 c6 80 8b 02 00
00 09 mov BYTE PTR [rax+651], 9
01a5f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01a63 c6 80 8c 02 00
00 0a mov BYTE PTR [rax+652], 10
01a6a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01a6e c6 80 8d 02 00
00 04 mov BYTE PTR [rax+653], 4
01a75 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01a79 c6 80 8e 02 00
00 05 mov BYTE PTR [rax+654], 5
01a80 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01a84 c6 80 8f 02 00
00 03 mov BYTE PTR [rax+655], 3
01a8b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01a8f c6 80 90 02 00
00 0c mov BYTE PTR [rax+656], 12
01a96 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01a9a c6 80 91 02 00
00 01 mov BYTE PTR [rax+657], 1
01aa1 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01aa5 c6 80 92 02 00
00 0a mov BYTE PTR [rax+658], 10
01aac 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01ab0 c6 80 93 02 00
00 0f mov BYTE PTR [rax+659], 15
01ab7 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01abb c6 80 94 02 00
00 09 mov BYTE PTR [rax+660], 9
01ac2 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01ac6 c6 80 95 02 00
00 02 mov BYTE PTR [rax+661], 2
01acd 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01ad1 c6 80 96 02 00
00 06 mov BYTE PTR [rax+662], 6
01ad8 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01adc c6 80 97 02 00
00 08 mov BYTE PTR [rax+663], 8
01ae3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01ae7 c6 80 98 02 00
00 00 mov BYTE PTR [rax+664], 0
01aee 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01af2 c6 80 99 02 00
00 0d mov BYTE PTR [rax+665], 13
01af9 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01afd c6 80 9a 02 00
00 03 mov BYTE PTR [rax+666], 3
01b04 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01b08 c6 80 9b 02 00
00 04 mov BYTE PTR [rax+667], 4
01b0f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01b13 c6 80 9c 02 00
00 0e mov BYTE PTR [rax+668], 14
01b1a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01b1e c6 80 9d 02 00
00 07 mov BYTE PTR [rax+669], 7
01b25 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01b29 c6 80 9e 02 00
00 05 mov BYTE PTR [rax+670], 5
01b30 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01b34 c6 80 9f 02 00
00 0b mov BYTE PTR [rax+671], 11
01b3b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01b3f c6 80 a0 02 00
00 0a mov BYTE PTR [rax+672], 10
01b46 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01b4a c6 80 a1 02 00
00 0f mov BYTE PTR [rax+673], 15
01b51 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01b55 c6 80 a2 02 00
00 04 mov BYTE PTR [rax+674], 4
01b5c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01b60 c6 80 a3 02 00
00 02 mov BYTE PTR [rax+675], 2
01b67 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01b6b c6 80 a4 02 00
00 07 mov BYTE PTR [rax+676], 7
01b72 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01b76 c6 80 a5 02 00
00 0c mov BYTE PTR [rax+677], 12
01b7d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01b81 c6 80 a6 02 00
00 09 mov BYTE PTR [rax+678], 9
01b88 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01b8c c6 80 a7 02 00
00 05 mov BYTE PTR [rax+679], 5
01b93 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01b97 c6 80 a8 02 00
00 06 mov BYTE PTR [rax+680], 6
01b9e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01ba2 c6 80 a9 02 00
00 01 mov BYTE PTR [rax+681], 1
01ba9 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01bad c6 80 aa 02 00
00 0d mov BYTE PTR [rax+682], 13
01bb4 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01bb8 c6 80 ab 02 00
00 0e mov BYTE PTR [rax+683], 14
01bbf 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01bc3 c6 80 ac 02 00
00 00 mov BYTE PTR [rax+684], 0
01bca 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01bce c6 80 ad 02 00
00 0b mov BYTE PTR [rax+685], 11
01bd5 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01bd9 c6 80 ae 02 00
00 03 mov BYTE PTR [rax+686], 3
01be0 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01be4 c6 80 af 02 00
00 08 mov BYTE PTR [rax+687], 8
01beb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01bef c6 80 b0 02 00
00 09 mov BYTE PTR [rax+688], 9
01bf6 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01bfa c6 80 b1 02 00
00 0e mov BYTE PTR [rax+689], 14
01c01 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01c05 c6 80 b2 02 00
00 0f mov BYTE PTR [rax+690], 15
01c0c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01c10 c6 80 b3 02 00
00 05 mov BYTE PTR [rax+691], 5
01c17 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01c1b c6 80 b4 02 00
00 02 mov BYTE PTR [rax+692], 2
01c22 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01c26 c6 80 b5 02 00
00 08 mov BYTE PTR [rax+693], 8
01c2d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01c31 c6 80 b6 02 00
00 0c mov BYTE PTR [rax+694], 12
01c38 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01c3c c6 80 b7 02 00
00 03 mov BYTE PTR [rax+695], 3
01c43 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01c47 c6 80 b8 02 00
00 07 mov BYTE PTR [rax+696], 7
01c4e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01c52 c6 80 b9 02 00
00 00 mov BYTE PTR [rax+697], 0
01c59 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01c5d c6 80 ba 02 00
00 04 mov BYTE PTR [rax+698], 4
01c64 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01c68 c6 80 bb 02 00
00 0a mov BYTE PTR [rax+699], 10
01c6f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01c73 c6 80 bc 02 00
00 01 mov BYTE PTR [rax+700], 1
01c7a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01c7e c6 80 bd 02 00
00 0d mov BYTE PTR [rax+701], 13
01c85 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01c89 c6 80 be 02 00
00 0b mov BYTE PTR [rax+702], 11
01c90 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01c94 c6 80 bf 02 00
00 06 mov BYTE PTR [rax+703], 6
01c9b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01c9f c6 80 c0 02 00
00 04 mov BYTE PTR [rax+704], 4
01ca6 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01caa c6 80 c1 02 00
00 03 mov BYTE PTR [rax+705], 3
01cb1 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01cb5 c6 80 c2 02 00
00 02 mov BYTE PTR [rax+706], 2
01cbc 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01cc0 c6 80 c3 02 00
00 0c mov BYTE PTR [rax+707], 12
01cc7 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01ccb c6 80 c4 02 00
00 09 mov BYTE PTR [rax+708], 9
01cd2 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01cd6 c6 80 c5 02 00
00 05 mov BYTE PTR [rax+709], 5
01cdd 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01ce1 c6 80 c6 02 00
00 0f mov BYTE PTR [rax+710], 15
01ce8 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01cec c6 80 c7 02 00
00 0a mov BYTE PTR [rax+711], 10
01cf3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01cf7 c6 80 c8 02 00
00 0b mov BYTE PTR [rax+712], 11
01cfe 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01d02 c6 80 c9 02 00
00 0e mov BYTE PTR [rax+713], 14
01d09 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01d0d c6 80 ca 02 00
00 01 mov BYTE PTR [rax+714], 1
01d14 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01d18 c6 80 cb 02 00
00 07 mov BYTE PTR [rax+715], 7
01d1f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01d23 c6 80 cc 02 00
00 06 mov BYTE PTR [rax+716], 6
01d2a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01d2e c6 80 cd 02 00
00 00 mov BYTE PTR [rax+717], 0
01d35 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01d39 c6 80 ce 02 00
00 08 mov BYTE PTR [rax+718], 8
01d40 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01d44 c6 80 cf 02 00
00 0d mov BYTE PTR [rax+719], 13
01d4b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01d4f c6 80 d0 02 00
00 04 mov BYTE PTR [rax+720], 4
01d56 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01d5a c6 80 d1 02 00
00 0b mov BYTE PTR [rax+721], 11
01d61 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01d65 c6 80 d2 02 00
00 02 mov BYTE PTR [rax+722], 2
01d6c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01d70 c6 80 d3 02 00
00 0e mov BYTE PTR [rax+723], 14
01d77 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01d7b c6 80 d4 02 00
00 0f mov BYTE PTR [rax+724], 15
01d82 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01d86 c6 80 d5 02 00
00 00 mov BYTE PTR [rax+725], 0
01d8d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01d91 c6 80 d6 02 00
00 08 mov BYTE PTR [rax+726], 8
01d98 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01d9c c6 80 d7 02 00
00 0d mov BYTE PTR [rax+727], 13
01da3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01da7 c6 80 d8 02 00
00 03 mov BYTE PTR [rax+728], 3
01dae 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01db2 c6 80 d9 02 00
00 0c mov BYTE PTR [rax+729], 12
01db9 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01dbd c6 80 da 02 00
00 09 mov BYTE PTR [rax+730], 9
01dc4 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01dc8 c6 80 db 02 00
00 07 mov BYTE PTR [rax+731], 7
01dcf 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01dd3 c6 80 dc 02 00
00 05 mov BYTE PTR [rax+732], 5
01dda 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01dde c6 80 dd 02 00
00 0a mov BYTE PTR [rax+733], 10
01de5 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01de9 c6 80 de 02 00
00 06 mov BYTE PTR [rax+734], 6
01df0 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01df4 c6 80 df 02 00
00 01 mov BYTE PTR [rax+735], 1
01dfb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01dff c6 80 e0 02 00
00 0d mov BYTE PTR [rax+736], 13
01e06 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01e0a c6 80 e1 02 00
00 00 mov BYTE PTR [rax+737], 0
01e11 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01e15 c6 80 e2 02 00
00 0b mov BYTE PTR [rax+738], 11
01e1c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01e20 c6 80 e3 02 00
00 07 mov BYTE PTR [rax+739], 7
01e27 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01e2b c6 80 e4 02 00
00 04 mov BYTE PTR [rax+740], 4
01e32 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01e36 c6 80 e5 02 00
00 09 mov BYTE PTR [rax+741], 9
01e3d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01e41 c6 80 e6 02 00
00 01 mov BYTE PTR [rax+742], 1
01e48 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01e4c c6 80 e7 02 00
00 0a mov BYTE PTR [rax+743], 10
01e53 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01e57 c6 80 e8 02 00
00 0e mov BYTE PTR [rax+744], 14
01e5e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01e62 c6 80 e9 02 00
00 03 mov BYTE PTR [rax+745], 3
01e69 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01e6d c6 80 ea 02 00
00 05 mov BYTE PTR [rax+746], 5
01e74 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01e78 c6 80 eb 02 00
00 0c mov BYTE PTR [rax+747], 12
01e7f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01e83 c6 80 ec 02 00
00 02 mov BYTE PTR [rax+748], 2
01e8a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01e8e c6 80 ed 02 00
00 0f mov BYTE PTR [rax+749], 15
01e95 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01e99 c6 80 ee 02 00
00 08 mov BYTE PTR [rax+750], 8
01ea0 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01ea4 c6 80 ef 02 00
00 06 mov BYTE PTR [rax+751], 6
01eab 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01eaf c6 80 f0 02 00
00 01 mov BYTE PTR [rax+752], 1
01eb6 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01eba c6 80 f1 02 00
00 04 mov BYTE PTR [rax+753], 4
01ec1 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01ec5 c6 80 f2 02 00
00 0b mov BYTE PTR [rax+754], 11
01ecc 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01ed0 c6 80 f3 02 00
00 0d mov BYTE PTR [rax+755], 13
01ed7 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01edb c6 80 f4 02 00
00 0c mov BYTE PTR [rax+756], 12
01ee2 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01ee6 c6 80 f5 02 00
00 03 mov BYTE PTR [rax+757], 3
01eed 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01ef1 c6 80 f6 02 00
00 07 mov BYTE PTR [rax+758], 7
01ef8 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01efc c6 80 f7 02 00
00 0e mov BYTE PTR [rax+759], 14
01f03 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01f07 c6 80 f8 02 00
00 0a mov BYTE PTR [rax+760], 10
01f0e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01f12 c6 80 f9 02 00
00 0f mov BYTE PTR [rax+761], 15
01f19 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01f1d c6 80 fa 02 00
00 06 mov BYTE PTR [rax+762], 6
01f24 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01f28 c6 80 fb 02 00
00 08 mov BYTE PTR [rax+763], 8
01f2f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01f33 c6 80 fc 02 00
00 00 mov BYTE PTR [rax+764], 0
01f3a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01f3e c6 80 fd 02 00
00 05 mov BYTE PTR [rax+765], 5
01f45 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01f49 c6 80 fe 02 00
00 09 mov BYTE PTR [rax+766], 9
01f50 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01f54 c6 80 ff 02 00
00 02 mov BYTE PTR [rax+767], 2
01f5b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01f5f c6 80 00 03 00
00 06 mov BYTE PTR [rax+768], 6
01f66 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01f6a c6 80 01 03 00
00 0b mov BYTE PTR [rax+769], 11
01f71 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01f75 c6 80 02 03 00
00 0d mov BYTE PTR [rax+770], 13
01f7c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01f80 c6 80 03 03 00
00 08 mov BYTE PTR [rax+771], 8
01f87 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01f8b c6 80 04 03 00
00 01 mov BYTE PTR [rax+772], 1
01f92 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01f96 c6 80 05 03 00
00 04 mov BYTE PTR [rax+773], 4
01f9d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01fa1 c6 80 06 03 00
00 0a mov BYTE PTR [rax+774], 10
01fa8 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01fac c6 80 07 03 00
00 07 mov BYTE PTR [rax+775], 7
01fb3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01fb7 c6 80 08 03 00
00 09 mov BYTE PTR [rax+776], 9
01fbe 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01fc2 c6 80 09 03 00
00 05 mov BYTE PTR [rax+777], 5
01fc9 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01fcd c6 80 0a 03 00
00 00 mov BYTE PTR [rax+778], 0
01fd4 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01fd8 c6 80 0b 03 00
00 0f mov BYTE PTR [rax+779], 15
01fdf 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01fe3 c6 80 0c 03 00
00 0e mov BYTE PTR [rax+780], 14
01fea 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01fee c6 80 0d 03 00
00 02 mov BYTE PTR [rax+781], 2
01ff5 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
01ff9 c6 80 0e 03 00
00 03 mov BYTE PTR [rax+782], 3
02000 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02004 c6 80 0f 03 00
00 0c mov BYTE PTR [rax+783], 12
0200b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0200f c6 80 10 03 00
00 0d mov BYTE PTR [rax+784], 13
02016 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0201a c6 80 11 03 00
00 02 mov BYTE PTR [rax+785], 2
02021 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02025 c6 80 12 03 00
00 08 mov BYTE PTR [rax+786], 8
0202c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02030 c6 80 13 03 00
00 04 mov BYTE PTR [rax+787], 4
02037 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0203b c6 80 14 03 00
00 06 mov BYTE PTR [rax+788], 6
02042 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02046 c6 80 15 03 00
00 0f mov BYTE PTR [rax+789], 15
0204d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02051 c6 80 16 03 00
00 0b mov BYTE PTR [rax+790], 11
02058 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0205c c6 80 17 03 00
00 01 mov BYTE PTR [rax+791], 1
02063 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02067 c6 80 18 03 00
00 0a mov BYTE PTR [rax+792], 10
0206e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02072 c6 80 19 03 00
00 09 mov BYTE PTR [rax+793], 9
02079 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0207d c6 80 1a 03 00
00 03 mov BYTE PTR [rax+794], 3
02084 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02088 c6 80 1b 03 00
00 0e mov BYTE PTR [rax+795], 14
0208f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02093 c6 80 1c 03 00
00 05 mov BYTE PTR [rax+796], 5
0209a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0209e c6 80 1d 03 00
00 00 mov BYTE PTR [rax+797], 0
020a5 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
020a9 c6 80 1e 03 00
00 0c mov BYTE PTR [rax+798], 12
020b0 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
020b4 c6 80 1f 03 00
00 07 mov BYTE PTR [rax+799], 7
020bb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
020bf c6 80 20 03 00
00 01 mov BYTE PTR [rax+800], 1
020c6 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
020ca c6 80 21 03 00
00 0f mov BYTE PTR [rax+801], 15
020d1 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
020d5 c6 80 22 03 00
00 0d mov BYTE PTR [rax+802], 13
020dc 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
020e0 c6 80 23 03 00
00 08 mov BYTE PTR [rax+803], 8
020e7 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
020eb c6 80 24 03 00
00 0a mov BYTE PTR [rax+804], 10
020f2 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
020f6 c6 80 25 03 00
00 03 mov BYTE PTR [rax+805], 3
020fd 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02101 c6 80 26 03 00
00 07 mov BYTE PTR [rax+806], 7
02108 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0210c c6 80 27 03 00
00 04 mov BYTE PTR [rax+807], 4
02113 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02117 c6 80 28 03 00
00 0c mov BYTE PTR [rax+808], 12
0211e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02122 c6 80 29 03 00
00 05 mov BYTE PTR [rax+809], 5
02129 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0212d c6 80 2a 03 00
00 06 mov BYTE PTR [rax+810], 6
02134 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02138 c6 80 2b 03 00
00 0b mov BYTE PTR [rax+811], 11
0213f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02143 c6 80 2c 03 00
00 00 mov BYTE PTR [rax+812], 0
0214a 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0214e c6 80 2d 03 00
00 0e mov BYTE PTR [rax+813], 14
02155 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02159 c6 80 2e 03 00
00 09 mov BYTE PTR [rax+814], 9
02160 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02164 c6 80 2f 03 00
00 02 mov BYTE PTR [rax+815], 2
0216b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0216f c6 80 30 03 00
00 07 mov BYTE PTR [rax+816], 7
02176 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0217a c6 80 31 03 00
00 0b mov BYTE PTR [rax+817], 11
02181 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02185 c6 80 32 03 00
00 04 mov BYTE PTR [rax+818], 4
0218c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02190 c6 80 33 03 00
00 01 mov BYTE PTR [rax+819], 1
02197 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0219b c6 80 34 03 00
00 09 mov BYTE PTR [rax+820], 9
021a2 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
021a6 c6 80 35 03 00
00 0c mov BYTE PTR [rax+821], 12
021ad 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
021b1 c6 80 36 03 00
00 0e mov BYTE PTR [rax+822], 14
021b8 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
021bc c6 80 37 03 00
00 02 mov BYTE PTR [rax+823], 2
021c3 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
021c7 c6 80 38 03 00
00 00 mov BYTE PTR [rax+824], 0
021ce 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
021d2 c6 80 39 03 00
00 06 mov BYTE PTR [rax+825], 6
021d9 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
021dd c6 80 3a 03 00
00 0a mov BYTE PTR [rax+826], 10
021e4 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
021e8 c6 80 3b 03 00
00 0d mov BYTE PTR [rax+827], 13
021ef 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
021f3 c6 80 3c 03 00
00 0f mov BYTE PTR [rax+828], 15
021fa 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
021fe c6 80 3d 03 00
00 03 mov BYTE PTR [rax+829], 3
02205 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02209 c6 80 3e 03 00
00 05 mov BYTE PTR [rax+830], 5
02210 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02214 c6 80 3f 03 00
00 08 mov BYTE PTR [rax+831], 8
0221b 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0221f c6 80 40 03 00
00 02 mov BYTE PTR [rax+832], 2
02226 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0222a c6 80 41 03 00
00 01 mov BYTE PTR [rax+833], 1
02231 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02235 c6 80 42 03 00
00 0e mov BYTE PTR [rax+834], 14
0223c 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02240 c6 80 43 03 00
00 07 mov BYTE PTR [rax+835], 7
02247 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0224b c6 80 44 03 00
00 04 mov BYTE PTR [rax+836], 4
02252 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02256 c6 80 45 03 00
00 0a mov BYTE PTR [rax+837], 10
0225d 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02261 c6 80 46 03 00
00 08 mov BYTE PTR [rax+838], 8
02268 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0226c c6 80 47 03 00
00 0d mov BYTE PTR [rax+839], 13
02273 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02277 c6 80 48 03 00
00 0f mov BYTE PTR [rax+840], 15
0227e 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02282 c6 80 49 03 00
00 0c mov BYTE PTR [rax+841], 12
02289 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
0228d c6 80 4a 03 00
00 09 mov BYTE PTR [rax+842], 9
02294 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
02298 c6 80 4b 03 00
00 00 mov BYTE PTR [rax+843], 0
0229f 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
022a3 c6 80 4c 03 00
00 03 mov BYTE PTR [rax+844], 3
022aa 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
022ae c6 80 4d 03 00
00 05 mov BYTE PTR [rax+845], 5
022b5 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
022b9 c6 80 4e 03 00
00 06 mov BYTE PTR [rax+846], 6
022c0 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
022c4 c6 80 4f 03 00
00 0b mov BYTE PTR [rax+847], 11
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; 24 : }
022cb 48 8b 45 50 mov rax, QWORD PTR this$[rbp]
022cf 48 8d 65 40 lea rsp, QWORD PTR [rbp+64]
022d3 5d pop rbp
022d4 c3 ret 0
??0CDes@@QEAA@XZ ENDP ; CDes::CDes
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z
_TEXT 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
?Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z PROC ; CDes::Decrypt, COMDAT
; 172 : {
$LN14:
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
; 173 : 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
; 174 : memset( pOut , 0 , outLen );
00049 48 8b 85 80 1e
00 00 mov rax, QWORD PTR outLen$[rbp]
00050 48 63 00 movsxd rax, DWORD PTR [rax]
00053 4c 8b c0 mov r8, rax
00056 33 d2 xor edx, edx
00058 48 8b 8d 78 1e
00 00 mov rcx, QWORD PTR pOut$[rbp]
0005f e8 00 00 00 00 call memset
; 175 : HexToAscii( pIn , szBuf );
00064 4c 8d 45 00 lea r8, QWORD PTR szBuf$[rbp]
00068 48 8b 95 68 1e
00 00 mov rdx, QWORD PTR pIn$[rbp]
0006f 48 8b 8d 60 1e
00 00 mov rcx, QWORD PTR this$[rbp]
00076 e8 00 00 00 00 call ?HexToAscii@CDes@@IEAAXPEAD0@Z ; CDes::HexToAscii
; 176 : inLen = inLen/2;
0007b 8b 85 70 1e 00
00 mov eax, DWORD PTR inLen$[rbp]
00081 99 cdq
00082 2b c2 sub eax, edx
00084 d1 f8 sar eax, 1
00086 89 85 70 1e 00
00 mov DWORD PTR inLen$[rbp], eax
; 177 : BOOL b = false;
0008c c7 85 00 04 00
00 00 00 00 00 mov DWORD PTR b$[rbp], 0
; 178 : try
; 179 : {
; 180 : b = Des_Go( pOut , szBuf , inLen , pKey , keyLen , DECRYPT_DES );
00096 c6 44 24 30 01 mov BYTE PTR [rsp+48], 1
0009b 8b 85 90 1e 00
00 mov eax, DWORD PTR keyLen$[rbp]
000a1 89 44 24 28 mov DWORD PTR [rsp+40], eax
000a5 48 8b 85 88 1e
00 00 mov rax, QWORD PTR pKey$[rbp]
000ac 48 89 44 24 20 mov QWORD PTR [rsp+32], rax
000b1 44 8b 8d 70 1e
00 00 mov r9d, DWORD PTR inLen$[rbp]
000b8 4c 8d 45 00 lea r8, QWORD PTR szBuf$[rbp]
000bc 48 8b 95 78 1e
00 00 mov rdx, QWORD PTR pOut$[rbp]
000c3 48 8b 8d 60 1e
00 00 mov rcx, QWORD PTR this$[rbp]
000ca e8 00 00 00 00 call ?Des_Go@CDes@@IEAA_NPEAD0JPEBDH_N@Z ; CDes::Des_Go
000cf 0f b6 c0 movzx eax, al
000d2 89 85 00 04 00
00 mov DWORD PTR b$[rbp], eax
000d8 eb 00 jmp SHORT $LN11@Decrypt
$LN12@Decrypt:
$LN11@Decrypt:
; 181 : }
; 182 : catch (...)
; 183 : {
; 184 : #ifndef MOBSETSMS_SDK
; 185 : LOG_APPERROR(_T("T"));
; 186 : #endif
; 187 : b = false;
; 188 : }
; 189 : if ( b )
000da 83 bd 00 04 00
00 00 cmp DWORD PTR b$[rbp], 0
000e1 74 06 je SHORT $LN3@Decrypt
; 190 : {
; 191 : /*
; 192 : long outLen2 = outLen;
; 193 : outLen = (long)strlen( pOut );
; 194 : memset( pOut+outLen,0,outLen2-outLen); //<2F><><EFBFBD>󲿷<EFBFBD><F3B2BFB7><EFBFBD>0
; 195 : */
; 196 : return true;
000e3 b0 01 mov al, 1
000e5 eb 1f jmp SHORT $LN1@Decrypt
; 197 : }
000e7 eb 1b jmp SHORT $LN4@Decrypt
$LN3@Decrypt:
; 198 : else
; 199 : {
; 200 : memset( pOut , 0 , outLen );
000e9 48 8b 85 80 1e
00 00 mov rax, QWORD PTR outLen$[rbp]
000f0 48 63 00 movsxd rax, DWORD PTR [rax]
000f3 4c 8b c0 mov r8, rax
000f6 33 d2 xor edx, edx
000f8 48 8b 8d 78 1e
00 00 mov rcx, QWORD PTR pOut$[rbp]
000ff e8 00 00 00 00 call memset
$LN4@Decrypt:
; 201 : }
; 202 : return false;
00104 32 c0 xor al, al
$LN1@Decrypt:
; 203 : }
00106 48 8b 8d 30 1e
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
0010d 48 33 cd xor rcx, rbp
00110 e8 00 00 00 00 call __security_check_cookie
00115 48 8d a5 48 1e
00 00 lea rsp, QWORD PTR [rbp+7752]
0011c 5f pop rdi
0011d 5d pop rbp
0011e c3 ret 0
?Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z ENDP ; CDes::Decrypt
_TEXT 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
?catch$3@?0??Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z@4HA PROC ; `CDes::Decrypt'::`1'::catch$3
; 183 : {
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$?Decrypt@CDes@@QEAA_NPEADJ0AEAJPEBDJ@Z$0:
; 184 : #ifndef MOBSETSMS_SDK
; 185 : 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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
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 : //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܷ<EFBFBD><DCB7>ص<EFBFBD><D8B5>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>
; 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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
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<wchar_t,ATL::ChTraitsCRT<wchar_t> >::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<wchar_t,ATL::ChTraitsCRT<wchar_t> >::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<wchar_t,ATL::ChTraitsCRT<wchar_t> >::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<wchar_t,ATL::ChTraitsCRT<wchar_t> >::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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
; 2714 : {
; 2715 : ATLTRACE( atlTraceString, 2, _T( "Warning: implicit LoadString(%u) failed\n" ), nID );
; 2716 : }
; 2717 : bRet = true;
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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::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<wchar_t>::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<wchar_t,0>::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<wchar_t>::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<wchar_t,0>::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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAHI@Z
_TEXT SEGMENT
hInstance$ = 0
this$ = 96
nID$ = 104
?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAAHI@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::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<wchar_t,ATL::ChTraitsCRT<wchar_t> >::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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::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<wchar_t,0>::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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ
_TEXT SEGMENT
this$ = 80
??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QEAA@XZ PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, 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<wchar_t,0>::~CSimpleStringT<wchar_t,0>
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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
_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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >'::`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<wchar_t,0>::~CSimpleStringT<wchar_t,0>
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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >'::`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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, 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<wchar_t,ATL::ChTraitsCRT<wchar_t> >::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<wchar_t,0>::CSimpleStringT<wchar_t,0>
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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
_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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >'::`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<wchar_t,0>::~CSimpleStringT<wchar_t,0>
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<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >'::`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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::SetLength
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::Reallocate
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z
_TEXT SEGMENT
pOldData$ = 0
nNewLength$1 = 8
this$ = 96
nLength$ = 104
?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AEAAXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::PrepareWrite2
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::PrepareWrite
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ
_TEXT SEGMENT
this$ = 80
?GetData@?$CSimpleStringT@_W$0A@@ATL@@AEBAPEAUCStringData@2@XZ PROC ; ATL::CSimpleStringT<wchar_t,0>::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<wchar_t,0>::GetData
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?Fork@?$CSimpleStringT@_W$0A@@ATL@@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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::Fork
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AEAAXPEAUCStringData@2@@Z
_TEXT SEGMENT
this$ = 80
pData$ = 88
?Attach@?$CSimpleStringT@_W$0A@@ATL@@AEAAXPEAUCStringData@2@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::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<wchar_t,0>::Attach
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ
_TEXT SEGMENT
?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException, COMDAT
; 772 : {
$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<wchar_t,0>::ThrowMemoryException
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPEB_W@Z
_TEXT SEGMENT
psz$ = 80
?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPEB_W@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::SetString
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_W@Z
_TEXT SEGMENT
this$ = 80
pszSrc$ = 88
?SetString@?$CSimpleStringT@_W$0A@@ATL@@QEAAXPEB_W@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::SetString
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QEAAXH@Z
_TEXT SEGMENT
this$ = 80
nNewLength$ = 88
?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QEAAXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::ReleaseBufferSetLength
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QEBAPEB_WXZ
_TEXT SEGMENT
this$ = 80
?GetString@?$CSimpleStringT@_W$0A@@ATL@@QEBAPEB_WXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::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<wchar_t,0>::GetString
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ
_TEXT SEGMENT
this$ = 80
?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::GetLength
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QEAAPEA_WH@Z
_TEXT SEGMENT
this$ = 80
nMinBufferLength$ = 88
?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QEAAPEA_WH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::GetBuffer
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ
_TEXT SEGMENT
this$ = 80
?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QEBAHXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::GetAllocLength
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QEAAXXZ
_TEXT SEGMENT
pOldData$ = 0
pStringMgr$ = 8
pNewData$1 = 16
this$ = 112
?Empty@?$CSimpleStringT@_W$0A@@ATL@@QEAAXXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::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<wchar_t,0>::operator=
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ??1?$CSimpleStringT@_W$0A@@ATL@@QEAA@XZ
_TEXT SEGMENT
pData$ = 0
this$ = 96
??1?$CSimpleStringT@_W$0A@@ATL@@QEAA@XZ PROC ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>, 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<wchar_t,0>::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<wchar_t,0>::~CSimpleStringT<wchar_t,0>
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ??0?$CSimpleStringT@_W$0A@@ATL@@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<wchar_t,0>::CSimpleStringT<wchar_t,0>, 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<wchar_t,0>::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<wchar_t,0>::CSimpleStringT<wchar_t,0>
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@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<wchar_t>::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<wchar_t>::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<wchar_t>::ConvertToBaseType
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_WH@Z
_TEXT SEGMENT
pszSrc$ = 80
nLength$ = 88
?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_WH@Z PROC ; ATL::ChTraitsCRT<wchar_t>::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<wchar_t>::GetBaseTypeLength
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_W@Z
_TEXT SEGMENT
pszSrc$ = 80
?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPEB_W@Z PROC ; ATL::ChTraitsCRT<wchar_t>::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<wchar_t>::GetBaseTypeLength
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\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<WORD>(~0)) protects the expression from being greater
; 374 : than WORD - this would cause a runtime error when the application is compiled with /RTCc flag.
; 375 : */
; 376 : hResource = ::FindResourceW(hInstance, MAKEINTRESOURCEW( (((id>>4)+1) & static_cast<WORD>(~0)) ), (LPWSTR) RT_STRING);
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<int>(::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