// File: /workspace/github_c_makefile_star2_O0/odknt[P]st/st.c
// Function: csihandle
void
csihandle(void)
{
	char buf[40];
	int len;

	switch (csiescseq.mode[0]) {
	default:
	unknown:
		fprintf(stderr, "erresc: unknown csi ");
		csidump();
		/* die(""); */
		break;
	case '@': /* ICH -- Insert <n> blank char */
		DEFAULT(csiescseq.arg[0], 1);
		tinsertblank(csiescseq.arg[0]);
		break;
	case 'A': /* CUU -- Cursor <n> Up */
		DEFAULT(csiescseq.arg[0], 1);
		tmoveto(term.c.x, term.c.y-csiescseq.arg[0]);
		break;
	case 'B': /* CUD -- Cursor <n> Down */
	case 'e': /* VPR --Cursor <n> Down */
		DEFAULT(csiescseq.arg[0], 1);
		tmoveto(term.c.x, term.c.y+csiescseq.arg[0]);
		break;
	case 'i': /* MC -- Media Copy */
		switch (csiescseq.arg[0]) {
		case 0:
			tdump();
			break;
		case 1:
			tdumpline(term.c.y);
			break;
		case 2:
			tdumpsel();
			break;
		case 4:
			term.mode &= ~MODE_PRINT;
			break;
		case 5:
			term.mode |= MODE_PRINT;
			break;
		}
		break;
	case 'c': /* DA -- Device Attributes */
		if (csiescseq.arg[0] == 0)
			ttywrite(vtiden, strlen(vtiden), 0);
		break;
	case 'b': /* REP -- if last char is printable print it <n> more times */
		DEFAULT(csiescseq.arg[0], 1);
		if (term.lastc)
			while (csiescseq.arg[0]-- > 0)
				tputc(term.lastc);
		break;
	case 'C': /* CUF -- Cursor <n> Forward */
	case 'a': /* HPR -- Cursor <n> Forward */
		DEFAULT(csiescseq.arg[0], 1);
		tmoveto(term.c.x+csiescseq.arg[0], term.c.y);
		break;
	case 'D': /* CUB -- Cursor <n> Backward */
		DEFAULT(csiescseq.arg[0], 1);
		tmoveto(term.c.x-csiescseq.arg[0], term.c.y);
		break;
	case 'E': /* CNL -- Cursor <n> Down and first col */
		DEFAULT(csiescseq.arg[0], 1);
		tmoveto(0, term.c.y+csiescseq.arg[0]);
		break;
	case 'F': /* CPL -- Cursor <n> Up and first col */
		DEFAULT(csiescseq.arg[0], 1);
		tmoveto(0, term.c.y-csiescseq.arg[0]);
		break;
	case 'g': /* TBC -- Tabulation clear */
		switch (csiescseq.arg[0]) {
		case 0: /* clear current tab stop */
			term.tabs[term.c.x] = 0;
			break;
		case 3: /* clear all the tabs */
			memset(term.tabs, 0, term.col * sizeof(*term.tabs));
			break;
		default:
			goto unknown;
		}
		break;
	case 'G': /* CHA -- Move to <col> */
	case '`': /* HPA */
		DEFAULT(csiescseq.arg[0], 1);
		tmoveto(csiescseq.arg[0]-1, term.c.y);
		break;
	case 'H': /* CUP -- Move to <row> <col> */
	case 'f': /* HVP */
		DEFAULT(csiescseq.arg[0], 1);
		DEFAULT(csiescseq.arg[1], 1);
		tmoveato(csiescseq.arg[1]-1, csiescseq.arg[0]-1);
		break;
	case 'I': /* CHT -- Cursor Forward Tabulation <n> tab stops */
		DEFAULT(csiescseq.arg[0], 1);
		tputtab(csiescseq.arg[0]);
		break;
	case 'J': /* ED -- Clear screen */
		switch (csiescseq.arg[0]) {
		case 0: /* below */
			tclearregion(term.c.x, term.c.y, term.col-1, term.c.y);
			if (term.c.y < term.row-1) {
				tclearregion(0, term.c.y+1, term.col-1,
						term.row-1);
			}
			break;
		case 1: /* above */
			if (term.c.y > 1)
				tclearregion(0, 0, term.col-1, term.c.y-1);
			tclearregion(0, term.c.y, term.c.x, term.c.y);
			break;
		case 2: /* all */
			tclearregion(0, 0, term.col-1, term.row-1);
			break;
		default:
			goto unknown;
		}
		break;
	case 'K': /* EL -- Clear line */
		switch (csiescseq.arg[0]) {
		case 0: /* right */
			tclearregion(term.c.x, term.c.y, term.col-1,
					term.c.y);
			break;
		case 1: /* left */
			tclearregion(0, term.c.y, term.c.x, term.c.y);
			break;
		case 2: /* all */
			tclearregion(0, term.c.y, term.col-1, term.c.y);
			break;
		}
		break;
	case 'S': /* SU -- Scroll <n> line up */
		DEFAULT(csiescseq.arg[0], 1);
		tscrollup(term.top, csiescseq.arg[0], 0);
		break;
	case 'T': /* SD -- Scroll <n> line down */
		DEFAULT(csiescseq.arg[0], 1);
		tscrolldown(term.top, csiescseq.arg[0], 0);
		break;
	case 'L': /* IL -- Insert <n> blank lines */
		DEFAULT(csiescseq.arg[0], 1);
		tinsertblankline(csiescseq.arg[0]);
		break;
	case 'l': /* RM -- Reset Mode */
		tsetmode(csiescseq.priv, 0, csiescseq.arg, csiescseq.narg);
		break;
	case 'M': /* DL -- Delete <n> lines */
		DEFAULT(csiescseq.arg[0], 1);
		tdeleteline(csiescseq.arg[0]);
		break;
	case 'X': /* ECH -- Erase <n> char */
		DEFAULT(csiescseq.arg[0], 1);
		tclearregion(term.c.x, term.c.y,
				term.c.x + csiescseq.arg[0] - 1, term.c.y);
		break;
	case 'P': /* DCH -- Delete <n> char */
		DEFAULT(csiescseq.arg[0], 1);
		tdeletechar(csiescseq.arg[0]);
		break;
	case 'Z': /* CBT -- Cursor Backward Tabulation <n> tab stops */
		DEFAULT(csiescseq.arg[0], 1);
		tputtab(-csiescseq.arg[0]);
		break;
	case 'd': /* VPA -- Move to <row> */
		DEFAULT(csiescseq.arg[0], 1);
		tmoveato(term.c.x, csiescseq.arg[0]-1);
		break;
	case 'h': /* SM -- Set terminal mode */
		tsetmode(csiescseq.priv, 1, csiescseq.arg, csiescseq.narg);
		break;
	case 'm': /* SGR -- Terminal attribute (color) */
		tsetattr(csiescseq.arg, csiescseq.narg);
		break;
	case 'n': /* DSR -- Device Status Report */
		switch (csiescseq.arg[0]) {
		case 5: /* Status Report "OK" `0n` */
			ttywrite("\033[0n", sizeof("\033[0n") - 1, 0);
			break;
		case 6: /* Report Cursor Position (CPR) "<row>;<column>R" */
			len = snprintf(buf, sizeof(buf), "\033[%i;%iR",
			               term.c.y+1, term.c.x+1);
			ttywrite(buf, len, 0);
			break;
		default:
			goto unknown;
		}
		break;
	case 'r': /* DECSTBM -- Set Scrolling Region */
		if (csiescseq.priv) {
			goto unknown;
		} else {
			DEFAULT(csiescseq.arg[0], 1);
			DEFAULT(csiescseq.arg[1], term.row);
			tsetscroll(csiescseq.arg[0]-1, csiescseq.arg[1]-1);
			tmoveato(0, 0);
		}
		break;
	case 's': /* DECSC -- Save cursor position (ANSI.SYS) */
		tcursor(CURSOR_SAVE);
		break;
	case 'u': /* DECRC -- Restore cursor position (ANSI.SYS) */
		tcursor(CURSOR_LOAD);
		break;
	case ' ':
		switch (csiescseq.mode[1]) {
		case 'q': /* DECSCUSR -- Set Cursor Style */
			if (xsetcursor(csiescseq.arg[0]))
				goto unknown;
			break;
		default:
			goto unknown;
		}
		break;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movsbl 0x1749e(%rip), %eax     # 0x223f0
addl $-0x20, %eax
movl %eax, %ecx
movq %rcx, -0x40(%rbp)
subl $0x55, %eax
ja 0xaf74
movq -0x40(%rbp), %rax
leaq 0x9325(%rip), %rcx      # 0x14290
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
jmp 0xaf76
movq 0xe073(%rip), %rax      # 0x18ff0
movq (%rax), %rdi
leaq 0x9ccc(%rip), %rsi      # 0x14c53
movb $0x0, %al
callq 0x69d0
callq 0xcaf0
jmp 0xb905
cmpl $0x0, 0x1740d(%rip)     # 0x223ac
je 0xafac
movl 0x17405(%rip), %eax     # 0x223ac
movl %eax, -0x44(%rbp)
jmp 0xafb6
movl $0x1, %eax
movl %eax, -0x44(%rbp)
jmp 0xafb6
movl -0x44(%rbp), %eax
movl %eax, 0x173ed(%rip)     # 0x223ac
movl 0x173e7(%rip), %edi     # 0x223ac
callq 0xcc20
jmp 0xb905
cmpl $0x0, 0x173d6(%rip)     # 0x223ac
je 0xafe3
movl 0x173ce(%rip), %eax     # 0x223ac
movl %eax, -0x48(%rbp)
jmp 0xafed
movl $0x1, %eax
movl %eax, -0x48(%rbp)
jmp 0xafed
movl -0x48(%rbp), %eax
movl %eax, 0x173b6(%rip)     # 0x223ac
movl 0x1509c(%rip), %edi     # 0x20098
movl 0x1509a(%rip), %esi     # 0x2009c
subl 0x173a4(%rip), %esi     # 0x223ac
callq 0x97e0
jmp 0xb905
cmpl $0x0, 0x17393(%rip)     # 0x223ac
je 0xb026
movl 0x1738b(%rip), %eax     # 0x223ac
movl %eax, -0x4c(%rbp)
jmp 0xb030
movl $0x1, %eax
movl %eax, -0x4c(%rbp)
jmp 0xb030
movl -0x4c(%rbp), %eax
movl %eax, 0x17373(%rip)     # 0x223ac
movl 0x15059(%rip), %edi     # 0x20098
movl 0x15057(%rip), %esi     # 0x2009c
addl 0x17361(%rip), %esi     # 0x223ac
callq 0x97e0
jmp 0xb905
movl 0x17351(%rip), %eax     # 0x223ac
movq %rax, -0x58(%rbp)
subq $0x5, %rax
ja 0xb0b4
movq -0x58(%rbp), %rax
leaq 0x9378(%rip), %rcx      # 0x143e8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
callq 0x9670
jmp 0xb0b4
movl 0x15016(%rip), %edi     # 0x2009c
callq 0xa480
jmp 0xb0b4
callq 0x96d0
jmp 0xb0b4
movl 0x1501a(%rip), %eax     # 0x200b4
andl $-0x21, %eax
movl %eax, 0x15011(%rip)     # 0x200b4
jmp 0xb0b4
movl 0x15009(%rip), %eax     # 0x200b4
orl $0x20, %eax
movl %eax, 0x15000(%rip)     # 0x200b4
jmp 0xb905
cmpl $0x0, 0x172ec(%rip)     # 0x223ac
jne 0xb0ed
leaq 0xe6bf(%rip), %rax      # 0x19788
movq (%rax), %rax
movq %rax, -0x60(%rbp)
leaq 0xe6b1(%rip), %rax      # 0x19788
movq (%rax), %rdi
callq 0x6410
movq -0x60(%rbp), %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x8350
jmp 0xb905
cmpl $0x0, 0x172b3(%rip)     # 0x223ac
je 0xb106
movl 0x172ab(%rip), %eax     # 0x223ac
movl %eax, -0x64(%rbp)
jmp 0xb110
movl $0x1, %eax
movl %eax, -0x64(%rbp)
jmp 0xb110
movl -0x64(%rbp), %eax
movl %eax, 0x17293(%rip)     # 0x223ac
cmpl $0x0, 0x14fb0(%rip)     # 0x200d0
je 0xb149
jmp 0xb124
movl 0x17282(%rip), %eax     # 0x223ac
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, 0x17277(%rip)     # 0x223ac
cmpl $0x0, %eax
jle 0xb147
movl 0x14f90(%rip), %edi     # 0x200d0
callq 0xa680
jmp 0xb124
jmp 0xb149
jmp 0xb905
cmpl $0x0, 0x17257(%rip)     # 0x223ac
je 0xb162
movl 0x1724f(%rip), %eax     # 0x223ac
movl %eax, -0x68(%rbp)
jmp 0xb16c
movl $0x1, %eax
movl %eax, -0x68(%rbp)
jmp 0xb16c
movl -0x68(%rbp), %eax
movl %eax, 0x17237(%rip)     # 0x223ac
movl 0x14f1d(%rip), %edi     # 0x20098
addl 0x1722b(%rip), %edi     # 0x223ac
movl 0x14f15(%rip), %esi     # 0x2009c
callq 0x97e0
jmp 0xb905
cmpl $0x0, 0x17214(%rip)     # 0x223ac
je 0xb1a5
movl 0x1720c(%rip), %eax     # 0x223ac
movl %eax, -0x6c(%rbp)
jmp 0xb1af
movl $0x1, %eax
movl %eax, -0x6c(%rbp)
jmp 0xb1af
movl -0x6c(%rbp), %eax
movl %eax, 0x171f4(%rip)     # 0x223ac
movl 0x14eda(%rip), %edi     # 0x20098
subl 0x171e8(%rip), %edi     # 0x223ac
movl 0x14ed2(%rip), %esi     # 0x2009c
callq 0x97e0
jmp 0xb905
cmpl $0x0, 0x171d1(%rip)     # 0x223ac
je 0xb1e8
movl 0x171c9(%rip), %eax     # 0x223ac
movl %eax, -0x70(%rbp)
jmp 0xb1f2
movl $0x1, %eax
movl %eax, -0x70(%rbp)
jmp 0xb1f2
movl -0x70(%rbp), %eax
movl %eax, 0x171b1(%rip)     # 0x223ac
movl 0x14e9b(%rip), %esi     # 0x2009c
addl 0x171a5(%rip), %esi     # 0x223ac
xorl %edi, %edi
callq 0x97e0
jmp 0xb905
cmpl $0x0, 0x17192(%rip)     # 0x223ac
je 0xb227
movl 0x1718a(%rip), %eax     # 0x223ac
movl %eax, -0x74(%rbp)
jmp 0xb231
movl $0x1, %eax
movl %eax, -0x74(%rbp)
jmp 0xb231
movl -0x74(%rbp), %eax
movl %eax, 0x17172(%rip)     # 0x223ac
movl 0x14e5c(%rip), %esi     # 0x2009c
subl 0x17166(%rip), %esi     # 0x223ac
xorl %edi, %edi
callq 0x97e0
jmp 0xb905
movl 0x17154(%rip), %eax     # 0x223ac
movl %eax, -0x78(%rbp)
testl %eax, %eax
je 0xb26b
jmp 0xb261
movl -0x78(%rbp), %eax
subl $0x3, %eax
je 0xb282
jmp 0xb29d
movq 0x14e56(%rip), %rax     # 0x200c8
movslq 0x14e1f(%rip), %rcx     # 0x20098
movl $0x0, (%rax,%rcx,4)
jmp 0xb2a2
movq 0x14e3f(%rip), %rdi     # 0x200c8
movslq 0x10f54(%rip), %rdx     # 0x1c1e4
shlq $0x2, %rdx
xorl %esi, %esi
callq 0x60b0
jmp 0xb2a2
jmp 0xaf76
jmp 0xb905
cmpl $0x0, 0x170fe(%rip)     # 0x223ac
je 0xb2bb
movl 0x170f6(%rip), %eax     # 0x223ac
movl %eax, -0x7c(%rbp)
jmp 0xb2c5
movl $0x1, %eax
movl %eax, -0x7c(%rbp)
jmp 0xb2c5
movl -0x7c(%rbp), %eax
movl %eax, 0x170de(%rip)     # 0x223ac
movl 0x170d8(%rip), %edi     # 0x223ac
subl $0x1, %edi
movl 0x14dbf(%rip), %esi     # 0x2009c
callq 0x97e0
jmp 0xb905
cmpl $0x0, 0x170be(%rip)     # 0x223ac
je 0xb2fb
movl 0x170b6(%rip), %eax     # 0x223ac
movl %eax, -0x80(%rbp)
jmp 0xb305
movl $0x1, %eax
movl %eax, -0x80(%rbp)
jmp 0xb305
movl -0x80(%rbp), %eax
movl %eax, 0x1709e(%rip)     # 0x223ac
cmpl $0x0, 0x1709b(%rip)     # 0x223b0
je 0xb325
movl 0x17093(%rip), %eax     # 0x223b0
movl %eax, -0x84(%rbp)
jmp 0xb332
movl $0x1, %eax
movl %eax, -0x84(%rbp)
jmp 0xb332
movl -0x84(%rbp), %eax
movl %eax, 0x17072(%rip)     # 0x223b0
movl 0x1706c(%rip), %edi     # 0x223b0
subl $0x1, %edi
movl 0x1705f(%rip), %esi     # 0x223ac
subl $0x1, %esi
callq 0xccf0
jmp 0xb905
cmpl $0x0, 0x1704b(%rip)     # 0x223ac
je 0xb371
movl 0x17043(%rip), %eax     # 0x223ac
movl %eax, -0x88(%rbp)
jmp 0xb37e
movl $0x1, %eax
movl %eax, -0x88(%rbp)
jmp 0xb37e
movl -0x88(%rbp), %eax
movl %eax, 0x17022(%rip)     # 0x223ac
movl 0x1701c(%rip), %edi     # 0x223ac
callq 0xbf30
jmp 0xb905
movl 0x1700c(%rip), %eax     # 0x223ac
movl %eax, -0x8c(%rbp)
testl %eax, %eax
je 0xb3cd
jmp 0xb3ac
movl -0x8c(%rbp), %eax
subl $0x1, %eax
je 0xb424
jmp 0xb3b9
movl -0x8c(%rbp), %eax
subl $0x2, %eax
je 0xb463
jmp 0xb480
movl 0x14cc5(%rip), %edi     # 0x20098
movl 0x14cc3(%rip), %esi     # 0x2009c
movl 0x10e05(%rip), %edx     # 0x1c1e4
subl $0x1, %edx
movl 0x14cb4(%rip), %ecx     # 0x2009c
callq 0x98b0
movl 0x14ca9(%rip), %eax     # 0x2009c
movl 0x10de7(%rip), %ecx     # 0x1c1e0
subl $0x1, %ecx
cmpl %ecx, %eax
jge 0xb422
movl 0x14c96(%rip), %esi     # 0x2009c
addl $0x1, %esi
movl 0x10dd5(%rip), %edx     # 0x1c1e4
subl $0x1, %edx
movl 0x10dc8(%rip), %ecx     # 0x1c1e0
subl $0x1, %ecx
xorl %edi, %edi
callq 0x98b0
jmp 0xb485
cmpl $0x1, 0x14c71(%rip)     # 0x2009c
jle 0xb448
movl 0x10db1(%rip), %edx     # 0x1c1e4
subl $0x1, %edx
movl 0x14c60(%rip), %ecx     # 0x2009c
subl $0x1, %ecx
xorl %esi, %esi
movl %esi, %edi
callq 0x98b0
movl 0x14c4e(%rip), %esi     # 0x2009c
movl 0x14c44(%rip), %edx     # 0x20098
movl 0x14c42(%rip), %ecx     # 0x2009c
xorl %edi, %edi
callq 0x98b0
jmp 0xb485
movl 0x10d7b(%rip), %edx     # 0x1c1e4
subl $0x1, %edx
movl 0x10d6e(%rip), %ecx     # 0x1c1e0
subl $0x1, %ecx
xorl %esi, %esi
movl %esi, %edi
callq 0x98b0
jmp 0xb485
jmp 0xaf76
jmp 0xb905
movl 0x16f1c(%rip), %eax     # 0x223ac
movl %eax, -0x90(%rbp)
testl %eax, %eax
je 0xb4b6
jmp 0xb49c
movl -0x90(%rbp), %eax
subl $0x1, %eax
je 0xb4d8
jmp 0xb4a9
movl -0x90(%rbp), %eax
subl $0x2, %eax
je 0xb4f3
jmp 0xb50f
movl 0x14bdc(%rip), %edi     # 0x20098
movl 0x14bda(%rip), %esi     # 0x2009c
movl 0x10d1c(%rip), %edx     # 0x1c1e4
subl $0x1, %edx
movl 0x14bcb(%rip), %ecx     # 0x2009c
callq 0x98b0
jmp 0xb50f
movl 0x14bbe(%rip), %esi     # 0x2009c
movl 0x14bb4(%rip), %edx     # 0x20098
movl 0x14bb2(%rip), %ecx     # 0x2009c
xorl %edi, %edi
callq 0x98b0
jmp 0xb50f
movl 0x14ba3(%rip), %esi     # 0x2009c
movl 0x10ce5(%rip), %edx     # 0x1c1e4
subl $0x1, %edx
movl 0x14b94(%rip), %ecx     # 0x2009c
xorl %edi, %edi
callq 0x98b0
jmp 0xb905
cmpl $0x0, 0x16e91(%rip)     # 0x223ac
je 0xb52b
movl 0x16e89(%rip), %eax     # 0x223ac
movl %eax, -0x94(%rbp)
jmp 0xb538
movl $0x1, %eax
movl %eax, -0x94(%rbp)
jmp 0xb538
movl -0x94(%rbp), %eax
movl %eax, 0x16e68(%rip)     # 0x223ac
movl 0x14b62(%rip), %edi     # 0x200ac
movl 0x16e5c(%rip), %esi     # 0x223ac
xorl %edx, %edx
callq 0xcd50
jmp 0xb905
cmpl $0x0, 0x16e49(%rip)     # 0x223ac
je 0xb573
movl 0x16e41(%rip), %eax     # 0x223ac
movl %eax, -0x98(%rbp)
jmp 0xb580
movl $0x1, %eax
movl %eax, -0x98(%rbp)
jmp 0xb580
movl -0x98(%rbp), %eax
movl %eax, 0x16e20(%rip)     # 0x223ac
movl 0x14b1a(%rip), %edi     # 0x200ac
movl 0x16e14(%rip), %esi     # 0x223ac
xorl %edx, %edx
callq 0xcec0
jmp 0xb905
cmpl $0x0, 0x16e01(%rip)     # 0x223ac
je 0xb5bb
movl 0x16df9(%rip), %eax     # 0x223ac
movl %eax, -0x9c(%rbp)
jmp 0xb5c8
movl $0x1, %eax
movl %eax, -0x9c(%rbp)
jmp 0xb5c8
movl -0x9c(%rbp), %eax
movl %eax, 0x16dd8(%rip)     # 0x223ac
movl 0x16dd2(%rip), %edi     # 0x223ac
callq 0xd040
jmp 0xb905
movsbl 0x16dbd(%rip), %edi     # 0x223a8
movl 0x16dfb(%rip), %ecx     # 0x223ec
xorl %esi, %esi
leaq 0x16ba6(%rip), %rdx     # 0x221a0
addq $0x20c, %rdx            # imm = 0x20C
callq 0xd080
jmp 0xb905
cmpl $0x0, 0x16d9a(%rip)     # 0x223ac
je 0xb622
movl 0x16d92(%rip), %eax     # 0x223ac
movl %eax, -0xa0(%rbp)
jmp 0xb62f
movl $0x1, %eax
movl %eax, -0xa0(%rbp)
jmp 0xb62f
movl -0xa0(%rbp), %eax
movl %eax, 0x16d71(%rip)     # 0x223ac
movl 0x16d6b(%rip), %edi     # 0x223ac
callq 0xd5a0
jmp 0xb905
cmpl $0x0, 0x16d5a(%rip)     # 0x223ac
je 0xb662
movl 0x16d52(%rip), %eax     # 0x223ac
movl %eax, -0xa4(%rbp)
jmp 0xb66f
movl $0x1, %eax
movl %eax, -0xa4(%rbp)
jmp 0xb66f
movl -0xa4(%rbp), %eax
movl %eax, 0x16d31(%rip)     # 0x223ac
movl 0x14a17(%rip), %edi     # 0x20098
movl 0x14a15(%rip), %esi     # 0x2009c
movl 0x14a0b(%rip), %edx     # 0x20098
addl 0x16d19(%rip), %edx     # 0x223ac
subl $0x1, %edx
movl 0x14a00(%rip), %ecx     # 0x2009c
callq 0x98b0
jmp 0xb905
cmpl $0x0, 0x16cff(%rip)     # 0x223ac
je 0xb6bd
movl 0x16cf7(%rip), %eax     # 0x223ac
movl %eax, -0xa8(%rbp)
jmp 0xb6ca
movl $0x1, %eax
movl %eax, -0xa8(%rbp)
jmp 0xb6ca
movl -0xa8(%rbp), %eax
movl %eax, 0x16cd6(%rip)     # 0x223ac
movl 0x16cd0(%rip), %edi     # 0x223ac
callq 0xd5e0
jmp 0xb905
cmpl $0x0, 0x16cbf(%rip)     # 0x223ac
je 0xb6fd
movl 0x16cb7(%rip), %eax     # 0x223ac
movl %eax, -0xac(%rbp)
jmp 0xb70a
movl $0x1, %eax
movl %eax, -0xac(%rbp)
jmp 0xb70a
movl -0xac(%rbp), %eax
movl %eax, 0x16c96(%rip)     # 0x223ac
xorl %edi, %edi
subl 0x16c8e(%rip), %edi     # 0x223ac
callq 0xbf30
jmp 0xb905
cmpl $0x0, 0x16c7d(%rip)     # 0x223ac
je 0xb73f
movl 0x16c75(%rip), %eax     # 0x223ac
movl %eax, -0xb0(%rbp)
jmp 0xb74c
movl $0x1, %eax
movl %eax, -0xb0(%rbp)
jmp 0xb74c
movl -0xb0(%rbp), %eax
movl %eax, 0x16c54(%rip)     # 0x223ac
movl 0x1493a(%rip), %edi     # 0x20098
movl 0x16c48(%rip), %esi     # 0x223ac
subl $0x1, %esi
callq 0xccf0
jmp 0xb905
movsbl 0x16c30(%rip), %edi     # 0x223a8
movl 0x16c6e(%rip), %ecx     # 0x223ec
movl $0x1, %esi
leaq 0x16a16(%rip), %rdx     # 0x221a0
addq $0x20c, %rdx            # imm = 0x20C
callq 0xd080
jmp 0xb905
movl 0x16c4b(%rip), %esi     # 0x223ec
leaq 0x169f8(%rip), %rdi     # 0x221a0
addq $0x20c, %rdi            # imm = 0x20C
callq 0xd6c0
jmp 0xb905
movl 0x16bed(%rip), %eax     # 0x223ac
movl %eax, -0xb4(%rbp)
subl $0x5, %eax
je 0xb7d9
jmp 0xb7cc
movl -0xb4(%rbp), %eax
subl $0x6, %eax
je 0xb7ee
jmp 0xb82d
leaq 0x9488(%rip), %rdi      # 0x14c68
movl $0x4, %esi
xorl %edx, %edx
callq 0x8350
jmp 0xb832
leaq -0x30(%rbp), %rdi
movl 0x148a4(%rip), %ecx     # 0x2009c
addl $0x1, %ecx
movl 0x14896(%rip), %r8d     # 0x20098
addl $0x1, %r8d
movl $0x28, %esi
leaq 0x945b(%rip), %rdx      # 0x14c6d
movb $0x0, %al
callq 0x60c0
movl %eax, -0x34(%rbp)
leaq -0x30(%rbp), %rdi
movslq -0x34(%rbp), %rsi
xorl %edx, %edx
callq 0x8350
jmp 0xb832
jmp 0xaf76
jmp 0xb905
cmpb $0x0, 0x16b6a(%rip)     # 0x223a8
je 0xb845
jmp 0xaf76
cmpl $0x0, 0x16b60(%rip)     # 0x223ac
je 0xb85c
movl 0x16b58(%rip), %eax     # 0x223ac
movl %eax, -0xb8(%rbp)
jmp 0xb869
movl $0x1, %eax
movl %eax, -0xb8(%rbp)
jmp 0xb869
movl -0xb8(%rbp), %eax
movl %eax, 0x16b37(%rip)     # 0x223ac
cmpl $0x0, 0x16b34(%rip)     # 0x223b0
je 0xb88c
movl 0x16b2c(%rip), %eax     # 0x223b0
movl %eax, -0xbc(%rbp)
jmp 0xb898
movl 0x1094e(%rip), %eax     # 0x1c1e0
movl %eax, -0xbc(%rbp)
movl -0xbc(%rbp), %eax
movl %eax, 0x16b0c(%rip)     # 0x223b0
movl 0x16b02(%rip), %edi     # 0x223ac
subl $0x1, %edi
movl 0x16afd(%rip), %esi     # 0x223b0
subl $0x1, %esi
callq 0x9720
xorl %esi, %esi
movl %esi, %edi
callq 0xccf0
jmp 0xb905
xorl %edi, %edi
callq 0x9af0
jmp 0xb905
movl $0x1, %edi
callq 0x9af0
jmp 0xb905
movb 0x16b10(%rip), %al      # 0x223f1
subb $0x71, %al
jne 0xb8fe
jmp 0xb8e7
movl 0x16abf(%rip), %edi     # 0x223ac
callq 0xf850
cmpl $0x0, %eax
je 0xb8fc
jmp 0xaf76
jmp 0xb903
jmp 0xaf76
jmp 0xb905
addq $0xc0, %rsp
popq %rbp
retq
nop