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