// File: ncbi[P]amr/alignment.cpp
// Function: Alignment_sp::AmrMutation::parse(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&, int&, unsigned long&, int&)
void AmrMutation::parse (const string &geneMutation_std,
                         string &reference,
                         string &allele,
                         string &gene,
                         int &pos_std,
                         size_t &frameshift,
                         int &frameshift_insertion)
{ 
  QC_ASSERT (! geneMutation_std. empty ());
  QC_ASSERT (reference. empty ());
  QC_ASSERT (allele. empty ());
  QC_ASSERT (frameshift == no_index);
  QC_ASSERT (! frameshift_insertion);
  
  
  string pureMutation (geneMutation_std);

  static const string fsInfix ("fsTer");  // ...fsTer<N>{ins|del}<M>
  const size_t fsInfix_pos = geneMutation_std. find (fsInfix);
  if (fsInfix_pos != no_index)
  {
    pureMutation. erase (fsInfix_pos);
    string suffix = geneMutation_std. substr (fsInfix_pos + fsInfix. size ());  // <N>{ins|del}<M>
    size_t indel_pos = suffix. find ("ins");
    bool ins = true;  // {ins|del}
    if (indel_pos == string::npos)
    {
      indel_pos = suffix. find ("del");
      ins = false;
    }
    QC_ASSERT (indel_pos != string::npos);      
    frameshift_insertion = str2<int> (suffix. substr (indel_pos + 3));  // <M>
    if (! ins)
      frameshift_insertion *= -1;
    QC_ASSERT (frameshift_insertion % 3);
    suffix. erase (indel_pos);  // <N>
    frameshift = str2<size_t> (suffix);
    QC_ASSERT (frameshift != no_index);
  }

  enum Type {inAllele, inPos, inRef};
  Type type = inAllele;
  string pos_stdS;
  FOR_REV (size_t, i, pureMutation. size ())
  {
    const char c = pureMutation [i];
    switch (type)
    {
      case inAllele:
        if (isAlpha (c))
          allele += c;
        else
        {
          pos_stdS = string (1, c);
          type = inPos;
        }
        break;
      case inPos:
        if (isAlpha (c))
        {
          type = inRef;
          reference = string (1, c);
        }
        else
          pos_stdS += c;
        break;
      case inRef:
        if (isAlpha (c))
          reference += c;
        else
        {
          QC_ASSERT (c == '_');
          QC_ASSERT (i);
          Common_sp::reverse (allele);
          Common_sp::reverse (reference);
          Common_sp::reverse (pos_stdS);
          gene = pureMutation. substr (0, i);
          pos_std = stoi (pos_stdS) - 1;
          return;
        }
        break;
    }
  }
  NEVER_CALL;
}

