//go:build amd64 && !purego && (!gccgo || go1.18)
// +build amd64
// +build !purego
// +build !gccgo go1.18

// GENERATED BY C2GOASM
// EDITED BY RYUANERIN
// -- DO NOT EDIT

#include "textflag.h"

TEXT ·__lea_encrypt_4block(SB), NOSPLIT, $24
	MOVQ ctx+0(FP), DI
	MOVQ dst+8(FP), SI
	MOVQ src+16(FP), DX

	LONG $0x026f0ff3               // movdqu    xmm0, oword [rdx]
	LONG $0x4a6f0ff3; BYTE $0x10   // movdqu    xmm1, oword [rdx + 16]
	LONG $0x5a6f0ff3; BYTE $0x20   // movdqu    xmm3, oword [rdx + 32]
	LONG $0x6a6f0ff3; BYTE $0x30   // movdqu    xmm5, oword [rdx + 48]
	LONG $0xd06f0f66               // movdqa    xmm2, xmm0
	LONG $0xd1620f66               // punpckldq    xmm2, xmm1
	LONG $0xe36f0f66               // movdqa    xmm4, xmm3
	LONG $0xe5620f66               // punpckldq    xmm4, xmm5
	LONG $0xc16a0f66               // punpckhdq    xmm0, xmm1
	LONG $0xdd6a0f66               // punpckhdq    xmm3, xmm5
	LONG $0x4f6e0f66; BYTE $0x10   // movd    xmm1, dword [rdi + 16]
	LONG $0xc9700f66; BYTE $0x00   // pshufd    xmm1, xmm1, 0
	LONG $0x6f6e0f66; BYTE $0x14   // movd    xmm5, dword [rdi + 20]
	LONG $0xed700f66; BYTE $0x00   // pshufd    xmm5, xmm5, 0
	LONG $0xf06f0f66               // movdqa    xmm6, xmm0
	LONG $0xf36c0f66               // punpcklqdq    xmm6, xmm3
	LONG $0xceef0f66               // pxor    xmm1, xmm6
	LONG $0xc36d0f66               // punpckhqdq    xmm0, xmm3
	LONG $0xc5ef0f66               // pxor    xmm0, xmm5
	LONG $0xc1fe0f66               // paddd    xmm0, xmm1
	LONG $0xc86f0f66               // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x03   // psrld    xmm1, 3
	LONG $0xf0720f66; BYTE $0x1d   // pslld    xmm0, 29
	LONG $0xc1eb0f66               // por    xmm0, xmm1
	LONG $0x4f6e0f66; BYTE $0x08   // movd    xmm1, dword [rdi + 8]
	LONG $0xd9700f66; BYTE $0x00   // pshufd    xmm3, xmm1, 0
	LONG $0x4f6e0f66; BYTE $0x0c   // movd    xmm1, dword [rdi + 12]
	LONG $0xc9700f66; BYTE $0x00   // pshufd    xmm1, xmm1, 0
	LONG $0xea6f0f66               // movdqa    xmm5, xmm2
	LONG $0xec6d0f66               // punpckhqdq    xmm5, xmm4
	LONG $0xddef0f66               // pxor    xmm3, xmm5
	LONG $0xceef0f66               // pxor    xmm1, xmm6
	LONG $0xcbfe0f66               // paddd    xmm1, xmm3
	LONG $0xd96f0f66               // movdqa    xmm3, xmm1
	LONG $0xd3720f66; BYTE $0x05   // psrld    xmm3, 5
	LONG $0xf1720f66; BYTE $0x1b   // pslld    xmm1, 27
	LONG $0xcbeb0f66               // por    xmm1, xmm3
	LONG $0x1f6e0f66               // movd    xmm3, dword [rdi]
	LONG $0xf3700f66; BYTE $0x00   // pshufd    xmm6, xmm3, 0
	LONG $0x5f6e0f66; BYTE $0x04   // movd    xmm3, dword [rdi + 4]
	LONG $0xdb700f66; BYTE $0x00   // pshufd    xmm3, xmm3, 0
	LONG $0xd46c0f66               // punpcklqdq    xmm2, xmm4
	LONG $0xf2ef0f66               // pxor    xmm6, xmm2
	LONG $0xddef0f66               // pxor    xmm3, xmm5
	LONG $0xdefe0f66               // paddd    xmm3, xmm6
	LONG $0xe36f0f66               // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x17   // psrld    xmm4, 23
	LONG $0xf3720f66; BYTE $0x09   // pslld    xmm3, 9
	LONG $0xdceb0f66               // por    xmm3, xmm4
	LONG $0x676e0f66; BYTE $0x28   // movd    xmm4, dword [rdi + 40]
	LONG $0xec700f66; BYTE $0x00   // pshufd    xmm5, xmm4, 0
	LONG $0xe8ef0f66               // pxor    xmm5, xmm0
	LONG $0x676e0f66; BYTE $0x2c   // movd    xmm4, dword [rdi + 44]
	LONG $0xe4700f66; BYTE $0x00   // pshufd    xmm4, xmm4, 0
	LONG $0xe2ef0f66               // pxor    xmm4, xmm2
	LONG $0xe5fe0f66               // paddd    xmm4, xmm5
	LONG $0xd46f0f66               // movdqa    xmm2, xmm4
	LONG $0xd2720f66; BYTE $0x03   // psrld    xmm2, 3
	LONG $0xf4720f66; BYTE $0x1d   // pslld    xmm4, 29
	LONG $0xe2eb0f66               // por    xmm4, xmm2
	LONG $0x576e0f66; BYTE $0x20   // movd    xmm2, dword [rdi + 32]
	LONG $0xea700f66; BYTE $0x00   // pshufd    xmm5, xmm2, 0
	LONG $0xe9ef0f66               // pxor    xmm5, xmm1
	LONG $0x576e0f66; BYTE $0x24   // movd    xmm2, dword [rdi + 36]
	LONG $0xd2700f66; BYTE $0x00   // pshufd    xmm2, xmm2, 0
	LONG $0xd0ef0f66               // pxor    xmm2, xmm0
	LONG $0xd5fe0f66               // paddd    xmm2, xmm5
	LONG $0xc26f0f66               // movdqa    xmm0, xmm2
	LONG $0xd0720f66; BYTE $0x05   // psrld    xmm0, 5
	LONG $0xf2720f66; BYTE $0x1b   // pslld    xmm2, 27
	LONG $0xd0eb0f66               // por    xmm2, xmm0
	LONG $0x476e0f66; BYTE $0x18   // movd    xmm0, dword [rdi + 24]
	LONG $0xe8700f66; BYTE $0x00   // pshufd    xmm5, xmm0, 0
	LONG $0xebef0f66               // pxor    xmm5, xmm3
	LONG $0x476e0f66; BYTE $0x1c   // movd    xmm0, dword [rdi + 28]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66               // pxor    xmm0, xmm1
	LONG $0xc5fe0f66               // paddd    xmm0, xmm5
	LONG $0xc86f0f66               // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x17   // psrld    xmm1, 23
	LONG $0xf0720f66; BYTE $0x09   // pslld    xmm0, 9
	LONG $0xc1eb0f66               // por    xmm0, xmm1
	LONG $0x4f6e0f66; BYTE $0x40   // movd    xmm1, dword [rdi + 64]
	LONG $0xe9700f66; BYTE $0x00   // pshufd    xmm5, xmm1, 0
	LONG $0xecef0f66               // pxor    xmm5, xmm4
	LONG $0x4f6e0f66; BYTE $0x44   // movd    xmm1, dword [rdi + 68]
	LONG $0xc9700f66; BYTE $0x00   // pshufd    xmm1, xmm1, 0
	LONG $0xcbef0f66               // pxor    xmm1, xmm3
	LONG $0xcdfe0f66               // paddd    xmm1, xmm5
	LONG $0xd96f0f66               // movdqa    xmm3, xmm1
	LONG $0xd3720f66; BYTE $0x03   // psrld    xmm3, 3
	LONG $0xf1720f66; BYTE $0x1d   // pslld    xmm1, 29
	LONG $0xcbeb0f66               // por    xmm1, xmm3
	LONG $0x5f6e0f66; BYTE $0x38   // movd    xmm3, dword [rdi + 56]
	LONG $0xeb700f66; BYTE $0x00   // pshufd    xmm5, xmm3, 0
	LONG $0xeaef0f66               // pxor    xmm5, xmm2
	LONG $0x5f6e0f66; BYTE $0x3c   // movd    xmm3, dword [rdi + 60]
	LONG $0xdb700f66; BYTE $0x00   // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66               // pxor    xmm3, xmm4
	LONG $0xddfe0f66               // paddd    xmm3, xmm5
	LONG $0xe36f0f66               // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x05   // psrld    xmm4, 5
	LONG $0xf3720f66; BYTE $0x1b   // pslld    xmm3, 27
	LONG $0xdceb0f66               // por    xmm3, xmm4
	LONG $0x676e0f66; BYTE $0x30   // movd    xmm4, dword [rdi + 48]
	LONG $0xec700f66; BYTE $0x00   // pshufd    xmm5, xmm4, 0
	LONG $0xe8ef0f66               // pxor    xmm5, xmm0
	LONG $0x676e0f66; BYTE $0x34   // movd    xmm4, dword [rdi + 52]
	LONG $0xe4700f66; BYTE $0x00   // pshufd    xmm4, xmm4, 0
	LONG $0xe2ef0f66               // pxor    xmm4, xmm2
	LONG $0xe5fe0f66               // paddd    xmm4, xmm5
	LONG $0xd46f0f66               // movdqa    xmm2, xmm4
	LONG $0xd2720f66; BYTE $0x17   // psrld    xmm2, 23
	LONG $0xf4720f66; BYTE $0x09   // pslld    xmm4, 9
	LONG $0xe2eb0f66               // por    xmm4, xmm2
	LONG $0x576e0f66; BYTE $0x58   // movd    xmm2, dword [rdi + 88]
	LONG $0xea700f66; BYTE $0x00   // pshufd    xmm5, xmm2, 0
	LONG $0xe9ef0f66               // pxor    xmm5, xmm1
	LONG $0x576e0f66; BYTE $0x5c   // movd    xmm2, dword [rdi + 92]
	LONG $0xd2700f66; BYTE $0x00   // pshufd    xmm2, xmm2, 0
	LONG $0xd0ef0f66               // pxor    xmm2, xmm0
	LONG $0xd5fe0f66               // paddd    xmm2, xmm5
	LONG $0xc26f0f66               // movdqa    xmm0, xmm2
	LONG $0xd0720f66; BYTE $0x03   // psrld    xmm0, 3
	LONG $0xf2720f66; BYTE $0x1d   // pslld    xmm2, 29
	LONG $0xd0eb0f66               // por    xmm2, xmm0
	LONG $0x476e0f66; BYTE $0x50   // movd    xmm0, dword [rdi + 80]
	LONG $0xe8700f66; BYTE $0x00   // pshufd    xmm5, xmm0, 0
	LONG $0xebef0f66               // pxor    xmm5, xmm3
	LONG $0x476e0f66; BYTE $0x54   // movd    xmm0, dword [rdi + 84]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66               // pxor    xmm0, xmm1
	LONG $0xc5fe0f66               // paddd    xmm0, xmm5
	LONG $0xc86f0f66               // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x05   // psrld    xmm1, 5
	LONG $0xf0720f66; BYTE $0x1b   // pslld    xmm0, 27
	LONG $0xc1eb0f66               // por    xmm0, xmm1
	LONG $0x4f6e0f66; BYTE $0x48   // movd    xmm1, dword [rdi + 72]
	LONG $0xe9700f66; BYTE $0x00   // pshufd    xmm5, xmm1, 0
	LONG $0xecef0f66               // pxor    xmm5, xmm4
	LONG $0x4f6e0f66; BYTE $0x4c   // movd    xmm1, dword [rdi + 76]
	LONG $0xc9700f66; BYTE $0x00   // pshufd    xmm1, xmm1, 0
	LONG $0xcbef0f66               // pxor    xmm1, xmm3
	LONG $0xcdfe0f66               // paddd    xmm1, xmm5
	LONG $0xd96f0f66               // movdqa    xmm3, xmm1
	LONG $0xd3720f66; BYTE $0x17   // psrld    xmm3, 23
	LONG $0xf1720f66; BYTE $0x09   // pslld    xmm1, 9
	LONG $0xcbeb0f66               // por    xmm1, xmm3
	LONG $0x5f6e0f66; BYTE $0x70   // movd    xmm3, dword [rdi + 112]
	LONG $0xeb700f66; BYTE $0x00   // pshufd    xmm5, xmm3, 0
	LONG $0xeaef0f66               // pxor    xmm5, xmm2
	LONG $0x5f6e0f66; BYTE $0x74   // movd    xmm3, dword [rdi + 116]
	LONG $0xdb700f66; BYTE $0x00   // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66               // pxor    xmm3, xmm4
	LONG $0xddfe0f66               // paddd    xmm3, xmm5
	LONG $0xe36f0f66               // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x03   // psrld    xmm4, 3
	LONG $0xf3720f66; BYTE $0x1d   // pslld    xmm3, 29
	LONG $0xdceb0f66               // por    xmm3, xmm4
	LONG $0x676e0f66; BYTE $0x68   // movd    xmm4, dword [rdi + 104]
	LONG $0xec700f66; BYTE $0x00   // pshufd    xmm5, xmm4, 0
	LONG $0xe8ef0f66               // pxor    xmm5, xmm0
	LONG $0x676e0f66; BYTE $0x6c   // movd    xmm4, dword [rdi + 108]
	LONG $0xe4700f66; BYTE $0x00   // pshufd    xmm4, xmm4, 0
	LONG $0xe2ef0f66               // pxor    xmm4, xmm2
	LONG $0xe5fe0f66               // paddd    xmm4, xmm5
	LONG $0xd46f0f66               // movdqa    xmm2, xmm4
	LONG $0xd2720f66; BYTE $0x05   // psrld    xmm2, 5
	LONG $0xf4720f66; BYTE $0x1b   // pslld    xmm4, 27
	LONG $0xe2eb0f66               // por    xmm4, xmm2
	LONG $0x576e0f66; BYTE $0x60   // movd    xmm2, dword [rdi + 96]
	LONG $0xea700f66; BYTE $0x00   // pshufd    xmm5, xmm2, 0
	LONG $0xe9ef0f66               // pxor    xmm5, xmm1
	LONG $0x576e0f66; BYTE $0x64   // movd    xmm2, dword [rdi + 100]
	LONG $0xd2700f66; BYTE $0x00   // pshufd    xmm2, xmm2, 0
	LONG $0xd0ef0f66               // pxor    xmm2, xmm0
	LONG $0xd5fe0f66               // paddd    xmm2, xmm5
	LONG $0xc26f0f66               // movdqa    xmm0, xmm2
	LONG $0xd0720f66; BYTE $0x17   // psrld    xmm0, 23
	LONG $0xf2720f66; BYTE $0x09   // pslld    xmm2, 9
	LONG $0xd0eb0f66               // por    xmm2, xmm0
	QUAD $0x00000088876e0f66       // movd    xmm0, dword [rdi + 136]
	LONG $0xe8700f66; BYTE $0x00   // pshufd    xmm5, xmm0, 0
	LONG $0xebef0f66               // pxor    xmm5, xmm3
	QUAD $0x0000008c876e0f66       // movd    xmm0, dword [rdi + 140]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66               // pxor    xmm0, xmm1
	LONG $0xc5fe0f66               // paddd    xmm0, xmm5
	LONG $0xc86f0f66               // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x03   // psrld    xmm1, 3
	LONG $0xf0720f66; BYTE $0x1d   // pslld    xmm0, 29
	LONG $0xc1eb0f66               // por    xmm0, xmm1
	QUAD $0x000000808f6e0f66       // movd    xmm1, dword [rdi + 128]
	LONG $0xe9700f66; BYTE $0x00   // pshufd    xmm5, xmm1, 0
	LONG $0xecef0f66               // pxor    xmm5, xmm4
	QUAD $0x000000848f6e0f66       // movd    xmm1, dword [rdi + 132]
	LONG $0xc9700f66; BYTE $0x00   // pshufd    xmm1, xmm1, 0
	LONG $0xcbef0f66               // pxor    xmm1, xmm3
	LONG $0xcdfe0f66               // paddd    xmm1, xmm5
	LONG $0xd96f0f66               // movdqa    xmm3, xmm1
	LONG $0xd3720f66; BYTE $0x05   // psrld    xmm3, 5
	LONG $0xf1720f66; BYTE $0x1b   // pslld    xmm1, 27
	LONG $0xcbeb0f66               // por    xmm1, xmm3
	LONG $0x5f6e0f66; BYTE $0x78   // movd    xmm3, dword [rdi + 120]
	LONG $0xeb700f66; BYTE $0x00   // pshufd    xmm5, xmm3, 0
	LONG $0xeaef0f66               // pxor    xmm5, xmm2
	LONG $0x5f6e0f66; BYTE $0x7c   // movd    xmm3, dword [rdi + 124]
	LONG $0xdb700f66; BYTE $0x00   // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66               // pxor    xmm3, xmm4
	LONG $0xddfe0f66               // paddd    xmm3, xmm5
	LONG $0xe36f0f66               // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x17   // psrld    xmm4, 23
	LONG $0xf3720f66; BYTE $0x09   // pslld    xmm3, 9
	LONG $0xdceb0f66               // por    xmm3, xmm4
	QUAD $0x000000a0a76e0f66       // movd    xmm4, dword [rdi + 160]
	LONG $0xec700f66; BYTE $0x00   // pshufd    xmm5, xmm4, 0
	LONG $0xe8ef0f66               // pxor    xmm5, xmm0
	QUAD $0x000000a4a76e0f66       // movd    xmm4, dword [rdi + 164]
	LONG $0xe4700f66; BYTE $0x00   // pshufd    xmm4, xmm4, 0
	LONG $0xe2ef0f66               // pxor    xmm4, xmm2
	LONG $0xe5fe0f66               // paddd    xmm4, xmm5
	LONG $0xd46f0f66               // movdqa    xmm2, xmm4
	LONG $0xd2720f66; BYTE $0x03   // psrld    xmm2, 3
	LONG $0xf4720f66; BYTE $0x1d   // pslld    xmm4, 29
	LONG $0xe2eb0f66               // por    xmm4, xmm2
	QUAD $0x00000098976e0f66       // movd    xmm2, dword [rdi + 152]
	LONG $0xea700f66; BYTE $0x00   // pshufd    xmm5, xmm2, 0
	LONG $0xe9ef0f66               // pxor    xmm5, xmm1
	QUAD $0x0000009c976e0f66       // movd    xmm2, dword [rdi + 156]
	LONG $0xd2700f66; BYTE $0x00   // pshufd    xmm2, xmm2, 0
	LONG $0xd0ef0f66               // pxor    xmm2, xmm0
	LONG $0xd5fe0f66               // paddd    xmm2, xmm5
	LONG $0xc26f0f66               // movdqa    xmm0, xmm2
	LONG $0xd0720f66; BYTE $0x05   // psrld    xmm0, 5
	LONG $0xf2720f66; BYTE $0x1b   // pslld    xmm2, 27
	LONG $0xd0eb0f66               // por    xmm2, xmm0
	QUAD $0x00000090876e0f66       // movd    xmm0, dword [rdi + 144]
	LONG $0xe8700f66; BYTE $0x00   // pshufd    xmm5, xmm0, 0
	LONG $0xebef0f66               // pxor    xmm5, xmm3
	QUAD $0x00000094876e0f66       // movd    xmm0, dword [rdi + 148]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66               // pxor    xmm0, xmm1
	LONG $0xc5fe0f66               // paddd    xmm0, xmm5
	LONG $0xc86f0f66               // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x17   // psrld    xmm1, 23
	LONG $0xf0720f66; BYTE $0x09   // pslld    xmm0, 9
	LONG $0xc1eb0f66               // por    xmm0, xmm1
	QUAD $0x000000b88f6e0f66       // movd    xmm1, dword [rdi + 184]
	LONG $0xe9700f66; BYTE $0x00   // pshufd    xmm5, xmm1, 0
	LONG $0xecef0f66               // pxor    xmm5, xmm4
	QUAD $0x000000bc8f6e0f66       // movd    xmm1, dword [rdi + 188]
	LONG $0xc9700f66; BYTE $0x00   // pshufd    xmm1, xmm1, 0
	LONG $0xcbef0f66               // pxor    xmm1, xmm3
	LONG $0xcdfe0f66               // paddd    xmm1, xmm5
	LONG $0xd96f0f66               // movdqa    xmm3, xmm1
	LONG $0xd3720f66; BYTE $0x03   // psrld    xmm3, 3
	LONG $0xf1720f66; BYTE $0x1d   // pslld    xmm1, 29
	LONG $0xcbeb0f66               // por    xmm1, xmm3
	QUAD $0x000000b09f6e0f66       // movd    xmm3, dword [rdi + 176]
	LONG $0xeb700f66; BYTE $0x00   // pshufd    xmm5, xmm3, 0
	LONG $0xeaef0f66               // pxor    xmm5, xmm2
	QUAD $0x000000b49f6e0f66       // movd    xmm3, dword [rdi + 180]
	LONG $0xdb700f66; BYTE $0x00   // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66               // pxor    xmm3, xmm4
	LONG $0xddfe0f66               // paddd    xmm3, xmm5
	LONG $0xe36f0f66               // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x05   // psrld    xmm4, 5
	LONG $0xf3720f66; BYTE $0x1b   // pslld    xmm3, 27
	LONG $0xdceb0f66               // por    xmm3, xmm4
	QUAD $0x000000a8a76e0f66       // movd    xmm4, dword [rdi + 168]
	LONG $0xec700f66; BYTE $0x00   // pshufd    xmm5, xmm4, 0
	LONG $0xe8ef0f66               // pxor    xmm5, xmm0
	QUAD $0x000000aca76e0f66       // movd    xmm4, dword [rdi + 172]
	LONG $0xe4700f66; BYTE $0x00   // pshufd    xmm4, xmm4, 0
	LONG $0xe2ef0f66               // pxor    xmm4, xmm2
	LONG $0xe5fe0f66               // paddd    xmm4, xmm5
	LONG $0xd46f0f66               // movdqa    xmm2, xmm4
	LONG $0xd2720f66; BYTE $0x17   // psrld    xmm2, 23
	LONG $0xf4720f66; BYTE $0x09   // pslld    xmm4, 9
	LONG $0xe2eb0f66               // por    xmm4, xmm2
	QUAD $0x000000d0976e0f66       // movd    xmm2, dword [rdi + 208]
	LONG $0xea700f66; BYTE $0x00   // pshufd    xmm5, xmm2, 0
	LONG $0xe9ef0f66               // pxor    xmm5, xmm1
	QUAD $0x000000d4976e0f66       // movd    xmm2, dword [rdi + 212]
	LONG $0xd2700f66; BYTE $0x00   // pshufd    xmm2, xmm2, 0
	LONG $0xd0ef0f66               // pxor    xmm2, xmm0
	LONG $0xd5fe0f66               // paddd    xmm2, xmm5
	LONG $0xc26f0f66               // movdqa    xmm0, xmm2
	LONG $0xd0720f66; BYTE $0x03   // psrld    xmm0, 3
	LONG $0xf2720f66; BYTE $0x1d   // pslld    xmm2, 29
	LONG $0xd0eb0f66               // por    xmm2, xmm0
	QUAD $0x000000c8876e0f66       // movd    xmm0, dword [rdi + 200]
	LONG $0xe8700f66; BYTE $0x00   // pshufd    xmm5, xmm0, 0
	LONG $0xebef0f66               // pxor    xmm5, xmm3
	QUAD $0x000000cc876e0f66       // movd    xmm0, dword [rdi + 204]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66               // pxor    xmm0, xmm1
	LONG $0xc5fe0f66               // paddd    xmm0, xmm5
	LONG $0xc86f0f66               // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x05   // psrld    xmm1, 5
	LONG $0xf0720f66; BYTE $0x1b   // pslld    xmm0, 27
	LONG $0xc1eb0f66               // por    xmm0, xmm1
	QUAD $0x000000c08f6e0f66       // movd    xmm1, dword [rdi + 192]
	LONG $0xe9700f66; BYTE $0x00   // pshufd    xmm5, xmm1, 0
	LONG $0xecef0f66               // pxor    xmm5, xmm4
	QUAD $0x000000c48f6e0f66       // movd    xmm1, dword [rdi + 196]
	LONG $0xc9700f66; BYTE $0x00   // pshufd    xmm1, xmm1, 0
	LONG $0xcbef0f66               // pxor    xmm1, xmm3
	LONG $0xcdfe0f66               // paddd    xmm1, xmm5
	LONG $0xd96f0f66               // movdqa    xmm3, xmm1
	LONG $0xd3720f66; BYTE $0x17   // psrld    xmm3, 23
	LONG $0xf1720f66; BYTE $0x09   // pslld    xmm1, 9
	LONG $0xcbeb0f66               // por    xmm1, xmm3
	QUAD $0x000000e89f6e0f66       // movd    xmm3, dword [rdi + 232]
	LONG $0xeb700f66; BYTE $0x00   // pshufd    xmm5, xmm3, 0
	LONG $0xeaef0f66               // pxor    xmm5, xmm2
	QUAD $0x000000ec9f6e0f66       // movd    xmm3, dword [rdi + 236]
	LONG $0xdb700f66; BYTE $0x00   // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66               // pxor    xmm3, xmm4
	LONG $0xddfe0f66               // paddd    xmm3, xmm5
	LONG $0xe36f0f66               // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x03   // psrld    xmm4, 3
	LONG $0xf3720f66; BYTE $0x1d   // pslld    xmm3, 29
	LONG $0xdceb0f66               // por    xmm3, xmm4
	QUAD $0x000000e0a76e0f66       // movd    xmm4, dword [rdi + 224]
	LONG $0xec700f66; BYTE $0x00   // pshufd    xmm5, xmm4, 0
	LONG $0xe8ef0f66               // pxor    xmm5, xmm0
	QUAD $0x000000e4a76e0f66       // movd    xmm4, dword [rdi + 228]
	LONG $0xe4700f66; BYTE $0x00   // pshufd    xmm4, xmm4, 0
	LONG $0xe2ef0f66               // pxor    xmm4, xmm2
	LONG $0xe5fe0f66               // paddd    xmm4, xmm5
	LONG $0xd46f0f66               // movdqa    xmm2, xmm4
	LONG $0xd2720f66; BYTE $0x05   // psrld    xmm2, 5
	LONG $0xf4720f66; BYTE $0x1b   // pslld    xmm4, 27
	LONG $0xe2eb0f66               // por    xmm4, xmm2
	QUAD $0x000000d8976e0f66       // movd    xmm2, dword [rdi + 216]
	LONG $0xea700f66; BYTE $0x00   // pshufd    xmm5, xmm2, 0
	LONG $0xe9ef0f66               // pxor    xmm5, xmm1
	QUAD $0x000000dc976e0f66       // movd    xmm2, dword [rdi + 220]
	LONG $0xd2700f66; BYTE $0x00   // pshufd    xmm2, xmm2, 0
	LONG $0xd0ef0f66               // pxor    xmm2, xmm0
	LONG $0xd5fe0f66               // paddd    xmm2, xmm5
	LONG $0xc26f0f66               // movdqa    xmm0, xmm2
	LONG $0xd0720f66; BYTE $0x17   // psrld    xmm0, 23
	LONG $0xf2720f66; BYTE $0x09   // pslld    xmm2, 9
	LONG $0xd0eb0f66               // por    xmm2, xmm0
	QUAD $0x00000100876e0f66       // movd    xmm0, dword [rdi + 256]
	LONG $0xe8700f66; BYTE $0x00   // pshufd    xmm5, xmm0, 0
	LONG $0xebef0f66               // pxor    xmm5, xmm3
	QUAD $0x00000104876e0f66       // movd    xmm0, dword [rdi + 260]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66               // pxor    xmm0, xmm1
	LONG $0xc5fe0f66               // paddd    xmm0, xmm5
	LONG $0xc86f0f66               // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x03   // psrld    xmm1, 3
	LONG $0xf0720f66; BYTE $0x1d   // pslld    xmm0, 29
	LONG $0xc1eb0f66               // por    xmm0, xmm1
	QUAD $0x000000f88f6e0f66       // movd    xmm1, dword [rdi + 248]
	LONG $0xe9700f66; BYTE $0x00   // pshufd    xmm5, xmm1, 0
	LONG $0xecef0f66               // pxor    xmm5, xmm4
	QUAD $0x000000fc8f6e0f66       // movd    xmm1, dword [rdi + 252]
	LONG $0xc9700f66; BYTE $0x00   // pshufd    xmm1, xmm1, 0
	LONG $0xcbef0f66               // pxor    xmm1, xmm3
	LONG $0xcdfe0f66               // paddd    xmm1, xmm5
	LONG $0xd96f0f66               // movdqa    xmm3, xmm1
	LONG $0xd3720f66; BYTE $0x05   // psrld    xmm3, 5
	LONG $0xf1720f66; BYTE $0x1b   // pslld    xmm1, 27
	LONG $0xcbeb0f66               // por    xmm1, xmm3
	QUAD $0x000000f09f6e0f66       // movd    xmm3, dword [rdi + 240]
	LONG $0xeb700f66; BYTE $0x00   // pshufd    xmm5, xmm3, 0
	LONG $0xeaef0f66               // pxor    xmm5, xmm2
	QUAD $0x000000f49f6e0f66       // movd    xmm3, dword [rdi + 244]
	LONG $0xdb700f66; BYTE $0x00   // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66               // pxor    xmm3, xmm4
	LONG $0xddfe0f66               // paddd    xmm3, xmm5
	LONG $0xe36f0f66               // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x17   // psrld    xmm4, 23
	LONG $0xf3720f66; BYTE $0x09   // pslld    xmm3, 9
	LONG $0xdceb0f66               // por    xmm3, xmm4
	QUAD $0x00000118a76e0f66       // movd    xmm4, dword [rdi + 280]
	LONG $0xec700f66; BYTE $0x00   // pshufd    xmm5, xmm4, 0
	LONG $0xe8ef0f66               // pxor    xmm5, xmm0
	QUAD $0x0000011ca76e0f66       // movd    xmm4, dword [rdi + 284]
	LONG $0xe4700f66; BYTE $0x00   // pshufd    xmm4, xmm4, 0
	LONG $0xe2ef0f66               // pxor    xmm4, xmm2
	LONG $0xe5fe0f66               // paddd    xmm4, xmm5
	LONG $0xd46f0f66               // movdqa    xmm2, xmm4
	LONG $0xd2720f66; BYTE $0x03   // psrld    xmm2, 3
	LONG $0xf4720f66; BYTE $0x1d   // pslld    xmm4, 29
	LONG $0xe2eb0f66               // por    xmm4, xmm2
	QUAD $0x00000110976e0f66       // movd    xmm2, dword [rdi + 272]
	LONG $0xea700f66; BYTE $0x00   // pshufd    xmm5, xmm2, 0
	LONG $0xe9ef0f66               // pxor    xmm5, xmm1
	QUAD $0x00000114976e0f66       // movd    xmm2, dword [rdi + 276]
	LONG $0xd2700f66; BYTE $0x00   // pshufd    xmm2, xmm2, 0
	LONG $0xd0ef0f66               // pxor    xmm2, xmm0
	LONG $0xd5fe0f66               // paddd    xmm2, xmm5
	LONG $0xc26f0f66               // movdqa    xmm0, xmm2
	LONG $0xd0720f66; BYTE $0x05   // psrld    xmm0, 5
	LONG $0xf2720f66; BYTE $0x1b   // pslld    xmm2, 27
	LONG $0xd0eb0f66               // por    xmm2, xmm0
	QUAD $0x00000108876e0f66       // movd    xmm0, dword [rdi + 264]
	LONG $0xe8700f66; BYTE $0x00   // pshufd    xmm5, xmm0, 0
	LONG $0xebef0f66               // pxor    xmm5, xmm3
	QUAD $0x0000010c876e0f66       // movd    xmm0, dword [rdi + 268]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66               // pxor    xmm0, xmm1
	LONG $0xc5fe0f66               // paddd    xmm0, xmm5
	LONG $0xc86f0f66               // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x17   // psrld    xmm1, 23
	LONG $0xf0720f66; BYTE $0x09   // pslld    xmm0, 9
	LONG $0xc1eb0f66               // por    xmm0, xmm1
	QUAD $0x000001308f6e0f66       // movd    xmm1, dword [rdi + 304]
	LONG $0xe9700f66; BYTE $0x00   // pshufd    xmm5, xmm1, 0
	LONG $0xecef0f66               // pxor    xmm5, xmm4
	QUAD $0x000001348f6e0f66       // movd    xmm1, dword [rdi + 308]
	LONG $0xc9700f66; BYTE $0x00   // pshufd    xmm1, xmm1, 0
	LONG $0xcbef0f66               // pxor    xmm1, xmm3
	LONG $0xcdfe0f66               // paddd    xmm1, xmm5
	LONG $0xd96f0f66               // movdqa    xmm3, xmm1
	LONG $0xd3720f66; BYTE $0x03   // psrld    xmm3, 3
	LONG $0xf1720f66; BYTE $0x1d   // pslld    xmm1, 29
	LONG $0xcbeb0f66               // por    xmm1, xmm3
	QUAD $0x000001289f6e0f66       // movd    xmm3, dword [rdi + 296]
	LONG $0xeb700f66; BYTE $0x00   // pshufd    xmm5, xmm3, 0
	LONG $0xeaef0f66               // pxor    xmm5, xmm2
	QUAD $0x0000012c9f6e0f66       // movd    xmm3, dword [rdi + 300]
	LONG $0xdb700f66; BYTE $0x00   // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66               // pxor    xmm3, xmm4
	LONG $0xddfe0f66               // paddd    xmm3, xmm5
	LONG $0xe36f0f66               // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x05   // psrld    xmm4, 5
	LONG $0xf3720f66; BYTE $0x1b   // pslld    xmm3, 27
	LONG $0xdceb0f66               // por    xmm3, xmm4
	QUAD $0x00000120a76e0f66       // movd    xmm4, dword [rdi + 288]
	LONG $0xec700f66; BYTE $0x00   // pshufd    xmm5, xmm4, 0
	LONG $0xe8ef0f66               // pxor    xmm5, xmm0
	QUAD $0x00000124a76e0f66       // movd    xmm4, dword [rdi + 292]
	LONG $0xe4700f66; BYTE $0x00   // pshufd    xmm4, xmm4, 0
	LONG $0xe2ef0f66               // pxor    xmm4, xmm2
	LONG $0xe5fe0f66               // paddd    xmm4, xmm5
	LONG $0xd46f0f66               // movdqa    xmm2, xmm4
	LONG $0xd2720f66; BYTE $0x17   // psrld    xmm2, 23
	LONG $0xf4720f66; BYTE $0x09   // pslld    xmm4, 9
	LONG $0xe2eb0f66               // por    xmm4, xmm2
	QUAD $0x00000148976e0f66       // movd    xmm2, dword [rdi + 328]
	LONG $0xea700f66; BYTE $0x00   // pshufd    xmm5, xmm2, 0
	LONG $0xe9ef0f66               // pxor    xmm5, xmm1
	QUAD $0x0000014c976e0f66       // movd    xmm2, dword [rdi + 332]
	LONG $0xd2700f66; BYTE $0x00   // pshufd    xmm2, xmm2, 0
	LONG $0xd0ef0f66               // pxor    xmm2, xmm0
	LONG $0xd5fe0f66               // paddd    xmm2, xmm5
	LONG $0xc26f0f66               // movdqa    xmm0, xmm2
	LONG $0xd0720f66; BYTE $0x03   // psrld    xmm0, 3
	LONG $0xf2720f66; BYTE $0x1d   // pslld    xmm2, 29
	LONG $0xd0eb0f66               // por    xmm2, xmm0
	QUAD $0x00000140876e0f66       // movd    xmm0, dword [rdi + 320]
	LONG $0xe8700f66; BYTE $0x00   // pshufd    xmm5, xmm0, 0
	LONG $0xebef0f66               // pxor    xmm5, xmm3
	QUAD $0x00000144876e0f66       // movd    xmm0, dword [rdi + 324]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66               // pxor    xmm0, xmm1
	LONG $0xc5fe0f66               // paddd    xmm0, xmm5
	LONG $0xc86f0f66               // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x05   // psrld    xmm1, 5
	LONG $0xf0720f66; BYTE $0x1b   // pslld    xmm0, 27
	LONG $0xc1eb0f66               // por    xmm0, xmm1
	QUAD $0x000001388f6e0f66       // movd    xmm1, dword [rdi + 312]
	LONG $0xe9700f66; BYTE $0x00   // pshufd    xmm5, xmm1, 0
	LONG $0xecef0f66               // pxor    xmm5, xmm4
	QUAD $0x0000013c8f6e0f66       // movd    xmm1, dword [rdi + 316]
	LONG $0xc9700f66; BYTE $0x00   // pshufd    xmm1, xmm1, 0
	LONG $0xcbef0f66               // pxor    xmm1, xmm3
	LONG $0xcdfe0f66               // paddd    xmm1, xmm5
	LONG $0xd96f0f66               // movdqa    xmm3, xmm1
	LONG $0xd3720f66; BYTE $0x17   // psrld    xmm3, 23
	LONG $0xf1720f66; BYTE $0x09   // pslld    xmm1, 9
	LONG $0xcbeb0f66               // por    xmm1, xmm3
	QUAD $0x000001609f6e0f66       // movd    xmm3, dword [rdi + 352]
	LONG $0xeb700f66; BYTE $0x00   // pshufd    xmm5, xmm3, 0
	LONG $0xeaef0f66               // pxor    xmm5, xmm2
	QUAD $0x000001649f6e0f66       // movd    xmm3, dword [rdi + 356]
	LONG $0xdb700f66; BYTE $0x00   // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66               // pxor    xmm3, xmm4
	LONG $0xddfe0f66               // paddd    xmm3, xmm5
	LONG $0xe36f0f66               // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x03   // psrld    xmm4, 3
	LONG $0xf3720f66; BYTE $0x1d   // pslld    xmm3, 29
	LONG $0xdceb0f66               // por    xmm3, xmm4
	QUAD $0x00000158a76e0f66       // movd    xmm4, dword [rdi + 344]
	LONG $0xec700f66; BYTE $0x00   // pshufd    xmm5, xmm4, 0
	LONG $0xe8ef0f66               // pxor    xmm5, xmm0
	QUAD $0x0000015ca76e0f66       // movd    xmm4, dword [rdi + 348]
	LONG $0xe4700f66; BYTE $0x00   // pshufd    xmm4, xmm4, 0
	LONG $0xe2ef0f66               // pxor    xmm4, xmm2
	LONG $0xe5fe0f66               // paddd    xmm4, xmm5
	LONG $0xd46f0f66               // movdqa    xmm2, xmm4
	LONG $0xd2720f66; BYTE $0x05   // psrld    xmm2, 5
	LONG $0xf4720f66; BYTE $0x1b   // pslld    xmm4, 27
	LONG $0xe2eb0f66               // por    xmm4, xmm2
	QUAD $0x00000150976e0f66       // movd    xmm2, dword [rdi + 336]
	LONG $0xea700f66; BYTE $0x00   // pshufd    xmm5, xmm2, 0
	LONG $0xe9ef0f66               // pxor    xmm5, xmm1
	QUAD $0x00000154976e0f66       // movd    xmm2, dword [rdi + 340]
	LONG $0xd2700f66; BYTE $0x00   // pshufd    xmm2, xmm2, 0
	LONG $0xd0ef0f66               // pxor    xmm2, xmm0
	LONG $0xd5fe0f66               // paddd    xmm2, xmm5
	LONG $0xc26f0f66               // movdqa    xmm0, xmm2
	LONG $0xd0720f66; BYTE $0x17   // psrld    xmm0, 23
	LONG $0xf2720f66; BYTE $0x09   // pslld    xmm2, 9
	LONG $0xd0eb0f66               // por    xmm2, xmm0
	QUAD $0x00000178876e0f66       // movd    xmm0, dword [rdi + 376]
	LONG $0xe8700f66; BYTE $0x00   // pshufd    xmm5, xmm0, 0
	LONG $0xebef0f66               // pxor    xmm5, xmm3
	QUAD $0x0000017c876e0f66       // movd    xmm0, dword [rdi + 380]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66               // pxor    xmm0, xmm1
	LONG $0xc5fe0f66               // paddd    xmm0, xmm5
	LONG $0xc86f0f66               // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x03   // psrld    xmm1, 3
	LONG $0xf0720f66; BYTE $0x1d   // pslld    xmm0, 29
	LONG $0xc1eb0f66               // por    xmm0, xmm1
	QUAD $0x000001708f6e0f66       // movd    xmm1, dword [rdi + 368]
	LONG $0xe9700f66; BYTE $0x00   // pshufd    xmm5, xmm1, 0
	LONG $0xecef0f66               // pxor    xmm5, xmm4
	QUAD $0x000001748f6e0f66       // movd    xmm1, dword [rdi + 372]
	LONG $0xc9700f66; BYTE $0x00   // pshufd    xmm1, xmm1, 0
	LONG $0xcbef0f66               // pxor    xmm1, xmm3
	LONG $0xcdfe0f66               // paddd    xmm1, xmm5
	LONG $0xd96f0f66               // movdqa    xmm3, xmm1
	LONG $0xd3720f66; BYTE $0x05   // psrld    xmm3, 5
	LONG $0xf1720f66; BYTE $0x1b   // pslld    xmm1, 27
	LONG $0xcbeb0f66               // por    xmm1, xmm3
	QUAD $0x000001689f6e0f66       // movd    xmm3, dword [rdi + 360]
	LONG $0xeb700f66; BYTE $0x00   // pshufd    xmm5, xmm3, 0
	LONG $0xeaef0f66               // pxor    xmm5, xmm2
	QUAD $0x0000016c9f6e0f66       // movd    xmm3, dword [rdi + 364]
	LONG $0xdb700f66; BYTE $0x00   // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66               // pxor    xmm3, xmm4
	LONG $0xddfe0f66               // paddd    xmm3, xmm5
	LONG $0xe36f0f66               // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x17   // psrld    xmm4, 23
	LONG $0xf3720f66; BYTE $0x09   // pslld    xmm3, 9
	LONG $0xdceb0f66               // por    xmm3, xmm4
	QUAD $0x00000190a76e0f66       // movd    xmm4, dword [rdi + 400]
	LONG $0xec700f66; BYTE $0x00   // pshufd    xmm5, xmm4, 0
	LONG $0xe8ef0f66               // pxor    xmm5, xmm0
	QUAD $0x00000194a76e0f66       // movd    xmm4, dword [rdi + 404]
	LONG $0xe4700f66; BYTE $0x00   // pshufd    xmm4, xmm4, 0
	LONG $0xe2ef0f66               // pxor    xmm4, xmm2
	LONG $0xe5fe0f66               // paddd    xmm4, xmm5
	LONG $0xd46f0f66               // movdqa    xmm2, xmm4
	LONG $0xd2720f66; BYTE $0x03   // psrld    xmm2, 3
	LONG $0xf4720f66; BYTE $0x1d   // pslld    xmm4, 29
	LONG $0xe2eb0f66               // por    xmm4, xmm2
	QUAD $0x00000188976e0f66       // movd    xmm2, dword [rdi + 392]
	LONG $0xea700f66; BYTE $0x00   // pshufd    xmm5, xmm2, 0
	LONG $0xe9ef0f66               // pxor    xmm5, xmm1
	QUAD $0x0000018c976e0f66       // movd    xmm2, dword [rdi + 396]
	LONG $0xd2700f66; BYTE $0x00   // pshufd    xmm2, xmm2, 0
	LONG $0xd0ef0f66               // pxor    xmm2, xmm0
	LONG $0xd5fe0f66               // paddd    xmm2, xmm5
	LONG $0xc26f0f66               // movdqa    xmm0, xmm2
	LONG $0xd0720f66; BYTE $0x05   // psrld    xmm0, 5
	LONG $0xf2720f66; BYTE $0x1b   // pslld    xmm2, 27
	LONG $0xd0eb0f66               // por    xmm2, xmm0
	QUAD $0x00000180876e0f66       // movd    xmm0, dword [rdi + 384]
	LONG $0xe8700f66; BYTE $0x00   // pshufd    xmm5, xmm0, 0
	LONG $0xebef0f66               // pxor    xmm5, xmm3
	QUAD $0x00000184876e0f66       // movd    xmm0, dword [rdi + 388]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66               // pxor    xmm0, xmm1
	LONG $0xc5fe0f66               // paddd    xmm0, xmm5
	LONG $0xc86f0f66               // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x17   // psrld    xmm1, 23
	LONG $0xf0720f66; BYTE $0x09   // pslld    xmm0, 9
	LONG $0xc1eb0f66               // por    xmm0, xmm1
	QUAD $0x000001a88f6e0f66       // movd    xmm1, dword [rdi + 424]
	LONG $0xe9700f66; BYTE $0x00   // pshufd    xmm5, xmm1, 0
	LONG $0xecef0f66               // pxor    xmm5, xmm4
	QUAD $0x000001ac8f6e0f66       // movd    xmm1, dword [rdi + 428]
	LONG $0xc9700f66; BYTE $0x00   // pshufd    xmm1, xmm1, 0
	LONG $0xcbef0f66               // pxor    xmm1, xmm3
	LONG $0xcdfe0f66               // paddd    xmm1, xmm5
	LONG $0xd96f0f66               // movdqa    xmm3, xmm1
	LONG $0xd3720f66; BYTE $0x03   // psrld    xmm3, 3
	LONG $0xf1720f66; BYTE $0x1d   // pslld    xmm1, 29
	LONG $0xcbeb0f66               // por    xmm1, xmm3
	QUAD $0x000001a09f6e0f66       // movd    xmm3, dword [rdi + 416]
	LONG $0xeb700f66; BYTE $0x00   // pshufd    xmm5, xmm3, 0
	LONG $0xeaef0f66               // pxor    xmm5, xmm2
	QUAD $0x000001a49f6e0f66       // movd    xmm3, dword [rdi + 420]
	LONG $0xdb700f66; BYTE $0x00   // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66               // pxor    xmm3, xmm4
	LONG $0xddfe0f66               // paddd    xmm3, xmm5
	LONG $0xe36f0f66               // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x05   // psrld    xmm4, 5
	LONG $0xf3720f66; BYTE $0x1b   // pslld    xmm3, 27
	LONG $0xdceb0f66               // por    xmm3, xmm4
	QUAD $0x00000198a76e0f66       // movd    xmm4, dword [rdi + 408]
	LONG $0xec700f66; BYTE $0x00   // pshufd    xmm5, xmm4, 0
	LONG $0xe8ef0f66               // pxor    xmm5, xmm0
	QUAD $0x0000019ca76e0f66       // movd    xmm4, dword [rdi + 412]
	LONG $0xe4700f66; BYTE $0x00   // pshufd    xmm4, xmm4, 0
	LONG $0xe2ef0f66               // pxor    xmm4, xmm2
	LONG $0xe5fe0f66               // paddd    xmm4, xmm5
	LONG $0xd46f0f66               // movdqa    xmm2, xmm4
	LONG $0xd2720f66; BYTE $0x17   // psrld    xmm2, 23
	LONG $0xf4720f66; BYTE $0x09   // pslld    xmm4, 9
	LONG $0xe2eb0f66               // por    xmm4, xmm2
	QUAD $0x000001c0976e0f66       // movd    xmm2, dword [rdi + 448]
	LONG $0xea700f66; BYTE $0x00   // pshufd    xmm5, xmm2, 0
	LONG $0xe9ef0f66               // pxor    xmm5, xmm1
	QUAD $0x000001c4976e0f66       // movd    xmm2, dword [rdi + 452]
	LONG $0xd2700f66; BYTE $0x00   // pshufd    xmm2, xmm2, 0
	LONG $0xd0ef0f66               // pxor    xmm2, xmm0
	LONG $0xd5fe0f66               // paddd    xmm2, xmm5
	LONG $0xc26f0f66               // movdqa    xmm0, xmm2
	LONG $0xd0720f66; BYTE $0x03   // psrld    xmm0, 3
	LONG $0xf2720f66; BYTE $0x1d   // pslld    xmm2, 29
	LONG $0xd0eb0f66               // por    xmm2, xmm0
	QUAD $0x000001b8876e0f66       // movd    xmm0, dword [rdi + 440]
	LONG $0xe8700f66; BYTE $0x00   // pshufd    xmm5, xmm0, 0
	LONG $0xebef0f66               // pxor    xmm5, xmm3
	QUAD $0x000001bc876e0f66       // movd    xmm0, dword [rdi + 444]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66               // pxor    xmm0, xmm1
	LONG $0xc5fe0f66               // paddd    xmm0, xmm5
	LONG $0xc86f0f66               // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x05   // psrld    xmm1, 5
	LONG $0xf0720f66; BYTE $0x1b   // pslld    xmm0, 27
	LONG $0xc1eb0f66               // por    xmm0, xmm1
	QUAD $0x000001b08f6e0f66       // movd    xmm1, dword [rdi + 432]
	LONG $0xe9700f66; BYTE $0x00   // pshufd    xmm5, xmm1, 0
	LONG $0xecef0f66               // pxor    xmm5, xmm4
	QUAD $0x000001b48f6e0f66       // movd    xmm1, dword [rdi + 436]
	LONG $0xc9700f66; BYTE $0x00   // pshufd    xmm1, xmm1, 0
	LONG $0xcbef0f66               // pxor    xmm1, xmm3
	LONG $0xcdfe0f66               // paddd    xmm1, xmm5
	LONG $0xd96f0f66               // movdqa    xmm3, xmm1
	LONG $0xd3720f66; BYTE $0x17   // psrld    xmm3, 23
	LONG $0xf1720f66; BYTE $0x09   // pslld    xmm1, 9
	LONG $0xcbeb0f66               // por    xmm1, xmm3
	QUAD $0x000001d89f6e0f66       // movd    xmm3, dword [rdi + 472]
	LONG $0xeb700f66; BYTE $0x00   // pshufd    xmm5, xmm3, 0
	LONG $0xeaef0f66               // pxor    xmm5, xmm2
	QUAD $0x000001dc9f6e0f66       // movd    xmm3, dword [rdi + 476]
	LONG $0xdb700f66; BYTE $0x00   // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66               // pxor    xmm3, xmm4
	LONG $0xddfe0f66               // paddd    xmm3, xmm5
	LONG $0xe36f0f66               // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x03   // psrld    xmm4, 3
	LONG $0xf3720f66; BYTE $0x1d   // pslld    xmm3, 29
	LONG $0xdceb0f66               // por    xmm3, xmm4
	QUAD $0x000001d0a76e0f66       // movd    xmm4, dword [rdi + 464]
	LONG $0xec700f66; BYTE $0x00   // pshufd    xmm5, xmm4, 0
	LONG $0xe8ef0f66               // pxor    xmm5, xmm0
	QUAD $0x000001d4a76e0f66       // movd    xmm4, dword [rdi + 468]
	LONG $0xe4700f66; BYTE $0x00   // pshufd    xmm4, xmm4, 0
	LONG $0xe2ef0f66               // pxor    xmm4, xmm2
	LONG $0xe5fe0f66               // paddd    xmm4, xmm5
	LONG $0xd46f0f66               // movdqa    xmm2, xmm4
	LONG $0xd2720f66; BYTE $0x05   // psrld    xmm2, 5
	LONG $0xf4720f66; BYTE $0x1b   // pslld    xmm4, 27
	LONG $0xe2eb0f66               // por    xmm4, xmm2
	QUAD $0x000001c8976e0f66       // movd    xmm2, dword [rdi + 456]
	LONG $0xea700f66; BYTE $0x00   // pshufd    xmm5, xmm2, 0
	LONG $0xe9ef0f66               // pxor    xmm5, xmm1
	QUAD $0x000001cc976e0f66       // movd    xmm2, dword [rdi + 460]
	LONG $0xd2700f66; BYTE $0x00   // pshufd    xmm2, xmm2, 0
	LONG $0xd0ef0f66               // pxor    xmm2, xmm0
	LONG $0xd5fe0f66               // paddd    xmm2, xmm5
	LONG $0xc26f0f66               // movdqa    xmm0, xmm2
	LONG $0xd0720f66; BYTE $0x17   // psrld    xmm0, 23
	LONG $0xf2720f66; BYTE $0x09   // pslld    xmm2, 9
	LONG $0xd0eb0f66               // por    xmm2, xmm0
	QUAD $0x000001f0876e0f66       // movd    xmm0, dword [rdi + 496]
	LONG $0xe8700f66; BYTE $0x00   // pshufd    xmm5, xmm0, 0
	LONG $0xebef0f66               // pxor    xmm5, xmm3
	QUAD $0x000001f4876e0f66       // movd    xmm0, dword [rdi + 500]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66               // pxor    xmm0, xmm1
	LONG $0xc5fe0f66               // paddd    xmm0, xmm5
	LONG $0xc86f0f66               // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x03   // psrld    xmm1, 3
	LONG $0xf0720f66; BYTE $0x1d   // pslld    xmm0, 29
	LONG $0xc1eb0f66               // por    xmm0, xmm1
	QUAD $0x000001e88f6e0f66       // movd    xmm1, dword [rdi + 488]
	LONG $0xe9700f66; BYTE $0x00   // pshufd    xmm5, xmm1, 0
	LONG $0xecef0f66               // pxor    xmm5, xmm4
	QUAD $0x000001ec8f6e0f66       // movd    xmm1, dword [rdi + 492]
	LONG $0xc9700f66; BYTE $0x00   // pshufd    xmm1, xmm1, 0
	LONG $0xcbef0f66               // pxor    xmm1, xmm3
	LONG $0xcdfe0f66               // paddd    xmm1, xmm5
	LONG $0xd96f0f66               // movdqa    xmm3, xmm1
	LONG $0xd3720f66; BYTE $0x05   // psrld    xmm3, 5
	LONG $0xf1720f66; BYTE $0x1b   // pslld    xmm1, 27
	LONG $0xcbeb0f66               // por    xmm1, xmm3
	QUAD $0x000001e09f6e0f66       // movd    xmm3, dword [rdi + 480]
	LONG $0xeb700f66; BYTE $0x00   // pshufd    xmm5, xmm3, 0
	LONG $0xeaef0f66               // pxor    xmm5, xmm2
	QUAD $0x000001e49f6e0f66       // movd    xmm3, dword [rdi + 484]
	LONG $0xdb700f66; BYTE $0x00   // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66               // pxor    xmm3, xmm4
	LONG $0xddfe0f66               // paddd    xmm3, xmm5
	LONG $0xe36f0f66               // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x17   // psrld    xmm4, 23
	LONG $0xf3720f66; BYTE $0x09   // pslld    xmm3, 9
	LONG $0xdceb0f66               // por    xmm3, xmm4
	QUAD $0x00000208a76e0f66       // movd    xmm4, dword [rdi + 520]
	LONG $0xec700f66; BYTE $0x00   // pshufd    xmm5, xmm4, 0
	LONG $0xe8ef0f66               // pxor    xmm5, xmm0
	QUAD $0x0000020ca76e0f66       // movd    xmm4, dword [rdi + 524]
	LONG $0xe4700f66; BYTE $0x00   // pshufd    xmm4, xmm4, 0
	LONG $0xe2ef0f66               // pxor    xmm4, xmm2
	LONG $0xe5fe0f66               // paddd    xmm4, xmm5
	LONG $0xd46f0f66               // movdqa    xmm2, xmm4
	LONG $0xd2720f66; BYTE $0x03   // psrld    xmm2, 3
	LONG $0xf4720f66; BYTE $0x1d   // pslld    xmm4, 29
	LONG $0xe2eb0f66               // por    xmm4, xmm2
	QUAD $0x00000200976e0f66       // movd    xmm2, dword [rdi + 512]
	LONG $0xea700f66; BYTE $0x00   // pshufd    xmm5, xmm2, 0
	LONG $0xe9ef0f66               // pxor    xmm5, xmm1
	QUAD $0x00000204976e0f66       // movd    xmm2, dword [rdi + 516]
	LONG $0xd2700f66; BYTE $0x00   // pshufd    xmm2, xmm2, 0
	LONG $0xd0ef0f66               // pxor    xmm2, xmm0
	LONG $0xd5fe0f66               // paddd    xmm2, xmm5
	LONG $0xc26f0f66               // movdqa    xmm0, xmm2
	LONG $0xd0720f66; BYTE $0x05   // psrld    xmm0, 5
	LONG $0xf2720f66; BYTE $0x1b   // pslld    xmm2, 27
	LONG $0xd0eb0f66               // por    xmm2, xmm0
	QUAD $0x000001f8876e0f66       // movd    xmm0, dword [rdi + 504]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc3ef0f66               // pxor    xmm0, xmm3
	QUAD $0x000001fcaf6e0f66       // movd    xmm5, dword [rdi + 508]
	LONG $0xed700f66; BYTE $0x00   // pshufd    xmm5, xmm5, 0
	LONG $0xe9ef0f66               // pxor    xmm5, xmm1
	LONG $0xe8fe0f66               // paddd    xmm5, xmm0
	LONG $0xc56f0f66               // movdqa    xmm0, xmm5
	LONG $0xd0720f66; BYTE $0x17   // psrld    xmm0, 23
	LONG $0xf5720f66; BYTE $0x09   // pslld    xmm5, 9
	LONG $0xe8eb0f66               // por    xmm5, xmm0
	QUAD $0x00000220876e0f66       // movd    xmm0, dword [rdi + 544]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc4ef0f66               // pxor    xmm0, xmm4
	QUAD $0x000002248f6e0f66       // movd    xmm1, dword [rdi + 548]
	LONG $0xf1700f66; BYTE $0x00   // pshufd    xmm6, xmm1, 0
	LONG $0xf3ef0f66               // pxor    xmm6, xmm3
	LONG $0xf0fe0f66               // paddd    xmm6, xmm0
	LONG $0xc66f0f66               // movdqa    xmm0, xmm6
	LONG $0xd0720f66; BYTE $0x03   // psrld    xmm0, 3
	LONG $0xf6720f66; BYTE $0x1d   // pslld    xmm6, 29
	LONG $0xf0eb0f66               // por    xmm6, xmm0
	QUAD $0x00000218876e0f66       // movd    xmm0, dword [rdi + 536]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc2ef0f66               // pxor    xmm0, xmm2
	QUAD $0x0000021c8f6e0f66       // movd    xmm1, dword [rdi + 540]
	LONG $0xf9700f66; BYTE $0x00   // pshufd    xmm7, xmm1, 0
	LONG $0xfcef0f66               // pxor    xmm7, xmm4
	LONG $0xf8fe0f66               // paddd    xmm7, xmm0
	LONG $0xc76f0f66               // movdqa    xmm0, xmm7
	LONG $0xd0720f66; BYTE $0x05   // psrld    xmm0, 5
	LONG $0xf7720f66; BYTE $0x1b   // pslld    xmm7, 27
	LONG $0xf8eb0f66               // por    xmm7, xmm0
	QUAD $0x00000210876e0f66       // movd    xmm0, dword [rdi + 528]
	LONG $0xc8700f66; BYTE $0x00   // pshufd    xmm1, xmm0, 0
	LONG $0xcdef0f66               // pxor    xmm1, xmm5
	QUAD $0x00000214876e0f66       // movd    xmm0, dword [rdi + 532]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc2ef0f66               // pxor    xmm0, xmm2
	LONG $0xc1fe0f66               // paddd    xmm0, xmm1
	LONG $0xc86f0f66               // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x17   // psrld    xmm1, 23
	LONG $0xf0720f66; BYTE $0x09   // pslld    xmm0, 9
	LONG $0xc1eb0f66               // por    xmm0, xmm1
	QUAD $0x000002388f6e0f66       // movd    xmm1, dword [rdi + 568]
	LONG $0xd1700f66; BYTE $0x00   // pshufd    xmm2, xmm1, 0
	LONG $0xd6ef0f66               // pxor    xmm2, xmm6
	QUAD $0x0000023c8f6e0f66       // movd    xmm1, dword [rdi + 572]
	LONG $0xc9700f66; BYTE $0x00   // pshufd    xmm1, xmm1, 0
	LONG $0xcdef0f66               // pxor    xmm1, xmm5
	LONG $0xcafe0f66               // paddd    xmm1, xmm2
	LONG $0xd16f0f66               // movdqa    xmm2, xmm1
	LONG $0xd2720f66; BYTE $0x03   // psrld    xmm2, 3
	LONG $0xf1720f66; BYTE $0x1d   // pslld    xmm1, 29
	LONG $0xcaeb0f66               // por    xmm1, xmm2
	QUAD $0x00000230976e0f66       // movd    xmm2, dword [rdi + 560]
	LONG $0xda700f66; BYTE $0x00   // pshufd    xmm3, xmm2, 0
	LONG $0xdfef0f66               // pxor    xmm3, xmm7
	QUAD $0x00000234976e0f66       // movd    xmm2, dword [rdi + 564]
	LONG $0xd2700f66; BYTE $0x00   // pshufd    xmm2, xmm2, 0
	LONG $0xd6ef0f66               // pxor    xmm2, xmm6
	LONG $0xd3fe0f66               // paddd    xmm2, xmm3
	LONG $0xda6f0f66               // movdqa    xmm3, xmm2
	LONG $0xd3720f66; BYTE $0x05   // psrld    xmm3, 5
	LONG $0xf2720f66; BYTE $0x1b   // pslld    xmm2, 27
	LONG $0xd3eb0f66               // por    xmm2, xmm3
	QUAD $0x000002289f6e0f66       // movd    xmm3, dword [rdi + 552]
	LONG $0xe3700f66; BYTE $0x00   // pshufd    xmm4, xmm3, 0
	LONG $0xe0ef0f66               // pxor    xmm4, xmm0
	QUAD $0x0000022c9f6e0f66       // movd    xmm3, dword [rdi + 556]
	LONG $0xdb700f66; BYTE $0x00   // pshufd    xmm3, xmm3, 0
	LONG $0xdfef0f66               // pxor    xmm3, xmm7
	LONG $0xdcfe0f66               // paddd    xmm3, xmm4
	LONG $0xe36f0f66               // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x17   // psrld    xmm4, 23
	LONG $0xf3720f66; BYTE $0x09   // pslld    xmm3, 9
	LONG $0xdceb0f66               // por    xmm3, xmm4
	LONG $0x0300878b; WORD $0x0000 // mov    eax, dword [rdi + 768]
	WORD $0xf883; BYTE $0x19       // cmp    eax, 25
	JB   LBB0_3
	QUAD $0x00000250a76e0f66       // movd    xmm4, dword [rdi + 592]
	LONG $0xec700f66; BYTE $0x00   // pshufd    xmm5, xmm4, 0
	LONG $0xe9ef0f66               // pxor    xmm5, xmm1
	QUAD $0x00000254a76e0f66       // movd    xmm4, dword [rdi + 596]
	LONG $0xe4700f66; BYTE $0x00   // pshufd    xmm4, xmm4, 0
	LONG $0xe0ef0f66               // pxor    xmm4, xmm0
	LONG $0xe5fe0f66               // paddd    xmm4, xmm5
	LONG $0xc46f0f66               // movdqa    xmm0, xmm4
	LONG $0xd0720f66; BYTE $0x03   // psrld    xmm0, 3
	LONG $0xf4720f66; BYTE $0x1d   // pslld    xmm4, 29
	LONG $0xe0eb0f66               // por    xmm4, xmm0
	QUAD $0x00000248876e0f66       // movd    xmm0, dword [rdi + 584]
	LONG $0xe8700f66; BYTE $0x00   // pshufd    xmm5, xmm0, 0
	LONG $0xeaef0f66               // pxor    xmm5, xmm2
	QUAD $0x0000024c876e0f66       // movd    xmm0, dword [rdi + 588]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66               // pxor    xmm0, xmm1
	LONG $0xc5fe0f66               // paddd    xmm0, xmm5
	LONG $0xc86f0f66               // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x05   // psrld    xmm1, 5
	LONG $0xf0720f66; BYTE $0x1b   // pslld    xmm0, 27
	LONG $0xc1eb0f66               // por    xmm0, xmm1
	QUAD $0x000002408f6e0f66       // movd    xmm1, dword [rdi + 576]
	LONG $0xe9700f66; BYTE $0x00   // pshufd    xmm5, xmm1, 0
	LONG $0xebef0f66               // pxor    xmm5, xmm3
	QUAD $0x000002448f6e0f66       // movd    xmm1, dword [rdi + 580]
	LONG $0xc9700f66; BYTE $0x00   // pshufd    xmm1, xmm1, 0
	LONG $0xcaef0f66               // pxor    xmm1, xmm2
	LONG $0xcdfe0f66               // paddd    xmm1, xmm5
	LONG $0xd16f0f66               // movdqa    xmm2, xmm1
	LONG $0xd2720f66; BYTE $0x17   // psrld    xmm2, 23
	LONG $0xf1720f66; BYTE $0x09   // pslld    xmm1, 9
	LONG $0xcaeb0f66               // por    xmm1, xmm2
	QUAD $0x00000268976e0f66       // movd    xmm2, dword [rdi + 616]
	LONG $0xea700f66; BYTE $0x00   // pshufd    xmm5, xmm2, 0
	LONG $0xecef0f66               // pxor    xmm5, xmm4
	QUAD $0x0000026c976e0f66       // movd    xmm2, dword [rdi + 620]
	LONG $0xd2700f66; BYTE $0x00   // pshufd    xmm2, xmm2, 0
	LONG $0xd3ef0f66               // pxor    xmm2, xmm3
	LONG $0xd5fe0f66               // paddd    xmm2, xmm5
	LONG $0xda6f0f66               // movdqa    xmm3, xmm2
	LONG $0xd3720f66; BYTE $0x03   // psrld    xmm3, 3
	LONG $0xf2720f66; BYTE $0x1d   // pslld    xmm2, 29
	LONG $0xd3eb0f66               // por    xmm2, xmm3
	QUAD $0x000002609f6e0f66       // movd    xmm3, dword [rdi + 608]
	LONG $0xeb700f66; BYTE $0x00   // pshufd    xmm5, xmm3, 0
	LONG $0xe8ef0f66               // pxor    xmm5, xmm0
	QUAD $0x000002649f6e0f66       // movd    xmm3, dword [rdi + 612]
	LONG $0xdb700f66; BYTE $0x00   // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66               // pxor    xmm3, xmm4
	LONG $0xddfe0f66               // paddd    xmm3, xmm5
	LONG $0xe36f0f66               // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x05   // psrld    xmm4, 5
	LONG $0xf3720f66; BYTE $0x1b   // pslld    xmm3, 27
	LONG $0xdceb0f66               // por    xmm3, xmm4
	QUAD $0x00000258a76e0f66       // movd    xmm4, dword [rdi + 600]
	LONG $0xec700f66; BYTE $0x00   // pshufd    xmm5, xmm4, 0
	LONG $0xe9ef0f66               // pxor    xmm5, xmm1
	QUAD $0x0000025ca76e0f66       // movd    xmm4, dword [rdi + 604]
	LONG $0xe4700f66; BYTE $0x00   // pshufd    xmm4, xmm4, 0
	LONG $0xe0ef0f66               // pxor    xmm4, xmm0
	LONG $0xe5fe0f66               // paddd    xmm4, xmm5
	LONG $0xc46f0f66               // movdqa    xmm0, xmm4
	LONG $0xd0720f66; BYTE $0x17   // psrld    xmm0, 23
	LONG $0xf4720f66; BYTE $0x09   // pslld    xmm4, 9
	LONG $0xe0eb0f66               // por    xmm4, xmm0
	QUAD $0x00000280876e0f66       // movd    xmm0, dword [rdi + 640]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc2ef0f66               // pxor    xmm0, xmm2
	QUAD $0x00000284af6e0f66       // movd    xmm5, dword [rdi + 644]
	LONG $0xed700f66; BYTE $0x00   // pshufd    xmm5, xmm5, 0
	LONG $0xe9ef0f66               // pxor    xmm5, xmm1
	LONG $0xe8fe0f66               // paddd    xmm5, xmm0
	LONG $0xc56f0f66               // movdqa    xmm0, xmm5
	LONG $0xd0720f66; BYTE $0x03   // psrld    xmm0, 3
	LONG $0xf5720f66; BYTE $0x1d   // pslld    xmm5, 29
	LONG $0xe8eb0f66               // por    xmm5, xmm0
	QUAD $0x00000278876e0f66       // movd    xmm0, dword [rdi + 632]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc3ef0f66               // pxor    xmm0, xmm3
	QUAD $0x0000027c8f6e0f66       // movd    xmm1, dword [rdi + 636]
	LONG $0xf1700f66; BYTE $0x00   // pshufd    xmm6, xmm1, 0
	LONG $0xf2ef0f66               // pxor    xmm6, xmm2
	LONG $0xf0fe0f66               // paddd    xmm6, xmm0
	LONG $0xc66f0f66               // movdqa    xmm0, xmm6
	LONG $0xd0720f66; BYTE $0x05   // psrld    xmm0, 5
	LONG $0xf6720f66; BYTE $0x1b   // pslld    xmm6, 27
	LONG $0xf0eb0f66               // por    xmm6, xmm0
	QUAD $0x00000270876e0f66       // movd    xmm0, dword [rdi + 624]
	LONG $0xc8700f66; BYTE $0x00   // pshufd    xmm1, xmm0, 0
	LONG $0xccef0f66               // pxor    xmm1, xmm4
	QUAD $0x00000274876e0f66       // movd    xmm0, dword [rdi + 628]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc3ef0f66               // pxor    xmm0, xmm3
	LONG $0xc1fe0f66               // paddd    xmm0, xmm1
	LONG $0xc86f0f66               // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x17   // psrld    xmm1, 23
	LONG $0xf0720f66; BYTE $0x09   // pslld    xmm0, 9
	LONG $0xc1eb0f66               // por    xmm0, xmm1
	QUAD $0x000002988f6e0f66       // movd    xmm1, dword [rdi + 664]
	LONG $0xd1700f66; BYTE $0x00   // pshufd    xmm2, xmm1, 0
	LONG $0xd5ef0f66               // pxor    xmm2, xmm5
	QUAD $0x0000029c8f6e0f66       // movd    xmm1, dword [rdi + 668]
	LONG $0xc9700f66; BYTE $0x00   // pshufd    xmm1, xmm1, 0
	LONG $0xccef0f66               // pxor    xmm1, xmm4
	LONG $0xcafe0f66               // paddd    xmm1, xmm2
	LONG $0xd16f0f66               // movdqa    xmm2, xmm1
	LONG $0xd2720f66; BYTE $0x03   // psrld    xmm2, 3
	LONG $0xf1720f66; BYTE $0x1d   // pslld    xmm1, 29
	LONG $0xcaeb0f66               // por    xmm1, xmm2
	QUAD $0x00000290976e0f66       // movd    xmm2, dword [rdi + 656]
	LONG $0xda700f66; BYTE $0x00   // pshufd    xmm3, xmm2, 0
	LONG $0xdeef0f66               // pxor    xmm3, xmm6
	QUAD $0x00000294976e0f66       // movd    xmm2, dword [rdi + 660]
	LONG $0xd2700f66; BYTE $0x00   // pshufd    xmm2, xmm2, 0
	LONG $0xd5ef0f66               // pxor    xmm2, xmm5
	LONG $0xd3fe0f66               // paddd    xmm2, xmm3
	LONG $0xda6f0f66               // movdqa    xmm3, xmm2
	LONG $0xd3720f66; BYTE $0x05   // psrld    xmm3, 5
	LONG $0xf2720f66; BYTE $0x1b   // pslld    xmm2, 27
	LONG $0xd3eb0f66               // por    xmm2, xmm3
	QUAD $0x000002889f6e0f66       // movd    xmm3, dword [rdi + 648]
	LONG $0xe3700f66; BYTE $0x00   // pshufd    xmm4, xmm3, 0
	LONG $0xe0ef0f66               // pxor    xmm4, xmm0
	QUAD $0x0000028c9f6e0f66       // movd    xmm3, dword [rdi + 652]
	LONG $0xdb700f66; BYTE $0x00   // pshufd    xmm3, xmm3, 0
	LONG $0xdeef0f66               // pxor    xmm3, xmm6
	LONG $0xdcfe0f66               // paddd    xmm3, xmm4
	LONG $0xe36f0f66               // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x17   // psrld    xmm4, 23
	LONG $0xf3720f66; BYTE $0x09   // pslld    xmm3, 9
	LONG $0xdceb0f66               // por    xmm3, xmm4
	WORD $0xf883; BYTE $0x1d       // cmp    eax, 29
	JB   LBB0_3
	QUAD $0x000002b0a76e0f66       // movd    xmm4, dword [rdi + 688]
	LONG $0xec700f66; BYTE $0x00   // pshufd    xmm5, xmm4, 0
	LONG $0xe9ef0f66               // pxor    xmm5, xmm1
	QUAD $0x000002b4a76e0f66       // movd    xmm4, dword [rdi + 692]
	LONG $0xe4700f66; BYTE $0x00   // pshufd    xmm4, xmm4, 0
	LONG $0xe0ef0f66               // pxor    xmm4, xmm0
	LONG $0xe5fe0f66               // paddd    xmm4, xmm5
	LONG $0xc46f0f66               // movdqa    xmm0, xmm4
	LONG $0xd0720f66; BYTE $0x03   // psrld    xmm0, 3
	LONG $0xf4720f66; BYTE $0x1d   // pslld    xmm4, 29
	LONG $0xe0eb0f66               // por    xmm4, xmm0
	QUAD $0x000002a8876e0f66       // movd    xmm0, dword [rdi + 680]
	LONG $0xe8700f66; BYTE $0x00   // pshufd    xmm5, xmm0, 0
	LONG $0xeaef0f66               // pxor    xmm5, xmm2
	QUAD $0x000002ac876e0f66       // movd    xmm0, dword [rdi + 684]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66               // pxor    xmm0, xmm1
	LONG $0xc5fe0f66               // paddd    xmm0, xmm5
	LONG $0xc86f0f66               // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x05   // psrld    xmm1, 5
	LONG $0xf0720f66; BYTE $0x1b   // pslld    xmm0, 27
	LONG $0xc1eb0f66               // por    xmm0, xmm1
	QUAD $0x000002a08f6e0f66       // movd    xmm1, dword [rdi + 672]
	LONG $0xe9700f66; BYTE $0x00   // pshufd    xmm5, xmm1, 0
	LONG $0xebef0f66               // pxor    xmm5, xmm3
	QUAD $0x000002a48f6e0f66       // movd    xmm1, dword [rdi + 676]
	LONG $0xc9700f66; BYTE $0x00   // pshufd    xmm1, xmm1, 0
	LONG $0xcaef0f66               // pxor    xmm1, xmm2
	LONG $0xcdfe0f66               // paddd    xmm1, xmm5
	LONG $0xd16f0f66               // movdqa    xmm2, xmm1
	LONG $0xd2720f66; BYTE $0x17   // psrld    xmm2, 23
	LONG $0xf1720f66; BYTE $0x09   // pslld    xmm1, 9
	LONG $0xcaeb0f66               // por    xmm1, xmm2
	QUAD $0x000002c8976e0f66       // movd    xmm2, dword [rdi + 712]
	LONG $0xea700f66; BYTE $0x00   // pshufd    xmm5, xmm2, 0
	LONG $0xecef0f66               // pxor    xmm5, xmm4
	QUAD $0x000002cc976e0f66       // movd    xmm2, dword [rdi + 716]
	LONG $0xd2700f66; BYTE $0x00   // pshufd    xmm2, xmm2, 0
	LONG $0xd3ef0f66               // pxor    xmm2, xmm3
	LONG $0xd5fe0f66               // paddd    xmm2, xmm5
	LONG $0xda6f0f66               // movdqa    xmm3, xmm2
	LONG $0xd3720f66; BYTE $0x03   // psrld    xmm3, 3
	LONG $0xf2720f66; BYTE $0x1d   // pslld    xmm2, 29
	LONG $0xd3eb0f66               // por    xmm2, xmm3
	QUAD $0x000002c09f6e0f66       // movd    xmm3, dword [rdi + 704]
	LONG $0xeb700f66; BYTE $0x00   // pshufd    xmm5, xmm3, 0
	LONG $0xe8ef0f66               // pxor    xmm5, xmm0
	QUAD $0x000002c49f6e0f66       // movd    xmm3, dword [rdi + 708]
	LONG $0xdb700f66; BYTE $0x00   // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66               // pxor    xmm3, xmm4
	LONG $0xddfe0f66               // paddd    xmm3, xmm5
	LONG $0xe36f0f66               // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x05   // psrld    xmm4, 5
	LONG $0xf3720f66; BYTE $0x1b   // pslld    xmm3, 27
	LONG $0xdceb0f66               // por    xmm3, xmm4
	QUAD $0x000002b8a76e0f66       // movd    xmm4, dword [rdi + 696]
	LONG $0xec700f66; BYTE $0x00   // pshufd    xmm5, xmm4, 0
	LONG $0xe9ef0f66               // pxor    xmm5, xmm1
	QUAD $0x000002bca76e0f66       // movd    xmm4, dword [rdi + 700]
	LONG $0xe4700f66; BYTE $0x00   // pshufd    xmm4, xmm4, 0
	LONG $0xe0ef0f66               // pxor    xmm4, xmm0
	LONG $0xe5fe0f66               // paddd    xmm4, xmm5
	LONG $0xc46f0f66               // movdqa    xmm0, xmm4
	LONG $0xd0720f66; BYTE $0x17   // psrld    xmm0, 23
	LONG $0xf4720f66; BYTE $0x09   // pslld    xmm4, 9
	LONG $0xe0eb0f66               // por    xmm4, xmm0
	QUAD $0x000002e0876e0f66       // movd    xmm0, dword [rdi + 736]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc2ef0f66               // pxor    xmm0, xmm2
	QUAD $0x000002e4af6e0f66       // movd    xmm5, dword [rdi + 740]
	LONG $0xed700f66; BYTE $0x00   // pshufd    xmm5, xmm5, 0
	LONG $0xe9ef0f66               // pxor    xmm5, xmm1
	LONG $0xe8fe0f66               // paddd    xmm5, xmm0
	LONG $0xc56f0f66               // movdqa    xmm0, xmm5
	LONG $0xd0720f66; BYTE $0x03   // psrld    xmm0, 3
	LONG $0xf5720f66; BYTE $0x1d   // pslld    xmm5, 29
	LONG $0xe8eb0f66               // por    xmm5, xmm0
	QUAD $0x000002d8876e0f66       // movd    xmm0, dword [rdi + 728]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc3ef0f66               // pxor    xmm0, xmm3
	QUAD $0x000002dc8f6e0f66       // movd    xmm1, dword [rdi + 732]
	LONG $0xf1700f66; BYTE $0x00   // pshufd    xmm6, xmm1, 0
	LONG $0xf2ef0f66               // pxor    xmm6, xmm2
	LONG $0xf0fe0f66               // paddd    xmm6, xmm0
	LONG $0xc66f0f66               // movdqa    xmm0, xmm6
	LONG $0xd0720f66; BYTE $0x05   // psrld    xmm0, 5
	LONG $0xf6720f66; BYTE $0x1b   // pslld    xmm6, 27
	LONG $0xf0eb0f66               // por    xmm6, xmm0
	QUAD $0x000002d0876e0f66       // movd    xmm0, dword [rdi + 720]
	LONG $0xc8700f66; BYTE $0x00   // pshufd    xmm1, xmm0, 0
	LONG $0xccef0f66               // pxor    xmm1, xmm4
	QUAD $0x000002d4876e0f66       // movd    xmm0, dword [rdi + 724]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc3ef0f66               // pxor    xmm0, xmm3
	LONG $0xc1fe0f66               // paddd    xmm0, xmm1
	LONG $0xc86f0f66               // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x17   // psrld    xmm1, 23
	LONG $0xf0720f66; BYTE $0x09   // pslld    xmm0, 9
	LONG $0xc1eb0f66               // por    xmm0, xmm1
	QUAD $0x000002f88f6e0f66       // movd    xmm1, dword [rdi + 760]
	LONG $0xd1700f66; BYTE $0x00   // pshufd    xmm2, xmm1, 0
	LONG $0xd5ef0f66               // pxor    xmm2, xmm5
	QUAD $0x000002fc8f6e0f66       // movd    xmm1, dword [rdi + 764]
	LONG $0xc9700f66; BYTE $0x00   // pshufd    xmm1, xmm1, 0
	LONG $0xccef0f66               // pxor    xmm1, xmm4
	LONG $0xcafe0f66               // paddd    xmm1, xmm2
	LONG $0xd16f0f66               // movdqa    xmm2, xmm1
	LONG $0xd2720f66; BYTE $0x03   // psrld    xmm2, 3
	LONG $0xf1720f66; BYTE $0x1d   // pslld    xmm1, 29
	LONG $0xcaeb0f66               // por    xmm1, xmm2
	QUAD $0x000002f0976e0f66       // movd    xmm2, dword [rdi + 752]
	LONG $0xda700f66; BYTE $0x00   // pshufd    xmm3, xmm2, 0
	LONG $0xdeef0f66               // pxor    xmm3, xmm6
	QUAD $0x000002f4976e0f66       // movd    xmm2, dword [rdi + 756]
	LONG $0xd2700f66; BYTE $0x00   // pshufd    xmm2, xmm2, 0
	LONG $0xd5ef0f66               // pxor    xmm2, xmm5
	LONG $0xd3fe0f66               // paddd    xmm2, xmm3
	LONG $0xda6f0f66               // movdqa    xmm3, xmm2
	LONG $0xd3720f66; BYTE $0x05   // psrld    xmm3, 5
	LONG $0xf2720f66; BYTE $0x1b   // pslld    xmm2, 27
	LONG $0xd3eb0f66               // por    xmm2, xmm3
	QUAD $0x000002e89f6e0f66       // movd    xmm3, dword [rdi + 744]
	LONG $0xe3700f66; BYTE $0x00   // pshufd    xmm4, xmm3, 0
	LONG $0xe0ef0f66               // pxor    xmm4, xmm0
	QUAD $0x000002ec9f6e0f66       // movd    xmm3, dword [rdi + 748]
	LONG $0xdb700f66; BYTE $0x00   // pshufd    xmm3, xmm3, 0
	LONG $0xdeef0f66               // pxor    xmm3, xmm6
	LONG $0xdcfe0f66               // paddd    xmm3, xmm4
	LONG $0xe36f0f66               // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x17   // psrld    xmm4, 23
	LONG $0xf3720f66; BYTE $0x09   // pslld    xmm3, 9
	LONG $0xdceb0f66               // por    xmm3, xmm4

