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

  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 graph");
  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->limits)
    gt_strgraph_show_limits();

  if (gt_showtime_enabled())
  {
    timer = gt_timer_new_with_progress_description(
        GT_READJOINER_GRAPH_MSG_LOADSG);
    gt_timer_start(timer);
    gt_timer_show_cpu_time_by_progress(timer);
  }

  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);
  gt_assert(reads != NULL);
  eqlen = gt_encseq_accesstype_get(reads) == GT_ACCESS_TYPE_EQUALLENGTH;
  nreads = gt_encseq_num_of_sequences(reads);
  gt_logger_log(default_logger, "number of reads in filtered readset = "GT_WU"",
      nreads);
  tlen = gt_encseq_total_length(reads) - nreads + 1;
  gt_logger_log(verbose_logger, "total length of filtered readset = "GT_WU"",
      tlen);

  if (eqlen)
  {
    rlen = gt_encseq_seqlength(reads, 0);
    gt_logger_log(verbose_logger, "read length = "GT_WU"", rlen);
    gt_encseq_delete(reads);
    reads = NULL;
  }
  else
  {
    rlen = 0;
    gt_logger_log(verbose_logger, "read length = variable");
    gt_assert(reads != NULL);
  }

  if (had_err == 0)
  {
    gt_readjoiner_graph_load_graph(&strgraph, reads, readset, rlen,
        default_logger, timer);
  }

  if (had_err == 0)
  {
    if (arguments->eld)
      gt_strgraph_show_edge_lengths_distribution(strgraph, readset,
          GT_READJOINER_SUFFIX_SG_ELEN_DISTRI);
    gt_strgraph_log_stats(strgraph, verbose_logger);
    gt_strgraph_log_space(strgraph);
  }

  if (had_err == 0 && arguments->from)
  {
    GtStrgraphVtype from_vt, to_vt;
    gt_assert(eqlen || (reads != NULL));
    gt_encseq_mirror(reads, err);
    if (arguments->fromB)
      from_vt = GT_STRGRAPH_VTYPE_B;
    else if (arguments->fromE)
      from_vt = GT_STRGRAPH_VTYPE_E;
    else
      from_vt = GT_STRGRAPH_VTYPE_A;
    if (arguments->toB)
      to_vt = GT_STRGRAPH_VTYPE_B;
    else if (arguments->toE)
      to_vt = GT_STRGRAPH_VTYPE_E;
    else
      to_vt = GT_STRGRAPH_VTYPE_A;
    had_err = gt_strgraph_find_connecting_path(strgraph, arguments->from,
        from_vt, arguments->to, to_vt, arguments->minlen, arguments->maxlen,
        arguments->firstonly, readset, GT_READJOINER_SUFFIX_CONNECTING_PATHS,
        verbose_logger, err);
  }

  if (!eqlen && reads != NULL && !arguments->errors)
  {
    gt_encseq_delete(reads);
    reads = NULL;
    if (had_err == 0)
      gt_strgraph_set_encseq(strgraph, NULL);
  }

  if (had_err == 0 && arguments->redtrans)
  {
    if (gt_showtime_enabled())
      gt_timer_show_progress(timer, GT_READJOINER_GRAPH_MSG_REDTRANS, stdout);
    gt_strgraph_sort_edges_by_len(strgraph, false);
    (void)gt_strgraph_redtrans(strgraph, false);
    (void)gt_strgraph_redself(strgraph, false);
    (void)gt_strgraph_redwithrc(strgraph, false);
    gt_strgraph_log_stats(strgraph, verbose_logger);
  }

  if (had_err == 0 && arguments->errors)
  {
    if (gt_showtime_enabled())
      gt_timer_show_progress(timer, GT_READJOINER_GRAPH_MSG_CLEANSG, stdout);
    gt_logger_log(default_logger, GT_READJOINER_GRAPH_MSG_CLEANSG);
    had_err = gt_readjoiner_graph_error_correction(strgraph,
        arguments->bubble, arguments->deadend, arguments->deadend_depth,
        verbose_logger);
  }

  if (had_err == 0 && arguments->save)
  {
    if (gt_showtime_enabled())
      gt_timer_show_progress(timer, GT_READJOINER_GRAPH_MSG_SAVESG, stdout);
    gt_logger_log(default_logger, GT_READJOINER_GRAPH_MSG_SAVESG);
    gt_strgraph_show(strgraph, GT_STRGRAPH_BIN,
        gt_str_get(arguments->readset), GT_READJOINER_SUFFIX_SG, false);
  }

  if (had_err == 0 && arguments->dot)
  {
    if (gt_showtime_enabled())
      gt_timer_show_progress(timer, GT_READJOINER_GRAPH_MSG_BDOTSG, stdout);
    gt_logger_log(default_logger, GT_READJOINER_GRAPH_MSG_BDOTSG);
    gt_strgraph_show(strgraph, GT_STRGRAPH_DOT_BI,
        gt_str_get(arguments->readset), GT_READJOINER_SUFFIX_SG_BI_DOT, false);
  }

  if (had_err == 0 && arguments->mdot)
  {
    if (gt_showtime_enabled())
      gt_timer_show_progress(timer, GT_READJOINER_GRAPH_MSG_MDOTSG, stdout);
    gt_logger_log(default_logger, GT_READJOINER_GRAPH_MSG_MDOTSG);
    gt_strgraph_show(strgraph, GT_STRGRAPH_DOT,
        gt_str_get(arguments->readset), GT_READJOINER_SUFFIX_SG_MONO_DOT,
        false);
  }

  if (had_err == 0 && gt_str_array_size(arguments->subgraph) > 0)
  {
    had_err = gt_readjoiner_graph_show_subgraph(strgraph, arguments->subgraph,
        arguments->subgraph_other, arguments->subgraph_depth,
        arguments->subgraph_mono, arguments->subgraph_extend,
        gt_str_get(arguments->readset), default_logger, timer, err);
  }

  if (had_err == 0 && arguments->adj)
  {
    if (gt_showtime_enabled())
      gt_timer_show_progress(timer, GT_READJOINER_GRAPH_MSG_ADJSG, stdout);
    gt_logger_log(default_logger, GT_READJOINER_GRAPH_MSG_ADJSG);
    gt_strgraph_show(strgraph, GT_STRGRAPH_ADJLIST,
        gt_str_get(arguments->readset), GT_READJOINER_SUFFIX_SG_ADJLIST, false);
  }

  if (had_err == 0 && arguments->spm)
  {
    if (gt_showtime_enabled())
      gt_timer_show_progress(timer, GT_READJOINER_GRAPH_MSG_SPMSG, stdout);
    gt_logger_log(default_logger, GT_READJOINER_GRAPH_MSG_SPMSG);
    gt_strgraph_show(strgraph, GT_STRGRAPH_SPM,
        gt_str_get(arguments->readset), GT_READJOINER_SUFFIX_SG_SPMLIST, false);
  }

  if (!eqlen && reads != NULL)
  {
    gt_encseq_delete(reads);
    reads = NULL;
    if (had_err == 0)
      gt_strgraph_set_encseq(strgraph, NULL);
  }

  gt_strgraph_delete(strgraph);
  strgraph = NULL;
  gt_assert(reads == NULL);
  gt_encseq_loader_delete(el);

  if (had_err == 0)
  {
    gt_readjoiner_graph_show_current_space("(final)");
  }
  if (gt_showtime_enabled())
  {
    gt_timer_show_progress_final(timer, stdout);
    gt_timer_delete(timer);
  }
  gt_logger_delete(default_logger);
  gt_logger_delete(verbose_logger);
  return had_err;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x120, %rsp            # imm = 0x120
