2024-09-09 08:24:38 +00:00
|
|
|
// Code generated by command: go run blake2bAVX2_amd64_asm.go -out ../../blake2bAVX2_amd64.s -pkg blake2b. DO NOT EDIT.
|
2021-08-12 19:03:24 +00:00
|
|
|
|
2024-01-03 10:02:49 +00:00
|
|
|
//go:build amd64 && gc && !purego
|
2021-08-12 19:03:24 +00:00
|
|
|
|
|
|
|
#include "textflag.h"
|
|
|
|
|
|
|
|
// func hashBlocksAVX2(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte)
|
2024-09-09 08:24:38 +00:00
|
|
|
// 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
|
2021-08-12 19:03:24 +00:00
|
|
|
VMOVDQU 32(AX), Y9
|
2024-09-09 08:24:38 +00:00
|
|
|
VMOVDQU ·AVX2_iv0<>+0(SB), Y6
|
|
|
|
VMOVDQU ·AVX2_iv1<>+0(SB), Y7
|
|
|
|
MOVQ (BX), R8
|
|
|
|
MOVQ 8(BX), R9
|
|
|
|
MOVQ R9, 8(DX)
|
2021-08-12 19:03:24 +00:00
|
|
|
|
|
|
|
loop:
|
2024-09-09 08:24:38 +00:00
|
|
|
ADDQ $0x80, R8
|
|
|
|
MOVQ R8, (DX)
|
|
|
|
CMPQ R8, $0x80
|
2021-08-12 19:03:24 +00:00
|
|
|
JGE noinc
|
|
|
|
INCQ R9
|
|
|
|
MOVQ R9, 8(DX)
|
|
|
|
|
|
|
|
noinc:
|
2024-09-09 08:24:38 +00:00
|
|
|
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)
|
2021-08-12 19:03:24 +00:00
|
|
|
VZEROUPPER
|
|
|
|
RET
|
|
|
|
|
2024-09-09 08:24:38 +00:00
|
|
|
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
|
2021-08-12 19:03:24 +00:00
|
|
|
|
2024-09-09 08:24:38 +00:00
|
|
|
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
|
2021-08-12 19:03:24 +00:00
|
|
|
|
2024-09-09 08:24:38 +00:00
|
|
|
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
|
2021-08-12 19:03:24 +00:00
|
|
|
|
2024-09-09 08:24:38 +00:00
|
|
|
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
|
2021-08-12 19:03:24 +00:00
|
|
|
|
|
|
|
// func hashBlocksAVX(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte)
|
2024-09-09 08:24:38 +00:00
|
|
|
// 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
|
2021-08-12 19:03:24 +00:00
|
|
|
VMOVDQA X0, X8
|
|
|
|
VMOVDQA X1, X9
|
2024-09-09 08:24:38 +00:00
|
|
|
VMOVDQU ·AVX_iv3<>+0(SB), X0
|
|
|
|
VMOVDQA X0, (R10)
|
|
|
|
XORQ CX, (R10)
|
|
|
|
VMOVDQU (AX), X10
|
2021-08-12 19:03:24 +00:00
|
|
|
VMOVDQU 16(AX), X11
|
|
|
|
VMOVDQU 32(AX), X2
|
|
|
|
VMOVDQU 48(AX), X3
|
2024-09-09 08:24:38 +00:00
|
|
|
MOVQ (BX), R8
|
|
|
|
MOVQ 8(BX), R9
|
2021-08-12 19:03:24 +00:00
|
|
|
|
|
|
|
loop:
|
2024-09-09 08:24:38 +00:00
|
|
|
ADDQ $0x80, R8
|
|
|
|
CMPQ R8, $0x80
|
2021-08-12 19:03:24 +00:00
|
|
|
JGE noinc
|
|
|
|
INCQ R9
|
|
|
|
|
|
|
|
noinc:
|
2024-09-09 08:24:38 +00:00
|
|
|
BYTE $0xc4
|
|
|
|
BYTE $0x41
|
|
|
|
BYTE $0xf9
|
|
|
|
BYTE $0x6e
|
|
|
|
BYTE $0xf8
|
|
|
|
BYTE $0xc4
|
|
|
|
BYTE $0x43
|
|
|
|
BYTE $0x81
|
|
|
|
BYTE $0x22
|
|
|
|
BYTE $0xf9
|
|
|
|
BYTE $0x01
|
2021-08-12 19:03:24 +00:00
|
|
|
VMOVDQA X10, X0
|
|
|
|
VMOVDQA X11, X1
|
2024-09-09 08:24:38 +00:00
|
|
|
VMOVDQU ·AVX_iv0<>+0(SB), X4
|
|
|
|
VMOVDQU ·AVX_iv1<>+0(SB), X5
|
|
|
|
VMOVDQU ·AVX_iv2<>+0(SB), X6
|
2021-08-12 19:03:24 +00:00
|
|
|
VPXOR X15, X6, X6
|
2024-09-09 08:24:38 +00:00
|
|
|
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
|
2021-08-12 19:03:24 +00:00
|
|
|
VMOVDQA X12, 16(R10)
|
|
|
|
VMOVDQA X13, 32(R10)
|
|
|
|
VMOVDQA X14, 48(R10)
|
|
|
|
VMOVDQA X15, 64(R10)
|
2024-09-09 08:24:38 +00:00
|
|
|
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
|
2021-08-12 19:03:24 +00:00
|
|
|
VMOVDQA X12, 80(R10)
|
|
|
|
VMOVDQA X13, 96(R10)
|
|
|
|
VMOVDQA X14, 112(R10)
|
|
|
|
VMOVDQA X15, 128(R10)
|
2024-09-09 08:24:38 +00:00
|
|
|
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
|
2021-08-12 19:03:24 +00:00
|
|
|
VMOVDQA X12, 144(R10)
|
|
|
|
VMOVDQA X13, 160(R10)
|
|
|
|
VMOVDQA X14, 176(R10)
|
|
|
|
VMOVDQA X15, 192(R10)
|
2024-09-09 08:24:38 +00:00
|
|
|
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
|
2021-08-12 19:03:24 +00:00
|
|
|
VMOVDQA X12, 208(R10)
|
|
|
|
VMOVDQA X13, 224(R10)
|
|
|
|
VMOVDQA X14, 240(R10)
|
|
|
|
VMOVDQA X15, 256(R10)
|
2024-09-09 08:24:38 +00:00
|
|
|
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
|
2021-08-12 19:03:24 +00:00
|
|
|
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)
|
2024-09-09 08:24:38 +00:00
|
|
|
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
|
2021-08-12 19:03:24 +00:00
|
|
|
|
2024-09-09 08:24:38 +00:00
|
|
|
DATA ·AVX_c40<>+0(SB)/8, $0x0201000706050403
|
|
|
|
DATA ·AVX_c40<>+8(SB)/8, $0x0a09080f0e0d0c0b
|
|
|
|
GLOBL ·AVX_c40<>(SB), RODATA|NOPTR, $16
|
2021-08-12 19:03:24 +00:00
|
|
|
|
2024-09-09 08:24:38 +00:00
|
|
|
DATA ·AVX_c48<>+0(SB)/8, $0x0100070605040302
|
|
|
|
DATA ·AVX_c48<>+8(SB)/8, $0x09080f0e0d0c0b0a
|
|
|
|
GLOBL ·AVX_c48<>(SB), RODATA|NOPTR, $16
|
2021-08-12 19:03:24 +00:00
|
|
|
|
2024-09-09 08:24:38 +00:00
|
|
|
DATA ·AVX_iv3<>+0(SB)/8, $0x1f83d9abfb41bd6b
|
|
|
|
DATA ·AVX_iv3<>+8(SB)/8, $0x5be0cd19137e2179
|
|
|
|
GLOBL ·AVX_iv3<>(SB), RODATA|NOPTR, $16
|
2021-08-12 19:03:24 +00:00
|
|
|
|
2024-09-09 08:24:38 +00:00
|
|
|
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
|