3507 lines
118 KiB
Plaintext
3507 lines
118 KiB
Plaintext
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.34.31933.0
|
|
|
|
TITLE D:\Works\Corpsms_2010\SmsCenter\Release_Unicode\MD5_L.obj
|
|
.686P
|
|
.XMM
|
|
include listing.inc
|
|
.model flat
|
|
|
|
INCLUDELIB LIBCMT
|
|
INCLUDELIB OLDNAMES
|
|
|
|
PUBLIC ?__empty_global_delete@@YAXPAX@Z ; __empty_global_delete
|
|
PUBLIC ?__empty_global_delete@@YAXPAXI@Z ; __empty_global_delete
|
|
PUBLIC ?__empty_global_delete@@YAXPAXW4align_val_t@std@@@Z ; __empty_global_delete
|
|
PUBLIC ?__empty_global_delete@@YAXPAXIW4align_val_t@std@@@Z ; __empty_global_delete
|
|
PUBLIC ___local_stdio_printf_options
|
|
PUBLIC __vsnprintf_l
|
|
PUBLIC __vsprintf_l
|
|
PUBLIC _sprintf
|
|
PUBLIC ?MD5Transform@MD5_L@@QAEXQAKQAE@Z ; MD5_L::MD5Transform
|
|
PUBLIC ?Encode@MD5_L@@QAEXPAEPAKI@Z ; MD5_L::Encode
|
|
PUBLIC ?Decode@MD5_L@@QAEXPAKPAEI@Z ; MD5_L::Decode
|
|
PUBLIC ?MD5_memcpy@MD5_L@@QAEXPAE0I@Z ; MD5_L::MD5_memcpy
|
|
PUBLIC ?MD5_memset@MD5_L@@QAEXPAEHI@Z ; MD5_L::MD5_memset
|
|
PUBLIC ?MD5Init@MD5_L@@QAEXPAU_MD5_CTX@1@@Z ; MD5_L::MD5Init
|
|
PUBLIC ?MD5Update@MD5_L@@QAEXPAU_MD5_CTX@1@PAEI@Z ; MD5_L::MD5Update
|
|
PUBLIC ?MD5Final@MD5_L@@QAEXQAEPAU_MD5_CTX@1@@Z ; MD5_L::MD5Final
|
|
PUBLIC ?StringAddOne@MD5_L@@QAEXPAD@Z ; MD5_L::StringAddOne
|
|
PUBLIC ?MD5String@MD5_L@@QAEPADPAD0@Z ; MD5_L::MD5String
|
|
PUBLIC ?MD5String@MD5_L@@QAEPADPAD@Z ; MD5_L::MD5String
|
|
PUBLIC ?MD5Byte@MD5_L@@QAEPAEPAEJ@Z ; MD5_L::MD5Byte
|
|
PUBLIC ?MD5Check@MD5_L@@QAE_NPAD0@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 @__security_check_cookie@4:PROC
|
|
EXTRN _memset:PROC
|
|
EXTRN ___security_cookie:DWORD
|
|
; COMDAT ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA
|
|
_BSS SEGMENT
|
|
?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA DQ 01H DUP (?) ; `__local_stdio_printf_options'::`2'::_OptionsStorage
|
|
_BSS ENDS
|
|
_BSS SEGMENT
|
|
?output@?1??MD5String@MD5_L@@QAEPADPAD@Z@4PADA DB 040H DUP (?) ; `MD5_L::MD5String'::`2'::output
|
|
_BSS ENDS
|
|
; COMDAT ??_C@_04JFFKLGJF@?$CF02X@
|
|
CONST SEGMENT
|
|
??_C@_04JFFKLGJF@?$CF02X@ DB '%02X', 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DB 010H
|
|
DB 0aeH
|
|
voltbl ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DW 010H
|
|
DW 016bH
|
|
voltbl ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DW 010H
|
|
DW 014cH
|
|
voltbl ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DB 0dH
|
|
DB 0b2H
|
|
voltbl ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DW 010H
|
|
DW 010f7H
|
|
voltbl ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File D:\Works\Corpsms_2010\public\md53\MD5_L.cpp
|
|
; COMDAT ?MD5Check@MD5_L@@QAE_NPAD0@Z
|
|
_TEXT SEGMENT
|
|
tv71 = -72 ; size = 4
|
|
_this$ = -4 ; size = 4
|
|
_md5string$ = 8 ; size = 4
|
|
_string$ = 12 ; size = 4
|
|
?MD5Check@MD5_L@@QAE_NPAD0@Z PROC ; MD5_L::MD5Check, COMDAT
|
|
; _this$ = ecx
|
|
|
|
; 371 : {
|
|
|
|
00000 55 push ebp
|
|
00001 8b ec mov ebp, esp
|
|
00003 83 ec 48 sub esp, 72 ; 00000048H
|
|
00006 53 push ebx
|
|
00007 56 push esi
|
|
00008 57 push edi
|
|
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
|
|
|
; 372 : return strcmp( md5string, MD5String( string ) ) == 0;
|
|
|
|
0000c 8b 45 0c mov eax, DWORD PTR _string$[ebp]
|
|
0000f 50 push eax
|
|
00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
|
00013 e8 00 00 00 00 call ?MD5String@MD5_L@@QAEPADPAD@Z ; MD5_L::MD5String
|
|
00018 50 push eax
|
|
00019 8b 4d 08 mov ecx, DWORD PTR _md5string$[ebp]
|
|
0001c 51 push ecx
|
|
0001d e8 00 00 00 00 call _strcmp
|
|
00022 83 c4 08 add esp, 8
|
|
00025 85 c0 test eax, eax
|
|
00027 75 09 jne SHORT $LN3@MD5Check
|
|
00029 c7 45 b8 01 00
|
|
00 00 mov DWORD PTR tv71[ebp], 1
|
|
00030 eb 07 jmp SHORT $LN4@MD5Check
|
|
$LN3@MD5Check:
|
|
00032 c7 45 b8 00 00
|
|
00 00 mov DWORD PTR tv71[ebp], 0
|
|
$LN4@MD5Check:
|
|
00039 8a 45 b8 mov al, BYTE PTR tv71[ebp]
|
|
|
|
; 373 : }
|
|
|
|
0003c 5f pop edi
|
|
0003d 5e pop esi
|
|
0003e 5b pop ebx
|
|
0003f 8b e5 mov esp, ebp
|
|
00041 5d pop ebp
|
|
00042 c2 08 00 ret 8
|
|
?MD5Check@MD5_L@@QAE_NPAD0@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@@QAEPAEPAEJ@Z
|
|
_TEXT SEGMENT
|
|
_i$ = -184 ; size = 4
|
|
_len$ = -180 ; size = 4
|
|
_output$ = -176 ; size = 64
|
|
_digest$ = -112 ; size = 16
|
|
_context$ = -96 ; size = 88
|
|
_this$ = -8 ; size = 4
|
|
__$ArrayPad$ = -4 ; size = 4
|
|
_bMd5$ = 8 ; size = 4
|
|
_lLen$ = 12 ; size = 4
|
|
?MD5Byte@MD5_L@@QAEPAEPAEJ@Z PROC ; MD5_L::MD5Byte, COMDAT
|
|
; _this$ = ecx
|
|
|
|
; 256 : {
|
|
|
|
00000 55 push ebp
|
|
00001 8b ec mov ebp, esp
|
|
00003 81 ec f8 00 00
|
|
00 sub esp, 248 ; 000000f8H
|
|
00009 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
|
0000e 33 c5 xor eax, ebp
|
|
00010 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax
|
|
00013 53 push ebx
|
|
00014 56 push esi
|
|
00015 57 push edi
|
|
00016 89 4d f8 mov DWORD PTR _this$[ebp], ecx
|
|
|
|
; 257 : MD5_CTX context;
|
|
; 258 : unsigned char digest[16];
|
|
; 259 : BYTE output[64]={0};
|
|
|
|
00019 6a 40 push 64 ; 00000040H
|
|
0001b 6a 00 push 0
|
|
0001d 8d 85 50 ff ff
|
|
ff lea eax, DWORD PTR _output$[ebp]
|
|
00023 50 push eax
|
|
00024 e8 00 00 00 00 call _memset
|
|
00029 83 c4 0c add esp, 12 ; 0000000cH
|
|
|
|
; 260 : unsigned int len = lLen;
|
|
|
|
0002c 8b 45 0c mov eax, DWORD PTR _lLen$[ebp]
|
|
0002f 89 85 4c ff ff
|
|
ff mov DWORD PTR _len$[ebp], eax
|
|
|
|
; 261 : int i;
|
|
; 262 :
|
|
; 263 : MD5Init( &context);
|
|
|
|
00035 8d 45 a0 lea eax, DWORD PTR _context$[ebp]
|
|
00038 50 push eax
|
|
00039 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
|
|
0003c e8 00 00 00 00 call ?MD5Init@MD5_L@@QAEXPAU_MD5_CTX@1@@Z ; MD5_L::MD5Init
|
|
|
|
; 264 : MD5Update( &context, (unsigned char*)bMd5, len );
|
|
|
|
00041 8b 85 4c ff ff
|
|
ff mov eax, DWORD PTR _len$[ebp]
|
|
00047 50 push eax
|
|
00048 8b 4d 08 mov ecx, DWORD PTR _bMd5$[ebp]
|
|
0004b 51 push ecx
|
|
0004c 8d 55 a0 lea edx, DWORD PTR _context$[ebp]
|
|
0004f 52 push edx
|
|
00050 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
|
|
00053 e8 00 00 00 00 call ?MD5Update@MD5_L@@QAEXPAU_MD5_CTX@1@PAEI@Z ; MD5_L::MD5Update
|
|
|
|
; 265 : MD5Final( digest, &context );
|
|
|
|
00058 8d 45 a0 lea eax, DWORD PTR _context$[ebp]
|
|
0005b 50 push eax
|
|
0005c 8d 4d 90 lea ecx, DWORD PTR _digest$[ebp]
|
|
0005f 51 push ecx
|
|
00060 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
|
|
00063 e8 00 00 00 00 call ?MD5Final@MD5_L@@QAEXQAEPAU_MD5_CTX@1@@Z ; MD5_L::MD5Final
|
|
|
|
; 266 :
|
|
; 267 : for (i = 0; i < 16; i++)
|
|
|
|
00068 c7 85 48 ff ff
|
|
ff 00 00 00 00 mov DWORD PTR _i$[ebp], 0
|
|
00072 eb 0f jmp SHORT $LN4@MD5Byte
|
|
$LN2@MD5Byte:
|
|
00074 8b 85 48 ff ff
|
|
ff mov eax, DWORD PTR _i$[ebp]
|
|
0007a 83 c0 01 add eax, 1
|
|
0007d 89 85 48 ff ff
|
|
ff mov DWORD PTR _i$[ebp], eax
|
|
$LN4@MD5Byte:
|
|
00083 83 bd 48 ff ff
|
|
ff 10 cmp DWORD PTR _i$[ebp], 16 ; 00000010H
|
|
0008a 7d 19 jge SHORT $LN3@MD5Byte
|
|
|
|
; 268 : {
|
|
; 269 : output[i] = (unsigned char)digest[i];
|
|
|
|
0008c 8b 85 48 ff ff
|
|
ff mov eax, DWORD PTR _i$[ebp]
|
|
00092 8b 8d 48 ff ff
|
|
ff mov ecx, DWORD PTR _i$[ebp]
|
|
00098 8a 54 0d 90 mov dl, BYTE PTR _digest$[ebp+ecx]
|
|
0009c 88 94 05 50 ff
|
|
ff ff mov BYTE PTR _output$[ebp+eax], dl
|
|
|
|
; 270 : //sprintf(&(output1[2*i]),"%02X",(unsigned char)digest[i]);
|
|
; 271 : //sprintf(&(output1[2*i+1]),"%02X",(unsigned char)(digest[i]<<4));
|
|
; 272 : }
|
|
|
|
000a3 eb cf jmp SHORT $LN2@MD5Byte
|
|
$LN3@MD5Byte:
|
|
|
|
; 273 : return output;
|
|
|
|
000a5 8d 85 50 ff ff
|
|
ff lea eax, DWORD PTR _output$[ebp]
|
|
|
|
; 274 :
|
|
; 275 : }
|
|
|
|
000ab 5f pop edi
|
|
000ac 5e pop esi
|
|
000ad 5b pop ebx
|
|
000ae 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp]
|
|
000b1 33 cd xor ecx, ebp
|
|
000b3 e8 00 00 00 00 call @__security_check_cookie@4
|
|
000b8 8b e5 mov esp, ebp
|
|
000ba 5d pop ebp
|
|
000bb c2 08 00 ret 8
|
|
?MD5Byte@MD5_L@@QAEPAEPAEJ@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@@QAEPADPAD@Z
|
|
_TEXT SEGMENT
|
|
$T1 = -252 ; size = 4
|
|
_i$ = -184 ; size = 4
|
|
_len$ = -180 ; size = 4
|
|
_output1$ = -176 ; size = 64
|
|
_digest$ = -112 ; size = 16
|
|
_context$ = -96 ; size = 88
|
|
_this$ = -8 ; size = 4
|
|
__$ArrayPad$ = -4 ; size = 4
|
|
_string$ = 8 ; size = 4
|
|
?MD5String@MD5_L@@QAEPADPAD@Z PROC ; MD5_L::MD5String, COMDAT
|
|
; _this$ = ecx
|
|
|
|
; 280 : {
|
|
|
|
00000 55 push ebp
|
|
00001 8b ec mov ebp, esp
|
|
00003 81 ec fc 00 00
|
|
00 sub esp, 252 ; 000000fcH
|
|
00009 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
|
0000e 33 c5 xor eax, ebp
|
|
00010 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax
|
|
00013 53 push ebx
|
|
00014 56 push esi
|
|
00015 57 push edi
|
|
00016 89 4d f8 mov DWORD PTR _this$[ebp], ecx
|
|
|
|
; 281 : MD5_CTX context;
|
|
; 282 : unsigned char digest[16] = { 0 };
|
|
|
|
00019 33 c0 xor eax, eax
|
|
0001b 89 45 90 mov DWORD PTR _digest$[ebp], eax
|
|
0001e 89 45 94 mov DWORD PTR _digest$[ebp+4], eax
|
|
00021 89 45 98 mov DWORD PTR _digest$[ebp+8], eax
|
|
00024 89 45 9c mov DWORD PTR _digest$[ebp+12], eax
|
|
|
|
; 283 : //char output1[128] = { 0 };
|
|
; 284 : char output1[64] = { 0 };
|
|
|
|
00027 6a 40 push 64 ; 00000040H
|
|
00029 6a 00 push 0
|
|
0002b 8d 85 50 ff ff
|
|
ff lea eax, DWORD PTR _output1$[ebp]
|
|
00031 50 push eax
|
|
00032 e8 00 00 00 00 call _memset
|
|
00037 83 c4 0c add esp, 12 ; 0000000cH
|
|
|
|
; 285 : static char output[64] = { 0 };
|
|
; 286 : unsigned int len = (unsigned int)strlen (string);
|
|
|
|
0003a 8b 45 08 mov eax, DWORD PTR _string$[ebp]
|
|
0003d 50 push eax
|
|
0003e e8 00 00 00 00 call _strlen
|
|
00043 83 c4 04 add esp, 4
|
|
00046 89 85 4c ff ff
|
|
ff mov DWORD PTR _len$[ebp], eax
|
|
|
|
; 287 : int i;
|
|
; 288 :
|
|
; 289 : MD5Init( &context);
|
|
|
|
0004c 8d 45 a0 lea eax, DWORD PTR _context$[ebp]
|
|
0004f 50 push eax
|
|
00050 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
|
|
00053 e8 00 00 00 00 call ?MD5Init@MD5_L@@QAEXPAU_MD5_CTX@1@@Z ; MD5_L::MD5Init
|
|
|
|
; 290 : MD5Update( &context, (unsigned char*)string, len );
|
|
|
|
00058 8b 85 4c ff ff
|
|
ff mov eax, DWORD PTR _len$[ebp]
|
|
0005e 50 push eax
|
|
0005f 8b 4d 08 mov ecx, DWORD PTR _string$[ebp]
|
|
00062 51 push ecx
|
|
00063 8d 55 a0 lea edx, DWORD PTR _context$[ebp]
|
|
00066 52 push edx
|
|
00067 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
|
|
0006a e8 00 00 00 00 call ?MD5Update@MD5_L@@QAEXPAU_MD5_CTX@1@PAEI@Z ; MD5_L::MD5Update
|
|
|
|
; 291 : MD5Final( digest, &context );
|
|
|
|
0006f 8d 45 a0 lea eax, DWORD PTR _context$[ebp]
|
|
00072 50 push eax
|
|
00073 8d 4d 90 lea ecx, DWORD PTR _digest$[ebp]
|
|
00076 51 push ecx
|
|
00077 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
|
|
0007a e8 00 00 00 00 call ?MD5Final@MD5_L@@QAEXQAEPAU_MD5_CTX@1@@Z ; MD5_L::MD5Final
|
|
|
|
; 292 :
|
|
; 293 : for (i = 0; i < 16; i++)
|
|
|
|
0007f c7 85 48 ff ff
|
|
ff 00 00 00 00 mov DWORD PTR _i$[ebp], 0
|
|
00089 eb 0f jmp SHORT $LN4@MD5String
|
|
$LN2@MD5String:
|
|
0008b 8b 85 48 ff ff
|
|
ff mov eax, DWORD PTR _i$[ebp]
|
|
00091 83 c0 01 add eax, 1
|
|
00094 89 85 48 ff ff
|
|
ff mov DWORD PTR _i$[ebp], eax
|
|
$LN4@MD5String:
|
|
0009a 83 bd 48 ff ff
|
|
ff 10 cmp DWORD PTR _i$[ebp], 16 ; 00000010H
|
|
000a1 7d 56 jge SHORT $LN3@MD5String
|
|
|
|
; 294 : {
|
|
; 295 : sprintf(&(output1[2*i]),"%02X",(unsigned char)digest[i]);
|
|
|
|
000a3 8b 85 48 ff ff
|
|
ff mov eax, DWORD PTR _i$[ebp]
|
|
000a9 0f b6 4c 05 90 movzx ecx, BYTE PTR _digest$[ebp+eax]
|
|
000ae 51 push ecx
|
|
000af 68 00 00 00 00 push OFFSET ??_C@_04JFFKLGJF@?$CF02X@
|
|
000b4 8b 95 48 ff ff
|
|
ff mov edx, DWORD PTR _i$[ebp]
|
|
000ba 8d 84 55 50 ff
|
|
ff ff lea eax, DWORD PTR _output1$[ebp+edx*2]
|
|
000c1 50 push eax
|
|
000c2 e8 00 00 00 00 call _sprintf
|
|
000c7 83 c4 0c add esp, 12 ; 0000000cH
|
|
|
|
; 296 : sprintf(&(output1[2*i+1]),"%02X",(unsigned char)(digest[i]<<4));
|
|
|
|
000ca 8b 85 48 ff ff
|
|
ff mov eax, DWORD PTR _i$[ebp]
|
|
000d0 0f b6 4c 05 90 movzx ecx, BYTE PTR _digest$[ebp+eax]
|
|
000d5 c1 e1 04 shl ecx, 4
|
|
000d8 0f b6 d1 movzx edx, cl
|
|
000db 52 push edx
|
|
000dc 68 00 00 00 00 push OFFSET ??_C@_04JFFKLGJF@?$CF02X@
|
|
000e1 8b 85 48 ff ff
|
|
ff mov eax, DWORD PTR _i$[ebp]
|
|
000e7 8d 8c 45 51 ff
|
|
ff ff lea ecx, DWORD PTR _output1$[ebp+eax*2+1]
|
|
000ee 51 push ecx
|
|
000ef e8 00 00 00 00 call _sprintf
|
|
000f4 83 c4 0c add esp, 12 ; 0000000cH
|
|
|
|
; 297 : }
|
|
|
|
000f7 eb 92 jmp SHORT $LN2@MD5String
|
|
$LN3@MD5String:
|
|
|
|
; 298 : for(i=0;i<32;i++)
|
|
|
|
000f9 c7 85 48 ff ff
|
|
ff 00 00 00 00 mov DWORD PTR _i$[ebp], 0
|
|
00103 eb 0f jmp SHORT $LN7@MD5String
|
|
$LN5@MD5String:
|
|
00105 8b 85 48 ff ff
|
|
ff mov eax, DWORD PTR _i$[ebp]
|
|
0010b 83 c0 01 add eax, 1
|
|
0010e 89 85 48 ff ff
|
|
ff mov DWORD PTR _i$[ebp], eax
|
|
$LN7@MD5String:
|
|
00114 83 bd 48 ff ff
|
|
ff 20 cmp DWORD PTR _i$[ebp], 32 ; 00000020H
|
|
0011b 7d 1b jge SHORT $LN6@MD5String
|
|
|
|
; 299 : {
|
|
; 300 : output[i]=output1[i];
|
|
|
|
0011d 8b 85 48 ff ff
|
|
ff mov eax, DWORD PTR _i$[ebp]
|
|
00123 8b 8d 48 ff ff
|
|
ff mov ecx, DWORD PTR _i$[ebp]
|
|
00129 8a 94 0d 50 ff
|
|
ff ff mov dl, BYTE PTR _output1$[ebp+ecx]
|
|
00130 88 90 00 00 00
|
|
00 mov BYTE PTR ?output@?1??MD5String@MD5_L@@QAEPADPAD@Z@4PADA[eax], dl
|
|
|
|
; 301 : }
|
|
|
|
00136 eb cd jmp SHORT $LN5@MD5String
|
|
$LN6@MD5String:
|
|
|
|
; 302 : output[32] = 0;
|
|
|
|
00138 b8 01 00 00 00 mov eax, 1
|
|
0013d c1 e0 05 shl eax, 5
|
|
00140 89 85 04 ff ff
|
|
ff mov DWORD PTR $T1[ebp], eax
|
|
00146 83 bd 04 ff ff
|
|
ff 40 cmp DWORD PTR $T1[ebp], 64 ; 00000040H
|
|
0014d 73 02 jae SHORT $LN9@MD5String
|
|
0014f eb 05 jmp SHORT $LN10@MD5String
|
|
$LN9@MD5String:
|
|
00151 e8 00 00 00 00 call ___report_rangecheckfailure
|
|
$LN10@MD5String:
|
|
00156 8b 8d 04 ff ff
|
|
ff mov ecx, DWORD PTR $T1[ebp]
|
|
0015c c6 81 00 00 00
|
|
00 00 mov BYTE PTR ?output@?1??MD5String@MD5_L@@QAEPADPAD@Z@4PADA[ecx], 0
|
|
|
|
; 303 :
|
|
; 304 : return output;
|
|
|
|
00163 b8 00 00 00 00 mov eax, OFFSET ?output@?1??MD5String@MD5_L@@QAEPADPAD@Z@4PADA
|
|
$LN8@MD5String:
|
|
|
|
; 305 : }
|
|
|
|
00168 5f pop edi
|
|
00169 5e pop esi
|
|
0016a 5b pop ebx
|
|
0016b 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp]
|
|
0016e 33 cd xor ecx, ebp
|
|
00170 e8 00 00 00 00 call @__security_check_cookie@4
|
|
00175 8b e5 mov esp, ebp
|
|
00177 5d pop ebp
|
|
00178 c2 04 00 ret 4
|
|
?MD5String@MD5_L@@QAEPADPAD@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@@QAEPADPAD0@Z
|
|
_TEXT SEGMENT
|
|
_i$ = -184 ; size = 4
|
|
_len$ = -180 ; size = 4
|
|
_output1$ = -176 ; size = 64
|
|
_digest$ = -112 ; size = 16
|
|
_context$ = -96 ; size = 88
|
|
_this$ = -8 ; size = 4
|
|
__$ArrayPad$ = -4 ; size = 4
|
|
_string$ = 8 ; size = 4
|
|
_strMD5$ = 12 ; size = 4
|
|
?MD5String@MD5_L@@QAEPADPAD0@Z PROC ; MD5_L::MD5String, COMDAT
|
|
; _this$ = ecx
|
|
|
|
; 309 : {
|
|
|
|
00000 55 push ebp
|
|
00001 8b ec mov ebp, esp
|
|
00003 81 ec f8 00 00
|
|
00 sub esp, 248 ; 000000f8H
|
|
00009 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
|
0000e 33 c5 xor eax, ebp
|
|
00010 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax
|
|
00013 53 push ebx
|
|
00014 56 push esi
|
|
00015 57 push edi
|
|
00016 89 4d f8 mov DWORD PTR _this$[ebp], ecx
|
|
|
|
; 310 : MD5_CTX context;
|
|
; 311 : unsigned char digest[16] = { 0 };
|
|
|
|
00019 33 c0 xor eax, eax
|
|
0001b 89 45 90 mov DWORD PTR _digest$[ebp], eax
|
|
0001e 89 45 94 mov DWORD PTR _digest$[ebp+4], eax
|
|
00021 89 45 98 mov DWORD PTR _digest$[ebp+8], eax
|
|
00024 89 45 9c mov DWORD PTR _digest$[ebp+12], eax
|
|
|
|
; 312 : //char output1[128] = { 0 };
|
|
; 313 : char output1[64] = { 0 };
|
|
|
|
00027 6a 40 push 64 ; 00000040H
|
|
00029 6a 00 push 0
|
|
0002b 8d 85 50 ff ff
|
|
ff lea eax, DWORD PTR _output1$[ebp]
|
|
00031 50 push eax
|
|
00032 e8 00 00 00 00 call _memset
|
|
00037 83 c4 0c add esp, 12 ; 0000000cH
|
|
|
|
; 314 : unsigned int len = (unsigned int)strlen(string);
|
|
|
|
0003a 8b 45 08 mov eax, DWORD PTR _string$[ebp]
|
|
0003d 50 push eax
|
|
0003e e8 00 00 00 00 call _strlen
|
|
00043 83 c4 04 add esp, 4
|
|
00046 89 85 4c ff ff
|
|
ff mov DWORD PTR _len$[ebp], eax
|
|
|
|
; 315 : int i;
|
|
; 316 :
|
|
; 317 : MD5Init(&context);
|
|
|
|
0004c 8d 45 a0 lea eax, DWORD PTR _context$[ebp]
|
|
0004f 50 push eax
|
|
00050 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
|
|
00053 e8 00 00 00 00 call ?MD5Init@MD5_L@@QAEXPAU_MD5_CTX@1@@Z ; MD5_L::MD5Init
|
|
|
|
; 318 : MD5Update(&context, (unsigned char*)string, len);
|
|
|
|
00058 8b 85 4c ff ff
|
|
ff mov eax, DWORD PTR _len$[ebp]
|
|
0005e 50 push eax
|
|
0005f 8b 4d 08 mov ecx, DWORD PTR _string$[ebp]
|
|
00062 51 push ecx
|
|
00063 8d 55 a0 lea edx, DWORD PTR _context$[ebp]
|
|
00066 52 push edx
|
|
00067 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
|
|
0006a e8 00 00 00 00 call ?MD5Update@MD5_L@@QAEXPAU_MD5_CTX@1@PAEI@Z ; MD5_L::MD5Update
|
|
|
|
; 319 : MD5Final(digest, &context);
|
|
|
|
0006f 8d 45 a0 lea eax, DWORD PTR _context$[ebp]
|
|
00072 50 push eax
|
|
00073 8d 4d 90 lea ecx, DWORD PTR _digest$[ebp]
|
|
00076 51 push ecx
|
|
00077 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
|
|
0007a e8 00 00 00 00 call ?MD5Final@MD5_L@@QAEXQAEPAU_MD5_CTX@1@@Z ; MD5_L::MD5Final
|
|
|
|
; 320 :
|
|
; 321 : for (i = 0; i < 16; i++)
|
|
|
|
0007f c7 85 48 ff ff
|
|
ff 00 00 00 00 mov DWORD PTR _i$[ebp], 0
|
|
00089 eb 0f jmp SHORT $LN4@MD5String
|
|
$LN2@MD5String:
|
|
0008b 8b 85 48 ff ff
|
|
ff mov eax, DWORD PTR _i$[ebp]
|
|
00091 83 c0 01 add eax, 1
|
|
00094 89 85 48 ff ff
|
|
ff mov DWORD PTR _i$[ebp], eax
|
|
$LN4@MD5String:
|
|
0009a 83 bd 48 ff ff
|
|
ff 10 cmp DWORD PTR _i$[ebp], 16 ; 00000010H
|
|
000a1 7d 56 jge SHORT $LN3@MD5String
|
|
|
|
; 322 : {
|
|
; 323 : sprintf(&(output1[2 * i]), "%02X", (unsigned char)digest[i]);
|
|
|
|
000a3 8b 85 48 ff ff
|
|
ff mov eax, DWORD PTR _i$[ebp]
|
|
000a9 0f b6 4c 05 90 movzx ecx, BYTE PTR _digest$[ebp+eax]
|
|
000ae 51 push ecx
|
|
000af 68 00 00 00 00 push OFFSET ??_C@_04JFFKLGJF@?$CF02X@
|
|
000b4 8b 95 48 ff ff
|
|
ff mov edx, DWORD PTR _i$[ebp]
|
|
000ba 8d 84 55 50 ff
|
|
ff ff lea eax, DWORD PTR _output1$[ebp+edx*2]
|
|
000c1 50 push eax
|
|
000c2 e8 00 00 00 00 call _sprintf
|
|
000c7 83 c4 0c add esp, 12 ; 0000000cH
|
|
|
|
; 324 : sprintf(&(output1[2 * i + 1]), "%02X", (unsigned char)(digest[i] << 4));
|
|
|
|
000ca 8b 85 48 ff ff
|
|
ff mov eax, DWORD PTR _i$[ebp]
|
|
000d0 0f b6 4c 05 90 movzx ecx, BYTE PTR _digest$[ebp+eax]
|
|
000d5 c1 e1 04 shl ecx, 4
|
|
000d8 0f b6 d1 movzx edx, cl
|
|
000db 52 push edx
|
|
000dc 68 00 00 00 00 push OFFSET ??_C@_04JFFKLGJF@?$CF02X@
|
|
000e1 8b 85 48 ff ff
|
|
ff mov eax, DWORD PTR _i$[ebp]
|
|
000e7 8d 8c 45 51 ff
|
|
ff ff lea ecx, DWORD PTR _output1$[ebp+eax*2+1]
|
|
000ee 51 push ecx
|
|
000ef e8 00 00 00 00 call _sprintf
|
|
000f4 83 c4 0c add esp, 12 ; 0000000cH
|
|
|
|
; 325 : }
|
|
|
|
000f7 eb 92 jmp SHORT $LN2@MD5String
|
|
$LN3@MD5String:
|
|
|
|
; 326 : for (i = 0; i<32; i++)
|
|
|
|
000f9 c7 85 48 ff ff
|
|
ff 00 00 00 00 mov DWORD PTR _i$[ebp], 0
|
|
00103 eb 0f jmp SHORT $LN7@MD5String
|
|
$LN5@MD5String:
|
|
00105 8b 85 48 ff ff
|
|
ff mov eax, DWORD PTR _i$[ebp]
|
|
0010b 83 c0 01 add eax, 1
|
|
0010e 89 85 48 ff ff
|
|
ff mov DWORD PTR _i$[ebp], eax
|
|
$LN7@MD5String:
|
|
00114 83 bd 48 ff ff
|
|
ff 20 cmp DWORD PTR _i$[ebp], 32 ; 00000020H
|
|
0011b 7d 1a jge SHORT $LN6@MD5String
|
|
|
|
; 327 : {
|
|
; 328 : strMD5[i] = output1[i];
|
|
|
|
0011d 8b 45 0c mov eax, DWORD PTR _strMD5$[ebp]
|
|
00120 03 85 48 ff ff
|
|
ff add eax, DWORD PTR _i$[ebp]
|
|
00126 8b 8d 48 ff ff
|
|
ff mov ecx, DWORD PTR _i$[ebp]
|
|
0012c 8a 94 0d 50 ff
|
|
ff ff mov dl, BYTE PTR _output1$[ebp+ecx]
|
|
00133 88 10 mov BYTE PTR [eax], dl
|
|
|
|
; 329 : }
|
|
|
|
00135 eb ce jmp SHORT $LN5@MD5String
|
|
$LN6@MD5String:
|
|
|
|
; 330 : strMD5[32] = 0;
|
|
|
|
00137 b8 01 00 00 00 mov eax, 1
|
|
0013c c1 e0 05 shl eax, 5
|
|
0013f 8b 4d 0c mov ecx, DWORD PTR _strMD5$[ebp]
|
|
00142 c6 04 01 00 mov BYTE PTR [ecx+eax], 0
|
|
|
|
; 331 :
|
|
; 332 : return strMD5;
|
|
|
|
00146 8b 45 0c mov eax, DWORD PTR _strMD5$[ebp]
|
|
|
|
; 333 : }
|
|
|
|
00149 5f pop edi
|
|
0014a 5e pop esi
|
|
0014b 5b pop ebx
|
|
0014c 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp]
|
|
0014f 33 cd xor ecx, ebp
|
|
00151 e8 00 00 00 00 call @__security_check_cookie@4
|
|
00156 8b e5 mov esp, ebp
|
|
00158 5d pop ebp
|
|
00159 c2 08 00 ret 8
|
|
?MD5String@MD5_L@@QAEPADPAD0@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@@QAEXPAD@Z
|
|
_TEXT SEGMENT
|
|
_n$ = -16 ; size = 4
|
|
_i$ = -12 ; size = 4
|
|
_len$ = -8 ; size = 4
|
|
_this$ = -4 ; size = 4
|
|
_orstring$ = 8 ; size = 4
|
|
?StringAddOne@MD5_L@@QAEXPAD@Z PROC ; MD5_L::StringAddOne, COMDAT
|
|
; _this$ = ecx
|
|
|
|
; 339 : {
|
|
|
|
00000 55 push ebp
|
|
00001 8b ec mov ebp, esp
|
|
00003 83 ec 50 sub esp, 80 ; 00000050H
|
|
00006 53 push ebx
|
|
00007 56 push esi
|
|
00008 57 push edi
|
|
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
|
|
|
; 340 : unsigned int len;
|
|
; 341 : int i,n;
|
|
; 342 :
|
|
; 343 : len = (unsigned int)strlen(orstring);
|
|
|
|
0000c 8b 45 08 mov eax, DWORD PTR _orstring$[ebp]
|
|
0000f 50 push eax
|
|
00010 e8 00 00 00 00 call _strlen
|
|
00015 83 c4 04 add esp, 4
|
|
00018 89 45 f8 mov DWORD PTR _len$[ebp], eax
|
|
|
|
; 344 : n = len - 1;
|
|
|
|
0001b 8b 45 f8 mov eax, DWORD PTR _len$[ebp]
|
|
0001e 83 e8 01 sub eax, 1
|
|
00021 89 45 f0 mov DWORD PTR _n$[ebp], eax
|
|
|
|
; 345 : for(i = n; i >= 0; i--)
|
|
|
|
00024 8b 45 f0 mov eax, DWORD PTR _n$[ebp]
|
|
00027 89 45 f4 mov DWORD PTR _i$[ebp], eax
|
|
0002a eb 09 jmp SHORT $LN4@StringAddO
|
|
$LN2@StringAddO:
|
|
0002c 8b 45 f4 mov eax, DWORD PTR _i$[ebp]
|
|
0002f 83 e8 01 sub eax, 1
|
|
00032 89 45 f4 mov DWORD PTR _i$[ebp], eax
|
|
$LN4@StringAddO:
|
|
00035 83 7d f4 00 cmp DWORD PTR _i$[ebp], 0
|
|
00039 7c 69 jl SHORT $LN1@StringAddO
|
|
|
|
; 346 : {
|
|
; 347 : if(orstring[i]=='9')
|
|
|
|
0003b 8b 45 08 mov eax, DWORD PTR _orstring$[ebp]
|
|
0003e 03 45 f4 add eax, DWORD PTR _i$[ebp]
|
|
00041 0f be 08 movsx ecx, BYTE PTR [eax]
|
|
00044 83 f9 39 cmp ecx, 57 ; 00000039H
|
|
00047 75 0d jne SHORT $LN5@StringAddO
|
|
|
|
; 348 : {
|
|
; 349 : orstring[i] = 'A';
|
|
|
|
00049 8b 45 08 mov eax, DWORD PTR _orstring$[ebp]
|
|
0004c 03 45 f4 add eax, DWORD PTR _i$[ebp]
|
|
0004f c6 00 41 mov BYTE PTR [eax], 65 ; 00000041H
|
|
|
|
; 350 : break;
|
|
|
|
00052 eb 50 jmp SHORT $LN1@StringAddO
|
|
|
|
; 351 : }
|
|
|
|
00054 eb 4a jmp SHORT $LN6@StringAddO
|
|
$LN5@StringAddO:
|
|
|
|
; 352 : else if(orstring[i]=='Z')
|
|
|
|
00056 8b 45 08 mov eax, DWORD PTR _orstring$[ebp]
|
|
00059 03 45 f4 add eax, DWORD PTR _i$[ebp]
|
|
0005c 0f be 08 movsx ecx, BYTE PTR [eax]
|
|
0005f 83 f9 5a cmp ecx, 90 ; 0000005aH
|
|
00062 75 0d jne SHORT $LN7@StringAddO
|
|
|
|
; 353 : {
|
|
; 354 : orstring[i]='a';
|
|
|
|
00064 8b 45 08 mov eax, DWORD PTR _orstring$[ebp]
|
|
00067 03 45 f4 add eax, DWORD PTR _i$[ebp]
|
|
0006a c6 00 61 mov BYTE PTR [eax], 97 ; 00000061H
|
|
|
|
; 355 : break;
|
|
|
|
0006d eb 35 jmp SHORT $LN1@StringAddO
|
|
|
|
; 356 : }
|
|
|
|
0006f eb 2f jmp SHORT $LN6@StringAddO
|
|
$LN7@StringAddO:
|
|
|
|
; 357 : else if(orstring[i]=='z')
|
|
|
|
00071 8b 45 08 mov eax, DWORD PTR _orstring$[ebp]
|
|
00074 03 45 f4 add eax, DWORD PTR _i$[ebp]
|
|
00077 0f be 08 movsx ecx, BYTE PTR [eax]
|
|
0007a 83 f9 7a cmp ecx, 122 ; 0000007aH
|
|
0007d 75 0d jne SHORT $LN9@StringAddO
|
|
|
|
; 358 : {
|
|
; 359 : orstring[i]='0';
|
|
|
|
0007f 8b 45 08 mov eax, DWORD PTR _orstring$[ebp]
|
|
00082 03 45 f4 add eax, DWORD PTR _i$[ebp]
|
|
00085 c6 00 30 mov BYTE PTR [eax], 48 ; 00000030H
|
|
|
|
; 360 : continue;
|
|
|
|
00088 eb a2 jmp SHORT $LN2@StringAddO
|
|
|
|
; 361 : }
|
|
|
|
0008a eb 14 jmp SHORT $LN6@StringAddO
|
|
$LN9@StringAddO:
|
|
|
|
; 362 : else
|
|
; 363 : orstring[i] += 1;
|
|
|
|
0008c 8b 45 08 mov eax, DWORD PTR _orstring$[ebp]
|
|
0008f 03 45 f4 add eax, DWORD PTR _i$[ebp]
|
|
00092 0f be 08 movsx ecx, BYTE PTR [eax]
|
|
00095 83 c1 01 add ecx, 1
|
|
00098 8b 55 08 mov edx, DWORD PTR _orstring$[ebp]
|
|
0009b 03 55 f4 add edx, DWORD PTR _i$[ebp]
|
|
0009e 88 0a mov BYTE PTR [edx], cl
|
|
$LN6@StringAddO:
|
|
|
|
; 364 : break;
|
|
|
|
000a0 eb 02 jmp SHORT $LN1@StringAddO
|
|
|
|
; 365 : }
|
|
|
|
000a2 eb 88 jmp SHORT $LN2@StringAddO
|
|
$LN1@StringAddO:
|
|
|
|
; 366 : }
|
|
|
|
000a4 5f pop edi
|
|
000a5 5e pop esi
|
|
000a6 5b pop ebx
|
|
000a7 8b e5 mov esp, ebp
|
|
000a9 5d pop ebp
|
|
000aa c2 04 00 ret 4
|
|
?StringAddOne@MD5_L@@QAEXPAD@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@@QAEXQAEPAU_MD5_CTX@1@@Z
|
|
_TEXT SEGMENT
|
|
tv77 = -92 ; size = 4
|
|
_padLen$ = -24 ; size = 4
|
|
_index$ = -20 ; size = 4
|
|
_bits$ = -16 ; size = 8
|
|
_this$ = -8 ; size = 4
|
|
__$ArrayPad$ = -4 ; size = 4
|
|
_digest$ = 8 ; size = 4
|
|
_context$ = 12 ; size = 4
|
|
?MD5Final@MD5_L@@QAEXQAEPAU_MD5_CTX@1@@Z PROC ; MD5_L::MD5Final, COMDAT
|
|
; _this$ = ecx
|
|
|
|
; 75 : {
|
|
|
|
00000 55 push ebp
|
|
00001 8b ec mov ebp, esp
|
|
00003 83 ec 5c sub esp, 92 ; 0000005cH
|
|
00006 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
|
0000b 33 c5 xor eax, ebp
|
|
0000d 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax
|
|
00010 53 push ebx
|
|
00011 56 push esi
|
|
00012 57 push edi
|
|
00013 89 4d f8 mov DWORD PTR _this$[ebp], ecx
|
|
|
|
; 76 : unsigned char bits[8];
|
|
; 77 : unsigned int index, padLen;
|
|
; 78 :
|
|
; 79 : /* Save number of bits */
|
|
; 80 : Encode (bits, context->count, 8);
|
|
|
|
00016 6a 08 push 8
|
|
00018 8b 45 0c mov eax, DWORD PTR _context$[ebp]
|
|
0001b 83 c0 10 add eax, 16 ; 00000010H
|
|
0001e 50 push eax
|
|
0001f 8d 4d f0 lea ecx, DWORD PTR _bits$[ebp]
|
|
00022 51 push ecx
|
|
00023 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
|
|
00026 e8 00 00 00 00 call ?Encode@MD5_L@@QAEXPAEPAKI@Z ; MD5_L::Encode
|
|
|
|
; 81 :
|
|
; 82 : /* Pad out to 56 mod 64.
|
|
; 83 : */
|
|
; 84 : index = (unsigned int)((context->count[0] >> 3) & 0x3f);
|
|
|
|
0002b b8 04 00 00 00 mov eax, 4
|
|
00030 6b c8 00 imul ecx, eax, 0
|
|
00033 8b 55 0c mov edx, DWORD PTR _context$[ebp]
|
|
00036 8b 44 0a 10 mov eax, DWORD PTR [edx+ecx+16]
|
|
0003a c1 e8 03 shr eax, 3
|
|
0003d 83 e0 3f and eax, 63 ; 0000003fH
|
|
00040 89 45 ec mov DWORD PTR _index$[ebp], eax
|
|
|
|
; 85 : padLen = (index < 56) ? (56 - index) : (120 - index);
|
|
|
|
00043 83 7d ec 38 cmp DWORD PTR _index$[ebp], 56 ; 00000038H
|
|
00047 73 0d jae SHORT $LN3@MD5Final
|
|
00049 b8 38 00 00 00 mov eax, 56 ; 00000038H
|
|
0004e 2b 45 ec sub eax, DWORD PTR _index$[ebp]
|
|
00051 89 45 a4 mov DWORD PTR tv77[ebp], eax
|
|
00054 eb 0b jmp SHORT $LN4@MD5Final
|
|
$LN3@MD5Final:
|
|
00056 b9 78 00 00 00 mov ecx, 120 ; 00000078H
|
|
0005b 2b 4d ec sub ecx, DWORD PTR _index$[ebp]
|
|
0005e 89 4d a4 mov DWORD PTR tv77[ebp], ecx
|
|
$LN4@MD5Final:
|
|
00061 8b 55 a4 mov edx, DWORD PTR tv77[ebp]
|
|
00064 89 55 e8 mov DWORD PTR _padLen$[ebp], edx
|
|
|
|
; 86 : MD5Update (context, PADDING, padLen);
|
|
|
|
00067 8b 45 e8 mov eax, DWORD PTR _padLen$[ebp]
|
|
0006a 50 push eax
|
|
0006b 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
|
|
0006e 51 push ecx
|
|
0006f 8b 55 0c mov edx, DWORD PTR _context$[ebp]
|
|
00072 52 push edx
|
|
00073 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
|
|
00076 e8 00 00 00 00 call ?MD5Update@MD5_L@@QAEXPAU_MD5_CTX@1@PAEI@Z ; MD5_L::MD5Update
|
|
|
|
; 87 :
|
|
; 88 : /* Append length (before padding) */
|
|
; 89 : MD5Update (context, bits, 8);
|
|
|
|
0007b 6a 08 push 8
|
|
0007d 8d 45 f0 lea eax, DWORD PTR _bits$[ebp]
|
|
00080 50 push eax
|
|
00081 8b 4d 0c mov ecx, DWORD PTR _context$[ebp]
|
|
00084 51 push ecx
|
|
00085 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
|
|
00088 e8 00 00 00 00 call ?MD5Update@MD5_L@@QAEXPAU_MD5_CTX@1@PAEI@Z ; MD5_L::MD5Update
|
|
|
|
; 90 :
|
|
; 91 : /* Store state in digest */
|
|
; 92 : Encode (digest, context->state, 16);
|
|
|
|
0008d 6a 10 push 16 ; 00000010H
|
|
0008f 8b 45 0c mov eax, DWORD PTR _context$[ebp]
|
|
00092 50 push eax
|
|
00093 8b 4d 08 mov ecx, DWORD PTR _digest$[ebp]
|
|
00096 51 push ecx
|
|
00097 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
|
|
0009a e8 00 00 00 00 call ?Encode@MD5_L@@QAEXPAEPAKI@Z ; MD5_L::Encode
|
|
|
|
; 93 :
|
|
; 94 : /* Zeroize sensitive information.
|
|
; 95 : */
|
|
; 96 : MD5_memset ((POINTER)context, 0, sizeof (*context));
|
|
|
|
0009f 6a 58 push 88 ; 00000058H
|
|
000a1 6a 00 push 0
|
|
000a3 8b 45 0c mov eax, DWORD PTR _context$[ebp]
|
|
000a6 50 push eax
|
|
000a7 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
|
|
000aa e8 00 00 00 00 call ?MD5_memset@MD5_L@@QAEXPAEHI@Z ; MD5_L::MD5_memset
|
|
|
|
; 97 : }
|
|
|
|
000af 5f pop edi
|
|
000b0 5e pop esi
|
|
000b1 5b pop ebx
|
|
000b2 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp]
|
|
000b5 33 cd xor ecx, ebp
|
|
000b7 e8 00 00 00 00 call @__security_check_cookie@4
|
|
000bc 8b e5 mov esp, ebp
|
|
000be 5d pop ebp
|
|
000bf c2 08 00 ret 8
|
|
?MD5Final@MD5_L@@QAEXQAEPAU_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@@QAEXPAU_MD5_CTX@1@PAEI@Z
|
|
_TEXT SEGMENT
|
|
tv76 = -84 ; size = 4
|
|
_partLen$ = -16 ; size = 4
|
|
_index$ = -12 ; size = 4
|
|
_i$ = -8 ; size = 4
|
|
_this$ = -4 ; size = 4
|
|
_context$ = 8 ; size = 4
|
|
_input$ = 12 ; size = 4
|
|
_inputLen$ = 16 ; size = 4
|
|
?MD5Update@MD5_L@@QAEXPAU_MD5_CTX@1@PAEI@Z PROC ; MD5_L::MD5Update, COMDAT
|
|
; _this$ = ecx
|
|
|
|
; 33 : {
|
|
|
|
00000 55 push ebp
|
|
00001 8b ec mov ebp, esp
|
|
00003 83 ec 54 sub esp, 84 ; 00000054H
|
|
00006 53 push ebx
|
|
00007 56 push esi
|
|
00008 57 push edi
|
|
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
|
|
|
; 34 : unsigned int i, index, partLen;
|
|
; 35 :
|
|
; 36 : /* Compute number of bytes mod 64 */
|
|
; 37 : index = (unsigned int)((context->count[0] >> 3) & 0x3F);
|
|
|
|
0000c b8 04 00 00 00 mov eax, 4
|
|
00011 6b c8 00 imul ecx, eax, 0
|
|
00014 8b 55 08 mov edx, DWORD PTR _context$[ebp]
|
|
00017 8b 44 0a 10 mov eax, DWORD PTR [edx+ecx+16]
|
|
0001b c1 e8 03 shr eax, 3
|
|
0001e 83 e0 3f and eax, 63 ; 0000003fH
|
|
00021 89 45 f4 mov DWORD PTR _index$[ebp], eax
|
|
|
|
; 38 :
|
|
; 39 : /* Update number of bits */
|
|
; 40 : if ((context->count[0] += ((UINT4)inputLen << 3))
|
|
; 41 : < ((UINT4)inputLen << 3))
|
|
|
|
00024 8b 45 10 mov eax, DWORD PTR _inputLen$[ebp]
|
|
00027 c1 e0 03 shl eax, 3
|
|
0002a b9 04 00 00 00 mov ecx, 4
|
|
0002f 6b d1 00 imul edx, ecx, 0
|
|
00032 8b 4d 08 mov ecx, DWORD PTR _context$[ebp]
|
|
00035 8b 54 11 10 mov edx, DWORD PTR [ecx+edx+16]
|
|
00039 03 d0 add edx, eax
|
|
0003b 89 55 ac mov DWORD PTR tv76[ebp], edx
|
|
0003e b8 04 00 00 00 mov eax, 4
|
|
00043 6b c8 00 imul ecx, eax, 0
|
|
00046 8b 55 08 mov edx, DWORD PTR _context$[ebp]
|
|
00049 8b 45 ac mov eax, DWORD PTR tv76[ebp]
|
|
0004c 89 44 0a 10 mov DWORD PTR [edx+ecx+16], eax
|
|
00050 8b 4d 10 mov ecx, DWORD PTR _inputLen$[ebp]
|
|
00053 c1 e1 03 shl ecx, 3
|
|
00056 39 4d ac cmp DWORD PTR tv76[ebp], ecx
|
|
00059 73 21 jae SHORT $LN5@MD5Update
|
|
|
|
; 42 : context->count[1]++;
|
|
|
|
0005b b8 04 00 00 00 mov eax, 4
|
|
00060 c1 e0 00 shl eax, 0
|
|
00063 8b 4d 08 mov ecx, DWORD PTR _context$[ebp]
|
|
00066 8b 54 01 10 mov edx, DWORD PTR [ecx+eax+16]
|
|
0006a 83 c2 01 add edx, 1
|
|
0006d b8 04 00 00 00 mov eax, 4
|
|
00072 c1 e0 00 shl eax, 0
|
|
00075 8b 4d 08 mov ecx, DWORD PTR _context$[ebp]
|
|
00078 89 54 01 10 mov DWORD PTR [ecx+eax+16], edx
|
|
$LN5@MD5Update:
|
|
|
|
; 43 : context->count[1] += ((UINT4)inputLen >> 29);
|
|
|
|
0007c 8b 45 10 mov eax, DWORD PTR _inputLen$[ebp]
|
|
0007f c1 e8 1d shr eax, 29 ; 0000001dH
|
|
00082 b9 04 00 00 00 mov ecx, 4
|
|
00087 c1 e1 00 shl ecx, 0
|
|
0008a 8b 55 08 mov edx, DWORD PTR _context$[ebp]
|
|
0008d 03 44 0a 10 add eax, DWORD PTR [edx+ecx+16]
|
|
00091 b9 04 00 00 00 mov ecx, 4
|
|
00096 c1 e1 00 shl ecx, 0
|
|
00099 8b 55 08 mov edx, DWORD PTR _context$[ebp]
|
|
0009c 89 44 0a 10 mov DWORD PTR [edx+ecx+16], eax
|
|
|
|
; 44 :
|
|
; 45 : partLen = 64 - index;
|
|
|
|
000a0 b8 40 00 00 00 mov eax, 64 ; 00000040H
|
|
000a5 2b 45 f4 sub eax, DWORD PTR _index$[ebp]
|
|
000a8 89 45 f0 mov DWORD PTR _partLen$[ebp], eax
|
|
|
|
; 46 :
|
|
; 47 : /* Transform as many times as possible.
|
|
; 48 : */
|
|
; 49 : if (inputLen >= partLen) {
|
|
|
|
000ab 8b 45 10 mov eax, DWORD PTR _inputLen$[ebp]
|
|
000ae 3b 45 f0 cmp eax, DWORD PTR _partLen$[ebp]
|
|
000b1 72 68 jb SHORT $LN6@MD5Update
|
|
|
|
; 50 : MD5_memcpy
|
|
|
|
000b3 8b 45 f0 mov eax, DWORD PTR _partLen$[ebp]
|
|
000b6 50 push eax
|
|
000b7 8b 4d 0c mov ecx, DWORD PTR _input$[ebp]
|
|
000ba 51 push ecx
|
|
000bb 8b 55 f4 mov edx, DWORD PTR _index$[ebp]
|
|
000be 8b 45 08 mov eax, DWORD PTR _context$[ebp]
|
|
000c1 8d 4c 10 18 lea ecx, DWORD PTR [eax+edx+24]
|
|
000c5 51 push ecx
|
|
000c6 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
|
000c9 e8 00 00 00 00 call ?MD5_memcpy@MD5_L@@QAEXPAE0I@Z ; MD5_L::MD5_memcpy
|
|
|
|
; 51 : ((POINTER)&context->buffer[index], (POINTER)input, partLen);
|
|
; 52 : MD5Transform (context->state, context->buffer);
|
|
|
|
000ce 8b 45 08 mov eax, DWORD PTR _context$[ebp]
|
|
000d1 83 c0 18 add eax, 24 ; 00000018H
|
|
000d4 50 push eax
|
|
000d5 8b 4d 08 mov ecx, DWORD PTR _context$[ebp]
|
|
000d8 51 push ecx
|
|
000d9 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
|
000dc e8 00 00 00 00 call ?MD5Transform@MD5_L@@QAEXQAKQAE@Z ; MD5_L::MD5Transform
|
|
|
|
; 53 :
|
|
; 54 : for (i = partLen; i + 63 < inputLen; i += 64)
|
|
|
|
000e1 8b 45 f0 mov eax, DWORD PTR _partLen$[ebp]
|
|
000e4 89 45 f8 mov DWORD PTR _i$[ebp], eax
|
|
000e7 eb 09 jmp SHORT $LN4@MD5Update
|
|
$LN2@MD5Update:
|
|
000e9 8b 45 f8 mov eax, DWORD PTR _i$[ebp]
|
|
000ec 83 c0 40 add eax, 64 ; 00000040H
|
|
000ef 89 45 f8 mov DWORD PTR _i$[ebp], eax
|
|
$LN4@MD5Update:
|
|
000f2 8b 45 f8 mov eax, DWORD PTR _i$[ebp]
|
|
000f5 83 c0 3f add eax, 63 ; 0000003fH
|
|
000f8 3b 45 10 cmp eax, DWORD PTR _inputLen$[ebp]
|
|
000fb 73 15 jae SHORT $LN3@MD5Update
|
|
|
|
; 55 : MD5Transform (context->state, &input[i]);
|
|
|
|
000fd 8b 45 0c mov eax, DWORD PTR _input$[ebp]
|
|
00100 03 45 f8 add eax, DWORD PTR _i$[ebp]
|
|
00103 50 push eax
|
|
00104 8b 4d 08 mov ecx, DWORD PTR _context$[ebp]
|
|
00107 51 push ecx
|
|
00108 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
|
0010b e8 00 00 00 00 call ?MD5Transform@MD5_L@@QAEXQAKQAE@Z ; MD5_L::MD5Transform
|
|
00110 eb d7 jmp SHORT $LN2@MD5Update
|
|
$LN3@MD5Update:
|
|
|
|
; 56 :
|
|
; 57 : index = 0;
|
|
|
|
00112 c7 45 f4 00 00
|
|
00 00 mov DWORD PTR _index$[ebp], 0
|
|
|
|
; 58 : }
|
|
|
|
00119 eb 07 jmp SHORT $LN7@MD5Update
|
|
$LN6@MD5Update:
|
|
|
|
; 59 : else
|
|
; 60 : i = 0;
|
|
|
|
0011b c7 45 f8 00 00
|
|
00 00 mov DWORD PTR _i$[ebp], 0
|
|
$LN7@MD5Update:
|
|
|
|
; 61 :
|
|
; 62 : /* Buffer remaining input */
|
|
; 63 : MD5_memcpy
|
|
|
|
00122 8b 45 10 mov eax, DWORD PTR _inputLen$[ebp]
|
|
00125 2b 45 f8 sub eax, DWORD PTR _i$[ebp]
|
|
00128 50 push eax
|
|
00129 8b 4d 0c mov ecx, DWORD PTR _input$[ebp]
|
|
0012c 03 4d f8 add ecx, DWORD PTR _i$[ebp]
|
|
0012f 51 push ecx
|
|
00130 8b 55 f4 mov edx, DWORD PTR _index$[ebp]
|
|
00133 8b 45 08 mov eax, DWORD PTR _context$[ebp]
|
|
00136 8d 4c 10 18 lea ecx, DWORD PTR [eax+edx+24]
|
|
0013a 51 push ecx
|
|
0013b 8b 4d fc mov ecx, DWORD PTR _this$[ebp]
|
|
0013e e8 00 00 00 00 call ?MD5_memcpy@MD5_L@@QAEXPAE0I@Z ; MD5_L::MD5_memcpy
|
|
|
|
; 64 : ((POINTER)&context->buffer[index], (POINTER)&input[i],
|
|
; 65 : inputLen-i);
|
|
; 66 : }
|
|
|
|
00143 5f pop edi
|
|
00144 5e pop esi
|
|
00145 5b pop ebx
|
|
00146 8b e5 mov esp, ebp
|
|
00148 5d pop ebp
|
|
00149 c2 0c 00 ret 12 ; 0000000cH
|
|
?MD5Update@MD5_L@@QAEXPAU_MD5_CTX@1@PAEI@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@@QAEXPAU_MD5_CTX@1@@Z
|
|
_TEXT SEGMENT
|
|
_this$ = -4 ; size = 4
|
|
_context$ = 8 ; size = 4
|
|
?MD5Init@MD5_L@@QAEXPAU_MD5_CTX@1@@Z PROC ; MD5_L::MD5Init, COMDAT
|
|
; _this$ = ecx
|
|
|
|
; 14 : {
|
|
|
|
00000 55 push ebp
|
|
00001 8b ec mov ebp, esp
|
|
00003 83 ec 44 sub esp, 68 ; 00000044H
|
|
00006 53 push ebx
|
|
00007 56 push esi
|
|
00008 57 push edi
|
|
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
|
|
|
; 15 : context->count[0] = context->count[1] = 0;
|
|
|
|
0000c b8 04 00 00 00 mov eax, 4
|
|
00011 c1 e0 00 shl eax, 0
|
|
00014 8b 4d 08 mov ecx, DWORD PTR _context$[ebp]
|
|
00017 c7 44 01 10 00
|
|
00 00 00 mov DWORD PTR [ecx+eax+16], 0
|
|
0001f ba 04 00 00 00 mov edx, 4
|
|
00024 6b c2 00 imul eax, edx, 0
|
|
00027 8b 4d 08 mov ecx, DWORD PTR _context$[ebp]
|
|
0002a c7 44 01 10 00
|
|
00 00 00 mov DWORD PTR [ecx+eax+16], 0
|
|
|
|
; 16 : /* Load magic initialization constants.
|
|
; 17 : */
|
|
; 18 : context->state[0] = 0x67452301;
|
|
|
|
00032 b8 04 00 00 00 mov eax, 4
|
|
00037 6b c8 00 imul ecx, eax, 0
|
|
0003a 8b 55 08 mov edx, DWORD PTR _context$[ebp]
|
|
0003d c7 04 0a 01 23
|
|
45 67 mov DWORD PTR [edx+ecx], 1732584193 ; 67452301H
|
|
|
|
; 19 : context->state[1] = 0xefcdab89;
|
|
|
|
00044 b8 04 00 00 00 mov eax, 4
|
|
00049 c1 e0 00 shl eax, 0
|
|
0004c 8b 4d 08 mov ecx, DWORD PTR _context$[ebp]
|
|
0004f c7 04 01 89 ab
|
|
cd ef mov DWORD PTR [ecx+eax], -271733879 ; efcdab89H
|
|
|
|
; 20 : context->state[2] = 0x98badcfe;
|
|
|
|
00056 b8 04 00 00 00 mov eax, 4
|
|
0005b d1 e0 shl eax, 1
|
|
0005d 8b 4d 08 mov ecx, DWORD PTR _context$[ebp]
|
|
00060 c7 04 01 fe dc
|
|
ba 98 mov DWORD PTR [ecx+eax], -1732584194 ; 98badcfeH
|
|
|
|
; 21 : context->state[3] = 0x10325476;
|
|
|
|
00067 b8 04 00 00 00 mov eax, 4
|
|
0006c 6b c8 03 imul ecx, eax, 3
|
|
0006f 8b 55 08 mov edx, DWORD PTR _context$[ebp]
|
|
00072 c7 04 0a 76 54
|
|
32 10 mov DWORD PTR [edx+ecx], 271733878 ; 10325476H
|
|
|
|
; 22 : }
|
|
|
|
00079 5f pop edi
|
|
0007a 5e pop esi
|
|
0007b 5b pop ebx
|
|
0007c 8b e5 mov esp, ebp
|
|
0007e 5d pop ebp
|
|
0007f c2 04 00 ret 4
|
|
?MD5Init@MD5_L@@QAEXPAU_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@@QAEXPAEHI@Z
|
|
_TEXT SEGMENT
|
|
_i$ = -8 ; size = 4
|
|
_this$ = -4 ; size = 4
|
|
_output$ = 8 ; size = 4
|
|
_value$ = 12 ; size = 4
|
|
_len$ = 16 ; size = 4
|
|
?MD5_memset@MD5_L@@QAEXPAEHI@Z PROC ; MD5_L::MD5_memset, COMDAT
|
|
; _this$ = ecx
|
|
|
|
; 248 : {
|
|
|
|
00000 55 push ebp
|
|
00001 8b ec mov ebp, esp
|
|
00003 83 ec 48 sub esp, 72 ; 00000048H
|
|
00006 53 push ebx
|
|
00007 56 push esi
|
|
00008 57 push edi
|
|
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
|
|
|
; 249 : unsigned int i;
|
|
; 250 :
|
|
; 251 : for (i = 0; i < len; i++)
|
|
|
|
0000c c7 45 f8 00 00
|
|
00 00 mov DWORD PTR _i$[ebp], 0
|
|
00013 eb 09 jmp SHORT $LN4@MD5_memset
|
|
$LN2@MD5_memset:
|
|
00015 8b 45 f8 mov eax, DWORD PTR _i$[ebp]
|
|
00018 83 c0 01 add eax, 1
|
|
0001b 89 45 f8 mov DWORD PTR _i$[ebp], eax
|
|
$LN4@MD5_memset:
|
|
0001e 8b 45 f8 mov eax, DWORD PTR _i$[ebp]
|
|
00021 3b 45 10 cmp eax, DWORD PTR _len$[ebp]
|
|
00024 73 0d jae SHORT $LN1@MD5_memset
|
|
|
|
; 252 : ((char *)output)[i] = (char)value;
|
|
|
|
00026 8b 45 08 mov eax, DWORD PTR _output$[ebp]
|
|
00029 03 45 f8 add eax, DWORD PTR _i$[ebp]
|
|
0002c 8a 4d 0c mov cl, BYTE PTR _value$[ebp]
|
|
0002f 88 08 mov BYTE PTR [eax], cl
|
|
00031 eb e2 jmp SHORT $LN2@MD5_memset
|
|
$LN1@MD5_memset:
|
|
|
|
; 253 : }
|
|
|
|
00033 5f pop edi
|
|
00034 5e pop esi
|
|
00035 5b pop ebx
|
|
00036 8b e5 mov esp, ebp
|
|
00038 5d pop ebp
|
|
00039 c2 0c 00 ret 12 ; 0000000cH
|
|
?MD5_memset@MD5_L@@QAEXPAEHI@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@@QAEXPAE0I@Z
|
|
_TEXT SEGMENT
|
|
_i$ = -8 ; size = 4
|
|
_this$ = -4 ; size = 4
|
|
_output$ = 8 ; size = 4
|
|
_input$ = 12 ; size = 4
|
|
_len$ = 16 ; size = 4
|
|
?MD5_memcpy@MD5_L@@QAEXPAE0I@Z PROC ; MD5_L::MD5_memcpy, COMDAT
|
|
; _this$ = ecx
|
|
|
|
; 234 : {
|
|
|
|
00000 55 push ebp
|
|
00001 8b ec mov ebp, esp
|
|
00003 83 ec 48 sub esp, 72 ; 00000048H
|
|
00006 53 push ebx
|
|
00007 56 push esi
|
|
00008 57 push edi
|
|
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
|
|
|
; 235 : unsigned int i;
|
|
; 236 :
|
|
; 237 : for (i = 0; i < len; i++)
|
|
|
|
0000c c7 45 f8 00 00
|
|
00 00 mov DWORD PTR _i$[ebp], 0
|
|
00013 eb 09 jmp SHORT $LN4@MD5_memcpy
|
|
$LN2@MD5_memcpy:
|
|
00015 8b 45 f8 mov eax, DWORD PTR _i$[ebp]
|
|
00018 83 c0 01 add eax, 1
|
|
0001b 89 45 f8 mov DWORD PTR _i$[ebp], eax
|
|
$LN4@MD5_memcpy:
|
|
0001e 8b 45 f8 mov eax, DWORD PTR _i$[ebp]
|
|
00021 3b 45 10 cmp eax, DWORD PTR _len$[ebp]
|
|
00024 73 12 jae SHORT $LN1@MD5_memcpy
|
|
|
|
; 238 : output[i] = input[i];
|
|
|
|
00026 8b 45 08 mov eax, DWORD PTR _output$[ebp]
|
|
00029 03 45 f8 add eax, DWORD PTR _i$[ebp]
|
|
0002c 8b 4d 0c mov ecx, DWORD PTR _input$[ebp]
|
|
0002f 03 4d f8 add ecx, DWORD PTR _i$[ebp]
|
|
00032 8a 11 mov dl, BYTE PTR [ecx]
|
|
00034 88 10 mov BYTE PTR [eax], dl
|
|
00036 eb dd jmp SHORT $LN2@MD5_memcpy
|
|
$LN1@MD5_memcpy:
|
|
|
|
; 239 : }
|
|
|
|
00038 5f pop edi
|
|
00039 5e pop esi
|
|
0003a 5b pop ebx
|
|
0003b 8b e5 mov esp, ebp
|
|
0003d 5d pop ebp
|
|
0003e c2 0c 00 ret 12 ; 0000000cH
|
|
?MD5_memcpy@MD5_L@@QAEXPAE0I@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@@QAEXPAKPAEI@Z
|
|
_TEXT SEGMENT
|
|
_j$ = -12 ; size = 4
|
|
_i$ = -8 ; size = 4
|
|
_this$ = -4 ; size = 4
|
|
_output$ = 8 ; size = 4
|
|
_input$ = 12 ; size = 4
|
|
_len$ = 16 ; size = 4
|
|
?Decode@MD5_L@@QAEXPAKPAEI@Z PROC ; MD5_L::Decode, COMDAT
|
|
; _this$ = ecx
|
|
|
|
; 219 : {
|
|
|
|
00000 55 push ebp
|
|
00001 8b ec mov ebp, esp
|
|
00003 83 ec 4c sub esp, 76 ; 0000004cH
|
|
00006 53 push ebx
|
|
00007 56 push esi
|
|
00008 57 push edi
|
|
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
|
|
|
; 220 : unsigned int i, j;
|
|
; 221 :
|
|
; 222 : for (i = 0, j = 0; j < len; i++, j += 4)
|
|
|
|
0000c c7 45 f8 00 00
|
|
00 00 mov DWORD PTR _i$[ebp], 0
|
|
00013 c7 45 f4 00 00
|
|
00 00 mov DWORD PTR _j$[ebp], 0
|
|
0001a eb 12 jmp SHORT $LN4@Decode
|
|
$LN2@Decode:
|
|
0001c 8b 45 f8 mov eax, DWORD PTR _i$[ebp]
|
|
0001f 83 c0 01 add eax, 1
|
|
00022 89 45 f8 mov DWORD PTR _i$[ebp], eax
|
|
00025 8b 4d f4 mov ecx, DWORD PTR _j$[ebp]
|
|
00028 83 c1 04 add ecx, 4
|
|
0002b 89 4d f4 mov DWORD PTR _j$[ebp], ecx
|
|
$LN4@Decode:
|
|
0002e 8b 45 f4 mov eax, DWORD PTR _j$[ebp]
|
|
00031 3b 45 10 cmp eax, DWORD PTR _len$[ebp]
|
|
00034 73 41 jae SHORT $LN1@Decode
|
|
|
|
; 223 : output[i] = ((UINT4)input[j]) | (((UINT4)input[j+1]) << 8) |
|
|
|
|
00036 8b 45 0c mov eax, DWORD PTR _input$[ebp]
|
|
00039 03 45 f4 add eax, DWORD PTR _j$[ebp]
|
|
0003c 0f b6 08 movzx ecx, BYTE PTR [eax]
|
|
0003f 8b 55 0c mov edx, DWORD PTR _input$[ebp]
|
|
00042 03 55 f4 add edx, DWORD PTR _j$[ebp]
|
|
00045 0f b6 42 01 movzx eax, BYTE PTR [edx+1]
|
|
00049 c1 e0 08 shl eax, 8
|
|
0004c 0b c8 or ecx, eax
|
|
0004e 8b 55 0c mov edx, DWORD PTR _input$[ebp]
|
|
00051 03 55 f4 add edx, DWORD PTR _j$[ebp]
|
|
00054 0f b6 42 02 movzx eax, BYTE PTR [edx+2]
|
|
00058 c1 e0 10 shl eax, 16 ; 00000010H
|
|
0005b 0b c8 or ecx, eax
|
|
0005d 8b 55 0c mov edx, DWORD PTR _input$[ebp]
|
|
00060 03 55 f4 add edx, DWORD PTR _j$[ebp]
|
|
00063 0f b6 42 03 movzx eax, BYTE PTR [edx+3]
|
|
00067 c1 e0 18 shl eax, 24 ; 00000018H
|
|
0006a 0b c8 or ecx, eax
|
|
0006c 8b 55 f8 mov edx, DWORD PTR _i$[ebp]
|
|
0006f 8b 45 08 mov eax, DWORD PTR _output$[ebp]
|
|
00072 89 0c 90 mov DWORD PTR [eax+edx*4], ecx
|
|
00075 eb a5 jmp SHORT $LN2@Decode
|
|
$LN1@Decode:
|
|
|
|
; 224 : (((UINT4)input[j+2]) << 16) | (((UINT4)input[j+3]) << 24);
|
|
; 225 : }
|
|
|
|
00077 5f pop edi
|
|
00078 5e pop esi
|
|
00079 5b pop ebx
|
|
0007a 8b e5 mov esp, ebp
|
|
0007c 5d pop ebp
|
|
0007d c2 0c 00 ret 12 ; 0000000cH
|
|
?Decode@MD5_L@@QAEXPAKPAEI@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@@QAEXPAEPAKI@Z
|
|
_TEXT SEGMENT
|
|
_j$ = -12 ; size = 4
|
|
_i$ = -8 ; size = 4
|
|
_this$ = -4 ; size = 4
|
|
_output$ = 8 ; size = 4
|
|
_input$ = 12 ; size = 4
|
|
_len$ = 16 ; size = 4
|
|
?Encode@MD5_L@@QAEXPAEPAKI@Z PROC ; MD5_L::Encode, COMDAT
|
|
; _this$ = ecx
|
|
|
|
; 200 : {
|
|
|
|
00000 55 push ebp
|
|
00001 8b ec mov ebp, esp
|
|
00003 83 ec 4c sub esp, 76 ; 0000004cH
|
|
00006 53 push ebx
|
|
00007 56 push esi
|
|
00008 57 push edi
|
|
00009 89 4d fc mov DWORD PTR _this$[ebp], ecx
|
|
|
|
; 201 : unsigned int i, j;
|
|
; 202 :
|
|
; 203 : for (i = 0, j = 0; j < len; i++, j += 4) {
|
|
|
|
0000c c7 45 f8 00 00
|
|
00 00 mov DWORD PTR _i$[ebp], 0
|
|
00013 c7 45 f4 00 00
|
|
00 00 mov DWORD PTR _j$[ebp], 0
|
|
0001a eb 12 jmp SHORT $LN4@Encode
|
|
$LN2@Encode:
|
|
0001c 8b 45 f8 mov eax, DWORD PTR _i$[ebp]
|
|
0001f 83 c0 01 add eax, 1
|
|
00022 89 45 f8 mov DWORD PTR _i$[ebp], eax
|
|
00025 8b 4d f4 mov ecx, DWORD PTR _j$[ebp]
|
|
00028 83 c1 04 add ecx, 4
|
|
0002b 89 4d f4 mov DWORD PTR _j$[ebp], ecx
|
|
$LN4@Encode:
|
|
0002e 8b 45 f4 mov eax, DWORD PTR _j$[ebp]
|
|
00031 3b 45 10 cmp eax, DWORD PTR _len$[ebp]
|
|
00034 73 6d jae SHORT $LN1@Encode
|
|
|
|
; 204 : output[j] = (unsigned char)(input[i] & 0xff);
|
|
|
|
00036 8b 45 f8 mov eax, DWORD PTR _i$[ebp]
|
|
00039 8b 4d 0c mov ecx, DWORD PTR _input$[ebp]
|
|
0003c 8b 14 81 mov edx, DWORD PTR [ecx+eax*4]
|
|
0003f 81 e2 ff 00 00
|
|
00 and edx, 255 ; 000000ffH
|
|
00045 8b 45 08 mov eax, DWORD PTR _output$[ebp]
|
|
00048 03 45 f4 add eax, DWORD PTR _j$[ebp]
|
|
0004b 88 10 mov BYTE PTR [eax], dl
|
|
|
|
; 205 : output[j+1] = (unsigned char)((input[i] >> 8) & 0xff);
|
|
|
|
0004d 8b 45 f8 mov eax, DWORD PTR _i$[ebp]
|
|
00050 8b 4d 0c mov ecx, DWORD PTR _input$[ebp]
|
|
00053 8b 14 81 mov edx, DWORD PTR [ecx+eax*4]
|
|
00056 c1 ea 08 shr edx, 8
|
|
00059 81 e2 ff 00 00
|
|
00 and edx, 255 ; 000000ffH
|
|
0005f 8b 45 08 mov eax, DWORD PTR _output$[ebp]
|
|
00062 03 45 f4 add eax, DWORD PTR _j$[ebp]
|
|
00065 88 50 01 mov BYTE PTR [eax+1], dl
|
|
|
|
; 206 : output[j+2] = (unsigned char)((input[i] >> 16) & 0xff);
|
|
|
|
00068 8b 45 f8 mov eax, DWORD PTR _i$[ebp]
|
|
0006b 8b 4d 0c mov ecx, DWORD PTR _input$[ebp]
|
|
0006e 8b 14 81 mov edx, DWORD PTR [ecx+eax*4]
|
|
00071 c1 ea 10 shr edx, 16 ; 00000010H
|
|
00074 81 e2 ff 00 00
|
|
00 and edx, 255 ; 000000ffH
|
|
0007a 8b 45 08 mov eax, DWORD PTR _output$[ebp]
|
|
0007d 03 45 f4 add eax, DWORD PTR _j$[ebp]
|
|
00080 88 50 02 mov BYTE PTR [eax+2], dl
|
|
|
|
; 207 : output[j+3] = (unsigned char)((input[i] >> 24) & 0xff);
|
|
|
|
00083 8b 45 f8 mov eax, DWORD PTR _i$[ebp]
|
|
00086 8b 4d 0c mov ecx, DWORD PTR _input$[ebp]
|
|
00089 8b 14 81 mov edx, DWORD PTR [ecx+eax*4]
|
|
0008c c1 ea 18 shr edx, 24 ; 00000018H
|
|
0008f 81 e2 ff 00 00
|
|
00 and edx, 255 ; 000000ffH
|
|
00095 8b 45 08 mov eax, DWORD PTR _output$[ebp]
|
|
00098 03 45 f4 add eax, DWORD PTR _j$[ebp]
|
|
0009b 88 50 03 mov BYTE PTR [eax+3], dl
|
|
|
|
; 208 : }
|
|
|
|
0009e e9 79 ff ff ff jmp $LN2@Encode
|
|
$LN1@Encode:
|
|
|
|
; 209 : }
|
|
|
|
000a3 5f pop edi
|
|
000a4 5e pop esi
|
|
000a5 5b pop ebx
|
|
000a6 8b e5 mov esp, ebp
|
|
000a8 5d pop ebp
|
|
000a9 c2 0c 00 ret 12 ; 0000000cH
|
|
?Encode@MD5_L@@QAEXPAEPAKI@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@@QAEXQAKQAE@Z
|
|
_TEXT SEGMENT
|
|
_x$ = -88 ; size = 64
|
|
_d$ = -24 ; size = 4
|
|
_c$ = -20 ; size = 4
|
|
_b$ = -16 ; size = 4
|
|
_a$ = -12 ; size = 4
|
|
_this$ = -8 ; size = 4
|
|
__$ArrayPad$ = -4 ; size = 4
|
|
_state$ = 8 ; size = 4
|
|
_block$ = 12 ; size = 4
|
|
?MD5Transform@MD5_L@@QAEXQAKQAE@Z PROC ; MD5_L::MD5Transform, COMDAT
|
|
; _this$ = ecx
|
|
|
|
; 105 : {
|
|
|
|
00000 55 push ebp
|
|
00001 8b ec mov ebp, esp
|
|
00003 81 ec 98 00 00
|
|
00 sub esp, 152 ; 00000098H
|
|
00009 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie
|
|
0000e 33 c5 xor eax, ebp
|
|
00010 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax
|
|
00013 53 push ebx
|
|
00014 56 push esi
|
|
00015 57 push edi
|
|
00016 89 4d f8 mov DWORD PTR _this$[ebp], ecx
|
|
|
|
; 106 : UINT4 a = state[0], b = state[1], c = state[2], d = state[3], x[16];
|
|
|
|
00019 b8 04 00 00 00 mov eax, 4
|
|
0001e 6b c8 00 imul ecx, eax, 0
|
|
00021 8b 55 08 mov edx, DWORD PTR _state$[ebp]
|
|
00024 8b 04 0a mov eax, DWORD PTR [edx+ecx]
|
|
00027 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
0002a b8 04 00 00 00 mov eax, 4
|
|
0002f c1 e0 00 shl eax, 0
|
|
00032 8b 4d 08 mov ecx, DWORD PTR _state$[ebp]
|
|
00035 8b 14 01 mov edx, DWORD PTR [ecx+eax]
|
|
00038 89 55 f0 mov DWORD PTR _b$[ebp], edx
|
|
0003b b8 04 00 00 00 mov eax, 4
|
|
00040 d1 e0 shl eax, 1
|
|
00042 8b 4d 08 mov ecx, DWORD PTR _state$[ebp]
|
|
00045 8b 14 01 mov edx, DWORD PTR [ecx+eax]
|
|
00048 89 55 ec mov DWORD PTR _c$[ebp], edx
|
|
0004b b8 04 00 00 00 mov eax, 4
|
|
00050 6b c8 03 imul ecx, eax, 3
|
|
00053 8b 55 08 mov edx, DWORD PTR _state$[ebp]
|
|
00056 8b 04 0a mov eax, DWORD PTR [edx+ecx]
|
|
00059 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
|
|
; 107 :
|
|
; 108 : Decode (x, block, 64);
|
|
|
|
0005c 6a 40 push 64 ; 00000040H
|
|
0005e 8b 45 0c mov eax, DWORD PTR _block$[ebp]
|
|
00061 50 push eax
|
|
00062 8d 4d a8 lea ecx, DWORD PTR _x$[ebp]
|
|
00065 51 push ecx
|
|
00066 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
|
|
00069 e8 00 00 00 00 call ?Decode@MD5_L@@QAEXPAKPAEI@Z ; MD5_L::Decode
|
|
|
|
; 109 :
|
|
; 110 : /* Round 1 */
|
|
; 111 : FF (a, b, c, d, x[ 0], S11, 0xd76aa478); /* 1 */
|
|
|
|
0006e 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00071 23 45 ec and eax, DWORD PTR _c$[ebp]
|
|
00074 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
00077 f7 d1 not ecx
|
|
00079 23 4d e8 and ecx, DWORD PTR _d$[ebp]
|
|
0007c 0b c1 or eax, ecx
|
|
0007e ba 04 00 00 00 mov edx, 4
|
|
00083 6b ca 00 imul ecx, edx, 0
|
|
00086 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
0008a 8b 55 f4 mov edx, DWORD PTR _a$[ebp]
|
|
0008d 8d 84 02 78 a4
|
|
6a d7 lea eax, DWORD PTR [edx+eax-680876936]
|
|
00094 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
00097 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
0009a c1 e0 07 shl eax, 7
|
|
0009d 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
000a0 c1 e9 19 shr ecx, 25 ; 00000019H
|
|
000a3 0b c1 or eax, ecx
|
|
000a5 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
000a8 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
000ab 03 45 f0 add eax, DWORD PTR _b$[ebp]
|
|
000ae 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
|
|
; 112 : FF (d, a, b, c, x[ 1], S12, 0xe8c7b756); /* 2 */
|
|
|
|
000b1 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
000b4 23 45 f0 and eax, DWORD PTR _b$[ebp]
|
|
000b7 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
000ba f7 d1 not ecx
|
|
000bc 23 4d ec and ecx, DWORD PTR _c$[ebp]
|
|
000bf 0b c1 or eax, ecx
|
|
000c1 ba 04 00 00 00 mov edx, 4
|
|
000c6 c1 e2 00 shl edx, 0
|
|
000c9 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
000cd 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
000d0 8d 94 01 56 b7
|
|
c7 e8 lea edx, DWORD PTR [ecx+eax-389564586]
|
|
000d7 89 55 e8 mov DWORD PTR _d$[ebp], edx
|
|
000da 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
000dd c1 e0 0c shl eax, 12 ; 0000000cH
|
|
000e0 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
000e3 c1 e9 14 shr ecx, 20 ; 00000014H
|
|
000e6 0b c1 or eax, ecx
|
|
000e8 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
000eb 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
000ee 03 45 f4 add eax, DWORD PTR _a$[ebp]
|
|
000f1 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
|
|
; 113 : FF (c, d, a, b, x[ 2], S13, 0x242070db); /* 3 */
|
|
|
|
000f4 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
000f7 23 45 f4 and eax, DWORD PTR _a$[ebp]
|
|
000fa 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
000fd f7 d1 not ecx
|
|
000ff 23 4d f0 and ecx, DWORD PTR _b$[ebp]
|
|
00102 0b c1 or eax, ecx
|
|
00104 ba 04 00 00 00 mov edx, 4
|
|
00109 d1 e2 shl edx, 1
|
|
0010b 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
0010f 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
00112 8d 94 01 db 70
|
|
20 24 lea edx, DWORD PTR [ecx+eax+606105819]
|
|
00119 89 55 ec mov DWORD PTR _c$[ebp], edx
|
|
0011c 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
0011f c1 e0 11 shl eax, 17 ; 00000011H
|
|
00122 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
00125 c1 e9 0f shr ecx, 15 ; 0000000fH
|
|
00128 0b c1 or eax, ecx
|
|
0012a 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
0012d 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00130 03 45 e8 add eax, DWORD PTR _d$[ebp]
|
|
00133 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
|
|
; 114 : FF (b, c, d, a, x[ 3], S14, 0xc1bdceee); /* 4 */
|
|
|
|
00136 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00139 23 45 e8 and eax, DWORD PTR _d$[ebp]
|
|
0013c 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
0013f f7 d1 not ecx
|
|
00141 23 4d f4 and ecx, DWORD PTR _a$[ebp]
|
|
00144 0b c1 or eax, ecx
|
|
00146 ba 04 00 00 00 mov edx, 4
|
|
0014b 6b ca 03 imul ecx, edx, 3
|
|
0014e 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
00152 8b 55 f0 mov edx, DWORD PTR _b$[ebp]
|
|
00155 8d 84 02 ee ce
|
|
bd c1 lea eax, DWORD PTR [edx+eax-1044525330]
|
|
0015c 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
0015f 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00162 c1 e0 16 shl eax, 22 ; 00000016H
|
|
00165 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
00168 c1 e9 0a shr ecx, 10 ; 0000000aH
|
|
0016b 0b c1 or eax, ecx
|
|
0016d 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
00170 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00173 03 45 ec add eax, DWORD PTR _c$[ebp]
|
|
00176 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
|
|
; 115 : FF (a, b, c, d, x[ 4], S11, 0xf57c0faf); /* 5 */
|
|
|
|
00179 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
0017c 23 45 ec and eax, DWORD PTR _c$[ebp]
|
|
0017f 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
00182 f7 d1 not ecx
|
|
00184 23 4d e8 and ecx, DWORD PTR _d$[ebp]
|
|
00187 0b c1 or eax, ecx
|
|
00189 ba 04 00 00 00 mov edx, 4
|
|
0018e c1 e2 02 shl edx, 2
|
|
00191 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
00195 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
00198 8d 94 01 af 0f
|
|
7c f5 lea edx, DWORD PTR [ecx+eax-176418897]
|
|
0019f 89 55 f4 mov DWORD PTR _a$[ebp], edx
|
|
001a2 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
001a5 c1 e0 07 shl eax, 7
|
|
001a8 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
001ab c1 e9 19 shr ecx, 25 ; 00000019H
|
|
001ae 0b c1 or eax, ecx
|
|
001b0 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
001b3 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
001b6 03 45 f0 add eax, DWORD PTR _b$[ebp]
|
|
001b9 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
|
|
; 116 : FF (d, a, b, c, x[ 5], S12, 0x4787c62a); /* 6 */
|
|
|
|
001bc 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
001bf 23 45 f0 and eax, DWORD PTR _b$[ebp]
|
|
001c2 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
001c5 f7 d1 not ecx
|
|
001c7 23 4d ec and ecx, DWORD PTR _c$[ebp]
|
|
001ca 0b c1 or eax, ecx
|
|
001cc ba 04 00 00 00 mov edx, 4
|
|
001d1 6b ca 05 imul ecx, edx, 5
|
|
001d4 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
001d8 8b 55 e8 mov edx, DWORD PTR _d$[ebp]
|
|
001db 8d 84 02 2a c6
|
|
87 47 lea eax, DWORD PTR [edx+eax+1200080426]
|
|
001e2 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
001e5 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
001e8 c1 e0 0c shl eax, 12 ; 0000000cH
|
|
001eb 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
001ee c1 e9 14 shr ecx, 20 ; 00000014H
|
|
001f1 0b c1 or eax, ecx
|
|
001f3 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
001f6 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
001f9 03 45 f4 add eax, DWORD PTR _a$[ebp]
|
|
001fc 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
|
|
; 117 : FF (c, d, a, b, x[ 6], S13, 0xa8304613); /* 7 */
|
|
|
|
001ff 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00202 23 45 f4 and eax, DWORD PTR _a$[ebp]
|
|
00205 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
00208 f7 d1 not ecx
|
|
0020a 23 4d f0 and ecx, DWORD PTR _b$[ebp]
|
|
0020d 0b c1 or eax, ecx
|
|
0020f ba 04 00 00 00 mov edx, 4
|
|
00214 6b ca 06 imul ecx, edx, 6
|
|
00217 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
0021b 8b 55 ec mov edx, DWORD PTR _c$[ebp]
|
|
0021e 8d 84 02 13 46
|
|
30 a8 lea eax, DWORD PTR [edx+eax-1473231341]
|
|
00225 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
00228 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
0022b c1 e0 11 shl eax, 17 ; 00000011H
|
|
0022e 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
00231 c1 e9 0f shr ecx, 15 ; 0000000fH
|
|
00234 0b c1 or eax, ecx
|
|
00236 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
00239 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
0023c 03 45 e8 add eax, DWORD PTR _d$[ebp]
|
|
0023f 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
|
|
; 118 : FF (b, c, d, a, x[ 7], S14, 0xfd469501); /* 8 */
|
|
|
|
00242 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00245 23 45 e8 and eax, DWORD PTR _d$[ebp]
|
|
00248 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
0024b f7 d1 not ecx
|
|
0024d 23 4d f4 and ecx, DWORD PTR _a$[ebp]
|
|
00250 0b c1 or eax, ecx
|
|
00252 ba 04 00 00 00 mov edx, 4
|
|
00257 6b ca 07 imul ecx, edx, 7
|
|
0025a 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
0025e 8b 55 f0 mov edx, DWORD PTR _b$[ebp]
|
|
00261 8d 84 02 01 95
|
|
46 fd lea eax, DWORD PTR [edx+eax-45705983]
|
|
00268 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
0026b 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
0026e c1 e0 16 shl eax, 22 ; 00000016H
|
|
00271 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
00274 c1 e9 0a shr ecx, 10 ; 0000000aH
|
|
00277 0b c1 or eax, ecx
|
|
00279 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
0027c 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
0027f 03 45 ec add eax, DWORD PTR _c$[ebp]
|
|
00282 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
|
|
; 119 : FF (a, b, c, d, x[ 8], S11, 0x698098d8); /* 9 */
|
|
|
|
00285 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00288 23 45 ec and eax, DWORD PTR _c$[ebp]
|
|
0028b 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
0028e f7 d1 not ecx
|
|
00290 23 4d e8 and ecx, DWORD PTR _d$[ebp]
|
|
00293 0b c1 or eax, ecx
|
|
00295 ba 04 00 00 00 mov edx, 4
|
|
0029a c1 e2 03 shl edx, 3
|
|
0029d 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
002a1 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
002a4 8d 94 01 d8 98
|
|
80 69 lea edx, DWORD PTR [ecx+eax+1770035416]
|
|
002ab 89 55 f4 mov DWORD PTR _a$[ebp], edx
|
|
002ae 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
002b1 c1 e0 07 shl eax, 7
|
|
002b4 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
002b7 c1 e9 19 shr ecx, 25 ; 00000019H
|
|
002ba 0b c1 or eax, ecx
|
|
002bc 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
002bf 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
002c2 03 45 f0 add eax, DWORD PTR _b$[ebp]
|
|
002c5 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
|
|
; 120 : FF (d, a, b, c, x[ 9], S12, 0x8b44f7af); /* 10 */
|
|
|
|
002c8 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
002cb 23 45 f0 and eax, DWORD PTR _b$[ebp]
|
|
002ce 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
002d1 f7 d1 not ecx
|
|
002d3 23 4d ec and ecx, DWORD PTR _c$[ebp]
|
|
002d6 0b c1 or eax, ecx
|
|
002d8 ba 04 00 00 00 mov edx, 4
|
|
002dd 6b ca 09 imul ecx, edx, 9
|
|
002e0 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
002e4 8b 55 e8 mov edx, DWORD PTR _d$[ebp]
|
|
002e7 8d 84 02 af f7
|
|
44 8b lea eax, DWORD PTR [edx+eax-1958414417]
|
|
002ee 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
002f1 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
002f4 c1 e0 0c shl eax, 12 ; 0000000cH
|
|
002f7 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
002fa c1 e9 14 shr ecx, 20 ; 00000014H
|
|
002fd 0b c1 or eax, ecx
|
|
002ff 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
00302 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00305 03 45 f4 add eax, DWORD PTR _a$[ebp]
|
|
00308 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
|
|
; 121 : FF (c, d, a, b, x[10], S13, 0xffff5bb1); /* 11 */
|
|
|
|
0030b 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
0030e 23 45 f4 and eax, DWORD PTR _a$[ebp]
|
|
00311 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
00314 f7 d1 not ecx
|
|
00316 23 4d f0 and ecx, DWORD PTR _b$[ebp]
|
|
00319 0b c1 or eax, ecx
|
|
0031b ba 04 00 00 00 mov edx, 4
|
|
00320 6b ca 0a imul ecx, edx, 10
|
|
00323 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
00327 8b 55 ec mov edx, DWORD PTR _c$[ebp]
|
|
0032a 8d 84 02 b1 5b
|
|
ff ff lea eax, DWORD PTR [edx+eax-42063]
|
|
00331 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
00334 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00337 c1 e0 11 shl eax, 17 ; 00000011H
|
|
0033a 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
0033d c1 e9 0f shr ecx, 15 ; 0000000fH
|
|
00340 0b c1 or eax, ecx
|
|
00342 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
00345 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00348 03 45 e8 add eax, DWORD PTR _d$[ebp]
|
|
0034b 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
|
|
; 122 : FF (b, c, d, a, x[11], S14, 0x895cd7be); /* 12 */
|
|
|
|
0034e 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00351 23 45 e8 and eax, DWORD PTR _d$[ebp]
|
|
00354 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
00357 f7 d1 not ecx
|
|
00359 23 4d f4 and ecx, DWORD PTR _a$[ebp]
|
|
0035c 0b c1 or eax, ecx
|
|
0035e ba 04 00 00 00 mov edx, 4
|
|
00363 6b ca 0b imul ecx, edx, 11
|
|
00366 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
0036a 8b 55 f0 mov edx, DWORD PTR _b$[ebp]
|
|
0036d 8d 84 02 be d7
|
|
5c 89 lea eax, DWORD PTR [edx+eax-1990404162]
|
|
00374 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
00377 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
0037a c1 e0 16 shl eax, 22 ; 00000016H
|
|
0037d 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
00380 c1 e9 0a shr ecx, 10 ; 0000000aH
|
|
00383 0b c1 or eax, ecx
|
|
00385 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
00388 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
0038b 03 45 ec add eax, DWORD PTR _c$[ebp]
|
|
0038e 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
|
|
; 123 : FF (a, b, c, d, x[12], S11, 0x6b901122); /* 13 */
|
|
|
|
00391 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00394 23 45 ec and eax, DWORD PTR _c$[ebp]
|
|
00397 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
0039a f7 d1 not ecx
|
|
0039c 23 4d e8 and ecx, DWORD PTR _d$[ebp]
|
|
0039f 0b c1 or eax, ecx
|
|
003a1 ba 04 00 00 00 mov edx, 4
|
|
003a6 6b ca 0c imul ecx, edx, 12
|
|
003a9 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
003ad 8b 55 f4 mov edx, DWORD PTR _a$[ebp]
|
|
003b0 8d 84 02 22 11
|
|
90 6b lea eax, DWORD PTR [edx+eax+1804603682]
|
|
003b7 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
003ba 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
003bd c1 e0 07 shl eax, 7
|
|
003c0 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
003c3 c1 e9 19 shr ecx, 25 ; 00000019H
|
|
003c6 0b c1 or eax, ecx
|
|
003c8 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
003cb 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
003ce 03 45 f0 add eax, DWORD PTR _b$[ebp]
|
|
003d1 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
|
|
; 124 : FF (d, a, b, c, x[13], S12, 0xfd987193); /* 14 */
|
|
|
|
003d4 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
003d7 23 45 f0 and eax, DWORD PTR _b$[ebp]
|
|
003da 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
003dd f7 d1 not ecx
|
|
003df 23 4d ec and ecx, DWORD PTR _c$[ebp]
|
|
003e2 0b c1 or eax, ecx
|
|
003e4 ba 04 00 00 00 mov edx, 4
|
|
003e9 6b ca 0d imul ecx, edx, 13
|
|
003ec 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
003f0 8b 55 e8 mov edx, DWORD PTR _d$[ebp]
|
|
003f3 8d 84 02 93 71
|
|
98 fd lea eax, DWORD PTR [edx+eax-40341101]
|
|
003fa 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
003fd 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00400 c1 e0 0c shl eax, 12 ; 0000000cH
|
|
00403 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
00406 c1 e9 14 shr ecx, 20 ; 00000014H
|
|
00409 0b c1 or eax, ecx
|
|
0040b 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
0040e 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00411 03 45 f4 add eax, DWORD PTR _a$[ebp]
|
|
00414 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
|
|
; 125 : FF (c, d, a, b, x[14], S13, 0xa679438e); /* 15 */
|
|
|
|
00417 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
0041a 23 45 f4 and eax, DWORD PTR _a$[ebp]
|
|
0041d 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
00420 f7 d1 not ecx
|
|
00422 23 4d f0 and ecx, DWORD PTR _b$[ebp]
|
|
00425 0b c1 or eax, ecx
|
|
00427 ba 04 00 00 00 mov edx, 4
|
|
0042c 6b ca 0e imul ecx, edx, 14
|
|
0042f 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
00433 8b 55 ec mov edx, DWORD PTR _c$[ebp]
|
|
00436 8d 84 02 8e 43
|
|
79 a6 lea eax, DWORD PTR [edx+eax-1502002290]
|
|
0043d 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
00440 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00443 c1 e0 11 shl eax, 17 ; 00000011H
|
|
00446 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
00449 c1 e9 0f shr ecx, 15 ; 0000000fH
|
|
0044c 0b c1 or eax, ecx
|
|
0044e 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
00451 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00454 03 45 e8 add eax, DWORD PTR _d$[ebp]
|
|
00457 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
|
|
; 126 : FF (b, c, d, a, x[15], S14, 0x49b40821); /* 16 */
|
|
|
|
0045a 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
0045d 23 45 e8 and eax, DWORD PTR _d$[ebp]
|
|
00460 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
00463 f7 d1 not ecx
|
|
00465 23 4d f4 and ecx, DWORD PTR _a$[ebp]
|
|
00468 0b c1 or eax, ecx
|
|
0046a ba 04 00 00 00 mov edx, 4
|
|
0046f 6b ca 0f imul ecx, edx, 15
|
|
00472 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
00476 8b 55 f0 mov edx, DWORD PTR _b$[ebp]
|
|
00479 8d 84 02 21 08
|
|
b4 49 lea eax, DWORD PTR [edx+eax+1236535329]
|
|
00480 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
00483 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00486 c1 e0 16 shl eax, 22 ; 00000016H
|
|
00489 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
0048c c1 e9 0a shr ecx, 10 ; 0000000aH
|
|
0048f 0b c1 or eax, ecx
|
|
00491 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
00494 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00497 03 45 ec add eax, DWORD PTR _c$[ebp]
|
|
0049a 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
|
|
; 127 :
|
|
; 128 : /* Round 2 */
|
|
; 129 : GG (a, b, c, d, x[ 1], S21, 0xf61e2562); /* 17 */
|
|
|
|
0049d 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
004a0 23 45 e8 and eax, DWORD PTR _d$[ebp]
|
|
004a3 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
004a6 f7 d1 not ecx
|
|
004a8 23 4d ec and ecx, DWORD PTR _c$[ebp]
|
|
004ab 0b c1 or eax, ecx
|
|
004ad ba 04 00 00 00 mov edx, 4
|
|
004b2 c1 e2 00 shl edx, 0
|
|
004b5 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
004b9 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
004bc 8d 94 01 62 25
|
|
1e f6 lea edx, DWORD PTR [ecx+eax-165796510]
|
|
004c3 89 55 f4 mov DWORD PTR _a$[ebp], edx
|
|
004c6 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
004c9 c1 e0 05 shl eax, 5
|
|
004cc 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
004cf c1 e9 1b shr ecx, 27 ; 0000001bH
|
|
004d2 0b c1 or eax, ecx
|
|
004d4 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
004d7 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
004da 03 45 f0 add eax, DWORD PTR _b$[ebp]
|
|
004dd 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
|
|
; 130 : GG (d, a, b, c, x[ 6], S22, 0xc040b340); /* 18 */
|
|
|
|
004e0 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
004e3 23 45 ec and eax, DWORD PTR _c$[ebp]
|
|
004e6 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
004e9 f7 d1 not ecx
|
|
004eb 23 4d f0 and ecx, DWORD PTR _b$[ebp]
|
|
004ee 0b c1 or eax, ecx
|
|
004f0 ba 04 00 00 00 mov edx, 4
|
|
004f5 6b ca 06 imul ecx, edx, 6
|
|
004f8 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
004fc 8b 55 e8 mov edx, DWORD PTR _d$[ebp]
|
|
004ff 8d 84 02 40 b3
|
|
40 c0 lea eax, DWORD PTR [edx+eax-1069501632]
|
|
00506 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
00509 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
0050c c1 e0 09 shl eax, 9
|
|
0050f 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
00512 c1 e9 17 shr ecx, 23 ; 00000017H
|
|
00515 0b c1 or eax, ecx
|
|
00517 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
0051a 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
0051d 03 45 f4 add eax, DWORD PTR _a$[ebp]
|
|
00520 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
|
|
; 131 : GG (c, d, a, b, x[11], S23, 0x265e5a51); /* 19 */
|
|
|
|
00523 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00526 23 45 f0 and eax, DWORD PTR _b$[ebp]
|
|
00529 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
0052c f7 d1 not ecx
|
|
0052e 23 4d f4 and ecx, DWORD PTR _a$[ebp]
|
|
00531 0b c1 or eax, ecx
|
|
00533 ba 04 00 00 00 mov edx, 4
|
|
00538 6b ca 0b imul ecx, edx, 11
|
|
0053b 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
0053f 8b 55 ec mov edx, DWORD PTR _c$[ebp]
|
|
00542 8d 84 02 51 5a
|
|
5e 26 lea eax, DWORD PTR [edx+eax+643717713]
|
|
00549 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
0054c 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
0054f c1 e0 0e shl eax, 14 ; 0000000eH
|
|
00552 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
00555 c1 e9 12 shr ecx, 18 ; 00000012H
|
|
00558 0b c1 or eax, ecx
|
|
0055a 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
0055d 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00560 03 45 e8 add eax, DWORD PTR _d$[ebp]
|
|
00563 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
|
|
; 132 : GG (b, c, d, a, x[ 0], S24, 0xe9b6c7aa); /* 20 */
|
|
|
|
00566 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00569 23 45 f4 and eax, DWORD PTR _a$[ebp]
|
|
0056c 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
0056f f7 d1 not ecx
|
|
00571 23 4d e8 and ecx, DWORD PTR _d$[ebp]
|
|
00574 0b c1 or eax, ecx
|
|
00576 ba 04 00 00 00 mov edx, 4
|
|
0057b 6b ca 00 imul ecx, edx, 0
|
|
0057e 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
00582 8b 55 f0 mov edx, DWORD PTR _b$[ebp]
|
|
00585 8d 84 02 aa c7
|
|
b6 e9 lea eax, DWORD PTR [edx+eax-373897302]
|
|
0058c 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
0058f 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00592 c1 e0 14 shl eax, 20 ; 00000014H
|
|
00595 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
00598 c1 e9 0c shr ecx, 12 ; 0000000cH
|
|
0059b 0b c1 or eax, ecx
|
|
0059d 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
005a0 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
005a3 03 45 ec add eax, DWORD PTR _c$[ebp]
|
|
005a6 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
|
|
; 133 : GG (a, b, c, d, x[ 5], S21, 0xd62f105d); /* 21 */
|
|
|
|
005a9 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
005ac 23 45 e8 and eax, DWORD PTR _d$[ebp]
|
|
005af 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
005b2 f7 d1 not ecx
|
|
005b4 23 4d ec and ecx, DWORD PTR _c$[ebp]
|
|
005b7 0b c1 or eax, ecx
|
|
005b9 ba 04 00 00 00 mov edx, 4
|
|
005be 6b ca 05 imul ecx, edx, 5
|
|
005c1 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
005c5 8b 55 f4 mov edx, DWORD PTR _a$[ebp]
|
|
005c8 8d 84 02 5d 10
|
|
2f d6 lea eax, DWORD PTR [edx+eax-701558691]
|
|
005cf 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
005d2 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
005d5 c1 e0 05 shl eax, 5
|
|
005d8 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
005db c1 e9 1b shr ecx, 27 ; 0000001bH
|
|
005de 0b c1 or eax, ecx
|
|
005e0 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
005e3 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
005e6 03 45 f0 add eax, DWORD PTR _b$[ebp]
|
|
005e9 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
|
|
; 134 : GG (d, a, b, c, x[10], S22, 0x2441453); /* 22 */
|
|
|
|
005ec 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
005ef 23 45 ec and eax, DWORD PTR _c$[ebp]
|
|
005f2 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
005f5 f7 d1 not ecx
|
|
005f7 23 4d f0 and ecx, DWORD PTR _b$[ebp]
|
|
005fa 0b c1 or eax, ecx
|
|
005fc ba 04 00 00 00 mov edx, 4
|
|
00601 6b ca 0a imul ecx, edx, 10
|
|
00604 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
00608 8b 55 e8 mov edx, DWORD PTR _d$[ebp]
|
|
0060b 8d 84 02 53 14
|
|
44 02 lea eax, DWORD PTR [edx+eax+38016083]
|
|
00612 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
00615 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00618 c1 e0 09 shl eax, 9
|
|
0061b 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
0061e c1 e9 17 shr ecx, 23 ; 00000017H
|
|
00621 0b c1 or eax, ecx
|
|
00623 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
00626 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00629 03 45 f4 add eax, DWORD PTR _a$[ebp]
|
|
0062c 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
|
|
; 135 : GG (c, d, a, b, x[15], S23, 0xd8a1e681); /* 23 */
|
|
|
|
0062f 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00632 23 45 f0 and eax, DWORD PTR _b$[ebp]
|
|
00635 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
00638 f7 d1 not ecx
|
|
0063a 23 4d f4 and ecx, DWORD PTR _a$[ebp]
|
|
0063d 0b c1 or eax, ecx
|
|
0063f ba 04 00 00 00 mov edx, 4
|
|
00644 6b ca 0f imul ecx, edx, 15
|
|
00647 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
0064b 8b 55 ec mov edx, DWORD PTR _c$[ebp]
|
|
0064e 8d 84 02 81 e6
|
|
a1 d8 lea eax, DWORD PTR [edx+eax-660478335]
|
|
00655 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
00658 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
0065b c1 e0 0e shl eax, 14 ; 0000000eH
|
|
0065e 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
00661 c1 e9 12 shr ecx, 18 ; 00000012H
|
|
00664 0b c1 or eax, ecx
|
|
00666 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
00669 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
0066c 03 45 e8 add eax, DWORD PTR _d$[ebp]
|
|
0066f 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
|
|
; 136 : GG (b, c, d, a, x[ 4], S24, 0xe7d3fbc8); /* 24 */
|
|
|
|
00672 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00675 23 45 f4 and eax, DWORD PTR _a$[ebp]
|
|
00678 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
0067b f7 d1 not ecx
|
|
0067d 23 4d e8 and ecx, DWORD PTR _d$[ebp]
|
|
00680 0b c1 or eax, ecx
|
|
00682 ba 04 00 00 00 mov edx, 4
|
|
00687 c1 e2 02 shl edx, 2
|
|
0068a 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
0068e 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
00691 8d 94 01 c8 fb
|
|
d3 e7 lea edx, DWORD PTR [ecx+eax-405537848]
|
|
00698 89 55 f0 mov DWORD PTR _b$[ebp], edx
|
|
0069b 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
0069e c1 e0 14 shl eax, 20 ; 00000014H
|
|
006a1 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
006a4 c1 e9 0c shr ecx, 12 ; 0000000cH
|
|
006a7 0b c1 or eax, ecx
|
|
006a9 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
006ac 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
006af 03 45 ec add eax, DWORD PTR _c$[ebp]
|
|
006b2 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
|
|
; 137 : GG (a, b, c, d, x[ 9], S21, 0x21e1cde6); /* 25 */
|
|
|
|
006b5 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
006b8 23 45 e8 and eax, DWORD PTR _d$[ebp]
|
|
006bb 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
006be f7 d1 not ecx
|
|
006c0 23 4d ec and ecx, DWORD PTR _c$[ebp]
|
|
006c3 0b c1 or eax, ecx
|
|
006c5 ba 04 00 00 00 mov edx, 4
|
|
006ca 6b ca 09 imul ecx, edx, 9
|
|
006cd 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
006d1 8b 55 f4 mov edx, DWORD PTR _a$[ebp]
|
|
006d4 8d 84 02 e6 cd
|
|
e1 21 lea eax, DWORD PTR [edx+eax+568446438]
|
|
006db 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
006de 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
006e1 c1 e0 05 shl eax, 5
|
|
006e4 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
006e7 c1 e9 1b shr ecx, 27 ; 0000001bH
|
|
006ea 0b c1 or eax, ecx
|
|
006ec 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
006ef 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
006f2 03 45 f0 add eax, DWORD PTR _b$[ebp]
|
|
006f5 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
|
|
; 138 : GG (d, a, b, c, x[14], S22, 0xc33707d6); /* 26 */
|
|
|
|
006f8 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
006fb 23 45 ec and eax, DWORD PTR _c$[ebp]
|
|
006fe 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
00701 f7 d1 not ecx
|
|
00703 23 4d f0 and ecx, DWORD PTR _b$[ebp]
|
|
00706 0b c1 or eax, ecx
|
|
00708 ba 04 00 00 00 mov edx, 4
|
|
0070d 6b ca 0e imul ecx, edx, 14
|
|
00710 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
00714 8b 55 e8 mov edx, DWORD PTR _d$[ebp]
|
|
00717 8d 84 02 d6 07
|
|
37 c3 lea eax, DWORD PTR [edx+eax-1019803690]
|
|
0071e 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
00721 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00724 c1 e0 09 shl eax, 9
|
|
00727 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
0072a c1 e9 17 shr ecx, 23 ; 00000017H
|
|
0072d 0b c1 or eax, ecx
|
|
0072f 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
00732 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00735 03 45 f4 add eax, DWORD PTR _a$[ebp]
|
|
00738 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
|
|
; 139 : GG (c, d, a, b, x[ 3], S23, 0xf4d50d87); /* 27 */
|
|
|
|
0073b 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
0073e 23 45 f0 and eax, DWORD PTR _b$[ebp]
|
|
00741 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
00744 f7 d1 not ecx
|
|
00746 23 4d f4 and ecx, DWORD PTR _a$[ebp]
|
|
00749 0b c1 or eax, ecx
|
|
0074b ba 04 00 00 00 mov edx, 4
|
|
00750 6b ca 03 imul ecx, edx, 3
|
|
00753 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
00757 8b 55 ec mov edx, DWORD PTR _c$[ebp]
|
|
0075a 8d 84 02 87 0d
|
|
d5 f4 lea eax, DWORD PTR [edx+eax-187363961]
|
|
00761 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
00764 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00767 c1 e0 0e shl eax, 14 ; 0000000eH
|
|
0076a 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
0076d c1 e9 12 shr ecx, 18 ; 00000012H
|
|
00770 0b c1 or eax, ecx
|
|
00772 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
00775 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00778 03 45 e8 add eax, DWORD PTR _d$[ebp]
|
|
0077b 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
|
|
; 140 : GG (b, c, d, a, x[ 8], S24, 0x455a14ed); /* 28 */
|
|
|
|
0077e 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00781 23 45 f4 and eax, DWORD PTR _a$[ebp]
|
|
00784 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
00787 f7 d1 not ecx
|
|
00789 23 4d e8 and ecx, DWORD PTR _d$[ebp]
|
|
0078c 0b c1 or eax, ecx
|
|
0078e ba 04 00 00 00 mov edx, 4
|
|
00793 c1 e2 03 shl edx, 3
|
|
00796 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
0079a 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
0079d 8d 94 01 ed 14
|
|
5a 45 lea edx, DWORD PTR [ecx+eax+1163531501]
|
|
007a4 89 55 f0 mov DWORD PTR _b$[ebp], edx
|
|
007a7 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
007aa c1 e0 14 shl eax, 20 ; 00000014H
|
|
007ad 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
007b0 c1 e9 0c shr ecx, 12 ; 0000000cH
|
|
007b3 0b c1 or eax, ecx
|
|
007b5 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
007b8 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
007bb 03 45 ec add eax, DWORD PTR _c$[ebp]
|
|
007be 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
|
|
; 141 : GG (a, b, c, d, x[13], S21, 0xa9e3e905); /* 29 */
|
|
|
|
007c1 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
007c4 23 45 e8 and eax, DWORD PTR _d$[ebp]
|
|
007c7 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
007ca f7 d1 not ecx
|
|
007cc 23 4d ec and ecx, DWORD PTR _c$[ebp]
|
|
007cf 0b c1 or eax, ecx
|
|
007d1 ba 04 00 00 00 mov edx, 4
|
|
007d6 6b ca 0d imul ecx, edx, 13
|
|
007d9 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
007dd 8b 55 f4 mov edx, DWORD PTR _a$[ebp]
|
|
007e0 8d 84 02 05 e9
|
|
e3 a9 lea eax, DWORD PTR [edx+eax-1444681467]
|
|
007e7 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
007ea 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
007ed c1 e0 05 shl eax, 5
|
|
007f0 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
007f3 c1 e9 1b shr ecx, 27 ; 0000001bH
|
|
007f6 0b c1 or eax, ecx
|
|
007f8 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
007fb 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
007fe 03 45 f0 add eax, DWORD PTR _b$[ebp]
|
|
00801 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
|
|
; 142 : GG (d, a, b, c, x[ 2], S22, 0xfcefa3f8); /* 30 */
|
|
|
|
00804 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
00807 23 45 ec and eax, DWORD PTR _c$[ebp]
|
|
0080a 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
0080d f7 d1 not ecx
|
|
0080f 23 4d f0 and ecx, DWORD PTR _b$[ebp]
|
|
00812 0b c1 or eax, ecx
|
|
00814 ba 04 00 00 00 mov edx, 4
|
|
00819 d1 e2 shl edx, 1
|
|
0081b 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
0081f 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
00822 8d 94 01 f8 a3
|
|
ef fc lea edx, DWORD PTR [ecx+eax-51403784]
|
|
00829 89 55 e8 mov DWORD PTR _d$[ebp], edx
|
|
0082c 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
0082f c1 e0 09 shl eax, 9
|
|
00832 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
00835 c1 e9 17 shr ecx, 23 ; 00000017H
|
|
00838 0b c1 or eax, ecx
|
|
0083a 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
0083d 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00840 03 45 f4 add eax, DWORD PTR _a$[ebp]
|
|
00843 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
|
|
; 143 : GG (c, d, a, b, x[ 7], S23, 0x676f02d9); /* 31 */
|
|
|
|
00846 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00849 23 45 f0 and eax, DWORD PTR _b$[ebp]
|
|
0084c 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
0084f f7 d1 not ecx
|
|
00851 23 4d f4 and ecx, DWORD PTR _a$[ebp]
|
|
00854 0b c1 or eax, ecx
|
|
00856 ba 04 00 00 00 mov edx, 4
|
|
0085b 6b ca 07 imul ecx, edx, 7
|
|
0085e 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
00862 8b 55 ec mov edx, DWORD PTR _c$[ebp]
|
|
00865 8d 84 02 d9 02
|
|
6f 67 lea eax, DWORD PTR [edx+eax+1735328473]
|
|
0086c 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
0086f 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00872 c1 e0 0e shl eax, 14 ; 0000000eH
|
|
00875 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
00878 c1 e9 12 shr ecx, 18 ; 00000012H
|
|
0087b 0b c1 or eax, ecx
|
|
0087d 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
00880 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00883 03 45 e8 add eax, DWORD PTR _d$[ebp]
|
|
00886 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
|
|
; 144 : GG (b, c, d, a, x[12], S24, 0x8d2a4c8a); /* 32 */
|
|
|
|
00889 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
0088c 23 45 f4 and eax, DWORD PTR _a$[ebp]
|
|
0088f 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
00892 f7 d1 not ecx
|
|
00894 23 4d e8 and ecx, DWORD PTR _d$[ebp]
|
|
00897 0b c1 or eax, ecx
|
|
00899 ba 04 00 00 00 mov edx, 4
|
|
0089e 6b ca 0c imul ecx, edx, 12
|
|
008a1 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
008a5 8b 55 f0 mov edx, DWORD PTR _b$[ebp]
|
|
008a8 8d 84 02 8a 4c
|
|
2a 8d lea eax, DWORD PTR [edx+eax-1926607734]
|
|
008af 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
008b2 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
008b5 c1 e0 14 shl eax, 20 ; 00000014H
|
|
008b8 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
008bb c1 e9 0c shr ecx, 12 ; 0000000cH
|
|
008be 0b c1 or eax, ecx
|
|
008c0 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
008c3 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
008c6 03 45 ec add eax, DWORD PTR _c$[ebp]
|
|
008c9 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
|
|
; 145 :
|
|
; 146 : /* Round 3 */
|
|
; 147 : HH (a, b, c, d, x[ 5], S31, 0xfffa3942); /* 33 */
|
|
|
|
008cc 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
008cf 33 45 ec xor eax, DWORD PTR _c$[ebp]
|
|
008d2 33 45 e8 xor eax, DWORD PTR _d$[ebp]
|
|
008d5 b9 04 00 00 00 mov ecx, 4
|
|
008da 6b d1 05 imul edx, ecx, 5
|
|
008dd 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
008e1 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
008e4 8d 94 01 42 39
|
|
fa ff lea edx, DWORD PTR [ecx+eax-378558]
|
|
008eb 89 55 f4 mov DWORD PTR _a$[ebp], edx
|
|
008ee 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
008f1 c1 e0 04 shl eax, 4
|
|
008f4 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
008f7 c1 e9 1c shr ecx, 28 ; 0000001cH
|
|
008fa 0b c1 or eax, ecx
|
|
008fc 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
008ff 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
00902 03 45 f0 add eax, DWORD PTR _b$[ebp]
|
|
00905 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
|
|
; 148 : HH (d, a, b, c, x[ 8], S32, 0x8771f681); /* 34 */
|
|
|
|
00908 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
0090b 33 45 f0 xor eax, DWORD PTR _b$[ebp]
|
|
0090e 33 45 ec xor eax, DWORD PTR _c$[ebp]
|
|
00911 b9 04 00 00 00 mov ecx, 4
|
|
00916 c1 e1 03 shl ecx, 3
|
|
00919 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
0091d 8b 55 e8 mov edx, DWORD PTR _d$[ebp]
|
|
00920 8d 84 02 81 f6
|
|
71 87 lea eax, DWORD PTR [edx+eax-2022574463]
|
|
00927 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
0092a 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
0092d c1 e0 0b shl eax, 11 ; 0000000bH
|
|
00930 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
00933 c1 e9 15 shr ecx, 21 ; 00000015H
|
|
00936 0b c1 or eax, ecx
|
|
00938 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
0093b 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
0093e 03 45 f4 add eax, DWORD PTR _a$[ebp]
|
|
00941 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
|
|
; 149 : HH (c, d, a, b, x[11], S33, 0x6d9d6122); /* 35 */
|
|
|
|
00944 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00947 33 45 f4 xor eax, DWORD PTR _a$[ebp]
|
|
0094a 33 45 f0 xor eax, DWORD PTR _b$[ebp]
|
|
0094d b9 04 00 00 00 mov ecx, 4
|
|
00952 6b d1 0b imul edx, ecx, 11
|
|
00955 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
00959 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
0095c 8d 94 01 22 61
|
|
9d 6d lea edx, DWORD PTR [ecx+eax+1839030562]
|
|
00963 89 55 ec mov DWORD PTR _c$[ebp], edx
|
|
00966 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00969 c1 e0 10 shl eax, 16 ; 00000010H
|
|
0096c 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
0096f c1 e9 10 shr ecx, 16 ; 00000010H
|
|
00972 0b c1 or eax, ecx
|
|
00974 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
00977 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
0097a 03 45 e8 add eax, DWORD PTR _d$[ebp]
|
|
0097d 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
|
|
; 150 : HH (b, c, d, a, x[14], S34, 0xfde5380c); /* 36 */
|
|
|
|
00980 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00983 33 45 e8 xor eax, DWORD PTR _d$[ebp]
|
|
00986 33 45 f4 xor eax, DWORD PTR _a$[ebp]
|
|
00989 b9 04 00 00 00 mov ecx, 4
|
|
0098e 6b d1 0e imul edx, ecx, 14
|
|
00991 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
00995 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
00998 8d 94 01 0c 38
|
|
e5 fd lea edx, DWORD PTR [ecx+eax-35309556]
|
|
0099f 89 55 f0 mov DWORD PTR _b$[ebp], edx
|
|
009a2 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
009a5 c1 e0 17 shl eax, 23 ; 00000017H
|
|
009a8 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
009ab c1 e9 09 shr ecx, 9
|
|
009ae 0b c1 or eax, ecx
|
|
009b0 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
009b3 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
009b6 03 45 ec add eax, DWORD PTR _c$[ebp]
|
|
009b9 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
|
|
; 151 : HH (a, b, c, d, x[ 1], S31, 0xa4beea44); /* 37 */
|
|
|
|
009bc 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
009bf 33 45 ec xor eax, DWORD PTR _c$[ebp]
|
|
009c2 33 45 e8 xor eax, DWORD PTR _d$[ebp]
|
|
009c5 b9 04 00 00 00 mov ecx, 4
|
|
009ca c1 e1 00 shl ecx, 0
|
|
009cd 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
009d1 8b 55 f4 mov edx, DWORD PTR _a$[ebp]
|
|
009d4 8d 84 02 44 ea
|
|
be a4 lea eax, DWORD PTR [edx+eax-1530992060]
|
|
009db 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
009de 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
009e1 c1 e0 04 shl eax, 4
|
|
009e4 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
009e7 c1 e9 1c shr ecx, 28 ; 0000001cH
|
|
009ea 0b c1 or eax, ecx
|
|
009ec 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
009ef 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
009f2 03 45 f0 add eax, DWORD PTR _b$[ebp]
|
|
009f5 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
|
|
; 152 : HH (d, a, b, c, x[ 4], S32, 0x4bdecfa9); /* 38 */
|
|
|
|
009f8 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
009fb 33 45 f0 xor eax, DWORD PTR _b$[ebp]
|
|
009fe 33 45 ec xor eax, DWORD PTR _c$[ebp]
|
|
00a01 b9 04 00 00 00 mov ecx, 4
|
|
00a06 c1 e1 02 shl ecx, 2
|
|
00a09 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
00a0d 8b 55 e8 mov edx, DWORD PTR _d$[ebp]
|
|
00a10 8d 84 02 a9 cf
|
|
de 4b lea eax, DWORD PTR [edx+eax+1272893353]
|
|
00a17 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
00a1a 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00a1d c1 e0 0b shl eax, 11 ; 0000000bH
|
|
00a20 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
00a23 c1 e9 15 shr ecx, 21 ; 00000015H
|
|
00a26 0b c1 or eax, ecx
|
|
00a28 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
00a2b 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00a2e 03 45 f4 add eax, DWORD PTR _a$[ebp]
|
|
00a31 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
|
|
; 153 : HH (c, d, a, b, x[ 7], S33, 0xf6bb4b60); /* 39 */
|
|
|
|
00a34 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00a37 33 45 f4 xor eax, DWORD PTR _a$[ebp]
|
|
00a3a 33 45 f0 xor eax, DWORD PTR _b$[ebp]
|
|
00a3d b9 04 00 00 00 mov ecx, 4
|
|
00a42 6b d1 07 imul edx, ecx, 7
|
|
00a45 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
00a49 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
00a4c 8d 94 01 60 4b
|
|
bb f6 lea edx, DWORD PTR [ecx+eax-155497632]
|
|
00a53 89 55 ec mov DWORD PTR _c$[ebp], edx
|
|
00a56 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00a59 c1 e0 10 shl eax, 16 ; 00000010H
|
|
00a5c 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
00a5f c1 e9 10 shr ecx, 16 ; 00000010H
|
|
00a62 0b c1 or eax, ecx
|
|
00a64 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
00a67 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00a6a 03 45 e8 add eax, DWORD PTR _d$[ebp]
|
|
00a6d 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
|
|
; 154 : HH (b, c, d, a, x[10], S34, 0xbebfbc70); /* 40 */
|
|
|
|
00a70 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00a73 33 45 e8 xor eax, DWORD PTR _d$[ebp]
|
|
00a76 33 45 f4 xor eax, DWORD PTR _a$[ebp]
|
|
00a79 b9 04 00 00 00 mov ecx, 4
|
|
00a7e 6b d1 0a imul edx, ecx, 10
|
|
00a81 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
00a85 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
00a88 8d 94 01 70 bc
|
|
bf be lea edx, DWORD PTR [ecx+eax-1094730640]
|
|
00a8f 89 55 f0 mov DWORD PTR _b$[ebp], edx
|
|
00a92 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00a95 c1 e0 17 shl eax, 23 ; 00000017H
|
|
00a98 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
00a9b c1 e9 09 shr ecx, 9
|
|
00a9e 0b c1 or eax, ecx
|
|
00aa0 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
00aa3 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00aa6 03 45 ec add eax, DWORD PTR _c$[ebp]
|
|
00aa9 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
|
|
; 155 : HH (a, b, c, d, x[13], S31, 0x289b7ec6); /* 41 */
|
|
|
|
00aac 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00aaf 33 45 ec xor eax, DWORD PTR _c$[ebp]
|
|
00ab2 33 45 e8 xor eax, DWORD PTR _d$[ebp]
|
|
00ab5 b9 04 00 00 00 mov ecx, 4
|
|
00aba 6b d1 0d imul edx, ecx, 13
|
|
00abd 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
00ac1 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
00ac4 8d 94 01 c6 7e
|
|
9b 28 lea edx, DWORD PTR [ecx+eax+681279174]
|
|
00acb 89 55 f4 mov DWORD PTR _a$[ebp], edx
|
|
00ace 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
00ad1 c1 e0 04 shl eax, 4
|
|
00ad4 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
00ad7 c1 e9 1c shr ecx, 28 ; 0000001cH
|
|
00ada 0b c1 or eax, ecx
|
|
00adc 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
00adf 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
00ae2 03 45 f0 add eax, DWORD PTR _b$[ebp]
|
|
00ae5 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
|
|
; 156 : HH (d, a, b, c, x[ 0], S32, 0xeaa127fa); /* 42 */
|
|
|
|
00ae8 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
00aeb 33 45 f0 xor eax, DWORD PTR _b$[ebp]
|
|
00aee 33 45 ec xor eax, DWORD PTR _c$[ebp]
|
|
00af1 b9 04 00 00 00 mov ecx, 4
|
|
00af6 6b d1 00 imul edx, ecx, 0
|
|
00af9 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
00afd 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
00b00 8d 94 01 fa 27
|
|
a1 ea lea edx, DWORD PTR [ecx+eax-358537222]
|
|
00b07 89 55 e8 mov DWORD PTR _d$[ebp], edx
|
|
00b0a 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00b0d c1 e0 0b shl eax, 11 ; 0000000bH
|
|
00b10 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
00b13 c1 e9 15 shr ecx, 21 ; 00000015H
|
|
00b16 0b c1 or eax, ecx
|
|
00b18 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
00b1b 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00b1e 03 45 f4 add eax, DWORD PTR _a$[ebp]
|
|
00b21 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
|
|
; 157 : HH (c, d, a, b, x[ 3], S33, 0xd4ef3085); /* 43 */
|
|
|
|
00b24 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00b27 33 45 f4 xor eax, DWORD PTR _a$[ebp]
|
|
00b2a 33 45 f0 xor eax, DWORD PTR _b$[ebp]
|
|
00b2d b9 04 00 00 00 mov ecx, 4
|
|
00b32 6b d1 03 imul edx, ecx, 3
|
|
00b35 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
00b39 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
00b3c 8d 94 01 85 30
|
|
ef d4 lea edx, DWORD PTR [ecx+eax-722521979]
|
|
00b43 89 55 ec mov DWORD PTR _c$[ebp], edx
|
|
00b46 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00b49 c1 e0 10 shl eax, 16 ; 00000010H
|
|
00b4c 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
00b4f c1 e9 10 shr ecx, 16 ; 00000010H
|
|
00b52 0b c1 or eax, ecx
|
|
00b54 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
00b57 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00b5a 03 45 e8 add eax, DWORD PTR _d$[ebp]
|
|
00b5d 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
|
|
; 158 : HH (b, c, d, a, x[ 6], S34, 0x4881d05); /* 44 */
|
|
|
|
00b60 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00b63 33 45 e8 xor eax, DWORD PTR _d$[ebp]
|
|
00b66 33 45 f4 xor eax, DWORD PTR _a$[ebp]
|
|
00b69 b9 04 00 00 00 mov ecx, 4
|
|
00b6e 6b d1 06 imul edx, ecx, 6
|
|
00b71 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
00b75 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
00b78 8d 94 01 05 1d
|
|
88 04 lea edx, DWORD PTR [ecx+eax+76029189]
|
|
00b7f 89 55 f0 mov DWORD PTR _b$[ebp], edx
|
|
00b82 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00b85 c1 e0 17 shl eax, 23 ; 00000017H
|
|
00b88 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
00b8b c1 e9 09 shr ecx, 9
|
|
00b8e 0b c1 or eax, ecx
|
|
00b90 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
00b93 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00b96 03 45 ec add eax, DWORD PTR _c$[ebp]
|
|
00b99 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
|
|
; 159 : HH (a, b, c, d, x[ 9], S31, 0xd9d4d039); /* 45 */
|
|
|
|
00b9c 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00b9f 33 45 ec xor eax, DWORD PTR _c$[ebp]
|
|
00ba2 33 45 e8 xor eax, DWORD PTR _d$[ebp]
|
|
00ba5 b9 04 00 00 00 mov ecx, 4
|
|
00baa 6b d1 09 imul edx, ecx, 9
|
|
00bad 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
00bb1 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
00bb4 8d 94 01 39 d0
|
|
d4 d9 lea edx, DWORD PTR [ecx+eax-640364487]
|
|
00bbb 89 55 f4 mov DWORD PTR _a$[ebp], edx
|
|
00bbe 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
00bc1 c1 e0 04 shl eax, 4
|
|
00bc4 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
00bc7 c1 e9 1c shr ecx, 28 ; 0000001cH
|
|
00bca 0b c1 or eax, ecx
|
|
00bcc 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
00bcf 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
00bd2 03 45 f0 add eax, DWORD PTR _b$[ebp]
|
|
00bd5 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
|
|
; 160 : HH (d, a, b, c, x[12], S32, 0xe6db99e5); /* 46 */
|
|
|
|
00bd8 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
00bdb 33 45 f0 xor eax, DWORD PTR _b$[ebp]
|
|
00bde 33 45 ec xor eax, DWORD PTR _c$[ebp]
|
|
00be1 b9 04 00 00 00 mov ecx, 4
|
|
00be6 6b d1 0c imul edx, ecx, 12
|
|
00be9 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
00bed 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
00bf0 8d 94 01 e5 99
|
|
db e6 lea edx, DWORD PTR [ecx+eax-421815835]
|
|
00bf7 89 55 e8 mov DWORD PTR _d$[ebp], edx
|
|
00bfa 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00bfd c1 e0 0b shl eax, 11 ; 0000000bH
|
|
00c00 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
00c03 c1 e9 15 shr ecx, 21 ; 00000015H
|
|
00c06 0b c1 or eax, ecx
|
|
00c08 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
00c0b 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00c0e 03 45 f4 add eax, DWORD PTR _a$[ebp]
|
|
00c11 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
|
|
; 161 : HH (c, d, a, b, x[15], S33, 0x1fa27cf8); /* 47 */
|
|
|
|
00c14 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00c17 33 45 f4 xor eax, DWORD PTR _a$[ebp]
|
|
00c1a 33 45 f0 xor eax, DWORD PTR _b$[ebp]
|
|
00c1d b9 04 00 00 00 mov ecx, 4
|
|
00c22 6b d1 0f imul edx, ecx, 15
|
|
00c25 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
00c29 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
00c2c 8d 94 01 f8 7c
|
|
a2 1f lea edx, DWORD PTR [ecx+eax+530742520]
|
|
00c33 89 55 ec mov DWORD PTR _c$[ebp], edx
|
|
00c36 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00c39 c1 e0 10 shl eax, 16 ; 00000010H
|
|
00c3c 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
00c3f c1 e9 10 shr ecx, 16 ; 00000010H
|
|
00c42 0b c1 or eax, ecx
|
|
00c44 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
00c47 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00c4a 03 45 e8 add eax, DWORD PTR _d$[ebp]
|
|
00c4d 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
|
|
; 162 : HH (b, c, d, a, x[ 2], S34, 0xc4ac5665); /* 48 */
|
|
|
|
00c50 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00c53 33 45 e8 xor eax, DWORD PTR _d$[ebp]
|
|
00c56 33 45 f4 xor eax, DWORD PTR _a$[ebp]
|
|
00c59 b9 04 00 00 00 mov ecx, 4
|
|
00c5e d1 e1 shl ecx, 1
|
|
00c60 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
00c64 8b 55 f0 mov edx, DWORD PTR _b$[ebp]
|
|
00c67 8d 84 02 65 56
|
|
ac c4 lea eax, DWORD PTR [edx+eax-995338651]
|
|
00c6e 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
00c71 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00c74 c1 e0 17 shl eax, 23 ; 00000017H
|
|
00c77 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
00c7a c1 e9 09 shr ecx, 9
|
|
00c7d 0b c1 or eax, ecx
|
|
00c7f 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
00c82 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00c85 03 45 ec add eax, DWORD PTR _c$[ebp]
|
|
00c88 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
|
|
; 163 :
|
|
; 164 : /* Round 4 */
|
|
; 165 : II (a, b, c, d, x[ 0], S41, 0xf4292244); /* 49 */
|
|
|
|
00c8b 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00c8e f7 d0 not eax
|
|
00c90 0b 45 f0 or eax, DWORD PTR _b$[ebp]
|
|
00c93 33 45 ec xor eax, DWORD PTR _c$[ebp]
|
|
00c96 b9 04 00 00 00 mov ecx, 4
|
|
00c9b 6b d1 00 imul edx, ecx, 0
|
|
00c9e 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
00ca2 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
00ca5 8d 94 01 44 22
|
|
29 f4 lea edx, DWORD PTR [ecx+eax-198630844]
|
|
00cac 89 55 f4 mov DWORD PTR _a$[ebp], edx
|
|
00caf 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
00cb2 c1 e0 06 shl eax, 6
|
|
00cb5 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
00cb8 c1 e9 1a shr ecx, 26 ; 0000001aH
|
|
00cbb 0b c1 or eax, ecx
|
|
00cbd 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
00cc0 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
00cc3 03 45 f0 add eax, DWORD PTR _b$[ebp]
|
|
00cc6 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
|
|
; 166 : II (d, a, b, c, x[ 7], S42, 0x432aff97); /* 50 */
|
|
|
|
00cc9 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00ccc f7 d0 not eax
|
|
00cce 0b 45 f4 or eax, DWORD PTR _a$[ebp]
|
|
00cd1 33 45 f0 xor eax, DWORD PTR _b$[ebp]
|
|
00cd4 b9 04 00 00 00 mov ecx, 4
|
|
00cd9 6b d1 07 imul edx, ecx, 7
|
|
00cdc 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
00ce0 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
00ce3 8d 94 01 97 ff
|
|
2a 43 lea edx, DWORD PTR [ecx+eax+1126891415]
|
|
00cea 89 55 e8 mov DWORD PTR _d$[ebp], edx
|
|
00ced 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00cf0 c1 e0 0a shl eax, 10 ; 0000000aH
|
|
00cf3 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
00cf6 c1 e9 16 shr ecx, 22 ; 00000016H
|
|
00cf9 0b c1 or eax, ecx
|
|
00cfb 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
00cfe 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00d01 03 45 f4 add eax, DWORD PTR _a$[ebp]
|
|
00d04 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
|
|
; 167 : II (c, d, a, b, x[14], S43, 0xab9423a7); /* 51 */
|
|
|
|
00d07 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00d0a f7 d0 not eax
|
|
00d0c 0b 45 e8 or eax, DWORD PTR _d$[ebp]
|
|
00d0f 33 45 f4 xor eax, DWORD PTR _a$[ebp]
|
|
00d12 b9 04 00 00 00 mov ecx, 4
|
|
00d17 6b d1 0e imul edx, ecx, 14
|
|
00d1a 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
00d1e 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
00d21 8d 94 01 a7 23
|
|
94 ab lea edx, DWORD PTR [ecx+eax-1416354905]
|
|
00d28 89 55 ec mov DWORD PTR _c$[ebp], edx
|
|
00d2b 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00d2e c1 e0 0f shl eax, 15 ; 0000000fH
|
|
00d31 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
00d34 c1 e9 11 shr ecx, 17 ; 00000011H
|
|
00d37 0b c1 or eax, ecx
|
|
00d39 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
00d3c 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00d3f 03 45 e8 add eax, DWORD PTR _d$[ebp]
|
|
00d42 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
|
|
; 168 : II (b, c, d, a, x[ 5], S44, 0xfc93a039); /* 52 */
|
|
|
|
00d45 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
00d48 f7 d0 not eax
|
|
00d4a 0b 45 ec or eax, DWORD PTR _c$[ebp]
|
|
00d4d 33 45 e8 xor eax, DWORD PTR _d$[ebp]
|
|
00d50 b9 04 00 00 00 mov ecx, 4
|
|
00d55 6b d1 05 imul edx, ecx, 5
|
|
00d58 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
00d5c 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
00d5f 8d 94 01 39 a0
|
|
93 fc lea edx, DWORD PTR [ecx+eax-57434055]
|
|
00d66 89 55 f0 mov DWORD PTR _b$[ebp], edx
|
|
00d69 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00d6c c1 e0 15 shl eax, 21 ; 00000015H
|
|
00d6f 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
00d72 c1 e9 0b shr ecx, 11 ; 0000000bH
|
|
00d75 0b c1 or eax, ecx
|
|
00d77 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
00d7a 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00d7d 03 45 ec add eax, DWORD PTR _c$[ebp]
|
|
00d80 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
|
|
; 169 : II (a, b, c, d, x[12], S41, 0x655b59c3); /* 53 */
|
|
|
|
00d83 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00d86 f7 d0 not eax
|
|
00d88 0b 45 f0 or eax, DWORD PTR _b$[ebp]
|
|
00d8b 33 45 ec xor eax, DWORD PTR _c$[ebp]
|
|
00d8e b9 04 00 00 00 mov ecx, 4
|
|
00d93 6b d1 0c imul edx, ecx, 12
|
|
00d96 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
00d9a 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
00d9d 8d 94 01 c3 59
|
|
5b 65 lea edx, DWORD PTR [ecx+eax+1700485571]
|
|
00da4 89 55 f4 mov DWORD PTR _a$[ebp], edx
|
|
00da7 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
00daa c1 e0 06 shl eax, 6
|
|
00dad 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
00db0 c1 e9 1a shr ecx, 26 ; 0000001aH
|
|
00db3 0b c1 or eax, ecx
|
|
00db5 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
00db8 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
00dbb 03 45 f0 add eax, DWORD PTR _b$[ebp]
|
|
00dbe 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
|
|
; 170 : II (d, a, b, c, x[ 3], S42, 0x8f0ccc92); /* 54 */
|
|
|
|
00dc1 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00dc4 f7 d0 not eax
|
|
00dc6 0b 45 f4 or eax, DWORD PTR _a$[ebp]
|
|
00dc9 33 45 f0 xor eax, DWORD PTR _b$[ebp]
|
|
00dcc b9 04 00 00 00 mov ecx, 4
|
|
00dd1 6b d1 03 imul edx, ecx, 3
|
|
00dd4 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
00dd8 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
00ddb 8d 94 01 92 cc
|
|
0c 8f lea edx, DWORD PTR [ecx+eax-1894986606]
|
|
00de2 89 55 e8 mov DWORD PTR _d$[ebp], edx
|
|
00de5 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00de8 c1 e0 0a shl eax, 10 ; 0000000aH
|
|
00deb 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
00dee c1 e9 16 shr ecx, 22 ; 00000016H
|
|
00df1 0b c1 or eax, ecx
|
|
00df3 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
00df6 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00df9 03 45 f4 add eax, DWORD PTR _a$[ebp]
|
|
00dfc 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
|
|
; 171 : II (c, d, a, b, x[10], S43, 0xffeff47d); /* 55 */
|
|
|
|
00dff 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00e02 f7 d0 not eax
|
|
00e04 0b 45 e8 or eax, DWORD PTR _d$[ebp]
|
|
00e07 33 45 f4 xor eax, DWORD PTR _a$[ebp]
|
|
00e0a b9 04 00 00 00 mov ecx, 4
|
|
00e0f 6b d1 0a imul edx, ecx, 10
|
|
00e12 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
00e16 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
00e19 8d 94 01 7d f4
|
|
ef ff lea edx, DWORD PTR [ecx+eax-1051523]
|
|
00e20 89 55 ec mov DWORD PTR _c$[ebp], edx
|
|
00e23 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00e26 c1 e0 0f shl eax, 15 ; 0000000fH
|
|
00e29 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
00e2c c1 e9 11 shr ecx, 17 ; 00000011H
|
|
00e2f 0b c1 or eax, ecx
|
|
00e31 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
00e34 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00e37 03 45 e8 add eax, DWORD PTR _d$[ebp]
|
|
00e3a 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
|
|
; 172 : II (b, c, d, a, x[ 1], S44, 0x85845dd1); /* 56 */
|
|
|
|
00e3d 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
00e40 f7 d0 not eax
|
|
00e42 0b 45 ec or eax, DWORD PTR _c$[ebp]
|
|
00e45 33 45 e8 xor eax, DWORD PTR _d$[ebp]
|
|
00e48 b9 04 00 00 00 mov ecx, 4
|
|
00e4d c1 e1 00 shl ecx, 0
|
|
00e50 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
00e54 8b 55 f0 mov edx, DWORD PTR _b$[ebp]
|
|
00e57 8d 84 02 d1 5d
|
|
84 85 lea eax, DWORD PTR [edx+eax-2054922799]
|
|
00e5e 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
00e61 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00e64 c1 e0 15 shl eax, 21 ; 00000015H
|
|
00e67 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
00e6a c1 e9 0b shr ecx, 11 ; 0000000bH
|
|
00e6d 0b c1 or eax, ecx
|
|
00e6f 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
00e72 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00e75 03 45 ec add eax, DWORD PTR _c$[ebp]
|
|
00e78 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
|
|
; 173 : II (a, b, c, d, x[ 8], S41, 0x6fa87e4f); /* 57 */
|
|
|
|
00e7b 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00e7e f7 d0 not eax
|
|
00e80 0b 45 f0 or eax, DWORD PTR _b$[ebp]
|
|
00e83 33 45 ec xor eax, DWORD PTR _c$[ebp]
|
|
00e86 b9 04 00 00 00 mov ecx, 4
|
|
00e8b c1 e1 03 shl ecx, 3
|
|
00e8e 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
00e92 8b 55 f4 mov edx, DWORD PTR _a$[ebp]
|
|
00e95 8d 84 02 4f 7e
|
|
a8 6f lea eax, DWORD PTR [edx+eax+1873313359]
|
|
00e9c 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
00e9f 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
00ea2 c1 e0 06 shl eax, 6
|
|
00ea5 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
00ea8 c1 e9 1a shr ecx, 26 ; 0000001aH
|
|
00eab 0b c1 or eax, ecx
|
|
00ead 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
00eb0 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
00eb3 03 45 f0 add eax, DWORD PTR _b$[ebp]
|
|
00eb6 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
|
|
; 174 : II (d, a, b, c, x[15], S42, 0xfe2ce6e0); /* 58 */
|
|
|
|
00eb9 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00ebc f7 d0 not eax
|
|
00ebe 0b 45 f4 or eax, DWORD PTR _a$[ebp]
|
|
00ec1 33 45 f0 xor eax, DWORD PTR _b$[ebp]
|
|
00ec4 b9 04 00 00 00 mov ecx, 4
|
|
00ec9 6b d1 0f imul edx, ecx, 15
|
|
00ecc 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
00ed0 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
00ed3 8d 94 01 e0 e6
|
|
2c fe lea edx, DWORD PTR [ecx+eax-30611744]
|
|
00eda 89 55 e8 mov DWORD PTR _d$[ebp], edx
|
|
00edd 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00ee0 c1 e0 0a shl eax, 10 ; 0000000aH
|
|
00ee3 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
00ee6 c1 e9 16 shr ecx, 22 ; 00000016H
|
|
00ee9 0b c1 or eax, ecx
|
|
00eeb 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
00eee 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00ef1 03 45 f4 add eax, DWORD PTR _a$[ebp]
|
|
00ef4 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
|
|
; 175 : II (c, d, a, b, x[ 6], S43, 0xa3014314); /* 59 */
|
|
|
|
00ef7 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00efa f7 d0 not eax
|
|
00efc 0b 45 e8 or eax, DWORD PTR _d$[ebp]
|
|
00eff 33 45 f4 xor eax, DWORD PTR _a$[ebp]
|
|
00f02 b9 04 00 00 00 mov ecx, 4
|
|
00f07 6b d1 06 imul edx, ecx, 6
|
|
00f0a 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
00f0e 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
00f11 8d 94 01 14 43
|
|
01 a3 lea edx, DWORD PTR [ecx+eax-1560198380]
|
|
00f18 89 55 ec mov DWORD PTR _c$[ebp], edx
|
|
00f1b 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00f1e c1 e0 0f shl eax, 15 ; 0000000fH
|
|
00f21 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
00f24 c1 e9 11 shr ecx, 17 ; 00000011H
|
|
00f27 0b c1 or eax, ecx
|
|
00f29 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
00f2c 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00f2f 03 45 e8 add eax, DWORD PTR _d$[ebp]
|
|
00f32 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
|
|
; 176 : II (b, c, d, a, x[13], S44, 0x4e0811a1); /* 60 */
|
|
|
|
00f35 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
00f38 f7 d0 not eax
|
|
00f3a 0b 45 ec or eax, DWORD PTR _c$[ebp]
|
|
00f3d 33 45 e8 xor eax, DWORD PTR _d$[ebp]
|
|
00f40 b9 04 00 00 00 mov ecx, 4
|
|
00f45 6b d1 0d imul edx, ecx, 13
|
|
00f48 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
00f4c 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
00f4f 8d 94 01 a1 11
|
|
08 4e lea edx, DWORD PTR [ecx+eax+1309151649]
|
|
00f56 89 55 f0 mov DWORD PTR _b$[ebp], edx
|
|
00f59 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00f5c c1 e0 15 shl eax, 21 ; 00000015H
|
|
00f5f 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
00f62 c1 e9 0b shr ecx, 11 ; 0000000bH
|
|
00f65 0b c1 or eax, ecx
|
|
00f67 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
00f6a 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00f6d 03 45 ec add eax, DWORD PTR _c$[ebp]
|
|
00f70 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
|
|
; 177 : II (a, b, c, d, x[ 4], S41, 0xf7537e82); /* 61 */
|
|
|
|
00f73 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00f76 f7 d0 not eax
|
|
00f78 0b 45 f0 or eax, DWORD PTR _b$[ebp]
|
|
00f7b 33 45 ec xor eax, DWORD PTR _c$[ebp]
|
|
00f7e b9 04 00 00 00 mov ecx, 4
|
|
00f83 c1 e1 02 shl ecx, 2
|
|
00f86 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
00f8a 8b 55 f4 mov edx, DWORD PTR _a$[ebp]
|
|
00f8d 8d 84 02 82 7e
|
|
53 f7 lea eax, DWORD PTR [edx+eax-145523070]
|
|
00f94 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
00f97 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
00f9a c1 e0 06 shl eax, 6
|
|
00f9d 8b 4d f4 mov ecx, DWORD PTR _a$[ebp]
|
|
00fa0 c1 e9 1a shr ecx, 26 ; 0000001aH
|
|
00fa3 0b c1 or eax, ecx
|
|
00fa5 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
00fa8 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
00fab 03 45 f0 add eax, DWORD PTR _b$[ebp]
|
|
00fae 89 45 f4 mov DWORD PTR _a$[ebp], eax
|
|
|
|
; 178 : II (d, a, b, c, x[11], S42, 0xbd3af235); /* 62 */
|
|
|
|
00fb1 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
00fb4 f7 d0 not eax
|
|
00fb6 0b 45 f4 or eax, DWORD PTR _a$[ebp]
|
|
00fb9 33 45 f0 xor eax, DWORD PTR _b$[ebp]
|
|
00fbc b9 04 00 00 00 mov ecx, 4
|
|
00fc1 6b d1 0b imul edx, ecx, 11
|
|
00fc4 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
00fc8 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
00fcb 8d 94 01 35 f2
|
|
3a bd lea edx, DWORD PTR [ecx+eax-1120210379]
|
|
00fd2 89 55 e8 mov DWORD PTR _d$[ebp], edx
|
|
00fd5 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00fd8 c1 e0 0a shl eax, 10 ; 0000000aH
|
|
00fdb 8b 4d e8 mov ecx, DWORD PTR _d$[ebp]
|
|
00fde c1 e9 16 shr ecx, 22 ; 00000016H
|
|
00fe1 0b c1 or eax, ecx
|
|
00fe3 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
00fe6 8b 45 e8 mov eax, DWORD PTR _d$[ebp]
|
|
00fe9 03 45 f4 add eax, DWORD PTR _a$[ebp]
|
|
00fec 89 45 e8 mov DWORD PTR _d$[ebp], eax
|
|
|
|
; 179 : II (c, d, a, b, x[ 2], S43, 0x2ad7d2bb); /* 63 */
|
|
|
|
00fef 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
00ff2 f7 d0 not eax
|
|
00ff4 0b 45 e8 or eax, DWORD PTR _d$[ebp]
|
|
00ff7 33 45 f4 xor eax, DWORD PTR _a$[ebp]
|
|
00ffa b9 04 00 00 00 mov ecx, 4
|
|
00fff d1 e1 shl ecx, 1
|
|
01001 03 44 0d a8 add eax, DWORD PTR _x$[ebp+ecx]
|
|
01005 8b 55 ec mov edx, DWORD PTR _c$[ebp]
|
|
01008 8d 84 02 bb d2
|
|
d7 2a lea eax, DWORD PTR [edx+eax+718787259]
|
|
0100f 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
01012 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
01015 c1 e0 0f shl eax, 15 ; 0000000fH
|
|
01018 8b 4d ec mov ecx, DWORD PTR _c$[ebp]
|
|
0101b c1 e9 11 shr ecx, 17 ; 00000011H
|
|
0101e 0b c1 or eax, ecx
|
|
01020 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
01023 8b 45 ec mov eax, DWORD PTR _c$[ebp]
|
|
01026 03 45 e8 add eax, DWORD PTR _d$[ebp]
|
|
01029 89 45 ec mov DWORD PTR _c$[ebp], eax
|
|
|
|
; 180 : II (b, c, d, a, x[ 9], S44, 0xeb86d391); /* 64 */
|
|
|
|
0102c 8b 45 f4 mov eax, DWORD PTR _a$[ebp]
|
|
0102f f7 d0 not eax
|
|
01031 0b 45 ec or eax, DWORD PTR _c$[ebp]
|
|
01034 33 45 e8 xor eax, DWORD PTR _d$[ebp]
|
|
01037 b9 04 00 00 00 mov ecx, 4
|
|
0103c 6b d1 09 imul edx, ecx, 9
|
|
0103f 03 44 15 a8 add eax, DWORD PTR _x$[ebp+edx]
|
|
01043 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
01046 8d 94 01 91 d3
|
|
86 eb lea edx, DWORD PTR [ecx+eax-343485551]
|
|
0104d 89 55 f0 mov DWORD PTR _b$[ebp], edx
|
|
01050 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
01053 c1 e0 15 shl eax, 21 ; 00000015H
|
|
01056 8b 4d f0 mov ecx, DWORD PTR _b$[ebp]
|
|
01059 c1 e9 0b shr ecx, 11 ; 0000000bH
|
|
0105c 0b c1 or eax, ecx
|
|
0105e 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
01061 8b 45 f0 mov eax, DWORD PTR _b$[ebp]
|
|
01064 03 45 ec add eax, DWORD PTR _c$[ebp]
|
|
01067 89 45 f0 mov DWORD PTR _b$[ebp], eax
|
|
|
|
; 181 :
|
|
; 182 : state[0] += a;
|
|
|
|
0106a b8 04 00 00 00 mov eax, 4
|
|
0106f 6b c8 00 imul ecx, eax, 0
|
|
01072 8b 55 08 mov edx, DWORD PTR _state$[ebp]
|
|
01075 8b 04 0a mov eax, DWORD PTR [edx+ecx]
|
|
01078 03 45 f4 add eax, DWORD PTR _a$[ebp]
|
|
0107b b9 04 00 00 00 mov ecx, 4
|
|
01080 6b d1 00 imul edx, ecx, 0
|
|
01083 8b 4d 08 mov ecx, DWORD PTR _state$[ebp]
|
|
01086 89 04 11 mov DWORD PTR [ecx+edx], eax
|
|
|
|
; 183 : state[1] += b;
|
|
|
|
01089 b8 04 00 00 00 mov eax, 4
|
|
0108e c1 e0 00 shl eax, 0
|
|
01091 8b 4d 08 mov ecx, DWORD PTR _state$[ebp]
|
|
01094 8b 14 01 mov edx, DWORD PTR [ecx+eax]
|
|
01097 03 55 f0 add edx, DWORD PTR _b$[ebp]
|
|
0109a b8 04 00 00 00 mov eax, 4
|
|
0109f c1 e0 00 shl eax, 0
|
|
010a2 8b 4d 08 mov ecx, DWORD PTR _state$[ebp]
|
|
010a5 89 14 01 mov DWORD PTR [ecx+eax], edx
|
|
|
|
; 184 : state[2] += c;
|
|
|
|
010a8 b8 04 00 00 00 mov eax, 4
|
|
010ad d1 e0 shl eax, 1
|
|
010af 8b 4d 08 mov ecx, DWORD PTR _state$[ebp]
|
|
010b2 8b 14 01 mov edx, DWORD PTR [ecx+eax]
|
|
010b5 03 55 ec add edx, DWORD PTR _c$[ebp]
|
|
010b8 b8 04 00 00 00 mov eax, 4
|
|
010bd d1 e0 shl eax, 1
|
|
010bf 8b 4d 08 mov ecx, DWORD PTR _state$[ebp]
|
|
010c2 89 14 01 mov DWORD PTR [ecx+eax], edx
|
|
|
|
; 185 : state[3] += d;
|
|
|
|
010c5 b8 04 00 00 00 mov eax, 4
|
|
010ca 6b c8 03 imul ecx, eax, 3
|
|
010cd 8b 55 08 mov edx, DWORD PTR _state$[ebp]
|
|
010d0 8b 04 0a mov eax, DWORD PTR [edx+ecx]
|
|
010d3 03 45 e8 add eax, DWORD PTR _d$[ebp]
|
|
010d6 b9 04 00 00 00 mov ecx, 4
|
|
010db 6b d1 03 imul edx, ecx, 3
|
|
010de 8b 4d 08 mov ecx, DWORD PTR _state$[ebp]
|
|
010e1 89 04 11 mov DWORD PTR [ecx+edx], eax
|
|
|
|
; 186 :
|
|
; 187 : /* Zeroize sensitive information.
|
|
; 188 : */
|
|
; 189 : MD5_memset ((POINTER)x, 0, sizeof (x));
|
|
|
|
010e4 6a 40 push 64 ; 00000040H
|
|
010e6 6a 00 push 0
|
|
010e8 8d 45 a8 lea eax, DWORD PTR _x$[ebp]
|
|
010eb 50 push eax
|
|
010ec 8b 4d f8 mov ecx, DWORD PTR _this$[ebp]
|
|
010ef e8 00 00 00 00 call ?MD5_memset@MD5_L@@QAEXPAEHI@Z ; MD5_L::MD5_memset
|
|
|
|
; 190 : }
|
|
|
|
010f4 5f pop edi
|
|
010f5 5e pop esi
|
|
010f6 5b pop ebx
|
|
010f7 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp]
|
|
010fa 33 cd xor ecx, ebp
|
|
010fc e8 00 00 00 00 call @__security_check_cookie@4
|
|
01101 8b e5 mov esp, ebp
|
|
01103 5d pop ebp
|
|
01104 c2 08 00 ret 8
|
|
?MD5Transform@MD5_L@@QAEXQAKQAE@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
|
|
__ArgList$ = -8 ; size = 4
|
|
__Result$ = -4 ; size = 4
|
|
__Buffer$ = 8 ; size = 4
|
|
__Format$ = 12 ; size = 4
|
|
_sprintf PROC ; COMDAT
|
|
|
|
; 1771 : {
|
|
|
|
00000 55 push ebp
|
|
00001 8b ec mov ebp, esp
|
|
00003 83 ec 4c sub esp, 76 ; 0000004cH
|
|
00006 53 push ebx
|
|
00007 56 push esi
|
|
00008 57 push edi
|
|
|
|
; 1772 : int _Result;
|
|
; 1773 : va_list _ArgList;
|
|
; 1774 : __crt_va_start(_ArgList, _Format);
|
|
|
|
00009 8d 45 10 lea eax, DWORD PTR __Format$[ebp+4]
|
|
0000c 89 45 f8 mov DWORD PTR __ArgList$[ebp], eax
|
|
|
|
; 1775 :
|
|
; 1776 : _Result = _vsprintf_l(_Buffer, _Format, NULL, _ArgList);
|
|
|
|
0000f 8b 45 f8 mov eax, DWORD PTR __ArgList$[ebp]
|
|
00012 50 push eax
|
|
00013 6a 00 push 0
|
|
00015 8b 4d 0c mov ecx, DWORD PTR __Format$[ebp]
|
|
00018 51 push ecx
|
|
00019 8b 55 08 mov edx, DWORD PTR __Buffer$[ebp]
|
|
0001c 52 push edx
|
|
0001d e8 00 00 00 00 call __vsprintf_l
|
|
00022 83 c4 10 add esp, 16 ; 00000010H
|
|
00025 89 45 fc mov DWORD PTR __Result$[ebp], eax
|
|
|
|
; 1777 :
|
|
; 1778 : __crt_va_end(_ArgList);
|
|
|
|
00028 c7 45 f8 00 00
|
|
00 00 mov DWORD PTR __ArgList$[ebp], 0
|
|
|
|
; 1779 : return _Result;
|
|
|
|
0002f 8b 45 fc mov eax, DWORD PTR __Result$[ebp]
|
|
|
|
; 1780 : }
|
|
|
|
00032 5f pop edi
|
|
00033 5e pop esi
|
|
00034 5b pop ebx
|
|
00035 8b e5 mov esp, ebp
|
|
00037 5d pop ebp
|
|
00038 c3 ret 0
|
|
_sprintf ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h
|
|
; COMDAT __vsprintf_l
|
|
_TEXT SEGMENT
|
|
__Buffer$ = 8 ; size = 4
|
|
__Format$ = 12 ; size = 4
|
|
__Locale$ = 16 ; size = 4
|
|
__ArgList$ = 20 ; size = 4
|
|
__vsprintf_l PROC ; COMDAT
|
|
|
|
; 1458 : {
|
|
|
|
00000 55 push ebp
|
|
00001 8b ec mov ebp, esp
|
|
00003 83 ec 40 sub esp, 64 ; 00000040H
|
|
00006 53 push ebx
|
|
00007 56 push esi
|
|
00008 57 push edi
|
|
|
|
; 1459 : return _vsnprintf_l(_Buffer, (size_t)-1, _Format, _Locale, _ArgList);
|
|
|
|
00009 8b 45 14 mov eax, DWORD PTR __ArgList$[ebp]
|
|
0000c 50 push eax
|
|
0000d 8b 4d 10 mov ecx, DWORD PTR __Locale$[ebp]
|
|
00010 51 push ecx
|
|
00011 8b 55 0c mov edx, DWORD PTR __Format$[ebp]
|
|
00014 52 push edx
|
|
00015 6a ff push -1
|
|
00017 8b 45 08 mov eax, DWORD PTR __Buffer$[ebp]
|
|
0001a 50 push eax
|
|
0001b e8 00 00 00 00 call __vsnprintf_l
|
|
00020 83 c4 14 add esp, 20 ; 00000014H
|
|
|
|
; 1460 : }
|
|
|
|
00023 5f pop edi
|
|
00024 5e pop esi
|
|
00025 5b pop ebx
|
|
00026 8b e5 mov esp, ebp
|
|
00028 5d pop ebp
|
|
00029 c3 ret 0
|
|
__vsprintf_l ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h
|
|
; COMDAT __vsnprintf_l
|
|
_TEXT SEGMENT
|
|
tv74 = -72 ; size = 4
|
|
__Result$ = -4 ; size = 4
|
|
__Buffer$ = 8 ; size = 4
|
|
__BufferCount$ = 12 ; size = 4
|
|
__Format$ = 16 ; size = 4
|
|
__Locale$ = 20 ; size = 4
|
|
__ArgList$ = 24 ; size = 4
|
|
__vsnprintf_l PROC ; COMDAT
|
|
|
|
; 1391 : {
|
|
|
|
00000 55 push ebp
|
|
00001 8b ec mov ebp, esp
|
|
00003 83 ec 48 sub esp, 72 ; 00000048H
|
|
00006 53 push ebx
|
|
00007 56 push esi
|
|
00008 57 push edi
|
|
|
|
; 1392 : int const _Result = __stdio_common_vsprintf(
|
|
|
|
00009 8b 45 18 mov eax, DWORD PTR __ArgList$[ebp]
|
|
0000c 50 push eax
|
|
0000d 8b 4d 14 mov ecx, DWORD PTR __Locale$[ebp]
|
|
00010 51 push ecx
|
|
00011 8b 55 10 mov edx, DWORD PTR __Format$[ebp]
|
|
00014 52 push edx
|
|
00015 8b 45 0c mov eax, DWORD PTR __BufferCount$[ebp]
|
|
00018 50 push eax
|
|
00019 8b 4d 08 mov ecx, DWORD PTR __Buffer$[ebp]
|
|
0001c 51 push ecx
|
|
0001d e8 00 00 00 00 call ___local_stdio_printf_options
|
|
00022 8b 10 mov edx, DWORD PTR [eax]
|
|
00024 83 ca 01 or edx, 1
|
|
00027 8b 40 04 mov eax, DWORD PTR [eax+4]
|
|
0002a 50 push eax
|
|
0002b 52 push edx
|
|
0002c e8 00 00 00 00 call ___stdio_common_vsprintf
|
|
00031 83 c4 1c add esp, 28 ; 0000001cH
|
|
00034 89 45 fc mov DWORD PTR __Result$[ebp], eax
|
|
|
|
; 1393 : _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION,
|
|
; 1394 : _Buffer, _BufferCount, _Format, _Locale, _ArgList);
|
|
; 1395 :
|
|
; 1396 : return _Result < 0 ? -1 : _Result;
|
|
|
|
00037 83 7d fc 00 cmp DWORD PTR __Result$[ebp], 0
|
|
0003b 7d 09 jge SHORT $LN3@vsnprintf_
|
|
0003d c7 45 b8 ff ff
|
|
ff ff mov DWORD PTR tv74[ebp], -1
|
|
00044 eb 06 jmp SHORT $LN4@vsnprintf_
|
|
$LN3@vsnprintf_:
|
|
00046 8b 45 fc mov eax, DWORD PTR __Result$[ebp]
|
|
00049 89 45 b8 mov DWORD PTR tv74[ebp], eax
|
|
$LN4@vsnprintf_:
|
|
0004c 8b 45 b8 mov eax, DWORD PTR tv74[ebp]
|
|
|
|
; 1397 : }
|
|
|
|
0004f 5f pop edi
|
|
00050 5e pop esi
|
|
00051 5b pop ebx
|
|
00052 8b e5 mov esp, ebp
|
|
00054 5d pop ebp
|
|
00055 c3 ret 0
|
|
__vsnprintf_l ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_stdio_config.h
|
|
; COMDAT ___local_stdio_printf_options
|
|
_TEXT SEGMENT
|
|
___local_stdio_printf_options PROC ; COMDAT
|
|
|
|
; 90 : {
|
|
|
|
00000 55 push ebp
|
|
00001 8b ec mov ebp, esp
|
|
00003 83 ec 40 sub esp, 64 ; 00000040H
|
|
00006 53 push ebx
|
|
00007 56 push esi
|
|
00008 57 push edi
|
|
|
|
; 91 : static unsigned __int64 _OptionsStorage;
|
|
; 92 : return &_OptionsStorage;
|
|
|
|
00009 b8 00 00 00 00 mov eax, OFFSET ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA ; `__local_stdio_printf_options'::`2'::_OptionsStorage
|
|
|
|
; 93 : }
|
|
|
|
0000e 5f pop edi
|
|
0000f 5e pop esi
|
|
00010 5b pop ebx
|
|
00011 8b e5 mov esp, ebp
|
|
00013 5d pop ebp
|
|
00014 c3 ret 0
|
|
___local_stdio_printf_options ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File D:\Works\Corpsms_2010\public\md53\MD5_L.cpp
|
|
; COMDAT ?__empty_global_delete@@YAXPAXIW4align_val_t@std@@@Z
|
|
_TEXT SEGMENT
|
|
___formal$ = 8 ; size = 4
|
|
___formal$ = 12 ; size = 4
|
|
___formal$ = 16 ; size = 4
|
|
?__empty_global_delete@@YAXPAXIW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT
|
|
|
|
00000 55 push ebp
|
|
00001 8b ec mov ebp, esp
|
|
00003 83 ec 40 sub esp, 64 ; 00000040H
|
|
00006 53 push ebx
|
|
00007 56 push esi
|
|
00008 57 push edi
|
|
00009 5f pop edi
|
|
0000a 5e pop esi
|
|
0000b 5b pop ebx
|
|
0000c 8b e5 mov esp, ebp
|
|
0000e 5d pop ebp
|
|
0000f c3 ret 0
|
|
?__empty_global_delete@@YAXPAXIW4align_val_t@std@@@Z ENDP ; __empty_global_delete
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File D:\Works\Corpsms_2010\public\md53\MD5_L.cpp
|
|
; COMDAT ?__empty_global_delete@@YAXPAXW4align_val_t@std@@@Z
|
|
_TEXT SEGMENT
|
|
___formal$ = 8 ; size = 4
|
|
___formal$ = 12 ; size = 4
|
|
?__empty_global_delete@@YAXPAXW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT
|
|
|
|
00000 55 push ebp
|
|
00001 8b ec mov ebp, esp
|
|
00003 83 ec 40 sub esp, 64 ; 00000040H
|
|
00006 53 push ebx
|
|
00007 56 push esi
|
|
00008 57 push edi
|
|
00009 5f pop edi
|
|
0000a 5e pop esi
|
|
0000b 5b pop ebx
|
|
0000c 8b e5 mov esp, ebp
|
|
0000e 5d pop ebp
|
|
0000f c3 ret 0
|
|
?__empty_global_delete@@YAXPAXW4align_val_t@std@@@Z ENDP ; __empty_global_delete
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File D:\Works\Corpsms_2010\public\md53\MD5_L.cpp
|
|
; COMDAT ?__empty_global_delete@@YAXPAXI@Z
|
|
_TEXT SEGMENT
|
|
___formal$ = 8 ; size = 4
|
|
___formal$ = 12 ; size = 4
|
|
?__empty_global_delete@@YAXPAXI@Z PROC ; __empty_global_delete, COMDAT
|
|
|
|
00000 55 push ebp
|
|
00001 8b ec mov ebp, esp
|
|
00003 83 ec 40 sub esp, 64 ; 00000040H
|
|
00006 53 push ebx
|
|
00007 56 push esi
|
|
00008 57 push edi
|
|
00009 5f pop edi
|
|
0000a 5e pop esi
|
|
0000b 5b pop ebx
|
|
0000c 8b e5 mov esp, ebp
|
|
0000e 5d pop ebp
|
|
0000f c3 ret 0
|
|
?__empty_global_delete@@YAXPAXI@Z ENDP ; __empty_global_delete
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /ZI
|
|
; File D:\Works\Corpsms_2010\public\md53\MD5_L.cpp
|
|
; COMDAT ?__empty_global_delete@@YAXPAX@Z
|
|
_TEXT SEGMENT
|
|
___formal$ = 8 ; size = 4
|
|
?__empty_global_delete@@YAXPAX@Z PROC ; __empty_global_delete, COMDAT
|
|
|
|
00000 55 push ebp
|
|
00001 8b ec mov ebp, esp
|
|
00003 83 ec 40 sub esp, 64 ; 00000040H
|
|
00006 53 push ebx
|
|
00007 56 push esi
|
|
00008 57 push edi
|
|
00009 5f pop edi
|
|
0000a 5e pop esi
|
|
0000b 5b pop ebx
|
|
0000c 8b e5 mov esp, ebp
|
|
0000e 5d pop ebp
|
|
0000f c3 ret 0
|
|
?__empty_global_delete@@YAXPAX@Z ENDP ; __empty_global_delete
|
|
_TEXT ENDS
|
|
END
|