// File: /workspace/github_c_makefile_star2_O1/genometools[P]genometools/src/core/sequence_buffer_gb.c
// Function: gt_sequence_buffer_gb_advance
static int gt_sequence_buffer_gb_advance(GtSequenceBuffer *sb, GtError *err)
{
  GtUword currentoutpos = 0, currentfileadd = 0, currentfileread = 0;
  GtSequenceBufferMembers *pvt;
  GtSequenceBufferGB *sbe;
  int had_err = 0;
  gt_error_check(err);

  sbe = gt_sequence_buffer_gb_cast(sb);
  pvt = sb->pvt;

  /* open first stream */
  if (!pvt->inputstream) {
    sbe->state = GB_OUT_OF_ENTRY;
    pvt->linenum = (uint64_t) 1;
    pvt->inputstream = gt_file_xopen(gt_str_array_get(pvt->filenametab,
                                                  (GtUword) pvt->filenum),
                                        "rb");
    pvt->currentinpos = 0;
    pvt->currentfillpos = 0;
  }

  if (gt_str_length(sbe->overflowbuffer) > 0) {
    /* we still have surplus sequence from the last line, process that first */
    GtUword i;
    const char *overflowedstring;
    overflowedstring = gt_str_get_mem(sbe->overflowbuffer);
    for (i=0;i<gt_str_length(sbe->overflowbuffer);i++) {
      process_char(sb, currentoutpos, overflowedstring[i], err);
      currentoutpos++;
      currentfileadd++;
    }
    gt_str_reset(sbe->overflowbuffer);
    gt_assert(gt_str_length(sbe->overflowbuffer) == 0);
  }

  while (true) {
    if (had_err && had_err != EOF)
      break;

    if (currentoutpos >= (GtUword) OUTBUFSIZE) {
      if (pvt->filelengthtab) {
        pvt->filelengthtab[pvt->filenum].length
          += (uint64_t) currentfileread;
        pvt->filelengthtab[pvt->filenum].effectivelength
          += (uint64_t) currentfileadd;
      }
      break;
    }

    had_err = get_keyword(sb, sbe->keywordbuffer, &currentfileread);

    if (had_err && had_err != EOF)
      break;

    /* terminators may occur in any line */
    if (!had_err && strcmp(gt_str_get(sbe->keywordbuffer),
                           GB_ENTRY_TERMINATOR) == 0) {
      pvt->outbuf[currentoutpos++] = (GtUchar) GT_SEPARATOR;
      currentfileadd++;
      pvt->lastspeciallength++;
      if (!sbe->description_set && pvt->descptr)
          gt_desc_buffer_finish(pvt->descptr);
      sbe->description_set = false;
      if ((eat_line(sb, &currentfileread)) == EOF)
        break;
      sbe->state = GB_OUT_OF_ENTRY;
    }

    switch (sbe->state) {
      case GB_OUT_OF_ENTRY:
        /* eat everything */
        if (!had_err && strcmp(gt_str_get(sbe->keywordbuffer),
                               GB_LOCUS_STRING) == 0) {
          sbe->state = GB_AWAITING_DESCRIPTION;
          gt_str_reset(sbe->keywordbuffer);
          had_err = eat_whitespace(sb, &currentfileread);
          if (!had_err) {
            had_err = get_keyword(sb, sbe->keywordbuffer, &currentfileread);
          }
          if (!had_err) {
            if (sb->pvt->descptr) {
              GtUword l = 0;
              const char* b = gt_str_get(sbe->keywordbuffer);
              for (l = 0; l < gt_str_length(sbe->keywordbuffer); l++) {
                gt_desc_buffer_append_char(sb->pvt->descptr, b[l]);
              }
            }
          }
        }
        had_err = eat_line(sb, &currentfileread);
        break;
      case GB_AWAITING_DESCRIPTION:
        if (strcmp(gt_str_get(sbe->keywordbuffer),
                   GB_DEFINITION_STRING) == 0) {
          had_err = eat_whitespace(sb, &currentfileread);
          if (pvt->descptr && gt_desc_buffer_length(pvt->descptr) > 0)
            gt_desc_buffer_append_char(pvt->descptr, ' ');
          if (!had_err)
            had_err = get_description(sb, &currentfileread);
          sbe->state = GB_IN_DESCRIPTION;
        } else if (strcmp(gt_str_get(sbe->keywordbuffer),
                   GB_ORIGIN_STRING) == 0) {
          gt_warning("sequence started without prior DEFINITION line in entry "
                     "in line "GT_WU" of file %s",
                     (GtUword) pvt->linenum,
                     gt_str_array_get(pvt->filenametab,
                                     (GtUword) pvt->filenum));
          had_err = eat_line(sb, &currentfileread);
          sbe->state = GB_IN_SEQUENCE;
        } else {
          had_err = eat_line(sb, &currentfileread);
        }
        break;
      case GB_IN_DESCRIPTION:
        if (gt_str_length(sbe->keywordbuffer) == 0)
        {
          had_err = eat_whitespace(sb, &currentfileread);
          if (pvt->descptr)
            gt_desc_buffer_append_char(pvt->descptr, ' ');
          if (!had_err)
            had_err = get_description(sb, &currentfileread);
        } else {
          if (strcmp(gt_str_get(sbe->keywordbuffer),
                     GB_DEFINITION_STRING) == 0) {
            gt_error_set(err, "encountered another DEFINITION line within one "
                              "entry in line "GT_WU" of file %s",
                              (GtUword) pvt->linenum,
                              gt_str_array_get(pvt->filenametab,
                                                (GtUword) pvt->filenum));
            return -1;
          } else {
            if (pvt->descptr) {
              gt_desc_buffer_finish(pvt->descptr);
            }
            sbe->description_set = true;
            if (strcmp(gt_str_get(sbe->keywordbuffer),
                       GB_ORIGIN_STRING) == 0) {
              had_err = eat_line(sb, &currentfileread);
              sbe->state = GB_IN_SEQUENCE;
            } else {
              had_err = eat_line(sb, &currentfileread);
              sbe->state = GB_AWAITING_SEQUENCE;
            }
          }
        }
        break;
      case GB_AWAITING_SEQUENCE:
        if (strcmp(gt_str_get(sbe->keywordbuffer),
                   GB_ORIGIN_STRING) == 0) {
          had_err = eat_line(sb, &currentfileread);
          sbe->state = GB_IN_SEQUENCE;
        } else {
          had_err = eat_line(sb, &currentfileread);
        }
        break;
      case GB_IN_SEQUENCE:
        if (gt_str_length(sbe->keywordbuffer) != 0) {
          gt_error_set(err, "only terminators allowed after a "
                            "sequence section, but found '%s' instead "
                            "in line "GT_WU" of file %s",
                            gt_str_get(sbe->keywordbuffer),
                            (GtUword) pvt->linenum,
                            gt_str_array_get(pvt->filenametab,
                                                (GtUword) pvt->filenum));
          return -1;
        } else {
          had_err = eat_whitespace(sb, &currentfileread);
          if (!had_err)
            had_err = get_sequence(sb, sbe->overflowbuffer, &currentoutpos,
                                   &currentfileread, &currentfileadd, err);
        }
        break;
    }
    /* ensure that line has been read completely */
    if (!had_err)
      had_err = eat_newline(sb, &currentfileread);
    gt_str_reset(sbe->keywordbuffer);
    /* handle end of file */
    if (had_err == EOF) {
      if (pvt->filelengthtab) {
        pvt->filelengthtab[pvt->filenum].length
          += (uint64_t) currentfileread;
        pvt->filelengthtab[pvt->filenum].effectivelength
          += (uint64_t) currentfileadd;
      }
      if (pvt->filenum+1 < gt_str_array_size(pvt->filenametab)) {
        pvt->filenum++;
        /* still files left, open next one */
        gt_file_delete(pvt->inputstream);
        sbe->state = GB_OUT_OF_ENTRY;
        pvt->linenum = (uint64_t) 0;
        pvt->inputstream = gt_file_xopen(gt_str_array_get(pvt->filenametab,
                                                  (GtUword) pvt->filenum),
                                            "rb");
        if (pvt->filelengthtab) {
          pvt->filelengthtab[pvt->filenum].length = 0;
          pvt->filelengthtab[pvt->filenum].effectivelength = 0;
        }
        pvt->currentinpos = 0;
        pvt->currentfillpos = 0;
        currentfileread = currentfileadd = 0;
      } else {
        /* all files exhausted */
        pvt->complete = true;
        /* remove last separator */
        pvt->outbuf[--currentoutpos] = (GtUchar) '\0';
        if (pvt->filelengthtab) {
          pvt->filelengthtab[pvt->filenum].effectivelength--;
        }
        had_err = 0;
        break;
      }
    }
    pvt->linenum++;
  }
  pvt->nextfree = GT_MIN(currentoutpos, OUTBUFSIZE);
  return had_err;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rsi, %rbx
movq %rdi, %r14
movq $0x0, (%rsp)
testq %rsi, %rsi
je 0x81a45
movq %rbx, %rdi
callq 0x3566a
testb %al, %al
jne 0x82d49
leaq 0xcddfc(%rip), %rdi     # 0x14f848
movq %r14, %rsi
callq 0x7f396
movq %rax, %r13
movq 0x8(%r14), %r12
cmpq $0x0, 0x28(%r12)
jne 0x81a9f
movl $0x0, 0x2c(%r13)
movq $0x1, 0x8(%r12)
movq 0x70(%r12), %rdi
movl (%r12), %esi
callq 0x3d3e2
leaq 0x6c1b5(%rip), %rsi     # 0xedc3e
movq %rax, %rdi
callq 0x756a8
movq %rax, 0x28(%r12)
xorps %xmm0, %xmm0
movups %xmm0, 0x40(%r12)
movq 0x18(%r13), %rdi
callq 0x3c434
xorl %ebp, %ebp
testq %rax, %rax
movq %r12, 0x10(%rsp)
movq %r13, 0x8(%rsp)
movq %rbx, 0x20(%rsp)
je 0x81ba2
movq 0x18(%r13), %rdi
callq 0x3c425
movq %rax, %r12
movq 0x18(%r13), %rdi
callq 0x3c434
testq %rax, %rax
movq %r13, %rbx
je 0x81bad
xorl %r15d, %r15d
movb (%r12,%r15), %al
movq 0x8(%r14), %r13
movq 0x6080(%r13), %rdx
movl %eax, %ecx
testq %rdx, %rdx
je 0x81b77
movzbl %al, %ebx
movzbl (%rdx,%rbx), %ecx
cmpq $0xfd, %rcx
jne 0x81b3c
movq 0x70(%r13), %rdi
movl (%r13), %esi
callq 0x3d3e2
movq 0x8(%r13), %r8
movq 0x20(%rsp), %rdi
leaq 0x7183b(%rip), %rsi     # 0xf3364
movl %ebx, %edx
movq %rax, %rcx
xorl %eax, %eax
callq 0x3559f
movq 0x8(%rsp), %rbx
jmp 0x81b8b
leaq 0x60(%r13), %rdx
movq 0x60(%r13), %rsi
cmpb $-0x3, %cl
jbe 0x81b50
movq 0x8(%rsp), %rbx
jmp 0x81b71
testq %rsi, %rsi
movq 0x8(%rsp), %rbx
je 0x81b61
movq $0x0, (%rdx)
movq 0x38(%r13), %rdx
testq %rdx, %rdx
je 0x81b77
leaq (%rdx,%rcx,8), %rdx
movq (%rdx), %rsi
incq %rsi
movq %rsi, (%rdx)
movb %cl, 0x2079(%r13,%r15)
movb %al, 0x4079(%r13,%r15)
incq 0x68(%r13)
incq %r15
movq 0x18(%rbx), %rdi
callq 0x3c434
cmpq %rax, %r15
jb 0x81ae6
jmp 0x81bb0
xorl %r15d, %r15d
movq %r13, %rbx
movq %r12, %r13
jmp 0x81bd0
xorl %r15d, %r15d
movq 0x18(%rbx), %rdi
callq 0x3c49c
movq 0x18(%rbx), %rdi
callq 0x3c434
testq %rax, %rax
movq 0x10(%rsp), %r13
jne 0x82d4e
cmpq $0x1fff, %r15           # imm = 0x1FFF
jbe 0x81c0a
movq %r15, 0x18(%rsp)
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x82c89
movq (%rsp), %rcx
movl (%r13), %edx
shlq $0x4, %rdx
addq %rcx, (%rax,%rdx)
movq 0x18(%rsp), %rcx
addq %rcx, 0x8(%rax,%rdx)
jmp 0x82c89
leaq 0x40(%r13), %rax
movq %rax, 0x30(%rsp)
movq %r15, 0x18(%rsp)
movq 0x20(%rbx), %rsi
movq %r14, %rdi
movq %rsp, %rdx
callq 0x82e8e
movl %eax, %ebp
testl %eax, %eax
jne 0x81d35
movq 0x20(%rbx), %rdi
callq 0x3c40b
movq %rax, %rdi
leaq 0x6dc27(%rip), %rsi     # 0xef86b
callq 0xb890
testl %eax, %eax
jne 0x81d35
movb $-0x1, 0x2079(%r13,%r15)
incq 0x60(%r13)
cmpb $0x0, 0x29(%rbx)
jne 0x81c72
movq 0x20(%r13), %rdi
testq %rdi, %rdi
je 0x81c72
callq 0xa44e6
incq %r15
incq 0x18(%rsp)
movb $0x0, 0x29(%rbx)
movq (%rsp), %rbx
movq 0x8(%r14), %r12
cmpb $0x1, 0x19(%r12)
jne 0x81c9c
movb $0x0, 0x19(%r12)
movzbl 0x78(%r12), %eax
jmp 0x81ce9
movq 0x48(%r12), %rax
cmpq 0x40(%r12), %rax
jb 0x81cd0
movq 0x28(%r12), %rdi
leaq 0x79(%r12), %rsi
movl $0x2000, %edx           # imm = 0x2000
callq 0x75a89
cltq
movq %rax, 0x40(%r12)
testl %eax, %eax
je 0x81cfc
movq $0x0, 0x48(%r12)
movq 0x48(%r12), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x48(%r12)
movzbl 0x79(%r12,%rax), %eax
movb %al, 0x78(%r12)
cmpl $-0x1, %eax
je 0x82c83
incq %rbx
cmpl $0xa, %eax
jne 0x81c82
jmp 0x81d03
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jmp 0x81ce9
movq %rbx, (%rsp)
movq 0x8(%r14), %rcx
cmpb $0x1, 0x19(%rcx)
je 0x82d5d
decq %rbx
movb $0x1, 0x19(%rcx)
movq %rbx, (%rsp)
cmpl $-0x1, %eax
je 0x82c87
movq 0x8(%rsp), %rbx
movl $0x0, 0x2c(%rbx)
movl 0x2c(%rbx), %eax
cmpq $0x4, %rax
ja 0x82b0d
leaq 0x71807(%rip), %rcx     # 0xf3550
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
testl %ebp, %ebp
jne 0x81d7b
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rdi
callq 0x3c40b
movq %rax, %rdi
leaq 0x71839(%rip), %rsi     # 0xf35a7
callq 0xb890
testl %eax, %eax
je 0x8271e
movq (%rsp), %rbx
movq 0x8(%r14), %r12
cmpb $0x1, 0x19(%r12)
jne 0x81d99
movb $0x0, 0x19(%r12)
movzbl 0x78(%r12), %eax
jmp 0x81de6
movq 0x48(%r12), %rax
cmpq 0x40(%r12), %rax
jb 0x81dcd
movq 0x28(%r12), %rdi
leaq 0x79(%r12), %rsi
movl $0x2000, %edx           # imm = 0x2000
callq 0x75a89
cltq
movq %rax, 0x40(%r12)
testl %eax, %eax
je 0x81dfc
movq $0x0, 0x48(%r12)
movq 0x48(%r12), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x48(%r12)
movzbl 0x79(%r12,%rax), %eax
movb %al, 0x78(%r12)
cmpl $-0x1, %eax
je 0x821d0
incq %rbx
cmpl $0xa, %eax
jne 0x81d7f
jmp 0x821de
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jmp 0x81de6
movq 0x20(%rbx), %rdi
callq 0x3c434
testq %rax, %rax
jne 0x82cd5
movq (%rsp), %rax
movq %rax, %rbx
movq 0x8(%r14), %r13
cmpb $0x1, 0x19(%r13)
jne 0x81e33
movb $0x0, 0x19(%r13)
movzbl 0x78(%r13), %r12d
jmp 0x81e77
movq 0x48(%r13), %rax
cmpq 0x40(%r13), %rax
jb 0x81e61
movq 0x28(%r13), %rdi
leaq 0x79(%r13), %rsi
movl $0x2000, %edx           # imm = 0x2000
callq 0x75a89
cltq
movq %rax, 0x40(%r13)
testl %eax, %eax
je 0x81eaa
movq $0x0, 0x48(%r13)
movq 0x48(%r13), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x48(%r13)
movzbl 0x79(%r13,%rax), %r12d
movb %r12b, 0x78(%r13)
cmpl $-0x1, %r12d
je 0x823e6
cmpl $0xa, %r12d
je 0x82112
callq 0xb6e0
movq (%rax), %rcx
movl %r12d, %edx
leaq 0x1(%rbx), %rax
testb $0x20, 0x1(%rcx,%rdx,2)
jne 0x81e19
jmp 0x82112
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
jmp 0x81e77
movq 0x20(%rbx), %rdi
callq 0x3c434
testq %rax, %rax
je 0x82202
movq 0x20(%rbx), %rdi
callq 0x3c40b
movq %rax, %rdi
leaq 0x716d6(%rip), %rsi     # 0xf35ad
callq 0xb890
testl %eax, %eax
je 0x82d10
movq 0x20(%r13), %rdi
testq %rdi, %rdi
je 0x81ef2
callq 0xa44e6
movb $0x1, 0x29(%rbx)
movq 0x20(%rbx), %rdi
callq 0x3c40b
movq %rax, %rdi
leaq 0x716af(%rip), %rsi     # 0xf35b8
callq 0xb890
movq (%rsp), %rcx
testl %eax, %eax
je 0x82353
movq %rcx, %rbx
movq 0x8(%r14), %r12
cmpb $0x1, 0x19(%r12)
jne 0x81f37
movb $0x0, 0x19(%r12)
movzbl 0x78(%r12), %eax
jmp 0x81f84
movq 0x48(%r12), %rax
cmpq 0x40(%r12), %rax
jb 0x81f6b
movq 0x28(%r12), %rdi
leaq 0x79(%r12), %rsi
movl $0x2000, %edx           # imm = 0x2000
callq 0x75a89
cltq
movq %rax, 0x40(%r12)
testl %eax, %eax
je 0x81f9b
movq $0x0, 0x48(%r12)
movq 0x48(%r12), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x48(%r12)
movzbl 0x79(%r12,%rax), %eax
movb %al, 0x78(%r12)
cmpl $-0x1, %eax
je 0x826a7
leaq 0x1(%rbx), %rcx
cmpl $0xa, %eax
jne 0x81f1a
jmp 0x826f1
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jmp 0x81f84
movq 0x20(%rbx), %rdi
callq 0x3c40b
movq %rax, %rdi
leaq 0x71603(%rip), %rsi     # 0xf35b8
callq 0xb890
movq (%rsp), %rbx
testl %eax, %eax
je 0x8213a
movq 0x8(%r14), %r12
cmpb $0x1, 0x19(%r12)
jne 0x81fe0
movb $0x0, 0x19(%r12)
movzbl 0x78(%r12), %eax
jmp 0x8202d
movq 0x48(%r12), %rax
cmpq 0x40(%r12), %rax
jb 0x82014
movq 0x28(%r12), %rdi
leaq 0x79(%r12), %rsi
movl $0x2000, %edx           # imm = 0x2000
callq 0x75a89
cltq
movq %rax, 0x40(%r12)
testl %eax, %eax
je 0x82043
movq $0x0, 0x48(%r12)
movq 0x48(%r12), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x48(%r12)
movzbl 0x79(%r12,%rax), %eax
movb %al, 0x78(%r12)
cmpl $-0x1, %eax
je 0x821c2
incq %rbx
cmpl $0xa, %eax
jne 0x81fc6
jmp 0x824a2
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jmp 0x8202d
movq 0x20(%rbx), %rdi
callq 0x3c40b
movq %rax, %rdi
leaq 0x71550(%rip), %rsi     # 0xf35ad
callq 0xb890
testl %eax, %eax
je 0x822a7
movq 0x20(%rbx), %rdi
callq 0x3c40b
movq %rax, %rdi
leaq 0x7153b(%rip), %rsi     # 0xf35b8
callq 0xb890
testl %eax, %eax
je 0x825d5
movq (%rsp), %rbx
movq 0x8(%r14), %r12
cmpb $0x1, 0x19(%r12)
jne 0x820a8
movb $0x0, 0x19(%r12)
movzbl 0x78(%r12), %eax
jmp 0x820f5
movq 0x48(%r12), %rax
cmpq 0x40(%r12), %rax
jb 0x820dc
movq 0x28(%r12), %rdi
leaq 0x79(%r12), %rsi
movl $0x2000, %edx           # imm = 0x2000
callq 0x75a89
cltq
movq %rax, 0x40(%r12)
testl %eax, %eax
je 0x8210b
movq $0x0, 0x48(%r12)
movq 0x48(%r12), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x48(%r12)
movzbl 0x79(%r12,%rax), %eax
movb %al, 0x78(%r12)
cmpl $-0x1, %eax
je 0x821c2
incq %rbx
cmpl $0xa, %eax
jne 0x8208e
jmp 0x826ae
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jmp 0x820f5
leaq 0x1(%rbx), %rax
movq %rax, (%rsp)
movq 0x8(%r14), %rax
cmpb $0x1, 0x19(%rax)
je 0x82d53
movb $0x1, 0x19(%rax)
xorl %ebp, %ebp
jmp 0x823eb
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jmp 0x82193
movq %rbx, %r13
movq 0x8(%r14), %rbx
cmpb $0x1, 0x19(%rbx)
jne 0x82151
movb $0x0, 0x19(%rbx)
movzbl 0x78(%rbx), %eax
jmp 0x82193
movq 0x48(%rbx), %rax
cmpq 0x40(%rbx), %rax
jb 0x8217f
movq 0x28(%rbx), %rdi
leaq 0x79(%rbx), %rsi
movl $0x2000, %edx           # imm = 0x2000
callq 0x75a89
cltq
movq %rax, 0x40(%rbx)
testl %eax, %eax
je 0x82133
movq $0x0, 0x48(%rbx)
movq 0x48(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x48(%rbx)
movzbl 0x79(%rbx,%rax), %eax
movb %al, 0x78(%rbx)
cmpl $-0x1, %eax
je 0x826d2
leaq 0x1(%r13), %rbx
cmpl $0xa, %eax
jne 0x8213a
movq %rbx, (%rsp)
movq 0x8(%r14), %rax
cmpb $0x1, 0x19(%rax)
je 0x82d80
movb $0x1, 0x19(%rax)
xorl %ebp, %ebp
jmp 0x826d7
movq %rbx, (%rsp)
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jmp 0x82b08
movq %rbx, (%rsp)
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jmp 0x82b03
movq %rbx, (%rsp)
movq 0x8(%r14), %rax
cmpb $0x1, 0x19(%rax)
je 0x82d58
decq %rbx
movb $0x1, 0x19(%rax)
movq %rbx, (%rsp)
xorl %ebp, %ebp
jmp 0x82b03
movq (%rsp), %rax
movq %rax, %rbx
movq 0x8(%r14), %r12
cmpb $0x1, 0x19(%r12)
jne 0x82223
movb $0x0, 0x19(%r12)
movzbl 0x78(%r12), %ebp
jmp 0x82270
movq 0x48(%r12), %rax
cmpq 0x40(%r12), %rax
jb 0x82257
movq 0x28(%r12), %rdi
leaq 0x79(%r12), %rsi
movl $0x2000, %edx           # imm = 0x2000
callq 0x75a89
cltq
movq %rax, 0x40(%r12)
testl %eax, %eax
je 0x822a0
movq $0x0, 0x48(%r12)
movq 0x48(%r12), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x48(%r12)
movzbl 0x79(%r12,%rax), %ebp
movb %bpl, 0x78(%r12)
cmpl $-0x1, %ebp
je 0x8253f
cmpl $0xa, %ebp
je 0x82525
callq 0xb6e0
movq (%rax), %rcx
movl %ebp, %edx
leaq 0x1(%rbx), %rax
testb $0x20, 0x1(%rcx,%rdx,2)
jne 0x82206
jmp 0x82525
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jmp 0x82270
movq (%rsp), %rax
movq %rax, %rbx
movq 0x8(%r14), %r12
cmpb $0x1, 0x19(%r12)
jne 0x822c8
movb $0x0, 0x19(%r12)
movzbl 0x78(%r12), %ebp
jmp 0x82315
movq 0x48(%r12), %rax
cmpq 0x40(%r12), %rax
jb 0x822fc
movq 0x28(%r12), %rdi
leaq 0x79(%r12), %rsi
movl $0x2000, %edx           # imm = 0x2000
callq 0x75a89
cltq
movq %rax, 0x40(%r12)
testl %eax, %eax
je 0x82345
movq $0x0, 0x48(%r12)
movq 0x48(%r12), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x48(%r12)
movzbl 0x79(%r12,%rax), %ebp
movb %bpl, 0x78(%r12)
cmpl $-0x1, %ebp
je 0x82590
cmpl $0xa, %ebp
je 0x82576
callq 0xb6e0
movq (%rax), %rcx
movl %ebp, %edx
leaq 0x1(%rbx), %rax
testb $0x20, 0x1(%rcx,%rdx,2)
jne 0x822ab
jmp 0x82576
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jmp 0x82315
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jmp 0x823bd
movq %rcx, %rbx
movq 0x8(%r14), %r12
cmpb $0x1, 0x19(%r12)
jne 0x82370
movb $0x0, 0x19(%r12)
movzbl 0x78(%r12), %eax
jmp 0x823bd
movq 0x48(%r12), %rax
cmpq 0x40(%r12), %rax
jb 0x823a4
movq 0x28(%r12), %rdi
leaq 0x79(%r12), %rsi
movl $0x2000, %edx           # imm = 0x2000
callq 0x75a89
cltq
movq %rax, 0x40(%r12)
testl %eax, %eax
je 0x8234c
movq $0x0, 0x48(%r12)
movq 0x48(%r12), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x48(%r12)
movzbl 0x79(%r12,%rax), %eax
movb %al, 0x78(%r12)
cmpl $-0x1, %eax
je 0x82682
leaq 0x1(%rbx), %rcx
cmpl $0xa, %eax
jne 0x82353
movq %rcx, (%rsp)
movq 0x8(%r14), %rax
cmpb $0x1, 0x19(%rax)
jne 0x827fb
jmp 0x82d8a
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq %rbx, (%rsp)
cmpl $-0x1, %r12d
je 0x82b03
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x28(%rsp)
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq (%rsp), %rbx
movq 0x8(%r14), %r12
cmpb $0x1, 0x19(%r12)
jne 0x8242a
movb $0x0, 0x19(%r12)
movzbl 0x78(%r12), %r13d
jmp 0x82477
movq 0x48(%r12), %rax
cmpq 0x40(%r12), %rax
jb 0x8245e
movq 0x28(%r12), %rdi
leaq 0x79(%r12), %rsi
movl $0x2000, %edx           # imm = 0x2000
callq 0x75a89
cltq
movq %rax, 0x40(%r12)
testl %eax, %eax
je 0x8249a
movq $0x0, 0x48(%r12)
movq 0x48(%r12), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x48(%r12)
movzbl 0x79(%r12,%rax), %r13d
movb %r13b, 0x78(%r12)
cmpl $-0x1, %r13d
je 0x824b9
incq %rbx
callq 0xb6e0
movq (%rax), %rax
movl %r13d, %ecx
incl %ebp
testb $0x8, 0x1(%rax,%rcx,2)
jne 0x82410
jmp 0x824c9
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
jmp 0x82477
movq %rbx, (%rsp)
movq 0x8(%r14), %rax
cmpb $0x1, 0x19(%rax)
jne 0x826c0
jmp 0x82d62
movq %rbx, (%rsp)
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq 0x10(%rsp), %r13
jmp 0x824eb
movq %rbx, (%rsp)
movq 0x8(%r14), %rax
cmpb $0x1, 0x19(%rax)
movq 0x10(%rsp), %r13
je 0x82d67
decq %rbx
movb $0x1, 0x19(%rax)
movq %rbx, (%rsp)
cmpl $-0x1, %ebp
movq 0x8(%rsp), %rbx
je 0x82b0d
testl %ebp, %ebp
jne 0x8268c
movq 0x8(%r14), %rax
movq 0x8(%rax), %rbx
movq 0x70(%rax), %rdi
movl (%rax), %esi
callq 0x3d3e2
movq 0x20(%rsp), %rdi
leaq 0x71229(%rip), %rsi     # 0xf3749
jmp 0x82add
leaq 0x1(%rbx), %rax
movq %rax, (%rsp)
movq 0x8(%r14), %rax
cmpb $0x1, 0x19(%rax)
je 0x82d6c
movb $0x1, 0x19(%rax)
movq %rbx, (%rsp)
movq 0x20(%r13), %rdi
testq %rdi, %rdi
je 0x82556
movl $0x20, %esi
callq 0xa4434
cmpl $-0x1, %ebp
movq 0x8(%rsp), %rbx
je 0x82a0f
movq %r14, %rdi
movq %rsp, %rsi
callq 0x82fe1
movl %eax, %ebp
jmp 0x82b0d
leaq 0x1(%rbx), %rax
movq %rax, (%rsp)
movq 0x8(%r14), %rax
cmpb $0x1, 0x19(%rax)
je 0x82d71
movb $0x1, 0x19(%rax)
movq %rbx, (%rsp)
movq 0x20(%r13), %rdi
testq %rdi, %rdi
je 0x825b5
callq 0xa451b
testq %rax, %rax
je 0x825b5
movq 0x20(%r13), %rdi
movl $0x20, %esi
callq 0xa4434
cmpl $-0x1, %ebp
movq 0x8(%rsp), %rbx
je 0x827d8
movq %r14, %rdi
movq %rsp, %rsi
callq 0x82fe1
movl %eax, %ebp
jmp 0x827dd
movq 0x8(%r13), %rbx
movq 0x70(%r13), %rdi
movl (%r13), %esi
callq 0x3d3e2
leaq 0x70fd2(%rip), %rdi     # 0xf35bf
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x3da84
movq (%rsp), %rcx
movq %rcx, %rbx
movq 0x8(%r14), %r12
cmpb $0x1, 0x19(%r12)
jne 0x8261b
movb $0x0, 0x19(%r12)
movzbl 0x78(%r12), %eax
jmp 0x82668
movq 0x48(%r12), %rax
cmpq 0x40(%r12), %rax
jb 0x8264f
movq 0x28(%r12), %rdi
leaq 0x79(%r12), %rsi
movl $0x2000, %edx           # imm = 0x2000
callq 0x75a89
cltq
movq %rax, 0x40(%r12)
testl %eax, %eax
je 0x8267b
movq $0x0, 0x48(%r12)
movq 0x48(%r12), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x48(%r12)
movzbl 0x79(%r12,%rax), %eax
movb %al, 0x78(%r12)
cmpl $-0x1, %eax
je 0x82682
leaq 0x1(%rbx), %rcx
cmpl $0xa, %eax
jne 0x825fe
jmp 0x827e9
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jmp 0x82668
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jmp 0x82801
movq 0x8(%r14), %rbx
cmpb $0x1, 0x19(%rbx)
jne 0x82816
movb $0x0, 0x19(%rbx)
movzbl 0x78(%rbx), %eax
jmp 0x8285c
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jmp 0x82709
movq %rbx, (%rsp)
movq 0x8(%r14), %rax
cmpb $0x1, 0x19(%rax)
je 0x82d76
decq %rbx
movb $0x1, 0x19(%rax)
movq %rbx, (%rsp)
xorl %ebp, %ebp
jmp 0x82b08
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq 0x8(%rsp), %rbx
movq %r13, (%rsp)
movl $0x4, 0x2c(%rbx)
movq 0x10(%rsp), %r13
jmp 0x82b0d
movq %rcx, (%rsp)
movq 0x8(%r14), %rax
cmpb $0x1, 0x19(%rax)
je 0x82d7b
movb $0x1, 0x19(%rax)
xorl %ebp, %ebp
movq %rbx, (%rsp)
movq 0x8(%rsp), %rbx
movl $0x3, 0x2c(%rbx)
jmp 0x82b0d
movq 0x8(%rsp), %rax
movl $0x1, 0x2c(%rax)
movq 0x20(%rax), %rdi
callq 0x3c49c
movq (%rsp), %rax
movq %rax, %rbx
movq 0x8(%r14), %r12
cmpb $0x1, 0x19(%r12)
jne 0x82754
movb $0x0, 0x19(%r12)
movzbl 0x78(%r12), %ebp
jmp 0x827a1
movq 0x48(%r12), %rax
cmpq 0x40(%r12), %rax
jb 0x82788
movq 0x28(%r12), %rdi
leaq 0x79(%r12), %rsi
movl $0x2000, %edx           # imm = 0x2000
callq 0x75a89
cltq
movq %rax, 0x40(%r12)
testl %eax, %eax
je 0x827d1
movq $0x0, 0x48(%r12)
movq 0x48(%r12), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x48(%r12)
movzbl 0x79(%r12,%rax), %ebp
movb %bpl, 0x78(%r12)
cmpl $-0x1, %ebp
je 0x82af1
cmpl $0xa, %ebp
je 0x82a19
callq 0xb6e0
movq (%rax), %rcx
movl %ebp, %edx
leaq 0x1(%rbx), %rax
testb $0x20, 0x1(%rcx,%rdx,2)
jne 0x82737
jmp 0x82a19
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jmp 0x827a1
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movl $0x2, 0x2c(%rbx)
jmp 0x82b0d
movq %rcx, (%rsp)
movq 0x8(%r14), %rax
cmpb $0x1, 0x19(%rax)
je 0x82d85
movb $0x1, 0x19(%rax)
xorl %ebp, %ebp
movq %rbx, (%rsp)
movq 0x8(%rsp), %rbx
movl $0x4, 0x2c(%rbx)
jmp 0x82b0d
movq 0x48(%rbx), %rax
cmpq 0x40(%rbx), %rax
jb 0x82848
movq 0x28(%rbx), %rdi
leaq 0x79(%rbx), %rsi
movl $0x2000, %edx           # imm = 0x2000
callq 0x75a89
cltq
movq %rax, 0x40(%rbx)
testl %eax, %eax
je 0x82c71
movq $0x0, 0x48(%rbx)
movq 0x48(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x48(%rbx)
movzbl 0x79(%rbx,%rax), %eax
movb %al, 0x78(%rbx)
cmpl $-0x1, %eax
movq 0x8(%rsp), %rbx
je 0x82a0f
incq (%rsp)
cmpl $0x20, %eax
jne 0x82abe
movq (%rsp), %rbx
movq 0x8(%r14), %r12
cmpb $0x1, 0x19(%r12)
jne 0x82895
movb $0x0, 0x19(%r12)
movzbl 0x78(%r12), %r13d
jmp 0x828e6
movq 0x48(%r12), %rax
cmpq 0x40(%r12), %rax
jb 0x828cd
movq 0x28(%r12), %rdi
leaq 0x79(%r12), %rsi
movl $0x2000, %edx           # imm = 0x2000
callq 0x75a89
cltq
movq %rax, 0x40(%r12)
testl %eax, %eax
je 0x8297f
movq $0x0, 0x48(%r12)
movq 0x48(%r12), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x48(%r12)
movzbl 0x79(%r12,%rax), %r13d
movb %r13b, 0x78(%r12)
cmpl $-0x1, %r13d
je 0x82afa
callq 0xb6e0
movq (%rax), %rax
movl %r13d, %ecx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x829e6
cmpq $0x2000, %r15           # imm = 0x2000
jb 0x82922
movsbl %r13b, %esi
movq 0x28(%rsp), %rdi
callq 0x3c28d
jmp 0x829e6
movq 0x8(%r14), %r12
movq 0x6080(%r12), %rcx
movl %r13d, %eax
testq %rcx, %rcx
je 0x829bb
movzbl %r13b, %ebp
movzbl (%rcx,%rbp), %eax
cmpq $0xfd, %rax
jne 0x8298a
movq 0x70(%r12), %rdi
movl (%r12), %esi
callq 0x3d3e2
movq 0x8(%r12), %r8
xorl %r12d, %r12d
movq 0x20(%rsp), %rdi
leaq 0x709f8(%rip), %rsi     # 0xf3364
movl %ebp, %edx
movq %rax, %rcx
xorl %eax, %eax
callq 0x3559f
movl $0xfffffffe, %ebp       # imm = 0xFFFFFFFE
jmp 0x829d5
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
jmp 0x828e6
leaq 0x60(%r12), %rcx
movq 0x60(%r12), %rdx
cmpb $-0x3, %al
ja 0x829b5
testq %rdx, %rdx
je 0x829a4
movq $0x0, (%rcx)
movq 0x38(%r12), %rcx
testq %rcx, %rcx
je 0x829bb
leaq (%rcx,%rax,8), %rcx
movq (%rcx), %rdx
incq %rdx
movq %rdx, (%rcx)
movb %al, 0x2079(%r12,%r15)
movb %r13b, 0x4079(%r12,%r15)
incq 0x68(%r12)
xorl %ebp, %ebp
movb $0x1, %r12b
testb %r12b, %r12b
je 0x82c7b
incq %r15
incq 0x18(%rsp)
incq %rbx
cmpl $0xa, %r13d
movq 0x10(%rsp), %r13
jne 0x8287b
movq %rbx, (%rsp)
movq 0x8(%r14), %rax
cmpb $0x1, 0x19(%rax)
jne 0x826c0
jmp 0x82d94
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jmp 0x82b0d
leaq 0x1(%rbx), %rax
movq %rax, (%rsp)
movq 0x8(%r14), %rax
cmpb $0x1, 0x19(%rax)
je 0x82d8f
movb $0x1, 0x19(%rax)
movq %rbx, (%rsp)
cmpl $-0x1, %ebp
je 0x81d7b
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rsi
movq %r14, %rdi
movq %rsp, %rdx
callq 0x82e8e
testl %eax, %eax
jne 0x81d7b
movq 0x8(%r14), %rax
cmpq $0x0, 0x20(%rax)
je 0x81d7b
movq 0x8(%rsp), %rbx
movq 0x20(%rbx), %rdi
callq 0x3c40b
movq %rax, %r13
movq 0x20(%rbx), %rdi
callq 0x3c434
testq %rax, %rax
je 0x81d7b
xorl %ebx, %ebx
movq 0x8(%r14), %rax
movq 0x20(%rax), %rdi
movsbl (%r13,%rbx), %esi
callq 0xa4434
incq %rbx
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rdi
callq 0x3c434
cmpq %rax, %rbx
jb 0x82a90
jmp 0x81d7b
movq 0x8(%r14), %rax
movq 0x8(%rax), %rbx
movq 0x70(%rax), %rdi
movl (%rax), %esi
callq 0x3d3e2
movq 0x20(%rsp), %rdi
leaq 0x70ca3(%rip), %rsi     # 0xf3780
movq %rbx, %rdx
movq %rax, %rcx
xorl %eax, %eax
callq 0x3559f
movl $0xfffffffe, %ebp       # imm = 0xFFFFFFFE
jmp 0x82b08
movq %rbx, (%rsp)
jmp 0x81d7b
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq %rbx, (%rsp)
movq 0x10(%rsp), %r13
movq 0x8(%rsp), %rbx
testl %ebp, %ebp
jne 0x82b8a
movq 0x8(%r14), %rbx
cmpb $0x1, 0x19(%rbx)
jne 0x82b25
movb $0x0, 0x19(%rbx)
movzbl 0x78(%rbx), %eax
jmp 0x82b6b
movq 0x48(%rbx), %rax
cmpq 0x40(%rbx), %rax
jb 0x82b57
movq 0x28(%rbx), %rdi
leaq 0x79(%rbx), %rsi
movl $0x2000, %edx           # imm = 0x2000
callq 0x75a89
cltq
movq %rax, 0x40(%rbx)
testl %eax, %eax
je 0x82c67
movq $0x0, 0x48(%rbx)
movq 0x48(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x48(%rbx)
movzbl 0x79(%rbx,%rax), %eax
movb %al, 0x78(%rbx)
cmpl $-0x1, %eax
movq 0x8(%rsp), %rbx
je 0x82b85
incq (%rsp)
xorl %ebp, %ebp
cmpl $0xa, %eax
je 0x82b8a
jmp 0x82d44
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq 0x20(%rbx), %rdi
callq 0x3c49c
cmpl $-0x1, %ebp
jne 0x82c49
movq 0x10(%r13), %rax
testq %rax, %rax
je 0x82bbf
movq (%rsp), %rcx
movl (%r13), %edx
shlq $0x4, %rdx
addq %rcx, (%rax,%rdx)
movq 0x18(%rsp), %rcx
addq %rcx, 0x8(%rax,%rdx)
movl (%r13), %ebx
incl %ebx
movq 0x70(%r13), %rdi
callq 0x3d560
cmpq %rbx, %rax
jbe 0x82caa
incl (%r13)
movq 0x28(%r13), %rdi
callq 0x75b7c
movq 0x8(%rsp), %rbx
movl $0x0, 0x2c(%rbx)
movq $0x0, 0x8(%r13)
movq 0x70(%r13), %rdi
movl (%r13), %esi
callq 0x3d3e2
movq %rax, %rdi
leaq 0x6b02f(%rip), %rsi     # 0xedc3e
callq 0x756a8
movq %rax, 0x28(%r13)
movq 0x10(%r13), %rax
testq %rax, %rax
xorps %xmm0, %xmm0
je 0x82c30
movl (%r13), %ecx
shlq $0x4, %rcx
movups %xmm0, (%rax,%rcx)
movq 0x30(%rsp), %rax
movups %xmm0, (%rax)
movq $0x0, (%rsp)
movq $0x0, 0x18(%rsp)
incq 0x8(%r13)
leal -0x1(%rbp), %eax
cmpl $-0x2, %eax
jb 0x82c89
cmpq $0x2000, %r15           # imm = 0x2000
jb 0x81c18
jmp 0x81bde
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jmp 0x82b6b
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jmp 0x8285c
incq %rbx
jmp 0x82aff
movq %rbx, (%rsp)
xorl %ebp, %ebp
movl $0x2000, %eax           # imm = 0x2000
cmpq %rax, %r15
cmovbq %r15, %rax
movq %rax, 0x58(%r13)
movl %ebp, %eax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movb $0x1, 0x18(%r13)
movb $0x0, 0x2078(%r13,%r15)
decq %r15
movq 0x10(%r13), %rax
xorl %ebp, %ebp
testq %rax, %rax
je 0x82c89
movl (%r13), %ecx
shlq $0x4, %rcx
decq 0x8(%rax,%rcx)
jmp 0x82c89
movq 0x20(%rbx), %rdi
callq 0x3c40b
movq %rax, %rbx
movq 0x8(%r13), %r14
movq 0x70(%r13), %rdi
movl (%r13), %esi
callq 0x3d3e2
leaq 0x70961(%rip), %rsi     # 0xf365a
movq 0x20(%rsp), %rdi
movq %rbx, %rdx
movq %r14, %rcx
movq %rax, %r8
xorl %eax, %eax
callq 0x3559f
jmp 0x82d3a
movq 0x8(%r13), %rbx
movq 0x70(%r13), %rdi
movl (%r13), %esi
callq 0x3d3e2
leaq 0x708e6(%rip), %rsi     # 0xf360e
movq 0x20(%rsp), %rdi
movq %rbx, %rdx
movq %rax, %rcx
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jmp 0x82c99
callq 0x1e4d6
callq 0x1e199
callq 0x1e1d2
callq 0x1e20b
callq 0x1e49f
callq 0x1e50d
callq 0x1e2b0
callq 0x1e242
callq 0x1e38c
callq 0x1e431
callq 0x1e3c3
callq 0x1e31e
callq 0x1e2e7
callq 0x1e3fa
callq 0x1e355
callq 0x1e468
callq 0x1e279