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