Index: openssl/crypto/des/asm/des-586-mac.S |
diff --git a/openssl/crypto/des/asm/des-586-mac.S b/openssl/crypto/des/asm/des-586-mac.S |
deleted file mode 100644 |
index 49694169c118ff6046f65e8da8f0128d3a3ec2c8..0000000000000000000000000000000000000000 |
--- a/openssl/crypto/des/asm/des-586-mac.S |
+++ /dev/null |
@@ -1,1821 +0,0 @@ |
-.file "des-586.s" |
-.text |
-.globl _DES_SPtrans |
-.align 4 |
-__x86_DES_encrypt: |
- pushl %ecx |
- # Round 0 |
- movl (%ecx),%eax |
- xorl %ebx,%ebx |
- movl 4(%ecx),%edx |
- xorl %esi,%eax |
- xorl %ecx,%ecx |
- xorl %esi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%edi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%edi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%edi |
- xorl 0x700(%ebp,%ecx,1),%edi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%edi |
- xorl 0x500(%ebp,%edx,1),%edi |
- # Round 1 |
- movl 8(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 12(%ecx),%edx |
- xorl %edi,%eax |
- xorl %ecx,%ecx |
- xorl %edi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%esi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%esi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%esi |
- xorl 0x700(%ebp,%ecx,1),%esi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%esi |
- xorl 0x500(%ebp,%edx,1),%esi |
- # Round 2 |
- movl 16(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 20(%ecx),%edx |
- xorl %esi,%eax |
- xorl %ecx,%ecx |
- xorl %esi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%edi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%edi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%edi |
- xorl 0x700(%ebp,%ecx,1),%edi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%edi |
- xorl 0x500(%ebp,%edx,1),%edi |
- # Round 3 |
- movl 24(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 28(%ecx),%edx |
- xorl %edi,%eax |
- xorl %ecx,%ecx |
- xorl %edi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%esi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%esi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%esi |
- xorl 0x700(%ebp,%ecx,1),%esi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%esi |
- xorl 0x500(%ebp,%edx,1),%esi |
- # Round 4 |
- movl 32(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 36(%ecx),%edx |
- xorl %esi,%eax |
- xorl %ecx,%ecx |
- xorl %esi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%edi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%edi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%edi |
- xorl 0x700(%ebp,%ecx,1),%edi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%edi |
- xorl 0x500(%ebp,%edx,1),%edi |
- # Round 5 |
- movl 40(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 44(%ecx),%edx |
- xorl %edi,%eax |
- xorl %ecx,%ecx |
- xorl %edi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%esi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%esi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%esi |
- xorl 0x700(%ebp,%ecx,1),%esi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%esi |
- xorl 0x500(%ebp,%edx,1),%esi |
- # Round 6 |
- movl 48(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 52(%ecx),%edx |
- xorl %esi,%eax |
- xorl %ecx,%ecx |
- xorl %esi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%edi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%edi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%edi |
- xorl 0x700(%ebp,%ecx,1),%edi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%edi |
- xorl 0x500(%ebp,%edx,1),%edi |
- # Round 7 |
- movl 56(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 60(%ecx),%edx |
- xorl %edi,%eax |
- xorl %ecx,%ecx |
- xorl %edi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%esi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%esi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%esi |
- xorl 0x700(%ebp,%ecx,1),%esi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%esi |
- xorl 0x500(%ebp,%edx,1),%esi |
- # Round 8 |
- movl 64(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 68(%ecx),%edx |
- xorl %esi,%eax |
- xorl %ecx,%ecx |
- xorl %esi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%edi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%edi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%edi |
- xorl 0x700(%ebp,%ecx,1),%edi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%edi |
- xorl 0x500(%ebp,%edx,1),%edi |
- # Round 9 |
- movl 72(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 76(%ecx),%edx |
- xorl %edi,%eax |
- xorl %ecx,%ecx |
- xorl %edi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%esi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%esi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%esi |
- xorl 0x700(%ebp,%ecx,1),%esi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%esi |
- xorl 0x500(%ebp,%edx,1),%esi |
- # Round 10 |
- movl 80(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 84(%ecx),%edx |
- xorl %esi,%eax |
- xorl %ecx,%ecx |
- xorl %esi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%edi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%edi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%edi |
- xorl 0x700(%ebp,%ecx,1),%edi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%edi |
- xorl 0x500(%ebp,%edx,1),%edi |
- # Round 11 |
- movl 88(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 92(%ecx),%edx |
- xorl %edi,%eax |
- xorl %ecx,%ecx |
- xorl %edi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%esi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%esi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%esi |
- xorl 0x700(%ebp,%ecx,1),%esi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%esi |
- xorl 0x500(%ebp,%edx,1),%esi |
- # Round 12 |
- movl 96(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 100(%ecx),%edx |
- xorl %esi,%eax |
- xorl %ecx,%ecx |
- xorl %esi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%edi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%edi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%edi |
- xorl 0x700(%ebp,%ecx,1),%edi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%edi |
- xorl 0x500(%ebp,%edx,1),%edi |
- # Round 13 |
- movl 104(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 108(%ecx),%edx |
- xorl %edi,%eax |
- xorl %ecx,%ecx |
- xorl %edi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%esi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%esi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%esi |
- xorl 0x700(%ebp,%ecx,1),%esi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%esi |
- xorl 0x500(%ebp,%edx,1),%esi |
- # Round 14 |
- movl 112(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 116(%ecx),%edx |
- xorl %esi,%eax |
- xorl %ecx,%ecx |
- xorl %esi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%edi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%edi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%edi |
- xorl 0x700(%ebp,%ecx,1),%edi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%edi |
- xorl 0x500(%ebp,%edx,1),%edi |
- # Round 15 |
- movl 120(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 124(%ecx),%edx |
- xorl %edi,%eax |
- xorl %ecx,%ecx |
- xorl %edi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%esi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%esi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%esi |
- xorl 0x700(%ebp,%ecx,1),%esi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%esi |
- xorl 0x500(%ebp,%edx,1),%esi |
- addl $4,%esp |
- ret |
-.align 4 |
-__x86_DES_decrypt: |
- pushl %ecx |
- # Round 15 |
- movl 120(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 124(%ecx),%edx |
- xorl %esi,%eax |
- xorl %ecx,%ecx |
- xorl %esi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%edi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%edi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%edi |
- xorl 0x700(%ebp,%ecx,1),%edi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%edi |
- xorl 0x500(%ebp,%edx,1),%edi |
- # Round 14 |
- movl 112(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 116(%ecx),%edx |
- xorl %edi,%eax |
- xorl %ecx,%ecx |
- xorl %edi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%esi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%esi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%esi |
- xorl 0x700(%ebp,%ecx,1),%esi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%esi |
- xorl 0x500(%ebp,%edx,1),%esi |
- # Round 13 |
- movl 104(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 108(%ecx),%edx |
- xorl %esi,%eax |
- xorl %ecx,%ecx |
- xorl %esi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%edi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%edi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%edi |
- xorl 0x700(%ebp,%ecx,1),%edi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%edi |
- xorl 0x500(%ebp,%edx,1),%edi |
- # Round 12 |
- movl 96(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 100(%ecx),%edx |
- xorl %edi,%eax |
- xorl %ecx,%ecx |
- xorl %edi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%esi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%esi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%esi |
- xorl 0x700(%ebp,%ecx,1),%esi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%esi |
- xorl 0x500(%ebp,%edx,1),%esi |
- # Round 11 |
- movl 88(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 92(%ecx),%edx |
- xorl %esi,%eax |
- xorl %ecx,%ecx |
- xorl %esi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%edi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%edi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%edi |
- xorl 0x700(%ebp,%ecx,1),%edi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%edi |
- xorl 0x500(%ebp,%edx,1),%edi |
- # Round 10 |
- movl 80(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 84(%ecx),%edx |
- xorl %edi,%eax |
- xorl %ecx,%ecx |
- xorl %edi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%esi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%esi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%esi |
- xorl 0x700(%ebp,%ecx,1),%esi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%esi |
- xorl 0x500(%ebp,%edx,1),%esi |
- # Round 9 |
- movl 72(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 76(%ecx),%edx |
- xorl %esi,%eax |
- xorl %ecx,%ecx |
- xorl %esi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%edi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%edi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%edi |
- xorl 0x700(%ebp,%ecx,1),%edi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%edi |
- xorl 0x500(%ebp,%edx,1),%edi |
- # Round 8 |
- movl 64(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 68(%ecx),%edx |
- xorl %edi,%eax |
- xorl %ecx,%ecx |
- xorl %edi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%esi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%esi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%esi |
- xorl 0x700(%ebp,%ecx,1),%esi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%esi |
- xorl 0x500(%ebp,%edx,1),%esi |
- # Round 7 |
- movl 56(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 60(%ecx),%edx |
- xorl %esi,%eax |
- xorl %ecx,%ecx |
- xorl %esi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%edi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%edi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%edi |
- xorl 0x700(%ebp,%ecx,1),%edi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%edi |
- xorl 0x500(%ebp,%edx,1),%edi |
- # Round 6 |
- movl 48(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 52(%ecx),%edx |
- xorl %edi,%eax |
- xorl %ecx,%ecx |
- xorl %edi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%esi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%esi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%esi |
- xorl 0x700(%ebp,%ecx,1),%esi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%esi |
- xorl 0x500(%ebp,%edx,1),%esi |
- # Round 5 |
- movl 40(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 44(%ecx),%edx |
- xorl %esi,%eax |
- xorl %ecx,%ecx |
- xorl %esi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%edi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%edi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%edi |
- xorl 0x700(%ebp,%ecx,1),%edi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%edi |
- xorl 0x500(%ebp,%edx,1),%edi |
- # Round 4 |
- movl 32(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 36(%ecx),%edx |
- xorl %edi,%eax |
- xorl %ecx,%ecx |
- xorl %edi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%esi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%esi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%esi |
- xorl 0x700(%ebp,%ecx,1),%esi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%esi |
- xorl 0x500(%ebp,%edx,1),%esi |
- # Round 3 |
- movl 24(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 28(%ecx),%edx |
- xorl %esi,%eax |
- xorl %ecx,%ecx |
- xorl %esi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%edi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%edi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%edi |
- xorl 0x700(%ebp,%ecx,1),%edi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%edi |
- xorl 0x500(%ebp,%edx,1),%edi |
- # Round 2 |
- movl 16(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 20(%ecx),%edx |
- xorl %edi,%eax |
- xorl %ecx,%ecx |
- xorl %edi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%esi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%esi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%esi |
- xorl 0x700(%ebp,%ecx,1),%esi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%esi |
- xorl 0x500(%ebp,%edx,1),%esi |
- # Round 1 |
- movl 8(%ecx),%eax |
- xorl %ebx,%ebx |
- movl 12(%ecx),%edx |
- xorl %esi,%eax |
- xorl %ecx,%ecx |
- xorl %esi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%edi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%edi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%edi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%edi |
- xorl 0x700(%ebp,%ecx,1),%edi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%edi |
- xorl 0x500(%ebp,%edx,1),%edi |
- # Round 0 |
- movl (%ecx),%eax |
- xorl %ebx,%ebx |
- movl 4(%ecx),%edx |
- xorl %edi,%eax |
- xorl %ecx,%ecx |
- xorl %edi,%edx |
- andl $0xfcfcfcfc,%eax |
- andl $0xcfcfcfcf,%edx |
- movb %al,%bl |
- movb %ah,%cl |
- rorl $4,%edx |
- xorl (%ebp,%ebx,1),%esi |
- movb %dl,%bl |
- xorl 0x200(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- shrl $16,%eax |
- xorl 0x100(%ebp,%ebx,1),%esi |
- movb %ah,%bl |
- shrl $16,%edx |
- xorl 0x300(%ebp,%ecx,1),%esi |
- movb %dh,%cl |
- andl $0xff,%eax |
- andl $0xff,%edx |
- xorl 0x600(%ebp,%ebx,1),%esi |
- xorl 0x700(%ebp,%ecx,1),%esi |
- movl (%esp),%ecx |
- xorl 0x400(%ebp,%eax,1),%esi |
- xorl 0x500(%ebp,%edx,1),%esi |
- addl $4,%esp |
- ret |
-.globl _DES_encrypt1 |
-.align 4 |
-_DES_encrypt1: |
-L_DES_encrypt1_begin: |
- pushl %esi |
- pushl %edi |
- |
- # Load the 2 words |
- movl 12(%esp),%esi |
- xorl %ecx,%ecx |
- pushl %ebx |
- pushl %ebp |
- 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 |
- call L000pic_point |
-L000pic_point: |
- popl %ebp |
- leal _DES_SPtrans-L000pic_point(%ebp),%ebp |
- movl 24(%esp),%ecx |
- cmpl $0,%ebx |
- je L001decrypt |
- call __x86_DES_encrypt |
- jmp L002done |
-L001decrypt: |
- call __x86_DES_decrypt |
-L002done: |
- |
- # 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 %ebp |
- popl %ebx |
- popl %edi |
- popl %esi |
- ret |
-.globl _DES_encrypt2 |
-.align 4 |
-_DES_encrypt2: |
-L_DES_encrypt2_begin: |
- pushl %esi |
- pushl %edi |
- |
- # Load the 2 words |
- movl 12(%esp),%eax |
- xorl %ecx,%ecx |
- pushl %ebx |
- pushl %ebp |
- movl (%eax),%esi |
- movl 28(%esp),%ebx |
- roll $3,%esi |
- movl 4(%eax),%edi |
- roll $3,%edi |
- call L003pic_point |
-L003pic_point: |
- popl %ebp |
- leal _DES_SPtrans-L003pic_point(%ebp),%ebp |
- movl 24(%esp),%ecx |
- cmpl $0,%ebx |
- je L004decrypt |
- call __x86_DES_encrypt |
- jmp L005done |
-L004decrypt: |
- call __x86_DES_decrypt |
-L005done: |
- |
- # Fixup |
- rorl $3,%edi |
- movl 20(%esp),%eax |
- rorl $3,%esi |
- movl %edi,(%eax) |
- movl %esi,4(%eax) |
- popl %ebp |
- popl %ebx |
- popl %edi |
- popl %esi |
- ret |
-.globl _DES_encrypt3 |
-.align 4 |
-_DES_encrypt3: |
-L_DES_encrypt3_begin: |
- pushl %ebx |
- movl 8(%esp),%ebx |
- pushl %ebp |
- pushl %esi |
- pushl %edi |
- |
- # Load the data words |
- movl (%ebx),%edi |
- movl 4(%ebx),%esi |
- subl $12,%esp |
- |
- # 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 36(%esp),%eax |
- movl %edx,(%ebx) |
- movl 40(%esp),%edi |
- movl 44(%esp),%esi |
- movl $1,8(%esp) |
- movl %eax,4(%esp) |
- movl %ebx,(%esp) |
- call L_DES_encrypt2_begin |
- movl $0,8(%esp) |
- movl %edi,4(%esp) |
- movl %ebx,(%esp) |
- call L_DES_encrypt2_begin |
- movl $1,8(%esp) |
- movl %esi,4(%esp) |
- movl %ebx,(%esp) |
- call L_DES_encrypt2_begin |
- addl $12,%esp |
- movl (%ebx),%edi |
- 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 %ebp |
- popl %ebx |
- ret |
-.globl _DES_decrypt3 |
-.align 4 |
-_DES_decrypt3: |
-L_DES_decrypt3_begin: |
- pushl %ebx |
- movl 8(%esp),%ebx |
- pushl %ebp |
- pushl %esi |
- pushl %edi |
- |
- # Load the data words |
- movl (%ebx),%edi |
- movl 4(%ebx),%esi |
- subl $12,%esp |
- |
- # 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 36(%esp),%esi |
- movl %edx,(%ebx) |
- movl 40(%esp),%edi |
- movl 44(%esp),%eax |
- movl $0,8(%esp) |
- movl %eax,4(%esp) |
- movl %ebx,(%esp) |
- call L_DES_encrypt2_begin |
- movl $1,8(%esp) |
- movl %edi,4(%esp) |
- movl %ebx,(%esp) |
- call L_DES_encrypt2_begin |
- movl $0,8(%esp) |
- movl %esi,4(%esp) |
- movl %ebx,(%esp) |
- call L_DES_encrypt2_begin |
- addl $12,%esp |
- movl (%ebx),%edi |
- 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 %ebp |
- popl %ebx |
- ret |
-.globl _DES_ncbc_encrypt |
-.align 4 |
-_DES_ncbc_encrypt: |
-L_DES_ncbc_encrypt_begin: |
- |
- pushl %ebp |
- pushl %ebx |
- pushl %esi |
- pushl %edi |
- movl 28(%esp),%ebp |
- # getting iv ptr from parameter 4 |
- movl 36(%esp),%ebx |
- movl (%ebx),%esi |
- movl 4(%ebx),%edi |
- pushl %edi |
- pushl %esi |
- pushl %edi |
- pushl %esi |
- movl %esp,%ebx |
- movl 36(%esp),%esi |
- movl 40(%esp),%edi |
- # getting encrypt flag from parameter 5 |
- movl 56(%esp),%ecx |
- # get and push parameter 5 |
- pushl %ecx |
- # get and push parameter 3 |
- movl 52(%esp),%eax |
- pushl %eax |
- pushl %ebx |
- cmpl $0,%ecx |
- jz L006decrypt |
- andl $4294967288,%ebp |
- movl 12(%esp),%eax |
- movl 16(%esp),%ebx |
- jz L007encrypt_finish |
-L008encrypt_loop: |
- movl (%esi),%ecx |
- movl 4(%esi),%edx |
- xorl %ecx,%eax |
- xorl %edx,%ebx |
- movl %eax,12(%esp) |
- movl %ebx,16(%esp) |
- call L_DES_encrypt1_begin |
- movl 12(%esp),%eax |
- movl 16(%esp),%ebx |
- movl %eax,(%edi) |
- movl %ebx,4(%edi) |
- addl $8,%esi |
- addl $8,%edi |
- subl $8,%ebp |
- jnz L008encrypt_loop |
-L007encrypt_finish: |
- movl 56(%esp),%ebp |
- andl $7,%ebp |
- jz L009finish |
- call L010PIC_point |
-L010PIC_point: |
- popl %edx |
- leal L011cbc_enc_jmp_table-L010PIC_point(%edx),%ecx |
- movl (%ecx,%ebp,4),%ebp |
- addl %edx,%ebp |
- xorl %ecx,%ecx |
- xorl %edx,%edx |
- jmp *%ebp |
-L012ej7: |
- movb 6(%esi),%dh |
- shll $8,%edx |
-L013ej6: |
- movb 5(%esi),%dh |
-L014ej5: |
- movb 4(%esi),%dl |
-L015ej4: |
- movl (%esi),%ecx |
- jmp L016ejend |
-L017ej3: |
- movb 2(%esi),%ch |
- shll $8,%ecx |
-L018ej2: |
- movb 1(%esi),%ch |
-L019ej1: |
- movb (%esi),%cl |
-L016ejend: |
- xorl %ecx,%eax |
- xorl %edx,%ebx |
- movl %eax,12(%esp) |
- movl %ebx,16(%esp) |
- call L_DES_encrypt1_begin |
- movl 12(%esp),%eax |
- movl 16(%esp),%ebx |
- movl %eax,(%edi) |
- movl %ebx,4(%edi) |
- jmp L009finish |
-L006decrypt: |
- andl $4294967288,%ebp |
- movl 20(%esp),%eax |
- movl 24(%esp),%ebx |
- jz L020decrypt_finish |
-L021decrypt_loop: |
- movl (%esi),%eax |
- movl 4(%esi),%ebx |
- movl %eax,12(%esp) |
- movl %ebx,16(%esp) |
- call L_DES_encrypt1_begin |
- movl 12(%esp),%eax |
- movl 16(%esp),%ebx |
- movl 20(%esp),%ecx |
- movl 24(%esp),%edx |
- xorl %eax,%ecx |
- xorl %ebx,%edx |
- movl (%esi),%eax |
- movl 4(%esi),%ebx |
- movl %ecx,(%edi) |
- movl %edx,4(%edi) |
- movl %eax,20(%esp) |
- movl %ebx,24(%esp) |
- addl $8,%esi |
- addl $8,%edi |
- subl $8,%ebp |
- jnz L021decrypt_loop |
-L020decrypt_finish: |
- movl 56(%esp),%ebp |
- andl $7,%ebp |
- jz L009finish |
- movl (%esi),%eax |
- movl 4(%esi),%ebx |
- movl %eax,12(%esp) |
- movl %ebx,16(%esp) |
- call L_DES_encrypt1_begin |
- movl 12(%esp),%eax |
- movl 16(%esp),%ebx |
- movl 20(%esp),%ecx |
- movl 24(%esp),%edx |
- xorl %eax,%ecx |
- xorl %ebx,%edx |
- movl (%esi),%eax |
- movl 4(%esi),%ebx |
-L022dj7: |
- rorl $16,%edx |
- movb %dl,6(%edi) |
- shrl $16,%edx |
-L023dj6: |
- movb %dh,5(%edi) |
-L024dj5: |
- movb %dl,4(%edi) |
-L025dj4: |
- movl %ecx,(%edi) |
- jmp L026djend |
-L027dj3: |
- rorl $16,%ecx |
- movb %cl,2(%edi) |
- shll $16,%ecx |
-L028dj2: |
- movb %ch,1(%esi) |
-L029dj1: |
- movb %cl,(%esi) |
-L026djend: |
- jmp L009finish |
-L009finish: |
- movl 64(%esp),%ecx |
- addl $28,%esp |
- movl %eax,(%ecx) |
- movl %ebx,4(%ecx) |
- popl %edi |
- popl %esi |
- popl %ebx |
- popl %ebp |
- ret |
-.align 6,0x90 |
-L011cbc_enc_jmp_table: |
-.long 0 |
-.long L019ej1-L010PIC_point |
-.long L018ej2-L010PIC_point |
-.long L017ej3-L010PIC_point |
-.long L015ej4-L010PIC_point |
-.long L014ej5-L010PIC_point |
-.long L013ej6-L010PIC_point |
-.long L012ej7-L010PIC_point |
-.align 6,0x90 |
-.globl _DES_ede3_cbc_encrypt |
-.align 4 |
-_DES_ede3_cbc_encrypt: |
-L_DES_ede3_cbc_encrypt_begin: |
- |
- pushl %ebp |
- pushl %ebx |
- pushl %esi |
- pushl %edi |
- movl 28(%esp),%ebp |
- # getting iv ptr from parameter 6 |
- movl 44(%esp),%ebx |
- movl (%ebx),%esi |
- movl 4(%ebx),%edi |
- pushl %edi |
- pushl %esi |
- pushl %edi |
- pushl %esi |
- movl %esp,%ebx |
- movl 36(%esp),%esi |
- movl 40(%esp),%edi |
- # getting encrypt flag from parameter 7 |
- movl 64(%esp),%ecx |
- # get and push parameter 5 |
- movl 56(%esp),%eax |
- pushl %eax |
- # get and push parameter 4 |
- movl 56(%esp),%eax |
- pushl %eax |
- # get and push parameter 3 |
- movl 56(%esp),%eax |
- pushl %eax |
- pushl %ebx |
- cmpl $0,%ecx |
- jz L030decrypt |
- andl $4294967288,%ebp |
- movl 16(%esp),%eax |
- movl 20(%esp),%ebx |
- jz L031encrypt_finish |
-L032encrypt_loop: |
- movl (%esi),%ecx |
- movl 4(%esi),%edx |
- xorl %ecx,%eax |
- xorl %edx,%ebx |
- movl %eax,16(%esp) |
- movl %ebx,20(%esp) |
- call L_DES_encrypt3_begin |
- movl 16(%esp),%eax |
- movl 20(%esp),%ebx |
- movl %eax,(%edi) |
- movl %ebx,4(%edi) |
- addl $8,%esi |
- addl $8,%edi |
- subl $8,%ebp |
- jnz L032encrypt_loop |
-L031encrypt_finish: |
- movl 60(%esp),%ebp |
- andl $7,%ebp |
- jz L033finish |
- call L034PIC_point |
-L034PIC_point: |
- popl %edx |
- leal L035cbc_enc_jmp_table-L034PIC_point(%edx),%ecx |
- movl (%ecx,%ebp,4),%ebp |
- addl %edx,%ebp |
- xorl %ecx,%ecx |
- xorl %edx,%edx |
- jmp *%ebp |
-L036ej7: |
- movb 6(%esi),%dh |
- shll $8,%edx |
-L037ej6: |
- movb 5(%esi),%dh |
-L038ej5: |
- movb 4(%esi),%dl |
-L039ej4: |
- movl (%esi),%ecx |
- jmp L040ejend |
-L041ej3: |
- movb 2(%esi),%ch |
- shll $8,%ecx |
-L042ej2: |
- movb 1(%esi),%ch |
-L043ej1: |
- movb (%esi),%cl |
-L040ejend: |
- xorl %ecx,%eax |
- xorl %edx,%ebx |
- movl %eax,16(%esp) |
- movl %ebx,20(%esp) |
- call L_DES_encrypt3_begin |
- movl 16(%esp),%eax |
- movl 20(%esp),%ebx |
- movl %eax,(%edi) |
- movl %ebx,4(%edi) |
- jmp L033finish |
-L030decrypt: |
- andl $4294967288,%ebp |
- movl 24(%esp),%eax |
- movl 28(%esp),%ebx |
- jz L044decrypt_finish |
-L045decrypt_loop: |
- movl (%esi),%eax |
- movl 4(%esi),%ebx |
- movl %eax,16(%esp) |
- movl %ebx,20(%esp) |
- call L_DES_decrypt3_begin |
- movl 16(%esp),%eax |
- movl 20(%esp),%ebx |
- movl 24(%esp),%ecx |
- movl 28(%esp),%edx |
- xorl %eax,%ecx |
- xorl %ebx,%edx |
- movl (%esi),%eax |
- movl 4(%esi),%ebx |
- movl %ecx,(%edi) |
- movl %edx,4(%edi) |
- movl %eax,24(%esp) |
- movl %ebx,28(%esp) |
- addl $8,%esi |
- addl $8,%edi |
- subl $8,%ebp |
- jnz L045decrypt_loop |
-L044decrypt_finish: |
- movl 60(%esp),%ebp |
- andl $7,%ebp |
- jz L033finish |
- movl (%esi),%eax |
- movl 4(%esi),%ebx |
- movl %eax,16(%esp) |
- movl %ebx,20(%esp) |
- call L_DES_decrypt3_begin |
- movl 16(%esp),%eax |
- movl 20(%esp),%ebx |
- movl 24(%esp),%ecx |
- movl 28(%esp),%edx |
- xorl %eax,%ecx |
- xorl %ebx,%edx |
- movl (%esi),%eax |
- movl 4(%esi),%ebx |
-L046dj7: |
- rorl $16,%edx |
- movb %dl,6(%edi) |
- shrl $16,%edx |
-L047dj6: |
- movb %dh,5(%edi) |
-L048dj5: |
- movb %dl,4(%edi) |
-L049dj4: |
- movl %ecx,(%edi) |
- jmp L050djend |
-L051dj3: |
- rorl $16,%ecx |
- movb %cl,2(%edi) |
- shll $16,%ecx |
-L052dj2: |
- movb %ch,1(%esi) |
-L053dj1: |
- movb %cl,(%esi) |
-L050djend: |
- jmp L033finish |
-L033finish: |
- movl 76(%esp),%ecx |
- addl $32,%esp |
- movl %eax,(%ecx) |
- movl %ebx,4(%ecx) |
- popl %edi |
- popl %esi |
- popl %ebx |
- popl %ebp |
- ret |
-.align 6,0x90 |
-L035cbc_enc_jmp_table: |
-.long 0 |
-.long L043ej1-L034PIC_point |
-.long L042ej2-L034PIC_point |
-.long L041ej3-L034PIC_point |
-.long L039ej4-L034PIC_point |
-.long L038ej5-L034PIC_point |
-.long L037ej6-L034PIC_point |
-.long L036ej7-L034PIC_point |
-.align 6,0x90 |
-.align 6,0x90 |
-_DES_SPtrans: |
-.long 34080768,524288,33554434,34080770 |
-.long 33554432,526338,524290,33554434 |
-.long 526338,34080768,34078720,2050 |
-.long 33556482,33554432,0,524290 |
-.long 524288,2,33556480,526336 |
-.long 34080770,34078720,2050,33556480 |
-.long 2,2048,526336,34078722 |
-.long 2048,33556482,34078722,0 |
-.long 0,34080770,33556480,524290 |
-.long 34080768,524288,2050,33556480 |
-.long 34078722,2048,526336,33554434 |
-.long 526338,2,33554434,34078720 |
-.long 34080770,526336,34078720,33556482 |
-.long 33554432,2050,524290,0 |
-.long 524288,33554432,33556482,34080768 |
-.long 2,34078722,2048,526338 |
-.long 1074823184,0,1081344,1074790400 |
-.long 1073741840,32784,1073774592,1081344 |
-.long 32768,1074790416,16,1073774592 |
-.long 1048592,1074823168,1074790400,16 |
-.long 1048576,1073774608,1074790416,32768 |
-.long 1081360,1073741824,0,1048592 |
-.long 1073774608,1081360,1074823168,1073741840 |
-.long 1073741824,1048576,32784,1074823184 |
-.long 1048592,1074823168,1073774592,1081360 |
-.long 1074823184,1048592,1073741840,0 |
-.long 1073741824,32784,1048576,1074790416 |
-.long 32768,1073741824,1081360,1073774608 |
-.long 1074823168,32768,0,1073741840 |
-.long 16,1074823184,1081344,1074790400 |
-.long 1074790416,1048576,32784,1073774592 |
-.long 1073774608,16,1074790400,1081344 |
-.long 67108865,67371264,256,67109121 |
-.long 262145,67108864,67109121,262400 |
-.long 67109120,262144,67371008,1 |
-.long 67371265,257,1,67371009 |
-.long 0,262145,67371264,256 |
-.long 257,67371265,262144,67108865 |
-.long 67371009,67109120,262401,67371008 |
-.long 262400,0,67108864,262401 |
-.long 67371264,256,1,262144 |
-.long 257,262145,67371008,67109121 |
-.long 0,67371264,262400,67371009 |
-.long 262145,67108864,67371265,1 |
-.long 262401,67108865,67108864,67371265 |
-.long 262144,67109120,67109121,262400 |
-.long 67109120,0,67371009,257 |
-.long 67108865,262401,256,67371008 |
-.long 4198408,268439552,8,272633864 |
-.long 0,272629760,268439560,4194312 |
-.long 272633856,268435464,268435456,4104 |
-.long 268435464,4198408,4194304,268435456 |
-.long 272629768,4198400,4096,8 |
-.long 4198400,268439560,272629760,4096 |
-.long 4104,0,4194312,272633856 |
-.long 268439552,272629768,272633864,4194304 |
-.long 272629768,4104,4194304,268435464 |
-.long 4198400,268439552,8,272629760 |
-.long 268439560,0,4096,4194312 |
-.long 0,272629768,272633856,4096 |
-.long 268435456,272633864,4198408,4194304 |
-.long 272633864,8,268439552,4198408 |
-.long 4194312,4198400,272629760,268439560 |
-.long 4104,268435456,268435464,272633856 |
-.long 134217728,65536,1024,134284320 |
-.long 134283296,134218752,66592,134283264 |
-.long 65536,32,134217760,66560 |
-.long 134218784,134283296,134284288,0 |
-.long 66560,134217728,65568,1056 |
-.long 134218752,66592,0,134217760 |
-.long 32,134218784,134284320,65568 |
-.long 134283264,1024,1056,134284288 |
-.long 134284288,134218784,65568,134283264 |
-.long 65536,32,134217760,134218752 |
-.long 134217728,66560,134284320,0 |
-.long 66592,134217728,1024,65568 |
-.long 134218784,1024,0,134284320 |
-.long 134283296,134284288,1056,65536 |
-.long 66560,134283296,134218752,1056 |
-.long 32,66592,134283264,134217760 |
-.long 2147483712,2097216,0,2149588992 |
-.long 2097216,8192,2147491904,2097152 |
-.long 8256,2149589056,2105344,2147483648 |
-.long 2147491840,2147483712,2149580800,2105408 |
-.long 2097152,2147491904,2149580864,0 |
-.long 8192,64,2149588992,2149580864 |
-.long 2149589056,2149580800,2147483648,8256 |
-.long 64,2105344,2105408,2147491840 |
-.long 8256,2147483648,2147491840,2105408 |
-.long 2149588992,2097216,0,2147491840 |
-.long 2147483648,8192,2149580864,2097152 |
-.long 2097216,2149589056,2105344,64 |
-.long 2149589056,2105344,2097152,2147491904 |
-.long 2147483712,2149580800,2105408,0 |
-.long 8192,2147483712,2147491904,2149588992 |
-.long 2149580800,8256,64,2149580864 |
-.long 16384,512,16777728,16777220 |
-.long 16794116,16388,16896,0 |
-.long 16777216,16777732,516,16793600 |
-.long 4,16794112,16793600,516 |
-.long 16777732,16384,16388,16794116 |
-.long 0,16777728,16777220,16896 |
-.long 16793604,16900,16794112,4 |
-.long 16900,16793604,512,16777216 |
-.long 16900,16793600,16793604,516 |
-.long 16384,512,16777216,16793604 |
-.long 16777732,16900,16896,0 |
-.long 512,16777220,4,16777728 |
-.long 0,16777732,16777728,16896 |
-.long 516,16384,16794116,16777216 |
-.long 16794112,4,16388,16794116 |
-.long 16777220,16794112,16793600,16388 |
-.long 545259648,545390592,131200,0 |
-.long 537001984,8388736,545259520,545390720 |
-.long 128,536870912,8519680,131200 |
-.long 8519808,537002112,536871040,545259520 |
-.long 131072,8519808,8388736,537001984 |
-.long 545390720,536871040,0,8519680 |
-.long 536870912,8388608,537002112,545259648 |
-.long 8388608,131072,545390592,128 |
-.long 8388608,131072,536871040,545390720 |
-.long 131200,536870912,0,8519680 |
-.long 545259648,537002112,537001984,8388736 |
-.long 545390592,128,8388736,537001984 |
-.long 545390720,8388608,545259520,536871040 |
-.long 8519680,131200,537002112,545259520 |
-.long 128,545390592,8519808,0 |
-.long 536870912,545259648,131072,8519808 |