Import from 1.9a8 tarball
[mozilla-nss.git] / security / nss / lib / freebl / sha-fast-amd64-sun.s
blobb985ff4f6284e6efa9fe64833a60e3ce4cf62031
1 / ***** BEGIN LICENSE BLOCK *****
2 / Version: MPL 1.1/GPL 2.0/LGPL 2.1
4 / The contents of this file are subject to the Mozilla Public License Version
5 / 1.1 (the "License"); you may not use this file except in compliance with
6 / the License. You may obtain a copy of the License at
7 / http://www.mozilla.org/MPL/
9 / Software distributed under the License is distributed on an "AS IS" basis,
10 / WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11 / for the specific language governing rights and limitations under the
12 / License.
14 / The Original Code is SHA 180-1 Reference Implementation (Optimized).
16 / The Initial Developer of the Original Code is
17 / Paul Kocher of Cryptography Research.
18 / Portions created by the Initial Developer are Copyright (C) 1995-9
19 / the Initial Developer. All Rights Reserved.
21 / Contributor(s):
23 / Alternatively, the contents of this file may be used under the terms of
24 / either the GNU General Public License Version 2 or later (the "GPL"), or
25 / the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
26 / in which case the provisions of the GPL or the LGPL are applicable instead
27 / of those above. If you wish to allow use of your version of this file only
28 / under the terms of either the GPL or the LGPL, and not to allow others to
29 / use your version of this file under the terms of the MPL, indicate your
30 / decision by deleting the provisions above and replace them with the notice
31 / and other provisions required by the GPL or the LGPL. If you do not delete
32 / the provisions above, a recipient may use your version of this file under
33 / the terms of any one of the MPL, the GPL or the LGPL.
35 / ***** END LICENSE BLOCK *****
37 .file "sha_fast.c"
38 .text
39 .align 16
40 .globl SHA1_Begin
41 .type SHA1_Begin, @function
42 SHA1_Begin:
43 .LFB4:
44 movl $4023233417, %ecx
45 movl $2562383102, %edx
46 movl $3285377520, %eax
47 movq $0, 64(%rdi)
48 movq $1732584193, 72(%rdi)
49 movq %rcx, 80(%rdi)
50 movq %rdx, 88(%rdi)
51 movq $271733878, 96(%rdi)
52 movq %rax, 104(%rdi)
53 ret
54 .LFE4:
55 .size SHA1_Begin, .-SHA1_Begin
56 .align 16
57 .type shaCompress, @function
58 shaCompress:
59 .LFB7:
60 pushq %r15
61 .LCFI0:
62 pushq %r14
63 .LCFI1:
64 pushq %r13
65 .LCFI2:
66 pushq %r12
67 .LCFI3:
68 movq -88(%rdi), %r12
69 movq -80(%rdi), %r10
70 movq -72(%rdi), %r13
71 movq -64(%rdi), %r8
72 pushq %rbx
73 .LCFI4:
74 movq -56(%rdi), %rcx
75 movl (%rsi), %eax
76 movl %r12d, %edx
77 movq %r13, %r9
78 roll $5, %edx
79 movl 4(%rsi), %ebx
80 xorq %r8, %r9
81 /APP
82 bswap %eax
83 /NO_APP
84 andq %r10, %r9
85 mov %eax, %r15d
86 roll $30, %r10d
87 movq %r15, -48(%rdi)
88 xorq %r8, %r9
89 movq -48(%rdi), %r14
90 addq %r9, %rdx
91 movq %r10, %rax
92 movl %r12d, %r15d
93 addq %rcx, %rdx
94 xorq %r13, %rax
95 roll $30, %r15d
96 leaq 1518500249(%rdx,%r14), %rdx
97 andq %r12, %rax
98 movq %r15, %r12
99 /APP
100 bswap %ebx
101 /NO_APP
102 movl %edx, %ecx
103 mov %ebx, %r11d
104 xorq %r13, %rax
105 movq %r11, -40(%rdi)
106 roll $5, %ecx
107 movq -40(%rdi), %r9
108 addq %rax, %rcx
109 xorq %r10, %r12
110 movl 8(%rsi), %r14d
111 addq %r8, %rcx
112 andq %rdx, %r12
113 movl %edx, %r11d
114 leaq 1518500249(%rcx,%r9), %rcx
115 xorq %r10, %r12
116 roll $30, %r11d
117 /APP
118 bswap %r14d
119 /NO_APP
120 movl %ecx, %r8d
121 mov %r14d, %ebx
122 movl 12(%rsi), %r9d
123 movq %rbx, -32(%rdi)
124 roll $5, %r8d
125 movq -32(%rdi), %rax
126 addq %r12, %r8
127 movq %r11, %r12
128 movl %ecx, %ebx
129 addq %r13, %r8
130 xorq %r15, %r12
131 roll $30, %ebx
132 leaq 1518500249(%r8,%rax), %r8
133 andq %rcx, %r12
134 movl 16(%rsi), %eax
135 /APP
136 bswap %r9d
137 /NO_APP
138 movl %r8d, %edx
139 mov %r9d, %r14d
140 xorq %r15, %r12
141 movq %r14, -24(%rdi)
142 roll $5, %edx
143 movq -24(%rdi), %r13
144 addq %r12, %rdx
145 movq %rbx, %r12
146 movl %r8d, %r14d
147 addq %r10, %rdx
148 leaq 1518500249(%rdx,%r13), %rdx
149 movl 20(%rsi), %r13d
150 /APP
151 bswap %eax
152 /NO_APP
153 movl %edx, %ecx
154 mov %eax, %r9d
155 roll $5, %ecx
156 xorq %r11, %r12
157 movq %r9, -16(%rdi)
158 andq %r8, %r12
159 movq -16(%rdi), %r10
160 roll $30, %r14d
161 xorq %r11, %r12
162 movq %r14, %rax
163 movl %edx, %r9d
164 addq %r12, %rcx
165 xorq %rbx, %rax
166 roll $30, %r9d
167 addq %r15, %rcx
168 andq %rdx, %rax
169 leaq 1518500249(%rcx,%r10), %rcx
170 xorq %rbx, %rax
171 movl 24(%rsi), %r10d
172 /APP
173 bswap %r13d
174 /NO_APP
175 movl %ecx, %r8d
176 mov %r13d, %r15d
177 movq %r15, -8(%rdi)
178 roll $5, %r8d
179 movq -8(%rdi), %r12
180 addq %rax, %r8
181 movl %ecx, %r15d
182 addq %r11, %r8
183 movq %r9, %r11
184 roll $30, %r15d
185 leaq 1518500249(%r8,%r12), %r8
186 xorq %r14, %r11
187 movl 28(%rsi), %r12d
188 /APP
189 bswap %r10d
190 /NO_APP
191 andq %rcx, %r11
192 mov %r10d, %r13d
193 movl %r8d, %edx
194 movq %r13, (%rdi)
195 xorq %r14, %r11
196 movq (%rdi), %rax
197 roll $5, %edx
198 movq %r15, %r10
199 movl %r8d, %r13d
200 addq %r11, %rdx
201 xorq %r9, %r10
202 roll $30, %r13d
203 addq %rbx, %rdx
204 andq %r8, %r10
205 leaq 1518500249(%rdx,%rax), %rdx
206 xorq %r9, %r10
207 movl 32(%rsi), %eax
208 /APP
209 bswap %r12d
210 /NO_APP
211 movl %edx, %ecx
212 mov %r12d, %ebx
213 movq %rbx, 8(%rdi)
214 roll $5, %ecx
215 movq 8(%rdi), %r11
216 addq %r10, %rcx
217 movq %r13, %r10
218 movl %edx, %ebx
219 addq %r14, %rcx
220 leaq 1518500249(%rcx,%r11), %rcx
221 /APP
222 bswap %eax
223 /NO_APP
224 movl %ecx, %r8d
225 mov %eax, %r12d
226 roll $5, %r8d
227 xorq %r15, %r10
228 movq %r12, 16(%rdi)
229 andq %rdx, %r10
230 movq 16(%rdi), %r14
231 roll $30, %ebx
232 xorq %r15, %r10
233 movq %rbx, %rax
234 movl 36(%rsi), %r11d
235 addq %r10, %r8
236 xorq %r13, %rax
237 movl %ecx, %r12d
238 addq %r9, %r8
239 andq %rcx, %rax
240 roll $30, %r12d
241 leaq 1518500249(%r8,%r14), %r8
242 xorq %r13, %rax
243 movl 40(%rsi), %r14d
244 /APP
245 bswap %r11d
246 /NO_APP
247 movl %r8d, %edx
248 mov %r11d, %r9d
249 movq %r12, %r11
250 movq %r9, 24(%rdi)
251 roll $5, %edx
252 movq 24(%rdi), %r10
253 addq %rax, %rdx
254 xorq %rbx, %r11
255 movl %r8d, %r9d
256 addq %r15, %rdx
257 andq %r8, %r11
258 roll $30, %r9d
259 leaq 1518500249(%rdx,%r10), %rdx
260 xorq %rbx, %r11
261 movl 44(%rsi), %r10d
262 /APP
263 bswap %r14d
264 /NO_APP
265 movl %edx, %ecx
266 mov %r14d, %r15d
267 movq %r15, 32(%rdi)
268 roll $5, %ecx
269 movq 32(%rdi), %rax
270 addq %r11, %rcx
271 movq %r9, %r11
272 movl %edx, %r15d
273 addq %r13, %rcx
274 xorq %r12, %r11
275 roll $30, %r15d
276 leaq 1518500249(%rcx,%rax), %rcx
277 andq %rdx, %r11
278 movl 48(%rsi), %eax
279 /APP
280 bswap %r10d
281 /NO_APP
282 movl %ecx, %r8d
283 mov %r10d, %r14d
284 xorq %r12, %r11
285 movq %r14, 40(%rdi)
286 roll $5, %r8d
287 movq 40(%rdi), %r13
288 addq %r11, %r8
289 movq %r15, %r10
290 movl %ecx, %r14d
291 addq %rbx, %r8
292 xorq %r9, %r10
293 leaq 1518500249(%r8,%r13), %r8
294 movl 52(%rsi), %r13d
295 /APP
296 bswap %eax
297 /NO_APP
298 movl %r8d, %edx
299 mov %eax, %ebx
300 roll $5, %edx
301 andq %rcx, %r10
302 movq %rbx, 48(%rdi)
303 xorq %r9, %r10
304 movq 48(%rdi), %r11
305 roll $30, %r14d
306 addq %r10, %rdx
307 movq %r14, %rax
308 movl %r8d, %ebx
309 addq %r12, %rdx
310 xorq %r15, %rax
311 roll $30, %ebx
312 leaq 1518500249(%rdx,%r11), %rdx
313 andq %r8, %rax
314 movl 56(%rsi), %r11d
315 /APP
316 bswap %r13d
317 /NO_APP
318 movl %edx, %ecx
319 mov %r13d, %r12d
320 xorq %r15, %rax
321 movq %r12, 56(%rdi)
322 roll $5, %ecx
323 movq 56(%rdi), %r10
324 addq %rax, %rcx
325 movl %edx, %r12d
326 addq %r9, %rcx
327 movq %rbx, %r9
328 roll $30, %r12d
329 leaq 1518500249(%rcx,%r10), %rcx
330 xorq %r14, %r9
331 movl 60(%rsi), %r10d
332 /APP
333 bswap %r11d
334 /NO_APP
335 andq %rdx, %r9
336 mov %r11d, %r13d
337 movl %ecx, %r8d
338 movq %r13, 64(%rdi)
339 xorq %r14, %r9
340 movq 64(%rdi), %rax
341 roll $5, %r8d
342 movq %r12, %r11
343 movl %ecx, %r13d
344 addq %r9, %r8
345 xorq %rbx, %r11
346 roll $30, %r13d
347 addq %r15, %r8
348 andq %rcx, %r11
349 leaq 1518500249(%r8,%rax), %r8
350 xorq %rbx, %r11
351 /APP
352 bswap %r10d
353 /NO_APP
354 movl %r8d, %esi
355 mov %r10d, %r15d
356 movq %r15, 72(%rdi)
357 roll $5, %esi
358 movq 72(%rdi), %r9
359 movq 56(%rdi), %r10
360 movq 16(%rdi), %rcx
361 addq %r11, %rsi
362 movq -32(%rdi), %rdx
363 addq %r14, %rsi
364 movq -48(%rdi), %rax
365 leaq 1518500249(%rsi,%r9), %r14
366 movq %r13, %r11
367 movl %r8d, %r15d
368 xorq %rcx, %r10
369 xorq %rdx, %r10
370 movl %r14d, %ecx
371 xorl %eax, %r10d
372 roll %r10d
373 roll $5, %ecx
374 xorq %r12, %r11
375 andq %r8, %r11
376 movq %r10, -48(%rdi)
377 movq -48(%rdi), %r9
378 xorq %r12, %r11
379 roll $30, %r15d
380 movl %r14d, %r10d
381 addq %r11, %rcx
382 movq 64(%rdi), %r11
383 movq 24(%rdi), %rdx
384 addq %rbx, %rcx
385 movq -24(%rdi), %rbx
386 movq -40(%rdi), %rax
387 leaq 1518500249(%rcx,%r9), %rcx
388 movq %r15, %r8
389 roll $30, %r10d
390 xorq %rdx, %r11
391 xorq %r13, %r8
392 xorq %rbx, %r11
393 andq %r14, %r8
394 movl %ecx, %r9d
395 xorl %eax, %r11d
396 xorq %r13, %r8
397 roll $5, %r9d
398 roll %r11d
399 addq %r8, %r9
400 movq %r10, %rax
401 movq %r11, -40(%rdi)
402 movq -40(%rdi), %rsi
403 addq %r12, %r9
404 movq 72(%rdi), %rbx
405 movq 32(%rdi), %rdx
406 xorq %r15, %rax
407 movq -16(%rdi), %r14
408 movq -32(%rdi), %r12
409 andq %rcx, %rax
410 leaq 1518500249(%r9,%rsi), %r9
411 xorq %r15, %rax
412 movl %ecx, %r11d
413 xorq %rdx, %rbx
414 roll $30, %r11d
415 xorq %r14, %rbx
416 movl %r9d, %esi
417 xorl %r12d, %ebx
418 roll $5, %esi
419 roll %ebx
420 addq %rax, %rsi
421 movq %rbx, -32(%rdi)
422 movq -32(%rdi), %r8
423 addq %r13, %rsi
424 movq -48(%rdi), %r12
425 movq 40(%rdi), %rdx
426 movq %r11, %r13
427 movq -8(%rdi), %r14
428 movq -24(%rdi), %rcx
429 movl %r9d, %ebx
430 leaq 1518500249(%rsi,%r8), %rsi
431 xorq %rdx, %r12
432 xorq %r14, %r12
433 movl %esi, %r8d
434 xorl %ecx, %r12d
435 roll %r12d
436 roll $5, %r8d
437 xorq %r10, %r13
438 andq %r9, %r13
439 movq %r12, -24(%rdi)
440 movq -24(%rdi), %rax
441 xorq %r10, %r13
442 roll $30, %ebx
443 movl %esi, %r12d
444 addq %r13, %r8
445 xorq %rbx, %rsi
446 roll $30, %r12d
447 addq %r15, %r8
448 movq -40(%rdi), %r15
449 movq 48(%rdi), %rdx
450 movq (%rdi), %r14
451 movq -16(%rdi), %r9
452 leaq 1518500249(%r8,%rax), %r13
453 xorq %r11, %rsi
454 xorq %rdx, %r15
455 movl %r13d, %ecx
456 xorq %r14, %r15
457 roll $5, %ecx
458 xorl %r9d, %r15d
459 addq %rsi, %rcx
460 roll %r15d
461 addq %r10, %rcx
462 movq %r15, -16(%rdi)
463 movq -16(%rdi), %rsi
464 movl %r13d, %r15d
465 movq -32(%rdi), %r14
466 movq 56(%rdi), %rax
467 xorq %r12, %r13
468 movq 8(%rdi), %rdx
469 movq -8(%rdi), %r10
470 xorq %rbx, %r13
471 leaq 1859775393(%rcx,%rsi), %r9
472 roll $30, %r15d
473 xorq %rax, %r14
474 xorq %rdx, %r14
475 movl %r9d, %esi
476 xorl %r10d, %r14d
477 roll $5, %esi
478 roll %r14d
479 addq %r13, %rsi
480 movq %r14, -8(%rdi)
481 movq -8(%rdi), %r8
482 addq %r11, %rsi
483 movq -24(%rdi), %r13
484 movq 64(%rdi), %rax
485 movl %r9d, %r14d
486 movq 16(%rdi), %rdx
487 movq (%rdi), %r11
488 xorq %r15, %r9
489 leaq 1859775393(%rsi,%r8), %r10
490 xorq %rax, %r13
491 xorq %rdx, %r13
492 movl %r10d, %r8d
493 xorl %r11d, %r13d
494 roll $5, %r8d
495 roll %r13d
496 xorq %r12, %r9
497 roll $30, %r14d
498 addq %r9, %r8
499 movq %r13, (%rdi)
500 movq (%rdi), %rcx
501 addq %rbx, %r8
502 movq -16(%rdi), %rbx
503 movq 72(%rdi), %rax
504 movq 24(%rdi), %rdx
505 movq 8(%rdi), %r9
506 movl %r10d, %r13d
507 leaq 1859775393(%r8,%rcx), %r11
508 xorq %r14, %r10
509 roll $30, %r13d
510 xorq %rax, %rbx
511 xorq %r15, %r10
512 xorq %rdx, %rbx
513 movl %r11d, %ecx
514 xorl %r9d, %ebx
515 roll $5, %ecx
516 roll %ebx
517 addq %r10, %rcx
518 movq %rbx, 8(%rdi)
519 movq 8(%rdi), %rsi
520 addq %r12, %rcx
521 movq -8(%rdi), %r12
522 movq -48(%rdi), %rax
523 movl %r11d, %ebx
524 movq 32(%rdi), %rdx
525 movq 16(%rdi), %r9
526 xorq %r13, %r11
527 leaq 1859775393(%rcx,%rsi), %r10
528 xorq %r14, %r11
529 roll $30, %ebx
530 xorq %rax, %r12
531 xorq %rdx, %r12
532 movl %r10d, %esi
533 xorl %r9d, %r12d
534 roll $5, %esi
535 roll %r12d
536 addq %r11, %rsi
537 movq %r12, 16(%rdi)
538 addq %r15, %rsi
539 movq 16(%rdi), %r8
540 movq (%rdi), %r15
541 movq -40(%rdi), %rax
542 movl %r10d, %r12d
543 movq 40(%rdi), %rdx
544 movq 24(%rdi), %r9
545 xorq %rbx, %r10
546 leaq 1859775393(%rsi,%r8), %r11
547 xorq %r13, %r10
548 xorq %rax, %r15
549 xorq %rdx, %r15
550 movl %r11d, %r8d
551 xorl %r9d, %r15d
552 roll $5, %r8d
553 roll %r15d
554 addq %r10, %r8
555 movq %r15, 24(%rdi)
556 movq 24(%rdi), %rcx
557 addq %r14, %r8
558 movq 8(%rdi), %r14
559 movq -32(%rdi), %rax
560 roll $30, %r12d
561 movq 48(%rdi), %rdx
562 movq 32(%rdi), %r10
563 movl %r11d, %r15d
564 leaq 1859775393(%r8,%rcx), %r9
565 xorq %r12, %r11
566 roll $30, %r15d
567 xorq %rax, %r14
568 xorq %rbx, %r11
569 xorq %rdx, %r14
570 movl %r9d, %ecx
571 xorl %r10d, %r14d
572 roll $5, %ecx
573 roll %r14d
574 addq %r11, %rcx
575 movq %r14, 32(%rdi)
576 addq %r13, %rcx
577 movq 32(%rdi), %rsi
578 movq 16(%rdi), %r13
579 movq -24(%rdi), %rax
580 movl %r9d, %r14d
581 movq 56(%rdi), %rdx
582 movq 40(%rdi), %r11
583 xorq %r15, %r9
584 leaq 1859775393(%rcx,%rsi), %r10
585 xorq %r12, %r9
586 roll $30, %r14d
587 xorq %rax, %r13
588 xorq %rdx, %r13
589 movl %r10d, %esi
590 xorl %r11d, %r13d
591 roll $5, %esi
592 roll %r13d
593 addq %r9, %rsi
594 movq %r13, 40(%rdi)
595 movq 40(%rdi), %r8
596 addq %rbx, %rsi
597 movq 24(%rdi), %rbx
598 movq -16(%rdi), %rax
599 movl %r10d, %r13d
600 movq 64(%rdi), %rdx
601 movq 48(%rdi), %r9
602 xorq %r14, %r10
603 leaq 1859775393(%rsi,%r8), %r11
604 xorq %r15, %r10
605 roll $30, %r13d
606 xorq %rax, %rbx
607 xorq %rdx, %rbx
608 movl %r11d, %r8d
609 xorl %r9d, %ebx
610 roll $5, %r8d
611 roll %ebx
612 addq %r10, %r8
613 movq %rbx, 48(%rdi)
614 addq %r12, %r8
615 movq 48(%rdi), %rcx
616 movq 32(%rdi), %r12
617 movq -8(%rdi), %rax
618 movl %r11d, %ebx
619 movq 72(%rdi), %rdx
620 movq 56(%rdi), %r9
621 leaq 1859775393(%r8,%rcx), %r10
622 xorq %rax, %r12
623 xorq %rdx, %r12
624 movl %r10d, %ecx
625 xorl %r9d, %r12d
626 xorq %r13, %r11
627 roll $5, %ecx
628 xorq %r14, %r11
629 roll %r12d
630 roll $30, %ebx
631 addq %r11, %rcx
632 movq %r12, 56(%rdi)
633 movq 56(%rdi), %rsi
634 addq %r15, %rcx
635 movq 40(%rdi), %r15
636 movq (%rdi), %rax
637 movq -48(%rdi), %rdx
638 movq 64(%rdi), %r9
639 movl %r10d, %r12d
640 leaq 1859775393(%rcx,%rsi), %r11
641 xorq %rbx, %r10
642 roll $30, %r12d
643 xorq %rax, %r15
644 xorq %r13, %r10
645 xorq %rdx, %r15
646 movl %r11d, %esi
647 xorl %r9d, %r15d
648 roll $5, %esi
649 roll %r15d
650 addq %r10, %rsi
651 movq %r15, 64(%rdi)
652 movq 64(%rdi), %r8
653 addq %r14, %rsi
654 movq 48(%rdi), %r14
655 movq 8(%rdi), %rax
656 movl %r11d, %r15d
657 movq -40(%rdi), %rdx
658 movq 72(%rdi), %r10
659 xorq %r12, %r11
660 leaq 1859775393(%rsi,%r8), %r9
661 xorq %rbx, %r11
662 roll $30, %r15d
663 xorq %rax, %r14
664 xorq %rdx, %r14
665 movl %r9d, %r8d
666 xorl %r10d, %r14d
667 roll $5, %r8d
668 roll %r14d
669 addq %r11, %r8
670 movq %r14, 72(%rdi)
671 addq %r13, %r8
672 movq 72(%rdi), %rcx
673 movq 56(%rdi), %r13
674 movq 16(%rdi), %rax
675 movl %r9d, %r14d
676 movq -32(%rdi), %rdx
677 movq -48(%rdi), %r11
678 leaq 1859775393(%r8,%rcx), %r10
679 xorq %rax, %r13
680 xorq %rdx, %r13
681 movl %r10d, %ecx
682 xorl %r11d, %r13d
683 roll $5, %ecx
684 roll %r13d
685 xorq %r15, %r9
686 roll $30, %r14d
687 xorq %r12, %r9
688 movq %r13, -48(%rdi)
689 movq -48(%rdi), %rsi
690 addq %r9, %rcx
691 movl %r10d, %r13d
692 xorq %r14, %r10
693 addq %rbx, %rcx
694 movq 64(%rdi), %rbx
695 movq 24(%rdi), %rax
696 movq -24(%rdi), %rdx
697 leaq 1859775393(%rcx,%rsi), %r11
698 movq -40(%rdi), %r9
699 xorq %r15, %r10
700 roll $30, %r13d
701 xorq %rax, %rbx
702 movl %r11d, %esi
703 xorq %rdx, %rbx
704 roll $5, %esi
705 xorl %r9d, %ebx
706 addq %r10, %rsi
707 roll %ebx
708 addq %r12, %rsi
709 movq %rbx, -40(%rdi)
710 movq -40(%rdi), %r8
711 movl %r11d, %ebx
712 movq 72(%rdi), %r12
713 movq 32(%rdi), %rax
714 xorq %r13, %r11
715 movq -16(%rdi), %rdx
716 movq -32(%rdi), %r9
717 xorq %r14, %r11
718 leaq 1859775393(%rsi,%r8), %r10
719 roll $30, %ebx
720 xorq %rax, %r12
721 xorq %rdx, %r12
722 movl %r10d, %r8d
723 xorl %r9d, %r12d
724 roll $5, %r8d
725 roll %r12d
726 addq %r11, %r8
727 movq %r12, -32(%rdi)
728 movq -32(%rdi), %rcx
729 addq %r15, %r8
730 movq -48(%rdi), %r15
731 movq 40(%rdi), %rax
732 movl %r10d, %r12d
733 movq -8(%rdi), %rdx
734 movq -24(%rdi), %r9
735 xorq %rbx, %r10
736 leaq 1859775393(%r8,%rcx), %r11
737 xorq %r13, %r10
738 xorq %rax, %r15
739 xorq %rdx, %r15
740 movl %r11d, %ecx
741 xorl %r9d, %r15d
742 roll $5, %ecx
743 roll %r15d
744 addq %r10, %rcx
745 addq %r14, %rcx
746 movq %r15, -24(%rdi)
747 movq -24(%rdi), %rsi
748 movq -40(%rdi), %r14
749 movq 48(%rdi), %rax
750 roll $30, %r12d
751 movq (%rdi), %rdx
752 movq -16(%rdi), %r10
753 movl %r11d, %r15d
754 leaq 1859775393(%rcx,%rsi), %r9
755 xorq %r12, %r11
756 roll $30, %r15d
757 xorq %rax, %r14
758 xorq %rbx, %r11
759 xorq %rdx, %r14
760 movl %r9d, %esi
761 xorl %r10d, %r14d
762 roll $5, %esi
763 roll %r14d
764 addq %r11, %rsi
765 movq %r14, -16(%rdi)
766 movq -16(%rdi), %r8
767 addq %r13, %rsi
768 movq -32(%rdi), %r11
769 movq 56(%rdi), %rax
770 movl %r9d, %r14d
771 movq 8(%rdi), %rdx
772 movq -8(%rdi), %r10
773 xorq %r15, %r9
774 leaq 1859775393(%rsi,%r8), %r13
775 xorq %r12, %r9
776 roll $30, %r14d
777 xorq %rax, %r11
778 xorq %rdx, %r11
779 movl %r13d, %r8d
780 xorl %r10d, %r11d
781 roll $5, %r8d
782 movl %r13d, %r10d
783 roll %r11d
784 addq %r9, %r8
785 xorq %r14, %r13
786 movq %r11, -8(%rdi)
787 addq %rbx, %r8
788 movq -8(%rdi), %rbx
789 movq -24(%rdi), %r9
790 movq 64(%rdi), %rax
791 xorq %r15, %r13
792 movq 16(%rdi), %rdx
793 movq (%rdi), %rcx
794 leaq 1859775393(%r8,%rbx), %r11
795 xorq %rax, %r9
796 xorq %rdx, %r9
797 movl %r11d, %ebx
798 xorl %ecx, %r9d
799 roll $5, %ebx
800 roll %r9d
801 addq %r13, %rbx
802 movq %r9, (%rdi)
803 movq (%rdi), %rsi
804 addq %r12, %rbx
805 movq -16(%rdi), %r12
806 movq 72(%rdi), %r13
807 movl %r11d, %r9d
808 leaq 1859775393(%rbx,%rsi), %rcx
809 movl %r10d, %ebx
810 movq 24(%rdi), %r10
811 movq 8(%rdi), %rax
812 xorq %r13, %r12
813 roll $30, %ebx
814 movl %ecx, %esi
815 xorq %r10, %r12
816 xorq %rbx, %r11
817 roll $5, %esi
818 xorl %eax, %r12d
819 xorq %r14, %r11
820 roll $30, %r9d
821 roll %r12d
822 addq %r11, %rsi
823 movq %rcx, %rax
824 movq %r12, 8(%rdi)
825 movq 8(%rdi), %rdx
826 addq %r15, %rsi
827 movq -8(%rdi), %r11
828 movq -48(%rdi), %r13
829 movl %ecx, %r12d
830 movq 32(%rdi), %r10
831 movq 16(%rdi), %r8
832 orq %r9, %rcx
833 leaq 1859775393(%rsi,%rdx), %rsi
834 andq %rbx, %rcx
835 andq %r9, %rax
836 xorq %r13, %r11
837 orq %rcx, %rax
838 roll $30, %r12d
839 xorq %r10, %r11
840 movq %rsi, %r10
841 xorl %r8d, %r11d
842 movl %esi, %r8d
843 andq %r12, %r10
844 roll %r11d
845 roll $5, %r8d
846 movq %r11, 16(%rdi)
847 addq %rax, %r8
848 movq 16(%rdi), %r15
849 movq (%rdi), %r13
850 movq -40(%rdi), %rdx
851 addq %r14, %r8
852 movq 40(%rdi), %r14
853 movq 24(%rdi), %rcx
854 movl %esi, %r11d
855 addq %r15, %r8
856 movl $2400959708, %r15d
857 orq %r12, %rsi
858 xorq %rdx, %r13
859 addq %r15, %r8
860 andq %r9, %rsi
861 xorq %r14, %r13
862 orq %rsi, %r10
863 xorl %ecx, %r13d
864 movl %r8d, %ecx
865 roll %r13d
866 roll $5, %ecx
867 movq %r13, 24(%rdi)
868 addq %r10, %rcx
869 movq 24(%rdi), %rax
870 movq 8(%rdi), %r14
871 movq -32(%rdi), %rdx
872 addq %rbx, %rcx
873 movq 48(%rdi), %rbx
874 movq 32(%rdi), %rsi
875 roll $30, %r11d
876 addq %rax, %rcx
877 movl %r8d, %r13d
878 movq %r8, %r10
879 xorq %rdx, %r14
880 addq %r15, %rcx
881 orq %r11, %r8
882 xorq %rbx, %r14
883 andq %r12, %r8
884 andq %r11, %r10
885 xorl %esi, %r14d
886 movl %ecx, %esi
887 orq %r8, %r10
888 roll $5, %esi
889 roll %r14d
890 roll $30, %r13d
891 addq %r10, %rsi
892 movq %r14, 32(%rdi)
893 movq 32(%rdi), %rax
894 addq %r9, %rsi
895 movq 16(%rdi), %r9
896 movq -24(%rdi), %rdx
897 movq 56(%rdi), %rbx
898 movq 40(%rdi), %r8
899 movl %ecx, %r14d
900 addq %rax, %rsi
901 movq %rcx, %r10
902 orq %r13, %rcx
903 xorq %rdx, %r9
904 addq %r15, %rsi
905 andq %r11, %rcx
906 xorq %rbx, %r9
907 andq %r13, %r10
908 roll $30, %r14d
909 xorl %r8d, %r9d
910 movl %esi, %r8d
911 orq %rcx, %r10
912 roll %r9d
913 roll $5, %r8d
914 movq %r9, 40(%rdi)
915 addq %r10, %r8
916 movq 40(%rdi), %rax
917 movq 24(%rdi), %r10
918 movq -16(%rdi), %rdx
919 addq %r12, %r8
920 movq 64(%rdi), %rbx
921 movq 48(%rdi), %rcx
922 movl %esi, %r9d
923 addq %rax, %r8
924 movq %rsi, %r12
925 xorq %rdx, %r10
926 addq %r15, %r8
927 xorq %rbx, %r10
928 orq %r14, %rsi
929 andq %r14, %r12
930 andq %r13, %rsi
931 xorl %ecx, %r10d
932 movl %r8d, %ecx
933 orq %rsi, %r12
934 roll %r10d
935 roll $5, %ecx
936 movq %r10, 48(%rdi)
937 addq %r12, %rcx
938 movq 48(%rdi), %rax
939 movq 32(%rdi), %r12
940 movq -8(%rdi), %rdx
941 addq %r11, %rcx
942 movq 72(%rdi), %rbx
943 movq 56(%rdi), %rsi
944 roll $30, %r9d
945 addq %rax, %rcx
946 movl %r8d, %r10d
947 movq %r8, %r11
948 xorq %rdx, %r12
949 addq %r15, %rcx
950 orq %r9, %r8
951 xorq %rbx, %r12
952 andq %r14, %r8
953 andq %r9, %r11
954 xorl %esi, %r12d
955 movl %ecx, %esi
956 orq %r8, %r11
957 roll %r12d
958 roll $5, %esi
959 roll $30, %r10d
960 movq %r12, 56(%rdi)
961 addq %r11, %rsi
962 movq 56(%rdi), %rax
963 movq 40(%rdi), %r11
964 movq (%rdi), %rdx
965 addq %r13, %rsi
966 movq -48(%rdi), %rbx
967 movq 64(%rdi), %r8
968 movq %rcx, %r13
969 addq %rax, %rsi
970 andq %r10, %r13
971 movl %ecx, %r12d
972 xorq %rdx, %r11
973 addq %r15, %rsi
974 xorq %rbx, %r11
975 xorl %r8d, %r11d
976 movl %esi, %r8d
977 roll %r11d
978 roll $5, %r8d
979 orq %r10, %rcx
980 andq %r9, %rcx
981 movq %r11, 64(%rdi)
982 movq 64(%rdi), %rax
983 orq %rcx, %r13
984 roll $30, %r12d
985 movl %esi, %r11d
986 addq %r13, %r8
987 movq 48(%rdi), %r13
988 movq 8(%rdi), %rdx
989 movq -40(%rdi), %rbx
990 addq %r14, %r8
991 movq 72(%rdi), %rcx
992 addq %rax, %r8
993 movq %rsi, %r14
994 orq %r12, %rsi
995 xorq %rdx, %r13
996 addq %r15, %r8
997 andq %r10, %rsi
998 xorq %rbx, %r13
999 andq %r12, %r14
1000 roll $30, %r11d
1001 xorl %ecx, %r13d
1002 movl %r8d, %ecx
1003 orq %rsi, %r14
1004 roll %r13d
1005 roll $5, %ecx
1006 movq %r13, 72(%rdi)
1007 addq %r14, %rcx
1008 movq 72(%rdi), %rax
1009 movq 56(%rdi), %r14
1010 movq 16(%rdi), %rdx
1011 addq %r9, %rcx
1012 movq -32(%rdi), %rbx
1013 movq -48(%rdi), %rsi
1014 movl %r8d, %r13d
1015 addq %rax, %rcx
1016 movq %r8, %r9
1017 orq %r11, %r8
1018 xorq %rdx, %r14
1019 addq %r15, %rcx
1020 andq %r12, %r8
1021 xorq %rbx, %r14
1022 andq %r11, %r9
1023 xorl %esi, %r14d
1024 movl %ecx, %esi
1025 orq %r8, %r9
1026 roll $5, %esi
1027 roll %r14d
1028 addq %r9, %rsi
1029 movq %r14, -48(%rdi)
1030 movq -48(%rdi), %rax
1031 addq %r10, %rsi
1032 movq 64(%rdi), %r10
1033 movq 24(%rdi), %rdx
1034 movq -24(%rdi), %rbx
1035 movq -40(%rdi), %r8
1036 movl %ecx, %r14d
1037 addq %rax, %rsi
1038 roll $30, %r13d
1039 movq %rcx, %r9
1040 xorq %rdx, %r10
1041 addq %r15, %rsi
1042 orq %r13, %rcx
1043 xorq %rbx, %r10
1044 andq %r11, %rcx
1045 andq %r13, %r9
1046 xorl %r8d, %r10d
1047 movl %esi, %r8d
1048 orq %rcx, %r9
1049 roll $5, %r8d
1050 roll %r10d
1051 roll $30, %r14d
1052 addq %r9, %r8
1053 movq %r10, -40(%rdi)
1054 movq -40(%rdi), %rax
1055 addq %r12, %r8
1056 movq 72(%rdi), %r12
1057 movq 32(%rdi), %rdx
1058 movq -16(%rdi), %rbx
1059 movq -32(%rdi), %rcx
1060 movl %esi, %r10d
1061 addq %rax, %r8
1062 movq %rsi, %r9
1063 orq %r14, %rsi
1064 xorq %rdx, %r12
1065 addq %r15, %r8
1066 andq %r13, %rsi
1067 xorq %rbx, %r12
1068 andq %r14, %r9
1069 roll $30, %r10d
1070 xorl %ecx, %r12d
1071 movl %r8d, %ecx
1072 orq %rsi, %r9
1073 roll $5, %ecx
1074 roll %r12d
1075 addq %r9, %rcx
1076 movq %r12, -32(%rdi)
1077 movq -32(%rdi), %rax
1078 addq %r11, %rcx
1079 movq -48(%rdi), %r11
1080 movq 40(%rdi), %rdx
1081 movq -8(%rdi), %rbx
1082 movq -24(%rdi), %rsi
1083 movl %r8d, %r12d
1084 addq %rax, %rcx
1085 movq %r8, %r9
1086 xorq %rdx, %r11
1087 addq %r15, %rcx
1088 xorq %rbx, %r11
1089 xorl %esi, %r11d
1090 orq %r10, %r8
1091 andq %r10, %r9
1092 andq %r14, %r8
1093 movl %ecx, %esi
1094 roll %r11d
1095 orq %r8, %r9
1096 roll $5, %esi
1097 movq %r11, -24(%rdi)
1098 addq %r9, %rsi
1099 movq -24(%rdi), %rax
1100 roll $30, %r12d
1101 addq %r13, %rsi
1102 movq -40(%rdi), %r13
1103 movq 48(%rdi), %rdx
1104 movq (%rdi), %rbx
1105 movq -16(%rdi), %r8
1106 movl %ecx, %r11d
1107 addq %rax, %rsi
1108 movq %rcx, %r9
1109 orq %r12, %rcx
1110 xorq %rdx, %r13
1111 addq %r15, %rsi
1112 andq %r10, %rcx
1113 xorq %rbx, %r13
1114 andq %r12, %r9
1115 roll $30, %r11d
1116 xorl %r8d, %r13d
1117 movl %esi, %r8d
1118 orq %rcx, %r9
1119 roll %r13d
1120 roll $5, %r8d
1121 movq %r13, -16(%rdi)
1122 addq %r9, %r8
1123 movq -16(%rdi), %rax
1124 movq -32(%rdi), %r9
1125 movq 56(%rdi), %rdx
1126 addq %r14, %r8
1127 movq 8(%rdi), %rcx
1128 movq -8(%rdi), %rbx
1129 movl %esi, %r13d
1130 addq %rax, %r8
1131 movq %rsi, %r14
1132 orq %r11, %rsi
1133 xorq %rdx, %r9
1134 addq %r15, %r8
1135 andq %r11, %r14
1136 xorq %rcx, %r9
1137 xorl %ebx, %r9d
1138 movl %r8d, %ebx
1139 roll %r9d
1140 roll $5, %ebx
1141 andq %r12, %rsi
1142 orq %rsi, %r14
1143 movq %r9, -8(%rdi)
1144 movq -8(%rdi), %rax
1145 addq %r14, %rbx
1146 movq -24(%rdi), %r14
1147 movq 64(%rdi), %rdx
1148 movq 16(%rdi), %rcx
1149 addq %r10, %rbx
1150 movq (%rdi), %rsi
1151 roll $30, %r13d
1152 addq %rax, %rbx
1153 movl %r8d, %r9d
1154 xorq %rdx, %r14
1155 addq %r15, %rbx
1156 movq %r8, %r10
1157 xorq %rcx, %r14
1158 orq %r13, %r8
1159 andq %r13, %r10
1160 andq %r11, %r8
1161 xorl %esi, %r14d
1162 movl %ebx, %esi
1163 orq %r8, %r10
1164 roll $5, %esi
1165 roll %r14d
1166 addq %r10, %rsi
1167 movq %r14, (%rdi)
1168 movq (%rdi), %rax
1169 addq %r12, %rsi
1170 movq -16(%rdi), %r12
1171 movq 72(%rdi), %rdx
1172 movq 24(%rdi), %rcx
1173 movq 8(%rdi), %r8
1174 roll $30, %r9d
1175 addq %rax, %rsi
1176 movl %ebx, %r14d
1177 movq %rbx, %r10
1178 xorq %rdx, %r12
1179 addq %r15, %rsi
1180 orq %r9, %rbx
1181 xorq %rcx, %r12
1182 andq %r13, %rbx
1183 andq %r9, %r10
1184 xorl %r8d, %r12d
1185 movl %esi, %r8d
1186 orq %rbx, %r10
1187 roll %r12d
1188 roll $5, %r8d
1189 movq %r12, 8(%rdi)
1190 movq 8(%rdi), %rax
1191 addq %r10, %r8
1192 movq -8(%rdi), %rbx
1193 movq -48(%rdi), %rdx
1194 addq %r11, %r8
1195 movq 32(%rdi), %r11
1196 movq 16(%rdi), %rcx
1197 movl %esi, %r12d
1198 addq %rax, %r8
1199 movq %rsi, %r10
1200 addq %r15, %r8
1201 xorq %rdx, %rbx
1202 roll $30, %r14d
1203 xorq %r11, %rbx
1204 orq %r14, %rsi
1205 andq %r14, %r10
1206 xorl %ecx, %ebx
1207 andq %r9, %rsi
1208 movl %r8d, %ecx
1209 roll %ebx
1210 orq %rsi, %r10
1211 roll $5, %ecx
1212 movq %rbx, 16(%rdi)
1213 movq 16(%rdi), %rsi
1214 addq %r10, %rcx
1215 movq (%rdi), %r11
1216 movq -40(%rdi), %rax
1217 addq %r13, %rcx
1218 movq 40(%rdi), %rdx
1219 movq 24(%rdi), %r13
1220 roll $30, %r12d
1221 addq %rsi, %rcx
1222 movl %r8d, %ebx
1223 movq %r8, %r10
1224 xorq %rax, %r11
1225 addq %r15, %rcx
1226 orq %r12, %r8
1227 xorq %rdx, %r11
1228 andq %r14, %r8
1229 andq %r12, %r10
1230 xorl %r13d, %r11d
1231 movl %ecx, %r13d
1232 orq %r8, %r10
1233 roll %r11d
1234 roll $5, %r13d
1235 roll $30, %ebx
1236 movq %r11, 24(%rdi)
1237 addq %r10, %r13
1238 movq 24(%rdi), %rsi
1239 movq 8(%rdi), %r10
1240 movq -32(%rdi), %rax
1241 addq %r9, %r13
1242 movq 48(%rdi), %rdx
1243 movq 32(%rdi), %r8
1244 movl %ecx, %r11d
1245 addq %rsi, %r13
1246 movq %rcx, %r9
1247 xorq %rax, %r10
1248 addq %r15, %r13
1249 xorq %rdx, %r10
1250 xorl %r8d, %r10d
1251 movl %r13d, %r8d
1252 roll %r10d
1253 orq %rbx, %rcx
1254 andq %rbx, %r9
1255 movq %r10, 32(%rdi)
1256 andq %r12, %rcx
1257 movl %r13d, %r10d
1258 orq %rcx, %r9
1259 roll $5, %r10d
1260 movq 32(%rdi), %rsi
1261 addq %r9, %r10
1262 roll $30, %r11d
1263 movq %r13, %rcx
1264 addq %r14, %r10
1265 movq 16(%rdi), %r14
1266 movq -24(%rdi), %rax
1267 movq 56(%rdi), %rdx
1268 movq 40(%rdi), %r9
1269 addq %rsi, %r10
1270 addq %r15, %r10
1271 orq %r11, %r13
1272 andq %r11, %rcx
1273 xorq %rax, %r14
1274 andq %rbx, %r13
1275 xorq %rdx, %r14
1276 orq %r13, %rcx
1277 xorl %r9d, %r14d
1278 movl %r10d, %r9d
1279 roll %r14d
1280 roll $5, %r9d
1281 movq %r14, 40(%rdi)
1282 movq 40(%rdi), %rsi
1283 addq %rcx, %r9
1284 movq 24(%rdi), %r13
1285 addq %r12, %r9
1286 movq -16(%rdi), %r12
1287 movq 64(%rdi), %rax
1288 movl %r10d, %r14d
1289 addq %rsi, %r9
1290 movl %r8d, %esi
1291 addq %r15, %r9
1292 movq 48(%rdi), %r15
1293 xorq %r12, %r13
1294 roll $30, %esi
1295 xorq %rax, %r13
1296 xorq %rsi, %r10
1297 xorl %r15d, %r13d
1298 movl %r9d, %r15d
1299 xorq %r11, %r10
1300 roll $5, %r15d
1301 roll %r13d
1302 addq %r10, %r15
1303 movq %r13, 48(%rdi)
1304 movq 48(%rdi), %r10
1305 addq %rbx, %r15
1306 movq 32(%rdi), %rbx
1307 movq -8(%rdi), %r8
1308 movq 72(%rdi), %rdx
1309 movq 56(%rdi), %rcx
1310 roll $30, %r14d
1311 addq %r10, %r15
1312 movl $3395469782, %r10d
1313 movl %r9d, %r13d
1314 xorq %r8, %rbx
1315 addq %r10, %r15
1316 xorq %r14, %r9
1317 xorq %rdx, %rbx
1318 xorq %rsi, %r9
1319 roll $30, %r13d
1320 xorl %ecx, %ebx
1321 movl %r15d, %ecx
1322 roll %ebx
1323 roll $5, %ecx
1324 movq %rbx, 56(%rdi)
1325 addq %r9, %rcx
1326 movq 56(%rdi), %r12
1327 movq 40(%rdi), %r9
1328 movq (%rdi), %rax
1329 addq %r11, %rcx
1330 movq -48(%rdi), %r8
1331 movq 64(%rdi), %r11
1332 movl %r15d, %ebx
1333 addq %r12, %rcx
1334 xorq %r13, %r15
1335 roll $30, %ebx
1336 xorq %rax, %r9
1337 addq %r10, %rcx
1338 xorq %r14, %r15
1339 xorq %r8, %r9
1340 xorl %r11d, %r9d
1341 movl %ecx, %r11d
1342 roll %r9d
1343 roll $5, %r11d
1344 movq %r9, 64(%rdi)
1345 addq %r15, %r11
1346 movq 64(%rdi), %rdx
1347 movq 48(%rdi), %r15
1348 movq 8(%rdi), %r12
1349 addq %rsi, %r11
1350 movq -40(%rdi), %rax
1351 movq 72(%rdi), %r8
1352 movl %ecx, %r9d
1353 addq %rdx, %r11
1354 xorq %r12, %r15
1355 addq %r10, %r11
1356 xorq %rax, %r15
1357 xorl %r8d, %r15d
1358 movl %r11d, %r8d
1359 roll %r15d
1360 roll $5, %r8d
1361 xorq %rbx, %rcx
1362 xorq %r13, %rcx
1363 movq %r15, 72(%rdi)
1364 movq 72(%rdi), %rsi
1365 addq %rcx, %r8
1366 movq 56(%rdi), %r12
1367 movq 16(%rdi), %rcx
1368 movq -32(%rdi), %rdx
1369 addq %r14, %r8
1370 movq -48(%rdi), %r14
1371 addq %rsi, %r8
1372 roll $30, %r9d
1373 movl %r11d, %r15d
1374 xorq %rcx, %r12
1375 addq %r10, %r8
1376 xorq %r9, %r11
1377 xorq %rdx, %r12
1378 xorq %rbx, %r11
1379 roll $30, %r15d
1380 xorl %r14d, %r12d
1381 movl %r8d, %r14d
1382 roll $5, %r14d
1383 roll %r12d
1384 addq %r11, %r14
1385 movq %r12, -48(%rdi)
1386 movq -48(%rdi), %rax
1387 addq %r13, %r14
1388 movq 64(%rdi), %r13
1389 movq 24(%rdi), %rsi
1390 movq -24(%rdi), %rcx
1391 movq -40(%rdi), %r11
1392 movl %r8d, %r12d
1393 addq %rax, %r14
1394 xorq %r15, %r8
1395 roll $30, %r12d
1396 xorq %rsi, %r13
1397 addq %r10, %r14
1398 xorq %r9, %r8
1399 xorq %rcx, %r13
1400 xorl %r11d, %r13d
1401 movl %r14d, %r11d
1402 roll $5, %r11d
1403 roll %r13d
1404 addq %r8, %r11
1405 movq %r13, -40(%rdi)
1406 movq -40(%rdi), %rdx
1407 addq %rbx, %r11
1408 movq 72(%rdi), %rbx
1409 movq 32(%rdi), %rax
1410 movq -16(%rdi), %rsi
1411 movq -32(%rdi), %r8
1412 movl %r14d, %r13d
1413 addq %rdx, %r11
1414 xorq %rax, %rbx
1415 addq %r10, %r11
1416 xorq %rsi, %rbx
1417 xorl %r8d, %ebx
1418 xorq %r12, %r14
1419 movl %r11d, %r8d
1420 xorq %r15, %r14
1421 roll %ebx
1422 roll $5, %r8d
1423 movq %rbx, -32(%rdi)
1424 addq %r14, %r8
1425 movq -32(%rdi), %rcx
1426 movq -48(%rdi), %r14
1427 movq 40(%rdi), %rdx
1428 addq %r9, %r8
1429 movq -8(%rdi), %rax
1430 movq -24(%rdi), %r9
1431 roll $30, %r13d
1432 addq %rcx, %r8
1433 movl %r11d, %ebx
1434 xorq %r13, %r11
1435 xorq %rdx, %r14
1436 addq %r10, %r8
1437 xorq %r12, %r11
1438 xorq %rax, %r14
1439 roll $30, %ebx
1440 xorl %r9d, %r14d
1441 movl %r8d, %r9d
1442 roll $5, %r9d
1443 roll %r14d
1444 addq %r11, %r9
1445 movq %r14, -24(%rdi)
1446 movq -24(%rdi), %rsi
1447 addq %r15, %r9
1448 movq -40(%rdi), %r15
1449 movq 48(%rdi), %rcx
1450 movq (%rdi), %rdx
1451 movq -16(%rdi), %r11
1452 movl %r8d, %r14d
1453 addq %rsi, %r9
1454 xorq %rbx, %r8
1455 xorq %rcx, %r15
1456 addq %r10, %r9
1457 xorq %r13, %r8
1458 xorq %rdx, %r15
1459 xorl %r11d, %r15d
1460 movl %r9d, %r11d
1461 roll %r15d
1462 roll $5, %r11d
1463 movq %r15, -16(%rdi)
1464 addq %r8, %r11
1465 movq -16(%rdi), %rax
1466 addq %r12, %r11
1467 movq -32(%rdi), %r12
1468 movq 56(%rdi), %rsi
1469 movq 8(%rdi), %rcx
1470 movq -8(%rdi), %r8
1471 movl %r9d, %r15d
1472 addq %rax, %r11
1473 addq %r10, %r11
1474 roll $30, %r14d
1475 xorq %rsi, %r12
1476 xorq %rcx, %r12
1477 xorq %r14, %r9
1478 roll $30, %r15d
1479 xorl %r8d, %r12d
1480 movl %r11d, %r8d
1481 xorq %rbx, %r9
1482 roll $5, %r8d
1483 roll %r12d
1484 addq %r9, %r8
1485 movq %r12, -8(%rdi)
1486 movq -8(%rdi), %rdx
1487 addq %r13, %r8
1488 movq -24(%rdi), %r13
1489 movq 64(%rdi), %rax
1490 movq 16(%rdi), %rsi
1491 movq (%rdi), %rcx
1492 movl %r11d, %r12d
1493 addq %rdx, %r8
1494 xorq %r15, %r11
1495 roll $30, %r12d
1496 xorq %rax, %r13
1497 addq %r10, %r8
1498 xorq %r14, %r11
1499 xorq %rsi, %r13
1500 xorl %ecx, %r13d
1501 movl %r8d, %ecx
1502 roll $5, %ecx
1503 roll %r13d
1504 addq %r11, %rcx
1505 movq %r13, (%rdi)
1506 movq (%rdi), %r9
1507 addq %rbx, %rcx
1508 movq -16(%rdi), %rbx
1509 movq 72(%rdi), %rdx
1510 movq 24(%rdi), %rax
1511 movq 8(%rdi), %rsi
1512 movl %r8d, %r13d
1513 addq %r9, %rcx
1514 xorq %r12, %r8
1515 xorq %rdx, %rbx
1516 addq %r10, %rcx
1517 xorq %r15, %r8
1518 xorq %rax, %rbx
1519 xorl %esi, %ebx
1520 movl %ecx, %esi
1521 roll $5, %esi
1522 roll %ebx
1523 addq %r8, %rsi
1524 movq %rbx, 8(%rdi)
1525 movq 8(%rdi), %r11
1526 addq %r14, %rsi
1527 movq -8(%rdi), %r14
1528 movq -48(%rdi), %r9
1529 movq 32(%rdi), %rdx
1530 movq 16(%rdi), %r8
1531 roll $30, %r13d
1532 addq %r11, %rsi
1533 movl %ecx, %ebx
1534 xorq %r13, %rcx
1535 xorq %r9, %r14
1536 addq %r10, %rsi
1537 xorq %r12, %rcx
1538 xorq %rdx, %r14
1539 roll $30, %ebx
1540 xorl %r8d, %r14d
1541 movl %esi, %r8d
1542 roll $5, %r8d
1543 roll %r14d
1544 addq %rcx, %r8
1545 movq %r14, 16(%rdi)
1546 movq 16(%rdi), %rax
1547 addq %r15, %r8
1548 movq (%rdi), %r15
1549 movq -40(%rdi), %r11
1550 movq 40(%rdi), %r9
1551 movq 24(%rdi), %rcx
1552 movl %esi, %r14d
1553 addq %rax, %r8
1554 xorq %rbx, %rsi
1555 roll $30, %r14d
1556 xorq %r11, %r15
1557 addq %r10, %r8
1558 xorq %r13, %rsi
1559 xorq %r9, %r15
1560 xorl %ecx, %r15d
1561 movl %r8d, %ecx
1562 roll %r15d
1563 roll $5, %ecx
1564 movq %r15, 24(%rdi)
1565 addq %rsi, %rcx
1566 movq 24(%rdi), %rdx
1567 movq 8(%rdi), %r11
1568 movq -32(%rdi), %rax
1569 addq %r12, %rcx
1570 movq 48(%rdi), %r12
1571 movq 32(%rdi), %rsi
1572 movl %r8d, %r15d
1573 addq %rdx, %rcx
1574 xorq %rax, %r11
1575 addq %r10, %rcx
1576 xorq %r12, %r11
1577 xorl %esi, %r11d
1578 movl %ecx, %esi
1579 roll %r11d
1580 movq %r11, 32(%rdi)
1581 movl %ecx, %r11d
1582 movq 32(%rdi), %r9
1583 roll $5, %r11d
1584 xorq %r14, %r8
1585 movq 16(%rdi), %r12
1586 xorq %rbx, %r8
1587 movq -24(%rdi), %rdx
1588 movq 56(%rdi), %rax
1589 addq %r8, %r11
1590 movq 40(%rdi), %r8
1591 roll $30, %r15d
1592 addq %r13, %r11
1593 xorq %r15, %rcx
1594 addq %r9, %r11
1595 xorq %rdx, %r12
1596 xorq %r14, %rcx
1597 addq %r10, %r11
1598 xorq %rax, %r12
1599 xorl %r8d, %r12d
1600 movl %r11d, %r8d
1601 roll $5, %r8d
1602 roll %r12d
1603 addq %rcx, %r8
1604 movq %r12, 40(%rdi)
1605 movq 40(%rdi), %r13
1606 addq %rbx, %r8
1607 movq 24(%rdi), %rbx
1608 movq -16(%rdi), %r9
1609 movq 64(%rdi), %rdx
1610 movq 48(%rdi), %rcx
1611 movl %r11d, %r12d
1612 addq %r13, %r8
1613 movl %esi, %r13d
1614 roll $30, %r12d
1615 xorq %r9, %rbx
1616 addq %r10, %r8
1617 roll $30, %r13d
1618 xorq %rdx, %rbx
1619 xorq %r13, %r11
1620 xorl %ecx, %ebx
1621 movl %r8d, %ecx
1622 xorq %r15, %r11
1623 roll %ebx
1624 roll $5, %ecx
1625 movq %rbx, 48(%rdi)
1626 addq %r11, %rcx
1627 movq 48(%rdi), %rax
1628 movq 32(%rdi), %r11
1629 movq -8(%rdi), %rsi
1630 addq %r14, %rcx
1631 movq 72(%rdi), %r9
1632 movq 56(%rdi), %r14
1633 movl %r8d, %ebx
1634 addq %rax, %rcx
1635 xorq %rsi, %r11
1636 addq %r10, %rcx
1637 xorq %r9, %r11
1638 xorl %r14d, %r11d
1639 xorq %r12, %r8
1640 movl %ecx, %r14d
1641 xorq %r13, %r8
1642 roll %r11d
1643 roll $5, %r14d
1644 movq %r11, 56(%rdi)
1645 addq %r8, %r14
1646 movq 56(%rdi), %rdx
1647 movq 40(%rdi), %r8
1648 movq (%rdi), %rax
1649 addq %r15, %r14
1650 movq -48(%rdi), %r15
1651 movq 64(%rdi), %rsi
1652 roll $30, %ebx
1653 addq %rdx, %r14
1654 movl %ecx, %r11d
1655 xorq %rbx, %rcx
1656 xorq %rax, %r8
1657 addq %r10, %r14
1658 xorq %r12, %rcx
1659 xorq %r15, %r8
1660 roll $30, %r11d
1661 xorl %esi, %r8d
1662 movl %r14d, %esi
1663 roll %r8d
1664 roll $5, %esi
1665 movq %r8, 64(%rdi)
1666 movq 64(%rdi), %r9
1667 addq %rcx, %rsi
1668 movq 48(%rdi), %r15
1669 movq 8(%rdi), %rcx
1670 addq %r13, %rsi
1671 movq -40(%rdi), %rdx
1672 movq 72(%rdi), %rax
1673 movl %r14d, %r8d
1674 addq %r9, %rsi
1675 xorq %r11, %r14
1676 addq %r10, %rsi
1677 xorq %rcx, %r15
1678 xorq %rbx, %r14
1679 xorq %rdx, %r15
1680 movl %esi, %r13d
1681 xorl %eax, %r15d
1682 roll $5, %r13d
1683 roll %r15d
1684 addq %r14, %r13
1685 movq %r15, 72(%rdi)
1686 addq %r12, %r13
1687 movq 72(%rdi), %r12
1688 addq %r12, %r13
1689 addq %r10, %r13
1690 movq -88(%rdi), %r10
1691 roll $30, %r8d
1692 addq %r13, %r10
1693 movq %r10, -88(%rdi)
1694 movq -80(%rdi), %r9
1695 addq %rsi, %r9
1696 movq %r9, -80(%rdi)
1697 movq -72(%rdi), %rcx
1698 addq %r8, %rcx
1699 movq %rcx, -72(%rdi)
1700 movq -64(%rdi), %rdx
1701 addq %r11, %rdx
1702 movq %rdx, -64(%rdi)
1703 movq -56(%rdi), %rax
1704 addq %rbx, %rax
1705 popq %rbx
1706 popq %r12
1707 popq %r13
1708 popq %r14
1709 popq %r15
1710 movq %rax, -56(%rdi)
1712 .LFE7:
1713 .size shaCompress, .-shaCompress
1714 .align 16
1715 .globl SHA1_Update
1716 .type SHA1_Update, @function
1717 SHA1_Update:
1718 .LFB5:
1719 pushq %rbp
1720 .LCFI5:
1721 movq %rsp, %rbp
1722 .LCFI6:
1723 movq %r13, -24(%rbp)
1724 .LCFI7:
1725 movq %r14, -16(%rbp)
1726 .LCFI8:
1727 movl %edx, %r13d
1728 movq %r15, -8(%rbp)
1729 .LCFI9:
1730 movq %rbx, -40(%rbp)
1731 .LCFI10:
1732 movq %rdi, %r15
1733 movq %r12, -32(%rbp)
1734 .LCFI11:
1735 subq $48, %rsp
1736 .LCFI12:
1737 testl %edx, %edx
1738 movq %rsi, %r14
1739 je .L243
1740 movq 64(%rdi), %rdx
1741 mov %r13d, %ecx
1742 leaq (%rdx,%rcx), %rax
1743 movq %rax, 64(%rdi)
1744 movl %edx, %eax
1745 andl $63, %eax
1746 movl %eax, -44(%rbp)
1747 jne .L256
1748 .L245:
1749 cmpl $63, %r13d
1750 jbe .L253
1751 leaq 160(%r15), %rbx
1752 .align 16
1753 .L250:
1754 movq %r14, %rsi
1755 subl $64, %r13d
1756 movq %rbx, %rdi
1757 call shaCompress
1758 addq $64, %r14
1759 cmpl $63, %r13d
1760 ja .L250
1761 .L253:
1762 testl %r13d, %r13d
1763 je .L243
1764 mov %r13d, %edx
1765 movq %r14, %rsi
1766 movq %r15, %rdi
1767 movq -40(%rbp), %rbx
1768 movq -32(%rbp), %r12
1769 movq -24(%rbp), %r13
1770 movq -16(%rbp), %r14
1771 movq -8(%rbp), %r15
1772 leave
1773 jmp memcpy@PLT
1774 .align 16
1775 .L243:
1776 movq -40(%rbp), %rbx
1777 movq -32(%rbp), %r12
1778 movq -24(%rbp), %r13
1779 movq -16(%rbp), %r14
1780 movq -8(%rbp), %r15
1781 leave
1783 .L256:
1784 movl $64, %ebx
1785 mov %eax, %edi
1786 subl %eax, %ebx
1787 cmpl %ebx, %r13d
1788 cmovb %r13d, %ebx
1789 addq %r15, %rdi
1790 mov %ebx, %r12d
1791 subl %ebx, %r13d
1792 movq %r12, %rdx
1793 addq %r12, %r14
1794 call memcpy@PLT
1795 addl -44(%rbp), %ebx
1796 andl $63, %ebx
1797 jne .L245
1798 leaq 160(%r15), %rdi
1799 movq %r15, %rsi
1800 call shaCompress
1801 jmp .L245
1802 .LFE5:
1803 .size SHA1_Update, .-SHA1_Update
1804 .section .rodata
1805 .align 32
1806 .type bulk_pad.0, @object
1807 .size bulk_pad.0, 64
1808 bulk_pad.0:
1809 .byte -128
1810 .byte 0
1811 .byte 0
1812 .byte 0
1813 .byte 0
1814 .byte 0
1815 .byte 0
1816 .byte 0
1817 .byte 0
1818 .byte 0
1819 .byte 0
1820 .byte 0
1821 .byte 0
1822 .byte 0
1823 .byte 0
1824 .byte 0
1825 .byte 0
1826 .byte 0
1827 .byte 0
1828 .byte 0
1829 .byte 0
1830 .byte 0
1831 .byte 0
1832 .byte 0
1833 .byte 0
1834 .byte 0
1835 .byte 0
1836 .byte 0
1837 .byte 0
1838 .byte 0
1839 .byte 0
1840 .byte 0
1841 .byte 0
1842 .byte 0
1843 .byte 0
1844 .byte 0
1845 .byte 0
1846 .byte 0
1847 .byte 0
1848 .byte 0
1849 .byte 0
1850 .byte 0
1851 .byte 0
1852 .byte 0
1853 .byte 0
1854 .byte 0
1855 .byte 0
1856 .byte 0
1857 .byte 0
1858 .byte 0
1859 .byte 0
1860 .byte 0
1861 .byte 0
1862 .byte 0
1863 .byte 0
1864 .byte 0
1865 .byte 0
1866 .byte 0
1867 .byte 0
1868 .byte 0
1869 .byte 0
1870 .byte 0
1871 .byte 0
1872 .byte 0
1873 .text
1874 .align 16
1875 .globl SHA1_End
1876 .type SHA1_End, @function
1877 SHA1_End:
1878 .LFB6:
1879 pushq %rbp
1880 .LCFI13:
1881 movq %rsp, %rbp
1882 .LCFI14:
1883 movq %r12, -24(%rbp)
1884 .LCFI15:
1885 movq %r13, -16(%rbp)
1886 .LCFI16:
1887 movq %rsi, %r13
1888 movq %r14, -8(%rbp)
1889 .LCFI17:
1890 movq %rbx, -32(%rbp)
1891 .LCFI18:
1892 subq $32, %rsp
1893 .LCFI19:
1894 movq 64(%rdi), %rbx
1895 movq %rdx, %r14
1896 movl $119, %edx
1897 leaq bulk_pad.0(%rip), %rsi
1898 movq %rdi, %r12
1899 movl %ebx, %r8d
1900 salq $3, %rbx
1901 andl $63, %r8d
1902 subl %r8d, %edx
1903 andl $63, %edx
1904 incl %edx
1905 call SHA1_Update@PLT
1906 movq %rbx, %rdi
1907 movq %r12, %rsi
1908 shrq $32, %rdi
1909 /APP
1910 bswap %edi
1911 /NO_APP
1912 movl %edi, 56(%r12)
1913 leaq 160(%r12), %rdi
1914 /APP
1915 bswap %ebx
1916 /NO_APP
1917 movl %ebx, 60(%r12)
1918 call shaCompress
1919 movl 72(%r12), %esi
1920 movl 80(%r12), %ebx
1921 movl 88(%r12), %ecx
1922 movl 96(%r12), %edx
1923 movl 104(%r12), %eax
1924 movq 8(%rsp), %r12
1925 /APP
1926 bswap %ebx
1927 bswap %esi
1928 /NO_APP
1929 movl %ebx, 4(%r13)
1930 movl %esi, (%r13)
1931 /APP
1932 bswap %ecx
1933 bswap %edx
1934 /NO_APP
1935 movl %ecx, 8(%r13)
1936 movl %edx, 12(%r13)
1937 /APP
1938 bswap %eax
1939 /NO_APP
1940 movq (%rsp), %rbx
1941 movl %eax, 16(%r13)
1942 movl $20, (%r14)
1943 movq 16(%rsp), %r13
1944 movq 24(%rsp), %r14
1945 leave
1947 .LFE6:
1948 .size SHA1_End, .-SHA1_End
1949 .align 16
1950 .globl SHA1_NewContext
1951 .type SHA1_NewContext, @function
1952 SHA1_NewContext:
1953 .LFB8:
1954 movl $248, %edi
1955 jmp PORT_Alloc@PLT
1956 .LFE8:
1957 .size SHA1_NewContext, .-SHA1_NewContext
1958 .align 16
1959 .globl SHA1_DestroyContext
1960 .type SHA1_DestroyContext, @function
1961 SHA1_DestroyContext:
1962 .LFB9:
1963 pushq %rbp
1964 .LCFI20:
1965 movl $248, %edx
1966 movq %rsp, %rbp
1967 .LCFI21:
1968 movq %rbx, -16(%rbp)
1969 .LCFI22:
1970 movq %r12, -8(%rbp)
1971 .LCFI23:
1972 movl %esi, %ebx
1973 subq $16, %rsp
1974 .LCFI24:
1975 xorl %esi, %esi
1976 movq %rdi, %r12
1977 call memset@PLT
1978 testl %ebx, %ebx
1979 jne .L268
1980 movq (%rsp), %rbx
1981 movq 8(%rsp), %r12
1982 leave
1984 .align 16
1985 .L268:
1986 movq %r12, %rdi
1987 movq (%rsp), %rbx
1988 movq 8(%rsp), %r12
1989 leave
1990 jmp PORT_Free@PLT
1991 .LFE9:
1992 .size SHA1_DestroyContext, .-SHA1_DestroyContext
1993 .align 16
1994 .globl SHA1_HashBuf
1995 .type SHA1_HashBuf, @function
1996 SHA1_HashBuf:
1997 .LFB10:
1998 pushq %rbp
1999 .LCFI25:
2000 movq %rsp, %rbp
2001 .LCFI26:
2002 movq %rbx, -32(%rbp)
2003 .LCFI27:
2004 leaq -288(%rbp), %rbx
2005 movq %r12, -24(%rbp)
2006 .LCFI28:
2007 movq %r13, -16(%rbp)
2008 .LCFI29:
2009 movq %r14, -8(%rbp)
2010 .LCFI30:
2011 movq %rsi, %r13
2012 subq $304, %rsp
2013 .LCFI31:
2014 movq %rdi, %r14
2015 movl %edx, %r12d
2016 movq %rbx, %rdi
2017 call SHA1_Begin@PLT
2018 movl %r12d, %edx
2019 movq %r13, %rsi
2020 movq %rbx, %rdi
2021 call SHA1_Update@PLT
2022 leaq -292(%rbp), %rdx
2023 movq %r14, %rsi
2024 movq %rbx, %rdi
2025 movl $20, %ecx
2026 call SHA1_End@PLT
2027 movq -32(%rbp), %rbx
2028 movq -24(%rbp), %r12
2029 xorl %eax, %eax
2030 movq -16(%rbp), %r13
2031 movq -8(%rbp), %r14
2032 leave
2034 .LFE10:
2035 .size SHA1_HashBuf, .-SHA1_HashBuf
2036 .align 16
2037 .globl SHA1_Hash
2038 .type SHA1_Hash, @function
2039 SHA1_Hash:
2040 .LFB11:
2041 pushq %rbp
2042 .LCFI32:
2043 movq %rsp, %rbp
2044 .LCFI33:
2045 movq %rbx, -16(%rbp)
2046 .LCFI34:
2047 movq %r12, -8(%rbp)
2048 .LCFI35:
2049 movq %rsi, %rbx
2050 subq $16, %rsp
2051 .LCFI36:
2052 movq %rdi, %r12
2053 movq %rsi, %rdi
2054 call strlen@PLT
2055 movq %rbx, %rsi
2056 movq %r12, %rdi
2057 movq (%rsp), %rbx
2058 movq 8(%rsp), %r12
2059 leave
2060 movl %eax, %edx
2061 jmp SHA1_HashBuf@PLT
2062 .LFE11:
2063 .size SHA1_Hash, .-SHA1_Hash
2064 .align 16
2065 .globl SHA1_FlattenSize
2066 .type SHA1_FlattenSize, @function
2067 SHA1_FlattenSize:
2068 .LFB12:
2069 movl $248, %eax
2071 .LFE12:
2072 .size SHA1_FlattenSize, .-SHA1_FlattenSize
2073 .align 16
2074 .globl SHA1_Flatten
2075 .type SHA1_Flatten, @function
2076 SHA1_Flatten:
2077 .LFB13:
2078 pushq %rbp
2079 .LCFI37:
2080 movq %rsi, %rax
2081 movl $248, %edx
2082 movq %rdi, %rsi
2083 movq %rax, %rdi
2084 movq %rsp, %rbp
2085 .LCFI38:
2086 call memcpy@PLT
2087 leave
2088 xorl %eax, %eax
2090 .LFE13:
2091 .size SHA1_Flatten, .-SHA1_Flatten
2092 .align 16
2093 .globl SHA1_Resurrect
2094 .type SHA1_Resurrect, @function
2095 SHA1_Resurrect:
2096 .LFB14:
2097 pushq %rbp
2098 .LCFI39:
2099 movq %rsp, %rbp
2100 .LCFI40:
2101 movq %rbx, -16(%rbp)
2102 .LCFI41:
2103 movq %r12, -8(%rbp)
2104 .LCFI42:
2105 subq $16, %rsp
2106 .LCFI43:
2107 movq %rdi, %r12
2108 call SHA1_NewContext@PLT
2109 movq %rax, %rbx
2110 xorl %eax, %eax
2111 testq %rbx, %rbx
2112 je .L273
2113 movl $248, %edx
2114 movq %r12, %rsi
2115 movq %rbx, %rdi
2116 call memcpy@PLT
2117 movq %rbx, %rax
2118 .L273:
2119 movq (%rsp), %rbx
2120 movq 8(%rsp), %r12
2121 leave
2123 .LFE14:
2124 .size SHA1_Resurrect, .-SHA1_Resurrect
2125 .align 16
2126 .globl SHA1_Clone
2127 .type SHA1_Clone, @function
2128 SHA1_Clone:
2129 .LFB15:
2130 movl $248, %edx
2131 jmp memcpy@PLT
2132 .LFE15:
2133 .size SHA1_Clone, .-SHA1_Clone
2134 .align 16
2135 .globl SHA1_TraceState
2136 .type SHA1_TraceState, @function
2137 SHA1_TraceState:
2138 .LFB16:
2139 movl $-5992, %edi
2140 jmp PORT_SetError@PLT
2141 .LFE16:
2142 .size SHA1_TraceState, .-SHA1_TraceState