LBB0_3:
	LONG $0xe36f0f66             // movdqa    xmm4, xmm3
	LONG $0xe2620f66             // punpckldq    xmm4, xmm2
	LONG $0xe96f0f66             // movdqa    xmm5, xmm1
	LONG $0xe8620f66             // punpckldq    xmm5, xmm0
	LONG $0xda6a0f66             // punpckhdq    xmm3, xmm2
	LONG $0xc86a0f66             // punpckhdq    xmm1, xmm0
	LONG $0xc46f0f66             // movdqa    xmm0, xmm4
	LONG $0xc56c0f66             // punpcklqdq    xmm0, xmm5
	LONG $0xe56d0f66             // punpckhqdq    xmm4, xmm5
	LONG $0xd36f0f66             // movdqa    xmm2, xmm3
	LONG $0xd16c0f66             // punpcklqdq    xmm2, xmm1
	LONG $0xd96d0f66             // punpckhqdq    xmm3, xmm1
	LONG $0x067f0ff3             // movdqu    oword [rsi], xmm0
	LONG $0x667f0ff3; BYTE $0x10 // movdqu    oword [rsi + 16], xmm4
	LONG $0x567f0ff3; BYTE $0x20 // movdqu    oword [rsi + 32], xmm2
	LONG $0x5e7f0ff3; BYTE $0x30 // movdqu    oword [rsi + 48], xmm3
	RET

