1/* Do not modify. This file is auto-generated from rc5-586.pl. */ 2#ifdef PIC 3.text 4.globl RC5_32_encrypt 5.type RC5_32_encrypt,@function 6.align 16 7RC5_32_encrypt: 8.L_RC5_32_encrypt_begin: 9 #ifdef __CET__ 10 11.byte 243,15,30,251 12 #endif 13 14 15 pushl %ebp 16 pushl %esi 17 pushl %edi 18 movl 16(%esp),%edx 19 movl 20(%esp),%ebp 20 21 movl (%edx),%edi 22 movl 4(%edx),%esi 23 pushl %ebx 24 movl (%ebp),%ebx 25 addl 4(%ebp),%edi 26 addl 8(%ebp),%esi 27 xorl %esi,%edi 28 movl 12(%ebp),%eax 29 movl %esi,%ecx 30 roll %cl,%edi 31 addl %eax,%edi 32 xorl %edi,%esi 33 movl 16(%ebp),%eax 34 movl %edi,%ecx 35 roll %cl,%esi 36 addl %eax,%esi 37 xorl %esi,%edi 38 movl 20(%ebp),%eax 39 movl %esi,%ecx 40 roll %cl,%edi 41 addl %eax,%edi 42 xorl %edi,%esi 43 movl 24(%ebp),%eax 44 movl %edi,%ecx 45 roll %cl,%esi 46 addl %eax,%esi 47 xorl %esi,%edi 48 movl 28(%ebp),%eax 49 movl %esi,%ecx 50 roll %cl,%edi 51 addl %eax,%edi 52 xorl %edi,%esi 53 movl 32(%ebp),%eax 54 movl %edi,%ecx 55 roll %cl,%esi 56 addl %eax,%esi 57 xorl %esi,%edi 58 movl 36(%ebp),%eax 59 movl %esi,%ecx 60 roll %cl,%edi 61 addl %eax,%edi 62 xorl %edi,%esi 63 movl 40(%ebp),%eax 64 movl %edi,%ecx 65 roll %cl,%esi 66 addl %eax,%esi 67 xorl %esi,%edi 68 movl 44(%ebp),%eax 69 movl %esi,%ecx 70 roll %cl,%edi 71 addl %eax,%edi 72 xorl %edi,%esi 73 movl 48(%ebp),%eax 74 movl %edi,%ecx 75 roll %cl,%esi 76 addl %eax,%esi 77 xorl %esi,%edi 78 movl 52(%ebp),%eax 79 movl %esi,%ecx 80 roll %cl,%edi 81 addl %eax,%edi 82 xorl %edi,%esi 83 movl 56(%ebp),%eax 84 movl %edi,%ecx 85 roll %cl,%esi 86 addl %eax,%esi 87 xorl %esi,%edi 88 movl 60(%ebp),%eax 89 movl %esi,%ecx 90 roll %cl,%edi 91 addl %eax,%edi 92 xorl %edi,%esi 93 movl 64(%ebp),%eax 94 movl %edi,%ecx 95 roll %cl,%esi 96 addl %eax,%esi 97 xorl %esi,%edi 98 movl 68(%ebp),%eax 99 movl %esi,%ecx 100 roll %cl,%edi 101 addl %eax,%edi 102 xorl %edi,%esi 103 movl 72(%ebp),%eax 104 movl %edi,%ecx 105 roll %cl,%esi 106 addl %eax,%esi 107 cmpl $8,%ebx 108 je .L000rc5_exit 109 xorl %esi,%edi 110 movl 76(%ebp),%eax 111 movl %esi,%ecx 112 roll %cl,%edi 113 addl %eax,%edi 114 xorl %edi,%esi 115 movl 80(%ebp),%eax 116 movl %edi,%ecx 117 roll %cl,%esi 118 addl %eax,%esi 119 xorl %esi,%edi 120 movl 84(%ebp),%eax 121 movl %esi,%ecx 122 roll %cl,%edi 123 addl %eax,%edi 124 xorl %edi,%esi 125 movl 88(%ebp),%eax 126 movl %edi,%ecx 127 roll %cl,%esi 128 addl %eax,%esi 129 xorl %esi,%edi 130 movl 92(%ebp),%eax 131 movl %esi,%ecx 132 roll %cl,%edi 133 addl %eax,%edi 134 xorl %edi,%esi 135 movl 96(%ebp),%eax 136 movl %edi,%ecx 137 roll %cl,%esi 138 addl %eax,%esi 139 xorl %esi,%edi 140 movl 100(%ebp),%eax 141 movl %esi,%ecx 142 roll %cl,%edi 143 addl %eax,%edi 144 xorl %edi,%esi 145 movl 104(%ebp),%eax 146 movl %edi,%ecx 147 roll %cl,%esi 148 addl %eax,%esi 149 cmpl $12,%ebx 150 je .L000rc5_exit 151 xorl %esi,%edi 152 movl 108(%ebp),%eax 153 movl %esi,%ecx 154 roll %cl,%edi 155 addl %eax,%edi 156 xorl %edi,%esi 157 movl 112(%ebp),%eax 158 movl %edi,%ecx 159 roll %cl,%esi 160 addl %eax,%esi 161 xorl %esi,%edi 162 movl 116(%ebp),%eax 163 movl %esi,%ecx 164 roll %cl,%edi 165 addl %eax,%edi 166 xorl %edi,%esi 167 movl 120(%ebp),%eax 168 movl %edi,%ecx 169 roll %cl,%esi 170 addl %eax,%esi 171 xorl %esi,%edi 172 movl 124(%ebp),%eax 173 movl %esi,%ecx 174 roll %cl,%edi 175 addl %eax,%edi 176 xorl %edi,%esi 177 movl 128(%ebp),%eax 178 movl %edi,%ecx 179 roll %cl,%esi 180 addl %eax,%esi 181 xorl %esi,%edi 182 movl 132(%ebp),%eax 183 movl %esi,%ecx 184 roll %cl,%edi 185 addl %eax,%edi 186 xorl %edi,%esi 187 movl 136(%ebp),%eax 188 movl %edi,%ecx 189 roll %cl,%esi 190 addl %eax,%esi 191.L000rc5_exit: 192 movl %edi,(%edx) 193 movl %esi,4(%edx) 194 popl %ebx 195 popl %edi 196 popl %esi 197 popl %ebp 198 ret 199.size RC5_32_encrypt,.-.L_RC5_32_encrypt_begin 200.globl RC5_32_decrypt 201.type RC5_32_decrypt,@function 202.align 16 203RC5_32_decrypt: 204.L_RC5_32_decrypt_begin: 205 #ifdef __CET__ 206 207.byte 243,15,30,251 208 #endif 209 210 211 pushl %ebp 212 pushl %esi 213 pushl %edi 214 movl 16(%esp),%edx 215 movl 20(%esp),%ebp 216 217 movl (%edx),%edi 218 movl 4(%edx),%esi 219 pushl %ebx 220 movl (%ebp),%ebx 221 cmpl $12,%ebx 222 je .L001rc5_dec_12 223 cmpl $8,%ebx 224 je .L002rc5_dec_8 225 movl 136(%ebp),%eax 226 subl %eax,%esi 227 movl %edi,%ecx 228 rorl %cl,%esi 229 xorl %edi,%esi 230 movl 132(%ebp),%eax 231 subl %eax,%edi 232 movl %esi,%ecx 233 rorl %cl,%edi 234 xorl %esi,%edi 235 movl 128(%ebp),%eax 236 subl %eax,%esi 237 movl %edi,%ecx 238 rorl %cl,%esi 239 xorl %edi,%esi 240 movl 124(%ebp),%eax 241 subl %eax,%edi 242 movl %esi,%ecx 243 rorl %cl,%edi 244 xorl %esi,%edi 245 movl 120(%ebp),%eax 246 subl %eax,%esi 247 movl %edi,%ecx 248 rorl %cl,%esi 249 xorl %edi,%esi 250 movl 116(%ebp),%eax 251 subl %eax,%edi 252 movl %esi,%ecx 253 rorl %cl,%edi 254 xorl %esi,%edi 255 movl 112(%ebp),%eax 256 subl %eax,%esi 257 movl %edi,%ecx 258 rorl %cl,%esi 259 xorl %edi,%esi 260 movl 108(%ebp),%eax 261 subl %eax,%edi 262 movl %esi,%ecx 263 rorl %cl,%edi 264 xorl %esi,%edi 265.L001rc5_dec_12: 266 movl 104(%ebp),%eax 267 subl %eax,%esi 268 movl %edi,%ecx 269 rorl %cl,%esi 270 xorl %edi,%esi 271 movl 100(%ebp),%eax 272 subl %eax,%edi 273 movl %esi,%ecx 274 rorl %cl,%edi 275 xorl %esi,%edi 276 movl 96(%ebp),%eax 277 subl %eax,%esi 278 movl %edi,%ecx 279 rorl %cl,%esi 280 xorl %edi,%esi 281 movl 92(%ebp),%eax 282 subl %eax,%edi 283 movl %esi,%ecx 284 rorl %cl,%edi 285 xorl %esi,%edi 286 movl 88(%ebp),%eax 287 subl %eax,%esi 288 movl %edi,%ecx 289 rorl %cl,%esi 290 xorl %edi,%esi 291 movl 84(%ebp),%eax 292 subl %eax,%edi 293 movl %esi,%ecx 294 rorl %cl,%edi 295 xorl %esi,%edi 296 movl 80(%ebp),%eax 297 subl %eax,%esi 298 movl %edi,%ecx 299 rorl %cl,%esi 300 xorl %edi,%esi 301 movl 76(%ebp),%eax 302 subl %eax,%edi 303 movl %esi,%ecx 304 rorl %cl,%edi 305 xorl %esi,%edi 306.L002rc5_dec_8: 307 movl 72(%ebp),%eax 308 subl %eax,%esi 309 movl %edi,%ecx 310 rorl %cl,%esi 311 xorl %edi,%esi 312 movl 68(%ebp),%eax 313 subl %eax,%edi 314 movl %esi,%ecx 315 rorl %cl,%edi 316 xorl %esi,%edi 317 movl 64(%ebp),%eax 318 subl %eax,%esi 319 movl %edi,%ecx 320 rorl %cl,%esi 321 xorl %edi,%esi 322 movl 60(%ebp),%eax 323 subl %eax,%edi 324 movl %esi,%ecx 325 rorl %cl,%edi 326 xorl %esi,%edi 327 movl 56(%ebp),%eax 328 subl %eax,%esi 329 movl %edi,%ecx 330 rorl %cl,%esi 331 xorl %edi,%esi 332 movl 52(%ebp),%eax 333 subl %eax,%edi 334 movl %esi,%ecx 335 rorl %cl,%edi 336 xorl %esi,%edi 337 movl 48(%ebp),%eax 338 subl %eax,%esi 339 movl %edi,%ecx 340 rorl %cl,%esi 341 xorl %edi,%esi 342 movl 44(%ebp),%eax 343 subl %eax,%edi 344 movl %esi,%ecx 345 rorl %cl,%edi 346 xorl %esi,%edi 347 movl 40(%ebp),%eax 348 subl %eax,%esi 349 movl %edi,%ecx 350 rorl %cl,%esi 351 xorl %edi,%esi 352 movl 36(%ebp),%eax 353 subl %eax,%edi 354 movl %esi,%ecx 355 rorl %cl,%edi 356 xorl %esi,%edi 357 movl 32(%ebp),%eax 358 subl %eax,%esi 359 movl %edi,%ecx 360 rorl %cl,%esi 361 xorl %edi,%esi 362 movl 28(%ebp),%eax 363 subl %eax,%edi 364 movl %esi,%ecx 365 rorl %cl,%edi 366 xorl %esi,%edi 367 movl 24(%ebp),%eax 368 subl %eax,%esi 369 movl %edi,%ecx 370 rorl %cl,%esi 371 xorl %edi,%esi 372 movl 20(%ebp),%eax 373 subl %eax,%edi 374 movl %esi,%ecx 375 rorl %cl,%edi 376 xorl %esi,%edi 377 movl 16(%ebp),%eax 378 subl %eax,%esi 379 movl %edi,%ecx 380 rorl %cl,%esi 381 xorl %edi,%esi 382 movl 12(%ebp),%eax 383 subl %eax,%edi 384 movl %esi,%ecx 385 rorl %cl,%edi 386 xorl %esi,%edi 387 subl 8(%ebp),%esi 388 subl 4(%ebp),%edi 389.L003rc5_exit: 390 movl %edi,(%edx) 391 movl %esi,4(%edx) 392 popl %ebx 393 popl %edi 394 popl %esi 395 popl %ebp 396 ret 397.size RC5_32_decrypt,.-.L_RC5_32_decrypt_begin 398.globl RC5_32_cbc_encrypt 399.type RC5_32_cbc_encrypt,@function 400.align 16 401RC5_32_cbc_encrypt: 402.L_RC5_32_cbc_encrypt_begin: 403 #ifdef __CET__ 404 405.byte 243,15,30,251 406 #endif 407 408 409 pushl %ebp 410 pushl %ebx 411 pushl %esi 412 pushl %edi 413 movl 28(%esp),%ebp 414 415 movl 36(%esp),%ebx 416 movl (%ebx),%esi 417 movl 4(%ebx),%edi 418 pushl %edi 419 pushl %esi 420 pushl %edi 421 pushl %esi 422 movl %esp,%ebx 423 movl 36(%esp),%esi 424 movl 40(%esp),%edi 425 426 movl 56(%esp),%ecx 427 428 movl 48(%esp),%eax 429 pushl %eax 430 pushl %ebx 431 cmpl $0,%ecx 432 jz .L004decrypt 433 andl $4294967288,%ebp 434 movl 8(%esp),%eax 435 movl 12(%esp),%ebx 436 jz .L005encrypt_finish 437.L006encrypt_loop: 438 movl (%esi),%ecx 439 movl 4(%esi),%edx 440 xorl %ecx,%eax 441 xorl %edx,%ebx 442 movl %eax,8(%esp) 443 movl %ebx,12(%esp) 444 call .L_RC5_32_encrypt_begin 445 movl 8(%esp),%eax 446 movl 12(%esp),%ebx 447 movl %eax,(%edi) 448 movl %ebx,4(%edi) 449 addl $8,%esi 450 addl $8,%edi 451 subl $8,%ebp 452 jnz .L006encrypt_loop 453.L005encrypt_finish: 454 movl 52(%esp),%ebp 455 andl $7,%ebp 456 jz .L007finish 457 call .L008PIC_point 458.L008PIC_point: 459 popl %edx 460 leal .L009cbc_enc_jmp_table-.L008PIC_point(%edx),%ecx 461 movl (%ecx,%ebp,4),%ebp 462 addl %edx,%ebp 463 xorl %ecx,%ecx 464 xorl %edx,%edx 465 jmp *%ebp 466.L010ej7: 467 #ifdef __CET__ 468 469.byte 243,15,30,251 470 #endif 471 472 movb 6(%esi),%dh 473 shll $8,%edx 474.L011ej6: 475 #ifdef __CET__ 476 477.byte 243,15,30,251 478 #endif 479 480 movb 5(%esi),%dh 481.L012ej5: 482 #ifdef __CET__ 483 484.byte 243,15,30,251 485 #endif 486 487 movb 4(%esi),%dl 488.L013ej4: 489 #ifdef __CET__ 490 491.byte 243,15,30,251 492 #endif 493 494 movl (%esi),%ecx 495 jmp .L014ejend 496.L015ej3: 497 #ifdef __CET__ 498 499.byte 243,15,30,251 500 #endif 501 502 movb 2(%esi),%ch 503 shll $8,%ecx 504.L016ej2: 505 #ifdef __CET__ 506 507.byte 243,15,30,251 508 #endif 509 510 movb 1(%esi),%ch 511.L017ej1: 512 #ifdef __CET__ 513 514.byte 243,15,30,251 515 #endif 516 517 movb (%esi),%cl 518.L014ejend: 519 xorl %ecx,%eax 520 xorl %edx,%ebx 521 movl %eax,8(%esp) 522 movl %ebx,12(%esp) 523 call .L_RC5_32_encrypt_begin 524 movl 8(%esp),%eax 525 movl 12(%esp),%ebx 526 movl %eax,(%edi) 527 movl %ebx,4(%edi) 528 jmp .L007finish 529.L004decrypt: 530 andl $4294967288,%ebp 531 movl 16(%esp),%eax 532 movl 20(%esp),%ebx 533 jz .L018decrypt_finish 534.L019decrypt_loop: 535 movl (%esi),%eax 536 movl 4(%esi),%ebx 537 movl %eax,8(%esp) 538 movl %ebx,12(%esp) 539 call .L_RC5_32_decrypt_begin 540 movl 8(%esp),%eax 541 movl 12(%esp),%ebx 542 movl 16(%esp),%ecx 543 movl 20(%esp),%edx 544 xorl %eax,%ecx 545 xorl %ebx,%edx 546 movl (%esi),%eax 547 movl 4(%esi),%ebx 548 movl %ecx,(%edi) 549 movl %edx,4(%edi) 550 movl %eax,16(%esp) 551 movl %ebx,20(%esp) 552 addl $8,%esi 553 addl $8,%edi 554 subl $8,%ebp 555 jnz .L019decrypt_loop 556.L018decrypt_finish: 557 movl 52(%esp),%ebp 558 andl $7,%ebp 559 jz .L007finish 560 movl (%esi),%eax 561 movl 4(%esi),%ebx 562 movl %eax,8(%esp) 563 movl %ebx,12(%esp) 564 call .L_RC5_32_decrypt_begin 565 movl 8(%esp),%eax 566 movl 12(%esp),%ebx 567 movl 16(%esp),%ecx 568 movl 20(%esp),%edx 569 xorl %eax,%ecx 570 xorl %ebx,%edx 571 movl (%esi),%eax 572 movl 4(%esi),%ebx 573.L020dj7: 574 rorl $16,%edx 575 movb %dl,6(%edi) 576 shrl $16,%edx 577.L021dj6: 578 movb %dh,5(%edi) 579.L022dj5: 580 movb %dl,4(%edi) 581.L023dj4: 582 movl %ecx,(%edi) 583 jmp .L024djend 584.L025dj3: 585 rorl $16,%ecx 586 movb %cl,2(%edi) 587 shll $16,%ecx 588.L026dj2: 589 movb %ch,1(%esi) 590.L027dj1: 591 movb %cl,(%esi) 592.L024djend: 593 jmp .L007finish 594.L007finish: 595 movl 60(%esp),%ecx 596 addl $24,%esp 597 movl %eax,(%ecx) 598 movl %ebx,4(%ecx) 599 popl %edi 600 popl %esi 601 popl %ebx 602 popl %ebp 603 ret 604.align 64 605.L009cbc_enc_jmp_table: 606.long 0 607.long .L017ej1-.L008PIC_point 608.long .L016ej2-.L008PIC_point 609.long .L015ej3-.L008PIC_point 610.long .L013ej4-.L008PIC_point 611.long .L012ej5-.L008PIC_point 612.long .L011ej6-.L008PIC_point 613.long .L010ej7-.L008PIC_point 614.align 64 615.size RC5_32_cbc_encrypt,.-.L_RC5_32_cbc_encrypt_begin 616 617 .section ".note.gnu.property", "a" 618 .p2align 2 619 .long 1f - 0f 620 .long 4f - 1f 621 .long 5 6220: 623 .asciz "GNU" 6241: 625 .p2align 2 626 .long 0xc0000002 627 .long 3f - 2f 6282: 629 .long 3 6303: 631 .p2align 2 6324: 633#else 634.text 635.globl RC5_32_encrypt 636.type RC5_32_encrypt,@function 637.align 16 638RC5_32_encrypt: 639.L_RC5_32_encrypt_begin: 640 #ifdef __CET__ 641 642.byte 243,15,30,251 643 #endif 644 645 646 pushl %ebp 647 pushl %esi 648 pushl %edi 649 movl 16(%esp),%edx 650 movl 20(%esp),%ebp 651 652 movl (%edx),%edi 653 movl 4(%edx),%esi 654 pushl %ebx 655 movl (%ebp),%ebx 656 addl 4(%ebp),%edi 657 addl 8(%ebp),%esi 658 xorl %esi,%edi 659 movl 12(%ebp),%eax 660 movl %esi,%ecx 661 roll %cl,%edi 662 addl %eax,%edi 663 xorl %edi,%esi 664 movl 16(%ebp),%eax 665 movl %edi,%ecx 666 roll %cl,%esi 667 addl %eax,%esi 668 xorl %esi,%edi 669 movl 20(%ebp),%eax 670 movl %esi,%ecx 671 roll %cl,%edi 672 addl %eax,%edi 673 xorl %edi,%esi 674 movl 24(%ebp),%eax 675 movl %edi,%ecx 676 roll %cl,%esi 677 addl %eax,%esi 678 xorl %esi,%edi 679 movl 28(%ebp),%eax 680 movl %esi,%ecx 681 roll %cl,%edi 682 addl %eax,%edi 683 xorl %edi,%esi 684 movl 32(%ebp),%eax 685 movl %edi,%ecx 686 roll %cl,%esi 687 addl %eax,%esi 688 xorl %esi,%edi 689 movl 36(%ebp),%eax 690 movl %esi,%ecx 691 roll %cl,%edi 692 addl %eax,%edi 693 xorl %edi,%esi 694 movl 40(%ebp),%eax 695 movl %edi,%ecx 696 roll %cl,%esi 697 addl %eax,%esi 698 xorl %esi,%edi 699 movl 44(%ebp),%eax 700 movl %esi,%ecx 701 roll %cl,%edi 702 addl %eax,%edi 703 xorl %edi,%esi 704 movl 48(%ebp),%eax 705 movl %edi,%ecx 706 roll %cl,%esi 707 addl %eax,%esi 708 xorl %esi,%edi 709 movl 52(%ebp),%eax 710 movl %esi,%ecx 711 roll %cl,%edi 712 addl %eax,%edi 713 xorl %edi,%esi 714 movl 56(%ebp),%eax 715 movl %edi,%ecx 716 roll %cl,%esi 717 addl %eax,%esi 718 xorl %esi,%edi 719 movl 60(%ebp),%eax 720 movl %esi,%ecx 721 roll %cl,%edi 722 addl %eax,%edi 723 xorl %edi,%esi 724 movl 64(%ebp),%eax 725 movl %edi,%ecx 726 roll %cl,%esi 727 addl %eax,%esi 728 xorl %esi,%edi 729 movl 68(%ebp),%eax 730 movl %esi,%ecx 731 roll %cl,%edi 732 addl %eax,%edi 733 xorl %edi,%esi 734 movl 72(%ebp),%eax 735 movl %edi,%ecx 736 roll %cl,%esi 737 addl %eax,%esi 738 cmpl $8,%ebx 739 je .L000rc5_exit 740 xorl %esi,%edi 741 movl 76(%ebp),%eax 742 movl %esi,%ecx 743 roll %cl,%edi 744 addl %eax,%edi 745 xorl %edi,%esi 746 movl 80(%ebp),%eax 747 movl %edi,%ecx 748 roll %cl,%esi 749 addl %eax,%esi 750 xorl %esi,%edi 751 movl 84(%ebp),%eax 752 movl %esi,%ecx 753 roll %cl,%edi 754 addl %eax,%edi 755 xorl %edi,%esi 756 movl 88(%ebp),%eax 757 movl %edi,%ecx 758 roll %cl,%esi 759 addl %eax,%esi 760 xorl %esi,%edi 761 movl 92(%ebp),%eax 762 movl %esi,%ecx 763 roll %cl,%edi 764 addl %eax,%edi 765 xorl %edi,%esi 766 movl 96(%ebp),%eax 767 movl %edi,%ecx 768 roll %cl,%esi 769 addl %eax,%esi 770 xorl %esi,%edi 771 movl 100(%ebp),%eax 772 movl %esi,%ecx 773 roll %cl,%edi 774 addl %eax,%edi 775 xorl %edi,%esi 776 movl 104(%ebp),%eax 777 movl %edi,%ecx 778 roll %cl,%esi 779 addl %eax,%esi 780 cmpl $12,%ebx 781 je .L000rc5_exit 782 xorl %esi,%edi 783 movl 108(%ebp),%eax 784 movl %esi,%ecx 785 roll %cl,%edi 786 addl %eax,%edi 787 xorl %edi,%esi 788 movl 112(%ebp),%eax 789 movl %edi,%ecx 790 roll %cl,%esi 791 addl %eax,%esi 792 xorl %esi,%edi 793 movl 116(%ebp),%eax 794 movl %esi,%ecx 795 roll %cl,%edi 796 addl %eax,%edi 797 xorl %edi,%esi 798 movl 120(%ebp),%eax 799 movl %edi,%ecx 800 roll %cl,%esi 801 addl %eax,%esi 802 xorl %esi,%edi 803 movl 124(%ebp),%eax 804 movl %esi,%ecx 805 roll %cl,%edi 806 addl %eax,%edi 807 xorl %edi,%esi 808 movl 128(%ebp),%eax 809 movl %edi,%ecx 810 roll %cl,%esi 811 addl %eax,%esi 812 xorl %esi,%edi 813 movl 132(%ebp),%eax 814 movl %esi,%ecx 815 roll %cl,%edi 816 addl %eax,%edi 817 xorl %edi,%esi 818 movl 136(%ebp),%eax 819 movl %edi,%ecx 820 roll %cl,%esi 821 addl %eax,%esi 822.L000rc5_exit: 823 movl %edi,(%edx) 824 movl %esi,4(%edx) 825 popl %ebx 826 popl %edi 827 popl %esi 828 popl %ebp 829 ret 830.size RC5_32_encrypt,.-.L_RC5_32_encrypt_begin 831.globl RC5_32_decrypt 832.type RC5_32_decrypt,@function 833.align 16 834RC5_32_decrypt: 835.L_RC5_32_decrypt_begin: 836 #ifdef __CET__ 837 838.byte 243,15,30,251 839 #endif 840 841 842 pushl %ebp 843 pushl %esi 844 pushl %edi 845 movl 16(%esp),%edx 846 movl 20(%esp),%ebp 847 848 movl (%edx),%edi 849 movl 4(%edx),%esi 850 pushl %ebx 851 movl (%ebp),%ebx 852 cmpl $12,%ebx 853 je .L001rc5_dec_12 854 cmpl $8,%ebx 855 je .L002rc5_dec_8 856 movl 136(%ebp),%eax 857 subl %eax,%esi 858 movl %edi,%ecx 859 rorl %cl,%esi 860 xorl %edi,%esi 861 movl 132(%ebp),%eax 862 subl %eax,%edi 863 movl %esi,%ecx 864 rorl %cl,%edi 865 xorl %esi,%edi 866 movl 128(%ebp),%eax 867 subl %eax,%esi 868 movl %edi,%ecx 869 rorl %cl,%esi 870 xorl %edi,%esi 871 movl 124(%ebp),%eax 872 subl %eax,%edi 873 movl %esi,%ecx 874 rorl %cl,%edi 875 xorl %esi,%edi 876 movl 120(%ebp),%eax 877 subl %eax,%esi 878 movl %edi,%ecx 879 rorl %cl,%esi 880 xorl %edi,%esi 881 movl 116(%ebp),%eax 882 subl %eax,%edi 883 movl %esi,%ecx 884 rorl %cl,%edi 885 xorl %esi,%edi 886 movl 112(%ebp),%eax 887 subl %eax,%esi 888 movl %edi,%ecx 889 rorl %cl,%esi 890 xorl %edi,%esi 891 movl 108(%ebp),%eax 892 subl %eax,%edi 893 movl %esi,%ecx 894 rorl %cl,%edi 895 xorl %esi,%edi 896.L001rc5_dec_12: 897 movl 104(%ebp),%eax 898 subl %eax,%esi 899 movl %edi,%ecx 900 rorl %cl,%esi 901 xorl %edi,%esi 902 movl 100(%ebp),%eax 903 subl %eax,%edi 904 movl %esi,%ecx 905 rorl %cl,%edi 906 xorl %esi,%edi 907 movl 96(%ebp),%eax 908 subl %eax,%esi 909 movl %edi,%ecx 910 rorl %cl,%esi 911 xorl %edi,%esi 912 movl 92(%ebp),%eax 913 subl %eax,%edi 914 movl %esi,%ecx 915 rorl %cl,%edi 916 xorl %esi,%edi 917 movl 88(%ebp),%eax 918 subl %eax,%esi 919 movl %edi,%ecx 920 rorl %cl,%esi 921 xorl %edi,%esi 922 movl 84(%ebp),%eax 923 subl %eax,%edi 924 movl %esi,%ecx 925 rorl %cl,%edi 926 xorl %esi,%edi 927 movl 80(%ebp),%eax 928 subl %eax,%esi 929 movl %edi,%ecx 930 rorl %cl,%esi 931 xorl %edi,%esi 932 movl 76(%ebp),%eax 933 subl %eax,%edi 934 movl %esi,%ecx 935 rorl %cl,%edi 936 xorl %esi,%edi 937.L002rc5_dec_8: 938 movl 72(%ebp),%eax 939 subl %eax,%esi 940 movl %edi,%ecx 941 rorl %cl,%esi 942 xorl %edi,%esi 943 movl 68(%ebp),%eax 944 subl %eax,%edi 945 movl %esi,%ecx 946 rorl %cl,%edi 947 xorl %esi,%edi 948 movl 64(%ebp),%eax 949 subl %eax,%esi 950 movl %edi,%ecx 951 rorl %cl,%esi 952 xorl %edi,%esi 953 movl 60(%ebp),%eax 954 subl %eax,%edi 955 movl %esi,%ecx 956 rorl %cl,%edi 957 xorl %esi,%edi 958 movl 56(%ebp),%eax 959 subl %eax,%esi 960 movl %edi,%ecx 961 rorl %cl,%esi 962 xorl %edi,%esi 963 movl 52(%ebp),%eax 964 subl %eax,%edi 965 movl %esi,%ecx 966 rorl %cl,%edi 967 xorl %esi,%edi 968 movl 48(%ebp),%eax 969 subl %eax,%esi 970 movl %edi,%ecx 971 rorl %cl,%esi 972 xorl %edi,%esi 973 movl 44(%ebp),%eax 974 subl %eax,%edi 975 movl %esi,%ecx 976 rorl %cl,%edi 977 xorl %esi,%edi 978 movl 40(%ebp),%eax 979 subl %eax,%esi 980 movl %edi,%ecx 981 rorl %cl,%esi 982 xorl %edi,%esi 983 movl 36(%ebp),%eax 984 subl %eax,%edi 985 movl %esi,%ecx 986 rorl %cl,%edi 987 xorl %esi,%edi 988 movl 32(%ebp),%eax 989 subl %eax,%esi 990 movl %edi,%ecx 991 rorl %cl,%esi 992 xorl %edi,%esi 993 movl 28(%ebp),%eax 994 subl %eax,%edi 995 movl %esi,%ecx 996 rorl %cl,%edi 997 xorl %esi,%edi 998 movl 24(%ebp),%eax 999 subl %eax,%esi 1000 movl %edi,%ecx 1001 rorl %cl,%esi 1002 xorl %edi,%esi 1003 movl 20(%ebp),%eax 1004 subl %eax,%edi 1005 movl %esi,%ecx 1006 rorl %cl,%edi 1007 xorl %esi,%edi 1008 movl 16(%ebp),%eax 1009 subl %eax,%esi 1010 movl %edi,%ecx 1011 rorl %cl,%esi 1012 xorl %edi,%esi 1013 movl 12(%ebp),%eax 1014 subl %eax,%edi 1015 movl %esi,%ecx 1016 rorl %cl,%edi 1017 xorl %esi,%edi 1018 subl 8(%ebp),%esi 1019 subl 4(%ebp),%edi 1020.L003rc5_exit: 1021 movl %edi,(%edx) 1022 movl %esi,4(%edx) 1023 popl %ebx 1024 popl %edi 1025 popl %esi 1026 popl %ebp 1027 ret 1028.size RC5_32_decrypt,.-.L_RC5_32_decrypt_begin 1029.globl RC5_32_cbc_encrypt 1030.type RC5_32_cbc_encrypt,@function 1031.align 16 1032RC5_32_cbc_encrypt: 1033.L_RC5_32_cbc_encrypt_begin: 1034 #ifdef __CET__ 1035 1036.byte 243,15,30,251 1037 #endif 1038 1039 1040 pushl %ebp 1041 pushl %ebx 1042 pushl %esi 1043 pushl %edi 1044 movl 28(%esp),%ebp 1045 1046 movl 36(%esp),%ebx 1047 movl (%ebx),%esi 1048 movl 4(%ebx),%edi 1049 pushl %edi 1050 pushl %esi 1051 pushl %edi 1052 pushl %esi 1053 movl %esp,%ebx 1054 movl 36(%esp),%esi 1055 movl 40(%esp),%edi 1056 1057 movl 56(%esp),%ecx 1058 1059 movl 48(%esp),%eax 1060 pushl %eax 1061 pushl %ebx 1062 cmpl $0,%ecx 1063 jz .L004decrypt 1064 andl $4294967288,%ebp 1065 movl 8(%esp),%eax 1066 movl 12(%esp),%ebx 1067 jz .L005encrypt_finish 1068.L006encrypt_loop: 1069 movl (%esi),%ecx 1070 movl 4(%esi),%edx 1071 xorl %ecx,%eax 1072 xorl %edx,%ebx 1073 movl %eax,8(%esp) 1074 movl %ebx,12(%esp) 1075 call .L_RC5_32_encrypt_begin 1076 movl 8(%esp),%eax 1077 movl 12(%esp),%ebx 1078 movl %eax,(%edi) 1079 movl %ebx,4(%edi) 1080 addl $8,%esi 1081 addl $8,%edi 1082 subl $8,%ebp 1083 jnz .L006encrypt_loop 1084.L005encrypt_finish: 1085 movl 52(%esp),%ebp 1086 andl $7,%ebp 1087 jz .L007finish 1088 call .L008PIC_point 1089.L008PIC_point: 1090 popl %edx 1091 leal .L009cbc_enc_jmp_table-.L008PIC_point(%edx),%ecx 1092 movl (%ecx,%ebp,4),%ebp 1093 addl %edx,%ebp 1094 xorl %ecx,%ecx 1095 xorl %edx,%edx 1096 jmp *%ebp 1097.L010ej7: 1098 #ifdef __CET__ 1099 1100.byte 243,15,30,251 1101 #endif 1102 1103 movb 6(%esi),%dh 1104 shll $8,%edx 1105.L011ej6: 1106 #ifdef __CET__ 1107 1108.byte 243,15,30,251 1109 #endif 1110 1111 movb 5(%esi),%dh 1112.L012ej5: 1113 #ifdef __CET__ 1114 1115.byte 243,15,30,251 1116 #endif 1117 1118 movb 4(%esi),%dl 1119.L013ej4: 1120 #ifdef __CET__ 1121 1122.byte 243,15,30,251 1123 #endif 1124 1125 movl (%esi),%ecx 1126 jmp .L014ejend 1127.L015ej3: 1128 #ifdef __CET__ 1129 1130.byte 243,15,30,251 1131 #endif 1132 1133 movb 2(%esi),%ch 1134 shll $8,%ecx 1135.L016ej2: 1136 #ifdef __CET__ 1137 1138.byte 243,15,30,251 1139 #endif 1140 1141 movb 1(%esi),%ch 1142.L017ej1: 1143 #ifdef __CET__ 1144 1145.byte 243,15,30,251 1146 #endif 1147 1148 movb (%esi),%cl 1149.L014ejend: 1150 xorl %ecx,%eax 1151 xorl %edx,%ebx 1152 movl %eax,8(%esp) 1153 movl %ebx,12(%esp) 1154 call .L_RC5_32_encrypt_begin 1155 movl 8(%esp),%eax 1156 movl 12(%esp),%ebx 1157 movl %eax,(%edi) 1158 movl %ebx,4(%edi) 1159 jmp .L007finish 1160.L004decrypt: 1161 andl $4294967288,%ebp 1162 movl 16(%esp),%eax 1163 movl 20(%esp),%ebx 1164 jz .L018decrypt_finish 1165.L019decrypt_loop: 1166 movl (%esi),%eax 1167 movl 4(%esi),%ebx 1168 movl %eax,8(%esp) 1169 movl %ebx,12(%esp) 1170 call .L_RC5_32_decrypt_begin 1171 movl 8(%esp),%eax 1172 movl 12(%esp),%ebx 1173 movl 16(%esp),%ecx 1174 movl 20(%esp),%edx 1175 xorl %eax,%ecx 1176 xorl %ebx,%edx 1177 movl (%esi),%eax 1178 movl 4(%esi),%ebx 1179 movl %ecx,(%edi) 1180 movl %edx,4(%edi) 1181 movl %eax,16(%esp) 1182 movl %ebx,20(%esp) 1183 addl $8,%esi 1184 addl $8,%edi 1185 subl $8,%ebp 1186 jnz .L019decrypt_loop 1187.L018decrypt_finish: 1188 movl 52(%esp),%ebp 1189 andl $7,%ebp 1190 jz .L007finish 1191 movl (%esi),%eax 1192 movl 4(%esi),%ebx 1193 movl %eax,8(%esp) 1194 movl %ebx,12(%esp) 1195 call .L_RC5_32_decrypt_begin 1196 movl 8(%esp),%eax 1197 movl 12(%esp),%ebx 1198 movl 16(%esp),%ecx 1199 movl 20(%esp),%edx 1200 xorl %eax,%ecx 1201 xorl %ebx,%edx 1202 movl (%esi),%eax 1203 movl 4(%esi),%ebx 1204.L020dj7: 1205 rorl $16,%edx 1206 movb %dl,6(%edi) 1207 shrl $16,%edx 1208.L021dj6: 1209 movb %dh,5(%edi) 1210.L022dj5: 1211 movb %dl,4(%edi) 1212.L023dj4: 1213 movl %ecx,(%edi) 1214 jmp .L024djend 1215.L025dj3: 1216 rorl $16,%ecx 1217 movb %cl,2(%edi) 1218 shll $16,%ecx 1219.L026dj2: 1220 movb %ch,1(%esi) 1221.L027dj1: 1222 movb %cl,(%esi) 1223.L024djend: 1224 jmp .L007finish 1225.L007finish: 1226 movl 60(%esp),%ecx 1227 addl $24,%esp 1228 movl %eax,(%ecx) 1229 movl %ebx,4(%ecx) 1230 popl %edi 1231 popl %esi 1232 popl %ebx 1233 popl %ebp 1234 ret 1235.align 64 1236.L009cbc_enc_jmp_table: 1237.long 0 1238.long .L017ej1-.L008PIC_point 1239.long .L016ej2-.L008PIC_point 1240.long .L015ej3-.L008PIC_point 1241.long .L013ej4-.L008PIC_point 1242.long .L012ej5-.L008PIC_point 1243.long .L011ej6-.L008PIC_point 1244.long .L010ej7-.L008PIC_point 1245.align 64 1246.size RC5_32_cbc_encrypt,.-.L_RC5_32_cbc_encrypt_begin 1247 1248 .section ".note.gnu.property", "a" 1249 .p2align 2 1250 .long 1f - 0f 1251 .long 4f - 1f 1252 .long 5 12530: 1254 .asciz "GNU" 12551: 1256 .p2align 2 1257 .long 0xc0000002 1258 .long 3f - 2f 12592: 1260 .long 3 12613: 1262 .p2align 2 12634: 1264#endif 1265