// File: /workspace/github_c_makefile_star2_O2/mjosaarinen[P]brutus/crypto_aead/lunarkeyakv2/Haswell/KeccakP-1600-times4-SIMD256.c
// Function: KeccakP1600times4_12rounds_FastLoop_Absorb
size_t KeccakP1600times4_12rounds_FastLoop_Absorb(void *states, unsigned int laneCount, unsigned int laneOffsetParallel, unsigned int laneOffsetSerial, const unsigned char *data, size_t dataByteLen)
{
    if (laneCount == 21) {
#if 0
        const unsigned char *dataStart = data;
        const UINT64 *curData0 = (const UINT64 *)data;
        const UINT64 *curData1 = (const UINT64 *)(data+laneOffsetParallel*1*SnP_laneLengthInBytes);
        const UINT64 *curData2 = (const UINT64 *)(data+laneOffsetParallel*2*SnP_laneLengthInBytes);
        const UINT64 *curData3 = (const UINT64 *)(data+laneOffsetParallel*3*SnP_laneLengthInBytes);

        while(dataByteLen >= (laneOffsetParallel*3 + laneCount)*8) {
            V256 *stateAsLanes = states;
            V256 lanes0, lanes1, lanes2, lanes3, lanesL01, lanesL23, lanesH01, lanesH23;
            #define Xor_In( argIndex ) \
                XOReq256(stateAsLanes[argIndex], LOAD4_64(curData3[argIndex], curData2[argIndex], curData1[argIndex], curData0[argIndex]))
            #define Xor_In4( argIndex ) \
                lanes0 = LOAD256u( curData0[argIndex]),\
                lanes1 = LOAD256u( curData1[argIndex]),\
                lanes2 = LOAD256u( curData2[argIndex]),\
                lanes3 = LOAD256u( curData3[argIndex]),\
                INTLEAVE(),\
                XOReq256( stateAsLanes[argIndex+0], lanes0 ),\
                XOReq256( stateAsLanes[argIndex+1], lanes1 ),\
                XOReq256( stateAsLanes[argIndex+2], lanes2 ),\
                XOReq256( stateAsLanes[argIndex+3], lanes3 )
            Xor_In4( 0 );
            Xor_In4( 4 );
            Xor_In4( 8 );
            Xor_In4( 12 );
            Xor_In4( 16 );
            Xor_In( 20 );
            #undef  Xor_In
            #undef  Xor_In4
            KeccakP1600times4_PermuteAll_12rounds(states);
            curData0 += laneOffsetSerial;
            curData1 += laneOffsetSerial;
            curData2 += laneOffsetSerial;
            curData3 += laneOffsetSerial;
            dataByteLen -= laneOffsetSerial*8;
        }
        return (const unsigned char *)curData0 - dataStart;
#else
        unsigned int i;
        const unsigned char *dataStart = data;
        const UINT64 *curData0 = (const UINT64 *)data;
        const UINT64 *curData1 = (const UINT64 *)(data+laneOffsetParallel*1*SnP_laneLengthInBytes);
        const UINT64 *curData2 = (const UINT64 *)(data+laneOffsetParallel*2*SnP_laneLengthInBytes);
        const UINT64 *curData3 = (const UINT64 *)(data+laneOffsetParallel*3*SnP_laneLengthInBytes);
        V256 *statesAsLanes = states;
        declareABCDE

        copyFromState(A, statesAsLanes)
        while(dataByteLen >= (laneOffsetParallel*3 + laneCount)*8) {
            #define XOR_In( Xxx, argIndex ) \
                XOReq256(Xxx, LOAD4_64(curData3[argIndex], curData2[argIndex], curData1[argIndex], curData0[argIndex]))
            XOR_In( Aba, 0 );
            XOR_In( Abe, 1 );
            XOR_In( Abi, 2 );
            XOR_In( Abo, 3 );
            XOR_In( Abu, 4 );
            XOR_In( Aga, 5 );
            XOR_In( Age, 6 );
            XOR_In( Agi, 7 );
            XOR_In( Ago, 8 );
            XOR_In( Agu, 9 );
            XOR_In( Aka, 10 );
            XOR_In( Ake, 11 );
            XOR_In( Aki, 12 );
            XOR_In( Ako, 13 );
            XOR_In( Aku, 14 );
            XOR_In( Ama, 15 );
            XOR_In( Ame, 16 );
            XOR_In( Ami, 17 );
            XOR_In( Amo, 18 );
            XOR_In( Amu, 19 );
            XOR_In( Asa, 20 );
            #undef XOR_In
            rounds12
            curData0 += laneOffsetSerial;
            curData1 += laneOffsetSerial;
            curData2 += laneOffsetSerial;
            curData3 += laneOffsetSerial;
            dataByteLen -= laneOffsetSerial*8;
        }
        copyToState(statesAsLanes, A)
        return (const unsigned char *)curData0 - dataStart;
#endif
    }
    else {
        unsigned int i;
        const unsigned char *dataStart = data;

        while(dataByteLen >= (laneOffsetParallel*3 + laneCount)*8) {
            KeccakP1600times4_AddLanesAll(states, data, laneCount, laneOffsetParallel);
            KeccakP1600times4_PermuteAll_12rounds(states);
            data += laneOffsetSerial*8;
            dataByteLen -= laneOffsetSerial*8;
        }
        return data - dataStart;
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x158, %rsp            # imm = 0x158
movq %r9, %r13
movq %r8, %rbp
movl %ecx, %r14d
cmpl $0x15, %esi
movq %r8, 0x108(%rsp)
jne 0x13513
leal (,%rdx,8), %eax
imull $0x18, %edx, %ecx
shll $0x4, %edx
vmovdqa (%rdi), %ymm13
vmovdqa 0x20(%rdi), %ymm6
vmovdqa 0x40(%rdi), %ymm5
vmovdqa 0x60(%rdi), %ymm4
vmovdqa 0x80(%rdi), %ymm0
vmovdqa 0xa0(%rdi), %ymm10
vmovaps 0xc0(%rdi), %ymm1
vmovups %ymm1, 0x40(%rsp)
vmovdqa64 0xe0(%rdi), %ymm31
vmovdqa64 0x100(%rdi), %ymm29
vmovdqa64 0x120(%rdi), %ymm27
vmovaps 0x140(%rdi), %ymm1
vmovups %ymm1, 0x20(%rsp)
vmovdqa64 0x160(%rdi), %ymm20
vmovdqa64 0x180(%rdi), %ymm24
vmovdqa64 0x1a0(%rdi), %ymm23
vmovdqa64 0x1c0(%rdi), %ymm21
vmovdqa 0x1e0(%rdi), %ymm9
vmovdqa 0x200(%rdi), %ymm11
vmovdqa64 0x220(%rdi), %ymm19
vmovdqa64 0x240(%rdi), %ymm17
vmovdqa64 0x260(%rdi), %ymm16
vmovdqa 0x280(%rdi), %ymm1
vmovdqu %ymm1, (%rsp)
vmovdqa 0x2a0(%rdi), %ymm12
vmovdqa 0x2c0(%rdi), %ymm2
vmovdqa64 0x2e0(%rdi), %ymm26
vmovdqa 0x300(%rdi), %ymm14
movl %ecx, %r10d
addl $0xa8, %r10d
movl %r14d, %esi
shll $0x3, %r14d
shlq $0x3, %rsi
cmpq %r10, %r13
jb 0x1355c
vmovq (%rbp,%rcx), %xmm1
vmovq (%rbp,%rdx), %xmm7
vmovq (%rbp,%rax), %xmm8
vmovdqa64 %ymm12, %ymm22
vmovdqu %ymm12, 0xa0(%rsp)
vmovq (%rbp), %xmm12
vpunpcklqdq %xmm1, %xmm7, %xmm1 # xmm1 = xmm7[0],xmm1[0]
vpunpcklqdq %xmm8, %xmm12, %xmm7 # xmm7 = xmm12[0],xmm8[0]
vinserti128 $0x1, %xmm1, %ymm7, %ymm1
vpxor %ymm1, %ymm13, %ymm1
vmovdqu %ymm1, 0x80(%rsp)
vmovq 0x8(%rbp,%rcx), %xmm1
vmovq 0x8(%rbp,%rdx), %xmm7
vmovq 0x8(%rbp,%rax), %xmm8
vmovq 0x8(%rbp), %xmm12
vpunpcklqdq %xmm1, %xmm7, %xmm1 # xmm1 = xmm7[0],xmm1[0]
vpunpcklqdq %xmm8, %xmm12, %xmm7 # xmm7 = xmm12[0],xmm8[0]
vinserti128 $0x1, %xmm1, %ymm7, %ymm1
vmovdqa64 %ymm14, %ymm30
vpxor %ymm6, %ymm1, %ymm14
vmovq 0x10(%rbp,%rcx), %xmm1
vmovq 0x10(%rbp,%rdx), %xmm6
vmovq 0x10(%rbp,%rax), %xmm7
vmovq 0x10(%rbp), %xmm8
vpunpcklqdq %xmm1, %xmm6, %xmm1 # xmm1 = xmm6[0],xmm1[0]
vpunpcklqdq %xmm7, %xmm8, %xmm6 # xmm6 = xmm8[0],xmm7[0]
vinserti128 $0x1, %xmm1, %ymm6, %ymm1
vpxor %ymm5, %ymm1, %ymm1
vmovdqu %ymm1, 0xc0(%rsp)
vmovq 0x18(%rbp,%rcx), %xmm1
vmovq 0x18(%rbp,%rdx), %xmm5
vmovq 0x18(%rbp,%rax), %xmm6
vmovq 0x18(%rbp), %xmm7
vpunpcklqdq %xmm1, %xmm5, %xmm1 # xmm1 = xmm5[0],xmm1[0]
vpunpcklqdq %xmm6, %xmm7, %xmm5 # xmm5 = xmm7[0],xmm6[0]
vinserti128 $0x1, %xmm1, %ymm5, %ymm1
vpxorq %ymm4, %ymm1, %ymm28
vmovq 0x20(%rbp,%rcx), %xmm1
vmovq 0x20(%rbp,%rdx), %xmm4
vmovq 0x20(%rbp,%rax), %xmm5
vmovq 0x20(%rbp), %xmm6
vpunpcklqdq %xmm1, %xmm4, %xmm1 # xmm1 = xmm4[0],xmm1[0]
vpunpcklqdq %xmm5, %xmm6, %xmm4 # xmm4 = xmm6[0],xmm5[0]
vinserti128 $0x1, %xmm1, %ymm4, %ymm1
vpxor %ymm0, %ymm1, %ymm3
vmovq 0x28(%rbp,%rcx), %xmm1
vmovq 0x28(%rbp,%rdx), %xmm4
vmovq 0x28(%rbp,%rax), %xmm5
vmovq 0x28(%rbp), %xmm6
vpunpcklqdq %xmm1, %xmm4, %xmm1 # xmm1 = xmm4[0],xmm1[0]
vpunpcklqdq %xmm5, %xmm6, %xmm4 # xmm4 = xmm6[0],xmm5[0]
vinserti128 $0x1, %xmm1, %ymm4, %ymm1
vpxor %ymm1, %ymm10, %ymm0
vmovdqu %ymm0, 0x60(%rsp)
vmovq 0x30(%rbp,%rcx), %xmm1
vmovq 0x30(%rbp,%rdx), %xmm4
vmovq 0x30(%rbp,%rax), %xmm5
vmovq 0x30(%rbp), %xmm6
vpunpcklqdq %xmm1, %xmm4, %xmm1 # xmm1 = xmm4[0],xmm1[0]
vpunpcklqdq %xmm5, %xmm6, %xmm4 # xmm4 = xmm6[0],xmm5[0]
vinserti128 $0x1, %xmm1, %ymm4, %ymm1
vpxor 0x40(%rsp), %ymm1, %ymm13
vmovq 0x38(%rbp,%rcx), %xmm1
vmovq 0x38(%rbp,%rdx), %xmm4
vmovq 0x38(%rbp,%rax), %xmm5
vmovq 0x38(%rbp), %xmm6
vpunpcklqdq %xmm1, %xmm4, %xmm1 # xmm1 = xmm4[0],xmm1[0]
vpunpcklqdq %xmm5, %xmm6, %xmm4 # xmm4 = xmm6[0],xmm5[0]
vinserti128 $0x1, %xmm1, %ymm4, %ymm1
vpxorq %ymm31, %ymm1, %ymm31
vmovq 0x40(%rbp,%rcx), %xmm1
vmovq 0x40(%rbp,%rdx), %xmm4
vmovq 0x40(%rbp,%rax), %xmm5
vmovq 0x40(%rbp), %xmm6
vpunpcklqdq %xmm1, %xmm4, %xmm1 # xmm1 = xmm4[0],xmm1[0]
vpunpcklqdq %xmm5, %xmm6, %xmm4 # xmm4 = xmm6[0],xmm5[0]
vinserti128 $0x1, %xmm1, %ymm4, %ymm1
vpxorq %ymm29, %ymm1, %ymm18
vmovq 0x48(%rbp,%rcx), %xmm1
vmovq 0x48(%rbp,%rdx), %xmm4
vmovq 0x48(%rbp,%rax), %xmm5
vmovq 0x48(%rbp), %xmm6
vpunpcklqdq %xmm1, %xmm4, %xmm1 # xmm1 = xmm4[0],xmm1[0]
vpunpcklqdq %xmm5, %xmm6, %xmm4 # xmm4 = xmm6[0],xmm5[0]
vinserti128 $0x1, %xmm1, %ymm4, %ymm1
vpxorq %ymm27, %ymm1, %ymm27
vmovq 0x50(%rbp,%rcx), %xmm1
vmovq 0x50(%rbp,%rdx), %xmm4
vmovq 0x50(%rbp,%rax), %xmm5
vmovq 0x50(%rbp), %xmm6
vpunpcklqdq %xmm1, %xmm4, %xmm1 # xmm1 = xmm4[0],xmm1[0]
vpunpcklqdq %xmm5, %xmm6, %xmm4 # xmm4 = xmm6[0],xmm5[0]
vinserti128 $0x1, %xmm1, %ymm4, %ymm1
vpxor 0x20(%rsp), %ymm1, %ymm8
vmovq 0x58(%rbp,%rcx), %xmm1
vmovq 0x58(%rbp,%rdx), %xmm4
vmovq 0x58(%rbp,%rax), %xmm5
vmovq 0x58(%rbp), %xmm6
vpunpcklqdq %xmm1, %xmm4, %xmm1 # xmm1 = xmm4[0],xmm1[0]
vpunpcklqdq %xmm5, %xmm6, %xmm4 # xmm4 = xmm6[0],xmm5[0]
vinserti128 $0x1, %xmm1, %ymm4, %ymm1
vpxorq %ymm20, %ymm1, %ymm20
vmovdqu64 %ymm20, 0x110(%rsp)
vmovq 0x60(%rbp,%rcx), %xmm1
vmovq 0x60(%rbp,%rdx), %xmm4
vmovq 0x60(%rbp,%rax), %xmm5
vmovq 0x60(%rbp), %xmm6
vpunpcklqdq %xmm1, %xmm4, %xmm1 # xmm1 = xmm4[0],xmm1[0]
vpunpcklqdq %xmm5, %xmm6, %xmm4 # xmm4 = xmm6[0],xmm5[0]
vinserti128 $0x1, %xmm1, %ymm4, %ymm1
vpxorq %ymm24, %ymm1, %ymm7
vmovq 0x68(%rbp,%rcx), %xmm1
vmovq 0x68(%rbp,%rdx), %xmm4
vmovq 0x68(%rbp,%rax), %xmm5
vmovq 0x68(%rbp), %xmm6
vpunpcklqdq %xmm1, %xmm4, %xmm1 # xmm1 = xmm4[0],xmm1[0]
vpunpcklqdq %xmm5, %xmm6, %xmm4 # xmm4 = xmm6[0],xmm5[0]
vinserti128 $0x1, %xmm1, %ymm4, %ymm1
vpxorq %ymm23, %ymm1, %ymm5
vmovq 0x70(%rbp,%rcx), %xmm1
vmovq 0x70(%rbp,%rdx), %xmm4
vmovq 0x70(%rbp,%rax), %xmm6
vmovq 0x70(%rbp), %xmm10
vpunpcklqdq %xmm1, %xmm4, %xmm1 # xmm1 = xmm4[0],xmm1[0]
vpunpcklqdq %xmm6, %xmm10, %xmm4 # xmm4 = xmm10[0],xmm6[0]
vinserti128 $0x1, %xmm1, %ymm4, %ymm1
vpxorq %ymm21, %ymm1, %ymm21
vmovdqu64 %ymm21, 0xe0(%rsp)
vmovq 0x78(%rbp,%rcx), %xmm1
vmovq 0x78(%rbp,%rdx), %xmm4
vmovq 0x78(%rbp,%rax), %xmm6
vmovq 0x78(%rbp), %xmm10
vpunpcklqdq %xmm1, %xmm4, %xmm1 # xmm1 = xmm4[0],xmm1[0]
vpunpcklqdq %xmm6, %xmm10, %xmm4 # xmm4 = xmm10[0],xmm6[0]
vinserti128 $0x1, %xmm1, %ymm4, %ymm1
vpxorq %ymm9, %ymm1, %ymm29
vmovq 0x80(%rbp,%rcx), %xmm1
vmovq 0x80(%rbp,%rdx), %xmm4
vmovq 0x80(%rbp,%rax), %xmm6
vmovq 0x80(%rbp), %xmm9
vpunpcklqdq %xmm1, %xmm4, %xmm1 # xmm1 = xmm4[0],xmm1[0]
vpunpcklqdq %xmm6, %xmm9, %xmm4 # xmm4 = xmm9[0],xmm6[0]
vinserti128 $0x1, %xmm1, %ymm4, %ymm1
vpxor %ymm1, %ymm11, %ymm9
vmovq 0x88(%rbp,%rcx), %xmm1
vmovq 0x88(%rbp,%rdx), %xmm4
vmovq 0x88(%rbp,%rax), %xmm6
vmovq 0x88(%rbp), %xmm10
vpunpcklqdq %xmm1, %xmm4, %xmm1 # xmm1 = xmm4[0],xmm1[0]
vpunpcklqdq %xmm6, %xmm10, %xmm4 # xmm4 = xmm10[0],xmm6[0]
vinserti128 $0x1, %xmm1, %ymm4, %ymm1
vpxorq %ymm19, %ymm1, %ymm25
vmovq 0x90(%rbp,%rcx), %xmm1
vmovq 0x90(%rbp,%rdx), %xmm4
vmovq 0x90(%rbp,%rax), %xmm10
vmovq 0x90(%rbp), %xmm11
vpunpcklqdq %xmm1, %xmm4, %xmm1 # xmm1 = xmm4[0],xmm1[0]
vpunpcklqdq %xmm10, %xmm11, %xmm4 # xmm4 = xmm11[0],xmm10[0]
vinserti128 $0x1, %xmm1, %ymm4, %ymm1
vpxorq %ymm17, %ymm1, %ymm11
vmovq 0x98(%rbp,%rcx), %xmm1
vmovq 0x98(%rbp,%rdx), %xmm4
vmovq 0x98(%rbp,%rax), %xmm10
vmovq 0x98(%rbp), %xmm12
vpunpcklqdq %xmm1, %xmm4, %xmm1 # xmm1 = xmm4[0],xmm1[0]
vpunpcklqdq %xmm10, %xmm12, %xmm4 # xmm4 = xmm12[0],xmm10[0]
vinserti128 $0x1, %xmm1, %ymm4, %ymm1
vpxorq %ymm16, %ymm1, %ymm24
vmovq 0xa0(%rbp,%rcx), %xmm1
vmovq 0xa0(%rbp,%rdx), %xmm4
vmovq 0xa0(%rbp,%rax), %xmm10
vmovq 0xa0(%rbp), %xmm12
vpunpcklqdq %xmm1, %xmm4, %xmm1 # xmm1 = xmm4[0],xmm1[0]
vpunpcklqdq %xmm10, %xmm12, %xmm4 # xmm4 = xmm12[0],xmm10[0]
vinserti128 $0x1, %xmm1, %ymm4, %ymm1
vpxorq (%rsp), %ymm1, %ymm23
vmovdqa %ymm13, %ymm1
vmovdqa %ymm14, %ymm0
vpternlogq $0x96, %ymm22, %ymm14, %ymm1
vpternlogq $0x96, %ymm20, %ymm9, %ymm1
vmovdqa64 %ymm27, %ymm4
vmovdqa64 %ymm3, %ymm20
vpternlogq $0x96, %ymm30, %ymm3, %ymm4
vpternlogq $0x96, %ymm21, %ymm24, %ymm4
vprolq $0x1, %ymm1, %ymm10
vpxor %ymm4, %ymm10, %ymm10
vpxorq %ymm8, %ymm10, %ymm17
vmovdqa %ymm8, %ymm12
vmovdqu 0x60(%rsp), %ymm6
vmovdqu 0x80(%rsp), %ymm3
vpternlogq $0x96, %ymm3, %ymm6, %ymm12
vpternlogq $0x96, %ymm29, %ymm23, %ymm12
vmovdqa64 %ymm18, %ymm16
vpternlogq $0x96, %ymm26, %ymm28, %ymm16
vpternlogq $0x96, %ymm5, %ymm11, %ymm16
vprolq $0x1, %ymm16, %ymm8
vpxor %ymm1, %ymm8, %ymm8
vpxorq %ymm31, %ymm8, %ymm21
vmovdqu 0xc0(%rsp), %ymm14
vpternlogq $0x96, %ymm2, %ymm14, %ymm31
vpternlogq $0x96, %ymm7, %ymm25, %ymm31
vprolq $0x1, %ymm31, %ymm1
vpxor %ymm1, %ymm12, %ymm1
vprolq $0x1, %ymm4, %ymm4
vpxorq %ymm31, %ymm4, %ymm4
vprolq $0x1, %ymm12, %ymm12
vpxorq %ymm16, %ymm12, %ymm12
vpxor %ymm3, %ymm10, %ymm3
vpxor %ymm1, %ymm13, %ymm13
vprolq $0x2c, %ymm13, %ymm31
vpxor %ymm7, %ymm8, %ymm7
vprolq $0x2b, %ymm7, %ymm22
vpandnq %ymm22, %ymm31, %ymm16
vpternlogq $0x96, 0xff67(%rip){1to4}, %ymm3, %ymm16 # 0x212a0
vpxor %ymm4, %ymm11, %ymm7
vprolq $0x15, %ymm7, %ymm19
vmovdqa64 %ymm31, %ymm13
vpternlogq $0xd2, %ymm19, %ymm22, %ymm13
vpxorq %ymm30, %ymm12, %ymm7
vprolq $0xe, %ymm7, %ymm15
vpternlogq $0xd2, %ymm15, %ymm19, %ymm22
vmovdqu64 %ymm22, 0x20(%rsp)
vpternlogq $0xd2, %ymm3, %ymm15, %ymm19
vpternlogq $0xd2, %ymm31, %ymm3, %ymm15
vpxorq %ymm28, %ymm4, %ymm3
vprolq $0x1c, %ymm3, %ymm7
vpxorq %ymm27, %ymm12, %ymm3
vprolq $0x14, %ymm3, %ymm11
vprolq $0x3, %ymm17, %ymm17
vmovdqa %ymm7, %ymm3
vpternlogq $0xd2, %ymm17, %ymm11, %ymm3
vmovdqu %ymm3, 0x80(%rsp)
vpxor %ymm1, %ymm9, %ymm3
vprolq $0x2d, %ymm3, %ymm3
vmovdqa64 %ymm11, %ymm31
vpternlogq $0xd2, %ymm3, %ymm17, %ymm31
vpxor %ymm2, %ymm8, %ymm9
vprolq $0x3d, %ymm9, %ymm27
vpternlogq $0xd2, %ymm27, %ymm3, %ymm17
vpternlogq $0xd2, %ymm7, %ymm27, %ymm3
vpternlogq $0xd2, %ymm11, %ymm7, %ymm27
vpxor %ymm0, %ymm1, %ymm7
vprolq $0x1, %ymm7, %ymm7
vprolq $0x6, %ymm21, %ymm9
vpxor %ymm5, %ymm4, %ymm5
vprolq $0x19, %ymm5, %ymm30
vmovdqa64 %ymm7, %ymm28
vpternlogq $0xd2, %ymm30, %ymm9, %ymm28
vpxorq %ymm24, %ymm12, %ymm5
vprolq $0x8, %ymm5, %ymm21
vmovdqa %ymm9, %ymm0
vpternlogq $0xd2, %ymm21, %ymm30, %ymm0
vmovdqa64 %ymm0, %ymm24
vmovdqu %ymm0, 0x40(%rsp)
vpxorq %ymm23, %ymm10, %ymm5
vprolq $0x12, %ymm5, %ymm22
vpternlogq $0xd2, %ymm22, %ymm21, %ymm30
vpternlogq $0xd2, %ymm7, %ymm22, %ymm21
vpternlogq $0xd2, %ymm9, %ymm7, %ymm22
vpxorq %ymm20, %ymm12, %ymm0
vprolq $0x1b, %ymm0, %ymm5
vpxor %ymm6, %ymm10, %ymm0
vprolq $0x24, %ymm0, %ymm7
vpxor 0x110(%rsp), %ymm1, %ymm0
vprolq $0xa, %ymm0, %ymm20
vmovdqa %ymm5, %ymm0
vpternlogq $0xd2, %ymm20, %ymm7, %ymm0
vpxorq %ymm25, %ymm8, %ymm2
vprolq $0xf, %ymm2, %ymm6
vmovdqa %ymm7, %ymm11
vpternlogq $0xd2, %ymm6, %ymm20, %ymm11
vpxorq %ymm26, %ymm4, %ymm9
vprolq $0x38, %ymm9, %ymm26
vpternlogq $0xd2, %ymm26, %ymm6, %ymm20
vpternlogq $0xd2, %ymm5, %ymm26, %ymm6
vpternlogq $0xd2, %ymm7, %ymm5, %ymm26
vpxor %ymm14, %ymm8, %ymm5
vprolq $0x3e, %ymm5, %ymm9
vpxorq %ymm18, %ymm4, %ymm4
vprolq $0x37, %ymm4, %ymm4
vpxor 0xe0(%rsp), %ymm12, %ymm5
vprolq $0x27, %ymm5, %ymm5
vmovdqa64 %ymm9, %ymm18
vpternlogq $0xd2, %ymm5, %ymm4, %ymm18
vpxorq %ymm29, %ymm10, %ymm7
vprolq $0x29, %ymm7, %ymm23
vmovdqa %ymm4, %ymm2
vpternlogq $0xd2, %ymm23, %ymm5, %ymm2
vmovdqu %ymm2, (%rsp)
vmovdqa %ymm11, %ymm8
vpternlogq $0x96, %ymm13, %ymm31, %ymm8
vpternlogq $0x96, %ymm2, %ymm24, %ymm8
vpxor 0xa0(%rsp), %ymm1, %ymm1
vprolq $0x2, %ymm1, %ymm7
vpternlogq $0xd2, %ymm7, %ymm23, %ymm5
vpternlogq $0xd2, %ymm9, %ymm7, %ymm23
vpternlogq $0xd2, %ymm4, %ymm9, %ymm7
vmovdqa64 %ymm22, %ymm9
vpternlogq $0x96, %ymm7, %ymm15, %ymm9
vpternlogq $0x96, %ymm27, %ymm26, %ymm9
vprolq $0x1, %ymm8, %ymm1
vpxorq %ymm9, %ymm1, %ymm29
vpxorq %ymm0, %ymm29, %ymm1
vmovdqu %ymm1, 0xa0(%rsp)
vmovdqa %ymm0, %ymm4
vpternlogq $0x96, %ymm28, %ymm16, %ymm4
vmovdqu 0x80(%rsp), %ymm14
vpternlogq $0x96, %ymm14, %ymm18, %ymm4
vmovdqa64 %ymm19, %ymm10
vpternlogq $0x96, %ymm3, %ymm23, %ymm10
vpternlogq $0x96, %ymm6, %ymm21, %ymm10
vprolq $0x1, %ymm10, %ymm0
vpxor %ymm0, %ymm8, %ymm1
vpxor %ymm5, %ymm1, %ymm2
vpternlogq $0x96, %ymm20, %ymm17, %ymm5
vmovdqu64 0x20(%rsp), %ymm25
vpternlogq $0x96, %ymm25, %ymm30, %ymm5
vprolq $0x1, %ymm5, %ymm0
vpxor %ymm4, %ymm0, %ymm0
vprolq $0x1, %ymm9, %ymm8
vpxor %ymm5, %ymm8, %ymm9
vprolq $0x1, %ymm4, %ymm4
vpxor %ymm4, %ymm10, %ymm8
vpxorq %ymm16, %ymm29, %ymm4
vpxorq %ymm31, %ymm0, %ymm5
vprolq $0x2c, %ymm5, %ymm10
vpxorq %ymm30, %ymm1, %ymm5
vprolq $0x2b, %ymm5, %ymm16
vpandnq %ymm16, %ymm10, %ymm5
vpternlogq $0x96, 0xfc82(%rip){1to4}, %ymm4, %ymm5 # 0x212a8
vpxor %ymm6, %ymm9, %ymm6
vprolq $0x15, %ymm6, %ymm24
vmovdqa %ymm10, %ymm6
vpternlogq $0xd2, %ymm24, %ymm16, %ymm6
vmovdqu %ymm6, 0x60(%rsp)
vpxor %ymm7, %ymm8, %ymm6
vprolq $0xe, %ymm6, %ymm12
vpternlogq $0xd2, %ymm12, %ymm24, %ymm16
vmovdqa64 %ymm16, %ymm31
vmovdqu64 %ymm16, 0xc0(%rsp)
vpternlogq $0xd2, %ymm4, %ymm12, %ymm24
vpternlogq $0xd2, %ymm10, %ymm4, %ymm12
vpxorq %ymm19, %ymm9, %ymm4
vprolq $0x1c, %ymm4, %ymm7
vpxorq %ymm27, %ymm8, %ymm4
vprolq $0x14, %ymm4, %ymm10
vpxorq %ymm28, %ymm29, %ymm4
vprolq $0x3, %ymm4, %ymm19
vmovdqa64 %ymm7, %ymm28
vpternlogq $0xd2, %ymm19, %ymm10, %ymm28
vpxor %ymm0, %ymm11, %ymm4
vprolq $0x2d, %ymm4, %ymm4
vmovdqa %ymm10, %ymm6
vpternlogq $0xd2, %ymm4, %ymm19, %ymm6
vprolq $0x3d, %ymm2, %ymm27
vpternlogq $0xd2, %ymm27, %ymm4, %ymm19
vpternlogq $0xd2, %ymm7, %ymm27, %ymm4
vpternlogq $0xd2, %ymm10, %ymm7, %ymm27
vpxor %ymm0, %ymm13, %ymm2
vprolq $0x1, %ymm2, %ymm2
vpxorq %ymm17, %ymm1, %ymm7
vprolq $0x6, %ymm7, %ymm10
vpxorq %ymm21, %ymm9, %ymm7
vprolq $0x19, %ymm7, %ymm21
vmovdqa %ymm2, %ymm7
vpternlogq $0xd2, %ymm21, %ymm10, %ymm7
vpxorq %ymm26, %ymm8, %ymm11
vprolq $0x8, %ymm11, %ymm30
vmovdqa %ymm10, %ymm11
vpternlogq $0xd2, %ymm30, %ymm21, %ymm11
vmovdqa64 %ymm11, %ymm17
vmovdqu %ymm11, 0xe0(%rsp)
vpxorq %ymm18, %ymm29, %ymm11
vprolq $0x12, %ymm11, %ymm16
vpternlogq $0xd2, %ymm16, %ymm30, %ymm21
vpternlogq $0xd2, %ymm2, %ymm16, %ymm30
vpternlogq $0xd2, %ymm10, %ymm2, %ymm16
vpxor %ymm15, %ymm8, %ymm2
vprolq $0x1b, %ymm2, %ymm2
vpxorq %ymm14, %ymm29, %ymm10
vprolq $0x24, %ymm10, %ymm11
vpxor 0x40(%rsp), %ymm0, %ymm10
vprolq $0xa, %ymm10, %ymm18
vmovdqa %ymm2, %ymm10
vpternlogq $0xd2, %ymm18, %ymm11, %ymm10
vmovdqa %ymm10, %ymm13
vmovdqu %ymm10, 0x40(%rsp)
vpxorq %ymm20, %ymm1, %ymm10
vprolq $0xf, %ymm10, %ymm10
vmovdqa %ymm11, %ymm15
vpternlogq $0xd2, %ymm10, %ymm18, %ymm15
vpxorq %ymm23, %ymm9, %ymm20
vprolq $0x38, %ymm20, %ymm23
vpternlogq $0xd2, %ymm23, %ymm10, %ymm18
vpternlogq $0xd2, %ymm2, %ymm23, %ymm10
vpternlogq $0xd2, %ymm11, %ymm2, %ymm23
vpxorq %ymm25, %ymm1, %ymm1
vprolq $0x3e, %ymm1, %ymm1
vpxor %ymm3, %ymm9, %ymm2
vprolq $0x37, %ymm2, %ymm3
vpxorq %ymm22, %ymm8, %ymm2
vprolq $0x27, %ymm2, %ymm9
vmovdqa %ymm1, %ymm2
vpternlogq $0xd2, %ymm9, %ymm3, %ymm2
vprolq $0x29, 0xa0(%rsp), %ymm14
vmovdqa %ymm3, %ymm8
vpternlogq $0xd2, %ymm14, %ymm9, %ymm8
vmovdqu %ymm8, 0x20(%rsp)
vpxor (%rsp), %ymm0, %ymm0
vprolq $0x2, %ymm0, %ymm11
vpternlogq $0xd2, %ymm11, %ymm14, %ymm9
vmovdqa %ymm9, %ymm0
vpternlogq $0x96, %ymm31, %ymm19, %ymm0
vpternlogq $0x96, %ymm21, %ymm18, %ymm0
vpternlogq $0xd2, %ymm1, %ymm11, %ymm14
vpternlogq $0xd2, %ymm3, %ymm1, %ymm11
vmovdqa %ymm12, %ymm1
vpternlogq $0x96, %ymm27, %ymm11, %ymm1
vpternlogq $0x96, %ymm16, %ymm23, %ymm1
vprolq $0x1, %ymm1, %ymm3
vpxorq %ymm0, %ymm3, %ymm29
vpxorq %ymm30, %ymm29, %ymm3
vmovdqu %ymm3, 0x80(%rsp)
vpternlogq $0x96, %ymm4, %ymm24, %ymm30
vmovdqa %ymm15, %ymm3
vmovdqu64 0x60(%rsp), %ymm22
vpternlogq $0x96, %ymm22, %ymm6, %ymm3
vpternlogq $0x96, %ymm8, %ymm17, %ymm3
vprolq $0x1, %ymm3, %ymm8
vpxorq %ymm1, %ymm8, %ymm31
vpxorq %ymm28, %ymm31, %ymm17
vpternlogq $0x96, %ymm7, %ymm2, %ymm28
vpternlogq $0x96, %ymm5, %ymm13, %ymm28
vpternlogq $0x96, %ymm14, %ymm10, %ymm30
vprolq $0x1, %ymm0, %ymm0
vpxorq %ymm28, %ymm0, %ymm1
vprolq $0x1, %ymm30, %ymm0
vpxor %ymm0, %ymm3, %ymm0
vprolq $0x1, %ymm28, %ymm3
vpxorq %ymm30, %ymm3, %ymm3
vpxorq %ymm5, %ymm31, %ymm5
vpxor %ymm6, %ymm1, %ymm6
vprolq $0x2c, %ymm6, %ymm8
vpxorq %ymm21, %ymm0, %ymm6
vprolq $0x2b, %ymm6, %ymm26
vpandnq %ymm26, %ymm8, %ymm28
vpternlogq $0x96, 0xf9a1(%rip){1to4}, %ymm5, %ymm28 # 0x212b0
vpxorq %ymm10, %ymm29, %ymm6
vprolq $0x15, %ymm6, %ymm21
vmovdqa64 %ymm8, %ymm20
vpternlogq $0xd2, %ymm21, %ymm26, %ymm20
vpxor %ymm3, %ymm11, %ymm10
vprolq $0xe, %ymm10, %ymm13
vpternlogq $0xd2, %ymm13, %ymm21, %ymm26
vpternlogq $0xd2, %ymm5, %ymm13, %ymm21
vpternlogq $0xd2, %ymm8, %ymm5, %ymm13
vpxorq %ymm24, %ymm29, %ymm5
vprolq $0x1c, %ymm5, %ymm5
vpxorq %ymm27, %ymm3, %ymm8
vprolq $0x14, %ymm8, %ymm10
vpxorq %ymm7, %ymm31, %ymm7
vprolq $0x3, %ymm7, %ymm25
vmovdqa %ymm5, %ymm6
vpternlogq $0xd2, %ymm25, %ymm10, %ymm6
vmovdqu %ymm6, (%rsp)
vpxor %ymm1, %ymm15, %ymm7
vprolq $0x2d, %ymm7, %ymm15
vmovdqa64 %ymm10, %ymm24
vpternlogq $0xd2, %ymm15, %ymm25, %ymm24
vpxor %ymm0, %ymm9, %ymm7
vprolq $0x3d, %ymm7, %ymm8
vpternlogq $0xd2, %ymm8, %ymm15, %ymm25
vpternlogq $0xd2, %ymm5, %ymm8, %ymm15
vpternlogq $0xd2, %ymm10, %ymm5, %ymm8
vpxorq %ymm22, %ymm1, %ymm5
vprolq $0x1, %ymm5, %ymm7
vpxorq %ymm19, %ymm0, %ymm5
vprolq $0x6, %ymm5, %ymm9
vprolq $0x19, 0x80(%rsp), %ymm30
vmovdqa %ymm7, %ymm5
vpternlogq $0xd2, %ymm30, %ymm9, %ymm5
vpxorq %ymm23, %ymm3, %ymm10
vprolq $0x8, %ymm10, %ymm22
vmovdqa64 %ymm9, %ymm23
vpternlogq $0xd2, %ymm22, %ymm30, %ymm23
vpxorq %ymm2, %ymm31, %ymm2
vprolq $0x12, %ymm2, %ymm19
vpternlogq $0xd2, %ymm19, %ymm22, %ymm30
vpternlogq $0xd2, %ymm7, %ymm19, %ymm22
vpternlogq $0xd2, %ymm9, %ymm7, %ymm19
vpxor %ymm3, %ymm12, %ymm2
vprolq $0x1b, %ymm2, %ymm2
vprolq $0x24, %ymm17, %ymm9
vpxor 0xe0(%rsp), %ymm1, %ymm7
vprolq $0xa, %ymm7, %ymm7
vmovdqa %ymm2, %ymm6
vpternlogq $0xd2, %ymm7, %ymm9, %ymm6
vmovdqu %ymm6, 0x60(%rsp)
vpxorq %ymm18, %ymm0, %ymm10
vprolq $0xf, %ymm10, %ymm11
vmovdqa64 %ymm9, %ymm17
vpternlogq $0xd2, %ymm11, %ymm7, %ymm17
vpxorq %ymm14, %ymm29, %ymm10
vprolq $0x38, %ymm10, %ymm10
vpternlogq $0xd2, %ymm10, %ymm11, %ymm7
vpternlogq $0xd2, %ymm2, %ymm10, %ymm11
vpternlogq $0xd2, %ymm9, %ymm2, %ymm10
vmovdqa64 %ymm19, %ymm14
vpternlogq $0x96, %ymm8, %ymm13, %ymm14
vpxor 0xc0(%rsp), %ymm0, %ymm0
vprolq $0x3e, %ymm0, %ymm0
vpxorq %ymm4, %ymm29, %ymm2
vprolq $0x37, %ymm2, %ymm12
vpxorq %ymm16, %ymm3, %ymm2
vprolq $0x27, %ymm2, %ymm4
vmovdqa64 %ymm0, %ymm29
vpternlogq $0xd2, %ymm4, %ymm12, %ymm29
vpxorq 0x40(%rsp), %ymm31, %ymm2
vprolq $0x29, %ymm2, %ymm9
vmovdqa64 %ymm12, %ymm18
vpternlogq $0xd2, %ymm9, %ymm4, %ymm18
vmovdqa64 %ymm17, %ymm3
vpternlogq $0x96, %ymm24, %ymm20, %ymm3
vpternlogq $0x96, %ymm18, %ymm23, %ymm3
vpxor 0x20(%rsp), %ymm1, %ymm1
vprolq $0x2, %ymm1, %ymm2
vpternlogq $0xd2, %ymm2, %ymm9, %ymm4
vpternlogq $0xd2, %ymm0, %ymm2, %ymm9
vpternlogq $0xd2, %ymm12, %ymm0, %ymm2
vpternlogq $0x96, %ymm2, %ymm10, %ymm14
vprolq $0x1, %ymm3, %ymm0
vpxorq %ymm14, %ymm0, %ymm27
vpxorq %ymm5, %ymm27, %ymm31
vpternlogq $0x96, (%rsp), %ymm28, %ymm5
vpternlogq $0x96, %ymm6, %ymm29, %ymm5
vmovdqa %ymm9, %ymm1
vpternlogq $0x96, %ymm15, %ymm21, %ymm1
vpternlogq $0x96, %ymm22, %ymm11, %ymm1
vprolq $0x1, %ymm1, %ymm0
vpxor %ymm0, %ymm3, %ymm3
vpxor %ymm4, %ymm3, %ymm6
vpternlogq $0x96, %ymm25, %ymm26, %ymm4
vpternlogq $0x96, %ymm30, %ymm7, %ymm4
vprolq $0x1, %ymm4, %ymm0
vpxor %ymm5, %ymm0, %ymm12
vprolq $0x1, %ymm14, %ymm0
vpxor %ymm0, %ymm4, %ymm0
vprolq $0x1, %ymm5, %ymm4
vpxor %ymm1, %ymm4, %ymm1
vpxorq %ymm28, %ymm27, %ymm4
vpxorq %ymm24, %ymm12, %ymm5
vprolq $0x2c, %ymm5, %ymm5
vpxorq %ymm30, %ymm3, %ymm14
vprolq $0x2b, %ymm14, %ymm14
vpandnq %ymm14, %ymm5, %ymm16
vpternlogq $0x96, 0xf6e7(%rip){1to4}, %ymm4, %ymm16 # 0x212b8
vmovdqu64 %ymm16, 0x20(%rsp)
vpxor %ymm0, %ymm11, %ymm11
vprolq $0x15, %ymm11, %ymm16
vmovdqa %ymm5, %ymm11
vpternlogq $0xd2, %ymm16, %ymm14, %ymm11
vpxor %ymm2, %ymm1, %ymm2
vprolq $0xe, %ymm2, %ymm2
vpternlogq $0xd2, %ymm2, %ymm16, %ymm14
vmovdqa64 %ymm14, %ymm30
vmovdqu %ymm14, 0x40(%rsp)
vpternlogq $0xd2, %ymm4, %ymm2, %ymm16
vpternlogq $0xd2, %ymm5, %ymm4, %ymm2
vpxorq %ymm21, %ymm0, %ymm4
vprolq $0x1c, %ymm4, %ymm4
vpxor %ymm1, %ymm8, %ymm5
vprolq $0x14, %ymm5, %ymm5
vprolq $0x3, %ymm31, %ymm14
vmovdqa64 %ymm4, %ymm28
vpternlogq $0xd2, %ymm14, %ymm5, %ymm28
vpxorq %ymm17, %ymm12, %ymm8
vprolq $0x2d, %ymm8, %ymm8
vmovdqa64 %ymm5, %ymm24
vpternlogq $0xd2, %ymm8, %ymm14, %ymm24
vprolq $0x3d, %ymm6, %ymm21
vpternlogq $0xd2, %ymm21, %ymm8, %ymm14
vpternlogq $0xd2, %ymm4, %ymm21, %ymm8
vmovdqa64 %ymm8, %ymm17
vmovdqu %ymm8, 0x110(%rsp)
vpternlogq $0xd2, %ymm5, %ymm4, %ymm21
vpxorq %ymm20, %ymm12, %ymm4
vprolq $0x1, %ymm4, %ymm5
vpxorq %ymm25, %ymm3, %ymm4
vprolq $0x6, %ymm4, %ymm8
vpxorq %ymm22, %ymm0, %ymm4
vprolq $0x19, %ymm4, %ymm6
vmovdqa64 %ymm5, %ymm22
vpternlogq $0xd2, %ymm6, %ymm8, %ymm22
vpxor %ymm1, %ymm10, %ymm4
vprolq $0x8, %ymm4, %ymm31
vmovdqa %ymm8, %ymm4
vpternlogq $0xd2, %ymm31, %ymm6, %ymm4
vmovdqu %ymm4, 0x80(%rsp)
vpxorq %ymm29, %ymm27, %ymm4
vprolq $0x12, %ymm4, %ymm29
vpternlogq $0xd2, %ymm29, %ymm31, %ymm6
vpternlogq $0xd2, %ymm5, %ymm29, %ymm31
vpternlogq $0xd2, %ymm8, %ymm5, %ymm29
vpxor %ymm1, %ymm13, %ymm5
vprolq $0x1b, %ymm5, %ymm5
vpxorq (%rsp), %ymm27, %ymm8
vprolq $0x24, %ymm8, %ymm8
vpxorq %ymm23, %ymm12, %ymm10
vprolq $0xa, %ymm10, %ymm20
vmovdqa %ymm5, %ymm10
vpternlogq $0xd2, %ymm20, %ymm8, %ymm10
vmovdqa %ymm10, %ymm13
vmovdqu %ymm10, (%rsp)
vpxor %ymm7, %ymm3, %ymm7
vprolq $0xf, %ymm7, %ymm10
vmovdqa64 %ymm8, %ymm25
vpternlogq $0xd2, %ymm10, %ymm20, %ymm25
vpxor %ymm0, %ymm9, %ymm7
vprolq $0x38, %ymm7, %ymm23
vpternlogq $0xd2, %ymm23, %ymm10, %ymm20
vpternlogq $0xd2, %ymm5, %ymm23, %ymm10
vpternlogq $0xd2, %ymm8, %ymm5, %ymm23
vpxorq %ymm26, %ymm3, %ymm3
vprolq $0x3e, %ymm3, %ymm9
vpxor %ymm0, %ymm15, %ymm0
vprolq $0x37, %ymm0, %ymm0
vpxorq %ymm19, %ymm1, %ymm1
vprolq $0x27, %ymm1, %ymm8
vmovdqa %ymm9, %ymm7
vpternlogq $0xd2, %ymm8, %ymm0, %ymm7
vpxorq 0x60(%rsp), %ymm27, %ymm1
vprolq $0x29, %ymm1, %ymm27
vmovdqa64 %ymm0, %ymm19
vpternlogq $0xd2, %ymm27, %ymm8, %ymm19
vpxorq %ymm18, %ymm12, %ymm1
vprolq $0x2, %ymm1, %ymm5
vpternlogq $0xd2, %ymm5, %ymm27, %ymm8
vmovdqa %ymm8, %ymm3
vpternlogq $0x96, %ymm30, %ymm14, %ymm3
vpternlogq $0x96, %ymm6, %ymm20, %ymm3
vpternlogq $0xd2, %ymm9, %ymm5, %ymm27
vpternlogq $0xd2, %ymm0, %ymm9, %ymm5
vmovdqa %ymm2, %ymm0
vpternlogq $0x96, %ymm21, %ymm5, %ymm0
vpternlogq $0x96, %ymm29, %ymm23, %ymm0
vprolq $0x1, %ymm0, %ymm1
vpxorq %ymm3, %ymm1, %ymm30
vpxorq %ymm31, %ymm30, %ymm12
vpternlogq $0x96, %ymm17, %ymm16, %ymm31
vmovdqa64 %ymm25, %ymm1
vpternlogq $0x96, %ymm11, %ymm24, %ymm1
vmovdqu 0x80(%rsp), %ymm4
vpternlogq $0x96, %ymm19, %ymm4, %ymm1
vprolq $0x1, %ymm1, %ymm9
vpxor %ymm0, %ymm9, %ymm9
vpxorq %ymm28, %ymm9, %ymm17
vpternlogq $0x96, %ymm22, %ymm7, %ymm28
vmovdqu 0x20(%rsp), %ymm15
vpternlogq $0x96, %ymm15, %ymm13, %ymm28
vpternlogq $0x96, %ymm27, %ymm10, %ymm31
vprolq $0x1, %ymm3, %ymm0
vpxorq %ymm28, %ymm0, %ymm0
vprolq $0x1, %ymm31, %ymm3
vpxor %ymm3, %ymm1, %ymm1
vprolq $0x1, %ymm28, %ymm3
vpxorq %ymm31, %ymm3, %ymm3
vpxor %ymm15, %ymm9, %ymm15
vpxorq %ymm24, %ymm0, %ymm13
vprolq $0x2c, %ymm13, %ymm24
vpxor %ymm6, %ymm1, %ymm6
vprolq $0x2b, %ymm6, %ymm31
vpandnq %ymm31, %ymm24, %ymm13
vpternlogq $0x96, 0xf404(%rip){1to4}, %ymm15, %ymm13 # 0x212c0
vpxorq %ymm10, %ymm30, %ymm6
vprolq $0x15, %ymm6, %ymm26
vmovdqa64 %ymm24, %ymm6
vpternlogq $0xd2, %ymm26, %ymm31, %ymm6
vpxor %ymm5, %ymm3, %ymm5
vprolq $0xe, %ymm5, %ymm18
vpternlogq $0xd2, %ymm18, %ymm26, %ymm31
vpternlogq $0xd2, %ymm15, %ymm18, %ymm26
vpternlogq $0xd2, %ymm24, %ymm15, %ymm18
vpxorq %ymm16, %ymm30, %ymm5
vprolq $0x1c, %ymm5, %ymm5
vpxorq %ymm21, %ymm3, %ymm10
vprolq $0x14, %ymm10, %ymm10
vpxorq %ymm22, %ymm9, %ymm15
vprolq $0x3, %ymm15, %ymm24
vmovdqa %ymm5, %ymm15
vpternlogq $0xd2, %ymm24, %ymm10, %ymm15
vmovdqu %ymm15, 0xa0(%rsp)
vpxorq %ymm25, %ymm0, %ymm15
vprolq $0x2d, %ymm15, %ymm15
vmovdqa64 %ymm10, %ymm16
vpternlogq $0xd2, %ymm15, %ymm24, %ymm16
vpxor %ymm1, %ymm8, %ymm8
vprolq $0x3d, %ymm8, %ymm8
vpternlogq $0xd2, %ymm8, %ymm15, %ymm24
vpternlogq $0xd2, %ymm5, %ymm8, %ymm15
vpternlogq $0xd2, %ymm10, %ymm5, %ymm8
vpxor %ymm0, %ymm11, %ymm5
vprolq $0x1, %ymm5, %ymm5
vpxor %ymm1, %ymm14, %ymm10
vprolq $0x6, %ymm10, %ymm10
vprolq $0x19, %ymm12, %ymm12
vmovdqa %ymm5, %ymm11
vpternlogq $0xd2, %ymm12, %ymm10, %ymm11
vpxorq %ymm23, %ymm3, %ymm14
vprolq $0x8, %ymm14, %ymm28
vmovdqa %ymm10, %ymm14
vpternlogq $0xd2, %ymm28, %ymm12, %ymm14
vmovdqa64 %ymm14, %ymm21
vmovdqu %ymm14, 0xc0(%rsp)
vpxor %ymm7, %ymm9, %ymm7
vprolq $0x12, %ymm7, %ymm22
vpternlogq $0xd2, %ymm22, %ymm28, %ymm12
vpternlogq $0xd2, %ymm5, %ymm22, %ymm28
vpternlogq $0xd2, %ymm10, %ymm5, %ymm22
vpxor %ymm2, %ymm3, %ymm2
vprolq $0x1b, %ymm2, %ymm14
vprolq $0x24, %ymm17, %ymm23
vpxor %ymm4, %ymm0, %ymm2
vprolq $0xa, %ymm2, %ymm7
vmovdqa %ymm14, %ymm2
vpternlogq $0xd2, %ymm7, %ymm23, %ymm2
vmovdqa %ymm2, %ymm4
vmovdqu %ymm2, 0xe0(%rsp)
vpxorq %ymm20, %ymm1, %ymm2
vprolq $0xf, %ymm2, %ymm2
vmovdqa64 %ymm23, %ymm17
vpternlogq $0xd2, %ymm2, %ymm7, %ymm17
vpxorq %ymm27, %ymm30, %ymm10
vprolq $0x38, %ymm10, %ymm10
vpternlogq $0xd2, %ymm10, %ymm2, %ymm7
vpternlogq $0xd2, %ymm14, %ymm10, %ymm2
vpternlogq $0xd2, %ymm23, %ymm14, %ymm10
vmovdqa64 %ymm22, %ymm14
vpternlogq $0x96, %ymm8, %ymm18, %ymm14
vpxor 0x40(%rsp), %ymm1, %ymm1
vprolq $0x3e, %ymm1, %ymm23
vpxorq 0x110(%rsp), %ymm30, %ymm1
vprolq $0x37, %ymm1, %ymm25
vpxorq %ymm29, %ymm3, %ymm1
vprolq $0x27, %ymm1, %ymm20
vmovdqa64 %ymm23, %ymm5
vpternlogq $0xd2, %ymm20, %ymm25, %ymm5
vpxor (%rsp), %ymm9, %ymm1
vprolq $0x29, %ymm1, %ymm9
vmovdqa64 %ymm25, %ymm27
vpternlogq $0xd2, %ymm9, %ymm20, %ymm27
vmovdqa64 %ymm17, %ymm3
vpternlogq $0x96, %ymm16, %ymm6, %ymm3
vpternlogq $0x96, %ymm27, %ymm21, %ymm3
vpxorq %ymm19, %ymm0, %ymm0
vprolq $0x2, %ymm0, %ymm1
vpternlogq $0xd2, %ymm1, %ymm9, %ymm20
vpternlogq $0xd2, %ymm23, %ymm1, %ymm9
vpternlogq $0xd2, %ymm25, %ymm23, %ymm1
vpternlogq $0x96, %ymm1, %ymm10, %ymm14
vprolq $0x1, %ymm3, %ymm0
vpxorq %ymm14, %ymm0, %ymm19
vpxorq %ymm11, %ymm19, %ymm23
vmovdqu64 0xa0(%rsp), %ymm21
vpternlogq $0x96, %ymm21, %ymm13, %ymm11
vpternlogq $0x96, %ymm4, %ymm5, %ymm11
vmovdqa %ymm9, %ymm0
vpternlogq $0x96, %ymm15, %ymm26, %ymm0
vpternlogq $0x96, %ymm28, %ymm2, %ymm0
vprolq $0x1, %ymm0, %ymm25
vpxorq %ymm25, %ymm3, %ymm25
vpxorq %ymm20, %ymm25, %ymm4
vpternlogq $0x96, %ymm24, %ymm31, %ymm20
vpternlogq $0x96, %ymm12, %ymm7, %ymm20
vprolq $0x1, %ymm20, %ymm3
vpxor %ymm3, %ymm11, %ymm3
vprolq $0x1, %ymm14, %ymm14
vpxorq %ymm14, %ymm20, %ymm30
vprolq $0x1, %ymm11, %ymm11
vpxor %ymm0, %ymm11, %ymm0
vpxorq %ymm13, %ymm19, %ymm11
vpxorq %ymm16, %ymm3, %ymm14
vprolq $0x2c, %ymm14, %ymm14
vpxorq %ymm12, %ymm25, %ymm12
vprolq $0x2b, %ymm12, %ymm12
vpandn %ymm12, %ymm14, %ymm13
vpternlogq $0x96, 0xf131(%rip){1to4}, %ymm11, %ymm13 # 0x212c8
vmovdqu %ymm13, (%rsp)
vpxorq %ymm2, %ymm30, %ymm2
vprolq $0x15, %ymm2, %ymm16
vmovdqa %ymm14, %ymm2
vpternlogq $0xd2, %ymm16, %ymm12, %ymm2
vmovdqu %ymm2, 0x40(%rsp)
vpxor %ymm1, %ymm0, %ymm1
vprolq $0xe, %ymm1, %ymm1
vpternlogq $0xd2, %ymm1, %ymm16, %ymm12
vmovdqa %ymm12, %ymm2
vmovdqu %ymm12, 0x20(%rsp)
vpternlogq $0xd2, %ymm11, %ymm1, %ymm16
vpternlogq $0xd2, %ymm14, %ymm11, %ymm1
vmovdqa %ymm1, %ymm13
vpxorq %ymm26, %ymm30, %ymm1
vprolq $0x1c, %ymm1, %ymm11
vpxor %ymm0, %ymm8, %ymm1
vprolq $0x14, %ymm1, %ymm8
vprolq $0x3, %ymm23, %ymm14
vmovdqa %ymm11, %ymm1
vpternlogq $0xd2, %ymm14, %ymm8, %ymm1
vpxorq %ymm17, %ymm3, %ymm12
vprolq $0x2d, %ymm12, %ymm26
vmovdqa %ymm8, %ymm12
vpternlogq $0xd2, %ymm26, %ymm14, %ymm12
vprolq $0x3d, %ymm4, %ymm23
vpternlogq $0xd2, %ymm23, %ymm26, %ymm14
vpternlogq $0xd2, %ymm11, %ymm23, %ymm26
vpternlogq $0xd2, %ymm8, %ymm11, %ymm23
vpxor %ymm6, %ymm3, %ymm4
vprolq $0x1, %ymm4, %ymm8
vpxorq %ymm24, %ymm25, %ymm4
vprolq $0x6, %ymm4, %ymm29
vpxorq %ymm28, %ymm30, %ymm4
vprolq $0x19, %ymm4, %ymm6
vmovdqa64 %ymm8, %ymm24
vpternlogq $0xd2, %ymm6, %ymm29, %ymm24
vpxor %ymm0, %ymm10, %ymm4
vprolq $0x8, %ymm4, %ymm11
vmovdqa64 %ymm29, %ymm4
vpternlogq $0xd2, %ymm11, %ymm6, %ymm4
vmovdqu %ymm4, 0x60(%rsp)
vpxorq %ymm5, %ymm19, %ymm4
vprolq $0x12, %ymm4, %ymm20
vpternlogq $0xd2, %ymm20, %ymm11, %ymm6
vpternlogq $0xd2, %ymm8, %ymm20, %ymm11
vpternlogq $0xd2, %ymm29, %ymm8, %ymm20
vpxorq %ymm18, %ymm0, %ymm5
vprolq $0x1b, %ymm5, %ymm5
vpxorq %ymm21, %ymm19, %ymm8
vprolq $0x24, %ymm8, %ymm8
vpxor 0xc0(%rsp), %ymm3, %ymm10
vprolq $0xa, %ymm10, %ymm21
vmovdqa %ymm5, %ymm4
vpternlogq $0xd2, %ymm21, %ymm8, %ymm4
vmovdqu %ymm4, 0x80(%rsp)
vpxorq %ymm7, %ymm25, %ymm7
vprolq $0xf, %ymm7, %ymm10
vmovdqa64 %ymm8, %ymm17
vpternlogq $0xd2, %ymm10, %ymm21, %ymm17
vpxorq %ymm9, %ymm30, %ymm7
vprolq $0x38, %ymm7, %ymm28
vpternlogq $0xd2, %ymm28, %ymm10, %ymm21
vpternlogq $0xd2, %ymm5, %ymm28, %ymm10
vpternlogq $0xd2, %ymm8, %ymm5, %ymm28
vpxorq %ymm31, %ymm25, %ymm5
vprolq $0x3e, %ymm5, %ymm8
vpxorq %ymm15, %ymm30, %ymm5
vprolq $0x37, %ymm5, %ymm9
vpxorq %ymm22, %ymm0, %ymm0
vprolq $0x27, %ymm0, %ymm30
vmovdqa %ymm8, %ymm7
vpternlogq $0xd2, %ymm30, %ymm9, %ymm7
vpxorq 0xe0(%rsp), %ymm19, %ymm0
vprolq $0x29, %ymm0, %ymm29
vmovdqa %ymm9, %ymm0
vpternlogq $0xd2, %ymm29, %ymm30, %ymm0
vmovdqa64 %ymm0, %ymm18
vmovdqu %ymm0, 0xa0(%rsp)
vpxorq %ymm27, %ymm3, %ymm0
vprolq $0x2, %ymm0, %ymm5
vpternlogq $0xd2, %ymm5, %ymm29, %ymm30
vmovdqa64 %ymm30, %ymm3
vpternlogq $0x96, %ymm2, %ymm14, %ymm3
vpternlogq $0x96, %ymm6, %ymm21, %ymm3
vpternlogq $0xd2, %ymm8, %ymm5, %ymm29
vpternlogq $0xd2, %ymm9, %ymm8, %ymm5
vmovdqa %ymm13, %ymm2
vmovdqa %ymm13, %ymm9
vpternlogq $0x96, %ymm23, %ymm5, %ymm9
vpternlogq $0x96, %ymm20, %ymm28, %ymm9
vprolq $0x1, %ymm9, %ymm0
vpxor %ymm3, %ymm0, %ymm8
vpxor %ymm11, %ymm8, %ymm0
vmovdqu %ymm0, 0x110(%rsp)
vmovdqa %ymm11, %ymm13
vpternlogq $0x96, %ymm26, %ymm16, %ymm13
vmovdqa64 %ymm17, %ymm15
vmovdqu 0x40(%rsp), %ymm0
vpternlogq $0x96, %ymm0, %ymm12, %ymm15
vmovdqu 0x60(%rsp), %ymm4
vpternlogq $0x96, %ymm18, %ymm4, %ymm15
vprolq $0x1, %ymm15, %ymm11
vpxor %ymm9, %ymm11, %ymm11
vpxor %ymm1, %ymm11, %ymm9
vmovdqu %ymm9, 0x130(%rsp)
vmovdqa64 %ymm1, %ymm18
vpternlogq $0x96, %ymm24, %ymm7, %ymm18
vmovdqu64 0x80(%rsp), %ymm19
vmovdqu64 (%rsp), %ymm22
vpternlogq $0x96, %ymm22, %ymm19, %ymm18
vpternlogq $0x96, %ymm29, %ymm10, %ymm13
vprolq $0x1, %ymm3, %ymm1
vpxorq %ymm18, %ymm1, %ymm1
vprolq $0x1, %ymm13, %ymm3
vpxor %ymm3, %ymm15, %ymm9
vprolq $0x1, %ymm18, %ymm3
vpxor %ymm3, %ymm13, %ymm13
vpxorq %ymm22, %ymm11, %ymm15
vpxor %ymm1, %ymm12, %ymm3
vprolq $0x2c, %ymm3, %ymm12
vpxor %ymm6, %ymm9, %ymm3
vprolq $0x2b, %ymm3, %ymm3
vpandnq %ymm3, %ymm12, %ymm22
vpternlogq $0x96, 0xee1d(%rip){1to4}, %ymm15, %ymm22 # 0x212d0
vpxor %ymm10, %ymm8, %ymm6
vprolq $0x15, %ymm6, %ymm27
vmovdqa %ymm12, %ymm6
vpternlogq $0xd2, %ymm27, %ymm3, %ymm6
vpxor %ymm5, %ymm13, %ymm5
vprolq $0xe, %ymm5, %ymm18
vpternlogq $0xd2, %ymm18, %ymm27, %ymm3
vmovdqu %ymm3, 0xc0(%rsp)
vpternlogq $0xd2, %ymm15, %ymm18, %ymm27
vpternlogq $0xd2, %ymm12, %ymm15, %ymm18
vpxorq %ymm16, %ymm8, %ymm5
vprolq $0x1c, %ymm5, %ymm5
vpxorq %ymm23, %ymm13, %ymm10
vprolq $0x14, %ymm10, %ymm10
vpxorq %ymm24, %ymm11, %ymm12
vprolq $0x3, %ymm12, %ymm25
vmovdqa %ymm5, %ymm3
vpternlogq $0xd2, %ymm25, %ymm10, %ymm3
vmovdqu %ymm3, 0xe0(%rsp)
vpxorq %ymm17, %ymm1, %ymm12
vprolq $0x2d, %ymm12, %ymm15
vmovdqa64 %ymm10, %ymm16
vpternlogq $0xd2, %ymm15, %ymm25, %ymm16
vpxorq %ymm30, %ymm9, %ymm12
vprolq $0x3d, %ymm12, %ymm24
vpternlogq $0xd2, %ymm24, %ymm15, %ymm25
vpternlogq $0xd2, %ymm5, %ymm24, %ymm15
vpternlogq $0xd2, %ymm10, %ymm5, %ymm24
vpxor %ymm0, %ymm1, %ymm5
vprolq $0x1, %ymm5, %ymm10
vpxor %ymm14, %ymm9, %ymm5
vprolq $0x6, %ymm5, %ymm31
vprolq $0x19, 0x110(%rsp), %ymm12
vmovdqa %ymm10, %ymm14
vpternlogq $0xd2, %ymm12, %ymm31, %ymm14
vpxorq %ymm28, %ymm13, %ymm5
vprolq $0x8, %ymm5, %ymm30
vmovdqa64 %ymm31, %ymm5
vpternlogq $0xd2, %ymm30, %ymm12, %ymm5
vpxor %ymm7, %ymm11, %ymm7
vprolq $0x12, %ymm7, %ymm23
vpternlogq $0xd2, %ymm23, %ymm30, %ymm12
vpternlogq $0xd2, %ymm10, %ymm23, %ymm30
vpternlogq $0xd2, %ymm31, %ymm10, %ymm23
vpxor %ymm2, %ymm13, %ymm2
vprolq $0x1b, %ymm2, %ymm28
vprolq $0x24, 0x130(%rsp), %ymm0
vpxor %ymm4, %ymm1, %ymm2
vprolq $0xa, %ymm2, %ymm7
vmovdqa64 %ymm28, %ymm2
vpternlogq $0xd2, %ymm7, %ymm0, %ymm2
vmovdqa64 %ymm2, %ymm31
vmovdqu %ymm2, 0x60(%rsp)
vpxorq %ymm21, %ymm9, %ymm2
vprolq $0xf, %ymm2, %ymm2
vmovdqa64 %ymm0, %ymm17
vpternlogq $0xd2, %ymm2, %ymm7, %ymm17
vpxorq %ymm29, %ymm8, %ymm10
vprolq $0x38, %ymm10, %ymm10
vpternlogq $0xd2, %ymm10, %ymm2, %ymm7
vpternlogq $0xd2, %ymm28, %ymm10, %ymm2
vpternlogq $0xd2, %ymm0, %ymm28, %ymm10
vmovdqa64 %ymm23, %ymm0
vpternlogq $0x96, %ymm24, %ymm18, %ymm0
vpxor 0x20(%rsp), %ymm9, %ymm9
vprolq $0x3e, %ymm9, %ymm9
vpxorq %ymm26, %ymm8, %ymm8
vprolq $0x37, %ymm8, %ymm21
vpxorq %ymm20, %ymm13, %ymm4
vprolq $0x27, %ymm4, %ymm13
vmovdqa %ymm9, %ymm4
vpternlogq $0xd2, %ymm13, %ymm21, %ymm4
vpxorq %ymm19, %ymm11, %ymm8
vprolq $0x29, %ymm8, %ymm8
vmovdqa64 %ymm21, %ymm28
vpternlogq $0xd2, %ymm8, %ymm13, %ymm28
vmovdqa64 %ymm17, %ymm26
vpternlogq $0x96, %ymm16, %ymm6, %ymm26
vpternlogq $0x96, %ymm28, %ymm5, %ymm26
vpxor 0xa0(%rsp), %ymm1, %ymm1
vprolq $0x2, %ymm1, %ymm11
vpternlogq $0xd2, %ymm11, %ymm8, %ymm13
vpternlogq $0xd2, %ymm9, %ymm11, %ymm8
vpternlogq $0xd2, %ymm21, %ymm9, %ymm11
vpternlogq $0x96, %ymm11, %ymm10, %ymm0
vprolq $0x1, %ymm26, %ymm1
vpxorq %ymm0, %ymm1, %ymm19
vpxorq %ymm14, %ymm19, %ymm9
vpternlogq $0x96, %ymm3, %ymm22, %ymm14
vpternlogq $0x96, %ymm31, %ymm4, %ymm14
vmovdqa64 %ymm8, %ymm21
vpternlogq $0x96, %ymm15, %ymm27, %ymm21
vpternlogq $0x96, %ymm30, %ymm2, %ymm21
vprolq $0x1, %ymm21, %ymm1
vpxorq %ymm1, %ymm26, %ymm1
vpxorq %ymm13, %ymm1, %ymm29
vmovdqu 0xc0(%rsp), %ymm3
vpternlogq $0x96, %ymm25, %ymm3, %ymm13
vpternlogq $0x96, %ymm12, %ymm7, %ymm13
vprolq $0x1, %ymm13, %ymm26
vpxorq %ymm14, %ymm26, %ymm31
vprolq $0x1, %ymm0, %ymm0
vpxorq %ymm0, %ymm13, %ymm26
vprolq $0x1, %ymm14, %ymm0
vpxorq %ymm21, %ymm0, %ymm0
vpxorq %ymm22, %ymm19, %ymm13
vpxorq %ymm16, %ymm31, %ymm14
vprolq $0x2c, %ymm14, %ymm14
vpxor %ymm1, %ymm12, %ymm12
vprolq $0x2b, %ymm12, %ymm20
vpandnq %ymm20, %ymm14, %ymm12
vpternlogq $0x96, 0xeb40(%rip){1to4}, %ymm13, %ymm12 # 0x212d8
vpxorq %ymm2, %ymm26, %ymm2
vprolq $0x15, %ymm2, %ymm16
vmovdqa %ymm14, %ymm2
vpternlogq $0xd2, %ymm16, %ymm20, %ymm2
vmovdqu %ymm2, 0x20(%rsp)
vpxor %ymm0, %ymm11, %ymm2
vprolq $0xe, %ymm2, %ymm2
vpternlogq $0xd2, %ymm2, %ymm16, %ymm20
vmovdqu64 %ymm20, (%rsp)
vpternlogq $0xd2, %ymm13, %ymm2, %ymm16
vpternlogq $0xd2, %ymm14, %ymm13, %ymm2
vpxorq %ymm27, %ymm26, %ymm11
vprolq $0x1c, %ymm11, %ymm11
vpxorq %ymm24, %ymm0, %ymm13
vprolq $0x14, %ymm13, %ymm21
vprolq $0x3, %ymm9, %ymm14
vmovdqa %ymm11, %ymm9
vpternlogq $0xd2, %ymm14, %ymm21, %ymm9
vpxorq %ymm17, %ymm31, %ymm13
vprolq $0x2d, %ymm13, %ymm13
vmovdqa64 %ymm21, %ymm27
vpternlogq $0xd2, %ymm13, %ymm14, %ymm27
vprolq $0x3d, %ymm29, %ymm24
vpternlogq $0xd2, %ymm24, %ymm13, %ymm14
vpternlogq $0xd2, %ymm11, %ymm24, %ymm13
vpternlogq $0xd2, %ymm21, %ymm11, %ymm24
vpxorq %ymm6, %ymm31, %ymm6
vprolq $0x1, %ymm6, %ymm21
vpxorq %ymm25, %ymm1, %ymm6
vprolq $0x6, %ymm6, %ymm29
vpxorq %ymm30, %ymm26, %ymm6
vprolq $0x19, %ymm6, %ymm6
vmovdqa64 %ymm21, %ymm25
vpternlogq $0xd2, %ymm6, %ymm29, %ymm25
vpxor %ymm0, %ymm10, %ymm10
vprolq $0x8, %ymm10, %ymm11
vmovdqa64 %ymm29, %ymm10
vpternlogq $0xd2, %ymm11, %ymm6, %ymm10
vmovdqa64 %ymm10, %ymm17
vpxorq %ymm4, %ymm19, %ymm4
vprolq $0x12, %ymm4, %ymm4
vpternlogq $0xd2, %ymm4, %ymm11, %ymm6
vpternlogq $0xd2, %ymm21, %ymm4, %ymm11
vpternlogq $0xd2, %ymm29, %ymm21, %ymm4
vpxorq %ymm18, %ymm0, %ymm10
vprolq $0x1b, %ymm10, %ymm18
vpxorq 0xe0(%rsp), %ymm19, %ymm10
vprolq $0x24, %ymm10, %ymm29
vpxorq %ymm5, %ymm31, %ymm5
vprolq $0xa, %ymm5, %ymm21
vmovdqa64 %ymm18, %ymm5
vpternlogq $0xd2, %ymm21, %ymm29, %ymm5
vmovdqu %ymm5, 0x40(%rsp)
vpxor %ymm7, %ymm1, %ymm5
vprolq $0xf, %ymm5, %ymm10
vmovdqa64 %ymm29, %ymm30
vpternlogq $0xd2, %ymm10, %ymm21, %ymm30
vpxorq %ymm8, %ymm26, %ymm5
vprolq $0x38, %ymm5, %ymm22
vpternlogq $0xd2, %ymm22, %ymm10, %ymm21
vpternlogq $0xd2, %ymm18, %ymm22, %ymm10
vpternlogq $0xd2, %ymm29, %ymm18, %ymm22
vpxor %ymm3, %ymm1, %ymm1
vprolq $0x3e, %ymm1, %ymm1
vpxorq %ymm15, %ymm26, %ymm3
vprolq $0x37, %ymm3, %ymm8
vpxorq %ymm23, %ymm0, %ymm0
vprolq $0x27, %ymm0, %ymm23
vmovdqa %ymm1, %ymm7
vpternlogq $0xd2, %ymm23, %ymm8, %ymm7
vpxorq 0x60(%rsp), %ymm19, %ymm0
vprolq $0x29, %ymm0, %ymm26
vmovdqa %ymm8, %ymm0
vpternlogq $0xd2, %ymm26, %ymm23, %ymm0
vmovdqa64 %ymm0, %ymm19
vmovdqu %ymm0, 0x80(%rsp)
vpxorq %ymm28, %ymm31, %ymm0
vprolq $0x2, %ymm0, %ymm5
vpternlogq $0xd2, %ymm5, %ymm26, %ymm23
vmovdqa64 %ymm23, %ymm3
vpternlogq $0x96, %ymm20, %ymm14, %ymm3
vpternlogq $0x96, %ymm6, %ymm21, %ymm3
vpternlogq $0xd2, %ymm1, %ymm5, %ymm26
vpternlogq $0xd2, %ymm8, %ymm1, %ymm5
vmovdqa %ymm2, %ymm0
vpternlogq $0x96, %ymm24, %ymm5, %ymm0
vpternlogq $0x96, %ymm4, %ymm22, %ymm0
vprolq $0x1, %ymm0, %ymm1
vpxor %ymm3, %ymm1, %ymm8
vpxorq %ymm11, %ymm8, %ymm28
vmovdqa %ymm11, %ymm15
vpternlogq $0x96, %ymm13, %ymm16, %ymm15
vmovdqa64 %ymm30, %ymm18
vmovdqu 0x20(%rsp), %ymm1
vpternlogq $0x96, %ymm1, %ymm27, %ymm18
vpternlogq $0x96, %ymm19, %ymm17, %ymm18
vmovdqa64 %ymm17, %ymm19
vprolq $0x1, %ymm18, %ymm11
vpxor %ymm0, %ymm11, %ymm11
vpxorq %ymm9, %ymm11, %ymm17
vmovdqa %ymm9, %ymm0
vpternlogq $0x96, %ymm25, %ymm7, %ymm0
vmovdqu64 0x40(%rsp), %ymm20
vpternlogq $0x96, %ymm12, %ymm20, %ymm0
vpternlogq $0x96, %ymm26, %ymm10, %ymm15
vprolq $0x1, %ymm3, %ymm3
vpxorq %ymm0, %ymm3, %ymm31
vprolq $0x1, %ymm15, %ymm3
vpxorq %ymm3, %ymm18, %ymm9
vprolq $0x1, %ymm0, %ymm0
vpxor %ymm0, %ymm15, %ymm0
vpxor %ymm12, %ymm11, %ymm12
vpxorq %ymm27, %ymm31, %ymm3
vprolq $0x2c, %ymm3, %ymm15
vpxor %ymm6, %ymm9, %ymm3
vprolq $0x2b, %ymm3, %ymm3
vpandnq %ymm3, %ymm15, %ymm29
vpternlogq $0x96, 0xe853(%rip){1to4}, %ymm12, %ymm29 # 0x212e0
vpxor %ymm10, %ymm8, %ymm6
vprolq $0x15, %ymm6, %ymm27
vmovdqa %ymm15, %ymm6
vpternlogq $0xd2, %ymm27, %ymm3, %ymm6
vmovdqu %ymm6, 0x60(%rsp)
vpxor %ymm5, %ymm0, %ymm5
vprolq $0xe, %ymm5, %ymm18
vpternlogq $0xd2, %ymm18, %ymm27, %ymm3
vmovdqu %ymm3, 0xc0(%rsp)
vpternlogq $0xd2, %ymm12, %ymm18, %ymm27
vpternlogq $0xd2, %ymm15, %ymm12, %ymm18
vpxorq %ymm16, %ymm8, %ymm5
vprolq $0x1c, %ymm5, %ymm5
vpxorq %ymm24, %ymm0, %ymm10
vprolq $0x14, %ymm10, %ymm10
vpxorq %ymm25, %ymm11, %ymm12
vprolq $0x3, %ymm12, %ymm25
vmovdqa %ymm5, %ymm3
vpternlogq $0xd2, %ymm25, %ymm10, %ymm3
vmovdqu %ymm3, 0xa0(%rsp)
vpxorq %ymm30, %ymm31, %ymm12
vprolq $0x2d, %ymm12, %ymm15
vmovdqa64 %ymm10, %ymm16
vpternlogq $0xd2, %ymm15, %ymm25, %ymm16
vpxorq %ymm23, %ymm9, %ymm12
vprolq $0x3d, %ymm12, %ymm24
vpternlogq $0xd2, %ymm24, %ymm15, %ymm25
vpternlogq $0xd2, %ymm5, %ymm24, %ymm15
vpternlogq $0xd2, %ymm10, %ymm5, %ymm24
vpxorq %ymm1, %ymm31, %ymm5
vprolq $0x1, %ymm5, %ymm5
vpxor %ymm14, %ymm9, %ymm10
vprolq $0x6, %ymm10, %ymm10
vprolq $0x19, %ymm28, %ymm12
vmovdqa %ymm5, %ymm14
vpternlogq $0xd2, %ymm12, %ymm10, %ymm14
vpxorq %ymm22, %ymm0, %ymm22
vprolq $0x8, %ymm22, %ymm28
vmovdqa64 %ymm10, %ymm23
vpternlogq $0xd2, %ymm28, %ymm12, %ymm23
vpxor %ymm7, %ymm11, %ymm7
vprolq $0x12, %ymm7, %ymm22
vpternlogq $0xd2, %ymm22, %ymm28, %ymm12
vpternlogq $0xd2, %ymm5, %ymm22, %ymm28
vpternlogq $0xd2, %ymm10, %ymm5, %ymm22
vpxor %ymm2, %ymm0, %ymm2
vprolq $0x1b, %ymm2, %ymm2
vprolq $0x24, %ymm17, %ymm1
vpxorq %ymm19, %ymm31, %ymm5
vprolq $0xa, %ymm5, %ymm7
vmovdqa64 %ymm2, %ymm19
vpternlogq $0xd2, %ymm7, %ymm1, %ymm19
vmovdqu64 %ymm19, 0xe0(%rsp)
vpxorq %ymm21, %ymm9, %ymm10
vprolq $0xf, %ymm10, %ymm21
vmovdqa64 %ymm1, %ymm17
vpternlogq $0xd2, %ymm21, %ymm7, %ymm17
vpxorq %ymm26, %ymm8, %ymm10
vprolq $0x38, %ymm10, %ymm10
vpternlogq $0xd2, %ymm10, %ymm21, %ymm7
vpternlogq $0xd2, %ymm2, %ymm10, %ymm21
vpternlogq $0xd2, %ymm1, %ymm2, %ymm10
vmovdqa64 %ymm22, %ymm1
vpternlogq $0x96, %ymm24, %ymm18, %ymm1
vpxor (%rsp), %ymm9, %ymm2
vprolq $0x3e, %ymm2, %ymm2
vpxor %ymm13, %ymm8, %ymm8
vprolq $0x37, %ymm8, %ymm9
vpxor %ymm4, %ymm0, %ymm0
vprolq $0x27, %ymm0, %ymm13
vmovdqa %ymm2, %ymm5
vpternlogq $0xd2, %ymm13, %ymm9, %ymm5
vpxorq %ymm20, %ymm11, %ymm0
vprolq $0x29, %ymm0, %ymm3
vmovdqa64 %ymm9, %ymm26
vpternlogq $0xd2, %ymm3, %ymm13, %ymm26
vmovdqa64 %ymm17, %ymm0
vpternlogq $0x96, %ymm16, %ymm6, %ymm0
vpternlogq $0x96, %ymm26, %ymm23, %ymm0
vpxorq 0x80(%rsp), %ymm31, %ymm11
vprolq $0x2, %ymm11, %ymm11
vpternlogq $0xd2, %ymm11, %ymm3, %ymm13
vpternlogq $0xd2, %ymm2, %ymm11, %ymm3
vpternlogq $0xd2, %ymm9, %ymm2, %ymm11
vpternlogq $0x96, %ymm11, %ymm10, %ymm1
vprolq $0x1, %ymm0, %ymm2
vpxorq %ymm1, %ymm2, %ymm30
vpxorq %ymm14, %ymm30, %ymm20
vmovdqu 0xa0(%rsp), %ymm6
vpternlogq $0x96, %ymm6, %ymm29, %ymm14
vpternlogq $0x96, %ymm19, %ymm5, %ymm14
vmovdqa %ymm3, %ymm8
vpternlogq $0x96, %ymm15, %ymm27, %ymm8
vpternlogq $0x96, %ymm28, %ymm21, %ymm8
vprolq $0x1, %ymm8, %ymm2
vpxor %ymm2, %ymm0, %ymm2
vpxor %ymm2, %ymm13, %ymm4
vmovdqu64 0xc0(%rsp), %ymm19
vpternlogq $0x96, %ymm25, %ymm19, %ymm13
vpternlogq $0x96, %ymm12, %ymm7, %ymm13
vprolq $0x1, %ymm13, %ymm0
vpxorq %ymm14, %ymm0, %ymm31
vprolq $0x1, %ymm1, %ymm0
vpxor %ymm0, %ymm13, %ymm9
vprolq $0x1, %ymm14, %ymm0
vpxor %ymm0, %ymm8, %ymm0
vpxorq %ymm29, %ymm30, %ymm8
vpxorq %ymm16, %ymm31, %ymm1
vprolq $0x2c, %ymm1, %ymm13
vpxor %ymm2, %ymm12, %ymm1
vprolq $0x2b, %ymm1, %ymm14
vpandn %ymm14, %ymm13, %ymm12
vpternlogq $0x96, 0xe583(%rip){1to4}, %ymm8, %ymm12 # 0x212e8
vpxorq %ymm21, %ymm9, %ymm1
vprolq $0x15, %ymm1, %ymm16
vmovdqa %ymm13, %ymm1
vpternlogq $0xd2, %ymm16, %ymm14, %ymm1
vmovdqu %ymm1, 0x40(%rsp)
vpxor %ymm0, %ymm11, %ymm1
vprolq $0xe, %ymm1, %ymm1
vpternlogq $0xd2, %ymm1, %ymm16, %ymm14
vmovdqa64 %ymm14, %ymm29
vmovdqu %ymm14, 0x20(%rsp)
vpternlogq $0xd2, %ymm8, %ymm1, %ymm16
vpternlogq $0xd2, %ymm13, %ymm8, %ymm1
vmovdqu %ymm1, 0x80(%rsp)
vpxorq %ymm27, %ymm9, %ymm8
vprolq $0x1c, %ymm8, %ymm8
vpxorq %ymm24, %ymm0, %ymm11
vprolq $0x14, %ymm11, %ymm11
vprolq $0x3, %ymm20, %ymm14
vmovdqa64 %ymm8, %ymm27
vpternlogq $0xd2, %ymm14, %ymm11, %ymm27
vpxorq %ymm17, %ymm31, %ymm13
vprolq $0x2d, %ymm13, %ymm13
vmovdqa64 %ymm11, %ymm24
vpternlogq $0xd2, %ymm13, %ymm14, %ymm24
vprolq $0x3d, %ymm4, %ymm21
vpternlogq $0xd2, %ymm21, %ymm13, %ymm14
vpternlogq $0xd2, %ymm8, %ymm21, %ymm13
vmovdqu %ymm13, (%rsp)
vpternlogq $0xd2, %ymm11, %ymm8, %ymm21
vpxorq 0x60(%rsp), %ymm31, %ymm4
vprolq $0x1, %ymm4, %ymm8
vpxorq %ymm25, %ymm2, %ymm4
vprolq $0x6, %ymm4, %ymm20
vpxorq %ymm28, %ymm9, %ymm4
vprolq $0x19, %ymm4, %ymm25
vmovdqa64 %ymm8, %ymm17
vpternlogq $0xd2, %ymm25, %ymm20, %ymm17
vpxor %ymm0, %ymm10, %ymm4
vprolq $0x8, %ymm4, %ymm11
vmovdqa64 %ymm20, %ymm4
vpternlogq $0xd2, %ymm11, %ymm25, %ymm4
vmovdqu %ymm4, 0x60(%rsp)
vpxorq %ymm5, %ymm30, %ymm4
vprolq $0x12, %ymm4, %ymm13
vpternlogq $0xd2, %ymm13, %ymm11, %ymm25
vpternlogq $0xd2, %ymm8, %ymm13, %ymm11
vpternlogq $0xd2, %ymm20, %ymm8, %ymm13
vpxorq %ymm18, %ymm0, %ymm5
vprolq $0x1b, %ymm5, %ymm5
vpxorq %ymm6, %ymm30, %ymm8
vprolq $0x24, %ymm8, %ymm8
vpxorq %ymm23, %ymm31, %ymm10
vprolq $0xa, %ymm10, %ymm20
vmovdqa64 %ymm5, %ymm18
vpternlogq $0xd2, %ymm20, %ymm8, %ymm18
vpxor %ymm7, %ymm2, %ymm7
vprolq $0xf, %ymm7, %ymm10
vmovdqa64 %ymm8, %ymm28
vpternlogq $0xd2, %ymm10, %ymm20, %ymm28
vpxor %ymm3, %ymm9, %ymm3
vprolq $0x38, %ymm3, %ymm23
vpternlogq $0xd2, %ymm23, %ymm10, %ymm20
vpternlogq $0xd2, %ymm5, %ymm23, %ymm10
vpternlogq $0xd2, %ymm8, %ymm5, %ymm23
vpxorq %ymm19, %ymm2, %ymm2
vprolq $0x3e, %ymm2, %ymm2
vpxor %ymm15, %ymm9, %ymm3
vprolq $0x37, %ymm3, %ymm8
vpxorq %ymm22, %ymm0, %ymm0
vprolq $0x27, %ymm0, %ymm9
vmovdqa %ymm2, %ymm7
vpternlogq $0xd2, %ymm9, %ymm8, %ymm7
vpxorq 0xe0(%rsp), %ymm30, %ymm0
vprolq $0x29, %ymm0, %ymm22
vmovdqa %ymm8, %ymm0
vpternlogq $0xd2, %ymm22, %ymm9, %ymm0
vmovdqa %ymm0, %ymm6
vmovdqu %ymm0, 0xa0(%rsp)
vpxorq %ymm26, %ymm31, %ymm0
vprolq $0x2, %ymm0, %ymm5
vpternlogq $0xd2, %ymm5, %ymm22, %ymm9
vmovdqa %ymm9, %ymm3
vpternlogq $0x96, %ymm29, %ymm14, %ymm3
vpternlogq $0x96, %ymm25, %ymm20, %ymm3
vpternlogq $0xd2, %ymm2, %ymm5, %ymm22
vpternlogq $0xd2, %ymm8, %ymm2, %ymm5
vmovdqa %ymm1, %ymm0
vpternlogq $0x96, %ymm21, %ymm5, %ymm0
vpternlogq $0x96, %ymm13, %ymm23, %ymm0
vprolq $0x1, %ymm0, %ymm2
vpxor %ymm3, %ymm2, %ymm8
vpxorq %ymm11, %ymm8, %ymm30
vpternlogq $0x96, (%rsp), %ymm16, %ymm11
vmovdqa64 %ymm28, %ymm15
vmovdqu 0x40(%rsp), %ymm1
vpternlogq $0x96, %ymm1, %ymm24, %ymm15
vmovdqu 0x60(%rsp), %ymm4
vpternlogq $0x96, %ymm6, %ymm4, %ymm15
vprolq $0x1, %ymm15, %ymm19
vpxorq %ymm0, %ymm19, %ymm29
vpxorq %ymm27, %ymm29, %ymm2
vpternlogq $0x96, %ymm17, %ymm7, %ymm27
vpternlogq $0x96, %ymm12, %ymm18, %ymm27
vpternlogq $0x96, %ymm22, %ymm10, %ymm11
vprolq $0x1, %ymm3, %ymm0
vpxorq %ymm27, %ymm0, %ymm0
vprolq $0x1, %ymm11, %ymm3
vpxorq %ymm3, %ymm15, %ymm31
vprolq $0x1, %ymm27, %ymm3
vpxor %ymm3, %ymm11, %ymm11
vpxorq %ymm12, %ymm29, %ymm12
vpxorq %ymm24, %ymm0, %ymm3
vprolq $0x2c, %ymm3, %ymm27
vpxorq %ymm25, %ymm31, %ymm3
vprolq $0x2b, %ymm3, %ymm15
vpandnq %ymm15, %ymm27, %ymm25
vpternlogq $0x96, 0xe298(%rip){1to4}, %ymm12, %ymm25 # 0x212f0
vpxor %ymm10, %ymm8, %ymm10
vprolq $0x15, %ymm10, %ymm26
vmovdqa64 %ymm27, %ymm24
vpternlogq $0xd2, %ymm26, %ymm15, %ymm24
vpxor %ymm5, %ymm11, %ymm5
vprolq $0xe, %ymm5, %ymm19
vpternlogq $0xd2, %ymm19, %ymm26, %ymm15
vpternlogq $0xd2, %ymm12, %ymm19, %ymm26
vpternlogq $0xd2, %ymm27, %ymm12, %ymm19
vpxorq %ymm16, %ymm8, %ymm5
vprolq $0x1c, %ymm5, %ymm12
vpxorq %ymm21, %ymm11, %ymm5
vprolq $0x14, %ymm5, %ymm27
vpxorq %ymm17, %ymm29, %ymm5
vprolq $0x3, %ymm5, %ymm21
vmovdqa64 %ymm12, %ymm16
vpternlogq $0xd2, %ymm21, %ymm27, %ymm16
vpxorq %ymm28, %ymm0, %ymm5
vprolq $0x2d, %ymm5, %ymm5
vmovdqa64 %ymm27, %ymm3
vpternlogq $0xd2, %ymm5, %ymm21, %ymm3
vmovdqu %ymm3, 0xc0(%rsp)
vpxorq %ymm9, %ymm31, %ymm6
vprolq $0x3d, %ymm6, %ymm10
vpternlogq $0xd2, %ymm10, %ymm5, %ymm21
vpternlogq $0xd2, %ymm12, %ymm10, %ymm5
vpternlogq $0xd2, %ymm27, %ymm12, %ymm10
vpxor %ymm1, %ymm0, %ymm6
vprolq $0x1, %ymm6, %ymm6
vpxorq %ymm14, %ymm31, %ymm9
vprolq $0x6, %ymm9, %ymm28
vprolq $0x19, %ymm30, %ymm30
vmovdqa64 %ymm6, %ymm27
vpternlogq $0xd2, %ymm30, %ymm28, %ymm27
vpxorq %ymm23, %ymm11, %ymm9
vprolq $0x8, %ymm9, %ymm9
vmovdqa64 %ymm28, %ymm14
vpternlogq $0xd2, %ymm9, %ymm30, %ymm14
vpxorq %ymm7, %ymm29, %ymm7
vprolq $0x12, %ymm7, %ymm12
vpternlogq $0xd2, %ymm12, %ymm9, %ymm30
vpternlogq $0xd2, %ymm6, %ymm12, %ymm9
vpternlogq $0xd2, %ymm28, %ymm6, %ymm12
vpxor 0x80(%rsp), %ymm11, %ymm1
vprolq $0x1b, %ymm1, %ymm1
vprolq $0x24, %ymm2, %ymm2
vpxor %ymm4, %ymm0, %ymm6
vprolq $0xa, %ymm6, %ymm17
vmovdqa %ymm1, %ymm7
vpternlogq $0xd2, %ymm17, %ymm2, %ymm7
vpxorq %ymm20, %ymm31, %ymm6
vprolq $0xf, %ymm6, %ymm6
vmovdqa64 %ymm2, %ymm23
vpternlogq $0xd2, %ymm6, %ymm17, %ymm23
vpxorq %ymm22, %ymm8, %ymm20
vprolq $0x38, %ymm20, %ymm20
vpternlogq $0xd2, %ymm20, %ymm6, %ymm17
vpternlogq $0xd2, %ymm1, %ymm20, %ymm6
vpternlogq $0xd2, %ymm2, %ymm1, %ymm20
vmovdqa %ymm12, %ymm2
vpternlogq $0x96, %ymm10, %ymm19, %ymm2
vpxorq 0x20(%rsp), %ymm31, %ymm1
vprolq $0x3e, %ymm1, %ymm22
vpxor (%rsp), %ymm8, %ymm1
vprolq $0x37, %ymm1, %ymm8
vpxor %ymm13, %ymm11, %ymm1
vprolq $0x27, %ymm1, %ymm1
vmovdqa64 %ymm22, %ymm11
vpternlogq $0xd2, %ymm1, %ymm8, %ymm11
vpxorq %ymm18, %ymm29, %ymm4
vprolq $0x29, %ymm4, %ymm13
vmovdqa %ymm8, %ymm4
vpternlogq $0xd2, %ymm13, %ymm1, %ymm4
vmovdqa64 %ymm23, %ymm28
vpternlogq $0x96, %ymm3, %ymm24, %ymm28
vpternlogq $0x96, %ymm4, %ymm14, %ymm28
vpxor 0xa0(%rsp), %ymm0, %ymm0
vprolq $0x2, %ymm0, %ymm3
vpternlogq $0xd2, %ymm3, %ymm13, %ymm1
vpternlogq $0xd2, %ymm22, %ymm3, %ymm13
vpternlogq $0xd2, %ymm8, %ymm22, %ymm3
vpternlogq $0x96, %ymm3, %ymm20, %ymm2
vprolq $0x1, %ymm28, %ymm8
vpxor %ymm2, %ymm8, %ymm8
vpxorq %ymm27, %ymm8, %ymm29
vpternlogq $0x96, %ymm16, %ymm25, %ymm27
vpternlogq $0x96, %ymm7, %ymm11, %ymm27
vmovdqa64 %ymm13, %ymm31
vpternlogq $0x96, %ymm5, %ymm26, %ymm31
vpternlogq $0x96, %ymm9, %ymm6, %ymm31
vprolq $0x1, %ymm31, %ymm18
vpxorq %ymm18, %ymm28, %ymm22
vpxorq %ymm1, %ymm22, %ymm0
vpternlogq $0x96, %ymm21, %ymm15, %ymm1
vpternlogq $0x96, %ymm30, %ymm17, %ymm1
vprolq $0x1, %ymm1, %ymm18
vpxorq %ymm27, %ymm18, %ymm18
vprolq $0x1, %ymm2, %ymm2
vpxor %ymm2, %ymm1, %ymm1
vprolq $0x1, %ymm27, %ymm2
vpxorq %ymm31, %ymm2, %ymm28
vpxorq %ymm26, %ymm1, %ymm2
vprolq $0x1c, %ymm2, %ymm2
vpxorq %ymm10, %ymm28, %ymm10
vprolq $0x14, %ymm10, %ymm26
vprolq $0x3, %ymm29, %ymm31
vmovdqa %ymm2, %ymm10
vpternlogq $0xd2, %ymm31, %ymm26, %ymm10
vpxorq %ymm23, %ymm18, %ymm23
vprolq $0x2d, %ymm23, %ymm29
vmovdqa64 %ymm26, %ymm23
vpternlogq $0xd2, %ymm29, %ymm31, %ymm23
vmovdqu64 %ymm23, 0x40(%rsp)
vprolq $0x3d, %ymm0, %ymm27
vpternlogq $0xd2, %ymm27, %ymm29, %ymm31
vpternlogq $0xd2, %ymm2, %ymm27, %ymm29
vpternlogq $0xd2, %ymm26, %ymm2, %ymm27
vpxorq %ymm24, %ymm18, %ymm0
vprolq $0x1, %ymm0, %ymm0
vpxorq %ymm21, %ymm22, %ymm2
vprolq $0x6, %ymm2, %ymm26
vpxor %ymm1, %ymm9, %ymm2
vprolq $0x19, %ymm2, %ymm24
vmovdqa %ymm0, %ymm2
vpternlogq $0xd2, %ymm24, %ymm26, %ymm2
vmovdqu %ymm2, 0x20(%rsp)
vpxorq %ymm20, %ymm28, %ymm9
vprolq $0x8, %ymm9, %ymm23
vmovdqa64 %ymm26, %ymm20
vpternlogq $0xd2, %ymm23, %ymm24, %ymm20
vpxor %ymm11, %ymm8, %ymm9
vprolq $0x12, %ymm9, %ymm21
vpternlogq $0xd2, %ymm21, %ymm23, %ymm24
vpternlogq $0xd2, %ymm0, %ymm21, %ymm23
vpternlogq $0xd2, %ymm26, %ymm0, %ymm21
vpxorq %ymm19, %ymm28, %ymm0
vprolq $0x1b, %ymm0, %ymm0
vpxorq %ymm16, %ymm8, %ymm9
vprolq $0x24, %ymm9, %ymm26
vpxorq %ymm14, %ymm18, %ymm9
vprolq $0xa, %ymm9, %ymm19
vmovdqa %ymm0, %ymm9
vpternlogq $0xd2, %ymm19, %ymm26, %ymm9
vpxorq %ymm17, %ymm22, %ymm11
vprolq $0xf, %ymm11, %ymm17
vmovdqa64 %ymm26, %ymm11
vpternlogq $0xd2, %ymm17, %ymm19, %ymm11
vpxor %ymm1, %ymm13, %ymm13
vprolq $0x38, %ymm13, %ymm16
vpternlogq $0xd2, %ymm16, %ymm17, %ymm19
vpternlogq $0xd2, %ymm0, %ymm16, %ymm17
vpternlogq $0xd2, %ymm26, %ymm0, %ymm16
vpxorq %ymm15, %ymm22, %ymm0
vprolq $0x3e, %ymm0, %ymm0
vpxor %ymm5, %ymm1, %ymm5
vprolq $0x37, %ymm5, %ymm5
vpxorq %ymm12, %ymm28, %ymm12
vprolq $0x27, %ymm12, %ymm2
vmovdqa %ymm0, %ymm12
vpternlogq $0xd2, %ymm2, %ymm5, %ymm12
vmovdqu %ymm12, (%rsp)
vpxor %ymm7, %ymm8, %ymm7
vprolq $0x29, %ymm7, %ymm26
vmovdqa %ymm5, %ymm12
vpternlogq $0xd2, %ymm26, %ymm2, %ymm12
vpxorq %ymm4, %ymm18, %ymm4
vprolq $0x2, %ymm4, %ymm14
vpternlogq $0xd2, %ymm14, %ymm26, %ymm2
vpternlogq $0xd2, %ymm0, %ymm14, %ymm26
vpternlogq $0xd2, %ymm5, %ymm0, %ymm14
vpxorq %ymm25, %ymm8, %ymm7
vpxorq 0xc0(%rsp), %ymm18, %ymm0
vpxorq %ymm30, %ymm22, %ymm4
vprolq $0x2c, %ymm0, %ymm8
vprolq $0x2b, %ymm4, %ymm5
vpxor %ymm6, %ymm1, %ymm0
vpandn %ymm5, %ymm8, %ymm13
vprolq $0x15, %ymm0, %ymm4
vpxorq %ymm3, %ymm28, %ymm0
vmovdqa %ymm8, %ymm6
vpternlogq $0xd2, %ymm4, %ymm5, %ymm6
vprolq $0xe, %ymm0, %ymm0
vpternlogq $0xd2, %ymm0, %ymm4, %ymm5
vpternlogq $0xd2, %ymm7, %ymm0, %ymm4
vpternlogq $0xd2, %ymm8, %ymm7, %ymm0
vpternlogq $0x96, 0xddf0(%rip){1to4}, %ymm7, %ymm13 # 0x212f8
subq %r14, %r13
addq %rsi, %rbp
jmp 0x10e44
movl %esi, %ebx
movq %rdi, (%rsp)
movq %rdx, 0x20(%rsp)
leal (%rdx,%rdx,2), %r12d
addl %esi, %r12d
shll $0x3, %r12d
shll $0x3, %r14d
movq (%rsp), %r15
cmpq %r12, %r13
jb 0x1361d
movq %r15, %rdi
movq %rbp, %rsi
movl %ebx, %edx
movq 0x20(%rsp), %rcx
callq 0x5110
movq %r15, %rdi
callq 0x5180
addq %r14, %rbp
subq %r14, %r13
jmp 0x13531
vmovdqa %ymm13, (%rdi)
vmovdqa %ymm6, 0x20(%rdi)
vmovdqa %ymm5, 0x40(%rdi)
vmovdqa %ymm4, 0x60(%rdi)
vmovdqa %ymm0, 0x80(%rdi)
vmovdqa %ymm10, 0xa0(%rdi)
vmovups 0x40(%rsp), %ymm0
vmovaps %ymm0, 0xc0(%rdi)
vmovdqa64 %ymm31, 0xe0(%rdi)
vmovdqa64 %ymm29, 0x100(%rdi)
vmovdqa64 %ymm27, 0x120(%rdi)
vmovups 0x20(%rsp), %ymm0
vmovaps %ymm0, 0x140(%rdi)
vmovdqa64 %ymm20, 0x160(%rdi)
vmovdqa64 %ymm24, 0x180(%rdi)
vmovdqa64 %ymm23, 0x1a0(%rdi)
vmovdqa64 %ymm21, 0x1c0(%rdi)
vmovdqa %ymm9, 0x1e0(%rdi)
vmovdqa %ymm11, 0x200(%rdi)
vmovdqa64 %ymm19, 0x220(%rdi)
vmovdqa64 %ymm17, 0x240(%rdi)
vmovdqa64 %ymm16, 0x260(%rdi)
vmovups (%rsp), %ymm0
vmovaps %ymm0, 0x280(%rdi)
vmovdqa %ymm12, 0x2a0(%rdi)
vmovdqa %ymm2, 0x2c0(%rdi)
vmovdqa64 %ymm26, 0x2e0(%rdi)
vmovdqa %ymm14, 0x300(%rdi)
subq 0x108(%rsp), %rbp
movq %rbp, %rax
addq $0x158, %rsp            # imm = 0x158
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
vzeroupper
retq
nopl (%rax)