// File: /workspace/github_c_makefile_star2_O2/mjosaarinen[P]brutus/crypto_aead/pi64cipher256v2oneround/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];
			i1++;
			if (i1 % (WORDS_CHUNK*W) == 0) i1 += WORDS_CHUNK*W;
		}
		// padding with 10*
		InternalState8[i1] = InternalState8[i1] ^ 0x01;
		pi();
		//updating the tag
		jj = 0;
		for (i = 0; i < N; i += 2) {
			for (i1 = 0; i1 < WORDS_CHUNK; i1++) {
				tempTag[jj] = tempTag[jj] + IS[i*WORDS_CHUNK + i1];
				jj++;
			}
		}
	}
	// if the AD is full blocks we still need to append 10* and it is done in an additional block
	else{
		for ( i = 0; i < IS_SIZE; i++ ) {
			IS[i] = CIS[i];
		}
		ctr++;
		IS[0] = IS[0] ^ ctr;
		pi();
		// padding with 10*
		InternalState8[0] = InternalState8[0] ^ 0x01;
		pi();
		//updating the tag
		jj = 0;
		for ( i = 0; i < N; i+=2 ) {
			for ( i1 = 0; i1 < WORDS_CHUNK; i1++ ) {
				tempTag[jj] = tempTag[jj] + IS[i*WORDS_CHUNK+i1];
				jj++;
			}
		}
	}

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


	// phase 3: Processing the secret message number
	if (CRYPTO_NSECBYTES > 0) {
		for (i = 0; i < IS_SIZE; i++) {
			IS[i] = CIS[i];
		}
		ctr++;
		IS[0] = IS[0] ^ ctr;
		pi();
		// 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];
			i1++;
			if (i1 % (WORDS_CHUNK*W) == 0) i1 += WORDS_CHUNK*W;
		}
		// padding with 10*
		InternalState8[i1] = InternalState8[i1] ^ 0x01;
		pi();
		// updating the tag
		jj = 0;
		for (i = 0; i < N; i += 2) {
			for (i1 = 0; i1 < WORDS_CHUNK; i1++) {
				tempTag[jj] = tempTag[jj] + IS[i*WORDS_CHUNK + i1];
				jj++;
			}
		}
	}
	// if the message is full blocks we still need to append 10* and it is done in an additional block
	else{
		for ( i = 0; i < IS_SIZE; i++ ) {
			IS[i] = CIS[i];
		}
		ctr++;
		IS[0] = IS[0] ^ ctr;
		pi();
		// padding with 10*
		InternalState8[0] = InternalState8[0] ^ 0x01;
		pi();
		//updating the tag
		jj = 0;
		for ( i = 0; i < N; i+=2 ) {
			for ( i1 = 0; i1 < WORDS_CHUNK; i1++ ) {
				tempTag[jj] = tempTag[jj] + IS[i*WORDS_CHUNK+i1];
				jj++;
			}
		}
	}

	//updating the length 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 $0x20d8, %rsp           # imm = 0x20D8
