// File: /workspace/github_cpp_makefile_star2_O2/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 $0x818, %rsp            # imm = 0x818
movq %r9, %r12
movq %r8, %rbx
movq %rcx, 0x170(%rsp)
movq %rdx, 0xc0(%rsp)
movq %rsi, %r14
movq %rdi, %r15
xorpd %xmm0, %xmm0
leaq 0xf0(%rsp), %rdi
movapd %xmm0, (%rdi)
andq $0x0, 0x10(%rdi)
movq %r8, %rsi
callq 0x53173
movq %r15, 0x1a8(%rsp)
leaq 0x150(%rsp), %rdi
xorpd %xmm0, %xmm0
movapd %xmm0, (%rdi)
andq $0x0, 0x10(%rdi)
movq %r12, 0x1b0(%rsp)
movq %r12, %rsi
callq 0x53173
leaq 0x3584(%rip), %r15      # 0x54a1f
leaq 0x78(%rsp), %r12
leaq 0x40(%rsp), %r13
leaq 0xf0(%rsp), %rbp
movq 0xf0(%rsp), %rcx
movq 0xf8(%rsp), %rax
movq %rax, %rdi
subq %rcx, %rdi
movq 0x150(%rsp), %rdx
movq 0x158(%rsp), %rsi
movq %rsi, %r8
subq %rdx, %r8
cmpq %r8, %rdi
jae 0x51501
movq %r12, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0xa150
movq %rbp, %rdi
movq %r12, %rsi
callq 0x13632
movq %r12, %rdi
callq 0xa558
jmp 0x514ad
leaq 0x3517(%rip), %r15      # 0x54a1f
leaq 0x78(%rsp), %r12
leaq 0x40(%rsp), %r13
leaq 0x150(%rsp), %rbp
subq %rcx, %rax
subq %rdx, %rsi
cmpq %rax, %rsi
jae 0x51568
movq %r12, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0xa150
movq %rbp, %rdi
movq %r12, %rsi
callq 0x13632
movq %r12, %rdi
callq 0xa558
movq 0x150(%rsp), %rdx
movq 0x158(%rsp), %rsi
movq 0xf0(%rsp), %rcx
movq 0xf8(%rsp), %rax
jmp 0x5151a
xorpd %xmm0, %xmm0
leaq 0x20(%rsp), %rdi
movapd %xmm0, (%rdi)
andq $0x0, 0x10(%rdi)
movq %r14, %rsi
callq 0x53173
movq 0x20(%rsp), %rax
cmpq 0x28(%rsp), %rax
jne 0x515bd
leaq 0x348a(%rip), %rsi      # 0x54a1f
leaq 0x78(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0xa150
leaq 0x20(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x13632
leaq 0x78(%rsp), %rdi
callq 0xa558
leaq 0x34a8(%rip), %rsi      # 0x54a6c
leaq 0x698(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0xa150
leaq 0x3442(%rip), %rsi      # 0x54a1f
leaq 0x678(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0xa150
leaq 0x3429(%rip), %rsi      # 0x54a1f
leaq 0x658(%rsp), %rdi
leaq 0xa0(%rsp), %rdx
callq 0xa150
leaq 0x20(%rsp), %rdi
pushq $-0x1
popq %rsi
pushq $0x1
popq %rdx
leaq 0x698(%rsp), %rcx
leaq 0x678(%rsp), %r8
leaq 0x658(%rsp), %r9
callq 0x4f95a
leaq 0x658(%rsp), %rdi
callq 0xa558
leaq 0x678(%rsp), %rdi
callq 0xa558
leaq 0x698(%rsp), %rdi
callq 0xa558
leaq 0x20(%rsp), %rdi
callq 0x4f910
movl %eax, %ebp
leaq 0x33ff(%rip), %rsi      # 0x54a6c
leaq 0x638(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0xa150
leaq 0x3399(%rip), %rsi      # 0x54a1f
leaq 0x618(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0xa150
leaq 0x3380(%rip), %rsi      # 0x54a1f
leaq 0x5f8(%rsp), %rdi
leaq 0xa0(%rsp), %rdx
callq 0xa150
leaq 0xf0(%rsp), %rdi
pushq $-0x1
popq %rsi
pushq $0x1
popq %rdx
leaq 0x638(%rsp), %rcx
leaq 0x618(%rsp), %r8
leaq 0x5f8(%rsp), %r9
callq 0x4f95a
leaq 0x5f8(%rsp), %rdi
callq 0xa558
leaq 0x618(%rsp), %rdi
callq 0xa558
leaq 0x638(%rsp), %rdi
callq 0xa558
leaq 0x335f(%rip), %rsi      # 0x54a6c
leaq 0x5d8(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0xa150
leaq 0x32f9(%rip), %rsi      # 0x54a1f
leaq 0x5b8(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0xa150
leaq 0x32e0(%rip), %rsi      # 0x54a1f
leaq 0x598(%rsp), %rdi
leaq 0xa0(%rsp), %rdx
callq 0xa150
leaq 0x150(%rsp), %rdi
pushq $-0x1
popq %rsi
pushq $0x1
popq %rdx
leaq 0x5d8(%rsp), %rcx
leaq 0x5b8(%rsp), %r8
leaq 0x598(%rsp), %r9
callq 0x4f95a
leaq 0x598(%rsp), %rdi
callq 0xa558
leaq 0x5b8(%rsp), %rdi
callq 0xa558
leaq 0x5d8(%rsp), %rdi
callq 0xa558
movl $0x0, 0x68(%rsp)
cmpq $0x0, 0x8(%rbx)
je 0x52182
movq 0xf0(%rsp), %rbx
leaq 0x8cd9(%rip), %rsi      # 0x5a4a1
leaq 0x578(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0xa150
leaq 0x578(%rsp), %rsi
movq %rbx, %rdi
callq 0x53c87
movq %rax, 0x60(%rsp)
leaq 0x578(%rsp), %rdi
callq 0xa558
movq 0xc0(%rsp), %rdi
callq 0x4fb48
cmpl $0x0, 0x60(%rsp)
jle 0x52182
movl %eax, %ebx
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %r12
subq %rsi, %r12
sarq $0x5, %r12
shrq %r12
movslq %r12d, %r14
shlq $0x5, %r14
addq %r14, %rsi
leaq 0x40(%rsp), %rdi
pushq $0x1
popq %rdx
pushq $-0x1
popq %rcx
callq 0x531d9
leaq 0x8c66(%rip), %rsi      # 0x5a4b1
leaq 0x78(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x11ff8
addq 0x20(%rsp), %r14
leaq 0x78(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0xa350
movq %r15, %rdi
callq 0xa558
leaq 0x40(%rsp), %rdi
callq 0xa558
leaq 0xf0(%rsp), %rdi
callq 0x4f910
movl %eax, %ecx
pushq $-0x2
popq %rsi
movl %ebp, 0x74(%rsp)
movl %ebp, %eax
cltd
idivl %esi
addl %eax, %ecx
movq 0x60(%rsp), %r14
leal 0x1(%r14), %ebp
cmpl %ecx, %r14d
cmovll %ecx, %ebp
cvtsi2sd %ebx, %xmm0
mulsd 0x78f7(%rip), %xmm0     # 0x591b0
movsd %xmm0, 0x38(%rsp)
callq 0xa070
movsd %xmm0, 0x18(%rsp)
cvttsd2si %xmm0, %ebx
addl %r14d, %ebx
cmpl %ebx, %ebp
cmovgl %ebp, %ebx
leal 0x1(%r12), %r15d
cvtsi2sd %r14d, %xmm0
movsd %xmm0, 0x68(%rsp)
movsd 0x38(%rsp), %xmm0
callq 0xa4c0
movsd 0x68(%rsp), %xmm1
subsd %xmm0, %xmm1
cvttsd2si %xmm1, %eax
movl %eax, 0x17c(%rsp)
movl %ebx, %eax
subl %r14d, %eax
cvtsi2sd %eax, %xmm0
subsd 0x18(%rsp), %xmm0
cvttsd2si %xmm0, %eax
movl %eax, 0x178(%rsp)
movl %r14d, %eax
notl %eax
movl %ebx, 0x68(%rsp)
addl %ebx, %eax
movl %eax, 0xcc(%rsp)
movslq %r12d, %rax
movq %rax, 0x108(%rsp)
movl %eax, %eax
shlq $0x5, %r15
movq %r15, 0x180(%rsp)
shlq $0x5, %rax
movq %rax, 0x98(%rsp)
movq $0x0, 0x18(%rsp)
leaq 0xa0(%rsp), %r13
leaq 0x188(%rsp), %rbp
leaq 0x10(%rsp), %r15
leaq 0x1b8(%rsp), %r14
xorl %ecx, %ecx
movq 0x28(%rsp), %rax
subq 0x20(%rsp), %rax
shrq $0x5, %rax
cltq
cmpq %rax, %rcx
jge 0x5217e
movq %rcx, 0x38(%rsp)
cmpq 0x108(%rsp), %rcx
jge 0x51abb
movq %r13, %rdi
leaq 0x306a(%rip), %rsi      # 0x54a1f
leaq 0xd0(%rsp), %rdx
callq 0xa150
leaq 0x558(%rsp), %rdi
leaq 0x309b(%rip), %rsi      # 0x54a6c
leaq 0x130(%rsp), %rdx
callq 0xa150
leaq 0x538(%rsp), %rdi
leaq 0x3032(%rip), %rsi      # 0x54a1f
movq %rbp, %rdx
callq 0xa150
leaq 0x7d8(%rsp), %r12
movq %r12, %rdi
leaq 0x3018(%rip), %rsi      # 0x54a1f
leaq 0x110(%rsp), %rdx
callq 0xa150
movq %rbp, %rbx
movq %r12, (%rsp)
leaq 0x40(%rsp), %r12
movq %r12, %rdi
movq %r13, %rsi
movl 0x68(%rsp), %edx
pushq $0x1
popq %rcx
leaq 0x558(%rsp), %r8
leaq 0x538(%rsp), %r9
callq 0x41e9e
movq 0x20(%rsp), %rdx
movq 0x18(%rsp), %rbp
addq %rbp, %rdx
leaq 0x78(%rsp), %r14
movq %r14, %rdi
movq %r12, %rsi
callq 0x184b5
movq 0x20(%rsp), %rdi
addq %rbp, %rdi
movq %r14, %rsi
callq 0xa350
movq %r14, %rdi
callq 0xa558
movq %r12, %rdi
callq 0xa558
leaq 0x7d8(%rsp), %rdi
callq 0xa558
leaq 0x538(%rsp), %rdi
callq 0xa558
leaq 0x558(%rsp), %rdi
callq 0xa558
movq %r13, %rdi
callq 0xa558
leaq 0x1b8(%rsp), %r14
jmp 0x51cf1
movq 0x18(%rsp), %rax
cmpq %rax, 0x98(%rsp)
jne 0x51d0a
leaq 0x130(%rsp), %rdi
leaq 0x2f42(%rip), %rsi      # 0x54a1f
movq %r15, %rdx
callq 0xa150
leaq 0x518(%rsp), %rdi
leaq 0x2f78(%rip), %rsi      # 0x54a6c
leaq 0x17(%rsp), %rdx
callq 0xa150
leaq 0x4f8(%rsp), %rdi
leaq 0x2f12(%rip), %rsi      # 0x54a1f
leaq 0x16(%rsp), %rdx
callq 0xa150
movq %r14, %rdi
leaq 0x2efe(%rip), %rsi      # 0x54a1f
leaq 0x15(%rsp), %rdx
callq 0xa150
movq %r14, (%rsp)
leaq 0xd0(%rsp), %rbx
movq %rbx, %rdi
leaq 0x130(%rsp), %rsi
movq 0x60(%rsp), %rdx
pushq $0x1
popq %rcx
leaq 0x518(%rsp), %r8
leaq 0x4f8(%rsp), %r9
callq 0x41e9e
movq %r13, %rdi
movq %rbx, %rsi
leaq 0x8949(%rip), %rdx      # 0x5a4b5
callq 0xc882
leaq 0x110(%rsp), %rdi
leaq 0x2e9f(%rip), %rsi      # 0x54a1f
leaq 0x14(%rsp), %rdx
callq 0xa150
leaq 0x4d8(%rsp), %rdi
leaq 0x88fe(%rip), %rsi      # 0x5a497
leaq 0x13(%rsp), %rdx
callq 0xa150
leaq 0x4b8(%rsp), %rdi
leaq 0x2e6d(%rip), %rsi      # 0x54a1f
leaq 0x12(%rsp), %rdx
callq 0xa150
leaq 0x7b8(%rsp), %r14
movq %r14, %rdi
leaq 0x2e51(%rip), %rsi      # 0x54a1f
leaq 0x11(%rsp), %rdx
callq 0xa150
movq %r14, (%rsp)
movq %rbp, %rdi
leaq 0x110(%rsp), %rsi
movl 0xcc(%rsp), %edx
pushq $0x1
popq %rcx
leaq 0x4d8(%rsp), %r8
leaq 0x4b8(%rsp), %r9
callq 0x41e9e
leaq 0x40(%rsp), %r12
movq %r12, %rdi
movq %r13, %rsi
movq %rbp, %rdx
callq 0x1205e
movq 0x20(%rsp), %rdx
movq 0x98(%rsp), %r13
addq %r13, %rdx
leaq 0x78(%rsp), %r14
movq %r14, %rdi
movq %r12, %rsi
callq 0x184b5
movq 0x20(%rsp), %rdi
addq %r13, %rdi
movq %r14, %rsi
callq 0xa350
movq %r14, %rdi
callq 0xa558
movq %r12, %rdi
callq 0xa558
movq %rbp, %rbx
movq %rbp, %rdi
callq 0xa558
leaq 0x7b8(%rsp), %rdi
callq 0xa558
leaq 0x4b8(%rsp), %rdi
callq 0xa558
leaq 0x4d8(%rsp), %rdi
callq 0xa558
leaq 0x110(%rsp), %rdi
callq 0xa558
leaq 0xa0(%rsp), %r13
movq %r13, %rdi
callq 0xa558
leaq 0xd0(%rsp), %rdi
callq 0xa558
leaq 0x1b8(%rsp), %r14
movq %r14, %rdi
callq 0xa558
leaq 0x4f8(%rsp), %rdi
callq 0xa558
leaq 0x518(%rsp), %rdi
callq 0xa558
leaq 0x130(%rsp), %rdi
callq 0xa558
movq 0x18(%rsp), %rbp
movq 0x38(%rsp), %rcx
incq %rcx
addq $0x20, %rbp
movq %rbp, 0x18(%rsp)
movq %rbx, %rbp
jmp 0x5197f
cmpq %rax, 0x180(%rsp)
jne 0x51f66
movq 0xc0(%rsp), %rax
cmpq $0x0, 0x8(%rax)
je 0x51f66
leaq 0x130(%rsp), %rdi
leaq 0x2ce5(%rip), %rsi      # 0x54a1f
movq %r15, %rdx
callq 0xa150
leaq 0x498(%rsp), %rdi
leaq 0x2d1b(%rip), %rsi      # 0x54a6c
leaq 0x17(%rsp), %rdx
callq 0xa150
leaq 0x478(%rsp), %rdi
leaq 0x2cb5(%rip), %rsi      # 0x54a1f
leaq 0x16(%rsp), %rdx
callq 0xa150
leaq 0x798(%rsp), %r14
movq %r14, %rdi
leaq 0x2c99(%rip), %rsi      # 0x54a1f
leaq 0x15(%rsp), %rdx
callq 0xa150
movq %r14, (%rsp)
leaq 0xd0(%rsp), %rbx
movq %rbx, %rdi
leaq 0x130(%rsp), %rsi
movl 0x17c(%rsp), %edx
pushq $0x1
popq %rcx
leaq 0x498(%rsp), %r8
leaq 0x478(%rsp), %r9
callq 0x41e9e
movq %r13, %rdi
movq %rbx, %rsi
movq 0xc0(%rsp), %rdx
callq 0x184b5
leaq 0x110(%rsp), %rdi
leaq 0x2c37(%rip), %rsi      # 0x54a1f
leaq 0x14(%rsp), %rdx
callq 0xa150
leaq 0x458(%rsp), %rdi
leaq 0x2c6b(%rip), %rsi      # 0x54a6c
leaq 0x13(%rsp), %rdx
callq 0xa150
leaq 0x438(%rsp), %rdi
leaq 0x2c05(%rip), %rsi      # 0x54a1f
leaq 0x12(%rsp), %rdx
callq 0xa150
leaq 0x778(%rsp), %r14
movq %r14, %rdi
leaq 0x2be9(%rip), %rsi      # 0x54a1f
leaq 0x11(%rsp), %rdx
callq 0xa150
movq %r14, (%rsp)
movq %rbp, %rdi
leaq 0x110(%rsp), %rsi
movl 0x178(%rsp), %edx
pushq $0x1
popq %rcx
leaq 0x458(%rsp), %r8
leaq 0x438(%rsp), %r9
callq 0x41e9e
movq %rbp, %rdx
movq %rbx, %r13
leaq 0x40(%rsp), %rbp
movq %rbp, %rdi
leaq 0xa0(%rsp), %rsi
movq %rdx, %rbx
callq 0x1205e
movq 0x20(%rsp), %rdx
movq 0x180(%rsp), %r14
addq %r14, %rdx
leaq 0x78(%rsp), %r15
movq %r15, %rdi
movq %rbp, %rsi
callq 0x184b5
movq 0x20(%rsp), %rdi
addq %r14, %rdi
movq %r15, %rsi
callq 0xa350
movq %r15, %rdi
callq 0xa558
movq %rbp, %rdi
callq 0xa558
movq %rbx, %rdi
callq 0xa558
leaq 0x778(%rsp), %rdi
callq 0xa558
leaq 0x438(%rsp), %rdi
callq 0xa558
leaq 0x458(%rsp), %rdi
callq 0xa558
leaq 0x110(%rsp), %rdi
callq 0xa558
leaq 0xa0(%rsp), %r14
movq %r14, %rdi
callq 0xa558
movq %r13, %rdi
callq 0xa558
leaq 0x798(%rsp), %rdi
callq 0xa558
leaq 0x478(%rsp), %rdi
callq 0xa558
leaq 0x498(%rsp), %rdi
callq 0xa558
leaq 0x130(%rsp), %rdi
callq 0xa558
movq %r14, %r13
movq 0x18(%rsp), %rbp
leaq 0x10(%rsp), %r15
jmp 0x51aae
leaq 0x130(%rsp), %rdi
leaq 0x2aaa(%rip), %rsi      # 0x54a1f
movq %r15, %rdx
callq 0xa150
leaq 0x418(%rsp), %rdi
leaq 0x2ae0(%rip), %rsi      # 0x54a6c
leaq 0x17(%rsp), %rdx
callq 0xa150
leaq 0x3f8(%rsp), %rdi
leaq 0x2a7a(%rip), %rsi      # 0x54a1f
leaq 0x16(%rsp), %rdx
callq 0xa150
leaq 0x758(%rsp), %r14
movq %r14, %rdi
leaq 0x2a5e(%rip), %rsi      # 0x54a1f
leaq 0x15(%rsp), %rdx
callq 0xa150
movq %r14, (%rsp)
leaq 0xd0(%rsp), %rbx
movq %rbx, %rdi
leaq 0x130(%rsp), %rsi
movq 0x60(%rsp), %rdx
pushq $0x1
popq %rcx
leaq 0x418(%rsp), %r8
leaq 0x3f8(%rsp), %r9
callq 0x41e9e
movq %r13, %rdi
movq %rbx, %rsi
leaq 0x3841(%rip), %rdx      # 0x5584d
callq 0xc882
leaq 0x110(%rsp), %rdi
leaq 0x29ff(%rip), %rsi      # 0x54a1f
leaq 0x14(%rsp), %rdx
callq 0xa150
leaq 0x3d8(%rsp), %rdi
leaq 0x2a33(%rip), %rsi      # 0x54a6c
leaq 0x13(%rsp), %rdx
callq 0xa150
leaq 0x3b8(%rsp), %rdi
leaq 0x29cd(%rip), %rsi      # 0x54a1f
leaq 0x12(%rsp), %rdx
callq 0xa150
leaq 0x738(%rsp), %r14
movq %r14, %rdi
leaq 0x29b1(%rip), %rsi      # 0x54a1f
leaq 0x11(%rsp), %rdx
callq 0xa150
movq %r14, (%rsp)
movq %rbp, %rdi
leaq 0x110(%rsp), %rsi
movl 0xcc(%rsp), %edx
pushq $0x1
popq %rcx
leaq 0x3d8(%rsp), %r8
leaq 0x3b8(%rsp), %r9
callq 0x41e9e
leaq 0x40(%rsp), %r12
movq %r12, %rdi
movq %r13, %rsi
movq %rbp, %rbx
movq %rbp, %rdx
callq 0x1205e
movq 0x20(%rsp), %rdx
movq 0x18(%rsp), %rbp
addq %rbp, %rdx
leaq 0x78(%rsp), %r14
movq %r14, %rdi
movq %r12, %rsi
callq 0x184b5
movq 0x20(%rsp), %rdi
addq %rbp, %rdi
movq %r14, %rsi
callq 0xa350
movq %r14, %rdi
callq 0xa558
movq %r12, %rdi
callq 0xa558
movq %rbx, %rdi
callq 0xa558
leaq 0x738(%rsp), %rdi
callq 0xa558
leaq 0x3b8(%rsp), %rdi
callq 0xa558
leaq 0x3d8(%rsp), %rdi
callq 0xa558
leaq 0x110(%rsp), %rdi
callq 0xa558
movq %r13, %rdi
callq 0xa558
leaq 0xd0(%rsp), %rdi
callq 0xa558
leaq 0x758(%rsp), %rdi
callq 0xa558
leaq 0x3f8(%rsp), %rdi
callq 0xa558
leaq 0x418(%rsp), %rdi
callq 0xa558
leaq 0x130(%rsp), %rdi
jmp 0x51aa9
movl 0x74(%rsp), %ebp
movq 0x1b0(%rsp), %rax
cmpq $0x0, 0x8(%rax)
je 0x5296f
movq 0x150(%rsp), %rbx
leaq 0x82fd(%rip), %rsi      # 0x5a4a1
leaq 0x398(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0xa150
leaq 0x398(%rsp), %rsi
movq %rbx, %rdi
callq 0x53c87
movl %eax, %r12d
leaq 0x398(%rsp), %rdi
callq 0xa558
movq 0x170(%rsp), %rdi
callq 0x4fb48
testl %r12d, %r12d
jle 0x5296f
movl %eax, %ebx
movq 0x20(%rsp), %r14
movq 0x28(%rsp), %rax
subq %r14, %rax
sarq $0x5, %rax
shrq %rax
movq %rax, %r13
movslq %eax, %r15
shlq $0x5, %r15
addq %r15, %r14
movq %r14, %rdi
callq 0x4fb48
decl %eax
leaq 0x40(%rsp), %rdi
movq %r14, %rsi
xorl %edx, %edx
movl %eax, %ecx
callq 0x531d9
leaq 0x8288(%rip), %rdx      # 0x5a4b9
leaq 0x78(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0xc882
addq 0x20(%rsp), %r15
leaq 0x78(%rsp), %r14
movq %r15, %rdi
movq %r14, %rsi
callq 0xa350
movq %r14, %rdi
callq 0xa558
leaq 0x40(%rsp), %rdi
callq 0xa558
pushq $0x2
popq %rcx
movl %ebp, 0x74(%rsp)
movl %ebp, %eax
cltd
cvtsi2sd %ebx, %xmm0
idivl %ecx
movl %eax, %ebx
mulsd 0x6f2f(%rip), %xmm0     # 0x591b0
callq 0xa4c0
cvttsd2si %xmm0, %eax
movl %r12d, %ecx
subl %eax, %ecx
cmpl %ecx, %ebx
cmovll %ebx, %ecx
movl %ecx, 0x108(%rsp)
subl %ecx, %r12d
movl %r12d, 0x60(%rsp)
cvtsi2sd %r12d, %xmm1
subsd %xmm0, %xmm1
cvttsd2si %xmm1, %eax
movl %eax, 0xc0(%rsp)
movslq %r13d, %rax
incl %r13d
movq %rax, 0x18(%rsp)
movl %eax, %eax
shlq $0x5, %r13
movq %r13, 0x98(%rsp)
shlq $0x5, %rax
movq %rax, 0x38(%rsp)
xorl %r14d, %r14d
leaq 0x273c(%rip), %rsi      # 0x54a1f
xorl %r15d, %r15d
movq 0x20(%rsp), %rbx
movq 0x28(%rsp), %rax
subq %rbx, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %r15
jge 0x527e6
cmpq 0x18(%rsp), %r15
jge 0x52426
leaq 0xa0(%rsp), %rdi
leaq 0xd0(%rsp), %rdx
callq 0xa150
leaq 0x150(%rsp), %rdi
callq 0x4f910
movl %eax, %ebp
leaq 0x378(%rsp), %rdi
leaq 0x272c(%rip), %rsi      # 0x54a6c
leaq 0x130(%rsp), %rdx
callq 0xa150
leaq 0x358(%rsp), %rdi
leaq 0x26c3(%rip), %r12      # 0x54a1f
movq %r12, %rsi
leaq 0x188(%rsp), %rdx
callq 0xa150
leaq 0x718(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
leaq 0x110(%rsp), %rdx
callq 0xa150
subl 0x108(%rsp), %ebp
movq %r13, (%rsp)
leaq 0x40(%rsp), %r12
movq %r12, %rdi
leaq 0xa0(%rsp), %rsi
movl %ebp, %edx
pushq $0x1
popq %rcx
leaq 0x378(%rsp), %r8
leaq 0x358(%rsp), %r9
callq 0x41e9e
addq %r14, %rbx
leaq 0x78(%rsp), %rbp
movq %rbp, %rdi
movq %rbx, %rsi
movq %r12, %rdx
callq 0x441c7
movq 0x20(%rsp), %rdi
addq %r14, %rdi
movq %rbp, %rsi
callq 0xa350
movq %rbp, %rdi
callq 0xa558
movq %r12, %rdi
callq 0xa558
leaq 0x718(%rsp), %rdi
callq 0xa558
leaq 0x358(%rsp), %rdi
callq 0xa558
leaq 0x378(%rsp), %rdi
callq 0xa558
leaq 0xa0(%rsp), %rdi
jmp 0x527ce
cmpq %r14, 0x38(%rsp)
jne 0x52551
leaq 0xd0(%rsp), %rdi
leaq 0x130(%rsp), %rdx
callq 0xa150
leaq 0x338(%rsp), %rdi
leaq 0x8042(%rip), %rsi      # 0x5a497
leaq 0x188(%rsp), %rdx
callq 0xa150
leaq 0x318(%rsp), %rdi
leaq 0x25ae(%rip), %r12      # 0x54a1f
movq %r12, %rsi
leaq 0x110(%rsp), %rdx
callq 0xa150
leaq 0x6f8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
leaq 0x10(%rsp), %rdx
callq 0xa150
movq %r13, (%rsp)
leaq 0xa0(%rsp), %r12
movq %r12, %rdi
leaq 0xd0(%rsp), %rsi
movl 0x60(%rsp), %edx
pushq $0x1
popq %rcx
leaq 0x338(%rsp), %r8
leaq 0x318(%rsp), %r9
callq 0x41e9e
addq 0x38(%rsp), %rbx
leaq 0x40(%rsp), %rbp
movq %rbp, %rdi
movq %rbx, %rsi
movq %r12, %rdx
callq 0x441c7
leaq 0x78(%rsp), %rbx
movq %rbx, %rdi
movq %rbp, %rsi
leaq 0x32ab(%rip), %rdx      # 0x557a1
callq 0xc882
movq 0x20(%rsp), %rdi
addq 0x38(%rsp), %rdi
movq %rbx, %rsi
callq 0xa350
movq %rbx, %rdi
callq 0xa558
movq %rbp, %rdi
callq 0xa558
leaq 0xa0(%rsp), %rdi
callq 0xa558
leaq 0x6f8(%rsp), %rdi
callq 0xa558
leaq 0x318(%rsp), %rdi
callq 0xa558
leaq 0x338(%rsp), %rdi
jmp 0x527c1
cmpq %r14, 0x98(%rsp)
jne 0x526a3
movq 0x170(%rsp), %rax
cmpq $0x0, 0x8(%rax)
je 0x526a3
leaq 0xd0(%rsp), %rdi
leaq 0x249e(%rip), %rsi      # 0x54a1f
leaq 0x130(%rsp), %rdx
callq 0xa150
leaq 0x2f8(%rsp), %rdi
leaq 0x24cf(%rip), %rsi      # 0x54a6c
leaq 0x188(%rsp), %rdx
callq 0xa150
leaq 0x2d8(%rsp), %rdi
leaq 0x2466(%rip), %r12      # 0x54a1f
movq %r12, %rsi
leaq 0x110(%rsp), %rdx
callq 0xa150
leaq 0x6d8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
leaq 0x10(%rsp), %rdx
callq 0xa150
movq %r13, (%rsp)
leaq 0xa0(%rsp), %r12
movq %r12, %rdi
leaq 0xd0(%rsp), %rsi
movl 0xc0(%rsp), %edx
pushq $0x1
popq %rcx
leaq 0x2f8(%rsp), %r8
leaq 0x2d8(%rsp), %r9
callq 0x535ca
addq 0x98(%rsp), %rbx
leaq 0x40(%rsp), %rbp
movq %rbp, %rdi
movq %rbx, %rsi
movq %r12, %rdx
callq 0x441c7
leaq 0x78(%rsp), %rbx
movq %rbx, %rdi
movq %rbp, %rsi
movq 0x170(%rsp), %rdx
callq 0x184b5
movq 0x20(%rsp), %rdi
addq 0x98(%rsp), %rdi
movq %rbx, %rsi
callq 0xa350
movq %rbx, %rdi
callq 0xa558
movq %rbp, %rdi
callq 0xa558
leaq 0xa0(%rsp), %rdi
callq 0xa558
leaq 0x6d8(%rsp), %rdi
callq 0xa558
leaq 0x2d8(%rsp), %rdi
callq 0xa558
leaq 0x2f8(%rsp), %rdi
jmp 0x527c1
leaq 0xd0(%rsp), %rdi
leaq 0x236d(%rip), %rsi      # 0x54a1f
leaq 0x130(%rsp), %rdx
callq 0xa150
leaq 0x2b8(%rsp), %rdi
leaq 0x239e(%rip), %rsi      # 0x54a6c
leaq 0x188(%rsp), %rdx
callq 0xa150
leaq 0x298(%rsp), %rdi
leaq 0x2335(%rip), %r12      # 0x54a1f
movq %r12, %rsi
leaq 0x110(%rsp), %rdx
callq 0xa150
leaq 0x6b8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
leaq 0x10(%rsp), %rdx
callq 0xa150
movq %r13, (%rsp)
leaq 0xa0(%rsp), %r12
movq %r12, %rdi
leaq 0xd0(%rsp), %rsi
movl 0x60(%rsp), %edx
pushq $0x1
popq %rcx
leaq 0x2b8(%rsp), %r8
leaq 0x298(%rsp), %r9
callq 0x41e9e
addq %r14, %rbx
leaq 0x40(%rsp), %rbp
movq %rbp, %rdi
movq %rbx, %rsi
movq %r12, %rdx
callq 0x441c7
leaq 0x78(%rsp), %rbx
movq %rbx, %rdi
movq %rbp, %rsi
leaq 0x30e0(%rip), %rdx      # 0x5584d
callq 0xc882
movq 0x20(%rsp), %rdi
addq %r14, %rdi
movq %rbx, %rsi
callq 0xa350
movq %rbx, %rdi
callq 0xa558
movq %rbp, %rdi
callq 0xa558
leaq 0xa0(%rsp), %rdi
callq 0xa558
leaq 0x6b8(%rsp), %rdi
callq 0xa558
leaq 0x298(%rsp), %rdi
callq 0xa558
leaq 0x2b8(%rsp), %rdi
callq 0xa558
leaq 0xd0(%rsp), %rdi
callq 0xa558
incq %r15
addq $0x20, %r14
leaq 0x223e(%rip), %rsi      # 0x54a1f
jmp 0x522e6
movl 0x68(%rsp), %eax
addl 0x74(%rsp), %eax
movl %eax, 0x68(%rsp)
movq $0x0, 0x18(%rsp)
leaq 0x221d(%rip), %rsi      # 0x54a1f
leaq 0xa0(%rsp), %r12
leaq 0x7f8(%rsp), %r13
xorl %ecx, %ecx
movq 0xf0(%rsp), %r14
movq 0xf8(%rsp), %rax
subq %r14, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %rcx
jge 0x5296f
movq %rcx, 0x38(%rsp)
movq %r12, %rbp
movq %r12, %rdi
leaq 0xd0(%rsp), %rdx
callq 0xa150
movq 0xf0(%rsp), %rdi
addq 0x18(%rsp), %rdi
callq 0x4fb48
movl %eax, %r15d
leaq 0x278(%rsp), %rdi
leaq 0x21fa(%rip), %rsi      # 0x54a6c
leaq 0x130(%rsp), %rdx
callq 0xa150
leaq 0x258(%rsp), %rdi
leaq 0x2191(%rip), %r12      # 0x54a1f
movq %r12, %rsi
leaq 0x188(%rsp), %rdx
callq 0xa150
movq %r13, %rdi
movq %r12, %rsi
leaq 0x110(%rsp), %rdx
callq 0xa150
addl 0x108(%rsp), %r15d
movl 0x68(%rsp), %edx
subl %r15d, %edx
movq %r13, (%rsp)
leaq 0x40(%rsp), %rbx
movq %rbx, %rdi
movq %rbp, %r12
movq %rbp, %rsi
pushq $0x1
popq %rcx
leaq 0x278(%rsp), %r8
leaq 0x258(%rsp), %r9
callq 0x535ca
movq 0x18(%rsp), %r15
addq %r15, %r14
leaq 0x78(%rsp), %rbp
movq %rbp, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x441c7
movq 0xf0(%rsp), %rdi
addq %r15, %rdi
movq %rbp, %rsi
callq 0xa350
movq %rbp, %rdi
callq 0xa558
movq %rbx, %rdi
callq 0xa558
movq %r13, %rdi
callq 0xa558
leaq 0x258(%rsp), %rdi
callq 0xa558
leaq 0x278(%rsp), %rdi
callq 0xa558
movq %r12, %rdi
callq 0xa558
movq 0x38(%rsp), %rcx
incq %rcx
addq $0x20, %r15
movq %r15, 0x18(%rsp)
leaq 0x20b5(%rip), %rsi      # 0x54a1f
jmp 0x52814
xorl %r15d, %r15d
leaq 0x78(%rsp), %rbx
leaq 0x20(%rsp), %r14
xorl %r12d, %r12d
movq 0xf0(%rsp), %rsi
movq 0xf8(%rsp), %rax
subq %rsi, %rax
shrq $0x5, %rax
cltq
cmpq %rax, %r12
jge 0x529cf
addq %r15, %rsi
movq 0x150(%rsp), %rdx
addq %r15, %rdx
movq %rbx, %rdi
callq 0x441eb
movq %r14, %rdi
movq %rbx, %rsi
callq 0x13632
movq %rbx, %rdi
callq 0xa558
incq %r12
addq $0x20, %r15
jmp 0x5297f
leaq 0x2096(%rip), %rsi      # 0x54a6c
leaq 0x238(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0xa150
leaq 0x2030(%rip), %rsi      # 0x54a1f
leaq 0x218(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0xa150
movq 0x1a8(%rsp), %rbx
leaq 0x200f(%rip), %rsi      # 0x54a1f
leaq 0x1f8(%rsp), %rdi
leaq 0xa0(%rsp), %rdx
callq 0xa150
leaq 0x20(%rsp), %rdi
pushq $-0x1
popq %rsi
pushq $0x1
popq %rdx
leaq 0x238(%rsp), %rcx
leaq 0x218(%rsp), %r8
leaq 0x1f8(%rsp), %r9
callq 0x4f95a
leaq 0x1f8(%rsp), %rdi
callq 0xa558
leaq 0x218(%rsp), %rdi
callq 0xa558
leaq 0x238(%rsp), %rdi
callq 0xa558
leaq 0x247d(%rip), %rsi      # 0x54ef8
leaq 0x1d8(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0xa150
leaq 0x20(%rsp), %rsi
leaq 0x1d8(%rsp), %rdx
pushq $0x1
popq %rcx
movq %rbx, %rdi
callq 0x4faac
leaq 0x1d8(%rsp), %rdi
callq 0xa558
leaq 0x20(%rsp), %rdi
callq 0x11670
leaq 0x150(%rsp), %rdi
callq 0x11670
leaq 0xf0(%rsp), %rdi
callq 0x11670
movq %rbx, %rax
addq $0x818, %rsp            # imm = 0x818
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x53122
jmp 0x5312c
jmp 0x52afc
jmp 0x5312c
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
jmp 0x5311b
jmp 0x5312c
jmp 0x5312c
movq %rax, %rbx
leaq 0x398(%rsp), %rdi
jmp 0x5311b
jmp 0x5312c
jmp 0x5312c
movq %rax, %rbx
leaq 0x578(%rsp), %rdi
jmp 0x5311b
jmp 0x5312c
jmp 0x5312c
movq %rax, %rbx
leaq 0x1d8(%rsp), %rdi
jmp 0x5311b
jmp 0x5312c
movq %rax, %rbx
leaq 0x1f8(%rsp), %rdi
callq 0xa558
jmp 0x52b71
movq %rax, %rbx
leaq 0x218(%rsp), %rdi
callq 0xa558
jmp 0x52b83
movq %rax, %rbx
leaq 0x238(%rsp), %rdi
jmp 0x5311b
jmp 0x5312c
movq %rax, %rbx
leaq 0x598(%rsp), %rdi
callq 0xa558
jmp 0x52baa
movq %rax, %rbx
leaq 0x5b8(%rsp), %rdi
callq 0xa558
jmp 0x52bbc
movq %rax, %rbx
leaq 0x5d8(%rsp), %rdi
jmp 0x5311b
jmp 0x5312c
movq %rax, %rbx
leaq 0x5f8(%rsp), %rdi
callq 0xa558
jmp 0x52be3
movq %rax, %rbx
leaq 0x618(%rsp), %rdi
callq 0xa558
jmp 0x52bf5
movq %rax, %rbx
leaq 0x638(%rsp), %rdi
jmp 0x5311b
jmp 0x5312c
jmp 0x5312c
movq %rax, %rbx
leaq 0x658(%rsp), %rdi
callq 0xa558
jmp 0x52c21
movq %rax, %rbx
leaq 0x678(%rsp), %rdi
callq 0xa558
jmp 0x52c33
movq %rax, %rbx
leaq 0x698(%rsp), %rdi
jmp 0x5311b
jmp 0x5312c
jmp 0x5312c
jmp 0x5316e
movq %rax, %rbx
jmp 0x53146
movq %rax, %rbx
jmp 0x52cf4
movq %rax, %rbx
jmp 0x52cd7
movq %rax, %rbx
jmp 0x52d01
jmp 0x5312c
jmp 0x52edb
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0xa558
jmp 0x52cb0
movq %rax, %rbx
jmp 0x52cca
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0xa558
jmp 0x52ce7
jmp 0x5312c
movq %rax, %rbx
jmp 0x52cbd
jmp 0x52edb
movq %rax, %rbx
jmp 0x52d0e
movq %rax, %rbx
leaq 0xa0(%rsp), %rdi
callq 0xa558
leaq 0x6b8(%rsp), %rdi
callq 0xa558
leaq 0x298(%rsp), %rdi
callq 0xa558
leaq 0x2b8(%rsp), %rdi
jmp 0x52f35
movq %rax, %rbx
leaq 0xa0(%rsp), %rdi
callq 0xa558
leaq 0x6d8(%rsp), %rdi
callq 0xa558
leaq 0x2d8(%rsp), %rdi
callq 0xa558
leaq 0x2f8(%rsp), %rdi
jmp 0x52f35
movq %rax, %rbx
jmp 0x52df1
movq %rax, %rbx
jmp 0x52e51
jmp 0x52f47
movq %rax, %rbx
jmp 0x52e5e
movq %rax, %rbx
jmp 0x52e32
movq %rax, %rbx
jmp 0x52e85
movq %rax, %rbx
jmp 0x52e25
movq %rax, %rbx
jmp 0x52e78
movq %rax, %rbx
jmp 0x52e9f
movq %rax, %rbx
jmp 0x52eb9
jmp 0x52f47
jmp 0x5312c
movq %rax, %rbx
jmp 0x52d9e
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0xa558
jmp 0x52d91
movq %rax, %rbx
jmp 0x52ec6
movq %rax, %rbx
leaq 0x188(%rsp), %rdi
callq 0xa558
leaq 0x778(%rsp), %rdi
callq 0xa558
jmp 0x52dd7
movq %rax, %rbx
jmp 0x52eac
movq %rax, %rbx
jmp 0x52de4
movq %rax, %rbx
jmp 0x52dfe
movq %rax, %rbx
jmp 0x52e6b
movq %rax, %rbx
jmp 0x52e92
jmp 0x5312c
movq %rax, %rbx
leaq 0x438(%rsp), %rdi
callq 0xa558
leaq 0x458(%rsp), %rdi
callq 0xa558
leaq 0x110(%rsp), %rdi
callq 0xa558
leaq 0xa0(%rsp), %rdi
callq 0xa558
leaq 0xd0(%rsp), %rdi
callq 0xa558
leaq 0x798(%rsp), %rdi
callq 0xa558
leaq 0x478(%rsp), %rdi
callq 0xa558
leaq 0x498(%rsp), %rdi
jmp 0x5301c
movq %rax, %rbx
jmp 0x52e18
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0xa558
leaq 0x188(%rsp), %rdi
callq 0xa558
leaq 0x738(%rsp), %rdi
callq 0xa558
leaq 0x3b8(%rsp), %rdi
callq 0xa558
leaq 0x3d8(%rsp), %rdi
callq 0xa558
leaq 0x110(%rsp), %rdi
callq 0xa558
leaq 0xa0(%rsp), %rdi
callq 0xa558
leaq 0xd0(%rsp), %rdi
callq 0xa558
leaq 0x758(%rsp), %rdi
callq 0xa558
leaq 0x3f8(%rsp), %rdi
callq 0xa558
leaq 0x418(%rsp), %rdi
jmp 0x5301c
movq %rax, %rbx
jmp 0x52e0b
movq %rax, %rbx
jmp 0x52f3a
movq %rax, %rbx
jmp 0x52f2d
movq %rax, %rbx
jmp 0x52f20
jmp 0x5312c
movq %rax, %rbx
jmp 0x52f01
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0xa558
leaq 0xa0(%rsp), %rdi
callq 0xa558
jmp 0x52f13
movq %rax, %rbx
leaq 0x6f8(%rsp), %rdi
callq 0xa558
leaq 0x318(%rsp), %rdi
callq 0xa558
leaq 0x338(%rsp), %rdi
callq 0xa558
leaq 0xd0(%rsp), %rdi
jmp 0x5311b
movq %rax, %rbx
jmp 0x53021
movq %rax, %rbx
jmp 0x52fed
movq %rax, %rbx
jmp 0x53014
movq %rax, %rbx
jmp 0x52f90
movq %rax, %rbx
jmp 0x52fe0
movq %rax, %rbx
jmp 0x52ffa
movq %rax, %rbx
jmp 0x53007
movq %rax, %rbx
jmp 0x52fd3
movq %rax, %rbx
jmp 0x52fb4
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0xa558
leaq 0x188(%rsp), %rdi
callq 0xa558
jmp 0x52fa7
jmp 0x5312c
movq %rax, %rbx
leaq 0x7b8(%rsp), %rdi
callq 0xa558
leaq 0x4b8(%rsp), %rdi
callq 0xa558
jmp 0x52fc6
movq %rax, %rbx
leaq 0x4d8(%rsp), %rdi
callq 0xa558
leaq 0x110(%rsp), %rdi
callq 0xa558
leaq 0xa0(%rsp), %rdi
callq 0xa558
leaq 0xd0(%rsp), %rdi
callq 0xa558
leaq 0x1b8(%rsp), %rdi
callq 0xa558
leaq 0x4f8(%rsp), %rdi
callq 0xa558
leaq 0x518(%rsp), %rdi
callq 0xa558
leaq 0x130(%rsp), %rdi
jmp 0x5311b
jmp 0x53110
jmp 0x5312c
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0xa558
jmp 0x5304a
movq %rax, %rbx
leaq 0x718(%rsp), %rdi
callq 0xa558
jmp 0x53061
movq %rax, %rbx
jmp 0x5306e
movq %rax, %rbx
leaq 0x358(%rsp), %rdi
callq 0xa558
leaq 0x378(%rsp), %rdi
jmp 0x53105
jmp 0x53110
jmp 0x5312c
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0xa558
jmp 0x53097
movq %rax, %rbx
leaq 0x7d8(%rsp), %rdi
callq 0xa558
jmp 0x530ae
movq %rax, %rbx
jmp 0x530bb
movq %rax, %rbx
leaq 0x538(%rsp), %rdi
callq 0xa558
leaq 0x558(%rsp), %rdi
jmp 0x53105
jmp 0x53110
movq %rax, %rbx
jmp 0x530fd
movq %rax, %rbx
jmp 0x530f0
movq %rax, %rbx
jmp 0x530e3
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0xa558
leaq 0x7f8(%rsp), %rdi
callq 0xa558
leaq 0x258(%rsp), %rdi
callq 0xa558
leaq 0x278(%rsp), %rdi
callq 0xa558
jmp 0x53113
jmp 0x5312c
jmp 0x53110
movq %rax, %rbx
leaq 0xa0(%rsp), %rdi
callq 0xa558
jmp 0x5312f
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
jmp 0x5311b
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x11670
leaq 0x150(%rsp), %rdi
callq 0x11670
leaq 0xf0(%rsp), %rdi
callq 0x11670
movq %rbx, %rdi
callq 0xa500
jmp 0x5315f
jmp 0x5316e
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
callq 0xa558
jmp 0x53139
movq %rax, %rbx
jmp 0x53139