TEXT ·__lea_decrypt_4block(SB), NOSPLIT, $24
	MOVQ ctx+0(FP), DI
	MOVQ dst+8(FP), SI
	MOVQ src+16(FP), DX

	LONG $0x026f0ff3               // movdqu    xmm0, oword [rdx]
	LONG $0x4a6f0ff3; BYTE $0x10   // movdqu    xmm1, oword [rdx + 16]
	LONG $0x626f0ff3; BYTE $0x20   // movdqu    xmm4, oword [rdx + 32]
	LONG $0x5a6f0ff3; BYTE $0x30   // movdqu    xmm3, oword [rdx + 48]
	LONG $0xd06f0f66               // movdqa    xmm2, xmm0
	LONG $0xd1620f66               // punpckldq    xmm2, xmm1
	LONG $0xec6f0f66               // movdqa    xmm5, xmm4
	LONG $0xeb620f66               // punpckldq    xmm5, xmm3
	LONG $0xc16a0f66               // punpckhdq    xmm0, xmm1
	LONG $0xe36a0f66               // punpckhdq    xmm4, xmm3
	LONG $0xda6f0f66               // movdqa    xmm3, xmm2
	LONG $0xdd6c0f66               // punpcklqdq    xmm3, xmm5
	LONG $0xd56d0f66               // punpckhqdq    xmm2, xmm5
	LONG $0xc86f0f66               // movdqa    xmm1, xmm0
	LONG $0xcc6c0f66               // punpcklqdq    xmm1, xmm4
	LONG $0xc46d0f66               // punpckhqdq    xmm0, xmm4
	LONG $0x0300878b; WORD $0x0000 // mov    eax, dword [rdi + 768]
	WORD $0xf883; BYTE $0x1d       // cmp    eax, 29
	JB   LBB1_2
	LONG $0xe36f0f66               // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x09   // psrld    xmm4, 9
	LONG $0xf3720f66; BYTE $0x17   // pslld    xmm3, 23
	LONG $0xdceb0f66               // por    xmm3, xmm4
	QUAD $0x000002e8a76e0f66       // movd    xmm4, dword [rdi + 744]
	LONG $0xe4700f66; BYTE $0x00   // pshufd    xmm4, xmm4, 0
	LONG $0xe0ef0f66               // pxor    xmm4, xmm0
	LONG $0xdcfa0f66               // psubd    xmm3, xmm4
	QUAD $0x000002eca76e0f66       // movd    xmm4, dword [rdi + 748]
	LONG $0xe4700f66; BYTE $0x00   // pshufd    xmm4, xmm4, 0
	LONG $0xe3ef0f66               // pxor    xmm4, xmm3
	LONG $0xda6f0f66               // movdqa    xmm3, xmm2
	LONG $0xd3720f66; BYTE $0x1b   // psrld    xmm3, 27
	LONG $0xf2720f66; BYTE $0x05   // pslld    xmm2, 5
	LONG $0xd3eb0f66               // por    xmm2, xmm3
	QUAD $0x000002f09f6e0f66       // movd    xmm3, dword [rdi + 752]
	LONG $0xdb700f66; BYTE $0x00   // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66               // pxor    xmm3, xmm4
	LONG $0xd3fa0f66               // psubd    xmm2, xmm3
	QUAD $0x000002f49f6e0f66       // movd    xmm3, dword [rdi + 756]
	LONG $0xdb700f66; BYTE $0x00   // pshufd    xmm3, xmm3, 0
	LONG $0xdaef0f66               // pxor    xmm3, xmm2
	LONG $0xd16f0f66               // movdqa    xmm2, xmm1
	LONG $0xd2720f66; BYTE $0x1d   // psrld    xmm2, 29
	LONG $0xf1720f66; BYTE $0x03   // pslld    xmm1, 3
	LONG $0xcaeb0f66               // por    xmm1, xmm2
	QUAD $0x000002f8976e0f66       // movd    xmm2, dword [rdi + 760]
	LONG $0xd2700f66; BYTE $0x00   // pshufd    xmm2, xmm2, 0
	LONG $0xd3ef0f66               // pxor    xmm2, xmm3
	LONG $0xcafa0f66               // psubd    xmm1, xmm2
	QUAD $0x000002fc976e0f66       // movd    xmm2, dword [rdi + 764]
	LONG $0xd2700f66; BYTE $0x00   // pshufd    xmm2, xmm2, 0
	LONG $0xd1ef0f66               // pxor    xmm2, xmm1
	LONG $0xc86f0f66               // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x09   // psrld    xmm1, 9
	LONG $0xf0720f66; BYTE $0x17   // pslld    xmm0, 23
	LONG $0xc1eb0f66               // por    xmm0, xmm1
	QUAD $0x000002d08f6e0f66       // movd    xmm1, dword [rdi + 720]
	LONG $0xc9700f66; BYTE $0x00   // pshufd    xmm1, xmm1, 0
	LONG $0xcaef0f66               // pxor    xmm1, xmm2
	LONG $0xc1fa0f66               // psubd    xmm0, xmm1
	QUAD $0x000002d48f6e0f66       // movd    xmm1, dword [rdi + 724]
	LONG $0xc9700f66; BYTE $0x00   // pshufd    xmm1, xmm1, 0
	LONG $0xc8ef0f66               // pxor    xmm1, xmm0
	LONG $0xc46f0f66               // movdqa    xmm0, xmm4
	LONG $0xd0720f66; BYTE $0x1b   // psrld    xmm0, 27
	LONG $0xf4720f66; BYTE $0x05   // pslld    xmm4, 5
	LONG $0xe0eb0f66               // por    xmm4, xmm0
	QUAD $0x000002d8876e0f66       // movd    xmm0, dword [rdi + 728]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66               // pxor    xmm0, xmm1
	LONG $0xe0fa0f66               // psubd    xmm4, xmm0
	QUAD $0x000002dc876e0f66       // movd    xmm0, dword [rdi + 732]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc4ef0f66               // pxor    xmm0, xmm4
	LONG $0xe36f0f66               // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x1d   // psrld    xmm4, 29
	LONG $0xf3720f66; BYTE $0x03   // pslld    xmm3, 3
	LONG $0xdceb0f66               // por    xmm3, xmm4
	QUAD $0x000002e0a76e0f66       // movd    xmm4, dword [rdi + 736]
	LONG $0xe4700f66; BYTE $0x00   // pshufd    xmm4, xmm4, 0
	LONG $0xe0ef0f66               // pxor    xmm4, xmm0
	LONG $0xdcfa0f66               // psubd    xmm3, xmm4
	QUAD $0x000002e4a76e0f66       // movd    xmm4, dword [rdi + 740]
	LONG $0xe4700f66; BYTE $0x00   // pshufd    xmm4, xmm4, 0
	LONG $0xe3ef0f66               // pxor    xmm4, xmm3
	LONG $0xda6f0f66               // movdqa    xmm3, xmm2
	LONG $0xd3720f66; BYTE $0x09   // psrld    xmm3, 9
	LONG $0xf2720f66; BYTE $0x17   // pslld    xmm2, 23
	LONG $0xd3eb0f66               // por    xmm2, xmm3
	QUAD $0x000002b89f6e0f66       // movd    xmm3, dword [rdi + 696]
	LONG $0xdb700f66; BYTE $0x00   // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66               // pxor    xmm3, xmm4
	LONG $0xd3fa0f66               // psubd    xmm2, xmm3
	QUAD $0x000002bc9f6e0f66       // movd    xmm3, dword [rdi + 700]
	LONG $0xeb700f66; BYTE $0x00   // pshufd    xmm5, xmm3, 0
	LONG $0xeaef0f66               // pxor    xmm5, xmm2
	LONG $0xd16f0f66               // movdqa    xmm2, xmm1
	LONG $0xd2720f66; BYTE $0x1b   // psrld    xmm2, 27
	LONG $0xf1720f66; BYTE $0x05   // pslld    xmm1, 5
	LONG $0xcaeb0f66               // por    xmm1, xmm2
	QUAD $0x000002c0976e0f66       // movd    xmm2, dword [rdi + 704]
	LONG $0xd2700f66; BYTE $0x00   // pshufd    xmm2, xmm2, 0
	LONG $0xd5ef0f66               // pxor    xmm2, xmm5
	LONG $0xcafa0f66               // psubd    xmm1, xmm2
	QUAD $0x000002c4976e0f66       // movd    xmm2, dword [rdi + 708]
	LONG $0xf2700f66; BYTE $0x00   // pshufd    xmm6, xmm2, 0
	LONG $0xf1ef0f66               // pxor    xmm6, xmm1
	LONG $0xc86f0f66               // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x1d   // psrld    xmm1, 29
	LONG $0xf0720f66; BYTE $0x03   // pslld    xmm0, 3
	LONG $0xc1eb0f66               // por    xmm0, xmm1
	QUAD $0x000002c88f6e0f66       // movd    xmm1, dword [rdi + 712]
	LONG $0xc9700f66; BYTE $0x00   // pshufd    xmm1, xmm1, 0
	LONG $0xceef0f66               // pxor    xmm1, xmm6
	LONG $0xc1fa0f66               // psubd    xmm0, xmm1
	QUAD $0x000002cc8f6e0f66       // movd    xmm1, dword [rdi + 716]
	LONG $0xd9700f66; BYTE $0x00   // pshufd    xmm3, xmm1, 0
	LONG $0xd8ef0f66               // pxor    xmm3, xmm0
	LONG $0xc46f0f66               // movdqa    xmm0, xmm4
	LONG $0xd0720f66; BYTE $0x09   // psrld    xmm0, 9
	LONG $0xf4720f66; BYTE $0x17   // pslld    xmm4, 23
	LONG $0xe0eb0f66               // por    xmm4, xmm0
	QUAD $0x000002a0876e0f66       // movd    xmm0, dword [rdi + 672]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc3ef0f66               // pxor    xmm0, xmm3
	LONG $0xe0fa0f66               // psubd    xmm4, xmm0
	QUAD $0x000002a4876e0f66       // movd    xmm0, dword [rdi + 676]
	LONG $0xd0700f66; BYTE $0x00   // pshufd    xmm2, xmm0, 0
	LONG $0xd4ef0f66               // pxor    xmm2, xmm4
	LONG $0xc56f0f66               // movdqa    xmm0, xmm5
	LONG $0xd0720f66; BYTE $0x1b   // psrld    xmm0, 27
	LONG $0xf5720f66; BYTE $0x05   // pslld    xmm5, 5
	LONG $0xe8eb0f66               // por    xmm5, xmm0
	QUAD $0x000002a8876e0f66       // movd    xmm0, dword [rdi + 680]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc2ef0f66               // pxor    xmm0, xmm2
	LONG $0xe8fa0f66               // psubd    xmm5, xmm0
	QUAD $0x000002ac876e0f66       // movd    xmm0, dword [rdi + 684]
	LONG $0xc8700f66; BYTE $0x00   // pshufd    xmm1, xmm0, 0
	LONG $0xcdef0f66               // pxor    xmm1, xmm5
	LONG $0xc66f0f66               // movdqa    xmm0, xmm6
	LONG $0xd0720f66; BYTE $0x1d   // psrld    xmm0, 29
	LONG $0xf6720f66; BYTE $0x03   // pslld    xmm6, 3
	LONG $0xf0eb0f66               // por    xmm6, xmm0
	QUAD $0x000002b0876e0f66       // movd    xmm0, dword [rdi + 688]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66               // pxor    xmm0, xmm1
	LONG $0xf0fa0f66               // psubd    xmm6, xmm0
	QUAD $0x000002b4876e0f66       // movd    xmm0, dword [rdi + 692]
	LONG $0xc0700f66; BYTE $0x00   // pshufd    xmm0, xmm0, 0
	LONG $0xc6ef0f66               // pxor    xmm0, xmm6
	JMP  LBB1_3