movq %r9, 0x8(%rsp)
movq %r8, 0x20(%rsp)
movq %rcx, %r13
movq %rdx, 0x48(%rsp)
movq %rsi, 0x30(%rsp)
movq %rdi, 0x40(%rsp)
movq 0x2120(%rsp), %r15
movq 0x2118(%rsp), %r14
movq 0x2110(%rsp), %rax
movq %rax, 0x38(%rsp)
leaq 0xd0(%rsp), %rdi
xorl %r12d, %r12d
movl $0x2000, %edx           # imm = 0x2000
xorl %esi, %esi
callq 0x1030
vxorps %xmm0, %xmm0, %xmm0
vmovups %ymm0, 0xb0(%rsp)
vmovups %ymm0, 0x90(%rsp)
vmovups %ymm0, 0x70(%rsp)
vmovups %ymm0, 0x50(%rsp)
movq 0x6ee6(%rip), %rbx      # 0xbff8
cmpq $0x10, %r12
je 0x5122
andq $0x0, (%rbx,%r12,8)
incq %r12
jmp 0x5112
xorl %eax, %eax
cmpq $0x20, %rax
je 0x5136
movb (%r15,%rax), %cl
movb %cl, (%rbx,%rax)
incq %rax
jmp 0x5124
xorl %eax, %eax
cmpq $0x10, %rax
je 0x514b
movb (%r14,%rax), %cl
movb %cl, 0x20(%rbx,%rax)
incq %rax
jmp 0x5138
movq %r13, 0x10(%rsp)
movabsq $-0xf171b1d1e272b2e, %rdx # imm = 0xF0E8E4E2E1D8D4D2
movb $0x1, 0x30(%rbx)
movq (%rbx), %rax
movq 0x10(%rbx), %rcx
movq 0x18(%rbx), %r10
leaq (%rcx,%rax), %r9
vmovdqu 0x8(%rbx), %xmm0
vpinsrq $0x1, %r10, %xmm0, %xmm0
vpbroadcastq %r9, %xmm1
vpaddq %xmm0, %xmm1, %xmm0
vpaddq 0x4e76(%rip), %xmm0, %xmm0 # 0xa000
vprolvq 0x4e7c(%rip), %xmm0, %xmm1 # 0xa010
vpbroadcastq %r10, %xmm0
movq %rdx, %r10
vmovq %rcx, %xmm2
vmovq %rax, %xmm3
vpunpcklqdq %xmm2, %xmm3, %xmm2 # xmm2 = xmm3[0],xmm2[0]
vpaddq %xmm2, %xmm0, %xmm0
vpaddq 0x8(%rbx){1to2}, %xmm0, %xmm0
vpaddq 0x4e62(%rip), %xmm0, %xmm0 # 0xa020
vprolvq 0x4e68(%rip), %xmm0, %xmm2 # 0xa030
vpxor %xmm1, %xmm2, %xmm0
vpermq $0x14, %ymm0, %ymm3     # ymm3 = ymm0[0,1,1,0]
vpmovsxbq 0x4f05(%rip), %ymm0 # 0xa0e0
vpermt2q %ymm2, %ymm0, %ymm1
vpxor %ymm1, %ymm3, %ymm1
vpaddq 0x4eb3(%rip), %ymm1, %ymm1 # 0xa0a0
vmovdqu %ymm1, (%rbx)
xorl %r11d, %r11d
cmpq $0x60, %r11
je 0x533a
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %r15
leaq (%rcx,%rax), %r14
leaq (%r10,%r15), %r12
addq %r14, %r12
rorxq $0x39, %r12, %rbp
movq 0x18(%rbx,%r11), %r12
movabsq $-0x2e333536393a3c48, %rdx # imm = 0xD1CCCAC9C6C5C3B8
leaq (%rdx,%r12), %r13
addq %r14, %r13
rorxq $0x2d, %r13, %r14
addq %r15, %rax
movabsq $-0x4b4d4e535556595b, %rdx # imm = 0xB4B2B1ACAAA9A6A5
addq %rdx, %rax
addq %r12, %rax
rorxq $0x21, %rax, %rax
addq %rcx, %r15
movabsq $-0x5c636566696a6c72, %rcx # imm = 0xA39C9A999695938E
addq %rcx, %r12
addq %r15, %r12
rorxq $0xb, %r12, %r15
movq %r14, %r13
xorq %rbp, %r13
movq %r13, %r12
xorq %r15, %r12
xorq %rax, %r13
xorq %rax, %r15
xorq %r15, %r14
xorq %rbp, %r15
movq 0x20(%rbx,%r11), %rcx
movq 0x30(%rbx,%r11), %rax
movq 0x38(%rbx,%r11), %rbp
leaq (%rax,%rcx), %rdx
movabsq $-0x727478878b8d8e94, %rsi # imm = 0x8D8B87787472716C
addq %rbp, %rsi
addq %rdx, %rsi
movq 0x28(%rbx,%r11), %rdi
addq %rbp, %rax
movabsq $0x6a696665635c5a59, %r8 # imm = 0x6A696665635C5A59
addq %rdi, %r8
addq %r8, %rax
movabsq $0x5655534e4d4b473c, %r8 # imm = 0x5655534E4D4B473C
addq %rdi, %r8
addq %rdx, %r8
rorxq $0x29, %rax, %rax
rorxq $0x1b, %r8, %rdx
addq %rcx, %rbp
movabsq $0x3a393635332e2d2b, %rcx # imm = 0x3A393635332E2D2B
addq %rcx, %rdi
addq %rbp, %rdi
rorxq $0x5, %rdi, %rcx
movq %rcx, %rdi
xorq %rdx, %rdi
movq %rdi, %r8
xorq %rax, %r8
addq %r12, %r8
rorxq $0x35, %rsi, %rsi
xorq %rsi, %rdi
addq %r13, %rdi
xorq %rsi, %rax
xorq %rax, %rcx
addq %r14, %rcx
xorq %rdx, %rax
addq %r15, %rax
movq %r8, 0x38(%rbx,%r11)
movq %rdi, 0x20(%rbx,%r11)
movq %rcx, 0x28(%rbx,%r11)
movq %rax, 0x30(%rbx,%r11)
addq $0x20, %r11
jmp 0x51f4
vmovdqu 0x68(%rbx), %xmm1
movq 0x60(%rbx), %rax
vmovq %rax, %xmm2
addq 0x70(%rbx), %rax
vpunpcklqdq %xmm1, %xmm2, %xmm2 # xmm2 = xmm2[0],xmm1[0]
vpaddq %xmm2, %xmm1, %xmm1
vpinsrq $0x1, %rax, %xmm1, %xmm2
vpaddq 0x70(%rbx), %xmm2, %xmm2
vpaddq 0x4cd9(%rip), %xmm2, %xmm2 # 0xa040
vprolvq 0x4cdf(%rip), %xmm2, %xmm2 # 0xa050
vpaddq 0x78(%rbx){1to2}, %xmm1, %xmm1
vpaddq 0x4ce0(%rip), %xmm1, %xmm1 # 0xa060
vprolvq 0x4ce6(%rip), %xmm1, %xmm1 # 0xa070
vpxor %xmm2, %xmm1, %xmm3
vpermq $0x14, %ymm3, %ymm3     # ymm3 = ymm3[0,1,1,0]
vpermt2q %ymm1, %ymm0, %ymm2
vpxor %ymm2, %ymm3, %ymm1
vpaddq 0x4d1a(%rip), %ymm1, %ymm1 # 0xa0c0
vmovdqu %ymm1, 0x60(%rbx)
pushq $0x40
popq %r11
cmpq $-0x20, %r11
je 0x54f5
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
leaq (%r9,%r8), %r14
addq %rsi, %r14
rorxq $0x2d, %r14, %r14
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rax
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rcx # imm = 0xA39C9A999695938E
addq %rcx, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r14, %r13
xorq %rdi, %r13
movq %r13, %r12
xorq %r15, %r12
xorq %rax, %r13
xorq %rax, %r15
xorq %r15, %r14
xorq %rdi, %r15
movq 0x20(%rbx,%r11), %rcx
movq 0x30(%rbx,%r11), %rax
movq 0x38(%rbx,%r11), %rdx
leaq (%rax,%rcx), %rsi
movabsq $-0x727478878b8d8e94, %rdi # imm = 0x8D8B87787472716C
addq %rdx, %rdi
addq %rsi, %rdi
movq 0x28(%rbx,%r11), %r8
addq %rdx, %rax
movabsq $0x6a696665635c5a59, %r9 # imm = 0x6A696665635C5A59
addq %r9, %rax
addq %r8, %rax
movabsq $0x5655534e4d4b473c, %r9 # imm = 0x5655534E4D4B473C
leaq (%r9,%r8), %rbp
addq %rsi, %rbp
rorxq $0x29, %rax, %rax
rorxq $0x1b, %rbp, %rsi
addq %rcx, %rdx
movabsq $0x3a393635332e2d2b, %rcx # imm = 0x3A393635332E2D2B
addq %rcx, %r8
addq %rdx, %r8
rorxq $0x5, %r8, %rcx
movq %rcx, %rdx
xorq %rsi, %rdx
movq %rdx, %r8
xorq %rax, %r8
addq %r12, %r8
rorxq $0x35, %rdi, %rdi
xorq %rdi, %rdx
addq %r13, %rdx
xorq %rdi, %rax
xorq %rax, %rcx
addq %r14, %rcx
xorq %rsi, %rax
addq %r15, %rax
movq %r8, 0x18(%rbx,%r11)
movq %rdx, (%rbx,%r11)
movq %rcx, 0x8(%rbx,%r11)
movq %rax, 0x10(%rbx,%r11)
addq $-0x20, %r11
jmp 0x53af
xorl %eax, %eax
movq 0x2110(%rsp), %rsi
cmpq $0x10, %rax
je 0x5513
movq (%rbx,%rax,8), %rcx
movq %rcx, 0x50(%rsp,%rax,8)
incq %rax
jmp 0x54ff
movq 0x70(%rsp), %rdx
shrq $0x6, %rsi
movq %rsi, 0x18(%rsp)
xorl %eax, %eax
vmovdqa 0x4ad5(%rip), %xmm1     # 0xa000
vpmovsxbq 0x4bc4(%rip), %xmm2 # 0xa0f8
vmovdqa 0x4ae4(%rip), %xmm3     # 0xa020
vpmovsxbq 0x4bb5(%rip), %xmm4 # 0xa0fa
vmovdqa 0x4b53(%rip), %ymm5     # 0xa0a0
vmovdqa 0x4aeb(%rip), %xmm6     # 0xa040
vpmovsxbq 0x4b9e(%rip), %xmm7 # 0xa0fc
vmovdqa 0x4afa(%rip), %xmm8     # 0xa060
vpmovsxbq 0x4b8f(%rip), %xmm9 # 0xa0fe
vmovdqa 0x4b49(%rip), %ymm10    # 0xa0c0
xorl %r14d, %r14d
cmpq 0x18(%rsp), %rax
je 0x5cf8
movq %rax, 0x28(%rsp)
xorl %eax, %eax
cmpq $0x10, %rax
je 0x55a0
movq 0x50(%rsp,%rax,8), %rcx
movq %rcx, (%rbx,%rax,8)
incq %rax
jmp 0x558c
incq %rdx
movq (%rbx), %rax
movq %rdx, (%rsp)
xorq %rdx, %rax
vmovdqa 0x10(%rbx), %xmm11
vpshufd $0x4e, %xmm11, %xmm12   # xmm12 = xmm11[2,3,0,1]
movq 0x10(%rbx), %rcx
addq %rax, %rcx
vpbroadcastq %rcx, %xmm13
vpblendd $0x3, 0x8(%rbx), %xmm11, %xmm14 # xmm14 = mem[0,1],xmm11[2,3]
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm1, %xmm13, %xmm13
vprolvq %xmm2, %xmm13, %xmm13
vpinsrq $0x0, %rax, %xmm11, %xmm11
vpaddq %xmm11, %xmm12, %xmm11
vpaddq 0x8(%rbx){1to2}, %xmm11, %xmm11
vpaddq %xmm3, %xmm11, %xmm11
vprolvq %xmm4, %xmm11, %xmm11
vpxor %xmm13, %xmm11, %xmm12
vpermq $0x14, %ymm12, %ymm12   # ymm12 = ymm12[0,1,1,0]
vpermt2q %ymm11, %ymm0, %ymm13
vpxor %ymm13, %ymm12, %ymm11
vpaddq %ymm5, %ymm11, %ymm11
vmovdqu %ymm11, (%rbx)
xorl %r15d, %r15d
cmpq $0x60, %r15
je 0x575e
movq (%rbx,%r15), %rax
movq 0x8(%rbx,%r15), %rcx
movq 0x10(%rbx,%r15), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r15), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
leaq (%r9,%r8), %r11
addq %rsi, %r11
rorxq $0x2d, %r11, %r12
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rax
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rcx # imm = 0xA39C9A999695938E
addq %rcx, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r13
movq %r12, %r11
xorq %rdi, %r11
movq %r11, %rbp
xorq %r13, %rbp
xorq %rax, %r11
xorq %rax, %r13
xorq %r13, %r12
xorq %rdi, %r13
movq 0x20(%rbx,%r15), %rcx
movq 0x30(%rbx,%r15), %rax
movq 0x38(%rbx,%r15), %rdx
leaq (%rax,%rcx), %rsi
movabsq $-0x727478878b8d8e94, %rdi # imm = 0x8D8B87787472716C
addq %rdx, %rdi
addq %rsi, %rdi
movq 0x28(%rbx,%r15), %r8
addq %rdx, %rax
movabsq $0x6a696665635c5a59, %r9 # imm = 0x6A696665635C5A59
addq %r8, %r9
addq %r9, %rax
movabsq $0x5655534e4d4b473c, %r9 # imm = 0x5655534E4D4B473C
addq %r8, %r9
addq %rsi, %r9
rorxq $0x29, %rax, %rax
rorxq $0x1b, %r9, %rsi
addq %rcx, %rdx
movabsq $0x3a393635332e2d2b, %rcx # imm = 0x3A393635332E2D2B
addq %rcx, %r8
addq %rdx, %r8
rorxq $0x5, %r8, %rcx
movq %rcx, %rdx
xorq %rsi, %rdx
movq %rdx, %r8
xorq %rax, %r8
addq %rbp, %r8
rorxq $0x35, %rdi, %rdi
xorq %rdi, %rdx
addq %r11, %rdx
xorq %rdi, %rax
xorq %rax, %rcx
addq %r12, %rcx
xorq %rsi, %rax
addq %r13, %rax
movq %r8, 0x38(%rbx,%r15)
movq %rdx, 0x20(%rbx,%r15)
movq %rcx, 0x28(%rbx,%r15)
movq %rax, 0x30(%rbx,%r15)
addq $0x20, %r15
jmp 0x5618
movq 0x60(%rbx), %rax
vmovdqu 0x68(%rbx), %xmm11
vmovq %rax, %xmm12
addq 0x70(%rbx), %rax
vpunpcklqdq %xmm11, %xmm12, %xmm12 # xmm12 = xmm12[0],xmm11[0]
vpaddq %xmm12, %xmm11, %xmm11
vpinsrq $0x1, %rax, %xmm11, %xmm12
vpaddq 0x70(%rbx), %xmm12, %xmm12
vpaddq %xmm6, %xmm12, %xmm12
vprolvq %xmm7, %xmm12, %xmm12
vpaddq 0x78(%rbx){1to2}, %xmm11, %xmm11
vpaddq %xmm8, %xmm11, %xmm11
vprolvq %xmm9, %xmm11, %xmm11
vpxor %xmm12, %xmm11, %xmm13
vpermq $0x14, %ymm13, %ymm13   # ymm13 = ymm13[0,1,1,0]
vpermt2q %ymm11, %ymm0, %ymm12
vpxor %ymm12, %ymm13, %ymm11
vpaddq %ymm10, %ymm11, %ymm11
vmovdqu %ymm11, 0x60(%rbx)
pushq $0x40
popq %r15
cmpq $-0x20, %r15
je 0x5909
movq (%rbx,%r15), %rax
movq 0x8(%rbx,%r15), %rcx
movq 0x10(%rbx,%r15), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r15), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r11
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rax
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rcx # imm = 0xA39C9A999695938E
addq %rcx, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r13
movq %r11, %r12
xorq %rdi, %r12
movq %r12, %rbp
xorq %r13, %rbp
xorq %rax, %r12
xorq %rax, %r13
xorq %r13, %r11
xorq %rdi, %r13
movq 0x20(%rbx,%r15), %rcx
movq 0x30(%rbx,%r15), %rax
movq 0x38(%rbx,%r15), %rdx
leaq (%rax,%rcx), %rsi
movabsq $-0x727478878b8d8e94, %rdi # imm = 0x8D8B87787472716C
addq %rdx, %rdi
addq %rsi, %rdi
movq 0x28(%rbx,%r15), %r8
addq %rdx, %rax
movabsq $0x6a696665635c5a59, %r9 # imm = 0x6A696665635C5A59
addq %r8, %r9
addq %r9, %rax
movabsq $0x5655534e4d4b473c, %r9 # imm = 0x5655534E4D4B473C
addq %r8, %r9
addq %rsi, %r9
rorxq $0x29, %rax, %rax
rorxq $0x1b, %r9, %rsi
addq %rcx, %rdx
movabsq $0x3a393635332e2d2b, %rcx # imm = 0x3A393635332E2D2B
addq %rcx, %r8
addq %rdx, %r8
rorxq $0x5, %r8, %rcx
movq %rcx, %rdx
xorq %rsi, %rdx
movq %rdx, %r8
xorq %rax, %r8
addq %rbp, %r8
rorxq $0x35, %rdi, %rdi
xorq %rdi, %rdx
addq %r12, %rdx
xorq %rdi, %rax
xorq %rax, %rcx
addq %r11, %rcx
xorq %rsi, %rax
addq %r13, %rax
movq %r8, 0x18(%rbx,%r15)
movq %rdx, (%rbx,%r15)
movq %rcx, 0x8(%rbx,%r15)
movq %rax, 0x10(%rbx,%r15)
addq $-0x20, %r15
jmp 0x57c5
movq %rbx, %rax
xorl %r11d, %r11d
cmpq $0x3, %r11
ja 0x5940
movq 0x8(%rsp), %rcx
leaq (%rcx,%r14,8), %r15
xorl %ecx, %ecx
cmpq $0x4, %rcx
je 0x5933
movq (%r15,%rcx,8), %rdx
xorq %rdx, (%rax,%rcx,8)
incq %rcx
jmp 0x5920
addq $0x2, %r11
addq %rcx, %r14
addq $0x40, %rax
jmp 0x590f
movq (%rbx), %rax
movq 0x10(%rbx), %rcx
movq 0x18(%rbx), %rdx
vmovdqu 0x8(%rbx), %xmm11
leaq (%rcx,%rax), %rsi
vpbroadcastq %rsi, %xmm12
vpinsrq $0x1, %rdx, %xmm11, %xmm11
vpaddq %xmm11, %xmm12, %xmm11
vpaddq %xmm1, %xmm11, %xmm11
vprolvq %xmm2, %xmm11, %xmm11
vpbroadcastq %rdx, %xmm12
vmovq %rcx, %xmm13
vmovq %rax, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vpaddq %xmm13, %xmm12, %xmm12
vpaddq 0x8(%rbx){1to2}, %xmm12, %xmm12
vpaddq %xmm3, %xmm12, %xmm12
vprolvq %xmm4, %xmm12, %xmm12
vpxor %xmm11, %xmm12, %xmm13
vpermq $0x14, %ymm13, %ymm13   # ymm13 = ymm13[0,1,1,0]
vpermt2q %ymm12, %ymm0, %ymm11
vpxor %ymm11, %ymm13, %ymm11
vpaddq %ymm5, %ymm11, %ymm11
vmovdqu %ymm11, (%rbx)
xorl %r15d, %r15d
cmpq $0x60, %r15
je 0x5b00
movq (%rbx,%r15), %rax
movq 0x8(%rbx,%r15), %rcx
movq 0x10(%rbx,%r15), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r15), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r11
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rax
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rcx # imm = 0xA39C9A999695938E
addq %rcx, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r13
movq %r11, %r12
xorq %rdi, %r12
movq %r12, %rbp
xorq %r13, %rbp
xorq %rax, %r12
xorq %rax, %r13
xorq %r13, %r11
xorq %rdi, %r13
movq 0x20(%rbx,%r15), %rcx
movq 0x30(%rbx,%r15), %rax
movq 0x38(%rbx,%r15), %rdx
leaq (%rax,%rcx), %rsi
movabsq $-0x727478878b8d8e94, %rdi # imm = 0x8D8B87787472716C
addq %rdx, %rdi
addq %rsi, %rdi
movq 0x28(%rbx,%r15), %r8
addq %rdx, %rax
movabsq $0x6a696665635c5a59, %r9 # imm = 0x6A696665635C5A59
addq %r8, %r9
addq %r9, %rax
movabsq $0x5655534e4d4b473c, %r9 # imm = 0x5655534E4D4B473C
addq %r8, %r9
addq %rsi, %r9
rorxq $0x29, %rax, %rax
rorxq $0x1b, %r9, %rsi
addq %rcx, %rdx
movabsq $0x3a393635332e2d2b, %rcx # imm = 0x3A393635332E2D2B
addq %rcx, %r8
addq %rdx, %r8
rorxq $0x5, %r8, %rcx
movq %rcx, %rdx
xorq %rsi, %rdx
movq %rdx, %r8
xorq %rax, %r8
addq %rbp, %r8
rorxq $0x35, %rdi, %rdi
xorq %rdi, %rdx
addq %r12, %rdx
xorq %rdi, %rax
xorq %rax, %rcx
addq %r11, %rcx
xorq %rsi, %rax
addq %r13, %rax
movq %r8, 0x38(%rbx,%r15)
movq %rdx, 0x20(%rbx,%r15)
movq %rcx, 0x28(%rbx,%r15)
movq %rax, 0x30(%rbx,%r15)
addq $0x20, %r15
jmp 0x59bb
movq 0x60(%rbx), %rax
vmovdqu 0x68(%rbx), %xmm11
vmovq %rax, %xmm12
addq 0x70(%rbx), %rax
vpunpcklqdq %xmm11, %xmm12, %xmm12 # xmm12 = xmm12[0],xmm11[0]
vpaddq %xmm12, %xmm11, %xmm11
vpinsrq $0x1, %rax, %xmm11, %xmm12
vpaddq 0x70(%rbx), %xmm12, %xmm12
vpaddq %xmm6, %xmm12, %xmm12
vprolvq %xmm7, %xmm12, %xmm12
vpaddq 0x78(%rbx){1to2}, %xmm11, %xmm11
vpaddq %xmm8, %xmm11, %xmm11
vprolvq %xmm9, %xmm11, %xmm11
vpxor %xmm12, %xmm11, %xmm13
vpermq $0x14, %ymm13, %ymm13   # ymm13 = ymm13[0,1,1,0]
vpermt2q %ymm11, %ymm0, %ymm12
vpxor %ymm12, %ymm13, %ymm11
vpaddq %ymm10, %ymm11, %ymm11
vmovdqu %ymm11, 0x60(%rbx)
pushq $0x40
popq %r15
cmpq $-0x20, %r15
je 0x5cab
movq (%rbx,%r15), %rax
movq 0x8(%rbx,%r15), %rcx
movq 0x10(%rbx,%r15), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r15), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r11
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rax
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rcx # imm = 0xA39C9A999695938E
addq %rcx, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r13
movq %r11, %r12
xorq %rdi, %r12
movq %r12, %rbp
xorq %r13, %rbp
xorq %rax, %r12
xorq %rax, %r13
xorq %r13, %r11
xorq %rdi, %r13
movq 0x20(%rbx,%r15), %rcx
movq 0x30(%rbx,%r15), %rax
movq 0x38(%rbx,%r15), %rdx
leaq (%rax,%rcx), %rsi
movabsq $-0x727478878b8d8e94, %rdi # imm = 0x8D8B87787472716C
addq %rdx, %rdi
addq %rsi, %rdi
movq 0x28(%rbx,%r15), %r8
addq %rdx, %rax
movabsq $0x6a696665635c5a59, %r9 # imm = 0x6A696665635C5A59
addq %r8, %r9
addq %r9, %rax
movabsq $0x5655534e4d4b473c, %r9 # imm = 0x5655534E4D4B473C
addq %r8, %r9
addq %rsi, %r9
rorxq $0x29, %rax, %rax
rorxq $0x1b, %r9, %rsi
addq %rcx, %rdx
movabsq $0x3a393635332e2d2b, %rcx # imm = 0x3A393635332E2D2B
addq %rcx, %r8
addq %rdx, %r8
rorxq $0x5, %r8, %rcx
movq %rcx, %rdx
xorq %rsi, %rdx
movq %rdx, %r8
xorq %rax, %r8
addq %rbp, %r8
rorxq $0x35, %rdi, %rdi
xorq %rdi, %rdx
addq %r12, %rdx
xorq %rdi, %rax
xorq %rax, %rcx
addq %r11, %rcx
xorq %rsi, %rax
addq %r13, %rax
movq %r8, 0x18(%rbx,%r15)
movq %rdx, (%rbx,%r15)
movq %rcx, 0x8(%rbx,%r15)
movq %rax, 0x10(%rbx,%r15)
addq $-0x20, %r15
jmp 0x5b67
movq %rbx, %rax
xorl %r11d, %r11d
xorl %r15d, %r15d
cmpq $0x3, %r11
ja 0x5ce7
leaq (%rsp,%r15,8), %r12
addq $0xd0, %r12
xorl %ecx, %ecx
cmpq $0x4, %rcx
je 0x5cda
movq (%rax,%rcx,8), %rdx
addq %rdx, (%r12,%rcx,8)
incq %rcx
jmp 0x5cc7
addq $0x2, %r11
addq %rcx, %r15
addq $0x40, %rax
jmp 0x5cb4
movq 0x28(%rsp), %rax
incq %rax
movq (%rsp), %rdx
jmp 0x557a
andq $0x3f, 0x38(%rsp)
je 0x64bc
xorl %eax, %eax
movq 0x62eb(%rip), %rbx      # 0xbff8
cmpq $0x10, %rax
je 0x5d21
movq 0x50(%rsp,%rax,8), %rcx
movq %rcx, (%rbx,%rax,8)
incq %rax
jmp 0x5d0d
incq %rdx
movq (%rbx), %rax
movq %rdx, (%rsp)
xorq %rdx, %rax
vmovdqa 0x10(%rbx), %xmm11
movq 0x10(%rbx), %rcx
addq %rax, %rcx
vpbroadcastq %rcx, %xmm12
vpblendd $0x3, 0x8(%rbx), %xmm11, %xmm13 # xmm13 = mem[0,1],xmm11[2,3]
vpaddq %xmm13, %xmm12, %xmm12
vpaddq 0x42ac(%rip), %xmm12, %xmm12 # 0xa000
vprolvq 0x42b2(%rip), %xmm12, %xmm12 # 0xa010
vpinsrq $0x0, %rax, %xmm11, %xmm13
vpshufd $0x4e, %xmm11, %xmm11   # xmm11 = xmm11[2,3,0,1]
vpaddq %xmm13, %xmm11, %xmm11
vpaddq 0x8(%rbx){1to2}, %xmm11, %xmm11
vpaddq 0x42a2(%rip), %xmm11, %xmm11 # 0xa020
vprolvq 0x42a8(%rip), %xmm11, %xmm11 # 0xa030
vpxor %xmm12, %xmm11, %xmm13
vpermq $0x14, %ymm13, %ymm13   # ymm13 = ymm13[0,1,1,0]
vpermt2q %ymm11, %ymm0, %ymm12
vpxor %ymm12, %ymm13, %ymm11
vpaddq 0x42fa(%rip), %ymm11, %ymm11 # 0xa0a0
vmovdqu %ymm11, (%rbx)
xorl %r15d, %r15d
cmpq $0x60, %r15
je 0x5ef2
movq (%rbx,%r15), %rax
movq 0x8(%rbx,%r15), %rcx
movq 0x10(%rbx,%r15), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r15), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r11
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rax
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rcx # imm = 0xA39C9A999695938E
addq %rcx, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r13
movq %r11, %r12
xorq %rdi, %r12
movq %r12, %rbp
xorq %r13, %rbp
xorq %rax, %r12
xorq %rax, %r13
xorq %r13, %r11
xorq %rdi, %r13
movq 0x20(%rbx,%r15), %rcx
movq 0x30(%rbx,%r15), %rax
movq 0x38(%rbx,%r15), %rdx
leaq (%rax,%rcx), %rsi
movabsq $-0x727478878b8d8e94, %rdi # imm = 0x8D8B87787472716C
addq %rdx, %rdi
addq %rsi, %rdi
movq 0x28(%rbx,%r15), %r8
addq %rdx, %rax
movabsq $0x6a696665635c5a59, %r9 # imm = 0x6A696665635C5A59
addq %r8, %r9
addq %r9, %rax
movabsq $0x5655534e4d4b473c, %r9 # imm = 0x5655534E4D4B473C
addq %r8, %r9
addq %rsi, %r9
rorxq $0x29, %rax, %rax
rorxq $0x1b, %r9, %rsi
addq %rcx, %rdx
movabsq $0x3a393635332e2d2b, %rcx # imm = 0x3A393635332E2D2B
addq %rcx, %r8
addq %rdx, %r8
rorxq $0x5, %r8, %rcx
movq %rcx, %rdx
xorq %rsi, %rdx
movq %rdx, %r8
xorq %rax, %r8
addq %rbp, %r8
rorxq $0x35, %rdi, %rdi
xorq %rdi, %rdx
addq %r12, %rdx
xorq %rdi, %rax
xorq %rax, %rcx
addq %r11, %rcx
xorq %rsi, %rax
addq %r13, %rax
movq %r8, 0x38(%rbx,%r15)
movq %rdx, 0x20(%rbx,%r15)
movq %rcx, 0x28(%rbx,%r15)
movq %rax, 0x30(%rbx,%r15)
addq $0x20, %r15
jmp 0x5dad
vmovdqu 0x68(%rbx), %xmm11
movq 0x60(%rbx), %rax
vmovq %rax, %xmm12
addq 0x70(%rbx), %rax
vpunpcklqdq %xmm11, %xmm12, %xmm12 # xmm12 = xmm12[0],xmm11[0]
vpaddq %xmm12, %xmm11, %xmm11
vpinsrq $0x1, %rax, %xmm11, %xmm12
vpaddq 0x70(%rbx), %xmm12, %xmm12
vpaddq 0x411f(%rip), %xmm12, %xmm12 # 0xa040
vprolvq 0x4125(%rip), %xmm12, %xmm12 # 0xa050
vpaddq 0x78(%rbx){1to2}, %xmm11, %xmm11
vpaddq 0x4126(%rip), %xmm11, %xmm11 # 0xa060
vprolvq 0x412c(%rip), %xmm11, %xmm11 # 0xa070
vpxor %xmm12, %xmm11, %xmm13
vpermq $0x14, %ymm13, %ymm13   # ymm13 = ymm13[0,1,1,0]
vpermt2q %ymm11, %ymm0, %ymm12
vpxor %ymm12, %ymm13, %ymm11
vpaddq 0x415e(%rip), %ymm11, %ymm11 # 0xa0c0
vmovdqu %ymm11, 0x60(%rbx)
pushq $0x40
popq %r15
cmpq $-0x20, %r15
je 0x60af
movq (%rbx,%r15), %rax
movq 0x8(%rbx,%r15), %rcx
movq 0x10(%rbx,%r15), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r15), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r11
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rax
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rcx # imm = 0xA39C9A999695938E
addq %rcx, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r13
movq %r11, %r12
xorq %rdi, %r12
movq %r12, %rbp
xorq %r13, %rbp
xorq %rax, %r12
xorq %rax, %r13
xorq %r13, %r11
xorq %rdi, %r13
movq 0x20(%rbx,%r15), %rcx
movq 0x30(%rbx,%r15), %rax
movq 0x38(%rbx,%r15), %rdx
leaq (%rax,%rcx), %rsi
movabsq $-0x727478878b8d8e94, %rdi # imm = 0x8D8B87787472716C
addq %rdx, %rdi
addq %rsi, %rdi
movq 0x28(%rbx,%r15), %r8
addq %rdx, %rax
movabsq $0x6a696665635c5a59, %r9 # imm = 0x6A696665635C5A59
addq %r8, %r9
addq %r9, %rax
movabsq $0x5655534e4d4b473c, %r9 # imm = 0x5655534E4D4B473C
addq %r8, %r9
addq %rsi, %r9
rorxq $0x29, %rax, %rax
rorxq $0x1b, %r9, %rsi
addq %rcx, %rdx
movabsq $0x3a393635332e2d2b, %rcx # imm = 0x3A393635332E2D2B
addq %rcx, %r8
addq %rdx, %r8
rorxq $0x5, %r8, %rcx
movq %rcx, %rdx
xorq %rsi, %rdx
movq %rdx, %r8
xorq %rax, %r8
addq %rbp, %r8
rorxq $0x35, %rdi, %rdi
xorq %rdi, %rdx
addq %r12, %rdx
xorq %rdi, %rax
xorq %rax, %rcx
addq %r11, %rcx
xorq %rsi, %rax
addq %r13, %rax
movq %r8, 0x18(%rbx,%r15)
movq %rdx, (%rbx,%r15)
movq %rcx, 0x8(%rbx,%r15)
movq %rax, 0x10(%rbx,%r15)
addq $-0x20, %r15
jmp 0x5f6b
movq 0x8(%rsp), %rax
leaq (%rax,%r14,8), %rax
xorl %r11d, %r11d
xorl %ecx, %ecx
movq 0x38(%rsp), %rsi
movb (%rbx,%rcx), %bpl
cmpq %r11, %rsi
je 0x60e7
xorb (%rax,%r11), %bpl
movb %bpl, (%rbx,%rcx)
leaq 0x1(%rcx), %rdx
addq $0x21, %rcx
testb $0x1f, %dl
cmovneq %rdx, %rcx
incq %r11
jmp 0x60c2
xorb $0x1, %bpl
movb %bpl, (%rbx,%rcx)
movq (%rbx), %rax
movq 0x10(%rbx), %rcx
movq 0x18(%rbx), %rdx
leaq (%rcx,%rax), %rsi
vmovdqu 0x8(%rbx), %xmm11
vpbroadcastq %rsi, %xmm12
vpinsrq $0x1, %rdx, %xmm11, %xmm11
vpaddq %xmm11, %xmm12, %xmm11
vpaddq 0x3ee4(%rip), %xmm11, %xmm11 # 0xa000
vprolvq 0x3eea(%rip), %xmm11, %xmm11 # 0xa010
vpbroadcastq %rdx, %xmm12
vmovq %rcx, %xmm13
vmovq %rax, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vpaddq %xmm13, %xmm12, %xmm12
vpaddq 0x8(%rbx){1to2}, %xmm12, %xmm12
vpaddq 0x3ed1(%rip), %xmm12, %xmm12 # 0xa020
vprolvq 0x3ed7(%rip), %xmm12, %xmm12 # 0xa030
vpxor %xmm11, %xmm12, %xmm13
vpermq $0x14, %ymm13, %ymm13   # ymm13 = ymm13[0,1,1,0]
vpermt2q %ymm12, %ymm0, %ymm11
vpxor %ymm11, %ymm13, %ymm11
vpaddq 0x3f29(%rip), %ymm11, %ymm11 # 0xa0a0
vmovdqu %ymm11, (%rbx)
xorl %r14d, %r14d
cmpq $0x60, %r14
je 0x62c3
movq (%rbx,%r14), %rax
movq 0x8(%rbx,%r14), %rcx
movq 0x10(%rbx,%r14), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r14), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r11
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rax
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rcx # imm = 0xA39C9A999695938E
addq %rcx, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r11, %r12
xorq %rdi, %r12
movq %r12, %r13
xorq %r15, %r13
xorq %rax, %r12
xorq %rax, %r15
xorq %r15, %r11
xorq %rdi, %r15
movq 0x20(%rbx,%r14), %rcx
movq 0x30(%rbx,%r14), %rax
movq 0x38(%rbx,%r14), %rdx
leaq (%rax,%rcx), %rsi
movabsq $-0x727478878b8d8e94, %rdi # imm = 0x8D8B87787472716C
addq %rdx, %rdi
addq %rsi, %rdi
movq 0x28(%rbx,%r14), %r8
addq %rdx, %rax
movabsq $0x6a696665635c5a59, %r9 # imm = 0x6A696665635C5A59
addq %r8, %r9
addq %r9, %rax
movabsq $0x5655534e4d4b473c, %r9 # imm = 0x5655534E4D4B473C
addq %r8, %r9
addq %rsi, %r9
rorxq $0x29, %rax, %rax
rorxq $0x1b, %r9, %rsi
addq %rcx, %rdx
movabsq $0x3a393635332e2d2b, %rcx # imm = 0x3A393635332E2D2B
addq %rcx, %r8
addq %rdx, %r8
rorxq $0x5, %r8, %rcx
movq %rcx, %rdx
xorq %rsi, %rdx
movq %rdx, %r8
xorq %rax, %r8
addq %r13, %r8
rorxq $0x35, %rdi, %rdi
xorq %rdi, %rdx
addq %r12, %rdx
xorq %rdi, %rax
xorq %rax, %rcx
addq %r11, %rcx
xorq %rsi, %rax
addq %r15, %rax
movq %r8, 0x38(%rbx,%r14)
movq %rdx, 0x20(%rbx,%r14)
movq %rcx, 0x28(%rbx,%r14)
movq %rax, 0x30(%rbx,%r14)
addq $0x20, %r14
jmp 0x617e
vmovdqu 0x68(%rbx), %xmm11
movq 0x60(%rbx), %rax
vmovq %rax, %xmm12
addq 0x70(%rbx), %rax
vpunpcklqdq %xmm11, %xmm12, %xmm12 # xmm12 = xmm12[0],xmm11[0]
vpaddq %xmm12, %xmm11, %xmm11
vpinsrq $0x1, %rax, %xmm11, %xmm12
vpaddq 0x70(%rbx), %xmm12, %xmm12
vpaddq 0x3d4e(%rip), %xmm12, %xmm12 # 0xa040
vprolvq 0x3d54(%rip), %xmm12, %xmm12 # 0xa050
vpaddq 0x78(%rbx){1to2}, %xmm11, %xmm11
vpaddq 0x3d55(%rip), %xmm11, %xmm11 # 0xa060
vprolvq 0x3d5b(%rip), %xmm11, %xmm11 # 0xa070
vpxor %xmm12, %xmm11, %xmm13
vpermq $0x14, %ymm13, %ymm13   # ymm13 = ymm13[0,1,1,0]
vpermt2q %ymm11, %ymm0, %ymm12
vpxor %ymm12, %ymm13, %ymm11
vpaddq 0x3d8d(%rip), %ymm11, %ymm11 # 0xa0c0
vmovdqu %ymm11, 0x60(%rbx)
pushq $0x40
popq %r14
cmpq $-0x20, %r14
je 0x6480
movq (%rbx,%r14), %rax
movq 0x8(%rbx,%r14), %rcx
movq 0x10(%rbx,%r14), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r14), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r11
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rax
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rcx # imm = 0xA39C9A999695938E
addq %rcx, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r11, %r12
xorq %rdi, %r12
movq %r12, %r13
xorq %r15, %r13
xorq %rax, %r12
xorq %rax, %r15
xorq %r15, %r11
xorq %rdi, %r15
movq 0x20(%rbx,%r14), %rcx
movq 0x30(%rbx,%r14), %rax
movq 0x38(%rbx,%r14), %rdx
leaq (%rax,%rcx), %rsi
movabsq $-0x727478878b8d8e94, %rdi # imm = 0x8D8B87787472716C
addq %rdx, %rdi
addq %rsi, %rdi
movq 0x28(%rbx,%r14), %r8
addq %rdx, %rax
movabsq $0x6a696665635c5a59, %r9 # imm = 0x6A696665635C5A59
addq %r8, %r9
addq %r9, %rax
movabsq $0x5655534e4d4b473c, %r9 # imm = 0x5655534E4D4B473C
addq %r8, %r9
addq %rsi, %r9
rorxq $0x29, %rax, %rax
rorxq $0x1b, %r9, %rsi
addq %rcx, %rdx
movabsq $0x3a393635332e2d2b, %rcx # imm = 0x3A393635332E2D2B
addq %rcx, %r8
addq %rdx, %r8
rorxq $0x5, %r8, %rcx
movq %rcx, %rdx
xorq %rsi, %rdx
movq %rdx, %r8
xorq %rax, %r8
addq %r13, %r8
rorxq $0x35, %rdi, %rdi
xorq %rdi, %rdx
addq %r12, %rdx
xorq %rdi, %rax
xorq %rax, %rcx
addq %r11, %rcx
xorq %rsi, %rax
addq %r15, %rax
movq %r8, 0x18(%rbx,%r14)
movq %rdx, (%rbx,%r14)
movq %rcx, 0x8(%rbx,%r14)
movq %rax, 0x10(%rbx,%r14)
addq $-0x20, %r14
jmp 0x633c
xorl %eax, %eax
xorl %r11d, %r11d
cmpq $0x3, %rax
ja 0x6c33
leaq (%rsp,%r11,8), %r14
addq $0xd0, %r14
xorl %ecx, %ecx
cmpq $0x4, %rcx
je 0x64af
movq (%rbx,%rcx,8), %rdx
addq %rdx, (%r14,%rcx,8)
incq %rcx
jmp 0x649c
addq $0x2, %rax
addq %rcx, %r11
addq $0x40, %rbx
jmp 0x6485
xorl %eax, %eax
movq 0x5b33(%rip), %rbx      # 0xbff8
cmpq $0x10, %rax
je 0x64d9
movq 0x50(%rsp,%rax,8), %rcx
movq %rcx, (%rbx,%rax,8)
incq %rax
jmp 0x64c5
incq %rdx
movq (%rbx), %rax
movq %rdx, (%rsp)
xorq %rdx, %rax
vmovdqa 0x10(%rbx), %xmm11
movq 0x10(%rbx), %rcx
addq %rax, %rcx
vpbroadcastq %rcx, %xmm12
vpblendd $0x3, 0x8(%rbx), %xmm11, %xmm13 # xmm13 = mem[0,1],xmm11[2,3]
vpaddq %xmm13, %xmm12, %xmm12
vpaddq 0x3af4(%rip), %xmm12, %xmm12 # 0xa000
vprolvq 0x3afa(%rip), %xmm12, %xmm12 # 0xa010
vpinsrq $0x0, %rax, %xmm11, %xmm13
vpshufd $0x4e, %xmm11, %xmm11   # xmm11 = xmm11[2,3,0,1]
vpaddq %xmm13, %xmm11, %xmm11
vpaddq 0x8(%rbx){1to2}, %xmm11, %xmm11
vpaddq 0x3aea(%rip), %xmm11, %xmm11 # 0xa020
vprolvq 0x3af0(%rip), %xmm11, %xmm11 # 0xa030
vpxor %xmm12, %xmm11, %xmm13
vpermq $0x14, %ymm13, %ymm13   # ymm13 = ymm13[0,1,1,0]
vpermt2q %ymm11, %ymm0, %ymm12
vpxor %ymm12, %ymm13, %ymm11
vpaddq 0x3b42(%rip), %ymm11, %ymm11 # 0xa0a0
vmovdqu %ymm11, (%rbx)
xorl %r14d, %r14d
cmpq $0x60, %r14
je 0x66aa
movq (%rbx,%r14), %rax
movq 0x8(%rbx,%r14), %rcx
movq 0x10(%rbx,%r14), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r14), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r11
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rax
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rcx # imm = 0xA39C9A999695938E
addq %rcx, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r11, %r12
xorq %rdi, %r12
movq %r12, %r13
xorq %r15, %r13
xorq %rax, %r12
xorq %rax, %r15
xorq %r15, %r11
xorq %rdi, %r15
movq 0x20(%rbx,%r14), %rcx
movq 0x30(%rbx,%r14), %rax
movq 0x38(%rbx,%r14), %rdx
leaq (%rax,%rcx), %rsi
movabsq $-0x727478878b8d8e94, %rdi # imm = 0x8D8B87787472716C
addq %rdx, %rdi
addq %rsi, %rdi
movq 0x28(%rbx,%r14), %r8
addq %rdx, %rax
movabsq $0x6a696665635c5a59, %r9 # imm = 0x6A696665635C5A59
addq %r8, %r9
addq %r9, %rax
movabsq $0x5655534e4d4b473c, %r9 # imm = 0x5655534E4D4B473C
addq %r8, %r9
addq %rsi, %r9
rorxq $0x29, %rax, %rax
rorxq $0x1b, %r9, %rsi
addq %rcx, %rdx
movabsq $0x3a393635332e2d2b, %rcx # imm = 0x3A393635332E2D2B
addq %rcx, %r8
addq %rdx, %r8
rorxq $0x5, %r8, %rcx
movq %rcx, %rdx
xorq %rsi, %rdx
movq %rdx, %r8
xorq %rax, %r8
addq %r13, %r8
rorxq $0x35, %rdi, %rdi
xorq %rdi, %rdx
addq %r12, %rdx
xorq %rdi, %rax
xorq %rax, %rcx
addq %r11, %rcx
xorq %rsi, %rax
addq %r15, %rax
movq %r8, 0x38(%rbx,%r14)
movq %rdx, 0x20(%rbx,%r14)
movq %rcx, 0x28(%rbx,%r14)
movq %rax, 0x30(%rbx,%r14)
addq $0x20, %r14
jmp 0x6565
vmovdqu 0x68(%rbx), %xmm11
movq 0x60(%rbx), %rax
vmovq %rax, %xmm12
addq 0x70(%rbx), %rax
vpunpcklqdq %xmm11, %xmm12, %xmm12 # xmm12 = xmm12[0],xmm11[0]
vpaddq %xmm12, %xmm11, %xmm11
vpinsrq $0x1, %rax, %xmm11, %xmm12
vpaddq 0x70(%rbx), %xmm12, %xmm12
vpaddq 0x3967(%rip), %xmm12, %xmm12 # 0xa040
vprolvq 0x396d(%rip), %xmm12, %xmm12 # 0xa050
vpaddq 0x78(%rbx){1to2}, %xmm11, %xmm11
vpaddq 0x396e(%rip), %xmm11, %xmm11 # 0xa060
vprolvq 0x3974(%rip), %xmm11, %xmm11 # 0xa070
vpxor %xmm12, %xmm11, %xmm13
vpermq $0x14, %ymm13, %ymm13   # ymm13 = ymm13[0,1,1,0]
vpermt2q %ymm11, %ymm0, %ymm12
vpxor %ymm12, %ymm13, %ymm11
vpaddq 0x39a6(%rip), %ymm11, %ymm11 # 0xa0c0
vmovdqu %ymm11, 0x60(%rbx)
pushq $0x40
popq %r14
cmpq $-0x20, %r14
je 0x6867
movq (%rbx,%r14), %rax
movq 0x8(%rbx,%r14), %rcx
movq 0x10(%rbx,%r14), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r14), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r11
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rax
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rcx # imm = 0xA39C9A999695938E
addq %rcx, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r11, %r12
xorq %rdi, %r12
movq %r12, %r13
xorq %r15, %r13
xorq %rax, %r12
xorq %rax, %r15
xorq %r15, %r11
xorq %rdi, %r15
movq 0x20(%rbx,%r14), %rcx
movq 0x30(%rbx,%r14), %rax
movq 0x38(%rbx,%r14), %rdx
leaq (%rax,%rcx), %rsi
movabsq $-0x727478878b8d8e94, %rdi # imm = 0x8D8B87787472716C
addq %rdx, %rdi
addq %rsi, %rdi
movq 0x28(%rbx,%r14), %r8
addq %rdx, %rax
movabsq $0x6a696665635c5a59, %r9 # imm = 0x6A696665635C5A59
addq %r8, %r9
addq %r9, %rax
movabsq $0x5655534e4d4b473c, %r9 # imm = 0x5655534E4D4B473C
addq %r8, %r9
addq %rsi, %r9
rorxq $0x29, %rax, %rax
rorxq $0x1b, %r9, %rsi
addq %rcx, %rdx
movabsq $0x3a393635332e2d2b, %rcx # imm = 0x3A393635332E2D2B
addq %rcx, %r8
addq %rdx, %r8
rorxq $0x5, %r8, %rcx
movq %rcx, %rdx
xorq %rsi, %rdx
movq %rdx, %r8
xorq %rax, %r8
addq %r13, %r8
rorxq $0x35, %rdi, %rdi
xorq %rdi, %rdx
addq %r12, %rdx
xorq %rdi, %rax
xorq %rax, %rcx
addq %r11, %rcx
xorq %rsi, %rax
addq %r15, %rax
movq %r8, 0x18(%rbx,%r14)
movq %rdx, (%rbx,%r14)
movq %rcx, 0x8(%rbx,%r14)
movq %rax, 0x10(%rbx,%r14)
addq $-0x20, %r14
jmp 0x6723
xorb $0x1, (%rbx)
movq (%rbx), %rax
movq 0x10(%rbx), %rcx
movq 0x18(%rbx), %rdx
leaq (%rcx,%rax), %rsi
vmovdqu 0x8(%rbx), %xmm11
vpbroadcastq %rsi, %xmm12
vpinsrq $0x1, %rdx, %xmm11, %xmm11
vpaddq %xmm11, %xmm12, %xmm11
vpaddq 0x3769(%rip), %xmm11, %xmm11 # 0xa000
vprolvq 0x376f(%rip), %xmm11, %xmm11 # 0xa010
vpbroadcastq %rdx, %xmm12
vmovq %rcx, %xmm13
vmovq %rax, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vpaddq %xmm13, %xmm12, %xmm12
vpaddq 0x8(%rbx){1to2}, %xmm12, %xmm12
vpaddq 0x3756(%rip), %xmm12, %xmm12 # 0xa020
vprolvq 0x375c(%rip), %xmm12, %xmm12 # 0xa030
vpxor %xmm11, %xmm12, %xmm13
vpermq $0x14, %ymm13, %ymm13   # ymm13 = ymm13[0,1,1,0]
vpermt2q %ymm12, %ymm0, %ymm11
vpxor %ymm11, %ymm13, %ymm11
vpaddq 0x37ae(%rip), %ymm11, %ymm11 # 0xa0a0
vmovdqu %ymm11, (%rbx)
xorl %r14d, %r14d
cmpq $0x60, %r14
je 0x6a3e
movq (%rbx,%r14), %rax
movq 0x8(%rbx,%r14), %rcx
movq 0x10(%rbx,%r14), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r14), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r11
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rax
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rcx # imm = 0xA39C9A999695938E
addq %rcx, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r11, %r12
xorq %rdi, %r12
movq %r12, %r13
xorq %r15, %r13
xorq %rax, %r12
xorq %rax, %r15
xorq %r15, %r11
xorq %rdi, %r15
movq 0x20(%rbx,%r14), %rcx
movq 0x30(%rbx,%r14), %rax
movq 0x38(%rbx,%r14), %rdx
leaq (%rax,%rcx), %rsi
movabsq $-0x727478878b8d8e94, %rdi # imm = 0x8D8B87787472716C
addq %rdx, %rdi
addq %rsi, %rdi
movq 0x28(%rbx,%r14), %r8
addq %rdx, %rax
movabsq $0x6a696665635c5a59, %r9 # imm = 0x6A696665635C5A59
addq %r8, %r9
addq %r9, %rax
movabsq $0x5655534e4d4b473c, %r9 # imm = 0x5655534E4D4B473C
addq %r8, %r9
addq %rsi, %r9
rorxq $0x29, %rax, %rax
rorxq $0x1b, %r9, %rsi
addq %rcx, %rdx
movabsq $0x3a393635332e2d2b, %rcx # imm = 0x3A393635332E2D2B
addq %rcx, %r8
addq %rdx, %r8
rorxq $0x5, %r8, %rcx
movq %rcx, %rdx
xorq %rsi, %rdx
movq %rdx, %r8
xorq %rax, %r8
addq %r13, %r8
rorxq $0x35, %rdi, %rdi
xorq %rdi, %rdx
addq %r12, %rdx
xorq %rdi, %rax
xorq %rax, %rcx
addq %r11, %rcx
xorq %rsi, %rax
addq %r15, %rax
movq %r8, 0x38(%rbx,%r14)
movq %rdx, 0x20(%rbx,%r14)
movq %rcx, 0x28(%rbx,%r14)
movq %rax, 0x30(%rbx,%r14)
addq $0x20, %r14
jmp 0x68f9
vmovdqu 0x68(%rbx), %xmm11
movq 0x60(%rbx), %rax
vmovq %rax, %xmm12
addq 0x70(%rbx), %rax
vpunpcklqdq %xmm11, %xmm12, %xmm12 # xmm12 = xmm12[0],xmm11[0]
vpaddq %xmm12, %xmm11, %xmm11
vpinsrq $0x1, %rax, %xmm11, %xmm12
vpaddq 0x70(%rbx), %xmm12, %xmm12
vpaddq 0x35d3(%rip), %xmm12, %xmm12 # 0xa040
vprolvq 0x35d9(%rip), %xmm12, %xmm12 # 0xa050
vpaddq 0x78(%rbx){1to2}, %xmm11, %xmm11
vpaddq 0x35da(%rip), %xmm11, %xmm11 # 0xa060
vprolvq 0x35e0(%rip), %xmm11, %xmm11 # 0xa070
vpxor %xmm12, %xmm11, %xmm13
vpermq $0x14, %ymm13, %ymm13   # ymm13 = ymm13[0,1,1,0]
vpermt2q %ymm11, %ymm0, %ymm12
vpxor %ymm12, %ymm13, %ymm11
vpaddq 0x3612(%rip), %ymm11, %ymm11 # 0xa0c0
vmovdqu %ymm11, 0x60(%rbx)
pushq $0x40
popq %r14
cmpq $-0x20, %r14
je 0x6bfb
movq (%rbx,%r14), %rax
movq 0x8(%rbx,%r14), %rcx
movq 0x10(%rbx,%r14), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r14), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r11
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rax
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rcx # imm = 0xA39C9A999695938E
addq %rcx, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r11, %r12
xorq %rdi, %r12
movq %r12, %r13
xorq %r15, %r13
xorq %rax, %r12
xorq %rax, %r15
xorq %r15, %r11
xorq %rdi, %r15
movq 0x20(%rbx,%r14), %rcx
movq 0x30(%rbx,%r14), %rax
movq 0x38(%rbx,%r14), %rdx
leaq (%rax,%rcx), %rsi
movabsq $-0x727478878b8d8e94, %rdi # imm = 0x8D8B87787472716C
addq %rdx, %rdi
addq %rsi, %rdi
movq 0x28(%rbx,%r14), %r8
addq %rdx, %rax
movabsq $0x6a696665635c5a59, %r9 # imm = 0x6A696665635C5A59
addq %r8, %r9
addq %r9, %rax
movabsq $0x5655534e4d4b473c, %r9 # imm = 0x5655534E4D4B473C
addq %r8, %r9
addq %rsi, %r9
rorxq $0x29, %rax, %rax
rorxq $0x1b, %r9, %rsi
addq %rcx, %rdx
movabsq $0x3a393635332e2d2b, %rcx # imm = 0x3A393635332E2D2B
addq %rcx, %r8
addq %rdx, %r8
rorxq $0x5, %r8, %rcx
movq %rcx, %rdx
xorq %rsi, %rdx
movq %rdx, %r8
xorq %rax, %r8
addq %r13, %r8
rorxq $0x35, %rdi, %rdi
xorq %rdi, %rdx
addq %r12, %rdx
xorq %rdi, %rax
xorq %rax, %rcx
addq %r11, %rcx
xorq %rsi, %rax
addq %r15, %rax
movq %r8, 0x18(%rbx,%r14)
movq %rdx, (%rbx,%r14)
movq %rcx, 0x8(%rbx,%r14)
movq %rax, 0x10(%rbx,%r14)
addq $-0x20, %r14
jmp 0x6ab7
xorl %eax, %eax
xorl %r11d, %r11d
cmpq $0x3, %rax
ja 0x6c33
leaq (%rsp,%r11,8), %r14
addq $0xd0, %r14
xorl %ecx, %ecx
cmpq $0x4, %rcx
je 0x6c26
movq (%rbx,%rcx,8), %rdx
addq %rdx, (%r14,%rcx,8)
incq %rcx
jmp 0x6c13
addq $0x2, %rax
addq %rcx, %r11
addq $0x40, %rbx
jmp 0x6c00
movq 0x53be(%rip), %rbx      # 0xbff8
leaq 0x20(%rbx), %r11
leaq 0x70(%rsp), %r14
xorl %r15d, %r15d
xorl %r12d, %r12d
cmpq $0x3, %r15
ja 0x6c8e
leaq (%rsp,%r12,8), %rcx
addq $0xd0, %rcx
xorl %eax, %eax
cmpq $0x4, %rax
je 0x6c7d
movq (%rcx,%rax,8), %rdx
xorq -0x20(%r14,%rax,8), %rdx
movq %rdx, -0x20(%r11,%rax,8)
movq (%r14,%rax,8), %rdx
movq %rdx, (%r11,%rax,8)
incq %rax
jmp 0x6c5c
addq $0x2, %r15
addq %rax, %r12
addq $0x40, %r11
addq $0x40, %r14
jmp 0x6c49
movq (%rbx), %rax
movq 0x10(%rbx), %rcx
movq 0x18(%rbx), %rdx
leaq (%rcx,%rax), %rsi
vmovdqu 0x8(%rbx), %xmm11
vpbroadcastq %rsi, %xmm12
vpinsrq $0x1, %rdx, %xmm11, %xmm11
vpaddq %xmm11, %xmm12, %xmm11
vpaddq 0x3345(%rip), %xmm11, %xmm11 # 0xa000
vprolvq 0x334b(%rip), %xmm11, %xmm11 # 0xa010
vpbroadcastq %rdx, %xmm12
vmovq %rcx, %xmm13
vmovq %rax, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vpaddq %xmm13, %xmm12, %xmm12
vpaddq 0x8(%rbx){1to2}, %xmm12, %xmm12
vpaddq 0x3332(%rip), %xmm12, %xmm12 # 0xa020
vprolvq 0x3338(%rip), %xmm12, %xmm12 # 0xa030
vpxor %xmm11, %xmm12, %xmm13
vpermq $0x14, %ymm13, %ymm13   # ymm13 = ymm13[0,1,1,0]
vpermt2q %ymm12, %ymm0, %ymm11
vpxor %ymm11, %ymm13, %ymm11
vpaddq 0x338a(%rip), %ymm11, %ymm11 # 0xa0a0
vmovdqu %ymm11, (%rbx)
xorl %r14d, %r14d
cmpq $0x60, %r14
je 0x6e62
movq (%rbx,%r14), %rax
movq 0x8(%rbx,%r14), %rcx
movq 0x10(%rbx,%r14), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r14), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r11
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rax
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rcx # imm = 0xA39C9A999695938E
addq %rcx, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r11, %r12
xorq %rdi, %r12
movq %r12, %r13
xorq %r15, %r13
xorq %rax, %r12
xorq %rax, %r15
xorq %r15, %r11
xorq %rdi, %r15
movq 0x20(%rbx,%r14), %rcx
movq 0x30(%rbx,%r14), %rax
movq 0x38(%rbx,%r14), %rdx
leaq (%rax,%rcx), %rsi
movabsq $-0x727478878b8d8e94, %rdi # imm = 0x8D8B87787472716C
addq %rdx, %rdi
addq %rsi, %rdi
movq 0x28(%rbx,%r14), %r8
addq %rdx, %rax
movabsq $0x6a696665635c5a59, %r9 # imm = 0x6A696665635C5A59
addq %r8, %r9
addq %r9, %rax
movabsq $0x5655534e4d4b473c, %r9 # imm = 0x5655534E4D4B473C
addq %r8, %r9
addq %rsi, %r9
rorxq $0x29, %rax, %rax
rorxq $0x1b, %r9, %rsi
addq %rcx, %rdx
movabsq $0x3a393635332e2d2b, %rcx # imm = 0x3A393635332E2D2B
addq %rcx, %r8
addq %rdx, %r8
rorxq $0x5, %r8, %rcx
movq %rcx, %rdx
xorq %rsi, %rdx
movq %rdx, %r8
xorq %rax, %r8
addq %r13, %r8
rorxq $0x35, %rdi, %rdi
xorq %rdi, %rdx
addq %r12, %rdx
xorq %rdi, %rax
xorq %rax, %rcx
addq %r11, %rcx
xorq %rsi, %rax
addq %r15, %rax
movq %r8, 0x38(%rbx,%r14)
movq %rdx, 0x20(%rbx,%r14)
movq %rcx, 0x28(%rbx,%r14)
movq %rax, 0x30(%rbx,%r14)
addq $0x20, %r14
jmp 0x6d1d
vmovdqu 0x68(%rbx), %xmm11
movq 0x60(%rbx), %rax
vmovq %rax, %xmm12
addq 0x70(%rbx), %rax
vpunpcklqdq %xmm11, %xmm12, %xmm12 # xmm12 = xmm12[0],xmm11[0]
vpaddq %xmm12, %xmm11, %xmm11
vpinsrq $0x1, %rax, %xmm11, %xmm12
vpaddq 0x70(%rbx), %xmm12, %xmm12
vpaddq 0x31af(%rip), %xmm12, %xmm12 # 0xa040
vprolvq 0x31b5(%rip), %xmm12, %xmm12 # 0xa050
vpaddq 0x78(%rbx){1to2}, %xmm11, %xmm11
vpaddq 0x31b6(%rip), %xmm11, %xmm11 # 0xa060
vprolvq 0x31bc(%rip), %xmm11, %xmm11 # 0xa070
vpxor %xmm12, %xmm11, %xmm13
vpermq $0x14, %ymm13, %ymm13   # ymm13 = ymm13[0,1,1,0]
vpermt2q %ymm11, %ymm0, %ymm12
vpxor %ymm12, %ymm13, %ymm11
vpaddq 0x31ee(%rip), %ymm11, %ymm11 # 0xa0c0
vmovdqu %ymm11, 0x60(%rbx)
pushq $0x40
popq %r14
cmpq $-0x20, %r14
je 0x701f
movq (%rbx,%r14), %rax
movq 0x8(%rbx,%r14), %rcx
movq 0x10(%rbx,%r14), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r14), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r11
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rax
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rcx # imm = 0xA39C9A999695938E
addq %rcx, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r11, %r12
xorq %rdi, %r12
movq %r12, %r13
xorq %r15, %r13
xorq %rax, %r12
xorq %rax, %r15
xorq %r15, %r11
xorq %rdi, %r15
movq 0x20(%rbx,%r14), %rcx
movq 0x30(%rbx,%r14), %rax
movq 0x38(%rbx,%r14), %rdx
leaq (%rax,%rcx), %rsi
movabsq $-0x727478878b8d8e94, %rdi # imm = 0x8D8B87787472716C
addq %rdx, %rdi
addq %rsi, %rdi
movq 0x28(%rbx,%r14), %r8
addq %rdx, %rax
movabsq $0x6a696665635c5a59, %r9 # imm = 0x6A696665635C5A59
addq %r8, %r9
addq %r9, %rax
movabsq $0x5655534e4d4b473c, %r9 # imm = 0x5655534E4D4B473C
addq %r8, %r9
addq %rsi, %r9
rorxq $0x29, %rax, %rax
rorxq $0x1b, %r9, %rsi
addq %rcx, %rdx
movabsq $0x3a393635332e2d2b, %rcx # imm = 0x3A393635332E2D2B
addq %rcx, %r8
addq %rdx, %r8
rorxq $0x5, %r8, %rcx
movq %rcx, %rdx
xorq %rsi, %rdx
movq %rdx, %r8
xorq %rax, %r8
addq %r13, %r8
rorxq $0x35, %rdi, %rdi
xorq %rdi, %rdx
addq %r12, %rdx
xorq %rdi, %rax
xorq %rax, %rcx
addq %r11, %rcx
xorq %rsi, %rax
addq %r15, %rax
movq %r8, 0x18(%rbx,%r14)
movq %rdx, (%rbx,%r14)
movq %rcx, 0x8(%rbx,%r14)
movq %rax, 0x10(%rbx,%r14)
addq $-0x20, %r14
jmp 0x6edb
xorl %eax, %eax
movq (%rsp), %rdx
cmpq $0x10, %rax
je 0x7039
movq (%rbx,%rax,8), %rcx
movq %rcx, 0x50(%rsp,%rax,8)
incq %rax
jmp 0x7025
xorl %eax, %eax
cmpq $0x10, %rax
je 0x704f
movq 0x50(%rsp,%rax,8), %rcx
movq %rcx, (%rbx,%rax,8)
incq %rax
jmp 0x703b
incq %rdx
movq (%rbx), %rax
movq %rdx, (%rsp)
xorq %rdx, %rax
vmovdqa 0x10(%rbx), %xmm11
movq 0x10(%rbx), %rcx
addq %rax, %rcx
vpbroadcastq %rcx, %xmm12
vpblendd $0x3, 0x8(%rbx), %xmm11, %xmm13 # xmm13 = mem[0,1],xmm11[2,3]
vpaddq %xmm13, %xmm12, %xmm12
vpaddq 0x2f7e(%rip), %xmm12, %xmm12 # 0xa000
vprolvq 0x2f84(%rip), %xmm12, %xmm12 # 0xa010
vpinsrq $0x0, %rax, %xmm11, %xmm13
vpshufd $0x4e, %xmm11, %xmm11   # xmm11 = xmm11[2,3,0,1]
vpaddq %xmm13, %xmm11, %xmm11
vpaddq 0x8(%rbx){1to2}, %xmm11, %xmm11
vpaddq 0x2f74(%rip), %xmm11, %xmm11 # 0xa020
vprolvq 0x2f7a(%rip), %xmm11, %xmm11 # 0xa030
vpxor %xmm12, %xmm11, %xmm13
vpermq $0x14, %ymm13, %ymm13   # ymm13 = ymm13[0,1,1,0]
vpermt2q %ymm11, %ymm0, %ymm12
vpxor %ymm12, %ymm13, %ymm11
vpaddq 0x2fcc(%rip), %ymm11, %ymm11 # 0xa0a0
vmovdqu %ymm11, (%rbx)
xorl %r14d, %r14d
cmpq $0x60, %r14
je 0x7220
movq (%rbx,%r14), %rax
movq 0x8(%rbx,%r14), %rcx
movq 0x10(%rbx,%r14), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r14), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r11
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rax
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rcx # imm = 0xA39C9A999695938E
addq %rcx, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r11, %r12
xorq %rdi, %r12
movq %r12, %r13
xorq %r15, %r13
xorq %rax, %r12
xorq %rax, %r15
xorq %r15, %r11
xorq %rdi, %r15
movq 0x20(%rbx,%r14), %rcx
movq 0x30(%rbx,%r14), %rax
movq 0x38(%rbx,%r14), %rdx
leaq (%rax,%rcx), %rsi
movabsq $-0x727478878b8d8e94, %rdi # imm = 0x8D8B87787472716C
addq %rdx, %rdi
addq %rsi, %rdi
movq 0x28(%rbx,%r14), %r8
addq %rdx, %rax
movabsq $0x6a696665635c5a59, %r9 # imm = 0x6A696665635C5A59
addq %r8, %r9
addq %r9, %rax
movabsq $0x5655534e4d4b473c, %r9 # imm = 0x5655534E4D4B473C
addq %r8, %r9
addq %rsi, %r9
rorxq $0x29, %rax, %rax
rorxq $0x1b, %r9, %rsi
addq %rcx, %rdx
movabsq $0x3a393635332e2d2b, %rcx # imm = 0x3A393635332E2D2B
addq %rcx, %r8
addq %rdx, %r8
rorxq $0x5, %r8, %rcx
movq %rcx, %rdx
xorq %rsi, %rdx
movq %rdx, %r8
xorq %rax, %r8
addq %r13, %r8
rorxq $0x35, %rdi, %rdi
xorq %rdi, %rdx
addq %r12, %rdx
xorq %rdi, %rax
xorq %rax, %rcx
addq %r11, %rcx
xorq %rsi, %rax
addq %r15, %rax
movq %r8, 0x38(%rbx,%r14)
movq %rdx, 0x20(%rbx,%r14)
movq %rcx, 0x28(%rbx,%r14)
movq %rax, 0x30(%rbx,%r14)
addq $0x20, %r14
jmp 0x70db
vmovdqu 0x68(%rbx), %xmm11
movq 0x60(%rbx), %rax
vmovq %rax, %xmm12
addq 0x70(%rbx), %rax
vpunpcklqdq %xmm11, %xmm12, %xmm12 # xmm12 = xmm12[0],xmm11[0]
vpaddq %xmm12, %xmm11, %xmm11
vpinsrq $0x1, %rax, %xmm11, %xmm12
vpaddq 0x70(%rbx), %xmm12, %xmm12
vpaddq 0x2df1(%rip), %xmm12, %xmm12 # 0xa040
vprolvq 0x2df7(%rip), %xmm12, %xmm12 # 0xa050
vpaddq 0x78(%rbx){1to2}, %xmm11, %xmm11
vpaddq 0x2df8(%rip), %xmm11, %xmm11 # 0xa060
vprolvq 0x2dfe(%rip), %xmm11, %xmm11 # 0xa070
vpxor %xmm12, %xmm11, %xmm13
vpermq $0x14, %ymm13, %ymm13   # ymm13 = ymm13[0,1,1,0]
vpermt2q %ymm11, %ymm0, %ymm12
vpxor %ymm12, %ymm13, %ymm11
vpaddq 0x2e30(%rip), %ymm11, %ymm11 # 0xa0c0
vmovdqu %ymm11, 0x60(%rbx)
pushq $0x40
popq %r14
cmpq $-0x20, %r14
je 0x73dd
movq (%rbx,%r14), %rax
movq 0x8(%rbx,%r14), %rcx
movq 0x10(%rbx,%r14), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r14), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r11
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rax
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rcx # imm = 0xA39C9A999695938E
addq %rcx, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r11, %r12
xorq %rdi, %r12
movq %r12, %r13
xorq %r15, %r13
xorq %rax, %r12
xorq %rax, %r15
xorq %r15, %r11
xorq %rdi, %r15
movq 0x20(%rbx,%r14), %rcx
movq 0x30(%rbx,%r14), %rax
movq 0x38(%rbx,%r14), %rdx
leaq (%rax,%rcx), %rsi
movabsq $-0x727478878b8d8e94, %rdi # imm = 0x8D8B87787472716C
addq %rdx, %rdi
addq %rsi, %rdi
movq 0x28(%rbx,%r14), %r8
addq %rdx, %rax
movabsq $0x6a696665635c5a59, %r9 # imm = 0x6A696665635C5A59
addq %r8, %r9
addq %r9, %rax
movabsq $0x5655534e4d4b473c, %r9 # imm = 0x5655534E4D4B473C
addq %r8, %r9
addq %rsi, %r9
rorxq $0x29, %rax, %rax
rorxq $0x1b, %r9, %rsi
addq %rcx, %rdx
movabsq $0x3a393635332e2d2b, %rcx # imm = 0x3A393635332E2D2B
addq %rcx, %r8
addq %rdx, %r8
rorxq $0x5, %r8, %rcx
movq %rcx, %rdx
xorq %rsi, %rdx
movq %rdx, %r8
xorq %rax, %r8
addq %r13, %r8
rorxq $0x35, %rdi, %rdi
xorq %rdi, %rdx
addq %r12, %rdx
xorq %rdi, %rax
xorq %rax, %rcx
addq %r11, %rcx
xorq %rsi, %rax
addq %r15, %rax
movq %r8, 0x18(%rbx,%r14)
movq %rdx, (%rbx,%r14)
movq %rcx, 0x8(%rbx,%r14)
movq %rax, 0x10(%rbx,%r14)
addq $-0x20, %r14
jmp 0x7299
xorl %r11d, %r11d
xorl %eax, %eax
movq 0x10(%rsp), %rsi
cmpq $0x3, %r11
ja 0x7428
movq 0x48(%rsp), %rcx
leaq (%rcx,%rax,8), %r14
leaq (%rsi,%rax,8), %r15
xorl %ecx, %ecx
cmpq $0x4, %rcx
je 0x741b
movq (%r15,%rcx,8), %rdx
xorq (%rbx,%rcx,8), %rdx
movq %rdx, (%r14,%rcx,8)
movq (%r15,%rcx,8), %rdx
movq %rdx, (%rbx,%rcx,8)
incq %rcx
jmp 0x73fc
addq $0x2, %r11
addq %rcx, %rax
addq $0x40, %rbx
jmp 0x73e7
movq 0x4bc9(%rip), %rbx      # 0xbff8
movq (%rbx), %rax
movq 0x10(%rbx), %rcx
movq 0x18(%rbx), %rdx
leaq (%rcx,%rax), %rsi
vmovdqu 0x8(%rbx), %xmm11
vpbroadcastq %rsi, %xmm12
vpinsrq $0x1, %rdx, %xmm11, %xmm11
vpaddq %xmm11, %xmm12, %xmm11
vpaddq 0x2ba4(%rip), %xmm11, %xmm11 # 0xa000
vprolvq 0x2baa(%rip), %xmm11, %xmm11 # 0xa010
vpbroadcastq %rdx, %xmm12
vmovq %rcx, %xmm13
vmovq %rax, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vpaddq %xmm13, %xmm12, %xmm12
vpaddq 0x8(%rbx){1to2}, %xmm12, %xmm12
vpaddq 0x2b91(%rip), %xmm12, %xmm12 # 0xa020
vprolvq 0x2b97(%rip), %xmm12, %xmm12 # 0xa030
vpxor %xmm11, %xmm12, %xmm13
vpermq $0x14, %ymm13, %ymm13   # ymm13 = ymm13[0,1,1,0]
vpermt2q %ymm12, %ymm0, %ymm11
vpxor %ymm11, %ymm13, %ymm11
vpaddq 0x2be9(%rip), %ymm11, %ymm11 # 0xa0a0
vmovdqu %ymm11, (%rbx)
xorl %r14d, %r14d
cmpq $0x60, %r14
je 0x7603
movq (%rbx,%r14), %rax
movq 0x8(%rbx,%r14), %rcx
movq 0x10(%rbx,%r14), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r14), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r11
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rax
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rcx # imm = 0xA39C9A999695938E
addq %rcx, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r11, %r12
xorq %rdi, %r12
movq %r12, %r13
xorq %r15, %r13
xorq %rax, %r12
xorq %rax, %r15
xorq %r15, %r11
xorq %rdi, %r15
movq 0x20(%rbx,%r14), %rcx
movq 0x30(%rbx,%r14), %rax
movq 0x38(%rbx,%r14), %rdx
leaq (%rax,%rcx), %rsi
movabsq $-0x727478878b8d8e94, %rdi # imm = 0x8D8B87787472716C
addq %rdx, %rdi
addq %rsi, %rdi
movq 0x28(%rbx,%r14), %r8
addq %rdx, %rax
movabsq $0x6a696665635c5a59, %r9 # imm = 0x6A696665635C5A59
addq %r8, %r9
addq %r9, %rax
movabsq $0x5655534e4d4b473c, %r9 # imm = 0x5655534E4D4B473C
addq %r8, %r9
addq %rsi, %r9
rorxq $0x29, %rax, %rax
rorxq $0x1b, %r9, %rsi
addq %rcx, %rdx
movabsq $0x3a393635332e2d2b, %rcx # imm = 0x3A393635332E2D2B
addq %rcx, %r8
addq %rdx, %r8
rorxq $0x5, %r8, %rcx
movq %rcx, %rdx
xorq %rsi, %rdx
movq %rdx, %r8
xorq %rax, %r8
addq %r13, %r8
rorxq $0x35, %rdi, %rdi
xorq %rdi, %rdx
addq %r12, %rdx
xorq %rdi, %rax
xorq %rax, %rcx
addq %r11, %rcx
xorq %rsi, %rax
addq %r15, %rax
movq %r8, 0x38(%rbx,%r14)
movq %rdx, 0x20(%rbx,%r14)
movq %rcx, 0x28(%rbx,%r14)
movq %rax, 0x30(%rbx,%r14)
addq $0x20, %r14
jmp 0x74be
vmovdqu 0x68(%rbx), %xmm11
movq 0x60(%rbx), %rax
vmovq %rax, %xmm12
addq 0x70(%rbx), %rax
vpunpcklqdq %xmm11, %xmm12, %xmm12 # xmm12 = xmm12[0],xmm11[0]
vpaddq %xmm12, %xmm11, %xmm11
vpinsrq $0x1, %rax, %xmm11, %xmm12
vpaddq 0x70(%rbx), %xmm12, %xmm12
vpaddq 0x2a0e(%rip), %xmm12, %xmm12 # 0xa040
vprolvq 0x2a14(%rip), %xmm12, %xmm12 # 0xa050
vpaddq 0x78(%rbx){1to2}, %xmm11, %xmm11
vpaddq 0x2a15(%rip), %xmm11, %xmm11 # 0xa060
vprolvq 0x2a1b(%rip), %xmm11, %xmm11 # 0xa070
vpxor %xmm12, %xmm11, %xmm13
vpermq $0x14, %ymm13, %ymm13   # ymm13 = ymm13[0,1,1,0]
vpermt2q %ymm11, %ymm0, %ymm12
vpxor %ymm12, %ymm13, %ymm11
vpaddq 0x2a4d(%rip), %ymm11, %ymm11 # 0xa0c0
vmovdqu %ymm11, 0x60(%rbx)
pushq $0x40
popq %r14
cmpq $-0x20, %r14
je 0x77c0
movq (%rbx,%r14), %rax
movq 0x8(%rbx,%r14), %rcx
movq 0x10(%rbx,%r14), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r14), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r11
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rax
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rcx # imm = 0xA39C9A999695938E
addq %rcx, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r11, %r12
xorq %rdi, %r12
movq %r12, %r13
xorq %r15, %r13
xorq %rax, %r12
xorq %rax, %r15
xorq %r15, %r11
xorq %rdi, %r15
movq 0x20(%rbx,%r14), %rcx
movq 0x30(%rbx,%r14), %rax
movq 0x38(%rbx,%r14), %rdx
leaq (%rax,%rcx), %rsi
movabsq $-0x727478878b8d8e94, %rdi # imm = 0x8D8B87787472716C
addq %rdx, %rdi
addq %rsi, %rdi
movq 0x28(%rbx,%r14), %r8
addq %rdx, %rax
movabsq $0x6a696665635c5a59, %r9 # imm = 0x6A696665635C5A59
addq %r8, %r9
addq %r9, %rax
movabsq $0x5655534e4d4b473c, %r9 # imm = 0x5655534E4D4B473C
addq %r8, %r9
addq %rsi, %r9
rorxq $0x29, %rax, %rax
rorxq $0x1b, %r9, %rsi
addq %rcx, %rdx
movabsq $0x3a393635332e2d2b, %rcx # imm = 0x3A393635332E2D2B
addq %rcx, %r8
addq %rdx, %r8
rorxq $0x5, %r8, %rcx
movq %rcx, %rdx
xorq %rsi, %rdx
movq %rdx, %r8
xorq %rax, %r8
addq %r13, %r8
rorxq $0x35, %rdi, %rdi
xorq %rdi, %rdx
addq %r12, %rdx
xorq %rdi, %rax
xorq %rax, %rcx
addq %r11, %rcx
xorq %rsi, %rax
addq %r15, %rax
movq %r8, 0x18(%rbx,%r14)
movq %rdx, (%rbx,%r14)
movq %rcx, 0x8(%rbx,%r14)
movq %rax, 0x10(%rbx,%r14)
addq $-0x20, %r14
jmp 0x767c
xorl %eax, %eax
movq 0x10(%rsp), %rsi
cmpq $0x10, %rax
je 0x77db
movq (%rbx,%rax,8), %rcx
movq %rcx, 0x50(%rsp,%rax,8)
incq %rax
jmp 0x77c7
xorl %eax, %eax
xorl %r11d, %r11d
cmpq $0x3, %rax
ja 0x7813
leaq (%rsp,%r11,8), %r14
addq $0xd0, %r14
xorl %ecx, %ecx
cmpq $0x4, %rcx
je 0x7806
movq (%rbx,%rcx,8), %rdx
addq %rdx, (%r14,%rcx,8)
incq %rcx
jmp 0x77f3
addq $0x2, %rax
addq %rcx, %r11
addq $0x40, %rbx
jmp 0x77e0
movq 0x20(%rsp), %rax
addq $-0x2040, %rax          # imm = 0xDFC0
movq %rax, 0x18(%rsp)
shrq $0x6, %rax
movq %rax, 0x28(%rsp)
leaq 0x40(%rsi), %r15
xorl %eax, %eax
movq 0x47bf(%rip), %r13      # 0xbff8
xorl %ebx, %ebx
cmpq 0x28(%rsp), %rax
je 0x8004
movq %rax, 0x8(%rsp)
xorl %eax, %eax
cmpq $0x10, %rax
je 0x7862
movq 0x50(%rsp,%rax,8), %rcx
movq %rcx, (%r13,%rax,8)
incq %rax
jmp 0x784d
movq (%rsp), %rcx
incq %rcx
movq (%r13), %rax
movq %rcx, (%rsp)
xorq %rcx, %rax
vmovdqa 0x10(%r13), %xmm11
vpshufd $0x4e, %xmm11, %xmm12   # xmm12 = xmm11[2,3,0,1]
movq 0x10(%r13), %rcx
addq %rax, %rcx
vpbroadcastq %rcx, %xmm13
vpblendd $0x3, 0x8(%r13), %xmm11, %xmm14 # xmm14 = mem[0,1],xmm11[2,3]
vpaddq %xmm14, %xmm13, %xmm13
vpaddq %xmm1, %xmm13, %xmm13
vprolvq %xmm2, %xmm13, %xmm13
vpinsrq $0x0, %rax, %xmm11, %xmm11
vpaddq %xmm11, %xmm12, %xmm11
vpaddq 0x8(%r13){1to2}, %xmm11, %xmm11
vpaddq %xmm3, %xmm11, %xmm11
vprolvq %xmm4, %xmm11, %xmm11
vpxor %xmm13, %xmm11, %xmm12
vpermq $0x14, %ymm12, %ymm12   # ymm12 = ymm12[0,1,1,0]
vpermt2q %ymm11, %ymm0, %ymm13
vpxor %ymm13, %ymm12, %ymm11
vpaddq %ymm5, %ymm11, %ymm11
vmovdqu %ymm11, (%r13)
xorl %r14d, %r14d
cmpq $0x60, %r14
je 0x7a32
movq (%r13,%r14), %rax
movq 0x8(%r13,%r14), %rcx
movq 0x10(%r13,%r14), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%r13,%r14), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r11
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rax # imm = 0xA39C9A999695938E
addq %rax, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %rbp
movq %r11, %r12
xorq %rdi, %r12
movq %r12, %rax
xorq %rbp, %rax
xorq %rsi, %r12
xorq %rsi, %rbp
xorq %rbp, %r11
xorq %rdi, %rbp
movq 0x20(%r13,%r14), %rdx
movq 0x30(%r13,%r14), %rcx
movq 0x38(%r13,%r14), %rsi
leaq (%rcx,%rdx), %rdi
movabsq $-0x727478878b8d8e94, %r8 # imm = 0x8D8B87787472716C
addq %rsi, %r8
addq %rdi, %r8
movq 0x28(%r13,%r14), %r9
addq %rsi, %rcx
movabsq $0x6a696665635c5a59, %r10 # imm = 0x6A696665635C5A59
addq %r9, %r10
addq %r10, %rcx
movabsq $0x5655534e4d4b473c, %r10 # imm = 0x5655534E4D4B473C
addq %r9, %r10
addq %rdi, %r10
rorxq $0x29, %rcx, %rcx
rorxq $0x1b, %r10, %rdi
movabsq $-0xf171b1d1e272b2e, %r10 # imm = 0xF0E8E4E2E1D8D4D2
addq %rdx, %rsi
movabsq $0x3a393635332e2d2b, %rdx # imm = 0x3A393635332E2D2B
addq %rdx, %r9
addq %rsi, %r9
rorxq $0x5, %r9, %rdx
movq %rdx, %rsi
xorq %rdi, %rsi
movq %rsi, %r9
xorq %rcx, %r9
addq %rax, %r9
rorxq $0x35, %r8, %rax
xorq %rax, %rsi
addq %r12, %rsi
xorq %rax, %rcx
xorq %rcx, %rdx
addq %r11, %rdx
xorq %rdi, %rcx
addq %rbp, %rcx
movq %r9, 0x38(%r13,%r14)
movq %rsi, 0x20(%r13,%r14)
movq %rdx, 0x28(%r13,%r14)
movq %rcx, 0x30(%r13,%r14)
addq $0x20, %r14
jmp 0x78e2
movq 0x60(%r13), %rax
vmovdqu 0x68(%r13), %xmm11
vmovq %rax, %xmm12
addq 0x70(%r13), %rax
vpunpcklqdq %xmm11, %xmm12, %xmm12 # xmm12 = xmm12[0],xmm11[0]
vpaddq %xmm12, %xmm11, %xmm11
vpinsrq $0x1, %rax, %xmm11, %xmm12
vpaddq 0x70(%r13), %xmm12, %xmm12
vpaddq %xmm6, %xmm12, %xmm12
vprolvq %xmm7, %xmm12, %xmm12
vpaddq 0x78(%r13){1to2}, %xmm11, %xmm11
vpaddq %xmm8, %xmm11, %xmm11
vprolvq %xmm9, %xmm11, %xmm11
vpxor %xmm12, %xmm11, %xmm13
vpermq $0x14, %ymm13, %ymm13   # ymm13 = ymm13[0,1,1,0]
vpermt2q %ymm11, %ymm0, %ymm12
vpxor %ymm12, %ymm13, %ymm11
vpaddq %ymm10, %ymm11, %ymm11
vmovdqu %ymm11, 0x60(%r13)
pushq $0x40
popq %r14
cmpq $-0x20, %r14
je 0x7bec
movq (%r13,%r14), %rax
movq 0x8(%r13,%r14), %rcx
movq 0x10(%r13,%r14), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%r13,%r14), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r11
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rax # imm = 0xA39C9A999695938E
addq %rax, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %rbp
movq %r11, %r12
xorq %rdi, %r12
movq %r12, %rax
xorq %rbp, %rax
xorq %rsi, %r12
xorq %rsi, %rbp
xorq %rbp, %r11
xorq %rdi, %rbp
movq 0x20(%r13,%r14), %rdx
movq 0x30(%r13,%r14), %rcx
movq 0x38(%r13,%r14), %rsi
leaq (%rcx,%rdx), %rdi
movabsq $-0x727478878b8d8e94, %r8 # imm = 0x8D8B87787472716C
addq %rsi, %r8
addq %rdi, %r8
movq 0x28(%r13,%r14), %r9
addq %rsi, %rcx
movabsq $0x6a696665635c5a59, %r10 # imm = 0x6A696665635C5A59
addq %r9, %r10
addq %r10, %rcx
movabsq $0x5655534e4d4b473c, %r10 # imm = 0x5655534E4D4B473C
addq %r9, %r10
addq %rdi, %r10
rorxq $0x29, %rcx, %rcx
rorxq $0x1b, %r10, %rdi
movabsq $-0xf171b1d1e272b2e, %r10 # imm = 0xF0E8E4E2E1D8D4D2
addq %rdx, %rsi
movabsq $0x3a393635332e2d2b, %rdx # imm = 0x3A393635332E2D2B
addq %rdx, %r9
addq %rsi, %r9
rorxq $0x5, %r9, %rdx
movq %rdx, %rsi
xorq %rdi, %rsi
movq %rsi, %r9
xorq %rcx, %r9
addq %rax, %r9
rorxq $0x35, %r8, %rax
xorq %rax, %rsi
addq %r12, %rsi
xorq %rax, %rcx
xorq %rcx, %rdx
addq %r11, %rdx
xorq %rdi, %rcx
addq %rbp, %rcx
movq %r9, 0x18(%r13,%r14)
movq %rsi, (%r13,%r14)
movq %rdx, 0x8(%r13,%r14)
movq %rcx, 0x10(%r13,%r14)
addq $-0x20, %r14
jmp 0x7a9c
movq %r13, %r11
xorl %eax, %eax
cmpq $0x3, %rax
ja 0x7c32
leaq (%r15,%rbx,8), %r14
movq 0x40(%rsp), %rcx
leaq (%rcx,%rbx,8), %r12
xorl %ecx, %ecx
cmpq $0x4, %rcx
je 0x7c25
movq (%r14,%rcx,8), %rdx
xorq (%r11,%rcx,8), %rdx
movq %rdx, (%r12,%rcx,8)
movq (%r14,%rcx,8), %rdx
movq %rdx, (%r11,%rcx,8)
incq %rcx
jmp 0x7c06
addq $0x2, %rax
addq %rcx, %rbx
addq $0x40, %r11
jmp 0x7bf1
movq (%r13), %rax
movq 0x10(%r13), %rcx
movq 0x18(%r13), %rdx
vmovdqu 0x8(%r13), %xmm11
leaq (%rcx,%rax), %rsi
vpbroadcastq %rsi, %xmm12
vpinsrq $0x1, %rdx, %xmm11, %xmm11
vpaddq %xmm11, %xmm12, %xmm11
vpaddq %xmm1, %xmm11, %xmm11
vprolvq %xmm2, %xmm11, %xmm11
vpbroadcastq %rdx, %xmm12
vmovq %rcx, %xmm13
vmovq %rax, %xmm14
vpunpcklqdq %xmm13, %xmm14, %xmm13 # xmm13 = xmm14[0],xmm13[0]
vpaddq %xmm13, %xmm12, %xmm12
vpaddq 0x8(%r13){1to2}, %xmm12, %xmm12
vpaddq %xmm3, %xmm12, %xmm12
vprolvq %xmm4, %xmm12, %xmm12
vpxor %xmm11, %xmm12, %xmm13
vpermq $0x14, %ymm13, %ymm13   # ymm13 = ymm13[0,1,1,0]
vpermt2q %ymm12, %ymm0, %ymm11
vpxor %ymm11, %ymm13, %ymm11
vpaddq %ymm5, %ymm11, %ymm11
vmovdqu %ymm11, (%r13)
xorl %r14d, %r14d
cmpq $0x60, %r14
je 0x7e01
movq (%r13,%r14), %rax
movq 0x8(%r13,%r14), %rcx
movq 0x10(%r13,%r14), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%r13,%r14), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r11
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rax # imm = 0xA39C9A999695938E
addq %rax, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %rbp
movq %r11, %r12
xorq %rdi, %r12
movq %r12, %rax
xorq %rbp, %rax
xorq %rsi, %r12
xorq %rsi, %rbp
xorq %rbp, %r11
xorq %rdi, %rbp
movq 0x20(%r13,%r14), %rdx
movq 0x30(%r13,%r14), %rcx
movq 0x38(%r13,%r14), %rsi
leaq (%rcx,%rdx), %rdi
movabsq $-0x727478878b8d8e94, %r8 # imm = 0x8D8B87787472716C
addq %rsi, %r8
addq %rdi, %r8
movq 0x28(%r13,%r14), %r9
addq %rsi, %rcx
movabsq $0x6a696665635c5a59, %r10 # imm = 0x6A696665635C5A59
addq %r9, %r10
addq %r10, %rcx
movabsq $0x5655534e4d4b473c, %r10 # imm = 0x5655534E4D4B473C
addq %r9, %r10
addq %rdi, %r10
rorxq $0x29, %rcx, %rcx
rorxq $0x1b, %r10, %rdi
movabsq $-0xf171b1d1e272b2e, %r10 # imm = 0xF0E8E4E2E1D8D4D2
addq %rdx, %rsi
movabsq $0x3a393635332e2d2b, %rdx # imm = 0x3A393635332E2D2B
addq %rdx, %r9
addq %rsi, %r9
rorxq $0x5, %r9, %rdx
movq %rdx, %rsi
xorq %rdi, %rsi
movq %rsi, %r9
xorq %rcx, %r9
addq %rax, %r9
rorxq $0x35, %r8, %rax
xorq %rax, %rsi
addq %r12, %rsi
xorq %rax, %rcx
xorq %rcx, %rdx
addq %r11, %rdx
xorq %rdi, %rcx
addq %rbp, %rcx
movq %r9, 0x38(%r13,%r14)
movq %rsi, 0x20(%r13,%r14)
movq %rdx, 0x28(%r13,%r14)
movq %rcx, 0x30(%r13,%r14)
addq $0x20, %r14
jmp 0x7cb1
movq 0x60(%r13), %rax
vmovdqu 0x68(%r13), %xmm11
vmovq %rax, %xmm12
addq 0x70(%r13), %rax
vpunpcklqdq %xmm11, %xmm12, %xmm12 # xmm12 = xmm12[0],xmm11[0]
vpaddq %xmm12, %xmm11, %xmm11
vpinsrq $0x1, %rax, %xmm11, %xmm12
vpaddq 0x70(%r13), %xmm12, %xmm12
vpaddq %xmm6, %xmm12, %xmm12
vprolvq %xmm7, %xmm12, %xmm12
vpaddq 0x78(%r13){1to2}, %xmm11, %xmm11
vpaddq %xmm8, %xmm11, %xmm11
vprolvq %xmm9, %xmm11, %xmm11
vpxor %xmm12, %xmm11, %xmm13
vpermq $0x14, %ymm13, %ymm13   # ymm13 = ymm13[0,1,1,0]
vpermt2q %ymm11, %ymm0, %ymm12
vpxor %ymm12, %ymm13, %ymm11
vpaddq %ymm10, %ymm11, %ymm11
vmovdqu %ymm11, 0x60(%r13)
pushq $0x40
popq %r14
cmpq $-0x20, %r14
je 0x7fbb
movq (%r13,%r14), %rax
movq 0x8(%r13,%r14), %rcx
movq 0x10(%r13,%r14), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%r13,%r14), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r11
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rax # imm = 0xA39C9A999695938E
addq %rax, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %rbp
movq %r11, %r12
xorq %rdi, %r12
movq %r12, %rax
xorq %rbp, %rax
xorq %rsi, %r12
xorq %rsi, %rbp
xorq %rbp, %r11
xorq %rdi, %rbp
movq 0x20(%r13,%r14), %rdx
movq 0x30(%r13,%r14), %rcx
movq 0x38(%r13,%r14), %rsi
leaq (%rcx,%rdx), %rdi
movabsq $-0x727478878b8d8e94, %r8 # imm = 0x8D8B87787472716C
addq %rsi, %r8
addq %rdi, %r8
movq 0x28(%r13,%r14), %r9
addq %rsi, %rcx
movabsq $0x6a696665635c5a59, %r10 # imm = 0x6A696665635C5A59
addq %r9, %r10
addq %r10, %rcx
movabsq $0x5655534e4d4b473c, %r10 # imm = 0x5655534E4D4B473C
addq %r9, %r10
addq %rdi, %r10
rorxq $0x29, %rcx, %rcx
rorxq $0x1b, %r10, %rdi
movabsq $-0xf171b1d1e272b2e, %r10 # imm = 0xF0E8E4E2E1D8D4D2
addq %rdx, %rsi
movabsq $0x3a393635332e2d2b, %rdx # imm = 0x3A393635332E2D2B
addq %rdx, %r9
addq %rsi, %r9
rorxq $0x5, %r9, %rdx
movq %rdx, %rsi
xorq %rdi, %rsi
movq %rsi, %r9
xorq %rcx, %r9
addq %rax, %r9
rorxq $0x35, %r8, %rax
xorq %rax, %rsi
addq %r12, %rsi
xorq %rax, %rcx
xorq %rcx, %rdx
addq %r11, %rdx
xorq %rdi, %rcx
addq %rbp, %rcx
movq %r9, 0x18(%r13,%r14)
movq %rsi, (%r13,%r14)
movq %rdx, 0x8(%r13,%r14)
movq %rcx, 0x10(%r13,%r14)
addq $-0x20, %r14
jmp 0x7e6b
movq %r13, %rax
xorl %r11d, %r11d
xorl %r14d, %r14d
cmpq $0x3, %r11
ja 0x7ff7
leaq (%rsp,%r14,8), %r12
addq $0xd0, %r12
xorl %ecx, %ecx
cmpq $0x4, %rcx
je 0x7fea
movq (%rax,%rcx,8), %rdx
addq %rdx, (%r12,%rcx,8)
incq %rcx
jmp 0x7fd7
addq $0x2, %r11
addq %rcx, %r14
addq $0x40, %rax
jmp 0x7fc4
movq 0x8(%rsp), %rax
incq %rax
jmp 0x783b
movq 0x20(%rsp), %r13
leaq -0x2000(%r13), %rbp
xorl %eax, %eax
andq $0x3f, %r13
je 0x8816
movq 0x3fd5(%rip), %r14      # 0xbff8
movq (%rsp), %rdx
cmpq $0x10, %rax
je 0x803b
movq 0x50(%rsp,%rax,8), %rcx
movq %rcx, (%r14,%rax,8)
incq %rax
jmp 0x8027
movq %rbp, 0x8(%rsp)
incq %rdx
xorq (%r14), %rdx
vmovdqa 0x10(%r14), %xmm1
movq 0x10(%r14), %rax
addq %rdx, %rax
vpbroadcastq %rax, %xmm2
vpblendd $0x3, 0x8(%r14), %xmm1, %xmm3 # xmm3 = mem[0,1],xmm1[2,3]
vpaddq %xmm3, %xmm2, %xmm2
vpaddq 0x1f94(%rip), %xmm2, %xmm2 # 0xa000
vprolvq 0x1f9a(%rip), %xmm2, %xmm2 # 0xa010
vpinsrq $0x0, %rdx, %xmm1, %xmm3
vpshufd $0x4e, %xmm1, %xmm1     # xmm1 = xmm1[2,3,0,1]
vpaddq %xmm3, %xmm1, %xmm1
vpaddq 0x8(%r14){1to2}, %xmm1, %xmm1
vpaddq 0x1f8c(%rip), %xmm1, %xmm1 # 0xa020
vprolvq 0x1f92(%rip), %xmm1, %xmm1 # 0xa030
vpxor %xmm2, %xmm1, %xmm3
vpermq $0x14, %ymm3, %ymm3     # ymm3 = ymm3[0,1,1,0]
vpermt2q %ymm1, %ymm0, %ymm2
vpxor %ymm2, %ymm3, %ymm1
vpaddq 0x1fe6(%rip), %ymm1, %ymm1 # 0xa0a0
vmovdqu %ymm1, (%r14)
xorl %r11d, %r11d
cmpq $0x60, %r11
je 0x8211
movq (%r14,%r11), %rax
movq 0x8(%r14,%r11), %rcx
movq 0x10(%r14,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%r14,%r11), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %rbp
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rax # imm = 0xA39C9A999695938E
addq %rax, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %rbp, %r12
xorq %rdi, %r12
movq %r12, %rax
xorq %r15, %rax
xorq %rsi, %r12
xorq %rsi, %r15
xorq %r15, %rbp
xorq %rdi, %r15
movq 0x20(%r14,%r11), %rdx
movq 0x30(%r14,%r11), %rcx
movq 0x38(%r14,%r11), %rsi
leaq (%rcx,%rdx), %rdi
movabsq $-0x727478878b8d8e94, %r8 # imm = 0x8D8B87787472716C
addq %rsi, %r8
addq %rdi, %r8
movq 0x28(%r14,%r11), %r9
addq %rsi, %rcx
movabsq $0x6a696665635c5a59, %r10 # imm = 0x6A696665635C5A59
addq %r9, %r10
addq %r10, %rcx
movabsq $0x5655534e4d4b473c, %r10 # imm = 0x5655534E4D4B473C
addq %r9, %r10
addq %rdi, %r10
rorxq $0x29, %rcx, %rcx
rorxq $0x1b, %r10, %rdi
movabsq $-0xf171b1d1e272b2e, %r10 # imm = 0xF0E8E4E2E1D8D4D2
addq %rdx, %rsi
movabsq $0x3a393635332e2d2b, %rdx # imm = 0x3A393635332E2D2B
addq %rdx, %r9
addq %rsi, %r9
rorxq $0x5, %r9, %rdx
movq %rdx, %rsi
xorq %rdi, %rsi
movq %rsi, %r9
xorq %rcx, %r9
addq %rax, %r9
rorxq $0x35, %r8, %rax
xorq %rax, %rsi
addq %r12, %rsi
xorq %rax, %rcx
xorq %rcx, %rdx
addq %rbp, %rdx
xorq %rdi, %rcx
addq %r15, %rcx
movq %r9, 0x38(%r14,%r11)
movq %rsi, 0x20(%r14,%r11)
movq %rdx, 0x28(%r14,%r11)
movq %rcx, 0x30(%r14,%r11)
addq $0x20, %r11
jmp 0x80c2
vmovdqu 0x68(%r14), %xmm1
movq 0x60(%r14), %rax
vmovq %rax, %xmm2
addq 0x70(%r14), %rax
vpunpcklqdq %xmm1, %xmm2, %xmm2 # xmm2 = xmm2[0],xmm1[0]
vpaddq %xmm2, %xmm1, %xmm1
vpinsrq $0x1, %rax, %xmm1, %xmm2
vpaddq 0x70(%r14), %xmm2, %xmm2
vpaddq 0x1e00(%rip), %xmm2, %xmm2 # 0xa040
vprolvq 0x1e06(%rip), %xmm2, %xmm2 # 0xa050
vpaddq 0x78(%r14){1to2}, %xmm1, %xmm1
vpaddq 0x1e07(%rip), %xmm1, %xmm1 # 0xa060
vprolvq 0x1e0d(%rip), %xmm1, %xmm1 # 0xa070
vpxor %xmm2, %xmm1, %xmm3
vpermq $0x14, %ymm3, %ymm3     # ymm3 = ymm3[0,1,1,0]
vpermt2q %ymm1, %ymm0, %ymm2
vpxor %ymm2, %ymm3, %ymm1
vpaddq 0x1e41(%rip), %ymm1, %ymm1 # 0xa0c0
vmovdqu %ymm1, 0x60(%r14)
pushq $0x40
popq %r11
cmpq $-0x20, %r11
je 0x83d7
movq (%r14,%r11), %rax
movq 0x8(%r14,%r11), %rcx
movq 0x10(%r14,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%r14,%r11), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %rbp
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rax # imm = 0xA39C9A999695938E
addq %rax, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %rbp, %r12
xorq %rdi, %r12
movq %r12, %rax
xorq %r15, %rax
xorq %rsi, %r12
xorq %rsi, %r15
xorq %r15, %rbp
xorq %rdi, %r15
movq 0x20(%r14,%r11), %rdx
movq 0x30(%r14,%r11), %rcx
movq 0x38(%r14,%r11), %rsi
leaq (%rcx,%rdx), %rdi
movabsq $-0x727478878b8d8e94, %r8 # imm = 0x8D8B87787472716C
addq %rsi, %r8
addq %rdi, %r8
movq 0x28(%r14,%r11), %r9
addq %rsi, %rcx
movabsq $0x6a696665635c5a59, %r10 # imm = 0x6A696665635C5A59
addq %r9, %r10
addq %r10, %rcx
movabsq $0x5655534e4d4b473c, %r10 # imm = 0x5655534E4D4B473C
addq %r9, %r10
addq %rdi, %r10
rorxq $0x29, %rcx, %rcx
rorxq $0x1b, %r10, %rdi
movabsq $-0xf171b1d1e272b2e, %r10 # imm = 0xF0E8E4E2E1D8D4D2
addq %rdx, %rsi
movabsq $0x3a393635332e2d2b, %rdx # imm = 0x3A393635332E2D2B
addq %rdx, %r9
addq %rsi, %r9
rorxq $0x5, %r9, %rdx
movq %rdx, %rsi
xorq %rdi, %rsi
movq %rsi, %r9
xorq %rcx, %r9
addq %rax, %r9
rorxq $0x35, %r8, %rax
xorq %rax, %rsi
addq %r12, %rsi
xorq %rax, %rcx
xorq %rcx, %rdx
addq %rbp, %rdx
xorq %rdi, %rcx
addq %r15, %rcx
movq %r9, 0x18(%r14,%r11)
movq %rsi, (%r14,%r11)
movq %rdx, 0x8(%r14,%r11)
movq %rcx, 0x10(%r14,%r11)
addq $-0x20, %r11
jmp 0x8289
movq 0x10(%rsp), %rax
leaq (%rax,%rbx,8), %rax
addq $0x40, %rax
movq 0x40(%rsp), %rcx
leaq (%rcx,%rbx,8), %rcx
xorl %ebx, %ebx
xorl %r11d, %r11d
movb (%r14,%r11), %bpl
cmpq %rbx, %r13
je 0x841e
xorb (%rax,%rbx), %bpl
movb %bpl, (%rcx,%rbx)
movb (%rax,%rbx), %dl
movb %dl, (%r14,%r11)
leaq 0x1(%r11), %rdx
addq $0x21, %r11
testb $0x1f, %dl
cmovneq %rdx, %r11
incq %rbx
jmp 0x83f2
xorb $0x1, %bpl
movb %bpl, (%r14,%r11)
movq (%r14), %rax
movq 0x10(%r14), %rcx
movq 0x18(%r14), %rdx
leaq (%rcx,%rax), %rsi
vmovdqu 0x8(%r14), %xmm1
vpbroadcastq %rsi, %xmm2
vpinsrq $0x1, %rdx, %xmm1, %xmm1
vpaddq %xmm1, %xmm2, %xmm1
vpaddq 0x1bad(%rip), %xmm1, %xmm1 # 0xa000
vprolvq 0x1bb3(%rip), %xmm1, %xmm1 # 0xa010
vpbroadcastq %rdx, %xmm2
vmovq %rcx, %xmm3
vmovq %rax, %xmm4
vpunpcklqdq %xmm3, %xmm4, %xmm3 # xmm3 = xmm4[0],xmm3[0]
vpaddq %xmm3, %xmm2, %xmm2
vpaddq 0x8(%r14){1to2}, %xmm2, %xmm2
vpaddq 0x1b9c(%rip), %xmm2, %xmm2 # 0xa020
vprolvq 0x1ba2(%rip), %xmm2, %xmm2 # 0xa030
vpxor %xmm1, %xmm2, %xmm3
vpermq $0x14, %ymm3, %ymm3     # ymm3 = ymm3[0,1,1,0]
vpermt2q %ymm2, %ymm0, %ymm1
vpxor %ymm1, %ymm3, %ymm1
vpaddq 0x1bf6(%rip), %ymm1, %ymm1 # 0xa0a0
vmovdqu %ymm1, (%r14)
xorl %r11d, %r11d
movq 0x10(%rsp), %r13
movq 0x8(%rsp), %rbp
cmpq $0x60, %r11
je 0x860b
movq (%r14,%r11), %rax
movq 0x8(%r14,%r11), %rcx
movq 0x10(%r14,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%r14,%r11), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %rbx
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rax # imm = 0xA39C9A999695938E
addq %rax, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %rbx, %r12
xorq %rdi, %r12
movq %r12, %rax
xorq %r15, %rax
xorq %rsi, %r12
xorq %rsi, %r15
xorq %r15, %rbx
xorq %rdi, %r15
movq 0x20(%r14,%r11), %rdx
movq 0x30(%r14,%r11), %rcx
movq 0x38(%r14,%r11), %rsi
leaq (%rcx,%rdx), %rdi
movabsq $-0x727478878b8d8e94, %r8 # imm = 0x8D8B87787472716C
addq %rsi, %r8
addq %rdi, %r8
movq 0x28(%r14,%r11), %r9
addq %rsi, %rcx
movabsq $0x6a696665635c5a59, %r10 # imm = 0x6A696665635C5A59
addq %r9, %r10
addq %r10, %rcx
movabsq $0x5655534e4d4b473c, %r10 # imm = 0x5655534E4D4B473C
addq %r9, %r10
addq %rdi, %r10
rorxq $0x29, %rcx, %rcx
rorxq $0x1b, %r10, %rdi
movabsq $-0xf171b1d1e272b2e, %r10 # imm = 0xF0E8E4E2E1D8D4D2
addq %rdx, %rsi
movabsq $0x3a393635332e2d2b, %rdx # imm = 0x3A393635332E2D2B
addq %rdx, %r9
addq %rsi, %r9
rorxq $0x5, %r9, %rdx
movq %rdx, %rsi
xorq %rdi, %rsi
movq %rsi, %r9
xorq %rcx, %r9
addq %rax, %r9
rorxq $0x35, %r8, %rax
xorq %rax, %rsi
addq %r12, %rsi
xorq %rax, %rcx
xorq %rcx, %rdx
addq %rbx, %rdx
xorq %rdi, %rcx
addq %r15, %rcx
movq %r9, 0x38(%r14,%r11)
movq %rsi, 0x20(%r14,%r11)
movq %rdx, 0x28(%r14,%r11)
movq %rcx, 0x30(%r14,%r11)
addq $0x20, %r11
jmp 0x84bc
vmovdqu 0x68(%r14), %xmm1
movq 0x60(%r14), %rax
vmovq %rax, %xmm2
addq 0x70(%r14), %rax
vpunpcklqdq %xmm1, %xmm2, %xmm2 # xmm2 = xmm2[0],xmm1[0]
vpaddq %xmm2, %xmm1, %xmm1
vpinsrq $0x1, %rax, %xmm1, %xmm2
vpaddq 0x70(%r14), %xmm2, %xmm2
vpaddq 0x1a06(%rip), %xmm2, %xmm2 # 0xa040
vprolvq 0x1a0c(%rip), %xmm2, %xmm2 # 0xa050
vpaddq 0x78(%r14){1to2}, %xmm1, %xmm1
vpaddq 0x1a0d(%rip), %xmm1, %xmm1 # 0xa060
vprolvq 0x1a13(%rip), %xmm1, %xmm1 # 0xa070
vpxor %xmm2, %xmm1, %xmm3
vpermq $0x14, %ymm3, %ymm3     # ymm3 = ymm3[0,1,1,0]
vpermi2q %ymm1, %ymm2, %ymm0
vpxor %ymm0, %ymm3, %ymm0
vpaddq 0x1a47(%rip), %ymm0, %ymm0 # 0xa0c0
vmovdqu %ymm0, 0x60(%r14)
pushq $0x40
popq %r11
cmpq $-0x20, %r11
je 0x87d1
movq (%r14,%r11), %rax
movq 0x8(%r14,%r11), %rcx
movq 0x10(%r14,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%r14,%r11), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %rbx
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rax # imm = 0xA39C9A999695938E
addq %rax, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %rbx, %r12
xorq %rdi, %r12
movq %r12, %rax
xorq %r15, %rax
xorq %rsi, %r12
xorq %rsi, %r15
xorq %r15, %rbx
xorq %rdi, %r15
movq 0x20(%r14,%r11), %rdx
movq 0x30(%r14,%r11), %rcx
movq 0x38(%r14,%r11), %rsi
leaq (%rcx,%rdx), %rdi
movabsq $-0x727478878b8d8e94, %r8 # imm = 0x8D8B87787472716C
addq %rsi, %r8
addq %rdi, %r8
movq 0x28(%r14,%r11), %r9
addq %rsi, %rcx
movabsq $0x6a696665635c5a59, %r10 # imm = 0x6A696665635C5A59
addq %r9, %r10
addq %r10, %rcx
movabsq $0x5655534e4d4b473c, %r10 # imm = 0x5655534E4D4B473C
addq %r9, %r10
addq %rdi, %r10
rorxq $0x29, %rcx, %rcx
rorxq $0x1b, %r10, %rdi
movabsq $-0xf171b1d1e272b2e, %r10 # imm = 0xF0E8E4E2E1D8D4D2
addq %rdx, %rsi
movabsq $0x3a393635332e2d2b, %rdx # imm = 0x3A393635332E2D2B
addq %rdx, %r9
addq %rsi, %r9
rorxq $0x5, %r9, %rdx
movq %rdx, %rsi
xorq %rdi, %rsi
movq %rsi, %r9
xorq %rcx, %r9
addq %rax, %r9
rorxq $0x35, %r8, %rax
xorq %rax, %rsi
addq %r12, %rsi
xorq %rax, %rcx
xorq %rcx, %rdx
addq %rbx, %rdx
xorq %rdi, %rcx
addq %r15, %rcx
movq %r9, 0x18(%r14,%r11)
movq %rsi, (%r14,%r11)
movq %rdx, 0x8(%r14,%r11)
movq %rcx, 0x10(%r14,%r11)
addq $-0x20, %r11
jmp 0x8683
xorl %eax, %eax
xorl %ecx, %ecx
movq 0x30(%rsp), %r8
movq 0x18(%rsp), %r9
cmpq $0x3, %rax
ja 0x8fac
leaq (%rsp,%rcx,8), %rsi
addq $0xd0, %rsi
xorl %edx, %edx
cmpq $0x4, %rdx
je 0x8809
movq (%r14,%rdx,8), %rdi
addq %rdi, (%rsi,%rdx,8)
incq %rdx
jmp 0x87f6
addq $0x2, %rax
addq %rdx, %rcx
addq $0x40, %r14
jmp 0x87df
movq 0x37db(%rip), %rbx      # 0xbff8
movq 0x10(%rsp), %r13
movq (%rsp), %rdx
cmpq $0x10, %rax
je 0x883a
movq 0x50(%rsp,%rax,8), %rcx
movq %rcx, (%rbx,%rax,8)
incq %rax
jmp 0x8826
incq %rdx
xorq (%rbx), %rdx
vmovdqa 0x10(%rbx), %xmm1
movq 0x10(%rbx), %rax
addq %rdx, %rax
vpbroadcastq %rax, %xmm2
vpblendd $0x3, 0x8(%rbx), %xmm1, %xmm3 # xmm3 = mem[0,1],xmm1[2,3]
vpaddq %xmm3, %xmm2, %xmm2
vpaddq 0x179b(%rip), %xmm2, %xmm2 # 0xa000
vprolvq 0x17a1(%rip), %xmm2, %xmm2 # 0xa010
vpinsrq $0x0, %rdx, %xmm1, %xmm3
vpshufd $0x4e, %xmm1, %xmm1     # xmm1 = xmm1[2,3,0,1]
vpaddq %xmm3, %xmm1, %xmm1
vpaddq 0x8(%rbx){1to2}, %xmm1, %xmm1
vpaddq 0x1793(%rip), %xmm1, %xmm1 # 0xa020
vprolvq 0x1799(%rip), %xmm1, %xmm1 # 0xa030
vpxor %xmm2, %xmm1, %xmm3
vpermq $0x14, %ymm3, %ymm3     # ymm3 = ymm3[0,1,1,0]
vpermt2q %ymm1, %ymm0, %ymm2
vpxor %ymm2, %ymm3, %ymm1
vpaddq 0x17ed(%rip), %ymm1, %ymm1 # 0xa0a0
vmovdqu %ymm1, (%rbx)
xorl %r11d, %r11d
cmpq $0x60, %r11
je 0x8a09
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r14
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rax # imm = 0xA39C9A999695938E
addq %rax, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r14, %r12
xorq %rdi, %r12
movq %r12, %rax
xorq %r15, %rax
xorq %rsi, %r12
xorq %rsi, %r15
xorq %r15, %r14
xorq %rdi, %r15
movq 0x20(%rbx,%r11), %rdx
movq 0x30(%rbx,%r11), %rcx
movq 0x38(%rbx,%r11), %rsi
leaq (%rcx,%rdx), %rdi
movabsq $-0x727478878b8d8e94, %r8 # imm = 0x8D8B87787472716C
addq %rsi, %r8
addq %rdi, %r8
movq 0x28(%rbx,%r11), %r9
addq %rsi, %rcx
movabsq $0x6a696665635c5a59, %r10 # imm = 0x6A696665635C5A59
addq %r9, %r10
addq %r10, %rcx
movabsq $0x5655534e4d4b473c, %r10 # imm = 0x5655534E4D4B473C
addq %r9, %r10
addq %rdi, %r10
rorxq $0x29, %rcx, %rcx
rorxq $0x1b, %r10, %rdi
movabsq $-0xf171b1d1e272b2e, %r10 # imm = 0xF0E8E4E2E1D8D4D2
addq %rdx, %rsi
movabsq $0x3a393635332e2d2b, %rdx # imm = 0x3A393635332E2D2B
addq %rdx, %r9
addq %rsi, %r9
rorxq $0x5, %r9, %rdx
movq %rdx, %rsi
xorq %rdi, %rsi
movq %rsi, %r9
xorq %rcx, %r9
addq %rax, %r9
rorxq $0x35, %r8, %rax
xorq %rax, %rsi
addq %r12, %rsi
xorq %rax, %rcx
xorq %rcx, %rdx
addq %r14, %rdx
xorq %rdi, %rcx
addq %r15, %rcx
movq %r9, 0x38(%rbx,%r11)
movq %rsi, 0x20(%rbx,%r11)
movq %rdx, 0x28(%rbx,%r11)
movq %rcx, 0x30(%rbx,%r11)
addq $0x20, %r11
jmp 0x88ba
vmovdqu 0x68(%rbx), %xmm1
movq 0x60(%rbx), %rax
vmovq %rax, %xmm2
addq 0x70(%rbx), %rax
vpunpcklqdq %xmm1, %xmm2, %xmm2 # xmm2 = xmm2[0],xmm1[0]
vpaddq %xmm2, %xmm1, %xmm1
vpinsrq $0x1, %rax, %xmm1, %xmm2
vpaddq 0x70(%rbx), %xmm2, %xmm2
vpaddq 0x160a(%rip), %xmm2, %xmm2 # 0xa040
vprolvq 0x1610(%rip), %xmm2, %xmm2 # 0xa050
vpaddq 0x78(%rbx){1to2}, %xmm1, %xmm1
vpaddq 0x1611(%rip), %xmm1, %xmm1 # 0xa060
vprolvq 0x1617(%rip), %xmm1, %xmm1 # 0xa070
vpxor %xmm2, %xmm1, %xmm3
vpermq $0x14, %ymm3, %ymm3     # ymm3 = ymm3[0,1,1,0]
vpermt2q %ymm1, %ymm0, %ymm2
vpxor %ymm2, %ymm3, %ymm1
vpaddq 0x164b(%rip), %ymm1, %ymm1 # 0xa0c0
vmovdqu %ymm1, 0x60(%rbx)
pushq $0x40
popq %r11
cmpq $-0x20, %r11
je 0x8bcc
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r14
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rax # imm = 0xA39C9A999695938E
addq %rax, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r14, %r12
xorq %rdi, %r12
movq %r12, %rax
xorq %r15, %rax
xorq %rsi, %r12
xorq %rsi, %r15
xorq %r15, %r14
xorq %rdi, %r15
movq 0x20(%rbx,%r11), %rdx
movq 0x30(%rbx,%r11), %rcx
movq 0x38(%rbx,%r11), %rsi
leaq (%rcx,%rdx), %rdi
movabsq $-0x727478878b8d8e94, %r8 # imm = 0x8D8B87787472716C
addq %rsi, %r8
addq %rdi, %r8
movq 0x28(%rbx,%r11), %r9
addq %rsi, %rcx
movabsq $0x6a696665635c5a59, %r10 # imm = 0x6A696665635C5A59
addq %r9, %r10
addq %r10, %rcx
movabsq $0x5655534e4d4b473c, %r10 # imm = 0x5655534E4D4B473C
addq %r9, %r10
addq %rdi, %r10
rorxq $0x29, %rcx, %rcx
rorxq $0x1b, %r10, %rdi
movabsq $-0xf171b1d1e272b2e, %r10 # imm = 0xF0E8E4E2E1D8D4D2
addq %rdx, %rsi
movabsq $0x3a393635332e2d2b, %rdx # imm = 0x3A393635332E2D2B
addq %rdx, %r9
addq %rsi, %r9
rorxq $0x5, %r9, %rdx
movq %rdx, %rsi
xorq %rdi, %rsi
movq %rsi, %r9
xorq %rcx, %r9
addq %rax, %r9
rorxq $0x35, %r8, %rax
xorq %rax, %rsi
addq %r12, %rsi
xorq %rax, %rcx
xorq %rcx, %rdx
addq %r14, %rdx
xorq %rdi, %rcx
addq %r15, %rcx
movq %r9, 0x18(%rbx,%r11)
movq %rsi, (%rbx,%r11)
movq %rdx, 0x8(%rbx,%r11)
movq %rcx, 0x10(%rbx,%r11)
addq $-0x20, %r11
jmp 0x8a7e
xorb $0x1, (%rbx)
movq (%rbx), %rax
movq 0x10(%rbx), %rcx
movq 0x18(%rbx), %rdx
leaq (%rcx,%rax), %rsi
vmovdqu 0x8(%rbx), %xmm1
vpbroadcastq %rsi, %xmm2
vpinsrq $0x1, %rdx, %xmm1, %xmm1
vpaddq %xmm1, %xmm2, %xmm1
vpaddq 0x1405(%rip), %xmm1, %xmm1 # 0xa000
vprolvq 0x140b(%rip), %xmm1, %xmm1 # 0xa010
vpbroadcastq %rdx, %xmm2
vmovq %rcx, %xmm3
vmovq %rax, %xmm4
vpunpcklqdq %xmm3, %xmm4, %xmm3 # xmm3 = xmm4[0],xmm3[0]
vpaddq %xmm3, %xmm2, %xmm2
vpaddq 0x8(%rbx){1to2}, %xmm2, %xmm2
vpaddq 0x13f4(%rip), %xmm2, %xmm2 # 0xa020
vprolvq 0x13fa(%rip), %xmm2, %xmm2 # 0xa030
vpxor %xmm1, %xmm2, %xmm3
vpermq $0x14, %ymm3, %ymm3     # ymm3 = ymm3[0,1,1,0]
vpermt2q %ymm2, %ymm0, %ymm1
vpxor %ymm1, %ymm3, %ymm1
vpaddq 0x144e(%rip), %ymm1, %ymm1 # 0xa0a0
vmovdqu %ymm1, (%rbx)
xorl %r11d, %r11d
cmpq $0x60, %r11
je 0x8da8
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r14
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rax # imm = 0xA39C9A999695938E
addq %rax, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r14, %r12
xorq %rdi, %r12
movq %r12, %rax
xorq %r15, %rax
xorq %rsi, %r12
xorq %rsi, %r15
xorq %r15, %r14
xorq %rdi, %r15
movq 0x20(%rbx,%r11), %rdx
movq 0x30(%rbx,%r11), %rcx
movq 0x38(%rbx,%r11), %rsi
leaq (%rcx,%rdx), %rdi
movabsq $-0x727478878b8d8e94, %r8 # imm = 0x8D8B87787472716C
addq %rsi, %r8
addq %rdi, %r8
movq 0x28(%rbx,%r11), %r9
addq %rsi, %rcx
movabsq $0x6a696665635c5a59, %r10 # imm = 0x6A696665635C5A59
addq %r9, %r10
addq %r10, %rcx
movabsq $0x5655534e4d4b473c, %r10 # imm = 0x5655534E4D4B473C
addq %r9, %r10
addq %rdi, %r10
rorxq $0x29, %rcx, %rcx
rorxq $0x1b, %r10, %rdi
movabsq $-0xf171b1d1e272b2e, %r10 # imm = 0xF0E8E4E2E1D8D4D2
addq %rdx, %rsi
movabsq $0x3a393635332e2d2b, %rdx # imm = 0x3A393635332E2D2B
addq %rdx, %r9
addq %rsi, %r9
rorxq $0x5, %r9, %rdx
movq %rdx, %rsi
xorq %rdi, %rsi
movq %rsi, %r9
xorq %rcx, %r9
addq %rax, %r9
rorxq $0x35, %r8, %rax
xorq %rax, %rsi
addq %r12, %rsi
xorq %rax, %rcx
xorq %rcx, %rdx
addq %r14, %rdx
xorq %rdi, %rcx
addq %r15, %rcx
movq %r9, 0x38(%rbx,%r11)
movq %rsi, 0x20(%rbx,%r11)
movq %rdx, 0x28(%rbx,%r11)
movq %rcx, 0x30(%rbx,%r11)
addq $0x20, %r11
jmp 0x8c59
vmovdqu 0x68(%rbx), %xmm1
movq 0x60(%rbx), %rax
vmovq %rax, %xmm2
addq 0x70(%rbx), %rax
vpunpcklqdq %xmm1, %xmm2, %xmm2 # xmm2 = xmm2[0],xmm1[0]
vpaddq %xmm2, %xmm1, %xmm1
vpinsrq $0x1, %rax, %xmm1, %xmm2
vpaddq 0x70(%rbx), %xmm2, %xmm2
vpaddq 0x126b(%rip), %xmm2, %xmm2 # 0xa040
vprolvq 0x1271(%rip), %xmm2, %xmm2 # 0xa050
vpaddq 0x78(%rbx){1to2}, %xmm1, %xmm1
vpaddq 0x1272(%rip), %xmm1, %xmm1 # 0xa060
vprolvq 0x1278(%rip), %xmm1, %xmm1 # 0xa070
vpxor %xmm2, %xmm1, %xmm3
vpermq $0x14, %ymm3, %ymm3     # ymm3 = ymm3[0,1,1,0]
vpermi2q %ymm1, %ymm2, %ymm0
vpxor %ymm0, %ymm3, %ymm0
vpaddq 0x12ac(%rip), %ymm0, %ymm0 # 0xa0c0
vmovdqu %ymm0, 0x60(%rbx)
pushq $0x40
popq %r11
cmpq $-0x20, %r11
je 0x8f6b
movq (%rbx,%r11), %rax
movq 0x8(%rbx,%r11), %rcx
movq 0x10(%rbx,%r11), %rdx
leaq (%rcx,%rax), %rsi
leaq (%r10,%rdx), %rdi
addq %rsi, %rdi
rorxq $0x39, %rdi, %rdi
movq 0x18(%rbx,%r11), %r8
movabsq $-0x2e333536393a3c48, %r9 # imm = 0xD1CCCAC9C6C5C3B8
addq %r8, %r9
addq %rsi, %r9
rorxq $0x2d, %r9, %r14
addq %rdx, %rax
movabsq $-0x4b4d4e535556595b, %rsi # imm = 0xB4B2B1ACAAA9A6A5
addq %r8, %rsi
addq %rsi, %rax
rorxq $0x21, %rax, %rsi
addq %rcx, %rdx
movabsq $-0x5c636566696a6c72, %rax # imm = 0xA39C9A999695938E
addq %rax, %r8
addq %rdx, %r8
rorxq $0xb, %r8, %r15
movq %r14, %r12
xorq %rdi, %r12
movq %r12, %rax
xorq %r15, %rax
xorq %rsi, %r12
xorq %rsi, %r15
xorq %r15, %r14
xorq %rdi, %r15
movq 0x20(%rbx,%r11), %rdx
movq 0x30(%rbx,%r11), %rcx
movq 0x38(%rbx,%r11), %rsi
leaq (%rcx,%rdx), %rdi
movabsq $-0x727478878b8d8e94, %r8 # imm = 0x8D8B87787472716C
addq %rsi, %r8
addq %rdi, %r8
movq 0x28(%rbx,%r11), %r9
addq %rsi, %rcx
movabsq $0x6a696665635c5a59, %r10 # imm = 0x6A696665635C5A59
addq %r9, %r10
addq %r10, %rcx
movabsq $0x5655534e4d4b473c, %r10 # imm = 0x5655534E4D4B473C
addq %r9, %r10
addq %rdi, %r10
rorxq $0x29, %rcx, %rcx
rorxq $0x1b, %r10, %rdi
movabsq $-0xf171b1d1e272b2e, %r10 # imm = 0xF0E8E4E2E1D8D4D2
addq %rdx, %rsi
movabsq $0x3a393635332e2d2b, %rdx # imm = 0x3A393635332E2D2B
addq %rdx, %r9
addq %rsi, %r9
rorxq $0x5, %r9, %rdx
movq %rdx, %rsi
xorq %rdi, %rsi
movq %rsi, %r9
xorq %rcx, %r9
addq %rax, %r9
rorxq $0x35, %r8, %rax
xorq %rax, %rsi
addq %r12, %rsi
xorq %rax, %rcx
xorq %rcx, %rdx
addq %r14, %rdx
xorq %rdi, %rcx
addq %r15, %rcx
movq %r9, 0x18(%rbx,%r11)
movq %rsi, (%rbx,%r11)
movq %rdx, 0x8(%rbx,%r11)
movq %rcx, 0x10(%rbx,%r11)
addq $-0x20, %r11
jmp 0x8e1d
xorl %eax, %eax
xorl %ecx, %ecx
movq 0x30(%rsp), %r8
movq 0x18(%rsp), %r9
cmpq $0x3, %rax
ja 0x8fac
leaq (%rsp,%rcx,8), %rsi
addq $0xd0, %rsi
xorl %edx, %edx
cmpq $0x4, %rdx
je 0x8f9f
movq (%rbx,%rdx,8), %rdi
addq %rdi, (%rsi,%rdx,8)
incq %rdx
jmp 0x8f8c
addq $0x2, %rax
addq %rdx, %rcx
addq $0x40, %rbx
jmp 0x8f79
movq %r9, (%r8)
addq %rbp, %r13
xorl %eax, %eax
pushq $-0x1
popq %rcx
xorl %edx, %edx
movq 0x20(%rsp), %r8
leaq (%rdx,%rbp), %rsi
cmpq %r8, %rsi
jae 0x8fdf
movb (%r13,%rdx), %sil
leaq 0x1(%rdx), %rdi
cmpb 0xd0(%rsp,%rdx), %sil
movq %rdi, %rdx
je 0x8fbe
movl %ecx, %eax
addq $0x20d8, %rsp           # imm = 0x20D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
vzeroupper
retq