1 #include <machine/asm.h> 2 .text 3 .type _x86_AES_encrypt_compact,@function 4 .align 16 5 _x86_AES_encrypt_compact: 6 #ifdef __CET__ 7 8 .byte 243,15,30,251 9 #endif 10 11 movl %edi,20(%esp) 12 xorl (%edi),%eax 13 xorl 4(%edi),%ebx 14 xorl 8(%edi),%ecx 15 xorl 12(%edi),%edx 16 movl 240(%edi),%esi 17 leal -2(%esi,%esi,1),%esi 18 leal (%edi,%esi,8),%esi 19 movl %esi,24(%esp) 20 movl -128(%ebp),%edi 21 movl -96(%ebp),%esi 22 movl -64(%ebp),%edi 23 movl -32(%ebp),%esi 24 movl (%ebp),%edi 25 movl 32(%ebp),%esi 26 movl 64(%ebp),%edi 27 movl 96(%ebp),%esi 28 .align 16 29 .L000loop: 30 movl %eax,%esi 31 andl $255,%esi 32 movzbl -128(%ebp,%esi,1),%esi 33 movzbl %bh,%edi 34 movzbl -128(%ebp,%edi,1),%edi 35 shll $8,%edi 36 xorl %edi,%esi 37 movl %ecx,%edi 38 shrl $16,%edi 39 andl $255,%edi 40 movzbl -128(%ebp,%edi,1),%edi 41 shll $16,%edi 42 xorl %edi,%esi 43 movl %edx,%edi 44 shrl $24,%edi 45 movzbl -128(%ebp,%edi,1),%edi 46 shll $24,%edi 47 xorl %edi,%esi 48 movl %esi,4(%esp) 49 50 movl %ebx,%esi 51 andl $255,%esi 52 shrl $16,%ebx 53 movzbl -128(%ebp,%esi,1),%esi 54 movzbl %ch,%edi 55 movzbl -128(%ebp,%edi,1),%edi 56 shll $8,%edi 57 xorl %edi,%esi 58 movl %edx,%edi 59 shrl $16,%edi 60 andl $255,%edi 61 movzbl -128(%ebp,%edi,1),%edi 62 shll $16,%edi 63 xorl %edi,%esi 64 movl %eax,%edi 65 shrl $24,%edi 66 movzbl -128(%ebp,%edi,1),%edi 67 shll $24,%edi 68 xorl %edi,%esi 69 movl %esi,8(%esp) 70 71 movl %ecx,%esi 72 andl $255,%esi 73 shrl $24,%ecx 74 movzbl -128(%ebp,%esi,1),%esi 75 movzbl %dh,%edi 76 movzbl -128(%ebp,%edi,1),%edi 77 shll $8,%edi 78 xorl %edi,%esi 79 movl %eax,%edi 80 shrl $16,%edi 81 andl $255,%edx 82 andl $255,%edi 83 movzbl -128(%ebp,%edi,1),%edi 84 shll $16,%edi 85 xorl %edi,%esi 86 movzbl %bh,%edi 87 movzbl -128(%ebp,%edi,1),%edi 88 shll $24,%edi 89 xorl %edi,%esi 90 91 andl $255,%edx 92 movzbl -128(%ebp,%edx,1),%edx 93 movzbl %ah,%eax 94 movzbl -128(%ebp,%eax,1),%eax 95 shll $8,%eax 96 xorl %eax,%edx 97 movl 4(%esp),%eax 98 andl $255,%ebx 99 movzbl -128(%ebp,%ebx,1),%ebx 100 shll $16,%ebx 101 xorl %ebx,%edx 102 movl 8(%esp),%ebx 103 movzbl -128(%ebp,%ecx,1),%ecx 104 shll $24,%ecx 105 xorl %ecx,%edx 106 movl %esi,%ecx 107 108 movl $2155905152,%ebp 109 andl %ecx,%ebp 110 leal (%ecx,%ecx,1),%edi 111 movl %ebp,%esi 112 shrl $7,%ebp 113 andl $4278124286,%edi 114 subl %ebp,%esi 115 movl %ecx,%ebp 116 andl $454761243,%esi 117 rorl $16,%ebp 118 xorl %edi,%esi 119 movl %ecx,%edi 120 xorl %esi,%ecx 121 rorl $24,%edi 122 xorl %ebp,%esi 123 roll $24,%ecx 124 xorl %edi,%esi 125 movl $2155905152,%ebp 126 xorl %esi,%ecx 127 andl %edx,%ebp 128 leal (%edx,%edx,1),%edi 129 movl %ebp,%esi 130 shrl $7,%ebp 131 andl $4278124286,%edi 132 subl %ebp,%esi 133 movl %edx,%ebp 134 andl $454761243,%esi 135 rorl $16,%ebp 136 xorl %edi,%esi 137 movl %edx,%edi 138 xorl %esi,%edx 139 rorl $24,%edi 140 xorl %ebp,%esi 141 roll $24,%edx 142 xorl %edi,%esi 143 movl $2155905152,%ebp 144 xorl %esi,%edx 145 andl %eax,%ebp 146 leal (%eax,%eax,1),%edi 147 movl %ebp,%esi 148 shrl $7,%ebp 149 andl $4278124286,%edi 150 subl %ebp,%esi 151 movl %eax,%ebp 152 andl $454761243,%esi 153 rorl $16,%ebp 154 xorl %edi,%esi 155 movl %eax,%edi 156 xorl %esi,%eax 157 rorl $24,%edi 158 xorl %ebp,%esi 159 roll $24,%eax 160 xorl %edi,%esi 161 movl $2155905152,%ebp 162 xorl %esi,%eax 163 andl %ebx,%ebp 164 leal (%ebx,%ebx,1),%edi 165 movl %ebp,%esi 166 shrl $7,%ebp 167 andl $4278124286,%edi 168 subl %ebp,%esi 169 movl %ebx,%ebp 170 andl $454761243,%esi 171 rorl $16,%ebp 172 xorl %edi,%esi 173 movl %ebx,%edi 174 xorl %esi,%ebx 175 rorl $24,%edi 176 xorl %ebp,%esi 177 roll $24,%ebx 178 xorl %edi,%esi 179 xorl %esi,%ebx 180 movl 20(%esp),%edi 181 movl 28(%esp),%ebp 182 addl $16,%edi 183 xorl (%edi),%eax 184 xorl 4(%edi),%ebx 185 xorl 8(%edi),%ecx 186 xorl 12(%edi),%edx 187 cmpl 24(%esp),%edi 188 movl %edi,20(%esp) 189 jb .L000loop 190 movl %eax,%esi 191 andl $255,%esi 192 movzbl -128(%ebp,%esi,1),%esi 193 movzbl %bh,%edi 194 movzbl -128(%ebp,%edi,1),%edi 195 shll $8,%edi 196 xorl %edi,%esi 197 movl %ecx,%edi 198 shrl $16,%edi 199 andl $255,%edi 200 movzbl -128(%ebp,%edi,1),%edi 201 shll $16,%edi 202 xorl %edi,%esi 203 movl %edx,%edi 204 shrl $24,%edi 205 movzbl -128(%ebp,%edi,1),%edi 206 shll $24,%edi 207 xorl %edi,%esi 208 movl %esi,4(%esp) 209 210 movl %ebx,%esi 211 andl $255,%esi 212 shrl $16,%ebx 213 movzbl -128(%ebp,%esi,1),%esi 214 movzbl %ch,%edi 215 movzbl -128(%ebp,%edi,1),%edi 216 shll $8,%edi 217 xorl %edi,%esi 218 movl %edx,%edi 219 shrl $16,%edi 220 andl $255,%edi 221 movzbl -128(%ebp,%edi,1),%edi 222 shll $16,%edi 223 xorl %edi,%esi 224 movl %eax,%edi 225 shrl $24,%edi 226 movzbl -128(%ebp,%edi,1),%edi 227 shll $24,%edi 228 xorl %edi,%esi 229 movl %esi,8(%esp) 230 231 movl %ecx,%esi 232 andl $255,%esi 233 shrl $24,%ecx 234 movzbl -128(%ebp,%esi,1),%esi 235 movzbl %dh,%edi 236 movzbl -128(%ebp,%edi,1),%edi 237 shll $8,%edi 238 xorl %edi,%esi 239 movl %eax,%edi 240 shrl $16,%edi 241 andl $255,%edx 242 andl $255,%edi 243 movzbl -128(%ebp,%edi,1),%edi 244 shll $16,%edi 245 xorl %edi,%esi 246 movzbl %bh,%edi 247 movzbl -128(%ebp,%edi,1),%edi 248 shll $24,%edi 249 xorl %edi,%esi 250 251 movl 20(%esp),%edi 252 andl $255,%edx 253 movzbl -128(%ebp,%edx,1),%edx 254 movzbl %ah,%eax 255 movzbl -128(%ebp,%eax,1),%eax 256 shll $8,%eax 257 xorl %eax,%edx 258 movl 4(%esp),%eax 259 andl $255,%ebx 260 movzbl -128(%ebp,%ebx,1),%ebx 261 shll $16,%ebx 262 xorl %ebx,%edx 263 movl 8(%esp),%ebx 264 movzbl -128(%ebp,%ecx,1),%ecx 265 shll $24,%ecx 266 xorl %ecx,%edx 267 movl %esi,%ecx 268 269 xorl 16(%edi),%eax 270 xorl 20(%edi),%ebx 271 xorl 24(%edi),%ecx 272 xorl 28(%edi),%edx 273 ret 274 .size _x86_AES_encrypt_compact,.-_x86_AES_encrypt_compact 275 .type _sse_AES_encrypt_compact,@function 276 .align 16 277 _sse_AES_encrypt_compact: 278 #ifdef __CET__ 279 280 .byte 243,15,30,251 281 #endif 282 283 pxor (%edi),%mm0 284 pxor 8(%edi),%mm4 285 movl 240(%edi),%esi 286 leal -2(%esi,%esi,1),%esi 287 leal (%edi,%esi,8),%esi 288 movl %esi,24(%esp) 289 movl $454761243,%eax 290 movl %eax,8(%esp) 291 movl %eax,12(%esp) 292 movl -128(%ebp),%eax 293 movl -96(%ebp),%ebx 294 movl -64(%ebp),%ecx 295 movl -32(%ebp),%edx 296 movl (%ebp),%eax 297 movl 32(%ebp),%ebx 298 movl 64(%ebp),%ecx 299 movl 96(%ebp),%edx 300 .align 16 301 .L001loop: 302 pshufw $8,%mm0,%mm1 303 pshufw $13,%mm4,%mm5 304 movd %mm1,%eax 305 movd %mm5,%ebx 306 movl %edi,20(%esp) 307 movzbl %al,%esi 308 movzbl %ah,%edx 309 pshufw $13,%mm0,%mm2 310 movzbl -128(%ebp,%esi,1),%ecx 311 movzbl %bl,%edi 312 movzbl -128(%ebp,%edx,1),%edx 313 shrl $16,%eax 314 shll $8,%edx 315 movzbl -128(%ebp,%edi,1),%esi 316 movzbl %bh,%edi 317 shll $16,%esi 318 pshufw $8,%mm4,%mm6 319 orl %esi,%ecx 320 movzbl -128(%ebp,%edi,1),%esi 321 movzbl %ah,%edi 322 shll $24,%esi 323 shrl $16,%ebx 324 orl %esi,%edx 325 movzbl -128(%ebp,%edi,1),%esi 326 movzbl %bh,%edi 327 shll $8,%esi 328 orl %esi,%ecx 329 movzbl -128(%ebp,%edi,1),%esi 330 movzbl %al,%edi 331 shll $24,%esi 332 orl %esi,%ecx 333 movzbl -128(%ebp,%edi,1),%esi 334 movzbl %bl,%edi 335 movd %mm2,%eax 336 movd %ecx,%mm0 337 movzbl -128(%ebp,%edi,1),%ecx 338 movzbl %ah,%edi 339 shll $16,%ecx 340 movd %mm6,%ebx 341 orl %esi,%ecx 342 movzbl -128(%ebp,%edi,1),%esi 343 movzbl %bh,%edi 344 shll $24,%esi 345 orl %esi,%ecx 346 movzbl -128(%ebp,%edi,1),%esi 347 movzbl %bl,%edi 348 shll $8,%esi 349 shrl $16,%ebx 350 orl %esi,%ecx 351 movzbl -128(%ebp,%edi,1),%esi 352 movzbl %al,%edi 353 shrl $16,%eax 354 movd %ecx,%mm1 355 movzbl -128(%ebp,%edi,1),%ecx 356 movzbl %ah,%edi 357 shll $16,%ecx 358 andl $255,%eax 359 orl %esi,%ecx 360 punpckldq %mm1,%mm0 361 movzbl -128(%ebp,%edi,1),%esi 362 movzbl %bh,%edi 363 shll $24,%esi 364 andl $255,%ebx 365 movzbl -128(%ebp,%eax,1),%eax 366 orl %esi,%ecx 367 shll $16,%eax 368 movzbl -128(%ebp,%edi,1),%esi 369 orl %eax,%edx 370 shll $8,%esi 371 movzbl -128(%ebp,%ebx,1),%ebx 372 orl %esi,%ecx 373 orl %ebx,%edx 374 movl 20(%esp),%edi 375 movd %ecx,%mm4 376 movd %edx,%mm5 377 punpckldq %mm5,%mm4 378 addl $16,%edi 379 cmpl 24(%esp),%edi 380 ja .L002out 381 movq 8(%esp),%mm2 382 pxor %mm3,%mm3 383 pxor %mm7,%mm7 384 movq %mm0,%mm1 385 movq %mm4,%mm5 386 pcmpgtb %mm0,%mm3 387 pcmpgtb %mm4,%mm7 388 pand %mm2,%mm3 389 pand %mm2,%mm7 390 pshufw $177,%mm0,%mm2 391 pshufw $177,%mm4,%mm6 392 paddb %mm0,%mm0 393 paddb %mm4,%mm4 394 pxor %mm3,%mm0 395 pxor %mm7,%mm4 396 pshufw $177,%mm2,%mm3 397 pshufw $177,%mm6,%mm7 398 pxor %mm0,%mm1 399 pxor %mm4,%mm5 400 pxor %mm2,%mm0 401 pxor %mm6,%mm4 402 movq %mm3,%mm2 403 movq %mm7,%mm6 404 pslld $8,%mm3 405 pslld $8,%mm7 406 psrld $24,%mm2 407 psrld $24,%mm6 408 pxor %mm3,%mm0 409 pxor %mm7,%mm4 410 pxor %mm2,%mm0 411 pxor %mm6,%mm4 412 movq %mm1,%mm3 413 movq %mm5,%mm7 414 movq (%edi),%mm2 415 movq 8(%edi),%mm6 416 psrld $8,%mm1 417 psrld $8,%mm5 418 movl -128(%ebp),%eax 419 pslld $24,%mm3 420 pslld $24,%mm7 421 movl -64(%ebp),%ebx 422 pxor %mm1,%mm0 423 pxor %mm5,%mm4 424 movl (%ebp),%ecx 425 pxor %mm3,%mm0 426 pxor %mm7,%mm4 427 movl 64(%ebp),%edx 428 pxor %mm2,%mm0 429 pxor %mm6,%mm4 430 jmp .L001loop 431 .align 16 432 .L002out: 433 pxor (%edi),%mm0 434 pxor 8(%edi),%mm4 435 ret 436 .size _sse_AES_encrypt_compact,.-_sse_AES_encrypt_compact 437 .type _x86_AES_encrypt,@function 438 .align 16 439 _x86_AES_encrypt: 440 #ifdef __CET__ 441 442 .byte 243,15,30,251 443 #endif 444 445 movl %edi,20(%esp) 446 xorl (%edi),%eax 447 xorl 4(%edi),%ebx 448 xorl 8(%edi),%ecx 449 xorl 12(%edi),%edx 450 movl 240(%edi),%esi 451 leal -2(%esi,%esi,1),%esi 452 leal (%edi,%esi,8),%esi 453 movl %esi,24(%esp) 454 .align 16 455 .L003loop: 456 movl %eax,%esi 457 andl $255,%esi 458 movl (%ebp,%esi,8),%esi 459 movzbl %bh,%edi 460 xorl 3(%ebp,%edi,8),%esi 461 movl %ecx,%edi 462 shrl $16,%edi 463 andl $255,%edi 464 xorl 2(%ebp,%edi,8),%esi 465 movl %edx,%edi 466 shrl $24,%edi 467 xorl 1(%ebp,%edi,8),%esi 468 movl %esi,4(%esp) 469 470 movl %ebx,%esi 471 andl $255,%esi 472 shrl $16,%ebx 473 movl (%ebp,%esi,8),%esi 474 movzbl %ch,%edi 475 xorl 3(%ebp,%edi,8),%esi 476 movl %edx,%edi 477 shrl $16,%edi 478 andl $255,%edi 479 xorl 2(%ebp,%edi,8),%esi 480 movl %eax,%edi 481 shrl $24,%edi 482 xorl 1(%ebp,%edi,8),%esi 483 movl %esi,8(%esp) 484 485 movl %ecx,%esi 486 andl $255,%esi 487 shrl $24,%ecx 488 movl (%ebp,%esi,8),%esi 489 movzbl %dh,%edi 490 xorl 3(%ebp,%edi,8),%esi 491 movl %eax,%edi 492 shrl $16,%edi 493 andl $255,%edx 494 andl $255,%edi 495 xorl 2(%ebp,%edi,8),%esi 496 movzbl %bh,%edi 497 xorl 1(%ebp,%edi,8),%esi 498 499 movl 20(%esp),%edi 500 movl (%ebp,%edx,8),%edx 501 movzbl %ah,%eax 502 xorl 3(%ebp,%eax,8),%edx 503 movl 4(%esp),%eax 504 andl $255,%ebx 505 xorl 2(%ebp,%ebx,8),%edx 506 movl 8(%esp),%ebx 507 xorl 1(%ebp,%ecx,8),%edx 508 movl %esi,%ecx 509 510 addl $16,%edi 511 xorl (%edi),%eax 512 xorl 4(%edi),%ebx 513 xorl 8(%edi),%ecx 514 xorl 12(%edi),%edx 515 cmpl 24(%esp),%edi 516 movl %edi,20(%esp) 517 jb .L003loop 518 movl %eax,%esi 519 andl $255,%esi 520 movl 2(%ebp,%esi,8),%esi 521 andl $255,%esi 522 movzbl %bh,%edi 523 movl (%ebp,%edi,8),%edi 524 andl $65280,%edi 525 xorl %edi,%esi 526 movl %ecx,%edi 527 shrl $16,%edi 528 andl $255,%edi 529 movl (%ebp,%edi,8),%edi 530 andl $16711680,%edi 531 xorl %edi,%esi 532 movl %edx,%edi 533 shrl $24,%edi 534 movl 2(%ebp,%edi,8),%edi 535 andl $4278190080,%edi 536 xorl %edi,%esi 537 movl %esi,4(%esp) 538 movl %ebx,%esi 539 andl $255,%esi 540 shrl $16,%ebx 541 movl 2(%ebp,%esi,8),%esi 542 andl $255,%esi 543 movzbl %ch,%edi 544 movl (%ebp,%edi,8),%edi 545 andl $65280,%edi 546 xorl %edi,%esi 547 movl %edx,%edi 548 shrl $16,%edi 549 andl $255,%edi 550 movl (%ebp,%edi,8),%edi 551 andl $16711680,%edi 552 xorl %edi,%esi 553 movl %eax,%edi 554 shrl $24,%edi 555 movl 2(%ebp,%edi,8),%edi 556 andl $4278190080,%edi 557 xorl %edi,%esi 558 movl %esi,8(%esp) 559 movl %ecx,%esi 560 andl $255,%esi 561 shrl $24,%ecx 562 movl 2(%ebp,%esi,8),%esi 563 andl $255,%esi 564 movzbl %dh,%edi 565 movl (%ebp,%edi,8),%edi 566 andl $65280,%edi 567 xorl %edi,%esi 568 movl %eax,%edi 569 shrl $16,%edi 570 andl $255,%edx 571 andl $255,%edi 572 movl (%ebp,%edi,8),%edi 573 andl $16711680,%edi 574 xorl %edi,%esi 575 movzbl %bh,%edi 576 movl 2(%ebp,%edi,8),%edi 577 andl $4278190080,%edi 578 xorl %edi,%esi 579 movl 20(%esp),%edi 580 andl $255,%edx 581 movl 2(%ebp,%edx,8),%edx 582 andl $255,%edx 583 movzbl %ah,%eax 584 movl (%ebp,%eax,8),%eax 585 andl $65280,%eax 586 xorl %eax,%edx 587 movl 4(%esp),%eax 588 andl $255,%ebx 589 movl (%ebp,%ebx,8),%ebx 590 andl $16711680,%ebx 591 xorl %ebx,%edx 592 movl 8(%esp),%ebx 593 movl 2(%ebp,%ecx,8),%ecx 594 andl $4278190080,%ecx 595 xorl %ecx,%edx 596 movl %esi,%ecx 597 addl $16,%edi 598 xorl (%edi),%eax 599 xorl 4(%edi),%ebx 600 xorl 8(%edi),%ecx 601 xorl 12(%edi),%edx 602 ret 603 .align 64 604 .LAES_Te: 605 .long 2774754246,2774754246 606 .long 2222750968,2222750968 607 .long 2574743534,2574743534 608 .long 2373680118,2373680118 609 .long 234025727,234025727 610 .long 3177933782,3177933782 611 .long 2976870366,2976870366 612 .long 1422247313,1422247313 613 .long 1345335392,1345335392 614 .long 50397442,50397442 615 .long 2842126286,2842126286 616 .long 2099981142,2099981142 617 .long 436141799,436141799 618 .long 1658312629,1658312629 619 .long 3870010189,3870010189 620 .long 2591454956,2591454956 621 .long 1170918031,1170918031 622 .long 2642575903,2642575903 623 .long 1086966153,1086966153 624 .long 2273148410,2273148410 625 .long 368769775,368769775 626 .long 3948501426,3948501426 627 .long 3376891790,3376891790 628 .long 200339707,200339707 629 .long 3970805057,3970805057 630 .long 1742001331,1742001331 631 .long 4255294047,4255294047 632 .long 3937382213,3937382213 633 .long 3214711843,3214711843 634 .long 4154762323,4154762323 635 .long 2524082916,2524082916 636 .long 1539358875,1539358875 637 .long 3266819957,3266819957 638 .long 486407649,486407649 639 .long 2928907069,2928907069 640 .long 1780885068,1780885068 641 .long 1513502316,1513502316 642 .long 1094664062,1094664062 643 .long 49805301,49805301 644 .long 1338821763,1338821763 645 .long 1546925160,1546925160 646 .long 4104496465,4104496465 647 .long 887481809,887481809 648 .long 150073849,150073849 649 .long 2473685474,2473685474 650 .long 1943591083,1943591083 651 .long 1395732834,1395732834 652 .long 1058346282,1058346282 653 .long 201589768,201589768 654 .long 1388824469,1388824469 655 .long 1696801606,1696801606 656 .long 1589887901,1589887901 657 .long 672667696,672667696 658 .long 2711000631,2711000631 659 .long 251987210,251987210 660 .long 3046808111,3046808111 661 .long 151455502,151455502 662 .long 907153956,907153956 663 .long 2608889883,2608889883 664 .long 1038279391,1038279391 665 .long 652995533,652995533 666 .long 1764173646,1764173646 667 .long 3451040383,3451040383 668 .long 2675275242,2675275242 669 .long 453576978,453576978 670 .long 2659418909,2659418909 671 .long 1949051992,1949051992 672 .long 773462580,773462580 673 .long 756751158,756751158 674 .long 2993581788,2993581788 675 .long 3998898868,3998898868 676 .long 4221608027,4221608027 677 .long 4132590244,4132590244 678 .long 1295727478,1295727478 679 .long 1641469623,1641469623 680 .long 3467883389,3467883389 681 .long 2066295122,2066295122 682 .long 1055122397,1055122397 683 .long 1898917726,1898917726 684 .long 2542044179,2542044179 685 .long 4115878822,4115878822 686 .long 1758581177,1758581177 687 .long 0,0 688 .long 753790401,753790401 689 .long 1612718144,1612718144 690 .long 536673507,536673507 691 .long 3367088505,3367088505 692 .long 3982187446,3982187446 693 .long 3194645204,3194645204 694 .long 1187761037,1187761037 695 .long 3653156455,3653156455 696 .long 1262041458,1262041458 697 .long 3729410708,3729410708 698 .long 3561770136,3561770136 699 .long 3898103984,3898103984 700 .long 1255133061,1255133061 701 .long 1808847035,1808847035 702 .long 720367557,720367557 703 .long 3853167183,3853167183 704 .long 385612781,385612781 705 .long 3309519750,3309519750 706 .long 3612167578,3612167578 707 .long 1429418854,1429418854 708 .long 2491778321,2491778321 709 .long 3477423498,3477423498 710 .long 284817897,284817897 711 .long 100794884,100794884 712 .long 2172616702,2172616702 713 .long 4031795360,4031795360 714 .long 1144798328,1144798328 715 .long 3131023141,3131023141 716 .long 3819481163,3819481163 717 .long 4082192802,4082192802 718 .long 4272137053,4272137053 719 .long 3225436288,3225436288 720 .long 2324664069,2324664069 721 .long 2912064063,2912064063 722 .long 3164445985,3164445985 723 .long 1211644016,1211644016 724 .long 83228145,83228145 725 .long 3753688163,3753688163 726 .long 3249976951,3249976951 727 .long 1977277103,1977277103 728 .long 1663115586,1663115586 729 .long 806359072,806359072 730 .long 452984805,452984805 731 .long 250868733,250868733 732 .long 1842533055,1842533055 733 .long 1288555905,1288555905 734 .long 336333848,336333848 735 .long 890442534,890442534 736 .long 804056259,804056259 737 .long 3781124030,3781124030 738 .long 2727843637,2727843637 739 .long 3427026056,3427026056 740 .long 957814574,957814574 741 .long 1472513171,1472513171 742 .long 4071073621,4071073621 743 .long 2189328124,2189328124 744 .long 1195195770,1195195770 745 .long 2892260552,2892260552 746 .long 3881655738,3881655738 747 .long 723065138,723065138 748 .long 2507371494,2507371494 749 .long 2690670784,2690670784 750 .long 2558624025,2558624025 751 .long 3511635870,3511635870 752 .long 2145180835,2145180835 753 .long 1713513028,1713513028 754 .long 2116692564,2116692564 755 .long 2878378043,2878378043 756 .long 2206763019,2206763019 757 .long 3393603212,3393603212 758 .long 703524551,703524551 759 .long 3552098411,3552098411 760 .long 1007948840,1007948840 761 .long 2044649127,2044649127 762 .long 3797835452,3797835452 763 .long 487262998,487262998 764 .long 1994120109,1994120109 765 .long 1004593371,1004593371 766 .long 1446130276,1446130276 767 .long 1312438900,1312438900 768 .long 503974420,503974420 769 .long 3679013266,3679013266 770 .long 168166924,168166924 771 .long 1814307912,1814307912 772 .long 3831258296,3831258296 773 .long 1573044895,1573044895 774 .long 1859376061,1859376061 775 .long 4021070915,4021070915 776 .long 2791465668,2791465668 777 .long 2828112185,2828112185 778 .long 2761266481,2761266481 779 .long 937747667,937747667 780 .long 2339994098,2339994098 781 .long 854058965,854058965 782 .long 1137232011,1137232011 783 .long 1496790894,1496790894 784 .long 3077402074,3077402074 785 .long 2358086913,2358086913 786 .long 1691735473,1691735473 787 .long 3528347292,3528347292 788 .long 3769215305,3769215305 789 .long 3027004632,3027004632 790 .long 4199962284,4199962284 791 .long 133494003,133494003 792 .long 636152527,636152527 793 .long 2942657994,2942657994 794 .long 2390391540,2390391540 795 .long 3920539207,3920539207 796 .long 403179536,403179536 797 .long 3585784431,3585784431 798 .long 2289596656,2289596656 799 .long 1864705354,1864705354 800 .long 1915629148,1915629148 801 .long 605822008,605822008 802 .long 4054230615,4054230615 803 .long 3350508659,3350508659 804 .long 1371981463,1371981463 805 .long 602466507,602466507 806 .long 2094914977,2094914977 807 .long 2624877800,2624877800 808 .long 555687742,555687742 809 .long 3712699286,3712699286 810 .long 3703422305,3703422305 811 .long 2257292045,2257292045 812 .long 2240449039,2240449039 813 .long 2423288032,2423288032 814 .long 1111375484,1111375484 815 .long 3300242801,3300242801 816 .long 2858837708,2858837708 817 .long 3628615824,3628615824 818 .long 84083462,84083462 819 .long 32962295,32962295 820 .long 302911004,302911004 821 .long 2741068226,2741068226 822 .long 1597322602,1597322602 823 .long 4183250862,4183250862 824 .long 3501832553,3501832553 825 .long 2441512471,2441512471 826 .long 1489093017,1489093017 827 .long 656219450,656219450 828 .long 3114180135,3114180135 829 .long 954327513,954327513 830 .long 335083755,335083755 831 .long 3013122091,3013122091 832 .long 856756514,856756514 833 .long 3144247762,3144247762 834 .long 1893325225,1893325225 835 .long 2307821063,2307821063 836 .long 2811532339,2811532339 837 .long 3063651117,3063651117 838 .long 572399164,572399164 839 .long 2458355477,2458355477 840 .long 552200649,552200649 841 .long 1238290055,1238290055 842 .long 4283782570,4283782570 843 .long 2015897680,2015897680 844 .long 2061492133,2061492133 845 .long 2408352771,2408352771 846 .long 4171342169,4171342169 847 .long 2156497161,2156497161 848 .long 386731290,386731290 849 .long 3669999461,3669999461 850 .long 837215959,837215959 851 .long 3326231172,3326231172 852 .long 3093850320,3093850320 853 .long 3275833730,3275833730 854 .long 2962856233,2962856233 855 .long 1999449434,1999449434 856 .long 286199582,286199582 857 .long 3417354363,3417354363 858 .long 4233385128,4233385128 859 .long 3602627437,3602627437 860 .long 974525996,974525996 861 .byte 99,124,119,123,242,107,111,197 862 .byte 48,1,103,43,254,215,171,118 863 .byte 202,130,201,125,250,89,71,240 864 .byte 173,212,162,175,156,164,114,192 865 .byte 183,253,147,38,54,63,247,204 866 .byte 52,165,229,241,113,216,49,21 867 .byte 4,199,35,195,24,150,5,154 868 .byte 7,18,128,226,235,39,178,117 869 .byte 9,131,44,26,27,110,90,160 870 .byte 82,59,214,179,41,227,47,132 871 .byte 83,209,0,237,32,252,177,91 872 .byte 106,203,190,57,74,76,88,207 873 .byte 208,239,170,251,67,77,51,133 874 .byte 69,249,2,127,80,60,159,168 875 .byte 81,163,64,143,146,157,56,245 876 .byte 188,182,218,33,16,255,243,210 877 .byte 205,12,19,236,95,151,68,23 878 .byte 196,167,126,61,100,93,25,115 879 .byte 96,129,79,220,34,42,144,136 880 .byte 70,238,184,20,222,94,11,219 881 .byte 224,50,58,10,73,6,36,92 882 .byte 194,211,172,98,145,149,228,121 883 .byte 231,200,55,109,141,213,78,169 884 .byte 108,86,244,234,101,122,174,8 885 .byte 186,120,37,46,28,166,180,198 886 .byte 232,221,116,31,75,189,139,138 887 .byte 112,62,181,102,72,3,246,14 888 .byte 97,53,87,185,134,193,29,158 889 .byte 225,248,152,17,105,217,142,148 890 .byte 155,30,135,233,206,85,40,223 891 .byte 140,161,137,13,191,230,66,104 892 .byte 65,153,45,15,176,84,187,22 893 .byte 99,124,119,123,242,107,111,197 894 .byte 48,1,103,43,254,215,171,118 895 .byte 202,130,201,125,250,89,71,240 896 .byte 173,212,162,175,156,164,114,192 897 .byte 183,253,147,38,54,63,247,204 898 .byte 52,165,229,241,113,216,49,21 899 .byte 4,199,35,195,24,150,5,154 900 .byte 7,18,128,226,235,39,178,117 901 .byte 9,131,44,26,27,110,90,160 902 .byte 82,59,214,179,41,227,47,132 903 .byte 83,209,0,237,32,252,177,91 904 .byte 106,203,190,57,74,76,88,207 905 .byte 208,239,170,251,67,77,51,133 906 .byte 69,249,2,127,80,60,159,168 907 .byte 81,163,64,143,146,157,56,245 908 .byte 188,182,218,33,16,255,243,210 909 .byte 205,12,19,236,95,151,68,23 910 .byte 196,167,126,61,100,93,25,115 911 .byte 96,129,79,220,34,42,144,136 912 .byte 70,238,184,20,222,94,11,219 913 .byte 224,50,58,10,73,6,36,92 914 .byte 194,211,172,98,145,149,228,121 915 .byte 231,200,55,109,141,213,78,169 916 .byte 108,86,244,234,101,122,174,8 917 .byte 186,120,37,46,28,166,180,198 918 .byte 232,221,116,31,75,189,139,138 919 .byte 112,62,181,102,72,3,246,14 920 .byte 97,53,87,185,134,193,29,158 921 .byte 225,248,152,17,105,217,142,148 922 .byte 155,30,135,233,206,85,40,223 923 .byte 140,161,137,13,191,230,66,104 924 .byte 65,153,45,15,176,84,187,22 925 .byte 99,124,119,123,242,107,111,197 926 .byte 48,1,103,43,254,215,171,118 927 .byte 202,130,201,125,250,89,71,240 928 .byte 173,212,162,175,156,164,114,192 929 .byte 183,253,147,38,54,63,247,204 930 .byte 52,165,229,241,113,216,49,21 931 .byte 4,199,35,195,24,150,5,154 932 .byte 7,18,128,226,235,39,178,117 933 .byte 9,131,44,26,27,110,90,160 934 .byte 82,59,214,179,41,227,47,132 935 .byte 83,209,0,237,32,252,177,91 936 .byte 106,203,190,57,74,76,88,207 937 .byte 208,239,170,251,67,77,51,133 938 .byte 69,249,2,127,80,60,159,168 939 .byte 81,163,64,143,146,157,56,245 940 .byte 188,182,218,33,16,255,243,210 941 .byte 205,12,19,236,95,151,68,23 942 .byte 196,167,126,61,100,93,25,115 943 .byte 96,129,79,220,34,42,144,136 944 .byte 70,238,184,20,222,94,11,219 945 .byte 224,50,58,10,73,6,36,92 946 .byte 194,211,172,98,145,149,228,121 947 .byte 231,200,55,109,141,213,78,169 948 .byte 108,86,244,234,101,122,174,8 949 .byte 186,120,37,46,28,166,180,198 950 .byte 232,221,116,31,75,189,139,138 951 .byte 112,62,181,102,72,3,246,14 952 .byte 97,53,87,185,134,193,29,158 953 .byte 225,248,152,17,105,217,142,148 954 .byte 155,30,135,233,206,85,40,223 955 .byte 140,161,137,13,191,230,66,104 956 .byte 65,153,45,15,176,84,187,22 957 .byte 99,124,119,123,242,107,111,197 958 .byte 48,1,103,43,254,215,171,118 959 .byte 202,130,201,125,250,89,71,240 960 .byte 173,212,162,175,156,164,114,192 961 .byte 183,253,147,38,54,63,247,204 962 .byte 52,165,229,241,113,216,49,21 963 .byte 4,199,35,195,24,150,5,154 964 .byte 7,18,128,226,235,39,178,117 965 .byte 9,131,44,26,27,110,90,160 966 .byte 82,59,214,179,41,227,47,132 967 .byte 83,209,0,237,32,252,177,91 968 .byte 106,203,190,57,74,76,88,207 969 .byte 208,239,170,251,67,77,51,133 970 .byte 69,249,2,127,80,60,159,168 971 .byte 81,163,64,143,146,157,56,245 972 .byte 188,182,218,33,16,255,243,210 973 .byte 205,12,19,236,95,151,68,23 974 .byte 196,167,126,61,100,93,25,115 975 .byte 96,129,79,220,34,42,144,136 976 .byte 70,238,184,20,222,94,11,219 977 .byte 224,50,58,10,73,6,36,92 978 .byte 194,211,172,98,145,149,228,121 979 .byte 231,200,55,109,141,213,78,169 980 .byte 108,86,244,234,101,122,174,8 981 .byte 186,120,37,46,28,166,180,198 982 .byte 232,221,116,31,75,189,139,138 983 .byte 112,62,181,102,72,3,246,14 984 .byte 97,53,87,185,134,193,29,158 985 .byte 225,248,152,17,105,217,142,148 986 .byte 155,30,135,233,206,85,40,223 987 .byte 140,161,137,13,191,230,66,104 988 .byte 65,153,45,15,176,84,187,22 989 .long 1,2,4,8 990 .long 16,32,64,128 991 .long 27,54,0,0 992 .long 0,0,0,0 993 .size _x86_AES_encrypt,.-_x86_AES_encrypt 994 .globl AES_encrypt 995 .type AES_encrypt,@function 996 .align 16 997 AES_encrypt: 998 .L_AES_encrypt_begin: 999 #ifdef __CET__ 1000 1001 .byte 243,15,30,251 1002 #endif 1003 1004 pushl %ebp 1005 pushl %ebx 1006 pushl %esi 1007 pushl %edi 1008 movl 20(%esp),%esi 1009 movl 28(%esp),%edi 1010 movl %esp,%eax 1011 subl $36,%esp 1012 andl $-64,%esp 1013 leal -127(%edi),%ebx 1014 subl %esp,%ebx 1015 negl %ebx 1016 andl $960,%ebx 1017 subl %ebx,%esp 1018 addl $4,%esp 1019 movl %eax,28(%esp) 1020 call .L004pic_point 1021 .L004pic_point: 1022 popl %ebp 1023 leal OPENSSL_ia32cap_P-.L004pic_point(%ebp),%eax 1024 leal .LAES_Te-.L004pic_point(%ebp),%ebp 1025 leal 764(%esp),%ebx 1026 subl %ebp,%ebx 1027 andl $768,%ebx 1028 leal 2176(%ebp,%ebx,1),%ebp 1029 btl $25,(%eax) 1030 jnc .L005x86 1031 movq (%esi),%mm0 1032 movq 8(%esi),%mm4 1033 call _sse_AES_encrypt_compact 1034 movl 28(%esp),%esp 1035 movl 24(%esp),%esi 1036 movq %mm0,(%esi) 1037 movq %mm4,8(%esi) 1038 emms 1039 popl %edi 1040 popl %esi 1041 popl %ebx 1042 popl %ebp 1043 ret 1044 .align 16 1045 .L005x86: 1046 movl %ebp,24(%esp) 1047 movl (%esi),%eax 1048 movl 4(%esi),%ebx 1049 movl 8(%esi),%ecx 1050 movl 12(%esi),%edx 1051 call _x86_AES_encrypt_compact 1052 movl 28(%esp),%esp 1053 movl 24(%esp),%esi 1054 movl %eax,(%esi) 1055 movl %ebx,4(%esi) 1056 movl %ecx,8(%esi) 1057 movl %edx,12(%esi) 1058 popl %edi 1059 popl %esi 1060 popl %ebx 1061 popl %ebp 1062 ret 1063 .size AES_encrypt,.-.L_AES_encrypt_begin 1064 .type _x86_AES_decrypt_compact,@function 1065 .align 16 1066 _x86_AES_decrypt_compact: 1067 #ifdef __CET__ 1068 1069 .byte 243,15,30,251 1070 #endif 1071 1072 movl %edi,20(%esp) 1073 xorl (%edi),%eax 1074 xorl 4(%edi),%ebx 1075 xorl 8(%edi),%ecx 1076 xorl 12(%edi),%edx 1077 movl 240(%edi),%esi 1078 leal -2(%esi,%esi,1),%esi 1079 leal (%edi,%esi,8),%esi 1080 movl %esi,24(%esp) 1081 movl -128(%ebp),%edi 1082 movl -96(%ebp),%esi 1083 movl -64(%ebp),%edi 1084 movl -32(%ebp),%esi 1085 movl (%ebp),%edi 1086 movl 32(%ebp),%esi 1087 movl 64(%ebp),%edi 1088 movl 96(%ebp),%esi 1089 .align 16 1090 .L006loop: 1091 movl %eax,%esi 1092 andl $255,%esi 1093 movzbl -128(%ebp,%esi,1),%esi 1094 movzbl %dh,%edi 1095 movzbl -128(%ebp,%edi,1),%edi 1096 shll $8,%edi 1097 xorl %edi,%esi 1098 movl %ecx,%edi 1099 shrl $16,%edi 1100 andl $255,%edi 1101 movzbl -128(%ebp,%edi,1),%edi 1102 shll $16,%edi 1103 xorl %edi,%esi 1104 movl %ebx,%edi 1105 shrl $24,%edi 1106 movzbl -128(%ebp,%edi,1),%edi 1107 shll $24,%edi 1108 xorl %edi,%esi 1109 movl %esi,4(%esp) 1110 movl %ebx,%esi 1111 andl $255,%esi 1112 movzbl -128(%ebp,%esi,1),%esi 1113 movzbl %ah,%edi 1114 movzbl -128(%ebp,%edi,1),%edi 1115 shll $8,%edi 1116 xorl %edi,%esi 1117 movl %edx,%edi 1118 shrl $16,%edi 1119 andl $255,%edi 1120 movzbl -128(%ebp,%edi,1),%edi 1121 shll $16,%edi 1122 xorl %edi,%esi 1123 movl %ecx,%edi 1124 shrl $24,%edi 1125 movzbl -128(%ebp,%edi,1),%edi 1126 shll $24,%edi 1127 xorl %edi,%esi 1128 movl %esi,8(%esp) 1129 movl %ecx,%esi 1130 andl $255,%esi 1131 movzbl -128(%ebp,%esi,1),%esi 1132 movzbl %bh,%edi 1133 movzbl -128(%ebp,%edi,1),%edi 1134 shll $8,%edi 1135 xorl %edi,%esi 1136 movl %eax,%edi 1137 shrl $16,%edi 1138 andl $255,%edi 1139 movzbl -128(%ebp,%edi,1),%edi 1140 shll $16,%edi 1141 xorl %edi,%esi 1142 movl %edx,%edi 1143 shrl $24,%edi 1144 movzbl -128(%ebp,%edi,1),%edi 1145 shll $24,%edi 1146 xorl %edi,%esi 1147 andl $255,%edx 1148 movzbl -128(%ebp,%edx,1),%edx 1149 movzbl %ch,%ecx 1150 movzbl -128(%ebp,%ecx,1),%ecx 1151 shll $8,%ecx 1152 xorl %ecx,%edx 1153 movl %esi,%ecx 1154 shrl $16,%ebx 1155 andl $255,%ebx 1156 movzbl -128(%ebp,%ebx,1),%ebx 1157 shll $16,%ebx 1158 xorl %ebx,%edx 1159 shrl $24,%eax 1160 movzbl -128(%ebp,%eax,1),%eax 1161 shll $24,%eax 1162 xorl %eax,%edx 1163 movl $2155905152,%edi 1164 andl %ecx,%edi 1165 movl %edi,%esi 1166 shrl $7,%edi 1167 leal (%ecx,%ecx,1),%eax 1168 subl %edi,%esi 1169 andl $4278124286,%eax 1170 andl $454761243,%esi 1171 xorl %esi,%eax 1172 movl $2155905152,%edi 1173 andl %eax,%edi 1174 movl %edi,%esi 1175 shrl $7,%edi 1176 leal (%eax,%eax,1),%ebx 1177 subl %edi,%esi 1178 andl $4278124286,%ebx 1179 andl $454761243,%esi 1180 xorl %ecx,%eax 1181 xorl %esi,%ebx 1182 movl $2155905152,%edi 1183 andl %ebx,%edi 1184 movl %edi,%esi 1185 shrl $7,%edi 1186 leal (%ebx,%ebx,1),%ebp 1187 subl %edi,%esi 1188 andl $4278124286,%ebp 1189 andl $454761243,%esi 1190 xorl %ecx,%ebx 1191 roll $8,%ecx 1192 xorl %esi,%ebp 1193 xorl %eax,%ecx 1194 xorl %ebp,%eax 1195 xorl %ebx,%ecx 1196 xorl %ebp,%ebx 1197 roll $24,%eax 1198 xorl %ebp,%ecx 1199 roll $16,%ebx 1200 xorl %eax,%ecx 1201 roll $8,%ebp 1202 xorl %ebx,%ecx 1203 movl 4(%esp),%eax 1204 xorl %ebp,%ecx 1205 movl %ecx,12(%esp) 1206 movl $2155905152,%edi 1207 andl %edx,%edi 1208 movl %edi,%esi 1209 shrl $7,%edi 1210 leal (%edx,%edx,1),%ebx 1211 subl %edi,%esi 1212 andl $4278124286,%ebx 1213 andl $454761243,%esi 1214 xorl %esi,%ebx 1215 movl $2155905152,%edi 1216 andl %ebx,%edi 1217 movl %edi,%esi 1218 shrl $7,%edi 1219 leal (%ebx,%ebx,1),%ecx 1220 subl %edi,%esi 1221 andl $4278124286,%ecx 1222 andl $454761243,%esi 1223 xorl %edx,%ebx 1224 xorl %esi,%ecx 1225 movl $2155905152,%edi 1226 andl %ecx,%edi 1227 movl %edi,%esi 1228 shrl $7,%edi 1229 leal (%ecx,%ecx,1),%ebp 1230 subl %edi,%esi 1231 andl $4278124286,%ebp 1232 andl $454761243,%esi 1233 xorl %edx,%ecx 1234 roll $8,%edx 1235 xorl %esi,%ebp 1236 xorl %ebx,%edx 1237 xorl %ebp,%ebx 1238 xorl %ecx,%edx 1239 xorl %ebp,%ecx 1240 roll $24,%ebx 1241 xorl %ebp,%edx 1242 roll $16,%ecx 1243 xorl %ebx,%edx 1244 roll $8,%ebp 1245 xorl %ecx,%edx 1246 movl 8(%esp),%ebx 1247 xorl %ebp,%edx 1248 movl %edx,16(%esp) 1249 movl $2155905152,%edi 1250 andl %eax,%edi 1251 movl %edi,%esi 1252 shrl $7,%edi 1253 leal (%eax,%eax,1),%ecx 1254 subl %edi,%esi 1255 andl $4278124286,%ecx 1256 andl $454761243,%esi 1257 xorl %esi,%ecx 1258 movl $2155905152,%edi 1259 andl %ecx,%edi 1260 movl %edi,%esi 1261 shrl $7,%edi 1262 leal (%ecx,%ecx,1),%edx 1263 subl %edi,%esi 1264 andl $4278124286,%edx 1265 andl $454761243,%esi 1266 xorl %eax,%ecx 1267 xorl %esi,%edx 1268 movl $2155905152,%edi 1269 andl %edx,%edi 1270 movl %edi,%esi 1271 shrl $7,%edi 1272 leal (%edx,%edx,1),%ebp 1273 subl %edi,%esi 1274 andl $4278124286,%ebp 1275 andl $454761243,%esi 1276 xorl %eax,%edx 1277 roll $8,%eax 1278 xorl %esi,%ebp 1279 xorl %ecx,%eax 1280 xorl %ebp,%ecx 1281 xorl %edx,%eax 1282 xorl %ebp,%edx 1283 roll $24,%ecx 1284 xorl %ebp,%eax 1285 roll $16,%edx 1286 xorl %ecx,%eax 1287 roll $8,%ebp 1288 xorl %edx,%eax 1289 xorl %ebp,%eax 1290 movl $2155905152,%edi 1291 andl %ebx,%edi 1292 movl %edi,%esi 1293 shrl $7,%edi 1294 leal (%ebx,%ebx,1),%ecx 1295 subl %edi,%esi 1296 andl $4278124286,%ecx 1297 andl $454761243,%esi 1298 xorl %esi,%ecx 1299 movl $2155905152,%edi 1300 andl %ecx,%edi 1301 movl %edi,%esi 1302 shrl $7,%edi 1303 leal (%ecx,%ecx,1),%edx 1304 subl %edi,%esi 1305 andl $4278124286,%edx 1306 andl $454761243,%esi 1307 xorl %ebx,%ecx 1308 xorl %esi,%edx 1309 movl $2155905152,%edi 1310 andl %edx,%edi 1311 movl %edi,%esi 1312 shrl $7,%edi 1313 leal (%edx,%edx,1),%ebp 1314 subl %edi,%esi 1315 andl $4278124286,%ebp 1316 andl $454761243,%esi 1317 xorl %ebx,%edx 1318 roll $8,%ebx 1319 xorl %esi,%ebp 1320 xorl %ecx,%ebx 1321 xorl %ebp,%ecx 1322 xorl %edx,%ebx 1323 xorl %ebp,%edx 1324 roll $24,%ecx 1325 xorl %ebp,%ebx 1326 roll $16,%edx 1327 xorl %ecx,%ebx 1328 roll $8,%ebp 1329 xorl %edx,%ebx 1330 movl 12(%esp),%ecx 1331 xorl %ebp,%ebx 1332 movl 16(%esp),%edx 1333 movl 20(%esp),%edi 1334 movl 28(%esp),%ebp 1335 addl $16,%edi 1336 xorl (%edi),%eax 1337 xorl 4(%edi),%ebx 1338 xorl 8(%edi),%ecx 1339 xorl 12(%edi),%edx 1340 cmpl 24(%esp),%edi 1341 movl %edi,20(%esp) 1342 jb .L006loop 1343 movl %eax,%esi 1344 andl $255,%esi 1345 movzbl -128(%ebp,%esi,1),%esi 1346 movzbl %dh,%edi 1347 movzbl -128(%ebp,%edi,1),%edi 1348 shll $8,%edi 1349 xorl %edi,%esi 1350 movl %ecx,%edi 1351 shrl $16,%edi 1352 andl $255,%edi 1353 movzbl -128(%ebp,%edi,1),%edi 1354 shll $16,%edi 1355 xorl %edi,%esi 1356 movl %ebx,%edi 1357 shrl $24,%edi 1358 movzbl -128(%ebp,%edi,1),%edi 1359 shll $24,%edi 1360 xorl %edi,%esi 1361 movl %esi,4(%esp) 1362 movl %ebx,%esi 1363 andl $255,%esi 1364 movzbl -128(%ebp,%esi,1),%esi 1365 movzbl %ah,%edi 1366 movzbl -128(%ebp,%edi,1),%edi 1367 shll $8,%edi 1368 xorl %edi,%esi 1369 movl %edx,%edi 1370 shrl $16,%edi 1371 andl $255,%edi 1372 movzbl -128(%ebp,%edi,1),%edi 1373 shll $16,%edi 1374 xorl %edi,%esi 1375 movl %ecx,%edi 1376 shrl $24,%edi 1377 movzbl -128(%ebp,%edi,1),%edi 1378 shll $24,%edi 1379 xorl %edi,%esi 1380 movl %esi,8(%esp) 1381 movl %ecx,%esi 1382 andl $255,%esi 1383 movzbl -128(%ebp,%esi,1),%esi 1384 movzbl %bh,%edi 1385 movzbl -128(%ebp,%edi,1),%edi 1386 shll $8,%edi 1387 xorl %edi,%esi 1388 movl %eax,%edi 1389 shrl $16,%edi 1390 andl $255,%edi 1391 movzbl -128(%ebp,%edi,1),%edi 1392 shll $16,%edi 1393 xorl %edi,%esi 1394 movl %edx,%edi 1395 shrl $24,%edi 1396 movzbl -128(%ebp,%edi,1),%edi 1397 shll $24,%edi 1398 xorl %edi,%esi 1399 movl 20(%esp),%edi 1400 andl $255,%edx 1401 movzbl -128(%ebp,%edx,1),%edx 1402 movzbl %ch,%ecx 1403 movzbl -128(%ebp,%ecx,1),%ecx 1404 shll $8,%ecx 1405 xorl %ecx,%edx 1406 movl %esi,%ecx 1407 shrl $16,%ebx 1408 andl $255,%ebx 1409 movzbl -128(%ebp,%ebx,1),%ebx 1410 shll $16,%ebx 1411 xorl %ebx,%edx 1412 movl 8(%esp),%ebx 1413 shrl $24,%eax 1414 movzbl -128(%ebp,%eax,1),%eax 1415 shll $24,%eax 1416 xorl %eax,%edx 1417 movl 4(%esp),%eax 1418 xorl 16(%edi),%eax 1419 xorl 20(%edi),%ebx 1420 xorl 24(%edi),%ecx 1421 xorl 28(%edi),%edx 1422 ret 1423 .size _x86_AES_decrypt_compact,.-_x86_AES_decrypt_compact 1424 .type _sse_AES_decrypt_compact,@function 1425 .align 16 1426 _sse_AES_decrypt_compact: 1427 #ifdef __CET__ 1428 1429 .byte 243,15,30,251 1430 #endif 1431 1432 pxor (%edi),%mm0 1433 pxor 8(%edi),%mm4 1434 movl 240(%edi),%esi 1435 leal -2(%esi,%esi,1),%esi 1436 leal (%edi,%esi,8),%esi 1437 movl %esi,24(%esp) 1438 movl $454761243,%eax 1439 movl %eax,8(%esp) 1440 movl %eax,12(%esp) 1441 movl -128(%ebp),%eax 1442 movl -96(%ebp),%ebx 1443 movl -64(%ebp),%ecx 1444 movl -32(%ebp),%edx 1445 movl (%ebp),%eax 1446 movl 32(%ebp),%ebx 1447 movl 64(%ebp),%ecx 1448 movl 96(%ebp),%edx 1449 .align 16 1450 .L007loop: 1451 pshufw $12,%mm0,%mm1 1452 pshufw $9,%mm4,%mm5 1453 movd %mm1,%eax 1454 movd %mm5,%ebx 1455 movl %edi,20(%esp) 1456 movzbl %al,%esi 1457 movzbl %ah,%edx 1458 pshufw $6,%mm0,%mm2 1459 movzbl -128(%ebp,%esi,1),%ecx 1460 movzbl %bl,%edi 1461 movzbl -128(%ebp,%edx,1),%edx 1462 shrl $16,%eax 1463 shll $8,%edx 1464 movzbl -128(%ebp,%edi,1),%esi 1465 movzbl %bh,%edi 1466 shll $16,%esi 1467 pshufw $3,%mm4,%mm6 1468 orl %esi,%ecx 1469 movzbl -128(%ebp,%edi,1),%esi 1470 movzbl %ah,%edi 1471 shll $24,%esi 1472 shrl $16,%ebx 1473 orl %esi,%edx 1474 movzbl -128(%ebp,%edi,1),%esi 1475 movzbl %bh,%edi 1476 shll $24,%esi 1477 orl %esi,%ecx 1478 movzbl -128(%ebp,%edi,1),%esi 1479 movzbl %al,%edi 1480 shll $8,%esi 1481 movd %mm2,%eax 1482 orl %esi,%ecx 1483 movzbl -128(%ebp,%edi,1),%esi 1484 movzbl %bl,%edi 1485 shll $16,%esi 1486 movd %mm6,%ebx 1487 movd %ecx,%mm0 1488 movzbl -128(%ebp,%edi,1),%ecx 1489 movzbl %al,%edi 1490 orl %esi,%ecx 1491 movzbl -128(%ebp,%edi,1),%esi 1492 movzbl %bl,%edi 1493 orl %esi,%edx 1494 movzbl -128(%ebp,%edi,1),%esi 1495 movzbl %ah,%edi 1496 shll $16,%esi 1497 shrl $16,%eax 1498 orl %esi,%edx 1499 movzbl -128(%ebp,%edi,1),%esi 1500 movzbl %bh,%edi 1501 shrl $16,%ebx 1502 shll $8,%esi 1503 movd %edx,%mm1 1504 movzbl -128(%ebp,%edi,1),%edx 1505 movzbl %bh,%edi 1506 shll $24,%edx 1507 andl $255,%ebx 1508 orl %esi,%edx 1509 punpckldq %mm1,%mm0 1510 movzbl -128(%ebp,%edi,1),%esi 1511 movzbl %al,%edi 1512 shll $8,%esi 1513 movzbl %ah,%eax 1514 movzbl -128(%ebp,%ebx,1),%ebx 1515 orl %esi,%ecx 1516 movzbl -128(%ebp,%edi,1),%esi 1517 orl %ebx,%edx 1518 shll $16,%esi 1519 movzbl -128(%ebp,%eax,1),%eax 1520 orl %esi,%edx 1521 shll $24,%eax 1522 orl %eax,%ecx 1523 movl 20(%esp),%edi 1524 movd %edx,%mm4 1525 movd %ecx,%mm5 1526 punpckldq %mm5,%mm4 1527 addl $16,%edi 1528 cmpl 24(%esp),%edi 1529 ja .L008out 1530 movq %mm0,%mm3 1531 movq %mm4,%mm7 1532 pshufw $228,%mm0,%mm2 1533 pshufw $228,%mm4,%mm6 1534 movq %mm0,%mm1 1535 movq %mm4,%mm5 1536 pshufw $177,%mm0,%mm0 1537 pshufw $177,%mm4,%mm4 1538 pslld $8,%mm2 1539 pslld $8,%mm6 1540 psrld $8,%mm3 1541 psrld $8,%mm7 1542 pxor %mm2,%mm0 1543 pxor %mm6,%mm4 1544 pxor %mm3,%mm0 1545 pxor %mm7,%mm4 1546 pslld $16,%mm2 1547 pslld $16,%mm6 1548 psrld $16,%mm3 1549 psrld $16,%mm7 1550 pxor %mm2,%mm0 1551 pxor %mm6,%mm4 1552 pxor %mm3,%mm0 1553 pxor %mm7,%mm4 1554 movq 8(%esp),%mm3 1555 pxor %mm2,%mm2 1556 pxor %mm6,%mm6 1557 pcmpgtb %mm1,%mm2 1558 pcmpgtb %mm5,%mm6 1559 pand %mm3,%mm2 1560 pand %mm3,%mm6 1561 paddb %mm1,%mm1 1562 paddb %mm5,%mm5 1563 pxor %mm2,%mm1 1564 pxor %mm6,%mm5 1565 movq %mm1,%mm3 1566 movq %mm5,%mm7 1567 movq %mm1,%mm2 1568 movq %mm5,%mm6 1569 pxor %mm1,%mm0 1570 pxor %mm5,%mm4 1571 pslld $24,%mm3 1572 pslld $24,%mm7 1573 psrld $8,%mm2 1574 psrld $8,%mm6 1575 pxor %mm3,%mm0 1576 pxor %mm7,%mm4 1577 pxor %mm2,%mm0 1578 pxor %mm6,%mm4 1579 movq 8(%esp),%mm2 1580 pxor %mm3,%mm3 1581 pxor %mm7,%mm7 1582 pcmpgtb %mm1,%mm3 1583 pcmpgtb %mm5,%mm7 1584 pand %mm2,%mm3 1585 pand %mm2,%mm7 1586 paddb %mm1,%mm1 1587 paddb %mm5,%mm5 1588 pxor %mm3,%mm1 1589 pxor %mm7,%mm5 1590 pshufw $177,%mm1,%mm3 1591 pshufw $177,%mm5,%mm7 1592 pxor %mm1,%mm0 1593 pxor %mm5,%mm4 1594 pxor %mm3,%mm0 1595 pxor %mm7,%mm4 1596 pxor %mm3,%mm3 1597 pxor %mm7,%mm7 1598 pcmpgtb %mm1,%mm3 1599 pcmpgtb %mm5,%mm7 1600 pand %mm2,%mm3 1601 pand %mm2,%mm7 1602 paddb %mm1,%mm1 1603 paddb %mm5,%mm5 1604 pxor %mm3,%mm1 1605 pxor %mm7,%mm5 1606 pxor %mm1,%mm0 1607 pxor %mm5,%mm4 1608 movq %mm1,%mm3 1609 movq %mm5,%mm7 1610 pshufw $177,%mm1,%mm2 1611 pshufw $177,%mm5,%mm6 1612 pxor %mm2,%mm0 1613 pxor %mm6,%mm4 1614 pslld $8,%mm1 1615 pslld $8,%mm5 1616 psrld $8,%mm3 1617 psrld $8,%mm7 1618 movq (%edi),%mm2 1619 movq 8(%edi),%mm6 1620 pxor %mm1,%mm0 1621 pxor %mm5,%mm4 1622 pxor %mm3,%mm0 1623 pxor %mm7,%mm4 1624 movl -128(%ebp),%eax 1625 pslld $16,%mm1 1626 pslld $16,%mm5 1627 movl -64(%ebp),%ebx 1628 psrld $16,%mm3 1629 psrld $16,%mm7 1630 movl (%ebp),%ecx 1631 pxor %mm1,%mm0 1632 pxor %mm5,%mm4 1633 movl 64(%ebp),%edx 1634 pxor %mm3,%mm0 1635 pxor %mm7,%mm4 1636 pxor %mm2,%mm0 1637 pxor %mm6,%mm4 1638 jmp .L007loop 1639 .align 16 1640 .L008out: 1641 pxor (%edi),%mm0 1642 pxor 8(%edi),%mm4 1643 ret 1644 .size _sse_AES_decrypt_compact,.-_sse_AES_decrypt_compact 1645 .type _x86_AES_decrypt,@function 1646 .align 16 1647 _x86_AES_decrypt: 1648 #ifdef __CET__ 1649 1650 .byte 243,15,30,251 1651 #endif 1652 1653 movl %edi,20(%esp) 1654 xorl (%edi),%eax 1655 xorl 4(%edi),%ebx 1656 xorl 8(%edi),%ecx 1657 xorl 12(%edi),%edx 1658 movl 240(%edi),%esi 1659 leal -2(%esi,%esi,1),%esi 1660 leal (%edi,%esi,8),%esi 1661 movl %esi,24(%esp) 1662 .align 16 1663 .L009loop: 1664 movl %eax,%esi 1665 andl $255,%esi 1666 movl (%ebp,%esi,8),%esi 1667 movzbl %dh,%edi 1668 xorl 3(%ebp,%edi,8),%esi 1669 movl %ecx,%edi 1670 shrl $16,%edi 1671 andl $255,%edi 1672 xorl 2(%ebp,%edi,8),%esi 1673 movl %ebx,%edi 1674 shrl $24,%edi 1675 xorl 1(%ebp,%edi,8),%esi 1676 movl %esi,4(%esp) 1677 1678 movl %ebx,%esi 1679 andl $255,%esi 1680 movl (%ebp,%esi,8),%esi 1681 movzbl %ah,%edi 1682 xorl 3(%ebp,%edi,8),%esi 1683 movl %edx,%edi 1684 shrl $16,%edi 1685 andl $255,%edi 1686 xorl 2(%ebp,%edi,8),%esi 1687 movl %ecx,%edi 1688 shrl $24,%edi 1689 xorl 1(%ebp,%edi,8),%esi 1690 movl %esi,8(%esp) 1691 1692 movl %ecx,%esi 1693 andl $255,%esi 1694 movl (%ebp,%esi,8),%esi 1695 movzbl %bh,%edi 1696 xorl 3(%ebp,%edi,8),%esi 1697 movl %eax,%edi 1698 shrl $16,%edi 1699 andl $255,%edi 1700 xorl 2(%ebp,%edi,8),%esi 1701 movl %edx,%edi 1702 shrl $24,%edi 1703 xorl 1(%ebp,%edi,8),%esi 1704 1705 movl 20(%esp),%edi 1706 andl $255,%edx 1707 movl (%ebp,%edx,8),%edx 1708 movzbl %ch,%ecx 1709 xorl 3(%ebp,%ecx,8),%edx 1710 movl %esi,%ecx 1711 shrl $16,%ebx 1712 andl $255,%ebx 1713 xorl 2(%ebp,%ebx,8),%edx 1714 movl 8(%esp),%ebx 1715 shrl $24,%eax 1716 xorl 1(%ebp,%eax,8),%edx 1717 movl 4(%esp),%eax 1718 1719 addl $16,%edi 1720 xorl (%edi),%eax 1721 xorl 4(%edi),%ebx 1722 xorl 8(%edi),%ecx 1723 xorl 12(%edi),%edx 1724 cmpl 24(%esp),%edi 1725 movl %edi,20(%esp) 1726 jb .L009loop 1727 leal 2176(%ebp),%ebp 1728 movl -128(%ebp),%edi 1729 movl -96(%ebp),%esi 1730 movl -64(%ebp),%edi 1731 movl -32(%ebp),%esi 1732 movl (%ebp),%edi 1733 movl 32(%ebp),%esi 1734 movl 64(%ebp),%edi 1735 movl 96(%ebp),%esi 1736 leal -128(%ebp),%ebp 1737 movl %eax,%esi 1738 andl $255,%esi 1739 movzbl (%ebp,%esi,1),%esi 1740 movzbl %dh,%edi 1741 movzbl (%ebp,%edi,1),%edi 1742 shll $8,%edi 1743 xorl %edi,%esi 1744 movl %ecx,%edi 1745 shrl $16,%edi 1746 andl $255,%edi 1747 movzbl (%ebp,%edi,1),%edi 1748 shll $16,%edi 1749 xorl %edi,%esi 1750 movl %ebx,%edi 1751 shrl $24,%edi 1752 movzbl (%ebp,%edi,1),%edi 1753 shll $24,%edi 1754 xorl %edi,%esi 1755 movl %esi,4(%esp) 1756 movl %ebx,%esi 1757 andl $255,%esi 1758 movzbl (%ebp,%esi,1),%esi 1759 movzbl %ah,%edi 1760 movzbl (%ebp,%edi,1),%edi 1761 shll $8,%edi 1762 xorl %edi,%esi 1763 movl %edx,%edi 1764 shrl $16,%edi 1765 andl $255,%edi 1766 movzbl (%ebp,%edi,1),%edi 1767 shll $16,%edi 1768 xorl %edi,%esi 1769 movl %ecx,%edi 1770 shrl $24,%edi 1771 movzbl (%ebp,%edi,1),%edi 1772 shll $24,%edi 1773 xorl %edi,%esi 1774 movl %esi,8(%esp) 1775 movl %ecx,%esi 1776 andl $255,%esi 1777 movzbl (%ebp,%esi,1),%esi 1778 movzbl %bh,%edi 1779 movzbl (%ebp,%edi,1),%edi 1780 shll $8,%edi 1781 xorl %edi,%esi 1782 movl %eax,%edi 1783 shrl $16,%edi 1784 andl $255,%edi 1785 movzbl (%ebp,%edi,1),%edi 1786 shll $16,%edi 1787 xorl %edi,%esi 1788 movl %edx,%edi 1789 shrl $24,%edi 1790 movzbl (%ebp,%edi,1),%edi 1791 shll $24,%edi 1792 xorl %edi,%esi 1793 movl 20(%esp),%edi 1794 andl $255,%edx 1795 movzbl (%ebp,%edx,1),%edx 1796 movzbl %ch,%ecx 1797 movzbl (%ebp,%ecx,1),%ecx 1798 shll $8,%ecx 1799 xorl %ecx,%edx 1800 movl %esi,%ecx 1801 shrl $16,%ebx 1802 andl $255,%ebx 1803 movzbl (%ebp,%ebx,1),%ebx 1804 shll $16,%ebx 1805 xorl %ebx,%edx 1806 movl 8(%esp),%ebx 1807 shrl $24,%eax 1808 movzbl (%ebp,%eax,1),%eax 1809 shll $24,%eax 1810 xorl %eax,%edx 1811 movl 4(%esp),%eax 1812 leal -2048(%ebp),%ebp 1813 addl $16,%edi 1814 xorl (%edi),%eax 1815 xorl 4(%edi),%ebx 1816 xorl 8(%edi),%ecx 1817 xorl 12(%edi),%edx 1818 ret 1819 .align 64 1820 .LAES_Td: 1821 .long 1353184337,1353184337 1822 .long 1399144830,1399144830 1823 .long 3282310938,3282310938 1824 .long 2522752826,2522752826 1825 .long 3412831035,3412831035 1826 .long 4047871263,4047871263 1827 .long 2874735276,2874735276 1828 .long 2466505547,2466505547 1829 .long 1442459680,1442459680 1830 .long 4134368941,4134368941 1831 .long 2440481928,2440481928 1832 .long 625738485,625738485 1833 .long 4242007375,4242007375 1834 .long 3620416197,3620416197 1835 .long 2151953702,2151953702 1836 .long 2409849525,2409849525 1837 .long 1230680542,1230680542 1838 .long 1729870373,1729870373 1839 .long 2551114309,2551114309 1840 .long 3787521629,3787521629 1841 .long 41234371,41234371 1842 .long 317738113,317738113 1843 .long 2744600205,2744600205 1844 .long 3338261355,3338261355 1845 .long 3881799427,3881799427 1846 .long 2510066197,2510066197 1847 .long 3950669247,3950669247 1848 .long 3663286933,3663286933 1849 .long 763608788,763608788 1850 .long 3542185048,3542185048 1851 .long 694804553,694804553 1852 .long 1154009486,1154009486 1853 .long 1787413109,1787413109 1854 .long 2021232372,2021232372 1855 .long 1799248025,1799248025 1856 .long 3715217703,3715217703 1857 .long 3058688446,3058688446 1858 .long 397248752,397248752 1859 .long 1722556617,1722556617 1860 .long 3023752829,3023752829 1861 .long 407560035,407560035 1862 .long 2184256229,2184256229 1863 .long 1613975959,1613975959 1864 .long 1165972322,1165972322 1865 .long 3765920945,3765920945 1866 .long 2226023355,2226023355 1867 .long 480281086,480281086 1868 .long 2485848313,2485848313 1869 .long 1483229296,1483229296 1870 .long 436028815,436028815 1871 .long 2272059028,2272059028 1872 .long 3086515026,3086515026 1873 .long 601060267,601060267 1874 .long 3791801202,3791801202 1875 .long 1468997603,1468997603 1876 .long 715871590,715871590 1877 .long 120122290,120122290 1878 .long 63092015,63092015 1879 .long 2591802758,2591802758 1880 .long 2768779219,2768779219 1881 .long 4068943920,4068943920 1882 .long 2997206819,2997206819 1883 .long 3127509762,3127509762 1884 .long 1552029421,1552029421 1885 .long 723308426,723308426 1886 .long 2461301159,2461301159 1887 .long 4042393587,4042393587 1888 .long 2715969870,2715969870 1889 .long 3455375973,3455375973 1890 .long 3586000134,3586000134 1891 .long 526529745,526529745 1892 .long 2331944644,2331944644 1893 .long 2639474228,2639474228 1894 .long 2689987490,2689987490 1895 .long 853641733,853641733 1896 .long 1978398372,1978398372 1897 .long 971801355,971801355 1898 .long 2867814464,2867814464 1899 .long 111112542,111112542 1900 .long 1360031421,1360031421 1901 .long 4186579262,4186579262 1902 .long 1023860118,1023860118 1903 .long 2919579357,2919579357 1904 .long 1186850381,1186850381 1905 .long 3045938321,3045938321 1906 .long 90031217,90031217 1907 .long 1876166148,1876166148 1908 .long 4279586912,4279586912 1909 .long 620468249,620468249 1910 .long 2548678102,2548678102 1911 .long 3426959497,3426959497 1912 .long 2006899047,2006899047 1913 .long 3175278768,3175278768 1914 .long 2290845959,2290845959 1915 .long 945494503,945494503 1916 .long 3689859193,3689859193 1917 .long 1191869601,1191869601 1918 .long 3910091388,3910091388 1919 .long 3374220536,3374220536 1920 .long 0,0 1921 .long 2206629897,2206629897 1922 .long 1223502642,1223502642 1923 .long 2893025566,2893025566 1924 .long 1316117100,1316117100 1925 .long 4227796733,4227796733 1926 .long 1446544655,1446544655 1927 .long 517320253,517320253 1928 .long 658058550,658058550 1929 .long 1691946762,1691946762 1930 .long 564550760,564550760 1931 .long 3511966619,3511966619 1932 .long 976107044,976107044 1933 .long 2976320012,2976320012 1934 .long 266819475,266819475 1935 .long 3533106868,3533106868 1936 .long 2660342555,2660342555 1937 .long 1338359936,1338359936 1938 .long 2720062561,2720062561 1939 .long 1766553434,1766553434 1940 .long 370807324,370807324 1941 .long 179999714,179999714 1942 .long 3844776128,3844776128 1943 .long 1138762300,1138762300 1944 .long 488053522,488053522 1945 .long 185403662,185403662 1946 .long 2915535858,2915535858 1947 .long 3114841645,3114841645 1948 .long 3366526484,3366526484 1949 .long 2233069911,2233069911 1950 .long 1275557295,1275557295 1951 .long 3151862254,3151862254 1952 .long 4250959779,4250959779 1953 .long 2670068215,2670068215 1954 .long 3170202204,3170202204 1955 .long 3309004356,3309004356 1956 .long 880737115,880737115 1957 .long 1982415755,1982415755 1958 .long 3703972811,3703972811 1959 .long 1761406390,1761406390 1960 .long 1676797112,1676797112 1961 .long 3403428311,3403428311 1962 .long 277177154,277177154 1963 .long 1076008723,1076008723 1964 .long 538035844,538035844 1965 .long 2099530373,2099530373 1966 .long 4164795346,4164795346 1967 .long 288553390,288553390 1968 .long 1839278535,1839278535 1969 .long 1261411869,1261411869 1970 .long 4080055004,4080055004 1971 .long 3964831245,3964831245 1972 .long 3504587127,3504587127 1973 .long 1813426987,1813426987 1974 .long 2579067049,2579067049 1975 .long 4199060497,4199060497 1976 .long 577038663,577038663 1977 .long 3297574056,3297574056 1978 .long 440397984,440397984 1979 .long 3626794326,3626794326 1980 .long 4019204898,4019204898 1981 .long 3343796615,3343796615 1982 .long 3251714265,3251714265 1983 .long 4272081548,4272081548 1984 .long 906744984,906744984 1985 .long 3481400742,3481400742 1986 .long 685669029,685669029 1987 .long 646887386,646887386 1988 .long 2764025151,2764025151 1989 .long 3835509292,3835509292 1990 .long 227702864,227702864 1991 .long 2613862250,2613862250 1992 .long 1648787028,1648787028 1993 .long 3256061430,3256061430 1994 .long 3904428176,3904428176 1995 .long 1593260334,1593260334 1996 .long 4121936770,4121936770 1997 .long 3196083615,3196083615 1998 .long 2090061929,2090061929 1999 .long 2838353263,2838353263 2000 .long 3004310991,3004310991 2001 .long 999926984,999926984 2002 .long 2809993232,2809993232 2003 .long 1852021992,1852021992 2004 .long 2075868123,2075868123 2005 .long 158869197,158869197 2006 .long 4095236462,4095236462 2007 .long 28809964,28809964 2008 .long 2828685187,2828685187 2009 .long 1701746150,1701746150 2010 .long 2129067946,2129067946 2011 .long 147831841,147831841 2012 .long 3873969647,3873969647 2013 .long 3650873274,3650873274 2014 .long 3459673930,3459673930 2015 .long 3557400554,3557400554 2016 .long 3598495785,3598495785 2017 .long 2947720241,2947720241 2018 .long 824393514,824393514 2019 .long 815048134,815048134 2020 .long 3227951669,3227951669 2021 .long 935087732,935087732 2022 .long 2798289660,2798289660 2023 .long 2966458592,2966458592 2024 .long 366520115,366520115 2025 .long 1251476721,1251476721 2026 .long 4158319681,4158319681 2027 .long 240176511,240176511 2028 .long 804688151,804688151 2029 .long 2379631990,2379631990 2030 .long 1303441219,1303441219 2031 .long 1414376140,1414376140 2032 .long 3741619940,3741619940 2033 .long 3820343710,3820343710 2034 .long 461924940,461924940 2035 .long 3089050817,3089050817 2036 .long 2136040774,2136040774 2037 .long 82468509,82468509 2038 .long 1563790337,1563790337 2039 .long 1937016826,1937016826 2040 .long 776014843,776014843 2041 .long 1511876531,1511876531 2042 .long 1389550482,1389550482 2043 .long 861278441,861278441 2044 .long 323475053,323475053 2045 .long 2355222426,2355222426 2046 .long 2047648055,2047648055 2047 .long 2383738969,2383738969 2048 .long 2302415851,2302415851 2049 .long 3995576782,3995576782 2050 .long 902390199,902390199 2051 .long 3991215329,3991215329 2052 .long 1018251130,1018251130 2053 .long 1507840668,1507840668 2054 .long 1064563285,1064563285 2055 .long 2043548696,2043548696 2056 .long 3208103795,3208103795 2057 .long 3939366739,3939366739 2058 .long 1537932639,1537932639 2059 .long 342834655,342834655 2060 .long 2262516856,2262516856 2061 .long 2180231114,2180231114 2062 .long 1053059257,1053059257 2063 .long 741614648,741614648 2064 .long 1598071746,1598071746 2065 .long 1925389590,1925389590 2066 .long 203809468,203809468 2067 .long 2336832552,2336832552 2068 .long 1100287487,1100287487 2069 .long 1895934009,1895934009 2070 .long 3736275976,3736275976 2071 .long 2632234200,2632234200 2072 .long 2428589668,2428589668 2073 .long 1636092795,1636092795 2074 .long 1890988757,1890988757 2075 .long 1952214088,1952214088 2076 .long 1113045200,1113045200 2077 .byte 82,9,106,213,48,54,165,56 2078 .byte 191,64,163,158,129,243,215,251 2079 .byte 124,227,57,130,155,47,255,135 2080 .byte 52,142,67,68,196,222,233,203 2081 .byte 84,123,148,50,166,194,35,61 2082 .byte 238,76,149,11,66,250,195,78 2083 .byte 8,46,161,102,40,217,36,178 2084 .byte 118,91,162,73,109,139,209,37 2085 .byte 114,248,246,100,134,104,152,22 2086 .byte 212,164,92,204,93,101,182,146 2087 .byte 108,112,72,80,253,237,185,218 2088 .byte 94,21,70,87,167,141,157,132 2089 .byte 144,216,171,0,140,188,211,10 2090 .byte 247,228,88,5,184,179,69,6 2091 .byte 208,44,30,143,202,63,15,2 2092 .byte 193,175,189,3,1,19,138,107 2093 .byte 58,145,17,65,79,103,220,234 2094 .byte 151,242,207,206,240,180,230,115 2095 .byte 150,172,116,34,231,173,53,133 2096 .byte 226,249,55,232,28,117,223,110 2097 .byte 71,241,26,113,29,41,197,137 2098 .byte 111,183,98,14,170,24,190,27 2099 .byte 252,86,62,75,198,210,121,32 2100 .byte 154,219,192,254,120,205,90,244 2101 .byte 31,221,168,51,136,7,199,49 2102 .byte 177,18,16,89,39,128,236,95 2103 .byte 96,81,127,169,25,181,74,13 2104 .byte 45,229,122,159,147,201,156,239 2105 .byte 160,224,59,77,174,42,245,176 2106 .byte 200,235,187,60,131,83,153,97 2107 .byte 23,43,4,126,186,119,214,38 2108 .byte 225,105,20,99,85,33,12,125 2109 .byte 82,9,106,213,48,54,165,56 2110 .byte 191,64,163,158,129,243,215,251 2111 .byte 124,227,57,130,155,47,255,135 2112 .byte 52,142,67,68,196,222,233,203 2113 .byte 84,123,148,50,166,194,35,61 2114 .byte 238,76,149,11,66,250,195,78 2115 .byte 8,46,161,102,40,217,36,178 2116 .byte 118,91,162,73,109,139,209,37 2117 .byte 114,248,246,100,134,104,152,22 2118 .byte 212,164,92,204,93,101,182,146 2119 .byte 108,112,72,80,253,237,185,218 2120 .byte 94,21,70,87,167,141,157,132 2121 .byte 144,216,171,0,140,188,211,10 2122 .byte 247,228,88,5,184,179,69,6 2123 .byte 208,44,30,143,202,63,15,2 2124 .byte 193,175,189,3,1,19,138,107 2125 .byte 58,145,17,65,79,103,220,234 2126 .byte 151,242,207,206,240,180,230,115 2127 .byte 150,172,116,34,231,173,53,133 2128 .byte 226,249,55,232,28,117,223,110 2129 .byte 71,241,26,113,29,41,197,137 2130 .byte 111,183,98,14,170,24,190,27 2131 .byte 252,86,62,75,198,210,121,32 2132 .byte 154,219,192,254,120,205,90,244 2133 .byte 31,221,168,51,136,7,199,49 2134 .byte 177,18,16,89,39,128,236,95 2135 .byte 96,81,127,169,25,181,74,13 2136 .byte 45,229,122,159,147,201,156,239 2137 .byte 160,224,59,77,174,42,245,176 2138 .byte 200,235,187,60,131,83,153,97 2139 .byte 23,43,4,126,186,119,214,38 2140 .byte 225,105,20,99,85,33,12,125 2141 .byte 82,9,106,213,48,54,165,56 2142 .byte 191,64,163,158,129,243,215,251 2143 .byte 124,227,57,130,155,47,255,135 2144 .byte 52,142,67,68,196,222,233,203 2145 .byte 84,123,148,50,166,194,35,61 2146 .byte 238,76,149,11,66,250,195,78 2147 .byte 8,46,161,102,40,217,36,178 2148 .byte 118,91,162,73,109,139,209,37 2149 .byte 114,248,246,100,134,104,152,22 2150 .byte 212,164,92,204,93,101,182,146 2151 .byte 108,112,72,80,253,237,185,218 2152 .byte 94,21,70,87,167,141,157,132 2153 .byte 144,216,171,0,140,188,211,10 2154 .byte 247,228,88,5,184,179,69,6 2155 .byte 208,44,30,143,202,63,15,2 2156 .byte 193,175,189,3,1,19,138,107 2157 .byte 58,145,17,65,79,103,220,234 2158 .byte 151,242,207,206,240,180,230,115 2159 .byte 150,172,116,34,231,173,53,133 2160 .byte 226,249,55,232,28,117,223,110 2161 .byte 71,241,26,113,29,41,197,137 2162 .byte 111,183,98,14,170,24,190,27 2163 .byte 252,86,62,75,198,210,121,32 2164 .byte 154,219,192,254,120,205,90,244 2165 .byte 31,221,168,51,136,7,199,49 2166 .byte 177,18,16,89,39,128,236,95 2167 .byte 96,81,127,169,25,181,74,13 2168 .byte 45,229,122,159,147,201,156,239 2169 .byte 160,224,59,77,174,42,245,176 2170 .byte 200,235,187,60,131,83,153,97 2171 .byte 23,43,4,126,186,119,214,38 2172 .byte 225,105,20,99,85,33,12,125 2173 .byte 82,9,106,213,48,54,165,56 2174 .byte 191,64,163,158,129,243,215,251 2175 .byte 124,227,57,130,155,47,255,135 2176 .byte 52,142,67,68,196,222,233,203 2177 .byte 84,123,148,50,166,194,35,61 2178 .byte 238,76,149,11,66,250,195,78 2179 .byte 8,46,161,102,40,217,36,178 2180 .byte 118,91,162,73,109,139,209,37 2181 .byte 114,248,246,100,134,104,152,22 2182 .byte 212,164,92,204,93,101,182,146 2183 .byte 108,112,72,80,253,237,185,218 2184 .byte 94,21,70,87,167,141,157,132 2185 .byte 144,216,171,0,140,188,211,10 2186 .byte 247,228,88,5,184,179,69,6 2187 .byte 208,44,30,143,202,63,15,2 2188 .byte 193,175,189,3,1,19,138,107 2189 .byte 58,145,17,65,79,103,220,234 2190 .byte 151,242,207,206,240,180,230,115 2191 .byte 150,172,116,34,231,173,53,133 2192 .byte 226,249,55,232,28,117,223,110 2193 .byte 71,241,26,113,29,41,197,137 2194 .byte 111,183,98,14,170,24,190,27 2195 .byte 252,86,62,75,198,210,121,32 2196 .byte 154,219,192,254,120,205,90,244 2197 .byte 31,221,168,51,136,7,199,49 2198 .byte 177,18,16,89,39,128,236,95 2199 .byte 96,81,127,169,25,181,74,13 2200 .byte 45,229,122,159,147,201,156,239 2201 .byte 160,224,59,77,174,42,245,176 2202 .byte 200,235,187,60,131,83,153,97 2203 .byte 23,43,4,126,186,119,214,38 2204 .byte 225,105,20,99,85,33,12,125 2205 .size _x86_AES_decrypt,.-_x86_AES_decrypt 2206 .globl AES_decrypt 2207 .type AES_decrypt,@function 2208 .align 16 2209 AES_decrypt: 2210 .L_AES_decrypt_begin: 2211 #ifdef __CET__ 2212 2213 .byte 243,15,30,251 2214 #endif 2215 2216 pushl %ebp 2217 pushl %ebx 2218 pushl %esi 2219 pushl %edi 2220 movl 20(%esp),%esi 2221 movl 28(%esp),%edi 2222 movl %esp,%eax 2223 subl $36,%esp 2224 andl $-64,%esp 2225 leal -127(%edi),%ebx 2226 subl %esp,%ebx 2227 negl %ebx 2228 andl $960,%ebx 2229 subl %ebx,%esp 2230 addl $4,%esp 2231 movl %eax,28(%esp) 2232 call .L010pic_point 2233 .L010pic_point: 2234 popl %ebp 2235 leal OPENSSL_ia32cap_P-.L010pic_point(%ebp),%eax 2236 leal .LAES_Td-.L010pic_point(%ebp),%ebp 2237 leal 764(%esp),%ebx 2238 subl %ebp,%ebx 2239 andl $768,%ebx 2240 leal 2176(%ebp,%ebx,1),%ebp 2241 btl $25,(%eax) 2242 jnc .L011x86 2243 movq (%esi),%mm0 2244 movq 8(%esi),%mm4 2245 call _sse_AES_decrypt_compact 2246 movl 28(%esp),%esp 2247 movl 24(%esp),%esi 2248 movq %mm0,(%esi) 2249 movq %mm4,8(%esi) 2250 emms 2251 popl %edi 2252 popl %esi 2253 popl %ebx 2254 popl %ebp 2255 ret 2256 .align 16 2257 .L011x86: 2258 movl %ebp,24(%esp) 2259 movl (%esi),%eax 2260 movl 4(%esi),%ebx 2261 movl 8(%esi),%ecx 2262 movl 12(%esi),%edx 2263 call _x86_AES_decrypt_compact 2264 movl 28(%esp),%esp 2265 movl 24(%esp),%esi 2266 movl %eax,(%esi) 2267 movl %ebx,4(%esi) 2268 movl %ecx,8(%esi) 2269 movl %edx,12(%esi) 2270 popl %edi 2271 popl %esi 2272 popl %ebx 2273 popl %ebp 2274 ret 2275 .size AES_decrypt,.-.L_AES_decrypt_begin 2276 .globl AES_cbc_encrypt 2277 .type AES_cbc_encrypt,@function 2278 .align 16 2279 AES_cbc_encrypt: 2280 .L_AES_cbc_encrypt_begin: 2281 #ifdef __CET__ 2282 2283 .byte 243,15,30,251 2284 #endif 2285 2286 pushl %ebp 2287 pushl %ebx 2288 pushl %esi 2289 pushl %edi 2290 movl 28(%esp),%ecx 2291 cmpl $0,%ecx 2292 je .L012drop_out 2293 call .L013pic_point 2294 .L013pic_point: 2295 popl %ebp 2296 leal OPENSSL_ia32cap_P-.L013pic_point(%ebp),%eax 2297 cmpl $0,40(%esp) 2298 leal .LAES_Te-.L013pic_point(%ebp),%ebp 2299 jne .L014picked_te 2300 leal .LAES_Td-.LAES_Te(%ebp),%ebp 2301 .L014picked_te: 2302 pushfl 2303 cld 2304 cmpl $512,%ecx 2305 jb .L015slow_way 2306 testl $15,%ecx 2307 jnz .L015slow_way 2308 btl $28,(%eax) 2309 jc .L015slow_way 2310 leal -324(%esp),%esi 2311 andl $-64,%esi 2312 movl %ebp,%eax 2313 leal 2304(%ebp),%ebx 2314 movl %esi,%edx 2315 andl $4095,%eax 2316 andl $4095,%ebx 2317 andl $4095,%edx 2318 cmpl %ebx,%edx 2319 jb .L016tbl_break_out 2320 subl %ebx,%edx 2321 subl %edx,%esi 2322 jmp .L017tbl_ok 2323 .align 4 2324 .L016tbl_break_out: 2325 subl %eax,%edx 2326 andl $4095,%edx 2327 addl $384,%edx 2328 subl %edx,%esi 2329 .align 4 2330 .L017tbl_ok: 2331 leal 24(%esp),%edx 2332 xchgl %esi,%esp 2333 addl $4,%esp 2334 movl %ebp,24(%esp) 2335 movl %esi,28(%esp) 2336 movl (%edx),%eax 2337 movl 4(%edx),%ebx 2338 movl 12(%edx),%edi 2339 movl 16(%edx),%esi 2340 movl 20(%edx),%edx 2341 movl %eax,32(%esp) 2342 movl %ebx,36(%esp) 2343 movl %ecx,40(%esp) 2344 movl %edi,44(%esp) 2345 movl %esi,48(%esp) 2346 movl $0,316(%esp) 2347 movl %edi,%ebx 2348 movl $61,%ecx 2349 subl %ebp,%ebx 2350 movl %edi,%esi 2351 andl $4095,%ebx 2352 leal 76(%esp),%edi 2353 cmpl $2304,%ebx 2354 jb .L018do_copy 2355 cmpl $3852,%ebx 2356 jb .L019skip_copy 2357 .align 4 2358 .L018do_copy: 2359 movl %edi,44(%esp) 2360 .long 2784229001 2361 .L019skip_copy: 2362 movl $16,%edi 2363 .align 4 2364 .L020prefetch_tbl: 2365 movl (%ebp),%eax 2366 movl 32(%ebp),%ebx 2367 movl 64(%ebp),%ecx 2368 movl 96(%ebp),%esi 2369 leal 128(%ebp),%ebp 2370 subl $1,%edi 2371 jnz .L020prefetch_tbl 2372 subl $2048,%ebp 2373 movl 32(%esp),%esi 2374 movl 48(%esp),%edi 2375 cmpl $0,%edx 2376 je .L021fast_decrypt 2377 movl (%edi),%eax 2378 movl 4(%edi),%ebx 2379 .align 16 2380 .L022fast_enc_loop: 2381 movl 8(%edi),%ecx 2382 movl 12(%edi),%edx 2383 xorl (%esi),%eax 2384 xorl 4(%esi),%ebx 2385 xorl 8(%esi),%ecx 2386 xorl 12(%esi),%edx 2387 movl 44(%esp),%edi 2388 call _x86_AES_encrypt 2389 movl 32(%esp),%esi 2390 movl 36(%esp),%edi 2391 movl %eax,(%edi) 2392 movl %ebx,4(%edi) 2393 movl %ecx,8(%edi) 2394 movl %edx,12(%edi) 2395 leal 16(%esi),%esi 2396 movl 40(%esp),%ecx 2397 movl %esi,32(%esp) 2398 leal 16(%edi),%edx 2399 movl %edx,36(%esp) 2400 subl $16,%ecx 2401 movl %ecx,40(%esp) 2402 jnz .L022fast_enc_loop 2403 movl 48(%esp),%esi 2404 movl 8(%edi),%ecx 2405 movl 12(%edi),%edx 2406 movl %eax,(%esi) 2407 movl %ebx,4(%esi) 2408 movl %ecx,8(%esi) 2409 movl %edx,12(%esi) 2410 cmpl $0,316(%esp) 2411 movl 44(%esp),%edi 2412 je .L023skip_ezero 2413 movl $60,%ecx 2414 xorl %eax,%eax 2415 .align 4 2416 .long 2884892297 2417 .L023skip_ezero: 2418 movl 28(%esp),%esp 2419 popfl 2420 .L012drop_out: 2421 popl %edi 2422 popl %esi 2423 popl %ebx 2424 popl %ebp 2425 ret 2426 pushfl 2427 .align 16 2428 .L021fast_decrypt: 2429 cmpl 36(%esp),%esi 2430 je .L024fast_dec_in_place 2431 movl %edi,52(%esp) 2432 .align 4 2433 .align 16 2434 .L025fast_dec_loop: 2435 movl (%esi),%eax 2436 movl 4(%esi),%ebx 2437 movl 8(%esi),%ecx 2438 movl 12(%esi),%edx 2439 movl 44(%esp),%edi 2440 call _x86_AES_decrypt 2441 movl 52(%esp),%edi 2442 movl 40(%esp),%esi 2443 xorl (%edi),%eax 2444 xorl 4(%edi),%ebx 2445 xorl 8(%edi),%ecx 2446 xorl 12(%edi),%edx 2447 movl 36(%esp),%edi 2448 movl 32(%esp),%esi 2449 movl %eax,(%edi) 2450 movl %ebx,4(%edi) 2451 movl %ecx,8(%edi) 2452 movl %edx,12(%edi) 2453 movl 40(%esp),%ecx 2454 movl %esi,52(%esp) 2455 leal 16(%esi),%esi 2456 movl %esi,32(%esp) 2457 leal 16(%edi),%edi 2458 movl %edi,36(%esp) 2459 subl $16,%ecx 2460 movl %ecx,40(%esp) 2461 jnz .L025fast_dec_loop 2462 movl 52(%esp),%edi 2463 movl 48(%esp),%esi 2464 movl (%edi),%eax 2465 movl 4(%edi),%ebx 2466 movl 8(%edi),%ecx 2467 movl 12(%edi),%edx 2468 movl %eax,(%esi) 2469 movl %ebx,4(%esi) 2470 movl %ecx,8(%esi) 2471 movl %edx,12(%esi) 2472 jmp .L026fast_dec_out 2473 .align 16 2474 .L024fast_dec_in_place: 2475 .L027fast_dec_in_place_loop: 2476 movl (%esi),%eax 2477 movl 4(%esi),%ebx 2478 movl 8(%esi),%ecx 2479 movl 12(%esi),%edx 2480 leal 60(%esp),%edi 2481 movl %eax,(%edi) 2482 movl %ebx,4(%edi) 2483 movl %ecx,8(%edi) 2484 movl %edx,12(%edi) 2485 movl 44(%esp),%edi 2486 call _x86_AES_decrypt 2487 movl 48(%esp),%edi 2488 movl 36(%esp),%esi 2489 xorl (%edi),%eax 2490 xorl 4(%edi),%ebx 2491 xorl 8(%edi),%ecx 2492 xorl 12(%edi),%edx 2493 movl %eax,(%esi) 2494 movl %ebx,4(%esi) 2495 movl %ecx,8(%esi) 2496 movl %edx,12(%esi) 2497 leal 16(%esi),%esi 2498 movl %esi,36(%esp) 2499 leal 60(%esp),%esi 2500 movl (%esi),%eax 2501 movl 4(%esi),%ebx 2502 movl 8(%esi),%ecx 2503 movl 12(%esi),%edx 2504 movl %eax,(%edi) 2505 movl %ebx,4(%edi) 2506 movl %ecx,8(%edi) 2507 movl %edx,12(%edi) 2508 movl 32(%esp),%esi 2509 movl 40(%esp),%ecx 2510 leal 16(%esi),%esi 2511 movl %esi,32(%esp) 2512 subl $16,%ecx 2513 movl %ecx,40(%esp) 2514 jnz .L027fast_dec_in_place_loop 2515 .align 4 2516 .L026fast_dec_out: 2517 cmpl $0,316(%esp) 2518 movl 44(%esp),%edi 2519 je .L028skip_dzero 2520 movl $60,%ecx 2521 xorl %eax,%eax 2522 .align 4 2523 .long 2884892297 2524 .L028skip_dzero: 2525 movl 28(%esp),%esp 2526 popfl 2527 popl %edi 2528 popl %esi 2529 popl %ebx 2530 popl %ebp 2531 ret 2532 pushfl 2533 .align 16 2534 .L015slow_way: 2535 movl (%eax),%eax 2536 movl 36(%esp),%edi 2537 leal -80(%esp),%esi 2538 andl $-64,%esi 2539 leal -143(%edi),%ebx 2540 subl %esi,%ebx 2541 negl %ebx 2542 andl $960,%ebx 2543 subl %ebx,%esi 2544 leal 768(%esi),%ebx 2545 subl %ebp,%ebx 2546 andl $768,%ebx 2547 leal 2176(%ebp,%ebx,1),%ebp 2548 leal 24(%esp),%edx 2549 xchgl %esi,%esp 2550 addl $4,%esp 2551 movl %ebp,24(%esp) 2552 movl %esi,28(%esp) 2553 movl %eax,52(%esp) 2554 movl (%edx),%eax 2555 movl 4(%edx),%ebx 2556 movl 16(%edx),%esi 2557 movl 20(%edx),%edx 2558 movl %eax,32(%esp) 2559 movl %ebx,36(%esp) 2560 movl %ecx,40(%esp) 2561 movl %edi,44(%esp) 2562 movl %esi,48(%esp) 2563 movl %esi,%edi 2564 movl %eax,%esi 2565 cmpl $0,%edx 2566 je .L029slow_decrypt 2567 cmpl $16,%ecx 2568 movl %ebx,%edx 2569 jb .L030slow_enc_tail 2570 btl $25,52(%esp) 2571 jnc .L031slow_enc_x86 2572 movq (%edi),%mm0 2573 movq 8(%edi),%mm4 2574 .align 16 2575 .L032slow_enc_loop_sse: 2576 pxor (%esi),%mm0 2577 pxor 8(%esi),%mm4 2578 movl 44(%esp),%edi 2579 call _sse_AES_encrypt_compact 2580 movl 32(%esp),%esi 2581 movl 36(%esp),%edi 2582 movl 40(%esp),%ecx 2583 movq %mm0,(%edi) 2584 movq %mm4,8(%edi) 2585 leal 16(%esi),%esi 2586 movl %esi,32(%esp) 2587 leal 16(%edi),%edx 2588 movl %edx,36(%esp) 2589 subl $16,%ecx 2590 cmpl $16,%ecx 2591 movl %ecx,40(%esp) 2592 jae .L032slow_enc_loop_sse 2593 testl $15,%ecx 2594 jnz .L030slow_enc_tail 2595 movl 48(%esp),%esi 2596 movq %mm0,(%esi) 2597 movq %mm4,8(%esi) 2598 emms 2599 movl 28(%esp),%esp 2600 popfl 2601 popl %edi 2602 popl %esi 2603 popl %ebx 2604 popl %ebp 2605 ret 2606 pushfl 2607 .align 16 2608 .L031slow_enc_x86: 2609 movl (%edi),%eax 2610 movl 4(%edi),%ebx 2611 .align 4 2612 .L033slow_enc_loop_x86: 2613 movl 8(%edi),%ecx 2614 movl 12(%edi),%edx 2615 xorl (%esi),%eax 2616 xorl 4(%esi),%ebx 2617 xorl 8(%esi),%ecx 2618 xorl 12(%esi),%edx 2619 movl 44(%esp),%edi 2620 call _x86_AES_encrypt_compact 2621 movl 32(%esp),%esi 2622 movl 36(%esp),%edi 2623 movl %eax,(%edi) 2624 movl %ebx,4(%edi) 2625 movl %ecx,8(%edi) 2626 movl %edx,12(%edi) 2627 movl 40(%esp),%ecx 2628 leal 16(%esi),%esi 2629 movl %esi,32(%esp) 2630 leal 16(%edi),%edx 2631 movl %edx,36(%esp) 2632 subl $16,%ecx 2633 cmpl $16,%ecx 2634 movl %ecx,40(%esp) 2635 jae .L033slow_enc_loop_x86 2636 testl $15,%ecx 2637 jnz .L030slow_enc_tail 2638 movl 48(%esp),%esi 2639 movl 8(%edi),%ecx 2640 movl 12(%edi),%edx 2641 movl %eax,(%esi) 2642 movl %ebx,4(%esi) 2643 movl %ecx,8(%esi) 2644 movl %edx,12(%esi) 2645 movl 28(%esp),%esp 2646 popfl 2647 popl %edi 2648 popl %esi 2649 popl %ebx 2650 popl %ebp 2651 ret 2652 pushfl 2653 .align 16 2654 .L030slow_enc_tail: 2655 emms 2656 movl %edx,%edi 2657 movl $16,%ebx 2658 subl %ecx,%ebx 2659 cmpl %esi,%edi 2660 je .L034enc_in_place 2661 .align 4 2662 .long 2767451785 2663 jmp .L035enc_skip_in_place 2664 .L034enc_in_place: 2665 leal (%edi,%ecx,1),%edi 2666 .L035enc_skip_in_place: 2667 movl %ebx,%ecx 2668 xorl %eax,%eax 2669 .align 4 2670 .long 2868115081 2671 movl 48(%esp),%edi 2672 movl %edx,%esi 2673 movl (%edi),%eax 2674 movl 4(%edi),%ebx 2675 movl $16,40(%esp) 2676 jmp .L033slow_enc_loop_x86 2677 .align 16 2678 .L029slow_decrypt: 2679 btl $25,52(%esp) 2680 jnc .L036slow_dec_loop_x86 2681 .align 4 2682 .L037slow_dec_loop_sse: 2683 movq (%esi),%mm0 2684 movq 8(%esi),%mm4 2685 movl 44(%esp),%edi 2686 call _sse_AES_decrypt_compact 2687 movl 32(%esp),%esi 2688 leal 60(%esp),%eax 2689 movl 36(%esp),%ebx 2690 movl 40(%esp),%ecx 2691 movl 48(%esp),%edi 2692 movq (%esi),%mm1 2693 movq 8(%esi),%mm5 2694 pxor (%edi),%mm0 2695 pxor 8(%edi),%mm4 2696 movq %mm1,(%edi) 2697 movq %mm5,8(%edi) 2698 subl $16,%ecx 2699 jc .L038slow_dec_partial_sse 2700 movq %mm0,(%ebx) 2701 movq %mm4,8(%ebx) 2702 leal 16(%ebx),%ebx 2703 movl %ebx,36(%esp) 2704 leal 16(%esi),%esi 2705 movl %esi,32(%esp) 2706 movl %ecx,40(%esp) 2707 jnz .L037slow_dec_loop_sse 2708 emms 2709 movl 28(%esp),%esp 2710 popfl 2711 popl %edi 2712 popl %esi 2713 popl %ebx 2714 popl %ebp 2715 ret 2716 pushfl 2717 .align 16 2718 .L038slow_dec_partial_sse: 2719 movq %mm0,(%eax) 2720 movq %mm4,8(%eax) 2721 emms 2722 addl $16,%ecx 2723 movl %ebx,%edi 2724 movl %eax,%esi 2725 .align 4 2726 .long 2767451785 2727 movl 28(%esp),%esp 2728 popfl 2729 popl %edi 2730 popl %esi 2731 popl %ebx 2732 popl %ebp 2733 ret 2734 pushfl 2735 .align 16 2736 .L036slow_dec_loop_x86: 2737 movl (%esi),%eax 2738 movl 4(%esi),%ebx 2739 movl 8(%esi),%ecx 2740 movl 12(%esi),%edx 2741 leal 60(%esp),%edi 2742 movl %eax,(%edi) 2743 movl %ebx,4(%edi) 2744 movl %ecx,8(%edi) 2745 movl %edx,12(%edi) 2746 movl 44(%esp),%edi 2747 call _x86_AES_decrypt_compact 2748 movl 48(%esp),%edi 2749 movl 40(%esp),%esi 2750 xorl (%edi),%eax 2751 xorl 4(%edi),%ebx 2752 xorl 8(%edi),%ecx 2753 xorl 12(%edi),%edx 2754 subl $16,%esi 2755 jc .L039slow_dec_partial_x86 2756 movl %esi,40(%esp) 2757 movl 36(%esp),%esi 2758 movl %eax,(%esi) 2759 movl %ebx,4(%esi) 2760 movl %ecx,8(%esi) 2761 movl %edx,12(%esi) 2762 leal 16(%esi),%esi 2763 movl %esi,36(%esp) 2764 leal 60(%esp),%esi 2765 movl (%esi),%eax 2766 movl 4(%esi),%ebx 2767 movl 8(%esi),%ecx 2768 movl 12(%esi),%edx 2769 movl %eax,(%edi) 2770 movl %ebx,4(%edi) 2771 movl %ecx,8(%edi) 2772 movl %edx,12(%edi) 2773 movl 32(%esp),%esi 2774 leal 16(%esi),%esi 2775 movl %esi,32(%esp) 2776 jnz .L036slow_dec_loop_x86 2777 movl 28(%esp),%esp 2778 popfl 2779 popl %edi 2780 popl %esi 2781 popl %ebx 2782 popl %ebp 2783 ret 2784 pushfl 2785 .align 16 2786 .L039slow_dec_partial_x86: 2787 leal 60(%esp),%esi 2788 movl %eax,(%esi) 2789 movl %ebx,4(%esi) 2790 movl %ecx,8(%esi) 2791 movl %edx,12(%esi) 2792 movl 32(%esp),%esi 2793 movl (%esi),%eax 2794 movl 4(%esi),%ebx 2795 movl 8(%esi),%ecx 2796 movl 12(%esi),%edx 2797 movl %eax,(%edi) 2798 movl %ebx,4(%edi) 2799 movl %ecx,8(%edi) 2800 movl %edx,12(%edi) 2801 movl 40(%esp),%ecx 2802 movl 36(%esp),%edi 2803 leal 60(%esp),%esi 2804 .align 4 2805 .long 2767451785 2806 movl 28(%esp),%esp 2807 popfl 2808 popl %edi 2809 popl %esi 2810 popl %ebx 2811 popl %ebp 2812 ret 2813 .size AES_cbc_encrypt,.-.L_AES_cbc_encrypt_begin 2814 .type _x86_AES_set_encrypt_key,@function 2815 .align 16 2816 _x86_AES_set_encrypt_key: 2817 #ifdef __CET__ 2818 2819 .byte 243,15,30,251 2820 #endif 2821 2822 pushl %ebp 2823 pushl %ebx 2824 pushl %esi 2825 pushl %edi 2826 movl 24(%esp),%esi 2827 movl 32(%esp),%edi 2828 testl $-1,%esi 2829 jz .L040badpointer 2830 testl $-1,%edi 2831 jz .L040badpointer 2832 call .L041pic_point 2833 .L041pic_point: 2834 popl %ebp 2835 leal .LAES_Te-.L041pic_point(%ebp),%ebp 2836 leal 2176(%ebp),%ebp 2837 movl -128(%ebp),%eax 2838 movl -96(%ebp),%ebx 2839 movl -64(%ebp),%ecx 2840 movl -32(%ebp),%edx 2841 movl (%ebp),%eax 2842 movl 32(%ebp),%ebx 2843 movl 64(%ebp),%ecx 2844 movl 96(%ebp),%edx 2845 movl 28(%esp),%ecx 2846 cmpl $128,%ecx 2847 je .L04210rounds 2848 cmpl $192,%ecx 2849 je .L04312rounds 2850 cmpl $256,%ecx 2851 je .L04414rounds 2852 movl $-2,%eax 2853 jmp .L045exit 2854 .L04210rounds: 2855 movl (%esi),%eax 2856 movl 4(%esi),%ebx 2857 movl 8(%esi),%ecx 2858 movl 12(%esi),%edx 2859 movl %eax,(%edi) 2860 movl %ebx,4(%edi) 2861 movl %ecx,8(%edi) 2862 movl %edx,12(%edi) 2863 xorl %ecx,%ecx 2864 jmp .L04610shortcut 2865 .align 4 2866 .L04710loop: 2867 movl (%edi),%eax 2868 movl 12(%edi),%edx 2869 .L04610shortcut: 2870 movzbl %dl,%esi 2871 movzbl -128(%ebp,%esi,1),%ebx 2872 movzbl %dh,%esi 2873 shll $24,%ebx 2874 xorl %ebx,%eax 2875 movzbl -128(%ebp,%esi,1),%ebx 2876 shrl $16,%edx 2877 movzbl %dl,%esi 2878 xorl %ebx,%eax 2879 movzbl -128(%ebp,%esi,1),%ebx 2880 movzbl %dh,%esi 2881 shll $8,%ebx 2882 xorl %ebx,%eax 2883 movzbl -128(%ebp,%esi,1),%ebx 2884 shll $16,%ebx 2885 xorl %ebx,%eax 2886 xorl 896(%ebp,%ecx,4),%eax 2887 movl %eax,16(%edi) 2888 xorl 4(%edi),%eax 2889 movl %eax,20(%edi) 2890 xorl 8(%edi),%eax 2891 movl %eax,24(%edi) 2892 xorl 12(%edi),%eax 2893 movl %eax,28(%edi) 2894 incl %ecx 2895 addl $16,%edi 2896 cmpl $10,%ecx 2897 jl .L04710loop 2898 movl $10,80(%edi) 2899 xorl %eax,%eax 2900 jmp .L045exit 2901 .L04312rounds: 2902 movl (%esi),%eax 2903 movl 4(%esi),%ebx 2904 movl 8(%esi),%ecx 2905 movl 12(%esi),%edx 2906 movl %eax,(%edi) 2907 movl %ebx,4(%edi) 2908 movl %ecx,8(%edi) 2909 movl %edx,12(%edi) 2910 movl 16(%esi),%ecx 2911 movl 20(%esi),%edx 2912 movl %ecx,16(%edi) 2913 movl %edx,20(%edi) 2914 xorl %ecx,%ecx 2915 jmp .L04812shortcut 2916 .align 4 2917 .L04912loop: 2918 movl (%edi),%eax 2919 movl 20(%edi),%edx 2920 .L04812shortcut: 2921 movzbl %dl,%esi 2922 movzbl -128(%ebp,%esi,1),%ebx 2923 movzbl %dh,%esi 2924 shll $24,%ebx 2925 xorl %ebx,%eax 2926 movzbl -128(%ebp,%esi,1),%ebx 2927 shrl $16,%edx 2928 movzbl %dl,%esi 2929 xorl %ebx,%eax 2930 movzbl -128(%ebp,%esi,1),%ebx 2931 movzbl %dh,%esi 2932 shll $8,%ebx 2933 xorl %ebx,%eax 2934 movzbl -128(%ebp,%esi,1),%ebx 2935 shll $16,%ebx 2936 xorl %ebx,%eax 2937 xorl 896(%ebp,%ecx,4),%eax 2938 movl %eax,24(%edi) 2939 xorl 4(%edi),%eax 2940 movl %eax,28(%edi) 2941 xorl 8(%edi),%eax 2942 movl %eax,32(%edi) 2943 xorl 12(%edi),%eax 2944 movl %eax,36(%edi) 2945 cmpl $7,%ecx 2946 je .L05012break 2947 incl %ecx 2948 xorl 16(%edi),%eax 2949 movl %eax,40(%edi) 2950 xorl 20(%edi),%eax 2951 movl %eax,44(%edi) 2952 addl $24,%edi 2953 jmp .L04912loop 2954 .L05012break: 2955 movl $12,72(%edi) 2956 xorl %eax,%eax 2957 jmp .L045exit 2958 .L04414rounds: 2959 movl (%esi),%eax 2960 movl 4(%esi),%ebx 2961 movl 8(%esi),%ecx 2962 movl 12(%esi),%edx 2963 movl %eax,(%edi) 2964 movl %ebx,4(%edi) 2965 movl %ecx,8(%edi) 2966 movl %edx,12(%edi) 2967 movl 16(%esi),%eax 2968 movl 20(%esi),%ebx 2969 movl 24(%esi),%ecx 2970 movl 28(%esi),%edx 2971 movl %eax,16(%edi) 2972 movl %ebx,20(%edi) 2973 movl %ecx,24(%edi) 2974 movl %edx,28(%edi) 2975 xorl %ecx,%ecx 2976 jmp .L05114shortcut 2977 .align 4 2978 .L05214loop: 2979 movl 28(%edi),%edx 2980 .L05114shortcut: 2981 movl (%edi),%eax 2982 movzbl %dl,%esi 2983 movzbl -128(%ebp,%esi,1),%ebx 2984 movzbl %dh,%esi 2985 shll $24,%ebx 2986 xorl %ebx,%eax 2987 movzbl -128(%ebp,%esi,1),%ebx 2988 shrl $16,%edx 2989 movzbl %dl,%esi 2990 xorl %ebx,%eax 2991 movzbl -128(%ebp,%esi,1),%ebx 2992 movzbl %dh,%esi 2993 shll $8,%ebx 2994 xorl %ebx,%eax 2995 movzbl -128(%ebp,%esi,1),%ebx 2996 shll $16,%ebx 2997 xorl %ebx,%eax 2998 xorl 896(%ebp,%ecx,4),%eax 2999 movl %eax,32(%edi) 3000 xorl 4(%edi),%eax 3001 movl %eax,36(%edi) 3002 xorl 8(%edi),%eax 3003 movl %eax,40(%edi) 3004 xorl 12(%edi),%eax 3005 movl %eax,44(%edi) 3006 cmpl $6,%ecx 3007 je .L05314break 3008 incl %ecx 3009 movl %eax,%edx 3010 movl 16(%edi),%eax 3011 movzbl %dl,%esi 3012 movzbl -128(%ebp,%esi,1),%ebx 3013 movzbl %dh,%esi 3014 xorl %ebx,%eax 3015 movzbl -128(%ebp,%esi,1),%ebx 3016 shrl $16,%edx 3017 shll $8,%ebx 3018 movzbl %dl,%esi 3019 xorl %ebx,%eax 3020 movzbl -128(%ebp,%esi,1),%ebx 3021 movzbl %dh,%esi 3022 shll $16,%ebx 3023 xorl %ebx,%eax 3024 movzbl -128(%ebp,%esi,1),%ebx 3025 shll $24,%ebx 3026 xorl %ebx,%eax 3027 movl %eax,48(%edi) 3028 xorl 20(%edi),%eax 3029 movl %eax,52(%edi) 3030 xorl 24(%edi),%eax 3031 movl %eax,56(%edi) 3032 xorl 28(%edi),%eax 3033 movl %eax,60(%edi) 3034 addl $32,%edi 3035 jmp .L05214loop 3036 .L05314break: 3037 movl $14,48(%edi) 3038 xorl %eax,%eax 3039 jmp .L045exit 3040 .L040badpointer: 3041 movl $-1,%eax 3042 .L045exit: 3043 popl %edi 3044 popl %esi 3045 popl %ebx 3046 popl %ebp 3047 ret 3048 .size _x86_AES_set_encrypt_key,.-_x86_AES_set_encrypt_key 3049 .globl AES_set_encrypt_key 3050 .type AES_set_encrypt_key,@function 3051 .align 16 3052 AES_set_encrypt_key: 3053 .L_AES_set_encrypt_key_begin: 3054 #ifdef __CET__ 3055 3056 .byte 243,15,30,251 3057 #endif 3058 3059 call _x86_AES_set_encrypt_key 3060 ret 3061 .size AES_set_encrypt_key,.-.L_AES_set_encrypt_key_begin 3062 .globl AES_set_decrypt_key 3063 .type AES_set_decrypt_key,@function 3064 .align 16 3065 AES_set_decrypt_key: 3066 .L_AES_set_decrypt_key_begin: 3067 #ifdef __CET__ 3068 3069 .byte 243,15,30,251 3070 #endif 3071 3072 call _x86_AES_set_encrypt_key 3073 cmpl $0,%eax 3074 je .L054proceed 3075 ret 3076 .L054proceed: 3077 pushl %ebp 3078 pushl %ebx 3079 pushl %esi 3080 pushl %edi 3081 movl 28(%esp),%esi 3082 movl 240(%esi),%ecx 3083 leal (,%ecx,4),%ecx 3084 leal (%esi,%ecx,4),%edi 3085 .align 4 3086 .L055invert: 3087 movl (%esi),%eax 3088 movl 4(%esi),%ebx 3089 movl (%edi),%ecx 3090 movl 4(%edi),%edx 3091 movl %eax,(%edi) 3092 movl %ebx,4(%edi) 3093 movl %ecx,(%esi) 3094 movl %edx,4(%esi) 3095 movl 8(%esi),%eax 3096 movl 12(%esi),%ebx 3097 movl 8(%edi),%ecx 3098 movl 12(%edi),%edx 3099 movl %eax,8(%edi) 3100 movl %ebx,12(%edi) 3101 movl %ecx,8(%esi) 3102 movl %edx,12(%esi) 3103 addl $16,%esi 3104 subl $16,%edi 3105 cmpl %edi,%esi 3106 jne .L055invert 3107 movl 28(%esp),%edi 3108 movl 240(%edi),%esi 3109 leal -2(%esi,%esi,1),%esi 3110 leal (%edi,%esi,8),%esi 3111 movl %esi,28(%esp) 3112 movl 16(%edi),%eax 3113 .align 4 3114 .L056permute: 3115 addl $16,%edi 3116 movl $2155905152,%ebp 3117 andl %eax,%ebp 3118 leal (%eax,%eax,1),%ebx 3119 movl %ebp,%esi 3120 shrl $7,%ebp 3121 subl %ebp,%esi 3122 andl $4278124286,%ebx 3123 andl $454761243,%esi 3124 xorl %esi,%ebx 3125 movl $2155905152,%ebp 3126 andl %ebx,%ebp 3127 leal (%ebx,%ebx,1),%ecx 3128 movl %ebp,%esi 3129 shrl $7,%ebp 3130 subl %ebp,%esi 3131 andl $4278124286,%ecx 3132 andl $454761243,%esi 3133 xorl %eax,%ebx 3134 xorl %esi,%ecx 3135 movl $2155905152,%ebp 3136 andl %ecx,%ebp 3137 leal (%ecx,%ecx,1),%edx 3138 movl %ebp,%esi 3139 shrl $7,%ebp 3140 xorl %eax,%ecx 3141 subl %ebp,%esi 3142 andl $4278124286,%edx 3143 andl $454761243,%esi 3144 roll $8,%eax 3145 xorl %esi,%edx 3146 movl 4(%edi),%ebp 3147 xorl %ebx,%eax 3148 xorl %edx,%ebx 3149 xorl %ecx,%eax 3150 roll $24,%ebx 3151 xorl %edx,%ecx 3152 xorl %edx,%eax 3153 roll $16,%ecx 3154 xorl %ebx,%eax 3155 roll $8,%edx 3156 xorl %ecx,%eax 3157 movl %ebp,%ebx 3158 xorl %edx,%eax 3159 movl %eax,(%edi) 3160 movl $2155905152,%ebp 3161 andl %ebx,%ebp 3162 leal (%ebx,%ebx,1),%ecx 3163 movl %ebp,%esi 3164 shrl $7,%ebp 3165 subl %ebp,%esi 3166 andl $4278124286,%ecx 3167 andl $454761243,%esi 3168 xorl %esi,%ecx 3169 movl $2155905152,%ebp 3170 andl %ecx,%ebp 3171 leal (%ecx,%ecx,1),%edx 3172 movl %ebp,%esi 3173 shrl $7,%ebp 3174 subl %ebp,%esi 3175 andl $4278124286,%edx 3176 andl $454761243,%esi 3177 xorl %ebx,%ecx 3178 xorl %esi,%edx 3179 movl $2155905152,%ebp 3180 andl %edx,%ebp 3181 leal (%edx,%edx,1),%eax 3182 movl %ebp,%esi 3183 shrl $7,%ebp 3184 xorl %ebx,%edx 3185 subl %ebp,%esi 3186 andl $4278124286,%eax 3187 andl $454761243,%esi 3188 roll $8,%ebx 3189 xorl %esi,%eax 3190 movl 8(%edi),%ebp 3191 xorl %ecx,%ebx 3192 xorl %eax,%ecx 3193 xorl %edx,%ebx 3194 roll $24,%ecx 3195 xorl %eax,%edx 3196 xorl %eax,%ebx 3197 roll $16,%edx 3198 xorl %ecx,%ebx 3199 roll $8,%eax 3200 xorl %edx,%ebx 3201 movl %ebp,%ecx 3202 xorl %eax,%ebx 3203 movl %ebx,4(%edi) 3204 movl $2155905152,%ebp 3205 andl %ecx,%ebp 3206 leal (%ecx,%ecx,1),%edx 3207 movl %ebp,%esi 3208 shrl $7,%ebp 3209 subl %ebp,%esi 3210 andl $4278124286,%edx 3211 andl $454761243,%esi 3212 xorl %esi,%edx 3213 movl $2155905152,%ebp 3214 andl %edx,%ebp 3215 leal (%edx,%edx,1),%eax 3216 movl %ebp,%esi 3217 shrl $7,%ebp 3218 subl %ebp,%esi 3219 andl $4278124286,%eax 3220 andl $454761243,%esi 3221 xorl %ecx,%edx 3222 xorl %esi,%eax 3223 movl $2155905152,%ebp 3224 andl %eax,%ebp 3225 leal (%eax,%eax,1),%ebx 3226 movl %ebp,%esi 3227 shrl $7,%ebp 3228 xorl %ecx,%eax 3229 subl %ebp,%esi 3230 andl $4278124286,%ebx 3231 andl $454761243,%esi 3232 roll $8,%ecx 3233 xorl %esi,%ebx 3234 movl 12(%edi),%ebp 3235 xorl %edx,%ecx 3236 xorl %ebx,%edx 3237 xorl %eax,%ecx 3238 roll $24,%edx 3239 xorl %ebx,%eax 3240 xorl %ebx,%ecx 3241 roll $16,%eax 3242 xorl %edx,%ecx 3243 roll $8,%ebx 3244 xorl %eax,%ecx 3245 movl %ebp,%edx 3246 xorl %ebx,%ecx 3247 movl %ecx,8(%edi) 3248 movl $2155905152,%ebp 3249 andl %edx,%ebp 3250 leal (%edx,%edx,1),%eax 3251 movl %ebp,%esi 3252 shrl $7,%ebp 3253 subl %ebp,%esi 3254 andl $4278124286,%eax 3255 andl $454761243,%esi 3256 xorl %esi,%eax 3257 movl $2155905152,%ebp 3258 andl %eax,%ebp 3259 leal (%eax,%eax,1),%ebx 3260 movl %ebp,%esi 3261 shrl $7,%ebp 3262 subl %ebp,%esi 3263 andl $4278124286,%ebx 3264 andl $454761243,%esi 3265 xorl %edx,%eax 3266 xorl %esi,%ebx 3267 movl $2155905152,%ebp 3268 andl %ebx,%ebp 3269 leal (%ebx,%ebx,1),%ecx 3270 movl %ebp,%esi 3271 shrl $7,%ebp 3272 xorl %edx,%ebx 3273 subl %ebp,%esi 3274 andl $4278124286,%ecx 3275 andl $454761243,%esi 3276 roll $8,%edx 3277 xorl %esi,%ecx 3278 movl 16(%edi),%ebp 3279 xorl %eax,%edx 3280 xorl %ecx,%eax 3281 xorl %ebx,%edx 3282 roll $24,%eax 3283 xorl %ecx,%ebx 3284 xorl %ecx,%edx 3285 roll $16,%ebx 3286 xorl %eax,%edx 3287 roll $8,%ecx 3288 xorl %ebx,%edx 3289 movl %ebp,%eax 3290 xorl %ecx,%edx 3291 movl %edx,12(%edi) 3292 cmpl 28(%esp),%edi 3293 jb .L056permute 3294 xorl %eax,%eax 3295 popl %edi 3296 popl %esi 3297 popl %ebx 3298 popl %ebp 3299 ret 3300 .size AES_set_decrypt_key,.-.L_AES_set_decrypt_key_begin 3301 .byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89 3302 .byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 3303 .byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 3304 .comm OPENSSL_ia32cap_P,40,4 3305 3306 .section ".note.gnu.property", "a" 3307 .p2align 2 3308 .long 1f - 0f 3309 .long 4f - 1f 3310 .long 5 3311 0: 3312 .asciz "GNU" 3313 1: 3314 .p2align 2 3315 .long 0xc0000002 3316 .long 3f - 2f 3317 2: 3318 .long 3 3319 3: 3320 .p2align 2 3321 4: 3322