📄 m5-win32.asm
字号:
; Don't even think of reading this code ; It was automatically generated by md5-586.pl ; Which is a perl program used to generate the x86 assember for ; any of elf, a.out, BSDI, Win32, gaswin (for GNU as on Win32) or Solaris ; eric <eay@cryptsoft.com> ; segment .textglobal _md5_block_asm_host_order_md5_block_asm_host_order: push esi push edi mov edi, [12+esp] mov esi, [16+esp] mov ecx, [20+esp] push ebp shl ecx, 6 push ebx add ecx, esi sub ecx, 64 mov eax, [edi] push ecx mov ebx, [4+edi] mov ecx, [8+edi] mov edx, [12+edi]L000start: ; ; R0 section mov edi, ecx mov ebp, [esi] ; R0 0 xor edi, edx and edi, ebx lea eax, [3614090360+ebp*1+eax] xor edi, edx add eax, edi mov edi, ebx rol eax, 7 mov ebp, [4+esi] add eax, ebx ; R0 1 xor edi, ecx and edi, eax lea edx, [3905402710+ebp*1+edx] xor edi, ecx add edx, edi mov edi, eax rol edx, 12 mov ebp, [8+esi] add edx, eax ; R0 2 xor edi, ebx and edi, edx lea ecx, [606105819+ebp*1+ecx] xor edi, ebx add ecx, edi mov edi, edx rol ecx, 17 mov ebp, [12+esi] add ecx, edx ; R0 3 xor edi, eax and edi, ecx lea ebx, [3250441966+ebp*1+ebx] xor edi, eax add ebx, edi mov edi, ecx rol ebx, 22 mov ebp, [16+esi] add ebx, ecx ; R0 4 xor edi, edx and edi, ebx lea eax, [4118548399+ebp*1+eax] xor edi, edx add eax, edi mov edi, ebx rol eax, 7 mov ebp, [20+esi] add eax, ebx ; R0 5 xor edi, ecx and edi, eax lea edx, [1200080426+ebp*1+edx] xor edi, ecx add edx, edi mov edi, eax rol edx, 12 mov ebp, [24+esi] add edx, eax ; R0 6 xor edi, ebx and edi, edx lea ecx, [2821735955+ebp*1+ecx] xor edi, ebx add ecx, edi mov edi, edx rol ecx, 17 mov ebp, [28+esi] add ecx, edx ; R0 7 xor edi, eax and edi, ecx lea ebx, [4249261313+ebp*1+ebx] xor edi, eax add ebx, edi mov edi, ecx rol ebx, 22 mov ebp, [32+esi] add ebx, ecx ; R0 8 xor edi, edx and edi, ebx lea eax, [1770035416+ebp*1+eax] xor edi, edx add eax, edi mov edi, ebx rol eax, 7 mov ebp, [36+esi] add eax, ebx ; R0 9 xor edi, ecx and edi, eax lea edx, [2336552879+ebp*1+edx] xor edi, ecx add edx, edi mov edi, eax rol edx, 12 mov ebp, [40+esi] add edx, eax ; R0 10 xor edi, ebx and edi, edx lea ecx, [4294925233+ebp*1+ecx] xor edi, ebx add ecx, edi mov edi, edx rol ecx, 17 mov ebp, [44+esi] add ecx, edx ; R0 11 xor edi, eax and edi, ecx lea ebx, [2304563134+ebp*1+ebx] xor edi, eax add ebx, edi mov edi, ecx rol ebx, 22 mov ebp, [48+esi] add ebx, ecx ; R0 12 xor edi, edx and edi, ebx lea eax, [1804603682+ebp*1+eax] xor edi, edx add eax, edi mov edi, ebx rol eax, 7 mov ebp, [52+esi] add eax, ebx ; R0 13 xor edi, ecx and edi, eax lea edx, [4254626195+ebp*1+edx] xor edi, ecx add edx, edi mov edi, eax rol edx, 12 mov ebp, [56+esi] add edx, eax ; R0 14 xor edi, ebx and edi, edx lea ecx, [2792965006+ebp*1+ecx] xor edi, ebx add ecx, edi mov edi, edx rol ecx, 17 mov ebp, [60+esi] add ecx, edx ; R0 15 xor edi, eax and edi, ecx lea ebx, [1236535329+ebp*1+ebx] xor edi, eax add ebx, edi mov edi, ecx rol ebx, 22 mov ebp, [4+esi] add ebx, ecx ; ; R1 section ; R1 16 lea eax, [4129170786+ebp*1+eax] xor edi, ebx and edi, edx mov ebp, [24+esi] xor edi, ecx add eax, edi mov edi, ebx rol eax, 5 add eax, ebx ; R1 17 lea edx, [3225465664+ebp*1+edx] xor edi, eax and edi, ecx mov ebp, [44+esi] xor edi, ebx add edx, edi mov edi, eax rol edx, 9 add edx, eax ; R1 18 lea ecx, [643717713+ebp*1+ecx] xor edi, edx and edi, ebx mov ebp, [esi] xor edi, eax add ecx, edi mov edi, edx rol ecx, 14 add ecx, edx ; R1 19 lea ebx, [3921069994+ebp*1+ebx] xor edi, ecx and edi, eax mov ebp, [20+esi] xor edi, edx add ebx, edi mov edi, ecx rol ebx, 20 add ebx, ecx ; R1 20 lea eax, [3593408605+ebp*1+eax] xor edi, ebx and edi, edx mov ebp, [40+esi] xor edi, ecx add eax, edi mov edi, ebx rol eax, 5 add eax, ebx ; R1 21 lea edx, [38016083+ebp*1+edx] xor edi, eax and edi, ecx mov ebp, [60+esi] xor edi, ebx add edx, edi mov edi, eax rol edx, 9 add edx, eax ; R1 22 lea ecx, [3634488961+ebp*1+ecx] xor edi, edx and edi, ebx mov ebp, [16+esi] xor edi, eax add ecx, edi mov edi, edx rol ecx, 14 add ecx, edx ; R1 23 lea ebx, [3889429448+ebp*1+ebx] xor edi, ecx and edi, eax mov ebp, [36+esi] xor edi, edx add ebx, edi mov edi, ecx rol ebx, 20 add ebx, ecx ; R1 24 lea eax, [568446438+ebp*1+eax] xor edi, ebx and edi, edx mov ebp, [56+esi] xor edi, ecx add eax, edi mov edi, ebx rol eax, 5 add eax, ebx ; R1 25 lea edx, [3275163606+ebp*1+edx] xor edi, eax and edi, ecx mov ebp, [12+esi] xor edi, ebx add edx, edi mov edi, eax rol edx, 9 add edx, eax ; R1 26 lea ecx, [4107603335+ebp*1+ecx] xor edi, edx and edi, ebx mov ebp, [32+esi] xor edi, eax add ecx, edi mov edi, edx rol ecx, 14 add ecx, edx ; R1 27 lea ebx, [1163531501+ebp*1+ebx] xor edi, ecx and edi, eax mov ebp, [52+esi] xor edi, edx add ebx, edi mov edi, ecx rol ebx, 20 add ebx, ecx ; R1 28 lea eax, [2850285829+ebp*1+eax] xor edi, ebx and edi, edx mov ebp, [8+esi] xor edi, ecx add eax, edi mov edi, ebx rol eax, 5 add eax, ebx ; R1 29 lea edx, [4243563512+ebp*1+edx] xor edi, eax and edi, ecx mov ebp, [28+esi] xor edi, ebx add edx, edi mov edi, eax rol edx, 9 add edx, eax ; R1 30 lea ecx, [1735328473+ebp*1+ecx] xor edi, edx and edi, ebx mov ebp, [48+esi] xor edi, eax add ecx, edi mov edi, edx rol ecx, 14 add ecx, edx ; R1 31 lea ebx, [2368359562+ebp*1+ebx] xor edi, ecx and edi, eax mov ebp, [20+esi] xor edi, edx add ebx, edi mov edi, ecx rol ebx, 20 add ebx, ecx ; ; R2 section ; R2 32 xor edi, edx xor edi, ebx lea eax, [4294588738+ebp*1+eax] add eax, edi rol eax, 4 mov ebp, [32+esi] mov edi, ebx ; R2 33 lea edx, [2272392833+ebp*1+edx] add eax, ebx xor edi, ecx xor edi, eax mov ebp, [44+esi] add edx, edi mov edi, eax rol edx, 11 add edx, eax ; R2 34 xor edi, ebx xor edi, edx lea ecx, [1839030562+ebp*1+ecx] add ecx, edi rol ecx, 16 mov ebp, [56+esi] mov edi, edx ; R2 35 lea ebx, [4259657740+ebp*1+ebx] add ecx, edx xor edi, eax xor edi, ecx mov ebp, [4+esi] add ebx, edi mov edi, ecx rol ebx, 23 add ebx, ecx ; R2 36 xor edi, edx xor edi, ebx lea eax, [2763975236+ebp*1+eax] add eax, edi rol eax, 4 mov ebp, [16+esi] mov edi, ebx ; R2 37 lea edx, [1272893353+ebp*1+edx] add eax, ebx xor edi, ecx xor edi, eax mov ebp, [28+esi] add edx, edi mov edi, eax rol edx, 11 add edx, eax ; R2 38 xor edi, ebx xor edi, edx lea ecx, [4139469664+ebp*1+ecx] add ecx, edi rol ecx, 16 mov ebp, [40+esi] mov edi, edx ; R2 39 lea ebx, [3200236656+ebp*1+ebx] add ecx, edx xor edi, eax xor edi, ecx mov ebp, [52+esi] add ebx, edi mov edi, ecx rol ebx, 23 add ebx, ecx ; R2 40 xor edi, edx xor edi, ebx lea eax, [681279174+ebp*1+eax] add eax, edi rol eax, 4 mov ebp, [esi] mov edi, ebx ; R2 41 lea edx, [3936430074+ebp*1+edx] add eax, ebx xor edi, ecx xor edi, eax mov ebp, [12+esi] add edx, edi mov edi, eax rol edx, 11 add edx, eax ; R2 42 xor edi, ebx xor edi, edx lea ecx, [3572445317+ebp*1+ecx] add ecx, edi rol ecx, 16 mov ebp, [24+esi] mov edi, edx ; R2 43 lea ebx, [76029189+ebp*1+ebx] add ecx, edx xor edi, eax xor edi, ecx mov ebp, [36+esi] add ebx, edi mov edi, ecx rol ebx, 23 add ebx, ecx ; R2 44 xor edi, edx xor edi, ebx lea eax, [3654602809+ebp*1+eax] add eax, edi rol eax, 4 mov ebp, [48+esi] mov edi, ebx ; R2 45 lea edx, [3873151461+ebp*1+edx] add eax, ebx xor edi, ecx xor edi, eax mov ebp, [60+esi] add edx, edi mov edi, eax rol edx, 11 add edx, eax ; R2 46 xor edi, ebx xor edi, edx lea ecx, [530742520+ebp*1+ecx] add ecx, edi rol ecx, 16 mov ebp, [8+esi] mov edi, edx ; R2 47 lea ebx, [3299628645+ebp*1+ebx] add ecx, edx xor edi, eax xor edi, ecx mov ebp, [esi] add ebx, edi mov edi, -1 rol ebx, 23 add ebx, ecx ; ; R3 section ; R3 48 xor edi, edx or edi, ebx lea eax, [4096336452+ebp*1+eax] xor edi, ecx mov ebp, [28+esi] add eax, edi mov edi, -1 rol eax, 6 xor edi, ecx add eax, ebx ; R3 49 or edi, eax lea edx, [1126891415+ebp*1+edx] xor edi, ebx mov ebp, [56+esi] add edx, edi mov edi, -1 rol edx, 10 xor edi, ebx add edx, eax ; R3 50 or edi, edx lea ecx, [2878612391+ebp*1+ecx] xor edi, eax mov ebp, [20+esi] add ecx, edi mov edi, -1 rol ecx, 15 xor edi, eax add ecx, edx ; R3 51 or edi, ecx lea ebx, [4237533241+ebp*1+ebx] xor edi, edx mov ebp, [48+esi] add ebx, edi mov edi, -1 rol ebx, 21 xor edi, edx add ebx, ecx ; R3 52 or edi, ebx lea eax, [1700485571+ebp*1+eax] xor edi, ecx mov ebp, [12+esi] add eax, edi mov edi, -1 rol eax, 6 xor edi, ecx add eax, ebx ; R3 53 or edi, eax lea edx, [2399980690+ebp*1+edx] xor edi, ebx mov ebp, [40+esi] add edx, edi mov edi, -1 rol edx, 10 xor edi, ebx add edx, eax ; R3 54 or edi, edx lea ecx, [4293915773+ebp*1+ecx] xor edi, eax mov ebp, [4+esi] add ecx, edi mov edi, -1 rol ecx, 15 xor edi, eax add ecx, edx ; R3 55 or edi, ecx lea ebx, [2240044497+ebp*1+ebx] xor edi, edx mov ebp, [32+esi] add ebx, edi mov edi, -1 rol ebx, 21 xor edi, edx add ebx, ecx ; R3 56 or edi, ebx lea eax, [1873313359+ebp*1+eax] xor edi, ecx mov ebp, [60+esi] add eax, edi mov edi, -1 rol eax, 6 xor edi, ecx add eax, ebx ; R3 57 or edi, eax lea edx, [4264355552+ebp*1+edx] xor edi, ebx mov ebp, [24+esi] add edx, edi mov edi, -1 rol edx, 10 xor edi, ebx add edx, eax ; R3 58 or edi, edx lea ecx, [2734768916+ebp*1+ecx] xor edi, eax mov ebp, [52+esi] add ecx, edi mov edi, -1 rol ecx, 15 xor edi, eax add ecx, edx ; R3 59 or edi, ecx lea ebx, [1309151649+ebp*1+ebx] xor edi, edx mov ebp, [16+esi] add ebx, edi mov edi, -1 rol ebx, 21 xor edi, edx add ebx, ecx ; R3 60 or edi, ebx lea eax, [4149444226+ebp*1+eax] xor edi, ecx mov ebp, [44+esi] add eax, edi mov edi, -1 rol eax, 6 xor edi, ecx add eax, ebx ; R3 61 or edi, eax lea edx, [3174756917+ebp*1+edx] xor edi, ebx mov ebp, [8+esi] add edx, edi mov edi, -1 rol edx, 10 xor edi, ebx add edx, eax ; R3 62 or edi, edx lea ecx, [718787259+ebp*1+ecx] xor edi, eax mov ebp, [36+esi] add ecx, edi mov edi, -1 rol ecx, 15 xor edi, eax add ecx, edx ; R3 63 or edi, ecx lea ebx, [3951481745+ebp*1+ebx] xor edi, edx mov ebp, [24+esp] add ebx, edi add esi, 64 rol ebx, 21 mov edi, [ebp] add ebx, ecx add eax, edi mov edi, [4+ebp] add ebx, edi mov edi, [8+ebp] add ecx, edi mov edi, [12+ebp] add edx, edi mov [ebp], eax mov [4+ebp], ebx mov edi, [esp] mov [8+ebp], ecx mov [12+ebp], edx cmp edi, esi jge NEAR L000start pop eax pop ebx pop ebp pop edi pop esi ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -