// File: ncbi[P]amr/seq.cpp
// Function: Seq_sp::Mutation::qc() const
void Mutation::qc () const
{
  if (! qc_on)
    return;
    
  QC_IMPLY (! geneName. empty (), isIdentifier (geneName, false));
  QC_ASSERT (pos != no_index);
  
  if (prot)
  {
    for (const char c : ref)
      if (c != *terminator && ! strchr (peptideAlphabet, c))
        throw runtime_error ("Protein mutation cannot have ambiguities in the reference sequence");
    for (const char c : allele)
      QC_ASSERT (strchr (extTermPeptideAlphabet, c));
  }
  else
  {
    for (const char c : ref)
      if (! strchr (dnaAlphabet, c))
        throw runtime_error ("DNA mutation cannot have ambiguities in the reference sequence");
    for (const char c : allele)
      QC_ASSERT (strchr (extDnaAlphabet, c));
  }

  QC_IMPLY (! frameshift, ref != allele);
  QC_IMPLY (frameshift, prot && allele. empty ());
}

// Assembly:
subq $0x778, %rsp            # imm = 0x778
movq %rdi, 0x770(%rsp)
movq 0x770(%rsp), %rax
movq %rax, 0x78(%rsp)
leaq 0x56225(%rip), %rax     # 0x120c58
testb $0x1, (%rax)
jne 0xcaa3d
jmp 0xcbdb0
movq 0x78(%rsp), %rdi
addq $0x10, %rdi
callq 0xdc60
testb $0x1, %al
jne 0xcacff
callq 0xd0a0
movq 0x78(%rsp), %rdi
movl $0x0, (%rax)
addq $0x10, %rdi
xorl %esi, %esi
callq 0x19e00
testb $0x1, %al
jne 0xcacfd
callq 0xd8c0
cmpl $0x0, %eax
jne 0xcacf3
leaq 0x6cf(%rsp), %rdi
movq %rdi, 0x70(%rsp)
callq 0xdd50
movq 0x70(%rsp), %rdx
leaq 0x1d9a4(%rip), %rsi     # 0xe8446
leaq 0x6d0(%rsp), %rdi
callq 0xfae0
jmp 0xcaab1
leaq 0x698(%rsp), %rdi
movl $0x1207, %esi           # imm = 0x1207
callq 0x11600
jmp 0xcaac5
leaq 0x6f0(%rsp), %rdi
leaq 0x6d0(%rsp), %rsi
leaq 0x698(%rsp), %rdx
callq 0x11510
jmp 0xcaae4
leaq 0x186e6(%rip), %rdx     # 0xe31d1
leaq 0x710(%rsp), %rdi
leaq 0x6f0(%rsp), %rsi
callq 0x114c0
jmp 0xcab02
leaq 0x657(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0xdd50
movq 0x68(%rsp), %rdx
leaq 0x1ed0a(%rip), %rsi     # 0xe982a
leaq 0x658(%rsp), %rdi
callq 0xfae0
jmp 0xcab2f
leaq 0x18e6e(%rip), %rdx     # 0xe39a4
leaq 0x678(%rsp), %rdi
leaq 0x658(%rsp), %rsi
callq 0x114c0
jmp 0xcab4d
leaq 0x730(%rsp), %rdi
leaq 0x710(%rsp), %rsi
leaq 0x678(%rsp), %rdx
callq 0x11510
jmp 0xcab6c
leaq 0x1ece1(%rip), %rdx     # 0xe9854
leaq 0x750(%rsp), %rdi
leaq 0x730(%rsp), %rsi
callq 0x114c0
jmp 0xcab8a
leaq 0x750(%rsp), %rdi
callq 0x173d0
jmp 0xcab99
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcace1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcacd4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcacc7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcacba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcaca0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcac93
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcac86
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcac79
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
leaq 0x750(%rsp), %rdi
callq 0xdf08
leaq 0x730(%rsp), %rdi
callq 0xdf08
leaq 0x678(%rsp), %rdi
callq 0xdf08
leaq 0x658(%rsp), %rdi
callq 0xdf08
leaq 0x657(%rsp), %rdi
callq 0xd7a0
leaq 0x710(%rsp), %rdi
callq 0xdf08
leaq 0x6f0(%rsp), %rdi
callq 0xdf08
leaq 0x698(%rsp), %rdi
callq 0xdf08
leaq 0x6d0(%rsp), %rdi
callq 0xdf08
leaq 0x6cf(%rsp), %rdi
callq 0xd7a0
jmp 0xcbdb8
movl $0x1, %edi
callq 0xd8e0
jmp 0xcacff
callq 0xd0a0
movq %rax, %rcx
movq 0x78(%rsp), %rax
movl $0x0, (%rcx)
cmpq $-0x1, 0x30(%rax)
jne 0xcafa4
callq 0xd8c0
cmpl $0x0, %eax
jne 0xcaf9a
leaq 0x5af(%rsp), %rdi
movq %rdi, 0x60(%rsp)
callq 0xdd50
movq 0x60(%rsp), %rdx
leaq 0x1d6fd(%rip), %rsi     # 0xe8446
leaq 0x5b0(%rsp), %rdi
callq 0xfae0
jmp 0xcad58
leaq 0x588(%rsp), %rdi
movl $0x1208, %esi           # imm = 0x1208
callq 0x11600
jmp 0xcad6c
leaq 0x5d0(%rsp), %rdi
leaq 0x5b0(%rsp), %rsi
leaq 0x588(%rsp), %rdx
callq 0x11510
jmp 0xcad8b
leaq 0x1843f(%rip), %rdx     # 0xe31d1
leaq 0x5f0(%rsp), %rdi
leaq 0x5d0(%rsp), %rsi
callq 0x114c0
jmp 0xcada9
leaq 0x547(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0xdd50
movq 0x58(%rsp), %rdx
leaq 0x1ea63(%rip), %rsi     # 0xe982a
leaq 0x548(%rsp), %rdi
callq 0xfae0
jmp 0xcadd6
leaq 0x18bc7(%rip), %rdx     # 0xe39a4
leaq 0x568(%rsp), %rdi
leaq 0x548(%rsp), %rsi
callq 0x114c0
jmp 0xcadf4
leaq 0x610(%rsp), %rdi
leaq 0x5f0(%rsp), %rsi
leaq 0x568(%rsp), %rdx
callq 0x11510
jmp 0xcae13
leaq 0x1ea59(%rip), %rdx     # 0xe9873
leaq 0x630(%rsp), %rdi
leaq 0x610(%rsp), %rsi
callq 0x114c0
jmp 0xcae31
leaq 0x630(%rsp), %rdi
callq 0x173d0
jmp 0xcae40
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcaf88
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcaf7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcaf6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcaf61
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcaf47
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcaf3a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcaf2d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcaf20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
leaq 0x630(%rsp), %rdi
callq 0xdf08
leaq 0x610(%rsp), %rdi
callq 0xdf08
leaq 0x568(%rsp), %rdi
callq 0xdf08
leaq 0x548(%rsp), %rdi
callq 0xdf08
leaq 0x547(%rsp), %rdi
callq 0xd7a0
leaq 0x5f0(%rsp), %rdi
callq 0xdf08
leaq 0x5d0(%rsp), %rdi
callq 0xdf08
leaq 0x588(%rsp), %rdi
callq 0xdf08
leaq 0x5b0(%rsp), %rdi
callq 0xdf08
leaq 0x5af(%rsp), %rdi
callq 0xd7a0
jmp 0xcbdb8
movl $0x1, %edi
callq 0xd8e0
movq 0x78(%rsp), %rax
testb $0x1, 0x8(%rax)
je 0xcb3fc
movq 0x78(%rsp), %rax
addq $0x38, %rax
movq %rax, 0x538(%rsp)
movq 0x538(%rsp), %rdi
callq 0xd6d0
movq %rax, 0x530(%rsp)
movq 0x538(%rsp), %rdi
callq 0xddf0
movq %rax, 0x528(%rsp)
leaq 0x530(%rsp), %rdi
leaq 0x528(%rsp), %rsi
callq 0x4c7b0
testb $0x1, %al
jne 0xcb00c
jmp 0xcb0c4
leaq 0x530(%rsp), %rdi
callq 0x4c7f0
movb (%rax), %al
movb %al, 0x527(%rsp)
movsbl 0x527(%rsp), %eax
movq 0x55d6f(%rip), %rcx     # 0x120da0
movsbl (%rcx), %ecx
cmpl %ecx, %eax
je 0xcb0b0
movq 0x55bb1(%rip), %rdi     # 0x120bf0
movsbl 0x527(%rsp), %esi
callq 0xd2a0
cmpq $0x0, %rax
jne 0xcb0b0
movl $0x10, %edi
callq 0xd3b0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x50(%rsp)
leaq 0x1e815(%rip), %rsi     # 0xe9883
callq 0xd2f0
jmp 0xcb075
movq 0x50(%rsp), %rdi
movq 0x54f6f(%rip), %rsi     # 0x11fff0
movq 0x54ee8(%rip), %rdx     # 0x11ff70
callq 0xdcd0
movq 0x50(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
callq 0xd570
jmp 0xcbdb8
jmp 0xcb0b2
leaq 0x530(%rsp), %rdi
callq 0x4c880
jmp 0xcafee
movq 0x78(%rsp), %rax
addq $0x58, %rax
movq %rax, 0x518(%rsp)
movq 0x518(%rsp), %rdi
callq 0xd6d0
movq %rax, 0x510(%rsp)
movq 0x518(%rsp), %rdi
callq 0xddf0
movq %rax, 0x508(%rsp)
leaq 0x510(%rsp), %rdi
leaq 0x508(%rsp), %rsi
callq 0x4c7b0
testb $0x1, %al
jne 0xcb11d
jmp 0xcb3f7
leaq 0x510(%rsp), %rdi
callq 0x4c7f0
movb (%rax), %al
movb %al, 0x507(%rsp)
callq 0xd0a0
movl $0x0, (%rax)
movq 0x55c63(%rip), %rdi     # 0x120da8
movsbl 0x507(%rsp), %esi
callq 0xd2a0
cmpq $0x0, %rax
jne 0xcb3e3
callq 0xd8c0
cmpl $0x0, %eax
jne 0xcb3d9
leaq 0x45f(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0xdd50
movq 0x48(%rsp), %rdx
leaq 0x1d2be(%rip), %rsi     # 0xe8446
leaq 0x460(%rsp), %rdi
callq 0xfae0
jmp 0xcb197
leaq 0x438(%rsp), %rdi
movl $0x1210, %esi           # imm = 0x1210
callq 0x11600
jmp 0xcb1ab
leaq 0x480(%rsp), %rdi
leaq 0x460(%rsp), %rsi
leaq 0x438(%rsp), %rdx
callq 0x11510
jmp 0xcb1ca
leaq 0x18000(%rip), %rdx     # 0xe31d1
leaq 0x4a0(%rsp), %rdi
leaq 0x480(%rsp), %rsi
callq 0x114c0
jmp 0xcb1e8
leaq 0x3f7(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0xdd50
movq 0x40(%rsp), %rdx
leaq 0x1e624(%rip), %rsi     # 0xe982a
leaq 0x3f8(%rsp), %rdi
callq 0xfae0
jmp 0xcb215
leaq 0x18788(%rip), %rdx     # 0xe39a4
leaq 0x418(%rsp), %rdi
leaq 0x3f8(%rsp), %rsi
callq 0x114c0
jmp 0xcb233
leaq 0x4c0(%rsp), %rdi
leaq 0x4a0(%rsp), %rsi
leaq 0x418(%rsp), %rdx
callq 0x11510
jmp 0xcb252
leaq 0x1e66d(%rip), %rdx     # 0xe98c6
leaq 0x4e0(%rsp), %rdi
leaq 0x4c0(%rsp), %rsi
callq 0x114c0
jmp 0xcb270
leaq 0x4e0(%rsp), %rdi
callq 0x173d0
jmp 0xcb27f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcb3c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcb3ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcb3ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcb3a0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcb386
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcb379
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcb36c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcb35f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
leaq 0x4e0(%rsp), %rdi
callq 0xdf08
leaq 0x4c0(%rsp), %rdi
callq 0xdf08
leaq 0x418(%rsp), %rdi
callq 0xdf08
leaq 0x3f8(%rsp), %rdi
callq 0xdf08
leaq 0x3f7(%rsp), %rdi
callq 0xd7a0
leaq 0x4a0(%rsp), %rdi
callq 0xdf08
leaq 0x480(%rsp), %rdi
callq 0xdf08
leaq 0x438(%rsp), %rdi
callq 0xdf08
leaq 0x460(%rsp), %rdi
callq 0xdf08
leaq 0x45f(%rsp), %rdi
callq 0xd7a0
jmp 0xcbdb8
movl $0x1, %edi
callq 0xd8e0
jmp 0xcb3e5
leaq 0x510(%rsp), %rdi
callq 0x4c880
jmp 0xcb0ff
jmp 0xcb82c
movq 0x78(%rsp), %rax
addq $0x38, %rax
movq %rax, 0x3e8(%rsp)
movq 0x3e8(%rsp), %rdi
callq 0xd6d0
movq %rax, 0x3e0(%rsp)
movq 0x3e8(%rsp), %rdi
callq 0xddf0
movq %rax, 0x3d8(%rsp)
leaq 0x3e0(%rsp), %rdi
leaq 0x3d8(%rsp), %rsi
callq 0x4c7b0
testb $0x1, %al
jne 0xcb455
jmp 0xcb4f7
leaq 0x3e0(%rsp), %rdi
callq 0x4c7f0
movb (%rax), %al
movb %al, 0x3d7(%rsp)
movq 0x5576e(%rip), %rdi     # 0x120be0
movsbl 0x3d7(%rsp), %esi
callq 0xd2a0
cmpq $0x0, %rax
jne 0xcb4e3
movl $0x10, %edi
callq 0xd3b0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x38(%rsp)
leaq 0x1e448(%rip), %rsi     # 0xe98e9
callq 0xd2f0
jmp 0xcb4a8
movq 0x38(%rsp), %rdi
movq 0x54b3c(%rip), %rsi     # 0x11fff0
movq 0x54ab5(%rip), %rdx     # 0x11ff70
callq 0xdcd0
movq 0x38(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
callq 0xd570
jmp 0xcbdb8
jmp 0xcb4e5
leaq 0x3e0(%rsp), %rdi
callq 0x4c880
jmp 0xcb437
movq 0x78(%rsp), %rax
addq $0x58, %rax
movq %rax, 0x3c8(%rsp)
movq 0x3c8(%rsp), %rdi
callq 0xd6d0
movq %rax, 0x3c0(%rsp)
movq 0x3c8(%rsp), %rdi
callq 0xddf0
movq %rax, 0x3b8(%rsp)
leaq 0x3c0(%rsp), %rdi
leaq 0x3b8(%rsp), %rsi
callq 0x4c7b0
testb $0x1, %al
jne 0xcb550
jmp 0xcb82a
leaq 0x3c0(%rsp), %rdi
callq 0x4c7f0
movb (%rax), %al
movb %al, 0x3b7(%rsp)
callq 0xd0a0
movl $0x0, (%rax)
movq 0x55818(%rip), %rdi     # 0x120d90
movsbl 0x3b7(%rsp), %esi
callq 0xd2a0
cmpq $0x0, %rax
jne 0xcb816
callq 0xd8c0
cmpl $0x0, %eax
jne 0xcb80c
leaq 0x30f(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0xdd50
movq 0x30(%rsp), %rdx
leaq 0x1ce8b(%rip), %rsi     # 0xe8446
leaq 0x310(%rsp), %rdi
callq 0xfae0
jmp 0xcb5ca
leaq 0x2e8(%rsp), %rdi
movl $0x1218, %esi           # imm = 0x1218
callq 0x11600
jmp 0xcb5de
leaq 0x330(%rsp), %rdi
leaq 0x310(%rsp), %rsi
leaq 0x2e8(%rsp), %rdx
callq 0x11510
jmp 0xcb5fd
leaq 0x17bcd(%rip), %rdx     # 0xe31d1
leaq 0x350(%rsp), %rdi
leaq 0x330(%rsp), %rsi
callq 0x114c0
jmp 0xcb61b
leaq 0x2a7(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xdd50
movq 0x28(%rsp), %rdx
leaq 0x1e1f1(%rip), %rsi     # 0xe982a
leaq 0x2a8(%rsp), %rdi
callq 0xfae0
jmp 0xcb648
leaq 0x18355(%rip), %rdx     # 0xe39a4
leaq 0x2c8(%rsp), %rdi
leaq 0x2a8(%rsp), %rsi
callq 0x114c0
jmp 0xcb666
leaq 0x370(%rsp), %rdi
leaq 0x350(%rsp), %rsi
leaq 0x2c8(%rsp), %rdx
callq 0x11510
jmp 0xcb685
leaq 0x1e29c(%rip), %rdx     # 0xe9928
leaq 0x390(%rsp), %rdi
leaq 0x370(%rsp), %rsi
callq 0x114c0
jmp 0xcb6a3
leaq 0x390(%rsp), %rdi
callq 0x173d0
jmp 0xcb6b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcb7fa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcb7ed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcb7e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcb7d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcb7b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcb7ac
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcb79f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcb792
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
leaq 0x390(%rsp), %rdi
callq 0xdf08
leaq 0x370(%rsp), %rdi
callq 0xdf08
leaq 0x2c8(%rsp), %rdi
callq 0xdf08
leaq 0x2a8(%rsp), %rdi
callq 0xdf08
leaq 0x2a7(%rsp), %rdi
callq 0xd7a0
leaq 0x350(%rsp), %rdi
callq 0xdf08
leaq 0x330(%rsp), %rdi
callq 0xdf08
leaq 0x2e8(%rsp), %rdi
callq 0xdf08
leaq 0x310(%rsp), %rdi
callq 0xdf08
leaq 0x30f(%rsp), %rdi
callq 0xd7a0
jmp 0xcbdb8
movl $0x1, %edi
callq 0xd8e0
jmp 0xcb818
leaq 0x3c0(%rsp), %rdi
callq 0x4c880
jmp 0xcb532
jmp 0xcb82c
movq 0x78(%rsp), %rax
testb $0x1, 0x78(%rax)
jne 0xcbaec
callq 0xd0a0
movq 0x78(%rsp), %rsi
movl $0x0, (%rax)
movq %rsi, %rdi
addq $0x38, %rdi
addq $0x58, %rsi
callq 0x4cd50
testb $0x1, %al
jne 0xcbaea
callq 0xd8c0
cmpl $0x0, %eax
jne 0xcbae0
leaq 0x1ff(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xdd50
movq 0x20(%rsp), %rdx
leaq 0x1cbb7(%rip), %rsi     # 0xe8446
leaq 0x200(%rsp), %rdi
callq 0xfae0
jmp 0xcb89e
leaq 0x1d8(%rsp), %rdi
movl $0x121b, %esi           # imm = 0x121B
callq 0x11600
jmp 0xcb8b2
leaq 0x220(%rsp), %rdi
leaq 0x200(%rsp), %rsi
leaq 0x1d8(%rsp), %rdx
callq 0x11510
jmp 0xcb8d1
leaq 0x178f9(%rip), %rdx     # 0xe31d1
leaq 0x240(%rsp), %rdi
leaq 0x220(%rsp), %rsi
callq 0x114c0
jmp 0xcb8ef
leaq 0x197(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xdd50
movq 0x18(%rsp), %rdx
leaq 0x1df1d(%rip), %rsi     # 0xe982a
leaq 0x198(%rsp), %rdi
callq 0xfae0
jmp 0xcb91c
leaq 0x18081(%rip), %rdx     # 0xe39a4
leaq 0x1b8(%rsp), %rdi
leaq 0x198(%rsp), %rsi
callq 0x114c0
jmp 0xcb93a
leaq 0x260(%rsp), %rdi
leaq 0x240(%rsp), %rsi
leaq 0x1b8(%rsp), %rdx
callq 0x11510
jmp 0xcb959
leaq 0x1dfe3(%rip), %rdx     # 0xe9943
leaq 0x280(%rsp), %rdi
leaq 0x260(%rsp), %rsi
callq 0x114c0
jmp 0xcb977
leaq 0x280(%rsp), %rdi
callq 0x173d0
jmp 0xcb986
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcbace
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcbac1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcbab4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcbaa7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcba8d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcba80
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcba73
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcba66
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
leaq 0x280(%rsp), %rdi
callq 0xdf08
leaq 0x260(%rsp), %rdi
callq 0xdf08
leaq 0x1b8(%rsp), %rdi
callq 0xdf08
leaq 0x198(%rsp), %rdi
callq 0xdf08
leaq 0x197(%rsp), %rdi
callq 0xd7a0
leaq 0x240(%rsp), %rdi
callq 0xdf08
leaq 0x220(%rsp), %rdi
callq 0xdf08
leaq 0x1d8(%rsp), %rdi
callq 0xdf08
leaq 0x200(%rsp), %rdi
callq 0xdf08
leaq 0x1ff(%rsp), %rdi
callq 0xd7a0
jmp 0xcbdb8
movl $0x1, %edi
callq 0xd8e0
jmp 0xcbaec
movq 0x78(%rsp), %rax
testb $0x1, 0x78(%rax)
je 0xcbdb0
callq 0xd0a0
movq %rax, %rcx
movq 0x78(%rsp), %rax
movl $0x0, (%rcx)
testb $0x1, 0x8(%rax)
je 0xcbb2a
movq 0x78(%rsp), %rdi
addq $0x58, %rdi
callq 0xdc60
testb $0x1, %al
jne 0xcbdae
callq 0xd8c0
cmpl $0x0, %eax
jne 0xcbda4
leaq 0xef(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xdd50
movq 0x10(%rsp), %rdx
leaq 0x1c8f0(%rip), %rsi     # 0xe8446
leaq 0xf0(%rsp), %rdi
callq 0xfae0
jmp 0xcbb65
leaq 0xc8(%rsp), %rdi
movl $0x121c, %esi           # imm = 0x121C
callq 0x11600
jmp 0xcbb79
leaq 0x110(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
leaq 0xc8(%rsp), %rdx
callq 0x11510
jmp 0xcbb98
leaq 0x17632(%rip), %rdx     # 0xe31d1
leaq 0x130(%rsp), %rdi
leaq 0x110(%rsp), %rsi
callq 0x114c0
jmp 0xcbbb6
leaq 0x87(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xdd50
movq 0x8(%rsp), %rdx
leaq 0x1dc56(%rip), %rsi     # 0xe982a
leaq 0x88(%rsp), %rdi
callq 0xfae0
jmp 0xcbbe3
leaq 0x17dba(%rip), %rdx     # 0xe39a4
leaq 0xa8(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x114c0
jmp 0xcbc01
leaq 0x150(%rsp), %rdi
leaq 0x130(%rsp), %rsi
leaq 0xa8(%rsp), %rdx
callq 0x11510
jmp 0xcbc20
leaq 0x1dd2a(%rip), %rdx     # 0xe9951
leaq 0x170(%rsp), %rdi
leaq 0x150(%rsp), %rsi
callq 0x114c0
jmp 0xcbc3e
leaq 0x170(%rsp), %rdi
callq 0x173d0
jmp 0xcbc4d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcbd95
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcbd88
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcbd7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcbd6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcbd54
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcbd47
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcbd3a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
jmp 0xcbd2d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x6c0(%rsp)
movl %eax, 0x6bc(%rsp)
leaq 0x170(%rsp), %rdi
callq 0xdf08
leaq 0x150(%rsp), %rdi
callq 0xdf08
leaq 0xa8(%rsp), %rdi
callq 0xdf08
leaq 0x88(%rsp), %rdi
callq 0xdf08
leaq 0x87(%rsp), %rdi
callq 0xd7a0
leaq 0x130(%rsp), %rdi
callq 0xdf08
leaq 0x110(%rsp), %rdi
callq 0xdf08
leaq 0xc8(%rsp), %rdi
callq 0xdf08
leaq 0xf0(%rsp), %rdi
callq 0xdf08
leaq 0xef(%rsp), %rdi
callq 0xd7a0
jmp 0xcbdb8
movl $0x1, %edi
callq 0xd8e0
jmp 0xcbdb0
addq $0x778, %rsp            # imm = 0x778
retq
movq 0x6c0(%rsp), %rdi
callq 0xdd40
nopw %cs:(%rax,%rax)