blob: f75162e039c10a29690c25dc895343c7aa1c6a3a [file] [log] [blame]
// Code generated by command: go run blake2bAVX2_amd64_asm.go -out ../../blake2bAVX2_amd64.s -pkg blake2b. DO NOT EDIT.
//go:build amd64 && gc && !purego
#include "textflag.h"
// func hashBlocksAVX2(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte)
// Requires: AVX, AVX2
TEXT ·hashBlocksAVX2(SB), NOSPLIT, $320-48
MOVQ h+0(FP), AX
MOVQ c+8(FP), BX
MOVQ flag+16(FP), CX
MOVQ blocks_base+24(FP), SI
MOVQ blocks_len+32(FP), DI
MOVQ SP, DX
ADDQ $+31, DX
ANDQ $-32, DX
MOVQ CX, 16(DX)
XORQ CX, CX
MOVQ CX, 24(DX)
VMOVDQU ·AVX2_c40<>+0(SB), Y4
VMOVDQU ·AVX2_c48<>+0(SB), Y5
VMOVDQU (AX), Y8
VMOVDQU 32(AX), Y9
VMOVDQU ·AVX2_iv0<>+0(SB), Y6
VMOVDQU ·AVX2_iv1<>+0(SB), Y7
MOVQ (BX), R8
MOVQ 8(BX), R9
MOVQ R9, 8(DX)
loop:
ADDQ $0x80, R8
MOVQ R8, (DX)
CMPQ R8, $0x80
JGE noinc
INCQ R9
MOVQ R9, 8(DX)
noinc:
VMOVDQA Y8, Y0
VMOVDQA Y9, Y1
VMOVDQA Y6, Y2
VPXOR (DX), Y7, Y3
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x26
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x20
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x10
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x30
BYTE $0x01
VINSERTI128 $0x01, X11, Y12, Y12
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x6e
BYTE $0x08
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x28
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x18
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x38
BYTE $0x01
VINSERTI128 $0x01, X11, Y13, Y13
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x76
BYTE $0x40
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x60
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x50
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x70
BYTE $0x01
VINSERTI128 $0x01, X11, Y14, Y14
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x7e
BYTE $0x48
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x68
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x58
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x78
BYTE $0x01
VINSERTI128 $0x01, X11, Y15, Y15
VMOVDQA Y12, 32(DX)
VMOVDQA Y13, 64(DX)
VMOVDQA Y14, 96(DX)
VMOVDQA Y15, 128(DX)
VPADDQ Y12, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ Y13, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x93
VPADDQ Y14, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ Y15, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x93
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x66
BYTE $0x70
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x48
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x20
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x68
BYTE $0x01
VINSERTI128 $0x01, X11, Y12, Y12
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x6e
BYTE $0x50
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x78
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x40
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x30
BYTE $0x01
VINSERTI128 $0x01, X11, Y13, Y13
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x58
VPSHUFD $0x4e, (SI), X14
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x28
BYTE $0x01
VINSERTI128 $0x01, X11, Y14, Y14
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x7e
BYTE $0x60
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x38
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x10
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x18
BYTE $0x01
VINSERTI128 $0x01, X11, Y15, Y15
VMOVDQA Y12, 160(DX)
VMOVDQA Y13, 192(DX)
VMOVDQA Y14, 224(DX)
VMOVDQA Y15, 256(DX)
VPADDQ Y12, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ Y13, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x93
VPADDQ Y14, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ Y15, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x93
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x28
VMOVDQU 88(SI), X12
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x78
BYTE $0x01
VINSERTI128 $0x01, X11, Y12, Y12
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x6e
BYTE $0x40
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x10
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x2e
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x68
BYTE $0x01
VINSERTI128 $0x01, X11, Y13, Y13
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x76
BYTE $0x50
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x38
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x18
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x48
BYTE $0x01
VINSERTI128 $0x01, X11, Y14, Y14
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x7e
BYTE $0x70
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x08
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x30
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x20
BYTE $0x01
VINSERTI128 $0x01, X11, Y15, Y15
VPADDQ Y12, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ Y13, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x93
VPADDQ Y14, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ Y15, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x93
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x66
BYTE $0x38
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x68
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x18
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x58
BYTE $0x01
VINSERTI128 $0x01, X11, Y12, Y12
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x6e
BYTE $0x48
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x60
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x08
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x70
BYTE $0x01
VINSERTI128 $0x01, X11, Y13, Y13
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x76
BYTE $0x10
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x20
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x28
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x78
BYTE $0x01
VINSERTI128 $0x01, X11, Y14, Y14
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x7e
BYTE $0x30
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x1e
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x50
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x40
BYTE $0x01
VINSERTI128 $0x01, X11, Y15, Y15
VPADDQ Y12, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ Y13, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x93
VPADDQ Y14, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ Y15, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x93
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x66
BYTE $0x48
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x10
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x28
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x50
BYTE $0x01
VINSERTI128 $0x01, X11, Y12, Y12
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x2e
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x20
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x38
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x78
BYTE $0x01
VINSERTI128 $0x01, X11, Y13, Y13
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x76
BYTE $0x70
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x30
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x58
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x18
BYTE $0x01
VINSERTI128 $0x01, X11, Y14, Y14
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x7e
BYTE $0x08
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x40
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x60
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x68
BYTE $0x01
VINSERTI128 $0x01, X11, Y15, Y15
VPADDQ Y12, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ Y13, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x93
VPADDQ Y14, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ Y15, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x93
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x66
BYTE $0x10
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x1e
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x30
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x40
BYTE $0x01
VINSERTI128 $0x01, X11, Y12, Y12
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x6e
BYTE $0x60
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x58
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x50
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x18
BYTE $0x01
VINSERTI128 $0x01, X11, Y13, Y13
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x76
BYTE $0x20
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x78
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x38
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x08
BYTE $0x01
VINSERTI128 $0x01, X11, Y14, Y14
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x7e
BYTE $0x68
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x70
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x28
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x48
BYTE $0x01
VINSERTI128 $0x01, X11, Y15, Y15
VPADDQ Y12, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ Y13, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x93
VPADDQ Y14, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ Y15, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x93
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x66
BYTE $0x60
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x70
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x08
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x20
BYTE $0x01
VINSERTI128 $0x01, X11, Y12, Y12
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x6e
BYTE $0x28
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x68
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x78
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x50
BYTE $0x01
VINSERTI128 $0x01, X11, Y13, Y13
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x36
VPSHUFD $0x4e, 64(SI), X11
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x30
BYTE $0x01
VINSERTI128 $0x01, X11, Y14, Y14
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x7e
BYTE $0x38
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x10
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x18
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x58
BYTE $0x01
VINSERTI128 $0x01, X11, Y15, Y15
VPADDQ Y12, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ Y13, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x93
VPADDQ Y14, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ Y15, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x93
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x66
BYTE $0x68
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x60
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x38
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x18
BYTE $0x01
VINSERTI128 $0x01, X11, Y12, Y12
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x6e
BYTE $0x58
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x08
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x70
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x48
BYTE $0x01
VINSERTI128 $0x01, X11, Y13, Y13
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x76
BYTE $0x28
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x40
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x78
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x10
BYTE $0x01
VINSERTI128 $0x01, X11, Y14, Y14
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x3e
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x30
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x20
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x50
BYTE $0x01
VINSERTI128 $0x01, X11, Y15, Y15
VPADDQ Y12, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ Y13, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x93
VPADDQ Y14, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ Y15, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x93
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x66
BYTE $0x30
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x58
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x70
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x1e
BYTE $0x01
VINSERTI128 $0x01, X11, Y12, Y12
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x6e
BYTE $0x78
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x18
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x48
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x40
BYTE $0x01
VINSERTI128 $0x01, X11, Y13, Y13
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x08
VMOVDQU 96(SI), X14
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x50
BYTE $0x01
VINSERTI128 $0x01, X11, Y14, Y14
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x7e
BYTE $0x10
VMOVDQU 32(SI), X11
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x38
BYTE $0x01
VINSERTI128 $0x01, X11, Y15, Y15
VPADDQ Y12, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ Y13, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x93
VPADDQ Y14, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ Y15, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x93
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x66
BYTE $0x50
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x38
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x40
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x08
BYTE $0x01
VINSERTI128 $0x01, X11, Y12, Y12
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x6e
BYTE $0x10
VPSHUFD $0x4e, 40(SI), X11
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x20
BYTE $0x01
VINSERTI128 $0x01, X11, Y13, Y13
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x76
BYTE $0x78
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x18
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x48
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x5e
BYTE $0x68
BYTE $0x01
VINSERTI128 $0x01, X11, Y14, Y14
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x7e
BYTE $0x58
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x5e
BYTE $0x60
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x70
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0xa1
BYTE $0x22
BYTE $0x1e
BYTE $0x01
VINSERTI128 $0x01, X11, Y15, Y15
VPADDQ Y12, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ Y13, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x93
VPADDQ Y14, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ Y15, Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x93
VPADDQ 32(DX), Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ 64(DX), Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x93
VPADDQ 96(DX), Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ 128(DX), Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x93
VPADDQ 160(DX), Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ 192(DX), Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x93
VPADDQ 224(DX), Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFD $-79, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPSHUFB Y4, Y1, Y1
VPADDQ 256(DX), Y0, Y0
VPADDQ Y1, Y0, Y0
VPXOR Y0, Y3, Y3
VPSHUFB Y5, Y3, Y3
VPADDQ Y3, Y2, Y2
VPXOR Y2, Y1, Y1
VPADDQ Y1, Y1, Y10
VPSRLQ $0x3f, Y1, Y1
VPXOR Y10, Y1, Y1
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xdb
BYTE $0x39
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xd2
BYTE $0x4e
BYTE $0xc4
BYTE $0xe3
BYTE $0xfd
BYTE $0x00
BYTE $0xc9
BYTE $0x93
VPXOR Y0, Y8, Y8
VPXOR Y1, Y9, Y9
VPXOR Y2, Y8, Y8
VPXOR Y3, Y9, Y9
LEAQ 128(SI), SI
SUBQ $0x80, DI
JNE loop
MOVQ R8, (BX)
MOVQ R9, 8(BX)
VMOVDQU Y8, (AX)
VMOVDQU Y9, 32(AX)
VZEROUPPER
RET
DATA ·AVX2_c40<>+0(SB)/8, $0x0201000706050403
DATA ·AVX2_c40<>+8(SB)/8, $0x0a09080f0e0d0c0b
DATA ·AVX2_c40<>+16(SB)/8, $0x0201000706050403
DATA ·AVX2_c40<>+24(SB)/8, $0x0a09080f0e0d0c0b
GLOBL ·AVX2_c40<>(SB), RODATA|NOPTR, $32
DATA ·AVX2_c48<>+0(SB)/8, $0x0100070605040302
DATA ·AVX2_c48<>+8(SB)/8, $0x09080f0e0d0c0b0a
DATA ·AVX2_c48<>+16(SB)/8, $0x0100070605040302
DATA ·AVX2_c48<>+24(SB)/8, $0x09080f0e0d0c0b0a
GLOBL ·AVX2_c48<>(SB), RODATA|NOPTR, $32
DATA ·AVX2_iv0<>+0(SB)/8, $0x6a09e667f3bcc908
DATA ·AVX2_iv0<>+8(SB)/8, $0xbb67ae8584caa73b
DATA ·AVX2_iv0<>+16(SB)/8, $0x3c6ef372fe94f82b
DATA ·AVX2_iv0<>+24(SB)/8, $0xa54ff53a5f1d36f1
GLOBL ·AVX2_iv0<>(SB), RODATA|NOPTR, $32
DATA ·AVX2_iv1<>+0(SB)/8, $0x510e527fade682d1
DATA ·AVX2_iv1<>+8(SB)/8, $0x9b05688c2b3e6c1f
DATA ·AVX2_iv1<>+16(SB)/8, $0x1f83d9abfb41bd6b
DATA ·AVX2_iv1<>+24(SB)/8, $0x5be0cd19137e2179
GLOBL ·AVX2_iv1<>(SB), RODATA|NOPTR, $32
// func hashBlocksAVX(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte)
// Requires: AVX, SSE2
TEXT ·hashBlocksAVX(SB), NOSPLIT, $288-48
MOVQ h+0(FP), AX
MOVQ c+8(FP), BX
MOVQ flag+16(FP), CX
MOVQ blocks_base+24(FP), SI
MOVQ blocks_len+32(FP), DI
MOVQ SP, R10
ADDQ $0x0f, R10
ANDQ $-16, R10
VMOVDQU ·AVX_c40<>+0(SB), X0
VMOVDQU ·AVX_c48<>+0(SB), X1
VMOVDQA X0, X8
VMOVDQA X1, X9
VMOVDQU ·AVX_iv3<>+0(SB), X0
VMOVDQA X0, (R10)
XORQ CX, (R10)
VMOVDQU (AX), X10
VMOVDQU 16(AX), X11
VMOVDQU 32(AX), X2
VMOVDQU 48(AX), X3
MOVQ (BX), R8
MOVQ 8(BX), R9
loop:
ADDQ $0x80, R8
CMPQ R8, $0x80
JGE noinc
INCQ R9
noinc:
BYTE $0xc4
BYTE $0x41
BYTE $0xf9
BYTE $0x6e
BYTE $0xf8
BYTE $0xc4
BYTE $0x43
BYTE $0x81
BYTE $0x22
BYTE $0xf9
BYTE $0x01
VMOVDQA X10, X0
VMOVDQA X11, X1
VMOVDQU ·AVX_iv0<>+0(SB), X4
VMOVDQU ·AVX_iv1<>+0(SB), X5
VMOVDQU ·AVX_iv2<>+0(SB), X6
VPXOR X15, X6, X6
VMOVDQA (R10), X7
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x26
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x6e
BYTE $0x20
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x76
BYTE $0x08
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x7e
BYTE $0x28
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x10
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x30
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x18
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x38
BYTE $0x01
VMOVDQA X12, 16(R10)
VMOVDQA X13, 32(R10)
VMOVDQA X14, 48(R10)
VMOVDQA X15, 64(R10)
VPADDQ X12, X0, X0
VPADDQ X2, X0, X0
VPADDQ X13, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ X14, X0, X0
VPADDQ X2, X0, X0
VPADDQ X15, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X6, X13
VMOVDQA X2, X14
VMOVDQA X4, X6
BYTE $0xc4
BYTE $0x41
BYTE $0x11
BYTE $0x6c
BYTE $0xfd
VMOVDQA X5, X4
VMOVDQA X6, X5
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xf7
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xff
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
BYTE $0xc4
BYTE $0xc1
BYTE $0x69
BYTE $0x6d
BYTE $0xd7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xdf
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x66
BYTE $0x40
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x6e
BYTE $0x60
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x76
BYTE $0x48
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x7e
BYTE $0x68
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x50
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x70
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x58
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x78
BYTE $0x01
VMOVDQA X12, 80(R10)
VMOVDQA X13, 96(R10)
VMOVDQA X14, 112(R10)
VMOVDQA X15, 128(R10)
VPADDQ X12, X0, X0
VPADDQ X2, X0, X0
VPADDQ X13, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ X14, X0, X0
VPADDQ X2, X0, X0
VPADDQ X15, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X2, X13
VMOVDQA X4, X14
BYTE $0xc5
BYTE $0x69
BYTE $0x6c
BYTE $0xfa
VMOVDQA X5, X4
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xd7
VMOVDQA X14, X5
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
VMOVDQA X6, X14
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xdf
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x49
BYTE $0x6d
BYTE $0xf7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xff
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x66
BYTE $0x70
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x6e
BYTE $0x48
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x76
BYTE $0x50
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x7e
BYTE $0x78
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x20
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x68
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x40
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x30
BYTE $0x01
VMOVDQA X12, 144(R10)
VMOVDQA X13, 160(R10)
VMOVDQA X14, 176(R10)
VMOVDQA X15, 192(R10)
VPADDQ X12, X0, X0
VPADDQ X2, X0, X0
VPADDQ X13, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ X14, X0, X0
VPADDQ X2, X0, X0
VPADDQ X15, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X6, X13
VMOVDQA X2, X14
VMOVDQA X4, X6
BYTE $0xc4
BYTE $0x41
BYTE $0x11
BYTE $0x6c
BYTE $0xfd
VMOVDQA X5, X4
VMOVDQA X6, X5
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xf7
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xff
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
BYTE $0xc4
BYTE $0xc1
BYTE $0x69
BYTE $0x6d
BYTE $0xd7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xdf
VPSHUFD $0x4e, (SI), X12
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x6e
BYTE $0x58
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x76
BYTE $0x60
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x7e
BYTE $0x38
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x28
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x10
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x18
BYTE $0x01
VMOVDQA X12, 208(R10)
VMOVDQA X13, 224(R10)
VMOVDQA X14, 240(R10)
VMOVDQA X15, 256(R10)
VPADDQ X12, X0, X0
VPADDQ X2, X0, X0
VPADDQ X13, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ X14, X0, X0
VPADDQ X2, X0, X0
VPADDQ X15, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X2, X13
VMOVDQA X4, X14
BYTE $0xc5
BYTE $0x69
BYTE $0x6c
BYTE $0xfa
VMOVDQA X5, X4
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xd7
VMOVDQA X14, X5
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
VMOVDQA X6, X14
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xdf
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x49
BYTE $0x6d
BYTE $0xf7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xff
VMOVDQU 88(SI), X12
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x6e
BYTE $0x28
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x76
BYTE $0x40
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x7e
BYTE $0x10
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x78
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x36
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x68
BYTE $0x01
VPADDQ X12, X0, X0
VPADDQ X2, X0, X0
VPADDQ X13, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ X14, X0, X0
VPADDQ X2, X0, X0
VPADDQ X15, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X6, X13
VMOVDQA X2, X14
VMOVDQA X4, X6
BYTE $0xc4
BYTE $0x41
BYTE $0x11
BYTE $0x6c
BYTE $0xfd
VMOVDQA X5, X4
VMOVDQA X6, X5
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xf7
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xff
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
BYTE $0xc4
BYTE $0xc1
BYTE $0x69
BYTE $0x6d
BYTE $0xd7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xdf
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x66
BYTE $0x50
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x6e
BYTE $0x38
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x76
BYTE $0x70
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x7e
BYTE $0x08
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x18
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x48
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x30
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x20
BYTE $0x01
VPADDQ X12, X0, X0
VPADDQ X2, X0, X0
VPADDQ X13, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ X14, X0, X0
VPADDQ X2, X0, X0
VPADDQ X15, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X2, X13
VMOVDQA X4, X14
BYTE $0xc5
BYTE $0x69
BYTE $0x6c
BYTE $0xfa
VMOVDQA X5, X4
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xd7
VMOVDQA X14, X5
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
VMOVDQA X6, X14
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xdf
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x49
BYTE $0x6d
BYTE $0xf7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xff
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x66
BYTE $0x38
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x6e
BYTE $0x68
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x76
BYTE $0x48
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x7e
BYTE $0x60
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x18
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x58
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x08
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x70
BYTE $0x01
VPADDQ X12, X0, X0
VPADDQ X2, X0, X0
VPADDQ X13, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ X14, X0, X0
VPADDQ X2, X0, X0
VPADDQ X15, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X6, X13
VMOVDQA X2, X14
VMOVDQA X4, X6
BYTE $0xc4
BYTE $0x41
BYTE $0x11
BYTE $0x6c
BYTE $0xfd
VMOVDQA X5, X4
VMOVDQA X6, X5
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xf7
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xff
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
BYTE $0xc4
BYTE $0xc1
BYTE $0x69
BYTE $0x6d
BYTE $0xd7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xdf
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x66
BYTE $0x10
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x6e
BYTE $0x20
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x76
BYTE $0x30
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x3e
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x28
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x78
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x50
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x40
BYTE $0x01
VPADDQ X12, X0, X0
VPADDQ X2, X0, X0
VPADDQ X13, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ X14, X0, X0
VPADDQ X2, X0, X0
VPADDQ X15, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X2, X13
VMOVDQA X4, X14
BYTE $0xc5
BYTE $0x69
BYTE $0x6c
BYTE $0xfa
VMOVDQA X5, X4
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xd7
VMOVDQA X14, X5
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
VMOVDQA X6, X14
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xdf
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x49
BYTE $0x6d
BYTE $0xf7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xff
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x66
BYTE $0x48
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x6e
BYTE $0x10
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x36
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x7e
BYTE $0x20
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x28
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x50
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x38
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x78
BYTE $0x01
VPADDQ X12, X0, X0
VPADDQ X2, X0, X0
VPADDQ X13, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ X14, X0, X0
VPADDQ X2, X0, X0
VPADDQ X15, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X6, X13
VMOVDQA X2, X14
VMOVDQA X4, X6
BYTE $0xc4
BYTE $0x41
BYTE $0x11
BYTE $0x6c
BYTE $0xfd
VMOVDQA X5, X4
VMOVDQA X6, X5
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xf7
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xff
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
BYTE $0xc4
BYTE $0xc1
BYTE $0x69
BYTE $0x6d
BYTE $0xd7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xdf
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x66
BYTE $0x70
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x6e
BYTE $0x30
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x76
BYTE $0x08
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x7e
BYTE $0x40
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x58
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x18
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x60
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x68
BYTE $0x01
VPADDQ X12, X0, X0
VPADDQ X2, X0, X0
VPADDQ X13, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ X14, X0, X0
VPADDQ X2, X0, X0
VPADDQ X15, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X2, X13
VMOVDQA X4, X14
BYTE $0xc5
BYTE $0x69
BYTE $0x6c
BYTE $0xfa
VMOVDQA X5, X4
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xd7
VMOVDQA X14, X5
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
VMOVDQA X6, X14
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xdf
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x49
BYTE $0x6d
BYTE $0xf7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xff
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x66
BYTE $0x10
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x2e
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x76
BYTE $0x60
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x7e
BYTE $0x58
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x30
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x40
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x50
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x18
BYTE $0x01
VPADDQ X12, X0, X0
VPADDQ X2, X0, X0
VPADDQ X13, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ X14, X0, X0
VPADDQ X2, X0, X0
VPADDQ X15, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X6, X13
VMOVDQA X2, X14
VMOVDQA X4, X6
BYTE $0xc4
BYTE $0x41
BYTE $0x11
BYTE $0x6c
BYTE $0xfd
VMOVDQA X5, X4
VMOVDQA X6, X5
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xf7
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xff
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
BYTE $0xc4
BYTE $0xc1
BYTE $0x69
BYTE $0x6d
BYTE $0xd7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xdf
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x66
BYTE $0x20
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x6e
BYTE $0x78
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x76
BYTE $0x68
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x7e
BYTE $0x70
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x38
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x08
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x28
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x48
BYTE $0x01
VPADDQ X12, X0, X0
VPADDQ X2, X0, X0
VPADDQ X13, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ X14, X0, X0
VPADDQ X2, X0, X0
VPADDQ X15, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X2, X13
VMOVDQA X4, X14
BYTE $0xc5
BYTE $0x69
BYTE $0x6c
BYTE $0xfa
VMOVDQA X5, X4
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xd7
VMOVDQA X14, X5
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
VMOVDQA X6, X14
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xdf
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x49
BYTE $0x6d
BYTE $0xf7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xff
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x66
BYTE $0x60
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x6e
BYTE $0x70
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x76
BYTE $0x28
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x7e
BYTE $0x68
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x08
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x20
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x78
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x50
BYTE $0x01
VPADDQ X12, X0, X0
VPADDQ X2, X0, X0
VPADDQ X13, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ X14, X0, X0
VPADDQ X2, X0, X0
VPADDQ X15, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X6, X13
VMOVDQA X2, X14
VMOVDQA X4, X6
BYTE $0xc4
BYTE $0x41
BYTE $0x11
BYTE $0x6c
BYTE $0xfd
VMOVDQA X5, X4
VMOVDQA X6, X5
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xf7
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xff
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
BYTE $0xc4
BYTE $0xc1
BYTE $0x69
BYTE $0x6d
BYTE $0xd7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xdf
MOVQ (SI), X12
VPSHUFD $0x4e, 64(SI), X13
MOVQ 56(SI), X14
MOVQ 16(SI), X15
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x30
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x18
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x58
BYTE $0x01
VPADDQ X12, X0, X0
VPADDQ X2, X0, X0
VPADDQ X13, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ X14, X0, X0
VPADDQ X2, X0, X0
VPADDQ X15, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X2, X13
VMOVDQA X4, X14
BYTE $0xc5
BYTE $0x69
BYTE $0x6c
BYTE $0xfa
VMOVDQA X5, X4
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xd7
VMOVDQA X14, X5
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
VMOVDQA X6, X14
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xdf
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x49
BYTE $0x6d
BYTE $0xf7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xff
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x66
BYTE $0x68
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x6e
BYTE $0x60
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x76
BYTE $0x58
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x7e
BYTE $0x08
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x38
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x18
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x70
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x48
BYTE $0x01
VPADDQ X12, X0, X0
VPADDQ X2, X0, X0
VPADDQ X13, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ X14, X0, X0
VPADDQ X2, X0, X0
VPADDQ X15, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X6, X13
VMOVDQA X2, X14
VMOVDQA X4, X6
BYTE $0xc4
BYTE $0x41
BYTE $0x11
BYTE $0x6c
BYTE $0xfd
VMOVDQA X5, X4
VMOVDQA X6, X5
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xf7
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xff
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
BYTE $0xc4
BYTE $0xc1
BYTE $0x69
BYTE $0x6d
BYTE $0xd7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xdf
MOVQ 40(SI), X12
MOVQ 64(SI), X13
MOVQ (SI), X14
MOVQ 48(SI), X15
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x78
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x10
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x20
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x50
BYTE $0x01
VPADDQ X12, X0, X0
VPADDQ X2, X0, X0
VPADDQ X13, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ X14, X0, X0
VPADDQ X2, X0, X0
VPADDQ X15, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X2, X13
VMOVDQA X4, X14
BYTE $0xc5
BYTE $0x69
BYTE $0x6c
BYTE $0xfa
VMOVDQA X5, X4
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xd7
VMOVDQA X14, X5
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
VMOVDQA X6, X14
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xdf
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x49
BYTE $0x6d
BYTE $0xf7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xff
MOVQ 48(SI), X12
MOVQ 88(SI), X13
MOVQ 120(SI), X14
MOVQ 24(SI), X15
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x70
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x2e
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x48
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x40
BYTE $0x01
VPADDQ X12, X0, X0
VPADDQ X2, X0, X0
VPADDQ X13, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ X14, X0, X0
VPADDQ X2, X0, X0
VPADDQ X15, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X6, X13
VMOVDQA X2, X14
VMOVDQA X4, X6
BYTE $0xc4
BYTE $0x41
BYTE $0x11
BYTE $0x6c
BYTE $0xfd
VMOVDQA X5, X4
VMOVDQA X6, X5
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xf7
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xff
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
BYTE $0xc4
BYTE $0xc1
BYTE $0x69
BYTE $0x6d
BYTE $0xd7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xdf
VMOVDQU 96(SI), X12
MOVQ 8(SI), X13
MOVQ 16(SI), X14
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x50
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x38
BYTE $0x01
VMOVDQU 32(SI), X15
VPADDQ X12, X0, X0
VPADDQ X2, X0, X0
VPADDQ X13, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ X14, X0, X0
VPADDQ X2, X0, X0
VPADDQ X15, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X2, X13
VMOVDQA X4, X14
BYTE $0xc5
BYTE $0x69
BYTE $0x6c
BYTE $0xfa
VMOVDQA X5, X4
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xd7
VMOVDQA X14, X5
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
VMOVDQA X6, X14
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xdf
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x49
BYTE $0x6d
BYTE $0xf7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xff
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x66
BYTE $0x50
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x6e
BYTE $0x38
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x76
BYTE $0x10
BYTE $0xc5
BYTE $0x7a
BYTE $0x7e
BYTE $0x7e
BYTE $0x30
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x40
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x08
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x20
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x7e
BYTE $0x28
BYTE $0x01
VPADDQ X12, X0, X0
VPADDQ X2, X0, X0
VPADDQ X13, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ X14, X0, X0
VPADDQ X2, X0, X0
VPADDQ X15, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X6, X13
VMOVDQA X2, X14
VMOVDQA X4, X6
BYTE $0xc4
BYTE $0x41
BYTE $0x11
BYTE $0x6c
BYTE $0xfd
VMOVDQA X5, X4
VMOVDQA X6, X5
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xf7
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xff
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
BYTE $0xc4
BYTE $0xc1
BYTE $0x69
BYTE $0x6d
BYTE $0xd7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xdf
MOVQ 120(SI), X12
MOVQ 24(SI), X13
MOVQ 88(SI), X14
MOVQ 96(SI), X15
BYTE $0xc4
BYTE $0x63
BYTE $0x99
BYTE $0x22
BYTE $0x66
BYTE $0x48
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x91
BYTE $0x22
BYTE $0x6e
BYTE $0x68
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x89
BYTE $0x22
BYTE $0x76
BYTE $0x70
BYTE $0x01
BYTE $0xc4
BYTE $0x63
BYTE $0x81
BYTE $0x22
BYTE $0x3e
BYTE $0x01
VPADDQ X12, X0, X0
VPADDQ X2, X0, X0
VPADDQ X13, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ X14, X0, X0
VPADDQ X2, X0, X0
VPADDQ X15, X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X2, X13
VMOVDQA X4, X14
BYTE $0xc5
BYTE $0x69
BYTE $0x6c
BYTE $0xfa
VMOVDQA X5, X4
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xd7
VMOVDQA X14, X5
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
VMOVDQA X6, X14
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xdf
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x49
BYTE $0x6d
BYTE $0xf7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xff
VPADDQ 16(R10), X0, X0
VPADDQ X2, X0, X0
VPADDQ 32(R10), X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ 48(R10), X0, X0
VPADDQ X2, X0, X0
VPADDQ 64(R10), X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X6, X13
VMOVDQA X2, X14
VMOVDQA X4, X6
BYTE $0xc4
BYTE $0x41
BYTE $0x11
BYTE $0x6c
BYTE $0xfd
VMOVDQA X5, X4
VMOVDQA X6, X5
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xf7
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xff
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
BYTE $0xc4
BYTE $0xc1
BYTE $0x69
BYTE $0x6d
BYTE $0xd7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xdf
VPADDQ 80(R10), X0, X0
VPADDQ X2, X0, X0
VPADDQ 96(R10), X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ 112(R10), X0, X0
VPADDQ X2, X0, X0
VPADDQ 128(R10), X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X2, X13
VMOVDQA X4, X14
BYTE $0xc5
BYTE $0x69
BYTE $0x6c
BYTE $0xfa
VMOVDQA X5, X4
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xd7
VMOVDQA X14, X5
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
VMOVDQA X6, X14
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xdf
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x49
BYTE $0x6d
BYTE $0xf7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xff
VPADDQ 144(R10), X0, X0
VPADDQ X2, X0, X0
VPADDQ 160(R10), X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ 176(R10), X0, X0
VPADDQ X2, X0, X0
VPADDQ 192(R10), X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X6, X13
VMOVDQA X2, X14
VMOVDQA X4, X6
BYTE $0xc4
BYTE $0x41
BYTE $0x11
BYTE $0x6c
BYTE $0xfd
VMOVDQA X5, X4
VMOVDQA X6, X5
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xf7
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xff
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
BYTE $0xc4
BYTE $0xc1
BYTE $0x69
BYTE $0x6d
BYTE $0xd7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xdf
VPADDQ 208(R10), X0, X0
VPADDQ X2, X0, X0
VPADDQ 224(R10), X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFD $-79, X6, X6
VPSHUFD $-79, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPSHUFB X8, X2, X2
VPSHUFB X8, X3, X3
VPADDQ 240(R10), X0, X0
VPADDQ X2, X0, X0
VPADDQ 256(R10), X1, X1
VPADDQ X3, X1, X1
VPXOR X0, X6, X6
VPXOR X1, X7, X7
VPSHUFB X9, X6, X6
VPSHUFB X9, X7, X7
VPADDQ X6, X4, X4
VPADDQ X7, X5, X5
VPXOR X4, X2, X2
VPXOR X5, X3, X3
VPADDQ X2, X2, X15
VPSRLQ $0x3f, X2, X2
VPXOR X15, X2, X2
VPADDQ X3, X3, X15
VPSRLQ $0x3f, X3, X3
VPXOR X15, X3, X3
VMOVDQA X2, X13
VMOVDQA X4, X14
BYTE $0xc5
BYTE $0x69
BYTE $0x6c
BYTE $0xfa
VMOVDQA X5, X4
BYTE $0xc4
BYTE $0xc1
BYTE $0x61
BYTE $0x6d
BYTE $0xd7
VMOVDQA X14, X5
BYTE $0xc5
BYTE $0x61
BYTE $0x6c
BYTE $0xfb
VMOVDQA X6, X14
BYTE $0xc4
BYTE $0xc1
BYTE $0x11
BYTE $0x6d
BYTE $0xdf
BYTE $0xc5
BYTE $0x41
BYTE $0x6c
BYTE $0xff
BYTE $0xc4
BYTE $0xc1
BYTE $0x49
BYTE $0x6d
BYTE $0xf7
BYTE $0xc4
BYTE $0x41
BYTE $0x09
BYTE $0x6c
BYTE $0xfe
BYTE $0xc4
BYTE $0xc1
BYTE $0x41
BYTE $0x6d
BYTE $0xff
VMOVDQU 32(AX), X14
VMOVDQU 48(AX), X15
VPXOR X0, X10, X10
VPXOR X1, X11, X11
VPXOR X2, X14, X14
VPXOR X3, X15, X15
VPXOR X4, X10, X10
VPXOR X5, X11, X11
VPXOR X6, X14, X2
VPXOR X7, X15, X3
VMOVDQU X2, 32(AX)
VMOVDQU X3, 48(AX)
LEAQ 128(SI), SI
SUBQ $0x80, DI
JNE loop
VMOVDQU X10, (AX)
VMOVDQU X11, 16(AX)
MOVQ R8, (BX)
MOVQ R9, 8(BX)
VZEROUPPER
RET
DATA ·AVX_c40<>+0(SB)/8, $0x0201000706050403
DATA ·AVX_c40<>+8(SB)/8, $0x0a09080f0e0d0c0b
GLOBL ·AVX_c40<>(SB), RODATA|NOPTR, $16
DATA ·AVX_c48<>+0(SB)/8, $0x0100070605040302
DATA ·AVX_c48<>+8(SB)/8, $0x09080f0e0d0c0b0a
GLOBL ·AVX_c48<>(SB), RODATA|NOPTR, $16
DATA ·AVX_iv3<>+0(SB)/8, $0x1f83d9abfb41bd6b
DATA ·AVX_iv3<>+8(SB)/8, $0x5be0cd19137e2179
GLOBL ·AVX_iv3<>(SB), RODATA|NOPTR, $16
DATA ·AVX_iv0<>+0(SB)/8, $0x6a09e667f3bcc908
DATA ·AVX_iv0<>+8(SB)/8, $0xbb67ae8584caa73b
GLOBL ·AVX_iv0<>(SB), RODATA|NOPTR, $16
DATA ·AVX_iv1<>+0(SB)/8, $0x3c6ef372fe94f82b
DATA ·AVX_iv1<>+8(SB)/8, $0xa54ff53a5f1d36f1
GLOBL ·AVX_iv1<>(SB), RODATA|NOPTR, $16
DATA ·AVX_iv2<>+0(SB)/8, $0x510e527fade682d1
DATA ·AVX_iv2<>+8(SB)/8, $0x9b05688c2b3e6c1f
GLOBL ·AVX_iv2<>(SB), RODATA|NOPTR, $16