// File: /workspace/github_cpp_makefile_star2_O1/menhits[P]phplus/src/utils/stringDrawing.cpp
// Function: str::makeRootUpBinaryTree(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
string makeRootUpBinaryTree(const string& root, const string& leftBranch, const string& rightBranch, const string& leftLeaf, const string& rightLeaf)
{
	vector<string> leftAry;
	splitByLine(leftAry, leftLeaf);
	
	vector<string> rightAry;
	splitByLine(rightAry, rightLeaf);
	
	/*
	if (rightAry.empty() && !leftAry.empty())
		rightAry.push_back(padString("", getMaxWidth(leftAry)));
	
	if (leftAry.empty() && !rightAry.empty())
		leftAry.push_back(padString("", getMaxWidth(rightAry)));
		
	if (leftAry.empty())
		leftAry.push_back("");
	*/
	
	// make sure left and right arrays are the same size
	while (leftAry.size()<rightAry.size())
		leftAry.push_back("");
	while (rightAry.size()<leftAry.size())
		rightAry.push_back("");
	
	// set up the root array
	vector<string> rootAry;
	splitByLine(rootAry, root);
	if (rootAry.empty())
		rootAry.push_back("");
	padWidths(rootAry);
	
	int rootWidth=getMaxWidth(rootAry);
	//int leafWidth=std::max(std::max(getMaxWidth(leftAry), getMaxWidth(rightAry)), rootWidth)+1;
	
	//padWidths(leftAry, leafWidth, ALIGNMENT_LEFT);
	//padWidths(rightAry, leafWidth, ALIGNMENT_RIGHT);
	
	// make sure everything is padded
	padWidths(leftAry);
	padWidths(rightAry);
	
	//int size=std::max(rootWidth, getMaxWidth(leftAry)+getMaxWidth(rightAry));
	
	int leftPadWidth=0;
	
	// left connection line
	if (!leftLeaf.empty())
	{
		int endXPos=getGlyphPosOf(leftAry[0], "┴");
		int leftBranchWidth=getWidth(leftBranch);
		if (endXPos>0)
		{
			int leftMargin=0;//(getMaxWidth(leftAry)-leftBranchWidth)/2;
			if (leftMargin>0)
			{
				for (int i=0; i<(int)leftAry.size(); i++)
				{
					leftAry[i]=pad("", leftMargin)+leftAry[i];
				}
				endXPos+=leftMargin;
			}
			int middleYPos=rootAry.size()/2;
			rootAry[middleYPos]="┤"+sub(rootAry[middleYPos], 1, -1);
			leftPadWidth=getMaxWidth(leftAry)-rootWidth/2;
			if (endXPos+1>leftPadWidth)
				leftPadWidth=endXPos+1;
			leftPadWidth=max(leftPadWidth, (int)ceil(leftBranchWidth/2.0)+endXPos);
			for (int i=0; i<(int)rootAry.size(); i++)
			{
				if (i<middleYPos)
					rootAry[i]=padString("", leftPadWidth)+rootAry[i];
				else if (i==middleYPos)
					rootAry[i]=padString("", endXPos)+"╭"+padString("", leftPadWidth-endXPos-1, ALIGNMENT_LEFT, "─")+rootAry[i];
				else if (i==middleYPos+1 && !leftBranch.empty())
				{
					rootAry[i]=padString("", endXPos-floor(leftBranchWidth/2.0))+leftBranch+padString("", leftPadWidth-endXPos-ceil(leftBranchWidth/2.0))+rootAry[i];
				}
				else
					rootAry[i]=padString("", endXPos)+"│"+padString("", leftPadWidth-endXPos-1)+rootAry[i];
			}
		}
	}
	
	// right connection line
	if (!rightLeaf.empty())
	{
		int endXPos=getGlyphPosOf(rightAry[0], "┴");
		int rightBranchWidth=getWidth(rightBranch);
		if (endXPos>0)
		{
			int middleYPos=rootAry.size()/2;
			rootAry[middleYPos]=sub(rootAry[middleYPos], 0, getWidth(rootAry[middleYPos])-1)+"├";
			int inset=rootWidth/2;
			inset=min(endXPos-(int)floor(rightBranchWidth/2.0), inset);
			for (int i=0; i<(int)rootAry.size(); i++)
			{
				if (i<middleYPos)
					rootAry[i]=rootAry[i]+padString("", getMaxWidth(rightAry)-inset);
				else if (i==middleYPos)
					rootAry[i]=rootAry[i]+padString("", endXPos-inset, ALIGNMENT_LEFT, "─")+"╮";
				else if (i==middleYPos+1 && !rightBranch.empty())
					rootAry[i]=rootAry[i]+pad("", endXPos-inset-floor(rightBranchWidth/2.0))+rightBranch;
				else
					rootAry[i]=rootAry[i]+padString("", endXPos-inset)+"│";
			}
			
			for (int i=0; i<(int)leftAry.size(); i++)
			{
				leftAry[i]=leftAry[i]+pad("", rootWidth+leftPadWidth-getWidth(leftAry[i])-inset);
			}
		}
	}
	
	for (int i=0; i<(int)leftAry.size(); i++)
	{
		rootAry.push_back(leftAry[i]+rightAry[i]);
	}
	
	padWidths(rootAry);
	
	return join(rootAry);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x808, %rsp            # imm = 0x808
movq %r9, 0x108(%rsp)
movq %r8, %rbx
movq %rcx, %r13
movq %rdx, 0x110(%rsp)
movq %rsi, %r14
movq %rdi, %r15
xorpd %xmm0, %xmm0
leaq 0xc0(%rsp), %rdi
movapd %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
leaq 0x20(%rsp), %r12
movq %r12, -0x10(%r12)
movw $0xa, (%r12)
movq $0x1, -0x8(%r12)
leaq 0x10(%rsp), %rdx
movq %r8, %rsi
xorl %ecx, %ecx
callq 0x747c0
movq 0x10(%rsp), %rdi
cmpq %r12, %rdi
je 0x713fe
callq 0xa2b0
xorpd %xmm0, %xmm0
leaq 0x160(%rsp), %rdi
movapd %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
leaq 0x10(%rsp), %rdx
movq %r12, (%rdx)
movw $0xa, 0x10(%rdx)
movq $0x1, 0x8(%rdx)
movq 0x108(%rsp), %rsi
xorl %ecx, %ecx
callq 0x747c0
movq %r13, 0x190(%rsp)
movq %r15, 0x1e0(%rsp)
movq 0x10(%rsp), %rdi
cmpq %r12, %rdi
je 0x7145a
callq 0xa2b0
movq 0xc8(%rsp), %rax
subq 0xc0(%rsp), %rax
movq 0x168(%rsp), %rcx
subq 0x160(%rsp), %rcx
cmpq %rcx, %rax
jae 0x714ef
leaq 0x55c9(%rip), %r15      # 0x76a4f
leaq 0x10(%rsp), %r12
leaq 0xc0(%rsp), %r13
leaq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
movq %r12, %rdi
movq %r15, %rsi
movq %r15, %rdx
callq 0xdf6a
movq %r13, %rdi
movq %r12, %rsi
callq 0x16ffe
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x714ca
callq 0xa2b0
movq 0xc8(%rsp), %rax
subq 0xc0(%rsp), %rax
movq 0x168(%rsp), %rcx
subq 0x160(%rsp), %rcx
cmpq %rcx, %rax
jb 0x71493
movq 0x168(%rsp), %rax
subq 0x160(%rsp), %rax
movq 0xc8(%rsp), %rcx
subq 0xc0(%rsp), %rcx
cmpq %rcx, %rax
jae 0x71584
leaq 0x5534(%rip), %r15      # 0x76a4f
leaq 0x10(%rsp), %r12
leaq 0x160(%rsp), %r13
leaq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
movq %r12, %rdi
movq %r15, %rsi
movq %r15, %rdx
callq 0xdf6a
movq %r13, %rdi
movq %r12, %rsi
callq 0x16ffe
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x7155f
callq 0xa2b0
movq 0x168(%rsp), %rax
subq 0x160(%rsp), %rax
movq 0xc8(%rsp), %rcx
subq 0xc0(%rsp), %rcx
cmpq %rcx, %rax
jb 0x71528
xorpd %xmm0, %xmm0
leaq 0x80(%rsp), %rdi
movapd %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
leaq 0x10(%rsp), %rdx
leaq 0x20(%rsp), %r13
movq %r13, (%rdx)
movw $0xa, 0x10(%rdx)
movq $0x1, 0x8(%rdx)
movq %r14, %rsi
xorl %ecx, %ecx
callq 0x747c0
movq 0x10(%rsp), %rdi
cmpq %r13, %rdi
je 0x715d0
callq 0xa2b0
movq 0x80(%rsp), %rax
cmpq 0x88(%rsp), %rax
jne 0x7161a
leaq 0x10(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x545e(%rip), %rdx      # 0x76a4f
movq %rdx, %rsi
callq 0xdf6a
leaq 0x80(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x16ffe
movq 0x10(%rsp), %rdi
cmpq %r13, %rdi
je 0x7161a
callq 0xa2b0
leaq 0x7f8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x546f(%rip), %rsi      # 0x76a9c
leaq 0x5469(%rip), %rdx      # 0x76a9d
leaq 0x7e8(%rsp), %rdi
callq 0xdf6a
leaq 0x7d8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x53fb(%rip), %rdx      # 0x76a4f
leaq 0x7c8(%rsp), %rdi
movq %rdx, %rsi
callq 0xdf6a
leaq 0x7b8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x53d7(%rip), %rdx      # 0x76a4f
leaq 0x7a8(%rsp), %rdi
movq %rdx, %rsi
callq 0xdf6a
leaq 0x80(%rsp), %rdi
leaq 0x7e8(%rsp), %rcx
leaq 0x7c8(%rsp), %r8
leaq 0x7a8(%rsp), %r9
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0x1, %edx
callq 0x6e6ac
movq 0x7a8(%rsp), %rdi
cmpq %r12, %rdi
je 0x716c9
callq 0xa2b0
movq 0x7c8(%rsp), %rdi
cmpq %r15, %rdi
je 0x716db
callq 0xa2b0
movq 0x7e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x716ed
callq 0xa2b0
leaq 0x80(%rsp), %rdi
callq 0x6e610
movl %eax, 0x104(%rsp)
leaq 0x798(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x5388(%rip), %rsi      # 0x76a9c
leaq 0x5382(%rip), %rdx      # 0x76a9d
leaq 0x788(%rsp), %rdi
callq 0xdf6a
leaq 0x778(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5314(%rip), %rdx      # 0x76a4f
leaq 0x768(%rsp), %rdi
movq %rdx, %rsi
callq 0xdf6a
leaq 0x758(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x52f0(%rip), %rdx      # 0x76a4f
leaq 0x748(%rsp), %rdi
movq %rdx, %rsi
callq 0xdf6a
leaq 0xc0(%rsp), %rdi
leaq 0x788(%rsp), %rcx
leaq 0x768(%rsp), %r8
leaq 0x748(%rsp), %r9
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0x1, %edx
callq 0x6e6ac
movq 0x748(%rsp), %rdi
cmpq %r12, %rdi
je 0x717b0
callq 0xa2b0
movq 0x768(%rsp), %rdi
cmpq %r15, %rdi
je 0x717c2
callq 0xa2b0
movq 0x788(%rsp), %rdi
cmpq %r14, %rdi
je 0x717d4
callq 0xa2b0
leaq 0x738(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x52b5(%rip), %rsi      # 0x76a9c
leaq 0x52af(%rip), %rdx      # 0x76a9d
leaq 0x728(%rsp), %rdi
callq 0xdf6a
leaq 0x718(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5241(%rip), %rdx      # 0x76a4f
leaq 0x708(%rsp), %rdi
movq %rdx, %rsi
callq 0xdf6a
leaq 0x6f8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x521d(%rip), %rdx      # 0x76a4f
leaq 0x6e8(%rsp), %rdi
movq %rdx, %rsi
callq 0xdf6a
leaq 0x160(%rsp), %rdi
leaq 0x728(%rsp), %rcx
leaq 0x708(%rsp), %r8
leaq 0x6e8(%rsp), %r9
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0x1, %edx
callq 0x6e6ac
movq 0x6e8(%rsp), %rdi
cmpq %r12, %rdi
je 0x71883
callq 0xa2b0
movq 0x708(%rsp), %rdi
cmpq %r15, %rdi
je 0x71895
callq 0xa2b0
movq 0x728(%rsp), %rdi
cmpq %r14, %rdi
je 0x718a7
callq 0xa2b0
cmpq $0x0, 0x8(%rbx)
je 0x7196e
movq 0xc0(%rsp), %rbx
leaq 0x6d8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xac2c(%rip), %rsi      # 0x7c4f9
leaq 0xac28(%rip), %rdx      # 0x7c4fc
leaq 0x6c8(%rsp), %rdi
callq 0xdf6a
leaq 0x6c8(%rsp), %rsi
movq %rbx, %rdi
callq 0x75925
movl %eax, %r12d
movq 0x6c8(%rsp), %rdi
cmpq %r14, %rdi
je 0x71906
callq 0xa2b0
movq 0x110(%rsp), %rcx
movq 0x8(%rcx), %rax
testl %eax, %eax
jle 0x7197b
movq (%rcx), %rcx
movl %eax, %edx
andl $0x7fffffff, %edx       # imm = 0x7FFFFFFF
xorl %esi, %esi
xorl %edi, %edi
movslq %edi, %rdi
leaq 0x1(%rdi), %r8
cmpq %rdx, %r8
cmovleq %rdx, %r8
leaq -0x1(%r8), %r9
cmpq %rdi, %r9
je 0x7194f
movb 0x1(%rcx,%rdi), %r10b
incq %rdi
andb $-0x40, %r10b
negb %r10b
jo 0x71937
jmp 0x71952
movq %r8, %rdi
incl %esi
cmpl %eax, %edi
jl 0x71925
movl $0x0, 0x74(%rsp)
cvtsi2sd %esi, %xmm0
mulsd 0x9894(%rip), %xmm0     # 0x7b200
jmp 0x71987
movl $0x0, 0x74(%rsp)
jmp 0x72ad5
movl $0x0, 0x74(%rsp)
xorpd %xmm0, %xmm0
movsd %xmm0, 0x78(%rsp)
testl %r12d, %r12d
jle 0x72ad5
movq 0x80(%rsp), %rax
movq 0x88(%rsp), %rbx
subq %rax, %rbx
sarq $0x5, %rbx
shrq %rbx
movslq %ebx, %r14
shlq $0x5, %r14
leaq (%rax,%r14), %rsi
movq (%rax,%r14), %rcx
movq 0x8(%rax,%r14), %rax
movslq %eax, %rdi
cmpq $0x2, %rdi
movl $0x1, %edx
cmovgeq %rdi, %rdx
leaq -0x1(%rdx), %r8
xorl %edi, %edi
cmpq %rdi, %r8
je 0x719f2
movb 0x1(%rcx,%rdi), %r9b
incq %rdi
andb $-0x40, %r9b
negb %r9b
jo 0x719da
jmp 0x719f5
movq %rdx, %rdi
movslq %edi, %rdx
subl %edx, %eax
movslq %eax, %rcx
leaq 0x30(%rsp), %rdi
callq 0xa2f0
leaq 0xaafb(%rip), %rcx      # 0x7c509
leaq 0x30(%rsp), %rdi
movl $0x3, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0xa310
movq %r13, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x71a45
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x71a4f
movupd (%rcx), %xmm0
movupd %xmm0, (%r13)
movq 0x8(%rax), %rdx
leaq 0x10(%rsp), %r15
movq %rdx, 0x8(%r15)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
addq 0x80(%rsp), %r14
movq %r14, %rdi
movq %r15, %rsi
callq 0xa370
movq (%r15), %rdi
cmpq %r13, %rdi
je 0x71a8b
callq 0xa2b0
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x71a9e
callq 0xa2b0
leaq 0xc0(%rsp), %rdi
callq 0x6e610
movl 0x104(%rsp), %edx
movl %edx, %ecx
shrl $0x1f, %ecx
addl %edx, %ecx
sarl %ecx
subl %ecx, %eax
leal 0x1(%r12), %r14d
cmpl %eax, %r12d
cmovll %eax, %r14d
movsd 0x78(%rsp), %xmm0
callq 0xa080
cvttsd2si %xmm0, %ebp
addl %r12d, %ebp
cmpl %ebp, %r14d
cmovgl %r14d, %ebp
movq 0x88(%rsp), %rax
subq 0x80(%rsp), %rax
shrq $0x5, %rax
testl %eax, %eax
movl %ebp, 0x74(%rsp)
jle 0x72ad5
leal 0x1(%rbx), %eax
movq %rax, 0x188(%rsp)
cvtsi2sd %r12d, %xmm1
movsd %xmm1, 0xb8(%rsp)
movsd %xmm0, 0x118(%rsp)
movsd 0x78(%rsp), %xmm0
callq 0xa4d0
movsd 0xb8(%rsp), %xmm1
subsd %xmm0, %xmm1
cvttsd2si %xmm1, %eax
movl %eax, 0x100(%rsp)
movl %ebp, %eax
subl %r12d, %eax
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
subsd 0x118(%rsp), %xmm0
cvttsd2si %xmm0, %eax
movl %eax, 0x19c(%rsp)
movq %r12, 0xb8(%rsp)
movl %r12d, %eax
notl %eax
addl %ebp, %eax
movl %eax, 0x180(%rsp)
movl %ebx, %eax
movq %rax, 0x118(%rsp)
movslq %ebx, %rax
movq %rax, 0x78(%rsp)
xorl %r14d, %r14d
leaq 0x4eb6(%rip), %r12      # 0x76a4f
leaq 0x30(%rsp), %rbx
xorl %r13d, %r13d
leaq 0x40(%rsp), %rbp
cmpq 0x78(%rsp), %r13
jge 0x71cb5
leaq 0x60(%rsp), %rax
movq %rax, 0x50(%rsp)
leaq 0x50(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdf6a
leaq 0x618(%rsp), %rax
movq %rax, 0x608(%rsp)
leaq 0x608(%rsp), %rbp
movq %rbp, %rdi
leaq 0x4eaf(%rip), %rsi      # 0x76a9c
leaq 0x4ea9(%rip), %rdx      # 0x76a9d
callq 0xdf6a
movq %rbx, %r15
leaq 0x498(%rsp), %rax
movq %rax, 0x488(%rsp)
leaq 0x488(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdf6a
leaq 0x5f8(%rsp), %rax
movq %rax, 0x5e8(%rsp)
leaq 0x5e8(%rsp), %rbx
movq %rbx, %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdf6a
movq %rbx, (%rsp)
movq %r15, %rbx
movq %r15, %rdi
leaq 0x50(%rsp), %rsi
movl 0x74(%rsp), %edx
movl $0x1, %ecx
movq %rbp, %r8
leaq 0x488(%rsp), %r9
callq 0x5a66f
movq 0x80(%rsp), %rax
movq (%rax,%r14), %rsi
movq 0x8(%rax,%r14), %rdx
movq %rbx, %rdi
callq 0xa110
leaq 0x20(%rsp), %rbp
movq %rbp, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x71f07
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x71f10
cmpq %r13, 0x118(%rsp)
jne 0x71dd1
leaq 0x150(%rsp), %rax
movq %rax, 0x140(%rsp)
leaq 0x140(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdf6a
leaq 0x478(%rsp), %rax
movq %rax, 0x468(%rsp)
leaq 0x468(%rsp), %rdi
leaq 0x4d97(%rip), %rsi      # 0x76a9c
leaq 0x4d91(%rip), %rdx      # 0x76a9d
callq 0xdf6a
leaq 0x458(%rsp), %rax
movq %rax, 0x448(%rsp)
leaq 0x448(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdf6a
leaq 0x5d8(%rsp), %rax
movq %rax, 0x5c8(%rsp)
leaq 0x5c8(%rsp), %r15
movq %r15, %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdf6a
movq %r15, (%rsp)
leaq 0x98(%rsp), %r15
movq %r15, %rdi
leaq 0x140(%rsp), %rsi
movq 0xb8(%rsp), %rdx
movl $0x1, %ecx
leaq 0x468(%rsp), %r8
leaq 0x448(%rsp), %r9
callq 0x5a66f
movq %r15, %rdi
leaq 0xa770(%rip), %rsi      # 0x7c50d
callq 0xa560
leaq 0x60(%rsp), %rsi
movq %rsi, 0x50(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x720cb
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0x720d3
cmpq %r13, 0x188(%rsp)
jne 0x71fbd
movq 0x110(%rsp), %rax
cmpq $0x0, 0x8(%rax)
je 0x71fbd
leaq 0x150(%rsp), %rax
movq %rax, 0x140(%rsp)
leaq 0x140(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdf6a
leaq 0x3f8(%rsp), %rax
movq %rax, 0x3e8(%rsp)
leaq 0x3e8(%rsp), %rdi
leaq 0x4c68(%rip), %rsi      # 0x76a9c
leaq 0x4c62(%rip), %rdx      # 0x76a9d
callq 0xdf6a
leaq 0x3d8(%rsp), %rax
movq %rax, 0x3c8(%rsp)
leaq 0x3c8(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdf6a
leaq 0x598(%rsp), %rax
movq %rax, 0x588(%rsp)
leaq 0x588(%rsp), %r15
movq %r15, %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdf6a
movq %r15, (%rsp)
leaq 0x98(%rsp), %r15
movq %r15, %rdi
leaq 0x140(%rsp), %rsi
movl 0x100(%rsp), %edx
movl $0x1, %ecx
leaq 0x3e8(%rsp), %r8
leaq 0x3c8(%rsp), %r9
callq 0x5a66f
movq 0x110(%rsp), %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %r15, %rdi
callq 0xa110
leaq 0x60(%rsp), %rsi
movq %rsi, 0x50(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x72562
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0x7256a
movupd (%rcx), %xmm0
movupd %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x80(%rsp), %rdi
addq %r14, %rdi
leaq 0x10(%rsp), %rsi
callq 0xa370
movq 0x10(%rsp), %rdi
cmpq %rbp, %rdi
je 0x71f4c
callq 0xa2b0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rbp
cmpq %rbp, %rdi
je 0x71f60
callq 0xa2b0
movq 0x5e8(%rsp), %rdi
leaq 0x5f8(%rsp), %rax
cmpq %rax, %rdi
je 0x71f7a
callq 0xa2b0
movq 0x488(%rsp), %rdi
leaq 0x498(%rsp), %rax
cmpq %rax, %rdi
je 0x71f94
callq 0xa2b0
movq 0x608(%rsp), %rdi
leaq 0x618(%rsp), %rax
cmpq %rax, %rdi
je 0x71fae
callq 0xa2b0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
jmp 0x72aa5
leaq 0x150(%rsp), %rax
movq %rax, 0x140(%rsp)
leaq 0x140(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdf6a
leaq 0x378(%rsp), %rax
movq %rax, 0x368(%rsp)
leaq 0x368(%rsp), %rdi
leaq 0x4a9d(%rip), %rsi      # 0x76a9c
leaq 0x4a97(%rip), %rdx      # 0x76a9d
callq 0xdf6a
leaq 0x358(%rsp), %rax
movq %rax, 0x348(%rsp)
leaq 0x348(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdf6a
leaq 0x558(%rsp), %rax
movq %rax, 0x548(%rsp)
leaq 0x548(%rsp), %r15
movq %r15, %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdf6a
movq %r15, (%rsp)
leaq 0x98(%rsp), %r15
movq %r15, %rdi
leaq 0x140(%rsp), %rsi
movq 0xb8(%rsp), %rdx
movl $0x1, %ecx
leaq 0x368(%rsp), %r8
leaq 0x348(%rsp), %r9
callq 0x5a66f
movq %r15, %rdi
leaq 0x571d(%rip), %rsi      # 0x777b4
callq 0xa560
leaq 0x60(%rsp), %rsi
movq %rsi, 0x50(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x72408
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0x72410
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x58(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x130(%rsp), %rax
movq %rax, 0x120(%rsp)
leaq 0x120(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdf6a
leaq 0x438(%rsp), %rax
movq %rax, 0x428(%rsp)
leaq 0x428(%rsp), %rdi
leaq 0xa3c2(%rip), %rsi      # 0x7c4ef
leaq 0xa3be(%rip), %rdx      # 0x7c4f2
callq 0xdf6a
leaq 0x418(%rsp), %rax
movq %rax, 0x408(%rsp)
leaq 0x408(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdf6a
leaq 0x5b8(%rsp), %rax
movq %rax, 0x5a8(%rsp)
leaq 0x5a8(%rsp), %r15
movq %r15, %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdf6a
movq %r15, (%rsp)
leaq 0xe0(%rsp), %rdi
leaq 0x120(%rsp), %rsi
movl 0x180(%rsp), %edx
movl $0x1, %ecx
leaq 0x428(%rsp), %r8
leaq 0x408(%rsp), %r9
callq 0x5a66f
movq 0x50(%rsp), %rcx
movl $0xf, %esi
leaq 0x60(%rsp), %rax
cmpq %rax, %rcx
je 0x721d0
movq 0x60(%rsp), %rsi
movq 0x58(%rsp), %r8
movq 0xe8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x7220a
movl $0xf, %esi
leaq 0xf0(%rsp), %rdi
cmpq %rdi, 0xe0(%rsp)
je 0x72205
movq 0xf0(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x7221e
movq 0xe0(%rsp), %rsi
leaq 0x50(%rsp), %rdi
callq 0xa110
jmp 0x7222f
leaq 0xe0(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xa310
movq %rbp, 0x30(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x7224f
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0x72258
movupd (%rcx), %xmm0
movupd %xmm0, (%rbp)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x38(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq 0x80(%rsp), %rax
movq (%rax,%r14), %rsi
movq 0x8(%rax,%r14), %rdx
movq %rbx, %rdi
callq 0xa110
leaq 0x20(%rsp), %rbp
movq %rbp, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x722b6
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x722bf
movupd (%rcx), %xmm0
movupd %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x80(%rsp), %rdi
addq %r14, %rdi
leaq 0x10(%rsp), %rsi
callq 0xa370
movq 0x10(%rsp), %rdi
cmpq %rbp, %rdi
je 0x722fb
callq 0xa2b0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rbp
cmpq %rbp, %rdi
je 0x7230f
callq 0xa2b0
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0x72329
callq 0xa2b0
movq 0x5a8(%rsp), %rdi
leaq 0x5b8(%rsp), %rax
cmpq %rax, %rdi
je 0x72343
callq 0xa2b0
movq 0x408(%rsp), %rdi
leaq 0x418(%rsp), %rax
cmpq %rax, %rdi
je 0x7235d
callq 0xa2b0
movq 0x428(%rsp), %rdi
leaq 0x438(%rsp), %rax
cmpq %rax, %rdi
je 0x72377
callq 0xa2b0
movq 0x120(%rsp), %rdi
leaq 0x130(%rsp), %rax
cmpq %rax, %rdi
je 0x72391
callq 0xa2b0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x723a5
callq 0xa2b0
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x723bf
callq 0xa2b0
movq 0x5c8(%rsp), %rdi
leaq 0x5d8(%rsp), %rax
cmpq %rax, %rdi
je 0x723d9
callq 0xa2b0
movq 0x448(%rsp), %rdi
leaq 0x458(%rsp), %rax
cmpq %rax, %rdi
je 0x723f3
callq 0xa2b0
movq 0x468(%rsp), %rdi
leaq 0x478(%rsp), %rax
jmp 0x72a8b
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x58(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x130(%rsp), %rax
movq %rax, 0x120(%rsp)
leaq 0x120(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdf6a
leaq 0x338(%rsp), %rax
movq %rax, 0x328(%rsp)
leaq 0x328(%rsp), %rdi
leaq 0x4632(%rip), %rsi      # 0x76a9c
leaq 0x462c(%rip), %rdx      # 0x76a9d
callq 0xdf6a
leaq 0x318(%rsp), %rax
movq %rax, 0x308(%rsp)
leaq 0x308(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdf6a
leaq 0x538(%rsp), %rax
movq %rax, 0x528(%rsp)
leaq 0x528(%rsp), %r15
movq %r15, %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdf6a
movq %r15, (%rsp)
leaq 0xe0(%rsp), %rdi
leaq 0x120(%rsp), %rsi
movl 0x180(%rsp), %edx
movl $0x1, %ecx
leaq 0x328(%rsp), %r8
leaq 0x308(%rsp), %r9
callq 0x5a66f
movq 0x50(%rsp), %rcx
movl $0xf, %esi
leaq 0x60(%rsp), %rax
cmpq %rax, %rcx
je 0x7250d
movq 0x60(%rsp), %rsi
movq 0x58(%rsp), %r8
movq 0xe8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x7254b
movl $0xf, %esi
leaq 0xf0(%rsp), %rdi
cmpq %rdi, 0xe0(%rsp)
je 0x72542
movq 0xf0(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x726bc
movq 0xe0(%rsp), %rsi
leaq 0x50(%rsp), %rdi
callq 0xa110
jmp 0x726cd
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x58(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x130(%rsp), %rax
movq %rax, 0x120(%rsp)
leaq 0x120(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdf6a
leaq 0x3b8(%rsp), %rax
movq %rax, 0x3a8(%rsp)
leaq 0x3a8(%rsp), %rdi
leaq 0x44d8(%rip), %rsi      # 0x76a9c
leaq 0x44d2(%rip), %rdx      # 0x76a9d
callq 0xdf6a
leaq 0x398(%rsp), %rax
movq %rax, 0x388(%rsp)
leaq 0x388(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdf6a
leaq 0x578(%rsp), %rax
movq %rax, 0x568(%rsp)
leaq 0x568(%rsp), %r15
movq %r15, %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdf6a
movq %r15, (%rsp)
leaq 0xe0(%rsp), %rdi
leaq 0x120(%rsp), %rsi
movl 0x19c(%rsp), %edx
movl $0x1, %ecx
leaq 0x3a8(%rsp), %r8
leaq 0x388(%rsp), %r9
callq 0x5a66f
movq 0x50(%rsp), %rcx
movl $0xf, %esi
leaq 0x60(%rsp), %rax
cmpq %rax, %rcx
je 0x72667
movq 0x60(%rsp), %rsi
movq 0x58(%rsp), %r8
movq 0xe8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x726a5
movl $0xf, %esi
leaq 0xf0(%rsp), %rdi
cmpq %rdi, 0xe0(%rsp)
je 0x7269c
movq 0xf0(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x728a6
movq 0xe0(%rsp), %rsi
leaq 0x50(%rsp), %rdi
callq 0xa110
jmp 0x728b7
leaq 0xe0(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xa310
movq %rbp, 0x30(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x726ed
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0x726f6
movupd (%rcx), %xmm0
movupd %xmm0, (%rbp)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x38(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq 0x80(%rsp), %rax
movq (%rax,%r14), %rsi
movq 0x8(%rax,%r14), %rdx
movq %rbx, %rdi
callq 0xa110
leaq 0x20(%rsp), %rbp
movq %rbp, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x72754
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x7275d
movupd (%rcx), %xmm0
movupd %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x80(%rsp), %rdi
addq %r14, %rdi
leaq 0x10(%rsp), %rsi
callq 0xa370
movq 0x10(%rsp), %rdi
cmpq %rbp, %rdi
je 0x72799
callq 0xa2b0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rbp
cmpq %rbp, %rdi
je 0x727ad
callq 0xa2b0
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0x727c7
callq 0xa2b0
movq 0x528(%rsp), %rdi
leaq 0x538(%rsp), %rax
cmpq %rax, %rdi
je 0x727e1
callq 0xa2b0
movq 0x308(%rsp), %rdi
leaq 0x318(%rsp), %rax
cmpq %rax, %rdi
je 0x727fb
callq 0xa2b0
movq 0x328(%rsp), %rdi
leaq 0x338(%rsp), %rax
cmpq %rax, %rdi
je 0x72815
callq 0xa2b0
movq 0x120(%rsp), %rdi
leaq 0x130(%rsp), %rax
cmpq %rax, %rdi
je 0x7282f
callq 0xa2b0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x72843
callq 0xa2b0
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x7285d
callq 0xa2b0
movq 0x548(%rsp), %rdi
leaq 0x558(%rsp), %rax
cmpq %rax, %rdi
je 0x72877
callq 0xa2b0
movq 0x348(%rsp), %rdi
leaq 0x358(%rsp), %rax
cmpq %rax, %rdi
je 0x72891
callq 0xa2b0
movq 0x368(%rsp), %rdi
leaq 0x378(%rsp), %rax
jmp 0x72a8b
leaq 0xe0(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xa310
movq %rbp, 0x30(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x728d7
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0x728e0
movupd (%rcx), %xmm0
movupd %xmm0, (%rbp)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x38(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq 0x80(%rsp), %rax
movq (%rax,%r14), %rsi
movq 0x8(%rax,%r14), %rdx
movq %rbx, %rdi
callq 0xa110
leaq 0x20(%rsp), %rbp
movq %rbp, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x7293e
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x72947
movupd (%rcx), %xmm0
movupd %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x80(%rsp), %rdi
addq %r14, %rdi
leaq 0x10(%rsp), %rsi
callq 0xa370
movq 0x10(%rsp), %rdi
cmpq %rbp, %rdi
je 0x72983
callq 0xa2b0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rbp
cmpq %rbp, %rdi
je 0x72997
callq 0xa2b0
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0x729b1
callq 0xa2b0
movq 0x568(%rsp), %rdi
leaq 0x578(%rsp), %rax
cmpq %rax, %rdi
je 0x729cb
callq 0xa2b0
movq 0x388(%rsp), %rdi
leaq 0x398(%rsp), %rax
cmpq %rax, %rdi
je 0x729e5
callq 0xa2b0
movq 0x3a8(%rsp), %rdi
leaq 0x3b8(%rsp), %rax
cmpq %rax, %rdi
je 0x729ff
callq 0xa2b0
movq 0x120(%rsp), %rdi
leaq 0x130(%rsp), %rax
cmpq %rax, %rdi
je 0x72a19
callq 0xa2b0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x72a2d
callq 0xa2b0
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x72a47
callq 0xa2b0
movq 0x588(%rsp), %rdi
leaq 0x598(%rsp), %rax
cmpq %rax, %rdi
je 0x72a61
callq 0xa2b0
movq 0x3c8(%rsp), %rdi
leaq 0x3d8(%rsp), %rax
cmpq %rax, %rdi
je 0x72a7b
callq 0xa2b0
movq 0x3e8(%rsp), %rdi
leaq 0x3f8(%rsp), %rax
cmpq %rax, %rdi
je 0x72a95
callq 0xa2b0
movq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
cmpq %rax, %rdi
je 0x72aaf
callq 0xa2b0
incq %r13
movq 0x88(%rsp), %rax
subq 0x80(%rsp), %rax
shrq $0x5, %rax
cltq
addq $0x20, %r14
cmpq %rax, %r13
jl 0x71ba6
movq 0x108(%rsp), %rax
cmpq $0x0, 0x8(%rax)
movq 0x190(%rsp), %r15
je 0x7396e
movq 0x160(%rsp), %rbx
leaq 0x6b8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x99ee(%rip), %rsi      # 0x7c4f9
leaq 0x99ea(%rip), %rdx      # 0x7c4fc
leaq 0x6a8(%rsp), %rdi
callq 0xdf6a
leaq 0x6a8(%rsp), %rsi
movq %rbx, %rdi
callq 0x75925
movl %eax, %ebp
movq 0x6a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x72b43
callq 0xa2b0
movq 0x8(%r15), %rax
testl %eax, %eax
jle 0x72b9e
movq (%r15), %rcx
movl %eax, %edx
andl $0x7fffffff, %edx       # imm = 0x7FFFFFFF
xorl %esi, %esi
xorl %edi, %edi
movslq %edi, %rdi
leaq 0x1(%rdi), %r8
cmpq %rdx, %r8
cmovleq %rdx, %r8
leaq -0x1(%r8), %r9
cmpq %rdi, %r9
je 0x72b84
movb 0x1(%rcx,%rdi), %r10b
incq %rdi
andb $-0x40, %r10b
negb %r10b
jo 0x72b6c
jmp 0x72b87
movq %r8, %rdi
incl %esi
cmpl %eax, %edi
jl 0x72b5a
xorps %xmm0, %xmm0
cvtsi2sd %esi, %xmm0
mulsd 0x8664(%rip), %xmm0     # 0x7b200
jmp 0x72ba2
xorpd %xmm0, %xmm0
testl %ebp, %ebp
jle 0x7396e
movq 0x80(%rsp), %rsi
movq 0x88(%rsp), %r15
subq %rsi, %r15
sarq $0x5, %r15
shrq %r15
movslq %r15d, %rbx
shlq $0x5, %rbx
movq 0x8(%rsi,%rbx), %rax
addq %rbx, %rsi
testl %eax, %eax
jle 0x72c23
movq (%rsi), %rdx
movl %eax, %edi
andl $0x7fffffff, %edi       # imm = 0x7FFFFFFF
xorl %r9d, %r9d
xorl %r8d, %r8d
movl %r9d, %ecx
movslq %r8d, %r8
leaq 0x1(%r8), %r9
cmpq %rdi, %r9
cmovleq %rdi, %r9
leaq -0x1(%r9), %r10
cmpq %r8, %r10
je 0x72c15
movb 0x1(%rdx,%r8), %r11b
incq %r8
andb $-0x40, %r11b
negb %r11b
jo 0x72bfd
jmp 0x72c18
movq %r9, %r8
leal 0x1(%rcx), %r9d
cmpl %eax, %r8d
jl 0x72be8
jmp 0x72c28
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
testl %ecx, %ecx
leaq 0x20(%rsp), %r12
js 0x72c77
je 0x72c75
movq (%rsi), %rdx
movslq %eax, %rdi
xorl %eax, %eax
cltq
leaq 0x1(%rax), %r8
cmpq %rdi, %r8
cmovleq %rdi, %r8
leaq -0x1(%r8), %r9
cmpq %rax, %r9
je 0x72c64
movb 0x1(%rdx,%rax), %r10b
incq %rax
andb $-0x40, %r10b
negb %r10b
jo 0x72c4c
jmp 0x72c67
movq %r8, %rax
leal -0x1(%rcx), %r8d
cmpl $0x1, %ecx
movl %r8d, %ecx
jg 0x72c3b
jmp 0x72c77
xorl %eax, %eax
movsd %xmm0, 0x78(%rsp)
movslq %eax, %rcx
leaq 0x30(%rsp), %rdi
xorl %edx, %edx
callq 0xa2f0
leaq 0x987e(%rip), %rsi      # 0x7c511
leaq 0x30(%rsp), %rdi
callq 0xa560
movq %r12, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x72cc0
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x72cca
movupd (%rcx), %xmm0
movupd %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x10(%rsp), %r14
movq %rdx, 0x8(%r14)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
addq 0x80(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
callq 0xa370
movq (%r14), %rdi
cmpq %r12, %rdi
je 0x72d06
callq 0xa2b0
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x72d19
callq 0xa2b0
movl 0x104(%rsp), %eax
movl %eax, %ebx
shrl $0x1f, %ebx
addl %eax, %ebx
sarl %ebx
movsd 0x78(%rsp), %xmm0
callq 0xa4d0
cvttsd2si %xmm0, %eax
movl %ebp, %ecx
subl %eax, %ecx
cmpl %ecx, %ebx
cmovll %ebx, %ecx
movl %ecx, 0xb8(%rsp)
movq 0x80(%rsp), %rcx
movq 0x88(%rsp), %rax
movq %rcx, 0x78(%rsp)
subq %rcx, %rax
shrq $0x5, %rax
testl %eax, %eax
jle 0x736e6
leal 0x1(%r15), %eax
movq %rax, 0x188(%rsp)
subl 0xb8(%rsp), %ebp
movl %ebp, 0x108(%rsp)
cvtsi2sd %ebp, %xmm1
subsd %xmm0, %xmm1
cvttsd2si %xmm1, %eax
movl %eax, 0x100(%rsp)
movl %r15d, %eax
movq %rax, 0x180(%rsp)
movslq %r15d, %rax
movq %rax, 0x110(%rsp)
xorl %ebp, %ebp
leaq 0x3c97(%rip), %rsi      # 0x76a4f
leaq 0x50(%rsp), %r12
leaq 0x30(%rsp), %rbx
leaq 0x1c0(%rsp), %r15
leaq 0x1a0(%rsp), %r13
xorl %ecx, %ecx
cmpq 0x110(%rsp), %rcx
movq %rcx, 0x118(%rsp)
jge 0x72f13
leaq 0x60(%rsp), %rax
movq %rax, 0x50(%rsp)
movq %r12, %rdi
movq %rsi, %rdx
callq 0xdf6a
leaq 0x160(%rsp), %rdi
callq 0x6e610
movl %eax, %r15d
movq %rbp, %r13
leaq 0x2f8(%rsp), %rax
movq %rax, 0x2e8(%rsp)
leaq 0x2e8(%rsp), %rdi
leaq 0x3c6b(%rip), %rsi      # 0x76a9c
leaq 0x3c65(%rip), %rdx      # 0x76a9d
callq 0xdf6a
movq %r12, %r14
leaq 0x2d8(%rsp), %rax
movq %rax, 0x2c8(%rsp)
leaq 0x2c8(%rsp), %rdi
leaq 0x3bf0(%rip), %rbp      # 0x76a4f
movq %rbp, %rsi
movq %rbp, %rdx
callq 0xdf6a
leaq 0x518(%rsp), %rax
movq %rax, 0x508(%rsp)
leaq 0x508(%rsp), %r12
movq %r12, %rdi
movq %rbp, %rsi
movq %rbp, %rdx
callq 0xdf6a
subl 0xb8(%rsp), %r15d
movq %r12, (%rsp)
movq %rbx, %rdi
movq %r14, %r12
movq %r14, %rsi
movl %r15d, %edx
movl $0x1, %ecx
leaq 0x2e8(%rsp), %r8
leaq 0x2c8(%rsp), %r9
callq 0x5a66f
movq %r13, %rbp
movq 0x78(%rsp), %rax
movq (%rax,%r13), %rcx
movq 0x8(%rax,%r13), %r8
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xa310
leaq 0x20(%rsp), %r15
movq %r15, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x40(%rsp), %r13
je 0x7316a
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x73173
cmpq %rcx, 0x180(%rsp)
jne 0x73032
leaq 0xa8(%rsp), %rax
movq %rax, 0x98(%rsp)
leaq 0x98(%rsp), %rdi
movq %rsi, %rdx
callq 0xdf6a
leaq 0x2b8(%rsp), %rax
movq %rax, 0x2a8(%rsp)
leaq 0x2a8(%rsp), %rdi
leaq 0x958f(%rip), %rsi      # 0x7c4ef
leaq 0x958b(%rip), %rdx      # 0x7c4f2
callq 0xdf6a
leaq 0x298(%rsp), %rax
movq %rax, 0x288(%rsp)
leaq 0x288(%rsp), %rdi
leaq 0x3ac4(%rip), %r14      # 0x76a4f
movq %r14, %rsi
movq %r14, %rdx
callq 0xdf6a
leaq 0x1d0(%rsp), %rax
movq %rax, 0x1c0(%rsp)
movq %r15, %rdi
movq %r14, %rsi
movq %r14, %rdx
callq 0xdf6a
movq %r15, (%rsp)
movq %r12, %rdi
leaq 0x98(%rsp), %rsi
movl 0x108(%rsp), %edx
movl $0x1, %ecx
leaq 0x2a8(%rsp), %r8
leaq 0x288(%rsp), %r9
callq 0x5a66f
movq 0x78(%rsp), %rax
movq (%rax,%rbp), %rcx
movq 0x8(%rax,%rbp), %r8
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xa310
leaq 0x40(%rsp), %r13
movq %r13, 0x30(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x20(%rsp), %r15
je 0x73344
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0x7334e
cmpq %rcx, 0x188(%rsp)
jne 0x7322b
movq 0x190(%rsp), %rax
cmpq $0x0, 0x8(%rax)
je 0x7322b
leaq 0xa8(%rsp), %rax
movq %rax, 0x98(%rsp)
leaq 0x98(%rsp), %rdi
movq %rsi, %rdx
callq 0xdf6a
leaq 0x4f8(%rsp), %rax
movq %rax, 0x4e8(%rsp)
leaq 0x4e8(%rsp), %r15
movq %r15, %rdi
leaq 0x3a07(%rip), %rsi      # 0x76a9c
leaq 0x3a01(%rip), %rdx      # 0x76a9d
callq 0xdf6a
leaq 0x278(%rsp), %rax
movq %rax, 0x268(%rsp)
leaq 0x268(%rsp), %rdi
leaq 0x398f(%rip), %r14      # 0x76a4f
movq %r14, %rsi
movq %r14, %rdx
callq 0xdf6a
leaq 0x1b0(%rsp), %rax
movq %rax, 0x1a0(%rsp)
movq %r13, %rdi
movq %r14, %rsi
movq %r14, %rdx
callq 0xdf6a
movq %r13, (%rsp)
movq %r12, %rdi
leaq 0x98(%rsp), %rsi
movl 0x100(%rsp), %edx
movl $0x1, %ecx
movq %r15, %r8
leaq 0x268(%rsp), %r9
callq 0x749c5
movq 0x78(%rsp), %rax
movq (%rax,%rbp), %rcx
movq 0x8(%rax,%rbp), %r8
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xa310
leaq 0x40(%rsp), %r13
movq %r13, 0x30(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x20(%rsp), %r15
movq 0x190(%rsp), %rdi
je 0x734ad
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0x734b7
movupd (%rcx), %xmm0
movupd %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x80(%rsp), %rdi
addq %rbp, %rdi
leaq 0x10(%rsp), %rsi
callq 0xa370
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x731af
callq 0xa2b0
movq 0x30(%rsp), %rdi
cmpq %r13, %rdi
je 0x731be
callq 0xa2b0
movq 0x508(%rsp), %rdi
leaq 0x518(%rsp), %rax
cmpq %rax, %rdi
leaq 0x1c0(%rsp), %r15
leaq 0x1a0(%rsp), %r13
je 0x731e8
callq 0xa2b0
movq 0x2c8(%rsp), %rdi
leaq 0x2d8(%rsp), %rax
cmpq %rax, %rdi
je 0x73202
callq 0xa2b0
movq 0x2e8(%rsp), %rdi
leaq 0x2f8(%rsp), %rax
cmpq %rax, %rdi
je 0x7321c
callq 0xa2b0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
jmp 0x7369f
leaq 0xa8(%rsp), %rax
movq %rax, 0x98(%rsp)
leaq 0x98(%rsp), %rdi
movq %rsi, %rdx
callq 0xdf6a
leaq 0x4c8(%rsp), %r15
leaq 0x258(%rsp), %rax
movq %rax, 0x248(%rsp)
leaq 0x248(%rsp), %rdi
leaq 0x382a(%rip), %rsi      # 0x76a9c
leaq 0x3824(%rip), %rdx      # 0x76a9d
callq 0xdf6a
leaq 0x238(%rsp), %rax
movq %rax, 0x228(%rsp)
leaq 0x228(%rsp), %rdi
leaq 0x37b2(%rip), %r14      # 0x76a4f
movq %r14, %rsi
movq %r14, %rdx
callq 0xdf6a
leaq 0x4d8(%rsp), %rax
movq %rax, 0x4c8(%rsp)
movq %r15, %rdi
movq %r14, %rsi
movq %r14, %rdx
callq 0xdf6a
movq %r15, (%rsp)
movq %r12, %rdi
leaq 0x98(%rsp), %rsi
movl 0x108(%rsp), %edx
movl $0x1, %ecx
leaq 0x248(%rsp), %r8
leaq 0x228(%rsp), %r9
callq 0x5a66f
movq 0x78(%rsp), %rax
movq (%rax,%rbp), %rcx
movq 0x8(%rax,%rbp), %r8
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xa310
leaq 0x40(%rsp), %r13
movq %r13, 0x30(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x20(%rsp), %r15
je 0x73459
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0x73463
movupd (%rcx), %xmm0
movupd %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x38(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, %rdi
leaq 0x4398(%rip), %rsi      # 0x77708
callq 0xa560
movq %r15, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x73398
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x733a1
movupd (%rcx), %xmm0
movupd %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x80(%rsp), %rdi
addq %rbp, %rdi
leaq 0x10(%rsp), %rsi
callq 0xa370
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x733dd
callq 0xa2b0
movq 0x30(%rsp), %rdi
cmpq %r13, %rdi
je 0x733ec
callq 0xa2b0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
leaq 0x1c0(%rsp), %r15
leaq 0x1a0(%rsp), %r13
je 0x73410
callq 0xa2b0
movq 0x1c0(%rsp), %rdi
leaq 0x1d0(%rsp), %rax
cmpq %rax, %rdi
je 0x7342a
callq 0xa2b0
movq 0x288(%rsp), %rdi
leaq 0x298(%rsp), %rax
cmpq %rax, %rdi
je 0x73444
callq 0xa2b0
movq 0x2a8(%rsp), %rdi
leaq 0x2b8(%rsp), %rax
jmp 0x73685
movupd (%rcx), %xmm0
movupd %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x38(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, %rdi
leaq 0x432f(%rip), %rsi      # 0x777b4
callq 0xa560
movq %r15, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x73508
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x73511
movupd (%rcx), %xmm0
movupd %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x38(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%rdi), %rsi
movq 0x8(%rdi), %rdx
movq %rbx, %rdi
callq 0xa110
movq %r15, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x735c9
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x735d2
movupd (%rcx), %xmm0
movupd %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x80(%rsp), %rdi
addq %rbp, %rdi
leaq 0x10(%rsp), %rsi
callq 0xa370
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x7354d
callq 0xa2b0
movq 0x30(%rsp), %rdi
cmpq %r13, %rdi
je 0x7355c
callq 0xa2b0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
leaq 0x1c0(%rsp), %r15
leaq 0x1a0(%rsp), %r13
je 0x73580
callq 0xa2b0
movq 0x4c8(%rsp), %rdi
leaq 0x4d8(%rsp), %rax
cmpq %rax, %rdi
je 0x7359a
callq 0xa2b0
movq 0x228(%rsp), %rdi
leaq 0x238(%rsp), %rax
cmpq %rax, %rdi
je 0x735b4
callq 0xa2b0
movq 0x248(%rsp), %rdi
leaq 0x258(%rsp), %rax
jmp 0x73685
movupd (%rcx), %xmm0
movupd %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x80(%rsp), %rdi
addq %rbp, %rdi
leaq 0x10(%rsp), %rsi
callq 0xa370
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x7360e
callq 0xa2b0
movq 0x30(%rsp), %rdi
cmpq %r13, %rdi
je 0x7361d
callq 0xa2b0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
leaq 0x1c0(%rsp), %r15
leaq 0x1a0(%rsp), %r13
je 0x73641
callq 0xa2b0
movq 0x1a0(%rsp), %rdi
leaq 0x1b0(%rsp), %rax
cmpq %rax, %rdi
je 0x7365b
callq 0xa2b0
movq 0x268(%rsp), %rdi
leaq 0x278(%rsp), %rax
cmpq %rax, %rdi
je 0x73675
callq 0xa2b0
movq 0x4e8(%rsp), %rdi
leaq 0x4f8(%rsp), %rax
cmpq %rax, %rdi
je 0x7368f
callq 0xa2b0
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x736a9
callq 0xa2b0
movq 0x118(%rsp), %rcx
incq %rcx
movq 0x80(%rsp), %rdx
movq 0x88(%rsp), %rax
movq %rdx, 0x78(%rsp)
subq %rdx, %rax
shrq $0x5, %rax
cltq
addq $0x20, %rbp
cmpq %rax, %rcx
leaq 0x336f(%rip), %rsi      # 0x76a4f
jl 0x72dd4
movq 0xc0(%rsp), %r12
movq 0xc8(%rsp), %rax
subq %r12, %rax
shrq $0x5, %rax
testl %eax, %eax
jle 0x7396e
leaq 0x60(%rsp), %rbx
movl 0x74(%rsp), %eax
addl 0x104(%rsp), %eax
subl 0xb8(%rsp), %eax
movl %eax, 0x74(%rsp)
xorl %r15d, %r15d
leaq 0x4a8(%rsp), %r13
movq %rbx, 0x50(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0x3313(%rip), %rbx      # 0x76a4f
movq %rbx, %rsi
movq %rbx, %rdx
callq 0xdf6a
movq %r15, %r14
shlq $0x5, %r14
movq 0xc0(%rsp), %rcx
movq 0x8(%rcx,%r14), %rax
testl %eax, %eax
jle 0x737ab
addq %r14, %rcx
movq (%rcx), %rcx
movl %eax, %edx
andl $0x7fffffff, %edx       # imm = 0x7FFFFFFF
xorl %edi, %edi
xorl %esi, %esi
movl %edi, %ebp
movslq %esi, %rsi
leaq 0x1(%rsi), %rdi
cmpq %rdx, %rdi
cmovleq %rdx, %rdi
leaq -0x1(%rdi), %r8
cmpq %rsi, %r8
je 0x7379d
movb 0x1(%rcx,%rsi), %r9b
incq %rsi
andb $-0x40, %r9b
negb %r9b
jo 0x73785
jmp 0x737a0
movq %rdi, %rsi
leal 0x1(%rbp), %edi
cmpl %eax, %esi
jl 0x73771
notl %ebp
jmp 0x737ad
xorl %ebp, %ebp
leaq 0x218(%rsp), %rax
movq %rax, 0x208(%rsp)
leaq 0x208(%rsp), %rdi
leaq 0x32d0(%rip), %rsi      # 0x76a9c
leaq 0x32ca(%rip), %rdx      # 0x76a9d
callq 0xdf6a
leaq 0x1f8(%rsp), %rax
movq %rax, 0x1e8(%rsp)
leaq 0x1e8(%rsp), %rdi
movq %rbx, %rsi
movq %rbx, %rdx
callq 0xdf6a
movq %rbx, %rdx
leaq 0x4b8(%rsp), %rax
movq %rax, 0x4a8(%rsp)
movq %r13, %rbx
movq %r13, %rdi
movq %rdx, %rsi
callq 0xdf6a
addl 0x74(%rsp), %ebp
movq %rbx, (%rsp)
leaq 0x30(%rsp), %rbx
movq %rbx, %rdi
leaq 0x50(%rsp), %rsi
movl %ebp, %edx
movl $0x1, %ecx
leaq 0x208(%rsp), %r8
leaq 0x1e8(%rsp), %r9
callq 0x749c5
addq %r14, %r12
movq (%r12), %rcx
movq 0x8(%r12), %r8
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xa310
leaq 0x20(%rsp), %r12
movq %r12, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x7388d
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x73897
movupd (%rcx), %xmm0
movupd %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
addq 0xc0(%rsp), %r14
movq %r14, %rdi
leaq 0x10(%rsp), %rsi
callq 0xa370
movq 0x10(%rsp), %rdi
cmpq %r12, %rdi
je 0x738d3
callq 0xa2b0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
leaq 0x60(%rsp), %rbx
je 0x738ec
callq 0xa2b0
movq 0x4a8(%rsp), %rdi
leaq 0x4b8(%rsp), %rax
cmpq %rax, %rdi
je 0x73906
callq 0xa2b0
movq 0x1e8(%rsp), %rdi
leaq 0x1f8(%rsp), %rax
cmpq %rax, %rdi
je 0x73920
callq 0xa2b0
movq 0x208(%rsp), %rdi
leaq 0x218(%rsp), %rax
cmpq %rax, %rdi
je 0x7393a
callq 0xa2b0
movq 0x50(%rsp), %rdi
cmpq %rbx, %rdi
je 0x73949
callq 0xa2b0
incq %r15
movq 0xc0(%rsp), %r12
movq 0xc8(%rsp), %rax
subq %r12, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %r15
jl 0x7372b
movq 0xc0(%rsp), %rsi
movq 0xc8(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
testl %eax, %eax
leaq 0x20(%rsp), %r13
jle 0x739f6
xorl %r15d, %r15d
leaq 0x10(%rsp), %rbx
leaq 0x80(%rsp), %r14
xorl %r12d, %r12d
addq %r15, %rsi
movq 0x160(%rsp), %rdx
addq %r15, %rdx
movq %rbx, %rdi
callq 0x5e1db
movq %r14, %rdi
movq %rbx, %rsi
callq 0x16ffe
movq 0x10(%rsp), %rdi
cmpq %r13, %rdi
je 0x739d1
callq 0xa2b0
incq %r12
movq 0xc0(%rsp), %rsi
movq 0xc8(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
cltq
addq $0x20, %r15
cmpq %rax, %r12
jl 0x739a1
leaq 0x698(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x3093(%rip), %rsi      # 0x76a9c
leaq 0x308d(%rip), %rdx      # 0x76a9d
leaq 0x688(%rsp), %rdi
callq 0xdf6a
leaq 0x678(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x301f(%rip), %rdx      # 0x76a4f
leaq 0x668(%rsp), %rdi
movq %rdx, %rsi
callq 0xdf6a
leaq 0x658(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x2ffb(%rip), %rdx      # 0x76a4f
leaq 0x648(%rsp), %rdi
movq %rdx, %rsi
callq 0xdf6a
leaq 0x80(%rsp), %rdi
leaq 0x688(%rsp), %rcx
leaq 0x668(%rsp), %r8
leaq 0x648(%rsp), %r9
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0x1, %edx
callq 0x6e6ac
movq 0x648(%rsp), %rdi
cmpq %r12, %rdi
je 0x73aa5
callq 0xa2b0
movq 0x668(%rsp), %rdi
cmpq %r15, %rdi
je 0x73ab7
callq 0xa2b0
movq 0x688(%rsp), %rdi
cmpq %r14, %rdi
movq 0x1e0(%rsp), %rbx
je 0x73ad1
callq 0xa2b0
leaq 0x638(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x3444(%rip), %rsi      # 0x76f28
leaq 0x343e(%rip), %rdx      # 0x76f29
leaq 0x628(%rsp), %rdi
callq 0xdf6a
leaq 0x80(%rsp), %rsi
leaq 0x628(%rsp), %rdx
movq %rbx, %rdi
movl $0x1, %ecx
callq 0x6e886
movq 0x628(%rsp), %rdi
cmpq %r14, %rdi
je 0x73b27
callq 0xa2b0
leaq 0x80(%rsp), %rdi
callq 0x148b4
leaq 0x160(%rsp), %rdi
callq 0x148b4
leaq 0xc0(%rsp), %rdi
callq 0x148b4
movq %rbx, %rax
addq $0x808, %rsp            # imm = 0x808
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x744a2
jmp 0x744b1
jmp 0x73b79
jmp 0x744b1
jmp 0x744b1
movq %rax, %rbx
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x74474
jmp 0x744b1
movq %rax, %rbx
movq 0x6a8(%rsp), %rdi
jmp 0x74084
jmp 0x744b1
movq %rax, %rbx
movq 0x6c8(%rsp), %rdi
jmp 0x74084
jmp 0x744b1
movq %rax, %rbx
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x73be9
callq 0xa2b0
jmp 0x73be9
movq %rax, %rbx
movq 0x30(%rsp), %rdi
cmpq %r13, %rdi
je 0x73c08
callq 0xa2b0
jmp 0x73c08
movq %rax, %rbx
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0x73c21
callq 0xa2b0
jmp 0x73c21
movq %rax, %rbx
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x73c40
callq 0xa2b0
jmp 0x73c40
movq %rax, %rbx
movq 0x528(%rsp), %rdi
leaq 0x538(%rsp), %rax
cmpq %rax, %rdi
je 0x73c5f
callq 0xa2b0
jmp 0x73c5f
movq %rax, %rbx
movq 0x1a0(%rsp), %rdi
leaq 0x1b0(%rsp), %rax
cmpq %rax, %rdi
je 0x73c7e
callq 0xa2b0
jmp 0x73c7e
movq %rax, %rbx
movq 0x308(%rsp), %rdi
leaq 0x318(%rsp), %rax
cmpq %rax, %rdi
je 0x73c9d
callq 0xa2b0
jmp 0x73c9d
movq %rax, %rbx
movq 0x268(%rsp), %rdi
leaq 0x278(%rsp), %rax
cmpq %rax, %rdi
je 0x73cbc
callq 0xa2b0
jmp 0x73cbc
movq %rax, %rbx
movq 0x328(%rsp), %rdi
leaq 0x338(%rsp), %rax
cmpq %rax, %rdi
je 0x73cd4
callq 0xa2b0
jmp 0x73cd4
movq %rax, %rbx
movq 0x4e8(%rsp), %rdi
leaq 0x4f8(%rsp), %rax
jmp 0x7419d
movq %rax, %rbx
movq 0x120(%rsp), %rdi
leaq 0x130(%rsp), %rax
cmpq %rax, %rdi
je 0x73cf8
callq 0xa2b0
jmp 0x73cf8
jmp 0x741b1
movq %rax, %rbx
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x73d16
callq 0xa2b0
jmp 0x73d16
jmp 0x744b1
movq %rax, %rbx
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x73d35
callq 0xa2b0
jmp 0x73d35
movq %rax, %rbx
movq 0x548(%rsp), %rdi
leaq 0x558(%rsp), %rax
cmpq %rax, %rdi
je 0x73d4f
callq 0xa2b0
movq 0x348(%rsp), %rdi
leaq 0x358(%rsp), %rax
cmpq %rax, %rdi
je 0x73d69
callq 0xa2b0
movq 0x368(%rsp), %rdi
leaq 0x378(%rsp), %rax
jmp 0x742d9
movq %rax, %rbx
jmp 0x73d4f
movq %rax, %rbx
jmp 0x73d69
jmp 0x74106
jmp 0x744b1
movq %rax, %rbx
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x73dae
callq 0xa2b0
jmp 0x73dae
movq %rax, %rbx
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0x73dcd
callq 0xa2b0
jmp 0x73dcd
movq %rax, %rbx
movq 0x568(%rsp), %rdi
leaq 0x578(%rsp), %rax
cmpq %rax, %rdi
je 0x73dec
callq 0xa2b0
jmp 0x73dec
movq %rax, %rbx
movq 0x388(%rsp), %rdi
leaq 0x398(%rsp), %rax
cmpq %rax, %rdi
je 0x73e0b
callq 0xa2b0
jmp 0x73e0b
movq %rax, %rbx
movq 0x3a8(%rsp), %rdi
leaq 0x3b8(%rsp), %rax
cmpq %rax, %rdi
je 0x73e2a
callq 0xa2b0
jmp 0x73e2a
movq %rax, %rbx
movq 0x120(%rsp), %rdi
leaq 0x130(%rsp), %rax
cmpq %rax, %rdi
je 0x73e49
callq 0xa2b0
jmp 0x73e49
movq %rax, %rbx
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x73e62
callq 0xa2b0
jmp 0x73e62
movq %rax, %rbx
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x73e81
callq 0xa2b0
jmp 0x73e81
movq %rax, %rbx
movq 0x588(%rsp), %rdi
leaq 0x598(%rsp), %rax
cmpq %rax, %rdi
je 0x73e9b
callq 0xa2b0
movq 0x3c8(%rsp), %rdi
leaq 0x3d8(%rsp), %rax
cmpq %rax, %rdi
je 0x73eb5
callq 0xa2b0
movq 0x3e8(%rsp), %rdi
leaq 0x3f8(%rsp), %rax
jmp 0x742d9
movq %rax, %rbx
jmp 0x73e9b
movq %rax, %rbx
jmp 0x73eb5
jmp 0x74106
jmp 0x744b1
movq %rax, %rbx
movq 0x30(%rsp), %rdi
cmpq %r13, %rdi
je 0x73ef5
callq 0xa2b0
jmp 0x73ef5
movq %rax, %rbx
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x73f0e
callq 0xa2b0
jmp 0x73f0e
movq %rax, %rbx
movq 0x4c8(%rsp), %rdi
leaq 0x4d8(%rsp), %rax
cmpq %rax, %rdi
je 0x73f2d
callq 0xa2b0
jmp 0x73f2d
movq %rax, %rbx
movq 0x228(%rsp), %rdi
leaq 0x238(%rsp), %rax
cmpq %rax, %rdi
je 0x73f4c
callq 0xa2b0
jmp 0x73f4c
movq %rax, %rbx
movq 0x248(%rsp), %rdi
leaq 0x258(%rsp), %rax
jmp 0x7419d
jmp 0x741b1
jmp 0x744b1
movq %rax, %rbx
movq 0x628(%rsp), %rdi
jmp 0x74084
jmp 0x744b1
movq %rax, %rbx
movq 0x648(%rsp), %rdi
cmpq %r12, %rdi
je 0x73f9a
callq 0xa2b0
jmp 0x73f9a
movq %rax, %rbx
movq 0x668(%rsp), %rdi
cmpq %r15, %rdi
je 0x73fb1
callq 0xa2b0
jmp 0x73fb1
movq %rax, %rbx
movq 0x688(%rsp), %rdi
jmp 0x74084
jmp 0x744b1
movq %rax, %rbx
movq 0x6e8(%rsp), %rdi
cmpq %r12, %rdi
je 0x73fdd
callq 0xa2b0
jmp 0x73fdd
movq %rax, %rbx
movq 0x708(%rsp), %rdi
cmpq %r15, %rdi
je 0x73ff4
callq 0xa2b0
jmp 0x73ff4
movq %rax, %rbx
movq 0x728(%rsp), %rdi
jmp 0x74084
jmp 0x744b1
movq %rax, %rbx
movq 0x748(%rsp), %rdi
cmpq %r12, %rdi
je 0x74020
callq 0xa2b0
jmp 0x74020
movq %rax, %rbx
movq 0x768(%rsp), %rdi
cmpq %r15, %rdi
je 0x74037
callq 0xa2b0
jmp 0x74037
movq %rax, %rbx
movq 0x788(%rsp), %rdi
jmp 0x74084
jmp 0x744b1
jmp 0x744b1
movq %rax, %rbx
movq 0x7a8(%rsp), %rdi
cmpq %r12, %rdi
je 0x74065
callq 0xa2b0
jmp 0x74065
movq %rax, %rbx
movq 0x7c8(%rsp), %rdi
cmpq %r15, %rdi
je 0x7407c
callq 0xa2b0
jmp 0x7407c
movq %rax, %rbx
movq 0x7e8(%rsp), %rdi
cmpq %r14, %rdi
jne 0x74479
jmp 0x744b4
jmp 0x744b1
jmp 0x744a2
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %r12, %rdi
je 0x744c1
jmp 0x74496
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %r12, %rdi
je 0x744ce
callq 0xa2b0
jmp 0x744ce
jmp 0x744b1
movq %rax, %rbx
jmp 0x741e0
movq %rax, %rbx
jmp 0x742af
movq %rax, %rbx
jmp 0x741fa
movq %rax, %rbx
jmp 0x742c9
movq %rax, %rbx
movq 0x30(%rsp), %rdi
cmpq %r13, %rdi
je 0x74119
callq 0xa2b0
jmp 0x74119
movq %rax, %rbx
jmp 0x742e3
movq %rax, %rbx
jmp 0x74214
movq %rax, %rbx
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x7413f
callq 0xa2b0
jmp 0x7413f
movq %rax, %rbx
jmp 0x7422e
jmp 0x744b1
movq %rax, %rbx
movq 0x1c0(%rsp), %rdi
leaq 0x1d0(%rsp), %rax
cmpq %rax, %rdi
je 0x74166
callq 0xa2b0
jmp 0x74166
movq %rax, %rbx
jmp 0x74248
movq %rax, %rbx
movq 0x288(%rsp), %rdi
leaq 0x298(%rsp), %rax
cmpq %rax, %rdi
je 0x7418d
callq 0xa2b0
jmp 0x7418d
movq %rax, %rbx
jmp 0x74262
movq %rax, %rbx
movq 0x2a8(%rsp), %rdi
leaq 0x2b8(%rsp), %rax
cmpq %rax, %rdi
je 0x741b4
callq 0xa2b0
jmp 0x741b4
movq %rax, %rbx
jmp 0x74276
movq %rax, %rbx
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
jmp 0x74474
movq %rax, %rbx
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x741e0
callq 0xa2b0
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0x741fa
callq 0xa2b0
movq 0x5a8(%rsp), %rdi
leaq 0x5b8(%rsp), %rax
cmpq %rax, %rdi
je 0x74214
callq 0xa2b0
movq 0x408(%rsp), %rdi
leaq 0x418(%rsp), %rax
cmpq %rax, %rdi
je 0x7422e
callq 0xa2b0
movq 0x428(%rsp), %rdi
leaq 0x438(%rsp), %rax
cmpq %rax, %rdi
je 0x74248
callq 0xa2b0
movq 0x120(%rsp), %rdi
leaq 0x130(%rsp), %rax
cmpq %rax, %rdi
je 0x74262
callq 0xa2b0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x74276
callq 0xa2b0
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x74295
callq 0xa2b0
jmp 0x74295
movq %rax, %rbx
movq 0x5c8(%rsp), %rdi
leaq 0x5d8(%rsp), %rax
cmpq %rax, %rdi
je 0x742af
callq 0xa2b0
movq 0x448(%rsp), %rdi
leaq 0x458(%rsp), %rax
cmpq %rax, %rdi
je 0x742c9
callq 0xa2b0
movq 0x468(%rsp), %rdi
leaq 0x478(%rsp), %rax
cmpq %rax, %rdi
je 0x742e3
callq 0xa2b0
movq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
jmp 0x74474
movq %rax, %rbx
jmp 0x74333
movq %rax, %rbx
jmp 0x7436c
jmp 0x744b1
movq %rax, %rbx
jmp 0x7439a
movq %rax, %rbx
jmp 0x743d3
jmp 0x743fb
movq %rax, %rbx
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x74333
callq 0xa2b0
movq 0x5e8(%rsp), %rdi
leaq 0x5f8(%rsp), %rax
cmpq %rax, %rdi
je 0x74352
callq 0xa2b0
jmp 0x74352
movq %rax, %rbx
movq 0x488(%rsp), %rdi
leaq 0x498(%rsp), %rax
cmpq %rax, %rdi
je 0x7436c
callq 0xa2b0
movq 0x608(%rsp), %rdi
leaq 0x618(%rsp), %rax
jmp 0x74460
jmp 0x743fb
movq %rax, %rbx
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x7439a
callq 0xa2b0
movq 0x508(%rsp), %rdi
leaq 0x518(%rsp), %rax
cmpq %rax, %rdi
je 0x743b9
callq 0xa2b0
jmp 0x743b9
movq %rax, %rbx
movq 0x2c8(%rsp), %rdi
leaq 0x2d8(%rsp), %rax
cmpq %rax, %rdi
je 0x743d3
callq 0xa2b0
movq 0x2e8(%rsp), %rdi
leaq 0x2f8(%rsp), %rax
jmp 0x74460
jmp 0x743fb
jmp 0x744b1
jmp 0x744b1
movq %rax, %rbx
jmp 0x74436
movq %rax, %rbx
jmp 0x74450
movq %rax, %rbx
jmp 0x7446a
movq %rax, %rbx
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x7441c
callq 0xa2b0
jmp 0x7441c
movq %rax, %rbx
movq 0x4a8(%rsp), %rdi
leaq 0x4b8(%rsp), %rax
cmpq %rax, %rdi
je 0x74436
callq 0xa2b0
movq 0x1e8(%rsp), %rdi
leaq 0x1f8(%rsp), %rax
cmpq %rax, %rdi
je 0x74450
callq 0xa2b0
movq 0x208(%rsp), %rdi
leaq 0x218(%rsp), %rax
cmpq %rax, %rdi
je 0x7446a
callq 0xa2b0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x744b4
callq 0xa2b0
jmp 0x744b4
jmp 0x74484
jmp 0x7449d
movq %rax, %rbx
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x744c1
callq 0xa2b0
jmp 0x744c1
movq %rax, %rbx
jmp 0x744c1
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %r13, %rdi
jne 0x74479
jmp 0x744b4
movq %rax, %rbx
leaq 0x80(%rsp), %rdi
callq 0x148b4
leaq 0x160(%rsp), %rdi
callq 0x148b4
leaq 0xc0(%rsp), %rdi
callq 0x148b4
movq %rbx, %rdi
callq 0xa510
nop