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