1.text 2#ifdef OPENSSL_FIPSCANISTER 3# include <openssl/fipssyms.h> 4#endif 5 6#if !defined(__vxworks) || defined(__pic__) 7.option pic2 8#endif 9.set noat 10.align 5 11.ent _mips_AES_encrypt 12_mips_AES_encrypt: 13 .frame $29,0,$31 14 .set reorder 15 lw $12,0($6) 16 lw $13,4($6) 17 lw $14,8($6) 18 lw $15,12($6) 19 lw $30,240($6) 20 add $3,$6,16 21 22 xor $8,$12 23 xor $9,$13 24 xor $10,$14 25 xor $11,$15 26 27 sub $30,1 28 srl $1,$9,6 29.Loop_enc: 30 srl $2,$10,6 31 srl $24,$11,6 32 srl $25,$8,6 33 and $1,0x3fc 34 and $2,0x3fc 35 and $24,0x3fc 36 and $25,0x3fc 37 add $1,$7 38 add $2,$7 39 add $24,$7 40 add $25,$7 41 lwl $12,2($1) # Te1[s1>>16] 42 lwl $13,2($2) # Te1[s2>>16] 43 lwl $14,2($24) # Te1[s3>>16] 44 lwl $15,2($25) # Te1[s0>>16] 45 lwr $12,3($1) # Te1[s1>>16] 46 lwr $13,3($2) # Te1[s2>>16] 47 lwr $14,3($24) # Te1[s3>>16] 48 lwr $15,3($25) # Te1[s0>>16] 49 50 srl $1,$10,14 51 srl $2,$11,14 52 srl $24,$8,14 53 srl $25,$9,14 54 and $1,0x3fc 55 and $2,0x3fc 56 and $24,0x3fc 57 and $25,0x3fc 58 add $1,$7 59 add $2,$7 60 add $24,$7 61 add $25,$7 62 lwl $16,1($1) # Te2[s2>>8] 63 lwl $17,1($2) # Te2[s3>>8] 64 lwl $18,1($24) # Te2[s0>>8] 65 lwl $19,1($25) # Te2[s1>>8] 66 lwr $16,2($1) # Te2[s2>>8] 67 lwr $17,2($2) # Te2[s3>>8] 68 lwr $18,2($24) # Te2[s0>>8] 69 lwr $19,2($25) # Te2[s1>>8] 70 71 srl $1,$11,22 72 srl $2,$8,22 73 srl $24,$9,22 74 srl $25,$10,22 75 and $1,0x3fc 76 and $2,0x3fc 77 and $24,0x3fc 78 and $25,0x3fc 79 add $1,$7 80 add $2,$7 81 add $24,$7 82 add $25,$7 83 lwl $20,0($1) # Te3[s3] 84 lwl $21,0($2) # Te3[s0] 85 lwl $22,0($24) # Te3[s1] 86 lwl $23,0($25) # Te3[s2] 87 lwr $20,1($1) # Te3[s3] 88 lwr $21,1($2) # Te3[s0] 89 lwr $22,1($24) # Te3[s1] 90 lwr $23,1($25) # Te3[s2] 91 92 sll $1,$8,2 93 sll $2,$9,2 94 sll $24,$10,2 95 sll $25,$11,2 96 and $1,0x3fc 97 and $2,0x3fc 98 and $24,0x3fc 99 and $25,0x3fc 100 add $1,$7 101 add $2,$7 102 add $24,$7 103 add $25,$7 104 xor $12,$16 105 xor $13,$17 106 xor $14,$18 107 xor $15,$19 108 lw $16,0($1) # Te0[s0>>24] 109 lw $17,0($2) # Te0[s1>>24] 110 lw $18,0($24) # Te0[s2>>24] 111 lw $19,0($25) # Te0[s3>>24] 112 113 lw $8,0($3) 114 lw $9,4($3) 115 lw $10,8($3) 116 lw $11,12($3) 117 118 xor $12,$20 119 xor $13,$21 120 xor $14,$22 121 xor $15,$23 122 123 xor $12,$16 124 xor $13,$17 125 xor $14,$18 126 xor $15,$19 127 128 sub $30,1 129 add $3,16 130 xor $8,$12 131 xor $9,$13 132 xor $10,$14 133 xor $11,$15 134 .set noreorder 135 bnez $30,.Loop_enc 136 srl $1,$9,6 137 138 .set reorder 139 srl $2,$10,6 140 srl $24,$11,6 141 srl $25,$8,6 142 and $1,0x3fc 143 and $2,0x3fc 144 and $24,0x3fc 145 and $25,0x3fc 146 add $1,$7 147 add $2,$7 148 add $24,$7 149 add $25,$7 150 lbu $12,2($1) # Te4[s1>>16] 151 lbu $13,2($2) # Te4[s2>>16] 152 lbu $14,2($24) # Te4[s3>>16] 153 lbu $15,2($25) # Te4[s0>>16] 154 155 srl $1,$10,14 156 srl $2,$11,14 157 srl $24,$8,14 158 srl $25,$9,14 159 and $1,0x3fc 160 and $2,0x3fc 161 and $24,0x3fc 162 and $25,0x3fc 163 add $1,$7 164 add $2,$7 165 add $24,$7 166 add $25,$7 167 lbu $16,2($1) # Te4[s2>>8] 168 lbu $17,2($2) # Te4[s3>>8] 169 lbu $18,2($24) # Te4[s0>>8] 170 lbu $19,2($25) # Te4[s1>>8] 171 172 sll $1,$8,2 173 sll $2,$9,2 174 sll $24,$10,2 175 sll $25,$11,2 176 and $1,0x3fc 177 and $2,0x3fc 178 and $24,0x3fc 179 and $25,0x3fc 180 add $1,$7 181 add $2,$7 182 add $24,$7 183 add $25,$7 184 lbu $20,2($1) # Te4[s0>>24] 185 lbu $21,2($2) # Te4[s1>>24] 186 lbu $22,2($24) # Te4[s2>>24] 187 lbu $23,2($25) # Te4[s3>>24] 188 189 srl $1,$11,22 190 srl $2,$8,22 191 srl $24,$9,22 192 srl $25,$10,22 193 and $1,0x3fc 194 and $2,0x3fc 195 and $24,0x3fc 196 and $25,0x3fc 197 198 sll $12,$12,8 199 sll $13,$13,8 200 sll $14,$14,8 201 sll $15,$15,8 202 203 sll $16,$16,16 204 sll $17,$17,16 205 sll $18,$18,16 206 sll $19,$19,16 207 208 xor $12,$16 209 xor $13,$17 210 xor $14,$18 211 xor $15,$19 212 213 add $1,$7 214 add $2,$7 215 add $24,$7 216 add $25,$7 217 lbu $16,2($1) # Te4[s3] 218 lbu $17,2($2) # Te4[s0] 219 lbu $18,2($24) # Te4[s1] 220 lbu $19,2($25) # Te4[s2] 221 222 #sll $20,$20,0 223 #sll $21,$21,0 224 #sll $22,$22,0 225 #sll $23,$23,0 226 227 lw $8,0($3) 228 lw $9,4($3) 229 lw $10,8($3) 230 lw $11,12($3) 231 232 xor $12,$20 233 xor $13,$21 234 xor $14,$22 235 xor $15,$23 236 237 sll $16,$16,24 238 sll $17,$17,24 239 sll $18,$18,24 240 sll $19,$19,24 241 242 xor $12,$16 243 xor $13,$17 244 xor $14,$18 245 xor $15,$19 246 247 xor $8,$12 248 xor $9,$13 249 xor $10,$14 250 xor $11,$15 251 252 jr $31 253.end _mips_AES_encrypt 254 255.align 5 256.globl AES_encrypt 257.ent AES_encrypt 258AES_encrypt: 259 .frame $29,64,$31 260 .mask 3237937152,-4 261 .set noreorder 262 sub $29,64 263 sw $31,64-1*4($29) 264 sw $30,64-2*4($29) 265 sw $23,64-3*4($29) 266 sw $22,64-4*4($29) 267 sw $21,64-5*4($29) 268 sw $20,64-6*4($29) 269 sw $19,64-7*4($29) 270 sw $18,64-8*4($29) 271 sw $17,64-9*4($29) 272 sw $16,64-10*4($29) 273 .cplocal $7 274 .cpsetup $25,$0,AES_encrypt 275 .set reorder 276 la $7,AES_Te # PIC-ified 'load address' 277 278 lwl $8,0+3($4) 279 lwl $9,4+3($4) 280 lwl $10,8+3($4) 281 lwl $11,12+3($4) 282 lwr $8,0+0($4) 283 lwr $9,4+0($4) 284 lwr $10,8+0($4) 285 lwr $11,12+0($4) 286 287 bal _mips_AES_encrypt 288 289 swr $8,0+0($5) 290 swr $9,4+0($5) 291 swr $10,8+0($5) 292 swr $11,12+0($5) 293 swl $8,0+3($5) 294 swl $9,4+3($5) 295 swl $10,8+3($5) 296 swl $11,12+3($5) 297 298 .set noreorder 299 lw $31,64-1*4($29) 300 lw $30,64-2*4($29) 301 lw $23,64-3*4($29) 302 lw $22,64-4*4($29) 303 lw $21,64-5*4($29) 304 lw $20,64-6*4($29) 305 lw $19,64-7*4($29) 306 lw $18,64-8*4($29) 307 lw $17,64-9*4($29) 308 lw $16,64-10*4($29) 309 jr $31 310 add $29,64 311.end AES_encrypt 312.align 5 313.ent _mips_AES_decrypt 314_mips_AES_decrypt: 315 .frame $29,0,$31 316 .set reorder 317 lw $12,0($6) 318 lw $13,4($6) 319 lw $14,8($6) 320 lw $15,12($6) 321 lw $30,240($6) 322 add $3,$6,16 323 324 xor $8,$12 325 xor $9,$13 326 xor $10,$14 327 xor $11,$15 328 329 sub $30,1 330 srl $1,$11,6 331.Loop_dec: 332 srl $2,$8,6 333 srl $24,$9,6 334 srl $25,$10,6 335 and $1,0x3fc 336 and $2,0x3fc 337 and $24,0x3fc 338 and $25,0x3fc 339 add $1,$7 340 add $2,$7 341 add $24,$7 342 add $25,$7 343 lwl $12,2($1) # Td1[s3>>16] 344 lwl $13,2($2) # Td1[s0>>16] 345 lwl $14,2($24) # Td1[s1>>16] 346 lwl $15,2($25) # Td1[s2>>16] 347 lwr $12,3($1) # Td1[s3>>16] 348 lwr $13,3($2) # Td1[s0>>16] 349 lwr $14,3($24) # Td1[s1>>16] 350 lwr $15,3($25) # Td1[s2>>16] 351 352 srl $1,$10,14 353 srl $2,$11,14 354 srl $24,$8,14 355 srl $25,$9,14 356 and $1,0x3fc 357 and $2,0x3fc 358 and $24,0x3fc 359 and $25,0x3fc 360 add $1,$7 361 add $2,$7 362 add $24,$7 363 add $25,$7 364 lwl $16,1($1) # Td2[s2>>8] 365 lwl $17,1($2) # Td2[s3>>8] 366 lwl $18,1($24) # Td2[s0>>8] 367 lwl $19,1($25) # Td2[s1>>8] 368 lwr $16,2($1) # Td2[s2>>8] 369 lwr $17,2($2) # Td2[s3>>8] 370 lwr $18,2($24) # Td2[s0>>8] 371 lwr $19,2($25) # Td2[s1>>8] 372 373 srl $1,$9,22 374 srl $2,$10,22 375 srl $24,$11,22 376 srl $25,$8,22 377 and $1,0x3fc 378 and $2,0x3fc 379 and $24,0x3fc 380 and $25,0x3fc 381 add $1,$7 382 add $2,$7 383 add $24,$7 384 add $25,$7 385 lwl $20,0($1) # Td3[s1] 386 lwl $21,0($2) # Td3[s2] 387 lwl $22,0($24) # Td3[s3] 388 lwl $23,0($25) # Td3[s0] 389 lwr $20,1($1) # Td3[s1] 390 lwr $21,1($2) # Td3[s2] 391 lwr $22,1($24) # Td3[s3] 392 lwr $23,1($25) # Td3[s0] 393 394 sll $1,$8,2 395 sll $2,$9,2 396 sll $24,$10,2 397 sll $25,$11,2 398 and $1,0x3fc 399 and $2,0x3fc 400 and $24,0x3fc 401 and $25,0x3fc 402 add $1,$7 403 add $2,$7 404 add $24,$7 405 add $25,$7 406 407 xor $12,$16 408 xor $13,$17 409 xor $14,$18 410 xor $15,$19 411 412 413 lw $16,0($1) # Td0[s0>>24] 414 lw $17,0($2) # Td0[s1>>24] 415 lw $18,0($24) # Td0[s2>>24] 416 lw $19,0($25) # Td0[s3>>24] 417 418 lw $8,0($3) 419 lw $9,4($3) 420 lw $10,8($3) 421 lw $11,12($3) 422 423 xor $12,$20 424 xor $13,$21 425 xor $14,$22 426 xor $15,$23 427 428 xor $12,$16 429 xor $13,$17 430 xor $14,$18 431 xor $15,$19 432 433 sub $30,1 434 add $3,16 435 xor $8,$12 436 xor $9,$13 437 xor $10,$14 438 xor $11,$15 439 .set noreorder 440 bnez $30,.Loop_dec 441 srl $1,$11,6 442 443 .set reorder 444 lw $16,1024($7) # prefetch Td4 445 lw $17,1024+32($7) 446 lw $18,1024+64($7) 447 lw $19,1024+96($7) 448 lw $20,1024+128($7) 449 lw $21,1024+160($7) 450 lw $22,1024+192($7) 451 lw $23,1024+224($7) 452 453 srl $1,$11,8 454 srl $2,$8,8 455 srl $24,$9,8 456 srl $25,$10,8 457 and $1,0xff 458 and $2,0xff 459 and $24,0xff 460 and $25,0xff 461 add $1,$7 462 add $2,$7 463 add $24,$7 464 add $25,$7 465 lbu $12,1024($1) # Td4[s3>>16] 466 lbu $13,1024($2) # Td4[s0>>16] 467 lbu $14,1024($24) # Td4[s1>>16] 468 lbu $15,1024($25) # Td4[s2>>16] 469 470 srl $1,$10,16 471 srl $2,$11,16 472 srl $24,$8,16 473 srl $25,$9,16 474 and $1,0xff 475 and $2,0xff 476 and $24,0xff 477 and $25,0xff 478 add $1,$7 479 add $2,$7 480 add $24,$7 481 add $25,$7 482 lbu $16,1024($1) # Td4[s2>>8] 483 lbu $17,1024($2) # Td4[s3>>8] 484 lbu $18,1024($24) # Td4[s0>>8] 485 lbu $19,1024($25) # Td4[s1>>8] 486 487 and $1,$8,0xff 488 and $2,$9,0xff 489 and $24,$10,0xff 490 and $25,$11,0xff 491 add $1,$7 492 add $2,$7 493 add $24,$7 494 add $25,$7 495 lbu $20,1024($1) # Td4[s0>>24] 496 lbu $21,1024($2) # Td4[s1>>24] 497 lbu $22,1024($24) # Td4[s2>>24] 498 lbu $23,1024($25) # Td4[s3>>24] 499 500 srl $1,$9,24 501 srl $2,$10,24 502 srl $24,$11,24 503 srl $25,$8,24 504 505 sll $12,$12,8 506 sll $13,$13,8 507 sll $14,$14,8 508 sll $15,$15,8 509 510 sll $16,$16,16 511 sll $17,$17,16 512 sll $18,$18,16 513 sll $19,$19,16 514 515 xor $12,$16 516 xor $13,$17 517 xor $14,$18 518 xor $15,$19 519 520 add $1,$7 521 add $2,$7 522 add $24,$7 523 add $25,$7 524 lbu $16,1024($1) # Td4[s1] 525 lbu $17,1024($2) # Td4[s2] 526 lbu $18,1024($24) # Td4[s3] 527 lbu $19,1024($25) # Td4[s0] 528 529 #sll $20,$20,0 530 #sll $21,$21,0 531 #sll $22,$22,0 532 #sll $23,$23,0 533 534 lw $8,0($3) 535 lw $9,4($3) 536 lw $10,8($3) 537 lw $11,12($3) 538 539 sll $16,$16,24 540 sll $17,$17,24 541 sll $18,$18,24 542 sll $19,$19,24 543 544 545 xor $12,$20 546 xor $13,$21 547 xor $14,$22 548 xor $15,$23 549 550 xor $12,$16 551 xor $13,$17 552 xor $14,$18 553 xor $15,$19 554 555 xor $8,$12 556 xor $9,$13 557 xor $10,$14 558 xor $11,$15 559 560 jr $31 561.end _mips_AES_decrypt 562 563.align 5 564.globl AES_decrypt 565.ent AES_decrypt 566AES_decrypt: 567 .frame $29,64,$31 568 .mask 3237937152,-4 569 .set noreorder 570 sub $29,64 571 sw $31,64-1*4($29) 572 sw $30,64-2*4($29) 573 sw $23,64-3*4($29) 574 sw $22,64-4*4($29) 575 sw $21,64-5*4($29) 576 sw $20,64-6*4($29) 577 sw $19,64-7*4($29) 578 sw $18,64-8*4($29) 579 sw $17,64-9*4($29) 580 sw $16,64-10*4($29) 581 .cplocal $7 582 .cpsetup $25,$0,AES_decrypt 583 .set reorder 584 la $7,AES_Td # PIC-ified 'load address' 585 586 lwl $8,0+3($4) 587 lwl $9,4+3($4) 588 lwl $10,8+3($4) 589 lwl $11,12+3($4) 590 lwr $8,0+0($4) 591 lwr $9,4+0($4) 592 lwr $10,8+0($4) 593 lwr $11,12+0($4) 594 595 bal _mips_AES_decrypt 596 597 swr $8,0+0($5) 598 swr $9,4+0($5) 599 swr $10,8+0($5) 600 swr $11,12+0($5) 601 swl $8,0+3($5) 602 swl $9,4+3($5) 603 swl $10,8+3($5) 604 swl $11,12+3($5) 605 606 .set noreorder 607 lw $31,64-1*4($29) 608 lw $30,64-2*4($29) 609 lw $23,64-3*4($29) 610 lw $22,64-4*4($29) 611 lw $21,64-5*4($29) 612 lw $20,64-6*4($29) 613 lw $19,64-7*4($29) 614 lw $18,64-8*4($29) 615 lw $17,64-9*4($29) 616 lw $16,64-10*4($29) 617 jr $31 618 add $29,64 619.end AES_decrypt 620.align 5 621.ent _mips_AES_set_encrypt_key 622_mips_AES_set_encrypt_key: 623 .frame $29,0,$31 624 .set noreorder 625 beqz $4,.Lekey_done 626 li $2,-1 627 beqz $6,.Lekey_done 628 add $3,$7,1024+256 629 630 .set reorder 631 lwl $8,0+3($4) # load 128 bits 632 lwl $9,4+3($4) 633 lwl $10,8+3($4) 634 lwl $11,12+3($4) 635 li $1,128 636 lwr $8,0+0($4) 637 lwr $9,4+0($4) 638 lwr $10,8+0($4) 639 lwr $11,12+0($4) 640 .set noreorder 641 beq $5,$1,.L128bits 642 li $30,10 643 644 .set reorder 645 lwl $12,16+3($4) # load 192 bits 646 lwl $13,20+3($4) 647 li $1,192 648 lwr $12,16+0($4) 649 lwr $13,20+0($4) 650 .set noreorder 651 beq $5,$1,.L192bits 652 li $30,8 653 654 .set reorder 655 lwl $14,24+3($4) # load 256 bits 656 lwl $15,28+3($4) 657 li $1,256 658 lwr $14,24+0($4) 659 lwr $15,28+0($4) 660 .set noreorder 661 beq $5,$1,.L256bits 662 li $30,7 663 664 b .Lekey_done 665 li $2,-2 666 667.align 4 668.L128bits: 669 .set reorder 670 srl $1,$11,16 671 srl $2,$11,8 672 and $1,0xff 673 and $2,0xff 674 and $24,$11,0xff 675 srl $25,$11,24 676 add $1,$7 677 add $2,$7 678 add $24,$7 679 add $25,$7 680 lbu $1,1024($1) 681 lbu $2,1024($2) 682 lbu $24,1024($24) 683 lbu $25,1024($25) 684 685 sw $8,0($6) 686 sw $9,4($6) 687 sw $10,8($6) 688 sw $11,12($6) 689 sub $30,1 690 add $6,16 691 692 sll $1,$1,8 693 #sll $2,$2,0 694 sll $24,$24,24 695 sll $25,$25,16 696 697 xor $8,$1 698 lw $1,0($3) 699 xor $8,$2 700 xor $8,$24 701 xor $8,$25 702 xor $8,$1 703 704 xor $9,$8 705 xor $10,$9 706 xor $11,$10 707 708 .set noreorder 709 bnez $30,.L128bits 710 add $3,4 711 712 sw $8,0($6) 713 sw $9,4($6) 714 sw $10,8($6) 715 li $30,10 716 sw $11,12($6) 717 li $2,0 718 sw $30,80($6) 719 b .Lekey_done 720 sub $6,10*16 721 722.align 4 723.L192bits: 724 .set reorder 725 srl $1,$13,16 726 srl $2,$13,8 727 and $1,0xff 728 and $2,0xff 729 and $24,$13,0xff 730 srl $25,$13,24 731 add $1,$7 732 add $2,$7 733 add $24,$7 734 add $25,$7 735 lbu $1,1024($1) 736 lbu $2,1024($2) 737 lbu $24,1024($24) 738 lbu $25,1024($25) 739 740 sw $8,0($6) 741 sw $9,4($6) 742 sw $10,8($6) 743 sw $11,12($6) 744 sw $12,16($6) 745 sw $13,20($6) 746 sub $30,1 747 add $6,24 748 749 sll $1,$1,8 750 #sll $2,$2,0 751 sll $24,$24,24 752 sll $25,$25,16 753 754 xor $8,$1 755 lw $1,0($3) 756 xor $8,$2 757 xor $8,$24 758 xor $8,$25 759 xor $8,$1 760 761 xor $9,$8 762 xor $10,$9 763 xor $11,$10 764 xor $12,$11 765 xor $13,$12 766 767 .set noreorder 768 bnez $30,.L192bits 769 add $3,4 770 771 sw $8,0($6) 772 sw $9,4($6) 773 sw $10,8($6) 774 li $30,12 775 sw $11,12($6) 776 li $2,0 777 sw $30,48($6) 778 b .Lekey_done 779 sub $6,12*16 780 781.align 4 782.L256bits: 783 .set reorder 784 srl $1,$15,16 785 srl $2,$15,8 786 and $1,0xff 787 and $2,0xff 788 and $24,$15,0xff 789 srl $25,$15,24 790 add $1,$7 791 add $2,$7 792 add $24,$7 793 add $25,$7 794 lbu $1,1024($1) 795 lbu $2,1024($2) 796 lbu $24,1024($24) 797 lbu $25,1024($25) 798 799 sw $8,0($6) 800 sw $9,4($6) 801 sw $10,8($6) 802 sw $11,12($6) 803 sw $12,16($6) 804 sw $13,20($6) 805 sw $14,24($6) 806 sw $15,28($6) 807 sub $30,1 808 809 sll $1,$1,8 810 #sll $2,$2,0 811 sll $24,$24,24 812 sll $25,$25,16 813 814 xor $8,$1 815 lw $1,0($3) 816 xor $8,$2 817 xor $8,$24 818 xor $8,$25 819 xor $8,$1 820 821 xor $9,$8 822 xor $10,$9 823 xor $11,$10 824 beqz $30,.L256bits_done 825 826 srl $1,$11,24 827 srl $2,$11,16 828 srl $24,$11,8 829 and $25,$11,0xff 830 and $2,0xff 831 and $24,0xff 832 add $1,$7 833 add $2,$7 834 add $24,$7 835 add $25,$7 836 lbu $1,1024($1) 837 lbu $2,1024($2) 838 lbu $24,1024($24) 839 lbu $25,1024($25) 840 sll $1,24 841 sll $2,16 842 sll $24,8 843 844 xor $12,$1 845 xor $12,$2 846 xor $12,$24 847 xor $12,$25 848 849 xor $13,$12 850 xor $14,$13 851 xor $15,$14 852 853 add $6,32 854 .set noreorder 855 b .L256bits 856 add $3,4 857 858.L256bits_done: 859 sw $8,32($6) 860 sw $9,36($6) 861 sw $10,40($6) 862 li $30,14 863 sw $11,44($6) 864 li $2,0 865 sw $30,48($6) 866 sub $6,12*16 867 868.Lekey_done: 869 jr $31 870 nop 871.end _mips_AES_set_encrypt_key 872 873.globl AES_set_encrypt_key 874.ent AES_set_encrypt_key 875AES_set_encrypt_key: 876 .frame $29,32,$31 877 .mask 3221225472,-4 878 .set noreorder 879 sub $29,32 880 sw $31,32-1*4($29) 881 sw $30,32-2*4($29) 882 .cplocal $7 883 .cpsetup $25,$0,AES_set_encrypt_key 884 .set reorder 885 la $7,AES_Te # PIC-ified 'load address' 886 887 bal _mips_AES_set_encrypt_key 888 889 .set noreorder 890 move $4,$2 891 lw $31,32-1*4($29) 892 lw $30,32-2*4($29) 893 jr $31 894 add $29,32 895.end AES_set_encrypt_key 896.align 5 897.globl AES_set_decrypt_key 898.ent AES_set_decrypt_key 899AES_set_decrypt_key: 900 .frame $29,32,$31 901 .mask 3221225472,-4 902 .set noreorder 903 sub $29,32 904 sw $31,32-1*4($29) 905 sw $30,32-2*4($29) 906 .cplocal $7 907 .cpsetup $25,$0,AES_set_decrypt_key 908 .set reorder 909 la $7,AES_Te # PIC-ified 'load address' 910 911 bal _mips_AES_set_encrypt_key 912 913 bltz $2,.Ldkey_done 914 915 sll $1,$30,4 916 add $4,$6,0 917 add $5,$6,$1 918.align 4 919.Lswap: 920 lw $8,0($4) 921 lw $9,4($4) 922 lw $10,8($4) 923 lw $11,12($4) 924 lw $12,0($5) 925 lw $13,4($5) 926 lw $14,8($5) 927 lw $15,12($5) 928 sw $8,0($5) 929 sw $9,4($5) 930 sw $10,8($5) 931 sw $11,12($5) 932 add $4,16 933 sub $5,16 934 sw $12,-16($4) 935 sw $13,-12($4) 936 sw $14,-8($4) 937 sw $15,-4($4) 938 bne $4,$5,.Lswap 939 940 lw $8,16($6) # modulo-scheduled 941 lui $2,0x8080 942 sub $30,1 943 or $2,0x8080 944 sll $30,2 945 add $6,16 946 lui $25,0x1b1b 947 nor $24,$0,$2 948 or $25,0x1b1b 949.align 4 950.Lmix: 951 and $1,$8,$2 952 and $9,$8,$24 953 srl $10,$1,7 954 addu $9,$9 # tp2<<1 955 subu $1,$10 956 and $1,$25 957 xor $9,$1 958 959 and $1,$9,$2 960 and $10,$9,$24 961 srl $11,$1,7 962 addu $10,$10 # tp4<<1 963 subu $1,$11 964 and $1,$25 965 xor $10,$1 966 967 and $1,$10,$2 968 and $11,$10,$24 969 srl $12,$1,7 970 addu $11,$11 # tp8<<1 971 subu $1,$12 972 and $1,$25 973 xor $11,$1 974 975 xor $12,$11,$8 976 xor $15,$11,$10 977 xor $13,$12,$9 978 xor $14,$12,$10 979 980 sll $8,$14,16 981 xor $15,$9 982 srl $9,$14,16 983 xor $15,$8 984 sll $8,$12,8 985 xor $15,$9 986 srl $9,$12,24 987 xor $15,$8 988 sll $8,$13,24 989 xor $15,$9 990 srl $9,$13,8 991 xor $15,$8 992 lw $8,4($6) # modulo-scheduled 993 xor $15,$9 994 sub $30,1 995 sw $15,0($6) 996 add $6,4 997 bnez $30,.Lmix 998 999 li $2,0 1000.Ldkey_done: 1001 .set noreorder 1002 move $4,$2 1003 lw $31,32-1*4($29) 1004 lw $30,32-2*4($29) 1005 jr $31 1006 add $29,32 1007.end AES_set_decrypt_key 1008.rdata 1009.align 6 1010AES_Te: 1011.byte 0xc6,0x63,0x63,0xa5, 0xf8,0x7c,0x7c,0x84 # Te0 1012.byte 0xee,0x77,0x77,0x99, 0xf6,0x7b,0x7b,0x8d 1013.byte 0xff,0xf2,0xf2,0x0d, 0xd6,0x6b,0x6b,0xbd 1014.byte 0xde,0x6f,0x6f,0xb1, 0x91,0xc5,0xc5,0x54 1015.byte 0x60,0x30,0x30,0x50, 0x02,0x01,0x01,0x03 1016.byte 0xce,0x67,0x67,0xa9, 0x56,0x2b,0x2b,0x7d 1017.byte 0xe7,0xfe,0xfe,0x19, 0xb5,0xd7,0xd7,0x62 1018.byte 0x4d,0xab,0xab,0xe6, 0xec,0x76,0x76,0x9a 1019.byte 0x8f,0xca,0xca,0x45, 0x1f,0x82,0x82,0x9d 1020.byte 0x89,0xc9,0xc9,0x40, 0xfa,0x7d,0x7d,0x87 1021.byte 0xef,0xfa,0xfa,0x15, 0xb2,0x59,0x59,0xeb 1022.byte 0x8e,0x47,0x47,0xc9, 0xfb,0xf0,0xf0,0x0b 1023.byte 0x41,0xad,0xad,0xec, 0xb3,0xd4,0xd4,0x67 1024.byte 0x5f,0xa2,0xa2,0xfd, 0x45,0xaf,0xaf,0xea 1025.byte 0x23,0x9c,0x9c,0xbf, 0x53,0xa4,0xa4,0xf7 1026.byte 0xe4,0x72,0x72,0x96, 0x9b,0xc0,0xc0,0x5b 1027.byte 0x75,0xb7,0xb7,0xc2, 0xe1,0xfd,0xfd,0x1c 1028.byte 0x3d,0x93,0x93,0xae, 0x4c,0x26,0x26,0x6a 1029.byte 0x6c,0x36,0x36,0x5a, 0x7e,0x3f,0x3f,0x41 1030.byte 0xf5,0xf7,0xf7,0x02, 0x83,0xcc,0xcc,0x4f 1031.byte 0x68,0x34,0x34,0x5c, 0x51,0xa5,0xa5,0xf4 1032.byte 0xd1,0xe5,0xe5,0x34, 0xf9,0xf1,0xf1,0x08 1033.byte 0xe2,0x71,0x71,0x93, 0xab,0xd8,0xd8,0x73 1034.byte 0x62,0x31,0x31,0x53, 0x2a,0x15,0x15,0x3f 1035.byte 0x08,0x04,0x04,0x0c, 0x95,0xc7,0xc7,0x52 1036.byte 0x46,0x23,0x23,0x65, 0x9d,0xc3,0xc3,0x5e 1037.byte 0x30,0x18,0x18,0x28, 0x37,0x96,0x96,0xa1 1038.byte 0x0a,0x05,0x05,0x0f, 0x2f,0x9a,0x9a,0xb5 1039.byte 0x0e,0x07,0x07,0x09, 0x24,0x12,0x12,0x36 1040.byte 0x1b,0x80,0x80,0x9b, 0xdf,0xe2,0xe2,0x3d 1041.byte 0xcd,0xeb,0xeb,0x26, 0x4e,0x27,0x27,0x69 1042.byte 0x7f,0xb2,0xb2,0xcd, 0xea,0x75,0x75,0x9f 1043.byte 0x12,0x09,0x09,0x1b, 0x1d,0x83,0x83,0x9e 1044.byte 0x58,0x2c,0x2c,0x74, 0x34,0x1a,0x1a,0x2e 1045.byte 0x36,0x1b,0x1b,0x2d, 0xdc,0x6e,0x6e,0xb2 1046.byte 0xb4,0x5a,0x5a,0xee, 0x5b,0xa0,0xa0,0xfb 1047.byte 0xa4,0x52,0x52,0xf6, 0x76,0x3b,0x3b,0x4d 1048.byte 0xb7,0xd6,0xd6,0x61, 0x7d,0xb3,0xb3,0xce 1049.byte 0x52,0x29,0x29,0x7b, 0xdd,0xe3,0xe3,0x3e 1050.byte 0x5e,0x2f,0x2f,0x71, 0x13,0x84,0x84,0x97 1051.byte 0xa6,0x53,0x53,0xf5, 0xb9,0xd1,0xd1,0x68 1052.byte 0x00,0x00,0x00,0x00, 0xc1,0xed,0xed,0x2c 1053.byte 0x40,0x20,0x20,0x60, 0xe3,0xfc,0xfc,0x1f 1054.byte 0x79,0xb1,0xb1,0xc8, 0xb6,0x5b,0x5b,0xed 1055.byte 0xd4,0x6a,0x6a,0xbe, 0x8d,0xcb,0xcb,0x46 1056.byte 0x67,0xbe,0xbe,0xd9, 0x72,0x39,0x39,0x4b 1057.byte 0x94,0x4a,0x4a,0xde, 0x98,0x4c,0x4c,0xd4 1058.byte 0xb0,0x58,0x58,0xe8, 0x85,0xcf,0xcf,0x4a 1059.byte 0xbb,0xd0,0xd0,0x6b, 0xc5,0xef,0xef,0x2a 1060.byte 0x4f,0xaa,0xaa,0xe5, 0xed,0xfb,0xfb,0x16 1061.byte 0x86,0x43,0x43,0xc5, 0x9a,0x4d,0x4d,0xd7 1062.byte 0x66,0x33,0x33,0x55, 0x11,0x85,0x85,0x94 1063.byte 0x8a,0x45,0x45,0xcf, 0xe9,0xf9,0xf9,0x10 1064.byte 0x04,0x02,0x02,0x06, 0xfe,0x7f,0x7f,0x81 1065.byte 0xa0,0x50,0x50,0xf0, 0x78,0x3c,0x3c,0x44 1066.byte 0x25,0x9f,0x9f,0xba, 0x4b,0xa8,0xa8,0xe3 1067.byte 0xa2,0x51,0x51,0xf3, 0x5d,0xa3,0xa3,0xfe 1068.byte 0x80,0x40,0x40,0xc0, 0x05,0x8f,0x8f,0x8a 1069.byte 0x3f,0x92,0x92,0xad, 0x21,0x9d,0x9d,0xbc 1070.byte 0x70,0x38,0x38,0x48, 0xf1,0xf5,0xf5,0x04 1071.byte 0x63,0xbc,0xbc,0xdf, 0x77,0xb6,0xb6,0xc1 1072.byte 0xaf,0xda,0xda,0x75, 0x42,0x21,0x21,0x63 1073.byte 0x20,0x10,0x10,0x30, 0xe5,0xff,0xff,0x1a 1074.byte 0xfd,0xf3,0xf3,0x0e, 0xbf,0xd2,0xd2,0x6d 1075.byte 0x81,0xcd,0xcd,0x4c, 0x18,0x0c,0x0c,0x14 1076.byte 0x26,0x13,0x13,0x35, 0xc3,0xec,0xec,0x2f 1077.byte 0xbe,0x5f,0x5f,0xe1, 0x35,0x97,0x97,0xa2 1078.byte 0x88,0x44,0x44,0xcc, 0x2e,0x17,0x17,0x39 1079.byte 0x93,0xc4,0xc4,0x57, 0x55,0xa7,0xa7,0xf2 1080.byte 0xfc,0x7e,0x7e,0x82, 0x7a,0x3d,0x3d,0x47 1081.byte 0xc8,0x64,0x64,0xac, 0xba,0x5d,0x5d,0xe7 1082.byte 0x32,0x19,0x19,0x2b, 0xe6,0x73,0x73,0x95 1083.byte 0xc0,0x60,0x60,0xa0, 0x19,0x81,0x81,0x98 1084.byte 0x9e,0x4f,0x4f,0xd1, 0xa3,0xdc,0xdc,0x7f 1085.byte 0x44,0x22,0x22,0x66, 0x54,0x2a,0x2a,0x7e 1086.byte 0x3b,0x90,0x90,0xab, 0x0b,0x88,0x88,0x83 1087.byte 0x8c,0x46,0x46,0xca, 0xc7,0xee,0xee,0x29 1088.byte 0x6b,0xb8,0xb8,0xd3, 0x28,0x14,0x14,0x3c 1089.byte 0xa7,0xde,0xde,0x79, 0xbc,0x5e,0x5e,0xe2 1090.byte 0x16,0x0b,0x0b,0x1d, 0xad,0xdb,0xdb,0x76 1091.byte 0xdb,0xe0,0xe0,0x3b, 0x64,0x32,0x32,0x56 1092.byte 0x74,0x3a,0x3a,0x4e, 0x14,0x0a,0x0a,0x1e 1093.byte 0x92,0x49,0x49,0xdb, 0x0c,0x06,0x06,0x0a 1094.byte 0x48,0x24,0x24,0x6c, 0xb8,0x5c,0x5c,0xe4 1095.byte 0x9f,0xc2,0xc2,0x5d, 0xbd,0xd3,0xd3,0x6e 1096.byte 0x43,0xac,0xac,0xef, 0xc4,0x62,0x62,0xa6 1097.byte 0x39,0x91,0x91,0xa8, 0x31,0x95,0x95,0xa4 1098.byte 0xd3,0xe4,0xe4,0x37, 0xf2,0x79,0x79,0x8b 1099.byte 0xd5,0xe7,0xe7,0x32, 0x8b,0xc8,0xc8,0x43 1100.byte 0x6e,0x37,0x37,0x59, 0xda,0x6d,0x6d,0xb7 1101.byte 0x01,0x8d,0x8d,0x8c, 0xb1,0xd5,0xd5,0x64 1102.byte 0x9c,0x4e,0x4e,0xd2, 0x49,0xa9,0xa9,0xe0 1103.byte 0xd8,0x6c,0x6c,0xb4, 0xac,0x56,0x56,0xfa 1104.byte 0xf3,0xf4,0xf4,0x07, 0xcf,0xea,0xea,0x25 1105.byte 0xca,0x65,0x65,0xaf, 0xf4,0x7a,0x7a,0x8e 1106.byte 0x47,0xae,0xae,0xe9, 0x10,0x08,0x08,0x18 1107.byte 0x6f,0xba,0xba,0xd5, 0xf0,0x78,0x78,0x88 1108.byte 0x4a,0x25,0x25,0x6f, 0x5c,0x2e,0x2e,0x72 1109.byte 0x38,0x1c,0x1c,0x24, 0x57,0xa6,0xa6,0xf1 1110.byte 0x73,0xb4,0xb4,0xc7, 0x97,0xc6,0xc6,0x51 1111.byte 0xcb,0xe8,0xe8,0x23, 0xa1,0xdd,0xdd,0x7c 1112.byte 0xe8,0x74,0x74,0x9c, 0x3e,0x1f,0x1f,0x21 1113.byte 0x96,0x4b,0x4b,0xdd, 0x61,0xbd,0xbd,0xdc 1114.byte 0x0d,0x8b,0x8b,0x86, 0x0f,0x8a,0x8a,0x85 1115.byte 0xe0,0x70,0x70,0x90, 0x7c,0x3e,0x3e,0x42 1116.byte 0x71,0xb5,0xb5,0xc4, 0xcc,0x66,0x66,0xaa 1117.byte 0x90,0x48,0x48,0xd8, 0x06,0x03,0x03,0x05 1118.byte 0xf7,0xf6,0xf6,0x01, 0x1c,0x0e,0x0e,0x12 1119.byte 0xc2,0x61,0x61,0xa3, 0x6a,0x35,0x35,0x5f 1120.byte 0xae,0x57,0x57,0xf9, 0x69,0xb9,0xb9,0xd0 1121.byte 0x17,0x86,0x86,0x91, 0x99,0xc1,0xc1,0x58 1122.byte 0x3a,0x1d,0x1d,0x27, 0x27,0x9e,0x9e,0xb9 1123.byte 0xd9,0xe1,0xe1,0x38, 0xeb,0xf8,0xf8,0x13 1124.byte 0x2b,0x98,0x98,0xb3, 0x22,0x11,0x11,0x33 1125.byte 0xd2,0x69,0x69,0xbb, 0xa9,0xd9,0xd9,0x70 1126.byte 0x07,0x8e,0x8e,0x89, 0x33,0x94,0x94,0xa7 1127.byte 0x2d,0x9b,0x9b,0xb6, 0x3c,0x1e,0x1e,0x22 1128.byte 0x15,0x87,0x87,0x92, 0xc9,0xe9,0xe9,0x20 1129.byte 0x87,0xce,0xce,0x49, 0xaa,0x55,0x55,0xff 1130.byte 0x50,0x28,0x28,0x78, 0xa5,0xdf,0xdf,0x7a 1131.byte 0x03,0x8c,0x8c,0x8f, 0x59,0xa1,0xa1,0xf8 1132.byte 0x09,0x89,0x89,0x80, 0x1a,0x0d,0x0d,0x17 1133.byte 0x65,0xbf,0xbf,0xda, 0xd7,0xe6,0xe6,0x31 1134.byte 0x84,0x42,0x42,0xc6, 0xd0,0x68,0x68,0xb8 1135.byte 0x82,0x41,0x41,0xc3, 0x29,0x99,0x99,0xb0 1136.byte 0x5a,0x2d,0x2d,0x77, 0x1e,0x0f,0x0f,0x11 1137.byte 0x7b,0xb0,0xb0,0xcb, 0xa8,0x54,0x54,0xfc 1138.byte 0x6d,0xbb,0xbb,0xd6, 0x2c,0x16,0x16,0x3a 1139 1140.byte 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5 # Te4 1141.byte 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76 1142.byte 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0 1143.byte 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0 1144.byte 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc 1145.byte 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15 1146.byte 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a 1147.byte 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75 1148.byte 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0 1149.byte 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84 1150.byte 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b 1151.byte 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf 1152.byte 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85 1153.byte 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8 1154.byte 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5 1155.byte 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2 1156.byte 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17 1157.byte 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73 1158.byte 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88 1159.byte 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb 1160.byte 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c 1161.byte 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79 1162.byte 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9 1163.byte 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08 1164.byte 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6 1165.byte 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a 1166.byte 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e 1167.byte 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e 1168.byte 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94 1169.byte 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf 1170.byte 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68 1171.byte 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16 1172 1173.byte 0x01,0x00,0x00,0x00, 0x02,0x00,0x00,0x00 # rcon 1174.byte 0x04,0x00,0x00,0x00, 0x08,0x00,0x00,0x00 1175.byte 0x10,0x00,0x00,0x00, 0x20,0x00,0x00,0x00 1176.byte 0x40,0x00,0x00,0x00, 0x80,0x00,0x00,0x00 1177.byte 0x1B,0x00,0x00,0x00, 0x36,0x00,0x00,0x00 1178 1179.align 6 1180AES_Td: 1181.byte 0x51,0xf4,0xa7,0x50, 0x7e,0x41,0x65,0x53 # Td0 1182.byte 0x1a,0x17,0xa4,0xc3, 0x3a,0x27,0x5e,0x96 1183.byte 0x3b,0xab,0x6b,0xcb, 0x1f,0x9d,0x45,0xf1 1184.byte 0xac,0xfa,0x58,0xab, 0x4b,0xe3,0x03,0x93 1185.byte 0x20,0x30,0xfa,0x55, 0xad,0x76,0x6d,0xf6 1186.byte 0x88,0xcc,0x76,0x91, 0xf5,0x02,0x4c,0x25 1187.byte 0x4f,0xe5,0xd7,0xfc, 0xc5,0x2a,0xcb,0xd7 1188.byte 0x26,0x35,0x44,0x80, 0xb5,0x62,0xa3,0x8f 1189.byte 0xde,0xb1,0x5a,0x49, 0x25,0xba,0x1b,0x67 1190.byte 0x45,0xea,0x0e,0x98, 0x5d,0xfe,0xc0,0xe1 1191.byte 0xc3,0x2f,0x75,0x02, 0x81,0x4c,0xf0,0x12 1192.byte 0x8d,0x46,0x97,0xa3, 0x6b,0xd3,0xf9,0xc6 1193.byte 0x03,0x8f,0x5f,0xe7, 0x15,0x92,0x9c,0x95 1194.byte 0xbf,0x6d,0x7a,0xeb, 0x95,0x52,0x59,0xda 1195.byte 0xd4,0xbe,0x83,0x2d, 0x58,0x74,0x21,0xd3 1196.byte 0x49,0xe0,0x69,0x29, 0x8e,0xc9,0xc8,0x44 1197.byte 0x75,0xc2,0x89,0x6a, 0xf4,0x8e,0x79,0x78 1198.byte 0x99,0x58,0x3e,0x6b, 0x27,0xb9,0x71,0xdd 1199.byte 0xbe,0xe1,0x4f,0xb6, 0xf0,0x88,0xad,0x17 1200.byte 0xc9,0x20,0xac,0x66, 0x7d,0xce,0x3a,0xb4 1201.byte 0x63,0xdf,0x4a,0x18, 0xe5,0x1a,0x31,0x82 1202.byte 0x97,0x51,0x33,0x60, 0x62,0x53,0x7f,0x45 1203.byte 0xb1,0x64,0x77,0xe0, 0xbb,0x6b,0xae,0x84 1204.byte 0xfe,0x81,0xa0,0x1c, 0xf9,0x08,0x2b,0x94 1205.byte 0x70,0x48,0x68,0x58, 0x8f,0x45,0xfd,0x19 1206.byte 0x94,0xde,0x6c,0x87, 0x52,0x7b,0xf8,0xb7 1207.byte 0xab,0x73,0xd3,0x23, 0x72,0x4b,0x02,0xe2 1208.byte 0xe3,0x1f,0x8f,0x57, 0x66,0x55,0xab,0x2a 1209.byte 0xb2,0xeb,0x28,0x07, 0x2f,0xb5,0xc2,0x03 1210.byte 0x86,0xc5,0x7b,0x9a, 0xd3,0x37,0x08,0xa5 1211.byte 0x30,0x28,0x87,0xf2, 0x23,0xbf,0xa5,0xb2 1212.byte 0x02,0x03,0x6a,0xba, 0xed,0x16,0x82,0x5c 1213.byte 0x8a,0xcf,0x1c,0x2b, 0xa7,0x79,0xb4,0x92 1214.byte 0xf3,0x07,0xf2,0xf0, 0x4e,0x69,0xe2,0xa1 1215.byte 0x65,0xda,0xf4,0xcd, 0x06,0x05,0xbe,0xd5 1216.byte 0xd1,0x34,0x62,0x1f, 0xc4,0xa6,0xfe,0x8a 1217.byte 0x34,0x2e,0x53,0x9d, 0xa2,0xf3,0x55,0xa0 1218.byte 0x05,0x8a,0xe1,0x32, 0xa4,0xf6,0xeb,0x75 1219.byte 0x0b,0x83,0xec,0x39, 0x40,0x60,0xef,0xaa 1220.byte 0x5e,0x71,0x9f,0x06, 0xbd,0x6e,0x10,0x51 1221.byte 0x3e,0x21,0x8a,0xf9, 0x96,0xdd,0x06,0x3d 1222.byte 0xdd,0x3e,0x05,0xae, 0x4d,0xe6,0xbd,0x46 1223.byte 0x91,0x54,0x8d,0xb5, 0x71,0xc4,0x5d,0x05 1224.byte 0x04,0x06,0xd4,0x6f, 0x60,0x50,0x15,0xff 1225.byte 0x19,0x98,0xfb,0x24, 0xd6,0xbd,0xe9,0x97 1226.byte 0x89,0x40,0x43,0xcc, 0x67,0xd9,0x9e,0x77 1227.byte 0xb0,0xe8,0x42,0xbd, 0x07,0x89,0x8b,0x88 1228.byte 0xe7,0x19,0x5b,0x38, 0x79,0xc8,0xee,0xdb 1229.byte 0xa1,0x7c,0x0a,0x47, 0x7c,0x42,0x0f,0xe9 1230.byte 0xf8,0x84,0x1e,0xc9, 0x00,0x00,0x00,0x00 1231.byte 0x09,0x80,0x86,0x83, 0x32,0x2b,0xed,0x48 1232.byte 0x1e,0x11,0x70,0xac, 0x6c,0x5a,0x72,0x4e 1233.byte 0xfd,0x0e,0xff,0xfb, 0x0f,0x85,0x38,0x56 1234.byte 0x3d,0xae,0xd5,0x1e, 0x36,0x2d,0x39,0x27 1235.byte 0x0a,0x0f,0xd9,0x64, 0x68,0x5c,0xa6,0x21 1236.byte 0x9b,0x5b,0x54,0xd1, 0x24,0x36,0x2e,0x3a 1237.byte 0x0c,0x0a,0x67,0xb1, 0x93,0x57,0xe7,0x0f 1238.byte 0xb4,0xee,0x96,0xd2, 0x1b,0x9b,0x91,0x9e 1239.byte 0x80,0xc0,0xc5,0x4f, 0x61,0xdc,0x20,0xa2 1240.byte 0x5a,0x77,0x4b,0x69, 0x1c,0x12,0x1a,0x16 1241.byte 0xe2,0x93,0xba,0x0a, 0xc0,0xa0,0x2a,0xe5 1242.byte 0x3c,0x22,0xe0,0x43, 0x12,0x1b,0x17,0x1d 1243.byte 0x0e,0x09,0x0d,0x0b, 0xf2,0x8b,0xc7,0xad 1244.byte 0x2d,0xb6,0xa8,0xb9, 0x14,0x1e,0xa9,0xc8 1245.byte 0x57,0xf1,0x19,0x85, 0xaf,0x75,0x07,0x4c 1246.byte 0xee,0x99,0xdd,0xbb, 0xa3,0x7f,0x60,0xfd 1247.byte 0xf7,0x01,0x26,0x9f, 0x5c,0x72,0xf5,0xbc 1248.byte 0x44,0x66,0x3b,0xc5, 0x5b,0xfb,0x7e,0x34 1249.byte 0x8b,0x43,0x29,0x76, 0xcb,0x23,0xc6,0xdc 1250.byte 0xb6,0xed,0xfc,0x68, 0xb8,0xe4,0xf1,0x63 1251.byte 0xd7,0x31,0xdc,0xca, 0x42,0x63,0x85,0x10 1252.byte 0x13,0x97,0x22,0x40, 0x84,0xc6,0x11,0x20 1253.byte 0x85,0x4a,0x24,0x7d, 0xd2,0xbb,0x3d,0xf8 1254.byte 0xae,0xf9,0x32,0x11, 0xc7,0x29,0xa1,0x6d 1255.byte 0x1d,0x9e,0x2f,0x4b, 0xdc,0xb2,0x30,0xf3 1256.byte 0x0d,0x86,0x52,0xec, 0x77,0xc1,0xe3,0xd0 1257.byte 0x2b,0xb3,0x16,0x6c, 0xa9,0x70,0xb9,0x99 1258.byte 0x11,0x94,0x48,0xfa, 0x47,0xe9,0x64,0x22 1259.byte 0xa8,0xfc,0x8c,0xc4, 0xa0,0xf0,0x3f,0x1a 1260.byte 0x56,0x7d,0x2c,0xd8, 0x22,0x33,0x90,0xef 1261.byte 0x87,0x49,0x4e,0xc7, 0xd9,0x38,0xd1,0xc1 1262.byte 0x8c,0xca,0xa2,0xfe, 0x98,0xd4,0x0b,0x36 1263.byte 0xa6,0xf5,0x81,0xcf, 0xa5,0x7a,0xde,0x28 1264.byte 0xda,0xb7,0x8e,0x26, 0x3f,0xad,0xbf,0xa4 1265.byte 0x2c,0x3a,0x9d,0xe4, 0x50,0x78,0x92,0x0d 1266.byte 0x6a,0x5f,0xcc,0x9b, 0x54,0x7e,0x46,0x62 1267.byte 0xf6,0x8d,0x13,0xc2, 0x90,0xd8,0xb8,0xe8 1268.byte 0x2e,0x39,0xf7,0x5e, 0x82,0xc3,0xaf,0xf5 1269.byte 0x9f,0x5d,0x80,0xbe, 0x69,0xd0,0x93,0x7c 1270.byte 0x6f,0xd5,0x2d,0xa9, 0xcf,0x25,0x12,0xb3 1271.byte 0xc8,0xac,0x99,0x3b, 0x10,0x18,0x7d,0xa7 1272.byte 0xe8,0x9c,0x63,0x6e, 0xdb,0x3b,0xbb,0x7b 1273.byte 0xcd,0x26,0x78,0x09, 0x6e,0x59,0x18,0xf4 1274.byte 0xec,0x9a,0xb7,0x01, 0x83,0x4f,0x9a,0xa8 1275.byte 0xe6,0x95,0x6e,0x65, 0xaa,0xff,0xe6,0x7e 1276.byte 0x21,0xbc,0xcf,0x08, 0xef,0x15,0xe8,0xe6 1277.byte 0xba,0xe7,0x9b,0xd9, 0x4a,0x6f,0x36,0xce 1278.byte 0xea,0x9f,0x09,0xd4, 0x29,0xb0,0x7c,0xd6 1279.byte 0x31,0xa4,0xb2,0xaf, 0x2a,0x3f,0x23,0x31 1280.byte 0xc6,0xa5,0x94,0x30, 0x35,0xa2,0x66,0xc0 1281.byte 0x74,0x4e,0xbc,0x37, 0xfc,0x82,0xca,0xa6 1282.byte 0xe0,0x90,0xd0,0xb0, 0x33,0xa7,0xd8,0x15 1283.byte 0xf1,0x04,0x98,0x4a, 0x41,0xec,0xda,0xf7 1284.byte 0x7f,0xcd,0x50,0x0e, 0x17,0x91,0xf6,0x2f 1285.byte 0x76,0x4d,0xd6,0x8d, 0x43,0xef,0xb0,0x4d 1286.byte 0xcc,0xaa,0x4d,0x54, 0xe4,0x96,0x04,0xdf 1287.byte 0x9e,0xd1,0xb5,0xe3, 0x4c,0x6a,0x88,0x1b 1288.byte 0xc1,0x2c,0x1f,0xb8, 0x46,0x65,0x51,0x7f 1289.byte 0x9d,0x5e,0xea,0x04, 0x01,0x8c,0x35,0x5d 1290.byte 0xfa,0x87,0x74,0x73, 0xfb,0x0b,0x41,0x2e 1291.byte 0xb3,0x67,0x1d,0x5a, 0x92,0xdb,0xd2,0x52 1292.byte 0xe9,0x10,0x56,0x33, 0x6d,0xd6,0x47,0x13 1293.byte 0x9a,0xd7,0x61,0x8c, 0x37,0xa1,0x0c,0x7a 1294.byte 0x59,0xf8,0x14,0x8e, 0xeb,0x13,0x3c,0x89 1295.byte 0xce,0xa9,0x27,0xee, 0xb7,0x61,0xc9,0x35 1296.byte 0xe1,0x1c,0xe5,0xed, 0x7a,0x47,0xb1,0x3c 1297.byte 0x9c,0xd2,0xdf,0x59, 0x55,0xf2,0x73,0x3f 1298.byte 0x18,0x14,0xce,0x79, 0x73,0xc7,0x37,0xbf 1299.byte 0x53,0xf7,0xcd,0xea, 0x5f,0xfd,0xaa,0x5b 1300.byte 0xdf,0x3d,0x6f,0x14, 0x78,0x44,0xdb,0x86 1301.byte 0xca,0xaf,0xf3,0x81, 0xb9,0x68,0xc4,0x3e 1302.byte 0x38,0x24,0x34,0x2c, 0xc2,0xa3,0x40,0x5f 1303.byte 0x16,0x1d,0xc3,0x72, 0xbc,0xe2,0x25,0x0c 1304.byte 0x28,0x3c,0x49,0x8b, 0xff,0x0d,0x95,0x41 1305.byte 0x39,0xa8,0x01,0x71, 0x08,0x0c,0xb3,0xde 1306.byte 0xd8,0xb4,0xe4,0x9c, 0x64,0x56,0xc1,0x90 1307.byte 0x7b,0xcb,0x84,0x61, 0xd5,0x32,0xb6,0x70 1308.byte 0x48,0x6c,0x5c,0x74, 0xd0,0xb8,0x57,0x42 1309 1310.byte 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38 # Td4 1311.byte 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb 1312.byte 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87 1313.byte 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb 1314.byte 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d 1315.byte 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e 1316.byte 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2 1317.byte 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25 1318.byte 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16 1319.byte 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92 1320.byte 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda 1321.byte 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84 1322.byte 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a 1323.byte 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06 1324.byte 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02 1325.byte 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b 1326.byte 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea 1327.byte 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73 1328.byte 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85 1329.byte 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e 1330.byte 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89 1331.byte 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b 1332.byte 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20 1333.byte 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4 1334.byte 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31 1335.byte 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f 1336.byte 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d 1337.byte 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef 1338.byte 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0 1339.byte 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61 1340.byte 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26 1341.byte 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d 1342