1/* Do not modify. This file is auto-generated from bf-586.pl. */ 2#ifdef PIC 3.text 4.globl BF_encrypt 5.type BF_encrypt,@function 6.align 16 7BF_encrypt: 8.L_BF_encrypt_begin: 9 10 pushl %ebp 11 pushl %ebx 12 movl 12(%esp),%ebx 13 movl 16(%esp),%ebp 14 pushl %esi 15 pushl %edi 16 17 movl (%ebx),%edi 18 movl 4(%ebx),%esi 19 xorl %eax,%eax 20 movl (%ebp),%ebx 21 xorl %ecx,%ecx 22 xorl %ebx,%edi 23 24 25 movl 4(%ebp),%edx 26 movl %edi,%ebx 27 xorl %edx,%esi 28 shrl $16,%ebx 29 movl %edi,%edx 30 movb %bh,%al 31 andl $255,%ebx 32 movb %dh,%cl 33 andl $255,%edx 34 movl 72(%ebp,%eax,4),%eax 35 movl 1096(%ebp,%ebx,4),%ebx 36 addl %eax,%ebx 37 movl 2120(%ebp,%ecx,4),%eax 38 xorl %eax,%ebx 39 movl 3144(%ebp,%edx,4),%edx 40 addl %edx,%ebx 41 xorl %eax,%eax 42 xorl %ebx,%esi 43 44 45 movl 8(%ebp),%edx 46 movl %esi,%ebx 47 xorl %edx,%edi 48 shrl $16,%ebx 49 movl %esi,%edx 50 movb %bh,%al 51 andl $255,%ebx 52 movb %dh,%cl 53 andl $255,%edx 54 movl 72(%ebp,%eax,4),%eax 55 movl 1096(%ebp,%ebx,4),%ebx 56 addl %eax,%ebx 57 movl 2120(%ebp,%ecx,4),%eax 58 xorl %eax,%ebx 59 movl 3144(%ebp,%edx,4),%edx 60 addl %edx,%ebx 61 xorl %eax,%eax 62 xorl %ebx,%edi 63 64 65 movl 12(%ebp),%edx 66 movl %edi,%ebx 67 xorl %edx,%esi 68 shrl $16,%ebx 69 movl %edi,%edx 70 movb %bh,%al 71 andl $255,%ebx 72 movb %dh,%cl 73 andl $255,%edx 74 movl 72(%ebp,%eax,4),%eax 75 movl 1096(%ebp,%ebx,4),%ebx 76 addl %eax,%ebx 77 movl 2120(%ebp,%ecx,4),%eax 78 xorl %eax,%ebx 79 movl 3144(%ebp,%edx,4),%edx 80 addl %edx,%ebx 81 xorl %eax,%eax 82 xorl %ebx,%esi 83 84 85 movl 16(%ebp),%edx 86 movl %esi,%ebx 87 xorl %edx,%edi 88 shrl $16,%ebx 89 movl %esi,%edx 90 movb %bh,%al 91 andl $255,%ebx 92 movb %dh,%cl 93 andl $255,%edx 94 movl 72(%ebp,%eax,4),%eax 95 movl 1096(%ebp,%ebx,4),%ebx 96 addl %eax,%ebx 97 movl 2120(%ebp,%ecx,4),%eax 98 xorl %eax,%ebx 99 movl 3144(%ebp,%edx,4),%edx 100 addl %edx,%ebx 101 xorl %eax,%eax 102 xorl %ebx,%edi 103 104 105 movl 20(%ebp),%edx 106 movl %edi,%ebx 107 xorl %edx,%esi 108 shrl $16,%ebx 109 movl %edi,%edx 110 movb %bh,%al 111 andl $255,%ebx 112 movb %dh,%cl 113 andl $255,%edx 114 movl 72(%ebp,%eax,4),%eax 115 movl 1096(%ebp,%ebx,4),%ebx 116 addl %eax,%ebx 117 movl 2120(%ebp,%ecx,4),%eax 118 xorl %eax,%ebx 119 movl 3144(%ebp,%edx,4),%edx 120 addl %edx,%ebx 121 xorl %eax,%eax 122 xorl %ebx,%esi 123 124 125 movl 24(%ebp),%edx 126 movl %esi,%ebx 127 xorl %edx,%edi 128 shrl $16,%ebx 129 movl %esi,%edx 130 movb %bh,%al 131 andl $255,%ebx 132 movb %dh,%cl 133 andl $255,%edx 134 movl 72(%ebp,%eax,4),%eax 135 movl 1096(%ebp,%ebx,4),%ebx 136 addl %eax,%ebx 137 movl 2120(%ebp,%ecx,4),%eax 138 xorl %eax,%ebx 139 movl 3144(%ebp,%edx,4),%edx 140 addl %edx,%ebx 141 xorl %eax,%eax 142 xorl %ebx,%edi 143 144 145 movl 28(%ebp),%edx 146 movl %edi,%ebx 147 xorl %edx,%esi 148 shrl $16,%ebx 149 movl %edi,%edx 150 movb %bh,%al 151 andl $255,%ebx 152 movb %dh,%cl 153 andl $255,%edx 154 movl 72(%ebp,%eax,4),%eax 155 movl 1096(%ebp,%ebx,4),%ebx 156 addl %eax,%ebx 157 movl 2120(%ebp,%ecx,4),%eax 158 xorl %eax,%ebx 159 movl 3144(%ebp,%edx,4),%edx 160 addl %edx,%ebx 161 xorl %eax,%eax 162 xorl %ebx,%esi 163 164 165 movl 32(%ebp),%edx 166 movl %esi,%ebx 167 xorl %edx,%edi 168 shrl $16,%ebx 169 movl %esi,%edx 170 movb %bh,%al 171 andl $255,%ebx 172 movb %dh,%cl 173 andl $255,%edx 174 movl 72(%ebp,%eax,4),%eax 175 movl 1096(%ebp,%ebx,4),%ebx 176 addl %eax,%ebx 177 movl 2120(%ebp,%ecx,4),%eax 178 xorl %eax,%ebx 179 movl 3144(%ebp,%edx,4),%edx 180 addl %edx,%ebx 181 xorl %eax,%eax 182 xorl %ebx,%edi 183 184 185 movl 36(%ebp),%edx 186 movl %edi,%ebx 187 xorl %edx,%esi 188 shrl $16,%ebx 189 movl %edi,%edx 190 movb %bh,%al 191 andl $255,%ebx 192 movb %dh,%cl 193 andl $255,%edx 194 movl 72(%ebp,%eax,4),%eax 195 movl 1096(%ebp,%ebx,4),%ebx 196 addl %eax,%ebx 197 movl 2120(%ebp,%ecx,4),%eax 198 xorl %eax,%ebx 199 movl 3144(%ebp,%edx,4),%edx 200 addl %edx,%ebx 201 xorl %eax,%eax 202 xorl %ebx,%esi 203 204 205 movl 40(%ebp),%edx 206 movl %esi,%ebx 207 xorl %edx,%edi 208 shrl $16,%ebx 209 movl %esi,%edx 210 movb %bh,%al 211 andl $255,%ebx 212 movb %dh,%cl 213 andl $255,%edx 214 movl 72(%ebp,%eax,4),%eax 215 movl 1096(%ebp,%ebx,4),%ebx 216 addl %eax,%ebx 217 movl 2120(%ebp,%ecx,4),%eax 218 xorl %eax,%ebx 219 movl 3144(%ebp,%edx,4),%edx 220 addl %edx,%ebx 221 xorl %eax,%eax 222 xorl %ebx,%edi 223 224 225 movl 44(%ebp),%edx 226 movl %edi,%ebx 227 xorl %edx,%esi 228 shrl $16,%ebx 229 movl %edi,%edx 230 movb %bh,%al 231 andl $255,%ebx 232 movb %dh,%cl 233 andl $255,%edx 234 movl 72(%ebp,%eax,4),%eax 235 movl 1096(%ebp,%ebx,4),%ebx 236 addl %eax,%ebx 237 movl 2120(%ebp,%ecx,4),%eax 238 xorl %eax,%ebx 239 movl 3144(%ebp,%edx,4),%edx 240 addl %edx,%ebx 241 xorl %eax,%eax 242 xorl %ebx,%esi 243 244 245 movl 48(%ebp),%edx 246 movl %esi,%ebx 247 xorl %edx,%edi 248 shrl $16,%ebx 249 movl %esi,%edx 250 movb %bh,%al 251 andl $255,%ebx 252 movb %dh,%cl 253 andl $255,%edx 254 movl 72(%ebp,%eax,4),%eax 255 movl 1096(%ebp,%ebx,4),%ebx 256 addl %eax,%ebx 257 movl 2120(%ebp,%ecx,4),%eax 258 xorl %eax,%ebx 259 movl 3144(%ebp,%edx,4),%edx 260 addl %edx,%ebx 261 xorl %eax,%eax 262 xorl %ebx,%edi 263 264 265 movl 52(%ebp),%edx 266 movl %edi,%ebx 267 xorl %edx,%esi 268 shrl $16,%ebx 269 movl %edi,%edx 270 movb %bh,%al 271 andl $255,%ebx 272 movb %dh,%cl 273 andl $255,%edx 274 movl 72(%ebp,%eax,4),%eax 275 movl 1096(%ebp,%ebx,4),%ebx 276 addl %eax,%ebx 277 movl 2120(%ebp,%ecx,4),%eax 278 xorl %eax,%ebx 279 movl 3144(%ebp,%edx,4),%edx 280 addl %edx,%ebx 281 xorl %eax,%eax 282 xorl %ebx,%esi 283 284 285 movl 56(%ebp),%edx 286 movl %esi,%ebx 287 xorl %edx,%edi 288 shrl $16,%ebx 289 movl %esi,%edx 290 movb %bh,%al 291 andl $255,%ebx 292 movb %dh,%cl 293 andl $255,%edx 294 movl 72(%ebp,%eax,4),%eax 295 movl 1096(%ebp,%ebx,4),%ebx 296 addl %eax,%ebx 297 movl 2120(%ebp,%ecx,4),%eax 298 xorl %eax,%ebx 299 movl 3144(%ebp,%edx,4),%edx 300 addl %edx,%ebx 301 xorl %eax,%eax 302 xorl %ebx,%edi 303 304 305 movl 60(%ebp),%edx 306 movl %edi,%ebx 307 xorl %edx,%esi 308 shrl $16,%ebx 309 movl %edi,%edx 310 movb %bh,%al 311 andl $255,%ebx 312 movb %dh,%cl 313 andl $255,%edx 314 movl 72(%ebp,%eax,4),%eax 315 movl 1096(%ebp,%ebx,4),%ebx 316 addl %eax,%ebx 317 movl 2120(%ebp,%ecx,4),%eax 318 xorl %eax,%ebx 319 movl 3144(%ebp,%edx,4),%edx 320 addl %edx,%ebx 321 xorl %eax,%eax 322 xorl %ebx,%esi 323 324 325 movl 64(%ebp),%edx 326 movl %esi,%ebx 327 xorl %edx,%edi 328 shrl $16,%ebx 329 movl %esi,%edx 330 movb %bh,%al 331 andl $255,%ebx 332 movb %dh,%cl 333 andl $255,%edx 334 movl 72(%ebp,%eax,4),%eax 335 movl 1096(%ebp,%ebx,4),%ebx 336 addl %eax,%ebx 337 movl 2120(%ebp,%ecx,4),%eax 338 xorl %eax,%ebx 339 movl 3144(%ebp,%edx,4),%edx 340 addl %edx,%ebx 341 342 movl 20(%esp),%eax 343 xorl %ebx,%edi 344 movl 68(%ebp),%edx 345 xorl %edx,%esi 346 movl %edi,4(%eax) 347 movl %esi,(%eax) 348 popl %edi 349 popl %esi 350 popl %ebx 351 popl %ebp 352 ret 353.size BF_encrypt,.-.L_BF_encrypt_begin 354.globl BF_decrypt 355.type BF_decrypt,@function 356.align 16 357BF_decrypt: 358.L_BF_decrypt_begin: 359 360 pushl %ebp 361 pushl %ebx 362 movl 12(%esp),%ebx 363 movl 16(%esp),%ebp 364 pushl %esi 365 pushl %edi 366 367 movl (%ebx),%edi 368 movl 4(%ebx),%esi 369 xorl %eax,%eax 370 movl 68(%ebp),%ebx 371 xorl %ecx,%ecx 372 xorl %ebx,%edi 373 374 375 movl 64(%ebp),%edx 376 movl %edi,%ebx 377 xorl %edx,%esi 378 shrl $16,%ebx 379 movl %edi,%edx 380 movb %bh,%al 381 andl $255,%ebx 382 movb %dh,%cl 383 andl $255,%edx 384 movl 72(%ebp,%eax,4),%eax 385 movl 1096(%ebp,%ebx,4),%ebx 386 addl %eax,%ebx 387 movl 2120(%ebp,%ecx,4),%eax 388 xorl %eax,%ebx 389 movl 3144(%ebp,%edx,4),%edx 390 addl %edx,%ebx 391 xorl %eax,%eax 392 xorl %ebx,%esi 393 394 395 movl 60(%ebp),%edx 396 movl %esi,%ebx 397 xorl %edx,%edi 398 shrl $16,%ebx 399 movl %esi,%edx 400 movb %bh,%al 401 andl $255,%ebx 402 movb %dh,%cl 403 andl $255,%edx 404 movl 72(%ebp,%eax,4),%eax 405 movl 1096(%ebp,%ebx,4),%ebx 406 addl %eax,%ebx 407 movl 2120(%ebp,%ecx,4),%eax 408 xorl %eax,%ebx 409 movl 3144(%ebp,%edx,4),%edx 410 addl %edx,%ebx 411 xorl %eax,%eax 412 xorl %ebx,%edi 413 414 415 movl 56(%ebp),%edx 416 movl %edi,%ebx 417 xorl %edx,%esi 418 shrl $16,%ebx 419 movl %edi,%edx 420 movb %bh,%al 421 andl $255,%ebx 422 movb %dh,%cl 423 andl $255,%edx 424 movl 72(%ebp,%eax,4),%eax 425 movl 1096(%ebp,%ebx,4),%ebx 426 addl %eax,%ebx 427 movl 2120(%ebp,%ecx,4),%eax 428 xorl %eax,%ebx 429 movl 3144(%ebp,%edx,4),%edx 430 addl %edx,%ebx 431 xorl %eax,%eax 432 xorl %ebx,%esi 433 434 435 movl 52(%ebp),%edx 436 movl %esi,%ebx 437 xorl %edx,%edi 438 shrl $16,%ebx 439 movl %esi,%edx 440 movb %bh,%al 441 andl $255,%ebx 442 movb %dh,%cl 443 andl $255,%edx 444 movl 72(%ebp,%eax,4),%eax 445 movl 1096(%ebp,%ebx,4),%ebx 446 addl %eax,%ebx 447 movl 2120(%ebp,%ecx,4),%eax 448 xorl %eax,%ebx 449 movl 3144(%ebp,%edx,4),%edx 450 addl %edx,%ebx 451 xorl %eax,%eax 452 xorl %ebx,%edi 453 454 455 movl 48(%ebp),%edx 456 movl %edi,%ebx 457 xorl %edx,%esi 458 shrl $16,%ebx 459 movl %edi,%edx 460 movb %bh,%al 461 andl $255,%ebx 462 movb %dh,%cl 463 andl $255,%edx 464 movl 72(%ebp,%eax,4),%eax 465 movl 1096(%ebp,%ebx,4),%ebx 466 addl %eax,%ebx 467 movl 2120(%ebp,%ecx,4),%eax 468 xorl %eax,%ebx 469 movl 3144(%ebp,%edx,4),%edx 470 addl %edx,%ebx 471 xorl %eax,%eax 472 xorl %ebx,%esi 473 474 475 movl 44(%ebp),%edx 476 movl %esi,%ebx 477 xorl %edx,%edi 478 shrl $16,%ebx 479 movl %esi,%edx 480 movb %bh,%al 481 andl $255,%ebx 482 movb %dh,%cl 483 andl $255,%edx 484 movl 72(%ebp,%eax,4),%eax 485 movl 1096(%ebp,%ebx,4),%ebx 486 addl %eax,%ebx 487 movl 2120(%ebp,%ecx,4),%eax 488 xorl %eax,%ebx 489 movl 3144(%ebp,%edx,4),%edx 490 addl %edx,%ebx 491 xorl %eax,%eax 492 xorl %ebx,%edi 493 494 495 movl 40(%ebp),%edx 496 movl %edi,%ebx 497 xorl %edx,%esi 498 shrl $16,%ebx 499 movl %edi,%edx 500 movb %bh,%al 501 andl $255,%ebx 502 movb %dh,%cl 503 andl $255,%edx 504 movl 72(%ebp,%eax,4),%eax 505 movl 1096(%ebp,%ebx,4),%ebx 506 addl %eax,%ebx 507 movl 2120(%ebp,%ecx,4),%eax 508 xorl %eax,%ebx 509 movl 3144(%ebp,%edx,4),%edx 510 addl %edx,%ebx 511 xorl %eax,%eax 512 xorl %ebx,%esi 513 514 515 movl 36(%ebp),%edx 516 movl %esi,%ebx 517 xorl %edx,%edi 518 shrl $16,%ebx 519 movl %esi,%edx 520 movb %bh,%al 521 andl $255,%ebx 522 movb %dh,%cl 523 andl $255,%edx 524 movl 72(%ebp,%eax,4),%eax 525 movl 1096(%ebp,%ebx,4),%ebx 526 addl %eax,%ebx 527 movl 2120(%ebp,%ecx,4),%eax 528 xorl %eax,%ebx 529 movl 3144(%ebp,%edx,4),%edx 530 addl %edx,%ebx 531 xorl %eax,%eax 532 xorl %ebx,%edi 533 534 535 movl 32(%ebp),%edx 536 movl %edi,%ebx 537 xorl %edx,%esi 538 shrl $16,%ebx 539 movl %edi,%edx 540 movb %bh,%al 541 andl $255,%ebx 542 movb %dh,%cl 543 andl $255,%edx 544 movl 72(%ebp,%eax,4),%eax 545 movl 1096(%ebp,%ebx,4),%ebx 546 addl %eax,%ebx 547 movl 2120(%ebp,%ecx,4),%eax 548 xorl %eax,%ebx 549 movl 3144(%ebp,%edx,4),%edx 550 addl %edx,%ebx 551 xorl %eax,%eax 552 xorl %ebx,%esi 553 554 555 movl 28(%ebp),%edx 556 movl %esi,%ebx 557 xorl %edx,%edi 558 shrl $16,%ebx 559 movl %esi,%edx 560 movb %bh,%al 561 andl $255,%ebx 562 movb %dh,%cl 563 andl $255,%edx 564 movl 72(%ebp,%eax,4),%eax 565 movl 1096(%ebp,%ebx,4),%ebx 566 addl %eax,%ebx 567 movl 2120(%ebp,%ecx,4),%eax 568 xorl %eax,%ebx 569 movl 3144(%ebp,%edx,4),%edx 570 addl %edx,%ebx 571 xorl %eax,%eax 572 xorl %ebx,%edi 573 574 575 movl 24(%ebp),%edx 576 movl %edi,%ebx 577 xorl %edx,%esi 578 shrl $16,%ebx 579 movl %edi,%edx 580 movb %bh,%al 581 andl $255,%ebx 582 movb %dh,%cl 583 andl $255,%edx 584 movl 72(%ebp,%eax,4),%eax 585 movl 1096(%ebp,%ebx,4),%ebx 586 addl %eax,%ebx 587 movl 2120(%ebp,%ecx,4),%eax 588 xorl %eax,%ebx 589 movl 3144(%ebp,%edx,4),%edx 590 addl %edx,%ebx 591 xorl %eax,%eax 592 xorl %ebx,%esi 593 594 595 movl 20(%ebp),%edx 596 movl %esi,%ebx 597 xorl %edx,%edi 598 shrl $16,%ebx 599 movl %esi,%edx 600 movb %bh,%al 601 andl $255,%ebx 602 movb %dh,%cl 603 andl $255,%edx 604 movl 72(%ebp,%eax,4),%eax 605 movl 1096(%ebp,%ebx,4),%ebx 606 addl %eax,%ebx 607 movl 2120(%ebp,%ecx,4),%eax 608 xorl %eax,%ebx 609 movl 3144(%ebp,%edx,4),%edx 610 addl %edx,%ebx 611 xorl %eax,%eax 612 xorl %ebx,%edi 613 614 615 movl 16(%ebp),%edx 616 movl %edi,%ebx 617 xorl %edx,%esi 618 shrl $16,%ebx 619 movl %edi,%edx 620 movb %bh,%al 621 andl $255,%ebx 622 movb %dh,%cl 623 andl $255,%edx 624 movl 72(%ebp,%eax,4),%eax 625 movl 1096(%ebp,%ebx,4),%ebx 626 addl %eax,%ebx 627 movl 2120(%ebp,%ecx,4),%eax 628 xorl %eax,%ebx 629 movl 3144(%ebp,%edx,4),%edx 630 addl %edx,%ebx 631 xorl %eax,%eax 632 xorl %ebx,%esi 633 634 635 movl 12(%ebp),%edx 636 movl %esi,%ebx 637 xorl %edx,%edi 638 shrl $16,%ebx 639 movl %esi,%edx 640 movb %bh,%al 641 andl $255,%ebx 642 movb %dh,%cl 643 andl $255,%edx 644 movl 72(%ebp,%eax,4),%eax 645 movl 1096(%ebp,%ebx,4),%ebx 646 addl %eax,%ebx 647 movl 2120(%ebp,%ecx,4),%eax 648 xorl %eax,%ebx 649 movl 3144(%ebp,%edx,4),%edx 650 addl %edx,%ebx 651 xorl %eax,%eax 652 xorl %ebx,%edi 653 654 655 movl 8(%ebp),%edx 656 movl %edi,%ebx 657 xorl %edx,%esi 658 shrl $16,%ebx 659 movl %edi,%edx 660 movb %bh,%al 661 andl $255,%ebx 662 movb %dh,%cl 663 andl $255,%edx 664 movl 72(%ebp,%eax,4),%eax 665 movl 1096(%ebp,%ebx,4),%ebx 666 addl %eax,%ebx 667 movl 2120(%ebp,%ecx,4),%eax 668 xorl %eax,%ebx 669 movl 3144(%ebp,%edx,4),%edx 670 addl %edx,%ebx 671 xorl %eax,%eax 672 xorl %ebx,%esi 673 674 675 movl 4(%ebp),%edx 676 movl %esi,%ebx 677 xorl %edx,%edi 678 shrl $16,%ebx 679 movl %esi,%edx 680 movb %bh,%al 681 andl $255,%ebx 682 movb %dh,%cl 683 andl $255,%edx 684 movl 72(%ebp,%eax,4),%eax 685 movl 1096(%ebp,%ebx,4),%ebx 686 addl %eax,%ebx 687 movl 2120(%ebp,%ecx,4),%eax 688 xorl %eax,%ebx 689 movl 3144(%ebp,%edx,4),%edx 690 addl %edx,%ebx 691 692 movl 20(%esp),%eax 693 xorl %ebx,%edi 694 movl (%ebp),%edx 695 xorl %edx,%esi 696 movl %edi,4(%eax) 697 movl %esi,(%eax) 698 popl %edi 699 popl %esi 700 popl %ebx 701 popl %ebp 702 ret 703.size BF_decrypt,.-.L_BF_decrypt_begin 704.globl BF_cbc_encrypt 705.type BF_cbc_encrypt,@function 706.align 16 707BF_cbc_encrypt: 708.L_BF_cbc_encrypt_begin: 709 710 pushl %ebp 711 pushl %ebx 712 pushl %esi 713 pushl %edi 714 movl 28(%esp),%ebp 715 716 movl 36(%esp),%ebx 717 movl (%ebx),%esi 718 movl 4(%ebx),%edi 719 pushl %edi 720 pushl %esi 721 pushl %edi 722 pushl %esi 723 movl %esp,%ebx 724 movl 36(%esp),%esi 725 movl 40(%esp),%edi 726 727 movl 56(%esp),%ecx 728 729 movl 48(%esp),%eax 730 pushl %eax 731 pushl %ebx 732 cmpl $0,%ecx 733 jz .L000decrypt 734 andl $4294967288,%ebp 735 movl 8(%esp),%eax 736 movl 12(%esp),%ebx 737 jz .L001encrypt_finish 738.L002encrypt_loop: 739 movl (%esi),%ecx 740 movl 4(%esi),%edx 741 xorl %ecx,%eax 742 xorl %edx,%ebx 743 bswap %eax 744 bswap %ebx 745 movl %eax,8(%esp) 746 movl %ebx,12(%esp) 747 call .L_BF_encrypt_begin 748 movl 8(%esp),%eax 749 movl 12(%esp),%ebx 750 bswap %eax 751 bswap %ebx 752 movl %eax,(%edi) 753 movl %ebx,4(%edi) 754 addl $8,%esi 755 addl $8,%edi 756 subl $8,%ebp 757 jnz .L002encrypt_loop 758.L001encrypt_finish: 759 movl 52(%esp),%ebp 760 andl $7,%ebp 761 jz .L003finish 762 call .L004PIC_point 763.L004PIC_point: 764 popl %edx 765 leal .L005cbc_enc_jmp_table-.L004PIC_point(%edx),%ecx 766 movl (%ecx,%ebp,4),%ebp 767 addl %edx,%ebp 768 xorl %ecx,%ecx 769 xorl %edx,%edx 770 jmp *%ebp 771.L006ej7: 772 movb 6(%esi),%dh 773 shll $8,%edx 774.L007ej6: 775 movb 5(%esi),%dh 776.L008ej5: 777 movb 4(%esi),%dl 778.L009ej4: 779 movl (%esi),%ecx 780 jmp .L010ejend 781.L011ej3: 782 movb 2(%esi),%ch 783 shll $8,%ecx 784.L012ej2: 785 movb 1(%esi),%ch 786.L013ej1: 787 movb (%esi),%cl 788.L010ejend: 789 xorl %ecx,%eax 790 xorl %edx,%ebx 791 bswap %eax 792 bswap %ebx 793 movl %eax,8(%esp) 794 movl %ebx,12(%esp) 795 call .L_BF_encrypt_begin 796 movl 8(%esp),%eax 797 movl 12(%esp),%ebx 798 bswap %eax 799 bswap %ebx 800 movl %eax,(%edi) 801 movl %ebx,4(%edi) 802 jmp .L003finish 803.L000decrypt: 804 andl $4294967288,%ebp 805 movl 16(%esp),%eax 806 movl 20(%esp),%ebx 807 jz .L014decrypt_finish 808.L015decrypt_loop: 809 movl (%esi),%eax 810 movl 4(%esi),%ebx 811 bswap %eax 812 bswap %ebx 813 movl %eax,8(%esp) 814 movl %ebx,12(%esp) 815 call .L_BF_decrypt_begin 816 movl 8(%esp),%eax 817 movl 12(%esp),%ebx 818 bswap %eax 819 bswap %ebx 820 movl 16(%esp),%ecx 821 movl 20(%esp),%edx 822 xorl %eax,%ecx 823 xorl %ebx,%edx 824 movl (%esi),%eax 825 movl 4(%esi),%ebx 826 movl %ecx,(%edi) 827 movl %edx,4(%edi) 828 movl %eax,16(%esp) 829 movl %ebx,20(%esp) 830 addl $8,%esi 831 addl $8,%edi 832 subl $8,%ebp 833 jnz .L015decrypt_loop 834.L014decrypt_finish: 835 movl 52(%esp),%ebp 836 andl $7,%ebp 837 jz .L003finish 838 movl (%esi),%eax 839 movl 4(%esi),%ebx 840 bswap %eax 841 bswap %ebx 842 movl %eax,8(%esp) 843 movl %ebx,12(%esp) 844 call .L_BF_decrypt_begin 845 movl 8(%esp),%eax 846 movl 12(%esp),%ebx 847 bswap %eax 848 bswap %ebx 849 movl 16(%esp),%ecx 850 movl 20(%esp),%edx 851 xorl %eax,%ecx 852 xorl %ebx,%edx 853 movl (%esi),%eax 854 movl 4(%esi),%ebx 855.L016dj7: 856 rorl $16,%edx 857 movb %dl,6(%edi) 858 shrl $16,%edx 859.L017dj6: 860 movb %dh,5(%edi) 861.L018dj5: 862 movb %dl,4(%edi) 863.L019dj4: 864 movl %ecx,(%edi) 865 jmp .L020djend 866.L021dj3: 867 rorl $16,%ecx 868 movb %cl,2(%edi) 869 shll $16,%ecx 870.L022dj2: 871 movb %ch,1(%esi) 872.L023dj1: 873 movb %cl,(%esi) 874.L020djend: 875 jmp .L003finish 876.L003finish: 877 movl 60(%esp),%ecx 878 addl $24,%esp 879 movl %eax,(%ecx) 880 movl %ebx,4(%ecx) 881 popl %edi 882 popl %esi 883 popl %ebx 884 popl %ebp 885 ret 886.align 64 887.L005cbc_enc_jmp_table: 888.long 0 889.long .L013ej1-.L004PIC_point 890.long .L012ej2-.L004PIC_point 891.long .L011ej3-.L004PIC_point 892.long .L009ej4-.L004PIC_point 893.long .L008ej5-.L004PIC_point 894.long .L007ej6-.L004PIC_point 895.long .L006ej7-.L004PIC_point 896.align 64 897.size BF_cbc_encrypt,.-.L_BF_cbc_encrypt_begin 898#else 899.text 900.globl BF_encrypt 901.type BF_encrypt,@function 902.align 16 903BF_encrypt: 904.L_BF_encrypt_begin: 905 906 pushl %ebp 907 pushl %ebx 908 movl 12(%esp),%ebx 909 movl 16(%esp),%ebp 910 pushl %esi 911 pushl %edi 912 913 movl (%ebx),%edi 914 movl 4(%ebx),%esi 915 xorl %eax,%eax 916 movl (%ebp),%ebx 917 xorl %ecx,%ecx 918 xorl %ebx,%edi 919 920 921 movl 4(%ebp),%edx 922 movl %edi,%ebx 923 xorl %edx,%esi 924 shrl $16,%ebx 925 movl %edi,%edx 926 movb %bh,%al 927 andl $255,%ebx 928 movb %dh,%cl 929 andl $255,%edx 930 movl 72(%ebp,%eax,4),%eax 931 movl 1096(%ebp,%ebx,4),%ebx 932 addl %eax,%ebx 933 movl 2120(%ebp,%ecx,4),%eax 934 xorl %eax,%ebx 935 movl 3144(%ebp,%edx,4),%edx 936 addl %edx,%ebx 937 xorl %eax,%eax 938 xorl %ebx,%esi 939 940 941 movl 8(%ebp),%edx 942 movl %esi,%ebx 943 xorl %edx,%edi 944 shrl $16,%ebx 945 movl %esi,%edx 946 movb %bh,%al 947 andl $255,%ebx 948 movb %dh,%cl 949 andl $255,%edx 950 movl 72(%ebp,%eax,4),%eax 951 movl 1096(%ebp,%ebx,4),%ebx 952 addl %eax,%ebx 953 movl 2120(%ebp,%ecx,4),%eax 954 xorl %eax,%ebx 955 movl 3144(%ebp,%edx,4),%edx 956 addl %edx,%ebx 957 xorl %eax,%eax 958 xorl %ebx,%edi 959 960 961 movl 12(%ebp),%edx 962 movl %edi,%ebx 963 xorl %edx,%esi 964 shrl $16,%ebx 965 movl %edi,%edx 966 movb %bh,%al 967 andl $255,%ebx 968 movb %dh,%cl 969 andl $255,%edx 970 movl 72(%ebp,%eax,4),%eax 971 movl 1096(%ebp,%ebx,4),%ebx 972 addl %eax,%ebx 973 movl 2120(%ebp,%ecx,4),%eax 974 xorl %eax,%ebx 975 movl 3144(%ebp,%edx,4),%edx 976 addl %edx,%ebx 977 xorl %eax,%eax 978 xorl %ebx,%esi 979 980 981 movl 16(%ebp),%edx 982 movl %esi,%ebx 983 xorl %edx,%edi 984 shrl $16,%ebx 985 movl %esi,%edx 986 movb %bh,%al 987 andl $255,%ebx 988 movb %dh,%cl 989 andl $255,%edx 990 movl 72(%ebp,%eax,4),%eax 991 movl 1096(%ebp,%ebx,4),%ebx 992 addl %eax,%ebx 993 movl 2120(%ebp,%ecx,4),%eax 994 xorl %eax,%ebx 995 movl 3144(%ebp,%edx,4),%edx 996 addl %edx,%ebx 997 xorl %eax,%eax 998 xorl %ebx,%edi 999 1000 1001 movl 20(%ebp),%edx 1002 movl %edi,%ebx 1003 xorl %edx,%esi 1004 shrl $16,%ebx 1005 movl %edi,%edx 1006 movb %bh,%al 1007 andl $255,%ebx 1008 movb %dh,%cl 1009 andl $255,%edx 1010 movl 72(%ebp,%eax,4),%eax 1011 movl 1096(%ebp,%ebx,4),%ebx 1012 addl %eax,%ebx 1013 movl 2120(%ebp,%ecx,4),%eax 1014 xorl %eax,%ebx 1015 movl 3144(%ebp,%edx,4),%edx 1016 addl %edx,%ebx 1017 xorl %eax,%eax 1018 xorl %ebx,%esi 1019 1020 1021 movl 24(%ebp),%edx 1022 movl %esi,%ebx 1023 xorl %edx,%edi 1024 shrl $16,%ebx 1025 movl %esi,%edx 1026 movb %bh,%al 1027 andl $255,%ebx 1028 movb %dh,%cl 1029 andl $255,%edx 1030 movl 72(%ebp,%eax,4),%eax 1031 movl 1096(%ebp,%ebx,4),%ebx 1032 addl %eax,%ebx 1033 movl 2120(%ebp,%ecx,4),%eax 1034 xorl %eax,%ebx 1035 movl 3144(%ebp,%edx,4),%edx 1036 addl %edx,%ebx 1037 xorl %eax,%eax 1038 xorl %ebx,%edi 1039 1040 1041 movl 28(%ebp),%edx 1042 movl %edi,%ebx 1043 xorl %edx,%esi 1044 shrl $16,%ebx 1045 movl %edi,%edx 1046 movb %bh,%al 1047 andl $255,%ebx 1048 movb %dh,%cl 1049 andl $255,%edx 1050 movl 72(%ebp,%eax,4),%eax 1051 movl 1096(%ebp,%ebx,4),%ebx 1052 addl %eax,%ebx 1053 movl 2120(%ebp,%ecx,4),%eax 1054 xorl %eax,%ebx 1055 movl 3144(%ebp,%edx,4),%edx 1056 addl %edx,%ebx 1057 xorl %eax,%eax 1058 xorl %ebx,%esi 1059 1060 1061 movl 32(%ebp),%edx 1062 movl %esi,%ebx 1063 xorl %edx,%edi 1064 shrl $16,%ebx 1065 movl %esi,%edx 1066 movb %bh,%al 1067 andl $255,%ebx 1068 movb %dh,%cl 1069 andl $255,%edx 1070 movl 72(%ebp,%eax,4),%eax 1071 movl 1096(%ebp,%ebx,4),%ebx 1072 addl %eax,%ebx 1073 movl 2120(%ebp,%ecx,4),%eax 1074 xorl %eax,%ebx 1075 movl 3144(%ebp,%edx,4),%edx 1076 addl %edx,%ebx 1077 xorl %eax,%eax 1078 xorl %ebx,%edi 1079 1080 1081 movl 36(%ebp),%edx 1082 movl %edi,%ebx 1083 xorl %edx,%esi 1084 shrl $16,%ebx 1085 movl %edi,%edx 1086 movb %bh,%al 1087 andl $255,%ebx 1088 movb %dh,%cl 1089 andl $255,%edx 1090 movl 72(%ebp,%eax,4),%eax 1091 movl 1096(%ebp,%ebx,4),%ebx 1092 addl %eax,%ebx 1093 movl 2120(%ebp,%ecx,4),%eax 1094 xorl %eax,%ebx 1095 movl 3144(%ebp,%edx,4),%edx 1096 addl %edx,%ebx 1097 xorl %eax,%eax 1098 xorl %ebx,%esi 1099 1100 1101 movl 40(%ebp),%edx 1102 movl %esi,%ebx 1103 xorl %edx,%edi 1104 shrl $16,%ebx 1105 movl %esi,%edx 1106 movb %bh,%al 1107 andl $255,%ebx 1108 movb %dh,%cl 1109 andl $255,%edx 1110 movl 72(%ebp,%eax,4),%eax 1111 movl 1096(%ebp,%ebx,4),%ebx 1112 addl %eax,%ebx 1113 movl 2120(%ebp,%ecx,4),%eax 1114 xorl %eax,%ebx 1115 movl 3144(%ebp,%edx,4),%edx 1116 addl %edx,%ebx 1117 xorl %eax,%eax 1118 xorl %ebx,%edi 1119 1120 1121 movl 44(%ebp),%edx 1122 movl %edi,%ebx 1123 xorl %edx,%esi 1124 shrl $16,%ebx 1125 movl %edi,%edx 1126 movb %bh,%al 1127 andl $255,%ebx 1128 movb %dh,%cl 1129 andl $255,%edx 1130 movl 72(%ebp,%eax,4),%eax 1131 movl 1096(%ebp,%ebx,4),%ebx 1132 addl %eax,%ebx 1133 movl 2120(%ebp,%ecx,4),%eax 1134 xorl %eax,%ebx 1135 movl 3144(%ebp,%edx,4),%edx 1136 addl %edx,%ebx 1137 xorl %eax,%eax 1138 xorl %ebx,%esi 1139 1140 1141 movl 48(%ebp),%edx 1142 movl %esi,%ebx 1143 xorl %edx,%edi 1144 shrl $16,%ebx 1145 movl %esi,%edx 1146 movb %bh,%al 1147 andl $255,%ebx 1148 movb %dh,%cl 1149 andl $255,%edx 1150 movl 72(%ebp,%eax,4),%eax 1151 movl 1096(%ebp,%ebx,4),%ebx 1152 addl %eax,%ebx 1153 movl 2120(%ebp,%ecx,4),%eax 1154 xorl %eax,%ebx 1155 movl 3144(%ebp,%edx,4),%edx 1156 addl %edx,%ebx 1157 xorl %eax,%eax 1158 xorl %ebx,%edi 1159 1160 1161 movl 52(%ebp),%edx 1162 movl %edi,%ebx 1163 xorl %edx,%esi 1164 shrl $16,%ebx 1165 movl %edi,%edx 1166 movb %bh,%al 1167 andl $255,%ebx 1168 movb %dh,%cl 1169 andl $255,%edx 1170 movl 72(%ebp,%eax,4),%eax 1171 movl 1096(%ebp,%ebx,4),%ebx 1172 addl %eax,%ebx 1173 movl 2120(%ebp,%ecx,4),%eax 1174 xorl %eax,%ebx 1175 movl 3144(%ebp,%edx,4),%edx 1176 addl %edx,%ebx 1177 xorl %eax,%eax 1178 xorl %ebx,%esi 1179 1180 1181 movl 56(%ebp),%edx 1182 movl %esi,%ebx 1183 xorl %edx,%edi 1184 shrl $16,%ebx 1185 movl %esi,%edx 1186 movb %bh,%al 1187 andl $255,%ebx 1188 movb %dh,%cl 1189 andl $255,%edx 1190 movl 72(%ebp,%eax,4),%eax 1191 movl 1096(%ebp,%ebx,4),%ebx 1192 addl %eax,%ebx 1193 movl 2120(%ebp,%ecx,4),%eax 1194 xorl %eax,%ebx 1195 movl 3144(%ebp,%edx,4),%edx 1196 addl %edx,%ebx 1197 xorl %eax,%eax 1198 xorl %ebx,%edi 1199 1200 1201 movl 60(%ebp),%edx 1202 movl %edi,%ebx 1203 xorl %edx,%esi 1204 shrl $16,%ebx 1205 movl %edi,%edx 1206 movb %bh,%al 1207 andl $255,%ebx 1208 movb %dh,%cl 1209 andl $255,%edx 1210 movl 72(%ebp,%eax,4),%eax 1211 movl 1096(%ebp,%ebx,4),%ebx 1212 addl %eax,%ebx 1213 movl 2120(%ebp,%ecx,4),%eax 1214 xorl %eax,%ebx 1215 movl 3144(%ebp,%edx,4),%edx 1216 addl %edx,%ebx 1217 xorl %eax,%eax 1218 xorl %ebx,%esi 1219 1220 1221 movl 64(%ebp),%edx 1222 movl %esi,%ebx 1223 xorl %edx,%edi 1224 shrl $16,%ebx 1225 movl %esi,%edx 1226 movb %bh,%al 1227 andl $255,%ebx 1228 movb %dh,%cl 1229 andl $255,%edx 1230 movl 72(%ebp,%eax,4),%eax 1231 movl 1096(%ebp,%ebx,4),%ebx 1232 addl %eax,%ebx 1233 movl 2120(%ebp,%ecx,4),%eax 1234 xorl %eax,%ebx 1235 movl 3144(%ebp,%edx,4),%edx 1236 addl %edx,%ebx 1237 1238 movl 20(%esp),%eax 1239 xorl %ebx,%edi 1240 movl 68(%ebp),%edx 1241 xorl %edx,%esi 1242 movl %edi,4(%eax) 1243 movl %esi,(%eax) 1244 popl %edi 1245 popl %esi 1246 popl %ebx 1247 popl %ebp 1248 ret 1249.size BF_encrypt,.-.L_BF_encrypt_begin 1250.globl BF_decrypt 1251.type BF_decrypt,@function 1252.align 16 1253BF_decrypt: 1254.L_BF_decrypt_begin: 1255 1256 pushl %ebp 1257 pushl %ebx 1258 movl 12(%esp),%ebx 1259 movl 16(%esp),%ebp 1260 pushl %esi 1261 pushl %edi 1262 1263 movl (%ebx),%edi 1264 movl 4(%ebx),%esi 1265 xorl %eax,%eax 1266 movl 68(%ebp),%ebx 1267 xorl %ecx,%ecx 1268 xorl %ebx,%edi 1269 1270 1271 movl 64(%ebp),%edx 1272 movl %edi,%ebx 1273 xorl %edx,%esi 1274 shrl $16,%ebx 1275 movl %edi,%edx 1276 movb %bh,%al 1277 andl $255,%ebx 1278 movb %dh,%cl 1279 andl $255,%edx 1280 movl 72(%ebp,%eax,4),%eax 1281 movl 1096(%ebp,%ebx,4),%ebx 1282 addl %eax,%ebx 1283 movl 2120(%ebp,%ecx,4),%eax 1284 xorl %eax,%ebx 1285 movl 3144(%ebp,%edx,4),%edx 1286 addl %edx,%ebx 1287 xorl %eax,%eax 1288 xorl %ebx,%esi 1289 1290 1291 movl 60(%ebp),%edx 1292 movl %esi,%ebx 1293 xorl %edx,%edi 1294 shrl $16,%ebx 1295 movl %esi,%edx 1296 movb %bh,%al 1297 andl $255,%ebx 1298 movb %dh,%cl 1299 andl $255,%edx 1300 movl 72(%ebp,%eax,4),%eax 1301 movl 1096(%ebp,%ebx,4),%ebx 1302 addl %eax,%ebx 1303 movl 2120(%ebp,%ecx,4),%eax 1304 xorl %eax,%ebx 1305 movl 3144(%ebp,%edx,4),%edx 1306 addl %edx,%ebx 1307 xorl %eax,%eax 1308 xorl %ebx,%edi 1309 1310 1311 movl 56(%ebp),%edx 1312 movl %edi,%ebx 1313 xorl %edx,%esi 1314 shrl $16,%ebx 1315 movl %edi,%edx 1316 movb %bh,%al 1317 andl $255,%ebx 1318 movb %dh,%cl 1319 andl $255,%edx 1320 movl 72(%ebp,%eax,4),%eax 1321 movl 1096(%ebp,%ebx,4),%ebx 1322 addl %eax,%ebx 1323 movl 2120(%ebp,%ecx,4),%eax 1324 xorl %eax,%ebx 1325 movl 3144(%ebp,%edx,4),%edx 1326 addl %edx,%ebx 1327 xorl %eax,%eax 1328 xorl %ebx,%esi 1329 1330 1331 movl 52(%ebp),%edx 1332 movl %esi,%ebx 1333 xorl %edx,%edi 1334 shrl $16,%ebx 1335 movl %esi,%edx 1336 movb %bh,%al 1337 andl $255,%ebx 1338 movb %dh,%cl 1339 andl $255,%edx 1340 movl 72(%ebp,%eax,4),%eax 1341 movl 1096(%ebp,%ebx,4),%ebx 1342 addl %eax,%ebx 1343 movl 2120(%ebp,%ecx,4),%eax 1344 xorl %eax,%ebx 1345 movl 3144(%ebp,%edx,4),%edx 1346 addl %edx,%ebx 1347 xorl %eax,%eax 1348 xorl %ebx,%edi 1349 1350 1351 movl 48(%ebp),%edx 1352 movl %edi,%ebx 1353 xorl %edx,%esi 1354 shrl $16,%ebx 1355 movl %edi,%edx 1356 movb %bh,%al 1357 andl $255,%ebx 1358 movb %dh,%cl 1359 andl $255,%edx 1360 movl 72(%ebp,%eax,4),%eax 1361 movl 1096(%ebp,%ebx,4),%ebx 1362 addl %eax,%ebx 1363 movl 2120(%ebp,%ecx,4),%eax 1364 xorl %eax,%ebx 1365 movl 3144(%ebp,%edx,4),%edx 1366 addl %edx,%ebx 1367 xorl %eax,%eax 1368 xorl %ebx,%esi 1369 1370 1371 movl 44(%ebp),%edx 1372 movl %esi,%ebx 1373 xorl %edx,%edi 1374 shrl $16,%ebx 1375 movl %esi,%edx 1376 movb %bh,%al 1377 andl $255,%ebx 1378 movb %dh,%cl 1379 andl $255,%edx 1380 movl 72(%ebp,%eax,4),%eax 1381 movl 1096(%ebp,%ebx,4),%ebx 1382 addl %eax,%ebx 1383 movl 2120(%ebp,%ecx,4),%eax 1384 xorl %eax,%ebx 1385 movl 3144(%ebp,%edx,4),%edx 1386 addl %edx,%ebx 1387 xorl %eax,%eax 1388 xorl %ebx,%edi 1389 1390 1391 movl 40(%ebp),%edx 1392 movl %edi,%ebx 1393 xorl %edx,%esi 1394 shrl $16,%ebx 1395 movl %edi,%edx 1396 movb %bh,%al 1397 andl $255,%ebx 1398 movb %dh,%cl 1399 andl $255,%edx 1400 movl 72(%ebp,%eax,4),%eax 1401 movl 1096(%ebp,%ebx,4),%ebx 1402 addl %eax,%ebx 1403 movl 2120(%ebp,%ecx,4),%eax 1404 xorl %eax,%ebx 1405 movl 3144(%ebp,%edx,4),%edx 1406 addl %edx,%ebx 1407 xorl %eax,%eax 1408 xorl %ebx,%esi 1409 1410 1411 movl 36(%ebp),%edx 1412 movl %esi,%ebx 1413 xorl %edx,%edi 1414 shrl $16,%ebx 1415 movl %esi,%edx 1416 movb %bh,%al 1417 andl $255,%ebx 1418 movb %dh,%cl 1419 andl $255,%edx 1420 movl 72(%ebp,%eax,4),%eax 1421 movl 1096(%ebp,%ebx,4),%ebx 1422 addl %eax,%ebx 1423 movl 2120(%ebp,%ecx,4),%eax 1424 xorl %eax,%ebx 1425 movl 3144(%ebp,%edx,4),%edx 1426 addl %edx,%ebx 1427 xorl %eax,%eax 1428 xorl %ebx,%edi 1429 1430 1431 movl 32(%ebp),%edx 1432 movl %edi,%ebx 1433 xorl %edx,%esi 1434 shrl $16,%ebx 1435 movl %edi,%edx 1436 movb %bh,%al 1437 andl $255,%ebx 1438 movb %dh,%cl 1439 andl $255,%edx 1440 movl 72(%ebp,%eax,4),%eax 1441 movl 1096(%ebp,%ebx,4),%ebx 1442 addl %eax,%ebx 1443 movl 2120(%ebp,%ecx,4),%eax 1444 xorl %eax,%ebx 1445 movl 3144(%ebp,%edx,4),%edx 1446 addl %edx,%ebx 1447 xorl %eax,%eax 1448 xorl %ebx,%esi 1449 1450 1451 movl 28(%ebp),%edx 1452 movl %esi,%ebx 1453 xorl %edx,%edi 1454 shrl $16,%ebx 1455 movl %esi,%edx 1456 movb %bh,%al 1457 andl $255,%ebx 1458 movb %dh,%cl 1459 andl $255,%edx 1460 movl 72(%ebp,%eax,4),%eax 1461 movl 1096(%ebp,%ebx,4),%ebx 1462 addl %eax,%ebx 1463 movl 2120(%ebp,%ecx,4),%eax 1464 xorl %eax,%ebx 1465 movl 3144(%ebp,%edx,4),%edx 1466 addl %edx,%ebx 1467 xorl %eax,%eax 1468 xorl %ebx,%edi 1469 1470 1471 movl 24(%ebp),%edx 1472 movl %edi,%ebx 1473 xorl %edx,%esi 1474 shrl $16,%ebx 1475 movl %edi,%edx 1476 movb %bh,%al 1477 andl $255,%ebx 1478 movb %dh,%cl 1479 andl $255,%edx 1480 movl 72(%ebp,%eax,4),%eax 1481 movl 1096(%ebp,%ebx,4),%ebx 1482 addl %eax,%ebx 1483 movl 2120(%ebp,%ecx,4),%eax 1484 xorl %eax,%ebx 1485 movl 3144(%ebp,%edx,4),%edx 1486 addl %edx,%ebx 1487 xorl %eax,%eax 1488 xorl %ebx,%esi 1489 1490 1491 movl 20(%ebp),%edx 1492 movl %esi,%ebx 1493 xorl %edx,%edi 1494 shrl $16,%ebx 1495 movl %esi,%edx 1496 movb %bh,%al 1497 andl $255,%ebx 1498 movb %dh,%cl 1499 andl $255,%edx 1500 movl 72(%ebp,%eax,4),%eax 1501 movl 1096(%ebp,%ebx,4),%ebx 1502 addl %eax,%ebx 1503 movl 2120(%ebp,%ecx,4),%eax 1504 xorl %eax,%ebx 1505 movl 3144(%ebp,%edx,4),%edx 1506 addl %edx,%ebx 1507 xorl %eax,%eax 1508 xorl %ebx,%edi 1509 1510 1511 movl 16(%ebp),%edx 1512 movl %edi,%ebx 1513 xorl %edx,%esi 1514 shrl $16,%ebx 1515 movl %edi,%edx 1516 movb %bh,%al 1517 andl $255,%ebx 1518 movb %dh,%cl 1519 andl $255,%edx 1520 movl 72(%ebp,%eax,4),%eax 1521 movl 1096(%ebp,%ebx,4),%ebx 1522 addl %eax,%ebx 1523 movl 2120(%ebp,%ecx,4),%eax 1524 xorl %eax,%ebx 1525 movl 3144(%ebp,%edx,4),%edx 1526 addl %edx,%ebx 1527 xorl %eax,%eax 1528 xorl %ebx,%esi 1529 1530 1531 movl 12(%ebp),%edx 1532 movl %esi,%ebx 1533 xorl %edx,%edi 1534 shrl $16,%ebx 1535 movl %esi,%edx 1536 movb %bh,%al 1537 andl $255,%ebx 1538 movb %dh,%cl 1539 andl $255,%edx 1540 movl 72(%ebp,%eax,4),%eax 1541 movl 1096(%ebp,%ebx,4),%ebx 1542 addl %eax,%ebx 1543 movl 2120(%ebp,%ecx,4),%eax 1544 xorl %eax,%ebx 1545 movl 3144(%ebp,%edx,4),%edx 1546 addl %edx,%ebx 1547 xorl %eax,%eax 1548 xorl %ebx,%edi 1549 1550 1551 movl 8(%ebp),%edx 1552 movl %edi,%ebx 1553 xorl %edx,%esi 1554 shrl $16,%ebx 1555 movl %edi,%edx 1556 movb %bh,%al 1557 andl $255,%ebx 1558 movb %dh,%cl 1559 andl $255,%edx 1560 movl 72(%ebp,%eax,4),%eax 1561 movl 1096(%ebp,%ebx,4),%ebx 1562 addl %eax,%ebx 1563 movl 2120(%ebp,%ecx,4),%eax 1564 xorl %eax,%ebx 1565 movl 3144(%ebp,%edx,4),%edx 1566 addl %edx,%ebx 1567 xorl %eax,%eax 1568 xorl %ebx,%esi 1569 1570 1571 movl 4(%ebp),%edx 1572 movl %esi,%ebx 1573 xorl %edx,%edi 1574 shrl $16,%ebx 1575 movl %esi,%edx 1576 movb %bh,%al 1577 andl $255,%ebx 1578 movb %dh,%cl 1579 andl $255,%edx 1580 movl 72(%ebp,%eax,4),%eax 1581 movl 1096(%ebp,%ebx,4),%ebx 1582 addl %eax,%ebx 1583 movl 2120(%ebp,%ecx,4),%eax 1584 xorl %eax,%ebx 1585 movl 3144(%ebp,%edx,4),%edx 1586 addl %edx,%ebx 1587 1588 movl 20(%esp),%eax 1589 xorl %ebx,%edi 1590 movl (%ebp),%edx 1591 xorl %edx,%esi 1592 movl %edi,4(%eax) 1593 movl %esi,(%eax) 1594 popl %edi 1595 popl %esi 1596 popl %ebx 1597 popl %ebp 1598 ret 1599.size BF_decrypt,.-.L_BF_decrypt_begin 1600.globl BF_cbc_encrypt 1601.type BF_cbc_encrypt,@function 1602.align 16 1603BF_cbc_encrypt: 1604.L_BF_cbc_encrypt_begin: 1605 1606 pushl %ebp 1607 pushl %ebx 1608 pushl %esi 1609 pushl %edi 1610 movl 28(%esp),%ebp 1611 1612 movl 36(%esp),%ebx 1613 movl (%ebx),%esi 1614 movl 4(%ebx),%edi 1615 pushl %edi 1616 pushl %esi 1617 pushl %edi 1618 pushl %esi 1619 movl %esp,%ebx 1620 movl 36(%esp),%esi 1621 movl 40(%esp),%edi 1622 1623 movl 56(%esp),%ecx 1624 1625 movl 48(%esp),%eax 1626 pushl %eax 1627 pushl %ebx 1628 cmpl $0,%ecx 1629 jz .L000decrypt 1630 andl $4294967288,%ebp 1631 movl 8(%esp),%eax 1632 movl 12(%esp),%ebx 1633 jz .L001encrypt_finish 1634.L002encrypt_loop: 1635 movl (%esi),%ecx 1636 movl 4(%esi),%edx 1637 xorl %ecx,%eax 1638 xorl %edx,%ebx 1639 bswap %eax 1640 bswap %ebx 1641 movl %eax,8(%esp) 1642 movl %ebx,12(%esp) 1643 call .L_BF_encrypt_begin 1644 movl 8(%esp),%eax 1645 movl 12(%esp),%ebx 1646 bswap %eax 1647 bswap %ebx 1648 movl %eax,(%edi) 1649 movl %ebx,4(%edi) 1650 addl $8,%esi 1651 addl $8,%edi 1652 subl $8,%ebp 1653 jnz .L002encrypt_loop 1654.L001encrypt_finish: 1655 movl 52(%esp),%ebp 1656 andl $7,%ebp 1657 jz .L003finish 1658 call .L004PIC_point 1659.L004PIC_point: 1660 popl %edx 1661 leal .L005cbc_enc_jmp_table-.L004PIC_point(%edx),%ecx 1662 movl (%ecx,%ebp,4),%ebp 1663 addl %edx,%ebp 1664 xorl %ecx,%ecx 1665 xorl %edx,%edx 1666 jmp *%ebp 1667.L006ej7: 1668 movb 6(%esi),%dh 1669 shll $8,%edx 1670.L007ej6: 1671 movb 5(%esi),%dh 1672.L008ej5: 1673 movb 4(%esi),%dl 1674.L009ej4: 1675 movl (%esi),%ecx 1676 jmp .L010ejend 1677.L011ej3: 1678 movb 2(%esi),%ch 1679 shll $8,%ecx 1680.L012ej2: 1681 movb 1(%esi),%ch 1682.L013ej1: 1683 movb (%esi),%cl 1684.L010ejend: 1685 xorl %ecx,%eax 1686 xorl %edx,%ebx 1687 bswap %eax 1688 bswap %ebx 1689 movl %eax,8(%esp) 1690 movl %ebx,12(%esp) 1691 call .L_BF_encrypt_begin 1692 movl 8(%esp),%eax 1693 movl 12(%esp),%ebx 1694 bswap %eax 1695 bswap %ebx 1696 movl %eax,(%edi) 1697 movl %ebx,4(%edi) 1698 jmp .L003finish 1699.L000decrypt: 1700 andl $4294967288,%ebp 1701 movl 16(%esp),%eax 1702 movl 20(%esp),%ebx 1703 jz .L014decrypt_finish 1704.L015decrypt_loop: 1705 movl (%esi),%eax 1706 movl 4(%esi),%ebx 1707 bswap %eax 1708 bswap %ebx 1709 movl %eax,8(%esp) 1710 movl %ebx,12(%esp) 1711 call .L_BF_decrypt_begin 1712 movl 8(%esp),%eax 1713 movl 12(%esp),%ebx 1714 bswap %eax 1715 bswap %ebx 1716 movl 16(%esp),%ecx 1717 movl 20(%esp),%edx 1718 xorl %eax,%ecx 1719 xorl %ebx,%edx 1720 movl (%esi),%eax 1721 movl 4(%esi),%ebx 1722 movl %ecx,(%edi) 1723 movl %edx,4(%edi) 1724 movl %eax,16(%esp) 1725 movl %ebx,20(%esp) 1726 addl $8,%esi 1727 addl $8,%edi 1728 subl $8,%ebp 1729 jnz .L015decrypt_loop 1730.L014decrypt_finish: 1731 movl 52(%esp),%ebp 1732 andl $7,%ebp 1733 jz .L003finish 1734 movl (%esi),%eax 1735 movl 4(%esi),%ebx 1736 bswap %eax 1737 bswap %ebx 1738 movl %eax,8(%esp) 1739 movl %ebx,12(%esp) 1740 call .L_BF_decrypt_begin 1741 movl 8(%esp),%eax 1742 movl 12(%esp),%ebx 1743 bswap %eax 1744 bswap %ebx 1745 movl 16(%esp),%ecx 1746 movl 20(%esp),%edx 1747 xorl %eax,%ecx 1748 xorl %ebx,%edx 1749 movl (%esi),%eax 1750 movl 4(%esi),%ebx 1751.L016dj7: 1752 rorl $16,%edx 1753 movb %dl,6(%edi) 1754 shrl $16,%edx 1755.L017dj6: 1756 movb %dh,5(%edi) 1757.L018dj5: 1758 movb %dl,4(%edi) 1759.L019dj4: 1760 movl %ecx,(%edi) 1761 jmp .L020djend 1762.L021dj3: 1763 rorl $16,%ecx 1764 movb %cl,2(%edi) 1765 shll $16,%ecx 1766.L022dj2: 1767 movb %ch,1(%esi) 1768.L023dj1: 1769 movb %cl,(%esi) 1770.L020djend: 1771 jmp .L003finish 1772.L003finish: 1773 movl 60(%esp),%ecx 1774 addl $24,%esp 1775 movl %eax,(%ecx) 1776 movl %ebx,4(%ecx) 1777 popl %edi 1778 popl %esi 1779 popl %ebx 1780 popl %ebp 1781 ret 1782.align 64 1783.L005cbc_enc_jmp_table: 1784.long 0 1785.long .L013ej1-.L004PIC_point 1786.long .L012ej2-.L004PIC_point 1787.long .L011ej3-.L004PIC_point 1788.long .L009ej4-.L004PIC_point 1789.long .L008ej5-.L004PIC_point 1790.long .L007ej6-.L004PIC_point 1791.long .L006ej7-.L004PIC_point 1792.align 64 1793.size BF_cbc_encrypt,.-.L_BF_cbc_encrypt_begin 1794#endif 1795