des-586.s (95967) | des-586.s (127326) |
---|---|
1 # $FreeBSD: head/secure/lib/libcrypto/i386/des-586.s 95967 2002-05-03 00:14:39Z peter $ 2 # Dont even think of reading this code 3 # It was automatically generated by des-586.pl 4 # Which is a perl program used to generate the x86 assember for 5 # any of elf, a.out, BSDI, Win32, gaswin (for GNU as on Win32) or Solaris 6 # eric <eay@cryptsoft.com> | 1 # $FreeBSD: head/secure/lib/libcrypto/i386/des-586.s 127326 2004-03-23 08:32:29Z markm $ |
7 | 2 |
3 4 5 6 7 |
|
8 .file "des-586.s" 9 .version "01.01" 10gcc2_compiled.: 11.text 12 .align 16 | 8 .file "des-586.s" 9 .version "01.01" 10gcc2_compiled.: 11.text 12 .align 16 |
13.globl des_encrypt1 14 .type des_encrypt1,@function 15des_encrypt1: | 13.globl DES_encrypt1 14 .type DES_encrypt1,@function 15DES_encrypt1: |
16 pushl %esi 17 pushl %edi 18 | 16 pushl %esi 17 pushl %edi 18 |
19 # Load the 2 words | 19 |
20 movl 12(%esp), %esi 21 xorl %ecx, %ecx 22 pushl %ebx 23 pushl %ebp 24 movl (%esi), %eax 25 movl 28(%esp), %ebx 26 movl 4(%esi), %edi 27 | 20 movl 12(%esp), %esi 21 xorl %ecx, %ecx 22 pushl %ebx 23 pushl %ebp 24 movl (%esi), %eax 25 movl 28(%esp), %ebx 26 movl 4(%esi), %edi 27 |
28 # IP | 28 |
29 roll $4, %eax 30 movl %eax, %esi 31 xorl %edi, %eax 32 andl $0xf0f0f0f0, %eax 33 xorl %eax, %esi 34 xorl %eax, %edi 35 36 roll $20, %edi --- 20 unchanged lines hidden (view full) --- 57 roll $9, %eax 58 movl %eax, %esi 59 xorl %edi, %eax 60 andl $0xaaaaaaaa, %eax 61 xorl %eax, %esi 62 xorl %eax, %edi 63 64.byte 209 | 29 roll $4, %eax 30 movl %eax, %esi 31 xorl %edi, %eax 32 andl $0xf0f0f0f0, %eax 33 xorl %eax, %esi 34 xorl %eax, %edi 35 36 roll $20, %edi --- 20 unchanged lines hidden (view full) --- 57 roll $9, %eax 58 movl %eax, %esi 59 xorl %edi, %eax 60 andl $0xaaaaaaaa, %eax 61 xorl %eax, %esi 62 xorl %eax, %edi 63 64.byte 209 |
65.byte 199 # roll $1 %edi 66 movl 24(%esp), %ebp | 65.byte 199 66 leal DES_SPtrans, %ebp 67 movl 24(%esp), %ecx |
67 cmpl $0, %ebx 68 je .L000start_decrypt 69 | 68 cmpl $0, %ebx 69 je .L000start_decrypt 70 |
70 # Round 0 71 movl (%ebp), %eax | 71 72 movl (%ecx), %eax |
72 xorl %ebx, %ebx | 73 xorl %ebx, %ebx |
73 movl 4(%ebp), %edx | 74 movl 4(%ecx), %edx |
74 xorl %esi, %eax | 75 xorl %esi, %eax |
76 xorl %ecx, %ecx |
|
75 xorl %esi, %edx 76 andl $0xfcfcfcfc, %eax 77 andl $0xcfcfcfcf, %edx 78 movb %al, %bl 79 movb %ah, %cl 80 rorl $4, %edx | 77 xorl %esi, %edx 78 andl $0xfcfcfcfc, %eax 79 andl $0xcfcfcfcf, %edx 80 movb %al, %bl 81 movb %ah, %cl 82 rorl $4, %edx |
81 movl des_SPtrans(%ebx),%ebp | 83 xorl (%ebp,%ebx),%edi |
82 movb %dl, %bl | 84 movb %dl, %bl |
83 xorl %ebp, %edi 84 movl 0x200+des_SPtrans(%ecx),%ebp 85 xorl %ebp, %edi | 85 xorl 0x200(%ebp,%ecx),%edi |
86 movb %dh, %cl 87 shrl $16, %eax | 86 movb %dh, %cl 87 shrl $16, %eax |
88 movl 0x100+des_SPtrans(%ebx),%ebp 89 xorl %ebp, %edi | 88 xorl 0x100(%ebp,%ebx),%edi |
90 movb %ah, %bl 91 shrl $16, %edx | 89 movb %ah, %bl 90 shrl $16, %edx |
92 movl 0x300+des_SPtrans(%ecx),%ebp 93 xorl %ebp, %edi 94 movl 24(%esp), %ebp | 91 xorl 0x300(%ebp,%ecx),%edi |
95 movb %dh, %cl 96 andl $0xff, %eax 97 andl $0xff, %edx | 92 movb %dh, %cl 93 andl $0xff, %eax 94 andl $0xff, %edx |
98 movl 0x600+des_SPtrans(%ebx),%ebx 99 xorl %ebx, %edi 100 movl 0x700+des_SPtrans(%ecx),%ebx 101 xorl %ebx, %edi 102 movl 0x400+des_SPtrans(%eax),%ebx 103 xorl %ebx, %edi 104 movl 0x500+des_SPtrans(%edx),%ebx 105 xorl %ebx, %edi | 95 xorl 0x600(%ebp,%ebx),%edi 96 xorl 0x700(%ebp,%ecx),%edi 97 movl 24(%esp), %ecx 98 xorl 0x400(%ebp,%eax),%edi 99 xorl 0x500(%ebp,%edx),%edi |
106 | 100 |
107 # Round 1 108 movl 8(%ebp), %eax | 101 102 movl 8(%ecx), %eax |
109 xorl %ebx, %ebx | 103 xorl %ebx, %ebx |
110 movl 12(%ebp), %edx | 104 movl 12(%ecx), %edx |
111 xorl %edi, %eax | 105 xorl %edi, %eax |
106 xorl %ecx, %ecx |
|
112 xorl %edi, %edx 113 andl $0xfcfcfcfc, %eax 114 andl $0xcfcfcfcf, %edx 115 movb %al, %bl 116 movb %ah, %cl 117 rorl $4, %edx | 107 xorl %edi, %edx 108 andl $0xfcfcfcfc, %eax 109 andl $0xcfcfcfcf, %edx 110 movb %al, %bl 111 movb %ah, %cl 112 rorl $4, %edx |
118 movl des_SPtrans(%ebx),%ebp | 113 xorl (%ebp,%ebx),%esi |
119 movb %dl, %bl | 114 movb %dl, %bl |
120 xorl %ebp, %esi 121 movl 0x200+des_SPtrans(%ecx),%ebp 122 xorl %ebp, %esi | 115 xorl 0x200(%ebp,%ecx),%esi |
123 movb %dh, %cl 124 shrl $16, %eax | 116 movb %dh, %cl 117 shrl $16, %eax |
125 movl 0x100+des_SPtrans(%ebx),%ebp 126 xorl %ebp, %esi | 118 xorl 0x100(%ebp,%ebx),%esi |
127 movb %ah, %bl 128 shrl $16, %edx | 119 movb %ah, %bl 120 shrl $16, %edx |
129 movl 0x300+des_SPtrans(%ecx),%ebp 130 xorl %ebp, %esi 131 movl 24(%esp), %ebp | 121 xorl 0x300(%ebp,%ecx),%esi |
132 movb %dh, %cl 133 andl $0xff, %eax 134 andl $0xff, %edx | 122 movb %dh, %cl 123 andl $0xff, %eax 124 andl $0xff, %edx |
135 movl 0x600+des_SPtrans(%ebx),%ebx 136 xorl %ebx, %esi 137 movl 0x700+des_SPtrans(%ecx),%ebx 138 xorl %ebx, %esi 139 movl 0x400+des_SPtrans(%eax),%ebx 140 xorl %ebx, %esi 141 movl 0x500+des_SPtrans(%edx),%ebx 142 xorl %ebx, %esi | 125 xorl 0x600(%ebp,%ebx),%esi 126 xorl 0x700(%ebp,%ecx),%esi 127 movl 24(%esp), %ecx 128 xorl 0x400(%ebp,%eax),%esi 129 xorl 0x500(%ebp,%edx),%esi |
143 | 130 |
144 # Round 2 145 movl 16(%ebp), %eax | 131 132 movl 16(%ecx), %eax |
146 xorl %ebx, %ebx | 133 xorl %ebx, %ebx |
147 movl 20(%ebp), %edx | 134 movl 20(%ecx), %edx |
148 xorl %esi, %eax | 135 xorl %esi, %eax |
136 xorl %ecx, %ecx |
|
149 xorl %esi, %edx 150 andl $0xfcfcfcfc, %eax 151 andl $0xcfcfcfcf, %edx 152 movb %al, %bl 153 movb %ah, %cl 154 rorl $4, %edx | 137 xorl %esi, %edx 138 andl $0xfcfcfcfc, %eax 139 andl $0xcfcfcfcf, %edx 140 movb %al, %bl 141 movb %ah, %cl 142 rorl $4, %edx |
155 movl des_SPtrans(%ebx),%ebp | 143 xorl (%ebp,%ebx),%edi |
156 movb %dl, %bl | 144 movb %dl, %bl |
157 xorl %ebp, %edi 158 movl 0x200+des_SPtrans(%ecx),%ebp 159 xorl %ebp, %edi | 145 xorl 0x200(%ebp,%ecx),%edi |
160 movb %dh, %cl 161 shrl $16, %eax | 146 movb %dh, %cl 147 shrl $16, %eax |
162 movl 0x100+des_SPtrans(%ebx),%ebp 163 xorl %ebp, %edi | 148 xorl 0x100(%ebp,%ebx),%edi |
164 movb %ah, %bl 165 shrl $16, %edx | 149 movb %ah, %bl 150 shrl $16, %edx |
166 movl 0x300+des_SPtrans(%ecx),%ebp 167 xorl %ebp, %edi 168 movl 24(%esp), %ebp | 151 xorl 0x300(%ebp,%ecx),%edi |
169 movb %dh, %cl 170 andl $0xff, %eax 171 andl $0xff, %edx | 152 movb %dh, %cl 153 andl $0xff, %eax 154 andl $0xff, %edx |
172 movl 0x600+des_SPtrans(%ebx),%ebx 173 xorl %ebx, %edi 174 movl 0x700+des_SPtrans(%ecx),%ebx 175 xorl %ebx, %edi 176 movl 0x400+des_SPtrans(%eax),%ebx 177 xorl %ebx, %edi 178 movl 0x500+des_SPtrans(%edx),%ebx 179 xorl %ebx, %edi | 155 xorl 0x600(%ebp,%ebx),%edi 156 xorl 0x700(%ebp,%ecx),%edi 157 movl 24(%esp), %ecx 158 xorl 0x400(%ebp,%eax),%edi 159 xorl 0x500(%ebp,%edx),%edi |
180 | 160 |
181 # Round 3 182 movl 24(%ebp), %eax | 161 162 movl 24(%ecx), %eax |
183 xorl %ebx, %ebx | 163 xorl %ebx, %ebx |
184 movl 28(%ebp), %edx | 164 movl 28(%ecx), %edx |
185 xorl %edi, %eax | 165 xorl %edi, %eax |
166 xorl %ecx, %ecx |
|
186 xorl %edi, %edx 187 andl $0xfcfcfcfc, %eax 188 andl $0xcfcfcfcf, %edx 189 movb %al, %bl 190 movb %ah, %cl 191 rorl $4, %edx | 167 xorl %edi, %edx 168 andl $0xfcfcfcfc, %eax 169 andl $0xcfcfcfcf, %edx 170 movb %al, %bl 171 movb %ah, %cl 172 rorl $4, %edx |
192 movl des_SPtrans(%ebx),%ebp | 173 xorl (%ebp,%ebx),%esi |
193 movb %dl, %bl | 174 movb %dl, %bl |
194 xorl %ebp, %esi 195 movl 0x200+des_SPtrans(%ecx),%ebp 196 xorl %ebp, %esi | 175 xorl 0x200(%ebp,%ecx),%esi |
197 movb %dh, %cl 198 shrl $16, %eax | 176 movb %dh, %cl 177 shrl $16, %eax |
199 movl 0x100+des_SPtrans(%ebx),%ebp 200 xorl %ebp, %esi | 178 xorl 0x100(%ebp,%ebx),%esi |
201 movb %ah, %bl 202 shrl $16, %edx | 179 movb %ah, %bl 180 shrl $16, %edx |
203 movl 0x300+des_SPtrans(%ecx),%ebp 204 xorl %ebp, %esi 205 movl 24(%esp), %ebp | 181 xorl 0x300(%ebp,%ecx),%esi |
206 movb %dh, %cl 207 andl $0xff, %eax 208 andl $0xff, %edx | 182 movb %dh, %cl 183 andl $0xff, %eax 184 andl $0xff, %edx |
209 movl 0x600+des_SPtrans(%ebx),%ebx 210 xorl %ebx, %esi 211 movl 0x700+des_SPtrans(%ecx),%ebx 212 xorl %ebx, %esi 213 movl 0x400+des_SPtrans(%eax),%ebx 214 xorl %ebx, %esi 215 movl 0x500+des_SPtrans(%edx),%ebx 216 xorl %ebx, %esi | 185 xorl 0x600(%ebp,%ebx),%esi 186 xorl 0x700(%ebp,%ecx),%esi 187 movl 24(%esp), %ecx 188 xorl 0x400(%ebp,%eax),%esi 189 xorl 0x500(%ebp,%edx),%esi |
217 | 190 |
218 # Round 4 219 movl 32(%ebp), %eax | 191 192 movl 32(%ecx), %eax |
220 xorl %ebx, %ebx | 193 xorl %ebx, %ebx |
221 movl 36(%ebp), %edx | 194 movl 36(%ecx), %edx |
222 xorl %esi, %eax | 195 xorl %esi, %eax |
196 xorl %ecx, %ecx |
|
223 xorl %esi, %edx 224 andl $0xfcfcfcfc, %eax 225 andl $0xcfcfcfcf, %edx 226 movb %al, %bl 227 movb %ah, %cl 228 rorl $4, %edx | 197 xorl %esi, %edx 198 andl $0xfcfcfcfc, %eax 199 andl $0xcfcfcfcf, %edx 200 movb %al, %bl 201 movb %ah, %cl 202 rorl $4, %edx |
229 movl des_SPtrans(%ebx),%ebp | 203 xorl (%ebp,%ebx),%edi |
230 movb %dl, %bl | 204 movb %dl, %bl |
231 xorl %ebp, %edi 232 movl 0x200+des_SPtrans(%ecx),%ebp 233 xorl %ebp, %edi | 205 xorl 0x200(%ebp,%ecx),%edi |
234 movb %dh, %cl 235 shrl $16, %eax | 206 movb %dh, %cl 207 shrl $16, %eax |
236 movl 0x100+des_SPtrans(%ebx),%ebp 237 xorl %ebp, %edi | 208 xorl 0x100(%ebp,%ebx),%edi |
238 movb %ah, %bl 239 shrl $16, %edx | 209 movb %ah, %bl 210 shrl $16, %edx |
240 movl 0x300+des_SPtrans(%ecx),%ebp 241 xorl %ebp, %edi 242 movl 24(%esp), %ebp | 211 xorl 0x300(%ebp,%ecx),%edi |
243 movb %dh, %cl 244 andl $0xff, %eax 245 andl $0xff, %edx | 212 movb %dh, %cl 213 andl $0xff, %eax 214 andl $0xff, %edx |
246 movl 0x600+des_SPtrans(%ebx),%ebx 247 xorl %ebx, %edi 248 movl 0x700+des_SPtrans(%ecx),%ebx 249 xorl %ebx, %edi 250 movl 0x400+des_SPtrans(%eax),%ebx 251 xorl %ebx, %edi 252 movl 0x500+des_SPtrans(%edx),%ebx 253 xorl %ebx, %edi | 215 xorl 0x600(%ebp,%ebx),%edi 216 xorl 0x700(%ebp,%ecx),%edi 217 movl 24(%esp), %ecx 218 xorl 0x400(%ebp,%eax),%edi 219 xorl 0x500(%ebp,%edx),%edi |
254 | 220 |
255 # Round 5 256 movl 40(%ebp), %eax | 221 222 movl 40(%ecx), %eax |
257 xorl %ebx, %ebx | 223 xorl %ebx, %ebx |
258 movl 44(%ebp), %edx | 224 movl 44(%ecx), %edx |
259 xorl %edi, %eax | 225 xorl %edi, %eax |
226 xorl %ecx, %ecx |
|
260 xorl %edi, %edx 261 andl $0xfcfcfcfc, %eax 262 andl $0xcfcfcfcf, %edx 263 movb %al, %bl 264 movb %ah, %cl 265 rorl $4, %edx | 227 xorl %edi, %edx 228 andl $0xfcfcfcfc, %eax 229 andl $0xcfcfcfcf, %edx 230 movb %al, %bl 231 movb %ah, %cl 232 rorl $4, %edx |
266 movl des_SPtrans(%ebx),%ebp | 233 xorl (%ebp,%ebx),%esi |
267 movb %dl, %bl | 234 movb %dl, %bl |
268 xorl %ebp, %esi 269 movl 0x200+des_SPtrans(%ecx),%ebp 270 xorl %ebp, %esi | 235 xorl 0x200(%ebp,%ecx),%esi |
271 movb %dh, %cl 272 shrl $16, %eax | 236 movb %dh, %cl 237 shrl $16, %eax |
273 movl 0x100+des_SPtrans(%ebx),%ebp 274 xorl %ebp, %esi | 238 xorl 0x100(%ebp,%ebx),%esi |
275 movb %ah, %bl 276 shrl $16, %edx | 239 movb %ah, %bl 240 shrl $16, %edx |
277 movl 0x300+des_SPtrans(%ecx),%ebp 278 xorl %ebp, %esi 279 movl 24(%esp), %ebp | 241 xorl 0x300(%ebp,%ecx),%esi |
280 movb %dh, %cl 281 andl $0xff, %eax 282 andl $0xff, %edx | 242 movb %dh, %cl 243 andl $0xff, %eax 244 andl $0xff, %edx |
283 movl 0x600+des_SPtrans(%ebx),%ebx 284 xorl %ebx, %esi 285 movl 0x700+des_SPtrans(%ecx),%ebx 286 xorl %ebx, %esi 287 movl 0x400+des_SPtrans(%eax),%ebx 288 xorl %ebx, %esi 289 movl 0x500+des_SPtrans(%edx),%ebx 290 xorl %ebx, %esi | 245 xorl 0x600(%ebp,%ebx),%esi 246 xorl 0x700(%ebp,%ecx),%esi 247 movl 24(%esp), %ecx 248 xorl 0x400(%ebp,%eax),%esi 249 xorl 0x500(%ebp,%edx),%esi |
291 | 250 |
292 # Round 6 293 movl 48(%ebp), %eax | 251 252 movl 48(%ecx), %eax |
294 xorl %ebx, %ebx | 253 xorl %ebx, %ebx |
295 movl 52(%ebp), %edx | 254 movl 52(%ecx), %edx |
296 xorl %esi, %eax | 255 xorl %esi, %eax |
256 xorl %ecx, %ecx |
|
297 xorl %esi, %edx 298 andl $0xfcfcfcfc, %eax 299 andl $0xcfcfcfcf, %edx 300 movb %al, %bl 301 movb %ah, %cl 302 rorl $4, %edx | 257 xorl %esi, %edx 258 andl $0xfcfcfcfc, %eax 259 andl $0xcfcfcfcf, %edx 260 movb %al, %bl 261 movb %ah, %cl 262 rorl $4, %edx |
303 movl des_SPtrans(%ebx),%ebp | 263 xorl (%ebp,%ebx),%edi |
304 movb %dl, %bl | 264 movb %dl, %bl |
305 xorl %ebp, %edi 306 movl 0x200+des_SPtrans(%ecx),%ebp 307 xorl %ebp, %edi | 265 xorl 0x200(%ebp,%ecx),%edi |
308 movb %dh, %cl 309 shrl $16, %eax | 266 movb %dh, %cl 267 shrl $16, %eax |
310 movl 0x100+des_SPtrans(%ebx),%ebp 311 xorl %ebp, %edi | 268 xorl 0x100(%ebp,%ebx),%edi |
312 movb %ah, %bl 313 shrl $16, %edx | 269 movb %ah, %bl 270 shrl $16, %edx |
314 movl 0x300+des_SPtrans(%ecx),%ebp 315 xorl %ebp, %edi 316 movl 24(%esp), %ebp | 271 xorl 0x300(%ebp,%ecx),%edi |
317 movb %dh, %cl 318 andl $0xff, %eax 319 andl $0xff, %edx | 272 movb %dh, %cl 273 andl $0xff, %eax 274 andl $0xff, %edx |
320 movl 0x600+des_SPtrans(%ebx),%ebx 321 xorl %ebx, %edi 322 movl 0x700+des_SPtrans(%ecx),%ebx 323 xorl %ebx, %edi 324 movl 0x400+des_SPtrans(%eax),%ebx 325 xorl %ebx, %edi 326 movl 0x500+des_SPtrans(%edx),%ebx 327 xorl %ebx, %edi | 275 xorl 0x600(%ebp,%ebx),%edi 276 xorl 0x700(%ebp,%ecx),%edi 277 movl 24(%esp), %ecx 278 xorl 0x400(%ebp,%eax),%edi 279 xorl 0x500(%ebp,%edx),%edi |
328 | 280 |
329 # Round 7 330 movl 56(%ebp), %eax | 281 282 movl 56(%ecx), %eax |
331 xorl %ebx, %ebx | 283 xorl %ebx, %ebx |
332 movl 60(%ebp), %edx | 284 movl 60(%ecx), %edx |
333 xorl %edi, %eax | 285 xorl %edi, %eax |
286 xorl %ecx, %ecx |
|
334 xorl %edi, %edx 335 andl $0xfcfcfcfc, %eax 336 andl $0xcfcfcfcf, %edx 337 movb %al, %bl 338 movb %ah, %cl 339 rorl $4, %edx | 287 xorl %edi, %edx 288 andl $0xfcfcfcfc, %eax 289 andl $0xcfcfcfcf, %edx 290 movb %al, %bl 291 movb %ah, %cl 292 rorl $4, %edx |
340 movl des_SPtrans(%ebx),%ebp | 293 xorl (%ebp,%ebx),%esi |
341 movb %dl, %bl | 294 movb %dl, %bl |
342 xorl %ebp, %esi 343 movl 0x200+des_SPtrans(%ecx),%ebp 344 xorl %ebp, %esi | 295 xorl 0x200(%ebp,%ecx),%esi |
345 movb %dh, %cl 346 shrl $16, %eax | 296 movb %dh, %cl 297 shrl $16, %eax |
347 movl 0x100+des_SPtrans(%ebx),%ebp 348 xorl %ebp, %esi | 298 xorl 0x100(%ebp,%ebx),%esi |
349 movb %ah, %bl 350 shrl $16, %edx | 299 movb %ah, %bl 300 shrl $16, %edx |
351 movl 0x300+des_SPtrans(%ecx),%ebp 352 xorl %ebp, %esi 353 movl 24(%esp), %ebp | 301 xorl 0x300(%ebp,%ecx),%esi |
354 movb %dh, %cl 355 andl $0xff, %eax 356 andl $0xff, %edx | 302 movb %dh, %cl 303 andl $0xff, %eax 304 andl $0xff, %edx |
357 movl 0x600+des_SPtrans(%ebx),%ebx 358 xorl %ebx, %esi 359 movl 0x700+des_SPtrans(%ecx),%ebx 360 xorl %ebx, %esi 361 movl 0x400+des_SPtrans(%eax),%ebx 362 xorl %ebx, %esi 363 movl 0x500+des_SPtrans(%edx),%ebx 364 xorl %ebx, %esi | 305 xorl 0x600(%ebp,%ebx),%esi 306 xorl 0x700(%ebp,%ecx),%esi 307 movl 24(%esp), %ecx 308 xorl 0x400(%ebp,%eax),%esi 309 xorl 0x500(%ebp,%edx),%esi |
365 | 310 |
366 # Round 8 367 movl 64(%ebp), %eax | 311 312 movl 64(%ecx), %eax |
368 xorl %ebx, %ebx | 313 xorl %ebx, %ebx |
369 movl 68(%ebp), %edx | 314 movl 68(%ecx), %edx |
370 xorl %esi, %eax | 315 xorl %esi, %eax |
316 xorl %ecx, %ecx |
|
371 xorl %esi, %edx 372 andl $0xfcfcfcfc, %eax 373 andl $0xcfcfcfcf, %edx 374 movb %al, %bl 375 movb %ah, %cl 376 rorl $4, %edx | 317 xorl %esi, %edx 318 andl $0xfcfcfcfc, %eax 319 andl $0xcfcfcfcf, %edx 320 movb %al, %bl 321 movb %ah, %cl 322 rorl $4, %edx |
377 movl des_SPtrans(%ebx),%ebp | 323 xorl (%ebp,%ebx),%edi |
378 movb %dl, %bl | 324 movb %dl, %bl |
379 xorl %ebp, %edi 380 movl 0x200+des_SPtrans(%ecx),%ebp 381 xorl %ebp, %edi | 325 xorl 0x200(%ebp,%ecx),%edi |
382 movb %dh, %cl 383 shrl $16, %eax | 326 movb %dh, %cl 327 shrl $16, %eax |
384 movl 0x100+des_SPtrans(%ebx),%ebp 385 xorl %ebp, %edi | 328 xorl 0x100(%ebp,%ebx),%edi |
386 movb %ah, %bl 387 shrl $16, %edx | 329 movb %ah, %bl 330 shrl $16, %edx |
388 movl 0x300+des_SPtrans(%ecx),%ebp 389 xorl %ebp, %edi 390 movl 24(%esp), %ebp | 331 xorl 0x300(%ebp,%ecx),%edi |
391 movb %dh, %cl 392 andl $0xff, %eax 393 andl $0xff, %edx | 332 movb %dh, %cl 333 andl $0xff, %eax 334 andl $0xff, %edx |
394 movl 0x600+des_SPtrans(%ebx),%ebx 395 xorl %ebx, %edi 396 movl 0x700+des_SPtrans(%ecx),%ebx 397 xorl %ebx, %edi 398 movl 0x400+des_SPtrans(%eax),%ebx 399 xorl %ebx, %edi 400 movl 0x500+des_SPtrans(%edx),%ebx 401 xorl %ebx, %edi | 335 xorl 0x600(%ebp,%ebx),%edi 336 xorl 0x700(%ebp,%ecx),%edi 337 movl 24(%esp), %ecx 338 xorl 0x400(%ebp,%eax),%edi 339 xorl 0x500(%ebp,%edx),%edi |
402 | 340 |
403 # Round 9 404 movl 72(%ebp), %eax | 341 342 movl 72(%ecx), %eax |
405 xorl %ebx, %ebx | 343 xorl %ebx, %ebx |
406 movl 76(%ebp), %edx | 344 movl 76(%ecx), %edx |
407 xorl %edi, %eax | 345 xorl %edi, %eax |
346 xorl %ecx, %ecx |
|
408 xorl %edi, %edx 409 andl $0xfcfcfcfc, %eax 410 andl $0xcfcfcfcf, %edx 411 movb %al, %bl 412 movb %ah, %cl 413 rorl $4, %edx | 347 xorl %edi, %edx 348 andl $0xfcfcfcfc, %eax 349 andl $0xcfcfcfcf, %edx 350 movb %al, %bl 351 movb %ah, %cl 352 rorl $4, %edx |
414 movl des_SPtrans(%ebx),%ebp | 353 xorl (%ebp,%ebx),%esi |
415 movb %dl, %bl | 354 movb %dl, %bl |
416 xorl %ebp, %esi 417 movl 0x200+des_SPtrans(%ecx),%ebp 418 xorl %ebp, %esi | 355 xorl 0x200(%ebp,%ecx),%esi |
419 movb %dh, %cl 420 shrl $16, %eax | 356 movb %dh, %cl 357 shrl $16, %eax |
421 movl 0x100+des_SPtrans(%ebx),%ebp 422 xorl %ebp, %esi | 358 xorl 0x100(%ebp,%ebx),%esi |
423 movb %ah, %bl 424 shrl $16, %edx | 359 movb %ah, %bl 360 shrl $16, %edx |
425 movl 0x300+des_SPtrans(%ecx),%ebp 426 xorl %ebp, %esi 427 movl 24(%esp), %ebp | 361 xorl 0x300(%ebp,%ecx),%esi |
428 movb %dh, %cl 429 andl $0xff, %eax 430 andl $0xff, %edx | 362 movb %dh, %cl 363 andl $0xff, %eax 364 andl $0xff, %edx |
431 movl 0x600+des_SPtrans(%ebx),%ebx 432 xorl %ebx, %esi 433 movl 0x700+des_SPtrans(%ecx),%ebx 434 xorl %ebx, %esi 435 movl 0x400+des_SPtrans(%eax),%ebx 436 xorl %ebx, %esi 437 movl 0x500+des_SPtrans(%edx),%ebx 438 xorl %ebx, %esi | 365 xorl 0x600(%ebp,%ebx),%esi 366 xorl 0x700(%ebp,%ecx),%esi 367 movl 24(%esp), %ecx 368 xorl 0x400(%ebp,%eax),%esi 369 xorl 0x500(%ebp,%edx),%esi |
439 | 370 |
440 # Round 10 441 movl 80(%ebp), %eax | 371 372 movl 80(%ecx), %eax |
442 xorl %ebx, %ebx | 373 xorl %ebx, %ebx |
443 movl 84(%ebp), %edx | 374 movl 84(%ecx), %edx |
444 xorl %esi, %eax | 375 xorl %esi, %eax |
376 xorl %ecx, %ecx |
|
445 xorl %esi, %edx 446 andl $0xfcfcfcfc, %eax 447 andl $0xcfcfcfcf, %edx 448 movb %al, %bl 449 movb %ah, %cl 450 rorl $4, %edx | 377 xorl %esi, %edx 378 andl $0xfcfcfcfc, %eax 379 andl $0xcfcfcfcf, %edx 380 movb %al, %bl 381 movb %ah, %cl 382 rorl $4, %edx |
451 movl des_SPtrans(%ebx),%ebp | 383 xorl (%ebp,%ebx),%edi |
452 movb %dl, %bl | 384 movb %dl, %bl |
453 xorl %ebp, %edi 454 movl 0x200+des_SPtrans(%ecx),%ebp 455 xorl %ebp, %edi | 385 xorl 0x200(%ebp,%ecx),%edi |
456 movb %dh, %cl 457 shrl $16, %eax | 386 movb %dh, %cl 387 shrl $16, %eax |
458 movl 0x100+des_SPtrans(%ebx),%ebp 459 xorl %ebp, %edi | 388 xorl 0x100(%ebp,%ebx),%edi |
460 movb %ah, %bl 461 shrl $16, %edx | 389 movb %ah, %bl 390 shrl $16, %edx |
462 movl 0x300+des_SPtrans(%ecx),%ebp 463 xorl %ebp, %edi 464 movl 24(%esp), %ebp | 391 xorl 0x300(%ebp,%ecx),%edi |
465 movb %dh, %cl 466 andl $0xff, %eax 467 andl $0xff, %edx | 392 movb %dh, %cl 393 andl $0xff, %eax 394 andl $0xff, %edx |
468 movl 0x600+des_SPtrans(%ebx),%ebx 469 xorl %ebx, %edi 470 movl 0x700+des_SPtrans(%ecx),%ebx 471 xorl %ebx, %edi 472 movl 0x400+des_SPtrans(%eax),%ebx 473 xorl %ebx, %edi 474 movl 0x500+des_SPtrans(%edx),%ebx 475 xorl %ebx, %edi | 395 xorl 0x600(%ebp,%ebx),%edi 396 xorl 0x700(%ebp,%ecx),%edi 397 movl 24(%esp), %ecx 398 xorl 0x400(%ebp,%eax),%edi 399 xorl 0x500(%ebp,%edx),%edi |
476 | 400 |
477 # Round 11 478 movl 88(%ebp), %eax | 401 402 movl 88(%ecx), %eax |
479 xorl %ebx, %ebx | 403 xorl %ebx, %ebx |
480 movl 92(%ebp), %edx | 404 movl 92(%ecx), %edx |
481 xorl %edi, %eax | 405 xorl %edi, %eax |
406 xorl %ecx, %ecx |
|
482 xorl %edi, %edx 483 andl $0xfcfcfcfc, %eax 484 andl $0xcfcfcfcf, %edx 485 movb %al, %bl 486 movb %ah, %cl 487 rorl $4, %edx | 407 xorl %edi, %edx 408 andl $0xfcfcfcfc, %eax 409 andl $0xcfcfcfcf, %edx 410 movb %al, %bl 411 movb %ah, %cl 412 rorl $4, %edx |
488 movl des_SPtrans(%ebx),%ebp | 413 xorl (%ebp,%ebx),%esi |
489 movb %dl, %bl | 414 movb %dl, %bl |
490 xorl %ebp, %esi 491 movl 0x200+des_SPtrans(%ecx),%ebp 492 xorl %ebp, %esi | 415 xorl 0x200(%ebp,%ecx),%esi |
493 movb %dh, %cl 494 shrl $16, %eax | 416 movb %dh, %cl 417 shrl $16, %eax |
495 movl 0x100+des_SPtrans(%ebx),%ebp 496 xorl %ebp, %esi | 418 xorl 0x100(%ebp,%ebx),%esi |
497 movb %ah, %bl 498 shrl $16, %edx | 419 movb %ah, %bl 420 shrl $16, %edx |
499 movl 0x300+des_SPtrans(%ecx),%ebp 500 xorl %ebp, %esi 501 movl 24(%esp), %ebp | 421 xorl 0x300(%ebp,%ecx),%esi |
502 movb %dh, %cl 503 andl $0xff, %eax 504 andl $0xff, %edx | 422 movb %dh, %cl 423 andl $0xff, %eax 424 andl $0xff, %edx |
505 movl 0x600+des_SPtrans(%ebx),%ebx 506 xorl %ebx, %esi 507 movl 0x700+des_SPtrans(%ecx),%ebx 508 xorl %ebx, %esi 509 movl 0x400+des_SPtrans(%eax),%ebx 510 xorl %ebx, %esi 511 movl 0x500+des_SPtrans(%edx),%ebx 512 xorl %ebx, %esi | 425 xorl 0x600(%ebp,%ebx),%esi 426 xorl 0x700(%ebp,%ecx),%esi 427 movl 24(%esp), %ecx 428 xorl 0x400(%ebp,%eax),%esi 429 xorl 0x500(%ebp,%edx),%esi |
513 | 430 |
514 # Round 12 515 movl 96(%ebp), %eax | 431 432 movl 96(%ecx), %eax |
516 xorl %ebx, %ebx | 433 xorl %ebx, %ebx |
517 movl 100(%ebp), %edx | 434 movl 100(%ecx), %edx |
518 xorl %esi, %eax | 435 xorl %esi, %eax |
436 xorl %ecx, %ecx |
|
519 xorl %esi, %edx 520 andl $0xfcfcfcfc, %eax 521 andl $0xcfcfcfcf, %edx 522 movb %al, %bl 523 movb %ah, %cl 524 rorl $4, %edx | 437 xorl %esi, %edx 438 andl $0xfcfcfcfc, %eax 439 andl $0xcfcfcfcf, %edx 440 movb %al, %bl 441 movb %ah, %cl 442 rorl $4, %edx |
525 movl des_SPtrans(%ebx),%ebp | 443 xorl (%ebp,%ebx),%edi |
526 movb %dl, %bl | 444 movb %dl, %bl |
527 xorl %ebp, %edi 528 movl 0x200+des_SPtrans(%ecx),%ebp 529 xorl %ebp, %edi | 445 xorl 0x200(%ebp,%ecx),%edi |
530 movb %dh, %cl 531 shrl $16, %eax | 446 movb %dh, %cl 447 shrl $16, %eax |
532 movl 0x100+des_SPtrans(%ebx),%ebp 533 xorl %ebp, %edi | 448 xorl 0x100(%ebp,%ebx),%edi |
534 movb %ah, %bl 535 shrl $16, %edx | 449 movb %ah, %bl 450 shrl $16, %edx |
536 movl 0x300+des_SPtrans(%ecx),%ebp 537 xorl %ebp, %edi 538 movl 24(%esp), %ebp | 451 xorl 0x300(%ebp,%ecx),%edi |
539 movb %dh, %cl 540 andl $0xff, %eax 541 andl $0xff, %edx | 452 movb %dh, %cl 453 andl $0xff, %eax 454 andl $0xff, %edx |
542 movl 0x600+des_SPtrans(%ebx),%ebx 543 xorl %ebx, %edi 544 movl 0x700+des_SPtrans(%ecx),%ebx 545 xorl %ebx, %edi 546 movl 0x400+des_SPtrans(%eax),%ebx 547 xorl %ebx, %edi 548 movl 0x500+des_SPtrans(%edx),%ebx 549 xorl %ebx, %edi | 455 xorl 0x600(%ebp,%ebx),%edi 456 xorl 0x700(%ebp,%ecx),%edi 457 movl 24(%esp), %ecx 458 xorl 0x400(%ebp,%eax),%edi 459 xorl 0x500(%ebp,%edx),%edi |
550 | 460 |
551 # Round 13 552 movl 104(%ebp), %eax | 461 462 movl 104(%ecx), %eax |
553 xorl %ebx, %ebx | 463 xorl %ebx, %ebx |
554 movl 108(%ebp), %edx | 464 movl 108(%ecx), %edx |
555 xorl %edi, %eax | 465 xorl %edi, %eax |
466 xorl %ecx, %ecx |
|
556 xorl %edi, %edx 557 andl $0xfcfcfcfc, %eax 558 andl $0xcfcfcfcf, %edx 559 movb %al, %bl 560 movb %ah, %cl 561 rorl $4, %edx | 467 xorl %edi, %edx 468 andl $0xfcfcfcfc, %eax 469 andl $0xcfcfcfcf, %edx 470 movb %al, %bl 471 movb %ah, %cl 472 rorl $4, %edx |
562 movl des_SPtrans(%ebx),%ebp | 473 xorl (%ebp,%ebx),%esi |
563 movb %dl, %bl | 474 movb %dl, %bl |
564 xorl %ebp, %esi 565 movl 0x200+des_SPtrans(%ecx),%ebp 566 xorl %ebp, %esi | 475 xorl 0x200(%ebp,%ecx),%esi |
567 movb %dh, %cl 568 shrl $16, %eax | 476 movb %dh, %cl 477 shrl $16, %eax |
569 movl 0x100+des_SPtrans(%ebx),%ebp 570 xorl %ebp, %esi | 478 xorl 0x100(%ebp,%ebx),%esi |
571 movb %ah, %bl 572 shrl $16, %edx | 479 movb %ah, %bl 480 shrl $16, %edx |
573 movl 0x300+des_SPtrans(%ecx),%ebp 574 xorl %ebp, %esi 575 movl 24(%esp), %ebp | 481 xorl 0x300(%ebp,%ecx),%esi |
576 movb %dh, %cl 577 andl $0xff, %eax 578 andl $0xff, %edx | 482 movb %dh, %cl 483 andl $0xff, %eax 484 andl $0xff, %edx |
579 movl 0x600+des_SPtrans(%ebx),%ebx 580 xorl %ebx, %esi 581 movl 0x700+des_SPtrans(%ecx),%ebx 582 xorl %ebx, %esi 583 movl 0x400+des_SPtrans(%eax),%ebx 584 xorl %ebx, %esi 585 movl 0x500+des_SPtrans(%edx),%ebx 586 xorl %ebx, %esi | 485 xorl 0x600(%ebp,%ebx),%esi 486 xorl 0x700(%ebp,%ecx),%esi 487 movl 24(%esp), %ecx 488 xorl 0x400(%ebp,%eax),%esi 489 xorl 0x500(%ebp,%edx),%esi |
587 | 490 |
588 # Round 14 589 movl 112(%ebp), %eax | 491 492 movl 112(%ecx), %eax |
590 xorl %ebx, %ebx | 493 xorl %ebx, %ebx |
591 movl 116(%ebp), %edx | 494 movl 116(%ecx), %edx |
592 xorl %esi, %eax | 495 xorl %esi, %eax |
496 xorl %ecx, %ecx |
|
593 xorl %esi, %edx 594 andl $0xfcfcfcfc, %eax 595 andl $0xcfcfcfcf, %edx 596 movb %al, %bl 597 movb %ah, %cl 598 rorl $4, %edx | 497 xorl %esi, %edx 498 andl $0xfcfcfcfc, %eax 499 andl $0xcfcfcfcf, %edx 500 movb %al, %bl 501 movb %ah, %cl 502 rorl $4, %edx |
599 movl des_SPtrans(%ebx),%ebp | 503 xorl (%ebp,%ebx),%edi |
600 movb %dl, %bl | 504 movb %dl, %bl |
601 xorl %ebp, %edi 602 movl 0x200+des_SPtrans(%ecx),%ebp 603 xorl %ebp, %edi | 505 xorl 0x200(%ebp,%ecx),%edi |
604 movb %dh, %cl 605 shrl $16, %eax | 506 movb %dh, %cl 507 shrl $16, %eax |
606 movl 0x100+des_SPtrans(%ebx),%ebp 607 xorl %ebp, %edi | 508 xorl 0x100(%ebp,%ebx),%edi |
608 movb %ah, %bl 609 shrl $16, %edx | 509 movb %ah, %bl 510 shrl $16, %edx |
610 movl 0x300+des_SPtrans(%ecx),%ebp 611 xorl %ebp, %edi 612 movl 24(%esp), %ebp | 511 xorl 0x300(%ebp,%ecx),%edi |
613 movb %dh, %cl 614 andl $0xff, %eax 615 andl $0xff, %edx | 512 movb %dh, %cl 513 andl $0xff, %eax 514 andl $0xff, %edx |
616 movl 0x600+des_SPtrans(%ebx),%ebx 617 xorl %ebx, %edi 618 movl 0x700+des_SPtrans(%ecx),%ebx 619 xorl %ebx, %edi 620 movl 0x400+des_SPtrans(%eax),%ebx 621 xorl %ebx, %edi 622 movl 0x500+des_SPtrans(%edx),%ebx 623 xorl %ebx, %edi | 515 xorl 0x600(%ebp,%ebx),%edi 516 xorl 0x700(%ebp,%ecx),%edi 517 movl 24(%esp), %ecx 518 xorl 0x400(%ebp,%eax),%edi 519 xorl 0x500(%ebp,%edx),%edi |
624 | 520 |
625 # Round 15 626 movl 120(%ebp), %eax | 521 522 movl 120(%ecx), %eax |
627 xorl %ebx, %ebx | 523 xorl %ebx, %ebx |
628 movl 124(%ebp), %edx | 524 movl 124(%ecx), %edx |
629 xorl %edi, %eax | 525 xorl %edi, %eax |
526 xorl %ecx, %ecx |
|
630 xorl %edi, %edx 631 andl $0xfcfcfcfc, %eax 632 andl $0xcfcfcfcf, %edx 633 movb %al, %bl 634 movb %ah, %cl 635 rorl $4, %edx | 527 xorl %edi, %edx 528 andl $0xfcfcfcfc, %eax 529 andl $0xcfcfcfcf, %edx 530 movb %al, %bl 531 movb %ah, %cl 532 rorl $4, %edx |
636 movl des_SPtrans(%ebx),%ebp | 533 xorl (%ebp,%ebx),%esi |
637 movb %dl, %bl | 534 movb %dl, %bl |
638 xorl %ebp, %esi 639 movl 0x200+des_SPtrans(%ecx),%ebp 640 xorl %ebp, %esi | 535 xorl 0x200(%ebp,%ecx),%esi |
641 movb %dh, %cl 642 shrl $16, %eax | 536 movb %dh, %cl 537 shrl $16, %eax |
643 movl 0x100+des_SPtrans(%ebx),%ebp 644 xorl %ebp, %esi | 538 xorl 0x100(%ebp,%ebx),%esi |
645 movb %ah, %bl 646 shrl $16, %edx | 539 movb %ah, %bl 540 shrl $16, %edx |
647 movl 0x300+des_SPtrans(%ecx),%ebp 648 xorl %ebp, %esi 649 movl 24(%esp), %ebp | 541 xorl 0x300(%ebp,%ecx),%esi |
650 movb %dh, %cl 651 andl $0xff, %eax 652 andl $0xff, %edx | 542 movb %dh, %cl 543 andl $0xff, %eax 544 andl $0xff, %edx |
653 movl 0x600+des_SPtrans(%ebx),%ebx 654 xorl %ebx, %esi 655 movl 0x700+des_SPtrans(%ecx),%ebx 656 xorl %ebx, %esi 657 movl 0x400+des_SPtrans(%eax),%ebx 658 xorl %ebx, %esi 659 movl 0x500+des_SPtrans(%edx),%ebx 660 xorl %ebx, %esi | 545 xorl 0x600(%ebp,%ebx),%esi 546 xorl 0x700(%ebp,%ecx),%esi 547 movl 24(%esp), %ecx 548 xorl 0x400(%ebp,%eax),%esi 549 xorl 0x500(%ebp,%edx),%esi |
661 jmp .L001end 662.L000start_decrypt: 663 | 550 jmp .L001end 551.L000start_decrypt: 552 |
664 # Round 15 665 movl 120(%ebp), %eax | 553 554 movl 120(%ecx), %eax |
666 xorl %ebx, %ebx | 555 xorl %ebx, %ebx |
667 movl 124(%ebp), %edx | 556 movl 124(%ecx), %edx |
668 xorl %esi, %eax | 557 xorl %esi, %eax |
558 xorl %ecx, %ecx |
|
669 xorl %esi, %edx 670 andl $0xfcfcfcfc, %eax 671 andl $0xcfcfcfcf, %edx 672 movb %al, %bl 673 movb %ah, %cl 674 rorl $4, %edx | 559 xorl %esi, %edx 560 andl $0xfcfcfcfc, %eax 561 andl $0xcfcfcfcf, %edx 562 movb %al, %bl 563 movb %ah, %cl 564 rorl $4, %edx |
675 movl des_SPtrans(%ebx),%ebp | 565 xorl (%ebp,%ebx),%edi |
676 movb %dl, %bl | 566 movb %dl, %bl |
677 xorl %ebp, %edi 678 movl 0x200+des_SPtrans(%ecx),%ebp 679 xorl %ebp, %edi | 567 xorl 0x200(%ebp,%ecx),%edi |
680 movb %dh, %cl 681 shrl $16, %eax | 568 movb %dh, %cl 569 shrl $16, %eax |
682 movl 0x100+des_SPtrans(%ebx),%ebp 683 xorl %ebp, %edi | 570 xorl 0x100(%ebp,%ebx),%edi |
684 movb %ah, %bl 685 shrl $16, %edx | 571 movb %ah, %bl 572 shrl $16, %edx |
686 movl 0x300+des_SPtrans(%ecx),%ebp 687 xorl %ebp, %edi 688 movl 24(%esp), %ebp | 573 xorl 0x300(%ebp,%ecx),%edi |
689 movb %dh, %cl 690 andl $0xff, %eax 691 andl $0xff, %edx | 574 movb %dh, %cl 575 andl $0xff, %eax 576 andl $0xff, %edx |
692 movl 0x600+des_SPtrans(%ebx),%ebx 693 xorl %ebx, %edi 694 movl 0x700+des_SPtrans(%ecx),%ebx 695 xorl %ebx, %edi 696 movl 0x400+des_SPtrans(%eax),%ebx 697 xorl %ebx, %edi 698 movl 0x500+des_SPtrans(%edx),%ebx 699 xorl %ebx, %edi | 577 xorl 0x600(%ebp,%ebx),%edi 578 xorl 0x700(%ebp,%ecx),%edi 579 movl 24(%esp), %ecx 580 xorl 0x400(%ebp,%eax),%edi 581 xorl 0x500(%ebp,%edx),%edi |
700 | 582 |
701 # Round 14 702 movl 112(%ebp), %eax | 583 584 movl 112(%ecx), %eax |
703 xorl %ebx, %ebx | 585 xorl %ebx, %ebx |
704 movl 116(%ebp), %edx | 586 movl 116(%ecx), %edx |
705 xorl %edi, %eax | 587 xorl %edi, %eax |
588 xorl %ecx, %ecx |
|
706 xorl %edi, %edx 707 andl $0xfcfcfcfc, %eax 708 andl $0xcfcfcfcf, %edx 709 movb %al, %bl 710 movb %ah, %cl 711 rorl $4, %edx | 589 xorl %edi, %edx 590 andl $0xfcfcfcfc, %eax 591 andl $0xcfcfcfcf, %edx 592 movb %al, %bl 593 movb %ah, %cl 594 rorl $4, %edx |
712 movl des_SPtrans(%ebx),%ebp | 595 xorl (%ebp,%ebx),%esi |
713 movb %dl, %bl | 596 movb %dl, %bl |
714 xorl %ebp, %esi 715 movl 0x200+des_SPtrans(%ecx),%ebp 716 xorl %ebp, %esi | 597 xorl 0x200(%ebp,%ecx),%esi |
717 movb %dh, %cl 718 shrl $16, %eax | 598 movb %dh, %cl 599 shrl $16, %eax |
719 movl 0x100+des_SPtrans(%ebx),%ebp 720 xorl %ebp, %esi | 600 xorl 0x100(%ebp,%ebx),%esi |
721 movb %ah, %bl 722 shrl $16, %edx | 601 movb %ah, %bl 602 shrl $16, %edx |
723 movl 0x300+des_SPtrans(%ecx),%ebp 724 xorl %ebp, %esi 725 movl 24(%esp), %ebp | 603 xorl 0x300(%ebp,%ecx),%esi |
726 movb %dh, %cl 727 andl $0xff, %eax 728 andl $0xff, %edx | 604 movb %dh, %cl 605 andl $0xff, %eax 606 andl $0xff, %edx |
729 movl 0x600+des_SPtrans(%ebx),%ebx 730 xorl %ebx, %esi 731 movl 0x700+des_SPtrans(%ecx),%ebx 732 xorl %ebx, %esi 733 movl 0x400+des_SPtrans(%eax),%ebx 734 xorl %ebx, %esi 735 movl 0x500+des_SPtrans(%edx),%ebx 736 xorl %ebx, %esi | 607 xorl 0x600(%ebp,%ebx),%esi 608 xorl 0x700(%ebp,%ecx),%esi 609 movl 24(%esp), %ecx 610 xorl 0x400(%ebp,%eax),%esi 611 xorl 0x500(%ebp,%edx),%esi |
737 | 612 |
738 # Round 13 739 movl 104(%ebp), %eax | 613 614 movl 104(%ecx), %eax |
740 xorl %ebx, %ebx | 615 xorl %ebx, %ebx |
741 movl 108(%ebp), %edx | 616 movl 108(%ecx), %edx |
742 xorl %esi, %eax | 617 xorl %esi, %eax |
618 xorl %ecx, %ecx |
|
743 xorl %esi, %edx 744 andl $0xfcfcfcfc, %eax 745 andl $0xcfcfcfcf, %edx 746 movb %al, %bl 747 movb %ah, %cl 748 rorl $4, %edx | 619 xorl %esi, %edx 620 andl $0xfcfcfcfc, %eax 621 andl $0xcfcfcfcf, %edx 622 movb %al, %bl 623 movb %ah, %cl 624 rorl $4, %edx |
749 movl des_SPtrans(%ebx),%ebp | 625 xorl (%ebp,%ebx),%edi |
750 movb %dl, %bl | 626 movb %dl, %bl |
751 xorl %ebp, %edi 752 movl 0x200+des_SPtrans(%ecx),%ebp 753 xorl %ebp, %edi | 627 xorl 0x200(%ebp,%ecx),%edi |
754 movb %dh, %cl 755 shrl $16, %eax | 628 movb %dh, %cl 629 shrl $16, %eax |
756 movl 0x100+des_SPtrans(%ebx),%ebp 757 xorl %ebp, %edi | 630 xorl 0x100(%ebp,%ebx),%edi |
758 movb %ah, %bl 759 shrl $16, %edx | 631 movb %ah, %bl 632 shrl $16, %edx |
760 movl 0x300+des_SPtrans(%ecx),%ebp 761 xorl %ebp, %edi 762 movl 24(%esp), %ebp | 633 xorl 0x300(%ebp,%ecx),%edi |
763 movb %dh, %cl 764 andl $0xff, %eax 765 andl $0xff, %edx | 634 movb %dh, %cl 635 andl $0xff, %eax 636 andl $0xff, %edx |
766 movl 0x600+des_SPtrans(%ebx),%ebx 767 xorl %ebx, %edi 768 movl 0x700+des_SPtrans(%ecx),%ebx 769 xorl %ebx, %edi 770 movl 0x400+des_SPtrans(%eax),%ebx 771 xorl %ebx, %edi 772 movl 0x500+des_SPtrans(%edx),%ebx 773 xorl %ebx, %edi | 637 xorl 0x600(%ebp,%ebx),%edi 638 xorl 0x700(%ebp,%ecx),%edi 639 movl 24(%esp), %ecx 640 xorl 0x400(%ebp,%eax),%edi 641 xorl 0x500(%ebp,%edx),%edi |
774 | 642 |
775 # Round 12 776 movl 96(%ebp), %eax | 643 644 movl 96(%ecx), %eax |
777 xorl %ebx, %ebx | 645 xorl %ebx, %ebx |
778 movl 100(%ebp), %edx | 646 movl 100(%ecx), %edx |
779 xorl %edi, %eax | 647 xorl %edi, %eax |
648 xorl %ecx, %ecx |
|
780 xorl %edi, %edx 781 andl $0xfcfcfcfc, %eax 782 andl $0xcfcfcfcf, %edx 783 movb %al, %bl 784 movb %ah, %cl 785 rorl $4, %edx | 649 xorl %edi, %edx 650 andl $0xfcfcfcfc, %eax 651 andl $0xcfcfcfcf, %edx 652 movb %al, %bl 653 movb %ah, %cl 654 rorl $4, %edx |
786 movl des_SPtrans(%ebx),%ebp | 655 xorl (%ebp,%ebx),%esi |
787 movb %dl, %bl | 656 movb %dl, %bl |
788 xorl %ebp, %esi 789 movl 0x200+des_SPtrans(%ecx),%ebp 790 xorl %ebp, %esi | 657 xorl 0x200(%ebp,%ecx),%esi |
791 movb %dh, %cl 792 shrl $16, %eax | 658 movb %dh, %cl 659 shrl $16, %eax |
793 movl 0x100+des_SPtrans(%ebx),%ebp 794 xorl %ebp, %esi | 660 xorl 0x100(%ebp,%ebx),%esi |
795 movb %ah, %bl 796 shrl $16, %edx | 661 movb %ah, %bl 662 shrl $16, %edx |
797 movl 0x300+des_SPtrans(%ecx),%ebp 798 xorl %ebp, %esi 799 movl 24(%esp), %ebp | 663 xorl 0x300(%ebp,%ecx),%esi |
800 movb %dh, %cl 801 andl $0xff, %eax 802 andl $0xff, %edx | 664 movb %dh, %cl 665 andl $0xff, %eax 666 andl $0xff, %edx |
803 movl 0x600+des_SPtrans(%ebx),%ebx 804 xorl %ebx, %esi 805 movl 0x700+des_SPtrans(%ecx),%ebx 806 xorl %ebx, %esi 807 movl 0x400+des_SPtrans(%eax),%ebx 808 xorl %ebx, %esi 809 movl 0x500+des_SPtrans(%edx),%ebx 810 xorl %ebx, %esi | 667 xorl 0x600(%ebp,%ebx),%esi 668 xorl 0x700(%ebp,%ecx),%esi 669 movl 24(%esp), %ecx 670 xorl 0x400(%ebp,%eax),%esi 671 xorl 0x500(%ebp,%edx),%esi |
811 | 672 |
812 # Round 11 813 movl 88(%ebp), %eax | 673 674 movl 88(%ecx), %eax |
814 xorl %ebx, %ebx | 675 xorl %ebx, %ebx |
815 movl 92(%ebp), %edx | 676 movl 92(%ecx), %edx |
816 xorl %esi, %eax | 677 xorl %esi, %eax |
678 xorl %ecx, %ecx |
|
817 xorl %esi, %edx 818 andl $0xfcfcfcfc, %eax 819 andl $0xcfcfcfcf, %edx 820 movb %al, %bl 821 movb %ah, %cl 822 rorl $4, %edx | 679 xorl %esi, %edx 680 andl $0xfcfcfcfc, %eax 681 andl $0xcfcfcfcf, %edx 682 movb %al, %bl 683 movb %ah, %cl 684 rorl $4, %edx |
823 movl des_SPtrans(%ebx),%ebp | 685 xorl (%ebp,%ebx),%edi |
824 movb %dl, %bl | 686 movb %dl, %bl |
825 xorl %ebp, %edi 826 movl 0x200+des_SPtrans(%ecx),%ebp 827 xorl %ebp, %edi | 687 xorl 0x200(%ebp,%ecx),%edi |
828 movb %dh, %cl 829 shrl $16, %eax | 688 movb %dh, %cl 689 shrl $16, %eax |
830 movl 0x100+des_SPtrans(%ebx),%ebp 831 xorl %ebp, %edi | 690 xorl 0x100(%ebp,%ebx),%edi |
832 movb %ah, %bl 833 shrl $16, %edx | 691 movb %ah, %bl 692 shrl $16, %edx |
834 movl 0x300+des_SPtrans(%ecx),%ebp 835 xorl %ebp, %edi 836 movl 24(%esp), %ebp | 693 xorl 0x300(%ebp,%ecx),%edi |
837 movb %dh, %cl 838 andl $0xff, %eax 839 andl $0xff, %edx | 694 movb %dh, %cl 695 andl $0xff, %eax 696 andl $0xff, %edx |
840 movl 0x600+des_SPtrans(%ebx),%ebx 841 xorl %ebx, %edi 842 movl 0x700+des_SPtrans(%ecx),%ebx 843 xorl %ebx, %edi 844 movl 0x400+des_SPtrans(%eax),%ebx 845 xorl %ebx, %edi 846 movl 0x500+des_SPtrans(%edx),%ebx 847 xorl %ebx, %edi | 697 xorl 0x600(%ebp,%ebx),%edi 698 xorl 0x700(%ebp,%ecx),%edi 699 movl 24(%esp), %ecx 700 xorl 0x400(%ebp,%eax),%edi 701 xorl 0x500(%ebp,%edx),%edi |
848 | 702 |
849 # Round 10 850 movl 80(%ebp), %eax | 703 704 movl 80(%ecx), %eax |
851 xorl %ebx, %ebx | 705 xorl %ebx, %ebx |
852 movl 84(%ebp), %edx | 706 movl 84(%ecx), %edx |
853 xorl %edi, %eax | 707 xorl %edi, %eax |
708 xorl %ecx, %ecx |
|
854 xorl %edi, %edx 855 andl $0xfcfcfcfc, %eax 856 andl $0xcfcfcfcf, %edx 857 movb %al, %bl 858 movb %ah, %cl 859 rorl $4, %edx | 709 xorl %edi, %edx 710 andl $0xfcfcfcfc, %eax 711 andl $0xcfcfcfcf, %edx 712 movb %al, %bl 713 movb %ah, %cl 714 rorl $4, %edx |
860 movl des_SPtrans(%ebx),%ebp | 715 xorl (%ebp,%ebx),%esi |
861 movb %dl, %bl | 716 movb %dl, %bl |
862 xorl %ebp, %esi 863 movl 0x200+des_SPtrans(%ecx),%ebp 864 xorl %ebp, %esi | 717 xorl 0x200(%ebp,%ecx),%esi |
865 movb %dh, %cl 866 shrl $16, %eax | 718 movb %dh, %cl 719 shrl $16, %eax |
867 movl 0x100+des_SPtrans(%ebx),%ebp 868 xorl %ebp, %esi | 720 xorl 0x100(%ebp,%ebx),%esi |
869 movb %ah, %bl 870 shrl $16, %edx | 721 movb %ah, %bl 722 shrl $16, %edx |
871 movl 0x300+des_SPtrans(%ecx),%ebp 872 xorl %ebp, %esi 873 movl 24(%esp), %ebp | 723 xorl 0x300(%ebp,%ecx),%esi |
874 movb %dh, %cl 875 andl $0xff, %eax 876 andl $0xff, %edx | 724 movb %dh, %cl 725 andl $0xff, %eax 726 andl $0xff, %edx |
877 movl 0x600+des_SPtrans(%ebx),%ebx 878 xorl %ebx, %esi 879 movl 0x700+des_SPtrans(%ecx),%ebx 880 xorl %ebx, %esi 881 movl 0x400+des_SPtrans(%eax),%ebx 882 xorl %ebx, %esi 883 movl 0x500+des_SPtrans(%edx),%ebx 884 xorl %ebx, %esi | 727 xorl 0x600(%ebp,%ebx),%esi 728 xorl 0x700(%ebp,%ecx),%esi 729 movl 24(%esp), %ecx 730 xorl 0x400(%ebp,%eax),%esi 731 xorl 0x500(%ebp,%edx),%esi |
885 | 732 |
886 # Round 9 887 movl 72(%ebp), %eax | 733 734 movl 72(%ecx), %eax |
888 xorl %ebx, %ebx | 735 xorl %ebx, %ebx |
889 movl 76(%ebp), %edx | 736 movl 76(%ecx), %edx |
890 xorl %esi, %eax | 737 xorl %esi, %eax |
738 xorl %ecx, %ecx |
|
891 xorl %esi, %edx 892 andl $0xfcfcfcfc, %eax 893 andl $0xcfcfcfcf, %edx 894 movb %al, %bl 895 movb %ah, %cl 896 rorl $4, %edx | 739 xorl %esi, %edx 740 andl $0xfcfcfcfc, %eax 741 andl $0xcfcfcfcf, %edx 742 movb %al, %bl 743 movb %ah, %cl 744 rorl $4, %edx |
897 movl des_SPtrans(%ebx),%ebp | 745 xorl (%ebp,%ebx),%edi |
898 movb %dl, %bl | 746 movb %dl, %bl |
899 xorl %ebp, %edi 900 movl 0x200+des_SPtrans(%ecx),%ebp 901 xorl %ebp, %edi | 747 xorl 0x200(%ebp,%ecx),%edi |
902 movb %dh, %cl 903 shrl $16, %eax | 748 movb %dh, %cl 749 shrl $16, %eax |
904 movl 0x100+des_SPtrans(%ebx),%ebp 905 xorl %ebp, %edi | 750 xorl 0x100(%ebp,%ebx),%edi |
906 movb %ah, %bl 907 shrl $16, %edx | 751 movb %ah, %bl 752 shrl $16, %edx |
908 movl 0x300+des_SPtrans(%ecx),%ebp 909 xorl %ebp, %edi 910 movl 24(%esp), %ebp | 753 xorl 0x300(%ebp,%ecx),%edi |
911 movb %dh, %cl 912 andl $0xff, %eax 913 andl $0xff, %edx | 754 movb %dh, %cl 755 andl $0xff, %eax 756 andl $0xff, %edx |
914 movl 0x600+des_SPtrans(%ebx),%ebx 915 xorl %ebx, %edi 916 movl 0x700+des_SPtrans(%ecx),%ebx 917 xorl %ebx, %edi 918 movl 0x400+des_SPtrans(%eax),%ebx 919 xorl %ebx, %edi 920 movl 0x500+des_SPtrans(%edx),%ebx 921 xorl %ebx, %edi | 757 xorl 0x600(%ebp,%ebx),%edi 758 xorl 0x700(%ebp,%ecx),%edi 759 movl 24(%esp), %ecx 760 xorl 0x400(%ebp,%eax),%edi 761 xorl 0x500(%ebp,%edx),%edi |
922 | 762 |
923 # Round 8 924 movl 64(%ebp), %eax | 763 764 movl 64(%ecx), %eax |
925 xorl %ebx, %ebx | 765 xorl %ebx, %ebx |
926 movl 68(%ebp), %edx | 766 movl 68(%ecx), %edx |
927 xorl %edi, %eax | 767 xorl %edi, %eax |
768 xorl %ecx, %ecx |
|
928 xorl %edi, %edx 929 andl $0xfcfcfcfc, %eax 930 andl $0xcfcfcfcf, %edx 931 movb %al, %bl 932 movb %ah, %cl 933 rorl $4, %edx | 769 xorl %edi, %edx 770 andl $0xfcfcfcfc, %eax 771 andl $0xcfcfcfcf, %edx 772 movb %al, %bl 773 movb %ah, %cl 774 rorl $4, %edx |
934 movl des_SPtrans(%ebx),%ebp | 775 xorl (%ebp,%ebx),%esi |
935 movb %dl, %bl | 776 movb %dl, %bl |
936 xorl %ebp, %esi 937 movl 0x200+des_SPtrans(%ecx),%ebp 938 xorl %ebp, %esi | 777 xorl 0x200(%ebp,%ecx),%esi |
939 movb %dh, %cl 940 shrl $16, %eax | 778 movb %dh, %cl 779 shrl $16, %eax |
941 movl 0x100+des_SPtrans(%ebx),%ebp 942 xorl %ebp, %esi | 780 xorl 0x100(%ebp,%ebx),%esi |
943 movb %ah, %bl 944 shrl $16, %edx | 781 movb %ah, %bl 782 shrl $16, %edx |
945 movl 0x300+des_SPtrans(%ecx),%ebp 946 xorl %ebp, %esi 947 movl 24(%esp), %ebp | 783 xorl 0x300(%ebp,%ecx),%esi |
948 movb %dh, %cl 949 andl $0xff, %eax 950 andl $0xff, %edx | 784 movb %dh, %cl 785 andl $0xff, %eax 786 andl $0xff, %edx |
951 movl 0x600+des_SPtrans(%ebx),%ebx 952 xorl %ebx, %esi 953 movl 0x700+des_SPtrans(%ecx),%ebx 954 xorl %ebx, %esi 955 movl 0x400+des_SPtrans(%eax),%ebx 956 xorl %ebx, %esi 957 movl 0x500+des_SPtrans(%edx),%ebx 958 xorl %ebx, %esi | 787 xorl 0x600(%ebp,%ebx),%esi 788 xorl 0x700(%ebp,%ecx),%esi 789 movl 24(%esp), %ecx 790 xorl 0x400(%ebp,%eax),%esi 791 xorl 0x500(%ebp,%edx),%esi |
959 | 792 |
960 # Round 7 961 movl 56(%ebp), %eax | 793 794 movl 56(%ecx), %eax |
962 xorl %ebx, %ebx | 795 xorl %ebx, %ebx |
963 movl 60(%ebp), %edx | 796 movl 60(%ecx), %edx |
964 xorl %esi, %eax | 797 xorl %esi, %eax |
798 xorl %ecx, %ecx |
|
965 xorl %esi, %edx 966 andl $0xfcfcfcfc, %eax 967 andl $0xcfcfcfcf, %edx 968 movb %al, %bl 969 movb %ah, %cl 970 rorl $4, %edx | 799 xorl %esi, %edx 800 andl $0xfcfcfcfc, %eax 801 andl $0xcfcfcfcf, %edx 802 movb %al, %bl 803 movb %ah, %cl 804 rorl $4, %edx |
971 movl des_SPtrans(%ebx),%ebp | 805 xorl (%ebp,%ebx),%edi |
972 movb %dl, %bl | 806 movb %dl, %bl |
973 xorl %ebp, %edi 974 movl 0x200+des_SPtrans(%ecx),%ebp 975 xorl %ebp, %edi | 807 xorl 0x200(%ebp,%ecx),%edi |
976 movb %dh, %cl 977 shrl $16, %eax | 808 movb %dh, %cl 809 shrl $16, %eax |
978 movl 0x100+des_SPtrans(%ebx),%ebp 979 xorl %ebp, %edi | 810 xorl 0x100(%ebp,%ebx),%edi |
980 movb %ah, %bl 981 shrl $16, %edx | 811 movb %ah, %bl 812 shrl $16, %edx |
982 movl 0x300+des_SPtrans(%ecx),%ebp 983 xorl %ebp, %edi 984 movl 24(%esp), %ebp | 813 xorl 0x300(%ebp,%ecx),%edi |
985 movb %dh, %cl 986 andl $0xff, %eax 987 andl $0xff, %edx | 814 movb %dh, %cl 815 andl $0xff, %eax 816 andl $0xff, %edx |
988 movl 0x600+des_SPtrans(%ebx),%ebx 989 xorl %ebx, %edi 990 movl 0x700+des_SPtrans(%ecx),%ebx 991 xorl %ebx, %edi 992 movl 0x400+des_SPtrans(%eax),%ebx 993 xorl %ebx, %edi 994 movl 0x500+des_SPtrans(%edx),%ebx 995 xorl %ebx, %edi | 817 xorl 0x600(%ebp,%ebx),%edi 818 xorl 0x700(%ebp,%ecx),%edi 819 movl 24(%esp), %ecx 820 xorl 0x400(%ebp,%eax),%edi 821 xorl 0x500(%ebp,%edx),%edi |
996 | 822 |
997 # Round 6 998 movl 48(%ebp), %eax | 823 824 movl 48(%ecx), %eax |
999 xorl %ebx, %ebx | 825 xorl %ebx, %ebx |
1000 movl 52(%ebp), %edx | 826 movl 52(%ecx), %edx |
1001 xorl %edi, %eax | 827 xorl %edi, %eax |
828 xorl %ecx, %ecx |
|
1002 xorl %edi, %edx 1003 andl $0xfcfcfcfc, %eax 1004 andl $0xcfcfcfcf, %edx 1005 movb %al, %bl 1006 movb %ah, %cl 1007 rorl $4, %edx | 829 xorl %edi, %edx 830 andl $0xfcfcfcfc, %eax 831 andl $0xcfcfcfcf, %edx 832 movb %al, %bl 833 movb %ah, %cl 834 rorl $4, %edx |
1008 movl des_SPtrans(%ebx),%ebp | 835 xorl (%ebp,%ebx),%esi |
1009 movb %dl, %bl | 836 movb %dl, %bl |
1010 xorl %ebp, %esi 1011 movl 0x200+des_SPtrans(%ecx),%ebp 1012 xorl %ebp, %esi | 837 xorl 0x200(%ebp,%ecx),%esi |
1013 movb %dh, %cl 1014 shrl $16, %eax | 838 movb %dh, %cl 839 shrl $16, %eax |
1015 movl 0x100+des_SPtrans(%ebx),%ebp 1016 xorl %ebp, %esi | 840 xorl 0x100(%ebp,%ebx),%esi |
1017 movb %ah, %bl 1018 shrl $16, %edx | 841 movb %ah, %bl 842 shrl $16, %edx |
1019 movl 0x300+des_SPtrans(%ecx),%ebp 1020 xorl %ebp, %esi 1021 movl 24(%esp), %ebp | 843 xorl 0x300(%ebp,%ecx),%esi |
1022 movb %dh, %cl 1023 andl $0xff, %eax 1024 andl $0xff, %edx | 844 movb %dh, %cl 845 andl $0xff, %eax 846 andl $0xff, %edx |
1025 movl 0x600+des_SPtrans(%ebx),%ebx 1026 xorl %ebx, %esi 1027 movl 0x700+des_SPtrans(%ecx),%ebx 1028 xorl %ebx, %esi 1029 movl 0x400+des_SPtrans(%eax),%ebx 1030 xorl %ebx, %esi 1031 movl 0x500+des_SPtrans(%edx),%ebx 1032 xorl %ebx, %esi | 847 xorl 0x600(%ebp,%ebx),%esi 848 xorl 0x700(%ebp,%ecx),%esi 849 movl 24(%esp), %ecx 850 xorl 0x400(%ebp,%eax),%esi 851 xorl 0x500(%ebp,%edx),%esi |
1033 | 852 |
1034 # Round 5 1035 movl 40(%ebp), %eax | 853 854 movl 40(%ecx), %eax |
1036 xorl %ebx, %ebx | 855 xorl %ebx, %ebx |
1037 movl 44(%ebp), %edx | 856 movl 44(%ecx), %edx |
1038 xorl %esi, %eax | 857 xorl %esi, %eax |
858 xorl %ecx, %ecx |
|
1039 xorl %esi, %edx 1040 andl $0xfcfcfcfc, %eax 1041 andl $0xcfcfcfcf, %edx 1042 movb %al, %bl 1043 movb %ah, %cl 1044 rorl $4, %edx | 859 xorl %esi, %edx 860 andl $0xfcfcfcfc, %eax 861 andl $0xcfcfcfcf, %edx 862 movb %al, %bl 863 movb %ah, %cl 864 rorl $4, %edx |
1045 movl des_SPtrans(%ebx),%ebp | 865 xorl (%ebp,%ebx),%edi |
1046 movb %dl, %bl | 866 movb %dl, %bl |
1047 xorl %ebp, %edi 1048 movl 0x200+des_SPtrans(%ecx),%ebp 1049 xorl %ebp, %edi | 867 xorl 0x200(%ebp,%ecx),%edi |
1050 movb %dh, %cl 1051 shrl $16, %eax | 868 movb %dh, %cl 869 shrl $16, %eax |
1052 movl 0x100+des_SPtrans(%ebx),%ebp 1053 xorl %ebp, %edi | 870 xorl 0x100(%ebp,%ebx),%edi |
1054 movb %ah, %bl 1055 shrl $16, %edx | 871 movb %ah, %bl 872 shrl $16, %edx |
1056 movl 0x300+des_SPtrans(%ecx),%ebp 1057 xorl %ebp, %edi 1058 movl 24(%esp), %ebp | 873 xorl 0x300(%ebp,%ecx),%edi |
1059 movb %dh, %cl 1060 andl $0xff, %eax 1061 andl $0xff, %edx | 874 movb %dh, %cl 875 andl $0xff, %eax 876 andl $0xff, %edx |
1062 movl 0x600+des_SPtrans(%ebx),%ebx 1063 xorl %ebx, %edi 1064 movl 0x700+des_SPtrans(%ecx),%ebx 1065 xorl %ebx, %edi 1066 movl 0x400+des_SPtrans(%eax),%ebx 1067 xorl %ebx, %edi 1068 movl 0x500+des_SPtrans(%edx),%ebx 1069 xorl %ebx, %edi | 877 xorl 0x600(%ebp,%ebx),%edi 878 xorl 0x700(%ebp,%ecx),%edi 879 movl 24(%esp), %ecx 880 xorl 0x400(%ebp,%eax),%edi 881 xorl 0x500(%ebp,%edx),%edi |
1070 | 882 |
1071 # Round 4 1072 movl 32(%ebp), %eax | 883 884 movl 32(%ecx), %eax |
1073 xorl %ebx, %ebx | 885 xorl %ebx, %ebx |
1074 movl 36(%ebp), %edx | 886 movl 36(%ecx), %edx |
1075 xorl %edi, %eax | 887 xorl %edi, %eax |
888 xorl %ecx, %ecx |
|
1076 xorl %edi, %edx 1077 andl $0xfcfcfcfc, %eax 1078 andl $0xcfcfcfcf, %edx 1079 movb %al, %bl 1080 movb %ah, %cl 1081 rorl $4, %edx | 889 xorl %edi, %edx 890 andl $0xfcfcfcfc, %eax 891 andl $0xcfcfcfcf, %edx 892 movb %al, %bl 893 movb %ah, %cl 894 rorl $4, %edx |
1082 movl des_SPtrans(%ebx),%ebp | 895 xorl (%ebp,%ebx),%esi |
1083 movb %dl, %bl | 896 movb %dl, %bl |
1084 xorl %ebp, %esi 1085 movl 0x200+des_SPtrans(%ecx),%ebp 1086 xorl %ebp, %esi | 897 xorl 0x200(%ebp,%ecx),%esi |
1087 movb %dh, %cl 1088 shrl $16, %eax | 898 movb %dh, %cl 899 shrl $16, %eax |
1089 movl 0x100+des_SPtrans(%ebx),%ebp 1090 xorl %ebp, %esi | 900 xorl 0x100(%ebp,%ebx),%esi |
1091 movb %ah, %bl 1092 shrl $16, %edx | 901 movb %ah, %bl 902 shrl $16, %edx |
1093 movl 0x300+des_SPtrans(%ecx),%ebp 1094 xorl %ebp, %esi 1095 movl 24(%esp), %ebp | 903 xorl 0x300(%ebp,%ecx),%esi |
1096 movb %dh, %cl 1097 andl $0xff, %eax 1098 andl $0xff, %edx | 904 movb %dh, %cl 905 andl $0xff, %eax 906 andl $0xff, %edx |
1099 movl 0x600+des_SPtrans(%ebx),%ebx 1100 xorl %ebx, %esi 1101 movl 0x700+des_SPtrans(%ecx),%ebx 1102 xorl %ebx, %esi 1103 movl 0x400+des_SPtrans(%eax),%ebx 1104 xorl %ebx, %esi 1105 movl 0x500+des_SPtrans(%edx),%ebx 1106 xorl %ebx, %esi | 907 xorl 0x600(%ebp,%ebx),%esi 908 xorl 0x700(%ebp,%ecx),%esi 909 movl 24(%esp), %ecx 910 xorl 0x400(%ebp,%eax),%esi 911 xorl 0x500(%ebp,%edx),%esi |
1107 | 912 |
1108 # Round 3 1109 movl 24(%ebp), %eax | 913 914 movl 24(%ecx), %eax |
1110 xorl %ebx, %ebx | 915 xorl %ebx, %ebx |
1111 movl 28(%ebp), %edx | 916 movl 28(%ecx), %edx |
1112 xorl %esi, %eax | 917 xorl %esi, %eax |
918 xorl %ecx, %ecx |
|
1113 xorl %esi, %edx 1114 andl $0xfcfcfcfc, %eax 1115 andl $0xcfcfcfcf, %edx 1116 movb %al, %bl 1117 movb %ah, %cl 1118 rorl $4, %edx | 919 xorl %esi, %edx 920 andl $0xfcfcfcfc, %eax 921 andl $0xcfcfcfcf, %edx 922 movb %al, %bl 923 movb %ah, %cl 924 rorl $4, %edx |
1119 movl des_SPtrans(%ebx),%ebp | 925 xorl (%ebp,%ebx),%edi |
1120 movb %dl, %bl | 926 movb %dl, %bl |
1121 xorl %ebp, %edi 1122 movl 0x200+des_SPtrans(%ecx),%ebp 1123 xorl %ebp, %edi | 927 xorl 0x200(%ebp,%ecx),%edi |
1124 movb %dh, %cl 1125 shrl $16, %eax | 928 movb %dh, %cl 929 shrl $16, %eax |
1126 movl 0x100+des_SPtrans(%ebx),%ebp 1127 xorl %ebp, %edi | 930 xorl 0x100(%ebp,%ebx),%edi |
1128 movb %ah, %bl 1129 shrl $16, %edx | 931 movb %ah, %bl 932 shrl $16, %edx |
1130 movl 0x300+des_SPtrans(%ecx),%ebp 1131 xorl %ebp, %edi 1132 movl 24(%esp), %ebp | 933 xorl 0x300(%ebp,%ecx),%edi |
1133 movb %dh, %cl 1134 andl $0xff, %eax 1135 andl $0xff, %edx | 934 movb %dh, %cl 935 andl $0xff, %eax 936 andl $0xff, %edx |
1136 movl 0x600+des_SPtrans(%ebx),%ebx 1137 xorl %ebx, %edi 1138 movl 0x700+des_SPtrans(%ecx),%ebx 1139 xorl %ebx, %edi 1140 movl 0x400+des_SPtrans(%eax),%ebx 1141 xorl %ebx, %edi 1142 movl 0x500+des_SPtrans(%edx),%ebx 1143 xorl %ebx, %edi | 937 xorl 0x600(%ebp,%ebx),%edi 938 xorl 0x700(%ebp,%ecx),%edi 939 movl 24(%esp), %ecx 940 xorl 0x400(%ebp,%eax),%edi 941 xorl 0x500(%ebp,%edx),%edi |
1144 | 942 |
1145 # Round 2 1146 movl 16(%ebp), %eax | 943 944 movl 16(%ecx), %eax |
1147 xorl %ebx, %ebx | 945 xorl %ebx, %ebx |
1148 movl 20(%ebp), %edx | 946 movl 20(%ecx), %edx |
1149 xorl %edi, %eax | 947 xorl %edi, %eax |
948 xorl %ecx, %ecx |
|
1150 xorl %edi, %edx 1151 andl $0xfcfcfcfc, %eax 1152 andl $0xcfcfcfcf, %edx 1153 movb %al, %bl 1154 movb %ah, %cl 1155 rorl $4, %edx | 949 xorl %edi, %edx 950 andl $0xfcfcfcfc, %eax 951 andl $0xcfcfcfcf, %edx 952 movb %al, %bl 953 movb %ah, %cl 954 rorl $4, %edx |
1156 movl des_SPtrans(%ebx),%ebp | 955 xorl (%ebp,%ebx),%esi |
1157 movb %dl, %bl | 956 movb %dl, %bl |
1158 xorl %ebp, %esi 1159 movl 0x200+des_SPtrans(%ecx),%ebp 1160 xorl %ebp, %esi | 957 xorl 0x200(%ebp,%ecx),%esi |
1161 movb %dh, %cl 1162 shrl $16, %eax | 958 movb %dh, %cl 959 shrl $16, %eax |
1163 movl 0x100+des_SPtrans(%ebx),%ebp 1164 xorl %ebp, %esi | 960 xorl 0x100(%ebp,%ebx),%esi |
1165 movb %ah, %bl 1166 shrl $16, %edx | 961 movb %ah, %bl 962 shrl $16, %edx |
1167 movl 0x300+des_SPtrans(%ecx),%ebp 1168 xorl %ebp, %esi 1169 movl 24(%esp), %ebp | 963 xorl 0x300(%ebp,%ecx),%esi |
1170 movb %dh, %cl 1171 andl $0xff, %eax 1172 andl $0xff, %edx | 964 movb %dh, %cl 965 andl $0xff, %eax 966 andl $0xff, %edx |
1173 movl 0x600+des_SPtrans(%ebx),%ebx 1174 xorl %ebx, %esi 1175 movl 0x700+des_SPtrans(%ecx),%ebx 1176 xorl %ebx, %esi 1177 movl 0x400+des_SPtrans(%eax),%ebx 1178 xorl %ebx, %esi 1179 movl 0x500+des_SPtrans(%edx),%ebx 1180 xorl %ebx, %esi | 967 xorl 0x600(%ebp,%ebx),%esi 968 xorl 0x700(%ebp,%ecx),%esi 969 movl 24(%esp), %ecx 970 xorl 0x400(%ebp,%eax),%esi 971 xorl 0x500(%ebp,%edx),%esi |
1181 | 972 |
1182 # Round 1 1183 movl 8(%ebp), %eax | 973 974 movl 8(%ecx), %eax |
1184 xorl %ebx, %ebx | 975 xorl %ebx, %ebx |
1185 movl 12(%ebp), %edx | 976 movl 12(%ecx), %edx |
1186 xorl %esi, %eax | 977 xorl %esi, %eax |
978 xorl %ecx, %ecx |
|
1187 xorl %esi, %edx 1188 andl $0xfcfcfcfc, %eax 1189 andl $0xcfcfcfcf, %edx 1190 movb %al, %bl 1191 movb %ah, %cl 1192 rorl $4, %edx | 979 xorl %esi, %edx 980 andl $0xfcfcfcfc, %eax 981 andl $0xcfcfcfcf, %edx 982 movb %al, %bl 983 movb %ah, %cl 984 rorl $4, %edx |
1193 movl des_SPtrans(%ebx),%ebp | 985 xorl (%ebp,%ebx),%edi |
1194 movb %dl, %bl | 986 movb %dl, %bl |
1195 xorl %ebp, %edi 1196 movl 0x200+des_SPtrans(%ecx),%ebp 1197 xorl %ebp, %edi | 987 xorl 0x200(%ebp,%ecx),%edi |
1198 movb %dh, %cl 1199 shrl $16, %eax | 988 movb %dh, %cl 989 shrl $16, %eax |
1200 movl 0x100+des_SPtrans(%ebx),%ebp 1201 xorl %ebp, %edi | 990 xorl 0x100(%ebp,%ebx),%edi |
1202 movb %ah, %bl 1203 shrl $16, %edx | 991 movb %ah, %bl 992 shrl $16, %edx |
1204 movl 0x300+des_SPtrans(%ecx),%ebp 1205 xorl %ebp, %edi 1206 movl 24(%esp), %ebp | 993 xorl 0x300(%ebp,%ecx),%edi |
1207 movb %dh, %cl 1208 andl $0xff, %eax 1209 andl $0xff, %edx | 994 movb %dh, %cl 995 andl $0xff, %eax 996 andl $0xff, %edx |
1210 movl 0x600+des_SPtrans(%ebx),%ebx 1211 xorl %ebx, %edi 1212 movl 0x700+des_SPtrans(%ecx),%ebx 1213 xorl %ebx, %edi 1214 movl 0x400+des_SPtrans(%eax),%ebx 1215 xorl %ebx, %edi 1216 movl 0x500+des_SPtrans(%edx),%ebx 1217 xorl %ebx, %edi | 997 xorl 0x600(%ebp,%ebx),%edi 998 xorl 0x700(%ebp,%ecx),%edi 999 movl 24(%esp), %ecx 1000 xorl 0x400(%ebp,%eax),%edi 1001 xorl 0x500(%ebp,%edx),%edi |
1218 | 1002 |
1219 # Round 0 1220 movl (%ebp), %eax | 1003 1004 movl (%ecx), %eax |
1221 xorl %ebx, %ebx | 1005 xorl %ebx, %ebx |
1222 movl 4(%ebp), %edx | 1006 movl 4(%ecx), %edx |
1223 xorl %edi, %eax | 1007 xorl %edi, %eax |
1008 xorl %ecx, %ecx |
|
1224 xorl %edi, %edx 1225 andl $0xfcfcfcfc, %eax 1226 andl $0xcfcfcfcf, %edx 1227 movb %al, %bl 1228 movb %ah, %cl 1229 rorl $4, %edx | 1009 xorl %edi, %edx 1010 andl $0xfcfcfcfc, %eax 1011 andl $0xcfcfcfcf, %edx 1012 movb %al, %bl 1013 movb %ah, %cl 1014 rorl $4, %edx |
1230 movl des_SPtrans(%ebx),%ebp | 1015 xorl (%ebp,%ebx),%esi |
1231 movb %dl, %bl | 1016 movb %dl, %bl |
1232 xorl %ebp, %esi 1233 movl 0x200+des_SPtrans(%ecx),%ebp 1234 xorl %ebp, %esi | 1017 xorl 0x200(%ebp,%ecx),%esi |
1235 movb %dh, %cl 1236 shrl $16, %eax | 1018 movb %dh, %cl 1019 shrl $16, %eax |
1237 movl 0x100+des_SPtrans(%ebx),%ebp 1238 xorl %ebp, %esi | 1020 xorl 0x100(%ebp,%ebx),%esi |
1239 movb %ah, %bl 1240 shrl $16, %edx | 1021 movb %ah, %bl 1022 shrl $16, %edx |
1241 movl 0x300+des_SPtrans(%ecx),%ebp 1242 xorl %ebp, %esi 1243 movl 24(%esp), %ebp | 1023 xorl 0x300(%ebp,%ecx),%esi |
1244 movb %dh, %cl 1245 andl $0xff, %eax 1246 andl $0xff, %edx | 1024 movb %dh, %cl 1025 andl $0xff, %eax 1026 andl $0xff, %edx |
1247 movl 0x600+des_SPtrans(%ebx),%ebx 1248 xorl %ebx, %esi 1249 movl 0x700+des_SPtrans(%ecx),%ebx 1250 xorl %ebx, %esi 1251 movl 0x400+des_SPtrans(%eax),%ebx 1252 xorl %ebx, %esi 1253 movl 0x500+des_SPtrans(%edx),%ebx 1254 xorl %ebx, %esi | 1027 xorl 0x600(%ebp,%ebx),%esi 1028 xorl 0x700(%ebp,%ecx),%esi 1029 movl 24(%esp), %ecx 1030 xorl 0x400(%ebp,%eax),%esi 1031 xorl 0x500(%ebp,%edx),%esi |
1255.L001end: 1256 | 1032.L001end: 1033 |
1257 # FP | 1034 |
1258 movl 20(%esp), %edx 1259.byte 209 | 1035 movl 20(%esp), %edx 1036.byte 209 |
1260.byte 206 # rorl $1 %esi | 1037.byte 206 |
1261 movl %edi, %eax 1262 xorl %esi, %edi 1263 andl $0xaaaaaaaa, %edi 1264 xorl %edi, %eax 1265 xorl %edi, %esi 1266 1267 roll $23, %eax 1268 movl %eax, %edi --- 26 unchanged lines hidden (view full) --- 1295 rorl $4, %eax 1296 movl %eax, (%edx) 1297 movl %esi, 4(%edx) 1298 popl %ebp 1299 popl %ebx 1300 popl %edi 1301 popl %esi 1302 ret | 1038 movl %edi, %eax 1039 xorl %esi, %edi 1040 andl $0xaaaaaaaa, %edi 1041 xorl %edi, %eax 1042 xorl %edi, %esi 1043 1044 roll $23, %eax 1045 movl %eax, %edi --- 26 unchanged lines hidden (view full) --- 1072 rorl $4, %eax 1073 movl %eax, (%edx) 1074 movl %esi, 4(%edx) 1075 popl %ebp 1076 popl %ebx 1077 popl %edi 1078 popl %esi 1079 ret |
1303.L_des_encrypt1_end: 1304 .size des_encrypt1,.L_des_encrypt1_end-des_encrypt1 | 1080.L_DES_encrypt1_end: 1081 .size DES_encrypt1,.L_DES_encrypt1_end-DES_encrypt1 |
1305.ident "desasm.pl" 1306.text 1307 .align 16 | 1082.ident "desasm.pl" 1083.text 1084 .align 16 |
1308.globl des_encrypt2 1309 .type des_encrypt2,@function 1310des_encrypt2: | 1085.globl DES_encrypt2 1086 .type DES_encrypt2,@function 1087DES_encrypt2: |
1311 pushl %esi 1312 pushl %edi 1313 | 1088 pushl %esi 1089 pushl %edi 1090 |
1314 # Load the 2 words | 1091 |
1315 movl 12(%esp), %eax 1316 xorl %ecx, %ecx 1317 pushl %ebx 1318 pushl %ebp 1319 movl (%eax), %esi 1320 movl 28(%esp), %ebx 1321 roll $3, %esi 1322 movl 4(%eax), %edi 1323 roll $3, %edi | 1092 movl 12(%esp), %eax 1093 xorl %ecx, %ecx 1094 pushl %ebx 1095 pushl %ebp 1096 movl (%eax), %esi 1097 movl 28(%esp), %ebx 1098 roll $3, %esi 1099 movl 4(%eax), %edi 1100 roll $3, %edi |
1324 movl 24(%esp), %ebp | 1101 leal DES_SPtrans, %ebp 1102 movl 24(%esp), %ecx |
1325 cmpl $0, %ebx 1326 je .L002start_decrypt 1327 | 1103 cmpl $0, %ebx 1104 je .L002start_decrypt 1105 |
1328 # Round 0 1329 movl (%ebp), %eax | 1106 1107 movl (%ecx), %eax |
1330 xorl %ebx, %ebx | 1108 xorl %ebx, %ebx |
1331 movl 4(%ebp), %edx | 1109 movl 4(%ecx), %edx |
1332 xorl %esi, %eax | 1110 xorl %esi, %eax |
1111 xorl %ecx, %ecx |
|
1333 xorl %esi, %edx 1334 andl $0xfcfcfcfc, %eax 1335 andl $0xcfcfcfcf, %edx 1336 movb %al, %bl 1337 movb %ah, %cl 1338 rorl $4, %edx | 1112 xorl %esi, %edx 1113 andl $0xfcfcfcfc, %eax 1114 andl $0xcfcfcfcf, %edx 1115 movb %al, %bl 1116 movb %ah, %cl 1117 rorl $4, %edx |
1339 movl des_SPtrans(%ebx),%ebp | 1118 xorl (%ebp,%ebx),%edi |
1340 movb %dl, %bl | 1119 movb %dl, %bl |
1341 xorl %ebp, %edi 1342 movl 0x200+des_SPtrans(%ecx),%ebp 1343 xorl %ebp, %edi | 1120 xorl 0x200(%ebp,%ecx),%edi |
1344 movb %dh, %cl 1345 shrl $16, %eax | 1121 movb %dh, %cl 1122 shrl $16, %eax |
1346 movl 0x100+des_SPtrans(%ebx),%ebp 1347 xorl %ebp, %edi | 1123 xorl 0x100(%ebp,%ebx),%edi |
1348 movb %ah, %bl 1349 shrl $16, %edx | 1124 movb %ah, %bl 1125 shrl $16, %edx |
1350 movl 0x300+des_SPtrans(%ecx),%ebp 1351 xorl %ebp, %edi 1352 movl 24(%esp), %ebp | 1126 xorl 0x300(%ebp,%ecx),%edi |
1353 movb %dh, %cl 1354 andl $0xff, %eax 1355 andl $0xff, %edx | 1127 movb %dh, %cl 1128 andl $0xff, %eax 1129 andl $0xff, %edx |
1356 movl 0x600+des_SPtrans(%ebx),%ebx 1357 xorl %ebx, %edi 1358 movl 0x700+des_SPtrans(%ecx),%ebx 1359 xorl %ebx, %edi 1360 movl 0x400+des_SPtrans(%eax),%ebx 1361 xorl %ebx, %edi 1362 movl 0x500+des_SPtrans(%edx),%ebx 1363 xorl %ebx, %edi | 1130 xorl 0x600(%ebp,%ebx),%edi 1131 xorl 0x700(%ebp,%ecx),%edi 1132 movl 24(%esp), %ecx 1133 xorl 0x400(%ebp,%eax),%edi 1134 xorl 0x500(%ebp,%edx),%edi |
1364 | 1135 |
1365 # Round 1 1366 movl 8(%ebp), %eax | 1136 1137 movl 8(%ecx), %eax |
1367 xorl %ebx, %ebx | 1138 xorl %ebx, %ebx |
1368 movl 12(%ebp), %edx | 1139 movl 12(%ecx), %edx |
1369 xorl %edi, %eax | 1140 xorl %edi, %eax |
1141 xorl %ecx, %ecx |
|
1370 xorl %edi, %edx 1371 andl $0xfcfcfcfc, %eax 1372 andl $0xcfcfcfcf, %edx 1373 movb %al, %bl 1374 movb %ah, %cl 1375 rorl $4, %edx | 1142 xorl %edi, %edx 1143 andl $0xfcfcfcfc, %eax 1144 andl $0xcfcfcfcf, %edx 1145 movb %al, %bl 1146 movb %ah, %cl 1147 rorl $4, %edx |
1376 movl des_SPtrans(%ebx),%ebp | 1148 xorl (%ebp,%ebx),%esi |
1377 movb %dl, %bl | 1149 movb %dl, %bl |
1378 xorl %ebp, %esi 1379 movl 0x200+des_SPtrans(%ecx),%ebp 1380 xorl %ebp, %esi | 1150 xorl 0x200(%ebp,%ecx),%esi |
1381 movb %dh, %cl 1382 shrl $16, %eax | 1151 movb %dh, %cl 1152 shrl $16, %eax |
1383 movl 0x100+des_SPtrans(%ebx),%ebp 1384 xorl %ebp, %esi | 1153 xorl 0x100(%ebp,%ebx),%esi |
1385 movb %ah, %bl 1386 shrl $16, %edx | 1154 movb %ah, %bl 1155 shrl $16, %edx |
1387 movl 0x300+des_SPtrans(%ecx),%ebp 1388 xorl %ebp, %esi 1389 movl 24(%esp), %ebp | 1156 xorl 0x300(%ebp,%ecx),%esi |
1390 movb %dh, %cl 1391 andl $0xff, %eax 1392 andl $0xff, %edx | 1157 movb %dh, %cl 1158 andl $0xff, %eax 1159 andl $0xff, %edx |
1393 movl 0x600+des_SPtrans(%ebx),%ebx 1394 xorl %ebx, %esi 1395 movl 0x700+des_SPtrans(%ecx),%ebx 1396 xorl %ebx, %esi 1397 movl 0x400+des_SPtrans(%eax),%ebx 1398 xorl %ebx, %esi 1399 movl 0x500+des_SPtrans(%edx),%ebx 1400 xorl %ebx, %esi | 1160 xorl 0x600(%ebp,%ebx),%esi 1161 xorl 0x700(%ebp,%ecx),%esi 1162 movl 24(%esp), %ecx 1163 xorl 0x400(%ebp,%eax),%esi 1164 xorl 0x500(%ebp,%edx),%esi |
1401 | 1165 |
1402 # Round 2 1403 movl 16(%ebp), %eax | 1166 1167 movl 16(%ecx), %eax |
1404 xorl %ebx, %ebx | 1168 xorl %ebx, %ebx |
1405 movl 20(%ebp), %edx | 1169 movl 20(%ecx), %edx |
1406 xorl %esi, %eax | 1170 xorl %esi, %eax |
1171 xorl %ecx, %ecx |
|
1407 xorl %esi, %edx 1408 andl $0xfcfcfcfc, %eax 1409 andl $0xcfcfcfcf, %edx 1410 movb %al, %bl 1411 movb %ah, %cl 1412 rorl $4, %edx | 1172 xorl %esi, %edx 1173 andl $0xfcfcfcfc, %eax 1174 andl $0xcfcfcfcf, %edx 1175 movb %al, %bl 1176 movb %ah, %cl 1177 rorl $4, %edx |
1413 movl des_SPtrans(%ebx),%ebp | 1178 xorl (%ebp,%ebx),%edi |
1414 movb %dl, %bl | 1179 movb %dl, %bl |
1415 xorl %ebp, %edi 1416 movl 0x200+des_SPtrans(%ecx),%ebp 1417 xorl %ebp, %edi | 1180 xorl 0x200(%ebp,%ecx),%edi |
1418 movb %dh, %cl 1419 shrl $16, %eax | 1181 movb %dh, %cl 1182 shrl $16, %eax |
1420 movl 0x100+des_SPtrans(%ebx),%ebp 1421 xorl %ebp, %edi | 1183 xorl 0x100(%ebp,%ebx),%edi |
1422 movb %ah, %bl 1423 shrl $16, %edx | 1184 movb %ah, %bl 1185 shrl $16, %edx |
1424 movl 0x300+des_SPtrans(%ecx),%ebp 1425 xorl %ebp, %edi 1426 movl 24(%esp), %ebp | 1186 xorl 0x300(%ebp,%ecx),%edi |
1427 movb %dh, %cl 1428 andl $0xff, %eax 1429 andl $0xff, %edx | 1187 movb %dh, %cl 1188 andl $0xff, %eax 1189 andl $0xff, %edx |
1430 movl 0x600+des_SPtrans(%ebx),%ebx 1431 xorl %ebx, %edi 1432 movl 0x700+des_SPtrans(%ecx),%ebx 1433 xorl %ebx, %edi 1434 movl 0x400+des_SPtrans(%eax),%ebx 1435 xorl %ebx, %edi 1436 movl 0x500+des_SPtrans(%edx),%ebx 1437 xorl %ebx, %edi | 1190 xorl 0x600(%ebp,%ebx),%edi 1191 xorl 0x700(%ebp,%ecx),%edi 1192 movl 24(%esp), %ecx 1193 xorl 0x400(%ebp,%eax),%edi 1194 xorl 0x500(%ebp,%edx),%edi |
1438 | 1195 |
1439 # Round 3 1440 movl 24(%ebp), %eax | 1196 1197 movl 24(%ecx), %eax |
1441 xorl %ebx, %ebx | 1198 xorl %ebx, %ebx |
1442 movl 28(%ebp), %edx | 1199 movl 28(%ecx), %edx |
1443 xorl %edi, %eax | 1200 xorl %edi, %eax |
1201 xorl %ecx, %ecx |
|
1444 xorl %edi, %edx 1445 andl $0xfcfcfcfc, %eax 1446 andl $0xcfcfcfcf, %edx 1447 movb %al, %bl 1448 movb %ah, %cl 1449 rorl $4, %edx | 1202 xorl %edi, %edx 1203 andl $0xfcfcfcfc, %eax 1204 andl $0xcfcfcfcf, %edx 1205 movb %al, %bl 1206 movb %ah, %cl 1207 rorl $4, %edx |
1450 movl des_SPtrans(%ebx),%ebp | 1208 xorl (%ebp,%ebx),%esi |
1451 movb %dl, %bl | 1209 movb %dl, %bl |
1452 xorl %ebp, %esi 1453 movl 0x200+des_SPtrans(%ecx),%ebp 1454 xorl %ebp, %esi | 1210 xorl 0x200(%ebp,%ecx),%esi |
1455 movb %dh, %cl 1456 shrl $16, %eax | 1211 movb %dh, %cl 1212 shrl $16, %eax |
1457 movl 0x100+des_SPtrans(%ebx),%ebp 1458 xorl %ebp, %esi | 1213 xorl 0x100(%ebp,%ebx),%esi |
1459 movb %ah, %bl 1460 shrl $16, %edx | 1214 movb %ah, %bl 1215 shrl $16, %edx |
1461 movl 0x300+des_SPtrans(%ecx),%ebp 1462 xorl %ebp, %esi 1463 movl 24(%esp), %ebp | 1216 xorl 0x300(%ebp,%ecx),%esi |
1464 movb %dh, %cl 1465 andl $0xff, %eax 1466 andl $0xff, %edx | 1217 movb %dh, %cl 1218 andl $0xff, %eax 1219 andl $0xff, %edx |
1467 movl 0x600+des_SPtrans(%ebx),%ebx 1468 xorl %ebx, %esi 1469 movl 0x700+des_SPtrans(%ecx),%ebx 1470 xorl %ebx, %esi 1471 movl 0x400+des_SPtrans(%eax),%ebx 1472 xorl %ebx, %esi 1473 movl 0x500+des_SPtrans(%edx),%ebx 1474 xorl %ebx, %esi | 1220 xorl 0x600(%ebp,%ebx),%esi 1221 xorl 0x700(%ebp,%ecx),%esi 1222 movl 24(%esp), %ecx 1223 xorl 0x400(%ebp,%eax),%esi 1224 xorl 0x500(%ebp,%edx),%esi |
1475 | 1225 |
1476 # Round 4 1477 movl 32(%ebp), %eax | 1226 1227 movl 32(%ecx), %eax |
1478 xorl %ebx, %ebx | 1228 xorl %ebx, %ebx |
1479 movl 36(%ebp), %edx | 1229 movl 36(%ecx), %edx |
1480 xorl %esi, %eax | 1230 xorl %esi, %eax |
1231 xorl %ecx, %ecx |
|
1481 xorl %esi, %edx 1482 andl $0xfcfcfcfc, %eax 1483 andl $0xcfcfcfcf, %edx 1484 movb %al, %bl 1485 movb %ah, %cl 1486 rorl $4, %edx | 1232 xorl %esi, %edx 1233 andl $0xfcfcfcfc, %eax 1234 andl $0xcfcfcfcf, %edx 1235 movb %al, %bl 1236 movb %ah, %cl 1237 rorl $4, %edx |
1487 movl des_SPtrans(%ebx),%ebp | 1238 xorl (%ebp,%ebx),%edi |
1488 movb %dl, %bl | 1239 movb %dl, %bl |
1489 xorl %ebp, %edi 1490 movl 0x200+des_SPtrans(%ecx),%ebp 1491 xorl %ebp, %edi | 1240 xorl 0x200(%ebp,%ecx),%edi |
1492 movb %dh, %cl 1493 shrl $16, %eax | 1241 movb %dh, %cl 1242 shrl $16, %eax |
1494 movl 0x100+des_SPtrans(%ebx),%ebp 1495 xorl %ebp, %edi | 1243 xorl 0x100(%ebp,%ebx),%edi |
1496 movb %ah, %bl 1497 shrl $16, %edx | 1244 movb %ah, %bl 1245 shrl $16, %edx |
1498 movl 0x300+des_SPtrans(%ecx),%ebp 1499 xorl %ebp, %edi 1500 movl 24(%esp), %ebp | 1246 xorl 0x300(%ebp,%ecx),%edi |
1501 movb %dh, %cl 1502 andl $0xff, %eax 1503 andl $0xff, %edx | 1247 movb %dh, %cl 1248 andl $0xff, %eax 1249 andl $0xff, %edx |
1504 movl 0x600+des_SPtrans(%ebx),%ebx 1505 xorl %ebx, %edi 1506 movl 0x700+des_SPtrans(%ecx),%ebx 1507 xorl %ebx, %edi 1508 movl 0x400+des_SPtrans(%eax),%ebx 1509 xorl %ebx, %edi 1510 movl 0x500+des_SPtrans(%edx),%ebx 1511 xorl %ebx, %edi | 1250 xorl 0x600(%ebp,%ebx),%edi 1251 xorl 0x700(%ebp,%ecx),%edi 1252 movl 24(%esp), %ecx 1253 xorl 0x400(%ebp,%eax),%edi 1254 xorl 0x500(%ebp,%edx),%edi |
1512 | 1255 |
1513 # Round 5 1514 movl 40(%ebp), %eax | 1256 1257 movl 40(%ecx), %eax |
1515 xorl %ebx, %ebx | 1258 xorl %ebx, %ebx |
1516 movl 44(%ebp), %edx | 1259 movl 44(%ecx), %edx |
1517 xorl %edi, %eax | 1260 xorl %edi, %eax |
1261 xorl %ecx, %ecx |
|
1518 xorl %edi, %edx 1519 andl $0xfcfcfcfc, %eax 1520 andl $0xcfcfcfcf, %edx 1521 movb %al, %bl 1522 movb %ah, %cl 1523 rorl $4, %edx | 1262 xorl %edi, %edx 1263 andl $0xfcfcfcfc, %eax 1264 andl $0xcfcfcfcf, %edx 1265 movb %al, %bl 1266 movb %ah, %cl 1267 rorl $4, %edx |
1524 movl des_SPtrans(%ebx),%ebp | 1268 xorl (%ebp,%ebx),%esi |
1525 movb %dl, %bl | 1269 movb %dl, %bl |
1526 xorl %ebp, %esi 1527 movl 0x200+des_SPtrans(%ecx),%ebp 1528 xorl %ebp, %esi | 1270 xorl 0x200(%ebp,%ecx),%esi |
1529 movb %dh, %cl 1530 shrl $16, %eax | 1271 movb %dh, %cl 1272 shrl $16, %eax |
1531 movl 0x100+des_SPtrans(%ebx),%ebp 1532 xorl %ebp, %esi | 1273 xorl 0x100(%ebp,%ebx),%esi |
1533 movb %ah, %bl 1534 shrl $16, %edx | 1274 movb %ah, %bl 1275 shrl $16, %edx |
1535 movl 0x300+des_SPtrans(%ecx),%ebp 1536 xorl %ebp, %esi 1537 movl 24(%esp), %ebp | 1276 xorl 0x300(%ebp,%ecx),%esi |
1538 movb %dh, %cl 1539 andl $0xff, %eax 1540 andl $0xff, %edx | 1277 movb %dh, %cl 1278 andl $0xff, %eax 1279 andl $0xff, %edx |
1541 movl 0x600+des_SPtrans(%ebx),%ebx 1542 xorl %ebx, %esi 1543 movl 0x700+des_SPtrans(%ecx),%ebx 1544 xorl %ebx, %esi 1545 movl 0x400+des_SPtrans(%eax),%ebx 1546 xorl %ebx, %esi 1547 movl 0x500+des_SPtrans(%edx),%ebx 1548 xorl %ebx, %esi | 1280 xorl 0x600(%ebp,%ebx),%esi 1281 xorl 0x700(%ebp,%ecx),%esi 1282 movl 24(%esp), %ecx 1283 xorl 0x400(%ebp,%eax),%esi 1284 xorl 0x500(%ebp,%edx),%esi |
1549 | 1285 |
1550 # Round 6 1551 movl 48(%ebp), %eax | 1286 1287 movl 48(%ecx), %eax |
1552 xorl %ebx, %ebx | 1288 xorl %ebx, %ebx |
1553 movl 52(%ebp), %edx | 1289 movl 52(%ecx), %edx |
1554 xorl %esi, %eax | 1290 xorl %esi, %eax |
1291 xorl %ecx, %ecx |
|
1555 xorl %esi, %edx 1556 andl $0xfcfcfcfc, %eax 1557 andl $0xcfcfcfcf, %edx 1558 movb %al, %bl 1559 movb %ah, %cl 1560 rorl $4, %edx | 1292 xorl %esi, %edx 1293 andl $0xfcfcfcfc, %eax 1294 andl $0xcfcfcfcf, %edx 1295 movb %al, %bl 1296 movb %ah, %cl 1297 rorl $4, %edx |
1561 movl des_SPtrans(%ebx),%ebp | 1298 xorl (%ebp,%ebx),%edi |
1562 movb %dl, %bl | 1299 movb %dl, %bl |
1563 xorl %ebp, %edi 1564 movl 0x200+des_SPtrans(%ecx),%ebp 1565 xorl %ebp, %edi | 1300 xorl 0x200(%ebp,%ecx),%edi |
1566 movb %dh, %cl 1567 shrl $16, %eax | 1301 movb %dh, %cl 1302 shrl $16, %eax |
1568 movl 0x100+des_SPtrans(%ebx),%ebp 1569 xorl %ebp, %edi | 1303 xorl 0x100(%ebp,%ebx),%edi |
1570 movb %ah, %bl 1571 shrl $16, %edx | 1304 movb %ah, %bl 1305 shrl $16, %edx |
1572 movl 0x300+des_SPtrans(%ecx),%ebp 1573 xorl %ebp, %edi 1574 movl 24(%esp), %ebp | 1306 xorl 0x300(%ebp,%ecx),%edi |
1575 movb %dh, %cl 1576 andl $0xff, %eax 1577 andl $0xff, %edx | 1307 movb %dh, %cl 1308 andl $0xff, %eax 1309 andl $0xff, %edx |
1578 movl 0x600+des_SPtrans(%ebx),%ebx 1579 xorl %ebx, %edi 1580 movl 0x700+des_SPtrans(%ecx),%ebx 1581 xorl %ebx, %edi 1582 movl 0x400+des_SPtrans(%eax),%ebx 1583 xorl %ebx, %edi 1584 movl 0x500+des_SPtrans(%edx),%ebx 1585 xorl %ebx, %edi | 1310 xorl 0x600(%ebp,%ebx),%edi 1311 xorl 0x700(%ebp,%ecx),%edi 1312 movl 24(%esp), %ecx 1313 xorl 0x400(%ebp,%eax),%edi 1314 xorl 0x500(%ebp,%edx),%edi |
1586 | 1315 |
1587 # Round 7 1588 movl 56(%ebp), %eax | 1316 1317 movl 56(%ecx), %eax |
1589 xorl %ebx, %ebx | 1318 xorl %ebx, %ebx |
1590 movl 60(%ebp), %edx | 1319 movl 60(%ecx), %edx |
1591 xorl %edi, %eax | 1320 xorl %edi, %eax |
1321 xorl %ecx, %ecx |
|
1592 xorl %edi, %edx 1593 andl $0xfcfcfcfc, %eax 1594 andl $0xcfcfcfcf, %edx 1595 movb %al, %bl 1596 movb %ah, %cl 1597 rorl $4, %edx | 1322 xorl %edi, %edx 1323 andl $0xfcfcfcfc, %eax 1324 andl $0xcfcfcfcf, %edx 1325 movb %al, %bl 1326 movb %ah, %cl 1327 rorl $4, %edx |
1598 movl des_SPtrans(%ebx),%ebp | 1328 xorl (%ebp,%ebx),%esi |
1599 movb %dl, %bl | 1329 movb %dl, %bl |
1600 xorl %ebp, %esi 1601 movl 0x200+des_SPtrans(%ecx),%ebp 1602 xorl %ebp, %esi | 1330 xorl 0x200(%ebp,%ecx),%esi |
1603 movb %dh, %cl 1604 shrl $16, %eax | 1331 movb %dh, %cl 1332 shrl $16, %eax |
1605 movl 0x100+des_SPtrans(%ebx),%ebp 1606 xorl %ebp, %esi | 1333 xorl 0x100(%ebp,%ebx),%esi |
1607 movb %ah, %bl 1608 shrl $16, %edx | 1334 movb %ah, %bl 1335 shrl $16, %edx |
1609 movl 0x300+des_SPtrans(%ecx),%ebp 1610 xorl %ebp, %esi 1611 movl 24(%esp), %ebp | 1336 xorl 0x300(%ebp,%ecx),%esi |
1612 movb %dh, %cl 1613 andl $0xff, %eax 1614 andl $0xff, %edx | 1337 movb %dh, %cl 1338 andl $0xff, %eax 1339 andl $0xff, %edx |
1615 movl 0x600+des_SPtrans(%ebx),%ebx 1616 xorl %ebx, %esi 1617 movl 0x700+des_SPtrans(%ecx),%ebx 1618 xorl %ebx, %esi 1619 movl 0x400+des_SPtrans(%eax),%ebx 1620 xorl %ebx, %esi 1621 movl 0x500+des_SPtrans(%edx),%ebx 1622 xorl %ebx, %esi | 1340 xorl 0x600(%ebp,%ebx),%esi 1341 xorl 0x700(%ebp,%ecx),%esi 1342 movl 24(%esp), %ecx 1343 xorl 0x400(%ebp,%eax),%esi 1344 xorl 0x500(%ebp,%edx),%esi |
1623 | 1345 |
1624 # Round 8 1625 movl 64(%ebp), %eax | 1346 1347 movl 64(%ecx), %eax |
1626 xorl %ebx, %ebx | 1348 xorl %ebx, %ebx |
1627 movl 68(%ebp), %edx | 1349 movl 68(%ecx), %edx |
1628 xorl %esi, %eax | 1350 xorl %esi, %eax |
1351 xorl %ecx, %ecx |
|
1629 xorl %esi, %edx 1630 andl $0xfcfcfcfc, %eax 1631 andl $0xcfcfcfcf, %edx 1632 movb %al, %bl 1633 movb %ah, %cl 1634 rorl $4, %edx | 1352 xorl %esi, %edx 1353 andl $0xfcfcfcfc, %eax 1354 andl $0xcfcfcfcf, %edx 1355 movb %al, %bl 1356 movb %ah, %cl 1357 rorl $4, %edx |
1635 movl des_SPtrans(%ebx),%ebp | 1358 xorl (%ebp,%ebx),%edi |
1636 movb %dl, %bl | 1359 movb %dl, %bl |
1637 xorl %ebp, %edi 1638 movl 0x200+des_SPtrans(%ecx),%ebp 1639 xorl %ebp, %edi | 1360 xorl 0x200(%ebp,%ecx),%edi |
1640 movb %dh, %cl 1641 shrl $16, %eax | 1361 movb %dh, %cl 1362 shrl $16, %eax |
1642 movl 0x100+des_SPtrans(%ebx),%ebp 1643 xorl %ebp, %edi | 1363 xorl 0x100(%ebp,%ebx),%edi |
1644 movb %ah, %bl 1645 shrl $16, %edx | 1364 movb %ah, %bl 1365 shrl $16, %edx |
1646 movl 0x300+des_SPtrans(%ecx),%ebp 1647 xorl %ebp, %edi 1648 movl 24(%esp), %ebp | 1366 xorl 0x300(%ebp,%ecx),%edi |
1649 movb %dh, %cl 1650 andl $0xff, %eax 1651 andl $0xff, %edx | 1367 movb %dh, %cl 1368 andl $0xff, %eax 1369 andl $0xff, %edx |
1652 movl 0x600+des_SPtrans(%ebx),%ebx 1653 xorl %ebx, %edi 1654 movl 0x700+des_SPtrans(%ecx),%ebx 1655 xorl %ebx, %edi 1656 movl 0x400+des_SPtrans(%eax),%ebx 1657 xorl %ebx, %edi 1658 movl 0x500+des_SPtrans(%edx),%ebx 1659 xorl %ebx, %edi | 1370 xorl 0x600(%ebp,%ebx),%edi 1371 xorl 0x700(%ebp,%ecx),%edi 1372 movl 24(%esp), %ecx 1373 xorl 0x400(%ebp,%eax),%edi 1374 xorl 0x500(%ebp,%edx),%edi |
1660 | 1375 |
1661 # Round 9 1662 movl 72(%ebp), %eax | 1376 1377 movl 72(%ecx), %eax |
1663 xorl %ebx, %ebx | 1378 xorl %ebx, %ebx |
1664 movl 76(%ebp), %edx | 1379 movl 76(%ecx), %edx |
1665 xorl %edi, %eax | 1380 xorl %edi, %eax |
1381 xorl %ecx, %ecx |
|
1666 xorl %edi, %edx 1667 andl $0xfcfcfcfc, %eax 1668 andl $0xcfcfcfcf, %edx 1669 movb %al, %bl 1670 movb %ah, %cl 1671 rorl $4, %edx | 1382 xorl %edi, %edx 1383 andl $0xfcfcfcfc, %eax 1384 andl $0xcfcfcfcf, %edx 1385 movb %al, %bl 1386 movb %ah, %cl 1387 rorl $4, %edx |
1672 movl des_SPtrans(%ebx),%ebp | 1388 xorl (%ebp,%ebx),%esi |
1673 movb %dl, %bl | 1389 movb %dl, %bl |
1674 xorl %ebp, %esi 1675 movl 0x200+des_SPtrans(%ecx),%ebp 1676 xorl %ebp, %esi | 1390 xorl 0x200(%ebp,%ecx),%esi |
1677 movb %dh, %cl 1678 shrl $16, %eax | 1391 movb %dh, %cl 1392 shrl $16, %eax |
1679 movl 0x100+des_SPtrans(%ebx),%ebp 1680 xorl %ebp, %esi | 1393 xorl 0x100(%ebp,%ebx),%esi |
1681 movb %ah, %bl 1682 shrl $16, %edx | 1394 movb %ah, %bl 1395 shrl $16, %edx |
1683 movl 0x300+des_SPtrans(%ecx),%ebp 1684 xorl %ebp, %esi 1685 movl 24(%esp), %ebp | 1396 xorl 0x300(%ebp,%ecx),%esi |
1686 movb %dh, %cl 1687 andl $0xff, %eax 1688 andl $0xff, %edx | 1397 movb %dh, %cl 1398 andl $0xff, %eax 1399 andl $0xff, %edx |
1689 movl 0x600+des_SPtrans(%ebx),%ebx 1690 xorl %ebx, %esi 1691 movl 0x700+des_SPtrans(%ecx),%ebx 1692 xorl %ebx, %esi 1693 movl 0x400+des_SPtrans(%eax),%ebx 1694 xorl %ebx, %esi 1695 movl 0x500+des_SPtrans(%edx),%ebx 1696 xorl %ebx, %esi | 1400 xorl 0x600(%ebp,%ebx),%esi 1401 xorl 0x700(%ebp,%ecx),%esi 1402 movl 24(%esp), %ecx 1403 xorl 0x400(%ebp,%eax),%esi 1404 xorl 0x500(%ebp,%edx),%esi |
1697 | 1405 |
1698 # Round 10 1699 movl 80(%ebp), %eax | 1406 1407 movl 80(%ecx), %eax |
1700 xorl %ebx, %ebx | 1408 xorl %ebx, %ebx |
1701 movl 84(%ebp), %edx | 1409 movl 84(%ecx), %edx |
1702 xorl %esi, %eax | 1410 xorl %esi, %eax |
1411 xorl %ecx, %ecx |
|
1703 xorl %esi, %edx 1704 andl $0xfcfcfcfc, %eax 1705 andl $0xcfcfcfcf, %edx 1706 movb %al, %bl 1707 movb %ah, %cl 1708 rorl $4, %edx | 1412 xorl %esi, %edx 1413 andl $0xfcfcfcfc, %eax 1414 andl $0xcfcfcfcf, %edx 1415 movb %al, %bl 1416 movb %ah, %cl 1417 rorl $4, %edx |
1709 movl des_SPtrans(%ebx),%ebp | 1418 xorl (%ebp,%ebx),%edi |
1710 movb %dl, %bl | 1419 movb %dl, %bl |
1711 xorl %ebp, %edi 1712 movl 0x200+des_SPtrans(%ecx),%ebp 1713 xorl %ebp, %edi | 1420 xorl 0x200(%ebp,%ecx),%edi |
1714 movb %dh, %cl 1715 shrl $16, %eax | 1421 movb %dh, %cl 1422 shrl $16, %eax |
1716 movl 0x100+des_SPtrans(%ebx),%ebp 1717 xorl %ebp, %edi | 1423 xorl 0x100(%ebp,%ebx),%edi |
1718 movb %ah, %bl 1719 shrl $16, %edx | 1424 movb %ah, %bl 1425 shrl $16, %edx |
1720 movl 0x300+des_SPtrans(%ecx),%ebp 1721 xorl %ebp, %edi 1722 movl 24(%esp), %ebp | 1426 xorl 0x300(%ebp,%ecx),%edi |
1723 movb %dh, %cl 1724 andl $0xff, %eax 1725 andl $0xff, %edx | 1427 movb %dh, %cl 1428 andl $0xff, %eax 1429 andl $0xff, %edx |
1726 movl 0x600+des_SPtrans(%ebx),%ebx 1727 xorl %ebx, %edi 1728 movl 0x700+des_SPtrans(%ecx),%ebx 1729 xorl %ebx, %edi 1730 movl 0x400+des_SPtrans(%eax),%ebx 1731 xorl %ebx, %edi 1732 movl 0x500+des_SPtrans(%edx),%ebx 1733 xorl %ebx, %edi | 1430 xorl 0x600(%ebp,%ebx),%edi 1431 xorl 0x700(%ebp,%ecx),%edi 1432 movl 24(%esp), %ecx 1433 xorl 0x400(%ebp,%eax),%edi 1434 xorl 0x500(%ebp,%edx),%edi |
1734 | 1435 |
1735 # Round 11 1736 movl 88(%ebp), %eax | 1436 1437 movl 88(%ecx), %eax |
1737 xorl %ebx, %ebx | 1438 xorl %ebx, %ebx |
1738 movl 92(%ebp), %edx | 1439 movl 92(%ecx), %edx |
1739 xorl %edi, %eax | 1440 xorl %edi, %eax |
1441 xorl %ecx, %ecx |
|
1740 xorl %edi, %edx 1741 andl $0xfcfcfcfc, %eax 1742 andl $0xcfcfcfcf, %edx 1743 movb %al, %bl 1744 movb %ah, %cl 1745 rorl $4, %edx | 1442 xorl %edi, %edx 1443 andl $0xfcfcfcfc, %eax 1444 andl $0xcfcfcfcf, %edx 1445 movb %al, %bl 1446 movb %ah, %cl 1447 rorl $4, %edx |
1746 movl des_SPtrans(%ebx),%ebp | 1448 xorl (%ebp,%ebx),%esi |
1747 movb %dl, %bl | 1449 movb %dl, %bl |
1748 xorl %ebp, %esi 1749 movl 0x200+des_SPtrans(%ecx),%ebp 1750 xorl %ebp, %esi | 1450 xorl 0x200(%ebp,%ecx),%esi |
1751 movb %dh, %cl 1752 shrl $16, %eax | 1451 movb %dh, %cl 1452 shrl $16, %eax |
1753 movl 0x100+des_SPtrans(%ebx),%ebp 1754 xorl %ebp, %esi | 1453 xorl 0x100(%ebp,%ebx),%esi |
1755 movb %ah, %bl 1756 shrl $16, %edx | 1454 movb %ah, %bl 1455 shrl $16, %edx |
1757 movl 0x300+des_SPtrans(%ecx),%ebp 1758 xorl %ebp, %esi 1759 movl 24(%esp), %ebp | 1456 xorl 0x300(%ebp,%ecx),%esi |
1760 movb %dh, %cl 1761 andl $0xff, %eax 1762 andl $0xff, %edx | 1457 movb %dh, %cl 1458 andl $0xff, %eax 1459 andl $0xff, %edx |
1763 movl 0x600+des_SPtrans(%ebx),%ebx 1764 xorl %ebx, %esi 1765 movl 0x700+des_SPtrans(%ecx),%ebx 1766 xorl %ebx, %esi 1767 movl 0x400+des_SPtrans(%eax),%ebx 1768 xorl %ebx, %esi 1769 movl 0x500+des_SPtrans(%edx),%ebx 1770 xorl %ebx, %esi | 1460 xorl 0x600(%ebp,%ebx),%esi 1461 xorl 0x700(%ebp,%ecx),%esi 1462 movl 24(%esp), %ecx 1463 xorl 0x400(%ebp,%eax),%esi 1464 xorl 0x500(%ebp,%edx),%esi |
1771 | 1465 |
1772 # Round 12 1773 movl 96(%ebp), %eax | 1466 1467 movl 96(%ecx), %eax |
1774 xorl %ebx, %ebx | 1468 xorl %ebx, %ebx |
1775 movl 100(%ebp), %edx | 1469 movl 100(%ecx), %edx |
1776 xorl %esi, %eax | 1470 xorl %esi, %eax |
1471 xorl %ecx, %ecx |
|
1777 xorl %esi, %edx 1778 andl $0xfcfcfcfc, %eax 1779 andl $0xcfcfcfcf, %edx 1780 movb %al, %bl 1781 movb %ah, %cl 1782 rorl $4, %edx | 1472 xorl %esi, %edx 1473 andl $0xfcfcfcfc, %eax 1474 andl $0xcfcfcfcf, %edx 1475 movb %al, %bl 1476 movb %ah, %cl 1477 rorl $4, %edx |
1783 movl des_SPtrans(%ebx),%ebp | 1478 xorl (%ebp,%ebx),%edi |
1784 movb %dl, %bl | 1479 movb %dl, %bl |
1785 xorl %ebp, %edi 1786 movl 0x200+des_SPtrans(%ecx),%ebp 1787 xorl %ebp, %edi | 1480 xorl 0x200(%ebp,%ecx),%edi |
1788 movb %dh, %cl 1789 shrl $16, %eax | 1481 movb %dh, %cl 1482 shrl $16, %eax |
1790 movl 0x100+des_SPtrans(%ebx),%ebp 1791 xorl %ebp, %edi | 1483 xorl 0x100(%ebp,%ebx),%edi |
1792 movb %ah, %bl 1793 shrl $16, %edx | 1484 movb %ah, %bl 1485 shrl $16, %edx |
1794 movl 0x300+des_SPtrans(%ecx),%ebp 1795 xorl %ebp, %edi 1796 movl 24(%esp), %ebp | 1486 xorl 0x300(%ebp,%ecx),%edi |
1797 movb %dh, %cl 1798 andl $0xff, %eax 1799 andl $0xff, %edx | 1487 movb %dh, %cl 1488 andl $0xff, %eax 1489 andl $0xff, %edx |
1800 movl 0x600+des_SPtrans(%ebx),%ebx 1801 xorl %ebx, %edi 1802 movl 0x700+des_SPtrans(%ecx),%ebx 1803 xorl %ebx, %edi 1804 movl 0x400+des_SPtrans(%eax),%ebx 1805 xorl %ebx, %edi 1806 movl 0x500+des_SPtrans(%edx),%ebx 1807 xorl %ebx, %edi | 1490 xorl 0x600(%ebp,%ebx),%edi 1491 xorl 0x700(%ebp,%ecx),%edi 1492 movl 24(%esp), %ecx 1493 xorl 0x400(%ebp,%eax),%edi 1494 xorl 0x500(%ebp,%edx),%edi |
1808 | 1495 |
1809 # Round 13 1810 movl 104(%ebp), %eax | 1496 1497 movl 104(%ecx), %eax |
1811 xorl %ebx, %ebx | 1498 xorl %ebx, %ebx |
1812 movl 108(%ebp), %edx | 1499 movl 108(%ecx), %edx |
1813 xorl %edi, %eax | 1500 xorl %edi, %eax |
1501 xorl %ecx, %ecx |
|
1814 xorl %edi, %edx 1815 andl $0xfcfcfcfc, %eax 1816 andl $0xcfcfcfcf, %edx 1817 movb %al, %bl 1818 movb %ah, %cl 1819 rorl $4, %edx | 1502 xorl %edi, %edx 1503 andl $0xfcfcfcfc, %eax 1504 andl $0xcfcfcfcf, %edx 1505 movb %al, %bl 1506 movb %ah, %cl 1507 rorl $4, %edx |
1820 movl des_SPtrans(%ebx),%ebp | 1508 xorl (%ebp,%ebx),%esi |
1821 movb %dl, %bl | 1509 movb %dl, %bl |
1822 xorl %ebp, %esi 1823 movl 0x200+des_SPtrans(%ecx),%ebp 1824 xorl %ebp, %esi | 1510 xorl 0x200(%ebp,%ecx),%esi |
1825 movb %dh, %cl 1826 shrl $16, %eax | 1511 movb %dh, %cl 1512 shrl $16, %eax |
1827 movl 0x100+des_SPtrans(%ebx),%ebp 1828 xorl %ebp, %esi | 1513 xorl 0x100(%ebp,%ebx),%esi |
1829 movb %ah, %bl 1830 shrl $16, %edx | 1514 movb %ah, %bl 1515 shrl $16, %edx |
1831 movl 0x300+des_SPtrans(%ecx),%ebp 1832 xorl %ebp, %esi 1833 movl 24(%esp), %ebp | 1516 xorl 0x300(%ebp,%ecx),%esi |
1834 movb %dh, %cl 1835 andl $0xff, %eax 1836 andl $0xff, %edx | 1517 movb %dh, %cl 1518 andl $0xff, %eax 1519 andl $0xff, %edx |
1837 movl 0x600+des_SPtrans(%ebx),%ebx 1838 xorl %ebx, %esi 1839 movl 0x700+des_SPtrans(%ecx),%ebx 1840 xorl %ebx, %esi 1841 movl 0x400+des_SPtrans(%eax),%ebx 1842 xorl %ebx, %esi 1843 movl 0x500+des_SPtrans(%edx),%ebx 1844 xorl %ebx, %esi | 1520 xorl 0x600(%ebp,%ebx),%esi 1521 xorl 0x700(%ebp,%ecx),%esi 1522 movl 24(%esp), %ecx 1523 xorl 0x400(%ebp,%eax),%esi 1524 xorl 0x500(%ebp,%edx),%esi |
1845 | 1525 |
1846 # Round 14 1847 movl 112(%ebp), %eax | 1526 1527 movl 112(%ecx), %eax |
1848 xorl %ebx, %ebx | 1528 xorl %ebx, %ebx |
1849 movl 116(%ebp), %edx | 1529 movl 116(%ecx), %edx |
1850 xorl %esi, %eax | 1530 xorl %esi, %eax |
1531 xorl %ecx, %ecx |
|
1851 xorl %esi, %edx 1852 andl $0xfcfcfcfc, %eax 1853 andl $0xcfcfcfcf, %edx 1854 movb %al, %bl 1855 movb %ah, %cl 1856 rorl $4, %edx | 1532 xorl %esi, %edx 1533 andl $0xfcfcfcfc, %eax 1534 andl $0xcfcfcfcf, %edx 1535 movb %al, %bl 1536 movb %ah, %cl 1537 rorl $4, %edx |
1857 movl des_SPtrans(%ebx),%ebp | 1538 xorl (%ebp,%ebx),%edi |
1858 movb %dl, %bl | 1539 movb %dl, %bl |
1859 xorl %ebp, %edi 1860 movl 0x200+des_SPtrans(%ecx),%ebp 1861 xorl %ebp, %edi | 1540 xorl 0x200(%ebp,%ecx),%edi |
1862 movb %dh, %cl 1863 shrl $16, %eax | 1541 movb %dh, %cl 1542 shrl $16, %eax |
1864 movl 0x100+des_SPtrans(%ebx),%ebp 1865 xorl %ebp, %edi | 1543 xorl 0x100(%ebp,%ebx),%edi |
1866 movb %ah, %bl 1867 shrl $16, %edx | 1544 movb %ah, %bl 1545 shrl $16, %edx |
1868 movl 0x300+des_SPtrans(%ecx),%ebp 1869 xorl %ebp, %edi 1870 movl 24(%esp), %ebp | 1546 xorl 0x300(%ebp,%ecx),%edi |
1871 movb %dh, %cl 1872 andl $0xff, %eax 1873 andl $0xff, %edx | 1547 movb %dh, %cl 1548 andl $0xff, %eax 1549 andl $0xff, %edx |
1874 movl 0x600+des_SPtrans(%ebx),%ebx 1875 xorl %ebx, %edi 1876 movl 0x700+des_SPtrans(%ecx),%ebx 1877 xorl %ebx, %edi 1878 movl 0x400+des_SPtrans(%eax),%ebx 1879 xorl %ebx, %edi 1880 movl 0x500+des_SPtrans(%edx),%ebx 1881 xorl %ebx, %edi | 1550 xorl 0x600(%ebp,%ebx),%edi 1551 xorl 0x700(%ebp,%ecx),%edi 1552 movl 24(%esp), %ecx 1553 xorl 0x400(%ebp,%eax),%edi 1554 xorl 0x500(%ebp,%edx),%edi |
1882 | 1555 |
1883 # Round 15 1884 movl 120(%ebp), %eax | 1556 1557 movl 120(%ecx), %eax |
1885 xorl %ebx, %ebx | 1558 xorl %ebx, %ebx |
1886 movl 124(%ebp), %edx | 1559 movl 124(%ecx), %edx |
1887 xorl %edi, %eax | 1560 xorl %edi, %eax |
1561 xorl %ecx, %ecx |
|
1888 xorl %edi, %edx 1889 andl $0xfcfcfcfc, %eax 1890 andl $0xcfcfcfcf, %edx 1891 movb %al, %bl 1892 movb %ah, %cl 1893 rorl $4, %edx | 1562 xorl %edi, %edx 1563 andl $0xfcfcfcfc, %eax 1564 andl $0xcfcfcfcf, %edx 1565 movb %al, %bl 1566 movb %ah, %cl 1567 rorl $4, %edx |
1894 movl des_SPtrans(%ebx),%ebp | 1568 xorl (%ebp,%ebx),%esi |
1895 movb %dl, %bl | 1569 movb %dl, %bl |
1896 xorl %ebp, %esi 1897 movl 0x200+des_SPtrans(%ecx),%ebp 1898 xorl %ebp, %esi | 1570 xorl 0x200(%ebp,%ecx),%esi |
1899 movb %dh, %cl 1900 shrl $16, %eax | 1571 movb %dh, %cl 1572 shrl $16, %eax |
1901 movl 0x100+des_SPtrans(%ebx),%ebp 1902 xorl %ebp, %esi | 1573 xorl 0x100(%ebp,%ebx),%esi |
1903 movb %ah, %bl 1904 shrl $16, %edx | 1574 movb %ah, %bl 1575 shrl $16, %edx |
1905 movl 0x300+des_SPtrans(%ecx),%ebp 1906 xorl %ebp, %esi 1907 movl 24(%esp), %ebp | 1576 xorl 0x300(%ebp,%ecx),%esi |
1908 movb %dh, %cl 1909 andl $0xff, %eax 1910 andl $0xff, %edx | 1577 movb %dh, %cl 1578 andl $0xff, %eax 1579 andl $0xff, %edx |
1911 movl 0x600+des_SPtrans(%ebx),%ebx 1912 xorl %ebx, %esi 1913 movl 0x700+des_SPtrans(%ecx),%ebx 1914 xorl %ebx, %esi 1915 movl 0x400+des_SPtrans(%eax),%ebx 1916 xorl %ebx, %esi 1917 movl 0x500+des_SPtrans(%edx),%ebx 1918 xorl %ebx, %esi | 1580 xorl 0x600(%ebp,%ebx),%esi 1581 xorl 0x700(%ebp,%ecx),%esi 1582 movl 24(%esp), %ecx 1583 xorl 0x400(%ebp,%eax),%esi 1584 xorl 0x500(%ebp,%edx),%esi |
1919 jmp .L003end 1920.L002start_decrypt: 1921 | 1585 jmp .L003end 1586.L002start_decrypt: 1587 |
1922 # Round 15 1923 movl 120(%ebp), %eax | 1588 1589 movl 120(%ecx), %eax |
1924 xorl %ebx, %ebx | 1590 xorl %ebx, %ebx |
1925 movl 124(%ebp), %edx | 1591 movl 124(%ecx), %edx |
1926 xorl %esi, %eax | 1592 xorl %esi, %eax |
1593 xorl %ecx, %ecx |
|
1927 xorl %esi, %edx 1928 andl $0xfcfcfcfc, %eax 1929 andl $0xcfcfcfcf, %edx 1930 movb %al, %bl 1931 movb %ah, %cl 1932 rorl $4, %edx | 1594 xorl %esi, %edx 1595 andl $0xfcfcfcfc, %eax 1596 andl $0xcfcfcfcf, %edx 1597 movb %al, %bl 1598 movb %ah, %cl 1599 rorl $4, %edx |
1933 movl des_SPtrans(%ebx),%ebp | 1600 xorl (%ebp,%ebx),%edi |
1934 movb %dl, %bl | 1601 movb %dl, %bl |
1935 xorl %ebp, %edi 1936 movl 0x200+des_SPtrans(%ecx),%ebp 1937 xorl %ebp, %edi | 1602 xorl 0x200(%ebp,%ecx),%edi |
1938 movb %dh, %cl 1939 shrl $16, %eax | 1603 movb %dh, %cl 1604 shrl $16, %eax |
1940 movl 0x100+des_SPtrans(%ebx),%ebp 1941 xorl %ebp, %edi | 1605 xorl 0x100(%ebp,%ebx),%edi |
1942 movb %ah, %bl 1943 shrl $16, %edx | 1606 movb %ah, %bl 1607 shrl $16, %edx |
1944 movl 0x300+des_SPtrans(%ecx),%ebp 1945 xorl %ebp, %edi 1946 movl 24(%esp), %ebp | 1608 xorl 0x300(%ebp,%ecx),%edi |
1947 movb %dh, %cl 1948 andl $0xff, %eax 1949 andl $0xff, %edx | 1609 movb %dh, %cl 1610 andl $0xff, %eax 1611 andl $0xff, %edx |
1950 movl 0x600+des_SPtrans(%ebx),%ebx 1951 xorl %ebx, %edi 1952 movl 0x700+des_SPtrans(%ecx),%ebx 1953 xorl %ebx, %edi 1954 movl 0x400+des_SPtrans(%eax),%ebx 1955 xorl %ebx, %edi 1956 movl 0x500+des_SPtrans(%edx),%ebx 1957 xorl %ebx, %edi | 1612 xorl 0x600(%ebp,%ebx),%edi 1613 xorl 0x700(%ebp,%ecx),%edi 1614 movl 24(%esp), %ecx 1615 xorl 0x400(%ebp,%eax),%edi 1616 xorl 0x500(%ebp,%edx),%edi |
1958 | 1617 |
1959 # Round 14 1960 movl 112(%ebp), %eax | 1618 1619 movl 112(%ecx), %eax |
1961 xorl %ebx, %ebx | 1620 xorl %ebx, %ebx |
1962 movl 116(%ebp), %edx | 1621 movl 116(%ecx), %edx |
1963 xorl %edi, %eax | 1622 xorl %edi, %eax |
1623 xorl %ecx, %ecx |
|
1964 xorl %edi, %edx 1965 andl $0xfcfcfcfc, %eax 1966 andl $0xcfcfcfcf, %edx 1967 movb %al, %bl 1968 movb %ah, %cl 1969 rorl $4, %edx | 1624 xorl %edi, %edx 1625 andl $0xfcfcfcfc, %eax 1626 andl $0xcfcfcfcf, %edx 1627 movb %al, %bl 1628 movb %ah, %cl 1629 rorl $4, %edx |
1970 movl des_SPtrans(%ebx),%ebp | 1630 xorl (%ebp,%ebx),%esi |
1971 movb %dl, %bl | 1631 movb %dl, %bl |
1972 xorl %ebp, %esi 1973 movl 0x200+des_SPtrans(%ecx),%ebp 1974 xorl %ebp, %esi | 1632 xorl 0x200(%ebp,%ecx),%esi |
1975 movb %dh, %cl 1976 shrl $16, %eax | 1633 movb %dh, %cl 1634 shrl $16, %eax |
1977 movl 0x100+des_SPtrans(%ebx),%ebp 1978 xorl %ebp, %esi | 1635 xorl 0x100(%ebp,%ebx),%esi |
1979 movb %ah, %bl 1980 shrl $16, %edx | 1636 movb %ah, %bl 1637 shrl $16, %edx |
1981 movl 0x300+des_SPtrans(%ecx),%ebp 1982 xorl %ebp, %esi 1983 movl 24(%esp), %ebp | 1638 xorl 0x300(%ebp,%ecx),%esi |
1984 movb %dh, %cl 1985 andl $0xff, %eax 1986 andl $0xff, %edx | 1639 movb %dh, %cl 1640 andl $0xff, %eax 1641 andl $0xff, %edx |
1987 movl 0x600+des_SPtrans(%ebx),%ebx 1988 xorl %ebx, %esi 1989 movl 0x700+des_SPtrans(%ecx),%ebx 1990 xorl %ebx, %esi 1991 movl 0x400+des_SPtrans(%eax),%ebx 1992 xorl %ebx, %esi 1993 movl 0x500+des_SPtrans(%edx),%ebx 1994 xorl %ebx, %esi | 1642 xorl 0x600(%ebp,%ebx),%esi 1643 xorl 0x700(%ebp,%ecx),%esi 1644 movl 24(%esp), %ecx 1645 xorl 0x400(%ebp,%eax),%esi 1646 xorl 0x500(%ebp,%edx),%esi |
1995 | 1647 |
1996 # Round 13 1997 movl 104(%ebp), %eax | 1648 1649 movl 104(%ecx), %eax |
1998 xorl %ebx, %ebx | 1650 xorl %ebx, %ebx |
1999 movl 108(%ebp), %edx | 1651 movl 108(%ecx), %edx |
2000 xorl %esi, %eax | 1652 xorl %esi, %eax |
1653 xorl %ecx, %ecx |
|
2001 xorl %esi, %edx 2002 andl $0xfcfcfcfc, %eax 2003 andl $0xcfcfcfcf, %edx 2004 movb %al, %bl 2005 movb %ah, %cl 2006 rorl $4, %edx | 1654 xorl %esi, %edx 1655 andl $0xfcfcfcfc, %eax 1656 andl $0xcfcfcfcf, %edx 1657 movb %al, %bl 1658 movb %ah, %cl 1659 rorl $4, %edx |
2007 movl des_SPtrans(%ebx),%ebp | 1660 xorl (%ebp,%ebx),%edi |
2008 movb %dl, %bl | 1661 movb %dl, %bl |
2009 xorl %ebp, %edi 2010 movl 0x200+des_SPtrans(%ecx),%ebp 2011 xorl %ebp, %edi | 1662 xorl 0x200(%ebp,%ecx),%edi |
2012 movb %dh, %cl 2013 shrl $16, %eax | 1663 movb %dh, %cl 1664 shrl $16, %eax |
2014 movl 0x100+des_SPtrans(%ebx),%ebp 2015 xorl %ebp, %edi | 1665 xorl 0x100(%ebp,%ebx),%edi |
2016 movb %ah, %bl 2017 shrl $16, %edx | 1666 movb %ah, %bl 1667 shrl $16, %edx |
2018 movl 0x300+des_SPtrans(%ecx),%ebp 2019 xorl %ebp, %edi 2020 movl 24(%esp), %ebp | 1668 xorl 0x300(%ebp,%ecx),%edi |
2021 movb %dh, %cl 2022 andl $0xff, %eax 2023 andl $0xff, %edx | 1669 movb %dh, %cl 1670 andl $0xff, %eax 1671 andl $0xff, %edx |
2024 movl 0x600+des_SPtrans(%ebx),%ebx 2025 xorl %ebx, %edi 2026 movl 0x700+des_SPtrans(%ecx),%ebx 2027 xorl %ebx, %edi 2028 movl 0x400+des_SPtrans(%eax),%ebx 2029 xorl %ebx, %edi 2030 movl 0x500+des_SPtrans(%edx),%ebx 2031 xorl %ebx, %edi | 1672 xorl 0x600(%ebp,%ebx),%edi 1673 xorl 0x700(%ebp,%ecx),%edi 1674 movl 24(%esp), %ecx 1675 xorl 0x400(%ebp,%eax),%edi 1676 xorl 0x500(%ebp,%edx),%edi |
2032 | 1677 |
2033 # Round 12 2034 movl 96(%ebp), %eax | 1678 1679 movl 96(%ecx), %eax |
2035 xorl %ebx, %ebx | 1680 xorl %ebx, %ebx |
2036 movl 100(%ebp), %edx | 1681 movl 100(%ecx), %edx |
2037 xorl %edi, %eax | 1682 xorl %edi, %eax |
1683 xorl %ecx, %ecx |
|
2038 xorl %edi, %edx 2039 andl $0xfcfcfcfc, %eax 2040 andl $0xcfcfcfcf, %edx 2041 movb %al, %bl 2042 movb %ah, %cl 2043 rorl $4, %edx | 1684 xorl %edi, %edx 1685 andl $0xfcfcfcfc, %eax 1686 andl $0xcfcfcfcf, %edx 1687 movb %al, %bl 1688 movb %ah, %cl 1689 rorl $4, %edx |
2044 movl des_SPtrans(%ebx),%ebp | 1690 xorl (%ebp,%ebx),%esi |
2045 movb %dl, %bl | 1691 movb %dl, %bl |
2046 xorl %ebp, %esi 2047 movl 0x200+des_SPtrans(%ecx),%ebp 2048 xorl %ebp, %esi | 1692 xorl 0x200(%ebp,%ecx),%esi |
2049 movb %dh, %cl 2050 shrl $16, %eax | 1693 movb %dh, %cl 1694 shrl $16, %eax |
2051 movl 0x100+des_SPtrans(%ebx),%ebp 2052 xorl %ebp, %esi | 1695 xorl 0x100(%ebp,%ebx),%esi |
2053 movb %ah, %bl 2054 shrl $16, %edx | 1696 movb %ah, %bl 1697 shrl $16, %edx |
2055 movl 0x300+des_SPtrans(%ecx),%ebp 2056 xorl %ebp, %esi 2057 movl 24(%esp), %ebp | 1698 xorl 0x300(%ebp,%ecx),%esi |
2058 movb %dh, %cl 2059 andl $0xff, %eax 2060 andl $0xff, %edx | 1699 movb %dh, %cl 1700 andl $0xff, %eax 1701 andl $0xff, %edx |
2061 movl 0x600+des_SPtrans(%ebx),%ebx 2062 xorl %ebx, %esi 2063 movl 0x700+des_SPtrans(%ecx),%ebx 2064 xorl %ebx, %esi 2065 movl 0x400+des_SPtrans(%eax),%ebx 2066 xorl %ebx, %esi 2067 movl 0x500+des_SPtrans(%edx),%ebx 2068 xorl %ebx, %esi | 1702 xorl 0x600(%ebp,%ebx),%esi 1703 xorl 0x700(%ebp,%ecx),%esi 1704 movl 24(%esp), %ecx 1705 xorl 0x400(%ebp,%eax),%esi 1706 xorl 0x500(%ebp,%edx),%esi |
2069 | 1707 |
2070 # Round 11 2071 movl 88(%ebp), %eax | 1708 1709 movl 88(%ecx), %eax |
2072 xorl %ebx, %ebx | 1710 xorl %ebx, %ebx |
2073 movl 92(%ebp), %edx | 1711 movl 92(%ecx), %edx |
2074 xorl %esi, %eax | 1712 xorl %esi, %eax |
1713 xorl %ecx, %ecx |
|
2075 xorl %esi, %edx 2076 andl $0xfcfcfcfc, %eax 2077 andl $0xcfcfcfcf, %edx 2078 movb %al, %bl 2079 movb %ah, %cl 2080 rorl $4, %edx | 1714 xorl %esi, %edx 1715 andl $0xfcfcfcfc, %eax 1716 andl $0xcfcfcfcf, %edx 1717 movb %al, %bl 1718 movb %ah, %cl 1719 rorl $4, %edx |
2081 movl des_SPtrans(%ebx),%ebp | 1720 xorl (%ebp,%ebx),%edi |
2082 movb %dl, %bl | 1721 movb %dl, %bl |
2083 xorl %ebp, %edi 2084 movl 0x200+des_SPtrans(%ecx),%ebp 2085 xorl %ebp, %edi | 1722 xorl 0x200(%ebp,%ecx),%edi |
2086 movb %dh, %cl 2087 shrl $16, %eax | 1723 movb %dh, %cl 1724 shrl $16, %eax |
2088 movl 0x100+des_SPtrans(%ebx),%ebp 2089 xorl %ebp, %edi | 1725 xorl 0x100(%ebp,%ebx),%edi |
2090 movb %ah, %bl 2091 shrl $16, %edx | 1726 movb %ah, %bl 1727 shrl $16, %edx |
2092 movl 0x300+des_SPtrans(%ecx),%ebp 2093 xorl %ebp, %edi 2094 movl 24(%esp), %ebp | 1728 xorl 0x300(%ebp,%ecx),%edi |
2095 movb %dh, %cl 2096 andl $0xff, %eax 2097 andl $0xff, %edx | 1729 movb %dh, %cl 1730 andl $0xff, %eax 1731 andl $0xff, %edx |
2098 movl 0x600+des_SPtrans(%ebx),%ebx 2099 xorl %ebx, %edi 2100 movl 0x700+des_SPtrans(%ecx),%ebx 2101 xorl %ebx, %edi 2102 movl 0x400+des_SPtrans(%eax),%ebx 2103 xorl %ebx, %edi 2104 movl 0x500+des_SPtrans(%edx),%ebx 2105 xorl %ebx, %edi | 1732 xorl 0x600(%ebp,%ebx),%edi 1733 xorl 0x700(%ebp,%ecx),%edi 1734 movl 24(%esp), %ecx 1735 xorl 0x400(%ebp,%eax),%edi 1736 xorl 0x500(%ebp,%edx),%edi |
2106 | 1737 |
2107 # Round 10 2108 movl 80(%ebp), %eax | 1738 1739 movl 80(%ecx), %eax |
2109 xorl %ebx, %ebx | 1740 xorl %ebx, %ebx |
2110 movl 84(%ebp), %edx | 1741 movl 84(%ecx), %edx |
2111 xorl %edi, %eax | 1742 xorl %edi, %eax |
1743 xorl %ecx, %ecx |
|
2112 xorl %edi, %edx 2113 andl $0xfcfcfcfc, %eax 2114 andl $0xcfcfcfcf, %edx 2115 movb %al, %bl 2116 movb %ah, %cl 2117 rorl $4, %edx | 1744 xorl %edi, %edx 1745 andl $0xfcfcfcfc, %eax 1746 andl $0xcfcfcfcf, %edx 1747 movb %al, %bl 1748 movb %ah, %cl 1749 rorl $4, %edx |
2118 movl des_SPtrans(%ebx),%ebp | 1750 xorl (%ebp,%ebx),%esi |
2119 movb %dl, %bl | 1751 movb %dl, %bl |
2120 xorl %ebp, %esi 2121 movl 0x200+des_SPtrans(%ecx),%ebp 2122 xorl %ebp, %esi | 1752 xorl 0x200(%ebp,%ecx),%esi |
2123 movb %dh, %cl 2124 shrl $16, %eax | 1753 movb %dh, %cl 1754 shrl $16, %eax |
2125 movl 0x100+des_SPtrans(%ebx),%ebp 2126 xorl %ebp, %esi | 1755 xorl 0x100(%ebp,%ebx),%esi |
2127 movb %ah, %bl 2128 shrl $16, %edx | 1756 movb %ah, %bl 1757 shrl $16, %edx |
2129 movl 0x300+des_SPtrans(%ecx),%ebp 2130 xorl %ebp, %esi 2131 movl 24(%esp), %ebp | 1758 xorl 0x300(%ebp,%ecx),%esi |
2132 movb %dh, %cl 2133 andl $0xff, %eax 2134 andl $0xff, %edx | 1759 movb %dh, %cl 1760 andl $0xff, %eax 1761 andl $0xff, %edx |
2135 movl 0x600+des_SPtrans(%ebx),%ebx 2136 xorl %ebx, %esi 2137 movl 0x700+des_SPtrans(%ecx),%ebx 2138 xorl %ebx, %esi 2139 movl 0x400+des_SPtrans(%eax),%ebx 2140 xorl %ebx, %esi 2141 movl 0x500+des_SPtrans(%edx),%ebx 2142 xorl %ebx, %esi | 1762 xorl 0x600(%ebp,%ebx),%esi 1763 xorl 0x700(%ebp,%ecx),%esi 1764 movl 24(%esp), %ecx 1765 xorl 0x400(%ebp,%eax),%esi 1766 xorl 0x500(%ebp,%edx),%esi |
2143 | 1767 |
2144 # Round 9 2145 movl 72(%ebp), %eax | 1768 1769 movl 72(%ecx), %eax |
2146 xorl %ebx, %ebx | 1770 xorl %ebx, %ebx |
2147 movl 76(%ebp), %edx | 1771 movl 76(%ecx), %edx |
2148 xorl %esi, %eax | 1772 xorl %esi, %eax |
1773 xorl %ecx, %ecx |
|
2149 xorl %esi, %edx 2150 andl $0xfcfcfcfc, %eax 2151 andl $0xcfcfcfcf, %edx 2152 movb %al, %bl 2153 movb %ah, %cl 2154 rorl $4, %edx | 1774 xorl %esi, %edx 1775 andl $0xfcfcfcfc, %eax 1776 andl $0xcfcfcfcf, %edx 1777 movb %al, %bl 1778 movb %ah, %cl 1779 rorl $4, %edx |
2155 movl des_SPtrans(%ebx),%ebp | 1780 xorl (%ebp,%ebx),%edi |
2156 movb %dl, %bl | 1781 movb %dl, %bl |
2157 xorl %ebp, %edi 2158 movl 0x200+des_SPtrans(%ecx),%ebp 2159 xorl %ebp, %edi | 1782 xorl 0x200(%ebp,%ecx),%edi |
2160 movb %dh, %cl 2161 shrl $16, %eax | 1783 movb %dh, %cl 1784 shrl $16, %eax |
2162 movl 0x100+des_SPtrans(%ebx),%ebp 2163 xorl %ebp, %edi | 1785 xorl 0x100(%ebp,%ebx),%edi |
2164 movb %ah, %bl 2165 shrl $16, %edx | 1786 movb %ah, %bl 1787 shrl $16, %edx |
2166 movl 0x300+des_SPtrans(%ecx),%ebp 2167 xorl %ebp, %edi 2168 movl 24(%esp), %ebp | 1788 xorl 0x300(%ebp,%ecx),%edi |
2169 movb %dh, %cl 2170 andl $0xff, %eax 2171 andl $0xff, %edx | 1789 movb %dh, %cl 1790 andl $0xff, %eax 1791 andl $0xff, %edx |
2172 movl 0x600+des_SPtrans(%ebx),%ebx 2173 xorl %ebx, %edi 2174 movl 0x700+des_SPtrans(%ecx),%ebx 2175 xorl %ebx, %edi 2176 movl 0x400+des_SPtrans(%eax),%ebx 2177 xorl %ebx, %edi 2178 movl 0x500+des_SPtrans(%edx),%ebx 2179 xorl %ebx, %edi | 1792 xorl 0x600(%ebp,%ebx),%edi 1793 xorl 0x700(%ebp,%ecx),%edi 1794 movl 24(%esp), %ecx 1795 xorl 0x400(%ebp,%eax),%edi 1796 xorl 0x500(%ebp,%edx),%edi |
2180 | 1797 |
2181 # Round 8 2182 movl 64(%ebp), %eax | 1798 1799 movl 64(%ecx), %eax |
2183 xorl %ebx, %ebx | 1800 xorl %ebx, %ebx |
2184 movl 68(%ebp), %edx | 1801 movl 68(%ecx), %edx |
2185 xorl %edi, %eax | 1802 xorl %edi, %eax |
1803 xorl %ecx, %ecx |
|
2186 xorl %edi, %edx 2187 andl $0xfcfcfcfc, %eax 2188 andl $0xcfcfcfcf, %edx 2189 movb %al, %bl 2190 movb %ah, %cl 2191 rorl $4, %edx | 1804 xorl %edi, %edx 1805 andl $0xfcfcfcfc, %eax 1806 andl $0xcfcfcfcf, %edx 1807 movb %al, %bl 1808 movb %ah, %cl 1809 rorl $4, %edx |
2192 movl des_SPtrans(%ebx),%ebp | 1810 xorl (%ebp,%ebx),%esi |
2193 movb %dl, %bl | 1811 movb %dl, %bl |
2194 xorl %ebp, %esi 2195 movl 0x200+des_SPtrans(%ecx),%ebp 2196 xorl %ebp, %esi | 1812 xorl 0x200(%ebp,%ecx),%esi |
2197 movb %dh, %cl 2198 shrl $16, %eax | 1813 movb %dh, %cl 1814 shrl $16, %eax |
2199 movl 0x100+des_SPtrans(%ebx),%ebp 2200 xorl %ebp, %esi | 1815 xorl 0x100(%ebp,%ebx),%esi |
2201 movb %ah, %bl 2202 shrl $16, %edx | 1816 movb %ah, %bl 1817 shrl $16, %edx |
2203 movl 0x300+des_SPtrans(%ecx),%ebp 2204 xorl %ebp, %esi 2205 movl 24(%esp), %ebp | 1818 xorl 0x300(%ebp,%ecx),%esi |
2206 movb %dh, %cl 2207 andl $0xff, %eax 2208 andl $0xff, %edx | 1819 movb %dh, %cl 1820 andl $0xff, %eax 1821 andl $0xff, %edx |
2209 movl 0x600+des_SPtrans(%ebx),%ebx 2210 xorl %ebx, %esi 2211 movl 0x700+des_SPtrans(%ecx),%ebx 2212 xorl %ebx, %esi 2213 movl 0x400+des_SPtrans(%eax),%ebx 2214 xorl %ebx, %esi 2215 movl 0x500+des_SPtrans(%edx),%ebx 2216 xorl %ebx, %esi | 1822 xorl 0x600(%ebp,%ebx),%esi 1823 xorl 0x700(%ebp,%ecx),%esi 1824 movl 24(%esp), %ecx 1825 xorl 0x400(%ebp,%eax),%esi 1826 xorl 0x500(%ebp,%edx),%esi |
2217 | 1827 |
2218 # Round 7 2219 movl 56(%ebp), %eax | 1828 1829 movl 56(%ecx), %eax |
2220 xorl %ebx, %ebx | 1830 xorl %ebx, %ebx |
2221 movl 60(%ebp), %edx | 1831 movl 60(%ecx), %edx |
2222 xorl %esi, %eax | 1832 xorl %esi, %eax |
1833 xorl %ecx, %ecx |
|
2223 xorl %esi, %edx 2224 andl $0xfcfcfcfc, %eax 2225 andl $0xcfcfcfcf, %edx 2226 movb %al, %bl 2227 movb %ah, %cl 2228 rorl $4, %edx | 1834 xorl %esi, %edx 1835 andl $0xfcfcfcfc, %eax 1836 andl $0xcfcfcfcf, %edx 1837 movb %al, %bl 1838 movb %ah, %cl 1839 rorl $4, %edx |
2229 movl des_SPtrans(%ebx),%ebp | 1840 xorl (%ebp,%ebx),%edi |
2230 movb %dl, %bl | 1841 movb %dl, %bl |
2231 xorl %ebp, %edi 2232 movl 0x200+des_SPtrans(%ecx),%ebp 2233 xorl %ebp, %edi | 1842 xorl 0x200(%ebp,%ecx),%edi |
2234 movb %dh, %cl 2235 shrl $16, %eax | 1843 movb %dh, %cl 1844 shrl $16, %eax |
2236 movl 0x100+des_SPtrans(%ebx),%ebp 2237 xorl %ebp, %edi | 1845 xorl 0x100(%ebp,%ebx),%edi |
2238 movb %ah, %bl 2239 shrl $16, %edx | 1846 movb %ah, %bl 1847 shrl $16, %edx |
2240 movl 0x300+des_SPtrans(%ecx),%ebp 2241 xorl %ebp, %edi 2242 movl 24(%esp), %ebp | 1848 xorl 0x300(%ebp,%ecx),%edi |
2243 movb %dh, %cl 2244 andl $0xff, %eax 2245 andl $0xff, %edx | 1849 movb %dh, %cl 1850 andl $0xff, %eax 1851 andl $0xff, %edx |
2246 movl 0x600+des_SPtrans(%ebx),%ebx 2247 xorl %ebx, %edi 2248 movl 0x700+des_SPtrans(%ecx),%ebx 2249 xorl %ebx, %edi 2250 movl 0x400+des_SPtrans(%eax),%ebx 2251 xorl %ebx, %edi 2252 movl 0x500+des_SPtrans(%edx),%ebx 2253 xorl %ebx, %edi | 1852 xorl 0x600(%ebp,%ebx),%edi 1853 xorl 0x700(%ebp,%ecx),%edi 1854 movl 24(%esp), %ecx 1855 xorl 0x400(%ebp,%eax),%edi 1856 xorl 0x500(%ebp,%edx),%edi |
2254 | 1857 |
2255 # Round 6 2256 movl 48(%ebp), %eax | 1858 1859 movl 48(%ecx), %eax |
2257 xorl %ebx, %ebx | 1860 xorl %ebx, %ebx |
2258 movl 52(%ebp), %edx | 1861 movl 52(%ecx), %edx |
2259 xorl %edi, %eax | 1862 xorl %edi, %eax |
1863 xorl %ecx, %ecx |
|
2260 xorl %edi, %edx 2261 andl $0xfcfcfcfc, %eax 2262 andl $0xcfcfcfcf, %edx 2263 movb %al, %bl 2264 movb %ah, %cl 2265 rorl $4, %edx | 1864 xorl %edi, %edx 1865 andl $0xfcfcfcfc, %eax 1866 andl $0xcfcfcfcf, %edx 1867 movb %al, %bl 1868 movb %ah, %cl 1869 rorl $4, %edx |
2266 movl des_SPtrans(%ebx),%ebp | 1870 xorl (%ebp,%ebx),%esi |
2267 movb %dl, %bl | 1871 movb %dl, %bl |
2268 xorl %ebp, %esi 2269 movl 0x200+des_SPtrans(%ecx),%ebp 2270 xorl %ebp, %esi | 1872 xorl 0x200(%ebp,%ecx),%esi |
2271 movb %dh, %cl 2272 shrl $16, %eax | 1873 movb %dh, %cl 1874 shrl $16, %eax |
2273 movl 0x100+des_SPtrans(%ebx),%ebp 2274 xorl %ebp, %esi | 1875 xorl 0x100(%ebp,%ebx),%esi |
2275 movb %ah, %bl 2276 shrl $16, %edx | 1876 movb %ah, %bl 1877 shrl $16, %edx |
2277 movl 0x300+des_SPtrans(%ecx),%ebp 2278 xorl %ebp, %esi 2279 movl 24(%esp), %ebp | 1878 xorl 0x300(%ebp,%ecx),%esi |
2280 movb %dh, %cl 2281 andl $0xff, %eax 2282 andl $0xff, %edx | 1879 movb %dh, %cl 1880 andl $0xff, %eax 1881 andl $0xff, %edx |
2283 movl 0x600+des_SPtrans(%ebx),%ebx 2284 xorl %ebx, %esi 2285 movl 0x700+des_SPtrans(%ecx),%ebx 2286 xorl %ebx, %esi 2287 movl 0x400+des_SPtrans(%eax),%ebx 2288 xorl %ebx, %esi 2289 movl 0x500+des_SPtrans(%edx),%ebx 2290 xorl %ebx, %esi | 1882 xorl 0x600(%ebp,%ebx),%esi 1883 xorl 0x700(%ebp,%ecx),%esi 1884 movl 24(%esp), %ecx 1885 xorl 0x400(%ebp,%eax),%esi 1886 xorl 0x500(%ebp,%edx),%esi |
2291 | 1887 |
2292 # Round 5 2293 movl 40(%ebp), %eax | 1888 1889 movl 40(%ecx), %eax |
2294 xorl %ebx, %ebx | 1890 xorl %ebx, %ebx |
2295 movl 44(%ebp), %edx | 1891 movl 44(%ecx), %edx |
2296 xorl %esi, %eax | 1892 xorl %esi, %eax |
1893 xorl %ecx, %ecx |
|
2297 xorl %esi, %edx 2298 andl $0xfcfcfcfc, %eax 2299 andl $0xcfcfcfcf, %edx 2300 movb %al, %bl 2301 movb %ah, %cl 2302 rorl $4, %edx | 1894 xorl %esi, %edx 1895 andl $0xfcfcfcfc, %eax 1896 andl $0xcfcfcfcf, %edx 1897 movb %al, %bl 1898 movb %ah, %cl 1899 rorl $4, %edx |
2303 movl des_SPtrans(%ebx),%ebp | 1900 xorl (%ebp,%ebx),%edi |
2304 movb %dl, %bl | 1901 movb %dl, %bl |
2305 xorl %ebp, %edi 2306 movl 0x200+des_SPtrans(%ecx),%ebp 2307 xorl %ebp, %edi | 1902 xorl 0x200(%ebp,%ecx),%edi |
2308 movb %dh, %cl 2309 shrl $16, %eax | 1903 movb %dh, %cl 1904 shrl $16, %eax |
2310 movl 0x100+des_SPtrans(%ebx),%ebp 2311 xorl %ebp, %edi | 1905 xorl 0x100(%ebp,%ebx),%edi |
2312 movb %ah, %bl 2313 shrl $16, %edx | 1906 movb %ah, %bl 1907 shrl $16, %edx |
2314 movl 0x300+des_SPtrans(%ecx),%ebp 2315 xorl %ebp, %edi 2316 movl 24(%esp), %ebp | 1908 xorl 0x300(%ebp,%ecx),%edi |
2317 movb %dh, %cl 2318 andl $0xff, %eax 2319 andl $0xff, %edx | 1909 movb %dh, %cl 1910 andl $0xff, %eax 1911 andl $0xff, %edx |
2320 movl 0x600+des_SPtrans(%ebx),%ebx 2321 xorl %ebx, %edi 2322 movl 0x700+des_SPtrans(%ecx),%ebx 2323 xorl %ebx, %edi 2324 movl 0x400+des_SPtrans(%eax),%ebx 2325 xorl %ebx, %edi 2326 movl 0x500+des_SPtrans(%edx),%ebx 2327 xorl %ebx, %edi | 1912 xorl 0x600(%ebp,%ebx),%edi 1913 xorl 0x700(%ebp,%ecx),%edi 1914 movl 24(%esp), %ecx 1915 xorl 0x400(%ebp,%eax),%edi 1916 xorl 0x500(%ebp,%edx),%edi |
2328 | 1917 |
2329 # Round 4 2330 movl 32(%ebp), %eax | 1918 1919 movl 32(%ecx), %eax |
2331 xorl %ebx, %ebx | 1920 xorl %ebx, %ebx |
2332 movl 36(%ebp), %edx | 1921 movl 36(%ecx), %edx |
2333 xorl %edi, %eax | 1922 xorl %edi, %eax |
1923 xorl %ecx, %ecx |
|
2334 xorl %edi, %edx 2335 andl $0xfcfcfcfc, %eax 2336 andl $0xcfcfcfcf, %edx 2337 movb %al, %bl 2338 movb %ah, %cl 2339 rorl $4, %edx | 1924 xorl %edi, %edx 1925 andl $0xfcfcfcfc, %eax 1926 andl $0xcfcfcfcf, %edx 1927 movb %al, %bl 1928 movb %ah, %cl 1929 rorl $4, %edx |
2340 movl des_SPtrans(%ebx),%ebp | 1930 xorl (%ebp,%ebx),%esi |
2341 movb %dl, %bl | 1931 movb %dl, %bl |
2342 xorl %ebp, %esi 2343 movl 0x200+des_SPtrans(%ecx),%ebp 2344 xorl %ebp, %esi | 1932 xorl 0x200(%ebp,%ecx),%esi |
2345 movb %dh, %cl 2346 shrl $16, %eax | 1933 movb %dh, %cl 1934 shrl $16, %eax |
2347 movl 0x100+des_SPtrans(%ebx),%ebp 2348 xorl %ebp, %esi | 1935 xorl 0x100(%ebp,%ebx),%esi |
2349 movb %ah, %bl 2350 shrl $16, %edx | 1936 movb %ah, %bl 1937 shrl $16, %edx |
2351 movl 0x300+des_SPtrans(%ecx),%ebp 2352 xorl %ebp, %esi 2353 movl 24(%esp), %ebp | 1938 xorl 0x300(%ebp,%ecx),%esi |
2354 movb %dh, %cl 2355 andl $0xff, %eax 2356 andl $0xff, %edx | 1939 movb %dh, %cl 1940 andl $0xff, %eax 1941 andl $0xff, %edx |
2357 movl 0x600+des_SPtrans(%ebx),%ebx 2358 xorl %ebx, %esi 2359 movl 0x700+des_SPtrans(%ecx),%ebx 2360 xorl %ebx, %esi 2361 movl 0x400+des_SPtrans(%eax),%ebx 2362 xorl %ebx, %esi 2363 movl 0x500+des_SPtrans(%edx),%ebx 2364 xorl %ebx, %esi | 1942 xorl 0x600(%ebp,%ebx),%esi 1943 xorl 0x700(%ebp,%ecx),%esi 1944 movl 24(%esp), %ecx 1945 xorl 0x400(%ebp,%eax),%esi 1946 xorl 0x500(%ebp,%edx),%esi |
2365 | 1947 |
2366 # Round 3 2367 movl 24(%ebp), %eax | 1948 1949 movl 24(%ecx), %eax |
2368 xorl %ebx, %ebx | 1950 xorl %ebx, %ebx |
2369 movl 28(%ebp), %edx | 1951 movl 28(%ecx), %edx |
2370 xorl %esi, %eax | 1952 xorl %esi, %eax |
1953 xorl %ecx, %ecx |
|
2371 xorl %esi, %edx 2372 andl $0xfcfcfcfc, %eax 2373 andl $0xcfcfcfcf, %edx 2374 movb %al, %bl 2375 movb %ah, %cl 2376 rorl $4, %edx | 1954 xorl %esi, %edx 1955 andl $0xfcfcfcfc, %eax 1956 andl $0xcfcfcfcf, %edx 1957 movb %al, %bl 1958 movb %ah, %cl 1959 rorl $4, %edx |
2377 movl des_SPtrans(%ebx),%ebp | 1960 xorl (%ebp,%ebx),%edi |
2378 movb %dl, %bl | 1961 movb %dl, %bl |
2379 xorl %ebp, %edi 2380 movl 0x200+des_SPtrans(%ecx),%ebp 2381 xorl %ebp, %edi | 1962 xorl 0x200(%ebp,%ecx),%edi |
2382 movb %dh, %cl 2383 shrl $16, %eax | 1963 movb %dh, %cl 1964 shrl $16, %eax |
2384 movl 0x100+des_SPtrans(%ebx),%ebp 2385 xorl %ebp, %edi | 1965 xorl 0x100(%ebp,%ebx),%edi |
2386 movb %ah, %bl 2387 shrl $16, %edx | 1966 movb %ah, %bl 1967 shrl $16, %edx |
2388 movl 0x300+des_SPtrans(%ecx),%ebp 2389 xorl %ebp, %edi 2390 movl 24(%esp), %ebp | 1968 xorl 0x300(%ebp,%ecx),%edi |
2391 movb %dh, %cl 2392 andl $0xff, %eax 2393 andl $0xff, %edx | 1969 movb %dh, %cl 1970 andl $0xff, %eax 1971 andl $0xff, %edx |
2394 movl 0x600+des_SPtrans(%ebx),%ebx 2395 xorl %ebx, %edi 2396 movl 0x700+des_SPtrans(%ecx),%ebx 2397 xorl %ebx, %edi 2398 movl 0x400+des_SPtrans(%eax),%ebx 2399 xorl %ebx, %edi 2400 movl 0x500+des_SPtrans(%edx),%ebx 2401 xorl %ebx, %edi | 1972 xorl 0x600(%ebp,%ebx),%edi 1973 xorl 0x700(%ebp,%ecx),%edi 1974 movl 24(%esp), %ecx 1975 xorl 0x400(%ebp,%eax),%edi 1976 xorl 0x500(%ebp,%edx),%edi |
2402 | 1977 |
2403 # Round 2 2404 movl 16(%ebp), %eax | 1978 1979 movl 16(%ecx), %eax |
2405 xorl %ebx, %ebx | 1980 xorl %ebx, %ebx |
2406 movl 20(%ebp), %edx | 1981 movl 20(%ecx), %edx |
2407 xorl %edi, %eax | 1982 xorl %edi, %eax |
1983 xorl %ecx, %ecx |
|
2408 xorl %edi, %edx 2409 andl $0xfcfcfcfc, %eax 2410 andl $0xcfcfcfcf, %edx 2411 movb %al, %bl 2412 movb %ah, %cl 2413 rorl $4, %edx | 1984 xorl %edi, %edx 1985 andl $0xfcfcfcfc, %eax 1986 andl $0xcfcfcfcf, %edx 1987 movb %al, %bl 1988 movb %ah, %cl 1989 rorl $4, %edx |
2414 movl des_SPtrans(%ebx),%ebp | 1990 xorl (%ebp,%ebx),%esi |
2415 movb %dl, %bl | 1991 movb %dl, %bl |
2416 xorl %ebp, %esi 2417 movl 0x200+des_SPtrans(%ecx),%ebp 2418 xorl %ebp, %esi | 1992 xorl 0x200(%ebp,%ecx),%esi |
2419 movb %dh, %cl 2420 shrl $16, %eax | 1993 movb %dh, %cl 1994 shrl $16, %eax |
2421 movl 0x100+des_SPtrans(%ebx),%ebp 2422 xorl %ebp, %esi | 1995 xorl 0x100(%ebp,%ebx),%esi |
2423 movb %ah, %bl 2424 shrl $16, %edx | 1996 movb %ah, %bl 1997 shrl $16, %edx |
2425 movl 0x300+des_SPtrans(%ecx),%ebp 2426 xorl %ebp, %esi 2427 movl 24(%esp), %ebp | 1998 xorl 0x300(%ebp,%ecx),%esi |
2428 movb %dh, %cl 2429 andl $0xff, %eax 2430 andl $0xff, %edx | 1999 movb %dh, %cl 2000 andl $0xff, %eax 2001 andl $0xff, %edx |
2431 movl 0x600+des_SPtrans(%ebx),%ebx 2432 xorl %ebx, %esi 2433 movl 0x700+des_SPtrans(%ecx),%ebx 2434 xorl %ebx, %esi 2435 movl 0x400+des_SPtrans(%eax),%ebx 2436 xorl %ebx, %esi 2437 movl 0x500+des_SPtrans(%edx),%ebx 2438 xorl %ebx, %esi | 2002 xorl 0x600(%ebp,%ebx),%esi 2003 xorl 0x700(%ebp,%ecx),%esi 2004 movl 24(%esp), %ecx 2005 xorl 0x400(%ebp,%eax),%esi 2006 xorl 0x500(%ebp,%edx),%esi |
2439 | 2007 |
2440 # Round 1 2441 movl 8(%ebp), %eax | 2008 2009 movl 8(%ecx), %eax |
2442 xorl %ebx, %ebx | 2010 xorl %ebx, %ebx |
2443 movl 12(%ebp), %edx | 2011 movl 12(%ecx), %edx |
2444 xorl %esi, %eax | 2012 xorl %esi, %eax |
2013 xorl %ecx, %ecx |
|
2445 xorl %esi, %edx 2446 andl $0xfcfcfcfc, %eax 2447 andl $0xcfcfcfcf, %edx 2448 movb %al, %bl 2449 movb %ah, %cl 2450 rorl $4, %edx | 2014 xorl %esi, %edx 2015 andl $0xfcfcfcfc, %eax 2016 andl $0xcfcfcfcf, %edx 2017 movb %al, %bl 2018 movb %ah, %cl 2019 rorl $4, %edx |
2451 movl des_SPtrans(%ebx),%ebp | 2020 xorl (%ebp,%ebx),%edi |
2452 movb %dl, %bl | 2021 movb %dl, %bl |
2453 xorl %ebp, %edi 2454 movl 0x200+des_SPtrans(%ecx),%ebp 2455 xorl %ebp, %edi | 2022 xorl 0x200(%ebp,%ecx),%edi |
2456 movb %dh, %cl 2457 shrl $16, %eax | 2023 movb %dh, %cl 2024 shrl $16, %eax |
2458 movl 0x100+des_SPtrans(%ebx),%ebp 2459 xorl %ebp, %edi | 2025 xorl 0x100(%ebp,%ebx),%edi |
2460 movb %ah, %bl 2461 shrl $16, %edx | 2026 movb %ah, %bl 2027 shrl $16, %edx |
2462 movl 0x300+des_SPtrans(%ecx),%ebp 2463 xorl %ebp, %edi 2464 movl 24(%esp), %ebp | 2028 xorl 0x300(%ebp,%ecx),%edi |
2465 movb %dh, %cl 2466 andl $0xff, %eax 2467 andl $0xff, %edx | 2029 movb %dh, %cl 2030 andl $0xff, %eax 2031 andl $0xff, %edx |
2468 movl 0x600+des_SPtrans(%ebx),%ebx 2469 xorl %ebx, %edi 2470 movl 0x700+des_SPtrans(%ecx),%ebx 2471 xorl %ebx, %edi 2472 movl 0x400+des_SPtrans(%eax),%ebx 2473 xorl %ebx, %edi 2474 movl 0x500+des_SPtrans(%edx),%ebx 2475 xorl %ebx, %edi | 2032 xorl 0x600(%ebp,%ebx),%edi 2033 xorl 0x700(%ebp,%ecx),%edi 2034 movl 24(%esp), %ecx 2035 xorl 0x400(%ebp,%eax),%edi 2036 xorl 0x500(%ebp,%edx),%edi |
2476 | 2037 |
2477 # Round 0 2478 movl (%ebp), %eax | 2038 2039 movl (%ecx), %eax |
2479 xorl %ebx, %ebx | 2040 xorl %ebx, %ebx |
2480 movl 4(%ebp), %edx | 2041 movl 4(%ecx), %edx |
2481 xorl %edi, %eax | 2042 xorl %edi, %eax |
2043 xorl %ecx, %ecx |
|
2482 xorl %edi, %edx 2483 andl $0xfcfcfcfc, %eax 2484 andl $0xcfcfcfcf, %edx 2485 movb %al, %bl 2486 movb %ah, %cl 2487 rorl $4, %edx | 2044 xorl %edi, %edx 2045 andl $0xfcfcfcfc, %eax 2046 andl $0xcfcfcfcf, %edx 2047 movb %al, %bl 2048 movb %ah, %cl 2049 rorl $4, %edx |
2488 movl des_SPtrans(%ebx),%ebp | 2050 xorl (%ebp,%ebx),%esi |
2489 movb %dl, %bl | 2051 movb %dl, %bl |
2490 xorl %ebp, %esi 2491 movl 0x200+des_SPtrans(%ecx),%ebp 2492 xorl %ebp, %esi | 2052 xorl 0x200(%ebp,%ecx),%esi |
2493 movb %dh, %cl 2494 shrl $16, %eax | 2053 movb %dh, %cl 2054 shrl $16, %eax |
2495 movl 0x100+des_SPtrans(%ebx),%ebp 2496 xorl %ebp, %esi | 2055 xorl 0x100(%ebp,%ebx),%esi |
2497 movb %ah, %bl 2498 shrl $16, %edx | 2056 movb %ah, %bl 2057 shrl $16, %edx |
2499 movl 0x300+des_SPtrans(%ecx),%ebp 2500 xorl %ebp, %esi 2501 movl 24(%esp), %ebp | 2058 xorl 0x300(%ebp,%ecx),%esi |
2502 movb %dh, %cl 2503 andl $0xff, %eax 2504 andl $0xff, %edx | 2059 movb %dh, %cl 2060 andl $0xff, %eax 2061 andl $0xff, %edx |
2505 movl 0x600+des_SPtrans(%ebx),%ebx 2506 xorl %ebx, %esi 2507 movl 0x700+des_SPtrans(%ecx),%ebx 2508 xorl %ebx, %esi 2509 movl 0x400+des_SPtrans(%eax),%ebx 2510 xorl %ebx, %esi 2511 movl 0x500+des_SPtrans(%edx),%ebx 2512 xorl %ebx, %esi | 2062 xorl 0x600(%ebp,%ebx),%esi 2063 xorl 0x700(%ebp,%ecx),%esi 2064 movl 24(%esp), %ecx 2065 xorl 0x400(%ebp,%eax),%esi 2066 xorl 0x500(%ebp,%edx),%esi |
2513.L003end: 2514 | 2067.L003end: 2068 |
2515 # Fixup | 2069 |
2516 rorl $3, %edi 2517 movl 20(%esp), %eax 2518 rorl $3, %esi 2519 movl %edi, (%eax) 2520 movl %esi, 4(%eax) 2521 popl %ebp 2522 popl %ebx 2523 popl %edi 2524 popl %esi 2525 ret | 2070 rorl $3, %edi 2071 movl 20(%esp), %eax 2072 rorl $3, %esi 2073 movl %edi, (%eax) 2074 movl %esi, 4(%eax) 2075 popl %ebp 2076 popl %ebx 2077 popl %edi 2078 popl %esi 2079 ret |
2526.L_des_encrypt2_end: 2527 .size des_encrypt2,.L_des_encrypt2_end-des_encrypt2 | 2080.L_DES_encrypt2_end: 2081 .size DES_encrypt2,.L_DES_encrypt2_end-DES_encrypt2 |
2528.ident "desasm.pl" 2529.text 2530 .align 16 | 2082.ident "desasm.pl" 2083.text 2084 .align 16 |
2531.globl des_encrypt3 2532 .type des_encrypt3,@function 2533des_encrypt3: | 2085.globl DES_encrypt3 2086 .type DES_encrypt3,@function 2087DES_encrypt3: |
2534 pushl %ebx 2535 movl 8(%esp), %ebx 2536 pushl %ebp 2537 pushl %esi 2538 pushl %edi 2539 | 2088 pushl %ebx 2089 movl 8(%esp), %ebx 2090 pushl %ebp 2091 pushl %esi 2092 pushl %edi 2093 |
2540 # Load the data words | 2094 |
2541 movl (%ebx), %edi 2542 movl 4(%ebx), %esi 2543 subl $12, %esp 2544 | 2095 movl (%ebx), %edi 2096 movl 4(%ebx), %esi 2097 subl $12, %esp 2098 |
2545 # IP | 2099 |
2546 roll $4, %edi 2547 movl %edi, %edx 2548 xorl %esi, %edi 2549 andl $0xf0f0f0f0, %edi 2550 xorl %edi, %edx 2551 xorl %edi, %esi 2552 2553 roll $20, %esi --- 29 unchanged lines hidden (view full) --- 2583 movl %esi, 4(%ebx) 2584 movl 36(%esp), %eax 2585 movl %edx, (%ebx) 2586 movl 40(%esp), %edi 2587 movl 44(%esp), %esi 2588 movl $1, 8(%esp) 2589 movl %eax, 4(%esp) 2590 movl %ebx, (%esp) | 2100 roll $4, %edi 2101 movl %edi, %edx 2102 xorl %esi, %edi 2103 andl $0xf0f0f0f0, %edi 2104 xorl %edi, %edx 2105 xorl %edi, %esi 2106 2107 roll $20, %esi --- 29 unchanged lines hidden (view full) --- 2137 movl %esi, 4(%ebx) 2138 movl 36(%esp), %eax 2139 movl %edx, (%ebx) 2140 movl 40(%esp), %edi 2141 movl 44(%esp), %esi 2142 movl $1, 8(%esp) 2143 movl %eax, 4(%esp) 2144 movl %ebx, (%esp) |
2591 call des_encrypt2 | 2145 call DES_encrypt2 |
2592 movl $0, 8(%esp) 2593 movl %edi, 4(%esp) 2594 movl %ebx, (%esp) | 2146 movl $0, 8(%esp) 2147 movl %edi, 4(%esp) 2148 movl %ebx, (%esp) |
2595 call des_encrypt2 | 2149 call DES_encrypt2 |
2596 movl $1, 8(%esp) 2597 movl %esi, 4(%esp) 2598 movl %ebx, (%esp) | 2150 movl $1, 8(%esp) 2151 movl %esi, 4(%esp) 2152 movl %ebx, (%esp) |
2599 call des_encrypt2 | 2153 call DES_encrypt2 |
2600 addl $12, %esp 2601 movl (%ebx), %edi 2602 movl 4(%ebx), %esi 2603 | 2154 addl $12, %esp 2155 movl (%ebx), %edi 2156 movl 4(%ebx), %esi 2157 |
2604 # FP | 2158 |
2605 roll $2, %esi 2606 roll $3, %edi 2607 movl %edi, %eax 2608 xorl %esi, %edi 2609 andl $0xaaaaaaaa, %edi 2610 xorl %edi, %eax 2611 xorl %edi, %esi 2612 --- 28 unchanged lines hidden (view full) --- 2641 rorl $4, %eax 2642 movl %eax, (%ebx) 2643 movl %esi, 4(%ebx) 2644 popl %edi 2645 popl %esi 2646 popl %ebp 2647 popl %ebx 2648 ret | 2159 roll $2, %esi 2160 roll $3, %edi 2161 movl %edi, %eax 2162 xorl %esi, %edi 2163 andl $0xaaaaaaaa, %edi 2164 xorl %edi, %eax 2165 xorl %edi, %esi 2166 --- 28 unchanged lines hidden (view full) --- 2195 rorl $4, %eax 2196 movl %eax, (%ebx) 2197 movl %esi, 4(%ebx) 2198 popl %edi 2199 popl %esi 2200 popl %ebp 2201 popl %ebx 2202 ret |
2649.L_des_encrypt3_end: 2650 .size des_encrypt3,.L_des_encrypt3_end-des_encrypt3 | 2203.L_DES_encrypt3_end: 2204 .size DES_encrypt3,.L_DES_encrypt3_end-DES_encrypt3 |
2651.ident "desasm.pl" 2652.text 2653 .align 16 | 2205.ident "desasm.pl" 2206.text 2207 .align 16 |
2654.globl des_decrypt3 2655 .type des_decrypt3,@function 2656des_decrypt3: | 2208.globl DES_decrypt3 2209 .type DES_decrypt3,@function 2210DES_decrypt3: |
2657 pushl %ebx 2658 movl 8(%esp), %ebx 2659 pushl %ebp 2660 pushl %esi 2661 pushl %edi 2662 | 2211 pushl %ebx 2212 movl 8(%esp), %ebx 2213 pushl %ebp 2214 pushl %esi 2215 pushl %edi 2216 |
2663 # Load the data words | 2217 |
2664 movl (%ebx), %edi 2665 movl 4(%ebx), %esi 2666 subl $12, %esp 2667 | 2218 movl (%ebx), %edi 2219 movl 4(%ebx), %esi 2220 subl $12, %esp 2221 |
2668 # IP | 2222 |
2669 roll $4, %edi 2670 movl %edi, %edx 2671 xorl %esi, %edi 2672 andl $0xf0f0f0f0, %edi 2673 xorl %edi, %edx 2674 xorl %edi, %esi 2675 2676 roll $20, %esi --- 29 unchanged lines hidden (view full) --- 2706 movl %esi, 4(%ebx) 2707 movl 36(%esp), %esi 2708 movl %edx, (%ebx) 2709 movl 40(%esp), %edi 2710 movl 44(%esp), %eax 2711 movl $0, 8(%esp) 2712 movl %eax, 4(%esp) 2713 movl %ebx, (%esp) | 2223 roll $4, %edi 2224 movl %edi, %edx 2225 xorl %esi, %edi 2226 andl $0xf0f0f0f0, %edi 2227 xorl %edi, %edx 2228 xorl %edi, %esi 2229 2230 roll $20, %esi --- 29 unchanged lines hidden (view full) --- 2260 movl %esi, 4(%ebx) 2261 movl 36(%esp), %esi 2262 movl %edx, (%ebx) 2263 movl 40(%esp), %edi 2264 movl 44(%esp), %eax 2265 movl $0, 8(%esp) 2266 movl %eax, 4(%esp) 2267 movl %ebx, (%esp) |
2714 call des_encrypt2 | 2268 call DES_encrypt2 |
2715 movl $1, 8(%esp) 2716 movl %edi, 4(%esp) 2717 movl %ebx, (%esp) | 2269 movl $1, 8(%esp) 2270 movl %edi, 4(%esp) 2271 movl %ebx, (%esp) |
2718 call des_encrypt2 | 2272 call DES_encrypt2 |
2719 movl $0, 8(%esp) 2720 movl %esi, 4(%esp) 2721 movl %ebx, (%esp) | 2273 movl $0, 8(%esp) 2274 movl %esi, 4(%esp) 2275 movl %ebx, (%esp) |
2722 call des_encrypt2 | 2276 call DES_encrypt2 |
2723 addl $12, %esp 2724 movl (%ebx), %edi 2725 movl 4(%ebx), %esi 2726 | 2277 addl $12, %esp 2278 movl (%ebx), %edi 2279 movl 4(%ebx), %esi 2280 |
2727 # FP | 2281 |
2728 roll $2, %esi 2729 roll $3, %edi 2730 movl %edi, %eax 2731 xorl %esi, %edi 2732 andl $0xaaaaaaaa, %edi 2733 xorl %edi, %eax 2734 xorl %edi, %esi 2735 --- 28 unchanged lines hidden (view full) --- 2764 rorl $4, %eax 2765 movl %eax, (%ebx) 2766 movl %esi, 4(%ebx) 2767 popl %edi 2768 popl %esi 2769 popl %ebp 2770 popl %ebx 2771 ret | 2282 roll $2, %esi 2283 roll $3, %edi 2284 movl %edi, %eax 2285 xorl %esi, %edi 2286 andl $0xaaaaaaaa, %edi 2287 xorl %edi, %eax 2288 xorl %edi, %esi 2289 --- 28 unchanged lines hidden (view full) --- 2318 rorl $4, %eax 2319 movl %eax, (%ebx) 2320 movl %esi, 4(%ebx) 2321 popl %edi 2322 popl %esi 2323 popl %ebp 2324 popl %ebx 2325 ret |
2772.L_des_decrypt3_end: 2773 .size des_decrypt3,.L_des_decrypt3_end-des_decrypt3 | 2326.L_DES_decrypt3_end: 2327 .size DES_decrypt3,.L_DES_decrypt3_end-DES_decrypt3 |
2774.ident "desasm.pl" 2775.text 2776 .align 16 | 2328.ident "desasm.pl" 2329.text 2330 .align 16 |
2777.globl des_ncbc_encrypt 2778 .type des_ncbc_encrypt,@function 2779des_ncbc_encrypt: | 2331.globl DES_ncbc_encrypt 2332 .type DES_ncbc_encrypt,@function 2333DES_ncbc_encrypt: |
2780 2781 pushl %ebp 2782 pushl %ebx 2783 pushl %esi 2784 pushl %edi 2785 movl 28(%esp), %ebp | 2334 2335 pushl %ebp 2336 pushl %ebx 2337 pushl %esi 2338 pushl %edi 2339 movl 28(%esp), %ebp |
2786 # getting iv ptr from parameter 4 | 2340 |
2787 movl 36(%esp), %ebx 2788 movl (%ebx), %esi 2789 movl 4(%ebx), %edi 2790 pushl %edi 2791 pushl %esi 2792 pushl %edi 2793 pushl %esi 2794 movl %esp, %ebx 2795 movl 36(%esp), %esi 2796 movl 40(%esp), %edi | 2341 movl 36(%esp), %ebx 2342 movl (%ebx), %esi 2343 movl 4(%ebx), %edi 2344 pushl %edi 2345 pushl %esi 2346 pushl %edi 2347 pushl %esi 2348 movl %esp, %ebx 2349 movl 36(%esp), %esi 2350 movl 40(%esp), %edi |
2797 # getting encrypt flag from parameter 5 | 2351 |
2798 movl 56(%esp), %ecx | 2352 movl 56(%esp), %ecx |
2799 # get and push parameter 5 | 2353 |
2800 pushl %ecx | 2354 pushl %ecx |
2801 # get and push parameter 3 | 2355 |
2802 movl 52(%esp), %eax 2803 pushl %eax 2804 pushl %ebx 2805 cmpl $0, %ecx 2806 jz .L004decrypt 2807 andl $4294967288, %ebp 2808 movl 12(%esp), %eax 2809 movl 16(%esp), %ebx 2810 jz .L005encrypt_finish 2811.L006encrypt_loop: 2812 movl (%esi), %ecx 2813 movl 4(%esi), %edx 2814 xorl %ecx, %eax 2815 xorl %edx, %ebx 2816 movl %eax, 12(%esp) 2817 movl %ebx, 16(%esp) | 2356 movl 52(%esp), %eax 2357 pushl %eax 2358 pushl %ebx 2359 cmpl $0, %ecx 2360 jz .L004decrypt 2361 andl $4294967288, %ebp 2362 movl 12(%esp), %eax 2363 movl 16(%esp), %ebx 2364 jz .L005encrypt_finish 2365.L006encrypt_loop: 2366 movl (%esi), %ecx 2367 movl 4(%esi), %edx 2368 xorl %ecx, %eax 2369 xorl %edx, %ebx 2370 movl %eax, 12(%esp) 2371 movl %ebx, 16(%esp) |
2818 call des_encrypt1 | 2372 call DES_encrypt1 |
2819 movl 12(%esp), %eax 2820 movl 16(%esp), %ebx 2821 movl %eax, (%edi) 2822 movl %ebx, 4(%edi) 2823 addl $8, %esi 2824 addl $8, %edi 2825 subl $8, %ebp 2826 jnz .L006encrypt_loop 2827.L005encrypt_finish: 2828 movl 56(%esp), %ebp 2829 andl $7, %ebp 2830 jz .L007finish | 2373 movl 12(%esp), %eax 2374 movl 16(%esp), %ebx 2375 movl %eax, (%edi) 2376 movl %ebx, 4(%edi) 2377 addl $8, %esi 2378 addl $8, %edi 2379 subl $8, %ebp 2380 jnz .L006encrypt_loop 2381.L005encrypt_finish: 2382 movl 56(%esp), %ebp 2383 andl $7, %ebp 2384 jz .L007finish |
2385 call .L008PIC_point 2386.L008PIC_point: 2387 popl %edx 2388 leal .L009cbc_enc_jmp_table-.L008PIC_point(%edx),%ecx 2389 movl (%ecx,%ebp,4), %ebp 2390 addl %edx, %ebp |
|
2831 xorl %ecx, %ecx 2832 xorl %edx, %edx | 2391 xorl %ecx, %ecx 2392 xorl %edx, %edx |
2833 movl .L008cbc_enc_jmp_table(,%ebp,4),%ebp | |
2834 jmp *%ebp | 2393 jmp *%ebp |
2835.L009ej7: | 2394.L010ej7: |
2836 movb 6(%esi), %dh 2837 sall $8, %edx | 2395 movb 6(%esi), %dh 2396 sall $8, %edx |
2838.L010ej6: | 2397.L011ej6: |
2839 movb 5(%esi), %dh | 2398 movb 5(%esi), %dh |
2840.L011ej5: | 2399.L012ej5: |
2841 movb 4(%esi), %dl | 2400 movb 4(%esi), %dl |
2842.L012ej4: | 2401.L013ej4: |
2843 movl (%esi), %ecx | 2402 movl (%esi), %ecx |
2844 jmp .L013ejend 2845.L014ej3: | 2403 jmp .L014ejend 2404.L015ej3: |
2846 movb 2(%esi), %ch 2847 sall $8, %ecx | 2405 movb 2(%esi), %ch 2406 sall $8, %ecx |
2848.L015ej2: | 2407.L016ej2: |
2849 movb 1(%esi), %ch | 2408 movb 1(%esi), %ch |
2850.L016ej1: | 2409.L017ej1: |
2851 movb (%esi), %cl | 2410 movb (%esi), %cl |
2852.L013ejend: | 2411.L014ejend: |
2853 xorl %ecx, %eax 2854 xorl %edx, %ebx 2855 movl %eax, 12(%esp) 2856 movl %ebx, 16(%esp) | 2412 xorl %ecx, %eax 2413 xorl %edx, %ebx 2414 movl %eax, 12(%esp) 2415 movl %ebx, 16(%esp) |
2857 call des_encrypt1 | 2416 call DES_encrypt1 |
2858 movl 12(%esp), %eax 2859 movl 16(%esp), %ebx 2860 movl %eax, (%edi) 2861 movl %ebx, 4(%edi) 2862 jmp .L007finish 2863.align 16 2864.L004decrypt: 2865 andl $4294967288, %ebp 2866 movl 20(%esp), %eax 2867 movl 24(%esp), %ebx | 2417 movl 12(%esp), %eax 2418 movl 16(%esp), %ebx 2419 movl %eax, (%edi) 2420 movl %ebx, 4(%edi) 2421 jmp .L007finish 2422.align 16 2423.L004decrypt: 2424 andl $4294967288, %ebp 2425 movl 20(%esp), %eax 2426 movl 24(%esp), %ebx |
2868 jz .L017decrypt_finish 2869.L018decrypt_loop: | 2427 jz .L018decrypt_finish 2428.L019decrypt_loop: |
2870 movl (%esi), %eax 2871 movl 4(%esi), %ebx 2872 movl %eax, 12(%esp) 2873 movl %ebx, 16(%esp) | 2429 movl (%esi), %eax 2430 movl 4(%esi), %ebx 2431 movl %eax, 12(%esp) 2432 movl %ebx, 16(%esp) |
2874 call des_encrypt1 | 2433 call DES_encrypt1 |
2875 movl 12(%esp), %eax 2876 movl 16(%esp), %ebx 2877 movl 20(%esp), %ecx 2878 movl 24(%esp), %edx 2879 xorl %eax, %ecx 2880 xorl %ebx, %edx 2881 movl (%esi), %eax 2882 movl 4(%esi), %ebx 2883 movl %ecx, (%edi) 2884 movl %edx, 4(%edi) 2885 movl %eax, 20(%esp) 2886 movl %ebx, 24(%esp) 2887 addl $8, %esi 2888 addl $8, %edi 2889 subl $8, %ebp | 2434 movl 12(%esp), %eax 2435 movl 16(%esp), %ebx 2436 movl 20(%esp), %ecx 2437 movl 24(%esp), %edx 2438 xorl %eax, %ecx 2439 xorl %ebx, %edx 2440 movl (%esi), %eax 2441 movl 4(%esi), %ebx 2442 movl %ecx, (%edi) 2443 movl %edx, 4(%edi) 2444 movl %eax, 20(%esp) 2445 movl %ebx, 24(%esp) 2446 addl $8, %esi 2447 addl $8, %edi 2448 subl $8, %ebp |
2890 jnz .L018decrypt_loop 2891.L017decrypt_finish: | 2449 jnz .L019decrypt_loop 2450.L018decrypt_finish: |
2892 movl 56(%esp), %ebp 2893 andl $7, %ebp 2894 jz .L007finish 2895 movl (%esi), %eax 2896 movl 4(%esi), %ebx 2897 movl %eax, 12(%esp) 2898 movl %ebx, 16(%esp) | 2451 movl 56(%esp), %ebp 2452 andl $7, %ebp 2453 jz .L007finish 2454 movl (%esi), %eax 2455 movl 4(%esi), %ebx 2456 movl %eax, 12(%esp) 2457 movl %ebx, 16(%esp) |
2899 call des_encrypt1 | 2458 call DES_encrypt1 |
2900 movl 12(%esp), %eax 2901 movl 16(%esp), %ebx 2902 movl 20(%esp), %ecx 2903 movl 24(%esp), %edx 2904 xorl %eax, %ecx 2905 xorl %ebx, %edx 2906 movl (%esi), %eax 2907 movl 4(%esi), %ebx | 2459 movl 12(%esp), %eax 2460 movl 16(%esp), %ebx 2461 movl 20(%esp), %ecx 2462 movl 24(%esp), %edx 2463 xorl %eax, %ecx 2464 xorl %ebx, %edx 2465 movl (%esi), %eax 2466 movl 4(%esi), %ebx |
2908.L019dj7: | 2467.L020dj7: |
2909 rorl $16, %edx 2910 movb %dl, 6(%edi) 2911 shrl $16, %edx | 2468 rorl $16, %edx 2469 movb %dl, 6(%edi) 2470 shrl $16, %edx |
2912.L020dj6: | 2471.L021dj6: |
2913 movb %dh, 5(%edi) | 2472 movb %dh, 5(%edi) |
2914.L021dj5: | 2473.L022dj5: |
2915 movb %dl, 4(%edi) | 2474 movb %dl, 4(%edi) |
2916.L022dj4: | 2475.L023dj4: |
2917 movl %ecx, (%edi) | 2476 movl %ecx, (%edi) |
2918 jmp .L023djend 2919.L024dj3: | 2477 jmp .L024djend 2478.L025dj3: |
2920 rorl $16, %ecx 2921 movb %cl, 2(%edi) 2922 sall $16, %ecx | 2479 rorl $16, %ecx 2480 movb %cl, 2(%edi) 2481 sall $16, %ecx |
2923.L025dj2: | 2482.L026dj2: |
2924 movb %ch, 1(%esi) | 2483 movb %ch, 1(%esi) |
2925.L026dj1: | 2484.L027dj1: |
2926 movb %cl, (%esi) | 2485 movb %cl, (%esi) |
2927.L023djend: | 2486.L024djend: |
2928 jmp .L007finish 2929.align 16 2930.L007finish: 2931 movl 64(%esp), %ecx 2932 addl $28, %esp 2933 movl %eax, (%ecx) 2934 movl %ebx, 4(%ecx) 2935 popl %edi 2936 popl %esi 2937 popl %ebx 2938 popl %ebp 2939 ret 2940.align 16 | 2487 jmp .L007finish 2488.align 16 2489.L007finish: 2490 movl 64(%esp), %ecx 2491 addl $28, %esp 2492 movl %eax, (%ecx) 2493 movl %ebx, 4(%ecx) 2494 popl %edi 2495 popl %esi 2496 popl %ebx 2497 popl %ebp 2498 ret 2499.align 16 |
2941.L008cbc_enc_jmp_table: | 2500.L009cbc_enc_jmp_table: |
2942 .long 0 | 2501 .long 0 |
2943 .long .L016ej1 2944 .long .L015ej2 2945 .long .L014ej3 2946 .long .L012ej4 2947 .long .L011ej5 2948 .long .L010ej6 2949 .long .L009ej7 2950.align 16 2951.L027cbc_dec_jmp_table: 2952 .long 0 2953 .long .L026dj1 2954 .long .L025dj2 2955 .long .L024dj3 2956 .long .L022dj4 2957 .long .L021dj5 2958 .long .L020dj6 2959 .long .L019dj7 2960.L_des_ncbc_encrypt_end: 2961 .size des_ncbc_encrypt,.L_des_ncbc_encrypt_end-des_ncbc_encrypt | 2502 .long .L017ej1-.L008PIC_point 2503 .long .L016ej2-.L008PIC_point 2504 .long .L015ej3-.L008PIC_point 2505 .long .L013ej4-.L008PIC_point 2506 .long .L012ej5-.L008PIC_point 2507 .long .L011ej6-.L008PIC_point 2508 .long .L010ej7-.L008PIC_point 2509.L_DES_ncbc_encrypt_end: 2510 .size DES_ncbc_encrypt,.L_DES_ncbc_encrypt_end-DES_ncbc_encrypt |
2962.ident "desasm.pl" 2963.text 2964 .align 16 | 2511.ident "desasm.pl" 2512.text 2513 .align 16 |
2965.globl des_ede3_cbc_encrypt 2966 .type des_ede3_cbc_encrypt,@function 2967des_ede3_cbc_encrypt: | 2514.globl DES_ede3_cbc_encrypt 2515 .type DES_ede3_cbc_encrypt,@function 2516DES_ede3_cbc_encrypt: |
2968 2969 pushl %ebp 2970 pushl %ebx 2971 pushl %esi 2972 pushl %edi 2973 movl 28(%esp), %ebp | 2517 2518 pushl %ebp 2519 pushl %ebx 2520 pushl %esi 2521 pushl %edi 2522 movl 28(%esp), %ebp |
2974 # getting iv ptr from parameter 6 | 2523 |
2975 movl 44(%esp), %ebx 2976 movl (%ebx), %esi 2977 movl 4(%ebx), %edi 2978 pushl %edi 2979 pushl %esi 2980 pushl %edi 2981 pushl %esi 2982 movl %esp, %ebx 2983 movl 36(%esp), %esi 2984 movl 40(%esp), %edi | 2524 movl 44(%esp), %ebx 2525 movl (%ebx), %esi 2526 movl 4(%ebx), %edi 2527 pushl %edi 2528 pushl %esi 2529 pushl %edi 2530 pushl %esi 2531 movl %esp, %ebx 2532 movl 36(%esp), %esi 2533 movl 40(%esp), %edi |
2985 # getting encrypt flag from parameter 7 | 2534 |
2986 movl 64(%esp), %ecx | 2535 movl 64(%esp), %ecx |
2987 # get and push parameter 5 | 2536 |
2988 movl 56(%esp), %eax 2989 pushl %eax | 2537 movl 56(%esp), %eax 2538 pushl %eax |
2990 # get and push parameter 4 | 2539 |
2991 movl 56(%esp), %eax 2992 pushl %eax | 2540 movl 56(%esp), %eax 2541 pushl %eax |
2993 # get and push parameter 3 | 2542 |
2994 movl 56(%esp), %eax 2995 pushl %eax 2996 pushl %ebx 2997 cmpl $0, %ecx 2998 jz .L028decrypt 2999 andl $4294967288, %ebp 3000 movl 16(%esp), %eax 3001 movl 20(%esp), %ebx 3002 jz .L029encrypt_finish 3003.L030encrypt_loop: 3004 movl (%esi), %ecx 3005 movl 4(%esi), %edx 3006 xorl %ecx, %eax 3007 xorl %edx, %ebx 3008 movl %eax, 16(%esp) 3009 movl %ebx, 20(%esp) | 2543 movl 56(%esp), %eax 2544 pushl %eax 2545 pushl %ebx 2546 cmpl $0, %ecx 2547 jz .L028decrypt 2548 andl $4294967288, %ebp 2549 movl 16(%esp), %eax 2550 movl 20(%esp), %ebx 2551 jz .L029encrypt_finish 2552.L030encrypt_loop: 2553 movl (%esi), %ecx 2554 movl 4(%esi), %edx 2555 xorl %ecx, %eax 2556 xorl %edx, %ebx 2557 movl %eax, 16(%esp) 2558 movl %ebx, 20(%esp) |
3010 call des_encrypt3 | 2559 call DES_encrypt3 |
3011 movl 16(%esp), %eax 3012 movl 20(%esp), %ebx 3013 movl %eax, (%edi) 3014 movl %ebx, 4(%edi) 3015 addl $8, %esi 3016 addl $8, %edi 3017 subl $8, %ebp 3018 jnz .L030encrypt_loop 3019.L029encrypt_finish: 3020 movl 60(%esp), %ebp 3021 andl $7, %ebp 3022 jz .L031finish | 2560 movl 16(%esp), %eax 2561 movl 20(%esp), %ebx 2562 movl %eax, (%edi) 2563 movl %ebx, 4(%edi) 2564 addl $8, %esi 2565 addl $8, %edi 2566 subl $8, %ebp 2567 jnz .L030encrypt_loop 2568.L029encrypt_finish: 2569 movl 60(%esp), %ebp 2570 andl $7, %ebp 2571 jz .L031finish |
2572 call .L032PIC_point 2573.L032PIC_point: 2574 popl %edx 2575 leal .L033cbc_enc_jmp_table-.L032PIC_point(%edx),%ecx 2576 movl (%ecx,%ebp,4), %ebp 2577 addl %edx, %ebp |
|
3023 xorl %ecx, %ecx 3024 xorl %edx, %edx | 2578 xorl %ecx, %ecx 2579 xorl %edx, %edx |
3025 movl .L032cbc_enc_jmp_table(,%ebp,4),%ebp | |
3026 jmp *%ebp | 2580 jmp *%ebp |
3027.L033ej7: | 2581.L034ej7: |
3028 movb 6(%esi), %dh 3029 sall $8, %edx | 2582 movb 6(%esi), %dh 2583 sall $8, %edx |
3030.L034ej6: | 2584.L035ej6: |
3031 movb 5(%esi), %dh | 2585 movb 5(%esi), %dh |
3032.L035ej5: | 2586.L036ej5: |
3033 movb 4(%esi), %dl | 2587 movb 4(%esi), %dl |
3034.L036ej4: | 2588.L037ej4: |
3035 movl (%esi), %ecx | 2589 movl (%esi), %ecx |
3036 jmp .L037ejend 3037.L038ej3: | 2590 jmp .L038ejend 2591.L039ej3: |
3038 movb 2(%esi), %ch 3039 sall $8, %ecx | 2592 movb 2(%esi), %ch 2593 sall $8, %ecx |
3040.L039ej2: | 2594.L040ej2: |
3041 movb 1(%esi), %ch | 2595 movb 1(%esi), %ch |
3042.L040ej1: | 2596.L041ej1: |
3043 movb (%esi), %cl | 2597 movb (%esi), %cl |
3044.L037ejend: | 2598.L038ejend: |
3045 xorl %ecx, %eax 3046 xorl %edx, %ebx 3047 movl %eax, 16(%esp) 3048 movl %ebx, 20(%esp) | 2599 xorl %ecx, %eax 2600 xorl %edx, %ebx 2601 movl %eax, 16(%esp) 2602 movl %ebx, 20(%esp) |
3049 call des_encrypt3 | 2603 call DES_encrypt3 |
3050 movl 16(%esp), %eax 3051 movl 20(%esp), %ebx 3052 movl %eax, (%edi) 3053 movl %ebx, 4(%edi) 3054 jmp .L031finish 3055.align 16 3056.L028decrypt: 3057 andl $4294967288, %ebp 3058 movl 24(%esp), %eax 3059 movl 28(%esp), %ebx | 2604 movl 16(%esp), %eax 2605 movl 20(%esp), %ebx 2606 movl %eax, (%edi) 2607 movl %ebx, 4(%edi) 2608 jmp .L031finish 2609.align 16 2610.L028decrypt: 2611 andl $4294967288, %ebp 2612 movl 24(%esp), %eax 2613 movl 28(%esp), %ebx |
3060 jz .L041decrypt_finish 3061.L042decrypt_loop: | 2614 jz .L042decrypt_finish 2615.L043decrypt_loop: |
3062 movl (%esi), %eax 3063 movl 4(%esi), %ebx 3064 movl %eax, 16(%esp) 3065 movl %ebx, 20(%esp) | 2616 movl (%esi), %eax 2617 movl 4(%esi), %ebx 2618 movl %eax, 16(%esp) 2619 movl %ebx, 20(%esp) |
3066 call des_decrypt3 | 2620 call DES_decrypt3 |
3067 movl 16(%esp), %eax 3068 movl 20(%esp), %ebx 3069 movl 24(%esp), %ecx 3070 movl 28(%esp), %edx 3071 xorl %eax, %ecx 3072 xorl %ebx, %edx 3073 movl (%esi), %eax 3074 movl 4(%esi), %ebx 3075 movl %ecx, (%edi) 3076 movl %edx, 4(%edi) 3077 movl %eax, 24(%esp) 3078 movl %ebx, 28(%esp) 3079 addl $8, %esi 3080 addl $8, %edi 3081 subl $8, %ebp | 2621 movl 16(%esp), %eax 2622 movl 20(%esp), %ebx 2623 movl 24(%esp), %ecx 2624 movl 28(%esp), %edx 2625 xorl %eax, %ecx 2626 xorl %ebx, %edx 2627 movl (%esi), %eax 2628 movl 4(%esi), %ebx 2629 movl %ecx, (%edi) 2630 movl %edx, 4(%edi) 2631 movl %eax, 24(%esp) 2632 movl %ebx, 28(%esp) 2633 addl $8, %esi 2634 addl $8, %edi 2635 subl $8, %ebp |
3082 jnz .L042decrypt_loop 3083.L041decrypt_finish: | 2636 jnz .L043decrypt_loop 2637.L042decrypt_finish: |
3084 movl 60(%esp), %ebp 3085 andl $7, %ebp 3086 jz .L031finish 3087 movl (%esi), %eax 3088 movl 4(%esi), %ebx 3089 movl %eax, 16(%esp) 3090 movl %ebx, 20(%esp) | 2638 movl 60(%esp), %ebp 2639 andl $7, %ebp 2640 jz .L031finish 2641 movl (%esi), %eax 2642 movl 4(%esi), %ebx 2643 movl %eax, 16(%esp) 2644 movl %ebx, 20(%esp) |
3091 call des_decrypt3 | 2645 call DES_decrypt3 |
3092 movl 16(%esp), %eax 3093 movl 20(%esp), %ebx 3094 movl 24(%esp), %ecx 3095 movl 28(%esp), %edx 3096 xorl %eax, %ecx 3097 xorl %ebx, %edx 3098 movl (%esi), %eax 3099 movl 4(%esi), %ebx | 2646 movl 16(%esp), %eax 2647 movl 20(%esp), %ebx 2648 movl 24(%esp), %ecx 2649 movl 28(%esp), %edx 2650 xorl %eax, %ecx 2651 xorl %ebx, %edx 2652 movl (%esi), %eax 2653 movl 4(%esi), %ebx |
3100.L043dj7: | 2654.L044dj7: |
3101 rorl $16, %edx 3102 movb %dl, 6(%edi) 3103 shrl $16, %edx | 2655 rorl $16, %edx 2656 movb %dl, 6(%edi) 2657 shrl $16, %edx |
3104.L044dj6: | 2658.L045dj6: |
3105 movb %dh, 5(%edi) | 2659 movb %dh, 5(%edi) |
3106.L045dj5: | 2660.L046dj5: |
3107 movb %dl, 4(%edi) | 2661 movb %dl, 4(%edi) |
3108.L046dj4: | 2662.L047dj4: |
3109 movl %ecx, (%edi) | 2663 movl %ecx, (%edi) |
3110 jmp .L047djend 3111.L048dj3: | 2664 jmp .L048djend 2665.L049dj3: |
3112 rorl $16, %ecx 3113 movb %cl, 2(%edi) 3114 sall $16, %ecx | 2666 rorl $16, %ecx 2667 movb %cl, 2(%edi) 2668 sall $16, %ecx |
3115.L049dj2: | 2669.L050dj2: |
3116 movb %ch, 1(%esi) | 2670 movb %ch, 1(%esi) |
3117.L050dj1: | 2671.L051dj1: |
3118 movb %cl, (%esi) | 2672 movb %cl, (%esi) |
3119.L047djend: | 2673.L048djend: |
3120 jmp .L031finish 3121.align 16 3122.L031finish: 3123 movl 76(%esp), %ecx 3124 addl $32, %esp 3125 movl %eax, (%ecx) 3126 movl %ebx, 4(%ecx) 3127 popl %edi 3128 popl %esi 3129 popl %ebx 3130 popl %ebp 3131 ret 3132.align 16 | 2674 jmp .L031finish 2675.align 16 2676.L031finish: 2677 movl 76(%esp), %ecx 2678 addl $32, %esp 2679 movl %eax, (%ecx) 2680 movl %ebx, 4(%ecx) 2681 popl %edi 2682 popl %esi 2683 popl %ebx 2684 popl %ebp 2685 ret 2686.align 16 |
3133.L032cbc_enc_jmp_table: | 2687.L033cbc_enc_jmp_table: |
3134 .long 0 | 2688 .long 0 |
3135 .long .L040ej1 3136 .long .L039ej2 3137 .long .L038ej3 3138 .long .L036ej4 3139 .long .L035ej5 3140 .long .L034ej6 3141 .long .L033ej7 3142.align 16 3143.L051cbc_dec_jmp_table: 3144 .long 0 3145 .long .L050dj1 3146 .long .L049dj2 3147 .long .L048dj3 3148 .long .L046dj4 3149 .long .L045dj5 3150 .long .L044dj6 3151 .long .L043dj7 3152.L_des_ede3_cbc_encrypt_end: 3153 .size des_ede3_cbc_encrypt,.L_des_ede3_cbc_encrypt_end-des_ede3_cbc_encrypt | 2689 .long .L041ej1-.L032PIC_point 2690 .long .L040ej2-.L032PIC_point 2691 .long .L039ej3-.L032PIC_point 2692 .long .L037ej4-.L032PIC_point 2693 .long .L036ej5-.L032PIC_point 2694 .long .L035ej6-.L032PIC_point 2695 .long .L034ej7-.L032PIC_point 2696.L_DES_ede3_cbc_encrypt_end: 2697 .size DES_ede3_cbc_encrypt,.L_DES_ede3_cbc_encrypt_end-DES_ede3_cbc_encrypt |
3154.ident "desasm.pl" | 2698.ident "desasm.pl" |