// File: /workspace/github_cpp_makefile_star2_O1/codeandkey[P]neocortex/src/uci.cpp
// Function: neocortex::uci::start()
void uci::start() {
	std::string handshake  = read_command();
	search::Search searcher;

	if (handshake != "uci") {
		throw std::runtime_error(util::format("Invalid UCI: expected 'uci', read '%s'", handshake.c_str()));
	}

	std::cout << "uciok\n";
	std::cout << "id name " << uci::NAME << "\n";
	std::cout << "id author " << uci::AUTHOR << "\n";
	std::cout << "option name Threads type spin default " << searcher.max_threads() << " min 1 max " << searcher.max_threads() << "\n";

	while (true) {
		std::string command = read_command();
		std::vector<std::string> parts = util::split(command, ' ');

		if (!parts.size()) continue;
			
		if (parts[0] == "quit") {
			break;
		}
		else if (parts[0] == "isready") {
			std::cout << "readyok\n";
		}
		else if (parts[0] == "stop") {
			searcher.stop();
		}
		else if (parts[0] == "setoption") {
			if (parts.size() > 1) {
				if (parts[1] == "Threads") {
					if (parts.size() < 4) {
						neocortex_warn("setoption: not enough parameters\n");
					}
					else {
						if (parts[2] == "value") {
							searcher.set_threads(std::stoi(parts[3]));
						}
						else {
							neocortex_warn("setoption: expected 'value', read '%s'\n", parts[2].c_str());
						}
					}
				}
			}
			else {
				neocortex_warn("setoption: argument required\n");
			}
		}
		else if (parts[0] == "go") {
			int wtime = -1, btime = -1, winc = -1, binc = -1, depth = -1, movetime = -1;
			bool infinite = false;

			/* Parse UCI options. */
			for (size_t i = 1; i < parts.size(); ++i) {
				if (isdigit(parts[i][0])) continue;

				if (parts[i] == "wtime") wtime = safe_parseint(parts, i + 1);
				else if (parts[i] == "btime") btime = safe_parseint(parts, i + 1);
				else if (parts[i] == "winc") winc = safe_parseint(parts, i + 1);
				else if (parts[i] == "binc") binc = safe_parseint(parts, i + 1);
				else if (parts[i] == "depth") depth = safe_parseint(parts, i + 1);
				else if (parts[i] == "movetime") movetime = safe_parseint(parts, i + 1);
				else if (parts[i] == "infinite") infinite = true;
				else if (parts[i] == "movestogo") {} /* ignore movestogo */
				else {
					throw util::fmterr("Invalid argument: %s", parts[i].c_str());
				}
			}

#ifndef NDEBUG
			std::string dbg, fen;
			searcher.get_position().evaluate(&dbg);
			fen = searcher.get_position().to_fen();
			neocortex_info("position [%s]:\n%s\n", fen.c_str(), dbg.c_str());
#endif

			searcher.go(write_info, write_bestmove, wtime, btime, winc, binc, depth, movetime, infinite);
		}
		else if (parts[0] == "dump") {
			std::string dbg, fen;
			searcher.get_position().evaluate(&dbg);
			fen = searcher.get_position().to_fen();
			neocortex_info("position [%s]:\n%s\n", fen.c_str(), dbg.c_str());
			neocortex_info("position [%s] dump:\n%s\n", fen.c_str(), searcher.get_position().dump().c_str());
		}
		else if (parts[0] == "position") {
			searcher.stop();

			if (parts.size() < 2) {
				neocortex_warn("Invalid UCI: position must be followed by 'startpos' or a FEN\n");
				continue;
			}

			Position pos;
			int expected_moves = 2;

			if (parts[1] != "startpos") {
				if (parts.size() < 7) {
					neocortex_warn("Invalid UCI: not enough FEN fields for position [need %d, have %d]\n", 6, parts.size());
					continue;
				}

				std::string fen = util::join(std::vector<std::string>(parts.begin() + 1, parts.begin() + 7), " ");

				pos = fen;
				expected_moves = 7;
			}

			if (expected_moves < (int) parts.size()) {
				if (parts[expected_moves] != "moves") {
					neocortex_warn("Invalid UCI: expected 'moves', read '%s'\n", parts[expected_moves].c_str());
					continue;
				}

				for (size_t i = (size_t) expected_moves + 1; i < parts.size(); ++i) {
					Move pl_moves[MAX_PL_MOVES], matched_move = Move::null;
					int num_pl_moves;

					num_pl_moves = pos.pseudolegal_moves(pl_moves);

					for (int j = 0; j < num_pl_moves; ++j) {
						if (pl_moves[j].match_uci(parts[i])) {
							assert(matched_move == Move::null);
							matched_move = pl_moves[j];
						}
					}

					if (matched_move == Move::null) {
						neocortex_warn("Invalid UCI: unmatched move '%s'\n", parts[i].c_str());
						break;
					}

					pos.make_move(matched_move);
				}
			}

			searcher.load(pos);
			neocortex_debug("Loaded position %s\n", pos.to_fen().c_str());
		}
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28bf8, %rsp          # imm = 0x28BF8
leaq 0x300(%rsp), %rdi
callq 0x13fef
leaq 0x20a80(%rsp), %rdi
callq 0x880c
leaq 0x10700(%rsp), %rdi
leaq 0x20a80(%rsp), %rsi
callq 0xfa8c
movq 0x20bd8(%rsp), %rdi
testq %rdi, %rdi
je 0x12521
movq 0x20be8(%rsp), %rsi
subq %rdi, %rsi
callq 0x42b0
leaq 0x7b03(%rip), %rsi      # 0x1a02b
leaq 0x300(%rsp), %rdi
callq 0x4080
testl %eax, %eax
jne 0x138d3
movq 0xea5c(%rip), %rdi      # 0x20fa0
leaq 0x7b0b(%rip), %rsi      # 0x1a056
movl $0x6, %edx
callq 0x4300
movq 0xea44(%rip), %rdi      # 0x20fa0
leaq 0x7afa(%rip), %rsi      # 0x1a05d
movl $0x8, %edx
callq 0x4300
movq 0xea2c(%rip), %rdi      # 0x20fa0
leaq 0x7aeb(%rip), %rsi      # 0x1a066
movl $0x19, %edx
callq 0x4300
movq 0xea14(%rip), %rdi      # 0x20fa0
leaq 0x6b9d(%rip), %rsi      # 0x19130
movl $0x1, %edx
callq 0x4300
movq 0xe9fc(%rip), %rdi      # 0x20fa0
leaq 0x7ad5(%rip), %rsi      # 0x1a080
movl $0xa, %edx
callq 0x4300
movq 0xe9e4(%rip), %rdi      # 0x20fa0
leaq 0x7ac8(%rip), %rsi      # 0x1a08b
movl $0xe, %edx
callq 0x4300
movq 0xe9cc(%rip), %rdi      # 0x20fa0
leaq 0x6b55(%rip), %rsi      # 0x19130
movl $0x1, %edx
callq 0x4300
movq 0xe9b4(%rip), %rdi      # 0x20fa0
leaq 0x7aa7(%rip), %rsi      # 0x1a09a
movl $0x26, %edx
callq 0x4300
leaq 0x10700(%rsp), %rdi
callq 0x11520
movq 0xe98f(%rip), %rdi      # 0x20fa0
movl %eax, %esi
callq 0x44d0
movq %rax, %rbx
leaq 0x7a9f(%rip), %rsi      # 0x1a0c1
movl $0xb, %edx
movq %rax, %rdi
callq 0x4300
leaq 0x10700(%rsp), %rdi
callq 0x11520
movq %rbx, %rdi
movl %eax, %esi
callq 0x44d0
leaq 0x6ae3(%rip), %rsi      # 0x19130
movl $0x1, %edx
movq %rax, %rdi
callq 0x4300
leaq 0x2f0(%rsp), %rbx
movl $0x158, %eax            # imm = 0x158
leaq 0x8580(%rsp), %rcx
leaq (%rcx,%rax), %rdx
movq %rdx, 0x280(%rsp)
movl $0x170, %edx            # imm = 0x170
leaq 0x408(%rsp), %rsi
leaq (%rsi,%rdx), %rdi
movq %rdi, 0xa8(%rsp)
addq %rdx, %rcx
movq %rcx, 0x278(%rsp)
leaq 0x30(%rsp), %r13
leaq 0x18908(%rsp), %rcx
leaq (%rcx,%rax), %rdi
movq %rdi, 0x298(%rsp)
addq %rsi, %rax
movq %rax, 0x290(%rsp)
addq %rcx, %rdx
movq %rdx, 0x288(%rsp)
leaq 0x98(%rsp), %r14
leaq 0x8(%rsp), %rbp
leaq 0x88(%rsp), %rdi
callq 0x13fef
movq %rbx, 0x2e0(%rsp)
movq 0x88(%rsp), %rsi
movq 0x90(%rsp), %rdx
addq %rsi, %rdx
leaq 0x2e0(%rsp), %r15
movq %r15, %rdi
callq 0x6e64
movq %rbp, %rdi
movq %r15, %rsi
movl $0x20, %edx
callq 0x15d76
movq 0x2e0(%rsp), %rdi
cmpq %rbx, %rdi
je 0x12740
movq 0x2f0(%rsp), %rsi
incq %rsi
callq 0x42b0
movq 0x8(%rsp), %rdi
cmpq %rdi, 0x10(%rsp)
je 0x1311c
leaq 0x7976(%rip), %rsi      # 0x1a0cd
callq 0x4080
testl %eax, %eax
je 0x12877
movq 0x8(%rsp), %rdi
leaq 0x7962(%rip), %rsi      # 0x1a0d2
callq 0x4080
testl %eax, %eax
je 0x1287e
movq 0x8(%rsp), %rdi
leaq 0x795a(%rip), %rsi      # 0x1a0e3
callq 0x4080
testl %eax, %eax
je 0x1289b
movq 0x8(%rsp), %rdi
leaq 0x7946(%rip), %rsi      # 0x1a0e8
callq 0x4080
testl %eax, %eax
je 0x128ad
movq 0x8(%rsp), %rdi
leaq 0x79e2(%rip), %rsi      # 0x1a19d
callq 0x4080
testl %eax, %eax
je 0x1294f
movq 0x8(%rsp), %rdi
leaq 0x79f4(%rip), %rsi      # 0x1a1c8
callq 0x4080
testl %eax, %eax
je 0x12c29
movq 0x8(%rsp), %rdi
leaq 0x79f8(%rip), %rsi      # 0x1a1e5
callq 0x4080
testl %eax, %eax
jne 0x1311c
leaq 0x10700(%rsp), %rdi
callq 0xfc66
movq 0x10(%rsp), %rax
subq 0x8(%rsp), %rax
cmpq $0x20, %rax
ja 0x13158
leaq 0x1c8(%rsp), %rax
movq %rax, 0x1b8(%rsp)
leaq 0x1b8(%rsp), %rbx
movq %rbx, %rdi
leaq 0x79b1(%rip), %rsi      # 0x1a1ee
leaq 0x79e8(%rip), %rdx      # 0x1a22c
callq 0x6fca
movq %rbx, %rdi
callq 0x14370
movq 0x1b8(%rsp), %rdi
leaq 0x1c8(%rsp), %rax
cmpq %rax, %rdi
je 0x1311c
movq 0x1c8(%rsp), %rsi
jmp 0x13114
movb $0x1, %bl
jmp 0x1311e
movl $0x8, %edx
movq 0xe716(%rip), %rdi      # 0x20fa0
leaq 0x7849(%rip), %rsi      # 0x1a0da
callq 0x4300
jmp 0x1311c
leaq 0x10700(%rsp), %rdi
callq 0xfc66
jmp 0x1311c
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rax
subq %rdi, %rax
cmpq $0x21, %rax
jb 0x12bcd
addq $0x20, %rdi
leaq 0x7823(%rip), %rsi      # 0x1a0f2
callq 0x4080
testl %eax, %eax
jne 0x1311c
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rax
subq %rdi, %rax
cmpq $0x7f, %rax
ja 0x131f9
leaq 0x268(%rsp), %rax
movq %rax, 0x258(%rsp)
leaq 0x258(%rsp), %rbx
movq %rbx, %rdi
leaq 0x77e5(%rip), %rsi      # 0x1a0fa
leaq 0x77ff(%rip), %rdx      # 0x1a11b
callq 0x6fca
movq %rbx, %rdi
callq 0x14370
movq 0x258(%rsp), %rdi
leaq 0x268(%rsp), %rax
cmpq %rax, %rdi
je 0x1311c
movq 0x268(%rsp), %rsi
jmp 0x13114
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rax
subq %rdi, %rax
cmpq $0x21, %rax
jb 0x12e44
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movl $0x20, %r15d
movl $0x2, %r14d
xorl %r13d, %r13d
movl $0xffffffff, 0x48(%rsp) # imm = 0xFFFFFFFF
movl $0xffffffff, 0x44(%rsp) # imm = 0xFFFFFFFF
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movq %rax, 0x50(%rsp)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movq %rax, 0x58(%rsp)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movq %rax, 0x60(%rsp)
movq (%rdi,%r15), %rax
movsbl (%rax), %eax
addl $-0x30, %eax
cmpl $0xa, %eax
jb 0x12b9e
addq %r15, %rdi
leaq 0x77a3(%rip), %rsi      # 0x1a168
callq 0x4080
testl %eax, %eax
je 0x12a9b
movq 0x8(%rsp), %rdi
addq %r15, %rdi
leaq 0x778d(%rip), %rsi      # 0x1a16e
callq 0x4080
testl %eax, %eax
je 0x12ac5
movq 0x8(%rsp), %rdi
addq %r15, %rdi
leaq 0x7777(%rip), %rsi      # 0x1a174
callq 0x4080
testl %eax, %eax
je 0x12af1
movq 0x8(%rsp), %rdi
addq %r15, %rdi
leaq 0x7760(%rip), %rsi      # 0x1a179
callq 0x4080
testl %eax, %eax
je 0x12b1a
movq 0x8(%rsp), %rdi
addq %r15, %rdi
leaq 0x7749(%rip), %rsi      # 0x1a17e
callq 0x4080
testl %eax, %eax
je 0x12b44
movq 0x8(%rsp), %rdi
addq %r15, %rdi
leaq 0x7733(%rip), %rsi      # 0x1a184
callq 0x4080
testl %eax, %eax
je 0x12b6e
movq 0x8(%rsp), %rdi
addq %r15, %rdi
leaq 0x7720(%rip), %rsi      # 0x1a18d
callq 0x4080
testl %eax, %eax
je 0x12bc8
movq 0x8(%rsp), %rdi
addq %r15, %rdi
leaq 0x770d(%rip), %rsi      # 0x1a196
callq 0x4080
testl %eax, %eax
je 0x12b9e
jmp 0x13951
leaq 0x3f0(%rsp), %rdi
movq %rbp, %rsi
callq 0x14638
leaq 0x3f0(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x140dd
movl %eax, %ebx
jmp 0x12b96
leaq 0x3d8(%rsp), %rdi
movq %rbp, %rsi
callq 0x14638
leaq 0x3d8(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x140dd
movl %eax, 0x48(%rsp)
jmp 0x12b96
leaq 0x3c0(%rsp), %rdi
movq %rbp, %rsi
callq 0x14638
leaq 0x3c0(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x140dd
movl %eax, 0x44(%rsp)
jmp 0x12b96
leaq 0x3a8(%rsp), %rdi
movq %rbp, %rsi
callq 0x14638
leaq 0x3a8(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x140dd
movq %rax, 0x60(%rsp)
jmp 0x12b96
leaq 0x390(%rsp), %rdi
movq %rbp, %rsi
callq 0x14638
leaq 0x390(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x140dd
movq %rax, 0x58(%rsp)
jmp 0x12b96
leaq 0x378(%rsp), %rdi
movq %rbp, %rsi
callq 0x14638
leaq 0x378(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x140dd
movq %rax, 0x50(%rsp)
movq %r12, %rdi
callq 0x6e08
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rax
subq %rdi, %rax
sarq $0x5, %rax
addq $0x20, %r15
leaq 0x1(%r14), %rcx
cmpq %rax, %r14
movq %rcx, %r14
jb 0x129a8
jmp 0x12e84
movb $0x1, %r13b
jmp 0x12b9e
leaq 0x228(%rsp), %rax
movq %rax, 0x218(%rsp)
leaq 0x218(%rsp), %rbx
movq %rbx, %rdi
leaq 0x755b(%rip), %rsi      # 0x1a14a
leaq 0x7571(%rip), %rdx      # 0x1a167
callq 0x6fca
movq %rbx, %rdi
callq 0x14370
movq 0x218(%rsp), %rdi
leaq 0x228(%rsp), %rax
cmpq %rax, %rdi
je 0x1311c
movq 0x228(%rsp), %rsi
jmp 0x13114
leaq 0x8590(%rsp), %rax
movq %rax, 0x8580(%rsp)
xorl %eax, %eax
movq %rax, 0x8588(%rsp)
movb %al, 0x8590(%rsp)
movq %r13, 0x20(%rsp)
movq %rax, 0x28(%rsp)
movb %al, 0x30(%rsp)
leaq 0x408(%rsp), %rbx
movq %rbx, %rdi
leaq 0x10700(%rsp), %rsi
callq 0x11532
movq %rbx, %rdi
leaq 0x8580(%rsp), %rsi
callq 0xd30c
movq 0x560(%rsp), %rdi
testq %rdi, %rdi
je 0x12c9d
movq 0x570(%rsp), %rsi
subq %rdi, %rsi
callq 0x42b0
leaq 0x408(%rsp), %rbx
movq %rbx, %rdi
leaq 0x10700(%rsp), %rsi
callq 0x11532
leaq 0x68(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
callq 0x8f40
leaq 0x20(%rsp), %rdi
movq %r15, %rsi
callq 0x4330
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x12cee
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x42b0
movq 0x560(%rsp), %rdi
testq %rdi, %rdi
je 0x12d0b
movq 0x570(%rsp), %rsi
subq %rdi, %rsi
callq 0x42b0
leaq 0x1e8(%rsp), %rax
movq %rax, 0x1d8(%rsp)
leaq 0x1d8(%rsp), %rbx
movq %rbx, %rdi
leaq 0x7488(%rip), %rsi      # 0x1a1b5
leaq 0x7493(%rip), %rdx      # 0x1a1c7
callq 0x6fca
movq 0x20(%rsp), %rsi
movq 0x8580(%rsp), %rdx
movq %rbx, %rdi
callq 0x146c2
movq 0x1d8(%rsp), %rdi
leaq 0x1e8(%rsp), %rax
cmpq %rax, %rdi
je 0x12d73
movq 0x1e8(%rsp), %rsi
incq %rsi
callq 0x42b0
leaq 0x128(%rsp), %rax
movq %rax, 0x118(%rsp)
leaq 0x118(%rsp), %rdi
leaq 0x743b(%rip), %rsi      # 0x1a1cd
leaq 0x744b(%rip), %rdx      # 0x1a1e4
callq 0x6fca
movq 0x20(%rsp), %rbx
leaq 0x408(%rsp), %r15
movq %r15, %rdi
leaq 0x10700(%rsp), %rsi
callq 0x11532
leaq 0x68(%rsp), %rdi
movq %r15, %rsi
callq 0xee18
movq 0x68(%rsp), %rdx
leaq 0x118(%rsp), %rdi
movq %rbx, %rsi
callq 0x146c2
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x12df9
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x42b0
movq 0x560(%rsp), %rdi
testq %rdi, %rdi
je 0x12e16
movq 0x570(%rsp), %rsi
subq %rdi, %rsi
callq 0x42b0
movq 0x118(%rsp), %rdi
leaq 0x128(%rsp), %rax
cmpq %rax, %rdi
je 0x130e0
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x42b0
jmp 0x130e0
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movq %rax, 0x60(%rsp)
movl $0x0, 0x4c(%rsp)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movq %rax, 0x58(%rsp)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movq %rax, 0x50(%rsp)
movl $0xffffffff, 0x44(%rsp) # imm = 0xFFFFFFFF
movq %r13, %r15
movl $0xffffffff, 0x48(%rsp) # imm = 0xFFFFFFFF
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
jmp 0x12e96
movl %r13d, 0x4c(%rsp)
leaq 0x98(%rsp), %r14
leaq 0x30(%rsp), %r15
leaq 0x8590(%rsp), %rax
movq %rax, 0x8580(%rsp)
xorl %eax, %eax
movq %rax, 0x8588(%rsp)
movb %al, 0x8590(%rsp)
movq %r15, %r13
movq %r15, 0x20(%rsp)
movq %rax, 0x28(%rsp)
movb %al, 0x30(%rsp)
leaq 0x408(%rsp), %r15
movq %r15, %rdi
leaq 0x10700(%rsp), %rsi
callq 0x11532
movq %r15, %rdi
leaq 0x8580(%rsp), %rsi
callq 0xd30c
movq 0x560(%rsp), %rdi
testq %rdi, %rdi
je 0x12f0d
movq 0x570(%rsp), %rsi
subq %rdi, %rsi
callq 0x42b0
leaq 0x408(%rsp), %r15
movq %r15, %rdi
leaq 0x10700(%rsp), %rsi
callq 0x11532
leaq 0x68(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x8f40
leaq 0x20(%rsp), %rdi
movq %r12, %rsi
callq 0x4330
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x12f5e
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x42b0
movq 0x560(%rsp), %rdi
testq %rdi, %rdi
je 0x12f7b
movq 0x570(%rsp), %rsi
subq %rdi, %rsi
callq 0x42b0
leaq 0x208(%rsp), %rax
movq %rax, 0x1f8(%rsp)
leaq 0x1f8(%rsp), %r15
movq %r15, %rdi
leaq 0x7218(%rip), %rsi      # 0x1a1b5
leaq 0x7223(%rip), %rdx      # 0x1a1c7
callq 0x6fca
movq 0x20(%rsp), %rsi
movq 0x8580(%rsp), %rdx
movq %r15, %rdi
callq 0x146c2
movq 0x1f8(%rsp), %rdi
leaq 0x208(%rsp), %rax
cmpq %rax, %rdi
je 0x12fe3
movq 0x208(%rsp), %rsi
incq %rsi
callq 0x42b0
xorps %xmm0, %xmm0
movaps %xmm0, 0xd0(%rsp)
movaps %xmm0, 0xe0(%rsp)
leaq 0x122d(%rip), %rax      # 0x1422a
movq %rax, 0xd0(%rsp)
leaq 0x299c(%rip), %rax      # 0x159a8
movq %rax, 0xe8(%rsp)
leaq 0x29cb(%rip), %rax      # 0x159e6
movq %rax, 0xe0(%rsp)
movaps %xmm0, 0xb0(%rsp)
movaps %xmm0, 0xc0(%rsp)
leaq 0x127f(%rip), %rax      # 0x142b9
movq %rax, 0xb0(%rsp)
leaq 0x29bf(%rip), %rax      # 0x15a08
movq %rax, 0xc8(%rsp)
leaq 0x29bc(%rip), %rax      # 0x15a14
movq %rax, 0xc0(%rsp)
movzbl 0x4c(%rsp), %eax
andl $0x1, %eax
leaq 0x10700(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
leaq 0xb0(%rsp), %rdx
movl %ebx, %ecx
movl 0x48(%rsp), %r8d
movl 0x44(%rsp), %r9d
pushq %rax
pushq 0x58(%rsp)
pushq 0x68(%rsp)
pushq 0x78(%rsp)
callq 0xfc92
addq $0x20, %rsp
movq 0xc0(%rsp), %rax
testq %rax, %rax
je 0x130c1
leaq 0xb0(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0xe0(%rsp), %rax
testq %rax, %rax
je 0x130e0
leaq 0xd0(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x20(%rsp), %rdi
cmpq %r13, %rdi
je 0x130f7
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x42b0
movq 0x8580(%rsp), %rdi
leaq 0x8590(%rsp), %rax
cmpq %rax, %rdi
je 0x1311c
movq 0x8590(%rsp), %rsi
incq %rsi
callq 0x42b0
xorl %ebx, %ebx
movq %rbp, %rdi
callq 0x6e08
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x13143
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x42b0
testb %bl, %bl
leaq 0x2f0(%rsp), %rbx
je 0x126db
jmp 0x13874
leaq 0x408(%rsp), %rdi
callq 0x880c
movq 0x8(%rsp), %rdi
addq $0x20, %rdi
leaq 0x70b8(%rip), %rsi      # 0x1a22d
callq 0x4080
testl %eax, %eax
je 0x13276
movq 0x8(%rsp), %rdx
movq 0x10(%rsp), %rax
subq %rdx, %rax
cmpq $0xdf, %rax
ja 0x13280
leaq 0x2d0(%rsp), %rax
movq %rax, 0x2c0(%rsp)
leaq 0x2c0(%rsp), %rbx
movq %rbx, %rdi
leaq 0x7079(%rip), %rsi      # 0x1a236
leaq 0x70b5(%rip), %rdx      # 0x1a279
callq 0x6fca
movq 0x10(%rsp), %rdx
subq 0x8(%rsp), %rdx
sarq $0x5, %rdx
movq %rbx, %rdi
movl $0x6, %esi
callq 0x14838
movq 0x2c0(%rsp), %rdi
leaq 0x2d0(%rsp), %rcx
jmp 0x137c8
addq $0x40, %rdi
leaq 0x6f18(%rip), %rsi      # 0x1a11c
callq 0x4080
testl %eax, %eax
je 0x137fc
leaq 0x248(%rsp), %rax
movq %rax, 0x238(%rsp)
leaq 0x238(%rsp), %rbx
movq %rbx, %rdi
leaq 0x6eef(%rip), %rsi      # 0x1a122
leaq 0x6f0f(%rip), %rdx      # 0x1a149
callq 0x6fca
movq 0x8(%rsp), %rax
movq 0x40(%rax), %rsi
movq %rbx, %rdi
callq 0x144d2
movq 0x238(%rsp), %rdi
leaq 0x248(%rsp), %rax
cmpq %rax, %rdi
je 0x1311c
movq 0x248(%rsp), %rsi
jmp 0x13114
movl $0x2, %eax
jmp 0x13455
leaq 0x20(%rdx), %rsi
addq $0xe0, %rdx
leaq 0x320(%rsp), %rdi
leaq 0x8580(%rsp), %rcx
callq 0x149aa
leaq 0x1a8(%rsp), %rax
movq %rax, 0x198(%rsp)
leaq 0x198(%rsp), %rbx
movq %rbx, %rdi
leaq 0x6b9d(%rip), %rsi      # 0x19e5f
leaq 0x6b97(%rip), %rdx      # 0x19e60
callq 0x6fca
leaq 0x20(%rsp), %rdi
leaq 0x320(%rsp), %rsi
movq %rbx, %rdx
callq 0x16126
movq 0x198(%rsp), %rdi
leaq 0x1a8(%rsp), %rax
cmpq %rax, %rdi
je 0x13308
movq 0x1a8(%rsp), %rsi
incq %rsi
callq 0x42b0
leaq 0x320(%rsp), %rdi
callq 0x6e08
leaq 0x188(%rsp), %rax
movq %rax, 0x178(%rsp)
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rdx
addq %rsi, %rdx
leaq 0x178(%rsp), %r14
movq %r14, %rdi
callq 0x6e64
leaq 0x8580(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x89ae
movl $0x158, %edx            # imm = 0x158
leaq 0x408(%rsp), %rdi
movq %rbx, %rsi
callq 0x4230
movq 0x560(%rsp), %rdi
movq 0x568(%rsp), %rax
movq 0x570(%rsp), %rsi
movq 0x86d8(%rsp), %rcx
movq %rcx, 0x560(%rsp)
movups 0x86e0(%rsp), %xmm0
movups %xmm0, 0x568(%rsp)
movq %rdi, 0x86d8(%rsp)
movq %rax, 0x86e0(%rsp)
movq %rsi, 0x86e8(%rsp)
movq 0x280(%rsp), %rax
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
testq %rdi, %rdi
je 0x133dd
subq %rdi, %rsi
callq 0x42b0
movl $0x8008, %edx           # imm = 0x8008
movq 0xa8(%rsp), %rdi
movq 0x278(%rsp), %rsi
callq 0x4230
movq 0x86d8(%rsp), %rdi
testq %rdi, %rdi
je 0x13414
movq 0x86e8(%rsp), %rsi
subq %rdi, %rsi
callq 0x42b0
movq 0x178(%rsp), %rdi
leaq 0x188(%rsp), %rax
cmpq %rax, %rdi
je 0x13439
movq 0x188(%rsp), %rsi
incq %rsi
callq 0x42b0
movq 0x20(%rsp), %rdi
cmpq %r13, %rdi
je 0x13450
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x42b0
movl $0x7, %eax
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rcx
subq %rdi, %rcx
shrq $0x5, %rcx
cmpl %ecx, %eax
jge 0x136b8
movl %eax, %r15d
shll $0x5, %eax
addq %rax, %rdi
leaq 0x6dfc(%rip), %rsi      # 0x1a27a
callq 0x4080
testl %eax, %eax
je 0x134f8
leaq 0x2b0(%rsp), %rax
movq %rax, 0x2a0(%rsp)
leaq 0x2a0(%rsp), %rbx
movq %rbx, %rdi
leaq 0x6dd7(%rip), %rsi      # 0x1a280
leaq 0x6df9(%rip), %rdx      # 0x1a2a9
callq 0x6fca
movq 0x8(%rsp), %rax
shll $0x5, %r15d
movq (%rax,%r15), %rsi
movq %rbx, %rdi
callq 0x144d2
movq 0x2a0(%rsp), %rdi
leaq 0x2b0(%rsp), %rcx
movq %rcx, %rax
cmpq %rcx, %rdi
leaq 0x98(%rsp), %r14
leaq 0x30(%rsp), %r13
jne 0x137d0
jmp 0x137db
incq %r15
movq 0x10(%rsp), %rax
subq 0x8(%rsp), %rax
sarq $0x5, %rax
cmpq %rax, %r15
jae 0x136b8
xorl %ebx, %ebx
leaq (%rsp,%rbx), %rdi
addq $0x8580, %rdi           # imm = 0x8580
callq 0x7648
addq $0xc, %rbx
cmpq $0x4b0, %rbx            # imm = 0x4B0
jne 0x13514
leaq 0x17660(%rip), %rcx     # 0x2ab98
movl 0x8(%rcx), %eax
movl %eax, 0x28(%rsp)
movq (%rcx), %rax
movq %rax, 0x20(%rsp)
leaq 0x408(%rsp), %rdi
leaq 0x8580(%rsp), %rsi
callq 0x9cc2
testl %eax, %eax
jle 0x13616
movl %eax, %r13d
leaq 0x8580(%rsp), %rbx
movq 0x8(%rsp), %rax
movq %r15, %rcx
shlq $0x5, %rcx
leaq 0x108(%rsp), %rdx
movq %rdx, 0xf8(%rsp)
movq (%rax,%rcx), %rsi
movq 0x8(%rax,%rcx), %rdx
addq %rsi, %rdx
leaq 0xf8(%rsp), %rdi
callq 0x6e64
movq %rbx, %rdi
leaq 0xf8(%rsp), %rsi
callq 0x795e
movl %eax, %r14d
movq 0xf8(%rsp), %rdi
leaq 0x108(%rsp), %rax
cmpq %rax, %rdi
je 0x135dc
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x42b0
testb %r14b, %r14b
je 0x13609
leaq 0x20(%rsp), %rdi
leaq 0x175ab(%rip), %rsi     # 0x2ab98
callq 0x79fa
testb %al, %al
je 0x138b4
movl 0x8(%rbx), %eax
movl %eax, 0x28(%rsp)
movq (%rbx), %rax
movq %rax, 0x20(%rsp)
addq $0xc, %rbx
decq %r13
jne 0x1356f
leaq 0x20(%rsp), %rdi
leaq 0x17576(%rip), %rsi     # 0x2ab98
callq 0x79fa
movl %eax, %ebx
testb %al, %al
je 0x1369a
leaq 0x168(%rsp), %rax
movq %rax, 0x158(%rsp)
leaq 0x158(%rsp), %r14
movq %r14, %rdi
leaq 0x6c9f(%rip), %rsi      # 0x1a2ee
leaq 0x6cb9(%rip), %rdx      # 0x1a30f
callq 0x6fca
movq 0x8(%rsp), %rax
movq %r15, %rcx
shlq $0x5, %rcx
movq (%rax,%rcx), %rsi
movq %r14, %rdi
callq 0x144d2
movq 0x158(%rsp), %rdi
leaq 0x168(%rsp), %rax
cmpq %rax, %rdi
je 0x136b0
movq 0x168(%rsp), %rsi
incq %rsi
callq 0x42b0
jmp 0x136b0
movq 0x20(%rsp), %rsi
movl 0x28(%rsp), %edx
leaq 0x408(%rsp), %rdi
callq 0x947c
testb %bl, %bl
je 0x134f8
movl $0x158, %edx            # imm = 0x158
leaq 0x18908(%rsp), %rbx
movq %rbx, %rdi
leaq 0x408(%rsp), %rsi
callq 0x4230
movq 0x298(%rsp), %rdi
movq 0x290(%rsp), %rsi
callq 0x11b46
movl $0x8008, %edx           # imm = 0x8008
movq 0x288(%rsp), %rdi
movq 0xa8(%rsp), %rsi
callq 0x4230
leaq 0x10700(%rsp), %rdi
movq %rbx, %rsi
callq 0x10e44
movq 0x18a60(%rsp), %rdi
testq %rdi, %rdi
leaq 0x98(%rsp), %r14
je 0x13739
movq 0x18a70(%rsp), %rsi
subq %rdi, %rsi
callq 0x42b0
leaq 0x148(%rsp), %rax
movq %rax, 0x138(%rsp)
leaq 0x138(%rsp), %rdi
leaq 0x6bb8(%rip), %rsi      # 0x1a310
leaq 0x6bc4(%rip), %rdx      # 0x1a323
callq 0x6fca
leaq 0x30(%rsp), %r13
leaq 0x8580(%rsp), %rdi
leaq 0x408(%rsp), %rsi
callq 0x8f40
movq 0x8580(%rsp), %rsi
leaq 0x138(%rsp), %rdi
callq 0x149eb
movq 0x8580(%rsp), %rdi
leaq 0x8590(%rsp), %rax
cmpq %rax, %rdi
je 0x137b8
movq 0x8590(%rsp), %rsi
incq %rsi
callq 0x42b0
movq 0x138(%rsp), %rdi
leaq 0x148(%rsp), %rcx
movq %rcx, %rax
cmpq %rcx, %rdi
je 0x137db
movq (%rax), %rsi
incq %rsi
callq 0x42b0
movq 0x560(%rsp), %rdi
testq %rdi, %rdi
je 0x1311c
movq 0x570(%rsp), %rsi
subq %rdi, %rsi
jmp 0x13117
movq 0x8(%rsp), %rax
movq 0x60(%rax), %rbx
callq 0x4040
movq %rax, %r14
movl (%rax), %r15d
movl $0x0, (%rax)
movq %rbx, %rdi
leaq 0x408(%rsp), %rsi
movl $0xa, %edx
callq 0x43a0
cmpq %rbx, 0x408(%rsp)
je 0x139c6
movslq %eax, %rcx
cmpq %rax, %rcx
jne 0x139ba
movl (%r14), %ecx
cmpl $0x22, %ecx
je 0x139ba
testl %ecx, %ecx
jne 0x13858
movl %r15d, (%r14)
leaq 0x10700(%rsp), %rdi
movl %eax, %esi
leaq 0x98(%rsp), %r14
callq 0xfb4e
jmp 0x1311c
leaq 0x10700(%rsp), %rdi
callq 0xfbec
leaq 0x310(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x138a2
movq 0x310(%rsp), %rsi
incq %rsi
callq 0x42b0
addq $0x28bf8, %rsp          # imm = 0x28BF8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x69ef(%rip), %rdi      # 0x1a2aa
leaq 0x6a03(%rip), %rsi      # 0x1a2c5
leaq 0x6a08(%rip), %rcx      # 0x1a2d1
movl $0xa9, %edx
callq 0x4190
movl $0x10, %edi
callq 0x4110
movq %rax, %r14
leaq 0x368(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x673c(%rip), %rsi      # 0x1a02f
leaq 0x675b(%rip), %rdx      # 0x1a055
leaq 0x358(%rsp), %rdi
callq 0x6fca
movq 0x300(%rsp), %rdx
leaq 0x408(%rsp), %rdi
leaq 0x358(%rsp), %rsi
callq 0x705a
movb $0x1, %bpl
leaq 0x408(%rsp), %rsi
movq %r14, %rdi
callq 0x4450
xorl %ebp, %ebp
movq 0xd6b0(%rip), %rsi      # 0x20ff0
movq 0xd641(%rip), %rdx      # 0x20f88
movq %r14, %rdi
callq 0x44c0
jmp 0x139ba
movl $0x8, %edi
callq 0x4110
movq %rax, %r14
leaq 0x348(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x682e(%rip), %rsi      # 0x1a1a0
leaq 0x683b(%rip), %rdx      # 0x1a1b4
leaq 0x338(%rsp), %rdi
callq 0x6fca
movq 0x8(%rsp), %rax
movq (%rax,%r15), %rdx
movb $0x1, %bpl
leaq 0x338(%rsp), %rsi
movq %r14, %rdi
callq 0x6d19
xorl %ebp, %ebp
movq 0xd61d(%rip), %rsi      # 0x20fc8
movq 0xd636(%rip), %rdx      # 0x20fe8
movq %r14, %rdi
callq 0x44c0
leaq 0x57c3(%rip), %rdi      # 0x19184
callq 0x43d0
leaq 0x57b7(%rip), %rdi      # 0x19184
callq 0x4160
movq %rax, %rbx
movq 0x2a0(%rsp), %rdi
leaq 0x2b0(%rsp), %rax
cmpq %rax, %rdi
je 0x13f3e
movq 0x2b0(%rsp), %rsi
jmp 0x13f2d
jmp 0x13f3b
movq %rax, %rbx
movq 0x2c0(%rsp), %rdi
leaq 0x2d0(%rsp), %rax
cmpq %rax, %rdi
je 0x13f3e
movq 0x2d0(%rsp), %rsi
jmp 0x13f2d
jmp 0x13f3b
movq %rax, %rbx
movq 0x178(%rsp), %rdi
leaq 0x188(%rsp), %rax
cmpq %rax, %rdi
je 0x13a5b
movq 0x188(%rsp), %rsi
incq %rsi
callq 0x42b0
jmp 0x13a5b
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %r13, %rdi
je 0x13f3e
movq 0x30(%rsp), %rsi
jmp 0x13f2d
movq %rax, %rbx
movq 0x198(%rsp), %rdi
leaq 0x1a8(%rsp), %rax
cmpq %rax, %rdi
je 0x13aa0
movq 0x1a8(%rsp), %rsi
incq %rsi
callq 0x42b0
jmp 0x13aa0
movq %rax, %rbx
leaq 0x320(%rsp), %rdi
callq 0x6e08
jmp 0x13f3e
jmp 0x13f3b
movq %rax, %rbx
movq 0x8580(%rsp), %rdi
leaq 0x8590(%rsp), %rax
cmpq %rax, %rdi
je 0x13ae4
movq 0x8590(%rsp), %rsi
incq %rsi
callq 0x42b0
jmp 0x13ae4
movq %rax, %rbx
movq 0x138(%rsp), %rdi
leaq 0x148(%rsp), %rax
cmpq %rax, %rdi
je 0x13f3e
movq 0x148(%rsp), %rsi
jmp 0x13f2d
jmp 0x13f3b
movq %rax, %rbx
movq 0x18a60(%rsp), %rdi
testq %rdi, %rdi
je 0x13f3e
movq 0x18a70(%rsp), %rsi
subq %rdi, %rsi
jmp 0x13f30
jmp 0x13f3b
movq %rax, %rbx
movq 0x238(%rsp), %rdi
leaq 0x248(%rsp), %rax
cmpq %rax, %rdi
je 0x13f5b
movq 0x248(%rsp), %rsi
jmp 0x13ed5
jmp 0x13f08
movq %rax, %rbx
cmpl $0x0, (%r14)
jne 0x13f5b
movl %r15d, (%r14)
jmp 0x13f5b
movq %rax, %rbx
movq 0x338(%rsp), %rdi
cmpq %r12, %rdi
je 0x13ba3
movq 0x348(%rsp), %rsi
incq %rsi
callq 0x42b0
jmp 0x13ba3
movq %rax, %rbx
movb $0x1, %bpl
testb %bpl, %bpl
je 0x13f5b
movq %r14, %rdi
callq 0x41e0
jmp 0x13f5b
movq %rax, %rbx
movq 0x258(%rsp), %rdi
leaq 0x268(%rsp), %rax
cmpq %rax, %rdi
je 0x13f5b
movq 0x268(%rsp), %rsi
jmp 0x13ed5
jmp 0x13f08
movq %rax, %rbx
movq 0x1b8(%rsp), %rdi
leaq 0x1c8(%rsp), %rax
cmpq %rax, %rdi
je 0x13f5b
movq 0x1c8(%rsp), %rsi
jmp 0x13ed5
jmp 0x13f08
jmp 0x13f08
movq %rax, %rbx
movq 0x158(%rsp), %rdi
leaq 0x168(%rsp), %rax
cmpq %rax, %rdi
je 0x13f3e
movq 0x168(%rsp), %rsi
jmp 0x13f2d
jmp 0x13f3b
movq %rax, %rbx
leaq 0x418(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x13c74
movq 0x418(%rsp), %rsi
incq %rsi
callq 0x42b0
jmp 0x13c74
movq %rax, %rbx
movb $0x1, %bpl
movq 0x358(%rsp), %rdi
cmpq %r15, %rdi
je 0x13ca9
movq 0x368(%rsp), %rsi
incq %rsi
callq 0x42b0
jmp 0x13ca9
movq %rax, %rbx
leaq 0x378(%rsp), %rdi
jmp 0x13eff
movq %rax, %rbx
movb $0x1, %bpl
testb %bpl, %bpl
je 0x13fb9
movq %r14, %rdi
callq 0x41e0
jmp 0x13fb9
movq %rax, %rbx
leaq 0x390(%rsp), %rdi
jmp 0x13eff
jmp 0x13e45
jmp 0x13e45
movq %rax, %rbx
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x13cfd
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x42b0
jmp 0x13cfd
movq %rax, %rbx
movq 0x560(%rsp), %rdi
testq %rdi, %rdi
je 0x13d1f
movq 0x570(%rsp), %rsi
subq %rdi, %rsi
callq 0x42b0
jmp 0x13d1f
movq %rax, %rbx
movq 0x118(%rsp), %rdi
leaq 0x128(%rsp), %rax
cmpq %rax, %rdi
je 0x13e9d
movq 0x128(%rsp), %rsi
jmp 0x13e6d
jmp 0x13e9a
movq %rax, %rbx
movq 0x1d8(%rsp), %rdi
leaq 0x1e8(%rsp), %rax
cmpq %rax, %rdi
je 0x13e9d
movq 0x1e8(%rsp), %rsi
jmp 0x13e6d
jmp 0x13e9a
jmp 0x13e78
jmp 0x13e9a
jmp 0x13e78
jmp 0x13e9a
movq %rax, %rbx
leaq 0x3a8(%rsp), %rdi
jmp 0x13eff
movq %rax, %rbx
movq 0x218(%rsp), %rdi
leaq 0x228(%rsp), %rax
cmpq %rax, %rdi
je 0x13f5b
movq 0x228(%rsp), %rsi
jmp 0x13ed5
jmp 0x13f08
movq %rax, %rbx
movq 0x20bd8(%rsp), %rdi
testq %rdi, %rdi
je 0x13fc6
movq 0x20be8(%rsp), %rsi
subq %rdi, %rsi
callq 0x42b0
jmp 0x13fc6
movq %rax, %rbx
jmp 0x13fc6
jmp 0x13f3b
movq %rax, %rbx
movq 0xc0(%rsp), %rax
testq %rax, %rax
je 0x13e22
leaq 0xb0(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0xe0(%rsp), %rax
testq %rax, %rax
je 0x13e9d
leaq 0xd0(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x13e9d
jmp 0x13e45
movq %rax, %rdi
callq 0x1190d
movq %rax, %rbx
movq 0x1f8(%rsp), %rdi
leaq 0x208(%rsp), %rax
cmpq %rax, %rdi
je 0x13e9d
movq 0x208(%rsp), %rsi
incq %rsi
jmp 0x13e93
jmp 0x13e9a
jmp 0x13e78
jmp 0x13e9a
movq %rax, %rbx
movq 0x560(%rsp), %rdi
testq %rdi, %rdi
je 0x13e9d
movq 0x570(%rsp), %rsi
subq %rdi, %rsi
callq 0x42b0
jmp 0x13e9d
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %r13, %rdi
je 0x13eb4
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x42b0
movq 0x8580(%rsp), %rdi
leaq 0x8590(%rsp), %rax
cmpq %rax, %rdi
je 0x13f5b
movq 0x8590(%rsp), %rsi
incq %rsi
jmp 0x13f56
movq %rax, %rbx
leaq 0x3c0(%rsp), %rdi
jmp 0x13eff
movq %rax, %rbx
leaq 0x3d8(%rsp), %rdi
jmp 0x13eff
movq %rax, %rbx
leaq 0x3f0(%rsp), %rdi
callq 0x6e08
jmp 0x13f5b
jmp 0x13f08
movq %rax, %rbx
jmp 0x13f5b
movq %rax, %rbx
movq 0xf8(%rsp), %rdi
leaq 0x108(%rsp), %rax
cmpq %rax, %rdi
je 0x13f3e
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x42b0
jmp 0x13f3e
jmp 0x13f3b
jmp 0x13f6f
movq %rax, %rbx
movq 0x560(%rsp), %rdi
testq %rdi, %rdi
je 0x13f5b
movq 0x570(%rsp), %rsi
subq %rdi, %rsi
callq 0x42b0
leaq 0x8(%rsp), %rdi
callq 0x6e08
leaq 0x98(%rsp), %r14
jmp 0x13f9c
movq %rax, %rbx
jmp 0x13fb9
movq %rax, %rbx
jmp 0x13f9c
movq %rbx, %rcx
movq %rax, %rbx
movq 0x2e0(%rsp), %rdi
cmpq %rcx, %rdi
je 0x13f9c
movq 0x2f0(%rsp), %rsi
incq %rsi
callq 0x42b0
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x13fb9
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x42b0
leaq 0x10700(%rsp), %rdi
callq 0xfbec
leaq 0x310(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x13fe7
movq 0x310(%rsp), %rsi
incq %rsi
callq 0x42b0
movq %rbx, %rdi
callq 0x44f0