// File: /workspace/github_c_makefile_star2_O1/mjosaarinen[P]brutus/crypto_aead/pi64cipher256v2oneround/ref/encrypt.c
// Function: crypto_aead_encrypt
int crypto_aead_encrypt(
unsigned char *c, unsigned long long *clen,
const unsigned char *m, unsigned long long mlen,
const unsigned char *ad, unsigned long long adlen,
const unsigned char *nsec,
const unsigned char *npub,
const unsigned char *k
)
{
	//...
	//... the code for the cipher implementation goes here,
	//... generating a ciphertext c[0],c[1],...,c[*clen-1]
	//... from a plaintext m[0],m[1],...,m[mlen-1]
	//... and associated data ad[0],ad[1],...,ad[adlen-1]
	//... and secret message number nsec[0],nsec[1],...
	//... and public message number npub[0],npub[1],...
	//... and secret key k[0],k[1],...
	//...

	// some 64-bit temp variables
	u_int64_t  t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13;
	// more 64-bit temp variables
	u_int64_t  x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
	// pointers to 64-bit variables
	u_int64_t  *c64, *m64, *ad64, *nsec64, *npub64, *k64;
	// counter ctr is a 64-bit variable in all variants of PiCipher
	u_int64_t  ctr = 0x0000000000000000ull;
	// an array for storing some temporal values for the Tag computation
	u_int64_t  tempTag[CRYPTO_ABYTES / W] = { 0 };
	// an array for the Common Internal State
	u_int64_t  CIS[IS_SIZE] = { 0 };
	// pointers that look at the used data arrays as arrays of bytes
	u_int8_t   *InternalState8, *CommonInternalState8, *tempTag8;
	// variables for dealing with various lengths of the plaintext and associated data
	int        LastMessageChunkLength, LastADChunkLength;
	// different iterator variables
	unsigned long long i, j, jj, ii, b, i1, j1, a;

	c64 = (u_int64_t *)c;
	m64 = (u_int64_t *)m;
	ad64 = (u_int64_t *)ad;
	nsec64 = (u_int64_t *)nsec;
	npub64 = (u_int64_t *)npub;
	k64 = (u_int64_t *)k;
	InternalState8 = (u_int8_t *)IS;
	CommonInternalState8 = (u_int8_t *)CIS;
	tempTag8 = (u_int8_t *)tempTag;

	// phase 1: Initialization
	for (i = 0; i < IS_SIZE; i++) {
		IS[i] = 0;
	}
	// injection of the key
	for (i = 0; i < CRYPTO_KEYBYTES; i++) {
		InternalState8[i] = k[i];
	}
	// injection of the nonce (public message number - PMN)
	for (j = 0; j < CRYPTO_NPUBBYTES; j++) {
		InternalState8[i++] = npub[j];
	}
	// appending a single 1 to the concatenated value of the key and PMN
	InternalState8[i] = 0x01;

	// applying the permutation function pi
	pi();

	// initialization of the Common Internal State (CIS), common for all parallel invocations of pi() with different ctrs
	for (i = 0; i < IS_SIZE; i++) {
		CIS[i] = IS[i];
	}

	// initialization of the ctr obtained from the first 64 bits of the capacity of CIS
	ctr = CIS[4];

	// phase 2: Processing the associated data
	b = 0;
	a = adlen / RATE;
	for (j = 0; j < a; j++) {
		// IS for the triplex component is initialized by the CIS for every AD block
		for (i = 0; i < IS_SIZE; i++) {
			IS[i] = CIS[i];
		}
		ctr++;
		// Inject ctr + j in IS
		IS[0] = IS[0] ^ ctr;
		pi();
		// process the AD block
		// Inject the AD block
		for (i = 0; i < N; i += 2) {
			for (i1 = 0; i1 < WORDS_CHUNK; i1++) {
				IS[i*WORDS_CHUNK + i1] = IS[i*WORDS_CHUNK + i1] ^ ad64[b];
				b++;
			}
		}
		pi();
		// Collect the tag for this block
		// Sum of the tags componentwise, where the length of one component is W
		jj = 0;
		for (i = 0; i < N; i += 2) {
			for (i1 = 0; i1 < WORDS_CHUNK; i1++) {
				tempTag[jj] = tempTag[jj] + IS[i*WORDS_CHUNK + i1];
				jj++;
			}
		}
	}
	// if the last AD block is not the full block, we process it byte by byte
	LastADChunkLength = adlen % RATE;
	if (LastADChunkLength) {
		b = b * W;
		i1 = 0;
		for (i = 0; i < IS_SIZE; i++) {
			IS[i] = CIS[i];
		}
		ctr++;
		IS[0] = IS[0] ^ ctr;
		pi();
		for (i = 0; i < LastADChunkLength; i++) {
			InternalState8[i1] = InternalState8[i1] ^ ad[b + i];
			i1++;
			if (i1 % (WORDS_CHUNK*W) == 0) i1 += WORDS_CHUNK*W;
		}
		// padding with 10*
		InternalState8[i1] = InternalState8[i1] ^ 0x01;
		pi();
		//updating the tag
		jj = 0;
		for (i = 0; i < N; i += 2) {
			for (i1 = 0; i1 < WORDS_CHUNK; i1++) {
				tempTag[jj] = tempTag[jj] + IS[i*WORDS_CHUNK + i1];
				jj++;
			}
		}
	}
	// if the AD is full blocks we still need to append 10* and it is done in an additional block
	else{
		for ( i = 0; i < IS_SIZE; i++ ) {
			IS[i] = CIS[i];
		}
		ctr++;
		IS[0] = IS[0] ^ ctr;
		pi();
		// padding with 10*
		InternalState8[0] = InternalState8[0] ^ 0x01;
		pi();
		//updating the tag
		jj = 0;
		for ( i = 0; i < N; i+=2 ) {
			for ( i1 = 0; i1 < WORDS_CHUNK; i1++ ) {
				tempTag[jj] = tempTag[jj] + IS[i*WORDS_CHUNK+i1];
				jj++;
			}
		}
	}

	// updating the Common Internal State by injection of the tag (tempTag) obtained from the associated data
	jj = 0;
	for (i = 0; i < N; i += 2) {
		for (i1 = 0; i1 < WORDS_CHUNK; i1++) {
			IS[i*WORDS_CHUNK + i1] = CIS[i*WORDS_CHUNK + i1] ^ tempTag[jj];
			IS[(i + 1)*WORDS_CHUNK + i1] = CIS[(i + 1)*WORDS_CHUNK + i1];
			jj++;
		}
	}
	pi();
	for (i = 0; i < IS_SIZE; i++) {
		CIS[i] = IS[i];
	}

	// phase 3: Processing the secret message number
	if (CRYPTO_NSECBYTES > 0) {
		for (i = 0; i < IS_SIZE; i++) {
			IS[i] = CIS[i];
		}
		ctr++;
		IS[0] = IS[0] ^ ctr;
		pi();
		// encrypt the SMN
		// Inject the SMN
		b = 0;
		for (i = 0; i < N; i += 2) {
			for (i1 = 0; i1 < WORDS_CHUNK; i1++) {
				c64[b] = IS[i*WORDS_CHUNK + i1] = IS[i*WORDS_CHUNK + i1] ^ nsec64[b];
				b++;
			}
		}
		pi();

		// updating the Common Internal State from the encrypted SMN
		for (i = 0; i < IS_SIZE; i++) {
			CIS[i] = IS[i];
		}
		// Collect the tag from this encryption and update the tempTag
		jj = 0;
		for (i = 0; i < N; i += 2) {
			for (i1 = 0; i1 < WORDS_CHUNK; i1++) {
				tempTag[jj] = tempTag[jj] + IS[i*WORDS_CHUNK + i1];
				jj++;
			}
		}
	}

	//phase 4: Processing the message
	b = 0;
	for (j = 0; j < mlen / RATE; j++) {
		for (i = 0; i < IS_SIZE; i++) {
			IS[i] = CIS[i];
		}
		ctr++;
		IS[0] = IS[0] ^ ctr;
		pi();
		// encrypt the message m
		// Inject a block of m
		for (i = 0; i < N; i += 2) {
			for (i1 = 0; i1 < WORDS_CHUNK; i1++) {
				c64[bSMN + b] = IS[i*WORDS_CHUNK + i1] = IS[i*WORDS_CHUNK + i1] ^ m64[b];
				b++;
			}
		}
		pi();
		// Collect the tag from this encryption and update the tempTag
		jj = 0;
		for (i = 0; i < N; i += 2) {
			for (i1 = 0; i1 < WORDS_CHUNK; i1++) {
				tempTag[jj] = tempTag[jj] + IS[i*WORDS_CHUNK + i1];
				jj++;
			}
		}
	}
	// if the last message block is not the full block, we process it byte by byte
	LastMessageChunkLength = mlen % RATE;
	if (LastMessageChunkLength) {
		b = b * W;
		i1 = 0;
		for (i = 0; i < IS_SIZE; i++) {
			IS[i] = CIS[i];
		}
		ctr++;
		IS[0] = IS[0] ^ ctr;
		pi();
		for (i = 0; i < LastMessageChunkLength; i++) {
			c[CRYPTO_NSECBYTES + b + i] = InternalState8[i1] = InternalState8[i1] ^ m[b + i];
			i1++;
			if (i1 % (WORDS_CHUNK*W) == 0) i1 += WORDS_CHUNK*W;
		}
		// padding with 10*
		InternalState8[i1] = InternalState8[i1] ^ 0x01;
		pi();
		// updating the tag
		jj = 0;
		for (i = 0; i < N; i += 2) {
			for (i1 = 0; i1 < WORDS_CHUNK; i1++) {
				tempTag[jj] = tempTag[jj] + IS[i*WORDS_CHUNK + i1];
				jj++;
			}
		}
	}
	// if the message is full blocks we still need to append 10* and it is done in an additional block
	else{
		for ( i = 0; i < IS_SIZE; i++ ) {
			IS[i] = CIS[i];
		}
		ctr++;
		IS[0] = IS[0] ^ ctr;
		pi();
		// padding with 10*
		InternalState8[0] = InternalState8[0] ^ 0x01;
		pi();
		//updating the tag
		jj = 0;
		for ( i = 0; i < N; i+=2 ) {
			for ( i1 = 0; i1 < WORDS_CHUNK; i1++ ) {
				tempTag[jj] = tempTag[jj] + IS[i*WORDS_CHUNK+i1];
				jj++;
			}
		}
	}

	// concatenation of the tag T to the ciphertext c
	for (jj = 0; jj < CRYPTO_ABYTES; jj++) {
		c[CRYPTO_NSECBYTES + mlen + jj] = tempTag8[jj];
	}

	//updating the length of the ciphertext
	*clen = mlen + CRYPTO_ABYTES + CRYPTO_NSECBYTES;

	return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x20e8, %rsp           # imm = 0x20E8
movq %r9, 0x18(%rsp)
movq %r8, 0x28(%rsp)
movq %rcx, %r13
movq %rdx, 0x48(%rsp)
movq %rsi, 0xd8(%rsp)
movq %rdi, 0x20(%rsp)
movq 0x2130(%rsp), %r15
movq 0x2128(%rsp), %r14
leaq 0xe0(%rsp), %rdi
xorl %r12d, %r12d
movl $0x2000, %edx           # imm = 0x2000
xorl %esi, %esi
callq 0x1030
vxorps %xmm0, %xmm0, %xmm0
vmovups %ymm0, 0xb0(%rsp)
vmovups %ymm0, 0x90(%rsp)
vmovups %ymm0, 0x70(%rsp)
vmovups %ymm0, 0x50(%rsp)
movq 0xae1c(%rip), %rbx      # 0xbff8
vmovups %ymm0, (%rbx)
vmovups %ymm0, 0x20(%rbx)
vmovups %ymm0, 0x40(%rbx)
vmovups %ymm0, 0x60(%rbx)
movb (%r15,%r12), %al
movb %al, (%rbx,%r12)
incq %r12
cmpq $0x20, %r12
jne 0x11ef
movq %r13, 0x30(%rsp)
xorl %eax, %eax
movb (%r14,%rax), %cl
movb %cl, 0x20(%rbx,%rax)
incq %rax
cmpq $0x10, %rax
jne 0x1207
movabsq $-0xf171b1d1e272b2e, %r9 # imm = 0xF0E8E4E2E1D8D4D2
movabsq $-0x2e333536393a3c48, %r13 # imm = 0xD1CCCAC9C6C5C3B8
movabsq $-0x5c636566696a6c72, %rbp # imm = 0xA39C9A999695938E
movabsq $0x3a393635332e2d2b, %r10 # imm = 0x3A393635332E2D2B
movb $0x1, 0x30(%rbx)
vmovdqa (%rbx), %xmm0
movq 0x10(%rbx), %rax
movq 0x18(%rbx), %rcx
vmovdqu 0x8(%rbx), %xmm1
vmovq %rax, %xmm2
vpaddq %xmm0, %xmm2, %xmm2
vpbroadcastq %xmm2, %xmm2
vpinsrq $0x1, %rcx, %xmm1, %xmm1
vpaddq %xmm1, %xmm2, %xmm1
vpaddq 0x8d8b(%rip), %xmm1, %xmm1 # 0xa000
vprolvq 0x8d91(%rip), %xmm1, %xmm1 # 0xa010
vpbroadcastq %rcx, %xmm2
vpinsrq $0x1, %rax, %xmm0, %xmm0
vpaddq %xmm0, %xmm2, %xmm0
vpaddq 0x8(%rbx){1to2}, %xmm0, %xmm0
vpaddq 0x8d82(%rip), %xmm0, %xmm0 # 0xa020
vprolvq 0x8d88(%rip), %xmm0, %xmm2 # 0xa030
vpxor %xmm1, %xmm2, %xmm0
vinserti128 $0x1, %xmm0, %ymm0, %ymm0
vpermq $0xb4, %ymm0, %ymm3     # ymm3 = ymm0[0,1,3,2]
vpmovsxbq 0x8e7f(%rip), %ymm0 # 0xa140
vpermt2q %ymm2, %ymm0, %ymm1
vpxor %ymm1, %ymm3, %ymm1
vpaddq 0x8e0d(%rip), %ymm1, %ymm1 # 0xa0e0
vmovdqu %ymm1, (%rbx)
xorl %r11d, %r11d
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r9,%rdx), %r14
addq %rsi, %r14
rorxq $0x39, %r14, %r12
movq 0x18(%rbx,%r11), %r15
leaq (%r15,%r13), %r14
addq %rsi, %r14
rorxq $0x2d, %r14, %r14
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r15, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %rbp, %r15
addq %rdx, %r15
rorxq $0xb, %r15, %r15
movq %r14, %rax
xorq %r12, %rax
movq %rax, %rcx
xorq %r15, %rcx
xorq %rsi, %rax
xorq %rsi, %r15
xorq %r15, %r14
xorq %r12, %r15
movq 0x20(%rbx,%r11), %rsi
movq 0x30(%rbx,%r11), %rdx
movq 0x38(%rbx,%r11), %r12
leaq (%rdx,%rsi), %r13
movabsq $-0x727478878b8d8e94, %rdi # imm = 0x8D8B87787472716C
leaq (%rdi,%r12), %rbp
addq %r13, %rbp
movq 0x28(%rbx,%r11), %rdi
addq %r12, %rdx
movabsq $0x6a696665635c5a59, %r8 # imm = 0x6A696665635C5A59
addq %rdi, %r8
addq %r8, %rdx
movabsq $0x5655534e4d4b473c, %r8 # imm = 0x5655534E4D4B473C
addq %rdi, %r8
addq %r13, %r8
movabsq $-0x2e333536393a3c48, %r13 # imm = 0xD1CCCAC9C6C5C3B8
movabsq $-0xf171b1d1e272b2e, %r9 # imm = 0xF0E8E4E2E1D8D4D2
rorxq $0x29, %rdx, %rdx
rorxq $0x1b, %r8, %r8
addq %rsi, %r12
addq %r10, %rdi
addq %r12, %rdi
rorxq $0x5, %rdi, %rsi
movq %rsi, %rdi
xorq %r8, %rdi
movq %rdi, %r12
xorq %rdx, %r12
addq %rcx, %r12
rorxq $0x35, %rbp, %rcx
movabsq $-0x5c636566696a6c72, %rbp # imm = 0xA39C9A999695938E
xorq %rcx, %rdi
addq %rax, %rdi
xorq %rcx, %rdx
xorq %rdx, %rsi
addq %r14, %rsi
xorq %r8, %rdx
addq %r15, %rdx
movq %r12, 0x38(%rbx,%r11)
movq %rdi, 0x20(%rbx,%r11)
movq %rsi, 0x28(%rbx,%r11)
movq %rdx, 0x30(%rbx,%r11)
addq $0x20, %r11
cmpq $0x60, %r11
jne 0x12da
vmovdqa 0x60(%rbx), %xmm1
vmovdqu 0x68(%rbx), %xmm2
vpaddq 0x60(%rbx){1to2}, %xmm2, %xmm3
vpaddq 0x70(%rbx), %xmm3, %xmm3
vpaddq 0x8c06(%rip), %xmm3, %xmm3 # 0xa040
vprolvq 0x8c0c(%rip), %xmm3, %xmm3 # 0xa050
vpunpcklqdq %xmm2, %xmm1, %xmm1 # xmm1 = xmm1[0],xmm2[0]
vpaddq %xmm1, %xmm2, %xmm1
vpaddq 0x78(%rbx){1to2}, %xmm1, %xmm1
vpaddq 0x8c05(%rip), %xmm1, %xmm1 # 0xa060
vprolvq 0x8c0b(%rip), %xmm1, %xmm1 # 0xa070
vpxor %xmm3, %xmm1, %xmm2
vinserti128 $0x1, %xmm2, %ymm2, %ymm2
vpermq $0xb4, %ymm2, %ymm2     # ymm2 = ymm2[0,1,3,2]
vpermt2q %ymm1, %ymm0, %ymm3
vpxor %ymm3, %ymm2, %ymm1
vpaddq 0x8c79(%rip), %ymm1, %ymm1 # 0xa100
vmovdqu %ymm1, 0x60(%rbx)
movl $0x40, %r11d
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r9,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
leaq (%r8,%r13), %r14
addq %rsi, %r14
rorxq $0x2d, %r14, %r14
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %rbp, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r14, %rax
xorq %rdi, %rax
movq %rax, %rcx
xorq %r15, %rcx
xorq %rsi, %rax
xorq %rsi, %r15
xorq %r15, %r14
xorq %rdi, %r15
movq 0x20(%rbx,%r11), %rsi
movq 0x30(%rbx,%r11), %rdx
movq 0x38(%rbx,%r11), %rdi
leaq (%rdx,%rsi), %r8
movabsq $-0x727478878b8d8e94, %r9 # imm = 0x8D8B87787472716C
leaq (%r9,%rdi), %r12
addq %r8, %r12
movq 0x28(%rbx,%r11), %r13
addq %rdi, %rdx
movabsq $0x6a696665635c5a59, %r9 # imm = 0x6A696665635C5A59
addq %r9, %rdx
addq %r13, %rdx
movabsq $0x5655534e4d4b473c, %r9 # imm = 0x5655534E4D4B473C
leaq (%r9,%r13), %rbp
addq %r8, %rbp
rorxq $0x29, %rdx, %rdx
rorxq $0x1b, %rbp, %r8
movabsq $-0x5c636566696a6c72, %rbp # imm = 0xA39C9A999695938E
addq %rsi, %rdi
addq %r10, %r13
addq %rdi, %r13
rorxq $0x5, %r13, %rsi
movq %rsi, %rdi
xorq %r8, %rdi
movq %rdi, %r13
xorq %rdx, %r13
addq %rcx, %r13
rorxq $0x35, %r12, %rcx
xorq %rcx, %rdi
addq %rax, %rdi
xorq %rcx, %rdx
xorq %rdx, %rsi
addq %r14, %rsi
xorq %r8, %rdx
addq %r15, %rdx
movq %r13, 0x18(%rbx,%r11)
movabsq $-0x2e333536393a3c48, %r13 # imm = 0xD1CCCAC9C6C5C3B8
movabsq $-0xf171b1d1e272b2e, %r9 # imm = 0xF0E8E4E2E1D8D4D2
movq %rdi, (%rbx,%r11)
movq %rsi, 0x8(%rbx,%r11)
movq %rdx, 0x10(%rbx,%r11)
addq $-0x20, %r11
cmpq $-0x20, %r11
jne 0x1492
vmovdqu (%rbx), %ymm1
vmovdqu 0x20(%rbx), %ymm2
vmovdqu 0x40(%rbx), %ymm3
vmovdqu 0x60(%rbx), %ymm4
vmovdqu %ymm2, 0x70(%rsp)
vmovdqu %ymm4, 0xb0(%rsp)
vmovdqu %ymm3, 0x90(%rsp)
vmovdqu %ymm1, 0x50(%rsp)
movq 0x70(%rsp), %rcx
movq 0x18(%rsp), %rax
cmpq $0x40, %rax
jae 0x161d
xorl %r14d, %r14d
jmp 0x1edf
shrq $0x6, %rax
movq %rax, 0x38(%rsp)
vmovdqa 0x8a52(%rip), %xmm1     # 0xa080
vpmovsxbq 0x8b19(%rip), %xmm2 # 0xa150
vmovdqa 0x8a61(%rip), %xmm3     # 0xa0a0
vpmovsxbq 0x8b0a(%rip), %xmm4 # 0xa152
vpmovsxbq 0x8af3(%rip), %ymm5 # 0xa144
vmovdqa 0x8a87(%rip), %ymm6     # 0xa0e0
vmovdqa 0x89df(%rip), %xmm7     # 0xa040
vpmovsxbq 0x8aea(%rip), %xmm8 # 0xa154
vmovdqa 0x89ee(%rip), %xmm9     # 0xa060
vpmovsxbq 0x8adb(%rip), %xmm10 # 0xa156
vmovdqa 0x8a7d(%rip), %ymm11    # 0xa100
vmovdqa 0x8975(%rip), %xmm12    # 0xa000
vpmovsxbq 0x8ac4(%rip), %xmm13 # 0xa158
movq $0x0, 0x10(%rsp)
vmovdqa 0x897b(%rip), %xmm14    # 0xa020
vpmovsxbq 0x8aac(%rip), %xmm15 # 0xa15a
xorl %eax, %eax
movq %rax, 0x40(%rsp)
vmovups 0x50(%rsp), %ymm16
vmovups 0x70(%rsp), %ymm17
vmovups 0x90(%rsp), %ymm18
vmovups 0xb0(%rsp), %ymm19
vmovups %ymm16, (%rbx)
vmovups %ymm19, 0x60(%rbx)
vmovups %ymm18, 0x40(%rbx)
vmovups %ymm17, 0x20(%rbx)
incq %rcx
movq (%rbx), %rax
movq %rcx, 0x8(%rsp)
xorq %rcx, %rax
movq %rax, (%rbx)
movq 0x8(%rbx), %rcx
vmovdqa64 0x10(%rbx), %xmm16
vmovq %rax, %xmm17
vpaddq %xmm17, %xmm16, %xmm18
vpbroadcastq 0x18(%rbx), %xmm19
vpinsrq $0x1, %rcx, %xmm19, %xmm19
vpbroadcastq %xmm18, %xmm18
vpaddq %xmm19, %xmm18, %xmm18
vpaddq %xmm1, %xmm18, %xmm18
vprolvq %xmm2, %xmm18, %xmm18
valignq $0x1, %xmm16, %xmm17, %xmm17 # xmm17 = xmm16[1],xmm17[0]
vpbroadcastq %rcx, %xmm19
vpaddq %xmm19, %xmm16, %xmm16
vpaddq %xmm17, %xmm16, %xmm16
vpaddq %xmm3, %xmm16, %xmm16
vprolvq %xmm4, %xmm16, %xmm16
vpxorq %xmm18, %xmm16, %xmm17
vpermt2q %ymm16, %ymm5, %ymm18
vpermq $0x41, %ymm17, %ymm16   # ymm16 = ymm17[1,0,0,1]
vpxorq %ymm18, %ymm16, %ymm16
vpaddq %ymm6, %ymm16, %ymm16
vmovdqu64 %ymm16, (%rbx)
xorl %r11d, %r11d
movabsq $-0xf171b1d1e272b2e, %rdi # imm = 0xF0E8E4E2E1D8D4D2
movabsq $-0x4b4d4e535556595b, %r15 # imm = 0xB4B2B1ACAAA9A6A5
movq %r13, %r9
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
movq %rdi, %r10
addq %rdx, %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
leaq (%r9,%r8), %r14
addq %rsi, %r14
rorxq $0x2d, %r14, %r14
addq %rdx, %rax
addq %r15, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %rbp, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r12
movq %r14, %rax
xorq %rdi, %rax
movq %rax, %rcx
xorq %r12, %rcx
xorq %rsi, %rax
xorq %rsi, %r12
xorq %r12, %r14
xorq %rdi, %r12
movq 0x20(%rbx,%r11), %rsi
movq 0x30(%rbx,%r11), %rdx
movq 0x38(%rbx,%r11), %rdi
leaq (%rdx,%rsi), %r8
movabsq $-0x727478878b8d8e94, %r15 # imm = 0x8D8B87787472716C
addq %rdi, %r15
addq %r8, %r15
movq 0x28(%rbx,%r11), %rbp
addq %rdi, %rdx
movq %r9, %r13
movabsq $0x6a696665635c5a59, %r9 # imm = 0x6A696665635C5A59
addq %rbp, %r9
addq %r9, %rdx
movabsq $0x5655534e4d4b473c, %r9 # imm = 0x5655534E4D4B473C
addq %rbp, %r9
addq %r8, %r9
rorxq $0x29, %rdx, %rdx
rorxq $0x1b, %r9, %r8
addq %rsi, %rdi
movabsq $0x3a393635332e2d2b, %rsi # imm = 0x3A393635332E2D2B
addq %rsi, %rbp
addq %rdi, %rbp
rorxq $0x5, %rbp, %rsi
movabsq $-0x5c636566696a6c72, %rbp # imm = 0xA39C9A999695938E
movq %rsi, %rdi
xorq %r8, %rdi
movq %rdi, %r9
xorq %rdx, %r9
addq %rcx, %r9
rorxq $0x35, %r15, %rcx
movabsq $-0x4b4d4e535556595b, %r15 # imm = 0xB4B2B1ACAAA9A6A5
xorq %rcx, %rdi
addq %rax, %rdi
xorq %rcx, %rdx
xorq %rdx, %rsi
addq %r14, %rsi
xorq %r8, %rdx
addq %r12, %rdx
movq %r9, 0x38(%rbx,%r11)
movq %r13, %r9
movq %rdi, 0x20(%rbx,%r11)
movq %r10, %rdi
movq %rsi, 0x28(%rbx,%r11)
movq %rdx, 0x30(%rbx,%r11)
addq $0x20, %r11
cmpq $0x60, %r11
jne 0x17ae
vmovdqa64 0x60(%rbx), %xmm16
vmovdqu64 0x68(%rbx), %xmm17
vpaddq 0x60(%rbx){1to2}, %xmm17, %xmm18
vpaddq 0x70(%rbx), %xmm18, %xmm18
vpaddq %xmm7, %xmm18, %xmm18
vpunpcklqdq %xmm17, %xmm16, %xmm16 # xmm16 = xmm16[0],xmm17[0]
vpaddq %xmm16, %xmm17, %xmm16
vpaddq 0x78(%rbx){1to2}, %xmm16, %xmm16
vprolvq %xmm8, %xmm18, %xmm17
vpaddq %xmm9, %xmm16, %xmm16
vprolvq %xmm10, %xmm16, %xmm16
vpxorq %xmm17, %xmm16, %xmm18
vinserti32x4 $0x1, %xmm18, %ymm18, %ymm18
vpermq $0xb4, %ymm18, %ymm18   # ymm18 = ymm18[0,1,3,2]
vpermt2q %ymm16, %ymm0, %ymm17
vpxorq %ymm17, %ymm18, %ymm16
vpaddq %ymm11, %ymm16, %ymm16
vmovdqu64 %ymm16, 0x60(%rbx)
movl $0x40, %r11d
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
leaq (%r8,%r13), %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r14
addq %rdx, %rax
addq %r15, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %rbp, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r12
movq %r14, %rax
xorq %rdi, %rax
movq %rax, %rcx
xorq %r12, %rcx
xorq %rsi, %rax
xorq %rsi, %r12
xorq %r12, %r14
xorq %rdi, %r12
movq 0x20(%rbx,%r11), %rsi
movq 0x30(%rbx,%r11), %rdx
movq 0x38(%rbx,%r11), %rdi
leaq (%rdx,%rsi), %r8
movabsq $-0x727478878b8d8e94, %r9 # imm = 0x8D8B87787472716C
addq %rdi, %r9
addq %r8, %r9
movq 0x28(%rbx,%r11), %r15
addq %rdi, %rdx
movabsq $0x6a696665635c5a59, %rbp # imm = 0x6A696665635C5A59
addq %r15, %rbp
addq %rbp, %rdx
movabsq $0x5655534e4d4b473c, %rbp # imm = 0x5655534E4D4B473C
addq %r15, %rbp
addq %r8, %rbp
rorxq $0x29, %rdx, %rdx
rorxq $0x1b, %rbp, %r8
movabsq $-0x5c636566696a6c72, %rbp # imm = 0xA39C9A999695938E
addq %rsi, %rdi
movabsq $0x3a393635332e2d2b, %rsi # imm = 0x3A393635332E2D2B
addq %rsi, %r15
addq %rdi, %r15
rorxq $0x5, %r15, %rsi
movq %rsi, %rdi
xorq %r8, %rdi
movq %rdi, %r15
xorq %rdx, %r15
addq %rcx, %r15
rorxq $0x35, %r9, %rcx
xorq %rcx, %rdi
addq %rax, %rdi
xorq %rcx, %rdx
xorq %rdx, %rsi
addq %r14, %rsi
xorq %r8, %rdx
addq %r12, %rdx
movq %r15, 0x18(%rbx,%r11)
movabsq $-0x4b4d4e535556595b, %r15 # imm = 0xB4B2B1ACAAA9A6A5
movq %rdi, (%rbx,%r11)
movq %rsi, 0x8(%rbx,%r11)
movq %rdx, 0x10(%rbx,%r11)
addq $-0x20, %r11
cmpq $-0x20, %r11
jne 0x196d
movq %r13, %r9
movq %rbx, %rcx
xorl %edx, %edx
movq 0x28(%rsp), %r8
movq 0x10(%rsp), %rdi
movq %rdi, %r11
leaq (,%rdi,8), %r14
leaq (%r8,%rdi,8), %rsi
xorl %eax, %eax
movq (%rsi,%rax,8), %rdi
xorq %rdi, (%rcx,%rax,8)
incq %rax
addq $0x8, %r14
cmpq $0x4, %rax
jne 0x1ac6
leaq 0x2(%rdx), %rsi
addq $0x40, %rcx
leaq (%r11,%rax), %rdi
testq %rdx, %rdx
movq %rsi, %rdx
je 0x1ab5
vmovdqa64 (%rbx), %xmm16
movq 0x10(%rbx), %rcx
movq 0x18(%rbx), %rdx
vmovdqu64 0x8(%rbx), %xmm17
vmovq %rcx, %xmm18
vpaddq %xmm16, %xmm18, %xmm18
vpbroadcastq %xmm18, %xmm18
vpinsrq $0x1, %rdx, %xmm17, %xmm17
vpaddq %xmm17, %xmm18, %xmm17
vpaddq %xmm12, %xmm17, %xmm17
vprolvq %xmm13, %xmm17, %xmm17
vpbroadcastq %rdx, %xmm18
vpinsrq $0x1, %rcx, %xmm16, %xmm16
vpaddq %xmm16, %xmm18, %xmm16
vpaddq 0x8(%rbx){1to2}, %xmm16, %xmm16
vpaddq %xmm14, %xmm16, %xmm16
vprolvq %xmm15, %xmm16, %xmm16
vpxorq %xmm17, %xmm16, %xmm18
vinserti32x4 $0x1, %xmm18, %ymm18, %ymm18
vpermq $0xb4, %ymm18, %ymm18   # ymm18 = ymm18[0,1,3,2]
vpermt2q %ymm16, %ymm0, %ymm17
vpxorq %ymm17, %ymm18, %ymm16
vpaddq %ymm6, %ymm16, %ymm16
vmovdqu64 %ymm16, (%rbx)
addq %rax, %r11
movq %r11, 0x10(%rsp)
xorl %r11d, %r11d
movabsq $-0x4b4d4e535556595b, %r10 # imm = 0xB4B2B1ACAAA9A6A5
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
movabsq $-0xf171b1d1e272b2e, %rdi # imm = 0xF0E8E4E2E1D8D4D2
addq %rdx, %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
movq %r9, %r13
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r12
addq %rdx, %rax
addq %r10, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %rbp, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r12, %rax
xorq %rdi, %rax
movq %rax, %rcx
xorq %r15, %rcx
xorq %rsi, %rax
xorq %rsi, %r15
xorq %r15, %r12
xorq %rdi, %r15
movq 0x20(%rbx,%r11), %rsi
movq 0x30(%rbx,%r11), %rdx
movq 0x38(%rbx,%r11), %rdi
leaq (%rdx,%rsi), %r8
movabsq $-0x727478878b8d8e94, %r9 # imm = 0x8D8B87787472716C
addq %rdi, %r9
addq %r8, %r9
movq 0x28(%rbx,%r11), %rbp
addq %rdi, %rdx
movabsq $0x6a696665635c5a59, %r10 # imm = 0x6A696665635C5A59
addq %rbp, %r10
addq %r10, %rdx
movabsq $0x5655534e4d4b473c, %r10 # imm = 0x5655534E4D4B473C
addq %rbp, %r10
addq %r8, %r10
rorxq $0x29, %rdx, %rdx
rorxq $0x1b, %r10, %r8
addq %rsi, %rdi
movabsq $0x3a393635332e2d2b, %rsi # imm = 0x3A393635332E2D2B
addq %rsi, %rbp
addq %rdi, %rbp
rorxq $0x5, %rbp, %rsi
movabsq $-0x5c636566696a6c72, %rbp # imm = 0xA39C9A999695938E
movq %rsi, %rdi
xorq %r8, %rdi
movq %rdi, %r10
xorq %rdx, %r10
addq %rcx, %r10
rorxq $0x35, %r9, %rcx
movq %r13, %r9
xorq %rcx, %rdi
addq %rax, %rdi
xorq %rcx, %rdx
xorq %rdx, %rsi
addq %r12, %rsi
xorq %r8, %rdx
addq %r15, %rdx
movq %r10, 0x38(%rbx,%r11)
movabsq $-0x4b4d4e535556595b, %r10 # imm = 0xB4B2B1ACAAA9A6A5
movq %rdi, 0x20(%rbx,%r11)
movq %rsi, 0x28(%rbx,%r11)
movq %rdx, 0x30(%rbx,%r11)
addq $0x20, %r11
cmpq $0x60, %r11
jne 0x1b99
vmovdqa64 0x60(%rbx), %xmm16
vmovdqu64 0x68(%rbx), %xmm17
vpaddq 0x60(%rbx){1to2}, %xmm17, %xmm18
vpaddq 0x70(%rbx), %xmm18, %xmm18
vpaddq %xmm7, %xmm18, %xmm18
vpunpcklqdq %xmm17, %xmm16, %xmm16 # xmm16 = xmm16[0],xmm17[0]
vpaddq %xmm16, %xmm17, %xmm16
vpaddq 0x78(%rbx){1to2}, %xmm16, %xmm16
vprolvq %xmm8, %xmm18, %xmm17
vpaddq %xmm9, %xmm16, %xmm16
vprolvq %xmm10, %xmm16, %xmm16
vpxorq %xmm17, %xmm16, %xmm18
vinserti32x4 $0x1, %xmm18, %ymm18, %ymm18
vpermq $0xb4, %ymm18, %ymm18   # ymm18 = ymm18[0,1,3,2]
vpermt2q %ymm16, %ymm0, %ymm17
vpxorq %ymm17, %ymm18, %ymm16
vpaddq %ymm11, %ymm16, %ymm16
vmovdqu64 %ymm16, 0x60(%rbx)
movl $0x40, %r11d
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
movabsq $-0xf171b1d1e272b2e, %rdi # imm = 0xF0E8E4E2E1D8D4D2
addq %rdx, %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
leaq (%r8,%r13), %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r12
addq %rdx, %rax
addq %r10, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %rbp, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r12, %rax
xorq %rdi, %rax
movq %rax, %rcx
xorq %r15, %rcx
xorq %rsi, %rax
xorq %rsi, %r15
xorq %r15, %r12
xorq %rdi, %r15
movq 0x20(%rbx,%r11), %rsi
movq 0x30(%rbx,%r11), %rdx
movq 0x38(%rbx,%r11), %rdi
leaq (%rdx,%rsi), %r8
movabsq $-0x727478878b8d8e94, %r9 # imm = 0x8D8B87787472716C
addq %rdi, %r9
addq %r8, %r9
movq 0x28(%rbx,%r11), %r10
addq %rdi, %rdx
movabsq $0x6a696665635c5a59, %rbp # imm = 0x6A696665635C5A59
addq %r10, %rbp
addq %rbp, %rdx
movabsq $0x5655534e4d4b473c, %rbp # imm = 0x5655534E4D4B473C
addq %r10, %rbp
addq %r8, %rbp
rorxq $0x29, %rdx, %rdx
rorxq $0x1b, %rbp, %r8
movabsq $-0x5c636566696a6c72, %rbp # imm = 0xA39C9A999695938E
addq %rsi, %rdi
movabsq $0x3a393635332e2d2b, %rsi # imm = 0x3A393635332E2D2B
addq %rsi, %r10
addq %rdi, %r10
rorxq $0x5, %r10, %rsi
movq %rsi, %rdi
xorq %r8, %rdi
movq %rdi, %r10
xorq %rdx, %r10
addq %rcx, %r10
rorxq $0x35, %r9, %rcx
xorq %rcx, %rdi
addq %rax, %rdi
xorq %rcx, %rdx
xorq %rdx, %rsi
addq %r12, %rsi
xorq %r8, %rdx
addq %r15, %rdx
movq %r10, 0x18(%rbx,%r11)
movabsq $-0x4b4d4e535556595b, %r10 # imm = 0xB4B2B1ACAAA9A6A5
movq %rdi, (%rbx,%r11)
movq %rsi, 0x8(%rbx,%r11)
movq %rdx, 0x10(%rbx,%r11)
addq $-0x20, %r11
cmpq $-0x20, %r11
jne 0x1d5b
xorl %eax, %eax
vmovdqu64 (%rbx,%rax,2), %ymm16
vpaddq 0xe0(%rsp,%rax), %ymm16, %ymm16
vmovdqu64 %ymm16, 0xe0(%rsp,%rax)
addq $0x20, %rax
cmpq $0x20, %rax
je 0x1e9c
movq 0x40(%rsp), %rax
incq %rax
cmpq 0x38(%rsp), %rax
movabsq $-0x2e333536393a3c48, %r13 # imm = 0xD1CCCAC9C6C5C3B8
movq 0x8(%rsp), %rcx
jne 0x16b0
vmovups 0x50(%rsp), %ymm1
vmovups 0x70(%rsp), %ymm2
vmovups 0x90(%rsp), %ymm3
vmovups 0xb0(%rsp), %ymm4
movq 0xa0f4(%rip), %rbx      # 0xbff8
vmovups %ymm1, (%rbx)
movq %rcx, 0x8(%rsp)
leaq 0x1(%rcx), %rax
xorq (%rbx), %rax
vmovups %ymm4, 0x60(%rbx)
vmovups %ymm3, 0x40(%rbx)
vmovups %ymm2, 0x20(%rbx)
movq %rax, (%rbx)
movq 0x8(%rbx), %rcx
vmovdqa 0x10(%rbx), %xmm1
vmovq %rax, %xmm2
vpaddq %xmm2, %xmm1, %xmm3
vpbroadcastq %xmm3, %xmm3
vpbroadcastq 0x18(%rbx), %xmm4
vpinsrq $0x1, %rcx, %xmm4, %xmm4
vpaddq %xmm4, %xmm3, %xmm3
vpaddq 0x812b(%rip), %xmm3, %xmm3 # 0xa080
vprolvq 0x8131(%rip), %xmm3, %xmm3 # 0xa090
vpalignr $0x8, %xmm1, %xmm2, %xmm2 # xmm2 = xmm1[8,9,10,11,12,13,14,15],xmm2[0,1,2,3,4,5,6,7]
vpbroadcastq %rcx, %xmm4
vpaddq %xmm4, %xmm1, %xmm1
vpaddq %xmm2, %xmm1, %xmm1
vpaddq 0x8125(%rip), %xmm1, %xmm1 # 0xa0a0
vprolvq 0x812b(%rip), %xmm1, %xmm2 # 0xa0b0
vpxor %xmm3, %xmm2, %xmm4
vpmovsxbq 0x81b2(%rip), %ymm1 # 0xa144
vpermt2q %ymm2, %ymm1, %ymm3
vpermq $0x41, %ymm4, %ymm2     # ymm2 = ymm4[1,0,0,1]
vpxor %ymm3, %ymm2, %ymm2
vpaddq 0x8136(%rip), %ymm2, %ymm2 # 0xa0e0
vmovdqu %ymm2, (%rbx)
movq 0x18(%rsp), %rax
andq $0x3f, %rax
je 0x26ec
movq %rax, 0x18(%rsp)
xorl %r11d, %r11d
movabsq $-0xf171b1d1e272b2e, %r13 # imm = 0xF0E8E4E2E1D8D4D2
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
movabsq $-0x4b4d4e535556595b, %r10 # imm = 0xB4B2B1ACAAA9A6A5
movabsq $-0x5c636566696a6c72, %r12 # imm = 0xA39C9A999695938E
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%rdx,%r13), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
movq %r9, %rbp
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r15
addq %rdx, %rax
addq %r10, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %r12, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r12
movq %r15, %rax
xorq %rdi, %rax
movq %rax, %rcx
xorq %r12, %rcx
xorq %rsi, %rax
xorq %rsi, %r12
xorq %r12, %r15
xorq %rdi, %r12
movq 0x20(%rbx,%r11), %rsi
movq 0x30(%rbx,%r11), %rdx
movq 0x38(%rbx,%r11), %rdi
leaq (%rdx,%rsi), %r8
movabsq $-0x727478878b8d8e94, %r9 # imm = 0x8D8B87787472716C
addq %rdi, %r9
addq %r8, %r9
movq 0x28(%rbx,%r11), %r10
addq %rdi, %rdx
movabsq $0x6a696665635c5a59, %r13 # imm = 0x6A696665635C5A59
addq %r10, %r13
addq %r13, %rdx
movabsq $0x5655534e4d4b473c, %r13 # imm = 0x5655534E4D4B473C
addq %r10, %r13
addq %r8, %r13
rorxq $0x29, %rdx, %rdx
rorxq $0x1b, %r13, %r8
movabsq $-0xf171b1d1e272b2e, %r13 # imm = 0xF0E8E4E2E1D8D4D2
addq %rsi, %rdi
movabsq $0x3a393635332e2d2b, %rsi # imm = 0x3A393635332E2D2B
addq %rsi, %r10
addq %rdi, %r10
rorxq $0x5, %r10, %rsi
movq %rsi, %rdi
xorq %r8, %rdi
movq %rdi, %r10
xorq %rdx, %r10
addq %rcx, %r10
rorxq $0x35, %r9, %rcx
movq %rbp, %r9
xorq %rcx, %rdi
addq %rax, %rdi
xorq %rcx, %rdx
xorq %rdx, %rsi
addq %r15, %rsi
xorq %r8, %rdx
addq %r12, %rdx
movabsq $-0x5c636566696a6c72, %r12 # imm = 0xA39C9A999695938E
movq %r10, 0x38(%rbx,%r11)
movabsq $-0x4b4d4e535556595b, %r10 # imm = 0xB4B2B1ACAAA9A6A5
movq %rdi, 0x20(%rbx,%r11)
movq %rsi, 0x28(%rbx,%r11)
movq %rdx, 0x30(%rbx,%r11)
addq $0x20, %r11
cmpq $0x60, %r11
jne 0x1fed
vmovdqa 0x60(%rbx), %xmm2
vmovdqu 0x68(%rbx), %xmm3
vpaddq 0x60(%rbx){1to2}, %xmm3, %xmm4
vpaddq 0x70(%rbx), %xmm4, %xmm4
vpaddq 0x7eef(%rip), %xmm4, %xmm4 # 0xa040
vprolvq 0x7ef5(%rip), %xmm4, %xmm4 # 0xa050
vpunpcklqdq %xmm3, %xmm2, %xmm2 # xmm2 = xmm2[0],xmm3[0]
vpaddq %xmm2, %xmm3, %xmm2
vpaddq 0x78(%rbx){1to2}, %xmm2, %xmm2
vpaddq 0x7eee(%rip), %xmm2, %xmm2 # 0xa060
vprolvq 0x7ef4(%rip), %xmm2, %xmm2 # 0xa070
vpxor %xmm4, %xmm2, %xmm3
vinserti128 $0x1, %xmm3, %ymm3, %ymm3
vpermq $0xb4, %ymm3, %ymm3     # ymm3 = ymm3[0,1,3,2]
vpermt2q %ymm2, %ymm0, %ymm4
vpxor %ymm4, %ymm3, %ymm2
vpaddq 0x7f62(%rip), %ymm2, %ymm2 # 0xa100
vmovdqu %ymm2, 0x60(%rbx)
movl $0x40, %r11d
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%rdx,%r13), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
leaq (%r8,%rbp), %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r15
addq %rdx, %rax
addq %r10, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %r12, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r12
movq %r15, %rax
xorq %rdi, %rax
movq %rax, %rcx
xorq %r12, %rcx
xorq %rsi, %rax
xorq %rsi, %r12
xorq %r12, %r15
xorq %rdi, %r12
movq 0x20(%rbx,%r11), %rsi
movq 0x30(%rbx,%r11), %rdx
movq 0x38(%rbx,%r11), %rdi
leaq (%rdx,%rsi), %r8
movabsq $-0x727478878b8d8e94, %r9 # imm = 0x8D8B87787472716C
addq %rdi, %r9
addq %r8, %r9
movq 0x28(%rbx,%r11), %r10
addq %rdi, %rdx
movabsq $0x6a696665635c5a59, %r13 # imm = 0x6A696665635C5A59
addq %r10, %r13
addq %r13, %rdx
movabsq $0x5655534e4d4b473c, %r13 # imm = 0x5655534E4D4B473C
addq %r10, %r13
addq %r8, %r13
rorxq $0x29, %rdx, %rdx
rorxq $0x1b, %r13, %r8
movabsq $-0xf171b1d1e272b2e, %r13 # imm = 0xF0E8E4E2E1D8D4D2
addq %rsi, %rdi
movabsq $0x3a393635332e2d2b, %rsi # imm = 0x3A393635332E2D2B
addq %rsi, %r10
addq %rdi, %r10
rorxq $0x5, %r10, %rsi
movq %rsi, %rdi
xorq %r8, %rdi
movq %rdi, %r10
xorq %rdx, %r10
addq %rcx, %r10
rorxq $0x35, %r9, %rcx
xorq %rcx, %rdi
addq %rax, %rdi
xorq %rcx, %rdx
xorq %rdx, %rsi
addq %r15, %rsi
xorq %r8, %rdx
addq %r12, %rdx
movabsq $-0x5c636566696a6c72, %r12 # imm = 0xA39C9A999695938E
movq %r10, 0x18(%rbx,%r11)
movabsq $-0x4b4d4e535556595b, %r10 # imm = 0xB4B2B1ACAAA9A6A5
movq %rdi, (%rbx,%r11)
movq %rsi, 0x8(%rbx,%r11)
movq %rdx, 0x10(%rbx,%r11)
addq $-0x20, %r11
cmpq $-0x20, %r11
jne 0x21a9
movq 0x28(%rsp), %rdi
addq %r14, %rdi
xorl %eax, %eax
xorl %ecx, %ecx
movq 0x18(%rsp), %rsi
movb (%rdi,%rcx), %dl
xorb %dl, (%rbx,%rax)
leaq 0x1(%rax), %rdx
addq $0x21, %rax
testb $0x1f, %dl
cmovneq %rdx, %rax
incq %rcx
cmpq %rcx, %rsi
jne 0x22fa
xorb $0x1, (%rbx,%rax)
vmovdqa (%rbx), %xmm2
movq 0x10(%rbx), %rax
movq 0x18(%rbx), %rcx
vmovdqu 0x8(%rbx), %xmm3
vmovq %rax, %xmm4
vpaddq %xmm2, %xmm4, %xmm4
vpbroadcastq %xmm4, %xmm4
vpinsrq $0x1, %rcx, %xmm3, %xmm3
vpaddq %xmm3, %xmm4, %xmm3
vpaddq 0x7cb4(%rip), %xmm3, %xmm3 # 0xa000
vprolvq 0x7cba(%rip), %xmm3, %xmm3 # 0xa010
vpinsrq $0x1, %rax, %xmm2, %xmm2
vpbroadcastq %rcx, %xmm4
vpaddq %xmm2, %xmm4, %xmm2
vpaddq 0x8(%rbx){1to2}, %xmm2, %xmm2
vpaddq 0x7cab(%rip), %xmm2, %xmm2 # 0xa020
vprolvq 0x7cb1(%rip), %xmm2, %xmm2 # 0xa030
vpxor %xmm3, %xmm2, %xmm4
vinserti128 $0x1, %xmm4, %ymm4, %ymm4
vpermq $0xb4, %ymm4, %ymm4     # ymm4 = ymm4[0,1,3,2]
vpermt2q %ymm2, %ymm0, %ymm3
vpxor %ymm3, %ymm4, %ymm2
vpaddq 0x7d3f(%rip), %ymm2, %ymm2 # 0xa0e0
vmovdqu %ymm2, (%rbx)
xorl %r11d, %r11d
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
movabsq $-0x4b4d4e535556595b, %r10 # imm = 0xB4B2B1ACAAA9A6A5
movabsq $-0x5c636566696a6c72, %r15 # imm = 0xA39C9A999695938E
movabsq $-0x727478878b8d8e94, %r12 # imm = 0x8D8B87787472716C
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
movabsq $-0xf171b1d1e272b2e, %rdi # imm = 0xF0E8E4E2E1D8D4D2
addq %rdx, %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
movq %r9, %rbp
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r14
addq %rdx, %rax
addq %r10, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %r15, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r14, %rax
xorq %rdi, %rax
movq %rax, %rcx
xorq %r15, %rcx
xorq %rsi, %rax
xorq %rsi, %r15
xorq %r15, %r14
xorq %rdi, %r15
movq 0x20(%rbx,%r11), %rsi
movq 0x30(%rbx,%r11), %rdx
movq 0x38(%rbx,%r11), %rdi
leaq (%rdx,%rsi), %r8
leaq (%r12,%rdi), %r9
addq %r8, %r9
movq 0x28(%rbx,%r11), %r10
addq %rdi, %rdx
movq %r12, %r13
movabsq $0x6a696665635c5a59, %r12 # imm = 0x6A696665635C5A59
addq %r10, %r12
addq %r12, %rdx
movabsq $0x5655534e4d4b473c, %r12 # imm = 0x5655534E4D4B473C
addq %r10, %r12
addq %r8, %r12
rorxq $0x29, %rdx, %rdx
rorxq $0x1b, %r12, %r8
movq %r13, %r12
addq %rsi, %rdi
movabsq $0x3a393635332e2d2b, %rsi # imm = 0x3A393635332E2D2B
addq %rsi, %r10
addq %rdi, %r10
rorxq $0x5, %r10, %rsi
movq %rsi, %rdi
xorq %r8, %rdi
movq %rdi, %r10
xorq %rdx, %r10
addq %rcx, %r10
rorxq $0x35, %r9, %rcx
movq %rbp, %r9
xorq %rcx, %rdi
addq %rax, %rdi
xorq %rcx, %rdx
xorq %rdx, %rsi
addq %r14, %rsi
xorq %r8, %rdx
addq %r15, %rdx
movabsq $-0x5c636566696a6c72, %r15 # imm = 0xA39C9A999695938E
movq %r10, 0x38(%rbx,%r11)
movabsq $-0x4b4d4e535556595b, %r10 # imm = 0xB4B2B1ACAAA9A6A5
movq %rdi, 0x20(%rbx,%r11)
movq %rsi, 0x28(%rbx,%r11)
movq %rdx, 0x30(%rbx,%r11)
addq $0x20, %r11
cmpq $0x60, %r11
jne 0x23d0
vmovdqa 0x60(%rbx), %xmm2
vmovdqu 0x68(%rbx), %xmm3
vpaddq 0x60(%rbx){1to2}, %xmm3, %xmm4
vpaddq 0x70(%rbx), %xmm4, %xmm4
vpaddq 0x7b10(%rip), %xmm4, %xmm4 # 0xa040
vprolvq 0x7b16(%rip), %xmm4, %xmm4 # 0xa050
vpunpcklqdq %xmm3, %xmm2, %xmm2 # xmm2 = xmm2[0],xmm3[0]
vpaddq %xmm2, %xmm3, %xmm2
vpaddq 0x78(%rbx){1to2}, %xmm2, %xmm2
vpaddq 0x7b0f(%rip), %xmm2, %xmm2 # 0xa060
vprolvq 0x7b15(%rip), %xmm2, %xmm2 # 0xa070
vpxor %xmm4, %xmm2, %xmm3
vinserti128 $0x1, %xmm3, %ymm3, %ymm3
vpermq $0xb4, %ymm3, %ymm3     # ymm3 = ymm3[0,1,3,2]
vpermt2q %ymm2, %ymm0, %ymm4
vpxor %ymm4, %ymm3, %ymm2
vpaddq 0x7b83(%rip), %ymm2, %ymm2 # 0xa100
vmovdqu %ymm2, 0x60(%rbx)
movl $0x40, %r11d
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
movabsq $-0xf171b1d1e272b2e, %rdi # imm = 0xF0E8E4E2E1D8D4D2
addq %rdx, %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
leaq (%r8,%rbp), %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r14
addq %rdx, %rax
addq %r10, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %r15, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r14, %rax
xorq %rdi, %rax
movq %rax, %rcx
xorq %r15, %rcx
xorq %rsi, %rax
xorq %rsi, %r15
xorq %r15, %r14
xorq %rdi, %r15
movq 0x20(%rbx,%r11), %rsi
movq 0x30(%rbx,%r11), %rdx
movq 0x38(%rbx,%r11), %rdi
leaq (%rdx,%rsi), %r8
leaq (%r12,%rdi), %r9
addq %r8, %r9
movq 0x28(%rbx,%r11), %r10
addq %rdi, %rdx
movabsq $0x6a696665635c5a59, %r12 # imm = 0x6A696665635C5A59
addq %r10, %r12
addq %r12, %rdx
movabsq $0x5655534e4d4b473c, %r12 # imm = 0x5655534E4D4B473C
addq %r10, %r12
addq %r8, %r12
rorxq $0x29, %rdx, %rdx
rorxq $0x1b, %r12, %r8
movq %r13, %r12
addq %rsi, %rdi
movabsq $0x3a393635332e2d2b, %rsi # imm = 0x3A393635332E2D2B
addq %rsi, %r10
addq %rdi, %r10
rorxq $0x5, %r10, %rsi
movq %rsi, %rdi
xorq %r8, %rdi
movq %rdi, %r10
xorq %rdx, %r10
addq %rcx, %r10
rorxq $0x35, %r9, %rcx
xorq %rcx, %rdi
addq %rax, %rdi
xorq %rcx, %rdx
xorq %rdx, %rsi
addq %r14, %rsi
xorq %r8, %rdx
addq %r15, %rdx
movabsq $-0x5c636566696a6c72, %r15 # imm = 0xA39C9A999695938E
movq %r10, 0x18(%rbx,%r11)
movabsq $-0x4b4d4e535556595b, %r10 # imm = 0xB4B2B1ACAAA9A6A5
movq %rdi, (%rbx,%r11)
movq %rsi, 0x8(%rbx,%r11)
movq %rdx, 0x10(%rbx,%r11)
addq $-0x20, %r11
cmpq $-0x20, %r11
jne 0x2588
xorl %eax, %eax
movq %r10, %r13
vmovdqu (%rbx,%rax,2), %ymm2
vpaddq 0xe0(%rsp,%rax), %ymm2, %ymm2
vmovdqu %ymm2, 0xe0(%rsp,%rax)
addq $0x20, %rax
cmpq $0x20, %rax
je 0x26c6
jmp 0x2dea
xorl %r11d, %r11d
movq 0x9902(%rip), %r14      # 0xbff8
movabsq $-0xf171b1d1e272b2e, %r13 # imm = 0xF0E8E4E2E1D8D4D2
movabsq $-0x2e333536393a3c48, %rbp # imm = 0xD1CCCAC9C6C5C3B8
movabsq $-0x5c636566696a6c72, %r10 # imm = 0xA39C9A999695938E
movq (%r14,%r11), %rax
movq 0x8(%r14,%r11), %rcx
movq 0x10(%r14,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%rdx,%r13), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%r14,%r11), %r8
leaq (%r8,%rbp), %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r15
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %r10, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r12
movq %r15, %rax
xorq %rdi, %rax
movq %rax, %rcx
xorq %r12, %rcx
xorq %rsi, %rax
xorq %rsi, %r12
xorq %r12, %r15
xorq %rdi, %r12
movq 0x20(%r14,%r11), %rsi
movq 0x30(%r14,%r11), %rdx
movq 0x38(%r14,%r11), %rdi
leaq (%rdx,%rsi), %r8
movabsq $-0x727478878b8d8e94, %r9 # imm = 0x8D8B87787472716C
addq %rdi, %r9
addq %r8, %r9
movq 0x28(%r14,%r11), %r10
addq %rdi, %rdx
movabsq $0x6a696665635c5a59, %r13 # imm = 0x6A696665635C5A59
addq %r10, %r13
addq %r13, %rdx
movabsq $0x5655534e4d4b473c, %r13 # imm = 0x5655534E4D4B473C
addq %r10, %r13
addq %r8, %r13
rorxq $0x29, %rdx, %rdx
rorxq $0x1b, %r13, %r8
movabsq $-0xf171b1d1e272b2e, %r13 # imm = 0xF0E8E4E2E1D8D4D2
addq %rsi, %rdi
movabsq $0x3a393635332e2d2b, %rsi # imm = 0x3A393635332E2D2B
addq %rsi, %r10
addq %rdi, %r10
rorxq $0x5, %r10, %rsi
movq %rsi, %rdi
xorq %r8, %rdi
movq %rdi, %r10
xorq %rdx, %r10
addq %rcx, %r10
rorxq $0x35, %r9, %rcx
xorq %rcx, %rdi
addq %rax, %rdi
xorq %rcx, %rdx
xorq %rdx, %rsi
addq %r15, %rsi
xorq %r8, %rdx
addq %r12, %rdx
movq %r10, 0x38(%r14,%r11)
movabsq $-0x5c636566696a6c72, %r10 # imm = 0xA39C9A999695938E
movq %rdi, 0x20(%r14,%r11)
movq %rsi, 0x28(%r14,%r11)
movq %rdx, 0x30(%r14,%r11)
addq $0x20, %r11
cmpq $0x60, %r11
jne 0x2714
vmovdqa 0x60(%r14), %xmm2
vmovdqu 0x68(%r14), %xmm3
vpaddq 0x60(%r14){1to2}, %xmm3, %xmm4
vpaddq 0x70(%r14), %xmm4, %xmm4
vpaddq 0x77ca(%rip), %xmm4, %xmm4 # 0xa040
vprolvq 0x77d0(%rip), %xmm4, %xmm4 # 0xa050
vpunpcklqdq %xmm3, %xmm2, %xmm2 # xmm2 = xmm2[0],xmm3[0]
vpaddq %xmm2, %xmm3, %xmm2
vpaddq 0x78(%r14){1to2}, %xmm2, %xmm2
vpaddq 0x77c9(%rip), %xmm2, %xmm2 # 0xa060
vprolvq 0x77cf(%rip), %xmm2, %xmm2 # 0xa070
vpxor %xmm4, %xmm2, %xmm3
vinserti128 $0x1, %xmm3, %ymm3, %ymm3
vpermq $0xb4, %ymm3, %ymm3     # ymm3 = ymm3[0,1,3,2]
vpermt2q %ymm2, %ymm0, %ymm4
vpxor %ymm4, %ymm3, %ymm2
vpaddq 0x783d(%rip), %ymm2, %ymm2 # 0xa100
vmovdqu %ymm2, 0x60(%r14)
movl $0x40, %r11d
movq %r13, %rbp
movabsq $-0x4b4d4e535556595b, %r13 # imm = 0xB4B2B1ACAAA9A6A5
movq (%r14,%r11), %rax
movq 0x8(%r14,%r11), %rcx
movq 0x10(%r14,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%rdx,%rbp), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%r14,%r11), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r15
addq %rdx, %rax
addq %r13, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %r10, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r12
movq %r15, %rax
xorq %rdi, %rax
movq %rax, %rcx
xorq %r12, %rcx
xorq %rsi, %rax
xorq %rsi, %r12
xorq %r12, %r15
xorq %rdi, %r12
movq 0x20(%r14,%r11), %rsi
movq 0x30(%r14,%r11), %rdx
movq 0x38(%r14,%r11), %rdi
leaq (%rdx,%rsi), %r8
movabsq $-0x727478878b8d8e94, %r9 # imm = 0x8D8B87787472716C
addq %rdi, %r9
addq %r8, %r9
movq 0x28(%r14,%r11), %r10
addq %rdi, %rdx
movabsq $0x6a696665635c5a59, %r13 # imm = 0x6A696665635C5A59
addq %r10, %r13
addq %r13, %rdx
movabsq $0x5655534e4d4b473c, %r13 # imm = 0x5655534E4D4B473C
addq %r10, %r13
addq %r8, %r13
rorxq $0x29, %rdx, %rdx
rorxq $0x1b, %r13, %r8
movabsq $-0xf171b1d1e272b2e, %rbp # imm = 0xF0E8E4E2E1D8D4D2
movabsq $-0x4b4d4e535556595b, %r13 # imm = 0xB4B2B1ACAAA9A6A5
addq %rsi, %rdi
movabsq $0x3a393635332e2d2b, %rsi # imm = 0x3A393635332E2D2B
addq %rsi, %r10
addq %rdi, %r10
rorxq $0x5, %r10, %rsi
movq %rsi, %rdi
xorq %r8, %rdi
movq %rdi, %r10
xorq %rdx, %r10
addq %rcx, %r10
rorxq $0x35, %r9, %rcx
xorq %rcx, %rdi
addq %rax, %rdi
xorq %rcx, %rdx
xorq %rdx, %rsi
addq %r15, %rsi
xorq %r8, %rdx
addq %r12, %rdx
movq %r10, 0x18(%r14,%r11)
movabsq $-0x5c636566696a6c72, %r10 # imm = 0xA39C9A999695938E
movq %rdi, (%r14,%r11)
movq %rsi, 0x8(%r14,%r11)
movq %rdx, 0x10(%r14,%r11)
addq $-0x20, %r11
cmpq $-0x20, %r11
jne 0x28dc
xorb $0x1, (%r14)
vmovdqa (%r14), %xmm2
movq 0x10(%r14), %rax
movq 0x18(%r14), %rcx
vmovdqu 0x8(%r14), %xmm3
vmovq %rax, %xmm4
vpaddq %xmm2, %xmm4, %xmm4
vpbroadcastq %xmm4, %xmm4
vpinsrq $0x1, %rcx, %xmm3, %xmm3
vpaddq %xmm3, %xmm4, %xmm3
vpaddq 0x75a4(%rip), %xmm3, %xmm3 # 0xa000
vprolvq 0x75aa(%rip), %xmm3, %xmm3 # 0xa010
vpinsrq $0x1, %rax, %xmm2, %xmm2
vpbroadcastq %rcx, %xmm4
vpaddq %xmm2, %xmm4, %xmm2
vpaddq 0x8(%r14){1to2}, %xmm2, %xmm2
vpaddq 0x759b(%rip), %xmm2, %xmm2 # 0xa020
vprolvq 0x75a1(%rip), %xmm2, %xmm2 # 0xa030
vpxor %xmm3, %xmm2, %xmm4
vinserti128 $0x1, %xmm4, %ymm4, %ymm4
vpermq $0xb4, %ymm4, %ymm4     # ymm4 = ymm4[0,1,3,2]
vpermt2q %ymm2, %ymm0, %ymm3
vpxor %ymm3, %ymm4, %ymm2
vpaddq 0x762f(%rip), %ymm2, %ymm2 # 0xa0e0
vmovdqu %ymm2, (%r14)
xorl %r11d, %r11d
movq (%r14,%r11), %rax
movq 0x8(%r14,%r11), %rcx
movq 0x10(%r14,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%rdx,%rbp), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%r14,%r11), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r15
addq %rdx, %rax
addq %r13, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %r10, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r12
movq %r15, %rax
xorq %rdi, %rax
movq %rax, %rcx
xorq %r12, %rcx
xorq %rsi, %rax
xorq %rsi, %r12
xorq %r12, %r15
xorq %rdi, %r12
movq 0x20(%r14,%r11), %rsi
movq 0x30(%r14,%r11), %rdx
movq 0x38(%r14,%r11), %rdi
leaq (%rdx,%rsi), %r8
movabsq $-0x727478878b8d8e94, %r9 # imm = 0x8D8B87787472716C
addq %rdi, %r9
addq %r8, %r9
movq 0x28(%r14,%r11), %r10
addq %rdi, %rdx
movabsq $0x6a696665635c5a59, %r13 # imm = 0x6A696665635C5A59
addq %r10, %r13
addq %r13, %rdx
movabsq $0x5655534e4d4b473c, %r13 # imm = 0x5655534E4D4B473C
addq %r10, %r13
addq %r8, %r13
rorxq $0x29, %rdx, %rdx
rorxq $0x1b, %r13, %r8
movabsq $-0xf171b1d1e272b2e, %rbp # imm = 0xF0E8E4E2E1D8D4D2
movabsq $-0x4b4d4e535556595b, %r13 # imm = 0xB4B2B1ACAAA9A6A5
addq %rsi, %rdi
movabsq $0x3a393635332e2d2b, %rsi # imm = 0x3A393635332E2D2B
addq %rsi, %r10
addq %rdi, %r10
rorxq $0x5, %r10, %rsi
movq %rsi, %rdi
xorq %r8, %rdi
movq %rdi, %r10
xorq %rdx, %r10
addq %rcx, %r10
rorxq $0x35, %r9, %rcx
xorq %rcx, %rdi
addq %rax, %rdi
xorq %rcx, %rdx
xorq %rdx, %rsi
addq %r15, %rsi
xorq %r8, %rdx
addq %r12, %rdx
movq %r10, 0x38(%r14,%r11)
movabsq $-0x5c636566696a6c72, %r10 # imm = 0xA39C9A999695938E
movq %rdi, 0x20(%r14,%r11)
movq %rsi, 0x28(%r14,%r11)
movq %rdx, 0x30(%r14,%r11)
addq $0x20, %r11
cmpq $0x60, %r11
jne 0x2ab9
vmovdqa 0x60(%r14), %xmm2
vmovdqu 0x68(%r14), %xmm3
vpaddq 0x60(%r14){1to2}, %xmm3, %xmm4
vpaddq 0x70(%r14), %xmm4, %xmm4
vpaddq 0x741c(%rip), %xmm4, %xmm4 # 0xa040
vprolvq 0x7422(%rip), %xmm4, %xmm4 # 0xa050
vpunpcklqdq %xmm3, %xmm2, %xmm2 # xmm2 = xmm2[0],xmm3[0]
vpaddq %xmm2, %xmm3, %xmm2
vpaddq 0x78(%r14){1to2}, %xmm2, %xmm2
vpaddq 0x741b(%rip), %xmm2, %xmm2 # 0xa060
vprolvq 0x7421(%rip), %xmm2, %xmm2 # 0xa070
vpxor %xmm4, %xmm2, %xmm3
vinserti128 $0x1, %xmm3, %ymm3, %ymm3
vpermq $0xb4, %ymm3, %ymm3     # ymm3 = ymm3[0,1,3,2]
vpermt2q %ymm2, %ymm0, %ymm4
vpxor %ymm4, %ymm3, %ymm2
vpaddq 0x748f(%rip), %ymm2, %ymm2 # 0xa100
vmovdqu %ymm2, 0x60(%r14)
movl $0x40, %r11d
movq (%r14,%r11), %rax
movq 0x8(%r14,%r11), %rcx
movq 0x10(%r14,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%rdx,%rbp), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%r14,%r11), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r15
addq %rdx, %rax
addq %r13, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %r10, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r12
movq %r15, %rax
xorq %rdi, %rax
movq %rax, %rcx
xorq %r12, %rcx
xorq %rsi, %rax
xorq %rsi, %r12
xorq %r12, %r15
xorq %rdi, %r12
movq 0x20(%r14,%r11), %rsi
movq 0x30(%r14,%r11), %rdx
movq 0x38(%r14,%r11), %rdi
leaq (%rdx,%rsi), %r8
movabsq $-0x727478878b8d8e94, %r9 # imm = 0x8D8B87787472716C
addq %rdi, %r9
addq %r8, %r9
movq 0x28(%r14,%r11), %r10
addq %rdi, %rdx
movabsq $0x6a696665635c5a59, %r13 # imm = 0x6A696665635C5A59
addq %r10, %r13
addq %r13, %rdx
movabsq $0x5655534e4d4b473c, %r13 # imm = 0x5655534E4D4B473C
addq %r10, %r13
addq %r8, %r13
rorxq $0x29, %rdx, %rdx
rorxq $0x1b, %r13, %r8
movabsq $-0xf171b1d1e272b2e, %rbp # imm = 0xF0E8E4E2E1D8D4D2
movabsq $-0x4b4d4e535556595b, %r13 # imm = 0xB4B2B1ACAAA9A6A5
addq %rsi, %rdi
movabsq $0x3a393635332e2d2b, %rsi # imm = 0x3A393635332E2D2B
addq %rsi, %r10
addq %rdi, %r10
rorxq $0x5, %r10, %rsi
movq %rsi, %rdi
xorq %r8, %rdi
movq %rdi, %r10
xorq %rdx, %r10
addq %rcx, %r10
rorxq $0x35, %r9, %rcx
xorq %rcx, %rdi
addq %rax, %rdi
xorq %rcx, %rdx
xorq %rdx, %rsi
addq %r15, %rsi
xorq %r8, %rdx
addq %r12, %rdx
movq %r10, 0x18(%r14,%r11)
movabsq $-0x5c636566696a6c72, %r10 # imm = 0xA39C9A999695938E
movq %rdi, (%r14,%r11)
movq %rsi, 0x8(%r14,%r11)
movq %rdx, 0x10(%r14,%r11)
addq $-0x20, %r11
cmpq $-0x20, %r11
jne 0x2c7d
xorl %eax, %eax
vmovdqu (%r14,%rax,2), %ymm2
vpaddq 0xe0(%rsp,%rax), %ymm2, %ymm2
vmovdqu %ymm2, 0xe0(%rsp,%rax)
addq $0x20, %rax
cmpq $0x20, %rax
je 0x2dc8
xorl %eax, %eax
vmovups 0xe0(%rsp,%rax), %ymm2
vxorps 0x50(%rsp,%rax,2), %ymm2, %ymm2
vmovups %ymm2, (%rbx,%rax,2)
vmovdqu 0x70(%rsp,%rax,2), %ymm2
vmovdqu %ymm2, 0x20(%rbx,%rax,2)
addq $0x20, %rax
cmpq $0x20, %rax
je 0x2dec
vmovdqa (%rbx), %xmm2
movq 0x10(%rbx), %rax
movq 0x18(%rbx), %rcx
vmovdqu 0x8(%rbx), %xmm3
vmovq %rax, %xmm4
vpaddq %xmm2, %xmm4, %xmm4
vpbroadcastq %xmm4, %xmm4
vpinsrq $0x1, %rcx, %xmm3, %xmm3
vpaddq %xmm3, %xmm4, %xmm3
vpaddq 0x71b9(%rip), %xmm3, %xmm3 # 0xa000
vprolvq 0x71bf(%rip), %xmm3, %xmm3 # 0xa010
vpinsrq $0x1, %rax, %xmm2, %xmm2
vpbroadcastq %rcx, %xmm4
vpaddq %xmm2, %xmm4, %xmm2
vpaddq 0x8(%rbx){1to2}, %xmm2, %xmm2
vpaddq 0x71b0(%rip), %xmm2, %xmm2 # 0xa020
vprolvq 0x71b6(%rip), %xmm2, %xmm2 # 0xa030
vpxor %xmm3, %xmm2, %xmm4
vinserti128 $0x1, %xmm4, %ymm4, %ymm4
vpermq $0xb4, %ymm4, %ymm4     # ymm4 = ymm4[0,1,3,2]
vpermt2q %ymm2, %ymm0, %ymm3
vpxor %ymm3, %ymm4, %ymm2
vpaddq 0x7244(%rip), %ymm2, %ymm2 # 0xa0e0
vmovdqu %ymm2, (%rbx)
xorl %r11d, %r11d
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
movabsq $-0x5c636566696a6c72, %r10 # imm = 0xA39C9A999695938E
movabsq $-0x727478878b8d8e94, %r12 # imm = 0x8D8B87787472716C
movabsq $-0xf171b1d1e272b2e, %rdi # imm = 0xF0E8E4E2E1D8D4D2
movq %r13, %r15
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
movq %rdi, %r13
addq %rdx, %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
movq %r9, %rbp
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r14
addq %rdx, %rax
addq %r15, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %r10, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r14, %rax
xorq %rdi, %rax
movq %rax, %rcx
xorq %r15, %rcx
xorq %rsi, %rax
xorq %rsi, %r15
xorq %r15, %r14
xorq %rdi, %r15
movq 0x20(%rbx,%r11), %rsi
movq 0x30(%rbx,%r11), %rdx
movq 0x38(%rbx,%r11), %rdi
leaq (%rdx,%rsi), %r8
leaq (%r12,%rdi), %r9
addq %r8, %r9
movq 0x28(%rbx,%r11), %r10
addq %rdi, %rdx
movabsq $0x6a696665635c5a59, %r12 # imm = 0x6A696665635C5A59
addq %r10, %r12
addq %r12, %rdx
movabsq $0x5655534e4d4b473c, %r12 # imm = 0x5655534E4D4B473C
addq %r10, %r12
addq %r8, %r12
rorxq $0x29, %rdx, %rdx
rorxq $0x1b, %r12, %r8
movabsq $-0x727478878b8d8e94, %r12 # imm = 0x8D8B87787472716C
addq %rsi, %rdi
movabsq $0x3a393635332e2d2b, %rsi # imm = 0x3A393635332E2D2B
addq %rsi, %r10
addq %rdi, %r10
rorxq $0x5, %r10, %rsi
movq %rsi, %rdi
xorq %r8, %rdi
movq %rdi, %r10
xorq %rdx, %r10
addq %rcx, %r10
rorxq $0x35, %r9, %rcx
movq %rbp, %r9
xorq %rcx, %rdi
addq %rax, %rdi
xorq %rcx, %rdx
xorq %rdx, %rsi
addq %r14, %rsi
xorq %r8, %rdx
addq %r15, %rdx
movabsq $-0x4b4d4e535556595b, %r15 # imm = 0xB4B2B1ACAAA9A6A5
movq %r10, 0x38(%rbx,%r11)
movabsq $-0x5c636566696a6c72, %r10 # imm = 0xA39C9A999695938E
movq %rdi, 0x20(%rbx,%r11)
movq %r13, %rdi
movq %rsi, 0x28(%rbx,%r11)
movq %rdx, 0x30(%rbx,%r11)
addq $0x20, %r11
cmpq $0x60, %r11
jne 0x2ece
vmovdqa 0x60(%rbx), %xmm2
vmovdqu 0x68(%rbx), %xmm3
vpaddq 0x60(%rbx){1to2}, %xmm3, %xmm4
vpaddq 0x70(%rbx), %xmm4, %xmm4
vpaddq 0x7012(%rip), %xmm4, %xmm4 # 0xa040
vprolvq 0x7018(%rip), %xmm4, %xmm4 # 0xa050
vpunpcklqdq %xmm3, %xmm2, %xmm2 # xmm2 = xmm2[0],xmm3[0]
vpaddq %xmm2, %xmm3, %xmm2
vpaddq 0x78(%rbx){1to2}, %xmm2, %xmm2
vpaddq 0x7011(%rip), %xmm2, %xmm2 # 0xa060
vprolvq 0x7017(%rip), %xmm2, %xmm2 # 0xa070
vpxor %xmm4, %xmm2, %xmm3
vinserti128 $0x1, %xmm3, %ymm3, %ymm3
vpermq $0xb4, %ymm3, %ymm3     # ymm3 = ymm3[0,1,3,2]
vpermt2q %ymm2, %ymm0, %ymm4
vpxor %ymm4, %ymm3, %ymm2
vpaddq 0x7085(%rip), %ymm2, %ymm2 # 0xa100
vmovdqu %ymm2, 0x60(%rbx)
movl $0x40, %r11d
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%rdx,%r13), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
leaq (%r8,%rbp), %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r14
addq %rdx, %rax
addq %r15, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %r10, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r14, %rax
xorq %rdi, %rax
movq %rax, %rcx
xorq %r15, %rcx
xorq %rsi, %rax
xorq %rsi, %r15
xorq %r15, %r14
xorq %rdi, %r15
movq 0x20(%rbx,%r11), %rsi
movq 0x30(%rbx,%r11), %rdx
movq 0x38(%rbx,%r11), %rdi
leaq (%rdx,%rsi), %r8
leaq (%r12,%rdi), %r9
addq %r8, %r9
movq 0x28(%rbx,%r11), %r10
addq %rdi, %rdx
movabsq $0x6a696665635c5a59, %r12 # imm = 0x6A696665635C5A59
addq %r10, %r12
addq %r12, %rdx
movabsq $0x5655534e4d4b473c, %r12 # imm = 0x5655534E4D4B473C
addq %r10, %r12
addq %r8, %r12
rorxq $0x29, %rdx, %rdx
rorxq $0x1b, %r12, %r8
movabsq $-0x727478878b8d8e94, %r12 # imm = 0x8D8B87787472716C
addq %rsi, %rdi
movabsq $0x3a393635332e2d2b, %rsi # imm = 0x3A393635332E2D2B
addq %rsi, %r10
addq %rdi, %r10
rorxq $0x5, %r10, %rsi
movq %rsi, %rdi
xorq %r8, %rdi
movq %rdi, %r10
xorq %rdx, %r10
addq %rcx, %r10
rorxq $0x35, %r9, %rcx
xorq %rcx, %rdi
addq %rax, %rdi
xorq %rcx, %rdx
xorq %rdx, %rsi
addq %r14, %rsi
xorq %r8, %rdx
addq %r15, %rdx
movabsq $-0x4b4d4e535556595b, %r15 # imm = 0xB4B2B1ACAAA9A6A5
movq %r10, 0x18(%rbx,%r11)
movabsq $-0x5c636566696a6c72, %r10 # imm = 0xA39C9A999695938E
movq %rdi, (%rbx,%r11)
movq %rsi, 0x8(%rbx,%r11)
movq %rdx, 0x10(%rbx,%r11)
addq $-0x20, %r11
cmpq $-0x20, %r11
jne 0x3086
vmovups 0x60(%rbx), %ymm2
vmovups %ymm2, 0xb0(%rsp)
vmovups 0x40(%rbx), %ymm2
vmovups %ymm2, 0x90(%rsp)
vmovups 0x20(%rbx), %ymm2
vmovups %ymm2, 0x70(%rsp)
vmovups (%rbx), %ymm2
vmovups %ymm2, 0x50(%rsp)
movq 0x8(%rsp), %rcx
addq $0x2, %rcx
movq (%rbx), %rax
movq %rcx, 0x8(%rsp)
xorq %rcx, %rax
movq %rax, (%rbx)
movq 0x8(%rbx), %rcx
vmovdqa 0x10(%rbx), %xmm2
vmovq %rax, %xmm3
vpaddq %xmm3, %xmm2, %xmm4
vpbroadcastq 0x18(%rbx), %xmm5
vpinsrq $0x1, %rcx, %xmm5, %xmm5
vpbroadcastq %xmm4, %xmm4
vpaddq %xmm5, %xmm4, %xmm4
vpaddq 0x6e4c(%rip), %xmm4, %xmm4 # 0xa080
vprolvq 0x6e52(%rip), %xmm4, %xmm4 # 0xa090
vpalignr $0x8, %xmm2, %xmm3, %xmm3 # xmm3 = xmm2[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]
vpbroadcastq %rcx, %xmm5
vpaddq %xmm5, %xmm2, %xmm2
vpaddq %xmm3, %xmm2, %xmm2
vpaddq 0x6e46(%rip), %xmm2, %xmm2 # 0xa0a0
vprolvq 0x6e4c(%rip), %xmm2, %xmm2 # 0xa0b0
vpxor %xmm4, %xmm2, %xmm3
vpermt2q %ymm2, %ymm1, %ymm4
vpermq $0x41, %ymm3, %ymm2     # ymm2 = ymm3[1,0,0,1]
vpxor %ymm4, %ymm2, %ymm2
vpaddq 0x6e60(%rip), %ymm2, %ymm2 # 0xa0e0
vmovdqu %ymm2, (%rbx)
xorl %r11d, %r11d
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%rdx,%r13), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
leaq (%r8,%rbp), %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r14
addq %rdx, %rax
addq %r15, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %r10, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r14, %rax
xorq %rdi, %rax
movq %rax, %rcx
xorq %r15, %rcx
xorq %rsi, %rax
xorq %rsi, %r15
xorq %r15, %r14
xorq %rdi, %r15
movq 0x20(%rbx,%r11), %rsi
movq 0x30(%rbx,%r11), %rdx
movq 0x38(%rbx,%r11), %rdi
leaq (%rdx,%rsi), %r8
leaq (%r12,%rdi), %r9
addq %r8, %r9
movq 0x28(%rbx,%r11), %r10
addq %rdi, %rdx
movabsq $0x6a696665635c5a59, %r12 # imm = 0x6A696665635C5A59
addq %r10, %r12
addq %r12, %rdx
movabsq $0x5655534e4d4b473c, %r12 # imm = 0x5655534E4D4B473C
addq %r10, %r12
addq %r8, %r12
rorxq $0x29, %rdx, %rdx
rorxq $0x1b, %r12, %r8
movabsq $-0x727478878b8d8e94, %r12 # imm = 0x8D8B87787472716C
addq %rsi, %rdi
movabsq $0x3a393635332e2d2b, %rsi # imm = 0x3A393635332E2D2B
addq %rsi, %r10
addq %rdi, %r10
rorxq $0x5, %r10, %rsi
movq %rsi, %rdi
xorq %r8, %rdi
movq %rdi, %r10
xorq %rdx, %r10
addq %rcx, %r10
rorxq $0x35, %r9, %rcx
xorq %rcx, %rdi
addq %rax, %rdi
xorq %rcx, %rdx
xorq %rdx, %rsi
addq %r14, %rsi
xorq %r8, %rdx
addq %r15, %rdx
movabsq $-0x4b4d4e535556595b, %r15 # imm = 0xB4B2B1ACAAA9A6A5
movq %r10, 0x38(%rbx,%r11)
movabsq $-0x5c636566696a6c72, %r10 # imm = 0xA39C9A999695938E
movq %rdi, 0x20(%rbx,%r11)
movq %rsi, 0x28(%rbx,%r11)
movq %rdx, 0x30(%rbx,%r11)
addq $0x20, %r11
cmpq $0x60, %r11
jne 0x3287
vmovdqa 0x60(%rbx), %xmm2
vmovdqu 0x68(%rbx), %xmm3
vpaddq 0x60(%rbx){1to2}, %xmm3, %xmm4
vpaddq 0x70(%rbx), %xmm4, %xmm4
vpaddq 0x6c63(%rip), %xmm4, %xmm4 # 0xa040
vprolvq 0x6c69(%rip), %xmm4, %xmm4 # 0xa050
vpunpcklqdq %xmm3, %xmm2, %xmm2 # xmm2 = xmm2[0],xmm3[0]
vpaddq %xmm2, %xmm3, %xmm2
vpaddq 0x78(%rbx){1to2}, %xmm2, %xmm2
vpaddq 0x6c62(%rip), %xmm2, %xmm2 # 0xa060
vprolvq 0x6c68(%rip), %xmm2, %xmm2 # 0xa070
vpxor %xmm4, %xmm2, %xmm3
vinserti128 $0x1, %xmm3, %ymm3, %ymm3
vpermq $0xb4, %ymm3, %ymm3     # ymm3 = ymm3[0,1,3,2]
vpermt2q %ymm2, %ymm0, %ymm4
vpxor %ymm4, %ymm3, %ymm2
vpaddq 0x6cd6(%rip), %ymm2, %ymm2 # 0xa100
vmovdqu %ymm2, 0x60(%rbx)
movl $0x40, %r11d
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%rdx,%r13), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
leaq (%r8,%rbp), %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r14
addq %rdx, %rax
addq %r15, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %r10, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r14, %rax
xorq %rdi, %rax
movq %rax, %rcx
xorq %r15, %rcx
xorq %rsi, %rax
xorq %rsi, %r15
xorq %r15, %r14
xorq %rdi, %r15
movq 0x20(%rbx,%r11), %rsi
movq 0x30(%rbx,%r11), %rdx
movq 0x38(%rbx,%r11), %rdi
leaq (%rdx,%rsi), %r8
leaq (%r12,%rdi), %r9
addq %r8, %r9
movq 0x28(%rbx,%r11), %r10
addq %rdi, %rdx
movabsq $0x6a696665635c5a59, %r12 # imm = 0x6A696665635C5A59
addq %r10, %r12
addq %r12, %rdx
movabsq $0x5655534e4d4b473c, %r12 # imm = 0x5655534E4D4B473C
addq %r10, %r12
addq %r8, %r12
rorxq $0x29, %rdx, %rdx
rorxq $0x1b, %r12, %r8
movabsq $-0x727478878b8d8e94, %r12 # imm = 0x8D8B87787472716C
addq %rsi, %rdi
movabsq $0x3a393635332e2d2b, %rsi # imm = 0x3A393635332E2D2B
addq %rsi, %r10
addq %rdi, %r10
rorxq $0x5, %r10, %rsi
movq %rsi, %rdi
xorq %r8, %rdi
movq %rdi, %r10
xorq %rdx, %r10
addq %rcx, %r10
rorxq $0x35, %r9, %rcx
xorq %rcx, %rdi
addq %rax, %rdi
xorq %rcx, %rdx
xorq %rdx, %rsi
addq %r14, %rsi
xorq %r8, %rdx
addq %r15, %rdx
movabsq $-0x4b4d4e535556595b, %r15 # imm = 0xB4B2B1ACAAA9A6A5
movq %r10, 0x18(%rbx,%r11)
movabsq $-0x5c636566696a6c72, %r10 # imm = 0xA39C9A999695938E
movq %rdi, (%rbx,%r11)
movq %rsi, 0x8(%rbx,%r11)
movq %rdx, 0x10(%rbx,%r11)
addq $-0x20, %r11
cmpq $-0x20, %r11
jne 0x3435
xorl %eax, %eax
xorl %ecx, %ecx
movq 0x20(%rsp), %r8
movq 0x2120(%rsp), %r9
movq %r15, %r10
leaq (%r9,%rax,8), %rsi
leaq (%r8,%rax,8), %r11
xorl %edx, %edx
movq (%rsi,%rdx,8), %rdi
xorq (%rbx,%rdx,8), %rdi
movq %rdi, (%rbx,%rdx,8)
movq %rdi, (%r11,%rdx,8)
incq %rdx
cmpq $0x4, %rdx
jne 0x358a
leaq 0x2(%rcx), %rsi
addq $0x40, %rbx
addq %rdx, %rax
testq %rcx, %rcx
movq %rsi, %rcx
je 0x3580
movq 0x8a3b(%rip), %r9       # 0xbff8
vmovdqa (%r9), %xmm2
movq 0x10(%r9), %rax
movq 0x18(%r9), %rcx
vmovdqu 0x8(%r9), %xmm3
vmovq %rax, %xmm4
vpaddq %xmm2, %xmm4, %xmm4
vpbroadcastq %xmm4, %xmm4
vpinsrq $0x1, %rcx, %xmm3, %xmm3
vpaddq %xmm3, %xmm4, %xmm3
vpaddq 0x6a10(%rip), %xmm3, %xmm3 # 0xa000
vprolvq 0x6a16(%rip), %xmm3, %xmm3 # 0xa010
vpinsrq $0x1, %rax, %xmm2, %xmm2
vpbroadcastq %rcx, %xmm4
vpaddq %xmm2, %xmm4, %xmm2
vpaddq 0x8(%r9){1to2}, %xmm2, %xmm2
vpaddq 0x6a07(%rip), %xmm2, %xmm2 # 0xa020
vprolvq 0x6a0d(%rip), %xmm2, %xmm2 # 0xa030
vpxor %xmm3, %xmm2, %xmm4
vinserti128 $0x1, %xmm4, %ymm4, %ymm4
vpermq $0xb4, %ymm4, %ymm4     # ymm4 = ymm4[0,1,3,2]
vpermt2q %ymm2, %ymm0, %ymm3
vpxor %ymm3, %ymm4, %ymm2
vpaddq 0x6a9b(%rip), %ymm2, %ymm2 # 0xa0e0
vmovdqu %ymm2, (%r9)
xorl %r11d, %r11d
movabsq $-0x2e333536393a3c48, %r14 # imm = 0xD1CCCAC9C6C5C3B8
movabsq $-0x5c636566696a6c72, %r15 # imm = 0xA39C9A999695938E
movabsq $-0x727478878b8d8e94, %r12 # imm = 0x8D8B87787472716C
movabsq $-0xf171b1d1e272b2e, %rdi # imm = 0xF0E8E4E2E1D8D4D2
movq (%r9,%r11), %rax
movq 0x8(%r9,%r11), %rcx
movq 0x10(%r9,%r11), %rdx
leaq (%rcx,%rax), %rsi
movq %rdi, %rbx
addq %rdx, %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%r9,%r11), %r8
leaq (%r14,%r8), %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r14
addq %rdx, %rax
addq %r10, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %r15, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r14, %rax
xorq %rdi, %rax
movq %rax, %rcx
xorq %r15, %rcx
xorq %rsi, %rax
xorq %rsi, %r15
xorq %r15, %r14
xorq %rdi, %r15
movq 0x8913(%rip), %rdx      # 0xbff8
movq 0x20(%rdx,%r11), %rsi
movq 0x8907(%rip), %rdx      # 0xbff8
movq 0x30(%rdx,%r11), %rdx
movq 0x88fb(%rip), %rdi      # 0xbff8
movq 0x38(%rdi,%r11), %rdi
leaq (%rdx,%rsi), %r8
leaq (%r12,%rdi), %r9
addq %r8, %r9
movq %r10, %r13
movq 0x88e1(%rip), %r10      # 0xbff8
movq 0x28(%r10,%r11), %r10
addq %rdi, %rdx
movq %r12, %rbp
movabsq $0x6a696665635c5a59, %r12 # imm = 0x6A696665635C5A59
addq %r10, %r12
addq %r12, %rdx
movabsq $0x5655534e4d4b473c, %r12 # imm = 0x5655534E4D4B473C
addq %r10, %r12
addq %r8, %r12
rorxq $0x29, %rdx, %rdx
rorxq $0x1b, %r12, %r8
movq %rbp, %r12
addq %rsi, %rdi
movabsq $0x3a393635332e2d2b, %rsi # imm = 0x3A393635332E2D2B
addq %rsi, %r10
addq %rdi, %r10
rorxq $0x5, %r10, %rsi
movq %rsi, %rdi
xorq %r8, %rdi
movq %rdi, %r10
xorq %rdx, %r10
addq %rcx, %r10
rorxq $0x35, %r9, %rcx
movq 0x8872(%rip), %r9       # 0xbff8
xorq %rcx, %rdi
addq %rax, %rdi
xorq %rcx, %rdx
xorq %rdx, %rsi
addq %r14, %rsi
movabsq $-0x2e333536393a3c48, %r14 # imm = 0xD1CCCAC9C6C5C3B8
xorq %r8, %rdx
addq %r15, %rdx
movabsq $-0x5c636566696a6c72, %r15 # imm = 0xA39C9A999695938E
movq %r10, 0x38(%r9,%r11)
movq %r13, %r10
movq %rdi, 0x20(%r9,%r11)
movq %rbx, %rdi
movq %rsi, 0x28(%r9,%r11)
movq %rdx, 0x30(%r9,%r11)
addq $0x20, %r11
cmpq $0x60, %r11
jne 0x3675
vmovdqa 0x60(%r9), %xmm2
vmovdqu 0x68(%r9), %xmm3
vpaddq 0x60(%r9){1to2}, %xmm3, %xmm4
vpaddq 0x70(%r9), %xmm4, %xmm4
vpaddq 0x6848(%rip), %xmm4, %xmm4 # 0xa040
vprolvq 0x684e(%rip), %xmm4, %xmm4 # 0xa050
vpunpcklqdq %xmm3, %xmm2, %xmm2 # xmm2 = xmm2[0],xmm3[0]
vpaddq %xmm2, %xmm3, %xmm2
vpaddq 0x78(%r9){1to2}, %xmm2, %xmm2
vpaddq 0x6847(%rip), %xmm2, %xmm2 # 0xa060
vprolvq 0x684d(%rip), %xmm2, %xmm2 # 0xa070
vpxor %xmm4, %xmm2, %xmm3
vinserti128 $0x1, %xmm3, %ymm3, %ymm3
vpermq $0xb4, %ymm3, %ymm3     # ymm3 = ymm3[0,1,3,2]
vpermt2q %ymm2, %ymm0, %ymm4
vpxor %ymm4, %ymm3, %ymm2
vpaddq 0x68bb(%rip), %ymm2, %ymm2 # 0xa100
vmovdqu %ymm2, 0x60(%r9)
movl $0x40, %r11d
movq (%r9,%r11), %rax
movq 0x8(%r9,%r11), %rcx
movq 0x10(%r9,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%rbx,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%r9,%r11), %r8
leaq (%r14,%r8), %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r14
addq %rdx, %rax
addq %r10, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %r15, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r14, %rax
xorq %rdi, %rax
movq %rax, %rcx
xorq %r15, %rcx
xorq %rsi, %rax
xorq %rsi, %r15
xorq %r15, %r14
xorq %rdi, %r15
movq 0x8739(%rip), %rdx      # 0xbff8
movq 0x20(%rdx,%r11), %rsi
movq 0x872d(%rip), %rdx      # 0xbff8
movq 0x30(%rdx,%r11), %rdx
movq 0x8721(%rip), %rdi      # 0xbff8
movq 0x38(%rdi,%r11), %rdi
leaq (%rdx,%rsi), %r8
leaq (%r12,%rdi), %r9
addq %r8, %r9
movq 0x870a(%rip), %r10      # 0xbff8
movq 0x28(%r10,%r11), %r10
addq %rdi, %rdx
movabsq $0x6a696665635c5a59, %r12 # imm = 0x6A696665635C5A59
addq %r10, %r12
addq %r12, %rdx
movabsq $0x5655534e4d4b473c, %r12 # imm = 0x5655534E4D4B473C
addq %r10, %r12
addq %r8, %r12
rorxq $0x29, %rdx, %rdx
rorxq $0x1b, %r12, %r8
movq %rbp, %r12
addq %rsi, %rdi
movabsq $0x3a393635332e2d2b, %rsi # imm = 0x3A393635332E2D2B
addq %rsi, %r10
addq %rdi, %r10
rorxq $0x5, %r10, %rsi
movq %rsi, %rdi
xorq %r8, %rdi
movq %rdi, %r10
xorq %rdx, %r10
addq %rcx, %r10
rorxq $0x35, %r9, %rcx
movq 0x869e(%rip), %r9       # 0xbff8
xorq %rcx, %rdi
addq %rax, %rdi
xorq %rcx, %rdx
xorq %rdx, %rsi
addq %r14, %rsi
movabsq $-0x2e333536393a3c48, %r14 # imm = 0xD1CCCAC9C6C5C3B8
xorq %r8, %rdx
addq %r15, %rdx
movabsq $-0x5c636566696a6c72, %r15 # imm = 0xA39C9A999695938E
movq %r10, 0x18(%r9,%r11)
movq %r13, %r10
movq %rdi, (%r9,%r11)
movq %rsi, 0x8(%r9,%r11)
movq %rdx, 0x10(%r9,%r11)
addq $-0x20, %r11
cmpq $-0x20, %r11
jne 0x3851
vmovdqu (%r9), %ymm2
vmovdqu 0x20(%r9), %ymm3
vmovdqu 0x40(%r9), %ymm4
vmovdqu 0x60(%r9), %ymm5
vmovdqu %ymm5, 0xb0(%rsp)
vmovdqu %ymm4, 0x90(%rsp)
vmovdqu %ymm3, 0x70(%rsp)
vmovdqu %ymm2, 0x50(%rsp)
xorl %eax, %eax
movq 0x20(%rsp), %rcx
vmovdqu (%r9,%rax,2), %ymm2
vpaddq 0xe0(%rsp,%rax), %ymm2, %ymm2
vmovdqu %ymm2, 0xe0(%rsp,%rax)
addq $0x20, %rax
cmpq $0x20, %rax
je 0x39e3
movq 0x30(%rsp), %rdx
cmpq $0x40, %rdx
movabsq $-0x4b4d4e535556595b, %r13 # imm = 0xB4B2B1ACAAA9A6A5
jae 0x3a26
xorl %esi, %esi
movq 0x8(%rsp), %rcx
jmp 0x43b4
shrq $0x6, %rdx
movq %rdx, 0x28(%rsp)
leaq 0x40(%rcx), %rax
movq %rax, 0x38(%rsp)
vmovdqa 0x6640(%rip), %xmm2     # 0xa080
vpmovsxbq 0x6707(%rip), %xmm3 # 0xa150
vmovdqa 0x664f(%rip), %xmm4     # 0xa0a0
vpmovsxbq 0x66f8(%rip), %xmm5 # 0xa152
vmovdqa 0x667e(%rip), %ymm6     # 0xa0e0
vmovdqa 0x65d6(%rip), %xmm7     # 0xa040
vpmovsxbq 0x66e1(%rip), %xmm8 # 0xa154
vmovdqa 0x65e5(%rip), %xmm9     # 0xa060
vpmovsxbq 0x66d2(%rip), %xmm10 # 0xa156
vmovdqa 0x6674(%rip), %ymm11    # 0xa100
vmovdqa 0x656c(%rip), %xmm12    # 0xa000
vpmovsxbq 0x66bb(%rip), %xmm13 # 0xa158
xorl %ebp, %ebp
vmovdqa 0x6579(%rip), %xmm14    # 0xa020
vpmovsxbq 0x66aa(%rip), %xmm15 # 0xa15a
xorl %eax, %eax
movq 0x8(%rsp), %rcx
movq %rax, 0x10(%rsp)
vmovups 0x50(%rsp), %ymm16
vmovups 0x70(%rsp), %ymm17
vmovups 0x90(%rsp), %ymm18
vmovups 0xb0(%rsp), %ymm19
vmovups %ymm16, (%r9)
vmovups %ymm19, 0x60(%r9)
vmovups %ymm18, 0x40(%r9)
vmovups %ymm17, 0x20(%r9)
incq %rcx
movq (%r9), %rax
movq %rcx, 0x8(%rsp)
xorq %rcx, %rax
movq %rax, (%r9)
movq 0x8(%r9), %rcx
vmovdqa64 0x10(%r9), %xmm16
vmovq %rax, %xmm17
vpaddq %xmm17, %xmm16, %xmm18
vpbroadcastq 0x18(%r9), %xmm19
vpinsrq $0x1, %rcx, %xmm19, %xmm19
vpbroadcastq %xmm18, %xmm18
vpaddq %xmm19, %xmm18, %xmm18
vpaddq %xmm2, %xmm18, %xmm18
vprolvq %xmm3, %xmm18, %xmm18
valignq $0x1, %xmm16, %xmm17, %xmm17 # xmm17 = xmm16[1],xmm17[0]
vpbroadcastq %rcx, %xmm19
vpaddq %xmm19, %xmm16, %xmm16
vpaddq %xmm17, %xmm16, %xmm16
vpaddq %xmm4, %xmm16, %xmm16
vprolvq %xmm5, %xmm16, %xmm16
vpxorq %xmm18, %xmm16, %xmm17
vpermt2q %ymm16, %ymm1, %ymm18
vpermq $0x41, %ymm17, %ymm16   # ymm16 = ymm17[1,0,0,1]
vpxorq %ymm18, %ymm16, %ymm16
vpaddq %ymm6, %ymm16, %ymm16
vmovdqu64 %ymm16, (%r9)
xorl %r11d, %r11d
movq %r13, %r10
movabsq $-0x2e333536393a3c48, %r14 # imm = 0xD1CCCAC9C6C5C3B8
movabsq $-0x5c636566696a6c72, %r15 # imm = 0xA39C9A999695938E
movabsq $-0x727478878b8d8e94, %r12 # imm = 0x8D8B87787472716C
movabsq $-0xf171b1d1e272b2e, %rdi # imm = 0xF0E8E4E2E1D8D4D2
movq (%r9,%r11), %rax
movq 0x8(%r9,%r11), %rcx
movq 0x10(%r9,%r11), %rdx
leaq (%rcx,%rax), %rsi
movq %rdi, %r13
addq %rdx, %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%r9,%r11), %r8
leaq (%r14,%r8), %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r14
addq %rdx, %rax
addq %r10, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %r15, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r14, %rax
xorq %rdi, %rax
movq %rax, %rcx
xorq %r15, %rcx
xorq %rsi, %rax
xorq %rsi, %r15
xorq %r15, %r14
xorq %rdi, %r15
movq 0x83bf(%rip), %rdx      # 0xbff8
movq 0x20(%rdx,%r11), %rsi
movq 0x83b3(%rip), %rdx      # 0xbff8
movq 0x30(%rdx,%r11), %rdx
movq 0x83a7(%rip), %rdi      # 0xbff8
movq 0x38(%rdi,%r11), %rdi
leaq (%rdx,%rsi), %r8
leaq (%r12,%rdi), %r9
addq %r8, %r9
movq 0x8390(%rip), %r10      # 0xbff8
movq 0x28(%r10,%r11), %r10
addq %rdi, %rdx
movq %r12, %rbx
movabsq $0x6a696665635c5a59, %r12 # imm = 0x6A696665635C5A59
addq %r10, %r12
addq %r12, %rdx
movabsq $0x5655534e4d4b473c, %r12 # imm = 0x5655534E4D4B473C
addq %r10, %r12
addq %r8, %r12
rorxq $0x29, %rdx, %rdx
rorxq $0x1b, %r12, %r8
movq %rbx, %r12
addq %rsi, %rdi
movabsq $0x3a393635332e2d2b, %rsi # imm = 0x3A393635332E2D2B
addq %rsi, %r10
addq %rdi, %r10
rorxq $0x5, %r10, %rsi
movq %rsi, %rdi
xorq %r8, %rdi
movq %rdi, %r10
xorq %rdx, %r10
addq %rcx, %r10
rorxq $0x35, %r9, %rcx
movq 0x8321(%rip), %r9       # 0xbff8
xorq %rcx, %rdi
addq %rax, %rdi
xorq %rcx, %rdx
xorq %rdx, %rsi
addq %r14, %rsi
movabsq $-0x2e333536393a3c48, %r14 # imm = 0xD1CCCAC9C6C5C3B8
xorq %r8, %rdx
addq %r15, %rdx
movabsq $-0x5c636566696a6c72, %r15 # imm = 0xA39C9A999695938E
movq %r10, 0x38(%r9,%r11)
movabsq $-0x4b4d4e535556595b, %r10 # imm = 0xB4B2B1ACAAA9A6A5
movq %rdi, 0x20(%r9,%r11)
movq %r13, %rdi
movq %rsi, 0x28(%r9,%r11)
movq %rdx, 0x30(%r9,%r11)
addq $0x20, %r11
cmpq $0x60, %r11
jne 0x3bc9
vmovdqa64 0x60(%r9), %xmm16
vmovdqu64 0x68(%r9), %xmm17
vpaddq 0x60(%r9){1to2}, %xmm17, %xmm18
vpaddq 0x70(%r9), %xmm18, %xmm18
vpaddq %xmm7, %xmm18, %xmm18
vpunpcklqdq %xmm17, %xmm16, %xmm16 # xmm16 = xmm16[0],xmm17[0]
vpaddq %xmm16, %xmm17, %xmm16
vpaddq 0x78(%r9){1to2}, %xmm16, %xmm16
vprolvq %xmm8, %xmm18, %xmm17
vpaddq %xmm9, %xmm16, %xmm16
vprolvq %xmm10, %xmm16, %xmm16
vpxorq %xmm17, %xmm16, %xmm18
vinserti32x4 $0x1, %xmm18, %ymm18, %ymm18
vpermq $0xb4, %ymm18, %ymm18   # ymm18 = ymm18[0,1,3,2]
vpermt2q %ymm16, %ymm0, %ymm17
vpxorq %ymm17, %ymm18, %ymm16
vpaddq %ymm11, %ymm16, %ymm16
vmovdqu64 %ymm16, 0x60(%r9)
movl $0x40, %r11d
movq (%r9,%r11), %rax
movq 0x8(%r9,%r11), %rcx
movq 0x10(%r9,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%rdx,%r13), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%r9,%r11), %r8
leaq (%r14,%r8), %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r14
addq %rdx, %rax
addq %r10, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %r15, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r14, %rax
xorq %rdi, %rax
movq %rax, %rcx
xorq %r15, %rcx
xorq %rsi, %rax
xorq %rsi, %r15
xorq %r15, %r14
xorq %rdi, %r15
movq 0x81de(%rip), %rdx      # 0xbff8
movq 0x20(%rdx,%r11), %rsi
movq 0x81d2(%rip), %rdx      # 0xbff8
movq 0x30(%rdx,%r11), %rdx
movq 0x81c6(%rip), %rdi      # 0xbff8
movq 0x38(%rdi,%r11), %rdi
leaq (%rdx,%rsi), %r8
leaq (%r12,%rdi), %r9
addq %r8, %r9
movq 0x81af(%rip), %r10      # 0xbff8
movq 0x28(%r10,%r11), %r10
addq %rdi, %rdx
movabsq $0x6a696665635c5a59, %r12 # imm = 0x6A696665635C5A59
addq %r10, %r12
addq %r12, %rdx
movabsq $0x5655534e4d4b473c, %r12 # imm = 0x5655534E4D4B473C
addq %r10, %r12
addq %r8, %r12
rorxq $0x29, %rdx, %rdx
rorxq $0x1b, %r12, %r8
movq %rbx, %r12
addq %rsi, %rdi
movabsq $0x3a393635332e2d2b, %rsi # imm = 0x3A393635332E2D2B
addq %rsi, %r10
addq %rdi, %r10
rorxq $0x5, %r10, %rsi
movq %rsi, %rdi
xorq %r8, %rdi
movq %rdi, %r10
xorq %rdx, %r10
addq %rcx, %r10
rorxq $0x35, %r9, %rcx
movq 0x8143(%rip), %r9       # 0xbff8
xorq %rcx, %rdi
addq %rax, %rdi
xorq %rcx, %rdx
xorq %rdx, %rsi
addq %r14, %rsi
movabsq $-0x2e333536393a3c48, %r14 # imm = 0xD1CCCAC9C6C5C3B8
xorq %r8, %rdx
addq %r15, %rdx
movabsq $-0x5c636566696a6c72, %r15 # imm = 0xA39C9A999695938E
movq %r10, 0x18(%r9,%r11)
movabsq $-0x4b4d4e535556595b, %r10 # imm = 0xB4B2B1ACAAA9A6A5
movq %rdi, (%r9,%r11)
movq %rsi, 0x8(%r9,%r11)
movq %rdx, 0x10(%r9,%r11)
addq $-0x20, %r11
cmpq $-0x20, %r11
jne 0x3dac
movq %r9, %rax
xorl %ecx, %ecx
movq %r10, %r13
movq 0x48(%rsp), %r8
movq 0x38(%rsp), %r10
movq %rbp, %rbx
leaq (%r8,%rbp,8), %rdx
leaq (%r10,%rbp,8), %rsi
xorl %r11d, %r11d
movq (%rdx,%r11), %rdi
xorq (%rax,%r11), %rdi
movq %rdi, (%rax,%r11)
movq %rdi, (%rsi,%r11)
incq %rbp
addq $0x8, %r11
cmpq $0x20, %r11
jne 0x3f29
leaq 0x2(%rcx), %rdx
addq $0x40, %rax
testq %rcx, %rcx
movq %rdx, %rcx
je 0x3f1b
movq %rbx, 0x40(%rsp)
vmovdqa64 (%r9), %xmm16
movq 0x10(%r9), %rax
movq 0x18(%r9), %rcx
vmovdqu64 0x8(%r9), %xmm17
vmovq %rax, %xmm18
vpaddq %xmm16, %xmm18, %xmm18
vpbroadcastq %xmm18, %xmm18
vpinsrq $0x1, %rcx, %xmm17, %xmm17
vpaddq %xmm17, %xmm18, %xmm17
vpaddq %xmm12, %xmm17, %xmm17
vpbroadcastq %rcx, %xmm18
vpinsrq $0x1, %rax, %xmm16, %xmm16
vpaddq %xmm16, %xmm18, %xmm16
vpaddq 0x8(%r9){1to2}, %xmm16, %xmm16
vprolvq %xmm13, %xmm17, %xmm17
vpaddq %xmm14, %xmm16, %xmm16
vprolvq %xmm15, %xmm16, %xmm16
vpxorq %xmm17, %xmm16, %xmm18
vinserti32x4 $0x1, %xmm18, %ymm18, %ymm18
vpermq $0xb4, %ymm18, %ymm18   # ymm18 = ymm18[0,1,3,2]
vpermt2q %ymm16, %ymm0, %ymm17
vpxorq %ymm17, %ymm18, %ymm16
vpaddq %ymm6, %ymm16, %ymm16
vmovdqu64 %ymm16, (%r9)
xorl %r12d, %r12d
movabsq $-0x2e333536393a3c48, %r10 # imm = 0xD1CCCAC9C6C5C3B8
movabsq $-0x5c636566696a6c72, %r14 # imm = 0xA39C9A999695938E
movabsq $-0xf171b1d1e272b2e, %rbx # imm = 0xF0E8E4E2E1D8D4D2
movq (%r9,%r12), %rax
movq 0x8(%r9,%r12), %rdx
movq 0x10(%r9,%r12), %rsi
leaq (%rdx,%rax), %rcx
leaq (%rbx,%rsi), %rdi
addq %rcx, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%r9,%r12), %r8
leaq (%r10,%r8), %r9
addq %rcx, %r9
rorxq $0x2d, %r9, %rcx
addq %rsi, %rax
addq %r13, %rax
addq %r8, %rax
rorxq $0x21, %rax, %r9
addq %rdx, %rsi
addq %r14, %r8
addq %rsi, %r8
rorxq $0xb, %r8, %rax
movq %rcx, %r15
xorq %rdi, %r15
movq %r15, %rdx
xorq %rax, %rdx
xorq %r9, %r15
xorq %r9, %rax
xorq %rax, %rcx
xorq %rdi, %rax
movq 0x7f79(%rip), %rsi      # 0xbff8
movq 0x20(%rsi,%r12), %rdi
movq 0x7f6d(%rip), %rsi      # 0xbff8
movq 0x30(%rsi,%r12), %rsi
movq 0x7f61(%rip), %r8       # 0xbff8
movq 0x38(%r8,%r12), %r8
leaq (%rsi,%rdi), %r9
movabsq $-0x727478878b8d8e94, %r10 # imm = 0x8D8B87787472716C
addq %r8, %r10
addq %r9, %r10
movq 0x7f41(%rip), %rbx      # 0xbff8
movq 0x28(%rbx,%r12), %r13
addq %r8, %rsi
movabsq $0x6a696665635c5a59, %rbx # imm = 0x6A696665635C5A59
addq %rbx, %rsi
addq %r13, %rsi
movabsq $0x5655534e4d4b473c, %rbx # imm = 0x5655534E4D4B473C
leaq (%rbx,%r13), %r14
addq %r9, %r14
rorxq $0x29, %rsi, %rsi
rorxq $0x1b, %r14, %r9
addq %rdi, %r8
movabsq $0x3a393635332e2d2b, %rdi # imm = 0x3A393635332E2D2B
addq %rdi, %r13
addq %r8, %r13
rorxq $0x5, %r13, %rdi
movabsq $-0xf171b1d1e272b2e, %rbx # imm = 0xF0E8E4E2E1D8D4D2
movabsq $-0x4b4d4e535556595b, %r13 # imm = 0xB4B2B1ACAAA9A6A5
movq %rdi, %r8
xorq %r9, %r8
movq %r8, %r14
xorq %rsi, %r14
addq %rdx, %r14
rorxq $0x35, %r10, %rdx
movabsq $-0x2e333536393a3c48, %r10 # imm = 0xD1CCCAC9C6C5C3B8
xorq %rdx, %r8
addq %r15, %r8
xorq %rdx, %rsi
xorq %rsi, %rdi
addq %rcx, %rdi
xorq %r9, %rsi
movq 0x7ea7(%rip), %r9       # 0xbff8
addq %rax, %rsi
movq %r14, 0x38(%r9,%r12)
movabsq $-0x5c636566696a6c72, %r14 # imm = 0xA39C9A999695938E
movq %r8, 0x20(%r9,%r12)
movq %rdi, 0x28(%r9,%r12)
movq %rsi, 0x30(%r9,%r12)
addq $0x20, %r12
cmpq $0x60, %r12
jne 0x4011
vmovdqa64 0x60(%r9), %xmm16
vmovdqu64 0x68(%r9), %xmm17
vpaddq 0x60(%r9){1to2}, %xmm17, %xmm18
vpaddq 0x70(%r9), %xmm18, %xmm18
vpaddq %xmm7, %xmm18, %xmm18
vpunpcklqdq %xmm17, %xmm16, %xmm16 # xmm16 = xmm16[0],xmm17[0]
vpaddq %xmm16, %xmm17, %xmm16
vpaddq 0x78(%r9){1to2}, %xmm16, %xmm16
vprolvq %xmm8, %xmm18, %xmm17
vpaddq %xmm9, %xmm16, %xmm16
vprolvq %xmm10, %xmm16, %xmm16
vpxorq %xmm17, %xmm16, %xmm18
vinserti32x4 $0x1, %xmm18, %ymm18, %ymm18
vpermq $0xb4, %ymm18, %ymm18   # ymm18 = ymm18[0,1,3,2]
vpermt2q %ymm16, %ymm0, %ymm17
vpxorq %ymm17, %ymm18, %ymm16
vpaddq %ymm11, %ymm16, %ymm16
vmovdqu64 %ymm16, 0x60(%r9)
movl $0x40, %r12d
movq (%r9,%r12), %rax
movq 0x8(%r9,%r12), %rcx
movq 0x10(%r9,%r12), %rdx
leaq (%rcx,%rax), %rsi
leaq (%rbx,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%r9,%r12), %r8
leaq (%r10,%r8), %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r15
addq %rdx, %rax
addq %r13, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %r14, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %rax
movq %r15, %rcx
xorq %rdi, %rcx
movq %rcx, %rdx
xorq %rax, %rdx
xorq %rsi, %rcx
xorq %rsi, %rax
xorq %rax, %r15
xorq %rdi, %rax
movq 0x7d8d(%rip), %rsi      # 0xbff8
movq 0x20(%rsi,%r12), %rdi
movq 0x7d81(%rip), %rsi      # 0xbff8
movq 0x30(%rsi,%r12), %rsi
movq 0x7d75(%rip), %r8       # 0xbff8
movq 0x38(%r8,%r12), %r8
leaq (%rsi,%rdi), %r9
movabsq $-0x727478878b8d8e94, %r10 # imm = 0x8D8B87787472716C
addq %r8, %r10
addq %r9, %r10
movq 0x7d55(%rip), %rbx      # 0xbff8
movq 0x28(%rbx,%r12), %r14
addq %r8, %rsi
movabsq $0x6a696665635c5a59, %rbx # imm = 0x6A696665635C5A59
addq %rbx, %rsi
addq %r14, %rsi
movabsq $0x5655534e4d4b473c, %rbx # imm = 0x5655534E4D4B473C
leaq (%rbx,%r14), %r13
addq %r9, %r13
rorxq $0x29, %rsi, %rsi
rorxq $0x1b, %r13, %r9
movabsq $-0xf171b1d1e272b2e, %rbx # imm = 0xF0E8E4E2E1D8D4D2
movabsq $-0x4b4d4e535556595b, %r13 # imm = 0xB4B2B1ACAAA9A6A5
addq %rdi, %r8
movabsq $0x3a393635332e2d2b, %rdi # imm = 0x3A393635332E2D2B
addq %rdi, %r14
addq %r8, %r14
rorxq $0x5, %r14, %rdi
movq %rdi, %r8
xorq %r9, %r8
movq %r8, %r14
xorq %rsi, %r14
addq %rdx, %r14
rorxq $0x35, %r10, %rdx
movabsq $-0x2e333536393a3c48, %r10 # imm = 0xD1CCCAC9C6C5C3B8
xorq %rdx, %r8
addq %rcx, %r8
xorq %rdx, %rsi
xorq %rsi, %rdi
addq %r15, %rdi
xorq %r9, %rsi
movq 0x7cbb(%rip), %r9       # 0xbff8
addq %rax, %rsi
movq %r14, 0x18(%r9,%r12)
movabsq $-0x5c636566696a6c72, %r14 # imm = 0xA39C9A999695938E
movq %r8, (%r9,%r12)
movq %rdi, 0x8(%r9,%r12)
movq %rsi, 0x10(%r9,%r12)
addq $-0x20, %r12
cmpq $-0x20, %r12
jne 0x41fd
xorl %eax, %eax
vmovdqu64 (%r9,%rax,2), %ymm16
vpaddq 0xe0(%rsp,%rax), %ymm16, %ymm16
vmovdqu64 %ymm16, 0xe0(%rsp,%rax)
addq $0x20, %rax
cmpq $0x20, %rax
je 0x436d
movq 0x10(%rsp), %rax
incq %rax
cmpq 0x28(%rsp), %rax
movq 0x8(%rsp), %rcx
movq 0x40(%rsp), %rdx
jne 0x3ab7
leaq (%r11,%rdx,8), %rsi
movq 0x30(%rsp), %rdx
vmovups 0x50(%rsp), %ymm2
vmovups 0x70(%rsp), %ymm3
vmovups 0x90(%rsp), %ymm4
vmovups 0xb0(%rsp), %ymm5
movq 0x7c1f(%rip), %rbx      # 0xbff8
vmovups %ymm2, (%rbx)
incq %rcx
xorq (%rbx), %rcx
vmovups %ymm5, 0x60(%rbx)
vmovups %ymm4, 0x40(%rbx)
vmovups %ymm3, 0x20(%rbx)
movq %rcx, (%rbx)
movq 0x8(%rbx), %rax
vmovdqa 0x10(%rbx), %xmm2
vmovq %rcx, %xmm3
vpaddq %xmm3, %xmm2, %xmm4
vpbroadcastq 0x18(%rbx), %xmm5
vpinsrq $0x1, %rax, %xmm5, %xmm5
vpbroadcastq %xmm4, %xmm4
vpaddq %xmm5, %xmm4, %xmm4
vpaddq 0x5c5c(%rip), %xmm4, %xmm4 # 0xa080
vprolvq 0x5c62(%rip), %xmm4, %xmm4 # 0xa090
vpalignr $0x8, %xmm2, %xmm3, %xmm3 # xmm3 = xmm2[8,9,10,11,12,13,14,15],xmm3[0,1,2,3,4,5,6,7]
vpbroadcastq %rax, %xmm5
vpaddq %xmm5, %xmm2, %xmm2
vpaddq %xmm3, %xmm2, %xmm2
vpaddq 0x5c56(%rip), %xmm2, %xmm2 # 0xa0a0
movq %rdx, %rax
vprolvq 0x5c59(%rip), %xmm2, %xmm2 # 0xa0b0
vpxor %xmm4, %xmm2, %xmm3
vpermi2q %ymm2, %ymm4, %ymm1
vpermq $0x41, %ymm3, %ymm2     # ymm2 = ymm3[1,0,0,1]
vpxor %ymm1, %ymm2, %ymm1
vpaddq 0x5c6d(%rip), %ymm1, %ymm1 # 0xa0e0
vmovdqu %ymm1, (%rbx)
andq $0x3f, %rax
je 0x4bc8
movq %rax, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
xorl %r15d, %r15d
movabsq $-0x2e333536393a3c48, %r12 # imm = 0xD1CCCAC9C6C5C3B8
movabsq $-0x727478878b8d8e94, %r10 # imm = 0x8D8B87787472716C
movabsq $0x6a696665635c5a59, %rbp # imm = 0x6A696665635C5A59
movabsq $-0xf171b1d1e272b2e, %r9 # imm = 0xF0E8E4E2E1D8D4D2
movq (%rbx,%r15), %rax
movq 0x8(%rbx,%r15), %rcx
movq 0x10(%rbx,%r15), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r9,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r15), %r8
leaq (%r12,%r8), %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r12
addq %rdx, %rax
addq %r13, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rax # imm = 0xA39C9A999695938E
addq %rax, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %rax
movq %r12, %rcx
xorq %rdi, %rcx
movq %rcx, %rdx
xorq %rax, %rdx
xorq %rsi, %rcx
xorq %rsi, %rax
xorq %rax, %r12
xorq %rdi, %rax
movq 0x20(%rbx,%r15), %rdi
movq 0x30(%rbx,%r15), %rsi
movq 0x38(%rbx,%r15), %r8
leaq (%rsi,%rdi), %r9
movq %r10, %r11
addq %r8, %r10
addq %r9, %r10
movq 0x28(%rbx,%r15), %r13
addq %r8, %rsi
movq %rbp, %r14
addq %r13, %rbp
addq %rbp, %rsi
movabsq $0x5655534e4d4b473c, %rbp # imm = 0x5655534E4D4B473C
addq %r13, %rbp
addq %r9, %rbp
rorxq $0x29, %rsi, %rsi
rorxq $0x1b, %rbp, %r9
movq %r14, %rbp
addq %rdi, %r8
movabsq $0x3a393635332e2d2b, %rdi # imm = 0x3A393635332E2D2B
addq %rdi, %r13
addq %r8, %r13
rorxq $0x5, %r13, %rdi
movq %rdi, %r8
xorq %r9, %r8
movq %r8, %r13
xorq %rsi, %r13
addq %rdx, %r13
rorxq $0x35, %r10, %rdx
movq %r11, %r10
xorq %rdx, %r8
addq %rcx, %r8
xorq %rdx, %rsi
xorq %rsi, %rdi
addq %r12, %rdi
movabsq $-0x2e333536393a3c48, %r12 # imm = 0xD1CCCAC9C6C5C3B8
xorq %r9, %rsi
addq %rax, %rsi
movq %r13, 0x38(%rbx,%r15)
movabsq $-0xf171b1d1e272b2e, %r9 # imm = 0xF0E8E4E2E1D8D4D2
movabsq $-0x4b4d4e535556595b, %r13 # imm = 0xB4B2B1ACAAA9A6A5
movq %r8, 0x20(%rbx,%r15)
movq %rdi, 0x28(%rbx,%r15)
movq %rsi, 0x30(%rbx,%r15)
addq $0x20, %r15
cmpq $0x60, %r15
jne 0x44b6
vmovdqa 0x60(%rbx), %xmm1
vmovdqu 0x68(%rbx), %xmm2
vpaddq 0x60(%rbx){1to2}, %xmm2, %xmm3
vpaddq 0x70(%rbx), %xmm3, %xmm3
vpaddq 0x5a29(%rip), %xmm3, %xmm3 # 0xa040
vprolvq 0x5a2f(%rip), %xmm3, %xmm3 # 0xa050
vpunpcklqdq %xmm2, %xmm1, %xmm1 # xmm1 = xmm1[0],xmm2[0]
vpaddq %xmm1, %xmm2, %xmm1
vpaddq 0x78(%rbx){1to2}, %xmm1, %xmm1
vpaddq 0x5a28(%rip), %xmm1, %xmm1 # 0xa060
vprolvq 0x5a2e(%rip), %xmm1, %xmm1 # 0xa070
vpxor %xmm3, %xmm1, %xmm2
vinserti128 $0x1, %xmm2, %ymm2, %ymm2
vpermq $0xb4, %ymm2, %ymm2     # ymm2 = ymm2[0,1,3,2]
vpermt2q %ymm1, %ymm0, %ymm3
vpxor %ymm3, %ymm2, %ymm1
vpaddq 0x5a9c(%rip), %ymm1, %ymm1 # 0xa100
vmovdqu %ymm1, 0x60(%rbx)
movl $0x40, %r15d
movq (%rbx,%r15), %rax
movq 0x8(%rbx,%r15), %rcx
movq 0x10(%rbx,%r15), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r9,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r15), %r8
leaq (%r12,%r8), %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r12
addq %rdx, %rax
addq %r13, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rax # imm = 0xA39C9A999695938E
addq %rax, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %rax
movq %r12, %rcx
xorq %rdi, %rcx
movq %rcx, %rdx
xorq %rax, %rdx
xorq %rsi, %rcx
xorq %rsi, %rax
xorq %rax, %r12
xorq %rdi, %rax
movq 0x20(%rbx,%r15), %rdi
movq 0x30(%rbx,%r15), %rsi
movq 0x38(%rbx,%r15), %r8
leaq (%rsi,%rdi), %r9
leaq (%r11,%r8), %r10
addq %r9, %r10
movq 0x28(%rbx,%r15), %r13
addq %r8, %rsi
addq %r14, %rsi
addq %r13, %rsi
movabsq $0x5655534e4d4b473c, %rbp # imm = 0x5655534E4D4B473C
addq %r13, %rbp
addq %r9, %rbp
rorxq $0x29, %rsi, %rsi
rorxq $0x1b, %rbp, %r9
addq %rdi, %r8
movabsq $0x3a393635332e2d2b, %rdi # imm = 0x3A393635332E2D2B
addq %rdi, %r13
addq %r8, %r13
rorxq $0x5, %r13, %rdi
movq %rdi, %r8
xorq %r9, %r8
movq %r8, %r13
xorq %rsi, %r13
addq %rdx, %r13
rorxq $0x35, %r10, %rdx
xorq %rdx, %r8
addq %rcx, %r8
xorq %rdx, %rsi
xorq %rsi, %rdi
addq %r12, %rdi
movabsq $-0x2e333536393a3c48, %r12 # imm = 0xD1CCCAC9C6C5C3B8
xorq %r9, %rsi
addq %rax, %rsi
movq %r13, 0x18(%rbx,%r15)
movabsq $-0xf171b1d1e272b2e, %r9 # imm = 0xF0E8E4E2E1D8D4D2
movabsq $-0x4b4d4e535556595b, %r13 # imm = 0xB4B2B1ACAAA9A6A5
movq %r8, (%rbx,%r15)
movq %rdi, 0x8(%rbx,%r15)
movq %rsi, 0x10(%rbx,%r15)
addq $-0x20, %r15
cmpq $-0x20, %r15
jne 0x466f
movq 0x48(%rsp), %rdi
movq 0x8(%rsp), %rcx
addq %rcx, %rdi
movq 0x20(%rsp), %rax
addq %rax, %rcx
addq $0x40, %rcx
xorl %eax, %eax
xorl %edx, %edx
movq 0x10(%rsp), %r8
movb (%rdi,%rdx), %sil
xorb (%rbx,%rax), %sil
movb %sil, (%rbx,%rax)
movb %sil, (%rcx,%rdx)
leaq 0x1(%rax), %rsi
addq $0x21, %rax
testb $0x1f, %sil
cmovneq %rsi, %rax
incq %rdx
cmpq %rdx, %r8
jne 0x47c8
xorb $0x1, (%rbx,%rax)
vmovdqa (%rbx), %xmm1
movq 0x10(%rbx), %rax
movq 0x18(%rbx), %rcx
vmovdqu 0x8(%rbx), %xmm2
vmovq %rax, %xmm3
vpaddq %xmm1, %xmm3, %xmm3
vpbroadcastq %xmm3, %xmm3
vpinsrq $0x1, %rcx, %xmm2, %xmm2
vpaddq %xmm2, %xmm3, %xmm2
vpaddq 0x57db(%rip), %xmm2, %xmm2 # 0xa000
vprolvq 0x57e1(%rip), %xmm2, %xmm2 # 0xa010
vpinsrq $0x1, %rax, %xmm1, %xmm1
vpbroadcastq %rcx, %xmm3
vpaddq %xmm1, %xmm3, %xmm1
vpaddq 0x8(%rbx){1to2}, %xmm1, %xmm1
vpaddq 0x57d2(%rip), %xmm1, %xmm1 # 0xa020
vprolvq 0x57d8(%rip), %xmm1, %xmm1 # 0xa030
vpxor %xmm2, %xmm1, %xmm3
vinserti128 $0x1, %xmm3, %ymm3, %ymm3
vpermq $0xb4, %ymm3, %ymm3     # ymm3 = ymm3[0,1,3,2]
vpermt2q %ymm1, %ymm0, %ymm2
vpxor %ymm2, %ymm3, %ymm1
vpaddq 0x5866(%rip), %ymm1, %ymm1 # 0xa0e0
vmovdqu %ymm1, (%rbx)
xorl %r11d, %r11d
movabsq $-0x2e333536393a3c48, %r14 # imm = 0xD1CCCAC9C6C5C3B8
movabsq $-0x4b4d4e535556595b, %r10 # imm = 0xB4B2B1ACAAA9A6A5
movabsq $-0x5c636566696a6c72, %r15 # imm = 0xA39C9A999695938E
movabsq $-0x727478878b8d8e94, %r12 # imm = 0x8D8B87787472716C
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r9,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
leaq (%r14,%r8), %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r14
addq %rdx, %rax
addq %r10, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %r15, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %rax
movq %r14, %rcx
xorq %rdi, %rcx
movq %rcx, %rdx
xorq %rax, %rdx
xorq %rsi, %rcx
xorq %rsi, %rax
xorq %rax, %r14
xorq %rdi, %rax
movq 0x20(%rbx,%r11), %rdi
movq 0x30(%rbx,%r11), %rsi
movq 0x38(%rbx,%r11), %r8
leaq (%rsi,%rdi), %r9
leaq (%r12,%r8), %r10
addq %r9, %r10
movq %r15, %rbp
movq 0x28(%rbx,%r11), %r15
addq %r8, %rsi
movq %r12, %r13
movabsq $0x6a696665635c5a59, %r12 # imm = 0x6A696665635C5A59
addq %r15, %r12
addq %r12, %rsi
movabsq $0x5655534e4d4b473c, %r12 # imm = 0x5655534E4D4B473C
addq %r15, %r12
addq %r9, %r12
rorxq $0x29, %rsi, %rsi
rorxq $0x1b, %r12, %r9
movq %r13, %r12
addq %rdi, %r8
movabsq $0x3a393635332e2d2b, %rdi # imm = 0x3A393635332E2D2B
addq %rdi, %r15
addq %r8, %r15
rorxq $0x5, %r15, %rdi
movq %rdi, %r8
xorq %r9, %r8
movq %r8, %r15
xorq %rsi, %r15
addq %rdx, %r15
rorxq $0x35, %r10, %rdx
movabsq $-0x4b4d4e535556595b, %r10 # imm = 0xB4B2B1ACAAA9A6A5
xorq %rdx, %r8
addq %rcx, %r8
xorq %rdx, %rsi
xorq %rsi, %rdi
addq %r14, %rdi
movabsq $-0x2e333536393a3c48, %r14 # imm = 0xD1CCCAC9C6C5C3B8
xorq %r9, %rsi
movabsq $-0xf171b1d1e272b2e, %r9 # imm = 0xF0E8E4E2E1D8D4D2
addq %rax, %rsi
movq %r15, 0x38(%rbx,%r11)
movq %rbp, %r15
movq %r8, 0x20(%rbx,%r11)
movq %rdi, 0x28(%rbx,%r11)
movq %rsi, 0x30(%rbx,%r11)
addq $0x20, %r11
cmpq $0x60, %r11
jne 0x48a9
vmovdqa 0x60(%rbx), %xmm1
vmovdqu 0x68(%rbx), %xmm2
vpaddq 0x60(%rbx){1to2}, %xmm2, %xmm3
vpaddq 0x70(%rbx), %xmm3, %xmm3
vpaddq 0x5635(%rip), %xmm3, %xmm3 # 0xa040
vprolvq 0x563b(%rip), %xmm3, %xmm3 # 0xa050
vpunpcklqdq %xmm2, %xmm1, %xmm1 # xmm1 = xmm1[0],xmm2[0]
vpaddq %xmm1, %xmm2, %xmm1
vpaddq 0x78(%rbx){1to2}, %xmm1, %xmm1
vpaddq 0x5634(%rip), %xmm1, %xmm1 # 0xa060
vprolvq 0x563a(%rip), %xmm1, %xmm1 # 0xa070
vpxor %xmm3, %xmm1, %xmm2
vinserti128 $0x1, %xmm2, %ymm2, %ymm2
vpermq $0xb4, %ymm2, %ymm2     # ymm2 = ymm2[0,1,3,2]
vpermi2q %ymm1, %ymm3, %ymm0
vpxor %ymm0, %ymm2, %ymm0
vpaddq 0x56a8(%rip), %ymm0, %ymm0 # 0xa100
vmovdqu %ymm0, 0x60(%rbx)
movl $0x40, %r11d
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r9,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
leaq (%r14,%r8), %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r14
addq %rdx, %rax
addq %r10, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %r15, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %rax
movq %r14, %rcx
xorq %rdi, %rcx
movq %rcx, %rdx
xorq %rax, %rdx
xorq %rsi, %rcx
xorq %rsi, %rax
xorq %rax, %r14
xorq %rdi, %rax
movq 0x20(%rbx,%r11), %rdi
movq 0x30(%rbx,%r11), %rsi
movq 0x38(%rbx,%r11), %r8
leaq (%rsi,%rdi), %r9
leaq (%r12,%r8), %r10
addq %r9, %r10
movq 0x28(%rbx,%r11), %r15
addq %r8, %rsi
movabsq $0x6a696665635c5a59, %r12 # imm = 0x6A696665635C5A59
addq %r15, %r12
addq %r12, %rsi
movabsq $0x5655534e4d4b473c, %r12 # imm = 0x5655534E4D4B473C
addq %r15, %r12
addq %r9, %r12
rorxq $0x29, %rsi, %rsi
rorxq $0x1b, %r12, %r9
movq %r13, %r12
addq %rdi, %r8
movabsq $0x3a393635332e2d2b, %rdi # imm = 0x3A393635332E2D2B
addq %rdi, %r15
addq %r8, %r15
rorxq $0x5, %r15, %rdi
movq %rdi, %r8
xorq %r9, %r8
movq %r8, %r15
xorq %rsi, %r15
addq %rdx, %r15
rorxq $0x35, %r10, %rdx
movabsq $-0x4b4d4e535556595b, %r10 # imm = 0xB4B2B1ACAAA9A6A5
xorq %rdx, %r8
addq %rcx, %r8
xorq %rdx, %rsi
xorq %rsi, %rdi
addq %r14, %rdi
movabsq $-0x2e333536393a3c48, %r14 # imm = 0xD1CCCAC9C6C5C3B8
xorq %r9, %rsi
movabsq $-0xf171b1d1e272b2e, %r9 # imm = 0xF0E8E4E2E1D8D4D2
addq %rax, %rsi
movq %r15, 0x18(%rbx,%r11)
movq %rbp, %r15
movq %r8, (%rbx,%r11)
movq %rdi, 0x8(%rbx,%r11)
movq %rsi, 0x10(%rbx,%r11)
addq $-0x20, %r11
cmpq $-0x20, %r11
jne 0x4a63
xorl %eax, %eax
vmovdqu (%rbx,%rax,2), %ymm0
vpaddq 0xe0(%rsp,%rax), %ymm0, %ymm0
vmovdqu %ymm0, 0xe0(%rsp,%rax)
addq $0x20, %rax
cmpq $0x20, %rax
je 0x4ba2
jmp 0x5264
xorl %r11d, %r11d
movabsq $-0x5c636566696a6c72, %r10 # imm = 0xA39C9A999695938E
movabsq $-0x727478878b8d8e94, %r15 # imm = 0x8D8B87787472716C
movabsq $0x6a696665635c5a59, %r12 # imm = 0x6A696665635C5A59
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
movabsq $-0xf171b1d1e272b2e, %rdi # imm = 0xF0E8E4E2E1D8D4D2
addq %rdx, %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r14
addq %rdx, %rax
addq %r13, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %r10, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %rax
movq %r14, %rcx
xorq %rdi, %rcx
movq %rcx, %rdx
xorq %rax, %rdx
xorq %rsi, %rcx
xorq %rsi, %rax
xorq %rax, %r14
xorq %rdi, %rax
movq 0x20(%rbx,%r11), %rdi
movq 0x30(%rbx,%r11), %rsi
movq 0x38(%rbx,%r11), %r8
leaq (%rsi,%rdi), %r9
leaq (%r15,%r8), %r10
addq %r9, %r10
movq 0x28(%rbx,%r11), %r15
addq %r8, %rsi
movq %r12, %rbp
addq %r15, %r12
addq %r12, %rsi
movabsq $0x5655534e4d4b473c, %r12 # imm = 0x5655534E4D4B473C
addq %r15, %r12
addq %r9, %r12
rorxq $0x29, %rsi, %rsi
rorxq $0x1b, %r12, %r9
movq %rbp, %r12
addq %rdi, %r8
movabsq $0x3a393635332e2d2b, %rdi # imm = 0x3A393635332E2D2B
addq %rdi, %r15
addq %r8, %r15
rorxq $0x5, %r15, %rdi
movq %rdi, %r8
xorq %r9, %r8
movq %r8, %r15
xorq %rsi, %r15
addq %rdx, %r15
rorxq $0x35, %r10, %rdx
movabsq $-0x5c636566696a6c72, %r10 # imm = 0xA39C9A999695938E
xorq %rdx, %r8
addq %rcx, %r8
xorq %rdx, %rsi
xorq %rsi, %rdi
addq %r14, %rdi
xorq %r9, %rsi
addq %rax, %rsi
movq %r15, 0x38(%rbx,%r11)
movabsq $-0x727478878b8d8e94, %r15 # imm = 0x8D8B87787472716C
movq %r8, 0x20(%rbx,%r11)
movq %rdi, 0x28(%rbx,%r11)
movq %rsi, 0x30(%rbx,%r11)
addq $0x20, %r11
cmpq $0x60, %r11
jne 0x4be9
vmovdqa 0x60(%rbx), %xmm1
vmovdqu 0x68(%rbx), %xmm2
vpaddq 0x60(%rbx){1to2}, %xmm2, %xmm3
vpaddq 0x70(%rbx), %xmm3, %xmm3
vpaddq 0x52fd(%rip), %xmm3, %xmm3 # 0xa040
vprolvq 0x5303(%rip), %xmm3, %xmm3 # 0xa050
vpunpcklqdq %xmm2, %xmm1, %xmm1 # xmm1 = xmm1[0],xmm2[0]
vpaddq %xmm1, %xmm2, %xmm1
vpaddq 0x78(%rbx){1to2}, %xmm1, %xmm1
vpaddq 0x52fc(%rip), %xmm1, %xmm1 # 0xa060
vprolvq 0x5302(%rip), %xmm1, %xmm1 # 0xa070
vpxor %xmm3, %xmm1, %xmm2
vinserti128 $0x1, %xmm2, %ymm2, %ymm2
vpermq $0xb4, %ymm2, %ymm2     # ymm2 = ymm2[0,1,3,2]
vpermt2q %ymm1, %ymm0, %ymm3
vpxor %ymm3, %ymm2, %ymm1
vpaddq 0x5370(%rip), %ymm1, %ymm1 # 0xa100
vmovdqu %ymm1, 0x60(%rbx)
movl $0x40, %r11d
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
movabsq $-0xf171b1d1e272b2e, %rdi # imm = 0xF0E8E4E2E1D8D4D2
addq %rdx, %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r14
addq %rdx, %rax
addq %r13, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %r10, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %rax
movq %r14, %rcx
xorq %rdi, %rcx
movq %rcx, %rdx
xorq %rax, %rdx
xorq %rsi, %rcx
xorq %rsi, %rax
xorq %rax, %r14
xorq %rdi, %rax
movq 0x20(%rbx,%r11), %rdi
movq 0x30(%rbx,%r11), %rsi
movq 0x38(%rbx,%r11), %r8
leaq (%rsi,%rdi), %r9
leaq (%r15,%r8), %r10
addq %r9, %r10
movq 0x28(%rbx,%r11), %r15
addq %r8, %rsi
addq %rbp, %rsi
addq %r15, %rsi
movabsq $0x5655534e4d4b473c, %r12 # imm = 0x5655534E4D4B473C
addq %r15, %r12
addq %r9, %r12
rorxq $0x29, %rsi, %rsi
rorxq $0x1b, %r12, %r9
addq %rdi, %r8
movabsq $0x3a393635332e2d2b, %rdi # imm = 0x3A393635332E2D2B
addq %rdi, %r15
addq %r8, %r15
rorxq $0x5, %r15, %rdi
movq %rdi, %r8
xorq %r9, %r8
movq %r8, %r15
xorq %rsi, %r15
addq %rdx, %r15
rorxq $0x35, %r10, %rdx
movabsq $-0x5c636566696a6c72, %r10 # imm = 0xA39C9A999695938E
xorq %rdx, %r8
addq %rcx, %r8
xorq %rdx, %rsi
xorq %rsi, %rdi
addq %r14, %rdi
xorq %r9, %rsi
addq %rax, %rsi
movq %r15, 0x18(%rbx,%r11)
movabsq $-0x727478878b8d8e94, %r15 # imm = 0x8D8B87787472716C
movq %r8, (%rbx,%r11)
movq %rdi, 0x8(%rbx,%r11)
movq %rsi, 0x10(%rbx,%r11)
addq $-0x20, %r11
cmpq $-0x20, %r11
jne 0x4d9b
xorb $0x1, (%rbx)
vmovdqa (%rbx), %xmm1
movq 0x10(%rbx), %rax
movq 0x18(%rbx), %rcx
vmovdqu 0x8(%rbx), %xmm2
vmovq %rax, %xmm3
vpaddq %xmm1, %xmm3, %xmm3
vpbroadcastq %xmm3, %xmm3
vpinsrq $0x1, %rcx, %xmm2, %xmm2
vpaddq %xmm2, %xmm3, %xmm2
vpaddq 0x50fc(%rip), %xmm2, %xmm2 # 0xa000
vprolvq 0x5102(%rip), %xmm2, %xmm2 # 0xa010
vpinsrq $0x1, %rax, %xmm1, %xmm1
vpbroadcastq %rcx, %xmm3
vpaddq %xmm1, %xmm3, %xmm1
vpaddq 0x8(%rbx){1to2}, %xmm1, %xmm1
vpaddq 0x50f3(%rip), %xmm1, %xmm1 # 0xa020
vprolvq 0x50f9(%rip), %xmm1, %xmm1 # 0xa030
vpxor %xmm2, %xmm1, %xmm3
vinserti128 $0x1, %xmm3, %ymm3, %ymm3
vpermq $0xb4, %ymm3, %ymm3     # ymm3 = ymm3[0,1,3,2]
vpermt2q %ymm1, %ymm0, %ymm2
vpxor %ymm2, %ymm3, %ymm1
vpaddq 0x5187(%rip), %ymm1, %ymm1 # 0xa0e0
vmovdqu %ymm1, (%rbx)
xorl %r11d, %r11d
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
movabsq $-0xf171b1d1e272b2e, %rdi # imm = 0xF0E8E4E2E1D8D4D2
addq %rdx, %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r14
addq %rdx, %rax
addq %r13, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %r10, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %rax
movq %r14, %rcx
xorq %rdi, %rcx
movq %rcx, %rdx
xorq %rax, %rdx
xorq %rsi, %rcx
xorq %rsi, %rax
xorq %rax, %r14
xorq %rdi, %rax
movq 0x20(%rbx,%r11), %rdi
movq 0x30(%rbx,%r11), %rsi
movq 0x38(%rbx,%r11), %r8
leaq (%rsi,%rdi), %r9
leaq (%r15,%r8), %r10
addq %r9, %r10
movq 0x28(%rbx,%r11), %r15
addq %r8, %rsi
addq %rbp, %rsi
addq %r15, %rsi
movabsq $0x5655534e4d4b473c, %r12 # imm = 0x5655534E4D4B473C
addq %r15, %r12
addq %r9, %r12
rorxq $0x29, %rsi, %rsi
rorxq $0x1b, %r12, %r9
addq %rdi, %r8
movabsq $0x3a393635332e2d2b, %rdi # imm = 0x3A393635332E2D2B
addq %rdi, %r15
addq %r8, %r15
rorxq $0x5, %r15, %rdi
movq %rdi, %r8
xorq %r9, %r8
movq %r8, %r15
xorq %rsi, %r15
addq %rdx, %r15
rorxq $0x35, %r10, %rdx
movabsq $-0x5c636566696a6c72, %r10 # imm = 0xA39C9A999695938E
xorq %rdx, %r8
addq %rcx, %r8
xorq %rdx, %rsi
xorq %rsi, %rdi
addq %r14, %rdi
xorq %r9, %rsi
addq %rax, %rsi
movq %r15, 0x38(%rbx,%r11)
movabsq $-0x727478878b8d8e94, %r15 # imm = 0x8D8B87787472716C
movq %r8, 0x20(%rbx,%r11)
movq %rdi, 0x28(%rbx,%r11)
movq %rsi, 0x30(%rbx,%r11)
addq $0x20, %r11
cmpq $0x60, %r11
jne 0x4f60
vmovdqa 0x60(%rbx), %xmm1
vmovdqu 0x68(%rbx), %xmm2
vpaddq 0x60(%rbx){1to2}, %xmm2, %xmm3
vpaddq 0x70(%rbx), %xmm3, %xmm3
vpaddq 0x4f8c(%rip), %xmm3, %xmm3 # 0xa040
vprolvq 0x4f92(%rip), %xmm3, %xmm3 # 0xa050
vpunpcklqdq %xmm2, %xmm1, %xmm1 # xmm1 = xmm1[0],xmm2[0]
vpaddq %xmm1, %xmm2, %xmm1
vpaddq 0x78(%rbx){1to2}, %xmm1, %xmm1
vpaddq 0x4f8b(%rip), %xmm1, %xmm1 # 0xa060
vprolvq 0x4f91(%rip), %xmm1, %xmm1 # 0xa070
vpxor %xmm3, %xmm1, %xmm2
vinserti128 $0x1, %xmm2, %ymm2, %ymm2
vpermq $0xb4, %ymm2, %ymm2     # ymm2 = ymm2[0,1,3,2]
vpermi2q %ymm1, %ymm3, %ymm0
vpxor %ymm0, %ymm2, %ymm0
vpaddq 0x4fff(%rip), %ymm0, %ymm0 # 0xa100
vmovdqu %ymm0, 0x60(%rbx)
movl $0x40, %r11d
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
movabsq $-0xf171b1d1e272b2e, %rdi # imm = 0xF0E8E4E2E1D8D4D2
addq %rdx, %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r14
addq %rdx, %rax
addq %r13, %rax
addq %r8, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
addq %r10, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %rax
movq %r14, %rcx
xorq %rdi, %rcx
movq %rcx, %rdx
xorq %rax, %rdx
xorq %rsi, %rcx
xorq %rsi, %rax
xorq %rax, %r14
xorq %rdi, %rax
movq 0x20(%rbx,%r11), %rdi
movq 0x30(%rbx,%r11), %rsi
movq 0x38(%rbx,%r11), %r8
leaq (%rsi,%rdi), %r9
leaq (%r15,%r8), %r10
addq %r9, %r10
movq 0x28(%rbx,%r11), %r15
addq %r8, %rsi
addq %rbp, %rsi
addq %r15, %rsi
movabsq $0x5655534e4d4b473c, %r12 # imm = 0x5655534E4D4B473C
addq %r15, %r12
addq %r9, %r12
rorxq $0x29, %rsi, %rsi
rorxq $0x1b, %r12, %r9
addq %rdi, %r8
movabsq $0x3a393635332e2d2b, %rdi # imm = 0x3A393635332E2D2B
addq %rdi, %r15
addq %r8, %r15
rorxq $0x5, %r15, %rdi
movq %rdi, %r8
xorq %r9, %r8
movq %r8, %r15
xorq %rsi, %r15
addq %rdx, %r15
rorxq $0x35, %r10, %rdx
movabsq $-0x5c636566696a6c72, %r10 # imm = 0xA39C9A999695938E
xorq %rdx, %r8
addq %rcx, %r8
xorq %rdx, %rsi
xorq %rsi, %rdi
addq %r14, %rdi
xorq %r9, %rsi
addq %rax, %rsi
movq %r15, 0x18(%rbx,%r11)
movabsq $-0x727478878b8d8e94, %r15 # imm = 0x8D8B87787472716C
movq %r8, (%rbx,%r11)
movq %rdi, 0x8(%rbx,%r11)
movq %rsi, 0x10(%rbx,%r11)
addq $-0x20, %r11
cmpq $-0x20, %r11
jne 0x510c
xorl %eax, %eax
vmovdqu (%rbx,%rax,2), %ymm0
vpaddq 0xe0(%rsp,%rax), %ymm0, %ymm0
vmovdqu %ymm0, 0xe0(%rsp,%rax)
addq $0x20, %rax
cmpq $0x20, %rax
je 0x5243
movq 0x20(%rsp), %rax
movq 0x30(%rsp), %rbx
leaq (%rax,%rbx), %rdi
addq $0x40, %rdi
leaq 0xe0(%rsp), %rsi
movl $0x2000, %edx           # imm = 0x2000
vzeroupper
callq 0x1070
addq $0x2040, %rbx           # imm = 0x2040
movq 0xd8(%rsp), %rax
movq %rbx, (%rax)
xorl %eax, %eax
addq $0x20e8, %rsp           # imm = 0x20E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq