// File: /workspace/github_c_makefile_star2_O3/genometools[P]genometools/src/match/esa-map.c
// Function: inputsuffixarray
static int inputsuffixarray(bool map,
                            Suffixarray *suffixarray,
                            unsigned int demand,
                            const char *indexname,
                            GtLogger *logger,
                            GtError *err)
{
  bool haserr = false;
  GtEncseqLoader *el;
  GtUword totallength = 0;

  gt_error_check(err);
  initsuffixarray(suffixarray);
  el = gt_encseq_loader_new();
  if (!(demand & SARR_DESTAB))
    gt_encseq_loader_do_not_require_des_tab(el);
  else
    gt_encseq_loader_require_des_tab(el);
  if (!(demand & SARR_SDSTAB))
    gt_encseq_loader_do_not_require_sds_tab(el);
  else
    gt_encseq_loader_require_sds_tab(el);
  if (!(demand & SARR_SSPTAB))
    gt_encseq_loader_do_not_require_ssp_tab(el);
  else
    gt_encseq_loader_require_ssp_tab(el);
  gt_encseq_loader_set_logger(el, logger);
  suffixarray->encseq = gt_encseq_loader_load(el, indexname, err);
  gt_encseq_loader_delete(el);
  if (suffixarray->encseq == NULL)
  {
    haserr = true;
  }
  if (!haserr)
  {
    haserr = scanprjfileuintkeys(suffixarray,indexname,logger,err);
  }
  if (!haserr
        && suffixarray->mirroredencseq
        && !gt_encseq_is_mirrored(suffixarray->encseq))
  {
    if (gt_encseq_mirror(suffixarray->encseq, err) != 0)
      haserr = true;
  }
  if (!haserr)
  {
    totallength = gt_encseq_total_length(suffixarray->encseq);
  }
  if (!haserr && (demand & SARR_SUFTAB))
  {
    if (map)
    {
      if (suffixarray->numberofallsortedsuffixes > 0)
      {
        suffixarray->suftab
          = gt_fa_mmap_check_size_with_suffix(indexname,
                                       GT_SUFTABSUFFIX,
                                       suffixarray->numberofallsortedsuffixes,
                                       sizeof (*suffixarray->suftab),
                                       err);
        if (suffixarray->suftab == NULL)
        {
          haserr = true;
        }
      }
    } else
    {
#if defined (_LP64) || defined (_WIN64)
      off_t filesize = gt_file_size_with_suffix(indexname,GT_SUFTABSUFFIX);

      if (filesize == (off_t) sizeof (uint32_t) *
                              suffixarray->numberofallsortedsuffixes)
      {
        gt_logger_log(logger,"read suftab in units of 4 bytes");
        INITBufferedfile(indexname,&suffixarray->suftabstream_uint32_t,uint32_t,
                         GT_SUFTABSUFFIX);
      } else
      {
        gt_logger_log(logger,"read suftab in units of 8 bytes");
        INITBufferedfile(indexname,&suffixarray->suftabstream_GtUword,GtUword,
                         GT_SUFTABSUFFIX);
      }
#else
      gt_logger_log(logger,"read suftab in units of 4 bytes");
      INITBufferedfile(indexname,&suffixarray->suftabstream_GtUword,GtUword,
                       GT_SUFTABSUFFIX);
#endif
    }
    if (!haserr && !suffixarray->longest.defined)
    {
      gt_error_set(err,"longest not defined");
      haserr = true;
    }
  }
  if (!haserr && (demand & SARR_LCPTAB))
  {
    if (map)
    {
      if (suffixarray->numberofallsortedsuffixes > 0)
      {
        suffixarray->lcptab
          = gt_fa_mmap_check_size_with_suffix(indexname,
                                         GT_LCPTABSUFFIX,
                                         suffixarray->numberofallsortedsuffixes,
                                         sizeof (*suffixarray->lcptab),
                                         err);
        if (suffixarray->lcptab == NULL)
        {
          haserr = true;
        }
      }
    } else
    {
      INITBufferedfile(indexname,&suffixarray->lcptabstream,GtUchar,
                       GT_LCPTABSUFFIX);
      if (!haserr &&
          fseek(suffixarray->lcptabstream.fp,
                (GtWord) sizeof (GtUchar),SEEK_SET))
      {
        gt_error_set(err,"fseek(esastream) failed: %s",strerror(errno));
        haserr = true;
      }
    }
    if (!haserr && !suffixarray->numoflargelcpvalues.defined)
    {
      gt_error_set(err,"numoflargelcpvalues not defined");
      haserr = true;
    }
    if (!haserr && suffixarray->numoflargelcpvalues.valueunsignedlong > 0)
    {
      if (map)
      {
        suffixarray->llvtab
          = gt_fa_mmap_check_size_with_suffix(indexname,
                                           GT_LARGELCPTABSUFFIX,
                                           (GtUword)
                                           suffixarray->numoflargelcpvalues.
                                           valueunsignedlong,
                                           sizeof (*suffixarray->llvtab),
                                           err);
        if (suffixarray->llvtab == NULL)
        {
          haserr = true;
        }
      } else
      {
        INITBufferedfile(indexname,&suffixarray->llvtabstream,Largelcpvalue,
                         GT_LARGELCPTABSUFFIX);
      }
    }
  }
  if (!haserr && (demand & SARR_BWTTAB))
  {
    if (map)
    {
      suffixarray->bwttab
        = gt_fa_mmap_check_size_with_suffix(indexname,
                                         GT_BWTTABSUFFIX,
                                         totallength+1,
                                         sizeof (*suffixarray->bwttab),
                                         err);
      if (suffixarray->bwttab == NULL)
      {
        haserr = true;
      }
    } else
    {
      INITBufferedfile(indexname,&suffixarray->bwttabstream,GtUchar,
                       GT_BWTTABSUFFIX);
    }
  }
  if (!haserr && (demand & SARR_BCKTAB))
  {
    suffixarray->bcktab
      = gt_bcktab_map(indexname,
                      gt_encseq_alphabetnumofchars(suffixarray->encseq),
                      suffixarray->prefixlength,
                      totallength+1,
                      true,
                      err);
    if (suffixarray->bcktab == NULL)
    {
      haserr = true;
    }
  }
  if (haserr)
  {
    gt_freesuffixarray(suffixarray);
  }
  return haserr ? -1 : 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xd8, %rsp
movq %r9, %r15
movq %r8, 0x28(%rsp)
movq %rcx, %r12
movl %edx, %ebp
movq %rsi, %rbx
movl %edi, %r13d
testq %r9, %r9
je 0x1a1707
movq %r15, %rdi
callq 0xfcc32
testb %al, %al
jne 0x1a227e
xorl %eax, %eax
movq %rax, (%rbx)
movq %rax, 0x80(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x50(%rbx)
movups %xmm0, 0x60(%rbx)
movq %rax, 0x70(%rbx)
movups %xmm0, 0x90(%rbx)
movups %xmm0, 0xa8(%rbx)
movups %xmm0, 0xc0(%rbx)
movups %xmm0, 0xd8(%rbx)
movups %xmm0, 0xf0(%rbx)
callq 0xef0cd
movq %rax, %r14
movq %rax, %rdi
testb $0x10, %bpl
jne 0x1a175d
callq 0xf23ac
jmp 0x1a1762
callq 0xf239d
movq %r14, %rdi
testb $0x20, %bpl
jne 0x1a1772
callq 0xf2408
jmp 0x1a1777
callq 0xf23f8
movq %r14, %rdi
testb %bpl, %bpl
js 0x1a1786
callq 0xf23d9
jmp 0x1a178b
callq 0xf23c9
movq %r14, %rdi
movq 0x28(%rsp), %rsi
callq 0xf249c
movq %r14, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0xef129
movq %rax, (%rbx)
movq %r14, %rdi
callq 0xefbe3
cmpq $0x0, (%rbx)
je 0x1a1d1b
testq %r15, %r15
movq %rbx, 0x18(%rsp)
je 0x1a182e
movq %r15, %rdi
callq 0xfcc32
testb %al, %al
jne 0x1a2283
leaq 0x1ac145(%rip), %rsi    # 0x34d921
leaq 0x203f3a(%rip), %rdx    # 0x3a571d
leaq 0x2029ea(%rip), %rcx    # 0x3a41d4
movq %r12, %rdi
movl $0xf4, %r8d
movq %r15, %r9
callq 0xfcf97
testq %rax, %rax
je 0x1a1c7d
movq %rax, %rbx
movl %r13d, 0xc(%rsp)
movl %ebp, 0x8(%rsp)
movq %r12, 0x38(%rsp)
movq %r15, 0x10(%rsp)
movq %r15, %rdi
callq 0xfcc32
testb %al, %al
movq %rbx, %r12
je 0x1a1875
callq 0x61993
leaq 0x1ac0ec(%rip), %rsi    # 0x34d921
leaq 0x203ee1(%rip), %rdx    # 0x3a571d
leaq 0x202991(%rip), %rcx    # 0x3a41d4
xorl %ebx, %ebx
movq %r12, %rdi
movl $0xf4, %r8d
xorl %r9d, %r9d
callq 0xfcf97
testq %rax, %rax
je 0x1a1d0e
movl %r13d, 0xc(%rsp)
movl %ebp, 0x8(%rsp)
movq %r12, 0x38(%rsp)
movq %r15, 0x10(%rsp)
movq %rax, %r12
movq 0x18(%rsp), %rbx
leaq 0x50(%rbx), %r14
callq 0x1a5020
movq %rax, %r13
leaq 0x1b8561(%rip), %rsi    # 0x359dee
xorl %ebp, %ebp
leaq 0x60(%rsp), %rdx
movl $0x8, %ecx
movq %rax, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x1a506d
leaq 0x2186d0(%rip), %rsi    # 0x3b9f7e
leaq 0x68(%rsp), %rdx
movl $0x8, %ecx
movq %r13, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x1a506d
leaq 0x70(%rsp), %rdx
leaq 0x1c3022(%rip), %rsi    # 0x3648f4
movl $0x8, %ecx
movq %r13, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x1a506d
leaq 0x78(%rsp), %rdx
leaq 0x2029fd(%rip), %rsi    # 0x3a42ee
movl $0x8, %ecx
movq %r13, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x1a506d
leaq 0x80(%rsp), %rdx
leaq 0x1c31db(%rip), %rsi    # 0x364aee
movl $0x8, %ecx
movq %r13, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x1a506d
leaq 0x88(%rsp), %rdx
leaq 0x1c320b(%rip), %rsi    # 0x364b40
movl $0x8, %ecx
movq %r13, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x1a506d
leaq 0x90(%rsp), %rdx
leaq 0x1b6e24(%rip), %rsi    # 0x35877b
movl $0x8, %ecx
movq %r13, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x1a506d
leaq 0x98(%rsp), %rdx
leaq 0x20298b(%rip), %rsi    # 0x3a4304
movl $0x8, %ecx
movq %r13, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x1a506d
leaq 0xa0(%rsp), %rdx
leaq 0x202965(%rip), %rsi    # 0x3a4300
movl $0x8, %ecx
movq %r13, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x1a506d
leaq 0xa8(%rsp), %rdx
leaq 0x202956(%rip), %rsi    # 0x3a4313
movl $0x8, %ecx
movq %r13, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x1a506d
leaq 0xb0(%rsp), %rdx
leaq 0x20294b(%rip), %rsi    # 0x3a432a
movl $0x8, %ecx
movq %r13, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x1a506d
leaq 0x213931(%rip), %rsi    # 0x3b532a
leaq 0x58(%rsp), %rdx
movl $0x8, %ecx
movq %r13, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x1a506d
leaq 0x1c78a1(%rip), %rsi    # 0x3692b9
leaq 0x50(%rsp), %rdx
movl $0x8, %ecx
movq %r13, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x1a506d
leaq 0x20290a(%rip), %rsi    # 0x3a4341
leaq 0x48(%rsp), %rdx
movq %r13, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x1a506d
leaq 0x202902(%rip), %rsi    # 0x3a4355
movl $0x8, %ecx
movq %r13, %rdi
movq %r14, 0x30(%rsp)
movq %r14, %rdx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x1a506d
leaq 0x38(%rbx), %r9
leaq 0x40(%rbx), %rdx
leaq 0x1af8c8(%rip), %rsi    # 0x351345
movl $0x8, %ecx
movq %r13, %rdi
xorl %r8d, %r8d
callq 0x1a506d
leaq 0x78(%rbx), %rdx
leaq 0x1fd6d5(%rip), %rsi    # 0x39f16d
movl $0x4, %ecx
movq %r13, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x1a506d
leaq 0x8(%rbx), %r9
leaq 0x10(%rbx), %rdx
leaq 0x21512b(%rip), %rsi    # 0x3b6be5
movl $0x8, %ecx
movq %r13, %rdi
xorl %r8d, %r8d
callq 0x1a506d
leaq 0x28(%rbx), %r9
leaq 0x30(%rbx), %rdx
leaq 0x202896(%rip), %rsi    # 0x3a436f
movl $0x8, %ecx
movq %r13, %rdi
movl $0x1, %r8d
callq 0x1a506d
leaq 0x18(%rbx), %r9
leaq 0x20(%rbx), %rdx
leaq 0x2035e5(%rip), %rsi    # 0x3a50e0
movl $0x8, %ecx
movq %r13, %rdi
xorl %r8d, %r8d
callq 0x1a506d
leaq 0x202868(%rip), %rsi    # 0x3a437a
leaq 0x44(%rsp), %rdx
movl $0x4, %ecx
movq %r13, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x1a506d
leaq 0x202855(%rip), %rsi    # 0x3a4386
leaq 0x40(%rsp), %rdx
movl $0x4, %ecx
movq %r13, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x1a506d
leaq 0x1c78c7(%rip), %rsi    # 0x369417
leaq 0x24(%rsp), %rdx
movl $0x4, %ecx
movq %r13, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x1a506d
leaq 0x1abdd0(%rip), %rsi    # 0x34d93f
leaq 0x20(%rsp), %rdx
movl $0x4, %ecx
movq %r13, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x1a506d
callq 0x11ac6c
movq %rax, %r15
movq %rax, %rdi
movq %r12, %rbx
movq %r12, %rsi
callq 0x11b1ff
cmpl $-0x1, %eax
je 0x1a1c20
leaq 0x1abd78(%rip), %r14    # 0x34d921
movq %r15, %rdi
callq 0x11b0ca
movq %rax, %r12
cmpq $0x7, %rax
jb 0x1a1bd9
movq %r15, %rdi
callq 0x11b0a1
movl (%rax), %ecx
movl $0x69666264, %edx       # imm = 0x69666264
xorl %edx, %ecx
movl 0x3(%rax), %eax
movl $0x3d656c69, %edx       # imm = 0x3D656C69
xorl %edx, %eax
orl %ecx, %eax
je 0x1a1c06
movq %r15, %rdi
callq 0x11b0a1
movq 0x10(%rsp), %rcx
movq %rcx, (%rsp)
movq 0x38(%rsp), %rdi
movq %r14, %rsi
movl %ebp, %edx
movq %rax, %rcx
movq %r12, %r8
movq %r13, %r9
callq 0x1a5261
testl %eax, %eax
jne 0x1a1c84
movq %r15, %rdi
callq 0x11b132
incl %ebp
movq %r15, %rdi
movq %rbx, %rsi
callq 0x11b1ff
cmpl $-0x1, %eax
jne 0x1a1ba9
movq %r15, %rdi
callq 0x11bdbf
leaq 0x1abcf2(%rip), %rsi    # 0x34d921
movq 0x38(%rsp), %r15
movq %r15, %rdi
movq %r13, %rdx
movq 0x28(%rsp), %rcx
movq 0x10(%rsp), %r14
movq %r14, %r8
callq 0x1a5102
testl %eax, %eax
jne 0x1a1d06
movl 0x44(%rsp), %eax
cmpl $0x20, %eax
je 0x1a1c8e
cmpl $0x40, %eax
jne 0x1a1cab
callq 0x2f8f20
movl 0x40(%rsp), %ecx
testb %al, %al
je 0x1a1cc8
cmpl $0x1, %ecx
je 0x1a1ce0
leaq 0x2027a5(%rip), %rsi    # 0x3a4420
jmp 0x1a1cd4
xorl %ebx, %ebx
jmp 0x1a1d0e
movq %r15, %rdi
callq 0x11bdbf
jmp 0x1a1d06
leaq 0x20273b(%rip), %rsi    # 0x3a43d0
movq %r14, %rdi
movl $0x20, %edx
movl $0x40, %ecx
xorl %eax, %eax
callq 0xfcb67
jmp 0x1a1d06
leaq 0x2026e9(%rip), %rsi    # 0x3a439b
leaq 0x1abc68(%rip), %rcx    # 0x34d921
movq %r14, %rdi
movq %r15, %rdx
xorl %eax, %eax
callq 0xfcb67
jmp 0x1a1d06
cmpl $0x1, %ecx
jne 0x1a1ce0
leaq 0x2027b0(%rip), %rsi    # 0x3a4484
movq %r14, %rdi
xorl %eax, %eax
callq 0xfcb67
jmp 0x1a1d06
movl 0x24(%rsp), %edx
cmpl $0x4, %edx
jb 0x1a1d3a
leaq 0x2027f8(%rip), %rsi    # 0x3a44e8
movq %r14, %rdi
xorl %eax, %eax
callq 0xfcb67
movl 0x24(%rsp), %eax
movq 0x18(%rsp), %rcx
movl %eax, 0x48(%rcx)
movq %r13, %rdi
callq 0x1a504c
movq %rbx, %rdi
callq 0xfd09a
movq 0x18(%rsp), %rbx
movq %rbx, %rdi
callq 0x1a1540
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
addq $0xd8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x18(%rsp), %rax
movl %edx, 0x48(%rax)
movl 0x20(%rsp), %ebp
movl %ebp, %eax
cmpl $0x2, %ebp
jb 0x1a1d64
leaq 0x2027a8(%rip), %rsi    # 0x3a44fc
movq %r14, %rdi
movl %ebp, %edx
xorl %eax, %eax
callq 0xfcb67
movl 0x20(%rsp), %eax
movq %r14, 0x10(%rsp)
cmpl $0x2, %ebp
setae %r14b
cmpl $0x1, %eax
movq 0x18(%rsp), %r12
sete 0x4c(%r12)
movq %r13, %rdi
callq 0x1a504c
movq %rbx, %rdi
callq 0xfd09a
cmpl $0x1, %ebp
jbe 0x1a1d9b
movq %r15, %rbp
movq %r12, %rbx
jmp 0x1a1dd6
cmpb $0x1, 0x4c(%r12)
movq %r15, %rbp
movq %r12, %rbx
jne 0x1a1dd6
movq (%rbx), %rdi
callq 0xf6567
testb %al, %al
jne 0x1a1dd6
movq (%rbx), %rdi
movq 0x10(%rsp), %rsi
callq 0xf24ac
testl %eax, %eax
movl $0x0, %eax
movb %r14b, %al
movl $0x1, %r14d
cmovel %eax, %r14d
movl $0x1, %r13d
testb %r14b, %r14b
je 0x1a1deb
movq 0x10(%rsp), %r15
jmp 0x1a1f65
movq (%rbx), %rdi
callq 0xe7b9c
movq %rax, %r13
incq %r13
testb $0x2, 0x8(%rsp)
movq 0x10(%rsp), %r15
je 0x1a1f65
cmpb $0x0, 0xc(%rsp)
je 0x1a1e52
movq 0x30(%rsp), %rax
movq (%rax), %rdx
testq %rdx, %rdx
je 0x1a1f56
leaq 0x1e5350(%rip), %rsi    # 0x387178
movl $0x8, %ecx
movq %rbp, %rdi
movq %r15, %r8
callq 0xfdd83
movq %rax, 0x58(%rbx)
testq %rax, %rax
movzbl %r14b, %eax
movl $0x1, %r14d
cmovnel %eax, %r14d
jmp 0x1a1f56
leaq 0x1e531f(%rip), %rsi    # 0x387178
movq %rbp, %rdi
callq 0xff828
movq 0x30(%rsp), %rcx
movq (%rcx), %rcx
shlq $0x2, %rcx
cmpq %rcx, %rax
jne 0x1a1ee5
leaq 0x2023a4(%rip), %rsi    # 0x3a421d
movq 0x28(%rsp), %rdi
xorl %eax, %eax
callq 0x103fe1
leaq 0x1e52ec(%rip), %rsi    # 0x387178
leaq 0x20388a(%rip), %rdx    # 0x3a571d
leaq 0x20233a(%rip), %rcx    # 0x3a41d4
movq %rbp, %rdi
movl $0x172, %r8d            # imm = 0x172
movq %r15, %r9
callq 0xfcf97
movq %rax, 0x98(%rbx)
testq %rax, %rax
je 0x1a213e
movq $0x0, 0x88(%rbx)
leaq 0x202307(%rip), %rsi    # 0x3a41d4
movl $0x4000, %edi           # imm = 0x4000
movl $0x172, %edx            # imm = 0x172
callq 0x104226
movq %rax, 0x90(%rbx)
jmp 0x1a1f56
leaq 0x202351(%rip), %rsi    # 0x3a423d
movq 0x28(%rsp), %rdi
xorl %eax, %eax
callq 0x103fe1
leaq 0x1e5279(%rip), %rsi    # 0x387178
leaq 0x203817(%rip), %rdx    # 0x3a571d
leaq 0x2022c7(%rip), %rcx    # 0x3a41d4
movq %rbp, %rdi
movl $0x177, %r8d            # imm = 0x177
movq %r15, %r9
callq 0xfcf97
movq %rax, 0xb0(%rbx)
testq %rax, %rax
je 0x1a214a
movq $0x0, 0xa0(%rbx)
leaq 0x202294(%rip), %rsi    # 0x3a41d4
movl $0x8000, %edi           # imm = 0x8000
movl $0x177, %edx            # imm = 0x177
callq 0x104226
movq %rax, 0xa8(%rbx)
testb %r14b, %r14b
jne 0x1a1f65
cmpb $0x0, 0x38(%rbx)
je 0x1a2128
testb $0x4, 0x8(%rsp)
je 0x1a2061
testb %r14b, %r14b
jne 0x1a2061
cmpb $0x0, 0xc(%rsp)
je 0x1a1fc2
movq 0x30(%rsp), %rax
movq (%rax), %rdx
testq %rdx, %rdx
je 0x1a205c
leaq 0x2022d9(%rip), %rsi    # 0x3a4271
movl $0x1, %ecx
movq %rbp, %rdi
movq %r15, %r8
callq 0xfdd83
movq %rax, 0x60(%rbx)
testq %rax, %rax
movzbl %r14b, %eax
movl $0x1, %r14d
cmovnel %eax, %r14d
jmp 0x1a205c
leaq 0x2022a8(%rip), %rsi    # 0x3a4271
leaq 0x20374d(%rip), %rdx    # 0x3a571d
leaq 0x2021fd(%rip), %rcx    # 0x3a41d4
movq %rbp, %rdi
movl $0x199, %r8d            # imm = 0x199
movq %r15, %r9
callq 0xfcf97
movq %rax, 0xe0(%rbx)
testq %rax, %rax
je 0x1a2113
movq $0x0, 0xd0(%rbx)
leaq 0x2021ca(%rip), %rsi    # 0x3a41d4
movl $0x1000, %edi           # imm = 0x1000
movl $0x199, %edx            # imm = 0x199
callq 0x104226
movq %rax, 0xd8(%rbx)
movq 0xe0(%rbx), %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x17890
testl %eax, %eax
je 0x1a205c
callq 0x17060
movl (%rax), %edi
callq 0x17240
leaq 0x20222c(%rip), %rsi    # 0x3a4276
movq %r15, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xfcb67
jmp 0x1a1d1b
testb %r14b, %r14b
je 0x1a20b4
testb $0x8, 0x8(%rsp)
je 0x1a2215
testb %r14b, %r14b
jne 0x1a2215
cmpb $0x0, 0xc(%rsp)
je 0x1a21bb
leaq 0x202230(%rip), %rsi    # 0x3a42b7
movl $0x1, %ecx
movq %rbp, %rdi
movq %r13, %rdx
movq %r15, %r8
callq 0xfdd83
movq %rax, 0x70(%rbx)
testq %rax, %rax
movzbl %r14b, %eax
movl $0x1, %r14d
cmovnel %eax, %r14d
jmp 0x1a2215
cmpb $0x0, 0x8(%rbx)
je 0x1a211f
movq 0x10(%rbx), %rdx
testq %rdx, %rdx
je 0x1a2061
cmpb $0x0, 0xc(%rsp)
je 0x1a2156
leaq 0x2021dd(%rip), %rsi    # 0x3a42b2
movl $0x10, %ecx
movq %rbp, %rdi
movq %r15, %r8
callq 0xfdd83
movq %rax, 0x68(%rbx)
testq %rax, %rax
movzbl %r14b, %eax
movl $0x1, %r14d
cmovnel %eax, %r14d
testb $0x8, 0x8(%rsp)
je 0x1a2215
testb %r14b, %r14b
je 0x1a2080
jmp 0x1a2215
leaq 0xd8(%rbx), %rax
jmp 0x1a2269
leaq 0x20216c(%rip), %rsi    # 0x3a4292
jmp 0x1a212f
leaq 0x20212e(%rip), %rsi    # 0x3a425d
movq %r15, %rdi
xorl %eax, %eax
callq 0xfcb67
jmp 0x1a1d1b
leaq 0x90(%rbx), %rax
jmp 0x1a2269
leaq 0xa8(%rbx), %rax
jmp 0x1a2269
leaq 0x202155(%rip), %rsi    # 0x3a42b2
leaq 0x2035b9(%rip), %rdx    # 0x3a571d
leaq 0x202069(%rip), %rcx    # 0x3a41d4
movq %rbp, %rdi
movl $0x1ba, %r8d            # imm = 0x1BA
movq %r15, %r9
callq 0xfcf97
movq %rax, 0xf8(%rbx)
testq %rax, %rax
je 0x1a2275
movq $0x0, 0xe8(%rbx)
leaq 0x202036(%rip), %rsi    # 0x3a41d4
movl $0x10000, %edi          # imm = 0x10000
movl $0x1ba, %edx            # imm = 0x1BA
callq 0x104226
movq %rax, 0xf0(%rbx)
testb $0x8, 0x8(%rsp)
je 0x1a2215
leaq 0x2020f5(%rip), %rsi    # 0x3a42b7
leaq 0x203554(%rip), %rdx    # 0x3a571d
leaq 0x202004(%rip), %rcx    # 0x3a41d4
movq %rbp, %rdi
movl $0x1cf, %r8d            # imm = 0x1CF
movq %r15, %r9
callq 0xfcf97
movq %rax, 0xc8(%rbx)
testq %rax, %rax
je 0x1a2262
movq $0x0, 0xb8(%rbx)
leaq 0x201fd5(%rip), %rsi    # 0x3a41d4
movl $0x1000, %edi           # imm = 0x1000
movl $0x1cf, %edx            # imm = 0x1CF
callq 0x104226
movq %rax, 0xc0(%rbx)
testb $0x40, 0x8(%rsp)
je 0x1a2252
testb %r14b, %r14b
jne 0x1a2252
movq (%rbx), %rdi
callq 0xebcb6
movl 0x78(%rbx), %edx
movq %rbp, %rdi
movl %eax, %esi
movq %r13, %rcx
movl $0x1, %r8d
movq %r15, %r9
callq 0x18b9ed
movq %rax, 0x80(%rbx)
testq %rax, %rax
je 0x1a1d1b
testb %r14b, %r14b
jne 0x1a1d1b
xorl %eax, %eax
jmp 0x1a1d28
leaq 0xc0(%rbx), %rax
movq $0x0, (%rax)
jmp 0x1a1d1b
leaq 0xf0(%rbx), %rax
jmp 0x1a2269
callq 0x6195a
callq 0x619ca