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

8878 lines
302 KiB
Plaintext
Raw Blame History

; Listing generated by Microsoft (R) Optimizing Compiler Version 19.34.31933.0
TITLE D:\Works\Corpsms_2010\SmsCenter\Release_Unicode\Des.obj
.686P
.XMM
include listing.inc
.model flat
INCLUDELIB LIBCMT
INCLUDELIB OLDNAMES
PUBLIC ?__empty_global_delete@@YAXPAX@Z ; __empty_global_delete
PUBLIC ?__empty_global_delete@@YAXPAXI@Z ; __empty_global_delete
PUBLIC ?__empty_global_delete@@YAXPAXW4align_val_t@std@@@Z ; __empty_global_delete
PUBLIC ?__empty_global_delete@@YAXPAXIW4align_val_t@std@@@Z ; __empty_global_delete
PUBLIC ___local_stdio_printf_options
PUBLIC __vsnprintf_l
PUBLIC __vsprintf_l
PUBLIC _sprintf
PUBLIC ?AfxCrtErrorCheck@@YAHH@Z ; AfxCrtErrorCheck
PUBLIC ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
PUBLIC ?wmemcpy_s@Checked@ATL@@YAXPA_WIPB_WI@Z ; ATL::Checked::wmemcpy_s
PUBLIC ?AtlStrLen@ATL@@YAHPB_W@Z ; ATL::AtlStrLen
PUBLIC ?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z ; ATL::_AtlGetStringResourceImage
PUBLIC ?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z ; ATL::AtlGetStringResourceImage
PUBLIC ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
PUBLIC ?IsLocked@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsLocked
PUBLIC ?IsShared@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsShared
PUBLIC ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release
PUBLIC ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
PUBLIC ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
PUBLIC ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType
PUBLIC ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
PUBLIC ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
PUBLIC ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::operator=
PUBLIC ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ ; ATL::CSimpleStringT<wchar_t,0>::Empty
PUBLIC ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength
PUBLIC ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
PUBLIC ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
PUBLIC ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
PUBLIC ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
PUBLIC ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString
PUBLIC ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString
PUBLIC ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::CopyCharsOverlapped
PUBLIC ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::StringLength
PUBLIC ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
PUBLIC ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
PUBLIC ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Fork
PUBLIC ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
PUBLIC ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite
PUBLIC ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2
PUBLIC ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Reallocate
PUBLIC ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetLength
PUBLIC ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
PUBLIC ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
PUBLIC ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
PUBLIC ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
PUBLIC ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
PUBLIC ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad
PUBLIC ?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::FindStringResourceInstance
PUBLIC ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager
PUBLIC ?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z ; CDes::Encrypt
PUBLIC ?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z ; CDes::Decrypt
PUBLIC ??0CDes@@QAE@XZ ; CDes::CDes
PUBLIC ??1CDes@@UAE@XZ ; CDes::~CDes
PUBLIC ?AsciiToHex@CDes@@IAEXPAD0J@Z ; CDes::AsciiToHex
PUBLIC ?CharHex@CDes@@IAEJD@Z ; CDes::CharHex
PUBLIC ?HexToAscii@CDes@@IAEXPAD0@Z ; CDes::HexToAscii
PUBLIC ?Des_Go@CDes@@IAE_NPAD0JPBDH_N@Z ; CDes::Des_Go
PUBLIC ?DES@CDes@@IAEXQAD0QAY1BA@DA@_N_N@Z ; CDes::DES
PUBLIC ?SetKey@CDes@@IAEXPBDH@Z ; CDes::SetKey
PUBLIC ?SetSubKey@CDes@@IAEXPAY1BA@DA@_NQBD@Z ; CDes::SetSubKey
PUBLIC ?F_func@CDes@@IAEXQA_NQB_N@Z ; CDes::F_func
PUBLIC ?S_func@CDes@@IAEXQA_NQB_N@Z ; CDes::S_func
PUBLIC ?Transform@CDes@@IAEXPA_N0PBDH@Z ; CDes::Transform
PUBLIC ?Xor@CDes@@IAEXPA_NPB_NH@Z ; CDes::Xor
PUBLIC ?RotateL@CDes@@IAEXPA_NHH@Z ; CDes::RotateL
PUBLIC ?ByteToBit@CDes@@IAEXPA_NPBDH@Z ; CDes::ByteToBit
PUBLIC ?BitToByte@CDes@@IAEXPADPB_NH@Z ; CDes::BitToByte
PUBLIC ??_GCDes@@UAEPAXI@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@@QAE_NPADJ0AAJPBDJ@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@@QAE_NPADJ0AAJPBDJ@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@YAXPAXI@Z:PROC ; operator delete
EXTRN ___report_rangecheckfailure:PROC
EXTRN __invalid_parameter_noinfo:PROC
EXTRN __errno:PROC
EXTRN ___stdio_common_vsprintf:PROC
EXTRN _memcpy:PROC
EXTRN _memmove:PROC
EXTRN _memset:PROC
EXTRN _wcslen:PROC
EXTRN _strlen:PROC
EXTRN _wmemcpy_s:PROC
EXTRN __imp__LoadResource@8:PROC
EXTRN __imp__LockResource@4:PROC
EXTRN __imp__SizeofResource@8:PROC
EXTRN __imp__FindResourceW@12:PROC
EXTRN ?AfxThrowMemoryException@@YGXXZ:PROC ; AfxThrowMemoryException
EXTRN ?AfxThrowInvalidArgException@@YGXXZ:PROC ; AfxThrowInvalidArgException
EXTRN ?AfxThrowOleException@@YGXJ@Z:PROC ; AfxThrowOleException
EXTRN ?AfxFindStringResourceHandle@@YGPAUHINSTANCE__@@I@Z:PROC ; AfxFindStringResourceHandle
EXTRN ?AfxGetStringManager@@YGPAUIAtlStringMgr@ATL@@XZ:PROC ; AfxGetStringManager
EXTRN ??0CSAStatusLog@@QAE@XZ:PROC ; CSAStatusLog::CSAStatusLog
EXTRN ??1CSAStatusLog@@QAE@XZ:PROC ; CSAStatusLog::~CSAStatusLog
EXTRN ?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z:PROC ; CSAStatusLog::Init
EXTRN ?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z:PROC ; CSAStatusLog::LogError
EXTRN ??_ECDes@@UAEPAXI@Z:PROC ; CDes::`vector deleting destructor'
EXTRN @__security_check_cookie@4:PROC
EXTRN ___CxxFrameHandler3:PROC
EXTRN __chkstk:PROC
EXTRN _memset:PROC
EXTRN ??_7type_info@@6B@:QWORD ; type_info::`vftable'
EXTRN ___security_cookie:DWORD
; COMDAT ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA
_BSS SEGMENT
?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA DQ 01H DUP (?) ; `__local_stdio_printf_options'::`2'::_OptionsStorage
_BSS ENDS
; COMDAT ??_R1A@?0A@EA@CDes@@8
rdata$r SEGMENT
??_R1A@?0A@EA@CDes@@8 DD FLAT:??_R0?AVCDes@@@8 ; CDes::`RTTI Base Class Descriptor at (0,-1,0,64)'
DD 00H
DD 00H
DD 0ffffffffH
DD 00H
DD 040H
DD FLAT:??_R3CDes@@8
rdata$r ENDS
; COMDAT ??_R2CDes@@8
rdata$r SEGMENT
??_R2CDes@@8 DD FLAT:??_R1A@?0A@EA@CDes@@8 ; CDes::`RTTI Base Class Array'
rdata$r ENDS
; COMDAT ??_R3CDes@@8
rdata$r SEGMENT
??_R3CDes@@8 DD 00H ; CDes::`RTTI Class Hierarchy Descriptor'
DD 00H
DD 01H
DD FLAT:??_R2CDes@@8
rdata$r ENDS
; COMDAT ??_R0?AVCDes@@@8
data$rs SEGMENT
??_R0?AVCDes@@@8 DD FLAT:??_7type_info@@6B@ ; CDes `RTTI Type Descriptor'
DD 00H
DB '.?AVCDes@@', 00H
data$rs ENDS
; COMDAT ??_R4CDes@@6B@
rdata$r SEGMENT
??_R4CDes@@6B@ DD 00H ; CDes::`RTTI Complete Object Locator'
DD 00H
DD 00H
DD FLAT:??_R0?AVCDes@@@8
DD FLAT:??_R3CDes@@8
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@@QAE_NPADJ0AAJPBDJ@Z@4JA
_DATA SEGMENT
?__LINE__Var@?0??Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@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@@QAE_NPADJ0AAJPBDJ@Z@4JA
_DATA SEGMENT
?__LINE__Var@?0??Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@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@ DD FLAT:??_R4CDes@@6B@ ; CDes::`vftable'
DD FLAT:??_ECDes@@UAEPAXI@Z
CONST ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 0dH
DB 071H
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 010H
DB 0d8H
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 010H
DW 0162H
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 02fH
DB 03cH
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 023H
DW 019eH
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__catchsym$?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$5 DD 00H
DD 00H
DD 00H
DD FLAT:__catch$?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$0
__tryblocktable$?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z DD 00H
DD 00H
DD 04H
DD 01H
DD FLAT:__catchsym$?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$5
__ehfuncinfo$?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z DD 019930522H
DD 05H
DD FLAT:__unwindtable$?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z
DD 01H
DD FLAT:__tryblocktable$?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z
DD 2 DUP(00H)
DD 00H
DD 00H
__unwindtable$?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z DD 0ffffffffH
DD 00H
DD 0ffffffffH
DD 00H
DD 01H
DD FLAT:__unwindfunclet$?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$2
DD 02H
DD FLAT:__unwindfunclet$?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$3
DD 03H
DD FLAT:__unwindfunclet$?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$4
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 02fH
DB 03cH
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 023H
DW 01feH
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__catchsym$?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$5 DD 00H
DD 00H
DD 00H
DD FLAT:__catch$?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$0
__tryblocktable$?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z DD 00H
DD 00H
DD 04H
DD 01H
DD FLAT:__catchsym$?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$5
__ehfuncinfo$?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z DD 019930522H
DD 05H
DD FLAT:__unwindtable$?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z
DD 01H
DD FLAT:__tryblocktable$?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z
DD 2 DUP(00H)
DD 00H
DD 00H
__unwindtable$?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z DD 0ffffffffH
DD 00H
DD 0ffffffffH
DD 00H
DD 01H
DD FLAT:__unwindfunclet$?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$2
DD 02H
DD FLAT:__unwindfunclet$?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$3
DD 03H
DD FLAT:__unwindfunclet$?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$4
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 016H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ DD 0ffffffffH
DD FLAT:__unwindfunclet$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ$0
__ehfuncinfo$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ DD 019930522H
DD 01H
DD FLAT:__unwindtable$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 016H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z DD 0ffffffffH
DD FLAT:__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z$0
__ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z DD 019930522H
DD 01H
DD FLAT:__unwindtable$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 00H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 09H
voltbl ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 04H
xdata$x ENDS
; Function compile flags: /Odtp /ZI
; COMDAT ??_GCDes@@UAEPAXI@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
___flags$ = 8 ; size = 4
??_GCDes@@UAEPAXI@Z PROC ; CDes::`scalar deleting destructor', COMDAT
; _this$ = ecx
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ??1CDes@@UAE@XZ ; CDes::~CDes
00014 8b 45 08 mov eax, DWORD PTR ___flags$[ebp]
00017 83 e0 01 and eax, 1
0001a 74 11 je SHORT $LN2@scalar
0001c 68 60 0a 00 00 push 2656 ; 00000a60H
00021 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00024 50 push eax
00025 e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete
0002a 83 c4 08 add esp, 8
$LN2@scalar:
0002d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00030 5f pop edi
00031 5e pop esi
00032 5b pop ebx
00033 8b e5 mov esp, ebp
00035 5d pop ebp
00036 c2 04 00 ret 4
??_GCDes@@UAEPAXI@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@@IAEXPADPB_NH@Z
_TEXT SEGMENT
_i$1 = -8 ; size = 4
_this$ = -4 ; size = 4
_Out$ = 8 ; size = 4
_In$ = 12 ; size = 4
_bits$ = 16 ; size = 4
?BitToByte@CDes@@IAEXPADPB_NH@Z PROC ; CDes::BitToByte, COMDAT
; _this$ = ecx
; 133 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 134 : memset(Out, 0, bits>>3);
0000c 8b 45 10 mov eax, DWORD PTR _bits$[ebp]
0000f c1 f8 03 sar eax, 3
00012 50 push eax
00013 6a 00 push 0
00015 8b 4d 08 mov ecx, DWORD PTR _Out$[ebp]
00018 51 push ecx
00019 e8 00 00 00 00 call _memset
0001e 83 c4 0c add esp, 12 ; 0000000cH
; 135 : for(int i=0; i<bits; ++i)
00021 c7 45 f8 00 00
00 00 mov DWORD PTR _i$1[ebp], 0
00028 eb 09 jmp SHORT $LN4@BitToByte
$LN2@BitToByte:
0002a 8b 45 f8 mov eax, DWORD PTR _i$1[ebp]
0002d 83 c0 01 add eax, 1
00030 89 45 f8 mov DWORD PTR _i$1[ebp], eax
$LN4@BitToByte:
00033 8b 45 f8 mov eax, DWORD PTR _i$1[ebp]
00036 3b 45 10 cmp eax, DWORD PTR _bits$[ebp]
00039 7d 2e jge SHORT $LN1@BitToByte
; 136 : Out[i>>3] |= In[i]<<(i&7);
0003b 8b 45 0c mov eax, DWORD PTR _In$[ebp]
0003e 03 45 f8 add eax, DWORD PTR _i$1[ebp]
00041 0f b6 10 movzx edx, BYTE PTR [eax]
00044 8b 4d f8 mov ecx, DWORD PTR _i$1[ebp]
00047 83 e1 07 and ecx, 7
0004a d3 e2 shl edx, cl
0004c 8b 45 f8 mov eax, DWORD PTR _i$1[ebp]
0004f c1 f8 03 sar eax, 3
00052 8b 4d 08 mov ecx, DWORD PTR _Out$[ebp]
00055 0f be 04 01 movsx eax, BYTE PTR [ecx+eax]
00059 0b c2 or eax, edx
0005b 8b 4d f8 mov ecx, DWORD PTR _i$1[ebp]
0005e c1 f9 03 sar ecx, 3
00061 8b 55 08 mov edx, DWORD PTR _Out$[ebp]
00064 88 04 0a mov BYTE PTR [edx+ecx], al
00067 eb c1 jmp SHORT $LN2@BitToByte
$LN1@BitToByte:
; 137 : }
00069 5f pop edi
0006a 5e pop esi
0006b 5b pop ebx
0006c 8b e5 mov esp, ebp
0006e 5d pop ebp
0006f c2 0c 00 ret 12 ; 0000000cH
?BitToByte@CDes@@IAEXPADPB_NH@Z ENDP ; CDes::BitToByte
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?ByteToBit@CDes@@IAEXPA_NPBDH@Z
_TEXT SEGMENT
_i$1 = -8 ; size = 4
_this$ = -4 ; size = 4
_Out$ = 8 ; size = 4
_In$ = 12 ; size = 4
_bits$ = 16 ; size = 4
?ByteToBit@CDes@@IAEXPA_NPBDH@Z PROC ; CDes::ByteToBit, COMDAT
; _this$ = ecx
; 128 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 129 : for(int i=0; i<bits; ++i)
0000c c7 45 f8 00 00
00 00 mov DWORD PTR _i$1[ebp], 0
00013 eb 09 jmp SHORT $LN4@ByteToBit
$LN2@ByteToBit:
00015 8b 45 f8 mov eax, DWORD PTR _i$1[ebp]
00018 83 c0 01 add eax, 1
0001b 89 45 f8 mov DWORD PTR _i$1[ebp], eax
$LN4@ByteToBit:
0001e 8b 45 f8 mov eax, DWORD PTR _i$1[ebp]
00021 3b 45 10 cmp eax, DWORD PTR _bits$[ebp]
00024 7d 22 jge SHORT $LN1@ByteToBit
; 130 : Out[i] = (In[i>>3]>>(i&7)) & 1;
00026 8b 45 f8 mov eax, DWORD PTR _i$1[ebp]
00029 c1 f8 03 sar eax, 3
0002c 8b 4d 0c mov ecx, DWORD PTR _In$[ebp]
0002f 0f be 14 01 movsx edx, BYTE PTR [ecx+eax]
00033 8b 4d f8 mov ecx, DWORD PTR _i$1[ebp]
00036 83 e1 07 and ecx, 7
00039 d3 fa sar edx, cl
0003b 83 e2 01 and edx, 1
0003e 8b 45 08 mov eax, DWORD PTR _Out$[ebp]
00041 03 45 f8 add eax, DWORD PTR _i$1[ebp]
00044 88 10 mov BYTE PTR [eax], dl
00046 eb cd jmp SHORT $LN2@ByteToBit
$LN1@ByteToBit:
; 131 : }
00048 5f pop edi
00049 5e pop esi
0004a 5b pop ebx
0004b 8b e5 mov esp, ebp
0004d 5d pop ebp
0004e c2 0c 00 ret 12 ; 0000000cH
?ByteToBit@CDes@@IAEXPA_NPBDH@Z ENDP ; CDes::ByteToBit
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?RotateL@CDes@@IAEXPA_NHH@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_In$ = 8 ; size = 4
_len$ = 12 ; size = 4
_loop$ = 16 ; size = 4
?RotateL@CDes@@IAEXPA_NHH@Z PROC ; CDes::RotateL, COMDAT
; _this$ = ecx
; 122 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 123 : memcpy(Tmp, In, loop);
0000c 8b 45 10 mov eax, DWORD PTR _loop$[ebp]
0000f 50 push eax
00010 8b 4d 08 mov ecx, DWORD PTR _In$[ebp]
00013 51 push ecx
00014 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00017 81 c2 4d 09 00
00 add edx, 2381 ; 0000094dH
0001d 52 push edx
0001e e8 00 00 00 00 call _memcpy
00023 83 c4 0c add esp, 12 ; 0000000cH
; 124 : memcpy(In, In+loop, len-loop);
00026 8b 45 0c mov eax, DWORD PTR _len$[ebp]
00029 2b 45 10 sub eax, DWORD PTR _loop$[ebp]
0002c 50 push eax
0002d 8b 4d 08 mov ecx, DWORD PTR _In$[ebp]
00030 03 4d 10 add ecx, DWORD PTR _loop$[ebp]
00033 51 push ecx
00034 8b 55 08 mov edx, DWORD PTR _In$[ebp]
00037 52 push edx
00038 e8 00 00 00 00 call _memcpy
0003d 83 c4 0c add esp, 12 ; 0000000cH
; 125 : memcpy(In+len-loop, Tmp, loop);
00040 8b 45 10 mov eax, DWORD PTR _loop$[ebp]
00043 50 push eax
00044 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00047 81 c1 4d 09 00
00 add ecx, 2381 ; 0000094dH
0004d 51 push ecx
0004e 8b 55 08 mov edx, DWORD PTR _In$[ebp]
00051 03 55 0c add edx, DWORD PTR _len$[ebp]
00054 2b 55 10 sub edx, DWORD PTR _loop$[ebp]
00057 52 push edx
00058 e8 00 00 00 00 call _memcpy
0005d 83 c4 0c add esp, 12 ; 0000000cH
; 126 : }
00060 5f pop edi
00061 5e pop esi
00062 5b pop ebx
00063 8b e5 mov esp, ebp
00065 5d pop ebp
00066 c2 0c 00 ret 12 ; 0000000cH
?RotateL@CDes@@IAEXPA_NHH@Z ENDP ; CDes::RotateL
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?Xor@CDes@@IAEXPA_NPB_NH@Z
_TEXT SEGMENT
_i$1 = -8 ; size = 4
_this$ = -4 ; size = 4
_InA$ = 8 ; size = 4
_InB$ = 12 ; size = 4
_len$ = 16 ; size = 4
?Xor@CDes@@IAEXPA_NPB_NH@Z PROC ; CDes::Xor, COMDAT
; _this$ = ecx
; 117 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 118 : for(int i=0; i<len; ++i)
0000c c7 45 f8 00 00
00 00 mov DWORD PTR _i$1[ebp], 0
00013 eb 09 jmp SHORT $LN4@Xor
$LN2@Xor:
00015 8b 45 f8 mov eax, DWORD PTR _i$1[ebp]
00018 83 c0 01 add eax, 1
0001b 89 45 f8 mov DWORD PTR _i$1[ebp], eax
$LN4@Xor:
0001e 8b 45 f8 mov eax, DWORD PTR _i$1[ebp]
00021 3b 45 10 cmp eax, DWORD PTR _len$[ebp]
00024 7d 1e jge SHORT $LN1@Xor
; 119 : InA[i] ^= InB[i];
00026 8b 45 08 mov eax, DWORD PTR _InA$[ebp]
00029 03 45 f8 add eax, DWORD PTR _i$1[ebp]
0002c 0f b6 08 movzx ecx, BYTE PTR [eax]
0002f 8b 55 0c mov edx, DWORD PTR _InB$[ebp]
00032 03 55 f8 add edx, DWORD PTR _i$1[ebp]
00035 0f b6 02 movzx eax, BYTE PTR [edx]
00038 33 c8 xor ecx, eax
0003a 8b 55 08 mov edx, DWORD PTR _InA$[ebp]
0003d 03 55 f8 add edx, DWORD PTR _i$1[ebp]
00040 88 0a mov BYTE PTR [edx], cl
00042 eb d1 jmp SHORT $LN2@Xor
$LN1@Xor:
; 120 : }
00044 5f pop edi
00045 5e pop esi
00046 5b pop ebx
00047 8b e5 mov esp, ebp
00049 5d pop ebp
0004a c2 0c 00 ret 12 ; 0000000cH
?Xor@CDes@@IAEXPA_NPB_NH@Z ENDP ; CDes::Xor
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?Transform@CDes@@IAEXPA_N0PBDH@Z
_TEXT SEGMENT
_i$1 = -8 ; size = 4
_this$ = -4 ; size = 4
_Out$ = 8 ; size = 4
_In$ = 12 ; size = 4
_Table$ = 16 ; size = 4
_len$ = 20 ; size = 4
?Transform@CDes@@IAEXPA_N0PBDH@Z PROC ; CDes::Transform, COMDAT
; _this$ = ecx
; 111 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 112 : for(int i=0; i<len; ++i)
0000c c7 45 f8 00 00
00 00 mov DWORD PTR _i$1[ebp], 0
00013 eb 09 jmp SHORT $LN4@Transform
$LN2@Transform:
00015 8b 45 f8 mov eax, DWORD PTR _i$1[ebp]
00018 83 c0 01 add eax, 1
0001b 89 45 f8 mov DWORD PTR _i$1[ebp], eax
$LN4@Transform:
0001e 8b 45 f8 mov eax, DWORD PTR _i$1[ebp]
00021 3b 45 14 cmp eax, DWORD PTR _len$[ebp]
00024 7d 1e jge SHORT $LN3@Transform
; 113 : Tmp[i] = In[ Table[i]-1 ];
00026 8b 45 10 mov eax, DWORD PTR _Table$[ebp]
00029 03 45 f8 add eax, DWORD PTR _i$1[ebp]
0002c 0f be 08 movsx ecx, BYTE PTR [eax]
0002f 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00032 03 55 f8 add edx, DWORD PTR _i$1[ebp]
00035 8b 45 0c mov eax, DWORD PTR _In$[ebp]
00038 8a 4c 08 ff mov cl, BYTE PTR [eax+ecx-1]
0003c 88 8a 4d 09 00
00 mov BYTE PTR [edx+2381], cl
00042 eb d1 jmp SHORT $LN2@Transform
$LN3@Transform:
; 114 : memcpy(Out, Tmp, len);
00044 8b 45 14 mov eax, DWORD PTR _len$[ebp]
00047 50 push eax
00048 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0004b 81 c1 4d 09 00
00 add ecx, 2381 ; 0000094dH
00051 51 push ecx
00052 8b 55 08 mov edx, DWORD PTR _Out$[ebp]
00055 52 push edx
00056 e8 00 00 00 00 call _memcpy
0005b 83 c4 0c add esp, 12 ; 0000000cH
; 115 : }
0005e 5f pop edi
0005f 5e pop esi
00060 5b pop ebx
00061 8b e5 mov esp, ebp
00063 5d pop ebp
00064 c2 10 00 ret 16 ; 00000010H
?Transform@CDes@@IAEXPA_N0PBDH@Z ENDP ; CDes::Transform
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?S_func@CDes@@IAEXQA_NQB_N@Z
_TEXT SEGMENT
_k$1 = -7 ; size = 1
_j$2 = -6 ; size = 1
_i$3 = -5 ; size = 1
_this$ = -4 ; size = 4
_Out$ = 8 ; size = 4
_In$ = 12 ; size = 4
?S_func@CDes@@IAEXQA_NQB_N@Z PROC ; CDes::S_func, COMDAT
; _this$ = ecx
; 103 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 104 : for(char i=0,j,k; i<8; ++i,In+=6,Out+=4) {
0000c c6 45 fb 00 mov BYTE PTR _i$3[ebp], 0
00010 eb 1a jmp SHORT $LN4@S_func
$LN2@S_func:
00012 8a 45 fb mov al, BYTE PTR _i$3[ebp]
00015 04 01 add al, 1
00017 88 45 fb mov BYTE PTR _i$3[ebp], al
0001a 8b 4d 0c mov ecx, DWORD PTR _In$[ebp]
0001d 83 c1 06 add ecx, 6
00020 89 4d 0c mov DWORD PTR _In$[ebp], ecx
00023 8b 55 08 mov edx, DWORD PTR _Out$[ebp]
00026 83 c2 04 add edx, 4
00029 89 55 08 mov DWORD PTR _Out$[ebp], edx
$LN4@S_func:
0002c 0f be 45 fb movsx eax, BYTE PTR _i$3[ebp]
00030 83 f8 08 cmp eax, 8
00033 0f 8d a1 00 00
00 jge $LN1@S_func
; 105 : j = (In[0]<<1) + In[5];
00039 b8 01 00 00 00 mov eax, 1
0003e 6b c8 00 imul ecx, eax, 0
00041 8b 55 0c mov edx, DWORD PTR _In$[ebp]
00044 0f b6 04 0a movzx eax, BYTE PTR [edx+ecx]
00048 b9 01 00 00 00 mov ecx, 1
0004d 6b d1 05 imul edx, ecx, 5
00050 8b 4d 0c mov ecx, DWORD PTR _In$[ebp]
00053 0f b6 14 11 movzx edx, BYTE PTR [ecx+edx]
00057 8d 04 42 lea eax, DWORD PTR [edx+eax*2]
0005a 88 45 fa mov BYTE PTR _j$2[ebp], al
; 106 : k = (In[1]<<3) + (In[2]<<2) + (In[3]<<1) + In[4];
0005d b8 01 00 00 00 mov eax, 1
00062 c1 e0 00 shl eax, 0
00065 8b 4d 0c mov ecx, DWORD PTR _In$[ebp]
00068 0f b6 14 01 movzx edx, BYTE PTR [ecx+eax]
0006c b8 01 00 00 00 mov eax, 1
00071 d1 e0 shl eax, 1
00073 8b 4d 0c mov ecx, DWORD PTR _In$[ebp]
00076 0f b6 04 01 movzx eax, BYTE PTR [ecx+eax]
0007a c1 e0 02 shl eax, 2
0007d 8d 0c d0 lea ecx, DWORD PTR [eax+edx*8]
00080 ba 01 00 00 00 mov edx, 1
00085 6b c2 03 imul eax, edx, 3
00088 8b 55 0c mov edx, DWORD PTR _In$[ebp]
0008b 0f b6 04 02 movzx eax, BYTE PTR [edx+eax]
0008f 8d 0c 41 lea ecx, DWORD PTR [ecx+eax*2]
00092 ba 01 00 00 00 mov edx, 1
00097 c1 e2 02 shl edx, 2
0009a 8b 45 0c mov eax, DWORD PTR _In$[ebp]
0009d 0f b6 14 10 movzx edx, BYTE PTR [eax+edx]
000a1 03 ca add ecx, edx
000a3 88 4d f9 mov BYTE PTR _k$1[ebp], cl
; 107 : ByteToBit(Out, &S_Box[i][j][k], 4);
000a6 6a 04 push 4
000a8 0f be 45 fb movsx eax, BYTE PTR _i$3[ebp]
000ac c1 e0 06 shl eax, 6
000af 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
000b2 8d 94 01 4c 01
00 00 lea edx, DWORD PTR [ecx+eax+332]
000b9 0f be 45 fa movsx eax, BYTE PTR _j$2[ebp]
000bd c1 e0 04 shl eax, 4
000c0 03 d0 add edx, eax
000c2 0f be 4d f9 movsx ecx, BYTE PTR _k$1[ebp]
000c6 03 d1 add edx, ecx
000c8 52 push edx
000c9 8b 55 08 mov edx, DWORD PTR _Out$[ebp]
000cc 52 push edx
000cd 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
000d0 e8 00 00 00 00 call ?ByteToBit@CDes@@IAEXPA_NPBDH@Z ; CDes::ByteToBit
; 108 : }
000d5 e9 38 ff ff ff jmp $LN2@S_func
$LN1@S_func:
; 109 : }
000da 5f pop edi
000db 5e pop esi
000dc 5b pop ebx
000dd 8b e5 mov esp, ebp
000df 5d pop ebp
000e0 c2 08 00 ret 8
?S_func@CDes@@IAEXQA_NQB_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@@IAEXQA_NQB_N@Z
_TEXT SEGMENT
_MR$ = -56 ; size = 48
_this$ = -8 ; size = 4
__$ArrayPad$ = -4 ; size = 4
_In$ = 8 ; size = 4
_Ki$ = 12 ; size = 4
?F_func@CDes@@IAEXQA_NQB_N@Z PROC ; CDes::F_func, COMDAT
; _this$ = ecx
; 95 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 78 sub esp, 120 ; 00000078H
00006 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0000b 33 c5 xor eax, ebp
0000d 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax
00010 53 push ebx
00011 56 push esi
00012 57 push edi
00013 89 4d f8 mov DWORD PTR _this$[ebp], ecx
; 96 : bool MR[48];
; 97 : Transform(MR, In, E_Table, 48);
00016 6a 30 push 48 ; 00000030H
00018 8b 45 f8 mov eax, DWORD PTR _this$[ebp]
0001b 05 84 00 00 00 add eax, 132 ; 00000084H
00020 50 push eax
00021 8b 4d 08 mov ecx, DWORD PTR _In$[ebp]
00024 51 push ecx
00025 8d 55 c8 lea edx, DWORD PTR _MR$[ebp]
00028 52 push edx
00029 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
0002c e8 00 00 00 00 call ?Transform@CDes@@IAEXPA_N0PBDH@Z ; CDes::Transform
; 98 : Xor(MR, Ki, 48);
00031 6a 30 push 48 ; 00000030H
00033 8b 45 0c mov eax, DWORD PTR _Ki$[ebp]
00036 50 push eax
00037 8d 4d c8 lea ecx, DWORD PTR _MR$[ebp]
0003a 51 push ecx
0003b 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
0003e e8 00 00 00 00 call ?Xor@CDes@@IAEXPA_NPB_NH@Z ; CDes::Xor
; 99 : S_func(In, MR);
00043 8d 45 c8 lea eax, DWORD PTR _MR$[ebp]
00046 50 push eax
00047 8b 4d 08 mov ecx, DWORD PTR _In$[ebp]
0004a 51 push ecx
0004b 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
0004e e8 00 00 00 00 call ?S_func@CDes@@IAEXQA_NQB_N@Z ; CDes::S_func
; 100 : Transform(In, In, P_Table, 32);
00053 6a 20 push 32 ; 00000020H
00055 8b 45 f8 mov eax, DWORD PTR _this$[ebp]
00058 05 b4 00 00 00 add eax, 180 ; 000000b4H
0005d 50 push eax
0005e 8b 4d 08 mov ecx, DWORD PTR _In$[ebp]
00061 51 push ecx
00062 8b 55 08 mov edx, DWORD PTR _In$[ebp]
00065 52 push edx
00066 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
00069 e8 00 00 00 00 call ?Transform@CDes@@IAEXPA_N0PBDH@Z ; CDes::Transform
; 101 : }
0006e 5f pop edi
0006f 5e pop esi
00070 5b pop ebx
00071 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp]
00074 33 cd xor ecx, ebp
00076 e8 00 00 00 00 call @__security_check_cookie@4
0007b 8b e5 mov esp, ebp
0007d 5d pop ebp
0007e c2 08 00 ret 8
?F_func@CDes@@IAEXQA_NQB_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@@IAEXPAY1BA@DA@_NQBD@Z
_TEXT SEGMENT
_i$1 = -84 ; size = 4
_KR$ = -80 ; size = 4
_KL$ = -76 ; size = 4
_K$ = -72 ; size = 64
_this$ = -8 ; size = 4
__$ArrayPad$ = -4 ; size = 4
_pSubKey$ = 8 ; size = 4
_Key$ = 12 ; size = 4
?SetSubKey@CDes@@IAEXPAY1BA@DA@_NQBD@Z PROC ; CDes::SetSubKey, COMDAT
; _this$ = ecx
; 84 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 81 ec 94 00 00
00 sub esp, 148 ; 00000094H
00009 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0000e 33 c5 xor eax, ebp
00010 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax
00013 53 push ebx
00014 56 push esi
00015 57 push edi
00016 89 4d f8 mov DWORD PTR _this$[ebp], ecx
; 85 : bool K[64], *KL=&K[0], *KR=&K[28];
00019 b8 01 00 00 00 mov eax, 1
0001e 6b c8 00 imul ecx, eax, 0
00021 8d 54 0d b8 lea edx, DWORD PTR _K$[ebp+ecx]
00025 89 55 b4 mov DWORD PTR _KL$[ebp], edx
00028 b8 01 00 00 00 mov eax, 1
0002d 6b c8 1c imul ecx, eax, 28
00030 8d 54 0d b8 lea edx, DWORD PTR _K$[ebp+ecx]
00034 89 55 b0 mov DWORD PTR _KR$[ebp], edx
; 86 : ByteToBit(K, Key, 64);
00037 6a 40 push 64 ; 00000040H
00039 8b 45 0c mov eax, DWORD PTR _Key$[ebp]
0003c 50 push eax
0003d 8d 4d b8 lea ecx, DWORD PTR _K$[ebp]
00040 51 push ecx
00041 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
00044 e8 00 00 00 00 call ?ByteToBit@CDes@@IAEXPA_NPBDH@Z ; CDes::ByteToBit
; 87 : Transform(K, K, PC1_Table, 56);
00049 6a 38 push 56 ; 00000038H
0004b 8b 45 f8 mov eax, DWORD PTR _this$[ebp]
0004e 05 d4 00 00 00 add eax, 212 ; 000000d4H
00053 50 push eax
00054 8d 4d b8 lea ecx, DWORD PTR _K$[ebp]
00057 51 push ecx
00058 8d 55 b8 lea edx, DWORD PTR _K$[ebp]
0005b 52 push edx
0005c 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
0005f e8 00 00 00 00 call ?Transform@CDes@@IAEXPA_N0PBDH@Z ; CDes::Transform
; 88 : for(int i=0; i<16; ++i) {
00064 c7 45 ac 00 00
00 00 mov DWORD PTR _i$1[ebp], 0
0006b eb 09 jmp SHORT $LN4@SetSubKey
$LN2@SetSubKey:
0006d 8b 45 ac mov eax, DWORD PTR _i$1[ebp]
00070 83 c0 01 add eax, 1
00073 89 45 ac mov DWORD PTR _i$1[ebp], eax
$LN4@SetSubKey:
00076 83 7d ac 10 cmp DWORD PTR _i$1[ebp], 16 ; 00000010H
0007a 7d 59 jge SHORT $LN1@SetSubKey
; 89 : RotateL(KL, 28, LOOP_Table[i]);
0007c 8b 45 f8 mov eax, DWORD PTR _this$[ebp]
0007f 03 45 ac add eax, DWORD PTR _i$1[ebp]
00082 0f be 88 3c 01
00 00 movsx ecx, BYTE PTR [eax+316]
00089 51 push ecx
0008a 6a 1c push 28 ; 0000001cH
0008c 8b 55 b4 mov edx, DWORD PTR _KL$[ebp]
0008f 52 push edx
00090 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
00093 e8 00 00 00 00 call ?RotateL@CDes@@IAEXPA_NHH@Z ; CDes::RotateL
; 90 : RotateL(KR, 28, LOOP_Table[i]);
00098 8b 45 f8 mov eax, DWORD PTR _this$[ebp]
0009b 03 45 ac add eax, DWORD PTR _i$1[ebp]
0009e 0f be 88 3c 01
00 00 movsx ecx, BYTE PTR [eax+316]
000a5 51 push ecx
000a6 6a 1c push 28 ; 0000001cH
000a8 8b 55 b0 mov edx, DWORD PTR _KR$[ebp]
000ab 52 push edx
000ac 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
000af e8 00 00 00 00 call ?RotateL@CDes@@IAEXPA_NHH@Z ; CDes::RotateL
; 91 : Transform((*pSubKey)[i], K, PC2_Table, 48);
000b4 6a 30 push 48 ; 00000030H
000b6 8b 45 f8 mov eax, DWORD PTR _this$[ebp]
000b9 05 0c 01 00 00 add eax, 268 ; 0000010cH
000be 50 push eax
000bf 8d 4d b8 lea ecx, DWORD PTR _K$[ebp]
000c2 51 push ecx
000c3 6b 55 ac 30 imul edx, DWORD PTR _i$1[ebp], 48
000c7 03 55 08 add edx, DWORD PTR _pSubKey$[ebp]
000ca 52 push edx
000cb 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
000ce e8 00 00 00 00 call ?Transform@CDes@@IAEXPA_N0PBDH@Z ; CDes::Transform
; 92 : }
000d3 eb 98 jmp SHORT $LN2@SetSubKey
$LN1@SetSubKey:
; 93 : }
000d5 5f pop edi
000d6 5e pop esi
000d7 5b pop ebx
000d8 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp]
000db 33 cd xor ecx, ebp
000dd e8 00 00 00 00 call @__security_check_cookie@4
000e2 8b e5 mov esp, ebp
000e4 5d pop ebp
000e5 c2 08 00 ret 8
?SetSubKey@CDes@@IAEXPAY1BA@DA@_NQBD@Z ENDP ; CDes::SetSubKey
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?SetKey@CDes@@IAEXPBDH@Z
_TEXT SEGMENT
tv70 = -72 ; size = 4
tv94 = -69 ; size = 1
_this$ = -4 ; size = 4
_Key$ = 8 ; size = 4
_len$ = 12 ; size = 4
?SetKey@CDes@@IAEXPBDH@Z PROC ; CDes::SetKey, COMDAT
; _this$ = ecx
; 54 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 55 : memset(deskey, 0, 16);
0000c 6a 10 push 16 ; 00000010H
0000e 6a 00 push 0
00010 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00013 05 4d 0a 00 00 add eax, 2637 ; 00000a4dH
00018 50 push eax
00019 e8 00 00 00 00 call _memset
0001e 83 c4 0c add esp, 12 ; 0000000cH
; 56 : memcpy(deskey, Key, len>16?16:len);
00021 83 7d 0c 10 cmp DWORD PTR _len$[ebp], 16 ; 00000010H
00025 7e 09 jle SHORT $LN3@SetKey
00027 c7 45 b8 10 00
00 00 mov DWORD PTR tv70[ebp], 16 ; 00000010H
0002e eb 06 jmp SHORT $LN4@SetKey
$LN3@SetKey:
00030 8b 45 0c mov eax, DWORD PTR _len$[ebp]
00033 89 45 b8 mov DWORD PTR tv70[ebp], eax
$LN4@SetKey:
00036 8b 4d b8 mov ecx, DWORD PTR tv70[ebp]
00039 51 push ecx
0003a 8b 55 08 mov edx, DWORD PTR _Key$[ebp]
0003d 52 push edx
0003e 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00041 05 4d 0a 00 00 add eax, 2637 ; 00000a4dH
00046 50 push eax
00047 e8 00 00 00 00 call _memcpy
0004c 83 c4 0c add esp, 12 ; 0000000cH
; 57 : SetSubKey(&SubKey[0], &deskey[0]);
0004f b8 01 00 00 00 mov eax, 1
00054 6b c8 00 imul ecx, eax, 0
00057 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0005a 8d 84 0a 4d 0a
00 00 lea eax, DWORD PTR [edx+ecx+2637]
00061 50 push eax
00062 b9 00 03 00 00 mov ecx, 768 ; 00000300H
00067 6b d1 00 imul edx, ecx, 0
0006a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0006d 8d 8c 10 4c 03
00 00 lea ecx, DWORD PTR [eax+edx+844]
00074 51 push ecx
00075 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00078 e8 00 00 00 00 call ?SetSubKey@CDes@@IAEXPAY1BA@DA@_NQBD@Z ; CDes::SetSubKey
; 58 : Is3DES = len>8 ? (SetSubKey(&SubKey[1], &deskey[8]), true) : false;
0007d 83 7d 0c 08 cmp DWORD PTR _len$[ebp], 8
00081 7e 34 jle SHORT $LN5@SetKey
00083 b8 01 00 00 00 mov eax, 1
00088 c1 e0 03 shl eax, 3
0008b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0008e 8d 94 01 4d 0a
00 00 lea edx, DWORD PTR [ecx+eax+2637]
00095 52 push edx
00096 b8 00 03 00 00 mov eax, 768 ; 00000300H
0009b c1 e0 00 shl eax, 0
0009e 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
000a1 8d 94 01 4c 03
00 00 lea edx, DWORD PTR [ecx+eax+844]
000a8 52 push edx
000a9 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
000ac e8 00 00 00 00 call ?SetSubKey@CDes@@IAEXPAY1BA@DA@_NQBD@Z ; CDes::SetSubKey
000b1 c6 45 bb 01 mov BYTE PTR tv94[ebp], 1
000b5 eb 04 jmp SHORT $LN6@SetKey
$LN5@SetKey:
000b7 c6 45 bb 00 mov BYTE PTR tv94[ebp], 0
$LN6@SetKey:
000bb 8b 45 fc mov eax, DWORD PTR _this$[ebp]
000be 8a 4d bb mov cl, BYTE PTR tv94[ebp]
000c1 88 88 4c 09 00
00 mov BYTE PTR [eax+2380], cl
; 59 : }
000c7 5f pop edi
000c8 5e pop esi
000c9 5b pop ebx
000ca 8b e5 mov esp, ebp
000cc 5d pop ebp
000cd c2 08 00 ret 8
?SetKey@CDes@@IAEXPBDH@Z ENDP ; CDes::SetKey
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?DES@CDes@@IAEXQAD0QAY1BA@DA@_N_N@Z
_TEXT SEGMENT
_i$1 = -120 ; size = 4
_i$2 = -116 ; size = 4
_Ri$ = -112 ; size = 4
_Li$ = -108 ; size = 4
_tmp$ = -104 ; size = 32
_M$ = -72 ; size = 64
_this$ = -8 ; size = 4
__$ArrayPad$ = -4 ; size = 4
_Out$ = 8 ; size = 4
_In$ = 12 ; size = 4
_pSubKey$ = 16 ; size = 4
_Type$ = 20 ; size = 1
?DES@CDes@@IAEXQAD0QAY1BA@DA@_N_N@Z PROC ; CDes::DES, COMDAT
; _this$ = ecx
; 61 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 81 ec b8 00 00
00 sub esp, 184 ; 000000b8H
00009 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0000e 33 c5 xor eax, ebp
00010 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax
00013 53 push ebx
00014 56 push esi
00015 57 push edi
00016 89 4d f8 mov DWORD PTR _this$[ebp], ecx
; 62 : bool M[64], tmp[32], *Li=&M[0], *Ri=&M[32];
00019 b8 01 00 00 00 mov eax, 1
0001e 6b c8 00 imul ecx, eax, 0
00021 8d 54 0d b8 lea edx, DWORD PTR _M$[ebp+ecx]
00025 89 55 94 mov DWORD PTR _Li$[ebp], edx
00028 b8 01 00 00 00 mov eax, 1
0002d c1 e0 05 shl eax, 5
00030 8d 4c 05 b8 lea ecx, DWORD PTR _M$[ebp+eax]
00034 89 4d 90 mov DWORD PTR _Ri$[ebp], ecx
; 63 : ByteToBit(M, In, 64);
00037 6a 40 push 64 ; 00000040H
00039 8b 45 0c mov eax, DWORD PTR _In$[ebp]
0003c 50 push eax
0003d 8d 4d b8 lea ecx, DWORD PTR _M$[ebp]
00040 51 push ecx
00041 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
00044 e8 00 00 00 00 call ?ByteToBit@CDes@@IAEXPA_NPBDH@Z ; CDes::ByteToBit
; 64 : Transform(M, M, IP_Table, 64);
00049 6a 40 push 64 ; 00000040H
0004b 8b 45 f8 mov eax, DWORD PTR _this$[ebp]
0004e 83 c0 04 add eax, 4
00051 50 push eax
00052 8d 4d b8 lea ecx, DWORD PTR _M$[ebp]
00055 51 push ecx
00056 8d 55 b8 lea edx, DWORD PTR _M$[ebp]
00059 52 push edx
0005a 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
0005d e8 00 00 00 00 call ?Transform@CDes@@IAEXPA_N0PBDH@Z ; CDes::Transform
; 65 : if( Type == ENCRYPT_DES ){
00062 0f b6 45 14 movzx eax, BYTE PTR _Type$[ebp]
00066 85 c0 test eax, eax
00068 75 66 jne SHORT $LN8@DES
; 66 : for(int i=0; i<16; ++i) {
0006a c7 45 8c 00 00
00 00 mov DWORD PTR _i$2[ebp], 0
00071 eb 09 jmp SHORT $LN4@DES
$LN2@DES:
00073 8b 45 8c mov eax, DWORD PTR _i$2[ebp]
00076 83 c0 01 add eax, 1
00079 89 45 8c mov DWORD PTR _i$2[ebp], eax
$LN4@DES:
0007c 83 7d 8c 10 cmp DWORD PTR _i$2[ebp], 16 ; 00000010H
00080 7d 4c jge SHORT $LN3@DES
; 67 : memcpy(tmp, Ri, 32);
00082 6a 20 push 32 ; 00000020H
00084 8b 45 90 mov eax, DWORD PTR _Ri$[ebp]
00087 50 push eax
00088 8d 4d 98 lea ecx, DWORD PTR _tmp$[ebp]
0008b 51 push ecx
0008c e8 00 00 00 00 call _memcpy
00091 83 c4 0c add esp, 12 ; 0000000cH
; 68 : F_func(Ri, (*pSubKey)[i]);
00094 6b 45 8c 30 imul eax, DWORD PTR _i$2[ebp], 48
00098 03 45 10 add eax, DWORD PTR _pSubKey$[ebp]
0009b 50 push eax
0009c 8b 4d 90 mov ecx, DWORD PTR _Ri$[ebp]
0009f 51 push ecx
000a0 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
000a3 e8 00 00 00 00 call ?F_func@CDes@@IAEXQA_NQB_N@Z ; CDes::F_func
; 69 : Xor(Ri, Li, 32);
000a8 6a 20 push 32 ; 00000020H
000aa 8b 45 94 mov eax, DWORD PTR _Li$[ebp]
000ad 50 push eax
000ae 8b 4d 90 mov ecx, DWORD PTR _Ri$[ebp]
000b1 51 push ecx
000b2 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
000b5 e8 00 00 00 00 call ?Xor@CDes@@IAEXPA_NPB_NH@Z ; CDes::Xor
; 70 : memcpy(Li, tmp, 32);
000ba 6a 20 push 32 ; 00000020H
000bc 8d 45 98 lea eax, DWORD PTR _tmp$[ebp]
000bf 50 push eax
000c0 8b 4d 94 mov ecx, DWORD PTR _Li$[ebp]
000c3 51 push ecx
000c4 e8 00 00 00 00 call _memcpy
000c9 83 c4 0c add esp, 12 ; 0000000cH
; 71 : }
000cc eb a5 jmp SHORT $LN2@DES
$LN3@DES:
; 72 : }else{
000ce eb 64 jmp SHORT $LN9@DES
$LN8@DES:
; 73 : for(int i=15; i>=0; --i) {
000d0 c7 45 88 0f 00
00 00 mov DWORD PTR _i$1[ebp], 15 ; 0000000fH
000d7 eb 09 jmp SHORT $LN7@DES
$LN5@DES:
000d9 8b 45 88 mov eax, DWORD PTR _i$1[ebp]
000dc 83 e8 01 sub eax, 1
000df 89 45 88 mov DWORD PTR _i$1[ebp], eax
$LN7@DES:
000e2 83 7d 88 00 cmp DWORD PTR _i$1[ebp], 0
000e6 7c 4c jl SHORT $LN9@DES
; 74 : memcpy(tmp, Li, 32);
000e8 6a 20 push 32 ; 00000020H
000ea 8b 45 94 mov eax, DWORD PTR _Li$[ebp]
000ed 50 push eax
000ee 8d 4d 98 lea ecx, DWORD PTR _tmp$[ebp]
000f1 51 push ecx
000f2 e8 00 00 00 00 call _memcpy
000f7 83 c4 0c add esp, 12 ; 0000000cH
; 75 : F_func(Li, (*pSubKey)[i]);
000fa 6b 45 88 30 imul eax, DWORD PTR _i$1[ebp], 48
000fe 03 45 10 add eax, DWORD PTR _pSubKey$[ebp]
00101 50 push eax
00102 8b 4d 94 mov ecx, DWORD PTR _Li$[ebp]
00105 51 push ecx
00106 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
00109 e8 00 00 00 00 call ?F_func@CDes@@IAEXQA_NQB_N@Z ; CDes::F_func
; 76 : Xor(Li, Ri, 32);
0010e 6a 20 push 32 ; 00000020H
00110 8b 45 90 mov eax, DWORD PTR _Ri$[ebp]
00113 50 push eax
00114 8b 4d 94 mov ecx, DWORD PTR _Li$[ebp]
00117 51 push ecx
00118 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
0011b e8 00 00 00 00 call ?Xor@CDes@@IAEXPA_NPB_NH@Z ; CDes::Xor
; 77 : memcpy(Ri, tmp, 32);
00120 6a 20 push 32 ; 00000020H
00122 8d 45 98 lea eax, DWORD PTR _tmp$[ebp]
00125 50 push eax
00126 8b 4d 90 mov ecx, DWORD PTR _Ri$[ebp]
00129 51 push ecx
0012a e8 00 00 00 00 call _memcpy
0012f 83 c4 0c add esp, 12 ; 0000000cH
; 78 : }
00132 eb a5 jmp SHORT $LN5@DES
$LN9@DES:
; 79 : }
; 80 : Transform(M, M, IPR_Table, 64);
00134 6a 40 push 64 ; 00000040H
00136 8b 45 f8 mov eax, DWORD PTR _this$[ebp]
00139 83 c0 44 add eax, 68 ; 00000044H
0013c 50 push eax
0013d 8d 4d b8 lea ecx, DWORD PTR _M$[ebp]
00140 51 push ecx
00141 8d 55 b8 lea edx, DWORD PTR _M$[ebp]
00144 52 push edx
00145 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
00148 e8 00 00 00 00 call ?Transform@CDes@@IAEXPA_N0PBDH@Z ; CDes::Transform
; 81 : BitToByte(Out, M, 64);
0014d 6a 40 push 64 ; 00000040H
0014f 8d 45 b8 lea eax, DWORD PTR _M$[ebp]
00152 50 push eax
00153 8b 4d 08 mov ecx, DWORD PTR _Out$[ebp]
00156 51 push ecx
00157 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
0015a e8 00 00 00 00 call ?BitToByte@CDes@@IAEXPADPB_NH@Z ; CDes::BitToByte
; 82 : }
0015f 5f pop edi
00160 5e pop esi
00161 5b pop ebx
00162 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp]
00165 33 cd xor ecx, ebp
00167 e8 00 00 00 00 call @__security_check_cookie@4
0016c 8b e5 mov esp, ebp
0016e 5d pop ebp
0016f c2 10 00 ret 16 ; 00000010H
?DES@CDes@@IAEXQAD0QAY1BA@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@@IAE_NPAD0JPBDH_N@Z
_TEXT SEGMENT
tv137 = -85 ; size = 1
_j$1 = -20 ; size = 4
_i$2 = -16 ; size = 4
_j$3 = -12 ; size = 4
_i$4 = -8 ; size = 4
_this$ = -4 ; size = 4
_Out$ = 8 ; size = 4
_In$ = 12 ; size = 4
_datalen$ = 16 ; size = 4
_Key$ = 20 ; size = 4
_keylen$ = 24 ; size = 4
_Type$ = 28 ; size = 1
?Des_Go@CDes@@IAE_NPAD0JPBDH_N@Z PROC ; CDes::Des_Go, COMDAT
; _this$ = ecx
; 37 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 58 sub esp, 88 ; 00000058H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 38 : if( !( Out && In && Key && (datalen=(datalen+7)&0xfffffff8) ) )
0000c 83 7d 08 00 cmp DWORD PTR _Out$[ebp], 0
00010 74 1a je SHORT $LN9@Des_Go
00012 83 7d 0c 00 cmp DWORD PTR _In$[ebp], 0
00016 74 14 je SHORT $LN9@Des_Go
00018 83 7d 14 00 cmp DWORD PTR _Key$[ebp], 0
0001c 74 0e je SHORT $LN9@Des_Go
0001e 8b 45 10 mov eax, DWORD PTR _datalen$[ebp]
00021 83 c0 07 add eax, 7
00024 83 e0 f8 and eax, -8 ; fffffff8H
00027 89 45 10 mov DWORD PTR _datalen$[ebp], eax
0002a 75 07 jne SHORT $LN8@Des_Go
$LN9@Des_Go:
; 39 : return false;
0002c 32 c0 xor al, al
0002e e9 4c 01 00 00 jmp $LN1@Des_Go
$LN8@Des_Go:
; 40 : SetKey(Key, keylen);
00033 8b 45 18 mov eax, DWORD PTR _keylen$[ebp]
00036 50 push eax
00037 8b 4d 14 mov ecx, DWORD PTR _Key$[ebp]
0003a 51 push ecx
0003b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0003e e8 00 00 00 00 call ?SetKey@CDes@@IAEXPBDH@Z ; CDes::SetKey
; 41 : if( !Is3DES ) { // 1<><31>DES
00043 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00046 0f b6 88 4c 09
00 00 movzx ecx, BYTE PTR [eax+2380]
0004d 85 c9 test ecx, ecx
0004f 75 64 jne SHORT $LN10@Des_Go
; 42 : for(long i=0,j=datalen>>3; i<j; ++i,Out+=8,In+=8)
00051 c7 45 f8 00 00
00 00 mov DWORD PTR _i$4[ebp], 0
00058 8b 45 10 mov eax, DWORD PTR _datalen$[ebp]
0005b c1 f8 03 sar eax, 3
0005e 89 45 f4 mov DWORD PTR _j$3[ebp], eax
00061 eb 1b jmp SHORT $LN4@Des_Go
$LN2@Des_Go:
00063 8b 45 f8 mov eax, DWORD PTR _i$4[ebp]
00066 83 c0 01 add eax, 1
00069 89 45 f8 mov DWORD PTR _i$4[ebp], eax
0006c 8b 4d 08 mov ecx, DWORD PTR _Out$[ebp]
0006f 83 c1 08 add ecx, 8
00072 89 4d 08 mov DWORD PTR _Out$[ebp], ecx
00075 8b 55 0c mov edx, DWORD PTR _In$[ebp]
00078 83 c2 08 add edx, 8
0007b 89 55 0c mov DWORD PTR _In$[ebp], edx
$LN4@Des_Go:
0007e 8b 45 f8 mov eax, DWORD PTR _i$4[ebp]
00081 3b 45 f4 cmp eax, DWORD PTR _j$3[ebp]
00084 7d 2a jge SHORT $LN3@Des_Go
; 43 : DES(Out, In, &SubKey[0], Type);
00086 0f b6 45 1c movzx eax, BYTE PTR _Type$[ebp]
0008a 50 push eax
0008b b9 00 03 00 00 mov ecx, 768 ; 00000300H
00090 6b d1 00 imul edx, ecx, 0
00093 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00096 8d 8c 10 4c 03
00 00 lea ecx, DWORD PTR [eax+edx+844]
0009d 51 push ecx
0009e 8b 55 0c mov edx, DWORD PTR _In$[ebp]
000a1 52 push edx
000a2 8b 45 08 mov eax, DWORD PTR _Out$[ebp]
000a5 50 push eax
000a6 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
000a9 e8 00 00 00 00 call ?DES@CDes@@IAEXQAD0QAY1BA@DA@_N_N@Z ; CDes::DES
000ae eb b3 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)
000b0 e9 c8 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) {
000b5 c7 45 f0 00 00
00 00 mov DWORD PTR _i$2[ebp], 0
000bc 8b 45 10 mov eax, DWORD PTR _datalen$[ebp]
000bf c1 f8 03 sar eax, 3
000c2 89 45 ec mov DWORD PTR _j$1[ebp], eax
000c5 eb 1b jmp SHORT $LN7@Des_Go
$LN5@Des_Go:
000c7 8b 45 f0 mov eax, DWORD PTR _i$2[ebp]
000ca 83 c0 01 add eax, 1
000cd 89 45 f0 mov DWORD PTR _i$2[ebp], eax
000d0 8b 4d 08 mov ecx, DWORD PTR _Out$[ebp]
000d3 83 c1 08 add ecx, 8
000d6 89 4d 08 mov DWORD PTR _Out$[ebp], ecx
000d9 8b 55 0c mov edx, DWORD PTR _In$[ebp]
000dc 83 c2 08 add edx, 8
000df 89 55 0c mov DWORD PTR _In$[ebp], edx
$LN7@Des_Go:
000e2 8b 45 f0 mov eax, DWORD PTR _i$2[ebp]
000e5 3b 45 ec cmp eax, DWORD PTR _j$1[ebp]
000e8 0f 8d 8f 00 00
00 jge $LN11@Des_Go
; 46 : DES(Out, In, &SubKey[0], Type);
000ee 0f b6 45 1c movzx eax, BYTE PTR _Type$[ebp]
000f2 50 push eax
000f3 b9 00 03 00 00 mov ecx, 768 ; 00000300H
000f8 6b d1 00 imul edx, ecx, 0
000fb 8b 45 fc mov eax, DWORD PTR _this$[ebp]
000fe 8d 8c 10 4c 03
00 00 lea ecx, DWORD PTR [eax+edx+844]
00105 51 push ecx
00106 8b 55 0c mov edx, DWORD PTR _In$[ebp]
00109 52 push edx
0010a 8b 45 08 mov eax, DWORD PTR _Out$[ebp]
0010d 50 push eax
0010e 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00111 e8 00 00 00 00 call ?DES@CDes@@IAEXQAD0QAY1BA@DA@_N_N@Z ; CDes::DES
; 47 : DES(Out, Out, &SubKey[1], !Type);
00116 0f b6 45 1c movzx eax, BYTE PTR _Type$[ebp]
0011a 85 c0 test eax, eax
0011c 75 06 jne SHORT $LN13@Des_Go
0011e c6 45 ab 01 mov BYTE PTR tv137[ebp], 1
00122 eb 04 jmp SHORT $LN14@Des_Go
$LN13@Des_Go:
00124 c6 45 ab 00 mov BYTE PTR tv137[ebp], 0
$LN14@Des_Go:
00128 0f b6 4d ab movzx ecx, BYTE PTR tv137[ebp]
0012c 51 push ecx
0012d ba 00 03 00 00 mov edx, 768 ; 00000300H
00132 c1 e2 00 shl edx, 0
00135 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00138 8d 8c 10 4c 03
00 00 lea ecx, DWORD PTR [eax+edx+844]
0013f 51 push ecx
00140 8b 55 08 mov edx, DWORD PTR _Out$[ebp]
00143 52 push edx
00144 8b 45 08 mov eax, DWORD PTR _Out$[ebp]
00147 50 push eax
00148 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0014b e8 00 00 00 00 call ?DES@CDes@@IAEXQAD0QAY1BA@DA@_N_N@Z ; CDes::DES
; 48 : DES(Out, Out, &SubKey[0], Type);
00150 0f b6 45 1c movzx eax, BYTE PTR _Type$[ebp]
00154 50 push eax
00155 b9 00 03 00 00 mov ecx, 768 ; 00000300H
0015a 6b d1 00 imul edx, ecx, 0
0015d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00160 8d 8c 10 4c 03
00 00 lea ecx, DWORD PTR [eax+edx+844]
00167 51 push ecx
00168 8b 55 08 mov edx, DWORD PTR _Out$[ebp]
0016b 52 push edx
0016c 8b 45 08 mov eax, DWORD PTR _Out$[ebp]
0016f 50 push eax
00170 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00173 e8 00 00 00 00 call ?DES@CDes@@IAEXQAD0QAY1BA@DA@_N_N@Z ; CDes::DES
; 49 : }
00178 e9 4a ff ff ff jmp $LN5@Des_Go
$LN11@Des_Go:
; 50 : }
; 51 : return true;
0017d b0 01 mov al, 1
$LN1@Des_Go:
; 52 : }
0017f 5f pop edi
00180 5e pop esi
00181 5b pop ebx
00182 8b e5 mov esp, ebp
00184 5d pop ebp
00185 c2 18 00 ret 24 ; 00000018H
?Des_Go@CDes@@IAE_NPAD0JPBDH_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@@IAEXPAD0@Z
_TEXT SEGMENT
$T1 = -96 ; size = 4
_i$2 = -28 ; size = 4
_lTemp$ = -24 ; size = 4
_lLen$ = -20 ; size = 4
_pOrg$ = -16 ; size = 4
_pDes$ = -12 ; size = 4
_Buf$ = -8 ; size = 4
_this$ = -4 ; size = 4
_pszOrgRandom$ = 8 ; size = 4
_pszDesRandom$ = 12 ; size = 4
?HexToAscii@CDes@@IAEXPAD0@Z PROC ; CDes::HexToAscii, COMDAT
; _this$ = ecx
; 222 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 60 sub esp, 96 ; 00000060H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 223 : char Buf[4];
; 224 : char *pDes = (char *)pszDesRandom;
0000c 8b 45 0c mov eax, DWORD PTR _pszDesRandom$[ebp]
0000f 89 45 f4 mov DWORD PTR _pDes$[ebp], eax
; 225 : char *pOrg = (char *)pszOrgRandom;
00012 8b 45 08 mov eax, DWORD PTR _pszOrgRandom$[ebp]
00015 89 45 f0 mov DWORD PTR _pOrg$[ebp], eax
; 226 : long lLen = (long)strlen( pOrg);
00018 8b 45 f0 mov eax, DWORD PTR _pOrg$[ebp]
0001b 50 push eax
0001c e8 00 00 00 00 call _strlen
00021 83 c4 04 add esp, 4
00024 89 45 ec mov DWORD PTR _lLen$[ebp], eax
; 227 : long lTemp;
; 228 : for( int i = 0; i < lLen/2; ++i )
00027 c7 45 e4 00 00
00 00 mov DWORD PTR _i$2[ebp], 0
0002e eb 09 jmp SHORT $LN4@HexToAscii
$LN2@HexToAscii:
00030 8b 45 e4 mov eax, DWORD PTR _i$2[ebp]
00033 83 c0 01 add eax, 1
00036 89 45 e4 mov DWORD PTR _i$2[ebp], eax
$LN4@HexToAscii:
00039 8b 45 ec mov eax, DWORD PTR _lLen$[ebp]
0003c 99 cdq
0003d 2b c2 sub eax, edx
0003f d1 f8 sar eax, 1
00041 39 45 e4 cmp DWORD PTR _i$2[ebp], eax
00044 7d 7d jge SHORT $LN3@HexToAscii
; 229 : {
; 230 : memcpy( Buf , pOrg+i*2 , 2 );
00046 6a 02 push 2
00048 8b 45 e4 mov eax, DWORD PTR _i$2[ebp]
0004b 8b 4d f0 mov ecx, DWORD PTR _pOrg$[ebp]
0004e 8d 14 41 lea edx, DWORD PTR [ecx+eax*2]
00051 52 push edx
00052 8d 45 f8 lea eax, DWORD PTR _Buf$[ebp]
00055 50 push eax
00056 e8 00 00 00 00 call _memcpy
0005b 83 c4 0c add esp, 12 ; 0000000cH
; 231 : Buf[2] = 0;
0005e b8 01 00 00 00 mov eax, 1
00063 d1 e0 shl eax, 1
00065 89 45 a0 mov DWORD PTR $T1[ebp], eax
00068 83 7d a0 04 cmp DWORD PTR $T1[ebp], 4
0006c 73 02 jae SHORT $LN6@HexToAscii
0006e eb 05 jmp SHORT $LN7@HexToAscii
$LN6@HexToAscii:
00070 e8 00 00 00 00 call ___report_rangecheckfailure
$LN7@HexToAscii:
00075 8b 4d a0 mov ecx, DWORD PTR $T1[ebp]
00078 c6 44 0d f8 00 mov BYTE PTR _Buf$[ebp+ecx], 0
; 232 : lTemp = CharHex(Buf[0])*16 + CharHex(Buf[1]);
0007d b8 01 00 00 00 mov eax, 1
00082 6b c8 00 imul ecx, eax, 0
00085 0f b6 54 0d f8 movzx edx, BYTE PTR _Buf$[ebp+ecx]
0008a 52 push edx
0008b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0008e e8 00 00 00 00 call ?CharHex@CDes@@IAEJD@Z ; CDes::CharHex
00093 8b f0 mov esi, eax
00095 c1 e6 04 shl esi, 4
00098 b8 01 00 00 00 mov eax, 1
0009d c1 e0 00 shl eax, 0
000a0 0f b6 4c 05 f8 movzx ecx, BYTE PTR _Buf$[ebp+eax]
000a5 51 push ecx
000a6 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
000a9 e8 00 00 00 00 call ?CharHex@CDes@@IAEJD@Z ; CDes::CharHex
000ae 03 f0 add esi, eax
000b0 89 75 e8 mov DWORD PTR _lTemp$[ebp], esi
; 233 : pDes[i] = (char)lTemp;
000b3 8b 45 f4 mov eax, DWORD PTR _pDes$[ebp]
000b6 03 45 e4 add eax, DWORD PTR _i$2[ebp]
000b9 8a 4d e8 mov cl, BYTE PTR _lTemp$[ebp]
000bc 88 08 mov BYTE PTR [eax], cl
; 234 : }
000be e9 6d ff ff ff jmp $LN2@HexToAscii
$LN3@HexToAscii:
; 235 : pDes[i] = 0;
000c3 8b 45 f4 mov eax, DWORD PTR _pDes$[ebp]
000c6 03 45 e4 add eax, DWORD PTR _i$2[ebp]
000c9 c6 00 00 mov BYTE PTR [eax], 0
$LN5@HexToAscii:
; 236 : }
000cc 5f pop edi
000cd 5e pop esi
000ce 5b pop ebx
000cf 8b e5 mov esp, ebp
000d1 5d pop ebp
000d2 c2 08 00 ret 8
?HexToAscii@CDes@@IAEXPAD0@Z ENDP ; CDes::HexToAscii
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?CharHex@CDes@@IAEJD@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_ch$ = 8 ; size = 1
?CharHex@CDes@@IAEJD@Z PROC ; CDes::CharHex, COMDAT
; _this$ = ecx
; 239 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 240 : if( ch == '0') return( 0 );
0000c 0f be 45 08 movsx eax, BYTE PTR _ch$[ebp]
00010 83 f8 30 cmp eax, 48 ; 00000030H
00013 75 07 jne SHORT $LN2@CharHex
00015 33 c0 xor eax, eax
00017 e9 43 01 00 00 jmp $LN1@CharHex
$LN2@CharHex:
; 241 : if( ch == '1') return( 1 );
0001c 0f be 45 08 movsx eax, BYTE PTR _ch$[ebp]
00020 83 f8 31 cmp eax, 49 ; 00000031H
00023 75 0a jne SHORT $LN3@CharHex
00025 b8 01 00 00 00 mov eax, 1
0002a e9 30 01 00 00 jmp $LN1@CharHex
$LN3@CharHex:
; 242 : if( ch == '2') return( 2 );
0002f 0f be 45 08 movsx eax, BYTE PTR _ch$[ebp]
00033 83 f8 32 cmp eax, 50 ; 00000032H
00036 75 0a jne SHORT $LN4@CharHex
00038 b8 02 00 00 00 mov eax, 2
0003d e9 1d 01 00 00 jmp $LN1@CharHex
$LN4@CharHex:
; 243 : if( ch == '3') return( 3 );
00042 0f be 45 08 movsx eax, BYTE PTR _ch$[ebp]
00046 83 f8 33 cmp eax, 51 ; 00000033H
00049 75 0a jne SHORT $LN5@CharHex
0004b b8 03 00 00 00 mov eax, 3
00050 e9 0a 01 00 00 jmp $LN1@CharHex
$LN5@CharHex:
; 244 : if( ch == '4') return( 4 );
00055 0f be 45 08 movsx eax, BYTE PTR _ch$[ebp]
00059 83 f8 34 cmp eax, 52 ; 00000034H
0005c 75 0a jne SHORT $LN6@CharHex
0005e b8 04 00 00 00 mov eax, 4
00063 e9 f7 00 00 00 jmp $LN1@CharHex
$LN6@CharHex:
; 245 : if( ch == '5') return( 5 );
00068 0f be 45 08 movsx eax, BYTE PTR _ch$[ebp]
0006c 83 f8 35 cmp eax, 53 ; 00000035H
0006f 75 0a jne SHORT $LN7@CharHex
00071 b8 05 00 00 00 mov eax, 5
00076 e9 e4 00 00 00 jmp $LN1@CharHex
$LN7@CharHex:
; 246 : if( ch == '6') return( 6 );
0007b 0f be 45 08 movsx eax, BYTE PTR _ch$[ebp]
0007f 83 f8 36 cmp eax, 54 ; 00000036H
00082 75 0a jne SHORT $LN8@CharHex
00084 b8 06 00 00 00 mov eax, 6
00089 e9 d1 00 00 00 jmp $LN1@CharHex
$LN8@CharHex:
; 247 : if( ch == '7') return( 7 );
0008e 0f be 45 08 movsx eax, BYTE PTR _ch$[ebp]
00092 83 f8 37 cmp eax, 55 ; 00000037H
00095 75 0a jne SHORT $LN9@CharHex
00097 b8 07 00 00 00 mov eax, 7
0009c e9 be 00 00 00 jmp $LN1@CharHex
$LN9@CharHex:
; 248 : if( ch == '8') return( 8 );
000a1 0f be 45 08 movsx eax, BYTE PTR _ch$[ebp]
000a5 83 f8 38 cmp eax, 56 ; 00000038H
000a8 75 0a jne SHORT $LN10@CharHex
000aa b8 08 00 00 00 mov eax, 8
000af e9 ab 00 00 00 jmp $LN1@CharHex
$LN10@CharHex:
; 249 : if( ch == '9') return( 9 );
000b4 0f be 45 08 movsx eax, BYTE PTR _ch$[ebp]
000b8 83 f8 39 cmp eax, 57 ; 00000039H
000bb 75 0a jne SHORT $LN11@CharHex
000bd b8 09 00 00 00 mov eax, 9
000c2 e9 98 00 00 00 jmp $LN1@CharHex
$LN11@CharHex:
; 250 : if( ch == 'a' || ch == 'A' ) return( 10 );
000c7 0f be 45 08 movsx eax, BYTE PTR _ch$[ebp]
000cb 83 f8 61 cmp eax, 97 ; 00000061H
000ce 74 09 je SHORT $LN13@CharHex
000d0 0f be 45 08 movsx eax, BYTE PTR _ch$[ebp]
000d4 83 f8 41 cmp eax, 65 ; 00000041H
000d7 75 07 jne SHORT $LN12@CharHex
$LN13@CharHex:
000d9 b8 0a 00 00 00 mov eax, 10 ; 0000000aH
000de eb 7f jmp SHORT $LN1@CharHex
$LN12@CharHex:
; 251 : if( ch == 'b' || ch == 'B' ) return( 11 );
000e0 0f be 45 08 movsx eax, BYTE PTR _ch$[ebp]
000e4 83 f8 62 cmp eax, 98 ; 00000062H
000e7 74 09 je SHORT $LN15@CharHex
000e9 0f be 45 08 movsx eax, BYTE PTR _ch$[ebp]
000ed 83 f8 42 cmp eax, 66 ; 00000042H
000f0 75 07 jne SHORT $LN14@CharHex
$LN15@CharHex:
000f2 b8 0b 00 00 00 mov eax, 11 ; 0000000bH
000f7 eb 66 jmp SHORT $LN1@CharHex
$LN14@CharHex:
; 252 : if( ch == 'c' || ch == 'C' ) return( 12 );
000f9 0f be 45 08 movsx eax, BYTE PTR _ch$[ebp]
000fd 83 f8 63 cmp eax, 99 ; 00000063H
00100 74 09 je SHORT $LN17@CharHex
00102 0f be 45 08 movsx eax, BYTE PTR _ch$[ebp]
00106 83 f8 43 cmp eax, 67 ; 00000043H
00109 75 07 jne SHORT $LN16@CharHex
$LN17@CharHex:
0010b b8 0c 00 00 00 mov eax, 12 ; 0000000cH
00110 eb 4d jmp SHORT $LN1@CharHex
$LN16@CharHex:
; 253 : if( ch == 'd' || ch == 'D' ) return( 13 );
00112 0f be 45 08 movsx eax, BYTE PTR _ch$[ebp]
00116 83 f8 64 cmp eax, 100 ; 00000064H
00119 74 09 je SHORT $LN19@CharHex
0011b 0f be 45 08 movsx eax, BYTE PTR _ch$[ebp]
0011f 83 f8 44 cmp eax, 68 ; 00000044H
00122 75 07 jne SHORT $LN18@CharHex
$LN19@CharHex:
00124 b8 0d 00 00 00 mov eax, 13 ; 0000000dH
00129 eb 34 jmp SHORT $LN1@CharHex
$LN18@CharHex:
; 254 : if( ch == 'e' || ch == 'E' ) return( 14 );
0012b 0f be 45 08 movsx eax, BYTE PTR _ch$[ebp]
0012f 83 f8 65 cmp eax, 101 ; 00000065H
00132 74 09 je SHORT $LN21@CharHex
00134 0f be 45 08 movsx eax, BYTE PTR _ch$[ebp]
00138 83 f8 45 cmp eax, 69 ; 00000045H
0013b 75 07 jne SHORT $LN20@CharHex
$LN21@CharHex:
0013d b8 0e 00 00 00 mov eax, 14 ; 0000000eH
00142 eb 1b jmp SHORT $LN1@CharHex
$LN20@CharHex:
; 255 : if( ch == 'f' || ch == 'F' ) return( 15 );
00144 0f be 45 08 movsx eax, BYTE PTR _ch$[ebp]
00148 83 f8 66 cmp eax, 102 ; 00000066H
0014b 74 09 je SHORT $LN23@CharHex
0014d 0f be 45 08 movsx eax, BYTE PTR _ch$[ebp]
00151 83 f8 46 cmp eax, 70 ; 00000046H
00154 75 07 jne SHORT $LN22@CharHex
$LN23@CharHex:
00156 b8 0f 00 00 00 mov eax, 15 ; 0000000fH
0015b eb 02 jmp SHORT $LN1@CharHex
$LN22@CharHex:
; 256 : return( 0 );
0015d 33 c0 xor eax, eax
$LN1@CharHex:
; 257 : }
0015f 5f pop edi
00160 5e pop esi
00161 5b pop ebx
00162 8b e5 mov esp, ebp
00164 5d pop ebp
00165 c2 04 00 ret 4
?CharHex@CDes@@IAEJD@Z ENDP ; CDes::CharHex
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?AsciiToHex@CDes@@IAEXPAD0J@Z
_TEXT SEGMENT
_i$1 = -12 ; size = 4
_p$ = -8 ; size = 4
_this$ = -4 ; size = 4
_pszOrgRandom$ = 8 ; size = 4
_pszDesRandom$ = 12 ; size = 4
_lLen$ = 16 ; size = 4
?AsciiToHex@CDes@@IAEXPAD0J@Z PROC ; CDes::AsciiToHex, COMDAT
; _this$ = ecx
; 210 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 4c sub esp, 76 ; 0000004cH
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 211 : char *p = (char *)pszDesRandom;
0000c 8b 45 0c mov eax, DWORD PTR _pszDesRandom$[ebp]
0000f 89 45 f8 mov DWORD PTR _p$[ebp], eax
; 212 : //long lLen = lstrlen( (char*)pszOrgRandom);
; 213 : for( long i = 0; i < lLen; ++i )
00012 c7 45 f4 00 00
00 00 mov DWORD PTR _i$1[ebp], 0
00019 eb 09 jmp SHORT $LN4@AsciiToHex
$LN2@AsciiToHex:
0001b 8b 45 f4 mov eax, DWORD PTR _i$1[ebp]
0001e 83 c0 01 add eax, 1
00021 89 45 f4 mov DWORD PTR _i$1[ebp], eax
$LN4@AsciiToHex:
00024 8b 45 f4 mov eax, DWORD PTR _i$1[ebp]
00027 3b 45 10 cmp eax, DWORD PTR _lLen$[ebp]
0002a 7d 26 jge SHORT $LN3@AsciiToHex
; 214 : {
; 215 : sprintf(p, "%02X", (BYTE)pszOrgRandom[i] );
0002c 8b 45 08 mov eax, DWORD PTR _pszOrgRandom$[ebp]
0002f 03 45 f4 add eax, DWORD PTR _i$1[ebp]
00032 0f b6 08 movzx ecx, BYTE PTR [eax]
00035 51 push ecx
00036 68 00 00 00 00 push OFFSET ??_C@_04JFFKLGJF@?$CF02X@
0003b 8b 55 f8 mov edx, DWORD PTR _p$[ebp]
0003e 52 push edx
0003f e8 00 00 00 00 call _sprintf
00044 83 c4 0c add esp, 12 ; 0000000cH
; 216 : p += 2;
00047 8b 45 f8 mov eax, DWORD PTR _p$[ebp]
0004a 83 c0 02 add eax, 2
0004d 89 45 f8 mov DWORD PTR _p$[ebp], eax
; 217 : }
00050 eb c9 jmp SHORT $LN2@AsciiToHex
$LN3@AsciiToHex:
; 218 : *p=0;
00052 8b 45 f8 mov eax, DWORD PTR _p$[ebp]
00055 c6 00 00 mov BYTE PTR [eax], 0
; 219 : }
00058 5f pop edi
00059 5e pop esi
0005a 5b pop ebx
0005b 8b e5 mov esp, ebp
0005d 5d pop ebp
0005e c2 0c 00 ret 12 ; 0000000cH
?AsciiToHex@CDes@@IAEXPAD0J@Z ENDP ; CDes::AsciiToHex
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ??1CDes@@UAE@XZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
??1CDes@@UAE@XZ PROC ; CDes::~CDes, COMDAT
; _this$ = ecx
; 27 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f c7 00 00 00 00
00 mov DWORD PTR [eax], OFFSET ??_7CDes@@6B@
; 28 :
; 29 : }
00015 5f pop edi
00016 5e pop esi
00017 5b pop ebx
00018 8b e5 mov esp, ebp
0001a 5d pop ebp
0001b c3 ret 0
??1CDes@@UAE@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@@QAE@XZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
??0CDes@@QAE@XZ PROC ; CDes::CDes, COMDAT
; _this$ = ecx
; 22 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f c7 00 00 00 00
00 mov DWORD PTR [eax], OFFSET ??_7CDes@@6B@
; File D:\Works\Corpsms_2010\public\des\des.h
; 40 : const char IP_Table[64] = {
00015 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00018 c6 40 04 3a mov BYTE PTR [eax+4], 58 ; 0000003aH
0001c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0001f c6 41 05 32 mov BYTE PTR [ecx+5], 50 ; 00000032H
00023 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00026 c6 42 06 2a mov BYTE PTR [edx+6], 42 ; 0000002aH
0002a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0002d c6 40 07 22 mov BYTE PTR [eax+7], 34 ; 00000022H
00031 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00034 c6 41 08 1a mov BYTE PTR [ecx+8], 26 ; 0000001aH
00038 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0003b c6 42 09 12 mov BYTE PTR [edx+9], 18 ; 00000012H
0003f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00042 c6 40 0a 0a mov BYTE PTR [eax+10], 10 ; 0000000aH
00046 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00049 c6 41 0b 02 mov BYTE PTR [ecx+11], 2
0004d 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00050 c6 42 0c 3c mov BYTE PTR [edx+12], 60 ; 0000003cH
00054 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00057 c6 40 0d 34 mov BYTE PTR [eax+13], 52 ; 00000034H
0005b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0005e c6 41 0e 2c mov BYTE PTR [ecx+14], 44 ; 0000002cH
00062 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00065 c6 42 0f 24 mov BYTE PTR [edx+15], 36 ; 00000024H
00069 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0006c c6 40 10 1c mov BYTE PTR [eax+16], 28 ; 0000001cH
00070 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00073 c6 41 11 14 mov BYTE PTR [ecx+17], 20 ; 00000014H
00077 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0007a c6 42 12 0c mov BYTE PTR [edx+18], 12 ; 0000000cH
0007e 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00081 c6 40 13 04 mov BYTE PTR [eax+19], 4
00085 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00088 c6 41 14 3e mov BYTE PTR [ecx+20], 62 ; 0000003eH
0008c 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0008f c6 42 15 36 mov BYTE PTR [edx+21], 54 ; 00000036H
00093 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00096 c6 40 16 2e mov BYTE PTR [eax+22], 46 ; 0000002eH
0009a 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0009d c6 41 17 26 mov BYTE PTR [ecx+23], 38 ; 00000026H
000a1 8b 55 fc mov edx, DWORD PTR _this$[ebp]
000a4 c6 42 18 1e mov BYTE PTR [edx+24], 30 ; 0000001eH
000a8 8b 45 fc mov eax, DWORD PTR _this$[ebp]
000ab c6 40 19 16 mov BYTE PTR [eax+25], 22 ; 00000016H
000af 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
000b2 c6 41 1a 0e mov BYTE PTR [ecx+26], 14 ; 0000000eH
000b6 8b 55 fc mov edx, DWORD PTR _this$[ebp]
000b9 c6 42 1b 06 mov BYTE PTR [edx+27], 6
000bd 8b 45 fc mov eax, DWORD PTR _this$[ebp]
000c0 c6 40 1c 40 mov BYTE PTR [eax+28], 64 ; 00000040H
000c4 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
000c7 c6 41 1d 38 mov BYTE PTR [ecx+29], 56 ; 00000038H
000cb 8b 55 fc mov edx, DWORD PTR _this$[ebp]
000ce c6 42 1e 30 mov BYTE PTR [edx+30], 48 ; 00000030H
000d2 8b 45 fc mov eax, DWORD PTR _this$[ebp]
000d5 c6 40 1f 28 mov BYTE PTR [eax+31], 40 ; 00000028H
000d9 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
000dc c6 41 20 20 mov BYTE PTR [ecx+32], 32 ; 00000020H
000e0 8b 55 fc mov edx, DWORD PTR _this$[ebp]
000e3 c6 42 21 18 mov BYTE PTR [edx+33], 24 ; 00000018H
000e7 8b 45 fc mov eax, DWORD PTR _this$[ebp]
000ea c6 40 22 10 mov BYTE PTR [eax+34], 16 ; 00000010H
000ee 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
000f1 c6 41 23 08 mov BYTE PTR [ecx+35], 8
000f5 8b 55 fc mov edx, DWORD PTR _this$[ebp]
000f8 c6 42 24 39 mov BYTE PTR [edx+36], 57 ; 00000039H
000fc 8b 45 fc mov eax, DWORD PTR _this$[ebp]
000ff c6 40 25 31 mov BYTE PTR [eax+37], 49 ; 00000031H
00103 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00106 c6 41 26 29 mov BYTE PTR [ecx+38], 41 ; 00000029H
0010a 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0010d c6 42 27 21 mov BYTE PTR [edx+39], 33 ; 00000021H
00111 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00114 c6 40 28 19 mov BYTE PTR [eax+40], 25 ; 00000019H
00118 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0011b c6 41 29 11 mov BYTE PTR [ecx+41], 17 ; 00000011H
0011f 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00122 c6 42 2a 09 mov BYTE PTR [edx+42], 9
00126 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00129 c6 40 2b 01 mov BYTE PTR [eax+43], 1
0012d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00130 c6 41 2c 3b mov BYTE PTR [ecx+44], 59 ; 0000003bH
00134 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00137 c6 42 2d 33 mov BYTE PTR [edx+45], 51 ; 00000033H
0013b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0013e c6 40 2e 2b mov BYTE PTR [eax+46], 43 ; 0000002bH
00142 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00145 c6 41 2f 23 mov BYTE PTR [ecx+47], 35 ; 00000023H
00149 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0014c c6 42 30 1b mov BYTE PTR [edx+48], 27 ; 0000001bH
00150 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00153 c6 40 31 13 mov BYTE PTR [eax+49], 19 ; 00000013H
00157 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0015a c6 41 32 0b mov BYTE PTR [ecx+50], 11 ; 0000000bH
0015e 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00161 c6 42 33 03 mov BYTE PTR [edx+51], 3
00165 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00168 c6 40 34 3d mov BYTE PTR [eax+52], 61 ; 0000003dH
0016c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0016f c6 41 35 35 mov BYTE PTR [ecx+53], 53 ; 00000035H
00173 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00176 c6 42 36 2d mov BYTE PTR [edx+54], 45 ; 0000002dH
0017a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0017d c6 40 37 25 mov BYTE PTR [eax+55], 37 ; 00000025H
00181 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00184 c6 41 38 1d mov BYTE PTR [ecx+56], 29 ; 0000001dH
00188 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0018b c6 42 39 15 mov BYTE PTR [edx+57], 21 ; 00000015H
0018f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00192 c6 40 3a 0d mov BYTE PTR [eax+58], 13 ; 0000000dH
00196 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00199 c6 41 3b 05 mov BYTE PTR [ecx+59], 5
0019d 8b 55 fc mov edx, DWORD PTR _this$[ebp]
001a0 c6 42 3c 3f mov BYTE PTR [edx+60], 63 ; 0000003fH
001a4 8b 45 fc mov eax, DWORD PTR _this$[ebp]
001a7 c6 40 3d 37 mov BYTE PTR [eax+61], 55 ; 00000037H
001ab 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
001ae c6 41 3e 2f mov BYTE PTR [ecx+62], 47 ; 0000002fH
001b2 8b 55 fc mov edx, DWORD PTR _this$[ebp]
001b5 c6 42 3f 27 mov BYTE PTR [edx+63], 39 ; 00000027H
001b9 8b 45 fc mov eax, DWORD PTR _this$[ebp]
001bc c6 40 40 1f mov BYTE PTR [eax+64], 31 ; 0000001fH
001c0 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
001c3 c6 41 41 17 mov BYTE PTR [ecx+65], 23 ; 00000017H
001c7 8b 55 fc mov edx, DWORD PTR _this$[ebp]
001ca c6 42 42 0f mov BYTE PTR [edx+66], 15 ; 0000000fH
001ce 8b 45 fc mov eax, DWORD PTR _this$[ebp]
001d1 c6 40 43 07 mov BYTE PTR [eax+67], 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] = {
001d5 8b 45 fc mov eax, DWORD PTR _this$[ebp]
001d8 c6 40 44 28 mov BYTE PTR [eax+68], 40 ; 00000028H
001dc 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
001df c6 41 45 08 mov BYTE PTR [ecx+69], 8
001e3 8b 55 fc mov edx, DWORD PTR _this$[ebp]
001e6 c6 42 46 30 mov BYTE PTR [edx+70], 48 ; 00000030H
001ea 8b 45 fc mov eax, DWORD PTR _this$[ebp]
001ed c6 40 47 10 mov BYTE PTR [eax+71], 16 ; 00000010H
001f1 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
001f4 c6 41 48 38 mov BYTE PTR [ecx+72], 56 ; 00000038H
001f8 8b 55 fc mov edx, DWORD PTR _this$[ebp]
001fb c6 42 49 18 mov BYTE PTR [edx+73], 24 ; 00000018H
001ff 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00202 c6 40 4a 40 mov BYTE PTR [eax+74], 64 ; 00000040H
00206 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00209 c6 41 4b 20 mov BYTE PTR [ecx+75], 32 ; 00000020H
0020d 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00210 c6 42 4c 27 mov BYTE PTR [edx+76], 39 ; 00000027H
00214 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00217 c6 40 4d 07 mov BYTE PTR [eax+77], 7
0021b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0021e c6 41 4e 2f mov BYTE PTR [ecx+78], 47 ; 0000002fH
00222 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00225 c6 42 4f 0f mov BYTE PTR [edx+79], 15 ; 0000000fH
00229 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0022c c6 40 50 37 mov BYTE PTR [eax+80], 55 ; 00000037H
00230 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00233 c6 41 51 17 mov BYTE PTR [ecx+81], 23 ; 00000017H
00237 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0023a c6 42 52 3f mov BYTE PTR [edx+82], 63 ; 0000003fH
0023e 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00241 c6 40 53 1f mov BYTE PTR [eax+83], 31 ; 0000001fH
00245 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00248 c6 41 54 26 mov BYTE PTR [ecx+84], 38 ; 00000026H
0024c 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0024f c6 42 55 06 mov BYTE PTR [edx+85], 6
00253 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00256 c6 40 56 2e mov BYTE PTR [eax+86], 46 ; 0000002eH
0025a 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0025d c6 41 57 0e mov BYTE PTR [ecx+87], 14 ; 0000000eH
00261 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00264 c6 42 58 36 mov BYTE PTR [edx+88], 54 ; 00000036H
00268 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0026b c6 40 59 16 mov BYTE PTR [eax+89], 22 ; 00000016H
0026f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00272 c6 41 5a 3e mov BYTE PTR [ecx+90], 62 ; 0000003eH
00276 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00279 c6 42 5b 1e mov BYTE PTR [edx+91], 30 ; 0000001eH
0027d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00280 c6 40 5c 25 mov BYTE PTR [eax+92], 37 ; 00000025H
00284 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00287 c6 41 5d 05 mov BYTE PTR [ecx+93], 5
0028b 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0028e c6 42 5e 2d mov BYTE PTR [edx+94], 45 ; 0000002dH
00292 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00295 c6 40 5f 0d mov BYTE PTR [eax+95], 13 ; 0000000dH
00299 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0029c c6 41 60 35 mov BYTE PTR [ecx+96], 53 ; 00000035H
002a0 8b 55 fc mov edx, DWORD PTR _this$[ebp]
002a3 c6 42 61 15 mov BYTE PTR [edx+97], 21 ; 00000015H
002a7 8b 45 fc mov eax, DWORD PTR _this$[ebp]
002aa c6 40 62 3d mov BYTE PTR [eax+98], 61 ; 0000003dH
002ae 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
002b1 c6 41 63 1d mov BYTE PTR [ecx+99], 29 ; 0000001dH
002b5 8b 55 fc mov edx, DWORD PTR _this$[ebp]
002b8 c6 42 64 24 mov BYTE PTR [edx+100], 36 ; 00000024H
002bc 8b 45 fc mov eax, DWORD PTR _this$[ebp]
002bf c6 40 65 04 mov BYTE PTR [eax+101], 4
002c3 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
002c6 c6 41 66 2c mov BYTE PTR [ecx+102], 44 ; 0000002cH
002ca 8b 55 fc mov edx, DWORD PTR _this$[ebp]
002cd c6 42 67 0c mov BYTE PTR [edx+103], 12 ; 0000000cH
002d1 8b 45 fc mov eax, DWORD PTR _this$[ebp]
002d4 c6 40 68 34 mov BYTE PTR [eax+104], 52 ; 00000034H
002d8 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
002db c6 41 69 14 mov BYTE PTR [ecx+105], 20 ; 00000014H
002df 8b 55 fc mov edx, DWORD PTR _this$[ebp]
002e2 c6 42 6a 3c mov BYTE PTR [edx+106], 60 ; 0000003cH
002e6 8b 45 fc mov eax, DWORD PTR _this$[ebp]
002e9 c6 40 6b 1c mov BYTE PTR [eax+107], 28 ; 0000001cH
002ed 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
002f0 c6 41 6c 23 mov BYTE PTR [ecx+108], 35 ; 00000023H
002f4 8b 55 fc mov edx, DWORD PTR _this$[ebp]
002f7 c6 42 6d 03 mov BYTE PTR [edx+109], 3
002fb 8b 45 fc mov eax, DWORD PTR _this$[ebp]
002fe c6 40 6e 2b mov BYTE PTR [eax+110], 43 ; 0000002bH
00302 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00305 c6 41 6f 0b mov BYTE PTR [ecx+111], 11 ; 0000000bH
00309 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0030c c6 42 70 33 mov BYTE PTR [edx+112], 51 ; 00000033H
00310 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00313 c6 40 71 13 mov BYTE PTR [eax+113], 19 ; 00000013H
00317 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0031a c6 41 72 3b mov BYTE PTR [ecx+114], 59 ; 0000003bH
0031e 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00321 c6 42 73 1b mov BYTE PTR [edx+115], 27 ; 0000001bH
00325 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00328 c6 40 74 22 mov BYTE PTR [eax+116], 34 ; 00000022H
0032c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0032f c6 41 75 02 mov BYTE PTR [ecx+117], 2
00333 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00336 c6 42 76 2a mov BYTE PTR [edx+118], 42 ; 0000002aH
0033a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0033d c6 40 77 0a mov BYTE PTR [eax+119], 10 ; 0000000aH
00341 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00344 c6 41 78 32 mov BYTE PTR [ecx+120], 50 ; 00000032H
00348 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0034b c6 42 79 12 mov BYTE PTR [edx+121], 18 ; 00000012H
0034f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00352 c6 40 7a 3a mov BYTE PTR [eax+122], 58 ; 0000003aH
00356 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00359 c6 41 7b 1a mov BYTE PTR [ecx+123], 26 ; 0000001aH
0035d 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00360 c6 42 7c 21 mov BYTE PTR [edx+124], 33 ; 00000021H
00364 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00367 c6 40 7d 01 mov BYTE PTR [eax+125], 1
0036b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0036e c6 41 7e 29 mov BYTE PTR [ecx+126], 41 ; 00000029H
00372 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00375 c6 42 7f 09 mov BYTE PTR [edx+127], 9
00379 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0037c c6 80 80 00 00
00 31 mov BYTE PTR [eax+128], 49 ; 00000031H
00383 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00386 c6 81 81 00 00
00 11 mov BYTE PTR [ecx+129], 17 ; 00000011H
0038d 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00390 c6 82 82 00 00
00 39 mov BYTE PTR [edx+130], 57 ; 00000039H
00397 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0039a c6 80 83 00 00
00 19 mov BYTE PTR [eax+131], 25 ; 00000019H
; 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] = {
003a1 8b 45 fc mov eax, DWORD PTR _this$[ebp]
003a4 c6 80 84 00 00
00 20 mov BYTE PTR [eax+132], 32 ; 00000020H
003ab 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
003ae c6 81 85 00 00
00 01 mov BYTE PTR [ecx+133], 1
003b5 8b 55 fc mov edx, DWORD PTR _this$[ebp]
003b8 c6 82 86 00 00
00 02 mov BYTE PTR [edx+134], 2
003bf 8b 45 fc mov eax, DWORD PTR _this$[ebp]
003c2 c6 80 87 00 00
00 03 mov BYTE PTR [eax+135], 3
003c9 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
003cc c6 81 88 00 00
00 04 mov BYTE PTR [ecx+136], 4
003d3 8b 55 fc mov edx, DWORD PTR _this$[ebp]
003d6 c6 82 89 00 00
00 05 mov BYTE PTR [edx+137], 5
003dd 8b 45 fc mov eax, DWORD PTR _this$[ebp]
003e0 c6 80 8a 00 00
00 04 mov BYTE PTR [eax+138], 4
003e7 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
003ea c6 81 8b 00 00
00 05 mov BYTE PTR [ecx+139], 5
003f1 8b 55 fc mov edx, DWORD PTR _this$[ebp]
003f4 c6 82 8c 00 00
00 06 mov BYTE PTR [edx+140], 6
003fb 8b 45 fc mov eax, DWORD PTR _this$[ebp]
003fe c6 80 8d 00 00
00 07 mov BYTE PTR [eax+141], 7
00405 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00408 c6 81 8e 00 00
00 08 mov BYTE PTR [ecx+142], 8
0040f 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00412 c6 82 8f 00 00
00 09 mov BYTE PTR [edx+143], 9
00419 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0041c c6 80 90 00 00
00 08 mov BYTE PTR [eax+144], 8
00423 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00426 c6 81 91 00 00
00 09 mov BYTE PTR [ecx+145], 9
0042d 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00430 c6 82 92 00 00
00 0a mov BYTE PTR [edx+146], 10 ; 0000000aH
00437 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0043a c6 80 93 00 00
00 0b mov BYTE PTR [eax+147], 11 ; 0000000bH
00441 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00444 c6 81 94 00 00
00 0c mov BYTE PTR [ecx+148], 12 ; 0000000cH
0044b 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0044e c6 82 95 00 00
00 0d mov BYTE PTR [edx+149], 13 ; 0000000dH
00455 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00458 c6 80 96 00 00
00 0c mov BYTE PTR [eax+150], 12 ; 0000000cH
0045f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00462 c6 81 97 00 00
00 0d mov BYTE PTR [ecx+151], 13 ; 0000000dH
00469 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0046c c6 82 98 00 00
00 0e mov BYTE PTR [edx+152], 14 ; 0000000eH
00473 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00476 c6 80 99 00 00
00 0f mov BYTE PTR [eax+153], 15 ; 0000000fH
0047d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00480 c6 81 9a 00 00
00 10 mov BYTE PTR [ecx+154], 16 ; 00000010H
00487 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0048a c6 82 9b 00 00
00 11 mov BYTE PTR [edx+155], 17 ; 00000011H
00491 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00494 c6 80 9c 00 00
00 10 mov BYTE PTR [eax+156], 16 ; 00000010H
0049b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0049e c6 81 9d 00 00
00 11 mov BYTE PTR [ecx+157], 17 ; 00000011H
004a5 8b 55 fc mov edx, DWORD PTR _this$[ebp]
004a8 c6 82 9e 00 00
00 12 mov BYTE PTR [edx+158], 18 ; 00000012H
004af 8b 45 fc mov eax, DWORD PTR _this$[ebp]
004b2 c6 80 9f 00 00
00 13 mov BYTE PTR [eax+159], 19 ; 00000013H
004b9 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
004bc c6 81 a0 00 00
00 14 mov BYTE PTR [ecx+160], 20 ; 00000014H
004c3 8b 55 fc mov edx, DWORD PTR _this$[ebp]
004c6 c6 82 a1 00 00
00 15 mov BYTE PTR [edx+161], 21 ; 00000015H
004cd 8b 45 fc mov eax, DWORD PTR _this$[ebp]
004d0 c6 80 a2 00 00
00 14 mov BYTE PTR [eax+162], 20 ; 00000014H
004d7 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
004da c6 81 a3 00 00
00 15 mov BYTE PTR [ecx+163], 21 ; 00000015H
004e1 8b 55 fc mov edx, DWORD PTR _this$[ebp]
004e4 c6 82 a4 00 00
00 16 mov BYTE PTR [edx+164], 22 ; 00000016H
004eb 8b 45 fc mov eax, DWORD PTR _this$[ebp]
004ee c6 80 a5 00 00
00 17 mov BYTE PTR [eax+165], 23 ; 00000017H
004f5 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
004f8 c6 81 a6 00 00
00 18 mov BYTE PTR [ecx+166], 24 ; 00000018H
004ff 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00502 c6 82 a7 00 00
00 19 mov BYTE PTR [edx+167], 25 ; 00000019H
00509 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0050c c6 80 a8 00 00
00 18 mov BYTE PTR [eax+168], 24 ; 00000018H
00513 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00516 c6 81 a9 00 00
00 19 mov BYTE PTR [ecx+169], 25 ; 00000019H
0051d 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00520 c6 82 aa 00 00
00 1a mov BYTE PTR [edx+170], 26 ; 0000001aH
00527 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0052a c6 80 ab 00 00
00 1b mov BYTE PTR [eax+171], 27 ; 0000001bH
00531 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00534 c6 81 ac 00 00
00 1c mov BYTE PTR [ecx+172], 28 ; 0000001cH
0053b 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0053e c6 82 ad 00 00
00 1d mov BYTE PTR [edx+173], 29 ; 0000001dH
00545 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00548 c6 80 ae 00 00
00 1c mov BYTE PTR [eax+174], 28 ; 0000001cH
0054f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00552 c6 81 af 00 00
00 1d mov BYTE PTR [ecx+175], 29 ; 0000001dH
00559 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0055c c6 82 b0 00 00
00 1e mov BYTE PTR [edx+176], 30 ; 0000001eH
00563 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00566 c6 80 b1 00 00
00 1f mov BYTE PTR [eax+177], 31 ; 0000001fH
0056d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00570 c6 81 b2 00 00
00 20 mov BYTE PTR [ecx+178], 32 ; 00000020H
00577 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0057a c6 82 b3 00 00
00 01 mov BYTE PTR [edx+179], 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] = {
00581 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00584 c6 80 b4 00 00
00 10 mov BYTE PTR [eax+180], 16 ; 00000010H
0058b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0058e c6 81 b5 00 00
00 07 mov BYTE PTR [ecx+181], 7
00595 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00598 c6 82 b6 00 00
00 14 mov BYTE PTR [edx+182], 20 ; 00000014H
0059f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
005a2 c6 80 b7 00 00
00 15 mov BYTE PTR [eax+183], 21 ; 00000015H
005a9 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
005ac c6 81 b8 00 00
00 1d mov BYTE PTR [ecx+184], 29 ; 0000001dH
005b3 8b 55 fc mov edx, DWORD PTR _this$[ebp]
005b6 c6 82 b9 00 00
00 0c mov BYTE PTR [edx+185], 12 ; 0000000cH
005bd 8b 45 fc mov eax, DWORD PTR _this$[ebp]
005c0 c6 80 ba 00 00
00 1c mov BYTE PTR [eax+186], 28 ; 0000001cH
005c7 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
005ca c6 81 bb 00 00
00 11 mov BYTE PTR [ecx+187], 17 ; 00000011H
005d1 8b 55 fc mov edx, DWORD PTR _this$[ebp]
005d4 c6 82 bc 00 00
00 01 mov BYTE PTR [edx+188], 1
005db 8b 45 fc mov eax, DWORD PTR _this$[ebp]
005de c6 80 bd 00 00
00 0f mov BYTE PTR [eax+189], 15 ; 0000000fH
005e5 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
005e8 c6 81 be 00 00
00 17 mov BYTE PTR [ecx+190], 23 ; 00000017H
005ef 8b 55 fc mov edx, DWORD PTR _this$[ebp]
005f2 c6 82 bf 00 00
00 1a mov BYTE PTR [edx+191], 26 ; 0000001aH
005f9 8b 45 fc mov eax, DWORD PTR _this$[ebp]
005fc c6 80 c0 00 00
00 05 mov BYTE PTR [eax+192], 5
00603 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00606 c6 81 c1 00 00
00 12 mov BYTE PTR [ecx+193], 18 ; 00000012H
0060d 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00610 c6 82 c2 00 00
00 1f mov BYTE PTR [edx+194], 31 ; 0000001fH
00617 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0061a c6 80 c3 00 00
00 0a mov BYTE PTR [eax+195], 10 ; 0000000aH
00621 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00624 c6 81 c4 00 00
00 02 mov BYTE PTR [ecx+196], 2
0062b 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0062e c6 82 c5 00 00
00 08 mov BYTE PTR [edx+197], 8
00635 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00638 c6 80 c6 00 00
00 18 mov BYTE PTR [eax+198], 24 ; 00000018H
0063f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00642 c6 81 c7 00 00
00 0e mov BYTE PTR [ecx+199], 14 ; 0000000eH
00649 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0064c c6 82 c8 00 00
00 20 mov BYTE PTR [edx+200], 32 ; 00000020H
00653 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00656 c6 80 c9 00 00
00 1b mov BYTE PTR [eax+201], 27 ; 0000001bH
0065d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00660 c6 81 ca 00 00
00 03 mov BYTE PTR [ecx+202], 3
00667 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0066a c6 82 cb 00 00
00 09 mov BYTE PTR [edx+203], 9
00671 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00674 c6 80 cc 00 00
00 13 mov BYTE PTR [eax+204], 19 ; 00000013H
0067b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0067e c6 81 cd 00 00
00 0d mov BYTE PTR [ecx+205], 13 ; 0000000dH
00685 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00688 c6 82 ce 00 00
00 1e mov BYTE PTR [edx+206], 30 ; 0000001eH
0068f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00692 c6 80 cf 00 00
00 06 mov BYTE PTR [eax+207], 6
00699 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0069c c6 81 d0 00 00
00 16 mov BYTE PTR [ecx+208], 22 ; 00000016H
006a3 8b 55 fc mov edx, DWORD PTR _this$[ebp]
006a6 c6 82 d1 00 00
00 0b mov BYTE PTR [edx+209], 11 ; 0000000bH
006ad 8b 45 fc mov eax, DWORD PTR _this$[ebp]
006b0 c6 80 d2 00 00
00 04 mov BYTE PTR [eax+210], 4
006b7 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
006ba c6 81 d3 00 00
00 19 mov BYTE PTR [ecx+211], 25 ; 00000019H
; 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] = {
006c1 8b 45 fc mov eax, DWORD PTR _this$[ebp]
006c4 c6 80 d4 00 00
00 39 mov BYTE PTR [eax+212], 57 ; 00000039H
006cb 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
006ce c6 81 d5 00 00
00 31 mov BYTE PTR [ecx+213], 49 ; 00000031H
006d5 8b 55 fc mov edx, DWORD PTR _this$[ebp]
006d8 c6 82 d6 00 00
00 29 mov BYTE PTR [edx+214], 41 ; 00000029H
006df 8b 45 fc mov eax, DWORD PTR _this$[ebp]
006e2 c6 80 d7 00 00
00 21 mov BYTE PTR [eax+215], 33 ; 00000021H
006e9 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
006ec c6 81 d8 00 00
00 19 mov BYTE PTR [ecx+216], 25 ; 00000019H
006f3 8b 55 fc mov edx, DWORD PTR _this$[ebp]
006f6 c6 82 d9 00 00
00 11 mov BYTE PTR [edx+217], 17 ; 00000011H
006fd 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00700 c6 80 da 00 00
00 09 mov BYTE PTR [eax+218], 9
00707 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0070a c6 81 db 00 00
00 01 mov BYTE PTR [ecx+219], 1
00711 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00714 c6 82 dc 00 00
00 3a mov BYTE PTR [edx+220], 58 ; 0000003aH
0071b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0071e c6 80 dd 00 00
00 32 mov BYTE PTR [eax+221], 50 ; 00000032H
00725 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00728 c6 81 de 00 00
00 2a mov BYTE PTR [ecx+222], 42 ; 0000002aH
0072f 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00732 c6 82 df 00 00
00 22 mov BYTE PTR [edx+223], 34 ; 00000022H
00739 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0073c c6 80 e0 00 00
00 1a mov BYTE PTR [eax+224], 26 ; 0000001aH
00743 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00746 c6 81 e1 00 00
00 12 mov BYTE PTR [ecx+225], 18 ; 00000012H
0074d 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00750 c6 82 e2 00 00
00 0a mov BYTE PTR [edx+226], 10 ; 0000000aH
00757 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0075a c6 80 e3 00 00
00 02 mov BYTE PTR [eax+227], 2
00761 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00764 c6 81 e4 00 00
00 3b mov BYTE PTR [ecx+228], 59 ; 0000003bH
0076b 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0076e c6 82 e5 00 00
00 33 mov BYTE PTR [edx+229], 51 ; 00000033H
00775 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00778 c6 80 e6 00 00
00 2b mov BYTE PTR [eax+230], 43 ; 0000002bH
0077f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00782 c6 81 e7 00 00
00 23 mov BYTE PTR [ecx+231], 35 ; 00000023H
00789 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0078c c6 82 e8 00 00
00 1b mov BYTE PTR [edx+232], 27 ; 0000001bH
00793 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00796 c6 80 e9 00 00
00 13 mov BYTE PTR [eax+233], 19 ; 00000013H
0079d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
007a0 c6 81 ea 00 00
00 0b mov BYTE PTR [ecx+234], 11 ; 0000000bH
007a7 8b 55 fc mov edx, DWORD PTR _this$[ebp]
007aa c6 82 eb 00 00
00 03 mov BYTE PTR [edx+235], 3
007b1 8b 45 fc mov eax, DWORD PTR _this$[ebp]
007b4 c6 80 ec 00 00
00 3c mov BYTE PTR [eax+236], 60 ; 0000003cH
007bb 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
007be c6 81 ed 00 00
00 34 mov BYTE PTR [ecx+237], 52 ; 00000034H
007c5 8b 55 fc mov edx, DWORD PTR _this$[ebp]
007c8 c6 82 ee 00 00
00 2c mov BYTE PTR [edx+238], 44 ; 0000002cH
007cf 8b 45 fc mov eax, DWORD PTR _this$[ebp]
007d2 c6 80 ef 00 00
00 24 mov BYTE PTR [eax+239], 36 ; 00000024H
007d9 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
007dc c6 81 f0 00 00
00 3f mov BYTE PTR [ecx+240], 63 ; 0000003fH
007e3 8b 55 fc mov edx, DWORD PTR _this$[ebp]
007e6 c6 82 f1 00 00
00 37 mov BYTE PTR [edx+241], 55 ; 00000037H
007ed 8b 45 fc mov eax, DWORD PTR _this$[ebp]
007f0 c6 80 f2 00 00
00 2f mov BYTE PTR [eax+242], 47 ; 0000002fH
007f7 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
007fa c6 81 f3 00 00
00 27 mov BYTE PTR [ecx+243], 39 ; 00000027H
00801 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00804 c6 82 f4 00 00
00 1f mov BYTE PTR [edx+244], 31 ; 0000001fH
0080b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0080e c6 80 f5 00 00
00 17 mov BYTE PTR [eax+245], 23 ; 00000017H
00815 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00818 c6 81 f6 00 00
00 0f mov BYTE PTR [ecx+246], 15 ; 0000000fH
0081f 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00822 c6 82 f7 00 00
00 07 mov BYTE PTR [edx+247], 7
00829 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0082c c6 80 f8 00 00
00 3e mov BYTE PTR [eax+248], 62 ; 0000003eH
00833 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00836 c6 81 f9 00 00
00 36 mov BYTE PTR [ecx+249], 54 ; 00000036H
0083d 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00840 c6 82 fa 00 00
00 2e mov BYTE PTR [edx+250], 46 ; 0000002eH
00847 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0084a c6 80 fb 00 00
00 26 mov BYTE PTR [eax+251], 38 ; 00000026H
00851 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00854 c6 81 fc 00 00
00 1e mov BYTE PTR [ecx+252], 30 ; 0000001eH
0085b 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0085e c6 82 fd 00 00
00 16 mov BYTE PTR [edx+253], 22 ; 00000016H
00865 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00868 c6 80 fe 00 00
00 0e mov BYTE PTR [eax+254], 14 ; 0000000eH
0086f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00872 c6 81 ff 00 00
00 06 mov BYTE PTR [ecx+255], 6
00879 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0087c c6 82 00 01 00
00 3d mov BYTE PTR [edx+256], 61 ; 0000003dH
00883 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00886 c6 80 01 01 00
00 35 mov BYTE PTR [eax+257], 53 ; 00000035H
0088d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00890 c6 81 02 01 00
00 2d mov BYTE PTR [ecx+258], 45 ; 0000002dH
00897 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0089a c6 82 03 01 00
00 25 mov BYTE PTR [edx+259], 37 ; 00000025H
008a1 8b 45 fc mov eax, DWORD PTR _this$[ebp]
008a4 c6 80 04 01 00
00 1d mov BYTE PTR [eax+260], 29 ; 0000001dH
008ab 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
008ae c6 81 05 01 00
00 15 mov BYTE PTR [ecx+261], 21 ; 00000015H
008b5 8b 55 fc mov edx, DWORD PTR _this$[ebp]
008b8 c6 82 06 01 00
00 0d mov BYTE PTR [edx+262], 13 ; 0000000dH
008bf 8b 45 fc mov eax, DWORD PTR _this$[ebp]
008c2 c6 80 07 01 00
00 05 mov BYTE PTR [eax+263], 5
008c9 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
008cc c6 81 08 01 00
00 1c mov BYTE PTR [ecx+264], 28 ; 0000001cH
008d3 8b 55 fc mov edx, DWORD PTR _this$[ebp]
008d6 c6 82 09 01 00
00 14 mov BYTE PTR [edx+265], 20 ; 00000014H
008dd 8b 45 fc mov eax, DWORD PTR _this$[ebp]
008e0 c6 80 0a 01 00
00 0c mov BYTE PTR [eax+266], 12 ; 0000000cH
008e7 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
008ea c6 81 0b 01 00
00 04 mov BYTE PTR [ecx+267], 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] = {
008f1 8b 45 fc mov eax, DWORD PTR _this$[ebp]
008f4 c6 80 0c 01 00
00 0e mov BYTE PTR [eax+268], 14 ; 0000000eH
008fb 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
008fe c6 81 0d 01 00
00 11 mov BYTE PTR [ecx+269], 17 ; 00000011H
00905 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00908 c6 82 0e 01 00
00 0b mov BYTE PTR [edx+270], 11 ; 0000000bH
0090f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00912 c6 80 0f 01 00
00 18 mov BYTE PTR [eax+271], 24 ; 00000018H
00919 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0091c c6 81 10 01 00
00 01 mov BYTE PTR [ecx+272], 1
00923 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00926 c6 82 11 01 00
00 05 mov BYTE PTR [edx+273], 5
0092d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00930 c6 80 12 01 00
00 03 mov BYTE PTR [eax+274], 3
00937 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0093a c6 81 13 01 00
00 1c mov BYTE PTR [ecx+275], 28 ; 0000001cH
00941 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00944 c6 82 14 01 00
00 0f mov BYTE PTR [edx+276], 15 ; 0000000fH
0094b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0094e c6 80 15 01 00
00 06 mov BYTE PTR [eax+277], 6
00955 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00958 c6 81 16 01 00
00 15 mov BYTE PTR [ecx+278], 21 ; 00000015H
0095f 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00962 c6 82 17 01 00
00 0a mov BYTE PTR [edx+279], 10 ; 0000000aH
00969 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0096c c6 80 18 01 00
00 17 mov BYTE PTR [eax+280], 23 ; 00000017H
00973 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00976 c6 81 19 01 00
00 13 mov BYTE PTR [ecx+281], 19 ; 00000013H
0097d 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00980 c6 82 1a 01 00
00 0c mov BYTE PTR [edx+282], 12 ; 0000000cH
00987 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0098a c6 80 1b 01 00
00 04 mov BYTE PTR [eax+283], 4
00991 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00994 c6 81 1c 01 00
00 1a mov BYTE PTR [ecx+284], 26 ; 0000001aH
0099b 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0099e c6 82 1d 01 00
00 08 mov BYTE PTR [edx+285], 8
009a5 8b 45 fc mov eax, DWORD PTR _this$[ebp]
009a8 c6 80 1e 01 00
00 10 mov BYTE PTR [eax+286], 16 ; 00000010H
009af 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
009b2 c6 81 1f 01 00
00 07 mov BYTE PTR [ecx+287], 7
009b9 8b 55 fc mov edx, DWORD PTR _this$[ebp]
009bc c6 82 20 01 00
00 1b mov BYTE PTR [edx+288], 27 ; 0000001bH
009c3 8b 45 fc mov eax, DWORD PTR _this$[ebp]
009c6 c6 80 21 01 00
00 14 mov BYTE PTR [eax+289], 20 ; 00000014H
009cd 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
009d0 c6 81 22 01 00
00 0d mov BYTE PTR [ecx+290], 13 ; 0000000dH
009d7 8b 55 fc mov edx, DWORD PTR _this$[ebp]
009da c6 82 23 01 00
00 02 mov BYTE PTR [edx+291], 2
009e1 8b 45 fc mov eax, DWORD PTR _this$[ebp]
009e4 c6 80 24 01 00
00 29 mov BYTE PTR [eax+292], 41 ; 00000029H
009eb 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
009ee c6 81 25 01 00
00 34 mov BYTE PTR [ecx+293], 52 ; 00000034H
009f5 8b 55 fc mov edx, DWORD PTR _this$[ebp]
009f8 c6 82 26 01 00
00 1f mov BYTE PTR [edx+294], 31 ; 0000001fH
009ff 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00a02 c6 80 27 01 00
00 25 mov BYTE PTR [eax+295], 37 ; 00000025H
00a09 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00a0c c6 81 28 01 00
00 2f mov BYTE PTR [ecx+296], 47 ; 0000002fH
00a13 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00a16 c6 82 29 01 00
00 37 mov BYTE PTR [edx+297], 55 ; 00000037H
00a1d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00a20 c6 80 2a 01 00
00 1e mov BYTE PTR [eax+298], 30 ; 0000001eH
00a27 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00a2a c6 81 2b 01 00
00 28 mov BYTE PTR [ecx+299], 40 ; 00000028H
00a31 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00a34 c6 82 2c 01 00
00 33 mov BYTE PTR [edx+300], 51 ; 00000033H
00a3b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00a3e c6 80 2d 01 00
00 2d mov BYTE PTR [eax+301], 45 ; 0000002dH
00a45 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00a48 c6 81 2e 01 00
00 21 mov BYTE PTR [ecx+302], 33 ; 00000021H
00a4f 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00a52 c6 82 2f 01 00
00 30 mov BYTE PTR [edx+303], 48 ; 00000030H
00a59 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00a5c c6 80 30 01 00
00 2c mov BYTE PTR [eax+304], 44 ; 0000002cH
00a63 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00a66 c6 81 31 01 00
00 31 mov BYTE PTR [ecx+305], 49 ; 00000031H
00a6d 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00a70 c6 82 32 01 00
00 27 mov BYTE PTR [edx+306], 39 ; 00000027H
00a77 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00a7a c6 80 33 01 00
00 38 mov BYTE PTR [eax+307], 56 ; 00000038H
00a81 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00a84 c6 81 34 01 00
00 22 mov BYTE PTR [ecx+308], 34 ; 00000022H
00a8b 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00a8e c6 82 35 01 00
00 35 mov BYTE PTR [edx+309], 53 ; 00000035H
00a95 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00a98 c6 80 36 01 00
00 2e mov BYTE PTR [eax+310], 46 ; 0000002eH
00a9f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00aa2 c6 81 37 01 00
00 2a mov BYTE PTR [ecx+311], 42 ; 0000002aH
00aa9 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00aac c6 82 38 01 00
00 32 mov BYTE PTR [edx+312], 50 ; 00000032H
00ab3 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00ab6 c6 80 39 01 00
00 24 mov BYTE PTR [eax+313], 36 ; 00000024H
00abd 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00ac0 c6 81 3a 01 00
00 1d mov BYTE PTR [ecx+314], 29 ; 0000001dH
00ac7 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00aca c6 82 3b 01 00
00 20 mov BYTE PTR [edx+315], 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] = {
00ad1 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00ad4 c6 80 3c 01 00
00 01 mov BYTE PTR [eax+316], 1
00adb 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00ade c6 81 3d 01 00
00 01 mov BYTE PTR [ecx+317], 1
00ae5 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00ae8 c6 82 3e 01 00
00 02 mov BYTE PTR [edx+318], 2
00aef 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00af2 c6 80 3f 01 00
00 02 mov BYTE PTR [eax+319], 2
00af9 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00afc c6 81 40 01 00
00 02 mov BYTE PTR [ecx+320], 2
00b03 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00b06 c6 82 41 01 00
00 02 mov BYTE PTR [edx+321], 2
00b0d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00b10 c6 80 42 01 00
00 02 mov BYTE PTR [eax+322], 2
00b17 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00b1a c6 81 43 01 00
00 02 mov BYTE PTR [ecx+323], 2
00b21 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00b24 c6 82 44 01 00
00 01 mov BYTE PTR [edx+324], 1
00b2b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00b2e c6 80 45 01 00
00 02 mov BYTE PTR [eax+325], 2
00b35 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00b38 c6 81 46 01 00
00 02 mov BYTE PTR [ecx+326], 2
00b3f 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00b42 c6 82 47 01 00
00 02 mov BYTE PTR [edx+327], 2
00b49 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00b4c c6 80 48 01 00
00 02 mov BYTE PTR [eax+328], 2
00b53 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00b56 c6 81 49 01 00
00 02 mov BYTE PTR [ecx+329], 2
00b5d 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00b60 c6 82 4a 01 00
00 02 mov BYTE PTR [edx+330], 2
00b67 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00b6a c6 80 4b 01 00
00 01 mov BYTE PTR [eax+331], 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] = {
00b71 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00b74 c6 80 4c 01 00
00 0e mov BYTE PTR [eax+332], 14 ; 0000000eH
00b7b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00b7e c6 81 4d 01 00
00 04 mov BYTE PTR [ecx+333], 4
00b85 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00b88 c6 82 4e 01 00
00 0d mov BYTE PTR [edx+334], 13 ; 0000000dH
00b8f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00b92 c6 80 4f 01 00
00 01 mov BYTE PTR [eax+335], 1
00b99 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00b9c c6 81 50 01 00
00 02 mov BYTE PTR [ecx+336], 2
00ba3 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00ba6 c6 82 51 01 00
00 0f mov BYTE PTR [edx+337], 15 ; 0000000fH
00bad 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00bb0 c6 80 52 01 00
00 0b mov BYTE PTR [eax+338], 11 ; 0000000bH
00bb7 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00bba c6 81 53 01 00
00 08 mov BYTE PTR [ecx+339], 8
00bc1 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00bc4 c6 82 54 01 00
00 03 mov BYTE PTR [edx+340], 3
00bcb 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00bce c6 80 55 01 00
00 0a mov BYTE PTR [eax+341], 10 ; 0000000aH
00bd5 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00bd8 c6 81 56 01 00
00 06 mov BYTE PTR [ecx+342], 6
00bdf 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00be2 c6 82 57 01 00
00 0c mov BYTE PTR [edx+343], 12 ; 0000000cH
00be9 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00bec c6 80 58 01 00
00 05 mov BYTE PTR [eax+344], 5
00bf3 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00bf6 c6 81 59 01 00
00 09 mov BYTE PTR [ecx+345], 9
00bfd 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00c00 c6 82 5a 01 00
00 00 mov BYTE PTR [edx+346], 0
00c07 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00c0a c6 80 5b 01 00
00 07 mov BYTE PTR [eax+347], 7
00c11 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00c14 c6 81 5c 01 00
00 00 mov BYTE PTR [ecx+348], 0
00c1b 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00c1e c6 82 5d 01 00
00 0f mov BYTE PTR [edx+349], 15 ; 0000000fH
00c25 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00c28 c6 80 5e 01 00
00 07 mov BYTE PTR [eax+350], 7
00c2f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00c32 c6 81 5f 01 00
00 04 mov BYTE PTR [ecx+351], 4
00c39 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00c3c c6 82 60 01 00
00 0e mov BYTE PTR [edx+352], 14 ; 0000000eH
00c43 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00c46 c6 80 61 01 00
00 02 mov BYTE PTR [eax+353], 2
00c4d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00c50 c6 81 62 01 00
00 0d mov BYTE PTR [ecx+354], 13 ; 0000000dH
00c57 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00c5a c6 82 63 01 00
00 01 mov BYTE PTR [edx+355], 1
00c61 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00c64 c6 80 64 01 00
00 0a mov BYTE PTR [eax+356], 10 ; 0000000aH
00c6b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00c6e c6 81 65 01 00
00 06 mov BYTE PTR [ecx+357], 6
00c75 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00c78 c6 82 66 01 00
00 0c mov BYTE PTR [edx+358], 12 ; 0000000cH
00c7f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00c82 c6 80 67 01 00
00 0b mov BYTE PTR [eax+359], 11 ; 0000000bH
00c89 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00c8c c6 81 68 01 00
00 09 mov BYTE PTR [ecx+360], 9
00c93 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00c96 c6 82 69 01 00
00 05 mov BYTE PTR [edx+361], 5
00c9d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00ca0 c6 80 6a 01 00
00 03 mov BYTE PTR [eax+362], 3
00ca7 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00caa c6 81 6b 01 00
00 08 mov BYTE PTR [ecx+363], 8
00cb1 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00cb4 c6 82 6c 01 00
00 04 mov BYTE PTR [edx+364], 4
00cbb 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00cbe c6 80 6d 01 00
00 01 mov BYTE PTR [eax+365], 1
00cc5 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00cc8 c6 81 6e 01 00
00 0e mov BYTE PTR [ecx+366], 14 ; 0000000eH
00ccf 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00cd2 c6 82 6f 01 00
00 08 mov BYTE PTR [edx+367], 8
00cd9 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00cdc c6 80 70 01 00
00 0d mov BYTE PTR [eax+368], 13 ; 0000000dH
00ce3 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00ce6 c6 81 71 01 00
00 06 mov BYTE PTR [ecx+369], 6
00ced 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00cf0 c6 82 72 01 00
00 02 mov BYTE PTR [edx+370], 2
00cf7 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00cfa c6 80 73 01 00
00 0b mov BYTE PTR [eax+371], 11 ; 0000000bH
00d01 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00d04 c6 81 74 01 00
00 0f mov BYTE PTR [ecx+372], 15 ; 0000000fH
00d0b 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00d0e c6 82 75 01 00
00 0c mov BYTE PTR [edx+373], 12 ; 0000000cH
00d15 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00d18 c6 80 76 01 00
00 09 mov BYTE PTR [eax+374], 9
00d1f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00d22 c6 81 77 01 00
00 07 mov BYTE PTR [ecx+375], 7
00d29 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00d2c c6 82 78 01 00
00 03 mov BYTE PTR [edx+376], 3
00d33 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00d36 c6 80 79 01 00
00 0a mov BYTE PTR [eax+377], 10 ; 0000000aH
00d3d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00d40 c6 81 7a 01 00
00 05 mov BYTE PTR [ecx+378], 5
00d47 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00d4a c6 82 7b 01 00
00 00 mov BYTE PTR [edx+379], 0
00d51 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00d54 c6 80 7c 01 00
00 0f mov BYTE PTR [eax+380], 15 ; 0000000fH
00d5b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00d5e c6 81 7d 01 00
00 0c mov BYTE PTR [ecx+381], 12 ; 0000000cH
00d65 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00d68 c6 82 7e 01 00
00 08 mov BYTE PTR [edx+382], 8
00d6f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00d72 c6 80 7f 01 00
00 02 mov BYTE PTR [eax+383], 2
00d79 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00d7c c6 81 80 01 00
00 04 mov BYTE PTR [ecx+384], 4
00d83 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00d86 c6 82 81 01 00
00 09 mov BYTE PTR [edx+385], 9
00d8d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00d90 c6 80 82 01 00
00 01 mov BYTE PTR [eax+386], 1
00d97 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00d9a c6 81 83 01 00
00 07 mov BYTE PTR [ecx+387], 7
00da1 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00da4 c6 82 84 01 00
00 05 mov BYTE PTR [edx+388], 5
00dab 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00dae c6 80 85 01 00
00 0b mov BYTE PTR [eax+389], 11 ; 0000000bH
00db5 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00db8 c6 81 86 01 00
00 03 mov BYTE PTR [ecx+390], 3
00dbf 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00dc2 c6 82 87 01 00
00 0e mov BYTE PTR [edx+391], 14 ; 0000000eH
00dc9 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00dcc c6 80 88 01 00
00 0a mov BYTE PTR [eax+392], 10 ; 0000000aH
00dd3 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00dd6 c6 81 89 01 00
00 00 mov BYTE PTR [ecx+393], 0
00ddd 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00de0 c6 82 8a 01 00
00 06 mov BYTE PTR [edx+394], 6
00de7 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00dea c6 80 8b 01 00
00 0d mov BYTE PTR [eax+395], 13 ; 0000000dH
00df1 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00df4 c6 81 8c 01 00
00 0f mov BYTE PTR [ecx+396], 15 ; 0000000fH
00dfb 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00dfe c6 82 8d 01 00
00 01 mov BYTE PTR [edx+397], 1
00e05 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00e08 c6 80 8e 01 00
00 08 mov BYTE PTR [eax+398], 8
00e0f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00e12 c6 81 8f 01 00
00 0e mov BYTE PTR [ecx+399], 14 ; 0000000eH
00e19 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00e1c c6 82 90 01 00
00 06 mov BYTE PTR [edx+400], 6
00e23 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00e26 c6 80 91 01 00
00 0b mov BYTE PTR [eax+401], 11 ; 0000000bH
00e2d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00e30 c6 81 92 01 00
00 03 mov BYTE PTR [ecx+402], 3
00e37 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00e3a c6 82 93 01 00
00 04 mov BYTE PTR [edx+403], 4
00e41 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00e44 c6 80 94 01 00
00 09 mov BYTE PTR [eax+404], 9
00e4b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00e4e c6 81 95 01 00
00 07 mov BYTE PTR [ecx+405], 7
00e55 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00e58 c6 82 96 01 00
00 02 mov BYTE PTR [edx+406], 2
00e5f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00e62 c6 80 97 01 00
00 0d mov BYTE PTR [eax+407], 13 ; 0000000dH
00e69 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00e6c c6 81 98 01 00
00 0c mov BYTE PTR [ecx+408], 12 ; 0000000cH
00e73 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00e76 c6 82 99 01 00
00 00 mov BYTE PTR [edx+409], 0
00e7d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00e80 c6 80 9a 01 00
00 05 mov BYTE PTR [eax+410], 5
00e87 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00e8a c6 81 9b 01 00
00 0a mov BYTE PTR [ecx+411], 10 ; 0000000aH
00e91 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00e94 c6 82 9c 01 00
00 03 mov BYTE PTR [edx+412], 3
00e9b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00e9e c6 80 9d 01 00
00 0d mov BYTE PTR [eax+413], 13 ; 0000000dH
00ea5 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00ea8 c6 81 9e 01 00
00 04 mov BYTE PTR [ecx+414], 4
00eaf 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00eb2 c6 82 9f 01 00
00 07 mov BYTE PTR [edx+415], 7
00eb9 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00ebc c6 80 a0 01 00
00 0f mov BYTE PTR [eax+416], 15 ; 0000000fH
00ec3 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00ec6 c6 81 a1 01 00
00 02 mov BYTE PTR [ecx+417], 2
00ecd 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00ed0 c6 82 a2 01 00
00 08 mov BYTE PTR [edx+418], 8
00ed7 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00eda c6 80 a3 01 00
00 0e mov BYTE PTR [eax+419], 14 ; 0000000eH
00ee1 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00ee4 c6 81 a4 01 00
00 0c mov BYTE PTR [ecx+420], 12 ; 0000000cH
00eeb 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00eee c6 82 a5 01 00
00 00 mov BYTE PTR [edx+421], 0
00ef5 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00ef8 c6 80 a6 01 00
00 01 mov BYTE PTR [eax+422], 1
00eff 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00f02 c6 81 a7 01 00
00 0a mov BYTE PTR [ecx+423], 10 ; 0000000aH
00f09 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00f0c c6 82 a8 01 00
00 06 mov BYTE PTR [edx+424], 6
00f13 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00f16 c6 80 a9 01 00
00 09 mov BYTE PTR [eax+425], 9
00f1d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00f20 c6 81 aa 01 00
00 0b mov BYTE PTR [ecx+426], 11 ; 0000000bH
00f27 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00f2a c6 82 ab 01 00
00 05 mov BYTE PTR [edx+427], 5
00f31 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00f34 c6 80 ac 01 00
00 00 mov BYTE PTR [eax+428], 0
00f3b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00f3e c6 81 ad 01 00
00 0e mov BYTE PTR [ecx+429], 14 ; 0000000eH
00f45 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00f48 c6 82 ae 01 00
00 07 mov BYTE PTR [edx+430], 7
00f4f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00f52 c6 80 af 01 00
00 0b mov BYTE PTR [eax+431], 11 ; 0000000bH
00f59 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00f5c c6 81 b0 01 00
00 0a mov BYTE PTR [ecx+432], 10 ; 0000000aH
00f63 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00f66 c6 82 b1 01 00
00 04 mov BYTE PTR [edx+433], 4
00f6d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00f70 c6 80 b2 01 00
00 0d mov BYTE PTR [eax+434], 13 ; 0000000dH
00f77 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00f7a c6 81 b3 01 00
00 01 mov BYTE PTR [ecx+435], 1
00f81 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00f84 c6 82 b4 01 00
00 05 mov BYTE PTR [edx+436], 5
00f8b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00f8e c6 80 b5 01 00
00 08 mov BYTE PTR [eax+437], 8
00f95 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00f98 c6 81 b6 01 00
00 0c mov BYTE PTR [ecx+438], 12 ; 0000000cH
00f9f 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00fa2 c6 82 b7 01 00
00 06 mov BYTE PTR [edx+439], 6
00fa9 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00fac c6 80 b8 01 00
00 09 mov BYTE PTR [eax+440], 9
00fb3 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00fb6 c6 81 b9 01 00
00 03 mov BYTE PTR [ecx+441], 3
00fbd 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00fc0 c6 82 ba 01 00
00 02 mov BYTE PTR [edx+442], 2
00fc7 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00fca c6 80 bb 01 00
00 0f mov BYTE PTR [eax+443], 15 ; 0000000fH
00fd1 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00fd4 c6 81 bc 01 00
00 0d mov BYTE PTR [ecx+444], 13 ; 0000000dH
00fdb 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00fde c6 82 bd 01 00
00 08 mov BYTE PTR [edx+445], 8
00fe5 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00fe8 c6 80 be 01 00
00 0a mov BYTE PTR [eax+446], 10 ; 0000000aH
00fef 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00ff2 c6 81 bf 01 00
00 01 mov BYTE PTR [ecx+447], 1
00ff9 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00ffc c6 82 c0 01 00
00 03 mov BYTE PTR [edx+448], 3
01003 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01006 c6 80 c1 01 00
00 0f mov BYTE PTR [eax+449], 15 ; 0000000fH
0100d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01010 c6 81 c2 01 00
00 04 mov BYTE PTR [ecx+450], 4
01017 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0101a c6 82 c3 01 00
00 02 mov BYTE PTR [edx+451], 2
01021 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01024 c6 80 c4 01 00
00 0b mov BYTE PTR [eax+452], 11 ; 0000000bH
0102b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0102e c6 81 c5 01 00
00 06 mov BYTE PTR [ecx+453], 6
01035 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01038 c6 82 c6 01 00
00 07 mov BYTE PTR [edx+454], 7
0103f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01042 c6 80 c7 01 00
00 0c mov BYTE PTR [eax+455], 12 ; 0000000cH
01049 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0104c c6 81 c8 01 00
00 00 mov BYTE PTR [ecx+456], 0
01053 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01056 c6 82 c9 01 00
00 05 mov BYTE PTR [edx+457], 5
0105d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01060 c6 80 ca 01 00
00 0e mov BYTE PTR [eax+458], 14 ; 0000000eH
01067 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0106a c6 81 cb 01 00
00 09 mov BYTE PTR [ecx+459], 9
01071 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01074 c6 82 cc 01 00
00 0a mov BYTE PTR [edx+460], 10 ; 0000000aH
0107b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0107e c6 80 cd 01 00
00 00 mov BYTE PTR [eax+461], 0
01085 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01088 c6 81 ce 01 00
00 09 mov BYTE PTR [ecx+462], 9
0108f 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01092 c6 82 cf 01 00
00 0e mov BYTE PTR [edx+463], 14 ; 0000000eH
01099 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0109c c6 80 d0 01 00
00 06 mov BYTE PTR [eax+464], 6
010a3 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
010a6 c6 81 d1 01 00
00 03 mov BYTE PTR [ecx+465], 3
010ad 8b 55 fc mov edx, DWORD PTR _this$[ebp]
010b0 c6 82 d2 01 00
00 0f mov BYTE PTR [edx+466], 15 ; 0000000fH
010b7 8b 45 fc mov eax, DWORD PTR _this$[ebp]
010ba c6 80 d3 01 00
00 05 mov BYTE PTR [eax+467], 5
010c1 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
010c4 c6 81 d4 01 00
00 01 mov BYTE PTR [ecx+468], 1
010cb 8b 55 fc mov edx, DWORD PTR _this$[ebp]
010ce c6 82 d5 01 00
00 0d mov BYTE PTR [edx+469], 13 ; 0000000dH
010d5 8b 45 fc mov eax, DWORD PTR _this$[ebp]
010d8 c6 80 d6 01 00
00 0c mov BYTE PTR [eax+470], 12 ; 0000000cH
010df 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
010e2 c6 81 d7 01 00
00 07 mov BYTE PTR [ecx+471], 7
010e9 8b 55 fc mov edx, DWORD PTR _this$[ebp]
010ec c6 82 d8 01 00
00 0b mov BYTE PTR [edx+472], 11 ; 0000000bH
010f3 8b 45 fc mov eax, DWORD PTR _this$[ebp]
010f6 c6 80 d9 01 00
00 04 mov BYTE PTR [eax+473], 4
010fd 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01100 c6 81 da 01 00
00 02 mov BYTE PTR [ecx+474], 2
01107 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0110a c6 82 db 01 00
00 08 mov BYTE PTR [edx+475], 8
01111 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01114 c6 80 dc 01 00
00 0d mov BYTE PTR [eax+476], 13 ; 0000000dH
0111b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0111e c6 81 dd 01 00
00 07 mov BYTE PTR [ecx+477], 7
01125 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01128 c6 82 de 01 00
00 00 mov BYTE PTR [edx+478], 0
0112f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01132 c6 80 df 01 00
00 09 mov BYTE PTR [eax+479], 9
01139 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0113c c6 81 e0 01 00
00 03 mov BYTE PTR [ecx+480], 3
01143 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01146 c6 82 e1 01 00
00 04 mov BYTE PTR [edx+481], 4
0114d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01150 c6 80 e2 01 00
00 06 mov BYTE PTR [eax+482], 6
01157 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0115a c6 81 e3 01 00
00 0a mov BYTE PTR [ecx+483], 10 ; 0000000aH
01161 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01164 c6 82 e4 01 00
00 02 mov BYTE PTR [edx+484], 2
0116b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0116e c6 80 e5 01 00
00 08 mov BYTE PTR [eax+485], 8
01175 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01178 c6 81 e6 01 00
00 05 mov BYTE PTR [ecx+486], 5
0117f 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01182 c6 82 e7 01 00
00 0e mov BYTE PTR [edx+487], 14 ; 0000000eH
01189 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0118c c6 80 e8 01 00
00 0c mov BYTE PTR [eax+488], 12 ; 0000000cH
01193 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01196 c6 81 e9 01 00
00 0b mov BYTE PTR [ecx+489], 11 ; 0000000bH
0119d 8b 55 fc mov edx, DWORD PTR _this$[ebp]
011a0 c6 82 ea 01 00
00 0f mov BYTE PTR [edx+490], 15 ; 0000000fH
011a7 8b 45 fc mov eax, DWORD PTR _this$[ebp]
011aa c6 80 eb 01 00
00 01 mov BYTE PTR [eax+491], 1
011b1 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
011b4 c6 81 ec 01 00
00 0d mov BYTE PTR [ecx+492], 13 ; 0000000dH
011bb 8b 55 fc mov edx, DWORD PTR _this$[ebp]
011be c6 82 ed 01 00
00 06 mov BYTE PTR [edx+493], 6
011c5 8b 45 fc mov eax, DWORD PTR _this$[ebp]
011c8 c6 80 ee 01 00
00 04 mov BYTE PTR [eax+494], 4
011cf 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
011d2 c6 81 ef 01 00
00 09 mov BYTE PTR [ecx+495], 9
011d9 8b 55 fc mov edx, DWORD PTR _this$[ebp]
011dc c6 82 f0 01 00
00 08 mov BYTE PTR [edx+496], 8
011e3 8b 45 fc mov eax, DWORD PTR _this$[ebp]
011e6 c6 80 f1 01 00
00 0f mov BYTE PTR [eax+497], 15 ; 0000000fH
011ed 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
011f0 c6 81 f2 01 00
00 03 mov BYTE PTR [ecx+498], 3
011f7 8b 55 fc mov edx, DWORD PTR _this$[ebp]
011fa c6 82 f3 01 00
00 00 mov BYTE PTR [edx+499], 0
01201 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01204 c6 80 f4 01 00
00 0b mov BYTE PTR [eax+500], 11 ; 0000000bH
0120b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0120e c6 81 f5 01 00
00 01 mov BYTE PTR [ecx+501], 1
01215 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01218 c6 82 f6 01 00
00 02 mov BYTE PTR [edx+502], 2
0121f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01222 c6 80 f7 01 00
00 0c mov BYTE PTR [eax+503], 12 ; 0000000cH
01229 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0122c c6 81 f8 01 00
00 05 mov BYTE PTR [ecx+504], 5
01233 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01236 c6 82 f9 01 00
00 0a mov BYTE PTR [edx+505], 10 ; 0000000aH
0123d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01240 c6 80 fa 01 00
00 0e mov BYTE PTR [eax+506], 14 ; 0000000eH
01247 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0124a c6 81 fb 01 00
00 07 mov BYTE PTR [ecx+507], 7
01251 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01254 c6 82 fc 01 00
00 01 mov BYTE PTR [edx+508], 1
0125b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0125e c6 80 fd 01 00
00 0a mov BYTE PTR [eax+509], 10 ; 0000000aH
01265 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01268 c6 81 fe 01 00
00 0d mov BYTE PTR [ecx+510], 13 ; 0000000dH
0126f 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01272 c6 82 ff 01 00
00 00 mov BYTE PTR [edx+511], 0
01279 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0127c c6 80 00 02 00
00 06 mov BYTE PTR [eax+512], 6
01283 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01286 c6 81 01 02 00
00 09 mov BYTE PTR [ecx+513], 9
0128d 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01290 c6 82 02 02 00
00 08 mov BYTE PTR [edx+514], 8
01297 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0129a c6 80 03 02 00
00 07 mov BYTE PTR [eax+515], 7
012a1 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
012a4 c6 81 04 02 00
00 04 mov BYTE PTR [ecx+516], 4
012ab 8b 55 fc mov edx, DWORD PTR _this$[ebp]
012ae c6 82 05 02 00
00 0f mov BYTE PTR [edx+517], 15 ; 0000000fH
012b5 8b 45 fc mov eax, DWORD PTR _this$[ebp]
012b8 c6 80 06 02 00
00 0e mov BYTE PTR [eax+518], 14 ; 0000000eH
012bf 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
012c2 c6 81 07 02 00
00 03 mov BYTE PTR [ecx+519], 3
012c9 8b 55 fc mov edx, DWORD PTR _this$[ebp]
012cc c6 82 08 02 00
00 0b mov BYTE PTR [edx+520], 11 ; 0000000bH
012d3 8b 45 fc mov eax, DWORD PTR _this$[ebp]
012d6 c6 80 09 02 00
00 05 mov BYTE PTR [eax+521], 5
012dd 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
012e0 c6 81 0a 02 00
00 02 mov BYTE PTR [ecx+522], 2
012e7 8b 55 fc mov edx, DWORD PTR _this$[ebp]
012ea c6 82 0b 02 00
00 0c mov BYTE PTR [edx+523], 12 ; 0000000cH
012f1 8b 45 fc mov eax, DWORD PTR _this$[ebp]
012f4 c6 80 0c 02 00
00 07 mov BYTE PTR [eax+524], 7
012fb 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
012fe c6 81 0d 02 00
00 0d mov BYTE PTR [ecx+525], 13 ; 0000000dH
01305 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01308 c6 82 0e 02 00
00 0e mov BYTE PTR [edx+526], 14 ; 0000000eH
0130f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01312 c6 80 0f 02 00
00 03 mov BYTE PTR [eax+527], 3
01319 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0131c c6 81 10 02 00
00 00 mov BYTE PTR [ecx+528], 0
01323 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01326 c6 82 11 02 00
00 06 mov BYTE PTR [edx+529], 6
0132d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01330 c6 80 12 02 00
00 09 mov BYTE PTR [eax+530], 9
01337 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0133a c6 81 13 02 00
00 0a mov BYTE PTR [ecx+531], 10 ; 0000000aH
01341 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01344 c6 82 14 02 00
00 01 mov BYTE PTR [edx+532], 1
0134b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0134e c6 80 15 02 00
00 02 mov BYTE PTR [eax+533], 2
01355 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01358 c6 81 16 02 00
00 08 mov BYTE PTR [ecx+534], 8
0135f 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01362 c6 82 17 02 00
00 05 mov BYTE PTR [edx+535], 5
01369 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0136c c6 80 18 02 00
00 0b mov BYTE PTR [eax+536], 11 ; 0000000bH
01373 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01376 c6 81 19 02 00
00 0c mov BYTE PTR [ecx+537], 12 ; 0000000cH
0137d 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01380 c6 82 1a 02 00
00 04 mov BYTE PTR [edx+538], 4
01387 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0138a c6 80 1b 02 00
00 0f mov BYTE PTR [eax+539], 15 ; 0000000fH
01391 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01394 c6 81 1c 02 00
00 0d mov BYTE PTR [ecx+540], 13 ; 0000000dH
0139b 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0139e c6 82 1d 02 00
00 08 mov BYTE PTR [edx+541], 8
013a5 8b 45 fc mov eax, DWORD PTR _this$[ebp]
013a8 c6 80 1e 02 00
00 0b mov BYTE PTR [eax+542], 11 ; 0000000bH
013af 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
013b2 c6 81 1f 02 00
00 05 mov BYTE PTR [ecx+543], 5
013b9 8b 55 fc mov edx, DWORD PTR _this$[ebp]
013bc c6 82 20 02 00
00 06 mov BYTE PTR [edx+544], 6
013c3 8b 45 fc mov eax, DWORD PTR _this$[ebp]
013c6 c6 80 21 02 00
00 0f mov BYTE PTR [eax+545], 15 ; 0000000fH
013cd 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
013d0 c6 81 22 02 00
00 00 mov BYTE PTR [ecx+546], 0
013d7 8b 55 fc mov edx, DWORD PTR _this$[ebp]
013da c6 82 23 02 00
00 03 mov BYTE PTR [edx+547], 3
013e1 8b 45 fc mov eax, DWORD PTR _this$[ebp]
013e4 c6 80 24 02 00
00 04 mov BYTE PTR [eax+548], 4
013eb 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
013ee c6 81 25 02 00
00 07 mov BYTE PTR [ecx+549], 7
013f5 8b 55 fc mov edx, DWORD PTR _this$[ebp]
013f8 c6 82 26 02 00
00 02 mov BYTE PTR [edx+550], 2
013ff 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01402 c6 80 27 02 00
00 0c mov BYTE PTR [eax+551], 12 ; 0000000cH
01409 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0140c c6 81 28 02 00
00 01 mov BYTE PTR [ecx+552], 1
01413 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01416 c6 82 29 02 00
00 0a mov BYTE PTR [edx+553], 10 ; 0000000aH
0141d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01420 c6 80 2a 02 00
00 0e mov BYTE PTR [eax+554], 14 ; 0000000eH
01427 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0142a c6 81 2b 02 00
00 09 mov BYTE PTR [ecx+555], 9
01431 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01434 c6 82 2c 02 00
00 0a mov BYTE PTR [edx+556], 10 ; 0000000aH
0143b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0143e c6 80 2d 02 00
00 06 mov BYTE PTR [eax+557], 6
01445 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01448 c6 81 2e 02 00
00 09 mov BYTE PTR [ecx+558], 9
0144f 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01452 c6 82 2f 02 00
00 00 mov BYTE PTR [edx+559], 0
01459 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0145c c6 80 30 02 00
00 0c mov BYTE PTR [eax+560], 12 ; 0000000cH
01463 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01466 c6 81 31 02 00
00 0b mov BYTE PTR [ecx+561], 11 ; 0000000bH
0146d 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01470 c6 82 32 02 00
00 07 mov BYTE PTR [edx+562], 7
01477 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0147a c6 80 33 02 00
00 0d mov BYTE PTR [eax+563], 13 ; 0000000dH
01481 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01484 c6 81 34 02 00
00 0f mov BYTE PTR [ecx+564], 15 ; 0000000fH
0148b 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0148e c6 82 35 02 00
00 01 mov BYTE PTR [edx+565], 1
01495 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01498 c6 80 36 02 00
00 03 mov BYTE PTR [eax+566], 3
0149f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
014a2 c6 81 37 02 00
00 0e mov BYTE PTR [ecx+567], 14 ; 0000000eH
014a9 8b 55 fc mov edx, DWORD PTR _this$[ebp]
014ac c6 82 38 02 00
00 05 mov BYTE PTR [edx+568], 5
014b3 8b 45 fc mov eax, DWORD PTR _this$[ebp]
014b6 c6 80 39 02 00
00 02 mov BYTE PTR [eax+569], 2
014bd 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
014c0 c6 81 3a 02 00
00 08 mov BYTE PTR [ecx+570], 8
014c7 8b 55 fc mov edx, DWORD PTR _this$[ebp]
014ca c6 82 3b 02 00
00 04 mov BYTE PTR [edx+571], 4
014d1 8b 45 fc mov eax, DWORD PTR _this$[ebp]
014d4 c6 80 3c 02 00
00 03 mov BYTE PTR [eax+572], 3
014db 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
014de c6 81 3d 02 00
00 0f mov BYTE PTR [ecx+573], 15 ; 0000000fH
014e5 8b 55 fc mov edx, DWORD PTR _this$[ebp]
014e8 c6 82 3e 02 00
00 00 mov BYTE PTR [edx+574], 0
014ef 8b 45 fc mov eax, DWORD PTR _this$[ebp]
014f2 c6 80 3f 02 00
00 06 mov BYTE PTR [eax+575], 6
014f9 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
014fc c6 81 40 02 00
00 0a mov BYTE PTR [ecx+576], 10 ; 0000000aH
01503 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01506 c6 82 41 02 00
00 01 mov BYTE PTR [edx+577], 1
0150d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01510 c6 80 42 02 00
00 0d mov BYTE PTR [eax+578], 13 ; 0000000dH
01517 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0151a c6 81 43 02 00
00 08 mov BYTE PTR [ecx+579], 8
01521 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01524 c6 82 44 02 00
00 09 mov BYTE PTR [edx+580], 9
0152b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0152e c6 80 45 02 00
00 04 mov BYTE PTR [eax+581], 4
01535 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01538 c6 81 46 02 00
00 05 mov BYTE PTR [ecx+582], 5
0153f 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01542 c6 82 47 02 00
00 0b mov BYTE PTR [edx+583], 11 ; 0000000bH
01549 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0154c c6 80 48 02 00
00 0c mov BYTE PTR [eax+584], 12 ; 0000000cH
01553 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01556 c6 81 49 02 00
00 07 mov BYTE PTR [ecx+585], 7
0155d 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01560 c6 82 4a 02 00
00 02 mov BYTE PTR [edx+586], 2
01567 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0156a c6 80 4b 02 00
00 0e mov BYTE PTR [eax+587], 14 ; 0000000eH
01571 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01574 c6 81 4c 02 00
00 02 mov BYTE PTR [ecx+588], 2
0157b 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0157e c6 82 4d 02 00
00 0c mov BYTE PTR [edx+589], 12 ; 0000000cH
01585 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01588 c6 80 4e 02 00
00 04 mov BYTE PTR [eax+590], 4
0158f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01592 c6 81 4f 02 00
00 01 mov BYTE PTR [ecx+591], 1
01599 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0159c c6 82 50 02 00
00 07 mov BYTE PTR [edx+592], 7
015a3 8b 45 fc mov eax, DWORD PTR _this$[ebp]
015a6 c6 80 51 02 00
00 0a mov BYTE PTR [eax+593], 10 ; 0000000aH
015ad 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
015b0 c6 81 52 02 00
00 0b mov BYTE PTR [ecx+594], 11 ; 0000000bH
015b7 8b 55 fc mov edx, DWORD PTR _this$[ebp]
015ba c6 82 53 02 00
00 06 mov BYTE PTR [edx+595], 6
015c1 8b 45 fc mov eax, DWORD PTR _this$[ebp]
015c4 c6 80 54 02 00
00 08 mov BYTE PTR [eax+596], 8
015cb 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
015ce c6 81 55 02 00
00 05 mov BYTE PTR [ecx+597], 5
015d5 8b 55 fc mov edx, DWORD PTR _this$[ebp]
015d8 c6 82 56 02 00
00 03 mov BYTE PTR [edx+598], 3
015df 8b 45 fc mov eax, DWORD PTR _this$[ebp]
015e2 c6 80 57 02 00
00 0f mov BYTE PTR [eax+599], 15 ; 0000000fH
015e9 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
015ec c6 81 58 02 00
00 0d mov BYTE PTR [ecx+600], 13 ; 0000000dH
015f3 8b 55 fc mov edx, DWORD PTR _this$[ebp]
015f6 c6 82 59 02 00
00 00 mov BYTE PTR [edx+601], 0
015fd 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01600 c6 80 5a 02 00
00 0e mov BYTE PTR [eax+602], 14 ; 0000000eH
01607 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0160a c6 81 5b 02 00
00 09 mov BYTE PTR [ecx+603], 9
01611 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01614 c6 82 5c 02 00
00 0e mov BYTE PTR [edx+604], 14 ; 0000000eH
0161b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0161e c6 80 5d 02 00
00 0b mov BYTE PTR [eax+605], 11 ; 0000000bH
01625 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01628 c6 81 5e 02 00
00 02 mov BYTE PTR [ecx+606], 2
0162f 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01632 c6 82 5f 02 00
00 0c mov BYTE PTR [edx+607], 12 ; 0000000cH
01639 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0163c c6 80 60 02 00
00 04 mov BYTE PTR [eax+608], 4
01643 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01646 c6 81 61 02 00
00 07 mov BYTE PTR [ecx+609], 7
0164d 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01650 c6 82 62 02 00
00 0d mov BYTE PTR [edx+610], 13 ; 0000000dH
01657 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0165a c6 80 63 02 00
00 01 mov BYTE PTR [eax+611], 1
01661 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01664 c6 81 64 02 00
00 05 mov BYTE PTR [ecx+612], 5
0166b 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0166e c6 82 65 02 00
00 00 mov BYTE PTR [edx+613], 0
01675 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01678 c6 80 66 02 00
00 0f mov BYTE PTR [eax+614], 15 ; 0000000fH
0167f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01682 c6 81 67 02 00
00 0a mov BYTE PTR [ecx+615], 10 ; 0000000aH
01689 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0168c c6 82 68 02 00
00 03 mov BYTE PTR [edx+616], 3
01693 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01696 c6 80 69 02 00
00 09 mov BYTE PTR [eax+617], 9
0169d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
016a0 c6 81 6a 02 00
00 08 mov BYTE PTR [ecx+618], 8
016a7 8b 55 fc mov edx, DWORD PTR _this$[ebp]
016aa c6 82 6b 02 00
00 06 mov BYTE PTR [edx+619], 6
016b1 8b 45 fc mov eax, DWORD PTR _this$[ebp]
016b4 c6 80 6c 02 00
00 04 mov BYTE PTR [eax+620], 4
016bb 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
016be c6 81 6d 02 00
00 02 mov BYTE PTR [ecx+621], 2
016c5 8b 55 fc mov edx, DWORD PTR _this$[ebp]
016c8 c6 82 6e 02 00
00 01 mov BYTE PTR [edx+622], 1
016cf 8b 45 fc mov eax, DWORD PTR _this$[ebp]
016d2 c6 80 6f 02 00
00 0b mov BYTE PTR [eax+623], 11 ; 0000000bH
016d9 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
016dc c6 81 70 02 00
00 0a mov BYTE PTR [ecx+624], 10 ; 0000000aH
016e3 8b 55 fc mov edx, DWORD PTR _this$[ebp]
016e6 c6 82 71 02 00
00 0d mov BYTE PTR [edx+625], 13 ; 0000000dH
016ed 8b 45 fc mov eax, DWORD PTR _this$[ebp]
016f0 c6 80 72 02 00
00 07 mov BYTE PTR [eax+626], 7
016f7 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
016fa c6 81 73 02 00
00 08 mov BYTE PTR [ecx+627], 8
01701 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01704 c6 82 74 02 00
00 0f mov BYTE PTR [edx+628], 15 ; 0000000fH
0170b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0170e c6 80 75 02 00
00 09 mov BYTE PTR [eax+629], 9
01715 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01718 c6 81 76 02 00
00 0c mov BYTE PTR [ecx+630], 12 ; 0000000cH
0171f 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01722 c6 82 77 02 00
00 05 mov BYTE PTR [edx+631], 5
01729 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0172c c6 80 78 02 00
00 06 mov BYTE PTR [eax+632], 6
01733 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01736 c6 81 79 02 00
00 03 mov BYTE PTR [ecx+633], 3
0173d 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01740 c6 82 7a 02 00
00 00 mov BYTE PTR [edx+634], 0
01747 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0174a c6 80 7b 02 00
00 0e mov BYTE PTR [eax+635], 14 ; 0000000eH
01751 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01754 c6 81 7c 02 00
00 0b mov BYTE PTR [ecx+636], 11 ; 0000000bH
0175b 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0175e c6 82 7d 02 00
00 08 mov BYTE PTR [edx+637], 8
01765 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01768 c6 80 7e 02 00
00 0c mov BYTE PTR [eax+638], 12 ; 0000000cH
0176f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01772 c6 81 7f 02 00
00 07 mov BYTE PTR [ecx+639], 7
01779 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0177c c6 82 80 02 00
00 01 mov BYTE PTR [edx+640], 1
01783 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01786 c6 80 81 02 00
00 0e mov BYTE PTR [eax+641], 14 ; 0000000eH
0178d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01790 c6 81 82 02 00
00 02 mov BYTE PTR [ecx+642], 2
01797 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0179a c6 82 83 02 00
00 0d mov BYTE PTR [edx+643], 13 ; 0000000dH
017a1 8b 45 fc mov eax, DWORD PTR _this$[ebp]
017a4 c6 80 84 02 00
00 06 mov BYTE PTR [eax+644], 6
017ab 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
017ae c6 81 85 02 00
00 0f mov BYTE PTR [ecx+645], 15 ; 0000000fH
017b5 8b 55 fc mov edx, DWORD PTR _this$[ebp]
017b8 c6 82 86 02 00
00 00 mov BYTE PTR [edx+646], 0
017bf 8b 45 fc mov eax, DWORD PTR _this$[ebp]
017c2 c6 80 87 02 00
00 09 mov BYTE PTR [eax+647], 9
017c9 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
017cc c6 81 88 02 00
00 0a mov BYTE PTR [ecx+648], 10 ; 0000000aH
017d3 8b 55 fc mov edx, DWORD PTR _this$[ebp]
017d6 c6 82 89 02 00
00 04 mov BYTE PTR [edx+649], 4
017dd 8b 45 fc mov eax, DWORD PTR _this$[ebp]
017e0 c6 80 8a 02 00
00 05 mov BYTE PTR [eax+650], 5
017e7 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
017ea c6 81 8b 02 00
00 03 mov BYTE PTR [ecx+651], 3
017f1 8b 55 fc mov edx, DWORD PTR _this$[ebp]
017f4 c6 82 8c 02 00
00 0c mov BYTE PTR [edx+652], 12 ; 0000000cH
017fb 8b 45 fc mov eax, DWORD PTR _this$[ebp]
017fe c6 80 8d 02 00
00 01 mov BYTE PTR [eax+653], 1
01805 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01808 c6 81 8e 02 00
00 0a mov BYTE PTR [ecx+654], 10 ; 0000000aH
0180f 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01812 c6 82 8f 02 00
00 0f mov BYTE PTR [edx+655], 15 ; 0000000fH
01819 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0181c c6 80 90 02 00
00 09 mov BYTE PTR [eax+656], 9
01823 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01826 c6 81 91 02 00
00 02 mov BYTE PTR [ecx+657], 2
0182d 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01830 c6 82 92 02 00
00 06 mov BYTE PTR [edx+658], 6
01837 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0183a c6 80 93 02 00
00 08 mov BYTE PTR [eax+659], 8
01841 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01844 c6 81 94 02 00
00 00 mov BYTE PTR [ecx+660], 0
0184b 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0184e c6 82 95 02 00
00 0d mov BYTE PTR [edx+661], 13 ; 0000000dH
01855 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01858 c6 80 96 02 00
00 03 mov BYTE PTR [eax+662], 3
0185f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01862 c6 81 97 02 00
00 04 mov BYTE PTR [ecx+663], 4
01869 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0186c c6 82 98 02 00
00 0e mov BYTE PTR [edx+664], 14 ; 0000000eH
01873 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01876 c6 80 99 02 00
00 07 mov BYTE PTR [eax+665], 7
0187d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01880 c6 81 9a 02 00
00 05 mov BYTE PTR [ecx+666], 5
01887 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0188a c6 82 9b 02 00
00 0b mov BYTE PTR [edx+667], 11 ; 0000000bH
01891 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01894 c6 80 9c 02 00
00 0a mov BYTE PTR [eax+668], 10 ; 0000000aH
0189b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0189e c6 81 9d 02 00
00 0f mov BYTE PTR [ecx+669], 15 ; 0000000fH
018a5 8b 55 fc mov edx, DWORD PTR _this$[ebp]
018a8 c6 82 9e 02 00
00 04 mov BYTE PTR [edx+670], 4
018af 8b 45 fc mov eax, DWORD PTR _this$[ebp]
018b2 c6 80 9f 02 00
00 02 mov BYTE PTR [eax+671], 2
018b9 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
018bc c6 81 a0 02 00
00 07 mov BYTE PTR [ecx+672], 7
018c3 8b 55 fc mov edx, DWORD PTR _this$[ebp]
018c6 c6 82 a1 02 00
00 0c mov BYTE PTR [edx+673], 12 ; 0000000cH
018cd 8b 45 fc mov eax, DWORD PTR _this$[ebp]
018d0 c6 80 a2 02 00
00 09 mov BYTE PTR [eax+674], 9
018d7 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
018da c6 81 a3 02 00
00 05 mov BYTE PTR [ecx+675], 5
018e1 8b 55 fc mov edx, DWORD PTR _this$[ebp]
018e4 c6 82 a4 02 00
00 06 mov BYTE PTR [edx+676], 6
018eb 8b 45 fc mov eax, DWORD PTR _this$[ebp]
018ee c6 80 a5 02 00
00 01 mov BYTE PTR [eax+677], 1
018f5 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
018f8 c6 81 a6 02 00
00 0d mov BYTE PTR [ecx+678], 13 ; 0000000dH
018ff 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01902 c6 82 a7 02 00
00 0e mov BYTE PTR [edx+679], 14 ; 0000000eH
01909 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0190c c6 80 a8 02 00
00 00 mov BYTE PTR [eax+680], 0
01913 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01916 c6 81 a9 02 00
00 0b mov BYTE PTR [ecx+681], 11 ; 0000000bH
0191d 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01920 c6 82 aa 02 00
00 03 mov BYTE PTR [edx+682], 3
01927 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0192a c6 80 ab 02 00
00 08 mov BYTE PTR [eax+683], 8
01931 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01934 c6 81 ac 02 00
00 09 mov BYTE PTR [ecx+684], 9
0193b 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0193e c6 82 ad 02 00
00 0e mov BYTE PTR [edx+685], 14 ; 0000000eH
01945 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01948 c6 80 ae 02 00
00 0f mov BYTE PTR [eax+686], 15 ; 0000000fH
0194f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01952 c6 81 af 02 00
00 05 mov BYTE PTR [ecx+687], 5
01959 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0195c c6 82 b0 02 00
00 02 mov BYTE PTR [edx+688], 2
01963 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01966 c6 80 b1 02 00
00 08 mov BYTE PTR [eax+689], 8
0196d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01970 c6 81 b2 02 00
00 0c mov BYTE PTR [ecx+690], 12 ; 0000000cH
01977 8b 55 fc mov edx, DWORD PTR _this$[ebp]
0197a c6 82 b3 02 00
00 03 mov BYTE PTR [edx+691], 3
01981 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01984 c6 80 b4 02 00
00 07 mov BYTE PTR [eax+692], 7
0198b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0198e c6 81 b5 02 00
00 00 mov BYTE PTR [ecx+693], 0
01995 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01998 c6 82 b6 02 00
00 04 mov BYTE PTR [edx+694], 4
0199f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
019a2 c6 80 b7 02 00
00 0a mov BYTE PTR [eax+695], 10 ; 0000000aH
019a9 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
019ac c6 81 b8 02 00
00 01 mov BYTE PTR [ecx+696], 1
019b3 8b 55 fc mov edx, DWORD PTR _this$[ebp]
019b6 c6 82 b9 02 00
00 0d mov BYTE PTR [edx+697], 13 ; 0000000dH
019bd 8b 45 fc mov eax, DWORD PTR _this$[ebp]
019c0 c6 80 ba 02 00
00 0b mov BYTE PTR [eax+698], 11 ; 0000000bH
019c7 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
019ca c6 81 bb 02 00
00 06 mov BYTE PTR [ecx+699], 6
019d1 8b 55 fc mov edx, DWORD PTR _this$[ebp]
019d4 c6 82 bc 02 00
00 04 mov BYTE PTR [edx+700], 4
019db 8b 45 fc mov eax, DWORD PTR _this$[ebp]
019de c6 80 bd 02 00
00 03 mov BYTE PTR [eax+701], 3
019e5 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
019e8 c6 81 be 02 00
00 02 mov BYTE PTR [ecx+702], 2
019ef 8b 55 fc mov edx, DWORD PTR _this$[ebp]
019f2 c6 82 bf 02 00
00 0c mov BYTE PTR [edx+703], 12 ; 0000000cH
019f9 8b 45 fc mov eax, DWORD PTR _this$[ebp]
019fc c6 80 c0 02 00
00 09 mov BYTE PTR [eax+704], 9
01a03 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01a06 c6 81 c1 02 00
00 05 mov BYTE PTR [ecx+705], 5
01a0d 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01a10 c6 82 c2 02 00
00 0f mov BYTE PTR [edx+706], 15 ; 0000000fH
01a17 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01a1a c6 80 c3 02 00
00 0a mov BYTE PTR [eax+707], 10 ; 0000000aH
01a21 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01a24 c6 81 c4 02 00
00 0b mov BYTE PTR [ecx+708], 11 ; 0000000bH
01a2b 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01a2e c6 82 c5 02 00
00 0e mov BYTE PTR [edx+709], 14 ; 0000000eH
01a35 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01a38 c6 80 c6 02 00
00 01 mov BYTE PTR [eax+710], 1
01a3f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01a42 c6 81 c7 02 00
00 07 mov BYTE PTR [ecx+711], 7
01a49 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01a4c c6 82 c8 02 00
00 06 mov BYTE PTR [edx+712], 6
01a53 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01a56 c6 80 c9 02 00
00 00 mov BYTE PTR [eax+713], 0
01a5d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01a60 c6 81 ca 02 00
00 08 mov BYTE PTR [ecx+714], 8
01a67 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01a6a c6 82 cb 02 00
00 0d mov BYTE PTR [edx+715], 13 ; 0000000dH
01a71 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01a74 c6 80 cc 02 00
00 04 mov BYTE PTR [eax+716], 4
01a7b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01a7e c6 81 cd 02 00
00 0b mov BYTE PTR [ecx+717], 11 ; 0000000bH
01a85 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01a88 c6 82 ce 02 00
00 02 mov BYTE PTR [edx+718], 2
01a8f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01a92 c6 80 cf 02 00
00 0e mov BYTE PTR [eax+719], 14 ; 0000000eH
01a99 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01a9c c6 81 d0 02 00
00 0f mov BYTE PTR [ecx+720], 15 ; 0000000fH
01aa3 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01aa6 c6 82 d1 02 00
00 00 mov BYTE PTR [edx+721], 0
01aad 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01ab0 c6 80 d2 02 00
00 08 mov BYTE PTR [eax+722], 8
01ab7 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01aba c6 81 d3 02 00
00 0d mov BYTE PTR [ecx+723], 13 ; 0000000dH
01ac1 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01ac4 c6 82 d4 02 00
00 03 mov BYTE PTR [edx+724], 3
01acb 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01ace c6 80 d5 02 00
00 0c mov BYTE PTR [eax+725], 12 ; 0000000cH
01ad5 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01ad8 c6 81 d6 02 00
00 09 mov BYTE PTR [ecx+726], 9
01adf 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01ae2 c6 82 d7 02 00
00 07 mov BYTE PTR [edx+727], 7
01ae9 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01aec c6 80 d8 02 00
00 05 mov BYTE PTR [eax+728], 5
01af3 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01af6 c6 81 d9 02 00
00 0a mov BYTE PTR [ecx+729], 10 ; 0000000aH
01afd 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01b00 c6 82 da 02 00
00 06 mov BYTE PTR [edx+730], 6
01b07 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01b0a c6 80 db 02 00
00 01 mov BYTE PTR [eax+731], 1
01b11 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01b14 c6 81 dc 02 00
00 0d mov BYTE PTR [ecx+732], 13 ; 0000000dH
01b1b 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01b1e c6 82 dd 02 00
00 00 mov BYTE PTR [edx+733], 0
01b25 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01b28 c6 80 de 02 00
00 0b mov BYTE PTR [eax+734], 11 ; 0000000bH
01b2f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01b32 c6 81 df 02 00
00 07 mov BYTE PTR [ecx+735], 7
01b39 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01b3c c6 82 e0 02 00
00 04 mov BYTE PTR [edx+736], 4
01b43 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01b46 c6 80 e1 02 00
00 09 mov BYTE PTR [eax+737], 9
01b4d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01b50 c6 81 e2 02 00
00 01 mov BYTE PTR [ecx+738], 1
01b57 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01b5a c6 82 e3 02 00
00 0a mov BYTE PTR [edx+739], 10 ; 0000000aH
01b61 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01b64 c6 80 e4 02 00
00 0e mov BYTE PTR [eax+740], 14 ; 0000000eH
01b6b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01b6e c6 81 e5 02 00
00 03 mov BYTE PTR [ecx+741], 3
01b75 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01b78 c6 82 e6 02 00
00 05 mov BYTE PTR [edx+742], 5
01b7f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01b82 c6 80 e7 02 00
00 0c mov BYTE PTR [eax+743], 12 ; 0000000cH
01b89 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01b8c c6 81 e8 02 00
00 02 mov BYTE PTR [ecx+744], 2
01b93 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01b96 c6 82 e9 02 00
00 0f mov BYTE PTR [edx+745], 15 ; 0000000fH
01b9d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01ba0 c6 80 ea 02 00
00 08 mov BYTE PTR [eax+746], 8
01ba7 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01baa c6 81 eb 02 00
00 06 mov BYTE PTR [ecx+747], 6
01bb1 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01bb4 c6 82 ec 02 00
00 01 mov BYTE PTR [edx+748], 1
01bbb 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01bbe c6 80 ed 02 00
00 04 mov BYTE PTR [eax+749], 4
01bc5 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01bc8 c6 81 ee 02 00
00 0b mov BYTE PTR [ecx+750], 11 ; 0000000bH
01bcf 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01bd2 c6 82 ef 02 00
00 0d mov BYTE PTR [edx+751], 13 ; 0000000dH
01bd9 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01bdc c6 80 f0 02 00
00 0c mov BYTE PTR [eax+752], 12 ; 0000000cH
01be3 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01be6 c6 81 f1 02 00
00 03 mov BYTE PTR [ecx+753], 3
01bed 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01bf0 c6 82 f2 02 00
00 07 mov BYTE PTR [edx+754], 7
01bf7 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01bfa c6 80 f3 02 00
00 0e mov BYTE PTR [eax+755], 14 ; 0000000eH
01c01 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01c04 c6 81 f4 02 00
00 0a mov BYTE PTR [ecx+756], 10 ; 0000000aH
01c0b 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01c0e c6 82 f5 02 00
00 0f mov BYTE PTR [edx+757], 15 ; 0000000fH
01c15 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01c18 c6 80 f6 02 00
00 06 mov BYTE PTR [eax+758], 6
01c1f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01c22 c6 81 f7 02 00
00 08 mov BYTE PTR [ecx+759], 8
01c29 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01c2c c6 82 f8 02 00
00 00 mov BYTE PTR [edx+760], 0
01c33 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01c36 c6 80 f9 02 00
00 05 mov BYTE PTR [eax+761], 5
01c3d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01c40 c6 81 fa 02 00
00 09 mov BYTE PTR [ecx+762], 9
01c47 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01c4a c6 82 fb 02 00
00 02 mov BYTE PTR [edx+763], 2
01c51 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01c54 c6 80 fc 02 00
00 06 mov BYTE PTR [eax+764], 6
01c5b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01c5e c6 81 fd 02 00
00 0b mov BYTE PTR [ecx+765], 11 ; 0000000bH
01c65 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01c68 c6 82 fe 02 00
00 0d mov BYTE PTR [edx+766], 13 ; 0000000dH
01c6f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01c72 c6 80 ff 02 00
00 08 mov BYTE PTR [eax+767], 8
01c79 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01c7c c6 81 00 03 00
00 01 mov BYTE PTR [ecx+768], 1
01c83 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01c86 c6 82 01 03 00
00 04 mov BYTE PTR [edx+769], 4
01c8d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01c90 c6 80 02 03 00
00 0a mov BYTE PTR [eax+770], 10 ; 0000000aH
01c97 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01c9a c6 81 03 03 00
00 07 mov BYTE PTR [ecx+771], 7
01ca1 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01ca4 c6 82 04 03 00
00 09 mov BYTE PTR [edx+772], 9
01cab 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01cae c6 80 05 03 00
00 05 mov BYTE PTR [eax+773], 5
01cb5 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01cb8 c6 81 06 03 00
00 00 mov BYTE PTR [ecx+774], 0
01cbf 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01cc2 c6 82 07 03 00
00 0f mov BYTE PTR [edx+775], 15 ; 0000000fH
01cc9 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01ccc c6 80 08 03 00
00 0e mov BYTE PTR [eax+776], 14 ; 0000000eH
01cd3 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01cd6 c6 81 09 03 00
00 02 mov BYTE PTR [ecx+777], 2
01cdd 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01ce0 c6 82 0a 03 00
00 03 mov BYTE PTR [edx+778], 3
01ce7 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01cea c6 80 0b 03 00
00 0c mov BYTE PTR [eax+779], 12 ; 0000000cH
01cf1 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01cf4 c6 81 0c 03 00
00 0d mov BYTE PTR [ecx+780], 13 ; 0000000dH
01cfb 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01cfe c6 82 0d 03 00
00 02 mov BYTE PTR [edx+781], 2
01d05 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01d08 c6 80 0e 03 00
00 08 mov BYTE PTR [eax+782], 8
01d0f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01d12 c6 81 0f 03 00
00 04 mov BYTE PTR [ecx+783], 4
01d19 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01d1c c6 82 10 03 00
00 06 mov BYTE PTR [edx+784], 6
01d23 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01d26 c6 80 11 03 00
00 0f mov BYTE PTR [eax+785], 15 ; 0000000fH
01d2d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01d30 c6 81 12 03 00
00 0b mov BYTE PTR [ecx+786], 11 ; 0000000bH
01d37 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01d3a c6 82 13 03 00
00 01 mov BYTE PTR [edx+787], 1
01d41 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01d44 c6 80 14 03 00
00 0a mov BYTE PTR [eax+788], 10 ; 0000000aH
01d4b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01d4e c6 81 15 03 00
00 09 mov BYTE PTR [ecx+789], 9
01d55 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01d58 c6 82 16 03 00
00 03 mov BYTE PTR [edx+790], 3
01d5f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01d62 c6 80 17 03 00
00 0e mov BYTE PTR [eax+791], 14 ; 0000000eH
01d69 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01d6c c6 81 18 03 00
00 05 mov BYTE PTR [ecx+792], 5
01d73 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01d76 c6 82 19 03 00
00 00 mov BYTE PTR [edx+793], 0
01d7d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01d80 c6 80 1a 03 00
00 0c mov BYTE PTR [eax+794], 12 ; 0000000cH
01d87 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01d8a c6 81 1b 03 00
00 07 mov BYTE PTR [ecx+795], 7
01d91 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01d94 c6 82 1c 03 00
00 01 mov BYTE PTR [edx+796], 1
01d9b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01d9e c6 80 1d 03 00
00 0f mov BYTE PTR [eax+797], 15 ; 0000000fH
01da5 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01da8 c6 81 1e 03 00
00 0d mov BYTE PTR [ecx+798], 13 ; 0000000dH
01daf 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01db2 c6 82 1f 03 00
00 08 mov BYTE PTR [edx+799], 8
01db9 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01dbc c6 80 20 03 00
00 0a mov BYTE PTR [eax+800], 10 ; 0000000aH
01dc3 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01dc6 c6 81 21 03 00
00 03 mov BYTE PTR [ecx+801], 3
01dcd 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01dd0 c6 82 22 03 00
00 07 mov BYTE PTR [edx+802], 7
01dd7 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01dda c6 80 23 03 00
00 04 mov BYTE PTR [eax+803], 4
01de1 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01de4 c6 81 24 03 00
00 0c mov BYTE PTR [ecx+804], 12 ; 0000000cH
01deb 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01dee c6 82 25 03 00
00 05 mov BYTE PTR [edx+805], 5
01df5 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01df8 c6 80 26 03 00
00 06 mov BYTE PTR [eax+806], 6
01dff 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01e02 c6 81 27 03 00
00 0b mov BYTE PTR [ecx+807], 11 ; 0000000bH
01e09 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01e0c c6 82 28 03 00
00 00 mov BYTE PTR [edx+808], 0
01e13 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01e16 c6 80 29 03 00
00 0e mov BYTE PTR [eax+809], 14 ; 0000000eH
01e1d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01e20 c6 81 2a 03 00
00 09 mov BYTE PTR [ecx+810], 9
01e27 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01e2a c6 82 2b 03 00
00 02 mov BYTE PTR [edx+811], 2
01e31 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01e34 c6 80 2c 03 00
00 07 mov BYTE PTR [eax+812], 7
01e3b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01e3e c6 81 2d 03 00
00 0b mov BYTE PTR [ecx+813], 11 ; 0000000bH
01e45 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01e48 c6 82 2e 03 00
00 04 mov BYTE PTR [edx+814], 4
01e4f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01e52 c6 80 2f 03 00
00 01 mov BYTE PTR [eax+815], 1
01e59 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01e5c c6 81 30 03 00
00 09 mov BYTE PTR [ecx+816], 9
01e63 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01e66 c6 82 31 03 00
00 0c mov BYTE PTR [edx+817], 12 ; 0000000cH
01e6d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01e70 c6 80 32 03 00
00 0e mov BYTE PTR [eax+818], 14 ; 0000000eH
01e77 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01e7a c6 81 33 03 00
00 02 mov BYTE PTR [ecx+819], 2
01e81 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01e84 c6 82 34 03 00
00 00 mov BYTE PTR [edx+820], 0
01e8b 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01e8e c6 80 35 03 00
00 06 mov BYTE PTR [eax+821], 6
01e95 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01e98 c6 81 36 03 00
00 0a mov BYTE PTR [ecx+822], 10 ; 0000000aH
01e9f 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01ea2 c6 82 37 03 00
00 0d mov BYTE PTR [edx+823], 13 ; 0000000dH
01ea9 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01eac c6 80 38 03 00
00 0f mov BYTE PTR [eax+824], 15 ; 0000000fH
01eb3 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01eb6 c6 81 39 03 00
00 03 mov BYTE PTR [ecx+825], 3
01ebd 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01ec0 c6 82 3a 03 00
00 05 mov BYTE PTR [edx+826], 5
01ec7 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01eca c6 80 3b 03 00
00 08 mov BYTE PTR [eax+827], 8
01ed1 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01ed4 c6 81 3c 03 00
00 02 mov BYTE PTR [ecx+828], 2
01edb 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01ede c6 82 3d 03 00
00 01 mov BYTE PTR [edx+829], 1
01ee5 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01ee8 c6 80 3e 03 00
00 0e mov BYTE PTR [eax+830], 14 ; 0000000eH
01eef 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01ef2 c6 81 3f 03 00
00 07 mov BYTE PTR [ecx+831], 7
01ef9 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01efc c6 82 40 03 00
00 04 mov BYTE PTR [edx+832], 4
01f03 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01f06 c6 80 41 03 00
00 0a mov BYTE PTR [eax+833], 10 ; 0000000aH
01f0d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01f10 c6 81 42 03 00
00 08 mov BYTE PTR [ecx+834], 8
01f17 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01f1a c6 82 43 03 00
00 0d mov BYTE PTR [edx+835], 13 ; 0000000dH
01f21 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01f24 c6 80 44 03 00
00 0f mov BYTE PTR [eax+836], 15 ; 0000000fH
01f2b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01f2e c6 81 45 03 00
00 0c mov BYTE PTR [ecx+837], 12 ; 0000000cH
01f35 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01f38 c6 82 46 03 00
00 09 mov BYTE PTR [edx+838], 9
01f3f 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01f42 c6 80 47 03 00
00 00 mov BYTE PTR [eax+839], 0
01f49 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01f4c c6 81 48 03 00
00 03 mov BYTE PTR [ecx+840], 3
01f53 8b 55 fc mov edx, DWORD PTR _this$[ebp]
01f56 c6 82 49 03 00
00 05 mov BYTE PTR [edx+841], 5
01f5d 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01f60 c6 80 4a 03 00
00 06 mov BYTE PTR [eax+842], 6
01f67 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
01f6a c6 81 4b 03 00
00 0b mov BYTE PTR [ecx+843], 11 ; 0000000bH
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; 24 : }
01f71 8b 45 fc mov eax, DWORD PTR _this$[ebp]
01f74 5f pop edi
01f75 5e pop esi
01f76 5b pop ebx
01f77 8b e5 mov esp, ebp
01f79 5d pop ebp
01f7a c3 ret 0
??0CDes@@QAE@XZ ENDP ; CDes::CDes
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z
_TEXT SEGMENT
tv163 = -7636 ; size = 4
tv84 = -7632 ; size = 4
$T2 = -7628 ; size = 4
$T3 = -7624 ; size = 4
_NXlog$4 = -7108 ; size = 6056
_b$ = -1052 ; size = 4
_szBuf$ = -1048 ; size = 1024
_this$ = -24 ; size = 4
__$ArrayPad$ = -20 ; size = 4
__$EHRec$ = -16 ; size = 16
_pIn$ = 8 ; size = 4
_inLen$ = 12 ; size = 4
_pOut$ = 16 ; size = 4
_outLen$ = 20 ; size = 4
_pKey$ = 24 ; size = 4
_keyLen$ = 28 ; size = 4
?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z PROC ; CDes::Decrypt, COMDAT
; _this$ = ecx
; 172 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 51 push ecx
00012 b8 c4 1d 00 00 mov eax, 7620 ; 00001dc4H
00017 e8 00 00 00 00 call __chkstk
0001c a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
00021 33 c5 xor eax, ebp
00023 89 45 ec mov DWORD PTR __$ArrayPad$[ebp], eax
00026 53 push ebx
00027 56 push esi
00028 57 push edi
00029 50 push eax
0002a 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp+4]
0002d 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00033 89 65 f0 mov DWORD PTR __$EHRec$[ebp], esp
00036 89 4d e8 mov DWORD PTR _this$[ebp], ecx
; 173 : char szBuf[1024]={0};
00039 68 00 04 00 00 push 1024 ; 00000400H
0003e 6a 00 push 0
00040 8d 85 e8 fb ff
ff lea eax, DWORD PTR _szBuf$[ebp]
00046 50 push eax
00047 e8 00 00 00 00 call _memset
0004c 83 c4 0c add esp, 12 ; 0000000cH
; 174 : memset( pOut , 0 , outLen );
0004f 8b 45 14 mov eax, DWORD PTR _outLen$[ebp]
00052 8b 08 mov ecx, DWORD PTR [eax]
00054 51 push ecx
00055 6a 00 push 0
00057 8b 55 10 mov edx, DWORD PTR _pOut$[ebp]
0005a 52 push edx
0005b e8 00 00 00 00 call _memset
00060 83 c4 0c add esp, 12 ; 0000000cH
; 175 : HexToAscii( pIn , szBuf );
00063 8d 85 e8 fb ff
ff lea eax, DWORD PTR _szBuf$[ebp]
00069 50 push eax
0006a 8b 4d 08 mov ecx, DWORD PTR _pIn$[ebp]
0006d 51 push ecx
0006e 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
00071 e8 00 00 00 00 call ?HexToAscii@CDes@@IAEXPAD0@Z ; CDes::HexToAscii
; 176 : inLen = inLen/2;
00076 8b 45 0c mov eax, DWORD PTR _inLen$[ebp]
00079 99 cdq
0007a 2b c2 sub eax, edx
0007c d1 f8 sar eax, 1
0007e 89 45 0c mov DWORD PTR _inLen$[ebp], eax
; 177 : BOOL b = false;
00081 c7 85 e4 fb ff
ff 00 00 00 00 mov DWORD PTR _b$[ebp], 0
; 178 : try
0008b c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+12], 0
; 179 : {
; 180 : b = Des_Go( pOut , szBuf , inLen , pKey , keyLen , DECRYPT_DES );
00092 6a 01 push 1
00094 8b 45 1c mov eax, DWORD PTR _keyLen$[ebp]
00097 50 push eax
00098 8b 4d 18 mov ecx, DWORD PTR _pKey$[ebp]
0009b 51 push ecx
0009c 8b 55 0c mov edx, DWORD PTR _inLen$[ebp]
0009f 52 push edx
000a0 8d 85 e8 fb ff
ff lea eax, DWORD PTR _szBuf$[ebp]
000a6 50 push eax
000a7 8b 4d 10 mov ecx, DWORD PTR _pOut$[ebp]
000aa 51 push ecx
000ab 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
000ae e8 00 00 00 00 call ?Des_Go@CDes@@IAE_NPAD0JPBDH_N@Z ; CDes::Des_Go
000b3 0f b6 d0 movzx edx, al
000b6 89 95 e4 fb ff
ff mov DWORD PTR _b$[ebp], edx
; 181 : }
000bc e9 9a 00 00 00 jmp $LN6@Decrypt
__catch$?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$0:
; 182 : catch (...)
; 183 : {
; 184 : #ifndef MOBSETSMS_SDK
; 185 : LOG_APPERROR(_T("T"));
000c1 8d 8d 3c e4 ff
ff lea ecx, DWORD PTR _NXlog$4[ebp]
000c7 e8 00 00 00 00 call ??0CSAStatusLog@@QAE@XZ ; CSAStatusLog::CSAStatusLog
000cc c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+12], 2
000d0 51 push ecx
000d1 8b cc mov ecx, esp
000d3 89 a5 38 e2 ff
ff mov DWORD PTR $T3[ebp], esp
000d9 68 00 00 00 00 push OFFSET ??_C@_1BC@HEKPCAFP@?$AAA?$AAp?$AAp?$AAE?$AAr?$AAr?$AAo?$AAr@
000de e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
000e3 89 85 30 e2 ff
ff mov DWORD PTR tv84[ebp], eax
000e9 c6 45 fc 03 mov BYTE PTR __$EHRec$[ebp+12], 3
000ed 51 push ecx
000ee 8b cc mov ecx, esp
000f0 89 a5 34 e2 ff
ff mov DWORD PTR $T2[ebp], esp
000f6 68 00 00 00 00 push OFFSET ??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@
000fb e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00100 89 85 2c e2 ff
ff mov DWORD PTR tv163[ebp], eax
00106 c6 45 fc 04 mov BYTE PTR __$EHRec$[ebp+12], 4
0010a c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+12], 2
0010e 8d 8d 3c e4 ff
ff lea ecx, DWORD PTR _NXlog$4[ebp]
00114 e8 00 00 00 00 call ?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z ; CSAStatusLog::Init
00119 a1 00 00 00 00 mov eax, DWORD PTR ?__LINE__Var@?0??Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z@4JA
0011e 83 c0 0d add eax, 13 ; 0000000dH
00121 50 push eax
00122 68 00 00 00 00 push OFFSET ??_C@_07OKGDHKCM@Decrypt@
00127 68 00 00 00 00 push OFFSET ??_C@_0CJ@CDDOEPDI@D?3?2Works?2Corpsms_2010?2public?2de@
0012c 68 00 00 00 00 push OFFSET ??_C@_13JKNELIBG@?$AAT@
00131 8d 8d 3c e4 ff
ff lea ecx, DWORD PTR _NXlog$4[ebp]
00137 e8 00 00 00 00 call ?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z ; CSAStatusLog::LogError
0013c c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+12], 1
00140 8d 8d 3c e4 ff
ff lea ecx, DWORD PTR _NXlog$4[ebp]
00146 e8 00 00 00 00 call ??1CSAStatusLog@@QAE@XZ ; CSAStatusLog::~CSAStatusLog
; 186 : #endif
; 187 : b = false;
0014b c7 85 e4 fb ff
ff 00 00 00 00 mov DWORD PTR _b$[ebp], 0
; 188 : }
00155 b8 00 00 00 00 mov eax, $LN12@Decrypt
0015a c3 ret 0
$LN6@Decrypt:
0015b c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+12], -1
00162 eb 07 jmp SHORT __tryend$?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$1
$LN12@Decrypt:
00164 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+12], -1
__tryend$?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$1:
; 189 : if ( b )
0016b 83 bd e4 fb ff
ff 00 cmp DWORD PTR _b$[ebp], 0
00172 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;
00174 b0 01 mov al, 1
00176 eb 18 jmp SHORT $LN1@Decrypt
; 197 : }
00178 eb 14 jmp SHORT $LN4@Decrypt
$LN3@Decrypt:
; 198 : else
; 199 : {
; 200 : memset( pOut , 0 , outLen );
0017a 8b 45 14 mov eax, DWORD PTR _outLen$[ebp]
0017d 8b 08 mov ecx, DWORD PTR [eax]
0017f 51 push ecx
00180 6a 00 push 0
00182 8b 55 10 mov edx, DWORD PTR _pOut$[ebp]
00185 52 push edx
00186 e8 00 00 00 00 call _memset
0018b 83 c4 0c add esp, 12 ; 0000000cH
$LN4@Decrypt:
; 201 : }
; 202 : return false;
0018e 32 c0 xor al, al
$LN1@Decrypt:
; 203 : }
00190 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp+4]
00193 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0019a 59 pop ecx
0019b 5f pop edi
0019c 5e pop esi
0019d 5b pop ebx
0019e 8b 4d ec mov ecx, DWORD PTR __$ArrayPad$[ebp]
001a1 33 cd xor ecx, ebp
001a3 e8 00 00 00 00 call @__security_check_cookie@4
001a8 8b e5 mov esp, ebp
001aa 5d pop ebp
001ab c2 18 00 ret 24 ; 00000018H
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$2:
00000 8d 8d 3c e4 ff
ff lea ecx, DWORD PTR _NXlog$4[ebp]
00006 e9 00 00 00 00 jmp ??1CSAStatusLog@@QAE@XZ ; CSAStatusLog::~CSAStatusLog
__unwindfunclet$?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$3:
0000b 8b 8d 38 e2 ff
ff mov ecx, DWORD PTR $T3[ebp]
00011 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$4:
00016 8b 8d 34 e2 ff
ff mov ecx, DWORD PTR $T2[ebp]
0001c e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00021 cc int 3
00022 cc int 3
00023 cc int 3
00024 cc int 3
00025 cc int 3
__ehhandler$?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z:
00026 90 npad 1
00027 90 npad 1
00028 8b 54 24 08 mov edx, DWORD PTR [esp+8]
0002c 8d 42 0c lea eax, DWORD PTR [edx+12]
0002f 8b 8a 28 e2 ff
ff mov ecx, DWORD PTR [edx-7640]
00035 33 c8 xor ecx, eax
00037 e8 00 00 00 00 call @__security_check_cookie@4
0003c 8b 4a f8 mov ecx, DWORD PTR [edx-8]
0003f 33 c8 xor ecx, eax
00041 e8 00 00 00 00 call @__security_check_cookie@4
00046 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z
0004b e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?Decrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z ENDP ; CDes::Decrypt
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z
_TEXT SEGMENT
tv176 = -7640 ; size = 4
tv91 = -7636 ; size = 4
$T2 = -7632 ; size = 4
$T3 = -7628 ; size = 4
_NXlog$4 = -7112 ; size = 6056
_b$ = -1056 ; size = 4
_lTemp$ = -1052 ; size = 4
_szBuf$ = -1048 ; size = 1024
_this$ = -24 ; size = 4
__$ArrayPad$ = -20 ; size = 4
__$EHRec$ = -16 ; size = 16
_pIn$ = 8 ; size = 4
_inLen$ = 12 ; size = 4
_pOut$ = 16 ; size = 4
_outLen$ = 20 ; size = 4
_pKey$ = 24 ; size = 4
_keyLen$ = 28 ; size = 4
?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z PROC ; CDes::Encrypt, COMDAT
; _this$ = ecx
; 140 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 51 push ecx
00012 b8 c8 1d 00 00 mov eax, 7624 ; 00001dc8H
00017 e8 00 00 00 00 call __chkstk
0001c a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
00021 33 c5 xor eax, ebp
00023 89 45 ec mov DWORD PTR __$ArrayPad$[ebp], eax
00026 53 push ebx
00027 56 push esi
00028 57 push edi
00029 50 push eax
0002a 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp+4]
0002d 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00033 89 65 f0 mov DWORD PTR __$EHRec$[ebp], esp
00036 89 4d e8 mov DWORD PTR _this$[ebp], ecx
; 141 : char szBuf[1024]={0};
00039 68 00 04 00 00 push 1024 ; 00000400H
0003e 6a 00 push 0
00040 8d 85 e8 fb ff
ff lea eax, DWORD PTR _szBuf$[ebp]
00046 50 push eax
00047 e8 00 00 00 00 call _memset
0004c 83 c4 0c add esp, 12 ; 0000000cH
; 142 : //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܷ<EFBFBD><DCB7>ص<EFBFBD><D8B5>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>
; 143 : long lTemp = (inLen/8)*8;
0004f 8b 45 0c mov eax, DWORD PTR _inLen$[ebp]
00052 99 cdq
00053 83 e2 07 and edx, 7
00056 03 c2 add eax, edx
00058 c1 f8 03 sar eax, 3
0005b c1 e0 03 shl eax, 3
0005e 89 85 e4 fb ff
ff mov DWORD PTR _lTemp$[ebp], eax
; 144 : if ( (inLen/8)*8 != inLen )
00064 8b 45 0c mov eax, DWORD PTR _inLen$[ebp]
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 45 0c cmp eax, DWORD PTR _inLen$[ebp]
00076 74 0f je SHORT $LN2@Encrypt
; 145 : lTemp += 8;
00078 8b 85 e4 fb ff
ff mov eax, DWORD PTR _lTemp$[ebp]
0007e 83 c0 08 add eax, 8
00081 89 85 e4 fb ff
ff mov DWORD PTR _lTemp$[ebp], eax
$LN2@Encrypt:
; 146 : memset( pIn+inLen,0,lTemp-inLen);
00087 8b 85 e4 fb ff
ff mov eax, DWORD PTR _lTemp$[ebp]
0008d 2b 45 0c sub eax, DWORD PTR _inLen$[ebp]
00090 50 push eax
00091 6a 00 push 0
00093 8b 4d 08 mov ecx, DWORD PTR _pIn$[ebp]
00096 03 4d 0c add ecx, DWORD PTR _inLen$[ebp]
00099 51 push ecx
0009a e8 00 00 00 00 call _memset
0009f 83 c4 0c add esp, 12 ; 0000000cH
; 147 : memset( pOut , 0 , outLen );
000a2 8b 45 14 mov eax, DWORD PTR _outLen$[ebp]
000a5 8b 08 mov ecx, DWORD PTR [eax]
000a7 51 push ecx
000a8 6a 00 push 0
000aa 8b 55 10 mov edx, DWORD PTR _pOut$[ebp]
000ad 52 push edx
000ae e8 00 00 00 00 call _memset
000b3 83 c4 0c add esp, 12 ; 0000000cH
; 148 : BOOL b = false;
000b6 c7 85 e0 fb ff
ff 00 00 00 00 mov DWORD PTR _b$[ebp], 0
; 149 : try
000c0 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+12], 0
; 150 : {
; 151 : b = Des_Go( szBuf , pIn , inLen , pKey , keyLen , ENCRYPT_DES );
000c7 6a 00 push 0
000c9 8b 45 1c mov eax, DWORD PTR _keyLen$[ebp]
000cc 50 push eax
000cd 8b 4d 18 mov ecx, DWORD PTR _pKey$[ebp]
000d0 51 push ecx
000d1 8b 55 0c mov edx, DWORD PTR _inLen$[ebp]
000d4 52 push edx
000d5 8b 45 08 mov eax, DWORD PTR _pIn$[ebp]
000d8 50 push eax
000d9 8d 8d e8 fb ff
ff lea ecx, DWORD PTR _szBuf$[ebp]
000df 51 push ecx
000e0 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
000e3 e8 00 00 00 00 call ?Des_Go@CDes@@IAE_NPAD0JPBDH_N@Z ; CDes::Des_Go
000e8 0f b6 d0 movzx edx, al
000eb 89 95 e0 fb ff
ff mov DWORD PTR _b$[ebp], edx
; 152 : }catch( ... )
000f1 e9 9a 00 00 00 jmp $LN7@Encrypt
__catch$?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$0:
; 153 : {
; 154 : #ifndef MOBSETSMS_SDK
; 155 : LOG_APPERROR(_T("T"));
000f6 8d 8d 38 e4 ff
ff lea ecx, DWORD PTR _NXlog$4[ebp]
000fc e8 00 00 00 00 call ??0CSAStatusLog@@QAE@XZ ; CSAStatusLog::CSAStatusLog
00101 c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+12], 2
00105 51 push ecx
00106 8b cc mov ecx, esp
00108 89 a5 34 e2 ff
ff mov DWORD PTR $T3[ebp], esp
0010e 68 00 00 00 00 push OFFSET ??_C@_1BC@HEKPCAFP@?$AAA?$AAp?$AAp?$AAE?$AAr?$AAr?$AAo?$AAr@
00113 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00118 89 85 2c e2 ff
ff mov DWORD PTR tv91[ebp], eax
0011e c6 45 fc 03 mov BYTE PTR __$EHRec$[ebp+12], 3
00122 51 push ecx
00123 8b cc mov ecx, esp
00125 89 a5 30 e2 ff
ff mov DWORD PTR $T2[ebp], esp
0012b 68 00 00 00 00 push OFFSET ??_C@_17LLLMIFAB@?$AAL?$AAo?$AAg@
00130 e8 00 00 00 00 call ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00135 89 85 28 e2 ff
ff mov DWORD PTR tv176[ebp], eax
0013b c6 45 fc 04 mov BYTE PTR __$EHRec$[ebp+12], 4
0013f c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+12], 2
00143 8d 8d 38 e4 ff
ff lea ecx, DWORD PTR _NXlog$4[ebp]
00149 e8 00 00 00 00 call ?Init@CSAStatusLog@@QAEXV?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@0@Z ; CSAStatusLog::Init
0014e a1 00 00 00 00 mov eax, DWORD PTR ?__LINE__Var@?0??Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z@4JA
00153 83 c0 0f add eax, 15 ; 0000000fH
00156 50 push eax
00157 68 00 00 00 00 push OFFSET ??_C@_07CEMOCOEI@Encrypt@
0015c 68 00 00 00 00 push OFFSET ??_C@_0CJ@CDDOEPDI@D?3?2Works?2Corpsms_2010?2public?2de@
00161 68 00 00 00 00 push OFFSET ??_C@_13JKNELIBG@?$AAT@
00166 8d 8d 38 e4 ff
ff lea ecx, DWORD PTR _NXlog$4[ebp]
0016c e8 00 00 00 00 call ?LogError@CSAStatusLog@@QAEHPB_WPBD1J@Z ; CSAStatusLog::LogError
00171 c6 45 fc 01 mov BYTE PTR __$EHRec$[ebp+12], 1
00175 8d 8d 38 e4 ff
ff lea ecx, DWORD PTR _NXlog$4[ebp]
0017b e8 00 00 00 00 call ??1CSAStatusLog@@QAE@XZ ; CSAStatusLog::~CSAStatusLog
; 156 : #endif
; 157 : b = false;
00180 c7 85 e0 fb ff
ff 00 00 00 00 mov DWORD PTR _b$[ebp], 0
; 158 : }
0018a b8 00 00 00 00 mov eax, $LN13@Encrypt
0018f c3 ret 0
$LN7@Encrypt:
00190 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+12], -1
00197 eb 07 jmp SHORT __tryend$?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$1
$LN13@Encrypt:
00199 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+12], -1
__tryend$?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$1:
; 159 : if ( b )
001a0 83 bd e0 fb ff
ff 00 cmp DWORD PTR _b$[ebp], 0
001a7 74 31 je SHORT $LN4@Encrypt
; 160 : {
; 161 : AsciiToHex( szBuf , pOut , lTemp );
001a9 8b 85 e4 fb ff
ff mov eax, DWORD PTR _lTemp$[ebp]
001af 50 push eax
001b0 8b 4d 10 mov ecx, DWORD PTR _pOut$[ebp]
001b3 51 push ecx
001b4 8d 95 e8 fb ff
ff lea edx, DWORD PTR _szBuf$[ebp]
001ba 52 push edx
001bb 8b 4d e8 mov ecx, DWORD PTR _this$[ebp]
001be e8 00 00 00 00 call ?AsciiToHex@CDes@@IAEXPAD0J@Z ; CDes::AsciiToHex
; 162 : outLen = (long)strlen( pOut );
001c3 8b 45 10 mov eax, DWORD PTR _pOut$[ebp]
001c6 50 push eax
001c7 e8 00 00 00 00 call _strlen
001cc 83 c4 04 add esp, 4
001cf 8b 4d 14 mov ecx, DWORD PTR _outLen$[ebp]
001d2 89 01 mov DWORD PTR [ecx], eax
; 163 : return true;
001d4 b0 01 mov al, 1
001d6 eb 18 jmp SHORT $LN1@Encrypt
; 164 : }
001d8 eb 14 jmp SHORT $LN5@Encrypt
$LN4@Encrypt:
; 165 : else
; 166 : {
; 167 : memset( pOut , 0 , outLen );
001da 8b 45 14 mov eax, DWORD PTR _outLen$[ebp]
001dd 8b 08 mov ecx, DWORD PTR [eax]
001df 51 push ecx
001e0 6a 00 push 0
001e2 8b 55 10 mov edx, DWORD PTR _pOut$[ebp]
001e5 52 push edx
001e6 e8 00 00 00 00 call _memset
001eb 83 c4 0c add esp, 12 ; 0000000cH
$LN5@Encrypt:
; 168 : }
; 169 : return false;
001ee 32 c0 xor al, al
$LN1@Encrypt:
; 170 : }
001f0 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp+4]
001f3 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
001fa 59 pop ecx
001fb 5f pop edi
001fc 5e pop esi
001fd 5b pop ebx
001fe 8b 4d ec mov ecx, DWORD PTR __$ArrayPad$[ebp]
00201 33 cd xor ecx, ebp
00203 e8 00 00 00 00 call @__security_check_cookie@4
00208 8b e5 mov esp, ebp
0020a 5d pop ebp
0020b c2 18 00 ret 24 ; 00000018H
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$2:
00000 8d 8d 38 e4 ff
ff lea ecx, DWORD PTR _NXlog$4[ebp]
00006 e9 00 00 00 00 jmp ??1CSAStatusLog@@QAE@XZ ; CSAStatusLog::~CSAStatusLog
__unwindfunclet$?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$3:
0000b 8b 8d 34 e2 ff
ff mov ecx, DWORD PTR $T3[ebp]
00011 e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
__unwindfunclet$?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z$4:
00016 8b 8d 30 e2 ff
ff mov ecx, DWORD PTR $T2[ebp]
0001c e9 00 00 00 00 jmp ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
00021 cc int 3
00022 cc int 3
00023 cc int 3
00024 cc int 3
00025 cc int 3
__ehhandler$?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z:
00026 90 npad 1
00027 90 npad 1
00028 8b 54 24 08 mov edx, DWORD PTR [esp+8]
0002c 8d 42 0c lea eax, DWORD PTR [edx+12]
0002f 8b 8a 24 e2 ff
ff mov ecx, DWORD PTR [edx-7644]
00035 33 c8 xor ecx, eax
00037 e8 00 00 00 00 call @__security_check_cookie@4
0003c 8b 4a f8 mov ecx, DWORD PTR [edx-8]
0003f 33 c8 xor ecx, eax
00041 e8 00 00 00 00 call @__security_check_cookie@4
00046 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z
0004b e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?Encrypt@CDes@@QAE_NPADJ0AAJPBDJ@Z ENDP ; CDes::Encrypt
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxstr.h
; COMDAT ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ
_TEXT SEGMENT
__$EHRec$ = -12 ; size = 12
?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ PROC ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager, COMDAT
; 51 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 40 sub esp, 64 ; 00000040H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 52 : return( AfxGetStringManager() );
00028 e8 00 00 00 00 call ?AfxGetStringManager@@YGPAUIAtlStringMgr@ATL@@XZ ; AfxGetStringManager
; 53 : }
0002d 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00030 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00037 59 pop ecx
00038 5f pop edi
00039 5e pop esi
0003a 5b pop ebx
0003b 8b e5 mov esp, ebp
0003d 5d pop ebp
0003e c3 ret 0
0003f cc int 3
00040 cc int 3
00041 cc int 3
00042 cc int 3
00043 cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ENDP ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afxstr.h
; COMDAT ?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z
_TEXT SEGMENT
__$EHRec$ = -12 ; size = 12
_nID$ = 8 ; size = 4
?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z PROC ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::FindStringResourceInstance, COMDAT
; 46 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 40 sub esp, 64 ; 00000040H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 47 : return( AfxFindStringResourceHandle( nID ) );
00028 8b 45 08 mov eax, DWORD PTR _nID$[ebp]
0002b 50 push eax
0002c e8 00 00 00 00 call ?AfxFindStringResourceHandle@@YGPAUHINSTANCE__@@I@Z ; AfxFindStringResourceHandle
; 48 : }
00031 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00034 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0003b 59 pop ecx
0003c 5f pop edi
0003d 5e pop esi
0003e 5b pop ebx
0003f 8b e5 mov esp, ebp
00041 5d pop ebp
00042 c3 ret 0
00043 cc int 3
00044 cc int 3
00045 cc int 3
00046 cc int 3
00047 cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z ENDP ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::FindStringResourceInstance
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z
_TEXT SEGMENT
_nID$1 = -12 ; size = 4
_bRet$ = -5 ; size = 1
_this$ = -4 ; size = 4
_pv$ = 8 ; size = 4
?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad, COMDAT
; _this$ = ecx
; 2705 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 4c sub esp, 76 ; 0000004cH
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 2706 : bool bRet = false;
0000c c6 45 fb 00 mov BYTE PTR _bRet$[ebp], 0
; 2707 :
; 2708 : if( (pv != NULL) && IS_INTRESOURCE( pv ) )
00010 83 7d 08 00 cmp DWORD PTR _pv$[ebp], 0
00014 74 28 je SHORT $LN2@CheckImpli
00016 8b 45 08 mov eax, DWORD PTR _pv$[ebp]
00019 c1 e8 10 shr eax, 16 ; 00000010H
0001c 85 c0 test eax, eax
0001e 75 1e jne SHORT $LN2@CheckImpli
; 2709 : {
; 2710 : UINT nID = LOWORD( reinterpret_cast< DWORD_PTR >( pv ) );
00020 8b 45 08 mov eax, DWORD PTR _pv$[ebp]
00023 25 ff ff 00 00 and eax, 65535 ; 0000ffffH
00028 0f b7 c8 movzx ecx, ax
0002b 89 4d f4 mov DWORD PTR _nID$1[ebp], ecx
; 2711 : (nID);
; 2712 : #ifdef _ATL_USE_WINAPI_FAMILY_DESKTOP_APP
; 2713 : if( !LoadString( nID ) )
0002e 8b 45 f4 mov eax, DWORD PTR _nID$1[ebp]
00031 50 push eax
00032 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00035 e8 00 00 00 00 call ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
; 2714 : {
; 2715 : ATLTRACE( atlTraceString, 2, _T( "Warning: implicit LoadString(%u) failed\n" ), nID );
; 2716 : }
; 2717 : bRet = true;
0003a c6 45 fb 01 mov BYTE PTR _bRet$[ebp], 1
$LN2@CheckImpli:
; 2718 : #else
; 2719 : ATLTRACE( atlTraceString, 2, _T( "Warning: LoadString(%u) not supported under the current WINAPI_FAMILY.\n" ), nID );
; 2720 : #endif
; 2721 : }
; 2722 :
; 2723 : return( bRet );
0003e 8a 45 fb mov al, BYTE PTR _bRet$[ebp]
; 2724 : }
00041 5f pop edi
00042 5e pop esi
00043 5b pop ebx
00044 8b e5 mov esp, ebp
00046 5d pop ebp
00047 c2 04 00 ret 4
?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z
_TEXT SEGMENT
_pszBuffer$ = -16 ; size = 4
_nLength$ = -12 ; size = 4
_pImage$ = -8 ; size = 4
_this$ = -4 ; size = 4
_hInstance$ = 8 ; size = 4
_nID$ = 12 ; size = 4
?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW, COMDAT
; _this$ = ecx
; 2350 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 50 sub esp, 80 ; 00000050H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 2351 : const ATLSTRINGRESOURCEIMAGE* pImage = AtlGetStringResourceImage( hInstance, nID );
0000c 8b 45 0c mov eax, DWORD PTR _nID$[ebp]
0000f 50 push eax
00010 8b 4d 08 mov ecx, DWORD PTR _hInstance$[ebp]
00013 51 push ecx
00014 e8 00 00 00 00 call ?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z ; ATL::AtlGetStringResourceImage
00019 83 c4 08 add esp, 8
0001c 89 45 f8 mov DWORD PTR _pImage$[ebp], eax
; 2352 : if( pImage == NULL )
0001f 83 7d f8 00 cmp DWORD PTR _pImage$[ebp], 0
00023 75 04 jne SHORT $LN2@LoadString
; 2353 : {
; 2354 : return( FALSE );
00025 33 c0 xor eax, eax
00027 eb 57 jmp SHORT $LN1@LoadString
$LN2@LoadString:
; 2355 : }
; 2356 :
; 2357 : int nLength = StringTraits::GetBaseTypeLength( pImage->achString, pImage->nLength );
00029 8b 45 f8 mov eax, DWORD PTR _pImage$[ebp]
0002c 0f b7 08 movzx ecx, WORD PTR [eax]
0002f 51 push ecx
00030 8b 55 f8 mov edx, DWORD PTR _pImage$[ebp]
00033 83 c2 02 add edx, 2
00036 52 push edx
00037 e8 00 00 00 00 call ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
0003c 83 c4 08 add esp, 8
0003f 89 45 f4 mov DWORD PTR _nLength$[ebp], eax
; 2358 : PXSTR pszBuffer = this->GetBuffer( nLength );
00042 8b 45 f4 mov eax, DWORD PTR _nLength$[ebp]
00045 50 push eax
00046 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00049 e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
0004e 89 45 f0 mov DWORD PTR _pszBuffer$[ebp], eax
; 2359 : StringTraits::ConvertToBaseType( pszBuffer, nLength, pImage->achString, pImage->nLength );
00051 8b 45 f8 mov eax, DWORD PTR _pImage$[ebp]
00054 0f b7 08 movzx ecx, WORD PTR [eax]
00057 51 push ecx
00058 8b 55 f8 mov edx, DWORD PTR _pImage$[ebp]
0005b 83 c2 02 add edx, 2
0005e 52 push edx
0005f 8b 45 f4 mov eax, DWORD PTR _nLength$[ebp]
00062 50 push eax
00063 8b 4d f0 mov ecx, DWORD PTR _pszBuffer$[ebp]
00066 51 push ecx
00067 e8 00 00 00 00 call ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType
0006c 83 c4 10 add esp, 16 ; 00000010H
; 2360 : this->ReleaseBufferSetLength( nLength );
0006f 8b 45 f4 mov eax, DWORD PTR _nLength$[ebp]
00072 50 push eax
00073 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00076 e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
; 2361 :
; 2362 : return( TRUE );
0007b b8 01 00 00 00 mov eax, 1
$LN1@LoadString:
; 2363 : }
00080 5f pop edi
00081 5e pop esi
00082 5b pop ebx
00083 8b e5 mov esp, ebp
00085 5d pop ebp
00086 c2 08 00 ret 8
?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z
_TEXT SEGMENT
_hInstance$ = -8 ; size = 4
_this$ = -4 ; size = 4
_nID$ = 8 ; size = 4
?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW, COMDAT
; _this$ = ecx
; 2336 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 2337 : HINSTANCE hInstance = StringTraits::FindStringResourceInstance( nID );
0000c 8b 45 08 mov eax, DWORD PTR _nID$[ebp]
0000f 50 push eax
00010 e8 00 00 00 00 call ?FindStringResourceInstance@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUHINSTANCE__@@I@Z ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::FindStringResourceInstance
00015 83 c4 04 add esp, 4
00018 89 45 f8 mov DWORD PTR _hInstance$[ebp], eax
; 2338 : if( hInstance == NULL )
0001b 83 7d f8 00 cmp DWORD PTR _hInstance$[ebp], 0
0001f 75 04 jne SHORT $LN2@LoadString
; 2339 : {
; 2340 : return( FALSE );
00021 33 c0 xor eax, eax
00023 eb 10 jmp SHORT $LN1@LoadString
$LN2@LoadString:
; 2341 : }
; 2342 :
; 2343 : return( LoadString( hInstance, nID ) );
00025 8b 45 08 mov eax, DWORD PTR _nID$[ebp]
00028 50 push eax
00029 8b 4d f8 mov ecx, DWORD PTR _hInstance$[ebp]
0002c 51 push ecx
0002d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00030 e8 00 00 00 00 call ?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHPAUHINSTANCE__@@I@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
$LN1@LoadString:
; 2344 : }
00035 5f pop edi
00036 5e pop esi
00037 5b pop ebx
00038 8b e5 mov esp, ebp
0003a 5d pop ebp
0003b c2 04 00 ret 4
?LoadStringW@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEHI@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_pszSrc$ = 8 ; size = 4
??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=, COMDAT
; _this$ = ecx
; 1318 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 1319 : CThisSimpleString::operator=( pszSrc );
0000c 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
0000f 50 push eax
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00013 e8 00 00 00 00 call ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::operator=
; 1320 :
; 1321 : return( *this );
00018 8b 45 fc mov eax, DWORD PTR _this$[ebp]
; 1322 : }
0001b 5f pop edi
0001c 5e pop esi
0001d 5b pop ebx
0001e 8b e5 mov esp, ebp
00020 5d pop ebp
00021 c2 04 00 ret 4
??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
; _this$ = ecx
; 1298 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 44 sub esp, 68 ; 00000044H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
0002b c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
; 1299 : }
00032 c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
00039 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0003c e8 00 00 00 00 call ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
00041 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00044 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0004b 59 pop ecx
0004c 5f pop edi
0004d 5e pop esi
0004e 5b pop ebx
0004f 8b e5 mov esp, ebp
00051 5d pop ebp
00052 c3 ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
00008 cc int 3
00009 cc int 3
0000a cc int 3
0000b cc int 3
0000c cc int 3
__ehhandler$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ:
0000d 90 npad 1
0000e 90 npad 1
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
00016 8b 4a ac mov ecx, DWORD PTR [edx-84]
00019 33 c8 xor ecx, eax
0001b e8 00 00 00 00 call @__security_check_cookie@4
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??1?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@XZ ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z
_TEXT SEGMENT
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_pszSrc$ = 8 ; size = 4
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z PROC ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >, COMDAT
; _this$ = ecx
; 1049 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 44 sub esp, 68 ; 00000044H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
; 1048 : CThisSimpleString( StringTraits::GetDefaultManager() )
0002b e8 00 00 00 00 call ?GetDefaultManager@?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@SAPAUIAtlStringMgr@ATL@@XZ ; StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> >::GetDefaultManager
00030 50 push eax
00031 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00034 e8 00 00 00 00 call ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
00039 c7 45 fc 00 00
00 00 mov DWORD PTR __$EHRec$[ebp+8], 0
; 1050 : if( !CheckImplicitLoad( pszSrc ) )
00040 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
00043 50 push eax
00044 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00047 e8 00 00 00 00 call ?CheckImplicitLoad@?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAE_NPBX@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad
0004c 0f b6 c8 movzx ecx, al
0004f 85 c9 test ecx, ecx
00051 75 0c jne SHORT $LN1@CStringT
; 1051 : {
; 1052 : *this = pszSrc;
00053 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
00056 50 push eax
00057 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0005a e8 00 00 00 00 call ??4?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAEAAV01@PB_W@Z ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=
$LN1@CStringT:
; 1053 : }
; 1054 : }
0005f c7 45 fc ff ff
ff ff mov DWORD PTR __$EHRec$[ebp+8], -1
00066 8b 45 f0 mov eax, DWORD PTR _this$[ebp]
00069 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0006c 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00073 59 pop ecx
00074 5f pop edi
00075 5e pop esi
00076 5b pop ebx
00077 8b e5 mov esp, ebp
00079 5d pop ebp
0007a c2 04 00 ret 4
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z$0:
00000 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00003 e9 00 00 00 00 jmp ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
00008 cc int 3
00009 cc int 3
0000a cc int 3
0000b cc int 3
0000c cc int 3
__ehhandler$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z:
0000d 90 npad 1
0000e 90 npad 1
0000f 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00013 8d 42 0c lea eax, DWORD PTR [edx+12]
00016 8b 4a ac mov ecx, DWORD PTR [edx-84]
00019 33 c8 xor ecx, eax
0001b e8 00 00 00 00 call @__security_check_cookie@4
00020 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z
00025 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
??0?$CStringT@_WV?$StrTraitMFC@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@PB_W@Z ENDP ; ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_nLength$ = 8 ; size = 4
?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::SetLength, COMDAT
; _this$ = ecx
; 867 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 868 : ATLASSERT( nLength >= 0 );
; 869 : ATLASSERT( nLength <= GetData()->nAllocLength );
; 870 :
; 871 : if( nLength < 0 || nLength > GetData()->nAllocLength)
0000c 83 7d 08 00 cmp DWORD PTR _nLength$[ebp], 0
00010 7c 10 jl SHORT $LN3@SetLength
00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00015 e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
0001a 8b 4d 08 mov ecx, DWORD PTR _nLength$[ebp]
0001d 3b 48 08 cmp ecx, DWORD PTR [eax+8]
00020 7e 0a jle SHORT $LN2@SetLength
$LN3@SetLength:
; 872 : AtlThrow(E_INVALIDARG);
00022 68 57 00 07 80 push -2147024809 ; 80070057H
00027 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN2@SetLength:
; 873 :
; 874 : GetData()->nDataLength = nLength;
0002c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0002f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00034 8b 4d 08 mov ecx, DWORD PTR _nLength$[ebp]
00037 89 48 04 mov DWORD PTR [eax+4], ecx
; 875 : m_pszData[nLength] = 0;
0003a 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0003d 8b 08 mov ecx, DWORD PTR [eax]
0003f 33 d2 xor edx, edx
00041 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
00044 66 89 14 41 mov WORD PTR [ecx+eax*2], dx
$LN4@SetLength:
; 876 : }
00048 5f pop edi
00049 5e pop esi
0004a 5b pop ebx
0004b 8b e5 mov esp, ebp
0004d 5d pop ebp
0004e c2 04 00 ret 4
?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::SetLength
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
_TEXT SEGMENT
tv78 = -84 ; size = 4
_pNewData$ = -16 ; size = 4
_pStringMgr$ = -12 ; size = 4
_pOldData$ = -8 ; size = 4
_this$ = -4 ; size = 4
_nLength$ = 8 ; size = 4
?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::Reallocate, COMDAT
; _this$ = ecx
; 849 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 54 sub esp, 84 ; 00000054H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 850 : CStringData* pOldData = GetData();
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00014 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
; 851 : ATLASSERT( pOldData->nAllocLength < nLength );
; 852 : IAtlStringMgr* pStringMgr = pOldData->pStringMgr;
00017 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
0001a 8b 08 mov ecx, DWORD PTR [eax]
0001c 89 4d f4 mov DWORD PTR _pStringMgr$[ebp], ecx
; 853 : if ( pOldData->nAllocLength >= nLength || nLength <= 0)
0001f 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
00022 8b 48 08 mov ecx, DWORD PTR [eax+8]
00025 3b 4d 08 cmp ecx, DWORD PTR _nLength$[ebp]
00028 7d 06 jge SHORT $LN3@Reallocate
0002a 83 7d 08 00 cmp DWORD PTR _nLength$[ebp], 0
0002e 7f 07 jg SHORT $LN2@Reallocate
$LN3@Reallocate:
; 854 : {
; 855 : ThrowMemoryException();
00030 e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
; 856 : return;
00035 eb 35 jmp SHORT $LN5@Reallocate
$LN2@Reallocate:
; 857 : }
; 858 : CStringData* pNewData = pStringMgr->Reallocate( pOldData, nLength, sizeof( XCHAR ) );
00037 8b 45 f4 mov eax, DWORD PTR _pStringMgr$[ebp]
0003a 8b 08 mov ecx, DWORD PTR [eax]
0003c 8b 51 08 mov edx, DWORD PTR [ecx+8]
0003f 89 55 ac mov DWORD PTR tv78[ebp], edx
00042 6a 02 push 2
00044 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
00047 50 push eax
00048 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp]
0004b 51 push ecx
0004c 8b 4d f4 mov ecx, DWORD PTR _pStringMgr$[ebp]
0004f ff 55 ac call DWORD PTR tv78[ebp]
00052 89 45 f0 mov DWORD PTR _pNewData$[ebp], eax
; 859 : if( pNewData == NULL )
00055 83 7d f0 00 cmp DWORD PTR _pNewData$[ebp], 0
00059 75 05 jne SHORT $LN4@Reallocate
; 860 : {
; 861 : ThrowMemoryException();
0005b e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
$LN4@Reallocate:
; 862 : }
; 863 : Attach( pNewData );
00060 8b 45 f0 mov eax, DWORD PTR _pNewData$[ebp]
00063 50 push eax
00064 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00067 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
$LN5@Reallocate:
; 864 : }
0006c 5f pop edi
0006d 5e pop esi
0006e 5b pop ebx
0006f 8b e5 mov esp, ebp
00071 5d pop ebp
00072 c2 04 00 ret 4
?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::Reallocate
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
_TEXT SEGMENT
_nNewLength$1 = -12 ; size = 4
_pOldData$ = -8 ; size = 4
_this$ = -4 ; size = 4
_nLength$ = 8 ; size = 4
?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2, COMDAT
; _this$ = ecx
; 818 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 4c sub esp, 76 ; 0000004cH
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 819 : CStringData* pOldData = GetData();
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00014 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
; 820 : if( pOldData->nDataLength > nLength )
00017 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
0001a 8b 48 04 mov ecx, DWORD PTR [eax+4]
0001d 3b 4d 08 cmp ecx, DWORD PTR _nLength$[ebp]
00020 7e 09 jle SHORT $LN2@PrepareWri
; 821 : {
; 822 : nLength = pOldData->nDataLength;
00022 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
00025 8b 48 04 mov ecx, DWORD PTR [eax+4]
00028 89 4d 08 mov DWORD PTR _nLength$[ebp], ecx
$LN2@PrepareWri:
; 823 : }
; 824 : if( pOldData->IsShared() )
0002b 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp]
0002e e8 00 00 00 00 call ?IsShared@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsShared
00033 0f b6 c0 movzx eax, al
00036 85 c0 test eax, eax
00038 74 0e je SHORT $LN3@PrepareWri
; 825 : {
; 826 : Fork( nLength );
0003a 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
0003d 50 push eax
0003e 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00041 e8 00 00 00 00 call ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Fork
; 827 : }
00046 eb 52 jmp SHORT $LN1@PrepareWri
$LN3@PrepareWri:
; 828 : else if( pOldData->nAllocLength < nLength )
00048 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
0004b 8b 48 08 mov ecx, DWORD PTR [eax+8]
0004e 3b 4d 08 cmp ecx, DWORD PTR _nLength$[ebp]
00051 7d 47 jge SHORT $LN1@PrepareWri
; 829 : {
; 830 : // Grow exponentially, until we hit 1G, then by 1M thereafter.
; 831 : int nNewLength = pOldData->nAllocLength;
00053 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
00056 8b 48 08 mov ecx, DWORD PTR [eax+8]
00059 89 4d f4 mov DWORD PTR _nNewLength$1[ebp], ecx
; 832 : if( nNewLength > 1024 * 1024 * 1024 )
0005c 81 7d f4 00 00
00 40 cmp DWORD PTR _nNewLength$1[ebp], 1073741824 ; 40000000H
00063 7e 0d jle SHORT $LN6@PrepareWri
; 833 : {
; 834 : nNewLength += 1024 * 1024;
00065 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
00068 05 00 00 10 00 add eax, 1048576 ; 00100000H
0006d 89 45 f4 mov DWORD PTR _nNewLength$1[ebp], eax
; 835 : }
00070 eb 0e jmp SHORT $LN7@PrepareWri
$LN6@PrepareWri:
; 836 : else
; 837 : {
; 838 : // Exponential growth factor is 1.5.
; 839 : nNewLength = nNewLength + nNewLength / 2;
00072 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
00075 99 cdq
00076 2b c2 sub eax, edx
00078 d1 f8 sar eax, 1
0007a 03 45 f4 add eax, DWORD PTR _nNewLength$1[ebp]
0007d 89 45 f4 mov DWORD PTR _nNewLength$1[ebp], eax
$LN7@PrepareWri:
; 840 : }
; 841 : if( nNewLength < nLength )
00080 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
00083 3b 45 08 cmp eax, DWORD PTR _nLength$[ebp]
00086 7d 06 jge SHORT $LN8@PrepareWri
; 842 : {
; 843 : nNewLength = nLength;
00088 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
0008b 89 45 f4 mov DWORD PTR _nNewLength$1[ebp], eax
$LN8@PrepareWri:
; 844 : }
; 845 : Reallocate( nNewLength );
0008e 8b 45 f4 mov eax, DWORD PTR _nNewLength$1[ebp]
00091 50 push eax
00092 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00095 e8 00 00 00 00 call ?Reallocate@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::Reallocate
$LN1@PrepareWri:
; 846 : }
; 847 : }
0009a 5f pop edi
0009b 5e pop esi
0009c 5b pop ebx
0009d 8b e5 mov esp, ebp
0009f 5d pop ebp
000a0 c2 04 00 ret 4
?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z
_TEXT SEGMENT
_nTooShort$ = -16 ; size = 4
_nShared$ = -12 ; size = 4
_pOldData$ = -8 ; size = 4
_this$ = -4 ; size = 4
_nLength$ = 8 ; size = 4
?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite, COMDAT
; _this$ = ecx
; 803 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 50 sub esp, 80 ; 00000050H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 804 : if (nLength < 0)
0000c 83 7d 08 00 cmp DWORD PTR _nLength$[ebp], 0
00010 7d 0a jge SHORT $LN2@PrepareWri
; 805 : AtlThrow(E_INVALIDARG);
00012 68 57 00 07 80 push -2147024809 ; 80070057H
00017 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN2@PrepareWri:
; 806 :
; 807 : CStringData* pOldData = GetData();
0001c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0001f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00024 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
; 808 : int nShared = 1-pOldData->nRefs; // nShared < 0 means true, >= 0 means false
00027 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
0002a b9 01 00 00 00 mov ecx, 1
0002f 2b 48 0c sub ecx, DWORD PTR [eax+12]
00032 89 4d f4 mov DWORD PTR _nShared$[ebp], ecx
; 809 : int nTooShort = pOldData->nAllocLength-nLength; // nTooShort < 0 means true, >= 0 means false
00035 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
00038 8b 48 08 mov ecx, DWORD PTR [eax+8]
0003b 2b 4d 08 sub ecx, DWORD PTR _nLength$[ebp]
0003e 89 4d f0 mov DWORD PTR _nTooShort$[ebp], ecx
; 810 : if( (nShared|nTooShort) < 0 ) // If either sign bit is set (i.e. either is less than zero), we need to copy data
00041 8b 45 f4 mov eax, DWORD PTR _nShared$[ebp]
00044 0b 45 f0 or eax, DWORD PTR _nTooShort$[ebp]
00047 7d 0c jge SHORT $LN3@PrepareWri
; 811 : {
; 812 : PrepareWrite2( nLength );
00049 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
0004c 50 push eax
0004d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00050 e8 00 00 00 00 call ?PrepareWrite2@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite2
$LN3@PrepareWri:
; 813 : }
; 814 :
; 815 : return( m_pszData );
00055 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00058 8b 00 mov eax, DWORD PTR [eax]
$LN4@PrepareWri:
; 816 : }
0005a 5f pop edi
0005b 5e pop esi
0005c 5b pop ebx
0005d 8b e5 mov esp, ebp
0005f 5d pop ebp
00060 c2 04 00 ret 4
?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ PROC ; ATL::CSimpleStringT<wchar_t,0>::GetData, COMDAT
; _this$ = ecx
; 799 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 800 : return( reinterpret_cast< CStringData* >( m_pszData )-1 );
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 8b 00 mov eax, DWORD PTR [eax]
00011 83 e8 10 sub eax, 16 ; 00000010H
; 801 : }
00014 5f pop edi
00015 5e pop esi
00016 5b pop ebx
00017 8b e5 mov esp, ebp
00019 5d pop ebp
0001a c3 ret 0
?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetData
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z
_TEXT SEGMENT
tv132 = -92 ; size = 4
tv83 = -92 ; size = 4
tv134 = -88 ; size = 4
tv86 = -88 ; size = 4
tv76 = -88 ; size = 4
_nCharsToCopy$ = -20 ; size = 4
_pNewData$ = -16 ; size = 4
_nOldLength$ = -12 ; size = 4
_pOldData$ = -8 ; size = 4
_this$ = -4 ; size = 4
_nLength$ = 8 ; size = 4
?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::Fork, COMDAT
; _this$ = ecx
; 783 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 5c sub esp, 92 ; 0000005cH
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 784 : CStringData* pOldData = GetData();
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00014 89 45 f8 mov DWORD PTR _pOldData$[ebp], eax
; 785 : int nOldLength = pOldData->nDataLength;
00017 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
0001a 8b 48 04 mov ecx, DWORD PTR [eax+4]
0001d 89 4d f4 mov DWORD PTR _nOldLength$[ebp], ecx
; 786 : CStringData* pNewData = pOldData->pStringMgr->Clone()->Allocate( nLength, sizeof( XCHAR ) );
00020 8b 45 f8 mov eax, DWORD PTR _pOldData$[ebp]
00023 8b 08 mov ecx, DWORD PTR [eax]
00025 8b 55 f8 mov edx, DWORD PTR _pOldData$[ebp]
00028 8b 01 mov eax, DWORD PTR [ecx]
0002a 8b 0a mov ecx, DWORD PTR [edx]
0002c 8b 50 10 mov edx, DWORD PTR [eax+16]
0002f ff d2 call edx
00031 89 45 a8 mov DWORD PTR tv76[ebp], eax
00034 8b 45 a8 mov eax, DWORD PTR tv76[ebp]
00037 8b 08 mov ecx, DWORD PTR [eax]
00039 8b 11 mov edx, DWORD PTR [ecx]
0003b 89 55 a4 mov DWORD PTR tv83[ebp], edx
0003e 6a 02 push 2
00040 8b 45 08 mov eax, DWORD PTR _nLength$[ebp]
00043 50 push eax
00044 8b 4d a8 mov ecx, DWORD PTR tv76[ebp]
00047 ff 55 a4 call DWORD PTR tv83[ebp]
0004a 89 45 f0 mov DWORD PTR _pNewData$[ebp], eax
; 787 : if( pNewData == NULL )
0004d 83 7d f0 00 cmp DWORD PTR _pNewData$[ebp], 0
00051 75 05 jne SHORT $LN2@Fork
; 788 : {
; 789 : ThrowMemoryException();
00053 e8 00 00 00 00 call ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
$LN2@Fork:
; 790 : }
; 791 : int nCharsToCopy = ((nOldLength < nLength) ? nOldLength : nLength)+1; // Copy '\0'
00058 8b 45 f4 mov eax, DWORD PTR _nOldLength$[ebp]
0005b 3b 45 08 cmp eax, DWORD PTR _nLength$[ebp]
0005e 7d 08 jge SHORT $LN4@Fork
00060 8b 4d f4 mov ecx, DWORD PTR _nOldLength$[ebp]
00063 89 4d a8 mov DWORD PTR tv86[ebp], ecx
00066 eb 06 jmp SHORT $LN5@Fork
$LN4@Fork:
00068 8b 55 08 mov edx, DWORD PTR _nLength$[ebp]
0006b 89 55 a8 mov DWORD PTR tv86[ebp], edx
$LN5@Fork:
0006e 8b 45 a8 mov eax, DWORD PTR tv86[ebp]
00071 83 c0 01 add eax, 1
00074 89 45 ec mov DWORD PTR _nCharsToCopy$[ebp], eax
; 792 : memcpy_s( PXSTR( pNewData->data() ), nCharsToCopy * sizeof( XCHAR ),
00077 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp]
0007a e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
0007f 89 45 a8 mov DWORD PTR tv134[ebp], eax
00082 8b 4d f0 mov ecx, DWORD PTR _pNewData$[ebp]
00085 e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
0008a 89 45 a4 mov DWORD PTR tv132[ebp], eax
0008d 8b 45 ec mov eax, DWORD PTR _nCharsToCopy$[ebp]
00090 d1 e0 shl eax, 1
00092 50 push eax
00093 8b 4d a8 mov ecx, DWORD PTR tv134[ebp]
00096 51 push ecx
00097 8b 55 ec mov edx, DWORD PTR _nCharsToCopy$[ebp]
0009a d1 e2 shl edx, 1
0009c 52 push edx
0009d 8b 45 a4 mov eax, DWORD PTR tv132[ebp]
000a0 50 push eax
000a1 e8 00 00 00 00 call _memcpy_s
000a6 83 c4 10 add esp, 16 ; 00000010H
; 793 : PCXSTR( pOldData->data() ), nCharsToCopy * sizeof( XCHAR ));
; 794 : pNewData->nDataLength = nOldLength;
000a9 8b 45 f0 mov eax, DWORD PTR _pNewData$[ebp]
000ac 8b 4d f4 mov ecx, DWORD PTR _nOldLength$[ebp]
000af 89 48 04 mov DWORD PTR [eax+4], ecx
; 795 : pOldData->Release();
000b2 8b 4d f8 mov ecx, DWORD PTR _pOldData$[ebp]
000b5 e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release
; 796 : Attach( pNewData );
000ba 8b 45 f0 mov eax, DWORD PTR _pNewData$[ebp]
000bd 50 push eax
000be 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
000c1 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
$LN3@Fork:
; 797 : }
000c6 5f pop edi
000c7 5e pop esi
000c8 5b pop ebx
000c9 8b e5 mov esp, ebp
000cb 5d pop ebp
000cc c2 04 00 ret 4
?Fork@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::Fork
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_pData$ = 8 ; size = 4
?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::Attach, COMDAT
; _this$ = ecx
; 779 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 780 : m_pszData = static_cast< PXSTR >( pData->data() );
0000c 8b 4d 08 mov ecx, DWORD PTR _pData$[ebp]
0000f e8 00 00 00 00 call ?data@CStringData@ATL@@QAEPAXXZ ; ATL::CStringData::data
00014 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00017 89 01 mov DWORD PTR [ecx], eax
; 781 : }
00019 5f pop edi
0001a 5e pop esi
0001b 5b pop ebx
0001c 8b e5 mov esp, ebp
0001e 5d pop ebp
0001f c2 04 00 ret 4
?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::Attach
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ
_TEXT SEGMENT
?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException, COMDAT
; 772 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 773 : AtlThrow( E_OUTOFMEMORY );
00009 68 0e 00 07 80 push -2147024882 ; 8007000eH
0000e e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN2@ThrowMemor:
; 774 : }
00013 5f pop edi
00014 5e pop esi
00015 5b pop ebx
00016 8b e5 mov esp, ebp
00018 5d pop ebp
00019 c3 ret 0
?ThrowMemoryException@?$CSimpleStringT@_W$0A@@ATL@@KAXXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::ThrowMemoryException
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z
_TEXT SEGMENT
__$EHRec$ = -12 ; size = 12
_psz$ = 8 ; size = 4
?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::StringLength, COMDAT
; 729 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 40 sub esp, 64 ; 00000040H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 730 : if( psz == NULL )
00028 83 7d 08 00 cmp DWORD PTR _psz$[ebp], 0
0002c 75 04 jne SHORT $LN2@StringLeng
; 731 : {
; 732 : return( 0 );
0002e 33 c0 xor eax, eax
00030 eb 0c jmp SHORT $LN1@StringLeng
$LN2@StringLeng:
; 733 : }
; 734 : return( int( wcslen( psz ) ) );
00032 8b 45 08 mov eax, DWORD PTR _psz$[ebp]
00035 50 push eax
00036 e8 00 00 00 00 call _wcslen
0003b 83 c4 04 add esp, 4
$LN1@StringLeng:
; 735 : }
0003e 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00041 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00048 59 pop ecx
00049 5f pop edi
0004a 5e pop esi
0004b 5b pop ebx
0004c 8b e5 mov esp, ebp
0004e 5d pop ebp
0004f c3 ret 0
00050 cc int 3
00051 cc int 3
00052 cc int 3
00053 cc int 3
00054 cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::StringLength
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z
_TEXT SEGMENT
__$EHRec$ = -12 ; size = 12
_pchDest$ = 8 ; size = 4
_nDestLen$ = 12 ; size = 4
_pchSrc$ = 16 ; size = 4
_nChars$ = 20 ; size = 4
?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::CopyCharsOverlapped, COMDAT
; 716 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 40 sub esp, 64 ; 00000040H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 717 : memmove_s( pchDest, nDestLen*sizeof( XCHAR ),
00028 8b 45 14 mov eax, DWORD PTR _nChars$[ebp]
0002b d1 e0 shl eax, 1
0002d 50 push eax
0002e 8b 4d 10 mov ecx, DWORD PTR _pchSrc$[ebp]
00031 51 push ecx
00032 8b 55 0c mov edx, DWORD PTR _nDestLen$[ebp]
00035 d1 e2 shl edx, 1
00037 52 push edx
00038 8b 45 08 mov eax, DWORD PTR _pchDest$[ebp]
0003b 50 push eax
0003c e8 00 00 00 00 call _memmove_s
00041 83 c4 10 add esp, 16 ; 00000010H
; 718 : pchSrc, nChars*sizeof( XCHAR ) );
; 719 : }
00044 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00047 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0004e 59 pop ecx
0004f 5f pop edi
00050 5e pop esi
00051 5b pop ebx
00052 8b e5 mov esp, ebp
00054 5d pop ebp
00055 c3 ret 0
00056 cc int 3
00057 cc int 3
00058 cc int 3
00059 cc int 3
0005a cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::CopyCharsOverlapped
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z
_TEXT SEGMENT
_pszBuffer$1 = -16 ; size = 4
_nOffset$2 = -12 ; size = 4
_nOldLength$3 = -8 ; size = 4
_this$ = -4 ; size = 4
_pszSrc$ = 8 ; size = 4
_nLength$ = 12 ; size = 4
?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::SetString, COMDAT
; _this$ = ecx
; 607 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 50 sub esp, 80 ; 00000050H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 608 : if( nLength == 0 )
0000c 83 7d 0c 00 cmp DWORD PTR _nLength$[ebp], 0
00010 75 0d jne SHORT $LN2@SetString
; 609 : {
; 610 : Empty();
00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00015 e8 00 00 00 00 call ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ ; ATL::CSimpleStringT<wchar_t,0>::Empty
; 611 : }
0001a e9 96 00 00 00 jmp $LN7@SetString
$LN2@SetString:
; 612 : else
; 613 : {
; 614 : // It is possible that pszSrc points to a location inside of our
; 615 : // buffer. GetBuffer() might change m_pszData if (1) the buffer
; 616 : // is shared or (2) the buffer is too small to hold the new
; 617 : // string. We detect this aliasing, and modify pszSrc to point
; 618 : // into the newly allocated buffer instead.
; 619 :
; 620 : if(pszSrc == NULL)
0001f 83 7d 08 00 cmp DWORD PTR _pszSrc$[ebp], 0
00023 75 0a jne SHORT $LN4@SetString
; 621 : AtlThrow(E_INVALIDARG);
00025 68 57 00 07 80 push -2147024809 ; 80070057H
0002a e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN4@SetString:
; 622 :
; 623 : UINT nOldLength = GetLength();
0002f 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00032 e8 00 00 00 00 call ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetLength
00037 89 45 f8 mov DWORD PTR _nOldLength$3[ebp], eax
; 624 : UINT_PTR nOffset = pszSrc-GetString();
0003a 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0003d e8 00 00 00 00 call ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ; ATL::CSimpleStringT<wchar_t,0>::GetString
00042 8b 4d 08 mov ecx, DWORD PTR _pszSrc$[ebp]
00045 2b c8 sub ecx, eax
00047 d1 f9 sar ecx, 1
00049 89 4d f4 mov DWORD PTR _nOffset$2[ebp], ecx
; 625 : // If 0 <= nOffset <= nOldLength, then pszSrc points into our
; 626 : // buffer
; 627 :
; 628 : PXSTR pszBuffer = GetBuffer( nLength );
0004c 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
0004f 50 push eax
00050 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00053 e8 00 00 00 00 call ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
00058 89 45 f0 mov DWORD PTR _pszBuffer$1[ebp], eax
; 629 : if( nOffset <= nOldLength )
0005b 8b 45 f4 mov eax, DWORD PTR _nOffset$2[ebp]
0005e 3b 45 f8 cmp eax, DWORD PTR _nOldLength$3[ebp]
00061 77 25 ja SHORT $LN5@SetString
; 630 : {
; 631 : CopyCharsOverlapped( pszBuffer, GetAllocLength(),
00063 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
00066 50 push eax
00067 8b 4d f4 mov ecx, DWORD PTR _nOffset$2[ebp]
0006a 8b 55 f0 mov edx, DWORD PTR _pszBuffer$1[ebp]
0006d 8d 04 4a lea eax, DWORD PTR [edx+ecx*2]
00070 50 push eax
00071 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00074 e8 00 00 00 00 call ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength
00079 50 push eax
0007a 8b 4d f0 mov ecx, DWORD PTR _pszBuffer$1[ebp]
0007d 51 push ecx
0007e e8 00 00 00 00 call ?CopyCharsOverlapped@?$CSimpleStringT@_W$0A@@ATL@@SAXPA_WIPB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::CopyCharsOverlapped
00083 83 c4 10 add esp, 16 ; 00000010H
; 632 : pszBuffer+nOffset, nLength );
; 633 : }
00086 eb 21 jmp SHORT $LN6@SetString
$LN5@SetString:
; 634 : else
; 635 : {
; 636 : memcpy_s( pszBuffer, GetAllocLength() * sizeof( XCHAR ), pszSrc, nLength * sizeof( XCHAR ));
00088 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
0008b d1 e0 shl eax, 1
0008d 50 push eax
0008e 8b 4d 08 mov ecx, DWORD PTR _pszSrc$[ebp]
00091 51 push ecx
00092 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00095 e8 00 00 00 00 call ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength
0009a d1 e0 shl eax, 1
0009c 50 push eax
0009d 8b 55 f0 mov edx, DWORD PTR _pszBuffer$1[ebp]
000a0 52 push edx
000a1 e8 00 00 00 00 call _memcpy_s
000a6 83 c4 10 add esp, 16 ; 00000010H
$LN6@SetString:
; 637 : }
; 638 : ReleaseBufferSetLength( nLength );
000a9 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
000ac 50 push eax
000ad 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
000b0 e8 00 00 00 00 call ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
$LN7@SetString:
; 639 : }
; 640 : }
000b5 5f pop edi
000b6 5e pop esi
000b7 5b pop ebx
000b8 8b e5 mov esp, ebp
000ba 5d pop ebp
000bb c2 08 00 ret 8
?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::SetString
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_pszSrc$ = 8 ; size = 4
?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::SetString, COMDAT
; _this$ = ecx
; 601 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 602 : SetString( pszSrc, StringLength( pszSrc ) );
0000c 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
0000f 50 push eax
00010 e8 00 00 00 00 call ?StringLength@?$CSimpleStringT@_W$0A@@ATL@@SAHPB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::StringLength
00015 83 c4 04 add esp, 4
00018 50 push eax
00019 8b 4d 08 mov ecx, DWORD PTR _pszSrc$[ebp]
0001c 51 push ecx
0001d 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00020 e8 00 00 00 00 call ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString
; 603 : }
00025 5f pop edi
00026 5e pop esi
00027 5b pop ebx
00028 8b e5 mov esp, ebp
0002a 5d pop ebp
0002b c2 04 00 ret 4
?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::SetString
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_nNewLength$ = 8 ; size = 4
?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength, COMDAT
; _this$ = ecx
; 566 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 567 : ATLASSERT( nNewLength >= 0 );
; 568 : SetLength( nNewLength );
0000c 8b 45 08 mov eax, DWORD PTR _nNewLength$[ebp]
0000f 50 push eax
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00013 e8 00 00 00 00 call ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetLength
; 569 : }
00018 5f pop edi
00019 5e pop esi
0001a 5b pop ebx
0001b 8b e5 mov esp, ebp
0001d 5d pop ebp
0001e c2 04 00 ret 4
?ReleaseBufferSetLength@?$CSimpleStringT@_W$0A@@ATL@@QAEXH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::ReleaseBufferSetLength
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::GetString, COMDAT
; _this$ = ecx
; 528 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 529 : return( m_pszData );
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 8b 00 mov eax, DWORD PTR [eax]
; 530 : }
00011 5f pop edi
00012 5e pop esi
00013 5b pop ebx
00014 8b e5 mov esp, ebp
00016 5d pop ebp
00017 c3 ret 0
?GetString@?$CSimpleStringT@_W$0A@@ATL@@QBEPB_WXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetString
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::GetLength, COMDAT
; _this$ = ecx
; 518 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 519 : return( GetData()->nDataLength );
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00014 8b 40 04 mov eax, DWORD PTR [eax+4]
; 520 : }
00017 5f pop edi
00018 5e pop esi
00019 5b pop ebx
0001a 8b e5 mov esp, ebp
0001c 5d pop ebp
0001d c3 ret 0
?GetLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetLength
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_nMinBufferLength$ = 8 ; size = 4
?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer, COMDAT
; _this$ = ecx
; 507 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 508 : return( PrepareWrite( nMinBufferLength ) );
0000c 8b 45 08 mov eax, DWORD PTR _nMinBufferLength$[ebp]
0000f 50 push eax
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00013 e8 00 00 00 00 call ?PrepareWrite@?$CSimpleStringT@_W$0A@@ATL@@AAEPA_WH@Z ; ATL::CSimpleStringT<wchar_t,0>::PrepareWrite
; 509 : }
00018 5f pop edi
00019 5e pop esi
0001a 5b pop ebx
0001b 8b e5 mov esp, ebp
0001d 5d pop ebp
0001e c2 04 00 ret 4
?GetBuffer@?$CSimpleStringT@_W$0A@@ATL@@QAEPA_WH@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetBuffer
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength, COMDAT
; _this$ = ecx
; 485 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 486 : return( GetData()->nAllocLength );
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00014 8b 40 08 mov eax, DWORD PTR [eax+8]
; 487 : }
00017 5f pop edi
00018 5e pop esi
00019 5b pop ebx
0001a 8b e5 mov esp, ebp
0001c 5d pop ebp
0001d c3 ret 0
?GetAllocLength@?$CSimpleStringT@_W$0A@@ATL@@QBEHXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::GetAllocLength
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ
_TEXT SEGMENT
_pNewData$2 = -28 ; size = 4
_pStringMgr$ = -24 ; size = 4
_pOldData$ = -20 ; size = 4
_this$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ PROC ; ATL::CSimpleStringT<wchar_t,0>::Empty, COMDAT
; _this$ = ecx
; 436 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 50 sub esp, 80 ; 00000050H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
00028 89 4d f0 mov DWORD PTR _this$[ebp], ecx
; 437 : CStringData* pOldData = GetData();
0002b 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0002e e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00033 89 45 ec mov DWORD PTR _pOldData$[ebp], eax
; 438 : IAtlStringMgr* pStringMgr = pOldData->pStringMgr;
00036 8b 45 ec mov eax, DWORD PTR _pOldData$[ebp]
00039 8b 08 mov ecx, DWORD PTR [eax]
0003b 89 4d e8 mov DWORD PTR _pStringMgr$[ebp], ecx
; 439 : if( pOldData->nDataLength == 0 )
0003e 8b 45 ec mov eax, DWORD PTR _pOldData$[ebp]
00041 83 78 04 00 cmp DWORD PTR [eax+4], 0
00045 75 02 jne SHORT $LN2@Empty
; 440 : {
; 441 : return;
00047 eb 3f jmp SHORT $LN1@Empty
$LN2@Empty:
; 442 : }
; 443 :
; 444 : if( pOldData->IsLocked() )
00049 8b 4d ec mov ecx, DWORD PTR _pOldData$[ebp]
0004c e8 00 00 00 00 call ?IsLocked@CStringData@ATL@@QBE_NXZ ; ATL::CStringData::IsLocked
00051 0f b6 c0 movzx eax, al
00054 85 c0 test eax, eax
00056 74 0c je SHORT $LN3@Empty
; 445 : {
; 446 : // Don't reallocate a locked buffer that's shrinking
; 447 : SetLength( 0 );
00058 6a 00 push 0
0005a 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
0005d e8 00 00 00 00 call ?SetLength@?$CSimpleStringT@_W$0A@@ATL@@AAEXH@Z ; ATL::CSimpleStringT<wchar_t,0>::SetLength
; 448 : }
00062 eb 24 jmp SHORT $LN1@Empty
$LN3@Empty:
; 449 : else
; 450 : {
; 451 : pOldData->Release();
00064 8b 4d ec mov ecx, DWORD PTR _pOldData$[ebp]
00067 e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release
; 452 : CStringData* pNewData = pStringMgr->GetNilString();
0006c 8b 45 e8 mov eax, DWORD PTR _pStringMgr$[ebp]
0006f 8b 10 mov edx, DWORD PTR [eax]
00071 8b 4d e8 mov ecx, DWORD PTR _pStringMgr$[ebp]
00074 8b 42 0c mov eax, DWORD PTR [edx+12]
00077 ff d0 call eax
00079 89 45 e4 mov DWORD PTR _pNewData$2[ebp], eax
; 453 : Attach( pNewData );
0007c 8b 45 e4 mov eax, DWORD PTR _pNewData$2[ebp]
0007f 50 push eax
00080 8b 4d f0 mov ecx, DWORD PTR _this$[ebp]
00083 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
$LN1@Empty:
; 454 : }
; 455 : }
00088 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0008b 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00092 59 pop ecx
00093 5f pop edi
00094 5e pop esi
00095 5b pop ebx
00096 8b e5 mov esp, ebp
00098 5d pop ebp
00099 c3 ret 0
0009a cc int 3
0009b cc int 3
0009c cc int 3
0009d cc int 3
0009e cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a a0 mov ecx, DWORD PTR [edx-96]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?Empty@?$CSimpleStringT@_W$0A@@ATL@@QAEXXZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::Empty
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z
_TEXT SEGMENT
_this$ = -4 ; size = 4
_pszSrc$ = 8 ; size = 4
??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::operator=, COMDAT
; _this$ = ecx
; 313 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 314 : SetString( pszSrc );
0000c 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
0000f 50 push eax
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00013 e8 00 00 00 00 call ?SetString@?$CSimpleStringT@_W$0A@@ATL@@QAEXPB_W@Z ; ATL::CSimpleStringT<wchar_t,0>::SetString
; 315 :
; 316 : return( *this );
00018 8b 45 fc mov eax, DWORD PTR _this$[ebp]
; 317 : }
0001b 5f pop edi
0001c 5e pop esi
0001d 5b pop ebx
0001e 8b e5 mov esp, ebp
00020 5d pop ebp
00021 c2 04 00 ret 4
??4?$CSimpleStringT@_W$0A@@ATL@@QAEAAV01@PB_W@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::operator=
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ
_TEXT SEGMENT
_pData$ = -8 ; size = 4
_this$ = -4 ; size = 4
??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ PROC ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>, COMDAT
; _this$ = ecx
; 260 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 261 : CStringData* pData = GetData();
0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
0000f e8 00 00 00 00 call ?GetData@?$CSimpleStringT@_W$0A@@ATL@@ABEPAUCStringData@2@XZ ; ATL::CSimpleStringT<wchar_t,0>::GetData
00014 89 45 f8 mov DWORD PTR _pData$[ebp], eax
; 262 : pData->Release();
00017 8b 4d f8 mov ecx, DWORD PTR _pData$[ebp]
0001a e8 00 00 00 00 call ?Release@CStringData@ATL@@QAEXXZ ; ATL::CStringData::Release
; 263 : }
0001f 5f pop edi
00020 5e pop esi
00021 5b pop ebx
00022 8b e5 mov esp, ebp
00024 5d pop ebp
00025 c3 ret 0
??1?$CSimpleStringT@_W$0A@@ATL@@QAE@XZ ENDP ; ATL::CSimpleStringT<wchar_t,0>::~CSimpleStringT<wchar_t,0>
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z
_TEXT SEGMENT
tv65 = -80 ; size = 4
_pData$ = -12 ; size = 4
___atl_condVal$1 = -8 ; size = 4
_this$ = -4 ; size = 4
_pStringMgr$ = 8 ; size = 4
??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z PROC ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>, COMDAT
; _this$ = ecx
; 203 : explicit CSimpleStringT(_Inout_ IAtlStringMgr* pStringMgr)
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 50 sub esp, 80 ; 00000050H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
$LN4@CSimpleStr:
; 204 : {
; 205 : ATLENSURE( pStringMgr != NULL );
0000c 83 7d 08 00 cmp DWORD PTR _pStringMgr$[ebp], 0
00010 74 09 je SHORT $LN10@CSimpleStr
00012 c7 45 b0 01 00
00 00 mov DWORD PTR tv65[ebp], 1
00019 eb 07 jmp SHORT $LN11@CSimpleStr
$LN10@CSimpleStr:
0001b c7 45 b0 00 00
00 00 mov DWORD PTR tv65[ebp], 0
$LN11@CSimpleStr:
00022 8b 45 b0 mov eax, DWORD PTR tv65[ebp]
00025 89 45 f8 mov DWORD PTR ___atl_condVal$1[ebp], eax
$LN5@CSimpleStr:
00028 33 c0 xor eax, eax
0002a 75 fc jne SHORT $LN5@CSimpleStr
0002c 83 7d f8 00 cmp DWORD PTR ___atl_condVal$1[ebp], 0
00030 75 0a jne SHORT $LN2@CSimpleStr
00032 68 05 40 00 80 push -2147467259 ; 80004005H
00037 e8 00 00 00 00 call ?AtlThrowImpl@ATL@@YGXJ@Z ; ATL::AtlThrowImpl
$LN2@CSimpleStr:
0003c 33 c0 xor eax, eax
0003e 75 cc jne SHORT $LN4@CSimpleStr
; 206 : CStringData* pData = pStringMgr->GetNilString();
00040 8b 45 08 mov eax, DWORD PTR _pStringMgr$[ebp]
00043 8b 10 mov edx, DWORD PTR [eax]
00045 8b 4d 08 mov ecx, DWORD PTR _pStringMgr$[ebp]
00048 8b 42 0c mov eax, DWORD PTR [edx+12]
0004b ff d0 call eax
0004d 89 45 f4 mov DWORD PTR _pData$[ebp], eax
; 207 : Attach( pData );
00050 8b 45 f4 mov eax, DWORD PTR _pData$[ebp]
00053 50 push eax
00054 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
00057 e8 00 00 00 00 call ?Attach@?$CSimpleStringT@_W$0A@@ATL@@AAEXPAUCStringData@2@@Z ; ATL::CSimpleStringT<wchar_t,0>::Attach
; 208 : }
0005c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
$LN9@CSimpleStr:
0005f 5f pop edi
00060 5e pop esi
00061 5b pop ebx
00062 8b e5 mov esp, ebp
00064 5d pop ebp
00065 c2 04 00 ret 4
??0?$CSimpleStringT@_W$0A@@ATL@@QAE@PAUIAtlStringMgr@1@@Z ENDP ; ATL::CSimpleStringT<wchar_t,0>::CSimpleStringT<wchar_t,0>
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z
_TEXT SEGMENT
_pszDest$ = 8 ; size = 4
_nDestLength$ = 12 ; size = 4
_pszSrc$ = 16 ; size = 4
_nSrcLength$ = 20 ; size = 4
?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z PROC ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType, COMDAT
; 789 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 790 : if (nSrcLength == -1) { nSrcLength=1 + GetBaseTypeLength(pszSrc); }
00009 83 7d 14 ff cmp DWORD PTR _nSrcLength$[ebp], -1
0000d 75 12 jne SHORT $LN2@ConvertToB
0000f 8b 45 10 mov eax, DWORD PTR _pszSrc$[ebp]
00012 50 push eax
00013 e8 00 00 00 00 call ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
00018 83 c4 04 add esp, 4
0001b 83 c0 01 add eax, 1
0001e 89 45 14 mov DWORD PTR _nSrcLength$[ebp], eax
$LN2@ConvertToB:
; 791 : // nLen is in wchar_ts
; 792 : Checked::wmemcpy_s(pszDest, nDestLength, pszSrc, nSrcLength);
00021 8b 45 14 mov eax, DWORD PTR _nSrcLength$[ebp]
00024 50 push eax
00025 8b 4d 10 mov ecx, DWORD PTR _pszSrc$[ebp]
00028 51 push ecx
00029 8b 55 0c mov edx, DWORD PTR _nDestLength$[ebp]
0002c 52 push edx
0002d 8b 45 08 mov eax, DWORD PTR _pszDest$[ebp]
00030 50 push eax
00031 e8 00 00 00 00 call ?wmemcpy_s@Checked@ATL@@YAXPA_WIPB_WI@Z ; ATL::Checked::wmemcpy_s
00036 83 c4 10 add esp, 16 ; 00000010H
; 793 : }
00039 5f pop edi
0003a 5e pop esi
0003b 5b pop ebx
0003c 8b e5 mov esp, ebp
0003e 5d pop ebp
0003f c3 ret 0
?ConvertToBaseType@?$ChTraitsCRT@_W@ATL@@SAXPA_WHPB_WH@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::ConvertToBaseType
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z
_TEXT SEGMENT
_pszSrc$ = 8 ; size = 4
_nLength$ = 12 ; size = 4
?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z PROC ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength, COMDAT
; 768 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 769 : (void)pszSrc;
; 770 : // Returns required buffer size in wchar_ts
; 771 : return nLength;
00009 8b 45 0c mov eax, DWORD PTR _nLength$[ebp]
; 772 : }
0000c 5f pop edi
0000d 5e pop esi
0000e 5b pop ebx
0000f 8b e5 mov esp, ebp
00011 5d pop ebp
00012 c3 ret 0
?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_WH@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\cstringt.h
; COMDAT ?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z
_TEXT SEGMENT
__$EHRec$ = -12 ; size = 12
_pszSrc$ = 8 ; size = 4
?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z PROC ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength, COMDAT
; 760 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 40 sub esp, 64 ; 00000040H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 761 : // Returns required buffer size in wchar_ts
; 762 : return AtlStrLen( pszSrc );
00028 8b 45 08 mov eax, DWORD PTR _pszSrc$[ebp]
0002b 50 push eax
0002c e8 00 00 00 00 call ?AtlStrLen@ATL@@YAHPB_W@Z ; ATL::AtlStrLen
00031 83 c4 04 add esp, 4
; 763 : }
00034 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
00037 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
0003e 59 pop ecx
0003f 5f pop edi
00040 5e pop esi
00041 5b pop ebx
00042 8b e5 mov esp, ebp
00044 5d pop ebp
00045 c3 ret 0
00046 cc int 3
00047 cc int 3
00048 cc int 3
00049 cc int 3
0004a cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a b0 mov ecx, DWORD PTR [edx-80]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?GetBaseTypeLength@?$ChTraitsCRT@_W@ATL@@SAHPB_W@Z ENDP ; ATL::ChTraitsCRT<wchar_t>::GetBaseTypeLength
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?Release@CStringData@ATL@@QAEXXZ
_TEXT SEGMENT
tv79 = -76 ; size = 4
tv77 = -72 ; size = 4
_this$ = -4 ; size = 4
?Release@CStringData@ATL@@QAEXXZ PROC ; ATL::CStringData::Release, COMDAT
; _this$ = ecx
; 85 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 4c sub esp, 76 ; 0000004cH
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 86 : ATLASSERT( nRefs != 0 );
; 87 :
; 88 : if( _InterlockedDecrement( &nRefs ) <= 0 )
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 83 c0 0c add eax, 12 ; 0000000cH
00012 83 c9 ff or ecx, -1
00015 f0 0f c1 08 lock xadd DWORD PTR [eax], ecx
00019 49 dec ecx
0001a 85 c9 test ecx, ecx
0001c 7f 1f jg SHORT $LN1@Release
; 89 : {
; 90 : pStringMgr->Free( this );
0001e 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00021 8b 08 mov ecx, DWORD PTR [eax]
00023 89 4d b8 mov DWORD PTR tv77[ebp], ecx
00026 8b 55 fc mov edx, DWORD PTR _this$[ebp]
00029 8b 02 mov eax, DWORD PTR [edx]
0002b 8b 08 mov ecx, DWORD PTR [eax]
0002d 8b 51 04 mov edx, DWORD PTR [ecx+4]
00030 89 55 b4 mov DWORD PTR tv79[ebp], edx
00033 8b 45 fc mov eax, DWORD PTR _this$[ebp]
00036 50 push eax
00037 8b 4d b8 mov ecx, DWORD PTR tv77[ebp]
0003a ff 55 b4 call DWORD PTR tv79[ebp]
$LN1@Release:
; 91 : }
; 92 : }
0003d 5f pop edi
0003e 5e pop esi
0003f 5b pop ebx
00040 8b e5 mov esp, ebp
00042 5d pop ebp
00043 c3 ret 0
?Release@CStringData@ATL@@QAEXXZ ENDP ; ATL::CStringData::Release
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?IsShared@CStringData@ATL@@QBE_NXZ
_TEXT SEGMENT
tv66 = -72 ; size = 4
_this$ = -4 ; size = 4
?IsShared@CStringData@ATL@@QBE_NXZ PROC ; ATL::CStringData::IsShared, COMDAT
; _this$ = ecx
; 72 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 73 : return( nRefs > 1 );
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 83 78 0c 01 cmp DWORD PTR [eax+12], 1
00013 7e 09 jle SHORT $LN3@IsShared
00015 c7 45 b8 01 00
00 00 mov DWORD PTR tv66[ebp], 1
0001c eb 07 jmp SHORT $LN4@IsShared
$LN3@IsShared:
0001e c7 45 b8 00 00
00 00 mov DWORD PTR tv66[ebp], 0
$LN4@IsShared:
00025 8a 45 b8 mov al, BYTE PTR tv66[ebp]
; 74 : }
00028 5f pop edi
00029 5e pop esi
0002a 5b pop ebx
0002b 8b e5 mov esp, ebp
0002d 5d pop ebp
0002e c3 ret 0
?IsShared@CStringData@ATL@@QBE_NXZ ENDP ; ATL::CStringData::IsShared
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?IsLocked@CStringData@ATL@@QBE_NXZ
_TEXT SEGMENT
tv66 = -72 ; size = 4
_this$ = -4 ; size = 4
?IsLocked@CStringData@ATL@@QBE_NXZ PROC ; ATL::CStringData::IsLocked, COMDAT
; _this$ = ecx
; 68 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 69 : return nRefs < 0;
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 83 78 0c 00 cmp DWORD PTR [eax+12], 0
00013 7d 09 jge SHORT $LN3@IsLocked
00015 c7 45 b8 01 00
00 00 mov DWORD PTR tv66[ebp], 1
0001c eb 07 jmp SHORT $LN4@IsLocked
$LN3@IsLocked:
0001e c7 45 b8 00 00
00 00 mov DWORD PTR tv66[ebp], 0
$LN4@IsLocked:
00025 8a 45 b8 mov al, BYTE PTR tv66[ebp]
; 70 : }
00028 5f pop edi
00029 5e pop esi
0002a 5b pop ebx
0002b 8b e5 mov esp, ebp
0002d 5d pop ebp
0002e c3 ret 0
?IsLocked@CStringData@ATL@@QBE_NXZ ENDP ; ATL::CStringData::IsLocked
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlsimpstr.h
; COMDAT ?data@CStringData@ATL@@QAEPAXXZ
_TEXT SEGMENT
_this$ = -4 ; size = 4
?data@CStringData@ATL@@QAEPAXXZ PROC ; ATL::CStringData::data, COMDAT
; _this$ = ecx
; 58 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
; 59 : return (this+1);
0000c 8b 45 fc mov eax, DWORD PTR _this$[ebp]
0000f 83 c0 10 add eax, 16 ; 00000010H
; 60 : }
00012 5f pop edi
00013 5e pop esi
00014 5b pop ebx
00015 8b e5 mov esp, ebp
00017 5d pop ebp
00018 c3 ret 0
?data@CStringData@ATL@@QAEPAXXZ ENDP ; ATL::CStringData::data
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlcore.h
; COMDAT ?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z
_TEXT SEGMENT
_hResource$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_hInstance$ = 8 ; size = 4
_id$ = 12 ; size = 4
?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z PROC ; ATL::AtlGetStringResourceImage, COMDAT
; 370 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 44 sub esp, 68 ; 00000044H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 371 : HRSRC hResource;
; 372 : /*
; 373 : The and operation (& static_cast<WORD>(~0)) protects the expression from being greater
; 374 : than WORD - this would cause a runtime error when the application is compiled with /RTCc flag.
; 375 : */
; 376 : hResource = ::FindResourceW(hInstance, MAKEINTRESOURCEW( (((id>>4)+1) & static_cast<WORD>(~0)) ), (LPWSTR) RT_STRING);
00028 6a 06 push 6
0002a 8b 45 0c mov eax, DWORD PTR _id$[ebp]
0002d c1 e8 04 shr eax, 4
00030 83 c0 01 add eax, 1
00033 25 ff ff 00 00 and eax, 65535 ; 0000ffffH
00038 0f b7 c8 movzx ecx, ax
0003b 51 push ecx
0003c 8b 55 08 mov edx, DWORD PTR _hInstance$[ebp]
0003f 52 push edx
00040 ff 15 00 00 00
00 call DWORD PTR __imp__FindResourceW@12
00046 89 45 f0 mov DWORD PTR _hResource$[ebp], eax
; 377 : if( hResource == NULL )
00049 83 7d f0 00 cmp DWORD PTR _hResource$[ebp], 0
0004d 75 04 jne SHORT $LN2@AtlGetStri
; 378 : {
; 379 : return( NULL );
0004f 33 c0 xor eax, eax
00051 eb 14 jmp SHORT $LN1@AtlGetStri
$LN2@AtlGetStri:
; 380 : }
; 381 :
; 382 : return _AtlGetStringResourceImage( hInstance, hResource, id );
00053 8b 45 0c mov eax, DWORD PTR _id$[ebp]
00056 50 push eax
00057 8b 4d f0 mov ecx, DWORD PTR _hResource$[ebp]
0005a 51 push ecx
0005b 8b 55 08 mov edx, DWORD PTR _hInstance$[ebp]
0005e 52 push edx
0005f e8 00 00 00 00 call ?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z ; ATL::_AtlGetStringResourceImage
00064 83 c4 0c add esp, 12 ; 0000000cH
$LN1@AtlGetStri:
; 383 : }
00067 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
0006a 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
00071 59 pop ecx
00072 5f pop edi
00073 5e pop esi
00074 5b pop ebx
00075 8b e5 mov esp, ebp
00077 5d pop ebp
00078 c3 ret 0
00079 cc int 3
0007a cc int 3
0007b cc int 3
0007c cc int 3
0007d cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a ac mov ecx, DWORD PTR [edx-84]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@I@Z ENDP ; ATL::AtlGetStringResourceImage
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlcore.h
; COMDAT ?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z
_TEXT SEGMENT
_iIndex$ = -32 ; size = 4
_hGlobal$ = -28 ; size = 4
_nResourceSize$ = -24 ; size = 4
_pImageEnd$ = -20 ; size = 4
_pImage$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_hInstance$ = 8 ; size = 4
_hResource$ = 12 ; size = 4
_id$ = 16 ; size = 4
?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z PROC ; ATL::_AtlGetStringResourceImage, COMDAT
; 327 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 6a ff push -1
00005 68 00 00 00 00 push __ehhandler$?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z
0000a 64 a1 00 00 00
00 mov eax, DWORD PTR fs:0
00010 50 push eax
00011 83 ec 54 sub esp, 84 ; 00000054H
00014 53 push ebx
00015 56 push esi
00016 57 push edi
00017 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
0001c 33 c5 xor eax, ebp
0001e 50 push eax
0001f 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp]
00022 64 a3 00 00 00
00 mov DWORD PTR fs:0, eax
; 328 : const ATLSTRINGRESOURCEIMAGE* pImage;
; 329 : const ATLSTRINGRESOURCEIMAGE* pImageEnd;
; 330 : ULONG nResourceSize;
; 331 : HGLOBAL hGlobal;
; 332 : UINT iIndex;
; 333 :
; 334 : hGlobal = ::LoadResource( hInstance, hResource );
00028 8b 45 0c mov eax, DWORD PTR _hResource$[ebp]
0002b 50 push eax
0002c 8b 4d 08 mov ecx, DWORD PTR _hInstance$[ebp]
0002f 51 push ecx
00030 ff 15 00 00 00
00 call DWORD PTR __imp__LoadResource@8
00036 89 45 e4 mov DWORD PTR _hGlobal$[ebp], eax
; 335 : if( hGlobal == NULL )
00039 83 7d e4 00 cmp DWORD PTR _hGlobal$[ebp], 0
0003d 75 07 jne SHORT $LN4@AtlGetStri
; 336 : {
; 337 : return( NULL );
0003f 33 c0 xor eax, eax
00041 e9 80 00 00 00 jmp $LN1@AtlGetStri
$LN4@AtlGetStri:
; 338 : }
; 339 :
; 340 : pImage = (const ATLSTRINGRESOURCEIMAGE*)::LockResource( hGlobal );
00046 8b 45 e4 mov eax, DWORD PTR _hGlobal$[ebp]
00049 50 push eax
0004a ff 15 00 00 00
00 call DWORD PTR __imp__LockResource@4
00050 89 45 f0 mov DWORD PTR _pImage$[ebp], eax
; 341 : if( pImage == NULL )
00053 83 7d f0 00 cmp DWORD PTR _pImage$[ebp], 0
00057 75 04 jne SHORT $LN5@AtlGetStri
; 342 : {
; 343 : return( NULL );
00059 33 c0 xor eax, eax
0005b eb 69 jmp SHORT $LN1@AtlGetStri
$LN5@AtlGetStri:
; 344 : }
; 345 :
; 346 : nResourceSize = ::SizeofResource( hInstance, hResource );
0005d 8b 45 0c mov eax, DWORD PTR _hResource$[ebp]
00060 50 push eax
00061 8b 4d 08 mov ecx, DWORD PTR _hInstance$[ebp]
00064 51 push ecx
00065 ff 15 00 00 00
00 call DWORD PTR __imp__SizeofResource@8
0006b 89 45 e8 mov DWORD PTR _nResourceSize$[ebp], eax
; 347 : pImageEnd = (const ATLSTRINGRESOURCEIMAGE*)(LPBYTE( pImage )+nResourceSize);
0006e 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
00071 03 45 e8 add eax, DWORD PTR _nResourceSize$[ebp]
00074 89 45 ec mov DWORD PTR _pImageEnd$[ebp], eax
; 348 : iIndex = id&0x000f;
00077 8b 45 10 mov eax, DWORD PTR _id$[ebp]
0007a 83 e0 0f and eax, 15 ; 0000000fH
0007d 89 45 e0 mov DWORD PTR _iIndex$[ebp], eax
$LN2@AtlGetStri:
; 349 :
; 350 : while( (iIndex > 0) && (pImage < pImageEnd) )
00080 83 7d e0 00 cmp DWORD PTR _iIndex$[ebp], 0
00084 76 23 jbe SHORT $LN3@AtlGetStri
00086 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
00089 3b 45 ec cmp eax, DWORD PTR _pImageEnd$[ebp]
0008c 73 1b jae SHORT $LN3@AtlGetStri
; 351 : {
; 352 : pImage = (const ATLSTRINGRESOURCEIMAGE*)(LPBYTE( pImage )+(sizeof( ATLSTRINGRESOURCEIMAGE )+(pImage->nLength*sizeof( WCHAR ))));
0008e 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
00091 0f b7 08 movzx ecx, WORD PTR [eax]
00094 8b 55 f0 mov edx, DWORD PTR _pImage$[ebp]
00097 8d 44 4a 02 lea eax, DWORD PTR [edx+ecx*2+2]
0009b 89 45 f0 mov DWORD PTR _pImage$[ebp], eax
; 353 : iIndex--;
0009e 8b 45 e0 mov eax, DWORD PTR _iIndex$[ebp]
000a1 83 e8 01 sub eax, 1
000a4 89 45 e0 mov DWORD PTR _iIndex$[ebp], eax
; 354 : }
000a7 eb d7 jmp SHORT $LN2@AtlGetStri
$LN3@AtlGetStri:
; 355 : if( pImage >= pImageEnd )
000a9 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
000ac 3b 45 ec cmp eax, DWORD PTR _pImageEnd$[ebp]
000af 72 04 jb SHORT $LN6@AtlGetStri
; 356 : {
; 357 : return( NULL );
000b1 33 c0 xor eax, eax
000b3 eb 11 jmp SHORT $LN1@AtlGetStri
$LN6@AtlGetStri:
; 358 : }
; 359 : if( pImage->nLength == 0 )
000b5 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
000b8 0f b7 08 movzx ecx, WORD PTR [eax]
000bb 85 c9 test ecx, ecx
000bd 75 04 jne SHORT $LN7@AtlGetStri
; 360 : {
; 361 : return( NULL );
000bf 33 c0 xor eax, eax
000c1 eb 03 jmp SHORT $LN1@AtlGetStri
$LN7@AtlGetStri:
; 362 : }
; 363 :
; 364 : return( pImage );
000c3 8b 45 f0 mov eax, DWORD PTR _pImage$[ebp]
$LN1@AtlGetStri:
; 365 : }
000c6 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp]
000c9 64 89 0d 00 00
00 00 mov DWORD PTR fs:0, ecx
000d0 59 pop ecx
000d1 5f pop edi
000d2 5e pop esi
000d3 5b pop ebx
000d4 8b e5 mov esp, ebp
000d6 5d pop ebp
000d7 c3 ret 0
000d8 cc int 3
000d9 cc int 3
000da cc int 3
000db cc int 3
000dc cc int 3
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z:
00000 90 npad 1
00001 90 npad 1
00002 8b 54 24 08 mov edx, DWORD PTR [esp+8]
00006 8d 42 0c lea eax, DWORD PTR [edx+12]
00009 8b 4a 9c mov ecx, DWORD PTR [edx-100]
0000c 33 c8 xor ecx, eax
0000e e8 00 00 00 00 call @__security_check_cookie@4
00013 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z
00018 e9 00 00 00 00 jmp ___CxxFrameHandler3
text$x ENDS
?_AtlGetStringResourceImage@ATL@@YAPBUATLSTRINGRESOURCEIMAGE@1@PAUHINSTANCE__@@PAUHRSRC__@@I@Z ENDP ; ATL::_AtlGetStringResourceImage
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlcore.h
; COMDAT ?AtlStrLen@ATL@@YAHPB_W@Z
_TEXT SEGMENT
_str$ = 8 ; size = 4
?AtlStrLen@ATL@@YAHPB_W@Z PROC ; ATL::AtlStrLen, COMDAT
; 60 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 61 : if (str == NULL)
00009 83 7d 08 00 cmp DWORD PTR _str$[ebp], 0
0000d 75 04 jne SHORT $LN2@AtlStrLen
; 62 : return 0;
0000f 33 c0 xor eax, eax
00011 eb 0c jmp SHORT $LN1@AtlStrLen
$LN2@AtlStrLen:
; 63 : return static_cast<int>(::wcslen(str));
00013 8b 45 08 mov eax, DWORD PTR _str$[ebp]
00016 50 push eax
00017 e8 00 00 00 00 call _wcslen
0001c 83 c4 04 add esp, 4
$LN1@AtlStrLen:
; 64 : }
0001f 5f pop edi
00020 5e pop esi
00021 5b pop ebx
00022 8b e5 mov esp, ebp
00024 5d pop ebp
00025 c3 ret 0
?AtlStrLen@ATL@@YAHPB_W@Z ENDP ; ATL::AtlStrLen
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlchecked.h
; COMDAT ?wmemcpy_s@Checked@ATL@@YAXPA_WIPB_WI@Z
_TEXT SEGMENT
__S1$ = 8 ; size = 4
__N1$ = 12 ; size = 4
__S2$ = 16 ; size = 4
__N$ = 20 ; size = 4
?wmemcpy_s@Checked@ATL@@YAXPA_WIPB_WI@Z PROC ; ATL::Checked::wmemcpy_s, COMDAT
; 77 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 78 : ATLMFC_CRT_ERRORCHECK(::wmemcpy_s(_S1, _N1, _S2, _N));
00009 8b 45 14 mov eax, DWORD PTR __N$[ebp]
0000c 50 push eax
0000d 8b 4d 10 mov ecx, DWORD PTR __S2$[ebp]
00010 51 push ecx
00011 8b 55 0c mov edx, DWORD PTR __N1$[ebp]
00014 52 push edx
00015 8b 45 08 mov eax, DWORD PTR __S1$[ebp]
00018 50 push eax
00019 e8 00 00 00 00 call _wmemcpy_s
0001e 83 c4 10 add esp, 16 ; 00000010H
00021 50 push eax
00022 e8 00 00 00 00 call ?AfxCrtErrorCheck@@YAHH@Z ; AfxCrtErrorCheck
00027 83 c4 04 add esp, 4
; 79 : }
0002a 5f pop edi
0002b 5e pop esi
0002c 5b pop ebx
0002d 8b e5 mov esp, ebp
0002f 5d pop ebp
00030 c3 ret 0
?wmemcpy_s@Checked@ATL@@YAXPA_WIPB_WI@Z ENDP ; ATL::Checked::wmemcpy_s
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\atlexcept.h
; COMDAT ?AtlThrowImpl@ATL@@YGXJ@Z
_TEXT SEGMENT
_hr$ = 8 ; size = 4
?AtlThrowImpl@ATL@@YGXJ@Z PROC ; ATL::AtlThrowImpl, COMDAT
; 65 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 66 : ATLTRACE(atlTraceException, 0, _T("AtlThrow: hr = 0x%x\n"), hr );
; 67 : #ifdef _AFX
; 68 : if( hr == E_OUTOFMEMORY )
00009 81 7d 08 0e 00
07 80 cmp DWORD PTR _hr$[ebp], -2147024882 ; 8007000eH
00010 75 07 jne SHORT $LN2@AtlThrowIm
; 69 : {
; 70 : AfxThrowMemoryException();
00012 e8 00 00 00 00 call ?AfxThrowMemoryException@@YGXXZ ; AfxThrowMemoryException
; 71 : }
00017 eb 09 jmp SHORT $LN4@AtlThrowIm
$LN2@AtlThrowIm:
; 72 : else
; 73 : {
; 74 : AfxThrowOleException( hr );
00019 8b 45 08 mov eax, DWORD PTR _hr$[ebp]
0001c 50 push eax
0001d e8 00 00 00 00 call ?AfxThrowOleException@@YGXJ@Z ; AfxThrowOleException
$LN4@AtlThrowIm:
; 75 : }
; 76 : #else
; 77 : throw CAtlException( hr );
; 78 : #endif
; 79 : };
00022 5f pop edi
00023 5e pop esi
00024 5b pop ebx
00025 8b e5 mov esp, ebp
00027 5d pop ebp
00028 c2 04 00 ret 4
?AtlThrowImpl@ATL@@YGXJ@Z ENDP ; ATL::AtlThrowImpl
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\atlmfc\include\afx.h
; COMDAT ?AfxCrtErrorCheck@@YAHH@Z
_TEXT SEGMENT
tv64 = -68 ; size = 4
_error$ = 8 ; size = 4
?AfxCrtErrorCheck@@YAHH@Z PROC ; AfxCrtErrorCheck, COMDAT
; 506 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 507 : switch(error)
00009 8b 45 08 mov eax, DWORD PTR _error$[ebp]
0000c 89 45 bc mov DWORD PTR tv64[ebp], eax
0000f 83 7d bc 50 cmp DWORD PTR tv64[ebp], 80 ; 00000050H
00013 77 21 ja SHORT $LN9@AfxCrtErro
00015 8b 4d bc mov ecx, DWORD PTR tv64[ebp]
00018 0f b6 91 00 00
00 00 movzx edx, BYTE PTR $LN11@AfxCrtErro[ecx]
0001f ff 24 95 00 00
00 00 jmp DWORD PTR $LN12@AfxCrtErro[edx*4]
$LN4@AfxCrtErro:
; 508 : {
; 509 : case ENOMEM:
; 510 : AfxThrowMemoryException();
00026 e8 00 00 00 00 call ?AfxThrowMemoryException@@YGXXZ ; AfxThrowMemoryException
; 511 : break;
0002b eb 0e jmp SHORT $LN2@AfxCrtErro
$LN6@AfxCrtErro:
; 512 : case EINVAL:
; 513 : case ERANGE:
; 514 : AfxThrowInvalidArgException();
0002d e8 00 00 00 00 call ?AfxThrowInvalidArgException@@YGXXZ ; AfxThrowInvalidArgException
; 515 : break;
00032 eb 07 jmp SHORT $LN2@AfxCrtErro
$LN8@AfxCrtErro:
; 516 : case STRUNCATE:
; 517 : case 0:
; 518 : break;
00034 eb 05 jmp SHORT $LN2@AfxCrtErro
$LN9@AfxCrtErro:
; 519 : default:
; 520 : AfxThrowInvalidArgException();
00036 e8 00 00 00 00 call ?AfxThrowInvalidArgException@@YGXXZ ; AfxThrowInvalidArgException
$LN2@AfxCrtErro:
; 521 : break;
; 522 : }
; 523 : return error;
0003b 8b 45 08 mov eax, DWORD PTR _error$[ebp]
$LN10@AfxCrtErro:
; 524 : }
0003e 5f pop edi
0003f 5e pop esi
00040 5b pop ebx
00041 8b e5 mov esp, ebp
00043 5d pop ebp
00044 c3 ret 0
00045 0f 1f 00 npad 3
$LN12@AfxCrtErro:
00048 00 00 00 00 DD $LN8@AfxCrtErro
0004c 00 00 00 00 DD $LN4@AfxCrtErro
00050 00 00 00 00 DD $LN6@AfxCrtErro
00054 00 00 00 00 DD $LN9@AfxCrtErro
$LN11@AfxCrtErro:
00058 00 DB 0
00059 03 DB 3
0005a 03 DB 3
0005b 03 DB 3
0005c 03 DB 3
0005d 03 DB 3
0005e 03 DB 3
0005f 03 DB 3
00060 03 DB 3
00061 03 DB 3
00062 03 DB 3
00063 03 DB 3
00064 01 DB 1
00065 03 DB 3
00066 03 DB 3
00067 03 DB 3
00068 03 DB 3
00069 03 DB 3
0006a 03 DB 3
0006b 03 DB 3
0006c 03 DB 3
0006d 03 DB 3
0006e 02 DB 2
0006f 03 DB 3
00070 03 DB 3
00071 03 DB 3
00072 03 DB 3
00073 03 DB 3
00074 03 DB 3
00075 03 DB 3
00076 03 DB 3
00077 03 DB 3
00078 03 DB 3
00079 03 DB 3
0007a 02 DB 2
0007b 03 DB 3
0007c 03 DB 3
0007d 03 DB 3
0007e 03 DB 3
0007f 03 DB 3
00080 03 DB 3
00081 03 DB 3
00082 03 DB 3
00083 03 DB 3
00084 03 DB 3
00085 03 DB 3
00086 03 DB 3
00087 03 DB 3
00088 03 DB 3
00089 03 DB 3
0008a 03 DB 3
0008b 03 DB 3
0008c 03 DB 3
0008d 03 DB 3
0008e 03 DB 3
0008f 03 DB 3
00090 03 DB 3
00091 03 DB 3
00092 03 DB 3
00093 03 DB 3
00094 03 DB 3
00095 03 DB 3
00096 03 DB 3
00097 03 DB 3
00098 03 DB 3
00099 03 DB 3
0009a 03 DB 3
0009b 03 DB 3
0009c 03 DB 3
0009d 03 DB 3
0009e 03 DB 3
0009f 03 DB 3
000a0 03 DB 3
000a1 03 DB 3
000a2 03 DB 3
000a3 03 DB 3
000a4 03 DB 3
000a5 03 DB 3
000a6 03 DB 3
000a7 03 DB 3
000a8 00 DB 0
?AfxCrtErrorCheck@@YAHH@Z ENDP ; AfxCrtErrorCheck
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_memcpy_s.h
; COMDAT _memmove_s
_TEXT SEGMENT
tv74 = -80 ; size = 4
tv70 = -80 ; size = 4
tv66 = -80 ; size = 4
__Expr_val$1 = -12 ; size = 4
__Expr_val$2 = -8 ; size = 4
__Expr_val$3 = -4 ; size = 4
__Destination$ = 8 ; size = 4
__DestinationSize$ = 12 ; size = 4
__Source$ = 16 ; size = 4
__SourceSize$ = 20 ; size = 4
_memmove_s PROC ; COMDAT
; 73 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 50 sub esp, 80 ; 00000050H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 74 : if (_SourceSize == 0)
00009 83 7d 14 00 cmp DWORD PTR __SourceSize$[ebp], 0
0000d 75 07 jne SHORT $LN2@memmove_s
; 75 : {
; 76 : return 0;
0000f 33 c0 xor eax, eax
00011 e9 c6 00 00 00 jmp $LN1@memmove_s
$LN2@memmove_s:
; 77 : }
; 78 :
; 79 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Destination != NULL, EINVAL);
00016 83 7d 08 00 cmp DWORD PTR __Destination$[ebp], 0
0001a 74 09 je SHORT $LN7@memmove_s
0001c c7 45 b0 01 00
00 00 mov DWORD PTR tv66[ebp], 1
00023 eb 07 jmp SHORT $LN8@memmove_s
$LN7@memmove_s:
00025 c7 45 b0 00 00
00 00 mov DWORD PTR tv66[ebp], 0
$LN8@memmove_s:
0002c 8b 45 b0 mov eax, DWORD PTR tv66[ebp]
0002f 89 45 fc mov DWORD PTR __Expr_val$3[ebp], eax
00032 83 7d fc 00 cmp DWORD PTR __Expr_val$3[ebp], 0
00036 75 1a jne SHORT $LN3@memmove_s
00038 e8 00 00 00 00 call __errno
0003d c7 00 16 00 00
00 mov DWORD PTR [eax], 22 ; 00000016H
00043 e8 00 00 00 00 call __invalid_parameter_noinfo
00048 b8 16 00 00 00 mov eax, 22 ; 00000016H
0004d e9 8a 00 00 00 jmp $LN1@memmove_s
$LN3@memmove_s:
; 80 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Source != NULL, EINVAL);
00052 83 7d 10 00 cmp DWORD PTR __Source$[ebp], 0
00056 74 09 je SHORT $LN9@memmove_s
00058 c7 45 b0 01 00
00 00 mov DWORD PTR tv70[ebp], 1
0005f eb 07 jmp SHORT $LN10@memmove_s
$LN9@memmove_s:
00061 c7 45 b0 00 00
00 00 mov DWORD PTR tv70[ebp], 0
$LN10@memmove_s:
00068 8b 45 b0 mov eax, DWORD PTR tv70[ebp]
0006b 89 45 f8 mov DWORD PTR __Expr_val$2[ebp], eax
0006e 83 7d f8 00 cmp DWORD PTR __Expr_val$2[ebp], 0
00072 75 17 jne SHORT $LN4@memmove_s
00074 e8 00 00 00 00 call __errno
00079 c7 00 16 00 00
00 mov DWORD PTR [eax], 22 ; 00000016H
0007f e8 00 00 00 00 call __invalid_parameter_noinfo
00084 b8 16 00 00 00 mov eax, 22 ; 00000016H
00089 eb 51 jmp SHORT $LN1@memmove_s
$LN4@memmove_s:
; 81 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_DestinationSize >= _SourceSize, ERANGE);
0008b 8b 45 0c mov eax, DWORD PTR __DestinationSize$[ebp]
0008e 3b 45 14 cmp eax, DWORD PTR __SourceSize$[ebp]
00091 72 09 jb SHORT $LN11@memmove_s
00093 c7 45 b0 01 00
00 00 mov DWORD PTR tv74[ebp], 1
0009a eb 07 jmp SHORT $LN12@memmove_s
$LN11@memmove_s:
0009c c7 45 b0 00 00
00 00 mov DWORD PTR tv74[ebp], 0
$LN12@memmove_s:
000a3 8b 4d b0 mov ecx, DWORD PTR tv74[ebp]
000a6 89 4d f4 mov DWORD PTR __Expr_val$1[ebp], ecx
000a9 83 7d f4 00 cmp DWORD PTR __Expr_val$1[ebp], 0
000ad 75 17 jne SHORT $LN5@memmove_s
000af e8 00 00 00 00 call __errno
000b4 c7 00 22 00 00
00 mov DWORD PTR [eax], 34 ; 00000022H
000ba e8 00 00 00 00 call __invalid_parameter_noinfo
000bf b8 22 00 00 00 mov eax, 34 ; 00000022H
000c4 eb 16 jmp SHORT $LN1@memmove_s
$LN5@memmove_s:
; 82 :
; 83 : memmove(_Destination, _Source, _SourceSize);
000c6 8b 45 14 mov eax, DWORD PTR __SourceSize$[ebp]
000c9 50 push eax
000ca 8b 4d 10 mov ecx, DWORD PTR __Source$[ebp]
000cd 51 push ecx
000ce 8b 55 08 mov edx, DWORD PTR __Destination$[ebp]
000d1 52 push edx
000d2 e8 00 00 00 00 call _memmove
000d7 83 c4 0c add esp, 12 ; 0000000cH
; 84 : return 0;
000da 33 c0 xor eax, eax
$LN1@memmove_s:
; 85 : }
000dc 5f pop edi
000dd 5e pop esi
000de 5b pop ebx
000df 8b e5 mov esp, ebp
000e1 5d pop ebp
000e2 c3 ret 0
_memmove_s ENDP
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_memcpy_s.h
; COMDAT _memcpy_s
_TEXT SEGMENT
tv79 = -80 ; size = 4
tv75 = -80 ; size = 4
tv66 = -80 ; size = 4
__Expr_val$1 = -12 ; size = 4
__Expr_val$2 = -8 ; size = 4
__Expr_val$3 = -4 ; size = 4
__Destination$ = 8 ; size = 4
__DestinationSize$ = 12 ; size = 4
__Source$ = 16 ; size = 4
__SourceSize$ = 20 ; size = 4
_memcpy_s PROC ; COMDAT
; 45 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 50 sub esp, 80 ; 00000050H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 46 : if (_SourceSize == 0)
00009 83 7d 14 00 cmp DWORD PTR __SourceSize$[ebp], 0
0000d 75 07 jne SHORT $LN2@memcpy_s
; 47 : {
; 48 : return 0;
0000f 33 c0 xor eax, eax
00011 e9 f1 00 00 00 jmp $LN1@memcpy_s
$LN2@memcpy_s:
; 49 : }
; 50 :
; 51 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Destination != NULL, EINVAL);
00016 83 7d 08 00 cmp DWORD PTR __Destination$[ebp], 0
0001a 74 09 je SHORT $LN9@memcpy_s
0001c c7 45 b0 01 00
00 00 mov DWORD PTR tv66[ebp], 1
00023 eb 07 jmp SHORT $LN10@memcpy_s
$LN9@memcpy_s:
00025 c7 45 b0 00 00
00 00 mov DWORD PTR tv66[ebp], 0
$LN10@memcpy_s:
0002c 8b 45 b0 mov eax, DWORD PTR tv66[ebp]
0002f 89 45 fc mov DWORD PTR __Expr_val$3[ebp], eax
00032 83 7d fc 00 cmp DWORD PTR __Expr_val$3[ebp], 0
00036 75 1a jne SHORT $LN3@memcpy_s
00038 e8 00 00 00 00 call __errno
0003d c7 00 16 00 00
00 mov DWORD PTR [eax], 22 ; 00000016H
00043 e8 00 00 00 00 call __invalid_parameter_noinfo
00048 b8 16 00 00 00 mov eax, 22 ; 00000016H
0004d e9 b5 00 00 00 jmp $LN1@memcpy_s
$LN3@memcpy_s:
; 52 : if (_Source == NULL || _DestinationSize < _SourceSize)
00052 83 7d 10 00 cmp DWORD PTR __Source$[ebp], 0
00056 74 0c je SHORT $LN5@memcpy_s
00058 8b 45 0c mov eax, DWORD PTR __DestinationSize$[ebp]
0005b 3b 45 14 cmp eax, DWORD PTR __SourceSize$[ebp]
0005e 0f 83 8d 00 00
00 jae $LN4@memcpy_s
$LN5@memcpy_s:
; 53 : {
; 54 : memset(_Destination, 0, _DestinationSize);
00064 8b 45 0c mov eax, DWORD PTR __DestinationSize$[ebp]
00067 50 push eax
00068 6a 00 push 0
0006a 8b 4d 08 mov ecx, DWORD PTR __Destination$[ebp]
0006d 51 push ecx
0006e e8 00 00 00 00 call _memset
00073 83 c4 0c add esp, 12 ; 0000000cH
; 55 :
; 56 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_Source != NULL, EINVAL);
00076 83 7d 10 00 cmp DWORD PTR __Source$[ebp], 0
0007a 74 09 je SHORT $LN11@memcpy_s
0007c c7 45 b0 01 00
00 00 mov DWORD PTR tv75[ebp], 1
00083 eb 07 jmp SHORT $LN12@memcpy_s
$LN11@memcpy_s:
00085 c7 45 b0 00 00
00 00 mov DWORD PTR tv75[ebp], 0
$LN12@memcpy_s:
0008c 8b 45 b0 mov eax, DWORD PTR tv75[ebp]
0008f 89 45 f8 mov DWORD PTR __Expr_val$2[ebp], eax
00092 83 7d f8 00 cmp DWORD PTR __Expr_val$2[ebp], 0
00096 75 17 jne SHORT $LN6@memcpy_s
00098 e8 00 00 00 00 call __errno
0009d c7 00 16 00 00
00 mov DWORD PTR [eax], 22 ; 00000016H
000a3 e8 00 00 00 00 call __invalid_parameter_noinfo
000a8 b8 16 00 00 00 mov eax, 22 ; 00000016H
000ad eb 58 jmp SHORT $LN1@memcpy_s
$LN6@memcpy_s:
; 57 : _CRT_MEMCPY_S_VALIDATE_RETURN_ERRCODE(_DestinationSize >= _SourceSize, ERANGE);
000af 8b 45 0c mov eax, DWORD PTR __DestinationSize$[ebp]
000b2 3b 45 14 cmp eax, DWORD PTR __SourceSize$[ebp]
000b5 72 09 jb SHORT $LN13@memcpy_s
000b7 c7 45 b0 01 00
00 00 mov DWORD PTR tv79[ebp], 1
000be eb 07 jmp SHORT $LN14@memcpy_s
$LN13@memcpy_s:
000c0 c7 45 b0 00 00
00 00 mov DWORD PTR tv79[ebp], 0
$LN14@memcpy_s:
000c7 8b 4d b0 mov ecx, DWORD PTR tv79[ebp]
000ca 89 4d f4 mov DWORD PTR __Expr_val$1[ebp], ecx
000cd 83 7d f4 00 cmp DWORD PTR __Expr_val$1[ebp], 0
000d1 75 17 jne SHORT $LN7@memcpy_s
000d3 e8 00 00 00 00 call __errno
000d8 c7 00 22 00 00
00 mov DWORD PTR [eax], 34 ; 00000022H
000de e8 00 00 00 00 call __invalid_parameter_noinfo
000e3 b8 22 00 00 00 mov eax, 34 ; 00000022H
000e8 eb 1d jmp SHORT $LN1@memcpy_s
$LN7@memcpy_s:
; 58 :
; 59 : // Unreachable, but required to suppress /analyze warnings:
; 60 : return EINVAL;
000ea b8 16 00 00 00 mov eax, 22 ; 00000016H
000ef eb 16 jmp SHORT $LN1@memcpy_s
$LN4@memcpy_s:
; 61 : }
; 62 : memcpy(_Destination, _Source, _SourceSize);
000f1 8b 45 14 mov eax, DWORD PTR __SourceSize$[ebp]
000f4 50 push eax
000f5 8b 4d 10 mov ecx, DWORD PTR __Source$[ebp]
000f8 51 push ecx
000f9 8b 55 08 mov edx, DWORD PTR __Destination$[ebp]
000fc 52 push edx
000fd e8 00 00 00 00 call _memcpy
00102 83 c4 0c add esp, 12 ; 0000000cH
; 63 : return 0;
00105 33 c0 xor eax, eax
$LN1@memcpy_s:
; 64 : }
00107 5f pop edi
00108 5e pop esi
00109 5b pop ebx
0010a 8b e5 mov esp, ebp
0010c 5d pop ebp
0010d c3 ret 0
_memcpy_s ENDP
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h
; COMDAT _sprintf
_TEXT SEGMENT
__ArgList$ = -8 ; size = 4
__Result$ = -4 ; size = 4
__Buffer$ = 8 ; size = 4
__Format$ = 12 ; size = 4
_sprintf PROC ; COMDAT
; 1771 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 4c sub esp, 76 ; 0000004cH
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 1772 : int _Result;
; 1773 : va_list _ArgList;
; 1774 : __crt_va_start(_ArgList, _Format);
00009 8d 45 10 lea eax, DWORD PTR __Format$[ebp+4]
0000c 89 45 f8 mov DWORD PTR __ArgList$[ebp], eax
; 1775 :
; 1776 : _Result = _vsprintf_l(_Buffer, _Format, NULL, _ArgList);
0000f 8b 45 f8 mov eax, DWORD PTR __ArgList$[ebp]
00012 50 push eax
00013 6a 00 push 0
00015 8b 4d 0c mov ecx, DWORD PTR __Format$[ebp]
00018 51 push ecx
00019 8b 55 08 mov edx, DWORD PTR __Buffer$[ebp]
0001c 52 push edx
0001d e8 00 00 00 00 call __vsprintf_l
00022 83 c4 10 add esp, 16 ; 00000010H
00025 89 45 fc mov DWORD PTR __Result$[ebp], eax
; 1777 :
; 1778 : __crt_va_end(_ArgList);
00028 c7 45 f8 00 00
00 00 mov DWORD PTR __ArgList$[ebp], 0
; 1779 : return _Result;
0002f 8b 45 fc mov eax, DWORD PTR __Result$[ebp]
; 1780 : }
00032 5f pop edi
00033 5e pop esi
00034 5b pop ebx
00035 8b e5 mov esp, ebp
00037 5d pop ebp
00038 c3 ret 0
_sprintf ENDP
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h
; COMDAT __vsprintf_l
_TEXT SEGMENT
__Buffer$ = 8 ; size = 4
__Format$ = 12 ; size = 4
__Locale$ = 16 ; size = 4
__ArgList$ = 20 ; size = 4
__vsprintf_l PROC ; COMDAT
; 1458 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 1459 : return _vsnprintf_l(_Buffer, (size_t)-1, _Format, _Locale, _ArgList);
00009 8b 45 14 mov eax, DWORD PTR __ArgList$[ebp]
0000c 50 push eax
0000d 8b 4d 10 mov ecx, DWORD PTR __Locale$[ebp]
00010 51 push ecx
00011 8b 55 0c mov edx, DWORD PTR __Format$[ebp]
00014 52 push edx
00015 6a ff push -1
00017 8b 45 08 mov eax, DWORD PTR __Buffer$[ebp]
0001a 50 push eax
0001b e8 00 00 00 00 call __vsnprintf_l
00020 83 c4 14 add esp, 20 ; 00000014H
; 1460 : }
00023 5f pop edi
00024 5e pop esi
00025 5b pop ebx
00026 8b e5 mov esp, ebp
00028 5d pop ebp
00029 c3 ret 0
__vsprintf_l ENDP
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h
; COMDAT __vsnprintf_l
_TEXT SEGMENT
tv74 = -72 ; size = 4
__Result$ = -4 ; size = 4
__Buffer$ = 8 ; size = 4
__BufferCount$ = 12 ; size = 4
__Format$ = 16 ; size = 4
__Locale$ = 20 ; size = 4
__ArgList$ = 24 ; size = 4
__vsnprintf_l PROC ; COMDAT
; 1391 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 48 sub esp, 72 ; 00000048H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 1392 : int const _Result = __stdio_common_vsprintf(
00009 8b 45 18 mov eax, DWORD PTR __ArgList$[ebp]
0000c 50 push eax
0000d 8b 4d 14 mov ecx, DWORD PTR __Locale$[ebp]
00010 51 push ecx
00011 8b 55 10 mov edx, DWORD PTR __Format$[ebp]
00014 52 push edx
00015 8b 45 0c mov eax, DWORD PTR __BufferCount$[ebp]
00018 50 push eax
00019 8b 4d 08 mov ecx, DWORD PTR __Buffer$[ebp]
0001c 51 push ecx
0001d e8 00 00 00 00 call ___local_stdio_printf_options
00022 8b 10 mov edx, DWORD PTR [eax]
00024 83 ca 01 or edx, 1
00027 8b 40 04 mov eax, DWORD PTR [eax+4]
0002a 50 push eax
0002b 52 push edx
0002c e8 00 00 00 00 call ___stdio_common_vsprintf
00031 83 c4 1c add esp, 28 ; 0000001cH
00034 89 45 fc mov DWORD PTR __Result$[ebp], eax
; 1393 : _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION,
; 1394 : _Buffer, _BufferCount, _Format, _Locale, _ArgList);
; 1395 :
; 1396 : return _Result < 0 ? -1 : _Result;
00037 83 7d fc 00 cmp DWORD PTR __Result$[ebp], 0
0003b 7d 09 jge SHORT $LN3@vsnprintf_
0003d c7 45 b8 ff ff
ff ff mov DWORD PTR tv74[ebp], -1
00044 eb 06 jmp SHORT $LN4@vsnprintf_
$LN3@vsnprintf_:
00046 8b 45 fc mov eax, DWORD PTR __Result$[ebp]
00049 89 45 b8 mov DWORD PTR tv74[ebp], eax
$LN4@vsnprintf_:
0004c 8b 45 b8 mov eax, DWORD PTR tv74[ebp]
; 1397 : }
0004f 5f pop edi
00050 5e pop esi
00051 5b pop ebx
00052 8b e5 mov esp, ebp
00054 5d pop ebp
00055 c3 ret 0
__vsnprintf_l ENDP
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_stdio_config.h
; COMDAT ___local_stdio_printf_options
_TEXT SEGMENT
___local_stdio_printf_options PROC ; COMDAT
; 90 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
; 91 : static unsigned __int64 _OptionsStorage;
; 92 : return &_OptionsStorage;
00009 b8 00 00 00 00 mov eax, OFFSET ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA ; `__local_stdio_printf_options'::`2'::_OptionsStorage
; 93 : }
0000e 5f pop edi
0000f 5e pop esi
00010 5b pop ebx
00011 8b e5 mov esp, ebp
00013 5d pop ebp
00014 c3 ret 0
___local_stdio_printf_options ENDP
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?__empty_global_delete@@YAXPAXIW4align_val_t@std@@@Z
_TEXT SEGMENT
___formal$ = 8 ; size = 4
___formal$ = 12 ; size = 4
___formal$ = 16 ; size = 4
?__empty_global_delete@@YAXPAXIW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 5f pop edi
0000a 5e pop esi
0000b 5b pop ebx
0000c 8b e5 mov esp, ebp
0000e 5d pop ebp
0000f c3 ret 0
?__empty_global_delete@@YAXPAXIW4align_val_t@std@@@Z ENDP ; __empty_global_delete
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?__empty_global_delete@@YAXPAXW4align_val_t@std@@@Z
_TEXT SEGMENT
___formal$ = 8 ; size = 4
___formal$ = 12 ; size = 4
?__empty_global_delete@@YAXPAXW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 5f pop edi
0000a 5e pop esi
0000b 5b pop ebx
0000c 8b e5 mov esp, ebp
0000e 5d pop ebp
0000f c3 ret 0
?__empty_global_delete@@YAXPAXW4align_val_t@std@@@Z ENDP ; __empty_global_delete
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?__empty_global_delete@@YAXPAXI@Z
_TEXT SEGMENT
___formal$ = 8 ; size = 4
___formal$ = 12 ; size = 4
?__empty_global_delete@@YAXPAXI@Z PROC ; __empty_global_delete, COMDAT
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 5f pop edi
0000a 5e pop esi
0000b 5b pop ebx
0000c 8b e5 mov esp, ebp
0000e 5d pop ebp
0000f c3 ret 0
?__empty_global_delete@@YAXPAXI@Z ENDP ; __empty_global_delete
_TEXT ENDS
; Function compile flags: /Odtp /ZI
; File D:\Works\Corpsms_2010\public\des\Des.cpp
; COMDAT ?__empty_global_delete@@YAXPAX@Z
_TEXT SEGMENT
___formal$ = 8 ; size = 4
?__empty_global_delete@@YAXPAX@Z PROC ; __empty_global_delete, COMDAT
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 5f pop edi
0000a 5e pop esi
0000b 5b pop ebx
0000c 8b e5 mov esp, ebp
0000e 5d pop ebp
0000f c3 ret 0
?__empty_global_delete@@YAXPAX@Z ENDP ; __empty_global_delete
_TEXT ENDS
END