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