// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/tools/gt_seqcorrect.c
// Function: gt_seqcorrect_runner
static int gt_seqcorrect_runner(GT_UNUSED int argc,
    GT_UNUSED const char **argv,
    GT_UNUSED int parsed_args,
    void *tool_arguments,
    GtError *err)
{
  GtSeqcorrectArguments *arguments = tool_arguments;
  GtEncseqLoader *el = NULL;
  GtEncseq *encseq = NULL;
  GtTimer *timer = NULL;
  GtLogger *default_logger, *verbose_logger;
  bool haserr = false;

  gt_error_check(err);
  gt_assert(arguments);

  if (gt_showtime_enabled())
  {
    timer = gt_timer_new_with_progress_description("for initialization");
    gt_timer_show_cpu_time_by_progress(timer);
    gt_timer_start(timer);
  }
  default_logger =
    gt_logger_new(!arguments->quiet, GT_LOGGER_DEFLT_PREFIX, stdout);
  gt_logger_log(default_logger, "gt seqcorrect");
  verbose_logger =
    gt_logger_new(arguments->verbose, GT_LOGGER_DEFLT_PREFIX, stdout);
  gt_logger_log(verbose_logger, "verbose output enabled");

  if (gt_str_array_size(arguments->db) != 0)
  {
    haserr =
      gt_seqcorrect_encode(arguments, default_logger, verbose_logger, err);
  }
  else
  {
    gt_logger_log(verbose_logger, "input is an encseq: %s",
        gt_str_get(arguments->encseqinput));
  }
  if (!haserr)
  {
    el = gt_encseq_loader_new();
    gt_encseq_loader_drop_description_support(el);
    gt_encseq_loader_disable_autosupport(el);
    encseq = gt_encseq_loader_load(el, gt_str_get(arguments->encseqinput),
        err);
    if (encseq == NULL)
    {
      haserr = true;
    }
    if (!haserr)
    {
      if (gt_encseq_mirror(encseq, err) != 0)
      {
        haserr = true;
      }
      if (!haserr && gt_encseq_has_md5_support(encseq))
      {
        GtStr *md5path = gt_str_clone(arguments->encseqinput);
        gt_str_append_cstr(md5path, GT_MD5TABFILESUFFIX);
        gt_xunlink(gt_str_get(md5path));
        gt_warning("the input encseq %s had MD5 support, however sequence "
                   "invalidates the MD5 table, thus MD5 support will "
                   "be disabled", gt_str_get(arguments->encseqinput));
        gt_str_delete(md5path);
      }
    }
  }
  if (!haserr)
  {
    if (!arguments->find_seldom)
      haserr = gt_seqcorrect_correct(arguments, encseq, verbose_logger, timer,
          err);
    else
      haserr = gt_seqcorrect_find_seldom(arguments, encseq, verbose_logger,
          timer, err);
  }
  gt_encseq_delete(encseq);
  gt_encseq_loader_delete(el);
  if (timer != NULL)
  {
    gt_timer_show_progress_final(timer, stdout);
    gt_timer_delete(timer);
  }
  gt_logger_delete(default_logger);
  gt_logger_delete(verbose_logger);
  return haserr ? -1 : 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa8, %rsp
movq %r8, %r13
movq %rcx, %rbx
testq %r8, %r8
je 0x460d1
movq %r13, %rdi
callq 0x89eb7
testb %al, %al
jne 0x46e2a
testq %rbx, %rbx
je 0x46dfc
movq %rbx, 0x8(%rsp)
callq 0xaaf34
testb %al, %al
je 0x46109
leaq 0x2b2018(%rip), %rdi    # 0x2f8107
callq 0xaf4a5
movq %rax, %r14
movq %rax, %rdi
callq 0xafc4b
movq %r14, %rdi
callq 0xaf4d6
jmp 0x4610c
xorl %r14d, %r14d
movq 0x8(%rsp), %r12
movzbl 0x2(%r12), %edi
movq 0x3f1d92(%rip), %r15    # 0x437eb0
movq (%r15), %rdx
xorl $0x1, %edi
leaq 0x2a07a9(%rip), %rbx    # 0x2e68d4
movq %rbx, %rsi
callq 0x92b50
leaq 0x2b1fe0(%rip), %rsi    # 0x2f811a
movq %rax, 0x68(%rsp)
movq %rax, %rdi
xorl %eax, %eax
callq 0x92e71
movzbl 0x1(%r12), %edi
movq (%r15), %rdx
movq %rbx, %rsi
callq 0x92b50
movq %rax, %r15
leaq 0x2b1fc4(%rip), %rsi    # 0x2f8128
movq %rax, %rdi
xorl %eax, %eax
callq 0x92e71
movq 0x58(%r12), %rdi
callq 0xae61c
testq %rax, %rax
movq %r15, 0x18(%rsp)
movq %r14, 0x40(%rsp)
je 0x461b0
leaq 0x2b203b(%rip), %rsi    # 0x2f81c9
movq %r15, %rdi
xorl %eax, %eax
callq 0x92e71
movq 0x48(%r12), %rdi
callq 0xad289
testq %rax, %rax
je 0x461d5
leaq 0x2b205f(%rip), %rbx    # 0x2f820d
jmp 0x461f8
movq 0x38(%r12), %rdi
callq 0xad1fa
leaq 0x2b1f7e(%rip), %rsi    # 0x2f813f
xorl %ebp, %ebp
movq %r15, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x92e71
jmp 0x464f8
movq 0x48(%r12), %rbx
movq 0x58(%r12), %rdi
xorl %esi, %esi
callq 0xae386
movq %rbx, %rdi
movq %rax, %rsi
callq 0xacbfb
leaq 0x2b2001(%rip), %rbx    # 0x2f81f9
movq 0x48(%r12), %rdi
callq 0xad1fa
leaq 0x2b1fdd(%rip), %rsi    # 0x2f81e6
movq %r15, %rdi
movq %rax, %rdx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x92e71
movq 0x48(%r12), %rdi
callq 0x18875c
movq %rax, %r14
cmpb $0x1, 0x60(%r12)
jne 0x46236
movq %r14, %rdi
callq 0x188e30
movq 0x8(%rsp), %r12
movq 0x68(%r12), %rsi
cmpq $-0x1, %rsi
je 0x46254
movsbl 0x70(%r12), %edx
movq %r14, %rdi
callq 0x188e76
xorl %ebx, %ebx
xorl %r15d, %r15d
movq 0x58(%r12), %rdi
callq 0xae61c
movzbl %r15b, %ebp
cmpq %rax, %rbx
jae 0x462a2
testb $0x1, %r15b
jne 0x462a2
movq 0x8(%rsp), %r12
movq 0x58(%r12), %rdi
movq %rbx, %rsi
callq 0xae3f2
movq %r14, %rdi
movq %rax, %rsi
movq %r13, %rdx
callq 0x188a9d
testl %eax, %eax
pushq $0x1
popq %rax
cmovnel %eax, %ebp
incq %rbx
movl %ebp, %r15d
jmp 0x46259
testb $0x1, %r15b
jne 0x462be
movq %r14, %rdi
movq %r13, %rsi
callq 0x188e84
testl %eax, %eax
pushq $0x1
popq %rax
cmovnel %eax, %ebp
movl %ebp, %r15d
movq 0x8(%rsp), %r12
movq 0x38(%r12), %rdi
callq 0xad289
testq %rax, %rax
jne 0x46e58
movq 0x38(%r12), %rbx
movq 0x48(%r12), %rdi
callq 0xad1fa
movq %rbx, %rdi
movq %rax, %rsi
callq 0xacbfb
movb $0x1, %bpl
testb $0x1, %r15b
movq 0x18(%rsp), %r15
jne 0x464c9
movq %r14, %rdi
callq 0x18bc5b
movq %rax, %rbx
movq %r14, %rdi
callq 0x18bbd5
movq %rax, %rbp
movq %rbx, 0x10(%rsp)
addq %rax, %rbx
movq %r14, %rdi
callq 0x18bd67
movq %rax, %r12
movq %r14, %rdi
callq 0x18bc5b
subq %rax, %r12
leaq 0x2b1f1f(%rip), %rsi    # 0x2f825c
movq 0x68(%rsp), %rdi
movq %rbx, %rdx
xorl %eax, %eax
callq 0x92e71
movq %r14, %rdi
callq 0x18bc9e
movq %rax, 0x28(%rsp)
movq %r14, %rdi
testq %rax, %rax
je 0x4637d
callq 0x18bc9e
leaq -0x1(%rax), %rdx
leaq 0x2aca9a(%rip), %rsi    # 0x2f2e0b
movq %r15, %rdi
xorl %eax, %eax
callq 0x92e71
jmp 0x463ab
callq 0x18bd24
movq %rax, %r15
movq %r14, %rdi
callq 0x18bce1
leaq 0x2ae582(%rip), %rsi    # 0x2f4916
movq 0x18(%rsp), %rdi
movq %r15, %rdx
movq 0x18(%rsp), %r15
movq %rax, %rcx
xorl %eax, %eax
callq 0x92e71
movq %r14, %rdi
callq 0x18bc18
leaq (%rax,%r12), %rdx
leaq 0x2b1ec9(%rip), %rsi    # 0x2f8287
movq %r15, %rdi
xorl %eax, %eax
callq 0x92e71
testq %rbp, %rbp
js 0x463d4
cvtsi2ss %rbp, %xmm0
jmp 0x463eb
movq %rbp, %rax
shrq %rax
movl %ebp, %ecx
andl $0x1, %ecx
orq %rax, %rcx
cvtsi2ss %rcx, %xmm0
addss %xmm0, %xmm0
mulss 0x2aded5(%rip), %xmm0   # 0x2f42c8
testq %rbx, %rbx
js 0x463ff
cvtsi2ss %rbx, %xmm1
jmp 0x46414
movq %rbx, %rax
shrq %rax
andl $0x1, %ebx
orq %rax, %rbx
cvtsi2ss %rbx, %xmm1
addss %xmm1, %xmm1
divss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x2ae53c(%rip), %rsi    # 0x2f495f
movq %r15, %rdi
movq %rbp, %rdx
movb $0x1, %al
callq 0x92e71
movq 0x8(%rsp), %rax
cmpb $0x0, 0x1(%rax)
jne 0x46451
leaq 0x2ae548(%rip), %rsi    # 0x2f498a
movq 0x68(%rsp), %rdi
movq %rbp, %rdx
xorl %eax, %eax
callq 0x92e71
movq %r14, %rdi
movq %r13, %rsi
callq 0x18b4d6
testl %eax, %eax
movb $0x1, %bpl
jne 0x464c9
leaq 0x2b1e45(%rip), %rsi    # 0x2f82af
xorl %ebp, %ebp
movq %r15, %rdi
movq 0x10(%rsp), %rdx
xorl %eax, %eax
callq 0x92e71
leaq 0x2b1e56(%rip), %rsi    # 0x2f82d8
movq %r15, %rdi
movq %r12, %rdx
xorl %eax, %eax
callq 0x92e71
movq 0x8(%rsp), %rax
movq 0x48(%rax), %rdi
callq 0xad1fa
cmpq $0x0, 0x28(%rsp)
leaq 0x2ae4ff(%rip), %rdx    # 0x2f49a9
leaq 0x2b3065(%rip), %rcx    # 0x2f9516
cmoveq %rdx, %rcx
leaq 0x2b1e42(%rip), %rsi    # 0x2f82fe
movq %r15, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x92e71
movq %r14, %rdi
callq 0x18886e
testb %bpl, %bpl
je 0x464ee
xorl %edi, %edi
movq $0x0, 0x90(%rsp)
movq 0x40(%rsp), %r14
jmp 0x465d6
movq 0x40(%rsp), %r14
movq 0x8(%rsp), %r12
callq 0x791cd
movq %rax, %rbx
movq %rax, %rdi
callq 0x7cece
movq %rbx, %rdi
callq 0x7d046
movq 0x38(%r12), %rdi
callq 0xad1fa
movq %rbx, 0x90(%rsp)
movq %rbx, %rdi
movq %rax, %rsi
movq %r13, %rdx
callq 0x7921d
movq %rax, %rdi
testq %rax, %rax
movzbl %bpl, %ebp
pushq $0x1
popq %rbx
cmovel %ebx, %ebp
testb %bpl, %bpl
jne 0x465d6
movq %rdi, %r12
movq %r13, %rsi
callq 0x7d4ca
testl %eax, %eax
movzbl %bpl, %eax
cmovel %eax, %ebx
movl %ebx, %ebp
testb %bl, %bl
je 0x46568
movq %r12, %rdi
jmp 0x465d6
movl %ebp, 0x24(%rsp)
movq %r12, %rbp
movq %r12, %rdi
callq 0x76655
testb %al, %al
je 0x465cf
movq 0x8(%rsp), %r12
movq 0x38(%r12), %rdi
callq 0xad442
movq %rax, %rbx
leaq 0x2a04a0(%rip), %rsi    # 0x2e6a34
movq %rax, %rdi
callq 0xacbfb
movq %rbx, %rdi
callq 0xad1fa
movq %rax, %rdi
callq 0xb3704
movq 0x38(%r12), %rdi
callq 0xad1fa
leaq 0x2b1b99(%rip), %rdi    # 0x2f8156
movq %rax, %rsi
xorl %eax, %eax
callq 0xb2cd0
movq %rbx, %rdi
callq 0xae103
movq %rbp, %rdi
movl 0x24(%rsp), %ebp
testb %bpl, %bpl
jne 0x46da1
leaq 0x3f27e2(%rip), %rax    # 0x438dc8
movl (%rax), %r12d
movq 0x8(%rsp), %r14
cmpb $0x0, 0x8(%r14)
movq %r12, 0x28(%rsp)
movq %r13, 0x38(%rsp)
movq %rdi, 0x30(%rsp)
je 0x46727
andq $0x0, 0x48(%rsp)
callq 0x705a1
movq %rax, %rcx
shrq %rcx
movq %rcx, 0x58(%rsp)
decq %rcx
shrq $0x6, %rcx
incq %rcx
cmpq $0x80, %rax
pushq $0x1
popq %rbp
cmovaeq %rcx, %rbp
leaq (,%r12,8), %rbx
leaq 0x2b17c4(%rip), %rsi    # 0x2f7e08
movq %rbx, %rdi
movl $0x259, %edx            # imm = 0x259
callq 0x93160
movq %rax, 0x10(%rsp)
movq %rbx, %rdi
leaq 0x2b17a8(%rip), %rsi    # 0x2f7e08
movl $0x25a, %edx            # imm = 0x25A
callq 0x93160
movq %r14, %rbx
movq %rax, %r14
movl 0xc(%rbx), %esi
leaq 0x2b1efb(%rip), %rdi    # 0x2f8575
xorl %r12d, %r12d
xorl %eax, %eax
callq 0x92a82
leaq 0x60(%rsp), %rsi
movq %rbx, %rdi
movq %r13, %rdx
callq 0x46e90
movl %eax, %ebx
leaq 0x2b1c9a(%rip), %rsi    # 0x2f8337
movq %r15, %rdi
movq 0x28(%rsp), %rdx
xorl %eax, %eax
callq 0x92e71
leaq (,%rbp,8), %r15
movzbl %bl, %r13d
testb $0x1, %bl
jne 0x46b93
cmpq 0x28(%rsp), %r12
jae 0x46b93
xorl %edi, %edi
movq %r15, %rsi
leaq 0x2b1730(%rip), %rdx    # 0x2f7e08
movl $0x263, %ecx            # imm = 0x263
callq 0x93472
movq %rax, (%r14,%r12,8)
movq %rax, %rdi
xorl %esi, %esi
movq %r15, %rdx
callq 0x17380
movq 0x8(%rsp), %rax
movl 0xc(%rax), %esi
movl 0x14(%rax), %edx
movq (%r14,%r12,8), %rcx
movq 0x30(%rsp), %rdi
callq 0x16c787
movq 0x10(%rsp), %rcx
movq %rax, (%rcx,%r12,8)
testq %rax, %rax
pushq $0x1
popq %rax
cmovel %eax, %r13d
incq %r12
movl %r13d, %ebx
jmp 0x466b4
movq %r12, %rdi
shlq $0x3, %rdi
leaq 0x2b16d3(%rip), %rsi    # 0x2f7e08
movl $0x1ec, %edx            # imm = 0x1EC
callq 0x93160
movq %rax, 0x10(%rsp)
movl 0xc(%r14), %esi
leaq 0x2b1bd1(%rip), %rdi    # 0x2f8320
xorl %eax, %eax
callq 0x92a82
leaq 0x8c(%rsp), %rsi
movq %r14, %rdi
movq %r13, %rdx
callq 0x46e90
movl %eax, %ebp
leaq 0x2b1bc5(%rip), %rsi    # 0x2f8337
movq %r15, %rdi
movl %r12d, %edx
xorl %eax, %eax
callq 0x92e71
movl 0x28(%r14), %edx
leaq 0x2b1bc5(%rip), %rsi    # 0x2f834f
movq %r15, %rdi
xorl %eax, %eax
callq 0x92e71
pushq $0x1
popq %rdx
movq $0x0, 0x70(%rsp)
movq 0x8(%rsp), %rax
cmpl 0x28(%rax), %edx
ja 0x46caf
testb $0x1, %bpl
jne 0x46caf
andq $0x0, 0x60(%rsp)
andq $0x0, 0xa0(%rsp)
andq $0x0, 0x80(%rsp)
andq $0x0, 0x98(%rsp)
movq %r15, %rdi
leaq 0x2b1b86(%rip), %rsi    # 0x2f8369
movl %edx, 0x50(%rsp)
xorl %eax, %eax
callq 0x92e71
xorl %ebx, %ebx
movzbl %bpl, %r12d
testb $0x1, %bpl
jne 0x46857
cmpq 0x28(%rsp), %rbx
jae 0x46857
movq 0x8(%rsp), %rax
movl 0xc(%rax), %ebp
movl 0x14(%rax), %r15d
movq 0x38(%rax), %rdi
callq 0xad1fa
subq $0x8, %rsp
movq 0x38(%rsp), %rdi
movl %ebp, %esi
movl %r15d, %edx
movq %rax, %rcx
leaq 0x2b1b5a(%rip), %r8     # 0x2f8388
movl %ebx, %r9d
pushq 0x40(%rsp)
callq 0x16c3d0
popq %rcx
popq %rdx
movq 0x10(%rsp), %rcx
movq %rax, (%rcx,%rbx,8)
testq %rax, %rax
pushq $0x1
popq %rax
cmovel %eax, %r12d
incq %rbx
movl %r12d, %ebp
jmp 0x467f0
testb $0x1, %bpl
jne 0x468f4
movl 0x8c(%rsp), %esi
movq 0x8(%rsp), %rdi
movl 0x18(%rdi), %edx
cmpb $0x0, 0x7(%rdi)
movq 0x30(%rdi), %rcx
movl 0xc(%rdi), %r9d
movl 0x10(%rdi), %r14d
movl $0x0, %r8d
cmovnel %r9d, %r8d
movzbl (%rdi), %r13d
movzbl 0x6(%rdi), %r11d
movzbl 0x3(%rdi), %ebx
movzbl 0x4(%rdi), %r15d
movl 0x20(%rdi), %ebp
xorl %eax, %eax
cmpb $0x0, 0x5(%rdi)
sete %al
movl 0x1c(%rdi), %r10d
subq $0x8, %rsp
movq 0x38(%rsp), %rdi
pushq 0x40(%rsp)
pushq 0x50(%rsp)
pushq 0x30(%rsp)
pushq 0x30(%rsp)
pushq $0x0
pushq 0x3f1683(%rip)          # 0x437f50
pushq %r10
pushq %rax
pushq $0x0
pushq %rbp
pushq %r15
pushq %rbx
pushq %r11
pushq %r14
pushq %r13
callq 0x16cab0
addq $0x80, %rsp
testl %eax, %eax
pushq $0x1
popq %rax
cmovnel %eax, %r12d
movl %r12d, %ebp
xorl %ebx, %ebx
movq 0x18(%rsp), %r15
movq 0x28(%rsp), %r12
cmpq %rbx, %r12
je 0x4694b
testb $0x1, %bpl
jne 0x46938
movq 0x10(%rsp), %rax
movq (%rax,%rbx,8), %rdi
movl %ebx, %esi
leaq 0x60(%rsp), %rdx
leaq 0xa0(%rsp), %rcx
leaq 0x98(%rsp), %r8
leaq 0x80(%rsp), %r9
callq 0x16c5c1
movq 0x10(%rsp), %rax
movq (%rax,%rbx,8), %rdi
callq 0x16c566
incq %rbx
jmp 0x46900
movq 0x70(%rsp), %rax
addq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
movq 0x98(%rsp), %rcx
movq %r15, %rdi
leaq 0x2b1a1e(%rip), %rsi    # 0x2f838d
movl 0x50(%rsp), %ebx
movl %ebx, %edx
xorl %eax, %eax
callq 0x92e71
movq 0xa0(%rsp), %rcx
movq %r15, %rdi
leaq 0x2b1a2a(%rip), %rsi    # 0x2f83b8
movl %ebx, %edx
xorl %eax, %eax
callq 0x92e71
movq 0x60(%rsp), %rcx
movq %r15, %rdi
leaq 0x2b1a41(%rip), %rsi    # 0x2f83e7
movl %ebx, %edx
xorl %eax, %eax
callq 0x92e71
movq 0x80(%rsp), %rcx
movq %r15, %rdi
leaq 0x2b1a57(%rip), %rsi    # 0x2f8418
movl %ebx, %edx
xorl %eax, %eax
callq 0x92e71
testb $0x1, %bpl
jne 0x46b88
movl %ebp, 0x24(%rsp)
xorl %ebp, %ebp
movq %r15, %rdi
leaq 0x2b1a63(%rip), %rsi    # 0x2f8447
movl %ebx, %edx
xorl %eax, %eax
callq 0x92e71
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rdi
callq 0xad1fa
movq 0x30(%rsp), %rdi
movq %rax, 0x78(%rsp)
movq %rax, %rsi
movq 0x38(%rsp), %rdx
callq 0x188510
movq %rax, %r15
testq %rax, %rax
sete %r14b
leaq 0x2b1afb(%rip), %rdi    # 0x2f851e
movl %r12d, %esi
xorl %eax, %eax
callq 0x92a82
testb $0x1, %r14b
jne 0x46b69
cmpl %r12d, %ebp
jae 0x46b69
movq 0x78(%rsp), %r13
movq %r13, %rdi
callq 0xacbd1
movq %rax, %rbx
movq %rax, %rdi
pushq $0x2e
popq %rsi
callq 0xaced9
movq %rbx, %rdi
movl %ebp, %esi
callq 0xad151
movq %rbx, %rdi
leaq 0x2b1919(%rip), %r14    # 0x2f8388
movq %r14, %rsi
callq 0xacbfb
movq %rbx, %rdi
callq 0xad1fa
movq %rax, %rdi
leaq 0x2b43a4(%rip), %rsi    # 0x2fae2d
leaq 0x2b1378(%rip), %rdx    # 0x2f7e08
movl $0x161, %ecx            # imm = 0x161
movq 0x38(%rsp), %r8
callq 0x8a156
movq %rax, %r12
leaq 0x2b1a94(%rip), %rdi    # 0x2f853d
movq %r13, %rsi
movl %ebp, 0x58(%rsp)
movl %ebp, %edx
movq %r14, %rcx
xorl %eax, %eax
callq 0x92a82
testq %r12, %r12
je 0x46b4e
leaq 0x48(%rsp), %r14
pushq $0x8
popq %r13
pushq $0x1
popq %rbp
movq %r14, %rdi
movq %r13, %rsi
movq %rbp, %rdx
movq %r12, %rcx
callq 0x17ad0
cmpq $0x1, %rax
jne 0x46b06
movq 0x48(%rsp), %rdx
movq %rdx, %rsi
shrq $0x2, %rsi
movq %rsi, 0x48(%rsp)
andl $0x3, %edx
movq %r15, %rdi
callq 0x1885e3
jmp 0x46ad1
movq %r12, %rdi
callq 0x17e70
testl %eax, %eax
setne %r14b
je 0x46b34
movq %rbx, %rdi
callq 0xad1fa
movq 0x38(%rsp), %rdi
leaq 0x2b1a32(%rip), %rsi    # 0x2f855c
movq %rax, %rdx
xorl %eax, %eax
callq 0x89dbb
movq %r12, %rdi
callq 0x8a4fd
movq %rbx, %rdi
callq 0xad1fa
movq %rax, %rdi
callq 0xb3704
jmp 0x46b51
movb $0x1, %r14b
movl 0x58(%rsp), %ebp
movq %rbx, %rdi
callq 0xae103
incl %ebp
movq 0x28(%rsp), %r12
jmp 0x46a2d
movq %r15, %rdi
callq 0x188668
movl 0x24(%rsp), %ebp
movzbl %bpl, %ebp
testb $0x1, %r14b
pushq $0x1
popq %rax
cmovnel %eax, %ebp
movq 0x18(%rsp), %r15
movl 0x50(%rsp), %edx
incl %edx
jmp 0x467a0
testb $0x1, %bl
jne 0x46c3c
movl 0x60(%rsp), %esi
movq 0x8(%rsp), %rdi
movl 0x18(%rdi), %edx
movq 0x30(%rdi), %rcx
xorl %r8d, %r8d
cmpb $0x0, 0x7(%rdi)
movl 0xc(%rdi), %r9d
movl 0x10(%rdi), %eax
movq %rax, 0x78(%rsp)
cmovnel %r9d, %r8d
movzbl (%rdi), %eax
movq %rax, 0x50(%rsp)
movzbl 0x6(%rdi), %r11d
movzbl 0x3(%rdi), %ebx
movzbl 0x4(%rdi), %r15d
movl 0x20(%rdi), %r12d
xorl %eax, %eax
cmpb $0x0, 0x5(%rdi)
sete %al
movl 0x1c(%rdi), %r10d
subq $0x8, %rsp
movq 0x38(%rsp), %rdi
pushq 0x40(%rsp)
pushq 0x50(%rsp)
pushq 0x30(%rsp)
pushq 0x30(%rsp)
pushq $0x0
pushq 0x3f13cd(%rip)          # 0x437fd8
pushq %r10
pushq %rax
pushq $0x0
pushq %r12
pushq %r15
pushq %rbx
pushq %r11
pushq 0xe8(%rsp)
pushq 0xc8(%rsp)
callq 0x16cab0
addq $0x80, %rsp
testl %eax, %eax
pushq $0x1
popq %rax
cmovel %r13d, %eax
movl %eax, %ebx
xorl %r13d, %r13d
leaq 0x2b11c2(%rip), %r15    # 0x2f7e08
movq 0x28(%rsp), %r12
cmpq %r12, %r13
je 0x46ce9
testb $0x1, %bl
jne 0x46c6f
movq 0x10(%rsp), %rax
movq (%rax,%r13,8), %rdi
movl %r13d, %esi
leaq 0x48(%rsp), %rdx
callq 0x16c7f4
movq 0x10(%rsp), %rax
movq (%rax,%r13,8), %rdi
callq 0x16c81f
testq %r13, %r13
je 0x46caa
movq (%r14,%r13,8), %rdi
movq (%r14), %rax
xorl %ecx, %ecx
cmpq %rcx, %rbp
je 0x46c9d
movq (%rdi,%rcx,8), %rdx
orq %rdx, (%rax,%rcx,8)
incq %rcx
jmp 0x46c8b
movq %r15, %rsi
movl $0x293, %edx            # imm = 0x293
callq 0x936f9
incq %r13
jmp 0x46c4b
leaq 0x2b17b5(%rip), %rsi    # 0x2f846b
movq %r15, %rdi
movq 0x70(%rsp), %rdx
xorl %eax, %eax
callq 0x92e71
leaq 0x2b113c(%rip), %rsi    # 0x2f7e08
movq 0x10(%rsp), %rdi
movl $0x244, %edx            # imm = 0x244
callq 0x936f9
andb $0x1, %bpl
movq 0x40(%rsp), %r14
jmp 0x46d9c
movb $0x1, %bpl
testb $0x1, %bl
jne 0x46d59
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rdi
callq 0xad442
movq %rax, %rbx
movq 0x48(%rsp), %rdx
leaq 0x2b1881(%rip), %rsi    # 0x2f858f
movq 0x18(%rsp), %rdi
xorl %eax, %eax
callq 0x92e71
leaq 0x2b1887(%rip), %rsi    # 0x2f85a8
movq %rbx, %rdi
callq 0xacbfb
movq (%r14), %r15
movq %rbx, %rdi
callq 0xad1fa
movq %r15, %rdi
movq 0x58(%rsp), %rsi
movq %rax, %rdx
xorl %ecx, %ecx
movq 0x38(%rsp), %r8
callq 0x1720f8
testl %eax, %eax
setne %bpl
movq %rbx, %rdi
callq 0xae103
leaq 0x2b10a8(%rip), %rbx    # 0x2f7e08
movq 0x10(%rsp), %rdi
movq %rbx, %rsi
movl $0x2a5, %edx            # imm = 0x2A5
callq 0x936f9
movq (%r14), %rdi
movq %rbx, %rsi
movl $0x2a6, %edx            # imm = 0x2A6
callq 0x936f9
movq %r14, %rdi
movq %rbx, %rsi
movl $0x2a7, %edx            # imm = 0x2A7
callq 0x936f9
movq 0x40(%rsp), %r14
movq 0x18(%rsp), %r15
movq 0x30(%rsp), %rdi
callq 0x735fd
movq 0x90(%rsp), %rdi
callq 0x79f01
testq %r14, %r14
je 0x46dd2
movq 0x3f10f1(%rip), %rax    # 0x437eb0
movq (%rax), %rsi
movq %r14, %rdi
callq 0xafb49
movq %r14, %rdi
callq 0xafc5b
movq 0x68(%rsp), %rdi
callq 0x92fd0
movq %r15, %rdi
callq 0x92fd0
movzbl %bpl, %eax
negl %eax
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x3f1165(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x29e206(%rip), %rsi    # 0x2e5013
leaq 0x30183f(%rip), %rdx    # 0x348653
leaq 0x2b12d7(%rip), %rcx    # 0x2f80f2
leaq 0x2b0fe6(%rip), %r8     # 0x2f7e08
movl $0x2ba, %r9d            # imm = 0x2BA
jmp 0x46e84
movq 0x3f1137(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x29e1d8(%rip), %rsi    # 0x2e5013
leaq 0x29e37d(%rip), %rdx    # 0x2e51bf
leaq 0x2b12a9(%rip), %rcx    # 0x2f80f2
leaq 0x2b0fb8(%rip), %r8     # 0x2f7e08
movl $0x2b9, %r9d            # imm = 0x2B9
jmp 0x46e84
movq 0x3f1109(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x29e1aa(%rip), %rsi    # 0x2e5013
leaq 0x2b13ac(%rip), %rdx    # 0x2f821c
leaq 0x2b13d0(%rip), %rcx    # 0x2f8247
leaq 0x2b0f8a(%rip), %r8     # 0x2f7e08
movl $0x1a7, %r9d            # imm = 0x1A7
xorl %eax, %eax
callq 0x17a50
callq 0x17390