3 .section __libc_freeres_ptrs, "aw", %nobits
5 .section .rodata.str1.1,"aMS",@progbits,1
13 .globl __sha512_crypt_r
14 .type __sha512_crypt_r, @function
25 leaq sha512_salt_prefix
(%rip
), %rdi
33 leaq sha512_rounds_prefix
(%rip
), %rsi
41 movq $
5000, -936(%rbp
)
59 call __libc_alloca_cutoff@PLT
66 # 151 "sha512-crypt.c" 1
76 # 151 "sha512-crypt.c" 1
102 leaq
-752(%rbp
), %r12
104 call __sha512_init_ctx@PLT
108 call __sha512_process_bytes@PLT
109 movq
-944(%rbp
), %r15
110 movq
-920(%rbp
), %rsi
113 call __sha512_process_bytes@PLT
114 leaq
-400(%rbp
), %rax
117 movq
%rax
, -928(%rbp
)
118 call __sha512_init_ctx@PLT
122 call __sha512_process_bytes@PLT
123 movq
-920(%rbp
), %rsi
126 leaq
-880(%rbp
), %r15
127 call __sha512_process_bytes@PLT
131 call __sha512_process_bytes@PLT
134 call __sha512_finish_ctx@PLT
139 movq
%rbx
, -1000(%rbp
)
141 movq
%rax
, -960(%rbp
)
143 movq
%rcx
, -952(%rbp
)
153 call __sha512_process_bytes@PLT
156 movq
-960(%rbp
), %rax
157 movq
-952(%rbp
), %rsi
160 movq
-1000(%rbp
), %rbx
163 call __sha512_process_bytes@PLT
172 call __sha512_process_bytes@PLT
181 call __sha512_process_bytes@PLT
187 call __sha512_finish_ctx@PLT
188 movq
-928(%rbp
), %rdi
189 call __sha512_init_ctx@PLT
190 movq
%r12, -952(%rbp
)
192 movq
-928(%rbp
), %r13
200 call __sha512_process_bytes@PLT
203 movq
-952(%rbp
), %r12
205 leaq
-816(%rbp
), %rax
206 movq
-928(%rbp
), %rdi
208 movq
%rax
, -960(%rbp
)
209 call __sha512_finish_ctx@PLT
210 movq
-912(%rbp
), %rbx
212 call __libc_alloca_cutoff@PLT
224 movq
%rax
, -912(%rbp
)
225 movq
%rax
, -888(%rbp
)
230 movq
-912(%rbp
), %rsi
234 leaq
128(%rsi
,%rdx
), %rdx
238 movdqa
-816(%rbp
), %xmm0
239 movups
%xmm0
, -64(%rax
)
240 movdqa
-800(%rbp
), %xmm0
241 movups
%xmm0
, -48(%rax
)
242 movdqa
-784(%rbp
), %xmm0
243 movups
%xmm0
, -32(%rax
)
244 movdqa
-768(%rbp
), %xmm0
245 movups
%xmm0
, -16(%rax
)
246 movq
%rax
, -888(%rbp
)
250 movq
-912(%rbp
), %rax
254 leaq
64(%rax
,%rcx
), %rcx
263 movq
-960(%rbp
), %rsi
269 movq
-928(%rbp
), %rdi
271 call __sha512_init_ctx@PLT
272 movq
%r14, -952(%rbp
)
273 movq
%r12, -1008(%rbp
)
275 movq
-944(%rbp
), %r13
276 movq
-920(%rbp
), %r12
277 movq
-928(%rbp
), %rbx
284 call __sha512_process_bytes@PLT
285 movzbl
-880(%rbp
), %edx
290 movq
-960(%rbp
), %rbx
291 movq
-928(%rbp
), %rdi
292 movq
-952(%rbp
), %r14
293 movq
-1008(%rbp
), %r12
295 call __sha512_finish_ctx@PLT
296 movq
-920(%rbp
), %rdi
305 movq
%rax
, -952(%rbp
)
306 movq
%rax
, -888(%rbp
)
324 movq
-912(%rbp
), %rdi
326 call __sha512_process_bytes@PLT
328 movabsq $
-6148914691236517205, %rax
331 leaq
(%rdx
,%rdx
,2), %rax
335 movabsq $
5270498306774157605, %rax
341 leaq
0(,%rdx
,8), %rax
351 call __sha512_process_bytes@PLT
356 call __sha512_finish_ctx@PLT
357 cmpq
%rbx
, -936(%rbp
)
362 call __sha512_init_ctx@PLT
368 call __sha512_process_bytes@PLT
373 movq
-816(%rbp
), %rax
375 movq
-960(%rbp
), %rdi
377 movq
-8(%rdi
,%rax
), %rsi
378 movq
%rsi
, -8(%rcx
,%rax
)
382 leal
(%rdx
,%rcx
), %eax
392 movq
(%rdi
,%rcx
), %r8
394 movq
%r8, (%rsi
,%rcx
)
400 movq
-912(%rbp
), %rdi
402 call __sha512_process_bytes@PLT
407 movq
-912(%rbp
), %rdi
410 call __sha512_process_bytes@PLT
415 movq
-920(%rbp
), %rsi
416 movq
-952(%rbp
), %rdi
418 call __sha512_process_bytes@PLT
423 movl
-900(%rbp
), %edx
425 movq
-968(%rbp
), %rdi
426 leaq sha512_salt_prefix
(%rip
), %rsi
429 cmovns
-900(%rbp
), %edx
433 movq
%rax
, -888(%rbp
)
434 movl
-900(%rbp
), %eax
437 movl
%edx
, -900(%rbp
)
440 movq
-920(%rbp
), %r13
444 movq
-944(%rbp
), %rsi
449 movslq
-900(%rbp
), %rdx
450 movq
%rax
, -888(%rbp
)
457 movl
%edx
, -900(%rbp
)
460 movq
%rdx
, -888(%rbp
)
464 movzbl
-859(%rbp
), %ecx
465 movzbl
-880(%rbp
), %edx
466 leaq
-900(%rbp
), %r13
467 movzbl
-838(%rbp
), %r8d
468 leaq
-888(%rbp
), %rbx
472 call __b64_from_24bit@PLT
473 movzbl
-837(%rbp
), %ecx
474 movzbl
-858(%rbp
), %edx
476 movzbl
-879(%rbp
), %r8d
479 call __b64_from_24bit@PLT
480 movzbl
-878(%rbp
), %ecx
481 movzbl
-836(%rbp
), %edx
483 movzbl
-857(%rbp
), %r8d
486 call __b64_from_24bit@PLT
487 movzbl
-856(%rbp
), %ecx
488 movzbl
-877(%rbp
), %edx
490 movzbl
-835(%rbp
), %r8d
493 call __b64_from_24bit@PLT
494 movzbl
-834(%rbp
), %ecx
495 movzbl
-855(%rbp
), %edx
497 movzbl
-876(%rbp
), %r8d
500 call __b64_from_24bit@PLT
501 movzbl
-875(%rbp
), %ecx
502 movzbl
-833(%rbp
), %edx
504 movzbl
-854(%rbp
), %r8d
507 call __b64_from_24bit@PLT
508 movzbl
-853(%rbp
), %ecx
509 movzbl
-874(%rbp
), %edx
511 movzbl
-832(%rbp
), %r8d
514 call __b64_from_24bit@PLT
515 movzbl
-831(%rbp
), %ecx
516 movzbl
-852(%rbp
), %edx
518 movzbl
-873(%rbp
), %r8d
521 call __b64_from_24bit@PLT
522 movzbl
-872(%rbp
), %ecx
523 movzbl
-830(%rbp
), %edx
525 movzbl
-851(%rbp
), %r8d
528 call __b64_from_24bit@PLT
529 movzbl
-850(%rbp
), %ecx
530 movzbl
-871(%rbp
), %edx
532 movzbl
-829(%rbp
), %r8d
535 call __b64_from_24bit@PLT
536 movzbl
-828(%rbp
), %ecx
537 movzbl
-849(%rbp
), %edx
539 movzbl
-870(%rbp
), %r8d
542 call __b64_from_24bit@PLT
543 movzbl
-869(%rbp
), %ecx
544 movzbl
-827(%rbp
), %edx
546 movzbl
-848(%rbp
), %r8d
549 call __b64_from_24bit@PLT
550 movzbl
-847(%rbp
), %ecx
551 movzbl
-868(%rbp
), %edx
553 movzbl
-826(%rbp
), %r8d
556 call __b64_from_24bit@PLT
557 movzbl
-825(%rbp
), %ecx
558 movzbl
-846(%rbp
), %edx
560 movzbl
-867(%rbp
), %r8d
563 call __b64_from_24bit@PLT
564 movzbl
-866(%rbp
), %ecx
565 movzbl
-824(%rbp
), %edx
567 movzbl
-845(%rbp
), %r8d
570 call __b64_from_24bit@PLT
571 movzbl
-844(%rbp
), %ecx
572 movzbl
-865(%rbp
), %edx
574 movzbl
-823(%rbp
), %r8d
577 call __b64_from_24bit@PLT
578 movzbl
-822(%rbp
), %ecx
579 movzbl
-843(%rbp
), %edx
581 movzbl
-864(%rbp
), %r8d
584 call __b64_from_24bit@PLT
585 movzbl
-863(%rbp
), %ecx
586 movzbl
-821(%rbp
), %edx
588 movzbl
-842(%rbp
), %r8d
591 call __b64_from_24bit@PLT
592 movzbl
-841(%rbp
), %ecx
593 movzbl
-862(%rbp
), %edx
595 movzbl
-820(%rbp
), %r8d
598 call __b64_from_24bit@PLT
599 movzbl
-819(%rbp
), %ecx
600 movzbl
-840(%rbp
), %edx
602 movzbl
-861(%rbp
), %r8d
605 call __b64_from_24bit@PLT
606 movzbl
-860(%rbp
), %ecx
607 movzbl
-818(%rbp
), %edx
609 movzbl
-839(%rbp
), %r8d
612 call __b64_from_24bit@PLT
613 movzbl
-817(%rbp
), %r8d
619 call __b64_from_24bit@PLT
620 movl
-900(%rbp
), %eax
623 movq
-888(%rbp
), %rax
624 movq
-968(%rbp
), %rbx
628 call __sha512_init_ctx@PLT
631 call __sha512_finish_ctx@PLT
635 call __explicit_bzero_chk@PLT
636 movq
-928(%rbp
), %rdi
639 call __explicit_bzero_chk@PLT
640 movq
-960(%rbp
), %rdi
643 call __explicit_bzero_chk@PLT
644 movq
-912(%rbp
), %rdi
647 call __explicit_bzero_chk@PLT
648 movq
-920(%rbp
), %rsi
649 movq
-952(%rbp
), %rdi
651 call __explicit_bzero_chk@PLT
652 movq
-992(%rbp
), %rax
658 call __explicit_bzero_chk@PLT
660 movq
-976(%rbp
), %rax
663 movq
-920(%rbp
), %rsi
666 call __explicit_bzero_chk@PLT
668 movq
-984(%rbp
), %rdi
670 movq
-1000(%rbp
), %rdi
694 movzbl
(%rax
,%rdx
), %eax
695 movb
%al
, (%rsi
,%rdx
)
700 movzwl
(%rax
,%rdx
), %edi
701 movw
%di
, (%rsi
,%rdx
)
715 movq
-952(%rbp
), %rbx
717 movq
(%r8,%rdx
), %rdi
719 movq
%rdi
, (%rbx
,%rdx
)
723 addq
-960(%rbp
), %rax
728 movq errno@gottpoff
(%rip
), %rax
737 leaq sha512_rounds_prefix
(%rip
), %rcx
741 leaq
.LC1(%rip), %rdx
743 movl
-900(%rbp
), %edx
745 addq
-888(%rbp
), %rdi
747 movq
%rdi
, -888(%rbp
)
748 movl
%edx
, -900(%rbp
)
753 movq
-944(%rbp
), %rax
754 leaq
-400(%rbp
), %rsi
758 movq
-400(%rbp
), %rdx
761 cmpq $
999999999, %rax
763 movl $
999999999, %edx
768 movq
%rcx
, -944(%rbp
)
770 movq
%rax
, -936(%rbp
)
775 movq
-920(%rbp
), %rsi
789 movq
-944(%rbp
), %rsi
795 movq
%rcx
, -944(%rbp
)
796 movq
%rcx
, -976(%rbp
)
801 movq
-920(%rbp
), %rsi
804 movq
-8(%r8,%rax
), %rdx
805 movq
%rdx
, -8(%rcx
,%rax
)
814 movq
(%r8,%rsi
), %rdi
816 movq
%rdi
, (%rcx
,%rsi
)
820 movq
-960(%rbp
), %rsi
824 movl
-4(%rsi
,%rdx
), %eax
825 movl
%eax
, -4(%rcx
,%rdx
)
833 call __sha512_process_bytes@PLT
838 call __sha512_finish_ctx@PLT
839 movq
-928(%rbp
), %rdi
840 call __sha512_init_ctx@PLT
845 movq
-912(%rbp
), %rcx
850 movq
-960(%rbp
), %rax
851 movzwl
-2(%rax
,%rdx
), %eax
852 movw
%ax
, -2(%rcx
,%rdx
)
858 movq
%rax
, -912(%rbp
)
859 movq
%rax
, -888(%rbp
)
861 movq
%rax
, -1000(%rbp
)
864 movq
-944(%rbp
), %rdi
867 movl
-4(%rdi
,%rdx
), %eax
868 movl
%eax
, -4(%rcx
,%rdx
)
871 movq
-944(%rbp
), %rax
872 movzwl
-2(%rax
,%rdx
), %eax
873 movw
%ax
, -2(%rcx
,%rdx
)
880 movq
%rax
, -984(%rbp
)
882 movq
%r14, -912(%rbp
)
885 movq
-984(%rbp
), %rdi
892 .size __sha512_crypt_r, .-__sha512_crypt_r
894 .globl __sha512_crypt
895 .type __sha512_crypt, @function
904 movl buflen.5421
(%rip
), %ecx
906 movq buffer
(%rip
), %rdx
915 movq
%rax
, buffer
(%rip
)
916 movl
%ebx
, buflen.5421
(%rip
)
924 jmp __sha512_crypt_r@PLT
933 .size __sha512_crypt, .-__sha512_crypt
935 .comm buflen.5421,4,4
936 .section __libc_freeres_ptrs
939 .type buffer, @object
943 .section .rodata.str1.8,"aMS",@progbits,1
945 .type sha512_rounds_prefix, @object
946 .size sha512_rounds_prefix, 8
947 sha512_rounds_prefix
:
949 .section .rodata.str1.1
950 .type sha512_salt_prefix, @object
951 .size sha512_salt_prefix, 4