// File: /workspace/github_cpp_makefile_star2_O3/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, %r13
movq %r8, %rbx
movq %rcx, %rbp
movq %rdx, 0x138(%rsp)
movq %rsi, %r14
movq %rdi, %r15
xorpd %xmm0, %xmm0
leaq 0xd0(%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 0x75760
movq 0x10(%rsp), %rdi
cmpq %r12, %rdi
je 0x72365
callq 0xa2b0
xorpd %xmm0, %xmm0
leaq 0x180(%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 %r13, %rsi
xorl %ecx, %ecx
callq 0x75760
movq %r13, 0x110(%rsp)
movq %r15, 0x1c0(%rsp)
movq 0x10(%rsp), %rdi
cmpq %r12, %rdi
je 0x723bc
callq 0xa2b0
movq 0xd8(%rsp), %rax
subq 0xd0(%rsp), %rax
movq 0x188(%rsp), %rcx
subq 0x180(%rsp), %rcx
cmpq %rcx, %rax
jae 0x72451
leaq 0x5667(%rip), %r15      # 0x77a4f
leaq 0x10(%rsp), %r12
leaq 0xd0(%rsp), %r13
leaq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
movq %r12, %rdi
movq %r15, %rsi
movq %r15, %rdx
callq 0xdfa8
movq %r13, %rdi
movq %r12, %rsi
callq 0x17280
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x7242c
callq 0xa2b0
movq 0xd8(%rsp), %rax
subq 0xd0(%rsp), %rax
movq 0x188(%rsp), %rcx
subq 0x180(%rsp), %rcx
cmpq %rcx, %rax
jb 0x723f5
cmpq %rax, %rcx
jae 0x724c6
leaq 0x55f2(%rip), %r15      # 0x77a4f
leaq 0x10(%rsp), %r12
leaq 0x180(%rsp), %r13
leaq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
movq %r12, %rdi
movq %r15, %rsi
movq %r15, %rdx
callq 0xdfa8
movq %r13, %rdi
movq %r12, %rsi
callq 0x17280
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x724a1
callq 0xa2b0
movq 0x188(%rsp), %rax
subq 0x180(%rsp), %rax
movq 0xd8(%rsp), %rcx
subq 0xd0(%rsp), %rcx
cmpq %rcx, %rax
jb 0x7246a
xorpd %xmm0, %xmm0
leaq 0x80(%rsp), %rdi
movapd %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
leaq 0x10(%rsp), %rdx
leaq 0x20(%rsp), %r15
movq %r15, (%rdx)
movw $0xa, 0x10(%rdx)
movq $0x1, 0x8(%rdx)
movq %r14, %rsi
xorl %ecx, %ecx
callq 0x75760
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x72512
callq 0xa2b0
movq 0x80(%rsp), %rax
cmpq 0x88(%rsp), %rax
jne 0x7255c
leaq 0x10(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x551c(%rip), %rdx      # 0x77a4f
movq %rdx, %rsi
callq 0xdfa8
leaq 0x80(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x17280
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x7255c
callq 0xa2b0
leaq 0x7f8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x552d(%rip), %rsi      # 0x77a9c
leaq 0x5527(%rip), %rdx      # 0x77a9d
leaq 0x7e8(%rsp), %rdi
callq 0xdfa8
leaq 0x7d8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x54b8(%rip), %rdx      # 0x77a4f
leaq 0x7c8(%rsp), %rdi
movq %rdx, %rsi
callq 0xdfa8
leaq 0x7b8(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x5495(%rip), %rdx      # 0x77a4f
leaq 0x7a8(%rsp), %rdi
movq %rdx, %rsi
callq 0xdfa8
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 0x6f5f0
movq 0x7a8(%rsp), %rdi
cmpq %r13, %rdi
je 0x7260b
callq 0xa2b0
movq 0x7c8(%rsp), %rdi
cmpq %r12, %rdi
je 0x7261d
callq 0xa2b0
movq 0x7e8(%rsp), %rdi
cmpq %r15, %rdi
je 0x7262f
callq 0xa2b0
leaq 0x80(%rsp), %rdi
callq 0x6f554
movl %eax, 0xcc(%rsp)
leaq 0x798(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5446(%rip), %rsi      # 0x77a9c
leaq 0x5440(%rip), %rdx      # 0x77a9d
leaq 0x788(%rsp), %rdi
callq 0xdfa8
leaq 0x778(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x53d1(%rip), %rdx      # 0x77a4f
leaq 0x768(%rsp), %rdi
movq %rdx, %rsi
callq 0xdfa8
leaq 0x758(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x53ae(%rip), %rdx      # 0x77a4f
leaq 0x748(%rsp), %rdi
movq %rdx, %rsi
callq 0xdfa8
leaq 0xd0(%rsp), %rdi
leaq 0x788(%rsp), %rcx
leaq 0x768(%rsp), %r8
leaq 0x748(%rsp), %r9
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0x1, %edx
callq 0x6f5f0
movq 0x748(%rsp), %rdi
cmpq %r13, %rdi
je 0x726f2
callq 0xa2b0
movq 0x768(%rsp), %rdi
cmpq %r12, %rdi
je 0x72704
callq 0xa2b0
movq 0x788(%rsp), %rdi
cmpq %r15, %rdi
je 0x72716
callq 0xa2b0
leaq 0x738(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5373(%rip), %rsi      # 0x77a9c
leaq 0x536d(%rip), %rdx      # 0x77a9d
leaq 0x728(%rsp), %rdi
callq 0xdfa8
leaq 0x718(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x52fe(%rip), %rdx      # 0x77a4f
leaq 0x708(%rsp), %rdi
movq %rdx, %rsi
callq 0xdfa8
leaq 0x6f8(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x52db(%rip), %rdx      # 0x77a4f
leaq 0x6e8(%rsp), %rdi
movq %rdx, %rsi
callq 0xdfa8
leaq 0x180(%rsp), %rdi
leaq 0x728(%rsp), %rcx
leaq 0x708(%rsp), %r8
leaq 0x6e8(%rsp), %r9
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0x1, %edx
callq 0x6f5f0
movq 0x6e8(%rsp), %rdi
cmpq %r13, %rdi
je 0x727c5
callq 0xa2b0
movq 0x708(%rsp), %rdi
cmpq %r12, %rdi
movq 0x110(%rsp), %r14
movq 0x138(%rsp), %r12
je 0x727e7
callq 0xa2b0
movq 0x728(%rsp), %rdi
cmpq %r15, %rdi
je 0x727f9
callq 0xa2b0
cmpq $0x0, 0x8(%rbx)
je 0x728ba
movq 0xd0(%rsp), %rbx
leaq 0x6d8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xac9a(%rip), %rsi      # 0x7d4b9
leaq 0xac96(%rip), %rdx      # 0x7d4bc
leaq 0x6c8(%rsp), %rdi
callq 0xdfa8
leaq 0x6c8(%rsp), %rsi
movq %rbx, %rdi
callq 0x768a1
movl %eax, %r13d
movq 0x6c8(%rsp), %rdi
cmpq %r15, %rdi
je 0x72858
callq 0xa2b0
movq 0x8(%r12), %rax
testl %eax, %eax
jle 0x728c7
movq (%r12), %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 0x7289b
movb 0x1(%rcx,%rdi), %r10b
incq %rdi
andb $-0x40, %r10b
negb %r10b
jo 0x72883
jmp 0x7289e
movq %r8, %rdi
incl %esi
cmpl %eax, %edi
jl 0x72871
movl $0x0, 0x74(%rsp)
cvtsi2sd %esi, %xmm0
mulsd 0x9908(%rip), %xmm0     # 0x7c1c0
jmp 0x728d3
movl $0x0, 0x74(%rsp)
jmp 0x73a76
movl $0x0, 0x74(%rsp)
xorpd %xmm0, %xmm0
movsd %xmm0, 0x78(%rsp)
testl %r13d, %r13d
jle 0x73a76
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
leaq 0x20(%rsp), %r12
cmpq %rdi, %r8
je 0x72943
movb 0x1(%rcx,%rdi), %r9b
incq %rdi
andb $-0x40, %r9b
negb %r9b
jo 0x7292b
jmp 0x72946
movq %rdx, %rdi
movslq %edi, %rdx
subl %edx, %eax
movslq %eax, %rcx
leaq 0x30(%rsp), %rdi
callq 0xa2f0
leaq 0xab6a(%rip), %rcx      # 0x7d4c9
leaq 0x30(%rsp), %rdi
movl $0x3, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0xa310
movq %r12, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x72996
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x729a0
movupd (%rcx), %xmm0
movupd %xmm0, (%r12)
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 %r12, %rdi
je 0x729dc
callq 0xa2b0
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x729ef
callq 0xa2b0
movq %rbp, 0x130(%rsp)
leaq 0xd0(%rsp), %rdi
callq 0x6f554
movl 0xcc(%rsp), %edx
movl %edx, %ecx
shrl $0x1f, %ecx
addl %edx, %ecx
sarl %ecx
subl %ecx, %eax
leal 0x1(%r13), %ebp
cmpl %eax, %r13d
cmovll %eax, %ebp
movsd 0x78(%rsp), %xmm0
callq 0xa080
movq %r13, %r14
cvttsd2si %xmm0, %r13d
addl %r14d, %r13d
cmpl %r13d, %ebp
cmovgl %ebp, %r13d
movq 0x88(%rsp), %rax
subq 0x80(%rsp), %rax
shrq $0x5, %rax
testl %eax, %eax
movl %r13d, 0x74(%rsp)
jle 0x73a66
leal 0x1(%rbx), %eax
movq %rax, 0x118(%rsp)
cvtsi2sd %r14d, %xmm1
movsd %xmm1, 0xc0(%rsp)
movsd %xmm0, 0x120(%rsp)
movsd 0x78(%rsp), %xmm0
callq 0xa4d0
movsd 0xc0(%rsp), %xmm1
subsd %xmm0, %xmm1
cvttsd2si %xmm1, %eax
movl %eax, 0xc8(%rsp)
movl %r13d, %eax
subl %r14d, %eax
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
subsd 0x120(%rsp), %xmm0
cvttsd2si %xmm0, %eax
movl %eax, 0x19c(%rsp)
movq %r14, 0xc0(%rsp)
movl %r14d, %eax
notl %eax
addl %r13d, %eax
movl %eax, 0x128(%rsp)
movl %ebx, %eax
movq %rax, 0x120(%rsp)
movslq %ebx, %rax
movq %rax, 0x78(%rsp)
xorl %r14d, %r14d
leaq 0x4f58(%rip), %r12      # 0x77a4f
leaq 0x1a0(%rsp), %r15
leaq 0xa0(%rsp), %rbp
xorl %ebx, %ebx
cmpq 0x78(%rsp), %rbx
jge 0x72c10
leaq 0x60(%rsp), %rax
movq %rax, 0x50(%rsp)
leaq 0x50(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdfa8
leaq 0x498(%rsp), %rax
movq %rax, 0x488(%rsp)
leaq 0x488(%rsp), %rdi
leaq 0x4f4f(%rip), %rsi      # 0x77a9c
leaq 0x4f49(%rip), %rdx      # 0x77a9d
callq 0xdfa8
leaq 0x478(%rsp), %rax
movq %rax, 0x468(%rsp)
leaq 0x468(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdfa8
leaq 0x1b0(%rsp), %rax
movq %rax, 0x1a0(%rsp)
movq %r15, %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdfa8
movq %r15, (%rsp)
leaq 0x30(%rsp), %r15
movq %r15, %rdi
leaq 0x50(%rsp), %rsi
movl %r13d, %edx
movl $0x1, %ecx
leaq 0x488(%rsp), %r8
leaq 0x468(%rsp), %r9
callq 0x5b388
movq 0x80(%rsp), %rax
movq (%rax,%r14), %rsi
movq 0x8(%rax,%r14), %rdx
movq %r15, %rdi
callq 0xa110
leaq 0x20(%rsp), %r15
movq %r15, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x72e63
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x72e6c
cmpq %rbx, 0x120(%rsp)
jne 0x72d2d
leaq 0x170(%rsp), %rax
movq %rax, 0x160(%rsp)
leaq 0x160(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdfa8
leaq 0x458(%rsp), %rax
movq %rax, 0x448(%rsp)
leaq 0x448(%rsp), %rdi
leaq 0x4e3c(%rip), %rsi      # 0x77a9c
leaq 0x4e36(%rip), %rdx      # 0x77a9d
callq 0xdfa8
movq 0xc0(%rsp), %r15
movq %rbp, %r13
leaq 0x438(%rsp), %rax
movq %rax, 0x428(%rsp)
leaq 0x428(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdfa8
leaq 0x618(%rsp), %rax
movq %rax, 0x608(%rsp)
leaq 0x608(%rsp), %rbp
movq %rbp, %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdfa8
movq %rbp, (%rsp)
movq %r13, %rbp
movq %r13, %rdi
leaq 0x160(%rsp), %rsi
movl %r15d, %edx
movl $0x1, %ecx
leaq 0x448(%rsp), %r8
leaq 0x428(%rsp), %r9
callq 0x5b388
movq %rbp, %rdi
leaq 0xa7d4(%rip), %rsi      # 0x7d4cd
callq 0xa560
leaq 0x60(%rsp), %rsi
movq %rsi, 0x50(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x73027
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0x7302f
cmpq %rbx, 0x118(%rsp)
jne 0x72f21
movq 0x138(%rsp), %rax
cmpq $0x0, 0x8(%rax)
je 0x72f21
leaq 0x170(%rsp), %rax
movq %rax, 0x160(%rsp)
leaq 0x160(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdfa8
leaq 0x3d8(%rsp), %rax
movq %rax, 0x3c8(%rsp)
leaq 0x3c8(%rsp), %rdi
leaq 0x4d0c(%rip), %rsi      # 0x77a9c
leaq 0x4d06(%rip), %rdx      # 0x77a9d
callq 0xdfa8
movq 0x138(%rsp), %r15
leaq 0x3b8(%rsp), %rax
movq %rax, 0x3a8(%rsp)
leaq 0x3a8(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdfa8
leaq 0x5d8(%rsp), %rax
movq %rax, 0x5c8(%rsp)
leaq 0x5c8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdfa8
movq %r13, (%rsp)
movq %rbp, %rdi
leaq 0x160(%rsp), %rsi
movl 0xc8(%rsp), %edx
movl $0x1, %ecx
leaq 0x3c8(%rsp), %r8
leaq 0x3a8(%rsp), %r9
callq 0x5b388
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq %rbp, %rdi
callq 0xa110
leaq 0x60(%rsp), %rsi
movq %rsi, 0x50(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x5a8(%rsp), %r15
je 0x734d4
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0x734dc
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 %r14, %rdi
leaq 0x10(%rsp), %rsi
callq 0xa370
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x72ea8
callq 0xa2b0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
leaq 0x1a0(%rsp), %r15
je 0x72ec4
callq 0xa2b0
movq 0x1a0(%rsp), %rdi
leaq 0x1b0(%rsp), %rax
cmpq %rax, %rdi
je 0x72ede
callq 0xa2b0
movq 0x468(%rsp), %rdi
leaq 0x478(%rsp), %rax
cmpq %rax, %rdi
je 0x72ef8
callq 0xa2b0
movq 0x488(%rsp), %rdi
leaq 0x498(%rsp), %rax
cmpq %rax, %rdi
je 0x72f12
callq 0xa2b0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
jmp 0x73a36
leaq 0x170(%rsp), %rax
movq %rax, 0x160(%rsp)
leaq 0x160(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdfa8
leaq 0x378(%rsp), %rax
movq %rax, 0x368(%rsp)
leaq 0x368(%rsp), %rdi
leaq 0x4b39(%rip), %rsi      # 0x77a9c
leaq 0x4b33(%rip), %rdx      # 0x77a9d
callq 0xdfa8
leaq 0x358(%rsp), %rax
movq %rax, 0x348(%rsp)
leaq 0x348(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdfa8
leaq 0x578(%rsp), %rax
movq %rax, 0x568(%rsp)
leaq 0x568(%rsp), %r15
movq %r15, %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdfa8
movq %r15, (%rsp)
movq %rbp, %rdi
leaq 0x160(%rsp), %rsi
movq 0xc0(%rsp), %rdx
movl $0x1, %ecx
leaq 0x368(%rsp), %r8
leaq 0x348(%rsp), %r9
callq 0x5b388
movq %rbp, %rdi
leaq 0x57c1(%rip), %rsi      # 0x787b4
callq 0xa560
leaq 0x60(%rsp), %rsi
movq %rsi, 0x50(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x7337f
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0x73387
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 0x150(%rsp), %rax
movq %rax, 0x140(%rsp)
leaq 0x140(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdfa8
leaq 0x418(%rsp), %rax
movq %rax, 0x408(%rsp)
leaq 0x408(%rsp), %rdi
leaq 0xa426(%rip), %rsi      # 0x7d4af
leaq 0xa422(%rip), %rdx      # 0x7d4b2
callq 0xdfa8
leaq 0x3f8(%rsp), %rax
movq %rax, 0x3e8(%rsp)
leaq 0x3e8(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdfa8
leaq 0x5f8(%rsp), %rax
movq %rax, 0x5e8(%rsp)
leaq 0x5e8(%rsp), %r15
movq %r15, %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdfa8
movq %r15, (%rsp)
leaq 0xf0(%rsp), %rdi
leaq 0x140(%rsp), %rsi
movl 0x128(%rsp), %edx
movl $0x1, %ecx
leaq 0x408(%rsp), %r8
leaq 0x3e8(%rsp), %r9
callq 0x5b388
movq 0x50(%rsp), %rcx
movl $0xf, %edi
leaq 0x60(%rsp), %rax
cmpq %rax, %rcx
je 0x7312c
movq 0x60(%rsp), %rdi
movq 0x58(%rsp), %r8
movq 0xf0(%rsp), %rsi
movq 0xf8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x73169
movl $0xf, %edi
leaq 0x100(%rsp), %r9
cmpq %r9, %rsi
je 0x73164
movq 0x100(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x73175
leaq 0x50(%rsp), %rdi
callq 0xa110
jmp 0x73186
leaq 0xf0(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xa310
leaq 0x40(%rsp), %rsi
movq %rsi, 0x30(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x731ab
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0x731b3
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
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 0x120(%rsp), %r15
shlq $0x5, %r15
movq (%rax,%r15), %rsi
movq 0x8(%rax,%r15), %rdx
leaq 0x30(%rsp), %rdi
callq 0xa110
leaq 0x20(%rsp), %r13
movq %r13, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x7321f
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x73229
movupd (%rcx), %xmm0
movupd %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
addq 0x80(%rsp), %r15
movq %r15, %rdi
leaq 0x10(%rsp), %rsi
callq 0xa370
movq 0x10(%rsp), %rdi
cmpq %r13, %rdi
je 0x73265
callq 0xa2b0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
movl 0x74(%rsp), %r13d
leaq 0x1a0(%rsp), %r15
je 0x73286
callq 0xa2b0
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x732a0
callq 0xa2b0
movq 0x5e8(%rsp), %rdi
leaq 0x5f8(%rsp), %rax
cmpq %rax, %rdi
je 0x732ba
callq 0xa2b0
movq 0x3e8(%rsp), %rdi
leaq 0x3f8(%rsp), %rax
cmpq %rax, %rdi
je 0x732d4
callq 0xa2b0
movq 0x408(%rsp), %rdi
leaq 0x418(%rsp), %rax
cmpq %rax, %rdi
je 0x732ee
callq 0xa2b0
movq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
cmpq %rax, %rdi
je 0x73308
callq 0xa2b0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x7331c
callq 0xa2b0
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x73336
callq 0xa2b0
movq 0x608(%rsp), %rdi
leaq 0x618(%rsp), %rax
cmpq %rax, %rdi
je 0x73350
callq 0xa2b0
movq 0x428(%rsp), %rdi
leaq 0x438(%rsp), %rax
cmpq %rax, %rdi
je 0x7336a
callq 0xa2b0
movq 0x448(%rsp), %rdi
leaq 0x458(%rsp), %rax
jmp 0x73a1c
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 0x150(%rsp), %rax
movq %rax, 0x140(%rsp)
leaq 0x140(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdfa8
leaq 0x338(%rsp), %rax
movq %rax, 0x328(%rsp)
leaq 0x328(%rsp), %rdi
leaq 0x46bb(%rip), %rsi      # 0x77a9c
leaq 0x46b5(%rip), %rdx      # 0x77a9d
callq 0xdfa8
leaq 0x318(%rsp), %rax
movq %rax, 0x308(%rsp)
leaq 0x308(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdfa8
leaq 0x558(%rsp), %rax
movq %rax, 0x548(%rsp)
leaq 0x548(%rsp), %r15
movq %r15, %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdfa8
movq %r15, (%rsp)
leaq 0xf0(%rsp), %rdi
leaq 0x140(%rsp), %rsi
movl 0x128(%rsp), %edx
movl $0x1, %ecx
leaq 0x328(%rsp), %r8
leaq 0x308(%rsp), %r9
callq 0x5b388
movq 0x50(%rsp), %rcx
movl $0xf, %edi
leaq 0x60(%rsp), %rax
cmpq %rax, %rcx
je 0x73484
movq 0x60(%rsp), %rdi
movq 0x58(%rsp), %r8
movq 0xf0(%rsp), %rsi
movq 0xf8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x734c5
movl $0xf, %edi
leaq 0x100(%rsp), %r9
cmpq %r9, %rsi
je 0x734bc
movq 0x100(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x7361f
leaq 0x50(%rsp), %rdi
callq 0xa110
jmp 0x73630
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 0x150(%rsp), %rax
movq %rax, 0x140(%rsp)
leaq 0x140(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdfa8
leaq 0x5b8(%rsp), %rax
movq %rax, 0x5a8(%rsp)
movq %r15, %rdi
leaq 0x456b(%rip), %rsi      # 0x77a9c
leaq 0x4565(%rip), %rdx      # 0x77a9d
callq 0xdfa8
leaq 0x398(%rsp), %rax
movq %rax, 0x388(%rsp)
leaq 0x388(%rsp), %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdfa8
leaq 0x598(%rsp), %rax
movq %rax, 0x588(%rsp)
leaq 0x588(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xdfa8
movq %r13, (%rsp)
leaq 0xf0(%rsp), %rdi
leaq 0x140(%rsp), %rsi
movl 0x19c(%rsp), %edx
movl $0x1, %ecx
movq %r15, %r8
leaq 0x388(%rsp), %r9
callq 0x5b388
movq 0x50(%rsp), %rcx
movl $0xf, %edi
leaq 0x60(%rsp), %rax
cmpq %rax, %rcx
je 0x735cf
movq 0x60(%rsp), %rdi
movq 0x58(%rsp), %r8
movq 0xf0(%rsp), %rsi
movq 0xf8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x73610
movl $0xf, %edi
leaq 0x100(%rsp), %r9
cmpq %r9, %rsi
je 0x73607
movq 0x100(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x73817
leaq 0x50(%rsp), %rdi
callq 0xa110
jmp 0x73828
leaq 0xf0(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xa310
leaq 0x40(%rsp), %rsi
movq %rsi, 0x30(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x73655
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0x7365d
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
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
leaq 0x30(%rsp), %rdi
callq 0xa110
leaq 0x20(%rsp), %r15
movq %r15, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x736bd
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x736c6
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 %r14, %rdi
leaq 0x10(%rsp), %rsi
callq 0xa370
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x73702
callq 0xa2b0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
leaq 0x1a0(%rsp), %r15
je 0x7371e
callq 0xa2b0
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x73738
callq 0xa2b0
movq 0x548(%rsp), %rdi
leaq 0x558(%rsp), %rax
cmpq %rax, %rdi
je 0x73752
callq 0xa2b0
movq 0x308(%rsp), %rdi
leaq 0x318(%rsp), %rax
cmpq %rax, %rdi
je 0x7376c
callq 0xa2b0
movq 0x328(%rsp), %rdi
leaq 0x338(%rsp), %rax
cmpq %rax, %rdi
je 0x73786
callq 0xa2b0
movq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
cmpq %rax, %rdi
je 0x737a0
callq 0xa2b0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x737b4
callq 0xa2b0
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x737ce
callq 0xa2b0
movq 0x568(%rsp), %rdi
leaq 0x578(%rsp), %rax
cmpq %rax, %rdi
je 0x737e8
callq 0xa2b0
movq 0x348(%rsp), %rdi
leaq 0x358(%rsp), %rax
cmpq %rax, %rdi
je 0x73802
callq 0xa2b0
movq 0x368(%rsp), %rdi
leaq 0x378(%rsp), %rax
jmp 0x73a1c
leaq 0xf0(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xa310
leaq 0x40(%rsp), %rsi
movq %rsi, 0x30(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x7384d
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0x73855
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
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 0x118(%rsp), %r15
shlq $0x5, %r15
movq (%rax,%r15), %rsi
movq 0x8(%rax,%r15), %rdx
leaq 0x30(%rsp), %rdi
callq 0xa110
leaq 0x20(%rsp), %r13
movq %r13, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x738c1
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x738cb
movupd (%rcx), %xmm0
movupd %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
addq 0x80(%rsp), %r15
movq %r15, %rdi
leaq 0x10(%rsp), %rsi
callq 0xa370
movq 0x10(%rsp), %rdi
cmpq %r13, %rdi
je 0x73907
callq 0xa2b0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
movl 0x74(%rsp), %r13d
leaq 0x1a0(%rsp), %r15
je 0x73928
callq 0xa2b0
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x73942
callq 0xa2b0
movq 0x588(%rsp), %rdi
leaq 0x598(%rsp), %rax
cmpq %rax, %rdi
je 0x7395c
callq 0xa2b0
movq 0x388(%rsp), %rdi
leaq 0x398(%rsp), %rax
cmpq %rax, %rdi
je 0x73976
callq 0xa2b0
movq 0x5a8(%rsp), %rdi
leaq 0x5b8(%rsp), %rax
cmpq %rax, %rdi
je 0x73990
callq 0xa2b0
movq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
cmpq %rax, %rdi
je 0x739aa
callq 0xa2b0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x739be
callq 0xa2b0
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x739d8
callq 0xa2b0
movq 0x5c8(%rsp), %rdi
leaq 0x5d8(%rsp), %rax
cmpq %rax, %rdi
je 0x739f2
callq 0xa2b0
movq 0x3a8(%rsp), %rdi
leaq 0x3b8(%rsp), %rax
cmpq %rax, %rdi
je 0x73a0c
callq 0xa2b0
movq 0x3c8(%rsp), %rdi
leaq 0x3d8(%rsp), %rax
cmpq %rax, %rdi
je 0x73a26
callq 0xa2b0
movq 0x160(%rsp), %rdi
leaq 0x170(%rsp), %rax
cmpq %rax, %rdi
je 0x73a40
callq 0xa2b0
incq %rbx
movq 0x88(%rsp), %rax
subq 0x80(%rsp), %rax
shrq $0x5, %rax
cltq
addq $0x20, %r14
cmpq %rax, %rbx
jl 0x72b09
movq 0x130(%rsp), %rbp
movq 0x110(%rsp), %r14
cmpq $0x0, 0x8(%r14)
je 0x748f0
movq 0x180(%rsp), %rbx
leaq 0x6b8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x9a1d(%rip), %rsi      # 0x7d4b9
leaq 0x9a19(%rip), %rdx      # 0x7d4bc
leaq 0x6a8(%rsp), %rdi
callq 0xdfa8
leaq 0x6a8(%rsp), %rsi
movq %rbx, %rdi
callq 0x768a1
movl %eax, %r13d
movq 0x6a8(%rsp), %rdi
cmpq %r15, %rdi
je 0x73ad5
callq 0xa2b0
movq 0x8(%rbp), %rax
testl %eax, %eax
jle 0x73b31
movq (%rbp), %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 0x73b17
movb 0x1(%rcx,%rdi), %r10b
incq %rdi
andb $-0x40, %r10b
negb %r10b
jo 0x73aff
jmp 0x73b1a
movq %r8, %rdi
incl %esi
cmpl %eax, %edi
jl 0x73aed
xorps %xmm0, %xmm0
cvtsi2sd %esi, %xmm0
mulsd 0x8691(%rip), %xmm0     # 0x7c1c0
jmp 0x73b35
xorpd %xmm0, %xmm0
testl %r13d, %r13d
jle 0x748f0
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 0x73bfe
movq (%rsi), %rcx
movl %eax, %edx
andl $0x7fffffff, %edx       # imm = 0x7FFFFFFF
xorl %r9d, %r9d
xorl %r8d, %r8d
movl %r9d, %edi
movslq %r8d, %r8
leaq 0x1(%r8), %r9
cmpq %rdx, %r9
cmovleq %rdx, %r9
leaq -0x1(%r9), %r10
cmpq %r8, %r10
je 0x73bad
movb 0x1(%rcx,%r8), %r11b
incq %r8
andb $-0x40, %r11b
negb %r11b
jo 0x73b95
jmp 0x73bb0
movq %r9, %r8
leal 0x1(%rdi), %r9d
cmpl %eax, %r8d
jl 0x73b80
testl %edi, %edi
leaq 0x20(%rsp), %r12
je 0x73c05
xorl %eax, %eax
cltq
leaq 0x1(%rax), %r8
cmpq %rdx, %r8
cmovleq %rdx, %r8
leaq -0x1(%r8), %r9
cmpq %rax, %r9
je 0x73bed
movb 0x1(%rcx,%rax), %r10b
incq %rax
andb $-0x40, %r10b
negb %r10b
jo 0x73bd5
jmp 0x73bf0
movq %r8, %rax
leal -0x1(%rdi), %r8d
cmpl $0x1, %edi
movl %r8d, %edi
jg 0x73bc4
jmp 0x73c07
leaq 0x20(%rsp), %r12
jmp 0x73c07
xorl %eax, %eax
movsd %xmm0, 0x78(%rsp)
movslq %eax, %rcx
leaq 0x30(%rsp), %rdi
xorl %edx, %edx
callq 0xa2f0
leaq 0x98ae(%rip), %rsi      # 0x7d4d1
leaq 0x30(%rsp), %rdi
callq 0xa560
movq %r12, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x73c50
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x73c5a
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 0x73c96
callq 0xa2b0
movq %rbp, 0x130(%rsp)
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x73cb1
callq 0xa2b0
movl 0xcc(%rsp), %eax
movl %eax, %ebx
shrl $0x1f, %ebx
addl %eax, %ebx
sarl %ebx
movsd 0x78(%rsp), %xmm0
callq 0xa4d0
cvttsd2si %xmm0, %eax
movl %r13d, %ecx
subl %eax, %ecx
cmpl %ecx, %ebx
cmovll %ebx, %ecx
movl %ecx, 0x118(%rsp)
movq 0x80(%rsp), %rcx
movq 0x88(%rsp), %rax
movq %rcx, 0x78(%rsp)
subq %rcx, %rax
shrq $0x5, %rax
testl %eax, %eax
jle 0x74668
leal 0x1(%r15), %eax
movq %rax, 0x128(%rsp)
subl 0x118(%rsp), %r13d
movl %r13d, 0x110(%rsp)
cvtsi2sd %r13d, %xmm1
subsd %xmm0, %xmm1
cvttsd2si %xmm1, %eax
movl %eax, 0xc8(%rsp)
movl %r15d, %eax
movq %rax, 0xc0(%rsp)
movslq %r15d, %rax
movq %rax, 0x138(%rsp)
xorl %r13d, %r13d
leaq 0x3cfa(%rip), %rsi      # 0x77a4f
leaq 0x50(%rsp), %r12
leaq 0x30(%rsp), %rbx
xorl %ecx, %ecx
cmpq 0x138(%rsp), %rcx
movq %rcx, 0x120(%rsp)
jge 0x73e9b
leaq 0x60(%rsp), %rax
movq %rax, 0x50(%rsp)
movq %r12, %rdi
movq %rsi, %rdx
callq 0xdfa8
leaq 0x180(%rsp), %rdi
callq 0x6f554
movl %eax, %r15d
movq %r13, %rbp
leaq 0x2f8(%rsp), %rax
movq %rax, 0x2e8(%rsp)
leaq 0x2e8(%rsp), %rdi
leaq 0x3cde(%rip), %rsi      # 0x77a9c
leaq 0x3cd8(%rip), %rdx      # 0x77a9d
callq 0xdfa8
movq %r12, %r14
leaq 0x2d8(%rsp), %rax
movq %rax, 0x2c8(%rsp)
leaq 0x2c8(%rsp), %rdi
leaq 0x3c63(%rip), %r13      # 0x77a4f
movq %r13, %rsi
movq %r13, %rdx
callq 0xdfa8
leaq 0x538(%rsp), %rax
movq %rax, 0x528(%rsp)
leaq 0x528(%rsp), %r12
movq %r12, %rdi
movq %r13, %rsi
movq %r13, %rdx
callq 0xdfa8
subl 0x118(%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 0x5b388
movq %rbp, %r13
movq 0x78(%rsp), %rax
movq (%rax,%rbp), %rcx
movq 0x8(%rax,%rbp), %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
je 0x74114
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x7411d
cmpq %rcx, 0xc0(%rsp)
jne 0x73fca
leaq 0xb0(%rsp), %rax
movq %rax, 0xa0(%rsp)
leaq 0xa0(%rsp), %rdi
movq %rsi, %rdx
callq 0xdfa8
leaq 0x2b8(%rsp), %rax
movq %rax, 0x2a8(%rsp)
leaq 0x2a8(%rsp), %rdi
leaq 0x95c7(%rip), %rsi      # 0x7d4af
leaq 0x95c3(%rip), %rdx      # 0x7d4b2
callq 0xdfa8
leaq 0x298(%rsp), %rax
movq %rax, 0x288(%rsp)
leaq 0x288(%rsp), %rdi
leaq 0x3b3c(%rip), %r14      # 0x77a4f
movq %r14, %rsi
movq %r14, %rdx
callq 0xdfa8
leaq 0x518(%rsp), %rax
movq %rax, 0x508(%rsp)
leaq 0x508(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
movq %r14, %rdx
callq 0xdfa8
movq %r15, (%rsp)
movq %r12, %rdi
leaq 0xa0(%rsp), %rsi
movl 0x110(%rsp), %edx
movl $0x1, %ecx
leaq 0x2a8(%rsp), %r8
leaq 0x288(%rsp), %r9
callq 0x5b388
movq 0xc0(%rsp), %r15
shlq $0x5, %r15
movq 0x78(%rsp), %rax
addq %r15, %rax
movq (%rax), %rcx
movq 0x8(%rax), %r8
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xa310
leaq 0x40(%rsp), %rsi
movq %rsi, 0x30(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x742de
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0x742e6
cmpq %rcx, 0x128(%rsp)
jne 0x741ca
movq 0x130(%rsp), %rax
cmpq $0x0, 0x8(%rax)
je 0x741ca
leaq 0xb0(%rsp), %rax
movq %rax, 0xa0(%rsp)
leaq 0xa0(%rsp), %rdi
movq %rsi, %rdx
callq 0xdfa8
leaq 0x278(%rsp), %rax
movq %rax, 0x268(%rsp)
leaq 0x268(%rsp), %rdi
leaq 0x3a72(%rip), %rsi      # 0x77a9c
leaq 0x3a6c(%rip), %rdx      # 0x77a9d
callq 0xdfa8
leaq 0x258(%rsp), %rax
movq %rax, 0x248(%rsp)
leaq 0x248(%rsp), %rdi
leaq 0x39fa(%rip), %r14      # 0x77a4f
movq %r14, %rsi
movq %r14, %rdx
callq 0xdfa8
leaq 0x4f8(%rsp), %rax
movq %rax, 0x4e8(%rsp)
leaq 0x4e8(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
movq %r14, %rdx
callq 0xdfa8
movq %r15, (%rsp)
movq %r12, %rdi
leaq 0xa0(%rsp), %rsi
movl 0xc8(%rsp), %edx
movl $0x1, %ecx
leaq 0x268(%rsp), %r8
leaq 0x248(%rsp), %r9
callq 0x7593a
movq 0x128(%rsp), %r15
shlq $0x5, %r15
movq 0x78(%rsp), %rax
addq %r15, %rax
movq (%rax), %rcx
movq 0x8(%rax), %r8
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xa310
leaq 0x40(%rsp), %rsi
movq %rsi, 0x30(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
movq 0x130(%rsp), %rdi
je 0x74442
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0x7444a
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 %r13, %rdi
leaq 0x10(%rsp), %rsi
callq 0xa370
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x74159
callq 0xa2b0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x7416d
callq 0xa2b0
movq 0x528(%rsp), %rdi
leaq 0x538(%rsp), %rax
cmpq %rax, %rdi
je 0x74187
callq 0xa2b0
movq 0x2c8(%rsp), %rdi
leaq 0x2d8(%rsp), %rax
cmpq %rax, %rdi
je 0x741a1
callq 0xa2b0
movq 0x2e8(%rsp), %rdi
leaq 0x2f8(%rsp), %rax
cmpq %rax, %rdi
je 0x741bb
callq 0xa2b0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
jmp 0x74621
leaq 0xb0(%rsp), %rax
movq %rax, 0xa0(%rsp)
leaq 0xa0(%rsp), %rdi
movq %rsi, %rdx
callq 0xdfa8
leaq 0x238(%rsp), %rax
movq %rax, 0x228(%rsp)
leaq 0x228(%rsp), %rdi
leaq 0x3893(%rip), %rsi      # 0x77a9c
leaq 0x388d(%rip), %rdx      # 0x77a9d
callq 0xdfa8
leaq 0x218(%rsp), %rax
movq %rax, 0x208(%rsp)
leaq 0x208(%rsp), %rdi
leaq 0x381b(%rip), %r14      # 0x77a4f
movq %r14, %rsi
movq %r14, %rdx
callq 0xdfa8
leaq 0x4d8(%rsp), %rax
movq %rax, 0x4c8(%rsp)
leaq 0x4c8(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
movq %r14, %rdx
callq 0xdfa8
movq %r15, (%rsp)
movq %r12, %rdi
leaq 0xa0(%rsp), %rsi
movl 0x110(%rsp), %edx
movl $0x1, %ecx
leaq 0x228(%rsp), %r8
leaq 0x208(%rsp), %r9
callq 0x5b388
movq 0x78(%rsp), %rax
movq (%rax,%r13), %rcx
movq 0x8(%rax,%r13), %r8
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xa310
leaq 0x40(%rsp), %rsi
movq %rsi, 0x30(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x743eb
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0x743f3
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x38(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, %rdi
leaq 0x4400(%rip), %rsi      # 0x78708
callq 0xa560
leaq 0x20(%rsp), %rbp
movq %rbp, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x74335
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x7433e
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)
addq 0x80(%rsp), %r15
movq %r15, %rdi
leaq 0x10(%rsp), %rsi
callq 0xa370
movq 0x10(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7437a
callq 0xa2b0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x7438e
callq 0xa2b0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x743a2
callq 0xa2b0
movq 0x508(%rsp), %rdi
leaq 0x518(%rsp), %rax
cmpq %rax, %rdi
je 0x743bc
callq 0xa2b0
movq 0x288(%rsp), %rdi
leaq 0x298(%rsp), %rax
cmpq %rax, %rdi
je 0x743d6
callq 0xa2b0
movq 0x2a8(%rsp), %rdi
leaq 0x2b8(%rsp), %rax
jmp 0x74607
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x38(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, %rdi
leaq 0x439f(%rip), %rsi      # 0x787b4
callq 0xa560
leaq 0x20(%rsp), %r15
movq %r15, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x744a0
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x744a9
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
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
leaq 0x20(%rsp), %rbp
movq %rbp, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x74556
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x7455f
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 %r13, %rdi
leaq 0x10(%rsp), %rsi
callq 0xa370
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x744e5
callq 0xa2b0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x744f9
callq 0xa2b0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x7450d
callq 0xa2b0
movq 0x4c8(%rsp), %rdi
leaq 0x4d8(%rsp), %rax
cmpq %rax, %rdi
je 0x74527
callq 0xa2b0
movq 0x208(%rsp), %rdi
leaq 0x218(%rsp), %rax
cmpq %rax, %rdi
je 0x74541
callq 0xa2b0
movq 0x228(%rsp), %rdi
leaq 0x238(%rsp), %rax
jmp 0x74607
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)
addq 0x80(%rsp), %r15
movq %r15, %rdi
leaq 0x10(%rsp), %rsi
callq 0xa370
movq 0x10(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7459b
callq 0xa2b0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x745af
callq 0xa2b0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x745c3
callq 0xa2b0
movq 0x4e8(%rsp), %rdi
leaq 0x4f8(%rsp), %rax
cmpq %rax, %rdi
je 0x745dd
callq 0xa2b0
movq 0x248(%rsp), %rdi
leaq 0x258(%rsp), %rax
cmpq %rax, %rdi
je 0x745f7
callq 0xa2b0
movq 0x268(%rsp), %rdi
leaq 0x278(%rsp), %rax
cmpq %rax, %rdi
je 0x74611
callq 0xa2b0
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x7462b
callq 0xa2b0
movq 0x120(%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, %r13
cmpq %rax, %rcx
leaq 0x33ed(%rip), %rsi      # 0x77a4f
jl 0x73d61
movq 0xd0(%rsp), %r12
movq 0xd8(%rsp), %rax
subq %r12, %rax
shrq $0x5, %rax
testl %eax, %eax
jle 0x748f0
leaq 0x60(%rsp), %rbx
movl 0x74(%rsp), %eax
addl 0xcc(%rsp), %eax
subl 0x118(%rsp), %eax
movl %eax, 0x74(%rsp)
xorl %r15d, %r15d
leaq 0x4a8(%rsp), %r13
movq %rbx, 0x50(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0x3391(%rip), %rbx      # 0x77a4f
movq %rbx, %rsi
movq %rbx, %rdx
callq 0xdfa8
movq %r15, %r14
shlq $0x5, %r14
movq 0xd0(%rsp), %rcx
movq 0x8(%rcx,%r14), %rax
testl %eax, %eax
jle 0x7472d
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 0x7471f
movb 0x1(%rcx,%rsi), %r9b
incq %rsi
andb $-0x40, %r9b
negb %r9b
jo 0x74707
jmp 0x74722
movq %rdi, %rsi
leal 0x1(%rbp), %edi
cmpl %eax, %esi
jl 0x746f3
notl %ebp
jmp 0x7472f
xorl %ebp, %ebp
leaq 0x1f8(%rsp), %rax
movq %rax, 0x1e8(%rsp)
leaq 0x1e8(%rsp), %rdi
leaq 0x334e(%rip), %rsi      # 0x77a9c
leaq 0x3348(%rip), %rdx      # 0x77a9d
callq 0xdfa8
leaq 0x1d8(%rsp), %rax
movq %rax, 0x1c8(%rsp)
leaq 0x1c8(%rsp), %rdi
movq %rbx, %rsi
movq %rbx, %rdx
callq 0xdfa8
movq %rbx, %rdx
leaq 0x4b8(%rsp), %rax
movq %rax, 0x4a8(%rsp)
movq %r13, %rbx
movq %r13, %rdi
movq %rdx, %rsi
callq 0xdfa8
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 0x1e8(%rsp), %r8
leaq 0x1c8(%rsp), %r9
callq 0x7593a
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 0x7480f
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x74819
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 0xd0(%rsp), %r14
movq %r14, %rdi
leaq 0x10(%rsp), %rsi
callq 0xa370
movq 0x10(%rsp), %rdi
cmpq %r12, %rdi
je 0x74855
callq 0xa2b0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
leaq 0x60(%rsp), %rbx
je 0x7486e
callq 0xa2b0
movq 0x4a8(%rsp), %rdi
leaq 0x4b8(%rsp), %rax
cmpq %rax, %rdi
je 0x74888
callq 0xa2b0
movq 0x1c8(%rsp), %rdi
leaq 0x1d8(%rsp), %rax
cmpq %rax, %rdi
je 0x748a2
callq 0xa2b0
movq 0x1e8(%rsp), %rdi
leaq 0x1f8(%rsp), %rax
cmpq %rax, %rdi
je 0x748bc
callq 0xa2b0
movq 0x50(%rsp), %rdi
cmpq %rbx, %rdi
je 0x748cb
callq 0xa2b0
incq %r15
movq 0xd0(%rsp), %r12
movq 0xd8(%rsp), %rax
subq %r12, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %r15
jl 0x746ad
movq 0xd0(%rsp), %rsi
movq 0xd8(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
testl %eax, %eax
leaq 0x20(%rsp), %r13
jle 0x74978
xorl %r15d, %r15d
leaq 0x10(%rsp), %rbx
leaq 0x80(%rsp), %r14
xorl %r12d, %r12d
addq %r15, %rsi
movq 0x180(%rsp), %rdx
addq %r15, %rdx
movq %rbx, %rdi
callq 0x5eef3
movq %r14, %rdi
movq %rbx, %rsi
callq 0x17280
movq 0x10(%rsp), %rdi
cmpq %r13, %rdi
je 0x74953
callq 0xa2b0
incq %r12
movq 0xd0(%rsp), %rsi
movq 0xd8(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
cltq
addq $0x20, %r15
cmpq %rax, %r12
jl 0x74923
leaq 0x698(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x3111(%rip), %rsi      # 0x77a9c
leaq 0x310b(%rip), %rdx      # 0x77a9d
leaq 0x688(%rsp), %rdi
callq 0xdfa8
leaq 0x678(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x309d(%rip), %rdx      # 0x77a4f
leaq 0x668(%rsp), %rdi
movq %rdx, %rsi
callq 0xdfa8
leaq 0x658(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x3079(%rip), %rdx      # 0x77a4f
leaq 0x648(%rsp), %rdi
movq %rdx, %rsi
callq 0xdfa8
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 0x6f5f0
movq 0x648(%rsp), %rdi
cmpq %r12, %rdi
je 0x74a27
callq 0xa2b0
movq 0x668(%rsp), %rdi
cmpq %r15, %rdi
je 0x74a39
callq 0xa2b0
movq 0x688(%rsp), %rdi
cmpq %rbx, %rdi
movq 0x1c0(%rsp), %r14
je 0x74a53
callq 0xa2b0
leaq 0x638(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x34c2(%rip), %rsi      # 0x77f28
leaq 0x34bc(%rip), %rdx      # 0x77f29
leaq 0x628(%rsp), %rdi
callq 0xdfa8
leaq 0x80(%rsp), %rsi
leaq 0x628(%rsp), %rdx
movq %r14, %rdi
movl $0x1, %ecx
callq 0x6f7ca
movq 0x628(%rsp), %rdi
cmpq %rbx, %rdi
je 0x74aa9
callq 0xa2b0
leaq 0x80(%rsp), %rdi
callq 0x14adc
leaq 0x180(%rsp), %rdi
callq 0x14adc
leaq 0xd0(%rsp), %rdi
callq 0x14adc
movq %r14, %rax
addq $0x808, %rsp            # imm = 0x808
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x7501d
jmp 0x7544d
jmp 0x74afb
jmp 0x7544d
jmp 0x7544d
movq %rax, %r14
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x75410
jmp 0x7544d
movq %rax, %r14
movq 0x6a8(%rsp), %rdi
jmp 0x75025
jmp 0x7544d
movq %rax, %r14
movq 0x6c8(%rsp), %rdi
jmp 0x75025
jmp 0x7544d
movq %rax, %r14
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x74b70
callq 0xa2b0
jmp 0x74b70
movq %rax, %r14
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x74b8f
callq 0xa2b0
jmp 0x74b8f
movq %rax, %r14
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x74ba8
callq 0xa2b0
jmp 0x74ba8
movq %rax, %r14
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x74bc7
callq 0xa2b0
jmp 0x74bc7
movq %rax, %r14
movq 0x548(%rsp), %rdi
leaq 0x558(%rsp), %rax
cmpq %rax, %rdi
je 0x74be6
callq 0xa2b0
jmp 0x74be6
movq %rax, %r14
movq 0x4e8(%rsp), %rdi
leaq 0x4f8(%rsp), %rax
cmpq %rax, %rdi
je 0x74c05
callq 0xa2b0
jmp 0x74c05
movq %rax, %r14
movq 0x308(%rsp), %rdi
leaq 0x318(%rsp), %rax
cmpq %rax, %rdi
je 0x74c24
callq 0xa2b0
jmp 0x74c24
movq %rax, %r14
movq 0x248(%rsp), %rdi
leaq 0x258(%rsp), %rax
cmpq %rax, %rdi
je 0x74c43
callq 0xa2b0
jmp 0x74c43
movq %rax, %r14
movq 0x328(%rsp), %rdi
leaq 0x338(%rsp), %rax
cmpq %rax, %rdi
je 0x74c5b
callq 0xa2b0
jmp 0x74c5b
movq %rax, %r14
movq 0x268(%rsp), %rdi
leaq 0x278(%rsp), %rax
jmp 0x75139
movq %rax, %r14
movq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
cmpq %rax, %rdi
je 0x74c7f
callq 0xa2b0
jmp 0x74c7f
jmp 0x7514d
movq %rax, %r14
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x74c9d
callq 0xa2b0
jmp 0x74c9d
jmp 0x7544d
movq %rax, %r14
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x74cbc
callq 0xa2b0
jmp 0x74cbc
movq %rax, %r14
movq 0x568(%rsp), %rdi
leaq 0x578(%rsp), %rax
cmpq %rax, %rdi
je 0x74cd6
callq 0xa2b0
movq 0x348(%rsp), %rdi
leaq 0x358(%rsp), %rax
cmpq %rax, %rdi
je 0x74cf0
callq 0xa2b0
movq 0x368(%rsp), %rdi
leaq 0x378(%rsp), %rax
jmp 0x75275
movq %rax, %r14
jmp 0x74cd6
movq %rax, %r14
jmp 0x74cf0
jmp 0x750a2
jmp 0x7544d
movq %rax, %r14
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x74d35
callq 0xa2b0
jmp 0x74d35
movq %rax, %r14
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x74d54
callq 0xa2b0
jmp 0x74d54
movq %rax, %r14
movq 0x588(%rsp), %rdi
leaq 0x598(%rsp), %rax
cmpq %rax, %rdi
je 0x74d73
callq 0xa2b0
jmp 0x74d73
movq %rax, %r14
movq 0x388(%rsp), %rdi
leaq 0x398(%rsp), %rax
cmpq %rax, %rdi
je 0x74d92
callq 0xa2b0
jmp 0x74d92
movq %rax, %r14
movq 0x5a8(%rsp), %rdi
leaq 0x5b8(%rsp), %rax
cmpq %rax, %rdi
je 0x74db1
callq 0xa2b0
jmp 0x74db1
movq %rax, %r14
movq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
cmpq %rax, %rdi
je 0x74dd0
callq 0xa2b0
jmp 0x74dd0
movq %rax, %r14
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x74de9
callq 0xa2b0
jmp 0x74de9
movq %rax, %r14
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x74e08
callq 0xa2b0
jmp 0x74e08
movq %rax, %r14
movq 0x5c8(%rsp), %rdi
leaq 0x5d8(%rsp), %rax
cmpq %rax, %rdi
je 0x74e22
callq 0xa2b0
movq 0x3a8(%rsp), %rdi
leaq 0x3b8(%rsp), %rax
cmpq %rax, %rdi
je 0x74e3c
callq 0xa2b0
movq 0x3c8(%rsp), %rdi
leaq 0x3d8(%rsp), %rax
jmp 0x75275
movq %rax, %r14
jmp 0x74e22
movq %rax, %r14
jmp 0x74e3c
jmp 0x750a2
jmp 0x7544d
movq %rax, %r14
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x74e81
callq 0xa2b0
jmp 0x74e81
movq %rax, %r14
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x74e9a
callq 0xa2b0
jmp 0x74e9a
movq %rax, %r14
movq 0x4c8(%rsp), %rdi
leaq 0x4d8(%rsp), %rax
cmpq %rax, %rdi
je 0x74eb9
callq 0xa2b0
jmp 0x74eb9
movq %rax, %r14
movq 0x208(%rsp), %rdi
leaq 0x218(%rsp), %rax
cmpq %rax, %rdi
je 0x74ed8
callq 0xa2b0
jmp 0x74ed8
movq %rax, %r14
movq 0x228(%rsp), %rdi
leaq 0x238(%rsp), %rax
jmp 0x75139
jmp 0x7514d
jmp 0x7544d
movq %rax, %r14
movq 0x628(%rsp), %rdi
jmp 0x74f42
jmp 0x7544d
movq %rax, %r14
movq 0x648(%rsp), %rdi
cmpq %r12, %rdi
je 0x74f23
callq 0xa2b0
jmp 0x74f23
movq %rax, %r14
movq 0x668(%rsp), %rdi
cmpq %r15, %rdi
je 0x74f3a
callq 0xa2b0
jmp 0x74f3a
movq %rax, %r14
movq 0x688(%rsp), %rdi
cmpq %rbx, %rdi
jne 0x75415
jmp 0x75450
jmp 0x7544d
movq %rax, %r14
movq 0x6e8(%rsp), %rdi
cmpq %r13, %rdi
je 0x74f6f
callq 0xa2b0
jmp 0x74f6f
movq %rax, %r14
movq 0x708(%rsp), %rdi
cmpq %r12, %rdi
je 0x74f86
callq 0xa2b0
jmp 0x74f86
movq %rax, %r14
movq 0x728(%rsp), %rdi
jmp 0x75025
jmp 0x7544d
movq %rax, %r14
movq 0x748(%rsp), %rdi
cmpq %r13, %rdi
je 0x74fb2
callq 0xa2b0
jmp 0x74fb2
movq %rax, %r14
movq 0x768(%rsp), %rdi
cmpq %r12, %rdi
je 0x74fc9
callq 0xa2b0
jmp 0x74fc9
movq %rax, %r14
movq 0x788(%rsp), %rdi
jmp 0x75025
jmp 0x7544d
jmp 0x7544d
movq %rax, %r14
movq 0x7a8(%rsp), %rdi
cmpq %r13, %rdi
je 0x74ff7
callq 0xa2b0
jmp 0x74ff7
movq %rax, %r14
movq 0x7c8(%rsp), %rdi
cmpq %r12, %rdi
je 0x7500e
callq 0xa2b0
jmp 0x7500e
movq %rax, %r14
movq 0x7e8(%rsp), %rdi
jmp 0x75025
jmp 0x7544d
movq %rax, %r14
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
jne 0x75415
jmp 0x75450
movq %rax, %r14
movq 0x10(%rsp), %rdi
cmpq %r12, %rdi
je 0x7545d
jmp 0x75432
movq %rax, %r14
movq 0x10(%rsp), %rdi
cmpq %r12, %rdi
je 0x7546a
callq 0xa2b0
jmp 0x7546a
jmp 0x7544d
movq %rax, %r14
jmp 0x7517c
movq %rax, %r14
jmp 0x7524b
movq %rax, %r14
jmp 0x75196
movq %rax, %r14
jmp 0x75265
movq %rax, %r14
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x750b5
callq 0xa2b0
jmp 0x750b5
movq %rax, %r14
jmp 0x7527f
movq %rax, %r14
jmp 0x751b0
movq %rax, %r14
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x750db
callq 0xa2b0
jmp 0x750db
movq %rax, %r14
jmp 0x751ca
jmp 0x7544d
movq %rax, %r14
movq 0x508(%rsp), %rdi
leaq 0x518(%rsp), %rax
cmpq %rax, %rdi
je 0x75102
callq 0xa2b0
jmp 0x75102
movq %rax, %r14
jmp 0x751e4
movq %rax, %r14
movq 0x288(%rsp), %rdi
leaq 0x298(%rsp), %rax
cmpq %rax, %rdi
je 0x75129
callq 0xa2b0
jmp 0x75129
movq %rax, %r14
jmp 0x751fe
movq %rax, %r14
movq 0x2a8(%rsp), %rdi
leaq 0x2b8(%rsp), %rax
cmpq %rax, %rdi
je 0x75150
callq 0xa2b0
jmp 0x75150
movq %rax, %r14
jmp 0x75212
movq %rax, %r14
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
jmp 0x75410
movq %rax, %r14
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x7517c
callq 0xa2b0
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x75196
callq 0xa2b0
movq 0x5e8(%rsp), %rdi
leaq 0x5f8(%rsp), %rax
cmpq %rax, %rdi
je 0x751b0
callq 0xa2b0
movq 0x3e8(%rsp), %rdi
leaq 0x3f8(%rsp), %rax
cmpq %rax, %rdi
je 0x751ca
callq 0xa2b0
movq 0x408(%rsp), %rdi
leaq 0x418(%rsp), %rax
cmpq %rax, %rdi
je 0x751e4
callq 0xa2b0
movq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
cmpq %rax, %rdi
je 0x751fe
callq 0xa2b0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x75212
callq 0xa2b0
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x75231
callq 0xa2b0
jmp 0x75231
movq %rax, %r14
movq 0x608(%rsp), %rdi
leaq 0x618(%rsp), %rax
cmpq %rax, %rdi
je 0x7524b
callq 0xa2b0
movq 0x428(%rsp), %rdi
leaq 0x438(%rsp), %rax
cmpq %rax, %rdi
je 0x75265
callq 0xa2b0
movq 0x448(%rsp), %rdi
leaq 0x458(%rsp), %rax
cmpq %rax, %rdi
je 0x7527f
callq 0xa2b0
movq 0x160(%rsp), %rdi
leaq 0x170(%rsp), %rax
jmp 0x75410
movq %rax, %r14
jmp 0x752cf
movq %rax, %r14
jmp 0x75308
jmp 0x7544d
movq %rax, %r14
jmp 0x75336
movq %rax, %r14
jmp 0x7536f
jmp 0x75397
movq %rax, %r14
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x752cf
callq 0xa2b0
movq 0x1a0(%rsp), %rdi
leaq 0x1b0(%rsp), %rax
cmpq %rax, %rdi
je 0x752ee
callq 0xa2b0
jmp 0x752ee
movq %rax, %r14
movq 0x468(%rsp), %rdi
leaq 0x478(%rsp), %rax
cmpq %rax, %rdi
je 0x75308
callq 0xa2b0
movq 0x488(%rsp), %rdi
leaq 0x498(%rsp), %rax
jmp 0x753fc
jmp 0x75397
movq %rax, %r14
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x75336
callq 0xa2b0
movq 0x528(%rsp), %rdi
leaq 0x538(%rsp), %rax
cmpq %rax, %rdi
je 0x75355
callq 0xa2b0
jmp 0x75355
movq %rax, %r14
movq 0x2c8(%rsp), %rdi
leaq 0x2d8(%rsp), %rax
cmpq %rax, %rdi
je 0x7536f
callq 0xa2b0
movq 0x2e8(%rsp), %rdi
leaq 0x2f8(%rsp), %rax
jmp 0x753fc
jmp 0x75397
jmp 0x7544d
jmp 0x7544d
movq %rax, %r14
jmp 0x753d2
movq %rax, %r14
jmp 0x753ec
movq %rax, %r14
jmp 0x75406
movq %rax, %r14
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x753b8
callq 0xa2b0
jmp 0x753b8
movq %rax, %r14
movq 0x4a8(%rsp), %rdi
leaq 0x4b8(%rsp), %rax
cmpq %rax, %rdi
je 0x753d2
callq 0xa2b0
movq 0x1c8(%rsp), %rdi
leaq 0x1d8(%rsp), %rax
cmpq %rax, %rdi
je 0x753ec
callq 0xa2b0
movq 0x1e8(%rsp), %rdi
leaq 0x1f8(%rsp), %rax
cmpq %rax, %rdi
je 0x75406
callq 0xa2b0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x75450
callq 0xa2b0
jmp 0x75450
jmp 0x75420
jmp 0x75439
movq %rax, %r14
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x7545d
callq 0xa2b0
jmp 0x7545d
movq %rax, %r14
jmp 0x7545d
movq %rax, %r14
movq 0x10(%rsp), %rdi
cmpq %r13, %rdi
jne 0x75415
jmp 0x75450
movq %rax, %r14
leaq 0x80(%rsp), %rdi
callq 0x14adc
leaq 0x180(%rsp), %rdi
callq 0x14adc
leaq 0xd0(%rsp), %rdi
callq 0x14adc
movq %r14, %rdi
callq 0xa510
nop