// File: /workspace/github_c_makefile_star2_O3/garbeam[P]st/st.c
// Function: tputc
void
tputc(Rune u)
{
	char c[UTF_SIZ];
	int control;
	int width, len;
	Glyph *gp;

	control = ISCONTROL(u);
	if (!IS_SET(MODE_UTF8) && !IS_SET(MODE_SIXEL)) {
		c[0] = u;
		width = len = 1;
	} else {
		len = utf8encode(u, c);
		if (!control && (width = wcwidth(u)) == -1) {
			memcpy(c, "\357\277\275", 4); /* UTF_INVALID */
			width = 1;
		}
	}

	if (IS_SET(MODE_PRINT))
		tprinter(c, len);

	/*
	 * STR sequence must be checked before anything else
	 * because it uses all following characters until it
	 * receives a ESC, a SUB, a ST or any other C1 control
	 * character.
	 */
	if (term.esc & ESC_STR) {
		if (u == '\a' || u == 030 || u == 032 || u == 033 ||
		   ISCONTROLC1(u)) {
			term.esc &= ~(ESC_START|ESC_STR|ESC_DCS);
			if (IS_SET(MODE_SIXEL)) {
				/* TODO: render sixel */;
				term.mode &= ~MODE_SIXEL;
				return;
			}
			term.esc |= ESC_STR_END;
			goto check_control_code;
		}

		if (IS_SET(MODE_SIXEL)) {
			/* TODO: implement sixel mode */
			return;
		}
		if (term.esc&ESC_DCS && strescseq.len == 0 && u == 'q')
			term.mode |= MODE_SIXEL;

		if (strescseq.len+len >= sizeof(strescseq.buf)-1) {
			/*
			 * Here is a bug in terminals. If the user never sends
			 * some code to stop the str or esc command, then st
			 * will stop responding. But this is better than
			 * silently failing with unknown characters. At least
			 * then users will report back.
			 *
			 * In the case users ever get fixed, here is the code:
			 */
			/*
			 * term.esc = 0;
			 * strhandle();
			 */
			return;
		}

		memmove(&strescseq.buf[strescseq.len], c, len);
		strescseq.len += len;
		return;
	}

check_control_code:
	/*
	 * Actions of control codes must be performed as soon they arrive
	 * because they can be embedded inside a control sequence, and
	 * they must not cause conflicts with sequences.
	 */
	if (control) {
		tcontrolcode(u);
		/*
		 * control codes are not shown ever
		 */
		return;
	} else if (term.esc & ESC_START) {
		if (term.esc & ESC_CSI) {
			csiescseq.buf[csiescseq.len++] = u;
			if (BETWEEN(u, 0x40, 0x7E)
					|| csiescseq.len >= \
					sizeof(csiescseq.buf)-1) {
				term.esc = 0;
				csiparse();
				csihandle();
			}
			return;
		} else if (term.esc & ESC_UTF8) {
			tdefutf8(u);
		} else if (term.esc & ESC_ALTCHARSET) {
			tdeftran(u);
		} else if (term.esc & ESC_TEST) {
			tdectest(u);
		} else {
			if (!eschandle(u))
				return;
			/* sequence already finished */
		}
		term.esc = 0;
		/*
		 * All characters which form part of a sequence are not
		 * printed
		 */
		return;
	}
	if (sel.ob.x != -1 && BETWEEN(term.c.y, sel.ob.y, sel.oe.y))
		selclear();

	gp = &term.line[term.c.y][term.c.x];
	if (IS_SET(MODE_WRAP) && (term.c.state & CURSOR_WRAPNEXT)) {
		gp->mode |= ATTR_WRAP;
		tnewline(1);
		gp = &term.line[term.c.y][term.c.x];
	}

	if (IS_SET(MODE_INSERT) && term.c.x+width < term.col)
		memmove(gp+width, gp, (term.col - term.c.x - width) * sizeof(Glyph));

	if (term.c.x+width > term.col) {
		tnewline(1);
		gp = &term.line[term.c.y][term.c.x];
	}

	tsetchar(u, &term.c.attr, term.c.x, term.c.y);

	if (width == 2) {
		gp->mode |= ATTR_WIDE;
		if (term.c.x+1 < term.col) {
			gp[1].u = '\0';
			gp[1].mode = ATTR_WDUMMY;
		}
	}
	if (term.c.x+width < term.col) {
		tmoveto(term.c.x+width, term.c.y);
	} else {
		term.c.state |= CURSOR_WRAPNEXT;
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movl %edi, %ebx
cmpl $0x20, %edi
setb %al
cmpl $0x7f, %edi
sete %cl
orb %al, %cl
movb $0x1, %r12b
jne 0x80c9
movl %ebx, %eax
andl $-0x20, %eax
cmpl $0x80, %eax
sete %r12b
testb $-0x40, 0xd68c(%rip)    # 0x1575c
je 0x80e8
leaq 0xc(%rsp), %rsi
movl %ebx, %edi
callq 0x5ef4
movq %rax, %r15
testb %r12b, %r12b
je 0x80fa
jmp 0x8119
movb %bl, 0xc(%rsp)
movl $0x1, %r14d
movl $0x1, %r15d
jmp 0x8119
movl %ebx, %edi
callq 0x5620
cmpl $-0x1, %eax
je 0x810b
movl %eax, %r14d
jmp 0x8119
movl $0xbdbfef, 0xc(%rsp)    # imm = 0xBDBFEF
movl $0x1, %r14d
testb $0x20, 0xd63c(%rip)     # 0x1575c
je 0x812f
movslq %r15d, %rsi
leaq 0xc(%rsp), %rdi
callq 0x7ea1
movl 0xd62b(%rip), %ebp      # 0x15760
testb $0x4, %bpl
je 0x8175
cmpl $0x1b, %ebx
ja 0x8386
movl $0xd000080, %eax        # imm = 0xD000080
btl %ebx, %eax
jae 0x8386
andl $0xffffff7a, %ebp       # imm = 0xFFFFFF7A
movl %ebp, 0xd602(%rip)      # 0x15760
movl 0xd5f8(%rip), %eax      # 0x1575c
testb %al, %al
js 0x82ee
orl $0x10, %ebp
movl %ebp, 0xd5eb(%rip)      # 0x15760
testb %r12b, %r12b
je 0x81c3
movzbl %bl, %edi
cmpl $0x84, %edi
jg 0x833b
cmpl $0x1b, %edi
ja 0x868e
movl %edi, %eax
leaq 0x6015(%rip), %rcx      # 0xe1b0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl 0xd5b2(%rip), %edi      # 0x1575c
shrl $0x3, %edi
andl $0x1, %edi
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x905d
testb $0x1, %bpl
jne 0x82fe
cmpl $-0x1, 0xd528(%rip)     # 0x156fc
movl 0xd56a(%rip), %eax      # 0x15744
je 0x8217
cmpl %eax, 0xd51e(%rip)      # 0x15700
jg 0x8217
cmpl 0xd51e(%rip), %eax      # 0x15708
jg 0x8217
movl $0x0, 0xd4ea(%rip)      # 0x156e0
movl $0xffffffff, 0xd4fc(%rip) # imm = 0xFFFFFFFF
movl 0xd4ea(%rip), %edi      # 0x156f0
movl 0xd4ec(%rip), %esi      # 0x156f8
callq 0x615b
movl 0xd52d(%rip), %eax      # 0x15744
movq 0xd4fa(%rip), %rcx      # 0x15718
cltq
movslq 0xd519(%rip), %rsi      # 0x15740
movq %rsi, %r15
shlq $0x4, %r15
addq (%rcx,%rax,8), %r15
movl 0xd524(%rip), %eax      # 0x1575c
testb $0x1, %al
je 0x827a
testb $0x1, 0xd505(%rip)      # 0x15748
je 0x827a
orb $0x1, 0x5(%r15)
movl $0x1, %edi
callq 0x905d
movq 0xd4bd(%rip), %rax      # 0x15718
movslq 0xd4e2(%rip), %rcx      # 0x15744
movslq 0xd4d7(%rip), %rsi      # 0x15740
movq %rsi, %r15
shlq $0x4, %r15
addq (%rax,%rcx,8), %r15
movl 0xd4e2(%rip), %eax      # 0x1575c
movl 0xd494(%rip), %ecx      # 0x15714
testb $0x2, %al
je 0x82b3
leal (%rsi,%r14), %edx
movl %ecx, %eax
subl %edx, %eax
jle 0x82b3
movslq %r14d, %rdi
shlq $0x4, %rdi
addq %r15, %rdi
movslq %eax, %rdx
shlq $0x4, %rdx
movq %r15, %rsi
callq 0x54d0
movl 0xd493(%rip), %esi      # 0x15740
movl 0xd461(%rip), %ecx      # 0x15714
leal (%rsi,%r14), %eax
cmpl %ecx, %eax
jle 0x8400
movl $0x1, %edi
callq 0x905d
movq 0xd448(%rip), %rax      # 0x15718
movslq 0xd46d(%rip), %rdx      # 0x15744
movslq 0xd462(%rip), %rsi      # 0x15740
movq %rsi, %r15
shlq $0x4, %r15
addq (%rax,%rdx,8), %r15
jmp 0x8406
andl $0xffffff7f, %eax       # imm = 0xFFFFFF7F
movl %eax, 0xd463(%rip)      # 0x1575c
jmp 0x8779
testb $0x2, %bpl
jne 0x845e
testb $0x40, %bpl
jne 0x85ce
testb $0x8, %bpl
jne 0x8606
testb $0x20, %bpl
jne 0x8767
movzbl %bl, %edi
callq 0x8dfc
testl %eax, %eax
jne 0x876f
jmp 0x8779
cmpl $0x99, %edi
jle 0x8597
leal -0x9d(%rdi), %eax
cmpl $0x3, %eax
jb 0x85bb
cmpl $0x9a, %edi
jne 0x86f9
leaq 0xd13f(%rip), %rax      # 0x154a8
movq (%rax), %rbx
movq %rbx, %rdi
callq 0x5340
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x6c39
jmp 0x86f9
movl %ebx, %eax
andl $-0x20, %eax
cmpl $0x80, %eax
je 0x8152
movl 0xd3c0(%rip), %ecx      # 0x1575c
testb %cl, %cl
js 0x8779
movl 0xf5e2(%rip), %eax      # 0x1798c
cmpl $0x71, %ebx
jne 0x83c7
andl $0x80, %ebp
je 0x83c7
testl %eax, %eax
jne 0x83c7
orl $0x80, %ecx
movl %ecx, 0xd395(%rip)      # 0x1575c
leal (%rax,%r15), %ecx
cmpl $0x1fe, %ecx            # imm = 0x1FE
ja 0x8779
cltq
leaq 0xf3a8(%rip), %rcx      # 0x17788
leaq (%rax,%rcx), %rdi
incq %rdi
movslq %r15d, %rdx
leaq 0xc(%rsp), %rsi
callq 0x5850
addl %r15d, 0xf591(%rip)     # 0x1798c
jmp 0x8779
movl 0xd33e(%rip), %edx      # 0x15744
movl %ebx, %edi
callq 0x909d
movl 0xd32d(%rip), %edi      # 0x15740
movl 0xd2fb(%rip), %eax      # 0x15714
cmpl $0x2, %r14d
jne 0x843a
orb $0x2, 0x5(%r15)
leal 0x1(%rdi), %ecx
cmpl %eax, %ecx
jge 0x843a
movl $0x0, 0x10(%r15)
movw $0x400, 0x14(%r15)      # imm = 0x400
addl %r14d, %edi
cmpl %eax, %edi
jge 0x858b
movl 0xd2f9(%rip), %esi      # 0x15744
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x761a
movslq 0xf7b3(%rip), %rax      # 0x17c18
leaq 0xf5ac(%rip), %rdx      # 0x17a18
leal 0x1(%rax), %ecx
movl %ecx, 0xf7a3(%rip)      # 0x17c18
movb %bl, (%rax,%rdx)
addl $-0x40, %ebx
cmpl $0x3f, %ebx
setb %cl
movl 0xf791(%rip), %eax      # 0x17c18
cmpl $0x1ff, %eax            # imm = 0x1FF
setae %sil
orb %cl, %sil
cmpb $0x1, %sil
jne 0x8779
cltq
xorl %ecx, %ecx
movl %ecx, 0xd2b9(%rip)      # 0x15760
movl %ecx, 0xf7b3(%rip)      # 0x17c60
cmpb $0x3f, 0xf564(%rip)     # 0x17a18
movq %rdx, %rcx
jne 0x84c7
movb $0x1, 0xf75c(%rip)      # 0x17c1c
leaq 0xf552(%rip), %rcx      # 0x17a19
movb $0x0, (%rax,%rdx)
movslq 0xf746(%rip), %rax      # 0x17c18
addq %rax, %rdx
cmpq %rdx, %rcx
jae 0x8565
xorl %r15d, %r15d
leaq 0x10(%rsp), %rbx
movabsq $-0x7fffffffffffffff, %r12 # imm = 0x8000000000000001
leaq 0xf521(%rip), %r13      # 0x17a18
movq %rcx, %r14
movq %r15, 0x10(%rsp)
movq %rcx, %rdi
movq %rbx, %rsi
movl $0xa, %edx
callq 0x5460
movq 0x10(%rsp), %rcx
cmpq %r14, %rcx
cmoveq %r15, %rax
leaq (%rax,%r12), %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
cmpq $0x2, %rsi
jb 0x852c
movl %eax, %edx
movslq 0xf72d(%rip), %rax      # 0x17c60
leal 0x1(%rax), %esi
movl %esi, 0xf724(%rip)      # 0x17c60
movl %edx, 0x208(%r13,%rax,4)
cmpb $0x3b, (%rcx)
movslq 0xf6ca(%rip), %rax      # 0x17c18
jne 0x8565
cmpl $0x10, 0xf709(%rip)     # 0x17c60
je 0x8565
incq %rcx
leaq (%rax,%r13), %rdx
cmpq %rdx, %rcx
jb 0x84f7
movzbl (%rcx), %edx
incq %rcx
movb %dl, 0xf6f3(%rip)       # 0x17c64
leaq 0xf4a0(%rip), %rsi      # 0x17a18
addq %rax, %rsi
cmpq %rsi, %rcx
jae 0x8647
movb (%rcx), %al
jmp 0x8649
orb $0x1, 0xd1b6(%rip)      # 0x15748
jmp 0x8779
cmpl $0x85, %edi
je 0x8699
cmpl $0x88, %edi
je 0x86a5
cmpl $0x90, %edi
jne 0x86f9
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x9400
cmpb $0x40, %bl
je 0x86bc
movzbl %bl, %eax
cmpl $0x47, %eax
jne 0x876f
movl 0xd173(%rip), %eax      # 0x1575c
orl $0x40, %eax
jmp 0x86c5
movzbl %bl, %eax
movl $0xf, %ecx
subl %eax, %ecx
movl %ecx, 0xd167(%rip)      # 0x15768
jmp 0x8779
movsbl %bl, %ebx
leaq 0xce84(%rip), %r14      # 0x15494
movq %r14, %rdi
movl %ebx, %esi
callq 0x54e0
testq %rax, %rax
je 0x87f3
subq %r14, %rax
leaq 0x643b(%rip), %rcx      # 0xea68
movb (%rcx,%rax,4), %al
movslq 0xd135(%rip), %rcx      # 0x1576c
leaq 0xd0d2(%rip), %rdx      # 0x15710
movb %al, 0x54(%rcx,%rdx)
jmp 0x876f
xorl %eax, %eax
movb %al, 0xf616(%rip)       # 0x17c65
addl $-0x20, %edx
cmpl $0x55, %edx
ja 0x8d4d
leaq 0x59de(%rip), %rcx      # 0xe040
movslq (%rcx,%rdx,4), %rdx
addq %rcx, %rdx
jmpq *%rdx
movl 0xf5af(%rip), %esi      # 0x17c20
cmpl $0x1, %esi
adcl $0x0, %esi
movl %esi, 0xf5a3(%rip)      # 0x17c20
movl 0xd0bd(%rip), %edi      # 0x15740
addl 0xd0bb(%rip), %esi      # 0x15744
jmp 0x8bea
cmpl $0x7f, %edi
je 0x8779
jmp 0x86f9
movl $0x1, %edi
callq 0x905d
jmp 0x86f9
movq 0xd0c4(%rip), %rax      # 0x15770
movslq 0xd08d(%rip), %rcx      # 0x15740
movl $0x1, (%rax,%rcx,4)
jmp 0x86f9
movl 0xd09a(%rip), %eax      # 0x1575c
andl $-0x41, %eax
movl %eax, 0xd091(%rip)      # 0x1575c
jmp 0x876f
movl 0xd06a(%rip), %esi      # 0x15740
movl 0xd068(%rip), %edx      # 0x15744
movl $0x3f, %edi
callq 0x909d
leaq 0xf32b(%rip), %rdi      # 0x17a18
movl $0x250, %edx            # imm = 0x250
xorl %esi, %esi
callq 0x50a0
andb $-0x15, 0xd060(%rip)    # 0x15760
jmp 0x8779
leaq 0xf30f(%rip), %rdi      # 0x17a18
movl $0x250, %edx            # imm = 0x250
xorl %esi, %esi
callq 0x50a0
andl $-0x2c, %ebp
incl %ebp
movl %ebp, 0xd040(%rip)      # 0x15760
jmp 0x8779
movl $0x1, %edi
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x916c
movl 0xd004(%rip), %esi      # 0x15744
xorl %edi, %edi
jmp 0x844b
testb $0x10, %bpl
jne 0x8788
callq 0xb29b
jmp 0x86f9
movl 0xcfe6(%rip), %edi      # 0x15740
decl %edi
movl 0xcfe2(%rip), %esi      # 0x15744
jmp 0x844b
movsbl %bl, %edi
callq 0x8da5
movl $0x0, 0xcfe7(%rip)      # 0x15760
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x9205
jmp 0x86f9
movl 0xf488(%rip), %edi      # 0x17c20
cmpl $0x1, %edi
adcl $0x0, %edi
movl %edi, 0xf47c(%rip)      # 0x17c20
decl %edi
jmp 0x89e6
movl 0xf46f(%rip), %eax      # 0x17c20
cmpl $0x1, %eax
adcl $0x0, %eax
movl %eax, 0xf463(%rip)      # 0x17c20
movl 0xf461(%rip), %edi      # 0x17c24
cmpl $0x1, %edi
adcl $0x0, %edi
movl %edi, 0xf455(%rip)      # 0x17c24
decl %edi
jmp 0x8bd4
movl 0xf444(%rip), %edi      # 0x17c20
cmpl $0x1, %edi
adcl $0x0, %edi
movl %edi, 0xf438(%rip)      # 0x17c20
addl 0xcf52(%rip), %edi      # 0x15740
jmp 0x89e6
movq 0xc7f6(%rip), %rax      # 0x14ff0
movq (%rax), %rdi
leaq 0x6186(%rip), %rsi      # 0xe98a
movl %ebx, %edx
xorl %eax, %eax
callq 0x5820
jmp 0x876f
cmpl $0x0, 0xf407(%rip)      # 0x17c20
jne 0x8779
leaq 0xcc82(%rip), %rax      # 0x154a8
movq (%rax), %rbx
movq %rbx, %rdi
callq 0x5340
movq %rbx, %rdi
movq %rax, %rsi
jmp 0x8a50
movl 0xcf1a(%rip), %eax      # 0x1575c
shrl $0x2, %eax
andl $0x1, %eax
leaq (%rax,%rax,8), %rcx
leaq (%rcx,%rcx,2), %rcx
addq %rax, %rcx
leaq 0xf416(%rip), %rax      # 0x17c70
movups (%rax,%rcx), %xmm0
movups 0xc(%rax,%rcx), %xmm1
movups %xmm0, 0xcec6(%rip)     # 0x15730
movups %xmm1, 0xcecb(%rip)     # 0x1573c
movl 0x10(%rax,%rcx), %edi
movl 0x14(%rax,%rcx), %esi
jmp 0x8bea
movsbl 0xf397(%rip), %edi      # 0x17c1c
movl 0xf3d5(%rip), %edx      # 0x17c60
xorl %esi, %esi
jmp 0x8ca9
movl 0xf388(%rip), %eax      # 0x17c20
cmpl $0x1, %eax
adcl $0x0, %eax
movl %eax, 0xf37c(%rip)      # 0x17c20
movl 0xce96(%rip), %edi      # 0x15740
movl 0xce94(%rip), %ecx      # 0x15744
leal (%rax,%rdi), %edx
decl %edx
jmp 0x8d67
movl 0xf360(%rip), %edi      # 0x17c20
cmpl $0x1, %edi
adcl $0x0, %edi
movl %edi, 0xf354(%rip)      # 0x17c20
callq 0x9acb
jmp 0x8779
movl 0xf344(%rip), %eax      # 0x17c20
cmpl $0x2, %eax
je 0x8d57
cmpl $0x1, %eax
je 0x8d3f
testl %eax, %eax
jne 0x8779
movl 0xce44(%rip), %edi      # 0x15740
movl 0xce42(%rip), %ecx      # 0x15744
movl 0xce0c(%rip), %edx      # 0x15714
decl %edx
jmp 0x8d67
cmpb $0x71, %al
jne 0x8d4d
movl 0xf303(%rip), %edi      # 0x17c20
callq 0xb282
testl %eax, %eax
je 0x8779
jmp 0x8d4d
movl 0xf2eb(%rip), %edi      # 0x17c20
cmpl $0x1, %edi
adcl $0x0, %edi
movl %edi, 0xf2df(%rip)      # 0x17c20
jmp 0x8c18
movl 0xf2d4(%rip), %edi      # 0x17c20
cmpl $0x1, %edi
adcl $0x0, %edi
movl %edi, 0xf2c8(%rip)      # 0x17c20
callq 0x95a4
jmp 0x8779
movl 0xf2b8(%rip), %eax      # 0x17c20
cmpq $0x5, %rax
ja 0x8779
leaq 0x581f(%rip), %rcx      # 0xe198
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpl $0x0, 0xcd87(%rip)      # 0x15710
jle 0x8779
xorl %ebx, %ebx
movl %ebx, %edi
callq 0x7ef8
incl %ebx
cmpl 0xcd70(%rip), %ebx      # 0x15710
jl 0x8991
jmp 0x8779
movl 0xf273(%rip), %eax      # 0x17c20
cmpl $0x1, %eax
adcl $0x0, %eax
movl %eax, 0xf267(%rip)      # 0x17c20
movl 0xcd81(%rip), %edi      # 0x15740
movl 0xcd7f(%rip), %esi      # 0x15744
subl %eax, %esi
jmp 0x8bea
movl 0xf24e(%rip), %eax      # 0x17c20
cmpl $0x1, %eax
adcl $0x0, %eax
movl %eax, 0xf242(%rip)      # 0x17c20
movl 0xcd5c(%rip), %edi      # 0x15740
subl %eax, %edi
movl 0xcd58(%rip), %esi      # 0x15744
jmp 0x8bea
movl 0xf229(%rip), %eax      # 0x17c20
cmpl $0x1, %eax
adcl $0x0, %eax
movl %eax, 0xf21d(%rip)      # 0x17c20
movl 0xcd3b(%rip), %esi      # 0x15744
subl %eax, %esi
jmp 0x8ae9
cmpl $0x6, 0xf209(%rip)      # 0x17c20
jne 0x8779
movl 0xcd21(%rip), %ecx      # 0x15744
incl %ecx
movl 0xcd14(%rip), %r8d      # 0x15740
incl %r8d
leaq 0x5e46(%rip), %rdx      # 0xe87c
leaq 0x10(%rsp), %rbx
movl $0x28, %esi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x50b0
movslq %eax, %rsi
movq %rbx, %rdi
xorl %edx, %edx
callq 0x6c39
jmp 0x8779
movl 0xf1be(%rip), %esi      # 0x17c20
cmpl $0x1, %esi
adcl $0x0, %esi
movl %esi, 0xf1b2(%rip)      # 0x17c20
addl 0xccd0(%rip), %esi      # 0x15744
jmp 0x8ae9
cmpb $0x0, 0xf19f(%rip)      # 0x17c1c
jne 0x8d4d
movl 0xf197(%rip), %ecx      # 0x17c20
xorl %eax, %eax
cmpl $0x1, %ecx
adcl %eax, %ecx
movl %ecx, 0xf18a(%rip)      # 0x17c20
movl 0xf188(%rip), %edx      # 0x17c24
testl %edx, %edx
movl 0xcc6c(%rip), %esi      # 0x15710
cmovel %esi, %edx
leal -0x1(%rcx), %edi
decl %esi
cmpl %edi, %esi
cmovll %esi, %edi
testl %ecx, %ecx
cmovlel %eax, %edi
leal -0x1(%rdx), %ecx
cmpl %ecx, %esi
cmovgel %ecx, %esi
movl %edx, 0xf160(%rip)      # 0x17c24
testl %edx, %edx
cmovlel %eax, %esi
cmpl %esi, %edi
movl %esi, %ecx
cmovgl %edi, %ecx
cmovll %edi, %esi
movl %esi, 0xcc7b(%rip)      # 0x15754
movl %ecx, 0xcc79(%rip)      # 0x15758
testb $0x2, 0xcc62(%rip)      # 0x15748
cmovel %eax, %esi
xorl %edi, %edi
jmp 0x8bea
movl 0xf12a(%rip), %eax      # 0x17c20
cmpl $0x2, %eax
je 0x8d0b
cmpl $0x1, %eax
je 0x8d21
testl %eax, %eax
jne 0x8d4d
movl 0xcc2a(%rip), %edi      # 0x15740
movl 0xcc28(%rip), %ecx      # 0x15744
movl 0xcbf2(%rip), %edx      # 0x15714
decl %edx
movl %ecx, %esi
callq 0x7685
movl 0xcc13(%rip), %esi      # 0x15744
movl 0xcbd9(%rip), %ecx      # 0x15710
decl %ecx
cmpl %ecx, %esi
jge 0x8779
incl %esi
movl 0xcbcb(%rip), %edx      # 0x15714
decl %edx
xorl %edi, %edi
jmp 0x8d69
movl 0xf0c8(%rip), %esi      # 0x17c20
cmpl $0x1, %esi
adcl $0x0, %esi
movl %esi, 0xf0bc(%rip)      # 0x17c20
movl 0xcbda(%rip), %edi      # 0x15744
cmpl %edi, 0xcbe4(%rip)      # 0x15754
jg 0x8779
cmpl 0xcbdc(%rip), %edi      # 0x15758
jle 0x8c6b
jmp 0x8779
movl 0xf093(%rip), %esi      # 0x17c20
cmpl $0x1, %esi
adcl $0x0, %esi
movl %esi, 0xf087(%rip)      # 0x17c20
movl 0xcba5(%rip), %edi      # 0x15744
cmpl %edi, 0xcbaf(%rip)      # 0x15754
jg 0x8779
cmpl 0xcba7(%rip), %edi      # 0x15758
jle 0x8c8d
jmp 0x8779
movl 0xf05e(%rip), %eax      # 0x17c20
cmpl $0x1, %eax
adcl $0x0, %eax
movl %eax, 0xf052(%rip)      # 0x17c20
movl 0xcb6c(%rip), %edi      # 0x15740
xorl %ecx, %ecx
testb $0x2, 0xcb6b(%rip)      # 0x15748
je 0x8be5
movl 0xcb6f(%rip), %ecx      # 0x15754
leal (%rax,%rcx), %esi
decl %esi
callq 0x761a
jmp 0x8779
movl 0xf066(%rip), %edi      # 0x17c60
callq 0x9b39
jmp 0x8779
movl 0xf016(%rip), %edi      # 0x17c20
cmpl $0x1, %edi
adcl $0x0, %edi
movl %edi, 0xf00a(%rip)      # 0x17c20
negl %edi
callq 0x916c
jmp 0x8779
movl 0xeff8(%rip), %eax      # 0x17c20
cmpl $0x3, %eax
je 0x8ced
testl %eax, %eax
jne 0x8d4d
movq 0xcb30(%rip), %rax      # 0x15770
movslq 0xcaf9(%rip), %rcx      # 0x15740
movl $0x0, (%rax,%rcx,4)
jmp 0x8779
movl 0xefc7(%rip), %esi      # 0x17c20
cmpl $0x1, %esi
adcl $0x0, %esi
movl %esi, 0xefbb(%rip)      # 0x17c20
movl 0xcae9(%rip), %edi      # 0x15754
callq 0x96b7
jmp 0x8779
movl 0xefa5(%rip), %esi      # 0x17c20
cmpl $0x1, %esi
adcl $0x0, %esi
movl %esi, 0xef99(%rip)      # 0x17c20
movl 0xcac7(%rip), %edi      # 0x15754
callq 0x961b
jmp 0x8779
movsbl 0xef7e(%rip), %edi      # 0x17c1c
movl 0xefbc(%rip), %edx      # 0x17c60
movl $0x1, %esi
callq 0x975a
jmp 0x8779
movl 0xcaa3(%rip), %eax      # 0x1575c
shrl $0x2, %eax
andl $0x1, %eax
leaq (%rax,%rax,8), %rcx
leaq (%rcx,%rcx,2), %rcx
addq %rax, %rcx
leaq 0xef9f(%rip), %rax      # 0x17c70
movups 0xca64(%rip), %xmm0     # 0x1573c
movups %xmm0, 0xc(%rax,%rcx)
movups 0xca4c(%rip), %xmm0     # 0x15730
movups %xmm0, (%rax,%rcx)
jmp 0x8779
movq 0xca7c(%rip), %rdi      # 0x15770
movslq 0xca19(%rip), %rdx      # 0x15714
shlq $0x2, %rdx
xorl %esi, %esi
callq 0x50a0
jmp 0x8779
movl 0xca03(%rip), %edx      # 0x15714
decl %edx
movl 0xc9f7(%rip), %ecx      # 0x15710
decl %ecx
xorl %edi, %edi
xorl %esi, %esi
jmp 0x8d69
movl 0xca1d(%rip), %ecx      # 0x15744
cmpl $0x2, %ecx
jl 0x8d45
movl 0xc9e2(%rip), %edx      # 0x15714
decl %edx
decl %ecx
xorl %edi, %edi
xorl %esi, %esi
callq 0x7685
movl 0xc9ff(%rip), %ecx      # 0x15744
movl 0xc9f5(%rip), %edx      # 0x15740
jmp 0x8d65
callq 0x5b74
jmp 0x8779
movl 0xc9e7(%rip), %ecx      # 0x15744
movl 0xc9b1(%rip), %edx      # 0x15714
decl %edx
xorl %edi, %edi
movl %ecx, %esi
callq 0x7685
jmp 0x8779
callq 0x75ee
jmp 0x8779
movl 0xc9c1(%rip), %edi      # 0x15744
callq 0x7ef8
jmp 0x8779
andb $-0x21, 0xc9c8(%rip)    # 0x1575c
jmp 0x8779
orb $0x20, 0xc9bc(%rip)     # 0x1575c
jmp 0x8779