OLD | NEW |
1 default rel | 1 default rel |
2 %define XMMWORD | 2 %define XMMWORD |
3 %define YMMWORD | 3 %define YMMWORD |
4 %define ZMMWORD | 4 %define ZMMWORD |
5 section .text code align=64 | 5 section .text code align=64 |
6 | 6 |
7 EXTERN OPENSSL_ia32cap_P | 7 EXTERN OPENSSL_ia32cap_P |
8 | 8 |
9 global sha1_block_data_order | 9 global sha1_block_data_order |
10 | 10 |
11 ALIGN 16 | 11 ALIGN 16 |
12 sha1_block_data_order: | 12 sha1_block_data_order: |
13 mov QWORD[8+rsp],rdi ;WIN64 prologue | 13 mov QWORD[8+rsp],rdi ;WIN64 prologue |
14 mov QWORD[16+rsp],rsi | 14 mov QWORD[16+rsp],rsi |
15 mov rax,rsp | 15 mov rax,rsp |
16 $L$SEH_begin_sha1_block_data_order: | 16 $L$SEH_begin_sha1_block_data_order: |
17 mov rdi,rcx | 17 mov rdi,rcx |
18 mov rsi,rdx | 18 mov rsi,rdx |
19 mov rdx,r8 | 19 mov rdx,r8 |
20 | 20 |
21 | 21 |
22 mov r9d,DWORD[((OPENSSL_ia32cap_P+0))] | 22 mov r9d,DWORD[((OPENSSL_ia32cap_P+0))] |
23 mov r8d,DWORD[((OPENSSL_ia32cap_P+4))] | 23 mov r8d,DWORD[((OPENSSL_ia32cap_P+4))] |
24 mov r10d,DWORD[((OPENSSL_ia32cap_P+8))] | 24 mov r10d,DWORD[((OPENSSL_ia32cap_P+8))] |
25 test r8d,512 | 25 test r8d,512 |
26 jz NEAR $L$ialu | 26 jz NEAR $L$ialu |
27 and r8d,268435456 | |
28 and r9d,1073741824 | |
29 or r8d,r9d | |
30 cmp r8d,1342177280 | |
31 je NEAR _avx_shortcut | |
32 jmp NEAR _ssse3_shortcut | 27 jmp NEAR _ssse3_shortcut |
33 | 28 |
34 ALIGN 16 | 29 ALIGN 16 |
35 $L$ialu: | 30 $L$ialu: |
36 mov rax,rsp | 31 mov rax,rsp |
37 push rbx | 32 push rbx |
38 push rbp | 33 push rbp |
39 push r12 | 34 push r12 |
40 push r13 | 35 push r13 |
41 push r14 | 36 push r14 |
(...skipping 2401 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2443 mov r13,QWORD[((-32))+rsi] | 2438 mov r13,QWORD[((-32))+rsi] |
2444 mov r12,QWORD[((-24))+rsi] | 2439 mov r12,QWORD[((-24))+rsi] |
2445 mov rbp,QWORD[((-16))+rsi] | 2440 mov rbp,QWORD[((-16))+rsi] |
2446 mov rbx,QWORD[((-8))+rsi] | 2441 mov rbx,QWORD[((-8))+rsi] |
2447 lea rsp,[rsi] | 2442 lea rsp,[rsi] |
2448 $L$epilogue_ssse3: | 2443 $L$epilogue_ssse3: |
2449 mov rdi,QWORD[8+rsp] ;WIN64 epilogue | 2444 mov rdi,QWORD[8+rsp] ;WIN64 epilogue |
2450 mov rsi,QWORD[16+rsp] | 2445 mov rsi,QWORD[16+rsp] |
2451 DB 0F3h,0C3h ;repret | 2446 DB 0F3h,0C3h ;repret |
2452 $L$SEH_end_sha1_block_data_order_ssse3: | 2447 $L$SEH_end_sha1_block_data_order_ssse3: |
2453 | |
2454 ALIGN 16 | |
2455 sha1_block_data_order_avx: | |
2456 mov QWORD[8+rsp],rdi ;WIN64 prologue | |
2457 mov QWORD[16+rsp],rsi | |
2458 mov rax,rsp | |
2459 $L$SEH_begin_sha1_block_data_order_avx: | |
2460 mov rdi,rcx | |
2461 mov rsi,rdx | |
2462 mov rdx,r8 | |
2463 | |
2464 | |
2465 _avx_shortcut: | |
2466 mov rax,rsp | |
2467 push rbx | |
2468 push rbp | |
2469 push r12 | |
2470 push r13 | |
2471 push r14 | |
2472 lea rsp,[((-160))+rsp] | |
2473 vzeroupper | |
2474 vmovaps XMMWORD[(-40-96)+rax],xmm6 | |
2475 vmovaps XMMWORD[(-40-80)+rax],xmm7 | |
2476 vmovaps XMMWORD[(-40-64)+rax],xmm8 | |
2477 vmovaps XMMWORD[(-40-48)+rax],xmm9 | |
2478 vmovaps XMMWORD[(-40-32)+rax],xmm10 | |
2479 vmovaps XMMWORD[(-40-16)+rax],xmm11 | |
2480 $L$prologue_avx: | |
2481 mov r14,rax | |
2482 and rsp,-64 | |
2483 mov r8,rdi | |
2484 mov r9,rsi | |
2485 mov r10,rdx | |
2486 | |
2487 shl r10,6 | |
2488 add r10,r9 | |
2489 lea r11,[((K_XX_XX+64))] | |
2490 | |
2491 mov eax,DWORD[r8] | |
2492 mov ebx,DWORD[4+r8] | |
2493 mov ecx,DWORD[8+r8] | |
2494 mov edx,DWORD[12+r8] | |
2495 mov esi,ebx | |
2496 mov ebp,DWORD[16+r8] | |
2497 mov edi,ecx | |
2498 xor edi,edx | |
2499 and esi,edi | |
2500 | |
2501 vmovdqa xmm6,XMMWORD[64+r11] | |
2502 vmovdqa xmm11,XMMWORD[((-64))+r11] | |
2503 vmovdqu xmm0,XMMWORD[r9] | |
2504 vmovdqu xmm1,XMMWORD[16+r9] | |
2505 vmovdqu xmm2,XMMWORD[32+r9] | |
2506 vmovdqu xmm3,XMMWORD[48+r9] | |
2507 vpshufb xmm0,xmm0,xmm6 | |
2508 add r9,64 | |
2509 vpshufb xmm1,xmm1,xmm6 | |
2510 vpshufb xmm2,xmm2,xmm6 | |
2511 vpshufb xmm3,xmm3,xmm6 | |
2512 vpaddd xmm4,xmm0,xmm11 | |
2513 vpaddd xmm5,xmm1,xmm11 | |
2514 vpaddd xmm6,xmm2,xmm11 | |
2515 vmovdqa XMMWORD[rsp],xmm4 | |
2516 vmovdqa XMMWORD[16+rsp],xmm5 | |
2517 vmovdqa XMMWORD[32+rsp],xmm6 | |
2518 jmp NEAR $L$oop_avx | |
2519 ALIGN 16 | |
2520 $L$oop_avx: | |
2521 shrd ebx,ebx,2 | |
2522 xor esi,edx | |
2523 vpalignr xmm4,xmm1,xmm0,8 | |
2524 mov edi,eax | |
2525 add ebp,DWORD[rsp] | |
2526 vpaddd xmm9,xmm11,xmm3 | |
2527 xor ebx,ecx | |
2528 shld eax,eax,5 | |
2529 vpsrldq xmm8,xmm3,4 | |
2530 add ebp,esi | |
2531 and edi,ebx | |
2532 vpxor xmm4,xmm4,xmm0 | |
2533 xor ebx,ecx | |
2534 add ebp,eax | |
2535 vpxor xmm8,xmm8,xmm2 | |
2536 shrd eax,eax,7 | |
2537 xor edi,ecx | |
2538 mov esi,ebp | |
2539 add edx,DWORD[4+rsp] | |
2540 vpxor xmm4,xmm4,xmm8 | |
2541 xor eax,ebx | |
2542 shld ebp,ebp,5 | |
2543 vmovdqa XMMWORD[48+rsp],xmm9 | |
2544 add edx,edi | |
2545 and esi,eax | |
2546 vpsrld xmm8,xmm4,31 | |
2547 xor eax,ebx | |
2548 add edx,ebp | |
2549 shrd ebp,ebp,7 | |
2550 xor esi,ebx | |
2551 vpslldq xmm10,xmm4,12 | |
2552 vpaddd xmm4,xmm4,xmm4 | |
2553 mov edi,edx | |
2554 add ecx,DWORD[8+rsp] | |
2555 xor ebp,eax | |
2556 shld edx,edx,5 | |
2557 vpsrld xmm9,xmm10,30 | |
2558 vpor xmm4,xmm4,xmm8 | |
2559 add ecx,esi | |
2560 and edi,ebp | |
2561 xor ebp,eax | |
2562 add ecx,edx | |
2563 vpslld xmm10,xmm10,2 | |
2564 vpxor xmm4,xmm4,xmm9 | |
2565 shrd edx,edx,7 | |
2566 xor edi,eax | |
2567 mov esi,ecx | |
2568 add ebx,DWORD[12+rsp] | |
2569 vpxor xmm4,xmm4,xmm10 | |
2570 xor edx,ebp | |
2571 shld ecx,ecx,5 | |
2572 add ebx,edi | |
2573 and esi,edx | |
2574 xor edx,ebp | |
2575 add ebx,ecx | |
2576 shrd ecx,ecx,7 | |
2577 xor esi,ebp | |
2578 vpalignr xmm5,xmm2,xmm1,8 | |
2579 mov edi,ebx | |
2580 add eax,DWORD[16+rsp] | |
2581 vpaddd xmm9,xmm11,xmm4 | |
2582 xor ecx,edx | |
2583 shld ebx,ebx,5 | |
2584 vpsrldq xmm8,xmm4,4 | |
2585 add eax,esi | |
2586 and edi,ecx | |
2587 vpxor xmm5,xmm5,xmm1 | |
2588 xor ecx,edx | |
2589 add eax,ebx | |
2590 vpxor xmm8,xmm8,xmm3 | |
2591 shrd ebx,ebx,7 | |
2592 xor edi,edx | |
2593 mov esi,eax | |
2594 add ebp,DWORD[20+rsp] | |
2595 vpxor xmm5,xmm5,xmm8 | |
2596 xor ebx,ecx | |
2597 shld eax,eax,5 | |
2598 vmovdqa XMMWORD[rsp],xmm9 | |
2599 add ebp,edi | |
2600 and esi,ebx | |
2601 vpsrld xmm8,xmm5,31 | |
2602 xor ebx,ecx | |
2603 add ebp,eax | |
2604 shrd eax,eax,7 | |
2605 xor esi,ecx | |
2606 vpslldq xmm10,xmm5,12 | |
2607 vpaddd xmm5,xmm5,xmm5 | |
2608 mov edi,ebp | |
2609 add edx,DWORD[24+rsp] | |
2610 xor eax,ebx | |
2611 shld ebp,ebp,5 | |
2612 vpsrld xmm9,xmm10,30 | |
2613 vpor xmm5,xmm5,xmm8 | |
2614 add edx,esi | |
2615 and edi,eax | |
2616 xor eax,ebx | |
2617 add edx,ebp | |
2618 vpslld xmm10,xmm10,2 | |
2619 vpxor xmm5,xmm5,xmm9 | |
2620 shrd ebp,ebp,7 | |
2621 xor edi,ebx | |
2622 mov esi,edx | |
2623 add ecx,DWORD[28+rsp] | |
2624 vpxor xmm5,xmm5,xmm10 | |
2625 xor ebp,eax | |
2626 shld edx,edx,5 | |
2627 vmovdqa xmm11,XMMWORD[((-32))+r11] | |
2628 add ecx,edi | |
2629 and esi,ebp | |
2630 xor ebp,eax | |
2631 add ecx,edx | |
2632 shrd edx,edx,7 | |
2633 xor esi,eax | |
2634 vpalignr xmm6,xmm3,xmm2,8 | |
2635 mov edi,ecx | |
2636 add ebx,DWORD[32+rsp] | |
2637 vpaddd xmm9,xmm11,xmm5 | |
2638 xor edx,ebp | |
2639 shld ecx,ecx,5 | |
2640 vpsrldq xmm8,xmm5,4 | |
2641 add ebx,esi | |
2642 and edi,edx | |
2643 vpxor xmm6,xmm6,xmm2 | |
2644 xor edx,ebp | |
2645 add ebx,ecx | |
2646 vpxor xmm8,xmm8,xmm4 | |
2647 shrd ecx,ecx,7 | |
2648 xor edi,ebp | |
2649 mov esi,ebx | |
2650 add eax,DWORD[36+rsp] | |
2651 vpxor xmm6,xmm6,xmm8 | |
2652 xor ecx,edx | |
2653 shld ebx,ebx,5 | |
2654 vmovdqa XMMWORD[16+rsp],xmm9 | |
2655 add eax,edi | |
2656 and esi,ecx | |
2657 vpsrld xmm8,xmm6,31 | |
2658 xor ecx,edx | |
2659 add eax,ebx | |
2660 shrd ebx,ebx,7 | |
2661 xor esi,edx | |
2662 vpslldq xmm10,xmm6,12 | |
2663 vpaddd xmm6,xmm6,xmm6 | |
2664 mov edi,eax | |
2665 add ebp,DWORD[40+rsp] | |
2666 xor ebx,ecx | |
2667 shld eax,eax,5 | |
2668 vpsrld xmm9,xmm10,30 | |
2669 vpor xmm6,xmm6,xmm8 | |
2670 add ebp,esi | |
2671 and edi,ebx | |
2672 xor ebx,ecx | |
2673 add ebp,eax | |
2674 vpslld xmm10,xmm10,2 | |
2675 vpxor xmm6,xmm6,xmm9 | |
2676 shrd eax,eax,7 | |
2677 xor edi,ecx | |
2678 mov esi,ebp | |
2679 add edx,DWORD[44+rsp] | |
2680 vpxor xmm6,xmm6,xmm10 | |
2681 xor eax,ebx | |
2682 shld ebp,ebp,5 | |
2683 add edx,edi | |
2684 and esi,eax | |
2685 xor eax,ebx | |
2686 add edx,ebp | |
2687 shrd ebp,ebp,7 | |
2688 xor esi,ebx | |
2689 vpalignr xmm7,xmm4,xmm3,8 | |
2690 mov edi,edx | |
2691 add ecx,DWORD[48+rsp] | |
2692 vpaddd xmm9,xmm11,xmm6 | |
2693 xor ebp,eax | |
2694 shld edx,edx,5 | |
2695 vpsrldq xmm8,xmm6,4 | |
2696 add ecx,esi | |
2697 and edi,ebp | |
2698 vpxor xmm7,xmm7,xmm3 | |
2699 xor ebp,eax | |
2700 add ecx,edx | |
2701 vpxor xmm8,xmm8,xmm5 | |
2702 shrd edx,edx,7 | |
2703 xor edi,eax | |
2704 mov esi,ecx | |
2705 add ebx,DWORD[52+rsp] | |
2706 vpxor xmm7,xmm7,xmm8 | |
2707 xor edx,ebp | |
2708 shld ecx,ecx,5 | |
2709 vmovdqa XMMWORD[32+rsp],xmm9 | |
2710 add ebx,edi | |
2711 and esi,edx | |
2712 vpsrld xmm8,xmm7,31 | |
2713 xor edx,ebp | |
2714 add ebx,ecx | |
2715 shrd ecx,ecx,7 | |
2716 xor esi,ebp | |
2717 vpslldq xmm10,xmm7,12 | |
2718 vpaddd xmm7,xmm7,xmm7 | |
2719 mov edi,ebx | |
2720 add eax,DWORD[56+rsp] | |
2721 xor ecx,edx | |
2722 shld ebx,ebx,5 | |
2723 vpsrld xmm9,xmm10,30 | |
2724 vpor xmm7,xmm7,xmm8 | |
2725 add eax,esi | |
2726 and edi,ecx | |
2727 xor ecx,edx | |
2728 add eax,ebx | |
2729 vpslld xmm10,xmm10,2 | |
2730 vpxor xmm7,xmm7,xmm9 | |
2731 shrd ebx,ebx,7 | |
2732 xor edi,edx | |
2733 mov esi,eax | |
2734 add ebp,DWORD[60+rsp] | |
2735 vpxor xmm7,xmm7,xmm10 | |
2736 xor ebx,ecx | |
2737 shld eax,eax,5 | |
2738 add ebp,edi | |
2739 and esi,ebx | |
2740 xor ebx,ecx | |
2741 add ebp,eax | |
2742 vpalignr xmm8,xmm7,xmm6,8 | |
2743 vpxor xmm0,xmm0,xmm4 | |
2744 shrd eax,eax,7 | |
2745 xor esi,ecx | |
2746 mov edi,ebp | |
2747 add edx,DWORD[rsp] | |
2748 vpxor xmm0,xmm0,xmm1 | |
2749 xor eax,ebx | |
2750 shld ebp,ebp,5 | |
2751 vpaddd xmm9,xmm11,xmm7 | |
2752 add edx,esi | |
2753 and edi,eax | |
2754 vpxor xmm0,xmm0,xmm8 | |
2755 xor eax,ebx | |
2756 add edx,ebp | |
2757 shrd ebp,ebp,7 | |
2758 xor edi,ebx | |
2759 vpsrld xmm8,xmm0,30 | |
2760 vmovdqa XMMWORD[48+rsp],xmm9 | |
2761 mov esi,edx | |
2762 add ecx,DWORD[4+rsp] | |
2763 xor ebp,eax | |
2764 shld edx,edx,5 | |
2765 vpslld xmm0,xmm0,2 | |
2766 add ecx,edi | |
2767 and esi,ebp | |
2768 xor ebp,eax | |
2769 add ecx,edx | |
2770 shrd edx,edx,7 | |
2771 xor esi,eax | |
2772 mov edi,ecx | |
2773 add ebx,DWORD[8+rsp] | |
2774 vpor xmm0,xmm0,xmm8 | |
2775 xor edx,ebp | |
2776 shld ecx,ecx,5 | |
2777 add ebx,esi | |
2778 and edi,edx | |
2779 xor edx,ebp | |
2780 add ebx,ecx | |
2781 add eax,DWORD[12+rsp] | |
2782 xor edi,ebp | |
2783 mov esi,ebx | |
2784 shld ebx,ebx,5 | |
2785 add eax,edi | |
2786 xor esi,edx | |
2787 shrd ecx,ecx,7 | |
2788 add eax,ebx | |
2789 vpalignr xmm8,xmm0,xmm7,8 | |
2790 vpxor xmm1,xmm1,xmm5 | |
2791 add ebp,DWORD[16+rsp] | |
2792 xor esi,ecx | |
2793 mov edi,eax | |
2794 shld eax,eax,5 | |
2795 vpxor xmm1,xmm1,xmm2 | |
2796 add ebp,esi | |
2797 xor edi,ecx | |
2798 vpaddd xmm9,xmm11,xmm0 | |
2799 shrd ebx,ebx,7 | |
2800 add ebp,eax | |
2801 vpxor xmm1,xmm1,xmm8 | |
2802 add edx,DWORD[20+rsp] | |
2803 xor edi,ebx | |
2804 mov esi,ebp | |
2805 shld ebp,ebp,5 | |
2806 vpsrld xmm8,xmm1,30 | |
2807 vmovdqa XMMWORD[rsp],xmm9 | |
2808 add edx,edi | |
2809 xor esi,ebx | |
2810 shrd eax,eax,7 | |
2811 add edx,ebp | |
2812 vpslld xmm1,xmm1,2 | |
2813 add ecx,DWORD[24+rsp] | |
2814 xor esi,eax | |
2815 mov edi,edx | |
2816 shld edx,edx,5 | |
2817 add ecx,esi | |
2818 xor edi,eax | |
2819 shrd ebp,ebp,7 | |
2820 add ecx,edx | |
2821 vpor xmm1,xmm1,xmm8 | |
2822 add ebx,DWORD[28+rsp] | |
2823 xor edi,ebp | |
2824 mov esi,ecx | |
2825 shld ecx,ecx,5 | |
2826 add ebx,edi | |
2827 xor esi,ebp | |
2828 shrd edx,edx,7 | |
2829 add ebx,ecx | |
2830 vpalignr xmm8,xmm1,xmm0,8 | |
2831 vpxor xmm2,xmm2,xmm6 | |
2832 add eax,DWORD[32+rsp] | |
2833 xor esi,edx | |
2834 mov edi,ebx | |
2835 shld ebx,ebx,5 | |
2836 vpxor xmm2,xmm2,xmm3 | |
2837 add eax,esi | |
2838 xor edi,edx | |
2839 vpaddd xmm9,xmm11,xmm1 | |
2840 vmovdqa xmm11,XMMWORD[r11] | |
2841 shrd ecx,ecx,7 | |
2842 add eax,ebx | |
2843 vpxor xmm2,xmm2,xmm8 | |
2844 add ebp,DWORD[36+rsp] | |
2845 xor edi,ecx | |
2846 mov esi,eax | |
2847 shld eax,eax,5 | |
2848 vpsrld xmm8,xmm2,30 | |
2849 vmovdqa XMMWORD[16+rsp],xmm9 | |
2850 add ebp,edi | |
2851 xor esi,ecx | |
2852 shrd ebx,ebx,7 | |
2853 add ebp,eax | |
2854 vpslld xmm2,xmm2,2 | |
2855 add edx,DWORD[40+rsp] | |
2856 xor esi,ebx | |
2857 mov edi,ebp | |
2858 shld ebp,ebp,5 | |
2859 add edx,esi | |
2860 xor edi,ebx | |
2861 shrd eax,eax,7 | |
2862 add edx,ebp | |
2863 vpor xmm2,xmm2,xmm8 | |
2864 add ecx,DWORD[44+rsp] | |
2865 xor edi,eax | |
2866 mov esi,edx | |
2867 shld edx,edx,5 | |
2868 add ecx,edi | |
2869 xor esi,eax | |
2870 shrd ebp,ebp,7 | |
2871 add ecx,edx | |
2872 vpalignr xmm8,xmm2,xmm1,8 | |
2873 vpxor xmm3,xmm3,xmm7 | |
2874 add ebx,DWORD[48+rsp] | |
2875 xor esi,ebp | |
2876 mov edi,ecx | |
2877 shld ecx,ecx,5 | |
2878 vpxor xmm3,xmm3,xmm4 | |
2879 add ebx,esi | |
2880 xor edi,ebp | |
2881 vpaddd xmm9,xmm11,xmm2 | |
2882 shrd edx,edx,7 | |
2883 add ebx,ecx | |
2884 vpxor xmm3,xmm3,xmm8 | |
2885 add eax,DWORD[52+rsp] | |
2886 xor edi,edx | |
2887 mov esi,ebx | |
2888 shld ebx,ebx,5 | |
2889 vpsrld xmm8,xmm3,30 | |
2890 vmovdqa XMMWORD[32+rsp],xmm9 | |
2891 add eax,edi | |
2892 xor esi,edx | |
2893 shrd ecx,ecx,7 | |
2894 add eax,ebx | |
2895 vpslld xmm3,xmm3,2 | |
2896 add ebp,DWORD[56+rsp] | |
2897 xor esi,ecx | |
2898 mov edi,eax | |
2899 shld eax,eax,5 | |
2900 add ebp,esi | |
2901 xor edi,ecx | |
2902 shrd ebx,ebx,7 | |
2903 add ebp,eax | |
2904 vpor xmm3,xmm3,xmm8 | |
2905 add edx,DWORD[60+rsp] | |
2906 xor edi,ebx | |
2907 mov esi,ebp | |
2908 shld ebp,ebp,5 | |
2909 add edx,edi | |
2910 xor esi,ebx | |
2911 shrd eax,eax,7 | |
2912 add edx,ebp | |
2913 vpalignr xmm8,xmm3,xmm2,8 | |
2914 vpxor xmm4,xmm4,xmm0 | |
2915 add ecx,DWORD[rsp] | |
2916 xor esi,eax | |
2917 mov edi,edx | |
2918 shld edx,edx,5 | |
2919 vpxor xmm4,xmm4,xmm5 | |
2920 add ecx,esi | |
2921 xor edi,eax | |
2922 vpaddd xmm9,xmm11,xmm3 | |
2923 shrd ebp,ebp,7 | |
2924 add ecx,edx | |
2925 vpxor xmm4,xmm4,xmm8 | |
2926 add ebx,DWORD[4+rsp] | |
2927 xor edi,ebp | |
2928 mov esi,ecx | |
2929 shld ecx,ecx,5 | |
2930 vpsrld xmm8,xmm4,30 | |
2931 vmovdqa XMMWORD[48+rsp],xmm9 | |
2932 add ebx,edi | |
2933 xor esi,ebp | |
2934 shrd edx,edx,7 | |
2935 add ebx,ecx | |
2936 vpslld xmm4,xmm4,2 | |
2937 add eax,DWORD[8+rsp] | |
2938 xor esi,edx | |
2939 mov edi,ebx | |
2940 shld ebx,ebx,5 | |
2941 add eax,esi | |
2942 xor edi,edx | |
2943 shrd ecx,ecx,7 | |
2944 add eax,ebx | |
2945 vpor xmm4,xmm4,xmm8 | |
2946 add ebp,DWORD[12+rsp] | |
2947 xor edi,ecx | |
2948 mov esi,eax | |
2949 shld eax,eax,5 | |
2950 add ebp,edi | |
2951 xor esi,ecx | |
2952 shrd ebx,ebx,7 | |
2953 add ebp,eax | |
2954 vpalignr xmm8,xmm4,xmm3,8 | |
2955 vpxor xmm5,xmm5,xmm1 | |
2956 add edx,DWORD[16+rsp] | |
2957 xor esi,ebx | |
2958 mov edi,ebp | |
2959 shld ebp,ebp,5 | |
2960 vpxor xmm5,xmm5,xmm6 | |
2961 add edx,esi | |
2962 xor edi,ebx | |
2963 vpaddd xmm9,xmm11,xmm4 | |
2964 shrd eax,eax,7 | |
2965 add edx,ebp | |
2966 vpxor xmm5,xmm5,xmm8 | |
2967 add ecx,DWORD[20+rsp] | |
2968 xor edi,eax | |
2969 mov esi,edx | |
2970 shld edx,edx,5 | |
2971 vpsrld xmm8,xmm5,30 | |
2972 vmovdqa XMMWORD[rsp],xmm9 | |
2973 add ecx,edi | |
2974 xor esi,eax | |
2975 shrd ebp,ebp,7 | |
2976 add ecx,edx | |
2977 vpslld xmm5,xmm5,2 | |
2978 add ebx,DWORD[24+rsp] | |
2979 xor esi,ebp | |
2980 mov edi,ecx | |
2981 shld ecx,ecx,5 | |
2982 add ebx,esi | |
2983 xor edi,ebp | |
2984 shrd edx,edx,7 | |
2985 add ebx,ecx | |
2986 vpor xmm5,xmm5,xmm8 | |
2987 add eax,DWORD[28+rsp] | |
2988 shrd ecx,ecx,7 | |
2989 mov esi,ebx | |
2990 xor edi,edx | |
2991 shld ebx,ebx,5 | |
2992 add eax,edi | |
2993 xor esi,ecx | |
2994 xor ecx,edx | |
2995 add eax,ebx | |
2996 vpalignr xmm8,xmm5,xmm4,8 | |
2997 vpxor xmm6,xmm6,xmm2 | |
2998 add ebp,DWORD[32+rsp] | |
2999 and esi,ecx | |
3000 xor ecx,edx | |
3001 shrd ebx,ebx,7 | |
3002 vpxor xmm6,xmm6,xmm7 | |
3003 mov edi,eax | |
3004 xor esi,ecx | |
3005 vpaddd xmm9,xmm11,xmm5 | |
3006 shld eax,eax,5 | |
3007 add ebp,esi | |
3008 vpxor xmm6,xmm6,xmm8 | |
3009 xor edi,ebx | |
3010 xor ebx,ecx | |
3011 add ebp,eax | |
3012 add edx,DWORD[36+rsp] | |
3013 vpsrld xmm8,xmm6,30 | |
3014 vmovdqa XMMWORD[16+rsp],xmm9 | |
3015 and edi,ebx | |
3016 xor ebx,ecx | |
3017 shrd eax,eax,7 | |
3018 mov esi,ebp | |
3019 vpslld xmm6,xmm6,2 | |
3020 xor edi,ebx | |
3021 shld ebp,ebp,5 | |
3022 add edx,edi | |
3023 xor esi,eax | |
3024 xor eax,ebx | |
3025 add edx,ebp | |
3026 add ecx,DWORD[40+rsp] | |
3027 and esi,eax | |
3028 vpor xmm6,xmm6,xmm8 | |
3029 xor eax,ebx | |
3030 shrd ebp,ebp,7 | |
3031 mov edi,edx | |
3032 xor esi,eax | |
3033 shld edx,edx,5 | |
3034 add ecx,esi | |
3035 xor edi,ebp | |
3036 xor ebp,eax | |
3037 add ecx,edx | |
3038 add ebx,DWORD[44+rsp] | |
3039 and edi,ebp | |
3040 xor ebp,eax | |
3041 shrd edx,edx,7 | |
3042 mov esi,ecx | |
3043 xor edi,ebp | |
3044 shld ecx,ecx,5 | |
3045 add ebx,edi | |
3046 xor esi,edx | |
3047 xor edx,ebp | |
3048 add ebx,ecx | |
3049 vpalignr xmm8,xmm6,xmm5,8 | |
3050 vpxor xmm7,xmm7,xmm3 | |
3051 add eax,DWORD[48+rsp] | |
3052 and esi,edx | |
3053 xor edx,ebp | |
3054 shrd ecx,ecx,7 | |
3055 vpxor xmm7,xmm7,xmm0 | |
3056 mov edi,ebx | |
3057 xor esi,edx | |
3058 vpaddd xmm9,xmm11,xmm6 | |
3059 vmovdqa xmm11,XMMWORD[32+r11] | |
3060 shld ebx,ebx,5 | |
3061 add eax,esi | |
3062 vpxor xmm7,xmm7,xmm8 | |
3063 xor edi,ecx | |
3064 xor ecx,edx | |
3065 add eax,ebx | |
3066 add ebp,DWORD[52+rsp] | |
3067 vpsrld xmm8,xmm7,30 | |
3068 vmovdqa XMMWORD[32+rsp],xmm9 | |
3069 and edi,ecx | |
3070 xor ecx,edx | |
3071 shrd ebx,ebx,7 | |
3072 mov esi,eax | |
3073 vpslld xmm7,xmm7,2 | |
3074 xor edi,ecx | |
3075 shld eax,eax,5 | |
3076 add ebp,edi | |
3077 xor esi,ebx | |
3078 xor ebx,ecx | |
3079 add ebp,eax | |
3080 add edx,DWORD[56+rsp] | |
3081 and esi,ebx | |
3082 vpor xmm7,xmm7,xmm8 | |
3083 xor ebx,ecx | |
3084 shrd eax,eax,7 | |
3085 mov edi,ebp | |
3086 xor esi,ebx | |
3087 shld ebp,ebp,5 | |
3088 add edx,esi | |
3089 xor edi,eax | |
3090 xor eax,ebx | |
3091 add edx,ebp | |
3092 add ecx,DWORD[60+rsp] | |
3093 and edi,eax | |
3094 xor eax,ebx | |
3095 shrd ebp,ebp,7 | |
3096 mov esi,edx | |
3097 xor edi,eax | |
3098 shld edx,edx,5 | |
3099 add ecx,edi | |
3100 xor esi,ebp | |
3101 xor ebp,eax | |
3102 add ecx,edx | |
3103 vpalignr xmm8,xmm7,xmm6,8 | |
3104 vpxor xmm0,xmm0,xmm4 | |
3105 add ebx,DWORD[rsp] | |
3106 and esi,ebp | |
3107 xor ebp,eax | |
3108 shrd edx,edx,7 | |
3109 vpxor xmm0,xmm0,xmm1 | |
3110 mov edi,ecx | |
3111 xor esi,ebp | |
3112 vpaddd xmm9,xmm11,xmm7 | |
3113 shld ecx,ecx,5 | |
3114 add ebx,esi | |
3115 vpxor xmm0,xmm0,xmm8 | |
3116 xor edi,edx | |
3117 xor edx,ebp | |
3118 add ebx,ecx | |
3119 add eax,DWORD[4+rsp] | |
3120 vpsrld xmm8,xmm0,30 | |
3121 vmovdqa XMMWORD[48+rsp],xmm9 | |
3122 and edi,edx | |
3123 xor edx,ebp | |
3124 shrd ecx,ecx,7 | |
3125 mov esi,ebx | |
3126 vpslld xmm0,xmm0,2 | |
3127 xor edi,edx | |
3128 shld ebx,ebx,5 | |
3129 add eax,edi | |
3130 xor esi,ecx | |
3131 xor ecx,edx | |
3132 add eax,ebx | |
3133 add ebp,DWORD[8+rsp] | |
3134 and esi,ecx | |
3135 vpor xmm0,xmm0,xmm8 | |
3136 xor ecx,edx | |
3137 shrd ebx,ebx,7 | |
3138 mov edi,eax | |
3139 xor esi,ecx | |
3140 shld eax,eax,5 | |
3141 add ebp,esi | |
3142 xor edi,ebx | |
3143 xor ebx,ecx | |
3144 add ebp,eax | |
3145 add edx,DWORD[12+rsp] | |
3146 and edi,ebx | |
3147 xor ebx,ecx | |
3148 shrd eax,eax,7 | |
3149 mov esi,ebp | |
3150 xor edi,ebx | |
3151 shld ebp,ebp,5 | |
3152 add edx,edi | |
3153 xor esi,eax | |
3154 xor eax,ebx | |
3155 add edx,ebp | |
3156 vpalignr xmm8,xmm0,xmm7,8 | |
3157 vpxor xmm1,xmm1,xmm5 | |
3158 add ecx,DWORD[16+rsp] | |
3159 and esi,eax | |
3160 xor eax,ebx | |
3161 shrd ebp,ebp,7 | |
3162 vpxor xmm1,xmm1,xmm2 | |
3163 mov edi,edx | |
3164 xor esi,eax | |
3165 vpaddd xmm9,xmm11,xmm0 | |
3166 shld edx,edx,5 | |
3167 add ecx,esi | |
3168 vpxor xmm1,xmm1,xmm8 | |
3169 xor edi,ebp | |
3170 xor ebp,eax | |
3171 add ecx,edx | |
3172 add ebx,DWORD[20+rsp] | |
3173 vpsrld xmm8,xmm1,30 | |
3174 vmovdqa XMMWORD[rsp],xmm9 | |
3175 and edi,ebp | |
3176 xor ebp,eax | |
3177 shrd edx,edx,7 | |
3178 mov esi,ecx | |
3179 vpslld xmm1,xmm1,2 | |
3180 xor edi,ebp | |
3181 shld ecx,ecx,5 | |
3182 add ebx,edi | |
3183 xor esi,edx | |
3184 xor edx,ebp | |
3185 add ebx,ecx | |
3186 add eax,DWORD[24+rsp] | |
3187 and esi,edx | |
3188 vpor xmm1,xmm1,xmm8 | |
3189 xor edx,ebp | |
3190 shrd ecx,ecx,7 | |
3191 mov edi,ebx | |
3192 xor esi,edx | |
3193 shld ebx,ebx,5 | |
3194 add eax,esi | |
3195 xor edi,ecx | |
3196 xor ecx,edx | |
3197 add eax,ebx | |
3198 add ebp,DWORD[28+rsp] | |
3199 and edi,ecx | |
3200 xor ecx,edx | |
3201 shrd ebx,ebx,7 | |
3202 mov esi,eax | |
3203 xor edi,ecx | |
3204 shld eax,eax,5 | |
3205 add ebp,edi | |
3206 xor esi,ebx | |
3207 xor ebx,ecx | |
3208 add ebp,eax | |
3209 vpalignr xmm8,xmm1,xmm0,8 | |
3210 vpxor xmm2,xmm2,xmm6 | |
3211 add edx,DWORD[32+rsp] | |
3212 and esi,ebx | |
3213 xor ebx,ecx | |
3214 shrd eax,eax,7 | |
3215 vpxor xmm2,xmm2,xmm3 | |
3216 mov edi,ebp | |
3217 xor esi,ebx | |
3218 vpaddd xmm9,xmm11,xmm1 | |
3219 shld ebp,ebp,5 | |
3220 add edx,esi | |
3221 vpxor xmm2,xmm2,xmm8 | |
3222 xor edi,eax | |
3223 xor eax,ebx | |
3224 add edx,ebp | |
3225 add ecx,DWORD[36+rsp] | |
3226 vpsrld xmm8,xmm2,30 | |
3227 vmovdqa XMMWORD[16+rsp],xmm9 | |
3228 and edi,eax | |
3229 xor eax,ebx | |
3230 shrd ebp,ebp,7 | |
3231 mov esi,edx | |
3232 vpslld xmm2,xmm2,2 | |
3233 xor edi,eax | |
3234 shld edx,edx,5 | |
3235 add ecx,edi | |
3236 xor esi,ebp | |
3237 xor ebp,eax | |
3238 add ecx,edx | |
3239 add ebx,DWORD[40+rsp] | |
3240 and esi,ebp | |
3241 vpor xmm2,xmm2,xmm8 | |
3242 xor ebp,eax | |
3243 shrd edx,edx,7 | |
3244 mov edi,ecx | |
3245 xor esi,ebp | |
3246 shld ecx,ecx,5 | |
3247 add ebx,esi | |
3248 xor edi,edx | |
3249 xor edx,ebp | |
3250 add ebx,ecx | |
3251 add eax,DWORD[44+rsp] | |
3252 and edi,edx | |
3253 xor edx,ebp | |
3254 shrd ecx,ecx,7 | |
3255 mov esi,ebx | |
3256 xor edi,edx | |
3257 shld ebx,ebx,5 | |
3258 add eax,edi | |
3259 xor esi,edx | |
3260 add eax,ebx | |
3261 vpalignr xmm8,xmm2,xmm1,8 | |
3262 vpxor xmm3,xmm3,xmm7 | |
3263 add ebp,DWORD[48+rsp] | |
3264 xor esi,ecx | |
3265 mov edi,eax | |
3266 shld eax,eax,5 | |
3267 vpxor xmm3,xmm3,xmm4 | |
3268 add ebp,esi | |
3269 xor edi,ecx | |
3270 vpaddd xmm9,xmm11,xmm2 | |
3271 shrd ebx,ebx,7 | |
3272 add ebp,eax | |
3273 vpxor xmm3,xmm3,xmm8 | |
3274 add edx,DWORD[52+rsp] | |
3275 xor edi,ebx | |
3276 mov esi,ebp | |
3277 shld ebp,ebp,5 | |
3278 vpsrld xmm8,xmm3,30 | |
3279 vmovdqa XMMWORD[32+rsp],xmm9 | |
3280 add edx,edi | |
3281 xor esi,ebx | |
3282 shrd eax,eax,7 | |
3283 add edx,ebp | |
3284 vpslld xmm3,xmm3,2 | |
3285 add ecx,DWORD[56+rsp] | |
3286 xor esi,eax | |
3287 mov edi,edx | |
3288 shld edx,edx,5 | |
3289 add ecx,esi | |
3290 xor edi,eax | |
3291 shrd ebp,ebp,7 | |
3292 add ecx,edx | |
3293 vpor xmm3,xmm3,xmm8 | |
3294 add ebx,DWORD[60+rsp] | |
3295 xor edi,ebp | |
3296 mov esi,ecx | |
3297 shld ecx,ecx,5 | |
3298 add ebx,edi | |
3299 xor esi,ebp | |
3300 shrd edx,edx,7 | |
3301 add ebx,ecx | |
3302 add eax,DWORD[rsp] | |
3303 vpaddd xmm9,xmm11,xmm3 | |
3304 xor esi,edx | |
3305 mov edi,ebx | |
3306 shld ebx,ebx,5 | |
3307 add eax,esi | |
3308 vmovdqa XMMWORD[48+rsp],xmm9 | |
3309 xor edi,edx | |
3310 shrd ecx,ecx,7 | |
3311 add eax,ebx | |
3312 add ebp,DWORD[4+rsp] | |
3313 xor edi,ecx | |
3314 mov esi,eax | |
3315 shld eax,eax,5 | |
3316 add ebp,edi | |
3317 xor esi,ecx | |
3318 shrd ebx,ebx,7 | |
3319 add ebp,eax | |
3320 add edx,DWORD[8+rsp] | |
3321 xor esi,ebx | |
3322 mov edi,ebp | |
3323 shld ebp,ebp,5 | |
3324 add edx,esi | |
3325 xor edi,ebx | |
3326 shrd eax,eax,7 | |
3327 add edx,ebp | |
3328 add ecx,DWORD[12+rsp] | |
3329 xor edi,eax | |
3330 mov esi,edx | |
3331 shld edx,edx,5 | |
3332 add ecx,edi | |
3333 xor esi,eax | |
3334 shrd ebp,ebp,7 | |
3335 add ecx,edx | |
3336 cmp r9,r10 | |
3337 je NEAR $L$done_avx | |
3338 vmovdqa xmm6,XMMWORD[64+r11] | |
3339 vmovdqa xmm11,XMMWORD[((-64))+r11] | |
3340 vmovdqu xmm0,XMMWORD[r9] | |
3341 vmovdqu xmm1,XMMWORD[16+r9] | |
3342 vmovdqu xmm2,XMMWORD[32+r9] | |
3343 vmovdqu xmm3,XMMWORD[48+r9] | |
3344 vpshufb xmm0,xmm0,xmm6 | |
3345 add r9,64 | |
3346 add ebx,DWORD[16+rsp] | |
3347 xor esi,ebp | |
3348 vpshufb xmm1,xmm1,xmm6 | |
3349 mov edi,ecx | |
3350 shld ecx,ecx,5 | |
3351 vpaddd xmm4,xmm0,xmm11 | |
3352 add ebx,esi | |
3353 xor edi,ebp | |
3354 shrd edx,edx,7 | |
3355 add ebx,ecx | |
3356 vmovdqa XMMWORD[rsp],xmm4 | |
3357 add eax,DWORD[20+rsp] | |
3358 xor edi,edx | |
3359 mov esi,ebx | |
3360 shld ebx,ebx,5 | |
3361 add eax,edi | |
3362 xor esi,edx | |
3363 shrd ecx,ecx,7 | |
3364 add eax,ebx | |
3365 add ebp,DWORD[24+rsp] | |
3366 xor esi,ecx | |
3367 mov edi,eax | |
3368 shld eax,eax,5 | |
3369 add ebp,esi | |
3370 xor edi,ecx | |
3371 shrd ebx,ebx,7 | |
3372 add ebp,eax | |
3373 add edx,DWORD[28+rsp] | |
3374 xor edi,ebx | |
3375 mov esi,ebp | |
3376 shld ebp,ebp,5 | |
3377 add edx,edi | |
3378 xor esi,ebx | |
3379 shrd eax,eax,7 | |
3380 add edx,ebp | |
3381 add ecx,DWORD[32+rsp] | |
3382 xor esi,eax | |
3383 vpshufb xmm2,xmm2,xmm6 | |
3384 mov edi,edx | |
3385 shld edx,edx,5 | |
3386 vpaddd xmm5,xmm1,xmm11 | |
3387 add ecx,esi | |
3388 xor edi,eax | |
3389 shrd ebp,ebp,7 | |
3390 add ecx,edx | |
3391 vmovdqa XMMWORD[16+rsp],xmm5 | |
3392 add ebx,DWORD[36+rsp] | |
3393 xor edi,ebp | |
3394 mov esi,ecx | |
3395 shld ecx,ecx,5 | |
3396 add ebx,edi | |
3397 xor esi,ebp | |
3398 shrd edx,edx,7 | |
3399 add ebx,ecx | |
3400 add eax,DWORD[40+rsp] | |
3401 xor esi,edx | |
3402 mov edi,ebx | |
3403 shld ebx,ebx,5 | |
3404 add eax,esi | |
3405 xor edi,edx | |
3406 shrd ecx,ecx,7 | |
3407 add eax,ebx | |
3408 add ebp,DWORD[44+rsp] | |
3409 xor edi,ecx | |
3410 mov esi,eax | |
3411 shld eax,eax,5 | |
3412 add ebp,edi | |
3413 xor esi,ecx | |
3414 shrd ebx,ebx,7 | |
3415 add ebp,eax | |
3416 add edx,DWORD[48+rsp] | |
3417 xor esi,ebx | |
3418 vpshufb xmm3,xmm3,xmm6 | |
3419 mov edi,ebp | |
3420 shld ebp,ebp,5 | |
3421 vpaddd xmm6,xmm2,xmm11 | |
3422 add edx,esi | |
3423 xor edi,ebx | |
3424 shrd eax,eax,7 | |
3425 add edx,ebp | |
3426 vmovdqa XMMWORD[32+rsp],xmm6 | |
3427 add ecx,DWORD[52+rsp] | |
3428 xor edi,eax | |
3429 mov esi,edx | |
3430 shld edx,edx,5 | |
3431 add ecx,edi | |
3432 xor esi,eax | |
3433 shrd ebp,ebp,7 | |
3434 add ecx,edx | |
3435 add ebx,DWORD[56+rsp] | |
3436 xor esi,ebp | |
3437 mov edi,ecx | |
3438 shld ecx,ecx,5 | |
3439 add ebx,esi | |
3440 xor edi,ebp | |
3441 shrd edx,edx,7 | |
3442 add ebx,ecx | |
3443 add eax,DWORD[60+rsp] | |
3444 xor edi,edx | |
3445 mov esi,ebx | |
3446 shld ebx,ebx,5 | |
3447 add eax,edi | |
3448 shrd ecx,ecx,7 | |
3449 add eax,ebx | |
3450 add eax,DWORD[r8] | |
3451 add esi,DWORD[4+r8] | |
3452 add ecx,DWORD[8+r8] | |
3453 add edx,DWORD[12+r8] | |
3454 mov DWORD[r8],eax | |
3455 add ebp,DWORD[16+r8] | |
3456 mov DWORD[4+r8],esi | |
3457 mov ebx,esi | |
3458 mov DWORD[8+r8],ecx | |
3459 mov edi,ecx | |
3460 mov DWORD[12+r8],edx | |
3461 xor edi,edx | |
3462 mov DWORD[16+r8],ebp | |
3463 and esi,edi | |
3464 jmp NEAR $L$oop_avx | |
3465 | |
3466 ALIGN 16 | |
3467 $L$done_avx: | |
3468 add ebx,DWORD[16+rsp] | |
3469 xor esi,ebp | |
3470 mov edi,ecx | |
3471 shld ecx,ecx,5 | |
3472 add ebx,esi | |
3473 xor edi,ebp | |
3474 shrd edx,edx,7 | |
3475 add ebx,ecx | |
3476 add eax,DWORD[20+rsp] | |
3477 xor edi,edx | |
3478 mov esi,ebx | |
3479 shld ebx,ebx,5 | |
3480 add eax,edi | |
3481 xor esi,edx | |
3482 shrd ecx,ecx,7 | |
3483 add eax,ebx | |
3484 add ebp,DWORD[24+rsp] | |
3485 xor esi,ecx | |
3486 mov edi,eax | |
3487 shld eax,eax,5 | |
3488 add ebp,esi | |
3489 xor edi,ecx | |
3490 shrd ebx,ebx,7 | |
3491 add ebp,eax | |
3492 add edx,DWORD[28+rsp] | |
3493 xor edi,ebx | |
3494 mov esi,ebp | |
3495 shld ebp,ebp,5 | |
3496 add edx,edi | |
3497 xor esi,ebx | |
3498 shrd eax,eax,7 | |
3499 add edx,ebp | |
3500 add ecx,DWORD[32+rsp] | |
3501 xor esi,eax | |
3502 mov edi,edx | |
3503 shld edx,edx,5 | |
3504 add ecx,esi | |
3505 xor edi,eax | |
3506 shrd ebp,ebp,7 | |
3507 add ecx,edx | |
3508 add ebx,DWORD[36+rsp] | |
3509 xor edi,ebp | |
3510 mov esi,ecx | |
3511 shld ecx,ecx,5 | |
3512 add ebx,edi | |
3513 xor esi,ebp | |
3514 shrd edx,edx,7 | |
3515 add ebx,ecx | |
3516 add eax,DWORD[40+rsp] | |
3517 xor esi,edx | |
3518 mov edi,ebx | |
3519 shld ebx,ebx,5 | |
3520 add eax,esi | |
3521 xor edi,edx | |
3522 shrd ecx,ecx,7 | |
3523 add eax,ebx | |
3524 add ebp,DWORD[44+rsp] | |
3525 xor edi,ecx | |
3526 mov esi,eax | |
3527 shld eax,eax,5 | |
3528 add ebp,edi | |
3529 xor esi,ecx | |
3530 shrd ebx,ebx,7 | |
3531 add ebp,eax | |
3532 add edx,DWORD[48+rsp] | |
3533 xor esi,ebx | |
3534 mov edi,ebp | |
3535 shld ebp,ebp,5 | |
3536 add edx,esi | |
3537 xor edi,ebx | |
3538 shrd eax,eax,7 | |
3539 add edx,ebp | |
3540 add ecx,DWORD[52+rsp] | |
3541 xor edi,eax | |
3542 mov esi,edx | |
3543 shld edx,edx,5 | |
3544 add ecx,edi | |
3545 xor esi,eax | |
3546 shrd ebp,ebp,7 | |
3547 add ecx,edx | |
3548 add ebx,DWORD[56+rsp] | |
3549 xor esi,ebp | |
3550 mov edi,ecx | |
3551 shld ecx,ecx,5 | |
3552 add ebx,esi | |
3553 xor edi,ebp | |
3554 shrd edx,edx,7 | |
3555 add ebx,ecx | |
3556 add eax,DWORD[60+rsp] | |
3557 xor edi,edx | |
3558 mov esi,ebx | |
3559 shld ebx,ebx,5 | |
3560 add eax,edi | |
3561 shrd ecx,ecx,7 | |
3562 add eax,ebx | |
3563 vzeroupper | |
3564 | |
3565 add eax,DWORD[r8] | |
3566 add esi,DWORD[4+r8] | |
3567 add ecx,DWORD[8+r8] | |
3568 mov DWORD[r8],eax | |
3569 add edx,DWORD[12+r8] | |
3570 mov DWORD[4+r8],esi | |
3571 add ebp,DWORD[16+r8] | |
3572 mov DWORD[8+r8],ecx | |
3573 mov DWORD[12+r8],edx | |
3574 mov DWORD[16+r8],ebp | |
3575 movaps xmm6,XMMWORD[((-40-96))+r14] | |
3576 movaps xmm7,XMMWORD[((-40-80))+r14] | |
3577 movaps xmm8,XMMWORD[((-40-64))+r14] | |
3578 movaps xmm9,XMMWORD[((-40-48))+r14] | |
3579 movaps xmm10,XMMWORD[((-40-32))+r14] | |
3580 movaps xmm11,XMMWORD[((-40-16))+r14] | |
3581 lea rsi,[r14] | |
3582 mov r14,QWORD[((-40))+rsi] | |
3583 mov r13,QWORD[((-32))+rsi] | |
3584 mov r12,QWORD[((-24))+rsi] | |
3585 mov rbp,QWORD[((-16))+rsi] | |
3586 mov rbx,QWORD[((-8))+rsi] | |
3587 lea rsp,[rsi] | |
3588 $L$epilogue_avx: | |
3589 mov rdi,QWORD[8+rsp] ;WIN64 epilogue | |
3590 mov rsi,QWORD[16+rsp] | |
3591 DB 0F3h,0C3h ;repret | |
3592 $L$SEH_end_sha1_block_data_order_avx: | |
3593 ALIGN 64 | 2448 ALIGN 64 |
3594 K_XX_XX: | 2449 K_XX_XX: |
3595 DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999 | 2450 DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999 |
3596 DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999 | 2451 DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999 |
3597 DD 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 | 2452 DD 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 |
3598 DD 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 | 2453 DD 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 |
3599 DD 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc | 2454 DD 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc |
3600 DD 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc | 2455 DD 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc |
3601 DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 | 2456 DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 |
3602 DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 | 2457 DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3743 | 2598 |
3744 | 2599 |
3745 section .pdata rdata align=4 | 2600 section .pdata rdata align=4 |
3746 ALIGN 4 | 2601 ALIGN 4 |
3747 DD $L$SEH_begin_sha1_block_data_order wrt ..imagebase | 2602 DD $L$SEH_begin_sha1_block_data_order wrt ..imagebase |
3748 DD $L$SEH_end_sha1_block_data_order wrt ..imagebase | 2603 DD $L$SEH_end_sha1_block_data_order wrt ..imagebase |
3749 DD $L$SEH_info_sha1_block_data_order wrt ..imagebase | 2604 DD $L$SEH_info_sha1_block_data_order wrt ..imagebase |
3750 DD $L$SEH_begin_sha1_block_data_order_ssse3 wrt ..imagebase | 2605 DD $L$SEH_begin_sha1_block_data_order_ssse3 wrt ..imagebase |
3751 DD $L$SEH_end_sha1_block_data_order_ssse3 wrt ..imagebase | 2606 DD $L$SEH_end_sha1_block_data_order_ssse3 wrt ..imagebase |
3752 DD $L$SEH_info_sha1_block_data_order_ssse3 wrt ..imagebase | 2607 DD $L$SEH_info_sha1_block_data_order_ssse3 wrt ..imagebase |
3753 DD $L$SEH_begin_sha1_block_data_order_avx wrt ..imagebase | |
3754 DD $L$SEH_end_sha1_block_data_order_avx wrt ..imagebase | |
3755 DD $L$SEH_info_sha1_block_data_order_avx wrt ..imagebase | |
3756 section .xdata rdata align=8 | 2608 section .xdata rdata align=8 |
3757 ALIGN 8 | 2609 ALIGN 8 |
3758 $L$SEH_info_sha1_block_data_order: | 2610 $L$SEH_info_sha1_block_data_order: |
3759 DB 9,0,0,0 | 2611 DB 9,0,0,0 |
3760 DD se_handler wrt ..imagebase | 2612 DD se_handler wrt ..imagebase |
3761 $L$SEH_info_sha1_block_data_order_ssse3: | 2613 $L$SEH_info_sha1_block_data_order_ssse3: |
3762 DB 9,0,0,0 | 2614 DB 9,0,0,0 |
3763 DD ssse3_handler wrt ..imagebase | 2615 DD ssse3_handler wrt ..imagebase |
3764 DD $L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..imageb
ase | 2616 DD $L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..imageb
ase |
3765 $L$SEH_info_sha1_block_data_order_avx: | |
3766 DB 9,0,0,0 | |
3767 DD ssse3_handler wrt ..imagebase | |
3768 DD $L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase | |
OLD | NEW |