// File: /workspace/github_c_makefile_star2_O3/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, %r12
movq %rcx, %r15
testq %r8, %r8
je 0xc20af
movq %r12, %rdi
callq 0xfcc32
testb %al, %al
jne 0xc2e88
testq %r15, %r15
je 0xc2e83
callq 0x119160
testb %al, %al
je 0xc20e7
leaq 0x29602f(%rip), %rdi    # 0x3580f7
callq 0x11c986
movq %rax, %rbx
movq %rax, %rdi
callq 0x11d044
movq %rbx, 0x20(%rsp)
movq %rbx, %rdi
callq 0x11c9e3
jmp 0xc20f0
movq $0x0, 0x20(%rsp)
movzbl 0x2(%r15), %edi
movq 0x3f6ddc(%rip), %r14    # 0x4b8ed8
movq (%r14), %rdx
xorl $0x1, %edi
leaq 0x2847cb(%rip), %rbx    # 0x3468d4
movq %rbx, %rsi
callq 0x103e40
leaq 0x295ff2(%rip), %rsi    # 0x35810a
movq %rax, 0x78(%rsp)
movq %rax, %rdi
xorl %eax, %eax
callq 0x103fe1
movzbl 0x1(%r15), %edi
movq (%r14), %rdx
movq %rbx, %rsi
callq 0x103e40
movq %rax, %r14
leaq 0x295fd7(%rip), %rsi    # 0x358118
movq %rax, %rdi
xorl %eax, %eax
callq 0x103fe1
movq 0x58(%r15), %rdi
callq 0x11c131
testq %rax, %rax
movq %r14, 0x18(%rsp)
movq %r15, 0x8(%rsp)
je 0xc218b
leaq 0x29604f(%rip), %rsi    # 0x3581b9
movq %r14, %rdi
xorl %eax, %eax
callq 0x103fe1
movq 0x48(%r15), %rdi
callq 0x11b0ca
testq %rax, %rax
je 0xc21ad
leaq 0x296074(%rip), %rbx    # 0x3581fd
jmp 0xc21ce
movq 0x38(%r15), %rdi
callq 0x11b0a1
leaq 0x295f94(%rip), %rsi    # 0x35812f
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x103fe1
jmp 0xc24c6
movq 0x48(%r15), %rbx
movq 0x58(%r15), %rdi
xorl %esi, %esi
callq 0x11bfb3
movq %rbx, %rdi
movq %rax, %rsi
callq 0x11acf3
leaq 0x29601b(%rip), %rbx    # 0x3581e9
movq 0x48(%r15), %rdi
callq 0x11b0a1
leaq 0x295ff8(%rip), %rsi    # 0x3581d6
movq %r14, %rdi
movq %rax, %rdx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x103fe1
movq 0x48(%r15), %rdi
callq 0x1dafec
movq %rax, %rbx
cmpb $0x1, 0x60(%r15)
jne 0xc2209
movq %rbx, %rdi
callq 0x1db576
movq 0x68(%r15), %rsi
cmpq $-0x1, %rsi
je 0xc2220
movsbl 0x70(%r15), %edx
movq %rbx, %rdi
callq 0x1db589
movq 0x58(%r15), %rdi
callq 0x11c131
testq %rax, %rax
je 0xc2285
movl $0x1, %r14d
xorl %ebp, %ebp
movl $0x1, %r15d
movq 0x8(%rsp), %r13
leaq -0x1(%r14), %rsi
movq 0x58(%r13), %rdi
callq 0x11bfee
movq %rbx, %rdi
movq %rax, %rsi
movq %r12, %rdx
callq 0x1db253
testl %eax, %eax
movzbl %bpl, %ebp
cmovnel %r15d, %ebp
movq 0x58(%r13), %rdi
callq 0x11c131
cmpq %rax, %r14
jae 0xc227d
incq %r14
testb $0x1, %bpl
je 0xc2241
testb $0x1, %bpl
je 0xc2287
jmp 0xc22a0
xorl %ebp, %ebp
movq %rbx, %rdi
movq %r12, %rsi
callq 0x1db597
testl %eax, %eax
movzbl %bpl, %eax
movl $0x1, %ebp
cmovel %eax, %ebp
movq %r12, 0x28(%rsp)
movq 0x8(%rsp), %r15
movq 0x38(%r15), %rdi
callq 0x11b0ca
testq %rax, %rax
jne 0xc2e8d
movq 0x38(%r15), %r14
movq 0x48(%r15), %rdi
callq 0x11b0a1
movq %r14, %rdi
movq %rax, %rsi
callq 0x11acf3
testb $0x1, %bpl
movq 0x18(%rsp), %r14
jne 0xc2443
movq %rbx, %rdi
callq 0x1de154
movq %rax, %r15
movq %rbx, %rdi
callq 0x1de134
movq %rax, %rbp
movq %r15, 0x10(%rsp)
leaq (%rax,%r15), %r13
movq %rbx, %rdi
callq 0x1de194
movq %rax, %r15
movq %rbx, %rdi
callq 0x1de154
subq %rax, %r15
leaq 0x295f2d(%rip), %rsi    # 0x35824c
movq 0x78(%rsp), %rdi
movq %r13, %rdx
xorl %eax, %eax
callq 0x103fe1
movq %rbx, %rdi
callq 0x1de164
movq %rax, %r12
movq %rbx, %rdi
testq %rax, %rax
je 0xc235d
callq 0x1de164
leaq -0x1(%rax), %rdx
leaq 0x290aaa(%rip), %rsi    # 0x352dfb
movq %r14, %rdi
xorl %eax, %eax
callq 0x103fe1
jmp 0xc238b
callq 0x1de184
movq %rax, %r14
movq %rbx, %rdi
callq 0x1de174
leaq 0x292592(%rip), %rsi    # 0x354906
movq 0x18(%rsp), %rdi
movq %r14, %rdx
movq 0x18(%rsp), %r14
movq %rax, %rcx
xorl %eax, %eax
callq 0x103fe1
movq %rbx, %rdi
callq 0x1de144
leaq (%rax,%r15), %rdx
leaq 0x295ed9(%rip), %rsi    # 0x358277
movq %r14, %rdi
xorl %eax, %eax
callq 0x103fe1
testq %rbp, %rbp
js 0xc23b4
cvtsi2ss %rbp, %xmm0
jmp 0xc23cb
movq %rbp, %rax
shrq %rax
movl %ebp, %ecx
andl $0x1, %ecx
orq %rax, %rcx
cvtsi2ss %rcx, %xmm0
addss %xmm0, %xmm0
mulss 0x291ee5(%rip), %xmm0   # 0x3542b8
testq %r13, %r13
js 0xc23df
cvtsi2ss %r13, %xmm1
jmp 0xc23f5
movq %r13, %rax
shrq %rax
andl $0x1, %r13d
orq %rax, %r13
cvtsi2ss %r13, %xmm1
addss %xmm1, %xmm1
divss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x29254b(%rip), %rsi    # 0x35494f
movq %r14, %rdi
movq %rbp, %rdx
movb $0x1, %al
callq 0x103fe1
movq 0x8(%rsp), %rax
cmpb $0x0, 0x1(%rax)
jne 0xc2432
leaq 0x292557(%rip), %rsi    # 0x35497a
movq 0x78(%rsp), %rdi
movq %rbp, %rdx
xorl %eax, %eax
callq 0x103fe1
movq %rbx, %rdi
movq 0x28(%rsp), %rsi
callq 0x1ddad9
testl %eax, %eax
je 0xc2458
movq %rbx, %rdi
callq 0x1db0a7
movb $0x1, %bpl
xorl %ebx, %ebx
xorl %r13d, %r13d
jmp 0xc28fc
leaq 0x295e40(%rip), %rsi    # 0x35829f
movq %r14, %rdi
movq 0x10(%rsp), %rdx
xorl %eax, %eax
callq 0x103fe1
leaq 0x295e53(%rip), %rsi    # 0x3582c8
movq %r14, %rdi
movq %r15, %rdx
xorl %eax, %eax
callq 0x103fe1
movq 0x8(%rsp), %r15
movq 0x48(%r15), %rdi
callq 0x11b0a1
testq %r12, %r12
leaq 0x2924ff(%rip), %rdx    # 0x354999
leaq 0x29709d(%rip), %rcx    # 0x35953e
cmoveq %rdx, %rcx
leaq 0x295e42(%rip), %rsi    # 0x3582ee
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x103fe1
movq %rbx, %rdi
callq 0x1db0a7
movq 0x28(%rsp), %r12
callq 0xef0cd
movq %rax, %rbx
movq %rax, %rdi
callq 0xf22df
movq %rbx, %rdi
callq 0xf238b
movq 0x38(%r15), %rdi
callq 0x11b0a1
movq %rbx, 0x50(%rsp)
movq %rbx, %rdi
movq %rax, %rsi
movq %r12, %rdx
callq 0xef129
testq %rax, %rax
je 0xc28f1
movq %rax, %r13
sete %bl
movq %rax, %rdi
movq %r12, %rsi
callq 0xf24ac
testl %eax, %eax
setne %bpl
orb %bl, %bpl
jne 0xc28f7
movq %r13, %rdi
callq 0xec8c4
testb %al, %al
je 0xc2581
movq 0x8(%rsp), %r15
movq 0x38(%r15), %rdi
callq 0x11b191
movq %rax, %rbx
leaq 0x2844ed(%rip), %rsi    # 0x346a34
movq %rax, %rdi
callq 0x11acf3
movq %rbx, %rdi
callq 0x11b0a1
movq %rax, %rdi
callq 0x11fc3f
movq 0x38(%r15), %rdi
callq 0x11b0a1
leaq 0x295bd7(%rip), %rdi    # 0x358146
movq %rax, %rsi
xorl %eax, %eax
callq 0x11f68c
movq %rbx, %rdi
callq 0x11bdbf
testb %bpl, %bpl
jne 0xc28f7
leaq 0x3f7887(%rip), %rax    # 0x4b9e18
movl (%rax), %r15d
movq 0x8(%rsp), %rbx
cmpb $0x0, 0x8(%rbx)
movq %r13, 0x38(%rsp)
movq %r15, 0x30(%rsp)
je 0xc295a
movq $0x0, 0x60(%rsp)
movq %r13, %rdi
callq 0xe7bac
movq %rax, %rcx
shrq %rcx
movq %rcx, 0x58(%rsp)
leaq -0x1(%rcx), %rbp
shrq $0x6, %rbp
incq %rbp
cmpq $0x80, %rax
movl $0x1, %r13d
cmovbq %r13, %rbp
leaq (,%r15,8), %rbx
movq %r12, %r15
movq %r14, %r12
leaq 0x2957ff(%rip), %r14    # 0x357df8
movq %rbx, %rdi
movq %r14, %rsi
movl $0x259, %edx            # imm = 0x259
callq 0x104226
movq %rax, 0x10(%rsp)
movq %rbx, %rdi
movq %r14, %rsi
movl $0x25a, %edx            # imm = 0x25A
callq 0x104226
movq %rax, %r14
movq 0x8(%rsp), %rbx
movl 0xc(%rbx), %esi
leaq 0x295f35(%rip), %rdi    # 0x358565
xorl %eax, %eax
callq 0x103d72
leaq 0x70(%rsp), %rsi
movq %rbx, %rdi
movq %r15, 0x28(%rsp)
movq %r15, %rdx
callq 0xc2e92
movl %eax, %r15d
leaq 0x295cd1(%rip), %rsi    # 0x358327
movq %r12, %rdi
movq 0x30(%rsp), %rbx
movl %ebx, %edx
xorl %eax, %eax
callq 0x103fe1
testl %ebx, %ebx
sete %al
orb %r15b, %al
jne 0xc26ea
leaq (,%rbp,8), %rbx
movl $0x1, %r12d
xorl %edi, %edi
movq %rbx, %rsi
leaq 0x29576d(%rip), %rdx    # 0x357df8
movl $0x263, %ecx            # imm = 0x263
callq 0x104461
movq %rax, -0x8(%r14,%r13,8)
movq %rax, %rdi
xorl %esi, %esi
movq %rbx, %rdx
callq 0x173a0
movq 0x8(%rsp), %rax
movl 0xc(%rax), %esi
movl 0x14(%rax), %edx
movq -0x8(%r14,%r13,8), %rcx
movq 0x38(%rsp), %rdi
callq 0x1bce6f
movq 0x10(%rsp), %rcx
movq %rax, -0x8(%rcx,%r13,8)
testq %rax, %rax
movzbl %r15b, %r15d
cmovel %r12d, %r15d
testb $0x1, %r15b
jne 0xc26ea
leaq 0x1(%r13), %rax
cmpq 0x30(%rsp), %r13
movq %rax, %r13
jb 0xc267f
testb $0x1, %r15b
jne 0xc27b1
movl 0x70(%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), %eax
movq %rax, 0x48(%rsp)
movl $0x0, %r8d
cmovnel %r9d, %r8d
movzbl (%rdi), %eax
movq %rax, 0x68(%rsp)
movzbl 0x6(%rdi), %eax
movq %rax, 0x40(%rsp)
movzbl 0x3(%rdi), %r12d
movzbl 0x4(%rdi), %r13d
movl 0x20(%rdi), %ebx
xorl %eax, %eax
cmpb $0x0, 0x5(%rdi)
sete %al
movl 0x1c(%rdi), %r10d
subq $0x8, %rsp
movq 0x40(%rsp), %rdi
pushq 0x30(%rsp)
pushq 0x30(%rsp)
pushq 0x30(%rsp)
pushq 0x30(%rsp)
movl $0x0, %r11d
pushq %r11
movl $0x0, %r11d
pushq 0x3f686a(%rip)          # 0x4b8fe0
pushq %r10
pushq %rax
pushq %r11
pushq %rbx
pushq %r13
pushq %r12
pushq 0xa8(%rsp)
pushq 0xb8(%rsp)
pushq 0xe0(%rsp)
callq 0x1bd125
addq $0x80, %rsp
testl %eax, %eax
movzbl %r15b, %eax
movl $0x1, %r15d
cmovel %eax, %r15d
cmpq $0x0, 0x30(%rsp)
je 0xc2823
xorl %ebx, %ebx
leaq 0x295636(%rip), %r12    # 0x357df8
leaq 0x60(%rsp), %r13
testb $0x1, %r15b
jne 0xc27e0
movq 0x10(%rsp), %rax
movq (%rax,%rbx,8), %rdi
movl %ebx, %esi
movq %r13, %rdx
callq 0x1bcee3
movq 0x10(%rsp), %rax
movq (%rax,%rbx,8), %rdi
callq 0x1bcf0e
testq %rbx, %rbx
je 0xc2819
movq (%r14,%rbx,8), %rdi
movq (%r14), %rax
xorl %ecx, %ecx
movq (%rdi,%rcx,8), %rdx
orq %rdx, (%rax,%rcx,8)
incq %rcx
cmpq %rcx, %rbp
jne 0xc27fc
movq %r12, %rsi
movl $0x293, %edx            # imm = 0x293
callq 0x1045eb
incq %rbx
cmpq 0x30(%rsp), %rbx
jne 0xc27c7
movb $0x1, %bpl
testb $0x1, %r15b
jne 0xc28a2
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rdi
callq 0x11b191
movq %rax, %rbx
movq 0x60(%rsp), %rdx
leaq 0x295d36(%rip), %rsi    # 0x35857f
movq 0x18(%rsp), %rdi
xorl %eax, %eax
callq 0x103fe1
leaq 0x295d3c(%rip), %rsi    # 0x358598
movq %rbx, %rdi
callq 0x11acf3
movq (%r14), %r12
movq %rbx, %rdi
callq 0x11b0a1
movq %r12, %rdi
movq 0x58(%rsp), %rsi
movq %rax, %rdx
xorl %ecx, %ecx
movq 0x28(%rsp), %r8
callq 0x1c1f57
movl %eax, %ebp
movq %rbx, %rdi
callq 0x11bdbf
andb $0x1, %r15b
testl %ebp, %ebp
movzbl %r15b, %eax
movl $0x1, %ebp
cmovel %eax, %ebp
leaq 0x29554f(%rip), %rbx    # 0x357df8
movq 0x10(%rsp), %rdi
movq %rbx, %rsi
movl $0x2a5, %edx            # imm = 0x2A5
callq 0x1045eb
movq (%r14), %rdi
movq %rbx, %rsi
movl $0x2a6, %edx            # imm = 0x2A6
callq 0x1045eb
movq %r14, %rdi
movq %rbx, %rsi
movl $0x2a7, %edx            # imm = 0x2A7
callq 0x1045eb
movq 0x20(%rsp), %r15
movq 0x18(%rsp), %r14
movq 0x50(%rsp), %rbx
movq 0x38(%rsp), %r13
jmp 0xc2901
movb $0x1, %bpl
xorl %r13d, %r13d
movq 0x50(%rsp), %rbx
movq 0x20(%rsp), %r15
movq %r13, %rdi
callq 0xea375
movq %rbx, %rdi
callq 0xefbe3
testq %r15, %r15
je 0xc2930
movq 0x3f65bb(%rip), %rax    # 0x4b8ed8
movq (%rax), %rsi
movq %r15, %rdi
callq 0x11cf39
movq %r15, %rdi
callq 0x11d054
movq 0x78(%rsp), %rdi
callq 0x1040e0
movq %r14, %rdi
callq 0x1040e0
movzbl %bpl, %eax
negl %eax
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq (,%r15,8), %rdi
leaq 0x29548f(%rip), %rsi    # 0x357df8
movl $0x1ec, %edx            # imm = 0x1EC
callq 0x104226
movq %rax, 0x10(%rsp)
movl 0xc(%rbx), %esi
leaq 0x29598e(%rip), %rdi    # 0x358310
movq $0x0, 0x40(%rsp)
xorl %eax, %eax
callq 0x103d72
leaq 0x8c(%rsp), %rsi
movq %rbx, %rdi
movq %r12, %rdx
callq 0xc2e92
movl %eax, %ebp
leaq 0x295979(%rip), %rsi    # 0x358327
movq %r14, %rdi
movl %r15d, %edx
xorl %eax, %eax
callq 0x103fe1
movl 0x28(%rbx), %edx
leaq 0x29597a(%rip), %rsi    # 0x35833f
movq %r14, %rdi
xorl %eax, %eax
callq 0x103fe1
testb %bpl, %bpl
jne 0xc2e4e
cmpl $0x0, 0x28(%rbx)
je 0xc2e4e
movq $0x0, 0x40(%rsp)
movl $0x1, %edx
xorl %ebp, %ebp
movq %r12, 0x28(%rsp)
movl %edx, 0x68(%rsp)
xorl %eax, %eax
movq %rax, 0x70(%rsp)
movq %rax, 0x98(%rsp)
movq %rax, 0x80(%rsp)
movq %rax, 0x90(%rsp)
movq %r14, %rdi
leaq 0x295935(%rip), %rsi    # 0x358359
xorl %eax, %eax
callq 0x103fe1
testq %r15, %r15
je 0xc2aa5
testb $0x1, %bpl
jne 0xc2aa5
xorl %ebx, %ebx
movq 0x8(%rsp), %rax
movl 0xc(%rax), %r14d
movl 0x14(%rax), %r15d
movq 0x38(%rax), %rdi
callq 0x11b0a1
subq $0x8, %rsp
movq %r13, %rdi
movl %r14d, %esi
movl %r15d, %edx
movq %rax, %rcx
leaq 0x295913(%rip), %r8     # 0x358378
movl %ebx, %r9d
pushq %r12
callq 0x1bca42
addq $0x10, %rsp
movq 0x10(%rsp), %rcx
movq %rax, (%rcx,%rbx,8)
testq %rax, %rax
movzbl %bpl, %ebp
movl $0x1, %eax
cmovel %eax, %ebp
testb $0x1, %bpl
jne 0xc2aa0
incq %rbx
movq 0x30(%rsp), %r15
cmpq %r15, %rbx
jb 0xc2a38
jmp 0xc2aa5
movq 0x30(%rsp), %r15
testb $0x1, %bpl
jne 0xc2b7c
movl 0x8c(%rsp), %esi
movq 0x8(%rsp), %rax
movl 0x18(%rax), %edx
cmpb $0x0, 0x7(%rax)
movq 0x30(%rax), %rcx
movl 0xc(%rax), %r9d
movl 0x10(%rax), %edi
movq %rdi, 0x58(%rsp)
movl $0x0, %r8d
cmovnel %r9d, %r8d
movzbl (%rax), %edi
movq %rdi, 0x48(%rsp)
movzbl 0x6(%rax), %edi
movq %rdi, 0xa0(%rsp)
movzbl 0x3(%rax), %ebx
movzbl 0x4(%rax), %r14d
movl 0x20(%rax), %r15d
movq %r12, %r10
xorl %r12d, %r12d
cmpb $0x0, 0x5(%rax)
sete %r12b
movl 0x1c(%rax), %eax
subq $0x8, %rsp
movq 0x40(%rsp), %rdi
pushq %r10
pushq 0x30(%rsp)
pushq 0x30(%rsp)
pushq 0x30(%rsp)
movl $0x0, %r11d
pushq %r11
pushq 0x3f643d(%rip)          # 0x4b8f70
pushq %rax
movq 0x78(%rsp), %r13
pushq %r12
movq %r10, %r12
pushq %r11
pushq %r15
movq 0x88(%rsp), %r15
pushq %r14
pushq %rbx
pushq 0x108(%rsp)
pushq 0xc8(%rsp)
pushq 0xc0(%rsp)
callq 0x1bd125
addq $0x80, %rsp
testl %eax, %eax
movzbl %bpl, %ebp
movl $0x1, %eax
cmovnel %eax, %ebp
testq %r15, %r15
movq 0x18(%rsp), %r14
je 0xc2bd1
xorl %ebx, %ebx
testb $0x1, %bpl
jne 0xc2bbb
movq 0x10(%rsp), %rax
movq (%rax,%rbx,8), %rdi
movl %ebx, %esi
leaq 0x70(%rsp), %rdx
leaq 0x98(%rsp), %rcx
leaq 0x90(%rsp), %r8
leaq 0x80(%rsp), %r9
callq 0x1bcc3a
movq 0x10(%rsp), %rax
movq (%rax,%rbx,8), %rdi
callq 0x1bcbdf
incq %rbx
cmpq %rbx, %r15
jne 0xc2b88
movq 0x40(%rsp), %rax
addq 0x80(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x90(%rsp), %rcx
movq %r14, %rdi
leaq 0x295788(%rip), %rsi    # 0x35837d
movl 0x68(%rsp), %ebx
movl %ebx, %edx
xorl %eax, %eax
callq 0x103fe1
movq 0x98(%rsp), %rcx
movq %r14, %rdi
leaq 0x295794(%rip), %rsi    # 0x3583a8
movl %ebx, %edx
xorl %eax, %eax
callq 0x103fe1
movq 0x70(%rsp), %rcx
movq %r14, %rdi
leaq 0x2957ab(%rip), %rsi    # 0x3583d7
movl %ebx, %edx
xorl %eax, %eax
callq 0x103fe1
movq 0x80(%rsp), %rcx
movq %r14, %rdi
leaq 0x2957c1(%rip), %rsi    # 0x358408
movl %ebx, %edx
xorl %eax, %eax
callq 0x103fe1
testb $0x1, %bpl
jne 0xc2e3f
movq %r14, %rdi
leaq 0x2957d3(%rip), %rsi    # 0x358437
movl %ebx, %edx
xorl %eax, %eax
callq 0x103fe1
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rdi
callq 0x11b0a1
movq %r13, %rdi
movq %rax, 0x58(%rsp)
movq %rax, %rsi
movq %r12, %rdx
callq 0x1dadf4
movq %rax, %r12
testq %rax, %rax
sete %bl
leaq 0x295870(%rip), %rdi    # 0x35850e
movl %r15d, %esi
xorl %eax, %eax
callq 0x103d72
testq %r15, %r15
je 0xc2df9
testq %r12, %r12
je 0xc2df9
xorl %r15d, %r15d
movl %ebp, 0x48(%rsp)
movq 0x58(%rsp), %rbp
movq %rbp, %rdi
callq 0x11acc9
movq %rax, %r13
movq %rax, %rdi
movl $0x2e, %esi
callq 0x11af23
movq %r13, %rdi
movl %r15d, %esi
callq 0x11b054
movq %r13, %rdi
leaq 0x295685(%rip), %rbx    # 0x358378
movq %rbx, %rsi
callq 0x11acf3
movq %r13, %rdi
callq 0x11b0a1
movq %rax, %rdi
leaq 0x298148(%rip), %rsi    # 0x35ae55
leaq 0x2950e4(%rip), %rdx    # 0x357df8
movl $0x161, %ecx            # imm = 0x161
movq 0x28(%rsp), %r8
callq 0xfcdbb
movq %rax, %r14
leaq 0x295800(%rip), %rdi    # 0x35852d
movq %rbp, %rsi
movl %r15d, %edx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x103d72
testq %r14, %r14
je 0xc2dd9
movl $0x8, %esi
movl $0x1, %edx
leaq 0x60(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rcx
callq 0x17b40
cmpq $0x1, %rax
jne 0xc2d8e
movq 0x60(%rsp), %rdx
movq %rdx, %rsi
shrq $0x2, %rsi
movq %rsi, 0x60(%rsp)
andl $0x3, %edx
movq %r12, %rdi
callq 0x1daecd
movl $0x8, %esi
movl $0x1, %edx
jmp 0xc2d55
movq %r14, %rdi
callq 0x17f00
testl %eax, %eax
setne %bl
movl 0x48(%rsp), %ebp
je 0xc2dbf
movq %r13, %rdi
callq 0x11b0a1
movq 0x28(%rsp), %rdi
leaq 0x295797(%rip), %rsi    # 0x35854c
movq %rax, %rdx
xorl %eax, %eax
callq 0xfcb67
movq %r14, %rdi
callq 0xfd018
movq %r13, %rdi
callq 0x11b0a1
movq %rax, %rdi
callq 0x11fc3f
jmp 0xc2ddf
movb $0x1, %bl
movl 0x48(%rsp), %ebp
movq %r13, %rdi
callq 0x11bdbf
testb %bl, %bl
jne 0xc2df9
incl %r15d
cmpl 0x30(%rsp), %r15d
jb 0xc2cc1
movq %r12, %rdi
callq 0x1daf23
movzbl %bpl, %ebp
testb %bl, %bl
movl $0x1, %eax
cmovnel %eax, %ebp
movl 0x68(%rsp), %edx
incl %edx
movq 0x8(%rsp), %rax
cmpl 0x28(%rax), %edx
ja 0xc2e44
testb $0x1, %bpl
movq 0x18(%rsp), %r14
movq 0x28(%rsp), %r12
movq 0x38(%rsp), %r13
movq 0x30(%rsp), %r15
je 0xc29f7
jmp 0xc2e4e
movb $0x1, %bpl
jmp 0xc2e4e
movq 0x18(%rsp), %r14
movq 0x38(%rsp), %r13
leaq 0x295606(%rip), %rsi    # 0x35845b
movq %r14, %rdi
movq 0x40(%rsp), %rdx
xorl %eax, %eax
callq 0x103fe1
leaq 0x294f8d(%rip), %rsi    # 0x357df8
movq 0x10(%rsp), %rdi
movl $0x244, %edx            # imm = 0x244
callq 0x1045eb
andb $0x1, %bpl
jmp 0xc28f7
callq 0x1ed2c
callq 0x1ecba
callq 0x1ecf3