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