VirtualBox

source: vbox/trunk/src/libs/openssl-1.1.1g/crypto/genasm-nasm/sha256-x86_64.S@ 86352

最後變更 在這個檔案從86352是 83531,由 vboxsync 提交於 5 年 前

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

檔案大小: 46.5 KB
 
1default rel
2%define XMMWORD
3%define YMMWORD
4%define ZMMWORD
5section .text code align=64
6
7
8EXTERN OPENSSL_ia32cap_P
9global sha256_block_data_order
10
11ALIGN 16
12sha256_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_sha256_block_data_order:
17 mov rdi,rcx
18 mov rsi,rdx
19 mov rdx,r8
20
21
22
23 lea r11,[OPENSSL_ia32cap_P]
24 mov r9d,DWORD[r11]
25 mov r10d,DWORD[4+r11]
26 mov r11d,DWORD[8+r11]
27 test r11d,536870912
28 jnz NEAR _shaext_shortcut
29 test r10d,512
30 jnz NEAR $L$ssse3_shortcut
31 mov rax,rsp
32
33 push rbx
34
35 push rbp
36
37 push r12
38
39 push r13
40
41 push r14
42
43 push r15
44
45 shl rdx,4
46 sub rsp,16*4+4*8
47 lea rdx,[rdx*4+rsi]
48 and rsp,-64
49 mov QWORD[((64+0))+rsp],rdi
50 mov QWORD[((64+8))+rsp],rsi
51 mov QWORD[((64+16))+rsp],rdx
52 mov QWORD[88+rsp],rax
53
54$L$prologue:
55
56 mov eax,DWORD[rdi]
57 mov ebx,DWORD[4+rdi]
58 mov ecx,DWORD[8+rdi]
59 mov edx,DWORD[12+rdi]
60 mov r8d,DWORD[16+rdi]
61 mov r9d,DWORD[20+rdi]
62 mov r10d,DWORD[24+rdi]
63 mov r11d,DWORD[28+rdi]
64 jmp NEAR $L$loop
65
66ALIGN 16
67$L$loop:
68 mov edi,ebx
69 lea rbp,[K256]
70 xor edi,ecx
71 mov r12d,DWORD[rsi]
72 mov r13d,r8d
73 mov r14d,eax
74 bswap r12d
75 ror r13d,14
76 mov r15d,r9d
77
78 xor r13d,r8d
79 ror r14d,9
80 xor r15d,r10d
81
82 mov DWORD[rsp],r12d
83 xor r14d,eax
84 and r15d,r8d
85
86 ror r13d,5
87 add r12d,r11d
88 xor r15d,r10d
89
90 ror r14d,11
91 xor r13d,r8d
92 add r12d,r15d
93
94 mov r15d,eax
95 add r12d,DWORD[rbp]
96 xor r14d,eax
97
98 xor r15d,ebx
99 ror r13d,6
100 mov r11d,ebx
101
102 and edi,r15d
103 ror r14d,2
104 add r12d,r13d
105
106 xor r11d,edi
107 add edx,r12d
108 add r11d,r12d
109
110 lea rbp,[4+rbp]
111 add r11d,r14d
112 mov r12d,DWORD[4+rsi]
113 mov r13d,edx
114 mov r14d,r11d
115 bswap r12d
116 ror r13d,14
117 mov edi,r8d
118
119 xor r13d,edx
120 ror r14d,9
121 xor edi,r9d
122
123 mov DWORD[4+rsp],r12d
124 xor r14d,r11d
125 and edi,edx
126
127 ror r13d,5
128 add r12d,r10d
129 xor edi,r9d
130
131 ror r14d,11
132 xor r13d,edx
133 add r12d,edi
134
135 mov edi,r11d
136 add r12d,DWORD[rbp]
137 xor r14d,r11d
138
139 xor edi,eax
140 ror r13d,6
141 mov r10d,eax
142
143 and r15d,edi
144 ror r14d,2
145 add r12d,r13d
146
147 xor r10d,r15d
148 add ecx,r12d
149 add r10d,r12d
150
151 lea rbp,[4+rbp]
152 add r10d,r14d
153 mov r12d,DWORD[8+rsi]
154 mov r13d,ecx
155 mov r14d,r10d
156 bswap r12d
157 ror r13d,14
158 mov r15d,edx
159
160 xor r13d,ecx
161 ror r14d,9
162 xor r15d,r8d
163
164 mov DWORD[8+rsp],r12d
165 xor r14d,r10d
166 and r15d,ecx
167
168 ror r13d,5
169 add r12d,r9d
170 xor r15d,r8d
171
172 ror r14d,11
173 xor r13d,ecx
174 add r12d,r15d
175
176 mov r15d,r10d
177 add r12d,DWORD[rbp]
178 xor r14d,r10d
179
180 xor r15d,r11d
181 ror r13d,6
182 mov r9d,r11d
183
184 and edi,r15d
185 ror r14d,2
186 add r12d,r13d
187
188 xor r9d,edi
189 add ebx,r12d
190 add r9d,r12d
191
192 lea rbp,[4+rbp]
193 add r9d,r14d
194 mov r12d,DWORD[12+rsi]
195 mov r13d,ebx
196 mov r14d,r9d
197 bswap r12d
198 ror r13d,14
199 mov edi,ecx
200
201 xor r13d,ebx
202 ror r14d,9
203 xor edi,edx
204
205 mov DWORD[12+rsp],r12d
206 xor r14d,r9d
207 and edi,ebx
208
209 ror r13d,5
210 add r12d,r8d
211 xor edi,edx
212
213 ror r14d,11
214 xor r13d,ebx
215 add r12d,edi
216
217 mov edi,r9d
218 add r12d,DWORD[rbp]
219 xor r14d,r9d
220
221 xor edi,r10d
222 ror r13d,6
223 mov r8d,r10d
224
225 and r15d,edi
226 ror r14d,2
227 add r12d,r13d
228
229 xor r8d,r15d
230 add eax,r12d
231 add r8d,r12d
232
233 lea rbp,[20+rbp]
234 add r8d,r14d
235 mov r12d,DWORD[16+rsi]
236 mov r13d,eax
237 mov r14d,r8d
238 bswap r12d
239 ror r13d,14
240 mov r15d,ebx
241
242 xor r13d,eax
243 ror r14d,9
244 xor r15d,ecx
245
246 mov DWORD[16+rsp],r12d
247 xor r14d,r8d
248 and r15d,eax
249
250 ror r13d,5
251 add r12d,edx
252 xor r15d,ecx
253
254 ror r14d,11
255 xor r13d,eax
256 add r12d,r15d
257
258 mov r15d,r8d
259 add r12d,DWORD[rbp]
260 xor r14d,r8d
261
262 xor r15d,r9d
263 ror r13d,6
264 mov edx,r9d
265
266 and edi,r15d
267 ror r14d,2
268 add r12d,r13d
269
270 xor edx,edi
271 add r11d,r12d
272 add edx,r12d
273
274 lea rbp,[4+rbp]
275 add edx,r14d
276 mov r12d,DWORD[20+rsi]
277 mov r13d,r11d
278 mov r14d,edx
279 bswap r12d
280 ror r13d,14
281 mov edi,eax
282
283 xor r13d,r11d
284 ror r14d,9
285 xor edi,ebx
286
287 mov DWORD[20+rsp],r12d
288 xor r14d,edx
289 and edi,r11d
290
291 ror r13d,5
292 add r12d,ecx
293 xor edi,ebx
294
295 ror r14d,11
296 xor r13d,r11d
297 add r12d,edi
298
299 mov edi,edx
300 add r12d,DWORD[rbp]
301 xor r14d,edx
302
303 xor edi,r8d
304 ror r13d,6
305 mov ecx,r8d
306
307 and r15d,edi
308 ror r14d,2
309 add r12d,r13d
310
311 xor ecx,r15d
312 add r10d,r12d
313 add ecx,r12d
314
315 lea rbp,[4+rbp]
316 add ecx,r14d
317 mov r12d,DWORD[24+rsi]
318 mov r13d,r10d
319 mov r14d,ecx
320 bswap r12d
321 ror r13d,14
322 mov r15d,r11d
323
324 xor r13d,r10d
325 ror r14d,9
326 xor r15d,eax
327
328 mov DWORD[24+rsp],r12d
329 xor r14d,ecx
330 and r15d,r10d
331
332 ror r13d,5
333 add r12d,ebx
334 xor r15d,eax
335
336 ror r14d,11
337 xor r13d,r10d
338 add r12d,r15d
339
340 mov r15d,ecx
341 add r12d,DWORD[rbp]
342 xor r14d,ecx
343
344 xor r15d,edx
345 ror r13d,6
346 mov ebx,edx
347
348 and edi,r15d
349 ror r14d,2
350 add r12d,r13d
351
352 xor ebx,edi
353 add r9d,r12d
354 add ebx,r12d
355
356 lea rbp,[4+rbp]
357 add ebx,r14d
358 mov r12d,DWORD[28+rsi]
359 mov r13d,r9d
360 mov r14d,ebx
361 bswap r12d
362 ror r13d,14
363 mov edi,r10d
364
365 xor r13d,r9d
366 ror r14d,9
367 xor edi,r11d
368
369 mov DWORD[28+rsp],r12d
370 xor r14d,ebx
371 and edi,r9d
372
373 ror r13d,5
374 add r12d,eax
375 xor edi,r11d
376
377 ror r14d,11
378 xor r13d,r9d
379 add r12d,edi
380
381 mov edi,ebx
382 add r12d,DWORD[rbp]
383 xor r14d,ebx
384
385 xor edi,ecx
386 ror r13d,6
387 mov eax,ecx
388
389 and r15d,edi
390 ror r14d,2
391 add r12d,r13d
392
393 xor eax,r15d
394 add r8d,r12d
395 add eax,r12d
396
397 lea rbp,[20+rbp]
398 add eax,r14d
399 mov r12d,DWORD[32+rsi]
400 mov r13d,r8d
401 mov r14d,eax
402 bswap r12d
403 ror r13d,14
404 mov r15d,r9d
405
406 xor r13d,r8d
407 ror r14d,9
408 xor r15d,r10d
409
410 mov DWORD[32+rsp],r12d
411 xor r14d,eax
412 and r15d,r8d
413
414 ror r13d,5
415 add r12d,r11d
416 xor r15d,r10d
417
418 ror r14d,11
419 xor r13d,r8d
420 add r12d,r15d
421
422 mov r15d,eax
423 add r12d,DWORD[rbp]
424 xor r14d,eax
425
426 xor r15d,ebx
427 ror r13d,6
428 mov r11d,ebx
429
430 and edi,r15d
431 ror r14d,2
432 add r12d,r13d
433
434 xor r11d,edi
435 add edx,r12d
436 add r11d,r12d
437
438 lea rbp,[4+rbp]
439 add r11d,r14d
440 mov r12d,DWORD[36+rsi]
441 mov r13d,edx
442 mov r14d,r11d
443 bswap r12d
444 ror r13d,14
445 mov edi,r8d
446
447 xor r13d,edx
448 ror r14d,9
449 xor edi,r9d
450
451 mov DWORD[36+rsp],r12d
452 xor r14d,r11d
453 and edi,edx
454
455 ror r13d,5
456 add r12d,r10d
457 xor edi,r9d
458
459 ror r14d,11
460 xor r13d,edx
461 add r12d,edi
462
463 mov edi,r11d
464 add r12d,DWORD[rbp]
465 xor r14d,r11d
466
467 xor edi,eax
468 ror r13d,6
469 mov r10d,eax
470
471 and r15d,edi
472 ror r14d,2
473 add r12d,r13d
474
475 xor r10d,r15d
476 add ecx,r12d
477 add r10d,r12d
478
479 lea rbp,[4+rbp]
480 add r10d,r14d
481 mov r12d,DWORD[40+rsi]
482 mov r13d,ecx
483 mov r14d,r10d
484 bswap r12d
485 ror r13d,14
486 mov r15d,edx
487
488 xor r13d,ecx
489 ror r14d,9
490 xor r15d,r8d
491
492 mov DWORD[40+rsp],r12d
493 xor r14d,r10d
494 and r15d,ecx
495
496 ror r13d,5
497 add r12d,r9d
498 xor r15d,r8d
499
500 ror r14d,11
501 xor r13d,ecx
502 add r12d,r15d
503
504 mov r15d,r10d
505 add r12d,DWORD[rbp]
506 xor r14d,r10d
507
508 xor r15d,r11d
509 ror r13d,6
510 mov r9d,r11d
511
512 and edi,r15d
513 ror r14d,2
514 add r12d,r13d
515
516 xor r9d,edi
517 add ebx,r12d
518 add r9d,r12d
519
520 lea rbp,[4+rbp]
521 add r9d,r14d
522 mov r12d,DWORD[44+rsi]
523 mov r13d,ebx
524 mov r14d,r9d
525 bswap r12d
526 ror r13d,14
527 mov edi,ecx
528
529 xor r13d,ebx
530 ror r14d,9
531 xor edi,edx
532
533 mov DWORD[44+rsp],r12d
534 xor r14d,r9d
535 and edi,ebx
536
537 ror r13d,5
538 add r12d,r8d
539 xor edi,edx
540
541 ror r14d,11
542 xor r13d,ebx
543 add r12d,edi
544
545 mov edi,r9d
546 add r12d,DWORD[rbp]
547 xor r14d,r9d
548
549 xor edi,r10d
550 ror r13d,6
551 mov r8d,r10d
552
553 and r15d,edi
554 ror r14d,2
555 add r12d,r13d
556
557 xor r8d,r15d
558 add eax,r12d
559 add r8d,r12d
560
561 lea rbp,[20+rbp]
562 add r8d,r14d
563 mov r12d,DWORD[48+rsi]
564 mov r13d,eax
565 mov r14d,r8d
566 bswap r12d
567 ror r13d,14
568 mov r15d,ebx
569
570 xor r13d,eax
571 ror r14d,9
572 xor r15d,ecx
573
574 mov DWORD[48+rsp],r12d
575 xor r14d,r8d
576 and r15d,eax
577
578 ror r13d,5
579 add r12d,edx
580 xor r15d,ecx
581
582 ror r14d,11
583 xor r13d,eax
584 add r12d,r15d
585
586 mov r15d,r8d
587 add r12d,DWORD[rbp]
588 xor r14d,r8d
589
590 xor r15d,r9d
591 ror r13d,6
592 mov edx,r9d
593
594 and edi,r15d
595 ror r14d,2
596 add r12d,r13d
597
598 xor edx,edi
599 add r11d,r12d
600 add edx,r12d
601
602 lea rbp,[4+rbp]
603 add edx,r14d
604 mov r12d,DWORD[52+rsi]
605 mov r13d,r11d
606 mov r14d,edx
607 bswap r12d
608 ror r13d,14
609 mov edi,eax
610
611 xor r13d,r11d
612 ror r14d,9
613 xor edi,ebx
614
615 mov DWORD[52+rsp],r12d
616 xor r14d,edx
617 and edi,r11d
618
619 ror r13d,5
620 add r12d,ecx
621 xor edi,ebx
622
623 ror r14d,11
624 xor r13d,r11d
625 add r12d,edi
626
627 mov edi,edx
628 add r12d,DWORD[rbp]
629 xor r14d,edx
630
631 xor edi,r8d
632 ror r13d,6
633 mov ecx,r8d
634
635 and r15d,edi
636 ror r14d,2
637 add r12d,r13d
638
639 xor ecx,r15d
640 add r10d,r12d
641 add ecx,r12d
642
643 lea rbp,[4+rbp]
644 add ecx,r14d
645 mov r12d,DWORD[56+rsi]
646 mov r13d,r10d
647 mov r14d,ecx
648 bswap r12d
649 ror r13d,14
650 mov r15d,r11d
651
652 xor r13d,r10d
653 ror r14d,9
654 xor r15d,eax
655
656 mov DWORD[56+rsp],r12d
657 xor r14d,ecx
658 and r15d,r10d
659
660 ror r13d,5
661 add r12d,ebx
662 xor r15d,eax
663
664 ror r14d,11
665 xor r13d,r10d
666 add r12d,r15d
667
668 mov r15d,ecx
669 add r12d,DWORD[rbp]
670 xor r14d,ecx
671
672 xor r15d,edx
673 ror r13d,6
674 mov ebx,edx
675
676 and edi,r15d
677 ror r14d,2
678 add r12d,r13d
679
680 xor ebx,edi
681 add r9d,r12d
682 add ebx,r12d
683
684 lea rbp,[4+rbp]
685 add ebx,r14d
686 mov r12d,DWORD[60+rsi]
687 mov r13d,r9d
688 mov r14d,ebx
689 bswap r12d
690 ror r13d,14
691 mov edi,r10d
692
693 xor r13d,r9d
694 ror r14d,9
695 xor edi,r11d
696
697 mov DWORD[60+rsp],r12d
698 xor r14d,ebx
699 and edi,r9d
700
701 ror r13d,5
702 add r12d,eax
703 xor edi,r11d
704
705 ror r14d,11
706 xor r13d,r9d
707 add r12d,edi
708
709 mov edi,ebx
710 add r12d,DWORD[rbp]
711 xor r14d,ebx
712
713 xor edi,ecx
714 ror r13d,6
715 mov eax,ecx
716
717 and r15d,edi
718 ror r14d,2
719 add r12d,r13d
720
721 xor eax,r15d
722 add r8d,r12d
723 add eax,r12d
724
725 lea rbp,[20+rbp]
726 jmp NEAR $L$rounds_16_xx
727ALIGN 16
728$L$rounds_16_xx:
729 mov r13d,DWORD[4+rsp]
730 mov r15d,DWORD[56+rsp]
731
732 mov r12d,r13d
733 ror r13d,11
734 add eax,r14d
735 mov r14d,r15d
736 ror r15d,2
737
738 xor r13d,r12d
739 shr r12d,3
740 ror r13d,7
741 xor r15d,r14d
742 shr r14d,10
743
744 ror r15d,17
745 xor r12d,r13d
746 xor r15d,r14d
747 add r12d,DWORD[36+rsp]
748
749 add r12d,DWORD[rsp]
750 mov r13d,r8d
751 add r12d,r15d
752 mov r14d,eax
753 ror r13d,14
754 mov r15d,r9d
755
756 xor r13d,r8d
757 ror r14d,9
758 xor r15d,r10d
759
760 mov DWORD[rsp],r12d
761 xor r14d,eax
762 and r15d,r8d
763
764 ror r13d,5
765 add r12d,r11d
766 xor r15d,r10d
767
768 ror r14d,11
769 xor r13d,r8d
770 add r12d,r15d
771
772 mov r15d,eax
773 add r12d,DWORD[rbp]
774 xor r14d,eax
775
776 xor r15d,ebx
777 ror r13d,6
778 mov r11d,ebx
779
780 and edi,r15d
781 ror r14d,2
782 add r12d,r13d
783
784 xor r11d,edi
785 add edx,r12d
786 add r11d,r12d
787
788 lea rbp,[4+rbp]
789 mov r13d,DWORD[8+rsp]
790 mov edi,DWORD[60+rsp]
791
792 mov r12d,r13d
793 ror r13d,11
794 add r11d,r14d
795 mov r14d,edi
796 ror edi,2
797
798 xor r13d,r12d
799 shr r12d,3
800 ror r13d,7
801 xor edi,r14d
802 shr r14d,10
803
804 ror edi,17
805 xor r12d,r13d
806 xor edi,r14d
807 add r12d,DWORD[40+rsp]
808
809 add r12d,DWORD[4+rsp]
810 mov r13d,edx
811 add r12d,edi
812 mov r14d,r11d
813 ror r13d,14
814 mov edi,r8d
815
816 xor r13d,edx
817 ror r14d,9
818 xor edi,r9d
819
820 mov DWORD[4+rsp],r12d
821 xor r14d,r11d
822 and edi,edx
823
824 ror r13d,5
825 add r12d,r10d
826 xor edi,r9d
827
828 ror r14d,11
829 xor r13d,edx
830 add r12d,edi
831
832 mov edi,r11d
833 add r12d,DWORD[rbp]
834 xor r14d,r11d
835
836 xor edi,eax
837 ror r13d,6
838 mov r10d,eax
839
840 and r15d,edi
841 ror r14d,2
842 add r12d,r13d
843
844 xor r10d,r15d
845 add ecx,r12d
846 add r10d,r12d
847
848 lea rbp,[4+rbp]
849 mov r13d,DWORD[12+rsp]
850 mov r15d,DWORD[rsp]
851
852 mov r12d,r13d
853 ror r13d,11
854 add r10d,r14d
855 mov r14d,r15d
856 ror r15d,2
857
858 xor r13d,r12d
859 shr r12d,3
860 ror r13d,7
861 xor r15d,r14d
862 shr r14d,10
863
864 ror r15d,17
865 xor r12d,r13d
866 xor r15d,r14d
867 add r12d,DWORD[44+rsp]
868
869 add r12d,DWORD[8+rsp]
870 mov r13d,ecx
871 add r12d,r15d
872 mov r14d,r10d
873 ror r13d,14
874 mov r15d,edx
875
876 xor r13d,ecx
877 ror r14d,9
878 xor r15d,r8d
879
880 mov DWORD[8+rsp],r12d
881 xor r14d,r10d
882 and r15d,ecx
883
884 ror r13d,5
885 add r12d,r9d
886 xor r15d,r8d
887
888 ror r14d,11
889 xor r13d,ecx
890 add r12d,r15d
891
892 mov r15d,r10d
893 add r12d,DWORD[rbp]
894 xor r14d,r10d
895
896 xor r15d,r11d
897 ror r13d,6
898 mov r9d,r11d
899
900 and edi,r15d
901 ror r14d,2
902 add r12d,r13d
903
904 xor r9d,edi
905 add ebx,r12d
906 add r9d,r12d
907
908 lea rbp,[4+rbp]
909 mov r13d,DWORD[16+rsp]
910 mov edi,DWORD[4+rsp]
911
912 mov r12d,r13d
913 ror r13d,11
914 add r9d,r14d
915 mov r14d,edi
916 ror edi,2
917
918 xor r13d,r12d
919 shr r12d,3
920 ror r13d,7
921 xor edi,r14d
922 shr r14d,10
923
924 ror edi,17
925 xor r12d,r13d
926 xor edi,r14d
927 add r12d,DWORD[48+rsp]
928
929 add r12d,DWORD[12+rsp]
930 mov r13d,ebx
931 add r12d,edi
932 mov r14d,r9d
933 ror r13d,14
934 mov edi,ecx
935
936 xor r13d,ebx
937 ror r14d,9
938 xor edi,edx
939
940 mov DWORD[12+rsp],r12d
941 xor r14d,r9d
942 and edi,ebx
943
944 ror r13d,5
945 add r12d,r8d
946 xor edi,edx
947
948 ror r14d,11
949 xor r13d,ebx
950 add r12d,edi
951
952 mov edi,r9d
953 add r12d,DWORD[rbp]
954 xor r14d,r9d
955
956 xor edi,r10d
957 ror r13d,6
958 mov r8d,r10d
959
960 and r15d,edi
961 ror r14d,2
962 add r12d,r13d
963
964 xor r8d,r15d
965 add eax,r12d
966 add r8d,r12d
967
968 lea rbp,[20+rbp]
969 mov r13d,DWORD[20+rsp]
970 mov r15d,DWORD[8+rsp]
971
972 mov r12d,r13d
973 ror r13d,11
974 add r8d,r14d
975 mov r14d,r15d
976 ror r15d,2
977
978 xor r13d,r12d
979 shr r12d,3
980 ror r13d,7
981 xor r15d,r14d
982 shr r14d,10
983
984 ror r15d,17
985 xor r12d,r13d
986 xor r15d,r14d
987 add r12d,DWORD[52+rsp]
988
989 add r12d,DWORD[16+rsp]
990 mov r13d,eax
991 add r12d,r15d
992 mov r14d,r8d
993 ror r13d,14
994 mov r15d,ebx
995
996 xor r13d,eax
997 ror r14d,9
998 xor r15d,ecx
999
1000 mov DWORD[16+rsp],r12d
1001 xor r14d,r8d
1002 and r15d,eax
1003
1004 ror r13d,5
1005 add r12d,edx
1006 xor r15d,ecx
1007
1008 ror r14d,11
1009 xor r13d,eax
1010 add r12d,r15d
1011
1012 mov r15d,r8d
1013 add r12d,DWORD[rbp]
1014 xor r14d,r8d
1015
1016 xor r15d,r9d
1017 ror r13d,6
1018 mov edx,r9d
1019
1020 and edi,r15d
1021 ror r14d,2
1022 add r12d,r13d
1023
1024 xor edx,edi
1025 add r11d,r12d
1026 add edx,r12d
1027
1028 lea rbp,[4+rbp]
1029 mov r13d,DWORD[24+rsp]
1030 mov edi,DWORD[12+rsp]
1031
1032 mov r12d,r13d
1033 ror r13d,11
1034 add edx,r14d
1035 mov r14d,edi
1036 ror edi,2
1037
1038 xor r13d,r12d
1039 shr r12d,3
1040 ror r13d,7
1041 xor edi,r14d
1042 shr r14d,10
1043
1044 ror edi,17
1045 xor r12d,r13d
1046 xor edi,r14d
1047 add r12d,DWORD[56+rsp]
1048
1049 add r12d,DWORD[20+rsp]
1050 mov r13d,r11d
1051 add r12d,edi
1052 mov r14d,edx
1053 ror r13d,14
1054 mov edi,eax
1055
1056 xor r13d,r11d
1057 ror r14d,9
1058 xor edi,ebx
1059
1060 mov DWORD[20+rsp],r12d
1061 xor r14d,edx
1062 and edi,r11d
1063
1064 ror r13d,5
1065 add r12d,ecx
1066 xor edi,ebx
1067
1068 ror r14d,11
1069 xor r13d,r11d
1070 add r12d,edi
1071
1072 mov edi,edx
1073 add r12d,DWORD[rbp]
1074 xor r14d,edx
1075
1076 xor edi,r8d
1077 ror r13d,6
1078 mov ecx,r8d
1079
1080 and r15d,edi
1081 ror r14d,2
1082 add r12d,r13d
1083
1084 xor ecx,r15d
1085 add r10d,r12d
1086 add ecx,r12d
1087
1088 lea rbp,[4+rbp]
1089 mov r13d,DWORD[28+rsp]
1090 mov r15d,DWORD[16+rsp]
1091
1092 mov r12d,r13d
1093 ror r13d,11
1094 add ecx,r14d
1095 mov r14d,r15d
1096 ror r15d,2
1097
1098 xor r13d,r12d
1099 shr r12d,3
1100 ror r13d,7
1101 xor r15d,r14d
1102 shr r14d,10
1103
1104 ror r15d,17
1105 xor r12d,r13d
1106 xor r15d,r14d
1107 add r12d,DWORD[60+rsp]
1108
1109 add r12d,DWORD[24+rsp]
1110 mov r13d,r10d
1111 add r12d,r15d
1112 mov r14d,ecx
1113 ror r13d,14
1114 mov r15d,r11d
1115
1116 xor r13d,r10d
1117 ror r14d,9
1118 xor r15d,eax
1119
1120 mov DWORD[24+rsp],r12d
1121 xor r14d,ecx
1122 and r15d,r10d
1123
1124 ror r13d,5
1125 add r12d,ebx
1126 xor r15d,eax
1127
1128 ror r14d,11
1129 xor r13d,r10d
1130 add r12d,r15d
1131
1132 mov r15d,ecx
1133 add r12d,DWORD[rbp]
1134 xor r14d,ecx
1135
1136 xor r15d,edx
1137 ror r13d,6
1138 mov ebx,edx
1139
1140 and edi,r15d
1141 ror r14d,2
1142 add r12d,r13d
1143
1144 xor ebx,edi
1145 add r9d,r12d
1146 add ebx,r12d
1147
1148 lea rbp,[4+rbp]
1149 mov r13d,DWORD[32+rsp]
1150 mov edi,DWORD[20+rsp]
1151
1152 mov r12d,r13d
1153 ror r13d,11
1154 add ebx,r14d
1155 mov r14d,edi
1156 ror edi,2
1157
1158 xor r13d,r12d
1159 shr r12d,3
1160 ror r13d,7
1161 xor edi,r14d
1162 shr r14d,10
1163
1164 ror edi,17
1165 xor r12d,r13d
1166 xor edi,r14d
1167 add r12d,DWORD[rsp]
1168
1169 add r12d,DWORD[28+rsp]
1170 mov r13d,r9d
1171 add r12d,edi
1172 mov r14d,ebx
1173 ror r13d,14
1174 mov edi,r10d
1175
1176 xor r13d,r9d
1177 ror r14d,9
1178 xor edi,r11d
1179
1180 mov DWORD[28+rsp],r12d
1181 xor r14d,ebx
1182 and edi,r9d
1183
1184 ror r13d,5
1185 add r12d,eax
1186 xor edi,r11d
1187
1188 ror r14d,11
1189 xor r13d,r9d
1190 add r12d,edi
1191
1192 mov edi,ebx
1193 add r12d,DWORD[rbp]
1194 xor r14d,ebx
1195
1196 xor edi,ecx
1197 ror r13d,6
1198 mov eax,ecx
1199
1200 and r15d,edi
1201 ror r14d,2
1202 add r12d,r13d
1203
1204 xor eax,r15d
1205 add r8d,r12d
1206 add eax,r12d
1207
1208 lea rbp,[20+rbp]
1209 mov r13d,DWORD[36+rsp]
1210 mov r15d,DWORD[24+rsp]
1211
1212 mov r12d,r13d
1213 ror r13d,11
1214 add eax,r14d
1215 mov r14d,r15d
1216 ror r15d,2
1217
1218 xor r13d,r12d
1219 shr r12d,3
1220 ror r13d,7
1221 xor r15d,r14d
1222 shr r14d,10
1223
1224 ror r15d,17
1225 xor r12d,r13d
1226 xor r15d,r14d
1227 add r12d,DWORD[4+rsp]
1228
1229 add r12d,DWORD[32+rsp]
1230 mov r13d,r8d
1231 add r12d,r15d
1232 mov r14d,eax
1233 ror r13d,14
1234 mov r15d,r9d
1235
1236 xor r13d,r8d
1237 ror r14d,9
1238 xor r15d,r10d
1239
1240 mov DWORD[32+rsp],r12d
1241 xor r14d,eax
1242 and r15d,r8d
1243
1244 ror r13d,5
1245 add r12d,r11d
1246 xor r15d,r10d
1247
1248 ror r14d,11
1249 xor r13d,r8d
1250 add r12d,r15d
1251
1252 mov r15d,eax
1253 add r12d,DWORD[rbp]
1254 xor r14d,eax
1255
1256 xor r15d,ebx
1257 ror r13d,6
1258 mov r11d,ebx
1259
1260 and edi,r15d
1261 ror r14d,2
1262 add r12d,r13d
1263
1264 xor r11d,edi
1265 add edx,r12d
1266 add r11d,r12d
1267
1268 lea rbp,[4+rbp]
1269 mov r13d,DWORD[40+rsp]
1270 mov edi,DWORD[28+rsp]
1271
1272 mov r12d,r13d
1273 ror r13d,11
1274 add r11d,r14d
1275 mov r14d,edi
1276 ror edi,2
1277
1278 xor r13d,r12d
1279 shr r12d,3
1280 ror r13d,7
1281 xor edi,r14d
1282 shr r14d,10
1283
1284 ror edi,17
1285 xor r12d,r13d
1286 xor edi,r14d
1287 add r12d,DWORD[8+rsp]
1288
1289 add r12d,DWORD[36+rsp]
1290 mov r13d,edx
1291 add r12d,edi
1292 mov r14d,r11d
1293 ror r13d,14
1294 mov edi,r8d
1295
1296 xor r13d,edx
1297 ror r14d,9
1298 xor edi,r9d
1299
1300 mov DWORD[36+rsp],r12d
1301 xor r14d,r11d
1302 and edi,edx
1303
1304 ror r13d,5
1305 add r12d,r10d
1306 xor edi,r9d
1307
1308 ror r14d,11
1309 xor r13d,edx
1310 add r12d,edi
1311
1312 mov edi,r11d
1313 add r12d,DWORD[rbp]
1314 xor r14d,r11d
1315
1316 xor edi,eax
1317 ror r13d,6
1318 mov r10d,eax
1319
1320 and r15d,edi
1321 ror r14d,2
1322 add r12d,r13d
1323
1324 xor r10d,r15d
1325 add ecx,r12d
1326 add r10d,r12d
1327
1328 lea rbp,[4+rbp]
1329 mov r13d,DWORD[44+rsp]
1330 mov r15d,DWORD[32+rsp]
1331
1332 mov r12d,r13d
1333 ror r13d,11
1334 add r10d,r14d
1335 mov r14d,r15d
1336 ror r15d,2
1337
1338 xor r13d,r12d
1339 shr r12d,3
1340 ror r13d,7
1341 xor r15d,r14d
1342 shr r14d,10
1343
1344 ror r15d,17
1345 xor r12d,r13d
1346 xor r15d,r14d
1347 add r12d,DWORD[12+rsp]
1348
1349 add r12d,DWORD[40+rsp]
1350 mov r13d,ecx
1351 add r12d,r15d
1352 mov r14d,r10d
1353 ror r13d,14
1354 mov r15d,edx
1355
1356 xor r13d,ecx
1357 ror r14d,9
1358 xor r15d,r8d
1359
1360 mov DWORD[40+rsp],r12d
1361 xor r14d,r10d
1362 and r15d,ecx
1363
1364 ror r13d,5
1365 add r12d,r9d
1366 xor r15d,r8d
1367
1368 ror r14d,11
1369 xor r13d,ecx
1370 add r12d,r15d
1371
1372 mov r15d,r10d
1373 add r12d,DWORD[rbp]
1374 xor r14d,r10d
1375
1376 xor r15d,r11d
1377 ror r13d,6
1378 mov r9d,r11d
1379
1380 and edi,r15d
1381 ror r14d,2
1382 add r12d,r13d
1383
1384 xor r9d,edi
1385 add ebx,r12d
1386 add r9d,r12d
1387
1388 lea rbp,[4+rbp]
1389 mov r13d,DWORD[48+rsp]
1390 mov edi,DWORD[36+rsp]
1391
1392 mov r12d,r13d
1393 ror r13d,11
1394 add r9d,r14d
1395 mov r14d,edi
1396 ror edi,2
1397
1398 xor r13d,r12d
1399 shr r12d,3
1400 ror r13d,7
1401 xor edi,r14d
1402 shr r14d,10
1403
1404 ror edi,17
1405 xor r12d,r13d
1406 xor edi,r14d
1407 add r12d,DWORD[16+rsp]
1408
1409 add r12d,DWORD[44+rsp]
1410 mov r13d,ebx
1411 add r12d,edi
1412 mov r14d,r9d
1413 ror r13d,14
1414 mov edi,ecx
1415
1416 xor r13d,ebx
1417 ror r14d,9
1418 xor edi,edx
1419
1420 mov DWORD[44+rsp],r12d
1421 xor r14d,r9d
1422 and edi,ebx
1423
1424 ror r13d,5
1425 add r12d,r8d
1426 xor edi,edx
1427
1428 ror r14d,11
1429 xor r13d,ebx
1430 add r12d,edi
1431
1432 mov edi,r9d
1433 add r12d,DWORD[rbp]
1434 xor r14d,r9d
1435
1436 xor edi,r10d
1437 ror r13d,6
1438 mov r8d,r10d
1439
1440 and r15d,edi
1441 ror r14d,2
1442 add r12d,r13d
1443
1444 xor r8d,r15d
1445 add eax,r12d
1446 add r8d,r12d
1447
1448 lea rbp,[20+rbp]
1449 mov r13d,DWORD[52+rsp]
1450 mov r15d,DWORD[40+rsp]
1451
1452 mov r12d,r13d
1453 ror r13d,11
1454 add r8d,r14d
1455 mov r14d,r15d
1456 ror r15d,2
1457
1458 xor r13d,r12d
1459 shr r12d,3
1460 ror r13d,7
1461 xor r15d,r14d
1462 shr r14d,10
1463
1464 ror r15d,17
1465 xor r12d,r13d
1466 xor r15d,r14d
1467 add r12d,DWORD[20+rsp]
1468
1469 add r12d,DWORD[48+rsp]
1470 mov r13d,eax
1471 add r12d,r15d
1472 mov r14d,r8d
1473 ror r13d,14
1474 mov r15d,ebx
1475
1476 xor r13d,eax
1477 ror r14d,9
1478 xor r15d,ecx
1479
1480 mov DWORD[48+rsp],r12d
1481 xor r14d,r8d
1482 and r15d,eax
1483
1484 ror r13d,5
1485 add r12d,edx
1486 xor r15d,ecx
1487
1488 ror r14d,11
1489 xor r13d,eax
1490 add r12d,r15d
1491
1492 mov r15d,r8d
1493 add r12d,DWORD[rbp]
1494 xor r14d,r8d
1495
1496 xor r15d,r9d
1497 ror r13d,6
1498 mov edx,r9d
1499
1500 and edi,r15d
1501 ror r14d,2
1502 add r12d,r13d
1503
1504 xor edx,edi
1505 add r11d,r12d
1506 add edx,r12d
1507
1508 lea rbp,[4+rbp]
1509 mov r13d,DWORD[56+rsp]
1510 mov edi,DWORD[44+rsp]
1511
1512 mov r12d,r13d
1513 ror r13d,11
1514 add edx,r14d
1515 mov r14d,edi
1516 ror edi,2
1517
1518 xor r13d,r12d
1519 shr r12d,3
1520 ror r13d,7
1521 xor edi,r14d
1522 shr r14d,10
1523
1524 ror edi,17
1525 xor r12d,r13d
1526 xor edi,r14d
1527 add r12d,DWORD[24+rsp]
1528
1529 add r12d,DWORD[52+rsp]
1530 mov r13d,r11d
1531 add r12d,edi
1532 mov r14d,edx
1533 ror r13d,14
1534 mov edi,eax
1535
1536 xor r13d,r11d
1537 ror r14d,9
1538 xor edi,ebx
1539
1540 mov DWORD[52+rsp],r12d
1541 xor r14d,edx
1542 and edi,r11d
1543
1544 ror r13d,5
1545 add r12d,ecx
1546 xor edi,ebx
1547
1548 ror r14d,11
1549 xor r13d,r11d
1550 add r12d,edi
1551
1552 mov edi,edx
1553 add r12d,DWORD[rbp]
1554 xor r14d,edx
1555
1556 xor edi,r8d
1557 ror r13d,6
1558 mov ecx,r8d
1559
1560 and r15d,edi
1561 ror r14d,2
1562 add r12d,r13d
1563
1564 xor ecx,r15d
1565 add r10d,r12d
1566 add ecx,r12d
1567
1568 lea rbp,[4+rbp]
1569 mov r13d,DWORD[60+rsp]
1570 mov r15d,DWORD[48+rsp]
1571
1572 mov r12d,r13d
1573 ror r13d,11
1574 add ecx,r14d
1575 mov r14d,r15d
1576 ror r15d,2
1577
1578 xor r13d,r12d
1579 shr r12d,3
1580 ror r13d,7
1581 xor r15d,r14d
1582 shr r14d,10
1583
1584 ror r15d,17
1585 xor r12d,r13d
1586 xor r15d,r14d
1587 add r12d,DWORD[28+rsp]
1588
1589 add r12d,DWORD[56+rsp]
1590 mov r13d,r10d
1591 add r12d,r15d
1592 mov r14d,ecx
1593 ror r13d,14
1594 mov r15d,r11d
1595
1596 xor r13d,r10d
1597 ror r14d,9
1598 xor r15d,eax
1599
1600 mov DWORD[56+rsp],r12d
1601 xor r14d,ecx
1602 and r15d,r10d
1603
1604 ror r13d,5
1605 add r12d,ebx
1606 xor r15d,eax
1607
1608 ror r14d,11
1609 xor r13d,r10d
1610 add r12d,r15d
1611
1612 mov r15d,ecx
1613 add r12d,DWORD[rbp]
1614 xor r14d,ecx
1615
1616 xor r15d,edx
1617 ror r13d,6
1618 mov ebx,edx
1619
1620 and edi,r15d
1621 ror r14d,2
1622 add r12d,r13d
1623
1624 xor ebx,edi
1625 add r9d,r12d
1626 add ebx,r12d
1627
1628 lea rbp,[4+rbp]
1629 mov r13d,DWORD[rsp]
1630 mov edi,DWORD[52+rsp]
1631
1632 mov r12d,r13d
1633 ror r13d,11
1634 add ebx,r14d
1635 mov r14d,edi
1636 ror edi,2
1637
1638 xor r13d,r12d
1639 shr r12d,3
1640 ror r13d,7
1641 xor edi,r14d
1642 shr r14d,10
1643
1644 ror edi,17
1645 xor r12d,r13d
1646 xor edi,r14d
1647 add r12d,DWORD[32+rsp]
1648
1649 add r12d,DWORD[60+rsp]
1650 mov r13d,r9d
1651 add r12d,edi
1652 mov r14d,ebx
1653 ror r13d,14
1654 mov edi,r10d
1655
1656 xor r13d,r9d
1657 ror r14d,9
1658 xor edi,r11d
1659
1660 mov DWORD[60+rsp],r12d
1661 xor r14d,ebx
1662 and edi,r9d
1663
1664 ror r13d,5
1665 add r12d,eax
1666 xor edi,r11d
1667
1668 ror r14d,11
1669 xor r13d,r9d
1670 add r12d,edi
1671
1672 mov edi,ebx
1673 add r12d,DWORD[rbp]
1674 xor r14d,ebx
1675
1676 xor edi,ecx
1677 ror r13d,6
1678 mov eax,ecx
1679
1680 and r15d,edi
1681 ror r14d,2
1682 add r12d,r13d
1683
1684 xor eax,r15d
1685 add r8d,r12d
1686 add eax,r12d
1687
1688 lea rbp,[20+rbp]
1689 cmp BYTE[3+rbp],0
1690 jnz NEAR $L$rounds_16_xx
1691
1692 mov rdi,QWORD[((64+0))+rsp]
1693 add eax,r14d
1694 lea rsi,[64+rsi]
1695
1696 add eax,DWORD[rdi]
1697 add ebx,DWORD[4+rdi]
1698 add ecx,DWORD[8+rdi]
1699 add edx,DWORD[12+rdi]
1700 add r8d,DWORD[16+rdi]
1701 add r9d,DWORD[20+rdi]
1702 add r10d,DWORD[24+rdi]
1703 add r11d,DWORD[28+rdi]
1704
1705 cmp rsi,QWORD[((64+16))+rsp]
1706
1707 mov DWORD[rdi],eax
1708 mov DWORD[4+rdi],ebx
1709 mov DWORD[8+rdi],ecx
1710 mov DWORD[12+rdi],edx
1711 mov DWORD[16+rdi],r8d
1712 mov DWORD[20+rdi],r9d
1713 mov DWORD[24+rdi],r10d
1714 mov DWORD[28+rdi],r11d
1715 jb NEAR $L$loop
1716
1717 mov rsi,QWORD[88+rsp]
1718
1719 mov r15,QWORD[((-48))+rsi]
1720
1721 mov r14,QWORD[((-40))+rsi]
1722
1723 mov r13,QWORD[((-32))+rsi]
1724
1725 mov r12,QWORD[((-24))+rsi]
1726
1727 mov rbp,QWORD[((-16))+rsi]
1728
1729 mov rbx,QWORD[((-8))+rsi]
1730
1731 lea rsp,[rsi]
1732
1733$L$epilogue:
1734 mov rdi,QWORD[8+rsp] ;WIN64 epilogue
1735 mov rsi,QWORD[16+rsp]
1736 DB 0F3h,0C3h ;repret
1737
1738$L$SEH_end_sha256_block_data_order:
1739ALIGN 64
1740
1741K256:
1742 DD 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1743 DD 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1744 DD 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1745 DD 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1746 DD 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1747 DD 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1748 DD 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1749 DD 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1750 DD 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1751 DD 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1752 DD 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1753 DD 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1754 DD 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1755 DD 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1756 DD 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1757 DD 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1758 DD 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1759 DD 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1760 DD 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1761 DD 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1762 DD 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1763 DD 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1764 DD 0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1765 DD 0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1766 DD 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1767 DD 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1768 DD 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1769 DD 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1770 DD 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1771 DD 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1772 DD 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1773 DD 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1774
1775 DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1776 DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1777 DD 0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1778 DD 0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1779 DD 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1780 DD 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1781DB 83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
1782DB 110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54
1783DB 52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121
1784DB 32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46
1785DB 111,114,103,62,0
1786
1787ALIGN 64
1788sha256_block_data_order_shaext:
1789 mov QWORD[8+rsp],rdi ;WIN64 prologue
1790 mov QWORD[16+rsp],rsi
1791 mov rax,rsp
1792$L$SEH_begin_sha256_block_data_order_shaext:
1793 mov rdi,rcx
1794 mov rsi,rdx
1795 mov rdx,r8
1796
1797
1798_shaext_shortcut:
1799 lea rsp,[((-88))+rsp]
1800 movaps XMMWORD[(-8-80)+rax],xmm6
1801 movaps XMMWORD[(-8-64)+rax],xmm7
1802 movaps XMMWORD[(-8-48)+rax],xmm8
1803 movaps XMMWORD[(-8-32)+rax],xmm9
1804 movaps XMMWORD[(-8-16)+rax],xmm10
1805$L$prologue_shaext:
1806 lea rcx,[((K256+128))]
1807 movdqu xmm1,XMMWORD[rdi]
1808 movdqu xmm2,XMMWORD[16+rdi]
1809 movdqa xmm7,XMMWORD[((512-128))+rcx]
1810
1811 pshufd xmm0,xmm1,0x1b
1812 pshufd xmm1,xmm1,0xb1
1813 pshufd xmm2,xmm2,0x1b
1814 movdqa xmm8,xmm7
1815DB 102,15,58,15,202,8
1816 punpcklqdq xmm2,xmm0
1817 jmp NEAR $L$oop_shaext
1818
1819ALIGN 16
1820$L$oop_shaext:
1821 movdqu xmm3,XMMWORD[rsi]
1822 movdqu xmm4,XMMWORD[16+rsi]
1823 movdqu xmm5,XMMWORD[32+rsi]
1824DB 102,15,56,0,223
1825 movdqu xmm6,XMMWORD[48+rsi]
1826
1827 movdqa xmm0,XMMWORD[((0-128))+rcx]
1828 paddd xmm0,xmm3
1829DB 102,15,56,0,231
1830 movdqa xmm10,xmm2
1831DB 15,56,203,209
1832 pshufd xmm0,xmm0,0x0e
1833 nop
1834 movdqa xmm9,xmm1
1835DB 15,56,203,202
1836
1837 movdqa xmm0,XMMWORD[((32-128))+rcx]
1838 paddd xmm0,xmm4
1839DB 102,15,56,0,239
1840DB 15,56,203,209
1841 pshufd xmm0,xmm0,0x0e
1842 lea rsi,[64+rsi]
1843DB 15,56,204,220
1844DB 15,56,203,202
1845
1846 movdqa xmm0,XMMWORD[((64-128))+rcx]
1847 paddd xmm0,xmm5
1848DB 102,15,56,0,247
1849DB 15,56,203,209
1850 pshufd xmm0,xmm0,0x0e
1851 movdqa xmm7,xmm6
1852DB 102,15,58,15,253,4
1853 nop
1854 paddd xmm3,xmm7
1855DB 15,56,204,229
1856DB 15,56,203,202
1857
1858 movdqa xmm0,XMMWORD[((96-128))+rcx]
1859 paddd xmm0,xmm6
1860DB 15,56,205,222
1861DB 15,56,203,209
1862 pshufd xmm0,xmm0,0x0e
1863 movdqa xmm7,xmm3
1864DB 102,15,58,15,254,4
1865 nop
1866 paddd xmm4,xmm7
1867DB 15,56,204,238
1868DB 15,56,203,202
1869 movdqa xmm0,XMMWORD[((128-128))+rcx]
1870 paddd xmm0,xmm3
1871DB 15,56,205,227
1872DB 15,56,203,209
1873 pshufd xmm0,xmm0,0x0e
1874 movdqa xmm7,xmm4
1875DB 102,15,58,15,251,4
1876 nop
1877 paddd xmm5,xmm7
1878DB 15,56,204,243
1879DB 15,56,203,202
1880 movdqa xmm0,XMMWORD[((160-128))+rcx]
1881 paddd xmm0,xmm4
1882DB 15,56,205,236
1883DB 15,56,203,209
1884 pshufd xmm0,xmm0,0x0e
1885 movdqa xmm7,xmm5
1886DB 102,15,58,15,252,4
1887 nop
1888 paddd xmm6,xmm7
1889DB 15,56,204,220
1890DB 15,56,203,202
1891 movdqa xmm0,XMMWORD[((192-128))+rcx]
1892 paddd xmm0,xmm5
1893DB 15,56,205,245
1894DB 15,56,203,209
1895 pshufd xmm0,xmm0,0x0e
1896 movdqa xmm7,xmm6
1897DB 102,15,58,15,253,4
1898 nop
1899 paddd xmm3,xmm7
1900DB 15,56,204,229
1901DB 15,56,203,202
1902 movdqa xmm0,XMMWORD[((224-128))+rcx]
1903 paddd xmm0,xmm6
1904DB 15,56,205,222
1905DB 15,56,203,209
1906 pshufd xmm0,xmm0,0x0e
1907 movdqa xmm7,xmm3
1908DB 102,15,58,15,254,4
1909 nop
1910 paddd xmm4,xmm7
1911DB 15,56,204,238
1912DB 15,56,203,202
1913 movdqa xmm0,XMMWORD[((256-128))+rcx]
1914 paddd xmm0,xmm3
1915DB 15,56,205,227
1916DB 15,56,203,209
1917 pshufd xmm0,xmm0,0x0e
1918 movdqa xmm7,xmm4
1919DB 102,15,58,15,251,4
1920 nop
1921 paddd xmm5,xmm7
1922DB 15,56,204,243
1923DB 15,56,203,202
1924 movdqa xmm0,XMMWORD[((288-128))+rcx]
1925 paddd xmm0,xmm4
1926DB 15,56,205,236
1927DB 15,56,203,209
1928 pshufd xmm0,xmm0,0x0e
1929 movdqa xmm7,xmm5
1930DB 102,15,58,15,252,4
1931 nop
1932 paddd xmm6,xmm7
1933DB 15,56,204,220
1934DB 15,56,203,202
1935 movdqa xmm0,XMMWORD[((320-128))+rcx]
1936 paddd xmm0,xmm5
1937DB 15,56,205,245
1938DB 15,56,203,209
1939 pshufd xmm0,xmm0,0x0e
1940 movdqa xmm7,xmm6
1941DB 102,15,58,15,253,4
1942 nop
1943 paddd xmm3,xmm7
1944DB 15,56,204,229
1945DB 15,56,203,202
1946 movdqa xmm0,XMMWORD[((352-128))+rcx]
1947 paddd xmm0,xmm6
1948DB 15,56,205,222
1949DB 15,56,203,209
1950 pshufd xmm0,xmm0,0x0e
1951 movdqa xmm7,xmm3
1952DB 102,15,58,15,254,4
1953 nop
1954 paddd xmm4,xmm7
1955DB 15,56,204,238
1956DB 15,56,203,202
1957 movdqa xmm0,XMMWORD[((384-128))+rcx]
1958 paddd xmm0,xmm3
1959DB 15,56,205,227
1960DB 15,56,203,209
1961 pshufd xmm0,xmm0,0x0e
1962 movdqa xmm7,xmm4
1963DB 102,15,58,15,251,4
1964 nop
1965 paddd xmm5,xmm7
1966DB 15,56,204,243
1967DB 15,56,203,202
1968 movdqa xmm0,XMMWORD[((416-128))+rcx]
1969 paddd xmm0,xmm4
1970DB 15,56,205,236
1971DB 15,56,203,209
1972 pshufd xmm0,xmm0,0x0e
1973 movdqa xmm7,xmm5
1974DB 102,15,58,15,252,4
1975DB 15,56,203,202
1976 paddd xmm6,xmm7
1977
1978 movdqa xmm0,XMMWORD[((448-128))+rcx]
1979 paddd xmm0,xmm5
1980DB 15,56,203,209
1981 pshufd xmm0,xmm0,0x0e
1982DB 15,56,205,245
1983 movdqa xmm7,xmm8
1984DB 15,56,203,202
1985
1986 movdqa xmm0,XMMWORD[((480-128))+rcx]
1987 paddd xmm0,xmm6
1988 nop
1989DB 15,56,203,209
1990 pshufd xmm0,xmm0,0x0e
1991 dec rdx
1992 nop
1993DB 15,56,203,202
1994
1995 paddd xmm2,xmm10
1996 paddd xmm1,xmm9
1997 jnz NEAR $L$oop_shaext
1998
1999 pshufd xmm2,xmm2,0xb1
2000 pshufd xmm7,xmm1,0x1b
2001 pshufd xmm1,xmm1,0xb1
2002 punpckhqdq xmm1,xmm2
2003DB 102,15,58,15,215,8
2004
2005 movdqu XMMWORD[rdi],xmm1
2006 movdqu XMMWORD[16+rdi],xmm2
2007 movaps xmm6,XMMWORD[((-8-80))+rax]
2008 movaps xmm7,XMMWORD[((-8-64))+rax]
2009 movaps xmm8,XMMWORD[((-8-48))+rax]
2010 movaps xmm9,XMMWORD[((-8-32))+rax]
2011 movaps xmm10,XMMWORD[((-8-16))+rax]
2012 mov rsp,rax
2013$L$epilogue_shaext:
2014 mov rdi,QWORD[8+rsp] ;WIN64 epilogue
2015 mov rsi,QWORD[16+rsp]
2016 DB 0F3h,0C3h ;repret
2017$L$SEH_end_sha256_block_data_order_shaext:
2018
2019ALIGN 64
2020sha256_block_data_order_ssse3:
2021 mov QWORD[8+rsp],rdi ;WIN64 prologue
2022 mov QWORD[16+rsp],rsi
2023 mov rax,rsp
2024$L$SEH_begin_sha256_block_data_order_ssse3:
2025 mov rdi,rcx
2026 mov rsi,rdx
2027 mov rdx,r8
2028
2029
2030
2031$L$ssse3_shortcut:
2032 mov rax,rsp
2033
2034 push rbx
2035
2036 push rbp
2037
2038 push r12
2039
2040 push r13
2041
2042 push r14
2043
2044 push r15
2045
2046 shl rdx,4
2047 sub rsp,160
2048 lea rdx,[rdx*4+rsi]
2049 and rsp,-64
2050 mov QWORD[((64+0))+rsp],rdi
2051 mov QWORD[((64+8))+rsp],rsi
2052 mov QWORD[((64+16))+rsp],rdx
2053 mov QWORD[88+rsp],rax
2054
2055 movaps XMMWORD[(64+32)+rsp],xmm6
2056 movaps XMMWORD[(64+48)+rsp],xmm7
2057 movaps XMMWORD[(64+64)+rsp],xmm8
2058 movaps XMMWORD[(64+80)+rsp],xmm9
2059$L$prologue_ssse3:
2060
2061 mov eax,DWORD[rdi]
2062 mov ebx,DWORD[4+rdi]
2063 mov ecx,DWORD[8+rdi]
2064 mov edx,DWORD[12+rdi]
2065 mov r8d,DWORD[16+rdi]
2066 mov r9d,DWORD[20+rdi]
2067 mov r10d,DWORD[24+rdi]
2068 mov r11d,DWORD[28+rdi]
2069
2070
2071 jmp NEAR $L$loop_ssse3
2072ALIGN 16
2073$L$loop_ssse3:
2074 movdqa xmm7,XMMWORD[((K256+512))]
2075 movdqu xmm0,XMMWORD[rsi]
2076 movdqu xmm1,XMMWORD[16+rsi]
2077 movdqu xmm2,XMMWORD[32+rsi]
2078DB 102,15,56,0,199
2079 movdqu xmm3,XMMWORD[48+rsi]
2080 lea rbp,[K256]
2081DB 102,15,56,0,207
2082 movdqa xmm4,XMMWORD[rbp]
2083 movdqa xmm5,XMMWORD[32+rbp]
2084DB 102,15,56,0,215
2085 paddd xmm4,xmm0
2086 movdqa xmm6,XMMWORD[64+rbp]
2087DB 102,15,56,0,223
2088 movdqa xmm7,XMMWORD[96+rbp]
2089 paddd xmm5,xmm1
2090 paddd xmm6,xmm2
2091 paddd xmm7,xmm3
2092 movdqa XMMWORD[rsp],xmm4
2093 mov r14d,eax
2094 movdqa XMMWORD[16+rsp],xmm5
2095 mov edi,ebx
2096 movdqa XMMWORD[32+rsp],xmm6
2097 xor edi,ecx
2098 movdqa XMMWORD[48+rsp],xmm7
2099 mov r13d,r8d
2100 jmp NEAR $L$ssse3_00_47
2101
2102ALIGN 16
2103$L$ssse3_00_47:
2104 sub rbp,-128
2105 ror r13d,14
2106 movdqa xmm4,xmm1
2107 mov eax,r14d
2108 mov r12d,r9d
2109 movdqa xmm7,xmm3
2110 ror r14d,9
2111 xor r13d,r8d
2112 xor r12d,r10d
2113 ror r13d,5
2114 xor r14d,eax
2115DB 102,15,58,15,224,4
2116 and r12d,r8d
2117 xor r13d,r8d
2118DB 102,15,58,15,250,4
2119 add r11d,DWORD[rsp]
2120 mov r15d,eax
2121 xor r12d,r10d
2122 ror r14d,11
2123 movdqa xmm5,xmm4
2124 xor r15d,ebx
2125 add r11d,r12d
2126 movdqa xmm6,xmm4
2127 ror r13d,6
2128 and edi,r15d
2129 psrld xmm4,3
2130 xor r14d,eax
2131 add r11d,r13d
2132 xor edi,ebx
2133 paddd xmm0,xmm7
2134 ror r14d,2
2135 add edx,r11d
2136 psrld xmm6,7
2137 add r11d,edi
2138 mov r13d,edx
2139 pshufd xmm7,xmm3,250
2140 add r14d,r11d
2141 ror r13d,14
2142 pslld xmm5,14
2143 mov r11d,r14d
2144 mov r12d,r8d
2145 pxor xmm4,xmm6
2146 ror r14d,9
2147 xor r13d,edx
2148 xor r12d,r9d
2149 ror r13d,5
2150 psrld xmm6,11
2151 xor r14d,r11d
2152 pxor xmm4,xmm5
2153 and r12d,edx
2154 xor r13d,edx
2155 pslld xmm5,11
2156 add r10d,DWORD[4+rsp]
2157 mov edi,r11d
2158 pxor xmm4,xmm6
2159 xor r12d,r9d
2160 ror r14d,11
2161 movdqa xmm6,xmm7
2162 xor edi,eax
2163 add r10d,r12d
2164 pxor xmm4,xmm5
2165 ror r13d,6
2166 and r15d,edi
2167 xor r14d,r11d
2168 psrld xmm7,10
2169 add r10d,r13d
2170 xor r15d,eax
2171 paddd xmm0,xmm4
2172 ror r14d,2
2173 add ecx,r10d
2174 psrlq xmm6,17
2175 add r10d,r15d
2176 mov r13d,ecx
2177 add r14d,r10d
2178 pxor xmm7,xmm6
2179 ror r13d,14
2180 mov r10d,r14d
2181 mov r12d,edx
2182 ror r14d,9
2183 psrlq xmm6,2
2184 xor r13d,ecx
2185 xor r12d,r8d
2186 pxor xmm7,xmm6
2187 ror r13d,5
2188 xor r14d,r10d
2189 and r12d,ecx
2190 pshufd xmm7,xmm7,128
2191 xor r13d,ecx
2192 add r9d,DWORD[8+rsp]
2193 mov r15d,r10d
2194 psrldq xmm7,8
2195 xor r12d,r8d
2196 ror r14d,11
2197 xor r15d,r11d
2198 add r9d,r12d
2199 ror r13d,6
2200 paddd xmm0,xmm7
2201 and edi,r15d
2202 xor r14d,r10d
2203 add r9d,r13d
2204 pshufd xmm7,xmm0,80
2205 xor edi,r11d
2206 ror r14d,2
2207 add ebx,r9d
2208 movdqa xmm6,xmm7
2209 add r9d,edi
2210 mov r13d,ebx
2211 psrld xmm7,10
2212 add r14d,r9d
2213 ror r13d,14
2214 psrlq xmm6,17
2215 mov r9d,r14d
2216 mov r12d,ecx
2217 pxor xmm7,xmm6
2218 ror r14d,9
2219 xor r13d,ebx
2220 xor r12d,edx
2221 ror r13d,5
2222 xor r14d,r9d
2223 psrlq xmm6,2
2224 and r12d,ebx
2225 xor r13d,ebx
2226 add r8d,DWORD[12+rsp]
2227 pxor xmm7,xmm6
2228 mov edi,r9d
2229 xor r12d,edx
2230 ror r14d,11
2231 pshufd xmm7,xmm7,8
2232 xor edi,r10d
2233 add r8d,r12d
2234 movdqa xmm6,XMMWORD[rbp]
2235 ror r13d,6
2236 and r15d,edi
2237 pslldq xmm7,8
2238 xor r14d,r9d
2239 add r8d,r13d
2240 xor r15d,r10d
2241 paddd xmm0,xmm7
2242 ror r14d,2
2243 add eax,r8d
2244 add r8d,r15d
2245 paddd xmm6,xmm0
2246 mov r13d,eax
2247 add r14d,r8d
2248 movdqa XMMWORD[rsp],xmm6
2249 ror r13d,14
2250 movdqa xmm4,xmm2
2251 mov r8d,r14d
2252 mov r12d,ebx
2253 movdqa xmm7,xmm0
2254 ror r14d,9
2255 xor r13d,eax
2256 xor r12d,ecx
2257 ror r13d,5
2258 xor r14d,r8d
2259DB 102,15,58,15,225,4
2260 and r12d,eax
2261 xor r13d,eax
2262DB 102,15,58,15,251,4
2263 add edx,DWORD[16+rsp]
2264 mov r15d,r8d
2265 xor r12d,ecx
2266 ror r14d,11
2267 movdqa xmm5,xmm4
2268 xor r15d,r9d
2269 add edx,r12d
2270 movdqa xmm6,xmm4
2271 ror r13d,6
2272 and edi,r15d
2273 psrld xmm4,3
2274 xor r14d,r8d
2275 add edx,r13d
2276 xor edi,r9d
2277 paddd xmm1,xmm7
2278 ror r14d,2
2279 add r11d,edx
2280 psrld xmm6,7
2281 add edx,edi
2282 mov r13d,r11d
2283 pshufd xmm7,xmm0,250
2284 add r14d,edx
2285 ror r13d,14
2286 pslld xmm5,14
2287 mov edx,r14d
2288 mov r12d,eax
2289 pxor xmm4,xmm6
2290 ror r14d,9
2291 xor r13d,r11d
2292 xor r12d,ebx
2293 ror r13d,5
2294 psrld xmm6,11
2295 xor r14d,edx
2296 pxor xmm4,xmm5
2297 and r12d,r11d
2298 xor r13d,r11d
2299 pslld xmm5,11
2300 add ecx,DWORD[20+rsp]
2301 mov edi,edx
2302 pxor xmm4,xmm6
2303 xor r12d,ebx
2304 ror r14d,11
2305 movdqa xmm6,xmm7
2306 xor edi,r8d
2307 add ecx,r12d
2308 pxor xmm4,xmm5
2309 ror r13d,6
2310 and r15d,edi
2311 xor r14d,edx
2312 psrld xmm7,10
2313 add ecx,r13d
2314 xor r15d,r8d
2315 paddd xmm1,xmm4
2316 ror r14d,2
2317 add r10d,ecx
2318 psrlq xmm6,17
2319 add ecx,r15d
2320 mov r13d,r10d
2321 add r14d,ecx
2322 pxor xmm7,xmm6
2323 ror r13d,14
2324 mov ecx,r14d
2325 mov r12d,r11d
2326 ror r14d,9
2327 psrlq xmm6,2
2328 xor r13d,r10d
2329 xor r12d,eax
2330 pxor xmm7,xmm6
2331 ror r13d,5
2332 xor r14d,ecx
2333 and r12d,r10d
2334 pshufd xmm7,xmm7,128
2335 xor r13d,r10d
2336 add ebx,DWORD[24+rsp]
2337 mov r15d,ecx
2338 psrldq xmm7,8
2339 xor r12d,eax
2340 ror r14d,11
2341 xor r15d,edx
2342 add ebx,r12d
2343 ror r13d,6
2344 paddd xmm1,xmm7
2345 and edi,r15d
2346 xor r14d,ecx
2347 add ebx,r13d
2348 pshufd xmm7,xmm1,80
2349 xor edi,edx
2350 ror r14d,2
2351 add r9d,ebx
2352 movdqa xmm6,xmm7
2353 add ebx,edi
2354 mov r13d,r9d
2355 psrld xmm7,10
2356 add r14d,ebx
2357 ror r13d,14
2358 psrlq xmm6,17
2359 mov ebx,r14d
2360 mov r12d,r10d
2361 pxor xmm7,xmm6
2362 ror r14d,9
2363 xor r13d,r9d
2364 xor r12d,r11d
2365 ror r13d,5
2366 xor r14d,ebx
2367 psrlq xmm6,2
2368 and r12d,r9d
2369 xor r13d,r9d
2370 add eax,DWORD[28+rsp]
2371 pxor xmm7,xmm6
2372 mov edi,ebx
2373 xor r12d,r11d
2374 ror r14d,11
2375 pshufd xmm7,xmm7,8
2376 xor edi,ecx
2377 add eax,r12d
2378 movdqa xmm6,XMMWORD[32+rbp]
2379 ror r13d,6
2380 and r15d,edi
2381 pslldq xmm7,8
2382 xor r14d,ebx
2383 add eax,r13d
2384 xor r15d,ecx
2385 paddd xmm1,xmm7
2386 ror r14d,2
2387 add r8d,eax
2388 add eax,r15d
2389 paddd xmm6,xmm1
2390 mov r13d,r8d
2391 add r14d,eax
2392 movdqa XMMWORD[16+rsp],xmm6
2393 ror r13d,14
2394 movdqa xmm4,xmm3
2395 mov eax,r14d
2396 mov r12d,r9d
2397 movdqa xmm7,xmm1
2398 ror r14d,9
2399 xor r13d,r8d
2400 xor r12d,r10d
2401 ror r13d,5
2402 xor r14d,eax
2403DB 102,15,58,15,226,4
2404 and r12d,r8d
2405 xor r13d,r8d
2406DB 102,15,58,15,248,4
2407 add r11d,DWORD[32+rsp]
2408 mov r15d,eax
2409 xor r12d,r10d
2410 ror r14d,11
2411 movdqa xmm5,xmm4
2412 xor r15d,ebx
2413 add r11d,r12d
2414 movdqa xmm6,xmm4
2415 ror r13d,6
2416 and edi,r15d
2417 psrld xmm4,3
2418 xor r14d,eax
2419 add r11d,r13d
2420 xor edi,ebx
2421 paddd xmm2,xmm7
2422 ror r14d,2
2423 add edx,r11d
2424 psrld xmm6,7
2425 add r11d,edi
2426 mov r13d,edx
2427 pshufd xmm7,xmm1,250
2428 add r14d,r11d
2429 ror r13d,14
2430 pslld xmm5,14
2431 mov r11d,r14d
2432 mov r12d,r8d
2433 pxor xmm4,xmm6
2434 ror r14d,9
2435 xor r13d,edx
2436 xor r12d,r9d
2437 ror r13d,5
2438 psrld xmm6,11
2439 xor r14d,r11d
2440 pxor xmm4,xmm5
2441 and r12d,edx
2442 xor r13d,edx
2443 pslld xmm5,11
2444 add r10d,DWORD[36+rsp]
2445 mov edi,r11d
2446 pxor xmm4,xmm6
2447 xor r12d,r9d
2448 ror r14d,11
2449 movdqa xmm6,xmm7
2450 xor edi,eax
2451 add r10d,r12d
2452 pxor xmm4,xmm5
2453 ror r13d,6
2454 and r15d,edi
2455 xor r14d,r11d
2456 psrld xmm7,10
2457 add r10d,r13d
2458 xor r15d,eax
2459 paddd xmm2,xmm4
2460 ror r14d,2
2461 add ecx,r10d
2462 psrlq xmm6,17
2463 add r10d,r15d
2464 mov r13d,ecx
2465 add r14d,r10d
2466 pxor xmm7,xmm6
2467 ror r13d,14
2468 mov r10d,r14d
2469 mov r12d,edx
2470 ror r14d,9
2471 psrlq xmm6,2
2472 xor r13d,ecx
2473 xor r12d,r8d
2474 pxor xmm7,xmm6
2475 ror r13d,5
2476 xor r14d,r10d
2477 and r12d,ecx
2478 pshufd xmm7,xmm7,128
2479 xor r13d,ecx
2480 add r9d,DWORD[40+rsp]
2481 mov r15d,r10d
2482 psrldq xmm7,8
2483 xor r12d,r8d
2484 ror r14d,11
2485 xor r15d,r11d
2486 add r9d,r12d
2487 ror r13d,6
2488 paddd xmm2,xmm7
2489 and edi,r15d
2490 xor r14d,r10d
2491 add r9d,r13d
2492 pshufd xmm7,xmm2,80
2493 xor edi,r11d
2494 ror r14d,2
2495 add ebx,r9d
2496 movdqa xmm6,xmm7
2497 add r9d,edi
2498 mov r13d,ebx
2499 psrld xmm7,10
2500 add r14d,r9d
2501 ror r13d,14
2502 psrlq xmm6,17
2503 mov r9d,r14d
2504 mov r12d,ecx
2505 pxor xmm7,xmm6
2506 ror r14d,9
2507 xor r13d,ebx
2508 xor r12d,edx
2509 ror r13d,5
2510 xor r14d,r9d
2511 psrlq xmm6,2
2512 and r12d,ebx
2513 xor r13d,ebx
2514 add r8d,DWORD[44+rsp]
2515 pxor xmm7,xmm6
2516 mov edi,r9d
2517 xor r12d,edx
2518 ror r14d,11
2519 pshufd xmm7,xmm7,8
2520 xor edi,r10d
2521 add r8d,r12d
2522 movdqa xmm6,XMMWORD[64+rbp]
2523 ror r13d,6
2524 and r15d,edi
2525 pslldq xmm7,8
2526 xor r14d,r9d
2527 add r8d,r13d
2528 xor r15d,r10d
2529 paddd xmm2,xmm7
2530 ror r14d,2
2531 add eax,r8d
2532 add r8d,r15d
2533 paddd xmm6,xmm2
2534 mov r13d,eax
2535 add r14d,r8d
2536 movdqa XMMWORD[32+rsp],xmm6
2537 ror r13d,14
2538 movdqa xmm4,xmm0
2539 mov r8d,r14d
2540 mov r12d,ebx
2541 movdqa xmm7,xmm2
2542 ror r14d,9
2543 xor r13d,eax
2544 xor r12d,ecx
2545 ror r13d,5
2546 xor r14d,r8d
2547DB 102,15,58,15,227,4
2548 and r12d,eax
2549 xor r13d,eax
2550DB 102,15,58,15,249,4
2551 add edx,DWORD[48+rsp]
2552 mov r15d,r8d
2553 xor r12d,ecx
2554 ror r14d,11
2555 movdqa xmm5,xmm4
2556 xor r15d,r9d
2557 add edx,r12d
2558 movdqa xmm6,xmm4
2559 ror r13d,6
2560 and edi,r15d
2561 psrld xmm4,3
2562 xor r14d,r8d
2563 add edx,r13d
2564 xor edi,r9d
2565 paddd xmm3,xmm7
2566 ror r14d,2
2567 add r11d,edx
2568 psrld xmm6,7
2569 add edx,edi
2570 mov r13d,r11d
2571 pshufd xmm7,xmm2,250
2572 add r14d,edx
2573 ror r13d,14
2574 pslld xmm5,14
2575 mov edx,r14d
2576 mov r12d,eax
2577 pxor xmm4,xmm6
2578 ror r14d,9
2579 xor r13d,r11d
2580 xor r12d,ebx
2581 ror r13d,5
2582 psrld xmm6,11
2583 xor r14d,edx
2584 pxor xmm4,xmm5
2585 and r12d,r11d
2586 xor r13d,r11d
2587 pslld xmm5,11
2588 add ecx,DWORD[52+rsp]
2589 mov edi,edx
2590 pxor xmm4,xmm6
2591 xor r12d,ebx
2592 ror r14d,11
2593 movdqa xmm6,xmm7
2594 xor edi,r8d
2595 add ecx,r12d
2596 pxor xmm4,xmm5
2597 ror r13d,6
2598 and r15d,edi
2599 xor r14d,edx
2600 psrld xmm7,10
2601 add ecx,r13d
2602 xor r15d,r8d
2603 paddd xmm3,xmm4
2604 ror r14d,2
2605 add r10d,ecx
2606 psrlq xmm6,17
2607 add ecx,r15d
2608 mov r13d,r10d
2609 add r14d,ecx
2610 pxor xmm7,xmm6
2611 ror r13d,14
2612 mov ecx,r14d
2613 mov r12d,r11d
2614 ror r14d,9
2615 psrlq xmm6,2
2616 xor r13d,r10d
2617 xor r12d,eax
2618 pxor xmm7,xmm6
2619 ror r13d,5
2620 xor r14d,ecx
2621 and r12d,r10d
2622 pshufd xmm7,xmm7,128
2623 xor r13d,r10d
2624 add ebx,DWORD[56+rsp]
2625 mov r15d,ecx
2626 psrldq xmm7,8
2627 xor r12d,eax
2628 ror r14d,11
2629 xor r15d,edx
2630 add ebx,r12d
2631 ror r13d,6
2632 paddd xmm3,xmm7
2633 and edi,r15d
2634 xor r14d,ecx
2635 add ebx,r13d
2636 pshufd xmm7,xmm3,80
2637 xor edi,edx
2638 ror r14d,2
2639 add r9d,ebx
2640 movdqa xmm6,xmm7
2641 add ebx,edi
2642 mov r13d,r9d
2643 psrld xmm7,10
2644 add r14d,ebx
2645 ror r13d,14
2646 psrlq xmm6,17
2647 mov ebx,r14d
2648 mov r12d,r10d
2649 pxor xmm7,xmm6
2650 ror r14d,9
2651 xor r13d,r9d
2652 xor r12d,r11d
2653 ror r13d,5
2654 xor r14d,ebx
2655 psrlq xmm6,2
2656 and r12d,r9d
2657 xor r13d,r9d
2658 add eax,DWORD[60+rsp]
2659 pxor xmm7,xmm6
2660 mov edi,ebx
2661 xor r12d,r11d
2662 ror r14d,11
2663 pshufd xmm7,xmm7,8
2664 xor edi,ecx
2665 add eax,r12d
2666 movdqa xmm6,XMMWORD[96+rbp]
2667 ror r13d,6
2668 and r15d,edi
2669 pslldq xmm7,8
2670 xor r14d,ebx
2671 add eax,r13d
2672 xor r15d,ecx
2673 paddd xmm3,xmm7
2674 ror r14d,2
2675 add r8d,eax
2676 add eax,r15d
2677 paddd xmm6,xmm3
2678 mov r13d,r8d
2679 add r14d,eax
2680 movdqa XMMWORD[48+rsp],xmm6
2681 cmp BYTE[131+rbp],0
2682 jne NEAR $L$ssse3_00_47
2683 ror r13d,14
2684 mov eax,r14d
2685 mov r12d,r9d
2686 ror r14d,9
2687 xor r13d,r8d
2688 xor r12d,r10d
2689 ror r13d,5
2690 xor r14d,eax
2691 and r12d,r8d
2692 xor r13d,r8d
2693 add r11d,DWORD[rsp]
2694 mov r15d,eax
2695 xor r12d,r10d
2696 ror r14d,11
2697 xor r15d,ebx
2698 add r11d,r12d
2699 ror r13d,6
2700 and edi,r15d
2701 xor r14d,eax
2702 add r11d,r13d
2703 xor edi,ebx
2704 ror r14d,2
2705 add edx,r11d
2706 add r11d,edi
2707 mov r13d,edx
2708 add r14d,r11d
2709 ror r13d,14
2710 mov r11d,r14d
2711 mov r12d,r8d
2712 ror r14d,9
2713 xor r13d,edx
2714 xor r12d,r9d
2715 ror r13d,5
2716 xor r14d,r11d
2717 and r12d,edx
2718 xor r13d,edx
2719 add r10d,DWORD[4+rsp]
2720 mov edi,r11d
2721 xor r12d,r9d
2722 ror r14d,11
2723 xor edi,eax
2724 add r10d,r12d
2725 ror r13d,6
2726 and r15d,edi
2727 xor r14d,r11d
2728 add r10d,r13d
2729 xor r15d,eax
2730 ror r14d,2
2731 add ecx,r10d
2732 add r10d,r15d
2733 mov r13d,ecx
2734 add r14d,r10d
2735 ror r13d,14
2736 mov r10d,r14d
2737 mov r12d,edx
2738 ror r14d,9
2739 xor r13d,ecx
2740 xor r12d,r8d
2741 ror r13d,5
2742 xor r14d,r10d
2743 and r12d,ecx
2744 xor r13d,ecx
2745 add r9d,DWORD[8+rsp]
2746 mov r15d,r10d
2747 xor r12d,r8d
2748 ror r14d,11
2749 xor r15d,r11d
2750 add r9d,r12d
2751 ror r13d,6
2752 and edi,r15d
2753 xor r14d,r10d
2754 add r9d,r13d
2755 xor edi,r11d
2756 ror r14d,2
2757 add ebx,r9d
2758 add r9d,edi
2759 mov r13d,ebx
2760 add r14d,r9d
2761 ror r13d,14
2762 mov r9d,r14d
2763 mov r12d,ecx
2764 ror r14d,9
2765 xor r13d,ebx
2766 xor r12d,edx
2767 ror r13d,5
2768 xor r14d,r9d
2769 and r12d,ebx
2770 xor r13d,ebx
2771 add r8d,DWORD[12+rsp]
2772 mov edi,r9d
2773 xor r12d,edx
2774 ror r14d,11
2775 xor edi,r10d
2776 add r8d,r12d
2777 ror r13d,6
2778 and r15d,edi
2779 xor r14d,r9d
2780 add r8d,r13d
2781 xor r15d,r10d
2782 ror r14d,2
2783 add eax,r8d
2784 add r8d,r15d
2785 mov r13d,eax
2786 add r14d,r8d
2787 ror r13d,14
2788 mov r8d,r14d
2789 mov r12d,ebx
2790 ror r14d,9
2791 xor r13d,eax
2792 xor r12d,ecx
2793 ror r13d,5
2794 xor r14d,r8d
2795 and r12d,eax
2796 xor r13d,eax
2797 add edx,DWORD[16+rsp]
2798 mov r15d,r8d
2799 xor r12d,ecx
2800 ror r14d,11
2801 xor r15d,r9d
2802 add edx,r12d
2803 ror r13d,6
2804 and edi,r15d
2805 xor r14d,r8d
2806 add edx,r13d
2807 xor edi,r9d
2808 ror r14d,2
2809 add r11d,edx
2810 add edx,edi
2811 mov r13d,r11d
2812 add r14d,edx
2813 ror r13d,14
2814 mov edx,r14d
2815 mov r12d,eax
2816 ror r14d,9
2817 xor r13d,r11d
2818 xor r12d,ebx
2819 ror r13d,5
2820 xor r14d,edx
2821 and r12d,r11d
2822 xor r13d,r11d
2823 add ecx,DWORD[20+rsp]
2824 mov edi,edx
2825 xor r12d,ebx
2826 ror r14d,11
2827 xor edi,r8d
2828 add ecx,r12d
2829 ror r13d,6
2830 and r15d,edi
2831 xor r14d,edx
2832 add ecx,r13d
2833 xor r15d,r8d
2834 ror r14d,2
2835 add r10d,ecx
2836 add ecx,r15d
2837 mov r13d,r10d
2838 add r14d,ecx
2839 ror r13d,14
2840 mov ecx,r14d
2841 mov r12d,r11d
2842 ror r14d,9
2843 xor r13d,r10d
2844 xor r12d,eax
2845 ror r13d,5
2846 xor r14d,ecx
2847 and r12d,r10d
2848 xor r13d,r10d
2849 add ebx,DWORD[24+rsp]
2850 mov r15d,ecx
2851 xor r12d,eax
2852 ror r14d,11
2853 xor r15d,edx
2854 add ebx,r12d
2855 ror r13d,6
2856 and edi,r15d
2857 xor r14d,ecx
2858 add ebx,r13d
2859 xor edi,edx
2860 ror r14d,2
2861 add r9d,ebx
2862 add ebx,edi
2863 mov r13d,r9d
2864 add r14d,ebx
2865 ror r13d,14
2866 mov ebx,r14d
2867 mov r12d,r10d
2868 ror r14d,9
2869 xor r13d,r9d
2870 xor r12d,r11d
2871 ror r13d,5
2872 xor r14d,ebx
2873 and r12d,r9d
2874 xor r13d,r9d
2875 add eax,DWORD[28+rsp]
2876 mov edi,ebx
2877 xor r12d,r11d
2878 ror r14d,11
2879 xor edi,ecx
2880 add eax,r12d
2881 ror r13d,6
2882 and r15d,edi
2883 xor r14d,ebx
2884 add eax,r13d
2885 xor r15d,ecx
2886 ror r14d,2
2887 add r8d,eax
2888 add eax,r15d
2889 mov r13d,r8d
2890 add r14d,eax
2891 ror r13d,14
2892 mov eax,r14d
2893 mov r12d,r9d
2894 ror r14d,9
2895 xor r13d,r8d
2896 xor r12d,r10d
2897 ror r13d,5
2898 xor r14d,eax
2899 and r12d,r8d
2900 xor r13d,r8d
2901 add r11d,DWORD[32+rsp]
2902 mov r15d,eax
2903 xor r12d,r10d
2904 ror r14d,11
2905 xor r15d,ebx
2906 add r11d,r12d
2907 ror r13d,6
2908 and edi,r15d
2909 xor r14d,eax
2910 add r11d,r13d
2911 xor edi,ebx
2912 ror r14d,2
2913 add edx,r11d
2914 add r11d,edi
2915 mov r13d,edx
2916 add r14d,r11d
2917 ror r13d,14
2918 mov r11d,r14d
2919 mov r12d,r8d
2920 ror r14d,9
2921 xor r13d,edx
2922 xor r12d,r9d
2923 ror r13d,5
2924 xor r14d,r11d
2925 and r12d,edx
2926 xor r13d,edx
2927 add r10d,DWORD[36+rsp]
2928 mov edi,r11d
2929 xor r12d,r9d
2930 ror r14d,11
2931 xor edi,eax
2932 add r10d,r12d
2933 ror r13d,6
2934 and r15d,edi
2935 xor r14d,r11d
2936 add r10d,r13d
2937 xor r15d,eax
2938 ror r14d,2
2939 add ecx,r10d
2940 add r10d,r15d
2941 mov r13d,ecx
2942 add r14d,r10d
2943 ror r13d,14
2944 mov r10d,r14d
2945 mov r12d,edx
2946 ror r14d,9
2947 xor r13d,ecx
2948 xor r12d,r8d
2949 ror r13d,5
2950 xor r14d,r10d
2951 and r12d,ecx
2952 xor r13d,ecx
2953 add r9d,DWORD[40+rsp]
2954 mov r15d,r10d
2955 xor r12d,r8d
2956 ror r14d,11
2957 xor r15d,r11d
2958 add r9d,r12d
2959 ror r13d,6
2960 and edi,r15d
2961 xor r14d,r10d
2962 add r9d,r13d
2963 xor edi,r11d
2964 ror r14d,2
2965 add ebx,r9d
2966 add r9d,edi
2967 mov r13d,ebx
2968 add r14d,r9d
2969 ror r13d,14
2970 mov r9d,r14d
2971 mov r12d,ecx
2972 ror r14d,9
2973 xor r13d,ebx
2974 xor r12d,edx
2975 ror r13d,5
2976 xor r14d,r9d
2977 and r12d,ebx
2978 xor r13d,ebx
2979 add r8d,DWORD[44+rsp]
2980 mov edi,r9d
2981 xor r12d,edx
2982 ror r14d,11
2983 xor edi,r10d
2984 add r8d,r12d
2985 ror r13d,6
2986 and r15d,edi
2987 xor r14d,r9d
2988 add r8d,r13d
2989 xor r15d,r10d
2990 ror r14d,2
2991 add eax,r8d
2992 add r8d,r15d
2993 mov r13d,eax
2994 add r14d,r8d
2995 ror r13d,14
2996 mov r8d,r14d
2997 mov r12d,ebx
2998 ror r14d,9
2999 xor r13d,eax
3000 xor r12d,ecx
3001 ror r13d,5
3002 xor r14d,r8d
3003 and r12d,eax
3004 xor r13d,eax
3005 add edx,DWORD[48+rsp]
3006 mov r15d,r8d
3007 xor r12d,ecx
3008 ror r14d,11
3009 xor r15d,r9d
3010 add edx,r12d
3011 ror r13d,6
3012 and edi,r15d
3013 xor r14d,r8d
3014 add edx,r13d
3015 xor edi,r9d
3016 ror r14d,2
3017 add r11d,edx
3018 add edx,edi
3019 mov r13d,r11d
3020 add r14d,edx
3021 ror r13d,14
3022 mov edx,r14d
3023 mov r12d,eax
3024 ror r14d,9
3025 xor r13d,r11d
3026 xor r12d,ebx
3027 ror r13d,5
3028 xor r14d,edx
3029 and r12d,r11d
3030 xor r13d,r11d
3031 add ecx,DWORD[52+rsp]
3032 mov edi,edx
3033 xor r12d,ebx
3034 ror r14d,11
3035 xor edi,r8d
3036 add ecx,r12d
3037 ror r13d,6
3038 and r15d,edi
3039 xor r14d,edx
3040 add ecx,r13d
3041 xor r15d,r8d
3042 ror r14d,2
3043 add r10d,ecx
3044 add ecx,r15d
3045 mov r13d,r10d
3046 add r14d,ecx
3047 ror r13d,14
3048 mov ecx,r14d
3049 mov r12d,r11d
3050 ror r14d,9
3051 xor r13d,r10d
3052 xor r12d,eax
3053 ror r13d,5
3054 xor r14d,ecx
3055 and r12d,r10d
3056 xor r13d,r10d
3057 add ebx,DWORD[56+rsp]
3058 mov r15d,ecx
3059 xor r12d,eax
3060 ror r14d,11
3061 xor r15d,edx
3062 add ebx,r12d
3063 ror r13d,6
3064 and edi,r15d
3065 xor r14d,ecx
3066 add ebx,r13d
3067 xor edi,edx
3068 ror r14d,2
3069 add r9d,ebx
3070 add ebx,edi
3071 mov r13d,r9d
3072 add r14d,ebx
3073 ror r13d,14
3074 mov ebx,r14d
3075 mov r12d,r10d
3076 ror r14d,9
3077 xor r13d,r9d
3078 xor r12d,r11d
3079 ror r13d,5
3080 xor r14d,ebx
3081 and r12d,r9d
3082 xor r13d,r9d
3083 add eax,DWORD[60+rsp]
3084 mov edi,ebx
3085 xor r12d,r11d
3086 ror r14d,11
3087 xor edi,ecx
3088 add eax,r12d
3089 ror r13d,6
3090 and r15d,edi
3091 xor r14d,ebx
3092 add eax,r13d
3093 xor r15d,ecx
3094 ror r14d,2
3095 add r8d,eax
3096 add eax,r15d
3097 mov r13d,r8d
3098 add r14d,eax
3099 mov rdi,QWORD[((64+0))+rsp]
3100 mov eax,r14d
3101
3102 add eax,DWORD[rdi]
3103 lea rsi,[64+rsi]
3104 add ebx,DWORD[4+rdi]
3105 add ecx,DWORD[8+rdi]
3106 add edx,DWORD[12+rdi]
3107 add r8d,DWORD[16+rdi]
3108 add r9d,DWORD[20+rdi]
3109 add r10d,DWORD[24+rdi]
3110 add r11d,DWORD[28+rdi]
3111
3112 cmp rsi,QWORD[((64+16))+rsp]
3113
3114 mov DWORD[rdi],eax
3115 mov DWORD[4+rdi],ebx
3116 mov DWORD[8+rdi],ecx
3117 mov DWORD[12+rdi],edx
3118 mov DWORD[16+rdi],r8d
3119 mov DWORD[20+rdi],r9d
3120 mov DWORD[24+rdi],r10d
3121 mov DWORD[28+rdi],r11d
3122 jb NEAR $L$loop_ssse3
3123
3124 mov rsi,QWORD[88+rsp]
3125
3126 movaps xmm6,XMMWORD[((64+32))+rsp]
3127 movaps xmm7,XMMWORD[((64+48))+rsp]
3128 movaps xmm8,XMMWORD[((64+64))+rsp]
3129 movaps xmm9,XMMWORD[((64+80))+rsp]
3130 mov r15,QWORD[((-48))+rsi]
3131
3132 mov r14,QWORD[((-40))+rsi]
3133
3134 mov r13,QWORD[((-32))+rsi]
3135
3136 mov r12,QWORD[((-24))+rsi]
3137
3138 mov rbp,QWORD[((-16))+rsi]
3139
3140 mov rbx,QWORD[((-8))+rsi]
3141
3142 lea rsp,[rsi]
3143
3144$L$epilogue_ssse3:
3145 mov rdi,QWORD[8+rsp] ;WIN64 epilogue
3146 mov rsi,QWORD[16+rsp]
3147 DB 0F3h,0C3h ;repret
3148
3149$L$SEH_end_sha256_block_data_order_ssse3:
3150EXTERN __imp_RtlVirtualUnwind
3151
3152ALIGN 16
3153se_handler:
3154 push rsi
3155 push rdi
3156 push rbx
3157 push rbp
3158 push r12
3159 push r13
3160 push r14
3161 push r15
3162 pushfq
3163 sub rsp,64
3164
3165 mov rax,QWORD[120+r8]
3166 mov rbx,QWORD[248+r8]
3167
3168 mov rsi,QWORD[8+r9]
3169 mov r11,QWORD[56+r9]
3170
3171 mov r10d,DWORD[r11]
3172 lea r10,[r10*1+rsi]
3173 cmp rbx,r10
3174 jb NEAR $L$in_prologue
3175
3176 mov rax,QWORD[152+r8]
3177
3178 mov r10d,DWORD[4+r11]
3179 lea r10,[r10*1+rsi]
3180 cmp rbx,r10
3181 jae NEAR $L$in_prologue
3182 mov rsi,rax
3183 mov rax,QWORD[((64+24))+rax]
3184
3185 mov rbx,QWORD[((-8))+rax]
3186 mov rbp,QWORD[((-16))+rax]
3187 mov r12,QWORD[((-24))+rax]
3188 mov r13,QWORD[((-32))+rax]
3189 mov r14,QWORD[((-40))+rax]
3190 mov r15,QWORD[((-48))+rax]
3191 mov QWORD[144+r8],rbx
3192 mov QWORD[160+r8],rbp
3193 mov QWORD[216+r8],r12
3194 mov QWORD[224+r8],r13
3195 mov QWORD[232+r8],r14
3196 mov QWORD[240+r8],r15
3197
3198 lea r10,[$L$epilogue]
3199 cmp rbx,r10
3200 jb NEAR $L$in_prologue
3201
3202 lea rsi,[((64+32))+rsi]
3203 lea rdi,[512+r8]
3204 mov ecx,8
3205 DD 0xa548f3fc
3206
3207$L$in_prologue:
3208 mov rdi,QWORD[8+rax]
3209 mov rsi,QWORD[16+rax]
3210 mov QWORD[152+r8],rax
3211 mov QWORD[168+r8],rsi
3212 mov QWORD[176+r8],rdi
3213
3214 mov rdi,QWORD[40+r9]
3215 mov rsi,r8
3216 mov ecx,154
3217 DD 0xa548f3fc
3218
3219 mov rsi,r9
3220 xor rcx,rcx
3221 mov rdx,QWORD[8+rsi]
3222 mov r8,QWORD[rsi]
3223 mov r9,QWORD[16+rsi]
3224 mov r10,QWORD[40+rsi]
3225 lea r11,[56+rsi]
3226 lea r12,[24+rsi]
3227 mov QWORD[32+rsp],r10
3228 mov QWORD[40+rsp],r11
3229 mov QWORD[48+rsp],r12
3230 mov QWORD[56+rsp],rcx
3231 call QWORD[__imp_RtlVirtualUnwind]
3232
3233 mov eax,1
3234 add rsp,64
3235 popfq
3236 pop r15
3237 pop r14
3238 pop r13
3239 pop r12
3240 pop rbp
3241 pop rbx
3242 pop rdi
3243 pop rsi
3244 DB 0F3h,0C3h ;repret
3245
3246
3247ALIGN 16
3248shaext_handler:
3249 push rsi
3250 push rdi
3251 push rbx
3252 push rbp
3253 push r12
3254 push r13
3255 push r14
3256 push r15
3257 pushfq
3258 sub rsp,64
3259
3260 mov rax,QWORD[120+r8]
3261 mov rbx,QWORD[248+r8]
3262
3263 lea r10,[$L$prologue_shaext]
3264 cmp rbx,r10
3265 jb NEAR $L$in_prologue
3266
3267 lea r10,[$L$epilogue_shaext]
3268 cmp rbx,r10
3269 jae NEAR $L$in_prologue
3270
3271 lea rsi,[((-8-80))+rax]
3272 lea rdi,[512+r8]
3273 mov ecx,10
3274 DD 0xa548f3fc
3275
3276 jmp NEAR $L$in_prologue
3277
3278section .pdata rdata align=4
3279ALIGN 4
3280 DD $L$SEH_begin_sha256_block_data_order wrt ..imagebase
3281 DD $L$SEH_end_sha256_block_data_order wrt ..imagebase
3282 DD $L$SEH_info_sha256_block_data_order wrt ..imagebase
3283 DD $L$SEH_begin_sha256_block_data_order_shaext wrt ..imagebase
3284 DD $L$SEH_end_sha256_block_data_order_shaext wrt ..imagebase
3285 DD $L$SEH_info_sha256_block_data_order_shaext wrt ..imagebase
3286 DD $L$SEH_begin_sha256_block_data_order_ssse3 wrt ..imagebase
3287 DD $L$SEH_end_sha256_block_data_order_ssse3 wrt ..imagebase
3288 DD $L$SEH_info_sha256_block_data_order_ssse3 wrt ..imagebase
3289section .xdata rdata align=8
3290ALIGN 8
3291$L$SEH_info_sha256_block_data_order:
3292DB 9,0,0,0
3293 DD se_handler wrt ..imagebase
3294 DD $L$prologue wrt ..imagebase,$L$epilogue wrt ..imagebase
3295$L$SEH_info_sha256_block_data_order_shaext:
3296DB 9,0,0,0
3297 DD shaext_handler wrt ..imagebase
3298$L$SEH_info_sha256_block_data_order_ssse3:
3299DB 9,0,0,0
3300 DD se_handler wrt ..imagebase
3301 DD $L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..imagebase
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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