diff options
Diffstat (limited to 'secure/lib/libcrypto/i386/crypt586.s')
-rw-r--r-- | secure/lib/libcrypto/i386/crypt586.s | 492 |
1 files changed, 223 insertions, 269 deletions
diff --git a/secure/lib/libcrypto/i386/crypt586.s b/secure/lib/libcrypto/i386/crypt586.s index e80834e..dc594e4 100644 --- a/secure/lib/libcrypto/i386/crypt586.s +++ b/secure/lib/libcrypto/i386/crypt586.s @@ -1,9 +1,9 @@ # $FreeBSD$ - # Dont even think of reading this code - # It was automatically generated by crypt586.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> + + + + + .file "crypt586.s" .version "01.01" @@ -19,18 +19,20 @@ fcrypt_body: pushl %edi - # Load the 2 words + xorl %edi, %edi xorl %esi, %esi - movl 24(%esp), %ebp + leal DES_SPtrans, %edx + pushl %edx + movl 28(%esp), %ebp pushl $25 .L000start: - # Round 0 - movl 32(%esp), %eax + + movl 36(%esp), %eax movl %esi, %edx shrl $16, %edx - movl 36(%esp), %ecx + movl 40(%esp), %ecx xorl %esi, %edx andl %edx, %eax andl %ecx, %edx @@ -53,37 +55,34 @@ fcrypt_body: movb %al, %bl movb %ah, %cl rorl $4, %edx - movl des_SPtrans(%ebx),%ebp + movl 4(%esp), %ebp + xorl (%ebp,%ebx),%edi movb %dl, %bl - xorl %ebp, %edi - movl 0x200+des_SPtrans(%ecx),%ebp - xorl %ebp, %edi + xorl 0x200(%ebp,%ecx),%edi movb %dh, %cl shrl $16, %eax - movl 0x100+des_SPtrans(%ebx),%ebp - xorl %ebp, %edi + xorl 0x100(%ebp,%ebx),%edi movb %ah, %bl shrl $16, %edx - movl 0x300+des_SPtrans(%ecx),%ebp - xorl %ebp, %edi - movl 28(%esp), %ebp + xorl 0x300(%ebp,%ecx),%edi movb %dh, %cl andl $0xff, %eax andl $0xff, %edx - movl 0x600+des_SPtrans(%ebx),%ebx + movl 0x600(%ebp,%ebx),%ebx xorl %ebx, %edi - movl 0x700+des_SPtrans(%ecx),%ebx + movl 0x700(%ebp,%ecx),%ebx xorl %ebx, %edi - movl 0x400+des_SPtrans(%eax),%ebx + movl 0x400(%ebp,%eax),%ebx xorl %ebx, %edi - movl 0x500+des_SPtrans(%edx),%ebx + movl 0x500(%ebp,%edx),%ebx xorl %ebx, %edi + movl 32(%esp), %ebp + - # Round 1 - movl 32(%esp), %eax + movl 36(%esp), %eax movl %edi, %edx shrl $16, %edx - movl 36(%esp), %ecx + movl 40(%esp), %ecx xorl %edi, %edx andl %edx, %eax andl %ecx, %edx @@ -106,37 +105,34 @@ fcrypt_body: movb %al, %bl movb %ah, %cl rorl $4, %edx - movl des_SPtrans(%ebx),%ebp + movl 4(%esp), %ebp + xorl (%ebp,%ebx),%esi movb %dl, %bl - xorl %ebp, %esi - movl 0x200+des_SPtrans(%ecx),%ebp - xorl %ebp, %esi + xorl 0x200(%ebp,%ecx),%esi movb %dh, %cl shrl $16, %eax - movl 0x100+des_SPtrans(%ebx),%ebp - xorl %ebp, %esi + xorl 0x100(%ebp,%ebx),%esi movb %ah, %bl shrl $16, %edx - movl 0x300+des_SPtrans(%ecx),%ebp - xorl %ebp, %esi - movl 28(%esp), %ebp + xorl 0x300(%ebp,%ecx),%esi movb %dh, %cl andl $0xff, %eax andl $0xff, %edx - movl 0x600+des_SPtrans(%ebx),%ebx + movl 0x600(%ebp,%ebx),%ebx xorl %ebx, %esi - movl 0x700+des_SPtrans(%ecx),%ebx + movl 0x700(%ebp,%ecx),%ebx xorl %ebx, %esi - movl 0x400+des_SPtrans(%eax),%ebx + movl 0x400(%ebp,%eax),%ebx xorl %ebx, %esi - movl 0x500+des_SPtrans(%edx),%ebx + movl 0x500(%ebp,%edx),%ebx xorl %ebx, %esi + movl 32(%esp), %ebp + - # Round 2 - movl 32(%esp), %eax + movl 36(%esp), %eax movl %esi, %edx shrl $16, %edx - movl 36(%esp), %ecx + movl 40(%esp), %ecx xorl %esi, %edx andl %edx, %eax andl %ecx, %edx @@ -159,37 +155,34 @@ fcrypt_body: movb %al, %bl movb %ah, %cl rorl $4, %edx - movl des_SPtrans(%ebx),%ebp + movl 4(%esp), %ebp + xorl (%ebp,%ebx),%edi movb %dl, %bl - xorl %ebp, %edi - movl 0x200+des_SPtrans(%ecx),%ebp - xorl %ebp, %edi + xorl 0x200(%ebp,%ecx),%edi movb %dh, %cl shrl $16, %eax - movl 0x100+des_SPtrans(%ebx),%ebp - xorl %ebp, %edi + xorl 0x100(%ebp,%ebx),%edi movb %ah, %bl shrl $16, %edx - movl 0x300+des_SPtrans(%ecx),%ebp - xorl %ebp, %edi - movl 28(%esp), %ebp + xorl 0x300(%ebp,%ecx),%edi movb %dh, %cl andl $0xff, %eax andl $0xff, %edx - movl 0x600+des_SPtrans(%ebx),%ebx + movl 0x600(%ebp,%ebx),%ebx xorl %ebx, %edi - movl 0x700+des_SPtrans(%ecx),%ebx + movl 0x700(%ebp,%ecx),%ebx xorl %ebx, %edi - movl 0x400+des_SPtrans(%eax),%ebx + movl 0x400(%ebp,%eax),%ebx xorl %ebx, %edi - movl 0x500+des_SPtrans(%edx),%ebx + movl 0x500(%ebp,%edx),%ebx xorl %ebx, %edi + movl 32(%esp), %ebp - # Round 3 - movl 32(%esp), %eax + + movl 36(%esp), %eax movl %edi, %edx shrl $16, %edx - movl 36(%esp), %ecx + movl 40(%esp), %ecx xorl %edi, %edx andl %edx, %eax andl %ecx, %edx @@ -212,37 +205,34 @@ fcrypt_body: movb %al, %bl movb %ah, %cl rorl $4, %edx - movl des_SPtrans(%ebx),%ebp + movl 4(%esp), %ebp + xorl (%ebp,%ebx),%esi movb %dl, %bl - xorl %ebp, %esi - movl 0x200+des_SPtrans(%ecx),%ebp - xorl %ebp, %esi + xorl 0x200(%ebp,%ecx),%esi movb %dh, %cl shrl $16, %eax - movl 0x100+des_SPtrans(%ebx),%ebp - xorl %ebp, %esi + xorl 0x100(%ebp,%ebx),%esi movb %ah, %bl shrl $16, %edx - movl 0x300+des_SPtrans(%ecx),%ebp - xorl %ebp, %esi - movl 28(%esp), %ebp + xorl 0x300(%ebp,%ecx),%esi movb %dh, %cl andl $0xff, %eax andl $0xff, %edx - movl 0x600+des_SPtrans(%ebx),%ebx + movl 0x600(%ebp,%ebx),%ebx xorl %ebx, %esi - movl 0x700+des_SPtrans(%ecx),%ebx + movl 0x700(%ebp,%ecx),%ebx xorl %ebx, %esi - movl 0x400+des_SPtrans(%eax),%ebx + movl 0x400(%ebp,%eax),%ebx xorl %ebx, %esi - movl 0x500+des_SPtrans(%edx),%ebx + movl 0x500(%ebp,%edx),%ebx xorl %ebx, %esi + movl 32(%esp), %ebp - # Round 4 - movl 32(%esp), %eax + + movl 36(%esp), %eax movl %esi, %edx shrl $16, %edx - movl 36(%esp), %ecx + movl 40(%esp), %ecx xorl %esi, %edx andl %edx, %eax andl %ecx, %edx @@ -265,37 +255,34 @@ fcrypt_body: movb %al, %bl movb %ah, %cl rorl $4, %edx - movl des_SPtrans(%ebx),%ebp + movl 4(%esp), %ebp + xorl (%ebp,%ebx),%edi movb %dl, %bl - xorl %ebp, %edi - movl 0x200+des_SPtrans(%ecx),%ebp - xorl %ebp, %edi + xorl 0x200(%ebp,%ecx),%edi movb %dh, %cl shrl $16, %eax - movl 0x100+des_SPtrans(%ebx),%ebp - xorl %ebp, %edi + xorl 0x100(%ebp,%ebx),%edi movb %ah, %bl shrl $16, %edx - movl 0x300+des_SPtrans(%ecx),%ebp - xorl %ebp, %edi - movl 28(%esp), %ebp + xorl 0x300(%ebp,%ecx),%edi movb %dh, %cl andl $0xff, %eax andl $0xff, %edx - movl 0x600+des_SPtrans(%ebx),%ebx + movl 0x600(%ebp,%ebx),%ebx xorl %ebx, %edi - movl 0x700+des_SPtrans(%ecx),%ebx + movl 0x700(%ebp,%ecx),%ebx xorl %ebx, %edi - movl 0x400+des_SPtrans(%eax),%ebx + movl 0x400(%ebp,%eax),%ebx xorl %ebx, %edi - movl 0x500+des_SPtrans(%edx),%ebx + movl 0x500(%ebp,%edx),%ebx xorl %ebx, %edi + movl 32(%esp), %ebp + - # Round 5 - movl 32(%esp), %eax + movl 36(%esp), %eax movl %edi, %edx shrl $16, %edx - movl 36(%esp), %ecx + movl 40(%esp), %ecx xorl %edi, %edx andl %edx, %eax andl %ecx, %edx @@ -318,37 +305,34 @@ fcrypt_body: movb %al, %bl movb %ah, %cl rorl $4, %edx - movl des_SPtrans(%ebx),%ebp + movl 4(%esp), %ebp + xorl (%ebp,%ebx),%esi movb %dl, %bl - xorl %ebp, %esi - movl 0x200+des_SPtrans(%ecx),%ebp - xorl %ebp, %esi + xorl 0x200(%ebp,%ecx),%esi movb %dh, %cl shrl $16, %eax - movl 0x100+des_SPtrans(%ebx),%ebp - xorl %ebp, %esi + xorl 0x100(%ebp,%ebx),%esi movb %ah, %bl shrl $16, %edx - movl 0x300+des_SPtrans(%ecx),%ebp - xorl %ebp, %esi - movl 28(%esp), %ebp + xorl 0x300(%ebp,%ecx),%esi movb %dh, %cl andl $0xff, %eax andl $0xff, %edx - movl 0x600+des_SPtrans(%ebx),%ebx + movl 0x600(%ebp,%ebx),%ebx xorl %ebx, %esi - movl 0x700+des_SPtrans(%ecx),%ebx + movl 0x700(%ebp,%ecx),%ebx xorl %ebx, %esi - movl 0x400+des_SPtrans(%eax),%ebx + movl 0x400(%ebp,%eax),%ebx xorl %ebx, %esi - movl 0x500+des_SPtrans(%edx),%ebx + movl 0x500(%ebp,%edx),%ebx xorl %ebx, %esi + movl 32(%esp), %ebp + - # Round 6 - movl 32(%esp), %eax + movl 36(%esp), %eax movl %esi, %edx shrl $16, %edx - movl 36(%esp), %ecx + movl 40(%esp), %ecx xorl %esi, %edx andl %edx, %eax andl %ecx, %edx @@ -371,37 +355,34 @@ fcrypt_body: movb %al, %bl movb %ah, %cl rorl $4, %edx - movl des_SPtrans(%ebx),%ebp + movl 4(%esp), %ebp + xorl (%ebp,%ebx),%edi movb %dl, %bl - xorl %ebp, %edi - movl 0x200+des_SPtrans(%ecx),%ebp - xorl %ebp, %edi + xorl 0x200(%ebp,%ecx),%edi movb %dh, %cl shrl $16, %eax - movl 0x100+des_SPtrans(%ebx),%ebp - xorl %ebp, %edi + xorl 0x100(%ebp,%ebx),%edi movb %ah, %bl shrl $16, %edx - movl 0x300+des_SPtrans(%ecx),%ebp - xorl %ebp, %edi - movl 28(%esp), %ebp + xorl 0x300(%ebp,%ecx),%edi movb %dh, %cl andl $0xff, %eax andl $0xff, %edx - movl 0x600+des_SPtrans(%ebx),%ebx + movl 0x600(%ebp,%ebx),%ebx xorl %ebx, %edi - movl 0x700+des_SPtrans(%ecx),%ebx + movl 0x700(%ebp,%ecx),%ebx xorl %ebx, %edi - movl 0x400+des_SPtrans(%eax),%ebx + movl 0x400(%ebp,%eax),%ebx xorl %ebx, %edi - movl 0x500+des_SPtrans(%edx),%ebx + movl 0x500(%ebp,%edx),%ebx xorl %ebx, %edi + movl 32(%esp), %ebp + - # Round 7 - movl 32(%esp), %eax + movl 36(%esp), %eax movl %edi, %edx shrl $16, %edx - movl 36(%esp), %ecx + movl 40(%esp), %ecx xorl %edi, %edx andl %edx, %eax andl %ecx, %edx @@ -424,37 +405,34 @@ fcrypt_body: movb %al, %bl movb %ah, %cl rorl $4, %edx - movl des_SPtrans(%ebx),%ebp + movl 4(%esp), %ebp + xorl (%ebp,%ebx),%esi movb %dl, %bl - xorl %ebp, %esi - movl 0x200+des_SPtrans(%ecx),%ebp - xorl %ebp, %esi + xorl 0x200(%ebp,%ecx),%esi movb %dh, %cl shrl $16, %eax - movl 0x100+des_SPtrans(%ebx),%ebp - xorl %ebp, %esi + xorl 0x100(%ebp,%ebx),%esi movb %ah, %bl shrl $16, %edx - movl 0x300+des_SPtrans(%ecx),%ebp - xorl %ebp, %esi - movl 28(%esp), %ebp + xorl 0x300(%ebp,%ecx),%esi movb %dh, %cl andl $0xff, %eax andl $0xff, %edx - movl 0x600+des_SPtrans(%ebx),%ebx + movl 0x600(%ebp,%ebx),%ebx xorl %ebx, %esi - movl 0x700+des_SPtrans(%ecx),%ebx + movl 0x700(%ebp,%ecx),%ebx xorl %ebx, %esi - movl 0x400+des_SPtrans(%eax),%ebx + movl 0x400(%ebp,%eax),%ebx xorl %ebx, %esi - movl 0x500+des_SPtrans(%edx),%ebx + movl 0x500(%ebp,%edx),%ebx xorl %ebx, %esi + movl 32(%esp), %ebp - # Round 8 - movl 32(%esp), %eax + + movl 36(%esp), %eax movl %esi, %edx shrl $16, %edx - movl 36(%esp), %ecx + movl 40(%esp), %ecx xorl %esi, %edx andl %edx, %eax andl %ecx, %edx @@ -477,37 +455,34 @@ fcrypt_body: movb %al, %bl movb %ah, %cl rorl $4, %edx - movl des_SPtrans(%ebx),%ebp + movl 4(%esp), %ebp + xorl (%ebp,%ebx),%edi movb %dl, %bl - xorl %ebp, %edi - movl 0x200+des_SPtrans(%ecx),%ebp - xorl %ebp, %edi + xorl 0x200(%ebp,%ecx),%edi movb %dh, %cl shrl $16, %eax - movl 0x100+des_SPtrans(%ebx),%ebp - xorl %ebp, %edi + xorl 0x100(%ebp,%ebx),%edi movb %ah, %bl shrl $16, %edx - movl 0x300+des_SPtrans(%ecx),%ebp - xorl %ebp, %edi - movl 28(%esp), %ebp + xorl 0x300(%ebp,%ecx),%edi movb %dh, %cl andl $0xff, %eax andl $0xff, %edx - movl 0x600+des_SPtrans(%ebx),%ebx + movl 0x600(%ebp,%ebx),%ebx xorl %ebx, %edi - movl 0x700+des_SPtrans(%ecx),%ebx + movl 0x700(%ebp,%ecx),%ebx xorl %ebx, %edi - movl 0x400+des_SPtrans(%eax),%ebx + movl 0x400(%ebp,%eax),%ebx xorl %ebx, %edi - movl 0x500+des_SPtrans(%edx),%ebx + movl 0x500(%ebp,%edx),%ebx xorl %ebx, %edi + movl 32(%esp), %ebp - # Round 9 - movl 32(%esp), %eax + + movl 36(%esp), %eax movl %edi, %edx shrl $16, %edx - movl 36(%esp), %ecx + movl 40(%esp), %ecx xorl %edi, %edx andl %edx, %eax andl %ecx, %edx @@ -530,37 +505,34 @@ fcrypt_body: movb %al, %bl movb %ah, %cl rorl $4, %edx - movl des_SPtrans(%ebx),%ebp + movl 4(%esp), %ebp + xorl (%ebp,%ebx),%esi movb %dl, %bl - xorl %ebp, %esi - movl 0x200+des_SPtrans(%ecx),%ebp - xorl %ebp, %esi + xorl 0x200(%ebp,%ecx),%esi movb %dh, %cl shrl $16, %eax - movl 0x100+des_SPtrans(%ebx),%ebp - xorl %ebp, %esi + xorl 0x100(%ebp,%ebx),%esi movb %ah, %bl shrl $16, %edx - movl 0x300+des_SPtrans(%ecx),%ebp - xorl %ebp, %esi - movl 28(%esp), %ebp + xorl 0x300(%ebp,%ecx),%esi movb %dh, %cl andl $0xff, %eax andl $0xff, %edx - movl 0x600+des_SPtrans(%ebx),%ebx + movl 0x600(%ebp,%ebx),%ebx xorl %ebx, %esi - movl 0x700+des_SPtrans(%ecx),%ebx + movl 0x700(%ebp,%ecx),%ebx xorl %ebx, %esi - movl 0x400+des_SPtrans(%eax),%ebx + movl 0x400(%ebp,%eax),%ebx xorl %ebx, %esi - movl 0x500+des_SPtrans(%edx),%ebx + movl 0x500(%ebp,%edx),%ebx xorl %ebx, %esi + movl 32(%esp), %ebp + - # Round 10 - movl 32(%esp), %eax + movl 36(%esp), %eax movl %esi, %edx shrl $16, %edx - movl 36(%esp), %ecx + movl 40(%esp), %ecx xorl %esi, %edx andl %edx, %eax andl %ecx, %edx @@ -583,37 +555,34 @@ fcrypt_body: movb %al, %bl movb %ah, %cl rorl $4, %edx - movl des_SPtrans(%ebx),%ebp + movl 4(%esp), %ebp + xorl (%ebp,%ebx),%edi movb %dl, %bl - xorl %ebp, %edi - movl 0x200+des_SPtrans(%ecx),%ebp - xorl %ebp, %edi + xorl 0x200(%ebp,%ecx),%edi movb %dh, %cl shrl $16, %eax - movl 0x100+des_SPtrans(%ebx),%ebp - xorl %ebp, %edi + xorl 0x100(%ebp,%ebx),%edi movb %ah, %bl shrl $16, %edx - movl 0x300+des_SPtrans(%ecx),%ebp - xorl %ebp, %edi - movl 28(%esp), %ebp + xorl 0x300(%ebp,%ecx),%edi movb %dh, %cl andl $0xff, %eax andl $0xff, %edx - movl 0x600+des_SPtrans(%ebx),%ebx + movl 0x600(%ebp,%ebx),%ebx xorl %ebx, %edi - movl 0x700+des_SPtrans(%ecx),%ebx + movl 0x700(%ebp,%ecx),%ebx xorl %ebx, %edi - movl 0x400+des_SPtrans(%eax),%ebx + movl 0x400(%ebp,%eax),%ebx xorl %ebx, %edi - movl 0x500+des_SPtrans(%edx),%ebx + movl 0x500(%ebp,%edx),%ebx xorl %ebx, %edi + movl 32(%esp), %ebp + - # Round 11 - movl 32(%esp), %eax + movl 36(%esp), %eax movl %edi, %edx shrl $16, %edx - movl 36(%esp), %ecx + movl 40(%esp), %ecx xorl %edi, %edx andl %edx, %eax andl %ecx, %edx @@ -636,37 +605,34 @@ fcrypt_body: movb %al, %bl movb %ah, %cl rorl $4, %edx - movl des_SPtrans(%ebx),%ebp + movl 4(%esp), %ebp + xorl (%ebp,%ebx),%esi movb %dl, %bl - xorl %ebp, %esi - movl 0x200+des_SPtrans(%ecx),%ebp - xorl %ebp, %esi + xorl 0x200(%ebp,%ecx),%esi movb %dh, %cl shrl $16, %eax - movl 0x100+des_SPtrans(%ebx),%ebp - xorl %ebp, %esi + xorl 0x100(%ebp,%ebx),%esi movb %ah, %bl shrl $16, %edx - movl 0x300+des_SPtrans(%ecx),%ebp - xorl %ebp, %esi - movl 28(%esp), %ebp + xorl 0x300(%ebp,%ecx),%esi movb %dh, %cl andl $0xff, %eax andl $0xff, %edx - movl 0x600+des_SPtrans(%ebx),%ebx + movl 0x600(%ebp,%ebx),%ebx xorl %ebx, %esi - movl 0x700+des_SPtrans(%ecx),%ebx + movl 0x700(%ebp,%ecx),%ebx xorl %ebx, %esi - movl 0x400+des_SPtrans(%eax),%ebx + movl 0x400(%ebp,%eax),%ebx xorl %ebx, %esi - movl 0x500+des_SPtrans(%edx),%ebx + movl 0x500(%ebp,%edx),%ebx xorl %ebx, %esi + movl 32(%esp), %ebp + - # Round 12 - movl 32(%esp), %eax + movl 36(%esp), %eax movl %esi, %edx shrl $16, %edx - movl 36(%esp), %ecx + movl 40(%esp), %ecx xorl %esi, %edx andl %edx, %eax andl %ecx, %edx @@ -689,37 +655,34 @@ fcrypt_body: movb %al, %bl movb %ah, %cl rorl $4, %edx - movl des_SPtrans(%ebx),%ebp + movl 4(%esp), %ebp + xorl (%ebp,%ebx),%edi movb %dl, %bl - xorl %ebp, %edi - movl 0x200+des_SPtrans(%ecx),%ebp - xorl %ebp, %edi + xorl 0x200(%ebp,%ecx),%edi movb %dh, %cl shrl $16, %eax - movl 0x100+des_SPtrans(%ebx),%ebp - xorl %ebp, %edi + xorl 0x100(%ebp,%ebx),%edi movb %ah, %bl shrl $16, %edx - movl 0x300+des_SPtrans(%ecx),%ebp - xorl %ebp, %edi - movl 28(%esp), %ebp + xorl 0x300(%ebp,%ecx),%edi movb %dh, %cl andl $0xff, %eax andl $0xff, %edx - movl 0x600+des_SPtrans(%ebx),%ebx + movl 0x600(%ebp,%ebx),%ebx xorl %ebx, %edi - movl 0x700+des_SPtrans(%ecx),%ebx + movl 0x700(%ebp,%ecx),%ebx xorl %ebx, %edi - movl 0x400+des_SPtrans(%eax),%ebx + movl 0x400(%ebp,%eax),%ebx xorl %ebx, %edi - movl 0x500+des_SPtrans(%edx),%ebx + movl 0x500(%ebp,%edx),%ebx xorl %ebx, %edi + movl 32(%esp), %ebp - # Round 13 - movl 32(%esp), %eax + + movl 36(%esp), %eax movl %edi, %edx shrl $16, %edx - movl 36(%esp), %ecx + movl 40(%esp), %ecx xorl %edi, %edx andl %edx, %eax andl %ecx, %edx @@ -742,37 +705,34 @@ fcrypt_body: movb %al, %bl movb %ah, %cl rorl $4, %edx - movl des_SPtrans(%ebx),%ebp + movl 4(%esp), %ebp + xorl (%ebp,%ebx),%esi movb %dl, %bl - xorl %ebp, %esi - movl 0x200+des_SPtrans(%ecx),%ebp - xorl %ebp, %esi + xorl 0x200(%ebp,%ecx),%esi movb %dh, %cl shrl $16, %eax - movl 0x100+des_SPtrans(%ebx),%ebp - xorl %ebp, %esi + xorl 0x100(%ebp,%ebx),%esi movb %ah, %bl shrl $16, %edx - movl 0x300+des_SPtrans(%ecx),%ebp - xorl %ebp, %esi - movl 28(%esp), %ebp + xorl 0x300(%ebp,%ecx),%esi movb %dh, %cl andl $0xff, %eax andl $0xff, %edx - movl 0x600+des_SPtrans(%ebx),%ebx + movl 0x600(%ebp,%ebx),%ebx xorl %ebx, %esi - movl 0x700+des_SPtrans(%ecx),%ebx + movl 0x700(%ebp,%ecx),%ebx xorl %ebx, %esi - movl 0x400+des_SPtrans(%eax),%ebx + movl 0x400(%ebp,%eax),%ebx xorl %ebx, %esi - movl 0x500+des_SPtrans(%edx),%ebx + movl 0x500(%ebp,%edx),%ebx xorl %ebx, %esi + movl 32(%esp), %ebp - # Round 14 - movl 32(%esp), %eax + + movl 36(%esp), %eax movl %esi, %edx shrl $16, %edx - movl 36(%esp), %ecx + movl 40(%esp), %ecx xorl %esi, %edx andl %edx, %eax andl %ecx, %edx @@ -795,37 +755,34 @@ fcrypt_body: movb %al, %bl movb %ah, %cl rorl $4, %edx - movl des_SPtrans(%ebx),%ebp + movl 4(%esp), %ebp + xorl (%ebp,%ebx),%edi movb %dl, %bl - xorl %ebp, %edi - movl 0x200+des_SPtrans(%ecx),%ebp - xorl %ebp, %edi + xorl 0x200(%ebp,%ecx),%edi movb %dh, %cl shrl $16, %eax - movl 0x100+des_SPtrans(%ebx),%ebp - xorl %ebp, %edi + xorl 0x100(%ebp,%ebx),%edi movb %ah, %bl shrl $16, %edx - movl 0x300+des_SPtrans(%ecx),%ebp - xorl %ebp, %edi - movl 28(%esp), %ebp + xorl 0x300(%ebp,%ecx),%edi movb %dh, %cl andl $0xff, %eax andl $0xff, %edx - movl 0x600+des_SPtrans(%ebx),%ebx + movl 0x600(%ebp,%ebx),%ebx xorl %ebx, %edi - movl 0x700+des_SPtrans(%ecx),%ebx + movl 0x700(%ebp,%ecx),%ebx xorl %ebx, %edi - movl 0x400+des_SPtrans(%eax),%ebx + movl 0x400(%ebp,%eax),%ebx xorl %ebx, %edi - movl 0x500+des_SPtrans(%edx),%ebx + movl 0x500(%ebp,%edx),%ebx xorl %ebx, %edi + movl 32(%esp), %ebp + - # Round 15 - movl 32(%esp), %eax + movl 36(%esp), %eax movl %edi, %edx shrl $16, %edx - movl 36(%esp), %ecx + movl 40(%esp), %ecx xorl %edi, %edx andl %edx, %eax andl %ecx, %edx @@ -848,31 +805,28 @@ fcrypt_body: movb %al, %bl movb %ah, %cl rorl $4, %edx - movl des_SPtrans(%ebx),%ebp + movl 4(%esp), %ebp + xorl (%ebp,%ebx),%esi movb %dl, %bl - xorl %ebp, %esi - movl 0x200+des_SPtrans(%ecx),%ebp - xorl %ebp, %esi + xorl 0x200(%ebp,%ecx),%esi movb %dh, %cl shrl $16, %eax - movl 0x100+des_SPtrans(%ebx),%ebp - xorl %ebp, %esi + xorl 0x100(%ebp,%ebx),%esi movb %ah, %bl shrl $16, %edx - movl 0x300+des_SPtrans(%ecx),%ebp - xorl %ebp, %esi - movl 28(%esp), %ebp + xorl 0x300(%ebp,%ecx),%esi movb %dh, %cl andl $0xff, %eax andl $0xff, %edx - movl 0x600+des_SPtrans(%ebx),%ebx + movl 0x600(%ebp,%ebx),%ebx xorl %ebx, %esi - movl 0x700+des_SPtrans(%ecx),%ebx + movl 0x700(%ebp,%ecx),%ebx xorl %ebx, %esi - movl 0x400+des_SPtrans(%eax),%ebx + movl 0x400(%ebp,%eax),%ebx xorl %ebx, %esi - movl 0x500+des_SPtrans(%edx),%ebx + movl 0x500(%ebp,%edx),%ebx xorl %ebx, %esi + movl 32(%esp), %ebp movl (%esp), %ebx movl %edi, %eax decl %ebx @@ -881,10 +835,10 @@ fcrypt_body: movl %ebx, (%esp) jnz .L000start - # FP - movl 24(%esp), %edx + + movl 28(%esp), %edx .byte 209 -.byte 207 # rorl $1 %edi +.byte 207 movl %esi, %eax xorl %edi, %esi andl $0xaaaaaaaa, %esi @@ -922,12 +876,12 @@ fcrypt_body: rorl $4, %eax movl %eax, (%edx) movl %edi, 4(%edx) - popl %ecx + addl $8, %esp popl %edi popl %esi popl %ebx popl %ebp ret -.fcrypt_body_end: - .size fcrypt_body,.fcrypt_body_end-fcrypt_body +.L_fcrypt_body_end: + .size fcrypt_body,.L_fcrypt_body_end-fcrypt_body .ident "fcrypt_body" |