// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/querymatch.c
// Function: gt_querymatch_prettyprint
void gt_querymatch_prettyprint(double evalue,double bit_score,
                               const GtSeedExtendDisplayFlag *out_display_flag,
                               const GtQuerymatch *querymatch)
{
  const unsigned int *column_order;
  GtUword numcolumns, idx, one_off;
  char separator;
  bool gfa2_display;

  gt_assert(querymatch != NULL && querymatch->fp != NULL &&
            out_display_flag != NULL);
  gfa2_display = gt_querymatch_gfa2_display(out_display_flag);
  column_order = gt_querymatch_display_order(&numcolumns,out_display_flag);
  gt_assert(numcolumns > 0);
  one_off = gt_querymatch_blast_display(out_display_flag) ? 1 : 0;
  separator = (gt_querymatch_blast_display(out_display_flag) ||
               gt_querymatch_tabsep_display(out_display_flag) ||
               gfa2_display) ? '\t' : ' ';
  for (idx = 0; idx < numcolumns; idx++)
  {
    const unsigned int co = column_order[idx];
    bool dtrace;

    if (idx > 0 && (querymatch->score > 0 ||
                   (co != Gt_Score_display &&
                    co != Gt_Editdist_display &&
                    co != Gt_Identity_display)))
    {
      fputc(separator,querymatch->fp);
    }
    switch (co)
    {
      case Gt_Cigar_display:
      case Gt_Cigarx_display:
        if (querymatch->distance > 0)
        {
          gt_querymatchoutoptions_cigar_show(
                                     querymatch->ref_querymatchoutoptions,
                                     co == Gt_Cigar_display ? false : true,
                                     querymatch->fp);
        } else
        {
          fprintf(querymatch->fp,GT_WU "%c",gt_querymatch_dblen(querymatch),
                                            co == Gt_Cigar_display ? 'M' : '=');
        }
        break;
      case Gt_Trace_display:
      case Gt_Dtrace_display:
        dtrace = co == Gt_Dtrace_display ? true : false;
        if (querymatch->distance > 0)
        {
          gt_querymatchoutoptions_trace_show(
                                querymatch->ref_querymatchoutoptions,
                                dtrace,
                                querymatch->fp);
        } else
        {
          gt_querymatch_exact_match_trace_show(querymatch->fp,
                                               dtrace,
                                               gt_querymatch_dblen(querymatch),
                                               gt_querymatch_trace_delta_display
                                                  (out_display_flag));
        }
        break;
      case Gt_S_len_display:
        fprintf(querymatch->fp,GT_WU,gt_querymatch_dblen(querymatch));
        break;
      case Gt_S_seqnum_display:
        if (gfa2_display)
        {
          fputc('S',querymatch->fp);
        }
        fprintf(querymatch->fp,GT_WU,querymatch->dbseqnum);
        if (gfa2_display)
        {
          fputc('+',querymatch->fp);
        }
        break;
      case Gt_Subjectid_display:
        gt_querymatch_description_out(querymatch->fp,querymatch->db_desc);
        break;
      case Gt_S_start_display:
        if (!GT_ISDIRREVERSE(querymatch->query_readmode) ||
            !gt_querymatch_blast_display(out_display_flag))
        {
          fprintf(querymatch->fp,GT_WU,querymatch->dbstart_relative + one_off);
        } else
        {
          fprintf(querymatch->fp,GT_WU,querymatch->db_seqlen - 1 -
                                       querymatch->dbstart_relative + one_off);
        }
        break;
      case Gt_S_end_display:
        if (!GT_ISDIRREVERSE(querymatch->query_readmode) ||
            !gt_querymatch_blast_display(out_display_flag))
        {
          fprintf(querymatch->fp,GT_WU,
                  gt_querymatch_dbend_relative(querymatch) + one_off);
        } else
        {
          gt_assert(querymatch->db_seqlen >= querymatch->dbstart_relative +
                                             querymatch->dblen);
          fprintf(querymatch->fp,GT_WU,querymatch->db_seqlen -
                                       querymatch->dbstart_relative -
                                       querymatch->dblen + one_off);
        }
        break;
      case Gt_Strand_display:
        fprintf(querymatch->fp,"%c",
                gt_seed_extend_outflag[querymatch->query_readmode]);
        break;
      case Gt_Q_len_display:
        fprintf(querymatch->fp,GT_WU,gt_querymatch_querylen(querymatch));
        break;
      case Gt_Q_seqnum_display:
        if (gfa2_display)
        {
          fputc(querymatch->selfmatch ? 'S' : 'Q',querymatch->fp);
        }
        fprintf(querymatch->fp,GT_WU,querymatch->queryseqnum);
        if (gfa2_display)
        {
          fputc(GT_ISDIRREVERSE(querymatch->query_readmode) ? '-' : '+',
                querymatch->fp);
        }
        break;
      case Gt_Queryid_display:
        gt_querymatch_description_out(querymatch->fp,querymatch->query_desc);
        break;
      case Gt_Q_start_display:
        fprintf(querymatch->fp,GT_WU,querymatch->querystart_fwdstrand
                                     + one_off);
        break;
      case Gt_Q_end_display:
        if (!gt_querymatch_gfa2_display(out_display_flag) &&
            (!GT_ISDIRREVERSE(querymatch->query_readmode) ||
             !gt_querymatch_blast_display(out_display_flag)))
        {
          fprintf(querymatch->fp,GT_WU,
                  gt_querymatch_queryend_relative(querymatch) + one_off);
        } else
        {
          fprintf(querymatch->fp,GT_WU,
                  querymatch->querystart_fwdstrand + querymatch->querylen - 1
                                                   + one_off);
        }
        break;
      case Gt_Alignmentlength_display:
        fprintf(querymatch->fp,GT_WU,
                gt_querymatch_alignment_length(querymatch));
        break;
      case Gt_Mismatches_display:
        if (gfa2_display)
        {
          fprintf(querymatch->fp,"MM:i:");
        }
        fprintf(querymatch->fp,GT_WU,querymatch->mismatches);
        break;
      case Gt_Indels_display:
      case Gt_Gapopens_display:
        if (gfa2_display)
        {
          fprintf(querymatch->fp,"IN:i:");
        }
        fprintf(querymatch->fp,GT_WU,gt_querymatch_indels(querymatch));
        break;
      case Gt_Score_display:
        if (querymatch->score > 0)
        {
          fprintf(querymatch->fp,GT_WD,querymatch->score);
        }
        break;
      case Gt_Editdist_display:
        if (gfa2_display)
        {
          fprintf(querymatch->fp,"ED:i:");
        }
        if (querymatch->score > 0)
        {
          fprintf(querymatch->fp,GT_WU,querymatch->distance);
        }
        break;
      case Gt_Identity_display:
        if (querymatch->score > 0)
        {
          if (gfa2_display)
          {
            fprintf(querymatch->fp,"ID:f:");
          }
          fprintf(querymatch->fp,"%.2f",
                  gt_querymatch_similarity(
                       querymatch->distance,
                       gt_querymatch_aligned_len(querymatch)));
        }
        break;
      case Gt_Seed_len_display:
        fprintf(querymatch->fp,GT_WU,querymatch->seedlen);
        break;
      case Gt_Seed_s_display:
        fprintf(querymatch->fp,GT_WU,querymatch->db_seedpos_rel + one_off);
        break;
      case Gt_Seed_q_display:
        fprintf(querymatch->fp,GT_WU,querymatch->query_seedpos_rel + one_off);
        break;
      case Gt_S_seqlen_display:
        fprintf(querymatch->fp,GT_WU,querymatch->db_seqlen);
        break;
      case Gt_Q_seqlen_display:
        fprintf(querymatch->fp,GT_WU,querymatch->query_seqlen);
        break;
      case Gt_Evalue_display:
        gt_assert(evalue != DBL_MAX);
        fprintf(querymatch->fp,"%1.0e",evalue);
        break;
      case Gt_Bitscore_display:
        gt_assert(bit_score != DBL_MAX);
        fprintf(querymatch->fp,"%.1f",bit_score);
        break;
      default: fprintf(stderr,"function %s, file %s, line %d: "
                               "illegal column %u\n",__func__,__FILE__,
                               __LINE__,column_order[idx]);
               exit(GT_EXIT_PROGRAMMING_ERROR);
    }
  }
  fputc('\n',querymatch->fp);
  if (gt_querymatch_alignment_display(out_display_flag))
  {
    bool subject_first = true,
         alignment_show_forward = true,
         show_complement_characters = false,
         distinguish_mismatch_match = true;
    GtUword subject_seqlength = 0, query_reference = 0;

    if (gt_querymatch_blast_display(out_display_flag))
    {
      subject_first = false;
      if (GT_ISDIRREVERSE(querymatch->query_readmode))
      {
        alignment_show_forward = false;
        if (GT_ISDIRCOMPLEMENT(querymatch->query_readmode))
        {
          subject_seqlength = querymatch->db_seqlen;
          gt_assert(querymatch->query_seqlen >= querymatch->querylen);
          query_reference = querymatch->query_seqlen - querymatch->querylen;
        }
      }
      if (GT_ISDIRCOMPLEMENT(querymatch->query_readmode))
      {
        show_complement_characters = true;
      }
    }
    gt_querymatchoutoptions_alignment_show(querymatch->ref_querymatchoutoptions,
                                           subject_seqlength,
                                           query_reference,
                                           one_off,
                                           querymatch->distance,
                                           distinguish_mismatch_match,
                                           querymatch->verify_alignment,
                                           subject_first,
                                           alignment_show_forward,
                                           show_complement_characters,
                                           querymatch->fp);
  }
}

