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 1356*78599c32SConrad 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 2574*78599c32SConrad 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 2692*78599c32SConrad 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 2810*78599c32SConrad MeyerEND(des_decrypt3) 2811