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 |
27 jmp NEAR _ssse3_shortcut | 32 jmp NEAR _ssse3_shortcut |
28 | 33 |
29 ALIGN 16 | 34 ALIGN 16 |
30 $L$ialu: | 35 $L$ialu: |
31 mov rax,rsp | 36 mov rax,rsp |
32 push rbx | 37 push rbx |
33 push rbp | 38 push rbp |
34 push r12 | 39 push r12 |
35 push r13 | 40 push r13 |
36 push r14 | 41 push r14 |
(...skipping 2401 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2438 mov r13,QWORD[((-32))+rsi] | 2443 mov r13,QWORD[((-32))+rsi] |
2439 mov r12,QWORD[((-24))+rsi] | 2444 mov r12,QWORD[((-24))+rsi] |
2440 mov rbp,QWORD[((-16))+rsi] | 2445 mov rbp,QWORD[((-16))+rsi] |
2441 mov rbx,QWORD[((-8))+rsi] | 2446 mov rbx,QWORD[((-8))+rsi] |
2442 lea rsp,[rsi] | 2447 lea rsp,[rsi] |
2443 $L$epilogue_ssse3: | 2448 $L$epilogue_ssse3: |
2444 mov rdi,QWORD[8+rsp] ;WIN64 epilogue | 2449 mov rdi,QWORD[8+rsp] ;WIN64 epilogue |
2445 mov rsi,QWORD[16+rsp] | 2450 mov rsi,QWORD[16+rsp] |
2446 DB 0F3h,0C3h ;repret | 2451 DB 0F3h,0C3h ;repret |
2447 $L$SEH_end_sha1_block_data_order_ssse3: | 2452 $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: |
2448 ALIGN 64 | 3593 ALIGN 64 |
2449 K_XX_XX: | 3594 K_XX_XX: |
2450 DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999 | 3595 DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999 |
2451 DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999 | 3596 DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999 |
2452 DD 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 | 3597 DD 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 |
2453 DD 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 | 3598 DD 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 |
2454 DD 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc | 3599 DD 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc |
2455 DD 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc | 3600 DD 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc |
2456 DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 | 3601 DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 |
2457 DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 | 3602 DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2598 | 3743 |
2599 | 3744 |
2600 section .pdata rdata align=4 | 3745 section .pdata rdata align=4 |
2601 ALIGN 4 | 3746 ALIGN 4 |
2602 DD $L$SEH_begin_sha1_block_data_order wrt ..imagebase | 3747 DD $L$SEH_begin_sha1_block_data_order wrt ..imagebase |
2603 DD $L$SEH_end_sha1_block_data_order wrt ..imagebase | 3748 DD $L$SEH_end_sha1_block_data_order wrt ..imagebase |
2604 DD $L$SEH_info_sha1_block_data_order wrt ..imagebase | 3749 DD $L$SEH_info_sha1_block_data_order wrt ..imagebase |
2605 DD $L$SEH_begin_sha1_block_data_order_ssse3 wrt ..imagebase | 3750 DD $L$SEH_begin_sha1_block_data_order_ssse3 wrt ..imagebase |
2606 DD $L$SEH_end_sha1_block_data_order_ssse3 wrt ..imagebase | 3751 DD $L$SEH_end_sha1_block_data_order_ssse3 wrt ..imagebase |
2607 DD $L$SEH_info_sha1_block_data_order_ssse3 wrt ..imagebase | 3752 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 |
2608 section .xdata rdata align=8 | 3756 section .xdata rdata align=8 |
2609 ALIGN 8 | 3757 ALIGN 8 |
2610 $L$SEH_info_sha1_block_data_order: | 3758 $L$SEH_info_sha1_block_data_order: |
2611 DB 9,0,0,0 | 3759 DB 9,0,0,0 |
2612 DD se_handler wrt ..imagebase | 3760 DD se_handler wrt ..imagebase |
2613 $L$SEH_info_sha1_block_data_order_ssse3: | 3761 $L$SEH_info_sha1_block_data_order_ssse3: |
2614 DB 9,0,0,0 | 3762 DB 9,0,0,0 |
2615 DD ssse3_handler wrt ..imagebase | 3763 DD ssse3_handler wrt ..imagebase |
2616 DD $L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..imageb
ase | 3764 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 |