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