Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 9995 Details for
Bug 18446
Patch for ide-floppy for devfs support
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch for devfs and ide-floppy
ide-floppy-devfs-patch (text/plain), 110.73 KB, created by
Chris Gianelloni (RETIRED)
on 2003-03-29 16:17:03 UTC
(
hide
)
Description:
Patch for devfs and ide-floppy
Filename:
MIME Type:
Creator:
Chris Gianelloni (RETIRED)
Created:
2003-03-29 16:17:03 UTC
Size:
110.73 KB
patch
obsolete
>diff -urN linux-2.4.20-gentoo-r2/drivers/ide/ide-floppy.c linux-2.4.20-gentoo-r2-fixed/drivers/ide/ide-floppy.c >--- linux-2.4.20-gentoo-r2/drivers/ide/ide-floppy.c 2003-03-29 15:26:31.000000000 -0500 >+++ linux-2.4.20-gentoo-r2-fixed/drivers/ide/ide-floppy.c 2003-03-29 15:19:33.000000000 -0500 >@@ -97,6 +97,7 @@ > #include <linux/slab.h> > #include <linux/cdrom.h> > #include <linux/ide.h> >+#include <linux/devfs_fs_kernel.h> > > #include <asm/byteorder.h> > #include <asm/irq.h> >@@ -271,6 +272,7 @@ > */ > typedef struct { > ide_drive_t *drive; >+ devfs_handle_t de; /* devfs entry */ > > idefloppy_pc_t *pc; /* Current packet command */ > idefloppy_pc_t *failed_pc; /* Last failed packet command */ >@@ -661,6 +663,8 @@ > #define IDEFLOPPY_MIN(a,b) ((a)<(b) ? (a):(b)) > #define IDEFLOPPY_MAX(a,b) ((a)>(b) ? (a):(b)) > >+extern devfs_handle_t ide_devfs_handle; /* Hook into ide devfs chain */ >+ > /* > * Too bad. The drive wants to send us data which we are not ready to accept. > * Just throw it away. >@@ -1457,9 +1461,14 @@ > if (memcmp (descriptor, &floppy->capacity, sizeof (idefloppy_capacity_descriptor_t))) > printk (KERN_INFO "%s: %dkB, %d blocks, %d sector size\n", drive->name, blocks * length / 1024, blocks, length); > floppy->capacity = *descriptor; >- if (!length || length % 512) >+ if (!length || length % 512) { > printk (KERN_NOTICE "%s: %d bytes block size not supported\n", drive->name, length); >- else { >+ } else if (!i && descriptor->dc == CAPACITY_NO_CARTRIDGE && drive->removable && !(length % 512)) { >+ /* Set these two so that idefloppy_capacity returns a >+ positive value, needed for devfs registration. */ >+ floppy->blocks = blocks; >+ floppy->bs_factor = length / 512; >+ } else { > floppy->blocks = blocks; > floppy->block_size = length; > if ((floppy->bs_factor = length / 512) != 1) >@@ -2010,6 +2019,9 @@ > struct idefloppy_id_gcw gcw; > int major = HWIF(drive)->major, i; > int minor = drive->select.b.unit << PARTN_BITS; >+ char fname[64],iname[64]; /* for devfs */ >+ devfs_handle_t idefloppy_devfs_handle; /* for devfs */ >+ ide_hwif_t *hwif = HWIF(drive); > > *((unsigned short *) &gcw) = drive->id->config; > drive->driver_data = floppy; >@@ -2063,6 +2075,21 @@ > hwif->gd->flags[i] |= GENHD_FL_REMOVABLE; > break; > } >+ >+/* Always register drive with devfs */ >+ floppy->de = devfs_register (drive->de, "disc", DEVFS_FL_REMOVABLE, >+ major, minor, >+ S_IFBLK | S_IRUGO | S_IWUGO, >+ ide_fops, NULL); >+ /* Create ide/fd entry in devfs */ >+idefloppy_devfs_handle = devfs_mk_dir(ide_devfs_handle,"fd",NULL); >+ >+ sprintf (fname, "c%db%dt%du%d", >+ (hwif->channel && hwif->mate) ? hwif->mate->index : hwif->index, hwif->channel, i, hwif->drives[i].lun); >+ sprintf (iname, "../host%d/bus%d/target%d/lun%d/disc", >+ (hwif->channel && hwif->mate) ? hwif->mate->index : hwif->index, >+ hwif->channel, i, hwif->drives[i].lun); >+devfs_mk_symlink(idefloppy_devfs_handle, fname, DEVFS_FL_REMOVABLE, iname, NULL, NULL); > } > > static int idefloppy_cleanup (ide_drive_t *drive) >@@ -2071,6 +2098,8 @@ > > if (ide_unregister_subdriver (drive)) > return 1; >+ devfs_unregister(floppy->de); >+ > drive->driver_data = NULL; > kfree (floppy); > return 0; >diff -urN linux-2.4.20-gentoo-r2/drivers/ide/ide-probe.c linux-2.4.20-gentoo-r2-fixed/drivers/ide/ide-probe.c >--- linux-2.4.20-gentoo-r2/drivers/ide/ide-probe.c 2003-03-29 15:26:31.000000000 -0500 >+++ linux-2.4.20-gentoo-r2-fixed/drivers/ide/ide-probe.c 2003-03-29 15:21:32.000000000 -0500 >@@ -124,6 +124,7 @@ > if (!strstr(id->model, "oppy") && !strstr(id->model, "poyp") && !strstr(id->model, "ZIP")) > printk("cdrom or floppy?, assuming "); > if (drive->media != ide_cdrom) { >+ drive->removable = 1; > printk ("FLOPPY"); > break; > } >diff -urN linux-2.4.20-gentoo-r2/include/linux/version.h linux-2.4.20-gentoo-r2-fixed/include/linux/version.h >--- linux-2.4.20-gentoo-r2/include/linux/version.h 2003-03-29 15:26:31.000000000 -0500 >+++ linux-2.4.20-gentoo-r2-fixed/include/linux/version.h 1969-12-31 19:00:00.000000000 -0500 >@@ -1,3 +0,0 @@ >-#define UTS_RELEASE "2.4.20-gentoo-r2" >-#define LINUX_VERSION_CODE 132116 >-#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) >diff -urN linux-2.4.20-gentoo-r2/kernel/proconfig.data linux-2.4.20-gentoo-r2-fixed/kernel/proconfig.data >--- linux-2.4.20-gentoo-r2/kernel/proconfig.data 1969-12-31 19:00:00.000000000 -0500 >+++ linux-2.4.20-gentoo-r2-fixed/kernel/proconfig.data 2003-03-21 17:18:27.000000000 -0500 >@@ -0,0 +1,608 @@ >+ >+/* generated by $0 from $TOPDIR/.config, do not edit */ >+ >+PROCONF_KEY_BEGIN >+PROCONF_KEY( BLK_DEV , 0 ) >+PROCONF_KEY( MTDRAM , 1 ) >+PROCONF_KEY( IP , 2 ) >+PROCONF_KEY( \202ROUTE , 3 ) >+PROCONF_KEY( \202PIMSM , 4 ) >+PROCONF_KEY( \202NF , 5 ) >+PROCONF_KEY( \205MATCH , 6 ) >+PROCONF_KEY( \205TARGET , 7 ) >+PROCONF_KEY( IP6 , 8 ) >+PROCONF_KEY( \210NF , 9 ) >+PROCONF_KEY( \211MATCH , 10 ) >+PROCONF_KEY( \211TARGET , 11 ) >+PROCONF_KEY( AIC7XXX , 12 ) >+PROCONF_KEY( HISAX , 13 ) >+PROCONF_KEY( ISDN_DRV , 14 ) >+PROCONF_KEY( RADIO , 15 ) >+PROCONF_KEY( VIDEO , 16 ) >+PROCONF_KEY( REISERFS , 17 ) >+PROCONF_KEY( NCPFS , 18 ) >+PROCONF_KEY( FBCON , 19 ) >+PROCONF_KEY( X86 , 20 ) >+PROCONF_KEY( UID16 , 21 ) >+PROCONF_KEY( EXPERIMENTAL , 22 ) >+PROCONF_KEY( MODULES , 23 ) >+PROCONF_KEY( MODVERSIONS , 24 ) >+PROCONF_KEY( KMOD , 25 ) >+PROCONF_KEY( LOLAT , 26 ) >+PROCONF_KEY( MPENTIUMIII31 , 27 ) >+PROCONF_KEY( \224WP_WORKS_OK , 28 ) >+PROCONF_KEY( \224INVLPG , 29 ) >+PROCONF_KEY( \224CMPXCHG , 30 ) >+PROCONF_KEY( \224XADD , 31 ) >+PROCONF_KEY( \224BSWAP , 32 ) >+PROCONF_KEY( \224POPAD_OK , 33 ) >+PROCONF_KEY( RWSEM_XCHGADD_ALGORITHM , 34 ) >+PROCONF_KEY( \224L1_CACHE_SHIFT , 35 ) >+PROCONF_KEY( \224HAS_TSC , 36 ) >+PROCONF_KEY( \224GOOD_APIC , 37 ) >+PROCONF_KEY( \224PGE , 38 ) >+PROCONF_KEY( \224USE_PPRO_CHECKSUM , 39 ) >+PROCONF_KEY( \224MCE , 40 ) >+PROCONF_KEY( MICROCODE , 41 ) >+PROCONF_KEY( \224MSR , 42 ) >+PROCONF_KEY( \224CPUID , 43 ) >+PROCONF_KEY( NOHIGHMEM , 44 ) >+PROCONF_KEY( 1GB , 45 ) >+PROCONF_KEY( MTRR , 46 ) >+PROCONF_KEY( SMP , 47 ) >+PROCONF_KEY( PREEMPT , 48 ) >+PROCONF_KEY( \224TSC , 49 ) >+PROCONF_KEY( HAVE_DEC_LOCK , 50 ) >+PROCONF_KEY( NET , 51 ) >+PROCONF_KEY( \224IO_APIC , 52 ) >+PROCONF_KEY( \224LOCAL_APIC , 53 ) >+PROCONF_KEY( PCI , 54 ) >+PROCONF_KEY( \266GOANY , 55 ) >+PROCONF_KEY( \266BIOS , 56 ) >+PROCONF_KEY( \266DIRECT , 57 ) >+PROCONF_KEY( \266NAMES , 58 ) >+PROCONF_KEY( HOTPLUG , 59 ) >+PROCONF_KEY( SYSVIPC , 60 ) >+PROCONF_KEY( SYSCTL , 61 ) >+PROCONF_KEY( KCORE_ELF , 62 ) >+PROCONF_KEY( BINFMT_ELF , 63 ) >+PROCONF_KEY( PARPORT , 64 ) >+PROCONF_KEY( \301\200PC , 65 ) >+PROCONF_KEY( \301\201CML1 , 66 ) >+PROCONF_KEY( \301\2001284 , 67 ) >+PROCONF_KEY( CDROM_PKTCDVD , 68 ) >+PROCONF_KEY( \200LOOP , 69 ) >+PROCONF_KEY( PACKET , 70 ) >+PROCONF_KEY( NETFILTER , 71 ) >+PROCONF_KEY( \263RESTRICTED_REUSE , 72 ) >+PROCONF_KEY( UNIX , 73 ) >+PROCONF_KEY( INET , 74 ) >+PROCONF_KEY( \263IPGRE , 75 ) >+PROCONF_KEY( \301\212ECN , 76 ) >+PROCONF_KEY( SYN_COOKIES , 77 ) >+PROCONF_KEY( \205CONNTRACK , 78 ) >+PROCONF_KEY( \205FTP , 79 ) >+PROCONF_KEY( \205IRC , 80 ) >+PROCONF_KEY( \205CT_PROTO_GRE , 81 ) >+PROCONF_KEY( \205PPTP , 82 ) >+PROCONF_KEY( \205IPTABLES , 83 ) >+PROCONF_KEY( \206LIMIT , 84 ) >+PROCONF_KEY( \206QUOTA , 85 ) >+PROCONF_KEY( \206MULTIPORT , 86 ) >+PROCONF_KEY( \206MPORT , 87 ) >+PROCONF_KEY( \206TCPMSS , 88 ) >+PROCONF_KEY( \206STEALTH , 89 ) >+PROCONF_KEY( \206HELPER , 90 ) >+PROCONF_KEY( \206STATE , 91 ) >+PROCONF_KEY( \206IPLIMIT , 92 ) >+PROCONF_KEY( \206CONNTRACK , 93 ) >+PROCONF_KEY( \206OWNER , 94 ) >+PROCONF_KEY( \205FILTER , 95 ) >+PROCONF_KEY( \205NAT , 96 ) >+PROCONF_KEY( \301\240NEEDED , 97 ) >+PROCONF_KEY( \207MASQUERADE , 98 ) >+PROCONF_KEY( \301\240PPTP , 99 ) >+PROCONF_KEY( \301\240PROTO_GRE , 100 ) >+PROCONF_KEY( \301\240IRC , 101 ) >+PROCONF_KEY( \301\240FTP , 102 ) >+PROCONF_KEY( \207LOG , 103 ) >+PROCONF_KEY( \207TCPMSS , 104 ) >+PROCONF_KEY( IPV6 , 105 ) >+PROCONF_KEY( \301\251DROP_FAKE_V4MAPPED , 106 ) >+PROCONF_KEY( \301\2516TO4_NEXTHOP , 107 ) >+PROCONF_KEY( \301\251PRIVACY , 108 ) >+PROCONF_KEY( \211IPTABLES , 109 ) >+PROCONF_KEY( \212LIMIT , 110 ) >+PROCONF_KEY( \212MAC , 111 ) >+PROCONF_KEY( \212MULTIPORT , 112 ) >+PROCONF_KEY( \211FILTER , 113 ) >+PROCONF_KEY( \213LOG , 114 ) >+PROCONF_KEY( \301\251IPSEC_TUNNEL , 115 ) >+PROCONF_KEY( \263PKTGEN , 116 ) >+PROCONF_KEY( IPSEC , 117 ) >+PROCONF_KEY( \301\265IPIP , 118 ) >+PROCONF_KEY( \301\265AH , 119 ) >+PROCONF_KEY( \301\265AUTH_HMAC_MD5 , 120 ) >+PROCONF_KEY( \301\265AUTH_HMAC_SHA1 , 121 ) >+PROCONF_KEY( \301\265ESP , 122 ) >+PROCONF_KEY( \301\265ENC_3DES , 123 ) >+PROCONF_KEY( \301\265IPCOMP , 124 ) >+PROCONF_KEY( \301\265NAT_TRAVERSAL , 125 ) >+PROCONF_KEY( IDE , 126 ) >+PROCONF_KEY( \200IDE , 127 ) >+PROCONF_KEY( \200IDEDISK , 128 ) >+PROCONF_KEY( \200IDEFLOPPY , 129 ) >+PROCONF_KEY( \200IDESCSI , 130 ) >+PROCONF_KEY( \301\276TASK_IOCTL , 131 ) >+PROCONF_KEY( \200IDEPCI , 132 ) >+PROCONF_KEY( IDEPCI_SHARE_IRQ , 133 ) >+PROCONF_KEY( \200IDEDMA_PCI , 134 ) >+PROCONF_KEY( IDEDMA_PCI_AUTO , 135 ) >+PROCONF_KEY( \200IDEDMA , 136 ) >+PROCONF_KEY( \200ADMA , 137 ) >+PROCONF_KEY( \200VIA82CXXX , 138 ) >+PROCONF_KEY( IDEDMA_AUTO , 139 ) >+PROCONF_KEY( \301\277MODES , 140 ) >+PROCONF_KEY( SCSI , 141 ) >+PROCONF_KEY( \200SD , 142 ) >+PROCONF_KEY( SD_EXTRA_DEVS , 143 ) >+PROCONF_KEY( CHR_DEV_ST , 144 ) >+PROCONF_KEY( \200SR , 145 ) >+PROCONF_KEY( \302\221VENDOR , 146 ) >+PROCONF_KEY( SR_EXTRA_DEVS , 147 ) >+PROCONF_KEY( CHR_DEV_SG , 148 ) >+PROCONF_KEY( \302\215AIC7XXX , 149 ) >+PROCONF_KEY( \214CMDS_PER_DEVICE , 150 ) >+PROCONF_KEY( \214RESET_DELAY_MS , 151 ) >+PROCONF_KEY( \214DEBUG_MASK , 152 ) >+PROCONF_KEY( \302\215AIC79XX , 153 ) >+PROCONF_KEY( AIC79XX_CMDS_PER_DEVICE , 154 ) >+PROCONF_KEY( AIC79XX_RESET_DELAY_MS , 155 ) >+PROCONF_KEY( AIC79XX_DEBUG_MASK , 156 ) >+PROCONF_KEY( NETDEVICES , 157 ) >+PROCONF_KEY( DUMMY , 158 ) >+PROCONF_KEY( \263ETHERNET , 159 ) >+PROCONF_KEY( \263VENDOR_3COM , 160 ) >+PROCONF_KEY( VORTEX , 161 ) >+PROCONF_KEY( INPUT , 162 ) >+PROCONF_KEY( \302\242KEYBDEV , 163 ) >+PROCONF_KEY( \302\242MOUSEDEV , 164 ) >+PROCONF_KEY( \302\244SCREEN_X , 165 ) >+PROCONF_KEY( \302\244SCREEN_Y , 166 ) >+PROCONF_KEY( \302\242JOYDEV , 167 ) >+PROCONF_KEY( \302\242EVDEV , 168 ) >+PROCONF_KEY( VT , 169 ) >+PROCONF_KEY( ECC , 170 ) >+PROCONF_KEY( \302\251CONSOLE , 171 ) >+PROCONF_KEY( SERIAL , 172 ) >+PROCONF_KEY( UNIX98_PTYS , 173 ) >+PROCONF_KEY( UNIX98_PTY_COUNT , 174 ) >+PROCONF_KEY( MOUSE , 175 ) >+PROCONF_KEY( PSMOUSE , 176 ) >+PROCONF_KEY( \302\242GAMEPORT , 177 ) >+PROCONF_KEY( \302\242EMU10K1 , 178 ) >+PROCONF_KEY( \302\242SIDEWINDER , 179 ) >+PROCONF_KEY( RTC , 180 ) >+PROCONF_KEY( AGP , 181 ) >+PROCONF_KEY( \302\265VIA , 182 ) >+PROCONF_KEY( \220DEV , 183 ) >+PROCONF_KEY( \220CPIA , 184 ) >+PROCONF_KEY( \302\270USB , 185 ) >+PROCONF_KEY( SUPERMOUNT , 186 ) >+PROCONF_KEY( EXT3_FS , 187 ) >+PROCONF_KEY( JBD , 188 ) >+PROCONF_KEY( FAT_FS , 189 ) >+PROCONF_KEY( VFAT_FS , 190 ) >+PROCONF_KEY( TMPFS , 191 ) >+PROCONF_KEY( RAMFS , 192 ) >+PROCONF_KEY( ISO9660_FS , 193 ) >+PROCONF_KEY( JOLIET , 194 ) >+PROCONF_KEY( ZISOFS , 195 ) >+PROCONF_KEY( MINIX_FS , 196 ) >+PROCONF_KEY( PROC_FS , 197 ) >+PROCONF_KEY( PROC_CONFIG , 198 ) >+PROCONF_KEY( DEVFS_FS , 199 ) >+PROCONF_KEY( DEVFS_MOUNT , 200 ) >+PROCONF_KEY( EXT2_FS , 201 ) >+PROCONF_KEY( UDF_FS , 202 ) >+PROCONF_KEY( SMB_FS , 203 ) >+PROCONF_KEY( \303\203FS , 204 ) >+PROCONF_KEY( FS_MBCACHE , 205 ) >+PROCONF_KEY( MSDOS_PARTITION , 206 ) >+PROCONF_KEY( SMB_NLS , 207 ) >+PROCONF_KEY( NLS , 208 ) >+PROCONF_KEY( \303\220DEFAULT , 209 ) >+PROCONF_KEY( IMON , 210 ) >+PROCONF_KEY( EXECOUNT , 211 ) >+PROCONF_KEY( VGA_CONSOLE , 212 ) >+PROCONF_KEY( SOUND , 213 ) >+PROCONF_KEY( \303\225EMU10K1 , 214 ) >+PROCONF_KEY( USB , 215 ) >+PROCONF_KEY( \303\227DEVICEFS , 216 ) >+PROCONF_KEY( \303\227UHCI , 217 ) >+PROCONF_KEY( \303\227AUDIO , 218 ) >+PROCONF_KEY( \303\227EMI26 , 219 ) >+PROCONF_KEY( \303\227STORAGE , 220 ) >+PROCONF_KEY( \303\234DATAFAB , 221 ) >+PROCONF_KEY( \303\234FREECOM , 222 ) >+PROCONF_KEY( \303\234ISD200 , 223 ) >+PROCONF_KEY( \303\234DPCM , 224 ) >+PROCONF_KEY( \303\234HP8200e , 225 ) >+PROCONF_KEY( \303\234SDDR09 , 226 ) >+PROCONF_KEY( \303\234SDDR55 , 227 ) >+PROCONF_KEY( \303\234JUMPSHOT , 228 ) >+PROCONF_KEY( \303\227ACM , 229 ) >+PROCONF_KEY( \303\227PRINTER , 230 ) >+PROCONF_KEY( \303\227HID , 231 ) >+PROCONF_KEY( \303\227HIDINPUT , 232 ) >+PROCONF_KEY( \303\227HIDDEV , 233 ) >+PROCONF_KEY( \303\227DC2XX , 234 ) >+PROCONF_KEY( \303\227MDC800 , 235 ) >+PROCONF_KEY( \303\227SCANNER , 236 ) >+PROCONF_KEY( \303\227MICROTEK , 237 ) >+PROCONF_KEY( \303\227HPUSBSCSI , 238 ) >+PROCONF_KEY( \303\227PEGASUS , 239 ) >+PROCONF_KEY( \303\227RTL8150 , 240 ) >+PROCONF_KEY( \303\227KAWETH , 241 ) >+PROCONF_KEY( \303\227CATC , 242 ) >+PROCONF_KEY( \303\227CDCETHER , 243 ) >+PROCONF_KEY( \303\227LCD , 244 ) >+PROCONF_KEY( ZLIB_INFLATE , 245 ) >+PROCONF_KEY( ZLIB_DEFLATE , 246 ) >+PROCONF_KEY( GRKERNSEC , 247 ) >+PROCONF_KEY( \303\267CUSTOM , 248 ) >+PROCONF_KEY( \303\267PAX_ASLR , 249 ) >+PROCONF_KEY( \303\267PAX_RANDKSTACK , 250 ) >+PROCONF_KEY( \303\267PAX_RANDUSTACK , 251 ) >+PROCONF_KEY( \303\267PAX_RANDMMAP , 252 ) >+PROCONF_KEY( \303\267KMEM , 253 ) >+PROCONF_KEY( \303\267PROC_MEMMAP , 254 ) >+PROCONF_KEY( \303\267ACL_HIDEKERN , 255 ) >+PROCONF_KEY( \303\267ACL_MAXTRIES , 256 ) >+PROCONF_KEY( \303\267ACL_TIMEOUT , 257 ) >+PROCONF_KEY( \303\267PROC , 258 ) >+PROCONF_KEY( \304\202USERGROUP , 259 ) >+PROCONF_KEY( \304\202GID , 260 ) >+PROCONF_KEY( \304\202ADD , 261 ) >+PROCONF_KEY( \303\267LINK , 262 ) >+PROCONF_KEY( \303\267FIFO , 263 ) >+PROCONF_KEY( \303\267CHROOT , 264 ) >+PROCONF_KEY( \304\210MOUNT , 265 ) >+PROCONF_KEY( \304\210DOUBLE , 266 ) >+PROCONF_KEY( \304\210PIVOT , 267 ) >+PROCONF_KEY( \304\210CHDIR , 268 ) >+PROCONF_KEY( \304\210CHMOD , 269 ) >+PROCONF_KEY( \304\210FCHDIR , 270 ) >+PROCONF_KEY( \304\210MKNOD , 271 ) >+PROCONF_KEY( \304\210SHMAT , 272 ) >+PROCONF_KEY( \304\210UNIX , 273 ) >+PROCONF_KEY( \304\210FINDTASK , 274 ) >+PROCONF_KEY( \304\210NICE , 275 ) >+PROCONF_KEY( \304\210SYSCTL , 276 ) >+PROCONF_KEY( \304\210CAPS , 277 ) >+PROCONF_KEY( \303\267EXECVE , 278 ) >+PROCONF_KEY( \303\267DMESG , 279 ) >+PROCONF_KEY( \303\267RANDPID , 280 ) >+PROCONF_KEY( \303\267RANDNET , 281 ) >+PROCONF_KEY( \303\267RANDISN , 282 ) >+PROCONF_KEY( \303\267RANDID , 283 ) >+PROCONF_KEY( \303\267RANDSRC , 284 ) >+PROCONF_KEY( \303\267RANDRPC , 285 ) >+PROCONF_KEY( \303\267RANDPING , 286 ) >+PROCONF_KEY( \303\267FLOODTIME , 287 ) >+PROCONF_KEY( \303\267FLOODBURST , 288 ) >+PROCONF_KEY_END >+ >+PROCONF_XDATA_BEGIN >+PROCONF_XDATA( n ) >+PROCONF_XDATA( y ) >+PROCONF_XDATA( m ) >+PROCONF_XDATA( 5 ) >+PROCONF_XDATA( 40 ) >+PROCONF_XDATA( 2 ) >+PROCONF_XDATA( 253 ) >+PROCONF_XDATA( 5000 ) >+PROCONF_XDATA( 0 ) >+PROCONF_XDATA( 1600 ) >+PROCONF_XDATA( 1200 ) >+PROCONF_XDATA( 256 ) >+PROCONF_XDATA( "iso8859-1" ) >+PROCONF_XDATA( 3 ) >+PROCONF_XDATA( 30 ) >+PROCONF_XDATA( 10 ) >+PROCONF_XDATA( 4 ) >+PROCONF_XDATA_END >+ >+PROCONF_DATA_BEGIN >+PROCONF_DATA( "\000" ) >+PROCONF_DATA( "\000" ) >+PROCONF_DATA( "\000" ) >+PROCONF_DATA( "\000" ) >+PROCONF_DATA( "\000" ) >+PROCONF_DATA( "\000" ) >+PROCONF_DATA( "\000" ) >+PROCONF_DATA( "\000" ) >+PROCONF_DATA( "\000" ) >+PROCONF_DATA( "\000" ) >+PROCONF_DATA( "\000" ) >+PROCONF_DATA( "\000" ) >+PROCONF_DATA( "\000" ) >+PROCONF_DATA( "\000" ) >+PROCONF_DATA( "\000" ) >+PROCONF_DATA( "\000" ) >+PROCONF_DATA( "\000" ) >+PROCONF_DATA( "\000" ) >+PROCONF_DATA( "\000" ) >+PROCONF_DATA( "\000" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\003" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\002" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\002" ) >+PROCONF_DATA( "\002" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\004" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\005" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\006" ) >+PROCONF_DATA( "\007" ) >+PROCONF_DATA( "\010" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\006" ) >+PROCONF_DATA( "\007" ) >+PROCONF_DATA( "\010" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\002" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\011" ) >+PROCONF_DATA( "\012" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\013" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\002" ) >+PROCONF_DATA( "\002" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\014" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\002" ) >+PROCONF_DATA( "\002" ) >+PROCONF_DATA( "\002" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\002" ) >+PROCONF_DATA( "\002" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\002" ) >+PROCONF_DATA( "\002" ) >+PROCONF_DATA( "\002" ) >+PROCONF_DATA( "\002" ) >+PROCONF_DATA( "\002" ) >+PROCONF_DATA( "\002" ) >+PROCONF_DATA( "\002" ) >+PROCONF_DATA( "\002" ) >+PROCONF_DATA( "\002" ) >+PROCONF_DATA( "\002" ) >+PROCONF_DATA( "\002" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\015" ) >+PROCONF_DATA( "\016" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\017" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\001" ) >+PROCONF_DATA( "\017" ) >+PROCONF_DATA( "\020" ) >+PROCONF_DATA_END >+ >+ucLen = 289; >diff -urN linux-2.4.20-gentoo-r2/net/ipsec/libdes/asm/dx86unix.S linux-2.4.20-gentoo-r2-fixed/net/ipsec/libdes/asm/dx86unix.S >--- linux-2.4.20-gentoo-r2/net/ipsec/libdes/asm/dx86unix.S 1969-12-31 19:00:00.000000000 -0500 >+++ linux-2.4.20-gentoo-r2-fixed/net/ipsec/libdes/asm/dx86unix.S 2003-03-21 15:54:10.000000000 -0500 >@@ -0,0 +1,3193 @@ >+/* Run the C pre-processor over this file with one of the following defined >+ * ELF - elf object files, >+ * OUT - a.out object files, >+ * BSDI - BSDI style a.out object files >+ * SOL - Solaris style elf >+ */ >+ >+#define TYPE(a,b) .type a,b >+#define SIZE(a,b) .size a,b >+ >+#if defined(OUT) || defined(BSDI) >+#define des_SPtrans _des_SPtrans >+ >+#endif >+ >+#ifdef OUT >+#define OK 1 >+#define ALIGN 4 >+#endif >+ >+#ifdef BSDI >+#define OK 1 >+#define ALIGN 4 >+#undef SIZE >+#undef TYPE >+#endif >+ >+#if defined(ELF) || defined(SOL) >+#define OK 1 >+#define ALIGN 16 >+#endif >+ >+#ifndef OK >+You need to define one of >+ELF - elf systems - linux-elf, NetBSD and DG-UX >+OUT - a.out systems - linux-a.out and FreeBSD >+SOL - solaris systems, which are elf with strange comment lines >+BSDI - a.out with a very primative version of as. >+#endif >+ >+/* Let the Assembler begin :-) */ >+ /* Don't even think of reading this code */ >+ /* It was automatically generated by des-586.pl */ >+ /* Which is a perl program used to generate the x86 assember for */ >+ /* any of elf, a.out, BSDI,Win32, or Solaris */ >+ /* eric <eay@cryptsoft.com> */ >+ >+ .file "des-586.s" >+ .version "01.01" >+.text >+ .align ALIGN >+.globl des_encrypt >+ TYPE(des_encrypt,@function) >+des_encrypt: >+ pushl %esi >+ pushl %edi >+ >+ /* Load the 2 words */ >+ movl 12(%esp), %esi >+ xorl %ecx, %ecx >+ pushl %ebx >+ pushl %ebp >+ movl (%esi), %eax >+ movl 28(%esp), %ebx >+ movl 4(%esi), %edi >+ >+ /* IP */ >+ roll $4, %eax >+ movl %eax, %esi >+ xorl %edi, %eax >+ andl $0xf0f0f0f0, %eax >+ xorl %eax, %esi >+ xorl %eax, %edi >+ >+ roll $20, %edi >+ movl %edi, %eax >+ xorl %esi, %edi >+ andl $0xfff0000f, %edi >+ xorl %edi, %eax >+ xorl %edi, %esi >+ >+ roll $14, %eax >+ movl %eax, %edi >+ xorl %esi, %eax >+ andl $0x33333333, %eax >+ xorl %eax, %edi >+ xorl %eax, %esi >+ >+ roll $22, %esi >+ movl %esi, %eax >+ xorl %edi, %esi >+ andl $0x03fc03fc, %esi >+ xorl %esi, %eax >+ xorl %esi, %edi >+ >+ roll $9, %eax >+ movl %eax, %esi >+ xorl %edi, %eax >+ andl $0xaaaaaaaa, %eax >+ xorl %eax, %esi >+ xorl %eax, %edi >+ >+.byte 209 >+.byte 199 /* roll $1 %edi */ >+ movl 24(%esp), %ebp >+ cmpl $0, %ebx >+ je .L000start_decrypt >+ >+ /* Round 0 */ >+ movl (%ebp), %eax >+ xorl %ebx, %ebx >+ movl 4(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 1 */ >+ movl 8(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 12(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 2 */ >+ movl 16(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 20(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 3 */ >+ movl 24(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 28(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 4 */ >+ movl 32(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 36(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 5 */ >+ movl 40(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 44(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 6 */ >+ movl 48(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 52(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 7 */ >+ movl 56(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 60(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 8 */ >+ movl 64(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 68(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 9 */ >+ movl 72(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 76(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 10 */ >+ movl 80(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 84(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 11 */ >+ movl 88(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 92(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 12 */ >+ movl 96(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 100(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 13 */ >+ movl 104(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 108(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 14 */ >+ movl 112(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 116(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 15 */ >+ movl 120(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 124(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ jmp .L001end >+.L000start_decrypt: >+ >+ /* Round 15 */ >+ movl 120(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 124(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 14 */ >+ movl 112(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 116(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 13 */ >+ movl 104(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 108(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 12 */ >+ movl 96(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 100(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 11 */ >+ movl 88(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 92(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 10 */ >+ movl 80(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 84(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 9 */ >+ movl 72(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 76(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 8 */ >+ movl 64(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 68(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 7 */ >+ movl 56(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 60(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 6 */ >+ movl 48(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 52(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 5 */ >+ movl 40(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 44(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 4 */ >+ movl 32(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 36(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 3 */ >+ movl 24(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 28(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 2 */ >+ movl 16(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 20(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 1 */ >+ movl 8(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 12(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 0 */ >+ movl (%ebp), %eax >+ xorl %ebx, %ebx >+ movl 4(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+.L001end: >+ >+ /* FP */ >+ movl 20(%esp), %edx >+.byte 209 >+.byte 206 /* rorl $1 %esi */ >+ movl %edi, %eax >+ xorl %esi, %edi >+ andl $0xaaaaaaaa, %edi >+ xorl %edi, %eax >+ xorl %edi, %esi >+ >+ roll $23, %eax >+ movl %eax, %edi >+ xorl %esi, %eax >+ andl $0x03fc03fc, %eax >+ xorl %eax, %edi >+ xorl %eax, %esi >+ >+ roll $10, %edi >+ movl %edi, %eax >+ xorl %esi, %edi >+ andl $0x33333333, %edi >+ xorl %edi, %eax >+ xorl %edi, %esi >+ >+ roll $18, %esi >+ movl %esi, %edi >+ xorl %eax, %esi >+ andl $0xfff0000f, %esi >+ xorl %esi, %edi >+ xorl %esi, %eax >+ >+ roll $12, %edi >+ movl %edi, %esi >+ xorl %eax, %edi >+ andl $0xf0f0f0f0, %edi >+ xorl %edi, %esi >+ xorl %edi, %eax >+ >+ rorl $4, %eax >+ movl %eax, (%edx) >+ movl %esi, 4(%edx) >+ popl %ebp >+ popl %ebx >+ popl %edi >+ popl %esi >+ ret >+.des_encrypt_end: >+ SIZE(des_encrypt,.des_encrypt_end-des_encrypt) >+.ident "desasm.pl" >+.text >+ .align ALIGN >+.globl des_encrypt2 >+ TYPE(des_encrypt2,@function) >+des_encrypt2: >+ pushl %esi >+ pushl %edi >+ >+ /* Load the 2 words */ >+ movl 12(%esp), %eax >+ xorl %ecx, %ecx >+ pushl %ebx >+ pushl %ebp >+ movl (%eax), %esi >+ movl 28(%esp), %ebx >+ roll $3, %esi >+ movl 4(%eax), %edi >+ roll $3, %edi >+ movl 24(%esp), %ebp >+ cmpl $0, %ebx >+ je .L002start_decrypt >+ >+ /* Round 0 */ >+ movl (%ebp), %eax >+ xorl %ebx, %ebx >+ movl 4(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 1 */ >+ movl 8(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 12(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 2 */ >+ movl 16(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 20(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 3 */ >+ movl 24(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 28(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 4 */ >+ movl 32(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 36(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 5 */ >+ movl 40(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 44(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 6 */ >+ movl 48(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 52(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 7 */ >+ movl 56(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 60(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 8 */ >+ movl 64(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 68(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 9 */ >+ movl 72(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 76(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 10 */ >+ movl 80(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 84(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 11 */ >+ movl 88(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 92(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 12 */ >+ movl 96(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 100(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 13 */ >+ movl 104(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 108(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 14 */ >+ movl 112(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 116(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 15 */ >+ movl 120(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 124(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ jmp .L003end >+.L002start_decrypt: >+ >+ /* Round 15 */ >+ movl 120(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 124(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 14 */ >+ movl 112(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 116(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 13 */ >+ movl 104(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 108(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 12 */ >+ movl 96(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 100(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 11 */ >+ movl 88(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 92(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 10 */ >+ movl 80(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 84(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 9 */ >+ movl 72(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 76(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 8 */ >+ movl 64(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 68(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 7 */ >+ movl 56(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 60(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 6 */ >+ movl 48(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 52(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 5 */ >+ movl 40(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 44(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 4 */ >+ movl 32(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 36(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 3 */ >+ movl 24(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 28(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 2 */ >+ movl 16(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 20(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 1 */ >+ movl 8(%ebp), %eax >+ xorl %ebx, %ebx >+ movl 12(%ebp), %edx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 0 */ >+ movl (%ebp), %eax >+ xorl %ebx, %ebx >+ movl 4(%ebp), %edx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ andl $0xfcfcfcfc, %eax >+ andl $0xcfcfcfcf, %edx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 24(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+.L003end: >+ >+ /* Fixup */ >+ rorl $3, %edi >+ movl 20(%esp), %eax >+ rorl $3, %esi >+ movl %edi, (%eax) >+ movl %esi, 4(%eax) >+ popl %ebp >+ popl %ebx >+ popl %edi >+ popl %esi >+ ret >+.des_encrypt2_end: >+ SIZE(des_encrypt2,.des_encrypt2_end-des_encrypt2) >+.ident "desasm.pl" >+.text >+ .align ALIGN >+.globl des_encrypt3 >+ TYPE(des_encrypt3,@function) >+des_encrypt3: >+ pushl %ebx >+ movl 8(%esp), %ebx >+ pushl %ebp >+ pushl %esi >+ pushl %edi >+ >+ /* Load the data words */ >+ movl (%ebx), %edi >+ movl 4(%ebx), %esi >+ subl $12, %esp >+ >+ /* IP */ >+ roll $4, %edi >+ movl %edi, %edx >+ xorl %esi, %edi >+ andl $0xf0f0f0f0, %edi >+ xorl %edi, %edx >+ xorl %edi, %esi >+ >+ roll $20, %esi >+ movl %esi, %edi >+ xorl %edx, %esi >+ andl $0xfff0000f, %esi >+ xorl %esi, %edi >+ xorl %esi, %edx >+ >+ roll $14, %edi >+ movl %edi, %esi >+ xorl %edx, %edi >+ andl $0x33333333, %edi >+ xorl %edi, %esi >+ xorl %edi, %edx >+ >+ roll $22, %edx >+ movl %edx, %edi >+ xorl %esi, %edx >+ andl $0x03fc03fc, %edx >+ xorl %edx, %edi >+ xorl %edx, %esi >+ >+ roll $9, %edi >+ movl %edi, %edx >+ xorl %esi, %edi >+ andl $0xaaaaaaaa, %edi >+ xorl %edi, %edx >+ xorl %edi, %esi >+ >+ rorl $3, %edx >+ rorl $2, %esi >+ movl %esi, 4(%ebx) >+ movl 36(%esp), %eax >+ movl %edx, (%ebx) >+ movl 40(%esp), %edi >+ movl 44(%esp), %esi >+ movl $1, 8(%esp) >+ movl %eax, 4(%esp) >+ movl %ebx, (%esp) >+ call des_encrypt2 >+ movl $0, 8(%esp) >+ movl %edi, 4(%esp) >+ movl %ebx, (%esp) >+ call des_encrypt2 >+ movl $1, 8(%esp) >+ movl %esi, 4(%esp) >+ movl %ebx, (%esp) >+ call des_encrypt2 >+ addl $12, %esp >+ movl (%ebx), %edi >+ movl 4(%ebx), %esi >+ >+ /* FP */ >+ roll $2, %esi >+ roll $3, %edi >+ movl %edi, %eax >+ xorl %esi, %edi >+ andl $0xaaaaaaaa, %edi >+ xorl %edi, %eax >+ xorl %edi, %esi >+ >+ roll $23, %eax >+ movl %eax, %edi >+ xorl %esi, %eax >+ andl $0x03fc03fc, %eax >+ xorl %eax, %edi >+ xorl %eax, %esi >+ >+ roll $10, %edi >+ movl %edi, %eax >+ xorl %esi, %edi >+ andl $0x33333333, %edi >+ xorl %edi, %eax >+ xorl %edi, %esi >+ >+ roll $18, %esi >+ movl %esi, %edi >+ xorl %eax, %esi >+ andl $0xfff0000f, %esi >+ xorl %esi, %edi >+ xorl %esi, %eax >+ >+ roll $12, %edi >+ movl %edi, %esi >+ xorl %eax, %edi >+ andl $0xf0f0f0f0, %edi >+ xorl %edi, %esi >+ xorl %edi, %eax >+ >+ rorl $4, %eax >+ movl %eax, (%ebx) >+ movl %esi, 4(%ebx) >+ popl %edi >+ popl %esi >+ popl %ebp >+ popl %ebx >+ ret >+.des_encrypt3_end: >+ SIZE(des_encrypt3,.des_encrypt3_end-des_encrypt3) >+.ident "desasm.pl" >+.text >+ .align ALIGN >+.globl des_decrypt3 >+ TYPE(des_decrypt3,@function) >+des_decrypt3: >+ pushl %ebx >+ movl 8(%esp), %ebx >+ pushl %ebp >+ pushl %esi >+ pushl %edi >+ >+ /* Load the data words */ >+ movl (%ebx), %edi >+ movl 4(%ebx), %esi >+ subl $12, %esp >+ >+ /* IP */ >+ roll $4, %edi >+ movl %edi, %edx >+ xorl %esi, %edi >+ andl $0xf0f0f0f0, %edi >+ xorl %edi, %edx >+ xorl %edi, %esi >+ >+ roll $20, %esi >+ movl %esi, %edi >+ xorl %edx, %esi >+ andl $0xfff0000f, %esi >+ xorl %esi, %edi >+ xorl %esi, %edx >+ >+ roll $14, %edi >+ movl %edi, %esi >+ xorl %edx, %edi >+ andl $0x33333333, %edi >+ xorl %edi, %esi >+ xorl %edi, %edx >+ >+ roll $22, %edx >+ movl %edx, %edi >+ xorl %esi, %edx >+ andl $0x03fc03fc, %edx >+ xorl %edx, %edi >+ xorl %edx, %esi >+ >+ roll $9, %edi >+ movl %edi, %edx >+ xorl %esi, %edi >+ andl $0xaaaaaaaa, %edi >+ xorl %edi, %edx >+ xorl %edi, %esi >+ >+ rorl $3, %edx >+ rorl $2, %esi >+ movl %esi, 4(%ebx) >+ movl 36(%esp), %esi >+ movl %edx, (%ebx) >+ movl 40(%esp), %edi >+ movl 44(%esp), %eax >+ movl $0, 8(%esp) >+ movl %eax, 4(%esp) >+ movl %ebx, (%esp) >+ call des_encrypt2 >+ movl $1, 8(%esp) >+ movl %edi, 4(%esp) >+ movl %ebx, (%esp) >+ call des_encrypt2 >+ movl $0, 8(%esp) >+ movl %esi, 4(%esp) >+ movl %ebx, (%esp) >+ call des_encrypt2 >+ addl $12, %esp >+ movl (%ebx), %edi >+ movl 4(%ebx), %esi >+ >+ /* FP */ >+ roll $2, %esi >+ roll $3, %edi >+ movl %edi, %eax >+ xorl %esi, %edi >+ andl $0xaaaaaaaa, %edi >+ xorl %edi, %eax >+ xorl %edi, %esi >+ >+ roll $23, %eax >+ movl %eax, %edi >+ xorl %esi, %eax >+ andl $0x03fc03fc, %eax >+ xorl %eax, %edi >+ xorl %eax, %esi >+ >+ roll $10, %edi >+ movl %edi, %eax >+ xorl %esi, %edi >+ andl $0x33333333, %edi >+ xorl %edi, %eax >+ xorl %edi, %esi >+ >+ roll $18, %esi >+ movl %esi, %edi >+ xorl %eax, %esi >+ andl $0xfff0000f, %esi >+ xorl %esi, %edi >+ xorl %esi, %eax >+ >+ roll $12, %edi >+ movl %edi, %esi >+ xorl %eax, %edi >+ andl $0xf0f0f0f0, %edi >+ xorl %edi, %esi >+ xorl %edi, %eax >+ >+ rorl $4, %eax >+ movl %eax, (%ebx) >+ movl %esi, 4(%ebx) >+ popl %edi >+ popl %esi >+ popl %ebp >+ popl %ebx >+ ret >+.des_decrypt3_end: >+ SIZE(des_decrypt3,.des_decrypt3_end-des_decrypt3) >+.ident "desasm.pl" >+.text >+ .align ALIGN >+.globl des_ncbc_encrypt >+ TYPE(des_ncbc_encrypt,@function) >+des_ncbc_encrypt: >+ >+ pushl %ebp >+ pushl %ebx >+ pushl %esi >+ pushl %edi >+ movl 28(%esp), %ebp >+ /* getting iv ptr from parameter 4 */ >+ movl 36(%esp), %ebx >+ movl (%ebx), %esi >+ movl 4(%ebx), %edi >+ pushl %edi >+ pushl %esi >+ pushl %edi >+ pushl %esi >+ movl %esp, %ebx >+ movl 36(%esp), %esi >+ movl 40(%esp), %edi >+ /* getting encrypt flag from parameter 5 */ >+ movl 56(%esp), %ecx >+ /* get and push parameter 5 */ >+ pushl %ecx >+ /* get and push parameter 3 */ >+ movl 52(%esp), %eax >+ pushl %eax >+ pushl %ebx >+ cmpl $0, %ecx >+ jz .L004decrypt >+ andl $4294967288, %ebp >+ movl 12(%esp), %eax >+ movl 16(%esp), %ebx >+ jz .L005encrypt_finish >+.L006encrypt_loop: >+ movl (%esi), %ecx >+ movl 4(%esi), %edx >+ xorl %ecx, %eax >+ xorl %edx, %ebx >+ movl %eax, 12(%esp) >+ movl %ebx, 16(%esp) >+ call des_encrypt >+ movl 12(%esp), %eax >+ movl 16(%esp), %ebx >+ movl %eax, (%edi) >+ movl %ebx, 4(%edi) >+ addl $8, %esi >+ addl $8, %edi >+ subl $8, %ebp >+ jnz .L006encrypt_loop >+.L005encrypt_finish: >+ movl 56(%esp), %ebp >+ andl $7, %ebp >+ jz .L007finish >+ xorl %ecx, %ecx >+ xorl %edx, %edx >+ movl .L008cbc_enc_jmp_table(,%ebp,4),%ebp >+ jmp *%ebp >+.L009ej7: >+ movb 6(%esi), %dh >+ sall $8, %edx >+.L010ej6: >+ movb 5(%esi), %dh >+.L011ej5: >+ movb 4(%esi), %dl >+.L012ej4: >+ movl (%esi), %ecx >+ jmp .L013ejend >+.L014ej3: >+ movb 2(%esi), %ch >+ sall $8, %ecx >+.L015ej2: >+ movb 1(%esi), %ch >+.L016ej1: >+ movb (%esi), %cl >+.L013ejend: >+ xorl %ecx, %eax >+ xorl %edx, %ebx >+ movl %eax, 12(%esp) >+ movl %ebx, 16(%esp) >+ call des_encrypt >+ movl 12(%esp), %eax >+ movl 16(%esp), %ebx >+ movl %eax, (%edi) >+ movl %ebx, 4(%edi) >+ jmp .L007finish >+.align ALIGN >+.L004decrypt: >+ andl $4294967288, %ebp >+ movl 20(%esp), %eax >+ movl 24(%esp), %ebx >+ jz .L017decrypt_finish >+.L018decrypt_loop: >+ movl (%esi), %eax >+ movl 4(%esi), %ebx >+ movl %eax, 12(%esp) >+ movl %ebx, 16(%esp) >+ call des_encrypt >+ movl 12(%esp), %eax >+ movl 16(%esp), %ebx >+ movl 20(%esp), %ecx >+ movl 24(%esp), %edx >+ xorl %eax, %ecx >+ xorl %ebx, %edx >+ movl (%esi), %eax >+ movl 4(%esi), %ebx >+ movl %ecx, (%edi) >+ movl %edx, 4(%edi) >+ movl %eax, 20(%esp) >+ movl %ebx, 24(%esp) >+ addl $8, %esi >+ addl $8, %edi >+ subl $8, %ebp >+ jnz .L018decrypt_loop >+.L017decrypt_finish: >+ movl 56(%esp), %ebp >+ andl $7, %ebp >+ jz .L007finish >+ movl (%esi), %eax >+ movl 4(%esi), %ebx >+ movl %eax, 12(%esp) >+ movl %ebx, 16(%esp) >+ call des_encrypt >+ movl 12(%esp), %eax >+ movl 16(%esp), %ebx >+ movl 20(%esp), %ecx >+ movl 24(%esp), %edx >+ xorl %eax, %ecx >+ xorl %ebx, %edx >+ movl (%esi), %eax >+ movl 4(%esi), %ebx >+.L019dj7: >+ rorl $16, %edx >+ movb %dl, 6(%edi) >+ shrl $16, %edx >+.L020dj6: >+ movb %dh, 5(%edi) >+.L021dj5: >+ movb %dl, 4(%edi) >+.L022dj4: >+ movl %ecx, (%edi) >+ jmp .L023djend >+.L024dj3: >+ rorl $16, %ecx >+ movb %cl, 2(%edi) >+ sall $16, %ecx >+.L025dj2: >+ movb %ch, 1(%esi) >+.L026dj1: >+ movb %cl, (%esi) >+.L023djend: >+ jmp .L007finish >+.align ALIGN >+.L007finish: >+ movl 64(%esp), %ecx >+ addl $28, %esp >+ movl %eax, (%ecx) >+ movl %ebx, 4(%ecx) >+ popl %edi >+ popl %esi >+ popl %ebx >+ popl %ebp >+ ret >+.align ALIGN >+.L008cbc_enc_jmp_table: >+ .long 0 >+ .long .L016ej1 >+ .long .L015ej2 >+ .long .L014ej3 >+ .long .L012ej4 >+ .long .L011ej5 >+ .long .L010ej6 >+ .long .L009ej7 >+.align ALIGN >+.L027cbc_dec_jmp_table: >+ .long 0 >+ .long .L026dj1 >+ .long .L025dj2 >+ .long .L024dj3 >+ .long .L022dj4 >+ .long .L021dj5 >+ .long .L020dj6 >+ .long .L019dj7 >+.des_ncbc_encrypt_end: >+ SIZE(des_ncbc_encrypt,.des_ncbc_encrypt_end-des_ncbc_encrypt) >+.ident "desasm.pl" >+.text >+ .align ALIGN >+.globl des_ede3_cbc_encrypt >+ TYPE(des_ede3_cbc_encrypt,@function) >+des_ede3_cbc_encrypt: >+ >+ pushl %ebp >+ pushl %ebx >+ pushl %esi >+ pushl %edi >+ movl 28(%esp), %ebp >+ /* getting iv ptr from parameter 6 */ >+ movl 44(%esp), %ebx >+ movl (%ebx), %esi >+ movl 4(%ebx), %edi >+ pushl %edi >+ pushl %esi >+ pushl %edi >+ pushl %esi >+ movl %esp, %ebx >+ movl 36(%esp), %esi >+ movl 40(%esp), %edi >+ /* getting encrypt flag from parameter 7 */ >+ movl 64(%esp), %ecx >+ /* get and push parameter 5 */ >+ movl 56(%esp), %eax >+ pushl %eax >+ /* get and push parameter 4 */ >+ movl 56(%esp), %eax >+ pushl %eax >+ /* get and push parameter 3 */ >+ movl 56(%esp), %eax >+ pushl %eax >+ pushl %ebx >+ cmpl $0, %ecx >+ jz .L028decrypt >+ andl $4294967288, %ebp >+ movl 16(%esp), %eax >+ movl 20(%esp), %ebx >+ jz .L029encrypt_finish >+.L030encrypt_loop: >+ movl (%esi), %ecx >+ movl 4(%esi), %edx >+ xorl %ecx, %eax >+ xorl %edx, %ebx >+ movl %eax, 16(%esp) >+ movl %ebx, 20(%esp) >+ call des_encrypt3 >+ movl 16(%esp), %eax >+ movl 20(%esp), %ebx >+ movl %eax, (%edi) >+ movl %ebx, 4(%edi) >+ addl $8, %esi >+ addl $8, %edi >+ subl $8, %ebp >+ jnz .L030encrypt_loop >+.L029encrypt_finish: >+ movl 60(%esp), %ebp >+ andl $7, %ebp >+ jz .L031finish >+ xorl %ecx, %ecx >+ xorl %edx, %edx >+ movl .L032cbc_enc_jmp_table(,%ebp,4),%ebp >+ jmp *%ebp >+.L033ej7: >+ movb 6(%esi), %dh >+ sall $8, %edx >+.L034ej6: >+ movb 5(%esi), %dh >+.L035ej5: >+ movb 4(%esi), %dl >+.L036ej4: >+ movl (%esi), %ecx >+ jmp .L037ejend >+.L038ej3: >+ movb 2(%esi), %ch >+ sall $8, %ecx >+.L039ej2: >+ movb 1(%esi), %ch >+.L040ej1: >+ movb (%esi), %cl >+.L037ejend: >+ xorl %ecx, %eax >+ xorl %edx, %ebx >+ movl %eax, 16(%esp) >+ movl %ebx, 20(%esp) >+ call des_encrypt3 >+ movl 16(%esp), %eax >+ movl 20(%esp), %ebx >+ movl %eax, (%edi) >+ movl %ebx, 4(%edi) >+ jmp .L031finish >+.align ALIGN >+.L028decrypt: >+ andl $4294967288, %ebp >+ movl 24(%esp), %eax >+ movl 28(%esp), %ebx >+ jz .L041decrypt_finish >+.L042decrypt_loop: >+ movl (%esi), %eax >+ movl 4(%esi), %ebx >+ movl %eax, 16(%esp) >+ movl %ebx, 20(%esp) >+ call des_decrypt3 >+ movl 16(%esp), %eax >+ movl 20(%esp), %ebx >+ movl 24(%esp), %ecx >+ movl 28(%esp), %edx >+ xorl %eax, %ecx >+ xorl %ebx, %edx >+ movl (%esi), %eax >+ movl 4(%esi), %ebx >+ movl %ecx, (%edi) >+ movl %edx, 4(%edi) >+ movl %eax, 24(%esp) >+ movl %ebx, 28(%esp) >+ addl $8, %esi >+ addl $8, %edi >+ subl $8, %ebp >+ jnz .L042decrypt_loop >+.L041decrypt_finish: >+ movl 60(%esp), %ebp >+ andl $7, %ebp >+ jz .L031finish >+ movl (%esi), %eax >+ movl 4(%esi), %ebx >+ movl %eax, 16(%esp) >+ movl %ebx, 20(%esp) >+ call des_decrypt3 >+ movl 16(%esp), %eax >+ movl 20(%esp), %ebx >+ movl 24(%esp), %ecx >+ movl 28(%esp), %edx >+ xorl %eax, %ecx >+ xorl %ebx, %edx >+ movl (%esi), %eax >+ movl 4(%esi), %ebx >+.L043dj7: >+ rorl $16, %edx >+ movb %dl, 6(%edi) >+ shrl $16, %edx >+.L044dj6: >+ movb %dh, 5(%edi) >+.L045dj5: >+ movb %dl, 4(%edi) >+.L046dj4: >+ movl %ecx, (%edi) >+ jmp .L047djend >+.L048dj3: >+ rorl $16, %ecx >+ movb %cl, 2(%edi) >+ sall $16, %ecx >+.L049dj2: >+ movb %ch, 1(%esi) >+.L050dj1: >+ movb %cl, (%esi) >+.L047djend: >+ jmp .L031finish >+.align ALIGN >+.L031finish: >+ movl 76(%esp), %ecx >+ addl $32, %esp >+ movl %eax, (%ecx) >+ movl %ebx, 4(%ecx) >+ popl %edi >+ popl %esi >+ popl %ebx >+ popl %ebp >+ ret >+.align ALIGN >+.L032cbc_enc_jmp_table: >+ .long 0 >+ .long .L040ej1 >+ .long .L039ej2 >+ .long .L038ej3 >+ .long .L036ej4 >+ .long .L035ej5 >+ .long .L034ej6 >+ .long .L033ej7 >+.align ALIGN >+.L051cbc_dec_jmp_table: >+ .long 0 >+ .long .L050dj1 >+ .long .L049dj2 >+ .long .L048dj3 >+ .long .L046dj4 >+ .long .L045dj5 >+ .long .L044dj6 >+ .long .L043dj7 >+.des_ede3_cbc_encrypt_end: >+ SIZE(des_ede3_cbc_encrypt,.des_ede3_cbc_encrypt_end-des_ede3_cbc_encrypt) >+.ident "desasm.pl" >diff -urN linux-2.4.20-gentoo-r2/net/ipsec/libdes/asm/yx86unix.S linux-2.4.20-gentoo-r2-fixed/net/ipsec/libdes/asm/yx86unix.S >--- linux-2.4.20-gentoo-r2/net/ipsec/libdes/asm/yx86unix.S 1969-12-31 19:00:00.000000000 -0500 >+++ linux-2.4.20-gentoo-r2-fixed/net/ipsec/libdes/asm/yx86unix.S 2003-03-21 15:54:10.000000000 -0500 >@@ -0,0 +1,972 @@ >+/* Run the C pre-processor over this file with one of the following defined >+ * ELF - elf object files, >+ * OUT - a.out object files, >+ * BSDI - BSDI style a.out object files >+ * SOL - Solaris style elf >+ */ >+ >+#define TYPE(a,b) .type a,b >+#define SIZE(a,b) .size a,b >+ >+#if defined(OUT) || defined(BSDI) >+#define des_SPtrans _des_SPtrans >+ >+#endif >+ >+#ifdef OUT >+#define OK 1 >+#define ALIGN 4 >+#endif >+ >+#ifdef BSDI >+#define OK 1 >+#define ALIGN 4 >+#undef SIZE >+#undef TYPE >+#endif >+ >+#if defined(ELF) || defined(SOL) >+#define OK 1 >+#define ALIGN 16 >+#endif >+ >+#ifndef OK >+You need to define one of >+ELF - elf systems - linux-elf, NetBSD and DG-UX >+OUT - a.out systems - linux-a.out and FreeBSD >+SOL - solaris systems, which are elf with strange comment lines >+BSDI - a.out with a very primative version of as. >+#endif >+ >+/* Let the Assembler begin :-) */ >+ /* Don't even think of reading this code */ >+ /* It was automatically generated by crypt586.pl */ >+ /* Which is a perl program used to generate the x86 assember for */ >+ /* any of elf, a.out, BSDI,Win32, or Solaris */ >+ /* eric <eay@cryptsoft.com> */ >+ >+ .file "crypt586.s" >+ .version "01.01" >+.text >+ .align ALIGN >+.globl fcrypt_body >+ TYPE(fcrypt_body,@function) >+fcrypt_body: >+ pushl %ebp >+ pushl %ebx >+ pushl %esi >+ pushl %edi >+ >+ >+ /* Load the 2 words */ >+ xorl %edi, %edi >+ xorl %esi, %esi >+ movl 24(%esp), %ebp >+ pushl $25 >+.L000start: >+ >+ /* Round 0 */ >+ movl 32(%esp), %eax >+ movl %esi, %edx >+ shrl $16, %edx >+ movl 36(%esp), %ecx >+ xorl %esi, %edx >+ andl %edx, %eax >+ andl %ecx, %edx >+ movl %eax, %ebx >+ sall $16, %ebx >+ movl %edx, %ecx >+ sall $16, %ecx >+ xorl %ebx, %eax >+ xorl %ecx, %edx >+ movl (%ebp), %ebx >+ xorl %ebx, %eax >+ movl 4(%ebp), %ecx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ xorl %ecx, %edx >+ andl $0xfcfcfcfc, %eax >+ xorl %ebx, %ebx >+ andl $0xcfcfcfcf, %edx >+ xorl %ecx, %ecx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 28(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 1 */ >+ movl 32(%esp), %eax >+ movl %edi, %edx >+ shrl $16, %edx >+ movl 36(%esp), %ecx >+ xorl %edi, %edx >+ andl %edx, %eax >+ andl %ecx, %edx >+ movl %eax, %ebx >+ sall $16, %ebx >+ movl %edx, %ecx >+ sall $16, %ecx >+ xorl %ebx, %eax >+ xorl %ecx, %edx >+ movl 8(%ebp), %ebx >+ xorl %ebx, %eax >+ movl 12(%ebp), %ecx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ xorl %ecx, %edx >+ andl $0xfcfcfcfc, %eax >+ xorl %ebx, %ebx >+ andl $0xcfcfcfcf, %edx >+ xorl %ecx, %ecx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 28(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 2 */ >+ movl 32(%esp), %eax >+ movl %esi, %edx >+ shrl $16, %edx >+ movl 36(%esp), %ecx >+ xorl %esi, %edx >+ andl %edx, %eax >+ andl %ecx, %edx >+ movl %eax, %ebx >+ sall $16, %ebx >+ movl %edx, %ecx >+ sall $16, %ecx >+ xorl %ebx, %eax >+ xorl %ecx, %edx >+ movl 16(%ebp), %ebx >+ xorl %ebx, %eax >+ movl 20(%ebp), %ecx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ xorl %ecx, %edx >+ andl $0xfcfcfcfc, %eax >+ xorl %ebx, %ebx >+ andl $0xcfcfcfcf, %edx >+ xorl %ecx, %ecx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 28(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 3 */ >+ movl 32(%esp), %eax >+ movl %edi, %edx >+ shrl $16, %edx >+ movl 36(%esp), %ecx >+ xorl %edi, %edx >+ andl %edx, %eax >+ andl %ecx, %edx >+ movl %eax, %ebx >+ sall $16, %ebx >+ movl %edx, %ecx >+ sall $16, %ecx >+ xorl %ebx, %eax >+ xorl %ecx, %edx >+ movl 24(%ebp), %ebx >+ xorl %ebx, %eax >+ movl 28(%ebp), %ecx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ xorl %ecx, %edx >+ andl $0xfcfcfcfc, %eax >+ xorl %ebx, %ebx >+ andl $0xcfcfcfcf, %edx >+ xorl %ecx, %ecx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 28(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 4 */ >+ movl 32(%esp), %eax >+ movl %esi, %edx >+ shrl $16, %edx >+ movl 36(%esp), %ecx >+ xorl %esi, %edx >+ andl %edx, %eax >+ andl %ecx, %edx >+ movl %eax, %ebx >+ sall $16, %ebx >+ movl %edx, %ecx >+ sall $16, %ecx >+ xorl %ebx, %eax >+ xorl %ecx, %edx >+ movl 32(%ebp), %ebx >+ xorl %ebx, %eax >+ movl 36(%ebp), %ecx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ xorl %ecx, %edx >+ andl $0xfcfcfcfc, %eax >+ xorl %ebx, %ebx >+ andl $0xcfcfcfcf, %edx >+ xorl %ecx, %ecx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 28(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 5 */ >+ movl 32(%esp), %eax >+ movl %edi, %edx >+ shrl $16, %edx >+ movl 36(%esp), %ecx >+ xorl %edi, %edx >+ andl %edx, %eax >+ andl %ecx, %edx >+ movl %eax, %ebx >+ sall $16, %ebx >+ movl %edx, %ecx >+ sall $16, %ecx >+ xorl %ebx, %eax >+ xorl %ecx, %edx >+ movl 40(%ebp), %ebx >+ xorl %ebx, %eax >+ movl 44(%ebp), %ecx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ xorl %ecx, %edx >+ andl $0xfcfcfcfc, %eax >+ xorl %ebx, %ebx >+ andl $0xcfcfcfcf, %edx >+ xorl %ecx, %ecx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 28(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 6 */ >+ movl 32(%esp), %eax >+ movl %esi, %edx >+ shrl $16, %edx >+ movl 36(%esp), %ecx >+ xorl %esi, %edx >+ andl %edx, %eax >+ andl %ecx, %edx >+ movl %eax, %ebx >+ sall $16, %ebx >+ movl %edx, %ecx >+ sall $16, %ecx >+ xorl %ebx, %eax >+ xorl %ecx, %edx >+ movl 48(%ebp), %ebx >+ xorl %ebx, %eax >+ movl 52(%ebp), %ecx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ xorl %ecx, %edx >+ andl $0xfcfcfcfc, %eax >+ xorl %ebx, %ebx >+ andl $0xcfcfcfcf, %edx >+ xorl %ecx, %ecx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 28(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 7 */ >+ movl 32(%esp), %eax >+ movl %edi, %edx >+ shrl $16, %edx >+ movl 36(%esp), %ecx >+ xorl %edi, %edx >+ andl %edx, %eax >+ andl %ecx, %edx >+ movl %eax, %ebx >+ sall $16, %ebx >+ movl %edx, %ecx >+ sall $16, %ecx >+ xorl %ebx, %eax >+ xorl %ecx, %edx >+ movl 56(%ebp), %ebx >+ xorl %ebx, %eax >+ movl 60(%ebp), %ecx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ xorl %ecx, %edx >+ andl $0xfcfcfcfc, %eax >+ xorl %ebx, %ebx >+ andl $0xcfcfcfcf, %edx >+ xorl %ecx, %ecx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 28(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 8 */ >+ movl 32(%esp), %eax >+ movl %esi, %edx >+ shrl $16, %edx >+ movl 36(%esp), %ecx >+ xorl %esi, %edx >+ andl %edx, %eax >+ andl %ecx, %edx >+ movl %eax, %ebx >+ sall $16, %ebx >+ movl %edx, %ecx >+ sall $16, %ecx >+ xorl %ebx, %eax >+ xorl %ecx, %edx >+ movl 64(%ebp), %ebx >+ xorl %ebx, %eax >+ movl 68(%ebp), %ecx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ xorl %ecx, %edx >+ andl $0xfcfcfcfc, %eax >+ xorl %ebx, %ebx >+ andl $0xcfcfcfcf, %edx >+ xorl %ecx, %ecx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 28(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 9 */ >+ movl 32(%esp), %eax >+ movl %edi, %edx >+ shrl $16, %edx >+ movl 36(%esp), %ecx >+ xorl %edi, %edx >+ andl %edx, %eax >+ andl %ecx, %edx >+ movl %eax, %ebx >+ sall $16, %ebx >+ movl %edx, %ecx >+ sall $16, %ecx >+ xorl %ebx, %eax >+ xorl %ecx, %edx >+ movl 72(%ebp), %ebx >+ xorl %ebx, %eax >+ movl 76(%ebp), %ecx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ xorl %ecx, %edx >+ andl $0xfcfcfcfc, %eax >+ xorl %ebx, %ebx >+ andl $0xcfcfcfcf, %edx >+ xorl %ecx, %ecx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 28(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 10 */ >+ movl 32(%esp), %eax >+ movl %esi, %edx >+ shrl $16, %edx >+ movl 36(%esp), %ecx >+ xorl %esi, %edx >+ andl %edx, %eax >+ andl %ecx, %edx >+ movl %eax, %ebx >+ sall $16, %ebx >+ movl %edx, %ecx >+ sall $16, %ecx >+ xorl %ebx, %eax >+ xorl %ecx, %edx >+ movl 80(%ebp), %ebx >+ xorl %ebx, %eax >+ movl 84(%ebp), %ecx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ xorl %ecx, %edx >+ andl $0xfcfcfcfc, %eax >+ xorl %ebx, %ebx >+ andl $0xcfcfcfcf, %edx >+ xorl %ecx, %ecx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 28(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 11 */ >+ movl 32(%esp), %eax >+ movl %edi, %edx >+ shrl $16, %edx >+ movl 36(%esp), %ecx >+ xorl %edi, %edx >+ andl %edx, %eax >+ andl %ecx, %edx >+ movl %eax, %ebx >+ sall $16, %ebx >+ movl %edx, %ecx >+ sall $16, %ecx >+ xorl %ebx, %eax >+ xorl %ecx, %edx >+ movl 88(%ebp), %ebx >+ xorl %ebx, %eax >+ movl 92(%ebp), %ecx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ xorl %ecx, %edx >+ andl $0xfcfcfcfc, %eax >+ xorl %ebx, %ebx >+ andl $0xcfcfcfcf, %edx >+ xorl %ecx, %ecx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 28(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 12 */ >+ movl 32(%esp), %eax >+ movl %esi, %edx >+ shrl $16, %edx >+ movl 36(%esp), %ecx >+ xorl %esi, %edx >+ andl %edx, %eax >+ andl %ecx, %edx >+ movl %eax, %ebx >+ sall $16, %ebx >+ movl %edx, %ecx >+ sall $16, %ecx >+ xorl %ebx, %eax >+ xorl %ecx, %edx >+ movl 96(%ebp), %ebx >+ xorl %ebx, %eax >+ movl 100(%ebp), %ecx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ xorl %ecx, %edx >+ andl $0xfcfcfcfc, %eax >+ xorl %ebx, %ebx >+ andl $0xcfcfcfcf, %edx >+ xorl %ecx, %ecx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 28(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 13 */ >+ movl 32(%esp), %eax >+ movl %edi, %edx >+ shrl $16, %edx >+ movl 36(%esp), %ecx >+ xorl %edi, %edx >+ andl %edx, %eax >+ andl %ecx, %edx >+ movl %eax, %ebx >+ sall $16, %ebx >+ movl %edx, %ecx >+ sall $16, %ecx >+ xorl %ebx, %eax >+ xorl %ecx, %edx >+ movl 104(%ebp), %ebx >+ xorl %ebx, %eax >+ movl 108(%ebp), %ecx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ xorl %ecx, %edx >+ andl $0xfcfcfcfc, %eax >+ xorl %ebx, %ebx >+ andl $0xcfcfcfcf, %edx >+ xorl %ecx, %ecx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 28(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ >+ /* Round 14 */ >+ movl 32(%esp), %eax >+ movl %esi, %edx >+ shrl $16, %edx >+ movl 36(%esp), %ecx >+ xorl %esi, %edx >+ andl %edx, %eax >+ andl %ecx, %edx >+ movl %eax, %ebx >+ sall $16, %ebx >+ movl %edx, %ecx >+ sall $16, %ecx >+ xorl %ebx, %eax >+ xorl %ecx, %edx >+ movl 112(%ebp), %ebx >+ xorl %ebx, %eax >+ movl 116(%ebp), %ecx >+ xorl %esi, %eax >+ xorl %esi, %edx >+ xorl %ecx, %edx >+ andl $0xfcfcfcfc, %eax >+ xorl %ebx, %ebx >+ andl $0xcfcfcfcf, %edx >+ xorl %ecx, %ecx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %edi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %edi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %edi >+ movl 28(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %edi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %edi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %edi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %edi >+ >+ /* Round 15 */ >+ movl 32(%esp), %eax >+ movl %edi, %edx >+ shrl $16, %edx >+ movl 36(%esp), %ecx >+ xorl %edi, %edx >+ andl %edx, %eax >+ andl %ecx, %edx >+ movl %eax, %ebx >+ sall $16, %ebx >+ movl %edx, %ecx >+ sall $16, %ecx >+ xorl %ebx, %eax >+ xorl %ecx, %edx >+ movl 120(%ebp), %ebx >+ xorl %ebx, %eax >+ movl 124(%ebp), %ecx >+ xorl %edi, %eax >+ xorl %edi, %edx >+ xorl %ecx, %edx >+ andl $0xfcfcfcfc, %eax >+ xorl %ebx, %ebx >+ andl $0xcfcfcfcf, %edx >+ xorl %ecx, %ecx >+ movb %al, %bl >+ movb %ah, %cl >+ rorl $4, %edx >+ movl des_SPtrans(%ebx),%ebp >+ movb %dl, %bl >+ xorl %ebp, %esi >+ movl 0x200+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movb %dh, %cl >+ shrl $16, %eax >+ movl 0x100+des_SPtrans(%ebx),%ebp >+ xorl %ebp, %esi >+ movb %ah, %bl >+ shrl $16, %edx >+ movl 0x300+des_SPtrans(%ecx),%ebp >+ xorl %ebp, %esi >+ movl 28(%esp), %ebp >+ movb %dh, %cl >+ andl $0xff, %eax >+ andl $0xff, %edx >+ movl 0x600+des_SPtrans(%ebx),%ebx >+ xorl %ebx, %esi >+ movl 0x700+des_SPtrans(%ecx),%ebx >+ xorl %ebx, %esi >+ movl 0x400+des_SPtrans(%eax),%ebx >+ xorl %ebx, %esi >+ movl 0x500+des_SPtrans(%edx),%ebx >+ xorl %ebx, %esi >+ movl (%esp), %ebx >+ movl %edi, %eax >+ decl %ebx >+ movl %esi, %edi >+ movl %eax, %esi >+ movl %ebx, (%esp) >+ jnz .L000start >+ >+ /* FP */ >+ movl 24(%esp), %edx >+.byte 209 >+.byte 207 /* rorl $1 %edi */ >+ movl %esi, %eax >+ xorl %edi, %esi >+ andl $0xaaaaaaaa, %esi >+ xorl %esi, %eax >+ xorl %esi, %edi >+ >+ roll $23, %eax >+ movl %eax, %esi >+ xorl %edi, %eax >+ andl $0x03fc03fc, %eax >+ xorl %eax, %esi >+ xorl %eax, %edi >+ >+ roll $10, %esi >+ movl %esi, %eax >+ xorl %edi, %esi >+ andl $0x33333333, %esi >+ xorl %esi, %eax >+ xorl %esi, %edi >+ >+ roll $18, %edi >+ movl %edi, %esi >+ xorl %eax, %edi >+ andl $0xfff0000f, %edi >+ xorl %edi, %esi >+ xorl %edi, %eax >+ >+ roll $12, %esi >+ movl %esi, %edi >+ xorl %eax, %esi >+ andl $0xf0f0f0f0, %esi >+ xorl %esi, %edi >+ xorl %esi, %eax >+ >+ rorl $4, %eax >+ movl %eax, (%edx) >+ movl %edi, 4(%edx) >+ popl %ecx >+ popl %edi >+ popl %esi >+ popl %ebx >+ popl %ebp >+ ret >+.fcrypt_body_end: >+ SIZE(fcrypt_body,.fcrypt_body_end-fcrypt_body) >+.ident "fcrypt_body" >diff -urN linux-2.4.20-gentoo-r2/net/ipsec/libfreeswan/version.c linux-2.4.20-gentoo-r2-fixed/net/ipsec/libfreeswan/version.c >--- linux-2.4.20-gentoo-r2/net/ipsec/libfreeswan/version.c 1969-12-31 19:00:00.000000000 -0500 >+++ linux-2.4.20-gentoo-r2-fixed/net/ipsec/libfreeswan/version.c 2003-03-21 15:54:43.000000000 -0500 >@@ -0,0 +1,40 @@ >+/* >+ * return IPsec version information >+ * Copyright (C) 2001 Henry Spencer. >+ * >+ * This library is free software; you can redistribute it and/or modify it >+ * under the terms of the GNU Library General Public License as published by >+ * the Free Software Foundation; either version 2 of the License, or (at your >+ * option) any later version. See <http://www.fsf.org/copyleft/lgpl.txt>. >+ * >+ * This library is distributed in the hope that it will be useful, but >+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY >+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public >+ * License for more details. >+ * >+ * RCSID $Id: version.in.c,v 1.1.1.1 2002/09/05 03:13:20 ken Exp $ >+ */ >+#include "internal.h" >+#include "freeswan.h" >+ >+#define V "super-freeswan-1.99_kb3" /* substituted in by Makefile */ >+static const char freeswan_number[] = V; >+static const char freeswan_string[] = "Linux FreeS/WAN " V; >+ >+/* >+ - ipsec_version_code - return IPsec version number/code, as string >+ */ >+const char * >+ipsec_version_code() >+{ >+ return freeswan_number; >+} >+ >+/* >+ - ipsec_version_string - return full version string >+ */ >+const char * >+ipsec_version_string() >+{ >+ return freeswan_string; >+} >Files linux-2.4.20-gentoo-r2/scripts/makeproconfigdata and linux-2.4.20-gentoo-r2-fixed/scripts/makeproconfigdata differ
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 18446
:
9995
|
9996
|
11985