// File: /workspace/github_cpp_makefile_star2_O1/hitc8494[P]Matrix/test.cpp
// Function: main
int main(){
  header( "Basic assignment" );{
    header( "Constructors" );{
      Matrix a;
      test( a.m() == 0 && a.n() == 0, "Test the base constructor." );
      Matrix b( 1, 1 );
      test( b.m() == 1 && b.n() == 1, "Test the common constructor." );
      Matrix c(b);
      test( c.m() == 1 && c.n() == 1, "Test the copy constructor." );
    }
    footer();
    header( "Input" );{
      Matrix a( 4, 4 );
      test( a.print_test() == "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", "Empty matrix." );
      Matrix b;
      { Matrix c( 4, 4 );
	c <<  1 <<  2 <<  3 <<  4
	  <<  5 <<  6 <<  7 <<  8 
	  <<  9 << 10 << 11 << 12
	  << 13 << 14 << 15 << 16;
	test( c.print_test() == "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16", "Basic 4x4." );
	b = c;
      }
      test( b.print_test() == "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16", "Op = test" );
    }
    footer();
    header( "Resize" );{
      Matrix a( 2, 2 );
      a << 1 << 2 
	<< 3 << 4;
      a.resize( 2, 2 );
      test( a.print_test() == "1 2 3 4", "Same size resize." );
      a.resize( 3, 3 );
      test( a.print_test() == "1 2 0 3 4 0 0 0 0", "Scaled up resize." );
      a.print();
      a.resize( 1, 1 );
      test( a.print_test() == "1", "Scaled down resize." );
      a.resize( 2, 2 );
    }
    footer();
    header( "Submatrix" );{
      Matrix a( 3, 3 );
      a << 1 << 2 << 3
	<< 4 << 5 << 6 
	<< 7 << 8 << 9;
      Matrix b = a.submatrix(1,1,2,2);
      test( b.print_test() == "1 2 4 5", "Basic submatrix" );
      Matrix c = a.submatrix(2,2,2,2);
      test( c.print_test() == "5 6 8 9", "Basic submatrix #2" );
      test( a.SUBMATRIX(1,1,2,3).print_test() == "1 2 3 4 5 6", "Immediate submatrix" );
      test( a.SUBMATRIX(1,1,2,1).print_test() == "1 4", "Immediate submatrix #2" );
    }
    footer();
  }
  footer();
  header( "Mathematical functions" );{
    header( "Addition" );{
      Matrix a(2, 2);
      a << 1 << 2
	<< 3 << 4;
      Matrix b(2, 2);
      b << 4 << 3
	<< 2 << 1;
      Matrix c = b + a;
      test( c.print_test() == "5 5 5 5", "Basic addition" );
      c = a + b;
      test( c.print_test() == "5 5 5 5", "Addition is transitive" );
      b.resize(1, 1);
      c = b + a;
      test( c.error() == true, "Unable to add unlike matrices" );
      b.resize(2, 2);
      c = a + b;
      test( c.print_test() == "5 2 3 4", "Basic addition after a resize" );
      test( a.print_test() == "1 2 3 4", "  A is unchanged by addition" );
      a += b;
      test( a.print_test() == "5 2 3 4", "Immediate addition." );
    }
    footer();
    header( "Subtraction" );{
      Matrix a( 2, 2 );
      a << 1 << 2 << 3 << 4;
      Matrix b( 2, 2 );
      b << 1 << 1 << 1 << 1;
      Matrix c( 1, 1 );
      test( (a - b).print_test() == "0 1 2 3", "Basic subtraction" );
      test( (b - a).print_test() != "0 1 2 3", "Subtraction is NOT transitive" );
      c = b + c;
      test( c.error() == true, "Unable to subtract unlike matrices" );
      a -= b;
      test( a.print_test() == "0 1 2 3", "Immediate subtraction." );
    }
    footer();
    header( "Multiplication" );{
      Matrix a( 2, 3 );
      a <<  2 <<  4 <<  3 
	<< -2 <<  3 <<  1;
      Matrix b( 3, 4 );
      b <<  2 <<  4 <<  5 <<  6 
	<< -2 <<  1 << -2 <<  1 
	<< -9 << -9 << -9 <<  1;
      Matrix c( 2, 2 );
      c << 1 << 2
	<< 4 << 1;
      Matrix d( 2, 2 );
      d << 3 << 1
	<< 3 << 0;
      test( (a * b).print_test()=="-31 -15 -25 19 -19 -14 -25 -8","Basic multiplication");
      test( (b*a).error() == true, "Can NOT multiply improper matrices" );
      test( (c*d).print_test() != (d*c).print_test(), "Multiplication is NOT transitive");
      test( (a * 2).print_test() == "4 8 6 -4 6 2", "Basic scalar multiplication" );
      test( a.print_test() == "2 4 3 -2 3 1", "  A is unchanged by multiplication" );
      c *= a;
      test( c.print_test() == "-2 10 5 6 19 13","Immediate multiplication");
      c *= 2;
      test( c.print_test() == "-4 20 10 12 38 26", "Immediate scalar multiplication" );
    }
    footer();
    header( "Division" );{
      
      
    }
    footer();
    header( "Exponent" );{
      
    }
    footer();
    header( "Transpose" );{
      Matrix a( 2, 3 );
      a << 4 << 3 << 2
	<< 1 << 5 << 6;
      Matrix b = +a;
      test( a.m() == b.n() && a.n() == b.m(), "Basic transpose" );
      ++a;
      test( a == b, "Immediate transpose" );
    }
    footer();
    header( "Inverse" );{
      Matrix a( 3,3 );
      a << 0 << 1 << 2 
	<< 1 << 0 << 3
	<< 4 << -3 << 8;
      Matrix b = ~a;
      test( b.print_test() == "-4.5 7 -1.5 -2 4 -1 1.5 -2 0.5", "Inverse" );
      test( (!a).print_test() == "-4.5 7 -1.5 -2 4 -1 1.5 -2 0.5", "Immediate inverse" );
    }
    footer();
    header( "Determinant" );{
      Matrix c(1,1);
      c << 1;
      test( c.det() == 1, "Determinant test 1x1" );
      Matrix b(2,2);
      b << 3 << 4 
	<< 1 << 2;
      test( b.det() == 2, "Determinant test 2x2" );
      Matrix a(3,3);
      a << 1 << 2 << 0
	<< 4 << 5 << 6 
	<< 7 << 8 << 9;
      test( a.det() == 9, "Determinant test 3x3" );
      Matrix d(6,6);
      d << 0 << 9 << 3 << 4 << 1 << 2
	<< 0 << 2 << 1 << 5 << 5 << 2
	<< 3 << 4 << 1 << 1 << 7 << 3
	<< 9 << 4 << 2 << 4 << 7 << 6
	<< 6 << 1 << 8 << 2 << 7 << 3
	<< 3 << 7 << 2 << 7 << 3 << 4;
      test( d.det() == 330, "Determinant test 6x6" );
    }
    footer();
  }
  footer();
  
  cout << endl
       << "Tests passed: " << passed << endl
       << "Tests failed: " << failed << endl;
  return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x848, %rsp            # imm = 0x848
leaq 0x838(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x426f(%rip), %rsi      # 0x917c
leaq 0x4278(%rip), %rdx      # 0x918c
leaq 0x828(%rsp), %rbx
movq %rbx, %rdi
callq 0x4c6c
movq %rbx, %rdi
callq 0x4cfc
movq 0x828(%rsp), %rdi
cmpq %r14, %rdi
je 0x4f49
movq 0x838(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x818(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x4231(%rip), %rsi      # 0x918d
leaq 0x4236(%rip), %rdx      # 0x9199
leaq 0x808(%rsp), %rbx
movq %rbx, %rdi
callq 0x4c6c
movq %rbx, %rdi
callq 0x4cfc
movq 0x808(%rsp), %rdi
cmpq %r14, %rdi
je 0x4f98
movq 0x818(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
callq 0x23cc
movl 0x18(%rbx), %ebp
movl 0x1c(%rbx), %ebx
leaq 0x678(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x41d9(%rip), %rsi      # 0x919a
leaq 0x41ec(%rip), %rdx      # 0x91b4
leaq 0x668(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
orl %ebx, %ebp
sete %dil
leaq 0x668(%rsp), %rsi
callq 0x4dd5
movq 0x668(%rsp), %rdi
cmpq %r14, %rdi
je 0x5007
movq 0x678(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x40(%rsp), %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x2704
movl 0x58(%rsp), %ebx
movl 0x5c(%rsp), %ebp
leaq 0x658(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x417f(%rip), %rsi      # 0x91b5
leaq 0x4194(%rip), %rdx      # 0x91d1
leaq 0x648(%rsp), %rdi
callq 0x4c6c
xorl $0x1, %ebx
xorl $0x1, %ebp
xorl %edi, %edi
orl %ebx, %ebp
sete %dil
leaq 0x648(%rsp), %rsi
callq 0x4dd5
movq 0x648(%rsp), %rdi
cmpq %r14, %rdi
je 0x5082
movq 0x658(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x80(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x2870
movl 0x98(%rsp), %ebx
movl 0x9c(%rsp), %ebp
leaq 0x638(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x411d(%rip), %rsi      # 0x91d2
leaq 0x4130(%rip), %rdx      # 0x91ec
leaq 0x628(%rsp), %rdi
callq 0x4c6c
xorl $0x1, %ebx
xorl $0x1, %ebp
xorl %edi, %edi
orl %ebx, %ebp
sete %dil
leaq 0x628(%rsp), %rsi
callq 0x4dd5
movq 0x628(%rsp), %rdi
cmpq %r14, %rdi
je 0x5101
movq 0x638(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x80(%rsp), %rdi
callq 0x28c2
leaq 0x40(%rsp), %rdi
callq 0x28c2
leaq 0xc0(%rsp), %rdi
callq 0x28c2
addl $-0x3, 0x8004(%rip)     # 0xd130
leaq 0x7f8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x40ae(%rip), %rsi      # 0x91ed
leaq 0x40ac(%rip), %rdx      # 0x91f2
leaq 0x7e8(%rsp), %rbx
movq %rbx, %rdi
callq 0x4c6c
movq %rbx, %rdi
callq 0x4cfc
movq 0x7e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x517b
movq 0x7f8(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
movl $0x4, %esi
movl $0x4, %edx
callq 0x2704
leaq 0x40(%rsp), %rdi
movq %rbx, %rsi
callq 0x2b42
leaq 0x404a(%rip), %rsi      # 0x91f3
leaq 0x40(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x618(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x404b(%rip), %rsi      # 0x9213
leaq 0x4051(%rip), %rdx      # 0x9220
leaq 0x608(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x608(%rsp), %rsi
callq 0x4dd5
movq 0x608(%rsp), %rdi
cmpq %r14, %rdi
je 0x520e
movq 0x618(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x50(%rsp), %r12
movq -0x10(%r12), %rdi
cmpq %r12, %rdi
je 0x522a
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x40(%rsp), %rdi
callq 0x23cc
leaq 0x80(%rsp), %rdi
movl $0x4, %esi
movl $0x4, %edx
callq 0x2704
leaq 0x80(%rsp), %rdi
movsd 0x3dad(%rip), %xmm0     # 0x9008
callq 0x2950
movsd 0x3e68(%rip), %xmm0     # 0x90d0
movq %rax, %rdi
callq 0x2950
movsd 0x3e60(%rip), %xmm0     # 0x90d8
movq %rax, %rdi
callq 0x2950
movsd 0x3e58(%rip), %xmm0     # 0x90e0
movq %rax, %rdi
callq 0x2950
movsd 0x3e50(%rip), %xmm0     # 0x90e8
movq %rax, %rdi
callq 0x2950
movsd 0x3e48(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x2950
movsd 0x3e40(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x2950
movsd 0x3e38(%rip), %xmm0     # 0x9100
movq %rax, %rdi
callq 0x2950
movsd 0x3e30(%rip), %xmm0     # 0x9108
movq %rax, %rdi
callq 0x2950
movsd 0x3e28(%rip), %xmm0     # 0x9110
movq %rax, %rdi
callq 0x2950
movsd 0x3e20(%rip), %xmm0     # 0x9118
movq %rax, %rdi
callq 0x2950
movsd 0x3e18(%rip), %xmm0     # 0x9120
movq %rax, %rdi
callq 0x2950
movsd 0x3e10(%rip), %xmm0     # 0x9128
movq %rax, %rdi
callq 0x2950
movsd 0x3e08(%rip), %xmm0     # 0x9130
movq %rax, %rdi
callq 0x2950
movsd 0x3e00(%rip), %xmm0     # 0x9138
movq %rax, %rdi
callq 0x2950
movsd 0x3df8(%rip), %xmm0     # 0x9140
movq %rax, %rdi
callq 0x2950
movq %rsp, %rdi
leaq 0x80(%rsp), %rsi
callq 0x2b42
leaq 0x3eba(%rip), %rsi      # 0x9221
movq %rsp, %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x5f8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x3ec4(%rip), %rsi      # 0x9248
leaq 0x3ec7(%rip), %rdx      # 0x9252
leaq 0x5e8(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x5e8(%rsp), %rsi
callq 0x4dd5
movq 0x5e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x53ca
movq 0x5f8(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x10(%rsp), %r15
movq -0x10(%r15), %rdi
cmpq %r15, %rdi
je 0x53e5
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x40(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x4154
leaq 0x80(%rsp), %rdi
movb 0x38(%rdi), %al
leaq 0x40(%rsp), %rbx
movb %al, 0x38(%rbx)
movupd 0x18(%rdi), %xmm0
movups 0x28(%rdi), %xmm1
movups %xmm1, 0x28(%rbx)
movupd %xmm0, 0x18(%rbx)
callq 0x28c2
leaq 0x80(%rsp), %rdi
movq %rbx, %rsi
callq 0x2b42
leaq 0x3de9(%rip), %rsi      # 0x9221
leaq 0x80(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x5d8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x3df9(%rip), %rsi      # 0x9253
leaq 0x3dfb(%rip), %rdx      # 0x925c
leaq 0x5c8(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x5c8(%rsp), %rsi
callq 0x4dd5
movq 0x5c8(%rsp), %rdi
cmpq %r14, %rdi
je 0x54a0
movq 0x5d8(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x90(%rsp), %r14
movq -0x10(%r14), %rdi
cmpq %r14, %rdi
je 0x54c1
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x40(%rsp), %rdi
callq 0x28c2
leaq 0xc0(%rsp), %rdi
callq 0x28c2
addl $-0x3, 0x7c51(%rip)     # 0xd130
leaq 0x7d8(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x3d6b(%rip), %rsi      # 0x925d
leaq 0x3d6a(%rip), %rdx      # 0x9263
leaq 0x7c8(%rsp), %rbx
movq %rbx, %rdi
callq 0x4c6c
movq %rbx, %rdi
callq 0x4cfc
movq 0x7c8(%rsp), %rdi
cmpq %r13, %rdi
je 0x552e
movq 0x7d8(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
movl $0x2, %esi
movl $0x2, %edx
callq 0x2704
movsd 0x3ab8(%rip), %xmm0     # 0x9008
movq %rbx, %rdi
callq 0x2950
movsd 0x3b70(%rip), %xmm0     # 0x90d0
movq %rax, %rdi
callq 0x2950
movsd 0x3b68(%rip), %xmm0     # 0x90d8
movq %rax, %rdi
callq 0x2950
movsd 0x3b60(%rip), %xmm0     # 0x90e0
movq %rax, %rdi
callq 0x2950
leaq 0xc0(%rsp), %rdi
movl $0x2, %esi
movl $0x2, %edx
callq 0x240e
leaq 0x40(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x2b42
leaq 0x3cac(%rip), %rsi      # 0x9264
leaq 0x40(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x5b8(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x3c95(%rip), %rsi      # 0x926c
leaq 0x3c9f(%rip), %rdx      # 0x927d
leaq 0x5a8(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x5a8(%rsp), %rsi
callq 0x4dd5
movq 0x5a8(%rsp), %rdi
cmpq %r13, %rdi
je 0x561d
movq 0x5b8(%rsp), %rsi
incq %rsi
callq 0x2140
movq 0x40(%rsp), %rdi
cmpq %r12, %rdi
je 0x5634
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rdi
movl $0x3, %esi
movl $0x3, %edx
callq 0x240e
leaq 0x40(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x2b42
leaq 0x3c1a(%rip), %rsi      # 0x927e
leaq 0x40(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x598(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x3c0d(%rip), %rsi      # 0x9290
leaq 0x3c17(%rip), %rdx      # 0x92a1
leaq 0x588(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x588(%rsp), %rsi
callq 0x4dd5
movq 0x588(%rsp), %rdi
cmpq %r13, %rdi
je 0x56c9
movq 0x598(%rsp), %rsi
incq %rsi
callq 0x2140
movq 0x40(%rsp), %rdi
cmpq %r12, %rdi
je 0x56e0
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rdi
callq 0x2a9c
leaq 0xc0(%rsp), %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x240e
leaq 0x40(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x2b42
leaq 0x3e0c(%rip), %rsi      # 0x9529
leaq 0x40(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x578(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x3b66(%rip), %rsi      # 0x92a2
leaq 0x3b72(%rip), %rdx      # 0x92b5
leaq 0x568(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x568(%rsp), %rsi
callq 0x4dd5
movq 0x568(%rsp), %rdi
cmpq %r13, %rdi
je 0x5782
movq 0x578(%rsp), %rsi
incq %rsi
callq 0x2140
movq 0x40(%rsp), %rdi
cmpq %r12, %rdi
je 0x5799
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rdi
movl $0x2, %esi
movl $0x2, %edx
callq 0x240e
leaq 0xc0(%rsp), %rdi
callq 0x28c2
addl $-0x3, 0x796c(%rip)     # 0xd130
leaq 0x7b8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x3ade(%rip), %rsi      # 0x92b6
leaq 0x3ae0(%rip), %rdx      # 0x92bf
leaq 0x7a8(%rsp), %rbx
movq %rbx, %rdi
callq 0x4c6c
movq %rbx, %rdi
callq 0x4cfc
movq 0x7a8(%rsp), %rdi
cmpq %r12, %rdi
je 0x5814
movq 0x7b8(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
movl $0x3, %esi
movl $0x3, %edx
callq 0x2704
movsd 0x37d2(%rip), %xmm0     # 0x9008
movq %rbx, %rdi
callq 0x2950
movsd 0x388a(%rip), %xmm0     # 0x90d0
movq %rax, %rdi
callq 0x2950
movsd 0x3882(%rip), %xmm0     # 0x90d8
movq %rax, %rdi
callq 0x2950
movsd 0x387a(%rip), %xmm0     # 0x90e0
movq %rax, %rdi
callq 0x2950
movsd 0x3872(%rip), %xmm0     # 0x90e8
movq %rax, %rdi
callq 0x2950
movsd 0x386a(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x2950
movsd 0x3862(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x2950
movsd 0x385a(%rip), %xmm0     # 0x9100
movq %rax, %rdi
callq 0x2950
movsd 0x3852(%rip), %xmm0     # 0x9108
movq %rax, %rdi
callq 0x2950
leaq 0x40(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
movl $0x1, %edx
movl $0x1, %ecx
movl $0x2, %r8d
movl $0x2, %r9d
callq 0x32e0
leaq 0x80(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x2b42
leaq 0x39c1(%rip), %rsi      # 0x92c0
leaq 0x80(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x558(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x39a6(%rip), %rsi      # 0x92c8
leaq 0x39ae(%rip), %rdx      # 0x92d7
leaq 0x548(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x548(%rsp), %rsi
callq 0x4dd5
movq 0x548(%rsp), %rdi
cmpq %r12, %rdi
je 0x5968
movq 0x558(%rsp), %rsi
incq %rsi
callq 0x2140
movq 0x80(%rsp), %rdi
cmpq %r14, %rdi
je 0x5985
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x80(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
movl $0x2, %edx
movl $0x2, %ecx
movl $0x2, %r8d
movl $0x2, %r9d
callq 0x32e0
movq %rsp, %rdi
leaq 0x80(%rsp), %rsi
callq 0x2b42
leaq 0x3911(%rip), %rsi      # 0x92d8
movq %rsp, %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x538(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x38fb(%rip), %rsi      # 0x92e0
leaq 0x3906(%rip), %rdx      # 0x92f2
leaq 0x528(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x528(%rsp), %rsi
callq 0x4dd5
movq 0x528(%rsp), %rdi
cmpq %r12, %rdi
je 0x5a2b
movq 0x538(%rsp), %rsi
incq %rsi
callq 0x2140
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x5a41
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rdi
movl $0x1, %esi
movl $0x1, %edx
movl $0x2, %ecx
movl $0x3, %r8d
callq 0x339a
movq %rsp, %rdi
movq %rax, %rsi
callq 0x2b42
leaq 0x387e(%rip), %rsi      # 0x92f3
movq %rsp, %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x518(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x386c(%rip), %rsi      # 0x92ff
leaq 0x3878(%rip), %rdx      # 0x9312
leaq 0x508(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x508(%rsp), %rsi
callq 0x4dd5
movq 0x508(%rsp), %rdi
cmpq %r12, %rdi
je 0x5ad9
movq 0x518(%rsp), %rsi
incq %rsi
callq 0x2140
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x5aef
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rdi
movl $0x1, %esi
movl $0x1, %edx
movl $0x2, %ecx
movl $0x1, %r8d
callq 0x339a
movq %rsp, %rdi
movq %rax, %rsi
callq 0x2b42
leaq 0x37f0(%rip), %rsi      # 0x9313
movq %rsp, %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x4f8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x37d6(%rip), %rsi      # 0x9317
leaq 0x37e5(%rip), %rdx      # 0x932d
leaq 0x4e8(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x4e8(%rsp), %rsi
callq 0x4dd5
movq 0x4e8(%rsp), %rdi
cmpq %r12, %rdi
je 0x5b87
movq 0x4f8(%rsp), %rsi
incq %rsi
callq 0x2140
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x5b9d
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x80(%rsp), %rdi
callq 0x28c2
leaq 0x40(%rsp), %rdi
callq 0x28c2
leaq 0xc0(%rsp), %rdi
callq 0x28c2
addl $-0x6, 0x7568(%rip)     # 0xd130
leaq 0x798(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x3752(%rip), %rsi      # 0x932e
leaq 0x3761(%rip), %rdx      # 0x9344
leaq 0x788(%rsp), %rbx
movq %rbx, %rdi
callq 0x4c6c
movq %rbx, %rdi
callq 0x4cfc
movq 0x788(%rsp), %rdi
cmpq %r12, %rdi
je 0x5c18
movq 0x798(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x778(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x3719(%rip), %rsi      # 0x9345
leaq 0x371a(%rip), %rdx      # 0x934d
leaq 0x768(%rsp), %rbx
movq %rbx, %rdi
callq 0x4c6c
movq %rbx, %rdi
callq 0x4cfc
movq 0x768(%rsp), %rdi
cmpq %r12, %rdi
je 0x5c68
movq 0x778(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
movl $0x2, %esi
movl $0x2, %edx
callq 0x2704
movsd 0x337e(%rip), %xmm0     # 0x9008
movq %rbx, %rdi
callq 0x2950
movsd 0x3436(%rip), %xmm0     # 0x90d0
movq %rax, %rdi
callq 0x2950
movsd 0x342e(%rip), %xmm0     # 0x90d8
movq %rax, %rdi
callq 0x2950
movsd 0x3426(%rip), %xmm0     # 0x90e0
movq %rax, %rdi
callq 0x2950
leaq 0x40(%rsp), %rdi
movl $0x2, %esi
movl $0x2, %edx
callq 0x2704
leaq 0x40(%rsp), %rdi
movsd 0x33fd(%rip), %xmm0     # 0x90e0
callq 0x2950
movsd 0x33e8(%rip), %xmm0     # 0x90d8
movq %rax, %rdi
callq 0x2950
movsd 0x33d0(%rip), %xmm0     # 0x90d0
movq %rax, %rdi
callq 0x2950
movsd 0x32f8(%rip), %xmm0     # 0x9008
movq %rax, %rdi
callq 0x2950
leaq 0x80(%rsp), %rdi
leaq 0x40(%rsp), %rsi
leaq 0xc0(%rsp), %rdx
callq 0x34a2
movq %rsp, %rdi
leaq 0x80(%rsp), %rsi
callq 0x2b42
leaq 0x3605(%rip), %rsi      # 0x934e
movq %rsp, %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x4d8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x35ef(%rip), %rsi      # 0x9356
leaq 0x35f6(%rip), %rdx      # 0x9364
leaq 0x4c8(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x4c8(%rsp), %rsi
callq 0x4dd5
movq 0x4c8(%rsp), %rdi
cmpq %r12, %rdi
je 0x5dad
movq 0x4d8(%rsp), %rsi
incq %rsi
callq 0x2140
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x5dc3
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2140
movq %rsp, %rdi
leaq 0xc0(%rsp), %rsi
leaq 0x40(%rsp), %rdx
callq 0x34a2
leaq 0x80(%rsp), %rdi
movq %rsp, %rsi
callq 0x4154
movq %rsp, %rdi
movb 0x38(%rdi), %al
leaq 0x80(%rsp), %rbx
movb %al, 0x38(%rbx)
movupd 0x18(%rdi), %xmm0
movups 0x28(%rdi), %xmm1
movups %xmm1, 0x28(%rbx)
movupd %xmm0, 0x18(%rbx)
callq 0x28c2
movq %rsp, %rdi
movq %rbx, %rsi
callq 0x2b42
leaq 0x352c(%rip), %rsi      # 0x934e
movq %rsp, %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x4b8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x3525(%rip), %rsi      # 0x9365
leaq 0x3534(%rip), %rdx      # 0x937b
leaq 0x4a8(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x4a8(%rsp), %rsi
callq 0x4dd5
movq 0x4a8(%rsp), %rdi
cmpq %r12, %rdi
je 0x5e86
movq 0x4b8(%rsp), %rsi
incq %rsi
callq 0x2140
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x5e9c
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x40(%rsp), %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x240e
movq %rsp, %rdi
leaq 0x40(%rsp), %rsi
leaq 0xc0(%rsp), %rdx
callq 0x34a2
leaq 0x80(%rsp), %rdi
movq %rsp, %rsi
callq 0x4154
leaq 0x98(%rsp), %rbx
movq %rsp, %rdi
movb 0x38(%rdi), %al
movb %al, 0x20(%rbx)
movupd 0x18(%rdi), %xmm0
movups 0x28(%rdi), %xmm1
movups %xmm1, 0x10(%rbx)
movupd %xmm0, (%rbx)
callq 0x28c2
movb 0x19(%rbx), %bpl
leaq 0x498(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x3468(%rip), %rsi      # 0x937c
leaq 0x347e(%rip), %rdx      # 0x9399
leaq 0x488(%rsp), %rdi
callq 0x4c6c
movzbl %bpl, %edi
leaq 0x488(%rsp), %rsi
callq 0x4dd5
movq 0x488(%rsp), %rdi
cmpq %r12, %rdi
je 0x5f56
movq 0x498(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x40(%rsp), %rdi
movl $0x2, %esi
movl $0x2, %edx
callq 0x240e
movq %rsp, %rdi
leaq 0xc0(%rsp), %rsi
leaq 0x40(%rsp), %rdx
callq 0x34a2
leaq 0x80(%rsp), %rdi
movq %rsp, %rsi
callq 0x4154
movq %rsp, %rdi
movb 0x38(%rdi), %al
movb %al, 0x20(%rbx)
movupd 0x18(%rdi), %xmm0
movups 0x28(%rdi), %xmm1
movups %xmm1, 0x10(%rbx)
movupd %xmm0, (%rbx)
callq 0x28c2
movq %rsp, %rdi
leaq 0x80(%rsp), %rsi
callq 0x2b42
leaq 0x33d5(%rip), %rsi      # 0x939a
movq %rsp, %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x478(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x33bf(%rip), %rsi      # 0x93a2
leaq 0x33d5(%rip), %rdx      # 0x93bf
leaq 0x468(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x468(%rsp), %rsi
callq 0x4dd5
movq 0x468(%rsp), %rdi
cmpq %r12, %rdi
je 0x6029
movq 0x478(%rsp), %rsi
incq %rsi
callq 0x2140
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x603f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2140
movq %rsp, %rdi
leaq 0xc0(%rsp), %rsi
callq 0x2b42
leaq 0x320e(%rip), %rsi      # 0x9264
movq %rsp, %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x458(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x334c(%rip), %rsi      # 0x93c0
leaq 0x3361(%rip), %rdx      # 0x93dc
leaq 0x448(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x448(%rsp), %rsi
callq 0x4dd5
movq 0x448(%rsp), %rdi
cmpq %r12, %rdi
je 0x60ba
movq 0x458(%rsp), %rsi
incq %rsi
callq 0x2140
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x60d0
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x351c
movq %rsp, %rdi
leaq 0xc0(%rsp), %rsi
callq 0x2b42
leaq 0x32a1(%rip), %rsi      # 0x939a
movq %rsp, %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x438(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x32c6(%rip), %rsi      # 0x93dd
leaq 0x32d2(%rip), %rdx      # 0x93f0
leaq 0x428(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x428(%rsp), %rsi
callq 0x4dd5
movq 0x428(%rsp), %rdi
cmpq %r12, %rdi
je 0x615d
movq 0x438(%rsp), %rsi
incq %rsi
callq 0x2140
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x6173
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x80(%rsp), %rdi
callq 0x28c2
leaq 0x40(%rsp), %rdi
callq 0x28c2
leaq 0xc0(%rsp), %rdi
callq 0x28c2
addl $-0x3, 0x6f92(%rip)     # 0xd130
leaq 0x758(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x323f(%rip), %rsi      # 0x93f1
leaq 0x3243(%rip), %rdx      # 0x93fc
leaq 0x748(%rsp), %rbx
movq %rbx, %rdi
callq 0x4c6c
movq %rbx, %rdi
callq 0x4cfc
movq 0x748(%rsp), %rdi
cmpq %r12, %rdi
je 0x61ee
movq 0x758(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
movl $0x2, %esi
movl $0x2, %edx
callq 0x2704
movsd 0x2df8(%rip), %xmm0     # 0x9008
movq %rbx, %rdi
callq 0x2950
movsd 0x2eb0(%rip), %xmm0     # 0x90d0
movq %rax, %rdi
callq 0x2950
movsd 0x2ea8(%rip), %xmm0     # 0x90d8
movq %rax, %rdi
callq 0x2950
movsd 0x2ea0(%rip), %xmm0     # 0x90e0
movq %rax, %rdi
callq 0x2950
leaq 0x40(%rsp), %rdi
movl $0x2, %esi
movl $0x2, %edx
callq 0x2704
leaq 0x40(%rsp), %rdi
movsd 0x2d9f(%rip), %xmm0     # 0x9008
callq 0x2950
movsd 0x2d92(%rip), %xmm0     # 0x9008
movq %rax, %rdi
callq 0x2950
movsd 0x2d82(%rip), %xmm0     # 0x9008
movq %rax, %rdi
callq 0x2950
movsd 0x2d72(%rip), %xmm0     # 0x9008
movq %rax, %rdi
callq 0x2950
leaq 0x80(%rsp), %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x2704
movq %rsp, %rdi
leaq 0xc0(%rsp), %rsi
leaq 0x40(%rsp), %rdx
callq 0x35a2
leaq 0x108(%rsp), %rdi
movq %rsp, %rsi
callq 0x2b42
leaq 0x311c(%rip), %rsi      # 0x93fd
leaq 0x108(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x418(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x3101(%rip), %rsi      # 0x9405
leaq 0x310b(%rip), %rdx      # 0x9416
leaq 0x408(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x408(%rsp), %rsi
callq 0x4dd5
movq 0x408(%rsp), %rdi
cmpq %r12, %rdi
je 0x634a
movq 0x418(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x118(%rsp), %r12
movq -0x10(%r12), %rdi
cmpq %r12, %rdi
je 0x636c
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x2140
movq %rsp, %rdi
callq 0x28c2
movq %rsp, %rdi
leaq 0x40(%rsp), %rsi
leaq 0xc0(%rsp), %rdx
callq 0x35a2
leaq 0x108(%rsp), %rdi
movq %rsp, %rsi
callq 0x2b42
leaq 0x305d(%rip), %rsi      # 0x93fd
leaq 0x108(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x3f8(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x3055(%rip), %rsi      # 0x9417
leaq 0x306b(%rip), %rdx      # 0x9434
leaq 0x3e8(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
setne %dil
leaq 0x3e8(%rsp), %rsi
callq 0x4dd5
movq 0x3e8(%rsp), %rdi
cmpq %r13, %rdi
je 0x6408
movq 0x3f8(%rsp), %rsi
incq %rsi
callq 0x2140
movq 0x108(%rsp), %rdi
cmpq %r12, %rdi
je 0x6425
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x2140
movq %rsp, %rdi
callq 0x28c2
movq %rsp, %rdi
leaq 0x40(%rsp), %rsi
leaq 0x80(%rsp), %rdx
callq 0x34a2
leaq 0x80(%rsp), %rdi
movq %rsp, %rsi
callq 0x4154
movq %rsp, %rdi
movb 0x38(%rdi), %al
movb %al, 0xb8(%rsp)
movupd 0x18(%rdi), %xmm0
movups 0x28(%rdi), %xmm1
movups %xmm1, 0xa8(%rsp)
movupd %xmm0, 0x98(%rsp)
callq 0x28c2
movb 0xb1(%rsp), %bl
leaq 0x3d8(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x2f9d(%rip), %rsi      # 0x9435
leaq 0x2fb8(%rip), %rdx      # 0x9457
leaq 0x3c8(%rsp), %rdi
callq 0x4c6c
movzbl %bl, %edi
leaq 0x3c8(%rsp), %rsi
callq 0x4dd5
movq 0x3c8(%rsp), %rdi
cmpq %r13, %rdi
je 0x64d9
movq 0x3d8(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x35fc
movq %rsp, %rdi
leaq 0xc0(%rsp), %rsi
callq 0x2b42
leaq 0x2efb(%rip), %rsi      # 0x93fd
movq %rsp, %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x3b8(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x2f39(%rip), %rsi      # 0x9458
leaq 0x2f48(%rip), %rdx      # 0x946e
leaq 0x3a8(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x3a8(%rsp), %rsi
callq 0x4dd5
movq 0x3a8(%rsp), %rdi
cmpq %r13, %rdi
je 0x6565
movq 0x3b8(%rsp), %rsi
incq %rsi
callq 0x2140
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x657b
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x80(%rsp), %rdi
callq 0x28c2
leaq 0x40(%rsp), %rdi
callq 0x28c2
leaq 0xc0(%rsp), %rdi
callq 0x28c2
addl $-0x3, 0x6b8a(%rip)     # 0xd130
leaq 0x738(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2eb6(%rip), %rsi      # 0x946f
leaq 0x2ebd(%rip), %rdx      # 0x947d
leaq 0x728(%rsp), %rbx
movq %rbx, %rdi
callq 0x4c6c
movq %rbx, %rdi
callq 0x4cfc
movq 0x728(%rsp), %rdi
cmpq %r15, %rdi
je 0x65f5
movq 0x738(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
movl $0x2, %esi
movl $0x3, %edx
callq 0x2704
movsd 0x2ab9(%rip), %xmm0     # 0x90d0
movq %rbx, %rdi
callq 0x2950
movsd 0x2ab9(%rip), %xmm0     # 0x90e0
movq %rax, %rdi
callq 0x2950
movsd 0x2aa1(%rip), %xmm0     # 0x90d8
movq %rax, %rdi
callq 0x2950
movsd 0x2b01(%rip), %xmm0     # 0x9148
movq %rax, %rdi
callq 0x2950
movsd 0x2a81(%rip), %xmm0     # 0x90d8
movq %rax, %rdi
callq 0x2950
movsd 0x29a1(%rip), %xmm0     # 0x9008
movq %rax, %rdi
callq 0x2950
leaq 0x40(%rsp), %rdi
movl $0x3, %esi
movl $0x4, %edx
callq 0x2704
leaq 0x40(%rsp), %rdi
movsd 0x2a40(%rip), %xmm0     # 0x90d0
callq 0x2950
movsd 0x2a43(%rip), %xmm0     # 0x90e0
movq %rax, %rdi
callq 0x2950
movsd 0x2a3b(%rip), %xmm0     # 0x90e8
movq %rax, %rdi
callq 0x2950
movsd 0x2a33(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x2950
movsd 0x2a7b(%rip), %xmm0     # 0x9148
movq %rax, %rdi
callq 0x2950
movsd 0x292b(%rip), %xmm0     # 0x9008
movq %rax, %rdi
callq 0x2950
movsd 0x2a5b(%rip), %xmm0     # 0x9148
movq %rax, %rdi
callq 0x2950
movsd 0x290b(%rip), %xmm0     # 0x9008
movq %rax, %rdi
callq 0x2950
movsd 0x2a43(%rip), %xmm0     # 0x9150
movq %rax, %rdi
callq 0x2950
movsd 0x2a33(%rip), %xmm0     # 0x9150
movq %rax, %rdi
callq 0x2950
movsd 0x2a23(%rip), %xmm0     # 0x9150
movq %rax, %rdi
callq 0x2950
movsd 0x28cb(%rip), %xmm0     # 0x9008
movq %rax, %rdi
callq 0x2950
leaq 0x80(%rsp), %rdi
movl $0x2, %esi
movl $0x2, %edx
callq 0x2704
leaq 0x80(%rsp), %rdi
movsd 0x289c(%rip), %xmm0     # 0x9008
callq 0x2950
movsd 0x2957(%rip), %xmm0     # 0x90d0
movq %rax, %rdi
callq 0x2950
movsd 0x2957(%rip), %xmm0     # 0x90e0
movq %rax, %rdi
callq 0x2950
movsd 0x286f(%rip), %xmm0     # 0x9008
movq %rax, %rdi
callq 0x2950
movq %rsp, %rdi
movl $0x2, %esi
movl $0x2, %edx
callq 0x2704
movq %rsp, %rdi
movsd 0x291a(%rip), %xmm0     # 0x90d8
callq 0x2950
movsd 0x283d(%rip), %xmm0     # 0x9008
movq %rax, %rdi
callq 0x2950
movsd 0x28fd(%rip), %xmm0     # 0x90d8
movq %rax, %rdi
callq 0x2950
xorpd %xmm0, %xmm0
movq %rax, %rdi
callq 0x2950
leaq 0x108(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
leaq 0x40(%rsp), %rdx
callq 0x36f4
leaq 0x148(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x2b42
leaq 0x2c59(%rip), %rsi      # 0x947e
leaq 0x148(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x398(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2c55(%rip), %rsi      # 0x949c
leaq 0x2c62(%rip), %rdx      # 0x94b0
leaq 0x388(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x388(%rsp), %rsi
callq 0x4dd5
movq 0x388(%rsp), %rdi
cmpq %r15, %rdi
je 0x688d
movq 0x398(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x158(%rsp), %r15
movq -0x10(%r15), %rdi
cmpq %r15, %rdi
je 0x68ae
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x108(%rsp), %rdi
callq 0x28c2
leaq 0x108(%rsp), %rdi
leaq 0x40(%rsp), %rsi
leaq 0xc0(%rsp), %rdx
callq 0x36f4
movb 0x139(%rsp), %bl
leaq 0x378(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x2bc2(%rip), %rsi      # 0x94b1
leaq 0x2bdd(%rip), %rdx      # 0x94d3
leaq 0x368(%rsp), %rdi
callq 0x4c6c
movzbl %bl, %edi
leaq 0x368(%rsp), %rsi
callq 0x4dd5
movq 0x368(%rsp), %rdi
cmpq %r13, %rdi
je 0x6930
movq 0x378(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x108(%rsp), %rdi
callq 0x28c2
leaq 0x108(%rsp), %rdi
leaq 0x80(%rsp), %rsi
movq %rsp, %rdx
callq 0x36f4
leaq 0x188(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x2b42
leaq 0x148(%rsp), %rdi
movq %rsp, %rsi
leaq 0x80(%rsp), %rdx
callq 0x36f4
leaq 0x348(%rsp), %rdi
leaq 0x148(%rsp), %rsi
callq 0x2b42
movq 0x190(%rsp), %rdx
movb $0x1, %bl
cmpq 0x350(%rsp), %rdx
jne 0x69ce
testq %rdx, %rdx
je 0x69cc
movq 0x348(%rsp), %rsi
movq 0x188(%rsp), %rdi
callq 0x2150
testl %eax, %eax
setne %bl
jmp 0x69ce
xorl %ebx, %ebx
leaq 0x338(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x2af3(%rip), %rsi      # 0x94d4
leaq 0x2b0c(%rip), %rdx      # 0x94f4
leaq 0x328(%rsp), %rdi
callq 0x4c6c
movzbl %bl, %edi
leaq 0x328(%rsp), %rsi
callq 0x4dd5
movq 0x328(%rsp), %rdi
cmpq %r13, %rdi
je 0x6a22
movq 0x338(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x358(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6a43
movq 0x358(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x148(%rsp), %rdi
callq 0x28c2
leaq 0x198(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6a71
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x108(%rsp), %rdi
callq 0x28c2
movabsq $0x4000000000000000, %r13 # imm = 0x4000000000000000
leaq 0x188(%rsp), %rdx
movq %r13, (%rdx)
leaq 0x108(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x2cea
leaq 0x148(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x2b42
leaq 0x2a31(%rip), %rsi      # 0x94f5
leaq 0x148(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x318(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x2a1c(%rip), %rsi      # 0x9502
leaq 0x2a30(%rip), %rdx      # 0x951d
leaq 0x308(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x308(%rsp), %rsi
callq 0x4dd5
movq 0x308(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6b2c
movq 0x318(%rsp), %rsi
incq %rsi
callq 0x2140
movq 0x148(%rsp), %rdi
cmpq %r15, %rdi
je 0x6b49
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x108(%rsp), %rdi
callq 0x28c2
leaq 0x108(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x2b42
leaq 0x29ac(%rip), %rsi      # 0x951e
leaq 0x108(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x2f8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2997(%rip), %rsi      # 0x952b
leaq 0x29b2(%rip), %rdx      # 0x954d
leaq 0x2e8(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x2e8(%rsp), %rsi
callq 0x4dd5
movq 0x2e8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6bda
movq 0x2f8(%rsp), %rsi
incq %rsi
callq 0x2140
movq 0x108(%rsp), %rdi
cmpq %r12, %rdi
je 0x6bf7
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x80(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x37cc
leaq 0x108(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x2b42
leaq 0x2926(%rip), %rsi      # 0x954e
leaq 0x108(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x2d8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2914(%rip), %rsi      # 0x955e
leaq 0x2925(%rip), %rdx      # 0x9576
leaq 0x2c8(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x2c8(%rsp), %rsi
callq 0x4dd5
movq 0x2c8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6c90
movq 0x2d8(%rsp), %rsi
incq %rsi
callq 0x2140
movq 0x108(%rsp), %rdi
cmpq %r12, %rdi
je 0x6cad
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x108(%rsp), %rsi
movq %r13, (%rsi)
leaq 0x80(%rsp), %rdi
callq 0x383e
leaq 0x108(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x2b42
leaq 0x2896(%rip), %rsi      # 0x9577
leaq 0x108(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x2b8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2886(%rip), %rsi      # 0x9589
leaq 0x289e(%rip), %rdx      # 0x95a8
leaq 0x2a8(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x2a8(%rsp), %rsi
callq 0x4dd5
movq 0x2a8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6d49
movq 0x2b8(%rsp), %rsi
incq %rsi
callq 0x2140
movq 0x108(%rsp), %rdi
cmpq %r12, %rdi
je 0x6d66
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x2140
movq %rsp, %rdi
callq 0x28c2
leaq 0x80(%rsp), %rdi
callq 0x28c2
leaq 0x40(%rsp), %rdi
callq 0x28c2
leaq 0xc0(%rsp), %rdi
callq 0x28c2
addl $-0x3, 0x6397(%rip)     # 0xd130
leaq 0x718(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x27fd(%rip), %rsi      # 0x95a9
leaq 0x27fe(%rip), %rdx      # 0x95b1
leaq 0x708(%rsp), %rbx
movq %rbx, %rdi
callq 0x4c6c
movq %rbx, %rdi
callq 0x4cfc
movq 0x708(%rsp), %rdi
cmpq %r15, %rdi
je 0x6de8
movq 0x718(%rsp), %rsi
incq %rsi
callq 0x2140
addl $-0x3, 0x6341(%rip)     # 0xd130
leaq 0x6f8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x27b0(%rip), %rsi      # 0x95b2
leaq 0x27b1(%rip), %rdx      # 0x95ba
leaq 0x6e8(%rsp), %rbx
movq %rbx, %rdi
callq 0x4c6c
movq %rbx, %rdi
callq 0x4cfc
movq 0x6e8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6e3e
movq 0x6f8(%rsp), %rsi
incq %rsi
callq 0x2140
addl $-0x3, 0x62eb(%rip)     # 0xd130
leaq 0x6d8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2763(%rip), %rsi      # 0x95bb
leaq 0x2765(%rip), %rdx      # 0x95c4
leaq 0x6c8(%rsp), %rbx
movq %rbx, %rdi
callq 0x4c6c
movq %rbx, %rdi
callq 0x4cfc
movq 0x6c8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6e94
movq 0x6d8(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
movl $0x2, %esi
movl $0x3, %edx
callq 0x2704
movsd 0x222a(%rip), %xmm0     # 0x90e0
movq %rbx, %rdi
callq 0x2950
movsd 0x2212(%rip), %xmm0     # 0x90d8
movq %rax, %rdi
callq 0x2950
movsd 0x21fa(%rip), %xmm0     # 0x90d0
movq %rax, %rdi
callq 0x2950
movsd 0x2122(%rip), %xmm0     # 0x9008
movq %rax, %rdi
callq 0x2950
movsd 0x21f2(%rip), %xmm0     # 0x90e8
movq %rax, %rdi
callq 0x2950
movsd 0x21ea(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x2950
leaq 0x40(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x3e6e
movl 0xd8(%rsp), %ebx
movl 0xdc(%rsp), %ebp
movl 0x58(%rsp), %r12d
movl 0x5c(%rsp), %r13d
leaq 0x298(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x267a(%rip), %rsi      # 0x95c5
leaq 0x2682(%rip), %rdx      # 0x95d4
leaq 0x288(%rsp), %rdi
callq 0x4c6c
xorl %r13d, %ebx
xorl %r12d, %ebp
xorl %edi, %edi
orl %ebx, %ebp
sete %dil
leaq 0x288(%rsp), %rsi
callq 0x4dd5
movq 0x288(%rsp), %rdi
cmpq %r15, %rdi
je 0x6f97
movq 0x298(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rdi
callq 0x3ee2
leaq 0xc0(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x28c8
movl %eax, %ebx
leaq 0x278(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x260a(%rip), %rsi      # 0x95d5
leaq 0x2616(%rip), %rdx      # 0x95e8
leaq 0x268(%rsp), %rdi
callq 0x4c6c
movzbl %bl, %edi
leaq 0x268(%rsp), %rsi
callq 0x4dd5
movq 0x268(%rsp), %rdi
cmpq %r15, %rdi
je 0x700c
movq 0x278(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x40(%rsp), %rdi
callq 0x28c2
leaq 0xc0(%rsp), %rdi
callq 0x28c2
addl $-0x3, 0x6106(%rip)     # 0xd130
leaq 0x6b8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x25ac(%rip), %rsi      # 0x95e9
leaq 0x25ac(%rip), %rdx      # 0x95f0
leaq 0x6a8(%rsp), %rbx
movq %rbx, %rdi
callq 0x4c6c
movq %rbx, %rdi
callq 0x4cfc
movq 0x6a8(%rsp), %rdi
cmpq %r15, %rdi
je 0x7079
movq 0x6b8(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
movl $0x3, %esi
movl $0x3, %edx
callq 0x2704
xorpd %xmm0, %xmm0
movq %rbx, %rdi
callq 0x2950
movsd 0x1f61(%rip), %xmm0     # 0x9008
movq %rax, %rdi
callq 0x2950
movsd 0x2019(%rip), %xmm0     # 0x90d0
movq %rax, %rdi
callq 0x2950
movsd 0x1f41(%rip), %xmm0     # 0x9008
movq %rax, %rdi
callq 0x2950
xorpd %xmm0, %xmm0
movq %rax, %rdi
callq 0x2950
movsd 0x1ff5(%rip), %xmm0     # 0x90d8
movq %rax, %rdi
callq 0x2950
movsd 0x1fed(%rip), %xmm0     # 0x90e0
movq %rax, %rdi
callq 0x2950
movsd 0x2055(%rip), %xmm0     # 0x9158
movq %rax, %rdi
callq 0x2950
movsd 0x1fed(%rip), %xmm0     # 0x9100
movq %rax, %rdi
callq 0x2950
leaq 0x40(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x3d88
leaq 0x80(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x2b42
leaq 0x24ab(%rip), %rsi      # 0x95f1
leaq 0x80(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x258(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2481(%rip), %rsi      # 0x95e9
leaq 0x2481(%rip), %rdx      # 0x95f0
leaq 0x248(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x248(%rsp), %rsi
callq 0x4dd5
movq 0x248(%rsp), %rdi
cmpq %r15, %rdi
je 0x71ae
movq 0x258(%rsp), %rsi
incq %rsi
callq 0x2140
movq 0x80(%rsp), %rdi
cmpq %r14, %rdi
je 0x71cb
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rdi
callq 0x3dfc
leaq 0x80(%rsp), %rdi
movq %rax, %rsi
callq 0x2b42
leaq 0x2402(%rip), %rsi      # 0x95f1
leaq 0x80(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x238(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x23ff(%rip), %rsi      # 0x9610
leaq 0x2409(%rip), %rdx      # 0x9621
leaq 0x228(%rsp), %rdi
callq 0x4c6c
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x228(%rsp), %rsi
callq 0x4dd5
movq 0x228(%rsp), %rdi
cmpq %r15, %rdi
je 0x7257
movq 0x238(%rsp), %rsi
incq %rsi
callq 0x2140
movq 0x80(%rsp), %rdi
cmpq %r14, %rdi
je 0x7274
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x40(%rsp), %rdi
callq 0x28c2
leaq 0xc0(%rsp), %rdi
callq 0x28c2
addl $-0x3, 0x5e9e(%rip)     # 0xd130
leaq 0x698(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x237d(%rip), %rsi      # 0x9622
leaq 0x2381(%rip), %rdx      # 0x962d
leaq 0x688(%rsp), %rbx
movq %rbx, %rdi
callq 0x4c6c
movq %rbx, %rdi
callq 0x4cfc
movq 0x688(%rsp), %rdi
cmpq %r14, %rdi
je 0x72e1
movq 0x698(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x2704
movsd 0x1d05(%rip), %xmm0     # 0x9008
movq %rbx, %rdi
callq 0x2950
leaq 0xc0(%rsp), %rdi
callq 0x3ee8
movsd %xmm0, 0x100(%rsp)
leaq 0x218(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x22fa(%rip), %rsi      # 0x962e
leaq 0x2307(%rip), %rdx      # 0x9642
leaq 0x208(%rsp), %rdi
callq 0x4c6c
movsd 0x100(%rsp), %xmm0
cmpeqsd 0x1cae(%rip), %xmm0     # 0x9008
movq %xmm0, %rdi
andl $0x1, %edi
leaq 0x208(%rsp), %rsi
callq 0x4dd5
movq 0x208(%rsp), %rdi
cmpq %r14, %rdi
je 0x738c
movq 0x218(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x40(%rsp), %rdi
movl $0x2, %esi
movl $0x2, %edx
callq 0x2704
leaq 0x40(%rsp), %rdi
movsd 0x1d2b(%rip), %xmm0     # 0x90d8
callq 0x2950
movsd 0x1d26(%rip), %xmm0     # 0x90e0
movq %rax, %rdi
callq 0x2950
movsd 0x1c3e(%rip), %xmm0     # 0x9008
movq %rax, %rdi
callq 0x2950
movsd 0x1cf6(%rip), %xmm0     # 0x90d0
movq %rax, %rdi
callq 0x2950
leaq 0x40(%rsp), %rdi
callq 0x3ee8
movsd %xmm0, 0x100(%rsp)
leaq 0x1f8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x223b(%rip), %rsi      # 0x9643
leaq 0x2248(%rip), %rdx      # 0x9657
leaq 0x1e8(%rsp), %rdi
callq 0x4c6c
movsd 0x100(%rsp), %xmm0
cmpeqsd 0x1ca2(%rip), %xmm0     # 0x90d0
movq %xmm0, %rdi
andl $0x1, %edi
leaq 0x1e8(%rsp), %rsi
callq 0x4dd5
movq 0x1e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x7460
movq 0x1f8(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x80(%rsp), %rdi
movl $0x3, %esi
movl $0x3, %edx
callq 0x2704
leaq 0x80(%rsp), %rdi
movsd 0x1b81(%rip), %xmm0     # 0x9008
callq 0x2950
movsd 0x1c3c(%rip), %xmm0     # 0x90d0
movq %rax, %rdi
callq 0x2950
xorpd %xmm0, %xmm0
movq %rax, %rdi
callq 0x2950
movsd 0x1c30(%rip), %xmm0     # 0x90e0
movq %rax, %rdi
callq 0x2950
movsd 0x1c28(%rip), %xmm0     # 0x90e8
movq %rax, %rdi
callq 0x2950
movsd 0x1c20(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x2950
movsd 0x1c18(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x2950
movsd 0x1c10(%rip), %xmm0     # 0x9100
movq %rax, %rdi
callq 0x2950
movsd 0x1c08(%rip), %xmm0     # 0x9108
movq %rax, %rdi
callq 0x2950
leaq 0x80(%rsp), %rdi
callq 0x3ee8
movsd %xmm0, 0x100(%rsp)
leaq 0x1d8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x2127(%rip), %rsi      # 0x9658
leaq 0x2134(%rip), %rdx      # 0x966c
leaq 0x1c8(%rsp), %rdi
callq 0x4c6c
movsd 0x100(%rsp), %xmm0
cmpeqsd 0x1bb1(%rip), %xmm0     # 0x9108
movq %xmm0, %rdi
andl $0x1, %edi
leaq 0x1c8(%rsp), %rsi
callq 0x4dd5
movq 0x1c8(%rsp), %rdi
cmpq %r14, %rdi
je 0x7589
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x2140
movq %rsp, %rdi
movl $0x6, %esi
movl $0x6, %edx
callq 0x2704
movq %rsp, %rdi
xorpd %xmm0, %xmm0
callq 0x2950
movsd 0x1b59(%rip), %xmm0     # 0x9108
movq %rax, %rdi
callq 0x2950
movsd 0x1b19(%rip), %xmm0     # 0x90d8
movq %rax, %rdi
callq 0x2950
movsd 0x1b11(%rip), %xmm0     # 0x90e0
movq %rax, %rdi
callq 0x2950
movsd 0x1a29(%rip), %xmm0     # 0x9008
movq %rax, %rdi
callq 0x2950
movsd 0x1ae1(%rip), %xmm0     # 0x90d0
movq %rax, %rdi
callq 0x2950
xorpd %xmm0, %xmm0
movq %rax, %rdi
callq 0x2950
movsd 0x1ac5(%rip), %xmm0     # 0x90d0
movq %rax, %rdi
callq 0x2950
movsd 0x19ed(%rip), %xmm0     # 0x9008
movq %rax, %rdi
callq 0x2950
movsd 0x1abd(%rip), %xmm0     # 0x90e8
movq %rax, %rdi
callq 0x2950
movsd 0x1aad(%rip), %xmm0     # 0x90e8
movq %rax, %rdi
callq 0x2950
movsd 0x1a85(%rip), %xmm0     # 0x90d0
movq %rax, %rdi
callq 0x2950
movsd 0x1a7d(%rip), %xmm0     # 0x90d8
movq %rax, %rdi
callq 0x2950
movsd 0x1a75(%rip), %xmm0     # 0x90e0
movq %rax, %rdi
callq 0x2950
movsd 0x198d(%rip), %xmm0     # 0x9008
movq %rax, %rdi
callq 0x2950
movsd 0x197d(%rip), %xmm0     # 0x9008
movq %rax, %rdi
callq 0x2950
movsd 0x1a5d(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x2950
movsd 0x1a2d(%rip), %xmm0     # 0x90d8
movq %rax, %rdi
callq 0x2950
movsd 0x1a4d(%rip), %xmm0     # 0x9108
movq %rax, %rdi
callq 0x2950
movsd 0x1a15(%rip), %xmm0     # 0x90e0
movq %rax, %rdi
callq 0x2950
movsd 0x19f5(%rip), %xmm0     # 0x90d0
movq %rax, %rdi
callq 0x2950
movsd 0x19f5(%rip), %xmm0     # 0x90e0
movq %rax, %rdi
callq 0x2950
movsd 0x19fd(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x2950
movsd 0x19e5(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x2950
movsd 0x19d5(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x2950
movsd 0x18dd(%rip), %xmm0     # 0x9008
movq %rax, %rdi
callq 0x2950
movsd 0x19c5(%rip), %xmm0     # 0x9100
movq %rax, %rdi
callq 0x2950
movsd 0x1985(%rip), %xmm0     # 0x90d0
movq %rax, %rdi
callq 0x2950
movsd 0x199d(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x2950
movsd 0x196d(%rip), %xmm0     # 0x90d8
movq %rax, %rdi
callq 0x2950
movsd 0x195d(%rip), %xmm0     # 0x90d8
movq %rax, %rdi
callq 0x2950
movsd 0x196d(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x2950
movsd 0x1935(%rip), %xmm0     # 0x90d0
movq %rax, %rdi
callq 0x2950
movsd 0x194d(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x2950
movsd 0x191d(%rip), %xmm0     # 0x90d8
movq %rax, %rdi
callq 0x2950
movsd 0x1915(%rip), %xmm0     # 0x90e0
movq %rax, %rdi
callq 0x2950
movq %rsp, %rdi
callq 0x3ee8
movsd %xmm0, 0x100(%rsp)
leaq 0x1b8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x1e76(%rip), %rsi      # 0x966d
leaq 0x1e83(%rip), %rdx      # 0x9681
leaq 0x1a8(%rsp), %rdi
callq 0x4c6c
movsd 0x100(%rsp), %xmm0
cmpeqsd 0x1943(%rip), %xmm0     # 0x9160
movq %xmm0, %rdi
andl $0x1, %edi
leaq 0x1a8(%rsp), %rsi
callq 0x4dd5
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x784f
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x2140
movq %rsp, %rdi
callq 0x28c2
leaq 0x80(%rsp), %rdi
callq 0x28c2
leaq 0x40(%rsp), %rdi
callq 0x28c2
leaq 0xc0(%rsp), %rdi
callq 0x28c2
addl $-0x6, 0x58ae(%rip)     # 0xd130
movq 0x574f(%rip), %rbx      # 0xcfd8
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2120
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20b0
movq %rax, %rbx
leaq 0x1dc8(%rip), %rsi      # 0x9682
movl $0xe, %edx
movq %rax, %rdi
callq 0x2170
movl 0x5867(%rip), %esi      # 0xd134
movq %rbx, %rdi
callq 0x21e0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2120
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20b0
movq %rax, %rbx
leaq 0x1d88(%rip), %rsi      # 0x9691
movl $0xe, %edx
movq %rax, %rdi
callq 0x2170
movl 0x581c(%rip), %esi      # 0xd138
movq %rbx, %rdi
callq 0x21e0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2120
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20b0
xorl %eax, %eax
addq $0x848, %rsp            # imm = 0x848
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x8367
movq 0x1b8(%rsp), %rsi
jmp 0x7e35
jmp 0x8364
jmp 0x835f
movq %rax, %rbx
movq 0x1c8(%rsp), %rdi
cmpq %r14, %rdi
je 0x836f
movq 0x1d8(%rsp), %rsi
jmp 0x804d
jmp 0x835f
jmp 0x835a
movq %rax, %rbx
movq 0x1e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x837c
movq 0x1f8(%rsp), %rsi
jmp 0x81ac
jmp 0x835a
jmp 0x8353
movq %rax, %rbx
movq 0x208(%rsp), %rdi
cmpq %r14, %rdi
je 0x8386
movq 0x218(%rsp), %rsi
jmp 0x8245
jmp 0x8353
movq %rax, %rbx
movq 0x688(%rsp), %rdi
cmpq %r14, %rdi
je 0x8393
movq 0x698(%rsp), %rsi
jmp 0x8327
movq %rax, %rbx
movq 0x228(%rsp), %rdi
cmpq %r15, %rdi
je 0x8089
movq 0x238(%rsp), %rsi
jmp 0x807c
jmp 0x8086
movq %rax, %rbx
movq 0x248(%rsp), %rdi
cmpq %r15, %rdi
je 0x8089
movq 0x258(%rsp), %rsi
jmp 0x807c
jmp 0x8086
jmp 0x835a
jmp 0x8353
movq %rax, %rbx
movq 0x6a8(%rsp), %rdi
cmpq %r15, %rdi
je 0x8393
movq 0x6b8(%rsp), %rsi
jmp 0x8327
movq %rax, %rbx
movq 0x268(%rsp), %rdi
cmpq %r15, %rdi
je 0x837c
movq 0x278(%rsp), %rsi
jmp 0x81ac
jmp 0x835a
movq %rax, %rbx
movq 0x288(%rsp), %rdi
cmpq %r15, %rdi
je 0x837c
movq 0x298(%rsp), %rsi
jmp 0x81ac
jmp 0x835a
jmp 0x8353
movq %rax, %rbx
movq 0x6c8(%rsp), %rdi
cmpq %r15, %rdi
je 0x8393
movq 0x6d8(%rsp), %rsi
jmp 0x8327
movq %rax, %rbx
movq 0x6e8(%rsp), %rdi
cmpq %r15, %rdi
je 0x8393
movq 0x6f8(%rsp), %rsi
jmp 0x8327
movq %rax, %rbx
movq 0x708(%rsp), %rdi
cmpq %r15, %rdi
je 0x8393
movq 0x718(%rsp), %rsi
jmp 0x8327
movq %rax, %rbx
movq 0x2a8(%rsp), %rdi
cmpq %r15, %rdi
je 0x7dd7
movq 0x2b8(%rsp), %rsi
jmp 0x7dca
jmp 0x7dd4
jmp 0x8364
jmp 0x8364
movq %rax, %rbx
movq 0x2c8(%rsp), %rdi
cmpq %r15, %rdi
je 0x7dd7
movq 0x2d8(%rsp), %rsi
jmp 0x7dca
jmp 0x7dd4
jmp 0x8364
movq %rax, %rbx
movq 0x2e8(%rsp), %rdi
cmpq %r15, %rdi
je 0x7dd7
movq 0x2f8(%rsp), %rsi
jmp 0x7dca
jmp 0x7dd4
jmp 0x8364
movq %rax, %rbx
movq 0x308(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7c00
movq 0x318(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x7c00
movq %rax, %rbx
movq 0x148(%rsp), %rdi
cmpq %r15, %rdi
jne 0x7cf6
jmp 0x7d0b
jmp 0x7d08
jmp 0x8364
movq %rax, %rbx
movq 0x328(%rsp), %rdi
cmpq %r13, %rdi
je 0x7c45
movq 0x338(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x7c45
movq %rax, %rbx
leaq 0x358(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x7c6b
movq 0x358(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x7c6b
movq %rax, %rbx
leaq 0x148(%rsp), %rdi
callq 0x28c2
jmp 0x7c7d
movq %rax, %rbx
leaq 0x198(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x7d0b
movq 0x198(%rsp), %rsi
jmp 0x7cfe
jmp 0x7d08
jmp 0x8364
movq %rax, %rbx
movq 0x368(%rsp), %rdi
cmpq %r13, %rdi
je 0x7d0b
movq 0x378(%rsp), %rsi
jmp 0x7cfe
jmp 0x7d08
jmp 0x8364
movq %rax, %rbx
movq 0x388(%rsp), %rdi
cmpq %r15, %rdi
je 0x7ce5
movq 0x398(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x7ce5
movq %rax, %rbx
leaq 0x158(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x7d0b
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x7d0b
movq %rax, %rbx
leaq 0x108(%rsp), %rdi
callq 0x28c2
jmp 0x8367
jmp 0x8364
jmp 0x835f
jmp 0x835a
jmp 0x8353
movq %rax, %rbx
movq 0x728(%rsp), %rdi
cmpq %r15, %rdi
je 0x8393
movq 0x738(%rsp), %rsi
jmp 0x8327
movq %rax, %rbx
movq 0x3a8(%rsp), %rdi
cmpq %r13, %rdi
je 0x803b
movq 0x3b8(%rsp), %rsi
jmp 0x802e
jmp 0x8038
jmp 0x835f
jmp 0x835f
movq %rax, %rbx
movq 0x3c8(%rsp), %rdi
cmpq %r13, %rdi
je 0x836f
movq 0x3d8(%rsp), %rsi
jmp 0x804d
jmp 0x835f
jmp 0x8364
jmp 0x835f
movq %rax, %rbx
movq 0x3e8(%rsp), %rdi
cmpq %r13, %rdi
je 0x7dd7
movq 0x3f8(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x7dd7
movq %rax, %rbx
movq 0x108(%rsp), %rdi
cmpq %r12, %rdi
jne 0x7e2d
jmp 0x8367
jmp 0x8364
jmp 0x835f
movq %rax, %rbx
movq 0x408(%rsp), %rdi
cmpq %r12, %rdi
je 0x7e18
movq 0x418(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x7e18
movq %rax, %rbx
leaq 0x118(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x8367
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x8367
jmp 0x8364
jmp 0x835f
jmp 0x835a
jmp 0x8353
movq %rax, %rbx
movq 0x748(%rsp), %rdi
cmpq %r12, %rdi
je 0x8393
movq 0x758(%rsp), %rsi
jmp 0x8327
movq %rax, %rbx
movq 0x428(%rsp), %rdi
cmpq %r12, %rdi
je 0x803b
movq 0x438(%rsp), %rsi
jmp 0x802e
jmp 0x8038
jmp 0x835f
movq %rax, %rbx
movq 0x448(%rsp), %rdi
cmpq %r12, %rdi
je 0x803b
movq 0x458(%rsp), %rsi
jmp 0x802e
jmp 0x8038
jmp 0x835f
movq %rax, %rbx
movq 0x468(%rsp), %rdi
cmpq %r12, %rdi
je 0x803b
movq 0x478(%rsp), %rsi
jmp 0x802e
jmp 0x8038
jmp 0x835f
jmp 0x8364
jmp 0x835f
movq %rax, %rbx
movq 0x488(%rsp), %rdi
cmpq %r12, %rdi
je 0x836f
movq 0x498(%rsp), %rsi
jmp 0x804d
jmp 0x835f
jmp 0x8364
jmp 0x835f
movq %rax, %rbx
movq 0x4a8(%rsp), %rdi
cmpq %r12, %rdi
je 0x803b
movq 0x4b8(%rsp), %rsi
jmp 0x802e
jmp 0x8038
jmp 0x835f
jmp 0x8364
jmp 0x835f
movq %rax, %rbx
movq 0x4c8(%rsp), %rdi
cmpq %r12, %rdi
je 0x803b
movq 0x4d8(%rsp), %rsi
jmp 0x802e
jmp 0x8038
jmp 0x835f
jmp 0x835a
jmp 0x8353
movq %rax, %rbx
movq 0x768(%rsp), %rdi
cmpq %r12, %rdi
je 0x8393
movq 0x778(%rsp), %rsi
jmp 0x8327
movq %rax, %rbx
movq 0x788(%rsp), %rdi
cmpq %r12, %rdi
je 0x8393
movq 0x798(%rsp), %rsi
jmp 0x8327
movq %rax, %rbx
movq 0x4e8(%rsp), %rdi
cmpq %r12, %rdi
je 0x803b
movq 0x4f8(%rsp), %rsi
jmp 0x802e
jmp 0x8038
movq %rax, %rbx
movq 0x508(%rsp), %rdi
cmpq %r12, %rdi
je 0x803b
movq 0x518(%rsp), %rsi
jmp 0x802e
jmp 0x8038
movq %rax, %rbx
movq 0x528(%rsp), %rdi
cmpq %r12, %rdi
je 0x803b
movq 0x538(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x803b
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x836f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x836f
jmp 0x835f
jmp 0x835a
movq %rax, %rbx
movq 0x548(%rsp), %rdi
cmpq %r12, %rdi
je 0x8089
movq 0x558(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x8089
movq %rax, %rbx
movq 0x80(%rsp), %rdi
cmpq %r14, %rdi
jne 0x81a4
jmp 0x837c
jmp 0x835a
jmp 0x8353
movq %rax, %rbx
movq 0x7a8(%rsp), %rdi
cmpq %r12, %rdi
je 0x8393
movq 0x7b8(%rsp), %rsi
jmp 0x8327
movq %rax, %rbx
movq 0x568(%rsp), %rdi
cmpq %r13, %rdi
je 0x8131
movq 0x578(%rsp), %rsi
jmp 0x8124
jmp 0x812e
jmp 0x8353
movq %rax, %rbx
movq 0x588(%rsp), %rdi
cmpq %r13, %rdi
je 0x8131
movq 0x598(%rsp), %rsi
jmp 0x8124
jmp 0x812e
jmp 0x8353
movq %rax, %rbx
movq 0x5a8(%rsp), %rdi
cmpq %r13, %rdi
je 0x8131
movq 0x5b8(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x8131
movq %rax, %rbx
movq 0x40(%rsp), %rdi
cmpq %r12, %rdi
jne 0x8240
jmp 0x8386
jmp 0x8353
movq %rax, %rbx
movq 0x7c8(%rsp), %rdi
cmpq %r13, %rdi
je 0x8393
movq 0x7d8(%rsp), %rsi
jmp 0x8327
movq %rax, %rbx
movq 0x5c8(%rsp), %rdi
cmpq %r14, %rdi
je 0x818f
movq 0x5d8(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x818f
movq %rax, %rbx
leaq 0x90(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x837c
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x837c
jmp 0x835a
movq %rax, %rbx
movq 0x5e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x81e3
movq 0x5f8(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x81e3
movq %rax, %rbx
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x8048
jmp 0x836f
jmp 0x835f
jmp 0x835a
jmp 0x8353
movq %rax, %rbx
movq 0x608(%rsp), %rdi
cmpq %r14, %rdi
je 0x822e
movq 0x618(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x822e
movq %rax, %rbx
leaq 0x50(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x8386
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x8386
jmp 0x8353
movq %rax, %rbx
movq 0x7e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x8393
movq 0x7f8(%rsp), %rsi
jmp 0x8327
movq %rax, %rbx
movq 0x628(%rsp), %rdi
cmpq %r14, %rdi
je 0x836f
movq 0x638(%rsp), %rsi
jmp 0x804d
jmp 0x835f
jmp 0x835a
movq %rax, %rbx
movq 0x648(%rsp), %rdi
cmpq %r14, %rdi
je 0x837c
movq 0x658(%rsp), %rsi
jmp 0x81ac
jmp 0x835a
jmp 0x8353
movq %rax, %rbx
movq 0x668(%rsp), %rdi
cmpq %r14, %rdi
je 0x8386
movq 0x678(%rsp), %rsi
jmp 0x8245
jmp 0x8353
movq %rax, %rbx
movq 0x808(%rsp), %rdi
cmpq %r14, %rdi
je 0x8393
movq 0x818(%rsp), %rsi
jmp 0x8327
movq %rax, %rbx
movq 0x828(%rsp), %rdi
cmpq %r14, %rdi
je 0x8393
movq 0x838(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x8393
jmp 0x8353
jmp 0x835a
jmp 0x835a
jmp 0x835f
jmp 0x835f
jmp 0x835f
jmp 0x835f
jmp 0x835a
jmp 0x8353
jmp 0x835a
jmp 0x8353
jmp 0x835a
jmp 0x8364
jmp 0x8353
jmp 0x8353
jmp 0x8353
jmp 0x8353
movq %rax, %rbx
jmp 0x8386
jmp 0x835f
movq %rax, %rbx
jmp 0x837c
movq %rax, %rbx
jmp 0x836f
movq %rax, %rbx
movq %rsp, %rdi
callq 0x28c2
leaq 0x80(%rsp), %rdi
callq 0x28c2
leaq 0x40(%rsp), %rdi
callq 0x28c2
leaq 0xc0(%rsp), %rdi
callq 0x28c2
movq %rbx, %rdi
callq 0x21f0