// File: /workspace/github_cpp_makefile_star2_O3/Nallantli[P]Rossa/main/rossa/node/node.cpp
// Function: BinOpNode::genParser() const
ptr_instruction_t BinOpNode::genParser() const
{
	trace_t stack_trace;

	if (op == "+")
		return std::make_shared<AddI>(a->genParser(), b->genParser(), token);
	if (op == "-")
		return std::make_shared<SubI>(a->genParser(), b->genParser(), token);
	if (op == "*")
		return std::make_shared<MulI>(a->genParser(), b->genParser(), token);
	if (op == "/")
		return std::make_shared<DivI>(a->genParser(), b->genParser(), token);
	if (op == "//")
		return std::make_shared<FDivI>(a->genParser(), b->genParser(), token);
	if (op == "%")
		return std::make_shared<ModI>(a->genParser(), b->genParser(), token);
	if (op == "**")
		return std::make_shared<PowI>(a->genParser(), b->genParser(), token);
	if (op == "|")
		return std::make_shared<BOrI>(a->genParser(), b->genParser(), token);
	if (op == "&")
		return std::make_shared<BAndI>(a->genParser(), b->genParser(), token);
	if (op == "^")
		return std::make_shared<BXOrI>(a->genParser(), b->genParser(), token);
	if (op == "<<")
		return std::make_shared<BShiftLeftI>(a->genParser(), b->genParser(), token);
	if (op == ">>")
		return std::make_shared<BShiftRightI>(a->genParser(), b->genParser(), token);
	if (op == "++")
		return std::make_shared<ConcatI>(a->genParser(), b->genParser(), token);

	if (op == "<")
		return std::make_shared<LessI>(a->genParser(), b->genParser(), token);
	if (op == ">")
		return std::make_shared<MoreI>(a->genParser(), b->genParser(), token);
	if (op == "<=")
		return std::make_shared<ELessI>(a->genParser(), b->genParser(), token);
	if (op == ">=")
		return std::make_shared<EMoreI>(a->genParser(), b->genParser(), token);
	if (op == "==")
		return std::make_shared<EqualsI>(a->genParser(), b->genParser(), token);
	if (op == "!=")
		return std::make_shared<NEqualsI>(a->genParser(), b->genParser(), token);
	if (op == "===")
		return std::make_shared<PureEqualsI>(a->genParser(), b->genParser(), token);
	if (op == "!==")
		return std::make_shared<PureNEqualsI>(a->genParser(), b->genParser(), token);
	if (op == "&&")
		return std::make_shared<AndI>(a->genParser(), b->genParser(), token);
	if (op == "||")
		return std::make_shared<OrI>(a->genParser(), b->genParser(), token);

	if (op == ".=")
		return std::make_shared<SetIndexI>(a->genParser(), b->genParser(), token);

	if (op == "=")
	{
		if (a->isConst())
			throw rossa_error_t("Cannot reassign constant value", token, stack_trace);
		return std::make_shared<SetI>(a->genParser(), b->genParser(), token);
	}
	if (op == ":=")
	{
		if (a->getType() != ID_NODE && a->getType() != BID_NODE)
			throw rossa_error_t("Only non-const variables may be declared with `:=`", token, stack_trace);
		hash_ull t;
		if (a->getType() == ID_NODE)
			t = ((IDNode *)a.get())->getKey();
		else
			t = ROSSA_HASH(((BIDNode *)a.get())->getKey());
		return std::make_shared<DeclareI>(t, b->genParser(), b->isConst(), token);
	}

	if (op == "[]")
		return std::make_shared<IndexI>(a->genParser(), b->genParser(), token);
	if (op == "->")
		return std::make_shared<CastToI>(a->genParser(), b->genParser(), token);
	if (op == "delete")
		return std::make_shared<DeleteI>(a->genParser(), b->genParser(), token);

	throw rossa_error_t(util::format(_UNKNOWN_BINARY_OP_, {op}), token, stack_trace);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa8, %rsp
movq %rsi, %r14
movq %rdi, %rbx
xorps %xmm0, %xmm0
movaps %xmm0, 0x90(%rsp)
movq $0x0, 0xa0(%rsp)
leaq 0xa8(%rsi), %r15
leaq 0x2715d(%rip), %rsi     # 0x85ba7
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5ed32
leaq 0x27148(%rip), %rsi     # 0x85ba9
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5ed86
leaq 0x27127(%rip), %rsi     # 0x85b9f
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5edda
leaq 0x27113(%rip), %rsi     # 0x85ba2
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5ee2e
leaq 0x270fb(%rip), %rsi     # 0x85ba1
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5ee82
leaq 0x270e7(%rip), %rsi     # 0x85ba4
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5eed6
leaq 0x270ca(%rip), %rsi     # 0x85b9e
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5ef2a
leaq 0x270c9(%rip), %rsi     # 0x85bb4
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5ef7e
leaq 0x270af(%rip), %rsi     # 0x85bb1
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5efd2
leaq 0x24801(%rip), %rsi     # 0x8331a
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5f026
leaq 0x24994(%rip), %rsi     # 0x834c4
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5f07a
leaq 0x24980(%rip), %rsi     # 0x834c7
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5f0ce
leaq 0x27048(%rip), %rsi     # 0x85ba6
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5f122
leaq 0x247ea(%rip), %rsi     # 0x8335f
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5f176
leaq 0x2479c(%rip), %rsi     # 0x83328
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5f1ca
leaq 0x244a5(%rip), %rsi     # 0x83048
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5f21e
leaq 0x2448a(%rip), %rsi     # 0x83044
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5f272
leaq 0x24454(%rip), %rsi     # 0x83025
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5f2c6
leaq 0x26fc3(%rip), %rsi     # 0x85bab
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5f31a
leaq 0x24421(%rip), %rsi     # 0x83020
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5f36e
leaq 0x2440e(%rip), %rsi     # 0x83024
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5f3c2
leaq 0x26f83(%rip), %rsi     # 0x85bb0
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5f416
leaq 0x26f6f(%rip), %rsi     # 0x85bb3
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5f46a
leaq 0x26f5b(%rip), %rsi     # 0x85bb6
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5f4be
leaq 0x26f3a(%rip), %rsi     # 0x85bac
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5f512
leaq 0x26f30(%rip), %rsi     # 0x85bb9
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5f57b
leaq 0x24be0(%rip), %rsi     # 0x83880
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5f5ea
leaq 0x26ee4(%rip), %rsi     # 0x85b9b
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
je 0x5f6b4
leaq 0x2435a(%rip), %rsi     # 0x83028
movq %r15, %rdi
callq 0x10110
testl %eax, %eax
jne 0x5f7c2
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x6af12
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x69576
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x69660
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x6974a
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x69834
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x6991e
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x69a08
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x69af2
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x69bdc
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x69cc6
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x69db0
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x69e9a
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x69f84
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x6a06e
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x6a158
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x6a242
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x6a32c
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x6a416
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x6a500
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x6a5ea
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x6a6d4
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x6a7be
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x6a8a8
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x6a992
jmp 0x5f703
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x6aa7c
jmp 0x5f703
movq 0xc8(%r14), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
testb %al, %al
jne 0x5f757
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x6ab66
jmp 0x5f703
movq 0xc8(%r14), %rax
movl 0x20(%rax), %ecx
cmpl $0xc, %ecx
je 0x5f63e
cmpl $0x19, %ecx
jne 0x5f87b
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0xa8(%rax), %rsi
movq 0xb0(%rax), %rdx
addq %rsi, %rdx
leaq 0x10(%rsp), %rdi
callq 0x1ded4
leaq 0x56336(%rip), %rdi     # 0xb58f8
leaq 0x10(%rsp), %rsi
callq 0x66a8a
movq %rax, 0x50(%rsp)
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x5f64a
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x5f64a
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x6ad3e
jmp 0x5f703
movq 0xa8(%rax), %rax
movq %rax, 0x50(%rsp)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x77(%rsp), %r9
movb %al, (%r9)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
movq %r14, (%rsp)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x50(%rsp), %rcx
leaq 0x30(%rsp), %r8
callq 0x6ac50
movaps 0x10(%rsp), %xmm0
xorl %eax, %eax
movq %rax, 0x18(%rsp)
movups %xmm0, (%rbx)
movq %rax, 0x10(%rsp)
jmp 0x5f726
movq 0xc8(%r14), %rsi
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
callq *(%rax)
movq 0xd8(%r14), %rsi
movq (%rsi), %rax
leaq 0x50(%rsp), %rdi
callq *(%rax)
addq $0x28, %r14
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x10(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movq %r14, %r9
callq 0x6ae28
movaps 0x10(%rsp), %xmm0
xorl %eax, %eax
movq %rax, 0x18(%rsp)
movups %xmm0, (%rbx)
movq %rax, 0x10(%rsp)
movq 0x58(%rsp), %rdi
testq %rdi, %rdi
je 0x5f726
callq 0x1e5bc
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x5f735
callq 0x1e5bc
leaq 0x90(%rsp), %rdi
callq 0x1d632
movq %rbx, %rax
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0xa8, %edi
callq 0x101e0
movq %rax, %r15
leaq 0x20(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x2654b(%rip), %rsi     # 0x85cc0
leaq 0x26562(%rip), %rdx     # 0x85cde
leaq 0x10(%rsp), %rdi
callq 0x1e698
addq $0x28, %r14
movb $0x1, %bpl
leaq 0x10(%rsp), %rsi
leaq 0x90(%rsp), %rcx
movq %r15, %rdi
movq %r14, %rdx
callq 0x46e88
xorl %ebp, %ebp
leaq 0x51572(%rip), %rsi     # 0xb0d20
leaq -0x28511(%rip), %rdx    # 0x372a4
movq %r15, %rdi
callq 0x106d0
jmp 0x5f8e1
movl $0xa8, %edi
callq 0x101e0
movq %rax, %r15
leaq 0x40(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x26532(%rip), %rsi     # 0x85d12
leaq 0x26547(%rip), %rdx     # 0x85d2e
leaq 0x30(%rsp), %rdi
callq 0x1e698
leaq 0x60(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0xa8(%r14), %rsi
movq 0xb0(%r14), %rdx
addq %rsi, %rdx
leaq 0x50(%rsp), %rdi
callq 0x1ded4
leaq 0x78(%rsp), %rdi
leaq 0x50(%rsp), %rsi
leaq 0x77(%rsp), %rcx
movl $0x1, %edx
callq 0x20b38
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
leaq 0x78(%rsp), %rdx
callq 0x47db4
addq $0x28, %r14
movb $0x1, %bpl
leaq 0x10(%rsp), %rsi
leaq 0x90(%rsp), %rcx
movq %r15, %rdi
movq %r14, %rdx
callq 0x46e88
xorl %ebp, %ebp
leaq 0x514b6(%rip), %rsi     # 0xb0d20
leaq -0x285cd(%rip), %rdx    # 0x372a4
movq %r15, %rdi
callq 0x106d0
jmp 0x5f8e1
movl $0xa8, %edi
callq 0x101e0
movq %rax, %r15
leaq 0x20(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x26446(%rip), %rsi     # 0x85cdf
leaq 0x26471(%rip), %rdx     # 0x85d11
leaq 0x10(%rsp), %rdi
callq 0x1e698
addq $0x28, %r14
movb $0x1, %bpl
leaq 0x10(%rsp), %rsi
leaq 0x90(%rsp), %rcx
movq %r15, %rdi
movq %r14, %rdx
callq 0x46e88
xorl %ebp, %ebp
leaq 0x5144e(%rip), %rsi     # 0xb0d20
leaq -0x28635(%rip), %rdx    # 0x372a4
movq %r15, %rdi
callq 0x106d0
movq %rax, %rbx
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5f907
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x5f907
movq %rax, %rbx
movb $0x1, %bpl
leaq 0x78(%rsp), %rdi
callq 0x1db60
jmp 0x5f919
movq %rax, %rbx
movb $0x1, %bpl
movq 0x50(%rsp), %rdi
cmpq %r13, %rdi
je 0x5f930
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x30(%rsp), %rdi
cmpq %r12, %rdi
je 0x5f9e0
movq 0x40(%rsp), %rsi
jmp 0x5f9d8
movq %rax, %rbx
movq 0x30(%rsp), %rdi
cmpq %r12, %rdi
je 0x5f9ed
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x5f9ed
jmp 0x5f9c6
jmp 0x5f9ea
jmp 0x5f9ea
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x5fb06
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x5fb06
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %r12, %rdi
je 0x5f9e0
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
testb %bpl, %bpl
jne 0x5f9ed
jmp 0x5fb06
movq %rax, %rbx
movq %r15, %rdi
callq 0x102d0
jmp 0x5fb06
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fb03
jmp 0x5faef
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
jmp 0x5fadb
jmp 0x5faef
jmp 0x5fb03
movq %rax, %rbx
movq 0x58(%rsp), %rdi
testq %rdi, %rdi
je 0x5faf2
callq 0x1e5bc
jmp 0x5faf2
movq %rax, %rbx
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x5fb06
callq 0x1e5bc
jmp 0x5fb06
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0x1d632
movq %rbx, %rdi
callq 0x106f0
nop