LBB1_2:
	WORD $0xf883; BYTE $0x19 // cmp    eax, 25
	JB   LBB1_4

LBB1_3:
	LONG $0xe36f0f66             // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x09 // psrld    xmm4, 9
	LONG $0xf3720f66; BYTE $0x17 // pslld    xmm3, 23
	LONG $0xdceb0f66             // por    xmm3, xmm4
	QUAD $0x00000288a76e0f66     // movd    xmm4, dword [rdi + 648]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe0ef0f66             // pxor    xmm4, xmm0
	LONG $0xdcfa0f66             // psubd    xmm3, xmm4
	QUAD $0x0000028ca76e0f66     // movd    xmm4, dword [rdi + 652]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe3ef0f66             // pxor    xmm4, xmm3
	LONG $0xda6f0f66             // movdqa    xmm3, xmm2
	LONG $0xd3720f66; BYTE $0x1b // psrld    xmm3, 27
	LONG $0xf2720f66; BYTE $0x05 // pslld    xmm2, 5
	LONG $0xd3eb0f66             // por    xmm2, xmm3
	QUAD $0x000002909f6e0f66     // movd    xmm3, dword [rdi + 656]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66             // pxor    xmm3, xmm4
	LONG $0xd3fa0f66             // psubd    xmm2, xmm3
	QUAD $0x000002949f6e0f66     // movd    xmm3, dword [rdi + 660]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdaef0f66             // pxor    xmm3, xmm2
	LONG $0xd16f0f66             // movdqa    xmm2, xmm1
	LONG $0xd2720f66; BYTE $0x1d // psrld    xmm2, 29
	LONG $0xf1720f66; BYTE $0x03 // pslld    xmm1, 3
	LONG $0xcaeb0f66             // por    xmm1, xmm2
	QUAD $0x00000298976e0f66     // movd    xmm2, dword [rdi + 664]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd3ef0f66             // pxor    xmm2, xmm3
	LONG $0xcafa0f66             // psubd    xmm1, xmm2
	QUAD $0x0000029c976e0f66     // movd    xmm2, dword [rdi + 668]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd1ef0f66             // pxor    xmm2, xmm1
	LONG $0xc86f0f66             // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x09 // psrld    xmm1, 9
	LONG $0xf0720f66; BYTE $0x17 // pslld    xmm0, 23
	LONG $0xc1eb0f66             // por    xmm0, xmm1
	QUAD $0x000002708f6e0f66     // movd    xmm1, dword [rdi + 624]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xcaef0f66             // pxor    xmm1, xmm2
	LONG $0xc1fa0f66             // psubd    xmm0, xmm1
	QUAD $0x000002748f6e0f66     // movd    xmm1, dword [rdi + 628]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xc8ef0f66             // pxor    xmm1, xmm0
	LONG $0xc46f0f66             // movdqa    xmm0, xmm4
	LONG $0xd0720f66; BYTE $0x1b // psrld    xmm0, 27
	LONG $0xf4720f66; BYTE $0x05 // pslld    xmm4, 5
	LONG $0xe0eb0f66             // por    xmm4, xmm0
	QUAD $0x00000278876e0f66     // movd    xmm0, dword [rdi + 632]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66             // pxor    xmm0, xmm1
	LONG $0xe0fa0f66             // psubd    xmm4, xmm0
	QUAD $0x0000027c876e0f66     // movd    xmm0, dword [rdi + 636]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc4ef0f66             // pxor    xmm0, xmm4
	LONG $0xe36f0f66             // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x1d // psrld    xmm4, 29
	LONG $0xf3720f66; BYTE $0x03 // pslld    xmm3, 3
	LONG $0xdceb0f66             // por    xmm3, xmm4
	QUAD $0x00000280a76e0f66     // movd    xmm4, dword [rdi + 640]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe0ef0f66             // pxor    xmm4, xmm0
	LONG $0xdcfa0f66             // psubd    xmm3, xmm4
	QUAD $0x00000284a76e0f66     // movd    xmm4, dword [rdi + 644]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe3ef0f66             // pxor    xmm4, xmm3
	LONG $0xda6f0f66             // movdqa    xmm3, xmm2
	LONG $0xd3720f66; BYTE $0x09 // psrld    xmm3, 9
	LONG $0xf2720f66; BYTE $0x17 // pslld    xmm2, 23
	LONG $0xd3eb0f66             // por    xmm2, xmm3
	QUAD $0x000002589f6e0f66     // movd    xmm3, dword [rdi + 600]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66             // pxor    xmm3, xmm4
	LONG $0xd3fa0f66             // psubd    xmm2, xmm3
	QUAD $0x0000025c9f6e0f66     // movd    xmm3, dword [rdi + 604]
	LONG $0xeb700f66; BYTE $0x00 // pshufd    xmm5, xmm3, 0
	LONG $0xeaef0f66             // pxor    xmm5, xmm2
	LONG $0xd16f0f66             // movdqa    xmm2, xmm1
	LONG $0xd2720f66; BYTE $0x1b // psrld    xmm2, 27
	LONG $0xf1720f66; BYTE $0x05 // pslld    xmm1, 5
	LONG $0xcaeb0f66             // por    xmm1, xmm2
	QUAD $0x00000260976e0f66     // movd    xmm2, dword [rdi + 608]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd5ef0f66             // pxor    xmm2, xmm5
	LONG $0xcafa0f66             // psubd    xmm1, xmm2
	QUAD $0x00000264976e0f66     // movd    xmm2, dword [rdi + 612]
	LONG $0xf2700f66; BYTE $0x00 // pshufd    xmm6, xmm2, 0
	LONG $0xf1ef0f66             // pxor    xmm6, xmm1
	LONG $0xc86f0f66             // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x1d // psrld    xmm1, 29
	LONG $0xf0720f66; BYTE $0x03 // pslld    xmm0, 3
	LONG $0xc1eb0f66             // por    xmm0, xmm1
	QUAD $0x000002688f6e0f66     // movd    xmm1, dword [rdi + 616]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xceef0f66             // pxor    xmm1, xmm6
	LONG $0xc1fa0f66             // psubd    xmm0, xmm1
	QUAD $0x0000026c8f6e0f66     // movd    xmm1, dword [rdi + 620]
	LONG $0xd9700f66; BYTE $0x00 // pshufd    xmm3, xmm1, 0
	LONG $0xd8ef0f66             // pxor    xmm3, xmm0
	LONG $0xc46f0f66             // movdqa    xmm0, xmm4
	LONG $0xd0720f66; BYTE $0x09 // psrld    xmm0, 9
	LONG $0xf4720f66; BYTE $0x17 // pslld    xmm4, 23
	LONG $0xe0eb0f66             // por    xmm4, xmm0
	QUAD $0x00000240876e0f66     // movd    xmm0, dword [rdi + 576]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc3ef0f66             // pxor    xmm0, xmm3
	LONG $0xe0fa0f66             // psubd    xmm4, xmm0
	QUAD $0x00000244876e0f66     // movd    xmm0, dword [rdi + 580]
	LONG $0xd0700f66; BYTE $0x00 // pshufd    xmm2, xmm0, 0
	LONG $0xd4ef0f66             // pxor    xmm2, xmm4
	LONG $0xc56f0f66             // movdqa    xmm0, xmm5
	LONG $0xd0720f66; BYTE $0x1b // psrld    xmm0, 27
	LONG $0xf5720f66; BYTE $0x05 // pslld    xmm5, 5
	LONG $0xe8eb0f66             // por    xmm5, xmm0
	QUAD $0x00000248876e0f66     // movd    xmm0, dword [rdi + 584]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc2ef0f66             // pxor    xmm0, xmm2
	LONG $0xe8fa0f66             // psubd    xmm5, xmm0
	QUAD $0x0000024c876e0f66     // movd    xmm0, dword [rdi + 588]
	LONG $0xc8700f66; BYTE $0x00 // pshufd    xmm1, xmm0, 0
	LONG $0xcdef0f66             // pxor    xmm1, xmm5
	LONG $0xc66f0f66             // movdqa    xmm0, xmm6
	LONG $0xd0720f66; BYTE $0x1d // psrld    xmm0, 29
	LONG $0xf6720f66; BYTE $0x03 // pslld    xmm6, 3
	LONG $0xf0eb0f66             // por    xmm6, xmm0
	QUAD $0x00000250876e0f66     // movd    xmm0, dword [rdi + 592]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66             // pxor    xmm0, xmm1
	LONG $0xf0fa0f66             // psubd    xmm6, xmm0
	QUAD $0x00000254876e0f66     // movd    xmm0, dword [rdi + 596]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc6ef0f66             // pxor    xmm0, xmm6