movl %edi, 0x11c(%rsp)
movq %rsi, 0x110(%rsp)
movl %edx, 0x10c(%rsp)
movq %rcx, 0x100(%rsp)
movq %r8, 0xf8(%rsp)
movq 0x100(%rsp), %rax
movq %rax, 0xf0(%rsp)
movq $0x0, 0xc8(%rsp)
movq $0x0, 0xc0(%rsp)
movq 0xf0(%rsp), %rax
movq (%rax), %rdi
callq 0x11dee0
movq %rax, 0xb8(%rsp)
movl $0x0, 0x94(%rsp)
cmpq $0x0, 0xf0(%rsp)
jne 0x5279f
movq 0x5e9832(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4c389b(%rip), %rsi    # 0x516013
leaq 0x5283e0(%rip), %rdx    # 0x57ab5f
leaq 0x4d2734(%rip), %rcx    # 0x524eba
leaq 0x4d21c4(%rip), %r8     # 0x524951
movl $0x1b8, %r9d            # imm = 0x1B8
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x527a1
jmp 0x527a3
cmpq $0x0, 0xf8(%rsp)
je 0x527f9
movq 0xf8(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x527c1
jmp 0x527f9
movq 0x5e97d8(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4c3841(%rip), %rsi    # 0x516013
leaq 0x4c39e6(%rip), %rdx    # 0x5161bf
leaq 0x4d26da(%rip), %rcx    # 0x524eba
leaq 0x4d216a(%rip), %r8     # 0x524951
movl $0x1b9, %r9d            # imm = 0x1B9
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x527fb
movq 0xf0(%rsp), %rax
movb 0xa(%rax), %al
xorb $-0x1, %al
movq 0x5e9729(%rip), %rcx    # 0x63bf38
movq (%rcx), %rdx
movzbl %al, %edi
andl $0x1, %edi
leaq 0x4c50cd(%rip), %rsi    # 0x5178ec
callq 0xe7870
movq %rax, 0xe0(%rsp)
movq 0xe0(%rsp), %rdi
leaq 0x4d269a(%rip), %rsi    # 0x524ed5
movb $0x0, %al
callq 0xe7cd0
movq 0xf0(%rsp), %rax
movb 0x9(%rax), %al
movq 0x5e96e4(%rip), %rcx    # 0x63bf38
movq (%rcx), %rdx
leaq 0x4c508e(%rip), %rsi    # 0x5178ec
andb $0x1, %al
movzbl %al, %edi
callq 0xe7870
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rdi
leaq 0x4d0f84(%rip), %rsi    # 0x523803
movb $0x0, %al
callq 0xe7cd0
movq 0xe8(%rsp), %rdi
movq 0xb8(%rsp), %rdx
leaq 0x4d0f7f(%rip), %rsi    # 0x52381c
movb $0x0, %al
callq 0xe7cd0
movq 0xf0(%rsp), %rax
testb $0x1, 0x8(%rax)
je 0x528b7
callq 0x28f650
callq 0x11aa90
testb $0x1, %al
jne 0x528c2
jmp 0x528f0
leaq 0x4d1754(%rip), %rdi    # 0x52401d
callq 0x1213a0
movq %rax, 0xc8(%rsp)
movq 0xc8(%rsp), %rdi
callq 0x1213f0
movq 0xc8(%rsp), %rdi
callq 0x121ec0
callq 0xb7a40
movq %rax, 0xd8(%rsp)
movq 0xd8(%rsp), %rdi
callq 0xba570
movq 0xd8(%rsp), %rdi
callq 0xba760
movq 0xd8(%rsp), %rdi
movq 0xb8(%rsp), %rsi
movq 0xf8(%rsp), %rdx
callq 0xb7aa0
movq %rax, 0xd0(%rsp)
cmpq $0x0, 0xd0(%rsp)
jne 0x5297f
movq 0x5e9652(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4c36bb(%rip), %rsi    # 0x516013
leaq 0x52ce1f(%rip), %rdx    # 0x57f77e
leaq 0x4d2554(%rip), %rcx    # 0x524eba
leaq 0x4d1fe4(%rip), %r8     # 0x524951
movl $0x1d2, %r9d            # imm = 0x1D2
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x52981
movq 0xd0(%rsp), %rdi
callq 0xc2d90
cmpl $0x2, %eax
sete %al
andb $0x1, %al
movb %al, 0xb7(%rsp)
movq 0xd0(%rsp), %rdi
callq 0xa9d50
movq %rax, 0xa8(%rsp)
movq 0xe0(%rsp), %rdi
movq 0xa8(%rsp), %rdx
leaq 0x4d1461(%rip), %rsi    # 0x523e2a
movb $0x0, %al
callq 0xe7cd0
movq 0xd0(%rsp), %rdi
callq 0xa9d00
subq 0xa8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xa0(%rsp)
movq 0xe8(%rsp), %rdi
movq 0xa0(%rsp), %rdx
leaq 0x4d144c(%rip), %rsi    # 0x523e54
movb $0x0, %al
callq 0xe7cd0
testb $0x1, 0xb7(%rsp)
je 0x52a6b
movq 0xd0(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xb09f0
movq %rax, 0x98(%rsp)
movq 0xe8(%rsp), %rdi
movq 0x98(%rsp), %rdx
leaq 0x4d1432(%rip), %rsi    # 0x523e7b
movb $0x0, %al
callq 0xe7cd0
movq 0xd0(%rsp), %rdi
callq 0xae070
movq $0x0, 0xd0(%rsp)
jmp 0x52ad4
movq $0x0, 0x98(%rsp)
movq 0xe8(%rsp), %rdi
leaq 0x4d1407(%rip), %rsi    # 0x523e8d
movb $0x0, %al
callq 0xe7cd0
cmpq $0x0, 0xd0(%rsp)
jne 0x52ad0
movq 0x5e9501(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4c356a(%rip), %rsi    # 0x516013
leaq 0x52ccce(%rip), %rdx    # 0x57f77e
leaq 0x4d2403(%rip), %rcx    # 0x524eba
leaq 0x4d1e93(%rip), %r8     # 0x524951
movl $0x1e6, %r9d            # imm = 0x1E6
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x52ad2
jmp 0x52ad4
cmpl $0x0, 0x94(%rsp)
jne 0x52b13
movq 0xd0(%rsp), %rsi
movq 0xb8(%rsp), %rdx
movq 0x98(%rsp), %rcx
movq 0xe0(%rsp), %r8
movq 0xc8(%rsp), %r9
leaq 0xc0(%rsp), %rdi
callq 0x533b0
cmpl $0x0, 0x94(%rsp)
jne 0x52b69
movq 0xf0(%rsp), %rax
testb $0x1, 0xd(%rax)
je 0x52b47
movq 0xc0(%rsp), %rdi
movq 0xb8(%rsp), %rsi
leaq 0x4d23a7(%rip), %rdx    # 0x524ee9
callq 0x29a190
movq 0xc0(%rsp), %rdi
movq 0xe8(%rsp), %rsi
callq 0x29b7a0
movq 0xc0(%rsp), %rdi
callq 0x29b0d0
cmpl $0x0, 0x94(%rsp)
jne 0x52d18
movq 0xf0(%rsp), %rax
cmpq $0x0, 0x40(%rax)
je 0x52d18
jmp 0x52b8c
testb $0x1, 0xb7(%rsp)
jne 0x52bd9
cmpq $0x0, 0xd0(%rsp)
jne 0x52bd9
movq 0x5e93f8(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4c3461(%rip), %rsi    # 0x516013
leaq 0x4d2338(%rip), %rdx    # 0x524ef1
leaq 0x4d22fa(%rip), %rcx    # 0x524eba
leaq 0x4d1d8a(%rip), %r8     # 0x524951
movl $0x1fb, %r9d            # imm = 0x1FB
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x52bdb
movq 0xd0(%rsp), %rdi
movq 0xf8(%rsp), %rsi
callq 0xbbd00
movq 0xf0(%rsp), %rax
testb $0x1, 0x16(%rax)
je 0x52c0b
movl $0x0, 0x90(%rsp)
jmp 0x52c33
movq 0xf0(%rsp), %rax
testb $0x1, 0x18(%rax)
je 0x52c26
movl $0x1, 0x90(%rsp)
jmp 0x52c31
movl $0x2, 0x90(%rsp)
jmp 0x52c33
movq 0xf0(%rsp), %rax
testb $0x1, 0x17(%rax)
je 0x52c4e
movl $0x0, 0x8c(%rsp)
jmp 0x52c76
movq 0xf0(%rsp), %rax
testb $0x1, 0x19(%rax)
je 0x52c69
movl $0x1, 0x8c(%rsp)
jmp 0x52c74
movl $0x2, 0x8c(%rsp)
jmp 0x52c76
movq 0xc0(%rsp), %rdi
movq 0xf0(%rsp), %rax
movq 0x40(%rax), %rsi
movl 0x90(%rsp), %edx
movq 0xf0(%rsp), %rax
movq 0x48(%rax), %rcx
movl 0x8c(%rsp), %r8d
movq 0xf0(%rsp), %rax
movq 0x50(%rax), %r9
movq 0xf0(%rsp), %rax
movq 0x58(%rax), %r14
movq 0xf0(%rsp), %rax
movb 0x15(%rax), %bpl
movq 0xb8(%rsp), %rbx
movq 0xe8(%rsp), %r10
movq 0xf8(%rsp), %rax
leaq 0x4d2222(%rip), %r11    # 0x524f0a
andb $0x1, %bpl
movq %r14, (%rsp)
movzbl %bpl, %ebp
movl %ebp, 0x8(%rsp)
movq %rbx, 0x10(%rsp)
movq %r11, 0x18(%rsp)
movq %r10, 0x20(%rsp)
movq %rax, 0x28(%rsp)
callq 0x297410
movl %eax, 0x94(%rsp)
testb $0x1, 0xb7(%rsp)
jne 0x52d71
cmpq $0x0, 0xd0(%rsp)
je 0x52d71
movq 0xf0(%rsp), %rax
testb $0x1, 0xb(%rax)
jne 0x52d71
movq 0xd0(%rsp), %rdi
callq 0xae070
movq $0x0, 0xd0(%rsp)
cmpl $0x0, 0x94(%rsp)
jne 0x52d6f
movq 0xc0(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x292700
jmp 0x52d71
cmpl $0x0, 0x94(%rsp)
jne 0x52e07
movq 0xf0(%rsp), %rax
testb $0x1, 0xc(%rax)
je 0x52e07
callq 0x11aa90
testb $0x1, %al
jne 0x52d98
jmp 0x52db6
movq 0xc8(%rsp), %rdi
movq 0x5e9191(%rip), %rax    # 0x63bf38
movq (%rax), %rdx
leaq 0x4d0c8f(%rip), %rsi    # 0x523a40
callq 0x121930
movq 0xc0(%rsp), %rdi
xorl %esi, %esi
callq 0x292b40
movq 0xc0(%rsp), %rdi
xorl %esi, %esi
callq 0x293f20
movq 0xc0(%rsp), %rdi
xorl %esi, %esi
callq 0x293310
movq 0xc0(%rsp), %rdi
xorl %esi, %esi
callq 0x2939c0
movq 0xc0(%rsp), %rdi
movq 0xe8(%rsp), %rsi
callq 0x29b7a0
cmpl $0x0, 0x94(%rsp)
jne 0x52e9f
movq 0xf0(%rsp), %rax
testb $0x1, 0xb(%rax)
je 0x52e9f
callq 0x11aa90
testb $0x1, %al
jne 0x52e2e
jmp 0x52e4c
movq 0xc8(%rsp), %rdi
movq 0x5e90fb(%rip), %rax    # 0x63bf38
movq (%rax), %rdx
leaq 0x4d105d(%rip), %rsi    # 0x523ea4
callq 0x121930
movq 0xe0(%rsp), %rdi
leaq 0x4d1049(%rip), %rsi    # 0x523ea4
movb $0x0, %al
callq 0xe7cd0
movq 0xc0(%rsp), %rdi
movq 0xf0(%rsp), %rax
movl 0x20(%rax), %esi
movq 0xf0(%rsp), %rax
movl 0x1c(%rax), %edx
movq 0xf0(%rsp), %rax
movl 0x24(%rax), %ecx
movq 0xe8(%rsp), %r8
callq 0x53450
movl %eax, 0x94(%rsp)
cmpl $0x0, 0x94(%rsp)
jne 0x52f39
movq 0xf0(%rsp), %rax
testb $0x1, 0xe(%rax)
je 0x52f39
callq 0x11aa90
testb $0x1, %al
jne 0x52ec6
jmp 0x52ee4
movq 0xc8(%rsp), %rdi
movq 0x5e9063(%rip), %rax    # 0x63bf38
movq (%rax), %rdx
leaq 0x4d0fdf(%rip), %rsi    # 0x523ebe
callq 0x121930
movq 0xe0(%rsp), %rdi
leaq 0x4d0fcb(%rip), %rsi    # 0x523ebe
movb $0x0, %al
callq 0xe7cd0
movq 0xc0(%rsp), %rax
movq %rax, 0x80(%rsp)
movq 0xf0(%rsp), %rax
movq (%rax), %rdi
callq 0x11dee0
movq 0x80(%rsp), %rdi
movq %rax, %rdx
movl $0x4, %esi
leaq 0x4d0fa7(%rip), %rcx    # 0x523ed8
xorl %r8d, %r8d
callq 0x297ff0
cmpl $0x0, 0x94(%rsp)
jne 0x52fcd
movq 0xf0(%rsp), %rax
testb $0x1, 0xf(%rax)
je 0x52fcd
callq 0x11aa90
testb $0x1, %al
jne 0x52f60
jmp 0x52f7e
movq 0xc8(%rsp), %rdi
movq 0x5e8fc9(%rip), %rax    # 0x63bf38
movq (%rax), %rdx
leaq 0x4d1f9e(%rip), %rsi    # 0x524f17
callq 0x121930
movq 0xe0(%rsp), %rdi
leaq 0x4d1f8a(%rip), %rsi    # 0x524f17
movb $0x0, %al
callq 0xe7cd0
movq 0xc0(%rsp), %rax
movq %rax, 0x78(%rsp)
movq 0xf0(%rsp), %rax
movq (%rax), %rdi
callq 0x11dee0
movq 0x78(%rsp), %rdi
movq %rax, %rdx
movl $0x1, %esi
leaq 0x4d1f87(%rip), %rcx    # 0x524f4c
xorl %r8d, %r8d
callq 0x297ff0
cmpl $0x0, 0x94(%rsp)
jne 0x5305f
movq 0xf0(%rsp), %rax
testb $0x1, 0x10(%rax)
je 0x5305f
callq 0x11aa90
testb $0x1, %al
jne 0x52ff4
jmp 0x53012
movq 0xc8(%rsp), %rdi
movq 0x5e8f35(%rip), %rax    # 0x63bf38
movq (%rax), %rdx
leaq 0x4d1f46(%rip), %rsi    # 0x524f53
callq 0x121930
movq 0xe0(%rsp), %rdi
leaq 0x4d1f32(%rip), %rsi    # 0x524f53
movb $0x0, %al
callq 0xe7cd0
movq 0xc0(%rsp), %rax
movq %rax, 0x70(%rsp)
movq 0xf0(%rsp), %rax
movq (%rax), %rdi
callq 0x11dee0
movq 0x70(%rsp), %rdi
movq %rax, %rdx
xorl %r8d, %r8d
leaq 0x4d1f33(%rip), %rcx    # 0x524f8a
movl %r8d, %esi
callq 0x297ff0
cmpl $0x0, 0x94(%rsp)
jne 0x5315e
movq 0xf0(%rsp), %rax
movq 0x28(%rax), %rdi
callq 0x11fcc0
cmpq $0x0, %rax
jbe 0x5315e
movq 0xc0(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0xf0(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, 0x58(%rsp)
movq 0xf0(%rsp), %rax
movq 0x30(%rax), %rax
movq %rax, 0x60(%rsp)
movq 0xf0(%rsp), %rax
movq 0x38(%rax), %rax
movq %rax, 0x68(%rsp)
movq 0xf0(%rsp), %rax
movb 0x13(%rax), %al
movb %al, 0x4e(%rsp)
movq 0xf0(%rsp), %rax
movb 0x14(%rax), %al
movb %al, 0x4f(%rsp)
movq 0xf0(%rsp), %rax
movq (%rax), %rdi
callq 0x11dee0
movb 0x4e(%rsp), %r8b
movb 0x4f(%rsp), %r9b
movq 0x50(%rsp), %rdi
movq 0x58(%rsp), %rsi
movq 0x60(%rsp), %rdx
movq 0x68(%rsp), %rcx
movq %rax, %rbx
movq 0xe0(%rsp), %r11
movq 0xc8(%rsp), %r10
movq 0xf8(%rsp), %rax
andb $0x1, %r8b
andb $0x1, %r9b
movzbl %r8b, %r8d
movzbl %r9b, %r9d
movq %rbx, (%rsp)
movq %r11, 0x8(%rsp)
movq %r10, 0x10(%rsp)
movq %rax, 0x18(%rsp)
callq 0x53600
movl %eax, 0x94(%rsp)
cmpl $0x0, 0x94(%rsp)
jne 0x531f2
movq 0xf0(%rsp), %rax
testb $0x1, 0x11(%rax)
je 0x531f2
callq 0x11aa90
testb $0x1, %al
jne 0x53185
jmp 0x531a3
movq 0xc8(%rsp), %rdi
movq 0x5e8da4(%rip), %rax    # 0x63bf38
movq (%rax), %rdx
leaq 0x4d1df3(%rip), %rsi    # 0x524f91
callq 0x121930
movq 0xe0(%rsp), %rdi
leaq 0x4d1ddf(%rip), %rsi    # 0x524f91
movb $0x0, %al
callq 0xe7cd0
movq 0xc0(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0xf0(%rsp), %rax
movq (%rax), %rdi
callq 0x11dee0
movq 0x40(%rsp), %rdi
movq %rax, %rdx
movl $0x3, %esi
leaq 0x4d1dc3(%rip), %rcx    # 0x524fad
xorl %r8d, %r8d
callq 0x297ff0
cmpl $0x0, 0x94(%rsp)
jne 0x53286
movq 0xf0(%rsp), %rax
testb $0x1, 0x12(%rax)
je 0x53286
callq 0x11aa90
testb $0x1, %al
jne 0x53219
jmp 0x53237
movq 0xc8(%rsp), %rdi
movq 0x5e8d10(%rip), %rax    # 0x63bf38
movq (%rax), %rdx
leaq 0x4d1d80(%rip), %rsi    # 0x524fb2
callq 0x121930
movq 0xe0(%rsp), %rdi
leaq 0x4d1d6c(%rip), %rsi    # 0x524fb2
movb $0x0, %al
callq 0xe7cd0
movq 0xc0(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0xf0(%rsp), %rax
movq (%rax), %rdi
callq 0x11dee0
movq 0x38(%rsp), %rdi
movq %rax, %rdx
movl $0x2, %esi
leaq 0x4d1d4f(%rip), %rcx    # 0x524fcd
xorl %r8d, %r8d
callq 0x297ff0
testb $0x1, 0xb7(%rsp)
jne 0x532d1
cmpq $0x0, 0xd0(%rsp)
je 0x532d1
movq 0xd0(%rsp), %rdi
callq 0xae070
movq $0x0, 0xd0(%rsp)
cmpl $0x0, 0x94(%rsp)
jne 0x532cf
movq 0xc0(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x292700
jmp 0x532d1
movq 0xc0(%rsp), %rdi
callq 0x290110
movq $0x0, 0xc0(%rsp)
cmpq $0x0, 0xd0(%rsp)
je 0x5332d
movq 0x5e8ca4(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4c2d0d(%rip), %rsi    # 0x516013
leaq 0x4d0bf4(%rip), %rdx    # 0x523f01
leaq 0x4d1ba6(%rip), %rcx    # 0x524eba
leaq 0x4d1636(%rip), %r8     # 0x524951
movl $0x26c, %r9d            # imm = 0x26C
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x5332f
movq 0xd8(%rsp), %rdi
callq 0xb7e50
cmpl $0x0, 0x94(%rsp)
jne 0x53352
leaq 0x4d1c88(%rip), %rdi    # 0x524fd5
callq 0x53ab0
callq 0x11aa90
testb $0x1, %al
jne 0x5335d
jmp 0x53381
movq 0xc8(%rsp), %rdi
movq 0x5e8bcc(%rip), %rax    # 0x63bf38
movq (%rax), %rsi
callq 0x121d70
movq 0xc8(%rsp), %rdi
callq 0x121f00
movq 0xe0(%rsp), %rdi
callq 0xe7ed0
movq 0xe8(%rsp), %rdi
callq 0xe7ed0
movl 0x94(%rsp), %eax
addq $0x120, %rsp            # imm = 0x120
popq %rbx
popq %r14
popq %rbp
retq
nop