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