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