// File: /workspace/github_c_makefile_star2_O3/genometools[P]genometools/src/tools/gt_readjoiner_asqg.c
// Function: gt_readjoiner_asqg_runner
static int gt_readjoiner_asqg_runner(GT_UNUSED int argc,
    GT_UNUSED const char **argv, GT_UNUSED int parsed_args,
    void *tool_arguments, GtError *err)
{
  GtReadjoinerAsqgArguments *arguments = tool_arguments;
  GtLogger *verbose_logger, *default_logger;
  GtEncseqLoader *el;
  GtEncseq *reads;
  GtTimer *timer = NULL;
  GtStrgraph *strgraph = NULL;
  GtBitsequence *contained = NULL;
  const char *readset = gt_str_get(arguments->readset);
  bool eqlen;
  GtUword nreads;
  int had_err = 0;

  if (gt_showtime_enabled())
  {
    timer = gt_timer_new_with_progress_description(
        GT_READJOINER_ASQG_MSG_INIT);
    gt_timer_start(timer);
    gt_timer_show_cpu_time_by_progress(timer);
  }
  gt_assert(arguments);
  gt_error_check(err);
  default_logger = gt_logger_new(!arguments->quiet, GT_LOGGER_DEFLT_PREFIX,
      stdout);
  gt_logger_log(default_logger, "gt readjoiner asqg");
  verbose_logger = gt_logger_new(arguments->verbose, GT_LOGGER_DEFLT_PREFIX,
      stdout);
  gt_logger_log(verbose_logger, "verbose output activated");
  gt_logger_log(verbose_logger, "readset name = %s", readset);
  if (arguments->minmatchlength > 0)
    gt_logger_log(verbose_logger, "SPM length cutoff = %u",
        arguments->minmatchlength);

  el = gt_encseq_loader_new();
  gt_encseq_loader_drop_description_support(el);
  gt_encseq_loader_disable_autosupport(el);
  reads = gt_encseq_loader_load(el, readset, err);
  nreads = gt_encseq_num_of_sequences(reads);
  gt_assert(reads != NULL);
  eqlen = gt_encseq_accesstype_get(reads) == GT_ACCESS_TYPE_EQUALLENGTH;
  gt_readjoiner_asqg_show_current_space(GT_READJOINER_ASQG_MSG_INIT);
  if (!eqlen)
  {
    unsigned int i;
    GtUword nofreads;
    GtStr *filename = gt_str_clone(arguments->readset);
    if (gt_showtime_enabled())
      gt_timer_show_progress(timer, GT_READJOINER_ASQG_MSG_CNT, stdout);
    gt_logger_log(default_logger, GT_READJOINER_ASQG_MSG_CNT);
    gt_str_append_cstr(filename, ".0" GT_READJOINER_SUFFIX_CNTLIST);
    had_err = gt_cntlist_parse(gt_str_get(filename), true, &contained,
        &nofreads, err);
    for (i = 1U; i < arguments->nspmfiles && had_err == 0; i++)
    {
      GtUword nofreads_i;
      gt_str_reset(filename);
      gt_str_append_str(filename, arguments->readset);
      gt_str_append_char(filename, '.');
      gt_str_append_uint(filename, i);
      gt_str_append_cstr(filename, GT_READJOINER_SUFFIX_CNTLIST);
      had_err = gt_cntlist_parse(gt_str_get(filename), false, &contained,
          &nofreads_i, err);
      gt_assert(nofreads == nofreads_i);
    }
    gt_str_delete(filename);
    gt_readjoiner_asqg_show_current_space(GT_READJOINER_ASQG_MSG_CNT);
  }
  if (!arguments->sg)
  {
    GtStr *filename = NULL;
    GtFile *file = NULL;
    GtAsqgWriter *aw = NULL;
    if (had_err == 0)
    {
      filename = gt_str_clone(arguments->readset);
      gt_str_append_cstr(filename, arguments->gz ?
          GT_READJOINER_SUFFIX_SG_ASQG_GZ : GT_READJOINER_SUFFIX_SG_ASQG);
      file = gt_file_open(arguments->gz ? GT_FILE_MODE_GZIP :
          GT_FILE_MODE_UNCOMPRESSED, gt_str_get(filename), "w", err);
      if (file == NULL)
        had_err = -1;
    }
    if (had_err == 0)
    {
      aw = gt_asqg_writer_new(file, reads);
      if (gt_showtime_enabled())
        gt_timer_show_progress(timer, GT_READJOINER_ASQG_MSG_VERTICES,
            stdout);
      gt_logger_log(default_logger, GT_READJOINER_ASQG_MSG_VERTICES);
      had_err = gt_asqg_writer_show_header(aw, 0.0,
          (GtUword)arguments->minmatchlength,
          gt_str_get(arguments->readset), false, false, err);
    }
    if (had_err == 0)
    {
      had_err = gt_asqg_writer_show_vertices(aw, err);
      gt_readjoiner_asqg_show_current_space(GT_READJOINER_ASQG_MSG_VERTICES);
    }
    if (had_err == 0)
    {
      if (gt_showtime_enabled())
        gt_timer_show_progress(timer, GT_READJOINER_ASQG_MSG_EDGES, stdout);
      gt_logger_log(default_logger, GT_READJOINER_ASQG_MSG_EDGES);
      had_err = gt_readjoiner_asqg_use_spmfiles(gt_spmproc_show_asqg,
          aw, readset, arguments->minmatchlength, arguments->nspmfiles,
          contained, err);
      gt_readjoiner_asqg_show_current_space(GT_READJOINER_ASQG_MSG_EDGES);
    }
    gt_str_delete(filename);
    gt_file_delete(file);
    gt_asqg_writer_delete(aw);
  }
  else
  {
    if (had_err == 0)
    {
      if (gt_showtime_enabled())
        gt_timer_show_progress(timer, GT_READJOINER_ASQG_MSG_COUNT, stdout);
      gt_logger_log(default_logger, GT_READJOINER_ASQG_MSG_COUNT);
      strgraph = gt_strgraph_new(nreads);
      had_err = gt_readjoiner_asqg_use_spmfiles(gt_spmproc_strgraph_count,
          strgraph, readset, arguments->minmatchlength, arguments->nspmfiles,
          contained, err);
      gt_readjoiner_asqg_show_current_space(GT_READJOINER_ASQG_MSG_COUNT);
    }
    if (had_err == 0)
    {
      if (gt_showtime_enabled())
        gt_timer_show_progress(timer, GT_READJOINER_ASQG_MSG_INSERT, stdout);
      gt_logger_log(default_logger, GT_READJOINER_ASQG_MSG_INSERT);
      gt_strgraph_allocate_graph(strgraph,
          eqlen ? gt_encseq_seqlength(reads, 0) : 0,
          eqlen ? NULL : reads);
      had_err = gt_strgraph_load_spm_from_file(strgraph,
          (GtUword)arguments->minmatchlength, false,
          contained, readset, arguments->nspmfiles,
          GT_READJOINER_SUFFIX_SPMLIST, err);
      gt_readjoiner_asqg_show_current_space(GT_READJOINER_ASQG_MSG_INSERT);
    }
    if (had_err == 0)
    {
      if (gt_showtime_enabled())
        gt_timer_show_progress(timer, GT_READJOINER_ASQG_MSG_OUTPUT, stdout);
      gt_logger_log(default_logger, GT_READJOINER_ASQG_MSG_OUTPUT);
      gt_strgraph_set_encseq(strgraph, reads);
      gt_strgraph_show(strgraph, arguments->gz ? GT_STRGRAPH_ASQG_GZ :
          GT_STRGRAPH_ASQG, gt_str_get(arguments->readset),
          arguments->gz ? GT_READJOINER_SUFFIX_SG_ASQG_GZ :
          GT_READJOINER_SUFFIX_SG_ASQG, false);
      gt_readjoiner_asqg_show_current_space(GT_READJOINER_ASQG_MSG_OUTPUT);
    }
  }
  if (gt_showtime_enabled())
  {
    gt_timer_show_progress_final(timer, stdout);
    gt_timer_delete(timer);
  }
  gt_free(contained);
  gt_strgraph_delete(strgraph);
  gt_encseq_loader_delete(el);
  gt_encseq_delete(reads);
  gt_logger_delete(default_logger);
  gt_logger_delete(verbose_logger);
  return had_err;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movq %r8, %r14
movq %rcx, %rbx
movq $0x0, 0x38(%rsp)
movq 0x8(%rcx), %rdi
callq 0x11b0a1
movq %rax, %r12
callq 0x119160
testb %al, %al
je 0xb4686
leaq 0x2a3a8f(%rip), %rdi    # 0x3580fb
callq 0x11c986
movq %rax, %r13
movq %rax, %rdi
callq 0x11c9e3
movq %r13, %rdi
callq 0x11d044
jmp 0xb4689
xorl %r13d, %r13d
testq %r14, %r14
je 0xb469e
movq %r14, %rdi
callq 0xfcc32
testb %al, %al
jne 0xb5170
movq %r14, 0x28(%rsp)
movzbl 0x1(%rbx), %edi
movq 0x40482a(%rip), %r14    # 0x4b8ed8
movq (%r14), %rdx
xorl $0x1, %edi
movq %rbx, 0x10(%rsp)
leaq 0x292214(%rip), %rbx    # 0x3468d4
movq %rbx, %rsi
callq 0x103e40
movq %rax, %rbp
leaq 0x29e09e(%rip), %rsi    # 0x352770
movq %rax, %rdi
xorl %eax, %eax
callq 0x103fe1
movq 0x10(%rsp), %rax
movzbl (%rax), %edi
movq (%r14), %rdx
movq %rbx, %rsi
movq 0x10(%rsp), %rbx
callq 0x103e40
movq %rax, %r14
leaq 0x29e085(%rip), %rsi    # 0x352783
movq %rax, %rdi
xorl %eax, %eax
callq 0x103fe1
leaq 0x29e08d(%rip), %rsi    # 0x35279c
movq %r14, %rdi
movq %r12, %rdx
xorl %eax, %eax
callq 0x103fe1
movl 0x4(%rbx), %edx
testl %edx, %edx
je 0xb4734
leaq 0x29e084(%rip), %rsi    # 0x3527ae
movq %r14, %rdi
xorl %eax, %eax
callq 0x103fe1
callq 0xef0cd
movq %rax, %r15
movq %rax, %rdi
callq 0xf22df
movq %r15, %rdi
callq 0xf238b
movq %r15, %rdi
movq %r12, 0x50(%rsp)
movq %r12, %rsi
movq 0x28(%rsp), %rdx
callq 0xef129
movq %rax, %r12
movq %rax, %rdi
callq 0xe7bac
movq %rax, 0x20(%rsp)
testq %r12, %r12
je 0xb516b
movq %r12, %rdi
callq 0xf64f6
movl %eax, 0x18(%rsp)
callq 0x104815
testb %al, %al
je 0xb482d
callq 0x104706
movq %rax, %rbx
callq 0xfdf34
leaq (%rax,%rbx), %rcx
movq %rcx, %xmm1
movq 0x29312f(%rip), %xmm2   # 0x3478e0
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x293133(%rip), %xmm3   # 0x3478f0
subpd %xmm3, %xmm1
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
movsd 0x29312b(%rip), %xmm4   # 0x347900
mulsd %xmm4, %xmm0
movq %rbx, %xmm5
movq 0x10(%rsp), %rbx
punpckldq %xmm2, %xmm5    # xmm5 = xmm5[0],xmm2[0],xmm5[1],xmm2[1]
subpd %xmm3, %xmm5
movapd %xmm5, %xmm1
unpckhpd %xmm5, %xmm1            # xmm1 = xmm1[1],xmm5[1]
addsd %xmm5, %xmm1
mulsd %xmm4, %xmm1
movq %rax, %xmm5
punpckldq %xmm2, %xmm5    # xmm5 = xmm5[0],xmm2[0],xmm5[1],xmm2[1]
subpd %xmm3, %xmm5
movapd %xmm5, %xmm2
unpckhpd %xmm5, %xmm2            # xmm2 = xmm2[1],xmm5[1]
addsd %xmm5, %xmm2
mulsd %xmm4, %xmm2
leaq 0x29e082(%rip), %rdi    # 0x3528a1
leaq 0x2a38d5(%rip), %rsi    # 0x3580fb
movb $0x3, %al
callq 0x103d72
cmpl $0x2, 0x18(%rsp)
movq %r14, 0x30(%rsp)
movq %r15, 0x60(%rsp)
movq %r12, 0x40(%rsp)
jne 0xb4852
cmpb $0x0, 0x11(%rbx)
jne 0xb4a44
jmp 0xb4bcd
movq 0x8(%rbx), %rdi
callq 0x11b191
movq %rax, %r12
callq 0x119160
testb %al, %al
je 0xb4880
movq 0x40466a(%rip), %rax    # 0x4b8ed8
movq (%rax), %rdx
leaq 0x29df4d(%rip), %rsi    # 0x3527c5
movq %r13, %rdi
callq 0x11cc90
movq %r13, 0x48(%rsp)
leaq 0x29df39(%rip), %rsi    # 0x3527c5
movq %rbp, 0x58(%rsp)
movq %rbp, %rdi
xorl %eax, %eax
callq 0x103fe1
leaq 0x29df42(%rip), %rsi    # 0x3527e4
movq %r12, %rdi
callq 0x11acf3
movq %r12, %rdi
callq 0x11b0a1
leaq 0x38(%rsp), %rdx
leaq 0x70(%rsp), %rcx
movq %rax, %rdi
movl $0x1, %esi
movq 0x28(%rsp), %r8
callq 0x1c2117
movl %eax, %r15d
cmpl $0x2, 0x14(%rbx)
jb 0xb4973
testl %r15d, %r15d
jne 0xb4973
movl $0x2, %ebp
leaq 0x38(%rsp), %r13
leaq 0x68(%rsp), %r14
movq 0x10(%rsp), %rbx
leal -0x1(%rbp), %r15d
movq %r12, %rdi
callq 0x11b132
movq 0x8(%rbx), %rsi
movq %r12, %rdi
callq 0x11adc1
movq %r12, %rdi
movl $0x2e, %esi
callq 0x11af23
movq %r12, %rdi
movl %r15d, %esi
callq 0x11b054
movq %r12, %rdi
leaq 0x29deb4(%rip), %rsi    # 0x3527e6
callq 0x11acf3
movq %r12, %rdi
callq 0x11b0a1
movq %rax, %rdi
xorl %esi, %esi
movq %r13, %rdx
movq %r14, %rcx
movq 0x28(%rsp), %r8
callq 0x1c2117
movl %eax, %r15d
movq 0x70(%rsp), %rax
cmpq 0x68(%rsp), %rax
jne 0xb5166
cmpl 0x14(%rbx), %ebp
jae 0xb4973
incl %ebp
testl %r15d, %r15d
je 0xb48f8
movq %r12, %rdi
callq 0x11bdbf
callq 0x104815
testb %al, %al
je 0xb4a1d
callq 0x104706
movq %rax, %rbx
callq 0xfdf34
leaq (%rax,%rbx), %rcx
movq %rcx, %xmm1
movq 0x292f3a(%rip), %xmm2   # 0x3478e0
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x292f3e(%rip), %xmm3   # 0x3478f0
subpd %xmm3, %xmm1
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
movsd 0x292f36(%rip), %xmm4   # 0x347900
mulsd %xmm4, %xmm0
movq %rbx, %xmm5
punpckldq %xmm2, %xmm5    # xmm5 = xmm5[0],xmm2[0],xmm5[1],xmm2[1]
subpd %xmm3, %xmm5
movapd %xmm5, %xmm1
unpckhpd %xmm5, %xmm1            # xmm1 = xmm1[1],xmm5[1]
addsd %xmm5, %xmm1
mulsd %xmm4, %xmm1
movq %rax, %xmm5
punpckldq %xmm2, %xmm5    # xmm5 = xmm5[0],xmm2[0],xmm5[1],xmm2[1]
subpd %xmm3, %xmm5
movapd %xmm5, %xmm2
unpckhpd %xmm5, %xmm2            # xmm2 = xmm2[1],xmm5[1]
addsd %xmm5, %xmm2
mulsd %xmm4, %xmm2
leaq 0x29de92(%rip), %rdi    # 0x3528a1
leaq 0x29ddaf(%rip), %rsi    # 0x3527c5
movb $0x3, %al
callq 0x103d72
movq 0x10(%rsp), %rbx
cmpb $0x0, 0x11(%rbx)
movq 0x48(%rsp), %r13
movq 0x30(%rsp), %r14
je 0xb4bb7
testl %r15d, %r15d
movq 0x58(%rsp), %rbp
jne 0xb4ce0
callq 0x119160
testb %al, %al
je 0xb4a66
movq 0x404484(%rip), %rax    # 0x4b8ed8
movq (%rax), %rdx
leaq 0x29ddd7(%rip), %rsi    # 0x352835
movq %r13, %rdi
callq 0x11cc90
leaq 0x29ddc8(%rip), %rsi    # 0x352835
movq %rbp, %rdi
xorl %eax, %eax
callq 0x103fe1
movq 0x20(%rsp), %rdi
callq 0x1ce1d6
movq %rax, %r12
movl 0x4(%rbx), %ecx
movl 0x14(%rbx), %r8d
movq 0x38(%rsp), %r9
movq 0x28(%rsp), %rax
movq %rax, (%rsp)
leaq 0x11a7c9(%rip), %rdi    # 0x1cf269
movq %r12, %rsi
movq 0x50(%rsp), %rdx
callq 0xb5175
movl %eax, %r15d
callq 0x104815
testb %al, %al
je 0xb4b52
callq 0x104706
movq %rax, %rbx
callq 0xfdf34
leaq (%rax,%rbx), %rcx
movq %rcx, %xmm1
movq 0x292e05(%rip), %xmm2   # 0x3478e0
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x292e09(%rip), %xmm3   # 0x3478f0
subpd %xmm3, %xmm1
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
movsd 0x292e01(%rip), %xmm4   # 0x347900
mulsd %xmm4, %xmm0
movq %rbx, %xmm5
punpckldq %xmm2, %xmm5    # xmm5 = xmm5[0],xmm2[0],xmm5[1],xmm2[1]
subpd %xmm3, %xmm5
movapd %xmm5, %xmm1
unpckhpd %xmm5, %xmm1            # xmm1 = xmm1[1],xmm5[1]
addsd %xmm5, %xmm1
mulsd %xmm4, %xmm1
movq %rax, %xmm5
punpckldq %xmm2, %xmm5    # xmm5 = xmm5[0],xmm2[0],xmm5[1],xmm2[1]
subpd %xmm3, %xmm5
movapd %xmm5, %xmm2
unpckhpd %xmm5, %xmm2            # xmm2 = xmm2[1],xmm5[1]
addsd %xmm5, %xmm2
mulsd %xmm4, %xmm2
leaq 0x29dd5d(%rip), %rdi    # 0x3528a1
leaq 0x29dcea(%rip), %rsi    # 0x352835
movb $0x3, %al
callq 0x103d72
testl %r15d, %r15d
jne 0xb4ce3
callq 0x119160
testb %al, %al
je 0xb4b7d
movq 0x40436d(%rip), %rax    # 0x4b8ed8
movq (%rax), %rdx
leaq 0x29dce4(%rip), %rsi    # 0x352859
movq %r13, %rdi
callq 0x11cc90
leaq 0x29dcd5(%rip), %rsi    # 0x352859
xorl %ebx, %ebx
movq %rbp, %rdi
xorl %eax, %eax
callq 0x103fe1
cmpl $0x2, 0x18(%rsp)
movq 0x28(%rsp), %r15
jne 0xb4e27
xorl %r14d, %r14d
movq 0x40(%rsp), %rdi
xorl %esi, %esi
callq 0xeb9d2
movq %rax, %rbx
jmp 0xb4e2c
testl %r15d, %r15d
movq 0x58(%rsp), %rbp
je 0xb4bcd
xorl %r12d, %r12d
xorl %edi, %edi
xorl %ebx, %ebx
jmp 0xb4ccb
movq 0x8(%rbx), %rdi
callq 0x11b191
movq %rbx, %r14
movq %rax, %rbx
leaq 0x29dc08(%rip), %rax    # 0x3527eb
leaq 0x29dc0a(%rip), %rsi    # 0x3527f4
cmpb $0x0, 0x10(%r14)
cmovneq %rax, %rsi
movq %rbx, %rdi
callq 0x11acf3
movzbl 0x10(%r14), %r14d
movq %rbx, 0x18(%rsp)
movq %rbx, %rdi
callq 0x11b0a1
leaq 0x2de9a1(%rip), %rdx    # 0x3935b5
movl %r14d, %edi
movq %rax, %rsi
movq 0x28(%rsp), %r15
movq %r15, %rcx
callq 0xfead5
testq %rax, %rax
je 0xb4cb6
movq %rax, %r12
movq %rax, %rdi
movq 0x40(%rsp), %rsi
callq 0x18a490
movq %rax, 0x20(%rsp)
callq 0x119160
testb %al, %al
je 0xb4c67
movq 0x404283(%rip), %rax    # 0x4b8ed8
movq (%rax), %rdx
leaq 0x29db9b(%rip), %rsi    # 0x3527fa
movq %r13, %rdi
callq 0x11cc90
leaq 0x29db8c(%rip), %rsi    # 0x3527fa
movq %rbp, %rdi
xorl %eax, %eax
callq 0x103fe1
movq 0x10(%rsp), %rax
movl 0x4(%rax), %r14d
movq 0x8(%rax), %rdi
callq 0x11b0a1
xorpd %xmm0, %xmm0
movq 0x20(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %r15, %r9
callq 0x18a4bf
testl %eax, %eax
je 0xb4d5a
movl %eax, %r15d
jmp 0xb4cc1
movl $0xffffffff, %r15d      # imm = 0xFFFFFFFF
xorl %r12d, %r12d
xorl %ebx, %ebx
movq 0x30(%rsp), %r14
movq 0x18(%rsp), %rdi
callq 0x11bdbf
movq %r12, %rdi
callq 0xff22c
movq %rbx, %rdi
callq 0x18a70a
xorl %r12d, %r12d
callq 0x119160
testb %al, %al
je 0xb4d06
movq 0x4041e5(%rip), %rax    # 0x4b8ed8
movq (%rax), %rsi
movq %r13, %rdi
callq 0x11cf39
movq %r13, %rdi
callq 0x11d054
movq 0x38(%rsp), %rdi
leaq 0x29d8b6(%rip), %rsi    # 0x3525c8
movl $0x156, %edx            # imm = 0x156
callq 0x1045eb
movq %r12, %rdi
callq 0x1ce66b
movq 0x60(%rsp), %rdi
callq 0xefbe3
movq 0x40(%rsp), %rdi
callq 0xea375
movq %rbp, %rdi
callq 0x1040e0
movq %r14, %rdi
callq 0x1040e0
movl %r15d, %eax
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %r15, %rsi
movq %rbx, %rdi
callq 0x18a506
movl %eax, %r15d
callq 0x104815
testb %al, %al
je 0xb4e0a
callq 0x104706
movq %rax, %r14
callq 0xfdf34
leaq (%rax,%r14), %rcx
movq %rcx, %xmm1
movq 0x292b4d(%rip), %xmm2   # 0x3478e0
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x292b51(%rip), %xmm3   # 0x3478f0
subpd %xmm3, %xmm1
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
movsd 0x292b49(%rip), %xmm4   # 0x347900
mulsd %xmm4, %xmm0
movq %r14, %xmm5
punpckldq %xmm2, %xmm5    # xmm5 = xmm5[0],xmm2[0],xmm5[1],xmm2[1]
subpd %xmm3, %xmm5
movapd %xmm5, %xmm1
unpckhpd %xmm5, %xmm1            # xmm1 = xmm1[1],xmm5[1]
addsd %xmm5, %xmm1
mulsd %xmm4, %xmm1
movq %rax, %xmm5
punpckldq %xmm2, %xmm5    # xmm5 = xmm5[0],xmm2[0],xmm5[1],xmm2[1]
subpd %xmm3, %xmm5
movapd %xmm5, %xmm2
unpckhpd %xmm5, %xmm2            # xmm2 = xmm2[1],xmm5[1]
addsd %xmm5, %xmm2
mulsd %xmm4, %xmm2
leaq 0x29daa5(%rip), %rdi    # 0x3528a1
leaq 0x29d9f7(%rip), %rsi    # 0x3527fa
movb $0x3, %al
callq 0x103d72
testl %r15d, %r15d
movq 0x30(%rsp), %r14
movq 0x18(%rsp), %rdi
je 0xb504f
movq 0x20(%rsp), %rbx
jmp 0xb4ccb
movq 0x40(%rsp), %r14
movq %r12, %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x1ce2a1
movq 0x10(%rsp), %rbx
movl 0x4(%rbx), %esi
movl 0x14(%rbx), %r9d
movq 0x38(%rsp), %rcx
movq %r15, 0x8(%rsp)
leaq 0x29f098(%rip), %rax    # 0x353eef
movq %rax, (%rsp)
movq %r12, %rdi
xorl %edx, %edx
movq 0x50(%rsp), %r8
callq 0x1cf770
movl %eax, %r15d
callq 0x104815
testb %al, %al
je 0xb4f14
callq 0x104706
movq %rax, %rbx
callq 0xfdf34
leaq (%rax,%rbx), %rcx
movq %rcx, %xmm1
movq 0x292a48(%rip), %xmm2   # 0x3478e0
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x292a4c(%rip), %xmm3   # 0x3478f0
subpd %xmm3, %xmm1
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
movsd 0x292a44(%rip), %xmm4   # 0x347900
mulsd %xmm4, %xmm0
movq %rbx, %xmm5
movq 0x10(%rsp), %rbx
punpckldq %xmm2, %xmm5    # xmm5 = xmm5[0],xmm2[0],xmm5[1],xmm2[1]
subpd %xmm3, %xmm5
movapd %xmm5, %xmm1
unpckhpd %xmm5, %xmm1            # xmm1 = xmm1[1],xmm5[1]
addsd %xmm5, %xmm1
mulsd %xmm4, %xmm1
movq %rax, %xmm5
punpckldq %xmm2, %xmm5    # xmm5 = xmm5[0],xmm2[0],xmm5[1],xmm2[1]
subpd %xmm3, %xmm5
movapd %xmm5, %xmm2
unpckhpd %xmm5, %xmm2            # xmm2 = xmm2[1],xmm5[1]
addsd %xmm5, %xmm2
mulsd %xmm4, %xmm2
leaq 0x29d99b(%rip), %rdi    # 0x3528a1
leaq 0x29d94c(%rip), %rsi    # 0x352859
movb $0x3, %al
callq 0x103d72
testl %r15d, %r15d
movq 0x30(%rsp), %r14
jne 0xb4ce3
callq 0x119160
testb %al, %al
je 0xb4f44
movq 0x403fa6(%rip), %rax    # 0x4b8ed8
movq (%rax), %rdx
leaq 0x29d942(%rip), %rsi    # 0x35287e
movq %r13, %rdi
callq 0x11cc90
movq %r13, 0x48(%rsp)
leaq 0x29d92e(%rip), %rsi    # 0x35287e
xorl %r15d, %r15d
movq %rbp, %rdi
xorl %eax, %eax
callq 0x103fe1
movq %r12, %rdi
movq 0x40(%rsp), %rsi
callq 0x1cfd23
movzbl 0x10(%rbx), %r13d
addl $0x5, %r13d
movq 0x8(%rbx), %rdi
callq 0x11b0a1
leaq 0x29d868(%rip), %rdx    # 0x3527eb
leaq 0x29d86a(%rip), %rcx    # 0x3527f4
cmpb $0x0, 0x10(%rbx)
cmovneq %rdx, %rcx
movq %r12, %rdi
movl %r13d, %esi
movq %rax, %rdx
xorl %r8d, %r8d
callq 0x1d4fe5
callq 0x104815
testb %al, %al
je 0xb5045
callq 0x104706
movq %rax, %rbx
callq 0xfdf34
leaq (%rax,%rbx), %rcx
movq %rcx, %xmm1
movq 0x292912(%rip), %xmm2   # 0x3478e0
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x292916(%rip), %xmm3   # 0x3478f0
subpd %xmm3, %xmm1
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
movsd 0x29290e(%rip), %xmm4   # 0x347900
mulsd %xmm4, %xmm0
movq %rbx, %xmm5
punpckldq %xmm2, %xmm5    # xmm5 = xmm5[0],xmm2[0],xmm5[1],xmm2[1]
subpd %xmm3, %xmm5
movapd %xmm5, %xmm1
unpckhpd %xmm5, %xmm1            # xmm1 = xmm1[1],xmm5[1]
addsd %xmm5, %xmm1
mulsd %xmm4, %xmm1
movq %rax, %xmm5
punpckldq %xmm2, %xmm5    # xmm5 = xmm5[0],xmm2[0],xmm5[1],xmm2[1]
subpd %xmm3, %xmm5
movapd %xmm5, %xmm2
unpckhpd %xmm5, %xmm2            # xmm2 = xmm2[1],xmm5[1]
addsd %xmm5, %xmm2
mulsd %xmm4, %xmm2
leaq 0x29d86a(%rip), %rdi    # 0x3528a1
leaq 0x29d840(%rip), %rsi    # 0x35287e
movb $0x3, %al
callq 0x103d72
movq 0x48(%rsp), %r13
jmp 0xb4ce3
callq 0x119160
testb %al, %al
je 0xb5071
movq 0x403e79(%rip), %rax    # 0x4b8ed8
movq (%rax), %rdx
leaq 0x29d7b0(%rip), %rsi    # 0x352819
movq %r13, %rdi
callq 0x11cc90
leaq 0x29d7a1(%rip), %rsi    # 0x352819
movq %rbp, %rdi
xorl %eax, %eax
callq 0x103fe1
movq 0x10(%rsp), %rax
movl 0x4(%rax), %ecx
movl 0x14(%rax), %r8d
movq 0x38(%rsp), %r9
movq 0x28(%rsp), %rax
movq %rax, (%rsp)
leaq 0xd55c6(%rip), %rdi     # 0x18a669
movq 0x20(%rsp), %rsi
movq 0x50(%rsp), %rdx
callq 0xb5175
movl %eax, %r15d
callq 0x104815
testb %al, %al
je 0xb515c
callq 0x104706
movq %rax, %r14
callq 0xfdf34
leaq (%rax,%r14), %rcx
movq %rcx, %xmm1
movq 0x292800(%rip), %xmm2   # 0x3478e0
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x292804(%rip), %xmm3   # 0x3478f0
subpd %xmm3, %xmm1
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
movsd 0x2927fc(%rip), %xmm4   # 0x347900
mulsd %xmm4, %xmm0
movq %r14, %xmm5
movq 0x30(%rsp), %r14
punpckldq %xmm2, %xmm5    # xmm5 = xmm5[0],xmm2[0],xmm5[1],xmm2[1]
subpd %xmm3, %xmm5
movapd %xmm5, %xmm1
unpckhpd %xmm5, %xmm1            # xmm1 = xmm1[1],xmm5[1]
addsd %xmm5, %xmm1
mulsd %xmm4, %xmm1
movq %rax, %xmm5
punpckldq %xmm2, %xmm5    # xmm5 = xmm5[0],xmm2[0],xmm5[1],xmm2[1]
subpd %xmm3, %xmm5
movapd %xmm5, %xmm2
unpckhpd %xmm5, %xmm2            # xmm2 = xmm2[1],xmm5[1]
addsd %xmm5, %xmm2
mulsd %xmm4, %xmm2
leaq 0x29d753(%rip), %rdi    # 0x3528a1
leaq 0x29d6c4(%rip), %rsi    # 0x352819
movb $0x3, %al
callq 0x103d72
movq 0x20(%rsp), %rbx
jmp 0xb4cc6
callq 0x1d5e0
callq 0x1d619
callq 0x1d5a7