// Assembly:
subq $0xe28, %rsp            # imm = 0xE28
movq 0xe30(%rsp), %rax
movq %rdi, 0xe20(%rsp)
movq %rsi, 0xe18(%rsp)
movq %rdx, 0xe10(%rsp)
movq %rcx, 0xe08(%rsp)
movq %r8, 0xe00(%rsp)
movq %r9, 0xdf8(%rsp)
callq 0xd0a0
movl $0x0, (%rax)
movq 0xe20(%rsp), %rdi
callq 0xdc60
testb $0x1, %al
jne 0x8cd40
jmp 0x8cfd3
callq 0xd8c0
cmpl $0x0, %eax
jne 0x8cfc9
leaq 0xd57(%rsp), %rdi
movq %rdi, 0x110(%rsp)
callq 0xdd50
movq 0x110(%rsp), %rdx
leaq 0x5a3fe(%rip), %rsi     # 0xe7170
leaq 0xd58(%rsp), %rdi
callq 0xfae0
jmp 0x8cd81
leaq 0xd20(%rsp), %rdi
movl $0x5b, %esi
callq 0x11600
jmp 0x8cd95
leaq 0xd78(%rsp), %rdi
leaq 0xd58(%rsp), %rsi
leaq 0xd20(%rsp), %rdx
callq 0x11510
jmp 0x8cdb4
leaq 0x56416(%rip), %rdx     # 0xe31d1
leaq 0xd98(%rsp), %rdi
leaq 0xd78(%rsp), %rsi
callq 0x114c0
jmp 0x8cdd2
leaq 0xcdf(%rsp), %rdi
movq %rdi, 0x108(%rsp)
callq 0xdd50
movq 0x108(%rsp), %rdx
leaq 0x5a456(%rip), %rsi     # 0xe724c
leaq 0xce0(%rsp), %rdi
callq 0xfae0
jmp 0x8ce05
leaq 0x56b98(%rip), %rdx     # 0xe39a4
leaq 0xd00(%rsp), %rdi
leaq 0xce0(%rsp), %rsi
callq 0x114c0
jmp 0x8ce23
leaq 0xdb8(%rsp), %rdi
leaq 0xd98(%rsp), %rsi
leaq 0xd00(%rsp), %rdx
callq 0x11510
jmp 0x8ce42
leaq 0x5a476(%rip), %rdx     # 0xe72bf
leaq 0xdd8(%rsp), %rdi
leaq 0xdb8(%rsp), %rsi
callq 0x114c0
jmp 0x8ce60
leaq 0xdd8(%rsp), %rdi
callq 0x173d0
jmp 0x8ce6f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8cfb7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8cfaa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8cf9d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8cf90
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8cf76
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8cf69
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8cf5c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8cf4f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
leaq 0xdd8(%rsp), %rdi
callq 0xdf08
leaq 0xdb8(%rsp), %rdi
callq 0xdf08
leaq 0xd00(%rsp), %rdi
callq 0xdf08
leaq 0xce0(%rsp), %rdi
callq 0xdf08
leaq 0xcdf(%rsp), %rdi
callq 0xd7a0
leaq 0xd98(%rsp), %rdi
callq 0xdf08
leaq 0xd78(%rsp), %rdi
callq 0xdf08
leaq 0xd20(%rsp), %rdi
callq 0xdf08
leaq 0xd58(%rsp), %rdi
callq 0xdf08
leaq 0xd57(%rsp), %rdi
callq 0xd7a0
jmp 0x8f0f8
movl $0x1, %edi
callq 0xd8e0
callq 0xd0a0
movl $0x0, (%rax)
movq 0xe18(%rsp), %rdi
callq 0xdc60
testb $0x1, %al
jne 0x8d286
callq 0xd8c0
cmpl $0x0, %eax
jne 0x8d27c
leaq 0xc37(%rsp), %rdi
movq %rdi, 0x100(%rsp)
callq 0xdd50
movq 0x100(%rsp), %rdx
leaq 0x5a14b(%rip), %rsi     # 0xe7170
leaq 0xc38(%rsp), %rdi
callq 0xfae0
jmp 0x8d034
leaq 0xc10(%rsp), %rdi
movl $0x5c, %esi
callq 0x11600
jmp 0x8d048
leaq 0xc58(%rsp), %rdi
leaq 0xc38(%rsp), %rsi
leaq 0xc10(%rsp), %rdx
callq 0x11510
jmp 0x8d067
leaq 0x56163(%rip), %rdx     # 0xe31d1
leaq 0xc78(%rsp), %rdi
leaq 0xc58(%rsp), %rsi
callq 0x114c0
jmp 0x8d085
leaq 0xbcf(%rsp), %rdi
movq %rdi, 0xf8(%rsp)
callq 0xdd50
movq 0xf8(%rsp), %rdx
leaq 0x5a1a3(%rip), %rsi     # 0xe724c
leaq 0xbd0(%rsp), %rdi
callq 0xfae0
jmp 0x8d0b8
leaq 0x568e5(%rip), %rdx     # 0xe39a4
leaq 0xbf0(%rsp), %rdi
leaq 0xbd0(%rsp), %rsi
callq 0x114c0
jmp 0x8d0d6
leaq 0xc98(%rsp), %rdi
leaq 0xc78(%rsp), %rsi
leaq 0xbf0(%rsp), %rdx
callq 0x11510
jmp 0x8d0f5
leaq 0x5a338(%rip), %rdx     # 0xe7434
leaq 0xcb8(%rsp), %rdi
leaq 0xc98(%rsp), %rsi
callq 0x114c0
jmp 0x8d113
leaq 0xcb8(%rsp), %rdi
callq 0x173d0
jmp 0x8d122
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d26a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d25d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d250
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d243
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d229
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d21c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d20f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d202
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
leaq 0xcb8(%rsp), %rdi
callq 0xdf08
leaq 0xc98(%rsp), %rdi
callq 0xdf08
leaq 0xbf0(%rsp), %rdi
callq 0xdf08
leaq 0xbd0(%rsp), %rdi
callq 0xdf08
leaq 0xbcf(%rsp), %rdi
callq 0xd7a0
leaq 0xc78(%rsp), %rdi
callq 0xdf08
leaq 0xc58(%rsp), %rdi
callq 0xdf08
leaq 0xc10(%rsp), %rdi
callq 0xdf08
leaq 0xc38(%rsp), %rdi
callq 0xdf08
leaq 0xc37(%rsp), %rdi
callq 0xd7a0
jmp 0x8f0f8
movl $0x1, %edi
callq 0xd8e0
callq 0xd0a0
movl $0x0, (%rax)
movq 0xe10(%rsp), %rdi
callq 0xdc60
testb $0x1, %al
jne 0x8d539
callq 0xd8c0
cmpl $0x0, %eax
jne 0x8d52f
leaq 0xb27(%rsp), %rdi
movq %rdi, 0xf0(%rsp)
callq 0xdd50
movq 0xf0(%rsp), %rdx
leaq 0x59e98(%rip), %rsi     # 0xe7170
leaq 0xb28(%rsp), %rdi
callq 0xfae0
jmp 0x8d2e7
leaq 0xb00(%rsp), %rdi
movl $0x5d, %esi
callq 0x11600
jmp 0x8d2fb
leaq 0xb48(%rsp), %rdi
leaq 0xb28(%rsp), %rsi
leaq 0xb00(%rsp), %rdx
callq 0x11510
jmp 0x8d31a
leaq 0x55eb0(%rip), %rdx     # 0xe31d1
leaq 0xb68(%rsp), %rdi
leaq 0xb48(%rsp), %rsi
callq 0x114c0
jmp 0x8d338
leaq 0xabf(%rsp), %rdi
movq %rdi, 0xe8(%rsp)
callq 0xdd50
movq 0xe8(%rsp), %rdx
leaq 0x59ef0(%rip), %rsi     # 0xe724c
leaq 0xac0(%rsp), %rdi
callq 0xfae0
jmp 0x8d36b
leaq 0x56632(%rip), %rdx     # 0xe39a4
leaq 0xae0(%rsp), %rdi
leaq 0xac0(%rsp), %rsi
callq 0x114c0
jmp 0x8d389
leaq 0xb88(%rsp), %rdi
leaq 0xb68(%rsp), %rsi
leaq 0xae0(%rsp), %rdx
callq 0x11510
jmp 0x8d3a8
leaq 0x5a09b(%rip), %rdx     # 0xe744a
leaq 0xba8(%rsp), %rdi
leaq 0xb88(%rsp), %rsi
callq 0x114c0
jmp 0x8d3c6
leaq 0xba8(%rsp), %rdi
callq 0x173d0
jmp 0x8d3d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d51d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d510
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d503
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d4f6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d4dc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d4cf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d4c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d4b5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
leaq 0xba8(%rsp), %rdi
callq 0xdf08
leaq 0xb88(%rsp), %rdi
callq 0xdf08
leaq 0xae0(%rsp), %rdi
callq 0xdf08
leaq 0xac0(%rsp), %rdi
callq 0xdf08
leaq 0xabf(%rsp), %rdi
callq 0xd7a0
leaq 0xb68(%rsp), %rdi
callq 0xdf08
leaq 0xb48(%rsp), %rdi
callq 0xdf08
leaq 0xb00(%rsp), %rdi
callq 0xdf08
leaq 0xb28(%rsp), %rdi
callq 0xdf08
leaq 0xb27(%rsp), %rdi
callq 0xd7a0
jmp 0x8f0f8
movl $0x1, %edi
callq 0xd8e0
callq 0xd0a0
movl $0x0, (%rax)
movq 0xdf8(%rsp), %rax
cmpq $-0x1, (%rax)
je 0x8d7e9
callq 0xd8c0
cmpl $0x0, %eax
jne 0x8d7df
leaq 0xa17(%rsp), %rdi
movq %rdi, 0xe0(%rsp)
callq 0xdd50
movq 0xe0(%rsp), %rdx
leaq 0x59be8(%rip), %rsi     # 0xe7170
leaq 0xa18(%rsp), %rdi
callq 0xfae0
jmp 0x8d597
leaq 0x9f0(%rsp), %rdi
movl $0x5e, %esi
callq 0x11600
jmp 0x8d5ab
leaq 0xa38(%rsp), %rdi
leaq 0xa18(%rsp), %rsi
leaq 0x9f0(%rsp), %rdx
callq 0x11510
jmp 0x8d5ca
leaq 0x55c00(%rip), %rdx     # 0xe31d1
leaq 0xa58(%rsp), %rdi
leaq 0xa38(%rsp), %rsi
callq 0x114c0
jmp 0x8d5e8
leaq 0x9af(%rsp), %rdi
movq %rdi, 0xd8(%rsp)
callq 0xdd50
movq 0xd8(%rsp), %rdx
leaq 0x59c40(%rip), %rsi     # 0xe724c
leaq 0x9b0(%rsp), %rdi
callq 0xfae0
jmp 0x8d61b
leaq 0x56382(%rip), %rdx     # 0xe39a4
leaq 0x9d0(%rsp), %rdi
leaq 0x9b0(%rsp), %rsi
callq 0x114c0
jmp 0x8d639
leaq 0xa78(%rsp), %rdi
leaq 0xa58(%rsp), %rsi
leaq 0x9d0(%rsp), %rdx
callq 0x11510
jmp 0x8d658
leaq 0x59c7d(%rip), %rdx     # 0xe72dc
leaq 0xa98(%rsp), %rdi
leaq 0xa78(%rsp), %rsi
callq 0x114c0
jmp 0x8d676
leaq 0xa98(%rsp), %rdi
callq 0x173d0
jmp 0x8d685
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d7cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d7c0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d7b3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d7a6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d78c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d77f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d772
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8d765
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
leaq 0xa98(%rsp), %rdi
callq 0xdf08
leaq 0xa78(%rsp), %rdi
callq 0xdf08
leaq 0x9d0(%rsp), %rdi
callq 0xdf08
leaq 0x9b0(%rsp), %rdi
callq 0xdf08
leaq 0x9af(%rsp), %rdi
callq 0xd7a0
leaq 0xa58(%rsp), %rdi
callq 0xdf08
leaq 0xa38(%rsp), %rdi
callq 0xdf08
leaq 0x9f0(%rsp), %rdi
callq 0xdf08
leaq 0xa18(%rsp), %rdi
callq 0xdf08
leaq 0xa17(%rsp), %rdi
callq 0xd7a0
jmp 0x8f0f8
movl $0x1, %edi
callq 0xd8e0
callq 0xd0a0
movl $0x0, (%rax)
movq 0xe30(%rsp), %rax
cmpl $0x0, (%rax)
je 0x8da98
callq 0xd8c0
cmpl $0x0, %eax
jne 0x8da8e
leaq 0x907(%rsp), %rdi
movq %rdi, 0xd0(%rsp)
callq 0xdd50
movq 0xd0(%rsp), %rdx
leaq 0x59939(%rip), %rsi     # 0xe7170
leaq 0x908(%rsp), %rdi
callq 0xfae0
jmp 0x8d846
leaq 0x8e0(%rsp), %rdi
movl $0x5f, %esi
callq 0x11600
jmp 0x8d85a
leaq 0x928(%rsp), %rdi
leaq 0x908(%rsp), %rsi
leaq 0x8e0(%rsp), %rdx
callq 0x11510
jmp 0x8d879
leaq 0x55951(%rip), %rdx     # 0xe31d1
leaq 0x948(%rsp), %rdi
leaq 0x928(%rsp), %rsi
callq 0x114c0
jmp 0x8d897
leaq 0x89f(%rsp), %rdi
movq %rdi, 0xc8(%rsp)
callq 0xdd50
movq 0xc8(%rsp), %rdx
leaq 0x59991(%rip), %rsi     # 0xe724c
leaq 0x8a0(%rsp), %rdi
callq 0xfae0
jmp 0x8d8ca
leaq 0x560d3(%rip), %rdx     # 0xe39a4
leaq 0x8c0(%rsp), %rdi
leaq 0x8a0(%rsp), %rsi
callq 0x114c0
jmp 0x8d8e8
leaq 0x968(%rsp), %rdi
leaq 0x948(%rsp), %rsi
leaq 0x8c0(%rsp), %rdx
callq 0x11510
jmp 0x8d907
leaq 0x599e5(%rip), %rdx     # 0xe72f3
leaq 0x988(%rsp), %rdi
leaq 0x968(%rsp), %rsi
callq 0x114c0
jmp 0x8d925
leaq 0x988(%rsp), %rdi
callq 0x173d0
jmp 0x8d934
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8da7c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8da6f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8da62
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8da55
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8da3b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8da2e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8da21
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8da14
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
leaq 0x988(%rsp), %rdi
callq 0xdf08
leaq 0x968(%rsp), %rdi
callq 0xdf08
leaq 0x8c0(%rsp), %rdi
callq 0xdf08
leaq 0x8a0(%rsp), %rdi
callq 0xdf08
leaq 0x89f(%rsp), %rdi
callq 0xd7a0
leaq 0x948(%rsp), %rdi
callq 0xdf08
leaq 0x928(%rsp), %rdi
callq 0xdf08
leaq 0x8e0(%rsp), %rdi
callq 0xdf08
leaq 0x908(%rsp), %rdi
callq 0xdf08
leaq 0x907(%rsp), %rdi
callq 0xd7a0
jmp 0x8f0f8
movl $0x1, %edi
callq 0xd8e0
movq 0xe20(%rsp), %rsi
leaq 0x878(%rsp), %rdi
callq 0xd330
cmpb $0x0, 0x932cc(%rip)     # 0x120d80
jne 0x8db2c
leaq 0x932c3(%rip), %rdi     # 0x120d80
callq 0xdda0
cmpl $0x0, %eax
je 0x8db2c
leaq 0x877(%rsp), %rdi
movq %rdi, 0xc0(%rsp)
callq 0xdd50
movq 0xc0(%rsp), %rdx
leaq 0x93275(%rip), %rdi     # 0x120d60
leaq 0x59818(%rip), %rsi     # 0xe730a
callq 0xfae0
jmp 0x8daf9
leaq 0x877(%rsp), %rdi
callq 0xd7a0
movq 0x9244b(%rip), %rdi     # 0x11ff58
leaq 0x9324c(%rip), %rsi     # 0x120d60
leaq 0x92c6d(%rip), %rdx     # 0x120788
callq 0xd670
leaq 0x93259(%rip), %rdi     # 0x120d80
callq 0xd4d0
movq 0xe20(%rsp), %rdi
leaq 0x93225(%rip), %rsi     # 0x120d60
xorl %eax, %eax
movl %eax, %edx
callq 0xded0
movq %rax, 0x868(%rsp)
cmpq $-0x1, 0x868(%rsp)
je 0x8e59c
movq 0x868(%rsp), %rsi
leaq 0x878(%rsp), %rdi
movq $-0x1, %rdx
callq 0xd170
jmp 0x8db79
movq 0xe20(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq 0x868(%rsp), %rax
movq %rax, 0xb0(%rsp)
leaq 0x931c0(%rip), %rdi     # 0x120d60
callq 0xd520
movq 0xb0(%rsp), %rdx
movq 0xb8(%rsp), %rsi
addq %rax, %rdx
leaq 0x848(%rsp), %rdi
movq $-0x1, %rcx
callq 0xd740
jmp 0x8dbce
leaq 0x848(%rsp), %rdi
leaq 0x59733(%rip), %rsi     # 0xe7310
xorl %eax, %eax
movl %eax, %edx
callq 0xdeb0
movq %rax, 0x840(%rsp)
movb $0x1, 0x83f(%rsp)
cmpq $-0x1, 0x840(%rsp)
jne 0x8dc76
leaq 0x848(%rsp), %rdi
leaq 0x59638(%rip), %rsi     # 0xe7248
xorl %eax, %eax
movl %eax, %edx
callq 0xdeb0
movq %rax, 0x840(%rsp)
movb $0x0, 0x83f(%rsp)
jmp 0x8dc76
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
leaq 0x877(%rsp), %rdi
callq 0xd7a0
leaq 0x9312d(%rip), %rdi     # 0x120d80
callq 0xd4c0
jmp 0x8f0eb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8f0eb
callq 0xd0a0
movl $0x0, (%rax)
cmpq $-0x1, 0x840(%rsp)
jne 0x8df23
callq 0xd8c0
cmpl $0x0, %eax
jne 0x8df19
leaq 0x797(%rsp), %rdi
movq %rdi, 0xa8(%rsp)
callq 0xdd50
movq 0xa8(%rsp), %rdx
leaq 0x594ae(%rip), %rsi     # 0xe7170
leaq 0x798(%rsp), %rdi
callq 0xfae0
jmp 0x8dcd1
leaq 0x770(%rsp), %rdi
movl $0x71, %esi
callq 0x11600
jmp 0x8dce5
leaq 0x7b8(%rsp), %rdi
leaq 0x798(%rsp), %rsi
leaq 0x770(%rsp), %rdx
callq 0x11510
jmp 0x8dd04
leaq 0x554c6(%rip), %rdx     # 0xe31d1
leaq 0x7d8(%rsp), %rdi
leaq 0x7b8(%rsp), %rsi
callq 0x114c0
jmp 0x8dd22
leaq 0x72f(%rsp), %rdi
movq %rdi, 0xa0(%rsp)
callq 0xdd50
movq 0xa0(%rsp), %rdx
leaq 0x59506(%rip), %rsi     # 0xe724c
leaq 0x730(%rsp), %rdi
callq 0xfae0
jmp 0x8dd55
leaq 0x55c48(%rip), %rdx     # 0xe39a4
leaq 0x750(%rsp), %rdi
leaq 0x730(%rsp), %rsi
callq 0x114c0
jmp 0x8dd73
leaq 0x7f8(%rsp), %rdi
leaq 0x7d8(%rsp), %rsi
leaq 0x750(%rsp), %rdx
callq 0x11510
jmp 0x8dd92
leaq 0x5957b(%rip), %rdx     # 0xe7314
leaq 0x818(%rsp), %rdi
leaq 0x7f8(%rsp), %rsi
callq 0x114c0
jmp 0x8ddb0
leaq 0x818(%rsp), %rdi
callq 0x173d0
jmp 0x8ddbf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8df07
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8defa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8deed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8dee0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8dec6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8deb9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8deac
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8de9f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
leaq 0x818(%rsp), %rdi
callq 0xdf08
leaq 0x7f8(%rsp), %rdi
callq 0xdf08
leaq 0x750(%rsp), %rdi
callq 0xdf08
leaq 0x730(%rsp), %rdi
callq 0xdf08
leaq 0x72f(%rsp), %rdi
callq 0xd7a0
leaq 0x7d8(%rsp), %rdi
callq 0xdf08
leaq 0x7b8(%rsp), %rdi
callq 0xdf08
leaq 0x770(%rsp), %rdi
callq 0xdf08
leaq 0x798(%rsp), %rdi
callq 0xdf08
leaq 0x797(%rsp), %rdi
callq 0xd7a0
jmp 0x8e58a
movl $0x1, %edi
callq 0xd8e0
movq 0x840(%rsp), %rdx
addq $0x3, %rdx
leaq 0x708(%rsp), %rdi
leaq 0x848(%rsp), %rsi
movq $-0x1, %rcx
callq 0xd740
jmp 0x8df4d
leaq 0x708(%rsp), %rdi
callq 0x4deb0
movl %eax, 0x9c(%rsp)
jmp 0x8df63
movl 0x9c(%rsp), %ecx
movq 0xe30(%rsp), %rax
movl %ecx, (%rax)
leaq 0x708(%rsp), %rdi
callq 0xdf08
testb $0x1, 0x83f(%rsp)
jne 0x8dfd9
movq 0xe30(%rsp), %rax
imull $-0x1, (%rax), %ecx
movl %ecx, (%rax)
jmp 0x8dfd9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8e58a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
leaq 0x708(%rsp), %rdi
callq 0xdf08
jmp 0x8e58a
callq 0xd0a0
movl $0x0, (%rax)
movq 0xe30(%rsp), %rax
movl (%rax), %eax
movl $0x3, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x8e292
callq 0xd8c0
cmpl $0x0, %eax
jne 0x8e288
leaq 0x667(%rsp), %rdi
movq %rdi, 0x90(%rsp)
callq 0xdd50
movq 0x90(%rsp), %rdx
leaq 0x5913f(%rip), %rsi     # 0xe7170
leaq 0x668(%rsp), %rdi
callq 0xfae0
jmp 0x8e040
leaq 0x640(%rsp), %rdi
movl $0x75, %esi
callq 0x11600
jmp 0x8e054
leaq 0x688(%rsp), %rdi
leaq 0x668(%rsp), %rsi
leaq 0x640(%rsp), %rdx
callq 0x11510
jmp 0x8e073
leaq 0x55157(%rip), %rdx     # 0xe31d1
leaq 0x6a8(%rsp), %rdi
leaq 0x688(%rsp), %rsi
callq 0x114c0
jmp 0x8e091
leaq 0x5ff(%rsp), %rdi
movq %rdi, 0x88(%rsp)
callq 0xdd50
movq 0x88(%rsp), %rdx
leaq 0x59197(%rip), %rsi     # 0xe724c
leaq 0x600(%rsp), %rdi
callq 0xfae0
jmp 0x8e0c4
leaq 0x558d9(%rip), %rdx     # 0xe39a4
leaq 0x620(%rsp), %rdi
leaq 0x600(%rsp), %rsi
callq 0x114c0
jmp 0x8e0e2
leaq 0x6c8(%rsp), %rdi
leaq 0x6a8(%rsp), %rsi
leaq 0x620(%rsp), %rdx
callq 0x11510
jmp 0x8e101
leaq 0x59226(%rip), %rdx     # 0xe732e
leaq 0x6e8(%rsp), %rdi
leaq 0x6c8(%rsp), %rsi
callq 0x114c0
jmp 0x8e11f
leaq 0x6e8(%rsp), %rdi
callq 0x173d0
jmp 0x8e12e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8e276
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8e269
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8e25c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8e24f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8e235
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8e228
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8e21b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8e20e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
leaq 0x6e8(%rsp), %rdi
callq 0xdf08
leaq 0x6c8(%rsp), %rdi
callq 0xdf08
leaq 0x620(%rsp), %rdi
callq 0xdf08
leaq 0x600(%rsp), %rdi
callq 0xdf08
leaq 0x5ff(%rsp), %rdi
callq 0xd7a0
leaq 0x6a8(%rsp), %rdi
callq 0xdf08
leaq 0x688(%rsp), %rdi
callq 0xdf08
leaq 0x640(%rsp), %rdi
callq 0xdf08
leaq 0x668(%rsp), %rdi
callq 0xdf08
leaq 0x667(%rsp), %rdi
callq 0xd7a0
jmp 0x8e58a
movl $0x1, %edi
callq 0xd8e0
movq 0x840(%rsp), %rsi
leaq 0x848(%rsp), %rdi
movq $-0x1, %rdx
callq 0xd170
jmp 0x8e2b0
leaq 0x848(%rsp), %rdi
callq 0x521e0
movq %rax, 0x80(%rsp)
jmp 0x8e2c7
movq 0x80(%rsp), %rcx
movq 0xdf8(%rsp), %rax
movq %rcx, (%rax)
callq 0xd0a0
movl $0x0, (%rax)
movq 0xdf8(%rsp), %rax
cmpq $-0x1, (%rax)
jne 0x8e57b
callq 0xd8c0
cmpl $0x0, %eax
jne 0x8e571
leaq 0x557(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0xdd50
movq 0x78(%rsp), %rdx
leaq 0x58e4d(%rip), %rsi     # 0xe7170
leaq 0x558(%rsp), %rdi
callq 0xfae0
jmp 0x8e332
leaq 0x530(%rsp), %rdi
movl $0x78, %esi
callq 0x11600
jmp 0x8e346
leaq 0x578(%rsp), %rdi
leaq 0x558(%rsp), %rsi
leaq 0x530(%rsp), %rdx
callq 0x11510
jmp 0x8e365
leaq 0x54e65(%rip), %rdx     # 0xe31d1
leaq 0x598(%rsp), %rdi
leaq 0x578(%rsp), %rsi
callq 0x114c0
jmp 0x8e383
leaq 0x4ef(%rsp), %rdi
movq %rdi, 0x70(%rsp)
callq 0xdd50
movq 0x70(%rsp), %rdx
leaq 0x58eab(%rip), %rsi     # 0xe724c
leaq 0x4f0(%rsp), %rdi
callq 0xfae0
jmp 0x8e3b0
leaq 0x555ed(%rip), %rdx     # 0xe39a4
leaq 0x510(%rsp), %rdi
leaq 0x4f0(%rsp), %rsi
callq 0x114c0
jmp 0x8e3ce
leaq 0x5b8(%rsp), %rdi
leaq 0x598(%rsp), %rsi
leaq 0x510(%rsp), %rdx
callq 0x11510
jmp 0x8e3ed
leaq 0x58f53(%rip), %rdx     # 0xe7347
leaq 0x5d8(%rsp), %rdi
leaq 0x5b8(%rsp), %rsi
callq 0x114c0
jmp 0x8e40b
leaq 0x5d8(%rsp), %rdi
callq 0x173d0
jmp 0x8e41a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8e562
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8e555
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8e548
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8e53b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8e521
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8e514
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8e507
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8e4fa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
leaq 0x5d8(%rsp), %rdi
callq 0xdf08
leaq 0x5b8(%rsp), %rdi
callq 0xdf08
leaq 0x510(%rsp), %rdi
callq 0xdf08
leaq 0x4f0(%rsp), %rdi
callq 0xdf08
leaq 0x4ef(%rsp), %rdi
callq 0xd7a0
leaq 0x598(%rsp), %rdi
callq 0xdf08
leaq 0x578(%rsp), %rdi
callq 0xdf08
leaq 0x530(%rsp), %rdi
callq 0xdf08
leaq 0x558(%rsp), %rdi
callq 0xdf08
leaq 0x557(%rsp), %rdi
callq 0xd7a0
jmp 0x8e58a
movl $0x1, %edi
callq 0xd8e0
leaq 0x848(%rsp), %rdi
callq 0xdf08
jmp 0x8e59c
leaq 0x848(%rsp), %rdi
callq 0xdf08
jmp 0x8f0eb
movl $0x0, 0x4e8(%rsp)
leaq 0x4c8(%rsp), %rdi
callq 0xda50
leaq 0x878(%rsp), %rdi
callq 0xd520
movq %rax, 0x4c0(%rsp)
movq 0x4c0(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, 0x4c0(%rsp)
cmpq $0x0, %rax
jbe 0x8ee5c
movq 0x4c0(%rsp), %rsi
leaq 0x878(%rsp), %rdi
callq 0xdec0
movq %rax, 0x68(%rsp)
jmp 0x8e606
movq 0x68(%rsp), %rax
movb (%rax), %al
movb %al, 0x4bf(%rsp)
movl 0x4e8(%rsp), %eax
movl %eax, 0x64(%rsp)
testl %eax, %eax
je 0x8e65f
jmp 0x8e625
movl 0x64(%rsp), %eax
subl $0x1, %eax
je 0x8e73a
jmp 0x8e634
movl 0x64(%rsp), %eax
subl $0x2, %eax
je 0x8e815
jmp 0x8ee57
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8f0de
movsbl 0x4bf(%rsp), %edi
callq 0x4c940
movb %al, 0x63(%rsp)
jmp 0x8e672
movb 0x63(%rsp), %al
testb $0x1, %al
jne 0x8e67c
jmp 0x8e698
movsbl 0x4bf(%rsp), %esi
movq 0xe10(%rsp), %rdi
callq 0xd4b0
jmp 0x8e693
jmp 0x8e735
movsbl 0x4bf(%rsp), %eax
movl %eax, 0x54(%rsp)
leaq 0x497(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0xdd50
movl 0x54(%rsp), %edx
movq 0x58(%rsp), %rcx
leaq 0x498(%rsp), %rdi
movl $0x1, %esi
callq 0x12980
jmp 0x8e6d3
leaq 0x4c8(%rsp), %rdi
leaq 0x498(%rsp), %rsi
callq 0xd900
leaq 0x498(%rsp), %rdi
callq 0xdf08
leaq 0x497(%rsp), %rdi
callq 0xd7a0
movl $0x1, 0x4e8(%rsp)
jmp 0x8e735
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
leaq 0x497(%rsp), %rdi
callq 0xd7a0
jmp 0x8f0de
jmp 0x8ee57
movsbl 0x4bf(%rsp), %edi
callq 0x4c940
movb %al, 0x53(%rsp)
jmp 0x8e74d
movb 0x53(%rsp), %al
testb $0x1, %al
jne 0x8e75a
jmp 0x8e7f7
movl $0x2, 0x4e8(%rsp)
movsbl 0x4bf(%rsp), %eax
movl %eax, 0x44(%rsp)
leaq 0x46f(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0xdd50
movl 0x44(%rsp), %edx
movq 0x48(%rsp), %rcx
leaq 0x470(%rsp), %rdi
movl $0x1, %esi
callq 0x12980
jmp 0x8e7a0
movq 0xe18(%rsp), %rdi
leaq 0x470(%rsp), %rsi
callq 0xd900
leaq 0x470(%rsp), %rdi
callq 0xdf08
leaq 0x46f(%rsp), %rdi
callq 0xd7a0
jmp 0x8e810
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
leaq 0x46f(%rsp), %rdi
callq 0xd7a0
jmp 0x8f0de
movsbl 0x4bf(%rsp), %esi
leaq 0x4c8(%rsp), %rdi
callq 0xd4b0
jmp 0x8e80e
jmp 0x8e810
jmp 0x8ee57
movsbl 0x4bf(%rsp), %edi
callq 0x4c940
movb %al, 0x43(%rsp)
jmp 0x8e828
movb 0x43(%rsp), %al
testb $0x1, %al
jne 0x8e832
jmp 0x8e84e
movsbl 0x4bf(%rsp), %esi
movq 0xe18(%rsp), %rdi
callq 0xd4b0
jmp 0x8e849
jmp 0x8ee55
callq 0xd0a0
movl $0x0, (%rax)
movsbl 0x4bf(%rsp), %eax
cmpl $0x5f, %eax
je 0x8eaf1
callq 0xd8c0
cmpl $0x0, %eax
jne 0x8eae7
leaq 0x3c7(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0xdd50
movq 0x38(%rsp), %rdx
leaq 0x588da(%rip), %rsi     # 0xe7170
leaq 0x3c8(%rsp), %rdi
callq 0xfae0
jmp 0x8e8a5
leaq 0x3a0(%rsp), %rdi
movl $0x9a, %esi
callq 0x11600
jmp 0x8e8b9
leaq 0x3e8(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
leaq 0x3a0(%rsp), %rdx
callq 0x11510
jmp 0x8e8d8
leaq 0x548f2(%rip), %rdx     # 0xe31d1
leaq 0x408(%rsp), %rdi
leaq 0x3e8(%rsp), %rsi
callq 0x114c0
jmp 0x8e8f6
leaq 0x35f(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0xdd50
movq 0x30(%rsp), %rdx
leaq 0x58938(%rip), %rsi     # 0xe724c
leaq 0x360(%rsp), %rdi
callq 0xfae0
jmp 0x8e923
leaq 0x5507a(%rip), %rdx     # 0xe39a4
leaq 0x380(%rsp), %rdi
leaq 0x360(%rsp), %rsi
callq 0x114c0
jmp 0x8e941
leaq 0x428(%rsp), %rdi
leaq 0x408(%rsp), %rsi
leaq 0x380(%rsp), %rdx
callq 0x11510
jmp 0x8e960
leaq 0x589f7(%rip), %rdx     # 0xe735e
leaq 0x448(%rsp), %rdi
leaq 0x428(%rsp), %rsi
callq 0x114c0
jmp 0x8e97e
leaq 0x448(%rsp), %rdi
callq 0x173d0
jmp 0x8e98d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8ead5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8eac8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8eabb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8eaae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8ea94
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8ea87
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8ea7a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8ea6d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
leaq 0x448(%rsp), %rdi
callq 0xdf08
leaq 0x428(%rsp), %rdi
callq 0xdf08
leaq 0x380(%rsp), %rdi
callq 0xdf08
leaq 0x360(%rsp), %rdi
callq 0xdf08
leaq 0x35f(%rsp), %rdi
callq 0xd7a0
leaq 0x408(%rsp), %rdi
callq 0xdf08
leaq 0x3e8(%rsp), %rdi
callq 0xdf08
leaq 0x3a0(%rsp), %rdi
callq 0xdf08
leaq 0x3c8(%rsp), %rdi
callq 0xdf08
leaq 0x3c7(%rsp), %rdi
callq 0xd7a0
jmp 0x8f0de
movl $0x1, %edi
callq 0xd8e0
callq 0xd0a0
movl $0x0, (%rax)
cmpq $0x0, 0x4c0(%rsp)
jne 0x8ed92
callq 0xd8c0
cmpl $0x0, %eax
jne 0x8ed88
leaq 0x2b7(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xdd50
movq 0x28(%rsp), %rdx
leaq 0x58639(%rip), %rsi     # 0xe7170
leaq 0x2b8(%rsp), %rdi
callq 0xfae0
jmp 0x8eb46
leaq 0x290(%rsp), %rdi
movl $0x9b, %esi
callq 0x11600
jmp 0x8eb5a
leaq 0x2d8(%rsp), %rdi
leaq 0x2b8(%rsp), %rsi
leaq 0x290(%rsp), %rdx
callq 0x11510
jmp 0x8eb79
leaq 0x54651(%rip), %rdx     # 0xe31d1
leaq 0x2f8(%rsp), %rdi
leaq 0x2d8(%rsp), %rsi
callq 0x114c0
jmp 0x8eb97
leaq 0x24f(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xdd50
movq 0x20(%rsp), %rdx
leaq 0x58697(%rip), %rsi     # 0xe724c
leaq 0x250(%rsp), %rdi
callq 0xfae0
jmp 0x8ebc4
leaq 0x54dd9(%rip), %rdx     # 0xe39a4
leaq 0x270(%rsp), %rdi
leaq 0x250(%rsp), %rsi
callq 0x114c0
jmp 0x8ebe2
leaq 0x318(%rsp), %rdi
leaq 0x2f8(%rsp), %rsi
leaq 0x270(%rsp), %rdx
callq 0x11510
jmp 0x8ec01
leaq 0x5927e(%rip), %rdx     # 0xe7e86
leaq 0x338(%rsp), %rdi
leaq 0x318(%rsp), %rsi
callq 0x114c0
jmp 0x8ec1f
leaq 0x338(%rsp), %rdi
callq 0x173d0
jmp 0x8ec2e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8ed76
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8ed69
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8ed5c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8ed4f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8ed35
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8ed28
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8ed1b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8ed0e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
leaq 0x338(%rsp), %rdi
callq 0xdf08
leaq 0x318(%rsp), %rdi
callq 0xdf08
leaq 0x270(%rsp), %rdi
callq 0xdf08
leaq 0x250(%rsp), %rdi
callq 0xdf08
leaq 0x24f(%rsp), %rdi
callq 0xd7a0
leaq 0x2f8(%rsp), %rdi
callq 0xdf08
leaq 0x2d8(%rsp), %rdi
callq 0xdf08
leaq 0x290(%rsp), %rdi
callq 0xdf08
leaq 0x2b8(%rsp), %rdi
callq 0xdf08
leaq 0x2b7(%rsp), %rdi
callq 0xd7a0
jmp 0x8f0de
movl $0x1, %edi
callq 0xd8e0
movq 0xe10(%rsp), %rdi
callq 0x1bb60
jmp 0x8eda1
movq 0xe18(%rsp), %rdi
callq 0x1bb60
jmp 0x8edb0
leaq 0x4c8(%rsp), %rdi
callq 0x1bb60
jmp 0x8edbf
movq 0x4c0(%rsp), %rcx
xorl %eax, %eax
movl %eax, %edx
leaq 0x228(%rsp), %rdi
leaq 0x878(%rsp), %rsi
callq 0xd740
jmp 0x8ede2
movq 0xe08(%rsp), %rdi
leaq 0x228(%rsp), %rsi
movq %rsi, 0x10(%rsp)
callq 0xd900
movq 0x10(%rsp), %rdi
callq 0xdf08
xorl %eax, %eax
movl %eax, %esi
leaq 0x4c8(%rsp), %rdi
movl $0xa, %edx
callq 0xa3b90
movl %eax, 0x1c(%rsp)
jmp 0x8ee22
movl 0x1c(%rsp), %ecx
subl $0x1, %ecx
movq 0xe00(%rsp), %rax
movl %ecx, (%rax)
leaq 0x4c8(%rsp), %rdi
callq 0xdf08
leaq 0x878(%rsp), %rdi
callq 0xdf08
addq $0xe28, %rsp            # imm = 0xE28
retq
jmp 0x8ee57
jmp 0x8e5c9
callq 0xd8c0
cmpl $0x0, %eax
jne 0x8f0d4
leaq 0x187(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xdd50
movq 0x8(%rsp), %rdx
leaq 0x582e8(%rip), %rsi     # 0xe7170
leaq 0x188(%rsp), %rdi
callq 0xfae0
jmp 0x8ee97
leaq 0x160(%rsp), %rdi
movl $0xa6, %esi
callq 0x11600
jmp 0x8eeab
leaq 0x1a8(%rsp), %rdi
leaq 0x188(%rsp), %rsi
leaq 0x160(%rsp), %rdx
callq 0x11510
jmp 0x8eeca
leaq 0x54300(%rip), %rdx     # 0xe31d1
leaq 0x1c8(%rsp), %rdi
leaq 0x1a8(%rsp), %rsi
callq 0x114c0
jmp 0x8eee8
leaq 0x11f(%rsp), %rdi
movq %rdi, (%rsp)
callq 0xdd50
movq (%rsp), %rdx
leaq 0x58348(%rip), %rsi     # 0xe724c
leaq 0x120(%rsp), %rdi
callq 0xfae0
jmp 0x8ef13
leaq 0x54a8a(%rip), %rdx     # 0xe39a4
leaq 0x140(%rsp), %rdi
leaq 0x120(%rsp), %rsi
callq 0x114c0
jmp 0x8ef31
leaq 0x1e8(%rsp), %rdi
leaq 0x1c8(%rsp), %rsi
leaq 0x140(%rsp), %rdx
callq 0x11510
jmp 0x8ef50
leaq 0x54bcc(%rip), %rdx     # 0xe3b23
leaq 0x208(%rsp), %rdi
leaq 0x1e8(%rsp), %rsi
callq 0x114c0
jmp 0x8ef6e
leaq 0x208(%rsp), %rdi
callq 0x173d0
jmp 0x8ef7d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8f0c5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8f0b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8f0ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8f09e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8f084
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8f077
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8f06a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
jmp 0x8f05d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd48(%rsp)
movl %eax, 0xd44(%rsp)
leaq 0x208(%rsp), %rdi
callq 0xdf08
leaq 0x1e8(%rsp), %rdi
callq 0xdf08
leaq 0x140(%rsp), %rdi
callq 0xdf08
leaq 0x120(%rsp), %rdi
callq 0xdf08
leaq 0x11f(%rsp), %rdi
callq 0xd7a0
leaq 0x1c8(%rsp), %rdi
callq 0xdf08
leaq 0x1a8(%rsp), %rdi
callq 0xdf08
leaq 0x160(%rsp), %rdi
callq 0xdf08
leaq 0x188(%rsp), %rdi
callq 0xdf08
leaq 0x187(%rsp), %rdi
callq 0xd7a0
jmp 0x8f0de
movl $0x1, %edi
callq 0xd8e0
leaq 0x4c8(%rsp), %rdi
callq 0xdf08
leaq 0x878(%rsp), %rdi
callq 0xdf08
movq 0xd48(%rsp), %rdi
callq 0xdd40
nopw %cs:(%rax,%rax)