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