Remove obsolete files.
authorUlf Möller <ulf@openssl.org>
Thu, 1 Apr 1999 13:34:22 +0000 (13:34 +0000)
committerUlf Möller <ulf@openssl.org>
Thu, 1 Apr 1999 13:34:22 +0000 (13:34 +0000)
crypto/des/asm/c-win32.asm [deleted file]
crypto/des/asm/c-win32.uu [deleted file]
crypto/des/asm/crypt.pl [deleted file]
crypto/des/asm/cx86-cpp.s [deleted file]
crypto/des/asm/d-win32.uu [deleted file]
crypto/des/asm/des-som2.pl [deleted file]
crypto/des/asm/des-som3.pl [deleted file]
crypto/des/asm/des586.pl [deleted file]
crypto/des/asm/dx86-cpp.s [deleted file]
crypto/des/asm/f.cpp [deleted file]

diff --git a/crypto/des/asm/c-win32.asm b/crypto/des/asm/c-win32.asm
deleted file mode 100644 (file)
index b7460b8..0000000
+++ /dev/null
@@ -1,929 +0,0 @@
-       ; Don't even think of reading this code
-       ; It was automatically generated by crypt.pl
-       ; Which is a perl program used to generate the x86 assember for
-       ; any of elf, a.out, Win32, or Solaris
-       ; It can be found in SSLeay 0.6.5+ or in libdes 3.26+
-       ; eric <eay@cryptsoft.com>
-       ; The inner loop instruction sequence and the IP/FP modifications
-       ; are from Svend Olaf Mikkelsen <svolaf@inet.uni-c.dk>
-       ; 
-       TITLE   dx86xxxx.asm
-        .386
-.model FLAT
-_TEXT  SEGMENT
-PUBLIC _fcrypt_body
-EXTRN  _des_SPtrans:DWORD
-_fcrypt_body PROC NEAR
-       push    ebp
-       push    ebx
-       push    esi
-       push    edi
-       ; 
-       ; Load the 2 words
-       xor     edi,            edi
-       xor     esi,            esi
-       mov     ebp,            DWORD PTR 24[esp]
-       mov     DWORD PTR 36[esp],25
-L000start:
-       ; 
-       ; Round 0
-       mov     eax,            DWORD PTR 28[esp]
-       mov     edx,            esi
-       shr     edx,            16
-       mov     ecx,            DWORD PTR 32[esp]
-       xor     edx,            esi
-       and     eax,            edx
-       and     edx,            ecx
-       mov     ebx,            eax
-       shl     ebx,            16
-       mov     ecx,            edx
-       shl     ecx,            16
-       xor     eax,            ebx
-       xor     edx,            ecx
-       mov     ebx,            DWORD PTR [ebp]
-       xor     eax,            ebx
-       mov     ecx,            DWORD PTR 4[ebp]
-       xor     eax,            esi
-       xor     edx,            esi
-       xor     edx,            ecx
-       and     eax,            0fcfcfcfch
-       xor     ebx,            ebx
-       and     edx,            0cfcfcfcfh
-       xor     ecx,            ecx
-       mov     bl,             al
-       mov     cl,             ah
-       ror     edx,            4
-       mov     ebp,            DWORD PTR _des_SPtrans[ebx]
-       mov     bl,             dl
-       xor     edi,            ebp
-       mov     ebp,            DWORD PTR _des_SPtrans[0200h+ecx]
-       xor     edi,            ebp
-       mov     cl,             dh
-       shr     eax,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0100h+ebx]
-       xor     edi,            ebp
-       mov     bl,             ah
-       shr     edx,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0300h+ecx]
-       xor     edi,            ebp
-       mov     ebp,            DWORD PTR 24[esp]
-       mov     cl,             dh
-       and     eax,            0ffh
-       and     edx,            0ffh
-       mov     ebx,            DWORD PTR _des_SPtrans[0600h+ebx]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0700h+ecx]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0400h+eax]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0500h+edx]
-       xor     edi,            ebx
-       ; 
-       ; Round 1
-       mov     eax,            DWORD PTR 28[esp]
-       mov     edx,            edi
-       shr     edx,            16
-       mov     ecx,            DWORD PTR 32[esp]
-       xor     edx,            edi
-       and     eax,            edx
-       and     edx,            ecx
-       mov     ebx,            eax
-       shl     ebx,            16
-       mov     ecx,            edx
-       shl     ecx,            16
-       xor     eax,            ebx
-       xor     edx,            ecx
-       mov     ebx,            DWORD PTR 8[ebp]
-       xor     eax,            ebx
-       mov     ecx,            DWORD PTR 12[ebp]
-       xor     eax,            edi
-       xor     edx,            edi
-       xor     edx,            ecx
-       and     eax,            0fcfcfcfch
-       xor     ebx,            ebx
-       and     edx,            0cfcfcfcfh
-       xor     ecx,            ecx
-       mov     bl,             al
-       mov     cl,             ah
-       ror     edx,            4
-       mov     ebp,            DWORD PTR _des_SPtrans[ebx]
-       mov     bl,             dl
-       xor     esi,            ebp
-       mov     ebp,            DWORD PTR _des_SPtrans[0200h+ecx]
-       xor     esi,            ebp
-       mov     cl,             dh
-       shr     eax,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0100h+ebx]
-       xor     esi,            ebp
-       mov     bl,             ah
-       shr     edx,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0300h+ecx]
-       xor     esi,            ebp
-       mov     ebp,            DWORD PTR 24[esp]
-       mov     cl,             dh
-       and     eax,            0ffh
-       and     edx,            0ffh
-       mov     ebx,            DWORD PTR _des_SPtrans[0600h+ebx]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0700h+ecx]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0400h+eax]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0500h+edx]
-       xor     esi,            ebx
-       ; 
-       ; Round 2
-       mov     eax,            DWORD PTR 28[esp]
-       mov     edx,            esi
-       shr     edx,            16
-       mov     ecx,            DWORD PTR 32[esp]
-       xor     edx,            esi
-       and     eax,            edx
-       and     edx,            ecx
-       mov     ebx,            eax
-       shl     ebx,            16
-       mov     ecx,            edx
-       shl     ecx,            16
-       xor     eax,            ebx
-       xor     edx,            ecx
-       mov     ebx,            DWORD PTR 16[ebp]
-       xor     eax,            ebx
-       mov     ecx,            DWORD PTR 20[ebp]
-       xor     eax,            esi
-       xor     edx,            esi
-       xor     edx,            ecx
-       and     eax,            0fcfcfcfch
-       xor     ebx,            ebx
-       and     edx,            0cfcfcfcfh
-       xor     ecx,            ecx
-       mov     bl,             al
-       mov     cl,             ah
-       ror     edx,            4
-       mov     ebp,            DWORD PTR _des_SPtrans[ebx]
-       mov     bl,             dl
-       xor     edi,            ebp
-       mov     ebp,            DWORD PTR _des_SPtrans[0200h+ecx]
-       xor     edi,            ebp
-       mov     cl,             dh
-       shr     eax,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0100h+ebx]
-       xor     edi,            ebp
-       mov     bl,             ah
-       shr     edx,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0300h+ecx]
-       xor     edi,            ebp
-       mov     ebp,            DWORD PTR 24[esp]
-       mov     cl,             dh
-       and     eax,            0ffh
-       and     edx,            0ffh
-       mov     ebx,            DWORD PTR _des_SPtrans[0600h+ebx]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0700h+ecx]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0400h+eax]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0500h+edx]
-       xor     edi,            ebx
-       ; 
-       ; Round 3
-       mov     eax,            DWORD PTR 28[esp]
-       mov     edx,            edi
-       shr     edx,            16
-       mov     ecx,            DWORD PTR 32[esp]
-       xor     edx,            edi
-       and     eax,            edx
-       and     edx,            ecx
-       mov     ebx,            eax
-       shl     ebx,            16
-       mov     ecx,            edx
-       shl     ecx,            16
-       xor     eax,            ebx
-       xor     edx,            ecx
-       mov     ebx,            DWORD PTR 24[ebp]
-       xor     eax,            ebx
-       mov     ecx,            DWORD PTR 28[ebp]
-       xor     eax,            edi
-       xor     edx,            edi
-       xor     edx,            ecx
-       and     eax,            0fcfcfcfch
-       xor     ebx,            ebx
-       and     edx,            0cfcfcfcfh
-       xor     ecx,            ecx
-       mov     bl,             al
-       mov     cl,             ah
-       ror     edx,            4
-       mov     ebp,            DWORD PTR _des_SPtrans[ebx]
-       mov     bl,             dl
-       xor     esi,            ebp
-       mov     ebp,            DWORD PTR _des_SPtrans[0200h+ecx]
-       xor     esi,            ebp
-       mov     cl,             dh
-       shr     eax,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0100h+ebx]
-       xor     esi,            ebp
-       mov     bl,             ah
-       shr     edx,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0300h+ecx]
-       xor     esi,            ebp
-       mov     ebp,            DWORD PTR 24[esp]
-       mov     cl,             dh
-       and     eax,            0ffh
-       and     edx,            0ffh
-       mov     ebx,            DWORD PTR _des_SPtrans[0600h+ebx]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0700h+ecx]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0400h+eax]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0500h+edx]
-       xor     esi,            ebx
-       ; 
-       ; Round 4
-       mov     eax,            DWORD PTR 28[esp]
-       mov     edx,            esi
-       shr     edx,            16
-       mov     ecx,            DWORD PTR 32[esp]
-       xor     edx,            esi
-       and     eax,            edx
-       and     edx,            ecx
-       mov     ebx,            eax
-       shl     ebx,            16
-       mov     ecx,            edx
-       shl     ecx,            16
-       xor     eax,            ebx
-       xor     edx,            ecx
-       mov     ebx,            DWORD PTR 32[ebp]
-       xor     eax,            ebx
-       mov     ecx,            DWORD PTR 36[ebp]
-       xor     eax,            esi
-       xor     edx,            esi
-       xor     edx,            ecx
-       and     eax,            0fcfcfcfch
-       xor     ebx,            ebx
-       and     edx,            0cfcfcfcfh
-       xor     ecx,            ecx
-       mov     bl,             al
-       mov     cl,             ah
-       ror     edx,            4
-       mov     ebp,            DWORD PTR _des_SPtrans[ebx]
-       mov     bl,             dl
-       xor     edi,            ebp
-       mov     ebp,            DWORD PTR _des_SPtrans[0200h+ecx]
-       xor     edi,            ebp
-       mov     cl,             dh
-       shr     eax,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0100h+ebx]
-       xor     edi,            ebp
-       mov     bl,             ah
-       shr     edx,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0300h+ecx]
-       xor     edi,            ebp
-       mov     ebp,            DWORD PTR 24[esp]
-       mov     cl,             dh
-       and     eax,            0ffh
-       and     edx,            0ffh
-       mov     ebx,            DWORD PTR _des_SPtrans[0600h+ebx]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0700h+ecx]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0400h+eax]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0500h+edx]
-       xor     edi,            ebx
-       ; 
-       ; Round 5
-       mov     eax,            DWORD PTR 28[esp]
-       mov     edx,            edi
-       shr     edx,            16
-       mov     ecx,            DWORD PTR 32[esp]
-       xor     edx,            edi
-       and     eax,            edx
-       and     edx,            ecx
-       mov     ebx,            eax
-       shl     ebx,            16
-       mov     ecx,            edx
-       shl     ecx,            16
-       xor     eax,            ebx
-       xor     edx,            ecx
-       mov     ebx,            DWORD PTR 40[ebp]
-       xor     eax,            ebx
-       mov     ecx,            DWORD PTR 44[ebp]
-       xor     eax,            edi
-       xor     edx,            edi
-       xor     edx,            ecx
-       and     eax,            0fcfcfcfch
-       xor     ebx,            ebx
-       and     edx,            0cfcfcfcfh
-       xor     ecx,            ecx
-       mov     bl,             al
-       mov     cl,             ah
-       ror     edx,            4
-       mov     ebp,            DWORD PTR _des_SPtrans[ebx]
-       mov     bl,             dl
-       xor     esi,            ebp
-       mov     ebp,            DWORD PTR _des_SPtrans[0200h+ecx]
-       xor     esi,            ebp
-       mov     cl,             dh
-       shr     eax,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0100h+ebx]
-       xor     esi,            ebp
-       mov     bl,             ah
-       shr     edx,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0300h+ecx]
-       xor     esi,            ebp
-       mov     ebp,            DWORD PTR 24[esp]
-       mov     cl,             dh
-       and     eax,            0ffh
-       and     edx,            0ffh
-       mov     ebx,            DWORD PTR _des_SPtrans[0600h+ebx]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0700h+ecx]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0400h+eax]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0500h+edx]
-       xor     esi,            ebx
-       ; 
-       ; Round 6
-       mov     eax,            DWORD PTR 28[esp]
-       mov     edx,            esi
-       shr     edx,            16
-       mov     ecx,            DWORD PTR 32[esp]
-       xor     edx,            esi
-       and     eax,            edx
-       and     edx,            ecx
-       mov     ebx,            eax
-       shl     ebx,            16
-       mov     ecx,            edx
-       shl     ecx,            16
-       xor     eax,            ebx
-       xor     edx,            ecx
-       mov     ebx,            DWORD PTR 48[ebp]
-       xor     eax,            ebx
-       mov     ecx,            DWORD PTR 52[ebp]
-       xor     eax,            esi
-       xor     edx,            esi
-       xor     edx,            ecx
-       and     eax,            0fcfcfcfch
-       xor     ebx,            ebx
-       and     edx,            0cfcfcfcfh
-       xor     ecx,            ecx
-       mov     bl,             al
-       mov     cl,             ah
-       ror     edx,            4
-       mov     ebp,            DWORD PTR _des_SPtrans[ebx]
-       mov     bl,             dl
-       xor     edi,            ebp
-       mov     ebp,            DWORD PTR _des_SPtrans[0200h+ecx]
-       xor     edi,            ebp
-       mov     cl,             dh
-       shr     eax,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0100h+ebx]
-       xor     edi,            ebp
-       mov     bl,             ah
-       shr     edx,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0300h+ecx]
-       xor     edi,            ebp
-       mov     ebp,            DWORD PTR 24[esp]
-       mov     cl,             dh
-       and     eax,            0ffh
-       and     edx,            0ffh
-       mov     ebx,            DWORD PTR _des_SPtrans[0600h+ebx]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0700h+ecx]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0400h+eax]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0500h+edx]
-       xor     edi,            ebx
-       ; 
-       ; Round 7
-       mov     eax,            DWORD PTR 28[esp]
-       mov     edx,            edi
-       shr     edx,            16
-       mov     ecx,            DWORD PTR 32[esp]
-       xor     edx,            edi
-       and     eax,            edx
-       and     edx,            ecx
-       mov     ebx,            eax
-       shl     ebx,            16
-       mov     ecx,            edx
-       shl     ecx,            16
-       xor     eax,            ebx
-       xor     edx,            ecx
-       mov     ebx,            DWORD PTR 56[ebp]
-       xor     eax,            ebx
-       mov     ecx,            DWORD PTR 60[ebp]
-       xor     eax,            edi
-       xor     edx,            edi
-       xor     edx,            ecx
-       and     eax,            0fcfcfcfch
-       xor     ebx,            ebx
-       and     edx,            0cfcfcfcfh
-       xor     ecx,            ecx
-       mov     bl,             al
-       mov     cl,             ah
-       ror     edx,            4
-       mov     ebp,            DWORD PTR _des_SPtrans[ebx]
-       mov     bl,             dl
-       xor     esi,            ebp
-       mov     ebp,            DWORD PTR _des_SPtrans[0200h+ecx]
-       xor     esi,            ebp
-       mov     cl,             dh
-       shr     eax,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0100h+ebx]
-       xor     esi,            ebp
-       mov     bl,             ah
-       shr     edx,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0300h+ecx]
-       xor     esi,            ebp
-       mov     ebp,            DWORD PTR 24[esp]
-       mov     cl,             dh
-       and     eax,            0ffh
-       and     edx,            0ffh
-       mov     ebx,            DWORD PTR _des_SPtrans[0600h+ebx]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0700h+ecx]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0400h+eax]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0500h+edx]
-       xor     esi,            ebx
-       ; 
-       ; Round 8
-       mov     eax,            DWORD PTR 28[esp]
-       mov     edx,            esi
-       shr     edx,            16
-       mov     ecx,            DWORD PTR 32[esp]
-       xor     edx,            esi
-       and     eax,            edx
-       and     edx,            ecx
-       mov     ebx,            eax
-       shl     ebx,            16
-       mov     ecx,            edx
-       shl     ecx,            16
-       xor     eax,            ebx
-       xor     edx,            ecx
-       mov     ebx,            DWORD PTR 64[ebp]
-       xor     eax,            ebx
-       mov     ecx,            DWORD PTR 68[ebp]
-       xor     eax,            esi
-       xor     edx,            esi
-       xor     edx,            ecx
-       and     eax,            0fcfcfcfch
-       xor     ebx,            ebx
-       and     edx,            0cfcfcfcfh
-       xor     ecx,            ecx
-       mov     bl,             al
-       mov     cl,             ah
-       ror     edx,            4
-       mov     ebp,            DWORD PTR _des_SPtrans[ebx]
-       mov     bl,             dl
-       xor     edi,            ebp
-       mov     ebp,            DWORD PTR _des_SPtrans[0200h+ecx]
-       xor     edi,            ebp
-       mov     cl,             dh
-       shr     eax,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0100h+ebx]
-       xor     edi,            ebp
-       mov     bl,             ah
-       shr     edx,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0300h+ecx]
-       xor     edi,            ebp
-       mov     ebp,            DWORD PTR 24[esp]
-       mov     cl,             dh
-       and     eax,            0ffh
-       and     edx,            0ffh
-       mov     ebx,            DWORD PTR _des_SPtrans[0600h+ebx]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0700h+ecx]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0400h+eax]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0500h+edx]
-       xor     edi,            ebx
-       ; 
-       ; Round 9
-       mov     eax,            DWORD PTR 28[esp]
-       mov     edx,            edi
-       shr     edx,            16
-       mov     ecx,            DWORD PTR 32[esp]
-       xor     edx,            edi
-       and     eax,            edx
-       and     edx,            ecx
-       mov     ebx,            eax
-       shl     ebx,            16
-       mov     ecx,            edx
-       shl     ecx,            16
-       xor     eax,            ebx
-       xor     edx,            ecx
-       mov     ebx,            DWORD PTR 72[ebp]
-       xor     eax,            ebx
-       mov     ecx,            DWORD PTR 76[ebp]
-       xor     eax,            edi
-       xor     edx,            edi
-       xor     edx,            ecx
-       and     eax,            0fcfcfcfch
-       xor     ebx,            ebx
-       and     edx,            0cfcfcfcfh
-       xor     ecx,            ecx
-       mov     bl,             al
-       mov     cl,             ah
-       ror     edx,            4
-       mov     ebp,            DWORD PTR _des_SPtrans[ebx]
-       mov     bl,             dl
-       xor     esi,            ebp
-       mov     ebp,            DWORD PTR _des_SPtrans[0200h+ecx]
-       xor     esi,            ebp
-       mov     cl,             dh
-       shr     eax,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0100h+ebx]
-       xor     esi,            ebp
-       mov     bl,             ah
-       shr     edx,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0300h+ecx]
-       xor     esi,            ebp
-       mov     ebp,            DWORD PTR 24[esp]
-       mov     cl,             dh
-       and     eax,            0ffh
-       and     edx,            0ffh
-       mov     ebx,            DWORD PTR _des_SPtrans[0600h+ebx]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0700h+ecx]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0400h+eax]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0500h+edx]
-       xor     esi,            ebx
-       ; 
-       ; Round 10
-       mov     eax,            DWORD PTR 28[esp]
-       mov     edx,            esi
-       shr     edx,            16
-       mov     ecx,            DWORD PTR 32[esp]
-       xor     edx,            esi
-       and     eax,            edx
-       and     edx,            ecx
-       mov     ebx,            eax
-       shl     ebx,            16
-       mov     ecx,            edx
-       shl     ecx,            16
-       xor     eax,            ebx
-       xor     edx,            ecx
-       mov     ebx,            DWORD PTR 80[ebp]
-       xor     eax,            ebx
-       mov     ecx,            DWORD PTR 84[ebp]
-       xor     eax,            esi
-       xor     edx,            esi
-       xor     edx,            ecx
-       and     eax,            0fcfcfcfch
-       xor     ebx,            ebx
-       and     edx,            0cfcfcfcfh
-       xor     ecx,            ecx
-       mov     bl,             al
-       mov     cl,             ah
-       ror     edx,            4
-       mov     ebp,            DWORD PTR _des_SPtrans[ebx]
-       mov     bl,             dl
-       xor     edi,            ebp
-       mov     ebp,            DWORD PTR _des_SPtrans[0200h+ecx]
-       xor     edi,            ebp
-       mov     cl,             dh
-       shr     eax,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0100h+ebx]
-       xor     edi,            ebp
-       mov     bl,             ah
-       shr     edx,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0300h+ecx]
-       xor     edi,            ebp
-       mov     ebp,            DWORD PTR 24[esp]
-       mov     cl,             dh
-       and     eax,            0ffh
-       and     edx,            0ffh
-       mov     ebx,            DWORD PTR _des_SPtrans[0600h+ebx]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0700h+ecx]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0400h+eax]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0500h+edx]
-       xor     edi,            ebx
-       ; 
-       ; Round 11
-       mov     eax,            DWORD PTR 28[esp]
-       mov     edx,            edi
-       shr     edx,            16
-       mov     ecx,            DWORD PTR 32[esp]
-       xor     edx,            edi
-       and     eax,            edx
-       and     edx,            ecx
-       mov     ebx,            eax
-       shl     ebx,            16
-       mov     ecx,            edx
-       shl     ecx,            16
-       xor     eax,            ebx
-       xor     edx,            ecx
-       mov     ebx,            DWORD PTR 88[ebp]
-       xor     eax,            ebx
-       mov     ecx,            DWORD PTR 92[ebp]
-       xor     eax,            edi
-       xor     edx,            edi
-       xor     edx,            ecx
-       and     eax,            0fcfcfcfch
-       xor     ebx,            ebx
-       and     edx,            0cfcfcfcfh
-       xor     ecx,            ecx
-       mov     bl,             al
-       mov     cl,             ah
-       ror     edx,            4
-       mov     ebp,            DWORD PTR _des_SPtrans[ebx]
-       mov     bl,             dl
-       xor     esi,            ebp
-       mov     ebp,            DWORD PTR _des_SPtrans[0200h+ecx]
-       xor     esi,            ebp
-       mov     cl,             dh
-       shr     eax,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0100h+ebx]
-       xor     esi,            ebp
-       mov     bl,             ah
-       shr     edx,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0300h+ecx]
-       xor     esi,            ebp
-       mov     ebp,            DWORD PTR 24[esp]
-       mov     cl,             dh
-       and     eax,            0ffh
-       and     edx,            0ffh
-       mov     ebx,            DWORD PTR _des_SPtrans[0600h+ebx]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0700h+ecx]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0400h+eax]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0500h+edx]
-       xor     esi,            ebx
-       ; 
-       ; Round 12
-       mov     eax,            DWORD PTR 28[esp]
-       mov     edx,            esi
-       shr     edx,            16
-       mov     ecx,            DWORD PTR 32[esp]
-       xor     edx,            esi
-       and     eax,            edx
-       and     edx,            ecx
-       mov     ebx,            eax
-       shl     ebx,            16
-       mov     ecx,            edx
-       shl     ecx,            16
-       xor     eax,            ebx
-       xor     edx,            ecx
-       mov     ebx,            DWORD PTR 96[ebp]
-       xor     eax,            ebx
-       mov     ecx,            DWORD PTR 100[ebp]
-       xor     eax,            esi
-       xor     edx,            esi
-       xor     edx,            ecx
-       and     eax,            0fcfcfcfch
-       xor     ebx,            ebx
-       and     edx,            0cfcfcfcfh
-       xor     ecx,            ecx
-       mov     bl,             al
-       mov     cl,             ah
-       ror     edx,            4
-       mov     ebp,            DWORD PTR _des_SPtrans[ebx]
-       mov     bl,             dl
-       xor     edi,            ebp
-       mov     ebp,            DWORD PTR _des_SPtrans[0200h+ecx]
-       xor     edi,            ebp
-       mov     cl,             dh
-       shr     eax,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0100h+ebx]
-       xor     edi,            ebp
-       mov     bl,             ah
-       shr     edx,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0300h+ecx]
-       xor     edi,            ebp
-       mov     ebp,            DWORD PTR 24[esp]
-       mov     cl,             dh
-       and     eax,            0ffh
-       and     edx,            0ffh
-       mov     ebx,            DWORD PTR _des_SPtrans[0600h+ebx]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0700h+ecx]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0400h+eax]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0500h+edx]
-       xor     edi,            ebx
-       ; 
-       ; Round 13
-       mov     eax,            DWORD PTR 28[esp]
-       mov     edx,            edi
-       shr     edx,            16
-       mov     ecx,            DWORD PTR 32[esp]
-       xor     edx,            edi
-       and     eax,            edx
-       and     edx,            ecx
-       mov     ebx,            eax
-       shl     ebx,            16
-       mov     ecx,            edx
-       shl     ecx,            16
-       xor     eax,            ebx
-       xor     edx,            ecx
-       mov     ebx,            DWORD PTR 104[ebp]
-       xor     eax,            ebx
-       mov     ecx,            DWORD PTR 108[ebp]
-       xor     eax,            edi
-       xor     edx,            edi
-       xor     edx,            ecx
-       and     eax,            0fcfcfcfch
-       xor     ebx,            ebx
-       and     edx,            0cfcfcfcfh
-       xor     ecx,            ecx
-       mov     bl,             al
-       mov     cl,             ah
-       ror     edx,            4
-       mov     ebp,            DWORD PTR _des_SPtrans[ebx]
-       mov     bl,             dl
-       xor     esi,            ebp
-       mov     ebp,            DWORD PTR _des_SPtrans[0200h+ecx]
-       xor     esi,            ebp
-       mov     cl,             dh
-       shr     eax,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0100h+ebx]
-       xor     esi,            ebp
-       mov     bl,             ah
-       shr     edx,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0300h+ecx]
-       xor     esi,            ebp
-       mov     ebp,            DWORD PTR 24[esp]
-       mov     cl,             dh
-       and     eax,            0ffh
-       and     edx,            0ffh
-       mov     ebx,            DWORD PTR _des_SPtrans[0600h+ebx]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0700h+ecx]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0400h+eax]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0500h+edx]
-       xor     esi,            ebx
-       ; 
-       ; Round 14
-       mov     eax,            DWORD PTR 28[esp]
-       mov     edx,            esi
-       shr     edx,            16
-       mov     ecx,            DWORD PTR 32[esp]
-       xor     edx,            esi
-       and     eax,            edx
-       and     edx,            ecx
-       mov     ebx,            eax
-       shl     ebx,            16
-       mov     ecx,            edx
-       shl     ecx,            16
-       xor     eax,            ebx
-       xor     edx,            ecx
-       mov     ebx,            DWORD PTR 112[ebp]
-       xor     eax,            ebx
-       mov     ecx,            DWORD PTR 116[ebp]
-       xor     eax,            esi
-       xor     edx,            esi
-       xor     edx,            ecx
-       and     eax,            0fcfcfcfch
-       xor     ebx,            ebx
-       and     edx,            0cfcfcfcfh
-       xor     ecx,            ecx
-       mov     bl,             al
-       mov     cl,             ah
-       ror     edx,            4
-       mov     ebp,            DWORD PTR _des_SPtrans[ebx]
-       mov     bl,             dl
-       xor     edi,            ebp
-       mov     ebp,            DWORD PTR _des_SPtrans[0200h+ecx]
-       xor     edi,            ebp
-       mov     cl,             dh
-       shr     eax,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0100h+ebx]
-       xor     edi,            ebp
-       mov     bl,             ah
-       shr     edx,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0300h+ecx]
-       xor     edi,            ebp
-       mov     ebp,            DWORD PTR 24[esp]
-       mov     cl,             dh
-       and     eax,            0ffh
-       and     edx,            0ffh
-       mov     ebx,            DWORD PTR _des_SPtrans[0600h+ebx]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0700h+ecx]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0400h+eax]
-       xor     edi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0500h+edx]
-       xor     edi,            ebx
-       ; 
-       ; Round 15
-       mov     eax,            DWORD PTR 28[esp]
-       mov     edx,            edi
-       shr     edx,            16
-       mov     ecx,            DWORD PTR 32[esp]
-       xor     edx,            edi
-       and     eax,            edx
-       and     edx,            ecx
-       mov     ebx,            eax
-       shl     ebx,            16
-       mov     ecx,            edx
-       shl     ecx,            16
-       xor     eax,            ebx
-       xor     edx,            ecx
-       mov     ebx,            DWORD PTR 120[ebp]
-       xor     eax,            ebx
-       mov     ecx,            DWORD PTR 124[ebp]
-       xor     eax,            edi
-       xor     edx,            edi
-       xor     edx,            ecx
-       and     eax,            0fcfcfcfch
-       xor     ebx,            ebx
-       and     edx,            0cfcfcfcfh
-       xor     ecx,            ecx
-       mov     bl,             al
-       mov     cl,             ah
-       ror     edx,            4
-       mov     ebp,            DWORD PTR _des_SPtrans[ebx]
-       mov     bl,             dl
-       xor     esi,            ebp
-       mov     ebp,            DWORD PTR _des_SPtrans[0200h+ecx]
-       xor     esi,            ebp
-       mov     cl,             dh
-       shr     eax,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0100h+ebx]
-       xor     esi,            ebp
-       mov     bl,             ah
-       shr     edx,            16
-       mov     ebp,            DWORD PTR _des_SPtrans[0300h+ecx]
-       xor     esi,            ebp
-       mov     ebp,            DWORD PTR 24[esp]
-       mov     cl,             dh
-       and     eax,            0ffh
-       and     edx,            0ffh
-       mov     ebx,            DWORD PTR _des_SPtrans[0600h+ebx]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0700h+ecx]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0400h+eax]
-       xor     esi,            ebx
-       mov     ebx,            DWORD PTR _des_SPtrans[0500h+edx]
-       xor     esi,            ebx
-       mov     eax,            edi
-       dec     DWORD PTR 36[esp]
-       mov     edi,            esi
-       mov     esi,            eax
-       jnz     L000start
-       ; 
-       ; FP
-       mov     edx,            DWORD PTR 20[esp]
-       ror     edi,            1
-       mov     eax,            esi
-       xor     esi,            edi
-       and     esi,            0aaaaaaaah
-       xor     eax,            esi
-       xor     edi,            esi
-       ; 
-       rol     eax,            23
-       mov     esi,            eax
-       xor     eax,            edi
-       and     eax,            003fc03fch
-       xor     esi,            eax
-       xor     edi,            eax
-       ; 
-       rol     esi,            10
-       mov     eax,            esi
-       xor     esi,            edi
-       and     esi,            033333333h
-       xor     eax,            esi
-       xor     edi,            esi
-       ; 
-       rol     edi,            18
-       mov     esi,            edi
-       xor     edi,            eax
-       and     edi,            0fff0000fh
-       xor     esi,            edi
-       xor     eax,            edi
-       ; 
-       rol     esi,            12
-       mov     edi,            esi
-       xor     esi,            eax
-       and     esi,            0f0f0f0f0h
-       xor     edi,            esi
-       xor     eax,            esi
-       ; 
-       ror     eax,            4
-       mov     DWORD PTR [edx],eax
-       mov     DWORD PTR 4[edx],edi
-       pop     edi
-       pop     esi
-       pop     ebx
-       pop     ebp
-       ret
-_fcrypt_body ENDP
-_TEXT  ENDS
-END
diff --git a/crypto/des/asm/c-win32.uu b/crypto/des/asm/c-win32.uu
deleted file mode 100644 (file)
index 09d5d7d..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-begin 640 c-win32.obj
-M3`$"`/4&DC,,$```"0`````````N=&5X=```````````````J`H``&0````,
-M"P```````(`````@`#!@+F1A=&$```"H"@`````````````,$```````````
-M````````0``PP%535E<S_S/VBVPD&,=$)"09````BT0D'(O6P>H0BTPD(#/6
-M(\(CT8O8P>,0B\K!X1`SPS/1BUT`,\.+300SQC/6,]$E_/S\_#/;@>+/S\_/
-M,\F*V(K,P<H$BZL`````BMHS_8NI``(``#/]BL[!Z!"+JP`!```S_8K<P>H0
-MBZD``P``,_V+;"08BLXE_P```('B_P```(N;``8``#/[BYD`!P``,_N+F``$
-M```S^XN:``4``#/[BT0D'(O7P>H0BTPD(#/7(\(CT8O8P>,0B\K!X1`SPS/1
-MBUT(,\.+30PSQS/7,]$E_/S\_#/;@>+/S\_/,\F*V(K,P<H$BZL`````BMHS
-M]8NI``(``#/UBL[!Z!"+JP`!```S]8K<P>H0BZD``P``,_6+;"08BLXE_P``
-M`('B_P```(N;``8``#/SBYD`!P``,_.+F``$```S\XN:``4``#/SBT0D'(O6
-MP>H0BTPD(#/6(\(CT8O8P>,0B\K!X1`SPS/1BUT0,\.+310SQC/6,]$E_/S\
-M_#/;@>+/S\_/,\F*V(K,P<H$BZL`````BMHS_8NI``(``#/]BL[!Z!"+JP`!
-M```S_8K<P>H0BZD``P``,_V+;"08BLXE_P```('B_P```(N;``8``#/[BYD`
-M!P``,_N+F``$```S^XN:``4``#/[BT0D'(O7P>H0BTPD(#/7(\(CT8O8P>,0
-MB\K!X1`SPS/1BUT8,\.+31PSQS/7,]$E_/S\_#/;@>+/S\_/,\F*V(K,P<H$
-MBZL`````BMHS]8NI``(``#/UBL[!Z!"+JP`!```S]8K<P>H0BZD``P``,_6+
-M;"08BLXE_P```('B_P```(N;``8``#/SBYD`!P``,_.+F``$```S\XN:``4`
-M`#/SBT0D'(O6P>H0BTPD(#/6(\(CT8O8P>,0B\K!X1`SPS/1BUT@,\.+320S
-MQC/6,]$E_/S\_#/;@>+/S\_/,\F*V(K,P<H$BZL`````BMHS_8NI``(``#/]
-MBL[!Z!"+JP`!```S_8K<P>H0BZD``P``,_V+;"08BLXE_P```('B_P```(N;
-M``8``#/[BYD`!P``,_N+F``$```S^XN:``4``#/[BT0D'(O7P>H0BTPD(#/7
-M(\(CT8O8P>,0B\K!X1`SPS/1BUTH,\.+32PSQS/7,]$E_/S\_#/;@>+/S\_/
-M,\F*V(K,P<H$BZL`````BMHS]8NI``(``#/UBL[!Z!"+JP`!```S]8K<P>H0
-MBZD``P``,_6+;"08BLXE_P```('B_P```(N;``8``#/SBYD`!P``,_.+F``$
-M```S\XN:``4``#/SBT0D'(O6P>H0BTPD(#/6(\(CT8O8P>,0B\K!X1`SPS/1
-MBUTP,\.+330SQC/6,]$E_/S\_#/;@>+/S\_/,\F*V(K,P<H$BZL`````BMHS
-M_8NI``(``#/]BL[!Z!"+JP`!```S_8K<P>H0BZD``P``,_V+;"08BLXE_P``
-M`('B_P```(N;``8``#/[BYD`!P``,_N+F``$```S^XN:``4``#/[BT0D'(O7
-MP>H0BTPD(#/7(\(CT8O8P>,0B\K!X1`SPS/1BUTX,\.+33PSQS/7,]$E_/S\
-M_#/;@>+/S\_/,\F*V(K,P<H$BZL`````BMHS]8NI``(``#/UBL[!Z!"+JP`!
-M```S]8K<P>H0BZD``P``,_6+;"08BLXE_P```('B_P```(N;``8``#/SBYD`
-M!P``,_.+F``$```S\XN:``4``#/SBT0D'(O6P>H0BTPD(#/6(\(CT8O8P>,0
-MB\K!X1`SPS/1BUU`,\.+340SQC/6,]$E_/S\_#/;@>+/S\_/,\F*V(K,P<H$
-MBZL`````BMHS_8NI``(``#/]BL[!Z!"+JP`!```S_8K<P>H0BZD``P``,_V+
-M;"08BLXE_P```('B_P```(N;``8``#/[BYD`!P``,_N+F``$```S^XN:``4`
-M`#/[BT0D'(O7P>H0BTPD(#/7(\(CT8O8P>,0B\K!X1`SPS/1BUU(,\.+34PS
-MQS/7,]$E_/S\_#/;@>+/S\_/,\F*V(K,P<H$BZL`````BMHS]8NI``(``#/U
-MBL[!Z!"+JP`!```S]8K<P>H0BZD``P``,_6+;"08BLXE_P```('B_P```(N;
-M``8``#/SBYD`!P``,_.+F``$```S\XN:``4``#/SBT0D'(O6P>H0BTPD(#/6
-M(\(CT8O8P>,0B\K!X1`SPS/1BUU0,\.+350SQC/6,]$E_/S\_#/;@>+/S\_/
-M,\F*V(K,P<H$BZL`````BMHS_8NI``(``#/]BL[!Z!"+JP`!```S_8K<P>H0
-MBZD``P``,_V+;"08BLXE_P```('B_P```(N;``8``#/[BYD`!P``,_N+F``$
-M```S^XN:``4``#/[BT0D'(O7P>H0BTPD(#/7(\(CT8O8P>,0B\K!X1`SPS/1
-MBUU8,\.+35PSQS/7,]$E_/S\_#/;@>+/S\_/,\F*V(K,P<H$BZL`````BMHS
-M]8NI``(``#/UBL[!Z!"+JP`!```S]8K<P>H0BZD``P``,_6+;"08BLXE_P``
-M`('B_P```(N;``8``#/SBYD`!P``,_.+F``$```S\XN:``4``#/SBT0D'(O6
-MP>H0BTPD(#/6(\(CT8O8P>,0B\K!X1`SPS/1BUU@,\.+360SQC/6,]$E_/S\
-M_#/;@>+/S\_/,\F*V(K,P<H$BZL`````BMHS_8NI``(``#/]BL[!Z!"+JP`!
-M```S_8K<P>H0BZD``P``,_V+;"08BLXE_P```('B_P```(N;``8``#/[BYD`
-M!P``,_N+F``$```S^XN:``4``#/[BT0D'(O7P>H0BTPD(#/7(\(CT8O8P>,0
-MB\K!X1`SPS/1BUUH,\.+36PSQS/7,]$E_/S\_#/;@>+/S\_/,\F*V(K,P<H$
-MBZL`````BMHS]8NI``(``#/UBL[!Z!"+JP`!```S]8K<P>H0BZD``P``,_6+
-M;"08BLXE_P```('B_P```(N;``8``#/SBYD`!P``,_.+F``$```S\XN:``4`
-M`#/SBT0D'(O6P>H0BTPD(#/6(\(CT8O8P>,0B\K!X1`SPS/1BUUP,\.+370S
-MQC/6,]$E_/S\_#/;@>+/S\_/,\F*V(K,P<H$BZL`````BMHS_8NI``(``#/]
-MBL[!Z!"+JP`!```S_8K<P>H0BZD``P``,_V+;"08BLXE_P```('B_P```(N;
-M``8``#/[BYD`!P``,_N+F``$```S^XN:``4``#/[BT0D'(O7P>H0BTPD(#/7
-M(\(CT8O8P>,0B\K!X1`SPS/1BUUX,\.+37PSQS/7,]$E_/S\_#/;@>+/S\_/
-M,\F*V(K,P<H$BZL`````BMHS]8NI``(``#/UBL[!Z!"+JP`!```S]8K<P>H0
-MBZD``P``,_6+;"08BLXE_P```('B_P```(N;``8``#/SBYD`!P``,_.+F``$
-M```S\XN:``4``#/SB\?_3"0DB_Z+\`^%T/7__XM4)!31SXO&,_>!YJJJJJHS
-MQC/^P<`7B_`SQR7\`_P#,_`S^,'&"HO&,_>!YC,S,S,SQC/^P<<2B_<S^('G
-M#P#P_S/W,\?!Q@R+_C/P@>;P\/#P,_XSQL'(!(D"B7H$7UY;7<-;````!P``
-M``8`90````<````&`'(````'````!@!_````!P````8`F`````<````&`*``
-M```'````!@"H````!P````8`L`````<````&`/T````'````!@`'`0``!P``
-M``8`%`$```<````&`"$!```'````!@`Z`0``!P````8`0@$```<````&`$H!
-M```'````!@!2`0``!P````8`GP$```<````&`*D!```'````!@"V`0``!P``
-M``8`PP$```<````&`-P!```'````!@#D`0``!P````8`[`$```<````&`/0!
-M```'````!@!!`@``!P````8`2P(```<````&`%@"```'````!@!E`@``!P``
-M``8`?@(```<````&`(8"```'````!@".`@``!P````8`E@(```<````&`.,"
-M```'````!@#M`@``!P````8`^@(```<````&``<#```'````!@`@`P``!P``
-M``8`*`,```<````&`#`#```'````!@`X`P``!P````8`A0,```<````&`(\#
-M```'````!@"<`P``!P````8`J0,```<````&`,(#```'````!@#*`P``!P``
-M``8`T@,```<````&`-H#```'````!@`G!```!P````8`,00```<````&`#X$
-M```'````!@!+!```!P````8`9`0```<````&`&P$```'````!@!T!```!P``
-M``8`?`0```<````&`,D$```'````!@#3!```!P````8`X`0```<````&`.T$
-M```'````!@`&!0``!P````8`#@4```<````&`!8%```'````!@`>!0``!P``
-M``8`:P4```<````&`'4%```'````!@""!0``!P````8`CP4```<````&`*@%
-M```'````!@"P!0``!P````8`N`4```<````&`,`%```'````!@`-!@``!P``
-M``8`%P8```<````&`"0&```'````!@`Q!@``!P````8`2@8```<````&`%(&
-M```'````!@!:!@``!P````8`8@8```<````&`*\&```'````!@"Y!@``!P``
-M``8`Q@8```<````&`-,&```'````!@#L!@``!P````8`]`8```<````&`/P&
-M```'````!@`$!P``!P````8`40<```<````&`%L'```'````!@!H!P``!P``
-M``8`=0<```<````&`(X'```'````!@"6!P``!P````8`G@<```<````&`*8'
-M```'````!@#S!P``!P````8`_0<```<````&``H(```'````!@`7"```!P``
-M``8`,`@```<````&`#@(```'````!@!`"```!P````8`2`@```<````&`)4(
-M```'````!@"?"```!P````8`K`@```<````&`+D(```'````!@#2"```!P``
-M``8`V@@```<````&`.((```'````!@#J"```!P````8`-PD```<````&`$$)
-M```'````!@!."0``!P````8`6PD```<````&`'0)```'````!@!\"0``!P``
-M``8`A`D```<````&`(P)```'````!@#9"0``!P````8`XPD```<````&`/`)
-M```'````!@#]"0``!P````8`%@H```<````&`!X*```'````!@`F"@``!P``
-M``8`+@H```<````&`"YF:6QE`````````/[_``!G`BY<8W)Y<'1O7&1E<UQA
-M<VU<8RUW:6XS,BYA<VT``````````"YT97AT``````````$````#`:@*``"`
-M`````````````````"YD871A``````````(````#`0``````````````````
-M```````````$```````````````"```````1``````````$`(``"`!X```!?
-99&5S7U-0=')A;G,`7V9C<GEP=%]B;V1Y````
-`
-end
diff --git a/crypto/des/asm/crypt.pl b/crypto/des/asm/crypt.pl
deleted file mode 100644 (file)
index 0a7dce0..0000000
+++ /dev/null
@@ -1,240 +0,0 @@
-#!/usr/local/bin/perl
-#\r
-# The inner loop instruction sequence and the IP/FP modifications are from\r
-# Svend Olaf Mikkelsen <svolaf@inet.uni-c.dk>\r
-# I've added the stuff needed for crypt() but I've not worried about making\r
-# things perfect.\r
-#\r
-\r
-$prog="crypt.pl";\r
-\r
-# base code is in microsft\r
-# op dest, source\r
-# format.\r
-#\r
-\r
-require "desboth.pl";\r
-\r
-if (   ($ARGV[0] eq "elf"))\r
-       { require "x86unix.pl"; }\r
-elsif (        ($ARGV[0] eq "a.out"))\r
-       { $aout=1; require "x86unix.pl"; }\r
-elsif (        ($ARGV[0] eq "sol"))\r
-       { $sol=1; require "x86unix.pl"; }\r
-elsif (        ($ARGV[0] eq "cpp"))\r
-       { $cpp=1; require "x86unix.pl"; }\r
-elsif (        ($ARGV[0] eq "win32"))\r
-       { require "x86ms.pl"; }\r
-else\r
-       {\r
-       print STDERR <<"EOF";\r
-Pick one target type from\r
-       elf     - linux, FreeBSD etc\r
-       a.out   - old linux\r
-       sol     - x86 solaris\r
-       cpp     - format so x86unix.cpp can be used\r
-       win32   - Windows 95/Windows NT\r
-EOF\r
-       exit(1);\r
-       }\r
-\r
-&comment("Don't even think of reading this code");\r
-&comment("It was automatically generated by $prog");\r
-&comment("Which is a perl program used to generate the x86 assember for");\r
-&comment("any of elf, a.out, Win32, or Solaris");\r
-&comment("It can be found in SSLeay 0.6.5+ or in libdes 3.26+");\r
-&comment("eric <eay\@cryptsoft.com>");\r
-&comment("The inner loop instruction sequence and the IP/FP modifications");\r
-&comment("are from Svend Olaf Mikkelsen <svolaf\@inet.uni-c.dk>");\r
-\r
-&comment("");\r
-\r
-&file("dx86xxxx");\r
-\r
-$L="edi";\r
-$R="esi";\r
-\r
-&fcrypt_body("fcrypt_body");\r
-\r
-&file_end();\r
-\r
-sub fcrypt_body\r
-       {\r
-       local($name,$do_ip)=@_;\r
-\r
-       &function_begin($name,3,"EXTRN   _des_SPtrans:DWORD");\r
-\r
-       &comment("");\r
-       &comment("Load the 2 words");\r
-       $ks="ebp";\r
-\r
-       &xor(   $L,     $L);\r
-       &xor(   $R,     $R);\r
-       &mov($ks,&wparam(1));\r
-\r
-       &mov(&wtmp(1),  25);\r
-\r
-       &set_label("start");\r
-       for ($i=0; $i<16; $i+=2)\r
-               {\r
-               &comment("");\r
-               &comment("Round $i");\r
-               &D_ENCRYPT($i,$L,$R,$i*2,$ks,"des_SPtrans","eax","ebx","ecx","edx");\r
-\r
-               &comment("");\r
-               &comment("Round ".sprintf("%d",$i+1));\r
-               &D_ENCRYPT($i+1,$R,$L,($i+1)*2,$ks,"des_SPtrans","eax","ebx","ecx","edx");\r
-               }\r
-       &mov("eax",     $L);\r
-       &dec(&wtmp(1));\r
-       &mov($L,        $R);\r
-       &mov($R,        "eax");\r
-       &jnz(&label("start"));\r
-\r
-       &comment("");\r
-       &comment("FP");\r
-       &mov("edx",&wparam(0));\r
-\r
-       &FP_new($R,$L,"eax",3);\r
-       &mov(&DWP(0,"edx","",0),"eax");\r
-       &mov(&DWP(4,"edx","",0),$L);\r
-\r
-       &function_end($name);\r
-       }\r
-\r
-sub D_ENCRYPT\r
-       {\r
-       local($r,$L,$R,$S,$ks,$desSP,$u,$tmp1,$tmp2,$t)=@_;\r
-\r
-       &mov(   $u,             &wparam(2));                    # 2\r
-       &mov(   $t,             $R);\r
-       &shr(   $t,             16);                            # 1\r
-       &mov(   $tmp2,          &wparam(3));                    # 2\r
-       &xor(   $t,             $R);                            # 1\r
-\r
-       &and(   $u,             $t);                            # 2\r
-       &and(   $t,             $tmp2);                         # 2\r
-\r
-       &mov(   $tmp1,          $u);\r
-       &shl(   $tmp1,          16);                            # 1\r
-       &mov(   $tmp2,          $t);\r
-       &shl(   $tmp2,          16);                            # 1\r
-       &xor(   $u,             $tmp1);                         # 2\r
-       &xor(   $t,             $tmp2);                         # 2\r
-       &mov(   $tmp1,          &DWP(&n2a($S*4),$ks,"",0));     # 2\r
-       &xor(   $u,             $tmp1);\r
-       &mov(   $tmp2,          &DWP(&n2a(($S+1)*4),$ks,"",0)); # 2\r
-       &xor(   $u,             $R);\r
-       &xor(   $t,             $R);\r
-       &xor(   $t,             $tmp2);\r
-\r
-       &and(   $u,             "0xfcfcfcfc"    );              # 2\r
-       &xor(   $tmp1,          $tmp1);                         # 1\r
-       &and(   $t,             "0xcfcfcfcf"    );              # 2\r
-       &xor(   $tmp2,          $tmp2); \r
-       &movb(  &LB($tmp1),     &LB($u) );\r
-       &movb(  &LB($tmp2),     &HB($u) );\r
-       &rotr(  $t,             4               );\r
-       &mov(   $ks,            &DWP("      $desSP",$tmp1,"",0));\r
-       &movb(  &LB($tmp1),     &LB($t) );\r
-       &xor(   $L,             $ks);\r
-       &mov(   $ks,            &DWP("0x200+$desSP",$tmp2,"",0));\r
-       &xor(   $L,             $ks);\r
-       &movb(  &LB($tmp2),     &HB($t) );\r
-       &shr(   $u,             16);\r
-       &mov(   $ks,            &DWP("0x100+$desSP",$tmp1,"",0));\r
-       &xor(   $L,             $ks); \r
-       &movb(  &LB($tmp1),     &HB($u) );\r
-       &shr(   $t,             16);\r
-       &mov(   $ks,            &DWP("0x300+$desSP",$tmp2,"",0));\r
-       &xor(   $L,             $ks);\r
-       &mov(   $ks,            &DWP(24,"esp","",0));\r
-       &movb(  &LB($tmp2),     &HB($t) );\r
-       &and(   $u,             "0xff"  );\r
-       &and(   $t,             "0xff"  );\r
-       &mov(   $tmp1,          &DWP("0x600+$desSP",$tmp1,"",0));\r
-       &xor(   $L,             $tmp1);\r
-       &mov(   $tmp1,          &DWP("0x700+$desSP",$tmp2,"",0));\r
-       &xor(   $L,             $tmp1);\r
-       &mov(   $tmp1,          &DWP("0x400+$desSP",$u,"",0));\r
-       &xor(   $L,             $tmp1);\r
-       &mov(   $tmp1,          &DWP("0x500+$desSP",$t,"",0));\r
-       &xor(   $L,             $tmp1);\r
-       }\r
-\r
-sub n2a\r
-       {\r
-       sprintf("%d",$_[0]);\r
-       }\r
-\r
-# now has a side affect of rotating $a by $shift\r
-sub R_PERM_OP\r
-       {\r
-       local($a,$b,$tt,$shift,$mask,$last)=@_;\r
-\r
-       &rotl(  $a,             $shift          ) if ($shift != 0);\r
-       &mov(   $tt,            $a              );\r
-       &xor(   $a,             $b              );\r
-       &and(   $a,             $mask           );\r
-       if ($notlast eq $b)\r
-               {\r
-               &xor(   $b,             $a              );\r
-               &xor(   $tt,            $a              );\r
-               }\r
-       else\r
-               {\r
-               &xor(   $tt,            $a              );\r
-               &xor(   $b,             $a              );\r
-               }\r
-       &comment("");\r
-       }\r
-\r
-sub IP_new\r
-       {\r
-       local($l,$r,$tt,$lr)=@_;\r
-\r
-       &R_PERM_OP($l,$r,$tt, 4,"0xf0f0f0f0",$l);\r
-       &R_PERM_OP($r,$tt,$l,20,"0xfff0000f",$l);\r
-       &R_PERM_OP($l,$tt,$r,14,"0x33333333",$r);\r
-       &R_PERM_OP($tt,$r,$l,22,"0x03fc03fc",$r);\r
-       &R_PERM_OP($l,$r,$tt, 9,"0xaaaaaaaa",$r);\r
-       \r
-       if ($lr != 3)\r
-               {\r
-               if (($lr-3) < 0)\r
-                       { &rotr($tt,    3-$lr); }\r
-               else    { &rotl($tt,    $lr-3); }\r
-               }\r
-       if ($lr != 2)\r
-               {\r
-               if (($lr-2) < 0)\r
-                       { &rotr($r,     2-$lr); }\r
-               else    { &rotl($r,     $lr-2); }\r
-               }\r
-       }\r
-\r
-sub FP_new\r
-       {\r
-       local($l,$r,$tt,$lr)=@_;\r
-\r
-       if ($lr != 2)\r
-               {\r
-               if (($lr-2) < 0)\r
-                       { &rotl($r,     2-$lr); }\r
-               else    { &rotr($r,     $lr-2); }\r
-               }\r
-       if ($lr != 3)\r
-               {\r
-               if (($lr-3) < 0)\r
-                       { &rotl($l,     3-$lr); }\r
-               else    { &rotr($l,     $lr-3); }\r
-               }\r
-\r
-       &R_PERM_OP($l,$r,$tt, 0,"0xaaaaaaaa",$r);\r
-       &R_PERM_OP($tt,$r,$l,23,"0x03fc03fc",$r);\r
-       &R_PERM_OP($l,$r,$tt,10,"0x33333333",$l);\r
-       &R_PERM_OP($r,$tt,$l,18,"0xfff0000f",$l);\r
-       &R_PERM_OP($l,$tt,$r,12,"0xf0f0f0f0",$r);\r
-       &rotr($tt       , 4);\r
-       }\r
-\r
diff --git a/crypto/des/asm/cx86-cpp.s b/crypto/des/asm/cx86-cpp.s
deleted file mode 100644 (file)
index e5165fa..0000000
+++ /dev/null
@@ -1,932 +0,0 @@
-       /* Don't even think of reading this code */
-       /* It was automatically generated by crypt.pl */
-       /* Which is a perl program used to generate the x86 assember for */
-       /* any of elf, a.out, Win32, or Solaris */
-       /* It can be found in SSLeay 0.6.5+ or in libdes 3.26+ */
-       /* eric <eay@cryptsoft.com> */
-       /* The inner loop instruction sequence and the IP/FP modifications */
-       /* are from Svend Olaf Mikkelsen <svolaf@inet.uni-c.dk> */
-
-       .file   "dx86xxxx.s"
-       .version        "01.01"
-gcc2_compiled.:
-.text
-       .align ALIGN
-.globl fcrypt_body
-       TYPE(fcrypt_body,@function)
-fcrypt_body:
-       pushl   %ebp
-       pushl   %ebx
-       pushl   %esi
-       pushl   %edi
-
-
-       /* Load the 2 words */
-       xorl    %edi,           %edi
-       xorl    %esi,           %esi
-       movl    24(%esp),       %ebp
-       movl    $25,            -8(%esp)
-.align ALIGN
-.L000start:
-
-       /* Round 0 */
-       movl    28(%esp),       %eax
-       movl    %esi,           %edx
-       shrl    $16,            %edx
-       movl    32(%esp),       %ecx
-       xorl    %esi,           %edx
-       andl    %edx,           %eax
-       andl    %ecx,           %edx
-       movl    %eax,           %ebx
-       sall    $16,            %ebx
-       movl    %edx,           %ecx
-       sall    $16,            %ecx
-       xorl    %ebx,           %eax
-       xorl    %ecx,           %edx
-       movl    (%ebp),         %ebx
-       xorl    %ebx,           %eax
-       movl    4(%ebp),        %ecx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       xorl    %ecx,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       xorl    %ebx,           %ebx
-       andl    $0xcfcfcfcf,    %edx
-       xorl    %ecx,           %ecx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 1 */
-       movl    28(%esp),       %eax
-       movl    %edi,           %edx
-       shrl    $16,            %edx
-       movl    32(%esp),       %ecx
-       xorl    %edi,           %edx
-       andl    %edx,           %eax
-       andl    %ecx,           %edx
-       movl    %eax,           %ebx
-       sall    $16,            %ebx
-       movl    %edx,           %ecx
-       sall    $16,            %ecx
-       xorl    %ebx,           %eax
-       xorl    %ecx,           %edx
-       movl    8(%ebp),        %ebx
-       xorl    %ebx,           %eax
-       movl    12(%ebp),       %ecx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       xorl    %ecx,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       xorl    %ebx,           %ebx
-       andl    $0xcfcfcfcf,    %edx
-       xorl    %ecx,           %ecx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 2 */
-       movl    28(%esp),       %eax
-       movl    %esi,           %edx
-       shrl    $16,            %edx
-       movl    32(%esp),       %ecx
-       xorl    %esi,           %edx
-       andl    %edx,           %eax
-       andl    %ecx,           %edx
-       movl    %eax,           %ebx
-       sall    $16,            %ebx
-       movl    %edx,           %ecx
-       sall    $16,            %ecx
-       xorl    %ebx,           %eax
-       xorl    %ecx,           %edx
-       movl    16(%ebp),       %ebx
-       xorl    %ebx,           %eax
-       movl    20(%ebp),       %ecx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       xorl    %ecx,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       xorl    %ebx,           %ebx
-       andl    $0xcfcfcfcf,    %edx
-       xorl    %ecx,           %ecx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 3 */
-       movl    28(%esp),       %eax
-       movl    %edi,           %edx
-       shrl    $16,            %edx
-       movl    32(%esp),       %ecx
-       xorl    %edi,           %edx
-       andl    %edx,           %eax
-       andl    %ecx,           %edx
-       movl    %eax,           %ebx
-       sall    $16,            %ebx
-       movl    %edx,           %ecx
-       sall    $16,            %ecx
-       xorl    %ebx,           %eax
-       xorl    %ecx,           %edx
-       movl    24(%ebp),       %ebx
-       xorl    %ebx,           %eax
-       movl    28(%ebp),       %ecx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       xorl    %ecx,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       xorl    %ebx,           %ebx
-       andl    $0xcfcfcfcf,    %edx
-       xorl    %ecx,           %ecx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 4 */
-       movl    28(%esp),       %eax
-       movl    %esi,           %edx
-       shrl    $16,            %edx
-       movl    32(%esp),       %ecx
-       xorl    %esi,           %edx
-       andl    %edx,           %eax
-       andl    %ecx,           %edx
-       movl    %eax,           %ebx
-       sall    $16,            %ebx
-       movl    %edx,           %ecx
-       sall    $16,            %ecx
-       xorl    %ebx,           %eax
-       xorl    %ecx,           %edx
-       movl    32(%ebp),       %ebx
-       xorl    %ebx,           %eax
-       movl    36(%ebp),       %ecx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       xorl    %ecx,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       xorl    %ebx,           %ebx
-       andl    $0xcfcfcfcf,    %edx
-       xorl    %ecx,           %ecx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 5 */
-       movl    28(%esp),       %eax
-       movl    %edi,           %edx
-       shrl    $16,            %edx
-       movl    32(%esp),       %ecx
-       xorl    %edi,           %edx
-       andl    %edx,           %eax
-       andl    %ecx,           %edx
-       movl    %eax,           %ebx
-       sall    $16,            %ebx
-       movl    %edx,           %ecx
-       sall    $16,            %ecx
-       xorl    %ebx,           %eax
-       xorl    %ecx,           %edx
-       movl    40(%ebp),       %ebx
-       xorl    %ebx,           %eax
-       movl    44(%ebp),       %ecx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       xorl    %ecx,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       xorl    %ebx,           %ebx
-       andl    $0xcfcfcfcf,    %edx
-       xorl    %ecx,           %ecx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 6 */
-       movl    28(%esp),       %eax
-       movl    %esi,           %edx
-       shrl    $16,            %edx
-       movl    32(%esp),       %ecx
-       xorl    %esi,           %edx
-       andl    %edx,           %eax
-       andl    %ecx,           %edx
-       movl    %eax,           %ebx
-       sall    $16,            %ebx
-       movl    %edx,           %ecx
-       sall    $16,            %ecx
-       xorl    %ebx,           %eax
-       xorl    %ecx,           %edx
-       movl    48(%ebp),       %ebx
-       xorl    %ebx,           %eax
-       movl    52(%ebp),       %ecx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       xorl    %ecx,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       xorl    %ebx,           %ebx
-       andl    $0xcfcfcfcf,    %edx
-       xorl    %ecx,           %ecx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 7 */
-       movl    28(%esp),       %eax
-       movl    %edi,           %edx
-       shrl    $16,            %edx
-       movl    32(%esp),       %ecx
-       xorl    %edi,           %edx
-       andl    %edx,           %eax
-       andl    %ecx,           %edx
-       movl    %eax,           %ebx
-       sall    $16,            %ebx
-       movl    %edx,           %ecx
-       sall    $16,            %ecx
-       xorl    %ebx,           %eax
-       xorl    %ecx,           %edx
-       movl    56(%ebp),       %ebx
-       xorl    %ebx,           %eax
-       movl    60(%ebp),       %ecx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       xorl    %ecx,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       xorl    %ebx,           %ebx
-       andl    $0xcfcfcfcf,    %edx
-       xorl    %ecx,           %ecx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 8 */
-       movl    28(%esp),       %eax
-       movl    %esi,           %edx
-       shrl    $16,            %edx
-       movl    32(%esp),       %ecx
-       xorl    %esi,           %edx
-       andl    %edx,           %eax
-       andl    %ecx,           %edx
-       movl    %eax,           %ebx
-       sall    $16,            %ebx
-       movl    %edx,           %ecx
-       sall    $16,            %ecx
-       xorl    %ebx,           %eax
-       xorl    %ecx,           %edx
-       movl    64(%ebp),       %ebx
-       xorl    %ebx,           %eax
-       movl    68(%ebp),       %ecx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       xorl    %ecx,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       xorl    %ebx,           %ebx
-       andl    $0xcfcfcfcf,    %edx
-       xorl    %ecx,           %ecx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 9 */
-       movl    28(%esp),       %eax
-       movl    %edi,           %edx
-       shrl    $16,            %edx
-       movl    32(%esp),       %ecx
-       xorl    %edi,           %edx
-       andl    %edx,           %eax
-       andl    %ecx,           %edx
-       movl    %eax,           %ebx
-       sall    $16,            %ebx
-       movl    %edx,           %ecx
-       sall    $16,            %ecx
-       xorl    %ebx,           %eax
-       xorl    %ecx,           %edx
-       movl    72(%ebp),       %ebx
-       xorl    %ebx,           %eax
-       movl    76(%ebp),       %ecx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       xorl    %ecx,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       xorl    %ebx,           %ebx
-       andl    $0xcfcfcfcf,    %edx
-       xorl    %ecx,           %ecx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 10 */
-       movl    28(%esp),       %eax
-       movl    %esi,           %edx
-       shrl    $16,            %edx
-       movl    32(%esp),       %ecx
-       xorl    %esi,           %edx
-       andl    %edx,           %eax
-       andl    %ecx,           %edx
-       movl    %eax,           %ebx
-       sall    $16,            %ebx
-       movl    %edx,           %ecx
-       sall    $16,            %ecx
-       xorl    %ebx,           %eax
-       xorl    %ecx,           %edx
-       movl    80(%ebp),       %ebx
-       xorl    %ebx,           %eax
-       movl    84(%ebp),       %ecx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       xorl    %ecx,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       xorl    %ebx,           %ebx
-       andl    $0xcfcfcfcf,    %edx
-       xorl    %ecx,           %ecx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 11 */
-       movl    28(%esp),       %eax
-       movl    %edi,           %edx
-       shrl    $16,            %edx
-       movl    32(%esp),       %ecx
-       xorl    %edi,           %edx
-       andl    %edx,           %eax
-       andl    %ecx,           %edx
-       movl    %eax,           %ebx
-       sall    $16,            %ebx
-       movl    %edx,           %ecx
-       sall    $16,            %ecx
-       xorl    %ebx,           %eax
-       xorl    %ecx,           %edx
-       movl    88(%ebp),       %ebx
-       xorl    %ebx,           %eax
-       movl    92(%ebp),       %ecx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       xorl    %ecx,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       xorl    %ebx,           %ebx
-       andl    $0xcfcfcfcf,    %edx
-       xorl    %ecx,           %ecx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 12 */
-       movl    28(%esp),       %eax
-       movl    %esi,           %edx
-       shrl    $16,            %edx
-       movl    32(%esp),       %ecx
-       xorl    %esi,           %edx
-       andl    %edx,           %eax
-       andl    %ecx,           %edx
-       movl    %eax,           %ebx
-       sall    $16,            %ebx
-       movl    %edx,           %ecx
-       sall    $16,            %ecx
-       xorl    %ebx,           %eax
-       xorl    %ecx,           %edx
-       movl    96(%ebp),       %ebx
-       xorl    %ebx,           %eax
-       movl    100(%ebp),      %ecx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       xorl    %ecx,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       xorl    %ebx,           %ebx
-       andl    $0xcfcfcfcf,    %edx
-       xorl    %ecx,           %ecx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 13 */
-       movl    28(%esp),       %eax
-       movl    %edi,           %edx
-       shrl    $16,            %edx
-       movl    32(%esp),       %ecx
-       xorl    %edi,           %edx
-       andl    %edx,           %eax
-       andl    %ecx,           %edx
-       movl    %eax,           %ebx
-       sall    $16,            %ebx
-       movl    %edx,           %ecx
-       sall    $16,            %ecx
-       xorl    %ebx,           %eax
-       xorl    %ecx,           %edx
-       movl    104(%ebp),      %ebx
-       xorl    %ebx,           %eax
-       movl    108(%ebp),      %ecx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       xorl    %ecx,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       xorl    %ebx,           %ebx
-       andl    $0xcfcfcfcf,    %edx
-       xorl    %ecx,           %ecx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 14 */
-       movl    28(%esp),       %eax
-       movl    %esi,           %edx
-       shrl    $16,            %edx
-       movl    32(%esp),       %ecx
-       xorl    %esi,           %edx
-       andl    %edx,           %eax
-       andl    %ecx,           %edx
-       movl    %eax,           %ebx
-       sall    $16,            %ebx
-       movl    %edx,           %ecx
-       sall    $16,            %ecx
-       xorl    %ebx,           %eax
-       xorl    %ecx,           %edx
-       movl    112(%ebp),      %ebx
-       xorl    %ebx,           %eax
-       movl    116(%ebp),      %ecx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       xorl    %ecx,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       xorl    %ebx,           %ebx
-       andl    $0xcfcfcfcf,    %edx
-       xorl    %ecx,           %ecx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 15 */
-       movl    28(%esp),       %eax
-       movl    %edi,           %edx
-       shrl    $16,            %edx
-       movl    32(%esp),       %ecx
-       xorl    %edi,           %edx
-       andl    %edx,           %eax
-       andl    %ecx,           %edx
-       movl    %eax,           %ebx
-       sall    $16,            %ebx
-       movl    %edx,           %ecx
-       sall    $16,            %ecx
-       xorl    %ebx,           %eax
-       xorl    %ecx,           %edx
-       movl    120(%ebp),      %ebx
-       xorl    %ebx,           %eax
-       movl    124(%ebp),      %ecx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       xorl    %ecx,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       xorl    %ebx,           %ebx
-       andl    $0xcfcfcfcf,    %edx
-       xorl    %ecx,           %ecx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-       movl    %edi,           %eax
-       decl    -8(%esp)
-       movl    %esi,           %edi
-       movl    %eax,           %esi
-       jnz     .L000start
-
-       /* FP */
-       movl    20(%esp),       %edx
-       rorl    $1,             %edi
-       movl    %esi,           %eax
-       xorl    %edi,           %esi
-       andl    $0xaaaaaaaa,    %esi
-       xorl    %esi,           %eax
-       xorl    %esi,           %edi
-
-       roll    $23,            %eax
-       movl    %eax,           %esi
-       xorl    %edi,           %eax
-       andl    $0x03fc03fc,    %eax
-       xorl    %eax,           %esi
-       xorl    %eax,           %edi
-
-       roll    $10,            %esi
-       movl    %esi,           %eax
-       xorl    %edi,           %esi
-       andl    $0x33333333,    %esi
-       xorl    %esi,           %eax
-       xorl    %esi,           %edi
-
-       roll    $18,            %edi
-       movl    %edi,           %esi
-       xorl    %eax,           %edi
-       andl    $0xfff0000f,    %edi
-       xorl    %edi,           %esi
-       xorl    %edi,           %eax
-
-       roll    $12,            %esi
-       movl    %esi,           %edi
-       xorl    %eax,           %esi
-       andl    $0xf0f0f0f0,    %esi
-       xorl    %esi,           %edi
-       xorl    %esi,           %eax
-
-       rorl    $4,             %eax
-       movl    %eax,           (%edx)
-       movl    %edi,           4(%edx)
-       popl    %edi
-       popl    %esi
-       popl    %ebx
-       popl    %ebp
-       ret
-.fcrypt_body_end:
-       SIZE(fcrypt_body,.fcrypt_body_end-fcrypt_body)
-.ident "desasm.pl"
diff --git a/crypto/des/asm/d-win32.uu b/crypto/des/asm/d-win32.uu
deleted file mode 100644 (file)
index 70d6383..0000000
+++ /dev/null
@@ -1,319 +0,0 @@
-begin 640 d-win32.obj
-M3`$"`/4&DC-`-@``#``````````N=&5X=```````````````W"$``&0```!`
-M(@`````````"```@`#!@+F1A=&$```#<(0````````````!`-@``````````
-M````````0``PP%535E>+="04,\F+!HM<)!R+?@3!P`2+\#/')?#P\/`S\#/X
-MP<<4B\<S_H'G#P#P_S/',_?!P`Z+^#/&)3,S,S,S^#/PP<86B\8S]X'F_`/\
-M`S/&,_[!P`F+\#/'):JJJJHS\#/XT<>#^P"+;"08#X2U!P``BT4`,]N+500S
-MQC/6)?S\_/R!XL_/S\^*V(K,P<H$BZL`````BMHS_8NI``(``#/]BL[!Z!"+
-MJP`!```S_8K<P>H0BZD``P``,_V+;"08BLXE_P```('B_P```(N;``8``#/[
-MBYD`!P``,_N+F``$```S^XN:``4``#/[BT4(,]N+50PSQS/7)?S\_/R!XL_/
-MS\^*V(K,P<H$BZL`````BMHS]8NI``(``#/UBL[!Z!"+JP`!```S]8K<P>H0
-MBZD``P``,_6+;"08BLXE_P```('B_P```(N;``8``#/SBYD`!P``,_.+F``$
-M```S\XN:``4``#/SBT40,]N+510SQC/6)?S\_/R!XL_/S\^*V(K,P<H$BZL`
-M````BMHS_8NI``(``#/]BL[!Z!"+JP`!```S_8K<P>H0BZD``P``,_V+;"08
-MBLXE_P```('B_P```(N;``8``#/[BYD`!P``,_N+F``$```S^XN:``4``#/[
-MBT48,]N+51PSQS/7)?S\_/R!XL_/S\^*V(K,P<H$BZL`````BMHS]8NI``(`
-M`#/UBL[!Z!"+JP`!```S]8K<P>H0BZD``P``,_6+;"08BLXE_P```('B_P``
-M`(N;``8``#/SBYD`!P``,_.+F``$```S\XN:``4``#/SBT4@,]N+520SQC/6
-M)?S\_/R!XL_/S\^*V(K,P<H$BZL`````BMHS_8NI``(``#/]BL[!Z!"+JP`!
-M```S_8K<P>H0BZD``P``,_V+;"08BLXE_P```('B_P```(N;``8``#/[BYD`
-M!P``,_N+F``$```S^XN:``4``#/[BT4H,]N+52PSQS/7)?S\_/R!XL_/S\^*
-MV(K,P<H$BZL`````BMHS]8NI``(``#/UBL[!Z!"+JP`!```S]8K<P>H0BZD`
-M`P``,_6+;"08BLXE_P```('B_P```(N;``8``#/SBYD`!P``,_.+F``$```S
-M\XN:``4``#/SBT4P,]N+530SQC/6)?S\_/R!XL_/S\^*V(K,P<H$BZL`````
-MBMHS_8NI``(``#/]BL[!Z!"+JP`!```S_8K<P>H0BZD``P``,_V+;"08BLXE
-M_P```('B_P```(N;``8``#/[BYD`!P``,_N+F``$```S^XN:``4``#/[BT4X
-M,]N+53PSQS/7)?S\_/R!XL_/S\^*V(K,P<H$BZL`````BMHS]8NI``(``#/U
-MBL[!Z!"+JP`!```S]8K<P>H0BZD``P``,_6+;"08BLXE_P```('B_P```(N;
-M``8``#/SBYD`!P``,_.+F``$```S\XN:``4``#/SBT5`,]N+540SQC/6)?S\
-M_/R!XL_/S\^*V(K,P<H$BZL`````BMHS_8NI``(``#/]BL[!Z!"+JP`!```S
-M_8K<P>H0BZD``P``,_V+;"08BLXE_P```('B_P```(N;``8``#/[BYD`!P``
-M,_N+F``$```S^XN:``4``#/[BT5(,]N+54PSQS/7)?S\_/R!XL_/S\^*V(K,
-MP<H$BZL`````BMHS]8NI``(``#/UBL[!Z!"+JP`!```S]8K<P>H0BZD``P``
-M,_6+;"08BLXE_P```('B_P```(N;``8``#/SBYD`!P``,_.+F``$```S\XN:
-M``4``#/SBT50,]N+550SQC/6)?S\_/R!XL_/S\^*V(K,P<H$BZL`````BMHS
-M_8NI``(``#/]BL[!Z!"+JP`!```S_8K<P>H0BZD``P``,_V+;"08BLXE_P``
-M`('B_P```(N;``8``#/[BYD`!P``,_N+F``$```S^XN:``4``#/[BT58,]N+
-M55PSQS/7)?S\_/R!XL_/S\^*V(K,P<H$BZL`````BMHS]8NI``(``#/UBL[!
-MZ!"+JP`!```S]8K<P>H0BZD``P``,_6+;"08BLXE_P```('B_P```(N;``8`
-M`#/SBYD`!P``,_.+F``$```S\XN:``4``#/SBT5@,]N+560SQC/6)?S\_/R!
-MXL_/S\^*V(K,P<H$BZL`````BMHS_8NI``(``#/]BL[!Z!"+JP`!```S_8K<
-MP>H0BZD``P``,_V+;"08BLXE_P```('B_P```(N;``8``#/[BYD`!P``,_N+
-MF``$```S^XN:``4``#/[BT5H,]N+56PSQS/7)?S\_/R!XL_/S\^*V(K,P<H$
-MBZL`````BMHS]8NI``(``#/UBL[!Z!"+JP`!```S]8K<P>H0BZD``P``,_6+
-M;"08BLXE_P```('B_P```(N;``8``#/SBYD`!P``,_.+F``$```S\XN:``4`
-M`#/SBT5P,]N+570SQC/6)?S\_/R!XL_/S\^*V(K,P<H$BZL`````BMHS_8NI
-M``(``#/]BL[!Z!"+JP`!```S_8K<P>H0BZD``P``,_V+;"08BLXE_P```('B
-M_P```(N;``8``#/[BYD`!P``,_N+F``$```S^XN:``4``#/[BT5X,]N+57PS
-MQS/7)?S\_/R!XL_/S\^*V(K,P<H$BZL`````BMHS]8NI``(``#/UBL[!Z!"+
-MJP`!```S]8K<P>H0BZD``P``,_6+;"08BLXE_P```('B_P```(N;``8``#/S
-MBYD`!P``,_.+F``$```S\XN:``4``#/SZ;`'``"+17@SVXM5?#/&,]8E_/S\
-M_('BS\_/SXK8BLS!R@2+JP````"*VC/]BZD``@``,_V*SL'H$(NK``$``#/]
-MBMS!ZA"+J0`#```S_8ML)!B*SB7_````@>+_````BYL`!@``,_N+F0`'```S
-M^XN8``0``#/[BYH`!0``,_N+17`SVXM5=#/',]<E_/S\_('BS\_/SXK8BLS!
-MR@2+JP````"*VC/UBZD``@``,_6*SL'H$(NK``$``#/UBMS!ZA"+J0`#```S
-M]8ML)!B*SB7_````@>+_````BYL`!@``,_.+F0`'```S\XN8``0``#/SBYH`
-M!0``,_.+16@SVXM5;#/&,]8E_/S\_('BS\_/SXK8BLS!R@2+JP````"*VC/]
-MBZD``@``,_V*SL'H$(NK``$``#/]BMS!ZA"+J0`#```S_8ML)!B*SB7_````
-M@>+_````BYL`!@``,_N+F0`'```S^XN8``0``#/[BYH`!0``,_N+16`SVXM5
-M9#/',]<E_/S\_('BS\_/SXK8BLS!R@2+JP````"*VC/UBZD``@``,_6*SL'H
-M$(NK``$``#/UBMS!ZA"+J0`#```S]8ML)!B*SB7_````@>+_````BYL`!@``
-M,_.+F0`'```S\XN8``0``#/SBYH`!0``,_.+15@SVXM57#/&,]8E_/S\_('B
-MS\_/SXK8BLS!R@2+JP````"*VC/]BZD``@``,_V*SL'H$(NK``$``#/]BMS!
-MZA"+J0`#```S_8ML)!B*SB7_````@>+_````BYL`!@``,_N+F0`'```S^XN8
-M``0``#/[BYH`!0``,_N+15`SVXM55#/',]<E_/S\_('BS\_/SXK8BLS!R@2+
-MJP````"*VC/UBZD``@``,_6*SL'H$(NK``$``#/UBMS!ZA"+J0`#```S]8ML
-M)!B*SB7_````@>+_````BYL`!@``,_.+F0`'```S\XN8``0``#/SBYH`!0``
-M,_.+14@SVXM53#/&,]8E_/S\_('BS\_/SXK8BLS!R@2+JP````"*VC/]BZD`
-M`@``,_V*SL'H$(NK``$``#/]BMS!ZA"+J0`#```S_8ML)!B*SB7_````@>+_
-M````BYL`!@``,_N+F0`'```S^XN8``0``#/[BYH`!0``,_N+14`SVXM51#/'
-M,]<E_/S\_('BS\_/SXK8BLS!R@2+JP````"*VC/UBZD``@``,_6*SL'H$(NK
-M``$``#/UBMS!ZA"+J0`#```S]8ML)!B*SB7_````@>+_````BYL`!@``,_.+
-MF0`'```S\XN8``0``#/SBYH`!0``,_.+13@SVXM5/#/&,]8E_/S\_('BS\_/
-MSXK8BLS!R@2+JP````"*VC/]BZD``@``,_V*SL'H$(NK``$``#/]BMS!ZA"+
-MJ0`#```S_8ML)!B*SB7_````@>+_````BYL`!@``,_N+F0`'```S^XN8``0`
-M`#/[BYH`!0``,_N+13`SVXM5-#/',]<E_/S\_('BS\_/SXK8BLS!R@2+JP``
-M``"*VC/UBZD``@``,_6*SL'H$(NK``$``#/UBMS!ZA"+J0`#```S]8ML)!B*
-MSB7_````@>+_````BYL`!@``,_.+F0`'```S\XN8``0``#/SBYH`!0``,_.+
-M12@SVXM5+#/&,]8E_/S\_('BS\_/SXK8BLS!R@2+JP````"*VC/]BZD``@``
-M,_V*SL'H$(NK``$``#/]BMS!ZA"+J0`#```S_8ML)!B*SB7_````@>+_````
-MBYL`!@``,_N+F0`'```S^XN8``0``#/[BYH`!0``,_N+12`SVXM5)#/',]<E
-M_/S\_('BS\_/SXK8BLS!R@2+JP````"*VC/UBZD``@``,_6*SL'H$(NK``$`
-M`#/UBMS!ZA"+J0`#```S]8ML)!B*SB7_````@>+_````BYL`!@``,_.+F0`'
-M```S\XN8``0``#/SBYH`!0``,_.+11@SVXM5'#/&,]8E_/S\_('BS\_/SXK8
-MBLS!R@2+JP````"*VC/]BZD``@``,_V*SL'H$(NK``$``#/]BMS!ZA"+J0`#
-M```S_8ML)!B*SB7_````@>+_````BYL`!@``,_N+F0`'```S^XN8``0``#/[
-MBYH`!0``,_N+11`SVXM5%#/',]<E_/S\_('BS\_/SXK8BLS!R@2+JP````"*
-MVC/UBZD``@``,_6*SL'H$(NK``$``#/UBMS!ZA"+J0`#```S]8ML)!B*SB7_
-M````@>+_````BYL`!@``,_.+F0`'```S\XN8``0``#/SBYH`!0``,_.+10@S
-MVXM5##/&,]8E_/S\_('BS\_/SXK8BLS!R@2+JP````"*VC/]BZD``@``,_V*
-MSL'H$(NK``$``#/]BMS!ZA"+J0`#```S_8ML)!B*SB7_````@>+_````BYL`
-M!@``,_N+F0`'```S^XN8``0``#/[BYH`!0``,_N+10`SVXM5!#/',]<E_/S\
-M_('BS\_/SXK8BLS!R@2+JP````"*VC/UBZD``@``,_6*SL'H$(NK``$``#/U
-MBMS!ZA"+J0`#```S]8ML)!B*SB7_````@>+_````BYL`!@``,_.+F0`'```S
-M\XN8``0``#/SBYH`!0``,_.+5"04T<Z+QS/^@>>JJJJJ,\<S]\'`%XOX,\8E
-M_`/\`S/X,_#!QPJ+QS/^@><S,S,S,\<S]\'&$HO^,_"!Y@\`\/\S_C/&P<<,
-MB_<S^('G\/#P\#/W,\?!R`2)`HER!%]>6UW#55-65XM$)!0SR8LPBUPD','&
-M`XMX!,''`X/[`(ML)!@/A+4'``"+10`SVXM5!#/&,]8E_/S\_('BS\_/SXK8
-MBLS!R@2+JP````"*VC/]BZD``@``,_V*SL'H$(NK``$``#/]BMS!ZA"+J0`#
-M```S_8ML)!B*SB7_````@>+_````BYL`!@``,_N+F0`'```S^XN8``0``#/[
-MBYH`!0``,_N+10@SVXM5##/',]<E_/S\_('BS\_/SXK8BLS!R@2+JP````"*
-MVC/UBZD``@``,_6*SL'H$(NK``$``#/UBMS!ZA"+J0`#```S]8ML)!B*SB7_
-M````@>+_````BYL`!@``,_.+F0`'```S\XN8``0``#/SBYH`!0``,_.+11`S
-MVXM5%#/&,]8E_/S\_('BS\_/SXK8BLS!R@2+JP````"*VC/]BZD``@``,_V*
-MSL'H$(NK``$``#/]BMS!ZA"+J0`#```S_8ML)!B*SB7_````@>+_````BYL`
-M!@``,_N+F0`'```S^XN8``0``#/[BYH`!0``,_N+11@SVXM5'#/',]<E_/S\
-M_('BS\_/SXK8BLS!R@2+JP````"*VC/UBZD``@``,_6*SL'H$(NK``$``#/U
-MBMS!ZA"+J0`#```S]8ML)!B*SB7_````@>+_````BYL`!@``,_.+F0`'```S
-M\XN8``0``#/SBYH`!0``,_.+12`SVXM5)#/&,]8E_/S\_('BS\_/SXK8BLS!
-MR@2+JP````"*VC/]BZD``@``,_V*SL'H$(NK``$``#/]BMS!ZA"+J0`#```S
-M_8ML)!B*SB7_````@>+_````BYL`!@``,_N+F0`'```S^XN8``0``#/[BYH`
-M!0``,_N+12@SVXM5+#/',]<E_/S\_('BS\_/SXK8BLS!R@2+JP````"*VC/U
-MBZD``@``,_6*SL'H$(NK``$``#/UBMS!ZA"+J0`#```S]8ML)!B*SB7_````
-M@>+_````BYL`!@``,_.+F0`'```S\XN8``0``#/SBYH`!0``,_.+13`SVXM5
-M-#/&,]8E_/S\_('BS\_/SXK8BLS!R@2+JP````"*VC/]BZD``@``,_V*SL'H
-M$(NK``$``#/]BMS!ZA"+J0`#```S_8ML)!B*SB7_````@>+_````BYL`!@``
-M,_N+F0`'```S^XN8``0``#/[BYH`!0``,_N+13@SVXM5/#/',]<E_/S\_('B
-MS\_/SXK8BLS!R@2+JP````"*VC/UBZD``@``,_6*SL'H$(NK``$``#/UBMS!
-MZA"+J0`#```S]8ML)!B*SB7_````@>+_````BYL`!@``,_.+F0`'```S\XN8
-M``0``#/SBYH`!0``,_.+14`SVXM51#/&,]8E_/S\_('BS\_/SXK8BLS!R@2+
-MJP````"*VC/]BZD``@``,_V*SL'H$(NK``$``#/]BMS!ZA"+J0`#```S_8ML
-M)!B*SB7_````@>+_````BYL`!@``,_N+F0`'```S^XN8``0``#/[BYH`!0``
-M,_N+14@SVXM53#/',]<E_/S\_('BS\_/SXK8BLS!R@2+JP````"*VC/UBZD`
-M`@``,_6*SL'H$(NK``$``#/UBMS!ZA"+J0`#```S]8ML)!B*SB7_````@>+_
-M````BYL`!@``,_.+F0`'```S\XN8``0``#/SBYH`!0``,_.+15`SVXM55#/&
-M,]8E_/S\_('BS\_/SXK8BLS!R@2+JP````"*VC/]BZD``@``,_V*SL'H$(NK
-M``$``#/]BMS!ZA"+J0`#```S_8ML)!B*SB7_````@>+_````BYL`!@``,_N+
-MF0`'```S^XN8``0``#/[BYH`!0``,_N+15@SVXM57#/',]<E_/S\_('BS\_/
-MSXK8BLS!R@2+JP````"*VC/UBZD``@``,_6*SL'H$(NK``$``#/UBMS!ZA"+
-MJ0`#```S]8ML)!B*SB7_````@>+_````BYL`!@``,_.+F0`'```S\XN8``0`
-M`#/SBYH`!0``,_.+16`SVXM59#/&,]8E_/S\_('BS\_/SXK8BLS!R@2+JP``
-M``"*VC/]BZD``@``,_V*SL'H$(NK``$``#/]BMS!ZA"+J0`#```S_8ML)!B*
-MSB7_````@>+_````BYL`!@``,_N+F0`'```S^XN8``0``#/[BYH`!0``,_N+
-M16@SVXM5;#/',]<E_/S\_('BS\_/SXK8BLS!R@2+JP````"*VC/UBZD``@``
-M,_6*SL'H$(NK``$``#/UBMS!ZA"+J0`#```S]8ML)!B*SB7_````@>+_````
-MBYL`!@``,_.+F0`'```S\XN8``0``#/SBYH`!0``,_.+17`SVXM5=#/&,]8E
-M_/S\_('BS\_/SXK8BLS!R@2+JP````"*VC/]BZD``@``,_V*SL'H$(NK``$`
-M`#/]BMS!ZA"+J0`#```S_8ML)!B*SB7_````@>+_````BYL`!@``,_N+F0`'
-M```S^XN8``0``#/[BYH`!0``,_N+17@SVXM5?#/',]<E_/S\_('BS\_/SXK8
-MBLS!R@2+JP````"*VC/UBZD``@``,_6*SL'H$(NK``$``#/UBMS!ZA"+J0`#
-M```S]8ML)!B*SB7_````@>+_````BYL`!@``,_.+F0`'```S\XN8``0``#/S
-MBYH`!0``,_/IL`<``(M%>#/;BU5\,\8SUB7\_/S\@>+/S\_/BMB*S,'*!(NK
-M`````(K:,_V+J0`"```S_8K.P>@0BZL``0``,_V*W,'J$(NI``,``#/]BVPD
-M&(K.)?\```"!XO\```"+FP`&```S^XN9``<``#/[BY@`!```,_N+F@`%```S
-M^XM%<#/;BU5T,\<SUR7\_/S\@>+/S\_/BMB*S,'*!(NK`````(K:,_6+J0`"
-M```S]8K.P>@0BZL``0``,_6*W,'J$(NI``,``#/UBVPD&(K.)?\```"!XO\`
-M``"+FP`&```S\XN9``<``#/SBY@`!```,_.+F@`%```S\XM%:#/;BU5L,\8S
-MUB7\_/S\@>+/S\_/BMB*S,'*!(NK`````(K:,_V+J0`"```S_8K.P>@0BZL`
-M`0``,_V*W,'J$(NI``,``#/]BVPD&(K.)?\```"!XO\```"+FP`&```S^XN9
-M``<``#/[BY@`!```,_N+F@`%```S^XM%8#/;BU5D,\<SUR7\_/S\@>+/S\_/
-MBMB*S,'*!(NK`````(K:,_6+J0`"```S]8K.P>@0BZL``0``,_6*W,'J$(NI
-M``,``#/UBVPD&(K.)?\```"!XO\```"+FP`&```S\XN9``<``#/SBY@`!```
-M,_.+F@`%```S\XM%6#/;BU5<,\8SUB7\_/S\@>+/S\_/BMB*S,'*!(NK````
-M`(K:,_V+J0`"```S_8K.P>@0BZL``0``,_V*W,'J$(NI``,``#/]BVPD&(K.
-M)?\```"!XO\```"+FP`&```S^XN9``<``#/[BY@`!```,_N+F@`%```S^XM%
-M4#/;BU54,\<SUR7\_/S\@>+/S\_/BMB*S,'*!(NK`````(K:,_6+J0`"```S
-M]8K.P>@0BZL``0``,_6*W,'J$(NI``,``#/UBVPD&(K.)?\```"!XO\```"+
-MFP`&```S\XN9``<``#/SBY@`!```,_.+F@`%```S\XM%2#/;BU5,,\8SUB7\
-M_/S\@>+/S\_/BMB*S,'*!(NK`````(K:,_V+J0`"```S_8K.P>@0BZL``0``
-M,_V*W,'J$(NI``,``#/]BVPD&(K.)?\```"!XO\```"+FP`&```S^XN9``<`
-M`#/[BY@`!```,_N+F@`%```S^XM%0#/;BU5$,\<SUR7\_/S\@>+/S\_/BMB*
-MS,'*!(NK`````(K:,_6+J0`"```S]8K.P>@0BZL``0``,_6*W,'J$(NI``,`
-M`#/UBVPD&(K.)?\```"!XO\```"+FP`&```S\XN9``<``#/SBY@`!```,_.+
-MF@`%```S\XM%.#/;BU4\,\8SUB7\_/S\@>+/S\_/BMB*S,'*!(NK`````(K:
-M,_V+J0`"```S_8K.P>@0BZL``0``,_V*W,'J$(NI``,``#/]BVPD&(K.)?\`
-M``"!XO\```"+FP`&```S^XN9``<``#/[BY@`!```,_N+F@`%```S^XM%,#/;
-MBU4T,\<SUR7\_/S\@>+/S\_/BMB*S,'*!(NK`````(K:,_6+J0`"```S]8K.
-MP>@0BZL``0``,_6*W,'J$(NI``,``#/UBVPD&(K.)?\```"!XO\```"+FP`&
-M```S\XN9``<``#/SBY@`!```,_.+F@`%```S\XM%*#/;BU4L,\8SUB7\_/S\
-M@>+/S\_/BMB*S,'*!(NK`````(K:,_V+J0`"```S_8K.P>@0BZL``0``,_V*
-MW,'J$(NI``,``#/]BVPD&(K.)?\```"!XO\```"+FP`&```S^XN9``<``#/[
-MBY@`!```,_N+F@`%```S^XM%(#/;BU4D,\<SUR7\_/S\@>+/S\_/BMB*S,'*
-M!(NK`````(K:,_6+J0`"```S]8K.P>@0BZL``0``,_6*W,'J$(NI``,``#/U
-MBVPD&(K.)?\```"!XO\```"+FP`&```S\XN9``<``#/SBY@`!```,_.+F@`%
-M```S\XM%&#/;BU4<,\8SUB7\_/S\@>+/S\_/BMB*S,'*!(NK`````(K:,_V+
-MJ0`"```S_8K.P>@0BZL``0``,_V*W,'J$(NI``,``#/]BVPD&(K.)?\```"!
-MXO\```"+FP`&```S^XN9``<``#/[BY@`!```,_N+F@`%```S^XM%$#/;BU44
-M,\<SUR7\_/S\@>+/S\_/BMB*S,'*!(NK`````(K:,_6+J0`"```S]8K.P>@0
-MBZL``0``,_6*W,'J$(NI``,``#/UBVPD&(K.)?\```"!XO\```"+FP`&```S
-M\XN9``<``#/SBY@`!```,_.+F@`%```S\XM%"#/;BU4,,\8SUB7\_/S\@>+/
-MS\_/BMB*S,'*!(NK`````(K:,_V+J0`"```S_8K.P>@0BZL``0``,_V*W,'J
-M$(NI``,``#/]BVPD&(K.)?\```"!XO\```"+FP`&```S^XN9``<``#/[BY@`
-M!```,_N+F@`%```S^XM%`#/;BU4$,\<SUR7\_/S\@>+/S\_/BMB*S,'*!(NK
-M`````(K:,_6+J0`"```S]8K.P>@0BZL``0``,_6*W,'J$(NI``,``#/UBVPD
-M&(K.)?\```"!XO\```"+FP`&```S\XN9``<``#/SBY@`!```,_.+F@`%```S
-M\\'/`XM$)!3!S@.).(EP!%]>6UW#55-65XM<)!2+.XMS!,''!(O7,_Z!Y_#P
-M\/`SUS/WP<84B_XS\H'F#P#P_S/^,];!QPZ+]S/Z@><S,S,S,_<SU\'"%HOZ
-M,]:!XOP#_`,S^C/RP<<)B]<S_H'GJJJJJC/7,_?!R@/!S@*)<P2+1"08B1.+
-M?"0<BW0D(&H!4%/HW^___VH`5U/HUN___VH!5E/HS>___XL[@\0DBW,$P<8"
-MP<<#B\<S_H'GJJJJJC/',_?!P!>+^#/&)?P#_`,S^#/PP<<*B\<S_H'G,S,S
-M,S/',_?!QA*+_C/P@>8/`/#_,_XSQL''#(OW,_B!Y_#P\/`S]S/'P<@$B0.)
-M<P1?7EM=PU535E>+7"04BSN+<P3!QP2+US/^@>?P\/#P,]<S]\'&%(O^,_*!
-MY@\`\/\S_C/6P<<.B_<S^H'G,S,S,S/W,]?!PA:+^C/6@>+\`_P#,_HS\L''
-M"8O7,_Z!YZJJJJHSUS/WP<H#P<X"B7,$BW0D&(D3BWPD'(M$)"!J`%!3Z-_N
-M__]J`5=3Z-;N__]J`%93Z,WN__^+.X/$)(MS!,'&`L''`XO',_Z!YZJJJJHS
-MQS/WP<`7B_@SQB7\`_P#,_@S\,''"HO',_Z!YS,S,S,SQS/WP<82B_XS\('F
-M#P#P_S/^,\;!QPR+]S/X@>?P\/#P,_<SQ\'(!(D#B7,$7UY;7<.4````!P``
-M``8`G@````<````&`*L````'````!@"X````!P````8`T0````<````&`-D`
-M```'````!@#A````!P````8`Z0````<````&``\!```'````!@`9`0``!P``
-M``8`)@$```<````&`#,!```'````!@!,`0``!P````8`5`$```<````&`%P!
-M```'````!@!D`0``!P````8`B@$```<````&`)0!```'````!@"A`0``!P``
-M``8`K@$```<````&`,<!```'````!@#/`0``!P````8`UP$```<````&`-\!
-M```'````!@`%`@``!P````8`#P(```<````&`!P"```'````!@`I`@``!P``
-M``8`0@(```<````&`$H"```'````!@!2`@``!P````8`6@(```<````&`(`"
-M```'````!@"*`@``!P````8`EP(```<````&`*0"```'````!@"]`@``!P``
-M``8`Q0(```<````&`,T"```'````!@#5`@``!P````8`^P(```<````&``4#
-M```'````!@`2`P``!P````8`'P,```<````&`#@#```'````!@!``P``!P``
-M``8`2`,```<````&`%`#```'````!@!V`P``!P````8`@`,```<````&`(T#
-M```'````!@":`P``!P````8`LP,```<````&`+L#```'````!@##`P``!P``
-M``8`RP,```<````&`/$#```'````!@#[`P``!P````8`"`0```<````&`!4$
-M```'````!@`N!```!P````8`-@0```<````&`#X$```'````!@!&!```!P``
-M``8`;`0```<````&`'8$```'````!@"#!```!P````8`D`0```<````&`*D$
-M```'````!@"Q!```!P````8`N00```<````&`,$$```'````!@#G!```!P``
-M``8`\00```<````&`/X$```'````!@`+!0``!P````8`)`4```<````&`"P%
-M```'````!@`T!0``!P````8`/`4```<````&`&(%```'````!@!L!0``!P``
-M``8`>04```<````&`(8%```'````!@"?!0``!P````8`IP4```<````&`*\%
-M```'````!@"W!0``!P````8`W04```<````&`.<%```'````!@#T!0``!P``
-M``8``08```<````&`!H&```'````!@`B!@``!P````8`*@8```<````&`#(&
-M```'````!@!8!@``!P````8`8@8```<````&`&\&```'````!@!\!@``!P``
-M``8`E08```<````&`)T&```'````!@"E!@``!P````8`K08```<````&`-,&
-M```'````!@#=!@``!P````8`Z@8```<````&`/<&```'````!@`0!P``!P``
-M``8`&`<```<````&`"`'```'````!@`H!P``!P````8`3@<```<````&`%@'
-M```'````!@!E!P``!P````8`<@<```<````&`(L'```'````!@"3!P``!P``
-M``8`FP<```<````&`*,'```'````!@#)!P``!P````8`TP<```<````&`.`'
-M```'````!@#M!P``!P````8`!@@```<````&``X(```'````!@`6"```!P``
-M``8`'@@```<````&`$D(```'````!@!3"```!P````8`8`@```<````&`&T(
-M```'````!@"&"```!P````8`C@@```<````&`)8(```'````!@">"```!P``
-M``8`Q`@```<````&`,X(```'````!@#;"```!P````8`Z`@```<````&``$)
-M```'````!@`)"0``!P````8`$0D```<````&`!D)```'````!@`_"0``!P``
-M``8`20D```<````&`%8)```'````!@!C"0``!P````8`?`D```<````&`(0)
-M```'````!@","0``!P````8`E`D```<````&`+H)```'````!@#$"0``!P``
-M``8`T0D```<````&`-X)```'````!@#W"0``!P````8`_PD```<````&``<*
-M```'````!@`/"@``!P````8`-0H```<````&`#\*```'````!@!,"@``!P``
-M``8`60H```<````&`'(*```'````!@!Z"@``!P````8`@@H```<````&`(H*
-M```'````!@"P"@``!P````8`N@H```<````&`,<*```'````!@#4"@``!P``
-M``8`[0H```<````&`/4*```'````!@#]"@``!P````8`!0L```<````&`"L+
-M```'````!@`U"P``!P````8`0@L```<````&`$\+```'````!@!H"P``!P``
-M``8`<`L```<````&`'@+```'````!@"`"P``!P````8`I@L```<````&`+`+
-M```'````!@"]"P``!P````8`R@L```<````&`.,+```'````!@#K"P``!P``
-M``8`\PL```<````&`/L+```'````!@`A#```!P````8`*PP```<````&`#@,
-M```'````!@!%#```!P````8`7@P```<````&`&8,```'````!@!N#```!P``
-M``8`=@P```<````&`)P,```'````!@"F#```!P````8`LPP```<````&`,`,
-M```'````!@#9#```!P````8`X0P```<````&`.D,```'````!@#Q#```!P``
-M``8`%PT```<````&`"$-```'````!@`N#0``!P````8`.PT```<````&`%0-
-M```'````!@!<#0``!P````8`9`T```<````&`&P-```'````!@"2#0``!P``
-M``8`G`T```<````&`*D-```'````!@"V#0``!P````8`SPT```<````&`-<-
-M```'````!@#?#0``!P````8`YPT```<````&``T.```'````!@`7#@``!P``
-M``8`)`X```<````&`#$.```'````!@!*#@``!P````8`4@X```<````&`%H.
-M```'````!@!B#@``!P````8`B`X```<````&`)(.```'````!@"?#@``!P``
-M``8`K`X```<````&`,4.```'````!@#-#@``!P````8`U0X```<````&`-T.
-M```'````!@`##P``!P````8`#0\```<````&`!H/```'````!@`G#P``!P``
-M``8`0`\```<````&`$@/```'````!@!0#P``!P````8`6`\```<````&`'X/
-M```'````!@"(#P``!P````8`E0\```<````&`*(/```'````!@"[#P``!P``
-M``8`PP\```<````&`,L/```'````!@#3#P``!P````8`@Q````<````&`(T0
-M```'````!@":$```!P````8`IQ````<````&`,`0```'````!@#($```!P``
-M``8`T!````<````&`-@0```'````!@#^$```!P````8`"!$```<````&`!41
-M```'````!@`B$0``!P````8`.Q$```<````&`$,1```'````!@!+$0``!P``
-M``8`4Q$```<````&`'D1```'````!@"#$0``!P````8`D!$```<````&`)T1
-M```'````!@"V$0``!P````8`OA$```<````&`,81```'````!@#.$0``!P``
-M``8`]!$```<````&`/X1```'````!@`+$@``!P````8`&!(```<````&`#$2
-M```'````!@`Y$@``!P````8`01(```<````&`$D2```'````!@!O$@``!P``
-M``8`>1(```<````&`(82```'````!@"3$@``!P````8`K!(```<````&`+02
-M```'````!@"\$@``!P````8`Q!(```<````&`.H2```'````!@#T$@``!P``
-M``8``1,```<````&``X3```'````!@`G$P``!P````8`+Q,```<````&`#<3
-M```'````!@`_$P``!P````8`91,```<````&`&\3```'````!@!\$P``!P``
-M``8`B1,```<````&`*(3```'````!@"J$P``!P````8`LA,```<````&`+H3
-M```'````!@#@$P``!P````8`ZA,```<````&`/<3```'````!@`$%```!P``
-M``8`'10```<````&`"44```'````!@`M%```!P````8`-10```<````&`%L4
-M```'````!@!E%```!P````8`<A0```<````&`'\4```'````!@"8%```!P``
-M``8`H!0```<````&`*@4```'````!@"P%```!P````8`UA0```<````&`.`4
-M```'````!@#M%```!P````8`^A0```<````&`!,5```'````!@`;%0``!P``
-M``8`(Q4```<````&`"L5```'````!@!1%0``!P````8`6Q4```<````&`&@5
-M```'````!@!U%0``!P````8`CA4```<````&`)85```'````!@">%0``!P``
-M``8`IA4```<````&`,P5```'````!@#6%0``!P````8`XQ4```<````&`/`5
-M```'````!@`)%@``!P````8`$18```<````&`!D6```'````!@`A%@``!P``
-M``8`1Q8```<````&`%$6```'````!@!>%@``!P````8`:Q8```<````&`(06
-M```'````!@",%@``!P````8`E!8```<````&`)P6```'````!@#"%@``!P``
-M``8`S!8```<````&`-D6```'````!@#F%@``!P````8`_Q8```<````&``<7
-M```'````!@`/%P``!P````8`%Q<```<````&`#T7```'````!@!'%P``!P``
-M``8`5!<```<````&`&$7```'````!@!Z%P``!P````8`@A<```<````&`(H7
-M```'````!@"2%P``!P````8`N!<```<````&`,(7```'````!@#/%P``!P``
-M``8`W!<```<````&`/47```'````!@#]%P``!P````8`!1@```<````&``T8
-M```'````!@`X&```!P````8`0A@```<````&`$\8```'````!@!<&```!P``
-M``8`=1@```<````&`'T8```'````!@"%&```!P````8`C1@```<````&`+,8
-M```'````!@"]&```!P````8`RA@```<````&`-<8```'````!@#P&```!P``
-M``8`^!@```<````&```9```'````!@`(&0``!P````8`+AD```<````&`#@9
-M```'````!@!%&0``!P````8`4AD```<````&`&L9```'````!@!S&0``!P``
-M``8`>QD```<````&`(,9```'````!@"I&0``!P````8`LQD```<````&`,`9
-M```'````!@#-&0``!P````8`YAD```<````&`.X9```'````!@#V&0``!P``
-M``8`_AD```<````&`"0:```'````!@`N&@``!P````8`.QH```<````&`$@:
-M```'````!@!A&@``!P````8`:1H```<````&`'$:```'````!@!Y&@``!P``
-M``8`GQH```<````&`*D:```'````!@"V&@``!P````8`PQH```<````&`-P:
-M```'````!@#D&@``!P````8`[!H```<````&`/0:```'````!@`:&P``!P``
-M``8`)!L```<````&`#$;```'````!@`^&P``!P````8`5QL```<````&`%\;
-M```'````!@!G&P``!P````8`;QL```<````&`)4;```'````!@"?&P``!P``
-M``8`K!L```<````&`+D;```'````!@#2&P``!P````8`VAL```<````&`.(;
-M```'````!@#J&P``!P````8`$!P```<````&`!H<```'````!@`G'```!P``
-M``8`-!P```<````&`$T<```'````!@!5'```!P````8`71P```<````&`&4<
-M```'````!@"+'```!P````8`E1P```<````&`*(<```'````!@"O'```!P``
-M``8`R!P```<````&`-`<```'````!@#8'```!P````8`X!P```<````&``8=
-M```'````!@`0'0``!P````8`'1T```<````&`"H=```'````!@!#'0``!P``
-M``8`2QT```<````&`%,=```'````!@!;'0``!P````8`@1T```<````&`(L=
-M```'````!@"8'0``!P````8`I1T```<````&`+X=```'````!@#&'0``!P``
-M``8`SAT```<````&`-8=```'````!@#\'0``!P````8`!AX```<````&`!,>
-M```'````!@`@'@``!P````8`.1X```<````&`$$>```'````!@!)'@``!P``
-M``8`41X```<````&`'<>```'````!@"!'@``!P````8`CAX```<````&`)L>
-M```'````!@"T'@``!P````8`O!X```<````&`,0>```'````!@#,'@``!P``
-M``8`\AX```<````&`/P>```'````!@`)'P``!P````8`%A\```<````&`"\?
-M```'````!@`W'P``!P````8`/Q\```<````&`$<?```'````!@!M'P``!P``
-M``8`=Q\```<````&`(0?```'````!@"1'P``!P````8`JA\```<````&`+(?
-M```'````!@"Z'P``!P````8`PA\```<````&`"YF:6QE`````````/[_``!G
-M`BY<8W)Y<'1O7&1E<UQA<VU<9"UW:6XS,BYA<VT``````````"YT97AT````
-M``````$````#`=PA`````@```````````````"YD871A``````````(````#
-M`0`````````````````````````````$```````````````"```````1````
-M``````$`(``"```````>````/1````$`(``"```````L````W!\```$`(``"
-M```````Z````W"````$`(``"`$@```!?9&5S7U-0=')A;G,`7V1E<U]E;F-R
-M>7!T`%]D97-?96YC<GEP=#(`7V1E<U]E;F-R>7!T,P!?9&5S7V1E8W)Y<'0S
-!````
-`
-end
diff --git a/crypto/des/asm/des-som2.pl b/crypto/des/asm/des-som2.pl
deleted file mode 100644 (file)
index b5dbc97..0000000
+++ /dev/null
@@ -1,308 +0,0 @@
-#!/usr/local/bin/perl
-#\r
-# The inner loop instruction sequence and the IP/FP modifications are from\r
-# Svend Olaf Mikkelsen <svolaf@inet.uni-c.dk>\r
-#\r
-\r
-$prog="des-som2.pl";\r
-\r
-# base code is in microsft\r
-# op dest, source\r
-# format.\r
-#\r
-\r
-require "desboth.pl";\r
-\r
-if (   ($ARGV[0] eq "elf"))\r
-       { require "x86unix.pl"; }\r
-elsif (        ($ARGV[0] eq "a.out"))\r
-       { $aout=1; require "x86unix.pl"; }\r
-elsif (        ($ARGV[0] eq "sol"))\r
-       { $sol=1; require "x86unix.pl"; }\r
-elsif (        ($ARGV[0] eq "cpp"))\r
-       { $cpp=1; require "x86unix.pl"; }\r
-elsif (        ($ARGV[0] eq "win32"))\r
-       { require "x86ms.pl"; }\r
-else\r
-       {\r
-       print STDERR <<"EOF";\r
-Pick one target type from\r
-       elf     - linux, FreeBSD etc\r
-       a.out   - old linux\r
-       sol     - x86 solaris\r
-       cpp     - format so x86unix.cpp can be used\r
-       win32   - Windows 95/Windows NT\r
-EOF\r
-       exit(1);\r
-       }\r
-\r
-&comment("Don't even think of reading this code");\r
-&comment("It was automatically generated by $prog");\r
-&comment("Which is a perl program used to generate the x86 assember for");\r
-&comment("any of elf, a.out, Win32, or Solaris");\r
-&comment("It can be found in SSLeay 0.6.5+ or in libdes 3.26+");\r
-&comment("eric <eay\@cryptsoft.com>");\r
-&comment("The inner loop instruction sequence and the IP/FP modifications");\r
-&comment("are from Svend Olaf Mikkelsen <svolaf\@inet.uni-c.dk>");\r
-\r
-&comment("");\r
-\r
-&file("dx86xxxx");\r
-\r
-$L="edi";\r
-$R="esi";\r
-\r
-&des_encrypt("des_encrypt",1);\r
-&des_encrypt("des_encrypt2",0);\r
-\r
-&des_encrypt3("des_encrypt3",1);\r
-&des_encrypt3("des_decrypt3",0);\r
-\r
-&file_end();\r
-\r
-sub des_encrypt\r
-       {\r
-       local($name,$do_ip)=@_;\r
-\r
-       &function_begin($name,3,"EXTRN   _des_SPtrans:DWORD");\r
-\r
-       &comment("");\r
-       &comment("Load the 2 words");\r
-       &mov("eax",&wparam(0));\r
-       &mov($R,&DWP(0,"eax","",0));\r
-       &mov($L,&DWP(4,"eax","",0));\r
-\r
-       if ($do_ip)\r
-               {\r
-               &comment("");\r
-               &comment("IP");\r
-               &IP_new($R,$L,"eax",3);\r
-#              &comment("");\r
-#              &comment("fixup rotate");\r
-#              &rotl($R,3);\r
-#              &rotl($L,3);\r
-               }\r
-       else\r
-               {\r
-               &comment("");\r
-               &comment("fixup rotate");\r
-               &rotl($R,3);\r
-               &rotl($L,3);\r
-               }\r
-\r
-       &comment("");\r
-       &comment("load counter, key_schedule and enc flag");\r
-\r
-       # encrypting part\r
-\r
-       $ks="ebp";\r
-#      &xor(   "ebx",          "ebx"           );\r
-       &mov("eax",&wparam(2)); # get encrypt flag\r
-       &xor(   "ecx",          "ecx"           );\r
-       &cmp("eax","0");\r
-       &mov(   $ks,            &wparam(1)      );\r
-       &je(&label("start_decrypt"));\r
-\r
-       for ($i=0; $i<16; $i+=2)\r
-               {\r
-               &comment("");\r
-               &comment("Round $i");\r
-               &D_ENCRYPT($i,$L,$R,$i*2,$ks,"des_SPtrans","eax","ebx","ecx","edx");\r
-\r
-               &comment("");\r
-               &comment("Round ".sprintf("%d",$i+1));\r
-               &D_ENCRYPT($i+1,$R,$L,($i+1)*2,$ks,"des_SPtrans","eax","ebx","ecx","edx");\r
-               }\r
-       &jmp(&label("end"));\r
-\r
-       &set_label("start_decrypt");\r
-\r
-       for ($i=15; $i>0; $i-=2)\r
-               {\r
-               &comment("");\r
-               &comment("Round $i");\r
-               &D_ENCRYPT(15-$i,$L,$R,$i*2,$ks,"des_SPtrans","eax","ebx","ecx","edx");\r
-               &comment("");\r
-               &comment("Round ".sprintf("%d",$i-1));\r
-               &D_ENCRYPT(15-$i+1,$R,$L,($i-1)*2,$ks,"des_SPtrans","eax","ebx","ecx","edx");\r
-               }\r
-\r
-       &set_label("end");\r
-\r
-       if ($do_ip)\r
-               {\r
-#              &comment("");\r
-#              &comment("Fixup");\r
-#              &rotr($L,3);            # r\r
-#              &rotr($R,3);            # l\r
-               &comment("");\r
-               &comment("FP");\r
-               &FP_new($R,$L,"eax",3);\r
-               }\r
-       else\r
-               {\r
-               &comment("");\r
-               &comment("Fixup");\r
-               &rotr($L,3);            # r\r
-               &rotr($R,3);            # l\r
-               }\r
-\r
-       &mov("eax",&wparam(0));\r
-       &mov(&DWP(0,"eax","",0),$L);\r
-       &mov(&DWP(4,"eax","",0),$R);\r
-\r
-       &function_end($name);\r
-       }\r
-\r
-sub D_ENCRYPT\r
-       {\r
-       local($r,$L,$R,$S,$ks,$desSP,$u,$tmp1,$tmp2,$t)=@_;\r
-\r
-       &mov(   $u,             &DWP(&n2a($S*4),$ks,"",0));\r
-       &xor(   $tmp1,          $tmp1);\r
-       &mov(   $t,             &DWP(&n2a(($S+1)*4),$ks,"",0));\r
-       &xor(   $u,             $R);\r
-       &xor(   $t,             $R);\r
-       &and(   $u,             "0xfcfcfcfc"    );\r
-       &and(   $t,             "0xcfcfcfcf"    );\r
-       &movb(  &LB($tmp1),     &LB($u) );\r
-       &movb(  &LB($tmp2),     &HB($u) );\r
-       &rotr(  $t,             4               );\r
-       &mov(   $ks,            &DWP("      $desSP",$tmp1,"",0));\r
-       &movb(  &LB($tmp1),     &LB($t) );\r
-       &xor(   $L,             $ks);\r
-       &mov(   $ks,            &DWP("0x200+$desSP",$tmp2,"",0));\r
-       &xor(   $L,             $ks); ######\r
-       &movb(  &LB($tmp2),     &HB($t) );\r
-       &shr(   $u,             16);\r
-       &mov(   $ks,            &DWP("0x100+$desSP",$tmp1,"",0));\r
-       &xor(   $L,             $ks); ######\r
-       &movb(  &LB($tmp1),     &HB($u) );\r
-       &shr(   $t,             16);\r
-       &mov(   $ks,            &DWP("0x300+$desSP",$tmp2,"",0));\r
-       &xor(   $L,             $ks);\r
-       &mov(   $ks,            &DWP(24,"esp","",0)); ####\r
-       &movb(  &LB($tmp2),     &HB($t) );\r
-       &and(   $u,             "0xff"  );\r
-       &and(   $t,             "0xff"  );\r
-       &mov(   $tmp1,          &DWP("0x600+$desSP",$tmp1,"",0));\r
-       &xor(   $L,             $tmp1);\r
-       &mov(   $tmp1,          &DWP("0x700+$desSP",$tmp2,"",0));\r
-       &xor(   $L,             $tmp1);\r
-       &mov(   $tmp1,          &DWP("0x400+$desSP",$u,"",0));\r
-       &xor(   $L,             $tmp1);\r
-       &mov(   $tmp1,          &DWP("0x500+$desSP",$t,"",0));\r
-       &xor(   $L,             $tmp1);\r
-       }\r
-\r
-sub PERM_OP\r
-       {\r
-       local($a,$b,$tt,$shift,$mask)=@_;\r
-\r
-       &mov(   $tt,            $a              );\r
-       &shr(   $tt,            $shift          );\r
-       &xor(   $tt,            $b              );\r
-       &and(   $tt,            $mask           );\r
-       &xor(   $b,             $tt             );\r
-       &shl(   $tt,            $shift          );\r
-       &xor(   $a,             $tt             );\r
-       }\r
-\r
-sub IP\r
-       {\r
-       local($l,$r,$tt)=@_;\r
-\r
-       &PERM_OP($r,$l,$tt, 4,"0x0f0f0f0f");\r
-       &PERM_OP($l,$r,$tt,16,"0x0000ffff");\r
-       &PERM_OP($r,$l,$tt, 2,"0x33333333");\r
-       &PERM_OP($l,$r,$tt, 8,"0x00ff00ff");\r
-       &PERM_OP($r,$l,$tt, 1,"0x55555555");\r
-       }\r
-\r
-sub FP\r
-       {\r
-       local($l,$r,$tt)=@_;\r
-\r
-       &PERM_OP($l,$r,$tt, 1,"0x55555555");\r
-        &PERM_OP($r,$l,$tt, 8,"0x00ff00ff");\r
-        &PERM_OP($l,$r,$tt, 2,"0x33333333");\r
-        &PERM_OP($r,$l,$tt,16,"0x0000ffff");\r
-        &PERM_OP($l,$r,$tt, 4,"0x0f0f0f0f");\r
-       }\r
-\r
-sub n2a\r
-       {\r
-       sprintf("%d",$_[0]);\r
-       }\r
-\r
-# now has a side affect of rotating $a by $shift\r
-sub R_PERM_OP\r
-       {\r
-       local($a,$b,$tt,$shift,$mask,$last)=@_;\r
-\r
-       &rotl(  $a,             $shift          ) if ($shift != 0);\r
-       &mov(   $tt,            $b              );\r
-       &xor(   $tt,            $a              );\r
-       &and(   $tt,            $mask           );\r
-       if ($last eq $b)\r
-               {\r
-               &xor(   $a,             $tt             );\r
-               &xor(   $b,             $tt             );\r
-               }\r
-       else\r
-               {\r
-               &xor(   $b,             $tt             );\r
-               &xor(   $a,             $tt             );\r
-               }\r
-       &comment("");\r
-       }\r
-\r
-sub IP_new\r
-       {\r
-       local($l,$r,$tt,$lr)=@_;\r
-\r
-       &R_PERM_OP($l,$r,$tt, 4,"0xf0f0f0f0",$l);\r
-       &R_PERM_OP($r,$l,$tt,20,"0xfff0000f",$l);\r
-       &R_PERM_OP($r,$l,$tt,14,"0x33333333",$r);\r
-       &R_PERM_OP($l,$r,$tt,22,"0x03fc03fc",$r);\r
-       &R_PERM_OP($l,$r,$tt, 9,"0xaaaaaaaa",$r);\r
-       \r
-       if ($lr != 3)\r
-               {\r
-               if (($lr-3) < 0)\r
-                       { &rotr($l,     3-$lr); }\r
-               else    { &rotl($l,     $lr-3); }\r
-               }\r
-       if ($lr != 2)\r
-               {\r
-               if (($lr-2) < 0)\r
-                       { &rotr($r,     2-$lr); }\r
-               else    { &rotl($r,     $lr-2); }\r
-               }\r
-       }\r
-\r
-sub FP_new\r
-       {\r
-       local($r,$l,$tt,$lr)=@_;\r
-\r
-       if ($lr != 2)\r
-               {\r
-               if (($lr-2) < 0)\r
-                       { &rotl($r,     2-$lr); }\r
-               else    { &rotr($r,     $lr-2); }\r
-               }\r
-       if ($lr != 3)\r
-               {\r
-               if (($lr-3) < 0)\r
-                       { &rotl($l,     3-$lr); }\r
-               else    { &rotr($l,     $lr-3); }\r
-               }\r
-\r
-       &R_PERM_OP($l,$r,$tt, 0,"0xaaaaaaaa",$r);\r
-       &R_PERM_OP($l,$r,$tt,23,"0x03fc03fc",$r);\r
-       &R_PERM_OP($l,$r,$tt,10,"0x33333333",$l);\r
-       &R_PERM_OP($r,$l,$tt,18,"0xfff0000f",$l);\r
-       &R_PERM_OP($r,$l,$tt,12,"0xf0f0f0f0",$r);\r
-       &rotr($l        , 4);\r
-       }\r
-\r
diff --git a/crypto/des/asm/des-som3.pl b/crypto/des/asm/des-som3.pl
deleted file mode 100644 (file)
index 3f35395..0000000
+++ /dev/null
@@ -1,266 +0,0 @@
-#!/usr/local/bin/perl
-#\r
-# The inner loop instruction sequence and the IP/FP modifications are from\r
-# Svend Olaf Mikkelsen <svolaf@inet.uni-c.dk>\r
-#\r
-\r
-$prog="des-som3.pl";\r
-\r
-# base code is in microsft\r
-# op dest, source\r
-# format.\r
-#\r
-\r
-require "desboth.pl";\r
-\r
-if (   ($ARGV[0] eq "elf"))\r
-       { require "x86unix.pl"; }\r
-elsif (        ($ARGV[0] eq "a.out"))\r
-       { $aout=1; require "x86unix.pl"; }\r
-elsif (        ($ARGV[0] eq "sol"))\r
-       { $sol=1; require "x86unix.pl"; }\r
-elsif (        ($ARGV[0] eq "cpp"))\r
-       { $cpp=1; require "x86unix.pl"; }\r
-elsif (        ($ARGV[0] eq "win32"))\r
-       { require "x86ms.pl"; }\r
-else\r
-       {\r
-       print STDERR <<"EOF";\r
-Pick one target type from\r
-       elf     - linux, FreeBSD etc\r
-       a.out   - old linux\r
-       sol     - x86 solaris\r
-       cpp     - format so x86unix.cpp can be used\r
-       win32   - Windows 95/Windows NT\r
-EOF\r
-       exit(1);\r
-       }\r
-\r
-&comment("Don't even think of reading this code");\r
-&comment("It was automatically generated by $prog");\r
-&comment("Which is a perl program used to generate the x86 assember for");\r
-&comment("any of elf, a.out, Win32, or Solaris");\r
-&comment("It can be found in SSLeay 0.6.5+ or in libdes 3.26+");\r
-&comment("eric <eay\@cryptsoft.com>");\r
-&comment("The inner loop instruction sequence and the IP/FP modifications");\r
-&comment("are from Svend Olaf Mikkelsen <svolaf\@inet.uni-c.dk>");\r
-\r
-&comment("");\r
-\r
-&file("dx86xxxx");\r
-\r
-$L="edi";\r
-$R="esi";\r
-\r
-&des_encrypt("des_encrypt",1);\r
-&des_encrypt("des_encrypt2",0);\r
-\r
-&des_encrypt3("des_encrypt3",1);\r
-&des_encrypt3("des_decrypt3",0);\r
-\r
-&file_end();\r
-\r
-sub des_encrypt\r
-       {\r
-       local($name,$do_ip)=@_;\r
-\r
-       &function_begin($name,3,EXTRN   _des_SPtrans:DWORD");\r
-\r
-       &comment("");\r
-       &comment("Load the 2 words");\r
-       $ks="ebp";\r
-\r
-       if ($do_ip)\r
-               {\r
-               &mov($R,&wparam(0));\r
-                &xor(  "ecx",          "ecx"           );\r
-               &mov("eax",&DWP(0,$R,"",0));\r
-                &mov("ebx",&wparam(2));        # get encrypt flag\r
-               &mov($L,&DWP(4,$R,"",0));\r
-               &comment("");\r
-               &comment("IP");\r
-               &IP_new("eax",$L,$R,3);\r
-               }\r
-       else\r
-               {\r
-               &mov("eax",&wparam(0));\r
-                &xor(  "ecx",          "ecx"           );\r
-               &mov($R,&DWP(0,"eax","",0));\r
-                &mov("ebx",&wparam(2));        # get encrypt flag\r
-               &rotl($R,3);\r
-               &mov($L,&DWP(4,"eax","",0));\r
-               &rotl($L,3);\r
-               }\r
-\r
-       &cmp("ebx","0");\r
-       &mov(   $ks,            &wparam(1)      );\r
-       &je(&label("start_decrypt"));\r
-\r
-       for ($i=0; $i<16; $i+=2)\r
-               {\r
-               &comment("");\r
-               &comment("Round $i");\r
-               &D_ENCRYPT($i,$L,$R,$i*2,$ks,"des_SPtrans","eax","ebx","ecx","edx");\r
-\r
-               &comment("");\r
-               &comment("Round ".sprintf("%d",$i+1));\r
-               &D_ENCRYPT($i+1,$R,$L,($i+1)*2,$ks,"des_SPtrans","eax","ebx","ecx","edx");\r
-               }\r
-       &jmp(&label("end"));\r
-\r
-       &set_label("start_decrypt");\r
-\r
-       for ($i=15; $i>0; $i-=2)\r
-               {\r
-               &comment("");\r
-               &comment("Round $i");\r
-               &D_ENCRYPT(15-$i,$L,$R,$i*2,$ks,"des_SPtrans","eax","ebx","ecx","edx");\r
-               &comment("");\r
-               &comment("Round ".sprintf("%d",$i-1));\r
-               &D_ENCRYPT(15-$i+1,$R,$L,($i-1)*2,$ks,"des_SPtrans","eax","ebx","ecx","edx");\r
-               }\r
-\r
-       &set_label("end");\r
-\r
-       if ($do_ip)\r
-               {\r
-               &comment("");\r
-               &comment("FP");\r
-               &mov("edx",&wparam(0));\r
-               &FP_new($L,$R,"eax",3);\r
-\r
-               &mov(&DWP(0,"edx","",0),"eax");\r
-               &mov(&DWP(4,"edx","",0),$R);\r
-               }\r
-       else\r
-               {\r
-               &comment("");\r
-               &comment("Fixup");\r
-               &rotr($L,3);            # r\r
-                &mov("eax",&wparam(0));\r
-               &rotr($R,3);            # l\r
-                &mov(&DWP(0,"eax","",0),$L);\r
-                &mov(&DWP(4,"eax","",0),$R);\r
-               }\r
-\r
-\r
-       &function_end($name);\r
-       }\r
-\r
-sub D_ENCRYPT\r
-       {\r
-       local($r,$L,$R,$S,$ks,$desSP,$u,$tmp1,$tmp2,$t)=@_;\r
-\r
-       &mov(   $u,             &DWP(&n2a($S*4),$ks,"",0));\r
-       &xor(   $tmp1,          $tmp1);\r
-       &mov(   $t,             &DWP(&n2a(($S+1)*4),$ks,"",0));\r
-       &xor(   $u,             $R);\r
-       &xor(   $t,             $R);\r
-       &and(   $u,             "0xfcfcfcfc"    );\r
-       &and(   $t,             "0xcfcfcfcf"    );\r
-       &movb(  &LB($tmp1),     &LB($u) );\r
-       &movb(  &LB($tmp2),     &HB($u) );\r
-       &rotr(  $t,             4               );\r
-       &mov(   $ks,            &DWP("      $desSP",$tmp1,"",0));\r
-       &movb(  &LB($tmp1),     &LB($t) );\r
-       &xor(   $L,             $ks);\r
-       &mov(   $ks,            &DWP("0x200+$desSP",$tmp2,"",0));\r
-       &xor(   $L,             $ks); ######\r
-       &movb(  &LB($tmp2),     &HB($t) );\r
-       &shr(   $u,             16);\r
-       &mov(   $ks,            &DWP("0x100+$desSP",$tmp1,"",0));\r
-       &xor(   $L,             $ks); ######\r
-       &movb(  &LB($tmp1),     &HB($u) );\r
-       &shr(   $t,             16);\r
-       &mov(   $ks,            &DWP("0x300+$desSP",$tmp2,"",0));\r
-       &xor(   $L,             $ks);\r
-       &mov(   $ks,            &DWP(24,"esp","",0)); ####\r
-       &movb(  &LB($tmp2),     &HB($t) );\r
-       &and(   $u,             "0xff"  );\r
-       &and(   $t,             "0xff"  );\r
-       &mov(   $tmp1,          &DWP("0x600+$desSP",$tmp1,"",0));\r
-       &xor(   $L,             $tmp1);\r
-       &mov(   $tmp1,          &DWP("0x700+$desSP",$tmp2,"",0));\r
-       &xor(   $L,             $tmp1);\r
-       &mov(   $tmp1,          &DWP("0x400+$desSP",$u,"",0));\r
-       &xor(   $L,             $tmp1);\r
-       &mov(   $tmp1,          &DWP("0x500+$desSP",$t,"",0));\r
-       &xor(   $L,             $tmp1);\r
-       }\r
-\r
-sub n2a\r
-       {\r
-       sprintf("%d",$_[0]);\r
-       }\r
-\r
-# now has a side affect of rotating $a by $shift\r
-sub R_PERM_OP\r
-       {\r
-       local($a,$b,$tt,$shift,$mask,$last)=@_;\r
-\r
-       &rotl(  $a,             $shift          ) if ($shift != 0);\r
-       &mov(   $tt,            $a              );\r
-       &xor(   $a,             $b              );\r
-       &and(   $a,             $mask           );\r
-       if ($notlast eq $b)\r
-               {\r
-               &xor(   $b,             $a              );\r
-               &xor(   $tt,            $a              );\r
-               }\r
-       else\r
-               {\r
-               &xor(   $tt,            $a              );\r
-               &xor(   $b,             $a              );\r
-               }\r
-       &comment("");\r
-       }\r
-\r
-sub IP_new\r
-       {\r
-       local($l,$r,$tt,$lr)=@_;\r
-\r
-       &R_PERM_OP($l,$r,$tt, 4,"0xf0f0f0f0",$l);\r
-       &R_PERM_OP($r,$tt,$l,20,"0xfff0000f",$l);\r
-       &R_PERM_OP($l,$tt,$r,14,"0x33333333",$r);\r
-       &R_PERM_OP($tt,$r,$l,22,"0x03fc03fc",$r);\r
-       &R_PERM_OP($l,$r,$tt, 9,"0xaaaaaaaa",$r);\r
-       \r
-       if ($lr != 3)\r
-               {\r
-               if (($lr-3) < 0)\r
-                       { &rotr($tt,    3-$lr); }\r
-               else    { &rotl($tt,    $lr-3); }\r
-               }\r
-       if ($lr != 2)\r
-               {\r
-               if (($lr-2) < 0)\r
-                       { &rotr($r,     2-$lr); }\r
-               else    { &rotl($r,     $lr-2); }\r
-               }\r
-       }\r
-\r
-sub FP_new\r
-       {\r
-       local($l,$r,$tt,$lr)=@_;\r
-\r
-       if ($lr != 2)\r
-               {\r
-               if (($lr-2) < 0)\r
-                       { &rotl($r,     2-$lr); }\r
-               else    { &rotr($r,     $lr-2); }\r
-               }\r
-       if ($lr != 3)\r
-               {\r
-               if (($lr-3) < 0)\r
-                       { &rotl($l,     3-$lr); }\r
-               else    { &rotr($l,     $lr-3); }\r
-               }\r
-\r
-       &R_PERM_OP($l,$r,$tt, 0,"0xaaaaaaaa",$r);\r
-       &R_PERM_OP($tt,$r,$l,23,"0x03fc03fc",$r);\r
-       &R_PERM_OP($l,$r,$tt,10,"0x33333333",$l);\r
-       &R_PERM_OP($r,$tt,$l,18,"0xfff0000f",$l);\r
-       &R_PERM_OP($l,$tt,$r,12,"0xf0f0f0f0",$r);\r
-       &rotr($tt       , 4);\r
-       }\r
-\r
diff --git a/crypto/des/asm/des586.pl b/crypto/des/asm/des586.pl
deleted file mode 100644 (file)
index 59c42d1..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-#!/usr/local/bin/perl
-\r
-$prog="des586.pl";\r
-\r
-# base code is in microsft\r
-# op dest, source\r
-# format.\r
-#\r
-\r
-# WILL NOT WORK ANYMORE WITH desboth.pl\r
-require "desboth.pl";\r
-\r
-if (   ($ARGV[0] eq "elf"))\r
-       { require "x86unix.pl"; }\r
-elsif (        ($ARGV[0] eq "a.out"))\r
-       { $aout=1; require "x86unix.pl"; }\r
-elsif (        ($ARGV[0] eq "sol"))\r
-       { $sol=1; require "x86unix.pl"; }\r
-elsif (        ($ARGV[0] eq "cpp"))\r
-       { $cpp=1; require "x86unix.pl"; }\r
-elsif (        ($ARGV[0] eq "win32"))\r
-       { require "x86ms.pl"; }\r
-else\r
-       {\r
-       print STDERR <<"EOF";\r
-Pick one target type from\r
-       elf     - linux, FreeBSD etc\r
-       a.out   - old linux\r
-       sol     - x86 solaris\r
-       cpp     - format so x86unix.cpp can be used\r
-       win32   - Windows 95/Windows NT\r
-EOF\r
-       exit(1);\r
-       }\r
-\r
-&comment("Don't even think of reading this code");\r
-&comment("It was automatically generated by $prog");\r
-&comment("Which is a perl program used to generate the x86 assember for");\r
-&comment("any of elf, a.out, Win32, or Solaris");\r
-&comment("It can be found in SSLeay 0.6.5+ or in libdes 3.26+");\r
-&comment("eric <eay\@cryptsoft.com>");\r
-&comment("");\r
-\r
-&file("dx86xxxx");\r
-\r
-$L="edi";\r
-$R="esi";\r
-\r
-&des_encrypt("des_encrypt",1);\r
-&des_encrypt("des_encrypt2",0);\r
-\r
-&des_encrypt3("des_encrypt3",1);\r
-&des_encrypt3("des_decrypt3",0);\r
-\r
-&file_end();\r
-\r
-sub des_encrypt\r
-       {\r
-       local($name,$do_ip)=@_;\r
-\r
-       &function_begin($name,3,"EXTRN   _des_SPtrans:DWORD");\r
-\r
-       &comment("");\r
-       &comment("Load the 2 words");\r
-       &mov("eax",&wparam(0));\r
-       &mov($R,&DWP(0,"eax","",0));\r
-       &mov($L,&DWP(4,"eax","",0));\r
-\r
-       if ($do_ip)\r
-               {\r
-               &comment("");\r
-               &comment("IP");\r
-               &IP($R,$L,"eax");\r
-               }\r
-\r
-       &comment("");\r
-       &comment("fixup rotate");\r
-       &rotl($R,3);\r
-       &rotl($L,3);\r
-\r
-       &comment("");\r
-       &comment("load counter, key_schedule and enc flag");\r
-\r
-       # encrypting part\r
-\r
-       $ks="ebp";\r
-       &xor(   "ebx",          "ebx"           );\r
-       &mov("eax",&wparam(2)); # get encrypt flag\r
-       &xor(   "ecx",          "ecx"           );\r
-       &cmp("eax","0");\r
-       &mov(   $ks,            &wparam(1)      );\r
-       &je(&label("start_decrypt"));\r
-\r
-       for ($i=0; $i<16; $i+=2)\r
-               {\r
-               &comment("");\r
-               &comment("Round $i");\r
-               &D_ENCRYPT($i,$L,$R,$i*2,$ks,"des_SPtrans","eax","ebx","ecx","edx");\r
-\r
-               &comment("");\r
-               &comment("Round ".sprintf("%d",$i+1));\r
-               &D_ENCRYPT($i+1,$R,$L,($i+1)*2,$ks,"des_SPtrans","eax","ebx","ecx","edx");\r
-               }\r
-       &jmp(&label("end"));\r
-\r
-       &set_label("start_decrypt");\r
-\r
-       for ($i=15; $i>0; $i-=2)\r
-               {\r
-               &comment("");\r
-               &comment("Round $i");\r
-               &D_ENCRYPT(15-$i,$L,$R,$i*2,$ks,"des_SPtrans","eax","ebx","ecx","edx");\r
-               &comment("");\r
-               &comment("Round ".sprintf("%d",$i-1));\r
-               &D_ENCRYPT(15-$i+1,$R,$L,($i-1)*2,$ks,"des_SPtrans","eax","ebx","ecx","edx");\r
-               }\r
-\r
-       &set_label("end");\r
-\r
-       &comment("");\r
-       &comment("Fixup");\r
-       &rotr($L,3);            # r\r
-       &rotr($R,3);            # l\r
-\r
-       if ($do_ip)\r
-               {\r
-               &comment("");\r
-               &comment("FP");\r
-               &FP($R,$L,"eax");\r
-               }\r
-\r
-       &mov("eax",&wparam(0));\r
-       &mov(&DWP(0,"eax","",0),$L);\r
-       &mov(&DWP(4,"eax","",0),$R);\r
-\r
-       &function_end($name);\r
-       }\r
-\r
-sub D_ENCRYPT\r
-       {\r
-       local($r,$L,$R,$S,$ks,$desSP,$u,$tmp1,$tmp2,$t)=@_;\r
-\r
-        &mov(  $t,             &DWP(&n2a(($S+1)*4),$ks,"",0));\r
-       &mov(   $u,             &DWP(&n2a($S*4),$ks,"",0));\r
-        &xor(  $t,             $R);\r
-       &xor(   $u,             $R);\r
-        &rotr( $t,             4               );\r
-       &and(   $u,             "0xfcfcfcfc"    );\r
-        &and(  $t,             "0xfcfcfcfc"    );\r
-       &movb(  &LB($tmp1),     &LB($u) );\r
-       &movb(  &LB($tmp2),     &HB($u) );\r
-       &xor(   $L,             &DWP("      $desSP",$tmp1,"",0));\r
-       &shr(   $u,             16);\r
-       &xor(   $L,             &DWP("0x200+$desSP",$tmp2,"",0));\r
-       &movb(  &LB($tmp1),     &LB($u) );\r
-       &movb(  &LB($tmp2),     &HB($u) );\r
-       &xor(   $L,             &DWP("0x400+$desSP",$tmp1,"",0));\r
-       &mov(   $u,             &DWP("0x600+$desSP",$tmp2,"",0));\r
-\r
-        &movb( &LB($tmp1),     &LB($t) );\r
-        &movb( &LB($tmp2),     &HB($t) );\r
-        &xor(  $L,             &DWP("0x100+$desSP",$tmp1,"",0));\r
-        &shr(  $t,             16);\r
-        &xor(  $u,             &DWP("0x300+$desSP",$tmp2,"",0));\r
-        &movb( &LB($tmp1),     &LB($t) );\r
-        &movb( &LB($tmp2),     &HB($t) );\r
-        &xor(  $L,             &DWP("0x500+$desSP",$tmp1,"",0));\r
-        &xor(  $u,             &DWP("0x700+$desSP",$tmp2,"",0));\r
-        &xor(  $L,     $u);\r
-       }\r
-\r
-sub PERM_OP\r
-       {\r
-       local($a,$b,$tt,$shift,$mask)=@_;\r
-\r
-       &mov(   $tt,            $a              );\r
-       &shr(   $tt,            $shift          );\r
-       &xor(   $tt,            $b              );\r
-       &and(   $tt,            $mask           );\r
-       &xor(   $b,             $tt             );\r
-       &shl(   $tt,            $shift          );\r
-       &xor(   $a,             $tt             );\r
-       }\r
-\r
-sub IP\r
-       {\r
-       local($l,$r,$tt)=@_;\r
-\r
-       &PERM_OP($r,$l,$tt, 4,"0x0f0f0f0f");\r
-       &PERM_OP($l,$r,$tt,16,"0x0000ffff");\r
-       &PERM_OP($r,$l,$tt, 2,"0x33333333");\r
-       &PERM_OP($l,$r,$tt, 8,"0x00ff00ff");\r
-       &PERM_OP($r,$l,$tt, 1,"0x55555555");\r
-       }\r
-\r
-sub FP\r
-       {\r
-       local($l,$r,$tt)=@_;\r
-\r
-       &PERM_OP($l,$r,$tt, 1,"0x55555555");\r
-        &PERM_OP($r,$l,$tt, 8,"0x00ff00ff");\r
-        &PERM_OP($l,$r,$tt, 2,"0x33333333");\r
-        &PERM_OP($r,$l,$tt,16,"0x0000ffff");\r
-        &PERM_OP($l,$r,$tt, 4,"0x0f0f0f0f");\r
-       }\r
-\r
-sub n2a\r
-       {\r
-       sprintf("%d",$_[0]);\r
-       }\r
diff --git a/crypto/des/asm/dx86-cpp.s b/crypto/des/asm/dx86-cpp.s
deleted file mode 100644 (file)
index 675bdeb..0000000
+++ /dev/null
@@ -1,2780 +0,0 @@
-       /* Don't even think of reading this code */
-       /* It was automatically generated by des-som2.pl */
-       /* Which is a perl program used to generate the x86 assember for */
-       /* any of elf, a.out, Win32, or Solaris */
-       /* It can be found in SSLeay 0.6.5+ or in libdes 3.26+ */
-       /* eric <eay@cryptsoft.com> */
-       /* The inner loop instruction sequence and the IP/FP modifications */
-       /* are from Svend Olaf Mikkelsen <svolaf@inet.uni-c.dk> */
-
-       .file   "dx86xxxx.s"
-       .version        "01.01"
-gcc2_compiled.:
-.text
-       .align ALIGN
-.globl des_encrypt
-       TYPE(des_encrypt,@function)
-des_encrypt:
-       pushl   %ebp
-       pushl   %ebx
-       pushl   %esi
-       pushl   %edi
-
-
-       /* Load the 2 words */
-       movl    20(%esp),       %esi
-       xorl    %ecx,           %ecx
-       movl    (%esi),         %eax
-       movl    28(%esp),       %ebx
-       movl    4(%esi),        %edi
-
-       /* IP */
-       roll    $4,             %eax
-       movl    %eax,           %esi
-       xorl    %edi,           %eax
-       andl    $0xf0f0f0f0,    %eax
-       xorl    %eax,           %esi
-       xorl    %eax,           %edi
-
-       roll    $20,            %edi
-       movl    %edi,           %eax
-       xorl    %esi,           %edi
-       andl    $0xfff0000f,    %edi
-       xorl    %edi,           %eax
-       xorl    %edi,           %esi
-
-       roll    $14,            %eax
-       movl    %eax,           %edi
-       xorl    %esi,           %eax
-       andl    $0x33333333,    %eax
-       xorl    %eax,           %edi
-       xorl    %eax,           %esi
-
-       roll    $22,            %esi
-       movl    %esi,           %eax
-       xorl    %edi,           %esi
-       andl    $0x03fc03fc,    %esi
-       xorl    %esi,           %eax
-       xorl    %esi,           %edi
-
-       roll    $9,             %eax
-       movl    %eax,           %esi
-       xorl    %edi,           %eax
-       andl    $0xaaaaaaaa,    %eax
-       xorl    %eax,           %esi
-       xorl    %eax,           %edi
-
-       roll    $1,             %edi
-       cmpl    $0,             %ebx
-       movl    24(%esp),       %ebp
-       je      .L000start_decrypt
-
-       /* Round 0 */
-       movl    (%ebp),         %eax
-       xorl    %ebx,           %ebx
-       movl    4(%ebp),        %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 1 */
-       movl    8(%ebp),        %eax
-       xorl    %ebx,           %ebx
-       movl    12(%ebp),       %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 2 */
-       movl    16(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    20(%ebp),       %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 3 */
-       movl    24(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    28(%ebp),       %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 4 */
-       movl    32(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    36(%ebp),       %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 5 */
-       movl    40(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    44(%ebp),       %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 6 */
-       movl    48(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    52(%ebp),       %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 7 */
-       movl    56(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    60(%ebp),       %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 8 */
-       movl    64(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    68(%ebp),       %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 9 */
-       movl    72(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    76(%ebp),       %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 10 */
-       movl    80(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    84(%ebp),       %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 11 */
-       movl    88(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    92(%ebp),       %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 12 */
-       movl    96(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    100(%ebp),      %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 13 */
-       movl    104(%ebp),      %eax
-       xorl    %ebx,           %ebx
-       movl    108(%ebp),      %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 14 */
-       movl    112(%ebp),      %eax
-       xorl    %ebx,           %ebx
-       movl    116(%ebp),      %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 15 */
-       movl    120(%ebp),      %eax
-       xorl    %ebx,           %ebx
-       movl    124(%ebp),      %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-       jmp     .L001end
-.align ALIGN
-.L000start_decrypt:
-
-       /* Round 15 */
-       movl    120(%ebp),      %eax
-       xorl    %ebx,           %ebx
-       movl    124(%ebp),      %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 14 */
-       movl    112(%ebp),      %eax
-       xorl    %ebx,           %ebx
-       movl    116(%ebp),      %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 13 */
-       movl    104(%ebp),      %eax
-       xorl    %ebx,           %ebx
-       movl    108(%ebp),      %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 12 */
-       movl    96(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    100(%ebp),      %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 11 */
-       movl    88(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    92(%ebp),       %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 10 */
-       movl    80(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    84(%ebp),       %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 9 */
-       movl    72(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    76(%ebp),       %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 8 */
-       movl    64(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    68(%ebp),       %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 7 */
-       movl    56(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    60(%ebp),       %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 6 */
-       movl    48(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    52(%ebp),       %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 5 */
-       movl    40(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    44(%ebp),       %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 4 */
-       movl    32(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    36(%ebp),       %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 3 */
-       movl    24(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    28(%ebp),       %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 2 */
-       movl    16(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    20(%ebp),       %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 1 */
-       movl    8(%ebp),        %eax
-       xorl    %ebx,           %ebx
-       movl    12(%ebp),       %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 0 */
-       movl    (%ebp),         %eax
-       xorl    %ebx,           %ebx
-       movl    4(%ebp),        %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-.align ALIGN
-.L001end:
-
-       /* FP */
-       movl    20(%esp),       %edx
-       rorl    $1,             %esi
-       movl    %edi,           %eax
-       xorl    %esi,           %edi
-       andl    $0xaaaaaaaa,    %edi
-       xorl    %edi,           %eax
-       xorl    %edi,           %esi
-
-       roll    $23,            %eax
-       movl    %eax,           %edi
-       xorl    %esi,           %eax
-       andl    $0x03fc03fc,    %eax
-       xorl    %eax,           %edi
-       xorl    %eax,           %esi
-
-       roll    $10,            %edi
-       movl    %edi,           %eax
-       xorl    %esi,           %edi
-       andl    $0x33333333,    %edi
-       xorl    %edi,           %eax
-       xorl    %edi,           %esi
-
-       roll    $18,            %esi
-       movl    %esi,           %edi
-       xorl    %eax,           %esi
-       andl    $0xfff0000f,    %esi
-       xorl    %esi,           %edi
-       xorl    %esi,           %eax
-
-       roll    $12,            %edi
-       movl    %edi,           %esi
-       xorl    %eax,           %edi
-       andl    $0xf0f0f0f0,    %edi
-       xorl    %edi,           %esi
-       xorl    %edi,           %eax
-
-       rorl    $4,             %eax
-       movl    %eax,           (%edx)
-       movl    %esi,           4(%edx)
-       popl    %edi
-       popl    %esi
-       popl    %ebx
-       popl    %ebp
-       ret
-.des_encrypt_end:
-       SIZE(des_encrypt,.des_encrypt_end-des_encrypt)
-.ident "desasm.pl"
-.text
-       .align ALIGN
-.globl des_encrypt2
-       TYPE(des_encrypt2,@function)
-des_encrypt2:
-       pushl   %ebp
-       pushl   %ebx
-       pushl   %esi
-       pushl   %edi
-
-
-       /* Load the 2 words */
-       movl    20(%esp),       %eax
-       xorl    %ecx,           %ecx
-       movl    (%eax),         %esi
-       movl    28(%esp),       %ebx
-       roll    $3,             %esi
-       movl    4(%eax),        %edi
-       roll    $3,             %edi
-       cmpl    $0,             %ebx
-       movl    24(%esp),       %ebp
-       je      .L002start_decrypt
-
-       /* Round 0 */
-       movl    (%ebp),         %eax
-       xorl    %ebx,           %ebx
-       movl    4(%ebp),        %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 1 */
-       movl    8(%ebp),        %eax
-       xorl    %ebx,           %ebx
-       movl    12(%ebp),       %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 2 */
-       movl    16(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    20(%ebp),       %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 3 */
-       movl    24(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    28(%ebp),       %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 4 */
-       movl    32(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    36(%ebp),       %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 5 */
-       movl    40(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    44(%ebp),       %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 6 */
-       movl    48(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    52(%ebp),       %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 7 */
-       movl    56(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    60(%ebp),       %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 8 */
-       movl    64(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    68(%ebp),       %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 9 */
-       movl    72(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    76(%ebp),       %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 10 */
-       movl    80(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    84(%ebp),       %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 11 */
-       movl    88(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    92(%ebp),       %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 12 */
-       movl    96(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    100(%ebp),      %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 13 */
-       movl    104(%ebp),      %eax
-       xorl    %ebx,           %ebx
-       movl    108(%ebp),      %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 14 */
-       movl    112(%ebp),      %eax
-       xorl    %ebx,           %ebx
-       movl    116(%ebp),      %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 15 */
-       movl    120(%ebp),      %eax
-       xorl    %ebx,           %ebx
-       movl    124(%ebp),      %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-       jmp     .L003end
-.align ALIGN
-.L002start_decrypt:
-
-       /* Round 15 */
-       movl    120(%ebp),      %eax
-       xorl    %ebx,           %ebx
-       movl    124(%ebp),      %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 14 */
-       movl    112(%ebp),      %eax
-       xorl    %ebx,           %ebx
-       movl    116(%ebp),      %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 13 */
-       movl    104(%ebp),      %eax
-       xorl    %ebx,           %ebx
-       movl    108(%ebp),      %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 12 */
-       movl    96(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    100(%ebp),      %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 11 */
-       movl    88(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    92(%ebp),       %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 10 */
-       movl    80(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    84(%ebp),       %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 9 */
-       movl    72(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    76(%ebp),       %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 8 */
-       movl    64(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    68(%ebp),       %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 7 */
-       movl    56(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    60(%ebp),       %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 6 */
-       movl    48(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    52(%ebp),       %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 5 */
-       movl    40(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    44(%ebp),       %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 4 */
-       movl    32(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    36(%ebp),       %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 3 */
-       movl    24(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    28(%ebp),       %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 2 */
-       movl    16(%ebp),       %eax
-       xorl    %ebx,           %ebx
-       movl    20(%ebp),       %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-
-       /* Round 1 */
-       movl    8(%ebp),        %eax
-       xorl    %ebx,           %ebx
-       movl    12(%ebp),       %edx
-       xorl    %esi,           %eax
-       xorl    %esi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %edi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %edi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %edi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %edi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %edi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %edi
-
-       /* Round 0 */
-       movl    (%ebp),         %eax
-       xorl    %ebx,           %ebx
-       movl    4(%ebp),        %edx
-       xorl    %edi,           %eax
-       xorl    %edi,           %edx
-       andl    $0xfcfcfcfc,    %eax
-       andl    $0xcfcfcfcf,    %edx
-       movb    %al,            %bl
-       movb    %ah,            %cl
-       rorl    $4,             %edx
-       movl          des_SPtrans(%ebx),%ebp
-       movb    %dl,            %bl
-       xorl    %ebp,           %esi
-       movl    0x200+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movb    %dh,            %cl
-       shrl    $16,            %eax
-       movl    0x100+des_SPtrans(%ebx),%ebp
-       xorl    %ebp,           %esi
-       movb    %ah,            %bl
-       shrl    $16,            %edx
-       movl    0x300+des_SPtrans(%ecx),%ebp
-       xorl    %ebp,           %esi
-       movl    24(%esp),       %ebp
-       movb    %dh,            %cl
-       andl    $0xff,          %eax
-       andl    $0xff,          %edx
-       movl    0x600+des_SPtrans(%ebx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x700+des_SPtrans(%ecx),%ebx
-       xorl    %ebx,           %esi
-       movl    0x400+des_SPtrans(%eax),%ebx
-       xorl    %ebx,           %esi
-       movl    0x500+des_SPtrans(%edx),%ebx
-       xorl    %ebx,           %esi
-.align ALIGN
-.L003end:
-
-       /* Fixup */
-       rorl    $3,             %edi
-       movl    20(%esp),       %eax
-       rorl    $3,             %esi
-       movl    %edi,           (%eax)
-       movl    %esi,           4(%eax)
-       popl    %edi
-       popl    %esi
-       popl    %ebx
-       popl    %ebp
-       ret
-.des_encrypt2_end:
-       SIZE(des_encrypt2,.des_encrypt2_end-des_encrypt2)
-.ident "desasm.pl"
-.text
-       .align ALIGN
-.globl des_encrypt3
-       TYPE(des_encrypt3,@function)
-des_encrypt3:
-       pushl   %ebp
-       pushl   %ebx
-       pushl   %esi
-       pushl   %edi
-
-
-       /* Load the data words */
-       movl    20(%esp),       %ebx
-       movl    (%ebx),         %edi
-       movl    4(%ebx),        %esi
-
-       /* IP */
-       roll    $4,             %edi
-       movl    %edi,           %edx
-       xorl    %esi,           %edi
-       andl    $0xf0f0f0f0,    %edi
-       xorl    %edi,           %edx
-       xorl    %edi,           %esi
-
-       roll    $20,            %esi
-       movl    %esi,           %edi
-       xorl    %edx,           %esi
-       andl    $0xfff0000f,    %esi
-       xorl    %esi,           %edi
-       xorl    %esi,           %edx
-
-       roll    $14,            %edi
-       movl    %edi,           %esi
-       xorl    %edx,           %edi
-       andl    $0x33333333,    %edi
-       xorl    %edi,           %esi
-       xorl    %edi,           %edx
-
-       roll    $22,            %edx
-       movl    %edx,           %edi
-       xorl    %esi,           %edx
-       andl    $0x03fc03fc,    %edx
-       xorl    %edx,           %edi
-       xorl    %edx,           %esi
-
-       roll    $9,             %edi
-       movl    %edi,           %edx
-       xorl    %esi,           %edi
-       andl    $0xaaaaaaaa,    %edi
-       xorl    %edi,           %edx
-       xorl    %edi,           %esi
-
-       rorl    $3,             %edx
-       rorl    $2,             %esi
-       movl    %esi,           4(%ebx)
-       movl    24(%esp),       %eax
-       movl    %edx,           (%ebx)
-       movl    28(%esp),       %edi
-       movl    32(%esp),       %esi
-       pushl   $1
-       pushl   %eax
-       pushl   %ebx
-       call    des_encrypt2
-       pushl   $0
-       pushl   %edi
-       pushl   %ebx
-       call    des_encrypt2
-       pushl   $1
-       pushl   %esi
-       pushl   %ebx
-       call    des_encrypt2
-       movl    (%ebx),         %edi
-       addl    $36,            %esp
-       movl    4(%ebx),        %esi
-
-       /* FP */
-       roll    $2,             %esi
-       roll    $3,             %edi
-       movl    %edi,           %eax
-       xorl    %esi,           %edi
-       andl    $0xaaaaaaaa,    %edi
-       xorl    %edi,           %eax
-       xorl    %edi,           %esi
-
-       roll    $23,            %eax
-       movl    %eax,           %edi
-       xorl    %esi,           %eax
-       andl    $0x03fc03fc,    %eax
-       xorl    %eax,           %edi
-       xorl    %eax,           %esi
-
-       roll    $10,            %edi
-       movl    %edi,           %eax
-       xorl    %esi,           %edi
-       andl    $0x33333333,    %edi
-       xorl    %edi,           %eax
-       xorl    %edi,           %esi
-
-       roll    $18,            %esi
-       movl    %esi,           %edi
-       xorl    %eax,           %esi
-       andl    $0xfff0000f,    %esi
-       xorl    %esi,           %edi
-       xorl    %esi,           %eax
-
-       roll    $12,            %edi
-       movl    %edi,           %esi
-       xorl    %eax,           %edi
-       andl    $0xf0f0f0f0,    %edi
-       xorl    %edi,           %esi
-       xorl    %edi,           %eax
-
-       rorl    $4,             %eax
-       movl    %eax,           (%ebx)
-       movl    %esi,           4(%ebx)
-       popl    %edi
-       popl    %esi
-       popl    %ebx
-       popl    %ebp
-       ret
-.des_encrypt3_end:
-       SIZE(des_encrypt3,.des_encrypt3_end-des_encrypt3)
-.ident "desasm.pl"
-.text
-       .align ALIGN
-.globl des_decrypt3
-       TYPE(des_decrypt3,@function)
-des_decrypt3:
-       pushl   %ebp
-       pushl   %ebx
-       pushl   %esi
-       pushl   %edi
-
-
-       /* Load the data words */
-       movl    20(%esp),       %ebx
-       movl    (%ebx),         %edi
-       movl    4(%ebx),        %esi
-
-       /* IP */
-       roll    $4,             %edi
-       movl    %edi,           %edx
-       xorl    %esi,           %edi
-       andl    $0xf0f0f0f0,    %edi
-       xorl    %edi,           %edx
-       xorl    %edi,           %esi
-
-       roll    $20,            %esi
-       movl    %esi,           %edi
-       xorl    %edx,           %esi
-       andl    $0xfff0000f,    %esi
-       xorl    %esi,           %edi
-       xorl    %esi,           %edx
-
-       roll    $14,            %edi
-       movl    %edi,           %esi
-       xorl    %edx,           %edi
-       andl    $0x33333333,    %edi
-       xorl    %edi,           %esi
-       xorl    %edi,           %edx
-
-       roll    $22,            %edx
-       movl    %edx,           %edi
-       xorl    %esi,           %edx
-       andl    $0x03fc03fc,    %edx
-       xorl    %edx,           %edi
-       xorl    %edx,           %esi
-
-       roll    $9,             %edi
-       movl    %edi,           %edx
-       xorl    %esi,           %edi
-       andl    $0xaaaaaaaa,    %edi
-       xorl    %edi,           %edx
-       xorl    %edi,           %esi
-
-       rorl    $3,             %edx
-       rorl    $2,             %esi
-       movl    %esi,           4(%ebx)
-       movl    24(%esp),       %esi
-       movl    %edx,           (%ebx)
-       movl    28(%esp),       %edi
-       movl    32(%esp),       %eax
-       pushl   $0
-       pushl   %eax
-       pushl   %ebx
-       call    des_encrypt2
-       pushl   $1
-       pushl   %edi
-       pushl   %ebx
-       call    des_encrypt2
-       pushl   $0
-       pushl   %esi
-       pushl   %ebx
-       call    des_encrypt2
-       movl    (%ebx),         %edi
-       addl    $36,            %esp
-       movl    4(%ebx),        %esi
-
-       /* FP */
-       roll    $2,             %esi
-       roll    $3,             %edi
-       movl    %edi,           %eax
-       xorl    %esi,           %edi
-       andl    $0xaaaaaaaa,    %edi
-       xorl    %edi,           %eax
-       xorl    %edi,           %esi
-
-       roll    $23,            %eax
-       movl    %eax,           %edi
-       xorl    %esi,           %eax
-       andl    $0x03fc03fc,    %eax
-       xorl    %eax,           %edi
-       xorl    %eax,           %esi
-
-       roll    $10,            %edi
-       movl    %edi,           %eax
-       xorl    %esi,           %edi
-       andl    $0x33333333,    %edi
-       xorl    %edi,           %eax
-       xorl    %edi,           %esi
-
-       roll    $18,            %esi
-       movl    %esi,           %edi
-       xorl    %eax,           %esi
-       andl    $0xfff0000f,    %esi
-       xorl    %esi,           %edi
-       xorl    %esi,           %eax
-
-       roll    $12,            %edi
-       movl    %edi,           %esi
-       xorl    %eax,           %edi
-       andl    $0xf0f0f0f0,    %edi
-       xorl    %edi,           %esi
-       xorl    %edi,           %eax
-
-       rorl    $4,             %eax
-       movl    %eax,           (%ebx)
-       movl    %esi,           4(%ebx)
-       popl    %edi
-       popl    %esi
-       popl    %ebx
-       popl    %ebp
-       ret
-.des_decrypt3_end:
-       SIZE(des_decrypt3,.des_decrypt3_end-des_decrypt3)
-.ident "desasm.pl"
diff --git a/crypto/des/asm/f.cpp b/crypto/des/asm/f.cpp
deleted file mode 100644 (file)
index 4fa46f2..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#define abc    def
-#define dbc:   ghi:
-
-
-abc
-dbc: