OLD | NEW |
| (Empty) |
1 .file "bf-586.s" | |
2 .text | |
3 .globl BF_encrypt | |
4 .type BF_encrypt,@function | |
5 .align 16 | |
6 BF_encrypt: | |
7 .L_BF_encrypt_begin: | |
8 | |
9 pushl %ebp | |
10 pushl %ebx | |
11 movl 12(%esp),%ebx | |
12 movl 16(%esp),%ebp | |
13 pushl %esi | |
14 pushl %edi | |
15 | |
16 movl (%ebx),%edi | |
17 movl 4(%ebx),%esi | |
18 xorl %eax,%eax | |
19 movl (%ebp),%ebx | |
20 xorl %ecx,%ecx | |
21 xorl %ebx,%edi | |
22 | |
23 | |
24 movl 4(%ebp),%edx | |
25 movl %edi,%ebx | |
26 xorl %edx,%esi | |
27 shrl $16,%ebx | |
28 movl %edi,%edx | |
29 movb %bh,%al | |
30 andl $255,%ebx | |
31 movb %dh,%cl | |
32 andl $255,%edx | |
33 movl 72(%ebp,%eax,4),%eax | |
34 movl 1096(%ebp,%ebx,4),%ebx | |
35 addl %eax,%ebx | |
36 movl 2120(%ebp,%ecx,4),%eax | |
37 xorl %eax,%ebx | |
38 movl 3144(%ebp,%edx,4),%edx | |
39 addl %edx,%ebx | |
40 xorl %eax,%eax | |
41 xorl %ebx,%esi | |
42 | |
43 | |
44 movl 8(%ebp),%edx | |
45 movl %esi,%ebx | |
46 xorl %edx,%edi | |
47 shrl $16,%ebx | |
48 movl %esi,%edx | |
49 movb %bh,%al | |
50 andl $255,%ebx | |
51 movb %dh,%cl | |
52 andl $255,%edx | |
53 movl 72(%ebp,%eax,4),%eax | |
54 movl 1096(%ebp,%ebx,4),%ebx | |
55 addl %eax,%ebx | |
56 movl 2120(%ebp,%ecx,4),%eax | |
57 xorl %eax,%ebx | |
58 movl 3144(%ebp,%edx,4),%edx | |
59 addl %edx,%ebx | |
60 xorl %eax,%eax | |
61 xorl %ebx,%edi | |
62 | |
63 | |
64 movl 12(%ebp),%edx | |
65 movl %edi,%ebx | |
66 xorl %edx,%esi | |
67 shrl $16,%ebx | |
68 movl %edi,%edx | |
69 movb %bh,%al | |
70 andl $255,%ebx | |
71 movb %dh,%cl | |
72 andl $255,%edx | |
73 movl 72(%ebp,%eax,4),%eax | |
74 movl 1096(%ebp,%ebx,4),%ebx | |
75 addl %eax,%ebx | |
76 movl 2120(%ebp,%ecx,4),%eax | |
77 xorl %eax,%ebx | |
78 movl 3144(%ebp,%edx,4),%edx | |
79 addl %edx,%ebx | |
80 xorl %eax,%eax | |
81 xorl %ebx,%esi | |
82 | |
83 | |
84 movl 16(%ebp),%edx | |
85 movl %esi,%ebx | |
86 xorl %edx,%edi | |
87 shrl $16,%ebx | |
88 movl %esi,%edx | |
89 movb %bh,%al | |
90 andl $255,%ebx | |
91 movb %dh,%cl | |
92 andl $255,%edx | |
93 movl 72(%ebp,%eax,4),%eax | |
94 movl 1096(%ebp,%ebx,4),%ebx | |
95 addl %eax,%ebx | |
96 movl 2120(%ebp,%ecx,4),%eax | |
97 xorl %eax,%ebx | |
98 movl 3144(%ebp,%edx,4),%edx | |
99 addl %edx,%ebx | |
100 xorl %eax,%eax | |
101 xorl %ebx,%edi | |
102 | |
103 | |
104 movl 20(%ebp),%edx | |
105 movl %edi,%ebx | |
106 xorl %edx,%esi | |
107 shrl $16,%ebx | |
108 movl %edi,%edx | |
109 movb %bh,%al | |
110 andl $255,%ebx | |
111 movb %dh,%cl | |
112 andl $255,%edx | |
113 movl 72(%ebp,%eax,4),%eax | |
114 movl 1096(%ebp,%ebx,4),%ebx | |
115 addl %eax,%ebx | |
116 movl 2120(%ebp,%ecx,4),%eax | |
117 xorl %eax,%ebx | |
118 movl 3144(%ebp,%edx,4),%edx | |
119 addl %edx,%ebx | |
120 xorl %eax,%eax | |
121 xorl %ebx,%esi | |
122 | |
123 | |
124 movl 24(%ebp),%edx | |
125 movl %esi,%ebx | |
126 xorl %edx,%edi | |
127 shrl $16,%ebx | |
128 movl %esi,%edx | |
129 movb %bh,%al | |
130 andl $255,%ebx | |
131 movb %dh,%cl | |
132 andl $255,%edx | |
133 movl 72(%ebp,%eax,4),%eax | |
134 movl 1096(%ebp,%ebx,4),%ebx | |
135 addl %eax,%ebx | |
136 movl 2120(%ebp,%ecx,4),%eax | |
137 xorl %eax,%ebx | |
138 movl 3144(%ebp,%edx,4),%edx | |
139 addl %edx,%ebx | |
140 xorl %eax,%eax | |
141 xorl %ebx,%edi | |
142 | |
143 | |
144 movl 28(%ebp),%edx | |
145 movl %edi,%ebx | |
146 xorl %edx,%esi | |
147 shrl $16,%ebx | |
148 movl %edi,%edx | |
149 movb %bh,%al | |
150 andl $255,%ebx | |
151 movb %dh,%cl | |
152 andl $255,%edx | |
153 movl 72(%ebp,%eax,4),%eax | |
154 movl 1096(%ebp,%ebx,4),%ebx | |
155 addl %eax,%ebx | |
156 movl 2120(%ebp,%ecx,4),%eax | |
157 xorl %eax,%ebx | |
158 movl 3144(%ebp,%edx,4),%edx | |
159 addl %edx,%ebx | |
160 xorl %eax,%eax | |
161 xorl %ebx,%esi | |
162 | |
163 | |
164 movl 32(%ebp),%edx | |
165 movl %esi,%ebx | |
166 xorl %edx,%edi | |
167 shrl $16,%ebx | |
168 movl %esi,%edx | |
169 movb %bh,%al | |
170 andl $255,%ebx | |
171 movb %dh,%cl | |
172 andl $255,%edx | |
173 movl 72(%ebp,%eax,4),%eax | |
174 movl 1096(%ebp,%ebx,4),%ebx | |
175 addl %eax,%ebx | |
176 movl 2120(%ebp,%ecx,4),%eax | |
177 xorl %eax,%ebx | |
178 movl 3144(%ebp,%edx,4),%edx | |
179 addl %edx,%ebx | |
180 xorl %eax,%eax | |
181 xorl %ebx,%edi | |
182 | |
183 | |
184 movl 36(%ebp),%edx | |
185 movl %edi,%ebx | |
186 xorl %edx,%esi | |
187 shrl $16,%ebx | |
188 movl %edi,%edx | |
189 movb %bh,%al | |
190 andl $255,%ebx | |
191 movb %dh,%cl | |
192 andl $255,%edx | |
193 movl 72(%ebp,%eax,4),%eax | |
194 movl 1096(%ebp,%ebx,4),%ebx | |
195 addl %eax,%ebx | |
196 movl 2120(%ebp,%ecx,4),%eax | |
197 xorl %eax,%ebx | |
198 movl 3144(%ebp,%edx,4),%edx | |
199 addl %edx,%ebx | |
200 xorl %eax,%eax | |
201 xorl %ebx,%esi | |
202 | |
203 | |
204 movl 40(%ebp),%edx | |
205 movl %esi,%ebx | |
206 xorl %edx,%edi | |
207 shrl $16,%ebx | |
208 movl %esi,%edx | |
209 movb %bh,%al | |
210 andl $255,%ebx | |
211 movb %dh,%cl | |
212 andl $255,%edx | |
213 movl 72(%ebp,%eax,4),%eax | |
214 movl 1096(%ebp,%ebx,4),%ebx | |
215 addl %eax,%ebx | |
216 movl 2120(%ebp,%ecx,4),%eax | |
217 xorl %eax,%ebx | |
218 movl 3144(%ebp,%edx,4),%edx | |
219 addl %edx,%ebx | |
220 xorl %eax,%eax | |
221 xorl %ebx,%edi | |
222 | |
223 | |
224 movl 44(%ebp),%edx | |
225 movl %edi,%ebx | |
226 xorl %edx,%esi | |
227 shrl $16,%ebx | |
228 movl %edi,%edx | |
229 movb %bh,%al | |
230 andl $255,%ebx | |
231 movb %dh,%cl | |
232 andl $255,%edx | |
233 movl 72(%ebp,%eax,4),%eax | |
234 movl 1096(%ebp,%ebx,4),%ebx | |
235 addl %eax,%ebx | |
236 movl 2120(%ebp,%ecx,4),%eax | |
237 xorl %eax,%ebx | |
238 movl 3144(%ebp,%edx,4),%edx | |
239 addl %edx,%ebx | |
240 xorl %eax,%eax | |
241 xorl %ebx,%esi | |
242 | |
243 | |
244 movl 48(%ebp),%edx | |
245 movl %esi,%ebx | |
246 xorl %edx,%edi | |
247 shrl $16,%ebx | |
248 movl %esi,%edx | |
249 movb %bh,%al | |
250 andl $255,%ebx | |
251 movb %dh,%cl | |
252 andl $255,%edx | |
253 movl 72(%ebp,%eax,4),%eax | |
254 movl 1096(%ebp,%ebx,4),%ebx | |
255 addl %eax,%ebx | |
256 movl 2120(%ebp,%ecx,4),%eax | |
257 xorl %eax,%ebx | |
258 movl 3144(%ebp,%edx,4),%edx | |
259 addl %edx,%ebx | |
260 xorl %eax,%eax | |
261 xorl %ebx,%edi | |
262 | |
263 | |
264 movl 52(%ebp),%edx | |
265 movl %edi,%ebx | |
266 xorl %edx,%esi | |
267 shrl $16,%ebx | |
268 movl %edi,%edx | |
269 movb %bh,%al | |
270 andl $255,%ebx | |
271 movb %dh,%cl | |
272 andl $255,%edx | |
273 movl 72(%ebp,%eax,4),%eax | |
274 movl 1096(%ebp,%ebx,4),%ebx | |
275 addl %eax,%ebx | |
276 movl 2120(%ebp,%ecx,4),%eax | |
277 xorl %eax,%ebx | |
278 movl 3144(%ebp,%edx,4),%edx | |
279 addl %edx,%ebx | |
280 xorl %eax,%eax | |
281 xorl %ebx,%esi | |
282 | |
283 | |
284 movl 56(%ebp),%edx | |
285 movl %esi,%ebx | |
286 xorl %edx,%edi | |
287 shrl $16,%ebx | |
288 movl %esi,%edx | |
289 movb %bh,%al | |
290 andl $255,%ebx | |
291 movb %dh,%cl | |
292 andl $255,%edx | |
293 movl 72(%ebp,%eax,4),%eax | |
294 movl 1096(%ebp,%ebx,4),%ebx | |
295 addl %eax,%ebx | |
296 movl 2120(%ebp,%ecx,4),%eax | |
297 xorl %eax,%ebx | |
298 movl 3144(%ebp,%edx,4),%edx | |
299 addl %edx,%ebx | |
300 xorl %eax,%eax | |
301 xorl %ebx,%edi | |
302 | |
303 | |
304 movl 60(%ebp),%edx | |
305 movl %edi,%ebx | |
306 xorl %edx,%esi | |
307 shrl $16,%ebx | |
308 movl %edi,%edx | |
309 movb %bh,%al | |
310 andl $255,%ebx | |
311 movb %dh,%cl | |
312 andl $255,%edx | |
313 movl 72(%ebp,%eax,4),%eax | |
314 movl 1096(%ebp,%ebx,4),%ebx | |
315 addl %eax,%ebx | |
316 movl 2120(%ebp,%ecx,4),%eax | |
317 xorl %eax,%ebx | |
318 movl 3144(%ebp,%edx,4),%edx | |
319 addl %edx,%ebx | |
320 xorl %eax,%eax | |
321 xorl %ebx,%esi | |
322 | |
323 | |
324 movl 64(%ebp),%edx | |
325 movl %esi,%ebx | |
326 xorl %edx,%edi | |
327 shrl $16,%ebx | |
328 movl %esi,%edx | |
329 movb %bh,%al | |
330 andl $255,%ebx | |
331 movb %dh,%cl | |
332 andl $255,%edx | |
333 movl 72(%ebp,%eax,4),%eax | |
334 movl 1096(%ebp,%ebx,4),%ebx | |
335 addl %eax,%ebx | |
336 movl 2120(%ebp,%ecx,4),%eax | |
337 xorl %eax,%ebx | |
338 movl 3144(%ebp,%edx,4),%edx | |
339 addl %edx,%ebx | |
340 | |
341 movl 20(%esp),%eax | |
342 xorl %ebx,%edi | |
343 movl 68(%ebp),%edx | |
344 xorl %edx,%esi | |
345 movl %edi,4(%eax) | |
346 movl %esi,(%eax) | |
347 popl %edi | |
348 popl %esi | |
349 popl %ebx | |
350 popl %ebp | |
351 ret | |
352 .size BF_encrypt,.-.L_BF_encrypt_begin | |
353 .globl BF_decrypt | |
354 .type BF_decrypt,@function | |
355 .align 16 | |
356 BF_decrypt: | |
357 .L_BF_decrypt_begin: | |
358 | |
359 pushl %ebp | |
360 pushl %ebx | |
361 movl 12(%esp),%ebx | |
362 movl 16(%esp),%ebp | |
363 pushl %esi | |
364 pushl %edi | |
365 | |
366 movl (%ebx),%edi | |
367 movl 4(%ebx),%esi | |
368 xorl %eax,%eax | |
369 movl 68(%ebp),%ebx | |
370 xorl %ecx,%ecx | |
371 xorl %ebx,%edi | |
372 | |
373 | |
374 movl 64(%ebp),%edx | |
375 movl %edi,%ebx | |
376 xorl %edx,%esi | |
377 shrl $16,%ebx | |
378 movl %edi,%edx | |
379 movb %bh,%al | |
380 andl $255,%ebx | |
381 movb %dh,%cl | |
382 andl $255,%edx | |
383 movl 72(%ebp,%eax,4),%eax | |
384 movl 1096(%ebp,%ebx,4),%ebx | |
385 addl %eax,%ebx | |
386 movl 2120(%ebp,%ecx,4),%eax | |
387 xorl %eax,%ebx | |
388 movl 3144(%ebp,%edx,4),%edx | |
389 addl %edx,%ebx | |
390 xorl %eax,%eax | |
391 xorl %ebx,%esi | |
392 | |
393 | |
394 movl 60(%ebp),%edx | |
395 movl %esi,%ebx | |
396 xorl %edx,%edi | |
397 shrl $16,%ebx | |
398 movl %esi,%edx | |
399 movb %bh,%al | |
400 andl $255,%ebx | |
401 movb %dh,%cl | |
402 andl $255,%edx | |
403 movl 72(%ebp,%eax,4),%eax | |
404 movl 1096(%ebp,%ebx,4),%ebx | |
405 addl %eax,%ebx | |
406 movl 2120(%ebp,%ecx,4),%eax | |
407 xorl %eax,%ebx | |
408 movl 3144(%ebp,%edx,4),%edx | |
409 addl %edx,%ebx | |
410 xorl %eax,%eax | |
411 xorl %ebx,%edi | |
412 | |
413 | |
414 movl 56(%ebp),%edx | |
415 movl %edi,%ebx | |
416 xorl %edx,%esi | |
417 shrl $16,%ebx | |
418 movl %edi,%edx | |
419 movb %bh,%al | |
420 andl $255,%ebx | |
421 movb %dh,%cl | |
422 andl $255,%edx | |
423 movl 72(%ebp,%eax,4),%eax | |
424 movl 1096(%ebp,%ebx,4),%ebx | |
425 addl %eax,%ebx | |
426 movl 2120(%ebp,%ecx,4),%eax | |
427 xorl %eax,%ebx | |
428 movl 3144(%ebp,%edx,4),%edx | |
429 addl %edx,%ebx | |
430 xorl %eax,%eax | |
431 xorl %ebx,%esi | |
432 | |
433 | |
434 movl 52(%ebp),%edx | |
435 movl %esi,%ebx | |
436 xorl %edx,%edi | |
437 shrl $16,%ebx | |
438 movl %esi,%edx | |
439 movb %bh,%al | |
440 andl $255,%ebx | |
441 movb %dh,%cl | |
442 andl $255,%edx | |
443 movl 72(%ebp,%eax,4),%eax | |
444 movl 1096(%ebp,%ebx,4),%ebx | |
445 addl %eax,%ebx | |
446 movl 2120(%ebp,%ecx,4),%eax | |
447 xorl %eax,%ebx | |
448 movl 3144(%ebp,%edx,4),%edx | |
449 addl %edx,%ebx | |
450 xorl %eax,%eax | |
451 xorl %ebx,%edi | |
452 | |
453 | |
454 movl 48(%ebp),%edx | |
455 movl %edi,%ebx | |
456 xorl %edx,%esi | |
457 shrl $16,%ebx | |
458 movl %edi,%edx | |
459 movb %bh,%al | |
460 andl $255,%ebx | |
461 movb %dh,%cl | |
462 andl $255,%edx | |
463 movl 72(%ebp,%eax,4),%eax | |
464 movl 1096(%ebp,%ebx,4),%ebx | |
465 addl %eax,%ebx | |
466 movl 2120(%ebp,%ecx,4),%eax | |
467 xorl %eax,%ebx | |
468 movl 3144(%ebp,%edx,4),%edx | |
469 addl %edx,%ebx | |
470 xorl %eax,%eax | |
471 xorl %ebx,%esi | |
472 | |
473 | |
474 movl 44(%ebp),%edx | |
475 movl %esi,%ebx | |
476 xorl %edx,%edi | |
477 shrl $16,%ebx | |
478 movl %esi,%edx | |
479 movb %bh,%al | |
480 andl $255,%ebx | |
481 movb %dh,%cl | |
482 andl $255,%edx | |
483 movl 72(%ebp,%eax,4),%eax | |
484 movl 1096(%ebp,%ebx,4),%ebx | |
485 addl %eax,%ebx | |
486 movl 2120(%ebp,%ecx,4),%eax | |
487 xorl %eax,%ebx | |
488 movl 3144(%ebp,%edx,4),%edx | |
489 addl %edx,%ebx | |
490 xorl %eax,%eax | |
491 xorl %ebx,%edi | |
492 | |
493 | |
494 movl 40(%ebp),%edx | |
495 movl %edi,%ebx | |
496 xorl %edx,%esi | |
497 shrl $16,%ebx | |
498 movl %edi,%edx | |
499 movb %bh,%al | |
500 andl $255,%ebx | |
501 movb %dh,%cl | |
502 andl $255,%edx | |
503 movl 72(%ebp,%eax,4),%eax | |
504 movl 1096(%ebp,%ebx,4),%ebx | |
505 addl %eax,%ebx | |
506 movl 2120(%ebp,%ecx,4),%eax | |
507 xorl %eax,%ebx | |
508 movl 3144(%ebp,%edx,4),%edx | |
509 addl %edx,%ebx | |
510 xorl %eax,%eax | |
511 xorl %ebx,%esi | |
512 | |
513 | |
514 movl 36(%ebp),%edx | |
515 movl %esi,%ebx | |
516 xorl %edx,%edi | |
517 shrl $16,%ebx | |
518 movl %esi,%edx | |
519 movb %bh,%al | |
520 andl $255,%ebx | |
521 movb %dh,%cl | |
522 andl $255,%edx | |
523 movl 72(%ebp,%eax,4),%eax | |
524 movl 1096(%ebp,%ebx,4),%ebx | |
525 addl %eax,%ebx | |
526 movl 2120(%ebp,%ecx,4),%eax | |
527 xorl %eax,%ebx | |
528 movl 3144(%ebp,%edx,4),%edx | |
529 addl %edx,%ebx | |
530 xorl %eax,%eax | |
531 xorl %ebx,%edi | |
532 | |
533 | |
534 movl 32(%ebp),%edx | |
535 movl %edi,%ebx | |
536 xorl %edx,%esi | |
537 shrl $16,%ebx | |
538 movl %edi,%edx | |
539 movb %bh,%al | |
540 andl $255,%ebx | |
541 movb %dh,%cl | |
542 andl $255,%edx | |
543 movl 72(%ebp,%eax,4),%eax | |
544 movl 1096(%ebp,%ebx,4),%ebx | |
545 addl %eax,%ebx | |
546 movl 2120(%ebp,%ecx,4),%eax | |
547 xorl %eax,%ebx | |
548 movl 3144(%ebp,%edx,4),%edx | |
549 addl %edx,%ebx | |
550 xorl %eax,%eax | |
551 xorl %ebx,%esi | |
552 | |
553 | |
554 movl 28(%ebp),%edx | |
555 movl %esi,%ebx | |
556 xorl %edx,%edi | |
557 shrl $16,%ebx | |
558 movl %esi,%edx | |
559 movb %bh,%al | |
560 andl $255,%ebx | |
561 movb %dh,%cl | |
562 andl $255,%edx | |
563 movl 72(%ebp,%eax,4),%eax | |
564 movl 1096(%ebp,%ebx,4),%ebx | |
565 addl %eax,%ebx | |
566 movl 2120(%ebp,%ecx,4),%eax | |
567 xorl %eax,%ebx | |
568 movl 3144(%ebp,%edx,4),%edx | |
569 addl %edx,%ebx | |
570 xorl %eax,%eax | |
571 xorl %ebx,%edi | |
572 | |
573 | |
574 movl 24(%ebp),%edx | |
575 movl %edi,%ebx | |
576 xorl %edx,%esi | |
577 shrl $16,%ebx | |
578 movl %edi,%edx | |
579 movb %bh,%al | |
580 andl $255,%ebx | |
581 movb %dh,%cl | |
582 andl $255,%edx | |
583 movl 72(%ebp,%eax,4),%eax | |
584 movl 1096(%ebp,%ebx,4),%ebx | |
585 addl %eax,%ebx | |
586 movl 2120(%ebp,%ecx,4),%eax | |
587 xorl %eax,%ebx | |
588 movl 3144(%ebp,%edx,4),%edx | |
589 addl %edx,%ebx | |
590 xorl %eax,%eax | |
591 xorl %ebx,%esi | |
592 | |
593 | |
594 movl 20(%ebp),%edx | |
595 movl %esi,%ebx | |
596 xorl %edx,%edi | |
597 shrl $16,%ebx | |
598 movl %esi,%edx | |
599 movb %bh,%al | |
600 andl $255,%ebx | |
601 movb %dh,%cl | |
602 andl $255,%edx | |
603 movl 72(%ebp,%eax,4),%eax | |
604 movl 1096(%ebp,%ebx,4),%ebx | |
605 addl %eax,%ebx | |
606 movl 2120(%ebp,%ecx,4),%eax | |
607 xorl %eax,%ebx | |
608 movl 3144(%ebp,%edx,4),%edx | |
609 addl %edx,%ebx | |
610 xorl %eax,%eax | |
611 xorl %ebx,%edi | |
612 | |
613 | |
614 movl 16(%ebp),%edx | |
615 movl %edi,%ebx | |
616 xorl %edx,%esi | |
617 shrl $16,%ebx | |
618 movl %edi,%edx | |
619 movb %bh,%al | |
620 andl $255,%ebx | |
621 movb %dh,%cl | |
622 andl $255,%edx | |
623 movl 72(%ebp,%eax,4),%eax | |
624 movl 1096(%ebp,%ebx,4),%ebx | |
625 addl %eax,%ebx | |
626 movl 2120(%ebp,%ecx,4),%eax | |
627 xorl %eax,%ebx | |
628 movl 3144(%ebp,%edx,4),%edx | |
629 addl %edx,%ebx | |
630 xorl %eax,%eax | |
631 xorl %ebx,%esi | |
632 | |
633 | |
634 movl 12(%ebp),%edx | |
635 movl %esi,%ebx | |
636 xorl %edx,%edi | |
637 shrl $16,%ebx | |
638 movl %esi,%edx | |
639 movb %bh,%al | |
640 andl $255,%ebx | |
641 movb %dh,%cl | |
642 andl $255,%edx | |
643 movl 72(%ebp,%eax,4),%eax | |
644 movl 1096(%ebp,%ebx,4),%ebx | |
645 addl %eax,%ebx | |
646 movl 2120(%ebp,%ecx,4),%eax | |
647 xorl %eax,%ebx | |
648 movl 3144(%ebp,%edx,4),%edx | |
649 addl %edx,%ebx | |
650 xorl %eax,%eax | |
651 xorl %ebx,%edi | |
652 | |
653 | |
654 movl 8(%ebp),%edx | |
655 movl %edi,%ebx | |
656 xorl %edx,%esi | |
657 shrl $16,%ebx | |
658 movl %edi,%edx | |
659 movb %bh,%al | |
660 andl $255,%ebx | |
661 movb %dh,%cl | |
662 andl $255,%edx | |
663 movl 72(%ebp,%eax,4),%eax | |
664 movl 1096(%ebp,%ebx,4),%ebx | |
665 addl %eax,%ebx | |
666 movl 2120(%ebp,%ecx,4),%eax | |
667 xorl %eax,%ebx | |
668 movl 3144(%ebp,%edx,4),%edx | |
669 addl %edx,%ebx | |
670 xorl %eax,%eax | |
671 xorl %ebx,%esi | |
672 | |
673 | |
674 movl 4(%ebp),%edx | |
675 movl %esi,%ebx | |
676 xorl %edx,%edi | |
677 shrl $16,%ebx | |
678 movl %esi,%edx | |
679 movb %bh,%al | |
680 andl $255,%ebx | |
681 movb %dh,%cl | |
682 andl $255,%edx | |
683 movl 72(%ebp,%eax,4),%eax | |
684 movl 1096(%ebp,%ebx,4),%ebx | |
685 addl %eax,%ebx | |
686 movl 2120(%ebp,%ecx,4),%eax | |
687 xorl %eax,%ebx | |
688 movl 3144(%ebp,%edx,4),%edx | |
689 addl %edx,%ebx | |
690 | |
691 movl 20(%esp),%eax | |
692 xorl %ebx,%edi | |
693 movl (%ebp),%edx | |
694 xorl %edx,%esi | |
695 movl %edi,4(%eax) | |
696 movl %esi,(%eax) | |
697 popl %edi | |
698 popl %esi | |
699 popl %ebx | |
700 popl %ebp | |
701 ret | |
702 .size BF_decrypt,.-.L_BF_decrypt_begin | |
703 .globl BF_cbc_encrypt | |
704 .type BF_cbc_encrypt,@function | |
705 .align 16 | |
706 BF_cbc_encrypt: | |
707 .L_BF_cbc_encrypt_begin: | |
708 | |
709 pushl %ebp | |
710 pushl %ebx | |
711 pushl %esi | |
712 pushl %edi | |
713 movl 28(%esp),%ebp | |
714 | |
715 movl 36(%esp),%ebx | |
716 movl (%ebx),%esi | |
717 movl 4(%ebx),%edi | |
718 pushl %edi | |
719 pushl %esi | |
720 pushl %edi | |
721 pushl %esi | |
722 movl %esp,%ebx | |
723 movl 36(%esp),%esi | |
724 movl 40(%esp),%edi | |
725 | |
726 movl 56(%esp),%ecx | |
727 | |
728 movl 48(%esp),%eax | |
729 pushl %eax | |
730 pushl %ebx | |
731 cmpl $0,%ecx | |
732 jz .L000decrypt | |
733 andl $4294967288,%ebp | |
734 movl 8(%esp),%eax | |
735 movl 12(%esp),%ebx | |
736 jz .L001encrypt_finish | |
737 .L002encrypt_loop: | |
738 movl (%esi),%ecx | |
739 movl 4(%esi),%edx | |
740 xorl %ecx,%eax | |
741 xorl %edx,%ebx | |
742 bswap %eax | |
743 bswap %ebx | |
744 movl %eax,8(%esp) | |
745 movl %ebx,12(%esp) | |
746 call .L_BF_encrypt_begin | |
747 movl 8(%esp),%eax | |
748 movl 12(%esp),%ebx | |
749 bswap %eax | |
750 bswap %ebx | |
751 movl %eax,(%edi) | |
752 movl %ebx,4(%edi) | |
753 addl $8,%esi | |
754 addl $8,%edi | |
755 subl $8,%ebp | |
756 jnz .L002encrypt_loop | |
757 .L001encrypt_finish: | |
758 movl 52(%esp),%ebp | |
759 andl $7,%ebp | |
760 jz .L003finish | |
761 call .L004PIC_point | |
762 .L004PIC_point: | |
763 popl %edx | |
764 leal .L005cbc_enc_jmp_table-.L004PIC_point(%edx),%ecx | |
765 movl (%ecx,%ebp,4),%ebp | |
766 addl %edx,%ebp | |
767 xorl %ecx,%ecx | |
768 xorl %edx,%edx | |
769 jmp *%ebp | |
770 .L006ej7: | |
771 movb 6(%esi),%dh | |
772 shll $8,%edx | |
773 .L007ej6: | |
774 movb 5(%esi),%dh | |
775 .L008ej5: | |
776 movb 4(%esi),%dl | |
777 .L009ej4: | |
778 movl (%esi),%ecx | |
779 jmp .L010ejend | |
780 .L011ej3: | |
781 movb 2(%esi),%ch | |
782 shll $8,%ecx | |
783 .L012ej2: | |
784 movb 1(%esi),%ch | |
785 .L013ej1: | |
786 movb (%esi),%cl | |
787 .L010ejend: | |
788 xorl %ecx,%eax | |
789 xorl %edx,%ebx | |
790 bswap %eax | |
791 bswap %ebx | |
792 movl %eax,8(%esp) | |
793 movl %ebx,12(%esp) | |
794 call .L_BF_encrypt_begin | |
795 movl 8(%esp),%eax | |
796 movl 12(%esp),%ebx | |
797 bswap %eax | |
798 bswap %ebx | |
799 movl %eax,(%edi) | |
800 movl %ebx,4(%edi) | |
801 jmp .L003finish | |
802 .L000decrypt: | |
803 andl $4294967288,%ebp | |
804 movl 16(%esp),%eax | |
805 movl 20(%esp),%ebx | |
806 jz .L014decrypt_finish | |
807 .L015decrypt_loop: | |
808 movl (%esi),%eax | |
809 movl 4(%esi),%ebx | |
810 bswap %eax | |
811 bswap %ebx | |
812 movl %eax,8(%esp) | |
813 movl %ebx,12(%esp) | |
814 call .L_BF_decrypt_begin | |
815 movl 8(%esp),%eax | |
816 movl 12(%esp),%ebx | |
817 bswap %eax | |
818 bswap %ebx | |
819 movl 16(%esp),%ecx | |
820 movl 20(%esp),%edx | |
821 xorl %eax,%ecx | |
822 xorl %ebx,%edx | |
823 movl (%esi),%eax | |
824 movl 4(%esi),%ebx | |
825 movl %ecx,(%edi) | |
826 movl %edx,4(%edi) | |
827 movl %eax,16(%esp) | |
828 movl %ebx,20(%esp) | |
829 addl $8,%esi | |
830 addl $8,%edi | |
831 subl $8,%ebp | |
832 jnz .L015decrypt_loop | |
833 .L014decrypt_finish: | |
834 movl 52(%esp),%ebp | |
835 andl $7,%ebp | |
836 jz .L003finish | |
837 movl (%esi),%eax | |
838 movl 4(%esi),%ebx | |
839 bswap %eax | |
840 bswap %ebx | |
841 movl %eax,8(%esp) | |
842 movl %ebx,12(%esp) | |
843 call .L_BF_decrypt_begin | |
844 movl 8(%esp),%eax | |
845 movl 12(%esp),%ebx | |
846 bswap %eax | |
847 bswap %ebx | |
848 movl 16(%esp),%ecx | |
849 movl 20(%esp),%edx | |
850 xorl %eax,%ecx | |
851 xorl %ebx,%edx | |
852 movl (%esi),%eax | |
853 movl 4(%esi),%ebx | |
854 .L016dj7: | |
855 rorl $16,%edx | |
856 movb %dl,6(%edi) | |
857 shrl $16,%edx | |
858 .L017dj6: | |
859 movb %dh,5(%edi) | |
860 .L018dj5: | |
861 movb %dl,4(%edi) | |
862 .L019dj4: | |
863 movl %ecx,(%edi) | |
864 jmp .L020djend | |
865 .L021dj3: | |
866 rorl $16,%ecx | |
867 movb %cl,2(%edi) | |
868 shll $16,%ecx | |
869 .L022dj2: | |
870 movb %ch,1(%esi) | |
871 .L023dj1: | |
872 movb %cl,(%esi) | |
873 .L020djend: | |
874 jmp .L003finish | |
875 .L003finish: | |
876 movl 60(%esp),%ecx | |
877 addl $24,%esp | |
878 movl %eax,(%ecx) | |
879 movl %ebx,4(%ecx) | |
880 popl %edi | |
881 popl %esi | |
882 popl %ebx | |
883 popl %ebp | |
884 ret | |
885 .align 64 | |
886 .L005cbc_enc_jmp_table: | |
887 .long 0 | |
888 .long .L013ej1-.L004PIC_point | |
889 .long .L012ej2-.L004PIC_point | |
890 .long .L011ej3-.L004PIC_point | |
891 .long .L009ej4-.L004PIC_point | |
892 .long .L008ej5-.L004PIC_point | |
893 .long .L007ej6-.L004PIC_point | |
894 .long .L006ej7-.L004PIC_point | |
895 .align 64 | |
896 .size BF_cbc_encrypt,.-.L_BF_cbc_encrypt_begin | |
OLD | NEW |