// File: /workspace/github_cpp_makefile_star2_O1/ksherlock[P]wdc-utils/dumpobj.cpp
// Function: dump_obj(char const*, int)
bool dump_obj(const char *name, int fd)
{
	Mod_head h;
	ssize_t ok;

	ok = read(fd, &h, sizeof(h));
	if (ok == 0) return false;

	if (ok != sizeof(h))
		errx(EX_DATAERR, "%s is not an object file", name);


	le_to_host(h.h_magic);
	le_to_host(h.h_version);
	le_to_host(h.h_filtyp);
	le_to_host(h.h_namlen);
	le_to_host(h.h_recsize);
	le_to_host(h.h_secsize);
	le_to_host(h.h_symsize);
	le_to_host(h.h_optsize);
	le_to_host(h.h_tot_secs);
	le_to_host(h.h_num_secs);
	le_to_host(h.h_num_syms);

	assert(h.h_magic == MOD_MAGIC);
	assert(h.h_version == 1);
	assert(h.h_filtyp == 1);

	// now read the name (h_namlen includes 0 terminator.)
	std::vector<char> oname;
	oname.resize(h.h_namlen);
	ok = read(fd, oname.data(), h.h_namlen);
	if (ok != h.h_namlen) errx(EX_DATAERR, "%s", name);


	// records [until record_eof]

	std::vector<uint8_t> data;
	data.resize(h.h_recsize);
	ok = read(fd, data.data(), h.h_recsize);
	if (ok != h.h_recsize) errx(EX_DATAERR, "%s records truncated", name);


	std::vector<uint8_t> section_data;
	section_data.resize(h.h_secsize);
	ok = read(fd, section_data.data(), h.h_secsize);
	if (ok != h.h_secsize) errx(EX_DATAERR, "%s sections truncated", name);


	std::vector<uint8_t> symbol_data;
	symbol_data.resize(h.h_symsize);
	ok = read(fd, symbol_data.data(), h.h_symsize);
	if (ok != h.h_symsize) errx(EX_DATAERR, "%s symbols truncated", name);

	if (h.h_optsize) lseek(fd, h.h_optsize, SEEK_CUR);


	zrdz_disassembler d(read_sections(section_data), read_symbols(symbol_data));

	uint8_t op = REC_END;
	unsigned line = 0;


	d.front_matter(std::string(oname.data()));

	auto iter = data.begin();
	while (iter != data.end()) {


		op = read_8(iter);
		if (op == 0) break;
		if (op < 0xf0) {
			auto end = iter + op;
			while (iter != end) {
				d(*iter++);
			}
			continue;
		}

		switch(op) {

			case REC_RELEXP:
			case REC_EXPR:
				{

					// todo -- pass the relative flag to ()
					// so it can verify it's appropriate for the opcode.

					// todo -- move all this stuff to a separate function.
					uint8_t size = read_8(iter);

					std::vector<std::string> stack;

					// todo -- need to keep operation for precedence?
					// this ignores all precedence...

					for(;;) {
						uint8_t op = read_8(iter);
						if (op == OP_END) break;
						switch (op) {
							case OP_LOC: {
								uint8_t section = read_8(iter);
								uint32_t offset = read_32(iter);


								std::string name;
								if (flags.n) {
									name = d.section_name(section) + "+" + d.to_x(offset, 4, '$');
								} else {
									name = d.location_name(section, offset);
								}
								stack.emplace_back(std::move(name));
								break;
							}

							case OP_VAL:
								stack.push_back(d.to_x(read_32(iter), 4, '$'));
								break;

							case OP_SYM: {
								uint16_t symbol = read_16(iter);
								stack.emplace_back(d.symbol_name(symbol));
								break;
							}

							// unary operatos
							case OP_NOT:
							case OP_NEG:
							case OP_FLP: {
								static const std::string ops[] = {
									".NOT.", "-", "\\"
								};

								if (stack.empty()) errx(EX_DATAERR, "%s : stack underflow error", name);
								std::string a = std::move(stack.back()); stack.pop_back();
								std::string b(ops[op-10]);
								stack.emplace_back(b + a);
								break;
							}

							// binary operators
							case OP_EXP:
							case OP_MUL:
							case OP_DIV:
							case OP_MOD:
							case OP_SHR:
							case OP_SHL:
							case OP_ADD:
							case OP_SUB:
							case OP_AND:
							case OP_OR:
							case OP_XOR:
							case OP_EQ:
							case OP_GT:
							case OP_LT:
							case OP_UGT:
							case OP_ULT: {
								static const std::string ops[] = {
									"**", "*", "/", ".MOD.", ">>", "<<", "+", "-", "&", "|", "^", "=", ">", "<", ".UGT.", ".ULT."

								};
								if (stack.size() < 2) errx(EX_DATAERR, "%s : stack underflow error", name);
								std::string a = std::move(stack.back()); stack.pop_back();
								std::string b = std::move(stack.back()); stack.pop_back();
								stack.emplace_back(b + ops[op-20] + a);
								break;
							}
							default:
								errx(EX_DATAERR, "%s: unknown expression opcode %02x", name, op);

						}
					}
					if (stack.size() != 1) errx(EX_DATAERR, "%s stack overflow error.", name);
					d(stack.front(), size);
				}
				break;

			case REC_DEBUG:
				{
					d.flush();
					uint16_t size = read_16(iter);

					auto end = iter + size;
					while (iter < end) {
						uint8_t op = read_8(iter);
						switch(op) {
							case D_LONGA_ON:
								d.set_m(true);
								d.emit("", "longa", "on");
								break;
							case D_LONGA_OFF:
								d.set_m(false);
								d.emit("", "longa", "off");
								break;
							case D_LONGI_ON:
								d.set_x(true);
								d.emit("", "longi", "on");
								break;
							case D_LONGI_OFF:
								d.set_x(false);
								d.emit("", "longi", "off");
								break;
							case D_C_FILE: {
								std::string file = read_cstring(iter);
								line = read_16(iter);
								std::string tmp = file + ", " + std::to_string(line);
								d.emit("", ".file", tmp);
								break;
							}
							case D_C_LINE: {
								line = read_16(iter);
								d.emit("",".line", std::to_string(line));
								break;
							}
							case D_C_BLOCK: {
								uint16_t block = read_16(iter);
								d.emit("",".block", std::to_string(block));
								break;
							}
							case D_C_ENDBLOCK: {
								uint16_t block = read_16(iter);
								d.emit("",".endblock", std::to_string(block));
								break;
							}
							case D_C_FUNC: {
								uint16_t arg = read_16(iter);
								d.emit("",".function", std::to_string(arg));
								break;								
							}
							case D_C_ENDFUNC: {
								uint16_t line = read_16(iter);
								uint16_t local_offset = read_16(iter);
								uint16_t arg_offset = read_16(iter);
								std::string tmp;
								tmp = std::to_string(line) + ", "
									+ std::to_string(local_offset) + ", "
									+ std::to_string(arg_offset);
								d.emit("",".endfunc", tmp);
								break;
							}

							// etag? reserved for enums but not actually used?
							case D_C_STAG:
							case D_C_ETAG:
							case D_C_UTAG: {
								const char *kOpNames[] = { ".stag", ".etag", ".utag" };
								const char *opname = kOpNames[op - D_C_STAG];

								std::string name = read_cstring(iter);
								uint16_t size = read_16(iter);
								uint16_t tag = read_16(iter);

								std::string tmp;
								tmp = name + ", " + std::to_string(size) + ", " + std::to_string(tag);
								d.emit("", opname, tmp);
								break;
							}
							case D_C_EOS: {
								d.emit("", ".eos");
								break; 
							}

							case D_C_MEMBER:
							case D_C_SYM: {
								// warning - i don't fully understand this one..
								std::string name = read_cstring(iter);
								uint8_t version = read_8(iter); //???
								uint32_t value;
								if (version == 0) value = read_16(iter); // symbol
								if (version == 1) value = read_32(iter); // numeric value.
								assert(version == 0 || version == 1);
								uint32_t type = read_32(iter);
								uint8_t klass = read_8(iter);
								uint16_t size = read_16(iter);


								const char *opname = ".sym";
								if (op == D_C_MEMBER) opname = ".member";


								std::string attr;

								if (version == 0) {
									std::string svalue;
									svalue = d.symbol_name(value);

									attr = name + ", " + svalue;
								}

								if (version == 1) {
									attr = name + ", " + std::to_string(value);
								}

								attr += ", " + std::to_string(type);
								attr += ", " + std::to_string(klass);
								attr += ", " + std::to_string(size);


								/*
								 * type bits 1 ... 5 are T_xxxx
								 * then 3 bits of DT_xxx (repeatedly)
								 *
								 * eg, char ** = (DT_PTR << 11) + (DT_PTR << 8) + T_CHAR
								 */
								int t = type & 0x1f;
								if ((t == T_STRUCT) || (t == T_UNION)) {
									uint16_t tag = read_16(iter);
									attr += ", " + std::to_string(tag);
								}

								// need to do it until t == 0 for
								// multidimensional arrays.
								for ( t = type >> 5; t; t >>= 3) {
									if ((t & 0x07) == DT_ARY) {
										uint16_t dim = read_16(iter);
										attr += ", " + std::to_string(dim);
									}
								}


								d.emit("", opname, attr);

								break;
							}

							default:
								errx(EX_DATAERR, "%s: unknown debug opcode %02x (%d)", name, op, op);
								break;

						}
					}
				}
				break;

			case REC_SECT: {
				uint8_t sec = read_8(iter);
				d.set_section(sec);
				break;
			}

			case REC_ORG: {
				d.flush();
				uint32_t org = read_32(iter);
				d.emit("", ".org", d.to_x(org, 4, '$'));
				d.set_pc(org);
				break;
			}

			case REC_SPACE: {
				uint16_t count = read_16(iter);
				d.space(count);
				break;
			}

			case REC_LINE: {
				// bump line counter, no argument.
				d.flush();
				++line;
				break;
			}
			default:
				d.flush();
				errx(EX_DATAERR, "%s: unknown opcode %02x", name, op);
		}
	}


	unsigned f = 0;
	if (flags.S) f |= 0x01;
	d.back_matter(f);

	if (iter != data.end() || op != REC_END) errx(EX_DATAERR, "%s records ended early", name);



	return true;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x268, %rsp            # imm = 0x268
movl %esi, %ebx
movq %rdi, %r15
leaq 0x178(%rsp), %rsi
movl $0x18, %edx
movl %ebx, %edi
callq 0x2250
movq %rax, %r12
testq %rax, %rax
je 0x5777
cmpq $0x18, %r12
jne 0x57c8
cmpl $0x5a44525a, 0x178(%rsp) # imm = 0x5A44525A
jne 0x57de
cmpw $0x1, 0x17c(%rsp)
jne 0x57fd
cmpb $0x1, 0x17e(%rsp)
jne 0x581c
xorps %xmm0, %xmm0
leaq 0x1d0(%rsp), %rdi
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movzbl 0x17f(%rsp), %r14d
movq %r14, %rsi
callq 0x67f0
movq 0x1d0(%rsp), %rsi
movl %ebx, %edi
movq %r14, %rdx
callq 0x2250
cmpq %r14, %rax
jne 0x583b
xorps %xmm0, %xmm0
leaq 0x160(%rsp), %rdi
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movl 0x180(%rsp), %r14d
movq %r14, %rsi
callq 0x681c
movq 0x160(%rsp), %rsi
movl %ebx, %edi
movq %r14, %rdx
callq 0x2250
cmpq %r14, %rax
jne 0x5851
xorps %xmm0, %xmm0
leaq 0x1b0(%rsp), %rdi
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movzwl 0x184(%rsp), %r14d
movq %r14, %rsi
callq 0x681c
movq 0x1b0(%rsp), %rsi
movl %ebx, %edi
movq %r14, %rdx
callq 0x2250
cmpq %r14, %rax
jne 0x5867
xorps %xmm0, %xmm0
leaq 0x190(%rsp), %rdi
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movl 0x186(%rsp), %r14d
movq %r14, %rsi
callq 0x681c
movq 0x190(%rsp), %rsi
movl %ebx, %edi
movq %r14, %rdx
callq 0x2250
cmpq %r14, %rax
jne 0x587d
movzwl 0x18a(%rsp), %esi
testq %rsi, %rsi
je 0x2aa1
movl %ebx, %edi
movl $0x1, %edx
callq 0x2300
leaq 0x30(%rsp), %rdi
leaq 0x1b0(%rsp), %rsi
callq 0x25de
leaq 0x50(%rsp), %rdi
leaq 0x190(%rsp), %rsi
callq 0x2786
leaq 0x1f8(%rsp), %rdi
leaq 0x30(%rsp), %rsi
leaq 0x50(%rsp), %rdx
callq 0x99b8
leaq 0x50(%rsp), %rdi
callq 0x6794
leaq 0x30(%rsp), %rdi
callq 0x66ca
movq 0x1d0(%rsp), %rsi
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x6848
leaq 0x1f8(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x9d50
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2b34
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x21c0
movq %r12, 0x1f0(%rsp)
movq %r15, 0x138(%rsp)
movq 0x160(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq 0x168(%rsp), %rax
je 0x56be
leaq 0x60(%rsp), %rbp
leaq 0x20(%rsp), %r15
leaq 0x1f8(%rsp), %r12
leaq 0x126d8(%rip), %rcx     # 0x15250
movq %rcx, 0xb8(%rsp)
leaq 0x12659(%rip), %rcx     # 0x151e0
movq %rcx, 0x148(%rsp)
movzbl (%rax), %r14d
leaq 0x1(%rax), %r13
movq %r13, 0x8(%rsp)
testq %r14, %r14
setne %bl
je 0x56c0
cmpb $-0x11, %r14b
ja 0x2be5
addq %r14, %r13
movq 0x8(%rsp), %rax
cmpq %r13, %rax
je 0x2bd1
leaq 0x1(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl (%rax), %esi
movq %r12, %rdi
callq 0x8888
jmp 0x2bb1
movq 0x8(%rsp), %rax
cmpq 0x168(%rsp), %rax
jne 0x2b8f
jmp 0x56c0
leal -0xf0(%r14), %ecx
cmpl $0x6, %ecx
ja 0x5908
leaq 0xc424(%rip), %rdx      # 0xf020
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movzbl 0x1(%rax), %ecx
movl %ecx, 0x140(%rsp)
addq $0x2, %rax
movq %rax, 0x8(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0xc0(%rsp)
movq $0x0, 0xd0(%rsp)
leaq 0x12619(%rip), %rbx     # 0x15250
movq 0x8(%rsp), %rax
movzbl (%rax), %r14d
leaq 0x1(%rax), %rcx
movq %rcx, 0x8(%rsp)
leal -0x14(%r14), %ecx
cmpl $0x10, %ecx
jae 0x2ca3
movb 0x127f8(%rip), %al      # 0x15450
testb %al, %al
je 0x32b1
movq 0xc8(%rsp), %rax
movq %rax, %rcx
subq 0xc0(%rsp), %rcx
cmpq $0x20, %rcx
jbe 0x578f
leaq 0x40(%rsp), %rsi
movq %rsi, 0x30(%rsp)
movq -0x20(%rax), %rdx
leaq -0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x2d11
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0x2d17
cmpl $0xc, %r14d
ja 0x57aa
movl %r14d, %ecx
leaq 0xc3c5(%rip), %rdx      # 0xf07c
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movb 0x1257a(%rip), %al      # 0x15240
testb %al, %al
je 0x3573
movq 0xc8(%rsp), %rax
cmpq %rax, 0xc0(%rsp)
je 0x578f
leaq 0x40(%rsp), %rsi
movq %rsi, 0x30(%rsp)
movq -0x20(%rax), %rdx
leaq -0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x2ecd
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0x2ed3
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq -0x18(%rax), %rdx
movq %rdx, 0x38(%rsp)
movq %rcx, -0x20(%rax)
movq $0x0, -0x18(%rax)
movb $0x0, -0x10(%rax)
movq 0xc8(%rsp), %rax
leaq -0x20(%rax), %rcx
movq %rcx, 0xc8(%rsp)
movq -0x20(%rax), %rdi
addq $-0x10, %rax
cmpq %rax, %rdi
je 0x2d5c
movq (%rax), %rsi
incq %rsi
callq 0x21c0
movq 0xc8(%rsp), %rax
movq %rbp, 0x50(%rsp)
movq -0x20(%rax), %rdx
leaq -0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x2d85
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0x2d8c
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq -0x18(%rax), %rdx
movq %rdx, 0x58(%rsp)
movq %rcx, -0x20(%rax)
movq $0x0, -0x18(%rax)
movb $0x0, -0x10(%rax)
movq 0xc8(%rsp), %rax
leaq -0x20(%rax), %rcx
movq %rcx, 0xc8(%rsp)
movq -0x20(%rax), %rdi
addq $-0x10, %rax
cmpq %rax, %rdi
je 0x2dd1
movq (%rax), %rsi
incq %rsi
callq 0x21c0
shll $0x5, %r14d
leaq (%r14,%rbx), %rdx
addq $-0x280, %rdx           # imm = 0xFD80
leaq 0x70(%rsp), %r14
movq %r14, %rdi
leaq 0x50(%rsp), %rsi
callq 0x68ec
movq 0x30(%rsp), %rsi
movq 0x38(%rsp), %rdx
movq %r14, %rdi
callq 0x2090
movq %r15, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2e27
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x2e2e
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xc0(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x6886
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x2e6f
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x2e91
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x50(%rsp), %rdi
cmpq %rbp, %rdi
je 0x2ea8
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x2c37
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0x2c37
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq -0x18(%rax), %rdx
movq %rdx, 0x38(%rsp)
movq %rcx, -0x20(%rax)
movq $0x0, -0x18(%rax)
movb $0x0, -0x10(%rax)
movq 0xc8(%rsp), %rax
leaq -0x20(%rax), %rcx
movq %rcx, 0xc8(%rsp)
movq -0x20(%rax), %rdi
addq $-0x10, %rax
cmpq %rax, %rdi
je 0x2f18
movq (%rax), %rsi
incq %rsi
callq 0x21c0
shll $0x5, %r14d
movq %rbp, 0x50(%rsp)
leaq 0x122b8(%rip), %rax     # 0x151e0
movq -0x140(%r14,%rax), %rsi
movq -0x138(%r14,%rax), %rdx
addq %rsi, %rdx
leaq 0x50(%rsp), %r14
movq %r14, %rdi
callq 0x6b00
leaq 0x10(%rsp), %r13
movq %r13, %rdi
movq %r14, %rsi
leaq 0x30(%rsp), %rdx
callq 0x68ec
leaq 0xc0(%rsp), %rdi
movq %r13, %rsi
callq 0x6886
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x2e91
movq 0x20(%rsp), %rsi
jmp 0x2e89
movzbl 0x1(%rax), %ecx
leaq 0x2(%rax), %rdx
movq %rdx, 0x8(%rsp)
movzbl 0x2(%rax), %edx
shll $0x8, %edx
orl %ecx, %edx
leaq 0x3(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x3(%rax), %ecx
shll $0x10, %ecx
orl %edx, %ecx
leaq 0x4(%rax), %rdx
movq %rdx, 0x8(%rsp)
movzbl 0x4(%rax), %esi
shll $0x18, %esi
orl %ecx, %esi
addq $0x5, %rax
movq %rax, 0x8(%rsp)
leaq 0x30(%rsp), %r14
movq %r14, %rdi
movl $0x4, %edx
movl $0x24, %ecx
callq 0x7538
leaq 0xc0(%rsp), %rdi
movq %r14, %rsi
callq 0x6886
jmp 0x2ea8
movzbl 0x1(%rax), %ecx
leaq 0x2(%rax), %rdx
movq %rdx, 0x8(%rsp)
movzbl 0x2(%rax), %edx
shll $0x8, %edx
orl %ecx, %edx
addq $0x3, %rax
movq %rax, 0x8(%rsp)
leaq 0x30(%rsp), %r14
movq %r14, %rdi
movq %r12, %rsi
callq 0xb8ac
leaq 0xc0(%rsp), %rdi
movq %r14, %rsi
callq 0x6886
jmp 0x2ea8
movzbl 0x1(%rax), %edx
leaq 0x2(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x2(%rax), %ecx
leaq 0x3(%rax), %rsi
movq %rsi, 0x8(%rsp)
movzbl 0x3(%rax), %esi
shll $0x8, %esi
orl %ecx, %esi
leaq 0x4(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x4(%rax), %ecx
shll $0x10, %ecx
orl %esi, %ecx
leaq 0x5(%rax), %rsi
movq %rsi, 0x8(%rsp)
movzbl 0x5(%rax), %r14d
shll $0x18, %r14d
orl %ecx, %r14d
addq $0x6, %rax
movq %rax, 0x8(%rsp)
leaq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
movq $0x0, 0x38(%rsp)
movb $0x0, 0x40(%rsp)
cmpb $0x1, 0x12127(%rip)     # 0x151d1
jne 0x30ee
leaq 0x70(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0xb92c
movq %r13, %rdi
leaq 0xc0b4(%rip), %rsi      # 0xf17a
callq 0x2320
movq %r15, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3126
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x312d
leaq 0x50(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
movl %r14d, %ecx
callq 0xb3d2
leaq 0x30(%rsp), %rdi
movq %r13, %rsi
callq 0x2220
movq 0x50(%rsp), %rdi
cmpq %rbp, %rdi
je 0x329a
movq 0x60(%rsp), %rsi
jmp 0x3292
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x98(%rsp), %rdi
movl %r14d, %esi
movl $0x4, %edx
movl $0x24, %ecx
callq 0x7538
movq 0x10(%rsp), %rcx
movl $0xf, %esi
cmpq %r15, %rcx
je 0x3173
movq 0x20(%rsp), %rsi
movq 0x18(%rsp), %r8
movq 0xa0(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x31ad
movl $0xf, %esi
leaq 0xa8(%rsp), %rdi
cmpq %rdi, 0x98(%rsp)
je 0x31a8
movq 0xa8(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x31c1
movq 0x98(%rsp), %rsi
leaq 0x10(%rsp), %rdi
callq 0x2090
jmp 0x31d2
leaq 0x98(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x21f0
movq %rbp, 0x50(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x31f2
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0x31f9
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x58(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x2220
movq 0x50(%rsp), %rdi
cmpq %rbp, %rdi
je 0x323c
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x3261
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x3278
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x329a
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0xc0(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x6886
jmp 0x2ea8
leaq 0x12198(%rip), %rdi     # 0x15450
callq 0x22f0
testl %eax, %eax
je 0x2c60
leaq 0x11f94(%rip), %rax     # 0x15260
movq %rax, 0x11f7d(%rip)     # 0x15250
movq %rbx, %rdi
leaq 0xbec4(%rip), %rsi      # 0xf1a1
leaq 0xbebf(%rip), %rdx      # 0xf1a3
callq 0x6b90
leaq 0x11f90(%rip), %rax     # 0x15280
movq %rax, 0x11f79(%rip)     # 0x15270
leaq 0x11f72(%rip), %rdi     # 0x15270
leaq 0xbe9d(%rip), %rsi      # 0xf1a2
leaq 0xbe97(%rip), %rdx      # 0xf1a3
callq 0x6b90
leaq 0x11f88(%rip), %rax     # 0x152a0
movq %rax, 0x11f71(%rip)     # 0x15290
leaq 0x11f6a(%rip), %rdi     # 0x15290
leaq 0xbe77(%rip), %rsi      # 0xf1a4
leaq 0xbe71(%rip), %rdx      # 0xf1a5
callq 0x6b90
leaq 0x11f80(%rip), %rax     # 0x152c0
movq %rax, 0x11f69(%rip)     # 0x152b0
leaq 0x11f62(%rip), %rdi     # 0x152b0
leaq 0xbe51(%rip), %rsi      # 0xf1a6
leaq 0xbe4f(%rip), %rdx      # 0xf1ab
callq 0x6b90
leaq 0x11f78(%rip), %rax     # 0x152e0
movq %rax, 0x11f61(%rip)     # 0x152d0
leaq 0x11f5a(%rip), %rdi     # 0x152d0
leaq 0xbe2f(%rip), %rsi      # 0xf1ac
leaq 0xbe2a(%rip), %rdx      # 0xf1ae
callq 0x6b90
leaq 0x11f70(%rip), %rax     # 0x15300
movq %rax, 0x11f59(%rip)     # 0x152f0
leaq 0x11f52(%rip), %rdi     # 0x152f0
leaq 0xbe0a(%rip), %rsi      # 0xf1af
leaq 0xbe05(%rip), %rdx      # 0xf1b1
callq 0x6b90
leaq 0x11f68(%rip), %rax     # 0x15320
movq %rax, 0x11f51(%rip)     # 0x15310
leaq 0x11f4a(%rip), %rdi     # 0x15310
leaq 0xbdad(%rip), %rsi      # 0xf17a
leaq 0xbda7(%rip), %rdx      # 0xf17b
callq 0x6b90
leaq 0x11f60(%rip), %rax     # 0x15340
movq %rax, 0x11f49(%rip)     # 0x15330
leaq 0x11f42(%rip), %rdi     # 0x15330
leaq 0xbd8d(%rip), %rsi      # 0xf182
leaq 0xbd87(%rip), %rdx      # 0xf183
callq 0x6b90
leaq 0x11f58(%rip), %rax     # 0x15360
movq %rax, 0x11f41(%rip)     # 0x15350
leaq 0x11f3a(%rip), %rdi     # 0x15350
leaq 0xbd95(%rip), %rsi      # 0xf1b2
leaq 0xbd8f(%rip), %rdx      # 0xf1b3
callq 0x6b90
leaq 0x11f50(%rip), %rax     # 0x15380
movq %rax, 0x11f39(%rip)     # 0x15370
leaq 0x11f32(%rip), %rdi     # 0x15370
leaq 0xbd6f(%rip), %rsi      # 0xf1b4
leaq 0xbd69(%rip), %rdx      # 0xf1b5
callq 0x6b90
leaq 0x11f48(%rip), %rax     # 0x153a0
movq %rax, 0x11f31(%rip)     # 0x15390
leaq 0x11f2a(%rip), %rdi     # 0x15390
leaq 0xbd49(%rip), %rsi      # 0xf1b6
leaq 0xbd43(%rip), %rdx      # 0xf1b7
callq 0x6b90
leaq 0x11f40(%rip), %rax     # 0x153c0
movq %rax, 0x11f29(%rip)     # 0x153b0
leaq 0x11f22(%rip), %rdi     # 0x153b0
leaq 0xbd23(%rip), %rsi      # 0xf1b8
leaq 0xbd1d(%rip), %rdx      # 0xf1b9
callq 0x6b90
leaq 0x11f38(%rip), %rax     # 0x153e0
movq %rax, 0x11f21(%rip)     # 0x153d0
leaq 0x11f1a(%rip), %rdi     # 0x153d0
leaq 0xbcf0(%rip), %rsi      # 0xf1ad
leaq 0xbcea(%rip), %rdx      # 0xf1ae
callq 0x6b90
leaq 0x11f30(%rip), %rax     # 0x15400
movq %rax, 0x11f19(%rip)     # 0x153f0
leaq 0x11f12(%rip), %rdi     # 0x153f0
leaq 0xc7bd(%rip), %rsi      # 0xfca2
leaq 0xc7b7(%rip), %rdx      # 0xfca3
callq 0x6b90
leaq 0x11f28(%rip), %rax     # 0x15420
movq %rax, 0x11f11(%rip)     # 0x15410
leaq 0x11f0a(%rip), %rdi     # 0x15410
leaq 0xbcad(%rip), %rsi      # 0xf1ba
leaq 0xbcab(%rip), %rdx      # 0xf1bf
callq 0x6b90
leaq 0x11f20(%rip), %rax     # 0x15440
movq %rax, 0x11f09(%rip)     # 0x15430
leaq 0x11f02(%rip), %rdi     # 0x15430
leaq 0xbc8b(%rip), %rsi      # 0xf1c0
leaq 0xbc89(%rip), %rdx      # 0xf1c5
callq 0x6b90
leaq -0x10be(%rip), %rdi     # 0x248a
xorl %esi, %esi
leaq 0x11c57(%rip), %rdx     # 0x151a8
callq 0x2190
leaq 0x11ef3(%rip), %rdi     # 0x15450
callq 0x2110
leaq 0x11ce7(%rip), %rbx     # 0x15250
leaq 0x60(%rsp), %rbp
jmp 0x2c60
leaq 0x11cc6(%rip), %rdi     # 0x15240
callq 0x22f0
testl %eax, %eax
je 0x2cce
leaq 0x11c62(%rip), %rax     # 0x151f0
movq %rax, 0x11c4b(%rip)     # 0x151e0
leaq 0x11c44(%rip), %rdi     # 0x151e0
leaq 0xbbd9(%rip), %rsi      # 0xf17c
leaq 0xbbd7(%rip), %rdx      # 0xf181
callq 0x6b90
leaq 0x11c5a(%rip), %rax     # 0x15210
movq %rax, 0x11c43(%rip)     # 0x15200
leaq 0x11c3c(%rip), %rdi     # 0x15200
leaq 0xbbb7(%rip), %rsi      # 0xf182
leaq 0xbbb1(%rip), %rdx      # 0xf183
callq 0x6b90
leaq 0x11c52(%rip), %rax     # 0x15230
movq %rax, 0x11c3b(%rip)     # 0x15220
leaq 0x11c34(%rip), %rdi     # 0x15220
leaq 0xbb91(%rip), %rsi      # 0xf184
leaq 0xbb8b(%rip), %rdx      # 0xf185
callq 0x6b90
leaq -0x11b7(%rip), %rdi     # 0x244f
xorl %esi, %esi
leaq 0x11b99(%rip), %rdx     # 0x151a8
callq 0x2190
leaq 0x11c25(%rip), %rdi     # 0x15240
callq 0x2110
leaq 0x11c29(%rip), %rbx     # 0x15250
leaq 0x60(%rsp), %rbp
jmp 0x2cce
movq 0xc0(%rsp), %rsi
movq 0xc8(%rsp), %rax
subq %rsi, %rax
cmpq $0x20, %rax
jne 0x58cd
movq %r12, %rdi
movl 0x140(%rsp), %edx
xorl %ecx, %ecx
callq 0x8614
leaq 0xc0(%rsp), %rdi
callq 0x6946
jmp 0x56b2
movzbl 0x1(%rax), %ecx
leaq 0x2(%rax), %rdx
movq %rdx, 0x8(%rsp)
movzbl 0x2(%rax), %esi
shll $0x8, %esi
orl %ecx, %esi
addq $0x3, %rax
movq %rax, 0x8(%rsp)
movq %r12, %rdi
callq 0x8324
jmp 0x56b2
movzbl 0x1(%rax), %esi
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movq %r12, %rdi
callq 0xadc2
jmp 0x56b2
movq %r12, %rdi
callq 0x82d4
movq 0x8(%rsp), %rcx
movzbl (%rcx), %eax
leaq 0x1(%rcx), %rdx
movq %rdx, 0x8(%rsp)
movzbl 0x1(%rcx), %edx
shll $0x8, %edx
orq %rax, %rdx
leaq 0x2(%rcx), %rax
movq %rax, 0x8(%rsp)
testq %rdx, %rdx
je 0x56b2
addq %rdx, %rcx
addq $0x2, %rcx
movq %rcx, 0x140(%rsp)
movzbl (%rax), %ebx
leaq 0x1(%rax), %rcx
movq %rcx, 0x8(%rsp)
leal -0x64(%rbx), %ecx
cmpl $0xf, %ecx
ja 0x58e8
leaq 0xb922(%rip), %rdx      # 0xf03c
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
leaq 0xb986(%rip), %rax      # 0xf0b0
movslq -0x19c(%rax,%rbx,4), %rax
movq %rax, 0x130(%rsp)
leaq 0x30(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x69a1
movq 0x8(%rsp), %rax
movzbl (%rax), %r13d
leaq 0x1(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x1(%rax), %r14d
leaq 0x2(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x2(%rax), %ecx
movl %ecx, 0x90(%rsp)
leaq 0x3(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x3(%rax), %ecx
movl %ecx, 0x94(%rsp)
addq $0x4, %rax
movq %rax, 0x8(%rsp)
movq %rbp, 0x50(%rsp)
movq $0x0, 0x58(%rsp)
movb $0x0, 0x60(%rsp)
leaq 0xd0(%rsp), %rax
movq %rax, 0xc0(%rsp)
movq 0x30(%rsp), %rsi
movq 0x38(%rsp), %rdx
addq %rsi, %rdx
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
callq 0x6b00
movq %rbx, %rdi
leaq 0xba37(%rip), %rsi      # 0xf212
callq 0x2320
shll $0x8, %r14d
orl %r13d, %r14d
movl $0x1, %r13d
cmpl $0xa, %r14d
jb 0x381f
movl $0x2, %r13d
cmpl $0x64, %r14d
jb 0x381f
movl $0x3, %r13d
cmpl $0x3e8, %r14d           # imm = 0x3E8
jb 0x381f
cmpl $0x2710, %r14d          # imm = 0x2710
movl $0x5, %r13d
sbbl $0x0, %r13d
movl %r13d, %esi
leaq 0x118(%rsp), %rax
movq %rax, 0x108(%rsp)
leaq 0x108(%rsp), %rdi
movl $0x2d, %edx
callq 0x2200
movq 0x108(%rsp), %rdi
movl %r13d, %esi
movl %r14d, %edx
callq 0x6a93
movq 0xc0(%rsp), %rcx
movl $0xf, %esi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rcx
je 0x3879
movq 0xd0(%rsp), %rsi
movq 0xc8(%rsp), %r8
movq 0x110(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
movl 0x94(%rsp), %ebx
jbe 0x38c1
movl $0xf, %esi
leaq 0x118(%rsp), %rdi
cmpq %rdi, 0x108(%rsp)
je 0x38b8
movq 0x118(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x4341
movq 0x108(%rsp), %rsi
leaq 0xc0(%rsp), %rdi
callq 0x2090
jmp 0x4352
leaq 0x30(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x69a1
movq 0x8(%rsp), %rax
movb (%rax), %r13b
leaq 0x1(%rax), %rcx
movq %rcx, 0x8(%rsp)
testb %r13b, %r13b
jne 0x3926
movzbl 0x1(%rax), %ecx
leaq 0x2(%rax), %rdx
movq %rdx, 0x8(%rsp)
movzbl 0x2(%rax), %edx
shll $0x8, %edx
orl %ecx, %edx
movl %edx, 0xe0(%rsp)
addq $0x3, %rax
movq %rax, 0x8(%rsp)
cmpb $0x1, %r13b
jne 0x397a
movq 0x8(%rsp), %rax
movzbl (%rax), %ecx
leaq 0x1(%rax), %rdx
movq %rdx, 0x8(%rsp)
movzbl 0x1(%rax), %edx
shll $0x8, %edx
orl %ecx, %edx
leaq 0x2(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x2(%rax), %ecx
shll $0x10, %ecx
orl %edx, %ecx
leaq 0x3(%rax), %rdx
movq %rdx, 0x8(%rsp)
movzbl 0x3(%rax), %edx
shll $0x18, %edx
orl %ecx, %edx
movl %edx, 0xe0(%rsp)
addq $0x4, %rax
movq %rax, 0x8(%rsp)
movq %rbx, 0x130(%rsp)
cmpb $0x2, %r13b
jae 0x58ae
movq 0x8(%rsp), %rax
movzbl (%rax), %ebx
leaq 0x1(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x1(%rax), %edi
leaq 0x2(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x2(%rax), %esi
leaq 0x3(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x3(%rax), %ecx
movl %ecx, 0x94(%rsp)
leaq 0x4(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x4(%rax), %ecx
movl %ecx, 0x15c(%rsp)
leaq 0x5(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x5(%rax), %ecx
movl %ecx, 0x158(%rsp)
leaq 0x6(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x6(%rax), %ecx
movl %ecx, 0x90(%rsp)
addq $0x7, %rax
cmpl $0x6a, 0x130(%rsp)
leaq 0xb868(%rip), %rdx      # 0xf279
leaq 0xb866(%rip), %rcx      # 0xf27e
cmoveq %rcx, %rdx
movq %rdx, 0x1e8(%rsp)
movq %rax, 0x8(%rsp)
movq %rbp, 0x50(%rsp)
movq $0x0, 0x58(%rsp)
movb $0x0, 0x60(%rsp)
testb %r13b, %r13b
movl %ebx, 0xe4(%rsp)
jne 0x4821
movl %edi, 0x12c(%rsp)
movl %esi, 0x154(%rsp)
movq %r15, 0x10(%rsp)
movq $0x0, 0x18(%rsp)
movb $0x0, 0x20(%rsp)
leaq 0x70(%rsp), %rbp
movq %rbp, %rdi
movq %r12, %rsi
movl 0xe0(%rsp), %edx
callq 0xb8ac
leaq 0x10(%rsp), %rdi
movq %rbp, %rsi
callq 0x2220
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x3ab3
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0xa8(%rsp), %rax
movq %rax, 0x98(%rsp)
movq 0x30(%rsp), %rsi
movq 0x38(%rsp), %rdx
addq %rsi, %rdx
leaq 0x98(%rsp), %rbx
movq %rbx, %rdi
leaq 0x60(%rsp), %rbp
callq 0x6b00
movq %rbx, %rdi
leaq 0xb723(%rip), %rsi      # 0xf212
callq 0x2320
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq %rbx, %rdi
callq 0x2090
leaq 0x80(%rsp), %rbx
movq %rbx, 0x70(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
movl 0xe4(%rsp), %r14d
je 0x478d
movq %rdx, 0x70(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x80(%rsp)
jmp 0x4793
orb $0x10, 0x214(%rsp)
leaq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x30(%rsp), %rdi
leaq 0xb7e3(%rip), %rdx      # 0xf344
movq %rdx, %rsi
callq 0x6b90
movq %rbp, 0x50(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0xb692(%rip), %rsi      # 0xf20c
leaq 0xb690(%rip), %rdx      # 0xf211
callq 0x6b90
movq %r15, 0x10(%rsp)
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
leaq 0xc23b(%rip), %rsi      # 0xfdd5
leaq 0xc236(%rip), %rdx      # 0xfdd7
callq 0x6b90
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rsi
movq %rbx, %rdx
callq 0x7732
jmp 0x5516
movzbl 0x1(%rax), %ebx
leaq 0x2(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x2(%rax), %r14d
addq $0x3, %rax
movq %rax, 0x8(%rsp)
leaq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x30(%rsp), %rdi
leaq 0xb756(%rip), %rdx      # 0xf344
movq %rdx, %rsi
callq 0x6b90
movq %rbp, 0x50(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0xb621(%rip), %rsi      # 0xf228
leaq 0xb623(%rip), %rdx      # 0xf231
callq 0x6b90
shll $0x8, %r14d
orl %ebx, %r14d
movl $0x1, %r13d
cmpl $0xa, %r14d
jb 0x3c52
movl $0x2, %r13d
cmpl $0x64, %r14d
jb 0x3c52
movl $0x3, %r13d
cmpl $0x3e8, %r14d           # imm = 0x3E8
jb 0x3c52
cmpl $0x2710, %r14d          # imm = 0x2710
movl $0x5, %r13d
sbbl $0x0, %r13d
movl %r13d, %esi
movq %r15, 0x10(%rsp)
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x2200
movq 0x10(%rsp), %rdi
movl %r13d, %esi
movl %r14d, %edx
callq 0x6a93
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rsi
movq %rbx, %rdx
callq 0x7732
jmp 0x5516
orb $0x20, 0x214(%rsp)
leaq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x30(%rsp), %rdi
leaq 0xb693(%rip), %rdx      # 0xf344
movq %rdx, %rsi
callq 0x6b90
movq %rbp, 0x50(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0xb538(%rip), %rsi      # 0xf202
leaq 0xb536(%rip), %rdx      # 0xf207
callq 0x6b90
movq %r15, 0x10(%rsp)
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
leaq 0xc0eb(%rip), %rsi      # 0xfdd5
leaq 0xc0e6(%rip), %rdx      # 0xfdd7
callq 0x6b90
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rsi
movq %rbx, %rdx
callq 0x7732
jmp 0x5516
movzbl 0x1(%rax), %ecx
leaq 0x2(%rax), %rdx
movq %rdx, 0x8(%rsp)
movzbl 0x2(%rax), %r14d
shll $0x8, %r14d
orl %ecx, %r14d
leaq 0x3(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x3(%rax), %ecx
movl %ecx, 0x130(%rsp)
leaq 0x4(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x4(%rax), %ecx
movl %ecx, 0x90(%rsp)
leaq 0x5(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x5(%rax), %ecx
movl %ecx, 0xe4(%rsp)
leaq 0x6(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x6(%rax), %ecx
movl %ecx, 0x94(%rsp)
addq $0x7, %rax
movq %rax, 0x8(%rsp)
leaq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
movq $0x0, 0x38(%rsp)
movb $0x0, 0x40(%rsp)
movl $0x1, %r13d
cmpl $0xa, %r14d
jb 0x3dcf
movl $0x2, %r13d
cmpl $0x64, %r14d
jb 0x3dcf
movl $0x3, %r13d
cmpl $0x3e8, %r14d           # imm = 0x3E8
jb 0x3dcf
cmpl $0x2710, %r14d          # imm = 0x2710
movl $0x5, %r13d
sbbl $0x0, %r13d
movl %r13d, %esi
leaq 0xd0(%rsp), %rax
movq %rax, 0xc0(%rsp)
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x2200
movq 0xc0(%rsp), %rdi
movl %r13d, %esi
movl %r14d, %edx
callq 0x6a93
movq %rbx, %rdi
leaq 0xb3fe(%rip), %rsi      # 0xf212
callq 0x2320
leaq 0xa8(%rsp), %rsi
movq %rsi, 0x98(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
movl 0x94(%rsp), %ebx
movl 0x90(%rsp), %r13d
je 0x4673
movq %rdx, 0x98(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xa8(%rsp)
jmp 0x4679
andb $-0x11, 0x214(%rsp)
leaq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x30(%rsp), %rdi
leaq 0xb4c3(%rip), %rdx      # 0xf344
movq %rdx, %rsi
callq 0x6b90
movq %rbp, 0x50(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0xb372(%rip), %rsi      # 0xf20c
leaq 0xb370(%rip), %rdx      # 0xf211
callq 0x6b90
movq %r15, 0x10(%rsp)
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
leaq 0xb34e(%rip), %rsi      # 0xf208
leaq 0xb34a(%rip), %rdx      # 0xf20b
callq 0x6b90
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rsi
movq %rbx, %rdx
callq 0x7732
jmp 0x5516
leaq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x30(%rsp), %rdi
leaq 0xb451(%rip), %rdx      # 0xf344
movq %rdx, %rsi
callq 0x6b90
movq %rbp, 0x50(%rsp)
leaq 0x50(%rsp), %rbx
movq %rbx, %rdi
leaq 0xb348(%rip), %rsi      # 0xf257
leaq 0xb345(%rip), %rdx      # 0xf25b
callq 0x6b90
leaq 0x30(%rsp), %rdi
movq %rbx, %rsi
callq 0x766e
jmp 0x552d
leaq 0x30(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x69a1
movq 0x8(%rsp), %rax
movzbl (%rax), %ebx
leaq 0x1(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x1(%rax), %r14d
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movq %r15, 0x10(%rsp)
movq 0x30(%rsp), %rsi
movq 0x38(%rsp), %rdx
addq %rsi, %rdx
leaq 0x10(%rsp), %r13
movq %r13, %rdi
callq 0x6b00
movq %r13, %rdi
leaq 0xb28e(%rip), %rsi      # 0xf212
callq 0x2320
shll $0x8, %r14d
orl %ebx, %r14d
movl $0x1, %esi
cmpl $0xa, %r14d
jb 0x3fc4
movl $0x2, %esi
cmpl $0x64, %r14d
jb 0x3fc4
movl $0x3, %esi
cmpl $0x3e8, %r14d           # imm = 0x3E8
jb 0x3fc4
cmpl $0x2710, %r14d          # imm = 0x2710
movl $0x5, %esi
sbbq $0x0, %rsi
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
leaq 0x70(%rsp), %rdi
xorl %edx, %edx
callq 0x2200
movq 0x70(%rsp), %rdi
movl 0x78(%rsp), %esi
movl %r14d, %edx
callq 0x6a93
movq 0x10(%rsp), %rcx
movl $0xf, %esi
cmpq %r15, %rcx
je 0x4002
movq 0x20(%rsp), %rsi
movq 0x18(%rsp), %r8
movq 0x78(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x403a
movl $0xf, %esi
leaq 0x80(%rsp), %rdi
cmpq %rdi, 0x70(%rsp)
je 0x4031
movq 0x80(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x4a5f
movq 0x70(%rsp), %rsi
leaq 0x10(%rsp), %rdi
callq 0x2090
jmp 0x4a6d
movzbl 0x1(%rax), %ebx
leaq 0x2(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x2(%rax), %r14d
addq $0x3, %rax
movq %rax, 0x8(%rsp)
leaq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x30(%rsp), %rdi
leaq 0xb2c5(%rip), %rdx      # 0xf344
movq %rdx, %rsi
callq 0x6b90
movq %rbp, 0x50(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0xb183(%rip), %rsi      # 0xf21b
leaq 0xb181(%rip), %rdx      # 0xf220
callq 0x6b90
shll $0x8, %r14d
orl %ebx, %r14d
movl $0x1, %esi
cmpl $0xa, %r14d
jb 0x40df
movl $0x2, %esi
cmpl $0x64, %r14d
jb 0x40df
movl $0x3, %esi
cmpl $0x3e8, %r14d           # imm = 0x3E8
jb 0x40df
cmpl $0x2710, %r14d          # imm = 0x2710
movl $0x5, %esi
sbbq $0x0, %rsi
movq %r15, 0x10(%rsp)
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
xorl %edx, %edx
callq 0x2200
movq 0x10(%rsp), %rdi
movl 0x18(%rsp), %esi
movl %r14d, %edx
callq 0x6a93
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rsi
movq %rbx, %rdx
callq 0x7732
jmp 0x5516
andb $-0x21, 0x214(%rsp)
leaq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x30(%rsp), %rdi
leaq 0xb20b(%rip), %rdx      # 0xf344
movq %rdx, %rsi
callq 0x6b90
movq %rbp, 0x50(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0xb0b0(%rip), %rsi      # 0xf202
leaq 0xb0ae(%rip), %rdx      # 0xf207
callq 0x6b90
movq %r15, 0x10(%rsp)
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
leaq 0xb096(%rip), %rsi      # 0xf208
leaq 0xb092(%rip), %rdx      # 0xf20b
callq 0x6b90
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rsi
movq %rbx, %rdx
callq 0x7732
jmp 0x5516
movzbl 0x1(%rax), %ebx
leaq 0x2(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x2(%rax), %r14d
addq $0x3, %rax
movq %rax, 0x8(%rsp)
leaq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x30(%rsp), %rdi
leaq 0xb17e(%rip), %rdx      # 0xf344
movq %rdx, %rsi
callq 0x6b90
movq %rbp, 0x50(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0xb042(%rip), %rsi      # 0xf221
leaq 0xb041(%rip), %rdx      # 0xf227
callq 0x6b90
shll $0x8, %r14d
orl %ebx, %r14d
movl $0x1, %r13d
cmpl $0xa, %r14d
jb 0x422a
movl $0x2, %r13d
cmpl $0x64, %r14d
jb 0x422a
movl $0x3, %r13d
cmpl $0x3e8, %r14d           # imm = 0x3E8
jb 0x422a
cmpl $0x2710, %r14d          # imm = 0x2710
movl $0x5, %r13d
sbbl $0x0, %r13d
movl %r13d, %esi
movq %r15, 0x10(%rsp)
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x2200
movq 0x10(%rsp), %rdi
movl %r13d, %esi
movl %r14d, %edx
callq 0x6a93
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rsi
movq %rbx, %rdx
callq 0x7732
jmp 0x5516
movzbl 0x1(%rax), %ebx
leaq 0x2(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x2(%rax), %r14d
addq $0x3, %rax
movq %rax, 0x8(%rsp)
leaq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x30(%rsp), %rdi
leaq 0xb0a8(%rip), %rdx      # 0xf344
movq %rdx, %rsi
callq 0x6b90
movq %rbp, 0x50(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0xaf7d(%rip), %rsi      # 0xf232
leaq 0xaf7f(%rip), %rdx      # 0xf23b
callq 0x6b90
shll $0x8, %r14d
orl %ebx, %r14d
movl $0x1, %r13d
cmpl $0xa, %r14d
jb 0x4300
movl $0x2, %r13d
cmpl $0x64, %r14d
jb 0x4300
movl $0x3, %r13d
cmpl $0x3e8, %r14d           # imm = 0x3E8
jb 0x4300
cmpl $0x2710, %r14d          # imm = 0x2710
movl $0x5, %r13d
sbbl $0x0, %r13d
movl %r13d, %esi
movq %r15, 0x10(%rsp)
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x2200
movq 0x10(%rsp), %rdi
movl %r13d, %esi
movl %r14d, %edx
callq 0x6a93
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rsi
movq %rbx, %rdx
callq 0x7732
jmp 0x5516
leaq 0x108(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x21f0
leaq 0xa8(%rsp), %rsi
movq %rsi, 0x98(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x4383
movq %rdx, 0x98(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xa8(%rsp)
jmp 0x4389
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0xa0(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x98(%rsp), %rdi
leaq 0xae5a(%rip), %rsi      # 0xf212
callq 0x2320
leaq 0x80(%rsp), %rsi
movq %rsi, 0x70(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x43eb
movq %rdx, 0x70(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x80(%rsp)
jmp 0x43f1
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
shll $0x8, %ebx
addl 0x90(%rsp), %ebx
movq 0x8(%rax), %rdx
movq %rdx, 0x78(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %r14d
cmpl $0xa, %ebx
jb 0x4447
movl $0x2, %r14d
cmpl $0x64, %ebx
jb 0x4447
movl $0x3, %r14d
cmpl $0x3e8, %ebx            # imm = 0x3E8
jb 0x4447
cmpl $0x2710, %ebx           # imm = 0x2710
movl $0x5, %r14d
sbbl $0x0, %r14d
movl %r14d, %esi
leaq 0xf8(%rsp), %rax
movq %rax, 0xe8(%rsp)
leaq 0xe8(%rsp), %rdi
movl $0x2d, %edx
callq 0x2200
movq 0xe8(%rsp), %rdi
movl %r14d, %esi
movl %ebx, %edx
callq 0x6a93
movq 0x70(%rsp), %rcx
movl $0xf, %esi
leaq 0x80(%rsp), %rax
cmpq %rax, %rcx
je 0x449d
movq 0x80(%rsp), %rsi
movq 0x78(%rsp), %r8
movq 0xf0(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x44d7
movl $0xf, %esi
leaq 0xf8(%rsp), %rdi
cmpq %rdi, 0xe8(%rsp)
je 0x44d2
movq 0xf8(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x44eb
movq 0xe8(%rsp), %rsi
leaq 0x70(%rsp), %rdi
callq 0x2090
jmp 0x44fc
leaq 0xe8(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x21f0
movq %r15, 0x10(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x451c
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x4523
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x50(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x2220
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x4566
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x458b
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x45ad
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x45d2
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x45f7
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
je 0x461c
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x21c0
movq %r15, 0x10(%rsp)
leaq 0x10(%rsp), %rdi
leaq 0xad17(%rip), %rdx      # 0xf344
movq %rdx, %rsi
callq 0x6b90
leaq 0xaa74(%rip), %rax      # 0xf0b0
movq 0x130(%rsp), %rsi
addq %rax, %rsi
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
leaq 0x98(%rsp), %rdx
callq 0x6848
leaq 0x10(%rsp), %rdi
movq %rbx, %rsi
leaq 0x50(%rsp), %rdx
callq 0x7732
jmp 0x54f4
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
shll $0x8, %r13d
addl 0x130(%rsp), %r13d
movq 0x8(%rax), %rdx
movq %rdx, 0xa0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %r14d
cmpl $0xa, %r13d
jb 0x46d8
movl $0x2, %r14d
cmpl $0x64, %r13d
jb 0x46d8
movl $0x3, %r14d
cmpl $0x3e8, %r13d           # imm = 0x3E8
jb 0x46d8
cmpl $0x2710, %r13d          # imm = 0x2710
movl $0x5, %r14d
sbbl $0x0, %r14d
movl %r14d, %esi
leaq 0x118(%rsp), %rax
movq %rax, 0x108(%rsp)
leaq 0x108(%rsp), %rdi
movl $0x2d, %edx
callq 0x2200
movq 0x108(%rsp), %rdi
movl %r14d, %esi
movl %r13d, %edx
callq 0x6a93
movq 0x98(%rsp), %rcx
movl $0xf, %esi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rcx
je 0x4732
movq 0xa8(%rsp), %rsi
movq 0xa0(%rsp), %r8
movq 0x110(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x4773
movl $0xf, %esi
leaq 0x118(%rsp), %rdi
cmpq %rdi, 0x108(%rsp)
je 0x476a
movq 0x118(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x48cf
movq 0x108(%rsp), %rsi
leaq 0x98(%rsp), %rdi
callq 0x2090
jmp 0x48e0
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, 0x78(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x50(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x2220
movq 0x70(%rsp), %rdi
cmpq %rbx, %rdi
je 0x47d4
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
movl %r14d, %ebx
je 0x47fc
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x4813
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21c0
movl 0x154(%rsp), %esi
movl 0x12c(%rsp), %edi
cmpb $0x1, %r13b
jne 0x4e56
movl %edi, 0x12c(%rsp)
movl %esi, %r14d
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
movq 0x30(%rsp), %rsi
movq 0x38(%rsp), %rdx
addq %rsi, %rdx
leaq 0x70(%rsp), %r13
movq %r13, %rdi
callq 0x6b00
movq %r13, %rdi
leaq 0xa9ac(%rip), %rsi      # 0xf212
callq 0x2320
movl $0x1, %eax
cmpl $0xa, 0xe0(%rsp)
jb 0x4ce1
movl $0x4, %eax
movl 0xe0(%rsp), %ecx
cmpl $0x63, %ecx
jbe 0x4cda
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4cdf
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4ce1
movl %ecx, %edx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
imulq %rsi, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x488a
addl $-0x3, %eax
jmp 0x4ce1
leaq 0x108(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x21f0
leaq 0x80(%rsp), %rsi
movq %rsi, 0x70(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x490b
movq %rdx, 0x70(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x80(%rsp)
jmp 0x4911
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x78(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x70(%rsp), %rdi
leaq 0xa8d8(%rip), %rsi      # 0xf212
callq 0x2320
movq %r15, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4962
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x4969
movups (%rcx), %xmm0
movups %xmm0, (%r15)
shll $0x8, %ebx
addl 0xe4(%rsp), %ebx
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %r14d
cmpl $0xa, %ebx
jb 0x49bf
movl $0x2, %r14d
cmpl $0x64, %ebx
jb 0x49bf
movl $0x3, %r14d
cmpl $0x3e8, %ebx            # imm = 0x3E8
jb 0x49bf
cmpl $0x2710, %ebx           # imm = 0x2710
movl $0x5, %r14d
sbbl $0x0, %r14d
movl %r14d, %esi
leaq 0xf8(%rsp), %rax
movq %rax, 0xe8(%rsp)
leaq 0xe8(%rsp), %rdi
movl $0x2d, %edx
callq 0x2200
movq 0xe8(%rsp), %rdi
movl %r14d, %esi
movl %ebx, %edx
callq 0x6a93
movq 0x10(%rsp), %rcx
movl $0xf, %esi
cmpq %r15, %rcx
je 0x4a0a
movq 0x20(%rsp), %rsi
movq 0x18(%rsp), %r8
movq 0xf0(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x4a48
movl $0xf, %esi
leaq 0xf8(%rsp), %rdi
cmpq %rdi, 0xe8(%rsp)
je 0x4a3f
movq 0xf8(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x4b42
movq 0xe8(%rsp), %rsi
leaq 0x10(%rsp), %rdi
callq 0x2090
jmp 0x4b53
leaq 0x70(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x21f0
movq %rbp, 0x50(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x4a8d
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0x4a94
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x58(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x4ad3
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x4aea
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21c0
movq %r15, 0x10(%rsp)
leaq 0x10(%rsp), %rdi
leaq 0xa849(%rip), %rdx      # 0xf344
movq %rdx, %rsi
callq 0x6b90
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
leaq 0xa6f6(%rip), %rsi      # 0xf215
leaq 0xa6f4(%rip), %rdx      # 0xf21a
callq 0x6b90
leaq 0x10(%rsp), %rdi
movq %rbx, %rsi
leaq 0x50(%rsp), %rdx
callq 0x7732
jmp 0x54f4
leaq 0xe8(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x21f0
movq %rbp, 0x50(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x4b73
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0x4b7a
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x58(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x2220
movq 0x50(%rsp), %rdi
cmpq %rbp, %rdi
je 0x4bbd
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x4be2
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x4bf9
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x4c1b
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x4c40
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x4c65
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
je 0x4c8a
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x21c0
movq %rbp, 0x50(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0xa6a9(%rip), %rdx      # 0xf344
movq %rdx, %rsi
callq 0x6b90
movq %r15, 0x10(%rsp)
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
leaq 0xa585(%rip), %rsi      # 0xf23c
leaq 0xa586(%rip), %rdx      # 0xf244
callq 0x6b90
leaq 0x50(%rsp), %rdi
movq %rbx, %rsi
leaq 0x30(%rsp), %rdx
callq 0x7732
jmp 0x5516
addl $-0x2, %eax
jmp 0x4ce1
decl %eax
movl %eax, %esi
leaq 0xa8(%rsp), %rax
movq %rax, 0x98(%rsp)
leaq 0x98(%rsp), %rdi
xorl %edx, %edx
callq 0x2200
movq 0x98(%rsp), %rdi
movl 0xa0(%rsp), %esi
movl 0xe0(%rsp), %edx
callq 0x6a93
movq 0x70(%rsp), %rcx
movl $0xf, %esi
leaq 0x80(%rsp), %rax
cmpq %rax, %rcx
je 0x4d3c
movq 0x80(%rsp), %rsi
movq 0x78(%rsp), %r8
movq 0xa0(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x4d76
movl $0xf, %esi
leaq 0xa8(%rsp), %rdi
cmpq %rdi, 0x98(%rsp)
je 0x4d71
movq 0xa8(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x4d8a
movq 0x98(%rsp), %rsi
leaq 0x70(%rsp), %rdi
callq 0x2090
jmp 0x4d9b
leaq 0x98(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x21f0
movq %r15, 0x10(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x4dbb
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x4dc2
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x50(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x2220
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x4e05
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x4e2a
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x4e4c
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x21c0
movl %r14d, %esi
movl 0x12c(%rsp), %edi
shll $0x8, %edi
shll $0x10, %esi
orl %edi, %esi
movl 0x94(%rsp), %r14d
shll $0x18, %r14d
orl %esi, %r14d
orl %ebx, %r14d
movl $0x1, %eax
movl %r14d, 0x94(%rsp)
cmpl $0xa, %r14d
movl 0x15c(%rsp), %r14d
jb 0x4ed4
movl $0x4, %eax
movl 0x94(%rsp), %ecx
cmpl $0x63, %ecx
jbe 0x4ecd
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x4ed2
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x4ed4
movl %ecx, %edx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
imulq %rsi, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x4e97
addl $-0x3, %eax
jmp 0x4ed4
addl $-0x2, %eax
jmp 0x4ed4
decl %eax
movl %eax, %esi
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
xorl %edx, %edx
callq 0x2200
movq 0x70(%rsp), %rdi
movl 0x78(%rsp), %esi
movl 0x94(%rsp), %edx
callq 0x6a93
movl $0x2, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xa2f7(%rip), %rcx      # 0xf212
callq 0x21f0
movq %r15, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4f43
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x4f4a
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
leaq 0x50(%rsp), %rdi
callq 0x2090
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x4f8d
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x4faf
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x21c0
cmpb $0x64, %r14b
movl $0x3, %ebx
sbbl $0x0, %ebx
cmpb $0xa, %r14b
movl $0x1, %eax
cmovbl %eax, %ebx
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
leaq 0x70(%rsp), %r13
movq %r13, %rdi
movq %rbx, %rsi
movl $0x2d, %edx
callq 0x2200
movq 0x70(%rsp), %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0x6a93
movl $0x2, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xa206(%rip), %rcx      # 0xf212
callq 0x21f0
movq %r15, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
movl 0x94(%rsp), %r14d
je 0x503c
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x5043
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
leaq 0x50(%rsp), %rdi
callq 0x2090
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x5086
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x50a8
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x21c0
movl 0x90(%rsp), %r13d
shll $0x8, %r13d
addl 0x158(%rsp), %r13d
movl $0x1, %eax
cmpl $0xa, %r13d
jb 0x50ef
movl $0x2, %eax
cmpl $0x64, %r13d
jb 0x50ef
movl $0x3, %eax
cmpl $0x3e8, %r13d           # imm = 0x3E8
jb 0x50ef
cmpl $0x2710, %r13d          # imm = 0x2710
movl $0x5, %eax
sbbl $0x0, %eax
movl %r13d, 0x90(%rsp)
movl %eax, %r13d
movl %eax, %esi
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x2200
movq 0x70(%rsp), %rdi
movl %r13d, %esi
movl 0x90(%rsp), %edx
callq 0x6a93
movl $0x2, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xa0cf(%rip), %rcx      # 0xf212
callq 0x21f0
movq %r15, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
movl 0xe4(%rsp), %ebx
je 0x5172
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x5179
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
leaq 0x50(%rsp), %rdi
callq 0x2090
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x51bc
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x51de
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x21c0
andl $0x1e, %ebx
cmpl $0xa, %ebx
jne 0x532b
movq 0x8(%rsp), %rax
movzbl (%rax), %ecx
leaq 0x1(%rax), %rdx
movq %rdx, 0x8(%rsp)
movzbl 0x1(%rax), %r13d
shll $0x8, %r13d
orl %ecx, %r13d
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x1, %eax
cmpl $0xa, %r13d
jb 0x5243
movl $0x2, %eax
cmpl $0x64, %r13d
jb 0x5243
movl $0x3, %eax
cmpl $0x3e8, %r13d           # imm = 0x3E8
jb 0x5243
cmpl $0x2710, %r13d          # imm = 0x2710
movl $0x5, %eax
sbbl $0x0, %eax
movl %r13d, 0x90(%rsp)
movl %eax, %r13d
movl %eax, %esi
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x2200
movq 0x70(%rsp), %rdi
movl %r13d, %esi
movl 0x90(%rsp), %edx
callq 0x6a93
movl $0x2, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x9f7b(%rip), %rcx      # 0xf212
callq 0x21f0
movq %r15, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x52bf
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x52c6
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
leaq 0x50(%rsp), %rdi
callq 0x2090
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x5309
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x532b
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x21c0
cmpl $0x20, %r14d
jb 0x5491
shrl $0x5, %r14d
movl %r14d, %eax
andl $0x7, %eax
cmpl $0x3, %eax
jne 0x547e
movq 0x8(%rsp), %rax
movzbl (%rax), %ecx
leaq 0x1(%rax), %rdx
movq %rdx, 0x8(%rsp)
movzbl 0x1(%rax), %r13d
shll $0x8, %r13d
orl %ecx, %r13d
addq $0x2, %rax
movq %rax, 0x8(%rsp)
movl $0x1, %ebx
cmpl $0xa, %r13d
jb 0x53a1
movl $0x2, %ebx
cmpl $0x64, %r13d
jb 0x53a1
movl $0x3, %ebx
cmpl $0x3e8, %r13d           # imm = 0x3E8
jb 0x53a1
cmpl $0x2710, %r13d          # imm = 0x2710
movl $0x5, %ebx
sbbl $0x0, %ebx
movl %ebx, %esi
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
leaq 0x70(%rsp), %rbp
movq %rbp, %rdi
movl $0x2d, %edx
callq 0x2200
movq 0x70(%rsp), %rdi
movl %ebx, %esi
movl %r13d, %edx
callq 0x6a93
movl $0x2, %r8d
movq %rbp, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x9e2d(%rip), %rcx      # 0xf212
callq 0x21f0
movq %r15, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x60(%rsp), %rbp
je 0x5412
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x5419
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
leaq 0x50(%rsp), %rdi
callq 0x2090
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x545c
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x547e
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x21c0
movl %r14d, %eax
shrl $0x3, %eax
cmpl $0x7, %r14d
movl %eax, %r14d
ja 0x5339
movq %r15, 0x10(%rsp)
leaq 0x10(%rsp), %rdi
leaq 0x9ea2(%rip), %rdx      # 0xf344
movq %rdx, %rsi
callq 0x6b90
xorl %eax, %eax
cmpb $0x6a, 0x130(%rsp)
sete %al
leaq 0x80(%rsp), %rcx
movq %rcx, 0x70(%rsp)
leaq (%rax,%rax,2), %rax
movq 0x1e8(%rsp), %rsi
leaq 0x4(%rsi,%rax), %rdx
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
callq 0x6b90
leaq 0x10(%rsp), %rdi
movq %rbx, %rsi
leaq 0x50(%rsp), %rdx
callq 0x7732
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x5516
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x552d
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x50(%rsp), %rdi
cmpq %rbp, %rdi
je 0x5544
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x5560
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x8(%rsp), %rax
cmpq 0x140(%rsp), %rax
jb 0x36fb
jmp 0x56b2
movq %r12, %rdi
callq 0x82d4
jmp 0x56b2
movq %r12, %rdi
callq 0x82d4
movq 0x8(%rsp), %rax
movzbl (%rax), %ecx
movl %ecx, 0x140(%rsp)
leaq 0x1(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x1(%rax), %r13d
leaq 0x2(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x2(%rax), %ebx
leaq 0x3(%rax), %rcx
movq %rcx, 0x8(%rsp)
movzbl 0x3(%rax), %r14d
addq $0x4, %rax
movq %rax, 0x8(%rsp)
leaq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x30(%rsp), %rdi
leaq 0x9d60(%rip), %rdx      # 0xf344
movq %rdx, %rsi
callq 0x6b90
movq %rbp, 0x50(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0x9cac(%rip), %rsi      # 0xf2a9
leaq 0x9ca9(%rip), %rdx      # 0xf2ad
callq 0x6b90
shll $0x8, %r13d
addl 0x140(%rsp), %r13d
shll $0x10, %ebx
orl %r13d, %ebx
shll $0x18, %r14d
orl %ebx, %r14d
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movl %r14d, %esi
movl $0x4, %edx
movl $0x24, %ecx
callq 0x7538
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rsi
movq %rbx, %rdx
callq 0x7732
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x5665
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x50(%rsp), %rdi
cmpq %rbp, %rdi
je 0x567c
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x5698
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x21c0
cmpl %r14d, 0x218(%rsp)
je 0x56b2
movq %r12, %rdi
callq 0x82d4
movl %r14d, 0x218(%rsp)
movq 0x8(%rsp), %rax
movb $0x1, %bl
jmp 0x2bd6
xorl %ebx, %ebx
movzbl 0xfb09(%rip), %esi      # 0x151d0
leaq 0x1f8(%rsp), %rdi
callq 0xaf9e
movq 0x8(%rsp), %rax
cmpq 0x168(%rsp), %rax
sete %al
notb %bl
testb %al, %bl
movq 0x1f0(%rsp), %r12
je 0x5893
leaq 0x1f8(%rsp), %rdi
callq 0x9d04
movq 0x190(%rsp), %rdi
testq %rdi, %rdi
je 0x5720
movq 0x1a0(%rsp), %rsi
subq %rdi, %rsi
callq 0x21c0
movq 0x1b0(%rsp), %rdi
testq %rdi, %rdi
je 0x573d
movq 0x1c0(%rsp), %rsi
subq %rdi, %rsi
callq 0x21c0
movq 0x160(%rsp), %rdi
testq %rdi, %rdi
je 0x575a
movq 0x170(%rsp), %rsi
subq %rdi, %rsi
callq 0x21c0
movq 0x1d0(%rsp), %rdi
testq %rdi, %rdi
je 0x5777
movq 0x1e0(%rsp), %rsi
subq %rdi, %rsi
callq 0x21c0
testq %r12, %r12
setne %al
addq $0x268, %rsp            # imm = 0x268
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x99f0(%rip), %rsi      # 0xf186
movl $0x41, %edi
movq 0x138(%rsp), %rdx
xorl %eax, %eax
callq 0x2310
leaq 0x9a15(%rip), %rsi      # 0xf1c6
movl $0x41, %edi
movq 0x138(%rsp), %rdx
movl %r14d, %ecx
xorl %eax, %eax
callq 0x2310
leaq 0x98ed(%rip), %rsi      # 0xf0bc
movl $0x41, %edi
movq %r15, %rdx
xorl %eax, %eax
callq 0x2310
leaq 0x98f0(%rip), %rdi      # 0xf0d5
leaq 0x9900(%rip), %rsi      # 0xf0ec
leaq 0x9905(%rip), %rcx      # 0xf0f8
movl $0xd0, %edx
callq 0x2120
leaq 0x9915(%rip), %rdi      # 0xf119
leaq 0x98e1(%rip), %rsi      # 0xf0ec
leaq 0x98e6(%rip), %rcx      # 0xf0f8
movl $0xd1, %edx
callq 0x2120
leaq 0x9907(%rip), %rdi      # 0xf12a
leaq 0x98c2(%rip), %rsi      # 0xf0ec
leaq 0x98c7(%rip), %rcx      # 0xf0f8
movl $0xd2, %edx
callq 0x2120
leaq 0xa498(%rip), %rsi      # 0xfcda
movl $0x41, %edi
movq %r15, %rdx
xorl %eax, %eax
callq 0x2310
leaq 0x98e2(%rip), %rsi      # 0xf13a
movl $0x41, %edi
movq %r15, %rdx
xorl %eax, %eax
callq 0x2310
leaq 0x98e1(%rip), %rsi      # 0xf14f
movl $0x41, %edi
movq %r15, %rdx
xorl %eax, %eax
callq 0x2310
leaq 0x98e1(%rip), %rsi      # 0xf165
movl $0x41, %edi
movq %r15, %rdx
xorl %eax, %eax
callq 0x2310
leaq 0x9a2c(%rip), %rsi      # 0xf2c6
movl $0x41, %edi
movq 0x138(%rsp), %rdx
xorl %eax, %eax
callq 0x2310
leaq 0x99a7(%rip), %rdi      # 0xf25c
leaq 0x9830(%rip), %rsi      # 0xf0ec
leaq 0x9835(%rip), %rcx      # 0xf0f8
movl $0x1c6, %edx            # imm = 0x1C6
callq 0x2120
leaq 0x9915(%rip), %rsi      # 0xf1e9
movl $0x41, %edi
movq 0x138(%rsp), %rdx
xorl %eax, %eax
callq 0x2310
leaq 0x9997(%rip), %rsi      # 0xf286
movl $0x41, %edi
movq 0x138(%rsp), %rdx
movl %ebx, %ecx
movl %ebx, %r8d
xorl %eax, %eax
callq 0x2310
leaq 0x1f8(%rsp), %rdi
callq 0x82d4
leaq 0x9992(%rip), %rsi      # 0xf2ae
movl $0x41, %edi
movq 0x138(%rsp), %rdx
movl %r14d, %ecx
xorl %eax, %eax
callq 0x2310
movq %rax, %rbx
xorl %eax, %eax
leaq 0xf9d1(%rip), %rcx      # 0x15310
jmp 0x5a88
movq %rax, %rbx
xorl %eax, %eax
leaq 0xfa40(%rip), %rcx      # 0x15390
jmp 0x5a88
movq %rax, %rbx
movb $0x1, %al
jmp 0x59d3
movq %rax, %rbx
xorl %eax, %eax
leaq 0xfac8(%rip), %rcx      # 0x15430
jmp 0x5a88
movq %rax, %rbx
xorl %eax, %eax
leaq 0xfa97(%rip), %rcx      # 0x15410
jmp 0x5a88
movq %rax, %rbx
xorl %eax, %eax
leaq 0xfa46(%rip), %rcx      # 0x153d0
jmp 0x5a88
movq %rax, %rbx
xorl %eax, %eax
leaq 0xfa15(%rip), %rcx      # 0x153b0
jmp 0x5a88
movq %rax, %rbx
xorl %eax, %eax
leaq 0xf984(%rip), %rcx      # 0x15330
jmp 0x5a88
movq %rax, %rbx
xorl %eax, %eax
leaq 0xf863(%rip), %rcx      # 0x15220
jmp 0x59cb
movq %rax, %rbx
xorl %eax, %eax
leaq 0xf835(%rip), %rcx      # 0x15200
movq %rcx, 0x148(%rsp)
testb %al, %al
movq 0x148(%rsp), %r15
jne 0x5a0e
addq $-0x10, %r15
leaq 0xf7f6(%rip), %r14      # 0x151e0
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x59fe
movq (%r15), %rsi
incq %rsi
callq 0x21c0
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %r14, %r15
movq %rax, %r15
jne 0x59ea
leaq 0xf82b(%rip), %rdi      # 0x15240
jmp 0x5ad2
movq %rax, %rbx
xorl %eax, %eax
leaq 0xf92a(%rip), %rcx      # 0x15350
jmp 0x5a88
movq %rax, %rbx
xorl %eax, %eax
leaq 0xf89c(%rip), %rcx      # 0x152d0
jmp 0x5a88
movq %rax, %rbx
xorl %eax, %eax
leaq 0xf9ae(%rip), %rcx      # 0x153f0
jmp 0x5a88
movq %rax, %rbx
xorl %eax, %eax
leaq 0xf920(%rip), %rcx      # 0x15370
jmp 0x5a88
movq %rax, %rbx
xorl %eax, %eax
leaq 0xf892(%rip), %rcx      # 0x152f0
jmp 0x5a88
movq %rax, %rbx
xorl %eax, %eax
leaq 0xf824(%rip), %rcx      # 0x15290
jmp 0x5a88
movq %rax, %rbx
xorl %eax, %eax
leaq 0xf836(%rip), %rcx      # 0x152b0
jmp 0x5a88
movq %rax, %rbx
xorl %eax, %eax
leaq 0xf7e8(%rip), %rcx      # 0x15270
movq %rcx, 0xb8(%rsp)
testb %al, %al
movq 0xb8(%rsp), %r15
jne 0x5acb
addq $-0x10, %r15
leaq 0xf7a9(%rip), %r14      # 0x15250
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x5abb
movq (%r15), %rsi
incq %rsi
callq 0x21c0
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %r14, %r15
movq %rax, %r15
jne 0x5aa7
leaq 0xf97e(%rip), %rdi      # 0x15450
callq 0x2100
jmp 0x6127
movq %rax, %rbx
movb $0x1, %al
jmp 0x5a90
jmp 0x6136
jmp 0x5af4
jmp 0x5e8f
jmp 0x5e8f
movq %rax, %rbx
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x5e92
movq 0xa8(%rsp), %rsi
jmp 0x5e85
jmp 0x6136
jmp 0x6136
jmp 0x5f24
jmp 0x6136
jmp 0x5e8f
jmp 0x5db0
jmp 0x6136
jmp 0x6136
jmp 0x5e8f
jmp 0x5f24
jmp 0x5cfa
jmp 0x5e8f
jmp 0x5db0
movq %rax, %rbx
jmp 0x5cab
jmp 0x5e8f
jmp 0x5db0
jmp 0x5e8f
jmp 0x6136
movq %rax, %rbx
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x5f48
movq 0xa8(%rsp), %rsi
jmp 0x5f40
jmp 0x5e68
jmp 0x6136
jmp 0x5f24
jmp 0x5f29
jmp 0x5f29
jmp 0x5db0
jmp 0x5f24
jmp 0x5f24
jmp 0x5e8f
jmp 0x5db0
jmp 0x5db0
jmp 0x5db0
jmp 0x5e8f
jmp 0x5e8f
jmp 0x5f24
movq %rax, %rbx
movq 0x50(%rsp), %rdi
cmpq %rbp, %rdi
jne 0x5f79
jmp 0x5f86
jmp 0x6136
jmp 0x5e8f
jmp 0x5f24
movq %rax, %rbx
jmp 0x5d4c
jmp 0x6136
jmp 0x5db0
movq %rax, %rbx
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x5cfd
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0x5cfd
jmp 0x5db0
jmp 0x6136
jmp 0x5db0
jmp 0x5f2e
movq %rax, %rbx
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x5c94
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0x5c94
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x5cab
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x5d27
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0x5d27
jmp 0x5f24
jmp 0x5f24
jmp 0x6136
jmp 0x6136
jmp 0x5e8f
movq %rax, %rbx
jmp 0x5d71
jmp 0x5f29
jmp 0x5db0
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x5f86
movq 0x20(%rsp), %rsi
jmp 0x5f7e
jmp 0x5f24
jmp 0x6136
jmp 0x5db0
movq %rax, %rbx
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x5d4c
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x5d71
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
je 0x5f86
movq 0xd0(%rsp), %rsi
jmp 0x5f7e
jmp 0x5f24
jmp 0x5f24
jmp 0x6136
jmp 0x6136
jmp 0x5f24
movq %rax, %rbx
jmp 0x5f86
jmp 0x5e8f
jmp 0x6124
jmp 0x6124
jmp 0x5f2e
jmp 0x5f24
jmp 0x5f2e
jmp 0x6136
jmp 0x5f29
jmp 0x5e68
jmp 0x5f24
jmp 0x5f2e
jmp 0x5f24
jmp 0x5f29
jmp 0x5f29
jmp 0x5e8f
jmp 0x5f24
jmp 0x6136
movq %rax, %rbx
jmp 0x5e3f
jmp 0x5eaa
movq %rax, %rbx
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x5e3f
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x5eb4
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0x5eb4
movq %rax, %rbx
jmp 0x5ed9
movq %rax, %rbx
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x5e92
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0x5e92
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x5f6a
movq 0x20(%rsp), %rsi
jmp 0x5f62
movq %rax, %rbx
jmp 0x5efe
jmp 0x5f24
movq %rax, %rbx
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x5ed9
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x5efe
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
je 0x5f6a
movq 0xd0(%rsp), %rsi
jmp 0x5f62
jmp 0x5f24
jmp 0x6136
movq %rax, %rbx
jmp 0x5f6a
movq %rax, %rbx
jmp 0x5f48
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x5f48
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x5f6a
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x5f86
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x6139
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0x6139
movq %rax, %rbx
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x5f90
jmp 0x6136
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x6794
jmp 0x5fd0
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x66ca
jmp 0x6146
jmp 0x6069
movq %rax, %rbx
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x6013
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0x6013
jmp 0x6089
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x602f
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0x602f
movq %rax, %rbx
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x6106
movq 0x80(%rsp), %rsi
jmp 0x60fe
jmp 0x6089
jmp 0x6136
jmp 0x6124
jmp 0x6124
jmp 0x6089
jmp 0x6089
jmp 0x6089
movq %rax, %rbx
jmp 0x6146
movq %rax, %rbx
jmp 0x6163
movq %rax, %rbx
jmp 0x6180
movq %rax, %rbx
jmp 0x619d
movq %rax, %rbx
jmp 0x6106
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x60ea
movq 0x20(%rsp), %rsi
jmp 0x60e2
jmp 0x60c0
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x60c8
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0x60c8
movq %rax, %rbx
jmp 0x60ea
movq %rax, %rbx
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x60ea
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x6106
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x6127
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0x6127
movq %rax, %rbx
leaq 0xc0(%rsp), %rdi
callq 0x6946
jmp 0x6139
movq %rax, %rbx
leaq 0x1f8(%rsp), %rdi
callq 0x9d04
movq 0x190(%rsp), %rdi
testq %rdi, %rdi
je 0x6163
movq 0x1a0(%rsp), %rsi
subq %rdi, %rsi
callq 0x21c0
movq 0x1b0(%rsp), %rdi
testq %rdi, %rdi
je 0x6180
movq 0x1c0(%rsp), %rsi
subq %rdi, %rsi
callq 0x21c0
movq 0x160(%rsp), %rdi
testq %rdi, %rdi
je 0x619d
movq 0x170(%rsp), %rsi
subq %rdi, %rsi
callq 0x21c0
movq 0x1d0(%rsp), %rdi
testq %rdi, %rdi
je 0x61ba
movq 0x1e0(%rsp), %rsi
subq %rdi, %rsi
callq 0x21c0
movq %rbx, %rdi
callq 0x22c0