// File: /workspace/github_c_makefile_star2_O0/anachronic[P]st/st.c
// Function: csihandle
void
csihandle(void)
{
	char buf[40];
	int n, x;

	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, 1);
			if (term.c.y < term.row-1) {
				tclearregion(0, term.c.y+1, term.col-1, term.row-1, 1);
			}
			break;
		case 1: /* above */
			if (term.c.y >= 1)
				tclearregion(0, 0, term.col-1, term.c.y-1, 1);
			tclearregion(0, term.c.y, term.c.x, term.c.y, 1);
			break;
		case 2: /* all */
			if (IS_SET(MODE_ALTSCREEN)) {
  			tclearregion(0, 0, term.col-1, term.row-1, 1);
  			break;
      }
			/* vte does this:
			tscrollup(0, term.row-1, term.row, SCROLL_SAVEHIST); */
      
			/* alacritty does this: */
			for (n = term.row-1; n >= 0 && tlinelen(term.line[n]) == 0; n--);
			if (n >= 0)
				tscrollup(0, term.row-1, n+1, SCROLL_SAVEHIST);
			tscrollup(0, term.row-1, term.row-n-1, SCROLL_NOSAVEHIST);
      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, 1);
			break;
		case 1: /* left */
			tclearregion(0, term.c.y, term.c.x, term.c.y, 1);
			break;
		case 2: /* all */
			tclearregion(0, term.c.y, term.col-1, term.c.y, 1);
			break;
		}
		break;
	case 'S': /* SU -- Scroll <n> line up */
		DEFAULT(csiescseq.arg[0], 1);
		/* xterm, urxvt, alacritty save this in history */
		tscrollup(term.top, term.bot, csiescseq.arg[0], SCROLL_SAVEHIST);
		break;
	case 'T': /* SD -- Scroll <n> line down */
		DEFAULT(csiescseq.arg[0], 1);
		tscrolldown(term.top, csiescseq.arg[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 */
		if (csiescseq.arg[0] < 0)
			return;
		DEFAULT(csiescseq.arg[0], 1);
		x = MIN(term.c.x + csiescseq.arg[0], term.col) - 1;
		tclearregion(term.c.x, term.c.y, x, term.c.y, 1);
		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 (cursor position) */
		if (csiescseq.arg[0] == 6) {
			n = snprintf(buf, sizeof(buf), "\033[%i;%iR",
					term.c.y+1, term.c.x+1);
			ttywrite(buf, n, 0);
		}
		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;
	case 't': /* title stack operations */
		switch (csiescseq.arg[0]) {
		case 22: /* pust current title on stack */
			switch (csiescseq.arg[1]) {
			case 0:
			case 1:
			case 2:
				xpushtitle();
				break;
			default:
				goto unknown;
			}
			break;
		case 23: /* pop last title from stack */
			switch (csiescseq.arg[1]) {
			case 0:
			case 1:
			case 2:
				xsettitle(NULL, 1);
				break;
			default:
				goto unknown;
			}
			break;
		default:
			goto unknown;
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movsbl 0x192fe(%rip), %eax     # 0x23140
addl $-0x20, %eax
movl %eax, %ecx
movq %rcx, -0x40(%rbp)
subl $0x55, %eax
ja 0x9e64
movq -0x40(%rbp), %rax
leaq 0xb435(%rip), %rcx      # 0x15290
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
jmp 0x9e66
movq 0x10183(%rip), %rax     # 0x19ff0
movq (%rax), %rdi
leaq 0xbd79(%rip), %rsi      # 0x15bf0
movb $0x0, %al
callq 0x5850
callq 0xbbb0
jmp 0xa95b
cmpl $0x0, 0x1926d(%rip)     # 0x230fc
je 0x9e9c
movl 0x19265(%rip), %eax     # 0x230fc
movl %eax, -0x44(%rbp)
jmp 0x9ea6
movl $0x1, %eax
movl %eax, -0x44(%rbp)
jmp 0x9ea6
movl -0x44(%rbp), %eax
movl %eax, 0x1924d(%rip)     # 0x230fc
movl 0x19247(%rip), %edi     # 0x230fc
callq 0xbce0
jmp 0xa95b
cmpl $0x0, 0x19236(%rip)     # 0x230fc
je 0x9ed3
movl 0x1922e(%rip), %eax     # 0x230fc
movl %eax, -0x48(%rbp)
jmp 0x9edd
movl $0x1, %eax
movl %eax, -0x48(%rbp)
jmp 0x9edd
movl -0x48(%rbp), %eax
movl %eax, 0x19216(%rip)     # 0x230fc
movl 0x16eb4(%rip), %edi     # 0x20da0
movl 0x16eb2(%rip), %esi     # 0x20da4
subl 0x19204(%rip), %esi     # 0x230fc
callq 0x91e0
jmp 0xa95b
cmpl $0x0, 0x191f3(%rip)     # 0x230fc
je 0x9f16
movl 0x191eb(%rip), %eax     # 0x230fc
movl %eax, -0x4c(%rbp)
jmp 0x9f20
movl $0x1, %eax
movl %eax, -0x4c(%rbp)
jmp 0x9f20
movl -0x4c(%rbp), %eax
movl %eax, 0x191d3(%rip)     # 0x230fc
movl 0x16e71(%rip), %edi     # 0x20da0
movl 0x16e6f(%rip), %esi     # 0x20da4
addl 0x191c1(%rip), %esi     # 0x230fc
callq 0x91e0
jmp 0xa95b
movl 0x191b1(%rip), %eax     # 0x230fc
movq %rax, -0x58(%rbp)
subq $0x5, %rax
ja 0x9fa4
movq -0x58(%rbp), %rax
leaq 0xb488(%rip), %rcx      # 0x153e8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
callq 0x80f0
jmp 0x9fa4
movl 0x16e2e(%rip), %edi     # 0x20da4
callq 0x9310
jmp 0x9fa4
callq 0x8150
jmp 0x9fa4
movl 0x16e32(%rip), %eax     # 0x20dbc
andl $-0x21, %eax
movl %eax, 0x16e29(%rip)     # 0x20dbc
jmp 0x9fa4
movl 0x16e21(%rip), %eax     # 0x20dbc
orl $0x20, %eax
movl %eax, 0x16e18(%rip)     # 0x20dbc
jmp 0xa95b
cmpl $0x0, 0x1914c(%rip)     # 0x230fc
jne 0x9fdd
leaq 0x106ff(%rip), %rax     # 0x1a6b8
movq (%rax), %rax
movq %rax, -0x60(%rbp)
leaq 0x106f1(%rip), %rax     # 0x1a6b8
movq (%rax), %rdi
callq 0x5370
movq -0x60(%rbp), %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x7210
jmp 0xa95b
cmpl $0x0, 0x19113(%rip)     # 0x230fc
je 0x9ff6
movl 0x1910b(%rip), %eax     # 0x230fc
movl %eax, -0x64(%rbp)
jmp 0xa000
movl $0x1, %eax
movl %eax, -0x64(%rbp)
jmp 0xa000
movl -0x64(%rbp), %eax
movl %eax, 0x190f3(%rip)     # 0x230fc
cmpl $0x0, 0x16dc8(%rip)     # 0x20dd8
je 0xa039
jmp 0xa014
movl 0x190e2(%rip), %eax     # 0x230fc
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, 0x190d7(%rip)     # 0x230fc
cmpl $0x0, %eax
jle 0xa037
movl 0x16da8(%rip), %edi     # 0x20dd8
callq 0x9570
jmp 0xa014
jmp 0xa039
jmp 0xa95b
cmpl $0x0, 0x190b7(%rip)     # 0x230fc
je 0xa052
movl 0x190af(%rip), %eax     # 0x230fc
movl %eax, -0x68(%rbp)
jmp 0xa05c
movl $0x1, %eax
movl %eax, -0x68(%rbp)
jmp 0xa05c
movl -0x68(%rbp), %eax
movl %eax, 0x19097(%rip)     # 0x230fc
movl 0x16d35(%rip), %edi     # 0x20da0
addl 0x1908b(%rip), %edi     # 0x230fc
movl 0x16d2d(%rip), %esi     # 0x20da4
callq 0x91e0
jmp 0xa95b
cmpl $0x0, 0x19074(%rip)     # 0x230fc
je 0xa095
movl 0x1906c(%rip), %eax     # 0x230fc
movl %eax, -0x6c(%rbp)
jmp 0xa09f
movl $0x1, %eax
movl %eax, -0x6c(%rbp)
jmp 0xa09f
movl -0x6c(%rbp), %eax
movl %eax, 0x19054(%rip)     # 0x230fc
movl 0x16cf2(%rip), %edi     # 0x20da0
subl 0x19048(%rip), %edi     # 0x230fc
movl 0x16cea(%rip), %esi     # 0x20da4
callq 0x91e0
jmp 0xa95b
cmpl $0x0, 0x19031(%rip)     # 0x230fc
je 0xa0d8
movl 0x19029(%rip), %eax     # 0x230fc
movl %eax, -0x70(%rbp)
jmp 0xa0e2
movl $0x1, %eax
movl %eax, -0x70(%rbp)
jmp 0xa0e2
movl -0x70(%rbp), %eax
movl %eax, 0x19011(%rip)     # 0x230fc
movl 0x16cb3(%rip), %esi     # 0x20da4
addl 0x19005(%rip), %esi     # 0x230fc
xorl %edi, %edi
callq 0x91e0
jmp 0xa95b
cmpl $0x0, 0x18ff2(%rip)     # 0x230fc
je 0xa117
movl 0x18fea(%rip), %eax     # 0x230fc
movl %eax, -0x74(%rbp)
jmp 0xa121
movl $0x1, %eax
movl %eax, -0x74(%rbp)
jmp 0xa121
movl -0x74(%rbp), %eax
movl %eax, 0x18fd2(%rip)     # 0x230fc
movl 0x16c74(%rip), %esi     # 0x20da4
subl 0x18fc6(%rip), %esi     # 0x230fc
xorl %edi, %edi
callq 0x91e0
jmp 0xa95b
movl 0x18fb4(%rip), %eax     # 0x230fc
movl %eax, -0x78(%rbp)
testl %eax, %eax
je 0xa15b
jmp 0xa151
movl -0x78(%rbp), %eax
subl $0x3, %eax
je 0xa172
jmp 0xa18d
movq 0x16c6e(%rip), %rax     # 0x20dd0
movslq 0x16c37(%rip), %rcx     # 0x20da0
movl $0x0, (%rax,%rcx,4)
jmp 0xa192
movq 0x16c57(%rip), %rdi     # 0x20dd0
movslq 0x12d64(%rip), %rdx     # 0x1cee4
shlq $0x2, %rdx
xorl %esi, %esi
callq 0x50a0
jmp 0xa192
jmp 0x9e66
jmp 0xa95b
cmpl $0x0, 0x18f5e(%rip)     # 0x230fc
je 0xa1ab
movl 0x18f56(%rip), %eax     # 0x230fc
movl %eax, -0x7c(%rbp)
jmp 0xa1b5
movl $0x1, %eax
movl %eax, -0x7c(%rbp)
jmp 0xa1b5
movl -0x7c(%rbp), %eax
movl %eax, 0x18f3e(%rip)     # 0x230fc
movl 0x18f38(%rip), %edi     # 0x230fc
subl $0x1, %edi
movl 0x16bd7(%rip), %esi     # 0x20da4
callq 0x91e0
jmp 0xa95b
cmpl $0x0, 0x18f1e(%rip)     # 0x230fc
je 0xa1eb
movl 0x18f16(%rip), %eax     # 0x230fc
movl %eax, -0x80(%rbp)
jmp 0xa1f5
movl $0x1, %eax
movl %eax, -0x80(%rbp)
jmp 0xa1f5
movl -0x80(%rbp), %eax
movl %eax, 0x18efe(%rip)     # 0x230fc
cmpl $0x0, 0x18efb(%rip)     # 0x23100
je 0xa215
movl 0x18ef3(%rip), %eax     # 0x23100
movl %eax, -0x84(%rbp)
jmp 0xa222
movl $0x1, %eax
movl %eax, -0x84(%rbp)
jmp 0xa222
movl -0x84(%rbp), %eax
movl %eax, 0x18ed2(%rip)     # 0x23100
movl 0x18ecc(%rip), %edi     # 0x23100
subl $0x1, %edi
movl 0x18ebf(%rip), %esi     # 0x230fc
subl $0x1, %esi
callq 0xbdb0
jmp 0xa95b
cmpl $0x0, 0x18eab(%rip)     # 0x230fc
je 0xa261
movl 0x18ea3(%rip), %eax     # 0x230fc
movl %eax, -0x88(%rbp)
jmp 0xa26e
movl $0x1, %eax
movl %eax, -0x88(%rbp)
jmp 0xa26e
movl -0x88(%rbp), %eax
movl %eax, 0x18e82(%rip)     # 0x230fc
movl 0x18e7c(%rip), %edi     # 0x230fc
callq 0xaff0
jmp 0xa95b
movl 0x18e6c(%rip), %eax     # 0x230fc
movl %eax, -0x8c(%rbp)
testl %eax, %eax
je 0xa2bd
jmp 0xa29c
movl -0x8c(%rbp), %eax
subl $0x1, %eax
je 0xa323
jmp 0xa2a9
movl -0x8c(%rbp), %eax
subl $0x2, %eax
je 0xa371
jmp 0xa439
movl 0x16add(%rip), %edi     # 0x20da0
movl 0x16adb(%rip), %esi     # 0x20da4
movl 0x12c15(%rip), %edx     # 0x1cee4
subl $0x1, %edx
movl 0x16acc(%rip), %ecx     # 0x20da4
movl $0x1, %r8d
callq 0xbe10
movl 0x16abb(%rip), %eax     # 0x20da4
movl 0x12bf1(%rip), %ecx     # 0x1cee0
subl $0x1, %ecx
cmpl %ecx, %eax
jge 0xa31e
movl 0x16aa8(%rip), %esi     # 0x20da4
addl $0x1, %esi
movl 0x12bdf(%rip), %edx     # 0x1cee4
subl $0x1, %edx
movl 0x12bd2(%rip), %ecx     # 0x1cee0
subl $0x1, %ecx
xorl %edi, %edi
movl $0x1, %r8d
callq 0xbe10
jmp 0xa43e
cmpl $0x1, 0x16a7a(%rip)     # 0x20da4
jl 0xa34d
movl 0x12bb2(%rip), %edx     # 0x1cee4
subl $0x1, %edx
movl 0x16a69(%rip), %ecx     # 0x20da4
subl $0x1, %ecx
xorl %esi, %esi
movl $0x1, %r8d
movl %esi, %edi
callq 0xbe10
movl 0x16a51(%rip), %esi     # 0x20da4
movl 0x16a47(%rip), %edx     # 0x20da0
movl 0x16a45(%rip), %ecx     # 0x20da4
xorl %edi, %edi
movl $0x1, %r8d
callq 0xbe10
jmp 0xa43e
movl 0x16a45(%rip), %eax     # 0x20dbc
andl $0x4, %eax
cmpl $0x0, %eax
je 0xa3a5
movl 0x12b5f(%rip), %edx     # 0x1cee4
subl $0x1, %edx
movl 0x12b52(%rip), %ecx     # 0x1cee0
subl $0x1, %ecx
xorl %esi, %esi
movl $0x1, %r8d
movl %esi, %edi
callq 0xbe10
jmp 0xa43e
movl 0x12b35(%rip), %eax     # 0x1cee0
subl $0x1, %eax
movl %eax, -0x34(%rbp)
xorl %eax, %eax
cmpl $0x0, -0x34(%rbp)
movb %al, -0x8d(%rbp)
jl 0xa3df
movq 0x12b22(%rip), %rax     # 0x1cee8
movslq -0x34(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6750
cmpl $0x0, %eax
sete %al
movb %al, -0x8d(%rbp)
movb -0x8d(%rbp), %al
testb $0x1, %al
jne 0xa3eb
jmp 0xa3f8
jmp 0xa3ed
movl -0x34(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0xa3b1
cmpl $0x0, -0x34(%rbp)
jl 0xa419
movl 0x12adc(%rip), %esi     # 0x1cee0
subl $0x1, %esi
movl -0x34(%rbp), %edx
addl $0x1, %edx
xorl %edi, %edi
movl $0x1, %ecx
callq 0xbed0
movl 0x12ac1(%rip), %esi     # 0x1cee0
subl $0x1, %esi
movl 0x12ab8(%rip), %edx     # 0x1cee0
subl -0x34(%rbp), %edx
subl $0x1, %edx
xorl %ecx, %ecx
movl %ecx, %edi
callq 0xbed0
jmp 0xa43e
jmp 0x9e66
jmp 0xa95b
movl 0x18cb3(%rip), %eax     # 0x230fc
movl %eax, -0x94(%rbp)
testl %eax, %eax
je 0xa46f
jmp 0xa455
movl -0x94(%rbp), %eax
subl $0x1, %eax
je 0xa497
jmp 0xa462
movl -0x94(%rbp), %eax
subl $0x2, %eax
je 0xa4b8
jmp 0xa4da
movl 0x1692b(%rip), %edi     # 0x20da0
movl 0x16929(%rip), %esi     # 0x20da4
movl 0x12a63(%rip), %edx     # 0x1cee4
subl $0x1, %edx
movl 0x1691a(%rip), %ecx     # 0x20da4
movl $0x1, %r8d
callq 0xbe10
jmp 0xa4da
movl 0x16907(%rip), %esi     # 0x20da4
movl 0x168fd(%rip), %edx     # 0x20da0
movl 0x168fb(%rip), %ecx     # 0x20da4
xorl %edi, %edi
movl $0x1, %r8d
callq 0xbe10
jmp 0xa4da
movl 0x168e6(%rip), %esi     # 0x20da4
movl 0x12a20(%rip), %edx     # 0x1cee4
subl $0x1, %edx
movl 0x168d7(%rip), %ecx     # 0x20da4
xorl %edi, %edi
movl $0x1, %r8d
callq 0xbe10
jmp 0xa95b
cmpl $0x0, 0x18c16(%rip)     # 0x230fc
je 0xa4f6
movl 0x18c0e(%rip), %eax     # 0x230fc
movl %eax, -0x98(%rbp)
jmp 0xa503
movl $0x1, %eax
movl %eax, -0x98(%rbp)
jmp 0xa503
movl -0x98(%rbp), %eax
movl %eax, 0x18bed(%rip)     # 0x230fc
movl 0x1689f(%rip), %edi     # 0x20db4
movl 0x1689d(%rip), %esi     # 0x20db8
movl 0x18bdb(%rip), %edx     # 0x230fc
movl $0x1, %ecx
callq 0xbed0
jmp 0xa95b
cmpl $0x0, 0x18bc5(%rip)     # 0x230fc
je 0xa547
movl 0x18bbd(%rip), %eax     # 0x230fc
movl %eax, -0x9c(%rbp)
jmp 0xa554
movl $0x1, %eax
movl %eax, -0x9c(%rbp)
jmp 0xa554
movl -0x9c(%rbp), %eax
movl %eax, 0x18b9c(%rip)     # 0x230fc
movl 0x1684e(%rip), %edi     # 0x20db4
movl 0x18b90(%rip), %esi     # 0x230fc
callq 0xc1c0
jmp 0xa95b
cmpl $0x0, 0x18b7f(%rip)     # 0x230fc
je 0xa58d
movl 0x18b77(%rip), %eax     # 0x230fc
movl %eax, -0xa0(%rbp)
jmp 0xa59a
movl $0x1, %eax
movl %eax, -0xa0(%rbp)
jmp 0xa59a
movl -0xa0(%rbp), %eax
movl %eax, 0x18b56(%rip)     # 0x230fc
movl 0x18b50(%rip), %edi     # 0x230fc
callq 0xc2f0
jmp 0xa95b
movsbl 0x18b3b(%rip), %edi     # 0x230f8
movl 0x18b79(%rip), %ecx     # 0x2313c
xorl %esi, %esi
leaq 0x18924(%rip), %rdx     # 0x22ef0
addq $0x20c, %rdx            # imm = 0x20C
callq 0xc330
jmp 0xa95b
cmpl $0x0, 0x18b18(%rip)     # 0x230fc
je 0xa5f4
movl 0x18b10(%rip), %eax     # 0x230fc
movl %eax, -0xa4(%rbp)
jmp 0xa601
movl $0x1, %eax
movl %eax, -0xa4(%rbp)
jmp 0xa601
movl -0xa4(%rbp), %eax
movl %eax, 0x18aef(%rip)     # 0x230fc
movl 0x18ae9(%rip), %edi     # 0x230fc
callq 0xc840
jmp 0xa95b
cmpl $0x0, 0x18ad8(%rip)     # 0x230fc
jge 0xa62b
jmp 0xa95b
cmpl $0x0, 0x18aca(%rip)     # 0x230fc
je 0xa642
movl 0x18ac2(%rip), %eax     # 0x230fc
movl %eax, -0xa8(%rbp)
jmp 0xa64f
movl $0x1, %eax
movl %eax, -0xa8(%rbp)
jmp 0xa64f
movl -0xa8(%rbp), %eax
movl %eax, 0x18aa1(%rip)     # 0x230fc
movl 0x1673f(%rip), %eax     # 0x20da0
addl 0x18a95(%rip), %eax     # 0x230fc
cmpl 0x12877(%rip), %eax     # 0x1cee4
jge 0xa683
movl 0x1672b(%rip), %eax     # 0x20da0
addl 0x18a81(%rip), %eax     # 0x230fc
movl %eax, -0xac(%rbp)
jmp 0xa68f
movl 0x1285b(%rip), %eax     # 0x1cee4
movl %eax, -0xac(%rbp)
movl -0xac(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x38(%rbp)
movl 0x166ff(%rip), %edi     # 0x20da0
movl 0x166fd(%rip), %esi     # 0x20da4
movl -0x38(%rbp), %edx
movl 0x166f4(%rip), %ecx     # 0x20da4
movl $0x1, %r8d
callq 0xbe10
jmp 0xa95b
cmpl $0x0, 0x18a35(%rip)     # 0x230fc
je 0xa6d7
movl 0x18a2d(%rip), %eax     # 0x230fc
movl %eax, -0xb0(%rbp)
jmp 0xa6e4
movl $0x1, %eax
movl %eax, -0xb0(%rbp)
jmp 0xa6e4
movl -0xb0(%rbp), %eax
movl %eax, 0x18a0c(%rip)     # 0x230fc
movl 0x18a06(%rip), %edi     # 0x230fc
callq 0xc890
jmp 0xa95b
cmpl $0x0, 0x189f5(%rip)     # 0x230fc
je 0xa717
movl 0x189ed(%rip), %eax     # 0x230fc
movl %eax, -0xb4(%rbp)
jmp 0xa724
movl $0x1, %eax
movl %eax, -0xb4(%rbp)
jmp 0xa724
movl -0xb4(%rbp), %eax
movl %eax, 0x189cc(%rip)     # 0x230fc
xorl %edi, %edi
subl 0x189c4(%rip), %edi     # 0x230fc
callq 0xaff0
jmp 0xa95b
cmpl $0x0, 0x189b3(%rip)     # 0x230fc
je 0xa759
movl 0x189ab(%rip), %eax     # 0x230fc
movl %eax, -0xb8(%rbp)
jmp 0xa766
movl $0x1, %eax
movl %eax, -0xb8(%rbp)
jmp 0xa766
movl -0xb8(%rbp), %eax
movl %eax, 0x1898a(%rip)     # 0x230fc
movl 0x16628(%rip), %edi     # 0x20da0
movl 0x1897e(%rip), %esi     # 0x230fc
subl $0x1, %esi
callq 0xbdb0
jmp 0xa95b
movsbl 0x18966(%rip), %edi     # 0x230f8
movl 0x189a4(%rip), %ecx     # 0x2313c
movl $0x1, %esi
leaq 0x1874c(%rip), %rdx     # 0x22ef0
addq $0x20c, %rdx            # imm = 0x20C
callq 0xc330
jmp 0xa95b
movl 0x18981(%rip), %esi     # 0x2313c
leaq 0x1872e(%rip), %rdi     # 0x22ef0
addq $0x20c, %rdi            # imm = 0x20C
callq 0xc960
jmp 0xa95b
cmpl $0x6, 0x18922(%rip)     # 0x230fc
jne 0xa819
leaq -0x30(%rbp), %rdi
movl 0x165be(%rip), %ecx     # 0x20da4
addl $0x1, %ecx
movl 0x165b0(%rip), %r8d     # 0x20da0
addl $0x1, %r8d
movl $0x28, %esi
leaq 0xb405(%rip), %rdx      # 0x15c05
movb $0x0, %al
callq 0x50b0
movl %eax, -0x34(%rbp)
leaq -0x30(%rbp), %rdi
movslq -0x34(%rbp), %rsi
xorl %edx, %edx
callq 0x7210
jmp 0xa95b
cmpb $0x0, 0x188d3(%rip)     # 0x230f8
je 0xa82c
jmp 0x9e66
cmpl $0x0, 0x188c9(%rip)     # 0x230fc
je 0xa843
movl 0x188c1(%rip), %eax     # 0x230fc
movl %eax, -0xbc(%rbp)
jmp 0xa850
movl $0x1, %eax
movl %eax, -0xbc(%rbp)
jmp 0xa850
movl -0xbc(%rbp), %eax
movl %eax, 0x188a0(%rip)     # 0x230fc
cmpl $0x0, 0x1889d(%rip)     # 0x23100
je 0xa873
movl 0x18895(%rip), %eax     # 0x23100
movl %eax, -0xc0(%rbp)
jmp 0xa87f
movl 0x12667(%rip), %eax     # 0x1cee0
movl %eax, -0xc0(%rbp)
movl -0xc0(%rbp), %eax
movl %eax, 0x18875(%rip)     # 0x23100
movl 0x1886b(%rip), %edi     # 0x230fc
subl $0x1, %edi
movl 0x18866(%rip), %esi     # 0x23100
subl $0x1, %esi
callq 0xcce0
xorl %esi, %esi
movl %esi, %edi
callq 0xbdb0
jmp 0xa95b
xorl %edi, %edi
callq 0x9090
jmp 0xa95b
movl $0x1, %edi
callq 0x9090
jmp 0xa95b
movb 0x18870(%rip), %al      # 0x23141
subb $0x71, %al
jne 0xa8ee
jmp 0xa8d7
movl 0x1881f(%rip), %edi     # 0x230fc
callq 0xf920
cmpl $0x0, %eax
je 0xa8ec
jmp 0x9e66
jmp 0xa8f3
jmp 0x9e66
jmp 0xa95b
movl 0x18801(%rip), %eax     # 0x230fc
movl %eax, -0xc4(%rbp)
subl $0x16, %eax
je 0xa915
jmp 0xa908
movl -0xc4(%rbp), %eax
subl $0x17, %eax
je 0xa930
jmp 0xa954
movl 0x187e5(%rip), %eax     # 0x23100
subl $0x2, %eax
ja 0xa929
jmp 0xa922
callq 0xe6f0
jmp 0xa92e
jmp 0x9e66
jmp 0xa959
movl 0x187ca(%rip), %eax     # 0x23100
subl $0x2, %eax
ja 0xa94d
jmp 0xa93d
xorl %eax, %eax
movl %eax, %edi
movl $0x1, %esi
callq 0xe590
jmp 0xa952
jmp 0x9e66
jmp 0xa959
jmp 0x9e66
jmp 0xa95b
addq $0xd0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)