// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/ltr/gt_ltrdigest.c
// Function: gt_ltrdigest_option_parser_new
static GtOptionParser* gt_ltrdigest_option_parser_new(void *tool_arguments)
{
  GtLTRdigestOptions *arguments = tool_arguments;
  GtOptionParser *op;
  GtOption *o, *ot, *oto;
  GtOption *oh, *oc, *oeval;
  static const char *cutoffs[] = {"NONE", "GA", "TC", NULL};
  static GtRange pptlen_defaults           = { 8UL, 30UL},
                 uboxlen_defaults          = { 3UL, 30UL},
                 pbsalilen_defaults        = {11UL, 30UL},
                 pbsoffsetlen_defaults     = { 0UL,  5UL},
                 pbstrnaoffsetlen_defaults = { 0UL,  5UL};
  gt_assert(arguments);

  /* init */
  op = gt_option_parser_new("[option ...] gff3_file",
                            "Identifies and annotates sequence features in LTR "
                            "retrotransposon candidates.");

  /* Output files */

  oto = gt_option_new_string("outfileprefix",
                             "prefix for output files (e.g. 'foo' will create "
                             "files called 'foo_*.csv' and 'foo_*.fas')\n"
                             "Omit this option for GFF3 output only.",
                             arguments->prefix,
                             NULL);
  gt_option_parser_add_option(op, oto);
  gt_option_hide_default(oto);

  o = gt_option_new_bool("metadata",
                         "output metadata (run conditions) to separate file",
                         &arguments->print_metadata,
                         true);
  gt_option_parser_add_option(op, o);
  gt_option_imply(o, oto);

  o = gt_option_new_uint("seqnamelen",
                         "set maximal length of sequence names in FASTA headers"
                         " (e.g. for clustalw or similar tools)",
                         &arguments->seqnamelen,
                         20U);
  gt_option_parser_add_option(op, o);

  /* PPT search options */

  o = gt_option_new_range("pptlen",
                          "required PPT length range",
                          &arguments->ppt_len,
                          &pptlen_defaults);
  gt_option_parser_add_option(op, o);

  o = gt_option_new_range("uboxlen",
                          "required U-box length range",
                          &arguments->ubox_len,
                          &uboxlen_defaults);
  gt_option_parser_add_option(op, o);

  o = gt_option_new_uint("uboxdist",
                         "allowed U-box distance range from PPT",
                         &arguments->max_ubox_dist, 0);
  gt_option_parser_add_option(op, o);

  o = gt_option_new_uint("pptradius",
                         "radius around beginning of 3' LTR "
                         "to search for PPT",
                         &arguments->ppt_radius,
                         30U);
  gt_option_parser_add_option(op, o);

  o = gt_option_new_probability("pptrprob",
                                "purine emission probability inside PPT",
                                &arguments->ppt_purine_prob,
                                PPT_PURINE_PROB);
  gt_option_parser_add_option(op, o);
  gt_option_is_extended_option(o);

  o = gt_option_new_probability("pptyprob",
                                "pyrimidine emission probability inside PPT",
                                &arguments->ppt_pyrimidine_prob,
                                PPT_PYRIMIDINE_PROB);
  gt_option_parser_add_option(op, o);
  gt_option_is_extended_option(o);

  o = gt_option_new_probability("pptgprob",
                                "background G emission probability outside PPT",
                                &arguments->bkg_g_prob,
                                BKG_G_PROB);
  gt_option_parser_add_option(op, o);
  gt_option_is_extended_option(o);

  o = gt_option_new_probability("pptcprob",
                                "background C emission probability outside PPT",
                                &arguments->bkg_c_prob,
                                BKG_C_PROB);
  gt_option_parser_add_option(op, o);
  gt_option_is_extended_option(o);

  o = gt_option_new_probability("pptaprob",
                                "background A emission probability outside PPT",
                                &arguments->bkg_a_prob,
                                BKG_A_PROB);
  gt_option_parser_add_option(op, o);
  gt_option_is_extended_option(o);

  o = gt_option_new_probability("ppttprob",
                                "background T emission probability outside PPT",
                                &arguments->bkg_t_prob,
                                BKG_T_PROB);
  gt_option_parser_add_option(op, o);
  gt_option_is_extended_option(o);

  o = gt_option_new_probability("pptuprob",
                                "U/T emission probability inside U-box",
                                &arguments->ubox_u_prob,
                                UBOX_U_PROB);
  gt_option_parser_add_option(op, o);
  gt_option_is_extended_option(o);

  /* PBS search options */

  ot = gt_option_new_filename("trnas",
                              "tRNA library in multiple FASTA format for PBS "
                              "detection\n"
                              "Omit this option to disable PBS search.",
                              arguments->trna_lib);
  gt_option_parser_add_option(op, ot);
  gt_option_hide_default(ot);

  o = gt_option_new_range("pbsalilen",
                          "required PBS/tRNA alignment length range",
                          &arguments->alilen,
                          &pbsalilen_defaults);
  gt_option_parser_add_option(op, o);
  gt_option_imply(o, ot);

  o = gt_option_new_range("pbsoffset",
                          "allowed PBS offset from LTR boundary range",
                          &arguments->offsetlen,
                          &pbsoffsetlen_defaults);
  gt_option_parser_add_option(op, o);
  gt_option_imply(o, ot);

  o = gt_option_new_range("pbstrnaoffset",
                          "allowed PBS/tRNA 3' end alignment offset range",
                          &arguments->trnaoffsetlen,
                          &pbstrnaoffsetlen_defaults);
  gt_option_parser_add_option(op, o);
  gt_option_imply(o, ot);

  o = gt_option_new_uint("pbsmaxedist",
                         "maximal allowed PBS/tRNA alignment unit "
                         "edit distance",
                         &arguments->max_edist,
                         1U);
  gt_option_parser_add_option(op, o);
  gt_option_imply(o, ot);

  o = gt_option_new_uint("pbsradius",
                         "radius around end of 5' LTR "
                         "to search for PBS",
                         &arguments->pbs_radius,
                         30U);
  gt_option_parser_add_option(op, o);
  gt_option_imply(o, ot);

 /* Protein domain search options */

  oh = gt_option_new_filename_array("hmms",
                                    "profile HMM models for domain detection "
                                    "(separate by spaces, finish with --) in "
                                    "HMMER3 format\n"
                                    "Omit this option to disable pHMM search.",
                                    arguments->hmm_files);
  gt_option_parser_add_option(op, oh);

  oeval = gt_option_new_probability("pdomevalcutoff",
                                    "global E-value cutoff for pHMM search\n"
                                    "default 1E-6",
                                    &arguments->evalue_cutoff,
                                    0.000001);
  gt_option_parser_add_option(op, oeval);
  gt_option_is_extended_option(oeval);
  gt_option_hide_default(oeval);
  gt_option_imply(oeval, oh);

  oc = gt_option_new_choice("pdomcutoff", "model-specific score cutoff\n"
                                       "choose from TC (trusted cutoff) | "
                                       "GA (gathering cutoff) | "
                                       "NONE (no cutoffs)",
                             arguments->cutoffs, cutoffs[0], cutoffs);
  gt_option_parser_add_option(op, oc);
  gt_option_is_extended_option(oeval);
  gt_option_imply(oeval, oh);

  o = gt_option_new_bool("aliout",
                         "output pHMM to amino acid sequence alignments",
                         &arguments->write_alignments,
                         false);
  gt_option_parser_add_option(op, o);
  gt_option_imply(o, oh);
  gt_option_imply(o, oto);

  o = gt_option_new_bool("aaout",
                         "output amino acid sequences for protein domain "
                         "hits",
                         &arguments->write_aaseqs,
                         false);
  gt_option_parser_add_option(op, o);
  gt_option_imply(o, oh);
  gt_option_imply(o, oto);

  o = gt_option_new_bool("allchains",
                           "output features from all chains and unchained "
                           "features, labeled with chain numbers",
                           &arguments->output_all_chains,
                           false);
  gt_option_parser_add_option(op, o);
  gt_option_imply(o, oh);

  o = gt_option_new_uint("maxgaplen",
                         "maximal allowed gap size between fragments (in amino "
                         "acids) when chaining pHMM hits for a protein domain",
                         &arguments->chain_max_gap_length,
                         50U);
  gt_option_parser_add_option(op, o);
  gt_option_is_extended_option(o);
  gt_option_imply(o, oh);

  o = gt_option_new_uword("threads",
                          "DEPRECATED, only included for compatibility reasons!"
                          " Use the -j parameter of the 'gt' call instead.",
                          &arguments->nthreads,
                          0);
  gt_option_parser_add_option(op, o);
  gt_option_is_development_option(o);

  o = gt_option_new_bool("force_recreate",
                         "force recreation of hmmpressed profiles",
                         &arguments->force_recreate,
                         false);
  gt_option_parser_add_option(op, o);

  /* Extended PBS options */

  o = gt_option_new_int("pbsmatchscore",
                        "match score for PBS/tRNA alignments",
                        &arguments->ali_score_match,
                        5);
  gt_option_parser_add_option(op, o);
  gt_option_is_extended_option(o);
  gt_option_imply(o, ot);

  o = gt_option_new_int("pbsmismatchscore",
                        "mismatch score for PBS/tRNA alignments",
                        &arguments->ali_score_mismatch,
                        -10);
  gt_option_parser_add_option(op, o);
  gt_option_is_extended_option(o);
  gt_option_imply(o, ot);

  o = gt_option_new_int("pbsinsertionscore",
                        "insertion score for PBS/tRNA alignments",
                        &arguments->ali_score_insertion,
                        -20);
  gt_option_parser_add_option(op, o);
  gt_option_is_extended_option(o);
  gt_option_imply(o, ot);

  o = gt_option_new_int("pbsdeletionscore",
                        "deletion score for PBS/tRNA alignments",
                        &arguments->ali_score_deletion,
                        -20);
  gt_option_parser_add_option(op, o);
  gt_option_is_extended_option(o);
  gt_option_imply(o, ot);

  /* verbosity */

  o = gt_option_new_verbose(&arguments->verbose);
  gt_option_parser_add_option(op, o);

  /* output file options */

  gt_output_file_info_register_options(arguments->ofi, op, &arguments->outfp);

  /* region mapping and sequence source options */

  gt_seqid2file_register_options_ext(op, arguments->s2fi, false, false);

  return op;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0x1b92e6
movq %rdi, %rbx
leaq 0x1a5d0d(%rip), %rdi    # 0x35e8c1
leaq 0x1a5d1d(%rip), %rsi    # 0x35e8d8
callq 0x97df5
movq %rax, %r14
movq 0x8(%rbx), %rdx
leaq 0x1a5d58(%rip), %rdi    # 0x35e926
leaq 0x1a5d5f(%rip), %rsi    # 0x35e934
xorl %ecx, %ecx
callq 0x9ad12
movq %rax, %r15
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %r15, %rdi
callq 0x9b445
leaq 0x1c(%rbx), %rdx
leaq 0x1a732c(%rip), %rdi    # 0x35ff29
leaq 0x1a5db1(%rip), %rsi    # 0x35e9b5
pushq $0x1
popq %rcx
callq 0x9a997
movq %rax, %r12
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %r12, %rdi
movq %r15, %rsi
callq 0x9b14d
leaq 0x5c(%rbx), %rdx
leaq 0x1a5db7(%rip), %rdi    # 0x35e9e7
leaq 0x1a5dbb(%rip), %rsi    # 0x35e9f2
pushq $0x14
popq %rcx
callq 0x9abcd
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
leaq 0x60(%rbx), %rdx
leaq 0x1a5df8(%rip), %rdi    # 0x35ea4d
leaq 0x1a5df8(%rip), %rsi    # 0x35ea54
leaq 0x280f9d(%rip), %rcx    # 0x439c00
callq 0x9aca4
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
leaq 0x70(%rbx), %rdx
leaq 0x1a5df0(%rip), %rdi    # 0x35ea6e
leaq 0x1a5df1(%rip), %rsi    # 0x35ea76
leaq 0x280f84(%rip), %rcx    # 0x439c10
callq 0x9aca4
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
leaq 0xbc(%rbx), %rdx
leaq 0x1a5de8(%rip), %rdi    # 0x35ea92
leaq 0x1a5dea(%rip), %rsi    # 0x35ea9b
xorl %ecx, %ecx
callq 0x9abcd
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
leaq 0xb8(%rbx), %rdx
leaq 0x1a5df0(%rip), %rdi    # 0x35eac1
leaq 0x1a5df3(%rip), %rsi    # 0x35eacb
pushq $0x1e
popq %r13
movl %r13d, %ecx
callq 0x9abcd
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
leaq 0x88(%rbx), %rdx
leaq 0x1a5e02(%rip), %rdi    # 0x35eaff
leaq 0x1a5e04(%rip), %rsi    # 0x35eb08
movsd 0x1a5ad4(%rip), %xmm0   # 0x35e7e0
callq 0x9ab56
movq %rax, %r12
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %r12, %rdi
callq 0x9b0c7
leaq 0x80(%rbx), %rdx
leaq 0x1a5dfa(%rip), %rdi    # 0x35eb2f
leaq 0x1a5dfc(%rip), %rsi    # 0x35eb38
movsd 0x1a5aa4(%rip), %xmm0   # 0x35e7e8
callq 0x9ab56
movq %rax, %r12
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %r12, %rdi
callq 0x9b0c7
leaq 0x98(%rbx), %rdx
leaq 0x1a5df6(%rip), %rdi    # 0x35eb63
leaq 0x1a5df8(%rip), %rsi    # 0x35eb6c
movsd 0x13896c(%rip), %xmm0   # 0x2f16e8
callq 0x9ab56
movq %rax, %r12
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %r12, %rdi
callq 0x9b0c7
leaq 0xa8(%rbx), %rdx
leaq 0x1a5df5(%rip), %rdi    # 0x35eb9a
leaq 0x1a5df7(%rip), %rsi    # 0x35eba3
movsd 0x138934(%rip), %xmm0   # 0x2f16e8
callq 0x9ab56
movq %rax, %r12
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %r12, %rdi
callq 0x9b0c7
leaq 0x90(%rbx), %rdx
leaq 0x1a5df4(%rip), %rdi    # 0x35ebd1
leaq 0x1a5df6(%rip), %rsi    # 0x35ebda
movsd 0x1388fc(%rip), %xmm0   # 0x2f16e8
callq 0x9ab56
movq %rax, %r12
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %r12, %rdi
callq 0x9b0c7
leaq 0xa0(%rbx), %rdx
leaq 0x1a5df3(%rip), %rdi    # 0x35ec08
leaq 0x1a5df5(%rip), %rsi    # 0x35ec11
movsd 0x1388c4(%rip), %xmm0   # 0x2f16e8
callq 0x9ab56
movq %rax, %r12
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %r12, %rdi
callq 0x9b0c7
leaq 0xb0(%rbx), %rdx
leaq 0x1a5df2(%rip), %rdi    # 0x35ec3f
leaq 0x1a5df4(%rip), %rsi    # 0x35ec48
movsd 0x1a5994(%rip), %xmm0   # 0x35e7f0
callq 0x9ab56
movq %rax, %r12
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %r12, %rdi
callq 0x9b0c7
movq (%rbx), %rdx
leaq 0x1a5ded(%rip), %rdi    # 0x35ec6e
leaq 0x1a5dec(%rip), %rsi    # 0x35ec74
callq 0x9ad51
movq %rax, %r12
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %r12, %rdi
callq 0x9b445
leaq 0xc8(%rbx), %rdx
leaq 0x1a5e23(%rip), %rdi    # 0x35ecd4
leaq 0x1a5e26(%rip), %rsi    # 0x35ecde
leaq 0x280d61(%rip), %rcx    # 0x439c20
callq 0x9aca4
movq %rax, %rbp
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %rbp, %rdi
movq %r12, %rsi
callq 0x9b14d
leaq 0xd8(%rbx), %rdx
leaq 0x1a5e1c(%rip), %rdi    # 0x35ed07
leaq 0x1a5e1f(%rip), %rsi    # 0x35ed11
leaq 0x280d37(%rip), %rcx    # 0x439c30
callq 0x9aca4
movq %rax, %rbp
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %rbp, %rdi
movq %r12, %rsi
callq 0x9b14d
leaq 0xe8(%rbx), %rdx
leaq 0x1a5e17(%rip), %rdi    # 0x35ed3c
leaq 0x1a5e1e(%rip), %rsi    # 0x35ed4a
leaq 0x280d0d(%rip), %rcx    # 0x439c40
callq 0x9aca4
movq %rax, %rbp
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %rbp, %rdi
movq %r12, %rsi
callq 0x9b14d
leaq 0xc4(%rbx), %rdx
leaq 0x1a5e1a(%rip), %rdi    # 0x35ed79
leaq 0x1a5e1f(%rip), %rsi    # 0x35ed85
pushq $0x1
popq %rcx
callq 0x9abcd
movq %rax, %rbp
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %rbp, %rdi
movq %r12, %rsi
callq 0x9b14d
leaq 0xc0(%rbx), %rdx
leaq 0x1a5e26(%rip), %rdi    # 0x35edbb
leaq 0x1a5e29(%rip), %rsi    # 0x35edc5
movl %r13d, %ecx
callq 0x9abcd
movq %rax, %r13
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %r13, %rdi
movq %r12, %rsi
callq 0x9b14d
movq 0x30(%rbx), %rdx
leaq 0x14492d(%rip), %rdi    # 0x2fd8f5
leaq 0x14492b(%rip), %rsi    # 0x2fd8fa
callq 0x9ad7e
movq %rax, %r13
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
leaq 0x48(%rbx), %rdx
leaq 0x144994(%rip), %rdi    # 0x2fd981
leaq 0x14499c(%rip), %rsi    # 0x2fd990
movsd 0x14450c(%rip), %xmm0   # 0x2fd508
callq 0x9ab56
movq %rax, %rbp
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %rbp, %rdi
callq 0x9b0c7
movq %rbp, %rdi
callq 0x9b445
movq %rbp, %rdi
movq %r13, %rsi
callq 0x9b14d
movq 0x10(%rbx), %rdx
movq 0x280bab(%rip), %rcx    # 0x439be0
leaq 0x280ba4(%rip), %r8     # 0x439be0
leaq 0x144980(%rip), %rdi    # 0x2fd9c3
leaq 0x144984(%rip), %rsi    # 0x2fd9ce
callq 0x9ad83
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %rbp, %rdi
callq 0x9b0c7
movq %rbp, %rdi
movq %r13, %rsi
callq 0x9b14d
leaq 0x19(%rbx), %rdx
leaq 0x1a5d7b(%rip), %rdi    # 0x35edf3
leaq 0x1a5d7b(%rip), %rsi    # 0x35edfa
xorl %ecx, %ecx
callq 0x9a997
movq %rax, %rbp
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %rbp, %rdi
movq %r13, %rsi
callq 0x9b14d
movq %rbp, %rdi
movq %r15, %rsi
callq 0x9b14d
leaq 0x1a(%rbx), %rdx
leaq 0x1a5d73(%rip), %rdi    # 0x35ee28
leaq 0x1a5d72(%rip), %rsi    # 0x35ee2e
xorl %ecx, %ecx
callq 0x9a997
movq %rax, %rbp
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %rbp, %rdi
movq %r13, %rsi
callq 0x9b14d
movq %rbp, %rdi
movq %r15, %rsi
callq 0x9b14d
leaq 0x1b(%rbx), %rdx
leaq 0x1a5d70(%rip), %rdi    # 0x35ee62
leaq 0x1a5d73(%rip), %rsi    # 0x35ee6c
xorl %ecx, %ecx
callq 0x9a997
movq %rax, %r15
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %r15, %rdi
movq %r13, %rsi
callq 0x9b14d
leaq 0x58(%rbx), %rdx
leaq 0x144912(%rip), %rdi    # 0x2fda36
leaq 0x144915(%rip), %rsi    # 0x2fda40
pushq $0x32
popq %rcx
callq 0x9abcd
movq %rax, %r15
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %r15, %rdi
callq 0x9b0c7
movq %r15, %rdi
movq %r13, %rsi
callq 0x9b14d
leaq 0x50(%rbx), %rdx
leaq 0x1cc7f6(%rip), %rdi    # 0x385955
leaq 0x1a5d59(%rip), %rsi    # 0x35eebf
xorl %ecx, %ecx
callq 0x9a9e6
movq %rax, %r15
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %r15, %rdi
callq 0x9b10a
leaq 0x1d(%rbx), %rdx
leaq 0x1a5d95(%rip), %rdi    # 0x35ef23
leaq 0x1a5d9d(%rip), %rsi    # 0x35ef32
xorl %ecx, %ecx
callq 0x9a997
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
leaq 0xf8(%rbx), %rdx
leaq 0x1a5da5(%rip), %rdi    # 0x35ef5a
leaq 0x1a5dc0(%rip), %rsi    # 0x35ef7c
pushq $0x5
popq %rcx
callq 0x9ab66
movq %rax, %r15
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %r15, %rdi
callq 0x9b0c7
movq %r15, %rdi
movq %r12, %rsi
callq 0x9b14d
leaq 0xfc(%rbx), %rdx
leaq 0x1a5d75(%rip), %rdi    # 0x35ef68
leaq 0x1a5d7f(%rip), %rsi    # 0x35ef79
pushq $-0xa
popq %rcx
callq 0x9ab66
movq %rax, %r15
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %r15, %rdi
callq 0x9b0c7
movq %r15, %rdi
movq %r12, %rsi
callq 0x9b14d
leaq 0x100(%rbx), %rdx
leaq 0x1a5d6f(%rip), %rdi    # 0x35efa0
leaq 0x1a5d7a(%rip), %rsi    # 0x35efb2
pushq $-0x14
popq %rbp
movl %ebp, %ecx
callq 0x9ab66
movq %rax, %r15
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %r15, %rdi
callq 0x9b0c7
movq %r15, %rdi
movq %r12, %rsi
callq 0x9b14d
leaq 0x104(%rbx), %rdx
leaq 0x1a5d69(%rip), %rdi    # 0x35efda
leaq 0x1a5d73(%rip), %rsi    # 0x35efeb
movl %ebp, %ecx
callq 0x9ab66
movq %rax, %r15
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq %r15, %rdi
callq 0x9b0c7
movq %r15, %rdi
movq %r12, %rsi
callq 0x9b14d
leaq 0x18(%rbx), %rdi
callq 0x9a9b6
movq %r14, %rdi
movq %rax, %rsi
callq 0x97f31
movq 0x20(%rbx), %rdi
leaq 0x28(%rbx), %rdx
movq %r14, %rsi
callq 0x9b6d7
movq 0x38(%rbx), %rsi
movq %r14, %rdi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x1167a5
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x27ec7b(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x12bd1c(%rip), %rsi    # 0x2e5013
leaq 0x18f355(%rip), %rdx    # 0x348653
leaq 0x1a559d(%rip), %rcx    # 0x35e8a2
leaq 0x1a557f(%rip), %r8     # 0x35e88b
pushq $0x7e
popq %r9
xorl %eax, %eax
callq 0x17a50
callq 0x17390