| .file "des-586.s" |
| .text |
| .globl DES_SPtrans |
| .type _x86_DES_encrypt,@function |
| .align 16 |
| _x86_DES_encrypt: |
| pushl %ecx |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| .size _x86_DES_encrypt,.-_x86_DES_encrypt |
| .type _x86_DES_decrypt,@function |
| .align 16 |
| _x86_DES_decrypt: |
| pushl %ecx |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| .size _x86_DES_decrypt,.-_x86_DES_decrypt |
| .globl DES_encrypt1 |
| .type DES_encrypt1,@function |
| .align 16 |
| DES_encrypt1: |
| .L_DES_encrypt1_begin: |
| pushl %esi |
| pushl %edi |
| |
| |
| movl 12(%esp),%esi |
| xorl %ecx,%ecx |
| pushl %ebx |
| pushl %ebp |
| movl (%esi),%eax |
| movl 28(%esp),%ebx |
| movl 4(%esi),%edi |
| |
| |
| 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: |
| |
| |
| 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 |
| .size DES_encrypt1,.-.L_DES_encrypt1_begin |
| .globl DES_encrypt2 |
| .type DES_encrypt2,@function |
| .align 16 |
| DES_encrypt2: |
| .L_DES_encrypt2_begin: |
| pushl %esi |
| pushl %edi |
| |
| |
| 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: |
| |
| |
| 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 |
| .size DES_encrypt2,.-.L_DES_encrypt2_begin |
| .globl DES_encrypt3 |
| .type DES_encrypt3,@function |
| .align 16 |
| DES_encrypt3: |
| .L_DES_encrypt3_begin: |
| pushl %ebx |
| movl 8(%esp),%ebx |
| pushl %ebp |
| pushl %esi |
| pushl %edi |
| |
| |
| movl (%ebx),%edi |
| movl 4(%ebx),%esi |
| subl $12,%esp |
| |
| |
| 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 |
| |
| |
| 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 |
| .size DES_encrypt3,.-.L_DES_encrypt3_begin |
| .globl DES_decrypt3 |
| .type DES_decrypt3,@function |
| .align 16 |
| DES_decrypt3: |
| .L_DES_decrypt3_begin: |
| pushl %ebx |
| movl 8(%esp),%ebx |
| pushl %ebp |
| pushl %esi |
| pushl %edi |
| |
| |
| movl (%ebx),%edi |
| movl 4(%ebx),%esi |
| subl $12,%esp |
| |
| |
| 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 |
| |
| |
| 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 |
| .size DES_decrypt3,.-.L_DES_decrypt3_begin |
| .globl DES_ncbc_encrypt |
| .type DES_ncbc_encrypt,@function |
| .align 16 |
| DES_ncbc_encrypt: |
| .L_DES_ncbc_encrypt_begin: |
| |
| pushl %ebp |
| pushl %ebx |
| pushl %esi |
| pushl %edi |
| movl 28(%esp),%ebp |
| |
| 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 |
| |
| movl 56(%esp),%ecx |
| |
| pushl %ecx |
| |
| 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 64 |
| .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 64 |
| .size DES_ncbc_encrypt,.-.L_DES_ncbc_encrypt_begin |
| .globl DES_ede3_cbc_encrypt |
| .type DES_ede3_cbc_encrypt,@function |
| .align 16 |
| DES_ede3_cbc_encrypt: |
| .L_DES_ede3_cbc_encrypt_begin: |
| |
| pushl %ebp |
| pushl %ebx |
| pushl %esi |
| pushl %edi |
| movl 28(%esp),%ebp |
| |
| 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 |
| |
| movl 64(%esp),%ecx |
| |
| movl 56(%esp),%eax |
| pushl %eax |
| |
| movl 56(%esp),%eax |
| pushl %eax |
| |
| 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 64 |
| .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 64 |
| .size DES_ede3_cbc_encrypt,.-.L_DES_ede3_cbc_encrypt_begin |
| .align 64 |
| 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 |