TITLE sha1-586.asm IF @Version LT 800 ECHO MASM version 8.00 or later is strongly recommended. ENDIF .586 .MODEL FLAT OPTION DOTNAME IF @Version LT 800 .text$ SEGMENT PAGE 'CODE' ELSE .text$ SEGMENT ALIGN(64) 'CODE' ENDIF ALIGN 16 _sha1_block_data_order PROC PUBLIC $L_sha1_block_data_order_begin:: push ebp push ebx push esi push edi mov ebp,DWORD PTR 20[esp] mov esi,DWORD PTR 24[esp] mov eax,DWORD PTR 28[esp] sub esp,64 shl eax,6 add eax,esi mov DWORD PTR 92[esp],eax mov edi,DWORD PTR 16[ebp] ALIGN 16 $L000loop: mov eax,DWORD PTR [esi] mov ebx,DWORD PTR 4[esi] mov ecx,DWORD PTR 8[esi] mov edx,DWORD PTR 12[esi] bswap eax bswap ebx bswap ecx bswap edx mov DWORD PTR [esp],eax mov DWORD PTR 4[esp],ebx mov DWORD PTR 8[esp],ecx mov DWORD PTR 12[esp],edx mov eax,DWORD PTR 16[esi] mov ebx,DWORD PTR 20[esi] mov ecx,DWORD PTR 24[esi] mov edx,DWORD PTR 28[esi] bswap eax bswap ebx bswap ecx bswap edx mov DWORD PTR 16[esp],eax mov DWORD PTR 20[esp],ebx mov DWORD PTR 24[esp],ecx mov DWORD PTR 28[esp],edx mov eax,DWORD PTR 32[esi] mov ebx,DWORD PTR 36[esi] mov ecx,DWORD PTR 40[esi] mov edx,DWORD PTR 44[esi] bswap eax bswap ebx bswap ecx bswap edx mov DWORD PTR 32[esp],eax mov DWORD PTR 36[esp],ebx mov DWORD PTR 40[esp],ecx mov DWORD PTR 44[esp],edx mov eax,DWORD PTR 48[esi] mov ebx,DWORD PTR 52[esi] mov ecx,DWORD PTR 56[esi] mov edx,DWORD PTR 60[esi] bswap eax bswap ebx bswap ecx bswap edx mov DWORD PTR 48[esp],eax mov DWORD PTR 52[esp],ebx mov DWORD PTR 56[esp],ecx mov DWORD PTR 60[esp],edx mov DWORD PTR 88[esp],esi mov eax,DWORD PTR [ebp] mov ebx,DWORD PTR 4[ebp] mov ecx,DWORD PTR 8[ebp] mov edx,DWORD PTR 12[ebp] ; 00_15 0 mov esi,ecx mov ebp,eax rol ebp,5 xor esi,edx add ebp,edi and esi,ebx mov edi,DWORD PTR [esp] xor esi,edx ror ebx,2 lea ebp,DWORD PTR 1518500249[edi*1+ebp] add ebp,esi ; 00_15 1 mov edi,ebx mov esi,ebp rol ebp,5 xor edi,ecx add ebp,edx and edi,eax mov edx,DWORD PTR 4[esp] xor edi,ecx ror eax,2 lea ebp,DWORD PTR 1518500249[edx*1+ebp] add ebp,edi ; 00_15 2 mov edx,eax mov edi,ebp rol ebp,5 xor edx,ebx add ebp,ecx and edx,esi mov ecx,DWORD PTR 8[esp] xor edx,ebx ror esi,2 lea ebp,DWORD PTR 1518500249[ecx*1+ebp] add ebp,edx ; 00_15 3 mov ecx,esi mov edx,ebp rol ebp,5 xor ecx,eax add ebp,ebx and ecx,edi mov ebx,DWORD PTR 12[esp] xor ecx,eax ror edi,2 lea ebp,DWORD PTR 1518500249[ebx*1+ebp] add ebp,ecx ; 00_15 4 mov ebx,edi mov ecx,ebp rol ebp,5 xor ebx,esi add ebp,eax and ebx,edx mov eax,DWORD PTR 16[esp] xor ebx,esi ror edx,2 lea ebp,DWORD PTR 1518500249[eax*1+ebp] add ebp,ebx ; 00_15 5 mov eax,edx mov ebx,ebp rol ebp,5 xor eax,edi add ebp,esi and eax,ecx mov esi,DWORD PTR 20[esp] xor eax,edi ror ecx,2 lea ebp,DWORD PTR 1518500249[esi*1+ebp] add ebp,eax ; 00_15 6 mov esi,ecx mov eax,ebp rol ebp,5 xor esi,edx add ebp,edi and esi,ebx mov edi,DWORD PTR 24[esp] xor esi,edx ror ebx,2 lea ebp,DWORD PTR 1518500249[edi*1+ebp] add ebp,esi ; 00_15 7 mov edi,ebx mov esi,ebp rol ebp,5 xor edi,ecx add ebp,edx and edi,eax mov edx,DWORD PTR 28[esp] xor edi,ecx ror eax,2 lea ebp,DWORD PTR 1518500249[edx*1+ebp] add ebp,edi ; 00_15 8 mov edx,eax mov edi,ebp rol ebp,5 xor edx,ebx add ebp,ecx and edx,esi mov ecx,DWORD PTR 32[esp] xor edx,ebx ror esi,2 lea ebp,DWORD PTR 1518500249[ecx*1+ebp] add ebp,edx ; 00_15 9 mov ecx,esi mov edx,ebp rol ebp,5 xor ecx,eax add ebp,ebx and ecx,edi mov ebx,DWORD PTR 36[esp] xor ecx,eax ror edi,2 lea ebp,DWORD PTR 1518500249[ebx*1+ebp] add ebp,ecx ; 00_15 10 mov ebx,edi mov ecx,ebp rol ebp,5 xor ebx,esi add ebp,eax and ebx,edx mov eax,DWORD PTR 40[esp] xor ebx,esi ror edx,2 lea ebp,DWORD PTR 1518500249[eax*1+ebp] add ebp,ebx ; 00_15 11 mov eax,edx mov ebx,ebp rol ebp,5 xor eax,edi add ebp,esi and eax,ecx mov esi,DWORD PTR 44[esp] xor eax,edi ror ecx,2 lea ebp,DWORD PTR 1518500249[esi*1+ebp] add ebp,eax ; 00_15 12 mov esi,ecx mov eax,ebp rol ebp,5 xor esi,edx add ebp,edi and esi,ebx mov edi,DWORD PTR 48[esp] xor esi,edx ror ebx,2 lea ebp,DWORD PTR 1518500249[edi*1+ebp] add ebp,esi ; 00_15 13 mov edi,ebx mov esi,ebp rol ebp,5 xor edi,ecx add ebp,edx and edi,eax mov edx,DWORD PTR 52[esp] xor edi,ecx ror eax,2 lea ebp,DWORD PTR 1518500249[edx*1+ebp] add ebp,edi ; 00_15 14 mov edx,eax mov edi,ebp rol ebp,5 xor edx,ebx add ebp,ecx and edx,esi mov ecx,DWORD PTR 56[esp] xor edx,ebx ror esi,2 lea ebp,DWORD PTR 1518500249[ecx*1+ebp] add ebp,edx ; 00_15 15 mov ecx,esi mov edx,ebp rol ebp,5 xor ecx,eax add ebp,ebx and ecx,edi mov ebx,DWORD PTR 60[esp] xor ecx,eax ror edi,2 lea ebp,DWORD PTR 1518500249[ebx*1+ebp] add ecx,ebp ; 16_19 16 mov ebx,DWORD PTR [esp] mov ebp,edi xor ebx,DWORD PTR 8[esp] xor ebp,esi xor ebx,DWORD PTR 32[esp] and ebp,edx ror edx,2 xor ebx,DWORD PTR 52[esp] rol ebx,1 xor ebp,esi mov DWORD PTR [esp],ebx lea ebx,DWORD PTR 1518500249[eax*1+ebx] mov eax,ecx rol eax,5 add ebx,ebp add ebx,eax ; 16_19 17 mov eax,DWORD PTR 4[esp] mov ebp,edx xor eax,DWORD PTR 12[esp] xor ebp,edi xor eax,DWORD PTR 36[esp] and ebp,ecx ror ecx,2 xor eax,DWORD PTR 56[esp] rol eax,1 xor ebp,edi mov DWORD PTR 4[esp],eax lea eax,DWORD PTR 1518500249[esi*1+eax] mov esi,ebx rol esi,5 add eax,ebp add eax,esi ; 16_19 18 mov esi,DWORD PTR 8[esp] mov ebp,ecx xor esi,DWORD PTR 16[esp] xor ebp,edx xor esi,DWORD PTR 40[esp] and ebp,ebx ror ebx,2 xor esi,DWORD PTR 60[esp] rol esi,1 xor ebp,edx mov DWORD PTR 8[esp],esi lea esi,DWORD PTR 1518500249[edi*1+esi] mov edi,eax rol edi,5 add esi,ebp add esi,edi ; 16_19 19 mov edi,DWORD PTR 12[esp] mov ebp,ebx xor edi,DWORD PTR 20[esp] xor ebp,ecx xor edi,DWORD PTR 44[esp] and ebp,eax ror eax,2 xor edi,DWORD PTR [esp] rol edi,1 xor ebp,ecx mov DWORD PTR 12[esp],edi lea edi,DWORD PTR 1518500249[edx*1+edi] mov edx,esi rol edx,5 add edi,ebp add edi,edx ; 20_39 20 mov ebp,esi mov edx,DWORD PTR 16[esp] ror esi,2 xor edx,DWORD PTR 24[esp] xor ebp,eax xor edx,DWORD PTR 48[esp] xor ebp,ebx xor edx,DWORD PTR 4[esp] rol edx,1 add ebp,ecx mov DWORD PTR 16[esp],edx mov ecx,edi rol ecx,5 lea edx,DWORD PTR 1859775393[ebp*1+edx] add edx,ecx ; 20_39 21 mov ebp,edi mov ecx,DWORD PTR 20[esp] ror edi,2 xor ecx,DWORD PTR 28[esp] xor ebp,esi xor ecx,DWORD PTR 52[esp] xor ebp,eax xor ecx,DWORD PTR 8[esp] rol ecx,1 add ebp,ebx mov DWORD PTR 20[esp],ecx mov ebx,edx rol ebx,5 lea ecx,DWORD PTR 1859775393[ebp*1+ecx] add ecx,ebx ; 20_39 22 mov ebp,edx mov ebx,DWORD PTR 24[esp] ror edx,2 xor ebx,DWORD PTR 32[esp] xor ebp,edi xor ebx,DWORD PTR 56[esp] xor ebp,esi xor ebx,DWORD PTR 12[esp] rol ebx,1 add ebp,eax mov DWORD PTR 24[esp],ebx mov eax,ecx rol eax,5 lea ebx,DWORD PTR 1859775393[ebp*1+ebx] add ebx,eax ; 20_39 23 mov ebp,ecx mov eax,DWORD PTR 28[esp] ror ecx,2 xor eax,DWORD PTR 36[esp] xor ebp,edx xor eax,DWORD PTR 60[esp] xor ebp,edi xor eax,DWORD PTR 16[esp] rol eax,1 add ebp,esi mov DWORD PTR 28[esp],eax mov esi,ebx rol esi,5 lea eax,DWORD PTR 1859775393[ebp*1+eax] add eax,esi ; 20_39 24 mov ebp,ebx mov esi,DWORD PTR 32[esp] ror ebx,2 xor esi,DWORD PTR 40[esp] xor ebp,ecx xor esi,DWORD PTR [esp] xor ebp,edx xor esi,DWORD PTR 20[esp] rol esi,1 add ebp,edi mov DWORD PTR 32[esp],esi mov edi,eax rol edi,5 lea esi,DWORD PTR 1859775393[ebp*1+esi] add esi,edi ; 20_39 25 mov ebp,eax mov edi,DWORD PTR 36[esp] ror eax,2 xor edi,DWORD PTR 44[esp] xor ebp,ebx xor edi,DWORD PTR 4[esp] xor ebp,ecx xor edi,DWORD PTR 24[esp] rol edi,1 add ebp,edx mov DWORD PTR 36[esp],edi mov edx,esi rol edx,5 lea edi,DWORD PTR 1859775393[ebp*1+edi] add edi,edx ; 20_39 26 mov ebp,esi mov edx,DWORD PTR 40[esp] ror esi,2 xor edx,DWORD PTR 48[esp] xor ebp,eax xor edx,DWORD PTR 8[esp] xor ebp,ebx xor edx,DWORD PTR 28[esp] rol edx,1 add ebp,ecx mov DWORD PTR 40[esp],edx mov ecx,edi rol ecx,5 lea edx,DWORD PTR 1859775393[ebp*1+edx] add edx,ecx ; 20_39 27 mov ebp,edi mov ecx,DWORD PTR 44[esp] ror edi,2 xor ecx,DWORD PTR 52[esp] xor ebp,esi xor ecx,DWORD PTR 12[esp] xor ebp,eax xor ecx,DWORD PTR 32[esp] rol ecx,1 add ebp,ebx mov DWORD PTR 44[esp],ecx mov ebx,edx rol ebx,5 lea ecx,DWORD PTR 1859775393[ebp*1+ecx] add ecx,ebx ; 20_39 28 mov ebp,edx mov ebx,DWORD PTR 48[esp] ror edx,2 xor ebx,DWORD PTR 56[esp] xor ebp,edi xor ebx,DWORD PTR 16[esp] xor ebp,esi xor ebx,DWORD PTR 36[esp] rol ebx,1 add ebp,eax mov DWORD PTR 48[esp],ebx mov eax,ecx rol eax,5 lea ebx,DWORD PTR 1859775393[ebp*1+ebx] add ebx,eax ; 20_39 29 mov ebp,ecx mov eax,DWORD PTR 52[esp] ror ecx,2 xor eax,DWORD PTR 60[esp] xor ebp,edx xor eax,DWORD PTR 20[esp] xor ebp,edi xor eax,DWORD PTR 40[esp] rol eax,1 add ebp,esi mov DWORD PTR 52[esp],eax mov esi,ebx rol esi,5 lea eax,DWORD PTR 1859775393[ebp*1+eax] add eax,esi ; 20_39 30 mov ebp,ebx mov esi,DWORD PTR 56[esp] ror ebx,2 xor esi,DWORD PTR [esp] xor ebp,ecx xor esi,DWORD PTR 24[esp] xor ebp,edx xor esi,DWORD PTR 44[esp] rol esi,1 add ebp,edi mov DWORD PTR 56[esp],esi mov edi,eax rol edi,5 lea esi,DWORD PTR 1859775393[ebp*1+esi] add esi,edi ; 20_39 31 mov ebp,eax mov edi,DWORD PTR 60[esp] ror eax,2 xor edi,DWORD PTR 4[esp] xor ebp,ebx xor edi,DWORD PTR 28[esp] xor ebp,ecx xor edi,DWORD PTR 48[esp] rol edi,1 add ebp,edx mov DWORD PTR 60[esp],edi mov edx,esi rol edx,5 lea edi,DWORD PTR 1859775393[ebp*1+edi] add edi,edx ; 20_39 32 mov ebp,esi mov edx,DWORD PTR [esp] ror esi,2 xor edx,DWORD PTR 8[esp] xor ebp,eax xor edx,DWORD PTR 32[esp] xor ebp,ebx xor edx,DWORD PTR 52[esp] rol edx,1 add ebp,ecx mov DWORD PTR [esp],edx mov ecx,edi rol ecx,5 lea edx,DWORD PTR 1859775393[ebp*1+edx] add edx,ecx ; 20_39 33 mov ebp,edi mov ecx,DWORD PTR 4[esp] ror edi,2 xor ecx,DWORD PTR 12[esp] xor ebp,esi xor ecx,DWORD PTR 36[esp] xor ebp,eax xor ecx,DWORD PTR 56[esp] rol ecx,1 add ebp,ebx mov DWORD PTR 4[esp],ecx mov ebx,edx rol ebx,5 lea ecx,DWORD PTR 1859775393[ebp*1+ecx] add ecx,ebx ; 20_39 34 mov ebp,edx mov ebx,DWORD PTR 8[esp] ror edx,2 xor ebx,DWORD PTR 16[esp] xor ebp,edi xor ebx,DWORD PTR 40[esp] xor ebp,esi xor ebx,DWORD PTR 60[esp] rol ebx,1 add ebp,eax mov DWORD PTR 8[esp],ebx mov eax,ecx rol eax,5 lea ebx,DWORD PTR 1859775393[ebp*1+ebx] add ebx,eax ; 20_39 35 mov ebp,ecx mov eax,DWORD PTR 12[esp] ror ecx,2 xor eax,DWORD PTR 20[esp] xor ebp,edx xor eax,DWORD PTR 44[esp] xor ebp,edi xor eax,DWORD PTR [esp] rol eax,1 add ebp,esi mov DWORD PTR 12[esp],eax mov esi,ebx rol esi,5 lea eax,DWORD PTR 1859775393[ebp*1+eax] add eax,esi ; 20_39 36 mov ebp,ebx mov esi,DWORD PTR 16[esp] ror ebx,2 xor esi,DWORD PTR 24[esp] xor ebp,ecx xor esi,DWORD PTR 48[esp] xor ebp,edx xor esi,DWORD PTR 4[esp] rol esi,1 add ebp,edi mov DWORD PTR 16[esp],esi mov edi,eax rol edi,5 lea esi,DWORD PTR 1859775393[ebp*1+esi] add esi,edi ; 20_39 37 mov ebp,eax mov edi,DWORD PTR 20[esp] ror eax,2 xor edi,DWORD PTR 28[esp] xor ebp,ebx xor edi,DWORD PTR 52[esp] xor ebp,ecx xor edi,DWORD PTR 8[esp] rol edi,1 add ebp,edx mov DWORD PTR 20[esp],edi mov edx,esi rol edx,5 lea edi,DWORD PTR 1859775393[ebp*1+edi] add edi,edx ; 20_39 38 mov ebp,esi mov edx,DWORD PTR 24[esp] ror esi,2 xor edx,DWORD PTR 32[esp] xor ebp,eax xor edx,DWORD PTR 56[esp] xor ebp,ebx xor edx,DWORD PTR 12[esp] rol edx,1 add ebp,ecx mov DWORD PTR 24[esp],edx mov ecx,edi rol ecx,5 lea edx,DWORD PTR 1859775393[ebp*1+edx] add edx,ecx ; 20_39 39 mov ebp,edi mov ecx,DWORD PTR 28[esp] ror edi,2 xor ecx,DWORD PTR 36[esp] xor ebp,esi xor ecx,DWORD PTR 60[esp] xor ebp,eax xor ecx,DWORD PTR 16[esp] rol ecx,1 add ebp,ebx mov DWORD PTR 28[esp],ecx mov ebx,edx rol ebx,5 lea ecx,DWORD PTR 1859775393[ebp*1+ecx] add ecx,ebx ; 40_59 40 mov ebx,DWORD PTR 32[esp] mov ebp,DWORD PTR 40[esp] xor ebx,ebp mov ebp,DWORD PTR [esp] xor ebx,ebp mov ebp,DWORD PTR 20[esp] xor ebx,ebp mov ebp,edx rol ebx,1 or ebp,edi mov DWORD PTR 32[esp],ebx and ebp,esi lea ebx,DWORD PTR 2400959708[eax*1+ebx] mov eax,edx ror edx,2 and eax,edi or ebp,eax mov eax,ecx rol eax,5 add ebx,ebp add ebx,eax ; 40_59 41 mov eax,DWORD PTR 36[esp] mov ebp,DWORD PTR 44[esp] xor eax,ebp mov ebp,DWORD PTR 4[esp] xor eax,ebp mov ebp,DWORD PTR 24[esp] xor eax,ebp mov ebp,ecx rol eax,1 or ebp,edx mov DWORD PTR 36[esp],eax and ebp,edi lea eax,DWORD PTR 2400959708[esi*1+eax] mov esi,ecx ror ecx,2 and esi,edx or ebp,esi mov esi,ebx rol esi,5 add eax,ebp add eax,esi ; 40_59 42 mov esi,DWORD PTR 40[esp] mov ebp,DWORD PTR 48[esp] xor esi,ebp mov ebp,DWORD PTR 8[esp] xor esi,ebp mov ebp,DWORD PTR 28[esp] xor esi,ebp mov ebp,ebx rol esi,1 or ebp,ecx mov DWORD PTR 40[esp],esi and ebp,edx lea esi,DWORD PTR 2400959708[edi*1+esi] mov edi,ebx ror ebx,2 and edi,ecx or ebp,edi mov edi,eax rol edi,5 add esi,ebp add esi,edi ; 40_59 43 mov edi,DWORD PTR 44[esp] mov ebp,DWORD PTR 52[esp] xor edi,ebp mov ebp,DWORD PTR 12[esp] xor edi,ebp mov ebp,DWORD PTR 32[esp] xor edi,ebp mov ebp,eax rol edi,1 or ebp,ebx mov DWORD PTR 44[esp],edi and ebp,ecx lea edi,DWORD PTR 2400959708[edx*1+edi] mov edx,eax ror eax,2 and edx,ebx or ebp,edx mov edx,esi rol edx,5 add edi,ebp add edi,edx ; 40_59 44 mov edx,DWORD PTR 48[esp] mov ebp,DWORD PTR 56[esp] xor edx,ebp mov ebp,DWORD PTR 16[esp] xor edx,ebp mov ebp,DWORD PTR 36[esp] xor edx,ebp mov ebp,esi rol edx,1 or ebp,eax mov DWORD PTR 48[esp],edx and ebp,ebx lea edx,DWORD PTR 2400959708[ecx*1+edx] mov ecx,esi ror esi,2 and ecx,eax or ebp,ecx mov ecx,edi rol ecx,5 add edx,ebp add edx,ecx ; 40_59 45 mov ecx,DWORD PTR 52[esp] mov ebp,DWORD PTR 60[esp] xor ecx,ebp mov ebp,DWORD PTR 20[esp] xor ecx,ebp mov ebp,DWORD PTR 40[esp] xor ecx,ebp mov ebp,edi rol ecx,1 or ebp,esi mov DWORD PTR 52[esp],ecx and ebp,eax lea ecx,DWORD PTR 2400959708[ebx*1+ecx] mov ebx,edi ror edi,2 and ebx,esi or ebp,ebx mov ebx,edx rol ebx,5 add ecx,ebp add ecx,ebx ; 40_59 46 mov ebx,DWORD PTR 56[esp] mov ebp,DWORD PTR [esp] xor ebx,ebp mov ebp,DWORD PTR 24[esp] xor ebx,ebp mov ebp,DWORD PTR 44[esp] xor ebx,ebp mov ebp,edx rol ebx,1 or ebp,edi mov DWORD PTR 56[esp],ebx and ebp,esi lea ebx,DWORD PTR 2400959708[eax*1+ebx] mov eax,edx ror edx,2 and eax,edi or ebp,eax mov eax,ecx rol eax,5 add ebx,ebp add ebx,eax ; 40_59 47 mov eax,DWORD PTR 60[esp] mov ebp,DWORD PTR 4[esp] xor eax,ebp mov ebp,DWORD PTR 28[esp] xor eax,ebp mov ebp,DWORD PTR 48[esp] xor eax,ebp mov ebp,ecx rol eax,1 or ebp,edx mov DWORD PTR 60[esp],eax and ebp,edi lea eax,DWORD PTR 2400959708[esi*1+eax] mov esi,ecx ror ecx,2 and esi,edx or ebp,esi mov esi,ebx rol esi,5 add eax,ebp add eax,esi ; 40_59 48 mov esi,DWORD PTR [esp] mov ebp,DWORD PTR 8[esp] xor esi,ebp mov ebp,DWORD PTR 32[esp] xor esi,ebp mov ebp,DWORD PTR 52[esp] xor esi,ebp mov ebp,ebx rol esi,1 or ebp,ecx mov DWORD PTR [esp],esi and ebp,edx lea esi,DWORD PTR 2400959708[edi*1+esi] mov edi,ebx ror ebx,2 and edi,ecx or ebp,edi mov edi,eax rol edi,5 add esi,ebp add esi,edi ; 40_59 49 mov edi,DWORD PTR 4[esp] mov ebp,DWORD PTR 12[esp] xor edi,ebp mov ebp,DWORD PTR 36[esp] xor edi,ebp mov ebp,DWORD PTR 56[esp] xor edi,ebp mov ebp,eax rol edi,1 or ebp,ebx mov DWORD PTR 4[esp],edi and ebp,ecx lea edi,DWORD PTR 2400959708[edx*1+edi] mov edx,eax ror eax,2 and edx,ebx or ebp,edx mov edx,esi rol edx,5 add edi,ebp add edi,edx ; 40_59 50 mov edx,DWORD PTR 8[esp] mov ebp,DWORD PTR 16[esp] xor edx,ebp mov ebp,DWORD PTR 40[esp] xor edx,ebp mov ebp,DWORD PTR 60[esp] xor edx,ebp mov ebp,esi rol edx,1 or ebp,eax mov DWORD PTR 8[esp],edx and ebp,ebx lea edx,DWORD PTR 2400959708[ecx*1+edx] mov ecx,esi ror esi,2 and ecx,eax or ebp,ecx mov ecx,edi rol ecx,5 add edx,ebp add edx,ecx ; 40_59 51 mov ecx,DWORD PTR 12[esp] mov ebp,DWORD PTR 20[esp] xor ecx,ebp mov ebp,DWORD PTR 44[esp] xor ecx,ebp mov ebp,DWORD PTR [esp] xor ecx,ebp mov ebp,edi rol ecx,1 or ebp,esi mov DWORD PTR 12[esp],ecx and ebp,eax lea ecx,DWORD PTR 2400959708[ebx*1+ecx] mov ebx,edi ror edi,2 and ebx,esi or ebp,ebx mov ebx,edx rol ebx,5 add ecx,ebp add ecx,ebx ; 40_59 52 mov ebx,DWORD PTR 16[esp] mov ebp,DWORD PTR 24[esp] xor ebx,ebp mov ebp,DWORD PTR 48[esp] xor ebx,ebp mov ebp,DWORD PTR 4[esp] xor ebx,ebp mov ebp,edx rol ebx,1 or ebp,edi mov DWORD PTR 16[esp],ebx and ebp,esi lea ebx,DWORD PTR 2400959708[eax*1+ebx] mov eax,edx ror edx,2 and eax,edi or ebp,eax mov eax,ecx rol eax,5 add ebx,ebp add ebx,eax ; 40_59 53 mov eax,DWORD PTR 20[esp] mov ebp,DWORD PTR 28[esp] xor eax,ebp mov ebp,DWORD PTR 52[esp] xor eax,ebp mov ebp,DWORD PTR 8[esp] xor eax,ebp mov ebp,ecx rol eax,1 or ebp,edx mov DWORD PTR 20[esp],eax and ebp,edi lea eax,DWORD PTR 2400959708[esi*1+eax] mov esi,ecx ror ecx,2 and esi,edx or ebp,esi mov esi,ebx rol esi,5 add eax,ebp add eax,esi ; 40_59 54 mov esi,DWORD PTR 24[esp] mov ebp,DWORD PTR 32[esp] xor esi,ebp mov ebp,DWORD PTR 56[esp] xor esi,ebp mov ebp,DWORD PTR 12[esp] xor esi,ebp mov ebp,ebx rol esi,1 or ebp,ecx mov DWORD PTR 24[esp],esi and ebp,edx lea esi,DWORD PTR 2400959708[edi*1+esi] mov edi,ebx ror ebx,2 and edi,ecx or ebp,edi mov edi,eax rol edi,5 add esi,ebp add esi,edi ; 40_59 55 mov edi,DWORD PTR 28[esp] mov ebp,DWORD PTR 36[esp] xor edi,ebp mov ebp,DWORD PTR 60[esp] xor edi,ebp mov ebp,DWORD PTR 16[esp] xor edi,ebp mov ebp,eax rol edi,1 or ebp,ebx mov DWORD PTR 28[esp],edi and ebp,ecx lea edi,DWORD PTR 2400959708[edx*1+edi] mov edx,eax ror eax,2 and edx,ebx or ebp,edx mov edx,esi rol edx,5 add edi,ebp add edi,edx ; 40_59 56 mov edx,DWORD PTR 32[esp] mov ebp,DWORD PTR 40[esp] xor edx,ebp mov ebp,DWORD PTR [esp] xor edx,ebp mov ebp,DWORD PTR 20[esp] xor edx,ebp mov ebp,esi rol edx,1 or ebp,eax mov DWORD PTR 32[esp],edx and ebp,ebx lea edx,DWORD PTR 2400959708[ecx*1+edx] mov ecx,esi ror esi,2 and ecx,eax or ebp,ecx mov ecx,edi rol ecx,5 add edx,ebp add edx,ecx ; 40_59 57 mov ecx,DWORD PTR 36[esp] mov ebp,DWORD PTR 44[esp] xor ecx,ebp mov ebp,DWORD PTR 4[esp] xor ecx,ebp mov ebp,DWORD PTR 24[esp] xor ecx,ebp mov ebp,edi rol ecx,1 or ebp,esi mov DWORD PTR 36[esp],ecx and ebp,eax lea ecx,DWORD PTR 2400959708[ebx*1+ecx] mov ebx,edi ror edi,2 and ebx,esi or ebp,ebx mov ebx,edx rol ebx,5 add ecx,ebp add ecx,ebx ; 40_59 58 mov ebx,DWORD PTR 40[esp] mov ebp,DWORD PTR 48[esp] xor ebx,ebp mov ebp,DWORD PTR 8[esp] xor ebx,ebp mov ebp,DWORD PTR 28[esp] xor ebx,ebp mov ebp,edx rol ebx,1 or ebp,edi mov DWORD PTR 40[esp],ebx and ebp,esi lea ebx,DWORD PTR 2400959708[eax*1+ebx] mov eax,edx ror edx,2 and eax,edi or ebp,eax mov eax,ecx rol eax,5 add ebx,ebp add ebx,eax ; 40_59 59 mov eax,DWORD PTR 44[esp] mov ebp,DWORD PTR 52[esp] xor eax,ebp mov ebp,DWORD PTR 12[esp] xor eax,ebp mov ebp,DWORD PTR 32[esp] xor eax,ebp mov ebp,ecx rol eax,1 or ebp,edx mov DWORD PTR 44[esp],eax and ebp,edi lea eax,DWORD PTR 2400959708[esi*1+eax] mov esi,ecx ror ecx,2 and esi,edx or ebp,esi mov esi,ebx rol esi,5 add eax,ebp add eax,esi ; 20_39 60 mov ebp,ebx mov esi,DWORD PTR 48[esp] ror ebx,2 xor esi,DWORD PTR 56[esp] xor ebp,ecx xor esi,DWORD PTR 16[esp] xor ebp,edx xor esi,DWORD PTR 36[esp] rol esi,1 add ebp,edi mov DWORD PTR 48[esp],esi mov edi,eax rol edi,5 lea esi,DWORD PTR 3395469782[ebp*1+esi] add esi,edi ; 20_39 61 mov ebp,eax mov edi,DWORD PTR 52[esp] ror eax,2 xor edi,DWORD PTR 60[esp] xor ebp,ebx xor edi,DWORD PTR 20[esp] xor ebp,ecx xor edi,DWORD PTR 40[esp] rol edi,1 add ebp,edx mov DWORD PTR 52[esp],edi mov edx,esi rol edx,5 lea edi,DWORD PTR 3395469782[ebp*1+edi] add edi,edx ; 20_39 62 mov ebp,esi mov edx,DWORD PTR 56[esp] ror esi,2 xor edx,DWORD PTR [esp] xor ebp,eax xor edx,DWORD PTR 24[esp] xor ebp,ebx xor edx,DWORD PTR 44[esp] rol edx,1 add ebp,ecx mov DWORD PTR 56[esp],edx mov ecx,edi rol ecx,5 lea edx,DWORD PTR 3395469782[ebp*1+edx] add edx,ecx ; 20_39 63 mov ebp,edi mov ecx,DWORD PTR 60[esp] ror edi,2 xor ecx,DWORD PTR 4[esp] xor ebp,esi xor ecx,DWORD PTR 28[esp] xor ebp,eax xor ecx,DWORD PTR 48[esp] rol ecx,1 add ebp,ebx mov DWORD PTR 60[esp],ecx mov ebx,edx rol ebx,5 lea ecx,DWORD PTR 3395469782[ebp*1+ecx] add ecx,ebx ; 20_39 64 mov ebp,edx mov ebx,DWORD PTR [esp] ror edx,2 xor ebx,DWORD PTR 8[esp] xor ebp,edi xor ebx,DWORD PTR 32[esp] xor ebp,esi xor ebx,DWORD PTR 52[esp] rol ebx,1 add ebp,eax mov DWORD PTR [esp],ebx mov eax,ecx rol eax,5 lea ebx,DWORD PTR 3395469782[ebp*1+ebx] add ebx,eax ; 20_39 65 mov ebp,ecx mov eax,DWORD PTR 4[esp] ror ecx,2 xor eax,DWORD PTR 12[esp] xor ebp,edx xor eax,DWORD PTR 36[esp] xor ebp,edi xor eax,DWORD PTR 56[esp] rol eax,1 add ebp,esi mov DWORD PTR 4[esp],eax mov esi,ebx rol esi,5 lea eax,DWORD PTR 3395469782[ebp*1+eax] add eax,esi ; 20_39 66 mov ebp,ebx mov esi,DWORD PTR 8[esp] ror ebx,2 xor esi,DWORD PTR 16[esp] xor ebp,ecx xor esi,DWORD PTR 40[esp] xor ebp,edx xor esi,DWORD PTR 60[esp] rol esi,1 add ebp,edi mov DWORD PTR 8[esp],esi mov edi,eax rol edi,5 lea esi,DWORD PTR 3395469782[ebp*1+esi] add esi,edi ; 20_39 67 mov ebp,eax mov edi,DWORD PTR 12[esp] ror eax,2 xor edi,DWORD PTR 20[esp] xor ebp,ebx xor edi,DWORD PTR 44[esp] xor ebp,ecx xor edi,DWORD PTR [esp] rol edi,1 add ebp,edx mov DWORD PTR 12[esp],edi mov edx,esi rol edx,5 lea edi,DWORD PTR 3395469782[ebp*1+edi] add edi,edx ; 20_39 68 mov ebp,esi mov edx,DWORD PTR 16[esp] ror esi,2 xor edx,DWORD PTR 24[esp] xor ebp,eax xor edx,DWORD PTR 48[esp] xor ebp,ebx xor edx,DWORD PTR 4[esp] rol edx,1 add ebp,ecx mov DWORD PTR 16[esp],edx mov ecx,edi rol ecx,5 lea edx,DWORD PTR 3395469782[ebp*1+edx] add edx,ecx ; 20_39 69 mov ebp,edi mov ecx,DWORD PTR 20[esp] ror edi,2 xor ecx,DWORD PTR 28[esp] xor ebp,esi xor ecx,DWORD PTR 52[esp] xor ebp,eax xor ecx,DWORD PTR 8[esp] rol ecx,1 add ebp,ebx mov DWORD PTR 20[esp],ecx mov ebx,edx rol ebx,5 lea ecx,DWORD PTR 3395469782[ebp*1+ecx] add ecx,ebx ; 20_39 70 mov ebp,edx mov ebx,DWORD PTR 24[esp] ror edx,2 xor ebx,DWORD PTR 32[esp] xor ebp,edi xor ebx,DWORD PTR 56[esp] xor ebp,esi xor ebx,DWORD PTR 12[esp] rol ebx,1 add ebp,eax mov DWORD PTR 24[esp],ebx mov eax,ecx rol eax,5 lea ebx,DWORD PTR 3395469782[ebp*1+ebx] add ebx,eax ; 20_39 71 mov ebp,ecx mov eax,DWORD PTR 28[esp] ror ecx,2 xor eax,DWORD PTR 36[esp] xor ebp,edx xor eax,DWORD PTR 60[esp] xor ebp,edi xor eax,DWORD PTR 16[esp] rol eax,1 add ebp,esi mov DWORD PTR 28[esp],eax mov esi,ebx rol esi,5 lea eax,DWORD PTR 3395469782[ebp*1+eax] add eax,esi ; 20_39 72 mov ebp,ebx mov esi,DWORD PTR 32[esp] ror ebx,2 xor esi,DWORD PTR 40[esp] xor ebp,ecx xor esi,DWORD PTR [esp] xor ebp,edx xor esi,DWORD PTR 20[esp] rol esi,1 add ebp,edi mov DWORD PTR 32[esp],esi mov edi,eax rol edi,5 lea esi,DWORD PTR 3395469782[ebp*1+esi] add esi,edi ; 20_39 73 mov ebp,eax mov edi,DWORD PTR 36[esp] ror eax,2 xor edi,DWORD PTR 44[esp] xor ebp,ebx xor edi,DWORD PTR 4[esp] xor ebp,ecx xor edi,DWORD PTR 24[esp] rol edi,1 add ebp,edx mov DWORD PTR 36[esp],edi mov edx,esi rol edx,5 lea edi,DWORD PTR 3395469782[ebp*1+edi] add edi,edx ; 20_39 74 mov ebp,esi mov edx,DWORD PTR 40[esp] ror esi,2 xor edx,DWORD PTR 48[esp] xor ebp,eax xor edx,DWORD PTR 8[esp] xor ebp,ebx xor edx,DWORD PTR 28[esp] rol edx,1 add ebp,ecx mov DWORD PTR 40[esp],edx mov ecx,edi rol ecx,5 lea edx,DWORD PTR 3395469782[ebp*1+edx] add edx,ecx ; 20_39 75 mov ebp,edi mov ecx,DWORD PTR 44[esp] ror edi,2 xor ecx,DWORD PTR 52[esp] xor ebp,esi xor ecx,DWORD PTR 12[esp] xor ebp,eax xor ecx,DWORD PTR 32[esp] rol ecx,1 add ebp,ebx mov DWORD PTR 44[esp],ecx mov ebx,edx rol ebx,5 lea ecx,DWORD PTR 3395469782[ebp*1+ecx] add ecx,ebx ; 20_39 76 mov ebp,edx mov ebx,DWORD PTR 48[esp] ror edx,2 xor ebx,DWORD PTR 56[esp] xor ebp,edi xor ebx,DWORD PTR 16[esp] xor ebp,esi xor ebx,DWORD PTR 36[esp] rol ebx,1 add ebp,eax mov DWORD PTR 48[esp],ebx mov eax,ecx rol eax,5 lea ebx,DWORD PTR 3395469782[ebp*1+ebx] add ebx,eax ; 20_39 77 mov ebp,ecx mov eax,DWORD PTR 52[esp] ror ecx,2 xor eax,DWORD PTR 60[esp] xor ebp,edx xor eax,DWORD PTR 20[esp] xor ebp,edi xor eax,DWORD PTR 40[esp] rol eax,1 add ebp,esi mov DWORD PTR 52[esp],eax mov esi,ebx rol esi,5 lea eax,DWORD PTR 3395469782[ebp*1+eax] add eax,esi ; 20_39 78 mov ebp,ebx mov esi,DWORD PTR 56[esp] ror ebx,2 xor esi,DWORD PTR [esp] xor ebp,ecx xor esi,DWORD PTR 24[esp] xor ebp,edx xor esi,DWORD PTR 44[esp] rol esi,1 add ebp,edi mov DWORD PTR 56[esp],esi mov edi,eax rol edi,5 lea esi,DWORD PTR 3395469782[ebp*1+esi] add esi,edi ; 20_39 79 mov ebp,eax mov edi,DWORD PTR 60[esp] ror eax,2 xor edi,DWORD PTR 4[esp] xor ebp,ebx xor edi,DWORD PTR 28[esp] xor ebp,ecx xor edi,DWORD PTR 48[esp] rol edi,1 add ebp,edx mov DWORD PTR 60[esp],edi mov edx,esi rol edx,5 lea edi,DWORD PTR 3395469782[ebp*1+edi] add edi,edx mov ebp,DWORD PTR 84[esp] mov edx,DWORD PTR 88[esp] add edi,DWORD PTR [ebp] add esi,DWORD PTR 4[ebp] add eax,DWORD PTR 8[ebp] add ebx,DWORD PTR 12[ebp] add ecx,DWORD PTR 16[ebp] mov DWORD PTR [ebp],edi add edx,64 mov DWORD PTR 4[ebp],esi cmp edx,DWORD PTR 92[esp] mov DWORD PTR 8[ebp],eax mov edi,ecx mov DWORD PTR 12[ebp],ebx mov esi,edx mov DWORD PTR 16[ebp],ecx jb $L000loop add esp,64 pop edi pop esi pop ebx pop ebp ret _sha1_block_data_order ENDP DB 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115 DB 102,111,114,109,32,102,111,114,32,120,56,54,44,32,67,82 DB 89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112 DB 114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 .text$ ENDS END