// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/encseq.c
// Function: gt_encseq_new_from_files
static GtEncseq* gt_encseq_new_from_files(GtTimer *sfxprogress,
                                          const char *indexname,
                                          const GtStr *str_smap,
                                          const GtStr *str_sat,
                                          GtStrArray *filenametab,
                                          bool isdna,
                                          bool isprotein,
                                          bool isplain,
                                          bool outdestab,
                                          bool outsdstab,
                                          bool outssptab,
                                          bool outoistab,
                                          bool outmd5tab,
                                          bool esq_no_header,
                                          bool clip_desc,
                                          bool dust,
                                          bool dust_echo,
                                          GtUword dust_windowsize,
                                          double dust_threshold,
                                          GtUword dust_linker,
                                          GtLogger *logger,
                                          GtError *err)
{
  bool haserr = false;
  unsigned int forcetable = GT_UNDEF_UINT;
  GtSpecialcharinfo specialcharinfo =
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
  GtAlphabet *alphabet = NULL;
  bool alphabetisbound = false, customalphabet = false;
  GtFilelengthvalues *filelengthtab = NULL;
  GtUword totallength = 0, specialrangestab[3], wildcardrangestab[3],
                numofseparators = 0,
                *characterdistribution = NULL,
                *classstartpositions = NULL,
                specialranges,
                wildcardranges,
                minseqlen = GT_UNDEF_UWORD,
                maxseqlen = GT_UNDEF_UWORD,
                numofallchars = 0;
  GtEncseq *encseq = NULL;
  unsigned char subsymbolmap[UCHAR_MAX+1],
                maxsubalphasize = 0;
  Definedunsignedlong equallength; /* is defined if all sequences are of equal
                                      length and no GT_WILDCARD appears in the
                                      sequence */
  GtEncseqAccessType sat = GT_ACCESS_TYPE_UNDEFINED;
  char *allchars = NULL,
       *maxchars = NULL;
  GtDustMasker *dust_masker = NULL;

  gt_error_check(err);
  filenametab = gt_str_array_ref(filenametab);
  if (dust)
  {
    dust_masker = gt_dust_masker_new(dust_echo, dust_windowsize, dust_threshold,
                                   dust_linker);
  }
  if (gt_str_length(str_sat) > 0) {
    int retval = getsatforcevalue(gt_str_get(str_sat), err);
    if (retval < 0)
      haserr = true;
    else
      forcetable = (unsigned int) retval;
  }
  else {
    forcetable = 3U;
  }
  if (!haserr) {
    if (isdna) {
      alphabet = gt_alphabet_new_dna();
    } else if (isprotein) {
      alphabet = gt_alphabet_new_protein();
    } else if (gt_str_length(str_smap) > 0UL) {
      customalphabet = true;
      alphabet = gt_alphabet_new_from_file_no_suffix(gt_str_get(str_smap), err);
    } else {
      alphabet = gt_alphabet_new_from_sequence(filenametab, err);
    }
    if (alphabet == NULL) {
      gt_assert(gt_error_is_set(err));
      haserr = true;
    }
  }
  if (!haserr) {
    characterdistribution = initcharacterdistribution(alphabet);
    maxchars = gt_calloc((size_t) UCHAR_MAX, sizeof (*maxchars));
    classstartpositions = gt_calloc((size_t) UCHAR_MAX,
                                    sizeof (*classstartpositions));
    memset(&subsymbolmap, 0, ((size_t) UCHAR_MAX+1) * sizeof (unsigned char));
    if (gt_inputfiles2sequencekeyvalues(indexname,
                                        &totallength,
                                        &specialcharinfo,
                                        &equallength,
                                        forcetable,
                                        specialrangestab,
                                        wildcardrangestab,
                                        filenametab,
                                        &filelengthtab,
                                        alphabet,
                                        customalphabet,
                                        isplain,
                                        outdestab,
                                        outsdstab,
                                        outmd5tab,
                                        characterdistribution,
                                        classstartpositions,
                                        maxchars,
                                        &allchars,
                                        &numofallchars,
                                        subsymbolmap,
                                        &maxsubalphasize,
                                        outoistab,
                                        &numofseparators,
                                        &minseqlen,
                                        &maxseqlen,
                                        clip_desc,
                                        dust_masker,
                                        logger,
                                        err) != 0) {
      char buf[BUFSIZ];
      (void) snprintf(buf, BUFSIZ, "%s%s", indexname, GT_ALPHABETFILESUFFIX);
      if (gt_file_exists(buf))
        gt_xunlink(buf);
      haserr = true;
    }
  }
  if (!haserr) {
    int retcode;
    GtUword lengthofalphadef;

    if (sfxprogress != NULL) {
      gt_timer_show_progress(sfxprogress, "computing sequence encoding",
                             stdout);
    }
    alphabet_to_key_values(alphabet, NULL, &lengthofalphadef, NULL,
                           customalphabet);
    retcode
      = gt_encseq_access_type_determine(&specialranges,
                                      &wildcardranges,
                                      totallength,
                                      numofseparators+1,
                                      gt_str_array_size(filenametab),
                                      lengthofalphadef,
                                      determinelengthofdbfilenames(filenametab),
                                      specialrangestab,
                                      wildcardrangestab,
                                      &equallength,
                                      gt_alphabet_num_of_chars(alphabet),
                                      gt_str_length(str_sat) > 0
                                        ? gt_str_get(str_sat)
                                        : NULL,
                                      err);
    if (retcode < 0)
      haserr = true;
    else
      sat = (GtEncseqAccessType) retcode;
  }
  if (!haserr) {
    encseq = files2encodedsequence(filenametab,
                                   filelengthtab,
                                   isplain,
                                   totallength,
                                   outssptab,
                                   esq_no_header,
                                   numofseparators+1,
                                   &equallength,
                                   alphabet,
                                   customalphabet,
                                   sat,
                                   characterdistribution,
                                   classstartpositions,
                                   maxchars,
                                   allchars,
                                   numofallchars,
                                   subsymbolmap,
                                   maxsubalphasize,
                                   outoistab,
                                   &specialcharinfo,
                                   wildcardranges,
                                   minseqlen,
                                   maxseqlen,
                                   dust_masker,
                                   logger,
                                   err);
    if (encseq == NULL)
      haserr = true;
  }
  if (!haserr) {
    alphabetisbound = true;
    if (gt_encseq_flush2file(indexname, encseq, esq_no_header, err) != 0)
      haserr = true;
  }
  if (!haserr) {
    gt_assert(encseq != NULL);
    if (encseq->satsep != GT_ACCESS_TYPE_UNDEFINED) {
      Gtssptransferinfo ssptransferinfo;

      ssptransferinfo.totallength = encseq->totallength;
      ssptransferinfo.numofdbsequences = encseq->numofdbsequences;
      ssptransferinfo.satsep = encseq->satsep;
      ssptransferinfo.ssptabptr = &encseq->ssptab;
      if (flushssptab2file(indexname, &ssptransferinfo, err) != 0)
        haserr = true;
    }
  }
  if (!haserr && encseq != NULL && encseq->has_exceptiontable) {
    if (flushoistab2file(indexname, encseq, err) != 0)
      haserr = true;
  }
  if (maxchars != NULL)
    gt_free(maxchars);
  if (allchars != NULL)
    gt_free(allchars);
  if (classstartpositions != NULL)
    gt_free(classstartpositions);
  if (haserr) {
    gt_free(characterdistribution);
    gt_free(filelengthtab);
    filelengthtab = NULL;
    gt_str_array_delete(filenametab);
    if (alphabet != NULL && !alphabetisbound)
      gt_alphabet_delete((GtAlphabet*) alphabet);
  }
  gt_dust_masker_delete(dust_masker);
  return haserr ? NULL : encseq;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x24a8, %rsp           # imm = 0x24A8
movq %r8, %r15
movq %rcx, %r12
movq %rdx, %r13
movb %r9b, %r14b
movq 0x2550(%rsp), %rax
movq 0x2548(%rsp), %rax
movq 0x2540(%rsp), %rax
movq 0x2538(%rsp), %rax
movb 0x2530(%rsp), %al
movb 0x2528(%rsp), %cl
movb 0x2520(%rsp), %dl
movb 0x2518(%rsp), %r8b
movb %r8b, 0x1cf(%rsp)
movb 0x2510(%rsp), %r8b
movb %r8b, 0x1ce(%rsp)
movb 0x2508(%rsp), %r8b
movb 0x2500(%rsp), %r9b
movb 0x24f8(%rsp), %r10b
movb 0x24f0(%rsp), %r11b
movb 0x24e8(%rsp), %bl
movb 0x24e0(%rsp), %bpl
movq %rdi, 0x24a0(%rsp)
movb 0x1ce(%rsp), %dil
movq %rsi, 0x2498(%rsp)
movb 0x1cf(%rsp), %sil
movq %r13, 0x2490(%rsp)
movq %r12, 0x2488(%rsp)
movq %r15, 0x2480(%rsp)
andb $0x1, %r14b
movb %r14b, 0x247f(%rsp)
andb $0x1, %bpl
movb %bpl, 0x247e(%rsp)
andb $0x1, %bl
movb %bl, 0x247d(%rsp)
andb $0x1, %r11b
movb %r11b, 0x247c(%rsp)
andb $0x1, %r10b
movb %r10b, 0x247b(%rsp)
andb $0x1, %r9b
movb %r9b, 0x247a(%rsp)
andb $0x1, %r8b
movb %r8b, 0x2479(%rsp)
andb $0x1, %dil
movb %dil, 0x2478(%rsp)
andb $0x1, %sil
movb %sil, 0x2477(%rsp)
andb $0x1, %dl
movb %dl, 0x2476(%rsp)
andb $0x1, %cl
movb %cl, 0x2475(%rsp)
andb $0x1, %al
movb %al, 0x2474(%rsp)
movsd %xmm0, 0x2468(%rsp)
movb $0x0, 0x2467(%rsp)
movl $0xffffffff, 0x2460(%rsp) # imm = 0xFFFFFFFF
leaq 0x23f0(%rsp), %rdi
xorl %esi, %esi
movl $0x70, %edx
callq 0xb2d0
movq $0x0, 0x23e8(%rsp)
movb $0x0, 0x23e7(%rsp)
movb $0x0, 0x23e6(%rsp)
movq $0x0, 0x23d8(%rsp)
movq $0x0, 0x23d0(%rsp)
movq $0x0, 0x2388(%rsp)
movq $0x0, 0x2380(%rsp)
movq $0x0, 0x2378(%rsp)
movq $-0x1, 0x2360(%rsp)
movq $-0x1, 0x2358(%rsp)
movq $0x0, 0x2350(%rsp)
movq $0x0, 0x2348(%rsp)
movb $0x0, 0x223f(%rsp)
movl $0x7, 0x2224(%rsp)
movq $0x0, 0x2218(%rsp)
movq $0x0, 0x2210(%rsp)
movq $0x0, 0x2208(%rsp)
cmpq $0x0, 0x2550(%rsp)
je 0x123ad5
movq 0x2550(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0x123a9d
jmp 0x123ad5
movq 0x90534(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x3a5b8(%rip), %rsi     # 0x15e066
leaq 0x3ab93(%rip), %rdx     # 0x15e648
leaq 0x662fe(%rip), %rcx     # 0x189dba
leaq 0x61b9b(%rip), %r8      # 0x18565e
movl $0x1d8b, %r9d           # imm = 0x1D8B
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x123ad7
movq 0x2480(%rsp), %rdi
callq 0x1b060
movq %rax, 0x2480(%rsp)
testb $0x1, 0x2475(%rsp)
je 0x123b28
movb 0x2474(%rsp), %al
movq 0x2538(%rsp), %rsi
movsd 0x2468(%rsp), %xmm0
movq 0x2540(%rsp), %rdx
andb $0x1, %al
movzbl %al, %edi
callq 0x9c2d0
movq %rax, 0x2208(%rsp)
movq 0x2488(%rsp), %rdi
callq 0x19a00
cmpq $0x0, %rax
jbe 0x123b83
movq 0x2488(%rsp), %rdi
callq 0x19940
movq %rax, %rdi
movq 0x2550(%rsp), %rsi
callq 0x134270
movl %eax, 0x2204(%rsp)
cmpl $0x0, 0x2204(%rsp)
jge 0x123b73
movb $0x1, 0x2467(%rsp)
jmp 0x123b81
movl 0x2204(%rsp), %eax
movl %eax, 0x2460(%rsp)
jmp 0x123b8e
movl $0x3, 0x2460(%rsp)
testb $0x1, 0x2467(%rsp)
jne 0x123c93
testb $0x1, 0x247f(%rsp)
je 0x123bb5
callq 0x109990
movq %rax, 0x23e8(%rsp)
jmp 0x123c31
testb $0x1, 0x247e(%rsp)
je 0x123bce
callq 0x109af0
movq %rax, 0x23e8(%rsp)
jmp 0x123c2f
movq 0x2490(%rsp), %rdi
callq 0x19a00
cmpq $0x0, %rax
jbe 0x123c10
movb $0x1, 0x23e6(%rsp)
movq 0x2490(%rsp), %rdi
callq 0x19940
movq %rax, %rdi
movq 0x2550(%rsp), %rsi
callq 0x10aee0
movq %rax, 0x23e8(%rsp)
jmp 0x123c2d
movq 0x2480(%rsp), %rdi
movq 0x2550(%rsp), %rsi
callq 0x109620
movq %rax, 0x23e8(%rsp)
jmp 0x123c2f
jmp 0x123c31
cmpq $0x0, 0x23e8(%rsp)
jne 0x123c91
jmp 0x123c3e
movq 0x2550(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0x123c87
movq 0x90382(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x3a406(%rip), %rsi     # 0x15e066
leaq 0x66dd1(%rip), %rdx     # 0x18aa38
leaq 0x6614c(%rip), %rcx     # 0x189dba
leaq 0x619e9(%rip), %r8      # 0x18565e
movl $0x1da8, %r9d           # imm = 0x1DA8
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x123c89
movb $0x1, 0x2467(%rsp)
jmp 0x123c93
testb $0x1, 0x2467(%rsp)
jne 0x124035
movq 0x23e8(%rsp), %rdi
callq 0x1286a0
movq %rax, 0x2380(%rsp)
movl $0xff, %edi
movl $0x1, %esi
leaq 0x61997(%rip), %rdx     # 0x18565e
movl $0x1dae, %ecx           # imm = 0x1DAE
callq 0xd5b0
movq %rax, 0x2210(%rsp)
movl $0xff, %edi
movl $0x8, %esi
leaq 0x61974(%rip), %rdx     # 0x18565e
movl $0x1db0, %ecx           # imm = 0x1DB0
callq 0xd5b0
movq %rax, 0x2378(%rsp)
leaq 0x2240(%rsp), %rdi
xorl %esi, %esi
movl $0x100, %edx            # imm = 0x100
callq 0xb2d0
movq 0x2498(%rsp), %rdi
movl 0x2460(%rsp), %r8d
leaq 0x23b0(%rsp), %r9
leaq 0x2390(%rsp), %rax
movq %rax, 0x168(%rsp)
movq 0x2480(%rsp), %rax
movq %rax, 0x170(%rsp)
movq 0x23e8(%rsp), %rax
movq %rax, 0x180(%rsp)
movb 0x23e6(%rsp), %al
movb 0x247d(%rsp), %cl
movb %cl, 0x164(%rsp)
movb 0x247c(%rsp), %cl
movb %cl, 0x165(%rsp)
movb 0x247b(%rsp), %cl
movb %cl, 0x166(%rsp)
movb 0x2478(%rsp), %cl
movb %cl, 0x167(%rsp)
movq 0x2380(%rsp), %rcx
movq %rcx, 0x190(%rsp)
movq 0x2378(%rsp), %rcx
movq %rcx, 0x198(%rsp)
movq 0x2210(%rsp), %rcx
movq %rcx, 0x1a0(%rsp)
leaq 0x2240(%rsp), %rcx
movq %rcx, 0x1b8(%rsp)
movb 0x2479(%rsp), %bpl
movb 0x2476(%rsp), %bl
movq 0x2208(%rsp), %r11
movq 0x2548(%rsp), %r10
movq 0x2550(%rsp), %rcx
movq %rcx, 0x1c0(%rsp)
leaq 0x23d0(%rsp), %rsi
leaq 0x23f0(%rsp), %rdx
leaq 0x2228(%rsp), %rcx
leaq 0x23d8(%rsp), %r14
movq %r14, 0x178(%rsp)
leaq 0x2218(%rsp), %r14
movq %r14, 0x1a8(%rsp)
leaq 0x2350(%rsp), %r14
movq %r14, 0x1b0(%rsp)
leaq 0x223f(%rsp), %r13
leaq 0x2388(%rsp), %r12
leaq 0x2360(%rsp), %r15
leaq 0x2358(%rsp), %r14
andb $0x1, %al
movb %al, 0x18b(%rsp)
movb 0x164(%rsp), %al
andb $0x1, %al
movb %al, 0x18c(%rsp)
movb 0x165(%rsp), %al
andb $0x1, %al
movb %al, 0x18d(%rsp)
movb 0x166(%rsp), %al
andb $0x1, %al
movb %al, 0x18e(%rsp)
movb 0x167(%rsp), %al
andb $0x1, %al
movb %al, 0x18f(%rsp)
movq 0x168(%rsp), %rax
andb $0x1, %bpl
andb $0x1, %bl
movq %rax, (%rsp)
movq 0x170(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x178(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x180(%rsp), %rax
movq %rax, 0x18(%rsp)
movb 0x18b(%rsp), %al
movzbl %al, %eax
movl %eax, 0x20(%rsp)
movb 0x18c(%rsp), %al
movzbl %al, %eax
movl %eax, 0x28(%rsp)
movb 0x18d(%rsp), %al
movzbl %al, %eax
movl %eax, 0x30(%rsp)
movb 0x18e(%rsp), %al
movzbl %al, %eax
movl %eax, 0x38(%rsp)
movb 0x18f(%rsp), %al
movzbl %al, %eax
movl %eax, 0x40(%rsp)
movq 0x190(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x198(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x1a0(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x1a8(%rsp), %rax
movq %rax, 0x60(%rsp)
movq 0x1b0(%rsp), %rax
movq %rax, 0x68(%rsp)
movq 0x1b8(%rsp), %rax
movq %rax, 0x70(%rsp)
movq 0x1c0(%rsp), %rax
movq %r13, 0x78(%rsp)
movzbl %bpl, %ebp
movl %ebp, 0x80(%rsp)
movq %r12, 0x88(%rsp)
movq %r15, 0x90(%rsp)
movq %r14, 0x98(%rsp)
movzbl %bl, %ebx
movl %ebx, 0xa0(%rsp)
movq %r11, 0xa8(%rsp)
movq %r10, 0xb0(%rsp)
movq %rax, 0xb8(%rsp)
callq 0x134330
cmpl $0x0, %eax
je 0x124033
leaq 0x200(%rsp), %rdi
movq 0x2498(%rsp), %rcx
movl $0x2000, %esi           # imm = 0x2000
leaq 0x52225(%rip), %rdx     # 0x176222
leaq 0x5fd98(%rip), %r8      # 0x183d9c
movb $0x0, %al
callq 0xb9d0
leaq 0x200(%rsp), %rdi
callq 0x84330
testb $0x1, %al
jne 0x12401e
jmp 0x12402b
leaq 0x200(%rsp), %rdi
callq 0xa30e0
movb $0x1, 0x2467(%rsp)
jmp 0x124035
testb $0x1, 0x2467(%rsp)
jne 0x124215
cmpq $0x0, 0x24a0(%rsp)
je 0x12406c
movq 0x24a0(%rsp), %rdi
movq 0x8ff53(%rip), %rax     # 0x1b3fb0
movq (%rax), %rdx
leaq 0x65d6c(%rip), %rsi     # 0x189dd3
callq 0x14bc90
movq 0x23e8(%rsp), %rdi
movb 0x23e6(%rsp), %al
xorl %ecx, %ecx
leaq 0x1f0(%rsp), %rdx
andb $0x1, %al
movq %rcx, %rsi
movzbl %al, %r8d
callq 0x117c40
movq 0x23d0(%rsp), %rax
movq %rax, 0x128(%rsp)
movq 0x2388(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x130(%rsp)
movq 0x2480(%rsp), %rdi
callq 0x1b720
movq %rax, 0x138(%rsp)
movq 0x1f0(%rsp), %rax
movq %rax, 0x140(%rsp)
movq 0x2480(%rsp), %rdi
callq 0x117b60
movq %rax, 0x148(%rsp)
leaq 0x23b0(%rsp), %rax
movq %rax, 0x150(%rsp)
leaq 0x2390(%rsp), %rax
movq %rax, 0x158(%rsp)
movq 0x23e8(%rsp), %rdi
callq 0x109da0
movl %eax, 0x160(%rsp)
movq 0x2488(%rsp), %rdi
callq 0x19a00
cmpq $0x0, %rax
jbe 0x12414f
movq 0x2488(%rsp), %rdi
callq 0x19940
movq %rax, 0x120(%rsp)
jmp 0x12415b
xorl %eax, %eax
movq %rax, 0x120(%rsp)
jmp 0x12415b
movl 0x160(%rsp), %r11d
movq 0x158(%rsp), %r14
movq 0x150(%rsp), %r15
movq 0x148(%rsp), %r12
movq 0x140(%rsp), %r9
movq 0x138(%rsp), %r8
movq 0x130(%rsp), %rcx
movq 0x128(%rsp), %rdx
movq 0x120(%rsp), %r10
movq 0x2550(%rsp), %rax
leaq 0x2370(%rsp), %rdi
leaq 0x2368(%rsp), %rsi
leaq 0x2228(%rsp), %rbx
movq %r12, (%rsp)
movq %r15, 0x8(%rsp)
movq %r14, 0x10(%rsp)
movq %rbx, 0x18(%rsp)
movl %r11d, 0x20(%rsp)
movq %r10, 0x28(%rsp)
movq %rax, 0x30(%rsp)
callq 0x13e9a0
movl %eax, 0x1fc(%rsp)
cmpl $0x0, 0x1fc(%rsp)
jge 0x124205
movb $0x1, 0x2467(%rsp)
jmp 0x124213
movl 0x1fc(%rsp), %eax
movl %eax, 0x2224(%rsp)
jmp 0x124215
testb $0x1, 0x2467(%rsp)
jne 0x124467
movq 0x2480(%rsp), %rdi
movq 0x23d8(%rsp), %rsi
movb 0x247d(%rsp), %dl
movq 0x23d0(%rsp), %rcx
movb 0x247a(%rsp), %r8b
movb 0x2477(%rsp), %r9b
movq 0x2388(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xc8(%rsp)
movq 0x23e8(%rsp), %rax
movq %rax, 0xd8(%rsp)
movb 0x23e6(%rsp), %al
movl 0x2224(%rsp), %r10d
movl %r10d, 0xe4(%rsp)
movq 0x2380(%rsp), %r10
movq %r10, 0xe8(%rsp)
movq 0x2378(%rsp), %r10
movq %r10, 0xf0(%rsp)
movq 0x2210(%rsp), %r10
movq %r10, 0xf8(%rsp)
movq 0x2218(%rsp), %r10
movq %r10, 0x100(%rsp)
movq 0x2350(%rsp), %r10
movq %r10, 0x108(%rsp)
leaq 0x2240(%rsp), %r10
movq %r10, 0x110(%rsp)
movb 0x223f(%rsp), %r13b
movb 0x2479(%rsp), %bpl
movq 0x2368(%rsp), %r15
movq 0x2360(%rsp), %r14
movq 0x2358(%rsp), %rbx
movq 0x2208(%rsp), %r11
movq 0x2548(%rsp), %r10
movq 0x2550(%rsp), %r12
movq %r12, 0x118(%rsp)
leaq 0x2228(%rsp), %r12
movq %r12, 0xd0(%rsp)
leaq 0x23f0(%rsp), %r12
andb $0x1, %dl
andb $0x1, %r8b
andb $0x1, %r9b
andb $0x1, %al
movb %al, 0xe3(%rsp)
movq 0xc8(%rsp), %rax
andb $0x1, %bpl
movzbl %dl, %edx
movzbl %r8b, %r8d
movzbl %r9b, %r9d
movq %rax, (%rsp)
movq 0xd0(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0xd8(%rsp), %rax
movq %rax, 0x10(%rsp)
movb 0xe3(%rsp), %al
movzbl %al, %eax
movl %eax, 0x18(%rsp)
movl 0xe4(%rsp), %eax
movl %eax, 0x20(%rsp)
movq 0xe8(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0xf0(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0xf8(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x100(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x108(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x110(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x118(%rsp), %rax
movzbl %r13b, %r13d
movl %r13d, 0x58(%rsp)
movzbl %bpl, %ebp
movl %ebp, 0x60(%rsp)
movq %r12, 0x68(%rsp)
movq %r15, 0x70(%rsp)
movq %r14, 0x78(%rsp)
movq %rbx, 0x80(%rsp)
movq %r11, 0x88(%rsp)
movq %r10, 0x90(%rsp)
movq %rax, 0x98(%rsp)
callq 0x135660
movq %rax, 0x2348(%rsp)
cmpq $0x0, 0x2348(%rsp)
jne 0x124465
movb $0x1, 0x2467(%rsp)
jmp 0x124467
testb $0x1, 0x2467(%rsp)
jne 0x1244b1
movb $0x1, 0x23e7(%rsp)
movq 0x2498(%rsp), %rdi
movq 0x2348(%rsp), %rsi
movb 0x2477(%rsp), %al
movq 0x2550(%rsp), %rcx
andb $0x1, %al
movzbl %al, %edx
callq 0x136020
cmpl $0x0, %eax
je 0x1244af
movb $0x1, 0x2467(%rsp)
jmp 0x1244b1
testb $0x1, 0x2467(%rsp)
jne 0x124592
jmp 0x1244c1
cmpq $0x0, 0x2348(%rsp)
jne 0x124504
movq 0x8fb05(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x39b89(%rip), %rsi     # 0x15e066
leaq 0x618b0(%rip), %rdx     # 0x185d94
leaq 0x658cf(%rip), %rcx     # 0x189dba
leaq 0x6116c(%rip), %r8      # 0x18565e
movl $0x1e1a, %r9d           # imm = 0x1E1A
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x124506
movq 0x2348(%rsp), %rax
cmpl $0x7, 0x4(%rax)
je 0x124590
movq 0x2348(%rsp), %rax
movq 0x30(%rax), %rax
movq %rax, 0x1d0(%rsp)
movq 0x2348(%rsp), %rax
movq 0x40(%rax), %rax
movq %rax, 0x1d8(%rsp)
movq 0x2348(%rsp), %rax
movl 0x4(%rax), %eax
movl %eax, 0x1e0(%rsp)
movq 0x2348(%rsp), %rax
addq $0x240, %rax            # imm = 0x240
movq %rax, 0x1e8(%rsp)
movq 0x2498(%rsp), %rdi
movq 0x2550(%rsp), %rdx
leaq 0x1d0(%rsp), %rsi
callq 0x11bbe0
cmpl $0x0, %eax
je 0x12458e
movb $0x1, 0x2467(%rsp)
jmp 0x124590
jmp 0x124592
testb $0x1, 0x2467(%rsp)
jne 0x1245e4
cmpq $0x0, 0x2348(%rsp)
je 0x1245e4
movq 0x2348(%rsp), %rax
testb $0x1, 0x2f0(%rax)
je 0x1245e4
movq 0x2498(%rsp), %rdi
movq 0x2348(%rsp), %rsi
movq 0x2550(%rsp), %rdx
callq 0x136150
cmpl $0x0, %eax
je 0x1245e2
movb $0x1, 0x2467(%rsp)
jmp 0x1245e4
cmpq $0x0, 0x2210(%rsp)
je 0x124608
movq 0x2210(%rsp), %rdi
leaq 0x61060(%rip), %rsi     # 0x18565e
movl $0x1e2b, %edx           # imm = 0x1E2B
callq 0xdab0
cmpq $0x0, 0x2218(%rsp)
je 0x12462c
movq 0x2218(%rsp), %rdi
leaq 0x6103c(%rip), %rsi     # 0x18565e
movl $0x1e2d, %edx           # imm = 0x1E2D
callq 0xdab0
cmpq $0x0, 0x2378(%rsp)
je 0x124650
movq 0x2378(%rsp), %rdi
leaq 0x61018(%rip), %rsi     # 0x18565e
movl $0x1e2f, %edx           # imm = 0x1E2F
callq 0xdab0
testb $0x1, 0x2467(%rsp)
je 0x1246c9
movq 0x2380(%rsp), %rdi
leaq 0x60ff5(%rip), %rsi     # 0x18565e
movl $0x1e31, %edx           # imm = 0x1E31
callq 0xdab0
movq 0x23d8(%rsp), %rdi
leaq 0x60fdc(%rip), %rsi     # 0x18565e
movl $0x1e32, %edx           # imm = 0x1E32
callq 0xdab0
movq $0x0, 0x23d8(%rsp)
movq 0x2480(%rsp), %rdi
callq 0x1b780
cmpq $0x0, 0x23e8(%rsp)
je 0x1246c7
testb $0x1, 0x23e7(%rsp)
jne 0x1246c7
movq 0x23e8(%rsp), %rdi
callq 0x1098b0
jmp 0x1246c9
movq 0x2208(%rsp), %rdi
callq 0x9c5a0
testb $0x1, 0x2467(%rsp)
je 0x1246ec
xorl %eax, %eax
movq %rax, 0xc0(%rsp)
jmp 0x1246fc
movq 0x2348(%rsp), %rax
movq %rax, 0xc0(%rsp)
movq 0xc0(%rsp), %rax
addq $0x24a8, %rsp           # imm = 0x24A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nopw %cs:(%rax,%rax)