4092 lines
133 KiB
Plaintext
4092 lines
133 KiB
Plaintext
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.34.31933.0
|
|
|
|
include listing.inc
|
|
|
|
INCLUDELIB LIBCMT
|
|
INCLUDELIB OLDNAMES
|
|
|
|
PUBLIC ?__empty_global_delete@@YAXPEAX@Z ; __empty_global_delete
|
|
PUBLIC ?__empty_global_delete@@YAXPEAX_K@Z ; __empty_global_delete
|
|
PUBLIC ?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z ; __empty_global_delete
|
|
PUBLIC ?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z ; __empty_global_delete
|
|
PUBLIC __local_stdio_printf_options
|
|
PUBLIC _vsnprintf_l
|
|
PUBLIC _vsprintf_l
|
|
PUBLIC sprintf
|
|
PUBLIC ?MD5Transform@MD5_L@@QEAAXQEAKQEAE@Z ; MD5_L::MD5Transform
|
|
PUBLIC ?Encode@MD5_L@@QEAAXPEAEPEAKI@Z ; MD5_L::Encode
|
|
PUBLIC ?Decode@MD5_L@@QEAAXPEAKPEAEI@Z ; MD5_L::Decode
|
|
PUBLIC ?MD5_memcpy@MD5_L@@QEAAXPEAE0I@Z ; MD5_L::MD5_memcpy
|
|
PUBLIC ?MD5_memset@MD5_L@@QEAAXPEAEHI@Z ; MD5_L::MD5_memset
|
|
PUBLIC ?MD5Init@MD5_L@@QEAAXPEAU_MD5_CTX@1@@Z ; MD5_L::MD5Init
|
|
PUBLIC ?MD5Update@MD5_L@@QEAAXPEAU_MD5_CTX@1@PEAEI@Z ; MD5_L::MD5Update
|
|
PUBLIC ?MD5Final@MD5_L@@QEAAXQEAEPEAU_MD5_CTX@1@@Z ; MD5_L::MD5Final
|
|
PUBLIC ?StringAddOne@MD5_L@@QEAAXPEAD@Z ; MD5_L::StringAddOne
|
|
PUBLIC ?MD5String@MD5_L@@QEAAPEADPEAD0@Z ; MD5_L::MD5String
|
|
PUBLIC ?MD5String@MD5_L@@QEAAPEADPEAD@Z ; MD5_L::MD5String
|
|
PUBLIC ?MD5Byte@MD5_L@@QEAAPEAEPEAEJ0@Z ; MD5_L::MD5Byte
|
|
PUBLIC ?MD5Check@MD5_L@@QEAA_NPEAD0@Z ; MD5_L::MD5Check
|
|
PUBLIC ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA ; `__local_stdio_printf_options'::`2'::_OptionsStorage
|
|
PUBLIC ??_C@_04JFFKLGJF@?$CF02X@ ; `string'
|
|
EXTRN __report_rangecheckfailure:PROC
|
|
EXTRN __stdio_common_vsprintf:PROC
|
|
EXTRN strcmp:PROC
|
|
EXTRN strlen:PROC
|
|
EXTRN __GSHandlerCheck:PROC
|
|
EXTRN __security_check_cookie:PROC
|
|
EXTRN __security_cookie:QWORD
|
|
; COMDAT ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA
|
|
_BSS SEGMENT
|
|
?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA DQ 01H DUP (?) ; `__local_stdio_printf_options'::`2'::_OptionsStorage
|
|
_BSS ENDS
|
|
_BSS SEGMENT
|
|
?output@?1??MD5String@MD5_L@@QEAAPEADPEAD@Z@4PADA DB 040H DUP (?) ; `MD5_L::MD5String'::`2'::output
|
|
_BSS ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?__empty_global_delete@@YAXPEAX@Z DD imagerel $LN3
|
|
DD imagerel $LN3+19
|
|
DD imagerel $unwind$?__empty_global_delete@@YAXPEAX@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?__empty_global_delete@@YAXPEAX_K@Z DD imagerel $LN3
|
|
DD imagerel $LN3+24
|
|
DD imagerel $unwind$?__empty_global_delete@@YAXPEAX_K@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+24
|
|
DD imagerel $unwind$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+29
|
|
DD imagerel $unwind$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$__local_stdio_printf_options DD imagerel $LN3
|
|
DD imagerel $LN3+22
|
|
DD imagerel $unwind$__local_stdio_printf_options
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$_vsnprintf_l DD imagerel $LN5
|
|
DD imagerel $LN5+119
|
|
DD imagerel $unwind$_vsnprintf_l
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$_vsprintf_l DD imagerel $LN3
|
|
DD imagerel $LN3+69
|
|
DD imagerel $unwind$_vsprintf_l
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$sprintf DD imagerel $LN3
|
|
DD imagerel $LN3+84
|
|
DD imagerel $unwind$sprintf
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?MD5Transform@MD5_L@@QEAAXQEAKQEAE@Z DD imagerel $LN3
|
|
DD imagerel $LN3+5307
|
|
DD imagerel $unwind$?MD5Transform@MD5_L@@QEAAXQEAKQEAE@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?Encode@MD5_L@@QEAAXPEAEPEAKI@Z DD imagerel $LN6
|
|
DD imagerel $LN6+207
|
|
DD imagerel $unwind$?Encode@MD5_L@@QEAAXPEAEPEAKI@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?Decode@MD5_L@@QEAAXPEAKPEAEI@Z DD imagerel $LN6
|
|
DD imagerel $LN6+160
|
|
DD imagerel $unwind$?Decode@MD5_L@@QEAAXPEAKPEAEI@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?MD5_memcpy@MD5_L@@QEAAXPEAE0I@Z DD imagerel $LN6
|
|
DD imagerel $LN6+83
|
|
DD imagerel $unwind$?MD5_memcpy@MD5_L@@QEAAXPEAE0I@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?MD5_memset@MD5_L@@QEAAXPEAEHI@Z DD imagerel $LN6
|
|
DD imagerel $LN6+75
|
|
DD imagerel $unwind$?MD5_memset@MD5_L@@QEAAXPEAEHI@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?MD5Init@MD5_L@@QEAAXPEAU_MD5_CTX@1@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+146
|
|
DD imagerel $unwind$?MD5Init@MD5_L@@QEAAXPEAU_MD5_CTX@1@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?MD5Update@MD5_L@@QEAAXPEAU_MD5_CTX@1@PEAEI@Z DD imagerel $LN9
|
|
DD imagerel $LN9+407
|
|
DD imagerel $unwind$?MD5Update@MD5_L@@QEAAXPEAU_MD5_CTX@1@PEAEI@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?MD5Final@MD5_L@@QEAAXQEAEPEAU_MD5_CTX@1@@Z DD imagerel $LN5
|
|
DD imagerel $LN5+265
|
|
DD imagerel $unwind$?MD5Final@MD5_L@@QEAAXQEAEPEAU_MD5_CTX@1@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?StringAddOne@MD5_L@@QEAAXPEAD@Z DD imagerel $LN12
|
|
DD imagerel $LN12+203
|
|
DD imagerel $unwind$?StringAddOne@MD5_L@@QEAAXPEAD@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?MD5String@MD5_L@@QEAAPEADPEAD0@Z DD imagerel $LN9
|
|
DD imagerel $LN9+411
|
|
DD imagerel $unwind$?MD5String@MD5_L@@QEAAPEADPEAD0@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?MD5String@MD5_L@@QEAAPEADPEAD@Z DD imagerel $LN11
|
|
DD imagerel $LN11+437
|
|
DD imagerel $unwind$?MD5String@MD5_L@@QEAAPEADPEAD@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?MD5Byte@MD5_L@@QEAAPEAEPEAEJ0@Z DD imagerel $LN6
|
|
DD imagerel $LN6+219
|
|
DD imagerel $unwind$?MD5Byte@MD5_L@@QEAAPEAEPEAEJ0@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?MD5Check@MD5_L@@QEAA_NPEAD0@Z DD imagerel $LN5
|
|
DD imagerel $LN5+80
|
|
DD imagerel $unwind$?MD5Check@MD5_L@@QEAA_NPEAD0@Z
|
|
pdata ENDS
|
|
; COMDAT ??_C@_04JFFKLGJF@?$CF02X@
|
|
CONST SEGMENT
|
|
??_C@_04JFFKLGJF@?$CF02X@ DB '%02X', 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?MD5Check@MD5_L@@QEAA_NPEAD0@Z DD 025031901H
|
|
DD 0d2142319H
|
|
DD 05010H
|
|
xdata ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DB 02cH
|
|
DB 0c2H
|
|
voltbl ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?MD5Byte@MD5_L@@QEAAPEAEPEAEJ0@Z DD 025053319H
|
|
DD 011d2322H
|
|
DD 07016001dH
|
|
DD 05015H
|
|
DD imagerel __GSHandlerCheck
|
|
DD 0d8H
|
|
xdata ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DW 022H
|
|
DW 019cH
|
|
voltbl ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?MD5String@MD5_L@@QEAAPEADPEAD@Z DD 025052919H
|
|
DD 01132318H
|
|
DD 0700c0027H
|
|
DD 0500bH
|
|
DD imagerel __GSHandlerCheck
|
|
DD 0120H
|
|
xdata ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DW 027H
|
|
DW 0182H
|
|
voltbl ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?MD5String@MD5_L@@QEAAPEADPEAD0@Z DD 025052e19H
|
|
DD 0118231dH
|
|
DD 070110025H
|
|
DD 05010H
|
|
DD imagerel __GSHandlerCheck
|
|
DD 0118H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?StringAddOne@MD5_L@@QEAAXPEAD@Z DD 025031401H
|
|
DD 0d20f2314H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DB 026H
|
|
DB 0f7H
|
|
voltbl ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?MD5Final@MD5_L@@QEAAXQEAEPEAU_MD5_CTX@1@@Z DD 025032a19H
|
|
DD 0f217231cH
|
|
DD 05010H
|
|
DD imagerel __GSHandlerCheck
|
|
DD 078H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?MD5Update@MD5_L@@QEAAXPEAU_MD5_CTX@1@PEAEI@Z DD 025031e01H
|
|
DD 0d219231eH
|
|
DD 05015H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?MD5Init@MD5_L@@QEAAXPEAU_MD5_CTX@1@@Z DD 05031201H
|
|
DD 0720f0312H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?MD5_memset@MD5_L@@QEAAXPEAEHI@Z DD 05031c01H
|
|
DD 09219031cH
|
|
DD 05015H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?MD5_memcpy@MD5_L@@QEAAXPEAE0I@Z DD 05031c01H
|
|
DD 09219031cH
|
|
DD 05015H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?Decode@MD5_L@@QEAAXPEAKPEAEI@Z DD 05031c01H
|
|
DD 09219031cH
|
|
DD 05015H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?Encode@MD5_L@@QEAAXPEAEPEAKI@Z DD 05031c01H
|
|
DD 09219031cH
|
|
DD 05015H
|
|
xdata ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DW 026H
|
|
DW 014a3H
|
|
voltbl ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?MD5Transform@MD5_L@@QEAAXQEAKQEAE@Z DD 025042d19H
|
|
DD 0117231cH
|
|
DD 050100018H
|
|
DD imagerel __GSHandlerCheck
|
|
DD 0b0H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$sprintf DD 025032101H
|
|
DD 0f21c2321H
|
|
DD 05015H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$_vsprintf_l DD 035031e01H
|
|
DD 0d219331eH
|
|
DD 05015H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$_vsnprintf_l DD 035032101H
|
|
DD 0f21c3321H
|
|
DD 05015H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$__local_stdio_printf_options DD 05030901H
|
|
DD 072060309H
|
|
DD 05002H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z DD 05031701H
|
|
DD 072140317H
|
|
DD 05010H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z DD 05031201H
|
|
DD 0720f0312H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?__empty_global_delete@@YAXPEAX_K@Z DD 05031201H
|
|
DD 0720f0312H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?__empty_global_delete@@YAXPEAX@Z DD 05030d01H
|
|
DD 0720a030dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File D:\Works\Corpsms_2010\public\md53\MD5_L.cpp
|
|
; COMDAT ?MD5Check@MD5_L@@QEAA_NPEAD0@Z
|
|
_TEXT SEGMENT
|
|
tv71 = 64
|
|
this$ = 96
|
|
md5string$ = 104
|
|
string$ = 112
|
|
?MD5Check@MD5_L@@QEAA_NPEAD0@Z PROC ; MD5_L::MD5Check, COMDAT
|
|
|
|
; 371 : {
|
|
|
|
$LN5:
|
|
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000f 55 push rbp
|
|
00010 48 83 ec 70 sub rsp, 112 ; 00000070H
|
|
00014 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
|
|
; 372 : return strcmp( md5string, MD5String( string ) ) == 0;
|
|
|
|
00019 48 8b 55 70 mov rdx, QWORD PTR string$[rbp]
|
|
0001d 48 8b 4d 60 mov rcx, QWORD PTR this$[rbp]
|
|
00021 e8 00 00 00 00 call ?MD5String@MD5_L@@QEAAPEADPEAD@Z ; MD5_L::MD5String
|
|
00026 48 8b d0 mov rdx, rax
|
|
00029 48 8b 4d 68 mov rcx, QWORD PTR md5string$[rbp]
|
|
0002d e8 00 00 00 00 call strcmp
|
|
00032 85 c0 test eax, eax
|
|
00034 75 09 jne SHORT $LN3@MD5Check
|
|
00036 c7 45 40 01 00
|
|
00 00 mov DWORD PTR tv71[rbp], 1
|
|
0003d eb 07 jmp SHORT $LN4@MD5Check
|
|
$LN3@MD5Check:
|
|
0003f c7 45 40 00 00
|
|
00 00 mov DWORD PTR tv71[rbp], 0
|
|
$LN4@MD5Check:
|
|
00046 0f b6 45 40 movzx eax, BYTE PTR tv71[rbp]
|
|
|
|
; 373 : }
|
|
|
|
0004a 48 8d 65 50 lea rsp, QWORD PTR [rbp+80]
|
|
0004e 5d pop rbp
|
|
0004f c3 ret 0
|
|
?MD5Check@MD5_L@@QEAA_NPEAD0@Z ENDP ; MD5_L::MD5Check
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File D:\Works\Corpsms_2010\public\md53\MD5_L.cpp
|
|
; COMDAT ?MD5Byte@MD5_L@@QEAAPEAEPEAEJ0@Z
|
|
_TEXT SEGMENT
|
|
context$ = 0
|
|
digest$ = 96
|
|
len$ = 112
|
|
i$ = 116
|
|
__$ArrayPad$ = 184
|
|
this$ = 224
|
|
bMd5$ = 232
|
|
lLen$ = 240
|
|
output$ = 248
|
|
?MD5Byte@MD5_L@@QEAAPEAEPEAEJ0@Z PROC ; MD5_L::MD5Byte, COMDAT
|
|
|
|
; 256 : {
|
|
|
|
$LN6:
|
|
00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9
|
|
00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d
|
|
0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00014 55 push rbp
|
|
00015 57 push rdi
|
|
00016 48 81 ec e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00022 48 8b 05 00 00
|
|
00 00 mov rax, QWORD PTR __security_cookie
|
|
00029 48 33 c5 xor rax, rbp
|
|
0002c 48 89 85 b8 00
|
|
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
|
|
|
; 257 : MD5_CTX context;
|
|
; 258 : unsigned char digest[16] = { 0 };
|
|
|
|
00033 48 8d 45 60 lea rax, QWORD PTR digest$[rbp]
|
|
00037 48 8b f8 mov rdi, rax
|
|
0003a 33 c0 xor eax, eax
|
|
0003c b9 10 00 00 00 mov ecx, 16
|
|
00041 f3 aa rep stosb
|
|
|
|
; 259 : //BYTE output[64]={0};
|
|
; 260 : unsigned int len = lLen;
|
|
|
|
00043 8b 85 f0 00 00
|
|
00 mov eax, DWORD PTR lLen$[rbp]
|
|
00049 89 45 70 mov DWORD PTR len$[rbp], eax
|
|
|
|
; 261 : int i;
|
|
; 262 :
|
|
; 263 : MD5Init( &context);
|
|
|
|
0004c 48 8d 55 00 lea rdx, QWORD PTR context$[rbp]
|
|
00050 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00057 e8 00 00 00 00 call ?MD5Init@MD5_L@@QEAAXPEAU_MD5_CTX@1@@Z ; MD5_L::MD5Init
|
|
|
|
; 264 : MD5Update( &context, (unsigned char*)bMd5, len );
|
|
|
|
0005c 44 8b 4d 70 mov r9d, DWORD PTR len$[rbp]
|
|
00060 4c 8b 85 e8 00
|
|
00 00 mov r8, QWORD PTR bMd5$[rbp]
|
|
00067 48 8d 55 00 lea rdx, QWORD PTR context$[rbp]
|
|
0006b 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00072 e8 00 00 00 00 call ?MD5Update@MD5_L@@QEAAXPEAU_MD5_CTX@1@PEAEI@Z ; MD5_L::MD5Update
|
|
|
|
; 265 : MD5Final( digest, &context );
|
|
|
|
00077 4c 8d 45 00 lea r8, QWORD PTR context$[rbp]
|
|
0007b 48 8d 55 60 lea rdx, QWORD PTR digest$[rbp]
|
|
0007f 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00086 e8 00 00 00 00 call ?MD5Final@MD5_L@@QEAAXQEAEPEAU_MD5_CTX@1@@Z ; MD5_L::MD5Final
|
|
|
|
; 266 :
|
|
; 267 : for (i = 0; i < 16; i++)
|
|
|
|
0008b c7 45 74 00 00
|
|
00 00 mov DWORD PTR i$[rbp], 0
|
|
00092 eb 08 jmp SHORT $LN4@MD5Byte
|
|
$LN2@MD5Byte:
|
|
00094 8b 45 74 mov eax, DWORD PTR i$[rbp]
|
|
00097 ff c0 inc eax
|
|
00099 89 45 74 mov DWORD PTR i$[rbp], eax
|
|
$LN4@MD5Byte:
|
|
0009c 83 7d 74 10 cmp DWORD PTR i$[rbp], 16
|
|
000a0 7d 19 jge SHORT $LN3@MD5Byte
|
|
|
|
; 268 : {
|
|
; 269 : output[i] = (unsigned char)digest[i];
|
|
|
|
000a2 48 63 45 74 movsxd rax, DWORD PTR i$[rbp]
|
|
000a6 48 63 4d 74 movsxd rcx, DWORD PTR i$[rbp]
|
|
000aa 48 8b 95 f8 00
|
|
00 00 mov rdx, QWORD PTR output$[rbp]
|
|
000b1 0f b6 44 05 60 movzx eax, BYTE PTR digest$[rbp+rax]
|
|
000b6 88 04 0a mov BYTE PTR [rdx+rcx], al
|
|
|
|
; 270 : //sprintf(&(output1[2*i]),"%02X",(unsigned char)digest[i]);
|
|
; 271 : //sprintf(&(output1[2*i+1]),"%02X",(unsigned char)(digest[i]<<4));
|
|
; 272 : }
|
|
|
|
000b9 eb d9 jmp SHORT $LN2@MD5Byte
|
|
$LN3@MD5Byte:
|
|
|
|
; 273 : return output;
|
|
|
|
000bb 48 8b 85 f8 00
|
|
00 00 mov rax, QWORD PTR output$[rbp]
|
|
|
|
; 274 :
|
|
; 275 : }
|
|
|
|
000c2 48 8b 8d b8 00
|
|
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
|
000c9 48 33 cd xor rcx, rbp
|
|
000cc e8 00 00 00 00 call __security_check_cookie
|
|
000d1 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
000d8 5f pop rdi
|
|
000d9 5d pop rbp
|
|
000da c3 ret 0
|
|
?MD5Byte@MD5_L@@QEAAPEAEPEAEJ0@Z ENDP ; MD5_L::MD5Byte
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File D:\Works\Corpsms_2010\public\md53\MD5_L.cpp
|
|
; COMDAT ?MD5String@MD5_L@@QEAAPEADPEAD@Z
|
|
_TEXT SEGMENT
|
|
context$ = 0
|
|
digest$ = 96
|
|
output1$ = 112
|
|
len$ = 176
|
|
i$ = 180
|
|
$T1 = 248
|
|
__$ArrayPad$ = 256
|
|
this$ = 304
|
|
string$ = 312
|
|
?MD5String@MD5_L@@QEAAPEADPEAD@Z PROC ; MD5_L::MD5String, COMDAT
|
|
|
|
; 280 : {
|
|
|
|
$LN11:
|
|
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 81 ec 38 01
|
|
00 00 sub rsp, 312 ; 00000138H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8b 05 00 00
|
|
00 00 mov rax, QWORD PTR __security_cookie
|
|
0001f 48 33 c5 xor rax, rbp
|
|
00022 48 89 85 00 01
|
|
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
|
|
|
; 281 : MD5_CTX context;
|
|
; 282 : unsigned char digest[16] = { 0 };
|
|
|
|
00029 48 8d 45 60 lea rax, QWORD PTR digest$[rbp]
|
|
0002d 48 8b f8 mov rdi, rax
|
|
00030 33 c0 xor eax, eax
|
|
00032 b9 10 00 00 00 mov ecx, 16
|
|
00037 f3 aa rep stosb
|
|
|
|
; 283 : //char output1[128] = { 0 };
|
|
; 284 : char output1[64] = { 0 };
|
|
|
|
00039 48 8d 45 70 lea rax, QWORD PTR output1$[rbp]
|
|
0003d 48 8b f8 mov rdi, rax
|
|
00040 33 c0 xor eax, eax
|
|
00042 b9 40 00 00 00 mov ecx, 64 ; 00000040H
|
|
00047 f3 aa rep stosb
|
|
|
|
; 285 : static char output[64] = { 0 };
|
|
; 286 : unsigned int len = (unsigned int)strlen (string);
|
|
|
|
00049 48 8b 8d 38 01
|
|
00 00 mov rcx, QWORD PTR string$[rbp]
|
|
00050 e8 00 00 00 00 call strlen
|
|
00055 89 85 b0 00 00
|
|
00 mov DWORD PTR len$[rbp], eax
|
|
|
|
; 287 : int i;
|
|
; 288 :
|
|
; 289 : MD5Init( &context);
|
|
|
|
0005b 48 8d 55 00 lea rdx, QWORD PTR context$[rbp]
|
|
0005f 48 8b 8d 30 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00066 e8 00 00 00 00 call ?MD5Init@MD5_L@@QEAAXPEAU_MD5_CTX@1@@Z ; MD5_L::MD5Init
|
|
|
|
; 290 : MD5Update( &context, (unsigned char*)string, len );
|
|
|
|
0006b 44 8b 8d b0 00
|
|
00 00 mov r9d, DWORD PTR len$[rbp]
|
|
00072 4c 8b 85 38 01
|
|
00 00 mov r8, QWORD PTR string$[rbp]
|
|
00079 48 8d 55 00 lea rdx, QWORD PTR context$[rbp]
|
|
0007d 48 8b 8d 30 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00084 e8 00 00 00 00 call ?MD5Update@MD5_L@@QEAAXPEAU_MD5_CTX@1@PEAEI@Z ; MD5_L::MD5Update
|
|
|
|
; 291 : MD5Final( digest, &context );
|
|
|
|
00089 4c 8d 45 00 lea r8, QWORD PTR context$[rbp]
|
|
0008d 48 8d 55 60 lea rdx, QWORD PTR digest$[rbp]
|
|
00091 48 8b 8d 30 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00098 e8 00 00 00 00 call ?MD5Final@MD5_L@@QEAAXQEAEPEAU_MD5_CTX@1@@Z ; MD5_L::MD5Final
|
|
|
|
; 292 :
|
|
; 293 : for (i = 0; i < 16; i++)
|
|
|
|
0009d c7 85 b4 00 00
|
|
00 00 00 00 00 mov DWORD PTR i$[rbp], 0
|
|
000a7 eb 0e jmp SHORT $LN4@MD5String
|
|
$LN2@MD5String:
|
|
000a9 8b 85 b4 00 00
|
|
00 mov eax, DWORD PTR i$[rbp]
|
|
000af ff c0 inc eax
|
|
000b1 89 85 b4 00 00
|
|
00 mov DWORD PTR i$[rbp], eax
|
|
$LN4@MD5String:
|
|
000b7 83 bd b4 00 00
|
|
00 10 cmp DWORD PTR i$[rbp], 16
|
|
000be 7d 60 jge SHORT $LN3@MD5String
|
|
|
|
; 294 : {
|
|
; 295 : sprintf(&(output1[2*i]),"%02X",(unsigned char)digest[i]);
|
|
|
|
000c0 48 63 85 b4 00
|
|
00 00 movsxd rax, DWORD PTR i$[rbp]
|
|
000c7 0f b6 44 05 60 movzx eax, BYTE PTR digest$[rbp+rax]
|
|
000cc 8b 8d b4 00 00
|
|
00 mov ecx, DWORD PTR i$[rbp]
|
|
000d2 03 c9 add ecx, ecx
|
|
000d4 48 63 c9 movsxd rcx, ecx
|
|
000d7 48 8d 4c 0d 70 lea rcx, QWORD PTR output1$[rbp+rcx]
|
|
000dc 44 8b c0 mov r8d, eax
|
|
000df 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:??_C@_04JFFKLGJF@?$CF02X@
|
|
000e6 e8 00 00 00 00 call sprintf
|
|
|
|
; 296 : sprintf(&(output1[2*i+1]),"%02X",(unsigned char)(digest[i]<<4));
|
|
|
|
000eb 48 63 85 b4 00
|
|
00 00 movsxd rax, DWORD PTR i$[rbp]
|
|
000f2 0f b6 44 05 60 movzx eax, BYTE PTR digest$[rbp+rax]
|
|
000f7 c1 e0 04 shl eax, 4
|
|
000fa 0f b6 c0 movzx eax, al
|
|
000fd 8b 8d b4 00 00
|
|
00 mov ecx, DWORD PTR i$[rbp]
|
|
00103 8d 4c 09 01 lea ecx, DWORD PTR [rcx+rcx+1]
|
|
00107 48 63 c9 movsxd rcx, ecx
|
|
0010a 48 8d 4c 0d 70 lea rcx, QWORD PTR output1$[rbp+rcx]
|
|
0010f 44 8b c0 mov r8d, eax
|
|
00112 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:??_C@_04JFFKLGJF@?$CF02X@
|
|
00119 e8 00 00 00 00 call sprintf
|
|
|
|
; 297 : }
|
|
|
|
0011e eb 89 jmp SHORT $LN2@MD5String
|
|
$LN3@MD5String:
|
|
|
|
; 298 : for(i=0;i<32;i++)
|
|
|
|
00120 c7 85 b4 00 00
|
|
00 00 00 00 00 mov DWORD PTR i$[rbp], 0
|
|
0012a eb 0e jmp SHORT $LN7@MD5String
|
|
$LN5@MD5String:
|
|
0012c 8b 85 b4 00 00
|
|
00 mov eax, DWORD PTR i$[rbp]
|
|
00132 ff c0 inc eax
|
|
00134 89 85 b4 00 00
|
|
00 mov DWORD PTR i$[rbp], eax
|
|
$LN7@MD5String:
|
|
0013a 83 bd b4 00 00
|
|
00 20 cmp DWORD PTR i$[rbp], 32 ; 00000020H
|
|
00141 7d 1f jge SHORT $LN6@MD5String
|
|
|
|
; 299 : {
|
|
; 300 : output[i]=output1[i];
|
|
|
|
00143 48 63 85 b4 00
|
|
00 00 movsxd rax, DWORD PTR i$[rbp]
|
|
0014a 48 63 8d b4 00
|
|
00 00 movsxd rcx, DWORD PTR i$[rbp]
|
|
00151 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:?output@?1??MD5String@MD5_L@@QEAAPEADPEAD@Z@4PADA
|
|
00158 0f b6 44 05 70 movzx eax, BYTE PTR output1$[rbp+rax]
|
|
0015d 88 04 0a mov BYTE PTR [rdx+rcx], al
|
|
|
|
; 301 : }
|
|
|
|
00160 eb ca jmp SHORT $LN5@MD5String
|
|
$LN6@MD5String:
|
|
|
|
; 302 : output[32] = 0;
|
|
|
|
00162 b8 01 00 00 00 mov eax, 1
|
|
00167 48 6b c0 20 imul rax, rax, 32 ; 00000020H
|
|
0016b 48 89 85 f8 00
|
|
00 00 mov QWORD PTR $T1[rbp], rax
|
|
00172 48 83 bd f8 00
|
|
00 00 40 cmp QWORD PTR $T1[rbp], 64 ; 00000040H
|
|
0017a 73 02 jae SHORT $LN9@MD5String
|
|
0017c eb 05 jmp SHORT $LN10@MD5String
|
|
$LN9@MD5String:
|
|
0017e e8 00 00 00 00 call __report_rangecheckfailure
|
|
$LN10@MD5String:
|
|
00183 48 8d 05 00 00
|
|
00 00 lea rax, OFFSET FLAT:?output@?1??MD5String@MD5_L@@QEAAPEADPEAD@Z@4PADA
|
|
0018a 48 8b 8d f8 00
|
|
00 00 mov rcx, QWORD PTR $T1[rbp]
|
|
00191 c6 04 08 00 mov BYTE PTR [rax+rcx], 0
|
|
|
|
; 303 :
|
|
; 304 : return output;
|
|
|
|
00195 48 8d 05 00 00
|
|
00 00 lea rax, OFFSET FLAT:?output@?1??MD5String@MD5_L@@QEAAPEADPEAD@Z@4PADA
|
|
$LN8@MD5String:
|
|
|
|
; 305 : }
|
|
|
|
0019c 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
|
001a3 48 33 cd xor rcx, rbp
|
|
001a6 e8 00 00 00 00 call __security_check_cookie
|
|
001ab 48 8d a5 18 01
|
|
00 00 lea rsp, QWORD PTR [rbp+280]
|
|
001b2 5f pop rdi
|
|
001b3 5d pop rbp
|
|
001b4 c3 ret 0
|
|
?MD5String@MD5_L@@QEAAPEADPEAD@Z ENDP ; MD5_L::MD5String
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File D:\Works\Corpsms_2010\public\md53\MD5_L.cpp
|
|
; COMDAT ?MD5String@MD5_L@@QEAAPEADPEAD0@Z
|
|
_TEXT SEGMENT
|
|
context$ = 0
|
|
digest$ = 96
|
|
output1$ = 112
|
|
len$ = 176
|
|
i$ = 180
|
|
__$ArrayPad$ = 248
|
|
this$ = 288
|
|
string$ = 296
|
|
strMD5$ = 304
|
|
?MD5String@MD5_L@@QEAAPEADPEAD0@Z PROC ; MD5_L::MD5String, COMDAT
|
|
|
|
; 309 : {
|
|
|
|
$LN9:
|
|
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000f 55 push rbp
|
|
00010 57 push rdi
|
|
00011 48 81 ec 28 01
|
|
00 00 sub rsp, 296 ; 00000128H
|
|
00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
0001d 48 8b 05 00 00
|
|
00 00 mov rax, QWORD PTR __security_cookie
|
|
00024 48 33 c5 xor rax, rbp
|
|
00027 48 89 85 f8 00
|
|
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
|
|
|
; 310 : MD5_CTX context;
|
|
; 311 : unsigned char digest[16] = { 0 };
|
|
|
|
0002e 48 8d 45 60 lea rax, QWORD PTR digest$[rbp]
|
|
00032 48 8b f8 mov rdi, rax
|
|
00035 33 c0 xor eax, eax
|
|
00037 b9 10 00 00 00 mov ecx, 16
|
|
0003c f3 aa rep stosb
|
|
|
|
; 312 : //char output1[128] = { 0 };
|
|
; 313 : char output1[64] = { 0 };
|
|
|
|
0003e 48 8d 45 70 lea rax, QWORD PTR output1$[rbp]
|
|
00042 48 8b f8 mov rdi, rax
|
|
00045 33 c0 xor eax, eax
|
|
00047 b9 40 00 00 00 mov ecx, 64 ; 00000040H
|
|
0004c f3 aa rep stosb
|
|
|
|
; 314 : unsigned int len = (unsigned int)strlen(string);
|
|
|
|
0004e 48 8b 8d 28 01
|
|
00 00 mov rcx, QWORD PTR string$[rbp]
|
|
00055 e8 00 00 00 00 call strlen
|
|
0005a 89 85 b0 00 00
|
|
00 mov DWORD PTR len$[rbp], eax
|
|
|
|
; 315 : int i;
|
|
; 316 :
|
|
; 317 : MD5Init(&context);
|
|
|
|
00060 48 8d 55 00 lea rdx, QWORD PTR context$[rbp]
|
|
00064 48 8b 8d 20 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0006b e8 00 00 00 00 call ?MD5Init@MD5_L@@QEAAXPEAU_MD5_CTX@1@@Z ; MD5_L::MD5Init
|
|
|
|
; 318 : MD5Update(&context, (unsigned char*)string, len);
|
|
|
|
00070 44 8b 8d b0 00
|
|
00 00 mov r9d, DWORD PTR len$[rbp]
|
|
00077 4c 8b 85 28 01
|
|
00 00 mov r8, QWORD PTR string$[rbp]
|
|
0007e 48 8d 55 00 lea rdx, QWORD PTR context$[rbp]
|
|
00082 48 8b 8d 20 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00089 e8 00 00 00 00 call ?MD5Update@MD5_L@@QEAAXPEAU_MD5_CTX@1@PEAEI@Z ; MD5_L::MD5Update
|
|
|
|
; 319 : MD5Final(digest, &context);
|
|
|
|
0008e 4c 8d 45 00 lea r8, QWORD PTR context$[rbp]
|
|
00092 48 8d 55 60 lea rdx, QWORD PTR digest$[rbp]
|
|
00096 48 8b 8d 20 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0009d e8 00 00 00 00 call ?MD5Final@MD5_L@@QEAAXQEAEPEAU_MD5_CTX@1@@Z ; MD5_L::MD5Final
|
|
|
|
; 320 :
|
|
; 321 : for (i = 0; i < 16; i++)
|
|
|
|
000a2 c7 85 b4 00 00
|
|
00 00 00 00 00 mov DWORD PTR i$[rbp], 0
|
|
000ac eb 0e jmp SHORT $LN4@MD5String
|
|
$LN2@MD5String:
|
|
000ae 8b 85 b4 00 00
|
|
00 mov eax, DWORD PTR i$[rbp]
|
|
000b4 ff c0 inc eax
|
|
000b6 89 85 b4 00 00
|
|
00 mov DWORD PTR i$[rbp], eax
|
|
$LN4@MD5String:
|
|
000bc 83 bd b4 00 00
|
|
00 10 cmp DWORD PTR i$[rbp], 16
|
|
000c3 7d 60 jge SHORT $LN3@MD5String
|
|
|
|
; 322 : {
|
|
; 323 : sprintf(&(output1[2 * i]), "%02X", (unsigned char)digest[i]);
|
|
|
|
000c5 48 63 85 b4 00
|
|
00 00 movsxd rax, DWORD PTR i$[rbp]
|
|
000cc 0f b6 44 05 60 movzx eax, BYTE PTR digest$[rbp+rax]
|
|
000d1 8b 8d b4 00 00
|
|
00 mov ecx, DWORD PTR i$[rbp]
|
|
000d7 03 c9 add ecx, ecx
|
|
000d9 48 63 c9 movsxd rcx, ecx
|
|
000dc 48 8d 4c 0d 70 lea rcx, QWORD PTR output1$[rbp+rcx]
|
|
000e1 44 8b c0 mov r8d, eax
|
|
000e4 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:??_C@_04JFFKLGJF@?$CF02X@
|
|
000eb e8 00 00 00 00 call sprintf
|
|
|
|
; 324 : sprintf(&(output1[2 * i + 1]), "%02X", (unsigned char)(digest[i] << 4));
|
|
|
|
000f0 48 63 85 b4 00
|
|
00 00 movsxd rax, DWORD PTR i$[rbp]
|
|
000f7 0f b6 44 05 60 movzx eax, BYTE PTR digest$[rbp+rax]
|
|
000fc c1 e0 04 shl eax, 4
|
|
000ff 0f b6 c0 movzx eax, al
|
|
00102 8b 8d b4 00 00
|
|
00 mov ecx, DWORD PTR i$[rbp]
|
|
00108 8d 4c 09 01 lea ecx, DWORD PTR [rcx+rcx+1]
|
|
0010c 48 63 c9 movsxd rcx, ecx
|
|
0010f 48 8d 4c 0d 70 lea rcx, QWORD PTR output1$[rbp+rcx]
|
|
00114 44 8b c0 mov r8d, eax
|
|
00117 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:??_C@_04JFFKLGJF@?$CF02X@
|
|
0011e e8 00 00 00 00 call sprintf
|
|
|
|
; 325 : }
|
|
|
|
00123 eb 89 jmp SHORT $LN2@MD5String
|
|
$LN3@MD5String:
|
|
|
|
; 326 : for (i = 0; i<32; i++)
|
|
|
|
00125 c7 85 b4 00 00
|
|
00 00 00 00 00 mov DWORD PTR i$[rbp], 0
|
|
0012f eb 0e jmp SHORT $LN7@MD5String
|
|
$LN5@MD5String:
|
|
00131 8b 85 b4 00 00
|
|
00 mov eax, DWORD PTR i$[rbp]
|
|
00137 ff c0 inc eax
|
|
00139 89 85 b4 00 00
|
|
00 mov DWORD PTR i$[rbp], eax
|
|
$LN7@MD5String:
|
|
0013f 83 bd b4 00 00
|
|
00 20 cmp DWORD PTR i$[rbp], 32 ; 00000020H
|
|
00146 7d 1f jge SHORT $LN6@MD5String
|
|
|
|
; 327 : {
|
|
; 328 : strMD5[i] = output1[i];
|
|
|
|
00148 48 63 85 b4 00
|
|
00 00 movsxd rax, DWORD PTR i$[rbp]
|
|
0014f 48 63 8d b4 00
|
|
00 00 movsxd rcx, DWORD PTR i$[rbp]
|
|
00156 48 8b 95 30 01
|
|
00 00 mov rdx, QWORD PTR strMD5$[rbp]
|
|
0015d 0f b6 44 05 70 movzx eax, BYTE PTR output1$[rbp+rax]
|
|
00162 88 04 0a mov BYTE PTR [rdx+rcx], al
|
|
|
|
; 329 : }
|
|
|
|
00165 eb ca jmp SHORT $LN5@MD5String
|
|
$LN6@MD5String:
|
|
|
|
; 330 : strMD5[32] = 0;
|
|
|
|
00167 b8 01 00 00 00 mov eax, 1
|
|
0016c 48 6b c0 20 imul rax, rax, 32 ; 00000020H
|
|
00170 48 8b 8d 30 01
|
|
00 00 mov rcx, QWORD PTR strMD5$[rbp]
|
|
00177 c6 04 01 00 mov BYTE PTR [rcx+rax], 0
|
|
|
|
; 331 :
|
|
; 332 : return strMD5;
|
|
|
|
0017b 48 8b 85 30 01
|
|
00 00 mov rax, QWORD PTR strMD5$[rbp]
|
|
|
|
; 333 : }
|
|
|
|
00182 48 8b 8d f8 00
|
|
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
|
00189 48 33 cd xor rcx, rbp
|
|
0018c e8 00 00 00 00 call __security_check_cookie
|
|
00191 48 8d a5 08 01
|
|
00 00 lea rsp, QWORD PTR [rbp+264]
|
|
00198 5f pop rdi
|
|
00199 5d pop rbp
|
|
0019a c3 ret 0
|
|
?MD5String@MD5_L@@QEAAPEADPEAD0@Z ENDP ; MD5_L::MD5String
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File D:\Works\Corpsms_2010\public\md53\MD5_L.cpp
|
|
; COMDAT ?StringAddOne@MD5_L@@QEAAXPEAD@Z
|
|
_TEXT SEGMENT
|
|
len$ = 0
|
|
i$ = 4
|
|
n$ = 8
|
|
this$ = 96
|
|
orstring$ = 104
|
|
?StringAddOne@MD5_L@@QEAAXPEAD@Z PROC ; MD5_L::StringAddOne, COMDAT
|
|
|
|
; 339 : {
|
|
|
|
$LN12:
|
|
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000a 55 push rbp
|
|
0000b 48 83 ec 70 sub rsp, 112 ; 00000070H
|
|
0000f 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
|
|
; 340 : unsigned int len;
|
|
; 341 : int i,n;
|
|
; 342 :
|
|
; 343 : len = (unsigned int)strlen(orstring);
|
|
|
|
00014 48 8b 4d 68 mov rcx, QWORD PTR orstring$[rbp]
|
|
00018 e8 00 00 00 00 call strlen
|
|
0001d 89 45 00 mov DWORD PTR len$[rbp], eax
|
|
|
|
; 344 : n = len - 1;
|
|
|
|
00020 8b 45 00 mov eax, DWORD PTR len$[rbp]
|
|
00023 ff c8 dec eax
|
|
00025 89 45 08 mov DWORD PTR n$[rbp], eax
|
|
|
|
; 345 : for(i = n; i >= 0; i--)
|
|
|
|
00028 8b 45 08 mov eax, DWORD PTR n$[rbp]
|
|
0002b 89 45 04 mov DWORD PTR i$[rbp], eax
|
|
0002e eb 08 jmp SHORT $LN4@StringAddO
|
|
$LN2@StringAddO:
|
|
00030 8b 45 04 mov eax, DWORD PTR i$[rbp]
|
|
00033 ff c8 dec eax
|
|
00035 89 45 04 mov DWORD PTR i$[rbp], eax
|
|
$LN4@StringAddO:
|
|
00038 83 7d 04 00 cmp DWORD PTR i$[rbp], 0
|
|
0003c 0f 8c 83 00 00
|
|
00 jl $LN3@StringAddO
|
|
|
|
; 346 : {
|
|
; 347 : if(orstring[i]=='9')
|
|
|
|
00042 48 63 45 04 movsxd rax, DWORD PTR i$[rbp]
|
|
00046 48 8b 4d 68 mov rcx, QWORD PTR orstring$[rbp]
|
|
0004a 0f be 04 01 movsx eax, BYTE PTR [rcx+rax]
|
|
0004e 83 f8 39 cmp eax, 57 ; 00000039H
|
|
00051 75 10 jne SHORT $LN5@StringAddO
|
|
|
|
; 348 : {
|
|
; 349 : orstring[i] = 'A';
|
|
|
|
00053 48 63 45 04 movsxd rax, DWORD PTR i$[rbp]
|
|
00057 48 8b 4d 68 mov rcx, QWORD PTR orstring$[rbp]
|
|
0005b c6 04 01 41 mov BYTE PTR [rcx+rax], 65 ; 00000041H
|
|
|
|
; 350 : break;
|
|
|
|
0005f eb 64 jmp SHORT $LN3@StringAddO
|
|
|
|
; 351 : }
|
|
|
|
00061 eb 5b jmp SHORT $LN6@StringAddO
|
|
$LN5@StringAddO:
|
|
|
|
; 352 : else if(orstring[i]=='Z')
|
|
|
|
00063 48 63 45 04 movsxd rax, DWORD PTR i$[rbp]
|
|
00067 48 8b 4d 68 mov rcx, QWORD PTR orstring$[rbp]
|
|
0006b 0f be 04 01 movsx eax, BYTE PTR [rcx+rax]
|
|
0006f 83 f8 5a cmp eax, 90 ; 0000005aH
|
|
00072 75 10 jne SHORT $LN7@StringAddO
|
|
|
|
; 353 : {
|
|
; 354 : orstring[i]='a';
|
|
|
|
00074 48 63 45 04 movsxd rax, DWORD PTR i$[rbp]
|
|
00078 48 8b 4d 68 mov rcx, QWORD PTR orstring$[rbp]
|
|
0007c c6 04 01 61 mov BYTE PTR [rcx+rax], 97 ; 00000061H
|
|
|
|
; 355 : break;
|
|
|
|
00080 eb 43 jmp SHORT $LN3@StringAddO
|
|
|
|
; 356 : }
|
|
|
|
00082 eb 3a jmp SHORT $LN8@StringAddO
|
|
$LN7@StringAddO:
|
|
|
|
; 357 : else if(orstring[i]=='z')
|
|
|
|
00084 48 63 45 04 movsxd rax, DWORD PTR i$[rbp]
|
|
00088 48 8b 4d 68 mov rcx, QWORD PTR orstring$[rbp]
|
|
0008c 0f be 04 01 movsx eax, BYTE PTR [rcx+rax]
|
|
00090 83 f8 7a cmp eax, 122 ; 0000007aH
|
|
00093 75 10 jne SHORT $LN9@StringAddO
|
|
|
|
; 358 : {
|
|
; 359 : orstring[i]='0';
|
|
|
|
00095 48 63 45 04 movsxd rax, DWORD PTR i$[rbp]
|
|
00099 48 8b 4d 68 mov rcx, QWORD PTR orstring$[rbp]
|
|
0009d c6 04 01 30 mov BYTE PTR [rcx+rax], 48 ; 00000030H
|
|
|
|
; 360 : continue;
|
|
|
|
000a1 eb 8d jmp SHORT $LN2@StringAddO
|
|
|
|
; 361 : }
|
|
|
|
000a3 eb 19 jmp SHORT $LN10@StringAddO
|
|
$LN9@StringAddO:
|
|
|
|
; 362 : else
|
|
; 363 : orstring[i] += 1;
|
|
|
|
000a5 48 63 45 04 movsxd rax, DWORD PTR i$[rbp]
|
|
000a9 48 8b 4d 68 mov rcx, QWORD PTR orstring$[rbp]
|
|
000ad 0f be 04 01 movsx eax, BYTE PTR [rcx+rax]
|
|
000b1 ff c0 inc eax
|
|
000b3 48 63 4d 04 movsxd rcx, DWORD PTR i$[rbp]
|
|
000b7 48 8b 55 68 mov rdx, QWORD PTR orstring$[rbp]
|
|
000bb 88 04 0a mov BYTE PTR [rdx+rcx], al
|
|
$LN10@StringAddO:
|
|
$LN8@StringAddO:
|
|
$LN6@StringAddO:
|
|
|
|
; 364 : break;
|
|
|
|
000be eb 05 jmp SHORT $LN3@StringAddO
|
|
|
|
; 365 : }
|
|
|
|
000c0 e9 6b ff ff ff jmp $LN2@StringAddO
|
|
$LN3@StringAddO:
|
|
|
|
; 366 : }
|
|
|
|
000c5 48 8d 65 50 lea rsp, QWORD PTR [rbp+80]
|
|
000c9 5d pop rbp
|
|
000ca c3 ret 0
|
|
?StringAddOne@MD5_L@@QEAAXPEAD@Z ENDP ; MD5_L::StringAddOne
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File D:\Works\Corpsms_2010\public\md53\MD5_L.cpp
|
|
; COMDAT ?MD5Final@MD5_L@@QEAAXQEAEPEAU_MD5_CTX@1@@Z
|
|
_TEXT SEGMENT
|
|
bits$ = 0
|
|
index$ = 8
|
|
padLen$ = 12
|
|
tv77 = 80
|
|
__$ArrayPad$ = 88
|
|
this$ = 112
|
|
digest$ = 120
|
|
context$ = 128
|
|
?MD5Final@MD5_L@@QEAAXQEAEPEAU_MD5_CTX@1@@Z PROC ; MD5_L::MD5Final, COMDAT
|
|
|
|
; 75 : {
|
|
|
|
$LN5:
|
|
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000f 55 push rbp
|
|
00010 48 81 ec 80 00
|
|
00 00 sub rsp, 128 ; 00000080H
|
|
00017 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
0001c 48 8b 05 00 00
|
|
00 00 mov rax, QWORD PTR __security_cookie
|
|
00023 48 33 c5 xor rax, rbp
|
|
00026 48 89 45 58 mov QWORD PTR __$ArrayPad$[rbp], rax
|
|
|
|
; 76 : unsigned char bits[8];
|
|
; 77 : unsigned int index, padLen;
|
|
; 78 :
|
|
; 79 : /* Save number of bits */
|
|
; 80 : Encode (bits, context->count, 8);
|
|
|
|
0002a 48 8b 85 80 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
00031 48 83 c0 10 add rax, 16
|
|
00035 41 b9 08 00 00
|
|
00 mov r9d, 8
|
|
0003b 4c 8b c0 mov r8, rax
|
|
0003e 48 8d 55 00 lea rdx, QWORD PTR bits$[rbp]
|
|
00042 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp]
|
|
00046 e8 00 00 00 00 call ?Encode@MD5_L@@QEAAXPEAEPEAKI@Z ; MD5_L::Encode
|
|
|
|
; 81 :
|
|
; 82 : /* Pad out to 56 mod 64.
|
|
; 83 : */
|
|
; 84 : index = (unsigned int)((context->count[0] >> 3) & 0x3f);
|
|
|
|
0004b b8 04 00 00 00 mov eax, 4
|
|
00050 48 6b c0 00 imul rax, rax, 0
|
|
00054 48 8b 8d 80 00
|
|
00 00 mov rcx, QWORD PTR context$[rbp]
|
|
0005b 8b 44 01 10 mov eax, DWORD PTR [rcx+rax+16]
|
|
0005f c1 e8 03 shr eax, 3
|
|
00062 83 e0 3f and eax, 63 ; 0000003fH
|
|
00065 89 45 08 mov DWORD PTR index$[rbp], eax
|
|
|
|
; 85 : padLen = (index < 56) ? (56 - index) : (120 - index);
|
|
|
|
00068 83 7d 08 38 cmp DWORD PTR index$[rbp], 56 ; 00000038H
|
|
0006c 73 0d jae SHORT $LN3@MD5Final
|
|
0006e b8 38 00 00 00 mov eax, 56 ; 00000038H
|
|
00073 2b 45 08 sub eax, DWORD PTR index$[rbp]
|
|
00076 89 45 50 mov DWORD PTR tv77[rbp], eax
|
|
00079 eb 0b jmp SHORT $LN4@MD5Final
|
|
$LN3@MD5Final:
|
|
0007b b8 78 00 00 00 mov eax, 120 ; 00000078H
|
|
00080 2b 45 08 sub eax, DWORD PTR index$[rbp]
|
|
00083 89 45 50 mov DWORD PTR tv77[rbp], eax
|
|
$LN4@MD5Final:
|
|
00086 8b 45 50 mov eax, DWORD PTR tv77[rbp]
|
|
00089 89 45 0c mov DWORD PTR padLen$[rbp], eax
|
|
|
|
; 86 : MD5Update (context, PADDING, padLen);
|
|
|
|
0008c 48 8b 45 70 mov rax, QWORD PTR this$[rbp]
|
|
00090 44 8b 4d 0c mov r9d, DWORD PTR padLen$[rbp]
|
|
00094 4c 8b c0 mov r8, rax
|
|
00097 48 8b 95 80 00
|
|
00 00 mov rdx, QWORD PTR context$[rbp]
|
|
0009e 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp]
|
|
000a2 e8 00 00 00 00 call ?MD5Update@MD5_L@@QEAAXPEAU_MD5_CTX@1@PEAEI@Z ; MD5_L::MD5Update
|
|
|
|
; 87 :
|
|
; 88 : /* Append length (before padding) */
|
|
; 89 : MD5Update (context, bits, 8);
|
|
|
|
000a7 41 b9 08 00 00
|
|
00 mov r9d, 8
|
|
000ad 4c 8d 45 00 lea r8, QWORD PTR bits$[rbp]
|
|
000b1 48 8b 95 80 00
|
|
00 00 mov rdx, QWORD PTR context$[rbp]
|
|
000b8 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp]
|
|
000bc e8 00 00 00 00 call ?MD5Update@MD5_L@@QEAAXPEAU_MD5_CTX@1@PEAEI@Z ; MD5_L::MD5Update
|
|
|
|
; 90 :
|
|
; 91 : /* Store state in digest */
|
|
; 92 : Encode (digest, context->state, 16);
|
|
|
|
000c1 48 8b 85 80 00
|
|
00 00 mov rax, QWORD PTR context$[rbp]
|
|
000c8 41 b9 10 00 00
|
|
00 mov r9d, 16
|
|
000ce 4c 8b c0 mov r8, rax
|
|
000d1 48 8b 55 78 mov rdx, QWORD PTR digest$[rbp]
|
|
000d5 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp]
|
|
000d9 e8 00 00 00 00 call ?Encode@MD5_L@@QEAAXPEAEPEAKI@Z ; MD5_L::Encode
|
|
|
|
; 93 :
|
|
; 94 : /* Zeroize sensitive information.
|
|
; 95 : */
|
|
; 96 : MD5_memset ((POINTER)context, 0, sizeof (*context));
|
|
|
|
000de 41 b9 58 00 00
|
|
00 mov r9d, 88 ; 00000058H
|
|
000e4 45 33 c0 xor r8d, r8d
|
|
000e7 48 8b 95 80 00
|
|
00 00 mov rdx, QWORD PTR context$[rbp]
|
|
000ee 48 8b 4d 70 mov rcx, QWORD PTR this$[rbp]
|
|
000f2 e8 00 00 00 00 call ?MD5_memset@MD5_L@@QEAAXPEAEHI@Z ; MD5_L::MD5_memset
|
|
|
|
; 97 : }
|
|
|
|
000f7 48 8b 4d 58 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
|
000fb 48 33 cd xor rcx, rbp
|
|
000fe e8 00 00 00 00 call __security_check_cookie
|
|
00103 48 8d 65 60 lea rsp, QWORD PTR [rbp+96]
|
|
00107 5d pop rbp
|
|
00108 c3 ret 0
|
|
?MD5Final@MD5_L@@QEAAXQEAEPEAU_MD5_CTX@1@@Z ENDP ; MD5_L::MD5Final
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File D:\Works\Corpsms_2010\public\md53\MD5_L.cpp
|
|
; COMDAT ?MD5Update@MD5_L@@QEAAXPEAU_MD5_CTX@1@PEAEI@Z
|
|
_TEXT SEGMENT
|
|
i$ = 0
|
|
index$ = 4
|
|
partLen$ = 8
|
|
tv76 = 76
|
|
this$ = 96
|
|
context$ = 104
|
|
input$ = 112
|
|
inputLen$ = 120
|
|
?MD5Update@MD5_L@@QEAAXPEAU_MD5_CTX@1@PEAEI@Z PROC ; MD5_L::MD5Update, COMDAT
|
|
|
|
; 33 : {
|
|
|
|
$LN9:
|
|
00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d
|
|
00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
|
0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00014 55 push rbp
|
|
00015 48 83 ec 70 sub rsp, 112 ; 00000070H
|
|
00019 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
|
|
; 34 : unsigned int i, index, partLen;
|
|
; 35 :
|
|
; 36 : /* Compute number of bytes mod 64 */
|
|
; 37 : index = (unsigned int)((context->count[0] >> 3) & 0x3F);
|
|
|
|
0001e b8 04 00 00 00 mov eax, 4
|
|
00023 48 6b c0 00 imul rax, rax, 0
|
|
00027 48 8b 4d 68 mov rcx, QWORD PTR context$[rbp]
|
|
0002b 8b 44 01 10 mov eax, DWORD PTR [rcx+rax+16]
|
|
0002f c1 e8 03 shr eax, 3
|
|
00032 83 e0 3f and eax, 63 ; 0000003fH
|
|
00035 89 45 04 mov DWORD PTR index$[rbp], eax
|
|
|
|
; 38 :
|
|
; 39 : /* Update number of bits */
|
|
; 40 : if ((context->count[0] += ((UINT4)inputLen << 3))
|
|
; 41 : < ((UINT4)inputLen << 3))
|
|
|
|
00038 8b 45 78 mov eax, DWORD PTR inputLen$[rbp]
|
|
0003b c1 e0 03 shl eax, 3
|
|
0003e b9 04 00 00 00 mov ecx, 4
|
|
00043 48 6b c9 00 imul rcx, rcx, 0
|
|
00047 48 8b 55 68 mov rdx, QWORD PTR context$[rbp]
|
|
0004b 8b 4c 0a 10 mov ecx, DWORD PTR [rdx+rcx+16]
|
|
0004f 03 c8 add ecx, eax
|
|
00051 89 4d 4c mov DWORD PTR tv76[rbp], ecx
|
|
00054 b8 04 00 00 00 mov eax, 4
|
|
00059 48 6b c0 00 imul rax, rax, 0
|
|
0005d 48 8b 4d 68 mov rcx, QWORD PTR context$[rbp]
|
|
00061 8b 55 4c mov edx, DWORD PTR tv76[rbp]
|
|
00064 89 54 01 10 mov DWORD PTR [rcx+rax+16], edx
|
|
00068 8b 45 78 mov eax, DWORD PTR inputLen$[rbp]
|
|
0006b c1 e0 03 shl eax, 3
|
|
0006e 39 45 4c cmp DWORD PTR tv76[rbp], eax
|
|
00071 73 24 jae SHORT $LN5@MD5Update
|
|
|
|
; 42 : context->count[1]++;
|
|
|
|
00073 b8 04 00 00 00 mov eax, 4
|
|
00078 48 6b c0 01 imul rax, rax, 1
|
|
0007c 48 8b 4d 68 mov rcx, QWORD PTR context$[rbp]
|
|
00080 8b 44 01 10 mov eax, DWORD PTR [rcx+rax+16]
|
|
00084 ff c0 inc eax
|
|
00086 b9 04 00 00 00 mov ecx, 4
|
|
0008b 48 6b c9 01 imul rcx, rcx, 1
|
|
0008f 48 8b 55 68 mov rdx, QWORD PTR context$[rbp]
|
|
00093 89 44 0a 10 mov DWORD PTR [rdx+rcx+16], eax
|
|
$LN5@MD5Update:
|
|
|
|
; 43 : context->count[1] += ((UINT4)inputLen >> 29);
|
|
|
|
00097 8b 45 78 mov eax, DWORD PTR inputLen$[rbp]
|
|
0009a c1 e8 1d shr eax, 29
|
|
0009d b9 04 00 00 00 mov ecx, 4
|
|
000a2 48 6b c9 01 imul rcx, rcx, 1
|
|
000a6 48 8b 55 68 mov rdx, QWORD PTR context$[rbp]
|
|
000aa 03 44 0a 10 add eax, DWORD PTR [rdx+rcx+16]
|
|
000ae b9 04 00 00 00 mov ecx, 4
|
|
000b3 48 6b c9 01 imul rcx, rcx, 1
|
|
000b7 48 8b 55 68 mov rdx, QWORD PTR context$[rbp]
|
|
000bb 89 44 0a 10 mov DWORD PTR [rdx+rcx+16], eax
|
|
|
|
; 44 :
|
|
; 45 : partLen = 64 - index;
|
|
|
|
000bf b8 40 00 00 00 mov eax, 64 ; 00000040H
|
|
000c4 2b 45 04 sub eax, DWORD PTR index$[rbp]
|
|
000c7 89 45 08 mov DWORD PTR partLen$[rbp], eax
|
|
|
|
; 46 :
|
|
; 47 : /* Transform as many times as possible.
|
|
; 48 : */
|
|
; 49 : if (inputLen >= partLen) {
|
|
|
|
000ca 8b 45 08 mov eax, DWORD PTR partLen$[rbp]
|
|
000cd 39 45 78 cmp DWORD PTR inputLen$[rbp], eax
|
|
000d0 0f 82 82 00 00
|
|
00 jb $LN6@MD5Update
|
|
|
|
; 50 : MD5_memcpy
|
|
|
|
000d6 8b 45 04 mov eax, DWORD PTR index$[rbp]
|
|
000d9 48 8b 4d 68 mov rcx, QWORD PTR context$[rbp]
|
|
000dd 48 8d 44 01 18 lea rax, QWORD PTR [rcx+rax+24]
|
|
000e2 44 8b 4d 08 mov r9d, DWORD PTR partLen$[rbp]
|
|
000e6 4c 8b 45 70 mov r8, QWORD PTR input$[rbp]
|
|
000ea 48 8b d0 mov rdx, rax
|
|
000ed 48 8b 4d 60 mov rcx, QWORD PTR this$[rbp]
|
|
000f1 e8 00 00 00 00 call ?MD5_memcpy@MD5_L@@QEAAXPEAE0I@Z ; MD5_L::MD5_memcpy
|
|
|
|
; 51 : ((POINTER)&context->buffer[index], (POINTER)input, partLen);
|
|
; 52 : MD5Transform (context->state, context->buffer);
|
|
|
|
000f6 48 8b 45 68 mov rax, QWORD PTR context$[rbp]
|
|
000fa 48 83 c0 18 add rax, 24
|
|
000fe 48 8b 4d 68 mov rcx, QWORD PTR context$[rbp]
|
|
00102 4c 8b c0 mov r8, rax
|
|
00105 48 8b d1 mov rdx, rcx
|
|
00108 48 8b 4d 60 mov rcx, QWORD PTR this$[rbp]
|
|
0010c e8 00 00 00 00 call ?MD5Transform@MD5_L@@QEAAXQEAKQEAE@Z ; MD5_L::MD5Transform
|
|
|
|
; 53 :
|
|
; 54 : for (i = partLen; i + 63 < inputLen; i += 64)
|
|
|
|
00111 8b 45 08 mov eax, DWORD PTR partLen$[rbp]
|
|
00114 89 45 00 mov DWORD PTR i$[rbp], eax
|
|
00117 eb 09 jmp SHORT $LN4@MD5Update
|
|
$LN2@MD5Update:
|
|
00119 8b 45 00 mov eax, DWORD PTR i$[rbp]
|
|
0011c 83 c0 40 add eax, 64 ; 00000040H
|
|
0011f 89 45 00 mov DWORD PTR i$[rbp], eax
|
|
$LN4@MD5Update:
|
|
00122 8b 45 00 mov eax, DWORD PTR i$[rbp]
|
|
00125 83 c0 3f add eax, 63 ; 0000003fH
|
|
00128 3b 45 78 cmp eax, DWORD PTR inputLen$[rbp]
|
|
0012b 73 22 jae SHORT $LN3@MD5Update
|
|
|
|
; 55 : MD5Transform (context->state, &input[i]);
|
|
|
|
0012d 8b 45 00 mov eax, DWORD PTR i$[rbp]
|
|
00130 48 8b 4d 70 mov rcx, QWORD PTR input$[rbp]
|
|
00134 48 03 c8 add rcx, rax
|
|
00137 48 8b c1 mov rax, rcx
|
|
0013a 48 8b 4d 68 mov rcx, QWORD PTR context$[rbp]
|
|
0013e 4c 8b c0 mov r8, rax
|
|
00141 48 8b d1 mov rdx, rcx
|
|
00144 48 8b 4d 60 mov rcx, QWORD PTR this$[rbp]
|
|
00148 e8 00 00 00 00 call ?MD5Transform@MD5_L@@QEAAXQEAKQEAE@Z ; MD5_L::MD5Transform
|
|
0014d eb ca jmp SHORT $LN2@MD5Update
|
|
$LN3@MD5Update:
|
|
|
|
; 56 :
|
|
; 57 : index = 0;
|
|
|
|
0014f c7 45 04 00 00
|
|
00 00 mov DWORD PTR index$[rbp], 0
|
|
|
|
; 58 : }
|
|
|
|
00156 eb 07 jmp SHORT $LN7@MD5Update
|
|
$LN6@MD5Update:
|
|
|
|
; 59 : else
|
|
; 60 : i = 0;
|
|
|
|
00158 c7 45 00 00 00
|
|
00 00 mov DWORD PTR i$[rbp], 0
|
|
$LN7@MD5Update:
|
|
|
|
; 61 :
|
|
; 62 : /* Buffer remaining input */
|
|
; 63 : MD5_memcpy
|
|
|
|
0015f 8b 45 00 mov eax, DWORD PTR i$[rbp]
|
|
00162 8b 4d 78 mov ecx, DWORD PTR inputLen$[rbp]
|
|
00165 2b c8 sub ecx, eax
|
|
00167 8b c1 mov eax, ecx
|
|
00169 8b 4d 00 mov ecx, DWORD PTR i$[rbp]
|
|
0016c 48 8b 55 70 mov rdx, QWORD PTR input$[rbp]
|
|
00170 48 03 d1 add rdx, rcx
|
|
00173 48 8b ca mov rcx, rdx
|
|
00176 8b 55 04 mov edx, DWORD PTR index$[rbp]
|
|
00179 4c 8b 45 68 mov r8, QWORD PTR context$[rbp]
|
|
0017d 49 8d 54 10 18 lea rdx, QWORD PTR [r8+rdx+24]
|
|
00182 44 8b c8 mov r9d, eax
|
|
00185 4c 8b c1 mov r8, rcx
|
|
00188 48 8b 4d 60 mov rcx, QWORD PTR this$[rbp]
|
|
0018c e8 00 00 00 00 call ?MD5_memcpy@MD5_L@@QEAAXPEAE0I@Z ; MD5_L::MD5_memcpy
|
|
|
|
; 64 : ((POINTER)&context->buffer[index], (POINTER)&input[i],
|
|
; 65 : inputLen-i);
|
|
; 66 : }
|
|
|
|
00191 48 8d 65 50 lea rsp, QWORD PTR [rbp+80]
|
|
00195 5d pop rbp
|
|
00196 c3 ret 0
|
|
?MD5Update@MD5_L@@QEAAXPEAU_MD5_CTX@1@PEAEI@Z ENDP ; MD5_L::MD5Update
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File D:\Works\Corpsms_2010\public\md53\MD5_L.cpp
|
|
; COMDAT ?MD5Init@MD5_L@@QEAAXPEAU_MD5_CTX@1@@Z
|
|
_TEXT SEGMENT
|
|
this$ = 80
|
|
context$ = 88
|
|
?MD5Init@MD5_L@@QEAAXPEAU_MD5_CTX@1@@Z PROC ; MD5_L::MD5Init, COMDAT
|
|
|
|
; 14 : {
|
|
|
|
$LN3:
|
|
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000a 55 push rbp
|
|
0000b 48 83 ec 40 sub rsp, 64 ; 00000040H
|
|
0000f 48 8b ec mov rbp, rsp
|
|
|
|
; 15 : context->count[0] = context->count[1] = 0;
|
|
|
|
00012 b8 04 00 00 00 mov eax, 4
|
|
00017 48 6b c0 01 imul rax, rax, 1
|
|
0001b 48 8b 4d 58 mov rcx, QWORD PTR context$[rbp]
|
|
0001f c7 44 01 10 00
|
|
00 00 00 mov DWORD PTR [rcx+rax+16], 0
|
|
00027 b8 04 00 00 00 mov eax, 4
|
|
0002c 48 6b c0 00 imul rax, rax, 0
|
|
00030 48 8b 4d 58 mov rcx, QWORD PTR context$[rbp]
|
|
00034 c7 44 01 10 00
|
|
00 00 00 mov DWORD PTR [rcx+rax+16], 0
|
|
|
|
; 16 : /* Load magic initialization constants.
|
|
; 17 : */
|
|
; 18 : context->state[0] = 0x67452301;
|
|
|
|
0003c b8 04 00 00 00 mov eax, 4
|
|
00041 48 6b c0 00 imul rax, rax, 0
|
|
00045 48 8b 4d 58 mov rcx, QWORD PTR context$[rbp]
|
|
00049 c7 04 01 01 23
|
|
45 67 mov DWORD PTR [rcx+rax], 1732584193 ; 67452301H
|
|
|
|
; 19 : context->state[1] = 0xefcdab89;
|
|
|
|
00050 b8 04 00 00 00 mov eax, 4
|
|
00055 48 6b c0 01 imul rax, rax, 1
|
|
00059 48 8b 4d 58 mov rcx, QWORD PTR context$[rbp]
|
|
0005d c7 04 01 89 ab
|
|
cd ef mov DWORD PTR [rcx+rax], -271733879 ; efcdab89H
|
|
|
|
; 20 : context->state[2] = 0x98badcfe;
|
|
|
|
00064 b8 04 00 00 00 mov eax, 4
|
|
00069 48 6b c0 02 imul rax, rax, 2
|
|
0006d 48 8b 4d 58 mov rcx, QWORD PTR context$[rbp]
|
|
00071 c7 04 01 fe dc
|
|
ba 98 mov DWORD PTR [rcx+rax], -1732584194 ; 98badcfeH
|
|
|
|
; 21 : context->state[3] = 0x10325476;
|
|
|
|
00078 b8 04 00 00 00 mov eax, 4
|
|
0007d 48 6b c0 03 imul rax, rax, 3
|
|
00081 48 8b 4d 58 mov rcx, QWORD PTR context$[rbp]
|
|
00085 c7 04 01 76 54
|
|
32 10 mov DWORD PTR [rcx+rax], 271733878 ; 10325476H
|
|
|
|
; 22 : }
|
|
|
|
0008c 48 8d 65 40 lea rsp, QWORD PTR [rbp+64]
|
|
00090 5d pop rbp
|
|
00091 c3 ret 0
|
|
?MD5Init@MD5_L@@QEAAXPEAU_MD5_CTX@1@@Z ENDP ; MD5_L::MD5Init
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File D:\Works\Corpsms_2010\public\md53\MD5_L.cpp
|
|
; COMDAT ?MD5_memset@MD5_L@@QEAAXPEAEHI@Z
|
|
_TEXT SEGMENT
|
|
i$ = 0
|
|
this$ = 96
|
|
output$ = 104
|
|
value$ = 112
|
|
len$ = 120
|
|
?MD5_memset@MD5_L@@QEAAXPEAEHI@Z PROC ; MD5_L::MD5_memset, COMDAT
|
|
|
|
; 248 : {
|
|
|
|
$LN6:
|
|
00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d
|
|
00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d
|
|
0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00014 55 push rbp
|
|
00015 48 83 ec 50 sub rsp, 80 ; 00000050H
|
|
00019 48 8b ec mov rbp, rsp
|
|
|
|
; 249 : unsigned int i;
|
|
; 250 :
|
|
; 251 : for (i = 0; i < len; i++)
|
|
|
|
0001c c7 45 00 00 00
|
|
00 00 mov DWORD PTR i$[rbp], 0
|
|
00023 eb 08 jmp SHORT $LN4@MD5_memset
|
|
$LN2@MD5_memset:
|
|
00025 8b 45 00 mov eax, DWORD PTR i$[rbp]
|
|
00028 ff c0 inc eax
|
|
0002a 89 45 00 mov DWORD PTR i$[rbp], eax
|
|
$LN4@MD5_memset:
|
|
0002d 8b 45 78 mov eax, DWORD PTR len$[rbp]
|
|
00030 39 45 00 cmp DWORD PTR i$[rbp], eax
|
|
00033 73 10 jae SHORT $LN3@MD5_memset
|
|
|
|
; 252 : ((char *)output)[i] = (char)value;
|
|
|
|
00035 8b 45 00 mov eax, DWORD PTR i$[rbp]
|
|
00038 48 8b 4d 68 mov rcx, QWORD PTR output$[rbp]
|
|
0003c 0f b6 55 70 movzx edx, BYTE PTR value$[rbp]
|
|
00040 88 14 01 mov BYTE PTR [rcx+rax], dl
|
|
00043 eb e0 jmp SHORT $LN2@MD5_memset
|
|
$LN3@MD5_memset:
|
|
|
|
; 253 : }
|
|
|
|
00045 48 8d 65 50 lea rsp, QWORD PTR [rbp+80]
|
|
00049 5d pop rbp
|
|
0004a c3 ret 0
|
|
?MD5_memset@MD5_L@@QEAAXPEAEHI@Z ENDP ; MD5_L::MD5_memset
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File D:\Works\Corpsms_2010\public\md53\MD5_L.cpp
|
|
; COMDAT ?MD5_memcpy@MD5_L@@QEAAXPEAE0I@Z
|
|
_TEXT SEGMENT
|
|
i$ = 0
|
|
this$ = 96
|
|
output$ = 104
|
|
input$ = 112
|
|
len$ = 120
|
|
?MD5_memcpy@MD5_L@@QEAAXPEAE0I@Z PROC ; MD5_L::MD5_memcpy, COMDAT
|
|
|
|
; 234 : {
|
|
|
|
$LN6:
|
|
00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d
|
|
00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
|
0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00014 55 push rbp
|
|
00015 48 83 ec 50 sub rsp, 80 ; 00000050H
|
|
00019 48 8b ec mov rbp, rsp
|
|
|
|
; 235 : unsigned int i;
|
|
; 236 :
|
|
; 237 : for (i = 0; i < len; i++)
|
|
|
|
0001c c7 45 00 00 00
|
|
00 00 mov DWORD PTR i$[rbp], 0
|
|
00023 eb 08 jmp SHORT $LN4@MD5_memcpy
|
|
$LN2@MD5_memcpy:
|
|
00025 8b 45 00 mov eax, DWORD PTR i$[rbp]
|
|
00028 ff c0 inc eax
|
|
0002a 89 45 00 mov DWORD PTR i$[rbp], eax
|
|
$LN4@MD5_memcpy:
|
|
0002d 8b 45 78 mov eax, DWORD PTR len$[rbp]
|
|
00030 39 45 00 cmp DWORD PTR i$[rbp], eax
|
|
00033 73 18 jae SHORT $LN3@MD5_memcpy
|
|
|
|
; 238 : output[i] = input[i];
|
|
|
|
00035 8b 45 00 mov eax, DWORD PTR i$[rbp]
|
|
00038 8b 4d 00 mov ecx, DWORD PTR i$[rbp]
|
|
0003b 48 8b 55 68 mov rdx, QWORD PTR output$[rbp]
|
|
0003f 4c 8b 45 70 mov r8, QWORD PTR input$[rbp]
|
|
00043 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax]
|
|
00048 88 04 0a mov BYTE PTR [rdx+rcx], al
|
|
0004b eb d8 jmp SHORT $LN2@MD5_memcpy
|
|
$LN3@MD5_memcpy:
|
|
|
|
; 239 : }
|
|
|
|
0004d 48 8d 65 50 lea rsp, QWORD PTR [rbp+80]
|
|
00051 5d pop rbp
|
|
00052 c3 ret 0
|
|
?MD5_memcpy@MD5_L@@QEAAXPEAE0I@Z ENDP ; MD5_L::MD5_memcpy
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File D:\Works\Corpsms_2010\public\md53\MD5_L.cpp
|
|
; COMDAT ?Decode@MD5_L@@QEAAXPEAKPEAEI@Z
|
|
_TEXT SEGMENT
|
|
i$ = 0
|
|
j$ = 4
|
|
this$ = 96
|
|
output$ = 104
|
|
input$ = 112
|
|
len$ = 120
|
|
?Decode@MD5_L@@QEAAXPEAKPEAEI@Z PROC ; MD5_L::Decode, COMDAT
|
|
|
|
; 219 : {
|
|
|
|
$LN6:
|
|
00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d
|
|
00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
|
0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00014 55 push rbp
|
|
00015 48 83 ec 50 sub rsp, 80 ; 00000050H
|
|
00019 48 8b ec mov rbp, rsp
|
|
|
|
; 220 : unsigned int i, j;
|
|
; 221 :
|
|
; 222 : for (i = 0, j = 0; j < len; i++, j += 4)
|
|
|
|
0001c c7 45 00 00 00
|
|
00 00 mov DWORD PTR i$[rbp], 0
|
|
00023 c7 45 04 00 00
|
|
00 00 mov DWORD PTR j$[rbp], 0
|
|
0002a eb 11 jmp SHORT $LN4@Decode
|
|
$LN2@Decode:
|
|
0002c 8b 45 00 mov eax, DWORD PTR i$[rbp]
|
|
0002f ff c0 inc eax
|
|
00031 89 45 00 mov DWORD PTR i$[rbp], eax
|
|
00034 8b 45 04 mov eax, DWORD PTR j$[rbp]
|
|
00037 83 c0 04 add eax, 4
|
|
0003a 89 45 04 mov DWORD PTR j$[rbp], eax
|
|
$LN4@Decode:
|
|
0003d 8b 45 78 mov eax, DWORD PTR len$[rbp]
|
|
00040 39 45 04 cmp DWORD PTR j$[rbp], eax
|
|
00043 73 55 jae SHORT $LN3@Decode
|
|
|
|
; 223 : output[i] = ((UINT4)input[j]) | (((UINT4)input[j+1]) << 8) |
|
|
|
|
00045 8b 45 04 mov eax, DWORD PTR j$[rbp]
|
|
00048 48 8b 4d 70 mov rcx, QWORD PTR input$[rbp]
|
|
0004c 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax]
|
|
00050 8b 4d 04 mov ecx, DWORD PTR j$[rbp]
|
|
00053 ff c1 inc ecx
|
|
00055 8b c9 mov ecx, ecx
|
|
00057 48 8b 55 70 mov rdx, QWORD PTR input$[rbp]
|
|
0005b 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx]
|
|
0005f c1 e1 08 shl ecx, 8
|
|
00062 0b c1 or eax, ecx
|
|
00064 8b 4d 04 mov ecx, DWORD PTR j$[rbp]
|
|
00067 83 c1 02 add ecx, 2
|
|
0006a 8b c9 mov ecx, ecx
|
|
0006c 48 8b 55 70 mov rdx, QWORD PTR input$[rbp]
|
|
00070 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx]
|
|
00074 c1 e1 10 shl ecx, 16
|
|
00077 0b c1 or eax, ecx
|
|
00079 8b 4d 04 mov ecx, DWORD PTR j$[rbp]
|
|
0007c 83 c1 03 add ecx, 3
|
|
0007f 8b c9 mov ecx, ecx
|
|
00081 48 8b 55 70 mov rdx, QWORD PTR input$[rbp]
|
|
00085 0f b6 0c 0a movzx ecx, BYTE PTR [rdx+rcx]
|
|
00089 c1 e1 18 shl ecx, 24
|
|
0008c 0b c1 or eax, ecx
|
|
0008e 8b 4d 00 mov ecx, DWORD PTR i$[rbp]
|
|
00091 48 8b 55 68 mov rdx, QWORD PTR output$[rbp]
|
|
00095 89 04 8a mov DWORD PTR [rdx+rcx*4], eax
|
|
00098 eb 92 jmp SHORT $LN2@Decode
|
|
$LN3@Decode:
|
|
|
|
; 224 : (((UINT4)input[j+2]) << 16) | (((UINT4)input[j+3]) << 24);
|
|
; 225 : }
|
|
|
|
0009a 48 8d 65 50 lea rsp, QWORD PTR [rbp+80]
|
|
0009e 5d pop rbp
|
|
0009f c3 ret 0
|
|
?Decode@MD5_L@@QEAAXPEAKPEAEI@Z ENDP ; MD5_L::Decode
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File D:\Works\Corpsms_2010\public\md53\MD5_L.cpp
|
|
; COMDAT ?Encode@MD5_L@@QEAAXPEAEPEAKI@Z
|
|
_TEXT SEGMENT
|
|
i$ = 0
|
|
j$ = 4
|
|
this$ = 96
|
|
output$ = 104
|
|
input$ = 112
|
|
len$ = 120
|
|
?Encode@MD5_L@@QEAAXPEAEPEAKI@Z PROC ; MD5_L::Encode, COMDAT
|
|
|
|
; 200 : {
|
|
|
|
$LN6:
|
|
00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d
|
|
00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
|
0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00014 55 push rbp
|
|
00015 48 83 ec 50 sub rsp, 80 ; 00000050H
|
|
00019 48 8b ec mov rbp, rsp
|
|
|
|
; 201 : unsigned int i, j;
|
|
; 202 :
|
|
; 203 : for (i = 0, j = 0; j < len; i++, j += 4) {
|
|
|
|
0001c c7 45 00 00 00
|
|
00 00 mov DWORD PTR i$[rbp], 0
|
|
00023 c7 45 04 00 00
|
|
00 00 mov DWORD PTR j$[rbp], 0
|
|
0002a eb 11 jmp SHORT $LN4@Encode
|
|
$LN2@Encode:
|
|
0002c 8b 45 00 mov eax, DWORD PTR i$[rbp]
|
|
0002f ff c0 inc eax
|
|
00031 89 45 00 mov DWORD PTR i$[rbp], eax
|
|
00034 8b 45 04 mov eax, DWORD PTR j$[rbp]
|
|
00037 83 c0 04 add eax, 4
|
|
0003a 89 45 04 mov DWORD PTR j$[rbp], eax
|
|
$LN4@Encode:
|
|
0003d 8b 45 78 mov eax, DWORD PTR len$[rbp]
|
|
00040 39 45 04 cmp DWORD PTR j$[rbp], eax
|
|
00043 0f 83 80 00 00
|
|
00 jae $LN3@Encode
|
|
|
|
; 204 : output[j] = (unsigned char)(input[i] & 0xff);
|
|
|
|
00049 8b 45 00 mov eax, DWORD PTR i$[rbp]
|
|
0004c 48 8b 4d 70 mov rcx, QWORD PTR input$[rbp]
|
|
00050 8b 04 81 mov eax, DWORD PTR [rcx+rax*4]
|
|
00053 25 ff 00 00 00 and eax, 255 ; 000000ffH
|
|
00058 8b 4d 04 mov ecx, DWORD PTR j$[rbp]
|
|
0005b 48 8b 55 68 mov rdx, QWORD PTR output$[rbp]
|
|
0005f 88 04 0a mov BYTE PTR [rdx+rcx], al
|
|
|
|
; 205 : output[j+1] = (unsigned char)((input[i] >> 8) & 0xff);
|
|
|
|
00062 8b 45 00 mov eax, DWORD PTR i$[rbp]
|
|
00065 48 8b 4d 70 mov rcx, QWORD PTR input$[rbp]
|
|
00069 8b 04 81 mov eax, DWORD PTR [rcx+rax*4]
|
|
0006c c1 e8 08 shr eax, 8
|
|
0006f 25 ff 00 00 00 and eax, 255 ; 000000ffH
|
|
00074 8b 4d 04 mov ecx, DWORD PTR j$[rbp]
|
|
00077 ff c1 inc ecx
|
|
00079 8b c9 mov ecx, ecx
|
|
0007b 48 8b 55 68 mov rdx, QWORD PTR output$[rbp]
|
|
0007f 88 04 0a mov BYTE PTR [rdx+rcx], al
|
|
|
|
; 206 : output[j+2] = (unsigned char)((input[i] >> 16) & 0xff);
|
|
|
|
00082 8b 45 00 mov eax, DWORD PTR i$[rbp]
|
|
00085 48 8b 4d 70 mov rcx, QWORD PTR input$[rbp]
|
|
00089 8b 04 81 mov eax, DWORD PTR [rcx+rax*4]
|
|
0008c c1 e8 10 shr eax, 16
|
|
0008f 25 ff 00 00 00 and eax, 255 ; 000000ffH
|
|
00094 8b 4d 04 mov ecx, DWORD PTR j$[rbp]
|
|
00097 83 c1 02 add ecx, 2
|
|
0009a 8b c9 mov ecx, ecx
|
|
0009c 48 8b 55 68 mov rdx, QWORD PTR output$[rbp]
|
|
000a0 88 04 0a mov BYTE PTR [rdx+rcx], al
|
|
|
|
; 207 : output[j+3] = (unsigned char)((input[i] >> 24) & 0xff);
|
|
|
|
000a3 8b 45 00 mov eax, DWORD PTR i$[rbp]
|
|
000a6 48 8b 4d 70 mov rcx, QWORD PTR input$[rbp]
|
|
000aa 8b 04 81 mov eax, DWORD PTR [rcx+rax*4]
|
|
000ad c1 e8 18 shr eax, 24
|
|
000b0 25 ff 00 00 00 and eax, 255 ; 000000ffH
|
|
000b5 8b 4d 04 mov ecx, DWORD PTR j$[rbp]
|
|
000b8 83 c1 03 add ecx, 3
|
|
000bb 8b c9 mov ecx, ecx
|
|
000bd 48 8b 55 68 mov rdx, QWORD PTR output$[rbp]
|
|
000c1 88 04 0a mov BYTE PTR [rdx+rcx], al
|
|
|
|
; 208 : }
|
|
|
|
000c4 e9 63 ff ff ff jmp $LN2@Encode
|
|
$LN3@Encode:
|
|
|
|
; 209 : }
|
|
|
|
000c9 48 8d 65 50 lea rsp, QWORD PTR [rbp+80]
|
|
000cd 5d pop rbp
|
|
000ce c3 ret 0
|
|
?Encode@MD5_L@@QEAAXPEAEPEAKI@Z ENDP ; MD5_L::Encode
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File D:\Works\Corpsms_2010\public\md53\MD5_L.cpp
|
|
; COMDAT ?MD5Transform@MD5_L@@QEAAXQEAKQEAE@Z
|
|
_TEXT SEGMENT
|
|
a$ = 0
|
|
b$ = 4
|
|
c$ = 8
|
|
d$ = 12
|
|
x$ = 16
|
|
__$ArrayPad$ = 144
|
|
this$ = 176
|
|
state$ = 184
|
|
block$ = 192
|
|
?MD5Transform@MD5_L@@QEAAXQEAKQEAE@Z PROC ; MD5_L::MD5Transform, COMDAT
|
|
|
|
; 105 : {
|
|
|
|
$LN3:
|
|
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000f 55 push rbp
|
|
00010 48 81 ec c0 00
|
|
00 00 sub rsp, 192 ; 000000c0H
|
|
00017 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
0001c 48 8b 05 00 00
|
|
00 00 mov rax, QWORD PTR __security_cookie
|
|
00023 48 33 c5 xor rax, rbp
|
|
00026 48 89 85 90 00
|
|
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
|
|
|
; 106 : UINT4 a = state[0], b = state[1], c = state[2], d = state[3], x[16];
|
|
|
|
0002d b8 04 00 00 00 mov eax, 4
|
|
00032 48 6b c0 00 imul rax, rax, 0
|
|
00036 48 8b 8d b8 00
|
|
00 00 mov rcx, QWORD PTR state$[rbp]
|
|
0003d 8b 04 01 mov eax, DWORD PTR [rcx+rax]
|
|
00040 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
00043 b8 04 00 00 00 mov eax, 4
|
|
00048 48 6b c0 01 imul rax, rax, 1
|
|
0004c 48 8b 8d b8 00
|
|
00 00 mov rcx, QWORD PTR state$[rbp]
|
|
00053 8b 04 01 mov eax, DWORD PTR [rcx+rax]
|
|
00056 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
00059 b8 04 00 00 00 mov eax, 4
|
|
0005e 48 6b c0 02 imul rax, rax, 2
|
|
00062 48 8b 8d b8 00
|
|
00 00 mov rcx, QWORD PTR state$[rbp]
|
|
00069 8b 04 01 mov eax, DWORD PTR [rcx+rax]
|
|
0006c 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
0006f b8 04 00 00 00 mov eax, 4
|
|
00074 48 6b c0 03 imul rax, rax, 3
|
|
00078 48 8b 8d b8 00
|
|
00 00 mov rcx, QWORD PTR state$[rbp]
|
|
0007f 8b 04 01 mov eax, DWORD PTR [rcx+rax]
|
|
00082 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
|
|
; 107 :
|
|
; 108 : Decode (x, block, 64);
|
|
|
|
00085 41 b9 40 00 00
|
|
00 mov r9d, 64 ; 00000040H
|
|
0008b 4c 8b 85 c0 00
|
|
00 00 mov r8, QWORD PTR block$[rbp]
|
|
00092 48 8d 55 10 lea rdx, QWORD PTR x$[rbp]
|
|
00096 48 8b 8d b0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0009d e8 00 00 00 00 call ?Decode@MD5_L@@QEAAXPEAKPEAEI@Z ; MD5_L::Decode
|
|
|
|
; 109 :
|
|
; 110 : /* Round 1 */
|
|
; 111 : FF (a, b, c, d, x[ 0], S11, 0xd76aa478); /* 1 */
|
|
|
|
000a2 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
000a5 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
000a8 23 c8 and ecx, eax
|
|
000aa 8b c1 mov eax, ecx
|
|
000ac 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
000af f7 d1 not ecx
|
|
000b1 23 4d 0c and ecx, DWORD PTR d$[rbp]
|
|
000b4 0b c1 or eax, ecx
|
|
000b6 b9 04 00 00 00 mov ecx, 4
|
|
000bb 48 6b c9 00 imul rcx, rcx, 0
|
|
000bf 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
000c3 b9 78 a4 6a d7 mov ecx, -680876936 ; ffffffffd76aa478H
|
|
000c8 8b 55 00 mov edx, DWORD PTR a$[rbp]
|
|
000cb 48 03 ca add rcx, rdx
|
|
000ce 03 c1 add eax, ecx
|
|
000d0 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
000d3 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
000d6 c1 e0 07 shl eax, 7
|
|
000d9 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
000dc c1 e9 19 shr ecx, 25
|
|
000df 0b c1 or eax, ecx
|
|
000e1 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
000e4 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
000e7 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
000ea 03 c8 add ecx, eax
|
|
000ec 8b c1 mov eax, ecx
|
|
000ee 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
|
|
; 112 : FF (d, a, b, c, x[ 1], S12, 0xe8c7b756); /* 2 */
|
|
|
|
000f1 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
000f4 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
000f7 23 c8 and ecx, eax
|
|
000f9 8b c1 mov eax, ecx
|
|
000fb 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
000fe f7 d1 not ecx
|
|
00100 23 4d 08 and ecx, DWORD PTR c$[rbp]
|
|
00103 0b c1 or eax, ecx
|
|
00105 b9 04 00 00 00 mov ecx, 4
|
|
0010a 48 6b c9 01 imul rcx, rcx, 1
|
|
0010e 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00112 b9 56 b7 c7 e8 mov ecx, -389564586 ; ffffffffe8c7b756H
|
|
00117 8b 55 0c mov edx, DWORD PTR d$[rbp]
|
|
0011a 48 03 ca add rcx, rdx
|
|
0011d 03 c1 add eax, ecx
|
|
0011f 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
00122 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00125 c1 e0 0c shl eax, 12
|
|
00128 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
0012b c1 e9 14 shr ecx, 20
|
|
0012e 0b c1 or eax, ecx
|
|
00130 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
00133 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
00136 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00139 03 c8 add ecx, eax
|
|
0013b 8b c1 mov eax, ecx
|
|
0013d 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
|
|
; 113 : FF (c, d, a, b, x[ 2], S13, 0x242070db); /* 3 */
|
|
|
|
00140 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
00143 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00146 23 c8 and ecx, eax
|
|
00148 8b c1 mov eax, ecx
|
|
0014a 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
0014d f7 d1 not ecx
|
|
0014f 23 4d 04 and ecx, DWORD PTR b$[rbp]
|
|
00152 0b c1 or eax, ecx
|
|
00154 b9 04 00 00 00 mov ecx, 4
|
|
00159 48 6b c9 02 imul rcx, rcx, 2
|
|
0015d 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00161 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00164 8d 84 01 db 70
|
|
20 24 lea eax, DWORD PTR [rcx+rax+606105819]
|
|
0016b 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
0016e 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00171 c1 e0 11 shl eax, 17
|
|
00174 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00177 c1 e9 0f shr ecx, 15
|
|
0017a 0b c1 or eax, ecx
|
|
0017c 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
0017f 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00182 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00185 03 c8 add ecx, eax
|
|
00187 8b c1 mov eax, ecx
|
|
00189 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
|
|
; 114 : FF (b, c, d, a, x[ 3], S14, 0xc1bdceee); /* 4 */
|
|
|
|
0018c 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
0018f 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00192 23 c8 and ecx, eax
|
|
00194 8b c1 mov eax, ecx
|
|
00196 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00199 f7 d1 not ecx
|
|
0019b 23 4d 00 and ecx, DWORD PTR a$[rbp]
|
|
0019e 0b c1 or eax, ecx
|
|
001a0 b9 04 00 00 00 mov ecx, 4
|
|
001a5 48 6b c9 03 imul rcx, rcx, 3
|
|
001a9 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
001ad b9 ee ce bd c1 mov ecx, -1044525330 ; ffffffffc1bdceeeH
|
|
001b2 8b 55 04 mov edx, DWORD PTR b$[rbp]
|
|
001b5 48 03 ca add rcx, rdx
|
|
001b8 03 c1 add eax, ecx
|
|
001ba 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
001bd 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
001c0 c1 e0 16 shl eax, 22
|
|
001c3 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
001c6 c1 e9 0a shr ecx, 10
|
|
001c9 0b c1 or eax, ecx
|
|
001cb 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
001ce 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
001d1 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
001d4 03 c8 add ecx, eax
|
|
001d6 8b c1 mov eax, ecx
|
|
001d8 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
|
|
; 115 : FF (a, b, c, d, x[ 4], S11, 0xf57c0faf); /* 5 */
|
|
|
|
001db 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
001de 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
001e1 23 c8 and ecx, eax
|
|
001e3 8b c1 mov eax, ecx
|
|
001e5 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
001e8 f7 d1 not ecx
|
|
001ea 23 4d 0c and ecx, DWORD PTR d$[rbp]
|
|
001ed 0b c1 or eax, ecx
|
|
001ef b9 04 00 00 00 mov ecx, 4
|
|
001f4 48 6b c9 04 imul rcx, rcx, 4
|
|
001f8 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
001fc b9 af 0f 7c f5 mov ecx, -176418897 ; fffffffff57c0fafH
|
|
00201 8b 55 00 mov edx, DWORD PTR a$[rbp]
|
|
00204 48 03 ca add rcx, rdx
|
|
00207 03 c1 add eax, ecx
|
|
00209 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
0020c 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
0020f c1 e0 07 shl eax, 7
|
|
00212 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00215 c1 e9 19 shr ecx, 25
|
|
00218 0b c1 or eax, ecx
|
|
0021a 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
0021d 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00220 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00223 03 c8 add ecx, eax
|
|
00225 8b c1 mov eax, ecx
|
|
00227 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
|
|
; 116 : FF (d, a, b, c, x[ 5], S12, 0x4787c62a); /* 6 */
|
|
|
|
0022a 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
0022d 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00230 23 c8 and ecx, eax
|
|
00232 8b c1 mov eax, ecx
|
|
00234 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00237 f7 d1 not ecx
|
|
00239 23 4d 08 and ecx, DWORD PTR c$[rbp]
|
|
0023c 0b c1 or eax, ecx
|
|
0023e b9 04 00 00 00 mov ecx, 4
|
|
00243 48 6b c9 05 imul rcx, rcx, 5
|
|
00247 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
0024b 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
0024e 8d 84 01 2a c6
|
|
87 47 lea eax, DWORD PTR [rcx+rax+1200080426]
|
|
00255 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
00258 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
0025b c1 e0 0c shl eax, 12
|
|
0025e 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00261 c1 e9 14 shr ecx, 20
|
|
00264 0b c1 or eax, ecx
|
|
00266 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
00269 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
0026c 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
0026f 03 c8 add ecx, eax
|
|
00271 8b c1 mov eax, ecx
|
|
00273 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
|
|
; 117 : FF (c, d, a, b, x[ 6], S13, 0xa8304613); /* 7 */
|
|
|
|
00276 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
00279 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
0027c 23 c8 and ecx, eax
|
|
0027e 8b c1 mov eax, ecx
|
|
00280 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00283 f7 d1 not ecx
|
|
00285 23 4d 04 and ecx, DWORD PTR b$[rbp]
|
|
00288 0b c1 or eax, ecx
|
|
0028a b9 04 00 00 00 mov ecx, 4
|
|
0028f 48 6b c9 06 imul rcx, rcx, 6
|
|
00293 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00297 b9 13 46 30 a8 mov ecx, -1473231341 ; ffffffffa8304613H
|
|
0029c 8b 55 08 mov edx, DWORD PTR c$[rbp]
|
|
0029f 48 03 ca add rcx, rdx
|
|
002a2 03 c1 add eax, ecx
|
|
002a4 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
002a7 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
002aa c1 e0 11 shl eax, 17
|
|
002ad 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
002b0 c1 e9 0f shr ecx, 15
|
|
002b3 0b c1 or eax, ecx
|
|
002b5 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
002b8 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
002bb 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
002be 03 c8 add ecx, eax
|
|
002c0 8b c1 mov eax, ecx
|
|
002c2 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
|
|
; 118 : FF (b, c, d, a, x[ 7], S14, 0xfd469501); /* 8 */
|
|
|
|
002c5 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
002c8 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
002cb 23 c8 and ecx, eax
|
|
002cd 8b c1 mov eax, ecx
|
|
002cf 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
002d2 f7 d1 not ecx
|
|
002d4 23 4d 00 and ecx, DWORD PTR a$[rbp]
|
|
002d7 0b c1 or eax, ecx
|
|
002d9 b9 04 00 00 00 mov ecx, 4
|
|
002de 48 6b c9 07 imul rcx, rcx, 7
|
|
002e2 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
002e6 b9 01 95 46 fd mov ecx, -45705983 ; fffffffffd469501H
|
|
002eb 8b 55 04 mov edx, DWORD PTR b$[rbp]
|
|
002ee 48 03 ca add rcx, rdx
|
|
002f1 03 c1 add eax, ecx
|
|
002f3 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
002f6 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
002f9 c1 e0 16 shl eax, 22
|
|
002fc 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
002ff c1 e9 0a shr ecx, 10
|
|
00302 0b c1 or eax, ecx
|
|
00304 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
00307 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
0030a 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
0030d 03 c8 add ecx, eax
|
|
0030f 8b c1 mov eax, ecx
|
|
00311 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
|
|
; 119 : FF (a, b, c, d, x[ 8], S11, 0x698098d8); /* 9 */
|
|
|
|
00314 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00317 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
0031a 23 c8 and ecx, eax
|
|
0031c 8b c1 mov eax, ecx
|
|
0031e 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00321 f7 d1 not ecx
|
|
00323 23 4d 0c and ecx, DWORD PTR d$[rbp]
|
|
00326 0b c1 or eax, ecx
|
|
00328 b9 04 00 00 00 mov ecx, 4
|
|
0032d 48 6b c9 08 imul rcx, rcx, 8
|
|
00331 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00335 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00338 8d 84 01 d8 98
|
|
80 69 lea eax, DWORD PTR [rcx+rax+1770035416]
|
|
0033f 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
00342 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
00345 c1 e0 07 shl eax, 7
|
|
00348 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
0034b c1 e9 19 shr ecx, 25
|
|
0034e 0b c1 or eax, ecx
|
|
00350 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
00353 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00356 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00359 03 c8 add ecx, eax
|
|
0035b 8b c1 mov eax, ecx
|
|
0035d 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
|
|
; 120 : FF (d, a, b, c, x[ 9], S12, 0x8b44f7af); /* 10 */
|
|
|
|
00360 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00363 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00366 23 c8 and ecx, eax
|
|
00368 8b c1 mov eax, ecx
|
|
0036a 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
0036d f7 d1 not ecx
|
|
0036f 23 4d 08 and ecx, DWORD PTR c$[rbp]
|
|
00372 0b c1 or eax, ecx
|
|
00374 b9 04 00 00 00 mov ecx, 4
|
|
00379 48 6b c9 09 imul rcx, rcx, 9
|
|
0037d 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00381 b9 af f7 44 8b mov ecx, -1958414417 ; ffffffff8b44f7afH
|
|
00386 8b 55 0c mov edx, DWORD PTR d$[rbp]
|
|
00389 48 03 ca add rcx, rdx
|
|
0038c 03 c1 add eax, ecx
|
|
0038e 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
00391 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00394 c1 e0 0c shl eax, 12
|
|
00397 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
0039a c1 e9 14 shr ecx, 20
|
|
0039d 0b c1 or eax, ecx
|
|
0039f 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
003a2 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
003a5 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
003a8 03 c8 add ecx, eax
|
|
003aa 8b c1 mov eax, ecx
|
|
003ac 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
|
|
; 121 : FF (c, d, a, b, x[10], S13, 0xffff5bb1); /* 11 */
|
|
|
|
003af 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
003b2 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
003b5 23 c8 and ecx, eax
|
|
003b7 8b c1 mov eax, ecx
|
|
003b9 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
003bc f7 d1 not ecx
|
|
003be 23 4d 04 and ecx, DWORD PTR b$[rbp]
|
|
003c1 0b c1 or eax, ecx
|
|
003c3 b9 04 00 00 00 mov ecx, 4
|
|
003c8 48 6b c9 0a imul rcx, rcx, 10
|
|
003cc 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
003d0 b9 b1 5b ff ff mov ecx, -42063 ; ffffffffffff5bb1H
|
|
003d5 8b 55 08 mov edx, DWORD PTR c$[rbp]
|
|
003d8 48 03 ca add rcx, rdx
|
|
003db 03 c1 add eax, ecx
|
|
003dd 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
003e0 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
003e3 c1 e0 11 shl eax, 17
|
|
003e6 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
003e9 c1 e9 0f shr ecx, 15
|
|
003ec 0b c1 or eax, ecx
|
|
003ee 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
003f1 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
003f4 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
003f7 03 c8 add ecx, eax
|
|
003f9 8b c1 mov eax, ecx
|
|
003fb 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
|
|
; 122 : FF (b, c, d, a, x[11], S14, 0x895cd7be); /* 12 */
|
|
|
|
003fe 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00401 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00404 23 c8 and ecx, eax
|
|
00406 8b c1 mov eax, ecx
|
|
00408 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
0040b f7 d1 not ecx
|
|
0040d 23 4d 00 and ecx, DWORD PTR a$[rbp]
|
|
00410 0b c1 or eax, ecx
|
|
00412 b9 04 00 00 00 mov ecx, 4
|
|
00417 48 6b c9 0b imul rcx, rcx, 11
|
|
0041b 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
0041f b9 be d7 5c 89 mov ecx, -1990404162 ; ffffffff895cd7beH
|
|
00424 8b 55 04 mov edx, DWORD PTR b$[rbp]
|
|
00427 48 03 ca add rcx, rdx
|
|
0042a 03 c1 add eax, ecx
|
|
0042c 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
0042f 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00432 c1 e0 16 shl eax, 22
|
|
00435 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00438 c1 e9 0a shr ecx, 10
|
|
0043b 0b c1 or eax, ecx
|
|
0043d 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
00440 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00443 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00446 03 c8 add ecx, eax
|
|
00448 8b c1 mov eax, ecx
|
|
0044a 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
|
|
; 123 : FF (a, b, c, d, x[12], S11, 0x6b901122); /* 13 */
|
|
|
|
0044d 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00450 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00453 23 c8 and ecx, eax
|
|
00455 8b c1 mov eax, ecx
|
|
00457 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
0045a f7 d1 not ecx
|
|
0045c 23 4d 0c and ecx, DWORD PTR d$[rbp]
|
|
0045f 0b c1 or eax, ecx
|
|
00461 b9 04 00 00 00 mov ecx, 4
|
|
00466 48 6b c9 0c imul rcx, rcx, 12
|
|
0046a 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
0046e 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00471 8d 84 01 22 11
|
|
90 6b lea eax, DWORD PTR [rcx+rax+1804603682]
|
|
00478 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
0047b 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
0047e c1 e0 07 shl eax, 7
|
|
00481 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00484 c1 e9 19 shr ecx, 25
|
|
00487 0b c1 or eax, ecx
|
|
00489 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
0048c 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
0048f 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00492 03 c8 add ecx, eax
|
|
00494 8b c1 mov eax, ecx
|
|
00496 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
|
|
; 124 : FF (d, a, b, c, x[13], S12, 0xfd987193); /* 14 */
|
|
|
|
00499 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
0049c 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
0049f 23 c8 and ecx, eax
|
|
004a1 8b c1 mov eax, ecx
|
|
004a3 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
004a6 f7 d1 not ecx
|
|
004a8 23 4d 08 and ecx, DWORD PTR c$[rbp]
|
|
004ab 0b c1 or eax, ecx
|
|
004ad b9 04 00 00 00 mov ecx, 4
|
|
004b2 48 6b c9 0d imul rcx, rcx, 13
|
|
004b6 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
004ba b9 93 71 98 fd mov ecx, -40341101 ; fffffffffd987193H
|
|
004bf 8b 55 0c mov edx, DWORD PTR d$[rbp]
|
|
004c2 48 03 ca add rcx, rdx
|
|
004c5 03 c1 add eax, ecx
|
|
004c7 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
004ca 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
004cd c1 e0 0c shl eax, 12
|
|
004d0 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
004d3 c1 e9 14 shr ecx, 20
|
|
004d6 0b c1 or eax, ecx
|
|
004d8 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
004db 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
004de 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
004e1 03 c8 add ecx, eax
|
|
004e3 8b c1 mov eax, ecx
|
|
004e5 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
|
|
; 125 : FF (c, d, a, b, x[14], S13, 0xa679438e); /* 15 */
|
|
|
|
004e8 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
004eb 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
004ee 23 c8 and ecx, eax
|
|
004f0 8b c1 mov eax, ecx
|
|
004f2 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
004f5 f7 d1 not ecx
|
|
004f7 23 4d 04 and ecx, DWORD PTR b$[rbp]
|
|
004fa 0b c1 or eax, ecx
|
|
004fc b9 04 00 00 00 mov ecx, 4
|
|
00501 48 6b c9 0e imul rcx, rcx, 14
|
|
00505 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00509 b9 8e 43 79 a6 mov ecx, -1502002290 ; ffffffffa679438eH
|
|
0050e 8b 55 08 mov edx, DWORD PTR c$[rbp]
|
|
00511 48 03 ca add rcx, rdx
|
|
00514 03 c1 add eax, ecx
|
|
00516 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
00519 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
0051c c1 e0 11 shl eax, 17
|
|
0051f 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00522 c1 e9 0f shr ecx, 15
|
|
00525 0b c1 or eax, ecx
|
|
00527 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
0052a 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
0052d 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00530 03 c8 add ecx, eax
|
|
00532 8b c1 mov eax, ecx
|
|
00534 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
|
|
; 126 : FF (b, c, d, a, x[15], S14, 0x49b40821); /* 16 */
|
|
|
|
00537 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
0053a 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
0053d 23 c8 and ecx, eax
|
|
0053f 8b c1 mov eax, ecx
|
|
00541 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00544 f7 d1 not ecx
|
|
00546 23 4d 00 and ecx, DWORD PTR a$[rbp]
|
|
00549 0b c1 or eax, ecx
|
|
0054b b9 04 00 00 00 mov ecx, 4
|
|
00550 48 6b c9 0f imul rcx, rcx, 15
|
|
00554 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00558 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
0055b 8d 84 01 21 08
|
|
b4 49 lea eax, DWORD PTR [rcx+rax+1236535329]
|
|
00562 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
00565 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00568 c1 e0 16 shl eax, 22
|
|
0056b 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
0056e c1 e9 0a shr ecx, 10
|
|
00571 0b c1 or eax, ecx
|
|
00573 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
00576 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00579 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
0057c 03 c8 add ecx, eax
|
|
0057e 8b c1 mov eax, ecx
|
|
00580 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
|
|
; 127 :
|
|
; 128 : /* Round 2 */
|
|
; 129 : GG (a, b, c, d, x[ 1], S21, 0xf61e2562); /* 17 */
|
|
|
|
00583 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00586 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00589 23 c8 and ecx, eax
|
|
0058b 8b c1 mov eax, ecx
|
|
0058d 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00590 f7 d1 not ecx
|
|
00592 8b 55 08 mov edx, DWORD PTR c$[rbp]
|
|
00595 23 d1 and edx, ecx
|
|
00597 8b ca mov ecx, edx
|
|
00599 0b c1 or eax, ecx
|
|
0059b b9 04 00 00 00 mov ecx, 4
|
|
005a0 48 6b c9 01 imul rcx, rcx, 1
|
|
005a4 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
005a8 b9 62 25 1e f6 mov ecx, -165796510 ; fffffffff61e2562H
|
|
005ad 8b 55 00 mov edx, DWORD PTR a$[rbp]
|
|
005b0 48 03 ca add rcx, rdx
|
|
005b3 03 c1 add eax, ecx
|
|
005b5 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
005b8 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
005bb c1 e0 05 shl eax, 5
|
|
005be 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
005c1 c1 e9 1b shr ecx, 27
|
|
005c4 0b c1 or eax, ecx
|
|
005c6 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
005c9 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
005cc 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
005cf 03 c8 add ecx, eax
|
|
005d1 8b c1 mov eax, ecx
|
|
005d3 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
|
|
; 130 : GG (d, a, b, c, x[ 6], S22, 0xc040b340); /* 18 */
|
|
|
|
005d6 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
005d9 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
005dc 23 c8 and ecx, eax
|
|
005de 8b c1 mov eax, ecx
|
|
005e0 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
005e3 f7 d1 not ecx
|
|
005e5 8b 55 04 mov edx, DWORD PTR b$[rbp]
|
|
005e8 23 d1 and edx, ecx
|
|
005ea 8b ca mov ecx, edx
|
|
005ec 0b c1 or eax, ecx
|
|
005ee b9 04 00 00 00 mov ecx, 4
|
|
005f3 48 6b c9 06 imul rcx, rcx, 6
|
|
005f7 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
005fb b9 40 b3 40 c0 mov ecx, -1069501632 ; ffffffffc040b340H
|
|
00600 8b 55 0c mov edx, DWORD PTR d$[rbp]
|
|
00603 48 03 ca add rcx, rdx
|
|
00606 03 c1 add eax, ecx
|
|
00608 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
0060b 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
0060e c1 e0 09 shl eax, 9
|
|
00611 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00614 c1 e9 17 shr ecx, 23
|
|
00617 0b c1 or eax, ecx
|
|
00619 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
0061c 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
0061f 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00622 03 c8 add ecx, eax
|
|
00624 8b c1 mov eax, ecx
|
|
00626 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
|
|
; 131 : GG (c, d, a, b, x[11], S23, 0x265e5a51); /* 19 */
|
|
|
|
00629 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
0062c 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
0062f 23 c8 and ecx, eax
|
|
00631 8b c1 mov eax, ecx
|
|
00633 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00636 f7 d1 not ecx
|
|
00638 8b 55 00 mov edx, DWORD PTR a$[rbp]
|
|
0063b 23 d1 and edx, ecx
|
|
0063d 8b ca mov ecx, edx
|
|
0063f 0b c1 or eax, ecx
|
|
00641 b9 04 00 00 00 mov ecx, 4
|
|
00646 48 6b c9 0b imul rcx, rcx, 11
|
|
0064a 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
0064e 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00651 8d 84 01 51 5a
|
|
5e 26 lea eax, DWORD PTR [rcx+rax+643717713]
|
|
00658 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
0065b 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
0065e c1 e0 0e shl eax, 14
|
|
00661 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00664 c1 e9 12 shr ecx, 18
|
|
00667 0b c1 or eax, ecx
|
|
00669 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
0066c 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
0066f 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00672 03 c8 add ecx, eax
|
|
00674 8b c1 mov eax, ecx
|
|
00676 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
|
|
; 132 : GG (b, c, d, a, x[ 0], S24, 0xe9b6c7aa); /* 20 */
|
|
|
|
00679 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
0067c 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
0067f 23 c8 and ecx, eax
|
|
00681 8b c1 mov eax, ecx
|
|
00683 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00686 f7 d1 not ecx
|
|
00688 8b 55 0c mov edx, DWORD PTR d$[rbp]
|
|
0068b 23 d1 and edx, ecx
|
|
0068d 8b ca mov ecx, edx
|
|
0068f 0b c1 or eax, ecx
|
|
00691 b9 04 00 00 00 mov ecx, 4
|
|
00696 48 6b c9 00 imul rcx, rcx, 0
|
|
0069a 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
0069e b9 aa c7 b6 e9 mov ecx, -373897302 ; ffffffffe9b6c7aaH
|
|
006a3 8b 55 04 mov edx, DWORD PTR b$[rbp]
|
|
006a6 48 03 ca add rcx, rdx
|
|
006a9 03 c1 add eax, ecx
|
|
006ab 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
006ae 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
006b1 c1 e0 14 shl eax, 20
|
|
006b4 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
006b7 c1 e9 0c shr ecx, 12
|
|
006ba 0b c1 or eax, ecx
|
|
006bc 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
006bf 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
006c2 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
006c5 03 c8 add ecx, eax
|
|
006c7 8b c1 mov eax, ecx
|
|
006c9 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
|
|
; 133 : GG (a, b, c, d, x[ 5], S21, 0xd62f105d); /* 21 */
|
|
|
|
006cc 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
006cf 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
006d2 23 c8 and ecx, eax
|
|
006d4 8b c1 mov eax, ecx
|
|
006d6 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
006d9 f7 d1 not ecx
|
|
006db 8b 55 08 mov edx, DWORD PTR c$[rbp]
|
|
006de 23 d1 and edx, ecx
|
|
006e0 8b ca mov ecx, edx
|
|
006e2 0b c1 or eax, ecx
|
|
006e4 b9 04 00 00 00 mov ecx, 4
|
|
006e9 48 6b c9 05 imul rcx, rcx, 5
|
|
006ed 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
006f1 b9 5d 10 2f d6 mov ecx, -701558691 ; ffffffffd62f105dH
|
|
006f6 8b 55 00 mov edx, DWORD PTR a$[rbp]
|
|
006f9 48 03 ca add rcx, rdx
|
|
006fc 03 c1 add eax, ecx
|
|
006fe 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
00701 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
00704 c1 e0 05 shl eax, 5
|
|
00707 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
0070a c1 e9 1b shr ecx, 27
|
|
0070d 0b c1 or eax, ecx
|
|
0070f 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
00712 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00715 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00718 03 c8 add ecx, eax
|
|
0071a 8b c1 mov eax, ecx
|
|
0071c 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
|
|
; 134 : GG (d, a, b, c, x[10], S22, 0x2441453); /* 22 */
|
|
|
|
0071f 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00722 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00725 23 c8 and ecx, eax
|
|
00727 8b c1 mov eax, ecx
|
|
00729 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
0072c f7 d1 not ecx
|
|
0072e 8b 55 04 mov edx, DWORD PTR b$[rbp]
|
|
00731 23 d1 and edx, ecx
|
|
00733 8b ca mov ecx, edx
|
|
00735 0b c1 or eax, ecx
|
|
00737 b9 04 00 00 00 mov ecx, 4
|
|
0073c 48 6b c9 0a imul rcx, rcx, 10
|
|
00740 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00744 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00747 8d 84 01 53 14
|
|
44 02 lea eax, DWORD PTR [rcx+rax+38016083]
|
|
0074e 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
00751 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00754 c1 e0 09 shl eax, 9
|
|
00757 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
0075a c1 e9 17 shr ecx, 23
|
|
0075d 0b c1 or eax, ecx
|
|
0075f 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
00762 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
00765 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00768 03 c8 add ecx, eax
|
|
0076a 8b c1 mov eax, ecx
|
|
0076c 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
|
|
; 135 : GG (c, d, a, b, x[15], S23, 0xd8a1e681); /* 23 */
|
|
|
|
0076f 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00772 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00775 23 c8 and ecx, eax
|
|
00777 8b c1 mov eax, ecx
|
|
00779 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
0077c f7 d1 not ecx
|
|
0077e 8b 55 00 mov edx, DWORD PTR a$[rbp]
|
|
00781 23 d1 and edx, ecx
|
|
00783 8b ca mov ecx, edx
|
|
00785 0b c1 or eax, ecx
|
|
00787 b9 04 00 00 00 mov ecx, 4
|
|
0078c 48 6b c9 0f imul rcx, rcx, 15
|
|
00790 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00794 b9 81 e6 a1 d8 mov ecx, -660478335 ; ffffffffd8a1e681H
|
|
00799 8b 55 08 mov edx, DWORD PTR c$[rbp]
|
|
0079c 48 03 ca add rcx, rdx
|
|
0079f 03 c1 add eax, ecx
|
|
007a1 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
007a4 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
007a7 c1 e0 0e shl eax, 14
|
|
007aa 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
007ad c1 e9 12 shr ecx, 18
|
|
007b0 0b c1 or eax, ecx
|
|
007b2 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
007b5 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
007b8 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
007bb 03 c8 add ecx, eax
|
|
007bd 8b c1 mov eax, ecx
|
|
007bf 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
|
|
; 136 : GG (b, c, d, a, x[ 4], S24, 0xe7d3fbc8); /* 24 */
|
|
|
|
007c2 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
007c5 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
007c8 23 c8 and ecx, eax
|
|
007ca 8b c1 mov eax, ecx
|
|
007cc 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
007cf f7 d1 not ecx
|
|
007d1 8b 55 0c mov edx, DWORD PTR d$[rbp]
|
|
007d4 23 d1 and edx, ecx
|
|
007d6 8b ca mov ecx, edx
|
|
007d8 0b c1 or eax, ecx
|
|
007da b9 04 00 00 00 mov ecx, 4
|
|
007df 48 6b c9 04 imul rcx, rcx, 4
|
|
007e3 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
007e7 b9 c8 fb d3 e7 mov ecx, -405537848 ; ffffffffe7d3fbc8H
|
|
007ec 8b 55 04 mov edx, DWORD PTR b$[rbp]
|
|
007ef 48 03 ca add rcx, rdx
|
|
007f2 03 c1 add eax, ecx
|
|
007f4 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
007f7 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
007fa c1 e0 14 shl eax, 20
|
|
007fd 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00800 c1 e9 0c shr ecx, 12
|
|
00803 0b c1 or eax, ecx
|
|
00805 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
00808 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
0080b 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
0080e 03 c8 add ecx, eax
|
|
00810 8b c1 mov eax, ecx
|
|
00812 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
|
|
; 137 : GG (a, b, c, d, x[ 9], S21, 0x21e1cde6); /* 25 */
|
|
|
|
00815 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00818 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
0081b 23 c8 and ecx, eax
|
|
0081d 8b c1 mov eax, ecx
|
|
0081f 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00822 f7 d1 not ecx
|
|
00824 8b 55 08 mov edx, DWORD PTR c$[rbp]
|
|
00827 23 d1 and edx, ecx
|
|
00829 8b ca mov ecx, edx
|
|
0082b 0b c1 or eax, ecx
|
|
0082d b9 04 00 00 00 mov ecx, 4
|
|
00832 48 6b c9 09 imul rcx, rcx, 9
|
|
00836 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
0083a 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
0083d 8d 84 01 e6 cd
|
|
e1 21 lea eax, DWORD PTR [rcx+rax+568446438]
|
|
00844 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
00847 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
0084a c1 e0 05 shl eax, 5
|
|
0084d 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00850 c1 e9 1b shr ecx, 27
|
|
00853 0b c1 or eax, ecx
|
|
00855 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
00858 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
0085b 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
0085e 03 c8 add ecx, eax
|
|
00860 8b c1 mov eax, ecx
|
|
00862 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
|
|
; 138 : GG (d, a, b, c, x[14], S22, 0xc33707d6); /* 26 */
|
|
|
|
00865 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00868 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
0086b 23 c8 and ecx, eax
|
|
0086d 8b c1 mov eax, ecx
|
|
0086f 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00872 f7 d1 not ecx
|
|
00874 8b 55 04 mov edx, DWORD PTR b$[rbp]
|
|
00877 23 d1 and edx, ecx
|
|
00879 8b ca mov ecx, edx
|
|
0087b 0b c1 or eax, ecx
|
|
0087d b9 04 00 00 00 mov ecx, 4
|
|
00882 48 6b c9 0e imul rcx, rcx, 14
|
|
00886 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
0088a b9 d6 07 37 c3 mov ecx, -1019803690 ; ffffffffc33707d6H
|
|
0088f 8b 55 0c mov edx, DWORD PTR d$[rbp]
|
|
00892 48 03 ca add rcx, rdx
|
|
00895 03 c1 add eax, ecx
|
|
00897 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
0089a 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
0089d c1 e0 09 shl eax, 9
|
|
008a0 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
008a3 c1 e9 17 shr ecx, 23
|
|
008a6 0b c1 or eax, ecx
|
|
008a8 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
008ab 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
008ae 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
008b1 03 c8 add ecx, eax
|
|
008b3 8b c1 mov eax, ecx
|
|
008b5 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
|
|
; 139 : GG (c, d, a, b, x[ 3], S23, 0xf4d50d87); /* 27 */
|
|
|
|
008b8 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
008bb 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
008be 23 c8 and ecx, eax
|
|
008c0 8b c1 mov eax, ecx
|
|
008c2 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
008c5 f7 d1 not ecx
|
|
008c7 8b 55 00 mov edx, DWORD PTR a$[rbp]
|
|
008ca 23 d1 and edx, ecx
|
|
008cc 8b ca mov ecx, edx
|
|
008ce 0b c1 or eax, ecx
|
|
008d0 b9 04 00 00 00 mov ecx, 4
|
|
008d5 48 6b c9 03 imul rcx, rcx, 3
|
|
008d9 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
008dd b9 87 0d d5 f4 mov ecx, -187363961 ; fffffffff4d50d87H
|
|
008e2 8b 55 08 mov edx, DWORD PTR c$[rbp]
|
|
008e5 48 03 ca add rcx, rdx
|
|
008e8 03 c1 add eax, ecx
|
|
008ea 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
008ed 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
008f0 c1 e0 0e shl eax, 14
|
|
008f3 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
008f6 c1 e9 12 shr ecx, 18
|
|
008f9 0b c1 or eax, ecx
|
|
008fb 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
008fe 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00901 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00904 03 c8 add ecx, eax
|
|
00906 8b c1 mov eax, ecx
|
|
00908 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
|
|
; 140 : GG (b, c, d, a, x[ 8], S24, 0x455a14ed); /* 28 */
|
|
|
|
0090b 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
0090e 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00911 23 c8 and ecx, eax
|
|
00913 8b c1 mov eax, ecx
|
|
00915 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00918 f7 d1 not ecx
|
|
0091a 8b 55 0c mov edx, DWORD PTR d$[rbp]
|
|
0091d 23 d1 and edx, ecx
|
|
0091f 8b ca mov ecx, edx
|
|
00921 0b c1 or eax, ecx
|
|
00923 b9 04 00 00 00 mov ecx, 4
|
|
00928 48 6b c9 08 imul rcx, rcx, 8
|
|
0092c 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00930 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00933 8d 84 01 ed 14
|
|
5a 45 lea eax, DWORD PTR [rcx+rax+1163531501]
|
|
0093a 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
0093d 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00940 c1 e0 14 shl eax, 20
|
|
00943 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00946 c1 e9 0c shr ecx, 12
|
|
00949 0b c1 or eax, ecx
|
|
0094b 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
0094e 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00951 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00954 03 c8 add ecx, eax
|
|
00956 8b c1 mov eax, ecx
|
|
00958 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
|
|
; 141 : GG (a, b, c, d, x[13], S21, 0xa9e3e905); /* 29 */
|
|
|
|
0095b 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
0095e 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00961 23 c8 and ecx, eax
|
|
00963 8b c1 mov eax, ecx
|
|
00965 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00968 f7 d1 not ecx
|
|
0096a 8b 55 08 mov edx, DWORD PTR c$[rbp]
|
|
0096d 23 d1 and edx, ecx
|
|
0096f 8b ca mov ecx, edx
|
|
00971 0b c1 or eax, ecx
|
|
00973 b9 04 00 00 00 mov ecx, 4
|
|
00978 48 6b c9 0d imul rcx, rcx, 13
|
|
0097c 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00980 b9 05 e9 e3 a9 mov ecx, -1444681467 ; ffffffffa9e3e905H
|
|
00985 8b 55 00 mov edx, DWORD PTR a$[rbp]
|
|
00988 48 03 ca add rcx, rdx
|
|
0098b 03 c1 add eax, ecx
|
|
0098d 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
00990 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
00993 c1 e0 05 shl eax, 5
|
|
00996 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00999 c1 e9 1b shr ecx, 27
|
|
0099c 0b c1 or eax, ecx
|
|
0099e 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
009a1 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
009a4 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
009a7 03 c8 add ecx, eax
|
|
009a9 8b c1 mov eax, ecx
|
|
009ab 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
|
|
; 142 : GG (d, a, b, c, x[ 2], S22, 0xfcefa3f8); /* 30 */
|
|
|
|
009ae 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
009b1 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
009b4 23 c8 and ecx, eax
|
|
009b6 8b c1 mov eax, ecx
|
|
009b8 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
009bb f7 d1 not ecx
|
|
009bd 8b 55 04 mov edx, DWORD PTR b$[rbp]
|
|
009c0 23 d1 and edx, ecx
|
|
009c2 8b ca mov ecx, edx
|
|
009c4 0b c1 or eax, ecx
|
|
009c6 b9 04 00 00 00 mov ecx, 4
|
|
009cb 48 6b c9 02 imul rcx, rcx, 2
|
|
009cf 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
009d3 b9 f8 a3 ef fc mov ecx, -51403784 ; fffffffffcefa3f8H
|
|
009d8 8b 55 0c mov edx, DWORD PTR d$[rbp]
|
|
009db 48 03 ca add rcx, rdx
|
|
009de 03 c1 add eax, ecx
|
|
009e0 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
009e3 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
009e6 c1 e0 09 shl eax, 9
|
|
009e9 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
009ec c1 e9 17 shr ecx, 23
|
|
009ef 0b c1 or eax, ecx
|
|
009f1 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
009f4 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
009f7 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
009fa 03 c8 add ecx, eax
|
|
009fc 8b c1 mov eax, ecx
|
|
009fe 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
|
|
; 143 : GG (c, d, a, b, x[ 7], S23, 0x676f02d9); /* 31 */
|
|
|
|
00a01 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00a04 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00a07 23 c8 and ecx, eax
|
|
00a09 8b c1 mov eax, ecx
|
|
00a0b 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00a0e f7 d1 not ecx
|
|
00a10 8b 55 00 mov edx, DWORD PTR a$[rbp]
|
|
00a13 23 d1 and edx, ecx
|
|
00a15 8b ca mov ecx, edx
|
|
00a17 0b c1 or eax, ecx
|
|
00a19 b9 04 00 00 00 mov ecx, 4
|
|
00a1e 48 6b c9 07 imul rcx, rcx, 7
|
|
00a22 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00a26 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00a29 8d 84 01 d9 02
|
|
6f 67 lea eax, DWORD PTR [rcx+rax+1735328473]
|
|
00a30 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
00a33 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00a36 c1 e0 0e shl eax, 14
|
|
00a39 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00a3c c1 e9 12 shr ecx, 18
|
|
00a3f 0b c1 or eax, ecx
|
|
00a41 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
00a44 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00a47 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00a4a 03 c8 add ecx, eax
|
|
00a4c 8b c1 mov eax, ecx
|
|
00a4e 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
|
|
; 144 : GG (b, c, d, a, x[12], S24, 0x8d2a4c8a); /* 32 */
|
|
|
|
00a51 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
00a54 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00a57 23 c8 and ecx, eax
|
|
00a59 8b c1 mov eax, ecx
|
|
00a5b 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00a5e f7 d1 not ecx
|
|
00a60 8b 55 0c mov edx, DWORD PTR d$[rbp]
|
|
00a63 23 d1 and edx, ecx
|
|
00a65 8b ca mov ecx, edx
|
|
00a67 0b c1 or eax, ecx
|
|
00a69 b9 04 00 00 00 mov ecx, 4
|
|
00a6e 48 6b c9 0c imul rcx, rcx, 12
|
|
00a72 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00a76 b9 8a 4c 2a 8d mov ecx, -1926607734 ; ffffffff8d2a4c8aH
|
|
00a7b 8b 55 04 mov edx, DWORD PTR b$[rbp]
|
|
00a7e 48 03 ca add rcx, rdx
|
|
00a81 03 c1 add eax, ecx
|
|
00a83 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
00a86 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00a89 c1 e0 14 shl eax, 20
|
|
00a8c 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00a8f c1 e9 0c shr ecx, 12
|
|
00a92 0b c1 or eax, ecx
|
|
00a94 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
00a97 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00a9a 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00a9d 03 c8 add ecx, eax
|
|
00a9f 8b c1 mov eax, ecx
|
|
00aa1 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
|
|
; 145 :
|
|
; 146 : /* Round 3 */
|
|
; 147 : HH (a, b, c, d, x[ 5], S31, 0xfffa3942); /* 33 */
|
|
|
|
00aa4 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00aa7 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00aaa 33 c8 xor ecx, eax
|
|
00aac 8b c1 mov eax, ecx
|
|
00aae 33 45 0c xor eax, DWORD PTR d$[rbp]
|
|
00ab1 b9 04 00 00 00 mov ecx, 4
|
|
00ab6 48 6b c9 05 imul rcx, rcx, 5
|
|
00aba 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00abe b9 42 39 fa ff mov ecx, -378558 ; fffffffffffa3942H
|
|
00ac3 8b 55 00 mov edx, DWORD PTR a$[rbp]
|
|
00ac6 48 03 ca add rcx, rdx
|
|
00ac9 03 c1 add eax, ecx
|
|
00acb 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
00ace 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
00ad1 c1 e0 04 shl eax, 4
|
|
00ad4 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00ad7 c1 e9 1c shr ecx, 28
|
|
00ada 0b c1 or eax, ecx
|
|
00adc 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
00adf 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00ae2 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00ae5 03 c8 add ecx, eax
|
|
00ae7 8b c1 mov eax, ecx
|
|
00ae9 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
|
|
; 148 : HH (d, a, b, c, x[ 8], S32, 0x8771f681); /* 34 */
|
|
|
|
00aec 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00aef 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00af2 33 c8 xor ecx, eax
|
|
00af4 8b c1 mov eax, ecx
|
|
00af6 33 45 08 xor eax, DWORD PTR c$[rbp]
|
|
00af9 b9 04 00 00 00 mov ecx, 4
|
|
00afe 48 6b c9 08 imul rcx, rcx, 8
|
|
00b02 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00b06 b9 81 f6 71 87 mov ecx, -2022574463 ; ffffffff8771f681H
|
|
00b0b 8b 55 0c mov edx, DWORD PTR d$[rbp]
|
|
00b0e 48 03 ca add rcx, rdx
|
|
00b11 03 c1 add eax, ecx
|
|
00b13 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
00b16 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00b19 c1 e0 0b shl eax, 11
|
|
00b1c 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00b1f c1 e9 15 shr ecx, 21
|
|
00b22 0b c1 or eax, ecx
|
|
00b24 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
00b27 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
00b2a 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00b2d 03 c8 add ecx, eax
|
|
00b2f 8b c1 mov eax, ecx
|
|
00b31 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
|
|
; 149 : HH (c, d, a, b, x[11], S33, 0x6d9d6122); /* 35 */
|
|
|
|
00b34 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
00b37 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00b3a 33 c8 xor ecx, eax
|
|
00b3c 8b c1 mov eax, ecx
|
|
00b3e 33 45 04 xor eax, DWORD PTR b$[rbp]
|
|
00b41 b9 04 00 00 00 mov ecx, 4
|
|
00b46 48 6b c9 0b imul rcx, rcx, 11
|
|
00b4a 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00b4e 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00b51 8d 84 01 22 61
|
|
9d 6d lea eax, DWORD PTR [rcx+rax+1839030562]
|
|
00b58 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
00b5b 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00b5e c1 e0 10 shl eax, 16
|
|
00b61 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00b64 c1 e9 10 shr ecx, 16
|
|
00b67 0b c1 or eax, ecx
|
|
00b69 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
00b6c 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00b6f 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00b72 03 c8 add ecx, eax
|
|
00b74 8b c1 mov eax, ecx
|
|
00b76 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
|
|
; 150 : HH (b, c, d, a, x[14], S34, 0xfde5380c); /* 36 */
|
|
|
|
00b79 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00b7c 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00b7f 33 c8 xor ecx, eax
|
|
00b81 8b c1 mov eax, ecx
|
|
00b83 33 45 00 xor eax, DWORD PTR a$[rbp]
|
|
00b86 b9 04 00 00 00 mov ecx, 4
|
|
00b8b 48 6b c9 0e imul rcx, rcx, 14
|
|
00b8f 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00b93 b9 0c 38 e5 fd mov ecx, -35309556 ; fffffffffde5380cH
|
|
00b98 8b 55 04 mov edx, DWORD PTR b$[rbp]
|
|
00b9b 48 03 ca add rcx, rdx
|
|
00b9e 03 c1 add eax, ecx
|
|
00ba0 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
00ba3 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00ba6 c1 e0 17 shl eax, 23
|
|
00ba9 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00bac c1 e9 09 shr ecx, 9
|
|
00baf 0b c1 or eax, ecx
|
|
00bb1 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
00bb4 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00bb7 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00bba 03 c8 add ecx, eax
|
|
00bbc 8b c1 mov eax, ecx
|
|
00bbe 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
|
|
; 151 : HH (a, b, c, d, x[ 1], S31, 0xa4beea44); /* 37 */
|
|
|
|
00bc1 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00bc4 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00bc7 33 c8 xor ecx, eax
|
|
00bc9 8b c1 mov eax, ecx
|
|
00bcb 33 45 0c xor eax, DWORD PTR d$[rbp]
|
|
00bce b9 04 00 00 00 mov ecx, 4
|
|
00bd3 48 6b c9 01 imul rcx, rcx, 1
|
|
00bd7 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00bdb b9 44 ea be a4 mov ecx, -1530992060 ; ffffffffa4beea44H
|
|
00be0 8b 55 00 mov edx, DWORD PTR a$[rbp]
|
|
00be3 48 03 ca add rcx, rdx
|
|
00be6 03 c1 add eax, ecx
|
|
00be8 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
00beb 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
00bee c1 e0 04 shl eax, 4
|
|
00bf1 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00bf4 c1 e9 1c shr ecx, 28
|
|
00bf7 0b c1 or eax, ecx
|
|
00bf9 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
00bfc 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00bff 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00c02 03 c8 add ecx, eax
|
|
00c04 8b c1 mov eax, ecx
|
|
00c06 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
|
|
; 152 : HH (d, a, b, c, x[ 4], S32, 0x4bdecfa9); /* 38 */
|
|
|
|
00c09 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00c0c 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00c0f 33 c8 xor ecx, eax
|
|
00c11 8b c1 mov eax, ecx
|
|
00c13 33 45 08 xor eax, DWORD PTR c$[rbp]
|
|
00c16 b9 04 00 00 00 mov ecx, 4
|
|
00c1b 48 6b c9 04 imul rcx, rcx, 4
|
|
00c1f 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00c23 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00c26 8d 84 01 a9 cf
|
|
de 4b lea eax, DWORD PTR [rcx+rax+1272893353]
|
|
00c2d 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
00c30 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00c33 c1 e0 0b shl eax, 11
|
|
00c36 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00c39 c1 e9 15 shr ecx, 21
|
|
00c3c 0b c1 or eax, ecx
|
|
00c3e 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
00c41 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
00c44 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00c47 03 c8 add ecx, eax
|
|
00c49 8b c1 mov eax, ecx
|
|
00c4b 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
|
|
; 153 : HH (c, d, a, b, x[ 7], S33, 0xf6bb4b60); /* 39 */
|
|
|
|
00c4e 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
00c51 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00c54 33 c8 xor ecx, eax
|
|
00c56 8b c1 mov eax, ecx
|
|
00c58 33 45 04 xor eax, DWORD PTR b$[rbp]
|
|
00c5b b9 04 00 00 00 mov ecx, 4
|
|
00c60 48 6b c9 07 imul rcx, rcx, 7
|
|
00c64 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00c68 b9 60 4b bb f6 mov ecx, -155497632 ; fffffffff6bb4b60H
|
|
00c6d 8b 55 08 mov edx, DWORD PTR c$[rbp]
|
|
00c70 48 03 ca add rcx, rdx
|
|
00c73 03 c1 add eax, ecx
|
|
00c75 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
00c78 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00c7b c1 e0 10 shl eax, 16
|
|
00c7e 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00c81 c1 e9 10 shr ecx, 16
|
|
00c84 0b c1 or eax, ecx
|
|
00c86 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
00c89 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00c8c 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00c8f 03 c8 add ecx, eax
|
|
00c91 8b c1 mov eax, ecx
|
|
00c93 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
|
|
; 154 : HH (b, c, d, a, x[10], S34, 0xbebfbc70); /* 40 */
|
|
|
|
00c96 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00c99 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00c9c 33 c8 xor ecx, eax
|
|
00c9e 8b c1 mov eax, ecx
|
|
00ca0 33 45 00 xor eax, DWORD PTR a$[rbp]
|
|
00ca3 b9 04 00 00 00 mov ecx, 4
|
|
00ca8 48 6b c9 0a imul rcx, rcx, 10
|
|
00cac 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00cb0 b9 70 bc bf be mov ecx, -1094730640 ; ffffffffbebfbc70H
|
|
00cb5 8b 55 04 mov edx, DWORD PTR b$[rbp]
|
|
00cb8 48 03 ca add rcx, rdx
|
|
00cbb 03 c1 add eax, ecx
|
|
00cbd 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
00cc0 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00cc3 c1 e0 17 shl eax, 23
|
|
00cc6 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00cc9 c1 e9 09 shr ecx, 9
|
|
00ccc 0b c1 or eax, ecx
|
|
00cce 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
00cd1 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00cd4 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00cd7 03 c8 add ecx, eax
|
|
00cd9 8b c1 mov eax, ecx
|
|
00cdb 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
|
|
; 155 : HH (a, b, c, d, x[13], S31, 0x289b7ec6); /* 41 */
|
|
|
|
00cde 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00ce1 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00ce4 33 c8 xor ecx, eax
|
|
00ce6 8b c1 mov eax, ecx
|
|
00ce8 33 45 0c xor eax, DWORD PTR d$[rbp]
|
|
00ceb b9 04 00 00 00 mov ecx, 4
|
|
00cf0 48 6b c9 0d imul rcx, rcx, 13
|
|
00cf4 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00cf8 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00cfb 8d 84 01 c6 7e
|
|
9b 28 lea eax, DWORD PTR [rcx+rax+681279174]
|
|
00d02 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
00d05 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
00d08 c1 e0 04 shl eax, 4
|
|
00d0b 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00d0e c1 e9 1c shr ecx, 28
|
|
00d11 0b c1 or eax, ecx
|
|
00d13 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
00d16 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00d19 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00d1c 03 c8 add ecx, eax
|
|
00d1e 8b c1 mov eax, ecx
|
|
00d20 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
|
|
; 156 : HH (d, a, b, c, x[ 0], S32, 0xeaa127fa); /* 42 */
|
|
|
|
00d23 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00d26 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00d29 33 c8 xor ecx, eax
|
|
00d2b 8b c1 mov eax, ecx
|
|
00d2d 33 45 08 xor eax, DWORD PTR c$[rbp]
|
|
00d30 b9 04 00 00 00 mov ecx, 4
|
|
00d35 48 6b c9 00 imul rcx, rcx, 0
|
|
00d39 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00d3d b9 fa 27 a1 ea mov ecx, -358537222 ; ffffffffeaa127faH
|
|
00d42 8b 55 0c mov edx, DWORD PTR d$[rbp]
|
|
00d45 48 03 ca add rcx, rdx
|
|
00d48 03 c1 add eax, ecx
|
|
00d4a 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
00d4d 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00d50 c1 e0 0b shl eax, 11
|
|
00d53 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00d56 c1 e9 15 shr ecx, 21
|
|
00d59 0b c1 or eax, ecx
|
|
00d5b 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
00d5e 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
00d61 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00d64 03 c8 add ecx, eax
|
|
00d66 8b c1 mov eax, ecx
|
|
00d68 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
|
|
; 157 : HH (c, d, a, b, x[ 3], S33, 0xd4ef3085); /* 43 */
|
|
|
|
00d6b 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
00d6e 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00d71 33 c8 xor ecx, eax
|
|
00d73 8b c1 mov eax, ecx
|
|
00d75 33 45 04 xor eax, DWORD PTR b$[rbp]
|
|
00d78 b9 04 00 00 00 mov ecx, 4
|
|
00d7d 48 6b c9 03 imul rcx, rcx, 3
|
|
00d81 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00d85 b9 85 30 ef d4 mov ecx, -722521979 ; ffffffffd4ef3085H
|
|
00d8a 8b 55 08 mov edx, DWORD PTR c$[rbp]
|
|
00d8d 48 03 ca add rcx, rdx
|
|
00d90 03 c1 add eax, ecx
|
|
00d92 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
00d95 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00d98 c1 e0 10 shl eax, 16
|
|
00d9b 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00d9e c1 e9 10 shr ecx, 16
|
|
00da1 0b c1 or eax, ecx
|
|
00da3 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
00da6 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00da9 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00dac 03 c8 add ecx, eax
|
|
00dae 8b c1 mov eax, ecx
|
|
00db0 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
|
|
; 158 : HH (b, c, d, a, x[ 6], S34, 0x4881d05); /* 44 */
|
|
|
|
00db3 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00db6 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00db9 33 c8 xor ecx, eax
|
|
00dbb 8b c1 mov eax, ecx
|
|
00dbd 33 45 00 xor eax, DWORD PTR a$[rbp]
|
|
00dc0 b9 04 00 00 00 mov ecx, 4
|
|
00dc5 48 6b c9 06 imul rcx, rcx, 6
|
|
00dc9 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00dcd 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00dd0 8d 84 01 05 1d
|
|
88 04 lea eax, DWORD PTR [rcx+rax+76029189]
|
|
00dd7 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
00dda 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00ddd c1 e0 17 shl eax, 23
|
|
00de0 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00de3 c1 e9 09 shr ecx, 9
|
|
00de6 0b c1 or eax, ecx
|
|
00de8 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
00deb 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00dee 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00df1 03 c8 add ecx, eax
|
|
00df3 8b c1 mov eax, ecx
|
|
00df5 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
|
|
; 159 : HH (a, b, c, d, x[ 9], S31, 0xd9d4d039); /* 45 */
|
|
|
|
00df8 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00dfb 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00dfe 33 c8 xor ecx, eax
|
|
00e00 8b c1 mov eax, ecx
|
|
00e02 33 45 0c xor eax, DWORD PTR d$[rbp]
|
|
00e05 b9 04 00 00 00 mov ecx, 4
|
|
00e0a 48 6b c9 09 imul rcx, rcx, 9
|
|
00e0e 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00e12 b9 39 d0 d4 d9 mov ecx, -640364487 ; ffffffffd9d4d039H
|
|
00e17 8b 55 00 mov edx, DWORD PTR a$[rbp]
|
|
00e1a 48 03 ca add rcx, rdx
|
|
00e1d 03 c1 add eax, ecx
|
|
00e1f 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
00e22 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
00e25 c1 e0 04 shl eax, 4
|
|
00e28 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00e2b c1 e9 1c shr ecx, 28
|
|
00e2e 0b c1 or eax, ecx
|
|
00e30 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
00e33 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00e36 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00e39 03 c8 add ecx, eax
|
|
00e3b 8b c1 mov eax, ecx
|
|
00e3d 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
|
|
; 160 : HH (d, a, b, c, x[12], S32, 0xe6db99e5); /* 46 */
|
|
|
|
00e40 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00e43 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00e46 33 c8 xor ecx, eax
|
|
00e48 8b c1 mov eax, ecx
|
|
00e4a 33 45 08 xor eax, DWORD PTR c$[rbp]
|
|
00e4d b9 04 00 00 00 mov ecx, 4
|
|
00e52 48 6b c9 0c imul rcx, rcx, 12
|
|
00e56 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00e5a b9 e5 99 db e6 mov ecx, -421815835 ; ffffffffe6db99e5H
|
|
00e5f 8b 55 0c mov edx, DWORD PTR d$[rbp]
|
|
00e62 48 03 ca add rcx, rdx
|
|
00e65 03 c1 add eax, ecx
|
|
00e67 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
00e6a 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00e6d c1 e0 0b shl eax, 11
|
|
00e70 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00e73 c1 e9 15 shr ecx, 21
|
|
00e76 0b c1 or eax, ecx
|
|
00e78 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
00e7b 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
00e7e 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00e81 03 c8 add ecx, eax
|
|
00e83 8b c1 mov eax, ecx
|
|
00e85 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
|
|
; 161 : HH (c, d, a, b, x[15], S33, 0x1fa27cf8); /* 47 */
|
|
|
|
00e88 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
00e8b 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00e8e 33 c8 xor ecx, eax
|
|
00e90 8b c1 mov eax, ecx
|
|
00e92 33 45 04 xor eax, DWORD PTR b$[rbp]
|
|
00e95 b9 04 00 00 00 mov ecx, 4
|
|
00e9a 48 6b c9 0f imul rcx, rcx, 15
|
|
00e9e 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00ea2 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00ea5 8d 84 01 f8 7c
|
|
a2 1f lea eax, DWORD PTR [rcx+rax+530742520]
|
|
00eac 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
00eaf 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00eb2 c1 e0 10 shl eax, 16
|
|
00eb5 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00eb8 c1 e9 10 shr ecx, 16
|
|
00ebb 0b c1 or eax, ecx
|
|
00ebd 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
00ec0 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00ec3 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00ec6 03 c8 add ecx, eax
|
|
00ec8 8b c1 mov eax, ecx
|
|
00eca 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
|
|
; 162 : HH (b, c, d, a, x[ 2], S34, 0xc4ac5665); /* 48 */
|
|
|
|
00ecd 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00ed0 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00ed3 33 c8 xor ecx, eax
|
|
00ed5 8b c1 mov eax, ecx
|
|
00ed7 33 45 00 xor eax, DWORD PTR a$[rbp]
|
|
00eda b9 04 00 00 00 mov ecx, 4
|
|
00edf 48 6b c9 02 imul rcx, rcx, 2
|
|
00ee3 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00ee7 b9 65 56 ac c4 mov ecx, -995338651 ; ffffffffc4ac5665H
|
|
00eec 8b 55 04 mov edx, DWORD PTR b$[rbp]
|
|
00eef 48 03 ca add rcx, rdx
|
|
00ef2 03 c1 add eax, ecx
|
|
00ef4 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
00ef7 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00efa c1 e0 17 shl eax, 23
|
|
00efd 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00f00 c1 e9 09 shr ecx, 9
|
|
00f03 0b c1 or eax, ecx
|
|
00f05 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
00f08 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00f0b 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00f0e 03 c8 add ecx, eax
|
|
00f10 8b c1 mov eax, ecx
|
|
00f12 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
|
|
; 163 :
|
|
; 164 : /* Round 4 */
|
|
; 165 : II (a, b, c, d, x[ 0], S41, 0xf4292244); /* 49 */
|
|
|
|
00f15 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00f18 f7 d0 not eax
|
|
00f1a 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00f1d 0b c8 or ecx, eax
|
|
00f1f 8b c1 mov eax, ecx
|
|
00f21 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00f24 33 c8 xor ecx, eax
|
|
00f26 8b c1 mov eax, ecx
|
|
00f28 b9 04 00 00 00 mov ecx, 4
|
|
00f2d 48 6b c9 00 imul rcx, rcx, 0
|
|
00f31 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00f35 b9 44 22 29 f4 mov ecx, -198630844 ; fffffffff4292244H
|
|
00f3a 8b 55 00 mov edx, DWORD PTR a$[rbp]
|
|
00f3d 48 03 ca add rcx, rdx
|
|
00f40 03 c1 add eax, ecx
|
|
00f42 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
00f45 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
00f48 c1 e0 06 shl eax, 6
|
|
00f4b 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00f4e c1 e9 1a shr ecx, 26
|
|
00f51 0b c1 or eax, ecx
|
|
00f53 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
00f56 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00f59 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00f5c 03 c8 add ecx, eax
|
|
00f5e 8b c1 mov eax, ecx
|
|
00f60 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
|
|
; 166 : II (d, a, b, c, x[ 7], S42, 0x432aff97); /* 50 */
|
|
|
|
00f63 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00f66 f7 d0 not eax
|
|
00f68 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00f6b 0b c8 or ecx, eax
|
|
00f6d 8b c1 mov eax, ecx
|
|
00f6f 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
00f72 33 c8 xor ecx, eax
|
|
00f74 8b c1 mov eax, ecx
|
|
00f76 b9 04 00 00 00 mov ecx, 4
|
|
00f7b 48 6b c9 07 imul rcx, rcx, 7
|
|
00f7f 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00f83 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00f86 8d 84 01 97 ff
|
|
2a 43 lea eax, DWORD PTR [rcx+rax+1126891415]
|
|
00f8d 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
00f90 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00f93 c1 e0 0a shl eax, 10
|
|
00f96 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00f99 c1 e9 16 shr ecx, 22
|
|
00f9c 0b c1 or eax, ecx
|
|
00f9e 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
00fa1 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
00fa4 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00fa7 03 c8 add ecx, eax
|
|
00fa9 8b c1 mov eax, ecx
|
|
00fab 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
|
|
; 167 : II (c, d, a, b, x[14], S43, 0xab9423a7); /* 51 */
|
|
|
|
00fae 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
00fb1 f7 d0 not eax
|
|
00fb3 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
00fb6 0b c8 or ecx, eax
|
|
00fb8 8b c1 mov eax, ecx
|
|
00fba 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
00fbd 33 c8 xor ecx, eax
|
|
00fbf 8b c1 mov eax, ecx
|
|
00fc1 b9 04 00 00 00 mov ecx, 4
|
|
00fc6 48 6b c9 0e imul rcx, rcx, 14
|
|
00fca 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
00fce b9 a7 23 94 ab mov ecx, -1416354905 ; ffffffffab9423a7H
|
|
00fd3 8b 55 08 mov edx, DWORD PTR c$[rbp]
|
|
00fd6 48 03 ca add rcx, rdx
|
|
00fd9 03 c1 add eax, ecx
|
|
00fdb 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
00fde 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
00fe1 c1 e0 0f shl eax, 15
|
|
00fe4 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00fe7 c1 e9 11 shr ecx, 17
|
|
00fea 0b c1 or eax, ecx
|
|
00fec 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
00fef 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
00ff2 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
00ff5 03 c8 add ecx, eax
|
|
00ff7 8b c1 mov eax, ecx
|
|
00ff9 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
|
|
; 168 : II (b, c, d, a, x[ 5], S44, 0xfc93a039); /* 52 */
|
|
|
|
00ffc 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
00fff f7 d0 not eax
|
|
01001 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
01004 0b c8 or ecx, eax
|
|
01006 8b c1 mov eax, ecx
|
|
01008 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
0100b 33 c8 xor ecx, eax
|
|
0100d 8b c1 mov eax, ecx
|
|
0100f b9 04 00 00 00 mov ecx, 4
|
|
01014 48 6b c9 05 imul rcx, rcx, 5
|
|
01018 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
0101c b9 39 a0 93 fc mov ecx, -57434055 ; fffffffffc93a039H
|
|
01021 8b 55 04 mov edx, DWORD PTR b$[rbp]
|
|
01024 48 03 ca add rcx, rdx
|
|
01027 03 c1 add eax, ecx
|
|
01029 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
0102c 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
0102f c1 e0 15 shl eax, 21
|
|
01032 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
01035 c1 e9 0b shr ecx, 11
|
|
01038 0b c1 or eax, ecx
|
|
0103a 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
0103d 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
01040 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
01043 03 c8 add ecx, eax
|
|
01045 8b c1 mov eax, ecx
|
|
01047 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
|
|
; 169 : II (a, b, c, d, x[12], S41, 0x655b59c3); /* 53 */
|
|
|
|
0104a 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
0104d f7 d0 not eax
|
|
0104f 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
01052 0b c8 or ecx, eax
|
|
01054 8b c1 mov eax, ecx
|
|
01056 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
01059 33 c8 xor ecx, eax
|
|
0105b 8b c1 mov eax, ecx
|
|
0105d b9 04 00 00 00 mov ecx, 4
|
|
01062 48 6b c9 0c imul rcx, rcx, 12
|
|
01066 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
0106a 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
0106d 8d 84 01 c3 59
|
|
5b 65 lea eax, DWORD PTR [rcx+rax+1700485571]
|
|
01074 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
01077 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
0107a c1 e0 06 shl eax, 6
|
|
0107d 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
01080 c1 e9 1a shr ecx, 26
|
|
01083 0b c1 or eax, ecx
|
|
01085 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
01088 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
0108b 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
0108e 03 c8 add ecx, eax
|
|
01090 8b c1 mov eax, ecx
|
|
01092 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
|
|
; 170 : II (d, a, b, c, x[ 3], S42, 0x8f0ccc92); /* 54 */
|
|
|
|
01095 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
01098 f7 d0 not eax
|
|
0109a 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
0109d 0b c8 or ecx, eax
|
|
0109f 8b c1 mov eax, ecx
|
|
010a1 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
010a4 33 c8 xor ecx, eax
|
|
010a6 8b c1 mov eax, ecx
|
|
010a8 b9 04 00 00 00 mov ecx, 4
|
|
010ad 48 6b c9 03 imul rcx, rcx, 3
|
|
010b1 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
010b5 b9 92 cc 0c 8f mov ecx, -1894986606 ; ffffffff8f0ccc92H
|
|
010ba 8b 55 0c mov edx, DWORD PTR d$[rbp]
|
|
010bd 48 03 ca add rcx, rdx
|
|
010c0 03 c1 add eax, ecx
|
|
010c2 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
010c5 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
010c8 c1 e0 0a shl eax, 10
|
|
010cb 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
010ce c1 e9 16 shr ecx, 22
|
|
010d1 0b c1 or eax, ecx
|
|
010d3 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
010d6 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
010d9 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
010dc 03 c8 add ecx, eax
|
|
010de 8b c1 mov eax, ecx
|
|
010e0 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
|
|
; 171 : II (c, d, a, b, x[10], S43, 0xffeff47d); /* 55 */
|
|
|
|
010e3 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
010e6 f7 d0 not eax
|
|
010e8 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
010eb 0b c8 or ecx, eax
|
|
010ed 8b c1 mov eax, ecx
|
|
010ef 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
010f2 33 c8 xor ecx, eax
|
|
010f4 8b c1 mov eax, ecx
|
|
010f6 b9 04 00 00 00 mov ecx, 4
|
|
010fb 48 6b c9 0a imul rcx, rcx, 10
|
|
010ff 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
01103 b9 7d f4 ef ff mov ecx, -1051523 ; ffffffffffeff47dH
|
|
01108 8b 55 08 mov edx, DWORD PTR c$[rbp]
|
|
0110b 48 03 ca add rcx, rdx
|
|
0110e 03 c1 add eax, ecx
|
|
01110 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
01113 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
01116 c1 e0 0f shl eax, 15
|
|
01119 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
0111c c1 e9 11 shr ecx, 17
|
|
0111f 0b c1 or eax, ecx
|
|
01121 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
01124 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
01127 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
0112a 03 c8 add ecx, eax
|
|
0112c 8b c1 mov eax, ecx
|
|
0112e 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
|
|
; 172 : II (b, c, d, a, x[ 1], S44, 0x85845dd1); /* 56 */
|
|
|
|
01131 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
01134 f7 d0 not eax
|
|
01136 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
01139 0b c8 or ecx, eax
|
|
0113b 8b c1 mov eax, ecx
|
|
0113d 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
01140 33 c8 xor ecx, eax
|
|
01142 8b c1 mov eax, ecx
|
|
01144 b9 04 00 00 00 mov ecx, 4
|
|
01149 48 6b c9 01 imul rcx, rcx, 1
|
|
0114d 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
01151 b9 d1 5d 84 85 mov ecx, -2054922799 ; ffffffff85845dd1H
|
|
01156 8b 55 04 mov edx, DWORD PTR b$[rbp]
|
|
01159 48 03 ca add rcx, rdx
|
|
0115c 03 c1 add eax, ecx
|
|
0115e 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
01161 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
01164 c1 e0 15 shl eax, 21
|
|
01167 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
0116a c1 e9 0b shr ecx, 11
|
|
0116d 0b c1 or eax, ecx
|
|
0116f 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
01172 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
01175 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
01178 03 c8 add ecx, eax
|
|
0117a 8b c1 mov eax, ecx
|
|
0117c 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
|
|
; 173 : II (a, b, c, d, x[ 8], S41, 0x6fa87e4f); /* 57 */
|
|
|
|
0117f 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
01182 f7 d0 not eax
|
|
01184 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
01187 0b c8 or ecx, eax
|
|
01189 8b c1 mov eax, ecx
|
|
0118b 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
0118e 33 c8 xor ecx, eax
|
|
01190 8b c1 mov eax, ecx
|
|
01192 b9 04 00 00 00 mov ecx, 4
|
|
01197 48 6b c9 08 imul rcx, rcx, 8
|
|
0119b 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
0119f 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
011a2 8d 84 01 4f 7e
|
|
a8 6f lea eax, DWORD PTR [rcx+rax+1873313359]
|
|
011a9 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
011ac 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
011af c1 e0 06 shl eax, 6
|
|
011b2 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
011b5 c1 e9 1a shr ecx, 26
|
|
011b8 0b c1 or eax, ecx
|
|
011ba 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
011bd 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
011c0 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
011c3 03 c8 add ecx, eax
|
|
011c5 8b c1 mov eax, ecx
|
|
011c7 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
|
|
; 174 : II (d, a, b, c, x[15], S42, 0xfe2ce6e0); /* 58 */
|
|
|
|
011ca 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
011cd f7 d0 not eax
|
|
011cf 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
011d2 0b c8 or ecx, eax
|
|
011d4 8b c1 mov eax, ecx
|
|
011d6 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
011d9 33 c8 xor ecx, eax
|
|
011db 8b c1 mov eax, ecx
|
|
011dd b9 04 00 00 00 mov ecx, 4
|
|
011e2 48 6b c9 0f imul rcx, rcx, 15
|
|
011e6 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
011ea b9 e0 e6 2c fe mov ecx, -30611744 ; fffffffffe2ce6e0H
|
|
011ef 8b 55 0c mov edx, DWORD PTR d$[rbp]
|
|
011f2 48 03 ca add rcx, rdx
|
|
011f5 03 c1 add eax, ecx
|
|
011f7 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
011fa 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
011fd c1 e0 0a shl eax, 10
|
|
01200 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
01203 c1 e9 16 shr ecx, 22
|
|
01206 0b c1 or eax, ecx
|
|
01208 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
0120b 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
0120e 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
01211 03 c8 add ecx, eax
|
|
01213 8b c1 mov eax, ecx
|
|
01215 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
|
|
; 175 : II (c, d, a, b, x[ 6], S43, 0xa3014314); /* 59 */
|
|
|
|
01218 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
0121b f7 d0 not eax
|
|
0121d 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
01220 0b c8 or ecx, eax
|
|
01222 8b c1 mov eax, ecx
|
|
01224 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
01227 33 c8 xor ecx, eax
|
|
01229 8b c1 mov eax, ecx
|
|
0122b b9 04 00 00 00 mov ecx, 4
|
|
01230 48 6b c9 06 imul rcx, rcx, 6
|
|
01234 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
01238 b9 14 43 01 a3 mov ecx, -1560198380 ; ffffffffa3014314H
|
|
0123d 8b 55 08 mov edx, DWORD PTR c$[rbp]
|
|
01240 48 03 ca add rcx, rdx
|
|
01243 03 c1 add eax, ecx
|
|
01245 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
01248 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
0124b c1 e0 0f shl eax, 15
|
|
0124e 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
01251 c1 e9 11 shr ecx, 17
|
|
01254 0b c1 or eax, ecx
|
|
01256 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
01259 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
0125c 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
0125f 03 c8 add ecx, eax
|
|
01261 8b c1 mov eax, ecx
|
|
01263 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
|
|
; 176 : II (b, c, d, a, x[13], S44, 0x4e0811a1); /* 60 */
|
|
|
|
01266 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
01269 f7 d0 not eax
|
|
0126b 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
0126e 0b c8 or ecx, eax
|
|
01270 8b c1 mov eax, ecx
|
|
01272 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
01275 33 c8 xor ecx, eax
|
|
01277 8b c1 mov eax, ecx
|
|
01279 b9 04 00 00 00 mov ecx, 4
|
|
0127e 48 6b c9 0d imul rcx, rcx, 13
|
|
01282 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
01286 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
01289 8d 84 01 a1 11
|
|
08 4e lea eax, DWORD PTR [rcx+rax+1309151649]
|
|
01290 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
01293 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
01296 c1 e0 15 shl eax, 21
|
|
01299 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
0129c c1 e9 0b shr ecx, 11
|
|
0129f 0b c1 or eax, ecx
|
|
012a1 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
012a4 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
012a7 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
012aa 03 c8 add ecx, eax
|
|
012ac 8b c1 mov eax, ecx
|
|
012ae 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
|
|
; 177 : II (a, b, c, d, x[ 4], S41, 0xf7537e82); /* 61 */
|
|
|
|
012b1 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
012b4 f7 d0 not eax
|
|
012b6 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
012b9 0b c8 or ecx, eax
|
|
012bb 8b c1 mov eax, ecx
|
|
012bd 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
012c0 33 c8 xor ecx, eax
|
|
012c2 8b c1 mov eax, ecx
|
|
012c4 b9 04 00 00 00 mov ecx, 4
|
|
012c9 48 6b c9 04 imul rcx, rcx, 4
|
|
012cd 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
012d1 b9 82 7e 53 f7 mov ecx, -145523070 ; fffffffff7537e82H
|
|
012d6 8b 55 00 mov edx, DWORD PTR a$[rbp]
|
|
012d9 48 03 ca add rcx, rdx
|
|
012dc 03 c1 add eax, ecx
|
|
012de 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
012e1 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
012e4 c1 e0 06 shl eax, 6
|
|
012e7 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
012ea c1 e9 1a shr ecx, 26
|
|
012ed 0b c1 or eax, ecx
|
|
012ef 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
012f2 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
012f5 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
012f8 03 c8 add ecx, eax
|
|
012fa 8b c1 mov eax, ecx
|
|
012fc 89 45 00 mov DWORD PTR a$[rbp], eax
|
|
|
|
; 178 : II (d, a, b, c, x[11], S42, 0xbd3af235); /* 62 */
|
|
|
|
012ff 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
01302 f7 d0 not eax
|
|
01304 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
01307 0b c8 or ecx, eax
|
|
01309 8b c1 mov eax, ecx
|
|
0130b 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
0130e 33 c8 xor ecx, eax
|
|
01310 8b c1 mov eax, ecx
|
|
01312 b9 04 00 00 00 mov ecx, 4
|
|
01317 48 6b c9 0b imul rcx, rcx, 11
|
|
0131b 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
0131f b9 35 f2 3a bd mov ecx, -1120210379 ; ffffffffbd3af235H
|
|
01324 8b 55 0c mov edx, DWORD PTR d$[rbp]
|
|
01327 48 03 ca add rcx, rdx
|
|
0132a 03 c1 add eax, ecx
|
|
0132c 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
0132f 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
01332 c1 e0 0a shl eax, 10
|
|
01335 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
01338 c1 e9 16 shr ecx, 22
|
|
0133b 0b c1 or eax, ecx
|
|
0133d 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
01340 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
01343 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
01346 03 c8 add ecx, eax
|
|
01348 8b c1 mov eax, ecx
|
|
0134a 89 45 0c mov DWORD PTR d$[rbp], eax
|
|
|
|
; 179 : II (c, d, a, b, x[ 2], S43, 0x2ad7d2bb); /* 63 */
|
|
|
|
0134d 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
01350 f7 d0 not eax
|
|
01352 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
01355 0b c8 or ecx, eax
|
|
01357 8b c1 mov eax, ecx
|
|
01359 8b 4d 00 mov ecx, DWORD PTR a$[rbp]
|
|
0135c 33 c8 xor ecx, eax
|
|
0135e 8b c1 mov eax, ecx
|
|
01360 b9 04 00 00 00 mov ecx, 4
|
|
01365 48 6b c9 02 imul rcx, rcx, 2
|
|
01369 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
0136d 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
01370 8d 84 01 bb d2
|
|
d7 2a lea eax, DWORD PTR [rcx+rax+718787259]
|
|
01377 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
0137a 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
0137d c1 e0 0f shl eax, 15
|
|
01380 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
01383 c1 e9 11 shr ecx, 17
|
|
01386 0b c1 or eax, ecx
|
|
01388 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
0138b 8b 45 0c mov eax, DWORD PTR d$[rbp]
|
|
0138e 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
01391 03 c8 add ecx, eax
|
|
01393 8b c1 mov eax, ecx
|
|
01395 89 45 08 mov DWORD PTR c$[rbp], eax
|
|
|
|
; 180 : II (b, c, d, a, x[ 9], S44, 0xeb86d391); /* 64 */
|
|
|
|
01398 8b 45 00 mov eax, DWORD PTR a$[rbp]
|
|
0139b f7 d0 not eax
|
|
0139d 8b 4d 08 mov ecx, DWORD PTR c$[rbp]
|
|
013a0 0b c8 or ecx, eax
|
|
013a2 8b c1 mov eax, ecx
|
|
013a4 8b 4d 0c mov ecx, DWORD PTR d$[rbp]
|
|
013a7 33 c8 xor ecx, eax
|
|
013a9 8b c1 mov eax, ecx
|
|
013ab b9 04 00 00 00 mov ecx, 4
|
|
013b0 48 6b c9 09 imul rcx, rcx, 9
|
|
013b4 03 44 0d 10 add eax, DWORD PTR x$[rbp+rcx]
|
|
013b8 b9 91 d3 86 eb mov ecx, -343485551 ; ffffffffeb86d391H
|
|
013bd 8b 55 04 mov edx, DWORD PTR b$[rbp]
|
|
013c0 48 03 ca add rcx, rdx
|
|
013c3 03 c1 add eax, ecx
|
|
013c5 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
013c8 8b 45 04 mov eax, DWORD PTR b$[rbp]
|
|
013cb c1 e0 15 shl eax, 21
|
|
013ce 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
013d1 c1 e9 0b shr ecx, 11
|
|
013d4 0b c1 or eax, ecx
|
|
013d6 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
013d9 8b 45 08 mov eax, DWORD PTR c$[rbp]
|
|
013dc 8b 4d 04 mov ecx, DWORD PTR b$[rbp]
|
|
013df 03 c8 add ecx, eax
|
|
013e1 8b c1 mov eax, ecx
|
|
013e3 89 45 04 mov DWORD PTR b$[rbp], eax
|
|
|
|
; 181 :
|
|
; 182 : state[0] += a;
|
|
|
|
013e6 b8 04 00 00 00 mov eax, 4
|
|
013eb 48 6b c0 00 imul rax, rax, 0
|
|
013ef 48 8b 8d b8 00
|
|
00 00 mov rcx, QWORD PTR state$[rbp]
|
|
013f6 8b 04 01 mov eax, DWORD PTR [rcx+rax]
|
|
013f9 03 45 00 add eax, DWORD PTR a$[rbp]
|
|
013fc b9 04 00 00 00 mov ecx, 4
|
|
01401 48 6b c9 00 imul rcx, rcx, 0
|
|
01405 48 8b 95 b8 00
|
|
00 00 mov rdx, QWORD PTR state$[rbp]
|
|
0140c 89 04 0a mov DWORD PTR [rdx+rcx], eax
|
|
|
|
; 183 : state[1] += b;
|
|
|
|
0140f b8 04 00 00 00 mov eax, 4
|
|
01414 48 6b c0 01 imul rax, rax, 1
|
|
01418 48 8b 8d b8 00
|
|
00 00 mov rcx, QWORD PTR state$[rbp]
|
|
0141f 8b 04 01 mov eax, DWORD PTR [rcx+rax]
|
|
01422 03 45 04 add eax, DWORD PTR b$[rbp]
|
|
01425 b9 04 00 00 00 mov ecx, 4
|
|
0142a 48 6b c9 01 imul rcx, rcx, 1
|
|
0142e 48 8b 95 b8 00
|
|
00 00 mov rdx, QWORD PTR state$[rbp]
|
|
01435 89 04 0a mov DWORD PTR [rdx+rcx], eax
|
|
|
|
; 184 : state[2] += c;
|
|
|
|
01438 b8 04 00 00 00 mov eax, 4
|
|
0143d 48 6b c0 02 imul rax, rax, 2
|
|
01441 48 8b 8d b8 00
|
|
00 00 mov rcx, QWORD PTR state$[rbp]
|
|
01448 8b 04 01 mov eax, DWORD PTR [rcx+rax]
|
|
0144b 03 45 08 add eax, DWORD PTR c$[rbp]
|
|
0144e b9 04 00 00 00 mov ecx, 4
|
|
01453 48 6b c9 02 imul rcx, rcx, 2
|
|
01457 48 8b 95 b8 00
|
|
00 00 mov rdx, QWORD PTR state$[rbp]
|
|
0145e 89 04 0a mov DWORD PTR [rdx+rcx], eax
|
|
|
|
; 185 : state[3] += d;
|
|
|
|
01461 b8 04 00 00 00 mov eax, 4
|
|
01466 48 6b c0 03 imul rax, rax, 3
|
|
0146a 48 8b 8d b8 00
|
|
00 00 mov rcx, QWORD PTR state$[rbp]
|
|
01471 8b 04 01 mov eax, DWORD PTR [rcx+rax]
|
|
01474 03 45 0c add eax, DWORD PTR d$[rbp]
|
|
01477 b9 04 00 00 00 mov ecx, 4
|
|
0147c 48 6b c9 03 imul rcx, rcx, 3
|
|
01480 48 8b 95 b8 00
|
|
00 00 mov rdx, QWORD PTR state$[rbp]
|
|
01487 89 04 0a mov DWORD PTR [rdx+rcx], eax
|
|
|
|
; 186 :
|
|
; 187 : /* Zeroize sensitive information.
|
|
; 188 : */
|
|
; 189 : MD5_memset ((POINTER)x, 0, sizeof (x));
|
|
|
|
0148a 41 b9 40 00 00
|
|
00 mov r9d, 64 ; 00000040H
|
|
01490 45 33 c0 xor r8d, r8d
|
|
01493 48 8d 55 10 lea rdx, QWORD PTR x$[rbp]
|
|
01497 48 8b 8d b0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0149e e8 00 00 00 00 call ?MD5_memset@MD5_L@@QEAAXPEAEHI@Z ; MD5_L::MD5_memset
|
|
|
|
; 190 : }
|
|
|
|
014a3 48 8b 8d 90 00
|
|
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
|
014aa 48 33 cd xor rcx, rbp
|
|
014ad e8 00 00 00 00 call __security_check_cookie
|
|
014b2 48 8d a5 a0 00
|
|
00 00 lea rsp, QWORD PTR [rbp+160]
|
|
014b9 5d pop rbp
|
|
014ba c3 ret 0
|
|
?MD5Transform@MD5_L@@QEAAXQEAKQEAE@Z ENDP ; MD5_L::MD5Transform
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h
|
|
; COMDAT sprintf
|
|
_TEXT SEGMENT
|
|
_Result$ = 0
|
|
_ArgList$ = 8
|
|
_Buffer$ = 112
|
|
_Format$ = 120
|
|
sprintf PROC ; COMDAT
|
|
|
|
; 1771 : {
|
|
|
|
$LN3:
|
|
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000a 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
|
0000f 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9
|
|
00014 55 push rbp
|
|
00015 48 81 ec 80 00
|
|
00 00 sub rsp, 128 ; 00000080H
|
|
0001c 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
|
|
; 1772 : int _Result;
|
|
; 1773 : va_list _ArgList;
|
|
; 1774 : __crt_va_start(_ArgList, _Format);
|
|
|
|
00021 48 8d 85 80 00
|
|
00 00 lea rax, QWORD PTR _Format$[rbp+8]
|
|
00028 48 89 45 08 mov QWORD PTR _ArgList$[rbp], rax
|
|
|
|
; 1775 :
|
|
; 1776 : _Result = _vsprintf_l(_Buffer, _Format, NULL, _ArgList);
|
|
|
|
0002c 4c 8b 4d 08 mov r9, QWORD PTR _ArgList$[rbp]
|
|
00030 45 33 c0 xor r8d, r8d
|
|
00033 48 8b 55 78 mov rdx, QWORD PTR _Format$[rbp]
|
|
00037 48 8b 4d 70 mov rcx, QWORD PTR _Buffer$[rbp]
|
|
0003b e8 00 00 00 00 call _vsprintf_l
|
|
00040 89 45 00 mov DWORD PTR _Result$[rbp], eax
|
|
|
|
; 1777 :
|
|
; 1778 : __crt_va_end(_ArgList);
|
|
|
|
00043 48 c7 45 08 00
|
|
00 00 00 mov QWORD PTR _ArgList$[rbp], 0
|
|
|
|
; 1779 : return _Result;
|
|
|
|
0004b 8b 45 00 mov eax, DWORD PTR _Result$[rbp]
|
|
|
|
; 1780 : }
|
|
|
|
0004e 48 8d 65 60 lea rsp, QWORD PTR [rbp+96]
|
|
00052 5d pop rbp
|
|
00053 c3 ret 0
|
|
sprintf ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h
|
|
; COMDAT _vsprintf_l
|
|
_TEXT SEGMENT
|
|
_Buffer$ = 80
|
|
_Format$ = 88
|
|
_Locale$ = 96
|
|
_ArgList$ = 104
|
|
_vsprintf_l PROC ; COMDAT
|
|
|
|
; 1458 : {
|
|
|
|
$LN3:
|
|
00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9
|
|
00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
|
0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00014 55 push rbp
|
|
00015 48 83 ec 70 sub rsp, 112 ; 00000070H
|
|
00019 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
|
|
|
|
; 1459 : return _vsnprintf_l(_Buffer, (size_t)-1, _Format, _Locale, _ArgList);
|
|
|
|
0001e 48 8b 45 68 mov rax, QWORD PTR _ArgList$[rbp]
|
|
00022 48 89 44 24 20 mov QWORD PTR [rsp+32], rax
|
|
00027 4c 8b 4d 60 mov r9, QWORD PTR _Locale$[rbp]
|
|
0002b 4c 8b 45 58 mov r8, QWORD PTR _Format$[rbp]
|
|
0002f 48 c7 c2 ff ff
|
|
ff ff mov rdx, -1
|
|
00036 48 8b 4d 50 mov rcx, QWORD PTR _Buffer$[rbp]
|
|
0003a e8 00 00 00 00 call _vsnprintf_l
|
|
|
|
; 1460 : }
|
|
|
|
0003f 48 8d 65 40 lea rsp, QWORD PTR [rbp+64]
|
|
00043 5d pop rbp
|
|
00044 c3 ret 0
|
|
_vsprintf_l ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h
|
|
; COMDAT _vsnprintf_l
|
|
_TEXT SEGMENT
|
|
_Result$ = 0
|
|
tv74 = 68
|
|
_Buffer$ = 96
|
|
_BufferCount$ = 104
|
|
_Format$ = 112
|
|
_Locale$ = 120
|
|
_ArgList$ = 128
|
|
_vsnprintf_l PROC ; COMDAT
|
|
|
|
; 1391 : {
|
|
|
|
$LN5:
|
|
00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9
|
|
00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
|
0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00014 55 push rbp
|
|
00015 48 81 ec 80 00
|
|
00 00 sub rsp, 128 ; 00000080H
|
|
0001c 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
|
|
|
|
; 1392 : int const _Result = __stdio_common_vsprintf(
|
|
|
|
00021 e8 00 00 00 00 call __local_stdio_printf_options
|
|
00026 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00029 48 83 c8 01 or rax, 1
|
|
0002d 48 8b 8d 80 00
|
|
00 00 mov rcx, QWORD PTR _ArgList$[rbp]
|
|
00034 48 89 4c 24 28 mov QWORD PTR [rsp+40], rcx
|
|
00039 48 8b 4d 78 mov rcx, QWORD PTR _Locale$[rbp]
|
|
0003d 48 89 4c 24 20 mov QWORD PTR [rsp+32], rcx
|
|
00042 4c 8b 4d 70 mov r9, QWORD PTR _Format$[rbp]
|
|
00046 4c 8b 45 68 mov r8, QWORD PTR _BufferCount$[rbp]
|
|
0004a 48 8b 55 60 mov rdx, QWORD PTR _Buffer$[rbp]
|
|
0004e 48 8b c8 mov rcx, rax
|
|
00051 e8 00 00 00 00 call __stdio_common_vsprintf
|
|
00056 89 45 00 mov DWORD PTR _Result$[rbp], eax
|
|
|
|
; 1393 : _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION,
|
|
; 1394 : _Buffer, _BufferCount, _Format, _Locale, _ArgList);
|
|
; 1395 :
|
|
; 1396 : return _Result < 0 ? -1 : _Result;
|
|
|
|
00059 83 7d 00 00 cmp DWORD PTR _Result$[rbp], 0
|
|
0005d 7d 09 jge SHORT $LN3@vsnprintf_
|
|
0005f c7 45 44 ff ff
|
|
ff ff mov DWORD PTR tv74[rbp], -1
|
|
00066 eb 06 jmp SHORT $LN4@vsnprintf_
|
|
$LN3@vsnprintf_:
|
|
00068 8b 45 00 mov eax, DWORD PTR _Result$[rbp]
|
|
0006b 89 45 44 mov DWORD PTR tv74[rbp], eax
|
|
$LN4@vsnprintf_:
|
|
0006e 8b 45 44 mov eax, DWORD PTR tv74[rbp]
|
|
|
|
; 1397 : }
|
|
|
|
00071 48 8d 65 50 lea rsp, QWORD PTR [rbp+80]
|
|
00075 5d pop rbp
|
|
00076 c3 ret 0
|
|
_vsnprintf_l ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_stdio_config.h
|
|
; COMDAT __local_stdio_printf_options
|
|
_TEXT SEGMENT
|
|
__local_stdio_printf_options PROC ; COMDAT
|
|
|
|
; 90 : {
|
|
|
|
$LN3:
|
|
00000 40 55 push rbp
|
|
00002 48 83 ec 40 sub rsp, 64 ; 00000040H
|
|
00006 48 8b ec mov rbp, rsp
|
|
|
|
; 91 : static unsigned __int64 _OptionsStorage;
|
|
; 92 : return &_OptionsStorage;
|
|
|
|
00009 48 8d 05 00 00
|
|
00 00 lea rax, OFFSET FLAT:?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA ; `__local_stdio_printf_options'::`2'::_OptionsStorage
|
|
|
|
; 93 : }
|
|
|
|
00010 48 8d 65 40 lea rsp, QWORD PTR [rbp+64]
|
|
00014 5d pop rbp
|
|
00015 c3 ret 0
|
|
__local_stdio_printf_options ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File D:\Works\Corpsms_2010\public\md53\MD5_L.cpp
|
|
; COMDAT ?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z
|
|
_TEXT SEGMENT
|
|
__formal$ = 80
|
|
__formal$ = 88
|
|
__formal$ = 96
|
|
?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT
|
|
|
|
$LN3:
|
|
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000f 55 push rbp
|
|
00010 48 83 ec 40 sub rsp, 64 ; 00000040H
|
|
00014 48 8b ec mov rbp, rsp
|
|
00017 48 8d 65 40 lea rsp, QWORD PTR [rbp+64]
|
|
0001b 5d pop rbp
|
|
0001c c3 ret 0
|
|
?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z ENDP ; __empty_global_delete
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File D:\Works\Corpsms_2010\public\md53\MD5_L.cpp
|
|
; COMDAT ?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z
|
|
_TEXT SEGMENT
|
|
__formal$ = 80
|
|
__formal$ = 88
|
|
?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT
|
|
|
|
$LN3:
|
|
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000a 55 push rbp
|
|
0000b 48 83 ec 40 sub rsp, 64 ; 00000040H
|
|
0000f 48 8b ec mov rbp, rsp
|
|
00012 48 8d 65 40 lea rsp, QWORD PTR [rbp+64]
|
|
00016 5d pop rbp
|
|
00017 c3 ret 0
|
|
?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z ENDP ; __empty_global_delete
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File D:\Works\Corpsms_2010\public\md53\MD5_L.cpp
|
|
; COMDAT ?__empty_global_delete@@YAXPEAX_K@Z
|
|
_TEXT SEGMENT
|
|
__formal$ = 80
|
|
__formal$ = 88
|
|
?__empty_global_delete@@YAXPEAX_K@Z PROC ; __empty_global_delete, COMDAT
|
|
|
|
$LN3:
|
|
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000a 55 push rbp
|
|
0000b 48 83 ec 40 sub rsp, 64 ; 00000040H
|
|
0000f 48 8b ec mov rbp, rsp
|
|
00012 48 8d 65 40 lea rsp, QWORD PTR [rbp+64]
|
|
00016 5d pop rbp
|
|
00017 c3 ret 0
|
|
?__empty_global_delete@@YAXPEAX_K@Z ENDP ; __empty_global_delete
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File D:\Works\Corpsms_2010\public\md53\MD5_L.cpp
|
|
; COMDAT ?__empty_global_delete@@YAXPEAX@Z
|
|
_TEXT SEGMENT
|
|
__formal$ = 80
|
|
?__empty_global_delete@@YAXPEAX@Z PROC ; __empty_global_delete, COMDAT
|
|
|
|
$LN3:
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 55 push rbp
|
|
00006 48 83 ec 40 sub rsp, 64 ; 00000040H
|
|
0000a 48 8b ec mov rbp, rsp
|
|
0000d 48 8d 65 40 lea rsp, QWORD PTR [rbp+64]
|
|
00011 5d pop rbp
|
|
00012 c3 ret 0
|
|
?__empty_global_delete@@YAXPEAX@Z ENDP ; __empty_global_delete
|
|
_TEXT ENDS
|
|
END
|