// Assembly:
pushq %rbp
pushq %rbx
subq $0x108, %rsp            # imm = 0x108
movsd %xmm0, 0x100(%rsp)
movsd %xmm1, 0xf8(%rsp)
movq %rdi, 0xf0(%rsp)
movq %rsi, 0xe8(%rsp)
cmpq $0x0, 0xe8(%rsp)
je 0x267c23
movq 0xe8(%rsp), %rax
cmpq $0x0, 0x98(%rax)
je 0x267c23
cmpq $0x0, 0xf0(%rsp)
jne 0x267c5b
movq 0x3d4376(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2ae3df(%rip), %rsi    # 0x516013
leaq 0x31665a(%rip), %rdx    # 0x57e295
leaq 0x31669c(%rip), %rcx    # 0x57e2de
leaq 0x316537(%rip), %r8     # 0x57e180
movl $0x1aa, %r9d            # imm = 0x1AA
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x267c5d
movq 0xf0(%rsp), %rdi
callq 0x2657b0
andb $0x1, %al
movb %al, 0xc6(%rsp)
movq 0xf0(%rsp), %rsi
leaq 0xd8(%rsp), %rdi
callq 0x265bf0
movq %rax, 0xe0(%rsp)
cmpq $0x0, 0xd8(%rsp)
ja 0x267cd3
movq 0x3d42fe(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2ae367(%rip), %rsi    # 0x516013
leaq 0x315d40(%rip), %rdx    # 0x57d9f3
leaq 0x316624(%rip), %rcx    # 0x57e2de
leaq 0x3164bf(%rip), %r8     # 0x57e180
movl $0x1ad, %r9d            # imm = 0x1AD
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x267cd5
movq 0xf0(%rsp), %rdi
callq 0x265790
movb %al, %dl
xorl %eax, %eax
movl $0x1, %ecx
testb $0x1, %dl
cmovnel %ecx, %eax
cltq
movq %rax, 0xc8(%rsp)
movq 0xf0(%rsp), %rdi
callq 0x265790
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0xa7(%rsp)
jne 0x267d43
movq 0xf0(%rsp), %rdi
callq 0x265770
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0xa7(%rsp)
jne 0x267d43
movb 0xc6(%rsp), %al
movb %al, 0xa7(%rsp)
movb 0xa7(%rsp), %dl
movl $0x20, %eax
movl $0x9, %ecx
testb $0x1, %dl
cmovnel %ecx, %eax
movb %al, 0xc7(%rsp)
movq $0x0, 0xd0(%rsp)
movq 0xd0(%rsp), %rax
cmpq 0xd8(%rsp), %rax
jae 0x26893f
movq 0xe0(%rsp), %rax
movq 0xd0(%rsp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, 0xc0(%rsp)
cmpq $0x0, 0xd0(%rsp)
jbe 0x267df4
movq 0xe8(%rsp), %rax
cmpq $0x0, 0x80(%rax)
jg 0x267dd8
cmpl $0x1d, 0xc0(%rsp)
je 0x267df4
cmpl $0x1e, 0xc0(%rsp)
je 0x267df4
cmpl $0x1f, 0xc0(%rsp)
je 0x267df4
movsbl 0xc7(%rsp), %edi
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rsi
callq 0x198d0
movl 0xc0(%rsp), %eax
addl $-0xa, %eax
movl %eax, %ecx
movq %rcx, 0x98(%rsp)
subl $0x1c, %eax
ja 0x2688da
movq 0x98(%rsp), %rax
leaq 0x316278(%rip), %rcx    # 0x57e098
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0xe8(%rsp), %rax
cmpq $0x0, 0x70(%rax)
jbe 0x267e7d
movq 0xe8(%rsp), %rax
movq 0x90(%rax), %rdi
movl 0xc0(%rsp), %edx
movl $0x1, %eax
xorl %ecx, %ecx
cmpl $0xa, %edx
cmovel %ecx, %eax
cmpl $0x0, %eax
setne %al
movq 0xe8(%rsp), %rcx
movq 0x98(%rcx), %rdx
movzbl %al, %esi
andl $0x1, %esi
callq 0x2651e0
jmp 0x267ed1
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rax
movq %rax, 0x90(%rsp)
movq 0xe8(%rsp), %rdi
callq 0x2676e0
movq 0x90(%rsp), %rdi
movq %rax, %rdx
movl 0xc0(%rsp), %esi
movl $0x3d, %ecx
movl $0x4d, %eax
cmpl $0xa, %esi
cmovel %eax, %ecx
leaq 0x31642e(%rip), %rsi    # 0x57e2f8
movb $0x0, %al
callq 0x199f0
jmp 0x268924
movl 0xc0(%rsp), %edx
xorl %eax, %eax
movl $0x1, %ecx
cmpl $0xd, %edx
cmovel %ecx, %eax
cmpl $0x0, %eax
setne %al
andb $0x1, %al
movb %al, 0xbf(%rsp)
movq 0xe8(%rsp), %rax
cmpq $0x0, 0x70(%rax)
jbe 0x267f39
movq 0xe8(%rsp), %rax
movq 0x90(%rax), %rdi
movb 0xbf(%rsp), %al
movq 0xe8(%rsp), %rcx
movq 0x98(%rcx), %rdx
andb $0x1, %al
movzbl %al, %esi
callq 0x265280
jmp 0x267f9e
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rax
movq %rax, 0x78(%rsp)
movb 0xbf(%rsp), %al
movb %al, 0x8f(%rsp)
movq 0xe8(%rsp), %rdi
callq 0x2676e0
movq %rax, 0x80(%rsp)
movq 0xf0(%rsp), %rdi
callq 0x265ca0
movq 0x78(%rsp), %rdi
movq 0x80(%rsp), %rdx
movq %rax, %rcx
movb 0x8f(%rsp), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x268b90
jmp 0x268924
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rax
movq %rax, 0x70(%rsp)
movq 0xe8(%rsp), %rdi
callq 0x2676e0
movq 0x70(%rsp), %rdi
movq %rax, %rdx
leaq 0x327036(%rip), %rsi    # 0x58f009
movb $0x0, %al
callq 0x199f0
jmp 0x268924
testb $0x1, 0xc6(%rsp)
je 0x268002
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rsi
movl $0x53, %edi
callq 0x198d0
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
movq 0xe8(%rsp), %rax
movq (%rax), %rdx
leaq 0x326fe6(%rip), %rsi    # 0x58f009
movb $0x0, %al
callq 0x199f0
testb $0x1, 0xc6(%rsp)
je 0x26804d
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rsi
movl $0x2b, %edi
callq 0x198d0
jmp 0x268924
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
movq 0xe8(%rsp), %rax
movq 0xa0(%rax), %rsi
callq 0x268c80
jmp 0x268924
movq 0xe8(%rsp), %rax
cmpl $0x1, 0x88(%rax)
je 0x26809c
movq 0xe8(%rsp), %rax
cmpl $0x3, 0x88(%rax)
jne 0x2680ad
movq 0xf0(%rsp), %rdi
callq 0x265790
testb $0x1, %al
jne 0x2680e0
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
movq 0xe8(%rsp), %rax
movq 0x8(%rax), %rdx
addq 0xc8(%rsp), %rdx
leaq 0x326f32(%rip), %rsi    # 0x58f009
movb $0x0, %al
callq 0x199f0
jmp 0x268121
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
movq 0xe8(%rsp), %rax
movq 0x18(%rax), %rdx
subq $0x1, %rdx
movq 0xe8(%rsp), %rax
subq 0x8(%rax), %rdx
addq 0xc8(%rsp), %rdx
leaq 0x326eef(%rip), %rsi    # 0x58f009
movb $0x0, %al
callq 0x199f0
jmp 0x268924
movq 0xe8(%rsp), %rax
cmpl $0x1, 0x88(%rax)
je 0x268148
movq 0xe8(%rsp), %rax
cmpl $0x3, 0x88(%rax)
jne 0x268159
movq 0xf0(%rsp), %rdi
callq 0x265790
testb $0x1, %al
jne 0x26819d
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rax
movq %rax, 0x68(%rsp)
movq 0xe8(%rsp), %rdi
callq 0x268cc0
movq 0x68(%rsp), %rdi
movq %rax, %rdx
addq 0xc8(%rsp), %rdx
leaq 0x326e78(%rip), %rsi    # 0x58f009
movb $0x0, %al
callq 0x199f0
jmp 0x26824b
jmp 0x26819f
movq 0xe8(%rsp), %rax
movq 0x18(%rax), %rax
movq 0xe8(%rsp), %rcx
movq 0x8(%rcx), %rcx
movq 0xe8(%rsp), %rdx
addq 0x10(%rdx), %rcx
cmpq %rcx, %rax
jae 0x268200
movq 0x3d3dd1(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2ade3a(%rip), %rsi    # 0x516013
leaq 0x31611e(%rip), %rdx    # 0x57e2fe
leaq 0x3160f7(%rip), %rcx    # 0x57e2de
leaq 0x315f92(%rip), %r8     # 0x57e180
movl $0x205, %r9d            # imm = 0x205
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x268202
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
movq 0xe8(%rsp), %rax
movq 0x18(%rax), %rdx
movq 0xe8(%rsp), %rax
subq 0x8(%rax), %rdx
movq 0xe8(%rsp), %rax
subq 0x10(%rax), %rdx
addq 0xc8(%rsp), %rdx
leaq 0x326dc5(%rip), %rsi    # 0x58f009
movb $0x0, %al
callq 0x199f0
jmp 0x268924
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
movq 0x3d63ba(%rip), %rax    # 0x63e620
movq 0xe8(%rsp), %rcx
movl 0x88(%rcx), %ecx
movsbl (%rax,%rcx), %edx
leaq 0x2f9a4d(%rip), %rsi    # 0x561ccc
movb $0x0, %al
callq 0x199f0
jmp 0x268924
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rax
movq %rax, 0x60(%rsp)
movq 0xe8(%rsp), %rdi
callq 0x2676a0
movq 0x60(%rsp), %rdi
movq %rax, %rdx
leaq 0x326d4e(%rip), %rsi    # 0x58f009
movb $0x0, %al
callq 0x199f0
jmp 0x268924
testb $0x1, 0xc6(%rsp)
je 0x268303
movq 0xe8(%rsp), %rax
movb 0x8c(%rax), %cl
movl $0x51, %edi
movl $0x53, %eax
testb $0x1, %cl
cmovnel %eax, %edi
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rsi
callq 0x198d0
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
movq 0xe8(%rsp), %rax
movq 0x28(%rax), %rdx
leaq 0x326ce4(%rip), %rsi    # 0x58f009
movb $0x0, %al
callq 0x199f0
testb $0x1, 0xc6(%rsp)
je 0x26838b
movq 0xe8(%rsp), %rcx
movb $0x1, %al
cmpl $0x1, 0x88(%rcx)
movb %al, 0x5f(%rsp)
je 0x268363
movq 0xe8(%rsp), %rax
cmpl $0x3, 0x88(%rax)
sete %al
movb %al, 0x5f(%rsp)
movb 0x5f(%rsp), %cl
movl $0x2b, %edi
movl $0x2d, %eax
testb $0x1, %cl
cmovnel %eax, %edi
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rsi
callq 0x198d0
jmp 0x268924
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
movq 0xe8(%rsp), %rax
movq 0xa8(%rax), %rsi
callq 0x268c80
jmp 0x268924
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
movq 0xe8(%rsp), %rax
movq 0x38(%rax), %rdx
addq 0xc8(%rsp), %rdx
leaq 0x326c27(%rip), %rsi    # 0x58f009
movb $0x0, %al
callq 0x199f0
jmp 0x268924
movq 0xf0(%rsp), %rdi
callq 0x2657b0
testb $0x1, %al
jne 0x268473
movq 0xe8(%rsp), %rax
cmpl $0x1, 0x88(%rax)
je 0x268421
movq 0xe8(%rsp), %rax
cmpl $0x3, 0x88(%rax)
jne 0x268432
movq 0xf0(%rsp), %rdi
callq 0x265790
testb $0x1, %al
jne 0x268473
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rax
movq %rax, 0x50(%rsp)
movq 0xe8(%rsp), %rdi
callq 0x268ce0
movq 0x50(%rsp), %rdi
movq %rax, %rdx
addq 0xc8(%rsp), %rdx
leaq 0x326b9f(%rip), %rsi    # 0x58f009
movb $0x0, %al
callq 0x199f0
jmp 0x2684b4
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
movq 0xe8(%rsp), %rax
movq 0x38(%rax), %rdx
movq 0xe8(%rsp), %rax
addq 0x40(%rax), %rdx
subq $0x1, %rdx
addq 0xc8(%rsp), %rdx
leaq 0x326b5c(%rip), %rsi    # 0x58f009
movb $0x0, %al
callq 0x199f0
jmp 0x268924
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rax
movq %rax, 0x48(%rsp)
movq 0xe8(%rsp), %rdi
callq 0x268d00
movq 0x48(%rsp), %rdi
movq %rax, %rdx
leaq 0x326b20(%rip), %rsi    # 0x58f009
movb $0x0, %al
callq 0x199f0
jmp 0x268924
testb $0x1, 0xc6(%rsp)
je 0x26851c
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
leaq 0x315e33(%rip), %rsi    # 0x57e348
movb $0x0, %al
callq 0x199f0
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
movq 0xe8(%rsp), %rax
movq 0x78(%rax), %rdx
leaq 0x326acb(%rip), %rsi    # 0x58f009
movb $0x0, %al
callq 0x199f0
jmp 0x268924
testb $0x1, 0xc6(%rsp)
je 0x268571
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
leaq 0x315de4(%rip), %rsi    # 0x57e34e
movb $0x0, %al
callq 0x199f0
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rax
movq %rax, 0x40(%rsp)
movq 0xe8(%rsp), %rdi
callq 0x268d40
movq 0x40(%rsp), %rdi
movq %rax, %rdx
leaq 0x326a68(%rip), %rsi    # 0x58f009
movb $0x0, %al
callq 0x199f0
jmp 0x268924
movq 0xe8(%rsp), %rax
cmpq $0x0, 0x80(%rax)
jle 0x2685eb
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
movq 0xe8(%rsp), %rax
movq 0x80(%rax), %rdx
leaq 0x2e628b(%rip), %rsi    # 0x54e86f
movb $0x0, %al
callq 0x199f0
jmp 0x268924
testb $0x1, 0xc6(%rsp)
je 0x268617
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
leaq 0x315d44(%rip), %rsi    # 0x57e354
movb $0x0, %al
callq 0x199f0
movq 0xe8(%rsp), %rax
cmpq $0x0, 0x80(%rax)
jle 0x268652
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
movq 0xe8(%rsp), %rax
movq 0x70(%rax), %rdx
leaq 0x3269be(%rip), %rsi    # 0x58f009
movb $0x0, %al
callq 0x199f0
jmp 0x268924
movq 0xe8(%rsp), %rax
cmpq $0x0, 0x80(%rax)
jle 0x2686e2
testb $0x1, 0xc6(%rsp)
je 0x268690
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
leaq 0x315cd1(%rip), %rsi    # 0x57e35a
movb $0x0, %al
callq 0x199f0
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rax
movq %rax, 0x38(%rsp)
movq 0xe8(%rsp), %rax
movq 0x70(%rax), %rax
movq %rax, 0x30(%rsp)
movq 0xe8(%rsp), %rdi
callq 0x268da0
movq 0x30(%rsp), %rdi
movq %rax, %rsi
callq 0x268d60
movq 0x38(%rsp), %rdi
leaq 0x2e0f32(%rip), %rsi    # 0x54960d
movb $0x1, %al
callq 0x199f0
jmp 0x268924
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
movq 0xe8(%rsp), %rax
movq 0x68(%rax), %rdx
leaq 0x326900(%rip), %rsi    # 0x58f009
movb $0x0, %al
callq 0x199f0
jmp 0x268924
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
movq 0xe8(%rsp), %rax
movq 0x58(%rax), %rdx
addq 0xc8(%rsp), %rdx
leaq 0x3268ca(%rip), %rsi    # 0x58f009
movb $0x0, %al
callq 0x199f0
jmp 0x268924
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
movq 0xe8(%rsp), %rax
movq 0x60(%rax), %rdx
addq 0xc8(%rsp), %rdx
leaq 0x326894(%rip), %rsi    # 0x58f009
movb $0x0, %al
callq 0x199f0
jmp 0x268924
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
movq 0xe8(%rsp), %rax
movq 0x18(%rax), %rdx
leaq 0x326866(%rip), %rsi    # 0x58f009
movb $0x0, %al
callq 0x199f0
jmp 0x268924
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
movq 0xe8(%rsp), %rax
movq 0x48(%rax), %rdx
leaq 0x326838(%rip), %rsi    # 0x58f009
movb $0x0, %al
callq 0x199f0
jmp 0x268924
jmp 0x2687df
movsd 0x100(%rsp), %xmm0
movsd 0x2b0560(%rip), %xmm1   # 0x518d50
ucomisd %xmm1, %xmm0
jne 0x268830
jp 0x268830
movq 0x3d37a1(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2ad80a(%rip), %rsi    # 0x516013
leaq 0x315b50(%rip), %rdx    # 0x57e360
leaq 0x315ac7(%rip), %rcx    # 0x57e2de
leaq 0x315962(%rip), %r8     # 0x57e180
movl $0x273, %r9d            # imm = 0x273
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x268832
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
movsd 0x100(%rsp), %xmm0
leaq 0x315b21(%rip), %rsi    # 0x57e372
movb $0x1, %al
callq 0x199f0
jmp 0x268924
jmp 0x26885f
movsd 0xf8(%rsp), %xmm0
movsd 0x2b04e0(%rip), %xmm1   # 0x518d50
ucomisd %xmm1, %xmm0
jne 0x2688b0
jp 0x2688b0
movq 0x3d3721(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2ad78a(%rip), %rsi    # 0x516013
leaq 0x315ae8(%rip), %rdx    # 0x57e378
leaq 0x315a47(%rip), %rcx    # 0x57e2de
leaq 0x3158e2(%rip), %r8     # 0x57e180
movl $0x277, %r9d            # imm = 0x277
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2688b2
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rdi
movsd 0xf8(%rsp), %xmm0
leaq 0x2c369b(%rip), %rsi    # 0x52bf6c
movb $0x1, %al
callq 0x199f0
jmp 0x268924
movq 0x3d36bf(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
movq 0xe0(%rsp), %rax
movq 0xd0(%rsp), %rcx
movl (%rax,%rcx,4), %r9d
leaq 0x315a8e(%rip), %rsi    # 0x57e38d
leaq 0x3159d8(%rip), %rdx    # 0x57e2de
leaq 0x315873(%rip), %rcx    # 0x57e180
movl $0x27c, %r8d            # imm = 0x27C
movb $0x0, %al
callq 0x199f0
movl $0x2, %edi
callq 0x19890
jmp 0x268926
movq 0xd0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xd0(%rsp)
jmp 0x267d6d
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rsi
movl $0xa, %edi
callq 0x198d0
movq 0xf0(%rsp), %rdi
callq 0x265cd0
testb $0x1, %al
jne 0x26896e
jmp 0x268b7f
movb $0x1, 0xbe(%rsp)
movb $0x1, 0xbd(%rsp)
movb $0x0, 0xbc(%rsp)
movb $0x1, 0xbb(%rsp)
movq $0x0, 0xb0(%rsp)
movq $0x0, 0xa8(%rsp)
movq 0xf0(%rsp), %rdi
callq 0x265790
testb $0x1, %al
jne 0x2689bc
jmp 0x268ace
movb $0x0, 0xbe(%rsp)
movq 0xe8(%rsp), %rax
cmpl $0x1, 0x88(%rax)
je 0x2689ea
movq 0xe8(%rsp), %rax
cmpl $0x3, 0x88(%rax)
jne 0x268aa2
movb $0x0, 0xbd(%rsp)
movq 0xe8(%rsp), %rax
cmpl $0x2, 0x88(%rax)
je 0x268a18
movq 0xe8(%rsp), %rax
cmpl $0x3, 0x88(%rax)
jne 0x268aa0
movq 0xe8(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0xb0(%rsp)
movq 0xe8(%rsp), %rax
movq 0x48(%rax), %rax
movq 0xe8(%rsp), %rcx
cmpq 0x40(%rcx), %rax
jae 0x268a7e
movq 0x3d3553(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2ad5bc(%rip), %rsi    # 0x516013
leaq 0x315961(%rip), %rdx    # 0x57e3bf
leaq 0x315879(%rip), %rcx    # 0x57e2de
leaq 0x315714(%rip), %r8     # 0x57e180
movl $0x292, %r9d            # imm = 0x292
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x268a80
movq 0xe8(%rsp), %rax
movq 0x48(%rax), %rax
movq 0xe8(%rsp), %rcx
subq 0x40(%rcx), %rax
movq %rax, 0xa8(%rsp)
jmp 0x268aa2
movq 0xe8(%rsp), %rax
cmpl $0x2, 0x88(%rax)
je 0x268ac4
movq 0xe8(%rsp), %rax
cmpl $0x3, 0x88(%rax)
jne 0x268acc
movb $0x1, 0xbc(%rsp)
jmp 0x268ace
movq 0xe8(%rsp), %rax
movq 0x90(%rax), %rdi
movq 0xb0(%rsp), %rsi
movq 0xa8(%rsp), %rdx
movq 0xc8(%rsp), %rcx
movq 0xe8(%rsp), %rax
movq 0x70(%rax), %r8
movb 0xbb(%rsp), %r9b
movq 0xe8(%rsp), %rax
movb 0x8d(%rax), %bpl
movb 0xbe(%rsp), %bl
movb 0xbd(%rsp), %r11b
movb 0xbc(%rsp), %r10b
movq 0xe8(%rsp), %rax
movq 0x98(%rax), %rax
andb $0x1, %r9b
andb $0x1, %bpl
andb $0x1, %bl
andb $0x1, %r11b
andb $0x1, %r10b
movzbl %r9b, %r9d
movzbl %bpl, %ebp
movl %ebp, (%rsp)
movzbl %bl, %ebx
movl %ebx, 0x8(%rsp)
movzbl %r11b, %r11d
movl %r11d, 0x10(%rsp)
movzbl %r10b, %r10d
movl %r10d, 0x18(%rsp)
movq %rax, 0x20(%rsp)
callq 0x265390
addq $0x108, %rsp            # imm = 0x108
popq %rbx
popq %rbp
retq
nopl (%rax)