Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(404)

Side by Side Diff: third_party/boringssl/win-x86_64/crypto/sha/sha512-x86_64.asm

Issue 377783004: Add BoringSSL GYP files. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Final Python fix. Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « third_party/boringssl/win-x86_64/crypto/sha/sha256-x86_64.asm ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 OPTION DOTNAME
2 .text$ SEGMENT ALIGN(64) 'CODE'
3
4 EXTERN OPENSSL_ia32cap_P:NEAR
5 PUBLIC sha512_block_data_order
6
7 ALIGN 16
8 sha512_block_data_order PROC PUBLIC
9 mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
10 mov QWORD PTR[16+rsp],rsi
11 mov rax,rsp
12 $L$SEH_begin_sha512_block_data_order::
13 mov rdi,rcx
14 mov rsi,rdx
15 mov rdx,r8
16
17
18 push rbx
19 push rbp
20 push r12
21 push r13
22 push r14
23 push r15
24 mov r11,rsp
25 shl rdx,4
26 sub rsp,16*8+4*8
27 lea rdx,QWORD PTR[rdx*8+rsi]
28 and rsp,-64
29 mov QWORD PTR[((128+0))+rsp],rdi
30 mov QWORD PTR[((128+8))+rsp],rsi
31 mov QWORD PTR[((128+16))+rsp],rdx
32 mov QWORD PTR[((128+24))+rsp],r11
33 $L$prologue::
34
35 mov rax,QWORD PTR[rdi]
36 mov rbx,QWORD PTR[8+rdi]
37 mov rcx,QWORD PTR[16+rdi]
38 mov rdx,QWORD PTR[24+rdi]
39 mov r8,QWORD PTR[32+rdi]
40 mov r9,QWORD PTR[40+rdi]
41 mov r10,QWORD PTR[48+rdi]
42 mov r11,QWORD PTR[56+rdi]
43 jmp $L$loop
44
45 ALIGN 16
46 $L$loop::
47 mov rdi,rbx
48 lea rbp,QWORD PTR[K512]
49 xor rdi,rcx
50 mov r12,QWORD PTR[rsi]
51 mov r13,r8
52 mov r14,rax
53 bswap r12
54 ror r13,23
55 mov r15,r9
56
57 xor r13,r8
58 ror r14,5
59 xor r15,r10
60
61 mov QWORD PTR[rsp],r12
62 xor r14,rax
63 and r15,r8
64
65 ror r13,4
66 add r12,r11
67 xor r15,r10
68
69 ror r14,6
70 xor r13,r8
71 add r12,r15
72
73 mov r15,rax
74 add r12,QWORD PTR[rbp]
75 xor r14,rax
76
77 xor r15,rbx
78 ror r13,14
79 mov r11,rbx
80
81 and rdi,r15
82 ror r14,28
83 add r12,r13
84
85 xor r11,rdi
86 add rdx,r12
87 add r11,r12
88
89 lea rbp,QWORD PTR[8+rbp]
90 add r11,r14
91 mov r12,QWORD PTR[8+rsi]
92 mov r13,rdx
93 mov r14,r11
94 bswap r12
95 ror r13,23
96 mov rdi,r8
97
98 xor r13,rdx
99 ror r14,5
100 xor rdi,r9
101
102 mov QWORD PTR[8+rsp],r12
103 xor r14,r11
104 and rdi,rdx
105
106 ror r13,4
107 add r12,r10
108 xor rdi,r9
109
110 ror r14,6
111 xor r13,rdx
112 add r12,rdi
113
114 mov rdi,r11
115 add r12,QWORD PTR[rbp]
116 xor r14,r11
117
118 xor rdi,rax
119 ror r13,14
120 mov r10,rax
121
122 and r15,rdi
123 ror r14,28
124 add r12,r13
125
126 xor r10,r15
127 add rcx,r12
128 add r10,r12
129
130 lea rbp,QWORD PTR[24+rbp]
131 add r10,r14
132 mov r12,QWORD PTR[16+rsi]
133 mov r13,rcx
134 mov r14,r10
135 bswap r12
136 ror r13,23
137 mov r15,rdx
138
139 xor r13,rcx
140 ror r14,5
141 xor r15,r8
142
143 mov QWORD PTR[16+rsp],r12
144 xor r14,r10
145 and r15,rcx
146
147 ror r13,4
148 add r12,r9
149 xor r15,r8
150
151 ror r14,6
152 xor r13,rcx
153 add r12,r15
154
155 mov r15,r10
156 add r12,QWORD PTR[rbp]
157 xor r14,r10
158
159 xor r15,r11
160 ror r13,14
161 mov r9,r11
162
163 and rdi,r15
164 ror r14,28
165 add r12,r13
166
167 xor r9,rdi
168 add rbx,r12
169 add r9,r12
170
171 lea rbp,QWORD PTR[8+rbp]
172 add r9,r14
173 mov r12,QWORD PTR[24+rsi]
174 mov r13,rbx
175 mov r14,r9
176 bswap r12
177 ror r13,23
178 mov rdi,rcx
179
180 xor r13,rbx
181 ror r14,5
182 xor rdi,rdx
183
184 mov QWORD PTR[24+rsp],r12
185 xor r14,r9
186 and rdi,rbx
187
188 ror r13,4
189 add r12,r8
190 xor rdi,rdx
191
192 ror r14,6
193 xor r13,rbx
194 add r12,rdi
195
196 mov rdi,r9
197 add r12,QWORD PTR[rbp]
198 xor r14,r9
199
200 xor rdi,r10
201 ror r13,14
202 mov r8,r10
203
204 and r15,rdi
205 ror r14,28
206 add r12,r13
207
208 xor r8,r15
209 add rax,r12
210 add r8,r12
211
212 lea rbp,QWORD PTR[24+rbp]
213 add r8,r14
214 mov r12,QWORD PTR[32+rsi]
215 mov r13,rax
216 mov r14,r8
217 bswap r12
218 ror r13,23
219 mov r15,rbx
220
221 xor r13,rax
222 ror r14,5
223 xor r15,rcx
224
225 mov QWORD PTR[32+rsp],r12
226 xor r14,r8
227 and r15,rax
228
229 ror r13,4
230 add r12,rdx
231 xor r15,rcx
232
233 ror r14,6
234 xor r13,rax
235 add r12,r15
236
237 mov r15,r8
238 add r12,QWORD PTR[rbp]
239 xor r14,r8
240
241 xor r15,r9
242 ror r13,14
243 mov rdx,r9
244
245 and rdi,r15
246 ror r14,28
247 add r12,r13
248
249 xor rdx,rdi
250 add r11,r12
251 add rdx,r12
252
253 lea rbp,QWORD PTR[8+rbp]
254 add rdx,r14
255 mov r12,QWORD PTR[40+rsi]
256 mov r13,r11
257 mov r14,rdx
258 bswap r12
259 ror r13,23
260 mov rdi,rax
261
262 xor r13,r11
263 ror r14,5
264 xor rdi,rbx
265
266 mov QWORD PTR[40+rsp],r12
267 xor r14,rdx
268 and rdi,r11
269
270 ror r13,4
271 add r12,rcx
272 xor rdi,rbx
273
274 ror r14,6
275 xor r13,r11
276 add r12,rdi
277
278 mov rdi,rdx
279 add r12,QWORD PTR[rbp]
280 xor r14,rdx
281
282 xor rdi,r8
283 ror r13,14
284 mov rcx,r8
285
286 and r15,rdi
287 ror r14,28
288 add r12,r13
289
290 xor rcx,r15
291 add r10,r12
292 add rcx,r12
293
294 lea rbp,QWORD PTR[24+rbp]
295 add rcx,r14
296 mov r12,QWORD PTR[48+rsi]
297 mov r13,r10
298 mov r14,rcx
299 bswap r12
300 ror r13,23
301 mov r15,r11
302
303 xor r13,r10
304 ror r14,5
305 xor r15,rax
306
307 mov QWORD PTR[48+rsp],r12
308 xor r14,rcx
309 and r15,r10
310
311 ror r13,4
312 add r12,rbx
313 xor r15,rax
314
315 ror r14,6
316 xor r13,r10
317 add r12,r15
318
319 mov r15,rcx
320 add r12,QWORD PTR[rbp]
321 xor r14,rcx
322
323 xor r15,rdx
324 ror r13,14
325 mov rbx,rdx
326
327 and rdi,r15
328 ror r14,28
329 add r12,r13
330
331 xor rbx,rdi
332 add r9,r12
333 add rbx,r12
334
335 lea rbp,QWORD PTR[8+rbp]
336 add rbx,r14
337 mov r12,QWORD PTR[56+rsi]
338 mov r13,r9
339 mov r14,rbx
340 bswap r12
341 ror r13,23
342 mov rdi,r10
343
344 xor r13,r9
345 ror r14,5
346 xor rdi,r11
347
348 mov QWORD PTR[56+rsp],r12
349 xor r14,rbx
350 and rdi,r9
351
352 ror r13,4
353 add r12,rax
354 xor rdi,r11
355
356 ror r14,6
357 xor r13,r9
358 add r12,rdi
359
360 mov rdi,rbx
361 add r12,QWORD PTR[rbp]
362 xor r14,rbx
363
364 xor rdi,rcx
365 ror r13,14
366 mov rax,rcx
367
368 and r15,rdi
369 ror r14,28
370 add r12,r13
371
372 xor rax,r15
373 add r8,r12
374 add rax,r12
375
376 lea rbp,QWORD PTR[24+rbp]
377 add rax,r14
378 mov r12,QWORD PTR[64+rsi]
379 mov r13,r8
380 mov r14,rax
381 bswap r12
382 ror r13,23
383 mov r15,r9
384
385 xor r13,r8
386 ror r14,5
387 xor r15,r10
388
389 mov QWORD PTR[64+rsp],r12
390 xor r14,rax
391 and r15,r8
392
393 ror r13,4
394 add r12,r11
395 xor r15,r10
396
397 ror r14,6
398 xor r13,r8
399 add r12,r15
400
401 mov r15,rax
402 add r12,QWORD PTR[rbp]
403 xor r14,rax
404
405 xor r15,rbx
406 ror r13,14
407 mov r11,rbx
408
409 and rdi,r15
410 ror r14,28
411 add r12,r13
412
413 xor r11,rdi
414 add rdx,r12
415 add r11,r12
416
417 lea rbp,QWORD PTR[8+rbp]
418 add r11,r14
419 mov r12,QWORD PTR[72+rsi]
420 mov r13,rdx
421 mov r14,r11
422 bswap r12
423 ror r13,23
424 mov rdi,r8
425
426 xor r13,rdx
427 ror r14,5
428 xor rdi,r9
429
430 mov QWORD PTR[72+rsp],r12
431 xor r14,r11
432 and rdi,rdx
433
434 ror r13,4
435 add r12,r10
436 xor rdi,r9
437
438 ror r14,6
439 xor r13,rdx
440 add r12,rdi
441
442 mov rdi,r11
443 add r12,QWORD PTR[rbp]
444 xor r14,r11
445
446 xor rdi,rax
447 ror r13,14
448 mov r10,rax
449
450 and r15,rdi
451 ror r14,28
452 add r12,r13
453
454 xor r10,r15
455 add rcx,r12
456 add r10,r12
457
458 lea rbp,QWORD PTR[24+rbp]
459 add r10,r14
460 mov r12,QWORD PTR[80+rsi]
461 mov r13,rcx
462 mov r14,r10
463 bswap r12
464 ror r13,23
465 mov r15,rdx
466
467 xor r13,rcx
468 ror r14,5
469 xor r15,r8
470
471 mov QWORD PTR[80+rsp],r12
472 xor r14,r10
473 and r15,rcx
474
475 ror r13,4
476 add r12,r9
477 xor r15,r8
478
479 ror r14,6
480 xor r13,rcx
481 add r12,r15
482
483 mov r15,r10
484 add r12,QWORD PTR[rbp]
485 xor r14,r10
486
487 xor r15,r11
488 ror r13,14
489 mov r9,r11
490
491 and rdi,r15
492 ror r14,28
493 add r12,r13
494
495 xor r9,rdi
496 add rbx,r12
497 add r9,r12
498
499 lea rbp,QWORD PTR[8+rbp]
500 add r9,r14
501 mov r12,QWORD PTR[88+rsi]
502 mov r13,rbx
503 mov r14,r9
504 bswap r12
505 ror r13,23
506 mov rdi,rcx
507
508 xor r13,rbx
509 ror r14,5
510 xor rdi,rdx
511
512 mov QWORD PTR[88+rsp],r12
513 xor r14,r9
514 and rdi,rbx
515
516 ror r13,4
517 add r12,r8
518 xor rdi,rdx
519
520 ror r14,6
521 xor r13,rbx
522 add r12,rdi
523
524 mov rdi,r9
525 add r12,QWORD PTR[rbp]
526 xor r14,r9
527
528 xor rdi,r10
529 ror r13,14
530 mov r8,r10
531
532 and r15,rdi
533 ror r14,28
534 add r12,r13
535
536 xor r8,r15
537 add rax,r12
538 add r8,r12
539
540 lea rbp,QWORD PTR[24+rbp]
541 add r8,r14
542 mov r12,QWORD PTR[96+rsi]
543 mov r13,rax
544 mov r14,r8
545 bswap r12
546 ror r13,23
547 mov r15,rbx
548
549 xor r13,rax
550 ror r14,5
551 xor r15,rcx
552
553 mov QWORD PTR[96+rsp],r12
554 xor r14,r8
555 and r15,rax
556
557 ror r13,4
558 add r12,rdx
559 xor r15,rcx
560
561 ror r14,6
562 xor r13,rax
563 add r12,r15
564
565 mov r15,r8
566 add r12,QWORD PTR[rbp]
567 xor r14,r8
568
569 xor r15,r9
570 ror r13,14
571 mov rdx,r9
572
573 and rdi,r15
574 ror r14,28
575 add r12,r13
576
577 xor rdx,rdi
578 add r11,r12
579 add rdx,r12
580
581 lea rbp,QWORD PTR[8+rbp]
582 add rdx,r14
583 mov r12,QWORD PTR[104+rsi]
584 mov r13,r11
585 mov r14,rdx
586 bswap r12
587 ror r13,23
588 mov rdi,rax
589
590 xor r13,r11
591 ror r14,5
592 xor rdi,rbx
593
594 mov QWORD PTR[104+rsp],r12
595 xor r14,rdx
596 and rdi,r11
597
598 ror r13,4
599 add r12,rcx
600 xor rdi,rbx
601
602 ror r14,6
603 xor r13,r11
604 add r12,rdi
605
606 mov rdi,rdx
607 add r12,QWORD PTR[rbp]
608 xor r14,rdx
609
610 xor rdi,r8
611 ror r13,14
612 mov rcx,r8
613
614 and r15,rdi
615 ror r14,28
616 add r12,r13
617
618 xor rcx,r15
619 add r10,r12
620 add rcx,r12
621
622 lea rbp,QWORD PTR[24+rbp]
623 add rcx,r14
624 mov r12,QWORD PTR[112+rsi]
625 mov r13,r10
626 mov r14,rcx
627 bswap r12
628 ror r13,23
629 mov r15,r11
630
631 xor r13,r10
632 ror r14,5
633 xor r15,rax
634
635 mov QWORD PTR[112+rsp],r12
636 xor r14,rcx
637 and r15,r10
638
639 ror r13,4
640 add r12,rbx
641 xor r15,rax
642
643 ror r14,6
644 xor r13,r10
645 add r12,r15
646
647 mov r15,rcx
648 add r12,QWORD PTR[rbp]
649 xor r14,rcx
650
651 xor r15,rdx
652 ror r13,14
653 mov rbx,rdx
654
655 and rdi,r15
656 ror r14,28
657 add r12,r13
658
659 xor rbx,rdi
660 add r9,r12
661 add rbx,r12
662
663 lea rbp,QWORD PTR[8+rbp]
664 add rbx,r14
665 mov r12,QWORD PTR[120+rsi]
666 mov r13,r9
667 mov r14,rbx
668 bswap r12
669 ror r13,23
670 mov rdi,r10
671
672 xor r13,r9
673 ror r14,5
674 xor rdi,r11
675
676 mov QWORD PTR[120+rsp],r12
677 xor r14,rbx
678 and rdi,r9
679
680 ror r13,4
681 add r12,rax
682 xor rdi,r11
683
684 ror r14,6
685 xor r13,r9
686 add r12,rdi
687
688 mov rdi,rbx
689 add r12,QWORD PTR[rbp]
690 xor r14,rbx
691
692 xor rdi,rcx
693 ror r13,14
694 mov rax,rcx
695
696 and r15,rdi
697 ror r14,28
698 add r12,r13
699
700 xor rax,r15
701 add r8,r12
702 add rax,r12
703
704 lea rbp,QWORD PTR[24+rbp]
705 jmp $L$rounds_16_xx
706 ALIGN 16
707 $L$rounds_16_xx::
708 mov r13,QWORD PTR[8+rsp]
709 mov r15,QWORD PTR[112+rsp]
710
711 mov r12,r13
712 ror r13,7
713 add rax,r14
714 mov r14,r15
715 ror r15,42
716
717 xor r13,r12
718 shr r12,7
719 ror r13,1
720 xor r15,r14
721 shr r14,6
722
723 ror r15,19
724 xor r12,r13
725 xor r15,r14
726 add r12,QWORD PTR[72+rsp]
727
728 add r12,QWORD PTR[rsp]
729 mov r13,r8
730 add r12,r15
731 mov r14,rax
732 ror r13,23
733 mov r15,r9
734
735 xor r13,r8
736 ror r14,5
737 xor r15,r10
738
739 mov QWORD PTR[rsp],r12
740 xor r14,rax
741 and r15,r8
742
743 ror r13,4
744 add r12,r11
745 xor r15,r10
746
747 ror r14,6
748 xor r13,r8
749 add r12,r15
750
751 mov r15,rax
752 add r12,QWORD PTR[rbp]
753 xor r14,rax
754
755 xor r15,rbx
756 ror r13,14
757 mov r11,rbx
758
759 and rdi,r15
760 ror r14,28
761 add r12,r13
762
763 xor r11,rdi
764 add rdx,r12
765 add r11,r12
766
767 lea rbp,QWORD PTR[8+rbp]
768 mov r13,QWORD PTR[16+rsp]
769 mov rdi,QWORD PTR[120+rsp]
770
771 mov r12,r13
772 ror r13,7
773 add r11,r14
774 mov r14,rdi
775 ror rdi,42
776
777 xor r13,r12
778 shr r12,7
779 ror r13,1
780 xor rdi,r14
781 shr r14,6
782
783 ror rdi,19
784 xor r12,r13
785 xor rdi,r14
786 add r12,QWORD PTR[80+rsp]
787
788 add r12,QWORD PTR[8+rsp]
789 mov r13,rdx
790 add r12,rdi
791 mov r14,r11
792 ror r13,23
793 mov rdi,r8
794
795 xor r13,rdx
796 ror r14,5
797 xor rdi,r9
798
799 mov QWORD PTR[8+rsp],r12
800 xor r14,r11
801 and rdi,rdx
802
803 ror r13,4
804 add r12,r10
805 xor rdi,r9
806
807 ror r14,6
808 xor r13,rdx
809 add r12,rdi
810
811 mov rdi,r11
812 add r12,QWORD PTR[rbp]
813 xor r14,r11
814
815 xor rdi,rax
816 ror r13,14
817 mov r10,rax
818
819 and r15,rdi
820 ror r14,28
821 add r12,r13
822
823 xor r10,r15
824 add rcx,r12
825 add r10,r12
826
827 lea rbp,QWORD PTR[24+rbp]
828 mov r13,QWORD PTR[24+rsp]
829 mov r15,QWORD PTR[rsp]
830
831 mov r12,r13
832 ror r13,7
833 add r10,r14
834 mov r14,r15
835 ror r15,42
836
837 xor r13,r12
838 shr r12,7
839 ror r13,1
840 xor r15,r14
841 shr r14,6
842
843 ror r15,19
844 xor r12,r13
845 xor r15,r14
846 add r12,QWORD PTR[88+rsp]
847
848 add r12,QWORD PTR[16+rsp]
849 mov r13,rcx
850 add r12,r15
851 mov r14,r10
852 ror r13,23
853 mov r15,rdx
854
855 xor r13,rcx
856 ror r14,5
857 xor r15,r8
858
859 mov QWORD PTR[16+rsp],r12
860 xor r14,r10
861 and r15,rcx
862
863 ror r13,4
864 add r12,r9
865 xor r15,r8
866
867 ror r14,6
868 xor r13,rcx
869 add r12,r15
870
871 mov r15,r10
872 add r12,QWORD PTR[rbp]
873 xor r14,r10
874
875 xor r15,r11
876 ror r13,14
877 mov r9,r11
878
879 and rdi,r15
880 ror r14,28
881 add r12,r13
882
883 xor r9,rdi
884 add rbx,r12
885 add r9,r12
886
887 lea rbp,QWORD PTR[8+rbp]
888 mov r13,QWORD PTR[32+rsp]
889 mov rdi,QWORD PTR[8+rsp]
890
891 mov r12,r13
892 ror r13,7
893 add r9,r14
894 mov r14,rdi
895 ror rdi,42
896
897 xor r13,r12
898 shr r12,7
899 ror r13,1
900 xor rdi,r14
901 shr r14,6
902
903 ror rdi,19
904 xor r12,r13
905 xor rdi,r14
906 add r12,QWORD PTR[96+rsp]
907
908 add r12,QWORD PTR[24+rsp]
909 mov r13,rbx
910 add r12,rdi
911 mov r14,r9
912 ror r13,23
913 mov rdi,rcx
914
915 xor r13,rbx
916 ror r14,5
917 xor rdi,rdx
918
919 mov QWORD PTR[24+rsp],r12
920 xor r14,r9
921 and rdi,rbx
922
923 ror r13,4
924 add r12,r8
925 xor rdi,rdx
926
927 ror r14,6
928 xor r13,rbx
929 add r12,rdi
930
931 mov rdi,r9
932 add r12,QWORD PTR[rbp]
933 xor r14,r9
934
935 xor rdi,r10
936 ror r13,14
937 mov r8,r10
938
939 and r15,rdi
940 ror r14,28
941 add r12,r13
942
943 xor r8,r15
944 add rax,r12
945 add r8,r12
946
947 lea rbp,QWORD PTR[24+rbp]
948 mov r13,QWORD PTR[40+rsp]
949 mov r15,QWORD PTR[16+rsp]
950
951 mov r12,r13
952 ror r13,7
953 add r8,r14
954 mov r14,r15
955 ror r15,42
956
957 xor r13,r12
958 shr r12,7
959 ror r13,1
960 xor r15,r14
961 shr r14,6
962
963 ror r15,19
964 xor r12,r13
965 xor r15,r14
966 add r12,QWORD PTR[104+rsp]
967
968 add r12,QWORD PTR[32+rsp]
969 mov r13,rax
970 add r12,r15
971 mov r14,r8
972 ror r13,23
973 mov r15,rbx
974
975 xor r13,rax
976 ror r14,5
977 xor r15,rcx
978
979 mov QWORD PTR[32+rsp],r12
980 xor r14,r8
981 and r15,rax
982
983 ror r13,4
984 add r12,rdx
985 xor r15,rcx
986
987 ror r14,6
988 xor r13,rax
989 add r12,r15
990
991 mov r15,r8
992 add r12,QWORD PTR[rbp]
993 xor r14,r8
994
995 xor r15,r9
996 ror r13,14
997 mov rdx,r9
998
999 and rdi,r15
1000 ror r14,28
1001 add r12,r13
1002
1003 xor rdx,rdi
1004 add r11,r12
1005 add rdx,r12
1006
1007 lea rbp,QWORD PTR[8+rbp]
1008 mov r13,QWORD PTR[48+rsp]
1009 mov rdi,QWORD PTR[24+rsp]
1010
1011 mov r12,r13
1012 ror r13,7
1013 add rdx,r14
1014 mov r14,rdi
1015 ror rdi,42
1016
1017 xor r13,r12
1018 shr r12,7
1019 ror r13,1
1020 xor rdi,r14
1021 shr r14,6
1022
1023 ror rdi,19
1024 xor r12,r13
1025 xor rdi,r14
1026 add r12,QWORD PTR[112+rsp]
1027
1028 add r12,QWORD PTR[40+rsp]
1029 mov r13,r11
1030 add r12,rdi
1031 mov r14,rdx
1032 ror r13,23
1033 mov rdi,rax
1034
1035 xor r13,r11
1036 ror r14,5
1037 xor rdi,rbx
1038
1039 mov QWORD PTR[40+rsp],r12
1040 xor r14,rdx
1041 and rdi,r11
1042
1043 ror r13,4
1044 add r12,rcx
1045 xor rdi,rbx
1046
1047 ror r14,6
1048 xor r13,r11
1049 add r12,rdi
1050
1051 mov rdi,rdx
1052 add r12,QWORD PTR[rbp]
1053 xor r14,rdx
1054
1055 xor rdi,r8
1056 ror r13,14
1057 mov rcx,r8
1058
1059 and r15,rdi
1060 ror r14,28
1061 add r12,r13
1062
1063 xor rcx,r15
1064 add r10,r12
1065 add rcx,r12
1066
1067 lea rbp,QWORD PTR[24+rbp]
1068 mov r13,QWORD PTR[56+rsp]
1069 mov r15,QWORD PTR[32+rsp]
1070
1071 mov r12,r13
1072 ror r13,7
1073 add rcx,r14
1074 mov r14,r15
1075 ror r15,42
1076
1077 xor r13,r12
1078 shr r12,7
1079 ror r13,1
1080 xor r15,r14
1081 shr r14,6
1082
1083 ror r15,19
1084 xor r12,r13
1085 xor r15,r14
1086 add r12,QWORD PTR[120+rsp]
1087
1088 add r12,QWORD PTR[48+rsp]
1089 mov r13,r10
1090 add r12,r15
1091 mov r14,rcx
1092 ror r13,23
1093 mov r15,r11
1094
1095 xor r13,r10
1096 ror r14,5
1097 xor r15,rax
1098
1099 mov QWORD PTR[48+rsp],r12
1100 xor r14,rcx
1101 and r15,r10
1102
1103 ror r13,4
1104 add r12,rbx
1105 xor r15,rax
1106
1107 ror r14,6
1108 xor r13,r10
1109 add r12,r15
1110
1111 mov r15,rcx
1112 add r12,QWORD PTR[rbp]
1113 xor r14,rcx
1114
1115 xor r15,rdx
1116 ror r13,14
1117 mov rbx,rdx
1118
1119 and rdi,r15
1120 ror r14,28
1121 add r12,r13
1122
1123 xor rbx,rdi
1124 add r9,r12
1125 add rbx,r12
1126
1127 lea rbp,QWORD PTR[8+rbp]
1128 mov r13,QWORD PTR[64+rsp]
1129 mov rdi,QWORD PTR[40+rsp]
1130
1131 mov r12,r13
1132 ror r13,7
1133 add rbx,r14
1134 mov r14,rdi
1135 ror rdi,42
1136
1137 xor r13,r12
1138 shr r12,7
1139 ror r13,1
1140 xor rdi,r14
1141 shr r14,6
1142
1143 ror rdi,19
1144 xor r12,r13
1145 xor rdi,r14
1146 add r12,QWORD PTR[rsp]
1147
1148 add r12,QWORD PTR[56+rsp]
1149 mov r13,r9
1150 add r12,rdi
1151 mov r14,rbx
1152 ror r13,23
1153 mov rdi,r10
1154
1155 xor r13,r9
1156 ror r14,5
1157 xor rdi,r11
1158
1159 mov QWORD PTR[56+rsp],r12
1160 xor r14,rbx
1161 and rdi,r9
1162
1163 ror r13,4
1164 add r12,rax
1165 xor rdi,r11
1166
1167 ror r14,6
1168 xor r13,r9
1169 add r12,rdi
1170
1171 mov rdi,rbx
1172 add r12,QWORD PTR[rbp]
1173 xor r14,rbx
1174
1175 xor rdi,rcx
1176 ror r13,14
1177 mov rax,rcx
1178
1179 and r15,rdi
1180 ror r14,28
1181 add r12,r13
1182
1183 xor rax,r15
1184 add r8,r12
1185 add rax,r12
1186
1187 lea rbp,QWORD PTR[24+rbp]
1188 mov r13,QWORD PTR[72+rsp]
1189 mov r15,QWORD PTR[48+rsp]
1190
1191 mov r12,r13
1192 ror r13,7
1193 add rax,r14
1194 mov r14,r15
1195 ror r15,42
1196
1197 xor r13,r12
1198 shr r12,7
1199 ror r13,1
1200 xor r15,r14
1201 shr r14,6
1202
1203 ror r15,19
1204 xor r12,r13
1205 xor r15,r14
1206 add r12,QWORD PTR[8+rsp]
1207
1208 add r12,QWORD PTR[64+rsp]
1209 mov r13,r8
1210 add r12,r15
1211 mov r14,rax
1212 ror r13,23
1213 mov r15,r9
1214
1215 xor r13,r8
1216 ror r14,5
1217 xor r15,r10
1218
1219 mov QWORD PTR[64+rsp],r12
1220 xor r14,rax
1221 and r15,r8
1222
1223 ror r13,4
1224 add r12,r11
1225 xor r15,r10
1226
1227 ror r14,6
1228 xor r13,r8
1229 add r12,r15
1230
1231 mov r15,rax
1232 add r12,QWORD PTR[rbp]
1233 xor r14,rax
1234
1235 xor r15,rbx
1236 ror r13,14
1237 mov r11,rbx
1238
1239 and rdi,r15
1240 ror r14,28
1241 add r12,r13
1242
1243 xor r11,rdi
1244 add rdx,r12
1245 add r11,r12
1246
1247 lea rbp,QWORD PTR[8+rbp]
1248 mov r13,QWORD PTR[80+rsp]
1249 mov rdi,QWORD PTR[56+rsp]
1250
1251 mov r12,r13
1252 ror r13,7
1253 add r11,r14
1254 mov r14,rdi
1255 ror rdi,42
1256
1257 xor r13,r12
1258 shr r12,7
1259 ror r13,1
1260 xor rdi,r14
1261 shr r14,6
1262
1263 ror rdi,19
1264 xor r12,r13
1265 xor rdi,r14
1266 add r12,QWORD PTR[16+rsp]
1267
1268 add r12,QWORD PTR[72+rsp]
1269 mov r13,rdx
1270 add r12,rdi
1271 mov r14,r11
1272 ror r13,23
1273 mov rdi,r8
1274
1275 xor r13,rdx
1276 ror r14,5
1277 xor rdi,r9
1278
1279 mov QWORD PTR[72+rsp],r12
1280 xor r14,r11
1281 and rdi,rdx
1282
1283 ror r13,4
1284 add r12,r10
1285 xor rdi,r9
1286
1287 ror r14,6
1288 xor r13,rdx
1289 add r12,rdi
1290
1291 mov rdi,r11
1292 add r12,QWORD PTR[rbp]
1293 xor r14,r11
1294
1295 xor rdi,rax
1296 ror r13,14
1297 mov r10,rax
1298
1299 and r15,rdi
1300 ror r14,28
1301 add r12,r13
1302
1303 xor r10,r15
1304 add rcx,r12
1305 add r10,r12
1306
1307 lea rbp,QWORD PTR[24+rbp]
1308 mov r13,QWORD PTR[88+rsp]
1309 mov r15,QWORD PTR[64+rsp]
1310
1311 mov r12,r13
1312 ror r13,7
1313 add r10,r14
1314 mov r14,r15
1315 ror r15,42
1316
1317 xor r13,r12
1318 shr r12,7
1319 ror r13,1
1320 xor r15,r14
1321 shr r14,6
1322
1323 ror r15,19
1324 xor r12,r13
1325 xor r15,r14
1326 add r12,QWORD PTR[24+rsp]
1327
1328 add r12,QWORD PTR[80+rsp]
1329 mov r13,rcx
1330 add r12,r15
1331 mov r14,r10
1332 ror r13,23
1333 mov r15,rdx
1334
1335 xor r13,rcx
1336 ror r14,5
1337 xor r15,r8
1338
1339 mov QWORD PTR[80+rsp],r12
1340 xor r14,r10
1341 and r15,rcx
1342
1343 ror r13,4
1344 add r12,r9
1345 xor r15,r8
1346
1347 ror r14,6
1348 xor r13,rcx
1349 add r12,r15
1350
1351 mov r15,r10
1352 add r12,QWORD PTR[rbp]
1353 xor r14,r10
1354
1355 xor r15,r11
1356 ror r13,14
1357 mov r9,r11
1358
1359 and rdi,r15
1360 ror r14,28
1361 add r12,r13
1362
1363 xor r9,rdi
1364 add rbx,r12
1365 add r9,r12
1366
1367 lea rbp,QWORD PTR[8+rbp]
1368 mov r13,QWORD PTR[96+rsp]
1369 mov rdi,QWORD PTR[72+rsp]
1370
1371 mov r12,r13
1372 ror r13,7
1373 add r9,r14
1374 mov r14,rdi
1375 ror rdi,42
1376
1377 xor r13,r12
1378 shr r12,7
1379 ror r13,1
1380 xor rdi,r14
1381 shr r14,6
1382
1383 ror rdi,19
1384 xor r12,r13
1385 xor rdi,r14
1386 add r12,QWORD PTR[32+rsp]
1387
1388 add r12,QWORD PTR[88+rsp]
1389 mov r13,rbx
1390 add r12,rdi
1391 mov r14,r9
1392 ror r13,23
1393 mov rdi,rcx
1394
1395 xor r13,rbx
1396 ror r14,5
1397 xor rdi,rdx
1398
1399 mov QWORD PTR[88+rsp],r12
1400 xor r14,r9
1401 and rdi,rbx
1402
1403 ror r13,4
1404 add r12,r8
1405 xor rdi,rdx
1406
1407 ror r14,6
1408 xor r13,rbx
1409 add r12,rdi
1410
1411 mov rdi,r9
1412 add r12,QWORD PTR[rbp]
1413 xor r14,r9
1414
1415 xor rdi,r10
1416 ror r13,14
1417 mov r8,r10
1418
1419 and r15,rdi
1420 ror r14,28
1421 add r12,r13
1422
1423 xor r8,r15
1424 add rax,r12
1425 add r8,r12
1426
1427 lea rbp,QWORD PTR[24+rbp]
1428 mov r13,QWORD PTR[104+rsp]
1429 mov r15,QWORD PTR[80+rsp]
1430
1431 mov r12,r13
1432 ror r13,7
1433 add r8,r14
1434 mov r14,r15
1435 ror r15,42
1436
1437 xor r13,r12
1438 shr r12,7
1439 ror r13,1
1440 xor r15,r14
1441 shr r14,6
1442
1443 ror r15,19
1444 xor r12,r13
1445 xor r15,r14
1446 add r12,QWORD PTR[40+rsp]
1447
1448 add r12,QWORD PTR[96+rsp]
1449 mov r13,rax
1450 add r12,r15
1451 mov r14,r8
1452 ror r13,23
1453 mov r15,rbx
1454
1455 xor r13,rax
1456 ror r14,5
1457 xor r15,rcx
1458
1459 mov QWORD PTR[96+rsp],r12
1460 xor r14,r8
1461 and r15,rax
1462
1463 ror r13,4
1464 add r12,rdx
1465 xor r15,rcx
1466
1467 ror r14,6
1468 xor r13,rax
1469 add r12,r15
1470
1471 mov r15,r8
1472 add r12,QWORD PTR[rbp]
1473 xor r14,r8
1474
1475 xor r15,r9
1476 ror r13,14
1477 mov rdx,r9
1478
1479 and rdi,r15
1480 ror r14,28
1481 add r12,r13
1482
1483 xor rdx,rdi
1484 add r11,r12
1485 add rdx,r12
1486
1487 lea rbp,QWORD PTR[8+rbp]
1488 mov r13,QWORD PTR[112+rsp]
1489 mov rdi,QWORD PTR[88+rsp]
1490
1491 mov r12,r13
1492 ror r13,7
1493 add rdx,r14
1494 mov r14,rdi
1495 ror rdi,42
1496
1497 xor r13,r12
1498 shr r12,7
1499 ror r13,1
1500 xor rdi,r14
1501 shr r14,6
1502
1503 ror rdi,19
1504 xor r12,r13
1505 xor rdi,r14
1506 add r12,QWORD PTR[48+rsp]
1507
1508 add r12,QWORD PTR[104+rsp]
1509 mov r13,r11
1510 add r12,rdi
1511 mov r14,rdx
1512 ror r13,23
1513 mov rdi,rax
1514
1515 xor r13,r11
1516 ror r14,5
1517 xor rdi,rbx
1518
1519 mov QWORD PTR[104+rsp],r12
1520 xor r14,rdx
1521 and rdi,r11
1522
1523 ror r13,4
1524 add r12,rcx
1525 xor rdi,rbx
1526
1527 ror r14,6
1528 xor r13,r11
1529 add r12,rdi
1530
1531 mov rdi,rdx
1532 add r12,QWORD PTR[rbp]
1533 xor r14,rdx
1534
1535 xor rdi,r8
1536 ror r13,14
1537 mov rcx,r8
1538
1539 and r15,rdi
1540 ror r14,28
1541 add r12,r13
1542
1543 xor rcx,r15
1544 add r10,r12
1545 add rcx,r12
1546
1547 lea rbp,QWORD PTR[24+rbp]
1548 mov r13,QWORD PTR[120+rsp]
1549 mov r15,QWORD PTR[96+rsp]
1550
1551 mov r12,r13
1552 ror r13,7
1553 add rcx,r14
1554 mov r14,r15
1555 ror r15,42
1556
1557 xor r13,r12
1558 shr r12,7
1559 ror r13,1
1560 xor r15,r14
1561 shr r14,6
1562
1563 ror r15,19
1564 xor r12,r13
1565 xor r15,r14
1566 add r12,QWORD PTR[56+rsp]
1567
1568 add r12,QWORD PTR[112+rsp]
1569 mov r13,r10
1570 add r12,r15
1571 mov r14,rcx
1572 ror r13,23
1573 mov r15,r11
1574
1575 xor r13,r10
1576 ror r14,5
1577 xor r15,rax
1578
1579 mov QWORD PTR[112+rsp],r12
1580 xor r14,rcx
1581 and r15,r10
1582
1583 ror r13,4
1584 add r12,rbx
1585 xor r15,rax
1586
1587 ror r14,6
1588 xor r13,r10
1589 add r12,r15
1590
1591 mov r15,rcx
1592 add r12,QWORD PTR[rbp]
1593 xor r14,rcx
1594
1595 xor r15,rdx
1596 ror r13,14
1597 mov rbx,rdx
1598
1599 and rdi,r15
1600 ror r14,28
1601 add r12,r13
1602
1603 xor rbx,rdi
1604 add r9,r12
1605 add rbx,r12
1606
1607 lea rbp,QWORD PTR[8+rbp]
1608 mov r13,QWORD PTR[rsp]
1609 mov rdi,QWORD PTR[104+rsp]
1610
1611 mov r12,r13
1612 ror r13,7
1613 add rbx,r14
1614 mov r14,rdi
1615 ror rdi,42
1616
1617 xor r13,r12
1618 shr r12,7
1619 ror r13,1
1620 xor rdi,r14
1621 shr r14,6
1622
1623 ror rdi,19
1624 xor r12,r13
1625 xor rdi,r14
1626 add r12,QWORD PTR[64+rsp]
1627
1628 add r12,QWORD PTR[120+rsp]
1629 mov r13,r9
1630 add r12,rdi
1631 mov r14,rbx
1632 ror r13,23
1633 mov rdi,r10
1634
1635 xor r13,r9
1636 ror r14,5
1637 xor rdi,r11
1638
1639 mov QWORD PTR[120+rsp],r12
1640 xor r14,rbx
1641 and rdi,r9
1642
1643 ror r13,4
1644 add r12,rax
1645 xor rdi,r11
1646
1647 ror r14,6
1648 xor r13,r9
1649 add r12,rdi
1650
1651 mov rdi,rbx
1652 add r12,QWORD PTR[rbp]
1653 xor r14,rbx
1654
1655 xor rdi,rcx
1656 ror r13,14
1657 mov rax,rcx
1658
1659 and r15,rdi
1660 ror r14,28
1661 add r12,r13
1662
1663 xor rax,r15
1664 add r8,r12
1665 add rax,r12
1666
1667 lea rbp,QWORD PTR[24+rbp]
1668 cmp BYTE PTR[7+rbp],0
1669 jnz $L$rounds_16_xx
1670
1671 mov rdi,QWORD PTR[((128+0))+rsp]
1672 add rax,r14
1673 lea rsi,QWORD PTR[128+rsi]
1674
1675 add rax,QWORD PTR[rdi]
1676 add rbx,QWORD PTR[8+rdi]
1677 add rcx,QWORD PTR[16+rdi]
1678 add rdx,QWORD PTR[24+rdi]
1679 add r8,QWORD PTR[32+rdi]
1680 add r9,QWORD PTR[40+rdi]
1681 add r10,QWORD PTR[48+rdi]
1682 add r11,QWORD PTR[56+rdi]
1683
1684 cmp rsi,QWORD PTR[((128+16))+rsp]
1685
1686 mov QWORD PTR[rdi],rax
1687 mov QWORD PTR[8+rdi],rbx
1688 mov QWORD PTR[16+rdi],rcx
1689 mov QWORD PTR[24+rdi],rdx
1690 mov QWORD PTR[32+rdi],r8
1691 mov QWORD PTR[40+rdi],r9
1692 mov QWORD PTR[48+rdi],r10
1693 mov QWORD PTR[56+rdi],r11
1694 jb $L$loop
1695
1696 mov rsi,QWORD PTR[((128+24))+rsp]
1697 mov r15,QWORD PTR[rsi]
1698 mov r14,QWORD PTR[8+rsi]
1699 mov r13,QWORD PTR[16+rsi]
1700 mov r12,QWORD PTR[24+rsi]
1701 mov rbp,QWORD PTR[32+rsi]
1702 mov rbx,QWORD PTR[40+rsi]
1703 lea rsp,QWORD PTR[48+rsi]
1704 $L$epilogue::
1705 mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
1706 mov rsi,QWORD PTR[16+rsp]
1707 DB 0F3h,0C3h ;repret
1708 $L$SEH_end_sha512_block_data_order::
1709 sha512_block_data_order ENDP
1710 ALIGN 64
1711
1712 K512::
1713 DQ 0428a2f98d728ae22h,07137449123ef65cdh
1714 DQ 0428a2f98d728ae22h,07137449123ef65cdh
1715 DQ 0b5c0fbcfec4d3b2fh,0e9b5dba58189dbbch
1716 DQ 0b5c0fbcfec4d3b2fh,0e9b5dba58189dbbch
1717 DQ 03956c25bf348b538h,059f111f1b605d019h
1718 DQ 03956c25bf348b538h,059f111f1b605d019h
1719 DQ 0923f82a4af194f9bh,0ab1c5ed5da6d8118h
1720 DQ 0923f82a4af194f9bh,0ab1c5ed5da6d8118h
1721 DQ 0d807aa98a3030242h,012835b0145706fbeh
1722 DQ 0d807aa98a3030242h,012835b0145706fbeh
1723 DQ 0243185be4ee4b28ch,0550c7dc3d5ffb4e2h
1724 DQ 0243185be4ee4b28ch,0550c7dc3d5ffb4e2h
1725 DQ 072be5d74f27b896fh,080deb1fe3b1696b1h
1726 DQ 072be5d74f27b896fh,080deb1fe3b1696b1h
1727 DQ 09bdc06a725c71235h,0c19bf174cf692694h
1728 DQ 09bdc06a725c71235h,0c19bf174cf692694h
1729 DQ 0e49b69c19ef14ad2h,0efbe4786384f25e3h
1730 DQ 0e49b69c19ef14ad2h,0efbe4786384f25e3h
1731 DQ 00fc19dc68b8cd5b5h,0240ca1cc77ac9c65h
1732 DQ 00fc19dc68b8cd5b5h,0240ca1cc77ac9c65h
1733 DQ 02de92c6f592b0275h,04a7484aa6ea6e483h
1734 DQ 02de92c6f592b0275h,04a7484aa6ea6e483h
1735 DQ 05cb0a9dcbd41fbd4h,076f988da831153b5h
1736 DQ 05cb0a9dcbd41fbd4h,076f988da831153b5h
1737 DQ 0983e5152ee66dfabh,0a831c66d2db43210h
1738 DQ 0983e5152ee66dfabh,0a831c66d2db43210h
1739 DQ 0b00327c898fb213fh,0bf597fc7beef0ee4h
1740 DQ 0b00327c898fb213fh,0bf597fc7beef0ee4h
1741 DQ 0c6e00bf33da88fc2h,0d5a79147930aa725h
1742 DQ 0c6e00bf33da88fc2h,0d5a79147930aa725h
1743 DQ 006ca6351e003826fh,0142929670a0e6e70h
1744 DQ 006ca6351e003826fh,0142929670a0e6e70h
1745 DQ 027b70a8546d22ffch,02e1b21385c26c926h
1746 DQ 027b70a8546d22ffch,02e1b21385c26c926h
1747 DQ 04d2c6dfc5ac42aedh,053380d139d95b3dfh
1748 DQ 04d2c6dfc5ac42aedh,053380d139d95b3dfh
1749 DQ 0650a73548baf63deh,0766a0abb3c77b2a8h
1750 DQ 0650a73548baf63deh,0766a0abb3c77b2a8h
1751 DQ 081c2c92e47edaee6h,092722c851482353bh
1752 DQ 081c2c92e47edaee6h,092722c851482353bh
1753 DQ 0a2bfe8a14cf10364h,0a81a664bbc423001h
1754 DQ 0a2bfe8a14cf10364h,0a81a664bbc423001h
1755 DQ 0c24b8b70d0f89791h,0c76c51a30654be30h
1756 DQ 0c24b8b70d0f89791h,0c76c51a30654be30h
1757 DQ 0d192e819d6ef5218h,0d69906245565a910h
1758 DQ 0d192e819d6ef5218h,0d69906245565a910h
1759 DQ 0f40e35855771202ah,0106aa07032bbd1b8h
1760 DQ 0f40e35855771202ah,0106aa07032bbd1b8h
1761 DQ 019a4c116b8d2d0c8h,01e376c085141ab53h
1762 DQ 019a4c116b8d2d0c8h,01e376c085141ab53h
1763 DQ 02748774cdf8eeb99h,034b0bcb5e19b48a8h
1764 DQ 02748774cdf8eeb99h,034b0bcb5e19b48a8h
1765 DQ 0391c0cb3c5c95a63h,04ed8aa4ae3418acbh
1766 DQ 0391c0cb3c5c95a63h,04ed8aa4ae3418acbh
1767 DQ 05b9cca4f7763e373h,0682e6ff3d6b2b8a3h
1768 DQ 05b9cca4f7763e373h,0682e6ff3d6b2b8a3h
1769 DQ 0748f82ee5defb2fch,078a5636f43172f60h
1770 DQ 0748f82ee5defb2fch,078a5636f43172f60h
1771 DQ 084c87814a1f0ab72h,08cc702081a6439ech
1772 DQ 084c87814a1f0ab72h,08cc702081a6439ech
1773 DQ 090befffa23631e28h,0a4506cebde82bde9h
1774 DQ 090befffa23631e28h,0a4506cebde82bde9h
1775 DQ 0bef9a3f7b2c67915h,0c67178f2e372532bh
1776 DQ 0bef9a3f7b2c67915h,0c67178f2e372532bh
1777 DQ 0ca273eceea26619ch,0d186b8c721c0c207h
1778 DQ 0ca273eceea26619ch,0d186b8c721c0c207h
1779 DQ 0eada7dd6cde0eb1eh,0f57d4f7fee6ed178h
1780 DQ 0eada7dd6cde0eb1eh,0f57d4f7fee6ed178h
1781 DQ 006f067aa72176fbah,00a637dc5a2c898a6h
1782 DQ 006f067aa72176fbah,00a637dc5a2c898a6h
1783 DQ 0113f9804bef90daeh,01b710b35131c471bh
1784 DQ 0113f9804bef90daeh,01b710b35131c471bh
1785 DQ 028db77f523047d84h,032caab7b40c72493h
1786 DQ 028db77f523047d84h,032caab7b40c72493h
1787 DQ 03c9ebe0a15c9bebch,0431d67c49c100d4ch
1788 DQ 03c9ebe0a15c9bebch,0431d67c49c100d4ch
1789 DQ 04cc5d4becb3e42b6h,0597f299cfc657e2ah
1790 DQ 04cc5d4becb3e42b6h,0597f299cfc657e2ah
1791 DQ 05fcb6fab3ad6faech,06c44198c4a475817h
1792 DQ 05fcb6fab3ad6faech,06c44198c4a475817h
1793
1794 DQ 00001020304050607h,008090a0b0c0d0e0fh
1795 DQ 00001020304050607h,008090a0b0c0d0e0fh
1796 DB 83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97
1797 DB 110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54
1798 DB 52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121
1799 DB 32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46
1800 DB 111,114,103,62,0
1801 EXTERN __imp_RtlVirtualUnwind:NEAR
1802
1803 ALIGN 16
1804 se_handler PROC PRIVATE
1805 push rsi
1806 push rdi
1807 push rbx
1808 push rbp
1809 push r12
1810 push r13
1811 push r14
1812 push r15
1813 pushfq
1814 sub rsp,64
1815
1816 mov rax,QWORD PTR[120+r8]
1817 mov rbx,QWORD PTR[248+r8]
1818
1819 mov rsi,QWORD PTR[8+r9]
1820 mov r11,QWORD PTR[56+r9]
1821
1822 mov r10d,DWORD PTR[r11]
1823 lea r10,QWORD PTR[r10*1+rsi]
1824 cmp rbx,r10
1825 jb $L$in_prologue
1826
1827 mov rax,QWORD PTR[152+r8]
1828
1829 mov r10d,DWORD PTR[4+r11]
1830 lea r10,QWORD PTR[r10*1+rsi]
1831 cmp rbx,r10
1832 jae $L$in_prologue
1833 mov rsi,rax
1834 mov rax,QWORD PTR[((128+24))+rax]
1835 lea rax,QWORD PTR[48+rax]
1836
1837 mov rbx,QWORD PTR[((-8))+rax]
1838 mov rbp,QWORD PTR[((-16))+rax]
1839 mov r12,QWORD PTR[((-24))+rax]
1840 mov r13,QWORD PTR[((-32))+rax]
1841 mov r14,QWORD PTR[((-40))+rax]
1842 mov r15,QWORD PTR[((-48))+rax]
1843 mov QWORD PTR[144+r8],rbx
1844 mov QWORD PTR[160+r8],rbp
1845 mov QWORD PTR[216+r8],r12
1846 mov QWORD PTR[224+r8],r13
1847 mov QWORD PTR[232+r8],r14
1848 mov QWORD PTR[240+r8],r15
1849
1850 lea r10,QWORD PTR[$L$epilogue]
1851 cmp rbx,r10
1852 jb $L$in_prologue
1853
1854 lea rsi,QWORD PTR[((128+32))+rsi]
1855 lea rdi,QWORD PTR[512+r8]
1856 mov ecx,12
1857 DD 0a548f3fch
1858
1859 $L$in_prologue::
1860 mov rdi,QWORD PTR[8+rax]
1861 mov rsi,QWORD PTR[16+rax]
1862 mov QWORD PTR[152+r8],rax
1863 mov QWORD PTR[168+r8],rsi
1864 mov QWORD PTR[176+r8],rdi
1865
1866 mov rdi,QWORD PTR[40+r9]
1867 mov rsi,r8
1868 mov ecx,154
1869 DD 0a548f3fch
1870
1871 mov rsi,r9
1872 xor rcx,rcx
1873 mov rdx,QWORD PTR[8+rsi]
1874 mov r8,QWORD PTR[rsi]
1875 mov r9,QWORD PTR[16+rsi]
1876 mov r10,QWORD PTR[40+rsi]
1877 lea r11,QWORD PTR[56+rsi]
1878 lea r12,QWORD PTR[24+rsi]
1879 mov QWORD PTR[32+rsp],r10
1880 mov QWORD PTR[40+rsp],r11
1881 mov QWORD PTR[48+rsp],r12
1882 mov QWORD PTR[56+rsp],rcx
1883 call QWORD PTR[__imp_RtlVirtualUnwind]
1884
1885 mov eax,1
1886 add rsp,64
1887 popfq
1888 pop r15
1889 pop r14
1890 pop r13
1891 pop r12
1892 pop rbp
1893 pop rbx
1894 pop rdi
1895 pop rsi
1896 DB 0F3h,0C3h ;repret
1897 se_handler ENDP
1898 .text$ ENDS
1899 .pdata SEGMENT READONLY ALIGN(4)
1900 ALIGN 4
1901 DD imagerel $L$SEH_begin_sha512_block_data_order
1902 DD imagerel $L$SEH_end_sha512_block_data_order
1903 DD imagerel $L$SEH_info_sha512_block_data_order
1904 .pdata ENDS
1905 .xdata SEGMENT READONLY ALIGN(8)
1906 ALIGN 8
1907 $L$SEH_info_sha512_block_data_order::
1908 DB 9,0,0,0
1909 DD imagerel se_handler
1910 DD imagerel $L$prologue,imagerel $L$epilogue
1911
1912 .xdata ENDS
1913 END
OLDNEW
« no previous file with comments | « third_party/boringssl/win-x86_64/crypto/sha/sha256-x86_64.asm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698