1 .file "bf-586.s" 2 .text 3 .globl BF_encrypt 4 .type BF_encrypt,@function 5 .align 16 6 BF_encrypt: 7 .L_BF_encrypt_begin: 8 9 pushl %ebp 10 pushl %ebx 11 movl 12(%esp),%ebx 12 movl 16(%esp),%ebp 13 pushl %esi 14 pushl %edi 15 16 movl (%ebx),%edi 17 movl 4(%ebx),%esi 18 xorl %eax,%eax 19 movl (%ebp),%ebx 20 xorl %ecx,%ecx 21 xorl %ebx,%edi 22 23 24 movl 4(%ebp),%edx 25 movl %edi,%ebx 26 xorl %edx,%esi 27 shrl $16,%ebx 28 movl %edi,%edx 29 movb %bh,%al 30 andl $255,%ebx 31 movb %dh,%cl 32 andl $255,%edx 33 movl 72(%ebp,%eax,4),%eax 34 movl 1096(%ebp,%ebx,4),%ebx 35 addl %eax,%ebx 36 movl 2120(%ebp,%ecx,4),%eax 37 xorl %eax,%ebx 38 movl 3144(%ebp,%edx,4),%edx 39 addl %edx,%ebx 40 xorl %eax,%eax 41 xorl %ebx,%esi 42 43 44 movl 8(%ebp),%edx 45 movl %esi,%ebx 46 xorl %edx,%edi 47 shrl $16,%ebx 48 movl %esi,%edx 49 movb %bh,%al 50 andl $255,%ebx 51 movb %dh,%cl 52 andl $255,%edx 53 movl 72(%ebp,%eax,4),%eax 54 movl 1096(%ebp,%ebx,4),%ebx 55 addl %eax,%ebx 56 movl 2120(%ebp,%ecx,4),%eax 57 xorl %eax,%ebx 58 movl 3144(%ebp,%edx,4),%edx 59 addl %edx,%ebx 60 xorl %eax,%eax 61 xorl %ebx,%edi 62 63 64 movl 12(%ebp),%edx 65 movl %edi,%ebx 66 xorl %edx,%esi 67 shrl $16,%ebx 68 movl %edi,%edx 69 movb %bh,%al 70 andl $255,%ebx 71 movb %dh,%cl 72 andl $255,%edx 73 movl 72(%ebp,%eax,4),%eax 74 movl 1096(%ebp,%ebx,4),%ebx 75 addl %eax,%ebx 76 movl 2120(%ebp,%ecx,4),%eax 77 xorl %eax,%ebx 78 movl 3144(%ebp,%edx,4),%edx 79 addl %edx,%ebx 80 xorl %eax,%eax 81 xorl %ebx,%esi 82 83 84 movl 16(%ebp),%edx 85 movl %esi,%ebx 86 xorl %edx,%edi 87 shrl $16,%ebx 88 movl %esi,%edx 89 movb %bh,%al 90 andl $255,%ebx 91 movb %dh,%cl 92 andl $255,%edx 93 movl 72(%ebp,%eax,4),%eax 94 movl 1096(%ebp,%ebx,4),%ebx 95 addl %eax,%ebx 96 movl 2120(%ebp,%ecx,4),%eax 97 xorl %eax,%ebx 98 movl 3144(%ebp,%edx,4),%edx 99 addl %edx,%ebx 100 xorl %eax,%eax 101 xorl %ebx,%edi 102 103 104 movl 20(%ebp),%edx 105 movl %edi,%ebx 106 xorl %edx,%esi 107 shrl $16,%ebx 108 movl %edi,%edx 109 movb %bh,%al 110 andl $255,%ebx 111 movb %dh,%cl 112 andl $255,%edx 113 movl 72(%ebp,%eax,4),%eax 114 movl 1096(%ebp,%ebx,4),%ebx 115 addl %eax,%ebx 116 movl 2120(%ebp,%ecx,4),%eax 117 xorl %eax,%ebx 118 movl 3144(%ebp,%edx,4),%edx 119 addl %edx,%ebx 120 xorl %eax,%eax 121 xorl %ebx,%esi 122 123 124 movl 24(%ebp),%edx 125 movl %esi,%ebx 126 xorl %edx,%edi 127 shrl $16,%ebx 128 movl %esi,%edx 129 movb %bh,%al 130 andl $255,%ebx 131 movb %dh,%cl 132 andl $255,%edx 133 movl 72(%ebp,%eax,4),%eax 134 movl 1096(%ebp,%ebx,4),%ebx 135 addl %eax,%ebx 136 movl 2120(%ebp,%ecx,4),%eax 137 xorl %eax,%ebx 138 movl 3144(%ebp,%edx,4),%edx 139 addl %edx,%ebx 140 xorl %eax,%eax 141 xorl %ebx,%edi 142 143 144 movl 28(%ebp),%edx 145 movl %edi,%ebx 146 xorl %edx,%esi 147 shrl $16,%ebx 148 movl %edi,%edx 149 movb %bh,%al 150 andl $255,%ebx 151 movb %dh,%cl 152 andl $255,%edx 153 movl 72(%ebp,%eax,4),%eax 154 movl 1096(%ebp,%ebx,4),%ebx 155 addl %eax,%ebx 156 movl 2120(%ebp,%ecx,4),%eax 157 xorl %eax,%ebx 158 movl 3144(%ebp,%edx,4),%edx 159 addl %edx,%ebx 160 xorl %eax,%eax 161 xorl %ebx,%esi 162 163 164 movl 32(%ebp),%edx 165 movl %esi,%ebx 166 xorl %edx,%edi 167 shrl $16,%ebx 168 movl %esi,%edx 169 movb %bh,%al 170 andl $255,%ebx 171 movb %dh,%cl 172 andl $255,%edx 173 movl 72(%ebp,%eax,4),%eax 174 movl 1096(%ebp,%ebx,4),%ebx 175 addl %eax,%ebx 176 movl 2120(%ebp,%ecx,4),%eax 177 xorl %eax,%ebx 178 movl 3144(%ebp,%edx,4),%edx 179 addl %edx,%ebx 180 xorl %eax,%eax 181 xorl %ebx,%edi 182 183 184 movl 36(%ebp),%edx 185 movl %edi,%ebx 186 xorl %edx,%esi 187 shrl $16,%ebx 188 movl %edi,%edx 189 movb %bh,%al 190 andl $255,%ebx 191 movb %dh,%cl 192 andl $255,%edx 193 movl 72(%ebp,%eax,4),%eax 194 movl 1096(%ebp,%ebx,4),%ebx 195 addl %eax,%ebx 196 movl 2120(%ebp,%ecx,4),%eax 197 xorl %eax,%ebx 198 movl 3144(%ebp,%edx,4),%edx 199 addl %edx,%ebx 200 xorl %eax,%eax 201 xorl %ebx,%esi 202 203 204 movl 40(%ebp),%edx 205 movl %esi,%ebx 206 xorl %edx,%edi 207 shrl $16,%ebx 208 movl %esi,%edx 209 movb %bh,%al 210 andl $255,%ebx 211 movb %dh,%cl 212 andl $255,%edx 213 movl 72(%ebp,%eax,4),%eax 214 movl 1096(%ebp,%ebx,4),%ebx 215 addl %eax,%ebx 216 movl 2120(%ebp,%ecx,4),%eax 217 xorl %eax,%ebx 218 movl 3144(%ebp,%edx,4),%edx 219 addl %edx,%ebx 220 xorl %eax,%eax 221 xorl %ebx,%edi 222 223 224 movl 44(%ebp),%edx 225 movl %edi,%ebx 226 xorl %edx,%esi 227 shrl $16,%ebx 228 movl %edi,%edx 229 movb %bh,%al 230 andl $255,%ebx 231 movb %dh,%cl 232 andl $255,%edx 233 movl 72(%ebp,%eax,4),%eax 234 movl 1096(%ebp,%ebx,4),%ebx 235 addl %eax,%ebx 236 movl 2120(%ebp,%ecx,4),%eax 237 xorl %eax,%ebx 238 movl 3144(%ebp,%edx,4),%edx 239 addl %edx,%ebx 240 xorl %eax,%eax 241 xorl %ebx,%esi 242 243 244 movl 48(%ebp),%edx 245 movl %esi,%ebx 246 xorl %edx,%edi 247 shrl $16,%ebx 248 movl %esi,%edx 249 movb %bh,%al 250 andl $255,%ebx 251 movb %dh,%cl 252 andl $255,%edx 253 movl 72(%ebp,%eax,4),%eax 254 movl 1096(%ebp,%ebx,4),%ebx 255 addl %eax,%ebx 256 movl 2120(%ebp,%ecx,4),%eax 257 xorl %eax,%ebx 258 movl 3144(%ebp,%edx,4),%edx 259 addl %edx,%ebx 260 xorl %eax,%eax 261 xorl %ebx,%edi 262 263 264 movl 52(%ebp),%edx 265 movl %edi,%ebx 266 xorl %edx,%esi 267 shrl $16,%ebx 268 movl %edi,%edx 269 movb %bh,%al 270 andl $255,%ebx 271 movb %dh,%cl 272 andl $255,%edx 273 movl 72(%ebp,%eax,4),%eax 274 movl 1096(%ebp,%ebx,4),%ebx 275 addl %eax,%ebx 276 movl 2120(%ebp,%ecx,4),%eax 277 xorl %eax,%ebx 278 movl 3144(%ebp,%edx,4),%edx 279 addl %edx,%ebx 280 xorl %eax,%eax 281 xorl %ebx,%esi 282 283 284 movl 56(%ebp),%edx 285 movl %esi,%ebx 286 xorl %edx,%edi 287 shrl $16,%ebx 288 movl %esi,%edx 289 movb %bh,%al 290 andl $255,%ebx 291 movb %dh,%cl 292 andl $255,%edx 293 movl 72(%ebp,%eax,4),%eax 294 movl 1096(%ebp,%ebx,4),%ebx 295 addl %eax,%ebx 296 movl 2120(%ebp,%ecx,4),%eax 297 xorl %eax,%ebx 298 movl 3144(%ebp,%edx,4),%edx 299 addl %edx,%ebx 300 xorl %eax,%eax 301 xorl %ebx,%edi 302 303 304 movl 60(%ebp),%edx 305 movl %edi,%ebx 306 xorl %edx,%esi 307 shrl $16,%ebx 308 movl %edi,%edx 309 movb %bh,%al 310 andl $255,%ebx 311 movb %dh,%cl 312 andl $255,%edx 313 movl 72(%ebp,%eax,4),%eax 314 movl 1096(%ebp,%ebx,4),%ebx 315 addl %eax,%ebx 316 movl 2120(%ebp,%ecx,4),%eax 317 xorl %eax,%ebx 318 movl 3144(%ebp,%edx,4),%edx 319 addl %edx,%ebx 320 xorl %eax,%eax 321 xorl %ebx,%esi 322 323 324 movl 64(%ebp),%edx 325 movl %esi,%ebx 326 xorl %edx,%edi 327 shrl $16,%ebx 328 movl %esi,%edx 329 movb %bh,%al 330 andl $255,%ebx 331 movb %dh,%cl 332 andl $255,%edx 333 movl 72(%ebp,%eax,4),%eax 334 movl 1096(%ebp,%ebx,4),%ebx 335 addl %eax,%ebx 336 movl 2120(%ebp,%ecx,4),%eax 337 xorl %eax,%ebx 338 movl 3144(%ebp,%edx,4),%edx 339 addl %edx,%ebx 340 341 movl 20(%esp),%eax 342 xorl %ebx,%edi 343 movl 68(%ebp),%edx 344 xorl %edx,%esi 345 movl %edi,4(%eax) 346 movl %esi,(%eax) 347 popl %edi 348 popl %esi 349 popl %ebx 350 popl %ebp 351 ret 352 .size BF_encrypt,.-.L_BF_encrypt_begin 353 .globl BF_decrypt 354 .type BF_decrypt,@function 355 .align 16 356 BF_decrypt: 357 .L_BF_decrypt_begin: 358 359 pushl %ebp 360 pushl %ebx 361 movl 12(%esp),%ebx 362 movl 16(%esp),%ebp 363 pushl %esi 364 pushl %edi 365 366 movl (%ebx),%edi 367 movl 4(%ebx),%esi 368 xorl %eax,%eax 369 movl 68(%ebp),%ebx 370 xorl %ecx,%ecx 371 xorl %ebx,%edi 372 373 374 movl 64(%ebp),%edx 375 movl %edi,%ebx 376 xorl %edx,%esi 377 shrl $16,%ebx 378 movl %edi,%edx 379 movb %bh,%al 380 andl $255,%ebx 381 movb %dh,%cl 382 andl $255,%edx 383 movl 72(%ebp,%eax,4),%eax 384 movl 1096(%ebp,%ebx,4),%ebx 385 addl %eax,%ebx 386 movl 2120(%ebp,%ecx,4),%eax 387 xorl %eax,%ebx 388 movl 3144(%ebp,%edx,4),%edx 389 addl %edx,%ebx 390 xorl %eax,%eax 391 xorl %ebx,%esi 392 393 394 movl 60(%ebp),%edx 395 movl %esi,%ebx 396 xorl %edx,%edi 397 shrl $16,%ebx 398 movl %esi,%edx 399 movb %bh,%al 400 andl $255,%ebx 401 movb %dh,%cl 402 andl $255,%edx 403 movl 72(%ebp,%eax,4),%eax 404 movl 1096(%ebp,%ebx,4),%ebx 405 addl %eax,%ebx 406 movl 2120(%ebp,%ecx,4),%eax 407 xorl %eax,%ebx 408 movl 3144(%ebp,%edx,4),%edx 409 addl %edx,%ebx 410 xorl %eax,%eax 411 xorl %ebx,%edi 412 413 414 movl 56(%ebp),%edx 415 movl %edi,%ebx 416 xorl %edx,%esi 417 shrl $16,%ebx 418 movl %edi,%edx 419 movb %bh,%al 420 andl $255,%ebx 421 movb %dh,%cl 422 andl $255,%edx 423 movl 72(%ebp,%eax,4),%eax 424 movl 1096(%ebp,%ebx,4),%ebx 425 addl %eax,%ebx 426 movl 2120(%ebp,%ecx,4),%eax 427 xorl %eax,%ebx 428 movl 3144(%ebp,%edx,4),%edx 429 addl %edx,%ebx 430 xorl %eax,%eax 431 xorl %ebx,%esi 432 433 434 movl 52(%ebp),%edx 435 movl %esi,%ebx 436 xorl %edx,%edi 437 shrl $16,%ebx 438 movl %esi,%edx 439 movb %bh,%al 440 andl $255,%ebx 441 movb %dh,%cl 442 andl $255,%edx 443 movl 72(%ebp,%eax,4),%eax 444 movl 1096(%ebp,%ebx,4),%ebx 445 addl %eax,%ebx 446 movl 2120(%ebp,%ecx,4),%eax 447 xorl %eax,%ebx 448 movl 3144(%ebp,%edx,4),%edx 449 addl %edx,%ebx 450 xorl %eax,%eax 451 xorl %ebx,%edi 452 453 454 movl 48(%ebp),%edx 455 movl %edi,%ebx 456 xorl %edx,%esi 457 shrl $16,%ebx 458 movl %edi,%edx 459 movb %bh,%al 460 andl $255,%ebx 461 movb %dh,%cl 462 andl $255,%edx 463 movl 72(%ebp,%eax,4),%eax 464 movl 1096(%ebp,%ebx,4),%ebx 465 addl %eax,%ebx 466 movl 2120(%ebp,%ecx,4),%eax 467 xorl %eax,%ebx 468 movl 3144(%ebp,%edx,4),%edx 469 addl %edx,%ebx 470 xorl %eax,%eax 471 xorl %ebx,%esi 472 473 474 movl 44(%ebp),%edx 475 movl %esi,%ebx 476 xorl %edx,%edi 477 shrl $16,%ebx 478 movl %esi,%edx 479 movb %bh,%al 480 andl $255,%ebx 481 movb %dh,%cl 482 andl $255,%edx 483 movl 72(%ebp,%eax,4),%eax 484 movl 1096(%ebp,%ebx,4),%ebx 485 addl %eax,%ebx 486 movl 2120(%ebp,%ecx,4),%eax 487 xorl %eax,%ebx 488 movl 3144(%ebp,%edx,4),%edx 489 addl %edx,%ebx 490 xorl %eax,%eax 491 xorl %ebx,%edi 492 493 494 movl 40(%ebp),%edx 495 movl %edi,%ebx 496 xorl %edx,%esi 497 shrl $16,%ebx 498 movl %edi,%edx 499 movb %bh,%al 500 andl $255,%ebx 501 movb %dh,%cl 502 andl $255,%edx 503 movl 72(%ebp,%eax,4),%eax 504 movl 1096(%ebp,%ebx,4),%ebx 505 addl %eax,%ebx 506 movl 2120(%ebp,%ecx,4),%eax 507 xorl %eax,%ebx 508 movl 3144(%ebp,%edx,4),%edx 509 addl %edx,%ebx 510 xorl %eax,%eax 511 xorl %ebx,%esi 512 513 514 movl 36(%ebp),%edx 515 movl %esi,%ebx 516 xorl %edx,%edi 517 shrl $16,%ebx 518 movl %esi,%edx 519 movb %bh,%al 520 andl $255,%ebx 521 movb %dh,%cl 522 andl $255,%edx 523 movl 72(%ebp,%eax,4),%eax 524 movl 1096(%ebp,%ebx,4),%ebx 525 addl %eax,%ebx 526 movl 2120(%ebp,%ecx,4),%eax 527 xorl %eax,%ebx 528 movl 3144(%ebp,%edx,4),%edx 529 addl %edx,%ebx 530 xorl %eax,%eax 531 xorl %ebx,%edi 532 533 534 movl 32(%ebp),%edx 535 movl %edi,%ebx 536 xorl %edx,%esi 537 shrl $16,%ebx 538 movl %edi,%edx 539 movb %bh,%al 540 andl $255,%ebx 541 movb %dh,%cl 542 andl $255,%edx 543 movl 72(%ebp,%eax,4),%eax 544 movl 1096(%ebp,%ebx,4),%ebx 545 addl %eax,%ebx 546 movl 2120(%ebp,%ecx,4),%eax 547 xorl %eax,%ebx 548 movl 3144(%ebp,%edx,4),%edx 549 addl %edx,%ebx 550 xorl %eax,%eax 551 xorl %ebx,%esi 552 553 554 movl 28(%ebp),%edx 555 movl %esi,%ebx 556 xorl %edx,%edi 557 shrl $16,%ebx 558 movl %esi,%edx 559 movb %bh,%al 560 andl $255,%ebx 561 movb %dh,%cl 562 andl $255,%edx 563 movl 72(%ebp,%eax,4),%eax 564 movl 1096(%ebp,%ebx,4),%ebx 565 addl %eax,%ebx 566 movl 2120(%ebp,%ecx,4),%eax 567 xorl %eax,%ebx 568 movl 3144(%ebp,%edx,4),%edx 569 addl %edx,%ebx 570 xorl %eax,%eax 571 xorl %ebx,%edi 572 573 574 movl 24(%ebp),%edx 575 movl %edi,%ebx 576 xorl %edx,%esi 577 shrl $16,%ebx 578 movl %edi,%edx 579 movb %bh,%al 580 andl $255,%ebx 581 movb %dh,%cl 582 andl $255,%edx 583 movl 72(%ebp,%eax,4),%eax 584 movl 1096(%ebp,%ebx,4),%ebx 585 addl %eax,%ebx 586 movl 2120(%ebp,%ecx,4),%eax 587 xorl %eax,%ebx 588 movl 3144(%ebp,%edx,4),%edx 589 addl %edx,%ebx 590 xorl %eax,%eax 591 xorl %ebx,%esi 592 593 594 movl 20(%ebp),%edx 595 movl %esi,%ebx 596 xorl %edx,%edi 597 shrl $16,%ebx 598 movl %esi,%edx 599 movb %bh,%al 600 andl $255,%ebx 601 movb %dh,%cl 602 andl $255,%edx 603 movl 72(%ebp,%eax,4),%eax 604 movl 1096(%ebp,%ebx,4),%ebx 605 addl %eax,%ebx 606 movl 2120(%ebp,%ecx,4),%eax 607 xorl %eax,%ebx 608 movl 3144(%ebp,%edx,4),%edx 609 addl %edx,%ebx 610 xorl %eax,%eax 611 xorl %ebx,%edi 612 613 614 movl 16(%ebp),%edx 615 movl %edi,%ebx 616 xorl %edx,%esi 617 shrl $16,%ebx 618 movl %edi,%edx 619 movb %bh,%al 620 andl $255,%ebx 621 movb %dh,%cl 622 andl $255,%edx 623 movl 72(%ebp,%eax,4),%eax 624 movl 1096(%ebp,%ebx,4),%ebx 625 addl %eax,%ebx 626 movl 2120(%ebp,%ecx,4),%eax 627 xorl %eax,%ebx 628 movl 3144(%ebp,%edx,4),%edx 629 addl %edx,%ebx 630 xorl %eax,%eax 631 xorl %ebx,%esi 632 633 634 movl 12(%ebp),%edx 635 movl %esi,%ebx 636 xorl %edx,%edi 637 shrl $16,%ebx 638 movl %esi,%edx 639 movb %bh,%al 640 andl $255,%ebx 641 movb %dh,%cl 642 andl $255,%edx 643 movl 72(%ebp,%eax,4),%eax 644 movl 1096(%ebp,%ebx,4),%ebx 645 addl %eax,%ebx 646 movl 2120(%ebp,%ecx,4),%eax 647 xorl %eax,%ebx 648 movl 3144(%ebp,%edx,4),%edx 649 addl %edx,%ebx 650 xorl %eax,%eax 651 xorl %ebx,%edi 652 653 654 movl 8(%ebp),%edx 655 movl %edi,%ebx 656 xorl %edx,%esi 657 shrl $16,%ebx 658 movl %edi,%edx 659 movb %bh,%al 660 andl $255,%ebx 661 movb %dh,%cl 662 andl $255,%edx 663 movl 72(%ebp,%eax,4),%eax 664 movl 1096(%ebp,%ebx,4),%ebx 665 addl %eax,%ebx 666 movl 2120(%ebp,%ecx,4),%eax 667 xorl %eax,%ebx 668 movl 3144(%ebp,%edx,4),%edx 669 addl %edx,%ebx 670 xorl %eax,%eax 671 xorl %ebx,%esi 672 673 674 movl 4(%ebp),%edx 675 movl %esi,%ebx 676 xorl %edx,%edi 677 shrl $16,%ebx 678 movl %esi,%edx 679 movb %bh,%al 680 andl $255,%ebx 681 movb %dh,%cl 682 andl $255,%edx 683 movl 72(%ebp,%eax,4),%eax 684 movl 1096(%ebp,%ebx,4),%ebx 685 addl %eax,%ebx 686 movl 2120(%ebp,%ecx,4),%eax 687 xorl %eax,%ebx 688 movl 3144(%ebp,%edx,4),%edx 689 addl %edx,%ebx 690 691 movl 20(%esp),%eax 692 xorl %ebx,%edi 693 movl (%ebp),%edx 694 xorl %edx,%esi 695 movl %edi,4(%eax) 696 movl %esi,(%eax) 697 popl %edi 698 popl %esi 699 popl %ebx 700 popl %ebp 701 ret 702 .size BF_decrypt,.-.L_BF_decrypt_begin 703 .globl BF_cbc_encrypt 704 .type BF_cbc_encrypt,@function 705 .align 16 706 BF_cbc_encrypt: 707 .L_BF_cbc_encrypt_begin: 708 709 pushl %ebp 710 pushl %ebx 711 pushl %esi 712 pushl %edi 713 movl 28(%esp),%ebp 714 715 movl 36(%esp),%ebx 716 movl (%ebx),%esi 717 movl 4(%ebx),%edi 718 pushl %edi 719 pushl %esi 720 pushl %edi 721 pushl %esi 722 movl %esp,%ebx 723 movl 36(%esp),%esi 724 movl 40(%esp),%edi 725 726 movl 56(%esp),%ecx 727 728 movl 48(%esp),%eax 729 pushl %eax 730 pushl %ebx 731 cmpl $0,%ecx 732 jz .L000decrypt 733 andl $4294967288,%ebp 734 movl 8(%esp),%eax 735 movl 12(%esp),%ebx 736 jz .L001encrypt_finish 737 .L002encrypt_loop: 738 movl (%esi),%ecx 739 movl 4(%esi),%edx 740 xorl %ecx,%eax 741 xorl %edx,%ebx 742 bswap %eax 743 bswap %ebx 744 movl %eax,8(%esp) 745 movl %ebx,12(%esp) 746 call .L_BF_encrypt_begin 747 movl 8(%esp),%eax 748 movl 12(%esp),%ebx 749 bswap %eax 750 bswap %ebx 751 movl %eax,(%edi) 752 movl %ebx,4(%edi) 753 addl $8,%esi 754 addl $8,%edi 755 subl $8,%ebp 756 jnz .L002encrypt_loop 757 .L001encrypt_finish: 758 movl 52(%esp),%ebp 759 andl $7,%ebp 760 jz .L003finish 761 call .L004PIC_point 762 .L004PIC_point: 763 popl %edx 764 leal .L005cbc_enc_jmp_table-.L004PIC_point(%edx),%ecx 765 movl (%ecx,%ebp,4),%ebp 766 addl %edx,%ebp 767 xorl %ecx,%ecx 768 xorl %edx,%edx 769 jmp *%ebp 770 .L006ej7: 771 movb 6(%esi),%dh 772 shll $8,%edx 773 .L007ej6: 774 movb 5(%esi),%dh 775 .L008ej5: 776 movb 4(%esi),%dl 777 .L009ej4: 778 movl (%esi),%ecx 779 jmp .L010ejend 780 .L011ej3: 781 movb 2(%esi),%ch 782 shll $8,%ecx 783 .L012ej2: 784 movb 1(%esi),%ch 785 .L013ej1: 786 movb (%esi),%cl 787 .L010ejend: 788 xorl %ecx,%eax 789 xorl %edx,%ebx 790 bswap %eax 791 bswap %ebx 792 movl %eax,8(%esp) 793 movl %ebx,12(%esp) 794 call .L_BF_encrypt_begin 795 movl 8(%esp),%eax 796 movl 12(%esp),%ebx 797 bswap %eax 798 bswap %ebx 799 movl %eax,(%edi) 800 movl %ebx,4(%edi) 801 jmp .L003finish 802 .L000decrypt: 803 andl $4294967288,%ebp 804 movl 16(%esp),%eax 805 movl 20(%esp),%ebx 806 jz .L014decrypt_finish 807 .L015decrypt_loop: 808 movl (%esi),%eax 809 movl 4(%esi),%ebx 810 bswap %eax 811 bswap %ebx 812 movl %eax,8(%esp) 813 movl %ebx,12(%esp) 814 call .L_BF_decrypt_begin 815 movl 8(%esp),%eax 816 movl 12(%esp),%ebx 817 bswap %eax 818 bswap %ebx 819 movl 16(%esp),%ecx 820 movl 20(%esp),%edx 821 xorl %eax,%ecx 822 xorl %ebx,%edx 823 movl (%esi),%eax 824 movl 4(%esi),%ebx 825 movl %ecx,(%edi) 826 movl %edx,4(%edi) 827 movl %eax,16(%esp) 828 movl %ebx,20(%esp) 829 addl $8,%esi 830 addl $8,%edi 831 subl $8,%ebp 832 jnz .L015decrypt_loop 833 .L014decrypt_finish: 834 movl 52(%esp),%ebp 835 andl $7,%ebp 836 jz .L003finish 837 movl (%esi),%eax 838 movl 4(%esi),%ebx 839 bswap %eax 840 bswap %ebx 841 movl %eax,8(%esp) 842 movl %ebx,12(%esp) 843 call .L_BF_decrypt_begin 844 movl 8(%esp),%eax 845 movl 12(%esp),%ebx 846 bswap %eax 847 bswap %ebx 848 movl 16(%esp),%ecx 849 movl 20(%esp),%edx 850 xorl %eax,%ecx 851 xorl %ebx,%edx 852 movl (%esi),%eax 853 movl 4(%esi),%ebx 854 .L016dj7: 855 rorl $16,%edx 856 movb %dl,6(%edi) 857 shrl $16,%edx 858 .L017dj6: 859 movb %dh,5(%edi) 860 .L018dj5: 861 movb %dl,4(%edi) 862 .L019dj4: 863 movl %ecx,(%edi) 864 jmp .L020djend 865 .L021dj3: 866 rorl $16,%ecx 867 movb %cl,2(%edi) 868 shll $16,%ecx 869 .L022dj2: 870 movb %ch,1(%esi) 871 .L023dj1: 872 movb %cl,(%esi) 873 .L020djend: 874 jmp .L003finish 875 .L003finish: 876 movl 60(%esp),%ecx 877 addl $24,%esp 878 movl %eax,(%ecx) 879 movl %ebx,4(%ecx) 880 popl %edi 881 popl %esi 882 popl %ebx 883 popl %ebp 884 ret 885 .align 64 886 .L005cbc_enc_jmp_table: 887 .long 0 888 .long .L013ej1-.L004PIC_point 889 .long .L012ej2-.L004PIC_point 890 .long .L011ej3-.L004PIC_point 891 .long .L009ej4-.L004PIC_point 892 .long .L008ej5-.L004PIC_point 893 .long .L007ej6-.L004PIC_point 894 .long .L006ej7-.L004PIC_point 895 .align 64 896 .size BF_cbc_encrypt,.-.L_BF_cbc_encrypt_begin 897