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