// File: /workspace/github_c_makefile_star2_O1/mjosaarinen[P]brutus/crypto_aead/oceankeyakv2/KnightsLanding/KeccakP-1600-times8-SIMD512.c
// Function: KeccakP1600times8_PermuteAll_24rounds
void KeccakP1600times8_PermuteAll_24rounds(void *states)
{
    V512 *statesAsLanes = states;
	KeccakP_DeclareVars;
    #ifndef KeccakP1600times8_fullUnrolling
    unsigned int i;
    #endif

    copyFromState(statesAsLanes);
	rounds24;
    copyToState(statesAsLanes);
}

// Assembly:
subq $0x1c8, %rsp            # imm = 0x1C8
vmovdqa64 (%rdi), %zmm25
vmovaps 0x40(%rdi), %zmm0
vmovups %zmm0, -0x40(%rsp)
vmovdqa64 0x80(%rdi), %zmm9
vmovdqa64 0xc0(%rdi), %zmm5
vmovdqa64 0x100(%rdi), %zmm0
vmovaps 0x140(%rdi), %zmm1
vmovups %zmm1, -0x80(%rsp)
vmovdqa64 0x180(%rdi), %zmm11
vmovdqa64 0x1c0(%rdi), %zmm6
vmovdqa64 0x200(%rdi), %zmm1
vmovdqa64 0x240(%rdi), %zmm8
vmovdqa64 0x280(%rdi), %zmm13
vmovdqa64 0x2c0(%rdi), %zmm4
vmovdqa64 0x300(%rdi), %zmm16
vmovdqa64 0x340(%rdi), %zmm10
vmovdqa64 0x380(%rdi), %zmm3
vmovdqa64 0x3c0(%rdi), %zmm12
vmovdqa64 0x400(%rdi), %zmm20
vmovdqa64 0x440(%rdi), %zmm14
vmovdqa64 0x480(%rdi), %zmm21
vmovdqa64 0x4c0(%rdi), %zmm18
vmovdqa64 0x500(%rdi), %zmm19
vmovdqa64 0x540(%rdi), %zmm15
vmovdqa64 0x580(%rdi), %zmm22
vmovdqa64 0x5c0(%rdi), %zmm17
vmovdqa64 0x600(%rdi), %zmm23
movq $-0xc, %rax
leaq 0x1a03a(%rip), %rcx     # 0x31540
vmovdqu64 -0x40(%rsp), %zmm2
vpternlogq $0x96, %zmm4, %zmm11, %zmm2
vpternlogq $0x96, %zmm15, %zmm20, %zmm2
vmovdqa64 %zmm0, %zmm28
vpternlogq $0x96, %zmm3, %zmm8, %zmm28
vpternlogq $0x96, %zmm23, %zmm18, %zmm28
vprolq $0x1, %zmm2, %zmm7
vpxorq %zmm7, %zmm28, %zmm24
vpxorq %zmm25, %zmm24, %zmm27
vpternlogq $0x96, -0x80(%rsp), %zmm13, %zmm25
vmovdqa64 %zmm5, %zmm29
vpternlogq $0x96, %zmm10, %zmm1, %zmm29
vpternlogq $0x96, %zmm17, %zmm21, %zmm29
vprolq $0x1, %zmm29, %zmm7
vpxorq %zmm2, %zmm7, %zmm26
vpternlogq $0x96, %zmm19, %zmm12, %zmm25
vpxorq %zmm9, %zmm26, %zmm30
vpternlogq $0x96, %zmm16, %zmm6, %zmm9
vpternlogq $0x96, %zmm22, %zmm14, %zmm9
vprolq $0x1, %zmm9, %zmm2
vprolq $0x1, %zmm28, %zmm7
vpxorq %zmm25, %zmm2, %zmm31
vprolq $0x1, %zmm25, %zmm2
vpxorq %zmm9, %zmm7, %zmm28
vpxorq %zmm2, %zmm29, %zmm7
vpxorq %zmm16, %zmm26, %zmm2
vpxorq %zmm21, %zmm28, %zmm16
vpxorq %zmm11, %zmm31, %zmm9
vpxorq %zmm23, %zmm7, %zmm11
vprolq $0x2c, %zmm9, %zmm25
vprolq $0x2b, %zmm2, %zmm9
vprolq $0x15, %zmm16, %zmm23
vprolq $0xe, %zmm11, %zmm11
vmovdqa64 %zmm27, %zmm2
vpternlogq $0xd2, %zmm9, %zmm25, %zmm2
vmovdqa64 %zmm25, %zmm21
vpternlogq $0xd2, %zmm23, %zmm9, %zmm21
vpternlogq $0xd2, %zmm11, %zmm23, %zmm9
vmovdqu64 %zmm9, 0x40(%rsp)
vpternlogq $0xd2, %zmm27, %zmm11, %zmm23
vpxorq %zmm13, %zmm24, %zmm13
vpxorq %zmm20, %zmm31, %zmm16
vpternlogq $0xd2, %zmm25, %zmm27, %zmm11
vpxorq %zmm22, %zmm26, %zmm22
vpxorq %zmm5, %zmm28, %zmm25
vpxorq %zmm8, %zmm7, %zmm8
vprolq $0x3, %zmm13, %zmm20
vpxorq 0x60(%rcx,%rax,8){1to8}, %zmm2, %zmm29
vprolq $0x2d, %zmm16, %zmm9
vprolq $0x3d, %zmm22, %zmm13
vprolq $0x1c, %zmm25, %zmm22
vprolq $0x14, %zmm8, %zmm25
vmovdqa64 %zmm22, %zmm16
vpternlogq $0xd2, %zmm20, %zmm25, %zmm16
vmovdqa64 %zmm25, %zmm27
vpternlogq $0xd2, %zmm9, %zmm20, %zmm27
vpternlogq $0xd2, %zmm13, %zmm9, %zmm20
vpxorq %zmm19, %zmm24, %zmm2
vpxorq -0x40(%rsp), %zmm31, %zmm19
vpxorq %zmm6, %zmm26, %zmm6
vpxorq %zmm10, %zmm28, %zmm10
vpternlogq $0xd2, %zmm22, %zmm13, %zmm9
vpxorq %zmm18, %zmm7, %zmm18
vprolq $0x12, %zmm2, %zmm8
vprolq $0x1, %zmm19, %zmm19
vprolq $0x6, %zmm6, %zmm6
vprolq $0x19, %zmm10, %zmm2
vpternlogq $0xd2, %zmm25, %zmm22, %zmm13
vprolq $0x8, %zmm18, %zmm25
vmovdqa64 %zmm19, %zmm5
vpternlogq $0xd2, %zmm2, %zmm6, %zmm5
vmovdqa64 %zmm6, %zmm18
vpternlogq $0xd2, %zmm25, %zmm2, %zmm18
vpternlogq $0xd2, %zmm8, %zmm25, %zmm2
vpxorq -0x80(%rsp), %zmm24, %zmm10
vpternlogq $0xd2, %zmm19, %zmm8, %zmm25
vpxorq %zmm4, %zmm31, %zmm22
vpxorq %zmm14, %zmm26, %zmm14
vpxorq %zmm17, %zmm28, %zmm17
vpxorq %zmm0, %zmm7, %zmm26
vprolq $0x24, %zmm10, %zmm4
vpternlogq $0xd2, %zmm6, %zmm19, %zmm8
vprolq $0xa, %zmm22, %zmm22
vprolq $0xf, %zmm14, %zmm0
vprolq $0x38, %zmm17, %zmm17
vprolq $0x1b, %zmm26, %zmm19
vmovdqa64 %zmm19, %zmm6
vpternlogq $0xd2, %zmm22, %zmm4, %zmm6
vmovdqa64 %zmm6, %zmm10
vmovdqu64 %zmm6, 0x140(%rsp)
vmovdqa64 %zmm4, %zmm14
vpternlogq $0xd2, %zmm0, %zmm22, %zmm14
vpternlogq $0xd2, %zmm17, %zmm0, %zmm22
vpxorq %zmm12, %zmm24, %zmm6
vpxorq %zmm15, %zmm31, %zmm12
vpxorq %zmm1, %zmm28, %zmm24
vpxorq %zmm3, %zmm7, %zmm3
vpternlogq $0xd2, %zmm19, %zmm17, %zmm0
vprolq $0x29, %zmm6, %zmm15
vprolq $0x2, %zmm12, %zmm1
vprolq $0x3e, %zmm30, %zmm7
vprolq $0x37, %zmm24, %zmm12
vprolq $0x27, %zmm3, %zmm6
vmovdqa64 %zmm7, %zmm3
vpternlogq $0xd2, %zmm4, %zmm19, %zmm17
vpternlogq $0xd2, %zmm6, %zmm12, %zmm3
vmovdqa64 %zmm12, %zmm24
vpternlogq $0xd2, %zmm15, %zmm6, %zmm24
vpternlogq $0xd2, %zmm1, %zmm15, %zmm6
vpternlogq $0xd2, %zmm7, %zmm1, %zmm15
vpternlogq $0xd2, %zmm12, %zmm7, %zmm1
vmovdqa64 %zmm18, %zmm4
vpternlogq $0x96, %zmm14, %zmm21, %zmm4
vpternlogq $0x96, %zmm24, %zmm27, %zmm4
vmovdqa64 %zmm17, %zmm7
vpternlogq $0x96, %zmm1, %zmm13, %zmm7
vpternlogq $0x96, %zmm11, %zmm8, %zmm7
vprolq $0x1, %zmm4, %zmm12
vpxorq %zmm12, %zmm7, %zmm26
vpxorq %zmm29, %zmm26, %zmm12
vmovdqa64 %zmm29, %zmm19
vpternlogq $0x96, %zmm16, %zmm10, %zmm19
vmovdqa64 %zmm9, %zmm31
vpternlogq $0x96, %zmm25, %zmm15, %zmm31
vpternlogq $0x96, %zmm0, %zmm23, %zmm31
vprolq $0x1, %zmm31, %zmm28
vpxorq %zmm4, %zmm28, %zmm28
vpternlogq $0x96, %zmm5, %zmm3, %zmm19
vpxorq %zmm6, %zmm28, %zmm4
vmovdqu64 0x40(%rsp), %zmm10
vpternlogq $0x96, %zmm10, %zmm2, %zmm6
vpternlogq $0x96, %zmm20, %zmm22, %zmm6
vprolq $0x1, %zmm6, %zmm29
vprolq $0x1, %zmm7, %zmm7
vpxorq %zmm19, %zmm29, %zmm29
vprolq $0x1, %zmm19, %zmm19
vpxorq %zmm6, %zmm7, %zmm30
vpxorq %zmm19, %zmm31, %zmm31
vpxorq %zmm2, %zmm28, %zmm2
vpxorq %zmm0, %zmm30, %zmm0
vpxorq %zmm27, %zmm29, %zmm6
vpxorq %zmm1, %zmm31, %zmm1
vprolq $0x2c, %zmm6, %zmm6
vprolq $0x2b, %zmm2, %zmm2
vprolq $0x15, %zmm0, %zmm7
vprolq $0xe, %zmm1, %zmm27
vmovdqa64 %zmm12, %zmm0
vpternlogq $0xd2, %zmm2, %zmm6, %zmm0
vmovdqa64 %zmm6, %zmm19
vpternlogq $0xd2, %zmm7, %zmm2, %zmm19
vmovdqu64 %zmm19, 0x180(%rsp)
vpternlogq $0xd2, %zmm27, %zmm7, %zmm2
vmovdqu64 %zmm2, -0x40(%rsp)
vpxorq 0x68(%rcx,%rax,8){1to8}, %zmm0, %zmm0
vmovdqu64 %zmm0, 0x80(%rsp)
vpxorq %zmm5, %zmm26, %zmm0
vpternlogq $0xd2, %zmm12, %zmm27, %zmm7
vpxorq %zmm14, %zmm29, %zmm2
vpxorq %zmm23, %zmm30, %zmm5
vpxorq %zmm13, %zmm31, %zmm14
vprolq $0x3, %zmm0, %zmm19
vprolq $0x2d, %zmm2, %zmm2
vpternlogq $0xd2, %zmm6, %zmm12, %zmm27
vmovdqu64 %zmm27, (%rsp)
vprolq $0x3d, %zmm4, %zmm13
vprolq $0x1c, %zmm5, %zmm0
vprolq $0x14, %zmm14, %zmm1
vmovdqa64 %zmm0, %zmm4
vpternlogq $0xd2, %zmm19, %zmm1, %zmm4
vmovdqu64 %zmm4, 0x100(%rsp)
vmovdqa64 %zmm1, %zmm14
vmovdqa64 %zmm2, %zmm4
vpternlogq $0xd2, %zmm2, %zmm19, %zmm14
vpternlogq $0xd2, %zmm13, %zmm2, %zmm19
vpxorq %zmm3, %zmm26, %zmm3
vpxorq %zmm21, %zmm29, %zmm5
vpxorq %zmm20, %zmm28, %zmm6
vpxorq %zmm25, %zmm30, %zmm12
vpxorq %zmm17, %zmm31, %zmm17
vpternlogq $0xd2, %zmm0, %zmm13, %zmm4
vmovdqu64 %zmm4, 0xc0(%rsp)
vprolq $0x12, %zmm3, %zmm2
vprolq $0x1, %zmm5, %zmm5
vprolq $0x6, %zmm6, %zmm6
vprolq $0x19, %zmm12, %zmm23
vprolq $0x8, %zmm17, %zmm17
vpternlogq $0xd2, %zmm1, %zmm0, %zmm13
vmovdqa64 %zmm5, %zmm20
vpternlogq $0xd2, %zmm23, %zmm6, %zmm20
vmovdqa64 %zmm6, %zmm12
vpternlogq $0xd2, %zmm17, %zmm23, %zmm12
vpternlogq $0xd2, %zmm2, %zmm17, %zmm23
vpxorq %zmm16, %zmm26, %zmm0
vpxorq %zmm18, %zmm29, %zmm1
vpternlogq $0xd2, %zmm5, %zmm2, %zmm17
vpxorq %zmm22, %zmm28, %zmm16
vpxorq %zmm15, %zmm30, %zmm18
vpxorq %zmm11, %zmm31, %zmm11
vprolq $0x24, %zmm0, %zmm0
vprolq $0xa, %zmm1, %zmm15
vpternlogq $0xd2, %zmm6, %zmm5, %zmm2
vmovdqu64 %zmm2, -0x80(%rsp)
vprolq $0xf, %zmm16, %zmm16
vprolq $0x38, %zmm18, %zmm21
vprolq $0x1b, %zmm11, %zmm1
vmovdqa64 %zmm1, %zmm11
vpternlogq $0xd2, %zmm15, %zmm0, %zmm11
vmovdqa64 %zmm0, %zmm22
vpternlogq $0xd2, %zmm16, %zmm15, %zmm22
vpternlogq $0xd2, %zmm21, %zmm16, %zmm15
vpxorq 0x140(%rsp), %zmm26, %zmm5
vpxorq %zmm24, %zmm29, %zmm6
vpxorq %zmm10, %zmm28, %zmm10
vpxorq %zmm9, %zmm30, %zmm18
vpxorq %zmm8, %zmm31, %zmm24
vpternlogq $0xd2, %zmm1, %zmm21, %zmm16
vprolq $0x29, %zmm5, %zmm9
vprolq $0x2, %zmm6, %zmm8
vprolq $0x3e, %zmm10, %zmm6
vprolq $0x37, %zmm18, %zmm10
vprolq $0x27, %zmm24, %zmm28
vmovdqa64 %zmm6, %zmm25
vpternlogq $0xd2, %zmm0, %zmm1, %zmm21
vpternlogq $0xd2, %zmm28, %zmm10, %zmm25
vmovdqa64 %zmm10, %zmm5
vpternlogq $0xd2, %zmm9, %zmm28, %zmm5
vpternlogq $0xd2, %zmm8, %zmm9, %zmm28
vpternlogq $0xd2, %zmm6, %zmm8, %zmm9
vpternlogq $0xd2, %zmm10, %zmm6, %zmm8
vmovdqa64 %zmm22, %zmm1
vpternlogq $0x96, %zmm14, %zmm12, %zmm1
vmovdqu64 0x180(%rsp), %zmm3
vpternlogq $0x96, %zmm5, %zmm3, %zmm1
vmovdqa64 %zmm2, %zmm0
vpternlogq $0x96, %zmm27, %zmm13, %zmm0
vpternlogq $0x96, %zmm21, %zmm8, %zmm0
vprolq $0x1, %zmm1, %zmm6
vpxorq %zmm6, %zmm0, %zmm24
vmovdqu64 0x80(%rsp), %zmm27
vpxorq %zmm27, %zmm24, %zmm30
vpternlogq $0x96, %zmm11, %zmm25, %zmm27
vmovdqa64 %zmm9, %zmm6
vpternlogq $0x96, %zmm17, %zmm16, %zmm6
vpternlogq $0x96, %zmm7, %zmm4, %zmm6
vprolq $0x1, %zmm6, %zmm10
vpxorq %zmm1, %zmm10, %zmm26
vmovdqu64 0x100(%rsp), %zmm4
vpternlogq $0x96, %zmm4, %zmm20, %zmm27
vpxorq %zmm19, %zmm26, %zmm2
vmovdqu64 -0x40(%rsp), %zmm29
vpternlogq $0x96, %zmm28, %zmm29, %zmm19
vpternlogq $0x96, %zmm23, %zmm15, %zmm19
vprolq $0x1, %zmm19, %zmm1
vprolq $0x1, %zmm0, %zmm0
vpxorq %zmm27, %zmm1, %zmm31
vprolq $0x1, %zmm27, %zmm1
vpxorq %zmm19, %zmm0, %zmm0
vpxorq %zmm1, %zmm6, %zmm1
vpxorq %zmm23, %zmm26, %zmm6
vpxorq %zmm16, %zmm0, %zmm10
vpxorq %zmm14, %zmm31, %zmm14
vpxorq %zmm8, %zmm1, %zmm16
vprolq $0x2c, %zmm14, %zmm14
vprolq $0x2b, %zmm6, %zmm8
vprolq $0x15, %zmm10, %zmm18
vprolq $0xe, %zmm16, %zmm10
vmovdqa64 %zmm30, %zmm6
vpternlogq $0xd2, %zmm8, %zmm14, %zmm6
vmovdqa64 %zmm14, %zmm16
vpternlogq $0xd2, %zmm18, %zmm8, %zmm16
vpternlogq $0xd2, %zmm10, %zmm18, %zmm8
vpxorq 0x70(%rcx,%rax,8){1to8}, %zmm6, %zmm6
vmovdqu64 %zmm6, 0x40(%rsp)
vpxorq %zmm20, %zmm24, %zmm6
vpternlogq $0xd2, %zmm30, %zmm10, %zmm18
vpxorq %zmm22, %zmm31, %zmm19
vpxorq %zmm28, %zmm26, %zmm20
vpxorq %zmm7, %zmm0, %zmm22
vpxorq %zmm13, %zmm1, %zmm13
vprolq $0x3, %zmm6, %zmm7
vpternlogq $0xd2, %zmm14, %zmm30, %zmm10
vprolq $0x2d, %zmm19, %zmm14
vprolq $0x3d, %zmm20, %zmm23
vprolq $0x1c, %zmm22, %zmm6
vprolq $0x14, %zmm13, %zmm20
vmovdqa64 %zmm6, %zmm13
vpternlogq $0xd2, %zmm7, %zmm20, %zmm13
vmovdqa64 %zmm20, %zmm27
vpternlogq $0xd2, %zmm14, %zmm7, %zmm27
vpternlogq $0xd2, %zmm23, %zmm14, %zmm7
vpxorq %zmm25, %zmm24, %zmm19
vpxorq %zmm3, %zmm31, %zmm22
vpxorq %zmm17, %zmm0, %zmm25
vpxorq %zmm21, %zmm1, %zmm21
vpternlogq $0xd2, %zmm6, %zmm23, %zmm14
vprolq $0x12, %zmm19, %zmm17
vprolq $0x1, %zmm22, %zmm28
vprolq $0x6, %zmm2, %zmm2
vprolq $0x19, %zmm25, %zmm30
vprolq $0x8, %zmm21, %zmm19
vpternlogq $0xd2, %zmm20, %zmm6, %zmm23
vmovdqa64 %zmm28, %zmm3
vpternlogq $0xd2, %zmm30, %zmm2, %zmm3
vmovdqa64 %zmm2, %zmm20
vpternlogq $0xd2, %zmm19, %zmm30, %zmm20
vpternlogq $0xd2, %zmm17, %zmm19, %zmm30
vpxorq %zmm4, %zmm24, %zmm4
vpxorq %zmm12, %zmm31, %zmm12
vpternlogq $0xd2, %zmm28, %zmm17, %zmm19
vpxorq %zmm15, %zmm26, %zmm15
vpxorq %zmm9, %zmm0, %zmm9
vpxorq (%rsp), %zmm1, %zmm21
vprolq $0x24, %zmm4, %zmm4
vprolq $0xa, %zmm12, %zmm22
vpternlogq $0xd2, %zmm2, %zmm28, %zmm17
vprolq $0xf, %zmm15, %zmm2
vprolq $0x38, %zmm9, %zmm12
vprolq $0x1b, %zmm21, %zmm15
vmovdqa64 %zmm15, %zmm21
vpternlogq $0xd2, %zmm22, %zmm4, %zmm21
vmovdqa64 %zmm4, %zmm9
vpternlogq $0xd2, %zmm2, %zmm22, %zmm9
vpternlogq $0xd2, %zmm12, %zmm2, %zmm22
vpxorq %zmm11, %zmm24, %zmm11
vpxorq %zmm5, %zmm31, %zmm5
vpxorq %zmm29, %zmm26, %zmm24
vpxorq 0xc0(%rsp), %zmm0, %zmm26
vpxorq -0x80(%rsp), %zmm1, %zmm1
vpternlogq $0xd2, %zmm15, %zmm12, %zmm2
vprolq $0x29, %zmm11, %zmm25
vprolq $0x2, %zmm5, %zmm0
vprolq $0x3e, %zmm24, %zmm5
vprolq $0x37, %zmm26, %zmm11
vprolq $0x27, %zmm1, %zmm1
vmovdqa64 %zmm5, %zmm6
vpternlogq $0xd2, %zmm4, %zmm15, %zmm12
vpternlogq $0xd2, %zmm1, %zmm11, %zmm6
vmovdqa64 %zmm11, %zmm24
vpternlogq $0xd2, %zmm25, %zmm1, %zmm24
vpternlogq $0xd2, %zmm0, %zmm25, %zmm1
vpternlogq $0xd2, %zmm5, %zmm0, %zmm25
vpternlogq $0xd2, %zmm11, %zmm5, %zmm0
vmovdqa64 %zmm27, %zmm4
vpternlogq $0x96, %zmm16, %zmm9, %zmm4
vpternlogq $0x96, %zmm24, %zmm20, %zmm4
vmovdqa64 %zmm0, %zmm5
vpternlogq $0x96, %zmm12, %zmm23, %zmm5
vpternlogq $0x96, %zmm17, %zmm10, %zmm5
vprolq $0x1, %zmm4, %zmm11
vpxorq %zmm11, %zmm5, %zmm26
vmovdqu64 0x40(%rsp), %zmm11
vpxorq %zmm11, %zmm26, %zmm15
vpternlogq $0x96, %zmm6, %zmm3, %zmm11
vmovdqa64 %zmm2, %zmm31
vpternlogq $0x96, %zmm19, %zmm18, %zmm31
vpternlogq $0x96, %zmm14, %zmm25, %zmm31
vprolq $0x1, %zmm31, %zmm28
vpxorq %zmm4, %zmm28, %zmm28
vpternlogq $0x96, %zmm21, %zmm13, %zmm11
vpxorq %zmm30, %zmm28, %zmm4
vpternlogq $0x96, %zmm7, %zmm1, %zmm30
vpternlogq $0x96, %zmm8, %zmm22, %zmm30
vprolq $0x1, %zmm30, %zmm29
vprolq $0x1, %zmm5, %zmm5
vpxorq %zmm11, %zmm29, %zmm29
vprolq $0x1, %zmm11, %zmm11
vpxorq %zmm30, %zmm5, %zmm30
vpxorq %zmm11, %zmm31, %zmm31
vpxorq %zmm27, %zmm29, %zmm5
vpxorq %zmm2, %zmm30, %zmm27
vpxorq %zmm0, %zmm31, %zmm0
vprolq $0x2c, %zmm5, %zmm2
vprolq $0x2b, %zmm4, %zmm11
vprolq $0x15, %zmm27, %zmm5
vprolq $0xe, %zmm0, %zmm4
vmovdqa64 %zmm15, %zmm0
vpternlogq $0xd2, %zmm11, %zmm2, %zmm0
vmovdqa64 %zmm2, %zmm27
vpternlogq $0xd2, %zmm5, %zmm11, %zmm27
vmovdqu64 %zmm27, (%rsp)
vpternlogq $0xd2, %zmm4, %zmm5, %zmm11
vpxorq 0x78(%rcx,%rax,8){1to8}, %zmm0, %zmm0
vmovdqu64 %zmm0, -0x80(%rsp)
vpxorq %zmm3, %zmm26, %zmm0
vpxorq %zmm9, %zmm29, %zmm3
vpternlogq $0xd2, %zmm15, %zmm4, %zmm5
vpxorq %zmm1, %zmm28, %zmm9
vpxorq %zmm18, %zmm30, %zmm18
vpxorq %zmm23, %zmm31, %zmm23
vprolq $0x3, %zmm0, %zmm1
vprolq $0x2d, %zmm3, %zmm3
vpternlogq $0xd2, %zmm2, %zmm15, %zmm4
vmovdqu64 %zmm4, 0x40(%rsp)
vprolq $0x3d, %zmm9, %zmm9
vprolq $0x1c, %zmm18, %zmm0
vprolq $0x14, %zmm23, %zmm2
vmovdqa64 %zmm0, %zmm15
vpternlogq $0xd2, %zmm1, %zmm2, %zmm15
vmovdqu64 %zmm15, 0x80(%rsp)
vmovdqa64 %zmm2, %zmm15
vpternlogq $0xd2, %zmm3, %zmm1, %zmm15
vpternlogq $0xd2, %zmm9, %zmm3, %zmm1
vmovdqa64 %zmm3, %zmm23
vpxorq %zmm6, %zmm26, %zmm3
vpxorq %zmm16, %zmm29, %zmm16
vpxorq %zmm7, %zmm28, %zmm7
vpxorq %zmm19, %zmm30, %zmm18
vpxorq %zmm12, %zmm31, %zmm12
vpternlogq $0xd2, %zmm0, %zmm9, %zmm23
vmovdqa64 %zmm23, %zmm6
vmovdqu64 %zmm23, 0xc0(%rsp)
vprolq $0x12, %zmm3, %zmm3
vprolq $0x1, %zmm16, %zmm16
vprolq $0x6, %zmm7, %zmm23
vprolq $0x19, %zmm18, %zmm19
vprolq $0x8, %zmm12, %zmm12
vpternlogq $0xd2, %zmm2, %zmm0, %zmm9
vmovdqa64 %zmm16, %zmm18
vpternlogq $0xd2, %zmm19, %zmm23, %zmm18
vmovdqa64 %zmm23, %zmm7
vpternlogq $0xd2, %zmm12, %zmm19, %zmm7
vpternlogq $0xd2, %zmm3, %zmm12, %zmm19
vpxorq %zmm13, %zmm26, %zmm0
vpxorq %zmm20, %zmm29, %zmm2
vpternlogq $0xd2, %zmm16, %zmm3, %zmm12
vpxorq %zmm22, %zmm28, %zmm20
vpxorq %zmm25, %zmm30, %zmm22
vpxorq %zmm10, %zmm31, %zmm10
vprolq $0x24, %zmm0, %zmm0
vprolq $0xa, %zmm2, %zmm13
vpternlogq $0xd2, %zmm23, %zmm16, %zmm3
vmovdqu64 %zmm3, -0x40(%rsp)
vprolq $0xf, %zmm20, %zmm23
vprolq $0x38, %zmm22, %zmm16
vprolq $0x1b, %zmm10, %zmm2
vmovdqa64 %zmm2, %zmm10
vpternlogq $0xd2, %zmm13, %zmm0, %zmm10
vmovdqa64 %zmm0, %zmm20
vpternlogq $0xd2, %zmm23, %zmm13, %zmm20
vpternlogq $0xd2, %zmm16, %zmm23, %zmm13
vpxorq %zmm21, %zmm26, %zmm21
vpxorq %zmm24, %zmm29, %zmm22
vpxorq %zmm8, %zmm28, %zmm24
vpxorq %zmm14, %zmm30, %zmm14
vpxorq %zmm17, %zmm31, %zmm25
vpternlogq $0xd2, %zmm2, %zmm16, %zmm23
vprolq $0x29, %zmm21, %zmm17
vprolq $0x2, %zmm22, %zmm8
vprolq $0x3e, %zmm24, %zmm22
vprolq $0x37, %zmm14, %zmm26
vprolq $0x27, %zmm25, %zmm24
vmovdqa64 %zmm22, %zmm21
vpternlogq $0xd2, %zmm0, %zmm2, %zmm16
vpternlogq $0xd2, %zmm24, %zmm26, %zmm21
vmovdqa64 %zmm26, %zmm14
vpternlogq $0xd2, %zmm17, %zmm24, %zmm14
vpternlogq $0xd2, %zmm8, %zmm17, %zmm24
vpternlogq $0xd2, %zmm22, %zmm8, %zmm17
vpternlogq $0xd2, %zmm26, %zmm22, %zmm8
vmovdqa64 %zmm27, %zmm0
vpternlogq $0x96, %zmm7, %zmm15, %zmm0
vpternlogq $0x96, %zmm14, %zmm20, %zmm0
vmovdqa64 %zmm4, %zmm28
vpternlogq $0x96, %zmm3, %zmm9, %zmm28
vpternlogq $0x96, %zmm8, %zmm16, %zmm28
vprolq $0x1, %zmm0, %zmm2
vpxorq %zmm2, %zmm28, %zmm22
vmovdqu64 -0x80(%rsp), %zmm27
vpxorq %zmm27, %zmm22, %zmm26
vmovdqu64 0x80(%rsp), %zmm4
vpternlogq $0x96, %zmm18, %zmm4, %zmm27
vmovdqa64 %zmm5, %zmm29
vpternlogq $0x96, %zmm12, %zmm6, %zmm29
vpternlogq $0x96, %zmm17, %zmm23, %zmm29
vprolq $0x1, %zmm29, %zmm2
vpxorq %zmm0, %zmm2, %zmm25
vpternlogq $0x96, %zmm21, %zmm10, %zmm27
vpxorq %zmm11, %zmm25, %zmm30
vpternlogq $0x96, %zmm19, %zmm1, %zmm11
vpternlogq $0x96, %zmm24, %zmm13, %zmm11
vprolq $0x1, %zmm11, %zmm0
vprolq $0x1, %zmm28, %zmm2
vpxorq %zmm27, %zmm0, %zmm28
vprolq $0x1, %zmm27, %zmm0
vpxorq %zmm11, %zmm2, %zmm31
vpxorq %zmm0, %zmm29, %zmm0
vpxorq %zmm19, %zmm25, %zmm2
vpxorq %zmm23, %zmm31, %zmm11
vpxorq %zmm15, %zmm28, %zmm15
vpxorq %zmm8, %zmm0, %zmm19
vprolq $0x2c, %zmm15, %zmm15
vprolq $0x2b, %zmm2, %zmm3
vprolq $0x15, %zmm11, %zmm23
vprolq $0xe, %zmm19, %zmm11
vmovdqa64 %zmm26, %zmm2
vpternlogq $0xd2, %zmm3, %zmm15, %zmm2
vmovdqa64 %zmm15, %zmm19
vpternlogq $0xd2, %zmm23, %zmm3, %zmm19
vpternlogq $0xd2, %zmm11, %zmm23, %zmm3
vmovdqu64 %zmm3, -0x80(%rsp)
vpxorq 0x80(%rcx,%rax,8){1to8}, %zmm2, %zmm29
vpxorq %zmm18, %zmm22, %zmm2
vpternlogq $0xd2, %zmm26, %zmm11, %zmm23
vpxorq %zmm20, %zmm28, %zmm20
vpxorq %zmm24, %zmm25, %zmm24
vpxorq %zmm5, %zmm31, %zmm27
vpxorq %zmm9, %zmm0, %zmm9
vprolq $0x3, %zmm2, %zmm18
vpternlogq $0xd2, %zmm15, %zmm26, %zmm11
vprolq $0x2d, %zmm20, %zmm8
vprolq $0x3d, %zmm24, %zmm24
vprolq $0x1c, %zmm27, %zmm20
vprolq $0x14, %zmm9, %zmm27
vmovdqa64 %zmm20, %zmm15
vpternlogq $0xd2, %zmm18, %zmm27, %zmm15
vmovdqa64 %zmm27, %zmm26
vpternlogq $0xd2, %zmm8, %zmm18, %zmm26
vpternlogq $0xd2, %zmm24, %zmm8, %zmm18
vpxorq %zmm21, %zmm22, %zmm2
vpxorq (%rsp), %zmm28, %zmm21
vpxorq %zmm1, %zmm25, %zmm6
vpxorq %zmm12, %zmm31, %zmm12
vpternlogq $0xd2, %zmm20, %zmm24, %zmm8
vpxorq %zmm16, %zmm0, %zmm16
vprolq $0x12, %zmm2, %zmm9
vprolq $0x1, %zmm21, %zmm21
vprolq $0x6, %zmm6, %zmm6
vprolq $0x19, %zmm12, %zmm2
vpternlogq $0xd2, %zmm27, %zmm20, %zmm24
vprolq $0x8, %zmm16, %zmm12
vmovdqa64 %zmm21, %zmm27
vpternlogq $0xd2, %zmm2, %zmm6, %zmm27
vmovdqa64 %zmm6, %zmm20
vpternlogq $0xd2, %zmm12, %zmm2, %zmm20
vpternlogq $0xd2, %zmm9, %zmm12, %zmm2
vpxorq %zmm4, %zmm22, %zmm4
vpternlogq $0xd2, %zmm21, %zmm9, %zmm12
vpxorq %zmm7, %zmm28, %zmm7
vpxorq %zmm13, %zmm25, %zmm13
vpxorq %zmm17, %zmm31, %zmm16
vpxorq 0x40(%rsp), %zmm0, %zmm17
vprolq $0x24, %zmm4, %zmm4
vpternlogq $0xd2, %zmm6, %zmm21, %zmm9
vprolq $0xa, %zmm7, %zmm21
vprolq $0xf, %zmm13, %zmm7
vprolq $0x38, %zmm16, %zmm16
vprolq $0x1b, %zmm17, %zmm17
vmovdqa64 %zmm17, %zmm3
vmovdqa64 %zmm4, %zmm13
vpternlogq $0xd2, %zmm7, %zmm21, %zmm13
vpternlogq $0xd2, %zmm21, %zmm4, %zmm3
vmovdqu64 %zmm3, (%rsp)
vpternlogq $0xd2, %zmm16, %zmm7, %zmm21
vpxorq %zmm10, %zmm22, %zmm6
vpxorq %zmm14, %zmm28, %zmm10
vpxorq 0xc0(%rsp), %zmm31, %zmm14
vpxorq -0x40(%rsp), %zmm0, %zmm0
vpternlogq $0xd2, %zmm17, %zmm16, %zmm7
vprolq $0x29, %zmm6, %zmm25
vprolq $0x2, %zmm10, %zmm1
vprolq $0x3e, %zmm30, %zmm10
vprolq $0x37, %zmm14, %zmm14
vprolq $0x27, %zmm0, %zmm6
vmovdqa64 %zmm10, %zmm5
vpternlogq $0xd2, %zmm4, %zmm17, %zmm16
vpternlogq $0xd2, %zmm6, %zmm14, %zmm5
vmovdqa64 %zmm14, %zmm22
vpternlogq $0xd2, %zmm25, %zmm6, %zmm22
vpternlogq $0xd2, %zmm1, %zmm25, %zmm6
vpternlogq $0xd2, %zmm10, %zmm1, %zmm25
vpternlogq $0xd2, %zmm14, %zmm10, %zmm1
vmovdqa64 %zmm20, %zmm0
vpternlogq $0x96, %zmm13, %zmm19, %zmm0
vpternlogq $0x96, %zmm22, %zmm26, %zmm0
vmovdqa64 %zmm16, %zmm4
vpternlogq $0x96, %zmm1, %zmm24, %zmm4
vpternlogq $0x96, %zmm11, %zmm9, %zmm4
vprolq $0x1, %zmm0, %zmm10
vpxorq %zmm10, %zmm4, %zmm28
vpxorq %zmm29, %zmm28, %zmm17
vmovdqa64 %zmm29, %zmm10
vpternlogq $0x96, %zmm15, %zmm3, %zmm10
vmovdqa64 %zmm8, %zmm14
vpternlogq $0x96, %zmm12, %zmm25, %zmm14
vpternlogq $0x96, %zmm7, %zmm23, %zmm14
vprolq $0x1, %zmm14, %zmm29
vpxorq %zmm0, %zmm29, %zmm29
vpternlogq $0x96, %zmm27, %zmm5, %zmm10
vpxorq %zmm6, %zmm29, %zmm0
vpternlogq $0x96, -0x80(%rsp), %zmm2, %zmm6
vpternlogq $0x96, %zmm18, %zmm21, %zmm6
vprolq $0x1, %zmm6, %zmm30
vprolq $0x1, %zmm4, %zmm4
vpxorq %zmm10, %zmm30, %zmm30
vprolq $0x1, %zmm10, %zmm10
vpxorq %zmm6, %zmm4, %zmm31
vpxorq %zmm10, %zmm14, %zmm10
vpxorq %zmm2, %zmm29, %zmm2
vpxorq %zmm7, %zmm31, %zmm4
vpxorq %zmm26, %zmm30, %zmm6
vpxorq %zmm1, %zmm10, %zmm1
vprolq $0x2c, %zmm6, %zmm6
vprolq $0x2b, %zmm2, %zmm3
vprolq $0x15, %zmm4, %zmm7
vprolq $0xe, %zmm1, %zmm2
vmovdqa64 %zmm17, %zmm1
vpternlogq $0xd2, %zmm3, %zmm6, %zmm1
vmovdqa64 %zmm6, %zmm4
vpternlogq $0xd2, %zmm7, %zmm3, %zmm4
vpternlogq $0xd2, %zmm2, %zmm7, %zmm3
vmovdqu64 %zmm3, 0x40(%rsp)
vpxorq 0x88(%rcx,%rax,8){1to8}, %zmm1, %zmm26
vpxorq %zmm27, %zmm28, %zmm1
vpternlogq $0xd2, %zmm17, %zmm2, %zmm7
vpxorq %zmm13, %zmm30, %zmm13
vpxorq %zmm23, %zmm31, %zmm23
vpxorq %zmm24, %zmm10, %zmm24
vprolq $0x3, %zmm1, %zmm14
vprolq $0x2d, %zmm13, %zmm1
vpternlogq $0xd2, %zmm6, %zmm17, %zmm2
vprolq $0x3d, %zmm0, %zmm13
vprolq $0x1c, %zmm23, %zmm0
vprolq $0x14, %zmm24, %zmm6
vmovdqa64 %zmm0, %zmm17
vpternlogq $0xd2, %zmm14, %zmm6, %zmm17
vmovdqu64 %zmm17, -0x40(%rsp)
vmovdqa64 %zmm6, %zmm27
vpternlogq $0xd2, %zmm1, %zmm14, %zmm27
vpternlogq $0xd2, %zmm13, %zmm1, %zmm14
vpxorq %zmm5, %zmm28, %zmm3
vpxorq %zmm19, %zmm30, %zmm17
vpxorq %zmm18, %zmm29, %zmm18
vpxorq %zmm12, %zmm31, %zmm12
vpxorq %zmm16, %zmm10, %zmm16
vpternlogq $0xd2, %zmm0, %zmm13, %zmm1
vmovdqu64 %zmm1, 0xc0(%rsp)
vprolq $0x12, %zmm3, %zmm3
vprolq $0x1, %zmm17, %zmm17
vprolq $0x6, %zmm18, %zmm19
vprolq $0x19, %zmm12, %zmm18
vprolq $0x8, %zmm16, %zmm16
vpternlogq $0xd2, %zmm6, %zmm0, %zmm13
vmovdqa64 %zmm17, %zmm23
vpternlogq $0xd2, %zmm18, %zmm19, %zmm23
vmovdqa64 %zmm19, %zmm12
vpternlogq $0xd2, %zmm16, %zmm18, %zmm12
vpternlogq $0xd2, %zmm3, %zmm16, %zmm18
vpxorq %zmm15, %zmm28, %zmm0
vpxorq %zmm20, %zmm30, %zmm6
vpternlogq $0xd2, %zmm17, %zmm3, %zmm16
vpxorq %zmm21, %zmm29, %zmm20
vpxorq %zmm25, %zmm31, %zmm21
vpxorq %zmm11, %zmm10, %zmm11
vprolq $0x24, %zmm0, %zmm0
vprolq $0xa, %zmm6, %zmm15
vpternlogq $0xd2, %zmm19, %zmm17, %zmm3
vprolq $0xf, %zmm20, %zmm19
vprolq $0x38, %zmm21, %zmm20
vprolq $0x1b, %zmm11, %zmm6
vmovdqa64 %zmm6, %zmm11
vpternlogq $0xd2, %zmm15, %zmm0, %zmm11
vmovdqa64 %zmm0, %zmm21
vpternlogq $0xd2, %zmm19, %zmm15, %zmm21
vpternlogq $0xd2, %zmm20, %zmm19, %zmm15
vpxorq (%rsp), %zmm28, %zmm17
vpxorq %zmm22, %zmm30, %zmm22
vpxorq -0x80(%rsp), %zmm29, %zmm24
vpxorq %zmm8, %zmm31, %zmm5
vpxorq %zmm9, %zmm10, %zmm10
vpternlogq $0xd2, %zmm6, %zmm20, %zmm19
vprolq $0x29, %zmm17, %zmm9
vprolq $0x2, %zmm22, %zmm8
vprolq $0x3e, %zmm24, %zmm24
vprolq $0x37, %zmm5, %zmm25
vprolq $0x27, %zmm10, %zmm22
vmovdqa64 %zmm24, %zmm17
vpternlogq $0xd2, %zmm0, %zmm6, %zmm20
vpternlogq $0xd2, %zmm22, %zmm25, %zmm17
vmovdqa64 %zmm25, %zmm5
vpternlogq $0xd2, %zmm9, %zmm22, %zmm5
vpternlogq $0xd2, %zmm8, %zmm9, %zmm22
vpternlogq $0xd2, %zmm24, %zmm8, %zmm9
vpternlogq $0xd2, %zmm25, %zmm24, %zmm8
vmovdqa64 %zmm21, %zmm6
vpternlogq $0x96, %zmm27, %zmm12, %zmm6
vpternlogq $0x96, %zmm5, %zmm4, %zmm6
vmovdqa64 %zmm3, %zmm0
vpternlogq $0x96, %zmm2, %zmm13, %zmm0
vpternlogq $0x96, %zmm20, %zmm8, %zmm0
vprolq $0x1, %zmm6, %zmm10
vpxorq %zmm10, %zmm0, %zmm24
vpxorq %zmm26, %zmm24, %zmm28
vpternlogq $0x96, %zmm11, %zmm17, %zmm26
vmovdqa64 %zmm9, %zmm10
vpternlogq $0x96, %zmm16, %zmm19, %zmm10
vpternlogq $0x96, %zmm7, %zmm1, %zmm10
vprolq $0x1, %zmm10, %zmm25
vpxorq %zmm6, %zmm25, %zmm25
vpternlogq $0x96, -0x40(%rsp), %zmm23, %zmm26
vpxorq %zmm14, %zmm25, %zmm6
vmovdqu64 0x40(%rsp), %zmm1
vpternlogq $0x96, %zmm22, %zmm1, %zmm14
vpternlogq $0x96, %zmm18, %zmm15, %zmm14
vprolq $0x1, %zmm14, %zmm29
vprolq $0x1, %zmm0, %zmm0
vpxorq %zmm26, %zmm29, %zmm29
vprolq $0x1, %zmm26, %zmm26
vpxorq %zmm14, %zmm0, %zmm31
vpxorq %zmm26, %zmm10, %zmm0
vpxorq %zmm18, %zmm25, %zmm10
vpxorq %zmm19, %zmm31, %zmm14
vpxorq %zmm27, %zmm29, %zmm18
vpxorq %zmm8, %zmm0, %zmm26
vprolq $0x2c, %zmm18, %zmm30
vprolq $0x2b, %zmm10, %zmm27
vprolq $0x15, %zmm14, %zmm19
vprolq $0xe, %zmm26, %zmm18
vmovdqa64 %zmm28, %zmm14
vpternlogq $0xd2, %zmm27, %zmm30, %zmm14
vmovdqa64 %zmm30, %zmm8
vpternlogq $0xd2, %zmm19, %zmm27, %zmm8
vmovdqa64 %zmm8, %zmm10
vmovdqu64 %zmm8, 0x100(%rsp)
vpternlogq $0xd2, %zmm18, %zmm19, %zmm27
vpxorq 0x90(%rcx,%rax,8){1to8}, %zmm14, %zmm8
vmovdqu64 %zmm8, -0x80(%rsp)
vpxorq %zmm23, %zmm24, %zmm14
vpternlogq $0xd2, %zmm28, %zmm18, %zmm19
vpxorq %zmm21, %zmm29, %zmm21
vpxorq %zmm22, %zmm25, %zmm22
vpxorq %zmm7, %zmm31, %zmm26
vpxorq %zmm13, %zmm0, %zmm13
vprolq $0x3, %zmm14, %zmm7
vpternlogq $0xd2, %zmm30, %zmm28, %zmm18
vprolq $0x2d, %zmm21, %zmm14
vprolq $0x3d, %zmm22, %zmm23
vprolq $0x1c, %zmm26, %zmm21
vprolq $0x14, %zmm13, %zmm28
vmovdqa64 %zmm21, %zmm8
vpternlogq $0xd2, %zmm7, %zmm28, %zmm8
vmovdqu64 %zmm8, 0x140(%rsp)
vmovdqa64 %zmm28, %zmm26
vpternlogq $0xd2, %zmm14, %zmm7, %zmm26
vpternlogq $0xd2, %zmm23, %zmm14, %zmm7
vpxorq %zmm17, %zmm24, %zmm17
vpxorq %zmm4, %zmm29, %zmm4
vpxorq %zmm16, %zmm31, %zmm13
vpxorq %zmm20, %zmm0, %zmm20
vpternlogq $0xd2, %zmm21, %zmm23, %zmm14
vprolq $0x12, %zmm17, %zmm17
vprolq $0x1, %zmm4, %zmm4
vprolq $0x6, %zmm6, %zmm16
vprolq $0x19, %zmm13, %zmm30
vprolq $0x8, %zmm20, %zmm22
vpternlogq $0xd2, %zmm28, %zmm21, %zmm23
vmovdqa64 %zmm4, %zmm8
vpternlogq $0xd2, %zmm30, %zmm16, %zmm8
vmovdqa64 %zmm16, %zmm13
vpternlogq $0xd2, %zmm22, %zmm30, %zmm13
vpternlogq $0xd2, %zmm17, %zmm22, %zmm30
vpxorq -0x40(%rsp), %zmm24, %zmm20
vpxorq %zmm12, %zmm29, %zmm12
vpternlogq $0xd2, %zmm4, %zmm17, %zmm22
vpxorq %zmm15, %zmm25, %zmm15
vpxorq %zmm9, %zmm31, %zmm9
vpxorq %zmm2, %zmm0, %zmm21
vprolq $0x24, %zmm20, %zmm28
vprolq $0xa, %zmm12, %zmm20
vpternlogq $0xd2, %zmm16, %zmm4, %zmm17
vprolq $0xf, %zmm15, %zmm2
vprolq $0x38, %zmm9, %zmm12
vprolq $0x1b, %zmm21, %zmm9
vmovdqa64 %zmm9, %zmm21
vpternlogq $0xd2, %zmm20, %zmm28, %zmm21
vmovdqa64 %zmm28, %zmm4
vpternlogq $0xd2, %zmm2, %zmm20, %zmm4
vpternlogq $0xd2, %zmm12, %zmm2, %zmm20
vpxorq %zmm11, %zmm24, %zmm11
vpxorq %zmm5, %zmm29, %zmm5
vpxorq %zmm1, %zmm25, %zmm15
vpxorq 0xc0(%rsp), %zmm31, %zmm1
vpxorq %zmm3, %zmm0, %zmm0
vpternlogq $0xd2, %zmm9, %zmm12, %zmm2
vprolq $0x29, %zmm11, %zmm25
vprolq $0x2, %zmm5, %zmm5
vprolq $0x3e, %zmm15, %zmm11
vprolq $0x37, %zmm1, %zmm15
vprolq $0x27, %zmm0, %zmm1
vmovdqa64 %zmm11, %zmm6
vpternlogq $0xd2, %zmm28, %zmm9, %zmm12
vpternlogq $0xd2, %zmm1, %zmm15, %zmm6
vmovdqa64 %zmm15, %zmm24
vpternlogq $0xd2, %zmm25, %zmm1, %zmm24
vpternlogq $0xd2, %zmm5, %zmm25, %zmm1
vpternlogq $0xd2, %zmm11, %zmm5, %zmm25
vpternlogq $0xd2, %zmm15, %zmm11, %zmm5
vmovdqa64 %zmm26, %zmm0
vpternlogq $0x96, %zmm10, %zmm4, %zmm0
vpternlogq $0x96, %zmm24, %zmm13, %zmm0
vmovdqa64 %zmm5, %zmm9
vpternlogq $0x96, %zmm12, %zmm23, %zmm9
vpternlogq $0x96, %zmm17, %zmm18, %zmm9
vprolq $0x1, %zmm0, %zmm11
vpxorq %zmm11, %zmm9, %zmm28
vmovdqu64 -0x80(%rsp), %zmm11
vpxorq %zmm11, %zmm28, %zmm15
vpternlogq $0x96, %zmm6, %zmm8, %zmm11
vmovdqa64 %zmm2, %zmm16
vpternlogq $0x96, %zmm22, %zmm19, %zmm16
vpternlogq $0x96, %zmm14, %zmm25, %zmm16
vprolq $0x1, %zmm16, %zmm29
vpxorq %zmm0, %zmm29, %zmm29
vmovdqu64 0x140(%rsp), %zmm10
vpternlogq $0x96, %zmm21, %zmm10, %zmm11
vpxorq %zmm30, %zmm29, %zmm3
vmovdqa64 %zmm30, %zmm0
vpternlogq $0x96, %zmm7, %zmm1, %zmm0
vpternlogq $0x96, %zmm27, %zmm20, %zmm0
vprolq $0x1, %zmm0, %zmm30
vprolq $0x1, %zmm9, %zmm9
vpxorq %zmm11, %zmm30, %zmm30
vprolq $0x1, %zmm11, %zmm11
vpxorq %zmm0, %zmm9, %zmm31
vpxorq %zmm11, %zmm16, %zmm0
vpxorq %zmm26, %zmm30, %zmm9
vpxorq %zmm2, %zmm31, %zmm2
vpxorq %zmm5, %zmm0, %zmm16
vprolq $0x2c, %zmm9, %zmm9
vprolq $0x2b, %zmm3, %zmm11
vprolq $0x15, %zmm2, %zmm5
vprolq $0xe, %zmm16, %zmm26
vmovdqa64 %zmm15, %zmm2
vpternlogq $0xd2, %zmm11, %zmm9, %zmm2
vmovdqa64 %zmm9, %zmm3
vpternlogq $0xd2, %zmm5, %zmm11, %zmm3
vmovdqu64 %zmm3, -0x80(%rsp)
vpternlogq $0xd2, %zmm26, %zmm5, %zmm11
vpxorq 0x98(%rcx,%rax,8){1to8}, %zmm2, %zmm2
vmovdqu64 %zmm2, (%rsp)
vpxorq %zmm8, %zmm28, %zmm3
vpxorq %zmm4, %zmm30, %zmm4
vpternlogq $0xd2, %zmm15, %zmm26, %zmm5
vmovdqu64 %zmm5, 0x80(%rsp)
vpxorq %zmm1, %zmm29, %zmm8
vpxorq %zmm19, %zmm31, %zmm16
vpxorq %zmm23, %zmm0, %zmm19
vprolq $0x3, %zmm3, %zmm5
vprolq $0x2d, %zmm4, %zmm2
vpternlogq $0xd2, %zmm9, %zmm15, %zmm26
vmovdqu64 %zmm26, -0x40(%rsp)
vprolq $0x3d, %zmm8, %zmm9
vprolq $0x1c, %zmm16, %zmm8
vprolq $0x14, %zmm19, %zmm16
vmovdqa64 %zmm8, %zmm4
vpternlogq $0xd2, %zmm5, %zmm16, %zmm4
vmovdqa64 %zmm16, %zmm15
vpternlogq $0xd2, %zmm2, %zmm5, %zmm15
vpternlogq $0xd2, %zmm9, %zmm2, %zmm5
vpxorq %zmm6, %zmm28, %zmm3
vpxorq 0x100(%rsp), %zmm30, %zmm6
vpxorq %zmm7, %zmm29, %zmm7
vpxorq %zmm22, %zmm31, %zmm19
vpxorq %zmm12, %zmm0, %zmm12
vpternlogq $0xd2, %zmm8, %zmm9, %zmm2
vmovdqu64 %zmm2, 0x40(%rsp)
vprolq $0x12, %zmm3, %zmm3
vprolq $0x1, %zmm6, %zmm22
vprolq $0x6, %zmm7, %zmm23
vprolq $0x19, %zmm19, %zmm19
vprolq $0x8, %zmm12, %zmm12
vpternlogq $0xd2, %zmm16, %zmm8, %zmm9
vmovdqa64 %zmm22, %zmm6
vpternlogq $0xd2, %zmm19, %zmm23, %zmm6
vmovdqa64 %zmm23, %zmm7
vpternlogq $0xd2, %zmm12, %zmm19, %zmm7
vpternlogq $0xd2, %zmm3, %zmm12, %zmm19
vpxorq %zmm10, %zmm28, %zmm8
vpxorq %zmm13, %zmm30, %zmm13
vpternlogq $0xd2, %zmm22, %zmm3, %zmm12
vpxorq %zmm20, %zmm29, %zmm16
vpxorq %zmm25, %zmm31, %zmm20
vpxorq %zmm18, %zmm0, %zmm10
vprolq $0x24, %zmm8, %zmm25
vprolq $0xa, %zmm13, %zmm13
vpternlogq $0xd2, %zmm23, %zmm22, %zmm3
vprolq $0xf, %zmm16, %zmm23
vprolq $0x38, %zmm20, %zmm16
vprolq $0x1b, %zmm10, %zmm22
vmovdqa64 %zmm22, %zmm1
vpternlogq $0xd2, %zmm13, %zmm25, %zmm1
vmovdqu64 %zmm1, 0xc0(%rsp)
vmovdqa64 %zmm25, %zmm20
vpternlogq $0xd2, %zmm23, %zmm13, %zmm20
vpternlogq $0xd2, %zmm16, %zmm23, %zmm13
vpxorq %zmm21, %zmm28, %zmm8
vpxorq %zmm24, %zmm30, %zmm21
vpxorq %zmm27, %zmm29, %zmm18
vpxorq %zmm14, %zmm31, %zmm14
vpxorq %zmm17, %zmm0, %zmm17
vpternlogq $0xd2, %zmm22, %zmm16, %zmm23
vprolq $0x29, %zmm8, %zmm0
vprolq $0x2, %zmm21, %zmm8
vprolq $0x3e, %zmm18, %zmm18
vprolq $0x37, %zmm14, %zmm26
vprolq $0x27, %zmm17, %zmm24
vmovdqa64 %zmm18, %zmm21
vpternlogq $0xd2, %zmm25, %zmm22, %zmm16
vpternlogq $0xd2, %zmm24, %zmm26, %zmm21
vmovdqa64 %zmm26, %zmm10
vpternlogq $0xd2, %zmm0, %zmm24, %zmm10
vpternlogq $0xd2, %zmm8, %zmm0, %zmm24
vpternlogq $0xd2, %zmm18, %zmm8, %zmm0
vpternlogq $0xd2, %zmm26, %zmm18, %zmm8
vmovdqu64 -0x80(%rsp), %zmm17
vpternlogq $0x96, %zmm7, %zmm15, %zmm17
vpternlogq $0x96, %zmm10, %zmm20, %zmm17
vmovdqu64 -0x40(%rsp), %zmm28
vpternlogq $0x96, %zmm3, %zmm9, %zmm28
vpternlogq $0x96, %zmm8, %zmm16, %zmm28
vprolq $0x1, %zmm17, %zmm18
vpxorq %zmm18, %zmm28, %zmm22
vmovdqu64 (%rsp), %zmm27
vpxorq %zmm27, %zmm22, %zmm26
vpternlogq $0x96, %zmm6, %zmm4, %zmm27
vmovdqu64 0x80(%rsp), %zmm14
vmovdqa64 %zmm14, %zmm29
vpternlogq $0x96, %zmm12, %zmm2, %zmm29
vpternlogq $0x96, %zmm0, %zmm23, %zmm29
vprolq $0x1, %zmm29, %zmm2
vpxorq %zmm17, %zmm2, %zmm25
vpternlogq $0x96, %zmm21, %zmm1, %zmm27
vpxorq %zmm11, %zmm25, %zmm30
vpternlogq $0x96, %zmm19, %zmm5, %zmm11
vpternlogq $0x96, %zmm24, %zmm13, %zmm11
vprolq $0x1, %zmm11, %zmm2
vprolq $0x1, %zmm28, %zmm17
vpxorq %zmm27, %zmm2, %zmm31
vprolq $0x1, %zmm27, %zmm2
vpxorq %zmm11, %zmm17, %zmm28
vpxorq %zmm2, %zmm29, %zmm17
vpxorq %zmm19, %zmm25, %zmm2
vpxorq %zmm23, %zmm28, %zmm11
vpxorq %zmm15, %zmm31, %zmm15
vpxorq %zmm8, %zmm17, %zmm18
vprolq $0x2c, %zmm15, %zmm23
vprolq $0x2b, %zmm2, %zmm1
vprolq $0x15, %zmm11, %zmm15
vprolq $0xe, %zmm18, %zmm11
vmovdqa64 %zmm26, %zmm2
vpternlogq $0xd2, %zmm1, %zmm23, %zmm2
vmovdqa64 %zmm23, %zmm19
vpternlogq $0xd2, %zmm15, %zmm1, %zmm19
vpternlogq $0xd2, %zmm11, %zmm15, %zmm1
vmovdqu64 %zmm1, (%rsp)
vpxorq 0xa0(%rcx,%rax,8){1to8}, %zmm2, %zmm29
vpxorq %zmm6, %zmm22, %zmm2
vpternlogq $0xd2, %zmm26, %zmm11, %zmm15
vpxorq %zmm20, %zmm31, %zmm6
vpxorq %zmm24, %zmm25, %zmm18
vpxorq %zmm14, %zmm28, %zmm27
vpxorq %zmm9, %zmm17, %zmm9
vprolq $0x3, %zmm2, %zmm20
vpternlogq $0xd2, %zmm23, %zmm26, %zmm11
vprolq $0x2d, %zmm6, %zmm14
vprolq $0x3d, %zmm18, %zmm24
vprolq $0x1c, %zmm27, %zmm6
vprolq $0x14, %zmm9, %zmm23
vmovdqa64 %zmm6, %zmm18
vpternlogq $0xd2, %zmm20, %zmm23, %zmm18
vmovdqa64 %zmm23, %zmm26
vpternlogq $0xd2, %zmm14, %zmm20, %zmm26
vpternlogq $0xd2, %zmm24, %zmm14, %zmm20
vpxorq %zmm21, %zmm22, %zmm2
vpxorq -0x80(%rsp), %zmm31, %zmm21
vpxorq %zmm5, %zmm25, %zmm1
vpxorq %zmm12, %zmm28, %zmm12
vpternlogq $0xd2, %zmm6, %zmm24, %zmm14
vpxorq %zmm16, %zmm17, %zmm16
vprolq $0x12, %zmm2, %zmm9
vprolq $0x1, %zmm21, %zmm27
vprolq $0x6, %zmm1, %zmm1
vprolq $0x19, %zmm12, %zmm2
vpternlogq $0xd2, %zmm23, %zmm6, %zmm24
vprolq $0x8, %zmm16, %zmm16
vmovdqa64 %zmm27, %zmm12
vpternlogq $0xd2, %zmm2, %zmm1, %zmm12
vmovdqa64 %zmm1, %zmm21
vpternlogq $0xd2, %zmm16, %zmm2, %zmm21
vpternlogq $0xd2, %zmm9, %zmm16, %zmm2
vpxorq %zmm4, %zmm22, %zmm4
vpternlogq $0xd2, %zmm27, %zmm9, %zmm16
vpxorq %zmm7, %zmm31, %zmm6
vpxorq %zmm13, %zmm25, %zmm7
vpxorq %zmm0, %zmm28, %zmm13
vpxorq -0x40(%rsp), %zmm17, %zmm25
vprolq $0x24, %zmm4, %zmm4
vpternlogq $0xd2, %zmm1, %zmm27, %zmm9
vprolq $0xa, %zmm6, %zmm23
vprolq $0xf, %zmm7, %zmm0
vprolq $0x38, %zmm13, %zmm13
vprolq $0x1b, %zmm25, %zmm7
vmovdqa64 %zmm7, %zmm1
vmovdqa64 %zmm4, %zmm8
vpternlogq $0xd2, %zmm0, %zmm23, %zmm8
vpternlogq $0xd2, %zmm23, %zmm4, %zmm1
vmovdqa64 %zmm1, %zmm27
vmovdqu64 %zmm1, 0x140(%rsp)
vpternlogq $0xd2, %zmm13, %zmm0, %zmm23
vpxorq 0xc0(%rsp), %zmm22, %zmm1
vpxorq %zmm10, %zmm31, %zmm5
vpxorq 0x40(%rsp), %zmm28, %zmm6
vpxorq %zmm3, %zmm17, %zmm17
vpternlogq $0xd2, %zmm7, %zmm13, %zmm0
vprolq $0x29, %zmm1, %zmm10
vprolq $0x2, %zmm5, %zmm1
vprolq $0x3e, %zmm30, %zmm25
vprolq $0x37, %zmm6, %zmm28
vprolq $0x27, %zmm17, %zmm6
vmovdqa64 %zmm25, %zmm5
vpternlogq $0xd2, %zmm4, %zmm7, %zmm13
vpternlogq $0xd2, %zmm6, %zmm28, %zmm5
vmovdqa64 %zmm28, %zmm22
vpternlogq $0xd2, %zmm10, %zmm6, %zmm22
vpternlogq $0xd2, %zmm1, %zmm10, %zmm6
vpternlogq $0xd2, %zmm25, %zmm1, %zmm10
vpternlogq $0xd2, %zmm28, %zmm25, %zmm1
vmovdqa64 %zmm21, %zmm4
vpternlogq $0x96, %zmm8, %zmm19, %zmm4
vpternlogq $0x96, %zmm22, %zmm26, %zmm4
vmovdqa64 %zmm13, %zmm7
vpternlogq $0x96, %zmm1, %zmm24, %zmm7
vpternlogq $0x96, %zmm11, %zmm9, %zmm7
vprolq $0x1, %zmm4, %zmm17
vpxorq %zmm17, %zmm7, %zmm25
vpxorq %zmm29, %zmm25, %zmm3
vmovdqa64 %zmm29, %zmm17
vpternlogq $0x96, %zmm18, %zmm27, %zmm17
vmovdqa64 %zmm14, %zmm31
vpternlogq $0x96, %zmm16, %zmm10, %zmm31
vpternlogq $0x96, %zmm0, %zmm15, %zmm31
vprolq $0x1, %zmm31, %zmm28
vpxorq %zmm4, %zmm28, %zmm28
vpternlogq $0x96, %zmm12, %zmm5, %zmm17
vpxorq %zmm6, %zmm28, %zmm4
vmovdqu64 (%rsp), %zmm27
vpternlogq $0x96, %zmm27, %zmm2, %zmm6
vpternlogq $0x96, %zmm20, %zmm23, %zmm6
vprolq $0x1, %zmm6, %zmm29
vprolq $0x1, %zmm7, %zmm7
vpxorq %zmm17, %zmm29, %zmm29
vprolq $0x1, %zmm17, %zmm17
vpxorq %zmm6, %zmm7, %zmm30
vpxorq %zmm17, %zmm31, %zmm31
vpxorq %zmm2, %zmm28, %zmm2
vpxorq %zmm0, %zmm30, %zmm0
vpxorq %zmm26, %zmm29, %zmm6
vpxorq %zmm1, %zmm31, %zmm1
vprolq $0x2c, %zmm6, %zmm6
vprolq $0x2b, %zmm2, %zmm2
vprolq $0x15, %zmm0, %zmm7
vprolq $0xe, %zmm1, %zmm1
vmovdqa64 %zmm3, %zmm0
vpternlogq $0xd2, %zmm2, %zmm6, %zmm0
vmovdqa64 %zmm6, %zmm26
vpternlogq $0xd2, %zmm7, %zmm2, %zmm26
vmovdqu64 %zmm26, 0x100(%rsp)
vpternlogq $0xd2, %zmm1, %zmm7, %zmm2
vmovdqu64 %zmm2, -0x40(%rsp)
vpxorq 0xa8(%rcx,%rax,8){1to8}, %zmm0, %zmm0
vmovdqu64 %zmm0, 0x80(%rsp)
vpxorq %zmm12, %zmm25, %zmm0
vpternlogq $0xd2, %zmm3, %zmm1, %zmm7
vmovdqa64 %zmm1, %zmm2
vpxorq %zmm8, %zmm29, %zmm12
vpxorq %zmm15, %zmm30, %zmm8
vpxorq %zmm24, %zmm31, %zmm24
vprolq $0x3, %zmm0, %zmm17
vprolq $0x2d, %zmm12, %zmm12
vpternlogq $0xd2, %zmm6, %zmm3, %zmm2
vmovdqu64 %zmm2, 0xc0(%rsp)
vprolq $0x3d, %zmm4, %zmm15
vprolq $0x1c, %zmm8, %zmm6
vprolq $0x14, %zmm24, %zmm8
vmovdqa64 %zmm6, %zmm4
vpternlogq $0xd2, %zmm17, %zmm8, %zmm4
vmovdqa64 %zmm8, %zmm0
vpternlogq $0xd2, %zmm12, %zmm17, %zmm0
vpternlogq $0xd2, %zmm15, %zmm12, %zmm17
vmovdqa64 %zmm12, %zmm1
vpxorq %zmm5, %zmm25, %zmm3
vpxorq %zmm19, %zmm29, %zmm5
vpxorq %zmm20, %zmm28, %zmm12
vpxorq %zmm16, %zmm30, %zmm16
vpxorq %zmm13, %zmm31, %zmm13
vpternlogq $0xd2, %zmm6, %zmm15, %zmm1
vmovdqu64 %zmm1, -0x80(%rsp)
vprolq $0x12, %zmm3, %zmm3
vprolq $0x1, %zmm5, %zmm5
vprolq $0x6, %zmm12, %zmm12
vprolq $0x19, %zmm16, %zmm20
vprolq $0x8, %zmm13, %zmm16
vpternlogq $0xd2, %zmm8, %zmm6, %zmm15
vmovdqa64 %zmm5, %zmm19
vpternlogq $0xd2, %zmm20, %zmm12, %zmm19
vmovdqa64 %zmm12, %zmm13
vpternlogq $0xd2, %zmm16, %zmm20, %zmm13
vpternlogq $0xd2, %zmm3, %zmm16, %zmm20
vpxorq %zmm18, %zmm25, %zmm6
vpxorq %zmm21, %zmm29, %zmm8
vpternlogq $0xd2, %zmm5, %zmm3, %zmm16
vpxorq %zmm23, %zmm28, %zmm18
vpxorq %zmm10, %zmm30, %zmm10
vpxorq %zmm11, %zmm31, %zmm21
vprolq $0x24, %zmm6, %zmm6
vprolq $0xa, %zmm8, %zmm11
vpternlogq $0xd2, %zmm12, %zmm5, %zmm3
vprolq $0xf, %zmm18, %zmm23
vprolq $0x38, %zmm10, %zmm18
vprolq $0x1b, %zmm21, %zmm5
vmovdqa64 %zmm5, %zmm8
vpternlogq $0xd2, %zmm11, %zmm6, %zmm8
vmovdqa64 %zmm8, %zmm10
vmovdqu64 %zmm8, 0x40(%rsp)
vmovdqa64 %zmm6, %zmm21
vpternlogq $0xd2, %zmm23, %zmm11, %zmm21
vpternlogq $0xd2, %zmm18, %zmm23, %zmm11
vpxorq 0x140(%rsp), %zmm25, %zmm8
vpxorq %zmm22, %zmm29, %zmm12
vpxorq %zmm27, %zmm28, %zmm22
vpxorq %zmm14, %zmm30, %zmm14
vpxorq %zmm9, %zmm31, %zmm9
vpternlogq $0xd2, %zmm5, %zmm18, %zmm23
vprolq $0x29, %zmm8, %zmm8
vprolq $0x2, %zmm12, %zmm12
vprolq $0x3e, %zmm22, %zmm24
vprolq $0x37, %zmm14, %zmm14
vprolq $0x27, %zmm9, %zmm25
vmovdqa64 %zmm24, %zmm22
vpternlogq $0xd2, %zmm6, %zmm5, %zmm18
vpternlogq $0xd2, %zmm25, %zmm14, %zmm22
vmovdqa64 %zmm14, %zmm5
vpternlogq $0xd2, %zmm8, %zmm25, %zmm5
vpternlogq $0xd2, %zmm12, %zmm8, %zmm25
vpternlogq $0xd2, %zmm24, %zmm12, %zmm8
vpternlogq $0xd2, %zmm14, %zmm24, %zmm12
vmovdqa64 %zmm21, %zmm6
vpternlogq $0x96, %zmm0, %zmm13, %zmm6
vpternlogq $0x96, %zmm5, %zmm26, %zmm6
vmovdqa64 %zmm3, %zmm28
vpternlogq $0x96, %zmm2, %zmm15, %zmm28
vpternlogq $0x96, %zmm18, %zmm12, %zmm28
vprolq $0x1, %zmm6, %zmm9
vpxorq %zmm9, %zmm28, %zmm9
vmovdqu64 0x80(%rsp), %zmm14
vpxorq %zmm14, %zmm9, %zmm27
vpternlogq $0x96, %zmm10, %zmm22, %zmm14
vmovdqa64 %zmm8, %zmm30
vpternlogq $0x96, %zmm16, %zmm23, %zmm30
vpternlogq $0x96, %zmm7, %zmm1, %zmm30
vprolq $0x1, %zmm30, %zmm24
vpxorq %zmm6, %zmm24, %zmm24
vpternlogq $0x96, %zmm4, %zmm19, %zmm14
vpxorq %zmm17, %zmm24, %zmm6
vpternlogq $0x96, -0x40(%rsp), %zmm25, %zmm17
vpternlogq $0x96, %zmm20, %zmm11, %zmm17
vprolq $0x1, %zmm17, %zmm26
vprolq $0x1, %zmm28, %zmm28
vpxorq %zmm14, %zmm26, %zmm26
vprolq $0x1, %zmm14, %zmm14
vpxorq %zmm17, %zmm28, %zmm29
vpxorq %zmm14, %zmm30, %zmm31
vpxorq %zmm20, %zmm24, %zmm14
vpxorq %zmm23, %zmm29, %zmm17
vpxorq %zmm0, %zmm26, %zmm0
vpxorq %zmm12, %zmm31, %zmm12
vprolq $0x2c, %zmm0, %zmm0
vprolq $0x2b, %zmm14, %zmm14
vprolq $0x15, %zmm17, %zmm23
vprolq $0xe, %zmm12, %zmm10
vmovdqa64 %zmm27, %zmm17
vpternlogq $0xd2, %zmm14, %zmm0, %zmm17
vmovdqa64 %zmm0, %zmm20
vpternlogq $0xd2, %zmm23, %zmm14, %zmm20
vpternlogq $0xd2, %zmm10, %zmm23, %zmm14
vpxorq 0xb0(%rcx,%rax,8){1to8}, %zmm17, %zmm28
vpxorq %zmm19, %zmm9, %zmm17
vpternlogq $0xd2, %zmm27, %zmm10, %zmm23
vpxorq %zmm21, %zmm26, %zmm19
vpxorq %zmm25, %zmm24, %zmm21
vpxorq %zmm7, %zmm29, %zmm30
vpxorq %zmm15, %zmm31, %zmm1
vprolq $0x3, %zmm17, %zmm7
vpternlogq $0xd2, %zmm0, %zmm27, %zmm10
vmovdqu64 %zmm10, 0x80(%rsp)
vprolq $0x2d, %zmm19, %zmm15
vprolq $0x3d, %zmm21, %zmm25
vprolq $0x1c, %zmm30, %zmm0
vprolq $0x14, %zmm1, %zmm1
vmovdqa64 %zmm0, %zmm19
vpternlogq $0xd2, %zmm7, %zmm1, %zmm19
vmovdqa64 %zmm1, %zmm27
vpternlogq $0xd2, %zmm15, %zmm7, %zmm27
vpternlogq $0xd2, %zmm25, %zmm15, %zmm7
vpxorq %zmm22, %zmm9, %zmm17
vpxorq 0x100(%rsp), %zmm26, %zmm21
vpxorq %zmm16, %zmm29, %zmm16
vpxorq %zmm18, %zmm31, %zmm2
vpternlogq $0xd2, %zmm0, %zmm25, %zmm15
vprolq $0x12, %zmm17, %zmm17
vprolq $0x1, %zmm21, %zmm22
vprolq $0x6, %zmm6, %zmm18
vprolq $0x19, %zmm16, %zmm30
vprolq $0x8, %zmm2, %zmm16
vpternlogq $0xd2, %zmm1, %zmm0, %zmm25
vmovdqa64 %zmm22, %zmm12
vpternlogq $0xd2, %zmm30, %zmm18, %zmm12
vmovdqa64 %zmm18, %zmm6
vpternlogq $0xd2, %zmm16, %zmm30, %zmm6
vmovdqu64 %zmm6, (%rsp)
vpternlogq $0xd2, %zmm17, %zmm16, %zmm30
vpxorq %zmm4, %zmm9, %zmm0
vpxorq %zmm13, %zmm26, %zmm1
vpternlogq $0xd2, %zmm22, %zmm17, %zmm16
vpxorq %zmm11, %zmm24, %zmm2
vpxorq %zmm8, %zmm29, %zmm13
vpxorq 0xc0(%rsp), %zmm31, %zmm11
vprolq $0x24, %zmm0, %zmm4
vprolq $0xa, %zmm1, %zmm21
vpternlogq $0xd2, %zmm18, %zmm22, %zmm17
vprolq $0xf, %zmm2, %zmm8
vprolq $0x38, %zmm13, %zmm13
vprolq $0x1b, %zmm11, %zmm2
vmovdqa64 %zmm2, %zmm22
vpternlogq $0xd2, %zmm21, %zmm4, %zmm22
vmovdqa64 %zmm4, %zmm11
vpternlogq $0xd2, %zmm8, %zmm21, %zmm11
vpternlogq $0xd2, %zmm13, %zmm8, %zmm21
vpxorq 0x40(%rsp), %zmm9, %zmm0
vpxorq %zmm5, %zmm26, %zmm1
vpxorq -0x40(%rsp), %zmm24, %zmm5
vpxorq -0x80(%rsp), %zmm29, %zmm9
vpxorq %zmm3, %zmm31, %zmm3
vpternlogq $0xd2, %zmm2, %zmm13, %zmm8
vprolq $0x29, %zmm0, %zmm24
vprolq $0x2, %zmm1, %zmm0
vprolq $0x3e, %zmm5, %zmm5
vprolq $0x37, %zmm9, %zmm9
vprolq $0x27, %zmm3, %zmm1
vmovdqa64 %zmm5, %zmm3
vpternlogq $0xd2, %zmm4, %zmm2, %zmm13
vpternlogq $0xd2, %zmm1, %zmm9, %zmm3
vmovdqa64 %zmm9, %zmm26
vpternlogq $0xd2, %zmm24, %zmm1, %zmm26
vpternlogq $0xd2, %zmm0, %zmm24, %zmm1
vpternlogq $0xd2, %zmm5, %zmm0, %zmm24
vpternlogq $0xd2, %zmm9, %zmm5, %zmm0
vmovdqa64 %zmm27, %zmm2
vpternlogq $0x96, %zmm20, %zmm11, %zmm2
vpternlogq $0x96, %zmm26, %zmm6, %zmm2
vmovdqa64 %zmm0, %zmm4
vpternlogq $0x96, %zmm13, %zmm25, %zmm4
vpternlogq $0x96, %zmm17, %zmm10, %zmm4
vprolq $0x1, %zmm2, %zmm5
vpxorq %zmm5, %zmm4, %zmm29
vpxorq %zmm28, %zmm29, %zmm10
vmovdqa64 %zmm28, %zmm5
vpternlogq $0x96, %zmm3, %zmm12, %zmm5
vmovdqa64 %zmm8, %zmm9
vpternlogq $0x96, %zmm16, %zmm23, %zmm9
vpternlogq $0x96, %zmm15, %zmm24, %zmm9
vprolq $0x1, %zmm9, %zmm18
vpxorq %zmm2, %zmm18, %zmm28
vpternlogq $0x96, %zmm22, %zmm19, %zmm5
vpxorq %zmm30, %zmm28, %zmm18
vpternlogq $0x96, %zmm7, %zmm1, %zmm30
vpternlogq $0x96, %zmm14, %zmm21, %zmm30
vprolq $0x1, %zmm30, %zmm2
vprolq $0x1, %zmm4, %zmm4
vpxorq %zmm5, %zmm2, %zmm2
vprolq $0x1, %zmm5, %zmm5
vpxorq %zmm30, %zmm4, %zmm31
vpxorq %zmm5, %zmm9, %zmm30
vpxorq %zmm27, %zmm2, %zmm4
vpxorq %zmm8, %zmm31, %zmm5
vpxorq %zmm0, %zmm30, %zmm0
vprolq $0x2c, %zmm4, %zmm4
vprolq $0x2b, %zmm18, %zmm9
vprolq $0x15, %zmm5, %zmm5
vprolq $0xe, %zmm0, %zmm0
vmovdqa64 %zmm10, %zmm27
vpternlogq $0xd2, %zmm9, %zmm4, %zmm27
vmovdqa64 %zmm4, %zmm8
vpternlogq $0xd2, %zmm5, %zmm9, %zmm8
vmovdqu64 %zmm8, -0x40(%rsp)
vpternlogq $0xd2, %zmm0, %zmm5, %zmm9
vpxorq %zmm12, %zmm29, %zmm6
vpxorq %zmm11, %zmm2, %zmm8
vpxorq %zmm1, %zmm28, %zmm11
vpxorq %zmm23, %zmm31, %zmm18
vpternlogq $0xd2, %zmm10, %zmm0, %zmm5
vpxorq %zmm25, %zmm30, %zmm23
vprolq $0x3, %zmm6, %zmm6
vprolq $0x2d, %zmm8, %zmm1
vprolq $0x3d, %zmm11, %zmm8
vprolq $0x1c, %zmm18, %zmm18
vpternlogq $0xd2, %zmm4, %zmm10, %zmm0
vprolq $0x14, %zmm23, %zmm4
vmovdqa64 %zmm18, %zmm10
vpternlogq $0xd2, %zmm6, %zmm4, %zmm10
vmovdqu64 %zmm10, -0x80(%rsp)
vmovdqa64 %zmm4, %zmm11
vpternlogq $0xd2, %zmm1, %zmm6, %zmm11
vpternlogq $0xd2, %zmm8, %zmm1, %zmm6
vpxorq %zmm3, %zmm29, %zmm3
vpternlogq $0xd2, %zmm18, %zmm8, %zmm1
vpxorq %zmm20, %zmm2, %zmm10
vpxorq %zmm7, %zmm28, %zmm7
vpxorq %zmm16, %zmm31, %zmm16
vpxorq %zmm13, %zmm30, %zmm13
vprolq $0x12, %zmm3, %zmm3
vpternlogq $0xd2, %zmm4, %zmm18, %zmm8
vprolq $0x1, %zmm10, %zmm18
vprolq $0x6, %zmm7, %zmm7
vprolq $0x19, %zmm16, %zmm16
vprolq $0x8, %zmm13, %zmm10
vmovdqa64 %zmm18, %zmm13
vpternlogq $0xd2, %zmm16, %zmm7, %zmm13
vmovdqa64 %zmm7, %zmm4
vpternlogq $0xd2, %zmm10, %zmm16, %zmm4
vpternlogq $0xd2, %zmm3, %zmm10, %zmm16
vpternlogq $0xd2, %zmm18, %zmm3, %zmm10
vpternlogq $0xd2, %zmm7, %zmm18, %zmm3
vpxorq %zmm19, %zmm29, %zmm7
vpxorq %zmm22, %zmm29, %zmm19
vpxorq (%rsp), %zmm2, %zmm18
vpxorq %zmm26, %zmm2, %zmm2
vpxorq %zmm21, %zmm28, %zmm20
vpxorq %zmm14, %zmm28, %zmm22
vpxorq %zmm24, %zmm31, %zmm23
vprolq $0x24, %zmm7, %zmm7
vpxorq 0x80(%rsp), %zmm30, %zmm12
vprolq $0xa, %zmm18, %zmm14
vprolq $0xf, %zmm20, %zmm21
vprolq $0x38, %zmm23, %zmm18
vprolq $0x1b, %zmm12, %zmm23
vpxorq %zmm15, %zmm31, %zmm15
vmovdqa64 %zmm23, %zmm12
vpternlogq $0xd2, %zmm14, %zmm7, %zmm12
vpxorq %zmm17, %zmm30, %zmm24
vmovdqa64 %zmm7, %zmm20
vpternlogq $0xd2, %zmm21, %zmm14, %zmm20
vpternlogq $0xd2, %zmm18, %zmm21, %zmm14
vpternlogq $0xd2, %zmm23, %zmm18, %zmm21
vprolq $0x29, %zmm19, %zmm17
vpternlogq $0xd2, %zmm7, %zmm23, %zmm18
vprolq $0x2, %zmm2, %zmm23
vprolq $0x3e, %zmm22, %zmm2
vprolq $0x37, %zmm15, %zmm7
vprolq $0x27, %zmm24, %zmm22
vmovdqa64 %zmm2, %zmm19
vpternlogq $0xd2, %zmm22, %zmm7, %zmm19
vmovdqa64 %zmm7, %zmm15
vpternlogq $0xd2, %zmm17, %zmm22, %zmm15
vpternlogq $0xd2, %zmm23, %zmm17, %zmm22
vpternlogq $0xd2, %zmm2, %zmm23, %zmm17
vpternlogq $0xd2, %zmm7, %zmm2, %zmm23
vpxorq 0xb8(%rcx,%rax,8){1to8}, %zmm27, %zmm25
addq $0xc, %rax
jb 0x17506
vmovdqa64 %zmm25, (%rdi)
vmovups -0x40(%rsp), %zmm2
vmovaps %zmm2, 0x40(%rdi)
vmovdqa64 %zmm9, 0x80(%rdi)
vmovdqa64 %zmm5, 0xc0(%rdi)
vmovdqa64 %zmm0, 0x100(%rdi)
vmovups -0x80(%rsp), %zmm0
vmovaps %zmm0, 0x140(%rdi)
vmovdqa64 %zmm11, 0x180(%rdi)
vmovdqa64 %zmm6, 0x1c0(%rdi)
vmovdqa64 %zmm1, 0x200(%rdi)
vmovdqa64 %zmm8, 0x240(%rdi)
vmovdqa64 %zmm13, 0x280(%rdi)
vmovdqa64 %zmm4, 0x2c0(%rdi)
vmovdqa64 %zmm16, 0x300(%rdi)
vmovdqa64 %zmm10, 0x340(%rdi)
vmovdqa64 %zmm3, 0x380(%rdi)
vmovdqa64 %zmm12, 0x3c0(%rdi)
vmovdqa64 %zmm20, 0x400(%rdi)
vmovdqa64 %zmm14, 0x440(%rdi)
vmovdqa64 %zmm21, 0x480(%rdi)
vmovdqa64 %zmm18, 0x4c0(%rdi)
vmovdqa64 %zmm19, 0x500(%rdi)
vmovdqa64 %zmm15, 0x540(%rdi)
vmovdqa64 %zmm22, 0x580(%rdi)
vmovdqa64 %zmm17, 0x5c0(%rdi)
vmovdqa64 %zmm23, 0x600(%rdi)
addq $0x1c8, %rsp            # imm = 0x1C8
vzeroupper
retq