// File: menhits[P]phplus/src/Parser.cpp
// Function: parseExpression(std::vector<std::shared_ptr<TokenData>, std::allocator<std::shared_ptr<TokenData>>> const&, int, int)
AstNode parseExpression(const vector<Token>& tokens, int left, int right)
{
	//error.log(FUNC+" called on '"+stringFromTokens(tokens, left, right)+"'", JSYK);
	
	if (left>right)
	{
		throw PhplusError(FUNC + " sent left higher then right", INTERNAL_ERROR, tokens[left]);
	}
	else if (left==right)
	{
		return AstToken::make(tokens[left]);
	}
	
	if (ops->isOpenBrac(tokens[left]->getOp()) && skipBrace(tokens, left)==right) // if the braces enclose this entire expression
	{
		if (tokens[left]->getOp()==ops->openPeren)
		{
			return astNodeFromTokens(tokens, left+1, right-1);
		}
		else if (tokens[left]->getOp()==ops->openCrBrac)
		{
			return parseType(tokens, left+1, right-1);
		}
		else
		{
			throw PhplusError("unhandled brace '"+tokens[left]->getOp()->getText()+"'", INTERNAL_ERROR, tokens[left]);
		}
	}
	
	int i=findExpressionSplit(tokens, left, right);
	
	Operator op=tokens[i]->getOp();
	
	if (op==ops->minus && i==left && i!=right)
	{
		//dont error
	}
	else if ((i==left)==op->takesLeftInput() || (i==right)==op->takesRightInput())
	{
		throw PhplusError("improper use of '"+op->getText()+"' operator", SOURCE_ERROR, tokens[i]);
	}
	
	if (op==ops->pipe)
	{
		throw PhplusError("invalid use of '"+op->getText()+"'", SOURCE_ERROR, tokens[i]);
	}
	else if (op==ops->ifOp || op==ops->loop || op==ops->rightArrow || op==ops->andOp || op==ops->orOp)
	{
		vector<AstNode> leftNodes;
		vector<AstNode> rightNodes;
		
		if (i>left)
			parseSequence(tokens, left, i-1, ops->pipe, leftNodes);
		
		if (i<right)
			parseSequence(tokens, i+1, right, ops->pipe, rightNodes);
		
		return AstOpWithInput::make(leftNodes, tokens[i], rightNodes);
	}
	else if (op==ops->comma)
	{
		vector<AstNode> nodes;
		
		parseSequence(tokens, left, right, ops->comma, nodes);
		
		return AstTuple::make(nodes);
	}
	else if (op==ops->doubleColon)
	{
		unique_ptr<AstToken> centerNode=nullptr;
		AstNode rightNode=nullptr;
		
		if (i==left+1 && tokens[i-1]->getType()==TokenData::IDENTIFIER)
		{
			centerNode=AstToken::make(tokens[i-1]);
		}
		else
		{
			throw PhplusError("you can only use constant assignment on a single identifier", SOURCE_ERROR, tokens[i]);
		}
		
		if (i<right)
		{
			rightNode=parseExpression(tokens, i+1, right);
		}
		else
		{
			rightNode=AstVoid::make();
		}
		
		return AstConstExpression::make(move(centerNode), move(rightNode));
	}
	else if (op==ops->notEqual)
	{
		AstNode rightNode=i<right?parseExpression(tokens, i+1, right):AstVoid::make();
		AstNode leftNode=i>left?parseExpression(tokens, left, i-1):AstVoid::make();
		AstNode centerNode=AstToken::make(
			makeToken(
				ops->equal->getText(),
				tokens[i]->getFile(),
				tokens[i]->getLine(),
				tokens[i]->getCharPos()+1,
				TokenData::OPERATOR,
				ops->equal
			)
		);
		
		AstNode notNode=AstToken::make(
			makeToken(
				ops->notOp->getText(),
				tokens[i]->getFile(),
				tokens[i]->getLine(),
				tokens[i]->getCharPos(),
				TokenData::OPERATOR,
				ops->notOp
			)
		);
		
		return AstExpression::make(
			AstVoid::make(),
			move(notNode),
			AstExpression::make(
				move(leftNode),
				move(centerNode),
				move(rightNode)
			)
		);
	}
	else if (op==ops->plusPlus || op==ops->minusMinus)
	{
		throw PhplusError("++ and -- are not yet implemented", SOURCE_ERROR, tokens[i]);
		
		//AstNode leftNode=parseExpression(tokens, left, i-1);
		
		//return AstExpression::make(AstVoid::make(), leftNode, AstExpression::make(leftNode, AstToken::make(Token)))
	}
	else if (op==ops->dot)
	{
		return AstExpression::make
		(
			i>left ? parseExpression(tokens, left, i-1) : AstVoid::make(),
			i<right ? parseExpression(tokens, i+1, right) : AstVoid::make(),
			AstVoid::make()
		);
	}
	else if (op==ops->colon)
	{
		AstNode leftNode=AstVoid::make();
		AstNode centerNode=parseExpression(tokens, left, i-1);;
		AstNode rightNode=i<right?parseExpression(tokens, i+1, right):AstVoid::make();
		
		// make sure if it is an abc.xyz: ijk structure, it gets parsed as such, rather then (abc.xyz): ijk
		// we do this by parsing it the latter way (already done) and then detecting if we need to change it
		if (typeid(*centerNode)==typeid(AstExpression))
		{
			AstExpression * exprNode=(AstExpression*)&*centerNode;
			
			if (!exprNode->leftIn->isVoid() && !exprNode->center->isVoid() && exprNode->rightIn->isVoid())
			{
				leftNode=move(exprNode->leftIn);
				centerNode=move(exprNode->center);
			}
		}
		
		// make a function body if needed, else make a normal expression
		
		if (
			(centerNode->isType() || centerNode->isFunctionWithOutput())
			&&
			(leftNode->isVoid() || leftNode->isType())
			&&
			!rightNode->isType()
		){
			if (leftNode->isVoid())
				leftNode=AstVoidType::make();
			
			AstNode funcRightIn;
			AstNode funcReturn;
			
			if (centerNode->isFunctionWithOutput())
			{
				funcRightIn=move(((AstOpWithInput*)&*(centerNode))->leftIn[0]);
				funcReturn=move(((AstOpWithInput*)&*(centerNode))->rightIn[0]);
			}
			else
			{
				funcRightIn=move(centerNode);
				funcReturn=AstVoidType::make();
			}
			
			return AstFuncBody::make(move(leftNode), move(funcRightIn), move(funcReturn), move(rightNode));
		}
		else
		{
			return AstExpression::make(move(leftNode), move(centerNode), move(rightNode));
		}
	}
	else
	{
		return AstExpression::make
		(
			i>left ? parseExpression(tokens, left, i-1) : AstVoid::make(),
			AstToken::make(tokens[i]),
			i<right ? parseExpression(tokens, i+1, right) : AstVoid::make()
		);
	}
}

