1.text 2.align 16 3 4.globl rc4_md5_enc 5.type rc4_md5_enc,@function 6rc4_md5_enc: 7.cfi_startproc 8 cmpq $0,%r9 9 je .Labort 10 pushq %rbx 11.cfi_adjust_cfa_offset 8 12.cfi_offset %rbx,-16 13 pushq %rbp 14.cfi_adjust_cfa_offset 8 15.cfi_offset %rbp,-24 16 pushq %r12 17.cfi_adjust_cfa_offset 8 18.cfi_offset %r12,-32 19 pushq %r13 20.cfi_adjust_cfa_offset 8 21.cfi_offset %r13,-40 22 pushq %r14 23.cfi_adjust_cfa_offset 8 24.cfi_offset %r14,-48 25 pushq %r15 26.cfi_adjust_cfa_offset 8 27.cfi_offset %r15,-56 28 subq $40,%rsp 29.cfi_adjust_cfa_offset 40 30.Lbody: 31 movq %rcx,%r11 32 movq %r9,%r12 33 movq %rsi,%r13 34 movq %rdx,%r14 35 movq %r8,%r15 36 xorq %rbp,%rbp 37 xorq %rcx,%rcx 38 39 leaq 8(%rdi),%rdi 40 movb -8(%rdi),%bpl 41 movb -4(%rdi),%cl 42 43 incb %bpl 44 subq %r13,%r14 45 movl (%rdi,%rbp,4),%eax 46 addb %al,%cl 47 leaq (%rdi,%rbp,4),%rsi 48 shlq $6,%r12 49 addq %r15,%r12 50 movq %r12,16(%rsp) 51 52 movq %r11,24(%rsp) 53 movl 0(%r11),%r8d 54 movl 4(%r11),%r9d 55 movl 8(%r11),%r10d 56 movl 12(%r11),%r11d 57 jmp .Loop 58 59.align 16 60.Loop: 61 movl %r8d,0(%rsp) 62 movl %r9d,4(%rsp) 63 movl %r10d,8(%rsp) 64 movl %r11d,%r12d 65 movl %r11d,12(%rsp) 66 pxor %xmm0,%xmm0 67 movl (%rdi,%rcx,4),%edx 68 xorl %r10d,%r12d 69 movl %eax,(%rdi,%rcx,4) 70 andl %r9d,%r12d 71 addl 0(%r15),%r8d 72 addb %dl,%al 73 movl 4(%rsi),%ebx 74 addl $3614090360,%r8d 75 xorl %r11d,%r12d 76 movzbl %al,%eax 77 movl %edx,0(%rsi) 78 addl %r12d,%r8d 79 addb %bl,%cl 80 roll $7,%r8d 81 movl %r10d,%r12d 82 movd (%rdi,%rax,4),%xmm0 83 84 addl %r9d,%r8d 85 pxor %xmm1,%xmm1 86 movl (%rdi,%rcx,4),%edx 87 xorl %r9d,%r12d 88 movl %ebx,(%rdi,%rcx,4) 89 andl %r8d,%r12d 90 addl 4(%r15),%r11d 91 addb %dl,%bl 92 movl 8(%rsi),%eax 93 addl $3905402710,%r11d 94 xorl %r10d,%r12d 95 movzbl %bl,%ebx 96 movl %edx,4(%rsi) 97 addl %r12d,%r11d 98 addb %al,%cl 99 roll $12,%r11d 100 movl %r9d,%r12d 101 movd (%rdi,%rbx,4),%xmm1 102 103 addl %r8d,%r11d 104 movl (%rdi,%rcx,4),%edx 105 xorl %r8d,%r12d 106 movl %eax,(%rdi,%rcx,4) 107 andl %r11d,%r12d 108 addl 8(%r15),%r10d 109 addb %dl,%al 110 movl 12(%rsi),%ebx 111 addl $606105819,%r10d 112 xorl %r9d,%r12d 113 movzbl %al,%eax 114 movl %edx,8(%rsi) 115 addl %r12d,%r10d 116 addb %bl,%cl 117 roll $17,%r10d 118 movl %r8d,%r12d 119 pinsrw $1,(%rdi,%rax,4),%xmm0 120 121 addl %r11d,%r10d 122 movl (%rdi,%rcx,4),%edx 123 xorl %r11d,%r12d 124 movl %ebx,(%rdi,%rcx,4) 125 andl %r10d,%r12d 126 addl 12(%r15),%r9d 127 addb %dl,%bl 128 movl 16(%rsi),%eax 129 addl $3250441966,%r9d 130 xorl %r8d,%r12d 131 movzbl %bl,%ebx 132 movl %edx,12(%rsi) 133 addl %r12d,%r9d 134 addb %al,%cl 135 roll $22,%r9d 136 movl %r11d,%r12d 137 pinsrw $1,(%rdi,%rbx,4),%xmm1 138 139 addl %r10d,%r9d 140 movl (%rdi,%rcx,4),%edx 141 xorl %r10d,%r12d 142 movl %eax,(%rdi,%rcx,4) 143 andl %r9d,%r12d 144 addl 16(%r15),%r8d 145 addb %dl,%al 146 movl 20(%rsi),%ebx 147 addl $4118548399,%r8d 148 xorl %r11d,%r12d 149 movzbl %al,%eax 150 movl %edx,16(%rsi) 151 addl %r12d,%r8d 152 addb %bl,%cl 153 roll $7,%r8d 154 movl %r10d,%r12d 155 pinsrw $2,(%rdi,%rax,4),%xmm0 156 157 addl %r9d,%r8d 158 movl (%rdi,%rcx,4),%edx 159 xorl %r9d,%r12d 160 movl %ebx,(%rdi,%rcx,4) 161 andl %r8d,%r12d 162 addl 20(%r15),%r11d 163 addb %dl,%bl 164 movl 24(%rsi),%eax 165 addl $1200080426,%r11d 166 xorl %r10d,%r12d 167 movzbl %bl,%ebx 168 movl %edx,20(%rsi) 169 addl %r12d,%r11d 170 addb %al,%cl 171 roll $12,%r11d 172 movl %r9d,%r12d 173 pinsrw $2,(%rdi,%rbx,4),%xmm1 174 175 addl %r8d,%r11d 176 movl (%rdi,%rcx,4),%edx 177 xorl %r8d,%r12d 178 movl %eax,(%rdi,%rcx,4) 179 andl %r11d,%r12d 180 addl 24(%r15),%r10d 181 addb %dl,%al 182 movl 28(%rsi),%ebx 183 addl $2821735955,%r10d 184 xorl %r9d,%r12d 185 movzbl %al,%eax 186 movl %edx,24(%rsi) 187 addl %r12d,%r10d 188 addb %bl,%cl 189 roll $17,%r10d 190 movl %r8d,%r12d 191 pinsrw $3,(%rdi,%rax,4),%xmm0 192 193 addl %r11d,%r10d 194 movl (%rdi,%rcx,4),%edx 195 xorl %r11d,%r12d 196 movl %ebx,(%rdi,%rcx,4) 197 andl %r10d,%r12d 198 addl 28(%r15),%r9d 199 addb %dl,%bl 200 movl 32(%rsi),%eax 201 addl $4249261313,%r9d 202 xorl %r8d,%r12d 203 movzbl %bl,%ebx 204 movl %edx,28(%rsi) 205 addl %r12d,%r9d 206 addb %al,%cl 207 roll $22,%r9d 208 movl %r11d,%r12d 209 pinsrw $3,(%rdi,%rbx,4),%xmm1 210 211 addl %r10d,%r9d 212 movl (%rdi,%rcx,4),%edx 213 xorl %r10d,%r12d 214 movl %eax,(%rdi,%rcx,4) 215 andl %r9d,%r12d 216 addl 32(%r15),%r8d 217 addb %dl,%al 218 movl 36(%rsi),%ebx 219 addl $1770035416,%r8d 220 xorl %r11d,%r12d 221 movzbl %al,%eax 222 movl %edx,32(%rsi) 223 addl %r12d,%r8d 224 addb %bl,%cl 225 roll $7,%r8d 226 movl %r10d,%r12d 227 pinsrw $4,(%rdi,%rax,4),%xmm0 228 229 addl %r9d,%r8d 230 movl (%rdi,%rcx,4),%edx 231 xorl %r9d,%r12d 232 movl %ebx,(%rdi,%rcx,4) 233 andl %r8d,%r12d 234 addl 36(%r15),%r11d 235 addb %dl,%bl 236 movl 40(%rsi),%eax 237 addl $2336552879,%r11d 238 xorl %r10d,%r12d 239 movzbl %bl,%ebx 240 movl %edx,36(%rsi) 241 addl %r12d,%r11d 242 addb %al,%cl 243 roll $12,%r11d 244 movl %r9d,%r12d 245 pinsrw $4,(%rdi,%rbx,4),%xmm1 246 247 addl %r8d,%r11d 248 movl (%rdi,%rcx,4),%edx 249 xorl %r8d,%r12d 250 movl %eax,(%rdi,%rcx,4) 251 andl %r11d,%r12d 252 addl 40(%r15),%r10d 253 addb %dl,%al 254 movl 44(%rsi),%ebx 255 addl $4294925233,%r10d 256 xorl %r9d,%r12d 257 movzbl %al,%eax 258 movl %edx,40(%rsi) 259 addl %r12d,%r10d 260 addb %bl,%cl 261 roll $17,%r10d 262 movl %r8d,%r12d 263 pinsrw $5,(%rdi,%rax,4),%xmm0 264 265 addl %r11d,%r10d 266 movl (%rdi,%rcx,4),%edx 267 xorl %r11d,%r12d 268 movl %ebx,(%rdi,%rcx,4) 269 andl %r10d,%r12d 270 addl 44(%r15),%r9d 271 addb %dl,%bl 272 movl 48(%rsi),%eax 273 addl $2304563134,%r9d 274 xorl %r8d,%r12d 275 movzbl %bl,%ebx 276 movl %edx,44(%rsi) 277 addl %r12d,%r9d 278 addb %al,%cl 279 roll $22,%r9d 280 movl %r11d,%r12d 281 pinsrw $5,(%rdi,%rbx,4),%xmm1 282 283 addl %r10d,%r9d 284 movl (%rdi,%rcx,4),%edx 285 xorl %r10d,%r12d 286 movl %eax,(%rdi,%rcx,4) 287 andl %r9d,%r12d 288 addl 48(%r15),%r8d 289 addb %dl,%al 290 movl 52(%rsi),%ebx 291 addl $1804603682,%r8d 292 xorl %r11d,%r12d 293 movzbl %al,%eax 294 movl %edx,48(%rsi) 295 addl %r12d,%r8d 296 addb %bl,%cl 297 roll $7,%r8d 298 movl %r10d,%r12d 299 pinsrw $6,(%rdi,%rax,4),%xmm0 300 301 addl %r9d,%r8d 302 movl (%rdi,%rcx,4),%edx 303 xorl %r9d,%r12d 304 movl %ebx,(%rdi,%rcx,4) 305 andl %r8d,%r12d 306 addl 52(%r15),%r11d 307 addb %dl,%bl 308 movl 56(%rsi),%eax 309 addl $4254626195,%r11d 310 xorl %r10d,%r12d 311 movzbl %bl,%ebx 312 movl %edx,52(%rsi) 313 addl %r12d,%r11d 314 addb %al,%cl 315 roll $12,%r11d 316 movl %r9d,%r12d 317 pinsrw $6,(%rdi,%rbx,4),%xmm1 318 319 addl %r8d,%r11d 320 movl (%rdi,%rcx,4),%edx 321 xorl %r8d,%r12d 322 movl %eax,(%rdi,%rcx,4) 323 andl %r11d,%r12d 324 addl 56(%r15),%r10d 325 addb %dl,%al 326 movl 60(%rsi),%ebx 327 addl $2792965006,%r10d 328 xorl %r9d,%r12d 329 movzbl %al,%eax 330 movl %edx,56(%rsi) 331 addl %r12d,%r10d 332 addb %bl,%cl 333 roll $17,%r10d 334 movl %r8d,%r12d 335 pinsrw $7,(%rdi,%rax,4),%xmm0 336 337 addl %r11d,%r10d 338 movdqu (%r13),%xmm2 339 movl (%rdi,%rcx,4),%edx 340 xorl %r11d,%r12d 341 movl %ebx,(%rdi,%rcx,4) 342 andl %r10d,%r12d 343 addl 60(%r15),%r9d 344 addb %dl,%bl 345 movl 64(%rsi),%eax 346 addl $1236535329,%r9d 347 xorl %r8d,%r12d 348 movzbl %bl,%ebx 349 movl %edx,60(%rsi) 350 addl %r12d,%r9d 351 addb %al,%cl 352 roll $22,%r9d 353 movl %r10d,%r12d 354 pinsrw $7,(%rdi,%rbx,4),%xmm1 355 356 addl %r10d,%r9d 357 psllq $8,%xmm1 358 pxor %xmm0,%xmm2 359 pxor %xmm1,%xmm2 360 pxor %xmm0,%xmm0 361 movl (%rdi,%rcx,4),%edx 362 xorl %r9d,%r12d 363 movl %eax,(%rdi,%rcx,4) 364 andl %r11d,%r12d 365 addl 4(%r15),%r8d 366 addb %dl,%al 367 movl 68(%rsi),%ebx 368 addl $4129170786,%r8d 369 xorl %r10d,%r12d 370 movzbl %al,%eax 371 movl %edx,64(%rsi) 372 addl %r12d,%r8d 373 addb %bl,%cl 374 roll $5,%r8d 375 movl %r9d,%r12d 376 movd (%rdi,%rax,4),%xmm0 377 378 addl %r9d,%r8d 379 pxor %xmm1,%xmm1 380 movl (%rdi,%rcx,4),%edx 381 xorl %r8d,%r12d 382 movl %ebx,(%rdi,%rcx,4) 383 andl %r10d,%r12d 384 addl 24(%r15),%r11d 385 addb %dl,%bl 386 movl 72(%rsi),%eax 387 addl $3225465664,%r11d 388 xorl %r9d,%r12d 389 movzbl %bl,%ebx 390 movl %edx,68(%rsi) 391 addl %r12d,%r11d 392 addb %al,%cl 393 roll $9,%r11d 394 movl %r8d,%r12d 395 movd (%rdi,%rbx,4),%xmm1 396 397 addl %r8d,%r11d 398 movl (%rdi,%rcx,4),%edx 399 xorl %r11d,%r12d 400 movl %eax,(%rdi,%rcx,4) 401 andl %r9d,%r12d 402 addl 44(%r15),%r10d 403 addb %dl,%al 404 movl 76(%rsi),%ebx 405 addl $643717713,%r10d 406 xorl %r8d,%r12d 407 movzbl %al,%eax 408 movl %edx,72(%rsi) 409 addl %r12d,%r10d 410 addb %bl,%cl 411 roll $14,%r10d 412 movl %r11d,%r12d 413 pinsrw $1,(%rdi,%rax,4),%xmm0 414 415 addl %r11d,%r10d 416 movl (%rdi,%rcx,4),%edx 417 xorl %r10d,%r12d 418 movl %ebx,(%rdi,%rcx,4) 419 andl %r8d,%r12d 420 addl 0(%r15),%r9d 421 addb %dl,%bl 422 movl 80(%rsi),%eax 423 addl $3921069994,%r9d 424 xorl %r11d,%r12d 425 movzbl %bl,%ebx 426 movl %edx,76(%rsi) 427 addl %r12d,%r9d 428 addb %al,%cl 429 roll $20,%r9d 430 movl %r10d,%r12d 431 pinsrw $1,(%rdi,%rbx,4),%xmm1 432 433 addl %r10d,%r9d 434 movl (%rdi,%rcx,4),%edx 435 xorl %r9d,%r12d 436 movl %eax,(%rdi,%rcx,4) 437 andl %r11d,%r12d 438 addl 20(%r15),%r8d 439 addb %dl,%al 440 movl 84(%rsi),%ebx 441 addl $3593408605,%r8d 442 xorl %r10d,%r12d 443 movzbl %al,%eax 444 movl %edx,80(%rsi) 445 addl %r12d,%r8d 446 addb %bl,%cl 447 roll $5,%r8d 448 movl %r9d,%r12d 449 pinsrw $2,(%rdi,%rax,4),%xmm0 450 451 addl %r9d,%r8d 452 movl (%rdi,%rcx,4),%edx 453 xorl %r8d,%r12d 454 movl %ebx,(%rdi,%rcx,4) 455 andl %r10d,%r12d 456 addl 40(%r15),%r11d 457 addb %dl,%bl 458 movl 88(%rsi),%eax 459 addl $38016083,%r11d 460 xorl %r9d,%r12d 461 movzbl %bl,%ebx 462 movl %edx,84(%rsi) 463 addl %r12d,%r11d 464 addb %al,%cl 465 roll $9,%r11d 466 movl %r8d,%r12d 467 pinsrw $2,(%rdi,%rbx,4),%xmm1 468 469 addl %r8d,%r11d 470 movl (%rdi,%rcx,4),%edx 471 xorl %r11d,%r12d 472 movl %eax,(%rdi,%rcx,4) 473 andl %r9d,%r12d 474 addl 60(%r15),%r10d 475 addb %dl,%al 476 movl 92(%rsi),%ebx 477 addl $3634488961,%r10d 478 xorl %r8d,%r12d 479 movzbl %al,%eax 480 movl %edx,88(%rsi) 481 addl %r12d,%r10d 482 addb %bl,%cl 483 roll $14,%r10d 484 movl %r11d,%r12d 485 pinsrw $3,(%rdi,%rax,4),%xmm0 486 487 addl %r11d,%r10d 488 movl (%rdi,%rcx,4),%edx 489 xorl %r10d,%r12d 490 movl %ebx,(%rdi,%rcx,4) 491 andl %r8d,%r12d 492 addl 16(%r15),%r9d 493 addb %dl,%bl 494 movl 96(%rsi),%eax 495 addl $3889429448,%r9d 496 xorl %r11d,%r12d 497 movzbl %bl,%ebx 498 movl %edx,92(%rsi) 499 addl %r12d,%r9d 500 addb %al,%cl 501 roll $20,%r9d 502 movl %r10d,%r12d 503 pinsrw $3,(%rdi,%rbx,4),%xmm1 504 505 addl %r10d,%r9d 506 movl (%rdi,%rcx,4),%edx 507 xorl %r9d,%r12d 508 movl %eax,(%rdi,%rcx,4) 509 andl %r11d,%r12d 510 addl 36(%r15),%r8d 511 addb %dl,%al 512 movl 100(%rsi),%ebx 513 addl $568446438,%r8d 514 xorl %r10d,%r12d 515 movzbl %al,%eax 516 movl %edx,96(%rsi) 517 addl %r12d,%r8d 518 addb %bl,%cl 519 roll $5,%r8d 520 movl %r9d,%r12d 521 pinsrw $4,(%rdi,%rax,4),%xmm0 522 523 addl %r9d,%r8d 524 movl (%rdi,%rcx,4),%edx 525 xorl %r8d,%r12d 526 movl %ebx,(%rdi,%rcx,4) 527 andl %r10d,%r12d 528 addl 56(%r15),%r11d 529 addb %dl,%bl 530 movl 104(%rsi),%eax 531 addl $3275163606,%r11d 532 xorl %r9d,%r12d 533 movzbl %bl,%ebx 534 movl %edx,100(%rsi) 535 addl %r12d,%r11d 536 addb %al,%cl 537 roll $9,%r11d 538 movl %r8d,%r12d 539 pinsrw $4,(%rdi,%rbx,4),%xmm1 540 541 addl %r8d,%r11d 542 movl (%rdi,%rcx,4),%edx 543 xorl %r11d,%r12d 544 movl %eax,(%rdi,%rcx,4) 545 andl %r9d,%r12d 546 addl 12(%r15),%r10d 547 addb %dl,%al 548 movl 108(%rsi),%ebx 549 addl $4107603335,%r10d 550 xorl %r8d,%r12d 551 movzbl %al,%eax 552 movl %edx,104(%rsi) 553 addl %r12d,%r10d 554 addb %bl,%cl 555 roll $14,%r10d 556 movl %r11d,%r12d 557 pinsrw $5,(%rdi,%rax,4),%xmm0 558 559 addl %r11d,%r10d 560 movl (%rdi,%rcx,4),%edx 561 xorl %r10d,%r12d 562 movl %ebx,(%rdi,%rcx,4) 563 andl %r8d,%r12d 564 addl 32(%r15),%r9d 565 addb %dl,%bl 566 movl 112(%rsi),%eax 567 addl $1163531501,%r9d 568 xorl %r11d,%r12d 569 movzbl %bl,%ebx 570 movl %edx,108(%rsi) 571 addl %r12d,%r9d 572 addb %al,%cl 573 roll $20,%r9d 574 movl %r10d,%r12d 575 pinsrw $5,(%rdi,%rbx,4),%xmm1 576 577 addl %r10d,%r9d 578 movl (%rdi,%rcx,4),%edx 579 xorl %r9d,%r12d 580 movl %eax,(%rdi,%rcx,4) 581 andl %r11d,%r12d 582 addl 52(%r15),%r8d 583 addb %dl,%al 584 movl 116(%rsi),%ebx 585 addl $2850285829,%r8d 586 xorl %r10d,%r12d 587 movzbl %al,%eax 588 movl %edx,112(%rsi) 589 addl %r12d,%r8d 590 addb %bl,%cl 591 roll $5,%r8d 592 movl %r9d,%r12d 593 pinsrw $6,(%rdi,%rax,4),%xmm0 594 595 addl %r9d,%r8d 596 movl (%rdi,%rcx,4),%edx 597 xorl %r8d,%r12d 598 movl %ebx,(%rdi,%rcx,4) 599 andl %r10d,%r12d 600 addl 8(%r15),%r11d 601 addb %dl,%bl 602 movl 120(%rsi),%eax 603 addl $4243563512,%r11d 604 xorl %r9d,%r12d 605 movzbl %bl,%ebx 606 movl %edx,116(%rsi) 607 addl %r12d,%r11d 608 addb %al,%cl 609 roll $9,%r11d 610 movl %r8d,%r12d 611 pinsrw $6,(%rdi,%rbx,4),%xmm1 612 613 addl %r8d,%r11d 614 movl (%rdi,%rcx,4),%edx 615 xorl %r11d,%r12d 616 movl %eax,(%rdi,%rcx,4) 617 andl %r9d,%r12d 618 addl 28(%r15),%r10d 619 addb %dl,%al 620 movl 124(%rsi),%ebx 621 addl $1735328473,%r10d 622 xorl %r8d,%r12d 623 movzbl %al,%eax 624 movl %edx,120(%rsi) 625 addl %r12d,%r10d 626 addb %bl,%cl 627 roll $14,%r10d 628 movl %r11d,%r12d 629 pinsrw $7,(%rdi,%rax,4),%xmm0 630 631 addl %r11d,%r10d 632 movdqu 16(%r13),%xmm3 633 addb $32,%bpl 634 movl (%rdi,%rcx,4),%edx 635 xorl %r10d,%r12d 636 movl %ebx,(%rdi,%rcx,4) 637 andl %r8d,%r12d 638 addl 48(%r15),%r9d 639 addb %dl,%bl 640 movl 0(%rdi,%rbp,4),%eax 641 addl $2368359562,%r9d 642 xorl %r11d,%r12d 643 movzbl %bl,%ebx 644 movl %edx,124(%rsi) 645 addl %r12d,%r9d 646 addb %al,%cl 647 roll $20,%r9d 648 movl %r11d,%r12d 649 pinsrw $7,(%rdi,%rbx,4),%xmm1 650 651 addl %r10d,%r9d 652 movq %rcx,%rsi 653 xorq %rcx,%rcx 654 movb %sil,%cl 655 leaq (%rdi,%rbp,4),%rsi 656 psllq $8,%xmm1 657 pxor %xmm0,%xmm3 658 pxor %xmm1,%xmm3 659 pxor %xmm0,%xmm0 660 movl (%rdi,%rcx,4),%edx 661 xorl %r10d,%r12d 662 movl %eax,(%rdi,%rcx,4) 663 xorl %r9d,%r12d 664 addl 20(%r15),%r8d 665 addb %dl,%al 666 movl 4(%rsi),%ebx 667 addl $4294588738,%r8d 668 movzbl %al,%eax 669 addl %r12d,%r8d 670 movl %edx,0(%rsi) 671 addb %bl,%cl 672 roll $4,%r8d 673 movl %r10d,%r12d 674 movd (%rdi,%rax,4),%xmm0 675 676 addl %r9d,%r8d 677 pxor %xmm1,%xmm1 678 movl (%rdi,%rcx,4),%edx 679 xorl %r9d,%r12d 680 movl %ebx,(%rdi,%rcx,4) 681 xorl %r8d,%r12d 682 addl 32(%r15),%r11d 683 addb %dl,%bl 684 movl 8(%rsi),%eax 685 addl $2272392833,%r11d 686 movzbl %bl,%ebx 687 addl %r12d,%r11d 688 movl %edx,4(%rsi) 689 addb %al,%cl 690 roll $11,%r11d 691 movl %r9d,%r12d 692 movd (%rdi,%rbx,4),%xmm1 693 694 addl %r8d,%r11d 695 movl (%rdi,%rcx,4),%edx 696 xorl %r8d,%r12d 697 movl %eax,(%rdi,%rcx,4) 698 xorl %r11d,%r12d 699 addl 44(%r15),%r10d 700 addb %dl,%al 701 movl 12(%rsi),%ebx 702 addl $1839030562,%r10d 703 movzbl %al,%eax 704 addl %r12d,%r10d 705 movl %edx,8(%rsi) 706 addb %bl,%cl 707 roll $16,%r10d 708 movl %r8d,%r12d 709 pinsrw $1,(%rdi,%rax,4),%xmm0 710 711 addl %r11d,%r10d 712 movl (%rdi,%rcx,4),%edx 713 xorl %r11d,%r12d 714 movl %ebx,(%rdi,%rcx,4) 715 xorl %r10d,%r12d 716 addl 56(%r15),%r9d 717 addb %dl,%bl 718 movl 16(%rsi),%eax 719 addl $4259657740,%r9d 720 movzbl %bl,%ebx 721 addl %r12d,%r9d 722 movl %edx,12(%rsi) 723 addb %al,%cl 724 roll $23,%r9d 725 movl %r11d,%r12d 726 pinsrw $1,(%rdi,%rbx,4),%xmm1 727 728 addl %r10d,%r9d 729 movl (%rdi,%rcx,4),%edx 730 xorl %r10d,%r12d 731 movl %eax,(%rdi,%rcx,4) 732 xorl %r9d,%r12d 733 addl 4(%r15),%r8d 734 addb %dl,%al 735 movl 20(%rsi),%ebx 736 addl $2763975236,%r8d 737 movzbl %al,%eax 738 addl %r12d,%r8d 739 movl %edx,16(%rsi) 740 addb %bl,%cl 741 roll $4,%r8d 742 movl %r10d,%r12d 743 pinsrw $2,(%rdi,%rax,4),%xmm0 744 745 addl %r9d,%r8d 746 movl (%rdi,%rcx,4),%edx 747 xorl %r9d,%r12d 748 movl %ebx,(%rdi,%rcx,4) 749 xorl %r8d,%r12d 750 addl 16(%r15),%r11d 751 addb %dl,%bl 752 movl 24(%rsi),%eax 753 addl $1272893353,%r11d 754 movzbl %bl,%ebx 755 addl %r12d,%r11d 756 movl %edx,20(%rsi) 757 addb %al,%cl 758 roll $11,%r11d 759 movl %r9d,%r12d 760 pinsrw $2,(%rdi,%rbx,4),%xmm1 761 762 addl %r8d,%r11d 763 movl (%rdi,%rcx,4),%edx 764 xorl %r8d,%r12d 765 movl %eax,(%rdi,%rcx,4) 766 xorl %r11d,%r12d 767 addl 28(%r15),%r10d 768 addb %dl,%al 769 movl 28(%rsi),%ebx 770 addl $4139469664,%r10d 771 movzbl %al,%eax 772 addl %r12d,%r10d 773 movl %edx,24(%rsi) 774 addb %bl,%cl 775 roll $16,%r10d 776 movl %r8d,%r12d 777 pinsrw $3,(%rdi,%rax,4),%xmm0 778 779 addl %r11d,%r10d 780 movl (%rdi,%rcx,4),%edx 781 xorl %r11d,%r12d 782 movl %ebx,(%rdi,%rcx,4) 783 xorl %r10d,%r12d 784 addl 40(%r15),%r9d 785 addb %dl,%bl 786 movl 32(%rsi),%eax 787 addl $3200236656,%r9d 788 movzbl %bl,%ebx 789 addl %r12d,%r9d 790 movl %edx,28(%rsi) 791 addb %al,%cl 792 roll $23,%r9d 793 movl %r11d,%r12d 794 pinsrw $3,(%rdi,%rbx,4),%xmm1 795 796 addl %r10d,%r9d 797 movl (%rdi,%rcx,4),%edx 798 xorl %r10d,%r12d 799 movl %eax,(%rdi,%rcx,4) 800 xorl %r9d,%r12d 801 addl 52(%r15),%r8d 802 addb %dl,%al 803 movl 36(%rsi),%ebx 804 addl $681279174,%r8d 805 movzbl %al,%eax 806 addl %r12d,%r8d 807 movl %edx,32(%rsi) 808 addb %bl,%cl 809 roll $4,%r8d 810 movl %r10d,%r12d 811 pinsrw $4,(%rdi,%rax,4),%xmm0 812 813 addl %r9d,%r8d 814 movl (%rdi,%rcx,4),%edx 815 xorl %r9d,%r12d 816 movl %ebx,(%rdi,%rcx,4) 817 xorl %r8d,%r12d 818 addl 0(%r15),%r11d 819 addb %dl,%bl 820 movl 40(%rsi),%eax 821 addl $3936430074,%r11d 822 movzbl %bl,%ebx 823 addl %r12d,%r11d 824 movl %edx,36(%rsi) 825 addb %al,%cl 826 roll $11,%r11d 827 movl %r9d,%r12d 828 pinsrw $4,(%rdi,%rbx,4),%xmm1 829 830 addl %r8d,%r11d 831 movl (%rdi,%rcx,4),%edx 832 xorl %r8d,%r12d 833 movl %eax,(%rdi,%rcx,4) 834 xorl %r11d,%r12d 835 addl 12(%r15),%r10d 836 addb %dl,%al 837 movl 44(%rsi),%ebx 838 addl $3572445317,%r10d 839 movzbl %al,%eax 840 addl %r12d,%r10d 841 movl %edx,40(%rsi) 842 addb %bl,%cl 843 roll $16,%r10d 844 movl %r8d,%r12d 845 pinsrw $5,(%rdi,%rax,4),%xmm0 846 847 addl %r11d,%r10d 848 movl (%rdi,%rcx,4),%edx 849 xorl %r11d,%r12d 850 movl %ebx,(%rdi,%rcx,4) 851 xorl %r10d,%r12d 852 addl 24(%r15),%r9d 853 addb %dl,%bl 854 movl 48(%rsi),%eax 855 addl $76029189,%r9d 856 movzbl %bl,%ebx 857 addl %r12d,%r9d 858 movl %edx,44(%rsi) 859 addb %al,%cl 860 roll $23,%r9d 861 movl %r11d,%r12d 862 pinsrw $5,(%rdi,%rbx,4),%xmm1 863 864 addl %r10d,%r9d 865 movl (%rdi,%rcx,4),%edx 866 xorl %r10d,%r12d 867 movl %eax,(%rdi,%rcx,4) 868 xorl %r9d,%r12d 869 addl 36(%r15),%r8d 870 addb %dl,%al 871 movl 52(%rsi),%ebx 872 addl $3654602809,%r8d 873 movzbl %al,%eax 874 addl %r12d,%r8d 875 movl %edx,48(%rsi) 876 addb %bl,%cl 877 roll $4,%r8d 878 movl %r10d,%r12d 879 pinsrw $6,(%rdi,%rax,4),%xmm0 880 881 addl %r9d,%r8d 882 movl (%rdi,%rcx,4),%edx 883 xorl %r9d,%r12d 884 movl %ebx,(%rdi,%rcx,4) 885 xorl %r8d,%r12d 886 addl 48(%r15),%r11d 887 addb %dl,%bl 888 movl 56(%rsi),%eax 889 addl $3873151461,%r11d 890 movzbl %bl,%ebx 891 addl %r12d,%r11d 892 movl %edx,52(%rsi) 893 addb %al,%cl 894 roll $11,%r11d 895 movl %r9d,%r12d 896 pinsrw $6,(%rdi,%rbx,4),%xmm1 897 898 addl %r8d,%r11d 899 movl (%rdi,%rcx,4),%edx 900 xorl %r8d,%r12d 901 movl %eax,(%rdi,%rcx,4) 902 xorl %r11d,%r12d 903 addl 60(%r15),%r10d 904 addb %dl,%al 905 movl 60(%rsi),%ebx 906 addl $530742520,%r10d 907 movzbl %al,%eax 908 addl %r12d,%r10d 909 movl %edx,56(%rsi) 910 addb %bl,%cl 911 roll $16,%r10d 912 movl %r8d,%r12d 913 pinsrw $7,(%rdi,%rax,4),%xmm0 914 915 addl %r11d,%r10d 916 movdqu 32(%r13),%xmm4 917 movl (%rdi,%rcx,4),%edx 918 xorl %r11d,%r12d 919 movl %ebx,(%rdi,%rcx,4) 920 xorl %r10d,%r12d 921 addl 8(%r15),%r9d 922 addb %dl,%bl 923 movl 64(%rsi),%eax 924 addl $3299628645,%r9d 925 movzbl %bl,%ebx 926 addl %r12d,%r9d 927 movl %edx,60(%rsi) 928 addb %al,%cl 929 roll $23,%r9d 930 movl $-1,%r12d 931 pinsrw $7,(%rdi,%rbx,4),%xmm1 932 933 addl %r10d,%r9d 934 psllq $8,%xmm1 935 pxor %xmm0,%xmm4 936 pxor %xmm1,%xmm4 937 pxor %xmm0,%xmm0 938 movl (%rdi,%rcx,4),%edx 939 xorl %r11d,%r12d 940 movl %eax,(%rdi,%rcx,4) 941 orl %r9d,%r12d 942 addl 0(%r15),%r8d 943 addb %dl,%al 944 movl 68(%rsi),%ebx 945 addl $4096336452,%r8d 946 movzbl %al,%eax 947 xorl %r10d,%r12d 948 movl %edx,64(%rsi) 949 addl %r12d,%r8d 950 addb %bl,%cl 951 roll $6,%r8d 952 movl $-1,%r12d 953 movd (%rdi,%rax,4),%xmm0 954 955 addl %r9d,%r8d 956 pxor %xmm1,%xmm1 957 movl (%rdi,%rcx,4),%edx 958 xorl %r10d,%r12d 959 movl %ebx,(%rdi,%rcx,4) 960 orl %r8d,%r12d 961 addl 28(%r15),%r11d 962 addb %dl,%bl 963 movl 72(%rsi),%eax 964 addl $1126891415,%r11d 965 movzbl %bl,%ebx 966 xorl %r9d,%r12d 967 movl %edx,68(%rsi) 968 addl %r12d,%r11d 969 addb %al,%cl 970 roll $10,%r11d 971 movl $-1,%r12d 972 movd (%rdi,%rbx,4),%xmm1 973 974 addl %r8d,%r11d 975 movl (%rdi,%rcx,4),%edx 976 xorl %r9d,%r12d 977 movl %eax,(%rdi,%rcx,4) 978 orl %r11d,%r12d 979 addl 56(%r15),%r10d 980 addb %dl,%al 981 movl 76(%rsi),%ebx 982 addl $2878612391,%r10d 983 movzbl %al,%eax 984 xorl %r8d,%r12d 985 movl %edx,72(%rsi) 986 addl %r12d,%r10d 987 addb %bl,%cl 988 roll $15,%r10d 989 movl $-1,%r12d 990 pinsrw $1,(%rdi,%rax,4),%xmm0 991 992 addl %r11d,%r10d 993 movl (%rdi,%rcx,4),%edx 994 xorl %r8d,%r12d 995 movl %ebx,(%rdi,%rcx,4) 996 orl %r10d,%r12d 997 addl 20(%r15),%r9d 998 addb %dl,%bl 999 movl 80(%rsi),%eax 1000 addl $4237533241,%r9d 1001 movzbl %bl,%ebx 1002 xorl %r11d,%r12d 1003 movl %edx,76(%rsi) 1004 addl %r12d,%r9d 1005 addb %al,%cl 1006 roll $21,%r9d 1007 movl $-1,%r12d 1008 pinsrw $1,(%rdi,%rbx,4),%xmm1 1009 1010 addl %r10d,%r9d 1011 movl (%rdi,%rcx,4),%edx 1012 xorl %r11d,%r12d 1013 movl %eax,(%rdi,%rcx,4) 1014 orl %r9d,%r12d 1015 addl 48(%r15),%r8d 1016 addb %dl,%al 1017 movl 84(%rsi),%ebx 1018 addl $1700485571,%r8d 1019 movzbl %al,%eax 1020 xorl %r10d,%r12d 1021 movl %edx,80(%rsi) 1022 addl %r12d,%r8d 1023 addb %bl,%cl 1024 roll $6,%r8d 1025 movl $-1,%r12d 1026 pinsrw $2,(%rdi,%rax,4),%xmm0 1027 1028 addl %r9d,%r8d 1029 movl (%rdi,%rcx,4),%edx 1030 xorl %r10d,%r12d 1031 movl %ebx,(%rdi,%rcx,4) 1032 orl %r8d,%r12d 1033 addl 12(%r15),%r11d 1034 addb %dl,%bl 1035 movl 88(%rsi),%eax 1036 addl $2399980690,%r11d 1037 movzbl %bl,%ebx 1038 xorl %r9d,%r12d 1039 movl %edx,84(%rsi) 1040 addl %r12d,%r11d 1041 addb %al,%cl 1042 roll $10,%r11d 1043 movl $-1,%r12d 1044 pinsrw $2,(%rdi,%rbx,4),%xmm1 1045 1046 addl %r8d,%r11d 1047 movl (%rdi,%rcx,4),%edx 1048 xorl %r9d,%r12d 1049 movl %eax,(%rdi,%rcx,4) 1050 orl %r11d,%r12d 1051 addl 40(%r15),%r10d 1052 addb %dl,%al 1053 movl 92(%rsi),%ebx 1054 addl $4293915773,%r10d 1055 movzbl %al,%eax 1056 xorl %r8d,%r12d 1057 movl %edx,88(%rsi) 1058 addl %r12d,%r10d 1059 addb %bl,%cl 1060 roll $15,%r10d 1061 movl $-1,%r12d 1062 pinsrw $3,(%rdi,%rax,4),%xmm0 1063 1064 addl %r11d,%r10d 1065 movl (%rdi,%rcx,4),%edx 1066 xorl %r8d,%r12d 1067 movl %ebx,(%rdi,%rcx,4) 1068 orl %r10d,%r12d 1069 addl 4(%r15),%r9d 1070 addb %dl,%bl 1071 movl 96(%rsi),%eax 1072 addl $2240044497,%r9d 1073 movzbl %bl,%ebx 1074 xorl %r11d,%r12d 1075 movl %edx,92(%rsi) 1076 addl %r12d,%r9d 1077 addb %al,%cl 1078 roll $21,%r9d 1079 movl $-1,%r12d 1080 pinsrw $3,(%rdi,%rbx,4),%xmm1 1081 1082 addl %r10d,%r9d 1083 movl (%rdi,%rcx,4),%edx 1084 xorl %r11d,%r12d 1085 movl %eax,(%rdi,%rcx,4) 1086 orl %r9d,%r12d 1087 addl 32(%r15),%r8d 1088 addb %dl,%al 1089 movl 100(%rsi),%ebx 1090 addl $1873313359,%r8d 1091 movzbl %al,%eax 1092 xorl %r10d,%r12d 1093 movl %edx,96(%rsi) 1094 addl %r12d,%r8d 1095 addb %bl,%cl 1096 roll $6,%r8d 1097 movl $-1,%r12d 1098 pinsrw $4,(%rdi,%rax,4),%xmm0 1099 1100 addl %r9d,%r8d 1101 movl (%rdi,%rcx,4),%edx 1102 xorl %r10d,%r12d 1103 movl %ebx,(%rdi,%rcx,4) 1104 orl %r8d,%r12d 1105 addl 60(%r15),%r11d 1106 addb %dl,%bl 1107 movl 104(%rsi),%eax 1108 addl $4264355552,%r11d 1109 movzbl %bl,%ebx 1110 xorl %r9d,%r12d 1111 movl %edx,100(%rsi) 1112 addl %r12d,%r11d 1113 addb %al,%cl 1114 roll $10,%r11d 1115 movl $-1,%r12d 1116 pinsrw $4,(%rdi,%rbx,4),%xmm1 1117 1118 addl %r8d,%r11d 1119 movl (%rdi,%rcx,4),%edx 1120 xorl %r9d,%r12d 1121 movl %eax,(%rdi,%rcx,4) 1122 orl %r11d,%r12d 1123 addl 24(%r15),%r10d 1124 addb %dl,%al 1125 movl 108(%rsi),%ebx 1126 addl $2734768916,%r10d 1127 movzbl %al,%eax 1128 xorl %r8d,%r12d 1129 movl %edx,104(%rsi) 1130 addl %r12d,%r10d 1131 addb %bl,%cl 1132 roll $15,%r10d 1133 movl $-1,%r12d 1134 pinsrw $5,(%rdi,%rax,4),%xmm0 1135 1136 addl %r11d,%r10d 1137 movl (%rdi,%rcx,4),%edx 1138 xorl %r8d,%r12d 1139 movl %ebx,(%rdi,%rcx,4) 1140 orl %r10d,%r12d 1141 addl 52(%r15),%r9d 1142 addb %dl,%bl 1143 movl 112(%rsi),%eax 1144 addl $1309151649,%r9d 1145 movzbl %bl,%ebx 1146 xorl %r11d,%r12d 1147 movl %edx,108(%rsi) 1148 addl %r12d,%r9d 1149 addb %al,%cl 1150 roll $21,%r9d 1151 movl $-1,%r12d 1152 pinsrw $5,(%rdi,%rbx,4),%xmm1 1153 1154 addl %r10d,%r9d 1155 movl (%rdi,%rcx,4),%edx 1156 xorl %r11d,%r12d 1157 movl %eax,(%rdi,%rcx,4) 1158 orl %r9d,%r12d 1159 addl 16(%r15),%r8d 1160 addb %dl,%al 1161 movl 116(%rsi),%ebx 1162 addl $4149444226,%r8d 1163 movzbl %al,%eax 1164 xorl %r10d,%r12d 1165 movl %edx,112(%rsi) 1166 addl %r12d,%r8d 1167 addb %bl,%cl 1168 roll $6,%r8d 1169 movl $-1,%r12d 1170 pinsrw $6,(%rdi,%rax,4),%xmm0 1171 1172 addl %r9d,%r8d 1173 movl (%rdi,%rcx,4),%edx 1174 xorl %r10d,%r12d 1175 movl %ebx,(%rdi,%rcx,4) 1176 orl %r8d,%r12d 1177 addl 44(%r15),%r11d 1178 addb %dl,%bl 1179 movl 120(%rsi),%eax 1180 addl $3174756917,%r11d 1181 movzbl %bl,%ebx 1182 xorl %r9d,%r12d 1183 movl %edx,116(%rsi) 1184 addl %r12d,%r11d 1185 addb %al,%cl 1186 roll $10,%r11d 1187 movl $-1,%r12d 1188 pinsrw $6,(%rdi,%rbx,4),%xmm1 1189 1190 addl %r8d,%r11d 1191 movl (%rdi,%rcx,4),%edx 1192 xorl %r9d,%r12d 1193 movl %eax,(%rdi,%rcx,4) 1194 orl %r11d,%r12d 1195 addl 8(%r15),%r10d 1196 addb %dl,%al 1197 movl 124(%rsi),%ebx 1198 addl $718787259,%r10d 1199 movzbl %al,%eax 1200 xorl %r8d,%r12d 1201 movl %edx,120(%rsi) 1202 addl %r12d,%r10d 1203 addb %bl,%cl 1204 roll $15,%r10d 1205 movl $-1,%r12d 1206 pinsrw $7,(%rdi,%rax,4),%xmm0 1207 1208 addl %r11d,%r10d 1209 movdqu 48(%r13),%xmm5 1210 addb $32,%bpl 1211 movl (%rdi,%rcx,4),%edx 1212 xorl %r8d,%r12d 1213 movl %ebx,(%rdi,%rcx,4) 1214 orl %r10d,%r12d 1215 addl 36(%r15),%r9d 1216 addb %dl,%bl 1217 movl 0(%rdi,%rbp,4),%eax 1218 addl $3951481745,%r9d 1219 movzbl %bl,%ebx 1220 xorl %r11d,%r12d 1221 movl %edx,124(%rsi) 1222 addl %r12d,%r9d 1223 addb %al,%cl 1224 roll $21,%r9d 1225 movl $-1,%r12d 1226 pinsrw $7,(%rdi,%rbx,4),%xmm1 1227 1228 addl %r10d,%r9d 1229 movq %rbp,%rsi 1230 xorq %rbp,%rbp 1231 movb %sil,%bpl 1232 movq %rcx,%rsi 1233 xorq %rcx,%rcx 1234 movb %sil,%cl 1235 leaq (%rdi,%rbp,4),%rsi 1236 psllq $8,%xmm1 1237 pxor %xmm0,%xmm5 1238 pxor %xmm1,%xmm5 1239 addl 0(%rsp),%r8d 1240 addl 4(%rsp),%r9d 1241 addl 8(%rsp),%r10d 1242 addl 12(%rsp),%r11d 1243 1244 movdqu %xmm2,(%r14,%r13,1) 1245 movdqu %xmm3,16(%r14,%r13,1) 1246 movdqu %xmm4,32(%r14,%r13,1) 1247 movdqu %xmm5,48(%r14,%r13,1) 1248 leaq 64(%r15),%r15 1249 leaq 64(%r13),%r13 1250 cmpq 16(%rsp),%r15 1251 jb .Loop 1252 1253 movq 24(%rsp),%r12 1254 subb %al,%cl 1255 movl %r8d,0(%r12) 1256 movl %r9d,4(%r12) 1257 movl %r10d,8(%r12) 1258 movl %r11d,12(%r12) 1259 subb $1,%bpl 1260 movl %ebp,-8(%rdi) 1261 movl %ecx,-4(%rdi) 1262 1263 movq 40(%rsp),%r15 1264.cfi_restore %r15 1265 movq 48(%rsp),%r14 1266.cfi_restore %r14 1267 movq 56(%rsp),%r13 1268.cfi_restore %r13 1269 movq 64(%rsp),%r12 1270.cfi_restore %r12 1271 movq 72(%rsp),%rbp 1272.cfi_restore %rbp 1273 movq 80(%rsp),%rbx 1274.cfi_restore %rbx 1275 leaq 88(%rsp),%rsp 1276.cfi_adjust_cfa_offset -88 1277.Lepilogue: 1278.Labort: 1279 .byte 0xf3,0xc3 1280.cfi_endproc 1281.size rc4_md5_enc,.-rc4_md5_enc 1282