1#include "mips_arch.h" 2 3.text 4#if !defined(__mips_eabi) && (!defined(__vxworks) || defined(__pic__)) 5.option pic2 6#endif 7.set noat 8.align 5 9.ent _mips_AES_encrypt 10_mips_AES_encrypt: 11 .frame $29,0,$31 12 .set reorder 13 lw $12,0($6) 14 lw $13,4($6) 15 lw $14,8($6) 16 lw $15,12($6) 17 lw $30,240($6) 18 addu $3,$6,16 19 20 xor $8,$12 21 xor $9,$13 22 xor $10,$14 23 xor $11,$15 24 25 subu $30,1 26#if defined(__mips_smartmips) 27 ext $1,$9,8,8 28.Loop_enc: 29 ext $2,$10,8,8 30 ext $24,$11,8,8 31 ext $25,$8,8,8 32 lwxs $12,$1($7) # Te1[s1>>16] 33 ext $1,$10,16,8 34 lwxs $13,$2($7) # Te1[s2>>16] 35 ext $2,$11,16,8 36 lwxs $14,$24($7) # Te1[s3>>16] 37 ext $24,$8,16,8 38 lwxs $15,$25($7) # Te1[s0>>16] 39 ext $25,$9,16,8 40 41 lwxs $16,$1($7) # Te2[s2>>8] 42 ext $1,$11,24,8 43 lwxs $17,$2($7) # Te2[s3>>8] 44 ext $2,$8,24,8 45 lwxs $18,$24($7) # Te2[s0>>8] 46 ext $24,$9,24,8 47 lwxs $19,$25($7) # Te2[s1>>8] 48 ext $25,$10,24,8 49 50 lwxs $20,$1($7) # Te3[s3] 51 ext $1,$8,0,8 52 lwxs $21,$2($7) # Te3[s0] 53 ext $2,$9,0,8 54 lwxs $22,$24($7) # Te3[s1] 55 ext $24,$10,0,8 56 lwxs $23,$25($7) # Te3[s2] 57 ext $25,$11,0,8 58 59 rotr $12,$12,24 60 rotr $13,$13,24 61 rotr $14,$14,24 62 rotr $15,$15,24 63 64 rotr $16,$16,16 65 rotr $17,$17,16 66 rotr $18,$18,16 67 rotr $19,$19,16 68 69 xor $12,$16 70 lwxs $16,$1($7) # Te0[s0>>24] 71 xor $13,$17 72 lwxs $17,$2($7) # Te0[s1>>24] 73 xor $14,$18 74 lwxs $18,$24($7) # Te0[s2>>24] 75 xor $15,$19 76 lwxs $19,$25($7) # Te0[s3>>24] 77 78 rotr $20,$20,8 79 lw $8,0($3) 80 rotr $21,$21,8 81 lw $9,4($3) 82 rotr $22,$22,8 83 lw $10,8($3) 84 rotr $23,$23,8 85 lw $11,12($3) 86 87 xor $12,$20 88 xor $13,$21 89 xor $14,$22 90 xor $15,$23 91 92 xor $12,$16 93 xor $13,$17 94 xor $14,$18 95 xor $15,$19 96 97 subu $30,1 98 addu $3,16 99 xor $8,$12 100 xor $9,$13 101 xor $10,$14 102 xor $11,$15 103 .set noreorder 104 bnez $30,.Loop_enc 105 ext $1,$9,8,8 106 107 srl $1,$9,6 108#else 109#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 110 move $1,$7 111 move $2,$7 112 move $24,$7 113 move $25,$7 114 ext $12,$9,8,8 115.Loop_enc: 116 ext $13,$10,8,8 117 ext $14,$11,8,8 118 ext $15,$8,8,8 119 ins $1,$12,2,8 120 ins $2,$13,2,8 121 ins $24,$14,2,8 122 ins $25,$15,2,8 123 lw $12,0($1) # Te1[s1>>16] 124 ext $16,$10,16,8 125 lw $13,0($2) # Te1[s2>>16] 126 ext $17,$11,16,8 127 lw $14,0($24) # Te1[s3>>16] 128 ext $18,$8,16,8 129 lw $15,0($25) # Te1[s0>>16] 130 ext $19,$9,16,8 131 ins $1,$16,2,8 132 ins $2,$17,2,8 133 ins $24,$18,2,8 134 ins $25,$19,2,8 135#else 136 srl $1,$9,6 137.Loop_enc: 138 srl $2,$10,6 139 srl $24,$11,6 140 srl $25,$8,6 141 and $1,0x3fc 142 and $2,0x3fc 143 and $24,0x3fc 144 and $25,0x3fc 145 addu $1,$7 146 addu $2,$7 147 addu $24,$7 148 addu $25,$7 149 lwl $12,2($1) # Te1[s1>>16] 150 lwl $13,2($2) # Te1[s2>>16] 151 lwl $14,2($24) # Te1[s3>>16] 152 lwl $15,2($25) # Te1[s0>>16] 153 lwr $12,3($1) # Te1[s1>>16] 154 srl $1,$10,14 155 lwr $13,3($2) # Te1[s2>>16] 156 srl $2,$11,14 157 lwr $14,3($24) # Te1[s3>>16] 158 srl $24,$8,14 159 lwr $15,3($25) # Te1[s0>>16] 160 srl $25,$9,14 161 and $1,0x3fc 162 and $2,0x3fc 163 and $24,0x3fc 164 and $25,0x3fc 165 addu $1,$7 166 addu $2,$7 167 addu $24,$7 168 addu $25,$7 169#endif 170#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 171 rotr $12,$12,24 172 rotr $13,$13,24 173 rotr $14,$14,24 174 rotr $15,$15,24 175# if defined(_MIPSEL) 176 lw $16,0($1) # Te2[s2>>8] 177 ext $20,$11,24,8 178 lw $17,0($2) # Te2[s3>>8] 179 ext $21,$8,24,8 180 lw $18,0($24) # Te2[s0>>8] 181 ext $22,$9,24,8 182 lw $19,0($25) # Te2[s1>>8] 183 ext $23,$10,24,8 184 ins $1,$20,2,8 185 ins $2,$21,2,8 186 ins $24,$22,2,8 187 ins $25,$23,2,8 188 189 lw $20,0($1) # Te3[s3] 190 ins $1,$8,2,8 191 lw $21,0($2) # Te3[s0] 192 ins $2,$9,2,8 193 lw $22,0($24) # Te3[s1] 194 ins $24,$10,2,8 195 lw $23,0($25) # Te3[s2] 196 ins $25,$11,2,8 197# else 198 lw $16,0($1) # Te2[s2>>8] 199 ins $1,$11,2,8 200 lw $17,0($2) # Te2[s3>>8] 201 ins $2,$8,2,8 202 lw $18,0($24) # Te2[s0>>8] 203 ins $24,$9,2,8 204 lw $19,0($25) # Te2[s1>>8] 205 ins $25,$10,2,8 206 207 lw $20,0($1) # Te3[s3] 208 sll $1,$8,2 209 lw $21,0($2) # Te3[s0] 210 sll $2,$9,2 211 lw $22,0($24) # Te3[s1] 212 sll $24,$10,2 213 lw $23,0($25) # Te3[s2] 214 sll $25,$11,2 215 216 and $1,0x3fc 217 and $2,0x3fc 218 and $24,0x3fc 219 and $25,0x3fc 220 addu $1,$7 221 addu $2,$7 222 addu $24,$7 223 addu $25,$7 224# endif 225 rotr $16,$16,16 226 rotr $17,$17,16 227 rotr $18,$18,16 228 rotr $19,$19,16 229 230 rotr $20,$20,8 231 rotr $21,$21,8 232 rotr $22,$22,8 233 rotr $23,$23,8 234#else 235 lwl $16,1($1) # Te2[s2>>8] 236 lwl $17,1($2) # Te2[s3>>8] 237 lwl $18,1($24) # Te2[s0>>8] 238 lwl $19,1($25) # Te2[s1>>8] 239 lwr $16,2($1) # Te2[s2>>8] 240 srl $1,$11,22 241 lwr $17,2($2) # Te2[s3>>8] 242 srl $2,$8,22 243 lwr $18,2($24) # Te2[s0>>8] 244 srl $24,$9,22 245 lwr $19,2($25) # Te2[s1>>8] 246 srl $25,$10,22 247 248 and $1,0x3fc 249 and $2,0x3fc 250 and $24,0x3fc 251 and $25,0x3fc 252 addu $1,$7 253 addu $2,$7 254 addu $24,$7 255 addu $25,$7 256 lwl $20,0($1) # Te3[s3] 257 lwl $21,0($2) # Te3[s0] 258 lwl $22,0($24) # Te3[s1] 259 lwl $23,0($25) # Te3[s2] 260 lwr $20,1($1) # Te3[s3] 261 sll $1,$8,2 262 lwr $21,1($2) # Te3[s0] 263 sll $2,$9,2 264 lwr $22,1($24) # Te3[s1] 265 sll $24,$10,2 266 lwr $23,1($25) # Te3[s2] 267 sll $25,$11,2 268 269 and $1,0x3fc 270 and $2,0x3fc 271 and $24,0x3fc 272 and $25,0x3fc 273 addu $1,$7 274 addu $2,$7 275 addu $24,$7 276 addu $25,$7 277#endif 278 xor $12,$16 279 lw $16,0($1) # Te0[s0>>24] 280 xor $13,$17 281 lw $17,0($2) # Te0[s1>>24] 282 xor $14,$18 283 lw $18,0($24) # Te0[s2>>24] 284 xor $15,$19 285 lw $19,0($25) # Te0[s3>>24] 286 287 xor $12,$20 288 lw $8,0($3) 289 xor $13,$21 290 lw $9,4($3) 291 xor $14,$22 292 lw $10,8($3) 293 xor $15,$23 294 lw $11,12($3) 295 296 xor $12,$16 297 xor $13,$17 298 xor $14,$18 299 xor $15,$19 300 301 subu $30,1 302 addu $3,16 303 xor $8,$12 304 xor $9,$13 305 xor $10,$14 306 xor $11,$15 307 .set noreorder 308 bnez $30,.Loop_enc 309#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 310 ext $12,$9,8,8 311#endif 312 srl $1,$9,6 313#endif 314 315 .set reorder 316 srl $2,$10,6 317 srl $24,$11,6 318 srl $25,$8,6 319 and $1,0x3fc 320 and $2,0x3fc 321 and $24,0x3fc 322 and $25,0x3fc 323 addu $1,$7 324 addu $2,$7 325 addu $24,$7 326 addu $25,$7 327 lbu $12,2($1) # Te4[s1>>16] 328 srl $1,$10,14 329 lbu $13,2($2) # Te4[s2>>16] 330 srl $2,$11,14 331 lbu $14,2($24) # Te4[s3>>16] 332 srl $24,$8,14 333 lbu $15,2($25) # Te4[s0>>16] 334 srl $25,$9,14 335 336 and $1,0x3fc 337 and $2,0x3fc 338 and $24,0x3fc 339 and $25,0x3fc 340 addu $1,$7 341 addu $2,$7 342 addu $24,$7 343 addu $25,$7 344#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 345# if defined(_MIPSEL) 346 lbu $16,2($1) # Te4[s2>>8] 347 ins $1,$8,2,8 348 lbu $17,2($2) # Te4[s3>>8] 349 ins $2,$9,2,8 350 lbu $18,2($24) # Te4[s0>>8] 351 ins $24,$10,2,8 352 lbu $19,2($25) # Te4[s1>>8] 353 ins $25,$11,2,8 354 355 lbu $20,2($1) # Te4[s0>>24] 356 srl $1,$11,22 357 lbu $21,2($2) # Te4[s1>>24] 358 srl $2,$8,22 359 lbu $22,2($24) # Te4[s2>>24] 360 srl $24,$9,22 361 lbu $23,2($25) # Te4[s3>>24] 362 srl $25,$10,22 363 364 and $1,0x3fc 365 and $2,0x3fc 366 and $24,0x3fc 367 and $25,0x3fc 368 addu $1,$7 369 addu $2,$7 370 addu $24,$7 371 addu $25,$7 372# else 373 lbu $16,2($1) # Te4[s2>>8] 374 sll $1,$8,2 375 lbu $17,2($2) # Te4[s3>>8] 376 sll $2,$9,2 377 lbu $18,2($24) # Te4[s0>>8] 378 sll $24,$10,2 379 lbu $19,2($25) # Te4[s1>>8] 380 sll $25,$11,2 381 382 and $1,0x3fc 383 and $2,0x3fc 384 and $24,0x3fc 385 and $25,0x3fc 386 addu $1,$7 387 addu $2,$7 388 addu $24,$7 389 addu $25,$7 390 lbu $20,2($1) # Te4[s0>>24] 391 ins $1,$11,2,8 392 lbu $21,2($2) # Te4[s1>>24] 393 ins $2,$8,2,8 394 lbu $22,2($24) # Te4[s2>>24] 395 ins $24,$9,2,8 396 lbu $23,2($25) # Te4[s3>>24] 397 ins $25,$10,2,8 398# endif 399 sll $12,$12,8 400 sll $13,$13,8 401 sll $14,$14,8 402 sll $15,$15,8 403 404 ins $12,$16,16,8 405 lbu $16,2($1) # Te4[s3] 406 ins $13,$17,16,8 407 lbu $17,2($2) # Te4[s0] 408 ins $14,$18,16,8 409 lbu $18,2($24) # Te4[s1] 410 ins $15,$19,16,8 411 lbu $19,2($25) # Te4[s2] 412 413 ins $12,$20,0,8 414 lw $8,0($3) 415 ins $13,$21,0,8 416 lw $9,4($3) 417 ins $14,$22,0,8 418 lw $10,8($3) 419 ins $15,$23,0,8 420 lw $11,12($3) 421 422 ins $12,$16,24,8 423 ins $13,$17,24,8 424 ins $14,$18,24,8 425 ins $15,$19,24,8 426#else 427 lbu $16,2($1) # Te4[s2>>8] 428 sll $1,$8,2 429 lbu $17,2($2) # Te4[s3>>8] 430 sll $2,$9,2 431 lbu $18,2($24) # Te4[s0>>8] 432 sll $24,$10,2 433 lbu $19,2($25) # Te4[s1>>8] 434 sll $25,$11,2 435 436 and $1,0x3fc 437 and $2,0x3fc 438 and $24,0x3fc 439 and $25,0x3fc 440 addu $1,$7 441 addu $2,$7 442 addu $24,$7 443 addu $25,$7 444 lbu $20,2($1) # Te4[s0>>24] 445 srl $1,$11,22 446 lbu $21,2($2) # Te4[s1>>24] 447 srl $2,$8,22 448 lbu $22,2($24) # Te4[s2>>24] 449 srl $24,$9,22 450 lbu $23,2($25) # Te4[s3>>24] 451 srl $25,$10,22 452 453 and $1,0x3fc 454 and $2,0x3fc 455 and $24,0x3fc 456 and $25,0x3fc 457 addu $1,$7 458 addu $2,$7 459 addu $24,$7 460 addu $25,$7 461 462 sll $12,$12,8 463 sll $13,$13,8 464 sll $14,$14,8 465 sll $15,$15,8 466 467 sll $16,$16,16 468 sll $17,$17,16 469 sll $18,$18,16 470 sll $19,$19,16 471 472 xor $12,$16 473 lbu $16,2($1) # Te4[s3] 474 xor $13,$17 475 lbu $17,2($2) # Te4[s0] 476 xor $14,$18 477 lbu $18,2($24) # Te4[s1] 478 xor $15,$19 479 lbu $19,2($25) # Te4[s2] 480 481 #sll $20,$20,0 482 lw $8,0($3) 483 #sll $21,$21,0 484 lw $9,4($3) 485 #sll $22,$22,0 486 lw $10,8($3) 487 #sll $23,$23,0 488 lw $11,12($3) 489 490 xor $12,$20 491 xor $13,$21 492 xor $14,$22 493 xor $15,$23 494 495 sll $16,$16,24 496 sll $17,$17,24 497 sll $18,$18,24 498 sll $19,$19,24 499 500 xor $12,$16 501 xor $13,$17 502 xor $14,$18 503 xor $15,$19 504#endif 505 xor $8,$12 506 xor $9,$13 507 xor $10,$14 508 xor $11,$15 509 510 jr $31 511.end _mips_AES_encrypt 512 513.align 5 514.globl AES_encrypt 515.ent AES_encrypt 516AES_encrypt: 517 .frame $29,64,$31 518 .mask 0xc0ff0000,-4 519 .set noreorder 520 .cpload $25 521 subu $29,64 522 sw $31,64-1*4($29) 523 sw $30,64-2*4($29) 524 sw $23,64-3*4($29) 525 sw $22,64-4*4($29) 526 sw $21,64-5*4($29) 527 sw $20,64-6*4($29) 528 sw $19,64-7*4($29) 529 sw $18,64-8*4($29) 530 sw $17,64-9*4($29) 531 sw $16,64-10*4($29) 532 .set reorder 533 la $7,AES_Te # PIC-ified 'load address' 534 535#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) 536 lw $8,0($4) 537 lw $9,4($4) 538 lw $10,8($4) 539 lw $11,12($4) 540#else 541 lwl $8,0+3($4) 542 lwl $9,4+3($4) 543 lwl $10,8+3($4) 544 lwl $11,12+3($4) 545 lwr $8,0+0($4) 546 lwr $9,4+0($4) 547 lwr $10,8+0($4) 548 lwr $11,12+0($4) 549#endif 550 551 bal _mips_AES_encrypt 552 553#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) 554 sw $8,0($5) 555 sw $9,4($5) 556 sw $10,8($5) 557 sw $11,12($5) 558#else 559 swr $8,0+0($5) 560 swr $9,4+0($5) 561 swr $10,8+0($5) 562 swr $11,12+0($5) 563 swl $8,0+3($5) 564 swl $9,4+3($5) 565 swl $10,8+3($5) 566 swl $11,12+3($5) 567#endif 568 569 .set noreorder 570 lw $31,64-1*4($29) 571 lw $30,64-2*4($29) 572 lw $23,64-3*4($29) 573 lw $22,64-4*4($29) 574 lw $21,64-5*4($29) 575 lw $20,64-6*4($29) 576 lw $19,64-7*4($29) 577 lw $18,64-8*4($29) 578 lw $17,64-9*4($29) 579 lw $16,64-10*4($29) 580 jr $31 581 addu $29,64 582.end AES_encrypt 583.align 5 584.ent _mips_AES_decrypt 585_mips_AES_decrypt: 586 .frame $29,0,$31 587 .set reorder 588 lw $12,0($6) 589 lw $13,4($6) 590 lw $14,8($6) 591 lw $15,12($6) 592 lw $30,240($6) 593 addu $3,$6,16 594 595 xor $8,$12 596 xor $9,$13 597 xor $10,$14 598 xor $11,$15 599 600 subu $30,1 601#if defined(__mips_smartmips) 602 ext $1,$11,8,8 603.Loop_dec: 604 ext $2,$8,8,8 605 ext $24,$9,8,8 606 ext $25,$10,8,8 607 lwxs $12,$1($7) # Td1[s3>>16] 608 ext $1,$10,16,8 609 lwxs $13,$2($7) # Td1[s0>>16] 610 ext $2,$11,16,8 611 lwxs $14,$24($7) # Td1[s1>>16] 612 ext $24,$8,16,8 613 lwxs $15,$25($7) # Td1[s2>>16] 614 ext $25,$9,16,8 615 616 lwxs $16,$1($7) # Td2[s2>>8] 617 ext $1,$9,24,8 618 lwxs $17,$2($7) # Td2[s3>>8] 619 ext $2,$10,24,8 620 lwxs $18,$24($7) # Td2[s0>>8] 621 ext $24,$11,24,8 622 lwxs $19,$25($7) # Td2[s1>>8] 623 ext $25,$8,24,8 624 625 lwxs $20,$1($7) # Td3[s1] 626 ext $1,$8,0,8 627 lwxs $21,$2($7) # Td3[s2] 628 ext $2,$9,0,8 629 lwxs $22,$24($7) # Td3[s3] 630 ext $24,$10,0,8 631 lwxs $23,$25($7) # Td3[s0] 632 ext $25,$11,0,8 633 634 rotr $12,$12,24 635 rotr $13,$13,24 636 rotr $14,$14,24 637 rotr $15,$15,24 638 639 rotr $16,$16,16 640 rotr $17,$17,16 641 rotr $18,$18,16 642 rotr $19,$19,16 643 644 xor $12,$16 645 lwxs $16,$1($7) # Td0[s0>>24] 646 xor $13,$17 647 lwxs $17,$2($7) # Td0[s1>>24] 648 xor $14,$18 649 lwxs $18,$24($7) # Td0[s2>>24] 650 xor $15,$19 651 lwxs $19,$25($7) # Td0[s3>>24] 652 653 rotr $20,$20,8 654 lw $8,0($3) 655 rotr $21,$21,8 656 lw $9,4($3) 657 rotr $22,$22,8 658 lw $10,8($3) 659 rotr $23,$23,8 660 lw $11,12($3) 661 662 xor $12,$20 663 xor $13,$21 664 xor $14,$22 665 xor $15,$23 666 667 xor $12,$16 668 xor $13,$17 669 xor $14,$18 670 xor $15,$19 671 672 subu $30,1 673 addu $3,16 674 xor $8,$12 675 xor $9,$13 676 xor $10,$14 677 xor $11,$15 678 .set noreorder 679 bnez $30,.Loop_dec 680 ext $1,$11,8,8 681 682 srl $1,$11,6 683#else 684#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 685 move $1,$7 686 move $2,$7 687 move $24,$7 688 move $25,$7 689 ext $12,$11,8,8 690.Loop_dec: 691 ext $13,$8,8,8 692 ext $14,$9,8,8 693 ext $15,$10,8,8 694 ins $1,$12,2,8 695 ins $2,$13,2,8 696 ins $24,$14,2,8 697 ins $25,$15,2,8 698 lw $12,0($1) # Td1[s3>>16] 699 ext $16,$10,16,8 700 lw $13,0($2) # Td1[s0>>16] 701 ext $17,$11,16,8 702 lw $14,0($24) # Td1[s1>>16] 703 ext $18,$8,16,8 704 lw $15,0($25) # Td1[s2>>16] 705 ext $19,$9,16,8 706 ins $1,$16,2,8 707 ins $2,$17,2,8 708 ins $24,$18,2,8 709 ins $25,$19,2,8 710#else 711 srl $1,$11,6 712.Loop_dec: 713 srl $2,$8,6 714 srl $24,$9,6 715 srl $25,$10,6 716 and $1,0x3fc 717 and $2,0x3fc 718 and $24,0x3fc 719 and $25,0x3fc 720 addu $1,$7 721 addu $2,$7 722 addu $24,$7 723 addu $25,$7 724 lwl $12,2($1) # Td1[s3>>16] 725 lwl $13,2($2) # Td1[s0>>16] 726 lwl $14,2($24) # Td1[s1>>16] 727 lwl $15,2($25) # Td1[s2>>16] 728 lwr $12,3($1) # Td1[s3>>16] 729 srl $1,$10,14 730 lwr $13,3($2) # Td1[s0>>16] 731 srl $2,$11,14 732 lwr $14,3($24) # Td1[s1>>16] 733 srl $24,$8,14 734 lwr $15,3($25) # Td1[s2>>16] 735 srl $25,$9,14 736 and $1,0x3fc 737 and $2,0x3fc 738 and $24,0x3fc 739 and $25,0x3fc 740 addu $1,$7 741 addu $2,$7 742 addu $24,$7 743 addu $25,$7 744#endif 745#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 746 rotr $12,$12,24 747 rotr $13,$13,24 748 rotr $14,$14,24 749 rotr $15,$15,24 750# if defined(_MIPSEL) 751 lw $16,0($1) # Td2[s2>>8] 752 ext $20,$9,24,8 753 lw $17,0($2) # Td2[s3>>8] 754 ext $21,$10,24,8 755 lw $18,0($24) # Td2[s0>>8] 756 ext $22,$11,24,8 757 lw $19,0($25) # Td2[s1>>8] 758 ext $23,$8,24,8 759 ins $1,$20,2,8 760 ins $2,$21,2,8 761 ins $24,$22,2,8 762 ins $25,$23,2,8 763 lw $20,0($1) # Td3[s1] 764 ins $1,$8,2,8 765 lw $21,0($2) # Td3[s2] 766 ins $2,$9,2,8 767 lw $22,0($24) # Td3[s3] 768 ins $24,$10,2,8 769 lw $23,0($25) # Td3[s0] 770 ins $25,$11,2,8 771#else 772 lw $16,0($1) # Td2[s2>>8] 773 ins $1,$9,2,8 774 lw $17,0($2) # Td2[s3>>8] 775 ins $2,$10,2,8 776 lw $18,0($24) # Td2[s0>>8] 777 ins $24,$11,2,8 778 lw $19,0($25) # Td2[s1>>8] 779 ins $25,$8,2,8 780 781 lw $20,0($1) # Td3[s1] 782 sll $1,$8,2 783 lw $21,0($2) # Td3[s2] 784 sll $2,$9,2 785 lw $22,0($24) # Td3[s3] 786 sll $24,$10,2 787 lw $23,0($25) # Td3[s0] 788 sll $25,$11,2 789 790 and $1,0x3fc 791 and $2,0x3fc 792 and $24,0x3fc 793 and $25,0x3fc 794 addu $1,$7 795 addu $2,$7 796 addu $24,$7 797 addu $25,$7 798#endif 799 rotr $16,$16,16 800 rotr $17,$17,16 801 rotr $18,$18,16 802 rotr $19,$19,16 803 804 rotr $20,$20,8 805 rotr $21,$21,8 806 rotr $22,$22,8 807 rotr $23,$23,8 808#else 809 lwl $16,1($1) # Td2[s2>>8] 810 lwl $17,1($2) # Td2[s3>>8] 811 lwl $18,1($24) # Td2[s0>>8] 812 lwl $19,1($25) # Td2[s1>>8] 813 lwr $16,2($1) # Td2[s2>>8] 814 srl $1,$9,22 815 lwr $17,2($2) # Td2[s3>>8] 816 srl $2,$10,22 817 lwr $18,2($24) # Td2[s0>>8] 818 srl $24,$11,22 819 lwr $19,2($25) # Td2[s1>>8] 820 srl $25,$8,22 821 822 and $1,0x3fc 823 and $2,0x3fc 824 and $24,0x3fc 825 and $25,0x3fc 826 addu $1,$7 827 addu $2,$7 828 addu $24,$7 829 addu $25,$7 830 lwl $20,0($1) # Td3[s1] 831 lwl $21,0($2) # Td3[s2] 832 lwl $22,0($24) # Td3[s3] 833 lwl $23,0($25) # Td3[s0] 834 lwr $20,1($1) # Td3[s1] 835 sll $1,$8,2 836 lwr $21,1($2) # Td3[s2] 837 sll $2,$9,2 838 lwr $22,1($24) # Td3[s3] 839 sll $24,$10,2 840 lwr $23,1($25) # Td3[s0] 841 sll $25,$11,2 842 843 and $1,0x3fc 844 and $2,0x3fc 845 and $24,0x3fc 846 and $25,0x3fc 847 addu $1,$7 848 addu $2,$7 849 addu $24,$7 850 addu $25,$7 851#endif 852 853 xor $12,$16 854 lw $16,0($1) # Td0[s0>>24] 855 xor $13,$17 856 lw $17,0($2) # Td0[s1>>24] 857 xor $14,$18 858 lw $18,0($24) # Td0[s2>>24] 859 xor $15,$19 860 lw $19,0($25) # Td0[s3>>24] 861 862 xor $12,$20 863 lw $8,0($3) 864 xor $13,$21 865 lw $9,4($3) 866 xor $14,$22 867 lw $10,8($3) 868 xor $15,$23 869 lw $11,12($3) 870 871 xor $12,$16 872 xor $13,$17 873 xor $14,$18 874 xor $15,$19 875 876 subu $30,1 877 addu $3,16 878 xor $8,$12 879 xor $9,$13 880 xor $10,$14 881 xor $11,$15 882 .set noreorder 883 bnez $30,.Loop_dec 884#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 885 ext $12,$11,8,8 886#endif 887 888 srl $1,$11,6 889#endif 890 891 .set reorder 892 lw $16,1024($7) # prefetch Td4 893 srl $1,$11,8 894 lw $17,1024+32($7) 895 srl $2,$8,8 896 lw $18,1024+64($7) 897 srl $24,$9,8 898 lw $19,1024+96($7) 899 srl $25,$10,8 900 lw $20,1024+128($7) 901 and $1,0xff 902 lw $21,1024+160($7) 903 and $2,0xff 904 lw $22,1024+192($7) 905 and $24,0xff 906 lw $23,1024+224($7) 907 and $25,0xff 908 909 addu $1,$7 910 addu $2,$7 911 addu $24,$7 912 addu $25,$7 913 lbu $12,1024($1) # Td4[s3>>16] 914 srl $1,$10,16 915 lbu $13,1024($2) # Td4[s0>>16] 916 srl $2,$11,16 917 lbu $14,1024($24) # Td4[s1>>16] 918 srl $24,$8,16 919 lbu $15,1024($25) # Td4[s2>>16] 920 srl $25,$9,16 921 922 and $1,0xff 923 and $2,0xff 924 and $24,0xff 925 and $25,0xff 926 addu $1,$7 927 addu $2,$7 928 addu $24,$7 929 addu $25,$7 930#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 931# if defined(_MIPSEL) 932 lbu $16,1024($1) # Td4[s2>>8] 933 ins $1,$8,0,8 934 lbu $17,1024($2) # Td4[s3>>8] 935 ins $2,$9,0,8 936 lbu $18,1024($24) # Td4[s0>>8] 937 ins $24,$10,0,8 938 lbu $19,1024($25) # Td4[s1>>8] 939 ins $25,$11,0,8 940 941 lbu $20,1024($1) # Td4[s0>>24] 942 srl $1,$9,24 943 lbu $21,1024($2) # Td4[s1>>24] 944 srl $2,$10,24 945 lbu $22,1024($24) # Td4[s2>>24] 946 srl $24,$11,24 947 lbu $23,1024($25) # Td4[s3>>24] 948 srl $25,$8,24 949 950 addu $1,$7 951 addu $2,$7 952 addu $24,$7 953 addu $25,$7 954# else 955 lbu $16,1024($1) # Td4[s2>>8] 956 and $1,$8,0xff 957 lbu $17,1024($2) # Td4[s3>>8] 958 and $2,$9,0xff 959 lbu $18,1024($24) # Td4[s0>>8] 960 and $24,$10,0xff 961 lbu $19,1024($25) # Td4[s1>>8] 962 and $25,$11,0xff 963 964 addu $1,$7 965 addu $2,$7 966 addu $24,$7 967 addu $25,$7 968 lbu $20,1024($1) # Td4[s0>>24] 969 ins $1,$9,0,8 970 lbu $21,1024($2) # Td4[s1>>24] 971 ins $2,$10,0,8 972 lbu $22,1024($24) # Td4[s2>>24] 973 ins $24,$11,0,8 974 lbu $23,1024($25) # Td4[s3>>24] 975 ins $25,$8,0,8 976# endif 977 sll $12,$12,8 978 sll $13,$13,8 979 sll $14,$14,8 980 sll $15,$15,8 981 982 ins $12,$16,16,8 983 lbu $16,1024($1) # Td4[s1] 984 ins $13,$17,16,8 985 lbu $17,1024($2) # Td4[s2] 986 ins $14,$18,16,8 987 lbu $18,1024($24) # Td4[s3] 988 ins $15,$19,16,8 989 lbu $19,1024($25) # Td4[s0] 990 991 ins $12,$20,0,8 992 lw $8,0($3) 993 ins $13,$21,0,8 994 lw $9,4($3) 995 ins $14,$22,0,8 996 lw $10,8($3) 997 ins $15,$23,0,8 998 lw $11,12($3) 999 1000 ins $12,$16,24,8 1001 ins $13,$17,24,8 1002 ins $14,$18,24,8 1003 ins $15,$19,24,8 1004#else 1005 lbu $16,1024($1) # Td4[s2>>8] 1006 and $1,$8,0xff 1007 lbu $17,1024($2) # Td4[s3>>8] 1008 and $2,$9,0xff 1009 lbu $18,1024($24) # Td4[s0>>8] 1010 and $24,$10,0xff 1011 lbu $19,1024($25) # Td4[s1>>8] 1012 and $25,$11,0xff 1013 1014 addu $1,$7 1015 addu $2,$7 1016 addu $24,$7 1017 addu $25,$7 1018 lbu $20,1024($1) # Td4[s0>>24] 1019 srl $1,$9,24 1020 lbu $21,1024($2) # Td4[s1>>24] 1021 srl $2,$10,24 1022 lbu $22,1024($24) # Td4[s2>>24] 1023 srl $24,$11,24 1024 lbu $23,1024($25) # Td4[s3>>24] 1025 srl $25,$8,24 1026 1027 addu $1,$7 1028 addu $2,$7 1029 addu $24,$7 1030 addu $25,$7 1031 1032 sll $12,$12,8 1033 sll $13,$13,8 1034 sll $14,$14,8 1035 sll $15,$15,8 1036 1037 sll $16,$16,16 1038 sll $17,$17,16 1039 sll $18,$18,16 1040 sll $19,$19,16 1041 1042 xor $12,$16 1043 lbu $16,1024($1) # Td4[s1] 1044 xor $13,$17 1045 lbu $17,1024($2) # Td4[s2] 1046 xor $14,$18 1047 lbu $18,1024($24) # Td4[s3] 1048 xor $15,$19 1049 lbu $19,1024($25) # Td4[s0] 1050 1051 #sll $20,$20,0 1052 lw $8,0($3) 1053 #sll $21,$21,0 1054 lw $9,4($3) 1055 #sll $22,$22,0 1056 lw $10,8($3) 1057 #sll $23,$23,0 1058 lw $11,12($3) 1059 1060 xor $12,$20 1061 xor $13,$21 1062 xor $14,$22 1063 xor $15,$23 1064 1065 sll $16,$16,24 1066 sll $17,$17,24 1067 sll $18,$18,24 1068 sll $19,$19,24 1069 1070 xor $12,$16 1071 xor $13,$17 1072 xor $14,$18 1073 xor $15,$19 1074#endif 1075 1076 xor $8,$12 1077 xor $9,$13 1078 xor $10,$14 1079 xor $11,$15 1080 1081 jr $31 1082.end _mips_AES_decrypt 1083 1084.align 5 1085.globl AES_decrypt 1086.ent AES_decrypt 1087AES_decrypt: 1088 .frame $29,64,$31 1089 .mask 0xc0ff0000,-4 1090 .set noreorder 1091 .cpload $25 1092 subu $29,64 1093 sw $31,64-1*4($29) 1094 sw $30,64-2*4($29) 1095 sw $23,64-3*4($29) 1096 sw $22,64-4*4($29) 1097 sw $21,64-5*4($29) 1098 sw $20,64-6*4($29) 1099 sw $19,64-7*4($29) 1100 sw $18,64-8*4($29) 1101 sw $17,64-9*4($29) 1102 sw $16,64-10*4($29) 1103 .set reorder 1104 la $7,AES_Td # PIC-ified 'load address' 1105 1106#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) 1107 lw $8,0($4) 1108 lw $9,4($4) 1109 lw $10,8($4) 1110 lw $11,12($4) 1111#else 1112 lwl $8,0+3($4) 1113 lwl $9,4+3($4) 1114 lwl $10,8+3($4) 1115 lwl $11,12+3($4) 1116 lwr $8,0+0($4) 1117 lwr $9,4+0($4) 1118 lwr $10,8+0($4) 1119 lwr $11,12+0($4) 1120#endif 1121 1122 bal _mips_AES_decrypt 1123 1124#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) 1125 sw $8,0($5) 1126 sw $9,4($5) 1127 sw $10,8($5) 1128 sw $11,12($5) 1129#else 1130 swr $8,0+0($5) 1131 swr $9,4+0($5) 1132 swr $10,8+0($5) 1133 swr $11,12+0($5) 1134 swl $8,0+3($5) 1135 swl $9,4+3($5) 1136 swl $10,8+3($5) 1137 swl $11,12+3($5) 1138#endif 1139 1140 .set noreorder 1141 lw $31,64-1*4($29) 1142 lw $30,64-2*4($29) 1143 lw $23,64-3*4($29) 1144 lw $22,64-4*4($29) 1145 lw $21,64-5*4($29) 1146 lw $20,64-6*4($29) 1147 lw $19,64-7*4($29) 1148 lw $18,64-8*4($29) 1149 lw $17,64-9*4($29) 1150 lw $16,64-10*4($29) 1151 jr $31 1152 addu $29,64 1153.end AES_decrypt 1154.align 5 1155.ent _mips_AES_set_encrypt_key 1156_mips_AES_set_encrypt_key: 1157 .frame $29,0,$31 1158 .set noreorder 1159 beqz $4,.Lekey_done 1160 li $2,-1 1161 beqz $6,.Lekey_done 1162 addu $3,$7,256 1163 1164 .set reorder 1165#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) 1166 lw $8,0($4) # load 128 bits 1167 lw $9,4($4) 1168 lw $10,8($4) 1169 lw $11,12($4) 1170#else 1171 lwl $8,0+3($4) # load 128 bits 1172 lwl $9,4+3($4) 1173 lwl $10,8+3($4) 1174 lwl $11,12+3($4) 1175 lwr $8,0+0($4) 1176 lwr $9,4+0($4) 1177 lwr $10,8+0($4) 1178 lwr $11,12+0($4) 1179#endif 1180 li $1,128 1181 .set noreorder 1182 beq $5,$1,.L128bits 1183 li $30,10 1184 1185 .set reorder 1186#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) 1187 lw $12,16($4) # load 192 bits 1188 lw $13,20($4) 1189#else 1190 lwl $12,16+3($4) # load 192 bits 1191 lwl $13,20+3($4) 1192 lwr $12,16+0($4) 1193 lwr $13,20+0($4) 1194#endif 1195 li $1,192 1196 .set noreorder 1197 beq $5,$1,.L192bits 1198 li $30,8 1199 1200 .set reorder 1201#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) 1202 lw $14,24($4) # load 256 bits 1203 lw $15,28($4) 1204#else 1205 lwl $14,24+3($4) # load 256 bits 1206 lwl $15,28+3($4) 1207 lwr $14,24+0($4) 1208 lwr $15,28+0($4) 1209#endif 1210 li $1,256 1211 .set noreorder 1212 beq $5,$1,.L256bits 1213 li $30,7 1214 1215 b .Lekey_done 1216 li $2,-2 1217 1218.align 4 1219.L128bits: 1220 .set reorder 1221 srl $1,$11,16 1222 srl $2,$11,8 1223 and $1,0xff 1224 and $2,0xff 1225 and $24,$11,0xff 1226 srl $25,$11,24 1227 addu $1,$7 1228 addu $2,$7 1229 addu $24,$7 1230 addu $25,$7 1231 lbu $1,0($1) 1232 lbu $2,0($2) 1233 lbu $24,0($24) 1234 lbu $25,0($25) 1235 1236 sw $8,0($6) 1237 sw $9,4($6) 1238 sw $10,8($6) 1239 sw $11,12($6) 1240 subu $30,1 1241 addu $6,16 1242 1243 sll $1,$1,8 1244 #sll $2,$2,0 1245 sll $24,$24,24 1246 sll $25,$25,16 1247 1248 xor $8,$1 1249 lw $1,0($3) 1250 xor $8,$2 1251 xor $8,$24 1252 xor $8,$25 1253 xor $8,$1 1254 1255 xor $9,$8 1256 xor $10,$9 1257 xor $11,$10 1258 1259 .set noreorder 1260 bnez $30,.L128bits 1261 addu $3,4 1262 1263 sw $8,0($6) 1264 sw $9,4($6) 1265 sw $10,8($6) 1266 li $30,10 1267 sw $11,12($6) 1268 li $2,0 1269 sw $30,80($6) 1270 b .Lekey_done 1271 subu $6,10*16 1272 1273.align 4 1274.L192bits: 1275 .set reorder 1276 srl $1,$13,16 1277 srl $2,$13,8 1278 and $1,0xff 1279 and $2,0xff 1280 and $24,$13,0xff 1281 srl $25,$13,24 1282 addu $1,$7 1283 addu $2,$7 1284 addu $24,$7 1285 addu $25,$7 1286 lbu $1,0($1) 1287 lbu $2,0($2) 1288 lbu $24,0($24) 1289 lbu $25,0($25) 1290 1291 sw $8,0($6) 1292 sw $9,4($6) 1293 sw $10,8($6) 1294 sw $11,12($6) 1295 sw $12,16($6) 1296 sw $13,20($6) 1297 subu $30,1 1298 addu $6,24 1299 1300 sll $1,$1,8 1301 #sll $2,$2,0 1302 sll $24,$24,24 1303 sll $25,$25,16 1304 1305 xor $8,$1 1306 lw $1,0($3) 1307 xor $8,$2 1308 xor $8,$24 1309 xor $8,$25 1310 xor $8,$1 1311 1312 xor $9,$8 1313 xor $10,$9 1314 xor $11,$10 1315 xor $12,$11 1316 xor $13,$12 1317 1318 .set noreorder 1319 bnez $30,.L192bits 1320 addu $3,4 1321 1322 sw $8,0($6) 1323 sw $9,4($6) 1324 sw $10,8($6) 1325 li $30,12 1326 sw $11,12($6) 1327 li $2,0 1328 sw $30,48($6) 1329 b .Lekey_done 1330 subu $6,12*16 1331 1332.align 4 1333.L256bits: 1334 .set reorder 1335 srl $1,$15,16 1336 srl $2,$15,8 1337 and $1,0xff 1338 and $2,0xff 1339 and $24,$15,0xff 1340 srl $25,$15,24 1341 addu $1,$7 1342 addu $2,$7 1343 addu $24,$7 1344 addu $25,$7 1345 lbu $1,0($1) 1346 lbu $2,0($2) 1347 lbu $24,0($24) 1348 lbu $25,0($25) 1349 1350 sw $8,0($6) 1351 sw $9,4($6) 1352 sw $10,8($6) 1353 sw $11,12($6) 1354 sw $12,16($6) 1355 sw $13,20($6) 1356 sw $14,24($6) 1357 sw $15,28($6) 1358 subu $30,1 1359 1360 sll $1,$1,8 1361 #sll $2,$2,0 1362 sll $24,$24,24 1363 sll $25,$25,16 1364 1365 xor $8,$1 1366 lw $1,0($3) 1367 xor $8,$2 1368 xor $8,$24 1369 xor $8,$25 1370 xor $8,$1 1371 1372 xor $9,$8 1373 xor $10,$9 1374 xor $11,$10 1375 beqz $30,.L256bits_done 1376 1377 srl $1,$11,24 1378 srl $2,$11,16 1379 srl $24,$11,8 1380 and $25,$11,0xff 1381 and $2,0xff 1382 and $24,0xff 1383 addu $1,$7 1384 addu $2,$7 1385 addu $24,$7 1386 addu $25,$7 1387 lbu $1,0($1) 1388 lbu $2,0($2) 1389 lbu $24,0($24) 1390 lbu $25,0($25) 1391 sll $1,24 1392 sll $2,16 1393 sll $24,8 1394 1395 xor $12,$1 1396 xor $12,$2 1397 xor $12,$24 1398 xor $12,$25 1399 1400 xor $13,$12 1401 xor $14,$13 1402 xor $15,$14 1403 1404 addu $6,32 1405 .set noreorder 1406 b .L256bits 1407 addu $3,4 1408 1409.L256bits_done: 1410 sw $8,32($6) 1411 sw $9,36($6) 1412 sw $10,40($6) 1413 li $30,14 1414 sw $11,44($6) 1415 li $2,0 1416 sw $30,48($6) 1417 subu $6,12*16 1418 1419.Lekey_done: 1420 jr $31 1421 nop 1422.end _mips_AES_set_encrypt_key 1423 1424.globl AES_set_encrypt_key 1425.ent AES_set_encrypt_key 1426AES_set_encrypt_key: 1427 .frame $29,32,$31 1428 .mask 0xc0000000,-4 1429 .set noreorder 1430 .cpload $25 1431 subu $29,32 1432 sw $31,32-1*4($29) 1433 sw $30,32-2*4($29) 1434 .set reorder 1435 la $7,AES_Te4 # PIC-ified 'load address' 1436 1437 bal _mips_AES_set_encrypt_key 1438 1439 .set noreorder 1440 move $4,$2 1441 lw $31,32-1*4($29) 1442 lw $30,32-2*4($29) 1443 jr $31 1444 addu $29,32 1445.end AES_set_encrypt_key 1446.align 5 1447.globl AES_set_decrypt_key 1448.ent AES_set_decrypt_key 1449AES_set_decrypt_key: 1450 .frame $29,32,$31 1451 .mask 0xc0000000,-4 1452 .set noreorder 1453 .cpload $25 1454 subu $29,32 1455 sw $31,32-1*4($29) 1456 sw $30,32-2*4($29) 1457 .set reorder 1458 la $7,AES_Te4 # PIC-ified 'load address' 1459 1460 bal _mips_AES_set_encrypt_key 1461 1462 bltz $2,.Ldkey_done 1463 1464 sll $1,$30,4 1465 addu $4,$6,0 1466 addu $5,$6,$1 1467.align 4 1468.Lswap: 1469 lw $8,0($4) 1470 lw $9,4($4) 1471 lw $10,8($4) 1472 lw $11,12($4) 1473 lw $12,0($5) 1474 lw $13,4($5) 1475 lw $14,8($5) 1476 lw $15,12($5) 1477 sw $8,0($5) 1478 sw $9,4($5) 1479 sw $10,8($5) 1480 sw $11,12($5) 1481 addu $4,16 1482 subu $5,16 1483 sw $12,-16($4) 1484 sw $13,-12($4) 1485 sw $14,-8($4) 1486 sw $15,-4($4) 1487 bne $4,$5,.Lswap 1488 1489 lw $8,16($6) # modulo-scheduled 1490 lui $2,0x8080 1491 subu $30,1 1492 or $2,0x8080 1493 sll $30,2 1494 addu $6,16 1495 lui $25,0x1b1b 1496 nor $24,$0,$2 1497 or $25,0x1b1b 1498.align 4 1499.Lmix: 1500 and $1,$8,$2 1501 and $9,$8,$24 1502 srl $10,$1,7 1503 addu $9,$9 # tp2<<1 1504 subu $1,$10 1505 and $1,$25 1506 xor $9,$1 1507 1508 and $1,$9,$2 1509 and $10,$9,$24 1510 srl $11,$1,7 1511 addu $10,$10 # tp4<<1 1512 subu $1,$11 1513 and $1,$25 1514 xor $10,$1 1515 1516 and $1,$10,$2 1517 and $11,$10,$24 1518 srl $12,$1,7 1519 addu $11,$11 # tp8<<1 1520 subu $1,$12 1521 and $1,$25 1522 xor $11,$1 1523 1524 xor $12,$11,$8 1525 xor $15,$11,$10 1526 xor $13,$12,$9 1527 xor $14,$12,$10 1528 1529#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) 1530 rotr $8,$14,16 1531 xor $15,$9 1532 rotr $9,$12,24 1533 xor $15,$8 1534 rotr $10,$13,8 1535 xor $15,$9 1536 lw $8,4($6) # modulo-scheduled 1537 xor $15,$10 1538#else 1539 sll $8,$14,16 1540 xor $15,$9 1541 srl $9,$14,16 1542 xor $15,$8 1543 sll $8,$12,8 1544 xor $15,$9 1545 srl $9,$12,24 1546 xor $15,$8 1547 sll $8,$13,24 1548 xor $15,$9 1549 srl $9,$13,8 1550 xor $15,$8 1551 lw $8,4($6) # modulo-scheduled 1552 xor $15,$9 1553#endif 1554 subu $30,1 1555 sw $15,0($6) 1556 addu $6,4 1557 bnez $30,.Lmix 1558 1559 li $2,0 1560.Ldkey_done: 1561 .set noreorder 1562 move $4,$2 1563 lw $31,32-1*4($29) 1564 lw $30,32-2*4($29) 1565 jr $31 1566 addu $29,32 1567.end AES_set_decrypt_key 1568.rdata 1569.align 10 1570AES_Te: 1571.byte 0xc6,0x63,0x63,0xa5, 0xf8,0x7c,0x7c,0x84 # Te0 1572.byte 0xee,0x77,0x77,0x99, 0xf6,0x7b,0x7b,0x8d 1573.byte 0xff,0xf2,0xf2,0x0d, 0xd6,0x6b,0x6b,0xbd 1574.byte 0xde,0x6f,0x6f,0xb1, 0x91,0xc5,0xc5,0x54 1575.byte 0x60,0x30,0x30,0x50, 0x02,0x01,0x01,0x03 1576.byte 0xce,0x67,0x67,0xa9, 0x56,0x2b,0x2b,0x7d 1577.byte 0xe7,0xfe,0xfe,0x19, 0xb5,0xd7,0xd7,0x62 1578.byte 0x4d,0xab,0xab,0xe6, 0xec,0x76,0x76,0x9a 1579.byte 0x8f,0xca,0xca,0x45, 0x1f,0x82,0x82,0x9d 1580.byte 0x89,0xc9,0xc9,0x40, 0xfa,0x7d,0x7d,0x87 1581.byte 0xef,0xfa,0xfa,0x15, 0xb2,0x59,0x59,0xeb 1582.byte 0x8e,0x47,0x47,0xc9, 0xfb,0xf0,0xf0,0x0b 1583.byte 0x41,0xad,0xad,0xec, 0xb3,0xd4,0xd4,0x67 1584.byte 0x5f,0xa2,0xa2,0xfd, 0x45,0xaf,0xaf,0xea 1585.byte 0x23,0x9c,0x9c,0xbf, 0x53,0xa4,0xa4,0xf7 1586.byte 0xe4,0x72,0x72,0x96, 0x9b,0xc0,0xc0,0x5b 1587.byte 0x75,0xb7,0xb7,0xc2, 0xe1,0xfd,0xfd,0x1c 1588.byte 0x3d,0x93,0x93,0xae, 0x4c,0x26,0x26,0x6a 1589.byte 0x6c,0x36,0x36,0x5a, 0x7e,0x3f,0x3f,0x41 1590.byte 0xf5,0xf7,0xf7,0x02, 0x83,0xcc,0xcc,0x4f 1591.byte 0x68,0x34,0x34,0x5c, 0x51,0xa5,0xa5,0xf4 1592.byte 0xd1,0xe5,0xe5,0x34, 0xf9,0xf1,0xf1,0x08 1593.byte 0xe2,0x71,0x71,0x93, 0xab,0xd8,0xd8,0x73 1594.byte 0x62,0x31,0x31,0x53, 0x2a,0x15,0x15,0x3f 1595.byte 0x08,0x04,0x04,0x0c, 0x95,0xc7,0xc7,0x52 1596.byte 0x46,0x23,0x23,0x65, 0x9d,0xc3,0xc3,0x5e 1597.byte 0x30,0x18,0x18,0x28, 0x37,0x96,0x96,0xa1 1598.byte 0x0a,0x05,0x05,0x0f, 0x2f,0x9a,0x9a,0xb5 1599.byte 0x0e,0x07,0x07,0x09, 0x24,0x12,0x12,0x36 1600.byte 0x1b,0x80,0x80,0x9b, 0xdf,0xe2,0xe2,0x3d 1601.byte 0xcd,0xeb,0xeb,0x26, 0x4e,0x27,0x27,0x69 1602.byte 0x7f,0xb2,0xb2,0xcd, 0xea,0x75,0x75,0x9f 1603.byte 0x12,0x09,0x09,0x1b, 0x1d,0x83,0x83,0x9e 1604.byte 0x58,0x2c,0x2c,0x74, 0x34,0x1a,0x1a,0x2e 1605.byte 0x36,0x1b,0x1b,0x2d, 0xdc,0x6e,0x6e,0xb2 1606.byte 0xb4,0x5a,0x5a,0xee, 0x5b,0xa0,0xa0,0xfb 1607.byte 0xa4,0x52,0x52,0xf6, 0x76,0x3b,0x3b,0x4d 1608.byte 0xb7,0xd6,0xd6,0x61, 0x7d,0xb3,0xb3,0xce 1609.byte 0x52,0x29,0x29,0x7b, 0xdd,0xe3,0xe3,0x3e 1610.byte 0x5e,0x2f,0x2f,0x71, 0x13,0x84,0x84,0x97 1611.byte 0xa6,0x53,0x53,0xf5, 0xb9,0xd1,0xd1,0x68 1612.byte 0x00,0x00,0x00,0x00, 0xc1,0xed,0xed,0x2c 1613.byte 0x40,0x20,0x20,0x60, 0xe3,0xfc,0xfc,0x1f 1614.byte 0x79,0xb1,0xb1,0xc8, 0xb6,0x5b,0x5b,0xed 1615.byte 0xd4,0x6a,0x6a,0xbe, 0x8d,0xcb,0xcb,0x46 1616.byte 0x67,0xbe,0xbe,0xd9, 0x72,0x39,0x39,0x4b 1617.byte 0x94,0x4a,0x4a,0xde, 0x98,0x4c,0x4c,0xd4 1618.byte 0xb0,0x58,0x58,0xe8, 0x85,0xcf,0xcf,0x4a 1619.byte 0xbb,0xd0,0xd0,0x6b, 0xc5,0xef,0xef,0x2a 1620.byte 0x4f,0xaa,0xaa,0xe5, 0xed,0xfb,0xfb,0x16 1621.byte 0x86,0x43,0x43,0xc5, 0x9a,0x4d,0x4d,0xd7 1622.byte 0x66,0x33,0x33,0x55, 0x11,0x85,0x85,0x94 1623.byte 0x8a,0x45,0x45,0xcf, 0xe9,0xf9,0xf9,0x10 1624.byte 0x04,0x02,0x02,0x06, 0xfe,0x7f,0x7f,0x81 1625.byte 0xa0,0x50,0x50,0xf0, 0x78,0x3c,0x3c,0x44 1626.byte 0x25,0x9f,0x9f,0xba, 0x4b,0xa8,0xa8,0xe3 1627.byte 0xa2,0x51,0x51,0xf3, 0x5d,0xa3,0xa3,0xfe 1628.byte 0x80,0x40,0x40,0xc0, 0x05,0x8f,0x8f,0x8a 1629.byte 0x3f,0x92,0x92,0xad, 0x21,0x9d,0x9d,0xbc 1630.byte 0x70,0x38,0x38,0x48, 0xf1,0xf5,0xf5,0x04 1631.byte 0x63,0xbc,0xbc,0xdf, 0x77,0xb6,0xb6,0xc1 1632.byte 0xaf,0xda,0xda,0x75, 0x42,0x21,0x21,0x63 1633.byte 0x20,0x10,0x10,0x30, 0xe5,0xff,0xff,0x1a 1634.byte 0xfd,0xf3,0xf3,0x0e, 0xbf,0xd2,0xd2,0x6d 1635.byte 0x81,0xcd,0xcd,0x4c, 0x18,0x0c,0x0c,0x14 1636.byte 0x26,0x13,0x13,0x35, 0xc3,0xec,0xec,0x2f 1637.byte 0xbe,0x5f,0x5f,0xe1, 0x35,0x97,0x97,0xa2 1638.byte 0x88,0x44,0x44,0xcc, 0x2e,0x17,0x17,0x39 1639.byte 0x93,0xc4,0xc4,0x57, 0x55,0xa7,0xa7,0xf2 1640.byte 0xfc,0x7e,0x7e,0x82, 0x7a,0x3d,0x3d,0x47 1641.byte 0xc8,0x64,0x64,0xac, 0xba,0x5d,0x5d,0xe7 1642.byte 0x32,0x19,0x19,0x2b, 0xe6,0x73,0x73,0x95 1643.byte 0xc0,0x60,0x60,0xa0, 0x19,0x81,0x81,0x98 1644.byte 0x9e,0x4f,0x4f,0xd1, 0xa3,0xdc,0xdc,0x7f 1645.byte 0x44,0x22,0x22,0x66, 0x54,0x2a,0x2a,0x7e 1646.byte 0x3b,0x90,0x90,0xab, 0x0b,0x88,0x88,0x83 1647.byte 0x8c,0x46,0x46,0xca, 0xc7,0xee,0xee,0x29 1648.byte 0x6b,0xb8,0xb8,0xd3, 0x28,0x14,0x14,0x3c 1649.byte 0xa7,0xde,0xde,0x79, 0xbc,0x5e,0x5e,0xe2 1650.byte 0x16,0x0b,0x0b,0x1d, 0xad,0xdb,0xdb,0x76 1651.byte 0xdb,0xe0,0xe0,0x3b, 0x64,0x32,0x32,0x56 1652.byte 0x74,0x3a,0x3a,0x4e, 0x14,0x0a,0x0a,0x1e 1653.byte 0x92,0x49,0x49,0xdb, 0x0c,0x06,0x06,0x0a 1654.byte 0x48,0x24,0x24,0x6c, 0xb8,0x5c,0x5c,0xe4 1655.byte 0x9f,0xc2,0xc2,0x5d, 0xbd,0xd3,0xd3,0x6e 1656.byte 0x43,0xac,0xac,0xef, 0xc4,0x62,0x62,0xa6 1657.byte 0x39,0x91,0x91,0xa8, 0x31,0x95,0x95,0xa4 1658.byte 0xd3,0xe4,0xe4,0x37, 0xf2,0x79,0x79,0x8b 1659.byte 0xd5,0xe7,0xe7,0x32, 0x8b,0xc8,0xc8,0x43 1660.byte 0x6e,0x37,0x37,0x59, 0xda,0x6d,0x6d,0xb7 1661.byte 0x01,0x8d,0x8d,0x8c, 0xb1,0xd5,0xd5,0x64 1662.byte 0x9c,0x4e,0x4e,0xd2, 0x49,0xa9,0xa9,0xe0 1663.byte 0xd8,0x6c,0x6c,0xb4, 0xac,0x56,0x56,0xfa 1664.byte 0xf3,0xf4,0xf4,0x07, 0xcf,0xea,0xea,0x25 1665.byte 0xca,0x65,0x65,0xaf, 0xf4,0x7a,0x7a,0x8e 1666.byte 0x47,0xae,0xae,0xe9, 0x10,0x08,0x08,0x18 1667.byte 0x6f,0xba,0xba,0xd5, 0xf0,0x78,0x78,0x88 1668.byte 0x4a,0x25,0x25,0x6f, 0x5c,0x2e,0x2e,0x72 1669.byte 0x38,0x1c,0x1c,0x24, 0x57,0xa6,0xa6,0xf1 1670.byte 0x73,0xb4,0xb4,0xc7, 0x97,0xc6,0xc6,0x51 1671.byte 0xcb,0xe8,0xe8,0x23, 0xa1,0xdd,0xdd,0x7c 1672.byte 0xe8,0x74,0x74,0x9c, 0x3e,0x1f,0x1f,0x21 1673.byte 0x96,0x4b,0x4b,0xdd, 0x61,0xbd,0xbd,0xdc 1674.byte 0x0d,0x8b,0x8b,0x86, 0x0f,0x8a,0x8a,0x85 1675.byte 0xe0,0x70,0x70,0x90, 0x7c,0x3e,0x3e,0x42 1676.byte 0x71,0xb5,0xb5,0xc4, 0xcc,0x66,0x66,0xaa 1677.byte 0x90,0x48,0x48,0xd8, 0x06,0x03,0x03,0x05 1678.byte 0xf7,0xf6,0xf6,0x01, 0x1c,0x0e,0x0e,0x12 1679.byte 0xc2,0x61,0x61,0xa3, 0x6a,0x35,0x35,0x5f 1680.byte 0xae,0x57,0x57,0xf9, 0x69,0xb9,0xb9,0xd0 1681.byte 0x17,0x86,0x86,0x91, 0x99,0xc1,0xc1,0x58 1682.byte 0x3a,0x1d,0x1d,0x27, 0x27,0x9e,0x9e,0xb9 1683.byte 0xd9,0xe1,0xe1,0x38, 0xeb,0xf8,0xf8,0x13 1684.byte 0x2b,0x98,0x98,0xb3, 0x22,0x11,0x11,0x33 1685.byte 0xd2,0x69,0x69,0xbb, 0xa9,0xd9,0xd9,0x70 1686.byte 0x07,0x8e,0x8e,0x89, 0x33,0x94,0x94,0xa7 1687.byte 0x2d,0x9b,0x9b,0xb6, 0x3c,0x1e,0x1e,0x22 1688.byte 0x15,0x87,0x87,0x92, 0xc9,0xe9,0xe9,0x20 1689.byte 0x87,0xce,0xce,0x49, 0xaa,0x55,0x55,0xff 1690.byte 0x50,0x28,0x28,0x78, 0xa5,0xdf,0xdf,0x7a 1691.byte 0x03,0x8c,0x8c,0x8f, 0x59,0xa1,0xa1,0xf8 1692.byte 0x09,0x89,0x89,0x80, 0x1a,0x0d,0x0d,0x17 1693.byte 0x65,0xbf,0xbf,0xda, 0xd7,0xe6,0xe6,0x31 1694.byte 0x84,0x42,0x42,0xc6, 0xd0,0x68,0x68,0xb8 1695.byte 0x82,0x41,0x41,0xc3, 0x29,0x99,0x99,0xb0 1696.byte 0x5a,0x2d,0x2d,0x77, 0x1e,0x0f,0x0f,0x11 1697.byte 0x7b,0xb0,0xb0,0xcb, 0xa8,0x54,0x54,0xfc 1698.byte 0x6d,0xbb,0xbb,0xd6, 0x2c,0x16,0x16,0x3a 1699 1700AES_Td: 1701.byte 0x51,0xf4,0xa7,0x50, 0x7e,0x41,0x65,0x53 # Td0 1702.byte 0x1a,0x17,0xa4,0xc3, 0x3a,0x27,0x5e,0x96 1703.byte 0x3b,0xab,0x6b,0xcb, 0x1f,0x9d,0x45,0xf1 1704.byte 0xac,0xfa,0x58,0xab, 0x4b,0xe3,0x03,0x93 1705.byte 0x20,0x30,0xfa,0x55, 0xad,0x76,0x6d,0xf6 1706.byte 0x88,0xcc,0x76,0x91, 0xf5,0x02,0x4c,0x25 1707.byte 0x4f,0xe5,0xd7,0xfc, 0xc5,0x2a,0xcb,0xd7 1708.byte 0x26,0x35,0x44,0x80, 0xb5,0x62,0xa3,0x8f 1709.byte 0xde,0xb1,0x5a,0x49, 0x25,0xba,0x1b,0x67 1710.byte 0x45,0xea,0x0e,0x98, 0x5d,0xfe,0xc0,0xe1 1711.byte 0xc3,0x2f,0x75,0x02, 0x81,0x4c,0xf0,0x12 1712.byte 0x8d,0x46,0x97,0xa3, 0x6b,0xd3,0xf9,0xc6 1713.byte 0x03,0x8f,0x5f,0xe7, 0x15,0x92,0x9c,0x95 1714.byte 0xbf,0x6d,0x7a,0xeb, 0x95,0x52,0x59,0xda 1715.byte 0xd4,0xbe,0x83,0x2d, 0x58,0x74,0x21,0xd3 1716.byte 0x49,0xe0,0x69,0x29, 0x8e,0xc9,0xc8,0x44 1717.byte 0x75,0xc2,0x89,0x6a, 0xf4,0x8e,0x79,0x78 1718.byte 0x99,0x58,0x3e,0x6b, 0x27,0xb9,0x71,0xdd 1719.byte 0xbe,0xe1,0x4f,0xb6, 0xf0,0x88,0xad,0x17 1720.byte 0xc9,0x20,0xac,0x66, 0x7d,0xce,0x3a,0xb4 1721.byte 0x63,0xdf,0x4a,0x18, 0xe5,0x1a,0x31,0x82 1722.byte 0x97,0x51,0x33,0x60, 0x62,0x53,0x7f,0x45 1723.byte 0xb1,0x64,0x77,0xe0, 0xbb,0x6b,0xae,0x84 1724.byte 0xfe,0x81,0xa0,0x1c, 0xf9,0x08,0x2b,0x94 1725.byte 0x70,0x48,0x68,0x58, 0x8f,0x45,0xfd,0x19 1726.byte 0x94,0xde,0x6c,0x87, 0x52,0x7b,0xf8,0xb7 1727.byte 0xab,0x73,0xd3,0x23, 0x72,0x4b,0x02,0xe2 1728.byte 0xe3,0x1f,0x8f,0x57, 0x66,0x55,0xab,0x2a 1729.byte 0xb2,0xeb,0x28,0x07, 0x2f,0xb5,0xc2,0x03 1730.byte 0x86,0xc5,0x7b,0x9a, 0xd3,0x37,0x08,0xa5 1731.byte 0x30,0x28,0x87,0xf2, 0x23,0xbf,0xa5,0xb2 1732.byte 0x02,0x03,0x6a,0xba, 0xed,0x16,0x82,0x5c 1733.byte 0x8a,0xcf,0x1c,0x2b, 0xa7,0x79,0xb4,0x92 1734.byte 0xf3,0x07,0xf2,0xf0, 0x4e,0x69,0xe2,0xa1 1735.byte 0x65,0xda,0xf4,0xcd, 0x06,0x05,0xbe,0xd5 1736.byte 0xd1,0x34,0x62,0x1f, 0xc4,0xa6,0xfe,0x8a 1737.byte 0x34,0x2e,0x53,0x9d, 0xa2,0xf3,0x55,0xa0 1738.byte 0x05,0x8a,0xe1,0x32, 0xa4,0xf6,0xeb,0x75 1739.byte 0x0b,0x83,0xec,0x39, 0x40,0x60,0xef,0xaa 1740.byte 0x5e,0x71,0x9f,0x06, 0xbd,0x6e,0x10,0x51 1741.byte 0x3e,0x21,0x8a,0xf9, 0x96,0xdd,0x06,0x3d 1742.byte 0xdd,0x3e,0x05,0xae, 0x4d,0xe6,0xbd,0x46 1743.byte 0x91,0x54,0x8d,0xb5, 0x71,0xc4,0x5d,0x05 1744.byte 0x04,0x06,0xd4,0x6f, 0x60,0x50,0x15,0xff 1745.byte 0x19,0x98,0xfb,0x24, 0xd6,0xbd,0xe9,0x97 1746.byte 0x89,0x40,0x43,0xcc, 0x67,0xd9,0x9e,0x77 1747.byte 0xb0,0xe8,0x42,0xbd, 0x07,0x89,0x8b,0x88 1748.byte 0xe7,0x19,0x5b,0x38, 0x79,0xc8,0xee,0xdb 1749.byte 0xa1,0x7c,0x0a,0x47, 0x7c,0x42,0x0f,0xe9 1750.byte 0xf8,0x84,0x1e,0xc9, 0x00,0x00,0x00,0x00 1751.byte 0x09,0x80,0x86,0x83, 0x32,0x2b,0xed,0x48 1752.byte 0x1e,0x11,0x70,0xac, 0x6c,0x5a,0x72,0x4e 1753.byte 0xfd,0x0e,0xff,0xfb, 0x0f,0x85,0x38,0x56 1754.byte 0x3d,0xae,0xd5,0x1e, 0x36,0x2d,0x39,0x27 1755.byte 0x0a,0x0f,0xd9,0x64, 0x68,0x5c,0xa6,0x21 1756.byte 0x9b,0x5b,0x54,0xd1, 0x24,0x36,0x2e,0x3a 1757.byte 0x0c,0x0a,0x67,0xb1, 0x93,0x57,0xe7,0x0f 1758.byte 0xb4,0xee,0x96,0xd2, 0x1b,0x9b,0x91,0x9e 1759.byte 0x80,0xc0,0xc5,0x4f, 0x61,0xdc,0x20,0xa2 1760.byte 0x5a,0x77,0x4b,0x69, 0x1c,0x12,0x1a,0x16 1761.byte 0xe2,0x93,0xba,0x0a, 0xc0,0xa0,0x2a,0xe5 1762.byte 0x3c,0x22,0xe0,0x43, 0x12,0x1b,0x17,0x1d 1763.byte 0x0e,0x09,0x0d,0x0b, 0xf2,0x8b,0xc7,0xad 1764.byte 0x2d,0xb6,0xa8,0xb9, 0x14,0x1e,0xa9,0xc8 1765.byte 0x57,0xf1,0x19,0x85, 0xaf,0x75,0x07,0x4c 1766.byte 0xee,0x99,0xdd,0xbb, 0xa3,0x7f,0x60,0xfd 1767.byte 0xf7,0x01,0x26,0x9f, 0x5c,0x72,0xf5,0xbc 1768.byte 0x44,0x66,0x3b,0xc5, 0x5b,0xfb,0x7e,0x34 1769.byte 0x8b,0x43,0x29,0x76, 0xcb,0x23,0xc6,0xdc 1770.byte 0xb6,0xed,0xfc,0x68, 0xb8,0xe4,0xf1,0x63 1771.byte 0xd7,0x31,0xdc,0xca, 0x42,0x63,0x85,0x10 1772.byte 0x13,0x97,0x22,0x40, 0x84,0xc6,0x11,0x20 1773.byte 0x85,0x4a,0x24,0x7d, 0xd2,0xbb,0x3d,0xf8 1774.byte 0xae,0xf9,0x32,0x11, 0xc7,0x29,0xa1,0x6d 1775.byte 0x1d,0x9e,0x2f,0x4b, 0xdc,0xb2,0x30,0xf3 1776.byte 0x0d,0x86,0x52,0xec, 0x77,0xc1,0xe3,0xd0 1777.byte 0x2b,0xb3,0x16,0x6c, 0xa9,0x70,0xb9,0x99 1778.byte 0x11,0x94,0x48,0xfa, 0x47,0xe9,0x64,0x22 1779.byte 0xa8,0xfc,0x8c,0xc4, 0xa0,0xf0,0x3f,0x1a 1780.byte 0x56,0x7d,0x2c,0xd8, 0x22,0x33,0x90,0xef 1781.byte 0x87,0x49,0x4e,0xc7, 0xd9,0x38,0xd1,0xc1 1782.byte 0x8c,0xca,0xa2,0xfe, 0x98,0xd4,0x0b,0x36 1783.byte 0xa6,0xf5,0x81,0xcf, 0xa5,0x7a,0xde,0x28 1784.byte 0xda,0xb7,0x8e,0x26, 0x3f,0xad,0xbf,0xa4 1785.byte 0x2c,0x3a,0x9d,0xe4, 0x50,0x78,0x92,0x0d 1786.byte 0x6a,0x5f,0xcc,0x9b, 0x54,0x7e,0x46,0x62 1787.byte 0xf6,0x8d,0x13,0xc2, 0x90,0xd8,0xb8,0xe8 1788.byte 0x2e,0x39,0xf7,0x5e, 0x82,0xc3,0xaf,0xf5 1789.byte 0x9f,0x5d,0x80,0xbe, 0x69,0xd0,0x93,0x7c 1790.byte 0x6f,0xd5,0x2d,0xa9, 0xcf,0x25,0x12,0xb3 1791.byte 0xc8,0xac,0x99,0x3b, 0x10,0x18,0x7d,0xa7 1792.byte 0xe8,0x9c,0x63,0x6e, 0xdb,0x3b,0xbb,0x7b 1793.byte 0xcd,0x26,0x78,0x09, 0x6e,0x59,0x18,0xf4 1794.byte 0xec,0x9a,0xb7,0x01, 0x83,0x4f,0x9a,0xa8 1795.byte 0xe6,0x95,0x6e,0x65, 0xaa,0xff,0xe6,0x7e 1796.byte 0x21,0xbc,0xcf,0x08, 0xef,0x15,0xe8,0xe6 1797.byte 0xba,0xe7,0x9b,0xd9, 0x4a,0x6f,0x36,0xce 1798.byte 0xea,0x9f,0x09,0xd4, 0x29,0xb0,0x7c,0xd6 1799.byte 0x31,0xa4,0xb2,0xaf, 0x2a,0x3f,0x23,0x31 1800.byte 0xc6,0xa5,0x94,0x30, 0x35,0xa2,0x66,0xc0 1801.byte 0x74,0x4e,0xbc,0x37, 0xfc,0x82,0xca,0xa6 1802.byte 0xe0,0x90,0xd0,0xb0, 0x33,0xa7,0xd8,0x15 1803.byte 0xf1,0x04,0x98,0x4a, 0x41,0xec,0xda,0xf7 1804.byte 0x7f,0xcd,0x50,0x0e, 0x17,0x91,0xf6,0x2f 1805.byte 0x76,0x4d,0xd6,0x8d, 0x43,0xef,0xb0,0x4d 1806.byte 0xcc,0xaa,0x4d,0x54, 0xe4,0x96,0x04,0xdf 1807.byte 0x9e,0xd1,0xb5,0xe3, 0x4c,0x6a,0x88,0x1b 1808.byte 0xc1,0x2c,0x1f,0xb8, 0x46,0x65,0x51,0x7f 1809.byte 0x9d,0x5e,0xea,0x04, 0x01,0x8c,0x35,0x5d 1810.byte 0xfa,0x87,0x74,0x73, 0xfb,0x0b,0x41,0x2e 1811.byte 0xb3,0x67,0x1d,0x5a, 0x92,0xdb,0xd2,0x52 1812.byte 0xe9,0x10,0x56,0x33, 0x6d,0xd6,0x47,0x13 1813.byte 0x9a,0xd7,0x61,0x8c, 0x37,0xa1,0x0c,0x7a 1814.byte 0x59,0xf8,0x14,0x8e, 0xeb,0x13,0x3c,0x89 1815.byte 0xce,0xa9,0x27,0xee, 0xb7,0x61,0xc9,0x35 1816.byte 0xe1,0x1c,0xe5,0xed, 0x7a,0x47,0xb1,0x3c 1817.byte 0x9c,0xd2,0xdf,0x59, 0x55,0xf2,0x73,0x3f 1818.byte 0x18,0x14,0xce,0x79, 0x73,0xc7,0x37,0xbf 1819.byte 0x53,0xf7,0xcd,0xea, 0x5f,0xfd,0xaa,0x5b 1820.byte 0xdf,0x3d,0x6f,0x14, 0x78,0x44,0xdb,0x86 1821.byte 0xca,0xaf,0xf3,0x81, 0xb9,0x68,0xc4,0x3e 1822.byte 0x38,0x24,0x34,0x2c, 0xc2,0xa3,0x40,0x5f 1823.byte 0x16,0x1d,0xc3,0x72, 0xbc,0xe2,0x25,0x0c 1824.byte 0x28,0x3c,0x49,0x8b, 0xff,0x0d,0x95,0x41 1825.byte 0x39,0xa8,0x01,0x71, 0x08,0x0c,0xb3,0xde 1826.byte 0xd8,0xb4,0xe4,0x9c, 0x64,0x56,0xc1,0x90 1827.byte 0x7b,0xcb,0x84,0x61, 0xd5,0x32,0xb6,0x70 1828.byte 0x48,0x6c,0x5c,0x74, 0xd0,0xb8,0x57,0x42 1829 1830.byte 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38 # Td4 1831.byte 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb 1832.byte 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87 1833.byte 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb 1834.byte 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d 1835.byte 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e 1836.byte 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2 1837.byte 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25 1838.byte 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16 1839.byte 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92 1840.byte 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda 1841.byte 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84 1842.byte 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a 1843.byte 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06 1844.byte 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02 1845.byte 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b 1846.byte 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea 1847.byte 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73 1848.byte 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85 1849.byte 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e 1850.byte 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89 1851.byte 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b 1852.byte 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20 1853.byte 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4 1854.byte 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31 1855.byte 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f 1856.byte 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d 1857.byte 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef 1858.byte 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0 1859.byte 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61 1860.byte 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26 1861.byte 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d 1862 1863AES_Te4: 1864.byte 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5 # Te4 1865.byte 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76 1866.byte 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0 1867.byte 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0 1868.byte 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc 1869.byte 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15 1870.byte 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a 1871.byte 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75 1872.byte 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0 1873.byte 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84 1874.byte 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b 1875.byte 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf 1876.byte 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85 1877.byte 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8 1878.byte 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5 1879.byte 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2 1880.byte 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17 1881.byte 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73 1882.byte 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88 1883.byte 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb 1884.byte 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c 1885.byte 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79 1886.byte 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9 1887.byte 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08 1888.byte 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6 1889.byte 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a 1890.byte 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e 1891.byte 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e 1892.byte 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94 1893.byte 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf 1894.byte 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68 1895.byte 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16 1896 1897.byte 0x01,0x00,0x00,0x00, 0x02,0x00,0x00,0x00 # rcon 1898.byte 0x04,0x00,0x00,0x00, 0x08,0x00,0x00,0x00 1899.byte 0x10,0x00,0x00,0x00, 0x20,0x00,0x00,0x00 1900.byte 0x40,0x00,0x00,0x00, 0x80,0x00,0x00,0x00 1901.byte 0x1B,0x00,0x00,0x00, 0x36,0x00,0x00,0x00 1902