// File: /workspace/github_c_makefile_star2_O3/mjosaarinen[P]brutus/crypto_aead/pi64cipher256v1tworounds/ref/encrypt.c
// Function: crypto_aead_decrypt
int crypto_aead_decrypt(
unsigned char *m,unsigned long long *mlen,
unsigned char *nsec,
const unsigned char *c,unsigned long long clen,
const unsigned char *ad,unsigned long long adlen,
const unsigned char *npub,
const unsigned char *k
)
{
 //...
 //... the code for the cipher implementation goes here,
 //... generating a plaintext m[0],m[1],...,m[*mlen-1]
 //... and secret message number nsec[0],nsec[1],...
 //... from a ciphertext c[0],c[1],...,c[clen-1]
 //... and associated data ad[0],ad[1],...,ad[adlen-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;
 // an array for storing some temporal values for the Tag computation
 u_int64_t  tempTag[CRYPTO_ABYTES/W] = {0};
 // counter ctr is a 64-bit variable in all variants of PiCipher
 u_int64_t  ctr = 0x0000000000000000ull;
 // 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];
		 if( i1 % (WORDS_CHUNK*W) == 0 ) i1 += WORDS_CHUNK*W;
	 }
	 // padding with 10*
	 InternalState8[LastADChunkLength] = InternalState8[LastADChunkLength] ^ 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 messge number
 if ( CRYPTO_NSECBYTES > 0 ) {
	for ( i = 0; i < IS_SIZE; i++ ) {
		IS[i] = CIS[i];
	}
	ctr++;
	IS[0] = IS[0] ^ ctr;
	pi();
	// decrypt the SMN
	// Inject the SMN
	b = 0;
	for ( i = 0; i < N; i+=2 ) {
		for ( i1 = 0; i1 < WORDS_CHUNK; i1++ ) {
			nsec64[b] = IS[i*WORDS_CHUNK+i1] ^ c64[b];
			IS[i*WORDS_CHUNK+i1] = c64[b];
			b++;
		}
	}
	pi();

	// updating the Common Internal State after decrypting the 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 ciphertext
 b = 0;
 for ( j = 0; j < (clen-CRYPTO_ABYTES-CRYPTO_NSECBYTES)/RATE; j ++ ) {
	for ( i = 0; i < IS_SIZE; i++ ) {
		IS[i] = CIS[i];
	}
	ctr ++;
	IS[0] = IS[0] ^ ctr;
	pi();
	// decrypt the ciphertext c
	for ( i = 0; i < N; i+=2 ) {
		for ( i1 = 0; i1 < WORDS_CHUNK; i1++ ) {
	        // XOR the IS_bitrate (InternalState[0], InternalSate[2], ...) with the c to obtain m
			m64[b] = IS[i*WORDS_CHUNK+i1] ^ c64[bSMN+b];
			// in order to proceed for tag computation, put the ciphertext data in the InternalState
			IS[i*WORDS_CHUNK+i1] = c64[bSMN+b];
			b++;
		}
	}
	pi();
	// Collect the tag from this decryption 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 ciphertext block is not the full block, we process it byte by byte
 LastMessageChunkLength = (clen-CRYPTO_ABYTES-CRYPTO_NSECBYTES) % 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++ ) {
	 	 m[b+i] = InternalState8[i1] ^ c[CRYPTO_NSECBYTES+b+i];
	 	 InternalState8[i1++] = c[CRYPTO_NSECBYTES+b+i];
		 if( i1 % (WORDS_CHUNK*W) == 0 ) i1 += WORDS_CHUNK*W;
	 }
	 // padding with 10*
	 InternalState8[LastMessageChunkLength] = InternalState8[LastMessageChunkLength] ^ 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 lenght of the message
 *mlen = clen-CRYPTO_ABYTES-CRYPTO_NSECBYTES;

 // tag verification
 for ( ii = (*mlen + CRYPTO_NSECBYTES); ii < clen; ii ++ ) {
	 if ( c[ii] != tempTag8[ii-(*mlen + CRYPTO_NSECBYTES)] )
		return -1;
 }

 return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x20e8, %rsp           # imm = 0x20E8
movq %r9, %r12
movq %r8, 0x38(%rsp)
movq %rcx, 0x20(%rsp)
movq %rdx, 0x30(%rsp)
movq %rsi, 0xd8(%rsp)
movq %rdi, 0x48(%rsp)
movq 0x2130(%rsp), %r14
movq 0x2128(%rsp), %rbx
leaq 0xe0(%rsp), %rdi
xorl %r15d, %r15d
movl $0x2000, %edx           # imm = 0x2000
xorl %esi, %esi
callq 0x1030
vxorps %xmm0, %xmm0, %xmm0
leaq 0x90(%rsp), %rax
vmovups %ymm0, 0x20(%rax)
vmovups %ymm0, (%rax)
vmovups %ymm0, -0x20(%rax)
vmovups %ymm0, -0x40(%rax)
movq 0x72b9(%rip), %rax      # 0xcff8
vmovups %ymm0, (%rax)
vmovups %ymm0, 0x20(%rax)
vmovups %ymm0, 0x40(%rax)
vmovups %ymm0, 0x60(%rax)
movb (%r14,%r15), %cl
movb %cl, (%rax,%r15)
incq %r15
cmpq $0x20, %r15
jne 0x5d52
movq %r12, 0x28(%rsp)
xorl %ecx, %ecx
movb (%rbx,%rcx), %dl
movb %dl, 0x20(%rax,%rcx)
incq %rcx
cmpq $0x10, %rcx
jne 0x5d6a
movabsq $-0xf171b1d1e272b2e, %r13 # imm = 0xF0E8E4E2E1D8D4D2
movabsq $-0x2e333536393a3c48, %rcx # imm = 0xD1CCCAC9C6C5C3B8
movabsq $-0x5c636566696a6c72, %rbx # imm = 0xA39C9A999695938E
movb $0x1, 0x30(%rax)
movq (%rax), %r14
movq 0x8(%rax), %rdx
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rdi
leaq (%rdi,%rsi), %r8
leaq (%rdx,%r14), %r9
vmovq %r14, %xmm0
vmovq %r9, %xmm1
vpunpcklqdq %xmm0, %xmm1, %xmm0 # xmm0 = xmm1[0],xmm0[0]
vmovq %r8, %xmm1
vmovq %rsi, %xmm2
vpunpcklqdq %xmm1, %xmm2, %xmm1 # xmm1 = xmm2[0],xmm1[0]
vpaddq %xmm1, %xmm0, %xmm2
vpaddq 0x5225(%rip), %xmm2, %xmm2 # 0xb000
vprolvq 0x522b(%rip), %xmm2, %xmm2 # 0xb010
vpinsrq $0x1, %rdx, %xmm0, %xmm0
vpinsrq $0x0, %rdi, %xmm1, %xmm1
vpaddq %xmm1, %xmm0, %xmm0
vpaddq 0x5223(%rip), %xmm0, %xmm0 # 0xb020
vprolvq 0x5229(%rip), %xmm0, %xmm1 # 0xb030
vpxor %xmm1, %xmm2, %xmm0
vpermq $0x14, %ymm0, %ymm3     # ymm3 = ymm0[0,1,1,0]
vpmovsxbq 0x5306(%rip), %ymm0 # 0xb120
vpermt2q %ymm1, %ymm0, %ymm2
vpxor %ymm2, %ymm3, %ymm1
vpaddq 0x5274(%rip), %ymm1, %ymm1 # 0xb0a0
vmovdqu %ymm1, (%rax)
xorl %r14d, %r14d
movq 0x71b6(%rip), %rbp      # 0xcff0
movq (%rax,%r14), %rdx
movq 0x8(%rax,%r14), %rsi
movq 0x10(%rax,%r14), %rdi
movq 0x18(%rax,%r14), %r8
leaq (%rsi,%rdx), %r9
leaq (%r8,%rdi), %r12
addq %r13, %rdi
addq %r9, %rdi
rorxq $0x39, %rdi, %r13
addq %rcx, %r8
addq %r9, %r8
rorxq $0x2d, %r8, %r15
movabsq $-0x4b4d4e535556595b, %rdi # imm = 0xB4B2B1ACAAA9A6A5
addq %rdi, %rdx
addq %r12, %rdx
rorxq $0x21, %rdx, %r8
addq %rbx, %rsi
addq %r12, %rsi
rorxq $0xb, %rsi, %rdx
movq %r13, %rdi
xorq %r15, %rdi
movq %r8, %rsi
xorq %rdx, %rsi
xorq %rdi, %rdx
xorq %r8, %rdi
xorq %rsi, %r15
xorq %r13, %rsi
movq 0x20(%rax,%r14), %r8
movq 0x28(%rax,%r14), %r9
movq 0x30(%rax,%r14), %r12
movq 0x38(%rax,%r14), %r13
leaq (%r12,%r13), %r10
leaq (%r9,%r8), %r11
movabsq $-0x727478878b8d8e94, %rbx # imm = 0x8D8B87787472716C
addq %rbx, %r8
addq %r10, %r8
rorxq $0x35, %r8, %rbx
movabsq $0x6a696665635c5a59, %r8 # imm = 0x6A696665635C5A59
addq %r8, %r9
addq %r10, %r9
rorxq $0x29, %r9, %r8
movabsq $0x5655534e4d4b473c, %r9 # imm = 0x5655534E4D4B473C
addq %r9, %r12
addq %r11, %r12
rorxq $0x1b, %r12, %r9
movabsq $0x3a393635332e2d2b, %r10 # imm = 0x3A393635332E2D2B
addq %r10, %r13
addq %r11, %r13
rorxq $0x5, %r13, %r10
movabsq $-0xf171b1d1e272b2e, %r13 # imm = 0xF0E8E4E2E1D8D4D2
movq %r9, %r11
xorq %r10, %r11
movq %rbx, %r12
xorq %r8, %r12
xorq %r11, %r8
xorq %rbx, %r11
movabsq $-0x5c636566696a6c72, %rbx # imm = 0xA39C9A999695938E
xorq %r12, %r10
xorq %r9, %r12
movq %rdx, (%rbp,%r14)
movq %rdi, 0x8(%rbp,%r14)
addq %rdi, %r11
movq %r11, 0x20(%rax,%r14)
movq %r15, 0x10(%rbp,%r14)
addq %r15, %r10
movq %r10, 0x28(%rax,%r14)
movq %rsi, 0x18(%rbp,%r14)
addq %rsi, %r12
movq %r12, 0x30(%rax,%r14)
addq %rdx, %r8
movq %r8, 0x38(%rax,%r14)
addq $0x20, %r14
cmpq $0x60, %r14
jne 0x5e3a
movq %r13, %rcx
movq 0x60(%rax), %rdx
movq 0x68(%rax), %rsi
movq 0x70(%rax), %rdi
movq 0x78(%rax), %r8
leaq (%rsi,%rdx), %r9
leaq (%r8,%rdi), %r10
vmovq %rdx, %xmm1
vmovq %r9, %xmm2
vpunpcklqdq %xmm1, %xmm2, %xmm1 # xmm1 = xmm2[0],xmm1[0]
vmovq %r10, %xmm2
vmovq %rdi, %xmm3
vpunpcklqdq %xmm2, %xmm3, %xmm2 # xmm2 = xmm3[0],xmm2[0]
vpaddq %xmm2, %xmm1, %xmm3
vpaddq 0x5074(%rip), %xmm3, %xmm3 # 0xb040
vprolvq 0x507a(%rip), %xmm3, %xmm3 # 0xb050
vpinsrq $0x1, %rsi, %xmm1, %xmm1
vpinsrq $0x0, %r8, %xmm2, %xmm2
vpaddq %xmm2, %xmm1, %xmm1
vpaddq 0x5072(%rip), %xmm1, %xmm1 # 0xb060
vprolvq 0x5078(%rip), %xmm1, %xmm1 # 0xb070
vpxor %xmm1, %xmm3, %xmm2
vpermq $0x14, %ymm2, %ymm2     # ymm2 = ymm2[0,1,1,0]
vpermt2q %ymm1, %ymm0, %ymm3
vpxor %ymm3, %ymm2, %ymm1
vpermq $0x93, %ymm1, %ymm2     # ymm2 = ymm1[3,0,1,2]
vmovdqu %ymm2, 0x60(%rbp)
vpaddq 0x50a1(%rip), %ymm1, %ymm1 # 0xb0c0
vmovdqu %ymm1, 0x60(%rax)
movl $0x78, %edx
vmovdqa 0x4fcf(%rip), %xmm1     # 0xb000
vpmovsxbq 0x50fe(%rip), %xmm2 # 0xb138
vmovdqa 0x4fde(%rip), %xmm3     # 0xb020
vpmovsxbq 0x50ef(%rip), %xmm4 # 0xb13a
movq -0x18(%rax,%rdx), %rsi
movq -0x10(%rax,%rdx), %rdi
movq -0x8(%rax,%rdx), %r8
movq (%rax,%rdx), %r9
leaq (%r9,%r8), %r10
leaq (%rdi,%rsi), %r11
vmovq %rsi, %xmm5
vmovq %r11, %xmm6
vpunpcklqdq %xmm5, %xmm6, %xmm5 # xmm5 = xmm6[0],xmm5[0]
vmovq %r10, %xmm6
vmovq %r8, %xmm7
vpunpcklqdq %xmm6, %xmm7, %xmm6 # xmm6 = xmm7[0],xmm6[0]
vpaddq %xmm6, %xmm5, %xmm7
vpaddq %xmm1, %xmm7, %xmm7
vprolvq %xmm2, %xmm7, %xmm7
vpinsrq $0x1, %rdi, %xmm5, %xmm5
vpinsrq $0x0, %r9, %xmm6, %xmm6
vpaddq %xmm6, %xmm5, %xmm5
vpaddq %xmm3, %xmm5, %xmm5
vprolvq %xmm4, %xmm5, %xmm5
vpxor %xmm5, %xmm7, %xmm6
vpermq $0x14, %ymm6, %ymm6     # ymm6 = ymm6[0,1,1,0]
vpermt2q %ymm5, %ymm0, %ymm7
vpxor %ymm7, %ymm6, %ymm5
vpermq $0x93, %ymm5, %ymm6     # ymm6 = ymm5[3,0,1,2]
vmovdqu %ymm6, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm6 # ymm6 = mem[1,2,3,0]
vpaddq %ymm5, %ymm6, %ymm5
vmovdqu %ymm5, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0x604b
movq (%rax), %rdx
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rdi
movq 0x18(%rax), %r8
leaq (%r8,%rdi), %r9
leaq (%rsi,%rdx), %r10
vmovq %rdx, %xmm5
vmovq %r10, %xmm6
vpunpcklqdq %xmm5, %xmm6, %xmm5 # xmm5 = xmm6[0],xmm5[0]
vmovq %r9, %xmm6
vmovq %rdi, %xmm7
vpunpcklqdq %xmm6, %xmm7, %xmm6 # xmm6 = xmm7[0],xmm6[0]
vpaddq %xmm6, %xmm5, %xmm7
vpaddq 0x4ed7(%rip), %xmm7, %xmm7 # 0xb000
vprolvq 0x4edd(%rip), %xmm7, %xmm7 # 0xb010
vpinsrq $0x1, %rsi, %xmm5, %xmm5
vpinsrq $0x0, %r8, %xmm6, %xmm6
vpaddq %xmm6, %xmm5, %xmm5
vpaddq 0x4ed5(%rip), %xmm5, %xmm5 # 0xb020
vprolvq 0x4edb(%rip), %xmm5, %xmm5 # 0xb030
vpxor %xmm5, %xmm7, %xmm6
vpermq $0x14, %ymm6, %ymm6     # ymm6 = ymm6[0,1,1,0]
vpermt2q %ymm5, %ymm0, %ymm7
vpxor %ymm7, %ymm6, %ymm5
vpermq $0x93, %ymm5, %ymm6     # ymm6 = ymm5[3,0,1,2]
vmovdqu %ymm6, (%rbp)
vpaddq 0x4f64(%rip), %ymm5, %ymm5 # 0xb0e0
vmovdqu %ymm5, (%rax)
movl $0x20, %edx
vmovdqa 0x4eb3(%rip), %xmm5     # 0xb040
vpmovsxbq 0x4fa6(%rip), %xmm6 # 0xb13c
vmovdqa 0x4ec2(%rip), %xmm7     # 0xb060
vpmovsxbq 0x4f97(%rip), %xmm8 # 0xb13e
movabsq $-0x4b4d4e535556595b, %r13 # imm = 0xB4B2B1ACAAA9A6A5
movq -0x20(%rax,%rdx), %rsi
movq -0x18(%rax,%rdx), %rdi
movq -0x10(%rax,%rdx), %r8
movq -0x8(%rax,%rdx), %r9
leaq (%rdi,%rsi), %r10
leaq (%r9,%r8), %r11
vmovq %rsi, %xmm9
vmovq %r10, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r11, %xmm10
vmovq %r8, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq %xmm5, %xmm11, %xmm11
vprolvq %xmm6, %xmm11, %xmm11
vpinsrq $0x1, %rdi, %xmm9, %xmm9
vpinsrq $0x0, %r9, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq %xmm7, %xmm9, %xmm9
vprolvq %xmm8, %xmm9, %xmm9
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, -0x20(%rbp,%rdx)
vpermq $0x39, (%rbp,%rdx), %ymm10 # ymm10 = mem[1,2,3,0]
vpaddq %ymm9, %ymm10, %ymm9
vmovdqu %ymm9, (%rax,%rdx)
addq $0x20, %rdx
cmpq $0x80, %rdx
jne 0x61b1
movq 0x60(%rax), %rdx
movq 0x68(%rax), %rsi
movq 0x70(%rax), %rdi
movq 0x78(%rax), %r8
leaq (%rsi,%rdx), %r9
leaq (%r8,%rdi), %r10
vmovq %rdx, %xmm9
vmovq %r9, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r10, %xmm10
vmovq %rdi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x4da3(%rip), %xmm11, %xmm11 # 0xb040
vprolvq 0x4da9(%rip), %xmm11, %xmm11 # 0xb050
vpinsrq $0x1, %rsi, %xmm9, %xmm9
vpinsrq $0x0, %r8, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x4da0(%rip), %xmm9, %xmm9 # 0xb060
vprolvq 0x4da6(%rip), %xmm9, %xmm9 # 0xb070
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, 0x60(%rbp)
vpaddq 0x4e0d(%rip), %ymm9, %ymm9 # 0xb100
vmovdqu %ymm9, 0x60(%rax)
movl $0x78, %edx
movq -0x18(%rax,%rdx), %rsi
movq -0x10(%rax,%rdx), %rdi
movq -0x8(%rax,%rdx), %r8
movq (%rax,%rdx), %r9
leaq (%r9,%r8), %r10
leaq (%rdi,%rsi), %r11
vmovq %rsi, %xmm9
vmovq %r11, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r10, %xmm10
vmovq %r8, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq %xmm1, %xmm11, %xmm11
vprolvq %xmm2, %xmm11, %xmm11
vpinsrq $0x1, %rdi, %xmm9, %xmm9
vpinsrq $0x0, %r9, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq %xmm3, %xmm9, %xmm9
vprolvq %xmm4, %xmm9, %xmm9
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm10 # ymm10 = mem[1,2,3,0]
vpaddq %ymm9, %ymm10, %ymm9
vmovdqu %ymm9, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0x62fd
vmovdqu (%rax), %ymm9
vmovdqu 0x20(%rax), %ymm10
vmovdqu 0x40(%rax), %ymm11
vmovdqu 0x60(%rax), %ymm12
vmovdqu %ymm10, 0x70(%rsp)
vmovdqu %ymm12, 0xb0(%rsp)
vmovdqu %ymm11, 0x90(%rsp)
vmovdqu %ymm9, 0x50(%rsp)
movq 0x70(%rsp), %rdx
movq %rdx, 0x8(%rsp)
movq 0x2120(%rsp), %rdx
cmpq $0x40, %rdx
jae 0x63f7
xorl %r14d, %r14d
movq %rcx, %r11
jmp 0x7036
shrq $0x6, %rdx
movq %rdx, 0x40(%rsp)
vmovdqa 0x4c98(%rip), %ymm9     # 0xb0a0
vmovdqa 0x4cb0(%rip), %ymm10    # 0xb0c0
movq $0x0, 0x10(%rsp)
vmovdqa 0x4cbf(%rip), %ymm11    # 0xb0e0
vmovdqa 0x4cd7(%rip), %ymm12    # 0xb100
xorl %edx, %edx
movq %rcx, %r11
movq %rdx, 0x18(%rsp)
vmovups 0x50(%rsp), %ymm13
vmovups 0x70(%rsp), %ymm14
vmovups 0x90(%rsp), %ymm15
vmovups 0xb0(%rsp), %ymm16
vmovups %ymm13, (%rax)
vmovups %ymm16, 0x60(%rax)
vmovups %ymm15, 0x40(%rax)
vmovups %ymm14, 0x20(%rax)
movq 0x8(%rsp), %rcx
incq %rcx
movq 0x8(%rax), %rdx
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rdi
leaq (%rdi,%rsi), %r8
movq (%rax), %r9
movq %rcx, 0x8(%rsp)
xorq %rcx, %r9
leaq (%rdx,%r9), %r10
vmovq %r9, %xmm13
vmovq %r10, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r8, %xmm14
vmovq %rsi, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm1, %xmm15, %xmm15
vpinsrq $0x1, %rdx, %xmm13, %xmm13
vpinsrq $0x0, %rdi, %xmm14, %xmm14
vprolvq %xmm2, %xmm15, %xmm15
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm3, %xmm13, %xmm13
vprolvq %xmm4, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpaddq %ymm9, %ymm13, %ymm13
vmovdqu %ymm13, (%rax)
xorl %r14d, %r14d
movq %r11, %rcx
movq (%rax,%r14), %rdx
movq 0x8(%rax,%r14), %rsi
movq 0x10(%rax,%r14), %rdi
movq 0x18(%rax,%r14), %r8
leaq (%rsi,%rdx), %r9
leaq (%r8,%rdi), %r10
addq %rcx, %rdi
addq %r9, %rdi
rorxq $0x39, %rdi, %r11
movabsq $-0x2e333536393a3c48, %rcx # imm = 0xD1CCCAC9C6C5C3B8
addq %rcx, %r8
addq %r9, %r8
rorxq $0x2d, %r8, %r12
addq %r13, %rdx
addq %r10, %rdx
rorxq $0x21, %rdx, %r8
addq %rbx, %rsi
addq %r10, %rsi
rorxq $0xb, %rsi, %rdx
movq %r11, %rdi
xorq %r12, %rdi
movq %r8, %rsi
xorq %rdx, %rsi
xorq %rdi, %rdx
xorq %r8, %rdi
xorq %rsi, %r12
xorq %r11, %rsi
movq 0x20(%rax,%r14), %r8
movq 0x28(%rax,%r14), %r9
movq 0x30(%rax,%r14), %r10
movq 0x38(%rax,%r14), %r11
leaq (%r11,%r10), %rbx
leaq (%r9,%r8), %r13
movabsq $-0x727478878b8d8e94, %rcx # imm = 0x8D8B87787472716C
addq %rcx, %r8
addq %rbx, %r8
movq %rbp, %r15
rorxq $0x35, %r8, %rbp
movabsq $0x6a696665635c5a59, %rcx # imm = 0x6A696665635C5A59
addq %rcx, %r9
addq %rbx, %r9
rorxq $0x29, %r9, %r8
movabsq $0x5655534e4d4b473c, %rcx # imm = 0x5655534E4D4B473C
addq %rcx, %r10
addq %r13, %r10
rorxq $0x1b, %r10, %r9
movabsq $0x3a393635332e2d2b, %rcx # imm = 0x3A393635332E2D2B
addq %rcx, %r11
addq %r13, %r11
movabsq $-0xf171b1d1e272b2e, %rcx # imm = 0xF0E8E4E2E1D8D4D2
movabsq $-0x4b4d4e535556595b, %r13 # imm = 0xB4B2B1ACAAA9A6A5
rorxq $0x5, %r11, %r10
movq %r9, %r11
xorq %r10, %r11
movq %rbp, %rbx
xorq %r8, %rbx
xorq %r11, %r8
xorq %rbp, %r11
movq %r15, %rbp
xorq %rbx, %r10
xorq %r9, %rbx
movq %rdx, (%r15,%r14)
movq %rdi, 0x8(%r15,%r14)
addq %rdi, %r11
movq %r11, 0x20(%rax,%r14)
movq %r12, 0x10(%r15,%r14)
addq %r12, %r10
movq %r10, 0x28(%rax,%r14)
movq %rsi, 0x18(%r15,%r14)
addq %rsi, %rbx
movq %rbx, 0x30(%rax,%r14)
movabsq $-0x5c636566696a6c72, %rbx # imm = 0xA39C9A999695938E
addq %rdx, %r8
movq %r8, 0x38(%rax,%r14)
addq $0x20, %r14
cmpq $0x60, %r14
jne 0x64fc
movq 0x60(%rax), %rdx
movq 0x68(%rax), %rsi
movq 0x70(%rax), %rdi
movq 0x78(%rax), %r8
leaq (%rsi,%rdx), %r9
leaq (%r8,%rdi), %r10
vmovq %rdx, %xmm13
vmovq %r9, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r10, %xmm14
vmovq %rdi, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm5, %xmm15, %xmm15
vprolvq %xmm6, %xmm15, %xmm15
vpinsrq $0x1, %rsi, %xmm13, %xmm13
vpinsrq $0x0, %r8, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm7, %xmm13, %xmm13
vprolvq %xmm8, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
vmovdqu %ymm14, 0x60(%rbp)
vpaddq %ymm10, %ymm13, %ymm13
vmovdqu %ymm13, 0x60(%rax)
movl $0x78, %edx
movq -0x18(%rax,%rdx), %rsi
movq -0x10(%rax,%rdx), %rdi
movq -0x8(%rax,%rdx), %r8
movq (%rax,%rdx), %r9
leaq (%r9,%r8), %r10
leaq (%rdi,%rsi), %r11
vmovq %rsi, %xmm13
vmovq %r11, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r10, %xmm14
vmovq %r8, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm1, %xmm15, %xmm15
vprolvq %xmm2, %xmm15, %xmm15
vpinsrq $0x1, %rdi, %xmm13, %xmm13
vpinsrq $0x0, %r9, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm3, %xmm13, %xmm13
vprolvq %xmm4, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
vmovdqu %ymm14, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm14 # ymm14 = mem[1,2,3,0]
vpaddq %ymm13, %ymm14, %ymm13
vmovdqu %ymm13, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0x66ea
movq (%rax), %rdx
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rdi
movq 0x18(%rax), %r8
leaq (%r8,%rdi), %r9
leaq (%rsi,%rdx), %r10
vmovq %rdx, %xmm13
vmovq %r10, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r9, %xmm14
vmovq %rdi, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm1, %xmm15, %xmm15
vprolvq %xmm2, %xmm15, %xmm15
vpinsrq $0x1, %rsi, %xmm13, %xmm13
vpinsrq $0x0, %r8, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm3, %xmm13, %xmm13
vprolvq %xmm4, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
vmovdqu %ymm14, (%rbp)
vpaddq %ymm11, %ymm13, %ymm13
vmovdqu %ymm13, (%rax)
movl $0x20, %edx
movq 0x28(%rsp), %rcx
movq -0x20(%rax,%rdx), %rsi
movq -0x18(%rax,%rdx), %rdi
movq -0x10(%rax,%rdx), %r8
movq -0x8(%rax,%rdx), %r9
leaq (%rdi,%rsi), %r10
leaq (%r9,%r8), %r11
vmovq %rsi, %xmm13
vmovq %r10, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r11, %xmm14
vmovq %r8, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm5, %xmm15, %xmm15
vprolvq %xmm6, %xmm15, %xmm15
vpinsrq $0x1, %rdi, %xmm13, %xmm13
vpinsrq $0x0, %r9, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm7, %xmm13, %xmm13
vprolvq %xmm8, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
vmovdqu %ymm14, -0x20(%rbp,%rdx)
vpermq $0x39, (%rbp,%rdx), %ymm14 # ymm14 = mem[1,2,3,0]
vpaddq %ymm13, %ymm14, %ymm13
vmovdqu %ymm13, (%rax,%rdx)
addq $0x20, %rdx
cmpq $0x80, %rdx
jne 0x6823
movq 0x60(%rax), %rdx
movq 0x68(%rax), %rsi
movq 0x70(%rax), %rdi
movq 0x78(%rax), %r8
leaq (%rsi,%rdx), %r9
leaq (%r8,%rdi), %r10
vmovq %rdx, %xmm13
vmovq %r9, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r10, %xmm14
vmovq %rdi, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm5, %xmm15, %xmm15
vprolvq %xmm6, %xmm15, %xmm15
vpinsrq $0x1, %rsi, %xmm13, %xmm13
vpinsrq $0x0, %r8, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm7, %xmm13, %xmm13
vprolvq %xmm8, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
vmovdqu %ymm14, 0x60(%rbp)
vpaddq %ymm12, %ymm13, %ymm13
vmovdqu %ymm13, 0x60(%rax)
movl $0x78, %edx
movq -0x18(%rax,%rdx), %rsi
movq -0x10(%rax,%rdx), %rdi
movq -0x8(%rax,%rdx), %r8
movq (%rax,%rdx), %r9
leaq (%r9,%r8), %r10
leaq (%rdi,%rsi), %r11
vmovq %rsi, %xmm13
vmovq %r11, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r10, %xmm14
vmovq %r8, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm1, %xmm15, %xmm15
vprolvq %xmm2, %xmm15, %xmm15
vpinsrq $0x1, %rdi, %xmm13, %xmm13
vpinsrq $0x0, %r9, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm3, %xmm13, %xmm13
vprolvq %xmm4, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
vmovdqu %ymm14, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm14 # ymm14 = mem[1,2,3,0]
vpaddq %ymm13, %ymm14, %ymm13
vmovdqu %ymm13, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0x695c
movb $0x1, %dil
xorl %r8d, %r8d
movq 0x10(%rsp), %r9
movq %r9, %rdx
shlq $0x3, %r8
addq %rax, %r8
leaq (,%r9,8), %r14
leaq (%rcx,%r9,8), %r9
xorl %esi, %esi
movq (%r9,%rsi,8), %r10
xorq %r10, (%r8,%rsi,8)
incq %rsi
addq $0x8, %r14
cmpq $0x4, %rsi
jne 0x6a25
leaq (%rdx,%rsi), %r9
movl $0x8, %r8d
testb $0x1, %dil
movl $0x0, %edi
jne 0x6a0d
movq (%rax), %rdi
movq 0x8(%rax), %r8
movq 0x10(%rax), %r9
movq 0x18(%rax), %r10
leaq (%r10,%r9), %r11
leaq (%r8,%rdi), %rbx
vmovq %rdi, %xmm13
vmovq %rbx, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r11, %xmm14
vmovq %r9, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm1, %xmm15, %xmm15
vprolvq %xmm2, %xmm15, %xmm15
vpinsrq $0x1, %r8, %xmm13, %xmm13
vpinsrq $0x0, %r10, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm3, %xmm13, %xmm13
vprolvq %xmm4, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpaddq %ymm9, %ymm13, %ymm13
vmovdqu %ymm13, (%rax)
addq %rsi, %rdx
movq %rdx, 0x10(%rsp)
xorl %r12d, %r12d
movabsq $-0xf171b1d1e272b2e, %r11 # imm = 0xF0E8E4E2E1D8D4D2
movq (%rax,%r12), %rdx
movq 0x8(%rax,%r12), %rsi
movq 0x10(%rax,%r12), %rdi
movq 0x18(%rax,%r12), %r8
leaq (%rsi,%rdx), %r9
leaq (%r8,%rdi), %r10
addq %r11, %rdi
addq %r9, %rdi
rorxq $0x39, %rdi, %r11
movabsq $-0x2e333536393a3c48, %rcx # imm = 0xD1CCCAC9C6C5C3B8
addq %rcx, %r8
addq %r9, %r8
rorxq $0x2d, %r8, %r13
movabsq $-0x4b4d4e535556595b, %rcx # imm = 0xB4B2B1ACAAA9A6A5
addq %rcx, %rdx
addq %r10, %rdx
rorxq $0x21, %rdx, %r8
movabsq $-0x5c636566696a6c72, %rcx # imm = 0xA39C9A999695938E
addq %rcx, %rsi
addq %r10, %rsi
rorxq $0xb, %rsi, %rdx
movq %r11, %rdi
xorq %r13, %rdi
movq %r8, %rsi
xorq %rdx, %rsi
xorq %rdi, %rdx
xorq %r8, %rdi
xorq %rsi, %r13
xorq %r11, %rsi
movq 0x20(%rax,%r12), %r8
movq 0x28(%rax,%r12), %r9
movq 0x30(%rax,%r12), %r10
movq 0x38(%rax,%r12), %r11
leaq (%r11,%r10), %rbx
leaq (%r9,%r8), %rbp
movabsq $-0x727478878b8d8e94, %rcx # imm = 0x8D8B87787472716C
addq %rcx, %r8
addq %rbx, %r8
rorxq $0x35, %r8, %rcx
movabsq $0x6a696665635c5a59, %r8 # imm = 0x6A696665635C5A59
addq %r8, %r9
addq %rbx, %r9
rorxq $0x29, %r9, %r8
movabsq $0x5655534e4d4b473c, %r9 # imm = 0x5655534E4D4B473C
addq %r9, %r10
addq %rbp, %r10
rorxq $0x1b, %r10, %r9
movabsq $0x3a393635332e2d2b, %r10 # imm = 0x3A393635332E2D2B
addq %r10, %r11
addq %rbp, %r11
rorxq $0x5, %r11, %r10
movq %r9, %r11
xorq %r10, %r11
movq %rcx, %rbx
xorq %r8, %rbx
xorq %r11, %r8
xorq %rcx, %r11
xorq %rbx, %r10
xorq %r9, %rbx
movq %rdx, (%r15,%r12)
movq %rdi, 0x8(%r15,%r12)
addq %rdi, %r11
movq %r11, 0x20(%rax,%r12)
movq %r13, 0x10(%r15,%r12)
addq %r13, %r10
movabsq $-0xf171b1d1e272b2e, %r11 # imm = 0xF0E8E4E2E1D8D4D2
movq %r10, 0x28(%rax,%r12)
movq %rsi, 0x18(%r15,%r12)
addq %rsi, %rbx
movq %rbx, 0x30(%rax,%r12)
addq %rdx, %r8
movq %r8, 0x38(%rax,%r12)
addq $0x20, %r12
cmpq $0x60, %r12
jne 0x6ae2
movq %r15, %rbp
movq 0x60(%rax), %rcx
movq 0x68(%rax), %rdx
movq 0x70(%rax), %rsi
movq 0x78(%rax), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
vmovq %rcx, %xmm13
vmovq %r8, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r9, %xmm14
vmovq %rsi, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm5, %xmm15, %xmm15
vprolvq %xmm6, %xmm15, %xmm15
vpinsrq $0x1, %rdx, %xmm13, %xmm13
vpinsrq $0x0, %rdi, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm7, %xmm13, %xmm13
vprolvq %xmm8, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
vmovdqu %ymm14, 0x60(%r15)
vpaddq %ymm10, %ymm13, %ymm13
vmovdqu %ymm13, 0x60(%rax)
movl $0x78, %edx
movabsq $-0x5c636566696a6c72, %rbx # imm = 0xA39C9A999695938E
movq -0x18(%rax,%rdx), %rcx
movq -0x10(%rax,%rdx), %rsi
movq -0x8(%rax,%rdx), %rdi
movq (%rax,%rdx), %r8
leaq (%r8,%rdi), %r9
leaq (%rsi,%rcx), %r10
vmovq %rcx, %xmm13
vmovq %r10, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r9, %xmm14
vmovq %rdi, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm1, %xmm15, %xmm15
vprolvq %xmm2, %xmm15, %xmm15
vpinsrq $0x1, %rsi, %xmm13, %xmm13
vpinsrq $0x0, %r8, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm3, %xmm13, %xmm13
vprolvq %xmm4, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
vmovdqu %ymm14, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm14 # ymm14 = mem[1,2,3,0]
vpaddq %ymm13, %ymm14, %ymm13
vmovdqu %ymm13, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0x6cd8
movq (%rax), %rcx
movq 0x8(%rax), %rdx
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rdi
leaq (%rdi,%rsi), %r8
leaq (%rdx,%rcx), %r9
vmovq %rcx, %xmm13
vmovq %r9, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r8, %xmm14
vmovq %rsi, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm1, %xmm15, %xmm15
vprolvq %xmm2, %xmm15, %xmm15
vpinsrq $0x1, %rdx, %xmm13, %xmm13
vpinsrq $0x0, %rdi, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm3, %xmm13, %xmm13
vprolvq %xmm4, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
vmovdqu %ymm14, (%rbp)
vpaddq %ymm11, %ymm13, %ymm13
vmovdqu %ymm13, (%rax)
movl $0x20, %edx
movabsq $-0x4b4d4e535556595b, %r13 # imm = 0xB4B2B1ACAAA9A6A5
movq -0x20(%rax,%rdx), %rcx
movq -0x18(%rax,%rdx), %rsi
movq -0x10(%rax,%rdx), %rdi
movq -0x8(%rax,%rdx), %r8
leaq (%rsi,%rcx), %r9
leaq (%r8,%rdi), %r10
vmovq %rcx, %xmm13
vmovq %r9, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r10, %xmm14
vmovq %rdi, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm5, %xmm15, %xmm15
vprolvq %xmm6, %xmm15, %xmm15
vpinsrq $0x1, %rsi, %xmm13, %xmm13
vpinsrq $0x0, %r8, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm7, %xmm13, %xmm13
vprolvq %xmm8, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
vmovdqu %ymm14, -0x20(%rbp,%rdx)
vpermq $0x39, (%rbp,%rdx), %ymm14 # ymm14 = mem[1,2,3,0]
vpaddq %ymm13, %ymm14, %ymm13
vmovdqu %ymm13, (%rax,%rdx)
addq $0x20, %rdx
cmpq $0x80, %rdx
jne 0x6e16
movq 0x60(%rax), %rcx
movq 0x68(%rax), %rdx
movq 0x70(%rax), %rsi
movq 0x78(%rax), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
vmovq %rcx, %xmm13
vmovq %r8, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r9, %xmm14
vmovq %rsi, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm5, %xmm15, %xmm15
vprolvq %xmm6, %xmm15, %xmm15
vpinsrq $0x1, %rdx, %xmm13, %xmm13
vpinsrq $0x0, %rdi, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm7, %xmm13, %xmm13
vprolvq %xmm8, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
vmovdqu %ymm14, 0x60(%rbp)
vpaddq %ymm12, %ymm13, %ymm13
vmovdqu %ymm13, 0x60(%rax)
movl $0x78, %edx
movq -0x18(%rax,%rdx), %rcx
movq -0x10(%rax,%rdx), %rsi
movq -0x8(%rax,%rdx), %rdi
movq (%rax,%rdx), %r8
leaq (%r8,%rdi), %r9
leaq (%rsi,%rcx), %r10
vmovq %rcx, %xmm13
vmovq %r10, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r9, %xmm14
vmovq %rdi, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm1, %xmm15, %xmm15
vprolvq %xmm2, %xmm15, %xmm15
vpinsrq $0x1, %rsi, %xmm13, %xmm13
vpinsrq $0x0, %r8, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm3, %xmm13, %xmm13
vprolvq %xmm4, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
vmovdqu %ymm14, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm14 # ymm14 = mem[1,2,3,0]
vpaddq %ymm13, %ymm14, %ymm13
vmovdqu %ymm13, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0x6f4f
movb $0x1, %sil
leaq 0xe0(%rsp), %rdx
xorl %edi, %edi
vmovdqu (%rax,%rdi,8), %ymm13
vpaddq (%rdx), %ymm13, %ymm13
vmovdqu %ymm13, (%rdx)
addq $0x20, %rdx
movl $0x8, %edi
testb $0x1, %sil
movl $0x0, %esi
jne 0x7002
movq 0x18(%rsp), %rdx
incq %rdx
cmpq 0x40(%rsp), %rdx
jne 0x642e
movq 0x2120(%rsp), %rcx
andq $0x3f, %rcx
je 0x7c87
movq %rcx, 0x18(%rsp)
vmovups 0x50(%rsp), %ymm9
vmovups 0x70(%rsp), %ymm10
vmovups 0x90(%rsp), %ymm11
vmovdqu 0xb0(%rsp), %ymm12
vmovups %ymm9, (%rax)
vmovdqu %ymm12, 0x60(%rax)
vmovups %ymm11, 0x40(%rax)
vmovups %ymm10, 0x20(%rax)
movq 0x8(%rsp), %r9
incq %r9
movq 0x8(%rax), %rcx
movq 0x10(%rax), %rdx
movq 0x18(%rax), %rsi
leaq (%rsi,%rdx), %rdi
movq (%rax), %r8
movq %r9, 0x8(%rsp)
xorq %r9, %r8
leaq (%rcx,%r8), %r9
vmovq %r8, %xmm9
vmovq %r9, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %rdi, %xmm10
vmovq %rdx, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x3f30(%rip), %xmm11, %xmm11 # 0xb000
vprolvq 0x3f36(%rip), %xmm11, %xmm11 # 0xb010
vpinsrq $0x1, %rcx, %xmm9, %xmm9
vpinsrq $0x0, %rsi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x3f2d(%rip), %xmm9, %xmm9 # 0xb020
vprolvq 0x3f33(%rip), %xmm9, %xmm9 # 0xb030
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpaddq 0x3f85(%rip), %ymm9, %ymm9 # 0xb0a0
vmovdqu %ymm9, (%rax)
xorl %r15d, %r15d
movq (%rax,%r15), %rcx
movq 0x8(%rax,%r15), %rdx
movq 0x10(%rax,%r15), %rsi
movq 0x18(%rax,%r15), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
addq %r11, %rsi
addq %r8, %rsi
rorxq $0x39, %rsi, %r10
movabsq $-0x2e333536393a3c48, %rsi # imm = 0xD1CCCAC9C6C5C3B8
addq %rsi, %rdi
addq %r8, %rdi
rorxq $0x2d, %rdi, %rsi
addq %r13, %rcx
addq %r9, %rcx
rorxq $0x21, %rcx, %rcx
addq %rbx, %rdx
addq %r9, %rdx
rorxq $0xb, %rdx, %r12
movq %r10, %rdi
movq %rsi, %rdx
xorq %rsi, %rdi
movq %rcx, %rsi
xorq %r12, %rsi
xorq %rdi, %r12
xorq %rcx, %rdi
xorq %rsi, %rdx
movq %rdx, 0x10(%rsp)
xorq %r10, %rsi
movq 0x20(%rax,%r15), %rcx
movq 0x28(%rax,%r15), %r8
movq 0x30(%rax,%r15), %r9
movq 0x38(%rax,%r15), %r10
leaq (%r10,%r9), %r11
leaq (%r8,%rcx), %rbx
movq %r13, %rdx
movabsq $-0x727478878b8d8e94, %r13 # imm = 0x8D8B87787472716C
addq %r13, %rcx
movq %rdx, %r13
addq %r11, %rcx
rorxq $0x35, %rcx, %rcx
movabsq $0x6a696665635c5a59, %rdx # imm = 0x6A696665635C5A59
addq %rdx, %r8
addq %r11, %r8
rorxq $0x29, %r8, %r8
movabsq $0x5655534e4d4b473c, %rdx # imm = 0x5655534E4D4B473C
addq %rdx, %r9
addq %rbx, %r9
rorxq $0x1b, %r9, %r9
movabsq $0x3a393635332e2d2b, %rdx # imm = 0x3A393635332E2D2B
addq %rdx, %r10
addq %rbx, %r10
rorxq $0x5, %r10, %r10
movq %r9, %r11
xorq %r10, %r11
movq %rcx, %rbx
xorq %r8, %rbx
xorq %r11, %r8
xorq %rcx, %r11
xorq %rbx, %r10
xorq %r9, %rbx
movq %r12, (%rbp,%r15)
movq %rdi, 0x8(%rbp,%r15)
addq %rdi, %r11
movq %r11, 0x20(%rax,%r15)
movabsq $-0xf171b1d1e272b2e, %r11 # imm = 0xF0E8E4E2E1D8D4D2
movq 0x10(%rsp), %rcx
movq %rcx, 0x10(%rbp,%r15)
addq %rcx, %r10
movq %r10, 0x28(%rax,%r15)
movq %rsi, 0x18(%rbp,%r15)
addq %rsi, %rbx
movq %rbx, 0x30(%rax,%r15)
movabsq $-0x5c636566696a6c72, %rbx # imm = 0xA39C9A999695938E
addq %r12, %r8
movq %r8, 0x38(%rax,%r15)
addq $0x20, %r15
cmpq $0x60, %r15
jne 0x7122
movq 0x60(%rax), %rcx
movq 0x68(%rax), %rdx
movq 0x70(%rax), %rsi
movq 0x78(%rax), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
vmovq %rcx, %xmm9
vmovq %r8, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x3d79(%rip), %xmm11, %xmm11 # 0xb040
vprolvq 0x3d7f(%rip), %xmm11, %xmm11 # 0xb050
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x3d76(%rip), %xmm9, %xmm9 # 0xb060
vprolvq 0x3d7c(%rip), %xmm9, %xmm9 # 0xb070
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, 0x60(%rbp)
vpaddq 0x3da3(%rip), %ymm9, %ymm9 # 0xb0c0
vmovdqu %ymm9, 0x60(%rax)
movl $0x78, %edx
movq -0x18(%rax,%rdx), %rcx
movq -0x10(%rax,%rdx), %rsi
movq -0x8(%rax,%rdx), %rdi
movq (%rax,%rdx), %r8
leaq (%r8,%rdi), %r9
leaq (%rsi,%rcx), %r10
vmovq %rcx, %xmm9
vmovq %r10, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rdi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq %xmm1, %xmm11, %xmm11
vprolvq %xmm2, %xmm11, %xmm11
vpinsrq $0x1, %rsi, %xmm9, %xmm9
vpinsrq $0x0, %r8, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq %xmm3, %xmm9, %xmm9
vprolvq %xmm4, %xmm9, %xmm9
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm10 # ymm10 = mem[1,2,3,0]
vpaddq %ymm9, %ymm10, %ymm9
vmovdqu %ymm9, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0x7327
movq (%rax), %rcx
movq 0x8(%rax), %rdx
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rdi
leaq (%rdi,%rsi), %r8
leaq (%rdx,%rcx), %r9
vmovq %rcx, %xmm9
vmovq %r9, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r8, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x3bf1(%rip), %xmm11, %xmm11 # 0xb000
vprolvq 0x3bf7(%rip), %xmm11, %xmm11 # 0xb010
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x3bee(%rip), %xmm9, %xmm9 # 0xb020
vprolvq 0x3bf4(%rip), %xmm9, %xmm9 # 0xb030
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, (%rbp)
vpaddq 0x3c7b(%rip), %ymm9, %ymm9 # 0xb0e0
vmovdqu %ymm9, (%rax)
movl $0x20, %edx
movq 0x28(%rsp), %r15
movq -0x20(%rax,%rdx), %rcx
movq -0x18(%rax,%rdx), %rsi
movq -0x10(%rax,%rdx), %rdi
movq -0x8(%rax,%rdx), %r8
leaq (%rsi,%rcx), %r9
leaq (%r8,%rdi), %r10
vmovq %rcx, %xmm9
vmovq %r9, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r10, %xmm10
vmovq %rdi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq %xmm5, %xmm11, %xmm11
vprolvq %xmm6, %xmm11, %xmm11
vpinsrq $0x1, %rsi, %xmm9, %xmm9
vpinsrq $0x0, %r8, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq %xmm7, %xmm9, %xmm9
vprolvq %xmm8, %xmm9, %xmm9
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, -0x20(%rbp,%rdx)
vpermq $0x39, (%rbp,%rdx), %ymm10 # ymm10 = mem[1,2,3,0]
vpaddq %ymm9, %ymm10, %ymm9
vmovdqu %ymm9, (%rax,%rdx)
addq $0x20, %rdx
cmpq $0x80, %rdx
jne 0x7473
movq 0x60(%rax), %rcx
movq 0x68(%rax), %rdx
movq 0x70(%rax), %rsi
movq 0x78(%rax), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
vmovq %rcx, %xmm9
vmovq %r8, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x3ae1(%rip), %xmm11, %xmm11 # 0xb040
vprolvq 0x3ae7(%rip), %xmm11, %xmm11 # 0xb050
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x3ade(%rip), %xmm9, %xmm9 # 0xb060
vprolvq 0x3ae4(%rip), %xmm9, %xmm9 # 0xb070
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, 0x60(%rbp)
vpaddq 0x3b4b(%rip), %ymm9, %ymm9 # 0xb100
vmovdqu %ymm9, 0x60(%rax)
movl $0x78, %edx
movq -0x18(%rax,%rdx), %rcx
movq -0x10(%rax,%rdx), %rsi
movq -0x8(%rax,%rdx), %rdi
movq (%rax,%rdx), %r8
leaq (%r8,%rdi), %r9
leaq (%rsi,%rcx), %r10
vmovq %rcx, %xmm9
vmovq %r10, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rdi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq %xmm1, %xmm11, %xmm11
vprolvq %xmm2, %xmm11, %xmm11
vpinsrq $0x1, %rsi, %xmm9, %xmm9
vpinsrq $0x0, %r8, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq %xmm3, %xmm9, %xmm9
vprolvq %xmm4, %xmm9, %xmm9
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm10 # ymm10 = mem[1,2,3,0]
vpaddq %ymm9, %ymm10, %ymm9
vmovdqu %ymm9, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0x75bf
addq %r14, %r15
xorl %edx, %edx
xorl %esi, %esi
movq 0x18(%rsp), %r8
leaq 0x1(%rdx), %rcx
movb (%r15,%rsi), %dil
xorb (%rax,%rdx), %dil
movb %dil, 0x1(%rax,%rdx)
addq $0x21, %rdx
testb $0x1f, %cl
cmovneq %rcx, %rdx
incq %rsi
cmpq %rsi, %r8
jne 0x7671
xorb $0x1, (%rax,%r8)
movq (%rax), %rcx
movq 0x8(%rax), %rdx
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rdi
leaq (%rdi,%rsi), %r8
leaq (%rdx,%rcx), %r9
vmovq %rcx, %xmm9
vmovq %r9, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r8, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x3924(%rip), %xmm11, %xmm11 # 0xb000
vprolvq 0x392a(%rip), %xmm11, %xmm11 # 0xb010
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x3921(%rip), %xmm9, %xmm9 # 0xb020
vprolvq 0x3927(%rip), %xmm9, %xmm9 # 0xb030
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpaddq 0x3979(%rip), %ymm9, %ymm9 # 0xb0a0
vmovdqu %ymm9, (%rax)
xorl %r14d, %r14d
movq (%rax,%r14), %rcx
movq 0x8(%rax,%r14), %rdx
movq 0x10(%rax,%r14), %rsi
movq 0x18(%rax,%r14), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
addq %r11, %rsi
addq %r8, %rsi
rorxq $0x39, %rsi, %r10
movabsq $-0x2e333536393a3c48, %rsi # imm = 0xD1CCCAC9C6C5C3B8
addq %rsi, %rdi
addq %r8, %rdi
rorxq $0x2d, %rdi, %r15
addq %r13, %rcx
addq %r9, %rcx
rorxq $0x21, %rcx, %rcx
addq %rbx, %rdx
addq %r9, %rdx
rorxq $0xb, %rdx, %rdx
movq %r10, %rdi
xorq %r15, %rdi
movq %rcx, %rsi
xorq %rdx, %rsi
xorq %rdi, %rdx
xorq %rcx, %rdi
xorq %rsi, %r15
xorq %r10, %rsi
movq 0x20(%rax,%r14), %rcx
movq 0x28(%rax,%r14), %r8
movq 0x30(%rax,%r14), %r9
movq 0x38(%rax,%r14), %r10
leaq (%r10,%r9), %r11
leaq (%r8,%rcx), %rbx
movabsq $-0x727478878b8d8e94, %r12 # imm = 0x8D8B87787472716C
addq %r12, %rcx
addq %r11, %rcx
rorxq $0x35, %rcx, %rcx
movabsq $0x6a696665635c5a59, %r12 # imm = 0x6A696665635C5A59
addq %r12, %r8
addq %r11, %r8
rorxq $0x29, %r8, %r8
movabsq $0x5655534e4d4b473c, %r11 # imm = 0x5655534E4D4B473C
addq %r11, %r9
addq %rbx, %r9
rorxq $0x1b, %r9, %r9
movabsq $0x3a393635332e2d2b, %r11 # imm = 0x3A393635332E2D2B
addq %r11, %r10
addq %rbx, %r10
rorxq $0x5, %r10, %r10
movq %r9, %r11
xorq %r10, %r11
movq %rcx, %rbx
xorq %r8, %rbx
xorq %r11, %r8
xorq %rcx, %r11
xorq %rbx, %r10
xorq %r9, %rbx
movq %rdx, (%rbp,%r14)
movq %rdi, 0x8(%rbp,%r14)
addq %rdi, %r11
movq %r11, 0x20(%rax,%r14)
movabsq $-0xf171b1d1e272b2e, %r11 # imm = 0xF0E8E4E2E1D8D4D2
movq %r15, 0x10(%rbp,%r14)
addq %r15, %r10
movq %r10, 0x28(%rax,%r14)
movq %rsi, 0x18(%rbp,%r14)
addq %rsi, %rbx
movq %rbx, 0x30(%rax,%r14)
movabsq $-0x5c636566696a6c72, %rbx # imm = 0xA39C9A999695938E
addq %rdx, %r8
movq %r8, 0x38(%rax,%r14)
addq $0x20, %r14
cmpq $0x60, %r14
jne 0x772e
movq 0x60(%rax), %rcx
movq 0x68(%rax), %rdx
movq 0x70(%rax), %rsi
movq 0x78(%rax), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
vmovq %rcx, %xmm9
vmovq %r8, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x3780(%rip), %xmm11, %xmm11 # 0xb040
vprolvq 0x3786(%rip), %xmm11, %xmm11 # 0xb050
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x377d(%rip), %xmm9, %xmm9 # 0xb060
vprolvq 0x3783(%rip), %xmm9, %xmm9 # 0xb070
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, 0x60(%rbp)
vpaddq 0x37aa(%rip), %ymm9, %ymm9 # 0xb0c0
vmovdqu %ymm9, 0x60(%rax)
movl $0x78, %edx
movq -0x18(%rax,%rdx), %rcx
movq -0x10(%rax,%rdx), %rsi
movq -0x8(%rax,%rdx), %rdi
movq (%rax,%rdx), %r8
leaq (%r8,%rdi), %r9
leaq (%rsi,%rcx), %r10
vmovq %rcx, %xmm9
vmovq %r10, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rdi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq %xmm1, %xmm11, %xmm11
vprolvq %xmm2, %xmm11, %xmm11
vpinsrq $0x1, %rsi, %xmm9, %xmm9
vpinsrq $0x0, %r8, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq %xmm3, %xmm9, %xmm9
vprolvq %xmm4, %xmm9, %xmm9
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm10 # ymm10 = mem[1,2,3,0]
vpaddq %ymm9, %ymm10, %ymm9
vmovdqu %ymm9, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0x7920
movq (%rax), %rcx
movq 0x8(%rax), %rdx
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rdi
leaq (%rdi,%rsi), %r8
leaq (%rdx,%rcx), %r9
vmovq %rcx, %xmm9
vmovq %r9, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r8, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x35f8(%rip), %xmm11, %xmm11 # 0xb000
vprolvq 0x35fe(%rip), %xmm11, %xmm11 # 0xb010
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x35f5(%rip), %xmm9, %xmm9 # 0xb020
vprolvq 0x35fb(%rip), %xmm9, %xmm9 # 0xb030
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, (%rbp)
vpaddq 0x3682(%rip), %ymm9, %ymm9 # 0xb0e0
vmovdqu %ymm9, (%rax)
movl $0x20, %edx
movq -0x20(%rax,%rdx), %rcx
movq -0x18(%rax,%rdx), %rsi
movq -0x10(%rax,%rdx), %rdi
movq -0x8(%rax,%rdx), %r8
leaq (%rsi,%rcx), %r9
leaq (%r8,%rdi), %r10
vmovq %rcx, %xmm9
vmovq %r9, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r10, %xmm10
vmovq %rdi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq %xmm5, %xmm11, %xmm11
vprolvq %xmm6, %xmm11, %xmm11
vpinsrq $0x1, %rsi, %xmm9, %xmm9
vpinsrq $0x0, %r8, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq %xmm7, %xmm9, %xmm9
vprolvq %xmm8, %xmm9, %xmm9
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, -0x20(%rbp,%rdx)
vpermq $0x39, (%rbp,%rdx), %ymm10 # ymm10 = mem[1,2,3,0]
vpaddq %ymm9, %ymm10, %ymm9
vmovdqu %ymm9, (%rax,%rdx)
addq $0x20, %rdx
cmpq $0x80, %rdx
jne 0x7a67
movq 0x60(%rax), %rcx
movq 0x68(%rax), %rdx
movq 0x70(%rax), %rsi
movq 0x78(%rax), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
vmovq %rcx, %xmm9
vmovq %r8, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x34ed(%rip), %xmm11, %xmm11 # 0xb040
vprolvq 0x34f3(%rip), %xmm11, %xmm11 # 0xb050
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x34ea(%rip), %xmm9, %xmm9 # 0xb060
vprolvq 0x34f0(%rip), %xmm9, %xmm9 # 0xb070
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, 0x60(%rbp)
vpaddq 0x3557(%rip), %ymm9, %ymm9 # 0xb100
vmovdqu %ymm9, 0x60(%rax)
movl $0x78, %edx
movq -0x18(%rax,%rdx), %rcx
movq -0x10(%rax,%rdx), %rsi
movq -0x8(%rax,%rdx), %rdi
movq (%rax,%rdx), %r8
leaq (%r8,%rdi), %r9
leaq (%rsi,%rcx), %r10
vmovq %rcx, %xmm9
vmovq %r10, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rdi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq %xmm1, %xmm11, %xmm11
vprolvq %xmm2, %xmm11, %xmm11
vpinsrq $0x1, %rsi, %xmm9, %xmm9
vpinsrq $0x0, %r8, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq %xmm3, %xmm9, %xmm9
vprolvq %xmm4, %xmm9, %xmm9
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm10 # ymm10 = mem[1,2,3,0]
vpaddq %ymm9, %ymm10, %ymm9
vmovdqu %ymm9, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0x7bb3
movb $0x1, %sil
leaq 0xe0(%rsp), %rdx
xorl %edi, %edi
vmovdqu (%rax,%rdi,8), %ymm9
vpaddq (%rdx), %ymm9, %ymm9
vmovdqu %ymm9, (%rdx)
addq $0x20, %rdx
movl $0x8, %edi
testb $0x1, %sil
movl $0x0, %esi
jne 0x7c66
leaq 0x90(%rsp), %rcx
leaq 0x50(%rsp), %r8
movb $0x1, %sil
leaq 0xe0(%rsp), %rdx
xorl %edi, %edi
vmovups (%rdx), %ymm9
vxorps (%r8), %ymm9, %ymm9
vmovups %ymm9, (%rax,%rdi,8)
vmovdqu 0x70(%rsp,%rdi,8), %ymm9
vmovdqu %ymm9, 0x20(%rax,%rdi,8)
addq $0x20, %rdx
movl $0x8, %edi
movq %rcx, %r8
testb $0x1, %sil
movl $0x0, %esi
jne 0x7ca1
movq (%rax), %rcx
movq 0x8(%rax), %rdx
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rdi
leaq (%rdi,%rsi), %r8
leaq (%rdx,%rcx), %r9
vmovq %rcx, %xmm9
vmovq %r9, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r8, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x32ec(%rip), %xmm11, %xmm11 # 0xb000
vprolvq 0x32f2(%rip), %xmm11, %xmm11 # 0xb010
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x32e9(%rip), %xmm9, %xmm9 # 0xb020
vprolvq 0x32ef(%rip), %xmm9, %xmm9 # 0xb030
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpaddq 0x3341(%rip), %ymm9, %ymm9 # 0xb0a0
vmovdqu %ymm9, (%rax)
xorl %r14d, %r14d
movq (%rax,%r14), %rcx
movq 0x8(%rax,%r14), %rdx
movq 0x10(%rax,%r14), %rsi
movq 0x18(%rax,%r14), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
addq %r11, %rsi
addq %r8, %rsi
rorxq $0x39, %rsi, %r10
movabsq $-0x2e333536393a3c48, %rsi # imm = 0xD1CCCAC9C6C5C3B8
addq %rsi, %rdi
addq %r8, %rdi
rorxq $0x2d, %rdi, %r15
addq %r13, %rcx
addq %r9, %rcx
rorxq $0x21, %rcx, %rcx
addq %rbx, %rdx
addq %r9, %rdx
rorxq $0xb, %rdx, %rdx
movq %r10, %rdi
xorq %r15, %rdi
movq %rcx, %rsi
xorq %rdx, %rsi
xorq %rdi, %rdx
xorq %rcx, %rdi
xorq %rsi, %r15
xorq %r10, %rsi
movq 0x20(%rax,%r14), %rcx
movq 0x28(%rax,%r14), %r8
movq 0x30(%rax,%r14), %r9
movq 0x38(%rax,%r14), %r10
leaq (%r10,%r9), %r11
leaq (%r8,%rcx), %rbx
movabsq $-0x727478878b8d8e94, %r12 # imm = 0x8D8B87787472716C
addq %r12, %rcx
addq %r11, %rcx
rorxq $0x35, %rcx, %rcx
movabsq $0x6a696665635c5a59, %r12 # imm = 0x6A696665635C5A59
addq %r12, %r8
addq %r11, %r8
rorxq $0x29, %r8, %r8
movabsq $0x5655534e4d4b473c, %r11 # imm = 0x5655534E4D4B473C
addq %r11, %r9
addq %rbx, %r9
rorxq $0x1b, %r9, %r9
movabsq $0x3a393635332e2d2b, %r11 # imm = 0x3A393635332E2D2B
addq %r11, %r10
addq %rbx, %r10
rorxq $0x5, %r10, %r10
movq %r9, %r11
xorq %r10, %r11
movq %rcx, %rbx
xorq %r8, %rbx
xorq %r11, %r8
xorq %rcx, %r11
xorq %rbx, %r10
xorq %r9, %rbx
movq %rdx, (%rbp,%r14)
movq %rdi, 0x8(%rbp,%r14)
addq %rdi, %r11
movq %r11, 0x20(%rax,%r14)
movabsq $-0xf171b1d1e272b2e, %r11 # imm = 0xF0E8E4E2E1D8D4D2
movq %r15, 0x10(%rbp,%r14)
addq %r15, %r10
movq %r10, 0x28(%rax,%r14)
movq %rsi, 0x18(%rbp,%r14)
addq %rsi, %rbx
movq %rbx, 0x30(%rax,%r14)
movabsq $-0x5c636566696a6c72, %rbx # imm = 0xA39C9A999695938E
addq %rdx, %r8
movq %r8, 0x38(%rax,%r14)
addq $0x20, %r14
cmpq $0x60, %r14
jne 0x7d66
movq 0x60(%rax), %rcx
movq 0x68(%rax), %rdx
movq 0x70(%rax), %rsi
movq 0x78(%rax), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
vmovq %rcx, %xmm9
vmovq %r8, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x3148(%rip), %xmm11, %xmm11 # 0xb040
vprolvq 0x314e(%rip), %xmm11, %xmm11 # 0xb050
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x3145(%rip), %xmm9, %xmm9 # 0xb060
vprolvq 0x314b(%rip), %xmm9, %xmm9 # 0xb070
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, 0x60(%rbp)
vpaddq 0x3172(%rip), %ymm9, %ymm9 # 0xb0c0
vmovdqu %ymm9, 0x60(%rax)
movl $0x78, %edx
movq -0x18(%rax,%rdx), %rcx
movq -0x10(%rax,%rdx), %rsi
movq -0x8(%rax,%rdx), %rdi
movq (%rax,%rdx), %r8
leaq (%r8,%rdi), %r9
leaq (%rsi,%rcx), %r10
vmovq %rcx, %xmm9
vmovq %r10, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rdi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq %xmm1, %xmm11, %xmm11
vprolvq %xmm2, %xmm11, %xmm11
vpinsrq $0x1, %rsi, %xmm9, %xmm9
vpinsrq $0x0, %r8, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq %xmm3, %xmm9, %xmm9
vprolvq %xmm4, %xmm9, %xmm9
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm10 # ymm10 = mem[1,2,3,0]
vpaddq %ymm9, %ymm10, %ymm9
vmovdqu %ymm9, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0x7f58
movq (%rax), %rcx
movq 0x8(%rax), %rdx
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rdi
leaq (%rdi,%rsi), %r8
leaq (%rdx,%rcx), %r9
vmovq %rcx, %xmm9
vmovq %r9, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r8, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x2fc0(%rip), %xmm11, %xmm11 # 0xb000
vprolvq 0x2fc6(%rip), %xmm11, %xmm11 # 0xb010
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x2fbd(%rip), %xmm9, %xmm9 # 0xb020
vprolvq 0x2fc3(%rip), %xmm9, %xmm9 # 0xb030
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, (%rbp)
vpaddq 0x304a(%rip), %ymm9, %ymm9 # 0xb0e0
vmovdqu %ymm9, (%rax)
movl $0x20, %edx
movq -0x20(%rax,%rdx), %rcx
movq -0x18(%rax,%rdx), %rsi
movq -0x10(%rax,%rdx), %rdi
movq -0x8(%rax,%rdx), %r8
leaq (%rsi,%rcx), %r9
leaq (%r8,%rdi), %r10
vmovq %rcx, %xmm9
vmovq %r9, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r10, %xmm10
vmovq %rdi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq %xmm5, %xmm11, %xmm11
vprolvq %xmm6, %xmm11, %xmm11
vpinsrq $0x1, %rsi, %xmm9, %xmm9
vpinsrq $0x0, %r8, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq %xmm7, %xmm9, %xmm9
vprolvq %xmm8, %xmm9, %xmm9
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, -0x20(%rbp,%rdx)
vpermq $0x39, (%rbp,%rdx), %ymm10 # ymm10 = mem[1,2,3,0]
vpaddq %ymm9, %ymm10, %ymm9
vmovdqu %ymm9, (%rax,%rdx)
addq $0x20, %rdx
cmpq $0x80, %rdx
jne 0x809f
movq 0x60(%rax), %rcx
movq 0x68(%rax), %rdx
movq 0x70(%rax), %rsi
movq 0x78(%rax), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
vmovq %rcx, %xmm9
vmovq %r8, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x2eb5(%rip), %xmm11, %xmm11 # 0xb040
vprolvq 0x2ebb(%rip), %xmm11, %xmm11 # 0xb050
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x2eb2(%rip), %xmm9, %xmm9 # 0xb060
vprolvq 0x2eb8(%rip), %xmm9, %xmm9 # 0xb070
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, 0x60(%rbp)
vpaddq 0x2f1f(%rip), %ymm9, %ymm9 # 0xb100
vmovdqu %ymm9, 0x60(%rax)
movl $0x78, %edx
movq -0x18(%rax,%rdx), %rcx
movq -0x10(%rax,%rdx), %rsi
movq -0x8(%rax,%rdx), %rdi
movq (%rax,%rdx), %r8
leaq (%r8,%rdi), %r9
leaq (%rsi,%rcx), %r10
vmovq %rcx, %xmm9
vmovq %r10, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rdi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq %xmm1, %xmm11, %xmm11
vprolvq %xmm2, %xmm11, %xmm11
vpinsrq $0x1, %rsi, %xmm9, %xmm9
vpinsrq $0x0, %r8, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq %xmm3, %xmm9, %xmm9
vprolvq %xmm4, %xmm9, %xmm9
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm10 # ymm10 = mem[1,2,3,0]
vpaddq %ymm9, %ymm10, %ymm9
vmovdqu %ymm9, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0x81eb
vmovups 0x60(%rax), %ymm9
vmovups %ymm9, 0xb0(%rsp)
vmovups 0x40(%rax), %ymm9
vmovups %ymm9, 0x90(%rsp)
vmovups 0x20(%rax), %ymm9
vmovups %ymm9, 0x70(%rsp)
vmovups (%rax), %ymm9
vmovups %ymm9, 0x50(%rsp)
movq 0x8(%rsp), %r9
incq %r9
movq 0x8(%rax), %rcx
movq 0x10(%rax), %rdx
movq 0x18(%rax), %rsi
leaq (%rsi,%rdx), %rdi
movq (%rax), %r8
movq %r9, 0x8(%rsp)
xorq %r9, %r8
leaq (%rcx,%r8), %r9
vmovq %r8, %xmm9
vmovq %r9, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %rdi, %xmm10
vmovq %rdx, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x2cec(%rip), %xmm11, %xmm11 # 0xb000
vprolvq 0x2cf2(%rip), %xmm11, %xmm11 # 0xb010
vpinsrq $0x1, %rcx, %xmm9, %xmm9
vpinsrq $0x0, %rsi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x2ce9(%rip), %xmm9, %xmm9 # 0xb020
vprolvq 0x2cef(%rip), %xmm9, %xmm9 # 0xb030
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpaddq 0x2d41(%rip), %ymm9, %ymm9 # 0xb0a0
vmovdqu %ymm9, (%rax)
xorl %r14d, %r14d
movq (%rax,%r14), %rcx
movq 0x8(%rax,%r14), %rdx
movq 0x10(%rax,%r14), %rsi
movq 0x18(%rax,%r14), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
addq %r11, %rsi
addq %r8, %rsi
rorxq $0x39, %rsi, %r10
movabsq $-0x2e333536393a3c48, %rsi # imm = 0xD1CCCAC9C6C5C3B8
addq %rsi, %rdi
addq %r8, %rdi
rorxq $0x2d, %rdi, %r15
addq %r13, %rcx
addq %r9, %rcx
rorxq $0x21, %rcx, %rcx
addq %rbx, %rdx
addq %r9, %rdx
rorxq $0xb, %rdx, %rdx
movq %r10, %rdi
xorq %r15, %rdi
movq %rcx, %rsi
xorq %rdx, %rsi
xorq %rdi, %rdx
xorq %rcx, %rdi
xorq %rsi, %r15
xorq %r10, %rsi
movq 0x20(%rax,%r14), %rcx
movq 0x28(%rax,%r14), %r8
movq 0x30(%rax,%r14), %r9
movq 0x38(%rax,%r14), %r10
leaq (%r10,%r9), %r11
leaq (%r8,%rcx), %rbx
movabsq $-0x727478878b8d8e94, %r12 # imm = 0x8D8B87787472716C
addq %r12, %rcx
addq %r11, %rcx
rorxq $0x35, %rcx, %rcx
movabsq $0x6a696665635c5a59, %r12 # imm = 0x6A696665635C5A59
addq %r12, %r8
addq %r11, %r8
rorxq $0x29, %r8, %r8
movabsq $0x5655534e4d4b473c, %r11 # imm = 0x5655534E4D4B473C
addq %r11, %r9
addq %rbx, %r9
rorxq $0x1b, %r9, %r9
movabsq $0x3a393635332e2d2b, %r11 # imm = 0x3A393635332E2D2B
addq %r11, %r10
addq %rbx, %r10
rorxq $0x5, %r10, %r10
movq %r9, %r11
xorq %r10, %r11
movq %rcx, %rbx
xorq %r8, %rbx
xorq %r11, %r8
xorq %rcx, %r11
xorq %rbx, %r10
xorq %r9, %rbx
movq %rdx, (%rbp,%r14)
movq %rdi, 0x8(%rbp,%r14)
addq %rdi, %r11
movq %r11, 0x20(%rax,%r14)
movabsq $-0xf171b1d1e272b2e, %r11 # imm = 0xF0E8E4E2E1D8D4D2
movq %r15, 0x10(%rbp,%r14)
addq %r15, %r10
movq %r10, 0x28(%rax,%r14)
movq %rsi, 0x18(%rbp,%r14)
addq %rsi, %rbx
movq %rbx, 0x30(%rax,%r14)
movabsq $-0x5c636566696a6c72, %rbx # imm = 0xA39C9A999695938E
addq %rdx, %r8
movq %r8, 0x38(%rax,%r14)
addq $0x20, %r14
cmpq $0x60, %r14
jne 0x8366
movq 0x60(%rax), %rcx
movq 0x68(%rax), %rdx
movq 0x70(%rax), %rsi
movq 0x78(%rax), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
vmovq %rcx, %xmm9
vmovq %r8, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x2b48(%rip), %xmm11, %xmm11 # 0xb040
vprolvq 0x2b4e(%rip), %xmm11, %xmm11 # 0xb050
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x2b45(%rip), %xmm9, %xmm9 # 0xb060
vprolvq 0x2b4b(%rip), %xmm9, %xmm9 # 0xb070
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, 0x60(%rbp)
vpaddq 0x2b72(%rip), %ymm9, %ymm9 # 0xb0c0
vmovdqu %ymm9, 0x60(%rax)
movl $0x78, %edx
movq -0x18(%rax,%rdx), %rcx
movq -0x10(%rax,%rdx), %rsi
movq -0x8(%rax,%rdx), %rdi
movq (%rax,%rdx), %r8
leaq (%r8,%rdi), %r9
leaq (%rsi,%rcx), %r10
vmovq %rcx, %xmm9
vmovq %r10, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rdi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq %xmm1, %xmm11, %xmm11
vprolvq %xmm2, %xmm11, %xmm11
vpinsrq $0x1, %rsi, %xmm9, %xmm9
vpinsrq $0x0, %r8, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq %xmm3, %xmm9, %xmm9
vprolvq %xmm4, %xmm9, %xmm9
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm10 # ymm10 = mem[1,2,3,0]
vpaddq %ymm9, %ymm10, %ymm9
vmovdqu %ymm9, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0x8558
movq (%rax), %rcx
movq 0x8(%rax), %rdx
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rdi
leaq (%rdi,%rsi), %r8
leaq (%rdx,%rcx), %r9
vmovq %rcx, %xmm9
vmovq %r9, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r8, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x29c0(%rip), %xmm11, %xmm11 # 0xb000
vprolvq 0x29c6(%rip), %xmm11, %xmm11 # 0xb010
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x29bd(%rip), %xmm9, %xmm9 # 0xb020
vprolvq 0x29c3(%rip), %xmm9, %xmm9 # 0xb030
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, (%rbp)
vpaddq 0x2a4a(%rip), %ymm9, %ymm9 # 0xb0e0
vmovdqu %ymm9, (%rax)
movl $0x20, %edx
movq 0x20(%rsp), %r11
movq -0x20(%rax,%rdx), %rcx
movq -0x18(%rax,%rdx), %rsi
movq -0x10(%rax,%rdx), %rdi
movq -0x8(%rax,%rdx), %r8
leaq (%rsi,%rcx), %r9
leaq (%r8,%rdi), %r10
vmovq %rcx, %xmm9
vmovq %r9, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r10, %xmm10
vmovq %rdi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq %xmm5, %xmm11, %xmm11
vprolvq %xmm6, %xmm11, %xmm11
vpinsrq $0x1, %rsi, %xmm9, %xmm9
vpinsrq $0x0, %r8, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq %xmm7, %xmm9, %xmm9
vprolvq %xmm8, %xmm9, %xmm9
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, -0x20(%rbp,%rdx)
vpermq $0x39, (%rbp,%rdx), %ymm10 # ymm10 = mem[1,2,3,0]
vpaddq %ymm9, %ymm10, %ymm9
vmovdqu %ymm9, (%rax,%rdx)
addq $0x20, %rdx
cmpq $0x80, %rdx
jne 0x86a4
movq 0x60(%rax), %rcx
movq 0x68(%rax), %rdx
movq 0x70(%rax), %rsi
movq 0x78(%rax), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
vmovq %rcx, %xmm9
vmovq %r8, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x28b0(%rip), %xmm11, %xmm11 # 0xb040
vprolvq 0x28b6(%rip), %xmm11, %xmm11 # 0xb050
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x28ad(%rip), %xmm9, %xmm9 # 0xb060
vprolvq 0x28b3(%rip), %xmm9, %xmm9 # 0xb070
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, 0x60(%rbp)
vpaddq 0x291a(%rip), %ymm9, %ymm9 # 0xb100
vmovdqu %ymm9, 0x60(%rax)
movl $0x78, %edx
movq -0x18(%rax,%rdx), %rcx
movq -0x10(%rax,%rdx), %rsi
movq -0x8(%rax,%rdx), %rdi
movq (%rax,%rdx), %r8
leaq (%r8,%rdi), %r9
leaq (%rsi,%rcx), %r10
vmovq %rcx, %xmm9
vmovq %r10, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rdi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq %xmm1, %xmm11, %xmm11
vprolvq %xmm2, %xmm11, %xmm11
vpinsrq $0x1, %rsi, %xmm9, %xmm9
vpinsrq $0x0, %r8, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq %xmm3, %xmm9, %xmm9
vprolvq %xmm4, %xmm9, %xmm9
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm10 # ymm10 = mem[1,2,3,0]
vpaddq %ymm9, %ymm10, %ymm9
vmovdqu %ymm9, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0x87f0
movb $0x1, %sil
xorl %edx, %edx
xorl %edi, %edi
movq 0x30(%rsp), %r10
shlq $0x3, %rdi
addq %rax, %rdi
leaq (%r11,%rdx,8), %r8
leaq (%r10,%rdx,8), %r14
xorl %r9d, %r9d
movq (%r8,%r9,8), %rcx
xorq (%rdi,%r9,8), %rcx
movq %rcx, (%r14,%r9,8)
movq (%r8,%r9,8), %rcx
movq %rcx, (%rdi,%r9,8)
incq %r9
cmpq $0x4, %r9
jne 0x88b4
addq %r9, %rdx
movl $0x8, %edi
testb $0x1, %sil
movl $0x0, %esi
jne 0x88a2
movq (%rax), %rcx
movq 0x8(%rax), %rdx
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rdi
leaq (%rdi,%rsi), %r8
leaq (%rdx,%rcx), %r9
vmovq %rcx, %xmm9
vmovq %r9, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r8, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x26da(%rip), %xmm11, %xmm11 # 0xb000
vprolvq 0x26e0(%rip), %xmm11, %xmm11 # 0xb010
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x26d7(%rip), %xmm9, %xmm9 # 0xb020
vprolvq 0x26dd(%rip), %xmm9, %xmm9 # 0xb030
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpaddq 0x272f(%rip), %ymm9, %ymm9 # 0xb0a0
vmovdqu %ymm9, (%rax)
xorl %r14d, %r14d
movq (%rax,%r14), %rcx
movq 0x8(%rax,%r14), %rdx
movq 0x10(%rax,%r14), %rsi
movq 0x18(%rax,%r14), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
movabsq $-0xf171b1d1e272b2e, %r10 # imm = 0xF0E8E4E2E1D8D4D2
addq %r10, %rsi
addq %r8, %rsi
rorxq $0x39, %rsi, %r10
movabsq $-0x2e333536393a3c48, %rsi # imm = 0xD1CCCAC9C6C5C3B8
addq %rsi, %rdi
addq %r8, %rdi
rorxq $0x2d, %rdi, %r15
addq %r13, %rcx
addq %r9, %rcx
rorxq $0x21, %rcx, %rcx
addq %rbx, %rdx
addq %r9, %rdx
rorxq $0xb, %rdx, %rdx
movq %r10, %rdi
xorq %r15, %rdi
movq %rcx, %rsi
xorq %rdx, %rsi
xorq %rdi, %rdx
xorq %rcx, %rdi
xorq %rsi, %r15
xorq %r10, %rsi
movq 0x20(%rax,%r14), %rcx
movq 0x28(%rax,%r14), %r8
movq 0x30(%rax,%r14), %r9
movq 0x38(%rax,%r14), %r10
leaq (%r10,%r9), %r11
leaq (%r8,%rcx), %rbx
movabsq $-0x727478878b8d8e94, %r12 # imm = 0x8D8B87787472716C
addq %r12, %rcx
addq %r11, %rcx
rorxq $0x35, %rcx, %rcx
movabsq $0x6a696665635c5a59, %r12 # imm = 0x6A696665635C5A59
addq %r12, %r8
addq %r11, %r8
rorxq $0x29, %r8, %r8
movabsq $0x5655534e4d4b473c, %r11 # imm = 0x5655534E4D4B473C
addq %r11, %r9
addq %rbx, %r9
rorxq $0x1b, %r9, %r9
movabsq $0x3a393635332e2d2b, %r11 # imm = 0x3A393635332E2D2B
addq %r11, %r10
addq %rbx, %r10
rorxq $0x5, %r10, %r10
movq %r9, %r11
xorq %r10, %r11
movq %rcx, %rbx
xorq %r8, %rbx
xorq %r11, %r8
xorq %rcx, %r11
xorq %rbx, %r10
xorq %r9, %rbx
movq %rdx, (%rbp,%r14)
movq %rdi, 0x8(%rbp,%r14)
addq %rdi, %r11
movq %r11, 0x20(%rax,%r14)
movq %r15, 0x10(%rbp,%r14)
addq %r15, %r10
movq %r10, 0x28(%rax,%r14)
movq %rsi, 0x18(%rbp,%r14)
addq %rsi, %rbx
movq %rbx, 0x30(%rax,%r14)
movabsq $-0x5c636566696a6c72, %rbx # imm = 0xA39C9A999695938E
addq %rdx, %r8
movq %r8, 0x38(%rax,%r14)
addq $0x20, %r14
cmpq $0x60, %r14
jne 0x8978
movq 0x60(%rax), %rcx
movq 0x68(%rax), %rdx
movq 0x70(%rax), %rsi
movq 0x78(%rax), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
vmovq %rcx, %xmm9
vmovq %r8, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x2536(%rip), %xmm11, %xmm11 # 0xb040
vprolvq 0x253c(%rip), %xmm11, %xmm11 # 0xb050
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x2533(%rip), %xmm9, %xmm9 # 0xb060
vprolvq 0x2539(%rip), %xmm9, %xmm9 # 0xb070
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, 0x60(%rbp)
vpaddq 0x2560(%rip), %ymm9, %ymm9 # 0xb0c0
vmovdqu %ymm9, 0x60(%rax)
movl $0x78, %edx
movq -0x18(%rax,%rdx), %rcx
movq -0x10(%rax,%rdx), %rsi
movq -0x8(%rax,%rdx), %rdi
movq (%rax,%rdx), %r8
leaq (%r8,%rdi), %r9
leaq (%rsi,%rcx), %r10
vmovq %rcx, %xmm9
vmovq %r10, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rdi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq %xmm1, %xmm11, %xmm11
vprolvq %xmm2, %xmm11, %xmm11
vpinsrq $0x1, %rsi, %xmm9, %xmm9
vpinsrq $0x0, %r8, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq %xmm3, %xmm9, %xmm9
vprolvq %xmm4, %xmm9, %xmm9
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm10 # ymm10 = mem[1,2,3,0]
vpaddq %ymm9, %ymm10, %ymm9
vmovdqu %ymm9, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0x8b6a
movq (%rax), %rcx
movq 0x8(%rax), %rdx
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rdi
leaq (%rdi,%rsi), %r8
leaq (%rdx,%rcx), %r9
vmovq %rcx, %xmm9
vmovq %r9, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r8, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x23ae(%rip), %xmm11, %xmm11 # 0xb000
vprolvq 0x23b4(%rip), %xmm11, %xmm11 # 0xb010
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x23ab(%rip), %xmm9, %xmm9 # 0xb020
vprolvq 0x23b1(%rip), %xmm9, %xmm9 # 0xb030
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, (%rbp)
vpaddq 0x2438(%rip), %ymm9, %ymm9 # 0xb0e0
vmovdqu %ymm9, (%rax)
movl $0x20, %edx
movq -0x20(%rax,%rdx), %rcx
movq -0x18(%rax,%rdx), %rsi
movq -0x10(%rax,%rdx), %rdi
movq -0x8(%rax,%rdx), %r8
leaq (%rsi,%rcx), %r9
leaq (%r8,%rdi), %r10
vmovq %rcx, %xmm9
vmovq %r9, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r10, %xmm10
vmovq %rdi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq %xmm5, %xmm11, %xmm11
vprolvq %xmm6, %xmm11, %xmm11
vpinsrq $0x1, %rsi, %xmm9, %xmm9
vpinsrq $0x0, %r8, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq %xmm7, %xmm9, %xmm9
vprolvq %xmm8, %xmm9, %xmm9
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, -0x20(%rbp,%rdx)
vpermq $0x39, (%rbp,%rdx), %ymm10 # ymm10 = mem[1,2,3,0]
vpaddq %ymm9, %ymm10, %ymm9
vmovdqu %ymm9, (%rax,%rdx)
addq $0x20, %rdx
cmpq $0x80, %rdx
jne 0x8cb1
movq 0x60(%rax), %rcx
movq 0x68(%rax), %rdx
movq 0x70(%rax), %rsi
movq 0x78(%rax), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
vmovq %rcx, %xmm9
vmovq %r8, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x22a3(%rip), %xmm11, %xmm11 # 0xb040
vprolvq 0x22a9(%rip), %xmm11, %xmm11 # 0xb050
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x22a0(%rip), %xmm9, %xmm9 # 0xb060
vprolvq 0x22a6(%rip), %xmm9, %xmm9 # 0xb070
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, 0x60(%rbp)
vpaddq 0x230d(%rip), %ymm9, %ymm9 # 0xb100
vmovdqu %ymm9, 0x60(%rax)
movl $0x78, %edx
movq 0x20(%rsp), %r11
movq -0x18(%rax,%rdx), %rcx
movq -0x10(%rax,%rdx), %rsi
movq -0x8(%rax,%rdx), %rdi
movq (%rax,%rdx), %r8
leaq (%r8,%rdi), %r9
leaq (%rsi,%rcx), %r10
vmovq %rcx, %xmm9
vmovq %r10, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rdi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq %xmm1, %xmm11, %xmm11
vprolvq %xmm2, %xmm11, %xmm11
vpinsrq $0x1, %rsi, %xmm9, %xmm9
vpinsrq $0x0, %r8, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq %xmm3, %xmm9, %xmm9
vprolvq %xmm4, %xmm9, %xmm9
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm10 # ymm10 = mem[1,2,3,0]
vpaddq %ymm9, %ymm10, %ymm9
vmovdqu %ymm9, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0x8e02
vmovdqu (%rax), %ymm9
vmovdqu 0x20(%rax), %ymm10
vmovdqu 0x40(%rax), %ymm11
vmovdqu 0x60(%rax), %ymm12
vmovdqu %ymm12, 0xb0(%rsp)
vmovdqu %ymm11, 0x90(%rsp)
vmovdqu %ymm10, 0x70(%rsp)
vmovdqu %ymm9, 0x50(%rsp)
movb $0x1, %sil
leaq 0xe0(%rsp), %rdx
xorl %edi, %edi
vmovdqu (%rax,%rdi,8), %ymm9
vpaddq (%rdx), %ymm9, %ymm9
vmovdqu %ymm9, (%rdx)
addq $0x20, %rdx
movl $0x8, %edi
testb $0x1, %sil
movl $0x0, %esi
jne 0x8ee6
movq 0x38(%rsp), %rdi
leaq -0x2040(%rdi), %rcx
cmpq $0x40, %rcx
movq %rcx, 0x30(%rsp)
jae 0x8f2f
xorl %edx, %edx
movabsq $-0xf171b1d1e272b2e, %r11 # imm = 0xF0E8E4E2E1D8D4D2
jmp 0x9b88
shrq $0x6, %rcx
movq %rcx, 0x28(%rsp)
leaq 0x40(%r11), %rcx
movq %rcx, 0x40(%rsp)
xorl %r14d, %r14d
vmovdqa 0x2154(%rip), %ymm9     # 0xb0a0
vmovdqa 0x216c(%rip), %ymm10    # 0xb0c0
vmovdqa 0x2184(%rip), %ymm11    # 0xb0e0
vmovdqa 0x219c(%rip), %ymm12    # 0xb100
xorl %ecx, %ecx
movabsq $-0xf171b1d1e272b2e, %r11 # imm = 0xF0E8E4E2E1D8D4D2
movq %rcx, 0x10(%rsp)
vmovups 0x50(%rsp), %ymm13
vmovups 0x70(%rsp), %ymm14
vmovups 0x90(%rsp), %ymm15
vmovups 0xb0(%rsp), %ymm16
vmovups %ymm13, (%rax)
vmovups %ymm16, 0x60(%rax)
vmovups %ymm15, 0x40(%rax)
vmovups %ymm14, 0x20(%rax)
movq 0x8(%rsp), %r9
incq %r9
movq 0x8(%rax), %rcx
movq 0x10(%rax), %rdx
movq 0x18(%rax), %rsi
leaq (%rsi,%rdx), %rdi
movq (%rax), %r8
movq %r9, 0x8(%rsp)
xorq %r9, %r8
leaq (%rcx,%r8), %r9
vmovq %r8, %xmm13
vmovq %r9, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %rdi, %xmm14
vmovq %rdx, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm1, %xmm15, %xmm15
vpinsrq $0x1, %rcx, %xmm13, %xmm13
vpinsrq $0x0, %rsi, %xmm14, %xmm14
vprolvq %xmm2, %xmm15, %xmm15
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm3, %xmm13, %xmm13
vprolvq %xmm4, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpaddq %ymm9, %ymm13, %ymm13
vmovdqu %ymm13, (%rax)
xorl %r15d, %r15d
movq (%rax,%r15), %rcx
movq 0x8(%rax,%r15), %rdx
movq 0x10(%rax,%r15), %rsi
movq 0x18(%rax,%r15), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
addq %r11, %rsi
addq %r8, %rsi
rorxq $0x39, %rsi, %r10
movabsq $-0x2e333536393a3c48, %rsi # imm = 0xD1CCCAC9C6C5C3B8
addq %rsi, %rdi
addq %r8, %rdi
rorxq $0x2d, %rdi, %r13
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %rsi, %rcx
addq %r9, %rcx
rorxq $0x21, %rcx, %rcx
addq %rbx, %rdx
addq %r9, %rdx
rorxq $0xb, %rdx, %r12
movq %r10, %rdi
xorq %r13, %rdi
movq %rcx, %rsi
xorq %r12, %rsi
xorq %rdi, %r12
xorq %rcx, %rdi
xorq %rsi, %r13
xorq %r10, %rsi
movq 0x20(%rax,%r15), %rcx
movq 0x28(%rax,%r15), %r8
movq 0x30(%rax,%r15), %r9
movq 0x38(%rax,%r15), %r10
leaq (%r10,%r9), %r11
leaq (%r8,%rcx), %rbx
movq %rax, %rdx
movq %rbp, %rax
movabsq $-0x727478878b8d8e94, %rbp # imm = 0x8D8B87787472716C
addq %rbp, %rcx
movq %rax, %rbp
movq %rdx, %rax
addq %r11, %rcx
rorxq $0x35, %rcx, %rcx
movabsq $0x6a696665635c5a59, %rdx # imm = 0x6A696665635C5A59
addq %rdx, %r8
addq %r11, %r8
rorxq $0x29, %r8, %r8
movabsq $0x5655534e4d4b473c, %rdx # imm = 0x5655534E4D4B473C
addq %rdx, %r9
addq %rbx, %r9
rorxq $0x1b, %r9, %r9
movabsq $0x3a393635332e2d2b, %rdx # imm = 0x3A393635332E2D2B
addq %rdx, %r10
addq %rbx, %r10
rorxq $0x5, %r10, %r10
movq %r9, %r11
xorq %r10, %r11
movq %rcx, %rbx
xorq %r8, %rbx
xorq %r11, %r8
xorq %rcx, %r11
xorq %rbx, %r10
xorq %r9, %rbx
movq %r12, (%rbp,%r15)
movq %rdi, 0x8(%rbp,%r15)
addq %rdi, %r11
movq %r11, 0x20(%rax,%r15)
movabsq $-0xf171b1d1e272b2e, %r11 # imm = 0xF0E8E4E2E1D8D4D2
movq %r13, 0x10(%rbp,%r15)
addq %r13, %r10
movq %r10, 0x28(%rax,%r15)
movq %rsi, 0x18(%rbp,%r15)
addq %rsi, %rbx
movq %rbx, 0x30(%rax,%r15)
movabsq $-0x5c636566696a6c72, %rbx # imm = 0xA39C9A999695938E
addq %r12, %r8
movq %r8, 0x38(%rax,%r15)
addq $0x20, %r15
cmpq $0x60, %r15
jne 0x903b
movq 0x60(%rax), %rcx
movq 0x68(%rax), %rdx
movq 0x70(%rax), %rsi
movq 0x78(%rax), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
vmovq %rcx, %xmm13
vmovq %r8, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r9, %xmm14
vmovq %rsi, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm5, %xmm15, %xmm15
vprolvq %xmm6, %xmm15, %xmm15
vpinsrq $0x1, %rdx, %xmm13, %xmm13
vpinsrq $0x0, %rdi, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm7, %xmm13, %xmm13
vprolvq %xmm8, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
vmovdqu %ymm14, 0x60(%rbp)
vpaddq %ymm10, %ymm13, %ymm13
vmovdqu %ymm13, 0x60(%rax)
movl $0x78, %edx
movq -0x18(%rax,%rdx), %rcx
movq -0x10(%rax,%rdx), %rsi
movq -0x8(%rax,%rdx), %rdi
movq (%rax,%rdx), %r8
leaq (%r8,%rdi), %r9
leaq (%rsi,%rcx), %r10
vmovq %rcx, %xmm13
vmovq %r10, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r9, %xmm14
vmovq %rdi, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm1, %xmm15, %xmm15
vprolvq %xmm2, %xmm15, %xmm15
vpinsrq $0x1, %rsi, %xmm13, %xmm13
vpinsrq $0x0, %r8, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm3, %xmm13, %xmm13
vprolvq %xmm4, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
vmovdqu %ymm14, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm14 # ymm14 = mem[1,2,3,0]
vpaddq %ymm13, %ymm14, %ymm13
vmovdqu %ymm13, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0x9230
movq (%rax), %rcx
movq 0x8(%rax), %rdx
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rdi
leaq (%rdi,%rsi), %r8
leaq (%rdx,%rcx), %r9
vmovq %rcx, %xmm13
vmovq %r9, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r8, %xmm14
vmovq %rsi, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm1, %xmm15, %xmm15
vprolvq %xmm2, %xmm15, %xmm15
vpinsrq $0x1, %rdx, %xmm13, %xmm13
vpinsrq $0x0, %rdi, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm3, %xmm13, %xmm13
vprolvq %xmm4, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
vmovdqu %ymm14, (%rbp)
vpaddq %ymm11, %ymm13, %ymm13
vmovdqu %ymm13, (%rax)
movl $0x20, %edx
movq -0x20(%rax,%rdx), %rcx
movq -0x18(%rax,%rdx), %rsi
movq -0x10(%rax,%rdx), %rdi
movq -0x8(%rax,%rdx), %r8
leaq (%rsi,%rcx), %r9
leaq (%r8,%rdi), %r10
vmovq %rcx, %xmm13
vmovq %r9, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r10, %xmm14
vmovq %rdi, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm5, %xmm15, %xmm15
vprolvq %xmm6, %xmm15, %xmm15
vpinsrq $0x1, %rsi, %xmm13, %xmm13
vpinsrq $0x0, %r8, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm7, %xmm13, %xmm13
vprolvq %xmm8, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
vmovdqu %ymm14, -0x20(%rbp,%rdx)
vpermq $0x39, (%rbp,%rdx), %ymm14 # ymm14 = mem[1,2,3,0]
vpaddq %ymm13, %ymm14, %ymm13
vmovdqu %ymm13, (%rax,%rdx)
addq $0x20, %rdx
cmpq $0x80, %rdx
jne 0x9364
movq 0x60(%rax), %rcx
movq 0x68(%rax), %rdx
movq 0x70(%rax), %rsi
movq 0x78(%rax), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
vmovq %rcx, %xmm13
vmovq %r8, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r9, %xmm14
vmovq %rsi, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm5, %xmm15, %xmm15
vprolvq %xmm6, %xmm15, %xmm15
vpinsrq $0x1, %rdx, %xmm13, %xmm13
vpinsrq $0x0, %rdi, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm7, %xmm13, %xmm13
vprolvq %xmm8, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
vmovdqu %ymm14, 0x60(%rbp)
vpaddq %ymm12, %ymm13, %ymm13
vmovdqu %ymm13, 0x60(%rax)
movl $0x78, %edx
movq -0x18(%rax,%rdx), %rcx
movq -0x10(%rax,%rdx), %rsi
movq -0x8(%rax,%rdx), %rdi
movq (%rax,%rdx), %r8
leaq (%r8,%rdi), %r9
leaq (%rsi,%rcx), %r10
vmovq %rcx, %xmm13
vmovq %r10, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r9, %xmm14
vmovq %rdi, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm1, %xmm15, %xmm15
vprolvq %xmm2, %xmm15, %xmm15
vpinsrq $0x1, %rsi, %xmm13, %xmm13
vpinsrq $0x0, %r8, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm3, %xmm13, %xmm13
vprolvq %xmm4, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
vmovdqu %ymm14, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm14 # ymm14 = mem[1,2,3,0]
vpaddq %ymm13, %ymm14, %ymm13
vmovdqu %ymm13, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0x949d
movb $0x1, %dl
xorl %esi, %esi
movq 0x48(%rsp), %r9
movq 0x40(%rsp), %r10
movq %r14, %r15
shlq $0x3, %rsi
addq %rax, %rsi
leaq (%r9,%r14,8), %rdi
leaq (%r10,%r14,8), %r8
xorl %r12d, %r12d
movq (%r8,%r12), %rcx
xorq (%rsi,%r12), %rcx
movq %rcx, (%rdi,%r12)
movq (%r8,%r12), %rcx
movq %rcx, (%rsi,%r12)
incq %r14
addq $0x8, %r12
cmpq $0x20, %r12
jne 0x9566
movl $0x8, %esi
testb $0x1, %dl
movl $0x0, %edx
jne 0x9551
movq %r15, 0x18(%rsp)
movq (%rax), %rcx
movq 0x8(%rax), %rdx
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rdi
leaq (%rdi,%rsi), %r8
leaq (%rdx,%rcx), %r9
vmovq %rcx, %xmm13
vmovq %r9, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r8, %xmm14
vmovq %rsi, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm1, %xmm15, %xmm15
vpinsrq $0x1, %rdx, %xmm13, %xmm13
vpinsrq $0x0, %rdi, %xmm14, %xmm14
vprolvq %xmm2, %xmm15, %xmm15
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm3, %xmm13, %xmm13
vprolvq %xmm4, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpaddq %ymm9, %ymm13, %ymm13
vmovdqu %ymm13, (%rax)
xorl %r13d, %r13d
movq (%rax,%r13), %rcx
movq 0x8(%rax,%r13), %rsi
movq 0x10(%rax,%r13), %rdx
movq 0x18(%rax,%r13), %rdi
leaq (%rsi,%rcx), %r8
leaq (%rdi,%rdx), %r9
movabsq $-0xf171b1d1e272b2e, %r10 # imm = 0xF0E8E4E2E1D8D4D2
addq %r10, %rdx
addq %r8, %rdx
rorxq $0x39, %rdx, %r10
movabsq $-0x2e333536393a3c48, %rdx # imm = 0xD1CCCAC9C6C5C3B8
addq %rdx, %rdi
addq %r8, %rdi
rorxq $0x2d, %rdi, %rdx
movabsq $-0x4b4d4e535556595b, %rdi # imm = 0xB4B2B1ACAAA9A6A5
addq %rdi, %rcx
addq %r9, %rcx
rorxq $0x21, %rcx, %rcx
addq %rbx, %rsi
addq %r9, %rsi
rorxq $0xb, %rsi, %rsi
movq %r10, %r8
xorq %rdx, %r8
movq %rcx, %rdi
xorq %rsi, %rdi
xorq %r8, %rsi
xorq %rcx, %r8
xorq %rdi, %rdx
xorq %r10, %rdi
movq 0x20(%rax,%r13), %rcx
movq 0x28(%rax,%r13), %r9
movq 0x30(%rax,%r13), %r10
movq 0x38(%rax,%r13), %r11
leaq (%r11,%r10), %rbx
leaq (%r9,%rcx), %rbp
movabsq $-0x727478878b8d8e94, %r15 # imm = 0x8D8B87787472716C
addq %r15, %rcx
addq %rbx, %rcx
rorxq $0x35, %rcx, %rcx
movabsq $0x6a696665635c5a59, %r15 # imm = 0x6A696665635C5A59
addq %r15, %r9
addq %rbx, %r9
rorxq $0x29, %r9, %r9
movabsq $0x5655534e4d4b473c, %rbx # imm = 0x5655534E4D4B473C
addq %rbx, %r10
addq %rbp, %r10
rorxq $0x1b, %r10, %r10
movabsq $0x3a393635332e2d2b, %rbx # imm = 0x3A393635332E2D2B
addq %rbx, %r11
addq %rbp, %r11
rorxq $0x5, %r11, %r11
movq %r10, %rbx
xorq %r11, %rbx
movq %rcx, %rbp
xorq %r9, %rbp
xorq %rbx, %r9
xorq %rcx, %rbx
xorq %rbp, %r11
xorq %r10, %rbp
movq 0x38c0(%rip), %rcx      # 0xcff0
movq %rsi, (%rcx,%r13)
movq %r8, 0x8(%rcx,%r13)
addq %r8, %rbx
movq %rbx, 0x20(%rax,%r13)
movabsq $-0x5c636566696a6c72, %rbx # imm = 0xA39C9A999695938E
movq %rdx, 0x10(%rcx,%r13)
addq %rdx, %r11
movq %r11, 0x28(%rax,%r13)
movq %rdi, 0x18(%rcx,%r13)
addq %rdi, %rbp
movq %rbp, 0x30(%rax,%r13)
addq %rsi, %r9
movq %r9, 0x38(%rax,%r13)
addq $0x20, %r13
cmpq $0x60, %r13
jne 0x961c
movq 0x60(%rax), %rcx
movq 0x68(%rax), %rdx
movq 0x70(%rax), %rsi
movq 0x78(%rax), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
vmovq %rcx, %xmm13
vmovq %r8, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r9, %xmm14
vmovq %rsi, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm5, %xmm15, %xmm15
vprolvq %xmm6, %xmm15, %xmm15
vpinsrq $0x1, %rdx, %xmm13, %xmm13
vpinsrq $0x0, %rdi, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm7, %xmm13, %xmm13
vprolvq %xmm8, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
movq 0x37f2(%rip), %rbp      # 0xcff0
vmovdqu %ymm14, 0x60(%rbp)
vpaddq %ymm10, %ymm13, %ymm13
vmovdqu %ymm13, 0x60(%rax)
movl $0x78, %edx
movq -0x18(%rax,%rdx), %rcx
movq -0x10(%rax,%rdx), %rsi
movq -0x8(%rax,%rdx), %rdi
movq (%rax,%rdx), %r8
leaq (%r8,%rdi), %r9
leaq (%rsi,%rcx), %r10
vmovq %rcx, %xmm13
vmovq %r10, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r9, %xmm14
vmovq %rdi, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm1, %xmm15, %xmm15
vprolvq %xmm2, %xmm15, %xmm15
vpinsrq $0x1, %rsi, %xmm13, %xmm13
vpinsrq $0x0, %r8, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm3, %xmm13, %xmm13
vprolvq %xmm4, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
vmovdqu %ymm14, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm14 # ymm14 = mem[1,2,3,0]
vpaddq %ymm13, %ymm14, %ymm13
vmovdqu %ymm13, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0x9812
movq (%rax), %rcx
movq 0x8(%rax), %rdx
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rdi
leaq (%rdi,%rsi), %r8
leaq (%rdx,%rcx), %r9
vmovq %rcx, %xmm13
vmovq %r9, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r8, %xmm14
vmovq %rsi, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm1, %xmm15, %xmm15
vprolvq %xmm2, %xmm15, %xmm15
vpinsrq $0x1, %rdx, %xmm13, %xmm13
vpinsrq $0x0, %rdi, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm3, %xmm13, %xmm13
vprolvq %xmm4, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
vmovdqu %ymm14, (%rbp)
vpaddq %ymm11, %ymm13, %ymm13
vmovdqu %ymm13, (%rax)
movl $0x20, %edx
movabsq $-0xf171b1d1e272b2e, %r11 # imm = 0xF0E8E4E2E1D8D4D2
movq 0x18(%rsp), %r15
movq -0x20(%rax,%rdx), %rcx
movq -0x18(%rax,%rdx), %rsi
movq -0x10(%rax,%rdx), %rdi
movq -0x8(%rax,%rdx), %r8
leaq (%rsi,%rcx), %r9
leaq (%r8,%rdi), %r10
vmovq %rcx, %xmm13
vmovq %r9, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r10, %xmm14
vmovq %rdi, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm5, %xmm15, %xmm15
vprolvq %xmm6, %xmm15, %xmm15
vpinsrq $0x1, %rsi, %xmm13, %xmm13
vpinsrq $0x0, %r8, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm7, %xmm13, %xmm13
vprolvq %xmm8, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
vmovdqu %ymm14, -0x20(%rbp,%rdx)
vpermq $0x39, (%rbp,%rdx), %ymm14 # ymm14 = mem[1,2,3,0]
vpaddq %ymm13, %ymm14, %ymm13
vmovdqu %ymm13, (%rax,%rdx)
addq $0x20, %rdx
cmpq $0x80, %rdx
jne 0x9955
movq 0x60(%rax), %rcx
movq 0x68(%rax), %rdx
movq 0x70(%rax), %rsi
movq 0x78(%rax), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
vmovq %rcx, %xmm13
vmovq %r8, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r9, %xmm14
vmovq %rsi, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm5, %xmm15, %xmm15
vprolvq %xmm6, %xmm15, %xmm15
vpinsrq $0x1, %rdx, %xmm13, %xmm13
vpinsrq $0x0, %rdi, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm7, %xmm13, %xmm13
vprolvq %xmm8, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
vmovdqu %ymm14, 0x60(%rbp)
vpaddq %ymm12, %ymm13, %ymm13
vmovdqu %ymm13, 0x60(%rax)
movl $0x78, %edx
movq -0x18(%rax,%rdx), %rcx
movq -0x10(%rax,%rdx), %rsi
movq -0x8(%rax,%rdx), %rdi
movq (%rax,%rdx), %r8
leaq (%r8,%rdi), %r9
leaq (%rsi,%rcx), %r10
vmovq %rcx, %xmm13
vmovq %r10, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vmovq %r9, %xmm14
vmovq %rdi, %xmm15
vpunpcklqdq %xmm14, %xmm15, %xmm14 # xmm14 = xmm15[0],xmm14[0]
vpaddq %xmm14, %xmm13, %xmm15
vpaddq %xmm1, %xmm15, %xmm15
vprolvq %xmm2, %xmm15, %xmm15
vpinsrq $0x1, %rsi, %xmm13, %xmm13
vpinsrq $0x0, %r8, %xmm14, %xmm14
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm3, %xmm13, %xmm13
vprolvq %xmm4, %xmm13, %xmm13
vpxor %xmm13, %xmm15, %xmm14
vpermq $0x14, %ymm14, %ymm14   # ymm14 = ymm14[0,1,1,0]
vpermt2q %ymm13, %ymm0, %ymm15
vpxor %ymm15, %ymm14, %ymm13
vpermq $0x93, %ymm13, %ymm14   # ymm14 = ymm13[3,0,1,2]
vmovdqu %ymm14, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm14 # ymm14 = mem[1,2,3,0]
vpaddq %ymm13, %ymm14, %ymm13
vmovdqu %ymm13, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0x9a8e
movb $0x1, %sil
leaq 0xe0(%rsp), %rdx
xorl %edi, %edi
vmovdqu (%rax,%rdi,8), %ymm13
vpaddq (%rdx), %ymm13, %ymm13
vmovdqu %ymm13, (%rdx)
addq $0x20, %rdx
movl $0x8, %edi
testb $0x1, %sil
movl $0x0, %esi
jne 0x9b41
movq 0x10(%rsp), %rcx
incq %rcx
cmpq 0x28(%rsp), %rcx
jne 0x8f70
leaq (%r12,%r15,8), %rdx
movq 0x38(%rsp), %rdi
movabsq $-0x4b4d4e535556595b, %r13 # imm = 0xB4B2B1ACAAA9A6A5
movq %rdi, %rcx
andq $0x3f, %rcx
je 0xa7d4
movq %rdx, 0x18(%rsp)
movq %rcx, 0x10(%rsp)
vmovups 0x50(%rsp), %ymm9
vmovups 0x70(%rsp), %ymm10
vmovups 0x90(%rsp), %ymm11
vmovdqu 0xb0(%rsp), %ymm12
vmovups %ymm9, (%rax)
vmovdqu %ymm12, 0x60(%rax)
vmovups %ymm11, 0x40(%rax)
vmovups %ymm10, 0x20(%rax)
movq 0x8(%rsp), %r9
incq %r9
movq 0x8(%rax), %rcx
movq 0x10(%rax), %rdx
movq 0x18(%rax), %rsi
leaq (%rsi,%rdx), %rdi
xorq (%rax), %r9
leaq (%rcx,%r9), %r8
vmovq %r9, %xmm9
vmovq %r8, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %rdi, %xmm10
vmovq %rdx, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x13e6(%rip), %xmm11, %xmm11 # 0xb000
vprolvq 0x13ec(%rip), %xmm11, %xmm11 # 0xb010
vpinsrq $0x1, %rcx, %xmm9, %xmm9
vpinsrq $0x0, %rsi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x13e3(%rip), %xmm9, %xmm9 # 0xb020
vprolvq 0x13e9(%rip), %xmm9, %xmm9 # 0xb030
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpaddq 0x143b(%rip), %ymm9, %ymm9 # 0xb0a0
vmovdqu %ymm9, (%rax)
xorl %r12d, %r12d
movabsq $0x3a393635332e2d2b, %r15 # imm = 0x3A393635332E2D2B
movq (%rax,%r12), %rcx
movq 0x8(%rax,%r12), %rsi
movq 0x10(%rax,%r12), %rdx
movq 0x18(%rax,%r12), %rdi
leaq (%rsi,%rcx), %r8
leaq (%rdi,%rdx), %r9
addq %r11, %rdx
addq %r8, %rdx
rorxq $0x39, %rdx, %r10
movabsq $-0x2e333536393a3c48, %rdx # imm = 0xD1CCCAC9C6C5C3B8
addq %rdx, %rdi
addq %r8, %rdi
rorxq $0x2d, %rdi, %rdx
addq %r13, %rcx
addq %r9, %rcx
rorxq $0x21, %rcx, %rcx
addq %rbx, %rsi
addq %r9, %rsi
rorxq $0xb, %rsi, %rsi
movq %r10, %r8
xorq %rdx, %r8
movq %rcx, %rdi
xorq %rsi, %rdi
xorq %r8, %rsi
xorq %rcx, %r8
xorq %rdi, %rdx
xorq %r10, %rdi
movq 0x20(%rax,%r12), %rcx
movq 0x28(%rax,%r12), %r9
movq 0x30(%rax,%r12), %r10
movq 0x38(%rax,%r12), %r11
leaq (%r11,%r10), %rbx
leaq (%r9,%rcx), %r13
movabsq $-0x727478878b8d8e94, %r14 # imm = 0x8D8B87787472716C
addq %r14, %rcx
addq %rbx, %rcx
rorxq $0x35, %rcx, %rcx
movabsq $0x6a696665635c5a59, %r14 # imm = 0x6A696665635C5A59
addq %r14, %r9
addq %rbx, %r9
rorxq $0x29, %r9, %r9
movabsq $0x5655534e4d4b473c, %rbx # imm = 0x5655534E4D4B473C
addq %rbx, %r10
addq %r13, %r10
rorxq $0x1b, %r10, %r10
addq %r15, %r11
addq %r13, %r11
rorxq $0x5, %r11, %r11
movq %r10, %rbx
xorq %r11, %rbx
movq %rcx, %r13
xorq %r9, %r13
xorq %rbx, %r9
xorq %rcx, %rbx
xorq %r13, %r11
xorq %r10, %r13
movq %rsi, (%rbp,%r12)
movq %r8, 0x8(%rbp,%r12)
addq %r8, %rbx
movq %rbx, 0x20(%rax,%r12)
movabsq $-0x5c636566696a6c72, %rbx # imm = 0xA39C9A999695938E
movq %rdx, 0x10(%rbp,%r12)
addq %rdx, %r11
movq %r11, 0x28(%rax,%r12)
movq %rdi, 0x18(%rbp,%r12)
addq %rdi, %r13
movq %r13, 0x30(%rax,%r12)
movabsq $-0xf171b1d1e272b2e, %r11 # imm = 0xF0E8E4E2E1D8D4D2
movabsq $-0x4b4d4e535556595b, %r13 # imm = 0xB4B2B1ACAAA9A6A5
addq %rsi, %r9
movq %r9, 0x38(%rax,%r12)
addq $0x20, %r12
cmpq $0x60, %r12
jne 0x9c76
movq 0x60(%rax), %rcx
movq 0x68(%rax), %rdx
movq 0x70(%rax), %rsi
movq 0x78(%rax), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
vmovq %rcx, %xmm9
vmovq %r8, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x1238(%rip), %xmm11, %xmm11 # 0xb040
vprolvq 0x123e(%rip), %xmm11, %xmm11 # 0xb050
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x1235(%rip), %xmm9, %xmm9 # 0xb060
vprolvq 0x123b(%rip), %xmm9, %xmm9 # 0xb070
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, 0x60(%rbp)
vpaddq 0x1262(%rip), %ymm9, %ymm9 # 0xb0c0
vmovdqu %ymm9, 0x60(%rax)
movl $0x78, %edx
movq -0x18(%rax,%rdx), %rcx
movq -0x10(%rax,%rdx), %rsi
movq -0x8(%rax,%rdx), %rdi
movq (%rax,%rdx), %r8
leaq (%r8,%rdi), %r9
leaq (%rsi,%rcx), %r10
vmovq %rcx, %xmm9
vmovq %r10, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rdi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq %xmm1, %xmm11, %xmm11
vprolvq %xmm2, %xmm11, %xmm11
vpinsrq $0x1, %rsi, %xmm9, %xmm9
vpinsrq $0x0, %r8, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq %xmm3, %xmm9, %xmm9
vprolvq %xmm4, %xmm9, %xmm9
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm10 # ymm10 = mem[1,2,3,0]
vpaddq %ymm9, %ymm10, %ymm9
vmovdqu %ymm9, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0x9e68
movq (%rax), %rcx
movq 0x8(%rax), %rdx
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rdi
leaq (%rdi,%rsi), %r8
leaq (%rdx,%rcx), %r9
vmovq %rcx, %xmm9
vmovq %r9, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r8, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0x10b0(%rip), %xmm11, %xmm11 # 0xb000
vprolvq 0x10b6(%rip), %xmm11, %xmm11 # 0xb010
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0x10ad(%rip), %xmm9, %xmm9 # 0xb020
vprolvq 0x10b3(%rip), %xmm9, %xmm9 # 0xb030
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, (%rbp)
vpaddq 0x113a(%rip), %ymm9, %ymm9 # 0xb0e0
vmovdqu %ymm9, (%rax)
movl $0x20, %edx
movq -0x20(%rax,%rdx), %rcx
movq -0x18(%rax,%rdx), %rsi
movq -0x10(%rax,%rdx), %rdi
movq -0x8(%rax,%rdx), %r8
leaq (%rsi,%rcx), %r9
leaq (%r8,%rdi), %r10
vmovq %rcx, %xmm9
vmovq %r9, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r10, %xmm10
vmovq %rdi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq %xmm5, %xmm11, %xmm11
vprolvq %xmm6, %xmm11, %xmm11
vpinsrq $0x1, %rsi, %xmm9, %xmm9
vpinsrq $0x0, %r8, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq %xmm7, %xmm9, %xmm9
vprolvq %xmm8, %xmm9, %xmm9
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, -0x20(%rbp,%rdx)
vpermq $0x39, (%rbp,%rdx), %ymm10 # ymm10 = mem[1,2,3,0]
vpaddq %ymm9, %ymm10, %ymm9
vmovdqu %ymm9, (%rax,%rdx)
addq $0x20, %rdx
cmpq $0x80, %rdx
jne 0x9faf
movq 0x60(%rax), %rcx
movq 0x68(%rax), %rdx
movq 0x70(%rax), %rsi
movq 0x78(%rax), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
vmovq %rcx, %xmm9
vmovq %r8, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0xfa5(%rip), %xmm11, %xmm11 # 0xb040
vprolvq 0xfab(%rip), %xmm11, %xmm11 # 0xb050
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0xfa2(%rip), %xmm9, %xmm9 # 0xb060
vprolvq 0xfa8(%rip), %xmm9, %xmm9 # 0xb070
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, 0x60(%rbp)
vpaddq 0x100f(%rip), %ymm9, %ymm9 # 0xb100
vmovdqu %ymm9, 0x60(%rax)
movl $0x78, %edx
movq -0x18(%rax,%rdx), %rcx
movq -0x10(%rax,%rdx), %rsi
movq -0x8(%rax,%rdx), %rdi
movq (%rax,%rdx), %r8
leaq (%r8,%rdi), %r9
leaq (%rsi,%rcx), %r10
vmovq %rcx, %xmm9
vmovq %r10, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rdi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq %xmm1, %xmm11, %xmm11
vprolvq %xmm2, %xmm11, %xmm11
vpinsrq $0x1, %rsi, %xmm9, %xmm9
vpinsrq $0x0, %r8, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq %xmm3, %xmm9, %xmm9
vprolvq %xmm4, %xmm9, %xmm9
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm10 # ymm10 = mem[1,2,3,0]
vpaddq %ymm9, %ymm10, %ymm9
vmovdqu %ymm9, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0xa0fb
movq 0x20(%rsp), %rcx
movq 0x18(%rsp), %rsi
leaq (%rcx,%rsi), %rdx
addq $0x40, %rdx
movq 0x48(%rsp), %r9
addq %rsi, %r9
xorl %esi, %esi
xorl %edi, %edi
movq 0x10(%rsp), %r10
movb (%rdx,%rdi), %cl
xorb (%rax,%rsi), %cl
movb %cl, (%r9,%rdi)
movb (%rdx,%rdi), %cl
leaq 0x1(%rsi), %r8
movb %cl, (%rax,%rsi)
addq $0x21, %rsi
testb $0x1f, %r8b
cmovneq %r8, %rsi
incq %rdi
cmpq %rdi, %r10
jne 0xa1c4
xorb $0x1, (%rax,%r10)
movq (%rax), %rcx
movq 0x8(%rax), %rdx
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rdi
leaq (%rdi,%rsi), %r8
leaq (%rdx,%rcx), %r9
vmovq %rcx, %xmm9
vmovq %r9, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r8, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0xdcd(%rip), %xmm11, %xmm11 # 0xb000
vprolvq 0xdd3(%rip), %xmm11, %xmm11 # 0xb010
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0xdca(%rip), %xmm9, %xmm9 # 0xb020
vprolvq 0xdd0(%rip), %xmm9, %xmm9 # 0xb030
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpaddq 0xe22(%rip), %ymm9, %ymm9 # 0xb0a0
vmovdqu %ymm9, (%rax)
xorl %r14d, %r14d
movq (%rax,%r14), %rcx
movq 0x8(%rax,%r14), %rsi
movq 0x10(%rax,%r14), %rdx
movq 0x18(%rax,%r14), %rdi
leaq (%rsi,%rcx), %r8
leaq (%rdi,%rdx), %r9
addq %r11, %rdx
addq %r8, %rdx
rorxq $0x39, %rdx, %r10
movabsq $-0x2e333536393a3c48, %rdx # imm = 0xD1CCCAC9C6C5C3B8
addq %rdx, %rdi
addq %r8, %rdi
rorxq $0x2d, %rdi, %rdx
addq %r13, %rcx
addq %r9, %rcx
rorxq $0x21, %rcx, %rcx
addq %rbx, %rsi
addq %r9, %rsi
rorxq $0xb, %rsi, %rsi
movq %r10, %r8
xorq %rdx, %r8
movq %rcx, %rdi
xorq %rsi, %rdi
xorq %r8, %rsi
xorq %rcx, %r8
xorq %rdi, %rdx
xorq %r10, %rdi
movq 0x20(%rax,%r14), %rcx
movq 0x28(%rax,%r14), %r9
movq 0x30(%rax,%r14), %r10
movq 0x38(%rax,%r14), %r11
leaq (%r11,%r10), %rbx
leaq (%r9,%rcx), %r15
movabsq $-0x727478878b8d8e94, %r12 # imm = 0x8D8B87787472716C
addq %r12, %rcx
addq %rbx, %rcx
rorxq $0x35, %rcx, %rcx
movabsq $0x6a696665635c5a59, %r12 # imm = 0x6A696665635C5A59
addq %r12, %r9
addq %rbx, %r9
rorxq $0x29, %r9, %r9
movabsq $0x5655534e4d4b473c, %rbx # imm = 0x5655534E4D4B473C
addq %rbx, %r10
addq %r15, %r10
rorxq $0x1b, %r10, %r10
movabsq $0x3a393635332e2d2b, %rbx # imm = 0x3A393635332E2D2B
addq %rbx, %r11
addq %r15, %r11
rorxq $0x5, %r11, %r11
movq %r10, %rbx
xorq %r11, %rbx
movq %rcx, %r15
xorq %r9, %r15
xorq %rbx, %r9
xorq %rcx, %rbx
xorq %r15, %r11
xorq %r10, %r15
movq %rsi, (%rbp,%r14)
movq %r8, 0x8(%rbp,%r14)
addq %r8, %rbx
movq %rbx, 0x20(%rax,%r14)
movabsq $-0x5c636566696a6c72, %rbx # imm = 0xA39C9A999695938E
movq %rdx, 0x10(%rbp,%r14)
addq %rdx, %r11
movq %r11, 0x28(%rax,%r14)
movabsq $-0xf171b1d1e272b2e, %r11 # imm = 0xF0E8E4E2E1D8D4D2
movq %rdi, 0x18(%rbp,%r14)
addq %rdi, %r15
movq %r15, 0x30(%rax,%r14)
addq %rsi, %r9
movq %r9, 0x38(%rax,%r14)
addq $0x20, %r14
cmpq $0x60, %r14
jne 0xa285
movq 0x60(%rax), %rcx
movq 0x68(%rax), %rdx
movq 0x70(%rax), %rsi
movq 0x78(%rax), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
vmovq %rcx, %xmm9
vmovq %r8, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0xc29(%rip), %xmm11, %xmm11 # 0xb040
vprolvq 0xc2f(%rip), %xmm11, %xmm11 # 0xb050
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0xc26(%rip), %xmm9, %xmm9 # 0xb060
vprolvq 0xc2c(%rip), %xmm9, %xmm9 # 0xb070
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, 0x60(%rbp)
vpaddq 0xc53(%rip), %ymm9, %ymm9 # 0xb0c0
vmovdqu %ymm9, 0x60(%rax)
movl $0x78, %edx
movq -0x18(%rax,%rdx), %rcx
movq -0x10(%rax,%rdx), %rsi
movq -0x8(%rax,%rdx), %rdi
movq (%rax,%rdx), %r8
leaq (%r8,%rdi), %r9
leaq (%rsi,%rcx), %r10
vmovq %rcx, %xmm9
vmovq %r10, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r9, %xmm10
vmovq %rdi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq %xmm1, %xmm11, %xmm11
vprolvq %xmm2, %xmm11, %xmm11
vpinsrq $0x1, %rsi, %xmm9, %xmm9
vpinsrq $0x0, %r8, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq %xmm3, %xmm9, %xmm9
vprolvq %xmm4, %xmm9, %xmm9
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm10 # ymm10 = mem[1,2,3,0]
vpaddq %ymm9, %ymm10, %ymm9
vmovdqu %ymm9, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0xa477
movq (%rax), %rcx
movq 0x8(%rax), %rdx
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rdi
leaq (%rdi,%rsi), %r8
leaq (%rdx,%rcx), %r9
vmovq %rcx, %xmm9
vmovq %r9, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r8, %xmm10
vmovq %rsi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq 0xaa1(%rip), %xmm11, %xmm11 # 0xb000
vprolvq 0xaa7(%rip), %xmm11, %xmm11 # 0xb010
vpinsrq $0x1, %rdx, %xmm9, %xmm9
vpinsrq $0x0, %rdi, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq 0xa9e(%rip), %xmm9, %xmm9 # 0xb020
vprolvq 0xaa4(%rip), %xmm9, %xmm9 # 0xb030
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, (%rbp)
vpaddq 0xb2b(%rip), %ymm9, %ymm9 # 0xb0e0
vmovdqu %ymm9, (%rax)
movl $0x20, %edx
movq -0x20(%rax,%rdx), %rcx
movq -0x18(%rax,%rdx), %rsi
movq -0x10(%rax,%rdx), %rdi
movq -0x8(%rax,%rdx), %r8
leaq (%rsi,%rcx), %r9
leaq (%r8,%rdi), %r10
vmovq %rcx, %xmm9
vmovq %r9, %xmm10
vpunpcklqdq %xmm9, %xmm10, %xmm9 # xmm9 = xmm10[0],xmm9[0]
vmovq %r10, %xmm10
vmovq %rdi, %xmm11
vpunpcklqdq %xmm10, %xmm11, %xmm10 # xmm10 = xmm11[0],xmm10[0]
vpaddq %xmm10, %xmm9, %xmm11
vpaddq %xmm5, %xmm11, %xmm11
vprolvq %xmm6, %xmm11, %xmm11
vpinsrq $0x1, %rsi, %xmm9, %xmm9
vpinsrq $0x0, %r8, %xmm10, %xmm10
vpaddq %xmm10, %xmm9, %xmm9
vpaddq %xmm7, %xmm9, %xmm9
vprolvq %xmm8, %xmm9, %xmm9
vpxor %xmm9, %xmm11, %xmm10
vpermq $0x14, %ymm10, %ymm10   # ymm10 = ymm10[0,1,1,0]
vpermt2q %ymm9, %ymm0, %ymm11
vpxor %ymm11, %ymm10, %ymm9
vpermq $0x93, %ymm9, %ymm10    # ymm10 = ymm9[3,0,1,2]
vmovdqu %ymm10, -0x20(%rbp,%rdx)
vpermq $0x39, (%rbp,%rdx), %ymm10 # ymm10 = mem[1,2,3,0]
vpaddq %ymm9, %ymm10, %ymm9
vmovdqu %ymm9, (%rax,%rdx)
addq $0x20, %rdx
cmpq $0x80, %rdx
jne 0xa5be
movq 0x60(%rax), %rcx
movq 0x68(%rax), %rdx
movq 0x70(%rax), %rsi
movq 0x78(%rax), %rdi
leaq (%rdx,%rcx), %r8
leaq (%rdi,%rsi), %r9
vmovq %rcx, %xmm5
vmovq %r8, %xmm6
vpunpcklqdq %xmm5, %xmm6, %xmm5 # xmm5 = xmm6[0],xmm5[0]
vmovq %r9, %xmm6
vmovq %rsi, %xmm7
vpunpcklqdq %xmm6, %xmm7, %xmm6 # xmm6 = xmm7[0],xmm6[0]
vpaddq %xmm6, %xmm5, %xmm7
vpaddq 0x999(%rip), %xmm7, %xmm7 # 0xb040
vprolvq 0x99f(%rip), %xmm7, %xmm7 # 0xb050
vpinsrq $0x1, %rdx, %xmm5, %xmm5
vpinsrq $0x0, %rdi, %xmm6, %xmm6
vpaddq %xmm6, %xmm5, %xmm5
vpaddq 0x997(%rip), %xmm5, %xmm5 # 0xb060
vprolvq 0x99d(%rip), %xmm5, %xmm5 # 0xb070
vpxor %xmm5, %xmm7, %xmm6
vpermq $0x14, %ymm6, %ymm6     # ymm6 = ymm6[0,1,1,0]
vpermt2q %ymm5, %ymm0, %ymm7
vpxor %ymm7, %ymm6, %ymm5
vpermq $0x93, %ymm5, %ymm6     # ymm6 = ymm5[3,0,1,2]
vmovdqu %ymm6, 0x60(%rbp)
vpaddq 0xa06(%rip), %ymm5, %ymm5 # 0xb100
vmovdqu %ymm5, 0x60(%rax)
movl $0x78, %edx
movq -0x18(%rax,%rdx), %rcx
movq -0x10(%rax,%rdx), %rsi
movq -0x8(%rax,%rdx), %rdi
movq (%rax,%rdx), %r8
leaq (%r8,%rdi), %r9
leaq (%rsi,%rcx), %r10
vmovq %rcx, %xmm5
vmovq %r10, %xmm6
vpunpcklqdq %xmm5, %xmm6, %xmm5 # xmm5 = xmm6[0],xmm5[0]
vmovq %r9, %xmm6
vmovq %rdi, %xmm7
vpunpcklqdq %xmm6, %xmm7, %xmm6 # xmm6 = xmm7[0],xmm6[0]
vpaddq %xmm6, %xmm5, %xmm7
vpaddq %xmm1, %xmm7, %xmm7
vprolvq %xmm2, %xmm7, %xmm7
vpinsrq $0x1, %rsi, %xmm5, %xmm5
vpinsrq $0x0, %r8, %xmm6, %xmm6
vpaddq %xmm6, %xmm5, %xmm5
vpaddq %xmm3, %xmm5, %xmm5
vprolvq %xmm4, %xmm5, %xmm5
vpxor %xmm5, %xmm7, %xmm6
vpermq $0x14, %ymm6, %ymm6     # ymm6 = ymm6[0,1,1,0]
vpermt2q %ymm5, %ymm0, %ymm7
vpxor %ymm7, %ymm6, %ymm5
vpermq $0x93, %ymm5, %ymm6     # ymm6 = ymm5[3,0,1,2]
vmovdqu %ymm6, -0x18(%rbp,%rdx)
vpermq $0x39, -0x38(%rbp,%rdx), %ymm6 # ymm6 = mem[1,2,3,0]
vpaddq %ymm5, %ymm6, %ymm5
vmovdqu %ymm5, -0x38(%rax,%rdx)
addq $-0x20, %rdx
cmpq $0x18, %rdx
jne 0xa704
movb $0x1, %dl
leaq 0xe0(%rsp), %rcx
xorl %esi, %esi
movq 0x38(%rsp), %rdi
vmovdqu (%rax,%rsi,8), %ymm0
vpaddq (%rcx), %ymm0, %ymm0
vmovdqu %ymm0, (%rcx)
addq $0x20, %rcx
movl $0x8, %esi
testb $0x1, %dl
movl $0x0, %edx
jne 0xa7b4
movq 0xd8(%rsp), %rax
movq 0x30(%rsp), %rcx
movq %rcx, (%rax)
xorl %eax, %eax
cmpq $0x2000, %rdi           # imm = 0x2000
jb 0xa81e
leaq -0x2000(%rdi), %rcx
leaq 0xe0(%rsp), %rdx
movq 0x20(%rsp), %r8
movb (%r8,%rcx), %sil
cmpb (%rdx), %sil
jne 0xa819
incq %rcx
incq %rdx
cmpq %rdi, %rcx
jb 0xa803
jmp 0xa81e
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
addq $0x20e8, %rsp           # imm = 0x20E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
vzeroupper
retq
nop