des_enc.S revision 113800
191671Sume/* $NetBSD: des_enc.S,v 1.1 2001/09/09 11:01:02 tls Exp $ */ 291671Sume/* $FreeBSD: head/sys/crypto/des/arch/i386/des_enc.S 113800 2003-04-21 16:30:12Z obrien $ */ 391671Sume 491671Sume/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) 591671Sume * All rights reserved. 691671Sume * 791671Sume * This package is an SSL implementation written 891671Sume * by Eric Young (eay@cryptsoft.com). 991671Sume * The implementation was written so as to conform with Netscapes SSL. 1091671Sume * 1191671Sume * This library is free for commercial and non-commercial use as long as 1291671Sume * the following conditions are aheared to. The following conditions 1391671Sume * apply to all code found in this distribution, be it the RC4, RSA, 1491671Sume * lhash, DES, etc., code; not just the SSL code. The SSL documentation 1591671Sume * included with this distribution is covered by the same copyright terms 1691671Sume * except that the holder is Tim Hudson (tjh@cryptsoft.com). 1791671Sume * 1891671Sume * Copyright remains Eric Young's, and as such any Copyright notices in 1991671Sume * the code are not to be removed. 2091671Sume * If this package is used in a product, Eric Young should be given attribution 2191671Sume * as the author of the parts of the library used. 2291671Sume * This can be in the form of a textual message at program startup or 2391671Sume * in documentation (online or textual) provided with the package. 2491671Sume * 2591671Sume * Redistribution and use in source and binary forms, with or without 2691671Sume * modification, are permitted provided that the following conditions 2791671Sume * are met: 2891671Sume * 1. Redistributions of source code must retain the copyright 2991671Sume * notice, this list of conditions and the following disclaimer. 3091671Sume * 2. Redistributions in binary form must reproduce the above copyright 3191671Sume * notice, this list of conditions and the following disclaimer in the 3291671Sume * documentation and/or other materials provided with the distribution. 3391671Sume * 3. All advertising materials mentioning features or use of this software 3491671Sume * must display the following acknowledgement: 3591671Sume * "This product includes cryptographic software written by 3691671Sume * Eric Young (eay@cryptsoft.com)" 3791671Sume * The word 'cryptographic' can be left out if the rouines from the library 3891671Sume * being used are not cryptographic related :-). 3991671Sume * 4. If you include any Windows specific code (or a derivative thereof) from 4091671Sume * the apps directory (application code) you must include an acknowledgement: 4191671Sume * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 4291671Sume * 4391671Sume * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 4491671Sume * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 4591671Sume * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 4691671Sume * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 4791671Sume * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 4891671Sume * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 4991671Sume * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 5091671Sume * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 5191671Sume * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 5291671Sume * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 5391671Sume * SUCH DAMAGE. 5491671Sume * 5591671Sume * The licence and distribution terms for any publically available version or 5691671Sume * derivative of this code cannot be changed. i.e. this code cannot simply be 5791671Sume * copied and put under another distribution licence 5891671Sume * [including the GNU Public Licence.] 5991671Sume */ 6091671Sume 6191671Sume/* 6291671Sume * Modified from the output of `perl des686.pl elf' by 6391671Sume * Thor Lancelot Simon <tls@netbsd.org> 6491671Sume */ 6591671Sume 6691671Sume#include <i386/include/asm.h> 6791671Sume#define _C_LABEL CNAME 6891671Sume 6991671SumeENTRY(des_encrypt1) 7091671Sume pushl %esi 7191671Sume pushl %edi 7291671Sume 73113800Sobrien /* Load the 2 words */ 7491671Sume movl 12(%esp), %esi 7591671Sume xorl %ecx, %ecx 7691671Sume pushl %ebx 7791671Sume pushl %ebp 7891671Sume movl (%esi), %eax 7991671Sume movl 28(%esp), %ebx 8091671Sume movl 4(%esi), %edi 8191671Sume 82113800Sobrien /* IP */ 8391671Sume roll $4, %eax 8491671Sume movl %eax, %esi 8591671Sume xorl %edi, %eax 8691671Sume andl $0xf0f0f0f0, %eax 8791671Sume xorl %eax, %esi 8891671Sume xorl %eax, %edi 8991671Sume 9091671Sume roll $20, %edi 9191671Sume movl %edi, %eax 9291671Sume xorl %esi, %edi 9391671Sume andl $0xfff0000f, %edi 9491671Sume xorl %edi, %eax 9591671Sume xorl %edi, %esi 9691671Sume 9791671Sume roll $14, %eax 9891671Sume movl %eax, %edi 9991671Sume xorl %esi, %eax 10091671Sume andl $0x33333333, %eax 10191671Sume xorl %eax, %edi 10291671Sume xorl %eax, %esi 10391671Sume 10491671Sume roll $22, %esi 10591671Sume movl %esi, %eax 10691671Sume xorl %edi, %esi 10791671Sume andl $0x03fc03fc, %esi 10891671Sume xorl %esi, %eax 10991671Sume xorl %esi, %edi 11091671Sume 11191671Sume roll $9, %eax 11291671Sume movl %eax, %esi 11391671Sume xorl %edi, %eax 11491671Sume andl $0xaaaaaaaa, %eax 11591671Sume xorl %eax, %esi 11691671Sume xorl %eax, %edi 11791671Sume 11891671Sume.byte 209 11991671Sume.byte 199 # roll $1 %edi 12091671Sume movl 24(%esp), %ebp 12191671Sume cmpl $0, %ebx 12291671Sume je .L000start_decrypt 12391671Sume 124113800Sobrien /* Round 0 */ 12591671Sume movl (%ebp), %eax 12691671Sume xorl %ebx, %ebx 12791671Sume movl 4(%ebp), %edx 12891671Sume xorl %esi, %eax 12991671Sume xorl %esi, %edx 13091671Sume andl $0xfcfcfcfc, %eax 13191671Sume andl $0xcfcfcfcf, %edx 13291671Sume movb %al, %bl 13391671Sume movb %ah, %cl 13491671Sume rorl $4, %edx 13591671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 13691671Sume movb %dl, %bl 13791671Sume xorl %ebp, %edi 13891671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 13991671Sume xorl %ebp, %edi 14091671Sume movb %dh, %cl 14191671Sume shrl $16, %eax 14291671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 14391671Sume xorl %ebp, %edi 14491671Sume movb %ah, %bl 14591671Sume shrl $16, %edx 14691671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 14791671Sume xorl %ebp, %edi 14891671Sume movl 24(%esp), %ebp 14991671Sume movb %dh, %cl 15091671Sume andl $0xff, %eax 15191671Sume andl $0xff, %edx 15291671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 15391671Sume xorl %ebx, %edi 15491671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 15591671Sume xorl %ebx, %edi 15691671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 15791671Sume xorl %ebx, %edi 15891671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 15991671Sume xorl %ebx, %edi 16091671Sume 161113800Sobrien /* Round 1 */ 16291671Sume movl 8(%ebp), %eax 16391671Sume xorl %ebx, %ebx 16491671Sume movl 12(%ebp), %edx 16591671Sume xorl %edi, %eax 16691671Sume xorl %edi, %edx 16791671Sume andl $0xfcfcfcfc, %eax 16891671Sume andl $0xcfcfcfcf, %edx 16991671Sume movb %al, %bl 17091671Sume movb %ah, %cl 17191671Sume rorl $4, %edx 17291671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 17391671Sume movb %dl, %bl 17491671Sume xorl %ebp, %esi 17591671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 17691671Sume xorl %ebp, %esi 17791671Sume movb %dh, %cl 17891671Sume shrl $16, %eax 17991671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 18091671Sume xorl %ebp, %esi 18191671Sume movb %ah, %bl 18291671Sume shrl $16, %edx 18391671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 18491671Sume xorl %ebp, %esi 18591671Sume movl 24(%esp), %ebp 18691671Sume movb %dh, %cl 18791671Sume andl $0xff, %eax 18891671Sume andl $0xff, %edx 18991671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 19091671Sume xorl %ebx, %esi 19191671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 19291671Sume xorl %ebx, %esi 19391671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 19491671Sume xorl %ebx, %esi 19591671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 19691671Sume xorl %ebx, %esi 19791671Sume 198113800Sobrien /* Round 2 */ 19991671Sume movl 16(%ebp), %eax 20091671Sume xorl %ebx, %ebx 20191671Sume movl 20(%ebp), %edx 20291671Sume xorl %esi, %eax 20391671Sume xorl %esi, %edx 20491671Sume andl $0xfcfcfcfc, %eax 20591671Sume andl $0xcfcfcfcf, %edx 20691671Sume movb %al, %bl 20791671Sume movb %ah, %cl 20891671Sume rorl $4, %edx 20991671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 21091671Sume movb %dl, %bl 21191671Sume xorl %ebp, %edi 21291671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 21391671Sume xorl %ebp, %edi 21491671Sume movb %dh, %cl 21591671Sume shrl $16, %eax 21691671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 21791671Sume xorl %ebp, %edi 21891671Sume movb %ah, %bl 21991671Sume shrl $16, %edx 22091671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 22191671Sume xorl %ebp, %edi 22291671Sume movl 24(%esp), %ebp 22391671Sume movb %dh, %cl 22491671Sume andl $0xff, %eax 22591671Sume andl $0xff, %edx 22691671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 22791671Sume xorl %ebx, %edi 22891671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 22991671Sume xorl %ebx, %edi 23091671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 23191671Sume xorl %ebx, %edi 23291671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 23391671Sume xorl %ebx, %edi 23491671Sume 235113800Sobrien /* Round 3 */ 23691671Sume movl 24(%ebp), %eax 23791671Sume xorl %ebx, %ebx 23891671Sume movl 28(%ebp), %edx 23991671Sume xorl %edi, %eax 24091671Sume xorl %edi, %edx 24191671Sume andl $0xfcfcfcfc, %eax 24291671Sume andl $0xcfcfcfcf, %edx 24391671Sume movb %al, %bl 24491671Sume movb %ah, %cl 24591671Sume rorl $4, %edx 24691671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 24791671Sume movb %dl, %bl 24891671Sume xorl %ebp, %esi 24991671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 25091671Sume xorl %ebp, %esi 25191671Sume movb %dh, %cl 25291671Sume shrl $16, %eax 25391671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 25491671Sume xorl %ebp, %esi 25591671Sume movb %ah, %bl 25691671Sume shrl $16, %edx 25791671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 25891671Sume xorl %ebp, %esi 25991671Sume movl 24(%esp), %ebp 26091671Sume movb %dh, %cl 26191671Sume andl $0xff, %eax 26291671Sume andl $0xff, %edx 26391671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 26491671Sume xorl %ebx, %esi 26591671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 26691671Sume xorl %ebx, %esi 26791671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 26891671Sume xorl %ebx, %esi 26991671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 27091671Sume xorl %ebx, %esi 27191671Sume 272113800Sobrien /* Round 4 */ 27391671Sume movl 32(%ebp), %eax 27491671Sume xorl %ebx, %ebx 27591671Sume movl 36(%ebp), %edx 27691671Sume xorl %esi, %eax 27791671Sume xorl %esi, %edx 27891671Sume andl $0xfcfcfcfc, %eax 27991671Sume andl $0xcfcfcfcf, %edx 28091671Sume movb %al, %bl 28191671Sume movb %ah, %cl 28291671Sume rorl $4, %edx 28391671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 28491671Sume movb %dl, %bl 28591671Sume xorl %ebp, %edi 28691671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 28791671Sume xorl %ebp, %edi 28891671Sume movb %dh, %cl 28991671Sume shrl $16, %eax 29091671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 29191671Sume xorl %ebp, %edi 29291671Sume movb %ah, %bl 29391671Sume shrl $16, %edx 29491671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 29591671Sume xorl %ebp, %edi 29691671Sume movl 24(%esp), %ebp 29791671Sume movb %dh, %cl 29891671Sume andl $0xff, %eax 29991671Sume andl $0xff, %edx 30091671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 30191671Sume xorl %ebx, %edi 30291671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 30391671Sume xorl %ebx, %edi 30491671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 30591671Sume xorl %ebx, %edi 30691671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 30791671Sume xorl %ebx, %edi 30891671Sume 309113800Sobrien /* Round 5 */ 31091671Sume movl 40(%ebp), %eax 31191671Sume xorl %ebx, %ebx 31291671Sume movl 44(%ebp), %edx 31391671Sume xorl %edi, %eax 31491671Sume xorl %edi, %edx 31591671Sume andl $0xfcfcfcfc, %eax 31691671Sume andl $0xcfcfcfcf, %edx 31791671Sume movb %al, %bl 31891671Sume movb %ah, %cl 31991671Sume rorl $4, %edx 32091671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 32191671Sume movb %dl, %bl 32291671Sume xorl %ebp, %esi 32391671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 32491671Sume xorl %ebp, %esi 32591671Sume movb %dh, %cl 32691671Sume shrl $16, %eax 32791671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 32891671Sume xorl %ebp, %esi 32991671Sume movb %ah, %bl 33091671Sume shrl $16, %edx 33191671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 33291671Sume xorl %ebp, %esi 33391671Sume movl 24(%esp), %ebp 33491671Sume movb %dh, %cl 33591671Sume andl $0xff, %eax 33691671Sume andl $0xff, %edx 33791671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 33891671Sume xorl %ebx, %esi 33991671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 34091671Sume xorl %ebx, %esi 34191671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 34291671Sume xorl %ebx, %esi 34391671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 34491671Sume xorl %ebx, %esi 34591671Sume 346113800Sobrien /* Round 6 */ 34791671Sume movl 48(%ebp), %eax 34891671Sume xorl %ebx, %ebx 34991671Sume movl 52(%ebp), %edx 35091671Sume xorl %esi, %eax 35191671Sume xorl %esi, %edx 35291671Sume andl $0xfcfcfcfc, %eax 35391671Sume andl $0xcfcfcfcf, %edx 35491671Sume movb %al, %bl 35591671Sume movb %ah, %cl 35691671Sume rorl $4, %edx 35791671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 35891671Sume movb %dl, %bl 35991671Sume xorl %ebp, %edi 36091671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 36191671Sume xorl %ebp, %edi 36291671Sume movb %dh, %cl 36391671Sume shrl $16, %eax 36491671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 36591671Sume xorl %ebp, %edi 36691671Sume movb %ah, %bl 36791671Sume shrl $16, %edx 36891671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 36991671Sume xorl %ebp, %edi 37091671Sume movl 24(%esp), %ebp 37191671Sume movb %dh, %cl 37291671Sume andl $0xff, %eax 37391671Sume andl $0xff, %edx 37491671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 37591671Sume xorl %ebx, %edi 37691671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 37791671Sume xorl %ebx, %edi 37891671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 37991671Sume xorl %ebx, %edi 38091671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 38191671Sume xorl %ebx, %edi 38291671Sume 383113800Sobrien /* Round 7 */ 38491671Sume movl 56(%ebp), %eax 38591671Sume xorl %ebx, %ebx 38691671Sume movl 60(%ebp), %edx 38791671Sume xorl %edi, %eax 38891671Sume xorl %edi, %edx 38991671Sume andl $0xfcfcfcfc, %eax 39091671Sume andl $0xcfcfcfcf, %edx 39191671Sume movb %al, %bl 39291671Sume movb %ah, %cl 39391671Sume rorl $4, %edx 39491671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 39591671Sume movb %dl, %bl 39691671Sume xorl %ebp, %esi 39791671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 39891671Sume xorl %ebp, %esi 39991671Sume movb %dh, %cl 40091671Sume shrl $16, %eax 40191671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 40291671Sume xorl %ebp, %esi 40391671Sume movb %ah, %bl 40491671Sume shrl $16, %edx 40591671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 40691671Sume xorl %ebp, %esi 40791671Sume movl 24(%esp), %ebp 40891671Sume movb %dh, %cl 40991671Sume andl $0xff, %eax 41091671Sume andl $0xff, %edx 41191671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 41291671Sume xorl %ebx, %esi 41391671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 41491671Sume xorl %ebx, %esi 41591671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 41691671Sume xorl %ebx, %esi 41791671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 41891671Sume xorl %ebx, %esi 41991671Sume 420113800Sobrien /* Round 8 */ 42191671Sume movl 64(%ebp), %eax 42291671Sume xorl %ebx, %ebx 42391671Sume movl 68(%ebp), %edx 42491671Sume xorl %esi, %eax 42591671Sume xorl %esi, %edx 42691671Sume andl $0xfcfcfcfc, %eax 42791671Sume andl $0xcfcfcfcf, %edx 42891671Sume movb %al, %bl 42991671Sume movb %ah, %cl 43091671Sume rorl $4, %edx 43191671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 43291671Sume movb %dl, %bl 43391671Sume xorl %ebp, %edi 43491671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 43591671Sume xorl %ebp, %edi 43691671Sume movb %dh, %cl 43791671Sume shrl $16, %eax 43891671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 43991671Sume xorl %ebp, %edi 44091671Sume movb %ah, %bl 44191671Sume shrl $16, %edx 44291671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 44391671Sume xorl %ebp, %edi 44491671Sume movl 24(%esp), %ebp 44591671Sume movb %dh, %cl 44691671Sume andl $0xff, %eax 44791671Sume andl $0xff, %edx 44891671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 44991671Sume xorl %ebx, %edi 45091671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 45191671Sume xorl %ebx, %edi 45291671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 45391671Sume xorl %ebx, %edi 45491671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 45591671Sume xorl %ebx, %edi 45691671Sume 457113800Sobrien /* Round 9 */ 45891671Sume movl 72(%ebp), %eax 45991671Sume xorl %ebx, %ebx 46091671Sume movl 76(%ebp), %edx 46191671Sume xorl %edi, %eax 46291671Sume xorl %edi, %edx 46391671Sume andl $0xfcfcfcfc, %eax 46491671Sume andl $0xcfcfcfcf, %edx 46591671Sume movb %al, %bl 46691671Sume movb %ah, %cl 46791671Sume rorl $4, %edx 46891671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 46991671Sume movb %dl, %bl 47091671Sume xorl %ebp, %esi 47191671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 47291671Sume xorl %ebp, %esi 47391671Sume movb %dh, %cl 47491671Sume shrl $16, %eax 47591671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 47691671Sume xorl %ebp, %esi 47791671Sume movb %ah, %bl 47891671Sume shrl $16, %edx 47991671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 48091671Sume xorl %ebp, %esi 48191671Sume movl 24(%esp), %ebp 48291671Sume movb %dh, %cl 48391671Sume andl $0xff, %eax 48491671Sume andl $0xff, %edx 48591671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 48691671Sume xorl %ebx, %esi 48791671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 48891671Sume xorl %ebx, %esi 48991671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 49091671Sume xorl %ebx, %esi 49191671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 49291671Sume xorl %ebx, %esi 49391671Sume 494113800Sobrien /* Round 10 */ 49591671Sume movl 80(%ebp), %eax 49691671Sume xorl %ebx, %ebx 49791671Sume movl 84(%ebp), %edx 49891671Sume xorl %esi, %eax 49991671Sume xorl %esi, %edx 50091671Sume andl $0xfcfcfcfc, %eax 50191671Sume andl $0xcfcfcfcf, %edx 50291671Sume movb %al, %bl 50391671Sume movb %ah, %cl 50491671Sume rorl $4, %edx 50591671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 50691671Sume movb %dl, %bl 50791671Sume xorl %ebp, %edi 50891671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 50991671Sume xorl %ebp, %edi 51091671Sume movb %dh, %cl 51191671Sume shrl $16, %eax 51291671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 51391671Sume xorl %ebp, %edi 51491671Sume movb %ah, %bl 51591671Sume shrl $16, %edx 51691671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 51791671Sume xorl %ebp, %edi 51891671Sume movl 24(%esp), %ebp 51991671Sume movb %dh, %cl 52091671Sume andl $0xff, %eax 52191671Sume andl $0xff, %edx 52291671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 52391671Sume xorl %ebx, %edi 52491671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 52591671Sume xorl %ebx, %edi 52691671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 52791671Sume xorl %ebx, %edi 52891671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 52991671Sume xorl %ebx, %edi 53091671Sume 531113800Sobrien /* Round 11 */ 53291671Sume movl 88(%ebp), %eax 53391671Sume xorl %ebx, %ebx 53491671Sume movl 92(%ebp), %edx 53591671Sume xorl %edi, %eax 53691671Sume xorl %edi, %edx 53791671Sume andl $0xfcfcfcfc, %eax 53891671Sume andl $0xcfcfcfcf, %edx 53991671Sume movb %al, %bl 54091671Sume movb %ah, %cl 54191671Sume rorl $4, %edx 54291671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 54391671Sume movb %dl, %bl 54491671Sume xorl %ebp, %esi 54591671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 54691671Sume xorl %ebp, %esi 54791671Sume movb %dh, %cl 54891671Sume shrl $16, %eax 54991671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 55091671Sume xorl %ebp, %esi 55191671Sume movb %ah, %bl 55291671Sume shrl $16, %edx 55391671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 55491671Sume xorl %ebp, %esi 55591671Sume movl 24(%esp), %ebp 55691671Sume movb %dh, %cl 55791671Sume andl $0xff, %eax 55891671Sume andl $0xff, %edx 55991671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 56091671Sume xorl %ebx, %esi 56191671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 56291671Sume xorl %ebx, %esi 56391671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 56491671Sume xorl %ebx, %esi 56591671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 56691671Sume xorl %ebx, %esi 56791671Sume 568113800Sobrien /* Round 12 */ 56991671Sume movl 96(%ebp), %eax 57091671Sume xorl %ebx, %ebx 57191671Sume movl 100(%ebp), %edx 57291671Sume xorl %esi, %eax 57391671Sume xorl %esi, %edx 57491671Sume andl $0xfcfcfcfc, %eax 57591671Sume andl $0xcfcfcfcf, %edx 57691671Sume movb %al, %bl 57791671Sume movb %ah, %cl 57891671Sume rorl $4, %edx 57991671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 58091671Sume movb %dl, %bl 58191671Sume xorl %ebp, %edi 58291671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 58391671Sume xorl %ebp, %edi 58491671Sume movb %dh, %cl 58591671Sume shrl $16, %eax 58691671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 58791671Sume xorl %ebp, %edi 58891671Sume movb %ah, %bl 58991671Sume shrl $16, %edx 59091671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 59191671Sume xorl %ebp, %edi 59291671Sume movl 24(%esp), %ebp 59391671Sume movb %dh, %cl 59491671Sume andl $0xff, %eax 59591671Sume andl $0xff, %edx 59691671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 59791671Sume xorl %ebx, %edi 59891671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 59991671Sume xorl %ebx, %edi 60091671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 60191671Sume xorl %ebx, %edi 60291671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 60391671Sume xorl %ebx, %edi 60491671Sume 605113800Sobrien /* Round 13 */ 60691671Sume movl 104(%ebp), %eax 60791671Sume xorl %ebx, %ebx 60891671Sume movl 108(%ebp), %edx 60991671Sume xorl %edi, %eax 61091671Sume xorl %edi, %edx 61191671Sume andl $0xfcfcfcfc, %eax 61291671Sume andl $0xcfcfcfcf, %edx 61391671Sume movb %al, %bl 61491671Sume movb %ah, %cl 61591671Sume rorl $4, %edx 61691671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 61791671Sume movb %dl, %bl 61891671Sume xorl %ebp, %esi 61991671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 62091671Sume xorl %ebp, %esi 62191671Sume movb %dh, %cl 62291671Sume shrl $16, %eax 62391671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 62491671Sume xorl %ebp, %esi 62591671Sume movb %ah, %bl 62691671Sume shrl $16, %edx 62791671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 62891671Sume xorl %ebp, %esi 62991671Sume movl 24(%esp), %ebp 63091671Sume movb %dh, %cl 63191671Sume andl $0xff, %eax 63291671Sume andl $0xff, %edx 63391671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 63491671Sume xorl %ebx, %esi 63591671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 63691671Sume xorl %ebx, %esi 63791671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 63891671Sume xorl %ebx, %esi 63991671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 64091671Sume xorl %ebx, %esi 64191671Sume 642113800Sobrien /* Round 14 */ 64391671Sume movl 112(%ebp), %eax 64491671Sume xorl %ebx, %ebx 64591671Sume movl 116(%ebp), %edx 64691671Sume xorl %esi, %eax 64791671Sume xorl %esi, %edx 64891671Sume andl $0xfcfcfcfc, %eax 64991671Sume andl $0xcfcfcfcf, %edx 65091671Sume movb %al, %bl 65191671Sume movb %ah, %cl 65291671Sume rorl $4, %edx 65391671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 65491671Sume movb %dl, %bl 65591671Sume xorl %ebp, %edi 65691671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 65791671Sume xorl %ebp, %edi 65891671Sume movb %dh, %cl 65991671Sume shrl $16, %eax 66091671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 66191671Sume xorl %ebp, %edi 66291671Sume movb %ah, %bl 66391671Sume shrl $16, %edx 66491671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 66591671Sume xorl %ebp, %edi 66691671Sume movl 24(%esp), %ebp 66791671Sume movb %dh, %cl 66891671Sume andl $0xff, %eax 66991671Sume andl $0xff, %edx 67091671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 67191671Sume xorl %ebx, %edi 67291671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 67391671Sume xorl %ebx, %edi 67491671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 67591671Sume xorl %ebx, %edi 67691671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 67791671Sume xorl %ebx, %edi 67891671Sume 679113800Sobrien /* Round 15 */ 68091671Sume movl 120(%ebp), %eax 68191671Sume xorl %ebx, %ebx 68291671Sume movl 124(%ebp), %edx 68391671Sume xorl %edi, %eax 68491671Sume xorl %edi, %edx 68591671Sume andl $0xfcfcfcfc, %eax 68691671Sume andl $0xcfcfcfcf, %edx 68791671Sume movb %al, %bl 68891671Sume movb %ah, %cl 68991671Sume rorl $4, %edx 69091671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 69191671Sume movb %dl, %bl 69291671Sume xorl %ebp, %esi 69391671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 69491671Sume xorl %ebp, %esi 69591671Sume movb %dh, %cl 69691671Sume shrl $16, %eax 69791671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 69891671Sume xorl %ebp, %esi 69991671Sume movb %ah, %bl 70091671Sume shrl $16, %edx 70191671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 70291671Sume xorl %ebp, %esi 70391671Sume movl 24(%esp), %ebp 70491671Sume movb %dh, %cl 70591671Sume andl $0xff, %eax 70691671Sume andl $0xff, %edx 70791671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 70891671Sume xorl %ebx, %esi 70991671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 71091671Sume xorl %ebx, %esi 71191671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 71291671Sume xorl %ebx, %esi 71391671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 71491671Sume xorl %ebx, %esi 71591671Sume jmp .L001end 71691671Sume.L000start_decrypt: 71791671Sume 718113800Sobrien /* Round 15 */ 71991671Sume movl 120(%ebp), %eax 72091671Sume xorl %ebx, %ebx 72191671Sume movl 124(%ebp), %edx 72291671Sume xorl %esi, %eax 72391671Sume xorl %esi, %edx 72491671Sume andl $0xfcfcfcfc, %eax 72591671Sume andl $0xcfcfcfcf, %edx 72691671Sume movb %al, %bl 72791671Sume movb %ah, %cl 72891671Sume rorl $4, %edx 72991671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 73091671Sume movb %dl, %bl 73191671Sume xorl %ebp, %edi 73291671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 73391671Sume xorl %ebp, %edi 73491671Sume movb %dh, %cl 73591671Sume shrl $16, %eax 73691671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 73791671Sume xorl %ebp, %edi 73891671Sume movb %ah, %bl 73991671Sume shrl $16, %edx 74091671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 74191671Sume xorl %ebp, %edi 74291671Sume movl 24(%esp), %ebp 74391671Sume movb %dh, %cl 74491671Sume andl $0xff, %eax 74591671Sume andl $0xff, %edx 74691671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 74791671Sume xorl %ebx, %edi 74891671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 74991671Sume xorl %ebx, %edi 75091671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 75191671Sume xorl %ebx, %edi 75291671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 75391671Sume xorl %ebx, %edi 75491671Sume 755113800Sobrien /* Round 14 */ 75691671Sume movl 112(%ebp), %eax 75791671Sume xorl %ebx, %ebx 75891671Sume movl 116(%ebp), %edx 75991671Sume xorl %edi, %eax 76091671Sume xorl %edi, %edx 76191671Sume andl $0xfcfcfcfc, %eax 76291671Sume andl $0xcfcfcfcf, %edx 76391671Sume movb %al, %bl 76491671Sume movb %ah, %cl 76591671Sume rorl $4, %edx 76691671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 76791671Sume movb %dl, %bl 76891671Sume xorl %ebp, %esi 76991671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 77091671Sume xorl %ebp, %esi 77191671Sume movb %dh, %cl 77291671Sume shrl $16, %eax 77391671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 77491671Sume xorl %ebp, %esi 77591671Sume movb %ah, %bl 77691671Sume shrl $16, %edx 77791671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 77891671Sume xorl %ebp, %esi 77991671Sume movl 24(%esp), %ebp 78091671Sume movb %dh, %cl 78191671Sume andl $0xff, %eax 78291671Sume andl $0xff, %edx 78391671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 78491671Sume xorl %ebx, %esi 78591671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 78691671Sume xorl %ebx, %esi 78791671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 78891671Sume xorl %ebx, %esi 78991671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 79091671Sume xorl %ebx, %esi 79191671Sume 792113800Sobrien /* Round 13 */ 79391671Sume movl 104(%ebp), %eax 79491671Sume xorl %ebx, %ebx 79591671Sume movl 108(%ebp), %edx 79691671Sume xorl %esi, %eax 79791671Sume xorl %esi, %edx 79891671Sume andl $0xfcfcfcfc, %eax 79991671Sume andl $0xcfcfcfcf, %edx 80091671Sume movb %al, %bl 80191671Sume movb %ah, %cl 80291671Sume rorl $4, %edx 80391671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 80491671Sume movb %dl, %bl 80591671Sume xorl %ebp, %edi 80691671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 80791671Sume xorl %ebp, %edi 80891671Sume movb %dh, %cl 80991671Sume shrl $16, %eax 81091671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 81191671Sume xorl %ebp, %edi 81291671Sume movb %ah, %bl 81391671Sume shrl $16, %edx 81491671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 81591671Sume xorl %ebp, %edi 81691671Sume movl 24(%esp), %ebp 81791671Sume movb %dh, %cl 81891671Sume andl $0xff, %eax 81991671Sume andl $0xff, %edx 82091671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 82191671Sume xorl %ebx, %edi 82291671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 82391671Sume xorl %ebx, %edi 82491671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 82591671Sume xorl %ebx, %edi 82691671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 82791671Sume xorl %ebx, %edi 82891671Sume 829113800Sobrien /* Round 12 */ 83091671Sume movl 96(%ebp), %eax 83191671Sume xorl %ebx, %ebx 83291671Sume movl 100(%ebp), %edx 83391671Sume xorl %edi, %eax 83491671Sume xorl %edi, %edx 83591671Sume andl $0xfcfcfcfc, %eax 83691671Sume andl $0xcfcfcfcf, %edx 83791671Sume movb %al, %bl 83891671Sume movb %ah, %cl 83991671Sume rorl $4, %edx 84091671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 84191671Sume movb %dl, %bl 84291671Sume xorl %ebp, %esi 84391671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 84491671Sume xorl %ebp, %esi 84591671Sume movb %dh, %cl 84691671Sume shrl $16, %eax 84791671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 84891671Sume xorl %ebp, %esi 84991671Sume movb %ah, %bl 85091671Sume shrl $16, %edx 85191671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 85291671Sume xorl %ebp, %esi 85391671Sume movl 24(%esp), %ebp 85491671Sume movb %dh, %cl 85591671Sume andl $0xff, %eax 85691671Sume andl $0xff, %edx 85791671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 85891671Sume xorl %ebx, %esi 85991671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 86091671Sume xorl %ebx, %esi 86191671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 86291671Sume xorl %ebx, %esi 86391671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 86491671Sume xorl %ebx, %esi 86591671Sume 866113800Sobrien /* Round 11 */ 86791671Sume movl 88(%ebp), %eax 86891671Sume xorl %ebx, %ebx 86991671Sume movl 92(%ebp), %edx 87091671Sume xorl %esi, %eax 87191671Sume xorl %esi, %edx 87291671Sume andl $0xfcfcfcfc, %eax 87391671Sume andl $0xcfcfcfcf, %edx 87491671Sume movb %al, %bl 87591671Sume movb %ah, %cl 87691671Sume rorl $4, %edx 87791671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 87891671Sume movb %dl, %bl 87991671Sume xorl %ebp, %edi 88091671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 88191671Sume xorl %ebp, %edi 88291671Sume movb %dh, %cl 88391671Sume shrl $16, %eax 88491671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 88591671Sume xorl %ebp, %edi 88691671Sume movb %ah, %bl 88791671Sume shrl $16, %edx 88891671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 88991671Sume xorl %ebp, %edi 89091671Sume movl 24(%esp), %ebp 89191671Sume movb %dh, %cl 89291671Sume andl $0xff, %eax 89391671Sume andl $0xff, %edx 89491671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 89591671Sume xorl %ebx, %edi 89691671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 89791671Sume xorl %ebx, %edi 89891671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 89991671Sume xorl %ebx, %edi 90091671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 90191671Sume xorl %ebx, %edi 90291671Sume 903113800Sobrien /* Round 10 */ 90491671Sume movl 80(%ebp), %eax 90591671Sume xorl %ebx, %ebx 90691671Sume movl 84(%ebp), %edx 90791671Sume xorl %edi, %eax 90891671Sume xorl %edi, %edx 90991671Sume andl $0xfcfcfcfc, %eax 91091671Sume andl $0xcfcfcfcf, %edx 91191671Sume movb %al, %bl 91291671Sume movb %ah, %cl 91391671Sume rorl $4, %edx 91491671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 91591671Sume movb %dl, %bl 91691671Sume xorl %ebp, %esi 91791671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 91891671Sume xorl %ebp, %esi 91991671Sume movb %dh, %cl 92091671Sume shrl $16, %eax 92191671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 92291671Sume xorl %ebp, %esi 92391671Sume movb %ah, %bl 92491671Sume shrl $16, %edx 92591671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 92691671Sume xorl %ebp, %esi 92791671Sume movl 24(%esp), %ebp 92891671Sume movb %dh, %cl 92991671Sume andl $0xff, %eax 93091671Sume andl $0xff, %edx 93191671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 93291671Sume xorl %ebx, %esi 93391671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 93491671Sume xorl %ebx, %esi 93591671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 93691671Sume xorl %ebx, %esi 93791671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 93891671Sume xorl %ebx, %esi 93991671Sume 940113800Sobrien /* Round 9 */ 94191671Sume movl 72(%ebp), %eax 94291671Sume xorl %ebx, %ebx 94391671Sume movl 76(%ebp), %edx 94491671Sume xorl %esi, %eax 94591671Sume xorl %esi, %edx 94691671Sume andl $0xfcfcfcfc, %eax 94791671Sume andl $0xcfcfcfcf, %edx 94891671Sume movb %al, %bl 94991671Sume movb %ah, %cl 95091671Sume rorl $4, %edx 95191671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 95291671Sume movb %dl, %bl 95391671Sume xorl %ebp, %edi 95491671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 95591671Sume xorl %ebp, %edi 95691671Sume movb %dh, %cl 95791671Sume shrl $16, %eax 95891671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 95991671Sume xorl %ebp, %edi 96091671Sume movb %ah, %bl 96191671Sume shrl $16, %edx 96291671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 96391671Sume xorl %ebp, %edi 96491671Sume movl 24(%esp), %ebp 96591671Sume movb %dh, %cl 96691671Sume andl $0xff, %eax 96791671Sume andl $0xff, %edx 96891671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 96991671Sume xorl %ebx, %edi 97091671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 97191671Sume xorl %ebx, %edi 97291671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 97391671Sume xorl %ebx, %edi 97491671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 97591671Sume xorl %ebx, %edi 97691671Sume 977113800Sobrien /* Round 8 */ 97891671Sume movl 64(%ebp), %eax 97991671Sume xorl %ebx, %ebx 98091671Sume movl 68(%ebp), %edx 98191671Sume xorl %edi, %eax 98291671Sume xorl %edi, %edx 98391671Sume andl $0xfcfcfcfc, %eax 98491671Sume andl $0xcfcfcfcf, %edx 98591671Sume movb %al, %bl 98691671Sume movb %ah, %cl 98791671Sume rorl $4, %edx 98891671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 98991671Sume movb %dl, %bl 99091671Sume xorl %ebp, %esi 99191671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 99291671Sume xorl %ebp, %esi 99391671Sume movb %dh, %cl 99491671Sume shrl $16, %eax 99591671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 99691671Sume xorl %ebp, %esi 99791671Sume movb %ah, %bl 99891671Sume shrl $16, %edx 99991671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 100091671Sume xorl %ebp, %esi 100191671Sume movl 24(%esp), %ebp 100291671Sume movb %dh, %cl 100391671Sume andl $0xff, %eax 100491671Sume andl $0xff, %edx 100591671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 100691671Sume xorl %ebx, %esi 100791671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 100891671Sume xorl %ebx, %esi 100991671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 101091671Sume xorl %ebx, %esi 101191671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 101291671Sume xorl %ebx, %esi 101391671Sume 1014113800Sobrien /* Round 7 */ 101591671Sume movl 56(%ebp), %eax 101691671Sume xorl %ebx, %ebx 101791671Sume movl 60(%ebp), %edx 101891671Sume xorl %esi, %eax 101991671Sume xorl %esi, %edx 102091671Sume andl $0xfcfcfcfc, %eax 102191671Sume andl $0xcfcfcfcf, %edx 102291671Sume movb %al, %bl 102391671Sume movb %ah, %cl 102491671Sume rorl $4, %edx 102591671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 102691671Sume movb %dl, %bl 102791671Sume xorl %ebp, %edi 102891671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 102991671Sume xorl %ebp, %edi 103091671Sume movb %dh, %cl 103191671Sume shrl $16, %eax 103291671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 103391671Sume xorl %ebp, %edi 103491671Sume movb %ah, %bl 103591671Sume shrl $16, %edx 103691671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 103791671Sume xorl %ebp, %edi 103891671Sume movl 24(%esp), %ebp 103991671Sume movb %dh, %cl 104091671Sume andl $0xff, %eax 104191671Sume andl $0xff, %edx 104291671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 104391671Sume xorl %ebx, %edi 104491671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 104591671Sume xorl %ebx, %edi 104691671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 104791671Sume xorl %ebx, %edi 104891671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 104991671Sume xorl %ebx, %edi 105091671Sume 1051113800Sobrien /* Round 6 */ 105291671Sume movl 48(%ebp), %eax 105391671Sume xorl %ebx, %ebx 105491671Sume movl 52(%ebp), %edx 105591671Sume xorl %edi, %eax 105691671Sume xorl %edi, %edx 105791671Sume andl $0xfcfcfcfc, %eax 105891671Sume andl $0xcfcfcfcf, %edx 105991671Sume movb %al, %bl 106091671Sume movb %ah, %cl 106191671Sume rorl $4, %edx 106291671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 106391671Sume movb %dl, %bl 106491671Sume xorl %ebp, %esi 106591671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 106691671Sume xorl %ebp, %esi 106791671Sume movb %dh, %cl 106891671Sume shrl $16, %eax 106991671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 107091671Sume xorl %ebp, %esi 107191671Sume movb %ah, %bl 107291671Sume shrl $16, %edx 107391671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 107491671Sume xorl %ebp, %esi 107591671Sume movl 24(%esp), %ebp 107691671Sume movb %dh, %cl 107791671Sume andl $0xff, %eax 107891671Sume andl $0xff, %edx 107991671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 108091671Sume xorl %ebx, %esi 108191671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 108291671Sume xorl %ebx, %esi 108391671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 108491671Sume xorl %ebx, %esi 108591671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 108691671Sume xorl %ebx, %esi 108791671Sume 1088113800Sobrien /* Round 5 */ 108991671Sume movl 40(%ebp), %eax 109091671Sume xorl %ebx, %ebx 109191671Sume movl 44(%ebp), %edx 109291671Sume xorl %esi, %eax 109391671Sume xorl %esi, %edx 109491671Sume andl $0xfcfcfcfc, %eax 109591671Sume andl $0xcfcfcfcf, %edx 109691671Sume movb %al, %bl 109791671Sume movb %ah, %cl 109891671Sume rorl $4, %edx 109991671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 110091671Sume movb %dl, %bl 110191671Sume xorl %ebp, %edi 110291671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 110391671Sume xorl %ebp, %edi 110491671Sume movb %dh, %cl 110591671Sume shrl $16, %eax 110691671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 110791671Sume xorl %ebp, %edi 110891671Sume movb %ah, %bl 110991671Sume shrl $16, %edx 111091671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 111191671Sume xorl %ebp, %edi 111291671Sume movl 24(%esp), %ebp 111391671Sume movb %dh, %cl 111491671Sume andl $0xff, %eax 111591671Sume andl $0xff, %edx 111691671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 111791671Sume xorl %ebx, %edi 111891671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 111991671Sume xorl %ebx, %edi 112091671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 112191671Sume xorl %ebx, %edi 112291671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 112391671Sume xorl %ebx, %edi 112491671Sume 1125113800Sobrien /* Round 4 */ 112691671Sume movl 32(%ebp), %eax 112791671Sume xorl %ebx, %ebx 112891671Sume movl 36(%ebp), %edx 112991671Sume xorl %edi, %eax 113091671Sume xorl %edi, %edx 113191671Sume andl $0xfcfcfcfc, %eax 113291671Sume andl $0xcfcfcfcf, %edx 113391671Sume movb %al, %bl 113491671Sume movb %ah, %cl 113591671Sume rorl $4, %edx 113691671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 113791671Sume movb %dl, %bl 113891671Sume xorl %ebp, %esi 113991671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 114091671Sume xorl %ebp, %esi 114191671Sume movb %dh, %cl 114291671Sume shrl $16, %eax 114391671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 114491671Sume xorl %ebp, %esi 114591671Sume movb %ah, %bl 114691671Sume shrl $16, %edx 114791671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 114891671Sume xorl %ebp, %esi 114991671Sume movl 24(%esp), %ebp 115091671Sume movb %dh, %cl 115191671Sume andl $0xff, %eax 115291671Sume andl $0xff, %edx 115391671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 115491671Sume xorl %ebx, %esi 115591671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 115691671Sume xorl %ebx, %esi 115791671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 115891671Sume xorl %ebx, %esi 115991671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 116091671Sume xorl %ebx, %esi 116191671Sume 1162113800Sobrien /* Round 3 */ 116391671Sume movl 24(%ebp), %eax 116491671Sume xorl %ebx, %ebx 116591671Sume movl 28(%ebp), %edx 116691671Sume xorl %esi, %eax 116791671Sume xorl %esi, %edx 116891671Sume andl $0xfcfcfcfc, %eax 116991671Sume andl $0xcfcfcfcf, %edx 117091671Sume movb %al, %bl 117191671Sume movb %ah, %cl 117291671Sume rorl $4, %edx 117391671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 117491671Sume movb %dl, %bl 117591671Sume xorl %ebp, %edi 117691671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 117791671Sume xorl %ebp, %edi 117891671Sume movb %dh, %cl 117991671Sume shrl $16, %eax 118091671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 118191671Sume xorl %ebp, %edi 118291671Sume movb %ah, %bl 118391671Sume shrl $16, %edx 118491671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 118591671Sume xorl %ebp, %edi 118691671Sume movl 24(%esp), %ebp 118791671Sume movb %dh, %cl 118891671Sume andl $0xff, %eax 118991671Sume andl $0xff, %edx 119091671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 119191671Sume xorl %ebx, %edi 119291671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 119391671Sume xorl %ebx, %edi 119491671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 119591671Sume xorl %ebx, %edi 119691671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 119791671Sume xorl %ebx, %edi 119891671Sume 1199113800Sobrien /* Round 2 */ 120091671Sume movl 16(%ebp), %eax 120191671Sume xorl %ebx, %ebx 120291671Sume movl 20(%ebp), %edx 120391671Sume xorl %edi, %eax 120491671Sume xorl %edi, %edx 120591671Sume andl $0xfcfcfcfc, %eax 120691671Sume andl $0xcfcfcfcf, %edx 120791671Sume movb %al, %bl 120891671Sume movb %ah, %cl 120991671Sume rorl $4, %edx 121091671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 121191671Sume movb %dl, %bl 121291671Sume xorl %ebp, %esi 121391671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 121491671Sume xorl %ebp, %esi 121591671Sume movb %dh, %cl 121691671Sume shrl $16, %eax 121791671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 121891671Sume xorl %ebp, %esi 121991671Sume movb %ah, %bl 122091671Sume shrl $16, %edx 122191671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 122291671Sume xorl %ebp, %esi 122391671Sume movl 24(%esp), %ebp 122491671Sume movb %dh, %cl 122591671Sume andl $0xff, %eax 122691671Sume andl $0xff, %edx 122791671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 122891671Sume xorl %ebx, %esi 122991671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 123091671Sume xorl %ebx, %esi 123191671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 123291671Sume xorl %ebx, %esi 123391671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 123491671Sume xorl %ebx, %esi 123591671Sume 1236113800Sobrien /* Round 1 */ 123791671Sume movl 8(%ebp), %eax 123891671Sume xorl %ebx, %ebx 123991671Sume movl 12(%ebp), %edx 124091671Sume xorl %esi, %eax 124191671Sume xorl %esi, %edx 124291671Sume andl $0xfcfcfcfc, %eax 124391671Sume andl $0xcfcfcfcf, %edx 124491671Sume movb %al, %bl 124591671Sume movb %ah, %cl 124691671Sume rorl $4, %edx 124791671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 124891671Sume movb %dl, %bl 124991671Sume xorl %ebp, %edi 125091671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 125191671Sume xorl %ebp, %edi 125291671Sume movb %dh, %cl 125391671Sume shrl $16, %eax 125491671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 125591671Sume xorl %ebp, %edi 125691671Sume movb %ah, %bl 125791671Sume shrl $16, %edx 125891671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 125991671Sume xorl %ebp, %edi 126091671Sume movl 24(%esp), %ebp 126191671Sume movb %dh, %cl 126291671Sume andl $0xff, %eax 126391671Sume andl $0xff, %edx 126491671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 126591671Sume xorl %ebx, %edi 126691671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 126791671Sume xorl %ebx, %edi 126891671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 126991671Sume xorl %ebx, %edi 127091671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 127191671Sume xorl %ebx, %edi 127291671Sume 1273113800Sobrien /* Round 0 */ 127491671Sume movl (%ebp), %eax 127591671Sume xorl %ebx, %ebx 127691671Sume movl 4(%ebp), %edx 127791671Sume xorl %edi, %eax 127891671Sume xorl %edi, %edx 127991671Sume andl $0xfcfcfcfc, %eax 128091671Sume andl $0xcfcfcfcf, %edx 128191671Sume movb %al, %bl 128291671Sume movb %ah, %cl 128391671Sume rorl $4, %edx 128491671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 128591671Sume movb %dl, %bl 128691671Sume xorl %ebp, %esi 128791671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 128891671Sume xorl %ebp, %esi 128991671Sume movb %dh, %cl 129091671Sume shrl $16, %eax 129191671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 129291671Sume xorl %ebp, %esi 129391671Sume movb %ah, %bl 129491671Sume shrl $16, %edx 129591671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 129691671Sume xorl %ebp, %esi 129791671Sume movl 24(%esp), %ebp 129891671Sume movb %dh, %cl 129991671Sume andl $0xff, %eax 130091671Sume andl $0xff, %edx 130191671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 130291671Sume xorl %ebx, %esi 130391671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 130491671Sume xorl %ebx, %esi 130591671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 130691671Sume xorl %ebx, %esi 130791671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 130891671Sume xorl %ebx, %esi 130991671Sume.L001end: 131091671Sume 1311113800Sobrien /* FP */ 131291671Sume movl 20(%esp), %edx 131391671Sume.byte 209 131491671Sume.byte 206 # rorl $1 %esi 131591671Sume movl %edi, %eax 131691671Sume xorl %esi, %edi 131791671Sume andl $0xaaaaaaaa, %edi 131891671Sume xorl %edi, %eax 131991671Sume xorl %edi, %esi 132091671Sume 132191671Sume roll $23, %eax 132291671Sume movl %eax, %edi 132391671Sume xorl %esi, %eax 132491671Sume andl $0x03fc03fc, %eax 132591671Sume xorl %eax, %edi 132691671Sume xorl %eax, %esi 132791671Sume 132891671Sume roll $10, %edi 132991671Sume movl %edi, %eax 133091671Sume xorl %esi, %edi 133191671Sume andl $0x33333333, %edi 133291671Sume xorl %edi, %eax 133391671Sume xorl %edi, %esi 133491671Sume 133591671Sume roll $18, %esi 133691671Sume movl %esi, %edi 133791671Sume xorl %eax, %esi 133891671Sume andl $0xfff0000f, %esi 133991671Sume xorl %esi, %edi 134091671Sume xorl %esi, %eax 134191671Sume 134291671Sume roll $12, %edi 134391671Sume movl %edi, %esi 134491671Sume xorl %eax, %edi 134591671Sume andl $0xf0f0f0f0, %edi 134691671Sume xorl %edi, %esi 134791671Sume xorl %edi, %eax 134891671Sume 134991671Sume rorl $4, %eax 135091671Sume movl %eax, (%edx) 135191671Sume movl %esi, 4(%edx) 135291671Sume popl %ebp 135391671Sume popl %ebx 135491671Sume popl %edi 135591671Sume popl %esi 135691671Sume ret 135791671Sume.L_des_encrypt1_end: 135891671Sume .size _C_LABEL(des_encrypt1),.L_des_encrypt1_end-_C_LABEL(des_encrypt1) 135991671Sume 136091671SumeENTRY(des_encrypt2) 136191671Sume pushl %esi 136291671Sume pushl %edi 136391671Sume 1364113800Sobrien /* Load the 2 words */ 136591671Sume movl 12(%esp), %eax 136691671Sume xorl %ecx, %ecx 136791671Sume pushl %ebx 136891671Sume pushl %ebp 136991671Sume movl (%eax), %esi 137091671Sume movl 28(%esp), %ebx 137191671Sume roll $3, %esi 137291671Sume movl 4(%eax), %edi 137391671Sume roll $3, %edi 137491671Sume movl 24(%esp), %ebp 137591671Sume cmpl $0, %ebx 137691671Sume je .L002start_decrypt 137791671Sume 1378113800Sobrien /* Round 0 */ 137991671Sume movl (%ebp), %eax 138091671Sume xorl %ebx, %ebx 138191671Sume movl 4(%ebp), %edx 138291671Sume xorl %esi, %eax 138391671Sume xorl %esi, %edx 138491671Sume andl $0xfcfcfcfc, %eax 138591671Sume andl $0xcfcfcfcf, %edx 138691671Sume movb %al, %bl 138791671Sume movb %ah, %cl 138891671Sume rorl $4, %edx 138991671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 139091671Sume movb %dl, %bl 139191671Sume xorl %ebp, %edi 139291671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 139391671Sume xorl %ebp, %edi 139491671Sume movb %dh, %cl 139591671Sume shrl $16, %eax 139691671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 139791671Sume xorl %ebp, %edi 139891671Sume movb %ah, %bl 139991671Sume shrl $16, %edx 140091671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 140191671Sume xorl %ebp, %edi 140291671Sume movl 24(%esp), %ebp 140391671Sume movb %dh, %cl 140491671Sume andl $0xff, %eax 140591671Sume andl $0xff, %edx 140691671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 140791671Sume xorl %ebx, %edi 140891671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 140991671Sume xorl %ebx, %edi 141091671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 141191671Sume xorl %ebx, %edi 141291671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 141391671Sume xorl %ebx, %edi 141491671Sume 1415113800Sobrien /* Round 1 */ 141691671Sume movl 8(%ebp), %eax 141791671Sume xorl %ebx, %ebx 141891671Sume movl 12(%ebp), %edx 141991671Sume xorl %edi, %eax 142091671Sume xorl %edi, %edx 142191671Sume andl $0xfcfcfcfc, %eax 142291671Sume andl $0xcfcfcfcf, %edx 142391671Sume movb %al, %bl 142491671Sume movb %ah, %cl 142591671Sume rorl $4, %edx 142691671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 142791671Sume movb %dl, %bl 142891671Sume xorl %ebp, %esi 142991671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 143091671Sume xorl %ebp, %esi 143191671Sume movb %dh, %cl 143291671Sume shrl $16, %eax 143391671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 143491671Sume xorl %ebp, %esi 143591671Sume movb %ah, %bl 143691671Sume shrl $16, %edx 143791671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 143891671Sume xorl %ebp, %esi 143991671Sume movl 24(%esp), %ebp 144091671Sume movb %dh, %cl 144191671Sume andl $0xff, %eax 144291671Sume andl $0xff, %edx 144391671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 144491671Sume xorl %ebx, %esi 144591671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 144691671Sume xorl %ebx, %esi 144791671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 144891671Sume xorl %ebx, %esi 144991671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 145091671Sume xorl %ebx, %esi 145191671Sume 1452113800Sobrien /* Round 2 */ 145391671Sume movl 16(%ebp), %eax 145491671Sume xorl %ebx, %ebx 145591671Sume movl 20(%ebp), %edx 145691671Sume xorl %esi, %eax 145791671Sume xorl %esi, %edx 145891671Sume andl $0xfcfcfcfc, %eax 145991671Sume andl $0xcfcfcfcf, %edx 146091671Sume movb %al, %bl 146191671Sume movb %ah, %cl 146291671Sume rorl $4, %edx 146391671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 146491671Sume movb %dl, %bl 146591671Sume xorl %ebp, %edi 146691671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 146791671Sume xorl %ebp, %edi 146891671Sume movb %dh, %cl 146991671Sume shrl $16, %eax 147091671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 147191671Sume xorl %ebp, %edi 147291671Sume movb %ah, %bl 147391671Sume shrl $16, %edx 147491671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 147591671Sume xorl %ebp, %edi 147691671Sume movl 24(%esp), %ebp 147791671Sume movb %dh, %cl 147891671Sume andl $0xff, %eax 147991671Sume andl $0xff, %edx 148091671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 148191671Sume xorl %ebx, %edi 148291671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 148391671Sume xorl %ebx, %edi 148491671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 148591671Sume xorl %ebx, %edi 148691671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 148791671Sume xorl %ebx, %edi 148891671Sume 1489113800Sobrien /* Round 3 */ 149091671Sume movl 24(%ebp), %eax 149191671Sume xorl %ebx, %ebx 149291671Sume movl 28(%ebp), %edx 149391671Sume xorl %edi, %eax 149491671Sume xorl %edi, %edx 149591671Sume andl $0xfcfcfcfc, %eax 149691671Sume andl $0xcfcfcfcf, %edx 149791671Sume movb %al, %bl 149891671Sume movb %ah, %cl 149991671Sume rorl $4, %edx 150091671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 150191671Sume movb %dl, %bl 150291671Sume xorl %ebp, %esi 150391671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 150491671Sume xorl %ebp, %esi 150591671Sume movb %dh, %cl 150691671Sume shrl $16, %eax 150791671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 150891671Sume xorl %ebp, %esi 150991671Sume movb %ah, %bl 151091671Sume shrl $16, %edx 151191671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 151291671Sume xorl %ebp, %esi 151391671Sume movl 24(%esp), %ebp 151491671Sume movb %dh, %cl 151591671Sume andl $0xff, %eax 151691671Sume andl $0xff, %edx 151791671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 151891671Sume xorl %ebx, %esi 151991671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 152091671Sume xorl %ebx, %esi 152191671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 152291671Sume xorl %ebx, %esi 152391671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 152491671Sume xorl %ebx, %esi 152591671Sume 1526113800Sobrien /* Round 4 */ 152791671Sume movl 32(%ebp), %eax 152891671Sume xorl %ebx, %ebx 152991671Sume movl 36(%ebp), %edx 153091671Sume xorl %esi, %eax 153191671Sume xorl %esi, %edx 153291671Sume andl $0xfcfcfcfc, %eax 153391671Sume andl $0xcfcfcfcf, %edx 153491671Sume movb %al, %bl 153591671Sume movb %ah, %cl 153691671Sume rorl $4, %edx 153791671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 153891671Sume movb %dl, %bl 153991671Sume xorl %ebp, %edi 154091671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 154191671Sume xorl %ebp, %edi 154291671Sume movb %dh, %cl 154391671Sume shrl $16, %eax 154491671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 154591671Sume xorl %ebp, %edi 154691671Sume movb %ah, %bl 154791671Sume shrl $16, %edx 154891671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 154991671Sume xorl %ebp, %edi 155091671Sume movl 24(%esp), %ebp 155191671Sume movb %dh, %cl 155291671Sume andl $0xff, %eax 155391671Sume andl $0xff, %edx 155491671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 155591671Sume xorl %ebx, %edi 155691671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 155791671Sume xorl %ebx, %edi 155891671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 155991671Sume xorl %ebx, %edi 156091671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 156191671Sume xorl %ebx, %edi 156291671Sume 1563113800Sobrien /* Round 5 */ 156491671Sume movl 40(%ebp), %eax 156591671Sume xorl %ebx, %ebx 156691671Sume movl 44(%ebp), %edx 156791671Sume xorl %edi, %eax 156891671Sume xorl %edi, %edx 156991671Sume andl $0xfcfcfcfc, %eax 157091671Sume andl $0xcfcfcfcf, %edx 157191671Sume movb %al, %bl 157291671Sume movb %ah, %cl 157391671Sume rorl $4, %edx 157491671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 157591671Sume movb %dl, %bl 157691671Sume xorl %ebp, %esi 157791671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 157891671Sume xorl %ebp, %esi 157991671Sume movb %dh, %cl 158091671Sume shrl $16, %eax 158191671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 158291671Sume xorl %ebp, %esi 158391671Sume movb %ah, %bl 158491671Sume shrl $16, %edx 158591671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 158691671Sume xorl %ebp, %esi 158791671Sume movl 24(%esp), %ebp 158891671Sume movb %dh, %cl 158991671Sume andl $0xff, %eax 159091671Sume andl $0xff, %edx 159191671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 159291671Sume xorl %ebx, %esi 159391671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 159491671Sume xorl %ebx, %esi 159591671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 159691671Sume xorl %ebx, %esi 159791671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 159891671Sume xorl %ebx, %esi 159991671Sume 1600113800Sobrien /* Round 6 */ 160191671Sume movl 48(%ebp), %eax 160291671Sume xorl %ebx, %ebx 160391671Sume movl 52(%ebp), %edx 160491671Sume xorl %esi, %eax 160591671Sume xorl %esi, %edx 160691671Sume andl $0xfcfcfcfc, %eax 160791671Sume andl $0xcfcfcfcf, %edx 160891671Sume movb %al, %bl 160991671Sume movb %ah, %cl 161091671Sume rorl $4, %edx 161191671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 161291671Sume movb %dl, %bl 161391671Sume xorl %ebp, %edi 161491671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 161591671Sume xorl %ebp, %edi 161691671Sume movb %dh, %cl 161791671Sume shrl $16, %eax 161891671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 161991671Sume xorl %ebp, %edi 162091671Sume movb %ah, %bl 162191671Sume shrl $16, %edx 162291671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 162391671Sume xorl %ebp, %edi 162491671Sume movl 24(%esp), %ebp 162591671Sume movb %dh, %cl 162691671Sume andl $0xff, %eax 162791671Sume andl $0xff, %edx 162891671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 162991671Sume xorl %ebx, %edi 163091671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 163191671Sume xorl %ebx, %edi 163291671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 163391671Sume xorl %ebx, %edi 163491671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 163591671Sume xorl %ebx, %edi 163691671Sume 1637113800Sobrien /* Round 7 */ 163891671Sume movl 56(%ebp), %eax 163991671Sume xorl %ebx, %ebx 164091671Sume movl 60(%ebp), %edx 164191671Sume xorl %edi, %eax 164291671Sume xorl %edi, %edx 164391671Sume andl $0xfcfcfcfc, %eax 164491671Sume andl $0xcfcfcfcf, %edx 164591671Sume movb %al, %bl 164691671Sume movb %ah, %cl 164791671Sume rorl $4, %edx 164891671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 164991671Sume movb %dl, %bl 165091671Sume xorl %ebp, %esi 165191671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 165291671Sume xorl %ebp, %esi 165391671Sume movb %dh, %cl 165491671Sume shrl $16, %eax 165591671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 165691671Sume xorl %ebp, %esi 165791671Sume movb %ah, %bl 165891671Sume shrl $16, %edx 165991671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 166091671Sume xorl %ebp, %esi 166191671Sume movl 24(%esp), %ebp 166291671Sume movb %dh, %cl 166391671Sume andl $0xff, %eax 166491671Sume andl $0xff, %edx 166591671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 166691671Sume xorl %ebx, %esi 166791671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 166891671Sume xorl %ebx, %esi 166991671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 167091671Sume xorl %ebx, %esi 167191671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 167291671Sume xorl %ebx, %esi 167391671Sume 1674113800Sobrien /* Round 8 */ 167591671Sume movl 64(%ebp), %eax 167691671Sume xorl %ebx, %ebx 167791671Sume movl 68(%ebp), %edx 167891671Sume xorl %esi, %eax 167991671Sume xorl %esi, %edx 168091671Sume andl $0xfcfcfcfc, %eax 168191671Sume andl $0xcfcfcfcf, %edx 168291671Sume movb %al, %bl 168391671Sume movb %ah, %cl 168491671Sume rorl $4, %edx 168591671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 168691671Sume movb %dl, %bl 168791671Sume xorl %ebp, %edi 168891671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 168991671Sume xorl %ebp, %edi 169091671Sume movb %dh, %cl 169191671Sume shrl $16, %eax 169291671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 169391671Sume xorl %ebp, %edi 169491671Sume movb %ah, %bl 169591671Sume shrl $16, %edx 169691671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 169791671Sume xorl %ebp, %edi 169891671Sume movl 24(%esp), %ebp 169991671Sume movb %dh, %cl 170091671Sume andl $0xff, %eax 170191671Sume andl $0xff, %edx 170291671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 170391671Sume xorl %ebx, %edi 170491671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 170591671Sume xorl %ebx, %edi 170691671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 170791671Sume xorl %ebx, %edi 170891671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 170991671Sume xorl %ebx, %edi 171091671Sume 1711113800Sobrien /* Round 9 */ 171291671Sume movl 72(%ebp), %eax 171391671Sume xorl %ebx, %ebx 171491671Sume movl 76(%ebp), %edx 171591671Sume xorl %edi, %eax 171691671Sume xorl %edi, %edx 171791671Sume andl $0xfcfcfcfc, %eax 171891671Sume andl $0xcfcfcfcf, %edx 171991671Sume movb %al, %bl 172091671Sume movb %ah, %cl 172191671Sume rorl $4, %edx 172291671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 172391671Sume movb %dl, %bl 172491671Sume xorl %ebp, %esi 172591671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 172691671Sume xorl %ebp, %esi 172791671Sume movb %dh, %cl 172891671Sume shrl $16, %eax 172991671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 173091671Sume xorl %ebp, %esi 173191671Sume movb %ah, %bl 173291671Sume shrl $16, %edx 173391671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 173491671Sume xorl %ebp, %esi 173591671Sume movl 24(%esp), %ebp 173691671Sume movb %dh, %cl 173791671Sume andl $0xff, %eax 173891671Sume andl $0xff, %edx 173991671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 174091671Sume xorl %ebx, %esi 174191671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 174291671Sume xorl %ebx, %esi 174391671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 174491671Sume xorl %ebx, %esi 174591671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 174691671Sume xorl %ebx, %esi 174791671Sume 1748113800Sobrien /* Round 10 */ 174991671Sume movl 80(%ebp), %eax 175091671Sume xorl %ebx, %ebx 175191671Sume movl 84(%ebp), %edx 175291671Sume xorl %esi, %eax 175391671Sume xorl %esi, %edx 175491671Sume andl $0xfcfcfcfc, %eax 175591671Sume andl $0xcfcfcfcf, %edx 175691671Sume movb %al, %bl 175791671Sume movb %ah, %cl 175891671Sume rorl $4, %edx 175991671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 176091671Sume movb %dl, %bl 176191671Sume xorl %ebp, %edi 176291671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 176391671Sume xorl %ebp, %edi 176491671Sume movb %dh, %cl 176591671Sume shrl $16, %eax 176691671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 176791671Sume xorl %ebp, %edi 176891671Sume movb %ah, %bl 176991671Sume shrl $16, %edx 177091671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 177191671Sume xorl %ebp, %edi 177291671Sume movl 24(%esp), %ebp 177391671Sume movb %dh, %cl 177491671Sume andl $0xff, %eax 177591671Sume andl $0xff, %edx 177691671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 177791671Sume xorl %ebx, %edi 177891671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 177991671Sume xorl %ebx, %edi 178091671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 178191671Sume xorl %ebx, %edi 178291671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 178391671Sume xorl %ebx, %edi 178491671Sume 1785113800Sobrien /* Round 11 */ 178691671Sume movl 88(%ebp), %eax 178791671Sume xorl %ebx, %ebx 178891671Sume movl 92(%ebp), %edx 178991671Sume xorl %edi, %eax 179091671Sume xorl %edi, %edx 179191671Sume andl $0xfcfcfcfc, %eax 179291671Sume andl $0xcfcfcfcf, %edx 179391671Sume movb %al, %bl 179491671Sume movb %ah, %cl 179591671Sume rorl $4, %edx 179691671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 179791671Sume movb %dl, %bl 179891671Sume xorl %ebp, %esi 179991671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 180091671Sume xorl %ebp, %esi 180191671Sume movb %dh, %cl 180291671Sume shrl $16, %eax 180391671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 180491671Sume xorl %ebp, %esi 180591671Sume movb %ah, %bl 180691671Sume shrl $16, %edx 180791671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 180891671Sume xorl %ebp, %esi 180991671Sume movl 24(%esp), %ebp 181091671Sume movb %dh, %cl 181191671Sume andl $0xff, %eax 181291671Sume andl $0xff, %edx 181391671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 181491671Sume xorl %ebx, %esi 181591671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 181691671Sume xorl %ebx, %esi 181791671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 181891671Sume xorl %ebx, %esi 181991671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 182091671Sume xorl %ebx, %esi 182191671Sume 1822113800Sobrien /* Round 12 */ 182391671Sume movl 96(%ebp), %eax 182491671Sume xorl %ebx, %ebx 182591671Sume movl 100(%ebp), %edx 182691671Sume xorl %esi, %eax 182791671Sume xorl %esi, %edx 182891671Sume andl $0xfcfcfcfc, %eax 182991671Sume andl $0xcfcfcfcf, %edx 183091671Sume movb %al, %bl 183191671Sume movb %ah, %cl 183291671Sume rorl $4, %edx 183391671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 183491671Sume movb %dl, %bl 183591671Sume xorl %ebp, %edi 183691671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 183791671Sume xorl %ebp, %edi 183891671Sume movb %dh, %cl 183991671Sume shrl $16, %eax 184091671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 184191671Sume xorl %ebp, %edi 184291671Sume movb %ah, %bl 184391671Sume shrl $16, %edx 184491671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 184591671Sume xorl %ebp, %edi 184691671Sume movl 24(%esp), %ebp 184791671Sume movb %dh, %cl 184891671Sume andl $0xff, %eax 184991671Sume andl $0xff, %edx 185091671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 185191671Sume xorl %ebx, %edi 185291671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 185391671Sume xorl %ebx, %edi 185491671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 185591671Sume xorl %ebx, %edi 185691671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 185791671Sume xorl %ebx, %edi 185891671Sume 1859113800Sobrien /* Round 13 */ 186091671Sume movl 104(%ebp), %eax 186191671Sume xorl %ebx, %ebx 186291671Sume movl 108(%ebp), %edx 186391671Sume xorl %edi, %eax 186491671Sume xorl %edi, %edx 186591671Sume andl $0xfcfcfcfc, %eax 186691671Sume andl $0xcfcfcfcf, %edx 186791671Sume movb %al, %bl 186891671Sume movb %ah, %cl 186991671Sume rorl $4, %edx 187091671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 187191671Sume movb %dl, %bl 187291671Sume xorl %ebp, %esi 187391671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 187491671Sume xorl %ebp, %esi 187591671Sume movb %dh, %cl 187691671Sume shrl $16, %eax 187791671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 187891671Sume xorl %ebp, %esi 187991671Sume movb %ah, %bl 188091671Sume shrl $16, %edx 188191671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 188291671Sume xorl %ebp, %esi 188391671Sume movl 24(%esp), %ebp 188491671Sume movb %dh, %cl 188591671Sume andl $0xff, %eax 188691671Sume andl $0xff, %edx 188791671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 188891671Sume xorl %ebx, %esi 188991671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 189091671Sume xorl %ebx, %esi 189191671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 189291671Sume xorl %ebx, %esi 189391671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 189491671Sume xorl %ebx, %esi 189591671Sume 1896113800Sobrien /* Round 14 */ 189791671Sume movl 112(%ebp), %eax 189891671Sume xorl %ebx, %ebx 189991671Sume movl 116(%ebp), %edx 190091671Sume xorl %esi, %eax 190191671Sume xorl %esi, %edx 190291671Sume andl $0xfcfcfcfc, %eax 190391671Sume andl $0xcfcfcfcf, %edx 190491671Sume movb %al, %bl 190591671Sume movb %ah, %cl 190691671Sume rorl $4, %edx 190791671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 190891671Sume movb %dl, %bl 190991671Sume xorl %ebp, %edi 191091671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 191191671Sume xorl %ebp, %edi 191291671Sume movb %dh, %cl 191391671Sume shrl $16, %eax 191491671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 191591671Sume xorl %ebp, %edi 191691671Sume movb %ah, %bl 191791671Sume shrl $16, %edx 191891671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 191991671Sume xorl %ebp, %edi 192091671Sume movl 24(%esp), %ebp 192191671Sume movb %dh, %cl 192291671Sume andl $0xff, %eax 192391671Sume andl $0xff, %edx 192491671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 192591671Sume xorl %ebx, %edi 192691671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 192791671Sume xorl %ebx, %edi 192891671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 192991671Sume xorl %ebx, %edi 193091671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 193191671Sume xorl %ebx, %edi 193291671Sume 1933113800Sobrien /* Round 15 */ 193491671Sume movl 120(%ebp), %eax 193591671Sume xorl %ebx, %ebx 193691671Sume movl 124(%ebp), %edx 193791671Sume xorl %edi, %eax 193891671Sume xorl %edi, %edx 193991671Sume andl $0xfcfcfcfc, %eax 194091671Sume andl $0xcfcfcfcf, %edx 194191671Sume movb %al, %bl 194291671Sume movb %ah, %cl 194391671Sume rorl $4, %edx 194491671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 194591671Sume movb %dl, %bl 194691671Sume xorl %ebp, %esi 194791671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 194891671Sume xorl %ebp, %esi 194991671Sume movb %dh, %cl 195091671Sume shrl $16, %eax 195191671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 195291671Sume xorl %ebp, %esi 195391671Sume movb %ah, %bl 195491671Sume shrl $16, %edx 195591671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 195691671Sume xorl %ebp, %esi 195791671Sume movl 24(%esp), %ebp 195891671Sume movb %dh, %cl 195991671Sume andl $0xff, %eax 196091671Sume andl $0xff, %edx 196191671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 196291671Sume xorl %ebx, %esi 196391671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 196491671Sume xorl %ebx, %esi 196591671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 196691671Sume xorl %ebx, %esi 196791671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 196891671Sume xorl %ebx, %esi 196991671Sume jmp .L003end 197091671Sume.L002start_decrypt: 197191671Sume 1972113800Sobrien /* Round 15 */ 197391671Sume movl 120(%ebp), %eax 197491671Sume xorl %ebx, %ebx 197591671Sume movl 124(%ebp), %edx 197691671Sume xorl %esi, %eax 197791671Sume xorl %esi, %edx 197891671Sume andl $0xfcfcfcfc, %eax 197991671Sume andl $0xcfcfcfcf, %edx 198091671Sume movb %al, %bl 198191671Sume movb %ah, %cl 198291671Sume rorl $4, %edx 198391671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 198491671Sume movb %dl, %bl 198591671Sume xorl %ebp, %edi 198691671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 198791671Sume xorl %ebp, %edi 198891671Sume movb %dh, %cl 198991671Sume shrl $16, %eax 199091671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 199191671Sume xorl %ebp, %edi 199291671Sume movb %ah, %bl 199391671Sume shrl $16, %edx 199491671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 199591671Sume xorl %ebp, %edi 199691671Sume movl 24(%esp), %ebp 199791671Sume movb %dh, %cl 199891671Sume andl $0xff, %eax 199991671Sume andl $0xff, %edx 200091671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 200191671Sume xorl %ebx, %edi 200291671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 200391671Sume xorl %ebx, %edi 200491671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 200591671Sume xorl %ebx, %edi 200691671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 200791671Sume xorl %ebx, %edi 200891671Sume 2009113800Sobrien /* Round 14 */ 201091671Sume movl 112(%ebp), %eax 201191671Sume xorl %ebx, %ebx 201291671Sume movl 116(%ebp), %edx 201391671Sume xorl %edi, %eax 201491671Sume xorl %edi, %edx 201591671Sume andl $0xfcfcfcfc, %eax 201691671Sume andl $0xcfcfcfcf, %edx 201791671Sume movb %al, %bl 201891671Sume movb %ah, %cl 201991671Sume rorl $4, %edx 202091671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 202191671Sume movb %dl, %bl 202291671Sume xorl %ebp, %esi 202391671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 202491671Sume xorl %ebp, %esi 202591671Sume movb %dh, %cl 202691671Sume shrl $16, %eax 202791671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 202891671Sume xorl %ebp, %esi 202991671Sume movb %ah, %bl 203091671Sume shrl $16, %edx 203191671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 203291671Sume xorl %ebp, %esi 203391671Sume movl 24(%esp), %ebp 203491671Sume movb %dh, %cl 203591671Sume andl $0xff, %eax 203691671Sume andl $0xff, %edx 203791671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 203891671Sume xorl %ebx, %esi 203991671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 204091671Sume xorl %ebx, %esi 204191671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 204291671Sume xorl %ebx, %esi 204391671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 204491671Sume xorl %ebx, %esi 204591671Sume 2046113800Sobrien /* Round 13 */ 204791671Sume movl 104(%ebp), %eax 204891671Sume xorl %ebx, %ebx 204991671Sume movl 108(%ebp), %edx 205091671Sume xorl %esi, %eax 205191671Sume xorl %esi, %edx 205291671Sume andl $0xfcfcfcfc, %eax 205391671Sume andl $0xcfcfcfcf, %edx 205491671Sume movb %al, %bl 205591671Sume movb %ah, %cl 205691671Sume rorl $4, %edx 205791671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 205891671Sume movb %dl, %bl 205991671Sume xorl %ebp, %edi 206091671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 206191671Sume xorl %ebp, %edi 206291671Sume movb %dh, %cl 206391671Sume shrl $16, %eax 206491671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 206591671Sume xorl %ebp, %edi 206691671Sume movb %ah, %bl 206791671Sume shrl $16, %edx 206891671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 206991671Sume xorl %ebp, %edi 207091671Sume movl 24(%esp), %ebp 207191671Sume movb %dh, %cl 207291671Sume andl $0xff, %eax 207391671Sume andl $0xff, %edx 207491671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 207591671Sume xorl %ebx, %edi 207691671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 207791671Sume xorl %ebx, %edi 207891671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 207991671Sume xorl %ebx, %edi 208091671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 208191671Sume xorl %ebx, %edi 208291671Sume 2083113800Sobrien /* Round 12 */ 208491671Sume movl 96(%ebp), %eax 208591671Sume xorl %ebx, %ebx 208691671Sume movl 100(%ebp), %edx 208791671Sume xorl %edi, %eax 208891671Sume xorl %edi, %edx 208991671Sume andl $0xfcfcfcfc, %eax 209091671Sume andl $0xcfcfcfcf, %edx 209191671Sume movb %al, %bl 209291671Sume movb %ah, %cl 209391671Sume rorl $4, %edx 209491671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 209591671Sume movb %dl, %bl 209691671Sume xorl %ebp, %esi 209791671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 209891671Sume xorl %ebp, %esi 209991671Sume movb %dh, %cl 210091671Sume shrl $16, %eax 210191671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 210291671Sume xorl %ebp, %esi 210391671Sume movb %ah, %bl 210491671Sume shrl $16, %edx 210591671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 210691671Sume xorl %ebp, %esi 210791671Sume movl 24(%esp), %ebp 210891671Sume movb %dh, %cl 210991671Sume andl $0xff, %eax 211091671Sume andl $0xff, %edx 211191671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 211291671Sume xorl %ebx, %esi 211391671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 211491671Sume xorl %ebx, %esi 211591671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 211691671Sume xorl %ebx, %esi 211791671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 211891671Sume xorl %ebx, %esi 211991671Sume 2120113800Sobrien /* Round 11 */ 212191671Sume movl 88(%ebp), %eax 212291671Sume xorl %ebx, %ebx 212391671Sume movl 92(%ebp), %edx 212491671Sume xorl %esi, %eax 212591671Sume xorl %esi, %edx 212691671Sume andl $0xfcfcfcfc, %eax 212791671Sume andl $0xcfcfcfcf, %edx 212891671Sume movb %al, %bl 212991671Sume movb %ah, %cl 213091671Sume rorl $4, %edx 213191671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 213291671Sume movb %dl, %bl 213391671Sume xorl %ebp, %edi 213491671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 213591671Sume xorl %ebp, %edi 213691671Sume movb %dh, %cl 213791671Sume shrl $16, %eax 213891671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 213991671Sume xorl %ebp, %edi 214091671Sume movb %ah, %bl 214191671Sume shrl $16, %edx 214291671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 214391671Sume xorl %ebp, %edi 214491671Sume movl 24(%esp), %ebp 214591671Sume movb %dh, %cl 214691671Sume andl $0xff, %eax 214791671Sume andl $0xff, %edx 214891671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 214991671Sume xorl %ebx, %edi 215091671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 215191671Sume xorl %ebx, %edi 215291671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 215391671Sume xorl %ebx, %edi 215491671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 215591671Sume xorl %ebx, %edi 215691671Sume 2157113800Sobrien /* Round 10 */ 215891671Sume movl 80(%ebp), %eax 215991671Sume xorl %ebx, %ebx 216091671Sume movl 84(%ebp), %edx 216191671Sume xorl %edi, %eax 216291671Sume xorl %edi, %edx 216391671Sume andl $0xfcfcfcfc, %eax 216491671Sume andl $0xcfcfcfcf, %edx 216591671Sume movb %al, %bl 216691671Sume movb %ah, %cl 216791671Sume rorl $4, %edx 216891671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 216991671Sume movb %dl, %bl 217091671Sume xorl %ebp, %esi 217191671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 217291671Sume xorl %ebp, %esi 217391671Sume movb %dh, %cl 217491671Sume shrl $16, %eax 217591671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 217691671Sume xorl %ebp, %esi 217791671Sume movb %ah, %bl 217891671Sume shrl $16, %edx 217991671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 218091671Sume xorl %ebp, %esi 218191671Sume movl 24(%esp), %ebp 218291671Sume movb %dh, %cl 218391671Sume andl $0xff, %eax 218491671Sume andl $0xff, %edx 218591671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 218691671Sume xorl %ebx, %esi 218791671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 218891671Sume xorl %ebx, %esi 218991671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 219091671Sume xorl %ebx, %esi 219191671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 219291671Sume xorl %ebx, %esi 219391671Sume 2194113800Sobrien /* Round 9 */ 219591671Sume movl 72(%ebp), %eax 219691671Sume xorl %ebx, %ebx 219791671Sume movl 76(%ebp), %edx 219891671Sume xorl %esi, %eax 219991671Sume xorl %esi, %edx 220091671Sume andl $0xfcfcfcfc, %eax 220191671Sume andl $0xcfcfcfcf, %edx 220291671Sume movb %al, %bl 220391671Sume movb %ah, %cl 220491671Sume rorl $4, %edx 220591671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 220691671Sume movb %dl, %bl 220791671Sume xorl %ebp, %edi 220891671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 220991671Sume xorl %ebp, %edi 221091671Sume movb %dh, %cl 221191671Sume shrl $16, %eax 221291671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 221391671Sume xorl %ebp, %edi 221491671Sume movb %ah, %bl 221591671Sume shrl $16, %edx 221691671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 221791671Sume xorl %ebp, %edi 221891671Sume movl 24(%esp), %ebp 221991671Sume movb %dh, %cl 222091671Sume andl $0xff, %eax 222191671Sume andl $0xff, %edx 222291671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 222391671Sume xorl %ebx, %edi 222491671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 222591671Sume xorl %ebx, %edi 222691671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 222791671Sume xorl %ebx, %edi 222891671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 222991671Sume xorl %ebx, %edi 223091671Sume 2231113800Sobrien /* Round 8 */ 223291671Sume movl 64(%ebp), %eax 223391671Sume xorl %ebx, %ebx 223491671Sume movl 68(%ebp), %edx 223591671Sume xorl %edi, %eax 223691671Sume xorl %edi, %edx 223791671Sume andl $0xfcfcfcfc, %eax 223891671Sume andl $0xcfcfcfcf, %edx 223991671Sume movb %al, %bl 224091671Sume movb %ah, %cl 224191671Sume rorl $4, %edx 224291671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 224391671Sume movb %dl, %bl 224491671Sume xorl %ebp, %esi 224591671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 224691671Sume xorl %ebp, %esi 224791671Sume movb %dh, %cl 224891671Sume shrl $16, %eax 224991671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 225091671Sume xorl %ebp, %esi 225191671Sume movb %ah, %bl 225291671Sume shrl $16, %edx 225391671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 225491671Sume xorl %ebp, %esi 225591671Sume movl 24(%esp), %ebp 225691671Sume movb %dh, %cl 225791671Sume andl $0xff, %eax 225891671Sume andl $0xff, %edx 225991671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 226091671Sume xorl %ebx, %esi 226191671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 226291671Sume xorl %ebx, %esi 226391671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 226491671Sume xorl %ebx, %esi 226591671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 226691671Sume xorl %ebx, %esi 226791671Sume 2268113800Sobrien /* Round 7 */ 226991671Sume movl 56(%ebp), %eax 227091671Sume xorl %ebx, %ebx 227191671Sume movl 60(%ebp), %edx 227291671Sume xorl %esi, %eax 227391671Sume xorl %esi, %edx 227491671Sume andl $0xfcfcfcfc, %eax 227591671Sume andl $0xcfcfcfcf, %edx 227691671Sume movb %al, %bl 227791671Sume movb %ah, %cl 227891671Sume rorl $4, %edx 227991671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 228091671Sume movb %dl, %bl 228191671Sume xorl %ebp, %edi 228291671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 228391671Sume xorl %ebp, %edi 228491671Sume movb %dh, %cl 228591671Sume shrl $16, %eax 228691671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 228791671Sume xorl %ebp, %edi 228891671Sume movb %ah, %bl 228991671Sume shrl $16, %edx 229091671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 229191671Sume xorl %ebp, %edi 229291671Sume movl 24(%esp), %ebp 229391671Sume movb %dh, %cl 229491671Sume andl $0xff, %eax 229591671Sume andl $0xff, %edx 229691671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 229791671Sume xorl %ebx, %edi 229891671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 229991671Sume xorl %ebx, %edi 230091671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 230191671Sume xorl %ebx, %edi 230291671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 230391671Sume xorl %ebx, %edi 230491671Sume 2305113800Sobrien /* Round 6 */ 230691671Sume movl 48(%ebp), %eax 230791671Sume xorl %ebx, %ebx 230891671Sume movl 52(%ebp), %edx 230991671Sume xorl %edi, %eax 231091671Sume xorl %edi, %edx 231191671Sume andl $0xfcfcfcfc, %eax 231291671Sume andl $0xcfcfcfcf, %edx 231391671Sume movb %al, %bl 231491671Sume movb %ah, %cl 231591671Sume rorl $4, %edx 231691671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 231791671Sume movb %dl, %bl 231891671Sume xorl %ebp, %esi 231991671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 232091671Sume xorl %ebp, %esi 232191671Sume movb %dh, %cl 232291671Sume shrl $16, %eax 232391671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 232491671Sume xorl %ebp, %esi 232591671Sume movb %ah, %bl 232691671Sume shrl $16, %edx 232791671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 232891671Sume xorl %ebp, %esi 232991671Sume movl 24(%esp), %ebp 233091671Sume movb %dh, %cl 233191671Sume andl $0xff, %eax 233291671Sume andl $0xff, %edx 233391671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 233491671Sume xorl %ebx, %esi 233591671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 233691671Sume xorl %ebx, %esi 233791671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 233891671Sume xorl %ebx, %esi 233991671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 234091671Sume xorl %ebx, %esi 234191671Sume 2342113800Sobrien /* Round 5 */ 234391671Sume movl 40(%ebp), %eax 234491671Sume xorl %ebx, %ebx 234591671Sume movl 44(%ebp), %edx 234691671Sume xorl %esi, %eax 234791671Sume xorl %esi, %edx 234891671Sume andl $0xfcfcfcfc, %eax 234991671Sume andl $0xcfcfcfcf, %edx 235091671Sume movb %al, %bl 235191671Sume movb %ah, %cl 235291671Sume rorl $4, %edx 235391671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 235491671Sume movb %dl, %bl 235591671Sume xorl %ebp, %edi 235691671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 235791671Sume xorl %ebp, %edi 235891671Sume movb %dh, %cl 235991671Sume shrl $16, %eax 236091671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 236191671Sume xorl %ebp, %edi 236291671Sume movb %ah, %bl 236391671Sume shrl $16, %edx 236491671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 236591671Sume xorl %ebp, %edi 236691671Sume movl 24(%esp), %ebp 236791671Sume movb %dh, %cl 236891671Sume andl $0xff, %eax 236991671Sume andl $0xff, %edx 237091671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 237191671Sume xorl %ebx, %edi 237291671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 237391671Sume xorl %ebx, %edi 237491671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 237591671Sume xorl %ebx, %edi 237691671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 237791671Sume xorl %ebx, %edi 237891671Sume 2379113800Sobrien /* Round 4 */ 238091671Sume movl 32(%ebp), %eax 238191671Sume xorl %ebx, %ebx 238291671Sume movl 36(%ebp), %edx 238391671Sume xorl %edi, %eax 238491671Sume xorl %edi, %edx 238591671Sume andl $0xfcfcfcfc, %eax 238691671Sume andl $0xcfcfcfcf, %edx 238791671Sume movb %al, %bl 238891671Sume movb %ah, %cl 238991671Sume rorl $4, %edx 239091671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 239191671Sume movb %dl, %bl 239291671Sume xorl %ebp, %esi 239391671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 239491671Sume xorl %ebp, %esi 239591671Sume movb %dh, %cl 239691671Sume shrl $16, %eax 239791671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 239891671Sume xorl %ebp, %esi 239991671Sume movb %ah, %bl 240091671Sume shrl $16, %edx 240191671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 240291671Sume xorl %ebp, %esi 240391671Sume movl 24(%esp), %ebp 240491671Sume movb %dh, %cl 240591671Sume andl $0xff, %eax 240691671Sume andl $0xff, %edx 240791671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 240891671Sume xorl %ebx, %esi 240991671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 241091671Sume xorl %ebx, %esi 241191671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 241291671Sume xorl %ebx, %esi 241391671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 241491671Sume xorl %ebx, %esi 241591671Sume 2416113800Sobrien /* Round 3 */ 241791671Sume movl 24(%ebp), %eax 241891671Sume xorl %ebx, %ebx 241991671Sume movl 28(%ebp), %edx 242091671Sume xorl %esi, %eax 242191671Sume xorl %esi, %edx 242291671Sume andl $0xfcfcfcfc, %eax 242391671Sume andl $0xcfcfcfcf, %edx 242491671Sume movb %al, %bl 242591671Sume movb %ah, %cl 242691671Sume rorl $4, %edx 242791671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 242891671Sume movb %dl, %bl 242991671Sume xorl %ebp, %edi 243091671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 243191671Sume xorl %ebp, %edi 243291671Sume movb %dh, %cl 243391671Sume shrl $16, %eax 243491671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 243591671Sume xorl %ebp, %edi 243691671Sume movb %ah, %bl 243791671Sume shrl $16, %edx 243891671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 243991671Sume xorl %ebp, %edi 244091671Sume movl 24(%esp), %ebp 244191671Sume movb %dh, %cl 244291671Sume andl $0xff, %eax 244391671Sume andl $0xff, %edx 244491671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 244591671Sume xorl %ebx, %edi 244691671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 244791671Sume xorl %ebx, %edi 244891671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 244991671Sume xorl %ebx, %edi 245091671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 245191671Sume xorl %ebx, %edi 245291671Sume 2453113800Sobrien /* Round 2 */ 245491671Sume movl 16(%ebp), %eax 245591671Sume xorl %ebx, %ebx 245691671Sume movl 20(%ebp), %edx 245791671Sume xorl %edi, %eax 245891671Sume xorl %edi, %edx 245991671Sume andl $0xfcfcfcfc, %eax 246091671Sume andl $0xcfcfcfcf, %edx 246191671Sume movb %al, %bl 246291671Sume movb %ah, %cl 246391671Sume rorl $4, %edx 246491671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 246591671Sume movb %dl, %bl 246691671Sume xorl %ebp, %esi 246791671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 246891671Sume xorl %ebp, %esi 246991671Sume movb %dh, %cl 247091671Sume shrl $16, %eax 247191671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 247291671Sume xorl %ebp, %esi 247391671Sume movb %ah, %bl 247491671Sume shrl $16, %edx 247591671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 247691671Sume xorl %ebp, %esi 247791671Sume movl 24(%esp), %ebp 247891671Sume movb %dh, %cl 247991671Sume andl $0xff, %eax 248091671Sume andl $0xff, %edx 248191671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 248291671Sume xorl %ebx, %esi 248391671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 248491671Sume xorl %ebx, %esi 248591671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 248691671Sume xorl %ebx, %esi 248791671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 248891671Sume xorl %ebx, %esi 248991671Sume 2490113800Sobrien /* Round 1 */ 249191671Sume movl 8(%ebp), %eax 249291671Sume xorl %ebx, %ebx 249391671Sume movl 12(%ebp), %edx 249491671Sume xorl %esi, %eax 249591671Sume xorl %esi, %edx 249691671Sume andl $0xfcfcfcfc, %eax 249791671Sume andl $0xcfcfcfcf, %edx 249891671Sume movb %al, %bl 249991671Sume movb %ah, %cl 250091671Sume rorl $4, %edx 250191671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 250291671Sume movb %dl, %bl 250391671Sume xorl %ebp, %edi 250491671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 250591671Sume xorl %ebp, %edi 250691671Sume movb %dh, %cl 250791671Sume shrl $16, %eax 250891671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 250991671Sume xorl %ebp, %edi 251091671Sume movb %ah, %bl 251191671Sume shrl $16, %edx 251291671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 251391671Sume xorl %ebp, %edi 251491671Sume movl 24(%esp), %ebp 251591671Sume movb %dh, %cl 251691671Sume andl $0xff, %eax 251791671Sume andl $0xff, %edx 251891671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 251991671Sume xorl %ebx, %edi 252091671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 252191671Sume xorl %ebx, %edi 252291671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 252391671Sume xorl %ebx, %edi 252491671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 252591671Sume xorl %ebx, %edi 252691671Sume 2527113800Sobrien /* Round 0 */ 252891671Sume movl (%ebp), %eax 252991671Sume xorl %ebx, %ebx 253091671Sume movl 4(%ebp), %edx 253191671Sume xorl %edi, %eax 253291671Sume xorl %edi, %edx 253391671Sume andl $0xfcfcfcfc, %eax 253491671Sume andl $0xcfcfcfcf, %edx 253591671Sume movb %al, %bl 253691671Sume movb %ah, %cl 253791671Sume rorl $4, %edx 253891671Sume movl _C_LABEL(des_SPtrans)(%ebx),%ebp 253991671Sume movb %dl, %bl 254091671Sume xorl %ebp, %esi 254191671Sume movl 0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp 254291671Sume xorl %ebp, %esi 254391671Sume movb %dh, %cl 254491671Sume shrl $16, %eax 254591671Sume movl 0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp 254691671Sume xorl %ebp, %esi 254791671Sume movb %ah, %bl 254891671Sume shrl $16, %edx 254991671Sume movl 0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp 255091671Sume xorl %ebp, %esi 255191671Sume movl 24(%esp), %ebp 255291671Sume movb %dh, %cl 255391671Sume andl $0xff, %eax 255491671Sume andl $0xff, %edx 255591671Sume movl 0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx 255691671Sume xorl %ebx, %esi 255791671Sume movl 0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx 255891671Sume xorl %ebx, %esi 255991671Sume movl 0x400+_C_LABEL(des_SPtrans)(%eax),%ebx 256091671Sume xorl %ebx, %esi 256191671Sume movl 0x500+_C_LABEL(des_SPtrans)(%edx),%ebx 256291671Sume xorl %ebx, %esi 256391671Sume.L003end: 256491671Sume 2565113800Sobrien /* Fixup */ 256691671Sume rorl $3, %edi 256791671Sume movl 20(%esp), %eax 256891671Sume rorl $3, %esi 256991671Sume movl %edi, (%eax) 257091671Sume movl %esi, 4(%eax) 257191671Sume popl %ebp 257291671Sume popl %ebx 257391671Sume popl %edi 257491671Sume popl %esi 257591671Sume ret 257691671Sume.L_des_encrypt2_end: 257791671Sume .size _C_LABEL(des_encrypt2),.L_des_encrypt2_end-_C_LABEL(des_encrypt2) 257891671Sume 257991671SumeENTRY(des_encrypt3) 258091671Sume pushl %ebx 258191671Sume movl 8(%esp), %ebx 258291671Sume pushl %ebp 258391671Sume pushl %esi 258491671Sume pushl %edi 258591671Sume 2586113800Sobrien /* Load the data words */ 258791671Sume movl (%ebx), %edi 258891671Sume movl 4(%ebx), %esi 258991671Sume subl $12, %esp 259091671Sume 2591113800Sobrien /* IP */ 259291671Sume roll $4, %edi 259391671Sume movl %edi, %edx 259491671Sume xorl %esi, %edi 259591671Sume andl $0xf0f0f0f0, %edi 259691671Sume xorl %edi, %edx 259791671Sume xorl %edi, %esi 259891671Sume 259991671Sume roll $20, %esi 260091671Sume movl %esi, %edi 260191671Sume xorl %edx, %esi 260291671Sume andl $0xfff0000f, %esi 260391671Sume xorl %esi, %edi 260491671Sume xorl %esi, %edx 260591671Sume 260691671Sume roll $14, %edi 260791671Sume movl %edi, %esi 260891671Sume xorl %edx, %edi 260991671Sume andl $0x33333333, %edi 261091671Sume xorl %edi, %esi 261191671Sume xorl %edi, %edx 261291671Sume 261391671Sume roll $22, %edx 261491671Sume movl %edx, %edi 261591671Sume xorl %esi, %edx 261691671Sume andl $0x03fc03fc, %edx 261791671Sume xorl %edx, %edi 261891671Sume xorl %edx, %esi 261991671Sume 262091671Sume roll $9, %edi 262191671Sume movl %edi, %edx 262291671Sume xorl %esi, %edi 262391671Sume andl $0xaaaaaaaa, %edi 262491671Sume xorl %edi, %edx 262591671Sume xorl %edi, %esi 262691671Sume 262791671Sume rorl $3, %edx 262891671Sume rorl $2, %esi 262991671Sume movl %esi, 4(%ebx) 263091671Sume movl 36(%esp), %eax 263191671Sume movl %edx, (%ebx) 263291671Sume movl 40(%esp), %edi 263391671Sume movl 44(%esp), %esi 263491671Sume movl $1, 8(%esp) 263591671Sume movl %eax, 4(%esp) 263691671Sume movl %ebx, (%esp) 263791671Sume call _C_LABEL(des_encrypt2) 263891671Sume movl $0, 8(%esp) 263991671Sume movl %edi, 4(%esp) 264091671Sume movl %ebx, (%esp) 264191671Sume call _C_LABEL(des_encrypt2) 264291671Sume movl $1, 8(%esp) 264391671Sume movl %esi, 4(%esp) 264491671Sume movl %ebx, (%esp) 264591671Sume call _C_LABEL(des_encrypt2) 264691671Sume addl $12, %esp 264791671Sume movl (%ebx), %edi 264891671Sume movl 4(%ebx), %esi 264991671Sume 2650113800Sobrien /* FP */ 265191671Sume roll $2, %esi 265291671Sume roll $3, %edi 265391671Sume movl %edi, %eax 265491671Sume xorl %esi, %edi 265591671Sume andl $0xaaaaaaaa, %edi 265691671Sume xorl %edi, %eax 265791671Sume xorl %edi, %esi 265891671Sume 265991671Sume roll $23, %eax 266091671Sume movl %eax, %edi 266191671Sume xorl %esi, %eax 266291671Sume andl $0x03fc03fc, %eax 266391671Sume xorl %eax, %edi 266491671Sume xorl %eax, %esi 266591671Sume 266691671Sume roll $10, %edi 266791671Sume movl %edi, %eax 266891671Sume xorl %esi, %edi 266991671Sume andl $0x33333333, %edi 267091671Sume xorl %edi, %eax 267191671Sume xorl %edi, %esi 267291671Sume 267391671Sume roll $18, %esi 267491671Sume movl %esi, %edi 267591671Sume xorl %eax, %esi 267691671Sume andl $0xfff0000f, %esi 267791671Sume xorl %esi, %edi 267891671Sume xorl %esi, %eax 267991671Sume 268091671Sume roll $12, %edi 268191671Sume movl %edi, %esi 268291671Sume xorl %eax, %edi 268391671Sume andl $0xf0f0f0f0, %edi 268491671Sume xorl %edi, %esi 268591671Sume xorl %edi, %eax 268691671Sume 268791671Sume rorl $4, %eax 268891671Sume movl %eax, (%ebx) 268991671Sume movl %esi, 4(%ebx) 269091671Sume popl %edi 269191671Sume popl %esi 269291671Sume popl %ebp 269391671Sume popl %ebx 269491671Sume ret 269591671Sume.L_des_encrypt3_end: 269691671Sume .size _C_LABEL(des_encrypt3),.L_des_encrypt3_end-_C_LABEL(des_encrypt3) 269791671Sume 269891671SumeENTRY(des_decrypt3) 269991671Sume pushl %ebx 270091671Sume movl 8(%esp), %ebx 270191671Sume pushl %ebp 270291671Sume pushl %esi 270391671Sume pushl %edi 270491671Sume 2705113800Sobrien /* Load the data words */ 270691671Sume movl (%ebx), %edi 270791671Sume movl 4(%ebx), %esi 270891671Sume subl $12, %esp 270991671Sume 2710113800Sobrien /* IP */ 271191671Sume roll $4, %edi 271291671Sume movl %edi, %edx 271391671Sume xorl %esi, %edi 271491671Sume andl $0xf0f0f0f0, %edi 271591671Sume xorl %edi, %edx 271691671Sume xorl %edi, %esi 271791671Sume 271891671Sume roll $20, %esi 271991671Sume movl %esi, %edi 272091671Sume xorl %edx, %esi 272191671Sume andl $0xfff0000f, %esi 272291671Sume xorl %esi, %edi 272391671Sume xorl %esi, %edx 272491671Sume 272591671Sume roll $14, %edi 272691671Sume movl %edi, %esi 272791671Sume xorl %edx, %edi 272891671Sume andl $0x33333333, %edi 272991671Sume xorl %edi, %esi 273091671Sume xorl %edi, %edx 273191671Sume 273291671Sume roll $22, %edx 273391671Sume movl %edx, %edi 273491671Sume xorl %esi, %edx 273591671Sume andl $0x03fc03fc, %edx 273691671Sume xorl %edx, %edi 273791671Sume xorl %edx, %esi 273891671Sume 273991671Sume roll $9, %edi 274091671Sume movl %edi, %edx 274191671Sume xorl %esi, %edi 274291671Sume andl $0xaaaaaaaa, %edi 274391671Sume xorl %edi, %edx 274491671Sume xorl %edi, %esi 274591671Sume 274691671Sume rorl $3, %edx 274791671Sume rorl $2, %esi 274891671Sume movl %esi, 4(%ebx) 274991671Sume movl 36(%esp), %esi 275091671Sume movl %edx, (%ebx) 275191671Sume movl 40(%esp), %edi 275291671Sume movl 44(%esp), %eax 275391671Sume movl $0, 8(%esp) 275491671Sume movl %eax, 4(%esp) 275591671Sume movl %ebx, (%esp) 275691671Sume call _C_LABEL(des_encrypt2) 275791671Sume movl $1, 8(%esp) 275891671Sume movl %edi, 4(%esp) 275991671Sume movl %ebx, (%esp) 276091671Sume call _C_LABEL(des_encrypt2) 276191671Sume movl $0, 8(%esp) 276291671Sume movl %esi, 4(%esp) 276391671Sume movl %ebx, (%esp) 276491671Sume call _C_LABEL(des_encrypt2) 276591671Sume addl $12, %esp 276691671Sume movl (%ebx), %edi 276791671Sume movl 4(%ebx), %esi 276891671Sume 2769113800Sobrien /* FP */ 277091671Sume roll $2, %esi 277191671Sume roll $3, %edi 277291671Sume movl %edi, %eax 277391671Sume xorl %esi, %edi 277491671Sume andl $0xaaaaaaaa, %edi 277591671Sume xorl %edi, %eax 277691671Sume xorl %edi, %esi 277791671Sume 277891671Sume roll $23, %eax 277991671Sume movl %eax, %edi 278091671Sume xorl %esi, %eax 278191671Sume andl $0x03fc03fc, %eax 278291671Sume xorl %eax, %edi 278391671Sume xorl %eax, %esi 278491671Sume 278591671Sume roll $10, %edi 278691671Sume movl %edi, %eax 278791671Sume xorl %esi, %edi 278891671Sume andl $0x33333333, %edi 278991671Sume xorl %edi, %eax 279091671Sume xorl %edi, %esi 279191671Sume 279291671Sume roll $18, %esi 279391671Sume movl %esi, %edi 279491671Sume xorl %eax, %esi 279591671Sume andl $0xfff0000f, %esi 279691671Sume xorl %esi, %edi 279791671Sume xorl %esi, %eax 279891671Sume 279991671Sume roll $12, %edi 280091671Sume movl %edi, %esi 280191671Sume xorl %eax, %edi 280291671Sume andl $0xf0f0f0f0, %edi 280391671Sume xorl %edi, %esi 280491671Sume xorl %edi, %eax 280591671Sume 280691671Sume rorl $4, %eax 280791671Sume movl %eax, (%ebx) 280891671Sume movl %esi, 4(%ebx) 280991671Sume popl %edi 281091671Sume popl %esi 281191671Sume popl %ebp 281291671Sume popl %ebx 281391671Sume ret 281491671Sume.L_des_decrypt3_end: 281591671Sume .size _C_LABEL(des_decrypt3),.L_des_decrypt3_end-_C_LABEL(des_decrypt3) 2816