| # This file is generated from a similarly-named Perl script in the BoringSSL |
| # source tree. Do not edit by hand. |
| |
| #if defined(__has_feature) |
| #if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) |
| #define OPENSSL_NO_ASM |
| #endif |
| #endif |
| |
| #if defined(__x86_64__) && !defined(OPENSSL_NO_ASM) |
| .text |
| |
| .p2align 4 |
| _x86_64_AES_encrypt_compact: |
| |
| leaq 128(%r14),%r8 |
| movl 0-128(%r8),%edi |
| movl 32-128(%r8),%ebp |
| movl 64-128(%r8),%r10d |
| movl 96-128(%r8),%r11d |
| movl 128-128(%r8),%edi |
| movl 160-128(%r8),%ebp |
| movl 192-128(%r8),%r10d |
| movl 224-128(%r8),%r11d |
| jmp L$enc_loop_compact |
| .p2align 4 |
| L$enc_loop_compact: |
| xorl 0(%r15),%eax |
| xorl 4(%r15),%ebx |
| xorl 8(%r15),%ecx |
| xorl 12(%r15),%edx |
| leaq 16(%r15),%r15 |
| movzbl %al,%r10d |
| movzbl %bl,%r11d |
| movzbl %cl,%r12d |
| movzbl %dl,%r8d |
| movzbl %bh,%esi |
| movzbl %ch,%edi |
| shrl $16,%ecx |
| movzbl %dh,%ebp |
| movzbl (%r14,%r10,1),%r10d |
| movzbl (%r14,%r11,1),%r11d |
| movzbl (%r14,%r12,1),%r12d |
| movzbl (%r14,%r8,1),%r8d |
| |
| movzbl (%r14,%rsi,1),%r9d |
| movzbl %ah,%esi |
| movzbl (%r14,%rdi,1),%r13d |
| movzbl %cl,%edi |
| movzbl (%r14,%rbp,1),%ebp |
| movzbl (%r14,%rsi,1),%esi |
| |
| shll $8,%r9d |
| shrl $16,%edx |
| shll $8,%r13d |
| xorl %r9d,%r10d |
| shrl $16,%eax |
| movzbl %dl,%r9d |
| shrl $16,%ebx |
| xorl %r13d,%r11d |
| shll $8,%ebp |
| movzbl %al,%r13d |
| movzbl (%r14,%rdi,1),%edi |
| xorl %ebp,%r12d |
| |
| shll $8,%esi |
| movzbl %bl,%ebp |
| shll $16,%edi |
| xorl %esi,%r8d |
| movzbl (%r14,%r9,1),%r9d |
| movzbl %dh,%esi |
| movzbl (%r14,%r13,1),%r13d |
| xorl %edi,%r10d |
| |
| shrl $8,%ecx |
| movzbl %ah,%edi |
| shll $16,%r9d |
| shrl $8,%ebx |
| shll $16,%r13d |
| xorl %r9d,%r11d |
| movzbl (%r14,%rbp,1),%ebp |
| movzbl (%r14,%rsi,1),%esi |
| movzbl (%r14,%rdi,1),%edi |
| movzbl (%r14,%rcx,1),%edx |
| movzbl (%r14,%rbx,1),%ecx |
| |
| shll $16,%ebp |
| xorl %r13d,%r12d |
| shll $24,%esi |
| xorl %ebp,%r8d |
| shll $24,%edi |
| xorl %esi,%r10d |
| shll $24,%edx |
| xorl %edi,%r11d |
| shll $24,%ecx |
| movl %r10d,%eax |
| movl %r11d,%ebx |
| xorl %r12d,%ecx |
| xorl %r8d,%edx |
| cmpq 16(%rsp),%r15 |
| je L$enc_compact_done |
| movl $0x80808080,%r10d |
| movl $0x80808080,%r11d |
| andl %eax,%r10d |
| andl %ebx,%r11d |
| movl %r10d,%esi |
| movl %r11d,%edi |
| shrl $7,%r10d |
| leal (%rax,%rax,1),%r8d |
| shrl $7,%r11d |
| leal (%rbx,%rbx,1),%r9d |
| subl %r10d,%esi |
| subl %r11d,%edi |
| andl $0xfefefefe,%r8d |
| andl $0xfefefefe,%r9d |
| andl $0x1b1b1b1b,%esi |
| andl $0x1b1b1b1b,%edi |
| movl %eax,%r10d |
| movl %ebx,%r11d |
| xorl %esi,%r8d |
| xorl %edi,%r9d |
| |
| xorl %r8d,%eax |
| xorl %r9d,%ebx |
| movl $0x80808080,%r12d |
| roll $24,%eax |
| movl $0x80808080,%ebp |
| roll $24,%ebx |
| andl %ecx,%r12d |
| andl %edx,%ebp |
| xorl %r8d,%eax |
| xorl %r9d,%ebx |
| movl %r12d,%esi |
| rorl $16,%r10d |
| movl %ebp,%edi |
| rorl $16,%r11d |
| leal (%rcx,%rcx,1),%r8d |
| shrl $7,%r12d |
| xorl %r10d,%eax |
| shrl $7,%ebp |
| xorl %r11d,%ebx |
| rorl $8,%r10d |
| leal (%rdx,%rdx,1),%r9d |
| rorl $8,%r11d |
| subl %r12d,%esi |
| subl %ebp,%edi |
| xorl %r10d,%eax |
| xorl %r11d,%ebx |
| |
| andl $0xfefefefe,%r8d |
| andl $0xfefefefe,%r9d |
| andl $0x1b1b1b1b,%esi |
| andl $0x1b1b1b1b,%edi |
| movl %ecx,%r12d |
| movl %edx,%ebp |
| xorl %esi,%r8d |
| xorl %edi,%r9d |
| |
| rorl $16,%r12d |
| xorl %r8d,%ecx |
| rorl $16,%ebp |
| xorl %r9d,%edx |
| roll $24,%ecx |
| movl 0(%r14),%esi |
| roll $24,%edx |
| xorl %r8d,%ecx |
| movl 64(%r14),%edi |
| xorl %r9d,%edx |
| movl 128(%r14),%r8d |
| xorl %r12d,%ecx |
| rorl $8,%r12d |
| xorl %ebp,%edx |
| rorl $8,%ebp |
| xorl %r12d,%ecx |
| movl 192(%r14),%r9d |
| xorl %ebp,%edx |
| jmp L$enc_loop_compact |
| .p2align 4 |
| L$enc_compact_done: |
| xorl 0(%r15),%eax |
| xorl 4(%r15),%ebx |
| xorl 8(%r15),%ecx |
| xorl 12(%r15),%edx |
| .byte 0xf3,0xc3 |
| |
| |
| .p2align 4 |
| .globl _GFp_aes_nohw_encrypt |
| .private_extern _GFp_aes_nohw_encrypt |
| |
| .private_extern _GFp_aes_nohw_encrypt |
| _GFp_aes_nohw_encrypt: |
| |
| movq %rsp,%rax |
| |
| pushq %rbx |
| |
| pushq %rbp |
| |
| pushq %r12 |
| |
| pushq %r13 |
| |
| pushq %r14 |
| |
| pushq %r15 |
| |
| |
| |
| leaq -63(%rdx),%rcx |
| andq $-64,%rsp |
| subq %rsp,%rcx |
| negq %rcx |
| andq $0x3c0,%rcx |
| subq %rcx,%rsp |
| subq $32,%rsp |
| |
| movq %rsi,16(%rsp) |
| movq %rax,24(%rsp) |
| |
| L$enc_prologue: |
| |
| movq %rdx,%r15 |
| movl 240(%r15),%r13d |
| |
| movl 0(%rdi),%eax |
| movl 4(%rdi),%ebx |
| movl 8(%rdi),%ecx |
| movl 12(%rdi),%edx |
| |
| shll $4,%r13d |
| leaq (%r15,%r13,1),%rbp |
| movq %r15,(%rsp) |
| movq %rbp,8(%rsp) |
| |
| |
| leaq L$AES_Te+2048(%rip),%r14 |
| leaq 768(%rsp),%rbp |
| subq %r14,%rbp |
| andq $0x300,%rbp |
| leaq (%r14,%rbp,1),%r14 |
| |
| call _x86_64_AES_encrypt_compact |
| |
| movq 16(%rsp),%r9 |
| movq 24(%rsp),%rsi |
| |
| movl %eax,0(%r9) |
| movl %ebx,4(%r9) |
| movl %ecx,8(%r9) |
| movl %edx,12(%r9) |
| |
| movq -48(%rsi),%r15 |
| |
| movq -40(%rsi),%r14 |
| |
| movq -32(%rsi),%r13 |
| |
| movq -24(%rsi),%r12 |
| |
| movq -16(%rsi),%rbp |
| |
| movq -8(%rsi),%rbx |
| |
| leaq (%rsi),%rsp |
| |
| L$enc_epilogue: |
| .byte 0xf3,0xc3 |
| |
| |
| .p2align 4 |
| .globl _GFp_aes_nohw_set_encrypt_key |
| .private_extern _GFp_aes_nohw_set_encrypt_key |
| |
| _GFp_aes_nohw_set_encrypt_key: |
| |
| pushq %rbx |
| |
| pushq %rbp |
| |
| pushq %r12 |
| |
| pushq %r13 |
| |
| pushq %r14 |
| |
| pushq %r15 |
| |
| subq $8,%rsp |
| |
| L$enc_key_prologue: |
| |
| call _x86_64_AES_set_encrypt_key |
| |
| movq 40(%rsp),%rbp |
| |
| movq 48(%rsp),%rbx |
| |
| addq $56,%rsp |
| |
| L$enc_key_epilogue: |
| .byte 0xf3,0xc3 |
| |
| |
| |
| |
| .p2align 4 |
| _x86_64_AES_set_encrypt_key: |
| |
| movl %esi,%ecx |
| movq %rdi,%rsi |
| movq %rdx,%rdi |
| |
| testq $-1,%rsi |
| jz L$badpointer |
| testq $-1,%rdi |
| jz L$badpointer |
| |
| leaq L$AES_Te(%rip),%rbp |
| leaq 2048+128(%rbp),%rbp |
| |
| |
| movl 0-128(%rbp),%eax |
| movl 32-128(%rbp),%ebx |
| movl 64-128(%rbp),%r8d |
| movl 96-128(%rbp),%edx |
| movl 128-128(%rbp),%eax |
| movl 160-128(%rbp),%ebx |
| movl 192-128(%rbp),%r8d |
| movl 224-128(%rbp),%edx |
| |
| cmpl $128,%ecx |
| je L$10rounds |
| cmpl $256,%ecx |
| je L$14rounds |
| movq $-2,%rax |
| jmp L$exit |
| |
| L$10rounds: |
| movq 0(%rsi),%rax |
| movq 8(%rsi),%rdx |
| movq %rax,0(%rdi) |
| movq %rdx,8(%rdi) |
| |
| shrq $32,%rdx |
| xorl %ecx,%ecx |
| jmp L$10shortcut |
| .p2align 2 |
| L$10loop: |
| movl 0(%rdi),%eax |
| movl 12(%rdi),%edx |
| L$10shortcut: |
| movzbl %dl,%esi |
| movzbl -128(%rbp,%rsi,1),%ebx |
| movzbl %dh,%esi |
| shll $24,%ebx |
| xorl %ebx,%eax |
| |
| movzbl -128(%rbp,%rsi,1),%ebx |
| shrl $16,%edx |
| movzbl %dl,%esi |
| xorl %ebx,%eax |
| |
| movzbl -128(%rbp,%rsi,1),%ebx |
| movzbl %dh,%esi |
| shll $8,%ebx |
| xorl %ebx,%eax |
| |
| movzbl -128(%rbp,%rsi,1),%ebx |
| shll $16,%ebx |
| xorl %ebx,%eax |
| |
| xorl 1024-128(%rbp,%rcx,4),%eax |
| movl %eax,16(%rdi) |
| xorl 4(%rdi),%eax |
| movl %eax,20(%rdi) |
| xorl 8(%rdi),%eax |
| movl %eax,24(%rdi) |
| xorl 12(%rdi),%eax |
| movl %eax,28(%rdi) |
| addl $1,%ecx |
| leaq 16(%rdi),%rdi |
| cmpl $10,%ecx |
| jl L$10loop |
| |
| movl $10,80(%rdi) |
| xorq %rax,%rax |
| jmp L$exit |
| |
| L$14rounds: |
| movq 0(%rsi),%rax |
| movq 8(%rsi),%rbx |
| movq 16(%rsi),%rcx |
| movq 24(%rsi),%rdx |
| movq %rax,0(%rdi) |
| movq %rbx,8(%rdi) |
| movq %rcx,16(%rdi) |
| movq %rdx,24(%rdi) |
| |
| shrq $32,%rdx |
| xorl %ecx,%ecx |
| jmp L$14shortcut |
| .p2align 2 |
| L$14loop: |
| movl 0(%rdi),%eax |
| movl 28(%rdi),%edx |
| L$14shortcut: |
| movzbl %dl,%esi |
| movzbl -128(%rbp,%rsi,1),%ebx |
| movzbl %dh,%esi |
| shll $24,%ebx |
| xorl %ebx,%eax |
| |
| movzbl -128(%rbp,%rsi,1),%ebx |
| shrl $16,%edx |
| movzbl %dl,%esi |
| xorl %ebx,%eax |
| |
| movzbl -128(%rbp,%rsi,1),%ebx |
| movzbl %dh,%esi |
| shll $8,%ebx |
| xorl %ebx,%eax |
| |
| movzbl -128(%rbp,%rsi,1),%ebx |
| shll $16,%ebx |
| xorl %ebx,%eax |
| |
| xorl 1024-128(%rbp,%rcx,4),%eax |
| movl %eax,32(%rdi) |
| xorl 4(%rdi),%eax |
| movl %eax,36(%rdi) |
| xorl 8(%rdi),%eax |
| movl %eax,40(%rdi) |
| xorl 12(%rdi),%eax |
| movl %eax,44(%rdi) |
| |
| cmpl $6,%ecx |
| je L$14break |
| addl $1,%ecx |
| |
| movl %eax,%edx |
| movl 16(%rdi),%eax |
| movzbl %dl,%esi |
| movzbl -128(%rbp,%rsi,1),%ebx |
| movzbl %dh,%esi |
| xorl %ebx,%eax |
| |
| movzbl -128(%rbp,%rsi,1),%ebx |
| shrl $16,%edx |
| shll $8,%ebx |
| movzbl %dl,%esi |
| xorl %ebx,%eax |
| |
| movzbl -128(%rbp,%rsi,1),%ebx |
| movzbl %dh,%esi |
| shll $16,%ebx |
| xorl %ebx,%eax |
| |
| movzbl -128(%rbp,%rsi,1),%ebx |
| shll $24,%ebx |
| xorl %ebx,%eax |
| |
| movl %eax,48(%rdi) |
| xorl 20(%rdi),%eax |
| movl %eax,52(%rdi) |
| xorl 24(%rdi),%eax |
| movl %eax,56(%rdi) |
| xorl 28(%rdi),%eax |
| movl %eax,60(%rdi) |
| |
| leaq 32(%rdi),%rdi |
| jmp L$14loop |
| L$14break: |
| movl $14,48(%rdi) |
| xorq %rax,%rax |
| jmp L$exit |
| |
| L$badpointer: |
| movq $-1,%rax |
| L$exit: |
| .byte 0xf3,0xc3 |
| |
| |
| .p2align 6 |
| L$AES_Te: |
| .long 0xa56363c6,0xa56363c6 |
| .long 0x847c7cf8,0x847c7cf8 |
| .long 0x997777ee,0x997777ee |
| .long 0x8d7b7bf6,0x8d7b7bf6 |
| .long 0x0df2f2ff,0x0df2f2ff |
| .long 0xbd6b6bd6,0xbd6b6bd6 |
| .long 0xb16f6fde,0xb16f6fde |
| .long 0x54c5c591,0x54c5c591 |
| .long 0x50303060,0x50303060 |
| .long 0x03010102,0x03010102 |
| .long 0xa96767ce,0xa96767ce |
| .long 0x7d2b2b56,0x7d2b2b56 |
| .long 0x19fefee7,0x19fefee7 |
| .long 0x62d7d7b5,0x62d7d7b5 |
| .long 0xe6abab4d,0xe6abab4d |
| .long 0x9a7676ec,0x9a7676ec |
| .long 0x45caca8f,0x45caca8f |
| .long 0x9d82821f,0x9d82821f |
| .long 0x40c9c989,0x40c9c989 |
| .long 0x877d7dfa,0x877d7dfa |
| .long 0x15fafaef,0x15fafaef |
| .long 0xeb5959b2,0xeb5959b2 |
| .long 0xc947478e,0xc947478e |
| .long 0x0bf0f0fb,0x0bf0f0fb |
| .long 0xecadad41,0xecadad41 |
| .long 0x67d4d4b3,0x67d4d4b3 |
| .long 0xfda2a25f,0xfda2a25f |
| .long 0xeaafaf45,0xeaafaf45 |
| .long 0xbf9c9c23,0xbf9c9c23 |
| .long 0xf7a4a453,0xf7a4a453 |
| .long 0x967272e4,0x967272e4 |
| .long 0x5bc0c09b,0x5bc0c09b |
| .long 0xc2b7b775,0xc2b7b775 |
| .long 0x1cfdfde1,0x1cfdfde1 |
| .long 0xae93933d,0xae93933d |
| .long 0x6a26264c,0x6a26264c |
| .long 0x5a36366c,0x5a36366c |
| .long 0x413f3f7e,0x413f3f7e |
| .long 0x02f7f7f5,0x02f7f7f5 |
| .long 0x4fcccc83,0x4fcccc83 |
| .long 0x5c343468,0x5c343468 |
| .long 0xf4a5a551,0xf4a5a551 |
| .long 0x34e5e5d1,0x34e5e5d1 |
| .long 0x08f1f1f9,0x08f1f1f9 |
| .long 0x937171e2,0x937171e2 |
| .long 0x73d8d8ab,0x73d8d8ab |
| .long 0x53313162,0x53313162 |
| .long 0x3f15152a,0x3f15152a |
| .long 0x0c040408,0x0c040408 |
| .long 0x52c7c795,0x52c7c795 |
| .long 0x65232346,0x65232346 |
| .long 0x5ec3c39d,0x5ec3c39d |
| .long 0x28181830,0x28181830 |
| .long 0xa1969637,0xa1969637 |
| .long 0x0f05050a,0x0f05050a |
| .long 0xb59a9a2f,0xb59a9a2f |
| .long 0x0907070e,0x0907070e |
| .long 0x36121224,0x36121224 |
| .long 0x9b80801b,0x9b80801b |
| .long 0x3de2e2df,0x3de2e2df |
| .long 0x26ebebcd,0x26ebebcd |
| .long 0x6927274e,0x6927274e |
| .long 0xcdb2b27f,0xcdb2b27f |
| .long 0x9f7575ea,0x9f7575ea |
| .long 0x1b090912,0x1b090912 |
| .long 0x9e83831d,0x9e83831d |
| .long 0x742c2c58,0x742c2c58 |
| .long 0x2e1a1a34,0x2e1a1a34 |
| .long 0x2d1b1b36,0x2d1b1b36 |
| .long 0xb26e6edc,0xb26e6edc |
| .long 0xee5a5ab4,0xee5a5ab4 |
| .long 0xfba0a05b,0xfba0a05b |
| .long 0xf65252a4,0xf65252a4 |
| .long 0x4d3b3b76,0x4d3b3b76 |
| .long 0x61d6d6b7,0x61d6d6b7 |
| .long 0xceb3b37d,0xceb3b37d |
| .long 0x7b292952,0x7b292952 |
| .long 0x3ee3e3dd,0x3ee3e3dd |
| .long 0x712f2f5e,0x712f2f5e |
| .long 0x97848413,0x97848413 |
| .long 0xf55353a6,0xf55353a6 |
| .long 0x68d1d1b9,0x68d1d1b9 |
| .long 0x00000000,0x00000000 |
| .long 0x2cededc1,0x2cededc1 |
| .long 0x60202040,0x60202040 |
| .long 0x1ffcfce3,0x1ffcfce3 |
| .long 0xc8b1b179,0xc8b1b179 |
| .long 0xed5b5bb6,0xed5b5bb6 |
| .long 0xbe6a6ad4,0xbe6a6ad4 |
| .long 0x46cbcb8d,0x46cbcb8d |
| .long 0xd9bebe67,0xd9bebe67 |
| .long 0x4b393972,0x4b393972 |
| .long 0xde4a4a94,0xde4a4a94 |
| .long 0xd44c4c98,0xd44c4c98 |
| .long 0xe85858b0,0xe85858b0 |
| .long 0x4acfcf85,0x4acfcf85 |
| .long 0x6bd0d0bb,0x6bd0d0bb |
| .long 0x2aefefc5,0x2aefefc5 |
| .long 0xe5aaaa4f,0xe5aaaa4f |
| .long 0x16fbfbed,0x16fbfbed |
| .long 0xc5434386,0xc5434386 |
| .long 0xd74d4d9a,0xd74d4d9a |
| .long 0x55333366,0x55333366 |
| .long 0x94858511,0x94858511 |
| .long 0xcf45458a,0xcf45458a |
| .long 0x10f9f9e9,0x10f9f9e9 |
| .long 0x06020204,0x06020204 |
| .long 0x817f7ffe,0x817f7ffe |
| .long 0xf05050a0,0xf05050a0 |
| .long 0x443c3c78,0x443c3c78 |
| .long 0xba9f9f25,0xba9f9f25 |
| .long 0xe3a8a84b,0xe3a8a84b |
| .long 0xf35151a2,0xf35151a2 |
| .long 0xfea3a35d,0xfea3a35d |
| .long 0xc0404080,0xc0404080 |
| .long 0x8a8f8f05,0x8a8f8f05 |
| .long 0xad92923f,0xad92923f |
| .long 0xbc9d9d21,0xbc9d9d21 |
| .long 0x48383870,0x48383870 |
| .long 0x04f5f5f1,0x04f5f5f1 |
| .long 0xdfbcbc63,0xdfbcbc63 |
| .long 0xc1b6b677,0xc1b6b677 |
| .long 0x75dadaaf,0x75dadaaf |
| .long 0x63212142,0x63212142 |
| .long 0x30101020,0x30101020 |
| .long 0x1affffe5,0x1affffe5 |
| .long 0x0ef3f3fd,0x0ef3f3fd |
| .long 0x6dd2d2bf,0x6dd2d2bf |
| .long 0x4ccdcd81,0x4ccdcd81 |
| .long 0x140c0c18,0x140c0c18 |
| .long 0x35131326,0x35131326 |
| .long 0x2fececc3,0x2fececc3 |
| .long 0xe15f5fbe,0xe15f5fbe |
| .long 0xa2979735,0xa2979735 |
| .long 0xcc444488,0xcc444488 |
| .long 0x3917172e,0x3917172e |
| .long 0x57c4c493,0x57c4c493 |
| .long 0xf2a7a755,0xf2a7a755 |
| .long 0x827e7efc,0x827e7efc |
| .long 0x473d3d7a,0x473d3d7a |
| .long 0xac6464c8,0xac6464c8 |
| .long 0xe75d5dba,0xe75d5dba |
| .long 0x2b191932,0x2b191932 |
| .long 0x957373e6,0x957373e6 |
| .long 0xa06060c0,0xa06060c0 |
| .long 0x98818119,0x98818119 |
| .long 0xd14f4f9e,0xd14f4f9e |
| .long 0x7fdcdca3,0x7fdcdca3 |
| .long 0x66222244,0x66222244 |
| .long 0x7e2a2a54,0x7e2a2a54 |
| .long 0xab90903b,0xab90903b |
| .long 0x8388880b,0x8388880b |
| .long 0xca46468c,0xca46468c |
| .long 0x29eeeec7,0x29eeeec7 |
| .long 0xd3b8b86b,0xd3b8b86b |
| .long 0x3c141428,0x3c141428 |
| .long 0x79dedea7,0x79dedea7 |
| .long 0xe25e5ebc,0xe25e5ebc |
| .long 0x1d0b0b16,0x1d0b0b16 |
| .long 0x76dbdbad,0x76dbdbad |
| .long 0x3be0e0db,0x3be0e0db |
| .long 0x56323264,0x56323264 |
| .long 0x4e3a3a74,0x4e3a3a74 |
| .long 0x1e0a0a14,0x1e0a0a14 |
| .long 0xdb494992,0xdb494992 |
| .long 0x0a06060c,0x0a06060c |
| .long 0x6c242448,0x6c242448 |
| .long 0xe45c5cb8,0xe45c5cb8 |
| .long 0x5dc2c29f,0x5dc2c29f |
| .long 0x6ed3d3bd,0x6ed3d3bd |
| .long 0xefacac43,0xefacac43 |
| .long 0xa66262c4,0xa66262c4 |
| .long 0xa8919139,0xa8919139 |
| .long 0xa4959531,0xa4959531 |
| .long 0x37e4e4d3,0x37e4e4d3 |
| .long 0x8b7979f2,0x8b7979f2 |
| .long 0x32e7e7d5,0x32e7e7d5 |
| .long 0x43c8c88b,0x43c8c88b |
| .long 0x5937376e,0x5937376e |
| .long 0xb76d6dda,0xb76d6dda |
| .long 0x8c8d8d01,0x8c8d8d01 |
| .long 0x64d5d5b1,0x64d5d5b1 |
| .long 0xd24e4e9c,0xd24e4e9c |
| .long 0xe0a9a949,0xe0a9a949 |
| .long 0xb46c6cd8,0xb46c6cd8 |
| .long 0xfa5656ac,0xfa5656ac |
| .long 0x07f4f4f3,0x07f4f4f3 |
| .long 0x25eaeacf,0x25eaeacf |
| .long 0xaf6565ca,0xaf6565ca |
| .long 0x8e7a7af4,0x8e7a7af4 |
| .long 0xe9aeae47,0xe9aeae47 |
| .long 0x18080810,0x18080810 |
| .long 0xd5baba6f,0xd5baba6f |
| .long 0x887878f0,0x887878f0 |
| .long 0x6f25254a,0x6f25254a |
| .long 0x722e2e5c,0x722e2e5c |
| .long 0x241c1c38,0x241c1c38 |
| .long 0xf1a6a657,0xf1a6a657 |
| .long 0xc7b4b473,0xc7b4b473 |
| .long 0x51c6c697,0x51c6c697 |
| .long 0x23e8e8cb,0x23e8e8cb |
| .long 0x7cdddda1,0x7cdddda1 |
| .long 0x9c7474e8,0x9c7474e8 |
| .long 0x211f1f3e,0x211f1f3e |
| .long 0xdd4b4b96,0xdd4b4b96 |
| .long 0xdcbdbd61,0xdcbdbd61 |
| .long 0x868b8b0d,0x868b8b0d |
| .long 0x858a8a0f,0x858a8a0f |
| .long 0x907070e0,0x907070e0 |
| .long 0x423e3e7c,0x423e3e7c |
| .long 0xc4b5b571,0xc4b5b571 |
| .long 0xaa6666cc,0xaa6666cc |
| .long 0xd8484890,0xd8484890 |
| .long 0x05030306,0x05030306 |
| .long 0x01f6f6f7,0x01f6f6f7 |
| .long 0x120e0e1c,0x120e0e1c |
| .long 0xa36161c2,0xa36161c2 |
| .long 0x5f35356a,0x5f35356a |
| .long 0xf95757ae,0xf95757ae |
| .long 0xd0b9b969,0xd0b9b969 |
| .long 0x91868617,0x91868617 |
| .long 0x58c1c199,0x58c1c199 |
| .long 0x271d1d3a,0x271d1d3a |
| .long 0xb99e9e27,0xb99e9e27 |
| .long 0x38e1e1d9,0x38e1e1d9 |
| .long 0x13f8f8eb,0x13f8f8eb |
| .long 0xb398982b,0xb398982b |
| .long 0x33111122,0x33111122 |
| .long 0xbb6969d2,0xbb6969d2 |
| .long 0x70d9d9a9,0x70d9d9a9 |
| .long 0x898e8e07,0x898e8e07 |
| .long 0xa7949433,0xa7949433 |
| .long 0xb69b9b2d,0xb69b9b2d |
| .long 0x221e1e3c,0x221e1e3c |
| .long 0x92878715,0x92878715 |
| .long 0x20e9e9c9,0x20e9e9c9 |
| .long 0x49cece87,0x49cece87 |
| .long 0xff5555aa,0xff5555aa |
| .long 0x78282850,0x78282850 |
| .long 0x7adfdfa5,0x7adfdfa5 |
| .long 0x8f8c8c03,0x8f8c8c03 |
| .long 0xf8a1a159,0xf8a1a159 |
| .long 0x80898909,0x80898909 |
| .long 0x170d0d1a,0x170d0d1a |
| .long 0xdabfbf65,0xdabfbf65 |
| .long 0x31e6e6d7,0x31e6e6d7 |
| .long 0xc6424284,0xc6424284 |
| .long 0xb86868d0,0xb86868d0 |
| .long 0xc3414182,0xc3414182 |
| .long 0xb0999929,0xb0999929 |
| .long 0x772d2d5a,0x772d2d5a |
| .long 0x110f0f1e,0x110f0f1e |
| .long 0xcbb0b07b,0xcbb0b07b |
| .long 0xfc5454a8,0xfc5454a8 |
| .long 0xd6bbbb6d,0xd6bbbb6d |
| .long 0x3a16162c,0x3a16162c |
| .byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 |
| .byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 |
| .byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 |
| .byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 |
| .byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc |
| .byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 |
| .byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a |
| .byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 |
| .byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 |
| .byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 |
| .byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b |
| .byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf |
| .byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 |
| .byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 |
| .byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 |
| .byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 |
| .byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 |
| .byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 |
| .byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 |
| .byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb |
| .byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c |
| .byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 |
| .byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 |
| .byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 |
| .byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 |
| .byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a |
| .byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e |
| .byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e |
| .byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 |
| .byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf |
| .byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 |
| .byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 |
| .byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 |
| .byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 |
| .byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 |
| .byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 |
| .byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc |
| .byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 |
| .byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a |
| .byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 |
| .byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 |
| .byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 |
| .byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b |
| .byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf |
| .byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 |
| .byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 |
| .byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 |
| .byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 |
| .byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 |
| .byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 |
| .byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 |
| .byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb |
| .byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c |
| .byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 |
| .byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 |
| .byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 |
| .byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 |
| .byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a |
| .byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e |
| .byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e |
| .byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 |
| .byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf |
| .byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 |
| .byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 |
| .byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 |
| .byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 |
| .byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 |
| .byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 |
| .byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc |
| .byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 |
| .byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a |
| .byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 |
| .byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 |
| .byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 |
| .byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b |
| .byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf |
| .byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 |
| .byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 |
| .byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 |
| .byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 |
| .byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 |
| .byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 |
| .byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 |
| .byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb |
| .byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c |
| .byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 |
| .byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 |
| .byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 |
| .byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 |
| .byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a |
| .byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e |
| .byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e |
| .byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 |
| .byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf |
| .byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 |
| .byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 |
| .byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 |
| .byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 |
| .byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 |
| .byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 |
| .byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc |
| .byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 |
| .byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a |
| .byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 |
| .byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 |
| .byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 |
| .byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b |
| .byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf |
| .byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 |
| .byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 |
| .byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 |
| .byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 |
| .byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 |
| .byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 |
| .byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 |
| .byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb |
| .byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c |
| .byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 |
| .byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 |
| .byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 |
| .byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 |
| .byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a |
| .byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e |
| .byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e |
| .byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 |
| .byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf |
| .byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 |
| .byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 |
| .long 0x00000001, 0x00000002, 0x00000004, 0x00000008 |
| .long 0x00000010, 0x00000020, 0x00000040, 0x00000080 |
| .long 0x0000001b, 0x00000036, 0x80808080, 0x80808080 |
| .long 0xfefefefe, 0xfefefefe, 0x1b1b1b1b, 0x1b1b1b1b |
| .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 |
| .p2align 6 |
| #endif |