VirtualBox

source: vbox/trunk/src/libs/openssl-3.1.3/crypto/genasm-macosx/aes-x86_64.S@ 102427

Last change on this file since 102427 was 94083, checked in by vboxsync, 3 years ago

libs/openssl-3.0.1: Recreate asm files, bugref:10128

File size: 53.8 KB
Line 
1.text
2
3.p2align 4
4_x86_64_AES_encrypt:
5
6 xorl 0(%r15),%eax
7 xorl 4(%r15),%ebx
8 xorl 8(%r15),%ecx
9 xorl 12(%r15),%edx
10
11 movl 240(%r15),%r13d
12 subl $1,%r13d
13 jmp L$enc_loop
14.p2align 4
15L$enc_loop:
16
17 movzbl %al,%esi
18 movzbl %bl,%edi
19 movzbl %cl,%ebp
20 movl 0(%r14,%rsi,8),%r10d
21 movl 0(%r14,%rdi,8),%r11d
22 movl 0(%r14,%rbp,8),%r12d
23
24 movzbl %bh,%esi
25 movzbl %ch,%edi
26 movzbl %dl,%ebp
27 xorl 3(%r14,%rsi,8),%r10d
28 xorl 3(%r14,%rdi,8),%r11d
29 movl 0(%r14,%rbp,8),%r8d
30
31 movzbl %dh,%esi
32 shrl $16,%ecx
33 movzbl %ah,%ebp
34 xorl 3(%r14,%rsi,8),%r12d
35 shrl $16,%edx
36 xorl 3(%r14,%rbp,8),%r8d
37
38 shrl $16,%ebx
39 leaq 16(%r15),%r15
40 shrl $16,%eax
41
42 movzbl %cl,%esi
43 movzbl %dl,%edi
44 movzbl %al,%ebp
45 xorl 2(%r14,%rsi,8),%r10d
46 xorl 2(%r14,%rdi,8),%r11d
47 xorl 2(%r14,%rbp,8),%r12d
48
49 movzbl %dh,%esi
50 movzbl %ah,%edi
51 movzbl %bl,%ebp
52 xorl 1(%r14,%rsi,8),%r10d
53 xorl 1(%r14,%rdi,8),%r11d
54 xorl 2(%r14,%rbp,8),%r8d
55
56 movl 12(%r15),%edx
57 movzbl %bh,%edi
58 movzbl %ch,%ebp
59 movl 0(%r15),%eax
60 xorl 1(%r14,%rdi,8),%r12d
61 xorl 1(%r14,%rbp,8),%r8d
62
63 movl 4(%r15),%ebx
64 movl 8(%r15),%ecx
65 xorl %r10d,%eax
66 xorl %r11d,%ebx
67 xorl %r12d,%ecx
68 xorl %r8d,%edx
69 subl $1,%r13d
70 jnz L$enc_loop
71 movzbl %al,%esi
72 movzbl %bl,%edi
73 movzbl %cl,%ebp
74 movzbl 2(%r14,%rsi,8),%r10d
75 movzbl 2(%r14,%rdi,8),%r11d
76 movzbl 2(%r14,%rbp,8),%r12d
77
78 movzbl %dl,%esi
79 movzbl %bh,%edi
80 movzbl %ch,%ebp
81 movzbl 2(%r14,%rsi,8),%r8d
82 movl 0(%r14,%rdi,8),%edi
83 movl 0(%r14,%rbp,8),%ebp
84
85 andl $0x0000ff00,%edi
86 andl $0x0000ff00,%ebp
87
88 xorl %edi,%r10d
89 xorl %ebp,%r11d
90 shrl $16,%ecx
91
92 movzbl %dh,%esi
93 movzbl %ah,%edi
94 shrl $16,%edx
95 movl 0(%r14,%rsi,8),%esi
96 movl 0(%r14,%rdi,8),%edi
97
98 andl $0x0000ff00,%esi
99 andl $0x0000ff00,%edi
100 shrl $16,%ebx
101 xorl %esi,%r12d
102 xorl %edi,%r8d
103 shrl $16,%eax
104
105 movzbl %cl,%esi
106 movzbl %dl,%edi
107 movzbl %al,%ebp
108 movl 0(%r14,%rsi,8),%esi
109 movl 0(%r14,%rdi,8),%edi
110 movl 0(%r14,%rbp,8),%ebp
111
112 andl $0x00ff0000,%esi
113 andl $0x00ff0000,%edi
114 andl $0x00ff0000,%ebp
115
116 xorl %esi,%r10d
117 xorl %edi,%r11d
118 xorl %ebp,%r12d
119
120 movzbl %bl,%esi
121 movzbl %dh,%edi
122 movzbl %ah,%ebp
123 movl 0(%r14,%rsi,8),%esi
124 movl 2(%r14,%rdi,8),%edi
125 movl 2(%r14,%rbp,8),%ebp
126
127 andl $0x00ff0000,%esi
128 andl $0xff000000,%edi
129 andl $0xff000000,%ebp
130
131 xorl %esi,%r8d
132 xorl %edi,%r10d
133 xorl %ebp,%r11d
134
135 movzbl %bh,%esi
136 movzbl %ch,%edi
137 movl 16+12(%r15),%edx
138 movl 2(%r14,%rsi,8),%esi
139 movl 2(%r14,%rdi,8),%edi
140 movl 16+0(%r15),%eax
141
142 andl $0xff000000,%esi
143 andl $0xff000000,%edi
144
145 xorl %esi,%r12d
146 xorl %edi,%r8d
147
148 movl 16+4(%r15),%ebx
149 movl 16+8(%r15),%ecx
150 xorl %r10d,%eax
151 xorl %r11d,%ebx
152 xorl %r12d,%ecx
153 xorl %r8d,%edx
154.byte 0xf3,0xc3
155
156
157
158.p2align 4
159_x86_64_AES_encrypt_compact:
160
161 leaq 128(%r14),%r8
162 movl 0-128(%r8),%edi
163 movl 32-128(%r8),%ebp
164 movl 64-128(%r8),%r10d
165 movl 96-128(%r8),%r11d
166 movl 128-128(%r8),%edi
167 movl 160-128(%r8),%ebp
168 movl 192-128(%r8),%r10d
169 movl 224-128(%r8),%r11d
170 jmp L$enc_loop_compact
171.p2align 4
172L$enc_loop_compact:
173 xorl 0(%r15),%eax
174 xorl 4(%r15),%ebx
175 xorl 8(%r15),%ecx
176 xorl 12(%r15),%edx
177 leaq 16(%r15),%r15
178 movzbl %al,%r10d
179 movzbl %bl,%r11d
180 movzbl %cl,%r12d
181 movzbl %dl,%r8d
182 movzbl %bh,%esi
183 movzbl %ch,%edi
184 shrl $16,%ecx
185 movzbl %dh,%ebp
186 movzbl (%r14,%r10,1),%r10d
187 movzbl (%r14,%r11,1),%r11d
188 movzbl (%r14,%r12,1),%r12d
189 movzbl (%r14,%r8,1),%r8d
190
191 movzbl (%r14,%rsi,1),%r9d
192 movzbl %ah,%esi
193 movzbl (%r14,%rdi,1),%r13d
194 movzbl %cl,%edi
195 movzbl (%r14,%rbp,1),%ebp
196 movzbl (%r14,%rsi,1),%esi
197
198 shll $8,%r9d
199 shrl $16,%edx
200 shll $8,%r13d
201 xorl %r9d,%r10d
202 shrl $16,%eax
203 movzbl %dl,%r9d
204 shrl $16,%ebx
205 xorl %r13d,%r11d
206 shll $8,%ebp
207 movzbl %al,%r13d
208 movzbl (%r14,%rdi,1),%edi
209 xorl %ebp,%r12d
210
211 shll $8,%esi
212 movzbl %bl,%ebp
213 shll $16,%edi
214 xorl %esi,%r8d
215 movzbl (%r14,%r9,1),%r9d
216 movzbl %dh,%esi
217 movzbl (%r14,%r13,1),%r13d
218 xorl %edi,%r10d
219
220 shrl $8,%ecx
221 movzbl %ah,%edi
222 shll $16,%r9d
223 shrl $8,%ebx
224 shll $16,%r13d
225 xorl %r9d,%r11d
226 movzbl (%r14,%rbp,1),%ebp
227 movzbl (%r14,%rsi,1),%esi
228 movzbl (%r14,%rdi,1),%edi
229 movzbl (%r14,%rcx,1),%edx
230 movzbl (%r14,%rbx,1),%ecx
231
232 shll $16,%ebp
233 xorl %r13d,%r12d
234 shll $24,%esi
235 xorl %ebp,%r8d
236 shll $24,%edi
237 xorl %esi,%r10d
238 shll $24,%edx
239 xorl %edi,%r11d
240 shll $24,%ecx
241 movl %r10d,%eax
242 movl %r11d,%ebx
243 xorl %r12d,%ecx
244 xorl %r8d,%edx
245 cmpq 16(%rsp),%r15
246 je L$enc_compact_done
247 movl $0x80808080,%r10d
248 movl $0x80808080,%r11d
249 andl %eax,%r10d
250 andl %ebx,%r11d
251 movl %r10d,%esi
252 movl %r11d,%edi
253 shrl $7,%r10d
254 leal (%rax,%rax,1),%r8d
255 shrl $7,%r11d
256 leal (%rbx,%rbx,1),%r9d
257 subl %r10d,%esi
258 subl %r11d,%edi
259 andl $0xfefefefe,%r8d
260 andl $0xfefefefe,%r9d
261 andl $0x1b1b1b1b,%esi
262 andl $0x1b1b1b1b,%edi
263 movl %eax,%r10d
264 movl %ebx,%r11d
265 xorl %esi,%r8d
266 xorl %edi,%r9d
267
268 xorl %r8d,%eax
269 xorl %r9d,%ebx
270 movl $0x80808080,%r12d
271 roll $24,%eax
272 movl $0x80808080,%ebp
273 roll $24,%ebx
274 andl %ecx,%r12d
275 andl %edx,%ebp
276 xorl %r8d,%eax
277 xorl %r9d,%ebx
278 movl %r12d,%esi
279 rorl $16,%r10d
280 movl %ebp,%edi
281 rorl $16,%r11d
282 leal (%rcx,%rcx,1),%r8d
283 shrl $7,%r12d
284 xorl %r10d,%eax
285 shrl $7,%ebp
286 xorl %r11d,%ebx
287 rorl $8,%r10d
288 leal (%rdx,%rdx,1),%r9d
289 rorl $8,%r11d
290 subl %r12d,%esi
291 subl %ebp,%edi
292 xorl %r10d,%eax
293 xorl %r11d,%ebx
294
295 andl $0xfefefefe,%r8d
296 andl $0xfefefefe,%r9d
297 andl $0x1b1b1b1b,%esi
298 andl $0x1b1b1b1b,%edi
299 movl %ecx,%r12d
300 movl %edx,%ebp
301 xorl %esi,%r8d
302 xorl %edi,%r9d
303
304 rorl $16,%r12d
305 xorl %r8d,%ecx
306 rorl $16,%ebp
307 xorl %r9d,%edx
308 roll $24,%ecx
309 movl 0(%r14),%esi
310 roll $24,%edx
311 xorl %r8d,%ecx
312 movl 64(%r14),%edi
313 xorl %r9d,%edx
314 movl 128(%r14),%r8d
315 xorl %r12d,%ecx
316 rorl $8,%r12d
317 xorl %ebp,%edx
318 rorl $8,%ebp
319 xorl %r12d,%ecx
320 movl 192(%r14),%r9d
321 xorl %ebp,%edx
322 jmp L$enc_loop_compact
323.p2align 4
324L$enc_compact_done:
325 xorl 0(%r15),%eax
326 xorl 4(%r15),%ebx
327 xorl 8(%r15),%ecx
328 xorl 12(%r15),%edx
329.byte 0xf3,0xc3
330
331
332.globl _AES_encrypt
333
334.p2align 4
335.globl _asm_AES_encrypt
336.private_extern _asm_AES_encrypt
337_asm_AES_encrypt:
338_AES_encrypt:
339
340.byte 243,15,30,250
341 movq %rsp,%rax
342
343 pushq %rbx
344
345 pushq %rbp
346
347 pushq %r12
348
349 pushq %r13
350
351 pushq %r14
352
353 pushq %r15
354
355
356
357 leaq -63(%rdx),%rcx
358 andq $-64,%rsp
359 subq %rsp,%rcx
360 negq %rcx
361 andq $0x3c0,%rcx
362 subq %rcx,%rsp
363 subq $32,%rsp
364
365 movq %rsi,16(%rsp)
366 movq %rax,24(%rsp)
367
368L$enc_prologue:
369
370 movq %rdx,%r15
371 movl 240(%r15),%r13d
372
373 movl 0(%rdi),%eax
374 movl 4(%rdi),%ebx
375 movl 8(%rdi),%ecx
376 movl 12(%rdi),%edx
377
378 shll $4,%r13d
379 leaq (%r15,%r13,1),%rbp
380 movq %r15,(%rsp)
381 movq %rbp,8(%rsp)
382
383
384 leaq L$AES_Te+2048(%rip),%r14
385 leaq 768(%rsp),%rbp
386 subq %r14,%rbp
387 andq $0x300,%rbp
388 leaq (%r14,%rbp,1),%r14
389
390 call _x86_64_AES_encrypt_compact
391
392 movq 16(%rsp),%r9
393 movq 24(%rsp),%rsi
394
395 movl %eax,0(%r9)
396 movl %ebx,4(%r9)
397 movl %ecx,8(%r9)
398 movl %edx,12(%r9)
399
400 movq -48(%rsi),%r15
401
402 movq -40(%rsi),%r14
403
404 movq -32(%rsi),%r13
405
406 movq -24(%rsi),%r12
407
408 movq -16(%rsi),%rbp
409
410 movq -8(%rsi),%rbx
411
412 leaq (%rsi),%rsp
413
414L$enc_epilogue:
415 .byte 0xf3,0xc3
416
417
418
419.p2align 4
420_x86_64_AES_decrypt:
421
422 xorl 0(%r15),%eax
423 xorl 4(%r15),%ebx
424 xorl 8(%r15),%ecx
425 xorl 12(%r15),%edx
426
427 movl 240(%r15),%r13d
428 subl $1,%r13d
429 jmp L$dec_loop
430.p2align 4
431L$dec_loop:
432
433 movzbl %al,%esi
434 movzbl %bl,%edi
435 movzbl %cl,%ebp
436 movl 0(%r14,%rsi,8),%r10d
437 movl 0(%r14,%rdi,8),%r11d
438 movl 0(%r14,%rbp,8),%r12d
439
440 movzbl %dh,%esi
441 movzbl %ah,%edi
442 movzbl %dl,%ebp
443 xorl 3(%r14,%rsi,8),%r10d
444 xorl 3(%r14,%rdi,8),%r11d
445 movl 0(%r14,%rbp,8),%r8d
446
447 movzbl %bh,%esi
448 shrl $16,%eax
449 movzbl %ch,%ebp
450 xorl 3(%r14,%rsi,8),%r12d
451 shrl $16,%edx
452 xorl 3(%r14,%rbp,8),%r8d
453
454 shrl $16,%ebx
455 leaq 16(%r15),%r15
456 shrl $16,%ecx
457
458 movzbl %cl,%esi
459 movzbl %dl,%edi
460 movzbl %al,%ebp
461 xorl 2(%r14,%rsi,8),%r10d
462 xorl 2(%r14,%rdi,8),%r11d
463 xorl 2(%r14,%rbp,8),%r12d
464
465 movzbl %bh,%esi
466 movzbl %ch,%edi
467 movzbl %bl,%ebp
468 xorl 1(%r14,%rsi,8),%r10d
469 xorl 1(%r14,%rdi,8),%r11d
470 xorl 2(%r14,%rbp,8),%r8d
471
472 movzbl %dh,%esi
473 movl 12(%r15),%edx
474 movzbl %ah,%ebp
475 xorl 1(%r14,%rsi,8),%r12d
476 movl 0(%r15),%eax
477 xorl 1(%r14,%rbp,8),%r8d
478
479 xorl %r10d,%eax
480 movl 4(%r15),%ebx
481 movl 8(%r15),%ecx
482 xorl %r12d,%ecx
483 xorl %r11d,%ebx
484 xorl %r8d,%edx
485 subl $1,%r13d
486 jnz L$dec_loop
487 leaq 2048(%r14),%r14
488 movzbl %al,%esi
489 movzbl %bl,%edi
490 movzbl %cl,%ebp
491 movzbl (%r14,%rsi,1),%r10d
492 movzbl (%r14,%rdi,1),%r11d
493 movzbl (%r14,%rbp,1),%r12d
494
495 movzbl %dl,%esi
496 movzbl %dh,%edi
497 movzbl %ah,%ebp
498 movzbl (%r14,%rsi,1),%r8d
499 movzbl (%r14,%rdi,1),%edi
500 movzbl (%r14,%rbp,1),%ebp
501
502 shll $8,%edi
503 shll $8,%ebp
504
505 xorl %edi,%r10d
506 xorl %ebp,%r11d
507 shrl $16,%edx
508
509 movzbl %bh,%esi
510 movzbl %ch,%edi
511 shrl $16,%eax
512 movzbl (%r14,%rsi,1),%esi
513 movzbl (%r14,%rdi,1),%edi
514
515 shll $8,%esi
516 shll $8,%edi
517 shrl $16,%ebx
518 xorl %esi,%r12d
519 xorl %edi,%r8d
520 shrl $16,%ecx
521
522 movzbl %cl,%esi
523 movzbl %dl,%edi
524 movzbl %al,%ebp
525 movzbl (%r14,%rsi,1),%esi
526 movzbl (%r14,%rdi,1),%edi
527 movzbl (%r14,%rbp,1),%ebp
528
529 shll $16,%esi
530 shll $16,%edi
531 shll $16,%ebp
532
533 xorl %esi,%r10d
534 xorl %edi,%r11d
535 xorl %ebp,%r12d
536
537 movzbl %bl,%esi
538 movzbl %bh,%edi
539 movzbl %ch,%ebp
540 movzbl (%r14,%rsi,1),%esi
541 movzbl (%r14,%rdi,1),%edi
542 movzbl (%r14,%rbp,1),%ebp
543
544 shll $16,%esi
545 shll $24,%edi
546 shll $24,%ebp
547
548 xorl %esi,%r8d
549 xorl %edi,%r10d
550 xorl %ebp,%r11d
551
552 movzbl %dh,%esi
553 movzbl %ah,%edi
554 movl 16+12(%r15),%edx
555 movzbl (%r14,%rsi,1),%esi
556 movzbl (%r14,%rdi,1),%edi
557 movl 16+0(%r15),%eax
558
559 shll $24,%esi
560 shll $24,%edi
561
562 xorl %esi,%r12d
563 xorl %edi,%r8d
564
565 movl 16+4(%r15),%ebx
566 movl 16+8(%r15),%ecx
567 leaq -2048(%r14),%r14
568 xorl %r10d,%eax
569 xorl %r11d,%ebx
570 xorl %r12d,%ecx
571 xorl %r8d,%edx
572.byte 0xf3,0xc3
573
574
575
576.p2align 4
577_x86_64_AES_decrypt_compact:
578
579 leaq 128(%r14),%r8
580 movl 0-128(%r8),%edi
581 movl 32-128(%r8),%ebp
582 movl 64-128(%r8),%r10d
583 movl 96-128(%r8),%r11d
584 movl 128-128(%r8),%edi
585 movl 160-128(%r8),%ebp
586 movl 192-128(%r8),%r10d
587 movl 224-128(%r8),%r11d
588 jmp L$dec_loop_compact
589
590.p2align 4
591L$dec_loop_compact:
592 xorl 0(%r15),%eax
593 xorl 4(%r15),%ebx
594 xorl 8(%r15),%ecx
595 xorl 12(%r15),%edx
596 leaq 16(%r15),%r15
597 movzbl %al,%r10d
598 movzbl %bl,%r11d
599 movzbl %cl,%r12d
600 movzbl %dl,%r8d
601 movzbl %dh,%esi
602 movzbl %ah,%edi
603 shrl $16,%edx
604 movzbl %bh,%ebp
605 movzbl (%r14,%r10,1),%r10d
606 movzbl (%r14,%r11,1),%r11d
607 movzbl (%r14,%r12,1),%r12d
608 movzbl (%r14,%r8,1),%r8d
609
610 movzbl (%r14,%rsi,1),%r9d
611 movzbl %ch,%esi
612 movzbl (%r14,%rdi,1),%r13d
613 movzbl (%r14,%rbp,1),%ebp
614 movzbl (%r14,%rsi,1),%esi
615
616 shrl $16,%ecx
617 shll $8,%r13d
618 shll $8,%r9d
619 movzbl %cl,%edi
620 shrl $16,%eax
621 xorl %r9d,%r10d
622 shrl $16,%ebx
623 movzbl %dl,%r9d
624
625 shll $8,%ebp
626 xorl %r13d,%r11d
627 shll $8,%esi
628 movzbl %al,%r13d
629 movzbl (%r14,%rdi,1),%edi
630 xorl %ebp,%r12d
631 movzbl %bl,%ebp
632
633 shll $16,%edi
634 xorl %esi,%r8d
635 movzbl (%r14,%r9,1),%r9d
636 movzbl %bh,%esi
637 movzbl (%r14,%rbp,1),%ebp
638 xorl %edi,%r10d
639 movzbl (%r14,%r13,1),%r13d
640 movzbl %ch,%edi
641
642 shll $16,%ebp
643 shll $16,%r9d
644 shll $16,%r13d
645 xorl %ebp,%r8d
646 movzbl %dh,%ebp
647 xorl %r9d,%r11d
648 shrl $8,%eax
649 xorl %r13d,%r12d
650
651 movzbl (%r14,%rsi,1),%esi
652 movzbl (%r14,%rdi,1),%ebx
653 movzbl (%r14,%rbp,1),%ecx
654 movzbl (%r14,%rax,1),%edx
655
656 movl %r10d,%eax
657 shll $24,%esi
658 shll $24,%ebx
659 shll $24,%ecx
660 xorl %esi,%eax
661 shll $24,%edx
662 xorl %r11d,%ebx
663 xorl %r12d,%ecx
664 xorl %r8d,%edx
665 cmpq 16(%rsp),%r15
666 je L$dec_compact_done
667
668 movq 256+0(%r14),%rsi
669 shlq $32,%rbx
670 shlq $32,%rdx
671 movq 256+8(%r14),%rdi
672 orq %rbx,%rax
673 orq %rdx,%rcx
674 movq 256+16(%r14),%rbp
675 movq %rsi,%r9
676 movq %rsi,%r12
677 andq %rax,%r9
678 andq %rcx,%r12
679 movq %r9,%rbx
680 movq %r12,%rdx
681 shrq $7,%r9
682 leaq (%rax,%rax,1),%r8
683 shrq $7,%r12
684 leaq (%rcx,%rcx,1),%r11
685 subq %r9,%rbx
686 subq %r12,%rdx
687 andq %rdi,%r8
688 andq %rdi,%r11
689 andq %rbp,%rbx
690 andq %rbp,%rdx
691 xorq %rbx,%r8
692 xorq %rdx,%r11
693 movq %rsi,%r10
694 movq %rsi,%r13
695
696 andq %r8,%r10
697 andq %r11,%r13
698 movq %r10,%rbx
699 movq %r13,%rdx
700 shrq $7,%r10
701 leaq (%r8,%r8,1),%r9
702 shrq $7,%r13
703 leaq (%r11,%r11,1),%r12
704 subq %r10,%rbx
705 subq %r13,%rdx
706 andq %rdi,%r9
707 andq %rdi,%r12
708 andq %rbp,%rbx
709 andq %rbp,%rdx
710 xorq %rbx,%r9
711 xorq %rdx,%r12
712 movq %rsi,%r10
713 movq %rsi,%r13
714
715 andq %r9,%r10
716 andq %r12,%r13
717 movq %r10,%rbx
718 movq %r13,%rdx
719 shrq $7,%r10
720 xorq %rax,%r8
721 shrq $7,%r13
722 xorq %rcx,%r11
723 subq %r10,%rbx
724 subq %r13,%rdx
725 leaq (%r9,%r9,1),%r10
726 leaq (%r12,%r12,1),%r13
727 xorq %rax,%r9
728 xorq %rcx,%r12
729 andq %rdi,%r10
730 andq %rdi,%r13
731 andq %rbp,%rbx
732 andq %rbp,%rdx
733 xorq %rbx,%r10
734 xorq %rdx,%r13
735
736 xorq %r10,%rax
737 xorq %r13,%rcx
738 xorq %r10,%r8
739 xorq %r13,%r11
740 movq %rax,%rbx
741 movq %rcx,%rdx
742 xorq %r10,%r9
743 shrq $32,%rbx
744 xorq %r13,%r12
745 shrq $32,%rdx
746 xorq %r8,%r10
747 roll $8,%eax
748 xorq %r11,%r13
749 roll $8,%ecx
750 xorq %r9,%r10
751 roll $8,%ebx
752 xorq %r12,%r13
753
754 roll $8,%edx
755 xorl %r10d,%eax
756 shrq $32,%r10
757 xorl %r13d,%ecx
758 shrq $32,%r13
759 xorl %r10d,%ebx
760 xorl %r13d,%edx
761
762 movq %r8,%r10
763 roll $24,%r8d
764 movq %r11,%r13
765 roll $24,%r11d
766 shrq $32,%r10
767 xorl %r8d,%eax
768 shrq $32,%r13
769 xorl %r11d,%ecx
770 roll $24,%r10d
771 movq %r9,%r8
772 roll $24,%r13d
773 movq %r12,%r11
774 shrq $32,%r8
775 xorl %r10d,%ebx
776 shrq $32,%r11
777 xorl %r13d,%edx
778
779 movq 0(%r14),%rsi
780 roll $16,%r9d
781 movq 64(%r14),%rdi
782 roll $16,%r12d
783 movq 128(%r14),%rbp
784 roll $16,%r8d
785 movq 192(%r14),%r10
786 xorl %r9d,%eax
787 roll $16,%r11d
788 xorl %r12d,%ecx
789 movq 256(%r14),%r13
790 xorl %r8d,%ebx
791 xorl %r11d,%edx
792 jmp L$dec_loop_compact
793.p2align 4
794L$dec_compact_done:
795 xorl 0(%r15),%eax
796 xorl 4(%r15),%ebx
797 xorl 8(%r15),%ecx
798 xorl 12(%r15),%edx
799.byte 0xf3,0xc3
800
801
802.globl _AES_decrypt
803
804.p2align 4
805.globl _asm_AES_decrypt
806.private_extern _asm_AES_decrypt
807_asm_AES_decrypt:
808_AES_decrypt:
809
810.byte 243,15,30,250
811 movq %rsp,%rax
812
813 pushq %rbx
814
815 pushq %rbp
816
817 pushq %r12
818
819 pushq %r13
820
821 pushq %r14
822
823 pushq %r15
824
825
826
827 leaq -63(%rdx),%rcx
828 andq $-64,%rsp
829 subq %rsp,%rcx
830 negq %rcx
831 andq $0x3c0,%rcx
832 subq %rcx,%rsp
833 subq $32,%rsp
834
835 movq %rsi,16(%rsp)
836 movq %rax,24(%rsp)
837
838L$dec_prologue:
839
840 movq %rdx,%r15
841 movl 240(%r15),%r13d
842
843 movl 0(%rdi),%eax
844 movl 4(%rdi),%ebx
845 movl 8(%rdi),%ecx
846 movl 12(%rdi),%edx
847
848 shll $4,%r13d
849 leaq (%r15,%r13,1),%rbp
850 movq %r15,(%rsp)
851 movq %rbp,8(%rsp)
852
853
854 leaq L$AES_Td+2048(%rip),%r14
855 leaq 768(%rsp),%rbp
856 subq %r14,%rbp
857 andq $0x300,%rbp
858 leaq (%r14,%rbp,1),%r14
859 shrq $3,%rbp
860 addq %rbp,%r14
861
862 call _x86_64_AES_decrypt_compact
863
864 movq 16(%rsp),%r9
865 movq 24(%rsp),%rsi
866
867 movl %eax,0(%r9)
868 movl %ebx,4(%r9)
869 movl %ecx,8(%r9)
870 movl %edx,12(%r9)
871
872 movq -48(%rsi),%r15
873
874 movq -40(%rsi),%r14
875
876 movq -32(%rsi),%r13
877
878 movq -24(%rsi),%r12
879
880 movq -16(%rsi),%rbp
881
882 movq -8(%rsi),%rbx
883
884 leaq (%rsi),%rsp
885
886L$dec_epilogue:
887 .byte 0xf3,0xc3
888
889
890.globl _AES_set_encrypt_key
891
892.p2align 4
893_AES_set_encrypt_key:
894
895.byte 243,15,30,250
896 pushq %rbx
897
898 pushq %rbp
899
900 pushq %r12
901
902 pushq %r13
903
904 pushq %r14
905
906 pushq %r15
907
908 subq $8,%rsp
909
910L$enc_key_prologue:
911
912 call _x86_64_AES_set_encrypt_key
913
914 movq 40(%rsp),%rbp
915
916 movq 48(%rsp),%rbx
917
918 addq $56,%rsp
919
920L$enc_key_epilogue:
921 .byte 0xf3,0xc3
922
923
924
925
926.p2align 4
927_x86_64_AES_set_encrypt_key:
928
929 movl %esi,%ecx
930 movq %rdi,%rsi
931 movq %rdx,%rdi
932
933 testq $-1,%rsi
934 jz L$badpointer
935 testq $-1,%rdi
936 jz L$badpointer
937
938 leaq L$AES_Te(%rip),%rbp
939 leaq 2048+128(%rbp),%rbp
940
941
942 movl 0-128(%rbp),%eax
943 movl 32-128(%rbp),%ebx
944 movl 64-128(%rbp),%r8d
945 movl 96-128(%rbp),%edx
946 movl 128-128(%rbp),%eax
947 movl 160-128(%rbp),%ebx
948 movl 192-128(%rbp),%r8d
949 movl 224-128(%rbp),%edx
950
951 cmpl $128,%ecx
952 je L$10rounds
953 cmpl $192,%ecx
954 je L$12rounds
955 cmpl $256,%ecx
956 je L$14rounds
957 movq $-2,%rax
958 jmp L$exit
959
960L$10rounds:
961 movq 0(%rsi),%rax
962 movq 8(%rsi),%rdx
963 movq %rax,0(%rdi)
964 movq %rdx,8(%rdi)
965
966 shrq $32,%rdx
967 xorl %ecx,%ecx
968 jmp L$10shortcut
969.p2align 2
970L$10loop:
971 movl 0(%rdi),%eax
972 movl 12(%rdi),%edx
973L$10shortcut:
974 movzbl %dl,%esi
975 movzbl -128(%rbp,%rsi,1),%ebx
976 movzbl %dh,%esi
977 shll $24,%ebx
978 xorl %ebx,%eax
979
980 movzbl -128(%rbp,%rsi,1),%ebx
981 shrl $16,%edx
982 movzbl %dl,%esi
983 xorl %ebx,%eax
984
985 movzbl -128(%rbp,%rsi,1),%ebx
986 movzbl %dh,%esi
987 shll $8,%ebx
988 xorl %ebx,%eax
989
990 movzbl -128(%rbp,%rsi,1),%ebx
991 shll $16,%ebx
992 xorl %ebx,%eax
993
994 xorl 1024-128(%rbp,%rcx,4),%eax
995 movl %eax,16(%rdi)
996 xorl 4(%rdi),%eax
997 movl %eax,20(%rdi)
998 xorl 8(%rdi),%eax
999 movl %eax,24(%rdi)
1000 xorl 12(%rdi),%eax
1001 movl %eax,28(%rdi)
1002 addl $1,%ecx
1003 leaq 16(%rdi),%rdi
1004 cmpl $10,%ecx
1005 jl L$10loop
1006
1007 movl $10,80(%rdi)
1008 xorq %rax,%rax
1009 jmp L$exit
1010
1011L$12rounds:
1012 movq 0(%rsi),%rax
1013 movq 8(%rsi),%rbx
1014 movq 16(%rsi),%rdx
1015 movq %rax,0(%rdi)
1016 movq %rbx,8(%rdi)
1017 movq %rdx,16(%rdi)
1018
1019 shrq $32,%rdx
1020 xorl %ecx,%ecx
1021 jmp L$12shortcut
1022.p2align 2
1023L$12loop:
1024 movl 0(%rdi),%eax
1025 movl 20(%rdi),%edx
1026L$12shortcut:
1027 movzbl %dl,%esi
1028 movzbl -128(%rbp,%rsi,1),%ebx
1029 movzbl %dh,%esi
1030 shll $24,%ebx
1031 xorl %ebx,%eax
1032
1033 movzbl -128(%rbp,%rsi,1),%ebx
1034 shrl $16,%edx
1035 movzbl %dl,%esi
1036 xorl %ebx,%eax
1037
1038 movzbl -128(%rbp,%rsi,1),%ebx
1039 movzbl %dh,%esi
1040 shll $8,%ebx
1041 xorl %ebx,%eax
1042
1043 movzbl -128(%rbp,%rsi,1),%ebx
1044 shll $16,%ebx
1045 xorl %ebx,%eax
1046
1047 xorl 1024-128(%rbp,%rcx,4),%eax
1048 movl %eax,24(%rdi)
1049 xorl 4(%rdi),%eax
1050 movl %eax,28(%rdi)
1051 xorl 8(%rdi),%eax
1052 movl %eax,32(%rdi)
1053 xorl 12(%rdi),%eax
1054 movl %eax,36(%rdi)
1055
1056 cmpl $7,%ecx
1057 je L$12break
1058 addl $1,%ecx
1059
1060 xorl 16(%rdi),%eax
1061 movl %eax,40(%rdi)
1062 xorl 20(%rdi),%eax
1063 movl %eax,44(%rdi)
1064
1065 leaq 24(%rdi),%rdi
1066 jmp L$12loop
1067L$12break:
1068 movl $12,72(%rdi)
1069 xorq %rax,%rax
1070 jmp L$exit
1071
1072L$14rounds:
1073 movq 0(%rsi),%rax
1074 movq 8(%rsi),%rbx
1075 movq 16(%rsi),%rcx
1076 movq 24(%rsi),%rdx
1077 movq %rax,0(%rdi)
1078 movq %rbx,8(%rdi)
1079 movq %rcx,16(%rdi)
1080 movq %rdx,24(%rdi)
1081
1082 shrq $32,%rdx
1083 xorl %ecx,%ecx
1084 jmp L$14shortcut
1085.p2align 2
1086L$14loop:
1087 movl 0(%rdi),%eax
1088 movl 28(%rdi),%edx
1089L$14shortcut:
1090 movzbl %dl,%esi
1091 movzbl -128(%rbp,%rsi,1),%ebx
1092 movzbl %dh,%esi
1093 shll $24,%ebx
1094 xorl %ebx,%eax
1095
1096 movzbl -128(%rbp,%rsi,1),%ebx
1097 shrl $16,%edx
1098 movzbl %dl,%esi
1099 xorl %ebx,%eax
1100
1101 movzbl -128(%rbp,%rsi,1),%ebx
1102 movzbl %dh,%esi
1103 shll $8,%ebx
1104 xorl %ebx,%eax
1105
1106 movzbl -128(%rbp,%rsi,1),%ebx
1107 shll $16,%ebx
1108 xorl %ebx,%eax
1109
1110 xorl 1024-128(%rbp,%rcx,4),%eax
1111 movl %eax,32(%rdi)
1112 xorl 4(%rdi),%eax
1113 movl %eax,36(%rdi)
1114 xorl 8(%rdi),%eax
1115 movl %eax,40(%rdi)
1116 xorl 12(%rdi),%eax
1117 movl %eax,44(%rdi)
1118
1119 cmpl $6,%ecx
1120 je L$14break
1121 addl $1,%ecx
1122
1123 movl %eax,%edx
1124 movl 16(%rdi),%eax
1125 movzbl %dl,%esi
1126 movzbl -128(%rbp,%rsi,1),%ebx
1127 movzbl %dh,%esi
1128 xorl %ebx,%eax
1129
1130 movzbl -128(%rbp,%rsi,1),%ebx
1131 shrl $16,%edx
1132 shll $8,%ebx
1133 movzbl %dl,%esi
1134 xorl %ebx,%eax
1135
1136 movzbl -128(%rbp,%rsi,1),%ebx
1137 movzbl %dh,%esi
1138 shll $16,%ebx
1139 xorl %ebx,%eax
1140
1141 movzbl -128(%rbp,%rsi,1),%ebx
1142 shll $24,%ebx
1143 xorl %ebx,%eax
1144
1145 movl %eax,48(%rdi)
1146 xorl 20(%rdi),%eax
1147 movl %eax,52(%rdi)
1148 xorl 24(%rdi),%eax
1149 movl %eax,56(%rdi)
1150 xorl 28(%rdi),%eax
1151 movl %eax,60(%rdi)
1152
1153 leaq 32(%rdi),%rdi
1154 jmp L$14loop
1155L$14break:
1156 movl $14,48(%rdi)
1157 xorq %rax,%rax
1158 jmp L$exit
1159
1160L$badpointer:
1161 movq $-1,%rax
1162L$exit:
1163.byte 0xf3,0xc3
1164
1165
1166.globl _AES_set_decrypt_key
1167
1168.p2align 4
1169_AES_set_decrypt_key:
1170
1171.byte 243,15,30,250
1172 pushq %rbx
1173
1174 pushq %rbp
1175
1176 pushq %r12
1177
1178 pushq %r13
1179
1180 pushq %r14
1181
1182 pushq %r15
1183
1184 pushq %rdx
1185
1186L$dec_key_prologue:
1187
1188 call _x86_64_AES_set_encrypt_key
1189 movq (%rsp),%r8
1190 cmpl $0,%eax
1191 jne L$abort
1192
1193 movl 240(%r8),%r14d
1194 xorq %rdi,%rdi
1195 leaq (%rdi,%r14,4),%rcx
1196 movq %r8,%rsi
1197 leaq (%r8,%rcx,4),%rdi
1198.p2align 2
1199L$invert:
1200 movq 0(%rsi),%rax
1201 movq 8(%rsi),%rbx
1202 movq 0(%rdi),%rcx
1203 movq 8(%rdi),%rdx
1204 movq %rax,0(%rdi)
1205 movq %rbx,8(%rdi)
1206 movq %rcx,0(%rsi)
1207 movq %rdx,8(%rsi)
1208 leaq 16(%rsi),%rsi
1209 leaq -16(%rdi),%rdi
1210 cmpq %rsi,%rdi
1211 jne L$invert
1212
1213 leaq L$AES_Te+2048+1024(%rip),%rax
1214
1215 movq 40(%rax),%rsi
1216 movq 48(%rax),%rdi
1217 movq 56(%rax),%rbp
1218
1219 movq %r8,%r15
1220 subl $1,%r14d
1221.p2align 2
1222L$permute:
1223 leaq 16(%r15),%r15
1224 movq 0(%r15),%rax
1225 movq 8(%r15),%rcx
1226 movq %rsi,%r9
1227 movq %rsi,%r12
1228 andq %rax,%r9
1229 andq %rcx,%r12
1230 movq %r9,%rbx
1231 movq %r12,%rdx
1232 shrq $7,%r9
1233 leaq (%rax,%rax,1),%r8
1234 shrq $7,%r12
1235 leaq (%rcx,%rcx,1),%r11
1236 subq %r9,%rbx
1237 subq %r12,%rdx
1238 andq %rdi,%r8
1239 andq %rdi,%r11
1240 andq %rbp,%rbx
1241 andq %rbp,%rdx
1242 xorq %rbx,%r8
1243 xorq %rdx,%r11
1244 movq %rsi,%r10
1245 movq %rsi,%r13
1246
1247 andq %r8,%r10
1248 andq %r11,%r13
1249 movq %r10,%rbx
1250 movq %r13,%rdx
1251 shrq $7,%r10
1252 leaq (%r8,%r8,1),%r9
1253 shrq $7,%r13
1254 leaq (%r11,%r11,1),%r12
1255 subq %r10,%rbx
1256 subq %r13,%rdx
1257 andq %rdi,%r9
1258 andq %rdi,%r12
1259 andq %rbp,%rbx
1260 andq %rbp,%rdx
1261 xorq %rbx,%r9
1262 xorq %rdx,%r12
1263 movq %rsi,%r10
1264 movq %rsi,%r13
1265
1266 andq %r9,%r10
1267 andq %r12,%r13
1268 movq %r10,%rbx
1269 movq %r13,%rdx
1270 shrq $7,%r10
1271 xorq %rax,%r8
1272 shrq $7,%r13
1273 xorq %rcx,%r11
1274 subq %r10,%rbx
1275 subq %r13,%rdx
1276 leaq (%r9,%r9,1),%r10
1277 leaq (%r12,%r12,1),%r13
1278 xorq %rax,%r9
1279 xorq %rcx,%r12
1280 andq %rdi,%r10
1281 andq %rdi,%r13
1282 andq %rbp,%rbx
1283 andq %rbp,%rdx
1284 xorq %rbx,%r10
1285 xorq %rdx,%r13
1286
1287 xorq %r10,%rax
1288 xorq %r13,%rcx
1289 xorq %r10,%r8
1290 xorq %r13,%r11
1291 movq %rax,%rbx
1292 movq %rcx,%rdx
1293 xorq %r10,%r9
1294 shrq $32,%rbx
1295 xorq %r13,%r12
1296 shrq $32,%rdx
1297 xorq %r8,%r10
1298 roll $8,%eax
1299 xorq %r11,%r13
1300 roll $8,%ecx
1301 xorq %r9,%r10
1302 roll $8,%ebx
1303 xorq %r12,%r13
1304
1305 roll $8,%edx
1306 xorl %r10d,%eax
1307 shrq $32,%r10
1308 xorl %r13d,%ecx
1309 shrq $32,%r13
1310 xorl %r10d,%ebx
1311 xorl %r13d,%edx
1312
1313 movq %r8,%r10
1314 roll $24,%r8d
1315 movq %r11,%r13
1316 roll $24,%r11d
1317 shrq $32,%r10
1318 xorl %r8d,%eax
1319 shrq $32,%r13
1320 xorl %r11d,%ecx
1321 roll $24,%r10d
1322 movq %r9,%r8
1323 roll $24,%r13d
1324 movq %r12,%r11
1325 shrq $32,%r8
1326 xorl %r10d,%ebx
1327 shrq $32,%r11
1328 xorl %r13d,%edx
1329
1330
1331 roll $16,%r9d
1332
1333 roll $16,%r12d
1334
1335 roll $16,%r8d
1336
1337 xorl %r9d,%eax
1338 roll $16,%r11d
1339 xorl %r12d,%ecx
1340
1341 xorl %r8d,%ebx
1342 xorl %r11d,%edx
1343 movl %eax,0(%r15)
1344 movl %ebx,4(%r15)
1345 movl %ecx,8(%r15)
1346 movl %edx,12(%r15)
1347 subl $1,%r14d
1348 jnz L$permute
1349
1350 xorq %rax,%rax
1351L$abort:
1352 movq 8(%rsp),%r15
1353
1354 movq 16(%rsp),%r14
1355
1356 movq 24(%rsp),%r13
1357
1358 movq 32(%rsp),%r12
1359
1360 movq 40(%rsp),%rbp
1361
1362 movq 48(%rsp),%rbx
1363
1364 addq $56,%rsp
1365
1366L$dec_key_epilogue:
1367 .byte 0xf3,0xc3
1368
1369
1370.globl _AES_cbc_encrypt
1371
1372.p2align 4
1373
1374.globl _asm_AES_cbc_encrypt
1375.private_extern _asm_AES_cbc_encrypt
1376_asm_AES_cbc_encrypt:
1377_AES_cbc_encrypt:
1378
1379.byte 243,15,30,250
1380 cmpq $0,%rdx
1381 je L$cbc_epilogue
1382 pushfq
1383
1384
1385
1386 pushq %rbx
1387
1388 pushq %rbp
1389
1390 pushq %r12
1391
1392 pushq %r13
1393
1394 pushq %r14
1395
1396 pushq %r15
1397
1398L$cbc_prologue:
1399
1400 cld
1401 movl %r9d,%r9d
1402
1403 leaq L$AES_Te(%rip),%r14
1404 leaq L$AES_Td(%rip),%r10
1405 cmpq $0,%r9
1406 cmoveq %r10,%r14
1407
1408
1409 movl _OPENSSL_ia32cap_P(%rip),%r10d
1410 cmpq $512,%rdx
1411 jb L$cbc_slow_prologue
1412 testq $15,%rdx
1413 jnz L$cbc_slow_prologue
1414 btl $28,%r10d
1415 jc L$cbc_slow_prologue
1416
1417
1418 leaq -88-248(%rsp),%r15
1419 andq $-64,%r15
1420
1421
1422 movq %r14,%r10
1423 leaq 2304(%r14),%r11
1424 movq %r15,%r12
1425 andq $0xFFF,%r10
1426 andq $0xFFF,%r11
1427 andq $0xFFF,%r12
1428
1429 cmpq %r11,%r12
1430 jb L$cbc_te_break_out
1431 subq %r11,%r12
1432 subq %r12,%r15
1433 jmp L$cbc_te_ok
1434L$cbc_te_break_out:
1435 subq %r10,%r12
1436 andq $0xFFF,%r12
1437 addq $320,%r12
1438 subq %r12,%r15
1439.p2align 2
1440L$cbc_te_ok:
1441
1442 xchgq %rsp,%r15
1443
1444
1445 movq %r15,16(%rsp)
1446
1447L$cbc_fast_body:
1448 movq %rdi,24(%rsp)
1449 movq %rsi,32(%rsp)
1450 movq %rdx,40(%rsp)
1451 movq %rcx,48(%rsp)
1452 movq %r8,56(%rsp)
1453 movl $0,80+240(%rsp)
1454 movq %r8,%rbp
1455 movq %r9,%rbx
1456 movq %rsi,%r9
1457 movq %rdi,%r8
1458 movq %rcx,%r15
1459
1460 movl 240(%r15),%eax
1461
1462 movq %r15,%r10
1463 subq %r14,%r10
1464 andq $0xfff,%r10
1465 cmpq $2304,%r10
1466 jb L$cbc_do_ecopy
1467 cmpq $4096-248,%r10
1468 jb L$cbc_skip_ecopy
1469.p2align 2
1470L$cbc_do_ecopy:
1471 movq %r15,%rsi
1472 leaq 80(%rsp),%rdi
1473 leaq 80(%rsp),%r15
1474 movl $30,%ecx
1475.long 0x90A548F3
1476 movl %eax,(%rdi)
1477L$cbc_skip_ecopy:
1478 movq %r15,0(%rsp)
1479
1480 movl $18,%ecx
1481.p2align 2
1482L$cbc_prefetch_te:
1483 movq 0(%r14),%r10
1484 movq 32(%r14),%r11
1485 movq 64(%r14),%r12
1486 movq 96(%r14),%r13
1487 leaq 128(%r14),%r14
1488 subl $1,%ecx
1489 jnz L$cbc_prefetch_te
1490 leaq -2304(%r14),%r14
1491
1492 cmpq $0,%rbx
1493 je L$FAST_DECRYPT
1494
1495
1496 movl 0(%rbp),%eax
1497 movl 4(%rbp),%ebx
1498 movl 8(%rbp),%ecx
1499 movl 12(%rbp),%edx
1500
1501.p2align 2
1502L$cbc_fast_enc_loop:
1503 xorl 0(%r8),%eax
1504 xorl 4(%r8),%ebx
1505 xorl 8(%r8),%ecx
1506 xorl 12(%r8),%edx
1507 movq 0(%rsp),%r15
1508 movq %r8,24(%rsp)
1509
1510 call _x86_64_AES_encrypt
1511
1512 movq 24(%rsp),%r8
1513 movq 40(%rsp),%r10
1514 movl %eax,0(%r9)
1515 movl %ebx,4(%r9)
1516 movl %ecx,8(%r9)
1517 movl %edx,12(%r9)
1518
1519 leaq 16(%r8),%r8
1520 leaq 16(%r9),%r9
1521 subq $16,%r10
1522 testq $-16,%r10
1523 movq %r10,40(%rsp)
1524 jnz L$cbc_fast_enc_loop
1525 movq 56(%rsp),%rbp
1526 movl %eax,0(%rbp)
1527 movl %ebx,4(%rbp)
1528 movl %ecx,8(%rbp)
1529 movl %edx,12(%rbp)
1530
1531 jmp L$cbc_fast_cleanup
1532
1533
1534.p2align 4
1535L$FAST_DECRYPT:
1536 cmpq %r8,%r9
1537 je L$cbc_fast_dec_in_place
1538
1539 movq %rbp,64(%rsp)
1540.p2align 2
1541L$cbc_fast_dec_loop:
1542 movl 0(%r8),%eax
1543 movl 4(%r8),%ebx
1544 movl 8(%r8),%ecx
1545 movl 12(%r8),%edx
1546 movq 0(%rsp),%r15
1547 movq %r8,24(%rsp)
1548
1549 call _x86_64_AES_decrypt
1550
1551 movq 64(%rsp),%rbp
1552 movq 24(%rsp),%r8
1553 movq 40(%rsp),%r10
1554 xorl 0(%rbp),%eax
1555 xorl 4(%rbp),%ebx
1556 xorl 8(%rbp),%ecx
1557 xorl 12(%rbp),%edx
1558 movq %r8,%rbp
1559
1560 subq $16,%r10
1561 movq %r10,40(%rsp)
1562 movq %rbp,64(%rsp)
1563
1564 movl %eax,0(%r9)
1565 movl %ebx,4(%r9)
1566 movl %ecx,8(%r9)
1567 movl %edx,12(%r9)
1568
1569 leaq 16(%r8),%r8
1570 leaq 16(%r9),%r9
1571 jnz L$cbc_fast_dec_loop
1572 movq 56(%rsp),%r12
1573 movq 0(%rbp),%r10
1574 movq 8(%rbp),%r11
1575 movq %r10,0(%r12)
1576 movq %r11,8(%r12)
1577 jmp L$cbc_fast_cleanup
1578
1579.p2align 4
1580L$cbc_fast_dec_in_place:
1581 movq 0(%rbp),%r10
1582 movq 8(%rbp),%r11
1583 movq %r10,0+64(%rsp)
1584 movq %r11,8+64(%rsp)
1585.p2align 2
1586L$cbc_fast_dec_in_place_loop:
1587 movl 0(%r8),%eax
1588 movl 4(%r8),%ebx
1589 movl 8(%r8),%ecx
1590 movl 12(%r8),%edx
1591 movq 0(%rsp),%r15
1592 movq %r8,24(%rsp)
1593
1594 call _x86_64_AES_decrypt
1595
1596 movq 24(%rsp),%r8
1597 movq 40(%rsp),%r10
1598 xorl 0+64(%rsp),%eax
1599 xorl 4+64(%rsp),%ebx
1600 xorl 8+64(%rsp),%ecx
1601 xorl 12+64(%rsp),%edx
1602
1603 movq 0(%r8),%r11
1604 movq 8(%r8),%r12
1605 subq $16,%r10
1606 jz L$cbc_fast_dec_in_place_done
1607
1608 movq %r11,0+64(%rsp)
1609 movq %r12,8+64(%rsp)
1610
1611 movl %eax,0(%r9)
1612 movl %ebx,4(%r9)
1613 movl %ecx,8(%r9)
1614 movl %edx,12(%r9)
1615
1616 leaq 16(%r8),%r8
1617 leaq 16(%r9),%r9
1618 movq %r10,40(%rsp)
1619 jmp L$cbc_fast_dec_in_place_loop
1620L$cbc_fast_dec_in_place_done:
1621 movq 56(%rsp),%rdi
1622 movq %r11,0(%rdi)
1623 movq %r12,8(%rdi)
1624
1625 movl %eax,0(%r9)
1626 movl %ebx,4(%r9)
1627 movl %ecx,8(%r9)
1628 movl %edx,12(%r9)
1629
1630.p2align 2
1631L$cbc_fast_cleanup:
1632 cmpl $0,80+240(%rsp)
1633 leaq 80(%rsp),%rdi
1634 je L$cbc_exit
1635 movl $30,%ecx
1636 xorq %rax,%rax
1637.long 0x90AB48F3
1638
1639 jmp L$cbc_exit
1640
1641
1642.p2align 4
1643L$cbc_slow_prologue:
1644
1645
1646 leaq -88(%rsp),%rbp
1647 andq $-64,%rbp
1648
1649 leaq -88-63(%rcx),%r10
1650 subq %rbp,%r10
1651 negq %r10
1652 andq $0x3c0,%r10
1653 subq %r10,%rbp
1654
1655 xchgq %rsp,%rbp
1656
1657
1658 movq %rbp,16(%rsp)
1659
1660L$cbc_slow_body:
1661
1662
1663
1664
1665 movq %r8,56(%rsp)
1666 movq %r8,%rbp
1667 movq %r9,%rbx
1668 movq %rsi,%r9
1669 movq %rdi,%r8
1670 movq %rcx,%r15
1671 movq %rdx,%r10
1672
1673 movl 240(%r15),%eax
1674 movq %r15,0(%rsp)
1675 shll $4,%eax
1676 leaq (%r15,%rax,1),%rax
1677 movq %rax,8(%rsp)
1678
1679
1680 leaq 2048(%r14),%r14
1681 leaq 768-8(%rsp),%rax
1682 subq %r14,%rax
1683 andq $0x300,%rax
1684 leaq (%r14,%rax,1),%r14
1685
1686 cmpq $0,%rbx
1687 je L$SLOW_DECRYPT
1688
1689
1690 testq $-16,%r10
1691 movl 0(%rbp),%eax
1692 movl 4(%rbp),%ebx
1693 movl 8(%rbp),%ecx
1694 movl 12(%rbp),%edx
1695 jz L$cbc_slow_enc_tail
1696
1697.p2align 2
1698L$cbc_slow_enc_loop:
1699 xorl 0(%r8),%eax
1700 xorl 4(%r8),%ebx
1701 xorl 8(%r8),%ecx
1702 xorl 12(%r8),%edx
1703 movq 0(%rsp),%r15
1704 movq %r8,24(%rsp)
1705 movq %r9,32(%rsp)
1706 movq %r10,40(%rsp)
1707
1708 call _x86_64_AES_encrypt_compact
1709
1710 movq 24(%rsp),%r8
1711 movq 32(%rsp),%r9
1712 movq 40(%rsp),%r10
1713 movl %eax,0(%r9)
1714 movl %ebx,4(%r9)
1715 movl %ecx,8(%r9)
1716 movl %edx,12(%r9)
1717
1718 leaq 16(%r8),%r8
1719 leaq 16(%r9),%r9
1720 subq $16,%r10
1721 testq $-16,%r10
1722 jnz L$cbc_slow_enc_loop
1723 testq $15,%r10
1724 jnz L$cbc_slow_enc_tail
1725 movq 56(%rsp),%rbp
1726 movl %eax,0(%rbp)
1727 movl %ebx,4(%rbp)
1728 movl %ecx,8(%rbp)
1729 movl %edx,12(%rbp)
1730
1731 jmp L$cbc_exit
1732
1733.p2align 2
1734L$cbc_slow_enc_tail:
1735 movq %rax,%r11
1736 movq %rcx,%r12
1737 movq %r10,%rcx
1738 movq %r8,%rsi
1739 movq %r9,%rdi
1740.long 0x9066A4F3
1741 movq $16,%rcx
1742 subq %r10,%rcx
1743 xorq %rax,%rax
1744.long 0x9066AAF3
1745 movq %r9,%r8
1746 movq $16,%r10
1747 movq %r11,%rax
1748 movq %r12,%rcx
1749 jmp L$cbc_slow_enc_loop
1750
1751.p2align 4
1752L$SLOW_DECRYPT:
1753 shrq $3,%rax
1754 addq %rax,%r14
1755
1756 movq 0(%rbp),%r11
1757 movq 8(%rbp),%r12
1758 movq %r11,0+64(%rsp)
1759 movq %r12,8+64(%rsp)
1760
1761.p2align 2
1762L$cbc_slow_dec_loop:
1763 movl 0(%r8),%eax
1764 movl 4(%r8),%ebx
1765 movl 8(%r8),%ecx
1766 movl 12(%r8),%edx
1767 movq 0(%rsp),%r15
1768 movq %r8,24(%rsp)
1769 movq %r9,32(%rsp)
1770 movq %r10,40(%rsp)
1771
1772 call _x86_64_AES_decrypt_compact
1773
1774 movq 24(%rsp),%r8
1775 movq 32(%rsp),%r9
1776 movq 40(%rsp),%r10
1777 xorl 0+64(%rsp),%eax
1778 xorl 4+64(%rsp),%ebx
1779 xorl 8+64(%rsp),%ecx
1780 xorl 12+64(%rsp),%edx
1781
1782 movq 0(%r8),%r11
1783 movq 8(%r8),%r12
1784 subq $16,%r10
1785 jc L$cbc_slow_dec_partial
1786 jz L$cbc_slow_dec_done
1787
1788 movq %r11,0+64(%rsp)
1789 movq %r12,8+64(%rsp)
1790
1791 movl %eax,0(%r9)
1792 movl %ebx,4(%r9)
1793 movl %ecx,8(%r9)
1794 movl %edx,12(%r9)
1795
1796 leaq 16(%r8),%r8
1797 leaq 16(%r9),%r9
1798 jmp L$cbc_slow_dec_loop
1799L$cbc_slow_dec_done:
1800 movq 56(%rsp),%rdi
1801 movq %r11,0(%rdi)
1802 movq %r12,8(%rdi)
1803
1804 movl %eax,0(%r9)
1805 movl %ebx,4(%r9)
1806 movl %ecx,8(%r9)
1807 movl %edx,12(%r9)
1808
1809 jmp L$cbc_exit
1810
1811.p2align 2
1812L$cbc_slow_dec_partial:
1813 movq 56(%rsp),%rdi
1814 movq %r11,0(%rdi)
1815 movq %r12,8(%rdi)
1816
1817 movl %eax,0+64(%rsp)
1818 movl %ebx,4+64(%rsp)
1819 movl %ecx,8+64(%rsp)
1820 movl %edx,12+64(%rsp)
1821
1822 movq %r9,%rdi
1823 leaq 64(%rsp),%rsi
1824 leaq 16(%r10),%rcx
1825.long 0x9066A4F3
1826 jmp L$cbc_exit
1827
1828.p2align 4
1829L$cbc_exit:
1830 movq 16(%rsp),%rsi
1831
1832 movq (%rsi),%r15
1833
1834 movq 8(%rsi),%r14
1835
1836 movq 16(%rsi),%r13
1837
1838 movq 24(%rsi),%r12
1839
1840 movq 32(%rsi),%rbp
1841
1842 movq 40(%rsi),%rbx
1843
1844 leaq 48(%rsi),%rsp
1845
1846L$cbc_popfq:
1847 popfq
1848
1849
1850
1851L$cbc_epilogue:
1852 .byte 0xf3,0xc3
1853
1854
1855.p2align 6
1856L$AES_Te:
1857.long 0xa56363c6,0xa56363c6
1858.long 0x847c7cf8,0x847c7cf8
1859.long 0x997777ee,0x997777ee
1860.long 0x8d7b7bf6,0x8d7b7bf6
1861.long 0x0df2f2ff,0x0df2f2ff
1862.long 0xbd6b6bd6,0xbd6b6bd6
1863.long 0xb16f6fde,0xb16f6fde
1864.long 0x54c5c591,0x54c5c591
1865.long 0x50303060,0x50303060
1866.long 0x03010102,0x03010102
1867.long 0xa96767ce,0xa96767ce
1868.long 0x7d2b2b56,0x7d2b2b56
1869.long 0x19fefee7,0x19fefee7
1870.long 0x62d7d7b5,0x62d7d7b5
1871.long 0xe6abab4d,0xe6abab4d
1872.long 0x9a7676ec,0x9a7676ec
1873.long 0x45caca8f,0x45caca8f
1874.long 0x9d82821f,0x9d82821f
1875.long 0x40c9c989,0x40c9c989
1876.long 0x877d7dfa,0x877d7dfa
1877.long 0x15fafaef,0x15fafaef
1878.long 0xeb5959b2,0xeb5959b2
1879.long 0xc947478e,0xc947478e
1880.long 0x0bf0f0fb,0x0bf0f0fb
1881.long 0xecadad41,0xecadad41
1882.long 0x67d4d4b3,0x67d4d4b3
1883.long 0xfda2a25f,0xfda2a25f
1884.long 0xeaafaf45,0xeaafaf45
1885.long 0xbf9c9c23,0xbf9c9c23
1886.long 0xf7a4a453,0xf7a4a453
1887.long 0x967272e4,0x967272e4
1888.long 0x5bc0c09b,0x5bc0c09b
1889.long 0xc2b7b775,0xc2b7b775
1890.long 0x1cfdfde1,0x1cfdfde1
1891.long 0xae93933d,0xae93933d
1892.long 0x6a26264c,0x6a26264c
1893.long 0x5a36366c,0x5a36366c
1894.long 0x413f3f7e,0x413f3f7e
1895.long 0x02f7f7f5,0x02f7f7f5
1896.long 0x4fcccc83,0x4fcccc83
1897.long 0x5c343468,0x5c343468
1898.long 0xf4a5a551,0xf4a5a551
1899.long 0x34e5e5d1,0x34e5e5d1
1900.long 0x08f1f1f9,0x08f1f1f9
1901.long 0x937171e2,0x937171e2
1902.long 0x73d8d8ab,0x73d8d8ab
1903.long 0x53313162,0x53313162
1904.long 0x3f15152a,0x3f15152a
1905.long 0x0c040408,0x0c040408
1906.long 0x52c7c795,0x52c7c795
1907.long 0x65232346,0x65232346
1908.long 0x5ec3c39d,0x5ec3c39d
1909.long 0x28181830,0x28181830
1910.long 0xa1969637,0xa1969637
1911.long 0x0f05050a,0x0f05050a
1912.long 0xb59a9a2f,0xb59a9a2f
1913.long 0x0907070e,0x0907070e
1914.long 0x36121224,0x36121224
1915.long 0x9b80801b,0x9b80801b
1916.long 0x3de2e2df,0x3de2e2df
1917.long 0x26ebebcd,0x26ebebcd
1918.long 0x6927274e,0x6927274e
1919.long 0xcdb2b27f,0xcdb2b27f
1920.long 0x9f7575ea,0x9f7575ea
1921.long 0x1b090912,0x1b090912
1922.long 0x9e83831d,0x9e83831d
1923.long 0x742c2c58,0x742c2c58
1924.long 0x2e1a1a34,0x2e1a1a34
1925.long 0x2d1b1b36,0x2d1b1b36
1926.long 0xb26e6edc,0xb26e6edc
1927.long 0xee5a5ab4,0xee5a5ab4
1928.long 0xfba0a05b,0xfba0a05b
1929.long 0xf65252a4,0xf65252a4
1930.long 0x4d3b3b76,0x4d3b3b76
1931.long 0x61d6d6b7,0x61d6d6b7
1932.long 0xceb3b37d,0xceb3b37d
1933.long 0x7b292952,0x7b292952
1934.long 0x3ee3e3dd,0x3ee3e3dd
1935.long 0x712f2f5e,0x712f2f5e
1936.long 0x97848413,0x97848413
1937.long 0xf55353a6,0xf55353a6
1938.long 0x68d1d1b9,0x68d1d1b9
1939.long 0x00000000,0x00000000
1940.long 0x2cededc1,0x2cededc1
1941.long 0x60202040,0x60202040
1942.long 0x1ffcfce3,0x1ffcfce3
1943.long 0xc8b1b179,0xc8b1b179
1944.long 0xed5b5bb6,0xed5b5bb6
1945.long 0xbe6a6ad4,0xbe6a6ad4
1946.long 0x46cbcb8d,0x46cbcb8d
1947.long 0xd9bebe67,0xd9bebe67
1948.long 0x4b393972,0x4b393972
1949.long 0xde4a4a94,0xde4a4a94
1950.long 0xd44c4c98,0xd44c4c98
1951.long 0xe85858b0,0xe85858b0
1952.long 0x4acfcf85,0x4acfcf85
1953.long 0x6bd0d0bb,0x6bd0d0bb
1954.long 0x2aefefc5,0x2aefefc5
1955.long 0xe5aaaa4f,0xe5aaaa4f
1956.long 0x16fbfbed,0x16fbfbed
1957.long 0xc5434386,0xc5434386
1958.long 0xd74d4d9a,0xd74d4d9a
1959.long 0x55333366,0x55333366
1960.long 0x94858511,0x94858511
1961.long 0xcf45458a,0xcf45458a
1962.long 0x10f9f9e9,0x10f9f9e9
1963.long 0x06020204,0x06020204
1964.long 0x817f7ffe,0x817f7ffe
1965.long 0xf05050a0,0xf05050a0
1966.long 0x443c3c78,0x443c3c78
1967.long 0xba9f9f25,0xba9f9f25
1968.long 0xe3a8a84b,0xe3a8a84b
1969.long 0xf35151a2,0xf35151a2
1970.long 0xfea3a35d,0xfea3a35d
1971.long 0xc0404080,0xc0404080
1972.long 0x8a8f8f05,0x8a8f8f05
1973.long 0xad92923f,0xad92923f
1974.long 0xbc9d9d21,0xbc9d9d21
1975.long 0x48383870,0x48383870
1976.long 0x04f5f5f1,0x04f5f5f1
1977.long 0xdfbcbc63,0xdfbcbc63
1978.long 0xc1b6b677,0xc1b6b677
1979.long 0x75dadaaf,0x75dadaaf
1980.long 0x63212142,0x63212142
1981.long 0x30101020,0x30101020
1982.long 0x1affffe5,0x1affffe5
1983.long 0x0ef3f3fd,0x0ef3f3fd
1984.long 0x6dd2d2bf,0x6dd2d2bf
1985.long 0x4ccdcd81,0x4ccdcd81
1986.long 0x140c0c18,0x140c0c18
1987.long 0x35131326,0x35131326
1988.long 0x2fececc3,0x2fececc3
1989.long 0xe15f5fbe,0xe15f5fbe
1990.long 0xa2979735,0xa2979735
1991.long 0xcc444488,0xcc444488
1992.long 0x3917172e,0x3917172e
1993.long 0x57c4c493,0x57c4c493
1994.long 0xf2a7a755,0xf2a7a755
1995.long 0x827e7efc,0x827e7efc
1996.long 0x473d3d7a,0x473d3d7a
1997.long 0xac6464c8,0xac6464c8
1998.long 0xe75d5dba,0xe75d5dba
1999.long 0x2b191932,0x2b191932
2000.long 0x957373e6,0x957373e6
2001.long 0xa06060c0,0xa06060c0
2002.long 0x98818119,0x98818119
2003.long 0xd14f4f9e,0xd14f4f9e
2004.long 0x7fdcdca3,0x7fdcdca3
2005.long 0x66222244,0x66222244
2006.long 0x7e2a2a54,0x7e2a2a54
2007.long 0xab90903b,0xab90903b
2008.long 0x8388880b,0x8388880b
2009.long 0xca46468c,0xca46468c
2010.long 0x29eeeec7,0x29eeeec7
2011.long 0xd3b8b86b,0xd3b8b86b
2012.long 0x3c141428,0x3c141428
2013.long 0x79dedea7,0x79dedea7
2014.long 0xe25e5ebc,0xe25e5ebc
2015.long 0x1d0b0b16,0x1d0b0b16
2016.long 0x76dbdbad,0x76dbdbad
2017.long 0x3be0e0db,0x3be0e0db
2018.long 0x56323264,0x56323264
2019.long 0x4e3a3a74,0x4e3a3a74
2020.long 0x1e0a0a14,0x1e0a0a14
2021.long 0xdb494992,0xdb494992
2022.long 0x0a06060c,0x0a06060c
2023.long 0x6c242448,0x6c242448
2024.long 0xe45c5cb8,0xe45c5cb8
2025.long 0x5dc2c29f,0x5dc2c29f
2026.long 0x6ed3d3bd,0x6ed3d3bd
2027.long 0xefacac43,0xefacac43
2028.long 0xa66262c4,0xa66262c4
2029.long 0xa8919139,0xa8919139
2030.long 0xa4959531,0xa4959531
2031.long 0x37e4e4d3,0x37e4e4d3
2032.long 0x8b7979f2,0x8b7979f2
2033.long 0x32e7e7d5,0x32e7e7d5
2034.long 0x43c8c88b,0x43c8c88b
2035.long 0x5937376e,0x5937376e
2036.long 0xb76d6dda,0xb76d6dda
2037.long 0x8c8d8d01,0x8c8d8d01
2038.long 0x64d5d5b1,0x64d5d5b1
2039.long 0xd24e4e9c,0xd24e4e9c
2040.long 0xe0a9a949,0xe0a9a949
2041.long 0xb46c6cd8,0xb46c6cd8
2042.long 0xfa5656ac,0xfa5656ac
2043.long 0x07f4f4f3,0x07f4f4f3
2044.long 0x25eaeacf,0x25eaeacf
2045.long 0xaf6565ca,0xaf6565ca
2046.long 0x8e7a7af4,0x8e7a7af4
2047.long 0xe9aeae47,0xe9aeae47
2048.long 0x18080810,0x18080810
2049.long 0xd5baba6f,0xd5baba6f
2050.long 0x887878f0,0x887878f0
2051.long 0x6f25254a,0x6f25254a
2052.long 0x722e2e5c,0x722e2e5c
2053.long 0x241c1c38,0x241c1c38
2054.long 0xf1a6a657,0xf1a6a657
2055.long 0xc7b4b473,0xc7b4b473
2056.long 0x51c6c697,0x51c6c697
2057.long 0x23e8e8cb,0x23e8e8cb
2058.long 0x7cdddda1,0x7cdddda1
2059.long 0x9c7474e8,0x9c7474e8
2060.long 0x211f1f3e,0x211f1f3e
2061.long 0xdd4b4b96,0xdd4b4b96
2062.long 0xdcbdbd61,0xdcbdbd61
2063.long 0x868b8b0d,0x868b8b0d
2064.long 0x858a8a0f,0x858a8a0f
2065.long 0x907070e0,0x907070e0
2066.long 0x423e3e7c,0x423e3e7c
2067.long 0xc4b5b571,0xc4b5b571
2068.long 0xaa6666cc,0xaa6666cc
2069.long 0xd8484890,0xd8484890
2070.long 0x05030306,0x05030306
2071.long 0x01f6f6f7,0x01f6f6f7
2072.long 0x120e0e1c,0x120e0e1c
2073.long 0xa36161c2,0xa36161c2
2074.long 0x5f35356a,0x5f35356a
2075.long 0xf95757ae,0xf95757ae
2076.long 0xd0b9b969,0xd0b9b969
2077.long 0x91868617,0x91868617
2078.long 0x58c1c199,0x58c1c199
2079.long 0x271d1d3a,0x271d1d3a
2080.long 0xb99e9e27,0xb99e9e27
2081.long 0x38e1e1d9,0x38e1e1d9
2082.long 0x13f8f8eb,0x13f8f8eb
2083.long 0xb398982b,0xb398982b
2084.long 0x33111122,0x33111122
2085.long 0xbb6969d2,0xbb6969d2
2086.long 0x70d9d9a9,0x70d9d9a9
2087.long 0x898e8e07,0x898e8e07
2088.long 0xa7949433,0xa7949433
2089.long 0xb69b9b2d,0xb69b9b2d
2090.long 0x221e1e3c,0x221e1e3c
2091.long 0x92878715,0x92878715
2092.long 0x20e9e9c9,0x20e9e9c9
2093.long 0x49cece87,0x49cece87
2094.long 0xff5555aa,0xff5555aa
2095.long 0x78282850,0x78282850
2096.long 0x7adfdfa5,0x7adfdfa5
2097.long 0x8f8c8c03,0x8f8c8c03
2098.long 0xf8a1a159,0xf8a1a159
2099.long 0x80898909,0x80898909
2100.long 0x170d0d1a,0x170d0d1a
2101.long 0xdabfbf65,0xdabfbf65
2102.long 0x31e6e6d7,0x31e6e6d7
2103.long 0xc6424284,0xc6424284
2104.long 0xb86868d0,0xb86868d0
2105.long 0xc3414182,0xc3414182
2106.long 0xb0999929,0xb0999929
2107.long 0x772d2d5a,0x772d2d5a
2108.long 0x110f0f1e,0x110f0f1e
2109.long 0xcbb0b07b,0xcbb0b07b
2110.long 0xfc5454a8,0xfc5454a8
2111.long 0xd6bbbb6d,0xd6bbbb6d
2112.long 0x3a16162c,0x3a16162c
2113.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5
2114.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76
2115.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0
2116.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0
2117.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc
2118.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15
2119.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a
2120.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75
2121.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0
2122.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84
2123.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b
2124.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf
2125.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85
2126.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8
2127.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5
2128.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2
2129.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17
2130.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73
2131.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88
2132.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb
2133.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c
2134.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79
2135.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9
2136.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08
2137.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6
2138.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a
2139.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e
2140.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e
2141.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94
2142.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf
2143.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68
2144.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16
2145.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5
2146.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76
2147.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0
2148.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0
2149.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc
2150.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15
2151.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a
2152.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75
2153.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0
2154.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84
2155.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b
2156.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf
2157.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85
2158.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8
2159.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5
2160.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2
2161.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17
2162.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73
2163.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88
2164.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb
2165.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c
2166.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79
2167.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9
2168.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08
2169.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6
2170.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a
2171.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e
2172.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e
2173.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94
2174.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf
2175.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68
2176.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16
2177.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5
2178.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76
2179.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0
2180.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0
2181.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc
2182.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15
2183.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a
2184.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75
2185.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0
2186.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84
2187.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b
2188.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf
2189.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85
2190.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8
2191.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5
2192.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2
2193.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17
2194.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73
2195.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88
2196.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb
2197.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c
2198.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79
2199.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9
2200.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08
2201.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6
2202.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a
2203.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e
2204.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e
2205.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94
2206.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf
2207.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68
2208.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16
2209.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5
2210.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76
2211.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0
2212.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0
2213.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc
2214.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15
2215.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a
2216.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75
2217.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0
2218.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84
2219.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b
2220.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf
2221.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85
2222.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8
2223.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5
2224.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2
2225.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17
2226.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73
2227.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88
2228.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb
2229.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c
2230.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79
2231.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9
2232.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08
2233.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6
2234.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a
2235.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e
2236.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e
2237.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94
2238.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf
2239.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68
2240.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16
2241.long 0x00000001, 0x00000002, 0x00000004, 0x00000008
2242.long 0x00000010, 0x00000020, 0x00000040, 0x00000080
2243.long 0x0000001b, 0x00000036, 0x80808080, 0x80808080
2244.long 0xfefefefe, 0xfefefefe, 0x1b1b1b1b, 0x1b1b1b1b
2245.p2align 6
2246L$AES_Td:
2247.long 0x50a7f451,0x50a7f451
2248.long 0x5365417e,0x5365417e
2249.long 0xc3a4171a,0xc3a4171a
2250.long 0x965e273a,0x965e273a
2251.long 0xcb6bab3b,0xcb6bab3b
2252.long 0xf1459d1f,0xf1459d1f
2253.long 0xab58faac,0xab58faac
2254.long 0x9303e34b,0x9303e34b
2255.long 0x55fa3020,0x55fa3020
2256.long 0xf66d76ad,0xf66d76ad
2257.long 0x9176cc88,0x9176cc88
2258.long 0x254c02f5,0x254c02f5
2259.long 0xfcd7e54f,0xfcd7e54f
2260.long 0xd7cb2ac5,0xd7cb2ac5
2261.long 0x80443526,0x80443526
2262.long 0x8fa362b5,0x8fa362b5
2263.long 0x495ab1de,0x495ab1de
2264.long 0x671bba25,0x671bba25
2265.long 0x980eea45,0x980eea45
2266.long 0xe1c0fe5d,0xe1c0fe5d
2267.long 0x02752fc3,0x02752fc3
2268.long 0x12f04c81,0x12f04c81
2269.long 0xa397468d,0xa397468d
2270.long 0xc6f9d36b,0xc6f9d36b
2271.long 0xe75f8f03,0xe75f8f03
2272.long 0x959c9215,0x959c9215
2273.long 0xeb7a6dbf,0xeb7a6dbf
2274.long 0xda595295,0xda595295
2275.long 0x2d83bed4,0x2d83bed4
2276.long 0xd3217458,0xd3217458
2277.long 0x2969e049,0x2969e049
2278.long 0x44c8c98e,0x44c8c98e
2279.long 0x6a89c275,0x6a89c275
2280.long 0x78798ef4,0x78798ef4
2281.long 0x6b3e5899,0x6b3e5899
2282.long 0xdd71b927,0xdd71b927
2283.long 0xb64fe1be,0xb64fe1be
2284.long 0x17ad88f0,0x17ad88f0
2285.long 0x66ac20c9,0x66ac20c9
2286.long 0xb43ace7d,0xb43ace7d
2287.long 0x184adf63,0x184adf63
2288.long 0x82311ae5,0x82311ae5
2289.long 0x60335197,0x60335197
2290.long 0x457f5362,0x457f5362
2291.long 0xe07764b1,0xe07764b1
2292.long 0x84ae6bbb,0x84ae6bbb
2293.long 0x1ca081fe,0x1ca081fe
2294.long 0x942b08f9,0x942b08f9
2295.long 0x58684870,0x58684870
2296.long 0x19fd458f,0x19fd458f
2297.long 0x876cde94,0x876cde94
2298.long 0xb7f87b52,0xb7f87b52
2299.long 0x23d373ab,0x23d373ab
2300.long 0xe2024b72,0xe2024b72
2301.long 0x578f1fe3,0x578f1fe3
2302.long 0x2aab5566,0x2aab5566
2303.long 0x0728ebb2,0x0728ebb2
2304.long 0x03c2b52f,0x03c2b52f
2305.long 0x9a7bc586,0x9a7bc586
2306.long 0xa50837d3,0xa50837d3
2307.long 0xf2872830,0xf2872830
2308.long 0xb2a5bf23,0xb2a5bf23
2309.long 0xba6a0302,0xba6a0302
2310.long 0x5c8216ed,0x5c8216ed
2311.long 0x2b1ccf8a,0x2b1ccf8a
2312.long 0x92b479a7,0x92b479a7
2313.long 0xf0f207f3,0xf0f207f3
2314.long 0xa1e2694e,0xa1e2694e
2315.long 0xcdf4da65,0xcdf4da65
2316.long 0xd5be0506,0xd5be0506
2317.long 0x1f6234d1,0x1f6234d1
2318.long 0x8afea6c4,0x8afea6c4
2319.long 0x9d532e34,0x9d532e34
2320.long 0xa055f3a2,0xa055f3a2
2321.long 0x32e18a05,0x32e18a05
2322.long 0x75ebf6a4,0x75ebf6a4
2323.long 0x39ec830b,0x39ec830b
2324.long 0xaaef6040,0xaaef6040
2325.long 0x069f715e,0x069f715e
2326.long 0x51106ebd,0x51106ebd
2327.long 0xf98a213e,0xf98a213e
2328.long 0x3d06dd96,0x3d06dd96
2329.long 0xae053edd,0xae053edd
2330.long 0x46bde64d,0x46bde64d
2331.long 0xb58d5491,0xb58d5491
2332.long 0x055dc471,0x055dc471
2333.long 0x6fd40604,0x6fd40604
2334.long 0xff155060,0xff155060
2335.long 0x24fb9819,0x24fb9819
2336.long 0x97e9bdd6,0x97e9bdd6
2337.long 0xcc434089,0xcc434089
2338.long 0x779ed967,0x779ed967
2339.long 0xbd42e8b0,0xbd42e8b0
2340.long 0x888b8907,0x888b8907
2341.long 0x385b19e7,0x385b19e7
2342.long 0xdbeec879,0xdbeec879
2343.long 0x470a7ca1,0x470a7ca1
2344.long 0xe90f427c,0xe90f427c
2345.long 0xc91e84f8,0xc91e84f8
2346.long 0x00000000,0x00000000
2347.long 0x83868009,0x83868009
2348.long 0x48ed2b32,0x48ed2b32
2349.long 0xac70111e,0xac70111e
2350.long 0x4e725a6c,0x4e725a6c
2351.long 0xfbff0efd,0xfbff0efd
2352.long 0x5638850f,0x5638850f
2353.long 0x1ed5ae3d,0x1ed5ae3d
2354.long 0x27392d36,0x27392d36
2355.long 0x64d90f0a,0x64d90f0a
2356.long 0x21a65c68,0x21a65c68
2357.long 0xd1545b9b,0xd1545b9b
2358.long 0x3a2e3624,0x3a2e3624
2359.long 0xb1670a0c,0xb1670a0c
2360.long 0x0fe75793,0x0fe75793
2361.long 0xd296eeb4,0xd296eeb4
2362.long 0x9e919b1b,0x9e919b1b
2363.long 0x4fc5c080,0x4fc5c080
2364.long 0xa220dc61,0xa220dc61
2365.long 0x694b775a,0x694b775a
2366.long 0x161a121c,0x161a121c
2367.long 0x0aba93e2,0x0aba93e2
2368.long 0xe52aa0c0,0xe52aa0c0
2369.long 0x43e0223c,0x43e0223c
2370.long 0x1d171b12,0x1d171b12
2371.long 0x0b0d090e,0x0b0d090e
2372.long 0xadc78bf2,0xadc78bf2
2373.long 0xb9a8b62d,0xb9a8b62d
2374.long 0xc8a91e14,0xc8a91e14
2375.long 0x8519f157,0x8519f157
2376.long 0x4c0775af,0x4c0775af
2377.long 0xbbdd99ee,0xbbdd99ee
2378.long 0xfd607fa3,0xfd607fa3
2379.long 0x9f2601f7,0x9f2601f7
2380.long 0xbcf5725c,0xbcf5725c
2381.long 0xc53b6644,0xc53b6644
2382.long 0x347efb5b,0x347efb5b
2383.long 0x7629438b,0x7629438b
2384.long 0xdcc623cb,0xdcc623cb
2385.long 0x68fcedb6,0x68fcedb6
2386.long 0x63f1e4b8,0x63f1e4b8
2387.long 0xcadc31d7,0xcadc31d7
2388.long 0x10856342,0x10856342
2389.long 0x40229713,0x40229713
2390.long 0x2011c684,0x2011c684
2391.long 0x7d244a85,0x7d244a85
2392.long 0xf83dbbd2,0xf83dbbd2
2393.long 0x1132f9ae,0x1132f9ae
2394.long 0x6da129c7,0x6da129c7
2395.long 0x4b2f9e1d,0x4b2f9e1d
2396.long 0xf330b2dc,0xf330b2dc
2397.long 0xec52860d,0xec52860d
2398.long 0xd0e3c177,0xd0e3c177
2399.long 0x6c16b32b,0x6c16b32b
2400.long 0x99b970a9,0x99b970a9
2401.long 0xfa489411,0xfa489411
2402.long 0x2264e947,0x2264e947
2403.long 0xc48cfca8,0xc48cfca8
2404.long 0x1a3ff0a0,0x1a3ff0a0
2405.long 0xd82c7d56,0xd82c7d56
2406.long 0xef903322,0xef903322
2407.long 0xc74e4987,0xc74e4987
2408.long 0xc1d138d9,0xc1d138d9
2409.long 0xfea2ca8c,0xfea2ca8c
2410.long 0x360bd498,0x360bd498
2411.long 0xcf81f5a6,0xcf81f5a6
2412.long 0x28de7aa5,0x28de7aa5
2413.long 0x268eb7da,0x268eb7da
2414.long 0xa4bfad3f,0xa4bfad3f
2415.long 0xe49d3a2c,0xe49d3a2c
2416.long 0x0d927850,0x0d927850
2417.long 0x9bcc5f6a,0x9bcc5f6a
2418.long 0x62467e54,0x62467e54
2419.long 0xc2138df6,0xc2138df6
2420.long 0xe8b8d890,0xe8b8d890
2421.long 0x5ef7392e,0x5ef7392e
2422.long 0xf5afc382,0xf5afc382
2423.long 0xbe805d9f,0xbe805d9f
2424.long 0x7c93d069,0x7c93d069
2425.long 0xa92dd56f,0xa92dd56f
2426.long 0xb31225cf,0xb31225cf
2427.long 0x3b99acc8,0x3b99acc8
2428.long 0xa77d1810,0xa77d1810
2429.long 0x6e639ce8,0x6e639ce8
2430.long 0x7bbb3bdb,0x7bbb3bdb
2431.long 0x097826cd,0x097826cd
2432.long 0xf418596e,0xf418596e
2433.long 0x01b79aec,0x01b79aec
2434.long 0xa89a4f83,0xa89a4f83
2435.long 0x656e95e6,0x656e95e6
2436.long 0x7ee6ffaa,0x7ee6ffaa
2437.long 0x08cfbc21,0x08cfbc21
2438.long 0xe6e815ef,0xe6e815ef
2439.long 0xd99be7ba,0xd99be7ba
2440.long 0xce366f4a,0xce366f4a
2441.long 0xd4099fea,0xd4099fea
2442.long 0xd67cb029,0xd67cb029
2443.long 0xafb2a431,0xafb2a431
2444.long 0x31233f2a,0x31233f2a
2445.long 0x3094a5c6,0x3094a5c6
2446.long 0xc066a235,0xc066a235
2447.long 0x37bc4e74,0x37bc4e74
2448.long 0xa6ca82fc,0xa6ca82fc
2449.long 0xb0d090e0,0xb0d090e0
2450.long 0x15d8a733,0x15d8a733
2451.long 0x4a9804f1,0x4a9804f1
2452.long 0xf7daec41,0xf7daec41
2453.long 0x0e50cd7f,0x0e50cd7f
2454.long 0x2ff69117,0x2ff69117
2455.long 0x8dd64d76,0x8dd64d76
2456.long 0x4db0ef43,0x4db0ef43
2457.long 0x544daacc,0x544daacc
2458.long 0xdf0496e4,0xdf0496e4
2459.long 0xe3b5d19e,0xe3b5d19e
2460.long 0x1b886a4c,0x1b886a4c
2461.long 0xb81f2cc1,0xb81f2cc1
2462.long 0x7f516546,0x7f516546
2463.long 0x04ea5e9d,0x04ea5e9d
2464.long 0x5d358c01,0x5d358c01
2465.long 0x737487fa,0x737487fa
2466.long 0x2e410bfb,0x2e410bfb
2467.long 0x5a1d67b3,0x5a1d67b3
2468.long 0x52d2db92,0x52d2db92
2469.long 0x335610e9,0x335610e9
2470.long 0x1347d66d,0x1347d66d
2471.long 0x8c61d79a,0x8c61d79a
2472.long 0x7a0ca137,0x7a0ca137
2473.long 0x8e14f859,0x8e14f859
2474.long 0x893c13eb,0x893c13eb
2475.long 0xee27a9ce,0xee27a9ce
2476.long 0x35c961b7,0x35c961b7
2477.long 0xede51ce1,0xede51ce1
2478.long 0x3cb1477a,0x3cb1477a
2479.long 0x59dfd29c,0x59dfd29c
2480.long 0x3f73f255,0x3f73f255
2481.long 0x79ce1418,0x79ce1418
2482.long 0xbf37c773,0xbf37c773
2483.long 0xeacdf753,0xeacdf753
2484.long 0x5baafd5f,0x5baafd5f
2485.long 0x146f3ddf,0x146f3ddf
2486.long 0x86db4478,0x86db4478
2487.long 0x81f3afca,0x81f3afca
2488.long 0x3ec468b9,0x3ec468b9
2489.long 0x2c342438,0x2c342438
2490.long 0x5f40a3c2,0x5f40a3c2
2491.long 0x72c31d16,0x72c31d16
2492.long 0x0c25e2bc,0x0c25e2bc
2493.long 0x8b493c28,0x8b493c28
2494.long 0x41950dff,0x41950dff
2495.long 0x7101a839,0x7101a839
2496.long 0xdeb30c08,0xdeb30c08
2497.long 0x9ce4b4d8,0x9ce4b4d8
2498.long 0x90c15664,0x90c15664
2499.long 0x6184cb7b,0x6184cb7b
2500.long 0x70b632d5,0x70b632d5
2501.long 0x745c6c48,0x745c6c48
2502.long 0x4257b8d0,0x4257b8d0
2503.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38
2504.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb
2505.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87
2506.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb
2507.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d
2508.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e
2509.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2
2510.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25
2511.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16
2512.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92
2513.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda
2514.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84
2515.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a
2516.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06
2517.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02
2518.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b
2519.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea
2520.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73
2521.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85
2522.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e
2523.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89
2524.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b
2525.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20
2526.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4
2527.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31
2528.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f
2529.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d
2530.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef
2531.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0
2532.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61
2533.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26
2534.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d
2535.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe
2536.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0
2537.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38
2538.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb
2539.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87
2540.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb
2541.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d
2542.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e
2543.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2
2544.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25
2545.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16
2546.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92
2547.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda
2548.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84
2549.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a
2550.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06
2551.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02
2552.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b
2553.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea
2554.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73
2555.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85
2556.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e
2557.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89
2558.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b
2559.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20
2560.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4
2561.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31
2562.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f
2563.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d
2564.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef
2565.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0
2566.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61
2567.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26
2568.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d
2569.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe
2570.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0
2571.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38
2572.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb
2573.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87
2574.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb
2575.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d
2576.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e
2577.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2
2578.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25
2579.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16
2580.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92
2581.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda
2582.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84
2583.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a
2584.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06
2585.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02
2586.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b
2587.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea
2588.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73
2589.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85
2590.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e
2591.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89
2592.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b
2593.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20
2594.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4
2595.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31
2596.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f
2597.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d
2598.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef
2599.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0
2600.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61
2601.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26
2602.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d
2603.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe
2604.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0
2605.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38
2606.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb
2607.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87
2608.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb
2609.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d
2610.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e
2611.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2
2612.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25
2613.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16
2614.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92
2615.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda
2616.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84
2617.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a
2618.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06
2619.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02
2620.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b
2621.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea
2622.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73
2623.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85
2624.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e
2625.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89
2626.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b
2627.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20
2628.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4
2629.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31
2630.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f
2631.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d
2632.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef
2633.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0
2634.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61
2635.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26
2636.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d
2637.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe
2638.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0
2639.byte 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
2640.p2align 6
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette