// File: 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
movq %rsp, %rbp
subq $0x770, %rsp            # imm = 0x770
movq %rdi, -0x6d8(%rbp)
movq %rdi, %rax
movq %rax, -0x6d0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x6c8(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x24b80
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x76386(%rip), %rsi     # 0x150013
callq 0x24630
movb %al, -0x6bb(%rbp)
jmp 0xd9c9a
movb -0x6bb(%rbp), %al
testb $0x1, %al
jne 0xd9ca9
jmp 0xd9d88
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x58(%rbp), %rdi
callq *%rax
jmp 0xd9ccd
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x68(%rbp), %rdi
callq *%rax
jmp 0xd9cf1
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x48(%rbp), %rdi
leaq -0x58(%rbp), %rsi
leaq -0x68(%rbp), %rdx
callq 0xe7290
jmp 0xd9d0f
movq -0x6d8(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0xe7310
leaq -0x48(%rbp), %rdi
callq 0xe7340
leaq -0x68(%rbp), %rdi
callq 0x2a4e0
leaq -0x58(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xdc255
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xd9d7a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x2a4e0
leaq -0x58(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x76278(%rip), %rsi     # 0x150015
callq 0x24630
movb %al, -0x6d9(%rbp)
jmp 0xd9daa
movb -0x6d9(%rbp), %al
testb $0x1, %al
jne 0xd9db9
jmp 0xd9e9f
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x90(%rbp), %rdi
callq *%rax
jmp 0xd9de0
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0xa0(%rbp), %rdi
callq *%rax
jmp 0xd9e07
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x80(%rbp), %rdi
leaq -0x90(%rbp), %rsi
leaq -0xa0(%rbp), %rdx
callq 0xe7360
jmp 0xd9e2b
movq -0x6d8(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0xe73e0
leaq -0x80(%rbp), %rdi
callq 0xe7410
leaq -0xa0(%rbp), %rdi
callq 0x2a4e0
leaq -0x90(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xd9e8e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x2a4e0
leaq -0x90(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x76157(%rip), %rsi     # 0x15000b
callq 0x24630
movb %al, -0x6da(%rbp)
jmp 0xd9ec1
movb -0x6da(%rbp), %al
testb $0x1, %al
jne 0xd9ed0
jmp 0xd9fbf
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0xc0(%rbp), %rdi
callq *%rax
jmp 0xd9ef7
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0xd0(%rbp), %rdi
callq *%rax
jmp 0xd9f1e
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0xb0(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
leaq -0xd0(%rbp), %rdx
callq 0xe7430
jmp 0xd9f45
movq -0x6d8(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0xe74b0
leaq -0xb0(%rbp), %rdi
callq 0xe74e0
leaq -0xd0(%rbp), %rdi
callq 0x2a4e0
leaq -0xc0(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xd9fae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0x2a4e0
leaq -0xc0(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x7603a(%rip), %rsi     # 0x15000e
callq 0x24630
movb %al, -0x6db(%rbp)
jmp 0xd9fe1
movb -0x6db(%rbp), %al
testb $0x1, %al
jne 0xd9ff0
jmp 0xda0df
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0xf0(%rbp), %rdi
callq *%rax
jmp 0xda017
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x100(%rbp), %rdi
callq *%rax
jmp 0xda03e
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0xe0(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
leaq -0x100(%rbp), %rdx
callq 0xe7500
jmp 0xda065
movq -0x6d8(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0xe7580
leaq -0xe0(%rbp), %rdi
callq 0xe75b0
leaq -0x100(%rbp), %rdi
callq 0x2a4e0
leaq -0xf0(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xda0ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x2a4e0
leaq -0xf0(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x75f19(%rip), %rsi     # 0x15000d
callq 0x24630
movb %al, -0x6dc(%rbp)
jmp 0xda101
movb -0x6dc(%rbp), %al
testb $0x1, %al
jne 0xda110
jmp 0xda1ff
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x120(%rbp), %rdi
callq *%rax
jmp 0xda137
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x130(%rbp), %rdi
callq *%rax
jmp 0xda15e
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x110(%rbp), %rdi
leaq -0x120(%rbp), %rsi
leaq -0x130(%rbp), %rdx
callq 0xe75d0
jmp 0xda185
movq -0x6d8(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0xe7650
leaq -0x110(%rbp), %rdi
callq 0xe7680
leaq -0x130(%rbp), %rdi
callq 0x2a4e0
leaq -0x120(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xda1ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x130(%rbp), %rdi
callq 0x2a4e0
leaq -0x120(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x75dfc(%rip), %rsi     # 0x150010
callq 0x24630
movb %al, -0x6dd(%rbp)
jmp 0xda221
movb -0x6dd(%rbp), %al
testb $0x1, %al
jne 0xda230
jmp 0xda31f
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x150(%rbp), %rdi
callq *%rax
jmp 0xda257
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x160(%rbp), %rdi
callq *%rax
jmp 0xda27e
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x140(%rbp), %rdi
leaq -0x150(%rbp), %rsi
leaq -0x160(%rbp), %rdx
callq 0xe76a0
jmp 0xda2a5
movq -0x6d8(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0xe7720
leaq -0x140(%rbp), %rdi
callq 0xe7750
leaq -0x160(%rbp), %rdi
callq 0x2a4e0
leaq -0x150(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xda30e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x160(%rbp), %rdi
callq 0x2a4e0
leaq -0x150(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x75cd6(%rip), %rsi     # 0x15000a
callq 0x24630
movb %al, -0x6de(%rbp)
jmp 0xda341
movb -0x6de(%rbp), %al
testb $0x1, %al
jne 0xda350
jmp 0xda43f
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x180(%rbp), %rdi
callq *%rax
jmp 0xda377
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x190(%rbp), %rdi
callq *%rax
jmp 0xda39e
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x170(%rbp), %rdi
leaq -0x180(%rbp), %rsi
leaq -0x190(%rbp), %rdx
callq 0xe7770
jmp 0xda3c5
movq -0x6d8(%rbp), %rdi
leaq -0x170(%rbp), %rsi
callq 0xe77f0
leaq -0x170(%rbp), %rdi
callq 0xe7820
leaq -0x190(%rbp), %rdi
callq 0x2a4e0
leaq -0x180(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xda42e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x190(%rbp), %rdi
callq 0x2a4e0
leaq -0x180(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x75bdf(%rip), %rsi     # 0x150033
callq 0x24630
movb %al, -0x6df(%rbp)
jmp 0xda461
movb -0x6df(%rbp), %al
testb $0x1, %al
jne 0xda470
jmp 0xda55f
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x1b0(%rbp), %rdi
callq *%rax
jmp 0xda497
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x1c0(%rbp), %rdi
callq *%rax
jmp 0xda4be
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x1a0(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
leaq -0x1c0(%rbp), %rdx
callq 0xe7840
jmp 0xda4e5
movq -0x6d8(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
callq 0xe78c0
leaq -0x1a0(%rbp), %rdi
callq 0xe78f0
leaq -0x1c0(%rbp), %rdi
callq 0x2a4e0
leaq -0x1b0(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xda54e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x1c0(%rbp), %rdi
callq 0x2a4e0
leaq -0x1b0(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x75abc(%rip), %rsi     # 0x150030
callq 0x24630
movb %al, -0x6e0(%rbp)
jmp 0xda581
movb -0x6e0(%rbp), %al
testb $0x1, %al
jne 0xda590
jmp 0xda67f
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x1e0(%rbp), %rdi
callq *%rax
jmp 0xda5b7
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x1f0(%rbp), %rdi
callq *%rax
jmp 0xda5de
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x1d0(%rbp), %rdi
leaq -0x1e0(%rbp), %rsi
leaq -0x1f0(%rbp), %rdx
callq 0xe7910
jmp 0xda605
movq -0x6d8(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0xe7990
leaq -0x1d0(%rbp), %rdi
callq 0xe79c0
leaq -0x1f0(%rbp), %rdi
callq 0x2a4e0
leaq -0x1e0(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xda66e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x1f0(%rbp), %rdi
callq 0x2a4e0
leaq -0x1e0(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x75999(%rip), %rsi     # 0x15002d
callq 0x24630
movb %al, -0x6e1(%rbp)
jmp 0xda6a1
movb -0x6e1(%rbp), %al
testb $0x1, %al
jne 0xda6b0
jmp 0xda79f
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x210(%rbp), %rdi
callq *%rax
jmp 0xda6d7
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x220(%rbp), %rdi
callq *%rax
jmp 0xda6fe
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x200(%rbp), %rdi
leaq -0x210(%rbp), %rsi
leaq -0x220(%rbp), %rdx
callq 0xe79e0
jmp 0xda725
movq -0x6d8(%rbp), %rdi
leaq -0x200(%rbp), %rsi
callq 0xe7a60
leaq -0x200(%rbp), %rdi
callq 0xe7a90
leaq -0x220(%rbp), %rdi
callq 0x2a4e0
leaq -0x210(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xda78e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x220(%rbp), %rdi
callq 0x2a4e0
leaq -0x210(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x75863(%rip), %rsi     # 0x150017
callq 0x24630
movb %al, -0x6e2(%rbp)
jmp 0xda7c1
movb -0x6e2(%rbp), %al
testb $0x1, %al
jne 0xda7d0
jmp 0xda8bf
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x240(%rbp), %rdi
callq *%rax
jmp 0xda7f7
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x250(%rbp), %rdi
callq *%rax
jmp 0xda81e
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x230(%rbp), %rdi
leaq -0x240(%rbp), %rsi
leaq -0x250(%rbp), %rdx
callq 0xe7ab0
jmp 0xda845
movq -0x6d8(%rbp), %rdi
leaq -0x230(%rbp), %rsi
callq 0xe7b30
leaq -0x230(%rbp), %rdi
callq 0xe7b60
leaq -0x250(%rbp), %rdi
callq 0x2a4e0
leaq -0x240(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xda8ae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x250(%rbp), %rdi
callq 0x2a4e0
leaq -0x240(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x75746(%rip), %rsi     # 0x15001a
callq 0x24630
movb %al, -0x6e3(%rbp)
jmp 0xda8e1
movb -0x6e3(%rbp), %al
testb $0x1, %al
jne 0xda8f0
jmp 0xda9df
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x270(%rbp), %rdi
callq *%rax
jmp 0xda917
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x280(%rbp), %rdi
callq *%rax
jmp 0xda93e
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x260(%rbp), %rdi
leaq -0x270(%rbp), %rsi
leaq -0x280(%rbp), %rdx
callq 0xe7b80
jmp 0xda965
movq -0x6d8(%rbp), %rdi
leaq -0x260(%rbp), %rsi
callq 0xe7c00
leaq -0x260(%rbp), %rdi
callq 0xe7c30
leaq -0x280(%rbp), %rdi
callq 0x2a4e0
leaq -0x270(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xda9ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x280(%rbp), %rdi
callq 0x2a4e0
leaq -0x270(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x7561e(%rip), %rsi     # 0x150012
callq 0x24630
movb %al, -0x6e4(%rbp)
jmp 0xdaa01
movb -0x6e4(%rbp), %al
testb $0x1, %al
jne 0xdaa10
jmp 0xdaaff
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x2a0(%rbp), %rdi
callq *%rax
jmp 0xdaa37
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x2b0(%rbp), %rdi
callq *%rax
jmp 0xdaa5e
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x290(%rbp), %rdi
leaq -0x2a0(%rbp), %rsi
leaq -0x2b0(%rbp), %rdx
callq 0xe7c50
jmp 0xdaa85
movq -0x6d8(%rbp), %rdi
leaq -0x290(%rbp), %rsi
callq 0xe7cd0
leaq -0x290(%rbp), %rdi
callq 0xe7d00
leaq -0x2b0(%rbp), %rdi
callq 0x2a4e0
leaq -0x2a0(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xdaaee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x2b0(%rbp), %rdi
callq 0x2a4e0
leaq -0x2a0(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x75883(%rip), %rsi     # 0x150397
callq 0x24630
movb %al, -0x6e5(%rbp)
jmp 0xdab21
movb -0x6e5(%rbp), %al
testb $0x1, %al
jne 0xdab30
jmp 0xdac1f
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x2d0(%rbp), %rdi
callq *%rax
jmp 0xdab57
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x2e0(%rbp), %rdi
callq *%rax
jmp 0xdab7e
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x2c0(%rbp), %rdi
leaq -0x2d0(%rbp), %rsi
leaq -0x2e0(%rbp), %rdx
callq 0xe7d20
jmp 0xdaba5
movq -0x6d8(%rbp), %rdi
leaq -0x2c0(%rbp), %rsi
callq 0xe7da0
leaq -0x2c0(%rbp), %rdi
callq 0xe7dd0
leaq -0x2e0(%rbp), %rdi
callq 0x2a4e0
leaq -0x2d0(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xdac0e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x2e0(%rbp), %rdi
callq 0x2a4e0
leaq -0x2d0(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x7572c(%rip), %rsi     # 0x150360
callq 0x24630
movb %al, -0x6e6(%rbp)
jmp 0xdac41
movb -0x6e6(%rbp), %al
testb $0x1, %al
jne 0xdac50
jmp 0xdad3f
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x300(%rbp), %rdi
callq *%rax
jmp 0xdac77
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x310(%rbp), %rdi
callq *%rax
jmp 0xdac9e
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x2f0(%rbp), %rdi
leaq -0x300(%rbp), %rsi
leaq -0x310(%rbp), %rdx
callq 0xe7df0
jmp 0xdacc5
movq -0x6d8(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
callq 0xe7e70
leaq -0x2f0(%rbp), %rdi
callq 0xe7ea0
leaq -0x310(%rbp), %rdi
callq 0x2a4e0
leaq -0x300(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xdad2e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x310(%rbp), %rdi
callq 0x2a4e0
leaq -0x300(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x75310(%rip), %rsi     # 0x150064
callq 0x24630
movb %al, -0x6e7(%rbp)
jmp 0xdad61
movb -0x6e7(%rbp), %al
testb $0x1, %al
jne 0xdad70
jmp 0xdae5f
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x330(%rbp), %rdi
callq *%rax
jmp 0xdad97
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x340(%rbp), %rdi
callq *%rax
jmp 0xdadbe
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x320(%rbp), %rdi
leaq -0x330(%rbp), %rsi
leaq -0x340(%rbp), %rdx
callq 0xe7ec0
jmp 0xdade5
movq -0x6d8(%rbp), %rdi
leaq -0x320(%rbp), %rsi
callq 0xe7f40
leaq -0x320(%rbp), %rdi
callq 0xe7f70
leaq -0x340(%rbp), %rdi
callq 0x2a4e0
leaq -0x330(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xdae4e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x340(%rbp), %rdi
callq 0x2a4e0
leaq -0x330(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x751ec(%rip), %rsi     # 0x150060
callq 0x24630
movb %al, -0x6e8(%rbp)
jmp 0xdae81
movb -0x6e8(%rbp), %al
testb $0x1, %al
jne 0xdae90
jmp 0xdaf7f
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x360(%rbp), %rdi
callq *%rax
jmp 0xdaeb7
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x370(%rbp), %rdi
callq *%rax
jmp 0xdaede
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x350(%rbp), %rdi
leaq -0x360(%rbp), %rsi
leaq -0x370(%rbp), %rdx
callq 0xe7f90
jmp 0xdaf05
movq -0x6d8(%rbp), %rdi
leaq -0x350(%rbp), %rsi
callq 0xe8010
leaq -0x350(%rbp), %rdi
callq 0xe8040
leaq -0x370(%rbp), %rdi
callq 0x2a4e0
leaq -0x360(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xdaf6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x370(%rbp), %rdi
callq 0x2a4e0
leaq -0x360(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x75091(%rip), %rsi     # 0x150025
callq 0x24630
movb %al, -0x6e9(%rbp)
jmp 0xdafa1
movb -0x6e9(%rbp), %al
testb $0x1, %al
jne 0xdafb0
jmp 0xdb09f
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x390(%rbp), %rdi
callq *%rax
jmp 0xdafd7
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x3a0(%rbp), %rdi
callq *%rax
jmp 0xdaffe
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x380(%rbp), %rdi
leaq -0x390(%rbp), %rsi
leaq -0x3a0(%rbp), %rdx
callq 0xe8060
jmp 0xdb025
movq -0x6d8(%rbp), %rdi
leaq -0x380(%rbp), %rsi
callq 0xe80e0
leaq -0x380(%rbp), %rdi
callq 0xe8110
leaq -0x3a0(%rbp), %rdi
callq 0x2a4e0
leaq -0x390(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xdb08e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x3a0(%rbp), %rdi
callq 0x2a4e0
leaq -0x390(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x74f74(%rip), %rsi     # 0x150028
callq 0x24630
movb %al, -0x6ea(%rbp)
jmp 0xdb0c1
movb -0x6ea(%rbp), %al
testb $0x1, %al
jne 0xdb0d0
jmp 0xdb1bf
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x3c0(%rbp), %rdi
callq *%rax
jmp 0xdb0f7
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x3d0(%rbp), %rdi
callq *%rax
jmp 0xdb11e
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x3b0(%rbp), %rdi
leaq -0x3c0(%rbp), %rsi
leaq -0x3d0(%rbp), %rdx
callq 0xe8130
jmp 0xdb145
movq -0x6d8(%rbp), %rdi
leaq -0x3b0(%rbp), %rsi
callq 0xe81b0
leaq -0x3b0(%rbp), %rdi
callq 0xe81e0
leaq -0x3d0(%rbp), %rdi
callq 0x2a4e0
leaq -0x3c0(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xdb1ae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x3d0(%rbp), %rdi
callq 0x2a4e0
leaq -0x3c0(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x74e4c(%rip), %rsi     # 0x150020
callq 0x24630
movb %al, -0x6eb(%rbp)
jmp 0xdb1e1
movb -0x6eb(%rbp), %al
testb $0x1, %al
jne 0xdb1f0
jmp 0xdb2df
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x3f0(%rbp), %rdi
callq *%rax
jmp 0xdb217
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x400(%rbp), %rdi
callq *%rax
jmp 0xdb23e
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x3e0(%rbp), %rdi
leaq -0x3f0(%rbp), %rsi
leaq -0x400(%rbp), %rdx
callq 0xe8200
jmp 0xdb265
movq -0x6d8(%rbp), %rdi
leaq -0x3e0(%rbp), %rsi
callq 0xe8280
leaq -0x3e0(%rbp), %rdi
callq 0xe82b0
leaq -0x400(%rbp), %rdi
callq 0x2a4e0
leaq -0x3f0(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xdb2ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x400(%rbp), %rdi
callq 0x2a4e0
leaq -0x3f0(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x74d30(%rip), %rsi     # 0x150024
callq 0x24630
movb %al, -0x6ec(%rbp)
jmp 0xdb301
movb -0x6ec(%rbp), %al
testb $0x1, %al
jne 0xdb310
jmp 0xdb3ff
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x420(%rbp), %rdi
callq *%rax
jmp 0xdb337
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x430(%rbp), %rdi
callq *%rax
jmp 0xdb35e
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x410(%rbp), %rdi
leaq -0x420(%rbp), %rsi
leaq -0x430(%rbp), %rdx
callq 0xe82d0
jmp 0xdb385
movq -0x6d8(%rbp), %rdi
leaq -0x410(%rbp), %rsi
callq 0xe8350
leaq -0x410(%rbp), %rdi
callq 0xe8380
leaq -0x430(%rbp), %rdi
callq 0x2a4e0
leaq -0x420(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xdb3ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x430(%rbp), %rdi
callq 0x2a4e0
leaq -0x420(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x74c1b(%rip), %rsi     # 0x15002f
callq 0x24630
movb %al, -0x6ed(%rbp)
jmp 0xdb421
movb -0x6ed(%rbp), %al
testb $0x1, %al
jne 0xdb430
jmp 0xdb51f
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x450(%rbp), %rdi
callq *%rax
jmp 0xdb457
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x460(%rbp), %rdi
callq *%rax
jmp 0xdb47e
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x440(%rbp), %rdi
leaq -0x450(%rbp), %rsi
leaq -0x460(%rbp), %rdx
callq 0xe83a0
jmp 0xdb4a5
movq -0x6d8(%rbp), %rdi
leaq -0x440(%rbp), %rsi
callq 0xe8420
leaq -0x440(%rbp), %rdi
callq 0xe8450
leaq -0x460(%rbp), %rdi
callq 0x2a4e0
leaq -0x450(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xdb50e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x460(%rbp), %rdi
callq 0x2a4e0
leaq -0x450(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x74afe(%rip), %rsi     # 0x150032
callq 0x24630
movb %al, -0x6ee(%rbp)
jmp 0xdb541
movb -0x6ee(%rbp), %al
testb $0x1, %al
jne 0xdb550
jmp 0xdb63f
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x480(%rbp), %rdi
callq *%rax
jmp 0xdb577
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x490(%rbp), %rdi
callq *%rax
jmp 0xdb59e
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x470(%rbp), %rdi
leaq -0x480(%rbp), %rsi
leaq -0x490(%rbp), %rdx
callq 0xe8470
jmp 0xdb5c5
movq -0x6d8(%rbp), %rdi
leaq -0x470(%rbp), %rsi
callq 0xe84f0
leaq -0x470(%rbp), %rdi
callq 0xe8520
leaq -0x490(%rbp), %rdi
callq 0x2a4e0
leaq -0x480(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xdb62e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x490(%rbp), %rdi
callq 0x2a4e0
leaq -0x480(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x749e8(%rip), %rsi     # 0x15003c
callq 0x24630
movb %al, -0x6ef(%rbp)
jmp 0xdb661
movb -0x6ef(%rbp), %al
testb $0x1, %al
jne 0xdb670
jmp 0xdb75f
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x4b0(%rbp), %rdi
callq *%rax
jmp 0xdb697
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x4c0(%rbp), %rdi
callq *%rax
jmp 0xdb6be
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x4a0(%rbp), %rdi
leaq -0x4b0(%rbp), %rsi
leaq -0x4c0(%rbp), %rdx
callq 0xe8540
jmp 0xdb6e5
movq -0x6d8(%rbp), %rdi
leaq -0x4a0(%rbp), %rsi
callq 0xe85c0
leaq -0x4a0(%rbp), %rdi
callq 0xe85f0
leaq -0x4c0(%rbp), %rdi
callq 0x2a4e0
leaq -0x4b0(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xdb74e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x4c0(%rbp), %rdi
callq 0x2a4e0
leaq -0x4b0(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x748b5(%rip), %rsi     # 0x150029
callq 0x24630
movb %al, -0x6f0(%rbp)
jmp 0xdb781
movb -0x6f0(%rbp), %al
testb $0x1, %al
jne 0xdb790
jmp 0xdb994
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rdi
movq (%rdi), %rax
movq 0x8(%rax), %rax
callq *%rax
movb %al, -0x6f1(%rbp)
jmp 0xdb7b7
movb -0x6f1(%rbp), %al
testb $0x1, %al
jne 0xdb7c6
jmp 0xdb8a5
movb $0x1, -0x4e2(%rbp)
movl $0xa8, %edi
callq 0x112b0
movq %rax, -0x708(%rbp)
leaq -0x4e1(%rbp), %rdi
movq %rdi, -0x700(%rbp)
callq 0x119d0
movq -0x700(%rbp), %rdx
leaq 0x78064(%rip), %rsi     # 0x153863
leaq -0x4e0(%rbp), %rdi
callq 0x24740
jmp 0xdb80d
movq -0x708(%rbp), %rdi
movq -0x6c8(%rbp), %rdx
addq $0x28, %rdx
leaq -0x4e0(%rbp), %rsi
leaq -0x28(%rbp), %rcx
callq 0x9c360
jmp 0xdb831
movq -0x708(%rbp), %rdi
movb $0x0, -0x4e2(%rbp)
leaq 0x10543a(%rip), %rsi    # 0x1e0c80
leaq -0x80ead(%rip), %rdx    # 0x5a9a0
callq 0x11970
jmp 0xdc267
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xdb87d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x4e0(%rbp), %rdi
callq 0x11360
leaq -0x4e1(%rbp), %rdi
callq 0x11600
testb $0x1, -0x4e2(%rbp)
jne 0xdb894
jmp 0xdb8a0
movq -0x708(%rbp), %rdi
callq 0x11420
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x508(%rbp), %rdi
callq *%rax
jmp 0xdb8cc
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x518(%rbp), %rdi
callq *%rax
jmp 0xdb8f3
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x4f8(%rbp), %rdi
leaq -0x508(%rbp), %rsi
leaq -0x518(%rbp), %rdx
callq 0xe8610
jmp 0xdb91a
movq -0x6d8(%rbp), %rdi
leaq -0x4f8(%rbp), %rsi
callq 0xe8690
leaq -0x4f8(%rbp), %rdi
callq 0xe86c0
leaq -0x518(%rbp), %rdi
callq 0x2a4e0
leaq -0x508(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xdb983
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x518(%rbp), %rdi
callq 0x2a4e0
leaq -0x508(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x74696(%rip), %rsi     # 0x15003f
callq 0x24630
movb %al, -0x709(%rbp)
jmp 0xdb9b6
movb -0x709(%rbp), %al
testb $0x1, %al
jne 0xdb9c5
jmp 0xdbc87
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rdi
callq 0xd2b20
cmpl $0xc, %eax
je 0xdbaec
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rdi
callq 0xd2b20
cmpl $0x19, %eax
je 0xdbaec
movb $0x1, -0x53a(%rbp)
movl $0xa8, %edi
callq 0x112b0
movq %rax, -0x720(%rbp)
leaq -0x539(%rbp), %rdi
movq %rdi, -0x718(%rbp)
callq 0x119d0
movq -0x718(%rbp), %rdx
leaq 0x77e3c(%rip), %rsi     # 0x153882
leaq -0x538(%rbp), %rdi
callq 0x24740
jmp 0xdba54
movq -0x720(%rbp), %rdi
movq -0x6c8(%rbp), %rdx
addq $0x28, %rdx
leaq -0x538(%rbp), %rsi
leaq -0x28(%rbp), %rcx
callq 0x9c360
jmp 0xdba78
movq -0x720(%rbp), %rdi
movb $0x0, -0x53a(%rbp)
leaq 0x1051f3(%rip), %rsi    # 0x1e0c80
leaq -0x810f4(%rip), %rdx    # 0x5a9a0
callq 0x11970
jmp 0xdc267
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xdbac4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x538(%rbp), %rdi
callq 0x11360
leaq -0x539(%rbp), %rdi
callq 0x11600
testb $0x1, -0x53a(%rbp)
jne 0xdbadb
jmp 0xdbae7
movq -0x720(%rbp), %rdi
callq 0x11420
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rdi
callq 0xd2b20
cmpl $0xc, %eax
jne 0xdbb30
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x327c0
movq %rax, %rdi
callq 0xd3d80
movq %rax, -0x548(%rbp)
jmp 0xdbba9
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x327c0
movq %rax, %rsi
leaq -0x568(%rbp), %rdi
callq 0xd4460
jmp 0xdbb54
leaq 0x109f3d(%rip), %rdi    # 0x1e5a98
leaq -0x568(%rbp), %rsi
callq 0x2cb10
movq %rax, -0x728(%rbp)
jmp 0xdbb70
movq -0x728(%rbp), %rax
movq %rax, -0x548(%rbp)
leaq -0x568(%rbp), %rdi
callq 0x11360
jmp 0xdbba9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x568(%rbp), %rdi
callq 0x11360
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x588(%rbp), %rdi
callq *%rax
jmp 0xdbbd0
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rdi
movq (%rdi), %rax
movq 0x8(%rax), %rax
callq *%rax
movb %al, -0x729(%rbp)
jmp 0xdbbf7
movq -0x6c8(%rbp), %r8
movb -0x729(%rbp), %al
andb $0x1, %al
movb %al, -0x589(%rbp)
addq $0x28, %r8
leaq -0x578(%rbp), %rdi
leaq -0x548(%rbp), %rsi
leaq -0x588(%rbp), %rdx
leaq -0x589(%rbp), %rcx
callq 0xe86e0
jmp 0xdbc33
movq -0x6d8(%rbp), %rdi
leaq -0x578(%rbp), %rsi
callq 0xe8770
leaq -0x578(%rbp), %rdi
callq 0xe87a0
leaq -0x588(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x588(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x74368(%rip), %rsi     # 0x150004
callq 0x24630
movb %al, -0x72a(%rbp)
jmp 0xdbca9
movb -0x72a(%rbp), %al
testb $0x1, %al
jne 0xdbcb8
jmp 0xdbda7
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x5b0(%rbp), %rdi
callq *%rax
jmp 0xdbcdf
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x5c0(%rbp), %rdi
callq *%rax
jmp 0xdbd06
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x5a0(%rbp), %rdi
leaq -0x5b0(%rbp), %rsi
leaq -0x5c0(%rbp), %rdx
callq 0xe87c0
jmp 0xdbd2d
movq -0x6d8(%rbp), %rdi
leaq -0x5a0(%rbp), %rsi
callq 0xe8840
leaq -0x5a0(%rbp), %rdi
callq 0xe8870
leaq -0x5c0(%rbp), %rdi
callq 0x2a4e0
leaq -0x5b0(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xdbd96
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x5c0(%rbp), %rdi
callq 0x2a4e0
leaq -0x5b0(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x7424b(%rip), %rsi     # 0x150007
callq 0x24630
movb %al, -0x72b(%rbp)
jmp 0xdbdc9
movb -0x72b(%rbp), %al
testb $0x1, %al
jne 0xdbdd8
jmp 0xdbec7
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x5e0(%rbp), %rdi
callq *%rax
jmp 0xdbdff
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x5f0(%rbp), %rdi
callq *%rax
jmp 0xdbe26
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x5d0(%rbp), %rdi
leaq -0x5e0(%rbp), %rsi
leaq -0x5f0(%rbp), %rdx
callq 0xe8890
jmp 0xdbe4d
movq -0x6d8(%rbp), %rdi
leaq -0x5d0(%rbp), %rsi
callq 0xe8910
leaq -0x5d0(%rbp), %rdi
callq 0xe8940
leaq -0x5f0(%rbp), %rdi
callq 0x2a4e0
leaq -0x5e0(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xdbeb6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x5f0(%rbp), %rdi
callq 0x2a4e0
leaq -0x5e0(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movq -0x6c8(%rbp), %rdi
addq $0xa8, %rdi
leaq 0x74159(%rip), %rsi     # 0x150035
callq 0x24630
movb %al, -0x72c(%rbp)
jmp 0xdbee9
movb -0x72c(%rbp), %al
testb $0x1, %al
jne 0xdbef8
jmp 0xdbfe7
movq -0x6c8(%rbp), %rdi
addq $0xc8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x610(%rbp), %rdi
callq *%rax
jmp 0xdbf1f
movq -0x6c8(%rbp), %rdi
addq $0xd8, %rdi
callq 0x2d030
movq %rax, %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x620(%rbp), %rdi
callq *%rax
jmp 0xdbf46
movq -0x6c8(%rbp), %rcx
addq $0x28, %rcx
leaq -0x600(%rbp), %rdi
leaq -0x610(%rbp), %rsi
leaq -0x620(%rbp), %rdx
callq 0xe8960
jmp 0xdbf6d
movq -0x6d8(%rbp), %rdi
leaq -0x600(%rbp), %rsi
callq 0xe89e0
leaq -0x600(%rbp), %rdi
callq 0xe8a10
leaq -0x620(%rbp), %rdi
callq 0x2a4e0
leaq -0x610(%rbp), %rdi
callq 0x2a4e0
movl $0x1, -0x6c(%rbp)
jmp 0xdc23c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xdbfd6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x620(%rbp), %rdi
callq 0x2a4e0
leaq -0x610(%rbp), %rdi
callq 0x2a4e0
jmp 0xdc255
movb $0x1, -0x6ba(%rbp)
movl $0xa8, %edi
callq 0x112b0
movq %rax, -0x740(%rbp)
leaq -0x661(%rbp), %rdi
movq %rdi, -0x738(%rbp)
callq 0x119d0
movq -0x738(%rbp), %rdx
leaq 0x77895(%rip), %rsi     # 0x1538b5
leaq -0x660(%rbp), %rdi
callq 0x24740
jmp 0xdc02e
movq -0x6c8(%rbp), %rsi
leaq -0x6b0(%rbp), %rdi
movq %rdi, -0x6b8(%rbp)
addq $0xa8, %rsi
callq 0x11250
jmp 0xdc051
leaq -0x6b0(%rbp), %rax
movq %rax, -0x690(%rbp)
movq $0x1, -0x688(%rbp)
leaq -0x6b9(%rbp), %rdi
movq %rdi, -0x748(%rbp)
callq 0x26e30
movq -0x748(%rbp), %rcx
movq -0x690(%rbp), %rsi
movq -0x688(%rbp), %rdx
leaq -0x680(%rbp), %rdi
callq 0x2d6a0
jmp 0xdc0a0
leaq -0x640(%rbp), %rdi
leaq -0x660(%rbp), %rsi
leaq -0x680(%rbp), %rdx
callq 0x9e250
jmp 0xdc0bc
movq -0x740(%rbp), %rdi
movq -0x6c8(%rbp), %rdx
addq $0x28, %rdx
leaq -0x640(%rbp), %rsi
leaq -0x28(%rbp), %rcx
callq 0x9c360
jmp 0xdc0e0
movq -0x740(%rbp), %rdi
movb $0x0, -0x6ba(%rbp)
leaq 0x104b8b(%rip), %rsi    # 0x1e0c80
leaq -0x8175c(%rip), %rdx    # 0x5a9a0
callq 0x11970
jmp 0xdc267
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xdc217
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
movq -0x6b8(%rbp), %rax
leaq -0x6b0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x750(%rbp)
je 0xdc16e
movq -0x750(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x758(%rbp)
callq 0x11360
movq -0x758(%rbp), %rax
leaq -0x6b0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x750(%rbp)
jne 0xdc13d
jmp 0xdc20b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xdc1b3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xdc1a7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x640(%rbp), %rdi
callq 0x11360
leaq -0x680(%rbp), %rdi
callq 0x25b00
leaq -0x6b9(%rbp), %rdi
callq 0x279c0
leaq -0x6b0(%rbp), %rax
movq %rax, -0x768(%rbp)
addq $0x20, %rax
movq %rax, -0x760(%rbp)
movq -0x760(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x770(%rbp)
callq 0x11360
movq -0x768(%rbp), %rcx
movq -0x770(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x760(%rbp)
jne 0xdc1d8
jmp 0xdc20b
leaq -0x660(%rbp), %rdi
callq 0x11360
leaq -0x661(%rbp), %rdi
callq 0x11600
testb $0x1, -0x6ba(%rbp)
jne 0xdc22e
jmp 0xdc23a
movq -0x740(%rbp), %rdi
callq 0x11420
jmp 0xdc255
leaq -0x28(%rbp), %rdi
callq 0x24e60
movq -0x6d0(%rbp), %rax
addq $0x770, %rsp            # imm = 0x770
popq %rbp
retq
leaq -0x28(%rbp), %rdi
callq 0x24e60
movq -0x30(%rbp), %rdi
callq 0x119c0
nopw (%rax,%rax)