VirtualBox

source: vbox/trunk/src/libs/openssl-1.1.1l/crypto/genasm-macosx/aes-x86_64.S@ 94467

最後變更 在這個檔案從94467是 83531,由 vboxsync 提交於 5 年 前

setting svn:sync-process=export for openssl-1.1.1f, all files except tests

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

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