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