// File: /workspace/github_c_makefile_star2_O2/jaimecgomezz[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 (u < 127 || !IS_SET(MODE_UTF8)) {
    c[0] = u;
    width = len = 1;
  } else {
    len = utf8encode(u, c);
    if (!control && (width = wcwidth(u)) == -1)
      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);
      term.esc |= ESC_STR_END;
      goto check_control_code;
    }

    if (strescseq.len + len >= strescseq.siz) {
      /*
       * 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();
       */
      if (strescseq.siz > (SIZE_MAX - UTF_SIZ) / 2)
        return;
      strescseq.siz *= 2;
      strescseq.buf = xrealloc(strescseq.buf, strescseq.siz);
    }

    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
     */
    if (!term.esc)
      term.lastc = 0;
    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;
  }
  // >>>>>>>>>>>>>>>>>>>> vim-browse
  // ==================== vim-browse
  if (selected(term.c.x, term.c.y))
    selclear();
  // ==================== vim-browse
  // <<<<<<<<<<<<<<<<<<<< vim-browse

  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);
  term.lastc = u;

  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, %r13b
jne 0x7818
movl %ebx, %eax
andl $-0x20, %eax
cmpl $0x80, %eax
sete %r13b
pushq $0x1
popq %r12
cmpl $0x7f, %ebx
jb 0x782e
testb $0x40, 0xcfd4(%rip)     # 0x147fc
jne 0x79c4
movb %bl, 0xc(%rsp)
movl %r12d, %r14d
testb $0x20, 0xcfc0(%rip)     # 0x147fc
movslq %r14d, %r14
je 0x784e
leaq 0xc(%rsp), %rdi
movq %r14, %rsi
callq 0x7646
movl 0xcfac(%rip), %ebp      # 0x14800
movabsq $0x7ffffffffffffffd, %r8 # imm = 0x7FFFFFFFFFFFFFFD
testb $0x4, %bpl
je 0x7887
cmpl $0x1b, %ebx
ja 0x7c86
movl $0xd000080, %eax        # imm = 0xD000080
btl %ebx, %eax
jae 0x7c86
andl $-0x16, %ebp
orl $0x10, %ebp
movl %ebp, 0xcf79(%rip)      # 0x14800
testb %r13b, %r13b
je 0x78bf
movzbl %bl, %edi
cmpb $0x1b, %dil
ja 0x7a97
leaq 0x5a3c(%rip), %rax      # 0xd2dc
movslq (%rax,%rdi,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movl 0xcf4d(%rip), %edi      # 0x147fc
shrl $0x3, %edi
andl $0x1, %edi
callq 0x892c
jmp 0x7e79
testb $0x1, %bpl
jne 0x79e1
movl 0xcf10(%rip), %r15d     # 0x147e0
movl 0xcf0e(%rip), %ebp      # 0x147e4
movl %r15d, %edi
movl %ebp, %esi
callq 0x5eaf
testl %eax, %eax
je 0x78f6
callq 0x5c66
movl 0xcef5(%rip), %ebp      # 0x147e4
movl 0xceea(%rip), %r15d     # 0x147e0
movq 0xcebb(%rip), %rax      # 0x147b8
movslq %ebp, %rcx
movslq %r15d, %r14
shlq $0x4, %r14
addq (%rax,%rcx,8), %r14
movl 0xceeb(%rip), %eax      # 0x147fc
testb $0x1, %al
je 0x7951
testb $0x1, 0xcecc(%rip)      # 0x147e8
je 0x7951
orb $0x1, 0x5(%r14)
pushq $0x1
popq %rdi
callq 0x892c
movq 0xce86(%rip), %rax      # 0x147b8
movslq 0xceab(%rip), %rcx      # 0x147e4
movslq 0xcea0(%rip), %r15      # 0x147e0
movq %r15, %r14
shlq $0x4, %r14
addq (%rax,%rcx,8), %r14
movl 0xceab(%rip), %eax      # 0x147fc
movl 0xce5d(%rip), %ecx      # 0x147b4
testb $0x2, %al
je 0x798b
leal (%r15,%r12), %edx
movl %ecx, %eax
subl %edx, %eax
jle 0x798b
movslq %r12d, %rdi
shlq $0x4, %rdi
addq %r14, %rdi
movslq %eax, %rdx
shlq $0x4, %rdx
movq %r14, %rsi
callq 0x54e0
movl 0xce5b(%rip), %r15d     # 0x147e0
movl 0xce29(%rip), %ecx      # 0x147b4
leal (%r15,%r12), %eax
cmpl %ecx, %eax
jle 0x7b16
pushq $0x1
popq %rdi
callq 0x892c
movq 0xce12(%rip), %rax      # 0x147b8
movslq 0xce37(%rip), %rdx      # 0x147e4
movslq 0xce2c(%rip), %r15      # 0x147e0
movq %r15, %r14
shlq $0x4, %r14
addq (%rax,%rdx,8), %r14
jmp 0x7b1c
leaq 0xc(%rsp), %rsi
movl %ebx, %edi
callq 0x5b12
movq %rax, %r14
testb %r13b, %r13b
je 0x7b03
jmp 0x7835
testb $0x2, %bpl
jne 0x7b7a
testb $0x40, %bpl
jne 0x7cc7
testb $0x8, %bpl
jne 0x7d05
testb $0x20, %bpl
jne 0x7ece
movzbl %bl, %ebx
leal -0x5a(%rbx), %eax
cmpl $0x15, %eax
jbe 0x7f37
leal -0x37(%rbx), %eax
cmpl $0xe, %eax
jbe 0x7f5c
leal -0x28(%rbx), %eax
cmpl $0x4, %eax
jb 0x8000
cmpl $0x23, %ebx
je 0x8803
cmpl $0x25, %ebx
je 0x880b
cmpl $0x48, %ebx
je 0x87e9
cmpl $0x4d, %ebx
je 0x87c8
cmpl $0x50, %ebx
je 0x7f47
movq 0xc58c(%rip), %rax      # 0x13ff0
movq (%rax), %r14
callq 0x5370
movq (%rax), %rax
movl %ebx, %ecx
movzwl (%rax,%rcx,2), %eax
btl $0xe, %eax
pushq $0x2e
popq %rcx
cmovbl %ebx, %ecx
leaq 0x5ef5(%rip), %rsi      # 0xd97b
movq %r14, %rdi
movl %ebx, %edx
xorl %eax, %eax
callq 0x5830
jmp 0x7e0f
leal -0x9d(%rdi), %eax
cmpl $0x3, %eax
jb 0x7cbd
cmpl $0x7f, %edi
je 0x7e79
cmpl $0x85, %edi
je 0x7ead
cmpl $0x88, %edi
je 0x7eb7
cmpl $0x90, %edi
je 0x7cbd
cmpl $0x9a, %edi
jne 0x7f0e
leaq 0xc9c2(%rip), %rax      # 0x144a8
movq (%rax), %rbx
movq %rbx, %rdi
callq 0x5350
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x671c
jmp 0x7f0e
movl %ebx, %edi
callq 0x5630
cmpl $-0x1, %eax
cmovnel %eax, %r12d
jmp 0x7835
movl 0xccc8(%rip), %edx      # 0x147e4
movl %ebx, %edi
movl %r15d, %esi
callq 0x896a
movl %ebx, 0xccec(%rip)      # 0x14818
movl 0xccae(%rip), %edi      # 0x147e0
movl 0xcc7c(%rip), %eax      # 0x147b4
cmpl $0x2, %r12d
jne 0x7b56
orb $0x2, 0x5(%r14)
leal 0x1(%rdi), %ecx
cmpl %eax, %ecx
jge 0x7b56
andl $0x0, 0x10(%r14)
movw $0x400, 0x14(%r14)      # imm = 0x400
addl %r12d, %edi
cmpl %eax, %edi
jge 0x7c7a
movl 0xcc7d(%rip), %esi      # 0x147e4
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x702f
leaq 0xed5f(%rip), %r12      # 0x168e0
movq 0xef58(%rip), %rax      # 0x16ae0
leaq 0x1(%rax), %rcx
movq %rcx, 0xef4d(%rip)      # 0x16ae0
movb %bl, (%rax,%r12)
addl $-0x40, %ebx
cmpl $0x3f, %ebx
setb %cl
movq 0xef39(%rip), %rax      # 0x16ae0
cmpq $0x1ff, %rax            # imm = 0x1FF
setae %dl
orb %cl, %dl
cmpb $0x1, %dl
jne 0x7f28
andl $0x0, 0xcc3e(%rip)      # 0x14800
andl $0x0, 0xef63(%rip)      # 0x16b2c
cmpb $0x3f, 0xed10(%rip)     # 0x168e0
movq %r12, %r14
jne 0x7be3
movb $0x1, 0xef0c(%rip)      # 0x16ae8
leaq 0xecfe(%rip), %r14      # 0x168e1
movb $0x0, (%rax,%r12)
pushq $0xa
popq %rbp
xorl %r13d, %r13d
pushq $-0x1
popq %r15
movq 0xeee7(%rip), %rdx      # 0x16ae0
leaq (%r12,%rdx), %rax
cmpq %rax, %r14
jae 0x7cfd
andq $0x0, 0x10(%rsp)
movq %r14, %rdi
leaq 0x10(%rsp), %rsi
movl %ebp, %edx
movq %r8, %rbx
callq 0x5470
movq %rbx, %r8
movq 0x10(%rsp), %rcx
cmpq %r14, %rcx
cmoveq %r13, %rax
leaq (%rbx,%rax), %rsi
addq $0x4, %rsi
movl %r15d, %edx
cmpq $0x2, %rsi
jb 0x7c40
movl %eax, %edx
movslq 0xeee5(%rip), %rax      # 0x16b2c
leal 0x1(%rax), %esi
movl %esi, 0xeedc(%rip)      # 0x16b2c
movl %edx, 0x20c(%r12,%rax,4)
movb (%rcx), %al
cmpb $0x3b, %al
jne 0x7d46
cmpl $0x10, 0xeec3(%rip)     # 0x16b2c
je 0x7d46
incq %rcx
movq %rcx, %r14
jmp 0x7bf2
orb $0x1, 0xcb67(%rip)      # 0x147e8
jmp 0x7f28
movl %ebx, %eax
andl $-0x20, %eax
cmpl $0x80, %eax
je 0x787b
movq 0xebb3(%rip), %rdi      # 0x16850
leaq (%rdi,%r14), %rbx
movq 0xeba0(%rip), %rsi      # 0x16848
cmpq %rsi, %rbx
jae 0x7db3
movq 0xeb88(%rip), %rax      # 0x16840
jmp 0x7de4
callq 0x8ec9
jmp 0x7e79
cmpb $0x40, %bl
je 0x7e00
movzbl %bl, %eax
cmpl $0x47, %eax
jne 0x7e0f
movl 0xcb1a(%rip), %eax      # 0x147fc
orl $0x40, %eax
jmp 0x7e09
movzbl %bl, %eax
pushq $0xf
popq %rcx
subl %eax, %ecx
movl %ecx, 0xcb10(%rip)      # 0x14808
jmp 0x7e79
movb (%r14), %al
movq %r14, %rcx
jmp 0x7d4d
movsbl %bl, %ebx
leaq 0xc785(%rip), %r14      # 0x14494
movq %r14, %rdi
movl %ebx, %esi
callq 0x54f0
testq %rax, %rax
je 0x800e
subq %r14, %rax
leaq 0x5d0c(%rip), %rcx      # 0xda38
movb (%rcx,%rax,4), %al
movslq 0xcad6(%rip), %rcx      # 0x1480c
leaq 0xca73(%rip), %rdx      # 0x147b0
movb %al, 0x54(%rcx,%rdx)
jmp 0x7e0f
movq 0xed93(%rip), %rdx      # 0x16ae0
incq %rcx
movb %al, 0xedda(%rip)       # 0x16b30
leaq 0xeb83(%rip), %r12      # 0x168e0
addq %r12, %rdx
cmpq %rdx, %rcx
jae 0x7d69
movb (%rcx), %cl
jmp 0x7d6b
xorl %ecx, %ecx
movb %cl, 0xedc0(%rip)       # 0x16b31
movzbl %al, %eax
addl $-0x20, %eax
cmpl $0x55, %eax
ja 0x8855
leaq 0x5289(%rip), %rdx      # 0xd010
movslq (%rdx,%rax,4), %rax
addq %rdx, %rax
jmpq *%rax
movl 0xed56(%rip), %esi      # 0x16aec
cmpl $0x1, %esi
adcl $0x0, %esi
movl %esi, 0xed4a(%rip)      # 0x16aec
movl 0xca38(%rip), %edi      # 0x147e0
addl 0xca36(%rip), %esi      # 0x147e4
jmp 0x8517
cmpq %r8, %rsi
ja 0x7f28
addq %rsi, %rsi
movq %rsi, 0xea82(%rip)      # 0x16848
movq 0xea73(%rip), %rdi      # 0x16840
callq 0x5abe
movq %rax, 0xea67(%rip)      # 0x16840
movq 0xea70(%rip), %rdi      # 0x16850
leaq (%rdi,%r14), %rbx
addq %rax, %rdi
leaq 0xc(%rsp), %rsi
movq %r14, %rdx
callq 0x54e0
movq %rbx, 0xea55(%rip)      # 0x16850
jmp 0x7f28
movl 0xc9f6(%rip), %eax      # 0x147fc
andl $-0x41, %eax
movl %eax, 0xc9ed(%rip)      # 0x147fc
andl $0x0, 0xc9ea(%rip)      # 0x14800
jmp 0x7f28
pushq $0x1
popq %rdi
callq 0x8a37
jmp 0x7e79
testb $0x10, %bpl
jne 0x7f09
callq 0xa878
jmp 0x7f0e
movl 0xc9a5(%rip), %esi      # 0x147e4
xorl %edi, %edi
jmp 0x7e74
leaq 0xea96(%rip), %rdi      # 0x168e0
movl $0x258, %edx            # imm = 0x258
xorl %esi, %esi
callq 0x50a0
andl $-0x2c, %ebp
incl %ebp
movl %ebp, 0xc99f(%rip)      # 0x14800
jmp 0x7f28
movl 0xc974(%rip), %edi      # 0x147e0
decl %edi
movl 0xc970(%rip), %esi      # 0x147e4
callq 0x702f
movl 0xc981(%rip), %eax      # 0x14800
jmp 0x7f1d
movl 0xc956(%rip), %esi      # 0x147e0
movl 0xc954(%rip), %edx      # 0x147e4
pushq $0x3f
popq %rdi
callq 0x896a
leaq 0xea41(%rip), %rdi      # 0x168e0
movl $0x258, %edx            # imm = 0x258
xorl %esi, %esi
callq 0x50a0
jmp 0x7f0e
pushq $0x1
popq %rdi
callq 0x892c
jmp 0x7f0e
movq 0xc952(%rip), %rax      # 0x14810
movslq 0xc91b(%rip), %rcx      # 0x147e0
movl $0x1, (%rax,%rcx,4)
jmp 0x7f0e
cmpb $0x38, %bl
jne 0x7e0f
xorl %ebx, %ebx
pushq $0x45
popq %rbp
cmpl 0xc8d2(%rip), %ebx      # 0x147b4
jge 0x7e0f
xorl %r14d, %r14d
cmpl 0xc8be(%rip), %r14d     # 0x147b0
jge 0x7f05
movl %ebp, %edi
movl %ebx, %esi
movl %r14d, %edx
callq 0x896a
incl %r14d
jmp 0x7eeb
incl %ebx
jmp 0x7edc
callq 0x8abc
movl 0xc8ec(%rip), %eax      # 0x14800
andl $-0x15, %eax
movl %eax, 0xc8e3(%rip)      # 0x14800
testl %eax, %eax
jne 0x7f28
andl $0x0, 0xc8f0(%rip)      # 0x14818
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x5346(%rip), %rcx      # 0xd284
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl %ebx, %edi
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x8ec9
leaq 0x52e5(%rip), %rcx      # 0xd248
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl 0xc88a(%rip), %eax      # 0x147fc
shrl $0x2, %eax
andl $0x1, %eax
imulq $0x1c, %rax, %rax
leaq 0xebbd(%rip), %rcx      # 0x16b40
movups 0xc852(%rip), %xmm0     # 0x147dc
movups %xmm0, 0xc(%rax,%rcx)
movups 0xc83a(%rip), %xmm0     # 0x147d0
movups %xmm0, (%rax,%rcx)
jmp 0x7e0f
movl 0xeb47(%rip), %esi      # 0x16aec
cmpl $0x1, %esi
adcl $0x0, %esi
movl %esi, 0xeb3b(%rip)      # 0x16aec
movl 0xeb39(%rip), %edi      # 0x16af0
cmpl $0x1, %edi
adcl $0x0, %edi
movl %edi, 0xeb2d(%rip)      # 0x16af0
decl %edi
jmp 0x8539
movl 0xeb1c(%rip), %edi      # 0x16aec
cmpl $0x1, %edi
adcl $0x0, %edi
movl %edi, 0xeb10(%rip)      # 0x16aec
addl 0xc7fe(%rip), %edi      # 0x147e0
jmp 0x836d
movl 0xeaff(%rip), %edi      # 0x16aec
cmpl $0x1, %edi
adcl $0x0, %edi
movl %edi, 0xeaf3(%rip)      # 0x16aec
decl %edi
jmp 0x836d
movl %eax, 0xc806(%rip)      # 0x1480c
orl $0x8, %ebp
jmp 0x7e5b
movq 0xbfdb(%rip), %rax      # 0x13ff0
movq (%rax), %rdi
leaq 0x593b(%rip), %rsi      # 0xd95a
movl %ebx, %edx
xorl %eax, %eax
callq 0x5830
jmp 0x7e0f
movl 0xc7c9(%rip), %eax      # 0x147fc
shrl $0x2, %eax
andl $0x1, %eax
imulq $0x1c, %rax, %rax
leaq 0xeafc(%rip), %rcx      # 0x16b40
movups 0xc791(%rip), %xmm0     # 0x147dc
movups %xmm0, 0xc(%rax,%rcx)
movups 0xc779(%rip), %xmm0     # 0x147d0
movups %xmm0, (%rax,%rcx)
jmp 0x7f28
movl 0xea86(%rip), %eax      # 0x16aec
cmpq $0x5, %rax
ja 0x7f28
leaq 0x51b9(%rip), %rcx      # 0xd230
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
callq 0x6fa9
jmp 0x7f28
pushq $0x1
popq %rdi
callq 0x71e0
jmp 0x7f28
movl 0xea4f(%rip), %eax      # 0x16aec
cmpl $0x2, %eax
je 0x8813
cmpl $0x1, %eax
je 0x8829
testl %eax, %eax
jne 0x8855
movl 0xc723(%rip), %edi      # 0x147e0
movl 0xc721(%rip), %ecx      # 0x147e4
movl 0xc6eb(%rip), %edx      # 0x147b4
decl %edx
movl %ecx, %esi
callq 0x709a
movl 0xc70c(%rip), %esi      # 0x147e4
movl 0xc6d2(%rip), %ecx      # 0x147b0
decl %ecx
cmpl %ecx, %esi
jge 0x7f28
incl %esi
movl 0xc6c4(%rip), %edx      # 0x147b4
decl %edx
xorl %edi, %edi
jmp 0x888d
movsbl 0xe9e8(%rip), %edi      # 0x16ae8
movl 0xea26(%rip), %edx      # 0x16b2c
pushq $0x1
popq %rsi
jmp 0x84f1
movl 0xea18(%rip), %ebx      # 0x16b2c
leaq 0x504d(%rip), %rbp      # 0xd168
leaq 0xc3aa(%rip), %r13      # 0x144cc
leaq 0xea63(%rip), %r14      # 0x16b8c
leaq 0x10(%rsp), %r15
xorl %eax, %eax
movl %eax, 0x10(%rsp)
cmpl %ebx, %eax
jge 0x7f28
cltq
movl 0x20c(%r12,%rax,4), %edx
cmpq $0x31, %rdx
ja 0x8162
movslq (%rbp,%rdx,4), %rax
addq %rbp, %rax
jmpq *%rax
orb $0x10, 0xc677(%rip)     # 0x147d4
jmp 0x8256
leal -0x1e(%rdx), %eax
cmpl $0x7, %eax
jbe 0x81af
movl %edx, %eax
andl $-0x8, %eax
cmpl $0x28, %eax
jne 0x8261
addl $-0x28, %edx
jmp 0x827f
movq %r15, %rdi
movl %ebx, %esi
callq 0x952c
testl %eax, %eax
jns 0x81af
jmp 0x8256
andb $-0x5, 0xc63a(%rip)     # 0x147d4
jmp 0x8256
andb $-0x4, 0xc62e(%rip)     # 0x147d4
jmp 0x8256
movl (%r13), %eax
movl %eax, 0xc623(%rip)      # 0x147d8
jmp 0x8256
orb $0x1, 0xc613(%rip)      # 0x147d4
jmp 0x8256
orb $0x8, 0xc607(%rip)      # 0x147d4
jmp 0x8256
orb $0x40, 0xc5fb(%rip)     # 0x147d4
jmp 0x8256
movb $0x0, 0xc5f2(%rip)      # 0x147d4
movl (%r13), %eax
movl %eax, 0xc5ec(%rip)      # 0x147d8
movl (%r14), %eax
jmp 0x8250
orb $0x20, 0xc5dc(%rip)     # 0x147d4
jmp 0x8256
andb $-0x11, 0xc5d3(%rip)    # 0x147d4
jmp 0x8256
andb $-0x21, 0xc5ca(%rip)    # 0x147d4
jmp 0x8256
orb $0x2, 0xc5c1(%rip)      # 0x147d4
jmp 0x8256
orb $0x4, 0xc5b8(%rip)      # 0x147d4
jmp 0x8256
andb $0x7f, 0xc5af(%rip)     # 0x147d4
jmp 0x8256
orb $-0x80, 0xc5a6(%rip)    # 0x147d4
jmp 0x8256
andb $-0x41, 0xc59d(%rip)    # 0x147d4
jmp 0x8256
andb $-0x9, 0xc594(%rip)     # 0x147d4
jmp 0x8256
movq %r15, %rdi
movl %ebx, %esi
callq 0x952c
testl %eax, %eax
js 0x8256
movl %eax, 0xc586(%rip)      # 0x147dc
movl 0x10(%rsp), %eax
incl %eax
jmp 0x8130
leal -0x5a(%rdx), %eax
cmpl $0x7, %eax
ja 0x8274
addl $-0x52, %edx
movl %edx, 0xc566(%rip)      # 0x147d8
jmp 0x8256
leal -0x64(%rdx), %eax
cmpl $0x7, %eax
ja 0x8287
addl $-0x5c, %edx
movl %edx, 0xc557(%rip)      # 0x147dc
jmp 0x8256
movq 0xbd62(%rip), %rax      # 0x13ff0
movq (%rax), %rdi
leaq 0x5610(%rip), %rsi      # 0xd8a8
xorl %eax, %eax
callq 0x5830
callq 0x8f89
jmp 0x8256
movl 0xe840(%rip), %esi      # 0x16aec
cmpl $0x1, %esi
adcl $0x0, %esi
movl %esi, 0xe834(%rip)      # 0x16aec
movl 0xc526(%rip), %edi      # 0x147e4
cmpl %edi, 0xc530(%rip)      # 0x147f4
jg 0x7f28
cmpl 0xc528(%rip), %edi      # 0x147f8
jle 0x8452
jmp 0x7f28
movl 0xe80b(%rip), %esi      # 0x16aec
cmpl $0x1, %esi
adcl $0x0, %esi
movl %esi, 0xe7ff(%rip)      # 0x16aec
movl 0xc4f1(%rip), %edi      # 0x147e4
cmpl %edi, 0xc4fb(%rip)      # 0x147f4
jg 0x7f28
cmpl 0xc4f3(%rip), %edi      # 0x147f8
jle 0x8474
jmp 0x7f28
cmpl $0x6, 0xe7d5(%rip)      # 0x16aec
jne 0x7f28
movl 0xc4c1(%rip), %ecx      # 0x147e4
incl %ecx
movl 0xc4b4(%rip), %r8d      # 0x147e0
incl %r8d
leaq 0x5516(%rip), %rdx      # 0xd84c
leaq 0x10(%rsp), %rbx
pushq $0x28
popq %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x50b0
movslq %eax, %rsi
movq %rbx, %rdi
jmp 0x84d6
movl 0xe793(%rip), %eax      # 0x16aec
cmpl $0x1, %eax
adcl $0x0, %eax
movl %eax, 0xe787(%rip)      # 0x16aec
movl 0xc475(%rip), %edi      # 0x147e0
subl %eax, %edi
movl 0xc471(%rip), %esi      # 0x147e4
jmp 0x8517
cmpb $0x71, %cl
jne 0x8855
movl 0xe765(%rip), %edi      # 0x16aec
callq 0xa866
testl %eax, %eax
je 0x7f28
jmp 0x8855
movl 0xe74d(%rip), %eax      # 0x16aec
cmpl $0x1, %eax
adcl $0x0, %eax
movl %eax, 0xe741(%rip)      # 0x16aec
movslq 0xc42e(%rip), %rbx      # 0x147e0
movl 0xc3fc(%rip), %ecx      # 0x147b4
movl %ecx, %edx
subl %ebx, %edx
cmpl %eax, %edx
cmovgel %eax, %edx
xorl %r14d, %r14d
testl %eax, %eax
cmovnsl %edx, %r14d
leal (%r14,%rbx), %eax
subl %eax, %ecx
movq 0xc3e1(%rip), %rdx      # 0x147b8
movslq 0xc406(%rip), %rsi      # 0x147e4
movq (%rdx,%rsi,8), %rdx
movslq %eax, %rdi
shlq $0x4, %rdi
addq %rdx, %rdi
movq %rbx, %rsi
shlq $0x4, %rsi
addq %rdx, %rsi
movslq %ecx, %rdx
shlq $0x4, %rdx
callq 0x54e0
movl 0xc3dc(%rip), %ecx      # 0x147e4
leal (%r14,%rbx), %edx
decl %edx
movl %ebx, %edi
jmp 0x888b
movl 0xe6d1(%rip), %eax      # 0x16aec
cmpl $0x1, %eax
adcl $0x0, %eax
movl %eax, 0xe6c5(%rip)      # 0x16aec
movl 0xc3b3(%rip), %edi      # 0x147e0
movl 0xc3b1(%rip), %esi      # 0x147e4
subl %eax, %esi
jmp 0x8517
movl 0xe6ac(%rip), %esi      # 0x16aec
cmpl $0x1, %esi
adcl $0x0, %esi
movl %esi, 0xe6a0(%rip)      # 0x16aec
movl 0xc3a2(%rip), %edi      # 0x147f4
callq 0x910d
jmp 0x7f28
movl 0xe68a(%rip), %esi      # 0x16aec
cmpl $0x1, %esi
adcl $0x0, %esi
movl %esi, 0xe67e(%rip)      # 0x16aec
movl 0xc380(%rip), %edi      # 0x147f4
callq 0x9076
jmp 0x7f28
movl 0xe668(%rip), %edi      # 0x16aec
cmpl $0x1, %edi
adcl $0x0, %edi
movl %edi, 0xe65c(%rip)      # 0x16aec
negl %edi
jmp 0x8552
movl 0xe64f(%rip), %esi      # 0x16aec
cmpl $0x1, %esi
adcl $0x0, %esi
movl %esi, 0xe643(%rip)      # 0x16aec
addl 0xc335(%rip), %esi      # 0x147e4
jmp 0x8515
cmpl $0x0, 0xe634(%rip)      # 0x16aec
jne 0x7f28
leaq 0xbfe3(%rip), %rax      # 0x144a8
movq (%rax), %rbx
movq %rbx, %rdi
callq 0x5350
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x671c
jmp 0x7f28
movsbl 0xe5ff(%rip), %edi      # 0x16ae8
movl 0xe63d(%rip), %edx      # 0x16b2c
xorl %esi, %esi
callq 0x91a7
jmp 0x7f28
movl 0xe5eb(%rip), %eax      # 0x16aec
cmpl $0x1, %eax
adcl $0x0, %eax
movl %eax, 0xe5df(%rip)      # 0x16aec
movl 0xc2d1(%rip), %esi      # 0x147e4
subl %eax, %esi
xorl %edi, %edi
callq 0x702f
jmp 0x7f28
movl 0xe5c5(%rip), %esi      # 0x16aec
cmpl $0x1, %esi
adcl $0x0, %esi
movl %esi, 0xe5b9(%rip)      # 0x16aec
movl 0xc2a7(%rip), %edi      # 0x147e0
decl %esi
jmp 0x86e8
movl 0xe5a6(%rip), %edi      # 0x16aec
cmpl $0x1, %edi
adcl $0x0, %edi
movl %edi, 0xe59a(%rip)      # 0x16aec
callq 0x8a37
jmp 0x7f28
movl 0xe58a(%rip), %eax      # 0x16aec
cmpl $0x2, %eax
je 0x887b
cmpl $0x1, %eax
je 0x8847
testl %eax, %eax
jne 0x7f28
movl 0xc25e(%rip), %edi      # 0x147e0
movl 0xc25c(%rip), %ecx      # 0x147e4
movl 0xc226(%rip), %edx      # 0x147b4
jmp 0x8634
movl 0xe553(%rip), %eax      # 0x16aec
cmpl $0x3, %eax
je 0x8700
testl %eax, %eax
jne 0x8855
movq 0xc25f(%rip), %rax      # 0x14810
movslq 0xc228(%rip), %rcx      # 0x147e0
andl $0x0, (%rax,%rcx,4)
jmp 0x7f28
movl 0xe525(%rip), %eax      # 0x16aec
cmpl $0x1, %eax
adcl $0x0, %eax
movl %eax, 0xe519(%rip)      # 0x16aec
movslq 0xc206(%rip), %rdi      # 0x147e0
movl 0xc1d4(%rip), %ecx      # 0x147b4
movl %ecx, %edx
subl %edi, %edx
cmpl %eax, %edx
cmovgel %eax, %edx
xorl %ebx, %ebx
testl %eax, %eax
cmovnsl %edx, %ebx
leal (%rbx,%rdi), %eax
subl %eax, %ecx
movq 0xc1bc(%rip), %rdx      # 0x147b8
movslq 0xc1e1(%rip), %rsi      # 0x147e4
movq (%rdx,%rsi,8), %rdx
shlq $0x4, %rdi
addq %rdx, %rdi
movslq %eax, %rsi
shlq $0x4, %rsi
addq %rdx, %rsi
movslq %ecx, %rdx
shlq $0x4, %rdx
callq 0x54e0
movl 0xc18a(%rip), %edx      # 0x147b4
movl %edx, %edi
subl %ebx, %edi
movl 0xc1b0(%rip), %ecx      # 0x147e4
decl %edx
jmp 0x888b
movl 0xe4ab(%rip), %eax      # 0x16aec
cmpl $0x1, %eax
adcl $0x0, %eax
movl %eax, 0xe49f(%rip)      # 0x16aec
movl 0xc18d(%rip), %edi      # 0x147e0
movl 0xc18b(%rip), %ecx      # 0x147e4
leal (%rax,%rdi), %edx
decl %edx
jmp 0x888b
movl 0xe483(%rip), %eax      # 0x16aec
cmpl $0x1, %eax
adcl $0x0, %eax
movl %eax, 0xe477(%rip)      # 0x16aec
cmpl $0x0, 0xc19c(%rip)      # 0x14818
je 0x7f28
leal -0x1(%rax), %ecx
movl %ecx, 0xe461(%rip)      # 0x16aec
testl %eax, %eax
jle 0x7f28
movl 0xc17f(%rip), %edi      # 0x14818
callq 0x77e7
movl 0xe448(%rip), %eax      # 0x16aec
jmp 0x8682
cmpb $0x0, 0xe43b(%rip)      # 0x16ae8
jne 0x8855
movl 0xe433(%rip), %edi      # 0x16aec
cmpl $0x1, %edi
adcl $0x0, %edi
movl %edi, 0xe427(%rip)      # 0x16aec
movl 0xe425(%rip), %esi      # 0x16af0
testl %esi, %esi
jne 0x86d5
movl 0xc0db(%rip), %esi      # 0x147b0
movl %esi, 0xe415(%rip)      # 0x16af0
decl %edi
decl %esi
callq 0x6fef
xorl %edi, %edi
xorl %esi, %esi
callq 0x905c
jmp 0x7f28
addl $-0x6c, %ebx
movl %ebx, 0xc10d(%rip)      # 0x14808
jmp 0x7e0f
movq 0xc109(%rip), %rdi      # 0x14810
movslq 0xc0a6(%rip), %rdx      # 0x147b4
shlq $0x2, %rdx
xorl %esi, %esi
callq 0x50a0
jmp 0x7f28
leaq 0xbd83(%rip), %rax      # 0x144a8
movq (%rax), %rbx
movq %rbx, %rdi
callq 0x5350
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x671c
jmp 0x7e0f
orl $0x2, %ebp
jmp 0x7e5b
callq 0x6e6f
callq 0x7234
callq 0x96ef
jmp 0x7e0f
testb $0x10, %bpl
je 0x7e0f
callq 0x8abc
jmp 0x7e0f
movl 0xc06c(%rip), %esi      # 0x147e4
cmpl 0xc07a(%rip), %esi      # 0x147f8
jne 0x8897
movl 0xc06a(%rip), %edi      # 0x147f4
pushq $0x1
popq %rsi
callq 0x9076
jmp 0x7e0f
pushq $0x1
popq %rdi
callq 0x892c
jmp 0x7e0f
pushq $0x1
popq %rdi
callq 0x71e0
jmp 0x7e0f
pushq $0x4
popq %rsi
xorl %edi, %edi
jmp 0x87be
pushq $0x1
popq %rdi
pushq $0x4
popq %rsi
callq 0xa840
jmp 0x7e0f
movl 0xc016(%rip), %eax      # 0x147e4
cmpl 0xc020(%rip), %eax      # 0x147f4
jne 0x88a1
pushq $0x1
popq %rsi
movl %eax, %edi
callq 0x910d
jmp 0x7e0f
movq 0xc020(%rip), %rax      # 0x14810
movslq 0xbfe9(%rip), %rcx      # 0x147e0
movl $0x1, (%rax,%rcx,4)
jmp 0x7e0f
orl $0x20, %ebp
jmp 0x7e5b
orl $0x40, %ebp
jmp 0x7e5b
movl 0xbf9b(%rip), %edx      # 0x147b4
decl %edx
movl 0xbf8f(%rip), %ecx      # 0x147b0
decl %ecx
xorl %edi, %edi
xorl %esi, %esi
jmp 0x888d
movl 0xbfb5(%rip), %ecx      # 0x147e4
cmpl $0x2, %ecx
jl 0x884d
movl 0xbf7a(%rip), %edx      # 0x147b4
decl %edx
decl %ecx
xorl %edi, %edi
xorl %esi, %esi
callq 0x709a
movl 0xbf97(%rip), %ecx      # 0x147e4
movl 0xbf8d(%rip), %edx      # 0x147e0
jmp 0x8889
movq 0xb794(%rip), %rax      # 0x13ff0
movq (%rax), %rcx
leaq 0x4fd1(%rip), %rdi      # 0xd837
pushq $0x14
popq %rsi
pushq $0x1
popq %rdx
callq 0x57d0
callq 0x8f89
jmp 0x7f28
movl 0xbf63(%rip), %ecx      # 0x147e4
movl 0xbf2d(%rip), %edx      # 0x147b4
decl %edx
xorl %edi, %edi
movl %ecx, %esi
callq 0x709a
jmp 0x7f28
movl 0xbf43(%rip), %edi      # 0x147e0
incl %esi
jmp 0x88ab
movl 0xbf39(%rip), %edi      # 0x147e0
decl %eax
movl %eax, %esi
callq 0x702f
jmp 0x7e0f
callq 0x6fc3
jmp 0x7f28
movl 0xbf1f(%rip), %edi      # 0x147e4
callq 0x76b0
jmp 0x7f28
andb $-0x21, 0xbf26(%rip)    # 0x147fc
jmp 0x7f28
orb $0x20, 0xbf1a(%rip)     # 0x147fc
jmp 0x7f28