// Assembly:
subq $0x868, %rsp            # imm = 0x868
movq %rdi, 0x218(%rsp)
movq %rdi, %rax
movq %rax, 0x220(%rsp)
movq %rdi, 0x860(%rsp)
movq %rsi, 0x858(%rsp)
movl %edx, 0x854(%rsp)
movl %ecx, 0x850(%rsp)
movl 0x854(%rsp), %eax
cmpl 0x850(%rsp), %eax
jle 0x44582
movb $0x1, 0x7e7(%rsp)
movl $0x38, %edi
callq 0xb1f0
movq %rax, 0x208(%rsp)
leaq 0x80f(%rsp), %rdi
movq %rdi, 0x210(%rsp)
callq 0xb690
movq 0x210(%rsp), %rdx
leaq 0x8e109(%rip), %rsi     # 0xd2553
leaq 0x810(%rsp), %rdi
callq 0xb4c0
jmp 0x44459
leaq 0x8e103(%rip), %rdx     # 0xd2563
leaq 0x830(%rsp), %rdi
leaq 0x810(%rsp), %rsi
callq 0xfa60
jmp 0x44477
movq 0x858(%rsp), %rdi
movslq 0x854(%rsp), %rsi
callq 0x48650
movq %rax, %rsi
leaq 0x7e8(%rsp), %rdi
movq %rdi, 0x200(%rsp)
callq 0x1bc90
movq 0x208(%rsp), %rdi
movq 0x200(%rsp), %rcx
leaq 0x830(%rsp), %rsi
movl $0x3, %edx
callq 0x35600
jmp 0x444c8
movq 0x208(%rsp), %rdi
movb $0x0, 0x7e7(%rsp)
leaq 0xd10e9(%rip), %rsi     # 0x1155c8
leaq -0x29e76(%rip), %rdx    # 0x1a670
callq 0xb640
jmp 0x46ecd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x44557
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x4454a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
leaq 0x7e8(%rsp), %rdi
callq 0xfc00
leaq 0x830(%rsp), %rdi
callq 0xb6e8
leaq 0x810(%rsp), %rdi
callq 0xb6e8
leaq 0x80f(%rsp), %rdi
callq 0xb3f0
testb $0x1, 0x7e7(%rsp)
jne 0x44570
jmp 0x4457d
movq 0x208(%rsp), %rdi
callq 0xb2d0
jmp 0x46ec0
movl 0x854(%rsp), %eax
cmpl 0x850(%rsp), %eax
jne 0x44634
movq 0x858(%rsp), %rdi
movslq 0x854(%rsp), %rsi
callq 0x48650
movq %rax, %rsi
leaq 0x7c8(%rsp), %rdi
movq %rdi, 0x1f8(%rsp)
callq 0x1bc90
movq 0x1f8(%rsp), %rsi
leaq 0x7d8(%rsp), %rdi
callq 0x48680
jmp 0x445da
movq 0x218(%rsp), %rdi
leaq 0x7d8(%rsp), %rsi
callq 0x48740
leaq 0x7d8(%rsp), %rdi
callq 0x1f620
leaq 0x7c8(%rsp), %rdi
callq 0xfc00
jmp 0x46eb0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
leaq 0x7c8(%rsp), %rdi
callq 0xfc00
jmp 0x46ec0
jmp 0x44636
leaq 0xd3d7b(%rip), %rax     # 0x1183b8
movq (%rax), %rax
movq %rax, 0x1e0(%rsp)
movq 0x858(%rsp), %rdi
movslq 0x854(%rsp), %rsi
callq 0x48650
movq %rax, %rdi
callq 0x1bb70
movq %rax, %rsi
leaq 0x7b8(%rsp), %rdi
movq %rdi, 0x1e8(%rsp)
callq 0x1bc10
movq 0x1e0(%rsp), %rdi
movq 0x1e8(%rsp), %rsi
callq 0xf780
movb %al, 0x1f7(%rsp)
jmp 0x4469b
movb 0x1f7(%rsp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0x1df(%rsp)
jne 0x446b2
jmp 0x446e7
movq 0x858(%rsp), %rdi
movl 0x854(%rsp), %esi
callq 0x43610
movl %eax, 0x1d8(%rsp)
jmp 0x446cf
movl 0x1d8(%rsp), %eax
cmpl 0x850(%rsp), %eax
sete %al
movb %al, 0x1df(%rsp)
movb 0x1df(%rsp), %al
movb %al, 0x1d7(%rsp)
leaq 0x7b8(%rsp), %rdi
callq 0xf9a0
movb 0x1d7(%rsp), %al
testb $0x1, %al
jne 0x44712
jmp 0x44a79
movq 0x858(%rsp), %rdi
movslq 0x854(%rsp), %rsi
callq 0x48650
movq %rax, %rdi
callq 0x1bb70
movq %rax, %rsi
leaq 0x7a8(%rsp), %rdi
callq 0x1bc10
leaq 0xd3c72(%rip), %rax     # 0x1183b8
movq (%rax), %rsi
addq $0x190, %rsi            # imm = 0x190
leaq 0x7a8(%rsp), %rdi
callq 0xfd20
movb %al, 0x1d6(%rsp)
leaq 0x7a8(%rsp), %rdi
callq 0xf9a0
movb 0x1d6(%rsp), %al
testb $0x1, %al
jne 0x4477e
jmp 0x447d2
movq 0x218(%rsp), %rdi
movq 0x858(%rsp), %rsi
movl 0x854(%rsp), %edx
addl $0x1, %edx
movl 0x850(%rsp), %ecx
subl $0x1, %ecx
callq 0x42900
jmp 0x46eb0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
leaq 0x7b8(%rsp), %rdi
callq 0xf9a0
jmp 0x46ec0
movq 0x858(%rsp), %rdi
movslq 0x854(%rsp), %rsi
callq 0x48650
movq %rax, %rdi
callq 0x1bb70
movq %rax, %rsi
leaq 0x798(%rsp), %rdi
callq 0x1bc10
leaq 0xd3bb2(%rip), %rax     # 0x1183b8
movq (%rax), %rsi
addq $0x1d0, %rsi            # imm = 0x1D0
leaq 0x798(%rsp), %rdi
callq 0xfd20
movb %al, 0x1d5(%rsp)
leaq 0x798(%rsp), %rdi
callq 0xf9a0
movb 0x1d5(%rsp), %al
testb $0x1, %al
jne 0x4483e
jmp 0x4488e
movq 0x858(%rsp), %rsi
movl 0x854(%rsp), %edx
addl $0x1, %edx
movl 0x850(%rsp), %ecx
subl $0x1, %ecx
leaq 0x790(%rsp), %rdi
callq 0x46ed0
movq 0x218(%rsp), %rdi
leaq 0x790(%rsp), %rsi
callq 0x487a0
leaq 0x790(%rsp), %rdi
callq 0x20890
jmp 0x46eb0
movb $0x1, 0x70f(%rsp)
movl $0x38, %edi
callq 0xb1f0
movq %rax, 0x1c8(%rsp)
movq 0x858(%rsp), %rdi
movslq 0x854(%rsp), %rsi
callq 0x48650
movq %rax, %rdi
callq 0x1bb70
movq %rax, %rsi
leaq 0x720(%rsp), %rdi
callq 0x1bc10
jmp 0x448d7
leaq 0x720(%rsp), %rdi
callq 0xf9f0
movq %rax, %rsi
leaq 0x730(%rsp), %rdi
callq 0xfa00
jmp 0x448f6
leaq 0x8dc83(%rip), %rsi     # 0xd2580
leaq 0x750(%rsp), %rdi
leaq 0x730(%rsp), %rdx
callq 0x1bcf0
jmp 0x44914
leaq 0x9217f(%rip), %rdx     # 0xd6a9a
leaq 0x770(%rsp), %rdi
leaq 0x750(%rsp), %rsi
callq 0xfa60
jmp 0x44932
movq 0x858(%rsp), %rdi
movslq 0x854(%rsp), %rsi
callq 0x48650
movq %rax, %rsi
leaq 0x710(%rsp), %rdi
movq %rdi, 0x1c0(%rsp)
callq 0x1bc90
movq 0x1c8(%rsp), %rdi
movq 0x1c0(%rsp), %rcx
leaq 0x770(%rsp), %rsi
movl $0x3, %edx
callq 0x35600
jmp 0x44983
movq 0x1c8(%rsp), %rdi
movb $0x0, 0x70f(%rsp)
leaq 0xd0c2e(%rip), %rsi     # 0x1155c8
leaq -0x2a331(%rip), %rdx    # 0x1a670
callq 0xb640
jmp 0x46ecd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x44a5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x44a4e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x44a41
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x44a34
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
leaq 0x710(%rsp), %rdi
callq 0xfc00
leaq 0x770(%rsp), %rdi
callq 0xb6e8
leaq 0x750(%rsp), %rdi
callq 0xb6e8
leaq 0x730(%rsp), %rdi
callq 0xb6e8
leaq 0x720(%rsp), %rdi
callq 0xf9a0
testb $0x1, 0x70f(%rsp)
jne 0x44a67
jmp 0x44a74
movq 0x1c8(%rsp), %rdi
callq 0xb2d0
jmp 0x46ec0
movq 0x858(%rsp), %rdi
movl 0x854(%rsp), %esi
movl 0x850(%rsp), %edx
callq 0x43f00
movl %eax, 0x708(%rsp)
movq 0x858(%rsp), %rdi
movslq 0x708(%rsp), %rsi
callq 0x48650
movq %rax, %rdi
callq 0x1bb70
movq %rax, %rsi
leaq 0x6f8(%rsp), %rdi
callq 0x1bc10
leaq 0xd38e9(%rip), %rax     # 0x1183b8
movq (%rax), %rsi
addq $0xf0, %rsi
leaq 0x6f8(%rsp), %rdi
callq 0xfd20
testb $0x1, %al
jne 0x44aec
jmp 0x44b11
movl 0x708(%rsp), %eax
cmpl 0x854(%rsp), %eax
jne 0x44b11
movl 0x708(%rsp), %eax
cmpl 0x850(%rsp), %eax
je 0x44b11
jmp 0x44d69
movl 0x708(%rsp), %eax
movl 0x854(%rsp), %ecx
subl %ecx, %eax
sete %al
movzbl %al, %eax
movl %eax, 0x1b8(%rsp)
leaq 0x6f8(%rsp), %rdi
callq 0xf9f0
movq %rax, %rdi
callq 0x48800
movb %al, 0x1bf(%rsp)
jmp 0x44b4c
movl 0x1b8(%rsp), %eax
movb 0x1bf(%rsp), %cl
andb $0x1, %cl
movzbl %cl, %ecx
cmpl %ecx, %eax
je 0x44bbb
movl 0x708(%rsp), %eax
movl 0x850(%rsp), %ecx
subl %ecx, %eax
sete %al
movzbl %al, %eax
movl %eax, 0x1b0(%rsp)
leaq 0x6f8(%rsp), %rdi
callq 0xf9f0
movq %rax, %rdi
callq 0x48840
movb %al, 0x1b7(%rsp)
jmp 0x44b9f
movl 0x1b0(%rsp), %eax
movb 0x1b7(%rsp), %cl
andb $0x1, %cl
movzbl %cl, %ecx
cmpl %ecx, %eax
jne 0x44d67
movb $0x1, 0x687(%rsp)
movl $0x38, %edi
callq 0xb1f0
movq %rax, 0x1a8(%rsp)
leaq 0x6f8(%rsp), %rdi
callq 0xf9f0
movq %rax, %rsi
leaq 0x698(%rsp), %rdi
callq 0xfa00
jmp 0x44bf4
leaq 0x8d997(%rip), %rsi     # 0xd2592
leaq 0x6b8(%rsp), %rdi
leaq 0x698(%rsp), %rdx
callq 0x1bcf0
jmp 0x44c12
leaq 0x8d98b(%rip), %rdx     # 0xd25a4
leaq 0x6d8(%rsp), %rdi
leaq 0x6b8(%rsp), %rsi
callq 0xfa60
jmp 0x44c30
movq 0x858(%rsp), %rdi
movslq 0x708(%rsp), %rsi
callq 0x48650
movq %rax, %rsi
leaq 0x688(%rsp), %rdi
movq %rdi, 0x1a0(%rsp)
callq 0x1bc90
movq 0x1a8(%rsp), %rdi
movq 0x1a0(%rsp), %rcx
leaq 0x6d8(%rsp), %rsi
xorl %edx, %edx
callq 0x35600
jmp 0x44c7e
movq 0x1a8(%rsp), %rdi
movb $0x0, 0x687(%rsp)
leaq 0xd0933(%rip), %rsi     # 0x1155c8
leaq -0x2a62c(%rip), %rdx    # 0x1a670
callq 0xb640
jmp 0x46ecd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x46ea1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x44d49
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x44d3c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x44d2f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
leaq 0x688(%rsp), %rdi
callq 0xfc00
leaq 0x6d8(%rsp), %rdi
callq 0xb6e8
leaq 0x6b8(%rsp), %rdi
callq 0xb6e8
leaq 0x698(%rsp), %rdi
callq 0xb6e8
testb $0x1, 0x687(%rsp)
jne 0x44d55
jmp 0x44d62
movq 0x1a8(%rsp), %rdi
callq 0xb2d0
jmp 0x46ea1
jmp 0x44d69
leaq 0xd3648(%rip), %rax     # 0x1183b8
movq (%rax), %rsi
addq $0x20, %rsi
leaq 0x6f8(%rsp), %rdi
callq 0xfd20
testb $0x1, %al
jne 0x44d8d
jmp 0x44f20
movb $0x1, 0x60f(%rsp)
movl $0x38, %edi
callq 0xb1f0
movq %rax, 0x198(%rsp)
leaq 0x6f8(%rsp), %rdi
callq 0xf9f0
movq %rax, %rsi
leaq 0x620(%rsp), %rdi
callq 0xfa00
jmp 0x44dc6
leaq 0x8d7e2(%rip), %rsi     # 0xd25af
leaq 0x640(%rsp), %rdi
leaq 0x620(%rsp), %rdx
callq 0x1bcf0
jmp 0x44de4
leaq 0x91caf(%rip), %rdx     # 0xd6a9a
leaq 0x660(%rsp), %rdi
leaq 0x640(%rsp), %rsi
callq 0xfa60
jmp 0x44e02
movq 0x858(%rsp), %rdi
movslq 0x708(%rsp), %rsi
callq 0x48650
movq %rax, %rsi
leaq 0x610(%rsp), %rdi
movq %rdi, 0x190(%rsp)
callq 0x1bc90
movq 0x198(%rsp), %rdi
movq 0x190(%rsp), %rcx
leaq 0x660(%rsp), %rsi
xorl %edx, %edx
callq 0x35600
jmp 0x44e50
movq 0x198(%rsp), %rdi
movb $0x0, 0x60f(%rsp)
leaq 0xd0761(%rip), %rsi     # 0x1155c8
leaq -0x2a7fe(%rip), %rdx    # 0x1a670
callq 0xb640
jmp 0x46ecd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x44f02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x44ef5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x44ee8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
leaq 0x610(%rsp), %rdi
callq 0xfc00
leaq 0x660(%rsp), %rdi
callq 0xb6e8
leaq 0x640(%rsp), %rdi
callq 0xb6e8
leaq 0x620(%rsp), %rdi
callq 0xb6e8
testb $0x1, 0x60f(%rsp)
jne 0x44f0e
jmp 0x44f1b
movq 0x198(%rsp), %rdi
callq 0xb2d0
jmp 0x46ea1
leaq 0xd3491(%rip), %rax     # 0x1183b8
movq (%rax), %rsi
addq $0x10, %rsi
leaq 0x6f8(%rsp), %rdi
callq 0xfd20
testb $0x1, %al
jne 0x44fc3
leaq 0xd346e(%rip), %rax     # 0x1183b8
movq (%rax), %rsi
leaq 0x6f8(%rsp), %rdi
callq 0xfd20
testb $0x1, %al
jne 0x44fc3
leaq 0xd3453(%rip), %rax     # 0x1183b8
movq (%rax), %rsi
addq $0x170, %rsi            # imm = 0x170
leaq 0x6f8(%rsp), %rdi
callq 0xfd20
testb $0x1, %al
jne 0x44fc3
leaq 0xd3431(%rip), %rax     # 0x1183b8
movq (%rax), %rsi
addq $0x70, %rsi
leaq 0x6f8(%rsp), %rdi
callq 0xfd20
testb $0x1, %al
jne 0x44fc3
leaq 0xd3412(%rip), %rax     # 0x1183b8
movq (%rax), %rsi
addq $0x60, %rsi
leaq 0x6f8(%rsp), %rdi
callq 0xfd20
testb $0x1, %al
jne 0x44fc3
jmp 0x45258
leaq 0x5f0(%rsp), %rdi
callq 0x1eaf0
leaq 0x5d8(%rsp), %rdi
callq 0x1eaf0
movl 0x708(%rsp), %eax
cmpl 0x854(%rsp), %eax
jle 0x450a4
movq 0x858(%rsp), %rax
movq %rax, 0x178(%rsp)
movl 0x854(%rsp), %eax
movl %eax, 0x180(%rsp)
movl 0x708(%rsp), %eax
decl %eax
movl %eax, 0x184(%rsp)
leaq 0xd3392(%rip), %rax     # 0x1183b8
movq (%rax), %rsi
addq $0x20, %rsi
leaq 0x5c8(%rsp), %rdi
movq %rdi, 0x188(%rsp)
callq 0xf970
movq 0x178(%rsp), %rdi
movl 0x180(%rsp), %esi
movl 0x184(%rsp), %edx
movq 0x188(%rsp), %rcx
leaq 0x5f0(%rsp), %r8
callq 0x47a60
jmp 0x4506f
leaq 0x5c8(%rsp), %rdi
callq 0xf9a0
jmp 0x450a4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
leaq 0x5c8(%rsp), %rdi
callq 0xf9a0
jmp 0x45239
movl 0x708(%rsp), %eax
cmpl 0x850(%rsp), %eax
jge 0x4516b
movq 0x858(%rsp), %rax
movq %rax, 0x160(%rsp)
movl 0x708(%rsp), %eax
incl %eax
movl %eax, 0x168(%rsp)
movl 0x850(%rsp), %eax
movl %eax, 0x16c(%rsp)
leaq 0xd32cb(%rip), %rax     # 0x1183b8
movq (%rax), %rsi
addq $0x20, %rsi
leaq 0x5b8(%rsp), %rdi
movq %rdi, 0x170(%rsp)
callq 0xf970
movq 0x160(%rsp), %rdi
movl 0x168(%rsp), %esi
movl 0x16c(%rsp), %edx
movq 0x170(%rsp), %rcx
leaq 0x5d8(%rsp), %r8
callq 0x47a60
jmp 0x45136
leaq 0x5b8(%rsp), %rdi
callq 0xf9a0
jmp 0x4516b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
leaq 0x5b8(%rsp), %rdi
callq 0xf9a0
jmp 0x45239
movq 0x858(%rsp), %rdi
movslq 0x708(%rsp), %rsi
callq 0x48650
movq %rax, %rsi
leaq 0x5a0(%rsp), %rdi
movq %rdi, 0x158(%rsp)
callq 0x1bc90
movq 0x158(%rsp), %rdx
leaq 0x5b0(%rsp), %rdi
leaq 0x5f0(%rsp), %rsi
leaq 0x5d8(%rsp), %rcx
callq 0x48880
jmp 0x451bf
movq 0x218(%rsp), %rdi
leaq 0x5b0(%rsp), %rsi
callq 0x48990
leaq 0x5b0(%rsp), %rdi
callq 0x489f0
leaq 0x5a0(%rsp), %rdi
callq 0xfc00
movl $0x1, 0x59c(%rsp)
leaq 0x5d8(%rsp), %rdi
callq 0x3e7f0
leaq 0x5f0(%rsp), %rdi
callq 0x3e7f0
jmp 0x46e92
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
leaq 0x5a0(%rsp), %rdi
callq 0xfc00
leaq 0x5d8(%rsp), %rdi
callq 0x3e7f0
leaq 0x5f0(%rsp), %rdi
callq 0x3e7f0
jmp 0x46ea1
leaq 0xd3159(%rip), %rax     # 0x1183b8
movq (%rax), %rsi
addq $0x50, %rsi
leaq 0x6f8(%rsp), %rdi
callq 0xfd20
testb $0x1, %al
jne 0x4527c
jmp 0x453b9
leaq 0x580(%rsp), %rdi
movq %rdi, 0x150(%rsp)
callq 0x1eaf0
movq 0x858(%rsp), %rax
movq %rax, 0x138(%rsp)
movl 0x854(%rsp), %eax
movl %eax, 0x140(%rsp)
movl 0x850(%rsp), %eax
movl %eax, 0x144(%rsp)
leaq 0xd30f4(%rip), %rax     # 0x1183b8
movq (%rax), %rsi
addq $0x50, %rsi
leaq 0x570(%rsp), %rdi
movq %rdi, 0x148(%rsp)
callq 0xf970
movq 0x138(%rsp), %rdi
movl 0x140(%rsp), %esi
movl 0x144(%rsp), %edx
movq 0x148(%rsp), %rcx
movq 0x150(%rsp), %r8
callq 0x47a60
jmp 0x4530d
leaq 0x570(%rsp), %rdi
callq 0xf9a0
leaq 0x568(%rsp), %rdi
leaq 0x580(%rsp), %rsi
callq 0x48a50
jmp 0x45331
movq 0x218(%rsp), %rdi
leaq 0x568(%rsp), %rsi
callq 0x48b10
leaq 0x568(%rsp), %rdi
callq 0x48b70
movl $0x1, 0x59c(%rsp)
leaq 0x580(%rsp), %rdi
callq 0x3e7f0
jmp 0x46e92
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
leaq 0x570(%rsp), %rdi
callq 0xf9a0
jmp 0x453a7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
leaq 0x580(%rsp), %rdi
callq 0x3e7f0
jmp 0x46ea1
leaq 0xd2ff8(%rip), %rax     # 0x1183b8
movq (%rax), %rsi
addq $0x40, %rsi
leaq 0x6f8(%rsp), %rdi
callq 0xfd20
testb $0x1, %al
jne 0x453dd
jmp 0x457df
leaq 0x560(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x1f680
leaq 0x558(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x1b1d0
movl 0x708(%rsp), %eax
movl 0x854(%rsp), %ecx
addl $0x1, %ecx
cmpl %ecx, %eax
jne 0x45515
movq 0x858(%rsp), %rdi
movl 0x708(%rsp), %eax
decl %eax
movslq %eax, %rsi
callq 0x48650
movq %rax, %rdi
callq 0x1bb70
movq %rax, %rdi
callq 0x1bee0
movl %eax, 0x134(%rsp)
jmp 0x4544a
movl 0x134(%rsp), %eax
cmpl $0x2, %eax
jne 0x45515
movq 0x858(%rsp), %rdi
movl 0x708(%rsp), %eax
decl %eax
movslq %eax, %rsi
callq 0x48650
movq %rax, %rsi
leaq 0x540(%rsp), %rdi
movq %rdi, 0x128(%rsp)
callq 0x1bc90
movq 0x128(%rsp), %rsi
leaq 0x550(%rsp), %rdi
callq 0x48680
jmp 0x454a2
leaq 0x560(%rsp), %rdi
leaq 0x550(%rsp), %rsi
callq 0x1f5f0
leaq 0x550(%rsp), %rdi
callq 0x1f620
leaq 0x540(%rsp), %rdi
callq 0xfc00
jmp 0x45647
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x457c0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
leaq 0x540(%rsp), %rdi
callq 0xfc00
jmp 0x457c0
movb $0x1, 0x507(%rsp)
movl $0x38, %edi
callq 0xb1f0
movq %rax, 0x118(%rsp)
leaq 0x51f(%rsp), %rdi
movq %rdi, 0x120(%rsp)
callq 0xb690
movq 0x120(%rsp), %rdx
leaq 0x8d06d(%rip), %rsi     # 0xd25c0
leaq 0x520(%rsp), %rdi
callq 0xb4c0
jmp 0x45562
movq 0x858(%rsp), %rdi
movslq 0x708(%rsp), %rsi
callq 0x48650
movq %rax, %rsi
leaq 0x508(%rsp), %rdi
movq %rdi, 0x110(%rsp)
callq 0x1bc90
movq 0x118(%rsp), %rdi
movq 0x110(%rsp), %rcx
leaq 0x520(%rsp), %rsi
xorl %edx, %edx
callq 0x35600
jmp 0x455b0
movq 0x118(%rsp), %rdi
movb $0x0, 0x507(%rsp)
leaq 0xd0001(%rip), %rsi     # 0x1155c8
leaq -0x2af5e(%rip), %rdx    # 0x1a670
callq 0xb640
jmp 0x46ecd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x4561c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
leaq 0x508(%rsp), %rdi
callq 0xfc00
leaq 0x520(%rsp), %rdi
callq 0xb6e8
leaq 0x51f(%rsp), %rdi
callq 0xb3f0
testb $0x1, 0x507(%rsp)
jne 0x45635
jmp 0x45642
movq 0x118(%rsp), %rdi
callq 0xb2d0
jmp 0x457c0
movl 0x708(%rsp), %eax
cmpl 0x850(%rsp), %eax
jge 0x456a2
movq 0x858(%rsp), %rsi
movl 0x708(%rsp), %edx
incl %edx
movl 0x850(%rsp), %ecx
leaq 0x4f8(%rsp), %rdi
callq 0x443c0
jmp 0x4567e
leaq 0x558(%rsp), %rdi
leaq 0x4f8(%rsp), %rsi
callq 0x1b3c0
leaq 0x4f8(%rsp), %rdi
callq 0x1b3f0
jmp 0x456d3
leaq 0x4f0(%rsp), %rdi
callq 0x483a0
jmp 0x456b1
leaq 0x558(%rsp), %rdi
leaq 0x4f0(%rsp), %rsi
callq 0x48bd0
leaq 0x4f0(%rsp), %rdi
callq 0x48470
leaq 0x4e0(%rsp), %rdi
movq %rdi, 0x100(%rsp)
leaq 0x560(%rsp), %rsi
callq 0x48d10
leaq 0x4d8(%rsp), %rdi
movq %rdi, 0x108(%rsp)
leaq 0x558(%rsp), %rsi
callq 0x1b710
movq 0x100(%rsp), %rsi
movq 0x108(%rsp), %rdx
leaq 0x4e8(%rsp), %rdi
callq 0x48c30
jmp 0x4572c
movq 0x218(%rsp), %rdi
leaq 0x4e8(%rsp), %rsi
callq 0x48d40
leaq 0x4e8(%rsp), %rdi
callq 0x48da0
leaq 0x4d8(%rsp), %rdi
callq 0x1b3f0
leaq 0x4e0(%rsp), %rdi
callq 0x1f620
movl $0x1, 0x59c(%rsp)
leaq 0x558(%rsp), %rdi
callq 0x1b3f0
leaq 0x560(%rsp), %rdi
callq 0x1f620
jmp 0x46e92
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
leaq 0x4d8(%rsp), %rdi
callq 0x1b3f0
leaq 0x4e0(%rsp), %rdi
callq 0x1f620
leaq 0x558(%rsp), %rdi
callq 0x1b3f0
leaq 0x560(%rsp), %rdi
callq 0x1f620
jmp 0x46ea1
leaq 0xd2bd2(%rip), %rax     # 0x1183b8
movq (%rax), %rsi
addq $0x90, %rsi
leaq 0x6f8(%rsp), %rdi
callq 0xfd20
testb $0x1, %al
jne 0x45806
jmp 0x46056
movl 0x708(%rsp), %eax
movl 0x850(%rsp), %ecx
movb $0x0, 0x4c7(%rsp)
cmpl %ecx, %eax
jge 0x45849
movq 0x858(%rsp), %rsi
movl 0x708(%rsp), %edx
incl %edx
movl 0x850(%rsp), %ecx
leaq 0x4d0(%rsp), %rdi
callq 0x443c0
jmp 0x45847
jmp 0x45875
leaq 0x4c8(%rsp), %rdi
callq 0x483a0
jmp 0x45858
movb $0x1, 0x4c7(%rsp)
leaq 0x4d0(%rsp), %rdi
leaq 0x4c8(%rsp), %rsi
callq 0x48410
testb $0x1, 0x4c7(%rsp)
jne 0x45881
jmp 0x4588e
leaq 0x4c8(%rsp), %rdi
callq 0x48470
movl 0x708(%rsp), %eax
movl 0x854(%rsp), %ecx
movb $0x0, 0x4af(%rsp)
cmpl %ecx, %eax
jle 0x458d1
movq 0x858(%rsp), %rsi
movl 0x854(%rsp), %edx
movl 0x708(%rsp), %ecx
decl %ecx
leaq 0x4b8(%rsp), %rdi
callq 0x443c0
jmp 0x458cf
jmp 0x458fd
leaq 0x4b0(%rsp), %rdi
callq 0x483a0
jmp 0x458e0
movb $0x1, 0x4af(%rsp)
leaq 0x4b8(%rsp), %rdi
leaq 0x4b0(%rsp), %rsi
callq 0x48410
testb $0x1, 0x4af(%rsp)
jne 0x45909
jmp 0x45916
leaq 0x4b0(%rsp), %rdi
callq 0x48470
leaq 0xd2a9b(%rip), %rax     # 0x1183b8
movq (%rax), %rdi
subq $-0x80, %rdi
callq 0xf9f0
movq %rax, %rsi
leaq 0x468(%rsp), %rdi
callq 0xfa00
jmp 0x4593b
movq 0x858(%rsp), %rdi
movslq 0x708(%rsp), %rsi
callq 0x48650
movq %rax, %rdi
callq 0x1bb70
movq %rax, %rsi
leaq 0x458(%rsp), %rdi
callq 0x35750
jmp 0x4596a
movq 0x858(%rsp), %rdi
movslq 0x708(%rsp), %rsi
callq 0x48650
movq %rax, %rdi
callq 0x1bb70
movq %rax, %rdi
callq 0x357c0
movl %eax, 0xfc(%rsp)
jmp 0x45998
movq 0x858(%rsp), %rdi
movslq 0x708(%rsp), %rsi
callq 0x48650
movq %rax, %rdi
callq 0x1bb70
movq %rax, %rdi
callq 0x357e0
movl %eax, 0xf8(%rsp)
jmp 0x459c6
movl 0xf8(%rsp), %eax
incl %eax
movl %eax, 0xf4(%rsp)
leaq 0xd29db(%rip), %rax     # 0x1183b8
movq (%rax), %rsi
subq $-0x80, %rsi
leaq 0x448(%rsp), %rdi
movq %rdi, 0xe8(%rsp)
callq 0xf970
movq 0xe8(%rsp), %rdx
movl 0xfc(%rsp), %ecx
movl 0xf4(%rsp), %r8d
movq %rsp, %rax
movq %rdx, (%rax)
leaq 0x488(%rsp), %rdi
leaq 0x468(%rsp), %rsi
leaq 0x458(%rsp), %rdx
movl $0x5, %r9d
callq 0x9cd30
jmp 0x45a3b
leaq 0x498(%rsp), %rdi
leaq 0x488(%rsp), %rsi
callq 0x48680
jmp 0x45a52
leaq 0x4a0(%rsp), %rdi
leaq 0x498(%rsp), %rsi
movq %rsi, 0xe0(%rsp)
callq 0x48740
movq 0xe0(%rsp), %rdi
callq 0x1f620
leaq 0x488(%rsp), %rdi
callq 0xfc00
leaq 0x448(%rsp), %rdi
callq 0xf9a0
leaq 0x458(%rsp), %rdi
callq 0x357d0
leaq 0x468(%rsp), %rdi
callq 0xb6e8
leaq 0xd2901(%rip), %rax     # 0x1183b8
movq (%rax), %rdi
addq $0x130, %rdi            # imm = 0x130
callq 0xf9f0
movq %rax, %rsi
leaq 0x408(%rsp), %rdi
callq 0xfa00
jmp 0x45ad8
movq 0x858(%rsp), %rdi
movslq 0x708(%rsp), %rsi
callq 0x48650
movq %rax, %rdi
callq 0x1bb70
movq %rax, %rsi
leaq 0x3f8(%rsp), %rdi
callq 0x35750
jmp 0x45b07
movq 0x858(%rsp), %rdi
movslq 0x708(%rsp), %rsi
callq 0x48650
movq %rax, %rdi
callq 0x1bb70
movq %rax, %rdi
callq 0x357c0
movl %eax, 0xdc(%rsp)
jmp 0x45b35
movq 0x858(%rsp), %rdi
movslq 0x708(%rsp), %rsi
callq 0x48650
movq %rax, %rdi
callq 0x1bb70
movq %rax, %rdi
callq 0x357e0
movl %eax, 0xd8(%rsp)
jmp 0x45b63
leaq 0xd284e(%rip), %rax     # 0x1183b8
movq (%rax), %rsi
addq $0x130, %rsi            # imm = 0x130
leaq 0x3e8(%rsp), %rdi
movq %rdi, 0xd0(%rsp)
callq 0xf970
movq 0xd0(%rsp), %rdx
movl 0xdc(%rsp), %ecx
movl 0xd8(%rsp), %r8d
movq %rsp, %rax
movq %rdx, (%rax)
leaq 0x428(%rsp), %rdi
leaq 0x408(%rsp), %rsi
leaq 0x3f8(%rsp), %rdx
movl $0x5, %r9d
callq 0x9cd30
jmp 0x45bcb
leaq 0x438(%rsp), %rdi
leaq 0x428(%rsp), %rsi
callq 0x48680
jmp 0x45be2
leaq 0x440(%rsp), %rdi
leaq 0x438(%rsp), %rsi
movq %rsi, 0xc8(%rsp)
callq 0x48740
movq 0xc8(%rsp), %rdi
callq 0x1f620
leaq 0x428(%rsp), %rdi
callq 0xfc00
leaq 0x3e8(%rsp), %rdi
callq 0xf9a0
leaq 0x3f8(%rsp), %rdi
callq 0x357d0
leaq 0x408(%rsp), %rdi
callq 0xb6e8
leaq 0x3d0(%rsp), %rdi
callq 0x483a0
jmp 0x45c4f
leaq 0x3d8(%rsp), %rdi
leaq 0x3d0(%rsp), %rsi
callq 0x48410
leaq 0x3c8(%rsp), %rdi
leaq 0x440(%rsp), %rsi
callq 0x1b710
leaq 0x3b0(%rsp), %rdi
movq %rdi, 0xb0(%rsp)
leaq 0x4b8(%rsp), %rsi
callq 0x1b710
leaq 0x3a8(%rsp), %rdi
movq %rdi, 0xb8(%rsp)
leaq 0x4a0(%rsp), %rsi
callq 0x1b710
leaq 0x3a0(%rsp), %rdi
movq %rdi, 0xc0(%rsp)
leaq 0x4d0(%rsp), %rsi
callq 0x1b710
movq 0xb0(%rsp), %rsi
movq 0xb8(%rsp), %rdx
movq 0xc0(%rsp), %rcx
leaq 0x3b8(%rsp), %rdi
callq 0x48e00
jmp 0x45cf7
leaq 0x3c0(%rsp), %rdi
movq %rdi, 0xa8(%rsp)
leaq 0x3b8(%rsp), %rsi
callq 0x48f10
movq 0xa8(%rsp), %rcx
leaq 0x3e0(%rsp), %rdi
leaq 0x3d8(%rsp), %rsi
leaq 0x3c8(%rsp), %rdx
callq 0x48e00
jmp 0x45d3b
movq 0x218(%rsp), %rdi
leaq 0x3e0(%rsp), %rsi
callq 0x48f10
leaq 0x3e0(%rsp), %rdi
callq 0x48f70
leaq 0x3c0(%rsp), %rdi
callq 0x1b3f0
leaq 0x3b8(%rsp), %rdi
callq 0x48f70
leaq 0x3a0(%rsp), %rdi
callq 0x1b3f0
leaq 0x3a8(%rsp), %rdi
callq 0x1b3f0
leaq 0x3b0(%rsp), %rdi
callq 0x1b3f0
leaq 0x3c8(%rsp), %rdi
callq 0x1b3f0
leaq 0x3d8(%rsp), %rdi
callq 0x1b3f0
leaq 0x3d0(%rsp), %rdi
callq 0x48470
movl $0x1, 0x59c(%rsp)
leaq 0x440(%rsp), %rdi
callq 0x1b3f0
leaq 0x4a0(%rsp), %rdi
callq 0x1b3f0
leaq 0x4b8(%rsp), %rdi
callq 0x1b3f0
leaq 0x4d0(%rsp), %rdi
callq 0x1b3f0
jmp 0x46e92
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x46044
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x46037
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x45eb8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x45eab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x45e9e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
leaq 0x488(%rsp), %rdi
callq 0xfc00
leaq 0x448(%rsp), %rdi
callq 0xf9a0
leaq 0x458(%rsp), %rdi
callq 0x357d0
leaq 0x468(%rsp), %rdi
callq 0xb6e8
jmp 0x46037
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x4602a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x45f60
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x45f53
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x45f46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
leaq 0x428(%rsp), %rdi
callq 0xfc00
leaq 0x3e8(%rsp), %rdi
callq 0xf9a0
leaq 0x3f8(%rsp), %rdi
callq 0x357d0
leaq 0x408(%rsp), %rdi
callq 0xb6e8
jmp 0x4602a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x4601d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x45fcf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
leaq 0x3c0(%rsp), %rdi
callq 0x1b3f0
leaq 0x3b8(%rsp), %rdi
callq 0x48f70
leaq 0x3a0(%rsp), %rdi
callq 0x1b3f0
leaq 0x3a8(%rsp), %rdi
callq 0x1b3f0
leaq 0x3b0(%rsp), %rdi
callq 0x1b3f0
leaq 0x3c8(%rsp), %rdi
callq 0x1b3f0
leaq 0x3d8(%rsp), %rdi
callq 0x1b3f0
leaq 0x3d0(%rsp), %rdi
callq 0x48470
leaq 0x440(%rsp), %rdi
callq 0x1b3f0
leaq 0x4a0(%rsp), %rdi
callq 0x1b3f0
leaq 0x4b8(%rsp), %rdi
callq 0x1b3f0
leaq 0x4d0(%rsp), %rdi
callq 0x1b3f0
jmp 0x46ea1
leaq 0xd235b(%rip), %rax     # 0x1183b8
movq (%rax), %rsi
addq $0x140, %rsi            # imm = 0x140
leaq 0x6f8(%rsp), %rdi
callq 0xfd20
testb $0x1, %al
jne 0x4609f
leaq 0xd2339(%rip), %rax     # 0x1183b8
movq (%rax), %rsi
addq $0x150, %rsi            # imm = 0x150
leaq 0x6f8(%rsp), %rdi
callq 0xfd20
testb $0x1, %al
jne 0x4609f
jmp 0x461d1
movb $0x1, 0x367(%rsp)
movl $0x38, %edi
callq 0xb1f0
movq %rax, 0x98(%rsp)
leaq 0x37f(%rsp), %rdi
movq %rdi, 0xa0(%rsp)
callq 0xb690
movq 0xa0(%rsp), %rdx
leaq 0x8c51f(%rip), %rsi     # 0xd25fc
leaq 0x380(%rsp), %rdi
callq 0xb4c0
jmp 0x460ec
movq 0x858(%rsp), %rdi
movslq 0x708(%rsp), %rsi
callq 0x48650
movq %rax, %rsi
leaq 0x368(%rsp), %rdi
movq %rdi, 0x90(%rsp)
callq 0x1bc90
movq 0x98(%rsp), %rdi
movq 0x90(%rsp), %rcx
leaq 0x380(%rsp), %rsi
xorl %edx, %edx
callq 0x35600
jmp 0x4613a
movq 0x98(%rsp), %rdi
movb $0x0, 0x367(%rsp)
leaq 0xcf477(%rip), %rsi     # 0x1155c8
leaq -0x2bae8(%rip), %rdx    # 0x1a670
callq 0xb640
jmp 0x46ecd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x461a6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
leaq 0x368(%rsp), %rdi
callq 0xfc00
leaq 0x380(%rsp), %rdi
callq 0xb6e8
leaq 0x37f(%rsp), %rdi
callq 0xb3f0
testb $0x1, 0x367(%rsp)
jne 0x461bf
jmp 0x461cc
movq 0x98(%rsp), %rdi
callq 0xb2d0
jmp 0x46ea1
leaq 0xd21e0(%rip), %rax     # 0x1183b8
movq (%rax), %rsi
addq $0x160, %rsi            # imm = 0x160
leaq 0x6f8(%rsp), %rdi
callq 0xfd20
testb $0x1, %al
jne 0x461f8
jmp 0x4646e
movl 0x708(%rsp), %eax
movl 0x854(%rsp), %ecx
movb $0x0, 0x347(%rsp)
cmpl %ecx, %eax
jle 0x4623b
movq 0x858(%rsp), %rsi
movl 0x854(%rsp), %edx
movl 0x708(%rsp), %ecx
decl %ecx
leaq 0x350(%rsp), %rdi
callq 0x443c0
jmp 0x46239
jmp 0x46267
leaq 0x348(%rsp), %rdi
callq 0x483a0
jmp 0x4624a
movb $0x1, 0x347(%rsp)
leaq 0x350(%rsp), %rdi
leaq 0x348(%rsp), %rsi
callq 0x48410
movl 0x708(%rsp), %eax
movl 0x850(%rsp), %ecx
movb $0x0, 0x32f(%rsp)
cmpl %ecx, %eax
jge 0x462aa
movq 0x858(%rsp), %rsi
movl 0x708(%rsp), %edx
incl %edx
movl 0x850(%rsp), %ecx
leaq 0x338(%rsp), %rdi
callq 0x443c0
jmp 0x462a8
jmp 0x462d6
leaq 0x330(%rsp), %rdi
callq 0x483a0
jmp 0x462b9
movb $0x1, 0x32f(%rsp)
leaq 0x338(%rsp), %rdi
leaq 0x330(%rsp), %rsi
callq 0x48410
leaq 0x318(%rsp), %rdi
callq 0x483a0
jmp 0x462e5
leaq 0x320(%rsp), %rdi
movq %rdi, 0x88(%rsp)
leaq 0x318(%rsp), %rsi
callq 0x48410
movq 0x88(%rsp), %rcx
leaq 0x358(%rsp), %rdi
leaq 0x350(%rsp), %rsi
leaq 0x338(%rsp), %rdx
callq 0x48e00
jmp 0x46329
movq 0x218(%rsp), %rdi
leaq 0x358(%rsp), %rsi
callq 0x48f10
leaq 0x358(%rsp), %rdi
callq 0x48f70
leaq 0x320(%rsp), %rdi
callq 0x1b3f0
leaq 0x318(%rsp), %rdi
callq 0x48470
leaq 0x338(%rsp), %rdi
callq 0x1b3f0
testb $0x1, 0x32f(%rsp)
jne 0x4637e
jmp 0x4638b
leaq 0x330(%rsp), %rdi
callq 0x48470
leaq 0x350(%rsp), %rdi
callq 0x1b3f0
testb $0x1, 0x347(%rsp)
jne 0x463a4
jmp 0x463b1
leaq 0x348(%rsp), %rdi
callq 0x48470
movl $0x1, 0x59c(%rsp)
jmp 0x46e92
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x46443
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x4641b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
leaq 0x320(%rsp), %rdi
callq 0x1b3f0
leaq 0x318(%rsp), %rdi
callq 0x48470
leaq 0x338(%rsp), %rdi
callq 0x1b3f0
testb $0x1, 0x32f(%rsp)
jne 0x46434
jmp 0x46441
leaq 0x330(%rsp), %rdi
callq 0x48470
jmp 0x46443
leaq 0x350(%rsp), %rdi
callq 0x1b3f0
testb $0x1, 0x347(%rsp)
jne 0x4645c
jmp 0x46469
leaq 0x348(%rsp), %rdi
callq 0x48470
jmp 0x46ea1
leaq 0xd1f43(%rip), %rax     # 0x1183b8
movq (%rax), %rsi
addq $0x30, %rsi
leaq 0x6f8(%rsp), %rdi
callq 0xfd20
testb $0x1, %al
jne 0x46492
jmp 0x46bde
leaq 0x308(%rsp), %rdi
callq 0x483a0
jmp 0x464a1
leaq 0x310(%rsp), %rdi
leaq 0x308(%rsp), %rsi
movq %rsi, 0x80(%rsp)
callq 0x48410
movq 0x80(%rsp), %rdi
callq 0x48470
movq 0x858(%rsp), %rsi
movl 0x854(%rsp), %edx
movl 0x708(%rsp), %ecx
decl %ecx
leaq 0x300(%rsp), %rdi
callq 0x443c0
jmp 0x464f2
movl 0x708(%rsp), %eax
movl 0x850(%rsp), %ecx
movb $0x0, 0x2ef(%rsp)
cmpl %ecx, %eax
jge 0x46535
movq 0x858(%rsp), %rsi
movl 0x708(%rsp), %edx
incl %edx
movl 0x850(%rsp), %ecx
leaq 0x2f8(%rsp), %rdi
callq 0x443c0
jmp 0x46533
jmp 0x46561
leaq 0x2f0(%rsp), %rdi
callq 0x483a0
jmp 0x46544
movb $0x1, 0x2ef(%rsp)
leaq 0x2f8(%rsp), %rdi
leaq 0x2f0(%rsp), %rsi
callq 0x48410
testb $0x1, 0x2ef(%rsp)
jne 0x4656d
jmp 0x4657a
leaq 0x2f0(%rsp), %rdi
callq 0x48470
leaq 0x300(%rsp), %rdi
callq 0x3e8c0
movq %rax, 0x78(%rsp)
jmp 0x4658e
movq 0x78(%rsp), %rax
movq (%rax), %rax
movq -0x8(%rax), %rdi
leaq 0xcf23f(%rip), %rsi     # 0x1157e0
callq 0x48fd0
testb $0x1, %al
jne 0x465af
jmp 0x466ef
leaq 0x300(%rsp), %rdi
callq 0x3e8c0
movq %rax, 0x70(%rsp)
jmp 0x465c3
movq 0x70(%rsp), %rax
movq %rax, 0x2e0(%rsp)
movq 0x2e0(%rsp), %rdi
addq $0x88, %rdi
callq 0x1a5f0
movq %rax, %rdi
movq (%rdi), %rax
movq (%rax), %rax
callq *%rax
movb %al, 0x6f(%rsp)
jmp 0x465f5
movb 0x6f(%rsp), %al
testb $0x1, %al
jne 0x466ed
jmp 0x46603
movq 0x2e0(%rsp), %rdi
addq $0x90, %rdi
callq 0x1a5f0
movq %rax, %rdi
movq (%rdi), %rax
movq (%rax), %rax
callq *%rax
movb %al, 0x6e(%rsp)
jmp 0x46628
movb 0x6e(%rsp), %al
testb $0x1, %al
jne 0x466ed
jmp 0x46636
movq 0x2e0(%rsp), %rdi
addq $0x98, %rdi
callq 0x1a5f0
movq %rax, %rdi
movq (%rdi), %rax
movq (%rax), %rax
callq *%rax
movb %al, 0x6d(%rsp)
jmp 0x4665b
movb 0x6d(%rsp), %al
testb $0x1, %al
jne 0x46668
jmp 0x466ed
movq 0x2e0(%rsp), %rsi
addq $0x88, %rsi
leaq 0x310(%rsp), %rdi
callq 0x1b3c0
movq 0x2e0(%rsp), %rsi
addq $0x90, %rsi
leaq 0x300(%rsp), %rdi
callq 0x1b3c0
jmp 0x466ed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x46bcc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x46bbf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x46bb2
jmp 0x466ef
leaq 0x300(%rsp), %rdi
callq 0x1a5f0
movq %rax, %rdi
movq (%rdi), %rax
movq 0x8(%rax), %rax
callq *%rax
movb %al, 0x6c(%rsp)
jmp 0x4670e
movb 0x6c(%rsp), %al
testb $0x1, %al
jne 0x46744
jmp 0x46718
leaq 0x300(%rsp), %rdi
callq 0x1a5f0
movq %rax, %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movb %al, 0x6b(%rsp)
jmp 0x46737
movb 0x6b(%rsp), %al
testb $0x1, %al
jne 0x46744
jmp 0x46a87
leaq 0x310(%rsp), %rdi
callq 0x1a5f0
movq %rax, %rdi
movq (%rdi), %rax
movq (%rax), %rax
callq *%rax
movb %al, 0x6a(%rsp)
jmp 0x46762
movb 0x6a(%rsp), %al
testb $0x1, %al
jne 0x46798
jmp 0x4676c
leaq 0x310(%rsp), %rdi
callq 0x1a5f0
movq %rax, %rdi
movq (%rdi), %rax
movq 0x8(%rax), %rax
callq *%rax
movb %al, 0x69(%rsp)
jmp 0x4678b
movb 0x69(%rsp), %al
testb $0x1, %al
jne 0x46798
jmp 0x46a87
leaq 0x2f8(%rsp), %rdi
callq 0x1a5f0
movq %rax, %rdi
movq (%rdi), %rax
movq 0x8(%rax), %rax
callq *%rax
movb %al, 0x68(%rsp)
jmp 0x467b7
movb 0x68(%rsp), %al
testb $0x1, %al
jne 0x46a87
jmp 0x467c5
leaq 0x310(%rsp), %rdi
callq 0x1a5f0
movq %rax, %rdi
movq (%rdi), %rax
movq (%rax), %rax
callq *%rax
movb %al, 0x67(%rsp)
jmp 0x467e3
movb 0x67(%rsp), %al
testb $0x1, %al
jne 0x467ed
jmp 0x4681e
leaq 0x2d8(%rsp), %rdi
callq 0x49050
jmp 0x467fc
leaq 0x310(%rsp), %rdi
leaq 0x2d8(%rsp), %rsi
callq 0x490e0
leaq 0x2d8(%rsp), %rdi
callq 0x49140
leaq 0x2d0(%rsp), %rdi
callq 0x1b210
leaq 0x2c8(%rsp), %rdi
callq 0x1b210
leaq 0x300(%rsp), %rdi
callq 0x1a5f0
movq %rax, %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movb %al, 0x66(%rsp)
jmp 0x46857
movb 0x66(%rsp), %al
testb $0x1, %al
jne 0x46864
jmp 0x468f1
leaq 0x300(%rsp), %rdi
callq 0x3e8c0
movq %rax, 0x58(%rsp)
jmp 0x46878
movq 0x58(%rsp), %rdi
addq $0x98, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x1a5d0
movq %rax, %rsi
leaq 0x2d0(%rsp), %rdi
callq 0x1b3c0
leaq 0x300(%rsp), %rdi
callq 0x3e8c0
movq %rax, 0x50(%rsp)
jmp 0x468b1
movq 0x50(%rsp), %rdi
addq $0xb0, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x1a5d0
movq %rax, %rsi
leaq 0x2c8(%rsp), %rdi
callq 0x1b3c0
jmp 0x46937
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x46a68
leaq 0x2d0(%rsp), %rdi
leaq 0x300(%rsp), %rsi
callq 0x1b3c0
leaq 0x2c0(%rsp), %rdi
callq 0x49050
jmp 0x46915
leaq 0x2c8(%rsp), %rdi
leaq 0x2c0(%rsp), %rsi
callq 0x490e0
leaq 0x2c0(%rsp), %rdi
callq 0x49140
leaq 0x2b8(%rsp), %rdi
movq %rdi, 0x30(%rsp)
leaq 0x310(%rsp), %rsi
callq 0x1b710
leaq 0x2b0(%rsp), %rdi
movq %rdi, 0x38(%rsp)
leaq 0x2d0(%rsp), %rsi
callq 0x1b710
leaq 0x2a8(%rsp), %rdi
movq %rdi, 0x40(%rsp)
leaq 0x2c8(%rsp), %rsi
callq 0x1b710
leaq 0x2a0(%rsp), %rdi
movq %rdi, 0x48(%rsp)
leaq 0x2f8(%rsp), %rsi
callq 0x1b710
movq 0x218(%rsp), %rdi
movq 0x30(%rsp), %rsi
movq 0x38(%rsp), %rdx
movq 0x40(%rsp), %rcx
movq 0x48(%rsp), %r8
callq 0x1b450
jmp 0x469c2
leaq 0x2a0(%rsp), %rdi
callq 0x1b3f0
leaq 0x2a8(%rsp), %rdi
callq 0x1b3f0
leaq 0x2b0(%rsp), %rdi
callq 0x1b3f0
leaq 0x2b8(%rsp), %rdi
callq 0x1b3f0
movl $0x1, 0x59c(%rsp)
leaq 0x2c8(%rsp), %rdi
callq 0x1b3f0
leaq 0x2d0(%rsp), %rdi
callq 0x1b3f0
jmp 0x46b86
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
leaq 0x2a0(%rsp), %rdi
callq 0x1b3f0
leaq 0x2a8(%rsp), %rdi
callq 0x1b3f0
leaq 0x2b0(%rsp), %rdi
callq 0x1b3f0
leaq 0x2b8(%rsp), %rdi
callq 0x1b3f0
leaq 0x2c8(%rsp), %rdi
callq 0x1b3f0
leaq 0x2d0(%rsp), %rdi
callq 0x1b3f0
jmp 0x46bb2
leaq 0x290(%rsp), %rdi
movq %rdi, 0x18(%rsp)
leaq 0x310(%rsp), %rsi
callq 0x1b710
leaq 0x288(%rsp), %rdi
movq %rdi, 0x20(%rsp)
leaq 0x300(%rsp), %rsi
callq 0x1b710
leaq 0x280(%rsp), %rdi
movq %rdi, 0x28(%rsp)
leaq 0x2f8(%rsp), %rsi
callq 0x1b710
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rdx
movq 0x28(%rsp), %rcx
leaq 0x298(%rsp), %rdi
callq 0x48e00
jmp 0x46af3
movq 0x218(%rsp), %rdi
leaq 0x298(%rsp), %rsi
callq 0x48f10
leaq 0x298(%rsp), %rdi
callq 0x48f70
leaq 0x280(%rsp), %rdi
callq 0x1b3f0
leaq 0x288(%rsp), %rdi
callq 0x1b3f0
leaq 0x290(%rsp), %rdi
callq 0x1b3f0
movl $0x1, 0x59c(%rsp)
jmp 0x46b86
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
leaq 0x280(%rsp), %rdi
callq 0x1b3f0
leaq 0x288(%rsp), %rdi
callq 0x1b3f0
leaq 0x290(%rsp), %rdi
callq 0x1b3f0
jmp 0x46bb2
leaq 0x2f8(%rsp), %rdi
callq 0x1b3f0
leaq 0x300(%rsp), %rdi
callq 0x1b3f0
leaq 0x310(%rsp), %rdi
callq 0x1b3f0
jmp 0x46e92
leaq 0x2f8(%rsp), %rdi
callq 0x1b3f0
leaq 0x300(%rsp), %rdi
callq 0x1b3f0
leaq 0x310(%rsp), %rdi
callq 0x1b3f0
jmp 0x46ea1
movl 0x708(%rsp), %eax
movl 0x854(%rsp), %ecx
movb $0x0, 0x267(%rsp)
cmpl %ecx, %eax
jle 0x46c21
movq 0x858(%rsp), %rsi
movl 0x854(%rsp), %edx
movl 0x708(%rsp), %ecx
decl %ecx
leaq 0x270(%rsp), %rdi
callq 0x443c0
jmp 0x46c1f
jmp 0x46c4d
leaq 0x268(%rsp), %rdi
callq 0x483a0
jmp 0x46c30
movb $0x1, 0x267(%rsp)
leaq 0x270(%rsp), %rdi
leaq 0x268(%rsp), %rsi
callq 0x48410
movq 0x858(%rsp), %rdi
movslq 0x708(%rsp), %rsi
callq 0x48650
movq %rax, %rsi
leaq 0x240(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x1bc90
movq 0x10(%rsp), %rsi
leaq 0x250(%rsp), %rdi
callq 0x48680
jmp 0x46c8b
leaq 0x258(%rsp), %rdi
leaq 0x250(%rsp), %rsi
callq 0x48740
movl 0x708(%rsp), %eax
movl 0x850(%rsp), %ecx
movb $0x0, 0x22f(%rsp)
cmpl %ecx, %eax
jge 0x46ce3
movq 0x858(%rsp), %rsi
movl 0x708(%rsp), %edx
incl %edx
movl 0x850(%rsp), %ecx
leaq 0x238(%rsp), %rdi
callq 0x443c0
jmp 0x46ce1
jmp 0x46d0f
leaq 0x230(%rsp), %rdi
callq 0x483a0
jmp 0x46cf2
movb $0x1, 0x22f(%rsp)
leaq 0x238(%rsp), %rdi
leaq 0x230(%rsp), %rsi
callq 0x48410
leaq 0x278(%rsp), %rdi
leaq 0x270(%rsp), %rsi
leaq 0x258(%rsp), %rdx
leaq 0x238(%rsp), %rcx
callq 0x48e00
jmp 0x46d36
movq 0x218(%rsp), %rdi
leaq 0x278(%rsp), %rsi
callq 0x48f10
leaq 0x278(%rsp), %rdi
callq 0x48f70
leaq 0x238(%rsp), %rdi
callq 0x1b3f0
testb $0x1, 0x22f(%rsp)
jne 0x46d71
jmp 0x46d7e
leaq 0x230(%rsp), %rdi
callq 0x48470
leaq 0x258(%rsp), %rdi
callq 0x1b3f0
leaq 0x250(%rsp), %rdi
callq 0x1f620
leaq 0x240(%rsp), %rdi
callq 0xfc00
leaq 0x270(%rsp), %rdi
callq 0x1b3f0
testb $0x1, 0x267(%rsp)
jne 0x46dbe
jmp 0x46dcb
leaq 0x268(%rsp), %rdi
callq 0x48470
movl $0x1, 0x59c(%rsp)
jmp 0x46e92
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x46e5d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
jmp 0x46e43
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x800(%rsp)
movl %eax, 0x7fc(%rsp)
leaq 0x238(%rsp), %rdi
callq 0x1b3f0
testb $0x1, 0x22f(%rsp)
jne 0x46e34
jmp 0x46e41
leaq 0x230(%rsp), %rdi
callq 0x48470
jmp 0x46e43
leaq 0x258(%rsp), %rdi
callq 0x1b3f0
leaq 0x250(%rsp), %rdi
callq 0x1f620
leaq 0x240(%rsp), %rdi
callq 0xfc00
leaq 0x270(%rsp), %rdi
callq 0x1b3f0
testb $0x1, 0x267(%rsp)
jne 0x46e83
jmp 0x46e90
leaq 0x268(%rsp), %rdi
callq 0x48470
jmp 0x46ea1
leaq 0x6f8(%rsp), %rdi
callq 0xf9a0
jmp 0x46eb0
leaq 0x6f8(%rsp), %rdi
callq 0xf9a0
jmp 0x46ec0
movq 0x220(%rsp), %rax
addq $0x868, %rsp            # imm = 0x868
retq
movq 0x800(%rsp), %rdi
callq 0xb680
nopl (%rax)