xref: /freebsd/sys/crypto/des/arch/i386/des_enc.S (revision 71625ec9)
1b5a8f767SHajimu UMEMOTO/* $NetBSD: des_enc.S,v 1.1 2001/09/09 11:01:02 tls Exp $ */
2b5a8f767SHajimu UMEMOTO
3b5a8f767SHajimu UMEMOTO/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
4b5a8f767SHajimu UMEMOTO * All rights reserved.
5b5a8f767SHajimu UMEMOTO *
6b5a8f767SHajimu UMEMOTO * This package is an SSL implementation written
7b5a8f767SHajimu UMEMOTO * by Eric Young (eay@cryptsoft.com).
8b5a8f767SHajimu UMEMOTO * The implementation was written so as to conform with Netscapes SSL.
9b5a8f767SHajimu UMEMOTO *
10b5a8f767SHajimu UMEMOTO * This library is free for commercial and non-commercial use as long as
11b5a8f767SHajimu UMEMOTO * the following conditions are aheared to.  The following conditions
12b5a8f767SHajimu UMEMOTO * apply to all code found in this distribution, be it the RC4, RSA,
13b5a8f767SHajimu UMEMOTO * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
14b5a8f767SHajimu UMEMOTO * included with this distribution is covered by the same copyright terms
15b5a8f767SHajimu UMEMOTO * except that the holder is Tim Hudson (tjh@cryptsoft.com).
16b5a8f767SHajimu UMEMOTO *
17b5a8f767SHajimu UMEMOTO * Copyright remains Eric Young's, and as such any Copyright notices in
18b5a8f767SHajimu UMEMOTO * the code are not to be removed.
19b5a8f767SHajimu UMEMOTO * If this package is used in a product, Eric Young should be given attribution
20b5a8f767SHajimu UMEMOTO * as the author of the parts of the library used.
21b5a8f767SHajimu UMEMOTO * This can be in the form of a textual message at program startup or
22b5a8f767SHajimu UMEMOTO * in documentation (online or textual) provided with the package.
23b5a8f767SHajimu UMEMOTO *
24b5a8f767SHajimu UMEMOTO * Redistribution and use in source and binary forms, with or without
25b5a8f767SHajimu UMEMOTO * modification, are permitted provided that the following conditions
26b5a8f767SHajimu UMEMOTO * are met:
27b5a8f767SHajimu UMEMOTO * 1. Redistributions of source code must retain the copyright
28b5a8f767SHajimu UMEMOTO *    notice, this list of conditions and the following disclaimer.
29b5a8f767SHajimu UMEMOTO * 2. Redistributions in binary form must reproduce the above copyright
30b5a8f767SHajimu UMEMOTO *    notice, this list of conditions and the following disclaimer in the
31b5a8f767SHajimu UMEMOTO *    documentation and/or other materials provided with the distribution.
32b5a8f767SHajimu UMEMOTO * 3. All advertising materials mentioning features or use of this software
33b5a8f767SHajimu UMEMOTO *    must display the following acknowledgement:
34b5a8f767SHajimu UMEMOTO *    "This product includes cryptographic software written by
35b5a8f767SHajimu UMEMOTO *     Eric Young (eay@cryptsoft.com)"
36b5a8f767SHajimu UMEMOTO *    The word 'cryptographic' can be left out if the rouines from the library
37b5a8f767SHajimu UMEMOTO *    being used are not cryptographic related :-).
38b5a8f767SHajimu UMEMOTO * 4. If you include any Windows specific code (or a derivative thereof) from
39b5a8f767SHajimu UMEMOTO *    the apps directory (application code) you must include an acknowledgement:
40b5a8f767SHajimu UMEMOTO *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
41b5a8f767SHajimu UMEMOTO *
42b5a8f767SHajimu UMEMOTO * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
43b5a8f767SHajimu UMEMOTO * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
44b5a8f767SHajimu UMEMOTO * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
45b5a8f767SHajimu UMEMOTO * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
46b5a8f767SHajimu UMEMOTO * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
47b5a8f767SHajimu UMEMOTO * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
48b5a8f767SHajimu UMEMOTO * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
49b5a8f767SHajimu UMEMOTO * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
50b5a8f767SHajimu UMEMOTO * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
51b5a8f767SHajimu UMEMOTO * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
52b5a8f767SHajimu UMEMOTO * SUCH DAMAGE.
53b5a8f767SHajimu UMEMOTO *
54b5a8f767SHajimu UMEMOTO * The licence and distribution terms for any publically available version or
55b5a8f767SHajimu UMEMOTO * derivative of this code cannot be changed.  i.e. this code cannot simply be
56b5a8f767SHajimu UMEMOTO * copied and put under another distribution licence
57b5a8f767SHajimu UMEMOTO * [including the GNU Public Licence.]
58b5a8f767SHajimu UMEMOTO */
59b5a8f767SHajimu UMEMOTO
60b5a8f767SHajimu UMEMOTO/*
61b5a8f767SHajimu UMEMOTO * Modified from the output of `perl des686.pl elf' by
62b5a8f767SHajimu UMEMOTO * Thor Lancelot Simon <tls@netbsd.org>
63b5a8f767SHajimu UMEMOTO */
64b5a8f767SHajimu UMEMOTO
65b5a8f767SHajimu UMEMOTO#include <i386/include/asm.h>
66b5a8f767SHajimu UMEMOTO#define	_C_LABEL	CNAME
67b5a8f767SHajimu UMEMOTO
68b5a8f767SHajimu UMEMOTOENTRY(des_encrypt1)
69b5a8f767SHajimu UMEMOTO	pushl	%esi
70b5a8f767SHajimu UMEMOTO	pushl	%edi
71b5a8f767SHajimu UMEMOTO
7240373d87SDavid E. O'Brien	/* Load the 2 words */
73b5a8f767SHajimu UMEMOTO	movl	12(%esp),	%esi
74b5a8f767SHajimu UMEMOTO	xorl	%ecx,		%ecx
75b5a8f767SHajimu UMEMOTO	pushl	%ebx
76b5a8f767SHajimu UMEMOTO	pushl	%ebp
77b5a8f767SHajimu UMEMOTO	movl	(%esi),		%eax
78b5a8f767SHajimu UMEMOTO	movl	28(%esp),	%ebx
79b5a8f767SHajimu UMEMOTO	movl	4(%esi),	%edi
80b5a8f767SHajimu UMEMOTO
8140373d87SDavid E. O'Brien	/* IP */
82b5a8f767SHajimu UMEMOTO	roll	$4,		%eax
83b5a8f767SHajimu UMEMOTO	movl	%eax,		%esi
84b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
85b5a8f767SHajimu UMEMOTO	andl	$0xf0f0f0f0,	%eax
86b5a8f767SHajimu UMEMOTO	xorl	%eax,		%esi
87b5a8f767SHajimu UMEMOTO	xorl	%eax,		%edi
88b5a8f767SHajimu UMEMOTO
89b5a8f767SHajimu UMEMOTO	roll	$20,		%edi
90b5a8f767SHajimu UMEMOTO	movl	%edi,		%eax
91b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edi
92b5a8f767SHajimu UMEMOTO	andl	$0xfff0000f,	%edi
93b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
94b5a8f767SHajimu UMEMOTO	xorl	%edi,		%esi
95b5a8f767SHajimu UMEMOTO
96b5a8f767SHajimu UMEMOTO	roll	$14,		%eax
97b5a8f767SHajimu UMEMOTO	movl	%eax,		%edi
98b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
99b5a8f767SHajimu UMEMOTO	andl	$0x33333333,	%eax
100b5a8f767SHajimu UMEMOTO	xorl	%eax,		%edi
101b5a8f767SHajimu UMEMOTO	xorl	%eax,		%esi
102b5a8f767SHajimu UMEMOTO
103b5a8f767SHajimu UMEMOTO	roll	$22,		%esi
104b5a8f767SHajimu UMEMOTO	movl	%esi,		%eax
105b5a8f767SHajimu UMEMOTO	xorl	%edi,		%esi
106b5a8f767SHajimu UMEMOTO	andl	$0x03fc03fc,	%esi
107b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
108b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edi
109b5a8f767SHajimu UMEMOTO
110b5a8f767SHajimu UMEMOTO	roll	$9,		%eax
111b5a8f767SHajimu UMEMOTO	movl	%eax,		%esi
112b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
113b5a8f767SHajimu UMEMOTO	andl	$0xaaaaaaaa,	%eax
114b5a8f767SHajimu UMEMOTO	xorl	%eax,		%esi
115b5a8f767SHajimu UMEMOTO	xorl	%eax,		%edi
116b5a8f767SHajimu UMEMOTO
117b5a8f767SHajimu UMEMOTO.byte 209
118b5a8f767SHajimu UMEMOTO.byte 199		# roll $1 %edi
119b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
120b5a8f767SHajimu UMEMOTO	cmpl	$0,		%ebx
121b5a8f767SHajimu UMEMOTO	je	.L000start_decrypt
122b5a8f767SHajimu UMEMOTO
12340373d87SDavid E. O'Brien	/* Round 0 */
124b5a8f767SHajimu UMEMOTO	movl	(%ebp),		%eax
125b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
126b5a8f767SHajimu UMEMOTO	movl	4(%ebp),	%edx
127b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
128b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
129b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
130b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
131b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
132b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
133b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
134b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
135b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
136b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
137b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
138b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
139b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
140b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
141b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
142b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
143b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
144b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
145b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
146b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
147b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
148b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
149b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
150b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
151b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
152b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
153b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
154b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
155b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
156b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
157b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
158b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
159b5a8f767SHajimu UMEMOTO
16040373d87SDavid E. O'Brien	/* Round 1 */
161b5a8f767SHajimu UMEMOTO	movl	8(%ebp),	%eax
162b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
163b5a8f767SHajimu UMEMOTO	movl	12(%ebp),	%edx
164b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
165b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
166b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
167b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
168b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
169b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
170b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
171b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
172b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
173b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
174b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
175b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
176b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
177b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
178b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
179b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
180b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
181b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
182b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
183b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
184b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
185b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
186b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
187b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
188b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
189b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
190b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
191b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
192b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
193b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
194b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
195b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
196b5a8f767SHajimu UMEMOTO
19740373d87SDavid E. O'Brien	/* Round 2 */
198b5a8f767SHajimu UMEMOTO	movl	16(%ebp),	%eax
199b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
200b5a8f767SHajimu UMEMOTO	movl	20(%ebp),	%edx
201b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
202b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
203b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
204b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
205b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
206b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
207b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
208b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
209b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
210b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
211b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
212b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
213b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
214b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
215b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
216b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
217b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
218b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
219b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
220b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
221b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
222b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
223b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
224b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
225b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
226b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
227b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
228b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
229b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
230b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
231b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
232b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
233b5a8f767SHajimu UMEMOTO
23440373d87SDavid E. O'Brien	/* Round 3 */
235b5a8f767SHajimu UMEMOTO	movl	24(%ebp),	%eax
236b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
237b5a8f767SHajimu UMEMOTO	movl	28(%ebp),	%edx
238b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
239b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
240b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
241b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
242b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
243b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
244b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
245b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
246b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
247b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
248b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
249b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
250b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
251b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
252b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
253b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
254b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
255b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
256b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
257b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
258b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
259b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
260b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
261b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
262b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
263b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
264b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
265b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
266b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
267b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
268b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
269b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
270b5a8f767SHajimu UMEMOTO
27140373d87SDavid E. O'Brien	/* Round 4 */
272b5a8f767SHajimu UMEMOTO	movl	32(%ebp),	%eax
273b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
274b5a8f767SHajimu UMEMOTO	movl	36(%ebp),	%edx
275b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
276b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
277b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
278b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
279b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
280b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
281b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
282b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
283b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
284b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
285b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
286b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
287b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
288b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
289b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
290b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
291b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
292b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
293b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
294b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
295b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
296b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
297b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
298b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
299b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
300b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
301b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
302b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
303b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
304b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
305b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
306b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
307b5a8f767SHajimu UMEMOTO
30840373d87SDavid E. O'Brien	/* Round 5 */
309b5a8f767SHajimu UMEMOTO	movl	40(%ebp),	%eax
310b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
311b5a8f767SHajimu UMEMOTO	movl	44(%ebp),	%edx
312b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
313b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
314b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
315b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
316b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
317b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
318b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
319b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
320b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
321b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
322b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
323b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
324b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
325b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
326b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
327b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
328b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
329b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
330b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
331b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
332b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
333b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
334b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
335b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
336b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
337b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
338b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
339b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
340b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
341b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
342b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
343b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
344b5a8f767SHajimu UMEMOTO
34540373d87SDavid E. O'Brien	/* Round 6 */
346b5a8f767SHajimu UMEMOTO	movl	48(%ebp),	%eax
347b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
348b5a8f767SHajimu UMEMOTO	movl	52(%ebp),	%edx
349b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
350b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
351b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
352b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
353b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
354b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
355b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
356b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
357b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
358b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
359b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
360b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
361b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
362b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
363b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
364b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
365b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
366b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
367b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
368b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
369b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
370b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
371b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
372b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
373b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
374b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
375b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
376b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
377b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
378b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
379b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
380b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
381b5a8f767SHajimu UMEMOTO
38240373d87SDavid E. O'Brien	/* Round 7 */
383b5a8f767SHajimu UMEMOTO	movl	56(%ebp),	%eax
384b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
385b5a8f767SHajimu UMEMOTO	movl	60(%ebp),	%edx
386b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
387b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
388b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
389b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
390b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
391b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
392b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
393b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
394b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
395b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
396b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
397b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
398b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
399b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
400b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
401b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
402b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
403b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
404b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
405b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
406b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
407b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
408b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
409b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
410b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
411b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
412b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
413b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
414b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
415b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
416b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
417b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
418b5a8f767SHajimu UMEMOTO
41940373d87SDavid E. O'Brien	/* Round 8 */
420b5a8f767SHajimu UMEMOTO	movl	64(%ebp),	%eax
421b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
422b5a8f767SHajimu UMEMOTO	movl	68(%ebp),	%edx
423b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
424b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
425b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
426b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
427b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
428b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
429b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
430b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
431b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
432b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
433b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
434b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
435b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
436b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
437b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
438b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
439b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
440b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
441b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
442b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
443b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
444b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
445b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
446b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
447b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
448b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
449b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
450b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
451b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
452b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
453b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
454b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
455b5a8f767SHajimu UMEMOTO
45640373d87SDavid E. O'Brien	/* Round 9 */
457b5a8f767SHajimu UMEMOTO	movl	72(%ebp),	%eax
458b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
459b5a8f767SHajimu UMEMOTO	movl	76(%ebp),	%edx
460b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
461b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
462b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
463b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
464b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
465b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
466b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
467b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
468b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
469b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
470b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
471b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
472b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
473b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
474b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
475b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
476b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
477b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
478b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
479b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
480b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
481b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
482b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
483b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
484b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
485b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
486b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
487b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
488b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
489b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
490b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
491b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
492b5a8f767SHajimu UMEMOTO
49340373d87SDavid E. O'Brien	/* Round 10 */
494b5a8f767SHajimu UMEMOTO	movl	80(%ebp),	%eax
495b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
496b5a8f767SHajimu UMEMOTO	movl	84(%ebp),	%edx
497b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
498b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
499b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
500b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
501b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
502b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
503b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
504b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
505b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
506b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
507b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
508b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
509b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
510b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
511b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
512b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
513b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
514b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
515b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
516b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
517b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
518b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
519b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
520b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
521b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
522b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
523b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
524b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
525b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
526b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
527b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
528b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
529b5a8f767SHajimu UMEMOTO
53040373d87SDavid E. O'Brien	/* Round 11 */
531b5a8f767SHajimu UMEMOTO	movl	88(%ebp),	%eax
532b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
533b5a8f767SHajimu UMEMOTO	movl	92(%ebp),	%edx
534b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
535b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
536b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
537b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
538b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
539b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
540b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
541b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
542b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
543b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
544b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
545b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
546b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
547b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
548b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
549b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
550b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
551b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
552b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
553b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
554b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
555b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
556b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
557b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
558b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
559b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
560b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
561b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
562b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
563b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
564b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
565b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
566b5a8f767SHajimu UMEMOTO
56740373d87SDavid E. O'Brien	/* Round 12 */
568b5a8f767SHajimu UMEMOTO	movl	96(%ebp),	%eax
569b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
570b5a8f767SHajimu UMEMOTO	movl	100(%ebp),	%edx
571b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
572b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
573b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
574b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
575b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
576b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
577b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
578b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
579b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
580b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
581b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
582b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
583b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
584b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
585b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
586b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
587b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
588b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
589b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
590b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
591b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
592b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
593b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
594b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
595b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
596b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
597b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
598b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
599b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
600b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
601b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
602b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
603b5a8f767SHajimu UMEMOTO
60440373d87SDavid E. O'Brien	/* Round 13 */
605b5a8f767SHajimu UMEMOTO	movl	104(%ebp),	%eax
606b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
607b5a8f767SHajimu UMEMOTO	movl	108(%ebp),	%edx
608b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
609b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
610b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
611b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
612b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
613b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
614b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
615b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
616b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
617b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
618b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
619b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
620b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
621b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
622b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
623b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
624b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
625b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
626b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
627b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
628b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
629b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
630b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
631b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
632b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
633b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
634b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
635b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
636b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
637b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
638b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
639b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
640b5a8f767SHajimu UMEMOTO
64140373d87SDavid E. O'Brien	/* Round 14 */
642b5a8f767SHajimu UMEMOTO	movl	112(%ebp),	%eax
643b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
644b5a8f767SHajimu UMEMOTO	movl	116(%ebp),	%edx
645b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
646b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
647b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
648b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
649b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
650b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
651b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
652b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
653b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
654b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
655b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
656b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
657b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
658b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
659b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
660b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
661b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
662b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
663b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
664b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
665b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
666b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
667b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
668b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
669b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
670b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
671b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
672b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
673b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
674b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
675b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
676b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
677b5a8f767SHajimu UMEMOTO
67840373d87SDavid E. O'Brien	/* Round 15 */
679b5a8f767SHajimu UMEMOTO	movl	120(%ebp),	%eax
680b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
681b5a8f767SHajimu UMEMOTO	movl	124(%ebp),	%edx
682b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
683b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
684b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
685b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
686b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
687b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
688b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
689b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
690b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
691b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
692b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
693b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
694b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
695b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
696b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
697b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
698b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
699b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
700b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
701b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
702b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
703b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
704b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
705b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
706b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
707b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
708b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
709b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
710b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
711b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
712b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
713b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
714b5a8f767SHajimu UMEMOTO	jmp	.L001end
715b5a8f767SHajimu UMEMOTO.L000start_decrypt:
716b5a8f767SHajimu UMEMOTO
71740373d87SDavid E. O'Brien	/* Round 15 */
718b5a8f767SHajimu UMEMOTO	movl	120(%ebp),	%eax
719b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
720b5a8f767SHajimu UMEMOTO	movl	124(%ebp),	%edx
721b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
722b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
723b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
724b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
725b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
726b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
727b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
728b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
729b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
730b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
731b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
732b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
733b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
734b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
735b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
736b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
737b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
738b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
739b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
740b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
741b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
742b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
743b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
744b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
745b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
746b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
747b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
748b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
749b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
750b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
751b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
752b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
753b5a8f767SHajimu UMEMOTO
75440373d87SDavid E. O'Brien	/* Round 14 */
755b5a8f767SHajimu UMEMOTO	movl	112(%ebp),	%eax
756b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
757b5a8f767SHajimu UMEMOTO	movl	116(%ebp),	%edx
758b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
759b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
760b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
761b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
762b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
763b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
764b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
765b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
766b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
767b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
768b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
769b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
770b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
771b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
772b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
773b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
774b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
775b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
776b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
777b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
778b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
779b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
780b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
781b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
782b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
783b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
784b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
785b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
786b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
787b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
788b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
789b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
790b5a8f767SHajimu UMEMOTO
79140373d87SDavid E. O'Brien	/* Round 13 */
792b5a8f767SHajimu UMEMOTO	movl	104(%ebp),	%eax
793b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
794b5a8f767SHajimu UMEMOTO	movl	108(%ebp),	%edx
795b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
796b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
797b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
798b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
799b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
800b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
801b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
802b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
803b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
804b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
805b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
806b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
807b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
808b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
809b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
810b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
811b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
812b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
813b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
814b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
815b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
816b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
817b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
818b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
819b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
820b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
821b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
822b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
823b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
824b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
825b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
826b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
827b5a8f767SHajimu UMEMOTO
82840373d87SDavid E. O'Brien	/* Round 12 */
829b5a8f767SHajimu UMEMOTO	movl	96(%ebp),	%eax
830b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
831b5a8f767SHajimu UMEMOTO	movl	100(%ebp),	%edx
832b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
833b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
834b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
835b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
836b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
837b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
838b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
839b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
840b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
841b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
842b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
843b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
844b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
845b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
846b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
847b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
848b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
849b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
850b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
851b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
852b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
853b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
854b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
855b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
856b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
857b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
858b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
859b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
860b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
861b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
862b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
863b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
864b5a8f767SHajimu UMEMOTO
86540373d87SDavid E. O'Brien	/* Round 11 */
866b5a8f767SHajimu UMEMOTO	movl	88(%ebp),	%eax
867b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
868b5a8f767SHajimu UMEMOTO	movl	92(%ebp),	%edx
869b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
870b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
871b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
872b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
873b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
874b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
875b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
876b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
877b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
878b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
879b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
880b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
881b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
882b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
883b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
884b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
885b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
886b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
887b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
888b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
889b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
890b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
891b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
892b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
893b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
894b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
895b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
896b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
897b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
898b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
899b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
900b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
901b5a8f767SHajimu UMEMOTO
90240373d87SDavid E. O'Brien	/* Round 10 */
903b5a8f767SHajimu UMEMOTO	movl	80(%ebp),	%eax
904b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
905b5a8f767SHajimu UMEMOTO	movl	84(%ebp),	%edx
906b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
907b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
908b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
909b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
910b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
911b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
912b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
913b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
914b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
915b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
916b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
917b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
918b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
919b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
920b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
921b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
922b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
923b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
924b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
925b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
926b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
927b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
928b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
929b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
930b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
931b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
932b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
933b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
934b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
935b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
936b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
937b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
938b5a8f767SHajimu UMEMOTO
93940373d87SDavid E. O'Brien	/* Round 9 */
940b5a8f767SHajimu UMEMOTO	movl	72(%ebp),	%eax
941b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
942b5a8f767SHajimu UMEMOTO	movl	76(%ebp),	%edx
943b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
944b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
945b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
946b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
947b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
948b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
949b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
950b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
951b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
952b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
953b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
954b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
955b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
956b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
957b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
958b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
959b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
960b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
961b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
962b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
963b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
964b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
965b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
966b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
967b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
968b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
969b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
970b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
971b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
972b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
973b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
974b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
975b5a8f767SHajimu UMEMOTO
97640373d87SDavid E. O'Brien	/* Round 8 */
977b5a8f767SHajimu UMEMOTO	movl	64(%ebp),	%eax
978b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
979b5a8f767SHajimu UMEMOTO	movl	68(%ebp),	%edx
980b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
981b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
982b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
983b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
984b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
985b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
986b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
987b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
988b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
989b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
990b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
991b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
992b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
993b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
994b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
995b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
996b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
997b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
998b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
999b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1000b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1001b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1002b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1003b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1004b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1005b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1006b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1007b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1008b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1009b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1010b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1011b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1012b5a8f767SHajimu UMEMOTO
101340373d87SDavid E. O'Brien	/* Round 7 */
1014b5a8f767SHajimu UMEMOTO	movl	56(%ebp),	%eax
1015b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1016b5a8f767SHajimu UMEMOTO	movl	60(%ebp),	%edx
1017b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
1018b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
1019b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1020b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1021b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1022b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1023b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1024b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1025b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1026b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1027b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1028b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1029b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1030b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1031b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1032b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1033b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1034b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1035b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1036b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1037b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1038b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1039b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1040b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1041b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1042b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1043b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1044b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1045b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1046b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1047b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1048b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1049b5a8f767SHajimu UMEMOTO
105040373d87SDavid E. O'Brien	/* Round 6 */
1051b5a8f767SHajimu UMEMOTO	movl	48(%ebp),	%eax
1052b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1053b5a8f767SHajimu UMEMOTO	movl	52(%ebp),	%edx
1054b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
1055b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
1056b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1057b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1058b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1059b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1060b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1061b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1062b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1063b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1064b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1065b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1066b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1067b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1068b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1069b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1070b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1071b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1072b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1073b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1074b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1075b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1076b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1077b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1078b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1079b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1080b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1081b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1082b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1083b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1084b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1085b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1086b5a8f767SHajimu UMEMOTO
108740373d87SDavid E. O'Brien	/* Round 5 */
1088b5a8f767SHajimu UMEMOTO	movl	40(%ebp),	%eax
1089b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1090b5a8f767SHajimu UMEMOTO	movl	44(%ebp),	%edx
1091b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
1092b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
1093b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1094b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1095b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1096b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1097b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1098b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1099b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1100b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1101b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1102b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1103b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1104b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1105b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1106b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1107b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1108b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1109b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1110b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1111b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1112b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1113b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1114b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1115b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1116b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1117b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1118b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1119b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1120b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1121b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1122b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1123b5a8f767SHajimu UMEMOTO
112440373d87SDavid E. O'Brien	/* Round 4 */
1125b5a8f767SHajimu UMEMOTO	movl	32(%ebp),	%eax
1126b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1127b5a8f767SHajimu UMEMOTO	movl	36(%ebp),	%edx
1128b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
1129b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
1130b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1131b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1132b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1133b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1134b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1135b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1136b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1137b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1138b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1139b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1140b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1141b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1142b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1143b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1144b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1145b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1146b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1147b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1148b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1149b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1150b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1151b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1152b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1153b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1154b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1155b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1156b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1157b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1158b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1159b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1160b5a8f767SHajimu UMEMOTO
116140373d87SDavid E. O'Brien	/* Round 3 */
1162b5a8f767SHajimu UMEMOTO	movl	24(%ebp),	%eax
1163b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1164b5a8f767SHajimu UMEMOTO	movl	28(%ebp),	%edx
1165b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
1166b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
1167b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1168b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1169b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1170b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1171b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1172b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1173b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1174b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1175b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1176b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1177b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1178b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1179b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1180b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1181b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1182b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1183b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1184b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1185b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1186b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1187b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1188b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1189b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1190b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1191b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1192b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1193b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1194b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1195b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1196b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1197b5a8f767SHajimu UMEMOTO
119840373d87SDavid E. O'Brien	/* Round 2 */
1199b5a8f767SHajimu UMEMOTO	movl	16(%ebp),	%eax
1200b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1201b5a8f767SHajimu UMEMOTO	movl	20(%ebp),	%edx
1202b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
1203b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
1204b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1205b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1206b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1207b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1208b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1209b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1210b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1211b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1212b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1213b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1214b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1215b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1216b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1217b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1218b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1219b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1220b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1221b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1222b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1223b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1224b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1225b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1226b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1227b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1228b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1229b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1230b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1231b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1232b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1233b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1234b5a8f767SHajimu UMEMOTO
123540373d87SDavid E. O'Brien	/* Round 1 */
1236b5a8f767SHajimu UMEMOTO	movl	8(%ebp),	%eax
1237b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1238b5a8f767SHajimu UMEMOTO	movl	12(%ebp),	%edx
1239b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
1240b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
1241b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1242b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1243b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1244b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1245b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1246b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1247b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1248b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1249b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1250b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1251b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1252b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1253b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1254b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1255b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1256b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1257b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1258b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1259b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1260b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1261b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1262b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1263b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1264b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1265b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1266b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1267b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1268b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1269b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1270b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1271b5a8f767SHajimu UMEMOTO
127240373d87SDavid E. O'Brien	/* Round 0 */
1273b5a8f767SHajimu UMEMOTO	movl	(%ebp),		%eax
1274b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1275b5a8f767SHajimu UMEMOTO	movl	4(%ebp),	%edx
1276b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
1277b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
1278b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1279b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1280b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1281b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1282b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1283b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1284b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1285b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1286b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1287b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1288b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1289b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1290b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1291b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1292b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1293b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1294b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1295b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1296b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1297b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1298b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1299b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1300b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1301b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1302b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1303b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1304b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1305b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1306b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1307b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1308b5a8f767SHajimu UMEMOTO.L001end:
1309b5a8f767SHajimu UMEMOTO
131040373d87SDavid E. O'Brien	/* FP */
1311b5a8f767SHajimu UMEMOTO	movl	20(%esp),	%edx
1312b5a8f767SHajimu UMEMOTO.byte 209
1313b5a8f767SHajimu UMEMOTO.byte 206		# rorl $1 %esi
1314b5a8f767SHajimu UMEMOTO	movl	%edi,		%eax
1315b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edi
1316b5a8f767SHajimu UMEMOTO	andl	$0xaaaaaaaa,	%edi
1317b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
1318b5a8f767SHajimu UMEMOTO	xorl	%edi,		%esi
1319b5a8f767SHajimu UMEMOTO
1320b5a8f767SHajimu UMEMOTO	roll	$23,		%eax
1321b5a8f767SHajimu UMEMOTO	movl	%eax,		%edi
1322b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
1323b5a8f767SHajimu UMEMOTO	andl	$0x03fc03fc,	%eax
1324b5a8f767SHajimu UMEMOTO	xorl	%eax,		%edi
1325b5a8f767SHajimu UMEMOTO	xorl	%eax,		%esi
1326b5a8f767SHajimu UMEMOTO
1327b5a8f767SHajimu UMEMOTO	roll	$10,		%edi
1328b5a8f767SHajimu UMEMOTO	movl	%edi,		%eax
1329b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edi
1330b5a8f767SHajimu UMEMOTO	andl	$0x33333333,	%edi
1331b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
1332b5a8f767SHajimu UMEMOTO	xorl	%edi,		%esi
1333b5a8f767SHajimu UMEMOTO
1334b5a8f767SHajimu UMEMOTO	roll	$18,		%esi
1335b5a8f767SHajimu UMEMOTO	movl	%esi,		%edi
1336b5a8f767SHajimu UMEMOTO	xorl	%eax,		%esi
1337b5a8f767SHajimu UMEMOTO	andl	$0xfff0000f,	%esi
1338b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edi
1339b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
1340b5a8f767SHajimu UMEMOTO
1341b5a8f767SHajimu UMEMOTO	roll	$12,		%edi
1342b5a8f767SHajimu UMEMOTO	movl	%edi,		%esi
1343b5a8f767SHajimu UMEMOTO	xorl	%eax,		%edi
1344b5a8f767SHajimu UMEMOTO	andl	$0xf0f0f0f0,	%edi
1345b5a8f767SHajimu UMEMOTO	xorl	%edi,		%esi
1346b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
1347b5a8f767SHajimu UMEMOTO
1348b5a8f767SHajimu UMEMOTO	rorl	$4,		%eax
1349b5a8f767SHajimu UMEMOTO	movl	%eax,		(%edx)
1350b5a8f767SHajimu UMEMOTO	movl	%esi,		4(%edx)
1351b5a8f767SHajimu UMEMOTO	popl	%ebp
1352b5a8f767SHajimu UMEMOTO	popl	%ebx
1353b5a8f767SHajimu UMEMOTO	popl	%edi
1354b5a8f767SHajimu UMEMOTO	popl	%esi
1355b5a8f767SHajimu UMEMOTO	ret
135678599c32SConrad MeyerEND(des_encrypt1)
1357b5a8f767SHajimu UMEMOTO
1358b5a8f767SHajimu UMEMOTOENTRY(des_encrypt2)
1359b5a8f767SHajimu UMEMOTO	pushl	%esi
1360b5a8f767SHajimu UMEMOTO	pushl	%edi
1361b5a8f767SHajimu UMEMOTO
136240373d87SDavid E. O'Brien	/* Load the 2 words */
1363b5a8f767SHajimu UMEMOTO	movl	12(%esp),	%eax
1364b5a8f767SHajimu UMEMOTO	xorl	%ecx,		%ecx
1365b5a8f767SHajimu UMEMOTO	pushl	%ebx
1366b5a8f767SHajimu UMEMOTO	pushl	%ebp
1367b5a8f767SHajimu UMEMOTO	movl	(%eax),		%esi
1368b5a8f767SHajimu UMEMOTO	movl	28(%esp),	%ebx
1369b5a8f767SHajimu UMEMOTO	roll	$3,		%esi
1370b5a8f767SHajimu UMEMOTO	movl	4(%eax),	%edi
1371b5a8f767SHajimu UMEMOTO	roll	$3,		%edi
1372b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1373b5a8f767SHajimu UMEMOTO	cmpl	$0,		%ebx
1374b5a8f767SHajimu UMEMOTO	je	.L002start_decrypt
1375b5a8f767SHajimu UMEMOTO
137640373d87SDavid E. O'Brien	/* Round 0 */
1377b5a8f767SHajimu UMEMOTO	movl	(%ebp),		%eax
1378b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1379b5a8f767SHajimu UMEMOTO	movl	4(%ebp),	%edx
1380b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
1381b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
1382b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1383b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1384b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1385b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1386b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1387b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1388b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1389b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1390b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1391b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1392b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1393b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1394b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1395b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1396b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1397b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1398b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1399b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1400b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1401b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1402b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1403b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1404b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1405b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1406b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1407b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1408b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1409b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1410b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1411b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1412b5a8f767SHajimu UMEMOTO
141340373d87SDavid E. O'Brien	/* Round 1 */
1414b5a8f767SHajimu UMEMOTO	movl	8(%ebp),	%eax
1415b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1416b5a8f767SHajimu UMEMOTO	movl	12(%ebp),	%edx
1417b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
1418b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
1419b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1420b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1421b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1422b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1423b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1424b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1425b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1426b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1427b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1428b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1429b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1430b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1431b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1432b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1433b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1434b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1435b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1436b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1437b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1438b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1439b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1440b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1441b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1442b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1443b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1444b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1445b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1446b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1447b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1448b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1449b5a8f767SHajimu UMEMOTO
145040373d87SDavid E. O'Brien	/* Round 2 */
1451b5a8f767SHajimu UMEMOTO	movl	16(%ebp),	%eax
1452b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1453b5a8f767SHajimu UMEMOTO	movl	20(%ebp),	%edx
1454b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
1455b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
1456b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1457b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1458b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1459b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1460b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1461b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1462b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1463b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1464b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1465b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1466b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1467b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1468b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1469b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1470b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1471b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1472b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1473b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1474b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1475b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1476b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1477b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1478b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1479b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1480b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1481b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1482b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1483b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1484b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1485b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1486b5a8f767SHajimu UMEMOTO
148740373d87SDavid E. O'Brien	/* Round 3 */
1488b5a8f767SHajimu UMEMOTO	movl	24(%ebp),	%eax
1489b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1490b5a8f767SHajimu UMEMOTO	movl	28(%ebp),	%edx
1491b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
1492b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
1493b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1494b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1495b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1496b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1497b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1498b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1499b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1500b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1501b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1502b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1503b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1504b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1505b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1506b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1507b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1508b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1509b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1510b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1511b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1512b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1513b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1514b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1515b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1516b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1517b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1518b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1519b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1520b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1521b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1522b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1523b5a8f767SHajimu UMEMOTO
152440373d87SDavid E. O'Brien	/* Round 4 */
1525b5a8f767SHajimu UMEMOTO	movl	32(%ebp),	%eax
1526b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1527b5a8f767SHajimu UMEMOTO	movl	36(%ebp),	%edx
1528b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
1529b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
1530b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1531b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1532b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1533b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1534b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1535b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1536b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1537b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1538b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1539b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1540b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1541b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1542b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1543b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1544b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1545b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1546b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1547b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1548b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1549b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1550b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1551b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1552b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1553b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1554b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1555b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1556b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1557b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1558b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1559b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1560b5a8f767SHajimu UMEMOTO
156140373d87SDavid E. O'Brien	/* Round 5 */
1562b5a8f767SHajimu UMEMOTO	movl	40(%ebp),	%eax
1563b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1564b5a8f767SHajimu UMEMOTO	movl	44(%ebp),	%edx
1565b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
1566b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
1567b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1568b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1569b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1570b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1571b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1572b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1573b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1574b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1575b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1576b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1577b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1578b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1579b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1580b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1581b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1582b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1583b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1584b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1585b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1586b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1587b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1588b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1589b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1590b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1591b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1592b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1593b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1594b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1595b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1596b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1597b5a8f767SHajimu UMEMOTO
159840373d87SDavid E. O'Brien	/* Round 6 */
1599b5a8f767SHajimu UMEMOTO	movl	48(%ebp),	%eax
1600b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1601b5a8f767SHajimu UMEMOTO	movl	52(%ebp),	%edx
1602b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
1603b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
1604b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1605b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1606b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1607b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1608b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1609b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1610b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1611b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1612b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1613b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1614b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1615b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1616b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1617b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1618b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1619b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1620b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1621b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1622b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1623b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1624b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1625b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1626b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1627b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1628b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1629b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1630b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1631b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1632b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1633b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1634b5a8f767SHajimu UMEMOTO
163540373d87SDavid E. O'Brien	/* Round 7 */
1636b5a8f767SHajimu UMEMOTO	movl	56(%ebp),	%eax
1637b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1638b5a8f767SHajimu UMEMOTO	movl	60(%ebp),	%edx
1639b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
1640b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
1641b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1642b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1643b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1644b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1645b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1646b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1647b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1648b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1649b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1650b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1651b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1652b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1653b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1654b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1655b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1656b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1657b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1658b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1659b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1660b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1661b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1662b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1663b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1664b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1665b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1666b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1667b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1668b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1669b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1670b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1671b5a8f767SHajimu UMEMOTO
167240373d87SDavid E. O'Brien	/* Round 8 */
1673b5a8f767SHajimu UMEMOTO	movl	64(%ebp),	%eax
1674b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1675b5a8f767SHajimu UMEMOTO	movl	68(%ebp),	%edx
1676b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
1677b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
1678b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1679b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1680b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1681b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1682b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1683b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1684b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1685b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1686b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1687b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1688b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1689b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1690b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1691b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1692b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1693b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1694b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1695b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1696b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1697b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1698b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1699b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1700b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1701b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1702b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1703b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1704b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1705b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1706b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1707b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1708b5a8f767SHajimu UMEMOTO
170940373d87SDavid E. O'Brien	/* Round 9 */
1710b5a8f767SHajimu UMEMOTO	movl	72(%ebp),	%eax
1711b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1712b5a8f767SHajimu UMEMOTO	movl	76(%ebp),	%edx
1713b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
1714b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
1715b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1716b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1717b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1718b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1719b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1720b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1721b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1722b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1723b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1724b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1725b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1726b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1727b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1728b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1729b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1730b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1731b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1732b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1733b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1734b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1735b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1736b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1737b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1738b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1739b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1740b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1741b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1742b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1743b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1744b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1745b5a8f767SHajimu UMEMOTO
174640373d87SDavid E. O'Brien	/* Round 10 */
1747b5a8f767SHajimu UMEMOTO	movl	80(%ebp),	%eax
1748b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1749b5a8f767SHajimu UMEMOTO	movl	84(%ebp),	%edx
1750b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
1751b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
1752b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1753b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1754b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1755b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1756b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1757b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1758b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1759b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1760b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1761b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1762b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1763b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1764b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1765b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1766b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1767b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1768b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1769b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1770b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1771b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1772b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1773b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1774b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1775b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1776b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1777b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1778b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1779b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1780b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1781b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1782b5a8f767SHajimu UMEMOTO
178340373d87SDavid E. O'Brien	/* Round 11 */
1784b5a8f767SHajimu UMEMOTO	movl	88(%ebp),	%eax
1785b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1786b5a8f767SHajimu UMEMOTO	movl	92(%ebp),	%edx
1787b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
1788b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
1789b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1790b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1791b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1792b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1793b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1794b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1795b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1796b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1797b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1798b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1799b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1800b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1801b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1802b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1803b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1804b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1805b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1806b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1807b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1808b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1809b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1810b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1811b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1812b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1813b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1814b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1815b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1816b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1817b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1818b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1819b5a8f767SHajimu UMEMOTO
182040373d87SDavid E. O'Brien	/* Round 12 */
1821b5a8f767SHajimu UMEMOTO	movl	96(%ebp),	%eax
1822b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1823b5a8f767SHajimu UMEMOTO	movl	100(%ebp),	%edx
1824b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
1825b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
1826b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1827b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1828b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1829b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1830b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1831b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1832b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1833b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1834b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1835b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1836b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1837b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1838b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1839b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1840b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1841b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1842b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1843b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1844b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1845b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1846b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1847b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1848b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1849b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1850b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1851b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1852b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1853b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1854b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1855b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1856b5a8f767SHajimu UMEMOTO
185740373d87SDavid E. O'Brien	/* Round 13 */
1858b5a8f767SHajimu UMEMOTO	movl	104(%ebp),	%eax
1859b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1860b5a8f767SHajimu UMEMOTO	movl	108(%ebp),	%edx
1861b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
1862b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
1863b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1864b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1865b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1866b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1867b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1868b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1869b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1870b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1871b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1872b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1873b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1874b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1875b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1876b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1877b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1878b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1879b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1880b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1881b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1882b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1883b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1884b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1885b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1886b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1887b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1888b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1889b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1890b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1891b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1892b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1893b5a8f767SHajimu UMEMOTO
189440373d87SDavid E. O'Brien	/* Round 14 */
1895b5a8f767SHajimu UMEMOTO	movl	112(%ebp),	%eax
1896b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1897b5a8f767SHajimu UMEMOTO	movl	116(%ebp),	%edx
1898b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
1899b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
1900b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1901b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1902b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1903b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1904b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1905b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1906b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1907b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1908b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1909b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1910b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1911b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1912b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1913b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1914b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1915b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1916b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1917b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1918b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1919b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1920b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1921b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1922b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1923b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1924b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1925b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1926b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1927b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1928b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1929b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
1930b5a8f767SHajimu UMEMOTO
193140373d87SDavid E. O'Brien	/* Round 15 */
1932b5a8f767SHajimu UMEMOTO	movl	120(%ebp),	%eax
1933b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1934b5a8f767SHajimu UMEMOTO	movl	124(%ebp),	%edx
1935b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
1936b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
1937b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1938b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1939b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1940b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1941b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1942b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1943b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1944b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1945b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1946b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1947b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1948b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1949b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1950b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1951b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1952b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1953b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1954b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
1955b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1956b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1957b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1958b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1959b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1960b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1961b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
1962b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1963b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
1964b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1965b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
1966b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
1967b5a8f767SHajimu UMEMOTO	jmp	.L003end
1968b5a8f767SHajimu UMEMOTO.L002start_decrypt:
1969b5a8f767SHajimu UMEMOTO
197040373d87SDavid E. O'Brien	/* Round 15 */
1971b5a8f767SHajimu UMEMOTO	movl	120(%ebp),	%eax
1972b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
1973b5a8f767SHajimu UMEMOTO	movl	124(%ebp),	%edx
1974b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
1975b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
1976b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
1977b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
1978b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
1979b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
1980b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
1981b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
1982b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
1983b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1984b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
1985b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1986b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1987b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
1988b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
1989b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1990b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
1991b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
1992b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
1993b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
1994b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
1995b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
1996b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
1997b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
1998b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
1999b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2000b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
2001b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2002b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
2003b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2004b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
2005b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2006b5a8f767SHajimu UMEMOTO
200740373d87SDavid E. O'Brien	/* Round 14 */
2008b5a8f767SHajimu UMEMOTO	movl	112(%ebp),	%eax
2009b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
2010b5a8f767SHajimu UMEMOTO	movl	116(%ebp),	%edx
2011b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
2012b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
2013b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
2014b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
2015b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
2016b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
2017b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
2018b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
2019b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
2020b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2021b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
2022b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2023b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2024b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
2025b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
2026b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2027b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
2028b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
2029b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
2030b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2031b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
2032b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2033b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
2034b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
2035b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
2036b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2037b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
2038b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2039b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
2040b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2041b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
2042b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2043b5a8f767SHajimu UMEMOTO
204440373d87SDavid E. O'Brien	/* Round 13 */
2045b5a8f767SHajimu UMEMOTO	movl	104(%ebp),	%eax
2046b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
2047b5a8f767SHajimu UMEMOTO	movl	108(%ebp),	%edx
2048b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
2049b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
2050b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
2051b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
2052b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
2053b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
2054b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
2055b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
2056b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
2057b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2058b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
2059b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2060b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2061b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
2062b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
2063b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2064b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
2065b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
2066b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
2067b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2068b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
2069b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2070b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
2071b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
2072b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
2073b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2074b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
2075b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2076b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
2077b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2078b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
2079b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2080b5a8f767SHajimu UMEMOTO
208140373d87SDavid E. O'Brien	/* Round 12 */
2082b5a8f767SHajimu UMEMOTO	movl	96(%ebp),	%eax
2083b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
2084b5a8f767SHajimu UMEMOTO	movl	100(%ebp),	%edx
2085b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
2086b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
2087b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
2088b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
2089b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
2090b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
2091b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
2092b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
2093b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
2094b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2095b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
2096b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2097b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2098b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
2099b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
2100b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2101b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
2102b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
2103b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
2104b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2105b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
2106b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2107b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
2108b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
2109b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
2110b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2111b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
2112b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2113b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
2114b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2115b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
2116b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2117b5a8f767SHajimu UMEMOTO
211840373d87SDavid E. O'Brien	/* Round 11 */
2119b5a8f767SHajimu UMEMOTO	movl	88(%ebp),	%eax
2120b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
2121b5a8f767SHajimu UMEMOTO	movl	92(%ebp),	%edx
2122b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
2123b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
2124b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
2125b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
2126b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
2127b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
2128b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
2129b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
2130b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
2131b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2132b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
2133b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2134b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2135b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
2136b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
2137b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2138b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
2139b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
2140b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
2141b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2142b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
2143b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2144b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
2145b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
2146b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
2147b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2148b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
2149b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2150b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
2151b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2152b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
2153b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2154b5a8f767SHajimu UMEMOTO
215540373d87SDavid E. O'Brien	/* Round 10 */
2156b5a8f767SHajimu UMEMOTO	movl	80(%ebp),	%eax
2157b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
2158b5a8f767SHajimu UMEMOTO	movl	84(%ebp),	%edx
2159b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
2160b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
2161b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
2162b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
2163b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
2164b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
2165b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
2166b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
2167b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
2168b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2169b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
2170b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2171b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2172b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
2173b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
2174b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2175b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
2176b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
2177b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
2178b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2179b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
2180b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2181b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
2182b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
2183b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
2184b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2185b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
2186b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2187b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
2188b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2189b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
2190b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2191b5a8f767SHajimu UMEMOTO
219240373d87SDavid E. O'Brien	/* Round 9 */
2193b5a8f767SHajimu UMEMOTO	movl	72(%ebp),	%eax
2194b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
2195b5a8f767SHajimu UMEMOTO	movl	76(%ebp),	%edx
2196b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
2197b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
2198b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
2199b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
2200b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
2201b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
2202b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
2203b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
2204b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
2205b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2206b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
2207b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2208b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2209b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
2210b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
2211b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2212b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
2213b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
2214b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
2215b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2216b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
2217b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2218b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
2219b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
2220b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
2221b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2222b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
2223b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2224b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
2225b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2226b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
2227b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2228b5a8f767SHajimu UMEMOTO
222940373d87SDavid E. O'Brien	/* Round 8 */
2230b5a8f767SHajimu UMEMOTO	movl	64(%ebp),	%eax
2231b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
2232b5a8f767SHajimu UMEMOTO	movl	68(%ebp),	%edx
2233b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
2234b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
2235b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
2236b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
2237b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
2238b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
2239b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
2240b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
2241b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
2242b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2243b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
2244b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2245b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2246b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
2247b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
2248b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2249b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
2250b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
2251b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
2252b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2253b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
2254b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2255b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
2256b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
2257b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
2258b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2259b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
2260b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2261b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
2262b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2263b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
2264b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2265b5a8f767SHajimu UMEMOTO
226640373d87SDavid E. O'Brien	/* Round 7 */
2267b5a8f767SHajimu UMEMOTO	movl	56(%ebp),	%eax
2268b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
2269b5a8f767SHajimu UMEMOTO	movl	60(%ebp),	%edx
2270b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
2271b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
2272b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
2273b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
2274b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
2275b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
2276b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
2277b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
2278b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
2279b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2280b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
2281b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2282b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2283b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
2284b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
2285b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2286b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
2287b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
2288b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
2289b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2290b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
2291b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2292b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
2293b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
2294b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
2295b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2296b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
2297b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2298b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
2299b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2300b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
2301b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2302b5a8f767SHajimu UMEMOTO
230340373d87SDavid E. O'Brien	/* Round 6 */
2304b5a8f767SHajimu UMEMOTO	movl	48(%ebp),	%eax
2305b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
2306b5a8f767SHajimu UMEMOTO	movl	52(%ebp),	%edx
2307b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
2308b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
2309b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
2310b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
2311b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
2312b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
2313b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
2314b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
2315b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
2316b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2317b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
2318b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2319b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2320b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
2321b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
2322b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2323b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
2324b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
2325b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
2326b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2327b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
2328b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2329b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
2330b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
2331b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
2332b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2333b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
2334b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2335b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
2336b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2337b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
2338b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2339b5a8f767SHajimu UMEMOTO
234040373d87SDavid E. O'Brien	/* Round 5 */
2341b5a8f767SHajimu UMEMOTO	movl	40(%ebp),	%eax
2342b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
2343b5a8f767SHajimu UMEMOTO	movl	44(%ebp),	%edx
2344b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
2345b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
2346b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
2347b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
2348b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
2349b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
2350b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
2351b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
2352b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
2353b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2354b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
2355b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2356b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2357b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
2358b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
2359b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2360b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
2361b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
2362b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
2363b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2364b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
2365b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2366b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
2367b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
2368b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
2369b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2370b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
2371b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2372b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
2373b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2374b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
2375b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2376b5a8f767SHajimu UMEMOTO
237740373d87SDavid E. O'Brien	/* Round 4 */
2378b5a8f767SHajimu UMEMOTO	movl	32(%ebp),	%eax
2379b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
2380b5a8f767SHajimu UMEMOTO	movl	36(%ebp),	%edx
2381b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
2382b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
2383b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
2384b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
2385b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
2386b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
2387b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
2388b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
2389b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
2390b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2391b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
2392b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2393b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2394b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
2395b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
2396b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2397b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
2398b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
2399b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
2400b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2401b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
2402b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2403b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
2404b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
2405b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
2406b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2407b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
2408b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2409b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
2410b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2411b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
2412b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2413b5a8f767SHajimu UMEMOTO
241440373d87SDavid E. O'Brien	/* Round 3 */
2415b5a8f767SHajimu UMEMOTO	movl	24(%ebp),	%eax
2416b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
2417b5a8f767SHajimu UMEMOTO	movl	28(%ebp),	%edx
2418b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
2419b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
2420b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
2421b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
2422b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
2423b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
2424b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
2425b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
2426b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
2427b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2428b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
2429b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2430b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2431b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
2432b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
2433b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2434b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
2435b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
2436b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
2437b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2438b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
2439b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2440b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
2441b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
2442b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
2443b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2444b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
2445b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2446b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
2447b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2448b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
2449b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2450b5a8f767SHajimu UMEMOTO
245140373d87SDavid E. O'Brien	/* Round 2 */
2452b5a8f767SHajimu UMEMOTO	movl	16(%ebp),	%eax
2453b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
2454b5a8f767SHajimu UMEMOTO	movl	20(%ebp),	%edx
2455b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
2456b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
2457b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
2458b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
2459b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
2460b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
2461b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
2462b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
2463b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
2464b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2465b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
2466b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2467b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2468b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
2469b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
2470b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2471b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
2472b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
2473b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
2474b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2475b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
2476b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2477b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
2478b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
2479b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
2480b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2481b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
2482b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2483b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
2484b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2485b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
2486b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2487b5a8f767SHajimu UMEMOTO
248840373d87SDavid E. O'Brien	/* Round 1 */
2489b5a8f767SHajimu UMEMOTO	movl	8(%ebp),	%eax
2490b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
2491b5a8f767SHajimu UMEMOTO	movl	12(%ebp),	%edx
2492b5a8f767SHajimu UMEMOTO	xorl	%esi,		%eax
2493b5a8f767SHajimu UMEMOTO	xorl	%esi,		%edx
2494b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
2495b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
2496b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
2497b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
2498b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
2499b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
2500b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
2501b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2502b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
2503b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2504b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2505b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
2506b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
2507b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2508b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
2509b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
2510b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
2511b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%edi
2512b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
2513b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2514b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
2515b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
2516b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
2517b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2518b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
2519b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2520b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
2521b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2522b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
2523b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%edi
2524b5a8f767SHajimu UMEMOTO
252540373d87SDavid E. O'Brien	/* Round 0 */
2526b5a8f767SHajimu UMEMOTO	movl	(%ebp),		%eax
2527b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%ebx
2528b5a8f767SHajimu UMEMOTO	movl	4(%ebp),	%edx
2529b5a8f767SHajimu UMEMOTO	xorl	%edi,		%eax
2530b5a8f767SHajimu UMEMOTO	xorl	%edi,		%edx
2531b5a8f767SHajimu UMEMOTO	andl	$0xfcfcfcfc,	%eax
2532b5a8f767SHajimu UMEMOTO	andl	$0xcfcfcfcf,	%edx
2533b5a8f767SHajimu UMEMOTO	movb	%al,		%bl
2534b5a8f767SHajimu UMEMOTO	movb	%ah,		%cl
2535b5a8f767SHajimu UMEMOTO	rorl	$4,		%edx
2536b5a8f767SHajimu UMEMOTO	movl	      _C_LABEL(des_SPtrans)(%ebx),%ebp
2537b5a8f767SHajimu UMEMOTO	movb	%dl,		%bl
2538b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2539b5a8f767SHajimu UMEMOTO	movl	0x200+_C_LABEL(des_SPtrans)(%ecx),%ebp
2540b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2541b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2542b5a8f767SHajimu UMEMOTO	shrl	$16,		%eax
2543b5a8f767SHajimu UMEMOTO	movl	0x100+_C_LABEL(des_SPtrans)(%ebx),%ebp
2544b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2545b5a8f767SHajimu UMEMOTO	movb	%ah,		%bl
2546b5a8f767SHajimu UMEMOTO	shrl	$16,		%edx
2547b5a8f767SHajimu UMEMOTO	movl	0x300+_C_LABEL(des_SPtrans)(%ecx),%ebp
2548b5a8f767SHajimu UMEMOTO	xorl	%ebp,		%esi
2549b5a8f767SHajimu UMEMOTO	movl	24(%esp),	%ebp
2550b5a8f767SHajimu UMEMOTO	movb	%dh,		%cl
2551b5a8f767SHajimu UMEMOTO	andl	$0xff,		%eax
2552b5a8f767SHajimu UMEMOTO	andl	$0xff,		%edx
2553b5a8f767SHajimu UMEMOTO	movl	0x600+_C_LABEL(des_SPtrans)(%ebx),%ebx
2554b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2555b5a8f767SHajimu UMEMOTO	movl	0x700+_C_LABEL(des_SPtrans)(%ecx),%ebx
2556b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2557b5a8f767SHajimu UMEMOTO	movl	0x400+_C_LABEL(des_SPtrans)(%eax),%ebx
2558b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2559b5a8f767SHajimu UMEMOTO	movl	0x500+_C_LABEL(des_SPtrans)(%edx),%ebx
2560b5a8f767SHajimu UMEMOTO	xorl	%ebx,		%esi
2561b5a8f767SHajimu UMEMOTO.L003end:
2562b5a8f767SHajimu UMEMOTO
256340373d87SDavid E. O'Brien	/* Fixup */
2564b5a8f767SHajimu UMEMOTO	rorl	$3,		%edi
2565b5a8f767SHajimu UMEMOTO	movl	20(%esp),	%eax
2566b5a8f767SHajimu UMEMOTO	rorl	$3,		%esi
2567b5a8f767SHajimu UMEMOTO	movl	%edi,		(%eax)
2568b5a8f767SHajimu UMEMOTO	movl	%esi,		4(%eax)
2569b5a8f767SHajimu UMEMOTO	popl	%ebp
2570b5a8f767SHajimu UMEMOTO	popl	%ebx
2571b5a8f767SHajimu UMEMOTO	popl	%edi
2572b5a8f767SHajimu UMEMOTO	popl	%esi
2573b5a8f767SHajimu UMEMOTO	ret
257478599c32SConrad MeyerEND(des_encrypt2)
2575b5a8f767SHajimu UMEMOTO
2576b5a8f767SHajimu UMEMOTOENTRY(des_encrypt3)
2577b5a8f767SHajimu UMEMOTO	pushl   %ebx
2578b5a8f767SHajimu UMEMOTO	movl    8(%esp),        %ebx
2579b5a8f767SHajimu UMEMOTO	pushl   %ebp
2580b5a8f767SHajimu UMEMOTO	pushl   %esi
2581b5a8f767SHajimu UMEMOTO	pushl   %edi
2582b5a8f767SHajimu UMEMOTO
258340373d87SDavid E. O'Brien	/* Load the data words */
2584b5a8f767SHajimu UMEMOTO	movl    (%ebx),         %edi
2585b5a8f767SHajimu UMEMOTO	movl    4(%ebx),        %esi
2586b5a8f767SHajimu UMEMOTO	subl    $12,            %esp
2587b5a8f767SHajimu UMEMOTO
258840373d87SDavid E. O'Brien	/* IP */
2589b5a8f767SHajimu UMEMOTO	roll    $4,             %edi
2590b5a8f767SHajimu UMEMOTO	movl    %edi,           %edx
2591b5a8f767SHajimu UMEMOTO	xorl    %esi,           %edi
2592b5a8f767SHajimu UMEMOTO	andl    $0xf0f0f0f0,    %edi
2593b5a8f767SHajimu UMEMOTO	xorl    %edi,           %edx
2594b5a8f767SHajimu UMEMOTO	xorl    %edi,           %esi
2595b5a8f767SHajimu UMEMOTO
2596b5a8f767SHajimu UMEMOTO	roll    $20,            %esi
2597b5a8f767SHajimu UMEMOTO	movl    %esi,           %edi
2598b5a8f767SHajimu UMEMOTO	xorl    %edx,           %esi
2599b5a8f767SHajimu UMEMOTO	andl    $0xfff0000f,    %esi
2600b5a8f767SHajimu UMEMOTO	xorl    %esi,           %edi
2601b5a8f767SHajimu UMEMOTO	xorl    %esi,           %edx
2602b5a8f767SHajimu UMEMOTO
2603b5a8f767SHajimu UMEMOTO	roll    $14,            %edi
2604b5a8f767SHajimu UMEMOTO	movl    %edi,           %esi
2605b5a8f767SHajimu UMEMOTO	xorl    %edx,           %edi
2606b5a8f767SHajimu UMEMOTO	andl    $0x33333333,    %edi
2607b5a8f767SHajimu UMEMOTO	xorl    %edi,           %esi
2608b5a8f767SHajimu UMEMOTO	xorl    %edi,           %edx
2609b5a8f767SHajimu UMEMOTO
2610b5a8f767SHajimu UMEMOTO	roll    $22,            %edx
2611b5a8f767SHajimu UMEMOTO	movl    %edx,           %edi
2612b5a8f767SHajimu UMEMOTO	xorl    %esi,           %edx
2613b5a8f767SHajimu UMEMOTO	andl    $0x03fc03fc,    %edx
2614b5a8f767SHajimu UMEMOTO	xorl    %edx,           %edi
2615b5a8f767SHajimu UMEMOTO	xorl    %edx,           %esi
2616b5a8f767SHajimu UMEMOTO
2617b5a8f767SHajimu UMEMOTO	roll    $9,             %edi
2618b5a8f767SHajimu UMEMOTO	movl    %edi,           %edx
2619b5a8f767SHajimu UMEMOTO	xorl    %esi,           %edi
2620b5a8f767SHajimu UMEMOTO	andl    $0xaaaaaaaa,    %edi
2621b5a8f767SHajimu UMEMOTO	xorl    %edi,           %edx
2622b5a8f767SHajimu UMEMOTO	xorl    %edi,           %esi
2623b5a8f767SHajimu UMEMOTO
2624b5a8f767SHajimu UMEMOTO	rorl    $3,             %edx
2625b5a8f767SHajimu UMEMOTO	rorl    $2,             %esi
2626b5a8f767SHajimu UMEMOTO	movl    %esi,           4(%ebx)
2627b5a8f767SHajimu UMEMOTO	movl    36(%esp),       %eax
2628b5a8f767SHajimu UMEMOTO	movl    %edx,           (%ebx)
2629b5a8f767SHajimu UMEMOTO	movl    40(%esp),       %edi
2630b5a8f767SHajimu UMEMOTO	movl    44(%esp),       %esi
2631b5a8f767SHajimu UMEMOTO	movl    $1,             8(%esp)
2632b5a8f767SHajimu UMEMOTO	movl    %eax,           4(%esp)
2633b5a8f767SHajimu UMEMOTO	movl    %ebx,           (%esp)
2634b5a8f767SHajimu UMEMOTO	call    _C_LABEL(des_encrypt2)
2635b5a8f767SHajimu UMEMOTO	movl    $0,             8(%esp)
2636b5a8f767SHajimu UMEMOTO	movl    %edi,           4(%esp)
2637b5a8f767SHajimu UMEMOTO	movl    %ebx,           (%esp)
2638b5a8f767SHajimu UMEMOTO	call    _C_LABEL(des_encrypt2)
2639b5a8f767SHajimu UMEMOTO	movl    $1,             8(%esp)
2640b5a8f767SHajimu UMEMOTO	movl    %esi,           4(%esp)
2641b5a8f767SHajimu UMEMOTO	movl    %ebx,           (%esp)
2642b5a8f767SHajimu UMEMOTO	call    _C_LABEL(des_encrypt2)
2643b5a8f767SHajimu UMEMOTO	addl    $12,            %esp
2644b5a8f767SHajimu UMEMOTO	movl    (%ebx),         %edi
2645b5a8f767SHajimu UMEMOTO	movl    4(%ebx),        %esi
2646b5a8f767SHajimu UMEMOTO
264740373d87SDavid E. O'Brien	/* FP */
2648b5a8f767SHajimu UMEMOTO	roll    $2,             %esi
2649b5a8f767SHajimu UMEMOTO	roll    $3,             %edi
2650b5a8f767SHajimu UMEMOTO	movl    %edi,           %eax
2651b5a8f767SHajimu UMEMOTO	xorl    %esi,           %edi
2652b5a8f767SHajimu UMEMOTO	andl    $0xaaaaaaaa,    %edi
2653b5a8f767SHajimu UMEMOTO	xorl    %edi,           %eax
2654b5a8f767SHajimu UMEMOTO	xorl    %edi,           %esi
2655b5a8f767SHajimu UMEMOTO
2656b5a8f767SHajimu UMEMOTO	roll    $23,            %eax
2657b5a8f767SHajimu UMEMOTO	movl    %eax,           %edi
2658b5a8f767SHajimu UMEMOTO	xorl    %esi,           %eax
2659b5a8f767SHajimu UMEMOTO	andl    $0x03fc03fc,    %eax
2660b5a8f767SHajimu UMEMOTO	xorl    %eax,           %edi
2661b5a8f767SHajimu UMEMOTO	xorl    %eax,           %esi
2662b5a8f767SHajimu UMEMOTO
2663b5a8f767SHajimu UMEMOTO	roll    $10,            %edi
2664b5a8f767SHajimu UMEMOTO	movl    %edi,           %eax
2665b5a8f767SHajimu UMEMOTO	xorl    %esi,           %edi
2666b5a8f767SHajimu UMEMOTO	andl    $0x33333333,    %edi
2667b5a8f767SHajimu UMEMOTO	xorl    %edi,           %eax
2668b5a8f767SHajimu UMEMOTO	xorl    %edi,           %esi
2669b5a8f767SHajimu UMEMOTO
2670b5a8f767SHajimu UMEMOTO	roll    $18,            %esi
2671b5a8f767SHajimu UMEMOTO	movl    %esi,           %edi
2672b5a8f767SHajimu UMEMOTO	xorl    %eax,           %esi
2673b5a8f767SHajimu UMEMOTO	andl    $0xfff0000f,    %esi
2674b5a8f767SHajimu UMEMOTO	xorl    %esi,           %edi
2675b5a8f767SHajimu UMEMOTO	xorl    %esi,           %eax
2676b5a8f767SHajimu UMEMOTO
2677b5a8f767SHajimu UMEMOTO	roll    $12,            %edi
2678b5a8f767SHajimu UMEMOTO	movl    %edi,           %esi
2679b5a8f767SHajimu UMEMOTO	xorl    %eax,           %edi
2680b5a8f767SHajimu UMEMOTO	andl    $0xf0f0f0f0,    %edi
2681b5a8f767SHajimu UMEMOTO	xorl    %edi,           %esi
2682b5a8f767SHajimu UMEMOTO	xorl    %edi,           %eax
2683b5a8f767SHajimu UMEMOTO
2684b5a8f767SHajimu UMEMOTO	rorl    $4,             %eax
2685b5a8f767SHajimu UMEMOTO	movl    %eax,           (%ebx)
2686b5a8f767SHajimu UMEMOTO	movl    %esi,           4(%ebx)
2687b5a8f767SHajimu UMEMOTO	popl    %edi
2688b5a8f767SHajimu UMEMOTO	popl    %esi
2689b5a8f767SHajimu UMEMOTO	popl    %ebp
2690b5a8f767SHajimu UMEMOTO	popl    %ebx
2691b5a8f767SHajimu UMEMOTO	ret
269278599c32SConrad MeyerEND(des_encrypt3)
2693b5a8f767SHajimu UMEMOTO
2694b5a8f767SHajimu UMEMOTOENTRY(des_decrypt3)
2695b5a8f767SHajimu UMEMOTO	pushl   %ebx
2696b5a8f767SHajimu UMEMOTO	movl    8(%esp),        %ebx
2697b5a8f767SHajimu UMEMOTO	pushl   %ebp
2698b5a8f767SHajimu UMEMOTO	pushl   %esi
2699b5a8f767SHajimu UMEMOTO	pushl   %edi
2700b5a8f767SHajimu UMEMOTO
270140373d87SDavid E. O'Brien	/* Load the data words */
2702b5a8f767SHajimu UMEMOTO	movl    (%ebx),         %edi
2703b5a8f767SHajimu UMEMOTO	movl    4(%ebx),        %esi
2704b5a8f767SHajimu UMEMOTO	subl    $12,            %esp
2705b5a8f767SHajimu UMEMOTO
270640373d87SDavid E. O'Brien	/* IP */
2707b5a8f767SHajimu UMEMOTO	roll    $4,             %edi
2708b5a8f767SHajimu UMEMOTO	movl    %edi,           %edx
2709b5a8f767SHajimu UMEMOTO	xorl    %esi,           %edi
2710b5a8f767SHajimu UMEMOTO	andl    $0xf0f0f0f0,    %edi
2711b5a8f767SHajimu UMEMOTO	xorl    %edi,           %edx
2712b5a8f767SHajimu UMEMOTO	xorl    %edi,           %esi
2713b5a8f767SHajimu UMEMOTO
2714b5a8f767SHajimu UMEMOTO	roll    $20,            %esi
2715b5a8f767SHajimu UMEMOTO	movl    %esi,           %edi
2716b5a8f767SHajimu UMEMOTO	xorl    %edx,           %esi
2717b5a8f767SHajimu UMEMOTO	andl    $0xfff0000f,    %esi
2718b5a8f767SHajimu UMEMOTO	xorl    %esi,           %edi
2719b5a8f767SHajimu UMEMOTO	xorl    %esi,           %edx
2720b5a8f767SHajimu UMEMOTO
2721b5a8f767SHajimu UMEMOTO	roll    $14,            %edi
2722b5a8f767SHajimu UMEMOTO	movl    %edi,           %esi
2723b5a8f767SHajimu UMEMOTO	xorl    %edx,           %edi
2724b5a8f767SHajimu UMEMOTO	andl    $0x33333333,    %edi
2725b5a8f767SHajimu UMEMOTO	xorl    %edi,           %esi
2726b5a8f767SHajimu UMEMOTO	xorl    %edi,           %edx
2727b5a8f767SHajimu UMEMOTO
2728b5a8f767SHajimu UMEMOTO	roll    $22,            %edx
2729b5a8f767SHajimu UMEMOTO	movl    %edx,           %edi
2730b5a8f767SHajimu UMEMOTO	xorl    %esi,           %edx
2731b5a8f767SHajimu UMEMOTO	andl    $0x03fc03fc,    %edx
2732b5a8f767SHajimu UMEMOTO	xorl    %edx,           %edi
2733b5a8f767SHajimu UMEMOTO	xorl    %edx,           %esi
2734b5a8f767SHajimu UMEMOTO
2735b5a8f767SHajimu UMEMOTO	roll    $9,             %edi
2736b5a8f767SHajimu UMEMOTO	movl    %edi,           %edx
2737b5a8f767SHajimu UMEMOTO	xorl    %esi,           %edi
2738b5a8f767SHajimu UMEMOTO	andl    $0xaaaaaaaa,    %edi
2739b5a8f767SHajimu UMEMOTO	xorl    %edi,           %edx
2740b5a8f767SHajimu UMEMOTO	xorl    %edi,           %esi
2741b5a8f767SHajimu UMEMOTO
2742b5a8f767SHajimu UMEMOTO	rorl    $3,             %edx
2743b5a8f767SHajimu UMEMOTO	rorl    $2,             %esi
2744b5a8f767SHajimu UMEMOTO	movl    %esi,           4(%ebx)
2745b5a8f767SHajimu UMEMOTO	movl    36(%esp),       %esi
2746b5a8f767SHajimu UMEMOTO	movl    %edx,           (%ebx)
2747b5a8f767SHajimu UMEMOTO	movl    40(%esp),       %edi
2748b5a8f767SHajimu UMEMOTO	movl    44(%esp),       %eax
2749b5a8f767SHajimu UMEMOTO	movl    $0,             8(%esp)
2750b5a8f767SHajimu UMEMOTO	movl    %eax,           4(%esp)
2751b5a8f767SHajimu UMEMOTO	movl    %ebx,           (%esp)
2752b5a8f767SHajimu UMEMOTO	call    _C_LABEL(des_encrypt2)
2753b5a8f767SHajimu UMEMOTO	movl    $1,             8(%esp)
2754b5a8f767SHajimu UMEMOTO	movl    %edi,           4(%esp)
2755b5a8f767SHajimu UMEMOTO	movl    %ebx,           (%esp)
2756b5a8f767SHajimu UMEMOTO	call    _C_LABEL(des_encrypt2)
2757b5a8f767SHajimu UMEMOTO	movl    $0,             8(%esp)
2758b5a8f767SHajimu UMEMOTO	movl    %esi,           4(%esp)
2759b5a8f767SHajimu UMEMOTO	movl    %ebx,           (%esp)
2760b5a8f767SHajimu UMEMOTO	call    _C_LABEL(des_encrypt2)
2761b5a8f767SHajimu UMEMOTO	addl    $12,            %esp
2762b5a8f767SHajimu UMEMOTO	movl    (%ebx),         %edi
2763b5a8f767SHajimu UMEMOTO	movl    4(%ebx),        %esi
2764b5a8f767SHajimu UMEMOTO
276540373d87SDavid E. O'Brien	/* FP */
2766b5a8f767SHajimu UMEMOTO	roll    $2,             %esi
2767b5a8f767SHajimu UMEMOTO	roll    $3,             %edi
2768b5a8f767SHajimu UMEMOTO	movl    %edi,           %eax
2769b5a8f767SHajimu UMEMOTO	xorl    %esi,           %edi
2770b5a8f767SHajimu UMEMOTO	andl    $0xaaaaaaaa,    %edi
2771b5a8f767SHajimu UMEMOTO	xorl    %edi,           %eax
2772b5a8f767SHajimu UMEMOTO	xorl    %edi,           %esi
2773b5a8f767SHajimu UMEMOTO
2774b5a8f767SHajimu UMEMOTO	roll    $23,            %eax
2775b5a8f767SHajimu UMEMOTO	movl    %eax,           %edi
2776b5a8f767SHajimu UMEMOTO	xorl    %esi,           %eax
2777b5a8f767SHajimu UMEMOTO	andl    $0x03fc03fc,    %eax
2778b5a8f767SHajimu UMEMOTO	xorl    %eax,           %edi
2779b5a8f767SHajimu UMEMOTO	xorl    %eax,           %esi
2780b5a8f767SHajimu UMEMOTO
2781b5a8f767SHajimu UMEMOTO	roll    $10,            %edi
2782b5a8f767SHajimu UMEMOTO	movl    %edi,           %eax
2783b5a8f767SHajimu UMEMOTO	xorl    %esi,           %edi
2784b5a8f767SHajimu UMEMOTO	andl    $0x33333333,    %edi
2785b5a8f767SHajimu UMEMOTO	xorl    %edi,           %eax
2786b5a8f767SHajimu UMEMOTO	xorl    %edi,           %esi
2787b5a8f767SHajimu UMEMOTO
2788b5a8f767SHajimu UMEMOTO	roll    $18,            %esi
2789b5a8f767SHajimu UMEMOTO	movl    %esi,           %edi
2790b5a8f767SHajimu UMEMOTO	xorl    %eax,           %esi
2791b5a8f767SHajimu UMEMOTO	andl    $0xfff0000f,    %esi
2792b5a8f767SHajimu UMEMOTO	xorl    %esi,           %edi
2793b5a8f767SHajimu UMEMOTO	xorl    %esi,           %eax
2794b5a8f767SHajimu UMEMOTO
2795b5a8f767SHajimu UMEMOTO	roll    $12,            %edi
2796b5a8f767SHajimu UMEMOTO	movl    %edi,           %esi
2797b5a8f767SHajimu UMEMOTO	xorl    %eax,           %edi
2798b5a8f767SHajimu UMEMOTO	andl    $0xf0f0f0f0,    %edi
2799b5a8f767SHajimu UMEMOTO	xorl    %edi,           %esi
2800b5a8f767SHajimu UMEMOTO	xorl    %edi,           %eax
2801b5a8f767SHajimu UMEMOTO
2802b5a8f767SHajimu UMEMOTO        rorl    $4,             %eax
2803b5a8f767SHajimu UMEMOTO	movl    %eax,           (%ebx)
2804b5a8f767SHajimu UMEMOTO	movl    %esi,           4(%ebx)
2805b5a8f767SHajimu UMEMOTO	popl    %edi
2806b5a8f767SHajimu UMEMOTO	popl    %esi
2807b5a8f767SHajimu UMEMOTO	popl    %ebp
2808b5a8f767SHajimu UMEMOTO	popl    %ebx
2809b5a8f767SHajimu UMEMOTO	ret
281078599c32SConrad MeyerEND(des_decrypt3)
2811