// File: /workspace/github_cpp_makefile_star2_O3/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:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x168, %rsp            # imm = 0x168
movq %r9, %rbp
movq %r8, 0x158(%rsp)
movq %rcx, 0x160(%rsp)
movq %rdx, 0x150(%rsp)
movq %rsi, %r12
movq %rdi, %rbx
callq 0xb070
movl $0x0, (%rax)
movq 0x8(%rbx), %rdx
testq %rdx, %rdx
je 0x56912
cmpq $0x0, 0x8(%r12)
jne 0x569a8
movq %rax, %r15
movq 0x150(%rsp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x56a3e
cmpq $-0x1, (%rbp)
jne 0x56ad4
movq 0x1a0(%rsp), %r13
cmpl $0x0, (%r13)
jne 0x56b6a
leaq 0x78(%rsp), %rax
movq %rax, -0x10(%rax)
movq (%rbx), %rsi
addq %rsi, %rdx
leaq 0x68(%rsp), %rdi
callq 0xdd86
movb 0x6383d(%rip), %al      # 0xb9bc0
testb %al, %al
movq %r15, 0x148(%rsp)
je 0x56c00
movq 0x63806(%rip), %rsi     # 0xb9ba0
movq 0x63807(%rip), %rcx     # 0xb9ba8
movq %rbx, %rdi
xorl %edx, %edx
callq 0xba30
cmpq $-0x1, %rax
je 0x5652d
movq 0x70(%rsp), %rcx
cmpq %rax, %rcx
jb 0x56db3
movq %rax, 0x70(%rsp)
movq 0x68(%rsp), %rcx
movb $0x0, (%rcx,%rax)
movq 0x637d0(%rip), %rdx     # 0xb9ba8
addq %rax, %rdx
leaq 0xa8(%rsp), %rdi
movq %rbx, %rsi
movq $-0x1, %rcx
callq 0xb5d0
leaq 0x40dbf(%rip), %rsi     # 0x971b8
leaq 0xa8(%rsp), %rdi
movl $0x3, %ecx
xorl %edx, %edx
callq 0xba30
movq %rax, %r14
cmpq $-0x1, %rax
je 0x56422
movl $0x0, (%r15)
movq %r14, %rbx
jmp 0x56451
leaq 0x40cc7(%rip), %rsi     # 0x970f0
leaq 0xa8(%rsp), %rdi
movl $0x3, %ecx
xorl %edx, %edx
callq 0xba30
movq %rax, %rbx
movl $0x0, (%r15)
cmpq $-0x1, %rax
je 0x56f93
leaq 0x3(%rbx), %rdx
leaq 0x8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
movq $-0x1, %rcx
callq 0xb5d0
leaq 0x8(%rsp), %rdi
callq 0x41906
movl %eax, (%r13)
leaq 0x18(%rsp), %r15
movq -0x10(%r15), %rdi
cmpq %r15, %rdi
je 0x56497
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb5a0
cmpq $-0x1, %r14
jne 0x564a1
negl (%r13)
movq 0x148(%rsp), %rax
movl $0x0, (%rax)
imull $0xaaaaaaab, (%r13), %eax # imm = 0xAAAAAAAB
addl $0x2aaaaaaa, %eax       # imm = 0x2AAAAAAA
cmpl $0x55555554, %eax       # imm = 0x55555554
jbe 0x56dcb
movq 0xb0(%rsp), %rcx
cmpq %rbx, %rcx
jb 0x56e63
leaq 0xa8(%rsp), %rdi
movq %rbx, 0x8(%rdi)
movq (%rdi), %rax
movb $0x0, (%rax,%rbx)
callq 0x43370
movq %rax, (%rbp)
movq 0x148(%rsp), %rcx
movl $0x0, (%rcx)
cmpq $-0x1, %rax
je 0x56e7b
leaq 0xb8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5652d
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0xb5a0
leaq 0xb8(%rsp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq 0x70(%rsp), %rbp
testq %rbp, %rbp
je 0x566ba
decq %rbp
xorl %r14d, %r14d
leaq 0x3f8e0(%rip), %rbx     # 0x95e3f
leaq 0x8(%rsp), %r15
movq 0x68(%rsp), %rax
movsbl (%rax,%rbp), %r13d
testl %r14d, %r14d
je 0x56620
cmpl $0x1, %r14d
je 0x565bd
cmpl $0x2, %r14d
jne 0x566b0
movl %r13d, %edi
callq 0xb840
movl $0x1b, %edx
movq %rbx, %rdi
movl %eax, %esi
callq 0xb610
testq %rax, %rax
je 0x56750
movl $0x2, %r14d
movq %r12, %rdi
movl %r13d, %esi
callq 0xb4f0
jmp 0x566b0
movl %r13d, %edi
callq 0xb840
movl $0x1b, %edx
movq %rbx, %rdi
movl %eax, %esi
callq 0xb610
testq %rax, %rax
je 0x56651
leaq 0x18(%rsp), %r14
movq %r14, 0x8(%rsp)
movl $0x1, %esi
movq %r15, %rdi
movl %r13d, %edx
callq 0xb670
movq %r12, %rdi
movq %r15, %rsi
callq 0xb6f0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x56615
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb5a0
movl $0x2, %r14d
jmp 0x566b0
movl %r13d, %edi
callq 0xb840
movl $0x1b, %edx
movq %rbx, %rdi
movl %eax, %esi
callq 0xb610
testq %rax, %rax
je 0x56669
xorl %r14d, %r14d
movq 0x150(%rsp), %rdi
movl %r13d, %esi
callq 0xb4f0
jmp 0x566b0
movl $0x1, %r14d
leaq 0xa8(%rsp), %rdi
movl %r13d, %esi
callq 0xb4f0
jmp 0x566b0
leaq 0x18(%rsp), %r14
movq %r14, 0x8(%rsp)
movl $0x1, %esi
movq %r15, %rdi
movl %r13d, %edx
callq 0xb670
leaq 0xa8(%rsp), %rdi
movq %r15, %rsi
callq 0xb6f0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x566aa
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb5a0
movl $0x1, %r14d
addq $-0x1, %rbp
jb 0x56564
callq 0xb6b0
testl %eax, %eax
jne 0x57029
leaq 0x58(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x40941(%rip), %rsi     # 0x97018
leaq 0x40950(%rip), %rdx     # 0x9702e
leaq 0x48(%rsp), %rdi
callq 0xdc76
leaq 0x88(%rsp), %rdi
movl $0xa6, %esi
callq 0xe1b2
leaq 0xc8(%rsp), %rdi
leaq 0x48(%rsp), %rsi
leaq 0x88(%rsp), %rdx
callq 0xe10a
leaq 0x3cab6(%rip), %rsi     # 0x931d1
leaq 0xc8(%rsp), %rdi
callq 0xbb10
leaq 0x38(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x56885
movups (%rcx), %xmm0
movups %xmm0, (%r15)
jmp 0x56892
movq 0x148(%rsp), %r15
movl $0x0, (%r15)
cmpb $0x5f, %r13b
jne 0x56c6f
testq %rbp, %rbp
leaq 0x18(%rsp), %r14
je 0x56d05
movq 0x150(%rsp), %rdi
callq 0x158e4
movq %r12, %rdi
callq 0x158e4
leaq 0xa8(%rsp), %rdi
callq 0x158e4
leaq 0x8(%rsp), %rdi
leaq 0x68(%rsp), %rsi
xorl %edx, %edx
movq %rbp, %rcx
callq 0xb5d0
leaq 0x8(%rsp), %rbx
movq 0x160(%rsp), %rdi
movq %rbx, %rsi
callq 0xb6f0
movq (%rbx), %rdi
cmpq %r14, %rdi
je 0x567d7
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0xa8(%rsp), %rbx
movl (%r15), %ebp
movl $0x0, (%r15)
leaq 0x8(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
movl $0xa, %edx
callq 0xb7f0
cmpq %rbx, (%r14)
je 0x56d9b
movslq %eax, %rcx
cmpq %rax, %rcx
jne 0x56da7
movl (%r15), %ecx
cmpl $0x22, %ecx
je 0x56da7
testl %ecx, %ecx
jne 0x56826
movl %ebp, (%r15)
decl %eax
movq 0x158(%rsp), %rcx
movl %eax, (%rcx)
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x56857
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x56873
movq 0x78(%rsp), %rsi
incq %rsi
callq 0xb5a0
addq $0x168, %rsp            # imm = 0x168
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x138(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x40836(%rip), %rsi     # 0x970f4
leaq 0x408a1(%rip), %rdx     # 0x97166
leaq 0x128(%rsp), %rdi
callq 0xdc76
leaq 0x3cfd8(%rip), %rsi     # 0x938b1
leaq 0x128(%rsp), %rdi
callq 0xbb10
leaq 0x118(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x56f13
movups (%rcx), %xmm0
movups %xmm0, (%r13)
jmp 0x56f26
callq 0xb6b0
testl %eax, %eax
jne 0x57029
leaq 0x38(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x406e9(%rip), %rsi     # 0x97018
leaq 0x406f8(%rip), %rdx     # 0x9702e
leaq 0x28(%rsp), %rdi
callq 0xdc76
leaq 0xc8(%rsp), %rdi
movl $0x5b, %esi
callq 0xe1b2
leaq 0xe8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
leaq 0xc8(%rsp), %rdx
callq 0xe10a
leaq 0x3c85e(%rip), %rsi     # 0x931d1
leaq 0xe8(%rsp), %rdi
callq 0xbb10
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x57061
movups (%rcx), %xmm0
movups %xmm0, (%r15)
jmp 0x5706e
callq 0xb6b0
testl %eax, %eax
jne 0x57029
leaq 0x38(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x40653(%rip), %rsi     # 0x97018
leaq 0x40662(%rip), %rdx     # 0x9702e
leaq 0x28(%rsp), %rdi
callq 0xdc76
leaq 0xc8(%rsp), %rdi
movl $0x5c, %esi
callq 0xe1b2
leaq 0xe8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
leaq 0xc8(%rsp), %rdx
callq 0xe10a
leaq 0x3c7c8(%rip), %rsi     # 0x931d1
leaq 0xe8(%rsp), %rdi
callq 0xbb10
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x570eb
movups (%rcx), %xmm0
movups %xmm0, (%r15)
jmp 0x570f8
callq 0xb6b0
testl %eax, %eax
jne 0x57029
leaq 0x38(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x405bd(%rip), %rsi     # 0x97018
leaq 0x405cc(%rip), %rdx     # 0x9702e
leaq 0x28(%rsp), %rdi
callq 0xdc76
leaq 0xc8(%rsp), %rdi
movl $0x5d, %esi
callq 0xe1b2
leaq 0xe8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
leaq 0xc8(%rsp), %rdx
callq 0xe10a
leaq 0x3c732(%rip), %rsi     # 0x931d1
leaq 0xe8(%rsp), %rdi
callq 0xbb10
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x57175
movups (%rcx), %xmm0
movups %xmm0, (%r15)
jmp 0x57182
callq 0xb6b0
testl %eax, %eax
jne 0x57029
leaq 0x38(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x40527(%rip), %rsi     # 0x97018
leaq 0x40536(%rip), %rdx     # 0x9702e
leaq 0x28(%rsp), %rdi
callq 0xdc76
leaq 0xc8(%rsp), %rdi
movl $0x5e, %esi
callq 0xe1b2
leaq 0xe8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
leaq 0xc8(%rsp), %rdx
callq 0xe10a
leaq 0x3c69c(%rip), %rsi     # 0x931d1
leaq 0xe8(%rsp), %rdi
callq 0xbb10
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x571ff
movups (%rcx), %xmm0
movups %xmm0, (%r15)
jmp 0x5720c
callq 0xb6b0
testl %eax, %eax
jne 0x57029
leaq 0x38(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x40491(%rip), %rsi     # 0x97018
leaq 0x404a0(%rip), %rdx     # 0x9702e
leaq 0x28(%rsp), %rdi
callq 0xdc76
leaq 0xc8(%rsp), %rdi
movl $0x5f, %esi
callq 0xe1b2
leaq 0xe8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
leaq 0xc8(%rsp), %rdx
callq 0xe10a
leaq 0x3c606(%rip), %rsi     # 0x931d1
leaq 0xe8(%rsp), %rdi
callq 0xbb10
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x57289
movups (%rcx), %xmm0
movups %xmm0, (%r15)
jmp 0x57296
leaq 0x62fb9(%rip), %rdi     # 0xb9bc0
callq 0xba90
testl %eax, %eax
je 0x56393
leaq 0x62f95(%rip), %rax     # 0xb9bb0
movq %rax, 0x62f7e(%rip)     # 0xb9ba0
leaq 0x62f77(%rip), %rdi     # 0xb9ba0
leaq 0x40582(%rip), %rsi     # 0x971b2
leaq 0x40580(%rip), %rdx     # 0x971b7
callq 0xdc76
movq 0x62305(%rip), %rdi     # 0xb8f48
leaq 0x62f56(%rip), %rsi     # 0xb9ba0
leaq 0x62977(%rip), %rdx     # 0xb95c8
callq 0xb510
leaq 0x62f63(%rip), %rdi     # 0xb9bc0
callq 0xb3b0
movq 0x148(%rsp), %r15
jmp 0x56393
callq 0xb6b0
testl %eax, %eax
jne 0x57029
leaq 0x58(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x4038c(%rip), %rsi     # 0x97018
leaq 0x4039b(%rip), %rdx     # 0x9702e
leaq 0x48(%rsp), %rdi
callq 0xdc76
leaq 0x88(%rsp), %rdi
movl $0x9a, %esi
callq 0xe1b2
leaq 0xc8(%rsp), %rdi
leaq 0x48(%rsp), %rsi
leaq 0x88(%rsp), %rdx
callq 0xe10a
leaq 0x3c501(%rip), %rsi     # 0x931d1
leaq 0xc8(%rsp), %rdi
callq 0xbb10
leaq 0x38(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x57313
movups (%rcx), %xmm0
movups %xmm0, (%r15)
jmp 0x57320
callq 0xb6b0
testl %eax, %eax
jne 0x57029
leaq 0x58(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x402f6(%rip), %rsi     # 0x97018
leaq 0x40305(%rip), %rdx     # 0x9702e
leaq 0x48(%rsp), %rdi
callq 0xdc76
leaq 0x88(%rsp), %rdi
movl $0x9b, %esi
callq 0xe1b2
leaq 0xc8(%rsp), %rdi
leaq 0x48(%rsp), %rsi
leaq 0x88(%rsp), %rdx
callq 0xe10a
leaq 0x3c46b(%rip), %rsi     # 0x931d1
leaq 0xc8(%rsp), %rdi
callq 0xbb10
leaq 0x38(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x573a0
movups (%rcx), %xmm0
movups %xmm0, (%r15)
jmp 0x573ad
leaq 0x40f89(%rip), %rdi     # 0x97d2b
callq 0xb370
leaq 0x40f7d(%rip), %rdi     # 0x97d2b
callq 0xb830
leaq 0x3f12e(%rip), %rdi     # 0x95ee8
leaq 0x3f1bb(%rip), %rsi     # 0x95f7c
movq %rax, %rdx
xorl %eax, %eax
callq 0xb8c0
callq 0xb6b0
testl %eax, %eax
jne 0x57029
leaq 0x58(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x40230(%rip), %rsi     # 0x97018
leaq 0x4023f(%rip), %rdx     # 0x9702e
leaq 0x48(%rsp), %rdi
callq 0xdc76
leaq 0x88(%rsp), %rdi
movl $0x75, %esi
callq 0xe1b2
leaq 0xc8(%rsp), %rdi
leaq 0x48(%rsp), %rsi
leaq 0x88(%rsp), %rdx
callq 0xe10a
leaq 0x3c3a5(%rip), %rsi     # 0x931d1
leaq 0xc8(%rsp), %rdi
callq 0xbb10
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x5742d
movups (%rcx), %xmm0
movups %xmm0, (%r12)
jmp 0x5743a
leaq 0x3f07e(%rip), %rdi     # 0x95ee8
leaq 0x3f10b(%rip), %rsi     # 0x95f7c
movq %rbx, %rdx
xorl %eax, %eax
callq 0xb8c0
callq 0xb6b0
testl %eax, %eax
jne 0x57029
leaq 0x58(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x40180(%rip), %rsi     # 0x97018
leaq 0x4018f(%rip), %rdx     # 0x9702e
leaq 0x48(%rsp), %rdi
callq 0xdc76
leaq 0x88(%rsp), %rdi
movl $0x78, %esi
callq 0xe1b2
leaq 0xc8(%rsp), %rdi
leaq 0x48(%rsp), %rsi
leaq 0x88(%rsp), %rdx
callq 0xe10a
leaq 0x3c2f5(%rip), %rsi     # 0x931d1
leaq 0xc8(%rsp), %rdi
callq 0xbb10
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x574b8
movups (%rcx), %xmm0
movups %xmm0, (%r12)
jmp 0x574c5
movq %rdx, 0x108(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x118(%rsp)
movq 0x8(%rax), %rsi
leaq 0x108(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xe8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xe10a
leaq 0x3cad2(%rip), %rsi     # 0x93a30
leaq 0xe8(%rsp), %rdi
callq 0xbb10
leaq 0x18(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x57033
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
jmp 0x57040
callq 0xb6b0
testl %eax, %eax
jne 0x57029
leaq 0x58(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x40068(%rip), %rsi     # 0x97018
leaq 0x40077(%rip), %rdx     # 0x9702e
leaq 0x48(%rsp), %rdi
callq 0xdc76
leaq 0x88(%rsp), %rdi
movl $0x71, %esi
callq 0xe1b2
leaq 0xc8(%rsp), %rdi
leaq 0x48(%rsp), %rsi
leaq 0x88(%rsp), %rdx
callq 0xe10a
leaq 0x3c1dd(%rip), %rsi     # 0x931d1
leaq 0xc8(%rsp), %rdi
callq 0xbb10
leaq 0x38(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x578a0
movups (%rcx), %xmm0
movups %xmm0, (%r15)
jmp 0x578ad
movl $0x1, %edi
callq 0xb6d0
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x1155a
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x98(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x4005a(%rip), %rsi     # 0x970f4
leaq 0x400c5(%rip), %rdx     # 0x97166
leaq 0x88(%rsp), %rdi
callq 0xdc76
leaq 0x3c7fc(%rip), %rsi     # 0x938b1
leaq 0x88(%rsp), %rdi
callq 0xbb10
leaq 0x58(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x57543
movups (%rcx), %xmm0
movups %xmm0, (%r13)
jmp 0x57550
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x98(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x3ffd0(%rip), %rsi     # 0x970f4
leaq 0x4003b(%rip), %rdx     # 0x97166
leaq 0x88(%rsp), %rdi
callq 0xdc76
leaq 0x3c772(%rip), %rsi     # 0x938b1
leaq 0x88(%rsp), %rdi
callq 0xbb10
leaq 0x58(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x575ba
movups (%rcx), %xmm0
movups %xmm0, (%r13)
jmp 0x575c7
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x98(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x3ff46(%rip), %rsi     # 0x970f4
leaq 0x3ffb1(%rip), %rdx     # 0x97166
leaq 0x88(%rsp), %rdi
callq 0xdc76
leaq 0x3c6e8(%rip), %rsi     # 0x938b1
leaq 0x88(%rsp), %rdi
callq 0xbb10
leaq 0x58(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x57631
movups (%rcx), %xmm0
movups %xmm0, (%r13)
jmp 0x5763e
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x98(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x3febc(%rip), %rsi     # 0x970f4
leaq 0x3ff27(%rip), %rdx     # 0x97166
leaq 0x88(%rsp), %rdi
callq 0xdc76
leaq 0x3c65e(%rip), %rsi     # 0x938b1
leaq 0x88(%rsp), %rdi
callq 0xbb10
leaq 0x58(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x576a8
movups (%rcx), %xmm0
movups %xmm0, (%r13)
jmp 0x576b5
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x98(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x3fe32(%rip), %rsi     # 0x970f4
leaq 0x3fe9d(%rip), %rdx     # 0x97166
leaq 0x88(%rsp), %rdi
callq 0xdc76
leaq 0x3c5d4(%rip), %rsi     # 0x938b1
leaq 0x88(%rsp), %rdi
callq 0xbb10
leaq 0x58(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x5771f
movups (%rcx), %xmm0
movups %xmm0, (%r13)
jmp 0x5772c
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x138(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x3fda8(%rip), %rsi     # 0x970f4
leaq 0x3fe13(%rip), %rdx     # 0x97166
leaq 0x128(%rsp), %rdi
callq 0xdc76
leaq 0x3c54a(%rip), %rsi     # 0x938b1
leaq 0x128(%rsp), %rdi
callq 0xbb10
leaq 0x118(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x57796
movups (%rcx), %xmm0
movups %xmm0, (%r13)
jmp 0x577a9
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x138(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x3fd1b(%rip), %rsi     # 0x970f4
leaq 0x3fd86(%rip), %rdx     # 0x97166
leaq 0x128(%rsp), %rdi
callq 0xdc76
leaq 0x3c4bd(%rip), %rsi     # 0x938b1
leaq 0x128(%rsp), %rdi
callq 0xbb10
leaq 0x118(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x5781b
movups (%rcx), %xmm0
movups %xmm0, (%r13)
jmp 0x5782e
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x138(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x3fc8f(%rip), %rsi     # 0x970f4
leaq 0x3fcfa(%rip), %rdx     # 0x97166
leaq 0x128(%rsp), %rdi
callq 0xdc76
leaq 0x3c431(%rip), %rsi     # 0x938b1
leaq 0x128(%rsp), %rdi
callq 0xbb10
leaq 0x118(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x5792d
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
jmp 0x57940
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x138(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x3fc04(%rip), %rsi     # 0x970f4
leaq 0x3fc6f(%rip), %rdx     # 0x97166
leaq 0x128(%rsp), %rdi
callq 0xdc76
leaq 0x3c3a6(%rip), %rsi     # 0x938b1
leaq 0x128(%rsp), %rdi
callq 0xbb10
leaq 0x118(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x579a9
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
jmp 0x579bc
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
movq 0x8(%rax), %rsi
leaq 0x48(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xa8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xe10a
leaq 0x3fbe2(%rip), %rsi     # 0x97167
leaq 0xa8(%rsp), %rdi
callq 0xbb10
leaq 0x78(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x57a25
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
jmp 0x57a32
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
movq 0x8(%rax), %rsi
leaq 0x48(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xa8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xe10a
leaq 0x3fce0(%rip), %rsi     # 0x972dc
leaq 0xa8(%rsp), %rdi
callq 0xbb10
leaq 0x78(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x57a53
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
jmp 0x57a60
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
movq 0x8(%rax), %rsi
leaq 0x48(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xa8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xe10a
leaq 0x3fc7f(%rip), %rsi     # 0x972f2
leaq 0xa8(%rsp), %rdi
callq 0xbb10
leaq 0x78(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x57a81
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
jmp 0x57a8e
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
movq 0x8(%rax), %rsi
leaq 0x48(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xa8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xe10a
leaq 0x3fa9a(%rip), %rsi     # 0x97184
leaq 0xa8(%rsp), %rdi
callq 0xbb10
leaq 0x78(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x57aaf
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
jmp 0x57abc
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
movq 0x8(%rax), %rsi
leaq 0x48(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xa8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xe10a
leaq 0x3fa3a(%rip), %rsi     # 0x9719b
leaq 0xa8(%rsp), %rdi
callq 0xbb10
leaq 0x78(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x57add
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
jmp 0x57aea
movq %rdx, 0x108(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x118(%rsp)
movq 0x8(%rax), %rsi
leaq 0x108(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xe8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xe10a
leaq 0x3fa25(%rip), %rsi     # 0x97206
leaq 0xe8(%rsp), %rdi
callq 0xbb10
leaq 0x18(%rsp), %rcx
movq %rcx, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x57b0b
movups (%rcx), %xmm0
leaq 0x18(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x57b18
movq %rdx, 0x108(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x118(%rsp)
movq 0x8(%rax), %rsi
leaq 0x108(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xe8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xe10a
leaq 0x404c8(%rip), %rsi     # 0x97d2e
leaq 0xe8(%rsp), %rdi
callq 0xbb10
leaq 0x18(%rsp), %rcx
movq %rcx, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x57b39
movups (%rcx), %xmm0
leaq 0x18(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x57b46
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x138(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x3f81b(%rip), %rsi     # 0x970f4
leaq 0x3f886(%rip), %rdx     # 0x97166
leaq 0x128(%rsp), %rdi
callq 0xdc76
leaq 0x3bfbd(%rip), %rsi     # 0x938b1
leaq 0x128(%rsp), %rdi
callq 0xbb10
leaq 0x118(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x57b67
movups (%rcx), %xmm0
movups %xmm0, (%r13)
jmp 0x57b7a
movq %rdx, 0x108(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x118(%rsp)
movq 0x8(%rax), %rsi
leaq 0x108(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xe8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xe10a
leaq 0x3f85e(%rip), %rsi     # 0x971d6
leaq 0xe8(%rsp), %rdi
callq 0xbb10
movq %r15, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x57be0
movups (%rcx), %xmm0
movups %xmm0, (%r15)
jmp 0x57bed
movq %rdx, 0x108(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x118(%rsp)
movq 0x8(%rax), %rsi
leaq 0x108(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xe8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xe10a
leaq 0x3f7fb(%rip), %rsi     # 0x971ef
leaq 0xe8(%rsp), %rdi
callq 0xbb10
movq %r15, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x57c0e
movups (%rcx), %xmm0
movups %xmm0, (%r15)
jmp 0x57c1b
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
movq 0x8(%rax), %rdx
leaq 0x68(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x1155a
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
movq 0x8(%rax), %rdx
leaq 0x68(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x1155a
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
movq 0x8(%rax), %rdx
leaq 0x68(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x1155a
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
movq 0x8(%rax), %rdx
leaq 0x68(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x1155a
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
movq 0x8(%rax), %rdx
leaq 0x68(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x1155a
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x1155a
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x1155a
movq %rdx, 0x108(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x118(%rsp)
movq 0x8(%rax), %rsi
leaq 0x108(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xe8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xe10a
leaq 0x3f60a(%rip), %rsi     # 0x971bc
leaq 0xe8(%rsp), %rdi
callq 0xbb10
leaq 0x18(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x57c3c
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
jmp 0x57c49
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x1155a
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x1155a
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x1155a
movq %rax, %rbx
leaq 0x61f4c(%rip), %rdi     # 0xb9bc0
callq 0xb3a0
jmp 0x580f7
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x57c9d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x57c9d
movq %rax, %rbx
leaq 0xf8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x57cc3
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x57cc3
movq %rax, %rbx
movq 0x108(%rsp), %rdi
cmpq %r13, %rdi
je 0x57d32
movq 0x118(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x57d32
jmp 0x57ce4
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x57d05
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x57d05
jmp 0x57d02
movq %rax, %rbx
leaq 0xf8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x57dd6
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x57dd6
movq %rax, %rbx
movq 0x128(%rsp), %rdi
cmpq %r12, %rdi
je 0x57df8
movq 0x138(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x57df8
jmp 0x57d5a
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
jne 0x5801c
jmp 0x5802e
jmp 0x5802b
jmp 0x5802b
jmp 0x57d8d
jmp 0x57d8d
jmp 0x57d8d
jmp 0x57dab
jmp 0x57dab
jmp 0x57dab
jmp 0x57d8d
movq %rax, %rbx
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x57dae
movq 0x78(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x57dae
jmp 0x57dab
movq %rax, %rbx
leaq 0xb8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x57e20
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x57e20
jmp 0x57dd3
movq %rax, %rbx
movq 0x108(%rsp), %rdi
cmpq %rbp, %rdi
je 0x57e3e
movq 0x118(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x57e3e
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
jne 0x57ea5
jmp 0x57eec
jmp 0x58061
jmp 0x58061
jmp 0x57e1d
jmp 0x57e1d
jmp 0x57e1d
jmp 0x57e1d
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x57e77
movq 0x58(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x57e77
jmp 0x57e3b
movq %rax, %rbx
movq 0x128(%rsp), %rdi
cmpq %r13, %rdi
je 0x57e9b
movq 0x138(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x57e9b
jmp 0x57ee9
jmp 0x580b1
jmp 0x580b1
jmp 0x57e74
jmp 0x57e74
jmp 0x57e74
jmp 0x57e74
movq %rax, %rbx
movq 0x88(%rsp), %rdi
cmpq %r12, %rdi
je 0x57ece
movq 0x98(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x57ece
jmp 0x57e98
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x57eec
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x57eec
jmp 0x57f4e
jmp 0x58124
jmp 0x58124
jmp 0x57ecb
jmp 0x57ecb
jmp 0x57ecb
jmp 0x57ecb
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x57f29
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x57f29
jmp 0x57ee9
movq %rax, %rbx
leaq 0xd8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x57f51
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x57f51
jmp 0x57fb3
jmp 0x58142
jmp 0x58142
jmp 0x57f26
jmp 0x57f26
jmp 0x57f26
jmp 0x57f26
movq %rax, %rbx
leaq 0xf8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x57f8e
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x57f8e
jmp 0x57f4e
movq %rax, %rbx
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x57fb6
movq 0x98(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x57fb6
jmp 0x580d3
jmp 0x58168
jmp 0x58168
jmp 0x57f8b
jmp 0x57f8b
jmp 0x57f8b
jmp 0x57f8b
movq %rax, %rbx
leaq 0xd8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x57fe3
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x57fe3
jmp 0x57fb3
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r14, %rdi
je 0x580d6
movq 0x58(%rsp), %rsi
jmp 0x58099
jmp 0x58190
jmp 0x58190
jmp 0x57fe0
jmp 0x57fe0
jmp 0x57fe0
jmp 0x57fe0
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x581f4
movq 0x38(%rsp), %rsi
jmp 0x581ec
jmp 0x580d3
jmp 0x580d3
jmp 0x581b0
jmp 0x581b0
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x5802e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x5802e
movq %rax, %rbx
leaq 0xf8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x58064
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x58064
jmp 0x58059
jmp 0x58059
jmp 0x58059
jmp 0x58059
movq %rax, %rbx
jmp 0x581f4
movq %rax, %rbx
movq 0x108(%rsp), %rdi
cmpq %r13, %rdi
je 0x580b4
movq 0x118(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x580b4
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x580d6
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x580d6
jmp 0x580d3
jmp 0x580a7
movq %rax, %rbx
jmp 0x580f7
jmp 0x581b0
movq %rax, %rbx
movq 0x128(%rsp), %rdi
cmpq %r12, %rdi
je 0x58127
movq 0x138(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x58127
movq %rax, %rbx
leaq 0xb8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x580f7
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0xb5a0
leaq 0x78(%rsp), %r14
jmp 0x581dd
movq %rax, %rbx
movq 0x148(%rsp), %rax
cmpl $0x0, (%rax)
jne 0x581b3
movq 0x148(%rsp), %rax
movl %ebp, (%rax)
jmp 0x581b3
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
je 0x58145
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x58145
jmp 0x581b0
movq %rax, %rbx
leaq 0xd8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5816b
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x5816b
movq %rax, %rbx
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x58193
movq 0x98(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x58193
jmp 0x581b0
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r14, %rdi
je 0x581b3
movq 0x58(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0x581b3
jmp 0x581b0
jmp 0x581b0
movq %rax, %rbx
leaq 0x78(%rsp), %r14
leaq 0xb8(%rsp), %rax
movq 0xa8(%rsp), %rdi
cmpq %rax, %rdi
je 0x581dd
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x68(%rsp), %rdi
cmpq %r14, %rdi
je 0x581f4
movq 0x78(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq %rbx, %rdi
callq 0xba60