// File: /workspace/github_c_makefile_star2_O3/genometools[P]genometools/src/tools/gt_sfxmap.c
// Function: gt_sfxmap_runner
static int gt_sfxmap_runner(GT_UNUSED int argc,
                            GT_UNUSED const char **argv,
                            GT_UNUSED int parsed_args,
                            void *tool_arguments, GtError *err)
{
  bool haserr = false;
  Sfxmapoptions *arguments = tool_arguments;
  GtLogger *logger;

  gt_error_check(err);
  logger = gt_logger_new(arguments->verbose, GT_LOGGER_DEFLT_PREFIX, stdout);
  if (gt_str_length(arguments->esaindexname) > 0)
  {
    if (arguments->compressedesa)
    {
      if (gt_sfxmap_compressedesa(gt_str_get(arguments->esaindexname),
                                   err) != 0)
      {
        haserr = true;
      }
    } else
    {
      if (arguments->compresslcp)
      {
        if (gt_sfxmap_compresslcp(gt_str_get(arguments->esaindexname),
                                  logger,err) != 0)
        {
          haserr = true;
        }
      } else
      {
        if (gt_sfxmap_esa(arguments,logger,err) != 0)
        {
          haserr = true;
        }
      }
    }
  }
  if (!haserr && gt_str_length(arguments->pckindexname) > 0)
  {
    if (gt_sfxmap_pck(arguments,logger,err) != 0)
    {
      haserr = true;
    }
  }
  if (!haserr && gt_str_array_size(arguments->streamesq) > 0)
  {
    if (gt_sfxmap_stream_esq(arguments,err) != 0)
    {
      haserr = true;
    }
  }
  if (!haserr && arguments->sortmaxdepth > 0)
  {
    if (gt_sfxmap_performsortmaxdepth(arguments,logger,err) != 0)
    {
      haserr = true;
    }
  }
  if (!haserr && arguments->diffcovercheck)
  {
    if (gt_sfxmap_run_diffcover_check(arguments, err) != 0)
    {
      haserr = true;
    }
  }
  if (!haserr && (arguments->enumlcpitvs || arguments->enumlcpitvtree ||
                  arguments->enumlcpitvtreeBU))
  {
    if (arguments->enumlcpitvtreeBU)
    {
      if (gt_runenumlcpvalues_bottomup(gt_str_get(arguments->esaindexname),
                                       logger, err) != 0)
      {
        haserr = true;
      }
    } else
    {
      if (gt_runenumlcpvalues_process(gt_str_get(arguments->esaindexname),
                                      arguments->enumlcpitvs ? showlcpinterval
                                                             : NULL,
                                      NULL,
                                     logger, err) != 0)
      {
        haserr = true;
      }
    }
  }
  if (!haserr && arguments->scanesa > 0)
  {
    if (gt_runscanesa(gt_str_get(arguments->esaindexname),arguments->scanesa,
                      logger,err) != 0)
    {
      haserr = true;
    }
  }
  if (!haserr && arguments->spmitv)
  {
    if (gt_process_spmitv(gt_str_get(arguments->esaindexname),logger,err) != 0)
    {
      haserr = true;
    }
  }
  if (!haserr && arguments->ownencseq2file)
  {
    if (gt_encseq_check_external_twobitencoding_to_file(
                                 gt_str_get(arguments->esaindexname), err) != 0)
    {
      haserr = true;
    }
  }
  gt_logger_delete(logger);
  return haserr ? -1 : 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x178, %rsp            # imm = 0x178
movq %r8, %rbx
movq %rcx, %r15
testq %r8, %r8
je 0xc6111
movq %rbx, %rdi
callq 0xfcc32
testb %al, %al
jne 0xc762d
movzbl 0x2(%r15), %edi
movq 0x3f2dbb(%rip), %rax    # 0x4b8ed8
movq (%rax), %rdx
leaq 0x2807ad(%rip), %rsi    # 0x3468d4
callq 0x103e40
movq %rax, %rbp
movq 0x20(%r15), %rdi
callq 0x11b0ca
testq %rax, %rax
movq %rbx, 0x10(%rsp)
je 0xc622b
cmpb $0x1, 0x12(%r15)
jne 0xc6233
movq 0x20(%r15), %rdi
callq 0x11b0a1
movq %rax, %r13
callq 0xef0cd
movq %rax, %r12
testq %rbx, %rbx
je 0xc617a
movq %rbx, %rdi
callq 0xfcc32
testb %al, %al
jne 0xc7641
movq %r12, %rdi
movq %r13, %rsi
movq %rbx, %rdx
callq 0xef129
movq %rbx, %r14
movq %rax, %rbx
movq %r12, %rdi
callq 0xefbe3
testq %rbx, %rbx
je 0xc6398
movq %rbx, %rdi
callq 0xe7b9c
movq %rax, 0x18(%rsp)
leaq 0x293880(%rip), %rsi    # 0x359a33
leaq 0x2df563(%rip), %rdx    # 0x3a571d
leaq 0x293313(%rip), %rcx    # 0x3594d4
movq %r13, %rdi
movl $0x36a, %r8d            # imm = 0x36A
movq %r14, %r9
callq 0xfcf97
movq %rax, %r12
movb $0x1, %r14b
testq %rax, %rax
je 0xc67c5
leaq 0x78(%rsp), %rdi
movl $0x8, %esi
movl $0x1, %edx
movq %r12, %rcx
callq 0x17b40
cmpq $0x1, %rax
jne 0xc649e
leaq 0xf(%rsp), %rdi
movl $0x1, %esi
movl $0x1, %edx
movq %r12, %rcx
callq 0x17b40
cmpq $0x1, %rax
jne 0xc64e9
xorl %r14d, %r14d
jmp 0xc6514
xorl %r14d, %r14d
jmp 0xc6c08
cmpb $0x1, 0x13(%r15)
jne 0xc62fa
movq 0x20(%r15), %rdi
callq 0x11b0a1
movq %rax, %r14
testq %rbx, %rbx
je 0xc625f
movq %rbx, %rdi
callq 0xfcc32
testb %al, %al
jne 0xc765a
movq %r14, %rdi
movl $0x5, %esi
movl $0x1, %edx
movq %rbp, %rcx
movq %rbx, %r8
callq 0x1a5580
movq %rax, 0x38(%rsp)
testq %rax, %rax
je 0xc64c5
movq %rax, %r12
movq %rbp, 0x20(%rsp)
movq %rax, %rdi
callq 0x1a5a56
movq %rax, %r13
movq %r12, %rdi
callq 0x1a5a6e
movq %rax, %rbp
leaq 0x293895(%rip), %rsi    # 0x359b3f
leaq 0x28f830(%rip), %rdx    # 0x355ae1
leaq 0x29321c(%rip), %rcx    # 0x3594d4
movq %r14, %rdi
movl $0x3ec, %r8d            # imm = 0x3EC
movq %rbx, %r9
callq 0xfcf97
movq %rax, %rbx
movq %rbp, %rdi
callq 0x105e91
movq %rbx, %rdi
movl %eax, %ebx
testq %rdi, %rdi
movq %rdi, 0x18(%rsp)
je 0xc64cd
movzwl %bx, %esi
callq 0xd64bc
movq %rax, %rbp
xorl %r14d, %r14d
jmp 0xc64d2
testq %rbx, %rbx
je 0xc630f
movq %rbx, %rdi
callq 0xfcc32
testb %al, %al
jne 0xc765f
cmpb $0x0, 0x5(%r15)
jne 0xc632b
cmpq $0x0, 0x18(%r15)
jne 0xc632b
xorl %eax, %eax
cmpb $0x1, 0x6(%r15)
movl $0x0, %ecx
jne 0xc6334
movb 0x6(%r15), %al
movl $0x1, %ecx
leal 0x10(%rcx), %edx
cmpb $0x0, 0x7(%r15)
cmovel %ecx, %edx
leal 0x20(%rdx), %ecx
cmpb $0x0, 0x8(%r15)
cmovel %edx, %ecx
leal 0x2(%rcx), %edx
testb $0x1, %al
cmovel %ecx, %edx
movl %edx, %eax
orl $0x4, %eax
cmpb $0x0, 0xa(%r15)
cmovel %edx, %eax
movl %eax, %ecx
orl $0x8, %ecx
cmpb $0x0, 0x9(%r15)
cmovel %eax, %ecx
movl %ecx, %eax
orl $0x40, %eax
cmpb $0x0, 0xb(%r15)
cmovel %ecx, %eax
movl %eax, %ebx
orl $0x80, %ebx
cmpb $0x0, 0xc(%r15)
cmovel %eax, %ebx
cmpb $0x0, (%r15)
je 0xc63a0
leaq 0xdb2e0(%rip), %r14     # 0x1a1676
jmp 0xc63a7
movb $0x1, %r14b
jmp 0xc67cd
leaq 0xdbee1(%rip), %r14     # 0x1a2288
movq 0x20(%r15), %rdi
callq 0x11b0a1
leaq 0x78(%rsp), %r12
movq %r12, %rdi
movl %ebx, %esi
movq %rax, %rdx
movq %rbp, %rcx
movq 0x10(%rsp), %rbx
movq %rbx, %r8
callq *%r14
xorl %r13d, %r13d
testl %eax, %eax
setne %r14b
movq (%r12), %rdi
testq %rdi, %rdi
sete %al
orb %r14b, %al
jne 0xc6bc7
movq 0x18(%r15), %rbx
testq %rbx, %rbx
je 0xc67df
movq %rbp, 0x20(%rsp)
movq %rdi, 0x18(%rsp)
movl $0x1, %esi
callq 0xeae2c
movq %rax, %r12
leaq 0x2fc10f(%rip), %rdi    # 0x3c2521
callq 0x17bd0
leaq 0x38(%rsp), %rsi
movq %r12, %rdi
callq 0xeae9a
testb %al, %al
je 0xc6884
xorl %ecx, %ecx
leaq 0x38(%rsp), %r13
movq 0x38(%rsp), %rax
movq 0x40(%rsp), %rbp
movq %rbp, %rdx
subq %rax, %rdx
jbe 0xc7628
cmpq %rbx, %rdx
jbe 0xc6484
testq %rax, %rax
je 0xc6487
cmpq %rcx, %rax
jbe 0xc6484
movq 0x3f2a79(%rip), %rdx    # 0x4b8ed8
movq (%rdx), %rdi
movq %rbx, %r8
subq %rcx, %r8
addq %rax, %r8
movl $0x46, %r9d
movq 0x18(%rsp), %rsi
xorl %edx, %edx
callq 0x198b2f
movq 0x40(%rsp), %rbp
jmp 0xc6487
movq %rcx, %rbp
movq %r12, %rdi
movq %r13, %rsi
callq 0xeae9a
movq %rbp, %rcx
testb %al, %al
jne 0xc6433
jmp 0xc6886
leaq 0x293594(%rip), %rsi    # 0x359a39
leaq 0x293587(%rip), %r8     # 0x359a33
movq 0x10(%rsp), %rdi
movl $0x8, %edx
movq %r13, %rcx
xorl %eax, %eax
callq 0xfcb67
jmp 0xc67c5
movb $0x1, %r14b
jmp 0xc6bff
movb $0x1, %r14b
xorl %ebp, %ebp
testl %ebx, %ebx
je 0xc64df
testb %r14b, %r14b
je 0xc6694
movq 0x10(%rsp), %rbx
jmp 0xc6859
leaq 0x293574(%rip), %rsi    # 0x359a64
leaq 0x29353c(%rip), %r8     # 0x359a33
movq 0x10(%rsp), %rdi
movl $0x1, %edx
movq %r13, %rcx
movl $0x8, %r9d
xorl %eax, %eax
callq 0xfcb67
movb $0x1, %r14b
movq 0x78(%rsp), %rax
movzbl 0xf(%rsp), %ecx
xorl %edx, %edx
movq %rcx, 0x28(%rsp)
divq %rcx
testq %rdx, %rdx
jne 0xc7669
movq %rax, %r13
movq 0x18(%rsp), %rax
incq %rax
cmpq %rax, %r13
jne 0xc766e
testb %r14b, %r14b
jne 0xc67c5
movq %rbp, 0x20(%rsp)
leaq 0x38(%rsp), %rbp
movq $0x0, (%rbp)
leaq (,%r13,8), %rdi
leaq 0x292f65(%rip), %rsi    # 0x3594d4
movl $0x392, %edx            # imm = 0x392
callq 0x104226
movq %r13, 0x68(%rsp)
leaq (%rax,%r13,8), %rcx
movq %rcx, 0x70(%rsp)
xorl %r8d, %r8d
movq %rax, 0x58(%rsp)
movq %rax, 0x30(%rsp)
movq $0x0, 0x60(%rsp)
movq 0x28(%rsp), %rcx
movl %ecx, %r13d
movl %r8d, %edx
movq $0x0, 0x50(%rsp)
testl %edx, %edx
jne 0xc65da
movl $0x8, %esi
movl $0x1, %edx
movq %rbp, %rdi
movq %r12, %rcx
callq 0x17b40
movl $0x40, %edx
cmpq $0x1, %rax
je 0xc65b1
jmp 0xc6761
movl %edx, %r8d
subl %r13d, %r8d
jae 0xc6623
cmpl $0x40, %edx
jae 0xc7673
movq 0x38(%rsp), %rax
movq $-0x1, %rsi
movl %edx, %ecx
shlq %cl, %rsi
notq %rsi
andq %rax, %rsi
movq 0x28(%rsp), %rcx
subl %r13d, %ecx
shlq %cl, %rsi
movl %edx, %ecx
shrq %cl, %rax
orq %rsi, 0x50(%rsp)
movq %rax, 0x38(%rsp)
subl %edx, %r13d
xorl %edx, %edx
jmp 0xc65b1
movq 0x30(%rsp), %rax
cmpq 0x70(%rsp), %rax
jae 0xc6761
movq 0x38(%rsp), %rsi
movq $-0x1, %rdx
movl %r13d, %ecx
shlq %cl, %rdx
notq %rdx
andq %rsi, %rdx
movq 0x28(%rsp), %rdi
movl %edi, %ecx
subl %r13d, %ecx
shlq %cl, %rdx
movl %r13d, %ecx
shrq %cl, %rsi
orq 0x50(%rsp), %rdx
movq %rsi, 0x38(%rsp)
movq %rdx, %rsi
movl %edi, %ecx
shrq %cl, %rsi
testq %rsi, %rsi
jne 0xc7696
movq 0x30(%rsp), %rax
movq %rdx, (%rax)
addq $0x8, %rax
movq %rax, 0x30(%rsp)
incq 0x60(%rsp)
jmp 0xc659d
movq %rbp, %rdi
xorl %esi, %esi
callq 0xd6762
movl $0xd0, %ebx
cmpb $0x1, 0x40(%r12)
jne 0xc66fa
movq (%r12), %rsi
addq %rbx, %rsi
leaq 0xf(%rsp), %rdi
callq 0xc76d0
testl %eax, %eax
je 0xc684b
movzbl 0xf(%rsp), %esi
cmpq $0xff, %rsi
jne 0xc6751
movq (%r12), %rsi
movl $0xe8, %eax
addq %rax, %rsi
leaq 0x78(%rsp), %rdi
callq 0xc773d
testl %eax, %eax
je 0xc68e0
movq 0x80(%rsp), %rsi
jmp 0xc6751
movq 0x20(%r12), %rax
cmpq 0x10(%r12), %rax
jae 0xc684b
movq (%r12), %rcx
movq 0x60(%rcx), %rdx
leaq 0x1(%rax), %rsi
movq %rsi, 0x20(%r12)
movzbl (%rdx,%rax), %esi
cmpq $0xff, %rsi
jne 0xc6751
movq 0x68(%rcx), %rcx
movq 0x28(%r12), %rdx
movq %rdx, %rsi
shlq $0x4, %rsi
cmpq %rax, (%rcx,%rsi)
jne 0xc764b
addq %rsi, %rcx
incq %rdx
movq %rdx, 0x28(%r12)
movq 0x8(%rcx), %rsi
movq %rbp, %rdi
callq 0xd6762
decq %r13
jmp 0xc66a3
movq 0x60(%rsp), %rax
cmpq 0x68(%rsp), %rax
jne 0xc767d
movq %rbx, %rdi
callq 0xebcb6
subq $0x8, %rsp
leaq 0xf47(%rip), %rdi       # 0xc76cb
leaq -0xc97(%rip), %rsi      # 0xc5af4
movq %rbx, %rdx
xorl %ecx, %ecx
movq 0x20(%rsp), %r8
movl %eax, %r9d
pushq $0x0
pushq $0x8
movq 0x70(%rsp), %r13
pushq %r13
callq 0x1eddc8
addq $0x20, %rsp
leaq 0x292d21(%rip), %rsi    # 0x3594d4
movq %r13, %rdi
movl $0x3c9, %edx            # imm = 0x3C9
callq 0x1045eb
movq 0x20(%rsp), %rbp
movq %r12, %rdi
callq 0xfd018
movq %rbx, %rdi
callq 0xea375
movq 0x10(%rsp), %rbx
jmp 0xc6bff
callq 0xe7b9c
cmpb $0x1, 0x6(%r15)
jne 0xc68d6
cmpb $0x0, (%r15)
movq 0x10(%rsp), %rbx
jne 0xc6a36
leaq 0x1(%rax), %rcx
cmpq %rcx, 0xc8(%rsp)
jne 0xc6817
cmpb $0x1, 0x1(%r15)
jne 0xc697c
cmpb $0x1, 0xa(%r15)
jne 0xc690a
movq %rax, %r12
movq 0x20(%r15), %rdi
callq 0x11b0a1
movq %rax, %rdi
movl $0x5, %esi
movl $0x1, %edx
movq %rbp, %rcx
movq %rbx, %r8
callq 0x1a5580
jmp 0xc690f
testq %r13, %r13
movq 0x10(%rsp), %rbx
jne 0xc7682
leaq 0x38(%rsp), %rdi
callq 0x1a5698
movq %rbp, %rdi
callq 0xd68ba
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0xc687a
callq 0xfd018
movq 0x20(%rsp), %rbp
jmp 0xc6bff
xorl %ebp, %ebp
movq 0x18(%rsp), %rbx
movq %rbx, %rdi
callq 0xe7b9c
leaq -0x1(%rax), %rcx
cmpq %rcx, %rbp
jae 0xc68bf
movq 0x3f2635(%rip), %rcx    # 0x4b8ed8
movq (%rcx), %rdi
subq %rbp, %rax
movl $0x46, %r9d
movq %rbx, %rsi
xorl %edx, %edx
movq %rbp, %rcx
movq %rax, %r8
callq 0x198b2f
movq %r12, %rdi
callq 0xeb455
movq 0x20(%rsp), %rbp
movq 0x10(%rsp), %rbx
jmp 0xc6bc7
movq 0x10(%rsp), %rbx
jmp 0xc6a36
leaq 0x29325e(%rip), %rsi    # 0x359b45
leaq 0x292be6(%rip), %rdx    # 0x3594d4
movq 0x10(%rsp), %rbx
movq %rbx, %rdi
movl $0x401, %ecx            # imm = 0x401
xorl %eax, %eax
callq 0xfcb67
movb $0x1, %r14b
jmp 0xc6859
movq %rax, %r12
xorl %eax, %eax
movq %rax, 0x38(%rsp)
leaq 0x293300(%rip), %rsi    # 0x359c1b
movq %rbp, %rdi
xorl %eax, %eax
callq 0x103fe1
movq 0x78(%rsp), %rdi
movl 0xc0(%rsp), %esi
movq 0xd0(%rsp), %rdx
movq 0xc8(%rsp), %rcx
movzbl 0x11(%r15), %r8d
movq 0x38(%rsp), %r9
subq $0x8, %rsp
pushq %rbx
callq 0xc77b0
addq $0x10, %rsp
testl %eax, %eax
jne 0xc7691
cmpq $0x0, 0x38(%rsp)
je 0xc6a1d
leaq 0x38(%rsp), %rdi
callq 0x1a5698
jmp 0xc6a1d
movq 0x78(%rsp), %r12
movq %rbp, 0x20(%rsp)
movl 0xc0(%rsp), %ebp
movq %r12, %rdi
movq %rax, %rbx
callq 0xebcb6
subq $0x8, %rsp
leaq 0xd28(%rip), %rdi       # 0xc76cb
leaq -0xeb6(%rip), %rsi      # 0xc5af4
movq %r12, %rdx
movl %ebp, %ecx
movq 0x28(%rsp), %rbp
movq %rbx, %r12
movq %rbx, %r8
movl %eax, %r9d
pushq %rbp
pushq $0x8
pushq 0xe8(%rsp)
callq 0x1eddc8
addq $0x20, %rsp
cmpb $0x1, 0xa(%r15)
jne 0xc6a18
movq 0x20(%r15), %rdi
callq 0x11b0a1
movq 0x78(%rsp), %rsi
movl 0xc0(%rsp), %edx
movq 0xd0(%rsp), %rcx
movq %rax, %rdi
movq %rbp, %r8
movq 0x10(%rsp), %rbx
movq %rbx, %r9
callq 0x1edc42
testl %eax, %eax
movb %r14b, %r13b
movl $0x1, %r14d
cmovel %r13d, %r14d
jmp 0xc6a1d
movq 0x10(%rsp), %rbx
testb %r14b, %r14b
jne 0xc6a33
leaq 0x28ac6b(%rip), %rsi    # 0x351694
movq %rbp, %rdi
xorl %eax, %eax
callq 0x103fe1
movq %r12, %rax
testb %r14b, %r14b
jne 0xc6bc7
cmpb $0x1, 0x9(%r15)
jne 0xc6bc7
cmpb $0x0, 0xb0(%rsp)
je 0xc768c
movb (%r15), %cl
cmpb $0x1, 0x6(%r15)
jne 0xc6aa7
testb $0x1, %cl
jne 0xc6aac
leaq 0x1(%rax), %rcx
cmpq %rcx, 0xc8(%rsp)
jne 0xc769b
movq 0xb8(%rsp), %rdx
cmpq %rax, %rdx
jae 0xc76a0
movq 0xd0(%rsp), %rcx
testq %rcx, %rcx
je 0xc76a5
cmpq $0x0, (%rcx,%rdx,8)
je 0xc6b17
callq 0x1f87d
testb $0x1, %cl
je 0xc6b17
movq %rax, 0x18(%rsp)
leaq 0x130(%rsp), %r13
leaq 0x38(%rsp), %rdi
movq %r13, %rsi
callq 0xc76d0
testl %eax, %eax
je 0xc6b56
movq %rbp, 0x20(%rsp)
leaq 0xf(%rsp), %rdi
movq %r13, %rsi
callq 0xc76d0
testl %eax, %eax
je 0xc6b5b
movb 0x38(%rsp), %bl
xorl %r12d, %r12d
leaq 0xf(%rsp), %rbp
movb 0xf(%rsp), %al
cmpb %al, %bl
setne %cl
cmpb $-0x2, %al
setae %al
orb %cl, %al
movzbl %al, %eax
addq %rax, %r12
movq %rbp, %rdi
movq %r13, %rsi
callq 0xc76d0
testl %eax, %eax
jne 0xc6af0
jmp 0xc6b5e
cmpq $0x2, %rax
jb 0xc6b51
movl $0x1, %edi
movq 0xe8(%rsp), %rcx
xorl %r12d, %r12d
movb (%rcx,%rdi), %dl
cmpb %dl, -0x1(%rcx,%rdi)
setne %sil
cmpb $-0x2, %dl
setae %dl
orb %sil, %dl
movzbl %dl, %edx
addq %rdx, %r12
incq %rdi
cmpq %rdi, %rax
jne 0xc6b2d
jmp 0xc6b6d
xorl %r12d, %r12d
jmp 0xc6b6d
xorl %r12d, %r12d
jmp 0xc6b68
xorl %r12d, %r12d
movq 0x20(%rsp), %rbp
movq 0x10(%rsp), %rbx
movq 0x18(%rsp), %rax
movq %r12, %xmm1
movq 0x280d66(%rip), %xmm2   # 0x3478e0
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x280d6a(%rip), %xmm3   # 0x3478f0
subpd %xmm3, %xmm1
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
movq %rax, %xmm1
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
subpd %xmm3, %xmm1
movapd %xmm1, %xmm2
unpckhpd %xmm1, %xmm2            # xmm2 = xmm2[1],xmm1[1]
addsd %xmm1, %xmm2
divsd %xmm2, %xmm0
leaq 0x293124(%rip), %rsi    # 0x359cde
movq %rbp, %rdi
movq %r12, %rdx
movb $0x1, %al
callq 0x103fe1
testb %r14b, %r14b
jne 0xc6bf5
cmpb $0x1, 0x7(%r15)
jne 0xc6bf5
cmpb $0x1, 0x8(%r15)
jne 0xc6bf5
leaq 0x293120(%rip), %rsi    # 0x359d01
movq %rbp, %rdi
xorl %eax, %eax
callq 0x103fe1
movq 0x78(%rsp), %rdi
callq 0xec2e8
leaq 0x78(%rsp), %rdi
callq 0x1a1540
testb %r14b, %r14b
jne 0xc70be
movq 0x28(%r15), %rdi
callq 0x11b0ca
testq %rax, %rax
je 0xc70be
movq $0x0, 0x38(%rsp)
testq %rbx, %rbx
je 0xc6c38
movq %rbx, %rdi
callq 0xfcc32
testb %al, %al
jne 0xc763c
movq 0x28(%r15), %rdi
callq 0x11b0ca
testq %rax, %rax
je 0xc7637
movq 0x28(%r15), %rdi
callq 0x11b0a1
movq %rax, %rdi
xorl %esi, %esi
movq %rbx, %rdx
callq 0x19ff2b
testq %rax, %rax
je 0xc6cfe
movq %rax, %r13
movq 0x28(%r15), %rdi
callq 0x11b0a1
movq %rax, %rdi
movq %rbx, %rsi
callq 0xfb8bc
testq %rax, %rax
je 0xc6d10
movq %rax, %r12
movq 0x20(%r15), %rdi
callq 0x11b0ca
testq %rax, %rax
movq %rbp, 0x20(%rsp)
je 0xc6d23
cmpb $0x0, 0x3(%r15)
jne 0xc6cb1
cmpb $0x1, 0x4(%r15)
jne 0xc6d23
movq 0x20(%r15), %rdi
callq 0x11b0a1
movzbl 0x3(%r15), %ecx
xorl $0x1, %ecx
leal 0x2(,%rcx,2), %esi
movq %rax, %rdi
movl $0x1, %edx
movq %rbp, %rcx
movq %rbx, %r8
callq 0x1a5580
movq %rax, %rbp
movq %rax, 0x38(%rsp)
testq %rax, %rax
jne 0xc6d25
movq %r13, %rdi
callq 0x1a0035
movb $0x1, %r13b
movq 0x20(%rsp), %rbp
jmp 0xc70a4
xorl %r12d, %r12d
xorl %edi, %edi
callq 0x1a0035
movb $0x1, %r13b
jmp 0xc70a4
movq %r13, %rdi
callq 0x1a0035
movb $0x1, %r13b
xorl %r12d, %r12d
jmp 0xc70a4
xorl %ebp, %ebp
movl %r14d, 0x28(%rsp)
movq %r13, 0x50(%rsp)
movq %r12, %rdi
callq 0xfbed4
movq %rax, %r13
leaq 0x78(%rsp), %rbx
movq %rbx, %rdi
movq %r12, 0x60(%rsp)
movq %r12, %rsi
callq 0xfbf84
movq (%rbx), %r12
cmpq %r12, %r13
jb 0xc7650
movq %r13, %rbx
xorl %r13d, %r13d
movq 0x50(%rsp), %rdi
xorl %esi, %esi
movq %rbx, %rdx
callq 0x19f96f
movq %rax, %r14
leaq 0x29322d(%rip), %rsi    # 0x359fa7
movq 0x20(%rsp), %rdi
xorl %eax, %eax
callq 0x103fe1
movq %rbx, 0x68(%rsp)
movl $0x0, %eax
movq %rax, 0x18(%rsp)
subq %r12, %rbx
movq %r14, %r12
movl 0x28(%rsp), %r14d
je 0xc6fc8
leaq 0x293219(%rip), %rax    # 0x359fc6
movq %rax, 0x30(%rsp)
movq $0x0, 0x18(%rsp)
xorl %r13d, %r13d
leaq 0x78(%rsp), %rdi
movq %r12, %rsi
callq 0x19f9bb
testb %al, %al
je 0xc6fb0
testq %rbp, %rbp
je 0xc6f8e
cmpb $0x0, 0x3(%r15)
je 0xc6f8e
movq %r12, %r14
movq (%rbp), %r12
cmpb $0x1, 0x40(%rbp)
jne 0xc6e86
movq 0xb0(%r12), %rcx
testq %rcx, %rcx
je 0xc6ea0
movl 0xa4(%r12), %eax
cmpl 0xa0(%r12), %eax
jb 0xc6f33
movq 0xa8(%r12), %rdi
movl $0x8, %esi
movl $0x1000, %edx           # imm = 0x1000
callq 0x17b40
movq %rax, 0x58(%rsp)
movl %eax, 0xa0(%r12)
movq 0xb0(%r12), %rdi
callq 0x17f00
testl %eax, %eax
je 0xc6f1e
movq 0x10(%rsp), %rdi
leaq 0x292d8d(%rip), %rsi    # 0x359bf1
leaq 0x31bae0(%rip), %rdx    # 0x3e294b
xorl %eax, %eax
callq 0xfcb67
movl 0xa4(%r12), %eax
movb $0x1, %cl
movq %rcx, 0x18(%rsp)
jmp 0xc6f33
movq 0x58(%r12), %rax
movq 0x18(%rbp), %rcx
leaq 0x1(%rcx), %rdx
movq %rdx, 0x18(%rbp)
movq (%rax,%rcx,8), %rax
jmp 0xc6f7b
movl 0x8c(%r12), %eax
cmpl 0x88(%r12), %eax
jb 0xc6f63
movq 0x90(%r12), %rdi
movq 0x98(%r12), %rcx
movl $0x4, %esi
movl $0x1000, %edx           # imm = 0x1000
callq 0x17b40
movq %rax, 0x58(%rsp)
movl %eax, 0x88(%r12)
movq 0x98(%r12), %rdi
callq 0x17f00
testl %eax, %eax
je 0xc6f4e
movq 0x10(%rsp), %rdi
leaq 0x292cf2(%rip), %rsi    # 0x359bf1
leaq 0x2930f5(%rip), %rdx    # 0x359ffb
xorl %eax, %eax
callq 0xfcb67
movl 0x8c(%r12), %eax
movb $0x1, %cl
movq %rcx, 0x18(%rsp)
jmp 0xc6f63
movl $0x0, 0xa4(%r12)
xorl %eax, %eax
cmpl $0x0, 0x58(%rsp)
je 0xc6f9c
movq 0xa8(%r12), %rcx
leal 0x1(%rax), %edx
movl %edx, 0xa4(%r12)
movl %eax, %eax
movq (%rcx,%rax,8), %rax
jmp 0xc6f7b
movl $0x0, 0x8c(%r12)
xorl %eax, %eax
cmpl $0x0, 0x58(%rsp)
je 0xc6f9c
movq 0x90(%r12), %rcx
leal 0x1(%rax), %edx
movl %edx, 0x8c(%r12)
movl %eax, %eax
movl (%rcx,%rax,4), %eax
cmpq %rax, 0x78(%rsp)
movq %r14, %r12
movl 0x28(%rsp), %r14d
jne 0xc7632
incq %r13
cmpq %r13, %rbx
jne 0xc6dbe
jmp 0xc6fd1
leaq 0x293040(%rip), %rax    # 0x359fe3
movq %rax, 0x30(%rsp)
movq %r14, %r12
movl 0x28(%rsp), %r14d
movq 0x10(%rsp), %rdi
movq 0x30(%rsp), %rsi
xorl %eax, %eax
callq 0xfcb67
movb $0x1, %al
movq %rax, 0x18(%rsp)
cmpq %rbx, %r13
jne 0xc7655
movq %r12, %rdi
callq 0x19fa8c
xorl %eax, %eax
movq 0x18(%rsp), %rbx
testb $0x1, %bl
je 0xc6fec
movq 0x60(%rsp), %r12
jmp 0xc700f
movq 0x60(%rsp), %r12
movq %r12, %rdi
callq 0xfbec4
testq %rax, %rax
movzbl %bl, %ecx
movl $0x1, %ebx
cmovnel %ecx, %ebx
movq %rax, %rdi
callq 0xd11be
movq 0x50(%rsp), %r13
movq %rbx, 0x18(%rsp)
testb $0x1, %bl
je 0xc7032
movq %r13, %rdi
callq 0x1a0035
testq %rbp, %rbp
movq 0x10(%rsp), %rbx
jne 0xc7090
jmp 0xc709a
testq %rbp, %rbp
je 0xc701e
cmpb $0x0, 0x4(%r15)
je 0xc701e
leaq 0x292fec(%rip), %rsi    # 0x35a031
movq 0x20(%rsp), %rdi
movl %eax, %ebx
xorl %eax, %eax
callq 0x103fe1
leaq 0xde8(%rip), %rcx       # 0xc7e42
movq %r13, %rdi
movl %ebx, %esi
movq 0x68(%rsp), %rdx
movq %rbp, %r8
movq 0x10(%rsp), %rbx
movq %rbx, %r9
callq 0x1b88a0
testl %eax, %eax
movzbl 0x18(%rsp), %eax
movl $0x1, %ecx
cmovel %eax, %ecx
movq %rcx, 0x18(%rsp)
movq %r13, %rdi
callq 0x1a0035
leaq 0x38(%rsp), %rdi
callq 0x1a5698
movq 0x20(%rsp), %rbp
movq 0x18(%rsp), %r13
movq %r12, %rdi
callq 0xfbf9f
testb $0x1, %r13b
movzbl %r14b, %eax
movl $0x1, %r14d
cmovel %eax, %r14d
testb %r14b, %r14b
je 0xc7113
testb %r14b, %r14b
jne 0xc720f
cmpb $0x0, 0xd(%r15)
jne 0xc70e5
cmpb $0x0, 0xe(%r15)
jne 0xc70e5
cmpb $0x1, 0xf(%r15)
jne 0xc720f
movb 0xf(%r15), %bl
movq 0x20(%r15), %rdi
callq 0x11b0a1
cmpb $0x1, %bl
jne 0xc71d8
movq %rax, %rdi
movq %rbp, %rsi
movq 0x10(%rsp), %rbx
movq %rbx, %rdx
callq 0x1a0ee5
jmp 0xc71ff
movq 0x40(%r15), %rdi
callq 0x11c131
testq %rax, %rax
je 0xc73ab
movl $0x0, 0x78(%rsp)
movq 0x40(%r15), %rdi
callq 0x11c131
movq %rax, %r12
testq %rbx, %rbx
je 0xc714e
movq %rbx, %rdi
callq 0xfcc32
testb %al, %al
jne 0xc7646
movq %r12, %rax
andq $-0x2, %rax
cmpq $0x2, %rax
jne 0xc71af
movq 0x40(%r15), %rdi
movl $0x1, %esi
callq 0x11bfb3
leaq 0x3ec2a0(%rip), %rdi    # 0x4b3410
leaq 0x292f09(%rip), %rdx    # 0x35a080
movl $0x8, %esi
movq %rax, %rcx
movq %rbx, %r8
callq 0x1b7f20
testl %eax, %eax
js 0xc72b6
movl %eax, %ebx
cmpl $0x4, %eax
setb %al
cmpq $0x2, %r12
setne %cl
testb %cl, %al
je 0xc72be
leaq 0x292ee8(%rip), %rsi    # 0x35a095
jmp 0xc71b6
leaq 0x293043(%rip), %rsi    # 0x35a1f9
xorl %r13d, %r13d
movq 0x10(%rsp), %rdi
xorl %eax, %eax
callq 0xfcb67
xorl %r12d, %r12d
movq %r13, %rdi
callq 0xea375
movq %r12, %rdi
jmp 0xc74bb
leaq 0x4cb(%rip), %rsi       # 0xc76aa
xorl %ecx, %ecx
cmpb $0x0, 0xd(%r15)
cmoveq %rcx, %rsi
movq %rax, %rdi
xorl %edx, %edx
movq %rbp, %rcx
movq 0x10(%rsp), %rbx
movq %rbx, %r8
callq 0x1a0f78
testl %eax, %eax
movzbl %r14b, %eax
movl $0x1, %r14d
cmovel %eax, %r14d
testb %r14b, %r14b
jne 0xc7246
cmpl $0x0, 0x34(%r15)
je 0xc7246
movq 0x20(%r15), %rdi
callq 0x11b0a1
movl 0x34(%r15), %esi
movq %rax, %rdi
movq %rbp, %rdx
movq %rbx, %rcx
callq 0x1a100c
testl %eax, %eax
movzbl %r14b, %eax
movl $0x1, %r14d
cmovel %eax, %r14d
testb %r14b, %r14b
jne 0xc7279
cmpb $0x1, 0x14(%r15)
jne 0xc7279
movq 0x20(%r15), %rdi
callq 0x11b0a1
movq %rax, %rdi
movq %rbp, %rsi
movq %rbx, %rdx
callq 0x1a76d0
testl %eax, %eax
movzbl %r14b, %eax
movl $0x1, %r14d
cmovel %eax, %r14d
testb %r14b, %r14b
jne 0xc74c3
cmpb $0x1, 0x15(%r15)
jne 0xc74c3
movq 0x20(%r15), %rdi
callq 0x11b0a1
movq %rax, %rdi
movq %rbx, %rsi
callq 0xeedef
testl %eax, %eax
movzbl %r14b, %eax
movl $0x1, %r14d
cmovel %eax, %r14d
jmp 0xc74c3
xorl %r13d, %r13d
jmp 0xc71c5
cmpq $0x3, %r12
setne %al
movl %ebx, %ecx
andl $0x7ffffffc, %ecx       # imm = 0x7FFFFFFC
cmpl $0x4, %ecx
sete %cl
testb %al, %cl
je 0xc72e3
leaq 0x292e45(%rip), %rsi    # 0x35a123
jmp 0xc71b6
cmpq $0x3, %r12
jne 0xc7328
movq 0x40(%r15), %rdi
movl $0x2, %esi
callq 0x11bfb3
leaq 0x302c8c(%rip), %rsi    # 0x3c9f8a
leaq 0x78(%rsp), %rdx
movq %rax, %rdi
xorl %eax, %eax
callq 0x177f0
leaq 0x292e8e(%rip), %rsi    # 0x35a1a2
cmpl $0x1, %eax
jne 0xc71b6
cmpl $0x0, 0x78(%rsp)
jle 0xc71b6
callq 0xef0cd
movq %rax, %r12
movq 0x40(%r15), %rdi
xorl %esi, %esi
callq 0x11bfb3
movq %r12, %rdi
movq %rax, %rsi
movq 0x10(%rsp), %rdx
callq 0xef129
movq %rax, %r13
testq %rax, %rax
sete %al
cmpl $0x7, %ebx
setne %cl
orb %al, %cl
je 0xc736b
testq %r13, %r13
jne 0xc7380
xorl %r13d, %r13d
jmp 0xc71c8
movq %r13, %rdi
movq 0x10(%rsp), %rsi
callq 0xf24ac
testl %eax, %eax
jne 0xc71c8
movl 0x78(%rsp), %edx
testl %edx, %edx
js 0xc7687
movq %r13, %rdi
movl %ebx, %esi
callq 0x2010b8
movq %r13, %rdi
callq 0xea375
movq %r12, %rdi
callq 0xefbe3
movq 0x10(%rsp), %rbx
cmpl $0x0, 0x30(%r15)
je 0xc75a6
testq %rbx, %rbx
je 0xc73cb
movq %rbx, %rdi
callq 0xfcc32
testb %al, %al
jne 0xc7664
movq 0x20(%r15), %rdi
callq 0x11b0a1
movq %rax, %r13
callq 0xef0cd
movq %rax, 0x18(%rsp)
movq %rax, %rdi
movq %r13, %rsi
movq %rbx, %rdx
callq 0xef129
movq %rax, %r12
movq %rax, 0x38(%rsp)
testq %rax, %rax
je 0xc74ae
movl 0x30(%r15), %r8d
leaq 0x292fde(%rip), %rsi    # 0x35a3e9
leaq 0x292fb9(%rip), %rdx    # 0x35a3cb
movq %rbp, %rdi
movq %r13, %rcx
xorl %eax, %eax
callq 0x103fe1
movq %r12, %rdi
callq 0xeace6
xorb $0x1, %al
movq $0x1, 0x78(%rsp)
movq $0x3, 0x80(%rsp)
movq $0x3e8, 0x88(%rsp) # imm = 0x3E8
movq $0xfa0, 0x90(%rsp) # imm = 0xFA0
xorl %ecx, %ecx
movl %ecx, 0x98(%rsp)
movb %al, 0xa4(%rsp)
movl %ecx, 0xa5(%rsp)
movabsq $0x10000000000, %rax    # imm = 0x10000000000
movq %rax, 0xa8(%rsp)
movq $0x0, 0x9c(%rsp)
movq 0x38(%r15), %rdi
callq 0x11c131
testq %rax, %rax
je 0xc74e3
movq 0x38(%r15), %rsi
leaq 0x78(%rsp), %rdi
movq %rbx, %rdx
callq 0x1b54d8
testl %eax, %eax
je 0xc74e3
movq %r12, %rdi
callq 0xea375
movq 0x18(%rsp), %rdi
callq 0xefbe3
movb $0x1, %r14b
movq %rbp, %rdi
callq 0x1040e0
movzbl %r14b, %eax
negl %eax
addq $0x178, %rsp            # imm = 0x178
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %r12, %rdi
callq 0xe7b9c
leaq 0x1(%rax), %r13
movq %r13, %rdi
movq %rax, %rsi
movl $0x1, %edx
movq %rbp, %rcx
callq 0x1fc578
movq %rbp, 0x20(%rsp)
movq %rax, %rbp
leaq 0x38(%rsp), %rbx
movq %rax, 0x10(%rbx)
movq %rax, %rdi
movq %r13, %rsi
callq 0x1fcac5
xorl %eax, %eax
movl %eax, 0x8(%rbx)
movl 0x30(%r15), %r9d
movl %r9d, 0xc(%rbx)
leaq 0xa3b(%rip), %rax       # 0xc7f6d
leaq 0x78(%rsp), %r10
movq %rbp, %rdi
movq 0x20(%rsp), %rbp
movq %r13, %rsi
movq %r12, %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
pushq %rbp
pushq %rbx
pushq %rax
pushq %r10
callq 0x1e4c41
addq $0x20, %rsp
movq (%rbx), %rdx
movl 0x8(%rbx), %ecx
movq 0x10(%rbx), %r8
movl 0xc(%rbx), %eax
leaq 0x291f68(%rip), %rdi    # 0x3594d4
movl $0x55b, %esi            # imm = 0x55B
xorl %r9d, %r9d
pushq %rax
xorl %eax, %eax
pushq %rax
pushq %rax
pushq %r13
callq 0x1fd1cf
addq $0x20, %rsp
movq 0x10(%rbx), %rdi
xorl %esi, %esi
callq 0x1fc765
movq (%rbx), %rdi
movq 0x10(%rsp), %rbx
callq 0xea375
movq 0x18(%rsp), %rdi
callq 0xefbe3
cmpb $0x1, 0x10(%r15)
jne 0xc70c3
testq %rbx, %rbx
je 0xc75c6
movq %rbx, %rdi
callq 0xfcc32
testb %al, %al
jne 0xc7678
movq 0x20(%r15), %rdi
callq 0x11b0a1
movq %rax, %r12
callq 0xef0cd
movq %rbx, %rdx
movq %rax, %rbx
movq %rax, %rdi
movq %r12, %rsi
callq 0xef129
movq %rax, %r12
testq %rax, %rax
je 0xc760b
movq %rbp, %r13
xorl %ebp, %ebp
movq %r12, %rdi
movl %ebp, %esi
callq 0x1e9ca6
incl %ebp
cmpl $0x4, %ebp
jne 0xc75f5
movq %r13, %rbp
jmp 0xc760e
movb $0x1, %r14b
movq %r12, %rdi
callq 0xea375
movq %rbx, %rdi
callq 0xefbe3
movq 0x10(%rsp), %rbx
jmp 0xc70c3
callq 0x1f773
callq 0x1f701
callq 0x1fb29
callq 0x1fbd4
callq 0x1faf0
callq 0x1f99a
callq 0x1fc0d
callq 0x1f928
callq 0x1fb9b
callq 0x1fb62
callq 0x1f8ef
callq 0x1f73a
callq 0x1fc7f
callq 0x1f9d3
callq 0x1fa0c
callq 0x1fa7e
callq 0x1fcb8
callq 0x1fab7
callq 0x1f961
callq 0x1fc46
callq 0x1f7d2
callq 0x1f7aa
callq 0x1fa45
callq 0x1f80b
callq 0x1f844
callq 0x1f8b6