// File: /workspace/github_cpp_makefile_star2_O1/Nallantli[P]Rossa/main/rossa/node/node.cpp
// Function: BinOpNode::fold(std::vector<std::pair<std::vector<unsigned long long, std::allocator<unsigned long long>>, symbol_t>, std::allocator<std::pair<std::vector<unsigned long long, std::allocator<unsigned long long>>, symbol_t>>> const&) const
const ptr_node_t BinOpNode::fold(const std::vector<std::pair<std::vector<hash_ull>, symbol_t>> &consts) const
{
	if (op == "+=")
		return std::make_shared<BinOpNode>(path, "=", a, std::make_shared<BinOpNode>(path, "+", a, b, token), token)->fold(consts);
	if (op == "-=")
		return std::make_shared<BinOpNode>(path, "=", a, std::make_shared<BinOpNode>(path, "-", a, b, token), token)->fold(consts);
	if (op == "*=")
		return std::make_shared<BinOpNode>(path, "=", a, std::make_shared<BinOpNode>(path, "*", a, b, token), token)->fold(consts);
	if (op == "/=")
		return std::make_shared<BinOpNode>(path, "=", a, std::make_shared<BinOpNode>(path, "/", a, b, token), token)->fold(consts);
	if (op == "//=")
		return std::make_shared<BinOpNode>(path, "=", a, std::make_shared<BinOpNode>(path, "//", a, b, token), token)->fold(consts);
	if (op == "%=")
		return std::make_shared<BinOpNode>(path, "=", a, std::make_shared<BinOpNode>(path, "%", a, b, token), token)->fold(consts);
	if (op == "**=")
		return std::make_shared<BinOpNode>(path, "=", a, std::make_shared<BinOpNode>(path, "**", a, b, token), token)->fold(consts);
	if (op == "|=")
		return std::make_shared<BinOpNode>(path, "=", a, std::make_shared<BinOpNode>(path, "|", a, b, token), token)->fold(consts);
	if (op == "&=")
		return std::make_shared<BinOpNode>(path, "=", a, std::make_shared<BinOpNode>(path, "&", a, b, token), token)->fold(consts);
	if (op == "^=")
		return std::make_shared<BinOpNode>(path, "=", a, std::make_shared<BinOpNode>(path, "^", a, b, token), token)->fold(consts);
	if (op == "<<=")
		return std::make_shared<BinOpNode>(path, "=", a, std::make_shared<BinOpNode>(path, "<<", a, b, token), token)->fold(consts);
	if (op == ">>=")
		return std::make_shared<BinOpNode>(path, "=", a, std::make_shared<BinOpNode>(path, ">>", a, b, token), token)->fold(consts);
	if (op == "++=")
		return std::make_shared<BinOpNode>(path, "=", a, std::make_shared<BinOpNode>(path, "++", a, b, token), token)->fold(consts);
	if (op == "&&=")
		return std::make_shared<BinOpNode>(path, "=", a, std::make_shared<BinOpNode>(path, "&&", a, b, token), token)->fold(consts);
	if (op == "||=")
		return std::make_shared<BinOpNode>(path, "=", a, std::make_shared<BinOpNode>(path, "||", a, b, token), token)->fold(consts);

	auto na = a->fold(consts);
	auto nb = b->fold(consts);

	bool constmod = false;

	if (a->isConst() && b->isConst())
	{
		try
		{
			object_t newScope(static_cast<hash_ull>(0));
			trace_t stack_trace;
			genParser()->evaluate(&newScope, stack_trace);
			constmod = true;
		}
		catch (const rossa_error_t &e)
		{
		}
	}

	if (constmod)
	{
		object_t newScope(static_cast<hash_ull>(0));
		trace_t stack_trace;
		auto evalA = na->genParser()->evaluate(&newScope, stack_trace);
		auto evalB = nb->genParser()->evaluate(&newScope, stack_trace);
		auto r = genParser()->evaluate(&newScope, stack_trace);
		return std::make_shared<ContainerNode>(path, r, token);
	}

	return std::make_shared<BinOpNode>(path, op, na, b->fold(consts), token);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa8, %rsp
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
leaq 0xa8(%rsi), %r13
leaq 0x235dc(%rip), %rsi     # 0x84038
movq %r13, %rdi
callq 0x10110
testl %eax, %eax
movq %r14, 0x38(%rsp)
je 0x60de8
leaq 0x26127(%rip), %rsi     # 0x86b9f
movq %r13, %rdi
callq 0x10110
testl %eax, %eax
je 0x60e94
leaq 0x235a1(%rip), %rsi     # 0x84030
movq %r13, %rdi
callq 0x10110
testl %eax, %eax
je 0x60f40
leaq 0x2358e(%rip), %rsi     # 0x84034
movq %r13, %rdi
callq 0x10110
testl %eax, %eax
je 0x60fec
leaq 0x23576(%rip), %rsi     # 0x84033
movq %r13, %rdi
callq 0x10110
testl %eax, %eax
je 0x61098
leaq 0x260c8(%rip), %rsi     # 0x86b9c
movq %r13, %rdi
callq 0x10110
testl %eax, %eax
je 0x61144
leaq 0x23544(%rip), %rsi     # 0x8402f
movq %r13, %rdi
callq 0x10110
testl %eax, %eax
je 0x611f0
leaq 0x2353a(%rip), %rsi     # 0x8403c
movq %r13, %rdi
callq 0x10110
testl %eax, %eax
je 0x6129c
leaq 0x23527(%rip), %rsi     # 0x84040
movq %r13, %rdi
callq 0x10110
testl %eax, %eax
je 0x61348
leaq 0x26072(%rip), %rsi     # 0x86ba2
movq %r13, %rdi
callq 0x10110
testl %eax, %eax
je 0x613f4
leaq 0x23500(%rip), %rsi     # 0x84047
movq %r13, %rdi
callq 0x10110
testl %eax, %eax
je 0x614a0
leaq 0x234e5(%rip), %rsi     # 0x84043
movq %r13, %rdi
callq 0x10110
testl %eax, %eax
je 0x6154c
leaq 0x234c2(%rip), %rsi     # 0x84037
movq %r13, %rdi
callq 0x10110
testl %eax, %eax
je 0x615f8
movq %r15, %rbp
leaq 0x234b0(%rip), %rsi     # 0x8403f
movq %r13, %rdi
callq 0x10110
testl %eax, %eax
je 0x616a4
leaq 0x23495(%rip), %rsi     # 0x8403b
movq %r13, %rdi
callq 0x10110
testl %eax, %eax
je 0x6174f
movq %rbp, %r15
movq 0xc8(%rbp), %rsi
movq (%rsi), %rax
movq %rsp, %rdi
movq %r14, %rdx
callq *0x18(%rax)
movq 0xd8(%rbp), %rsi
movq (%rsi), %rax
leaq 0x28(%rsp), %rdi
movq %r14, %rdx
callq *0x18(%rax)
movq 0xc8(%r15), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
testb %al, %al
je 0x618e0
movq 0xd8(%r15), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
testb %al, %al
je 0x618e0
leaq 0x10(%rsp), %rsi
movq $0x0, (%rsi)
leaq 0x48(%rsp), %rdi
callq 0x3cf06
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
movq $0x0, 0x20(%rsp)
movq (%r15), %rax
leaq 0x78(%rsp), %rdi
movq %r15, %rsi
callq *(%rax)
movq 0x78(%rsp), %rsi
movq (%rsi), %rax
leaq 0x98(%rsp), %rdi
leaq 0x48(%rsp), %rdx
leaq 0x10(%rsp), %rcx
callq *(%rax)
leaq 0x98(%rsp), %rdi
callq 0x404da
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x60c7a
callq 0x1e6ee
leaq 0x10(%rsp), %r14
movq %r14, %rdi
callq 0x1d77a
leaq 0x48(%rsp), %rdi
callq 0x3d168
movq $0x0, (%r14)
leaq 0x48(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x3cf06
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
movq $0x0, 0x20(%rsp)
movq (%rsp), %rsi
movq (%rsi), %rax
leaq 0x88(%rsp), %rdi
callq *(%rax)
movq 0x88(%rsp), %rsi
movq (%rsi), %rax
leaq 0x78(%rsp), %rdi
leaq 0x48(%rsp), %rdx
leaq 0x10(%rsp), %rcx
callq *(%rax)
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x60cf7
callq 0x1e6ee
movq 0x28(%rsp), %rsi
movq (%rsi), %rax
leaq 0x68(%rsp), %rdi
callq *(%rax)
movq 0x68(%rsp), %rsi
movq (%rsi), %rax
leaq 0x88(%rsp), %rdi
leaq 0x48(%rsp), %rdx
leaq 0x10(%rsp), %rcx
callq *(%rax)
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x60d31
callq 0x1e6ee
movq (%r15), %rax
leaq 0x58(%rsp), %rdi
movq %r15, %rsi
callq *(%rax)
movq 0x58(%rsp), %rsi
movq (%rsi), %rax
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rdx
leaq 0x10(%rsp), %rcx
callq *(%rax)
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x60d66
callq 0x1e6ee
leaq 0x8(%r15), %rcx
addq $0x28, %r15
leaq 0x60(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x58(%rsp), %rsi
leaq 0x47(%rsp), %rdx
leaq 0x68(%rsp), %r8
movq %r15, %r9
callq 0x6849a
movq 0x58(%rsp), %rax
movq %rax, (%rbx)
xorl %eax, %eax
movq %rax, 0x8(%rbx)
movq 0x60(%rsp), %rcx
movq %rax, 0x60(%rsp)
movq %rcx, 0x8(%rbx)
leaq 0x68(%rsp), %rdi
callq 0x404da
leaq 0x88(%rsp), %rdi
callq 0x404da
leaq 0x78(%rsp), %rdi
callq 0x404da
leaq 0x10(%rsp), %rdi
callq 0x1d77a
leaq 0x48(%rsp), %rdi
callq 0x3d168
jmp 0x6195a
movq %rbx, %r14
leaq 0x8(%r15), %r13
leaq 0xc8(%r15), %r12
leaq 0xd8(%r15), %rax
addq $0x28, %r15
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x25d74(%rip), %r8      # 0x86b87
movq %rsp, %rbp
leaq 0x28(%rsp), %rdx
movq %rbp, %rsi
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rax
callq 0x6bedc
addq $0x10, %rsp
leaq 0x18(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x25d4c(%rip), %r8      # 0x86b8c
leaq 0x10(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rbp
callq 0x6c030
addq $0x10, %rsp
movq 0x10(%rsp), %rsi
movq (%rsi), %rax
movq %r14, %rbx
movq %r14, %rdi
movq 0x38(%rsp), %rdx
callq *0x18(%rax)
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x60e81
callq 0x1e6ee
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61978
jmp 0x61973
movq %rbx, %r14
leaq 0x8(%r15), %r13
leaq 0xc8(%r15), %r12
leaq 0xd8(%r15), %rax
addq $0x28, %r15
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x25cca(%rip), %r8      # 0x86b89
movq %rsp, %rbp
leaq 0x28(%rsp), %rdx
movq %rbp, %rsi
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rax
callq 0x6bedc
addq $0x10, %rsp
leaq 0x18(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x25ca0(%rip), %r8      # 0x86b8c
leaq 0x10(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rbp
callq 0x6c030
addq $0x10, %rsp
movq 0x10(%rsp), %rsi
movq (%rsi), %rax
movq %r14, %rbx
movq %r14, %rdi
movq 0x38(%rsp), %rdx
callq *0x18(%rax)
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x60f2d
callq 0x1e6ee
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61978
jmp 0x61973
movq %rbx, %r14
leaq 0x8(%r15), %r13
leaq 0xc8(%r15), %r12
leaq 0xd8(%r15), %rax
addq $0x28, %r15
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x25c14(%rip), %r8      # 0x86b7f
movq %rsp, %rbp
leaq 0x28(%rsp), %rdx
movq %rbp, %rsi
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rax
callq 0x6bedc
addq $0x10, %rsp
leaq 0x18(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x25bf4(%rip), %r8      # 0x86b8c
leaq 0x10(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rbp
callq 0x6c030
addq $0x10, %rsp
movq 0x10(%rsp), %rsi
movq (%rsi), %rax
movq %r14, %rbx
movq %r14, %rdi
movq 0x38(%rsp), %rdx
callq *0x18(%rax)
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x60fd9
callq 0x1e6ee
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61978
jmp 0x61973
movq %rbx, %r14
leaq 0x8(%r15), %r13
leaq 0xc8(%r15), %r12
leaq 0xd8(%r15), %rax
addq $0x28, %r15
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x25b6b(%rip), %r8      # 0x86b82
movq %rsp, %rbp
leaq 0x28(%rsp), %rdx
movq %rbp, %rsi
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rax
callq 0x6bedc
addq $0x10, %rsp
leaq 0x18(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x25b48(%rip), %r8      # 0x86b8c
leaq 0x10(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rbp
callq 0x6c030
addq $0x10, %rsp
movq 0x10(%rsp), %rsi
movq (%rsi), %rax
movq %r14, %rbx
movq %r14, %rdi
movq 0x38(%rsp), %rdx
callq *0x18(%rax)
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x61085
callq 0x1e6ee
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61978
jmp 0x61973
movq %rbx, %r14
leaq 0x8(%r15), %r13
leaq 0xc8(%r15), %r12
leaq 0xd8(%r15), %rax
addq $0x28, %r15
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x25abe(%rip), %r8      # 0x86b81
movq %rsp, %rbp
leaq 0x28(%rsp), %rdx
movq %rbp, %rsi
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rax
callq 0x6c1c2
addq $0x10, %rsp
leaq 0x18(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x25a9c(%rip), %r8      # 0x86b8c
leaq 0x10(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rbp
callq 0x6c030
addq $0x10, %rsp
movq 0x10(%rsp), %rsi
movq (%rsi), %rax
movq %r14, %rbx
movq %r14, %rdi
movq 0x38(%rsp), %rdx
callq *0x18(%rax)
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x61131
callq 0x1e6ee
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61978
jmp 0x61973
movq %rbx, %r14
leaq 0x8(%r15), %r13
leaq 0xc8(%r15), %r12
leaq 0xd8(%r15), %rax
addq $0x28, %r15
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x25a15(%rip), %r8      # 0x86b84
movq %rsp, %rbp
leaq 0x28(%rsp), %rdx
movq %rbp, %rsi
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rax
callq 0x6bedc
addq $0x10, %rsp
leaq 0x18(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x259f0(%rip), %r8      # 0x86b8c
leaq 0x10(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rbp
callq 0x6c030
addq $0x10, %rsp
movq 0x10(%rsp), %rsi
movq (%rsi), %rax
movq %r14, %rbx
movq %r14, %rdi
movq 0x38(%rsp), %rdx
callq *0x18(%rax)
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x611dd
callq 0x1e6ee
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61978
jmp 0x61973
movq %rbx, %r14
leaq 0x8(%r15), %r13
leaq 0xc8(%r15), %r12
leaq 0xd8(%r15), %rax
addq $0x28, %r15
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x25963(%rip), %r8      # 0x86b7e
movq %rsp, %rbp
leaq 0x28(%rsp), %rdx
movq %rbp, %rsi
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rax
callq 0x6c1c2
addq $0x10, %rsp
leaq 0x18(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x25944(%rip), %r8      # 0x86b8c
leaq 0x10(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rbp
callq 0x6c030
addq $0x10, %rsp
movq 0x10(%rsp), %rsi
movq (%rsi), %rax
movq %r14, %rbx
movq %r14, %rdi
movq 0x38(%rsp), %rdx
callq *0x18(%rax)
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x61289
callq 0x1e6ee
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61978
jmp 0x61973
movq %rbx, %r14
leaq 0x8(%r15), %r13
leaq 0xc8(%r15), %r12
leaq 0xd8(%r15), %rax
addq $0x28, %r15
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x258cd(%rip), %r8      # 0x86b94
movq %rsp, %rbp
leaq 0x28(%rsp), %rdx
movq %rbp, %rsi
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rax
callq 0x6bedc
addq $0x10, %rsp
leaq 0x18(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x25898(%rip), %r8      # 0x86b8c
leaq 0x10(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rbp
callq 0x6c030
addq $0x10, %rsp
movq 0x10(%rsp), %rsi
movq (%rsi), %rax
movq %r14, %rbx
movq %r14, %rdi
movq 0x38(%rsp), %rdx
callq *0x18(%rax)
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x61335
callq 0x1e6ee
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61978
jmp 0x61973
movq %rbx, %r14
leaq 0x8(%r15), %r13
leaq 0xc8(%r15), %r12
leaq 0xd8(%r15), %rax
addq $0x28, %r15
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x2581e(%rip), %r8      # 0x86b91
movq %rsp, %rbp
leaq 0x28(%rsp), %rdx
movq %rbp, %rsi
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rax
callq 0x6bedc
addq $0x10, %rsp
leaq 0x18(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x257ec(%rip), %r8      # 0x86b8c
leaq 0x10(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rbp
callq 0x6c030
addq $0x10, %rsp
movq 0x10(%rsp), %rsi
movq (%rsi), %rax
movq %r14, %rbx
movq %r14, %rdi
movq 0x38(%rsp), %rdx
callq *0x18(%rax)
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x613e1
callq 0x1e6ee
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61978
jmp 0x61973
movq %rbx, %r14
leaq 0x8(%r15), %r13
leaq 0xc8(%r15), %r12
leaq 0xd8(%r15), %rax
addq $0x28, %r15
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x22efb(%rip), %r8      # 0x8431a
movq %rsp, %rbp
leaq 0x28(%rsp), %rdx
movq %rbp, %rsi
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rax
callq 0x6bedc
addq $0x10, %rsp
leaq 0x18(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x25740(%rip), %r8      # 0x86b8c
leaq 0x10(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rbp
callq 0x6c030
addq $0x10, %rsp
movq 0x10(%rsp), %rsi
movq (%rsi), %rax
movq %r14, %rbx
movq %r14, %rdi
movq 0x38(%rsp), %rdx
callq *0x18(%rax)
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x6148d
callq 0x1e6ee
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61978
jmp 0x61973
movq %rbx, %r14
leaq 0x8(%r15), %r13
leaq 0xc8(%r15), %r12
leaq 0xd8(%r15), %rax
addq $0x28, %r15
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x22ff9(%rip), %r8      # 0x844c4
movq %rsp, %rbp
leaq 0x28(%rsp), %rdx
movq %rbp, %rsi
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rax
callq 0x6c1c2
addq $0x10, %rsp
leaq 0x18(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x25694(%rip), %r8      # 0x86b8c
leaq 0x10(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rbp
callq 0x6c030
addq $0x10, %rsp
movq 0x10(%rsp), %rsi
movq (%rsi), %rax
movq %r14, %rbx
movq %r14, %rdi
movq 0x38(%rsp), %rdx
callq *0x18(%rax)
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x61539
callq 0x1e6ee
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61978
jmp 0x61973
movq %rbx, %r14
leaq 0x8(%r15), %r13
leaq 0xc8(%r15), %r12
leaq 0xd8(%r15), %rax
addq $0x28, %r15
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x22f50(%rip), %r8      # 0x844c7
movq %rsp, %rbp
leaq 0x28(%rsp), %rdx
movq %rbp, %rsi
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rax
callq 0x6c1c2
addq $0x10, %rsp
leaq 0x18(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x255e8(%rip), %r8      # 0x86b8c
leaq 0x10(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rbp
callq 0x6c030
addq $0x10, %rsp
movq 0x10(%rsp), %rsi
movq (%rsi), %rax
movq %r14, %rbx
movq %r14, %rdi
movq 0x38(%rsp), %rdx
callq *0x18(%rax)
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x615e5
callq 0x1e6ee
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61978
jmp 0x61973
movq %rbx, %r14
leaq 0x8(%r15), %r13
leaq 0xc8(%r15), %r12
leaq 0xd8(%r15), %rax
addq $0x28, %r15
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x25563(%rip), %r8      # 0x86b86
movq %rsp, %rbp
leaq 0x28(%rsp), %rdx
movq %rbp, %rsi
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rax
callq 0x6c1c2
addq $0x10, %rsp
leaq 0x18(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x2553c(%rip), %r8      # 0x86b8c
leaq 0x10(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %r13, %rcx
movq %r12, %r9
pushq %r15
pushq %rbp
callq 0x6c030
addq $0x10, %rsp
movq 0x10(%rsp), %rsi
movq (%rsi), %rax
movq %r14, %rbx
movq %r14, %rdi
movq 0x38(%rsp), %rdx
callq *0x18(%rax)
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x61691
callq 0x1e6ee
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61978
jmp 0x61973
movq %rbx, %r14
leaq 0x8(%rbp), %r13
leaq 0xc8(%rbp), %r12
leaq 0xd8(%rbp), %rax
addq $0x28, %rbp
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x254c1(%rip), %r8      # 0x86b90
movq %rsp, %r15
leaq 0x28(%rsp), %rdx
movq %r15, %rsi
movq %r13, %rcx
movq %r12, %r9
pushq %rbp
pushq %rax
callq 0x6c1c2
addq $0x10, %rsp
leaq 0x18(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x25491(%rip), %r8      # 0x86b8c
leaq 0x10(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %r13, %rcx
movq %r12, %r9
pushq %rbp
pushq %r15
callq 0x6c030
addq $0x10, %rsp
movq 0x10(%rsp), %rsi
movq (%rsi), %rax
movq %r14, %rbx
movq %r14, %rdi
movq 0x38(%rsp), %rdx
callq *0x18(%rax)
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x6173c
callq 0x1e6ee
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61978
jmp 0x61973
movq %rbx, %r14
leaq 0x8(%rbp), %r13
leaq 0xc8(%rbp), %r12
leaq 0xd8(%rbp), %rax
addq $0x28, %rbp
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x25419(%rip), %r8      # 0x86b93
movq %rsp, %r15
leaq 0x28(%rsp), %rdx
movq %r15, %rsi
movq %r13, %rcx
movq %r12, %r9
pushq %rbp
pushq %rax
callq 0x6c1c2
addq $0x10, %rsp
leaq 0x18(%rsp), %rdi
movq %rbx, -0x8(%rdi)
leaq 0x253e6(%rip), %r8      # 0x86b8c
leaq 0x10(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %r13, %rcx
movq %r12, %r9
pushq %rbp
pushq %r15
callq 0x6c030
addq $0x10, %rsp
movq 0x10(%rsp), %rsi
movq (%rsi), %rax
movq %r14, %rbx
movq %r14, %rdi
movq 0x38(%rsp), %rdx
callq *0x18(%rax)
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x617e7
callq 0x1e6ee
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61978
jmp 0x61973
movq %rax, %r12
leaq 0x68(%rsp), %rdi
callq 0x404da
jmp 0x61820
movq %rax, %r12
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x61820
callq 0x1e6ee
jmp 0x61820
movq %rax, %r12
leaq 0x88(%rsp), %rdi
callq 0x404da
jmp 0x61846
movq %rax, %r12
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x61846
callq 0x1e6ee
jmp 0x61846
movq %rax, %r12
leaq 0x78(%rsp), %rdi
callq 0x404da
leaq 0x10(%rsp), %rdi
callq 0x1d77a
leaq 0x48(%rsp), %rdi
callq 0x3d168
jmp 0x61a01
movq %rax, %r12
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x61850
callq 0x1e6ee
jmp 0x61850
movq %rax, %r12
jmp 0x61850
jmp 0x619fe
movq %rdx, %r15
movq %rax, %r12
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x618aa
callq 0x1e6ee
jmp 0x618aa
movq %rdx, %r15
movq %rax, %r12
leaq 0x10(%rsp), %rdi
callq 0x1d77a
leaq 0x48(%rsp), %rdi
callq 0x3d168
jmp 0x618c6
movq %rdx, %r15
movq %rax, %r12
cmpl $0x1, %r15d
jne 0x61a01
movq %r12, %rdi
callq 0x101a0
callq 0x10690
movq %rbp, %r15
movq 0xd8(%r15), %rsi
movq (%rsi), %rax
leaq 0x48(%rsp), %r12
movq %r12, %rdi
movq %r14, %rdx
callq *0x18(%rax)
leaq 0x8(%r15), %rcx
addq $0x28, %r15
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
movq %rsp, %r9
movq %r13, %r8
pushq %r15
pushq %r12
callq 0x6c316
addq $0x10, %rsp
movq 0x10(%rsp), %rax
movq %rax, (%rbx)
xorl %eax, %eax
movq %rax, 0x8(%rbx)
movq 0x18(%rsp), %rcx
movq %rax, 0x18(%rsp)
movq %rcx, 0x8(%rbx)
movq %rax, 0x10(%rsp)
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x6195a
callq 0x1e6ee
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x61969
callq 0x1e6ee
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61978
callq 0x1e6ee
movq %rbx, %rax
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x619fe
movq %rax, %r12
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x619a6
callq 0x1e6ee
jmp 0x619a6
movq %rax, %r12
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61c2c
jmp 0x61c27
movq %rax, %r12
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x61a01
callq 0x1e6ee
jmp 0x61a01
jmp 0x619fe
movq %rax, %r12
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x619e6
callq 0x1e6ee
jmp 0x619e6
movq %rax, %r12
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61c2c
jmp 0x61c27
movq %rax, %r12
jmp 0x61a10
movq %rax, %r12
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x61a10
callq 0x1e6ee
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61c2c
jmp 0x61c27
movq %rax, %r12
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x61a3a
callq 0x1e6ee
jmp 0x61a3a
movq %rax, %r12
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61c2c
jmp 0x61c27
movq %rax, %r12
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x61a64
callq 0x1e6ee
jmp 0x61a64
movq %rax, %r12
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61c2c
jmp 0x61c27
movq %rax, %r12
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x61a8e
callq 0x1e6ee
jmp 0x61a8e
movq %rax, %r12
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61c2c
jmp 0x61c27
movq %rax, %r12
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x61ab8
callq 0x1e6ee
jmp 0x61ab8
movq %rax, %r12
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61c2c
jmp 0x61c27
movq %rax, %r12
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x61ae2
callq 0x1e6ee
jmp 0x61ae2
movq %rax, %r12
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61c2c
jmp 0x61c27
movq %rax, %r12
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x61b0c
callq 0x1e6ee
jmp 0x61b0c
movq %rax, %r12
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61c2c
jmp 0x61c27
movq %rax, %r12
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x61b36
callq 0x1e6ee
jmp 0x61b36
movq %rax, %r12
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61c2c
jmp 0x61c27
movq %rax, %r12
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x61b60
callq 0x1e6ee
jmp 0x61b60
movq %rax, %r12
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61c2c
jmp 0x61c27
movq %rax, %r12
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x61b8a
callq 0x1e6ee
jmp 0x61b8a
movq %rax, %r12
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61c2c
jmp 0x61c27
movq %rax, %r12
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x61bb4
callq 0x1e6ee
jmp 0x61bb4
movq %rax, %r12
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61c2c
jmp 0x61c27
movq %rax, %r12
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x61bd7
callq 0x1e6ee
jmp 0x61bd7
movq %rax, %r12
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61c2c
jmp 0x61c27
movq %rax, %r12
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x61bfa
callq 0x1e6ee
jmp 0x61bfa
movq %rax, %r12
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61c2c
jmp 0x61c27
movq %rax, %r12
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x61c1d
callq 0x1e6ee
jmp 0x61c1d
movq %rax, %r12
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x61c2c
callq 0x1e6ee
movq %r12, %rdi
callq 0x106f0