// File: /workspace/github_cpp_makefile_star2_O1/Nallantli[P]Rossa/main/Main.cpp
// Function: main
int main(int argc, char const *argv[])
{
	auto parsed = parseOptions(argc, argv);
	auto options = parsed.first;
	if (options["version"] == "true")
	{
		std::cout << _ROSSA_VERSION_LONG_ << "\n";
		return 0;
	}
	parser_t wrapper(parsed.second);

	printc("", RESET_TEXT);
	bool tree = options["tree"] == "true";

	if (options["file"] == "")
	{
		std::cout << _ROSSA_INTERPRETER_START_ << "\n";

		if (options["standard"] == "true")
		{
			try
			{
				wrapper.runCode(wrapper.compileCode(KEYWORD_LOAD " \"standard\";", std::filesystem::current_path() / "*"), false);
				std::cout << _STANDARD_LIBRARY_LOADED_ << "\n";
			}
			catch (const rossa_error_t &e)
			{
				std::cout << _STANDARD_LIBRARY_LOAD_FAIL_ << std::string(e.what()) << "\n";
			}
		}
		else
		{
			std::cout << _OPTION_NO_STD_ << "\n";
		}

		std::string code;
		while (true)
		{
			std::cout << "> ";
			std::getline(std::cin, code);
			try
			{
				auto comp = wrapper.compileCode(code, std::filesystem::current_path() / "*");
				auto value = wrapper.runCode(std::move(comp), tree);
				trace_t stack_trace;
				if (value.getValueType() == value_type_enum::ARRAY)
				{
					if (value.vectorSize() != 1)
					{
						int i = 0;
						for (auto &e : value.getVector(NULL, stack_trace))
						{
							printc("\t(" + std::to_string(i) + ")\t", CYAN_TEXT);
#ifdef DEBUG
							std::cout << e.toCodeString() << "\n";
#else
							std::cout << e.toString(NULL, stack_trace) << "\n";
#endif
							i++;
						}
					}
					else
					{
#ifdef DEBUG
						std::cout << "\t" << value.getVector(NULL, stack_trace)[0].toCodeString() << "\n";
#else
						std::cout << "\t" << value.getVector(NULL, stack_trace)[0].toString(NULL, stack_trace) << "\n";
#endif
					}
				}
			}
			catch (const rossa_error_t &e)
			{
				parser_t::printError(e);
			}
#ifdef DEBUG
	std::cout << "\t(SYMBOL COUNT: " << parser_t::symbol_count << ")\n";
	std::cout << "\t(OBJECT COUNT: " << parser_t::object_count << ")\n";
#endif
		}
	}
	else
	{
		std::ifstream file;
		file.open(options["file"]);
		if (!file.is_open())
		{
			std::cerr << _FAILURE_FILEPATH_ << options["file"] << "\n";
			return 1;
		}

		std::string content = "";
		std::string line;
		while (std::getline(file, line))
			content += line + "\n";

		try
		{
			if (options["standard"] == "true")
				content = (KEYWORD_LOAD " \"standard\";\n") + content;
			auto entry = wrapper.compileCode(content, std::filesystem::path(options["file"]));
			wrapper.runCode(entry, tree);
		}
		catch (const rossa_error_t &e)
		{
			parser_t::printError(e);
			return 1;
		}
	}

	return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x3a8, %rsp            # imm = 0x3A8
movq %rsi, %rdx
movl %edi, %esi
leaq 0x360(%rsp), %rbx
movq %rbx, %rdi
callq 0x1ca17
leaq 0xc8(%rsp), %rdi
movq %rbx, %rsi
callq 0x1e4d8
leaq 0x108(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x688fb(%rip), %rsi     # 0x841c0
leaq 0x688fb(%rip), %rdx     # 0x841c7
leaq 0xf8(%rsp), %rdi
callq 0x1e7ca
leaq 0xc8(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0x1d1bc
leaq 0x68756(%rip), %rsi     # 0x8404b
movq %rax, %rdi
callq 0x10110
movl %eax, %ebx
movq 0xf8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1b91c
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x103d0
testl %ebx, %ebx
je 0x1bbb0
leaq 0x390(%rsp), %rsi
leaq 0x320(%rsp), %rdi
callq 0x1ede0
leaq 0xf8(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x68823(%rip), %rdx     # 0x8416e
movq %rdx, %rsi
callq 0x1e7ca
leaq 0x10(%rsp), %rsi
movl $0x0, (%rsi)
leaq 0xf8(%rsp), %rdi
callq 0x1d275
movq 0xf8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1b988
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0xf8(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x6880a(%rip), %rsi     # 0x841a4
leaq 0x68807(%rip), %rdx     # 0x841a8
callq 0x1e7ca
leaq 0xc8(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0x1d1bc
leaq 0x68689(%rip), %rsi     # 0x8404b
movq %rax, %rdi
callq 0x10110
movl %eax, %ebx
movq 0xf8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1b9e9
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x103d0
testl %ebx, %ebx
sete 0xf(%rsp)
leaq 0xf8(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x686bc(%rip), %rsi     # 0x840be
leaq 0x686b9(%rip), %rdx     # 0x840c2
callq 0x1e7ca
leaq 0xc8(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0x1d1bc
leaq 0x68744(%rip), %rsi     # 0x8416e
movq %rax, %rdi
callq 0x10110
movl %eax, %ebx
movq 0xf8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1ba51
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x103d0
testl %ebx, %ebx
je 0x1be6e
leaq 0xf8(%rsp), %rdi
callq 0x10480
leaq 0x20(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x68648(%rip), %rsi     # 0x840be
leaq 0x68645(%rip), %rdx     # 0x840c2
leaq 0x10(%rsp), %rdi
callq 0x1e7ca
leaq 0xc8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x1d1bc
leaq 0xf8(%rsp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
movl $0x8, %edx
callq 0x10350
movq 0x10(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1bac8
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0x170(%rsp), %rdi
callq 0x100b0
testb %al, %al
je 0x1bbe7
leaq 0x48(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x68681(%rip), %rdx     # 0x8416e
leaq 0x38(%rsp), %rdi
movq %rdx, %rsi
callq 0x1e7ca
leaq 0x70(%rsp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x60(%rsp), %r14
leaq 0x10(%rsp), %r15
leaq 0x69fbe(%rip), %r12     # 0x85add
leaq 0x38(%rsp), %r13
movq 0xf8(%rsp), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x103a0
movsbl %al, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10720
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x1bc74
movq %rbp, 0x10(%rsp)
movq 0x60(%rsp), %rsi
movq 0x68(%rsp), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x1e014
movq %r15, %rdi
movq %r12, %rsi
callq 0x10770
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq %r13, %rdi
callq 0x10120
movq 0x10(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1bb24
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x1bb24
movq 0x9b3e1(%rip), %rdi     # 0xb6f98
leaq 0x68492(%rip), %rsi     # 0x84050
movl $0x6d, %edx
callq 0x10490
xorl %ebx, %ebx
movq 0x9b3c7(%rip), %rdi     # 0xb6f98
leaq 0x69f05(%rip), %rsi     # 0x85add
movl $0x1, %edx
callq 0x10490
jmp 0x1be33
movq 0x9b3fa(%rip), %rdi     # 0xb6fe8
leaq 0x6857a(%rip), %rsi     # 0x8416f
movl $0x1a, %edx
callq 0x10490
leaq 0x10(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x684b0(%rip), %rsi     # 0x840be
leaq 0x684ad(%rip), %rdx     # 0x840c2
callq 0x1e7ca
leaq 0xc8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x1d1bc
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq 0x9b3ae(%rip), %rdi     # 0xb6fe8
callq 0x10490
leaq 0x69e97(%rip), %rsi     # 0x85add
movl $0x1, %edx
movq %rax, %rdi
callq 0x10490
movq 0x10(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1bc6a
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
movl $0x1, %ebx
jmp 0x1be19
leaq 0x10(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x6852e(%rip), %rsi     # 0x841b1
leaq 0x6852f(%rip), %rdx     # 0x841b9
callq 0x1e7ca
leaq 0xc8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x1d1bc
leaq 0x683a3(%rip), %rsi     # 0x8404b
movq %rax, %rdi
callq 0x10110
movl %eax, %ebx
movq 0x10(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1bcc9
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
testl %ebx, %ebx
jne 0x1bd0a
leaq 0x684b6(%rip), %rsi     # 0x8418a
leaq 0x10(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x1d7be
leaq 0x38(%rsp), %rdi
leaq 0x10(%rsp), %rbx
movq %rbx, %rsi
callq 0x104f0
movq (%rbx), %rdi
cmpq %rbp, %rdi
je 0x1bd0a
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0x90(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x683a1(%rip), %rsi     # 0x840be
leaq 0x6839e(%rip), %rdx     # 0x840c2
leaq 0x80(%rsp), %rdi
callq 0x1e7ca
leaq 0xc8(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x1d1bc
leaq 0x10(%rsp), %rdi
movq %rax, %rsi
movl $0x2, %edx
callq 0x1d846
leaq 0xa0(%rsp), %rdi
leaq 0x320(%rsp), %rsi
leaq 0x38(%rsp), %rdx
leaq 0x10(%rsp), %rcx
callq 0x1f250
leaq 0x10(%rsp), %rdi
callq 0x1d736
movq 0x80(%rsp), %rdi
cmpq %r14, %rdi
je 0x1bd9e
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0x300(%rsp), %rdi
leaq 0x320(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
leaq 0xf(%rsp), %rcx
callq 0x1f3ae
leaq 0x300(%rsp), %rdi
callq 0x404da
movq 0xa8(%rsp), %rdi
testq %rdi, %rdi
je 0x1bddf
callq 0x1e6ee
xorl %ebx, %ebx
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x1bdfd
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x1be19
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0xf8(%rsp), %rdi
callq 0x100d0
leaq 0x320(%rsp), %rdi
callq 0x208f4
leaq 0xc8(%rsp), %rdi
callq 0x1dcfe
leaq 0x390(%rsp), %rdi
callq 0x1dca2
leaq 0x360(%rsp), %rdi
callq 0x1dcfe
movl %ebx, %eax
addq $0x3a8, %rsp            # imm = 0x3A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x9b123(%rip), %rdi     # 0xb6f98
leaq 0x68247(%rip), %rsi     # 0x840c3
movl $0x1f, %edx
callq 0x10490
movq 0x9b10b(%rip), %rdi     # 0xb6f98
leaq 0x69c49(%rip), %rsi     # 0x85add
movl $0x1, %edx
callq 0x10490
leaq 0xf8(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x68301(%rip), %rsi     # 0x841b1
leaq 0x68302(%rip), %rdx     # 0x841b9
callq 0x1e7ca
leaq 0xc8(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0x1d1bc
leaq 0x68173(%rip), %rsi     # 0x8404b
movq %rax, %rdi
callq 0x10110
movl %eax, %ebx
movq 0xf8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1beff
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x103d0
testl %ebx, %ebx
jne 0x1c032
leaq 0x70(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x681cc(%rip), %rsi     # 0x840e3
leaq 0x681d5(%rip), %rdx     # 0x840f3
leaq 0x60(%rsp), %rdi
callq 0x1e7ca
leaq 0x10(%rsp), %rdi
callq 0x10610
leaq 0x6ac46(%rip), %rsi     # 0x86b7f
leaq 0x38(%rsp), %rdi
movl $0x2, %edx
callq 0x1d6ae
leaq 0xf8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0x38(%rsp), %rdx
callq 0x1d675
leaq 0x80(%rsp), %rdi
leaq 0x320(%rsp), %rsi
leaq 0x60(%rsp), %rdx
leaq 0xf8(%rsp), %rcx
callq 0x1f250
leaq 0xa0(%rsp), %rcx
movb $0x0, (%rcx)
leaq 0x310(%rsp), %rdi
leaq 0x320(%rsp), %rsi
leaq 0x80(%rsp), %rdx
callq 0x1f3ae
leaq 0x310(%rsp), %rdi
callq 0x404da
movq 0x88(%rsp), %rdi
testq %rdi, %rdi
je 0x1bfc8
callq 0x1e6ee
leaq 0xf8(%rsp), %rdi
callq 0x1d736
leaq 0x38(%rsp), %rdi
callq 0x1d736
leaq 0x10(%rsp), %rdi
callq 0x1d736
movq 0x60(%rsp), %rdi
cmpq %r14, %rdi
je 0x1c000
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x9af91(%rip), %rdi     # 0xb6f98
leaq 0x680e6(%rip), %rsi     # 0x840f4
movl $0x17, %edx
callq 0x10490
movq 0x9af79(%rip), %rdi     # 0xb6f98
leaq 0x69ab7(%rip), %rsi     # 0x85add
movl $0x1, %edx
callq 0x10490
jmp 0x1c062
movq 0x9af5f(%rip), %rdi     # 0xb6f98
leaq 0x680ee(%rip), %rsi     # 0x8412e
movl $0x37, %edx
callq 0x10490
movq 0x9af47(%rip), %rdi     # 0xb6f98
leaq 0x69a85(%rip), %rsi     # 0x85add
movl $0x1, %edx
callq 0x10490
leaq 0x70(%rsp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq 0x9af4b(%rip), %rbx     # 0xb6fc8
leaq 0x38(%rsp), %r14
leaq 0xf8(%rsp), %r15
movl $0x2, %edx
movq 0x9af02(%rip), %rdi     # 0xb6f98
leaq 0x680c9(%rip), %rsi     # 0x84166
callq 0x10490
leaq 0xa0(%rsp), %r12
leaq 0x320(%rsp), %r13
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x103a0
movsbl %al, %edx
movq %rbx, %rdi
leaq 0x60(%rsp), %rsi
callq 0x10720
leaq 0x10(%rsp), %rdi
callq 0x10610
movq %r14, %rdi
leaq 0x6aa95(%rip), %rsi     # 0x86b7f
movl $0x2, %edx
callq 0x1d6ae
movq %r15, %rdi
leaq 0x10(%rsp), %rsi
movq %r14, %rdx
callq 0x1d675
movq %r12, %rdi
movq %r13, %rsi
leaq 0x60(%rsp), %rdx
movq %r15, %rcx
callq 0x1f250
movq %r15, %rdi
callq 0x1d736
movq %r14, %rdi
callq 0x1d736
leaq 0x10(%rsp), %rdi
callq 0x1d736
leaq 0xb8(%rsp), %rbx
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
leaq 0xf(%rsp), %rcx
callq 0x1f3ae
xorps %xmm0, %xmm0
movaps %xmm0, 0x80(%rsp)
movq $0x0, 0x90(%rsp)
movq %rbx, %rdi
callq 0x41262
cmpl $-0x5, %eax
jne 0x1c477
leaq 0xb8(%rsp), %rdi
callq 0x41a46
cmpq $0x1, %rax
jne 0x1c223
movl $0x1, %edx
movq 0x9ae01(%rip), %rdi     # 0xb6f98
leaq 0x67fcf(%rip), %rsi     # 0x8416d
callq 0x10490
leaq 0xb8(%rsp), %rdi
xorl %esi, %esi
leaq 0x80(%rsp), %rbx
movq %rbx, %rdx
callq 0x40f46
movq (%rax), %rsi
movq %r15, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x41a70
movq 0xf8(%rsp), %rsi
movq 0x100(%rsp), %rdx
movq 0x9adb4(%rip), %rdi     # 0xb6f98
callq 0x10490
movl $0x1, %edx
movq %rax, %rdi
leaq 0x698e5(%rip), %rsi     # 0x85add
callq 0x10490
movq 0xf8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1c477
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x1c477
leaq 0xb8(%rsp), %rdi
xorl %esi, %esi
leaq 0x80(%rsp), %rdx
callq 0x40f46
movq (%rax), %r13
movq 0x8(%rax), %rbx
cmpq %rbx, %r13
je 0x1c477
xorl %r14d, %r14d
movl $0x1, %r12d
cmpl $0xa, %r14d
jb 0x1c2a0
movl $0x4, %r12d
movl %r14d, %eax
cmpl $0x63, %eax
jbe 0x1c297
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x1c29d
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x1c2a0
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x1c262
addl $-0x3, %r12d
jmp 0x1c2a0
addl $-0x2, %r12d
jmp 0x1c2a0
decl %r12d
movl %r12d, %esi
leaq 0x48(%rsp), %rax
movq %rax, 0x38(%rsp)
leaq 0x38(%rsp), %r15
movq %r15, %rdi
movl $0x2d, %edx
callq 0x104c0
movq 0x38(%rsp), %rdi
movl %r12d, %esi
movl %r14d, %edx
callq 0x1e75d
movl $0x2, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x67e86(%rip), %rcx     # 0x84169
callq 0x10460
leaq 0x20(%rsp), %rsi
movq %rsi, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0xf8(%rsp), %r15
je 0x1c318
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x1c31e
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x10(%rsp), %rdi
leaq 0x67e2a(%rip), %rsi     # 0x8416c
callq 0x10770
movq %rbp, 0xf8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1c373
movq %rdx, 0xf8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x108(%rsp)
jmp 0x1c37a
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x100(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x24, 0xb4(%rsp)
movq %r15, %rdi
leaq 0xb4(%rsp), %rsi
callq 0x1d275
movq 0xf8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1c3cd
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x1c3e9
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x1c405
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x103d0
movq %r15, %rdi
movq %r13, %rsi
xorl %edx, %edx
leaq 0x80(%rsp), %rcx
callq 0x41a70
movq 0xf8(%rsp), %rsi
movq 0x100(%rsp), %rdx
movq 0x9ab67(%rip), %rdi     # 0xb6f98
callq 0x10490
movl $0x1, %edx
movq %rax, %rdi
leaq 0x69698(%rip), %rsi     # 0x85add
callq 0x10490
movq 0xf8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1c467
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x103d0
incl %r14d
addq $0x10, %r13
cmpq %rbx, %r13
jne 0x1c24d
leaq 0x80(%rsp), %rdi
callq 0x1d77a
leaq 0xb8(%rsp), %rdi
callq 0x404da
movq 0xa8(%rsp), %rdi
testq %rdi, %rdi
je 0x1c4a3
callq 0x1e6ee
movq 0x9ab1e(%rip), %rbx     # 0xb6fc8
leaq 0x38(%rsp), %r14
jmp 0x1c08a
jmp 0x1c579
jmp 0x1c581
jmp 0x1c579
movq %rdx, %r14
movq %rax, %r12
jmp 0x1c5be
movq %rdx, %r14
movq %rax, %r12
movq %r15, %rdi
callq 0x1d736
jmp 0x1c4e4
movq %rdx, %r14
movq %rax, %r12
leaq 0x38(%rsp), %rdi
callq 0x1d736
jmp 0x1c4f6
movq %rdx, %r14
movq %rax, %r12
leaq 0x10(%rsp), %rdi
callq 0x1d736
jmp 0x1c5d0
movq %rdx, %r14
movq %rax, %r12
jmp 0x1c5d0
jmp 0x1c579
jmp 0x1c579
movq %rdx, %r14
movq %rax, %r12
movq 0xf8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1c53f
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x1c53f
movq %rdx, %r14
movq %rax, %r12
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x1c563
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x1c563
movq %rdx, %r14
movq %rax, %r12
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x1c5a4
movq 0x48(%rsp), %rsi
jmp 0x1c59c
movq %rdx, %r14
movq %rax, %r12
jmp 0x1c5a4
movq %rdx, %r14
movq %rax, %r12
movq 0xf8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1c5a4
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0x80(%rsp), %rdi
callq 0x1d77a
leaq 0xb8(%rsp), %rdi
callq 0x404da
movq 0xa8(%rsp), %rdi
testq %rdi, %rdi
je 0x1c5d0
callq 0x1e6ee
cmpl $0x1, %r14d
jne 0x1c691
movq %r12, %rdi
callq 0x101a0
movq %rax, %rdi
callq 0x1f644
callq 0x10690
movq 0x9a9d2(%rip), %rbx     # 0xb6fc8
leaq 0x38(%rsp), %r14
leaq 0xf8(%rsp), %r15
jmp 0x1c08a
jmp 0x1c68e
movq %rax, %r12
callq 0x10690
jmp 0x1c691
jmp 0x1c6ae
movq %rdx, %rbx
movq %rax, %r12
movq 0x88(%rsp), %rdi
testq %rdi, %rdi
je 0x1c63c
callq 0x1e6ee
jmp 0x1c63c
movq %rdx, %rbx
movq %rax, %r12
leaq 0xf8(%rsp), %rdi
callq 0x1d736
jmp 0x1c651
movq %rdx, %rbx
movq %rax, %r12
leaq 0x38(%rsp), %rdi
callq 0x1d736
jmp 0x1c663
movq %rdx, %rbx
movq %rax, %r12
leaq 0x10(%rsp), %rdi
callq 0x1d736
jmp 0x1c675
movq %rdx, %rbx
movq %rax, %r12
movq 0x60(%rsp), %rdi
cmpq %r14, %rdi
je 0x1c6b4
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x1c6b4
movq %rax, %r12
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x1c952
movq 0x70(%rsp), %rsi
jmp 0x1c882
movq %rdx, %rbx
movq %rax, %r12
cmpl $0x1, %ebx
jne 0x1c952
movq %r12, %rdi
callq 0x101a0
movq %rax, %rbx
movq 0x9a8c9(%rip), %rdi     # 0xb6f98
leaq 0x67a36(%rip), %rsi     # 0x8410c
movl $0x21, %edx
callq 0x10490
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x10(%rax)
leaq 0xf8(%rsp), %rdi
leaq 0x10(%rsp), %rdx
movq %rax, %rsi
callq 0x1d238
movq 0xf8(%rsp), %rsi
movq 0x100(%rsp), %rdx
movq 0x9a883(%rip), %rdi     # 0xb6f98
callq 0x10490
leaq 0x693bc(%rip), %rsi     # 0x85add
movl $0x1, %edx
movq %rax, %rdi
callq 0x10490
movq 0xf8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1c74b
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x103d0
callq 0x10690
jmp 0x1c062
jmp 0x1c88f
movq %rax, %r12
movq 0xf8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1c781
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x1c781
jmp 0x1c77e
movq %rax, %r12
callq 0x10690
jmp 0x1c952
jmp 0x1c866
jmp 0x1c88f
jmp 0x1c7dc
movq %rdx, %rbx
movq %rax, %r12
movq 0xa8(%rsp), %rdi
testq %rdi, %rdi
je 0x1c812
callq 0x1e6ee
jmp 0x1c812
movq %rdx, %rbx
movq %rax, %r12
leaq 0x10(%rsp), %rdi
callq 0x1d736
jmp 0x1c7f5
jmp 0x1c7dc
movq %rdx, %rbx
movq %rax, %r12
movq 0x10(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1c812
movq 0x20(%rsp), %rsi
jmp 0x1c80a
movq %rdx, %rbx
movq %rax, %r12
jmp 0x1c812
jmp 0x1c854
jmp 0x1c854
jmp 0x1c854
jmp 0x1c88f
movq %rdx, %rbx
movq %rax, %r12
movq 0x80(%rsp), %rdi
cmpq %r14, %rdi
je 0x1c812
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x103d0
cmpl $0x1, %ebx
jne 0x1c90d
movq %r12, %rdi
callq 0x101a0
movq %rax, %rdi
callq 0x1f644
movl $0x1, %ebx
callq 0x10690
jmp 0x1bde1
jmp 0x1c90a
movq %rax, %r12
callq 0x10690
jmp 0x1c90d
movq %rax, %rdi
callq 0x1d76e
movq %rax, %r12
jmp 0x1c945
jmp 0x1c88f
jmp 0x1c866
jmp 0x1c88f
jmp 0x1c866
jmp 0x1c88f
movq %rax, %r12
movq 0xf8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1c952
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x1c952
movq %rax, %r12
jmp 0x1c952
jmp 0x1c8c6
jmp 0x1c8c6
jmp 0x1c8d6
movq %rax, %r12
movq 0xf8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1c95f
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x1c95f
movq %rax, %r12
jmp 0x1c95f
movq %rax, %r12
jmp 0x1c96c
movq %rax, %r12
movq 0x10(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1c945
movq 0x20(%rsp), %rsi
jmp 0x1c93d
jmp 0x1c8ec
movq %rax, %r12
movq 0x10(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1c90d
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x103d0
jmp 0x1c90d
jmp 0x1c90a
movq %rax, %r12
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x1c929
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x1c945
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0xf8(%rsp), %rdi
callq 0x100d0
leaq 0x320(%rsp), %rdi
callq 0x208f4
leaq 0xc8(%rsp), %rdi
callq 0x1dcfe
leaq 0x390(%rsp), %rdi
callq 0x1dca2
leaq 0x360(%rsp), %rdi
callq 0x1dcfe
movq %r12, %rdi
callq 0x106f0