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
8 rc4_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
Cache object: 80f6c477f4b7df9a8c9adec845839103
|