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