// File: Finsenty54[P]fast_collision/block1stevens11.cpp
// Function: find_block1_stevens_11(unsigned int*, unsigned int const*)
void find_block1_stevens_11(uint32 block[], const uint32 IV[])
{
	uint32 Q[68] = { IV[0], IV[3], IV[2], IV[1] };

	std::vector<uint32> q9q10mask(1<<5);
	for (unsigned k = 0; k < q9q10mask.size(); ++k)
		q9q10mask[k] = ((k<<5) ^ (k<<6) ^ (k<<7) ^ (k<<24) ^ (k<<27)) & 0x880002a0;
	
	std::vector<uint32> q9mask(1<<9);
	for (unsigned k = 0; k < q9mask.size(); ++k)
		q9mask[k] = ((k<<1) ^ (k<<3) ^ (k<<8) ^ (k<<12) ^ (k<<15) ^ (k<<18)) & 0x04710c12;
	
	while (true) 
	{
		uint32 aa = Q[Qoff] & 0x80000000;

		Q[Qoff + 2] = (xrng64() & 0x75bef63e) | 0x0a410041 | aa;
		Q[Qoff + 3] = (xrng64() & 0x10345614) | 0x0202a9e1 | (Q[Qoff + 2] & 0x84000002);
		Q[Qoff + 4] = (xrng64() & 0x00145400) | 0xe84ba909 | (Q[Qoff + 3] & 0x00000014);
		Q[Qoff + 5] = (xrng64() & 0x80000000) | 0x75e90b1d | (Q[Qoff + 4] & 0x00145400);
		Q[Qoff + 6] = 0x7c23ff5a | (Q[Qoff + 5] & 0x80000000);
		Q[Qoff + 7] = (xrng64() & 0x40000880) | 0x114bf41a;
		Q[Qoff + 8] = (xrng64() & 0x00002090) | 0xb352dd01;
		Q[Qoff + 9] = (xrng64() & 0x00044000) | 0x7a803124;
		Q[Qoff +10] = (xrng64() & 0x00002000) | 0xf28a92c9 | (Q[Qoff + 9] & 0x00044000);
		Q[Qoff +11] = (xrng64() & 0x128a8108) | 0xc5710ed7 | (Q[Qoff + 10] & 0x00002000);
		Q[Qoff +12] = (xrng64() & 0x9edb8d7f) | 0x20003080 | (~Q[Qoff + 11] & 0x00200000);
		Q[Qoff +13] = (xrng64() & 0x3efb1d77) | 0x4004c008 | (Q[Qoff + 12] & 0x80000000);
		Q[Qoff +14] = (xrng64() & 0x1fff5d77) | 0x0000a288;
		Q[Qoff +15] = (xrng64() & 0x1efe7ff7) | 0x20008000 | (~Q[Qoff + 14] & 0x00010000);
		Q[Qoff +16] = (xrng64() & 0x1ffdffff) | 0x20000000 | (~Q[Qoff + 15] & 0x40020000);
		
		MD5_REVERSE_STEP(5, 0x4787c62a, 12);
		MD5_REVERSE_STEP(6, 0xa8304613, 17);
		MD5_REVERSE_STEP(7, 0xfd469501, 22);
		MD5_REVERSE_STEP(11, 0x895cd7be, 22);
		MD5_REVERSE_STEP(14, 0xa679438e, 17);
		MD5_REVERSE_STEP(15, 0x49b40821, 22);

		const uint32 tt17 = GG(Q[Qoff + 16], Q[Qoff + 15], Q[Qoff + 14]) + Q[Qoff + 13] + 0xf61e2562;
		const uint32 tt18 = Q[Qoff + 14] + 0xc040b340 + block[6];
		const uint32 tt19 = Q[Qoff + 15] + 0x265e5a51 + block[11];

		const uint32 tt0 = FF(Q[Qoff + 0], Q[Qoff - 1], Q[Qoff - 2]) + Q[Qoff - 3] + 0xd76aa478;
		const uint32 tt1 = Q[Qoff - 2] + 0xe8c7b756;		

		const uint32 q1a = 0x02000861 ^ (Q[Qoff + 0] & 0x80000020);
		
		unsigned counter = 0;
		while (counter < (1 << 12))
		{
			++counter;

			uint32 q1 = q1a | (xrng64() & 0x7dfff79e);
			uint32 m1 = Q[Qoff+2] - q1;
			m1 = RR(m1, 12) - FF(q1, Q[Qoff+0], Q[Qoff-1]) - tt1;

			const uint32 q16 = Q[Qoff+16];
			uint32 q17 = tt17 + m1;
			q17 = RL(q17, 5) + q16;
			if (0x40000000 != ((q17^q16) & 0xc0008008)) continue;
			if (0 != (q17 & 0x00020000)) continue;

			uint32 q18 = GG(q17, q16, Q[Qoff+15]) + tt18;
			q18 = RL(q18, 9); q18 += q17;
			if (0x80020000 != ((q18^q17) & 0xa0020000)) continue;

			uint32 q19 = GG(q18, q17, q16) + tt19;
			q19 = RL(q19, 14); q19 += q18;
			if (0x80000000 != (q19 & 0x80020000)) continue;

			uint32 m0 = q1 - Q[Qoff + 0];
			m0 = RR(m0, 7) - tt0;

			uint32 q20 = GG(q19, q18, q17) + q16 + 0xe9b6c7aa + m0;
			q20 = RL(q20, 20); q20 += q19;
			if (0x00040000 != ((q20^q19) & 0x80040000))	continue;
			
			Q[Qoff + 1] = q1;
			Q[Qoff + 17] = q17;
			Q[Qoff + 18] = q18;
			Q[Qoff + 19] = q19;
			Q[Qoff + 20] = q20;

			block[0] = m0;
			block[1] = m1;

			MD5_REVERSE_STEP(5, 0x4787c62a, 12);
			uint32 q21 = GG(Q[Qoff+20], Q[Qoff+19], Q[Qoff+18]) + Q[Qoff+17] + 0xd62f105d + block[5];
			q21 = RL(q21, 5); q21 += Q[Qoff+20];
			if (0 != ((q21^Q[Qoff+20]) & 0x80020000)) continue;

			Q[Qoff+21] = q21;

			counter = 0;
			break;
		}
		if (counter != 0)
			continue;

		const uint32 q9b = Q[Qoff + 9];
		const uint32 q10b = Q[Qoff + 10];

		MD5_REVERSE_STEP(2, 0x242070db, 17);
		MD5_REVERSE_STEP(3, 0xc1bdceee, 22);
		MD5_REVERSE_STEP(4, 0xf57c0faf, 7);
		MD5_REVERSE_STEP(7, 0xfd469501, 22);

		const uint32 tt10 = Q[Qoff + 7] + 0xffff5bb1;
		const uint32 tt22 = GG(Q[Qoff + 21], Q[Qoff + 20], Q[Qoff + 19]) + Q[Qoff + 18] + 0x02441453;
		const uint32 tt23 = Q[Qoff + 19] + 0xd8a1e681 + block[15];
		const uint32 tt24 = Q[Qoff + 20] + 0xe7d3fbc8 + block[4];
	 
		for (unsigned k10 = 0; k10 < (1<<5); ++k10)
		{
			uint32 q10 = q10b | (q9q10mask[k10]&0x08000040);
			uint32 m10 = RR(Q[Qoff+11]-q10,17);
			uint32 q9 = q9b | (q9q10mask[k10]&0x80000280);

			m10 -= FF(q10, q9, Q[Qoff+8]) + tt10;

			uint32 aa = Q[Qoff + 21];
			uint32 dd = tt22+m10; dd = RL(dd, 9) + aa;
			if (0 == (dd & 0x80000000)) continue;			

			uint32 bb = Q[Qoff + 20];
			uint32 cc = tt23 + GG(dd, aa, bb); 
			if (0 != (cc & 0x20000)) continue;
			cc = RL(cc, 14) + dd;
			if (0 != (cc & 0x80000000)) continue;

			bb = tt24 + GG(cc, dd, aa); bb = RL(bb, 20) + cc;
			if (0 == (bb & 0x80000000)) continue;

			block[10] = m10;
			Q[Qoff + 9] = q9;
			Q[Qoff + 10] = q10;
			MD5_REVERSE_STEP(13, 0xfd987193, 12);

			for (unsigned k9 = 0; k9 < (1<<9); ++k9)
			{
				uint32 a = aa, b = bb, c = cc, d = dd;
				Q[Qoff + 9] = q9 ^ q9mask[k9];
				MD5_REVERSE_STEP(8, 0x698098d8, 7);
				MD5_REVERSE_STEP(9, 0x8b44f7af, 12);
				MD5_REVERSE_STEP(12, 0x6b901122, 7);

				MD5_STEP(GG, a, b, c, d, block[9], 0x21e1cde6, 5);
				MD5_STEP(GG, d, a, b, c, block[14], 0xc33707d6, 9);
				MD5_STEP(GG, c, d, a, b, block[3], 0xf4d50d87, 14);
				MD5_STEP(GG, b, c, d, a, block[8], 0x455a14ed, 20);
				MD5_STEP(GG, a, b, c, d, block[13], 0xa9e3e905, 5);
				MD5_STEP(GG, d, a, b, c, block[2], 0xfcefa3f8, 9);
				MD5_STEP(GG, c, d, a, b, block[7], 0x676f02d9, 14);
				MD5_STEP(GG, b, c, d, a, block[12], 0x8d2a4c8a, 20);
				MD5_STEP(HH, a, b, c, d, block[5], 0xfffa3942, 4);
				MD5_STEP(HH, d, a, b, c, block[8], 0x8771f681, 11);

				c += HH(d, a, b) + block[11] + 0x6d9d6122;
				if (0 != (c & (1 << 15)))
					continue;
				c = (c<<16 | c>>16) + d;
					
				MD5_STEP(HH, b, c, d, a, block[14], 0xfde5380c, 23);
				MD5_STEP(HH, a, b, c, d, block[1], 0xa4beea44, 4);
				MD5_STEP(HH, d, a, b, c, block[4], 0x4bdecfa9, 11);
				MD5_STEP(HH, c, d, a, b, block[7], 0xf6bb4b60, 16);
				MD5_STEP(HH, b, c, d, a, block[10], 0xbebfbc70, 23);
				MD5_STEP(HH, a, b, c, d, block[13], 0x289b7ec6, 4);
				MD5_STEP(HH, d, a, b, c, block[0], 0xeaa127fa, 11);
				MD5_STEP(HH, c, d, a, b, block[3], 0xd4ef3085, 16);
				MD5_STEP(HH, b, c, d, a, block[6], 0x04881d05, 23);
				MD5_STEP(HH, a, b, c, d, block[9], 0xd9d4d039, 4);
				MD5_STEP(HH, d, a, b, c, block[12], 0xe6db99e5, 11);
				MD5_STEP(HH, c, d, a, b, block[15], 0x1fa27cf8, 16);
				MD5_STEP(HH, b, c, d, a, block[2], 0xc4ac5665, 23);
				if (0 != ((b^d) & 0x80000000))
					continue;

				MD5_STEP(II, a, b, c, d, block[0], 0xf4292244, 6);
				if (0 != ((a^c) >> 31)) continue;
				MD5_STEP(II, d, a, b, c, block[7], 0x432aff97, 10);
				if (0 == ((b^d) >> 31)) continue;
				MD5_STEP(II, c, d, a, b, block[14], 0xab9423a7, 15);
				if (0 != ((a^c) >> 31)) continue;
				MD5_STEP(II, b, c, d, a, block[5], 0xfc93a039, 21);
				if (0 != ((b^d) >> 31)) continue;
				MD5_STEP(II, a, b, c, d, block[12], 0x655b59c3, 6);
				if (0 != ((a^c) >> 31)) continue;
				MD5_STEP(II, d, a, b, c, block[3], 0x8f0ccc92, 10);
				if (0 != ((b^d) >> 31)) continue;
				MD5_STEP(II, c, d, a, b, block[10], 0xffeff47d, 15);
				if (0 != ((a^c) >> 31)) continue;
				MD5_STEP(II, b, c, d, a, block[1], 0x85845dd1, 21);
				if (0 != ((b^d) >> 31)) continue;
				MD5_STEP(II, a, b, c, d, block[8], 0x6fa87e4f, 6);
				if (0 != ((a^c) >> 31)) continue;
				MD5_STEP(II, d, a, b, c, block[15], 0xfe2ce6e0, 10);
				if (0 != ((b^d) >> 31)) continue;
				MD5_STEP(II, c, d, a, b, block[6], 0xa3014314, 15);
				if (0 != ((a^c) >> 31)) continue;
				MD5_STEP(II, b, c, d, a, block[13], 0x4e0811a1, 21);
				if (0 == ((b^d) >> 31)) continue;
				MD5_STEP(II, a, b, c, d, block[4], 0xf7537e82, 6);
				if (0 != ((a^c) >> 31)) continue;
				MD5_STEP(II, d, a, b, c, block[11], 0xbd3af235, 10);
				if (0 != ((b^d) >> 31)) continue;
				MD5_STEP(II, c, d, a, b, block[2], 0x2ad7d2bb, 15);
				if (0 != ((a^c) >> 31)) continue;
				MD5_STEP(II, b, c, d, a, block[9], 0xeb86d391, 21);

				std::cout << "." << std::flush;

				uint32 block2[16];
				uint32 IV1[4], IV2[4];
				for (int t = 0; t < 4; ++t)
				{
					IV1[t] = IV[t];
					IV2[t] = IV[t] + (1 << 31);
				}
				IV2[1] -= (1 << 25);
				IV2[2] -= (1 << 25);
				IV2[3] -= (1 << 25);

				for (int t = 0; t < 16; ++t)
					block2[t] = block[t];
				block2[4] += 1<<31;
				block2[11] += 1<<15;
				block2[14] += 1<<31;

				md5_compress(IV1, block);
				md5_compress(IV2, block2);
				if (IV2[0]==IV1[0] && IV2[1]==IV1[1] && IV2[2]==IV1[2] && IV2[3]==IV1[3])
					return;
				if (IV2[0] != IV1[0])
						std::cout << "!" << std::flush;
			}
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x470, %rsp            # imm = 0x470
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0x120(%rbp), %rdi
xorl %esi, %esi
movl $0x110, %edx            # imm = 0x110
callq 0x1090
movq -0x10(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x120(%rbp)
movq -0x10(%rbp), %rax
movl 0xc(%rax), %eax
movl %eax, -0x11c(%rbp)
movq -0x10(%rbp), %rax
movl 0x8(%rax), %eax
movl %eax, -0x118(%rbp)
movq -0x10(%rbp), %rax
movl 0x4(%rax), %eax
movl %eax, -0x114(%rbp)
leaq -0x139(%rbp), %rdi
movq %rdi, -0x270(%rbp)
callq 0x4400
movq -0x270(%rbp), %rdx
leaq -0x138(%rbp), %rdi
movl $0x20, %esi
callq 0x4420
jmp 0xd2c6
leaq -0x139(%rbp), %rdi
callq 0x4490
movl $0x0, -0x150(%rbp)
movl -0x150(%rbp), %eax
movq %rax, -0x278(%rbp)
leaq -0x138(%rbp), %rdi
callq 0x44b0
movq %rax, %rcx
movq -0x278(%rbp), %rax
cmpq %rcx, %rax
jae 0xd39b
movl -0x150(%rbp), %eax
shll $0x5, %eax
movl -0x150(%rbp), %ecx
shll $0x6, %ecx
xorl %ecx, %eax
movl -0x150(%rbp), %ecx
shll $0x7, %ecx
xorl %ecx, %eax
movl -0x150(%rbp), %ecx
shll $0x18, %ecx
xorl %ecx, %eax
movl -0x150(%rbp), %ecx
shll $0x1b, %ecx
xorl %ecx, %eax
andl $0x880002a0, %eax       # imm = 0x880002A0
movl %eax, -0x27c(%rbp)
movl -0x150(%rbp), %eax
movl %eax, %esi
leaq -0x138(%rbp), %rdi
callq 0x44d0
movl -0x27c(%rbp), %ecx
movl %ecx, (%rax)
movl -0x150(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x150(%rbp)
jmp 0xd2dc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x148(%rbp)
movl %eax, -0x14c(%rbp)
leaq -0x139(%rbp), %rdi
callq 0x4490
jmp 0xf929
leaq -0x169(%rbp), %rdi
movq %rdi, -0x288(%rbp)
callq 0x4400
movq -0x288(%rbp), %rdx
leaq -0x168(%rbp), %rdi
movl $0x200, %esi            # imm = 0x200
callq 0x4420
jmp 0xd3c8
leaq -0x169(%rbp), %rdi
callq 0x4490
movl $0x0, -0x170(%rbp)
movl -0x170(%rbp), %eax
movq %rax, -0x290(%rbp)
leaq -0x168(%rbp), %rdi
callq 0x44b0
movq %rax, %rcx
movq -0x290(%rbp), %rax
cmpq %rcx, %rax
jae 0xd4a7
movl -0x170(%rbp), %eax
shll %eax
movl -0x170(%rbp), %ecx
shll $0x3, %ecx
xorl %ecx, %eax
movl -0x170(%rbp), %ecx
shll $0x8, %ecx
xorl %ecx, %eax
movl -0x170(%rbp), %ecx
shll $0xc, %ecx
xorl %ecx, %eax
movl -0x170(%rbp), %ecx
shll $0xf, %ecx
xorl %ecx, %eax
movl -0x170(%rbp), %ecx
shll $0x12, %ecx
xorl %ecx, %eax
andl $0x4710c12, %eax        # imm = 0x4710C12
movl %eax, -0x294(%rbp)
movl -0x170(%rbp), %eax
movl %eax, %esi
leaq -0x168(%rbp), %rdi
callq 0x44d0
movl -0x294(%rbp), %ecx
movl %ecx, (%rax)
movl -0x170(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x170(%rbp)
jmp 0xd3de
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x148(%rbp)
movl %eax, -0x14c(%rbp)
leaq -0x169(%rbp), %rdi
callq 0x4490
jmp 0xf91d
jmp 0xd4a9
jmp 0xd4ab
movl -0x114(%rbp), %eax
andl $0x80000000, %eax       # imm = 0x80000000
movl %eax, -0x174(%rbp)
callq 0x44f0
movl %eax, -0x298(%rbp)
jmp 0xd4c9
movl -0x298(%rbp), %eax
andl $0x75bef63e, %eax       # imm = 0x75BEF63E
movl -0x174(%rbp), %ecx
orl %ecx, %eax
orl $0xa410041, %eax        # imm = 0xA410041
movl %eax, -0x10c(%rbp)
callq 0x44f0
movl %eax, -0x29c(%rbp)
jmp 0xd4f4
movl -0x29c(%rbp), %edx
andl $0x10345614, %edx       # imm = 0x10345614
movl -0x10c(%rbp), %eax
andl $0x84000002, %eax       # imm = 0x84000002
movl %eax, %ecx
movl %edx, %eax
leal 0x202a9e1(%rax,%rcx), %eax
movl %eax, -0x108(%rbp)
callq 0x44f0
movl %eax, -0x2a0(%rbp)
jmp 0xd529
movl -0x2a0(%rbp), %edx
andl $0x145400, %edx         # imm = 0x145400
movl -0x108(%rbp), %eax
andl $0x14, %eax
movl %eax, %ecx
movl %edx, %eax
leal -0x17b456f7(%rax,%rcx), %eax
movl %eax, -0x104(%rbp)
callq 0x44f0
movl %eax, -0x2a4(%rbp)
jmp 0xd55c
movl -0x2a4(%rbp), %edx
andl $0x80000000, %edx       # imm = 0x80000000
movl -0x104(%rbp), %eax
andl $0x145400, %eax         # imm = 0x145400
movl %eax, %ecx
movl %edx, %eax
leal 0x75e90b1d(%rax,%rcx), %eax
movl %eax, -0x100(%rbp)
movl -0x100(%rbp), %eax
andl $0x80000000, %eax       # imm = 0x80000000
orl $0x7c23ff5a, %eax       # imm = 0x7C23FF5A
movl %eax, -0xfc(%rbp)
callq 0x44f0
movl %eax, -0x2a8(%rbp)
jmp 0xd5a7
movl -0x2a8(%rbp), %eax
andl $0x40000880, %eax       # imm = 0x40000880
orl $0x114bf41a, %eax       # imm = 0x114BF41A
movl %eax, -0xf8(%rbp)
callq 0x44f0
movl %eax, -0x2ac(%rbp)
jmp 0xd5ca
movl -0x2ac(%rbp), %eax
andl $0x2090, %eax           # imm = 0x2090
orl $0xb352dd01, %eax       # imm = 0xB352DD01
movl %eax, -0xf4(%rbp)
callq 0x44f0
movl %eax, -0x2b0(%rbp)
jmp 0xd5ed
movl -0x2b0(%rbp), %eax
andl $0x44000, %eax          # imm = 0x44000
orl $0x7a803124, %eax       # imm = 0x7A803124
movl %eax, -0xf0(%rbp)
callq 0x44f0
movl %eax, -0x2b4(%rbp)
jmp 0xd610
movl -0x2b4(%rbp), %edx
andl $0x2000, %edx           # imm = 0x2000
movl -0xf0(%rbp), %eax
andl $0x44000, %eax          # imm = 0x44000
movl %eax, %ecx
movl %edx, %eax
leal -0xd756d37(%rax,%rcx), %eax
movl %eax, -0xec(%rbp)
callq 0x44f0
movl %eax, -0x2b8(%rbp)
jmp 0xd645
movl -0x2b8(%rbp), %edx
andl $0x128a8108, %edx       # imm = 0x128A8108
movl -0xec(%rbp), %eax
andl $0x2000, %eax           # imm = 0x2000
movl %eax, %ecx
movl %edx, %eax
leal -0x3a8ef129(%rax,%rcx), %eax
movl %eax, -0xe8(%rbp)
callq 0x44f0
movl %eax, -0x2bc(%rbp)
jmp 0xd67a
movl -0x2bc(%rbp), %ecx
andl $0x9edb8d7f, %ecx       # imm = 0x9EDB8D7F
movl -0xe8(%rbp), %edx
notl %edx
andl $0x200000, %edx         # imm = 0x200000
movl %ecx, %eax
movl %edx, %ecx
leal 0x20003080(%rax,%rcx), %eax
movl %eax, -0xe4(%rbp)
callq 0x44f0
movl %eax, -0x2c0(%rbp)
jmp 0xd6b2
movl -0x2c0(%rbp), %edx
andl $0x3efb1d77, %edx       # imm = 0x3EFB1D77
movl -0xe4(%rbp), %eax
andl $0x80000000, %eax       # imm = 0x80000000
movl %eax, %ecx
movl %edx, %eax
leal 0x4004c008(%rax,%rcx), %eax
movl %eax, -0xe0(%rbp)
callq 0x44f0
movl %eax, -0x2c4(%rbp)
jmp 0xd6e7
movl -0x2c4(%rbp), %eax
andl $0x1fff5d77, %eax       # imm = 0x1FFF5D77
orl $0xa288, %eax           # imm = 0xA288
movl %eax, -0xdc(%rbp)
callq 0x44f0
movl %eax, -0x2c8(%rbp)
jmp 0xd70a
movl -0x2c8(%rbp), %ecx
andl $0x1efe7ff7, %ecx       # imm = 0x1EFE7FF7
movl -0xdc(%rbp), %edx
notl %edx
andl $0x10000, %edx          # imm = 0x10000
movl %ecx, %eax
movl %edx, %ecx
leal 0x20008000(%rax,%rcx), %eax
movl %eax, -0xd8(%rbp)
callq 0x44f0
movl %eax, -0x2cc(%rbp)
jmp 0xd742
movl -0x2cc(%rbp), %ecx
andl $0x1ffdffff, %ecx       # imm = 0x1FFDFFFF
movl -0xd8(%rbp), %edx
notl %edx
andl $0x40020000, %edx       # imm = 0x40020000
movl %ecx, %eax
movl %edx, %ecx
leal 0x20000000(%rax,%rcx), %eax
movl %eax, -0xd4(%rbp)
movl -0x100(%rbp), %eax
movl -0xfc(%rbp), %ecx
subl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x14(%rax)
movq -0x8(%rbp), %rax
movl 0x14(%rax), %edi
movl $0xc, %esi
callq 0x4540
movl %eax, -0x2d0(%rbp)
jmp 0xd79b
movl -0x100(%rbp), %edi
movl -0x108(%rbp), %edx
movl -0x104(%rbp), %esi
callq 0x4570
movl %eax, -0x2d4(%rbp)
jmp 0xd7ba
movl -0x2d4(%rbp), %eax
movl -0x2d0(%rbp), %ecx
subl %eax, %ecx
movl -0x10c(%rbp), %eax
subl %eax, %ecx
addl $0xb87839d6, %ecx       # imm = 0xB87839D6
movq -0x8(%rbp), %rax
movl %ecx, 0x14(%rax)
movl -0xfc(%rbp), %eax
movl -0xf8(%rbp), %ecx
subl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x18(%rax)
movq -0x8(%rbp), %rax
movl 0x18(%rax), %edi
movl $0x11, %esi
callq 0x4540
movl %eax, -0x2d8(%rbp)
jmp 0xd80b
movl -0xfc(%rbp), %edi
movl -0x104(%rbp), %edx
movl -0x100(%rbp), %esi
callq 0x4570
movl %eax, -0x2dc(%rbp)
jmp 0xd82a
movl -0x2dc(%rbp), %eax
movl -0x2d8(%rbp), %ecx
subl %eax, %ecx
movl -0x108(%rbp), %eax
subl %eax, %ecx
addl $0x57cfb9ed, %ecx       # imm = 0x57CFB9ED
movq -0x8(%rbp), %rax
movl %ecx, 0x18(%rax)
movl -0xf8(%rbp), %eax
movl -0xf4(%rbp), %ecx
subl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x1c(%rax)
movq -0x8(%rbp), %rax
movl 0x1c(%rax), %edi
movl $0x16, %esi
callq 0x4540
movl %eax, -0x2e0(%rbp)
jmp 0xd87b
movl -0xf8(%rbp), %edi
movl -0x100(%rbp), %edx
movl -0xfc(%rbp), %esi
callq 0x4570
movl %eax, -0x2e4(%rbp)
jmp 0xd89a
movl -0x2e4(%rbp), %eax
movl -0x2e0(%rbp), %ecx
subl %eax, %ecx
movl -0x104(%rbp), %eax
subl %eax, %ecx
addl $0x2b96aff, %ecx        # imm = 0x2B96AFF
movq -0x8(%rbp), %rax
movl %ecx, 0x1c(%rax)
movl -0xe8(%rbp), %eax
movl -0xe4(%rbp), %ecx
subl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x2c(%rax)
movq -0x8(%rbp), %rax
movl 0x2c(%rax), %edi
movl $0x16, %esi
callq 0x4540
movl %eax, -0x2e8(%rbp)
jmp 0xd8eb
movl -0xe8(%rbp), %edi
movl -0xf0(%rbp), %edx
movl -0xec(%rbp), %esi
callq 0x4570
movl %eax, -0x2ec(%rbp)
jmp 0xd90a
movl -0x2ec(%rbp), %eax
movl -0x2e8(%rbp), %ecx
subl %eax, %ecx
movl -0xf4(%rbp), %eax
subl %eax, %ecx
addl $0x76a32842, %ecx       # imm = 0x76A32842
movq -0x8(%rbp), %rax
movl %ecx, 0x2c(%rax)
movl -0xdc(%rbp), %eax
movl -0xd8(%rbp), %ecx
subl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x38(%rax)
movq -0x8(%rbp), %rax
movl 0x38(%rax), %edi
movl $0x11, %esi
callq 0x4540
movl %eax, -0x2f0(%rbp)
jmp 0xd95b
movl -0xdc(%rbp), %edi
movl -0xe4(%rbp), %edx
movl -0xe0(%rbp), %esi
callq 0x4570
movl %eax, -0x2f4(%rbp)
jmp 0xd97a
movl -0x2f4(%rbp), %eax
movl -0x2f0(%rbp), %ecx
subl %eax, %ecx
movl -0xe8(%rbp), %eax
subl %eax, %ecx
addl $0x5986bc72, %ecx       # imm = 0x5986BC72
movq -0x8(%rbp), %rax
movl %ecx, 0x38(%rax)
movl -0xd8(%rbp), %eax
movl -0xd4(%rbp), %ecx
subl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x3c(%rax)
movq -0x8(%rbp), %rax
movl 0x3c(%rax), %edi
movl $0x16, %esi
callq 0x4540
movl %eax, -0x2f8(%rbp)
jmp 0xd9cb
movl -0xd8(%rbp), %edi
movl -0xe0(%rbp), %edx
movl -0xdc(%rbp), %esi
callq 0x4570
movl %eax, -0x2fc(%rbp)
jmp 0xd9ea
movl -0x2fc(%rbp), %eax
movl -0x2f8(%rbp), %ecx
subl %eax, %ecx
movl -0xe4(%rbp), %eax
subl %eax, %ecx
addl $0xb64bf7df, %ecx       # imm = 0xB64BF7DF
movq -0x8(%rbp), %rax
movl %ecx, 0x3c(%rax)
movl -0xd4(%rbp), %edi
movl -0xdc(%rbp), %edx
movl -0xd8(%rbp), %esi
callq 0x4590
movl %eax, -0x300(%rbp)
jmp 0xda2c
movl -0x300(%rbp), %edx
movl -0xe0(%rbp), %eax
movl %eax, %ecx
movl %edx, %eax
leal -0x9e1da9e(%rax,%rcx), %eax
movl %eax, -0x178(%rbp)
movl -0xdc(%rbp), %ecx
movq -0x8(%rbp), %rax
movl 0x18(%rax), %edx
movl %ecx, %eax
movl %edx, %ecx
leal -0x3fbf4cc0(%rax,%rcx), %eax
movl %eax, -0x17c(%rbp)
movl -0xd8(%rbp), %ecx
movq -0x8(%rbp), %rax
movl 0x2c(%rax), %edx
movl %ecx, %eax
movl %edx, %ecx
leal 0x265e5a51(%rax,%rcx), %eax
movl %eax, -0x180(%rbp)
movl -0x114(%rbp), %edi
movl -0x11c(%rbp), %edx
movl -0x118(%rbp), %esi
callq 0x4570
movl %eax, -0x304(%rbp)
jmp 0xdaa4
movl -0x304(%rbp), %eax
addl -0x120(%rbp), %eax
addl $0xd76aa478, %eax       # imm = 0xD76AA478
movl %eax, -0x184(%rbp)
movl -0x11c(%rbp), %eax
addl $0xe8c7b756, %eax       # imm = 0xE8C7B756
movl %eax, -0x188(%rbp)
movl -0x114(%rbp), %eax
andl $0x80000020, %eax       # imm = 0x80000020
xorl $0x2000861, %eax        # imm = 0x2000861
movl %eax, -0x18c(%rbp)
movl $0x0, -0x190(%rbp)
cmpl $0x1000, -0x190(%rbp)   # imm = 0x1000
jae 0xdfa1
movl -0x190(%rbp), %eax
incl %eax
movl %eax, -0x190(%rbp)
movl -0x18c(%rbp), %eax
movl %eax, -0x30c(%rbp)
callq 0x44f0
movl %eax, -0x308(%rbp)
jmp 0xdb23
movl -0x30c(%rbp), %eax
movl -0x308(%rbp), %ecx
andl $0x7dfff79e, %ecx       # imm = 0x7DFFF79E
orl %ecx, %eax
movl %eax, -0x194(%rbp)
movl -0x10c(%rbp), %eax
movl -0x194(%rbp), %ecx
subl %ecx, %eax
movl %eax, -0x198(%rbp)
movl -0x198(%rbp), %edi
movl $0xc, %esi
callq 0x4540
movl %eax, -0x310(%rbp)
jmp 0xdb69
movl -0x194(%rbp), %edi
movl -0x118(%rbp), %edx
movl -0x114(%rbp), %esi
callq 0x4570
movl %eax, -0x314(%rbp)
jmp 0xdb88
movl -0x314(%rbp), %ecx
movl -0x310(%rbp), %eax
subl %ecx, %eax
movl -0x188(%rbp), %ecx
subl %ecx, %eax
movl %eax, -0x198(%rbp)
movl -0xd4(%rbp), %eax
movl %eax, -0x19c(%rbp)
movl -0x178(%rbp), %eax
movl -0x198(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x1a0(%rbp)
movl -0x1a0(%rbp), %edi
movl $0x5, %esi
callq 0x45b0
movl %eax, -0x318(%rbp)
jmp 0xdbdc
movl -0x318(%rbp), %eax
addl -0x19c(%rbp), %eax
movl %eax, -0x1a0(%rbp)
movl -0x1a0(%rbp), %ecx
xorl -0x19c(%rbp), %ecx
andl $0xc0008008, %ecx       # imm = 0xC0008008
movl $0x40000000, %eax       # imm = 0x40000000
cmpl %ecx, %eax
je 0xdc31
jmp 0xdaec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x148(%rbp)
movl %eax, -0x14c(%rbp)
leaq -0x168(%rbp), %rdi
callq 0x4620
jmp 0xf91d
movl -0x1a0(%rbp), %ecx
andl $0x20000, %ecx          # imm = 0x20000
xorl %eax, %eax
cmpl %ecx, %eax
je 0xdc48
jmp 0xdaec
movl -0x1a0(%rbp), %edi
movl -0x19c(%rbp), %esi
movl -0xd8(%rbp), %edx
callq 0x4590
movl %eax, -0x31c(%rbp)
jmp 0xdc67
movl -0x31c(%rbp), %eax
movl -0x17c(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x1a4(%rbp)
movl -0x1a4(%rbp), %edi
movl $0x9, %esi
callq 0x45b0
movl %eax, -0x320(%rbp)
jmp 0xdc93
movl -0x320(%rbp), %eax
movl %eax, -0x1a4(%rbp)
movl -0x1a0(%rbp), %eax
addl -0x1a4(%rbp), %eax
movl %eax, -0x1a4(%rbp)
movl -0x1a4(%rbp), %ecx
xorl -0x1a0(%rbp), %ecx
andl $0xa0020000, %ecx       # imm = 0xA0020000
movl $0x80020000, %eax       # imm = 0x80020000
cmpl %ecx, %eax
je 0xdcd1
jmp 0xdaec
movl -0x1a4(%rbp), %edi
movl -0x1a0(%rbp), %esi
movl -0x19c(%rbp), %edx
callq 0x4590
movl %eax, -0x324(%rbp)
jmp 0xdcf0
movl -0x324(%rbp), %eax
movl -0x180(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x1a8(%rbp)
movl -0x1a8(%rbp), %edi
movl $0xe, %esi
callq 0x45b0
movl %eax, -0x328(%rbp)
jmp 0xdd1c
movl -0x328(%rbp), %eax
movl %eax, -0x1a8(%rbp)
movl -0x1a4(%rbp), %eax
addl -0x1a8(%rbp), %eax
movl %eax, -0x1a8(%rbp)
movl -0x1a8(%rbp), %ecx
andl $0x80020000, %ecx       # imm = 0x80020000
movl $0x80000000, %eax       # imm = 0x80000000
cmpl %ecx, %eax
je 0xdd54
jmp 0xdaec
movl -0x194(%rbp), %eax
movl -0x114(%rbp), %ecx
subl %ecx, %eax
movl %eax, -0x1ac(%rbp)
movl -0x1ac(%rbp), %edi
movl $0x7, %esi
callq 0x4540
movl %eax, -0x32c(%rbp)
jmp 0xdd80
movl -0x32c(%rbp), %eax
movl -0x184(%rbp), %ecx
subl %ecx, %eax
movl %eax, -0x1ac(%rbp)
movl -0x1a8(%rbp), %edi
movl -0x1a4(%rbp), %esi
movl -0x1a0(%rbp), %edx
callq 0x4590
movl %eax, -0x330(%rbp)
jmp 0xddb3
movl -0x330(%rbp), %edx
movl -0x19c(%rbp), %eax
addl %eax, %edx
movl -0x1ac(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal -0x16493856(%rax,%rcx), %eax
movl %eax, -0x1b0(%rbp)
movl -0x1b0(%rbp), %edi
movl $0x14, %esi
callq 0x45b0
movl %eax, -0x334(%rbp)
jmp 0xddf0
movl -0x334(%rbp), %eax
movl %eax, -0x1b0(%rbp)
movl -0x1a8(%rbp), %eax
addl -0x1b0(%rbp), %eax
movl %eax, -0x1b0(%rbp)
movl -0x1b0(%rbp), %ecx
xorl -0x1a8(%rbp), %ecx
andl $0x80040000, %ecx       # imm = 0x80040000
movl $0x40000, %eax          # imm = 0x40000
cmpl %ecx, %eax
je 0xde2e
jmp 0xdaec
movl -0x194(%rbp), %eax
movl %eax, -0x110(%rbp)
movl -0x1a0(%rbp), %eax
movl %eax, -0xd0(%rbp)
movl -0x1a4(%rbp), %eax
movl %eax, -0xcc(%rbp)
movl -0x1a8(%rbp), %eax
movl %eax, -0xc8(%rbp)
movl -0x1b0(%rbp), %eax
movl %eax, -0xc4(%rbp)
movl -0x1ac(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, (%rax)
movl -0x198(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x4(%rax)
movl -0x100(%rbp), %eax
movl -0xfc(%rbp), %ecx
subl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x14(%rax)
movq -0x8(%rbp), %rax
movl 0x14(%rax), %edi
movl $0xc, %esi
callq 0x4540
movl %eax, -0x338(%rbp)
jmp 0xdeb1
movl -0x100(%rbp), %edi
movl -0x108(%rbp), %edx
movl -0x104(%rbp), %esi
callq 0x4570
movl %eax, -0x33c(%rbp)
jmp 0xded0
movl -0x33c(%rbp), %eax
movl -0x338(%rbp), %ecx
subl %eax, %ecx
movl -0x10c(%rbp), %eax
subl %eax, %ecx
addl $0xb87839d6, %ecx       # imm = 0xB87839D6
movq -0x8(%rbp), %rax
movl %ecx, 0x14(%rax)
movl -0xc4(%rbp), %edi
movl -0xcc(%rbp), %edx
movl -0xc8(%rbp), %esi
callq 0x4590
movl %eax, -0x340(%rbp)
jmp 0xdf12
movl -0x340(%rbp), %eax
movl -0xd0(%rbp), %ecx
addl %ecx, %eax
movq -0x8(%rbp), %rcx
movl 0x14(%rcx), %edx
movl %eax, %ecx
movl %edx, %eax
leal -0x29d0efa3(%rax,%rcx), %eax
movl %eax, -0x1b4(%rbp)
movl -0x1b4(%rbp), %edi
movl $0x5, %esi
callq 0x45b0
movl %eax, -0x344(%rbp)
jmp 0xdf50
movl -0x344(%rbp), %eax
movl %eax, -0x1b4(%rbp)
movl -0xc4(%rbp), %eax
addl -0x1b4(%rbp), %eax
movl %eax, -0x1b4(%rbp)
movl -0x1b4(%rbp), %ecx
xorl -0xc4(%rbp), %ecx
andl $0x80020000, %ecx       # imm = 0x80020000
xorl %eax, %eax
cmpl %ecx, %eax
je 0xdf8b
jmp 0xdaec
movl -0x1b4(%rbp), %eax
movl %eax, -0xc0(%rbp)
movl $0x0, -0x190(%rbp)
cmpl $0x0, -0x190(%rbp)
je 0xdfaf
jmp 0xd4a9
movl -0xf0(%rbp), %eax
movl %eax, -0x1b8(%rbp)
movl -0xec(%rbp), %eax
movl %eax, -0x1bc(%rbp)
movl -0x10c(%rbp), %eax
movl -0x108(%rbp), %ecx
subl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x8(%rax)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %edi
movl $0x11, %esi
callq 0x4540
movl %eax, -0x348(%rbp)
jmp 0xdff5
movl -0x10c(%rbp), %edi
movl -0x114(%rbp), %edx
movl -0x110(%rbp), %esi
callq 0x4570
movl %eax, -0x34c(%rbp)
jmp 0xe014
movl -0x34c(%rbp), %eax
movl -0x348(%rbp), %ecx
subl %eax, %ecx
movl -0x118(%rbp), %eax
subl %eax, %ecx
addl $0xdbdf8f25, %ecx       # imm = 0xDBDF8F25
movq -0x8(%rbp), %rax
movl %ecx, 0x8(%rax)
movl -0x108(%rbp), %eax
movl -0x104(%rbp), %ecx
subl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0xc(%rax)
movq -0x8(%rbp), %rax
movl 0xc(%rax), %edi
movl $0x16, %esi
callq 0x4540
movl %eax, -0x350(%rbp)
jmp 0xe065
movl -0x108(%rbp), %edi
movl -0x110(%rbp), %edx
movl -0x10c(%rbp), %esi
callq 0x4570
movl %eax, -0x354(%rbp)
jmp 0xe084
movl -0x354(%rbp), %eax
movl -0x350(%rbp), %ecx
subl %eax, %ecx
movl -0x114(%rbp), %eax
subl %eax, %ecx
addl $0x3e423112, %ecx       # imm = 0x3E423112
movq -0x8(%rbp), %rax
movl %ecx, 0xc(%rax)
movl -0x104(%rbp), %eax
movl -0x100(%rbp), %ecx
subl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x10(%rax)
movq -0x8(%rbp), %rax
movl 0x10(%rax), %edi
movl $0x7, %esi
callq 0x4540
movl %eax, -0x358(%rbp)
jmp 0xe0d5
movl -0x104(%rbp), %edi
movl -0x10c(%rbp), %edx
movl -0x108(%rbp), %esi
callq 0x4570
movl %eax, -0x35c(%rbp)
jmp 0xe0f4
movl -0x35c(%rbp), %eax
movl -0x358(%rbp), %ecx
subl %eax, %ecx
movl -0x110(%rbp), %eax
subl %eax, %ecx
addl $0xa83f051, %ecx        # imm = 0xA83F051
movq -0x8(%rbp), %rax
movl %ecx, 0x10(%rax)
movl -0xf8(%rbp), %eax
movl -0xf4(%rbp), %ecx
subl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x1c(%rax)
movq -0x8(%rbp), %rax
movl 0x1c(%rax), %edi
movl $0x16, %esi
callq 0x4540
movl %eax, -0x360(%rbp)
jmp 0xe145
movl -0xf8(%rbp), %edi
movl -0x100(%rbp), %edx
movl -0xfc(%rbp), %esi
callq 0x4570
movl %eax, -0x364(%rbp)
jmp 0xe164
movl -0x364(%rbp), %eax
movl -0x360(%rbp), %ecx
subl %eax, %ecx
movl -0x104(%rbp), %eax
subl %eax, %ecx
addl $0x2b96aff, %ecx        # imm = 0x2B96AFF
movq -0x8(%rbp), %rax
movl %ecx, 0x1c(%rax)
movl -0xf8(%rbp), %eax
addl $0xffff5bb1, %eax       # imm = 0xFFFF5BB1
movl %eax, -0x1c0(%rbp)
movl -0xc0(%rbp), %edi
movl -0xc8(%rbp), %edx
movl -0xc4(%rbp), %esi
callq 0x4590
movl %eax, -0x368(%rbp)
jmp 0xe1b7
movl -0x368(%rbp), %eax
addl -0xcc(%rbp), %eax
addl $0x2441453, %eax        # imm = 0x2441453
movl %eax, -0x1c4(%rbp)
movl -0xc8(%rbp), %eax
addl $0xd8a1e681, %eax       # imm = 0xD8A1E681
movq -0x8(%rbp), %rcx
addl 0x3c(%rcx), %eax
movl %eax, -0x1c8(%rbp)
movl -0xc4(%rbp), %eax
addl $0xe7d3fbc8, %eax       # imm = 0xE7D3FBC8
movq -0x8(%rbp), %rcx
addl 0x10(%rcx), %eax
movl %eax, -0x1cc(%rbp)
movl $0x0, -0x1d0(%rbp)
cmpl $0x20, -0x1d0(%rbp)
jae 0xf918
movl -0x1bc(%rbp), %eax
movl %eax, -0x370(%rbp)
movl -0x1d0(%rbp), %eax
movl %eax, %esi
leaq -0x138(%rbp), %rdi
callq 0x44d0
movq %rax, %rcx
movl -0x370(%rbp), %eax
movl (%rcx), %ecx
andl $0x8000040, %ecx        # imm = 0x8000040
orl %ecx, %eax
movl %eax, -0x1d4(%rbp)
movl -0xe8(%rbp), %edi
movl -0x1d4(%rbp), %eax
subl %eax, %edi
movl $0x11, %esi
callq 0x4540
movl %eax, -0x36c(%rbp)
jmp 0xe26e
movl -0x36c(%rbp), %eax
movl %eax, -0x1d8(%rbp)
movl -0x1b8(%rbp), %eax
movl %eax, -0x378(%rbp)
movl -0x1d0(%rbp), %eax
movl %eax, %esi
leaq -0x138(%rbp), %rdi
callq 0x44d0
movq %rax, %rcx
movl -0x378(%rbp), %eax
movl (%rcx), %ecx
andl $0x80000280, %ecx       # imm = 0x80000280
orl %ecx, %eax
movl %eax, -0x1dc(%rbp)
movl -0x1d4(%rbp), %edi
movl -0x1dc(%rbp), %esi
movl -0xf4(%rbp), %edx
callq 0x4570
movl %eax, -0x374(%rbp)
jmp 0xe2d2
movl -0x374(%rbp), %ecx
movl -0x1c0(%rbp), %eax
addl %eax, %ecx
movl -0x1d8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x1d8(%rbp)
movl -0xc0(%rbp), %eax
movl %eax, -0x1e0(%rbp)
movl -0x1c4(%rbp), %eax
movl -0x1d8(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x1e4(%rbp)
movl -0x1e4(%rbp), %edi
movl $0x9, %esi
callq 0x45b0
movl %eax, -0x37c(%rbp)
jmp 0xe326
movl -0x37c(%rbp), %eax
addl -0x1e0(%rbp), %eax
movl %eax, -0x1e4(%rbp)
movl -0x1e4(%rbp), %ecx
andl $0x80000000, %ecx       # imm = 0x80000000
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xe34f
jmp 0xf904
movl -0xc4(%rbp), %eax
movl %eax, -0x1e8(%rbp)
movl -0x1c8(%rbp), %eax
movl %eax, -0x384(%rbp)
movl -0x1e4(%rbp), %edi
movl -0x1e0(%rbp), %esi
movl -0x1e8(%rbp), %edx
callq 0x4590
movl %eax, -0x380(%rbp)
jmp 0xe386
movl -0x380(%rbp), %ecx
movl -0x384(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x1ec(%rbp)
movl -0x1ec(%rbp), %ecx
andl $0x20000, %ecx          # imm = 0x20000
xorl %eax, %eax
cmpl %ecx, %eax
je 0xe3b1
jmp 0xf904
movl -0x1ec(%rbp), %edi
movl $0xe, %esi
callq 0x45b0
movl %eax, -0x388(%rbp)
jmp 0xe3c9
movl -0x388(%rbp), %eax
addl -0x1e4(%rbp), %eax
movl %eax, -0x1ec(%rbp)
movl -0x1ec(%rbp), %ecx
andl $0x80000000, %ecx       # imm = 0x80000000
xorl %eax, %eax
cmpl %ecx, %eax
je 0xe3f2
jmp 0xf904
movl -0x1cc(%rbp), %eax
movl %eax, -0x390(%rbp)
movl -0x1ec(%rbp), %edi
movl -0x1e4(%rbp), %esi
movl -0x1e0(%rbp), %edx
callq 0x4590
movl %eax, -0x38c(%rbp)
jmp 0xe41d
movl -0x38c(%rbp), %ecx
movl -0x390(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x1e8(%rbp)
movl -0x1e8(%rbp), %edi
movl $0x14, %esi
callq 0x45b0
movl %eax, -0x394(%rbp)
jmp 0xe449
movl -0x394(%rbp), %eax
addl -0x1ec(%rbp), %eax
movl %eax, -0x1e8(%rbp)
movl -0x1e8(%rbp), %ecx
andl $0x80000000, %ecx       # imm = 0x80000000
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xe472
jmp 0xf904
movl -0x1d8(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x28(%rax)
movl -0x1dc(%rbp), %eax
movl %eax, -0xf0(%rbp)
movl -0x1d4(%rbp), %eax
movl %eax, -0xec(%rbp)
movl -0xe0(%rbp), %eax
movl -0xdc(%rbp), %ecx
subl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x34(%rax)
movq -0x8(%rbp), %rax
movl 0x34(%rax), %edi
movl $0xc, %esi
callq 0x4540
movl %eax, -0x398(%rbp)
jmp 0xe4c5
movl -0xe0(%rbp), %edi
movl -0xe8(%rbp), %edx
movl -0xe4(%rbp), %esi
callq 0x4570
movl %eax, -0x39c(%rbp)
jmp 0xe4e4
movl -0x39c(%rbp), %eax
movl -0x398(%rbp), %ecx
subl %eax, %ecx
subl -0xec(%rbp), %ecx
subl $0xfd987193, %ecx       # imm = 0xFD987193
movq -0x8(%rbp), %rax
movl %ecx, 0x34(%rax)
movl $0x0, -0x1f0(%rbp)
cmpl $0x200, -0x1f0(%rbp)    # imm = 0x200
jae 0xf902
movl -0x1e0(%rbp), %eax
movl %eax, -0x1f4(%rbp)
movl -0x1e8(%rbp), %eax
movl %eax, -0x1f8(%rbp)
movl -0x1ec(%rbp), %eax
movl %eax, -0x1fc(%rbp)
movl -0x1e4(%rbp), %eax
movl %eax, -0x200(%rbp)
movl -0x1dc(%rbp), %eax
movl %eax, -0x3a4(%rbp)
movl -0x1f0(%rbp), %eax
movl %eax, %esi
leaq -0x168(%rbp), %rdi
callq 0x44d0
movq %rax, %rcx
movl -0x3a4(%rbp), %eax
movl (%rcx), %ecx
xorl %ecx, %eax
movl %eax, -0xf0(%rbp)
movl -0xf4(%rbp), %eax
movl -0xf0(%rbp), %ecx
subl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x20(%rax)
movq -0x8(%rbp), %rax
movl 0x20(%rax), %edi
movl $0x7, %esi
callq 0x4540
movl %eax, -0x3a0(%rbp)
jmp 0xe5b0
movl -0xf4(%rbp), %edi
movl -0xfc(%rbp), %edx
movl -0xf8(%rbp), %esi
callq 0x4570
movl %eax, -0x3a8(%rbp)
jmp 0xe5cf
movl -0x3a8(%rbp), %eax
movl -0x3a0(%rbp), %ecx
subl %eax, %ecx
movl -0x100(%rbp), %eax
subl %eax, %ecx
addl $0x967f6728, %ecx       # imm = 0x967F6728
movq -0x8(%rbp), %rax
movl %ecx, 0x20(%rax)
movl -0xf0(%rbp), %eax
movl -0xec(%rbp), %ecx
subl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x24(%rax)
movq -0x8(%rbp), %rax
movl 0x24(%rax), %edi
movl $0xc, %esi
callq 0x4540
movl %eax, -0x3ac(%rbp)
jmp 0xe620
movl -0xf0(%rbp), %edi
movl -0xf8(%rbp), %edx
movl -0xf4(%rbp), %esi
callq 0x4570
movl %eax, -0x3b0(%rbp)
jmp 0xe63f
movl -0x3b0(%rbp), %eax
movl -0x3ac(%rbp), %ecx
subl %eax, %ecx
movl -0xfc(%rbp), %eax
subl %eax, %ecx
addl $0x74bb0851, %ecx       # imm = 0x74BB0851
movq -0x8(%rbp), %rax
movl %ecx, 0x24(%rax)
movl -0xe4(%rbp), %eax
movl -0xe0(%rbp), %ecx
subl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x30(%rax)
movq -0x8(%rbp), %rax
movl 0x30(%rax), %edi
movl $0x7, %esi
callq 0x4540
movl %eax, -0x3b4(%rbp)
jmp 0xe690
movl -0xe4(%rbp), %edi
movl -0xec(%rbp), %edx
movl -0xe8(%rbp), %esi
callq 0x4570
movl %eax, -0x3b8(%rbp)
jmp 0xe6af
movl -0x3b8(%rbp), %eax
movl -0x3b4(%rbp), %ecx
subl %eax, %ecx
movl -0xf0(%rbp), %eax
subl %eax, %ecx
addl $0x946feede, %ecx       # imm = 0x946FEEDE
movq -0x8(%rbp), %rax
movl %ecx, 0x30(%rax)
movl -0x1f8(%rbp), %edi
movl -0x1fc(%rbp), %esi
movl -0x200(%rbp), %edx
callq 0x4590
movl %eax, -0x3bc(%rbp)
jmp 0xe6f1
movl -0x3bc(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x24(%rax), %eax
addl %eax, %edx
movl -0x1f4(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal 0x21e1cde6(%rax,%rcx), %eax
movl %eax, -0x1f4(%rbp)
movl -0x1f4(%rbp), %eax
roll $0x5, %eax
movl -0x1f8(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x1f4(%rbp)
movl -0x1f4(%rbp), %edi
movl -0x1f8(%rbp), %esi
movl -0x1fc(%rbp), %edx
callq 0x4590
movl %eax, -0x3c0(%rbp)
jmp 0xe74d
movl -0x3c0(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x38(%rax), %eax
addl %eax, %edx
movl -0x200(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal -0x3cc8f82a(%rax,%rcx), %eax
movl %eax, -0x200(%rbp)
movl -0x200(%rbp), %eax
roll $0x9, %eax
movl -0x1f4(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x200(%rbp)
movl -0x200(%rbp), %edi
movl -0x1f4(%rbp), %esi
movl -0x1f8(%rbp), %edx
callq 0x4590
movl %eax, -0x3c4(%rbp)
jmp 0xe7a9
movl -0x3c4(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0xc(%rax), %eax
addl %eax, %edx
movl -0x1fc(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal -0xb2af279(%rax,%rcx), %eax
movl %eax, -0x1fc(%rbp)
movl -0x1fc(%rbp), %eax
roll $0xe, %eax
movl -0x200(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x1fc(%rbp)
movl -0x1fc(%rbp), %edi
movl -0x200(%rbp), %esi
movl -0x1f4(%rbp), %edx
callq 0x4590
movl %eax, -0x3c8(%rbp)
jmp 0xe805
movl -0x3c8(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x20(%rax), %eax
addl %eax, %edx
movl -0x1f8(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal 0x455a14ed(%rax,%rcx), %eax
movl %eax, -0x1f8(%rbp)
movl -0x1f8(%rbp), %eax
roll $0x14, %eax
movl -0x1fc(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x1f8(%rbp)
movl -0x1f8(%rbp), %edi
movl -0x1fc(%rbp), %esi
movl -0x200(%rbp), %edx
callq 0x4590
movl %eax, -0x3cc(%rbp)
jmp 0xe861
movl -0x3cc(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x34(%rax), %eax
addl %eax, %edx
movl -0x1f4(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal -0x561c16fb(%rax,%rcx), %eax
movl %eax, -0x1f4(%rbp)
movl -0x1f4(%rbp), %eax
roll $0x5, %eax
movl -0x1f8(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x1f4(%rbp)
movl -0x1f4(%rbp), %edi
movl -0x1f8(%rbp), %esi
movl -0x1fc(%rbp), %edx
callq 0x4590
movl %eax, -0x3d0(%rbp)
jmp 0xe8bd
movl -0x3d0(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x8(%rax), %eax
addl %eax, %edx
movl -0x200(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal -0x3105c08(%rax,%rcx), %eax
movl %eax, -0x200(%rbp)
movl -0x200(%rbp), %eax
roll $0x9, %eax
movl -0x1f4(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x200(%rbp)
movl -0x200(%rbp), %edi
movl -0x1f4(%rbp), %esi
movl -0x1f8(%rbp), %edx
callq 0x4590
movl %eax, -0x3d4(%rbp)
jmp 0xe919
movl -0x3d4(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x1c(%rax), %eax
addl %eax, %edx
movl -0x1fc(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal 0x676f02d9(%rax,%rcx), %eax
movl %eax, -0x1fc(%rbp)
movl -0x1fc(%rbp), %eax
roll $0xe, %eax
movl -0x200(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x1fc(%rbp)
movl -0x1fc(%rbp), %edi
movl -0x200(%rbp), %esi
movl -0x1f4(%rbp), %edx
callq 0x4590
movl %eax, -0x3d8(%rbp)
jmp 0xe975
movl -0x3d8(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x30(%rax), %eax
addl %eax, %edx
movl -0x1f8(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal -0x72d5b376(%rax,%rcx), %eax
movl %eax, -0x1f8(%rbp)
movl -0x1f8(%rbp), %eax
roll $0x14, %eax
movl -0x1fc(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x1f8(%rbp)
movl -0x1f8(%rbp), %edi
movl -0x1fc(%rbp), %esi
movl -0x200(%rbp), %edx
callq 0x45e0
movl %eax, -0x3dc(%rbp)
jmp 0xe9d1
movl -0x3dc(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x14(%rax), %eax
addl %eax, %edx
movl -0x1f4(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal -0x5c6be(%rax,%rcx), %eax
movl %eax, -0x1f4(%rbp)
movl -0x1f4(%rbp), %eax
roll $0x4, %eax
movl -0x1f8(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x1f4(%rbp)
movl -0x1f4(%rbp), %edi
movl -0x1f8(%rbp), %esi
movl -0x1fc(%rbp), %edx
callq 0x45e0
movl %eax, -0x3e0(%rbp)
jmp 0xea2d
movl -0x3e0(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x20(%rax), %eax
addl %eax, %edx
movl -0x200(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal -0x788e097f(%rax,%rcx), %eax
movl %eax, -0x200(%rbp)
movl -0x200(%rbp), %eax
roll $0xb, %eax
movl -0x1f4(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x200(%rbp)
movl -0x200(%rbp), %edi
movl -0x1f4(%rbp), %esi
movl -0x1f8(%rbp), %edx
callq 0x45e0
movl %eax, -0x3e4(%rbp)
jmp 0xea89
movl -0x3e4(%rbp), %eax
movq -0x8(%rbp), %rcx
addl 0x2c(%rcx), %eax
addl $0x6d9d6122, %eax       # imm = 0x6D9D6122
addl -0x1fc(%rbp), %eax
movl %eax, -0x1fc(%rbp)
movl -0x1fc(%rbp), %ecx
andl $0x8000, %ecx           # imm = 0x8000
xorl %eax, %eax
cmpl %ecx, %eax
je 0xeabe
jmp 0xf8ee
movl -0x1fc(%rbp), %eax
roll $0x10, %eax
movl -0x200(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x1fc(%rbp)
movl -0x1fc(%rbp), %edi
movl -0x200(%rbp), %esi
movl -0x1f4(%rbp), %edx
callq 0x45e0
movl %eax, -0x3e8(%rbp)
jmp 0xeaf4
movl -0x3e8(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x38(%rax), %eax
addl %eax, %edx
movl -0x1f8(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal -0x21ac7f4(%rax,%rcx), %eax
movl %eax, -0x1f8(%rbp)
movl -0x1f8(%rbp), %eax
roll $0x17, %eax
movl -0x1fc(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x1f8(%rbp)
movl -0x1f8(%rbp), %edi
movl -0x1fc(%rbp), %esi
movl -0x200(%rbp), %edx
callq 0x45e0
movl %eax, -0x3ec(%rbp)
jmp 0xeb50
movl -0x3ec(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x4(%rax), %eax
addl %eax, %edx
movl -0x1f4(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal -0x5b4115bc(%rax,%rcx), %eax
movl %eax, -0x1f4(%rbp)
movl -0x1f4(%rbp), %eax
roll $0x4, %eax
movl -0x1f8(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x1f4(%rbp)
movl -0x1f4(%rbp), %edi
movl -0x1f8(%rbp), %esi
movl -0x1fc(%rbp), %edx
callq 0x45e0
movl %eax, -0x3f0(%rbp)
jmp 0xebac
movl -0x3f0(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x10(%rax), %eax
addl %eax, %edx
movl -0x200(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal 0x4bdecfa9(%rax,%rcx), %eax
movl %eax, -0x200(%rbp)
movl -0x200(%rbp), %eax
roll $0xb, %eax
movl -0x1f4(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x200(%rbp)
movl -0x200(%rbp), %edi
movl -0x1f4(%rbp), %esi
movl -0x1f8(%rbp), %edx
callq 0x45e0
movl %eax, -0x3f4(%rbp)
jmp 0xec08
movl -0x3f4(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x1c(%rax), %eax
addl %eax, %edx
movl -0x1fc(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal -0x944b4a0(%rax,%rcx), %eax
movl %eax, -0x1fc(%rbp)
movl -0x1fc(%rbp), %eax
roll $0x10, %eax
movl -0x200(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x1fc(%rbp)
movl -0x1fc(%rbp), %edi
movl -0x200(%rbp), %esi
movl -0x1f4(%rbp), %edx
callq 0x45e0
movl %eax, -0x3f8(%rbp)
jmp 0xec64
movl -0x3f8(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x28(%rax), %eax
addl %eax, %edx
movl -0x1f8(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal -0x41404390(%rax,%rcx), %eax
movl %eax, -0x1f8(%rbp)
movl -0x1f8(%rbp), %eax
roll $0x17, %eax
movl -0x1fc(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x1f8(%rbp)
movl -0x1f8(%rbp), %edi
movl -0x1fc(%rbp), %esi
movl -0x200(%rbp), %edx
callq 0x45e0
movl %eax, -0x3fc(%rbp)
jmp 0xecc0
movl -0x3fc(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x34(%rax), %eax
addl %eax, %edx
movl -0x1f4(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal 0x289b7ec6(%rax,%rcx), %eax
movl %eax, -0x1f4(%rbp)
movl -0x1f4(%rbp), %eax
roll $0x4, %eax
movl -0x1f8(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x1f4(%rbp)
movl -0x1f4(%rbp), %edi
movl -0x1f8(%rbp), %esi
movl -0x1fc(%rbp), %edx
callq 0x45e0
movl %eax, -0x400(%rbp)
jmp 0xed1c
movl -0x400(%rbp), %edx
movq -0x8(%rbp), %rax
movl (%rax), %eax
addl %eax, %edx
movl -0x200(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal -0x155ed806(%rax,%rcx), %eax
movl %eax, -0x200(%rbp)
movl -0x200(%rbp), %eax
roll $0xb, %eax
movl -0x1f4(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x200(%rbp)
movl -0x200(%rbp), %edi
movl -0x1f4(%rbp), %esi
movl -0x1f8(%rbp), %edx
callq 0x45e0
movl %eax, -0x404(%rbp)
jmp 0xed77
movl -0x404(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0xc(%rax), %eax
addl %eax, %edx
movl -0x1fc(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal -0x2b10cf7b(%rax,%rcx), %eax
movl %eax, -0x1fc(%rbp)
movl -0x1fc(%rbp), %eax
roll $0x10, %eax
movl -0x200(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x1fc(%rbp)
movl -0x1fc(%rbp), %edi
movl -0x200(%rbp), %esi
movl -0x1f4(%rbp), %edx
callq 0x45e0
movl %eax, -0x408(%rbp)
jmp 0xedd3
movl -0x408(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x18(%rax), %eax
addl %eax, %edx
movl -0x1f8(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal 0x4881d05(%rax,%rcx), %eax
movl %eax, -0x1f8(%rbp)
movl -0x1f8(%rbp), %eax
roll $0x17, %eax
movl -0x1fc(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x1f8(%rbp)
movl -0x1f8(%rbp), %edi
movl -0x1fc(%rbp), %esi
movl -0x200(%rbp), %edx
callq 0x45e0
movl %eax, -0x40c(%rbp)
jmp 0xee2f
movl -0x40c(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x24(%rax), %eax
addl %eax, %edx
movl -0x1f4(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal -0x262b2fc7(%rax,%rcx), %eax
movl %eax, -0x1f4(%rbp)
movl -0x1f4(%rbp), %eax
roll $0x4, %eax
movl -0x1f8(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x1f4(%rbp)
movl -0x1f4(%rbp), %edi
movl -0x1f8(%rbp), %esi
movl -0x1fc(%rbp), %edx
callq 0x45e0
movl %eax, -0x410(%rbp)
jmp 0xee8b
movl -0x410(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x30(%rax), %eax
addl %eax, %edx
movl -0x200(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal -0x1924661b(%rax,%rcx), %eax
movl %eax, -0x200(%rbp)
movl -0x200(%rbp), %eax
roll $0xb, %eax
movl -0x1f4(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x200(%rbp)
movl -0x200(%rbp), %edi
movl -0x1f4(%rbp), %esi
movl -0x1f8(%rbp), %edx
callq 0x45e0
movl %eax, -0x414(%rbp)
jmp 0xeee7
movl -0x414(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x3c(%rax), %eax
addl %eax, %edx
movl -0x1fc(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal 0x1fa27cf8(%rax,%rcx), %eax
movl %eax, -0x1fc(%rbp)
movl -0x1fc(%rbp), %eax
roll $0x10, %eax
movl -0x200(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x1fc(%rbp)
movl -0x1fc(%rbp), %edi
movl -0x200(%rbp), %esi
movl -0x1f4(%rbp), %edx
callq 0x45e0
movl %eax, -0x418(%rbp)
jmp 0xef43
movl -0x418(%rbp), %eax
movq -0x8(%rbp), %rcx
addl 0x8(%rcx), %eax
addl $0xc4ac5665, %eax       # imm = 0xC4AC5665
addl -0x1f8(%rbp), %eax
movl %eax, -0x1f8(%rbp)
movl -0x1f8(%rbp), %eax
shll $0x17, %eax
movl -0x1f8(%rbp), %ecx
shrl $0x9, %ecx
orl %ecx, %eax
addl -0x1fc(%rbp), %eax
movl %eax, -0x1f8(%rbp)
movl -0x1f8(%rbp), %ecx
xorl -0x200(%rbp), %ecx
andl $0x80000000, %ecx       # imm = 0x80000000
xorl %eax, %eax
cmpl %ecx, %eax
je 0xef9e
jmp 0xf8ee
movl -0x1f8(%rbp), %edi
movl -0x1fc(%rbp), %esi
movl -0x200(%rbp), %edx
callq 0x4600
movl %eax, -0x41c(%rbp)
jmp 0xefbd
movl -0x41c(%rbp), %eax
movq -0x8(%rbp), %rcx
addl (%rcx), %eax
addl $0xf4292244, %eax       # imm = 0xF4292244
addl -0x1f4(%rbp), %eax
movl %eax, -0x1f4(%rbp)
movl -0x1f4(%rbp), %eax
shll $0x6, %eax
movl -0x1f4(%rbp), %ecx
shrl $0x1a, %ecx
orl %ecx, %eax
addl -0x1f8(%rbp), %eax
movl %eax, -0x1f4(%rbp)
movl -0x1f4(%rbp), %ecx
xorl -0x1fc(%rbp), %ecx
shrl $0x1f, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
je 0xf014
jmp 0xf8ee
movl -0x1f4(%rbp), %edi
movl -0x1f8(%rbp), %esi
movl -0x1fc(%rbp), %edx
callq 0x4600
movl %eax, -0x420(%rbp)
jmp 0xf033
movl -0x420(%rbp), %eax
movq -0x8(%rbp), %rcx
addl 0x1c(%rcx), %eax
addl $0x432aff97, %eax       # imm = 0x432AFF97
addl -0x200(%rbp), %eax
movl %eax, -0x200(%rbp)
movl -0x200(%rbp), %eax
shll $0xa, %eax
movl -0x200(%rbp), %ecx
shrl $0x16, %ecx
orl %ecx, %eax
addl -0x1f4(%rbp), %eax
movl %eax, -0x200(%rbp)
movl -0x1f8(%rbp), %ecx
xorl -0x200(%rbp), %ecx
shrl $0x1f, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xf08b
jmp 0xf8ee
movl -0x200(%rbp), %edi
movl -0x1f4(%rbp), %esi
movl -0x1f8(%rbp), %edx
callq 0x4600
movl %eax, -0x424(%rbp)
jmp 0xf0aa
movl -0x424(%rbp), %eax
movq -0x8(%rbp), %rcx
addl 0x38(%rcx), %eax
addl $0xab9423a7, %eax       # imm = 0xAB9423A7
addl -0x1fc(%rbp), %eax
movl %eax, -0x1fc(%rbp)
movl -0x1fc(%rbp), %eax
shll $0xf, %eax
movl -0x1fc(%rbp), %ecx
shrl $0x11, %ecx
orl %ecx, %eax
addl -0x200(%rbp), %eax
movl %eax, -0x1fc(%rbp)
movl -0x1f4(%rbp), %ecx
xorl -0x1fc(%rbp), %ecx
shrl $0x1f, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
je 0xf102
jmp 0xf8ee
movl -0x1fc(%rbp), %edi
movl -0x200(%rbp), %esi
movl -0x1f4(%rbp), %edx
callq 0x4600
movl %eax, -0x428(%rbp)
jmp 0xf121
movl -0x428(%rbp), %eax
movq -0x8(%rbp), %rcx
addl 0x14(%rcx), %eax
addl $0xfc93a039, %eax       # imm = 0xFC93A039
addl -0x1f8(%rbp), %eax
movl %eax, -0x1f8(%rbp)
movl -0x1f8(%rbp), %eax
shll $0x15, %eax
movl -0x1f8(%rbp), %ecx
shrl $0xb, %ecx
orl %ecx, %eax
addl -0x1fc(%rbp), %eax
movl %eax, -0x1f8(%rbp)
movl -0x1f8(%rbp), %ecx
xorl -0x200(%rbp), %ecx
shrl $0x1f, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
je 0xf179
jmp 0xf8ee
movl -0x1f8(%rbp), %edi
movl -0x1fc(%rbp), %esi
movl -0x200(%rbp), %edx
callq 0x4600
movl %eax, -0x42c(%rbp)
jmp 0xf198
movl -0x42c(%rbp), %eax
movq -0x8(%rbp), %rcx
addl 0x30(%rcx), %eax
addl $0x655b59c3, %eax       # imm = 0x655B59C3
addl -0x1f4(%rbp), %eax
movl %eax, -0x1f4(%rbp)
movl -0x1f4(%rbp), %eax
shll $0x6, %eax
movl -0x1f4(%rbp), %ecx
shrl $0x1a, %ecx
orl %ecx, %eax
addl -0x1f8(%rbp), %eax
movl %eax, -0x1f4(%rbp)
movl -0x1f4(%rbp), %ecx
xorl -0x1fc(%rbp), %ecx
shrl $0x1f, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
je 0xf1f0
jmp 0xf8ee
movl -0x1f4(%rbp), %edi
movl -0x1f8(%rbp), %esi
movl -0x1fc(%rbp), %edx
callq 0x4600
movl %eax, -0x430(%rbp)
jmp 0xf20f
movl -0x430(%rbp), %eax
movq -0x8(%rbp), %rcx
addl 0xc(%rcx), %eax
addl $0x8f0ccc92, %eax       # imm = 0x8F0CCC92
addl -0x200(%rbp), %eax
movl %eax, -0x200(%rbp)
movl -0x200(%rbp), %eax
shll $0xa, %eax
movl -0x200(%rbp), %ecx
shrl $0x16, %ecx
orl %ecx, %eax
addl -0x1f4(%rbp), %eax
movl %eax, -0x200(%rbp)
movl -0x1f8(%rbp), %ecx
xorl -0x200(%rbp), %ecx
shrl $0x1f, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
je 0xf267
jmp 0xf8ee
movl -0x200(%rbp), %edi
movl -0x1f4(%rbp), %esi
movl -0x1f8(%rbp), %edx
callq 0x4600
movl %eax, -0x434(%rbp)
jmp 0xf286
movl -0x434(%rbp), %eax
movq -0x8(%rbp), %rcx
addl 0x28(%rcx), %eax
addl $0xffeff47d, %eax       # imm = 0xFFEFF47D
addl -0x1fc(%rbp), %eax
movl %eax, -0x1fc(%rbp)
movl -0x1fc(%rbp), %eax
shll $0xf, %eax
movl -0x1fc(%rbp), %ecx
shrl $0x11, %ecx
orl %ecx, %eax
addl -0x200(%rbp), %eax
movl %eax, -0x1fc(%rbp)
movl -0x1f4(%rbp), %ecx
xorl -0x1fc(%rbp), %ecx
shrl $0x1f, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
je 0xf2de
jmp 0xf8ee
movl -0x1fc(%rbp), %edi
movl -0x200(%rbp), %esi
movl -0x1f4(%rbp), %edx
callq 0x4600
movl %eax, -0x438(%rbp)
jmp 0xf2fd
movl -0x438(%rbp), %eax
movq -0x8(%rbp), %rcx
addl 0x4(%rcx), %eax
addl $0x85845dd1, %eax       # imm = 0x85845DD1
addl -0x1f8(%rbp), %eax
movl %eax, -0x1f8(%rbp)
movl -0x1f8(%rbp), %eax
shll $0x15, %eax
movl -0x1f8(%rbp), %ecx
shrl $0xb, %ecx
orl %ecx, %eax
addl -0x1fc(%rbp), %eax
movl %eax, -0x1f8(%rbp)
movl -0x1f8(%rbp), %ecx
xorl -0x200(%rbp), %ecx
shrl $0x1f, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
je 0xf355
jmp 0xf8ee
movl -0x1f8(%rbp), %edi
movl -0x1fc(%rbp), %esi
movl -0x200(%rbp), %edx
callq 0x4600
movl %eax, -0x43c(%rbp)
jmp 0xf374
movl -0x43c(%rbp), %eax
movq -0x8(%rbp), %rcx
addl 0x20(%rcx), %eax
addl $0x6fa87e4f, %eax       # imm = 0x6FA87E4F
addl -0x1f4(%rbp), %eax
movl %eax, -0x1f4(%rbp)
movl -0x1f4(%rbp), %eax
shll $0x6, %eax
movl -0x1f4(%rbp), %ecx
shrl $0x1a, %ecx
orl %ecx, %eax
addl -0x1f8(%rbp), %eax
movl %eax, -0x1f4(%rbp)
movl -0x1f4(%rbp), %ecx
xorl -0x1fc(%rbp), %ecx
shrl $0x1f, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
je 0xf3cc
jmp 0xf8ee
movl -0x1f4(%rbp), %edi
movl -0x1f8(%rbp), %esi
movl -0x1fc(%rbp), %edx
callq 0x4600
movl %eax, -0x440(%rbp)
jmp 0xf3eb
movl -0x440(%rbp), %eax
movq -0x8(%rbp), %rcx
addl 0x3c(%rcx), %eax
addl $0xfe2ce6e0, %eax       # imm = 0xFE2CE6E0
addl -0x200(%rbp), %eax
movl %eax, -0x200(%rbp)
movl -0x200(%rbp), %eax
shll $0xa, %eax
movl -0x200(%rbp), %ecx
shrl $0x16, %ecx
orl %ecx, %eax
addl -0x1f4(%rbp), %eax
movl %eax, -0x200(%rbp)
movl -0x1f8(%rbp), %ecx
xorl -0x200(%rbp), %ecx
shrl $0x1f, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
je 0xf443
jmp 0xf8ee
movl -0x200(%rbp), %edi
movl -0x1f4(%rbp), %esi
movl -0x1f8(%rbp), %edx
callq 0x4600
movl %eax, -0x444(%rbp)
jmp 0xf462
movl -0x444(%rbp), %eax
movq -0x8(%rbp), %rcx
addl 0x18(%rcx), %eax
addl $0xa3014314, %eax       # imm = 0xA3014314
addl -0x1fc(%rbp), %eax
movl %eax, -0x1fc(%rbp)
movl -0x1fc(%rbp), %eax
shll $0xf, %eax
movl -0x1fc(%rbp), %ecx
shrl $0x11, %ecx
orl %ecx, %eax
addl -0x200(%rbp), %eax
movl %eax, -0x1fc(%rbp)
movl -0x1f4(%rbp), %ecx
xorl -0x1fc(%rbp), %ecx
shrl $0x1f, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
je 0xf4ba
jmp 0xf8ee
movl -0x1fc(%rbp), %edi
movl -0x200(%rbp), %esi
movl -0x1f4(%rbp), %edx
callq 0x4600
movl %eax, -0x448(%rbp)
jmp 0xf4d9
movl -0x448(%rbp), %eax
movq -0x8(%rbp), %rcx
addl 0x34(%rcx), %eax
addl $0x4e0811a1, %eax       # imm = 0x4E0811A1
addl -0x1f8(%rbp), %eax
movl %eax, -0x1f8(%rbp)
movl -0x1f8(%rbp), %eax
shll $0x15, %eax
movl -0x1f8(%rbp), %ecx
shrl $0xb, %ecx
orl %ecx, %eax
addl -0x1fc(%rbp), %eax
movl %eax, -0x1f8(%rbp)
movl -0x1f8(%rbp), %ecx
xorl -0x200(%rbp), %ecx
shrl $0x1f, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xf531
jmp 0xf8ee
movl -0x1f8(%rbp), %edi
movl -0x1fc(%rbp), %esi
movl -0x200(%rbp), %edx
callq 0x4600
movl %eax, -0x44c(%rbp)
jmp 0xf550
movl -0x44c(%rbp), %eax
movq -0x8(%rbp), %rcx
addl 0x10(%rcx), %eax
addl $0xf7537e82, %eax       # imm = 0xF7537E82
addl -0x1f4(%rbp), %eax
movl %eax, -0x1f4(%rbp)
movl -0x1f4(%rbp), %eax
shll $0x6, %eax
movl -0x1f4(%rbp), %ecx
shrl $0x1a, %ecx
orl %ecx, %eax
addl -0x1f8(%rbp), %eax
movl %eax, -0x1f4(%rbp)
movl -0x1f4(%rbp), %ecx
xorl -0x1fc(%rbp), %ecx
shrl $0x1f, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
je 0xf5a8
jmp 0xf8ee
movl -0x1f4(%rbp), %edi
movl -0x1f8(%rbp), %esi
movl -0x1fc(%rbp), %edx
callq 0x4600
movl %eax, -0x450(%rbp)
jmp 0xf5c7
movl -0x450(%rbp), %eax
movq -0x8(%rbp), %rcx
addl 0x2c(%rcx), %eax
addl $0xbd3af235, %eax       # imm = 0xBD3AF235
addl -0x200(%rbp), %eax
movl %eax, -0x200(%rbp)
movl -0x200(%rbp), %eax
shll $0xa, %eax
movl -0x200(%rbp), %ecx
shrl $0x16, %ecx
orl %ecx, %eax
addl -0x1f4(%rbp), %eax
movl %eax, -0x200(%rbp)
movl -0x1f8(%rbp), %ecx
xorl -0x200(%rbp), %ecx
shrl $0x1f, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
je 0xf61f
jmp 0xf8ee
movl -0x200(%rbp), %edi
movl -0x1f4(%rbp), %esi
movl -0x1f8(%rbp), %edx
callq 0x4600
movl %eax, -0x454(%rbp)
jmp 0xf63e
movl -0x454(%rbp), %eax
movq -0x8(%rbp), %rcx
addl 0x8(%rcx), %eax
addl $0x2ad7d2bb, %eax       # imm = 0x2AD7D2BB
addl -0x1fc(%rbp), %eax
movl %eax, -0x1fc(%rbp)
movl -0x1fc(%rbp), %eax
shll $0xf, %eax
movl -0x1fc(%rbp), %ecx
shrl $0x11, %ecx
orl %ecx, %eax
addl -0x200(%rbp), %eax
movl %eax, -0x1fc(%rbp)
movl -0x1f4(%rbp), %ecx
xorl -0x1fc(%rbp), %ecx
shrl $0x1f, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
je 0xf696
jmp 0xf8ee
movl -0x1fc(%rbp), %edi
movl -0x200(%rbp), %esi
movl -0x1f4(%rbp), %edx
callq 0x4600
movl %eax, -0x458(%rbp)
jmp 0xf6b5
movl -0x458(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x24(%rax), %eax
addl %eax, %edx
movl -0x1f8(%rbp), %ecx
movl %ecx, %eax
movl %edx, %ecx
leal -0x14792c6f(%rax,%rcx), %eax
movl %eax, -0x1f8(%rbp)
movl -0x1f8(%rbp), %eax
roll $0x15, %eax
movl -0x1fc(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x1f8(%rbp)
movq 0x68d7(%rip), %rdi      # 0x15fd0
leaq 0x39b4(%rip), %rsi      # 0x130b4
callq 0x10d0
movq %rax, -0x460(%rbp)
jmp 0xf70e
movq -0x460(%rbp), %rdi
movq 0x68bc(%rip), %rsi      # 0x15fd8
callq 0x1100
jmp 0xf723
movl $0x0, -0x264(%rbp)
cmpl $0x4, -0x264(%rbp)
jge 0xf785
movq -0x10(%rbp), %rax
movslq -0x264(%rbp), %rcx
movl (%rax,%rcx,4), %ecx
movslq -0x264(%rbp), %rax
movl %ecx, -0x250(%rbp,%rax,4)
movq -0x10(%rbp), %rax
movslq -0x264(%rbp), %rcx
movl (%rax,%rcx,4), %ecx
addl $0x80000000, %ecx       # imm = 0x80000000
movslq -0x264(%rbp), %rax
movl %ecx, -0x260(%rbp,%rax,4)
movl -0x264(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x264(%rbp)
jmp 0xf72d
movl -0x25c(%rbp), %eax
subl $0x2000000, %eax        # imm = 0x2000000
movl %eax, -0x25c(%rbp)
movl -0x258(%rbp), %eax
subl $0x2000000, %eax        # imm = 0x2000000
movl %eax, -0x258(%rbp)
movl -0x254(%rbp), %eax
subl $0x2000000, %eax        # imm = 0x2000000
movl %eax, -0x254(%rbp)
movl $0x0, -0x268(%rbp)
cmpl $0x10, -0x268(%rbp)
jge 0xf7f8
movq -0x8(%rbp), %rax
movslq -0x268(%rbp), %rcx
movl (%rax,%rcx,4), %ecx
movslq -0x268(%rbp), %rax
movl %ecx, -0x240(%rbp,%rax,4)
movl -0x268(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x268(%rbp)
jmp 0xf7c2
movl -0x230(%rbp), %eax
addl $0x80000000, %eax       # imm = 0x80000000
movl %eax, -0x230(%rbp)
movl -0x214(%rbp), %eax
addl $0x8000, %eax           # imm = 0x8000
movl %eax, -0x214(%rbp)
movl -0x208(%rbp), %eax
addl $0x80000000, %eax       # imm = 0x80000000
movl %eax, -0x208(%rbp)
movq -0x8(%rbp), %rsi
leaq -0x250(%rbp), %rdi
callq 0x50b0
jmp 0xf83d
leaq -0x260(%rbp), %rdi
leaq -0x240(%rbp), %rsi
callq 0x50b0
jmp 0xf852
movl -0x260(%rbp), %eax
cmpl -0x250(%rbp), %eax
jne 0xf8ab
movl -0x25c(%rbp), %eax
cmpl -0x24c(%rbp), %eax
jne 0xf8ab
movl -0x258(%rbp), %eax
cmpl -0x248(%rbp), %eax
jne 0xf8ab
movl -0x254(%rbp), %eax
cmpl -0x244(%rbp), %eax
jne 0xf8ab
leaq -0x168(%rbp), %rdi
callq 0x4620
leaq -0x138(%rbp), %rdi
callq 0x4620
addq $0x470, %rsp            # imm = 0x470
popq %rbp
retq
movl -0x260(%rbp), %eax
cmpl -0x250(%rbp), %eax
je 0xf8ec
movq 0x6710(%rip), %rdi      # 0x15fd0
leaq 0x37ef(%rip), %rsi      # 0x130b6
callq 0x10d0
movq %rax, -0x468(%rbp)
jmp 0xf8d5
movq -0x468(%rbp), %rdi
movq 0x66f5(%rip), %rsi      # 0x15fd8
callq 0x1100
jmp 0xf8ea
jmp 0xf8ec
jmp 0xf8ee
movl -0x1f0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1f0(%rbp)
jmp 0xe50f
jmp 0xf904
movl -0x1d0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1d0(%rbp)
jmp 0xe208
jmp 0xd4a9
leaq -0x138(%rbp), %rdi
callq 0x4620
movq -0x148(%rbp), %rdi
callq 0x1150
nopw %cs:(%rax,%rax)
nop