// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/encseq.c
// Function: gt_encseq_new_from_index
static GtEncseq* gt_encseq_new_from_index(const char *indexname,
                                          bool withdestab,
                                          bool withsdstab,
                                          bool withssptab,
                                          bool withoistab,
                                          bool withmd5tab,
                                          GtLogger *logger,
                                          GtError *err)
{
  GtEncseq *encseq = NULL;
  bool haserr = false;
  GtEncseqMetadata *emd = NULL;
  GtAlphabet *alpha = NULL;

  gt_error_check(err);
  if (!haserr) {
    emd = gt_encseq_metadata_new(indexname, err);
    if (emd == NULL)
      haserr = true;
  }
  if (!haserr) {
    alpha = gt_alphabet_ref(gt_encseq_metadata_alphabet(emd));
    if (alpha == NULL)
      haserr = true;
  }
  if (!haserr) {
    GtSpecialcharinfo si;
    Definedunsignedlong equallength;
    GtEncseqAccessType sat;
    GtUword numofdbsequences, totallength;

    si = gt_encseq_metadata_specialcharinfo(emd);
    sat = gt_encseq_metadata_accesstype(emd);
    totallength = gt_encseq_metadata_total_length(emd);
    numofdbsequences = gt_encseq_metadata_num_of_sequences(emd);
    if (sat == GT_ACCESS_TYPE_EQUALLENGTH) {
      GtUword effectivelengthsum;

      equallength.defined = true;
      gt_assert(numofdbsequences > 0);
      gt_assert(totallength >= numofdbsequences - 1);
      effectivelengthsum = totallength - (numofdbsequences - 1);
      gt_assert(effectivelengthsum % numofdbsequences == 0);
      equallength.valueunsignedlong = effectivelengthsum / numofdbsequences;
    }
    else {
      equallength.defined = false;
      equallength.valueunsignedlong = 0;
    }
    encseq
      = determineencseqkeyvalues(sat,
                                 totallength,
                                 numofdbsequences,
                                 gt_encseq_metadata_num_of_files(emd),
                                 gt_encseq_metadata_length_of_filenames(emd),
                                 si.wildcardranges,
                                 si.realexceptionranges,
                                 gt_encseq_metadata_min_seq_length(emd),
                                 gt_encseq_metadata_max_seq_length(emd),
                                 withoistab,
                                 false,
                                 &equallength,
                                 alpha,
                                 gt_encseq_metadata_has_custom_alphabet(emd),
                                 logger);
    alpha = NULL;
    ALLASSIGNAPPENDFUNC(gt_encseq_metadata_accesstype(emd), encseq->satsep);
    encseq->getexceptionmapping =
      encodedseqfunctab[(int) sat].getexceptionmapping.function;
    if (fillencseqmapspecstartptr(encseq, indexname, logger, err) != 0)
      haserr = true;
  }
  if (!haserr) {
    gt_assert(encseq != NULL);
    encseq->indexname = gt_cstr_dup(indexname);
  }
  if (!haserr) {
    gt_assert(encseq != NULL);
    encseq->leastprobablecharacter = determineleastprobablecharacter(
                                       encseq->alpha,
                                       encseq->headerptr.characterdistribution);
  }
  if (!haserr && withdestab) {
    size_t numofbytes;

    gt_assert(encseq != NULL);
    encseq->destab = gt_fa_mmap_read_with_suffix(indexname,
                                                 GT_DESTABFILESUFFIX,
                                                 &numofbytes,
                                                 err);
    encseq->destablength = (GtUword) numofbytes;
    if (encseq->destab == NULL)
      haserr = true;
  }
  if (!haserr && withsdstab) {
    gt_assert(encseq != NULL);
    if (encseq->numofdbsequences > 1UL) {
      encseq->sdstab =
        gt_fa_mmap_check_size_with_suffix(indexname,
                                          GT_SDSTABFILESUFFIX,
                                          encseq->numofdbsequences - 1,
                                          sizeof (*encseq->sdstab),
                                          err);
      if (encseq->sdstab == NULL)
        haserr = true;
    }
    else
      encseq->sdstab = NULL;
  }
  if (!haserr && encseq != NULL &&
      (withssptab || encseq->accesstype_via_utables) &&
      encseq->sat != GT_ACCESS_TYPE_EQUALLENGTH) {
    gt_assert(encseq != NULL);
    if (encseq->numofdbsequences > 1UL) {
      if (!haserr && fillssptabmapspecstartptr(encseq, indexname, err) != 0)
        haserr = true;
    }
  }
  if (!haserr && withoistab) {
    gt_assert(encseq != NULL);
    encseq->has_exceptiontable = true;
    if (!haserr && filloistabmapspecstartptr(encseq, indexname, err) != 0)
      haserr = true;
  }
  if (!haserr && withmd5tab) {
    GtStr *md5fn;
    gt_assert(encseq != NULL);

    md5fn = gt_str_new_cstr(indexname);
    gt_str_append_cstr(md5fn, GT_MD5TABFILESUFFIX);
    encseq->md5_tab = gt_md5_tab_new_from_cache_file(gt_str_get(md5fn),
                                                     encseq->numofdbsequences,
                                                     true,
                                                     err);
    if (!encseq->md5_tab)
      haserr = true;
    gt_str_delete(md5fn);
  }
  if (!haserr) {
    gt_assert(encseq != NULL);
    if (encseq->numofdbfiles > 1UL) {
      GtUword i,
                    nextsep = 0;
      gt_assert(encseq->fsptab == NULL);
      encseq->fsptab = gt_calloc((size_t) encseq->numofdbfiles - 1,
                                 sizeof (GtUword));
      gt_assert(encseq->headerptr.filelengthtab != NULL);
      for (i = 0; i < encseq->numofdbfiles - 1; i++) {
        nextsep += encseq->headerptr.filelengthtab[i].effectivelength;
        if (i != 0)
          nextsep++;
        encseq->fsptab[i] = nextsep;
      }
    }
  }
  gt_encseq_metadata_delete(emd);
  if (haserr) {
    gt_alphabet_delete((GtAlphabet*) alpha);
    if (encseq != NULL) {
      gt_encseq_delete(encseq);
      encseq = NULL;
    }
    return NULL;
  }
  return encseq;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x200, %rsp            # imm = 0x200
movl %r8d, 0x88(%rsp)
movl %ecx, %eax
movl 0x88(%rsp), %ecx
movl %eax, 0x8c(%rsp)
movl %edx, %eax
movl 0x8c(%rsp), %edx
movl %eax, 0x90(%rsp)
movl %esi, %eax
movl 0x90(%rsp), %esi
movl %eax, 0x94(%rsp)
movq %rdi, %r8
movl 0x94(%rsp), %edi
movb %r9b, %al
movq 0x238(%rsp), %r9
movq 0x230(%rsp), %r9
movq %r8, 0x1f0(%rsp)
andb $0x1, %dil
movb %dil, 0x1ef(%rsp)
andb $0x1, %sil
movb %sil, 0x1ee(%rsp)
andb $0x1, %dl
movb %dl, 0x1ed(%rsp)
andb $0x1, %cl
movb %cl, 0x1ec(%rsp)
andb $0x1, %al
movb %al, 0x1eb(%rsp)
movq $0x0, 0x1e0(%rsp)
movb $0x0, 0x1df(%rsp)
movq $0x0, 0x1d0(%rsp)
movq $0x0, 0x1c8(%rsp)
cmpq $0x0, 0x238(%rsp)
je 0x125064
movq 0x238(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0x12502c
jmp 0x125064
movq 0x8efa5(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x39029(%rip), %rsi     # 0x15e066
leaq 0x39604(%rip), %rdx     # 0x15e648
leaq 0x6517e(%rip), %rcx     # 0x18a1c9
leaq 0x6060c(%rip), %r8      # 0x18565e
movl $0x1240, %r9d           # imm = 0x1240
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x125066
testb $0x1, 0x1df(%rsp)
jne 0x1250a2
movq 0x1f0(%rsp), %rdi
movq 0x238(%rsp), %rsi
callq 0x1410b0
movq %rax, 0x1d0(%rsp)
cmpq $0x0, 0x1d0(%rsp)
jne 0x1250a0
movb $0x1, 0x1df(%rsp)
jmp 0x1250a2
testb $0x1, 0x1df(%rsp)
jne 0x1250de
movq 0x1d0(%rsp), %rdi
callq 0x142920
movq %rax, %rdi
callq 0x109130
movq %rax, 0x1c8(%rsp)
cmpq $0x0, 0x1c8(%rsp)
jne 0x1250dc
movb $0x1, 0x1df(%rsp)
jmp 0x1250de
testb $0x1, 0x1df(%rsp)
jne 0x125735
movq 0x1d0(%rsp), %rsi
leaq 0xc0(%rsp), %rdi
callq 0x142d00
leaq 0x158(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
movl $0x70, %edx
callq 0xb500
movq 0x1d0(%rsp), %rdi
callq 0x142cb0
movl %eax, 0x144(%rsp)
movq 0x1d0(%rsp), %rdi
callq 0x142970
movq %rax, 0x130(%rsp)
movq 0x1d0(%rsp), %rdi
callq 0x142b10
movq %rax, 0x138(%rsp)
cmpl $0x2, 0x144(%rsp)
jne 0x12529a
movb $0x1, 0x148(%rsp)
cmpq $0x0, 0x138(%rsp)
ja 0x1251b2
movq 0x8ee57(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x38edb(%rip), %rsi     # 0x15e066
leaq 0x65050(%rip), %rdx     # 0x18a1e2
leaq 0x65030(%rip), %rcx     # 0x18a1c9
leaq 0x604be(%rip), %r8      # 0x18565e
movl $0x1259, %r9d           # imm = 0x1259
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x1251b4
jmp 0x1251b6
movq 0x130(%rsp), %rax
movq 0x138(%rsp), %rcx
subq $0x1, %rcx
cmpq %rcx, %rax
jae 0x125207
movq 0x8ee02(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x38e86(%rip), %rsi     # 0x15e066
leaq 0x65010(%rip), %rdx     # 0x18a1f7
leaq 0x64fdb(%rip), %rcx     # 0x18a1c9
leaq 0x60469(%rip), %r8      # 0x18565e
movl $0x125a, %r9d           # imm = 0x125A
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x125209
movq 0x130(%rsp), %rax
movq 0x138(%rsp), %rcx
subq $0x1, %rcx
subq %rcx, %rax
movq %rax, 0xb8(%rsp)
movq 0xb8(%rsp), %rax
xorl %ecx, %ecx
movl %ecx, %edx
divq 0x138(%rsp)
cmpq $0x0, %rdx
je 0x12527a
movq 0x8ed8f(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x38e13(%rip), %rsi     # 0x15e066
leaq 0x64fc1(%rip), %rdx     # 0x18a21b
leaq 0x64f68(%rip), %rcx     # 0x18a1c9
leaq 0x603f6(%rip), %r8      # 0x18565e
movl $0x125c, %r9d           # imm = 0x125C
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x12527c
movq 0xb8(%rsp), %rax
xorl %ecx, %ecx
movl %ecx, %edx
divq 0x138(%rsp)
movq %rax, 0x150(%rsp)
jmp 0x1252ae
movb $0x0, 0x148(%rsp)
movq $0x0, 0x150(%rsp)
movl 0x144(%rsp), %eax
movl %eax, 0x54(%rsp)
movq 0x130(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x138(%rsp), %rax
movq %rax, 0x60(%rsp)
movq 0x1d0(%rsp), %rdi
callq 0x142b60
movq %rax, 0x68(%rsp)
movq 0x1d0(%rsp), %rdi
callq 0x142bb0
movq %rax, 0x70(%rsp)
movq 0x188(%rsp), %rax
movq %rax, 0x78(%rsp)
movq 0x1c0(%rsp), %rbx
movq 0x1d0(%rsp), %rdi
callq 0x142ac0
movq %rax, %r14
movq 0x1d0(%rsp), %rdi
callq 0x142a70
movq %rax, %r15
movb 0x1ec(%rsp), %al
movb %al, 0x53(%rsp)
movq 0x1c8(%rsp), %r12
movq 0x1d0(%rsp), %rdi
callq 0x142c50
movb 0x53(%rsp), %r10b
movl 0x54(%rsp), %edi
movq 0x58(%rsp), %rsi
movq 0x60(%rsp), %rdx
movq 0x68(%rsp), %rcx
movq 0x70(%rsp), %r8
movq 0x78(%rsp), %r9
movb %al, %r11b
movq 0x230(%rsp), %r13
xorl %eax, %eax
movq %rsp, %rax
movq %rax, 0x80(%rsp)
movq %r13, 0x40(%rax)
movq %r12, 0x30(%rax)
leaq 0x148(%rsp), %r12
movq %r12, 0x28(%rax)
movq %r15, 0x10(%rax)
movq %r14, 0x8(%rax)
movq %rbx, (%rax)
movzbl %r11b, %r11d
andl $0x1, %r11d
movl %r11d, 0x38(%rax)
movzbl %r10b, %r10d
andl $0x1, %r10d
movl %r10d, 0x18(%rax)
movl $0x0, 0x20(%rax)
callq 0x117270
movq %rax, 0x1e0(%rsp)
movq $0x0, 0x1c8(%rsp)
movq 0x1d0(%rsp), %rdi
callq 0x142cb0
movl %eax, %eax
cmpq $0x7, %rax
jb 0x12542a
movq 0x8ebdf(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x38c63(%rip), %rsi     # 0x15e066
leaq 0x64e3c(%rip), %rdx     # 0x18a246
leaq 0x64db8(%rip), %rcx     # 0x18a1c9
leaq 0x60246(%rip), %r8      # 0x18565e
movl $0x1274, %r9d           # imm = 0x1274
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x12542c
movq 0x1e0(%rsp), %rax
testb $0x1, 0x28(%rax)
je 0x12549e
movq 0x1d0(%rsp), %rdi
callq 0x142cb0
movslq %eax, %rcx
leaq 0x9067f(%rip), %rax     # 0x1b5ad0
imulq $0x70, %rcx, %rcx
addq %rcx, %rax
movq 0x28(%rax), %rcx
movq 0x1e0(%rsp), %rax
movq %rcx, 0x110(%rax)
movq 0x1d0(%rsp), %rdi
callq 0x142cb0
movslq %eax, %rcx
leaq 0x9064e(%rip), %rax     # 0x1b5ad0
imulq $0x70, %rcx, %rcx
addq %rcx, %rax
movq 0x20(%rax), %rcx
movq 0x1e0(%rsp), %rax
movq %rcx, 0x118(%rax)
jmp 0x125500
movq 0x1d0(%rsp), %rdi
callq 0x142cb0
movslq %eax, %rcx
leaq 0x9061b(%rip), %rax     # 0x1b5ad0
imulq $0x70, %rcx, %rcx
addq %rcx, %rax
movq 0x18(%rax), %rcx
movq 0x1e0(%rsp), %rax
movq %rcx, 0x110(%rax)
movq 0x1d0(%rsp), %rdi
callq 0x142cb0
movslq %eax, %rcx
leaq 0x905ea(%rip), %rax     # 0x1b5ad0
imulq $0x70, %rcx, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rcx
movq 0x1e0(%rsp), %rax
movq %rcx, 0x118(%rax)
movq 0x1d0(%rsp), %rdi
callq 0x142cb0
movslq %eax, %rcx
leaq 0x905b9(%rip), %rax     # 0x1b5ad0
imulq $0x70, %rcx, %rcx
addq %rcx, %rax
movq 0x38(%rax), %rcx
movq 0x1e0(%rsp), %rax
movq %rcx, 0x120(%rax)
movq 0x1d0(%rsp), %rdi
callq 0x142cb0
movslq %eax, %rcx
leaq 0x90588(%rip), %rax     # 0x1b5ad0
imulq $0x70, %rcx, %rcx
addq %rcx, %rax
movq 0x30(%rax), %rcx
movq 0x1e0(%rsp), %rax
movq %rcx, 0x128(%rax)
movq 0x1d0(%rsp), %rdi
callq 0x142cb0
movslq %eax, %rcx
leaq 0x90557(%rip), %rax     # 0x1b5ad0
imulq $0x70, %rcx, %rcx
addq %rcx, %rax
movq 0x48(%rax), %rcx
movq 0x1e0(%rsp), %rax
movq %rcx, 0x140(%rax)
movq 0x1d0(%rsp), %rdi
callq 0x142cb0
movslq %eax, %rcx
leaq 0x90526(%rip), %rax     # 0x1b5ad0
imulq $0x70, %rcx, %rcx
addq %rcx, %rax
movq 0x40(%rax), %rcx
movq 0x1e0(%rsp), %rax
movq %rcx, 0x148(%rax)
movq 0x1d0(%rsp), %rdi
callq 0x142cb0
movl %eax, %edi
callq 0x13e930
testb $0x1, %al
jne 0x1255e1
jmp 0x125676
movq 0x1e0(%rsp), %rax
movl 0x4(%rax), %eax
cmpq $0x7, %rax
jae 0x12564e
movq 0x1e0(%rsp), %rax
movslq 0x4(%rax), %rcx
leaq 0x904cb(%rip), %rax     # 0x1b5ad0
imulq $0x70, %rcx, %rcx
addq %rcx, %rax
movq 0x58(%rax), %rcx
movq 0x1e0(%rsp), %rax
movq %rcx, 0x160(%rax)
movq 0x1e0(%rsp), %rax
movslq 0x4(%rax), %rcx
leaq 0x9049e(%rip), %rax     # 0x1b5ad0
imulq $0x70, %rcx, %rcx
addq %rcx, %rax
movq 0x50(%rax), %rcx
movq 0x1e0(%rsp), %rax
movq %rcx, 0x168(%rax)
jmp 0x125674
movq 0x1e0(%rsp), %rax
movq $0x0, 0x160(%rax)
movq 0x1e0(%rsp), %rax
movq $0x0, 0x168(%rax)
jmp 0x1256d8
movq 0x1d0(%rsp), %rdi
callq 0x142cb0
movslq %eax, %rcx
leaq 0x90443(%rip), %rax     # 0x1b5ad0
imulq $0x70, %rcx, %rcx
addq %rcx, %rax
movq 0x58(%rax), %rcx
movq 0x1e0(%rsp), %rax
movq %rcx, 0x160(%rax)
movq 0x1d0(%rsp), %rdi
callq 0x142cb0
movslq %eax, %rcx
leaq 0x90412(%rip), %rax     # 0x1b5ad0
imulq $0x70, %rcx, %rcx
addq %rcx, %rax
movq 0x50(%rax), %rcx
movq 0x1e0(%rsp), %rax
movq %rcx, 0x168(%rax)
movslq 0x144(%rsp), %rcx
leaq 0x903e9(%rip), %rax     # 0x1b5ad0
imulq $0x70, %rcx, %rcx
addq %rcx, %rax
movq 0x68(%rax), %rcx
movq 0x1e0(%rsp), %rax
movq %rcx, 0x150(%rax)
movq 0x1e0(%rsp), %rdi
movq 0x1f0(%rsp), %rsi
movq 0x230(%rsp), %rdx
movq 0x238(%rsp), %rcx
callq 0x137740
cmpl $0x0, %eax
je 0x125733
movb $0x1, 0x1df(%rsp)
jmp 0x125735
testb $0x1, 0x1df(%rsp)
jne 0x1257a2
jmp 0x125741
cmpq $0x0, 0x1e0(%rsp)
jne 0x125784
movq 0x8e885(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x38909(%rip), %rsi     # 0x15e066
leaq 0x60630(%rip), %rdx     # 0x185d94
leaq 0x64a5e(%rip), %rcx     # 0x18a1c9
leaq 0x5feec(%rip), %r8      # 0x18565e
movl $0x127b, %r9d           # imm = 0x127B
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x125786
movq 0x1f0(%rsp), %rdi
callq 0x7c400
movq %rax, %rcx
movq 0x1e0(%rsp), %rax
movq %rcx, 0x68(%rax)
testb $0x1, 0x1df(%rsp)
jne 0x125826
jmp 0x1257ae
cmpq $0x0, 0x1e0(%rsp)
jne 0x1257f1
movq 0x8e818(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x3889c(%rip), %rsi     # 0x15e066
leaq 0x605c3(%rip), %rdx     # 0x185d94
leaq 0x649f1(%rip), %rcx     # 0x18a1c9
leaq 0x5fe7f(%rip), %r8      # 0x18565e
movl $0x127f, %r9d           # imm = 0x127F
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x1257f3
movq 0x1e0(%rsp), %rax
movq 0x220(%rax), %rdi
movq 0x1e0(%rsp), %rax
movq 0xf8(%rax), %rsi
callq 0x1372a0
movl %eax, %ecx
movq 0x1e0(%rsp), %rax
movl %ecx, 0x170(%rax)
testb $0x1, 0x1df(%rsp)
jne 0x1258ff
testb $0x1, 0x1ef(%rsp)
je 0x1258ff
jmp 0x125844
cmpq $0x0, 0x1e0(%rsp)
jne 0x125887
movq 0x8e782(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x38806(%rip), %rsi     # 0x15e066
leaq 0x6052d(%rip), %rdx     # 0x185d94
leaq 0x6495b(%rip), %rcx     # 0x18a1c9
leaq 0x5fde9(%rip), %r8      # 0x18565e
movl $0x1287, %r9d           # imm = 0x1287
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x125889
movq 0x1f0(%rsp), %rdi
movq 0x238(%rsp), %r9
leaq 0x5edf8(%rip), %rsi     # 0x184698
leaq 0xb0(%rsp), %rdx
leaq 0x5fdaf(%rip), %rcx     # 0x18565e
movl $0x128b, %r8d           # imm = 0x128B
callq 0x81c10
movq %rax, %rcx
movq 0x1e0(%rsp), %rax
movq %rcx, 0x200(%rax)
movq 0xb0(%rsp), %rcx
movq 0x1e0(%rsp), %rax
movq %rcx, 0x210(%rax)
movq 0x1e0(%rsp), %rax
cmpq $0x0, 0x200(%rax)
jne 0x1258fd
movb $0x1, 0x1df(%rsp)
jmp 0x1258ff
testb $0x1, 0x1df(%rsp)
jne 0x1259e5
testb $0x1, 0x1ee(%rsp)
je 0x1259e5
jmp 0x12591d
cmpq $0x0, 0x1e0(%rsp)
jne 0x125960
movq 0x8e6a9(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x3872d(%rip), %rsi     # 0x15e066
leaq 0x60454(%rip), %rdx     # 0x185d94
leaq 0x64882(%rip), %rcx     # 0x18a1c9
leaq 0x5fd10(%rip), %r8      # 0x18565e
movl $0x1291, %r9d           # imm = 0x1291
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x125962
movq 0x1e0(%rsp), %rax
cmpq $0x1, 0x40(%rax)
jbe 0x1259d0
movq 0x1f0(%rsp), %rdi
movq 0x1e0(%rsp), %rax
movq 0x40(%rax), %rdx
subq $0x1, %rdx
movq 0x238(%rsp), %r8
leaq 0x5ecf6(%rip), %rsi     # 0x18468e
movl $0x8, %ecx
callq 0x81ce0
movq %rax, %rcx
movq 0x1e0(%rsp), %rax
movq %rcx, 0x218(%rax)
movq 0x1e0(%rsp), %rax
cmpq $0x0, 0x218(%rax)
jne 0x1259ce
movb $0x1, 0x1df(%rsp)
jmp 0x1259e3
movq 0x1e0(%rsp), %rax
movq $0x0, 0x218(%rax)
jmp 0x1259e5
testb $0x1, 0x1df(%rsp)
jne 0x125ac0
cmpq $0x0, 0x1e0(%rsp)
je 0x125ac0
testb $0x1, 0x1ed(%rsp)
jne 0x125a21
movq 0x1e0(%rsp), %rax
testb $0x1, 0x3a9(%rax)
je 0x125ac0
movq 0x1e0(%rsp), %rax
cmpl $0x2, (%rax)
je 0x125ac0
jmp 0x125a34
cmpq $0x0, 0x1e0(%rsp)
jne 0x125a77
movq 0x8e592(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x38616(%rip), %rsi     # 0x15e066
leaq 0x6033d(%rip), %rdx     # 0x185d94
leaq 0x6476b(%rip), %rcx     # 0x18a1c9
leaq 0x5fbf9(%rip), %r8      # 0x18565e
movl $0x12a2, %r9d           # imm = 0x12A2
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x125a79
movq 0x1e0(%rsp), %rax
cmpq $0x1, 0x40(%rax)
jbe 0x125abe
testb $0x1, 0x1df(%rsp)
jne 0x125abc
movq 0x1e0(%rsp), %rdi
movq 0x1f0(%rsp), %rsi
movq 0x238(%rsp), %rdx
callq 0x137ad0
cmpl $0x0, %eax
je 0x125abc
movb $0x1, 0x1df(%rsp)
jmp 0x125abe
jmp 0x125ac0
testb $0x1, 0x1df(%rsp)
jne 0x125b68
testb $0x1, 0x1ec(%rsp)
je 0x125b68
jmp 0x125ade
cmpq $0x0, 0x1e0(%rsp)
jne 0x125b21
movq 0x8e4e8(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x3856c(%rip), %rsi     # 0x15e066
leaq 0x60293(%rip), %rdx     # 0x185d94
leaq 0x646c1(%rip), %rcx     # 0x18a1c9
leaq 0x5fb4f(%rip), %r8      # 0x18565e
movl $0x12a9, %r9d           # imm = 0x12A9
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x125b23
movq 0x1e0(%rsp), %rax
movb $0x1, 0x2f0(%rax)
testb $0x1, 0x1df(%rsp)
jne 0x125b66
movq 0x1e0(%rsp), %rdi
movq 0x1f0(%rsp), %rsi
movq 0x238(%rsp), %rdx
callq 0x137c40
cmpl $0x0, %eax
je 0x125b66
movb $0x1, 0x1df(%rsp)
jmp 0x125b68
testb $0x1, 0x1df(%rsp)
jne 0x125c5b
testb $0x1, 0x1eb(%rsp)
je 0x125c5b
jmp 0x125b86
cmpq $0x0, 0x1e0(%rsp)
jne 0x125bc9
movq 0x8e440(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x384c4(%rip), %rsi     # 0x15e066
leaq 0x601eb(%rip), %rdx     # 0x185d94
leaq 0x64619(%rip), %rcx     # 0x18a1c9
leaq 0x5faa7(%rip), %r8      # 0x18565e
movl $0x12b0, %r9d           # imm = 0x12B0
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x125bcb
movq 0x1f0(%rsp), %rdi
callq 0x18f70
movq %rax, 0xa8(%rsp)
movq 0xa8(%rsp), %rdi
leaq 0x5eaa4(%rip), %rsi     # 0x184693
callq 0x18fb0
movq 0xa8(%rsp), %rdi
callq 0x19940
movq %rax, %rdi
movq 0x1e0(%rsp), %rax
movq 0x40(%rax), %rsi
movq 0x238(%rsp), %rcx
movl $0x1, %edx
callq 0x1494b0
movq %rax, %rcx
movq 0x1e0(%rsp), %rax
movq %rcx, 0x3a0(%rax)
movq 0x1e0(%rsp), %rax
cmpq $0x0, 0x3a0(%rax)
jne 0x125c4e
movb $0x1, 0x1df(%rsp)
movq 0xa8(%rsp), %rdi
callq 0x1afc0
testb $0x1, 0x1df(%rsp)
jne 0x125e5d
jmp 0x125c6b
cmpq $0x0, 0x1e0(%rsp)
jne 0x125cae
movq 0x8e35b(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x383df(%rip), %rsi     # 0x15e066
leaq 0x60106(%rip), %rdx     # 0x185d94
leaq 0x64534(%rip), %rcx     # 0x18a1c9
leaq 0x5f9c2(%rip), %r8      # 0x18565e
movl $0x12bd, %r9d           # imm = 0x12BD
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x125cb0
movq 0x1e0(%rsp), %rax
cmpq $0x1, 0x50(%rax)
jbe 0x125e5b
movq $0x0, 0x98(%rsp)
movq 0x1e0(%rsp), %rax
cmpq $0x0, 0x278(%rax)
je 0x125d19
movq 0x8e2f0(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x38374(%rip), %rsi     # 0x15e066
leaq 0x64589(%rip), %rdx     # 0x18a282
leaq 0x644c9(%rip), %rcx     # 0x18a1c9
leaq 0x5f957(%rip), %r8      # 0x18565e
movl $0x12c1, %r9d           # imm = 0x12C1
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x125d1b
movq 0x1e0(%rsp), %rax
movq 0x50(%rax), %rdi
subq $0x1, %rdi
movl $0x8, %esi
leaq 0x5f927(%rip), %rdx     # 0x18565e
movl $0x12c3, %ecx           # imm = 0x12C3
callq 0xd5b0
movq %rax, %rcx
movq 0x1e0(%rsp), %rax
movq %rcx, 0x278(%rax)
movq 0x1e0(%rsp), %rax
cmpq $0x0, 0xf0(%rax)
jne 0x125d9d
movq 0x8e26c(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x382f0(%rip), %rsi     # 0x15e066
leaq 0x62a1a(%rip), %rdx     # 0x188797
leaq 0x64445(%rip), %rcx     # 0x18a1c9
leaq 0x5f8d3(%rip), %r8      # 0x18565e
movl $0x12c4, %r9d           # imm = 0x12C4
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x125d9f
movq $0x0, 0xa0(%rsp)
movq 0xa0(%rsp), %rax
movq 0x1e0(%rsp), %rcx
movq 0x50(%rcx), %rcx
subq $0x1, %rcx
cmpq %rcx, %rax
jae 0x125e59
movq 0x1e0(%rsp), %rax
movq 0xf0(%rax), %rax
movq 0xa0(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
addq 0x98(%rsp), %rax
movq %rax, 0x98(%rsp)
cmpq $0x0, 0xa0(%rsp)
je 0x125e1d
movq 0x98(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x98(%rsp)
movq 0x98(%rsp), %rdx
movq 0x1e0(%rsp), %rax
movq 0x278(%rax), %rax
movq 0xa0(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0xa0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xa0(%rsp)
jmp 0x125dab
jmp 0x125e5b
jmp 0x125e5d
movq 0x1d0(%rsp), %rdi
callq 0x142d80
testb $0x1, 0x1df(%rsp)
je 0x125eb3
movq 0x1c8(%rsp), %rdi
callq 0x1098b0
cmpq $0x0, 0x1e0(%rsp)
je 0x125ea5
movq 0x1e0(%rsp), %rdi
callq 0x118250
movq $0x0, 0x1e0(%rsp)
movq $0x0, 0x1f8(%rsp)
jmp 0x125ec3
movq 0x1e0(%rsp), %rax
movq %rax, 0x1f8(%rsp)
movq 0x1f8(%rsp), %rax
addq $0x200, %rsp            # imm = 0x200
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
nopl (%rax)