VirtualBox

source: vbox/trunk/src/libs/openssl-1.1.1j/crypto/genasm-nasm/sha512-x86_64.S@ 88461

Last change on this file since 88461 was 83531, checked in by vboxsync, 5 years ago

setting svn:sync-process=export for openssl-1.1.1f, all files except tests

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

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette