// File: /workspace/github_c_makefile_star2_O0/lh3[P]miniprot/format.c
// Function: mp_write_residue
static void mp_write_residue(kstring_t *out, const mp_idx_t *mi, const mp_mapopt_t *opt, const char *aa, const mp_reg1_t *r)
{
	const mp_extra_t *e = r->p;
	int32_t k, w, w4, al = r->qs, nl = 0, l_tmp = 8; // enough to keep "##ATN\t\0"
	int32_t max_flank = opt->max_intron_flank;
	int64_t l_nt;
	uint8_t *nt;
	char *str[5];
	if (e == 0) return;
	for (k = 0; k < e->n_cigar; ++k) { // estimate the string length
		int32_t op = e->cigar[k]&0xf, len = e->cigar[k]>>4, len3 = len * 3;
		if (op == NS_CIGAR_M || op == NS_CIGAR_I || op == NS_CIGAR_D) l_tmp += len3;
		else if (op == NS_CIGAR_F || op == NS_CIGAR_G) l_tmp += len;
		else if (op == NS_CIGAR_N || op == NS_CIGAR_U || op == NS_CIGAR_V) {
			int32_t intron_len = op == NS_CIGAR_N? len : len - 3;
			l_tmp += intron_len <= max_flank * 2? len : max_flank * 2 + 20;
		}
	}
	l_tmp += 3;
	str[0] = Kmalloc(0, char, 5 * l_tmp);
	str[1] = str[0] + l_tmp;
	str[2] = str[1] + l_tmp;
	str[3] = str[2] + l_tmp;
	str[4] = str[3] + l_tmp;
	strcpy(str[0], "##ATN\t");
	strcpy(str[1], "##ATA\t");
	strcpy(str[2], "##AAS\t");
	strcpy(str[3], "##AQA\t");
	strcpy(str[4], "##STA\t");
	nt = Kmalloc(0, uint8_t, r->ve - r->vs + 3);
	l_nt = mp_ntseq_get_by_v(mi->nt, r->vid, r->vs, r->ve + 3, nt);
	assert(l_nt >= r->ve - r->vs);
	for (k = 0, w = w4 = 6; k < e->n_cigar; ++k) {
		int32_t i, j, l, op = e->cigar[k]&0xf, len = e->cigar[k]>>4, len3 = len * 3;
		assert(w < l_tmp);
		if (op == NS_CIGAR_M) {
			for (i = nl, j = al, l = 0; l < len; ++l, ++j, i += 3, w += 3) {
				uint8_t nt_aa, aa_aa, codon = nt[i]<<4 | nt[i+1]<<2 | nt[i+2];
				int32_t s;
				nt_aa = nt[i] > 3 || nt[i+1] > 3 || nt[i+2] > 3? ns_tab_aa20['X'] : ns_tab_codon[codon];
				aa_aa = ns_tab_aa20[(uint8_t)aa[j]];
				s = opt->mat[nt_aa * opt->asize + aa_aa];
				str[0][w] = "ACGTN"[nt[i]], str[0][w+1] = "ACGTN"[nt[i+1]], str[0][w+2] = "ACGTN"[nt[i+2]];
				str[1][w] = str[4][w4++] = ns_tab_aa_i2c[nt_aa], str[1][w+1] = str[1][w+2] = '.';
				str[2][w] = nt_aa == aa_aa? '|' : s > 0? '+' : ' ', str[2][w+1] = ' ', str[2][w+2] = ' ';
				str[3][w] = toupper(aa[j]), str[3][w+1] = str[3][w+2] = ' ';
			}
			nl += len3, al += len;
		} else if (op == NS_CIGAR_I) {
			for (j = 0; j < len; ++j, w += 3) {
				str[0][w] = str[0][w+1] = str[0][w+2] = '-';
				str[1][w] = '-', str[1][w+1] = str[1][w+2] = '.';
				str[2][w] = str[2][w+1] = str[2][w+2] = ' ';
				str[3][w] = toupper(aa[al + j]), str[3][w+1] = str[3][w+2] = ' ';
			}
			al += len;
		} else if (op == NS_CIGAR_D) {
			for (l = 0, i = nl; l < len; ++l, i += 3, w += 3) {
				uint8_t nt_aa, codon = nt[i]<<4 | nt[i+1]<<2 | nt[i+2];
				nt_aa = nt[i] > 3 || nt[i+1] > 3 || nt[i+2] > 3? ns_tab_aa20['X'] : ns_tab_codon[codon];
				str[0][w] = "ACGTN"[nt[i]], str[0][w+1] = "ACGTN"[nt[i+1]], str[0][w+2] = "ACGTN"[nt[i+2]];
				str[1][w] = str[4][w4++] = ns_tab_aa_i2c[nt_aa], str[1][w+1] = str[1][w+2] = '.';
				str[2][w] = str[2][w+1] = str[2][w+2] = ' ';
				str[3][w] = '-', str[3][w+1] = str[3][w+2] = ' ';
			}
			nl += len3;
		} else if (op == NS_CIGAR_F) {
			for (l = 0, i = nl; l < len; ++l, ++i, ++w)
				str[0][w] = "ACGTN"[nt[i]], str[1][w] = '!', str[2][w] = str[3][w] = ' ';
			nl += len;
		} else if (op == NS_CIGAR_G) {
			for (l = 0, i = nl; l < len; ++l, ++i, ++w) {
				str[0][w] = "ACGTN"[nt[i]], str[1][w] = '$', str[2][w] = ' ';
				str[3][w] = l == 0? toupper(aa[al]) : ' ';
			}
			nl += len, ++al;
		} else if (op == NS_CIGAR_N || op == NS_CIGAR_U || op == NS_CIGAR_V) {
			int32_t intron_len = op == NS_CIGAR_N? len : len - 3;
			if (op == NS_CIGAR_U || op == NS_CIGAR_V) { // phase-1 or phase-2 intron; print the first half of split codon
				uint8_t n1, n2, n3, codon, nt_aa, aa_aa;
				int32_t s;
				if (op == NS_CIGAR_U) n1 = nt[nl], n2 = nt[nl + len - 2], n3 = nt[nl + len - 1];
				else n1 = nt[nl], n2 = nt[nl + 1], n3 = nt[nl + len - 1];
				codon = n1<<4 | n2<<2 | n3;
				nt_aa = n1 > 3 || n2 > 3 || n3 > 3? ns_tab_aa20['X'] : ns_tab_codon[codon];
				aa_aa = ns_tab_aa20[(uint8_t)aa[al]];
				s = opt->mat[nt_aa * opt->asize + aa_aa];
				str[0][w] = "ACGTN"[nt[nl]];
				str[1][w] = str[4][w4++] = ns_tab_aa_i2c[nt_aa];
				str[2][w] = nt_aa == aa_aa? '|' : s > 0? '+' : ' ';
				str[3][w] = toupper(aa[al]);
				++w, ++nl;
				if (op == NS_CIGAR_V) {
					str[0][w] = "ACGTN"[nt[nl]], str[1][w] = '.', str[2][w] = str[3][w] = ' ';
					++w, ++nl;
				}
				++al;
			}
			if (intron_len <= max_flank * 2) {
				for (l = 0, i = nl; l < intron_len; ++l, ++i, ++w)
					str[0][w] = "acgtn"[nt[i]], str[1][w] = str[2][w] = str[3][w] = ' ';
			} else {
				int32_t il;
				for (l = 0, i = nl; l < max_flank; ++l, ++i, ++w)
					str[0][w] = "acgtn"[nt[i]], str[1][w] = str[2][w] = str[3][w] = ' ';
				str[0][w] = '~', str[1][w] = str[2][w] = ' ', str[3][w++] = ' ';
				il = snprintf(&str[0][w], l_tmp - w, "%d", intron_len);
				for (l = 0; l < il; ++l, ++w)
					str[1][w] = str[2][w] = str[3][w] = ' ';
				str[0][w] = '~', str[1][w] = str[2][w] = ' ', str[3][w++] = ' ';
				for (l = 0, i = nl + intron_len - max_flank; l < max_flank; ++l, ++i, ++w)
					str[0][w] = "acgtn"[nt[i]], str[1][w] = str[2][w] = str[3][w] = ' ';
			}
			nl += intron_len;
			if (op == NS_CIGAR_U || op == NS_CIGAR_V) { // phase-1 or phase-2 intron; print the second half of split codon
				str[0][w] = "ACGTN"[nt[nl]], str[1][w] = '.', str[2][w] = str[3][w] = ' ';
				++w, ++nl;
				if (op == NS_CIGAR_U) {
					str[0][w] = "ACGTN"[nt[nl]], str[1][w] = '.', str[2][w] = str[3][w] = ' ';
					++w, ++nl;
				}
			}
		}
	}
	assert(nl == r->ve - r->vs);
	if (l_nt == r->ve - r->vs + 3 && str[4][w4-1] != '*') { // then print one more codon
		uint8_t n1 = nt[nl], n2 = nt[nl + 1], n3 = nt[nl + 2], nt_aa, codon;
		codon = n1<<4 | n2<<2 | n3;
		nt_aa = n1 > 3 || n2 > 3 || n3 > 3? ns_tab_aa20['X'] : ns_tab_codon[codon];
		str[0][w] = "ACGTN"[n1], str[0][w+1] = "ACGTN"[n2], str[0][w+2] = "ACGTN"[n3];
		str[1][w] = str[4][w4++] = ns_tab_aa_i2c[nt_aa], str[1][w+1] = str[1][w+2] = '.';
		str[2][w] = str[2][w+1] = str[2][w+2] = ' ';
		str[3][w] = str[3][w+1] = str[3][w+2] = ' ';
		w += 3;
	}
	str[0][w] = str[1][w] = str[2][w] = str[3][w] = 0, str[4][w4] = 0;
	kfree(0, nt);
	if (opt->flag & MP_F_SHOW_RESIDUE)
		mp_sprintf_lite(out, "%s\n%s\n%s\n%s\n", str[0], str[1], str[2], str[3]);
	if (opt->flag & MP_F_SHOW_TRANS)
		mp_sprintf_lite(out, "%s\n", str[4]);
	kfree(0, str[0]);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x110, %rsp            # imm = 0x110
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq 0x60(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rax
movl 0x34(%rax), %eax
movl %eax, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movl $0x8, -0x48(%rbp)
movq -0x18(%rbp), %rax
movl 0x9c(%rax), %eax
movl %eax, -0x4c(%rbp)
cmpq $0x0, -0x30(%rbp)
jne 0x1d43c
jmp 0x1ea43
movl $0x0, -0x34(%rbp)
movl -0x34(%rbp), %eax
movq -0x30(%rbp), %rcx
cmpl 0xc(%rcx), %eax
jge 0x1d571
movq -0x30(%rbp), %rax
movslq -0x34(%rbp), %rcx
movl 0x30(%rax,%rcx,4), %eax
andl $0xf, %eax
movl %eax, -0x94(%rbp)
movq -0x30(%rbp), %rax
movslq -0x34(%rbp), %rcx
movl 0x30(%rax,%rcx,4), %eax
shrl $0x4, %eax
movl %eax, -0x98(%rbp)
imull $0x3, -0x98(%rbp), %eax
movl %eax, -0x9c(%rbp)
cmpl $0x0, -0x94(%rbp)
je 0x1d4a5
cmpl $0x1, -0x94(%rbp)
je 0x1d4a5
cmpl $0x2, -0x94(%rbp)
jne 0x1d4b6
movl -0x9c(%rbp), %eax
addl -0x48(%rbp), %eax
movl %eax, -0x48(%rbp)
jmp 0x1d561
cmpl $0xa, -0x94(%rbp)
je 0x1d4c8
cmpl $0xb, -0x94(%rbp)
jne 0x1d4d9
movl -0x98(%rbp), %eax
addl -0x48(%rbp), %eax
movl %eax, -0x48(%rbp)
jmp 0x1d55f
cmpl $0x3, -0x94(%rbp)
je 0x1d4f4
cmpl $0xc, -0x94(%rbp)
je 0x1d4f4
cmpl $0xd, -0x94(%rbp)
jne 0x1d55d
cmpl $0x3, -0x94(%rbp)
jne 0x1d50b
movl -0x98(%rbp), %eax
movl %eax, -0xe4(%rbp)
jmp 0x1d51a
movl -0x98(%rbp), %eax
subl $0x3, %eax
movl %eax, -0xe4(%rbp)
movl -0xe4(%rbp), %eax
movl %eax, -0xa0(%rbp)
movl -0xa0(%rbp), %eax
movl -0x4c(%rbp), %ecx
shll %ecx
cmpl %ecx, %eax
jg 0x1d543
movl -0x98(%rbp), %eax
movl %eax, -0xe8(%rbp)
jmp 0x1d551
movl -0x4c(%rbp), %eax
shll %eax
addl $0x14, %eax
movl %eax, -0xe8(%rbp)
movl -0xe8(%rbp), %eax
addl -0x48(%rbp), %eax
movl %eax, -0x48(%rbp)
jmp 0x1d55f
jmp 0x1d561
jmp 0x1d563
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x1d443
movl -0x48(%rbp), %eax
addl $0x3, %eax
movl %eax, -0x48(%rbp)
imull $0x5, -0x48(%rbp), %eax
movslq %eax, %rsi
shlq $0x0, %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0xaeb0
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rax
movslq -0x48(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movslq -0x48(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rax
movslq -0x48(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movslq -0x48(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x70(%rbp)
movq -0x90(%rbp), %rdi
leaq 0x4a20(%rip), %rsi      # 0x22008
callq 0x2070
movq -0x88(%rbp), %rdi
leaq 0x4a14(%rip), %rsi      # 0x2200f
callq 0x2070
movq -0x80(%rbp), %rdi
leaq 0x4a0b(%rip), %rsi      # 0x22016
callq 0x2070
movq -0x78(%rbp), %rdi
leaq 0x4a02(%rip), %rsi      # 0x2201d
callq 0x2070
movq -0x70(%rbp), %rdi
leaq 0x49f9(%rip), %rsi      # 0x22024
callq 0x2070
movq -0x28(%rbp), %rax
movq 0x48(%rax), %rsi
movq -0x28(%rbp), %rax
subq 0x40(%rax), %rsi
addq $0x3, %rsi
shlq $0x0, %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0xaeb0
movq %rax, -0x60(%rbp)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x28(%rbp), %rax
movl 0x30(%rax), %esi
movq -0x28(%rbp), %rax
movq 0x40(%rax), %rdx
movq -0x28(%rbp), %rax
movq 0x48(%rax), %rcx
addq $0x3, %rcx
movq -0x60(%rbp), %r8
callq 0x16750
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
movq -0x28(%rbp), %rcx
movq 0x48(%rcx), %rcx
movq -0x28(%rbp), %rdx
subq 0x40(%rdx), %rcx
cmpq %rcx, %rax
jl 0x1d6a0
jmp 0x1d6bf
leaq 0x4984(%rip), %rdi      # 0x2202b
leaq 0x48b6(%rip), %rsi      # 0x21f64
movl $0xdc, %edx
leaq 0x4987(%rip), %rcx      # 0x22041
callq 0x2180
movl $0x0, -0x34(%rbp)
movl $0x6, -0x3c(%rbp)
movl $0x6, -0x38(%rbp)
movl -0x34(%rbp), %eax
movq -0x30(%rbp), %rcx
cmpl 0xc(%rcx), %eax
jge 0x1e721
movq -0x30(%rbp), %rax
movslq -0x34(%rbp), %rcx
movl 0x30(%rax,%rcx,4), %eax
andl $0xf, %eax
movl %eax, -0xb0(%rbp)
movq -0x30(%rbp), %rax
movslq -0x34(%rbp), %rcx
movl 0x30(%rax,%rcx,4), %eax
shrl $0x4, %eax
movl %eax, -0xb4(%rbp)
imull $0x3, -0xb4(%rbp), %eax
movl %eax, -0xb8(%rbp)
movl -0x38(%rbp), %eax
cmpl -0x48(%rbp), %eax
jge 0x1d725
jmp 0x1d744
leaq 0x4980(%rip), %rdi      # 0x220ac
leaq 0x4831(%rip), %rsi      # 0x21f64
movl $0xdf, %edx
leaq 0x4902(%rip), %rcx      # 0x22041
callq 0x2180
cmpl $0x0, -0xb0(%rbp)
jne 0x1da8f
movl -0x44(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0xa8(%rbp)
movl $0x0, -0xac(%rbp)
movl -0xac(%rbp), %eax
cmpl -0xb4(%rbp), %eax
jge 0x1da72
movq -0x60(%rbp), %rax
movslq -0xa4(%rbp), %rcx
movzbl (%rax,%rcx), %eax
shll $0x4, %eax
movq -0x60(%rbp), %rcx
movl -0xa4(%rbp), %edx
addl $0x1, %edx
movslq %edx, %rdx
movzbl (%rcx,%rdx), %ecx
shll $0x2, %ecx
orl %ecx, %eax
movq -0x60(%rbp), %rcx
movl -0xa4(%rbp), %edx
addl $0x2, %edx
movslq %edx, %rdx
movzbl (%rcx,%rdx), %ecx
orl %ecx, %eax
movb %al, -0xbb(%rbp)
movq -0x60(%rbp), %rax
movslq -0xa4(%rbp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0x3, %eax
jg 0x1d80c
movq -0x60(%rbp), %rax
movl -0xa4(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
cmpl $0x3, %eax
jg 0x1d80c
movq -0x60(%rbp), %rax
movl -0xa4(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
cmpl $0x3, %eax
jle 0x1d81f
leaq 0x8fdd(%rip), %rax      # 0x267f0
movzbl 0x58(%rax), %eax
movl %eax, -0xec(%rbp)
jmp 0x1d839
movzbl -0xbb(%rbp), %eax
movl %eax, %ecx
leaq 0x91c1(%rip), %rax      # 0x269f0
movzbl (%rax,%rcx), %eax
movl %eax, -0xec(%rbp)
movl -0xec(%rbp), %eax
movb %al, -0xb9(%rbp)
movq -0x20(%rbp), %rax
movslq -0xa8(%rbp), %rcx
movzbl (%rax,%rcx), %eax
movl %eax, %ecx
leaq 0x8f93(%rip), %rax      # 0x267f0
movb (%rax,%rcx), %al
movb %al, -0xba(%rbp)
movq -0x18(%rbp), %rax
movzbl -0xb9(%rbp), %ecx
movq -0x18(%rbp), %rdx
imull 0x94(%rdx), %ecx
movzbl -0xba(%rbp), %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsbl 0xa8(%rax,%rcx), %eax
movl %eax, -0xc0(%rbp)
movq -0x60(%rbp), %rax
movslq -0xa4(%rbp), %rcx
movzbl (%rax,%rcx), %eax
movl %eax, %ecx
leaq 0x32c2(%rip), %rax      # 0x20b70
movb (%rax,%rcx), %dl
movq -0x90(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb %dl, (%rax,%rcx)
movq -0x60(%rbp), %rax
movl -0xa4(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
movl %eax, %ecx
leaq 0x3294(%rip), %rax      # 0x20b70
movb (%rax,%rcx), %dl
movq -0x90(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movq -0x60(%rbp), %rax
movl -0xa4(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
movl %eax, %ecx
leaq 0x3261(%rip), %rax      # 0x20b70
movb (%rax,%rcx), %dl
movq -0x90(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
leaq 0x8a7c(%rip), %rax      # 0x263a8
movq (%rax), %rax
movzbl -0xb9(%rbp), %ecx
movb (%rax,%rcx), %dl
movq -0x70(%rbp), %rax
movl -0x3c(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x3c(%rbp)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movq -0x88(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb %dl, (%rax,%rcx)
movq -0x88(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movb $0x2e, (%rax,%rcx)
movq -0x88(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x2e, (%rax,%rcx)
movzbl -0xb9(%rbp), %eax
movzbl -0xba(%rbp), %ecx
cmpl %ecx, %eax
jne 0x1d9a3
movl $0x7c, %eax
movl %eax, -0xf0(%rbp)
jmp 0x1d9bf
movl -0xc0(%rbp), %edx
movl $0x20, %eax
movl $0x2b, %ecx
cmpl $0x0, %edx
cmovgl %ecx, %eax
movl %eax, -0xf0(%rbp)
movl -0xf0(%rbp), %eax
movb %al, %dl
movq -0x80(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb %dl, (%rax,%rcx)
movq -0x80(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x20, (%rax,%rcx)
movq -0x80(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movb $0x20, (%rax,%rcx)
movq -0x20(%rbp), %rax
movslq -0xa8(%rbp), %rcx
movsbl (%rax,%rcx), %edi
callq 0x2090
movb %al, %dl
movq -0x78(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb %dl, (%rax,%rcx)
movq -0x78(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movb $0x20, (%rax,%rcx)
movq -0x78(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x20, (%rax,%rcx)
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
movl -0xa8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa8(%rbp)
movl -0xa4(%rbp), %eax
addl $0x3, %eax
movl %eax, -0xa4(%rbp)
movl -0x38(%rbp), %eax
addl $0x3, %eax
movl %eax, -0x38(%rbp)
jmp 0x1d76d
movl -0xb8(%rbp), %eax
addl -0x44(%rbp), %eax
movl %eax, -0x44(%rbp)
movl -0xb4(%rbp), %eax
addl -0x40(%rbp), %eax
movl %eax, -0x40(%rbp)
jmp 0x1e711
cmpl $0x1, -0xb0(%rbp)
jne 0x1dbca
movl $0x0, -0xa8(%rbp)
movl -0xa8(%rbp), %eax
cmpl -0xb4(%rbp), %eax
jge 0x1dbb9
movq -0x90(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movb $0x2d, (%rax,%rcx)
movq -0x90(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x2d, (%rax,%rcx)
movq -0x90(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x2d, (%rax,%rcx)
movq -0x88(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x2d, (%rax,%rcx)
movq -0x88(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movb $0x2e, (%rax,%rcx)
movq -0x88(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x2e, (%rax,%rcx)
movq -0x80(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movb $0x20, (%rax,%rcx)
movq -0x80(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x20, (%rax,%rcx)
movq -0x80(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movq -0x20(%rbp), %rax
movl -0x40(%rbp), %ecx
addl -0xa8(%rbp), %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %edi
callq 0x2090
movb %al, %dl
movq -0x78(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb %dl, (%rax,%rcx)
movq -0x78(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movb $0x20, (%rax,%rcx)
movq -0x78(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x20, (%rax,%rcx)
movl -0xa8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa8(%rbp)
movl -0x38(%rbp), %eax
addl $0x3, %eax
movl %eax, -0x38(%rbp)
jmp 0x1daa6
movl -0xb4(%rbp), %eax
addl -0x40(%rbp), %eax
movl %eax, -0x40(%rbp)
jmp 0x1e70f
cmpl $0x2, -0xb0(%rbp)
jne 0x1de49
movl $0x0, -0xac(%rbp)
movl -0x44(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0xac(%rbp), %eax
cmpl -0xb4(%rbp), %eax
jge 0x1de38
movq -0x60(%rbp), %rax
movslq -0xa4(%rbp), %rcx
movzbl (%rax,%rcx), %eax
shll $0x4, %eax
movq -0x60(%rbp), %rcx
movl -0xa4(%rbp), %edx
addl $0x1, %edx
movslq %edx, %rdx
movzbl (%rcx,%rdx), %ecx
shll $0x2, %ecx
orl %ecx, %eax
movq -0x60(%rbp), %rcx
movl -0xa4(%rbp), %edx
addl $0x2, %edx
movslq %edx, %rdx
movzbl (%rcx,%rdx), %ecx
orl %ecx, %eax
movb %al, -0xc2(%rbp)
movq -0x60(%rbp), %rax
movslq -0xa4(%rbp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0x3, %eax
jg 0x1dc89
movq -0x60(%rbp), %rax
movl -0xa4(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
cmpl $0x3, %eax
jg 0x1dc89
movq -0x60(%rbp), %rax
movl -0xa4(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
cmpl $0x3, %eax
jle 0x1dc9c
leaq 0x8b60(%rip), %rax      # 0x267f0
movzbl 0x58(%rax), %eax
movl %eax, -0xf4(%rbp)
jmp 0x1dcb6
movzbl -0xc2(%rbp), %eax
movl %eax, %ecx
leaq 0x8d44(%rip), %rax      # 0x269f0
movzbl (%rax,%rcx), %eax
movl %eax, -0xf4(%rbp)
movl -0xf4(%rbp), %eax
movb %al, -0xc1(%rbp)
movq -0x60(%rbp), %rax
movslq -0xa4(%rbp), %rcx
movzbl (%rax,%rcx), %eax
movl %eax, %ecx
leaq 0x2e96(%rip), %rax      # 0x20b70
movb (%rax,%rcx), %dl
movq -0x90(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb %dl, (%rax,%rcx)
movq -0x60(%rbp), %rax
movl -0xa4(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
movl %eax, %ecx
leaq 0x2e68(%rip), %rax      # 0x20b70
movb (%rax,%rcx), %dl
movq -0x90(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movq -0x60(%rbp), %rax
movl -0xa4(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
movl %eax, %ecx
leaq 0x2e35(%rip), %rax      # 0x20b70
movb (%rax,%rcx), %dl
movq -0x90(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
leaq 0x8650(%rip), %rax      # 0x263a8
movq (%rax), %rax
movzbl -0xc1(%rbp), %ecx
movb (%rax,%rcx), %dl
movq -0x70(%rbp), %rax
movl -0x3c(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x3c(%rbp)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movq -0x88(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb %dl, (%rax,%rcx)
movq -0x88(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movb $0x2e, (%rax,%rcx)
movq -0x88(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x2e, (%rax,%rcx)
movq -0x80(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movb $0x20, (%rax,%rcx)
movq -0x80(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x20, (%rax,%rcx)
movq -0x80(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movq -0x78(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x2d, (%rax,%rcx)
movq -0x78(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movb $0x20, (%rax,%rcx)
movq -0x78(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x20, (%rax,%rcx)
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
movl -0xa4(%rbp), %eax
addl $0x3, %eax
movl %eax, -0xa4(%rbp)
movl -0x38(%rbp), %eax
addl $0x3, %eax
movl %eax, -0x38(%rbp)
jmp 0x1dbea
movl -0xb8(%rbp), %eax
addl -0x44(%rbp), %eax
movl %eax, -0x44(%rbp)
jmp 0x1e70d
cmpl $0xa, -0xb0(%rbp)
jne 0x1df04
movl $0x0, -0xac(%rbp)
movl -0x44(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0xac(%rbp), %eax
cmpl -0xb4(%rbp), %eax
jge 0x1def3
movq -0x60(%rbp), %rax
movslq -0xa4(%rbp), %rcx
movzbl (%rax,%rcx), %eax
movl %eax, %ecx
leaq 0x2ce1(%rip), %rax      # 0x20b70
movb (%rax,%rcx), %dl
movq -0x90(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb %dl, (%rax,%rcx)
movq -0x88(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x21, (%rax,%rcx)
movq -0x78(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movq -0x80(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
movl -0xa4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa4(%rbp)
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x1de69
movl -0xb4(%rbp), %eax
addl -0x44(%rbp), %eax
movl %eax, -0x44(%rbp)
jmp 0x1e70b
cmpl $0xb, -0xb0(%rbp)
jne 0x1e002
movl $0x0, -0xac(%rbp)
movl -0x44(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0xac(%rbp), %eax
cmpl -0xb4(%rbp), %eax
jge 0x1dfe8
movq -0x60(%rbp), %rax
movslq -0xa4(%rbp), %rcx
movzbl (%rax,%rcx), %eax
movl %eax, %ecx
leaq 0x2c22(%rip), %rax      # 0x20b70
movb (%rax,%rcx), %dl
movq -0x90(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb %dl, (%rax,%rcx)
movq -0x88(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x24, (%rax,%rcx)
movq -0x80(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
cmpl $0x0, -0xac(%rbp)
jne 0x1df9c
movq -0x20(%rbp), %rax
movslq -0x40(%rbp), %rcx
movsbl (%rax,%rcx), %edi
callq 0x2090
movl %eax, -0xf8(%rbp)
jmp 0x1dfa9
movl $0x20, %eax
movl %eax, -0xf8(%rbp)
jmp 0x1dfa9
movl -0xf8(%rbp), %eax
movb %al, %dl
movq -0x78(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb %dl, (%rax,%rcx)
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
movl -0xa4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa4(%rbp)
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x1df24
movl -0xb4(%rbp), %eax
addl -0x44(%rbp), %eax
movl %eax, -0x44(%rbp)
movl -0x40(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x40(%rbp)
jmp 0x1e709
cmpl $0x3, -0xb0(%rbp)
je 0x1e021
cmpl $0xc, -0xb0(%rbp)
je 0x1e021
cmpl $0xd, -0xb0(%rbp)
jne 0x1e707
cmpl $0x3, -0xb0(%rbp)
jne 0x1e038
movl -0xb4(%rbp), %eax
movl %eax, -0xfc(%rbp)
jmp 0x1e047
movl -0xb4(%rbp), %eax
subl $0x3, %eax
movl %eax, -0xfc(%rbp)
movl -0xfc(%rbp), %eax
movl %eax, -0xc8(%rbp)
cmpl $0xc, -0xb0(%rbp)
je 0x1e069
cmpl $0xd, -0xb0(%rbp)
jne 0x1e31c
cmpl $0xc, -0xb0(%rbp)
jne 0x1e0bd
movq -0x60(%rbp), %rax
movslq -0x44(%rbp), %rcx
movb (%rax,%rcx), %al
movb %al, -0xc9(%rbp)
movq -0x60(%rbp), %rax
movl -0x44(%rbp), %ecx
addl -0xb4(%rbp), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
movb (%rax,%rcx), %al
movb %al, -0xca(%rbp)
movq -0x60(%rbp), %rax
movl -0x44(%rbp), %ecx
addl -0xb4(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movb (%rax,%rcx), %al
movb %al, -0xcb(%rbp)
jmp 0x1e100
movq -0x60(%rbp), %rax
movslq -0x44(%rbp), %rcx
movb (%rax,%rcx), %al
movb %al, -0xc9(%rbp)
movq -0x60(%rbp), %rax
movl -0x44(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb (%rax,%rcx), %al
movb %al, -0xca(%rbp)
movq -0x60(%rbp), %rax
movl -0x44(%rbp), %ecx
addl -0xb4(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movb (%rax,%rcx), %al
movb %al, -0xcb(%rbp)
movzbl -0xc9(%rbp), %eax
shll $0x4, %eax
movzbl -0xca(%rbp), %ecx
shll $0x2, %ecx
orl %ecx, %eax
movzbl -0xcb(%rbp), %ecx
orl %ecx, %eax
movb %al, -0xcc(%rbp)
movzbl -0xc9(%rbp), %eax
cmpl $0x3, %eax
jg 0x1e149
movzbl -0xca(%rbp), %eax
cmpl $0x3, %eax
jg 0x1e149
movzbl -0xcb(%rbp), %eax
cmpl $0x3, %eax
jle 0x1e15c
leaq 0x86a0(%rip), %rax      # 0x267f0
movzbl 0x58(%rax), %eax
movl %eax, -0x100(%rbp)
jmp 0x1e176
movzbl -0xcc(%rbp), %eax
movl %eax, %ecx
leaq 0x8884(%rip), %rax      # 0x269f0
movzbl (%rax,%rcx), %eax
movl %eax, -0x100(%rbp)
movl -0x100(%rbp), %eax
movb %al, -0xcd(%rbp)
movq -0x20(%rbp), %rax
movslq -0x40(%rbp), %rcx
movzbl (%rax,%rcx), %eax
movl %eax, %ecx
leaq 0x8659(%rip), %rax      # 0x267f0
movb (%rax,%rcx), %al
movb %al, -0xce(%rbp)
movq -0x18(%rbp), %rax
movzbl -0xcd(%rbp), %ecx
movq -0x18(%rbp), %rdx
imull 0x94(%rdx), %ecx
movzbl -0xce(%rbp), %edx
addl %edx, %ecx
movslq %ecx, %rcx
movsbl 0xa8(%rax,%rcx), %eax
movl %eax, -0xd4(%rbp)
movq -0x60(%rbp), %rax
movslq -0x44(%rbp), %rcx
movzbl (%rax,%rcx), %eax
movl %eax, %ecx
leaq 0x298b(%rip), %rax      # 0x20b70
movb (%rax,%rcx), %dl
movq -0x90(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb %dl, (%rax,%rcx)
leaq 0x81ab(%rip), %rax      # 0x263a8
movq (%rax), %rax
movzbl -0xcd(%rbp), %ecx
movb (%rax,%rcx), %dl
movq -0x70(%rbp), %rax
movl -0x3c(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x3c(%rbp)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movq -0x88(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb %dl, (%rax,%rcx)
movzbl -0xcd(%rbp), %eax
movzbl -0xce(%rbp), %ecx
cmpl %ecx, %eax
jne 0x1e24c
movl $0x7c, %eax
movl %eax, -0x104(%rbp)
jmp 0x1e268
movl -0xd4(%rbp), %edx
movl $0x20, %eax
movl $0x2b, %ecx
cmpl $0x0, %edx
cmovgl %ecx, %eax
movl %eax, -0x104(%rbp)
movl -0x104(%rbp), %eax
movb %al, %dl
movq -0x80(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb %dl, (%rax,%rcx)
movq -0x20(%rbp), %rax
movslq -0x40(%rbp), %rcx
movsbl (%rax,%rcx), %edi
callq 0x2090
movb %al, %dl
movq -0x78(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb %dl, (%rax,%rcx)
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
movl -0x44(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x44(%rbp)
cmpl $0xd, -0xb0(%rbp)
jne 0x1e313
movq -0x60(%rbp), %rax
movslq -0x44(%rbp), %rcx
movzbl (%rax,%rcx), %eax
movl %eax, %ecx
leaq 0x28a7(%rip), %rax      # 0x20b70
movb (%rax,%rcx), %dl
movq -0x90(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb %dl, (%rax,%rcx)
movq -0x88(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x2e, (%rax,%rcx)
movq -0x78(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movq -0x80(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
movl -0x44(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x44(%rbp)
movl -0x40(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x40(%rbp)
movl -0xc8(%rbp), %eax
movl -0x4c(%rbp), %ecx
shll %ecx
cmpl %ecx, %eax
jg 0x1e3d1
movl $0x0, -0xac(%rbp)
movl -0x44(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0xac(%rbp), %eax
cmpl -0xc8(%rbp), %eax
jge 0x1e3cc
movq -0x60(%rbp), %rax
movslq -0xa4(%rbp), %rcx
movzbl (%rax,%rcx), %eax
movl %eax, %ecx
leaq 0x3c5a(%rip), %rax      # 0x21fc2
movb (%rax,%rcx), %dl
movq -0x90(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb %dl, (%rax,%rcx)
movq -0x78(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movq -0x80(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movq -0x88(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
movl -0xa4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa4(%rbp)
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x1e342
jmp 0x1e61a
movl $0x0, -0xac(%rbp)
movl -0x44(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0xac(%rbp), %eax
cmpl -0x4c(%rbp), %eax
jge 0x1e46b
movq -0x60(%rbp), %rax
movslq -0xa4(%rbp), %rcx
movzbl (%rax,%rcx), %eax
movl %eax, %ecx
leaq 0x3bbb(%rip), %rax      # 0x21fc2
movb (%rax,%rcx), %dl
movq -0x90(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb %dl, (%rax,%rcx)
movq -0x78(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movq -0x80(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movq -0x88(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
movl -0xa4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa4(%rbp)
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x1e3e4
movq -0x90(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x7e, (%rax,%rcx)
movq -0x80(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movq -0x88(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movq -0x78(%rbp), %rax
movl -0x38(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x38(%rbp)
movslq %ecx, %rcx
movb $0x20, (%rax,%rcx)
movq -0x90(%rbp), %rdi
movslq -0x38(%rbp), %rax
addq %rax, %rdi
movl -0x48(%rbp), %eax
subl -0x38(%rbp), %eax
movslq %eax, %rsi
movl -0xc8(%rbp), %ecx
leaq 0x3a76(%rip), %rdx      # 0x21f45
movb $0x0, %al
callq 0x2150
movl %eax, -0xd8(%rbp)
movl $0x0, -0xac(%rbp)
movl -0xac(%rbp), %eax
cmpl -0xd8(%rbp), %eax
jge 0x1e535
movq -0x78(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movq -0x80(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movq -0x88(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x1e4e6
movq -0x90(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x7e, (%rax,%rcx)
movq -0x80(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movq -0x88(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movq -0x78(%rbp), %rax
movl -0x38(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x38(%rbp)
movslq %ecx, %rcx
movb $0x20, (%rax,%rcx)
movl $0x0, -0xac(%rbp)
movl -0x44(%rbp), %eax
addl -0xc8(%rbp), %eax
subl -0x4c(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0xac(%rbp), %eax
cmpl -0x4c(%rbp), %eax
jge 0x1e618
movq -0x60(%rbp), %rax
movslq -0xa4(%rbp), %rcx
movzbl (%rax,%rcx), %eax
movl %eax, %ecx
leaq 0x3a0e(%rip), %rax      # 0x21fc2
movb (%rax,%rcx), %dl
movq -0x90(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb %dl, (%rax,%rcx)
movq -0x78(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movq -0x80(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movq -0x88(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
movl -0xa4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa4(%rbp)
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x1e591
jmp 0x1e61a
movl -0xc8(%rbp), %eax
addl -0x44(%rbp), %eax
movl %eax, -0x44(%rbp)
cmpl $0xc, -0xb0(%rbp)
je 0x1e63c
cmpl $0xd, -0xb0(%rbp)
jne 0x1e705
movq -0x60(%rbp), %rax
movslq -0x44(%rbp), %rcx
movzbl (%rax,%rcx), %eax
movl %eax, %ecx
leaq 0x251f(%rip), %rax      # 0x20b70
movb (%rax,%rcx), %dl
movq -0x90(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb %dl, (%rax,%rcx)
movq -0x88(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x2e, (%rax,%rcx)
movq -0x78(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movq -0x80(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
movl -0x44(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x44(%rbp)
cmpl $0xc, -0xb0(%rbp)
jne 0x1e703
movq -0x60(%rbp), %rax
movslq -0x44(%rbp), %rcx
movzbl (%rax,%rcx), %eax
movl %eax, %ecx
leaq 0x24b7(%rip), %rax      # 0x20b70
movb (%rax,%rcx), %dl
movq -0x90(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb %dl, (%rax,%rcx)
movq -0x88(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x2e, (%rax,%rcx)
movq -0x78(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movq -0x80(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
movl -0x44(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x44(%rbp)
jmp 0x1e705
jmp 0x1e707
jmp 0x1e709
jmp 0x1e70b
jmp 0x1e70d
jmp 0x1e70f
jmp 0x1e711
jmp 0x1e713
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x1d6d4
movslq -0x44(%rbp), %rax
movq -0x28(%rbp), %rcx
movq 0x48(%rcx), %rcx
movq -0x28(%rbp), %rdx
subq 0x40(%rdx), %rcx
cmpq %rcx, %rax
jne 0x1e73c
jmp 0x1e75b
leaq 0x389d(%rip), %rdi      # 0x21fe0
leaq 0x381a(%rip), %rsi      # 0x21f64
movl $0x139, %edx            # imm = 0x139
leaq 0x38eb(%rip), %rcx      # 0x22041
callq 0x2180
movq -0x58(%rbp), %rax
movq -0x28(%rbp), %rcx
movq 0x48(%rcx), %rcx
movq -0x28(%rbp), %rdx
subq 0x40(%rdx), %rcx
addq $0x3, %rcx
cmpq %rcx, %rax
jne 0x1e986
movq -0x70(%rbp), %rax
movl -0x3c(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2a, %eax
je 0x1e986
movq -0x60(%rbp), %rax
movslq -0x44(%rbp), %rcx
movb (%rax,%rcx), %al
movb %al, -0xd9(%rbp)
movq -0x60(%rbp), %rax
movl -0x44(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb (%rax,%rcx), %al
movb %al, -0xda(%rbp)
movq -0x60(%rbp), %rax
movl -0x44(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movb (%rax,%rcx), %al
movb %al, -0xdb(%rbp)
movzbl -0xd9(%rbp), %eax
shll $0x4, %eax
movzbl -0xda(%rbp), %ecx
shll $0x2, %ecx
orl %ecx, %eax
movzbl -0xdb(%rbp), %ecx
orl %ecx, %eax
movb %al, -0xdd(%rbp)
movzbl -0xd9(%rbp), %eax
cmpl $0x3, %eax
jg 0x1e81c
movzbl -0xda(%rbp), %eax
cmpl $0x3, %eax
jg 0x1e81c
movzbl -0xdb(%rbp), %eax
cmpl $0x3, %eax
jle 0x1e82f
leaq 0x7fcd(%rip), %rax      # 0x267f0
movzbl 0x58(%rax), %eax
movl %eax, -0x108(%rbp)
jmp 0x1e849
movzbl -0xdd(%rbp), %eax
movl %eax, %ecx
leaq 0x81b1(%rip), %rax      # 0x269f0
movzbl (%rax,%rcx), %eax
movl %eax, -0x108(%rbp)
movl -0x108(%rbp), %eax
movb %al, -0xdc(%rbp)
movzbl -0xd9(%rbp), %eax
movl %eax, %ecx
leaq 0x230b(%rip), %rax      # 0x20b70
movb (%rax,%rcx), %dl
movq -0x90(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb %dl, (%rax,%rcx)
movzbl -0xda(%rbp), %eax
movl %eax, %ecx
leaq 0x22ea(%rip), %rax      # 0x20b70
movb (%rax,%rcx), %dl
movq -0x90(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movzbl -0xdb(%rbp), %eax
movl %eax, %ecx
leaq 0x22c4(%rip), %rax      # 0x20b70
movb (%rax,%rcx), %dl
movq -0x90(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
leaq 0x7adf(%rip), %rax      # 0x263a8
movq (%rax), %rax
movzbl -0xdc(%rbp), %ecx
movb (%rax,%rcx), %dl
movq -0x70(%rbp), %rax
movl -0x3c(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x3c(%rbp)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movq -0x88(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb %dl, (%rax,%rcx)
movq -0x88(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movb $0x2e, (%rax,%rcx)
movq -0x88(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x2e, (%rax,%rcx)
movq -0x80(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movb $0x20, (%rax,%rcx)
movq -0x80(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x20, (%rax,%rcx)
movq -0x80(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movq -0x78(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movb $0x20, (%rax,%rcx)
movq -0x78(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x20, (%rax,%rcx)
movq -0x78(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movl -0x38(%rbp), %eax
addl $0x3, %eax
movl %eax, -0x38(%rbp)
movq -0x78(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x0, (%rax,%rcx)
movq -0x80(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x0, (%rax,%rcx)
movq -0x88(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x0, (%rax,%rcx)
movq -0x90(%rbp), %rax
movslq -0x38(%rbp), %rcx
movb $0x0, (%rax,%rcx)
movq -0x70(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movb $0x0, (%rax,%rcx)
movq -0x60(%rbp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0xac90
movq -0x18(%rbp), %rax
movl (%rax), %eax
andl $0x80, %eax
cmpl $0x0, %eax
je 0x1ea0d
movq -0x8(%rbp), %rdi
movq -0x90(%rbp), %rdx
movq -0x88(%rbp), %rcx
movq -0x80(%rbp), %r8
movq -0x78(%rbp), %r9
leaq 0x36b0(%rip), %rsi      # 0x220b6
movb $0x0, %al
callq 0x1bc80
movq -0x18(%rbp), %rax
movl (%rax), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x1ea33
movq -0x8(%rbp), %rdi
movq -0x70(%rbp), %rdx
leaq 0x3693(%rip), %rsi      # 0x220bf
movb $0x0, %al
callq 0x1bc80
movq -0x90(%rbp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0xac90
addq $0x110, %rsp            # imm = 0x110
popq %rbp
retq
nopl (%rax)