1#include <machine/asm.h> 2.text 3.globl md5_block_asm_data_order 4.type md5_block_asm_data_order,@function 5.align 16 6md5_block_asm_data_order: 7.L_md5_block_asm_data_order_begin: 8 pushl %esi 9 pushl %edi 10 movl 12(%esp),%edi 11 movl 16(%esp),%esi 12 movl 20(%esp),%ecx 13 pushl %ebp 14 shll $6,%ecx 15 pushl %ebx 16 addl %esi,%ecx 17 subl $64,%ecx 18 movl (%edi),%eax 19 pushl %ecx 20 movl 4(%edi),%ebx 21 movl 8(%edi),%ecx 22 movl 12(%edi),%edx 23.L000start: 24 25 26 movl %ecx,%edi 27 movl (%esi),%ebp 28 29 xorl %edx,%edi 30 andl %ebx,%edi 31 leal 3614090360(%eax,%ebp,1),%eax 32 xorl %edx,%edi 33 movl 4(%esi),%ebp 34 addl %edi,%eax 35 roll $7,%eax 36 movl %ebx,%edi 37 addl %ebx,%eax 38 39 xorl %ecx,%edi 40 andl %eax,%edi 41 leal 3905402710(%edx,%ebp,1),%edx 42 xorl %ecx,%edi 43 movl 8(%esi),%ebp 44 addl %edi,%edx 45 roll $12,%edx 46 movl %eax,%edi 47 addl %eax,%edx 48 49 xorl %ebx,%edi 50 andl %edx,%edi 51 leal 606105819(%ecx,%ebp,1),%ecx 52 xorl %ebx,%edi 53 movl 12(%esi),%ebp 54 addl %edi,%ecx 55 roll $17,%ecx 56 movl %edx,%edi 57 addl %edx,%ecx 58 59 xorl %eax,%edi 60 andl %ecx,%edi 61 leal 3250441966(%ebx,%ebp,1),%ebx 62 xorl %eax,%edi 63 movl 16(%esi),%ebp 64 addl %edi,%ebx 65 roll $22,%ebx 66 movl %ecx,%edi 67 addl %ecx,%ebx 68 69 xorl %edx,%edi 70 andl %ebx,%edi 71 leal 4118548399(%eax,%ebp,1),%eax 72 xorl %edx,%edi 73 movl 20(%esi),%ebp 74 addl %edi,%eax 75 roll $7,%eax 76 movl %ebx,%edi 77 addl %ebx,%eax 78 79 xorl %ecx,%edi 80 andl %eax,%edi 81 leal 1200080426(%edx,%ebp,1),%edx 82 xorl %ecx,%edi 83 movl 24(%esi),%ebp 84 addl %edi,%edx 85 roll $12,%edx 86 movl %eax,%edi 87 addl %eax,%edx 88 89 xorl %ebx,%edi 90 andl %edx,%edi 91 leal 2821735955(%ecx,%ebp,1),%ecx 92 xorl %ebx,%edi 93 movl 28(%esi),%ebp 94 addl %edi,%ecx 95 roll $17,%ecx 96 movl %edx,%edi 97 addl %edx,%ecx 98 99 xorl %eax,%edi 100 andl %ecx,%edi 101 leal 4249261313(%ebx,%ebp,1),%ebx 102 xorl %eax,%edi 103 movl 32(%esi),%ebp 104 addl %edi,%ebx 105 roll $22,%ebx 106 movl %ecx,%edi 107 addl %ecx,%ebx 108 109 xorl %edx,%edi 110 andl %ebx,%edi 111 leal 1770035416(%eax,%ebp,1),%eax 112 xorl %edx,%edi 113 movl 36(%esi),%ebp 114 addl %edi,%eax 115 roll $7,%eax 116 movl %ebx,%edi 117 addl %ebx,%eax 118 119 xorl %ecx,%edi 120 andl %eax,%edi 121 leal 2336552879(%edx,%ebp,1),%edx 122 xorl %ecx,%edi 123 movl 40(%esi),%ebp 124 addl %edi,%edx 125 roll $12,%edx 126 movl %eax,%edi 127 addl %eax,%edx 128 129 xorl %ebx,%edi 130 andl %edx,%edi 131 leal 4294925233(%ecx,%ebp,1),%ecx 132 xorl %ebx,%edi 133 movl 44(%esi),%ebp 134 addl %edi,%ecx 135 roll $17,%ecx 136 movl %edx,%edi 137 addl %edx,%ecx 138 139 xorl %eax,%edi 140 andl %ecx,%edi 141 leal 2304563134(%ebx,%ebp,1),%ebx 142 xorl %eax,%edi 143 movl 48(%esi),%ebp 144 addl %edi,%ebx 145 roll $22,%ebx 146 movl %ecx,%edi 147 addl %ecx,%ebx 148 149 xorl %edx,%edi 150 andl %ebx,%edi 151 leal 1804603682(%eax,%ebp,1),%eax 152 xorl %edx,%edi 153 movl 52(%esi),%ebp 154 addl %edi,%eax 155 roll $7,%eax 156 movl %ebx,%edi 157 addl %ebx,%eax 158 159 xorl %ecx,%edi 160 andl %eax,%edi 161 leal 4254626195(%edx,%ebp,1),%edx 162 xorl %ecx,%edi 163 movl 56(%esi),%ebp 164 addl %edi,%edx 165 roll $12,%edx 166 movl %eax,%edi 167 addl %eax,%edx 168 169 xorl %ebx,%edi 170 andl %edx,%edi 171 leal 2792965006(%ecx,%ebp,1),%ecx 172 xorl %ebx,%edi 173 movl 60(%esi),%ebp 174 addl %edi,%ecx 175 roll $17,%ecx 176 movl %edx,%edi 177 addl %edx,%ecx 178 179 xorl %eax,%edi 180 andl %ecx,%edi 181 leal 1236535329(%ebx,%ebp,1),%ebx 182 xorl %eax,%edi 183 movl 4(%esi),%ebp 184 addl %edi,%ebx 185 roll $22,%ebx 186 movl %ecx,%edi 187 addl %ecx,%ebx 188 189 190 191 xorl %ebx,%edi 192 andl %edx,%edi 193 leal 4129170786(%eax,%ebp,1),%eax 194 xorl %ecx,%edi 195 movl 24(%esi),%ebp 196 addl %edi,%eax 197 movl %ebx,%edi 198 roll $5,%eax 199 addl %ebx,%eax 200 201 xorl %eax,%edi 202 andl %ecx,%edi 203 leal 3225465664(%edx,%ebp,1),%edx 204 xorl %ebx,%edi 205 movl 44(%esi),%ebp 206 addl %edi,%edx 207 movl %eax,%edi 208 roll $9,%edx 209 addl %eax,%edx 210 211 xorl %edx,%edi 212 andl %ebx,%edi 213 leal 643717713(%ecx,%ebp,1),%ecx 214 xorl %eax,%edi 215 movl (%esi),%ebp 216 addl %edi,%ecx 217 movl %edx,%edi 218 roll $14,%ecx 219 addl %edx,%ecx 220 221 xorl %ecx,%edi 222 andl %eax,%edi 223 leal 3921069994(%ebx,%ebp,1),%ebx 224 xorl %edx,%edi 225 movl 20(%esi),%ebp 226 addl %edi,%ebx 227 movl %ecx,%edi 228 roll $20,%ebx 229 addl %ecx,%ebx 230 231 xorl %ebx,%edi 232 andl %edx,%edi 233 leal 3593408605(%eax,%ebp,1),%eax 234 xorl %ecx,%edi 235 movl 40(%esi),%ebp 236 addl %edi,%eax 237 movl %ebx,%edi 238 roll $5,%eax 239 addl %ebx,%eax 240 241 xorl %eax,%edi 242 andl %ecx,%edi 243 leal 38016083(%edx,%ebp,1),%edx 244 xorl %ebx,%edi 245 movl 60(%esi),%ebp 246 addl %edi,%edx 247 movl %eax,%edi 248 roll $9,%edx 249 addl %eax,%edx 250 251 xorl %edx,%edi 252 andl %ebx,%edi 253 leal 3634488961(%ecx,%ebp,1),%ecx 254 xorl %eax,%edi 255 movl 16(%esi),%ebp 256 addl %edi,%ecx 257 movl %edx,%edi 258 roll $14,%ecx 259 addl %edx,%ecx 260 261 xorl %ecx,%edi 262 andl %eax,%edi 263 leal 3889429448(%ebx,%ebp,1),%ebx 264 xorl %edx,%edi 265 movl 36(%esi),%ebp 266 addl %edi,%ebx 267 movl %ecx,%edi 268 roll $20,%ebx 269 addl %ecx,%ebx 270 271 xorl %ebx,%edi 272 andl %edx,%edi 273 leal 568446438(%eax,%ebp,1),%eax 274 xorl %ecx,%edi 275 movl 56(%esi),%ebp 276 addl %edi,%eax 277 movl %ebx,%edi 278 roll $5,%eax 279 addl %ebx,%eax 280 281 xorl %eax,%edi 282 andl %ecx,%edi 283 leal 3275163606(%edx,%ebp,1),%edx 284 xorl %ebx,%edi 285 movl 12(%esi),%ebp 286 addl %edi,%edx 287 movl %eax,%edi 288 roll $9,%edx 289 addl %eax,%edx 290 291 xorl %edx,%edi 292 andl %ebx,%edi 293 leal 4107603335(%ecx,%ebp,1),%ecx 294 xorl %eax,%edi 295 movl 32(%esi),%ebp 296 addl %edi,%ecx 297 movl %edx,%edi 298 roll $14,%ecx 299 addl %edx,%ecx 300 301 xorl %ecx,%edi 302 andl %eax,%edi 303 leal 1163531501(%ebx,%ebp,1),%ebx 304 xorl %edx,%edi 305 movl 52(%esi),%ebp 306 addl %edi,%ebx 307 movl %ecx,%edi 308 roll $20,%ebx 309 addl %ecx,%ebx 310 311 xorl %ebx,%edi 312 andl %edx,%edi 313 leal 2850285829(%eax,%ebp,1),%eax 314 xorl %ecx,%edi 315 movl 8(%esi),%ebp 316 addl %edi,%eax 317 movl %ebx,%edi 318 roll $5,%eax 319 addl %ebx,%eax 320 321 xorl %eax,%edi 322 andl %ecx,%edi 323 leal 4243563512(%edx,%ebp,1),%edx 324 xorl %ebx,%edi 325 movl 28(%esi),%ebp 326 addl %edi,%edx 327 movl %eax,%edi 328 roll $9,%edx 329 addl %eax,%edx 330 331 xorl %edx,%edi 332 andl %ebx,%edi 333 leal 1735328473(%ecx,%ebp,1),%ecx 334 xorl %eax,%edi 335 movl 48(%esi),%ebp 336 addl %edi,%ecx 337 movl %edx,%edi 338 roll $14,%ecx 339 addl %edx,%ecx 340 341 xorl %ecx,%edi 342 andl %eax,%edi 343 leal 2368359562(%ebx,%ebp,1),%ebx 344 xorl %edx,%edi 345 movl 20(%esi),%ebp 346 addl %edi,%ebx 347 movl %ecx,%edi 348 roll $20,%ebx 349 addl %ecx,%ebx 350 351 352 353 xorl %edx,%edi 354 xorl %ebx,%edi 355 leal 4294588738(%eax,%ebp,1),%eax 356 addl %edi,%eax 357 movl 32(%esi),%ebp 358 roll $4,%eax 359 movl %ebx,%edi 360 361 addl %ebx,%eax 362 xorl %ecx,%edi 363 leal 2272392833(%edx,%ebp,1),%edx 364 xorl %eax,%edi 365 movl 44(%esi),%ebp 366 addl %edi,%edx 367 movl %eax,%edi 368 roll $11,%edx 369 addl %eax,%edx 370 371 xorl %ebx,%edi 372 xorl %edx,%edi 373 leal 1839030562(%ecx,%ebp,1),%ecx 374 addl %edi,%ecx 375 movl 56(%esi),%ebp 376 roll $16,%ecx 377 movl %edx,%edi 378 379 addl %edx,%ecx 380 xorl %eax,%edi 381 leal 4259657740(%ebx,%ebp,1),%ebx 382 xorl %ecx,%edi 383 movl 4(%esi),%ebp 384 addl %edi,%ebx 385 movl %ecx,%edi 386 roll $23,%ebx 387 addl %ecx,%ebx 388 389 xorl %edx,%edi 390 xorl %ebx,%edi 391 leal 2763975236(%eax,%ebp,1),%eax 392 addl %edi,%eax 393 movl 16(%esi),%ebp 394 roll $4,%eax 395 movl %ebx,%edi 396 397 addl %ebx,%eax 398 xorl %ecx,%edi 399 leal 1272893353(%edx,%ebp,1),%edx 400 xorl %eax,%edi 401 movl 28(%esi),%ebp 402 addl %edi,%edx 403 movl %eax,%edi 404 roll $11,%edx 405 addl %eax,%edx 406 407 xorl %ebx,%edi 408 xorl %edx,%edi 409 leal 4139469664(%ecx,%ebp,1),%ecx 410 addl %edi,%ecx 411 movl 40(%esi),%ebp 412 roll $16,%ecx 413 movl %edx,%edi 414 415 addl %edx,%ecx 416 xorl %eax,%edi 417 leal 3200236656(%ebx,%ebp,1),%ebx 418 xorl %ecx,%edi 419 movl 52(%esi),%ebp 420 addl %edi,%ebx 421 movl %ecx,%edi 422 roll $23,%ebx 423 addl %ecx,%ebx 424 425 xorl %edx,%edi 426 xorl %ebx,%edi 427 leal 681279174(%eax,%ebp,1),%eax 428 addl %edi,%eax 429 movl (%esi),%ebp 430 roll $4,%eax 431 movl %ebx,%edi 432 433 addl %ebx,%eax 434 xorl %ecx,%edi 435 leal 3936430074(%edx,%ebp,1),%edx 436 xorl %eax,%edi 437 movl 12(%esi),%ebp 438 addl %edi,%edx 439 movl %eax,%edi 440 roll $11,%edx 441 addl %eax,%edx 442 443 xorl %ebx,%edi 444 xorl %edx,%edi 445 leal 3572445317(%ecx,%ebp,1),%ecx 446 addl %edi,%ecx 447 movl 24(%esi),%ebp 448 roll $16,%ecx 449 movl %edx,%edi 450 451 addl %edx,%ecx 452 xorl %eax,%edi 453 leal 76029189(%ebx,%ebp,1),%ebx 454 xorl %ecx,%edi 455 movl 36(%esi),%ebp 456 addl %edi,%ebx 457 movl %ecx,%edi 458 roll $23,%ebx 459 addl %ecx,%ebx 460 461 xorl %edx,%edi 462 xorl %ebx,%edi 463 leal 3654602809(%eax,%ebp,1),%eax 464 addl %edi,%eax 465 movl 48(%esi),%ebp 466 roll $4,%eax 467 movl %ebx,%edi 468 469 addl %ebx,%eax 470 xorl %ecx,%edi 471 leal 3873151461(%edx,%ebp,1),%edx 472 xorl %eax,%edi 473 movl 60(%esi),%ebp 474 addl %edi,%edx 475 movl %eax,%edi 476 roll $11,%edx 477 addl %eax,%edx 478 479 xorl %ebx,%edi 480 xorl %edx,%edi 481 leal 530742520(%ecx,%ebp,1),%ecx 482 addl %edi,%ecx 483 movl 8(%esi),%ebp 484 roll $16,%ecx 485 movl %edx,%edi 486 487 addl %edx,%ecx 488 xorl %eax,%edi 489 leal 3299628645(%ebx,%ebp,1),%ebx 490 xorl %ecx,%edi 491 movl (%esi),%ebp 492 addl %edi,%ebx 493 movl $-1,%edi 494 roll $23,%ebx 495 addl %ecx,%ebx 496 497 498 499 xorl %edx,%edi 500 orl %ebx,%edi 501 leal 4096336452(%eax,%ebp,1),%eax 502 xorl %ecx,%edi 503 movl 28(%esi),%ebp 504 addl %edi,%eax 505 movl $-1,%edi 506 roll $6,%eax 507 xorl %ecx,%edi 508 addl %ebx,%eax 509 510 orl %eax,%edi 511 leal 1126891415(%edx,%ebp,1),%edx 512 xorl %ebx,%edi 513 movl 56(%esi),%ebp 514 addl %edi,%edx 515 movl $-1,%edi 516 roll $10,%edx 517 xorl %ebx,%edi 518 addl %eax,%edx 519 520 orl %edx,%edi 521 leal 2878612391(%ecx,%ebp,1),%ecx 522 xorl %eax,%edi 523 movl 20(%esi),%ebp 524 addl %edi,%ecx 525 movl $-1,%edi 526 roll $15,%ecx 527 xorl %eax,%edi 528 addl %edx,%ecx 529 530 orl %ecx,%edi 531 leal 4237533241(%ebx,%ebp,1),%ebx 532 xorl %edx,%edi 533 movl 48(%esi),%ebp 534 addl %edi,%ebx 535 movl $-1,%edi 536 roll $21,%ebx 537 xorl %edx,%edi 538 addl %ecx,%ebx 539 540 orl %ebx,%edi 541 leal 1700485571(%eax,%ebp,1),%eax 542 xorl %ecx,%edi 543 movl 12(%esi),%ebp 544 addl %edi,%eax 545 movl $-1,%edi 546 roll $6,%eax 547 xorl %ecx,%edi 548 addl %ebx,%eax 549 550 orl %eax,%edi 551 leal 2399980690(%edx,%ebp,1),%edx 552 xorl %ebx,%edi 553 movl 40(%esi),%ebp 554 addl %edi,%edx 555 movl $-1,%edi 556 roll $10,%edx 557 xorl %ebx,%edi 558 addl %eax,%edx 559 560 orl %edx,%edi 561 leal 4293915773(%ecx,%ebp,1),%ecx 562 xorl %eax,%edi 563 movl 4(%esi),%ebp 564 addl %edi,%ecx 565 movl $-1,%edi 566 roll $15,%ecx 567 xorl %eax,%edi 568 addl %edx,%ecx 569 570 orl %ecx,%edi 571 leal 2240044497(%ebx,%ebp,1),%ebx 572 xorl %edx,%edi 573 movl 32(%esi),%ebp 574 addl %edi,%ebx 575 movl $-1,%edi 576 roll $21,%ebx 577 xorl %edx,%edi 578 addl %ecx,%ebx 579 580 orl %ebx,%edi 581 leal 1873313359(%eax,%ebp,1),%eax 582 xorl %ecx,%edi 583 movl 60(%esi),%ebp 584 addl %edi,%eax 585 movl $-1,%edi 586 roll $6,%eax 587 xorl %ecx,%edi 588 addl %ebx,%eax 589 590 orl %eax,%edi 591 leal 4264355552(%edx,%ebp,1),%edx 592 xorl %ebx,%edi 593 movl 24(%esi),%ebp 594 addl %edi,%edx 595 movl $-1,%edi 596 roll $10,%edx 597 xorl %ebx,%edi 598 addl %eax,%edx 599 600 orl %edx,%edi 601 leal 2734768916(%ecx,%ebp,1),%ecx 602 xorl %eax,%edi 603 movl 52(%esi),%ebp 604 addl %edi,%ecx 605 movl $-1,%edi 606 roll $15,%ecx 607 xorl %eax,%edi 608 addl %edx,%ecx 609 610 orl %ecx,%edi 611 leal 1309151649(%ebx,%ebp,1),%ebx 612 xorl %edx,%edi 613 movl 16(%esi),%ebp 614 addl %edi,%ebx 615 movl $-1,%edi 616 roll $21,%ebx 617 xorl %edx,%edi 618 addl %ecx,%ebx 619 620 orl %ebx,%edi 621 leal 4149444226(%eax,%ebp,1),%eax 622 xorl %ecx,%edi 623 movl 44(%esi),%ebp 624 addl %edi,%eax 625 movl $-1,%edi 626 roll $6,%eax 627 xorl %ecx,%edi 628 addl %ebx,%eax 629 630 orl %eax,%edi 631 leal 3174756917(%edx,%ebp,1),%edx 632 xorl %ebx,%edi 633 movl 8(%esi),%ebp 634 addl %edi,%edx 635 movl $-1,%edi 636 roll $10,%edx 637 xorl %ebx,%edi 638 addl %eax,%edx 639 640 orl %edx,%edi 641 leal 718787259(%ecx,%ebp,1),%ecx 642 xorl %eax,%edi 643 movl 36(%esi),%ebp 644 addl %edi,%ecx 645 movl $-1,%edi 646 roll $15,%ecx 647 xorl %eax,%edi 648 addl %edx,%ecx 649 650 orl %ecx,%edi 651 leal 3951481745(%ebx,%ebp,1),%ebx 652 xorl %edx,%edi 653 movl 24(%esp),%ebp 654 addl %edi,%ebx 655 addl $64,%esi 656 roll $21,%ebx 657 movl (%ebp),%edi 658 addl %ecx,%ebx 659 addl %edi,%eax 660 movl 4(%ebp),%edi 661 addl %edi,%ebx 662 movl 8(%ebp),%edi 663 addl %edi,%ecx 664 movl 12(%ebp),%edi 665 addl %edi,%edx 666 movl %eax,(%ebp) 667 movl %ebx,4(%ebp) 668 movl (%esp),%edi 669 movl %ecx,8(%ebp) 670 movl %edx,12(%ebp) 671 cmpl %esi,%edi 672 jae .L000start 673 popl %eax 674 popl %ebx 675 popl %ebp 676 popl %edi 677 popl %esi 678 ret 679.size md5_block_asm_data_order,.-.L_md5_block_asm_data_order_begin 680