LBB1_4:
	LONG $0xe36f0f66             // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x09 // psrld    xmm4, 9
	LONG $0xf3720f66; BYTE $0x17 // pslld    xmm3, 23
	LONG $0xdceb0f66             // por    xmm3, xmm4
	QUAD $0x00000228a76e0f66     // movd    xmm4, dword [rdi + 552]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe0ef0f66             // pxor    xmm4, xmm0
	LONG $0xdcfa0f66             // psubd    xmm3, xmm4
	QUAD $0x0000022ca76e0f66     // movd    xmm4, dword [rdi + 556]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe3ef0f66             // pxor    xmm4, xmm3
	LONG $0xda6f0f66             // movdqa    xmm3, xmm2
	LONG $0xd3720f66; BYTE $0x1b // psrld    xmm3, 27
	LONG $0xf2720f66; BYTE $0x05 // pslld    xmm2, 5
	LONG $0xd3eb0f66             // por    xmm2, xmm3
	QUAD $0x000002309f6e0f66     // movd    xmm3, dword [rdi + 560]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66             // pxor    xmm3, xmm4
	LONG $0xd3fa0f66             // psubd    xmm2, xmm3
	QUAD $0x000002349f6e0f66     // movd    xmm3, dword [rdi + 564]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdaef0f66             // pxor    xmm3, xmm2
	LONG $0xd16f0f66             // movdqa    xmm2, xmm1
	LONG $0xd2720f66; BYTE $0x1d // psrld    xmm2, 29
	LONG $0xf1720f66; BYTE $0x03 // pslld    xmm1, 3
	LONG $0xcaeb0f66             // por    xmm1, xmm2
	QUAD $0x00000238976e0f66     // movd    xmm2, dword [rdi + 568]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd3ef0f66             // pxor    xmm2, xmm3
	LONG $0xcafa0f66             // psubd    xmm1, xmm2
	QUAD $0x0000023c976e0f66     // movd    xmm2, dword [rdi + 572]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd1ef0f66             // pxor    xmm2, xmm1
	LONG $0xc86f0f66             // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x09 // psrld    xmm1, 9
	LONG $0xf0720f66; BYTE $0x17 // pslld    xmm0, 23
	LONG $0xc1eb0f66             // por    xmm0, xmm1
	QUAD $0x000002108f6e0f66     // movd    xmm1, dword [rdi + 528]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xcaef0f66             // pxor    xmm1, xmm2
	LONG $0xc1fa0f66             // psubd    xmm0, xmm1
	QUAD $0x000002148f6e0f66     // movd    xmm1, dword [rdi + 532]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xc8ef0f66             // pxor    xmm1, xmm0
	LONG $0xc46f0f66             // movdqa    xmm0, xmm4
	LONG $0xd0720f66; BYTE $0x1b // psrld    xmm0, 27
	LONG $0xf4720f66; BYTE $0x05 // pslld    xmm4, 5
	LONG $0xe0eb0f66             // por    xmm4, xmm0
	QUAD $0x00000218876e0f66     // movd    xmm0, dword [rdi + 536]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66             // pxor    xmm0, xmm1
	LONG $0xe0fa0f66             // psubd    xmm4, xmm0
	QUAD $0x0000021c876e0f66     // movd    xmm0, dword [rdi + 540]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc4ef0f66             // pxor    xmm0, xmm4
	LONG $0xe36f0f66             // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x1d // psrld    xmm4, 29
	LONG $0xf3720f66; BYTE $0x03 // pslld    xmm3, 3
	LONG $0xdceb0f66             // por    xmm3, xmm4
	QUAD $0x00000220a76e0f66     // movd    xmm4, dword [rdi + 544]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe0ef0f66             // pxor    xmm4, xmm0
	LONG $0xdcfa0f66             // psubd    xmm3, xmm4
	QUAD $0x00000224a76e0f66     // movd    xmm4, dword [rdi + 548]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe3ef0f66             // pxor    xmm4, xmm3
	LONG $0xda6f0f66             // movdqa    xmm3, xmm2
	LONG $0xd3720f66; BYTE $0x09 // psrld    xmm3, 9
	LONG $0xf2720f66; BYTE $0x17 // pslld    xmm2, 23
	LONG $0xd3eb0f66             // por    xmm2, xmm3
	QUAD $0x000001f89f6e0f66     // movd    xmm3, dword [rdi + 504]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66             // pxor    xmm3, xmm4
	LONG $0xd3fa0f66             // psubd    xmm2, xmm3
	QUAD $0x000001fc9f6e0f66     // movd    xmm3, dword [rdi + 508]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdaef0f66             // pxor    xmm3, xmm2
	LONG $0xd16f0f66             // movdqa    xmm2, xmm1
	LONG $0xd2720f66; BYTE $0x1b // psrld    xmm2, 27
	LONG $0xf1720f66; BYTE $0x05 // pslld    xmm1, 5
	LONG $0xcaeb0f66             // por    xmm1, xmm2
	QUAD $0x00000200976e0f66     // movd    xmm2, dword [rdi + 512]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd3ef0f66             // pxor    xmm2, xmm3
	LONG $0xcafa0f66             // psubd    xmm1, xmm2
	QUAD $0x00000204976e0f66     // movd    xmm2, dword [rdi + 516]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd1ef0f66             // pxor    xmm2, xmm1
	LONG $0xc86f0f66             // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x1d // psrld    xmm1, 29
	LONG $0xf0720f66; BYTE $0x03 // pslld    xmm0, 3
	LONG $0xc1eb0f66             // por    xmm0, xmm1
	QUAD $0x000002088f6e0f66     // movd    xmm1, dword [rdi + 520]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xcaef0f66             // pxor    xmm1, xmm2
	LONG $0xc1fa0f66             // psubd    xmm0, xmm1
	QUAD $0x0000020c8f6e0f66     // movd    xmm1, dword [rdi + 524]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xc8ef0f66             // pxor    xmm1, xmm0
	LONG $0xc46f0f66             // movdqa    xmm0, xmm4
	LONG $0xd0720f66; BYTE $0x09 // psrld    xmm0, 9
	LONG $0xf4720f66; BYTE $0x17 // pslld    xmm4, 23
	LONG $0xe0eb0f66             // por    xmm4, xmm0
	QUAD $0x000001e0876e0f66     // movd    xmm0, dword [rdi + 480]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66             // pxor    xmm0, xmm1
	LONG $0xe0fa0f66             // psubd    xmm4, xmm0
	QUAD $0x000001e4876e0f66     // movd    xmm0, dword [rdi + 484]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc4ef0f66             // pxor    xmm0, xmm4
	LONG $0xe36f0f66             // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x1b // psrld    xmm4, 27
	LONG $0xf3720f66; BYTE $0x05 // pslld    xmm3, 5
	LONG $0xdceb0f66             // por    xmm3, xmm4
	QUAD $0x000001e8a76e0f66     // movd    xmm4, dword [rdi + 488]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe0ef0f66             // pxor    xmm4, xmm0
	LONG $0xdcfa0f66             // psubd    xmm3, xmm4
	QUAD $0x000001eca76e0f66     // movd    xmm4, dword [rdi + 492]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe3ef0f66             // pxor    xmm4, xmm3
	LONG $0xda6f0f66             // movdqa    xmm3, xmm2
	LONG $0xd3720f66; BYTE $0x1d // psrld    xmm3, 29
	LONG $0xf2720f66; BYTE $0x03 // pslld    xmm2, 3
	LONG $0xd3eb0f66             // por    xmm2, xmm3
	QUAD $0x000001f09f6e0f66     // movd    xmm3, dword [rdi + 496]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66             // pxor    xmm3, xmm4
	LONG $0xd3fa0f66             // psubd    xmm2, xmm3
	QUAD $0x000001f49f6e0f66     // movd    xmm3, dword [rdi + 500]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdaef0f66             // pxor    xmm3, xmm2
	LONG $0xd16f0f66             // movdqa    xmm2, xmm1
	LONG $0xd2720f66; BYTE $0x09 // psrld    xmm2, 9
	LONG $0xf1720f66; BYTE $0x17 // pslld    xmm1, 23
	LONG $0xcaeb0f66             // por    xmm1, xmm2
	QUAD $0x000001c8976e0f66     // movd    xmm2, dword [rdi + 456]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd3ef0f66             // pxor    xmm2, xmm3
	LONG $0xcafa0f66             // psubd    xmm1, xmm2
	QUAD $0x000001cc976e0f66     // movd    xmm2, dword [rdi + 460]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd1ef0f66             // pxor    xmm2, xmm1
	LONG $0xc86f0f66             // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x1b // psrld    xmm1, 27
	LONG $0xf0720f66; BYTE $0x05 // pslld    xmm0, 5
	LONG $0xc1eb0f66             // por    xmm0, xmm1
	QUAD $0x000001d08f6e0f66     // movd    xmm1, dword [rdi + 464]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xcaef0f66             // pxor    xmm1, xmm2
	LONG $0xc1fa0f66             // psubd    xmm0, xmm1
	QUAD $0x000001d48f6e0f66     // movd    xmm1, dword [rdi + 468]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xc8ef0f66             // pxor    xmm1, xmm0
	LONG $0xc46f0f66             // movdqa    xmm0, xmm4
	LONG $0xd0720f66; BYTE $0x1d // psrld    xmm0, 29
	LONG $0xf4720f66; BYTE $0x03 // pslld    xmm4, 3
	LONG $0xe0eb0f66             // por    xmm4, xmm0
	QUAD $0x000001d8876e0f66     // movd    xmm0, dword [rdi + 472]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66             // pxor    xmm0, xmm1
	LONG $0xe0fa0f66             // psubd    xmm4, xmm0
	QUAD $0x000001dc876e0f66     // movd    xmm0, dword [rdi + 476]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc4ef0f66             // pxor    xmm0, xmm4
	LONG $0xe36f0f66             // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x09 // psrld    xmm4, 9
	LONG $0xf3720f66; BYTE $0x17 // pslld    xmm3, 23
	LONG $0xdceb0f66             // por    xmm3, xmm4
	QUAD $0x000001b0a76e0f66     // movd    xmm4, dword [rdi + 432]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe0ef0f66             // pxor    xmm4, xmm0
	LONG $0xdcfa0f66             // psubd    xmm3, xmm4
	QUAD $0x000001b4a76e0f66     // movd    xmm4, dword [rdi + 436]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe3ef0f66             // pxor    xmm4, xmm3
	LONG $0xda6f0f66             // movdqa    xmm3, xmm2
	LONG $0xd3720f66; BYTE $0x1b // psrld    xmm3, 27
	LONG $0xf2720f66; BYTE $0x05 // pslld    xmm2, 5
	LONG $0xd3eb0f66             // por    xmm2, xmm3
	QUAD $0x000001b89f6e0f66     // movd    xmm3, dword [rdi + 440]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66             // pxor    xmm3, xmm4
	LONG $0xd3fa0f66             // psubd    xmm2, xmm3
	QUAD $0x000001bc9f6e0f66     // movd    xmm3, dword [rdi + 444]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdaef0f66             // pxor    xmm3, xmm2
	LONG $0xd16f0f66             // movdqa    xmm2, xmm1
	LONG $0xd2720f66; BYTE $0x1d // psrld    xmm2, 29
	LONG $0xf1720f66; BYTE $0x03 // pslld    xmm1, 3
	LONG $0xcaeb0f66             // por    xmm1, xmm2
	QUAD $0x000001c0976e0f66     // movd    xmm2, dword [rdi + 448]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd3ef0f66             // pxor    xmm2, xmm3
	LONG $0xcafa0f66             // psubd    xmm1, xmm2
	QUAD $0x000001c4976e0f66     // movd    xmm2, dword [rdi + 452]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd1ef0f66             // pxor    xmm2, xmm1
	LONG $0xc86f0f66             // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x09 // psrld    xmm1, 9
	LONG $0xf0720f66; BYTE $0x17 // pslld    xmm0, 23
	LONG $0xc1eb0f66             // por    xmm0, xmm1
	QUAD $0x000001988f6e0f66     // movd    xmm1, dword [rdi + 408]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xcaef0f66             // pxor    xmm1, xmm2
	LONG $0xc1fa0f66             // psubd    xmm0, xmm1
	QUAD $0x0000019c8f6e0f66     // movd    xmm1, dword [rdi + 412]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xc8ef0f66             // pxor    xmm1, xmm0
	LONG $0xc46f0f66             // movdqa    xmm0, xmm4
	LONG $0xd0720f66; BYTE $0x1b // psrld    xmm0, 27
	LONG $0xf4720f66; BYTE $0x05 // pslld    xmm4, 5
	LONG $0xe0eb0f66             // por    xmm4, xmm0
	QUAD $0x000001a0876e0f66     // movd    xmm0, dword [rdi + 416]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66             // pxor    xmm0, xmm1
	LONG $0xe0fa0f66             // psubd    xmm4, xmm0
	QUAD $0x000001a4876e0f66     // movd    xmm0, dword [rdi + 420]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc4ef0f66             // pxor    xmm0, xmm4
	LONG $0xe36f0f66             // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x1d // psrld    xmm4, 29
	LONG $0xf3720f66; BYTE $0x03 // pslld    xmm3, 3
	LONG $0xdceb0f66             // por    xmm3, xmm4
	QUAD $0x000001a8a76e0f66     // movd    xmm4, dword [rdi + 424]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe0ef0f66             // pxor    xmm4, xmm0
	LONG $0xdcfa0f66             // psubd    xmm3, xmm4
	QUAD $0x000001aca76e0f66     // movd    xmm4, dword [rdi + 428]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe3ef0f66             // pxor    xmm4, xmm3
	LONG $0xda6f0f66             // movdqa    xmm3, xmm2
	LONG $0xd3720f66; BYTE $0x09 // psrld    xmm3, 9
	LONG $0xf2720f66; BYTE $0x17 // pslld    xmm2, 23
	LONG $0xd3eb0f66             // por    xmm2, xmm3
	QUAD $0x000001809f6e0f66     // movd    xmm3, dword [rdi + 384]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66             // pxor    xmm3, xmm4
	LONG $0xd3fa0f66             // psubd    xmm2, xmm3
	QUAD $0x000001849f6e0f66     // movd    xmm3, dword [rdi + 388]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdaef0f66             // pxor    xmm3, xmm2
	LONG $0xd16f0f66             // movdqa    xmm2, xmm1
	LONG $0xd2720f66; BYTE $0x1b // psrld    xmm2, 27
	LONG $0xf1720f66; BYTE $0x05 // pslld    xmm1, 5
	LONG $0xcaeb0f66             // por    xmm1, xmm2
	QUAD $0x00000188976e0f66     // movd    xmm2, dword [rdi + 392]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd3ef0f66             // pxor    xmm2, xmm3
	LONG $0xcafa0f66             // psubd    xmm1, xmm2
	QUAD $0x0000018c976e0f66     // movd    xmm2, dword [rdi + 396]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd1ef0f66             // pxor    xmm2, xmm1
	LONG $0xc86f0f66             // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x1d // psrld    xmm1, 29
	LONG $0xf0720f66; BYTE $0x03 // pslld    xmm0, 3
	LONG $0xc1eb0f66             // por    xmm0, xmm1
	QUAD $0x000001908f6e0f66     // movd    xmm1, dword [rdi + 400]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xcaef0f66             // pxor    xmm1, xmm2
	LONG $0xc1fa0f66             // psubd    xmm0, xmm1
	QUAD $0x000001948f6e0f66     // movd    xmm1, dword [rdi + 404]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xc8ef0f66             // pxor    xmm1, xmm0
	LONG $0xc46f0f66             // movdqa    xmm0, xmm4
	LONG $0xd0720f66; BYTE $0x09 // psrld    xmm0, 9
	LONG $0xf4720f66; BYTE $0x17 // pslld    xmm4, 23
	LONG $0xe0eb0f66             // por    xmm4, xmm0
	QUAD $0x00000168876e0f66     // movd    xmm0, dword [rdi + 360]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66             // pxor    xmm0, xmm1
	LONG $0xe0fa0f66             // psubd    xmm4, xmm0
	QUAD $0x0000016c876e0f66     // movd    xmm0, dword [rdi + 364]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc4ef0f66             // pxor    xmm0, xmm4
	LONG $0xe36f0f66             // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x1b // psrld    xmm4, 27
	LONG $0xf3720f66; BYTE $0x05 // pslld    xmm3, 5
	LONG $0xdceb0f66             // por    xmm3, xmm4
	QUAD $0x00000170a76e0f66     // movd    xmm4, dword [rdi + 368]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe0ef0f66             // pxor    xmm4, xmm0
	LONG $0xdcfa0f66             // psubd    xmm3, xmm4
	QUAD $0x00000174a76e0f66     // movd    xmm4, dword [rdi + 372]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe3ef0f66             // pxor    xmm4, xmm3
	LONG $0xda6f0f66             // movdqa    xmm3, xmm2
	LONG $0xd3720f66; BYTE $0x1d // psrld    xmm3, 29
	LONG $0xf2720f66; BYTE $0x03 // pslld    xmm2, 3
	LONG $0xd3eb0f66             // por    xmm2, xmm3
	QUAD $0x000001789f6e0f66     // movd    xmm3, dword [rdi + 376]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66             // pxor    xmm3, xmm4
	LONG $0xd3fa0f66             // psubd    xmm2, xmm3
	QUAD $0x0000017c9f6e0f66     // movd    xmm3, dword [rdi + 380]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdaef0f66             // pxor    xmm3, xmm2
	LONG $0xd16f0f66             // movdqa    xmm2, xmm1
	LONG $0xd2720f66; BYTE $0x09 // psrld    xmm2, 9
	LONG $0xf1720f66; BYTE $0x17 // pslld    xmm1, 23
	LONG $0xcaeb0f66             // por    xmm1, xmm2
	QUAD $0x00000150976e0f66     // movd    xmm2, dword [rdi + 336]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd3ef0f66             // pxor    xmm2, xmm3
	LONG $0xcafa0f66             // psubd    xmm1, xmm2
	QUAD $0x00000154976e0f66     // movd    xmm2, dword [rdi + 340]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd1ef0f66             // pxor    xmm2, xmm1
	LONG $0xc86f0f66             // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x1b // psrld    xmm1, 27
	LONG $0xf0720f66; BYTE $0x05 // pslld    xmm0, 5
	LONG $0xc1eb0f66             // por    xmm0, xmm1
	QUAD $0x000001588f6e0f66     // movd    xmm1, dword [rdi + 344]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xcaef0f66             // pxor    xmm1, xmm2
	LONG $0xc1fa0f66             // psubd    xmm0, xmm1
	QUAD $0x0000015c8f6e0f66     // movd    xmm1, dword [rdi + 348]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xc8ef0f66             // pxor    xmm1, xmm0
	LONG $0xc46f0f66             // movdqa    xmm0, xmm4
	LONG $0xd0720f66; BYTE $0x1d // psrld    xmm0, 29
	LONG $0xf4720f66; BYTE $0x03 // pslld    xmm4, 3
	LONG $0xe0eb0f66             // por    xmm4, xmm0
	QUAD $0x00000160876e0f66     // movd    xmm0, dword [rdi + 352]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66             // pxor    xmm0, xmm1
	LONG $0xe0fa0f66             // psubd    xmm4, xmm0
	QUAD $0x00000164876e0f66     // movd    xmm0, dword [rdi + 356]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc4ef0f66             // pxor    xmm0, xmm4
	LONG $0xe36f0f66             // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x09 // psrld    xmm4, 9
	LONG $0xf3720f66; BYTE $0x17 // pslld    xmm3, 23
	LONG $0xdceb0f66             // por    xmm3, xmm4
	QUAD $0x00000138a76e0f66     // movd    xmm4, dword [rdi + 312]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe0ef0f66             // pxor    xmm4, xmm0
	LONG $0xdcfa0f66             // psubd    xmm3, xmm4
	QUAD $0x0000013ca76e0f66     // movd    xmm4, dword [rdi + 316]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe3ef0f66             // pxor    xmm4, xmm3
	LONG $0xda6f0f66             // movdqa    xmm3, xmm2
	LONG $0xd3720f66; BYTE $0x1b // psrld    xmm3, 27
	LONG $0xf2720f66; BYTE $0x05 // pslld    xmm2, 5
	LONG $0xd3eb0f66             // por    xmm2, xmm3
	QUAD $0x000001409f6e0f66     // movd    xmm3, dword [rdi + 320]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66             // pxor    xmm3, xmm4
	LONG $0xd3fa0f66             // psubd    xmm2, xmm3
	QUAD $0x000001449f6e0f66     // movd    xmm3, dword [rdi + 324]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdaef0f66             // pxor    xmm3, xmm2
	LONG $0xd16f0f66             // movdqa    xmm2, xmm1
	LONG $0xd2720f66; BYTE $0x1d // psrld    xmm2, 29
	LONG $0xf1720f66; BYTE $0x03 // pslld    xmm1, 3
	LONG $0xcaeb0f66             // por    xmm1, xmm2
	QUAD $0x00000148976e0f66     // movd    xmm2, dword [rdi + 328]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd3ef0f66             // pxor    xmm2, xmm3
	LONG $0xcafa0f66             // psubd    xmm1, xmm2
	QUAD $0x0000014c976e0f66     // movd    xmm2, dword [rdi + 332]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd1ef0f66             // pxor    xmm2, xmm1
	LONG $0xc86f0f66             // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x09 // psrld    xmm1, 9
	LONG $0xf0720f66; BYTE $0x17 // pslld    xmm0, 23
	LONG $0xc1eb0f66             // por    xmm0, xmm1
	QUAD $0x000001208f6e0f66     // movd    xmm1, dword [rdi + 288]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xcaef0f66             // pxor    xmm1, xmm2
	LONG $0xc1fa0f66             // psubd    xmm0, xmm1
	QUAD $0x000001248f6e0f66     // movd    xmm1, dword [rdi + 292]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xc8ef0f66             // pxor    xmm1, xmm0
	LONG $0xc46f0f66             // movdqa    xmm0, xmm4
	LONG $0xd0720f66; BYTE $0x1b // psrld    xmm0, 27
	LONG $0xf4720f66; BYTE $0x05 // pslld    xmm4, 5
	LONG $0xe0eb0f66             // por    xmm4, xmm0
	QUAD $0x00000128876e0f66     // movd    xmm0, dword [rdi + 296]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66             // pxor    xmm0, xmm1
	LONG $0xe0fa0f66             // psubd    xmm4, xmm0
	QUAD $0x0000012c876e0f66     // movd    xmm0, dword [rdi + 300]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc4ef0f66             // pxor    xmm0, xmm4
	LONG $0xe36f0f66             // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x1d // psrld    xmm4, 29
	LONG $0xf3720f66; BYTE $0x03 // pslld    xmm3, 3
	LONG $0xdceb0f66             // por    xmm3, xmm4
	QUAD $0x00000130a76e0f66     // movd    xmm4, dword [rdi + 304]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe0ef0f66             // pxor    xmm4, xmm0
	LONG $0xdcfa0f66             // psubd    xmm3, xmm4
	QUAD $0x00000134a76e0f66     // movd    xmm4, dword [rdi + 308]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe3ef0f66             // pxor    xmm4, xmm3
	LONG $0xda6f0f66             // movdqa    xmm3, xmm2
	LONG $0xd3720f66; BYTE $0x09 // psrld    xmm3, 9
	LONG $0xf2720f66; BYTE $0x17 // pslld    xmm2, 23
	LONG $0xd3eb0f66             // por    xmm2, xmm3
	QUAD $0x000001089f6e0f66     // movd    xmm3, dword [rdi + 264]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66             // pxor    xmm3, xmm4
	LONG $0xd3fa0f66             // psubd    xmm2, xmm3
	QUAD $0x0000010c9f6e0f66     // movd    xmm3, dword [rdi + 268]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdaef0f66             // pxor    xmm3, xmm2
	LONG $0xd16f0f66             // movdqa    xmm2, xmm1
	LONG $0xd2720f66; BYTE $0x1b // psrld    xmm2, 27
	LONG $0xf1720f66; BYTE $0x05 // pslld    xmm1, 5
	LONG $0xcaeb0f66             // por    xmm1, xmm2
	QUAD $0x00000110976e0f66     // movd    xmm2, dword [rdi + 272]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd3ef0f66             // pxor    xmm2, xmm3
	LONG $0xcafa0f66             // psubd    xmm1, xmm2
	QUAD $0x00000114976e0f66     // movd    xmm2, dword [rdi + 276]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd1ef0f66             // pxor    xmm2, xmm1
	LONG $0xc86f0f66             // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x1d // psrld    xmm1, 29
	LONG $0xf0720f66; BYTE $0x03 // pslld    xmm0, 3
	LONG $0xc1eb0f66             // por    xmm0, xmm1
	QUAD $0x000001188f6e0f66     // movd    xmm1, dword [rdi + 280]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xcaef0f66             // pxor    xmm1, xmm2
	LONG $0xc1fa0f66             // psubd    xmm0, xmm1
	QUAD $0x0000011c8f6e0f66     // movd    xmm1, dword [rdi + 284]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xc8ef0f66             // pxor    xmm1, xmm0
	LONG $0xc46f0f66             // movdqa    xmm0, xmm4
	LONG $0xd0720f66; BYTE $0x09 // psrld    xmm0, 9
	LONG $0xf4720f66; BYTE $0x17 // pslld    xmm4, 23
	LONG $0xe0eb0f66             // por    xmm4, xmm0
	QUAD $0x000000f0876e0f66     // movd    xmm0, dword [rdi + 240]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66             // pxor    xmm0, xmm1
	LONG $0xe0fa0f66             // psubd    xmm4, xmm0
	QUAD $0x000000f4876e0f66     // movd    xmm0, dword [rdi + 244]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc4ef0f66             // pxor    xmm0, xmm4
	LONG $0xe36f0f66             // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x1b // psrld    xmm4, 27
	LONG $0xf3720f66; BYTE $0x05 // pslld    xmm3, 5
	LONG $0xdceb0f66             // por    xmm3, xmm4
	QUAD $0x000000f8a76e0f66     // movd    xmm4, dword [rdi + 248]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe0ef0f66             // pxor    xmm4, xmm0
	LONG $0xdcfa0f66             // psubd    xmm3, xmm4
	QUAD $0x000000fca76e0f66     // movd    xmm4, dword [rdi + 252]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe3ef0f66             // pxor    xmm4, xmm3
	LONG $0xda6f0f66             // movdqa    xmm3, xmm2
	LONG $0xd3720f66; BYTE $0x1d // psrld    xmm3, 29
	LONG $0xf2720f66; BYTE $0x03 // pslld    xmm2, 3
	LONG $0xd3eb0f66             // por    xmm2, xmm3
	QUAD $0x000001009f6e0f66     // movd    xmm3, dword [rdi + 256]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66             // pxor    xmm3, xmm4
	LONG $0xd3fa0f66             // psubd    xmm2, xmm3
	QUAD $0x000001049f6e0f66     // movd    xmm3, dword [rdi + 260]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdaef0f66             // pxor    xmm3, xmm2
	LONG $0xd16f0f66             // movdqa    xmm2, xmm1
	LONG $0xd2720f66; BYTE $0x09 // psrld    xmm2, 9
	LONG $0xf1720f66; BYTE $0x17 // pslld    xmm1, 23
	LONG $0xcaeb0f66             // por    xmm1, xmm2
	QUAD $0x000000d8976e0f66     // movd    xmm2, dword [rdi + 216]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd3ef0f66             // pxor    xmm2, xmm3
	LONG $0xcafa0f66             // psubd    xmm1, xmm2
	QUAD $0x000000dc976e0f66     // movd    xmm2, dword [rdi + 220]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd1ef0f66             // pxor    xmm2, xmm1
	LONG $0xc86f0f66             // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x1b // psrld    xmm1, 27
	LONG $0xf0720f66; BYTE $0x05 // pslld    xmm0, 5
	LONG $0xc1eb0f66             // por    xmm0, xmm1
	QUAD $0x000000e08f6e0f66     // movd    xmm1, dword [rdi + 224]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xcaef0f66             // pxor    xmm1, xmm2
	LONG $0xc1fa0f66             // psubd    xmm0, xmm1
	QUAD $0x000000e48f6e0f66     // movd    xmm1, dword [rdi + 228]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xc8ef0f66             // pxor    xmm1, xmm0
	LONG $0xc46f0f66             // movdqa    xmm0, xmm4
	LONG $0xd0720f66; BYTE $0x1d // psrld    xmm0, 29
	LONG $0xf4720f66; BYTE $0x03 // pslld    xmm4, 3
	LONG $0xe0eb0f66             // por    xmm4, xmm0
	QUAD $0x000000e8876e0f66     // movd    xmm0, dword [rdi + 232]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66             // pxor    xmm0, xmm1
	LONG $0xe0fa0f66             // psubd    xmm4, xmm0
	QUAD $0x000000ec876e0f66     // movd    xmm0, dword [rdi + 236]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc4ef0f66             // pxor    xmm0, xmm4
	LONG $0xe36f0f66             // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x09 // psrld    xmm4, 9
	LONG $0xf3720f66; BYTE $0x17 // pslld    xmm3, 23
	LONG $0xdceb0f66             // por    xmm3, xmm4
	QUAD $0x000000c0a76e0f66     // movd    xmm4, dword [rdi + 192]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe0ef0f66             // pxor    xmm4, xmm0
	LONG $0xdcfa0f66             // psubd    xmm3, xmm4
	QUAD $0x000000c4a76e0f66     // movd    xmm4, dword [rdi + 196]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe3ef0f66             // pxor    xmm4, xmm3
	LONG $0xda6f0f66             // movdqa    xmm3, xmm2
	LONG $0xd3720f66; BYTE $0x1b // psrld    xmm3, 27
	LONG $0xf2720f66; BYTE $0x05 // pslld    xmm2, 5
	LONG $0xd3eb0f66             // por    xmm2, xmm3
	QUAD $0x000000c89f6e0f66     // movd    xmm3, dword [rdi + 200]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66             // pxor    xmm3, xmm4
	LONG $0xd3fa0f66             // psubd    xmm2, xmm3
	QUAD $0x000000cc9f6e0f66     // movd    xmm3, dword [rdi + 204]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdaef0f66             // pxor    xmm3, xmm2
	LONG $0xd16f0f66             // movdqa    xmm2, xmm1
	LONG $0xd2720f66; BYTE $0x1d // psrld    xmm2, 29
	LONG $0xf1720f66; BYTE $0x03 // pslld    xmm1, 3
	LONG $0xcaeb0f66             // por    xmm1, xmm2
	QUAD $0x000000d0976e0f66     // movd    xmm2, dword [rdi + 208]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd3ef0f66             // pxor    xmm2, xmm3
	LONG $0xcafa0f66             // psubd    xmm1, xmm2
	QUAD $0x000000d4976e0f66     // movd    xmm2, dword [rdi + 212]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd1ef0f66             // pxor    xmm2, xmm1
	LONG $0xc86f0f66             // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x09 // psrld    xmm1, 9
	LONG $0xf0720f66; BYTE $0x17 // pslld    xmm0, 23
	LONG $0xc1eb0f66             // por    xmm0, xmm1
	QUAD $0x000000a88f6e0f66     // movd    xmm1, dword [rdi + 168]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xcaef0f66             // pxor    xmm1, xmm2
	LONG $0xc1fa0f66             // psubd    xmm0, xmm1
	QUAD $0x000000ac8f6e0f66     // movd    xmm1, dword [rdi + 172]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xc8ef0f66             // pxor    xmm1, xmm0
	LONG $0xc46f0f66             // movdqa    xmm0, xmm4
	LONG $0xd0720f66; BYTE $0x1b // psrld    xmm0, 27
	LONG $0xf4720f66; BYTE $0x05 // pslld    xmm4, 5
	LONG $0xe0eb0f66             // por    xmm4, xmm0
	QUAD $0x000000b0876e0f66     // movd    xmm0, dword [rdi + 176]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66             // pxor    xmm0, xmm1
	LONG $0xe0fa0f66             // psubd    xmm4, xmm0
	QUAD $0x000000b4876e0f66     // movd    xmm0, dword [rdi + 180]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc4ef0f66             // pxor    xmm0, xmm4
	LONG $0xe36f0f66             // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x1d // psrld    xmm4, 29
	LONG $0xf3720f66; BYTE $0x03 // pslld    xmm3, 3
	LONG $0xdceb0f66             // por    xmm3, xmm4
	QUAD $0x000000b8a76e0f66     // movd    xmm4, dword [rdi + 184]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe0ef0f66             // pxor    xmm4, xmm0
	LONG $0xdcfa0f66             // psubd    xmm3, xmm4
	QUAD $0x000000bca76e0f66     // movd    xmm4, dword [rdi + 188]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe3ef0f66             // pxor    xmm4, xmm3
	LONG $0xda6f0f66             // movdqa    xmm3, xmm2
	LONG $0xd3720f66; BYTE $0x09 // psrld    xmm3, 9
	LONG $0xf2720f66; BYTE $0x17 // pslld    xmm2, 23
	LONG $0xd3eb0f66             // por    xmm2, xmm3
	QUAD $0x000000909f6e0f66     // movd    xmm3, dword [rdi + 144]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66             // pxor    xmm3, xmm4
	LONG $0xd3fa0f66             // psubd    xmm2, xmm3
	QUAD $0x000000949f6e0f66     // movd    xmm3, dword [rdi + 148]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdaef0f66             // pxor    xmm3, xmm2
	LONG $0xd16f0f66             // movdqa    xmm2, xmm1
	LONG $0xd2720f66; BYTE $0x1b // psrld    xmm2, 27
	LONG $0xf1720f66; BYTE $0x05 // pslld    xmm1, 5
	LONG $0xcaeb0f66             // por    xmm1, xmm2
	QUAD $0x00000098976e0f66     // movd    xmm2, dword [rdi + 152]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd3ef0f66             // pxor    xmm2, xmm3
	LONG $0xcafa0f66             // psubd    xmm1, xmm2
	QUAD $0x0000009c976e0f66     // movd    xmm2, dword [rdi + 156]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd1ef0f66             // pxor    xmm2, xmm1
	LONG $0xc86f0f66             // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x1d // psrld    xmm1, 29
	LONG $0xf0720f66; BYTE $0x03 // pslld    xmm0, 3
	LONG $0xc1eb0f66             // por    xmm0, xmm1
	QUAD $0x000000a08f6e0f66     // movd    xmm1, dword [rdi + 160]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xcaef0f66             // pxor    xmm1, xmm2
	LONG $0xc1fa0f66             // psubd    xmm0, xmm1
	QUAD $0x000000a48f6e0f66     // movd    xmm1, dword [rdi + 164]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xc8ef0f66             // pxor    xmm1, xmm0
	LONG $0xc46f0f66             // movdqa    xmm0, xmm4
	LONG $0xd0720f66; BYTE $0x09 // psrld    xmm0, 9
	LONG $0xf4720f66; BYTE $0x17 // pslld    xmm4, 23
	LONG $0xe0eb0f66             // por    xmm4, xmm0
	LONG $0x476e0f66; BYTE $0x78 // movd    xmm0, dword [rdi + 120]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66             // pxor    xmm0, xmm1
	LONG $0xe0fa0f66             // psubd    xmm4, xmm0
	LONG $0x476e0f66; BYTE $0x7c // movd    xmm0, dword [rdi + 124]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc4ef0f66             // pxor    xmm0, xmm4
	LONG $0xe36f0f66             // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x1b // psrld    xmm4, 27
	LONG $0xf3720f66; BYTE $0x05 // pslld    xmm3, 5
	LONG $0xdceb0f66             // por    xmm3, xmm4
	QUAD $0x00000080a76e0f66     // movd    xmm4, dword [rdi + 128]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe0ef0f66             // pxor    xmm4, xmm0
	LONG $0xdcfa0f66             // psubd    xmm3, xmm4
	QUAD $0x00000084a76e0f66     // movd    xmm4, dword [rdi + 132]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe3ef0f66             // pxor    xmm4, xmm3
	LONG $0xda6f0f66             // movdqa    xmm3, xmm2
	LONG $0xd3720f66; BYTE $0x1d // psrld    xmm3, 29
	LONG $0xf2720f66; BYTE $0x03 // pslld    xmm2, 3
	LONG $0xd3eb0f66             // por    xmm2, xmm3
	QUAD $0x000000889f6e0f66     // movd    xmm3, dword [rdi + 136]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66             // pxor    xmm3, xmm4
	LONG $0xd3fa0f66             // psubd    xmm2, xmm3
	QUAD $0x0000008c9f6e0f66     // movd    xmm3, dword [rdi + 140]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdaef0f66             // pxor    xmm3, xmm2
	LONG $0xd16f0f66             // movdqa    xmm2, xmm1
	LONG $0xd2720f66; BYTE $0x09 // psrld    xmm2, 9
	LONG $0xf1720f66; BYTE $0x17 // pslld    xmm1, 23
	LONG $0xcaeb0f66             // por    xmm1, xmm2
	LONG $0x576e0f66; BYTE $0x60 // movd    xmm2, dword [rdi + 96]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd3ef0f66             // pxor    xmm2, xmm3
	LONG $0xcafa0f66             // psubd    xmm1, xmm2
	LONG $0x576e0f66; BYTE $0x64 // movd    xmm2, dword [rdi + 100]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd1ef0f66             // pxor    xmm2, xmm1
	LONG $0xc86f0f66             // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x1b // psrld    xmm1, 27
	LONG $0xf0720f66; BYTE $0x05 // pslld    xmm0, 5
	LONG $0xc1eb0f66             // por    xmm0, xmm1
	LONG $0x4f6e0f66; BYTE $0x68 // movd    xmm1, dword [rdi + 104]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xcaef0f66             // pxor    xmm1, xmm2
	LONG $0xc1fa0f66             // psubd    xmm0, xmm1
	LONG $0x4f6e0f66; BYTE $0x6c // movd    xmm1, dword [rdi + 108]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xc8ef0f66             // pxor    xmm1, xmm0
	LONG $0xc46f0f66             // movdqa    xmm0, xmm4
	LONG $0xd0720f66; BYTE $0x1d // psrld    xmm0, 29
	LONG $0xf4720f66; BYTE $0x03 // pslld    xmm4, 3
	LONG $0xe0eb0f66             // por    xmm4, xmm0
	LONG $0x476e0f66; BYTE $0x70 // movd    xmm0, dword [rdi + 112]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66             // pxor    xmm0, xmm1
	LONG $0xe0fa0f66             // psubd    xmm4, xmm0
	LONG $0x476e0f66; BYTE $0x74 // movd    xmm0, dword [rdi + 116]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc4ef0f66             // pxor    xmm0, xmm4
	LONG $0xe36f0f66             // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x09 // psrld    xmm4, 9
	LONG $0xf3720f66; BYTE $0x17 // pslld    xmm3, 23
	LONG $0xdceb0f66             // por    xmm3, xmm4
	LONG $0x676e0f66; BYTE $0x48 // movd    xmm4, dword [rdi + 72]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe0ef0f66             // pxor    xmm4, xmm0
	LONG $0xdcfa0f66             // psubd    xmm3, xmm4
	LONG $0x676e0f66; BYTE $0x4c // movd    xmm4, dword [rdi + 76]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe3ef0f66             // pxor    xmm4, xmm3
	LONG $0xda6f0f66             // movdqa    xmm3, xmm2
	LONG $0xd3720f66; BYTE $0x1b // psrld    xmm3, 27
	LONG $0xf2720f66; BYTE $0x05 // pslld    xmm2, 5
	LONG $0xd3eb0f66             // por    xmm2, xmm3
	LONG $0x5f6e0f66; BYTE $0x50 // movd    xmm3, dword [rdi + 80]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66             // pxor    xmm3, xmm4
	LONG $0xd3fa0f66             // psubd    xmm2, xmm3
	LONG $0x5f6e0f66; BYTE $0x54 // movd    xmm3, dword [rdi + 84]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdaef0f66             // pxor    xmm3, xmm2
	LONG $0xd16f0f66             // movdqa    xmm2, xmm1
	LONG $0xd2720f66; BYTE $0x1d // psrld    xmm2, 29
	LONG $0xf1720f66; BYTE $0x03 // pslld    xmm1, 3
	LONG $0xcaeb0f66             // por    xmm1, xmm2
	LONG $0x576e0f66; BYTE $0x58 // movd    xmm2, dword [rdi + 88]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd3ef0f66             // pxor    xmm2, xmm3
	LONG $0xcafa0f66             // psubd    xmm1, xmm2
	LONG $0x576e0f66; BYTE $0x5c // movd    xmm2, dword [rdi + 92]
	LONG $0xd2700f66; BYTE $0x00 // pshufd    xmm2, xmm2, 0
	LONG $0xd1ef0f66             // pxor    xmm2, xmm1
	LONG $0xc86f0f66             // movdqa    xmm1, xmm0
	LONG $0xd1720f66; BYTE $0x09 // psrld    xmm1, 9
	LONG $0xf0720f66; BYTE $0x17 // pslld    xmm0, 23
	LONG $0xc1eb0f66             // por    xmm0, xmm1
	LONG $0x4f6e0f66; BYTE $0x30 // movd    xmm1, dword [rdi + 48]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xcaef0f66             // pxor    xmm1, xmm2
	LONG $0xc1fa0f66             // psubd    xmm0, xmm1
	LONG $0x4f6e0f66; BYTE $0x34 // movd    xmm1, dword [rdi + 52]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xc8ef0f66             // pxor    xmm1, xmm0
	LONG $0xc46f0f66             // movdqa    xmm0, xmm4
	LONG $0xd0720f66; BYTE $0x1b // psrld    xmm0, 27
	LONG $0xf4720f66; BYTE $0x05 // pslld    xmm4, 5
	LONG $0xe0eb0f66             // por    xmm4, xmm0
	LONG $0x476e0f66; BYTE $0x38 // movd    xmm0, dword [rdi + 56]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc1ef0f66             // pxor    xmm0, xmm1
	LONG $0xe0fa0f66             // psubd    xmm4, xmm0
	LONG $0x476e0f66; BYTE $0x3c // movd    xmm0, dword [rdi + 60]
	LONG $0xe8700f66; BYTE $0x00 // pshufd    xmm5, xmm0, 0
	LONG $0xecef0f66             // pxor    xmm5, xmm4
	LONG $0xc36f0f66             // movdqa    xmm0, xmm3
	LONG $0xd0720f66; BYTE $0x1d // psrld    xmm0, 29
	LONG $0xf3720f66; BYTE $0x03 // pslld    xmm3, 3
	LONG $0xd8eb0f66             // por    xmm3, xmm0
	LONG $0x476e0f66; BYTE $0x40 // movd    xmm0, dword [rdi + 64]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc5ef0f66             // pxor    xmm0, xmm5
	LONG $0xd8fa0f66             // psubd    xmm3, xmm0
	LONG $0x476e0f66; BYTE $0x44 // movd    xmm0, dword [rdi + 68]
	LONG $0xe0700f66; BYTE $0x00 // pshufd    xmm4, xmm0, 0
	LONG $0xe3ef0f66             // pxor    xmm4, xmm3
	LONG $0xc26f0f66             // movdqa    xmm0, xmm2
	LONG $0xd0720f66; BYTE $0x09 // psrld    xmm0, 9
	LONG $0xf2720f66; BYTE $0x17 // pslld    xmm2, 23
	LONG $0xd0eb0f66             // por    xmm2, xmm0
	LONG $0x476e0f66; BYTE $0x18 // movd    xmm0, dword [rdi + 24]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc4ef0f66             // pxor    xmm0, xmm4
	LONG $0xd0fa0f66             // psubd    xmm2, xmm0
	LONG $0x476e0f66; BYTE $0x1c // movd    xmm0, dword [rdi + 28]
	LONG $0xd8700f66; BYTE $0x00 // pshufd    xmm3, xmm0, 0
	LONG $0xdaef0f66             // pxor    xmm3, xmm2
	LONG $0xc16f0f66             // movdqa    xmm0, xmm1
	LONG $0xd0720f66; BYTE $0x1b // psrld    xmm0, 27
	LONG $0xf1720f66; BYTE $0x05 // pslld    xmm1, 5
	LONG $0xc8eb0f66             // por    xmm1, xmm0
	LONG $0x476e0f66; BYTE $0x20 // movd    xmm0, dword [rdi + 32]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc3ef0f66             // pxor    xmm0, xmm3
	LONG $0xc8fa0f66             // psubd    xmm1, xmm0
	LONG $0x476e0f66; BYTE $0x24 // movd    xmm0, dword [rdi + 36]
	LONG $0xd0700f66; BYTE $0x00 // pshufd    xmm2, xmm0, 0
	LONG $0xd1ef0f66             // pxor    xmm2, xmm1
	LONG $0xc56f0f66             // movdqa    xmm0, xmm5
	LONG $0xd0720f66; BYTE $0x1d // psrld    xmm0, 29
	LONG $0xf5720f66; BYTE $0x03 // pslld    xmm5, 3
	LONG $0xe8eb0f66             // por    xmm5, xmm0
	LONG $0x476e0f66; BYTE $0x28 // movd    xmm0, dword [rdi + 40]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc2ef0f66             // pxor    xmm0, xmm2
	LONG $0xe8fa0f66             // psubd    xmm5, xmm0
	LONG $0x476e0f66; BYTE $0x2c // movd    xmm0, dword [rdi + 44]
	LONG $0xc0700f66; BYTE $0x00 // pshufd    xmm0, xmm0, 0
	LONG $0xc5ef0f66             // pxor    xmm0, xmm5
	LONG $0xcc6f0f66             // movdqa    xmm1, xmm4
	LONG $0xd1720f66; BYTE $0x09 // psrld    xmm1, 9
	LONG $0xf4720f66; BYTE $0x17 // pslld    xmm4, 23
	LONG $0xe1eb0f66             // por    xmm4, xmm1
	LONG $0x0f6e0f66             // movd    xmm1, dword [rdi]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xc8ef0f66             // pxor    xmm1, xmm0
	LONG $0xe1fa0f66             // psubd    xmm4, xmm1
	LONG $0x4f6e0f66; BYTE $0x04 // movd    xmm1, dword [rdi + 4]
	LONG $0xc9700f66; BYTE $0x00 // pshufd    xmm1, xmm1, 0
	LONG $0xccef0f66             // pxor    xmm1, xmm4
	LONG $0xe36f0f66             // movdqa    xmm4, xmm3
	LONG $0xd4720f66; BYTE $0x1b // psrld    xmm4, 27
	LONG $0xf3720f66; BYTE $0x05 // pslld    xmm3, 5
	LONG $0xdceb0f66             // por    xmm3, xmm4
	LONG $0x676e0f66; BYTE $0x08 // movd    xmm4, dword [rdi + 8]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe1ef0f66             // pxor    xmm4, xmm1
	LONG $0xdcfa0f66             // psubd    xmm3, xmm4
	LONG $0x676e0f66; BYTE $0x0c // movd    xmm4, dword [rdi + 12]
	LONG $0xe4700f66; BYTE $0x00 // pshufd    xmm4, xmm4, 0
	LONG $0xe3ef0f66             // pxor    xmm4, xmm3
	LONG $0xda6f0f66             // movdqa    xmm3, xmm2
	LONG $0xd3720f66; BYTE $0x1d // psrld    xmm3, 29
	LONG $0xf2720f66; BYTE $0x03 // pslld    xmm2, 3
	LONG $0xd3eb0f66             // por    xmm2, xmm3
	LONG $0x5f6e0f66; BYTE $0x10 // movd    xmm3, dword [rdi + 16]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdcef0f66             // pxor    xmm3, xmm4
	LONG $0xd3fa0f66             // psubd    xmm2, xmm3
	LONG $0x5f6e0f66; BYTE $0x14 // movd    xmm3, dword [rdi + 20]
	LONG $0xdb700f66; BYTE $0x00 // pshufd    xmm3, xmm3, 0
	LONG $0xdaef0f66             // pxor    xmm3, xmm2
	LONG $0xd06f0f66             // movdqa    xmm2, xmm0
	LONG $0xd1620f66             // punpckldq    xmm2, xmm1
	LONG $0xec6f0f66             // movdqa    xmm5, xmm4
	LONG $0xeb620f66             // punpckldq    xmm5, xmm3
	LONG $0xc16a0f66             // punpckhdq    xmm0, xmm1
	LONG $0xe36a0f66             // punpckhdq    xmm4, xmm3
	LONG $0xca6f0f66             // movdqa    xmm1, xmm2
	LONG $0xcd6c0f66             // punpcklqdq    xmm1, xmm5
	LONG $0xd56d0f66             // punpckhqdq    xmm2, xmm5
	LONG $0xd86f0f66             // movdqa    xmm3, xmm0
	LONG $0xdc6c0f66             // punpcklqdq    xmm3, xmm4
	LONG $0xc46d0f66             // punpckhqdq    xmm0, xmm4
	LONG $0x0e7f0ff3             // movdqu    oword [rsi], xmm1
	LONG $0x567f0ff3; BYTE $0x10 // movdqu    oword [rsi + 16], xmm2
	LONG $0x5e7f0ff3; BYTE $0x20 // movdqu    oword [rsi + 32], xmm3
	LONG $0x467f0ff3; BYTE $0x30 // movdqu    oword [rsi + 48], xmm0
	RET
