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