Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(68)

Side by Side Diff: third_party/boringssl/linux-x86/crypto/aes/aes-586.S

Issue 2354623003: Pull boringssl generated source from boringssl_gen (Closed)
Patch Set: . Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 #if defined(__i386__)
2 .file "aes-586.S"
3 .text
4 .hidden _x86_AES_encrypt_compact
5 .type _x86_AES_encrypt_compact,@function
6 .align 16
7 _x86_AES_encrypt_compact:
8 movl %edi,20(%esp)
9 xorl (%edi),%eax
10 xorl 4(%edi),%ebx
11 xorl 8(%edi),%ecx
12 xorl 12(%edi),%edx
13 movl 240(%edi),%esi
14 leal -2(%esi,%esi,1),%esi
15 leal (%edi,%esi,8),%esi
16 movl %esi,24(%esp)
17 movl -128(%ebp),%edi
18 movl -96(%ebp),%esi
19 movl -64(%ebp),%edi
20 movl -32(%ebp),%esi
21 movl (%ebp),%edi
22 movl 32(%ebp),%esi
23 movl 64(%ebp),%edi
24 movl 96(%ebp),%esi
25 .align 16
26 .L000loop:
27 movl %eax,%esi
28 andl $255,%esi
29 movzbl -128(%ebp,%esi,1),%esi
30 movzbl %bh,%edi
31 movzbl -128(%ebp,%edi,1),%edi
32 shll $8,%edi
33 xorl %edi,%esi
34 movl %ecx,%edi
35 shrl $16,%edi
36 andl $255,%edi
37 movzbl -128(%ebp,%edi,1),%edi
38 shll $16,%edi
39 xorl %edi,%esi
40 movl %edx,%edi
41 shrl $24,%edi
42 movzbl -128(%ebp,%edi,1),%edi
43 shll $24,%edi
44 xorl %edi,%esi
45 movl %esi,4(%esp)
46
47 movl %ebx,%esi
48 andl $255,%esi
49 shrl $16,%ebx
50 movzbl -128(%ebp,%esi,1),%esi
51 movzbl %ch,%edi
52 movzbl -128(%ebp,%edi,1),%edi
53 shll $8,%edi
54 xorl %edi,%esi
55 movl %edx,%edi
56 shrl $16,%edi
57 andl $255,%edi
58 movzbl -128(%ebp,%edi,1),%edi
59 shll $16,%edi
60 xorl %edi,%esi
61 movl %eax,%edi
62 shrl $24,%edi
63 movzbl -128(%ebp,%edi,1),%edi
64 shll $24,%edi
65 xorl %edi,%esi
66 movl %esi,8(%esp)
67
68 movl %ecx,%esi
69 andl $255,%esi
70 shrl $24,%ecx
71 movzbl -128(%ebp,%esi,1),%esi
72 movzbl %dh,%edi
73 movzbl -128(%ebp,%edi,1),%edi
74 shll $8,%edi
75 xorl %edi,%esi
76 movl %eax,%edi
77 shrl $16,%edi
78 andl $255,%edx
79 andl $255,%edi
80 movzbl -128(%ebp,%edi,1),%edi
81 shll $16,%edi
82 xorl %edi,%esi
83 movzbl %bh,%edi
84 movzbl -128(%ebp,%edi,1),%edi
85 shll $24,%edi
86 xorl %edi,%esi
87
88 andl $255,%edx
89 movzbl -128(%ebp,%edx,1),%edx
90 movzbl %ah,%eax
91 movzbl -128(%ebp,%eax,1),%eax
92 shll $8,%eax
93 xorl %eax,%edx
94 movl 4(%esp),%eax
95 andl $255,%ebx
96 movzbl -128(%ebp,%ebx,1),%ebx
97 shll $16,%ebx
98 xorl %ebx,%edx
99 movl 8(%esp),%ebx
100 movzbl -128(%ebp,%ecx,1),%ecx
101 shll $24,%ecx
102 xorl %ecx,%edx
103 movl %esi,%ecx
104
105 movl $2155905152,%ebp
106 andl %ecx,%ebp
107 leal (%ecx,%ecx,1),%edi
108 movl %ebp,%esi
109 shrl $7,%ebp
110 andl $4278124286,%edi
111 subl %ebp,%esi
112 movl %ecx,%ebp
113 andl $454761243,%esi
114 rorl $16,%ebp
115 xorl %edi,%esi
116 movl %ecx,%edi
117 xorl %esi,%ecx
118 rorl $24,%edi
119 xorl %ebp,%esi
120 roll $24,%ecx
121 xorl %edi,%esi
122 movl $2155905152,%ebp
123 xorl %esi,%ecx
124 andl %edx,%ebp
125 leal (%edx,%edx,1),%edi
126 movl %ebp,%esi
127 shrl $7,%ebp
128 andl $4278124286,%edi
129 subl %ebp,%esi
130 movl %edx,%ebp
131 andl $454761243,%esi
132 rorl $16,%ebp
133 xorl %edi,%esi
134 movl %edx,%edi
135 xorl %esi,%edx
136 rorl $24,%edi
137 xorl %ebp,%esi
138 roll $24,%edx
139 xorl %edi,%esi
140 movl $2155905152,%ebp
141 xorl %esi,%edx
142 andl %eax,%ebp
143 leal (%eax,%eax,1),%edi
144 movl %ebp,%esi
145 shrl $7,%ebp
146 andl $4278124286,%edi
147 subl %ebp,%esi
148 movl %eax,%ebp
149 andl $454761243,%esi
150 rorl $16,%ebp
151 xorl %edi,%esi
152 movl %eax,%edi
153 xorl %esi,%eax
154 rorl $24,%edi
155 xorl %ebp,%esi
156 roll $24,%eax
157 xorl %edi,%esi
158 movl $2155905152,%ebp
159 xorl %esi,%eax
160 andl %ebx,%ebp
161 leal (%ebx,%ebx,1),%edi
162 movl %ebp,%esi
163 shrl $7,%ebp
164 andl $4278124286,%edi
165 subl %ebp,%esi
166 movl %ebx,%ebp
167 andl $454761243,%esi
168 rorl $16,%ebp
169 xorl %edi,%esi
170 movl %ebx,%edi
171 xorl %esi,%ebx
172 rorl $24,%edi
173 xorl %ebp,%esi
174 roll $24,%ebx
175 xorl %edi,%esi
176 xorl %esi,%ebx
177 movl 20(%esp),%edi
178 movl 28(%esp),%ebp
179 addl $16,%edi
180 xorl (%edi),%eax
181 xorl 4(%edi),%ebx
182 xorl 8(%edi),%ecx
183 xorl 12(%edi),%edx
184 cmpl 24(%esp),%edi
185 movl %edi,20(%esp)
186 jb .L000loop
187 movl %eax,%esi
188 andl $255,%esi
189 movzbl -128(%ebp,%esi,1),%esi
190 movzbl %bh,%edi
191 movzbl -128(%ebp,%edi,1),%edi
192 shll $8,%edi
193 xorl %edi,%esi
194 movl %ecx,%edi
195 shrl $16,%edi
196 andl $255,%edi
197 movzbl -128(%ebp,%edi,1),%edi
198 shll $16,%edi
199 xorl %edi,%esi
200 movl %edx,%edi
201 shrl $24,%edi
202 movzbl -128(%ebp,%edi,1),%edi
203 shll $24,%edi
204 xorl %edi,%esi
205 movl %esi,4(%esp)
206
207 movl %ebx,%esi
208 andl $255,%esi
209 shrl $16,%ebx
210 movzbl -128(%ebp,%esi,1),%esi
211 movzbl %ch,%edi
212 movzbl -128(%ebp,%edi,1),%edi
213 shll $8,%edi
214 xorl %edi,%esi
215 movl %edx,%edi
216 shrl $16,%edi
217 andl $255,%edi
218 movzbl -128(%ebp,%edi,1),%edi
219 shll $16,%edi
220 xorl %edi,%esi
221 movl %eax,%edi
222 shrl $24,%edi
223 movzbl -128(%ebp,%edi,1),%edi
224 shll $24,%edi
225 xorl %edi,%esi
226 movl %esi,8(%esp)
227
228 movl %ecx,%esi
229 andl $255,%esi
230 shrl $24,%ecx
231 movzbl -128(%ebp,%esi,1),%esi
232 movzbl %dh,%edi
233 movzbl -128(%ebp,%edi,1),%edi
234 shll $8,%edi
235 xorl %edi,%esi
236 movl %eax,%edi
237 shrl $16,%edi
238 andl $255,%edx
239 andl $255,%edi
240 movzbl -128(%ebp,%edi,1),%edi
241 shll $16,%edi
242 xorl %edi,%esi
243 movzbl %bh,%edi
244 movzbl -128(%ebp,%edi,1),%edi
245 shll $24,%edi
246 xorl %edi,%esi
247
248 movl 20(%esp),%edi
249 andl $255,%edx
250 movzbl -128(%ebp,%edx,1),%edx
251 movzbl %ah,%eax
252 movzbl -128(%ebp,%eax,1),%eax
253 shll $8,%eax
254 xorl %eax,%edx
255 movl 4(%esp),%eax
256 andl $255,%ebx
257 movzbl -128(%ebp,%ebx,1),%ebx
258 shll $16,%ebx
259 xorl %ebx,%edx
260 movl 8(%esp),%ebx
261 movzbl -128(%ebp,%ecx,1),%ecx
262 shll $24,%ecx
263 xorl %ecx,%edx
264 movl %esi,%ecx
265
266 xorl 16(%edi),%eax
267 xorl 20(%edi),%ebx
268 xorl 24(%edi),%ecx
269 xorl 28(%edi),%edx
270 ret
271 .size _x86_AES_encrypt_compact,.-_x86_AES_encrypt_compact
272 .hidden _sse_AES_encrypt_compact
273 .type _sse_AES_encrypt_compact,@function
274 .align 16
275 _sse_AES_encrypt_compact:
276 pxor (%edi),%mm0
277 pxor 8(%edi),%mm4
278 movl 240(%edi),%esi
279 leal -2(%esi,%esi,1),%esi
280 leal (%edi,%esi,8),%esi
281 movl %esi,24(%esp)
282 movl $454761243,%eax
283 movl %eax,8(%esp)
284 movl %eax,12(%esp)
285 movl -128(%ebp),%eax
286 movl -96(%ebp),%ebx
287 movl -64(%ebp),%ecx
288 movl -32(%ebp),%edx
289 movl (%ebp),%eax
290 movl 32(%ebp),%ebx
291 movl 64(%ebp),%ecx
292 movl 96(%ebp),%edx
293 .align 16
294 .L001loop:
295 pshufw $8,%mm0,%mm1
296 pshufw $13,%mm4,%mm5
297 movd %mm1,%eax
298 movd %mm5,%ebx
299 movl %edi,20(%esp)
300 movzbl %al,%esi
301 movzbl %ah,%edx
302 pshufw $13,%mm0,%mm2
303 movzbl -128(%ebp,%esi,1),%ecx
304 movzbl %bl,%edi
305 movzbl -128(%ebp,%edx,1),%edx
306 shrl $16,%eax
307 shll $8,%edx
308 movzbl -128(%ebp,%edi,1),%esi
309 movzbl %bh,%edi
310 shll $16,%esi
311 pshufw $8,%mm4,%mm6
312 orl %esi,%ecx
313 movzbl -128(%ebp,%edi,1),%esi
314 movzbl %ah,%edi
315 shll $24,%esi
316 shrl $16,%ebx
317 orl %esi,%edx
318 movzbl -128(%ebp,%edi,1),%esi
319 movzbl %bh,%edi
320 shll $8,%esi
321 orl %esi,%ecx
322 movzbl -128(%ebp,%edi,1),%esi
323 movzbl %al,%edi
324 shll $24,%esi
325 orl %esi,%ecx
326 movzbl -128(%ebp,%edi,1),%esi
327 movzbl %bl,%edi
328 movd %mm2,%eax
329 movd %ecx,%mm0
330 movzbl -128(%ebp,%edi,1),%ecx
331 movzbl %ah,%edi
332 shll $16,%ecx
333 movd %mm6,%ebx
334 orl %esi,%ecx
335 movzbl -128(%ebp,%edi,1),%esi
336 movzbl %bh,%edi
337 shll $24,%esi
338 orl %esi,%ecx
339 movzbl -128(%ebp,%edi,1),%esi
340 movzbl %bl,%edi
341 shll $8,%esi
342 shrl $16,%ebx
343 orl %esi,%ecx
344 movzbl -128(%ebp,%edi,1),%esi
345 movzbl %al,%edi
346 shrl $16,%eax
347 movd %ecx,%mm1
348 movzbl -128(%ebp,%edi,1),%ecx
349 movzbl %ah,%edi
350 shll $16,%ecx
351 andl $255,%eax
352 orl %esi,%ecx
353 punpckldq %mm1,%mm0
354 movzbl -128(%ebp,%edi,1),%esi
355 movzbl %bh,%edi
356 shll $24,%esi
357 andl $255,%ebx
358 movzbl -128(%ebp,%eax,1),%eax
359 orl %esi,%ecx
360 shll $16,%eax
361 movzbl -128(%ebp,%edi,1),%esi
362 orl %eax,%edx
363 shll $8,%esi
364 movzbl -128(%ebp,%ebx,1),%ebx
365 orl %esi,%ecx
366 orl %ebx,%edx
367 movl 20(%esp),%edi
368 movd %ecx,%mm4
369 movd %edx,%mm5
370 punpckldq %mm5,%mm4
371 addl $16,%edi
372 cmpl 24(%esp),%edi
373 ja .L002out
374 movq 8(%esp),%mm2
375 pxor %mm3,%mm3
376 pxor %mm7,%mm7
377 movq %mm0,%mm1
378 movq %mm4,%mm5
379 pcmpgtb %mm0,%mm3
380 pcmpgtb %mm4,%mm7
381 pand %mm2,%mm3
382 pand %mm2,%mm7
383 pshufw $177,%mm0,%mm2
384 pshufw $177,%mm4,%mm6
385 paddb %mm0,%mm0
386 paddb %mm4,%mm4
387 pxor %mm3,%mm0
388 pxor %mm7,%mm4
389 pshufw $177,%mm2,%mm3
390 pshufw $177,%mm6,%mm7
391 pxor %mm0,%mm1
392 pxor %mm4,%mm5
393 pxor %mm2,%mm0
394 pxor %mm6,%mm4
395 movq %mm3,%mm2
396 movq %mm7,%mm6
397 pslld $8,%mm3
398 pslld $8,%mm7
399 psrld $24,%mm2
400 psrld $24,%mm6
401 pxor %mm3,%mm0
402 pxor %mm7,%mm4
403 pxor %mm2,%mm0
404 pxor %mm6,%mm4
405 movq %mm1,%mm3
406 movq %mm5,%mm7
407 movq (%edi),%mm2
408 movq 8(%edi),%mm6
409 psrld $8,%mm1
410 psrld $8,%mm5
411 movl -128(%ebp),%eax
412 pslld $24,%mm3
413 pslld $24,%mm7
414 movl -64(%ebp),%ebx
415 pxor %mm1,%mm0
416 pxor %mm5,%mm4
417 movl (%ebp),%ecx
418 pxor %mm3,%mm0
419 pxor %mm7,%mm4
420 movl 64(%ebp),%edx
421 pxor %mm2,%mm0
422 pxor %mm6,%mm4
423 jmp .L001loop
424 .align 16
425 .L002out:
426 pxor (%edi),%mm0
427 pxor 8(%edi),%mm4
428 ret
429 .size _sse_AES_encrypt_compact,.-_sse_AES_encrypt_compact
430 .hidden _x86_AES_encrypt
431 .type _x86_AES_encrypt,@function
432 .align 16
433 _x86_AES_encrypt:
434 movl %edi,20(%esp)
435 xorl (%edi),%eax
436 xorl 4(%edi),%ebx
437 xorl 8(%edi),%ecx
438 xorl 12(%edi),%edx
439 movl 240(%edi),%esi
440 leal -2(%esi,%esi,1),%esi
441 leal (%edi,%esi,8),%esi
442 movl %esi,24(%esp)
443 .align 16
444 .L003loop:
445 movl %eax,%esi
446 andl $255,%esi
447 movl (%ebp,%esi,8),%esi
448 movzbl %bh,%edi
449 xorl 3(%ebp,%edi,8),%esi
450 movl %ecx,%edi
451 shrl $16,%edi
452 andl $255,%edi
453 xorl 2(%ebp,%edi,8),%esi
454 movl %edx,%edi
455 shrl $24,%edi
456 xorl 1(%ebp,%edi,8),%esi
457 movl %esi,4(%esp)
458
459 movl %ebx,%esi
460 andl $255,%esi
461 shrl $16,%ebx
462 movl (%ebp,%esi,8),%esi
463 movzbl %ch,%edi
464 xorl 3(%ebp,%edi,8),%esi
465 movl %edx,%edi
466 shrl $16,%edi
467 andl $255,%edi
468 xorl 2(%ebp,%edi,8),%esi
469 movl %eax,%edi
470 shrl $24,%edi
471 xorl 1(%ebp,%edi,8),%esi
472 movl %esi,8(%esp)
473
474 movl %ecx,%esi
475 andl $255,%esi
476 shrl $24,%ecx
477 movl (%ebp,%esi,8),%esi
478 movzbl %dh,%edi
479 xorl 3(%ebp,%edi,8),%esi
480 movl %eax,%edi
481 shrl $16,%edi
482 andl $255,%edx
483 andl $255,%edi
484 xorl 2(%ebp,%edi,8),%esi
485 movzbl %bh,%edi
486 xorl 1(%ebp,%edi,8),%esi
487
488 movl 20(%esp),%edi
489 movl (%ebp,%edx,8),%edx
490 movzbl %ah,%eax
491 xorl 3(%ebp,%eax,8),%edx
492 movl 4(%esp),%eax
493 andl $255,%ebx
494 xorl 2(%ebp,%ebx,8),%edx
495 movl 8(%esp),%ebx
496 xorl 1(%ebp,%ecx,8),%edx
497 movl %esi,%ecx
498
499 addl $16,%edi
500 xorl (%edi),%eax
501 xorl 4(%edi),%ebx
502 xorl 8(%edi),%ecx
503 xorl 12(%edi),%edx
504 cmpl 24(%esp),%edi
505 movl %edi,20(%esp)
506 jb .L003loop
507 movl %eax,%esi
508 andl $255,%esi
509 movl 2(%ebp,%esi,8),%esi
510 andl $255,%esi
511 movzbl %bh,%edi
512 movl (%ebp,%edi,8),%edi
513 andl $65280,%edi
514 xorl %edi,%esi
515 movl %ecx,%edi
516 shrl $16,%edi
517 andl $255,%edi
518 movl (%ebp,%edi,8),%edi
519 andl $16711680,%edi
520 xorl %edi,%esi
521 movl %edx,%edi
522 shrl $24,%edi
523 movl 2(%ebp,%edi,8),%edi
524 andl $4278190080,%edi
525 xorl %edi,%esi
526 movl %esi,4(%esp)
527 movl %ebx,%esi
528 andl $255,%esi
529 shrl $16,%ebx
530 movl 2(%ebp,%esi,8),%esi
531 andl $255,%esi
532 movzbl %ch,%edi
533 movl (%ebp,%edi,8),%edi
534 andl $65280,%edi
535 xorl %edi,%esi
536 movl %edx,%edi
537 shrl $16,%edi
538 andl $255,%edi
539 movl (%ebp,%edi,8),%edi
540 andl $16711680,%edi
541 xorl %edi,%esi
542 movl %eax,%edi
543 shrl $24,%edi
544 movl 2(%ebp,%edi,8),%edi
545 andl $4278190080,%edi
546 xorl %edi,%esi
547 movl %esi,8(%esp)
548 movl %ecx,%esi
549 andl $255,%esi
550 shrl $24,%ecx
551 movl 2(%ebp,%esi,8),%esi
552 andl $255,%esi
553 movzbl %dh,%edi
554 movl (%ebp,%edi,8),%edi
555 andl $65280,%edi
556 xorl %edi,%esi
557 movl %eax,%edi
558 shrl $16,%edi
559 andl $255,%edx
560 andl $255,%edi
561 movl (%ebp,%edi,8),%edi
562 andl $16711680,%edi
563 xorl %edi,%esi
564 movzbl %bh,%edi
565 movl 2(%ebp,%edi,8),%edi
566 andl $4278190080,%edi
567 xorl %edi,%esi
568 movl 20(%esp),%edi
569 andl $255,%edx
570 movl 2(%ebp,%edx,8),%edx
571 andl $255,%edx
572 movzbl %ah,%eax
573 movl (%ebp,%eax,8),%eax
574 andl $65280,%eax
575 xorl %eax,%edx
576 movl 4(%esp),%eax
577 andl $255,%ebx
578 movl (%ebp,%ebx,8),%ebx
579 andl $16711680,%ebx
580 xorl %ebx,%edx
581 movl 8(%esp),%ebx
582 movl 2(%ebp,%ecx,8),%ecx
583 andl $4278190080,%ecx
584 xorl %ecx,%edx
585 movl %esi,%ecx
586 addl $16,%edi
587 xorl (%edi),%eax
588 xorl 4(%edi),%ebx
589 xorl 8(%edi),%ecx
590 xorl 12(%edi),%edx
591 ret
592 .align 64
593 .LAES_Te:
594 .long 2774754246,2774754246
595 .long 2222750968,2222750968
596 .long 2574743534,2574743534
597 .long 2373680118,2373680118
598 .long 234025727,234025727
599 .long 3177933782,3177933782
600 .long 2976870366,2976870366
601 .long 1422247313,1422247313
602 .long 1345335392,1345335392
603 .long 50397442,50397442
604 .long 2842126286,2842126286
605 .long 2099981142,2099981142
606 .long 436141799,436141799
607 .long 1658312629,1658312629
608 .long 3870010189,3870010189
609 .long 2591454956,2591454956
610 .long 1170918031,1170918031
611 .long 2642575903,2642575903
612 .long 1086966153,1086966153
613 .long 2273148410,2273148410
614 .long 368769775,368769775
615 .long 3948501426,3948501426
616 .long 3376891790,3376891790
617 .long 200339707,200339707
618 .long 3970805057,3970805057
619 .long 1742001331,1742001331
620 .long 4255294047,4255294047
621 .long 3937382213,3937382213
622 .long 3214711843,3214711843
623 .long 4154762323,4154762323
624 .long 2524082916,2524082916
625 .long 1539358875,1539358875
626 .long 3266819957,3266819957
627 .long 486407649,486407649
628 .long 2928907069,2928907069
629 .long 1780885068,1780885068
630 .long 1513502316,1513502316
631 .long 1094664062,1094664062
632 .long 49805301,49805301
633 .long 1338821763,1338821763
634 .long 1546925160,1546925160
635 .long 4104496465,4104496465
636 .long 887481809,887481809
637 .long 150073849,150073849
638 .long 2473685474,2473685474
639 .long 1943591083,1943591083
640 .long 1395732834,1395732834
641 .long 1058346282,1058346282
642 .long 201589768,201589768
643 .long 1388824469,1388824469
644 .long 1696801606,1696801606
645 .long 1589887901,1589887901
646 .long 672667696,672667696
647 .long 2711000631,2711000631
648 .long 251987210,251987210
649 .long 3046808111,3046808111
650 .long 151455502,151455502
651 .long 907153956,907153956
652 .long 2608889883,2608889883
653 .long 1038279391,1038279391
654 .long 652995533,652995533
655 .long 1764173646,1764173646
656 .long 3451040383,3451040383
657 .long 2675275242,2675275242
658 .long 453576978,453576978
659 .long 2659418909,2659418909
660 .long 1949051992,1949051992
661 .long 773462580,773462580
662 .long 756751158,756751158
663 .long 2993581788,2993581788
664 .long 3998898868,3998898868
665 .long 4221608027,4221608027
666 .long 4132590244,4132590244
667 .long 1295727478,1295727478
668 .long 1641469623,1641469623
669 .long 3467883389,3467883389
670 .long 2066295122,2066295122
671 .long 1055122397,1055122397
672 .long 1898917726,1898917726
673 .long 2542044179,2542044179
674 .long 4115878822,4115878822
675 .long 1758581177,1758581177
676 .long 0,0
677 .long 753790401,753790401
678 .long 1612718144,1612718144
679 .long 536673507,536673507
680 .long 3367088505,3367088505
681 .long 3982187446,3982187446
682 .long 3194645204,3194645204
683 .long 1187761037,1187761037
684 .long 3653156455,3653156455
685 .long 1262041458,1262041458
686 .long 3729410708,3729410708
687 .long 3561770136,3561770136
688 .long 3898103984,3898103984
689 .long 1255133061,1255133061
690 .long 1808847035,1808847035
691 .long 720367557,720367557
692 .long 3853167183,3853167183
693 .long 385612781,385612781
694 .long 3309519750,3309519750
695 .long 3612167578,3612167578
696 .long 1429418854,1429418854
697 .long 2491778321,2491778321
698 .long 3477423498,3477423498
699 .long 284817897,284817897
700 .long 100794884,100794884
701 .long 2172616702,2172616702
702 .long 4031795360,4031795360
703 .long 1144798328,1144798328
704 .long 3131023141,3131023141
705 .long 3819481163,3819481163
706 .long 4082192802,4082192802
707 .long 4272137053,4272137053
708 .long 3225436288,3225436288
709 .long 2324664069,2324664069
710 .long 2912064063,2912064063
711 .long 3164445985,3164445985
712 .long 1211644016,1211644016
713 .long 83228145,83228145
714 .long 3753688163,3753688163
715 .long 3249976951,3249976951
716 .long 1977277103,1977277103
717 .long 1663115586,1663115586
718 .long 806359072,806359072
719 .long 452984805,452984805
720 .long 250868733,250868733
721 .long 1842533055,1842533055
722 .long 1288555905,1288555905
723 .long 336333848,336333848
724 .long 890442534,890442534
725 .long 804056259,804056259
726 .long 3781124030,3781124030
727 .long 2727843637,2727843637
728 .long 3427026056,3427026056
729 .long 957814574,957814574
730 .long 1472513171,1472513171
731 .long 4071073621,4071073621
732 .long 2189328124,2189328124
733 .long 1195195770,1195195770
734 .long 2892260552,2892260552
735 .long 3881655738,3881655738
736 .long 723065138,723065138
737 .long 2507371494,2507371494
738 .long 2690670784,2690670784
739 .long 2558624025,2558624025
740 .long 3511635870,3511635870
741 .long 2145180835,2145180835
742 .long 1713513028,1713513028
743 .long 2116692564,2116692564
744 .long 2878378043,2878378043
745 .long 2206763019,2206763019
746 .long 3393603212,3393603212
747 .long 703524551,703524551
748 .long 3552098411,3552098411
749 .long 1007948840,1007948840
750 .long 2044649127,2044649127
751 .long 3797835452,3797835452
752 .long 487262998,487262998
753 .long 1994120109,1994120109
754 .long 1004593371,1004593371
755 .long 1446130276,1446130276
756 .long 1312438900,1312438900
757 .long 503974420,503974420
758 .long 3679013266,3679013266
759 .long 168166924,168166924
760 .long 1814307912,1814307912
761 .long 3831258296,3831258296
762 .long 1573044895,1573044895
763 .long 1859376061,1859376061
764 .long 4021070915,4021070915
765 .long 2791465668,2791465668
766 .long 2828112185,2828112185
767 .long 2761266481,2761266481
768 .long 937747667,937747667
769 .long 2339994098,2339994098
770 .long 854058965,854058965
771 .long 1137232011,1137232011
772 .long 1496790894,1496790894
773 .long 3077402074,3077402074
774 .long 2358086913,2358086913
775 .long 1691735473,1691735473
776 .long 3528347292,3528347292
777 .long 3769215305,3769215305
778 .long 3027004632,3027004632
779 .long 4199962284,4199962284
780 .long 133494003,133494003
781 .long 636152527,636152527
782 .long 2942657994,2942657994
783 .long 2390391540,2390391540
784 .long 3920539207,3920539207
785 .long 403179536,403179536
786 .long 3585784431,3585784431
787 .long 2289596656,2289596656
788 .long 1864705354,1864705354
789 .long 1915629148,1915629148
790 .long 605822008,605822008
791 .long 4054230615,4054230615
792 .long 3350508659,3350508659
793 .long 1371981463,1371981463
794 .long 602466507,602466507
795 .long 2094914977,2094914977
796 .long 2624877800,2624877800
797 .long 555687742,555687742
798 .long 3712699286,3712699286
799 .long 3703422305,3703422305
800 .long 2257292045,2257292045
801 .long 2240449039,2240449039
802 .long 2423288032,2423288032
803 .long 1111375484,1111375484
804 .long 3300242801,3300242801
805 .long 2858837708,2858837708
806 .long 3628615824,3628615824
807 .long 84083462,84083462
808 .long 32962295,32962295
809 .long 302911004,302911004
810 .long 2741068226,2741068226
811 .long 1597322602,1597322602
812 .long 4183250862,4183250862
813 .long 3501832553,3501832553
814 .long 2441512471,2441512471
815 .long 1489093017,1489093017
816 .long 656219450,656219450
817 .long 3114180135,3114180135
818 .long 954327513,954327513
819 .long 335083755,335083755
820 .long 3013122091,3013122091
821 .long 856756514,856756514
822 .long 3144247762,3144247762
823 .long 1893325225,1893325225
824 .long 2307821063,2307821063
825 .long 2811532339,2811532339
826 .long 3063651117,3063651117
827 .long 572399164,572399164
828 .long 2458355477,2458355477
829 .long 552200649,552200649
830 .long 1238290055,1238290055
831 .long 4283782570,4283782570
832 .long 2015897680,2015897680
833 .long 2061492133,2061492133
834 .long 2408352771,2408352771
835 .long 4171342169,4171342169
836 .long 2156497161,2156497161
837 .long 386731290,386731290
838 .long 3669999461,3669999461
839 .long 837215959,837215959
840 .long 3326231172,3326231172
841 .long 3093850320,3093850320
842 .long 3275833730,3275833730
843 .long 2962856233,2962856233
844 .long 1999449434,1999449434
845 .long 286199582,286199582
846 .long 3417354363,3417354363
847 .long 4233385128,4233385128
848 .long 3602627437,3602627437
849 .long 974525996,974525996
850 .byte 99,124,119,123,242,107,111,197
851 .byte 48,1,103,43,254,215,171,118
852 .byte 202,130,201,125,250,89,71,240
853 .byte 173,212,162,175,156,164,114,192
854 .byte 183,253,147,38,54,63,247,204
855 .byte 52,165,229,241,113,216,49,21
856 .byte 4,199,35,195,24,150,5,154
857 .byte 7,18,128,226,235,39,178,117
858 .byte 9,131,44,26,27,110,90,160
859 .byte 82,59,214,179,41,227,47,132
860 .byte 83,209,0,237,32,252,177,91
861 .byte 106,203,190,57,74,76,88,207
862 .byte 208,239,170,251,67,77,51,133
863 .byte 69,249,2,127,80,60,159,168
864 .byte 81,163,64,143,146,157,56,245
865 .byte 188,182,218,33,16,255,243,210
866 .byte 205,12,19,236,95,151,68,23
867 .byte 196,167,126,61,100,93,25,115
868 .byte 96,129,79,220,34,42,144,136
869 .byte 70,238,184,20,222,94,11,219
870 .byte 224,50,58,10,73,6,36,92
871 .byte 194,211,172,98,145,149,228,121
872 .byte 231,200,55,109,141,213,78,169
873 .byte 108,86,244,234,101,122,174,8
874 .byte 186,120,37,46,28,166,180,198
875 .byte 232,221,116,31,75,189,139,138
876 .byte 112,62,181,102,72,3,246,14
877 .byte 97,53,87,185,134,193,29,158
878 .byte 225,248,152,17,105,217,142,148
879 .byte 155,30,135,233,206,85,40,223
880 .byte 140,161,137,13,191,230,66,104
881 .byte 65,153,45,15,176,84,187,22
882 .byte 99,124,119,123,242,107,111,197
883 .byte 48,1,103,43,254,215,171,118
884 .byte 202,130,201,125,250,89,71,240
885 .byte 173,212,162,175,156,164,114,192
886 .byte 183,253,147,38,54,63,247,204
887 .byte 52,165,229,241,113,216,49,21
888 .byte 4,199,35,195,24,150,5,154
889 .byte 7,18,128,226,235,39,178,117
890 .byte 9,131,44,26,27,110,90,160
891 .byte 82,59,214,179,41,227,47,132
892 .byte 83,209,0,237,32,252,177,91
893 .byte 106,203,190,57,74,76,88,207
894 .byte 208,239,170,251,67,77,51,133
895 .byte 69,249,2,127,80,60,159,168
896 .byte 81,163,64,143,146,157,56,245
897 .byte 188,182,218,33,16,255,243,210
898 .byte 205,12,19,236,95,151,68,23
899 .byte 196,167,126,61,100,93,25,115
900 .byte 96,129,79,220,34,42,144,136
901 .byte 70,238,184,20,222,94,11,219
902 .byte 224,50,58,10,73,6,36,92
903 .byte 194,211,172,98,145,149,228,121
904 .byte 231,200,55,109,141,213,78,169
905 .byte 108,86,244,234,101,122,174,8
906 .byte 186,120,37,46,28,166,180,198
907 .byte 232,221,116,31,75,189,139,138
908 .byte 112,62,181,102,72,3,246,14
909 .byte 97,53,87,185,134,193,29,158
910 .byte 225,248,152,17,105,217,142,148
911 .byte 155,30,135,233,206,85,40,223
912 .byte 140,161,137,13,191,230,66,104
913 .byte 65,153,45,15,176,84,187,22
914 .byte 99,124,119,123,242,107,111,197
915 .byte 48,1,103,43,254,215,171,118
916 .byte 202,130,201,125,250,89,71,240
917 .byte 173,212,162,175,156,164,114,192
918 .byte 183,253,147,38,54,63,247,204
919 .byte 52,165,229,241,113,216,49,21
920 .byte 4,199,35,195,24,150,5,154
921 .byte 7,18,128,226,235,39,178,117
922 .byte 9,131,44,26,27,110,90,160
923 .byte 82,59,214,179,41,227,47,132
924 .byte 83,209,0,237,32,252,177,91
925 .byte 106,203,190,57,74,76,88,207
926 .byte 208,239,170,251,67,77,51,133
927 .byte 69,249,2,127,80,60,159,168
928 .byte 81,163,64,143,146,157,56,245
929 .byte 188,182,218,33,16,255,243,210
930 .byte 205,12,19,236,95,151,68,23
931 .byte 196,167,126,61,100,93,25,115
932 .byte 96,129,79,220,34,42,144,136
933 .byte 70,238,184,20,222,94,11,219
934 .byte 224,50,58,10,73,6,36,92
935 .byte 194,211,172,98,145,149,228,121
936 .byte 231,200,55,109,141,213,78,169
937 .byte 108,86,244,234,101,122,174,8
938 .byte 186,120,37,46,28,166,180,198
939 .byte 232,221,116,31,75,189,139,138
940 .byte 112,62,181,102,72,3,246,14
941 .byte 97,53,87,185,134,193,29,158
942 .byte 225,248,152,17,105,217,142,148
943 .byte 155,30,135,233,206,85,40,223
944 .byte 140,161,137,13,191,230,66,104
945 .byte 65,153,45,15,176,84,187,22
946 .byte 99,124,119,123,242,107,111,197
947 .byte 48,1,103,43,254,215,171,118
948 .byte 202,130,201,125,250,89,71,240
949 .byte 173,212,162,175,156,164,114,192
950 .byte 183,253,147,38,54,63,247,204
951 .byte 52,165,229,241,113,216,49,21
952 .byte 4,199,35,195,24,150,5,154
953 .byte 7,18,128,226,235,39,178,117
954 .byte 9,131,44,26,27,110,90,160
955 .byte 82,59,214,179,41,227,47,132
956 .byte 83,209,0,237,32,252,177,91
957 .byte 106,203,190,57,74,76,88,207
958 .byte 208,239,170,251,67,77,51,133
959 .byte 69,249,2,127,80,60,159,168
960 .byte 81,163,64,143,146,157,56,245
961 .byte 188,182,218,33,16,255,243,210
962 .byte 205,12,19,236,95,151,68,23
963 .byte 196,167,126,61,100,93,25,115
964 .byte 96,129,79,220,34,42,144,136
965 .byte 70,238,184,20,222,94,11,219
966 .byte 224,50,58,10,73,6,36,92
967 .byte 194,211,172,98,145,149,228,121
968 .byte 231,200,55,109,141,213,78,169
969 .byte 108,86,244,234,101,122,174,8
970 .byte 186,120,37,46,28,166,180,198
971 .byte 232,221,116,31,75,189,139,138
972 .byte 112,62,181,102,72,3,246,14
973 .byte 97,53,87,185,134,193,29,158
974 .byte 225,248,152,17,105,217,142,148
975 .byte 155,30,135,233,206,85,40,223
976 .byte 140,161,137,13,191,230,66,104
977 .byte 65,153,45,15,176,84,187,22
978 .long 1,2,4,8
979 .long 16,32,64,128
980 .long 27,54,0,0
981 .long 0,0,0,0
982 .size _x86_AES_encrypt,.-_x86_AES_encrypt
983 .globl asm_AES_encrypt
984 .hidden asm_AES_encrypt
985 .type asm_AES_encrypt,@function
986 .align 16
987 asm_AES_encrypt:
988 .L_asm_AES_encrypt_begin:
989 pushl %ebp
990 pushl %ebx
991 pushl %esi
992 pushl %edi
993 movl 20(%esp),%esi
994 movl 28(%esp),%edi
995 movl %esp,%eax
996 subl $36,%esp
997 andl $-64,%esp
998 leal -127(%edi),%ebx
999 subl %esp,%ebx
1000 negl %ebx
1001 andl $960,%ebx
1002 subl %ebx,%esp
1003 addl $4,%esp
1004 movl %eax,28(%esp)
1005 call .L004pic_point
1006 .L004pic_point:
1007 popl %ebp
1008 leal OPENSSL_ia32cap_P-.L004pic_point(%ebp),%eax
1009 leal .LAES_Te-.L004pic_point(%ebp),%ebp
1010 leal 764(%esp),%ebx
1011 subl %ebp,%ebx
1012 andl $768,%ebx
1013 leal 2176(%ebp,%ebx,1),%ebp
1014 btl $25,(%eax)
1015 jnc .L005x86
1016 movq (%esi),%mm0
1017 movq 8(%esi),%mm4
1018 call _sse_AES_encrypt_compact
1019 movl 28(%esp),%esp
1020 movl 24(%esp),%esi
1021 movq %mm0,(%esi)
1022 movq %mm4,8(%esi)
1023 emms
1024 popl %edi
1025 popl %esi
1026 popl %ebx
1027 popl %ebp
1028 ret
1029 .align 16
1030 .L005x86:
1031 movl %ebp,24(%esp)
1032 movl (%esi),%eax
1033 movl 4(%esi),%ebx
1034 movl 8(%esi),%ecx
1035 movl 12(%esi),%edx
1036 call _x86_AES_encrypt_compact
1037 movl 28(%esp),%esp
1038 movl 24(%esp),%esi
1039 movl %eax,(%esi)
1040 movl %ebx,4(%esi)
1041 movl %ecx,8(%esi)
1042 movl %edx,12(%esi)
1043 popl %edi
1044 popl %esi
1045 popl %ebx
1046 popl %ebp
1047 ret
1048 .size asm_AES_encrypt,.-.L_asm_AES_encrypt_begin
1049 .hidden _x86_AES_decrypt_compact
1050 .type _x86_AES_decrypt_compact,@function
1051 .align 16
1052 _x86_AES_decrypt_compact:
1053 movl %edi,20(%esp)
1054 xorl (%edi),%eax
1055 xorl 4(%edi),%ebx
1056 xorl 8(%edi),%ecx
1057 xorl 12(%edi),%edx
1058 movl 240(%edi),%esi
1059 leal -2(%esi,%esi,1),%esi
1060 leal (%edi,%esi,8),%esi
1061 movl %esi,24(%esp)
1062 movl -128(%ebp),%edi
1063 movl -96(%ebp),%esi
1064 movl -64(%ebp),%edi
1065 movl -32(%ebp),%esi
1066 movl (%ebp),%edi
1067 movl 32(%ebp),%esi
1068 movl 64(%ebp),%edi
1069 movl 96(%ebp),%esi
1070 .align 16
1071 .L006loop:
1072 movl %eax,%esi
1073 andl $255,%esi
1074 movzbl -128(%ebp,%esi,1),%esi
1075 movzbl %dh,%edi
1076 movzbl -128(%ebp,%edi,1),%edi
1077 shll $8,%edi
1078 xorl %edi,%esi
1079 movl %ecx,%edi
1080 shrl $16,%edi
1081 andl $255,%edi
1082 movzbl -128(%ebp,%edi,1),%edi
1083 shll $16,%edi
1084 xorl %edi,%esi
1085 movl %ebx,%edi
1086 shrl $24,%edi
1087 movzbl -128(%ebp,%edi,1),%edi
1088 shll $24,%edi
1089 xorl %edi,%esi
1090 movl %esi,4(%esp)
1091 movl %ebx,%esi
1092 andl $255,%esi
1093 movzbl -128(%ebp,%esi,1),%esi
1094 movzbl %ah,%edi
1095 movzbl -128(%ebp,%edi,1),%edi
1096 shll $8,%edi
1097 xorl %edi,%esi
1098 movl %edx,%edi
1099 shrl $16,%edi
1100 andl $255,%edi
1101 movzbl -128(%ebp,%edi,1),%edi
1102 shll $16,%edi
1103 xorl %edi,%esi
1104 movl %ecx,%edi
1105 shrl $24,%edi
1106 movzbl -128(%ebp,%edi,1),%edi
1107 shll $24,%edi
1108 xorl %edi,%esi
1109 movl %esi,8(%esp)
1110 movl %ecx,%esi
1111 andl $255,%esi
1112 movzbl -128(%ebp,%esi,1),%esi
1113 movzbl %bh,%edi
1114 movzbl -128(%ebp,%edi,1),%edi
1115 shll $8,%edi
1116 xorl %edi,%esi
1117 movl %eax,%edi
1118 shrl $16,%edi
1119 andl $255,%edi
1120 movzbl -128(%ebp,%edi,1),%edi
1121 shll $16,%edi
1122 xorl %edi,%esi
1123 movl %edx,%edi
1124 shrl $24,%edi
1125 movzbl -128(%ebp,%edi,1),%edi
1126 shll $24,%edi
1127 xorl %edi,%esi
1128 andl $255,%edx
1129 movzbl -128(%ebp,%edx,1),%edx
1130 movzbl %ch,%ecx
1131 movzbl -128(%ebp,%ecx,1),%ecx
1132 shll $8,%ecx
1133 xorl %ecx,%edx
1134 movl %esi,%ecx
1135 shrl $16,%ebx
1136 andl $255,%ebx
1137 movzbl -128(%ebp,%ebx,1),%ebx
1138 shll $16,%ebx
1139 xorl %ebx,%edx
1140 shrl $24,%eax
1141 movzbl -128(%ebp,%eax,1),%eax
1142 shll $24,%eax
1143 xorl %eax,%edx
1144 movl $2155905152,%edi
1145 andl %ecx,%edi
1146 movl %edi,%esi
1147 shrl $7,%edi
1148 leal (%ecx,%ecx,1),%eax
1149 subl %edi,%esi
1150 andl $4278124286,%eax
1151 andl $454761243,%esi
1152 xorl %esi,%eax
1153 movl $2155905152,%edi
1154 andl %eax,%edi
1155 movl %edi,%esi
1156 shrl $7,%edi
1157 leal (%eax,%eax,1),%ebx
1158 subl %edi,%esi
1159 andl $4278124286,%ebx
1160 andl $454761243,%esi
1161 xorl %ecx,%eax
1162 xorl %esi,%ebx
1163 movl $2155905152,%edi
1164 andl %ebx,%edi
1165 movl %edi,%esi
1166 shrl $7,%edi
1167 leal (%ebx,%ebx,1),%ebp
1168 subl %edi,%esi
1169 andl $4278124286,%ebp
1170 andl $454761243,%esi
1171 xorl %ecx,%ebx
1172 roll $8,%ecx
1173 xorl %esi,%ebp
1174 xorl %eax,%ecx
1175 xorl %ebp,%eax
1176 xorl %ebx,%ecx
1177 xorl %ebp,%ebx
1178 roll $24,%eax
1179 xorl %ebp,%ecx
1180 roll $16,%ebx
1181 xorl %eax,%ecx
1182 roll $8,%ebp
1183 xorl %ebx,%ecx
1184 movl 4(%esp),%eax
1185 xorl %ebp,%ecx
1186 movl %ecx,12(%esp)
1187 movl $2155905152,%edi
1188 andl %edx,%edi
1189 movl %edi,%esi
1190 shrl $7,%edi
1191 leal (%edx,%edx,1),%ebx
1192 subl %edi,%esi
1193 andl $4278124286,%ebx
1194 andl $454761243,%esi
1195 xorl %esi,%ebx
1196 movl $2155905152,%edi
1197 andl %ebx,%edi
1198 movl %edi,%esi
1199 shrl $7,%edi
1200 leal (%ebx,%ebx,1),%ecx
1201 subl %edi,%esi
1202 andl $4278124286,%ecx
1203 andl $454761243,%esi
1204 xorl %edx,%ebx
1205 xorl %esi,%ecx
1206 movl $2155905152,%edi
1207 andl %ecx,%edi
1208 movl %edi,%esi
1209 shrl $7,%edi
1210 leal (%ecx,%ecx,1),%ebp
1211 subl %edi,%esi
1212 andl $4278124286,%ebp
1213 andl $454761243,%esi
1214 xorl %edx,%ecx
1215 roll $8,%edx
1216 xorl %esi,%ebp
1217 xorl %ebx,%edx
1218 xorl %ebp,%ebx
1219 xorl %ecx,%edx
1220 xorl %ebp,%ecx
1221 roll $24,%ebx
1222 xorl %ebp,%edx
1223 roll $16,%ecx
1224 xorl %ebx,%edx
1225 roll $8,%ebp
1226 xorl %ecx,%edx
1227 movl 8(%esp),%ebx
1228 xorl %ebp,%edx
1229 movl %edx,16(%esp)
1230 movl $2155905152,%edi
1231 andl %eax,%edi
1232 movl %edi,%esi
1233 shrl $7,%edi
1234 leal (%eax,%eax,1),%ecx
1235 subl %edi,%esi
1236 andl $4278124286,%ecx
1237 andl $454761243,%esi
1238 xorl %esi,%ecx
1239 movl $2155905152,%edi
1240 andl %ecx,%edi
1241 movl %edi,%esi
1242 shrl $7,%edi
1243 leal (%ecx,%ecx,1),%edx
1244 subl %edi,%esi
1245 andl $4278124286,%edx
1246 andl $454761243,%esi
1247 xorl %eax,%ecx
1248 xorl %esi,%edx
1249 movl $2155905152,%edi
1250 andl %edx,%edi
1251 movl %edi,%esi
1252 shrl $7,%edi
1253 leal (%edx,%edx,1),%ebp
1254 subl %edi,%esi
1255 andl $4278124286,%ebp
1256 andl $454761243,%esi
1257 xorl %eax,%edx
1258 roll $8,%eax
1259 xorl %esi,%ebp
1260 xorl %ecx,%eax
1261 xorl %ebp,%ecx
1262 xorl %edx,%eax
1263 xorl %ebp,%edx
1264 roll $24,%ecx
1265 xorl %ebp,%eax
1266 roll $16,%edx
1267 xorl %ecx,%eax
1268 roll $8,%ebp
1269 xorl %edx,%eax
1270 xorl %ebp,%eax
1271 movl $2155905152,%edi
1272 andl %ebx,%edi
1273 movl %edi,%esi
1274 shrl $7,%edi
1275 leal (%ebx,%ebx,1),%ecx
1276 subl %edi,%esi
1277 andl $4278124286,%ecx
1278 andl $454761243,%esi
1279 xorl %esi,%ecx
1280 movl $2155905152,%edi
1281 andl %ecx,%edi
1282 movl %edi,%esi
1283 shrl $7,%edi
1284 leal (%ecx,%ecx,1),%edx
1285 subl %edi,%esi
1286 andl $4278124286,%edx
1287 andl $454761243,%esi
1288 xorl %ebx,%ecx
1289 xorl %esi,%edx
1290 movl $2155905152,%edi
1291 andl %edx,%edi
1292 movl %edi,%esi
1293 shrl $7,%edi
1294 leal (%edx,%edx,1),%ebp
1295 subl %edi,%esi
1296 andl $4278124286,%ebp
1297 andl $454761243,%esi
1298 xorl %ebx,%edx
1299 roll $8,%ebx
1300 xorl %esi,%ebp
1301 xorl %ecx,%ebx
1302 xorl %ebp,%ecx
1303 xorl %edx,%ebx
1304 xorl %ebp,%edx
1305 roll $24,%ecx
1306 xorl %ebp,%ebx
1307 roll $16,%edx
1308 xorl %ecx,%ebx
1309 roll $8,%ebp
1310 xorl %edx,%ebx
1311 movl 12(%esp),%ecx
1312 xorl %ebp,%ebx
1313 movl 16(%esp),%edx
1314 movl 20(%esp),%edi
1315 movl 28(%esp),%ebp
1316 addl $16,%edi
1317 xorl (%edi),%eax
1318 xorl 4(%edi),%ebx
1319 xorl 8(%edi),%ecx
1320 xorl 12(%edi),%edx
1321 cmpl 24(%esp),%edi
1322 movl %edi,20(%esp)
1323 jb .L006loop
1324 movl %eax,%esi
1325 andl $255,%esi
1326 movzbl -128(%ebp,%esi,1),%esi
1327 movzbl %dh,%edi
1328 movzbl -128(%ebp,%edi,1),%edi
1329 shll $8,%edi
1330 xorl %edi,%esi
1331 movl %ecx,%edi
1332 shrl $16,%edi
1333 andl $255,%edi
1334 movzbl -128(%ebp,%edi,1),%edi
1335 shll $16,%edi
1336 xorl %edi,%esi
1337 movl %ebx,%edi
1338 shrl $24,%edi
1339 movzbl -128(%ebp,%edi,1),%edi
1340 shll $24,%edi
1341 xorl %edi,%esi
1342 movl %esi,4(%esp)
1343 movl %ebx,%esi
1344 andl $255,%esi
1345 movzbl -128(%ebp,%esi,1),%esi
1346 movzbl %ah,%edi
1347 movzbl -128(%ebp,%edi,1),%edi
1348 shll $8,%edi
1349 xorl %edi,%esi
1350 movl %edx,%edi
1351 shrl $16,%edi
1352 andl $255,%edi
1353 movzbl -128(%ebp,%edi,1),%edi
1354 shll $16,%edi
1355 xorl %edi,%esi
1356 movl %ecx,%edi
1357 shrl $24,%edi
1358 movzbl -128(%ebp,%edi,1),%edi
1359 shll $24,%edi
1360 xorl %edi,%esi
1361 movl %esi,8(%esp)
1362 movl %ecx,%esi
1363 andl $255,%esi
1364 movzbl -128(%ebp,%esi,1),%esi
1365 movzbl %bh,%edi
1366 movzbl -128(%ebp,%edi,1),%edi
1367 shll $8,%edi
1368 xorl %edi,%esi
1369 movl %eax,%edi
1370 shrl $16,%edi
1371 andl $255,%edi
1372 movzbl -128(%ebp,%edi,1),%edi
1373 shll $16,%edi
1374 xorl %edi,%esi
1375 movl %edx,%edi
1376 shrl $24,%edi
1377 movzbl -128(%ebp,%edi,1),%edi
1378 shll $24,%edi
1379 xorl %edi,%esi
1380 movl 20(%esp),%edi
1381 andl $255,%edx
1382 movzbl -128(%ebp,%edx,1),%edx
1383 movzbl %ch,%ecx
1384 movzbl -128(%ebp,%ecx,1),%ecx
1385 shll $8,%ecx
1386 xorl %ecx,%edx
1387 movl %esi,%ecx
1388 shrl $16,%ebx
1389 andl $255,%ebx
1390 movzbl -128(%ebp,%ebx,1),%ebx
1391 shll $16,%ebx
1392 xorl %ebx,%edx
1393 movl 8(%esp),%ebx
1394 shrl $24,%eax
1395 movzbl -128(%ebp,%eax,1),%eax
1396 shll $24,%eax
1397 xorl %eax,%edx
1398 movl 4(%esp),%eax
1399 xorl 16(%edi),%eax
1400 xorl 20(%edi),%ebx
1401 xorl 24(%edi),%ecx
1402 xorl 28(%edi),%edx
1403 ret
1404 .size _x86_AES_decrypt_compact,.-_x86_AES_decrypt_compact
1405 .hidden _sse_AES_decrypt_compact
1406 .type _sse_AES_decrypt_compact,@function
1407 .align 16
1408 _sse_AES_decrypt_compact:
1409 pxor (%edi),%mm0
1410 pxor 8(%edi),%mm4
1411 movl 240(%edi),%esi
1412 leal -2(%esi,%esi,1),%esi
1413 leal (%edi,%esi,8),%esi
1414 movl %esi,24(%esp)
1415 movl $454761243,%eax
1416 movl %eax,8(%esp)
1417 movl %eax,12(%esp)
1418 movl -128(%ebp),%eax
1419 movl -96(%ebp),%ebx
1420 movl -64(%ebp),%ecx
1421 movl -32(%ebp),%edx
1422 movl (%ebp),%eax
1423 movl 32(%ebp),%ebx
1424 movl 64(%ebp),%ecx
1425 movl 96(%ebp),%edx
1426 .align 16
1427 .L007loop:
1428 pshufw $12,%mm0,%mm1
1429 pshufw $9,%mm4,%mm5
1430 movd %mm1,%eax
1431 movd %mm5,%ebx
1432 movl %edi,20(%esp)
1433 movzbl %al,%esi
1434 movzbl %ah,%edx
1435 pshufw $6,%mm0,%mm2
1436 movzbl -128(%ebp,%esi,1),%ecx
1437 movzbl %bl,%edi
1438 movzbl -128(%ebp,%edx,1),%edx
1439 shrl $16,%eax
1440 shll $8,%edx
1441 movzbl -128(%ebp,%edi,1),%esi
1442 movzbl %bh,%edi
1443 shll $16,%esi
1444 pshufw $3,%mm4,%mm6
1445 orl %esi,%ecx
1446 movzbl -128(%ebp,%edi,1),%esi
1447 movzbl %ah,%edi
1448 shll $24,%esi
1449 shrl $16,%ebx
1450 orl %esi,%edx
1451 movzbl -128(%ebp,%edi,1),%esi
1452 movzbl %bh,%edi
1453 shll $24,%esi
1454 orl %esi,%ecx
1455 movzbl -128(%ebp,%edi,1),%esi
1456 movzbl %al,%edi
1457 shll $8,%esi
1458 movd %mm2,%eax
1459 orl %esi,%ecx
1460 movzbl -128(%ebp,%edi,1),%esi
1461 movzbl %bl,%edi
1462 shll $16,%esi
1463 movd %mm6,%ebx
1464 movd %ecx,%mm0
1465 movzbl -128(%ebp,%edi,1),%ecx
1466 movzbl %al,%edi
1467 orl %esi,%ecx
1468 movzbl -128(%ebp,%edi,1),%esi
1469 movzbl %bl,%edi
1470 orl %esi,%edx
1471 movzbl -128(%ebp,%edi,1),%esi
1472 movzbl %ah,%edi
1473 shll $16,%esi
1474 shrl $16,%eax
1475 orl %esi,%edx
1476 movzbl -128(%ebp,%edi,1),%esi
1477 movzbl %bh,%edi
1478 shrl $16,%ebx
1479 shll $8,%esi
1480 movd %edx,%mm1
1481 movzbl -128(%ebp,%edi,1),%edx
1482 movzbl %bh,%edi
1483 shll $24,%edx
1484 andl $255,%ebx
1485 orl %esi,%edx
1486 punpckldq %mm1,%mm0
1487 movzbl -128(%ebp,%edi,1),%esi
1488 movzbl %al,%edi
1489 shll $8,%esi
1490 movzbl %ah,%eax
1491 movzbl -128(%ebp,%ebx,1),%ebx
1492 orl %esi,%ecx
1493 movzbl -128(%ebp,%edi,1),%esi
1494 orl %ebx,%edx
1495 shll $16,%esi
1496 movzbl -128(%ebp,%eax,1),%eax
1497 orl %esi,%edx
1498 shll $24,%eax
1499 orl %eax,%ecx
1500 movl 20(%esp),%edi
1501 movd %edx,%mm4
1502 movd %ecx,%mm5
1503 punpckldq %mm5,%mm4
1504 addl $16,%edi
1505 cmpl 24(%esp),%edi
1506 ja .L008out
1507 movq %mm0,%mm3
1508 movq %mm4,%mm7
1509 pshufw $228,%mm0,%mm2
1510 pshufw $228,%mm4,%mm6
1511 movq %mm0,%mm1
1512 movq %mm4,%mm5
1513 pshufw $177,%mm0,%mm0
1514 pshufw $177,%mm4,%mm4
1515 pslld $8,%mm2
1516 pslld $8,%mm6
1517 psrld $8,%mm3
1518 psrld $8,%mm7
1519 pxor %mm2,%mm0
1520 pxor %mm6,%mm4
1521 pxor %mm3,%mm0
1522 pxor %mm7,%mm4
1523 pslld $16,%mm2
1524 pslld $16,%mm6
1525 psrld $16,%mm3
1526 psrld $16,%mm7
1527 pxor %mm2,%mm0
1528 pxor %mm6,%mm4
1529 pxor %mm3,%mm0
1530 pxor %mm7,%mm4
1531 movq 8(%esp),%mm3
1532 pxor %mm2,%mm2
1533 pxor %mm6,%mm6
1534 pcmpgtb %mm1,%mm2
1535 pcmpgtb %mm5,%mm6
1536 pand %mm3,%mm2
1537 pand %mm3,%mm6
1538 paddb %mm1,%mm1
1539 paddb %mm5,%mm5
1540 pxor %mm2,%mm1
1541 pxor %mm6,%mm5
1542 movq %mm1,%mm3
1543 movq %mm5,%mm7
1544 movq %mm1,%mm2
1545 movq %mm5,%mm6
1546 pxor %mm1,%mm0
1547 pxor %mm5,%mm4
1548 pslld $24,%mm3
1549 pslld $24,%mm7
1550 psrld $8,%mm2
1551 psrld $8,%mm6
1552 pxor %mm3,%mm0
1553 pxor %mm7,%mm4
1554 pxor %mm2,%mm0
1555 pxor %mm6,%mm4
1556 movq 8(%esp),%mm2
1557 pxor %mm3,%mm3
1558 pxor %mm7,%mm7
1559 pcmpgtb %mm1,%mm3
1560 pcmpgtb %mm5,%mm7
1561 pand %mm2,%mm3
1562 pand %mm2,%mm7
1563 paddb %mm1,%mm1
1564 paddb %mm5,%mm5
1565 pxor %mm3,%mm1
1566 pxor %mm7,%mm5
1567 pshufw $177,%mm1,%mm3
1568 pshufw $177,%mm5,%mm7
1569 pxor %mm1,%mm0
1570 pxor %mm5,%mm4
1571 pxor %mm3,%mm0
1572 pxor %mm7,%mm4
1573 pxor %mm3,%mm3
1574 pxor %mm7,%mm7
1575 pcmpgtb %mm1,%mm3
1576 pcmpgtb %mm5,%mm7
1577 pand %mm2,%mm3
1578 pand %mm2,%mm7
1579 paddb %mm1,%mm1
1580 paddb %mm5,%mm5
1581 pxor %mm3,%mm1
1582 pxor %mm7,%mm5
1583 pxor %mm1,%mm0
1584 pxor %mm5,%mm4
1585 movq %mm1,%mm3
1586 movq %mm5,%mm7
1587 pshufw $177,%mm1,%mm2
1588 pshufw $177,%mm5,%mm6
1589 pxor %mm2,%mm0
1590 pxor %mm6,%mm4
1591 pslld $8,%mm1
1592 pslld $8,%mm5
1593 psrld $8,%mm3
1594 psrld $8,%mm7
1595 movq (%edi),%mm2
1596 movq 8(%edi),%mm6
1597 pxor %mm1,%mm0
1598 pxor %mm5,%mm4
1599 pxor %mm3,%mm0
1600 pxor %mm7,%mm4
1601 movl -128(%ebp),%eax
1602 pslld $16,%mm1
1603 pslld $16,%mm5
1604 movl -64(%ebp),%ebx
1605 psrld $16,%mm3
1606 psrld $16,%mm7
1607 movl (%ebp),%ecx
1608 pxor %mm1,%mm0
1609 pxor %mm5,%mm4
1610 movl 64(%ebp),%edx
1611 pxor %mm3,%mm0
1612 pxor %mm7,%mm4
1613 pxor %mm2,%mm0
1614 pxor %mm6,%mm4
1615 jmp .L007loop
1616 .align 16
1617 .L008out:
1618 pxor (%edi),%mm0
1619 pxor 8(%edi),%mm4
1620 ret
1621 .size _sse_AES_decrypt_compact,.-_sse_AES_decrypt_compact
1622 .hidden _x86_AES_decrypt
1623 .type _x86_AES_decrypt,@function
1624 .align 16
1625 _x86_AES_decrypt:
1626 movl %edi,20(%esp)
1627 xorl (%edi),%eax
1628 xorl 4(%edi),%ebx
1629 xorl 8(%edi),%ecx
1630 xorl 12(%edi),%edx
1631 movl 240(%edi),%esi
1632 leal -2(%esi,%esi,1),%esi
1633 leal (%edi,%esi,8),%esi
1634 movl %esi,24(%esp)
1635 .align 16
1636 .L009loop:
1637 movl %eax,%esi
1638 andl $255,%esi
1639 movl (%ebp,%esi,8),%esi
1640 movzbl %dh,%edi
1641 xorl 3(%ebp,%edi,8),%esi
1642 movl %ecx,%edi
1643 shrl $16,%edi
1644 andl $255,%edi
1645 xorl 2(%ebp,%edi,8),%esi
1646 movl %ebx,%edi
1647 shrl $24,%edi
1648 xorl 1(%ebp,%edi,8),%esi
1649 movl %esi,4(%esp)
1650
1651 movl %ebx,%esi
1652 andl $255,%esi
1653 movl (%ebp,%esi,8),%esi
1654 movzbl %ah,%edi
1655 xorl 3(%ebp,%edi,8),%esi
1656 movl %edx,%edi
1657 shrl $16,%edi
1658 andl $255,%edi
1659 xorl 2(%ebp,%edi,8),%esi
1660 movl %ecx,%edi
1661 shrl $24,%edi
1662 xorl 1(%ebp,%edi,8),%esi
1663 movl %esi,8(%esp)
1664
1665 movl %ecx,%esi
1666 andl $255,%esi
1667 movl (%ebp,%esi,8),%esi
1668 movzbl %bh,%edi
1669 xorl 3(%ebp,%edi,8),%esi
1670 movl %eax,%edi
1671 shrl $16,%edi
1672 andl $255,%edi
1673 xorl 2(%ebp,%edi,8),%esi
1674 movl %edx,%edi
1675 shrl $24,%edi
1676 xorl 1(%ebp,%edi,8),%esi
1677
1678 movl 20(%esp),%edi
1679 andl $255,%edx
1680 movl (%ebp,%edx,8),%edx
1681 movzbl %ch,%ecx
1682 xorl 3(%ebp,%ecx,8),%edx
1683 movl %esi,%ecx
1684 shrl $16,%ebx
1685 andl $255,%ebx
1686 xorl 2(%ebp,%ebx,8),%edx
1687 movl 8(%esp),%ebx
1688 shrl $24,%eax
1689 xorl 1(%ebp,%eax,8),%edx
1690 movl 4(%esp),%eax
1691
1692 addl $16,%edi
1693 xorl (%edi),%eax
1694 xorl 4(%edi),%ebx
1695 xorl 8(%edi),%ecx
1696 xorl 12(%edi),%edx
1697 cmpl 24(%esp),%edi
1698 movl %edi,20(%esp)
1699 jb .L009loop
1700 leal 2176(%ebp),%ebp
1701 movl -128(%ebp),%edi
1702 movl -96(%ebp),%esi
1703 movl -64(%ebp),%edi
1704 movl -32(%ebp),%esi
1705 movl (%ebp),%edi
1706 movl 32(%ebp),%esi
1707 movl 64(%ebp),%edi
1708 movl 96(%ebp),%esi
1709 leal -128(%ebp),%ebp
1710 movl %eax,%esi
1711 andl $255,%esi
1712 movzbl (%ebp,%esi,1),%esi
1713 movzbl %dh,%edi
1714 movzbl (%ebp,%edi,1),%edi
1715 shll $8,%edi
1716 xorl %edi,%esi
1717 movl %ecx,%edi
1718 shrl $16,%edi
1719 andl $255,%edi
1720 movzbl (%ebp,%edi,1),%edi
1721 shll $16,%edi
1722 xorl %edi,%esi
1723 movl %ebx,%edi
1724 shrl $24,%edi
1725 movzbl (%ebp,%edi,1),%edi
1726 shll $24,%edi
1727 xorl %edi,%esi
1728 movl %esi,4(%esp)
1729 movl %ebx,%esi
1730 andl $255,%esi
1731 movzbl (%ebp,%esi,1),%esi
1732 movzbl %ah,%edi
1733 movzbl (%ebp,%edi,1),%edi
1734 shll $8,%edi
1735 xorl %edi,%esi
1736 movl %edx,%edi
1737 shrl $16,%edi
1738 andl $255,%edi
1739 movzbl (%ebp,%edi,1),%edi
1740 shll $16,%edi
1741 xorl %edi,%esi
1742 movl %ecx,%edi
1743 shrl $24,%edi
1744 movzbl (%ebp,%edi,1),%edi
1745 shll $24,%edi
1746 xorl %edi,%esi
1747 movl %esi,8(%esp)
1748 movl %ecx,%esi
1749 andl $255,%esi
1750 movzbl (%ebp,%esi,1),%esi
1751 movzbl %bh,%edi
1752 movzbl (%ebp,%edi,1),%edi
1753 shll $8,%edi
1754 xorl %edi,%esi
1755 movl %eax,%edi
1756 shrl $16,%edi
1757 andl $255,%edi
1758 movzbl (%ebp,%edi,1),%edi
1759 shll $16,%edi
1760 xorl %edi,%esi
1761 movl %edx,%edi
1762 shrl $24,%edi
1763 movzbl (%ebp,%edi,1),%edi
1764 shll $24,%edi
1765 xorl %edi,%esi
1766 movl 20(%esp),%edi
1767 andl $255,%edx
1768 movzbl (%ebp,%edx,1),%edx
1769 movzbl %ch,%ecx
1770 movzbl (%ebp,%ecx,1),%ecx
1771 shll $8,%ecx
1772 xorl %ecx,%edx
1773 movl %esi,%ecx
1774 shrl $16,%ebx
1775 andl $255,%ebx
1776 movzbl (%ebp,%ebx,1),%ebx
1777 shll $16,%ebx
1778 xorl %ebx,%edx
1779 movl 8(%esp),%ebx
1780 shrl $24,%eax
1781 movzbl (%ebp,%eax,1),%eax
1782 shll $24,%eax
1783 xorl %eax,%edx
1784 movl 4(%esp),%eax
1785 leal -2048(%ebp),%ebp
1786 addl $16,%edi
1787 xorl (%edi),%eax
1788 xorl 4(%edi),%ebx
1789 xorl 8(%edi),%ecx
1790 xorl 12(%edi),%edx
1791 ret
1792 .align 64
1793 .LAES_Td:
1794 .long 1353184337,1353184337
1795 .long 1399144830,1399144830
1796 .long 3282310938,3282310938
1797 .long 2522752826,2522752826
1798 .long 3412831035,3412831035
1799 .long 4047871263,4047871263
1800 .long 2874735276,2874735276
1801 .long 2466505547,2466505547
1802 .long 1442459680,1442459680
1803 .long 4134368941,4134368941
1804 .long 2440481928,2440481928
1805 .long 625738485,625738485
1806 .long 4242007375,4242007375
1807 .long 3620416197,3620416197
1808 .long 2151953702,2151953702
1809 .long 2409849525,2409849525
1810 .long 1230680542,1230680542
1811 .long 1729870373,1729870373
1812 .long 2551114309,2551114309
1813 .long 3787521629,3787521629
1814 .long 41234371,41234371
1815 .long 317738113,317738113
1816 .long 2744600205,2744600205
1817 .long 3338261355,3338261355
1818 .long 3881799427,3881799427
1819 .long 2510066197,2510066197
1820 .long 3950669247,3950669247
1821 .long 3663286933,3663286933
1822 .long 763608788,763608788
1823 .long 3542185048,3542185048
1824 .long 694804553,694804553
1825 .long 1154009486,1154009486
1826 .long 1787413109,1787413109
1827 .long 2021232372,2021232372
1828 .long 1799248025,1799248025
1829 .long 3715217703,3715217703
1830 .long 3058688446,3058688446
1831 .long 397248752,397248752
1832 .long 1722556617,1722556617
1833 .long 3023752829,3023752829
1834 .long 407560035,407560035
1835 .long 2184256229,2184256229
1836 .long 1613975959,1613975959
1837 .long 1165972322,1165972322
1838 .long 3765920945,3765920945
1839 .long 2226023355,2226023355
1840 .long 480281086,480281086
1841 .long 2485848313,2485848313
1842 .long 1483229296,1483229296
1843 .long 436028815,436028815
1844 .long 2272059028,2272059028
1845 .long 3086515026,3086515026
1846 .long 601060267,601060267
1847 .long 3791801202,3791801202
1848 .long 1468997603,1468997603
1849 .long 715871590,715871590
1850 .long 120122290,120122290
1851 .long 63092015,63092015
1852 .long 2591802758,2591802758
1853 .long 2768779219,2768779219
1854 .long 4068943920,4068943920
1855 .long 2997206819,2997206819
1856 .long 3127509762,3127509762
1857 .long 1552029421,1552029421
1858 .long 723308426,723308426
1859 .long 2461301159,2461301159
1860 .long 4042393587,4042393587
1861 .long 2715969870,2715969870
1862 .long 3455375973,3455375973
1863 .long 3586000134,3586000134
1864 .long 526529745,526529745
1865 .long 2331944644,2331944644
1866 .long 2639474228,2639474228
1867 .long 2689987490,2689987490
1868 .long 853641733,853641733
1869 .long 1978398372,1978398372
1870 .long 971801355,971801355
1871 .long 2867814464,2867814464
1872 .long 111112542,111112542
1873 .long 1360031421,1360031421
1874 .long 4186579262,4186579262
1875 .long 1023860118,1023860118
1876 .long 2919579357,2919579357
1877 .long 1186850381,1186850381
1878 .long 3045938321,3045938321
1879 .long 90031217,90031217
1880 .long 1876166148,1876166148
1881 .long 4279586912,4279586912
1882 .long 620468249,620468249
1883 .long 2548678102,2548678102
1884 .long 3426959497,3426959497
1885 .long 2006899047,2006899047
1886 .long 3175278768,3175278768
1887 .long 2290845959,2290845959
1888 .long 945494503,945494503
1889 .long 3689859193,3689859193
1890 .long 1191869601,1191869601
1891 .long 3910091388,3910091388
1892 .long 3374220536,3374220536
1893 .long 0,0
1894 .long 2206629897,2206629897
1895 .long 1223502642,1223502642
1896 .long 2893025566,2893025566
1897 .long 1316117100,1316117100
1898 .long 4227796733,4227796733
1899 .long 1446544655,1446544655
1900 .long 517320253,517320253
1901 .long 658058550,658058550
1902 .long 1691946762,1691946762
1903 .long 564550760,564550760
1904 .long 3511966619,3511966619
1905 .long 976107044,976107044
1906 .long 2976320012,2976320012
1907 .long 266819475,266819475
1908 .long 3533106868,3533106868
1909 .long 2660342555,2660342555
1910 .long 1338359936,1338359936
1911 .long 2720062561,2720062561
1912 .long 1766553434,1766553434
1913 .long 370807324,370807324
1914 .long 179999714,179999714
1915 .long 3844776128,3844776128
1916 .long 1138762300,1138762300
1917 .long 488053522,488053522
1918 .long 185403662,185403662
1919 .long 2915535858,2915535858
1920 .long 3114841645,3114841645
1921 .long 3366526484,3366526484
1922 .long 2233069911,2233069911
1923 .long 1275557295,1275557295
1924 .long 3151862254,3151862254
1925 .long 4250959779,4250959779
1926 .long 2670068215,2670068215
1927 .long 3170202204,3170202204
1928 .long 3309004356,3309004356
1929 .long 880737115,880737115
1930 .long 1982415755,1982415755
1931 .long 3703972811,3703972811
1932 .long 1761406390,1761406390
1933 .long 1676797112,1676797112
1934 .long 3403428311,3403428311
1935 .long 277177154,277177154
1936 .long 1076008723,1076008723
1937 .long 538035844,538035844
1938 .long 2099530373,2099530373
1939 .long 4164795346,4164795346
1940 .long 288553390,288553390
1941 .long 1839278535,1839278535
1942 .long 1261411869,1261411869
1943 .long 4080055004,4080055004
1944 .long 3964831245,3964831245
1945 .long 3504587127,3504587127
1946 .long 1813426987,1813426987
1947 .long 2579067049,2579067049
1948 .long 4199060497,4199060497
1949 .long 577038663,577038663
1950 .long 3297574056,3297574056
1951 .long 440397984,440397984
1952 .long 3626794326,3626794326
1953 .long 4019204898,4019204898
1954 .long 3343796615,3343796615
1955 .long 3251714265,3251714265
1956 .long 4272081548,4272081548
1957 .long 906744984,906744984
1958 .long 3481400742,3481400742
1959 .long 685669029,685669029
1960 .long 646887386,646887386
1961 .long 2764025151,2764025151
1962 .long 3835509292,3835509292
1963 .long 227702864,227702864
1964 .long 2613862250,2613862250
1965 .long 1648787028,1648787028
1966 .long 3256061430,3256061430
1967 .long 3904428176,3904428176
1968 .long 1593260334,1593260334
1969 .long 4121936770,4121936770
1970 .long 3196083615,3196083615
1971 .long 2090061929,2090061929
1972 .long 2838353263,2838353263
1973 .long 3004310991,3004310991
1974 .long 999926984,999926984
1975 .long 2809993232,2809993232
1976 .long 1852021992,1852021992
1977 .long 2075868123,2075868123
1978 .long 158869197,158869197
1979 .long 4095236462,4095236462
1980 .long 28809964,28809964
1981 .long 2828685187,2828685187
1982 .long 1701746150,1701746150
1983 .long 2129067946,2129067946
1984 .long 147831841,147831841
1985 .long 3873969647,3873969647
1986 .long 3650873274,3650873274
1987 .long 3459673930,3459673930
1988 .long 3557400554,3557400554
1989 .long 3598495785,3598495785
1990 .long 2947720241,2947720241
1991 .long 824393514,824393514
1992 .long 815048134,815048134
1993 .long 3227951669,3227951669
1994 .long 935087732,935087732
1995 .long 2798289660,2798289660
1996 .long 2966458592,2966458592
1997 .long 366520115,366520115
1998 .long 1251476721,1251476721
1999 .long 4158319681,4158319681
2000 .long 240176511,240176511
2001 .long 804688151,804688151
2002 .long 2379631990,2379631990
2003 .long 1303441219,1303441219
2004 .long 1414376140,1414376140
2005 .long 3741619940,3741619940
2006 .long 3820343710,3820343710
2007 .long 461924940,461924940
2008 .long 3089050817,3089050817
2009 .long 2136040774,2136040774
2010 .long 82468509,82468509
2011 .long 1563790337,1563790337
2012 .long 1937016826,1937016826
2013 .long 776014843,776014843
2014 .long 1511876531,1511876531
2015 .long 1389550482,1389550482
2016 .long 861278441,861278441
2017 .long 323475053,323475053
2018 .long 2355222426,2355222426
2019 .long 2047648055,2047648055
2020 .long 2383738969,2383738969
2021 .long 2302415851,2302415851
2022 .long 3995576782,3995576782
2023 .long 902390199,902390199
2024 .long 3991215329,3991215329
2025 .long 1018251130,1018251130
2026 .long 1507840668,1507840668
2027 .long 1064563285,1064563285
2028 .long 2043548696,2043548696
2029 .long 3208103795,3208103795
2030 .long 3939366739,3939366739
2031 .long 1537932639,1537932639
2032 .long 342834655,342834655
2033 .long 2262516856,2262516856
2034 .long 2180231114,2180231114
2035 .long 1053059257,1053059257
2036 .long 741614648,741614648
2037 .long 1598071746,1598071746
2038 .long 1925389590,1925389590
2039 .long 203809468,203809468
2040 .long 2336832552,2336832552
2041 .long 1100287487,1100287487
2042 .long 1895934009,1895934009
2043 .long 3736275976,3736275976
2044 .long 2632234200,2632234200
2045 .long 2428589668,2428589668
2046 .long 1636092795,1636092795
2047 .long 1890988757,1890988757
2048 .long 1952214088,1952214088
2049 .long 1113045200,1113045200
2050 .byte 82,9,106,213,48,54,165,56
2051 .byte 191,64,163,158,129,243,215,251
2052 .byte 124,227,57,130,155,47,255,135
2053 .byte 52,142,67,68,196,222,233,203
2054 .byte 84,123,148,50,166,194,35,61
2055 .byte 238,76,149,11,66,250,195,78
2056 .byte 8,46,161,102,40,217,36,178
2057 .byte 118,91,162,73,109,139,209,37
2058 .byte 114,248,246,100,134,104,152,22
2059 .byte 212,164,92,204,93,101,182,146
2060 .byte 108,112,72,80,253,237,185,218
2061 .byte 94,21,70,87,167,141,157,132
2062 .byte 144,216,171,0,140,188,211,10
2063 .byte 247,228,88,5,184,179,69,6
2064 .byte 208,44,30,143,202,63,15,2
2065 .byte 193,175,189,3,1,19,138,107
2066 .byte 58,145,17,65,79,103,220,234
2067 .byte 151,242,207,206,240,180,230,115
2068 .byte 150,172,116,34,231,173,53,133
2069 .byte 226,249,55,232,28,117,223,110
2070 .byte 71,241,26,113,29,41,197,137
2071 .byte 111,183,98,14,170,24,190,27
2072 .byte 252,86,62,75,198,210,121,32
2073 .byte 154,219,192,254,120,205,90,244
2074 .byte 31,221,168,51,136,7,199,49
2075 .byte 177,18,16,89,39,128,236,95
2076 .byte 96,81,127,169,25,181,74,13
2077 .byte 45,229,122,159,147,201,156,239
2078 .byte 160,224,59,77,174,42,245,176
2079 .byte 200,235,187,60,131,83,153,97
2080 .byte 23,43,4,126,186,119,214,38
2081 .byte 225,105,20,99,85,33,12,125
2082 .byte 82,9,106,213,48,54,165,56
2083 .byte 191,64,163,158,129,243,215,251
2084 .byte 124,227,57,130,155,47,255,135
2085 .byte 52,142,67,68,196,222,233,203
2086 .byte 84,123,148,50,166,194,35,61
2087 .byte 238,76,149,11,66,250,195,78
2088 .byte 8,46,161,102,40,217,36,178
2089 .byte 118,91,162,73,109,139,209,37
2090 .byte 114,248,246,100,134,104,152,22
2091 .byte 212,164,92,204,93,101,182,146
2092 .byte 108,112,72,80,253,237,185,218
2093 .byte 94,21,70,87,167,141,157,132
2094 .byte 144,216,171,0,140,188,211,10
2095 .byte 247,228,88,5,184,179,69,6
2096 .byte 208,44,30,143,202,63,15,2
2097 .byte 193,175,189,3,1,19,138,107
2098 .byte 58,145,17,65,79,103,220,234
2099 .byte 151,242,207,206,240,180,230,115
2100 .byte 150,172,116,34,231,173,53,133
2101 .byte 226,249,55,232,28,117,223,110
2102 .byte 71,241,26,113,29,41,197,137
2103 .byte 111,183,98,14,170,24,190,27
2104 .byte 252,86,62,75,198,210,121,32
2105 .byte 154,219,192,254,120,205,90,244
2106 .byte 31,221,168,51,136,7,199,49
2107 .byte 177,18,16,89,39,128,236,95
2108 .byte 96,81,127,169,25,181,74,13
2109 .byte 45,229,122,159,147,201,156,239
2110 .byte 160,224,59,77,174,42,245,176
2111 .byte 200,235,187,60,131,83,153,97
2112 .byte 23,43,4,126,186,119,214,38
2113 .byte 225,105,20,99,85,33,12,125
2114 .byte 82,9,106,213,48,54,165,56
2115 .byte 191,64,163,158,129,243,215,251
2116 .byte 124,227,57,130,155,47,255,135
2117 .byte 52,142,67,68,196,222,233,203
2118 .byte 84,123,148,50,166,194,35,61
2119 .byte 238,76,149,11,66,250,195,78
2120 .byte 8,46,161,102,40,217,36,178
2121 .byte 118,91,162,73,109,139,209,37
2122 .byte 114,248,246,100,134,104,152,22
2123 .byte 212,164,92,204,93,101,182,146
2124 .byte 108,112,72,80,253,237,185,218
2125 .byte 94,21,70,87,167,141,157,132
2126 .byte 144,216,171,0,140,188,211,10
2127 .byte 247,228,88,5,184,179,69,6
2128 .byte 208,44,30,143,202,63,15,2
2129 .byte 193,175,189,3,1,19,138,107
2130 .byte 58,145,17,65,79,103,220,234
2131 .byte 151,242,207,206,240,180,230,115
2132 .byte 150,172,116,34,231,173,53,133
2133 .byte 226,249,55,232,28,117,223,110
2134 .byte 71,241,26,113,29,41,197,137
2135 .byte 111,183,98,14,170,24,190,27
2136 .byte 252,86,62,75,198,210,121,32
2137 .byte 154,219,192,254,120,205,90,244
2138 .byte 31,221,168,51,136,7,199,49
2139 .byte 177,18,16,89,39,128,236,95
2140 .byte 96,81,127,169,25,181,74,13
2141 .byte 45,229,122,159,147,201,156,239
2142 .byte 160,224,59,77,174,42,245,176
2143 .byte 200,235,187,60,131,83,153,97
2144 .byte 23,43,4,126,186,119,214,38
2145 .byte 225,105,20,99,85,33,12,125
2146 .byte 82,9,106,213,48,54,165,56
2147 .byte 191,64,163,158,129,243,215,251
2148 .byte 124,227,57,130,155,47,255,135
2149 .byte 52,142,67,68,196,222,233,203
2150 .byte 84,123,148,50,166,194,35,61
2151 .byte 238,76,149,11,66,250,195,78
2152 .byte 8,46,161,102,40,217,36,178
2153 .byte 118,91,162,73,109,139,209,37
2154 .byte 114,248,246,100,134,104,152,22
2155 .byte 212,164,92,204,93,101,182,146
2156 .byte 108,112,72,80,253,237,185,218
2157 .byte 94,21,70,87,167,141,157,132
2158 .byte 144,216,171,0,140,188,211,10
2159 .byte 247,228,88,5,184,179,69,6
2160 .byte 208,44,30,143,202,63,15,2
2161 .byte 193,175,189,3,1,19,138,107
2162 .byte 58,145,17,65,79,103,220,234
2163 .byte 151,242,207,206,240,180,230,115
2164 .byte 150,172,116,34,231,173,53,133
2165 .byte 226,249,55,232,28,117,223,110
2166 .byte 71,241,26,113,29,41,197,137
2167 .byte 111,183,98,14,170,24,190,27
2168 .byte 252,86,62,75,198,210,121,32
2169 .byte 154,219,192,254,120,205,90,244
2170 .byte 31,221,168,51,136,7,199,49
2171 .byte 177,18,16,89,39,128,236,95
2172 .byte 96,81,127,169,25,181,74,13
2173 .byte 45,229,122,159,147,201,156,239
2174 .byte 160,224,59,77,174,42,245,176
2175 .byte 200,235,187,60,131,83,153,97
2176 .byte 23,43,4,126,186,119,214,38
2177 .byte 225,105,20,99,85,33,12,125
2178 .size _x86_AES_decrypt,.-_x86_AES_decrypt
2179 .globl asm_AES_decrypt
2180 .hidden asm_AES_decrypt
2181 .type asm_AES_decrypt,@function
2182 .align 16
2183 asm_AES_decrypt:
2184 .L_asm_AES_decrypt_begin:
2185 pushl %ebp
2186 pushl %ebx
2187 pushl %esi
2188 pushl %edi
2189 movl 20(%esp),%esi
2190 movl 28(%esp),%edi
2191 movl %esp,%eax
2192 subl $36,%esp
2193 andl $-64,%esp
2194 leal -127(%edi),%ebx
2195 subl %esp,%ebx
2196 negl %ebx
2197 andl $960,%ebx
2198 subl %ebx,%esp
2199 addl $4,%esp
2200 movl %eax,28(%esp)
2201 call .L010pic_point
2202 .L010pic_point:
2203 popl %ebp
2204 leal OPENSSL_ia32cap_P-.L010pic_point(%ebp),%eax
2205 leal .LAES_Td-.L010pic_point(%ebp),%ebp
2206 leal 764(%esp),%ebx
2207 subl %ebp,%ebx
2208 andl $768,%ebx
2209 leal 2176(%ebp,%ebx,1),%ebp
2210 btl $25,(%eax)
2211 jnc .L011x86
2212 movq (%esi),%mm0
2213 movq 8(%esi),%mm4
2214 call _sse_AES_decrypt_compact
2215 movl 28(%esp),%esp
2216 movl 24(%esp),%esi
2217 movq %mm0,(%esi)
2218 movq %mm4,8(%esi)
2219 emms
2220 popl %edi
2221 popl %esi
2222 popl %ebx
2223 popl %ebp
2224 ret
2225 .align 16
2226 .L011x86:
2227 movl %ebp,24(%esp)
2228 movl (%esi),%eax
2229 movl 4(%esi),%ebx
2230 movl 8(%esi),%ecx
2231 movl 12(%esi),%edx
2232 call _x86_AES_decrypt_compact
2233 movl 28(%esp),%esp
2234 movl 24(%esp),%esi
2235 movl %eax,(%esi)
2236 movl %ebx,4(%esi)
2237 movl %ecx,8(%esi)
2238 movl %edx,12(%esi)
2239 popl %edi
2240 popl %esi
2241 popl %ebx
2242 popl %ebp
2243 ret
2244 .size asm_AES_decrypt,.-.L_asm_AES_decrypt_begin
2245 .globl asm_AES_cbc_encrypt
2246 .hidden asm_AES_cbc_encrypt
2247 .type asm_AES_cbc_encrypt,@function
2248 .align 16
2249 asm_AES_cbc_encrypt:
2250 .L_asm_AES_cbc_encrypt_begin:
2251 pushl %ebp
2252 pushl %ebx
2253 pushl %esi
2254 pushl %edi
2255 movl 28(%esp),%ecx
2256 cmpl $0,%ecx
2257 je .L012drop_out
2258 call .L013pic_point
2259 .L013pic_point:
2260 popl %ebp
2261 leal OPENSSL_ia32cap_P-.L013pic_point(%ebp),%eax
2262 cmpl $0,40(%esp)
2263 leal .LAES_Te-.L013pic_point(%ebp),%ebp
2264 jne .L014picked_te
2265 leal .LAES_Td-.LAES_Te(%ebp),%ebp
2266 .L014picked_te:
2267 pushfl
2268 cld
2269 cmpl $512,%ecx
2270 jb .L015slow_way
2271 testl $15,%ecx
2272 jnz .L015slow_way
2273 btl $28,(%eax)
2274 jc .L015slow_way
2275 leal -324(%esp),%esi
2276 andl $-64,%esi
2277 movl %ebp,%eax
2278 leal 2304(%ebp),%ebx
2279 movl %esi,%edx
2280 andl $4095,%eax
2281 andl $4095,%ebx
2282 andl $4095,%edx
2283 cmpl %ebx,%edx
2284 jb .L016tbl_break_out
2285 subl %ebx,%edx
2286 subl %edx,%esi
2287 jmp .L017tbl_ok
2288 .align 4
2289 .L016tbl_break_out:
2290 subl %eax,%edx
2291 andl $4095,%edx
2292 addl $384,%edx
2293 subl %edx,%esi
2294 .align 4
2295 .L017tbl_ok:
2296 leal 24(%esp),%edx
2297 xchgl %esi,%esp
2298 addl $4,%esp
2299 movl %ebp,24(%esp)
2300 movl %esi,28(%esp)
2301 movl (%edx),%eax
2302 movl 4(%edx),%ebx
2303 movl 12(%edx),%edi
2304 movl 16(%edx),%esi
2305 movl 20(%edx),%edx
2306 movl %eax,32(%esp)
2307 movl %ebx,36(%esp)
2308 movl %ecx,40(%esp)
2309 movl %edi,44(%esp)
2310 movl %esi,48(%esp)
2311 movl $0,316(%esp)
2312 movl %edi,%ebx
2313 movl $61,%ecx
2314 subl %ebp,%ebx
2315 movl %edi,%esi
2316 andl $4095,%ebx
2317 leal 76(%esp),%edi
2318 cmpl $2304,%ebx
2319 jb .L018do_copy
2320 cmpl $3852,%ebx
2321 jb .L019skip_copy
2322 .align 4
2323 .L018do_copy:
2324 movl %edi,44(%esp)
2325 .long 2784229001
2326 .L019skip_copy:
2327 movl $16,%edi
2328 .align 4
2329 .L020prefetch_tbl:
2330 movl (%ebp),%eax
2331 movl 32(%ebp),%ebx
2332 movl 64(%ebp),%ecx
2333 movl 96(%ebp),%esi
2334 leal 128(%ebp),%ebp
2335 subl $1,%edi
2336 jnz .L020prefetch_tbl
2337 subl $2048,%ebp
2338 movl 32(%esp),%esi
2339 movl 48(%esp),%edi
2340 cmpl $0,%edx
2341 je .L021fast_decrypt
2342 movl (%edi),%eax
2343 movl 4(%edi),%ebx
2344 .align 16
2345 .L022fast_enc_loop:
2346 movl 8(%edi),%ecx
2347 movl 12(%edi),%edx
2348 xorl (%esi),%eax
2349 xorl 4(%esi),%ebx
2350 xorl 8(%esi),%ecx
2351 xorl 12(%esi),%edx
2352 movl 44(%esp),%edi
2353 call _x86_AES_encrypt
2354 movl 32(%esp),%esi
2355 movl 36(%esp),%edi
2356 movl %eax,(%edi)
2357 movl %ebx,4(%edi)
2358 movl %ecx,8(%edi)
2359 movl %edx,12(%edi)
2360 leal 16(%esi),%esi
2361 movl 40(%esp),%ecx
2362 movl %esi,32(%esp)
2363 leal 16(%edi),%edx
2364 movl %edx,36(%esp)
2365 subl $16,%ecx
2366 movl %ecx,40(%esp)
2367 jnz .L022fast_enc_loop
2368 movl 48(%esp),%esi
2369 movl 8(%edi),%ecx
2370 movl 12(%edi),%edx
2371 movl %eax,(%esi)
2372 movl %ebx,4(%esi)
2373 movl %ecx,8(%esi)
2374 movl %edx,12(%esi)
2375 cmpl $0,316(%esp)
2376 movl 44(%esp),%edi
2377 je .L023skip_ezero
2378 movl $60,%ecx
2379 xorl %eax,%eax
2380 .align 4
2381 .long 2884892297
2382 .L023skip_ezero:
2383 movl 28(%esp),%esp
2384 popfl
2385 .L012drop_out:
2386 popl %edi
2387 popl %esi
2388 popl %ebx
2389 popl %ebp
2390 ret
2391 pushfl
2392 .align 16
2393 .L021fast_decrypt:
2394 cmpl 36(%esp),%esi
2395 je .L024fast_dec_in_place
2396 movl %edi,52(%esp)
2397 .align 4
2398 .align 16
2399 .L025fast_dec_loop:
2400 movl (%esi),%eax
2401 movl 4(%esi),%ebx
2402 movl 8(%esi),%ecx
2403 movl 12(%esi),%edx
2404 movl 44(%esp),%edi
2405 call _x86_AES_decrypt
2406 movl 52(%esp),%edi
2407 movl 40(%esp),%esi
2408 xorl (%edi),%eax
2409 xorl 4(%edi),%ebx
2410 xorl 8(%edi),%ecx
2411 xorl 12(%edi),%edx
2412 movl 36(%esp),%edi
2413 movl 32(%esp),%esi
2414 movl %eax,(%edi)
2415 movl %ebx,4(%edi)
2416 movl %ecx,8(%edi)
2417 movl %edx,12(%edi)
2418 movl 40(%esp),%ecx
2419 movl %esi,52(%esp)
2420 leal 16(%esi),%esi
2421 movl %esi,32(%esp)
2422 leal 16(%edi),%edi
2423 movl %edi,36(%esp)
2424 subl $16,%ecx
2425 movl %ecx,40(%esp)
2426 jnz .L025fast_dec_loop
2427 movl 52(%esp),%edi
2428 movl 48(%esp),%esi
2429 movl (%edi),%eax
2430 movl 4(%edi),%ebx
2431 movl 8(%edi),%ecx
2432 movl 12(%edi),%edx
2433 movl %eax,(%esi)
2434 movl %ebx,4(%esi)
2435 movl %ecx,8(%esi)
2436 movl %edx,12(%esi)
2437 jmp .L026fast_dec_out
2438 .align 16
2439 .L024fast_dec_in_place:
2440 .L027fast_dec_in_place_loop:
2441 movl (%esi),%eax
2442 movl 4(%esi),%ebx
2443 movl 8(%esi),%ecx
2444 movl 12(%esi),%edx
2445 leal 60(%esp),%edi
2446 movl %eax,(%edi)
2447 movl %ebx,4(%edi)
2448 movl %ecx,8(%edi)
2449 movl %edx,12(%edi)
2450 movl 44(%esp),%edi
2451 call _x86_AES_decrypt
2452 movl 48(%esp),%edi
2453 movl 36(%esp),%esi
2454 xorl (%edi),%eax
2455 xorl 4(%edi),%ebx
2456 xorl 8(%edi),%ecx
2457 xorl 12(%edi),%edx
2458 movl %eax,(%esi)
2459 movl %ebx,4(%esi)
2460 movl %ecx,8(%esi)
2461 movl %edx,12(%esi)
2462 leal 16(%esi),%esi
2463 movl %esi,36(%esp)
2464 leal 60(%esp),%esi
2465 movl (%esi),%eax
2466 movl 4(%esi),%ebx
2467 movl 8(%esi),%ecx
2468 movl 12(%esi),%edx
2469 movl %eax,(%edi)
2470 movl %ebx,4(%edi)
2471 movl %ecx,8(%edi)
2472 movl %edx,12(%edi)
2473 movl 32(%esp),%esi
2474 movl 40(%esp),%ecx
2475 leal 16(%esi),%esi
2476 movl %esi,32(%esp)
2477 subl $16,%ecx
2478 movl %ecx,40(%esp)
2479 jnz .L027fast_dec_in_place_loop
2480 .align 4
2481 .L026fast_dec_out:
2482 cmpl $0,316(%esp)
2483 movl 44(%esp),%edi
2484 je .L028skip_dzero
2485 movl $60,%ecx
2486 xorl %eax,%eax
2487 .align 4
2488 .long 2884892297
2489 .L028skip_dzero:
2490 movl 28(%esp),%esp
2491 popfl
2492 popl %edi
2493 popl %esi
2494 popl %ebx
2495 popl %ebp
2496 ret
2497 pushfl
2498 .align 16
2499 .L015slow_way:
2500 movl (%eax),%eax
2501 movl 36(%esp),%edi
2502 leal -80(%esp),%esi
2503 andl $-64,%esi
2504 leal -143(%edi),%ebx
2505 subl %esi,%ebx
2506 negl %ebx
2507 andl $960,%ebx
2508 subl %ebx,%esi
2509 leal 768(%esi),%ebx
2510 subl %ebp,%ebx
2511 andl $768,%ebx
2512 leal 2176(%ebp,%ebx,1),%ebp
2513 leal 24(%esp),%edx
2514 xchgl %esi,%esp
2515 addl $4,%esp
2516 movl %ebp,24(%esp)
2517 movl %esi,28(%esp)
2518 movl %eax,52(%esp)
2519 movl (%edx),%eax
2520 movl 4(%edx),%ebx
2521 movl 16(%edx),%esi
2522 movl 20(%edx),%edx
2523 movl %eax,32(%esp)
2524 movl %ebx,36(%esp)
2525 movl %ecx,40(%esp)
2526 movl %edi,44(%esp)
2527 movl %esi,48(%esp)
2528 movl %esi,%edi
2529 movl %eax,%esi
2530 cmpl $0,%edx
2531 je .L029slow_decrypt
2532 cmpl $16,%ecx
2533 movl %ebx,%edx
2534 jb .L030slow_enc_tail
2535 btl $25,52(%esp)
2536 jnc .L031slow_enc_x86
2537 movq (%edi),%mm0
2538 movq 8(%edi),%mm4
2539 .align 16
2540 .L032slow_enc_loop_sse:
2541 pxor (%esi),%mm0
2542 pxor 8(%esi),%mm4
2543 movl 44(%esp),%edi
2544 call _sse_AES_encrypt_compact
2545 movl 32(%esp),%esi
2546 movl 36(%esp),%edi
2547 movl 40(%esp),%ecx
2548 movq %mm0,(%edi)
2549 movq %mm4,8(%edi)
2550 leal 16(%esi),%esi
2551 movl %esi,32(%esp)
2552 leal 16(%edi),%edx
2553 movl %edx,36(%esp)
2554 subl $16,%ecx
2555 cmpl $16,%ecx
2556 movl %ecx,40(%esp)
2557 jae .L032slow_enc_loop_sse
2558 testl $15,%ecx
2559 jnz .L030slow_enc_tail
2560 movl 48(%esp),%esi
2561 movq %mm0,(%esi)
2562 movq %mm4,8(%esi)
2563 emms
2564 movl 28(%esp),%esp
2565 popfl
2566 popl %edi
2567 popl %esi
2568 popl %ebx
2569 popl %ebp
2570 ret
2571 pushfl
2572 .align 16
2573 .L031slow_enc_x86:
2574 movl (%edi),%eax
2575 movl 4(%edi),%ebx
2576 .align 4
2577 .L033slow_enc_loop_x86:
2578 movl 8(%edi),%ecx
2579 movl 12(%edi),%edx
2580 xorl (%esi),%eax
2581 xorl 4(%esi),%ebx
2582 xorl 8(%esi),%ecx
2583 xorl 12(%esi),%edx
2584 movl 44(%esp),%edi
2585 call _x86_AES_encrypt_compact
2586 movl 32(%esp),%esi
2587 movl 36(%esp),%edi
2588 movl %eax,(%edi)
2589 movl %ebx,4(%edi)
2590 movl %ecx,8(%edi)
2591 movl %edx,12(%edi)
2592 movl 40(%esp),%ecx
2593 leal 16(%esi),%esi
2594 movl %esi,32(%esp)
2595 leal 16(%edi),%edx
2596 movl %edx,36(%esp)
2597 subl $16,%ecx
2598 cmpl $16,%ecx
2599 movl %ecx,40(%esp)
2600 jae .L033slow_enc_loop_x86
2601 testl $15,%ecx
2602 jnz .L030slow_enc_tail
2603 movl 48(%esp),%esi
2604 movl 8(%edi),%ecx
2605 movl 12(%edi),%edx
2606 movl %eax,(%esi)
2607 movl %ebx,4(%esi)
2608 movl %ecx,8(%esi)
2609 movl %edx,12(%esi)
2610 movl 28(%esp),%esp
2611 popfl
2612 popl %edi
2613 popl %esi
2614 popl %ebx
2615 popl %ebp
2616 ret
2617 pushfl
2618 .align 16
2619 .L030slow_enc_tail:
2620 emms
2621 movl %edx,%edi
2622 movl $16,%ebx
2623 subl %ecx,%ebx
2624 cmpl %esi,%edi
2625 je .L034enc_in_place
2626 .align 4
2627 .long 2767451785
2628 jmp .L035enc_skip_in_place
2629 .L034enc_in_place:
2630 leal (%edi,%ecx,1),%edi
2631 .L035enc_skip_in_place:
2632 movl %ebx,%ecx
2633 xorl %eax,%eax
2634 .align 4
2635 .long 2868115081
2636 movl 48(%esp),%edi
2637 movl %edx,%esi
2638 movl (%edi),%eax
2639 movl 4(%edi),%ebx
2640 movl $16,40(%esp)
2641 jmp .L033slow_enc_loop_x86
2642 .align 16
2643 .L029slow_decrypt:
2644 btl $25,52(%esp)
2645 jnc .L036slow_dec_loop_x86
2646 .align 4
2647 .L037slow_dec_loop_sse:
2648 movq (%esi),%mm0
2649 movq 8(%esi),%mm4
2650 movl 44(%esp),%edi
2651 call _sse_AES_decrypt_compact
2652 movl 32(%esp),%esi
2653 leal 60(%esp),%eax
2654 movl 36(%esp),%ebx
2655 movl 40(%esp),%ecx
2656 movl 48(%esp),%edi
2657 movq (%esi),%mm1
2658 movq 8(%esi),%mm5
2659 pxor (%edi),%mm0
2660 pxor 8(%edi),%mm4
2661 movq %mm1,(%edi)
2662 movq %mm5,8(%edi)
2663 subl $16,%ecx
2664 jc .L038slow_dec_partial_sse
2665 movq %mm0,(%ebx)
2666 movq %mm4,8(%ebx)
2667 leal 16(%ebx),%ebx
2668 movl %ebx,36(%esp)
2669 leal 16(%esi),%esi
2670 movl %esi,32(%esp)
2671 movl %ecx,40(%esp)
2672 jnz .L037slow_dec_loop_sse
2673 emms
2674 movl 28(%esp),%esp
2675 popfl
2676 popl %edi
2677 popl %esi
2678 popl %ebx
2679 popl %ebp
2680 ret
2681 pushfl
2682 .align 16
2683 .L038slow_dec_partial_sse:
2684 movq %mm0,(%eax)
2685 movq %mm4,8(%eax)
2686 emms
2687 addl $16,%ecx
2688 movl %ebx,%edi
2689 movl %eax,%esi
2690 .align 4
2691 .long 2767451785
2692 movl 28(%esp),%esp
2693 popfl
2694 popl %edi
2695 popl %esi
2696 popl %ebx
2697 popl %ebp
2698 ret
2699 pushfl
2700 .align 16
2701 .L036slow_dec_loop_x86:
2702 movl (%esi),%eax
2703 movl 4(%esi),%ebx
2704 movl 8(%esi),%ecx
2705 movl 12(%esi),%edx
2706 leal 60(%esp),%edi
2707 movl %eax,(%edi)
2708 movl %ebx,4(%edi)
2709 movl %ecx,8(%edi)
2710 movl %edx,12(%edi)
2711 movl 44(%esp),%edi
2712 call _x86_AES_decrypt_compact
2713 movl 48(%esp),%edi
2714 movl 40(%esp),%esi
2715 xorl (%edi),%eax
2716 xorl 4(%edi),%ebx
2717 xorl 8(%edi),%ecx
2718 xorl 12(%edi),%edx
2719 subl $16,%esi
2720 jc .L039slow_dec_partial_x86
2721 movl %esi,40(%esp)
2722 movl 36(%esp),%esi
2723 movl %eax,(%esi)
2724 movl %ebx,4(%esi)
2725 movl %ecx,8(%esi)
2726 movl %edx,12(%esi)
2727 leal 16(%esi),%esi
2728 movl %esi,36(%esp)
2729 leal 60(%esp),%esi
2730 movl (%esi),%eax
2731 movl 4(%esi),%ebx
2732 movl 8(%esi),%ecx
2733 movl 12(%esi),%edx
2734 movl %eax,(%edi)
2735 movl %ebx,4(%edi)
2736 movl %ecx,8(%edi)
2737 movl %edx,12(%edi)
2738 movl 32(%esp),%esi
2739 leal 16(%esi),%esi
2740 movl %esi,32(%esp)
2741 jnz .L036slow_dec_loop_x86
2742 movl 28(%esp),%esp
2743 popfl
2744 popl %edi
2745 popl %esi
2746 popl %ebx
2747 popl %ebp
2748 ret
2749 pushfl
2750 .align 16
2751 .L039slow_dec_partial_x86:
2752 leal 60(%esp),%esi
2753 movl %eax,(%esi)
2754 movl %ebx,4(%esi)
2755 movl %ecx,8(%esi)
2756 movl %edx,12(%esi)
2757 movl 32(%esp),%esi
2758 movl (%esi),%eax
2759 movl 4(%esi),%ebx
2760 movl 8(%esi),%ecx
2761 movl 12(%esi),%edx
2762 movl %eax,(%edi)
2763 movl %ebx,4(%edi)
2764 movl %ecx,8(%edi)
2765 movl %edx,12(%edi)
2766 movl 40(%esp),%ecx
2767 movl 36(%esp),%edi
2768 leal 60(%esp),%esi
2769 .align 4
2770 .long 2767451785
2771 movl 28(%esp),%esp
2772 popfl
2773 popl %edi
2774 popl %esi
2775 popl %ebx
2776 popl %ebp
2777 ret
2778 .size asm_AES_cbc_encrypt,.-.L_asm_AES_cbc_encrypt_begin
2779 .hidden _x86_AES_set_encrypt_key
2780 .type _x86_AES_set_encrypt_key,@function
2781 .align 16
2782 _x86_AES_set_encrypt_key:
2783 pushl %ebp
2784 pushl %ebx
2785 pushl %esi
2786 pushl %edi
2787 movl 24(%esp),%esi
2788 movl 32(%esp),%edi
2789 testl $-1,%esi
2790 jz .L040badpointer
2791 testl $-1,%edi
2792 jz .L040badpointer
2793 call .L041pic_point
2794 .L041pic_point:
2795 popl %ebp
2796 leal .LAES_Te-.L041pic_point(%ebp),%ebp
2797 leal 2176(%ebp),%ebp
2798 movl -128(%ebp),%eax
2799 movl -96(%ebp),%ebx
2800 movl -64(%ebp),%ecx
2801 movl -32(%ebp),%edx
2802 movl (%ebp),%eax
2803 movl 32(%ebp),%ebx
2804 movl 64(%ebp),%ecx
2805 movl 96(%ebp),%edx
2806 movl 28(%esp),%ecx
2807 cmpl $128,%ecx
2808 je .L04210rounds
2809 cmpl $192,%ecx
2810 je .L04312rounds
2811 cmpl $256,%ecx
2812 je .L04414rounds
2813 movl $-2,%eax
2814 jmp .L045exit
2815 .L04210rounds:
2816 movl (%esi),%eax
2817 movl 4(%esi),%ebx
2818 movl 8(%esi),%ecx
2819 movl 12(%esi),%edx
2820 movl %eax,(%edi)
2821 movl %ebx,4(%edi)
2822 movl %ecx,8(%edi)
2823 movl %edx,12(%edi)
2824 xorl %ecx,%ecx
2825 jmp .L04610shortcut
2826 .align 4
2827 .L04710loop:
2828 movl (%edi),%eax
2829 movl 12(%edi),%edx
2830 .L04610shortcut:
2831 movzbl %dl,%esi
2832 movzbl -128(%ebp,%esi,1),%ebx
2833 movzbl %dh,%esi
2834 shll $24,%ebx
2835 xorl %ebx,%eax
2836 movzbl -128(%ebp,%esi,1),%ebx
2837 shrl $16,%edx
2838 movzbl %dl,%esi
2839 xorl %ebx,%eax
2840 movzbl -128(%ebp,%esi,1),%ebx
2841 movzbl %dh,%esi
2842 shll $8,%ebx
2843 xorl %ebx,%eax
2844 movzbl -128(%ebp,%esi,1),%ebx
2845 shll $16,%ebx
2846 xorl %ebx,%eax
2847 xorl 896(%ebp,%ecx,4),%eax
2848 movl %eax,16(%edi)
2849 xorl 4(%edi),%eax
2850 movl %eax,20(%edi)
2851 xorl 8(%edi),%eax
2852 movl %eax,24(%edi)
2853 xorl 12(%edi),%eax
2854 movl %eax,28(%edi)
2855 incl %ecx
2856 addl $16,%edi
2857 cmpl $10,%ecx
2858 jl .L04710loop
2859 movl $10,80(%edi)
2860 xorl %eax,%eax
2861 jmp .L045exit
2862 .L04312rounds:
2863 movl (%esi),%eax
2864 movl 4(%esi),%ebx
2865 movl 8(%esi),%ecx
2866 movl 12(%esi),%edx
2867 movl %eax,(%edi)
2868 movl %ebx,4(%edi)
2869 movl %ecx,8(%edi)
2870 movl %edx,12(%edi)
2871 movl 16(%esi),%ecx
2872 movl 20(%esi),%edx
2873 movl %ecx,16(%edi)
2874 movl %edx,20(%edi)
2875 xorl %ecx,%ecx
2876 jmp .L04812shortcut
2877 .align 4
2878 .L04912loop:
2879 movl (%edi),%eax
2880 movl 20(%edi),%edx
2881 .L04812shortcut:
2882 movzbl %dl,%esi
2883 movzbl -128(%ebp,%esi,1),%ebx
2884 movzbl %dh,%esi
2885 shll $24,%ebx
2886 xorl %ebx,%eax
2887 movzbl -128(%ebp,%esi,1),%ebx
2888 shrl $16,%edx
2889 movzbl %dl,%esi
2890 xorl %ebx,%eax
2891 movzbl -128(%ebp,%esi,1),%ebx
2892 movzbl %dh,%esi
2893 shll $8,%ebx
2894 xorl %ebx,%eax
2895 movzbl -128(%ebp,%esi,1),%ebx
2896 shll $16,%ebx
2897 xorl %ebx,%eax
2898 xorl 896(%ebp,%ecx,4),%eax
2899 movl %eax,24(%edi)
2900 xorl 4(%edi),%eax
2901 movl %eax,28(%edi)
2902 xorl 8(%edi),%eax
2903 movl %eax,32(%edi)
2904 xorl 12(%edi),%eax
2905 movl %eax,36(%edi)
2906 cmpl $7,%ecx
2907 je .L05012break
2908 incl %ecx
2909 xorl 16(%edi),%eax
2910 movl %eax,40(%edi)
2911 xorl 20(%edi),%eax
2912 movl %eax,44(%edi)
2913 addl $24,%edi
2914 jmp .L04912loop
2915 .L05012break:
2916 movl $12,72(%edi)
2917 xorl %eax,%eax
2918 jmp .L045exit
2919 .L04414rounds:
2920 movl (%esi),%eax
2921 movl 4(%esi),%ebx
2922 movl 8(%esi),%ecx
2923 movl 12(%esi),%edx
2924 movl %eax,(%edi)
2925 movl %ebx,4(%edi)
2926 movl %ecx,8(%edi)
2927 movl %edx,12(%edi)
2928 movl 16(%esi),%eax
2929 movl 20(%esi),%ebx
2930 movl 24(%esi),%ecx
2931 movl 28(%esi),%edx
2932 movl %eax,16(%edi)
2933 movl %ebx,20(%edi)
2934 movl %ecx,24(%edi)
2935 movl %edx,28(%edi)
2936 xorl %ecx,%ecx
2937 jmp .L05114shortcut
2938 .align 4
2939 .L05214loop:
2940 movl 28(%edi),%edx
2941 .L05114shortcut:
2942 movl (%edi),%eax
2943 movzbl %dl,%esi
2944 movzbl -128(%ebp,%esi,1),%ebx
2945 movzbl %dh,%esi
2946 shll $24,%ebx
2947 xorl %ebx,%eax
2948 movzbl -128(%ebp,%esi,1),%ebx
2949 shrl $16,%edx
2950 movzbl %dl,%esi
2951 xorl %ebx,%eax
2952 movzbl -128(%ebp,%esi,1),%ebx
2953 movzbl %dh,%esi
2954 shll $8,%ebx
2955 xorl %ebx,%eax
2956 movzbl -128(%ebp,%esi,1),%ebx
2957 shll $16,%ebx
2958 xorl %ebx,%eax
2959 xorl 896(%ebp,%ecx,4),%eax
2960 movl %eax,32(%edi)
2961 xorl 4(%edi),%eax
2962 movl %eax,36(%edi)
2963 xorl 8(%edi),%eax
2964 movl %eax,40(%edi)
2965 xorl 12(%edi),%eax
2966 movl %eax,44(%edi)
2967 cmpl $6,%ecx
2968 je .L05314break
2969 incl %ecx
2970 movl %eax,%edx
2971 movl 16(%edi),%eax
2972 movzbl %dl,%esi
2973 movzbl -128(%ebp,%esi,1),%ebx
2974 movzbl %dh,%esi
2975 xorl %ebx,%eax
2976 movzbl -128(%ebp,%esi,1),%ebx
2977 shrl $16,%edx
2978 shll $8,%ebx
2979 movzbl %dl,%esi
2980 xorl %ebx,%eax
2981 movzbl -128(%ebp,%esi,1),%ebx
2982 movzbl %dh,%esi
2983 shll $16,%ebx
2984 xorl %ebx,%eax
2985 movzbl -128(%ebp,%esi,1),%ebx
2986 shll $24,%ebx
2987 xorl %ebx,%eax
2988 movl %eax,48(%edi)
2989 xorl 20(%edi),%eax
2990 movl %eax,52(%edi)
2991 xorl 24(%edi),%eax
2992 movl %eax,56(%edi)
2993 xorl 28(%edi),%eax
2994 movl %eax,60(%edi)
2995 addl $32,%edi
2996 jmp .L05214loop
2997 .L05314break:
2998 movl $14,48(%edi)
2999 xorl %eax,%eax
3000 jmp .L045exit
3001 .L040badpointer:
3002 movl $-1,%eax
3003 .L045exit:
3004 popl %edi
3005 popl %esi
3006 popl %ebx
3007 popl %ebp
3008 ret
3009 .size _x86_AES_set_encrypt_key,.-_x86_AES_set_encrypt_key
3010 .globl asm_AES_set_encrypt_key
3011 .hidden asm_AES_set_encrypt_key
3012 .type asm_AES_set_encrypt_key,@function
3013 .align 16
3014 asm_AES_set_encrypt_key:
3015 .L_asm_AES_set_encrypt_key_begin:
3016 call _x86_AES_set_encrypt_key
3017 ret
3018 .size asm_AES_set_encrypt_key,.-.L_asm_AES_set_encrypt_key_begin
3019 .globl asm_AES_set_decrypt_key
3020 .hidden asm_AES_set_decrypt_key
3021 .type asm_AES_set_decrypt_key,@function
3022 .align 16
3023 asm_AES_set_decrypt_key:
3024 .L_asm_AES_set_decrypt_key_begin:
3025 call _x86_AES_set_encrypt_key
3026 cmpl $0,%eax
3027 je .L054proceed
3028 ret
3029 .L054proceed:
3030 pushl %ebp
3031 pushl %ebx
3032 pushl %esi
3033 pushl %edi
3034 movl 28(%esp),%esi
3035 movl 240(%esi),%ecx
3036 leal (,%ecx,4),%ecx
3037 leal (%esi,%ecx,4),%edi
3038 .align 4
3039 .L055invert:
3040 movl (%esi),%eax
3041 movl 4(%esi),%ebx
3042 movl (%edi),%ecx
3043 movl 4(%edi),%edx
3044 movl %eax,(%edi)
3045 movl %ebx,4(%edi)
3046 movl %ecx,(%esi)
3047 movl %edx,4(%esi)
3048 movl 8(%esi),%eax
3049 movl 12(%esi),%ebx
3050 movl 8(%edi),%ecx
3051 movl 12(%edi),%edx
3052 movl %eax,8(%edi)
3053 movl %ebx,12(%edi)
3054 movl %ecx,8(%esi)
3055 movl %edx,12(%esi)
3056 addl $16,%esi
3057 subl $16,%edi
3058 cmpl %edi,%esi
3059 jne .L055invert
3060 movl 28(%esp),%edi
3061 movl 240(%edi),%esi
3062 leal -2(%esi,%esi,1),%esi
3063 leal (%edi,%esi,8),%esi
3064 movl %esi,28(%esp)
3065 movl 16(%edi),%eax
3066 .align 4
3067 .L056permute:
3068 addl $16,%edi
3069 movl $2155905152,%ebp
3070 andl %eax,%ebp
3071 leal (%eax,%eax,1),%ebx
3072 movl %ebp,%esi
3073 shrl $7,%ebp
3074 subl %ebp,%esi
3075 andl $4278124286,%ebx
3076 andl $454761243,%esi
3077 xorl %esi,%ebx
3078 movl $2155905152,%ebp
3079 andl %ebx,%ebp
3080 leal (%ebx,%ebx,1),%ecx
3081 movl %ebp,%esi
3082 shrl $7,%ebp
3083 subl %ebp,%esi
3084 andl $4278124286,%ecx
3085 andl $454761243,%esi
3086 xorl %eax,%ebx
3087 xorl %esi,%ecx
3088 movl $2155905152,%ebp
3089 andl %ecx,%ebp
3090 leal (%ecx,%ecx,1),%edx
3091 movl %ebp,%esi
3092 shrl $7,%ebp
3093 xorl %eax,%ecx
3094 subl %ebp,%esi
3095 andl $4278124286,%edx
3096 andl $454761243,%esi
3097 roll $8,%eax
3098 xorl %esi,%edx
3099 movl 4(%edi),%ebp
3100 xorl %ebx,%eax
3101 xorl %edx,%ebx
3102 xorl %ecx,%eax
3103 roll $24,%ebx
3104 xorl %edx,%ecx
3105 xorl %edx,%eax
3106 roll $16,%ecx
3107 xorl %ebx,%eax
3108 roll $8,%edx
3109 xorl %ecx,%eax
3110 movl %ebp,%ebx
3111 xorl %edx,%eax
3112 movl %eax,(%edi)
3113 movl $2155905152,%ebp
3114 andl %ebx,%ebp
3115 leal (%ebx,%ebx,1),%ecx
3116 movl %ebp,%esi
3117 shrl $7,%ebp
3118 subl %ebp,%esi
3119 andl $4278124286,%ecx
3120 andl $454761243,%esi
3121 xorl %esi,%ecx
3122 movl $2155905152,%ebp
3123 andl %ecx,%ebp
3124 leal (%ecx,%ecx,1),%edx
3125 movl %ebp,%esi
3126 shrl $7,%ebp
3127 subl %ebp,%esi
3128 andl $4278124286,%edx
3129 andl $454761243,%esi
3130 xorl %ebx,%ecx
3131 xorl %esi,%edx
3132 movl $2155905152,%ebp
3133 andl %edx,%ebp
3134 leal (%edx,%edx,1),%eax
3135 movl %ebp,%esi
3136 shrl $7,%ebp
3137 xorl %ebx,%edx
3138 subl %ebp,%esi
3139 andl $4278124286,%eax
3140 andl $454761243,%esi
3141 roll $8,%ebx
3142 xorl %esi,%eax
3143 movl 8(%edi),%ebp
3144 xorl %ecx,%ebx
3145 xorl %eax,%ecx
3146 xorl %edx,%ebx
3147 roll $24,%ecx
3148 xorl %eax,%edx
3149 xorl %eax,%ebx
3150 roll $16,%edx
3151 xorl %ecx,%ebx
3152 roll $8,%eax
3153 xorl %edx,%ebx
3154 movl %ebp,%ecx
3155 xorl %eax,%ebx
3156 movl %ebx,4(%edi)
3157 movl $2155905152,%ebp
3158 andl %ecx,%ebp
3159 leal (%ecx,%ecx,1),%edx
3160 movl %ebp,%esi
3161 shrl $7,%ebp
3162 subl %ebp,%esi
3163 andl $4278124286,%edx
3164 andl $454761243,%esi
3165 xorl %esi,%edx
3166 movl $2155905152,%ebp
3167 andl %edx,%ebp
3168 leal (%edx,%edx,1),%eax
3169 movl %ebp,%esi
3170 shrl $7,%ebp
3171 subl %ebp,%esi
3172 andl $4278124286,%eax
3173 andl $454761243,%esi
3174 xorl %ecx,%edx
3175 xorl %esi,%eax
3176 movl $2155905152,%ebp
3177 andl %eax,%ebp
3178 leal (%eax,%eax,1),%ebx
3179 movl %ebp,%esi
3180 shrl $7,%ebp
3181 xorl %ecx,%eax
3182 subl %ebp,%esi
3183 andl $4278124286,%ebx
3184 andl $454761243,%esi
3185 roll $8,%ecx
3186 xorl %esi,%ebx
3187 movl 12(%edi),%ebp
3188 xorl %edx,%ecx
3189 xorl %ebx,%edx
3190 xorl %eax,%ecx
3191 roll $24,%edx
3192 xorl %ebx,%eax
3193 xorl %ebx,%ecx
3194 roll $16,%eax
3195 xorl %edx,%ecx
3196 roll $8,%ebx
3197 xorl %eax,%ecx
3198 movl %ebp,%edx
3199 xorl %ebx,%ecx
3200 movl %ecx,8(%edi)
3201 movl $2155905152,%ebp
3202 andl %edx,%ebp
3203 leal (%edx,%edx,1),%eax
3204 movl %ebp,%esi
3205 shrl $7,%ebp
3206 subl %ebp,%esi
3207 andl $4278124286,%eax
3208 andl $454761243,%esi
3209 xorl %esi,%eax
3210 movl $2155905152,%ebp
3211 andl %eax,%ebp
3212 leal (%eax,%eax,1),%ebx
3213 movl %ebp,%esi
3214 shrl $7,%ebp
3215 subl %ebp,%esi
3216 andl $4278124286,%ebx
3217 andl $454761243,%esi
3218 xorl %edx,%eax
3219 xorl %esi,%ebx
3220 movl $2155905152,%ebp
3221 andl %ebx,%ebp
3222 leal (%ebx,%ebx,1),%ecx
3223 movl %ebp,%esi
3224 shrl $7,%ebp
3225 xorl %edx,%ebx
3226 subl %ebp,%esi
3227 andl $4278124286,%ecx
3228 andl $454761243,%esi
3229 roll $8,%edx
3230 xorl %esi,%ecx
3231 movl 16(%edi),%ebp
3232 xorl %eax,%edx
3233 xorl %ecx,%eax
3234 xorl %ebx,%edx
3235 roll $24,%eax
3236 xorl %ecx,%ebx
3237 xorl %ecx,%edx
3238 roll $16,%ebx
3239 xorl %eax,%edx
3240 roll $8,%ecx
3241 xorl %ebx,%edx
3242 movl %ebp,%eax
3243 xorl %ecx,%edx
3244 movl %edx,12(%edi)
3245 cmpl 28(%esp),%edi
3246 jb .L056permute
3247 xorl %eax,%eax
3248 popl %edi
3249 popl %esi
3250 popl %ebx
3251 popl %ebp
3252 ret
3253 .size asm_AES_set_decrypt_key,.-.L_asm_AES_set_decrypt_key_begin
3254 .byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89
3255 .byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114
3256 .byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
3257 #endif
OLDNEW
« no previous file with comments | « third_party/boringssl/linux-arm/crypto/sha/sha512-armv4.S ('k') | third_party/boringssl/linux-x86/crypto/aes/aesni-x86.S » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698