; Don't even think of reading this code ; It was automatically generated by sha1-586.pl ; Which is a perl program used to generate the x86 assember for ; any of elf, a.out, BSDI,Win32, or Solaris ; eric ; TITLE sha1-586.asm .486 .model FLAT _TEXT SEGMENT PUBLIC _sha1_block_x86 _sha1_block_x86 PROC NEAR push esi push ebp mov eax, DWORD PTR 20[esp] mov esi, DWORD PTR 16[esp] add eax, esi mov ebp, DWORD PTR 12[esp] push ebx sub eax, 64 push edi mov ebx, DWORD PTR 4[ebp] sub esp, 72 mov edx, DWORD PTR 12[ebp] mov edi, DWORD PTR 16[ebp] mov ecx, DWORD PTR 8[ebp] mov DWORD PTR 68[esp],eax ; First we need to setup the X array mov eax, DWORD PTR [esi] L000start: ; First, load the words onto the stack in network byte order bswap eax mov DWORD PTR [esp],eax mov eax, DWORD PTR 4[esi] bswap eax mov DWORD PTR 4[esp],eax mov eax, DWORD PTR 8[esi] bswap eax mov DWORD PTR 8[esp],eax mov eax, DWORD PTR 12[esi] bswap eax mov DWORD PTR 12[esp],eax mov eax, DWORD PTR 16[esi] bswap eax mov DWORD PTR 16[esp],eax mov eax, DWORD PTR 20[esi] bswap eax mov DWORD PTR 20[esp],eax mov eax, DWORD PTR 24[esi] bswap eax mov DWORD PTR 24[esp],eax mov eax, DWORD PTR 28[esi] bswap eax mov DWORD PTR 28[esp],eax mov eax, DWORD PTR 32[esi] bswap eax mov DWORD PTR 32[esp],eax mov eax, DWORD PTR 36[esi] bswap eax mov DWORD PTR 36[esp],eax mov eax, DWORD PTR 40[esi] bswap eax mov DWORD PTR 40[esp],eax mov eax, DWORD PTR 44[esi] bswap eax mov DWORD PTR 44[esp],eax mov eax, DWORD PTR 48[esi] bswap eax mov DWORD PTR 48[esp],eax mov eax, DWORD PTR 52[esi] bswap eax mov DWORD PTR 52[esp],eax mov eax, DWORD PTR 56[esi] bswap eax mov DWORD PTR 56[esp],eax mov eax, DWORD PTR 60[esi] bswap eax mov DWORD PTR 60[esp],eax ; We now have the X array on the stack ; starting at sp-4 mov DWORD PTR 64[esp],esi ; ; Start processing mov eax, DWORD PTR [ebp] ; 00_15 0 mov esi, ecx mov ebp, eax xor esi, edx rol ebp, 5 and esi, ebx add ebp, edi ror ebx, 1 mov edi, DWORD PTR [esp] ror ebx, 1 xor esi, edx lea ebp, DWORD PTR 1518500249[edi*1+ebp] mov edi, ebx add esi, ebp xor edi, ecx mov ebp, esi and edi, eax rol ebp, 5 add ebp, edx mov edx, DWORD PTR 4[esp] ror eax, 1 xor edi, ecx ror eax, 1 lea ebp, DWORD PTR 1518500249[edx*1+ebp] add edi, ebp ; 00_15 2 mov edx, eax mov ebp, edi xor edx, ebx rol ebp, 5 and edx, esi add ebp, ecx ror esi, 1 mov ecx, DWORD PTR 8[esp] ror esi, 1 xor edx, ebx lea ebp, DWORD PTR 1518500249[ecx*1+ebp] mov ecx, esi add edx, ebp xor ecx, eax mov ebp, edx and ecx, edi rol ebp, 5 add ebp, ebx mov ebx, DWORD PTR 12[esp] ror edi, 1 xor ecx, eax ror edi, 1 lea ebp, DWORD PTR 1518500249[ebx*1+ebp] add ecx, ebp ; 00_15 4 mov ebx, edi mov ebp, ecx xor ebx, esi rol ebp, 5 and ebx, edx add ebp, eax ror edx, 1 mov eax, DWORD PTR 16[esp] ror edx, 1 xor ebx, esi lea ebp, DWORD PTR 1518500249[eax*1+ebp] mov eax, edx add ebx, ebp xor eax, edi mov ebp, ebx and eax, ecx rol ebp, 5 add ebp, esi mov esi, DWORD PTR 20[esp] ror ecx, 1 xor eax, edi ror ecx, 1 lea ebp, DWORD PTR 1518500249[esi*1+ebp] add eax, ebp ; 00_15 6 mov esi, ecx mov ebp, eax xor esi, edx rol ebp, 5 and esi, ebx add ebp, edi ror ebx, 1 mov edi, DWORD PTR 24[esp] ror ebx, 1 xor esi, edx lea ebp, DWORD PTR 1518500249[edi*1+ebp] mov edi, ebx add esi, ebp xor edi, ecx mov ebp, esi and edi, eax rol ebp, 5 add ebp, edx mov edx, DWORD PTR 28[esp] ror eax, 1 xor edi, ecx ror eax, 1 lea ebp, DWORD PTR 1518500249[edx*1+ebp] add edi, ebp ; 00_15 8 mov edx, eax mov ebp, edi xor edx, ebx rol ebp, 5 and edx, esi add ebp, ecx ror esi, 1 mov ecx, DWORD PTR 32[esp] ror esi, 1 xor edx, ebx lea ebp, DWORD PTR 1518500249[ecx*1+ebp] mov ecx, esi add edx, ebp xor ecx, eax mov ebp, edx and ecx, edi rol ebp, 5 add ebp, ebx mov ebx, DWORD PTR 36[esp] ror edi, 1 xor ecx, eax ror edi, 1 lea ebp, DWORD PTR 1518500249[ebx*1+ebp] add ecx, ebp ; 00_15 10 mov ebx, edi mov ebp, ecx xor ebx, esi rol ebp, 5 and ebx, edx add ebp, eax ror edx, 1 mov eax, DWORD PTR 40[esp] ror edx, 1 xor ebx, esi lea ebp, DWORD PTR 1518500249[eax*1+ebp] mov eax, edx add ebx, ebp xor eax, edi mov ebp, ebx and eax, ecx rol ebp, 5 add ebp, esi mov esi, DWORD PTR 44[esp] ror ecx, 1 xor eax, edi ror ecx, 1 lea ebp, DWORD PTR 1518500249[esi*1+ebp] add eax, ebp ; 00_15 12 mov esi, ecx mov ebp, eax xor esi, edx rol ebp, 5 and esi, ebx add ebp, edi ror ebx, 1 mov edi, DWORD PTR 48[esp] ror ebx, 1 xor esi, edx lea ebp, DWORD PTR 1518500249[edi*1+ebp] mov edi, ebx add esi, ebp xor edi, ecx mov ebp, esi and edi, eax rol ebp, 5 add ebp, edx mov edx, DWORD PTR 52[esp] ror eax, 1 xor edi, ecx ror eax, 1 lea ebp, DWORD PTR 1518500249[edx*1+ebp] add edi, ebp ; 00_15 14 mov edx, eax mov ebp, edi xor edx, ebx rol ebp, 5 and edx, esi add ebp, ecx ror esi, 1 mov ecx, DWORD PTR 56[esp] ror esi, 1 xor edx, ebx lea ebp, DWORD PTR 1518500249[ecx*1+ebp] mov ecx, esi add edx, ebp xor ecx, eax mov ebp, edx and ecx, edi rol ebp, 5 add ebp, ebx mov ebx, DWORD PTR 60[esp] ror edi, 1 xor ecx, eax ror edi, 1 lea ebp, DWORD PTR 1518500249[ebx*1+ebp] add ecx, ebp ; 16_19 16 nop mov ebp, DWORD PTR [esp] mov ebx, DWORD PTR 8[esp] xor ebx, ebp mov ebp, DWORD PTR 32[esp] xor ebx, ebp mov ebp, DWORD PTR 52[esp] xor ebx, ebp mov ebp, edi rol ebx, 1 xor ebp, esi mov DWORD PTR [esp],ebx and ebp, edx lea ebx, DWORD PTR 1518500249[eax*1+ebx] xor ebp, esi mov eax, ecx add ebx, ebp rol eax, 5 ror edx, 1 add ebx, eax mov eax, DWORD PTR 4[esp] mov ebp, DWORD PTR 12[esp] xor eax, ebp mov ebp, DWORD PTR 36[esp] xor eax, ebp mov ebp, DWORD PTR 56[esp] ror edx, 1 xor eax, ebp rol eax, 1 mov ebp, edx xor ebp, edi mov DWORD PTR 4[esp],eax and ebp, ecx lea eax, DWORD PTR 1518500249[esi*1+eax] xor ebp, edi mov esi, ebx rol esi, 5 ror ecx, 1 add eax, esi ror ecx, 1 add eax, ebp ; 16_19 18 mov ebp, DWORD PTR 8[esp] mov esi, DWORD PTR 16[esp] xor esi, ebp mov ebp, DWORD PTR 40[esp] xor esi, ebp mov ebp, DWORD PTR 60[esp] xor esi, ebp mov ebp, ecx rol esi, 1 xor ebp, edx mov DWORD PTR 8[esp],esi and ebp, ebx lea esi, DWORD PTR 1518500249[edi*1+esi] xor ebp, edx mov edi, eax add esi, ebp rol edi, 5 ror ebx, 1 add esi, edi mov edi, DWORD PTR 12[esp] mov ebp, DWORD PTR 20[esp] xor edi, ebp mov ebp, DWORD PTR 44[esp] xor edi, ebp mov ebp, DWORD PTR [esp] ror ebx, 1 xor edi, ebp rol edi, 1 mov ebp, ebx xor ebp, ecx mov DWORD PTR 12[esp],edi and ebp, eax lea edi, DWORD PTR 1518500249[edx*1+edi] xor ebp, ecx mov edx, esi rol edx, 5 ror eax, 1 add edi, edx ror eax, 1 add edi, ebp ; 20_39 20 mov edx, DWORD PTR 16[esp] mov ebp, DWORD PTR 24[esp] xor edx, ebp mov ebp, DWORD PTR 48[esp] xor edx, ebp mov ebp, DWORD PTR 4[esp] xor edx, ebp mov ebp, esi rol edx, 1 xor ebp, eax mov DWORD PTR 16[esp],edx xor ebp, ebx lea edx, DWORD PTR 1859775393[ecx*1+edx] mov ecx, edi rol ecx, 5 ror esi, 1 add ecx, ebp ror esi, 1 add edx, ecx ; 20_39 21 mov ecx, DWORD PTR 20[esp] mov ebp, DWORD PTR 28[esp] xor ecx, ebp mov ebp, DWORD PTR 52[esp] xor ecx, ebp mov ebp, DWORD PTR 8[esp] xor ecx, ebp mov ebp, edi rol ecx, 1 xor ebp, esi mov DWORD PTR 20[esp],ecx xor ebp, eax lea ecx, DWORD PTR 1859775393[ebx*1+ecx] mov ebx, edx rol ebx, 5 ror edi, 1 add ebx, ebp ror edi, 1 add ecx, ebx ; 20_39 22 mov ebx, DWORD PTR 24[esp] mov ebp, DWORD PTR 32[esp] xor ebx, ebp mov ebp, DWORD PTR 56[esp] xor ebx, ebp mov ebp, DWORD PTR 12[esp] xor ebx, ebp mov ebp, edx rol ebx, 1 xor ebp, edi mov DWORD PTR 24[esp],ebx xor ebp, esi lea ebx, DWORD PTR 1859775393[eax*1+ebx] mov eax, ecx rol eax, 5 ror edx, 1 add eax, ebp ror edx, 1 add ebx, eax ; 20_39 23 mov eax, DWORD PTR 28[esp] mov ebp, DWORD PTR 36[esp] xor eax, ebp mov ebp, DWORD PTR 60[esp] xor eax, ebp mov ebp, DWORD PTR 16[esp] xor eax, ebp mov ebp, ecx rol eax, 1 xor ebp, edx mov DWORD PTR 28[esp],eax xor ebp, edi lea eax, DWORD PTR 1859775393[esi*1+eax] mov esi, ebx rol esi, 5 ror ecx, 1 add esi, ebp ror ecx, 1 add eax, esi ; 20_39 24 mov esi, DWORD PTR 32[esp] mov ebp, DWORD PTR 40[esp] xor esi, ebp mov ebp, DWORD PTR [esp] xor esi, ebp mov ebp, DWORD PTR 20[esp] xor esi, ebp mov ebp, ebx rol esi, 1 xor ebp, ecx mov DWORD PTR 32[esp],esi xor ebp, edx lea esi, DWORD PTR 1859775393[edi*1+esi] mov edi, eax rol edi, 5 ror ebx, 1 add edi, ebp ror ebx, 1 add esi, edi ; 20_39 25 mov edi, DWORD PTR 36[esp] mov ebp, DWORD PTR 44[esp] xor edi, ebp mov ebp, DWORD PTR 4[esp] xor edi, ebp mov ebp, DWORD PTR 24[esp] xor edi, ebp mov ebp, eax rol edi, 1 xor ebp, ebx mov DWORD PTR 36[esp],edi xor ebp, ecx lea edi, DWORD PTR 1859775393[edx*1+edi] mov edx, esi rol edx, 5 ror eax, 1 add edx, ebp ror eax, 1 add edi, edx ; 20_39 26 mov edx, DWORD PTR 40[esp] mov ebp, DWORD PTR 48[esp] xor edx, ebp mov ebp, DWORD PTR 8[esp] xor edx, ebp mov ebp, DWORD PTR 28[esp] xor edx, ebp mov ebp, esi rol edx, 1 xor ebp, eax mov DWORD PTR 40[esp],edx xor ebp, ebx lea edx, DWORD PTR 1859775393[ecx*1+edx] mov ecx, edi rol ecx, 5 ror esi, 1 add ecx, ebp ror esi, 1 add edx, ecx ; 20_39 27 mov ecx, DWORD PTR 44[esp] mov ebp, DWORD PTR 52[esp] xor ecx, ebp mov ebp, DWORD PTR 12[esp] xor ecx, ebp mov ebp, DWORD PTR 32[esp] xor ecx, ebp mov ebp, edi rol ecx, 1 xor ebp, esi mov DWORD PTR 44[esp],ecx xor ebp, eax lea ecx, DWORD PTR 1859775393[ebx*1+ecx] mov ebx, edx rol ebx, 5 ror edi, 1 add ebx, ebp ror edi, 1 add ecx, ebx ; 20_39 28 mov ebx, DWORD PTR 48[esp] mov ebp, DWORD PTR 56[esp] xor ebx, ebp mov ebp, DWORD PTR 16[esp] xor ebx, ebp mov ebp, DWORD PTR 36[esp] xor ebx, ebp mov ebp, edx rol ebx, 1 xor ebp, edi mov DWORD PTR 48[esp],ebx xor ebp, esi lea ebx, DWORD PTR 1859775393[eax*1+ebx] mov eax, ecx rol eax, 5 ror edx, 1 add eax, ebp ror edx, 1 add ebx, eax ; 20_39 29 mov eax, DWORD PTR 52[esp] mov ebp, DWORD PTR 60[esp] xor eax, ebp mov ebp, DWORD PTR 20[esp] xor eax, ebp mov ebp, DWORD PTR 40[esp] xor eax, ebp mov ebp, ecx rol eax, 1 xor ebp, edx mov DWORD PTR 52[esp],eax xor ebp, edi lea eax, DWORD PTR 1859775393[esi*1+eax] mov esi, ebx rol esi, 5 ror ecx, 1 add esi, ebp ror ecx, 1 add eax, esi ; 20_39 30 mov esi, DWORD PTR 56[esp] mov ebp, DWORD PTR [esp] xor esi, ebp mov ebp, DWORD PTR 24[esp] xor esi, ebp mov ebp, DWORD PTR 44[esp] xor esi, ebp mov ebp, ebx rol esi, 1 xor ebp, ecx mov DWORD PTR 56[esp],esi xor ebp, edx lea esi, DWORD PTR 1859775393[edi*1+esi] mov edi, eax rol edi, 5 ror ebx, 1 add edi, ebp ror ebx, 1 add esi, edi ; 20_39 31 mov edi, DWORD PTR 60[esp] mov ebp, DWORD PTR 4[esp] xor edi, ebp mov ebp, DWORD PTR 28[esp] xor edi, ebp mov ebp, DWORD PTR 48[esp] xor edi, ebp mov ebp, eax rol edi, 1 xor ebp, ebx mov DWORD PTR 60[esp],edi xor ebp, ecx lea edi, DWORD PTR 1859775393[edx*1+edi] mov edx, esi rol edx, 5 ror eax, 1 add edx, ebp ror eax, 1 add edi, edx ; 20_39 32 mov edx, DWORD PTR [esp] mov ebp, DWORD PTR 8[esp] xor edx, ebp mov ebp, DWORD PTR 32[esp] xor edx, ebp mov ebp, DWORD PTR 52[esp] xor edx, ebp mov ebp, esi rol edx, 1 xor ebp, eax mov DWORD PTR [esp],edx xor ebp, ebx lea edx, DWORD PTR 1859775393[ecx*1+edx] mov ecx, edi rol ecx, 5 ror esi, 1 add ecx, ebp ror esi, 1 add edx, ecx ; 20_39 33 mov ecx, DWORD PTR 4[esp] mov ebp, DWORD PTR 12[esp] xor ecx, ebp mov ebp, DWORD PTR 36[esp] xor ecx, ebp mov ebp, DWORD PTR 56[esp] xor ecx, ebp mov ebp, edi rol ecx, 1 xor ebp, esi mov DWORD PTR 4[esp],ecx xor ebp, eax lea ecx, DWORD PTR 1859775393[ebx*1+ecx] mov ebx, edx rol ebx, 5 ror edi, 1 add ebx, ebp ror edi, 1 add ecx, ebx ; 20_39 34 mov ebx, DWORD PTR 8[esp] mov ebp, DWORD PTR 16[esp] xor ebx, ebp mov ebp, DWORD PTR 40[esp] xor ebx, ebp mov ebp, DWORD PTR 60[esp] xor ebx, ebp mov ebp, edx rol ebx, 1 xor ebp, edi mov DWORD PTR 8[esp],ebx xor ebp, esi lea ebx, DWORD PTR 1859775393[eax*1+ebx] mov eax, ecx rol eax, 5 ror edx, 1 add eax, ebp ror edx, 1 add ebx, eax ; 20_39 35 mov eax, DWORD PTR 12[esp] mov ebp, DWORD PTR 20[esp] xor eax, ebp mov ebp, DWORD PTR 44[esp] xor eax, ebp mov ebp, DWORD PTR [esp] xor eax, ebp mov ebp, ecx rol eax, 1 xor ebp, edx mov DWORD PTR 12[esp],eax xor ebp, edi lea eax, DWORD PTR 1859775393[esi*1+eax] mov esi, ebx rol esi, 5 ror ecx, 1 add esi, ebp ror ecx, 1 add eax, esi ; 20_39 36 mov esi, DWORD PTR 16[esp] mov ebp, DWORD PTR 24[esp] xor esi, ebp mov ebp, DWORD PTR 48[esp] xor esi, ebp mov ebp, DWORD PTR 4[esp] xor esi, ebp mov ebp, ebx rol esi, 1 xor ebp, ecx mov DWORD PTR 16[esp],esi xor ebp, edx lea esi, DWORD PTR 1859775393[edi*1+esi] mov edi, eax rol edi, 5 ror ebx, 1 add edi, ebp ror ebx, 1 add esi, edi ; 20_39 37 mov edi, DWORD PTR 20[esp] mov ebp, DWORD PTR 28[esp] xor edi, ebp mov ebp, DWORD PTR 52[esp] xor edi, ebp mov ebp, DWORD PTR 8[esp] xor edi, ebp mov ebp, eax rol edi, 1 xor ebp, ebx mov DWORD PTR 20[esp],edi xor ebp, ecx lea edi, DWORD PTR 1859775393[edx*1+edi] mov edx, esi rol edx, 5 ror eax, 1 add edx, ebp ror eax, 1 add edi, edx ; 20_39 38 mov edx, DWORD PTR 24[esp] mov ebp, DWORD PTR 32[esp] xor edx, ebp mov ebp, DWORD PTR 56[esp] xor edx, ebp mov ebp, DWORD PTR 12[esp] xor edx, ebp mov ebp, esi rol edx, 1 xor ebp, eax mov DWORD PTR 24[esp],edx xor ebp, ebx lea edx, DWORD PTR 1859775393[ecx*1+edx] mov ecx, edi rol ecx, 5 ror esi, 1 add ecx, ebp ror esi, 1 add edx, ecx ; 20_39 39 mov ecx, DWORD PTR 28[esp] mov ebp, DWORD PTR 36[esp] xor ecx, ebp mov ebp, DWORD PTR 60[esp] xor ecx, ebp mov ebp, DWORD PTR 16[esp] xor ecx, ebp mov ebp, edi rol ecx, 1 xor ebp, esi mov DWORD PTR 28[esp],ecx xor ebp, eax lea ecx, DWORD PTR 1859775393[ebx*1+ecx] mov ebx, edx rol ebx, 5 ror edi, 1 add ebx, ebp ror edi, 1 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, 1 and eax, edi or ebp, eax mov eax, ecx rol eax, 5 add ebp, eax mov eax, DWORD PTR 36[esp] add ebx, ebp mov ebp, DWORD PTR 44[esp] xor eax, ebp mov ebp, DWORD PTR 4[esp] xor eax, ebp mov ebp, DWORD PTR 24[esp] ror edx, 1 xor eax, ebp rol eax, 1 mov ebp, ecx mov DWORD PTR 36[esp],eax or ebp, edx lea eax, DWORD PTR 2400959708[esi*1+eax] mov esi, ecx and ebp, edi and esi, edx or ebp, esi mov esi, ebx rol esi, 5 ror ecx, 1 add ebp, esi ror ecx, 1 add eax, ebp ; 40_59 41 ; 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, 1 and edi, ecx or ebp, edi mov edi, eax rol edi, 5 add ebp, edi mov edi, DWORD PTR 44[esp] add esi, ebp mov ebp, DWORD PTR 52[esp] xor edi, ebp mov ebp, DWORD PTR 12[esp] xor edi, ebp mov ebp, DWORD PTR 32[esp] ror ebx, 1 xor edi, ebp rol edi, 1 mov ebp, eax mov DWORD PTR 44[esp],edi or ebp, ebx lea edi, DWORD PTR 2400959708[edx*1+edi] mov edx, eax and ebp, ecx and edx, ebx or ebp, edx mov edx, esi rol edx, 5 ror eax, 1 add ebp, edx ror eax, 1 add edi, ebp ; 40_59 43 ; 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, 1 and ecx, eax or ebp, ecx mov ecx, edi rol ecx, 5 add ebp, ecx mov ecx, DWORD PTR 52[esp] add edx, ebp mov ebp, DWORD PTR 60[esp] xor ecx, ebp mov ebp, DWORD PTR 20[esp] xor ecx, ebp mov ebp, DWORD PTR 40[esp] ror esi, 1 xor ecx, ebp rol ecx, 1 mov ebp, edi mov DWORD PTR 52[esp],ecx or ebp, esi lea ecx, DWORD PTR 2400959708[ebx*1+ecx] mov ebx, edi and ebp, eax and ebx, esi or ebp, ebx mov ebx, edx rol ebx, 5 ror edi, 1 add ebp, ebx ror edi, 1 add ecx, ebp ; 40_59 45 ; 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, 1 and eax, edi or ebp, eax mov eax, ecx rol eax, 5 add ebp, eax mov eax, DWORD PTR 60[esp] add ebx, ebp mov ebp, DWORD PTR 4[esp] xor eax, ebp mov ebp, DWORD PTR 28[esp] xor eax, ebp mov ebp, DWORD PTR 48[esp] ror edx, 1 xor eax, ebp rol eax, 1 mov ebp, ecx mov DWORD PTR 60[esp],eax or ebp, edx lea eax, DWORD PTR 2400959708[esi*1+eax] mov esi, ecx and ebp, edi and esi, edx or ebp, esi mov esi, ebx rol esi, 5 ror ecx, 1 add ebp, esi ror ecx, 1 add eax, ebp ; 40_59 47 ; 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, 1 and edi, ecx or ebp, edi mov edi, eax rol edi, 5 add ebp, edi mov edi, DWORD PTR 4[esp] add esi, ebp mov ebp, DWORD PTR 12[esp] xor edi, ebp mov ebp, DWORD PTR 36[esp] xor edi, ebp mov ebp, DWORD PTR 56[esp] ror ebx, 1 xor edi, ebp rol edi, 1 mov ebp, eax mov DWORD PTR 4[esp],edi or ebp, ebx lea edi, DWORD PTR 2400959708[edx*1+edi] mov edx, eax and ebp, ecx and edx, ebx or ebp, edx mov edx, esi rol edx, 5 ror eax, 1 add ebp, edx ror eax, 1 add edi, ebp ; 40_59 49 ; 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, 1 and ecx, eax or ebp, ecx mov ecx, edi rol ecx, 5 add ebp, ecx mov ecx, DWORD PTR 12[esp] add edx, ebp mov ebp, DWORD PTR 20[esp] xor ecx, ebp mov ebp, DWORD PTR 44[esp] xor ecx, ebp mov ebp, DWORD PTR [esp] ror esi, 1 xor ecx, ebp rol ecx, 1 mov ebp, edi mov DWORD PTR 12[esp],ecx or ebp, esi lea ecx, DWORD PTR 2400959708[ebx*1+ecx] mov ebx, edi and ebp, eax and ebx, esi or ebp, ebx mov ebx, edx rol ebx, 5 ror edi, 1 add ebp, ebx ror edi, 1 add ecx, ebp ; 40_59 51 ; 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, 1 and eax, edi or ebp, eax mov eax, ecx rol eax, 5 add ebp, eax mov eax, DWORD PTR 20[esp] add ebx, ebp mov ebp, DWORD PTR 28[esp] xor eax, ebp mov ebp, DWORD PTR 52[esp] xor eax, ebp mov ebp, DWORD PTR 8[esp] ror edx, 1 xor eax, ebp rol eax, 1 mov ebp, ecx mov DWORD PTR 20[esp],eax or ebp, edx lea eax, DWORD PTR 2400959708[esi*1+eax] mov esi, ecx and ebp, edi and esi, edx or ebp, esi mov esi, ebx rol esi, 5 ror ecx, 1 add ebp, esi ror ecx, 1 add eax, ebp ; 40_59 53 ; 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, 1 and edi, ecx or ebp, edi mov edi, eax rol edi, 5 add ebp, edi mov edi, DWORD PTR 28[esp] add esi, ebp mov ebp, DWORD PTR 36[esp] xor edi, ebp mov ebp, DWORD PTR 60[esp] xor edi, ebp mov ebp, DWORD PTR 16[esp] ror ebx, 1 xor edi, ebp rol edi, 1 mov ebp, eax mov DWORD PTR 28[esp],edi or ebp, ebx lea edi, DWORD PTR 2400959708[edx*1+edi] mov edx, eax and ebp, ecx and edx, ebx or ebp, edx mov edx, esi rol edx, 5 ror eax, 1 add ebp, edx ror eax, 1 add edi, ebp ; 40_59 55 ; 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, 1 and ecx, eax or ebp, ecx mov ecx, edi rol ecx, 5 add ebp, ecx mov ecx, DWORD PTR 36[esp] add edx, ebp mov ebp, DWORD PTR 44[esp] xor ecx, ebp mov ebp, DWORD PTR 4[esp] xor ecx, ebp mov ebp, DWORD PTR 24[esp] ror esi, 1 xor ecx, ebp rol ecx, 1 mov ebp, edi mov DWORD PTR 36[esp],ecx or ebp, esi lea ecx, DWORD PTR 2400959708[ebx*1+ecx] mov ebx, edi and ebp, eax and ebx, esi or ebp, ebx mov ebx, edx rol ebx, 5 ror edi, 1 add ebp, ebx ror edi, 1 add ecx, ebp ; 40_59 57 ; 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, 1 and eax, edi or ebp, eax mov eax, ecx rol eax, 5 add ebp, eax mov eax, DWORD PTR 44[esp] add ebx, ebp mov ebp, DWORD PTR 52[esp] xor eax, ebp mov ebp, DWORD PTR 12[esp] xor eax, ebp mov ebp, DWORD PTR 32[esp] ror edx, 1 xor eax, ebp rol eax, 1 mov ebp, ecx mov DWORD PTR 44[esp],eax or ebp, edx lea eax, DWORD PTR 2400959708[esi*1+eax] mov esi, ecx and ebp, edi and esi, edx or ebp, esi mov esi, ebx rol esi, 5 ror ecx, 1 add ebp, esi ror ecx, 1 add eax, ebp ; 40_59 59 ; 20_39 60 mov esi, DWORD PTR 48[esp] mov ebp, DWORD PTR 56[esp] xor esi, ebp mov ebp, DWORD PTR 16[esp] xor esi, ebp mov ebp, DWORD PTR 36[esp] xor esi, ebp mov ebp, ebx rol esi, 1 xor ebp, ecx mov DWORD PTR 48[esp],esi xor ebp, edx lea esi, DWORD PTR 3395469782[edi*1+esi] mov edi, eax rol edi, 5 ror ebx, 1 add edi, ebp ror ebx, 1 add esi, edi ; 20_39 61 mov edi, DWORD PTR 52[esp] mov ebp, DWORD PTR 60[esp] xor edi, ebp mov ebp, DWORD PTR 20[esp] xor edi, ebp mov ebp, DWORD PTR 40[esp] xor edi, ebp mov ebp, eax rol edi, 1 xor ebp, ebx mov DWORD PTR 52[esp],edi xor ebp, ecx lea edi, DWORD PTR 3395469782[edx*1+edi] mov edx, esi rol edx, 5 ror eax, 1 add edx, ebp ror eax, 1 add edi, edx ; 20_39 62 mov edx, DWORD PTR 56[esp] mov ebp, DWORD PTR [esp] xor edx, ebp mov ebp, DWORD PTR 24[esp] xor edx, ebp mov ebp, DWORD PTR 44[esp] xor edx, ebp mov ebp, esi rol edx, 1 xor ebp, eax mov DWORD PTR 56[esp],edx xor ebp, ebx lea edx, DWORD PTR 3395469782[ecx*1+edx] mov ecx, edi rol ecx, 5 ror esi, 1 add ecx, ebp ror esi, 1 add edx, ecx ; 20_39 63 mov ecx, DWORD PTR 60[esp] mov ebp, DWORD PTR 4[esp] xor ecx, ebp mov ebp, DWORD PTR 28[esp] xor ecx, ebp mov ebp, DWORD PTR 48[esp] xor ecx, ebp mov ebp, edi rol ecx, 1 xor ebp, esi mov DWORD PTR 60[esp],ecx xor ebp, eax lea ecx, DWORD PTR 3395469782[ebx*1+ecx] mov ebx, edx rol ebx, 5 ror edi, 1 add ebx, ebp ror edi, 1 add ecx, ebx ; 20_39 64 mov ebx, DWORD PTR [esp] mov ebp, DWORD PTR 8[esp] xor ebx, ebp mov ebp, DWORD PTR 32[esp] xor ebx, ebp mov ebp, DWORD PTR 52[esp] xor ebx, ebp mov ebp, edx rol ebx, 1 xor ebp, edi mov DWORD PTR [esp],ebx xor ebp, esi lea ebx, DWORD PTR 3395469782[eax*1+ebx] mov eax, ecx rol eax, 5 ror edx, 1 add eax, ebp ror edx, 1 add ebx, eax ; 20_39 65 mov eax, DWORD PTR 4[esp] mov ebp, DWORD PTR 12[esp] xor eax, ebp mov ebp, DWORD PTR 36[esp] xor eax, ebp mov ebp, DWORD PTR 56[esp] xor eax, ebp mov ebp, ecx rol eax, 1 xor ebp, edx mov DWORD PTR 4[esp],eax xor ebp, edi lea eax, DWORD PTR 3395469782[esi*1+eax] mov esi, ebx rol esi, 5 ror ecx, 1 add esi, ebp ror ecx, 1 add eax, esi ; 20_39 66 mov esi, DWORD PTR 8[esp] mov ebp, DWORD PTR 16[esp] xor esi, ebp mov ebp, DWORD PTR 40[esp] xor esi, ebp mov ebp, DWORD PTR 60[esp] xor esi, ebp mov ebp, ebx rol esi, 1 xor ebp, ecx mov DWORD PTR 8[esp],esi xor ebp, edx lea esi, DWORD PTR 3395469782[edi*1+esi] mov edi, eax rol edi, 5 ror ebx, 1 add edi, ebp ror ebx, 1 add esi, edi ; 20_39 67 mov edi, DWORD PTR 12[esp] mov ebp, DWORD PTR 20[esp] xor edi, ebp mov ebp, DWORD PTR 44[esp] xor edi, ebp mov ebp, DWORD PTR [esp] xor edi, ebp mov ebp, eax rol edi, 1 xor ebp, ebx mov DWORD PTR 12[esp],edi xor ebp, ecx lea edi, DWORD PTR 3395469782[edx*1+edi] mov edx, esi rol edx, 5 ror eax, 1 add edx, ebp ror eax, 1 add edi, edx ; 20_39 68 mov edx, DWORD PTR 16[esp] mov ebp, DWORD PTR 24[esp] xor edx, ebp mov ebp, DWORD PTR 48[esp] xor edx, ebp mov ebp, DWORD PTR 4[esp] xor edx, ebp mov ebp, esi rol edx, 1 xor ebp, eax mov DWORD PTR 16[esp],edx xor ebp, ebx lea edx, DWORD PTR 3395469782[ecx*1+edx] mov ecx, edi rol ecx, 5 ror esi, 1 add ecx, ebp ror esi, 1 add edx, ecx ; 20_39 69 mov ecx, DWORD PTR 20[esp] mov ebp, DWORD PTR 28[esp] xor ecx, ebp mov ebp, DWORD PTR 52[esp] xor ecx, ebp mov ebp, DWORD PTR 8[esp] xor ecx, ebp mov ebp, edi rol ecx, 1 xor ebp, esi mov DWORD PTR 20[esp],ecx xor ebp, eax lea ecx, DWORD PTR 3395469782[ebx*1+ecx] mov ebx, edx rol ebx, 5 ror edi, 1 add ebx, ebp ror edi, 1 add ecx, ebx ; 20_39 70 mov ebx, DWORD PTR 24[esp] mov ebp, DWORD PTR 32[esp] xor ebx, ebp mov ebp, DWORD PTR 56[esp] xor ebx, ebp mov ebp, DWORD PTR 12[esp] xor ebx, ebp mov ebp, edx rol ebx, 1 xor ebp, edi mov DWORD PTR 24[esp],ebx xor ebp, esi lea ebx, DWORD PTR 3395469782[eax*1+ebx] mov eax, ecx rol eax, 5 ror edx, 1 add eax, ebp ror edx, 1 add ebx, eax ; 20_39 71 mov eax, DWORD PTR 28[esp] mov ebp, DWORD PTR 36[esp] xor eax, ebp mov ebp, DWORD PTR 60[esp] xor eax, ebp mov ebp, DWORD PTR 16[esp] xor eax, ebp mov ebp, ecx rol eax, 1 xor ebp, edx mov DWORD PTR 28[esp],eax xor ebp, edi lea eax, DWORD PTR 3395469782[esi*1+eax] mov esi, ebx rol esi, 5 ror ecx, 1 add esi, ebp ror ecx, 1 add eax, esi ; 20_39 72 mov esi, DWORD PTR 32[esp] mov ebp, DWORD PTR 40[esp] xor esi, ebp mov ebp, DWORD PTR [esp] xor esi, ebp mov ebp, DWORD PTR 20[esp] xor esi, ebp mov ebp, ebx rol esi, 1 xor ebp, ecx mov DWORD PTR 32[esp],esi xor ebp, edx lea esi, DWORD PTR 3395469782[edi*1+esi] mov edi, eax rol edi, 5 ror ebx, 1 add edi, ebp ror ebx, 1 add esi, edi ; 20_39 73 mov edi, DWORD PTR 36[esp] mov ebp, DWORD PTR 44[esp] xor edi, ebp mov ebp, DWORD PTR 4[esp] xor edi, ebp mov ebp, DWORD PTR 24[esp] xor edi, ebp mov ebp, eax rol edi, 1 xor ebp, ebx mov DWORD PTR 36[esp],edi xor ebp, ecx lea edi, DWORD PTR 3395469782[edx*1+edi] mov edx, esi rol edx, 5 ror eax, 1 add edx, ebp ror eax, 1 add edi, edx ; 20_39 74 mov edx, DWORD PTR 40[esp] mov ebp, DWORD PTR 48[esp] xor edx, ebp mov ebp, DWORD PTR 8[esp] xor edx, ebp mov ebp, DWORD PTR 28[esp] xor edx, ebp mov ebp, esi rol edx, 1 xor ebp, eax mov DWORD PTR 40[esp],edx xor ebp, ebx lea edx, DWORD PTR 3395469782[ecx*1+edx] mov ecx, edi rol ecx, 5 ror esi, 1 add ecx, ebp ror esi, 1 add edx, ecx ; 20_39 75 mov ecx, DWORD PTR 44[esp] mov ebp, DWORD PTR 52[esp] xor ecx, ebp mov ebp, DWORD PTR 12[esp] xor ecx, ebp mov ebp, DWORD PTR 32[esp] xor ecx, ebp mov ebp, edi rol ecx, 1 xor ebp, esi mov DWORD PTR 44[esp],ecx xor ebp, eax lea ecx, DWORD PTR 3395469782[ebx*1+ecx] mov ebx, edx rol ebx, 5 ror edi, 1 add ebx, ebp ror edi, 1 add ecx, ebx ; 20_39 76 mov ebx, DWORD PTR 48[esp] mov ebp, DWORD PTR 56[esp] xor ebx, ebp mov ebp, DWORD PTR 16[esp] xor ebx, ebp mov ebp, DWORD PTR 36[esp] xor ebx, ebp mov ebp, edx rol ebx, 1 xor ebp, edi mov DWORD PTR 48[esp],ebx xor ebp, esi lea ebx, DWORD PTR 3395469782[eax*1+ebx] mov eax, ecx rol eax, 5 ror edx, 1 add eax, ebp ror edx, 1 add ebx, eax ; 20_39 77 mov eax, DWORD PTR 52[esp] mov ebp, DWORD PTR 60[esp] xor eax, ebp mov ebp, DWORD PTR 20[esp] xor eax, ebp mov ebp, DWORD PTR 40[esp] xor eax, ebp mov ebp, ecx rol eax, 1 xor ebp, edx mov DWORD PTR 52[esp],eax xor ebp, edi lea eax, DWORD PTR 3395469782[esi*1+eax] mov esi, ebx rol esi, 5 ror ecx, 1 add esi, ebp ror ecx, 1 add eax, esi ; 20_39 78 mov esi, DWORD PTR 56[esp] mov ebp, DWORD PTR [esp] xor esi, ebp mov ebp, DWORD PTR 24[esp] xor esi, ebp mov ebp, DWORD PTR 44[esp] xor esi, ebp mov ebp, ebx rol esi, 1 xor ebp, ecx mov DWORD PTR 56[esp],esi xor ebp, edx lea esi, DWORD PTR 3395469782[edi*1+esi] mov edi, eax rol edi, 5 ror ebx, 1 add edi, ebp ror ebx, 1 add esi, edi ; 20_39 79 mov edi, DWORD PTR 60[esp] mov ebp, DWORD PTR 4[esp] xor edi, ebp mov ebp, DWORD PTR 28[esp] xor edi, ebp mov ebp, DWORD PTR 48[esp] xor edi, ebp mov ebp, eax rol edi, 1 xor ebp, ebx mov DWORD PTR 60[esp],edi xor ebp, ecx lea edi, DWORD PTR 3395469782[edx*1+edi] mov edx, esi rol edx, 5 add edx, ebp mov ebp, DWORD PTR 92[esp] ror eax, 1 add edi, edx ror eax, 1 ; End processing ; mov edx, DWORD PTR 12[ebp] add edx, ebx mov ebx, DWORD PTR 4[ebp] add ebx, esi mov esi, eax mov eax, DWORD PTR [ebp] mov DWORD PTR 12[ebp],edx add eax, edi mov edi, DWORD PTR 16[ebp] add edi, ecx mov ecx, DWORD PTR 8[ebp] add ecx, esi mov DWORD PTR [ebp],eax mov esi, DWORD PTR 64[esp] mov DWORD PTR 8[ebp],ecx add esi, 64 mov eax, DWORD PTR 68[esp] mov DWORD PTR 16[ebp],edi cmp eax, esi mov DWORD PTR 4[ebp],ebx jl $L001end mov eax, DWORD PTR [esi] jmp L000start $L001end: add esp, 72 pop edi pop ebx pop ebp pop esi ret _sha1_block_x86 ENDP _TEXT ENDS END