📄 s1-win32.asm
字号:
; 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 <eay@cryptsoft.com> ; TITLE sha1-586.asm .486.model FLAT_TEXT SEGMENTPUBLIC _sha1_block_asm_data_order_sha1_block_asm_data_order PROC NEAR mov ecx, DWORD PTR 12[esp] push esi shl ecx, 6 mov esi, DWORD PTR 12[esp] push ebp add ecx, esi push ebx mov ebp, DWORD PTR 16[esp] push edi mov edx, DWORD PTR 12[ebp] sub esp, 108 mov edi, DWORD PTR 16[ebp] mov ebx, DWORD PTR 8[ebp] mov DWORD PTR 68[esp],ecx ; First we need to setup the X arrayL000start: ; First, load the words onto the stack in network byte order mov eax, DWORD PTR [esi] mov ecx, DWORD PTR 4[esi] bswap eax bswap ecx mov DWORD PTR [esp],eax mov DWORD PTR 4[esp],ecx mov eax, DWORD PTR 8[esi] mov ecx, DWORD PTR 12[esi] bswap eax bswap ecx mov DWORD PTR 8[esp],eax mov DWORD PTR 12[esp],ecx mov eax, DWORD PTR 16[esi] mov ecx, DWORD PTR 20[esi] bswap eax bswap ecx mov DWORD PTR 16[esp],eax mov DWORD PTR 20[esp],ecx mov eax, DWORD PTR 24[esi] mov ecx, DWORD PTR 28[esi] bswap eax bswap ecx mov DWORD PTR 24[esp],eax mov DWORD PTR 28[esp],ecx mov eax, DWORD PTR 32[esi] mov ecx, DWORD PTR 36[esi] bswap eax bswap ecx mov DWORD PTR 32[esp],eax mov DWORD PTR 36[esp],ecx mov eax, DWORD PTR 40[esi] mov ecx, DWORD PTR 44[esi] bswap eax bswap ecx mov DWORD PTR 40[esp],eax mov DWORD PTR 44[esp],ecx mov eax, DWORD PTR 48[esi] mov ecx, DWORD PTR 52[esi] bswap eax bswap ecx mov DWORD PTR 48[esp],eax mov DWORD PTR 52[esp],ecx mov eax, DWORD PTR 56[esi] mov ecx, DWORD PTR 60[esi] bswap eax bswap ecx mov DWORD PTR 56[esp],eax mov DWORD PTR 60[esp],ecx ; We now have the X array on the stack ; starting at sp-4 mov DWORD PTR 132[esp],esiL001shortcut: ; ; Start processing mov eax, DWORD PTR [ebp] mov ecx, DWORD PTR 4[ebp] ; 00_15 0 mov esi, ebx mov ebp, eax xor esi, edx rol ebp, 5 and esi, ecx add ebp, edi ror ecx, 1 mov edi, DWORD PTR [esp] ror ecx, 1 xor esi, edx lea ebp, DWORD PTR 1518500249[edi*1+ebp] mov edi, ecx add esi, ebp xor edi, ebx mov ebp, esi and edi, eax rol ebp, 5 add ebp, edx mov edx, DWORD PTR 4[esp] ror eax, 1 xor edi, ebx 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, ecx rol ebp, 5 and edx, esi add ebp, ebx ror esi, 1 mov ebx, DWORD PTR 8[esp] ror esi, 1 xor edx, ecx lea ebp, DWORD PTR 1518500249[ebx*1+ebp] mov ebx, esi add edx, ebp xor ebx, eax mov ebp, edx and ebx, edi rol ebp, 5 add ebp, ecx mov ecx, DWORD PTR 12[esp] ror edi, 1 xor ebx, eax ror edi, 1 lea ebp, DWORD PTR 1518500249[ecx*1+ebp] add ebx, ebp ; 00_15 4 mov ecx, edi mov ebp, ebx xor ecx, esi rol ebp, 5 and ecx, edx add ebp, eax ror edx, 1 mov eax, DWORD PTR 16[esp] ror edx, 1 xor ecx, esi lea ebp, DWORD PTR 1518500249[eax*1+ebp] mov eax, edx add ecx, ebp xor eax, edi mov ebp, ecx and eax, ebx rol ebp, 5 add ebp, esi mov esi, DWORD PTR 20[esp] ror ebx, 1 xor eax, edi ror ebx, 1 lea ebp, DWORD PTR 1518500249[esi*1+ebp] add eax, ebp ; 00_15 6 mov esi, ebx mov ebp, eax xor esi, edx rol ebp, 5 and esi, ecx add ebp, edi ror ecx, 1 mov edi, DWORD PTR 24[esp] ror ecx, 1 xor esi, edx lea ebp, DWORD PTR 1518500249[edi*1+ebp] mov edi, ecx add esi, ebp xor edi, ebx mov ebp, esi and edi, eax rol ebp, 5 add ebp, edx mov edx, DWORD PTR 28[esp] ror eax, 1 xor edi, ebx 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, ecx rol ebp, 5 and edx, esi add ebp, ebx ror esi, 1 mov ebx, DWORD PTR 32[esp] ror esi, 1 xor edx, ecx lea ebp, DWORD PTR 1518500249[ebx*1+ebp] mov ebx, esi add edx, ebp xor ebx, eax mov ebp, edx and ebx, edi rol ebp, 5 add ebp, ecx mov ecx, DWORD PTR 36[esp] ror edi, 1 xor ebx, eax ror edi, 1 lea ebp, DWORD PTR 1518500249[ecx*1+ebp] add ebx, ebp ; 00_15 10 mov ecx, edi mov ebp, ebx xor ecx, esi rol ebp, 5 and ecx, edx add ebp, eax ror edx, 1 mov eax, DWORD PTR 40[esp] ror edx, 1 xor ecx, esi lea ebp, DWORD PTR 1518500249[eax*1+ebp] mov eax, edx add ecx, ebp xor eax, edi mov ebp, ecx and eax, ebx rol ebp, 5 add ebp, esi mov esi, DWORD PTR 44[esp] ror ebx, 1 xor eax, edi ror ebx, 1 lea ebp, DWORD PTR 1518500249[esi*1+ebp] add eax, ebp ; 00_15 12 mov esi, ebx mov ebp, eax xor esi, edx rol ebp, 5 and esi, ecx add ebp, edi ror ecx, 1 mov edi, DWORD PTR 48[esp] ror ecx, 1 xor esi, edx lea ebp, DWORD PTR 1518500249[edi*1+ebp] mov edi, ecx add esi, ebp xor edi, ebx mov ebp, esi and edi, eax rol ebp, 5 add ebp, edx mov edx, DWORD PTR 52[esp] ror eax, 1 xor edi, ebx 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, ecx rol ebp, 5 and edx, esi add ebp, ebx ror esi, 1 mov ebx, DWORD PTR 56[esp] ror esi, 1 xor edx, ecx lea ebp, DWORD PTR 1518500249[ebx*1+ebp] mov ebx, esi add edx, ebp xor ebx, eax mov ebp, edx and ebx, edi rol ebp, 5 add ebp, ecx mov ecx, DWORD PTR 60[esp] ror edi, 1 xor ebx, eax ror edi, 1 lea ebp, DWORD PTR 1518500249[ecx*1+ebp] add ebx, ebp ; 16_19 16 nop mov ebp, DWORD PTR [esp] mov ecx, DWORD PTR 8[esp] xor ecx, ebp mov ebp, DWORD PTR 32[esp] xor ecx, ebp mov ebp, DWORD PTR 52[esp] xor ecx, ebp mov ebp, edi rol ecx, 1 xor ebp, esi mov DWORD PTR [esp],ecx and ebp, edx lea ecx, DWORD PTR 1518500249[eax*1+ecx] xor ebp, esi mov eax, ebx add ecx, ebp rol eax, 5 ror edx, 1 add ecx, 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, ebx lea eax, DWORD PTR 1518500249[esi*1+eax] xor ebp, edi mov esi, ecx rol esi, 5 ror ebx, 1 add eax, esi ror ebx, 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, ebx rol esi, 1 xor ebp, edx mov DWORD PTR 8[esp],esi and ebp, ecx lea esi, DWORD PTR 1518500249[edi*1+esi] xor ebp, edx mov edi, eax add esi, ebp rol edi, 5 ror ecx, 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 ecx, 1 xor edi, ebp rol edi, 1 mov ebp, ecx xor ebp, ebx mov DWORD PTR 12[esp],edi and ebp, eax lea edi, DWORD PTR 1518500249[edx*1+edi] xor ebp, ebx 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, ecx lea edx, DWORD PTR 1859775393[ebx*1+edx] mov ebx, edi rol ebx, 5 ror esi, 1 add ebx, ebp ror esi, 1 add edx, ebx ; 20_39 21 mov ebx, DWORD PTR 20[esp] mov ebp, DWORD PTR 28[esp] xor ebx, ebp mov ebp, DWORD PTR 52[esp] xor ebx, ebp mov ebp, DWORD PTR 8[esp] xor ebx, ebp mov ebp, edi rol ebx, 1 xor ebp, esi mov DWORD PTR 20[esp],ebx xor ebp, eax lea ebx, DWORD PTR 1859775393[ecx*1+ebx] mov ecx, edx rol ecx, 5 ror edi, 1 add ecx, ebp ror edi, 1 add ebx, ecx ; 20_39 22 mov ecx, DWORD PTR 24[esp] mov ebp, DWORD PTR 32[esp] xor ecx, ebp mov ebp, DWORD PTR 56[esp] xor ecx, ebp mov ebp, DWORD PTR 12[esp] xor ecx, ebp mov ebp, edx rol ecx, 1 xor ebp, edi mov DWORD PTR 24[esp],ecx xor ebp, esi lea ecx, DWORD PTR 1859775393[eax*1+ecx] mov eax, ebx rol eax, 5 ror edx, 1 add eax, ebp ror edx, 1 add ecx, 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, ebx 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, ecx rol esi, 5 ror ebx, 1 add esi, ebp ror ebx, 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, ecx rol esi, 1 xor ebp, ebx mov DWORD PTR 32[esp],esi xor ebp, edx lea esi, DWORD PTR 1859775393[edi*1+esi] mov edi, eax rol edi, 5 ror ecx, 1 add edi, ebp ror ecx, 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, ecx mov DWORD PTR 36[esp],edi xor ebp, ebx 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, ecx lea edx, DWORD PTR 1859775393[ebx*1+edx] mov ebx, edi rol ebx, 5 ror esi, 1 add ebx, ebp ror esi, 1 add edx, ebx ; 20_39 27 mov ebx, DWORD PTR 44[esp] mov ebp, DWORD PTR 52[esp] xor ebx, ebp mov ebp, DWORD PTR 12[esp] xor ebx, ebp mov ebp, DWORD PTR 32[esp] xor ebx, ebp mov ebp, edi rol ebx, 1 xor ebp, esi mov DWORD PTR 44[esp],ebx xor ebp, eax lea ebx, DWORD PTR 1859775393[ecx*1+ebx] mov ecx, edx rol ecx, 5 ror edi, 1 add ecx, ebp ror edi, 1 add ebx, ecx ; 20_39 28 mov ecx, DWORD PTR 48[esp] mov ebp, DWORD PTR 56[esp] xor ecx, ebp mov ebp, DWORD PTR 16[esp] xor ecx, ebp mov ebp, DWORD PTR 36[esp] xor ecx, ebp mov ebp, edx rol ecx, 1 xor ebp, edi mov DWORD PTR 48[esp],ecx xor ebp, esi lea ecx, DWORD PTR 1859775393[eax*1+ecx] mov eax, ebx rol eax, 5 ror edx, 1 add eax, ebp ror edx, 1 add ecx, 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, ebx 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, ecx rol esi, 5 ror ebx, 1 add esi, ebp ror ebx, 1 add eax, esi ; 20_39 30 mov esi, DWORD PTR 56[esp] mov ebp, DWORD PTR [esp] xor esi, ebp
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -