// File: /workspace/github_cpp_makefile_star2_O3/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 0x41c3(%rip), %rsi      # 0x919c
leaq 0x41cc(%rip), %rdx      # 0x91ac
leaq 0x828(%rsp), %rbx
movq %rbx, %rdi
callq 0x4d30
movq %rbx, %rdi
callq 0x4dc8
movq 0x828(%rsp), %rdi
cmpq %r14, %rdi
je 0x5015
movq 0x838(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x818(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x4185(%rip), %rsi      # 0x91ad
leaq 0x418a(%rip), %rdx      # 0x91b9
leaq 0x808(%rsp), %rbx
movq %rbx, %rdi
callq 0x4d30
movq %rbx, %rdi
callq 0x4dc8
movq 0x808(%rsp), %rdi
cmpq %r14, %rdi
je 0x5064
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 0x412d(%rip), %rsi      # 0x91ba
leaq 0x4140(%rip), %rdx      # 0x91d4
leaq 0x668(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
orl %ebx, %ebp
sete %dil
leaq 0x668(%rsp), %rsi
callq 0x4ea1
movq 0x668(%rsp), %rdi
cmpq %r14, %rdi
je 0x50d3
movq 0x678(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x40(%rsp), %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x26dc
movl 0x58(%rsp), %ebx
movl 0x5c(%rsp), %ebp
leaq 0x658(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x40d3(%rip), %rsi      # 0x91d5
leaq 0x40e8(%rip), %rdx      # 0x91f1
leaq 0x648(%rsp), %rdi
callq 0x4d30
xorl $0x1, %ebx
xorl $0x1, %ebp
xorl %edi, %edi
orl %ebx, %ebp
sete %dil
leaq 0x648(%rsp), %rsi
callq 0x4ea1
movq 0x648(%rsp), %rdi
cmpq %r14, %rdi
je 0x514e
movq 0x658(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x80(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x2848
movl 0x98(%rsp), %ebx
movl 0x9c(%rsp), %ebp
leaq 0x638(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x4071(%rip), %rsi      # 0x91f2
leaq 0x4084(%rip), %rdx      # 0x920c
leaq 0x628(%rsp), %rdi
callq 0x4d30
xorl $0x1, %ebx
xorl $0x1, %ebp
xorl %edi, %edi
orl %ebx, %ebp
sete %dil
leaq 0x628(%rsp), %rsi
callq 0x4ea1
movq 0x628(%rsp), %rdi
cmpq %r14, %rdi
je 0x51cd
movq 0x638(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x80(%rsp), %rdi
callq 0x289a
leaq 0x40(%rsp), %rdi
callq 0x289a
leaq 0xc0(%rsp), %rdi
callq 0x289a
addl $-0x3, 0x7f38(%rip)     # 0xd130
leaq 0x7f8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x4002(%rip), %rsi      # 0x920d
leaq 0x4000(%rip), %rdx      # 0x9212
leaq 0x7e8(%rsp), %rbx
movq %rbx, %rdi
callq 0x4d30
movq %rbx, %rdi
callq 0x4dc8
movq 0x7e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x5247
movq 0x7f8(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
movl $0x4, %esi
movl $0x4, %edx
callq 0x26dc
leaq 0x40(%rsp), %rdi
movq %rbx, %rsi
callq 0x2b22
leaq 0x3f9e(%rip), %rsi      # 0x9213
leaq 0x40(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x618(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x3f9f(%rip), %rsi      # 0x9233
leaq 0x3fa5(%rip), %rdx      # 0x9240
leaq 0x608(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x608(%rsp), %rsi
callq 0x4ea1
movq 0x608(%rsp), %rdi
cmpq %r14, %rdi
je 0x52da
movq 0x618(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x50(%rsp), %r12
movq -0x10(%r12), %rdi
cmpq %r12, %rdi
je 0x52f6
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 0x26dc
leaq 0x80(%rsp), %rdi
movsd 0x3d19(%rip), %xmm0     # 0x9040
callq 0x292a
movsd 0x3dbc(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x292a
movsd 0x3db4(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x292a
movsd 0x3dac(%rip), %xmm0     # 0x9100
movq %rax, %rdi
callq 0x292a
movsd 0x3da4(%rip), %xmm0     # 0x9108
movq %rax, %rdi
callq 0x292a
movsd 0x3d9c(%rip), %xmm0     # 0x9110
movq %rax, %rdi
callq 0x292a
movsd 0x3d94(%rip), %xmm0     # 0x9118
movq %rax, %rdi
callq 0x292a
movsd 0x3d8c(%rip), %xmm0     # 0x9120
movq %rax, %rdi
callq 0x292a
movsd 0x3d84(%rip), %xmm0     # 0x9128
movq %rax, %rdi
callq 0x292a
movsd 0x3d7c(%rip), %xmm0     # 0x9130
movq %rax, %rdi
callq 0x292a
movsd 0x3d74(%rip), %xmm0     # 0x9138
movq %rax, %rdi
callq 0x292a
movsd 0x3d6c(%rip), %xmm0     # 0x9140
movq %rax, %rdi
callq 0x292a
movsd 0x3d64(%rip), %xmm0     # 0x9148
movq %rax, %rdi
callq 0x292a
movsd 0x3d5c(%rip), %xmm0     # 0x9150
movq %rax, %rdi
callq 0x292a
movsd 0x3d54(%rip), %xmm0     # 0x9158
movq %rax, %rdi
callq 0x292a
movsd 0x3d4c(%rip), %xmm0     # 0x9160
movq %rax, %rdi
callq 0x292a
movq %rsp, %rdi
leaq 0x80(%rsp), %rsi
callq 0x2b22
leaq 0x3e0e(%rip), %rsi      # 0x9241
movq %rsp, %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x5f8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x3e18(%rip), %rsi      # 0x9268
leaq 0x3e1b(%rip), %rdx      # 0x9272
leaq 0x5e8(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x5e8(%rsp), %rsi
callq 0x4ea1
movq 0x5e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x5496
movq 0x5f8(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x10(%rsp), %r15
movq -0x10(%r15), %rdi
cmpq %r15, %rdi
je 0x54b1
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x40(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x415e
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 0x289a
leaq 0x80(%rsp), %rdi
movq %rbx, %rsi
callq 0x2b22
leaq 0x3d3d(%rip), %rsi      # 0x9241
leaq 0x80(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x5d8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x3d4d(%rip), %rsi      # 0x9273
leaq 0x3d4f(%rip), %rdx      # 0x927c
leaq 0x5c8(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x5c8(%rsp), %rsi
callq 0x4ea1
movq 0x5c8(%rsp), %rdi
cmpq %r14, %rdi
je 0x556c
movq 0x5d8(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x90(%rsp), %r14
movq -0x10(%r14), %rdi
cmpq %r14, %rdi
je 0x558d
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x40(%rsp), %rdi
callq 0x289a
leaq 0xc0(%rsp), %rdi
callq 0x289a
addl $-0x3, 0x7b85(%rip)     # 0xd130
leaq 0x7d8(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x3cbf(%rip), %rsi      # 0x927d
leaq 0x3cbe(%rip), %rdx      # 0x9283
leaq 0x7c8(%rsp), %rbx
movq %rbx, %rdi
callq 0x4d30
movq %rbx, %rdi
callq 0x4dc8
movq 0x7c8(%rsp), %rdi
cmpq %r13, %rdi
je 0x55fa
movq 0x7d8(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
movl $0x2, %esi
movl $0x2, %edx
callq 0x26dc
movsd 0x3a24(%rip), %xmm0     # 0x9040
movq %rbx, %rdi
callq 0x292a
movsd 0x3ac4(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x292a
movsd 0x3abc(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x292a
movsd 0x3ab4(%rip), %xmm0     # 0x9100
movq %rax, %rdi
callq 0x292a
leaq 0xc0(%rsp), %rdi
movl $0x2, %esi
movl $0x2, %edx
callq 0x240e
leaq 0x40(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x2b22
leaq 0x3c00(%rip), %rsi      # 0x9284
leaq 0x40(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x5b8(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x3be9(%rip), %rsi      # 0x928c
leaq 0x3bf3(%rip), %rdx      # 0x929d
leaq 0x5a8(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x5a8(%rsp), %rsi
callq 0x4ea1
movq 0x5a8(%rsp), %rdi
cmpq %r13, %rdi
je 0x56e9
movq 0x5b8(%rsp), %rsi
incq %rsi
callq 0x2140
movq 0x40(%rsp), %rdi
cmpq %r12, %rdi
je 0x5700
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 0x2b22
leaq 0x3b6e(%rip), %rsi      # 0x929e
leaq 0x40(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x598(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x3b61(%rip), %rsi      # 0x92b0
leaq 0x3b6b(%rip), %rdx      # 0x92c1
leaq 0x588(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x588(%rsp), %rsi
callq 0x4ea1
movq 0x588(%rsp), %rdi
cmpq %r13, %rdi
je 0x5795
movq 0x598(%rsp), %rsi
incq %rsi
callq 0x2140
movq 0x40(%rsp), %rdi
cmpq %r12, %rdi
je 0x57ac
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rdi
callq 0x2a7c
leaq 0xc0(%rsp), %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x240e
leaq 0x40(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x2b22
leaq 0x3d60(%rip), %rsi      # 0x9549
leaq 0x40(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x578(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x3aba(%rip), %rsi      # 0x92c2
leaq 0x3ac6(%rip), %rdx      # 0x92d5
leaq 0x568(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x568(%rsp), %rsi
callq 0x4ea1
movq 0x568(%rsp), %rdi
cmpq %r13, %rdi
je 0x584e
movq 0x578(%rsp), %rsi
incq %rsi
callq 0x2140
movq 0x40(%rsp), %rdi
cmpq %r12, %rdi
je 0x5865
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 0x289a
addl $-0x3, 0x78a0(%rip)     # 0xd130
leaq 0x7b8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x3a32(%rip), %rsi      # 0x92d6
leaq 0x3a34(%rip), %rdx      # 0x92df
leaq 0x7a8(%rsp), %rbx
movq %rbx, %rdi
callq 0x4d30
movq %rbx, %rdi
callq 0x4dc8
movq 0x7a8(%rsp), %rdi
cmpq %r12, %rdi
je 0x58e0
movq 0x7b8(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
movl $0x3, %esi
movl $0x3, %edx
callq 0x26dc
movsd 0x373e(%rip), %xmm0     # 0x9040
movq %rbx, %rdi
callq 0x292a
movsd 0x37de(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x292a
movsd 0x37d6(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x292a
movsd 0x37ce(%rip), %xmm0     # 0x9100
movq %rax, %rdi
callq 0x292a
movsd 0x37c6(%rip), %xmm0     # 0x9108
movq %rax, %rdi
callq 0x292a
movsd 0x37be(%rip), %xmm0     # 0x9110
movq %rax, %rdi
callq 0x292a
movsd 0x37b6(%rip), %xmm0     # 0x9118
movq %rax, %rdi
callq 0x292a
movsd 0x37ae(%rip), %xmm0     # 0x9120
movq %rax, %rdi
callq 0x292a
movsd 0x37a6(%rip), %xmm0     # 0x9128
movq %rax, %rdi
callq 0x292a
leaq 0x40(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
movl $0x1, %edx
movl $0x1, %ecx
movl $0x2, %r8d
movl $0x2, %r9d
callq 0x32ca
leaq 0x80(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x2b22
leaq 0x3915(%rip), %rsi      # 0x92e0
leaq 0x80(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x558(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x38fa(%rip), %rsi      # 0x92e8
leaq 0x3902(%rip), %rdx      # 0x92f7
leaq 0x548(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x548(%rsp), %rsi
callq 0x4ea1
movq 0x548(%rsp), %rdi
cmpq %r12, %rdi
je 0x5a34
movq 0x558(%rsp), %rsi
incq %rsi
callq 0x2140
movq 0x80(%rsp), %rdi
cmpq %r14, %rdi
je 0x5a51
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 0x32ca
movq %rsp, %rdi
leaq 0x80(%rsp), %rsi
callq 0x2b22
leaq 0x3865(%rip), %rsi      # 0x92f8
movq %rsp, %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x538(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x384f(%rip), %rsi      # 0x9300
leaq 0x385a(%rip), %rdx      # 0x9312
leaq 0x528(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x528(%rsp), %rsi
callq 0x4ea1
movq 0x528(%rsp), %rdi
cmpq %r12, %rdi
je 0x5af7
movq 0x538(%rsp), %rsi
incq %rsi
callq 0x2140
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x5b0d
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 0x3384
movq %rsp, %rdi
movq %rax, %rsi
callq 0x2b22
leaq 0x37d2(%rip), %rsi      # 0x9313
movq %rsp, %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x518(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x37c0(%rip), %rsi      # 0x931f
leaq 0x37cc(%rip), %rdx      # 0x9332
leaq 0x508(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x508(%rsp), %rsi
callq 0x4ea1
movq 0x508(%rsp), %rdi
cmpq %r12, %rdi
je 0x5ba5
movq 0x518(%rsp), %rsi
incq %rsi
callq 0x2140
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x5bbb
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 0x3384
movq %rsp, %rdi
movq %rax, %rsi
callq 0x2b22
leaq 0x3744(%rip), %rsi      # 0x9333
movq %rsp, %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x4f8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x372a(%rip), %rsi      # 0x9337
leaq 0x3739(%rip), %rdx      # 0x934d
leaq 0x4e8(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x4e8(%rsp), %rsi
callq 0x4ea1
movq 0x4e8(%rsp), %rdi
cmpq %r12, %rdi
je 0x5c53
movq 0x4f8(%rsp), %rsi
incq %rsi
callq 0x2140
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x5c69
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x80(%rsp), %rdi
callq 0x289a
leaq 0x40(%rsp), %rdi
callq 0x289a
leaq 0xc0(%rsp), %rdi
callq 0x289a
addl $-0x6, 0x749c(%rip)     # 0xd130
leaq 0x798(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x36a6(%rip), %rsi      # 0x934e
leaq 0x36b5(%rip), %rdx      # 0x9364
leaq 0x788(%rsp), %rbx
movq %rbx, %rdi
callq 0x4d30
movq %rbx, %rdi
callq 0x4dc8
movq 0x788(%rsp), %rdi
cmpq %r12, %rdi
je 0x5ce4
movq 0x798(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x778(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x366d(%rip), %rsi      # 0x9365
leaq 0x366e(%rip), %rdx      # 0x936d
leaq 0x768(%rsp), %rbx
movq %rbx, %rdi
callq 0x4d30
movq %rbx, %rdi
callq 0x4dc8
movq 0x768(%rsp), %rdi
cmpq %r12, %rdi
je 0x5d34
movq 0x778(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
movl $0x2, %esi
movl $0x2, %edx
callq 0x26dc
movsd 0x32ea(%rip), %xmm0     # 0x9040
movq %rbx, %rdi
callq 0x292a
movsd 0x338a(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x292a
movsd 0x3382(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x292a
movsd 0x337a(%rip), %xmm0     # 0x9100
movq %rax, %rdi
callq 0x292a
leaq 0x40(%rsp), %rdi
movl $0x2, %esi
movl $0x2, %edx
callq 0x26dc
leaq 0x40(%rsp), %rdi
movsd 0x3351(%rip), %xmm0     # 0x9100
callq 0x292a
movsd 0x333c(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x292a
movsd 0x3324(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x292a
movsd 0x3264(%rip), %xmm0     # 0x9040
movq %rax, %rdi
callq 0x292a
leaq 0x80(%rsp), %rdi
leaq 0x40(%rsp), %rsi
leaq 0xc0(%rsp), %rdx
callq 0x348c
movq %rsp, %rdi
leaq 0x80(%rsp), %rsi
callq 0x2b22
leaq 0x3559(%rip), %rsi      # 0x936e
movq %rsp, %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x4d8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x3543(%rip), %rsi      # 0x9376
leaq 0x354a(%rip), %rdx      # 0x9384
leaq 0x4c8(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x4c8(%rsp), %rsi
callq 0x4ea1
movq 0x4c8(%rsp), %rdi
cmpq %r12, %rdi
je 0x5e79
movq 0x4d8(%rsp), %rsi
incq %rsi
callq 0x2140
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x5e8f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2140
movq %rsp, %rdi
leaq 0xc0(%rsp), %rsi
leaq 0x40(%rsp), %rdx
callq 0x348c
leaq 0x80(%rsp), %rdi
movq %rsp, %rsi
callq 0x415e
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 0x289a
movq %rsp, %rdi
movq %rbx, %rsi
callq 0x2b22
leaq 0x3480(%rip), %rsi      # 0x936e
movq %rsp, %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x4b8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x3479(%rip), %rsi      # 0x9385
leaq 0x3488(%rip), %rdx      # 0x939b
leaq 0x4a8(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x4a8(%rsp), %rsi
callq 0x4ea1
movq 0x4a8(%rsp), %rdi
cmpq %r12, %rdi
je 0x5f52
movq 0x4b8(%rsp), %rsi
incq %rsi
callq 0x2140
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x5f68
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 0x348c
leaq 0x80(%rsp), %rdi
movq %rsp, %rsi
callq 0x415e
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 0x289a
movb 0x19(%rbx), %bpl
leaq 0x498(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x33bc(%rip), %rsi      # 0x939c
leaq 0x33d2(%rip), %rdx      # 0x93b9
leaq 0x488(%rsp), %rdi
callq 0x4d30
movzbl %bpl, %edi
leaq 0x488(%rsp), %rsi
callq 0x4ea1
movq 0x488(%rsp), %rdi
cmpq %r12, %rdi
je 0x6022
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 0x348c
leaq 0x80(%rsp), %rdi
movq %rsp, %rsi
callq 0x415e
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 0x289a
movq %rsp, %rdi
leaq 0x80(%rsp), %rsi
callq 0x2b22
leaq 0x3329(%rip), %rsi      # 0x93ba
movq %rsp, %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x478(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x3313(%rip), %rsi      # 0x93c2
leaq 0x3329(%rip), %rdx      # 0x93df
leaq 0x468(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x468(%rsp), %rsi
callq 0x4ea1
movq 0x468(%rsp), %rdi
cmpq %r12, %rdi
je 0x60f5
movq 0x478(%rsp), %rsi
incq %rsi
callq 0x2140
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x610b
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2140
movq %rsp, %rdi
leaq 0xc0(%rsp), %rsi
callq 0x2b22
leaq 0x3162(%rip), %rsi      # 0x9284
movq %rsp, %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x458(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x32a0(%rip), %rsi      # 0x93e0
leaq 0x32b5(%rip), %rdx      # 0x93fc
leaq 0x448(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x448(%rsp), %rsi
callq 0x4ea1
movq 0x448(%rsp), %rdi
cmpq %r12, %rdi
je 0x6186
movq 0x458(%rsp), %rsi
incq %rsi
callq 0x2140
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x619c
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x3506
movq %rsp, %rdi
leaq 0xc0(%rsp), %rsi
callq 0x2b22
leaq 0x31f5(%rip), %rsi      # 0x93ba
movq %rsp, %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x438(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x321a(%rip), %rsi      # 0x93fd
leaq 0x3226(%rip), %rdx      # 0x9410
leaq 0x428(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x428(%rsp), %rsi
callq 0x4ea1
movq 0x428(%rsp), %rdi
cmpq %r12, %rdi
je 0x6229
movq 0x438(%rsp), %rsi
incq %rsi
callq 0x2140
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x623f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x80(%rsp), %rdi
callq 0x289a
leaq 0x40(%rsp), %rdi
callq 0x289a
leaq 0xc0(%rsp), %rdi
callq 0x289a
addl $-0x3, 0x6ec6(%rip)     # 0xd130
leaq 0x758(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x3193(%rip), %rsi      # 0x9411
leaq 0x3197(%rip), %rdx      # 0x941c
leaq 0x748(%rsp), %rbx
movq %rbx, %rdi
callq 0x4d30
movq %rbx, %rdi
callq 0x4dc8
movq 0x748(%rsp), %rdi
cmpq %r12, %rdi
je 0x62ba
movq 0x758(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
movl $0x2, %esi
movl $0x2, %edx
callq 0x26dc
movsd 0x2d64(%rip), %xmm0     # 0x9040
movq %rbx, %rdi
callq 0x292a
movsd 0x2e04(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x292a
movsd 0x2dfc(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x292a
movsd 0x2df4(%rip), %xmm0     # 0x9100
movq %rax, %rdi
callq 0x292a
leaq 0x40(%rsp), %rdi
movl $0x2, %esi
movl $0x2, %edx
callq 0x26dc
leaq 0x40(%rsp), %rdi
movsd 0x2d0b(%rip), %xmm0     # 0x9040
callq 0x292a
movsd 0x2cfe(%rip), %xmm0     # 0x9040
movq %rax, %rdi
callq 0x292a
movsd 0x2cee(%rip), %xmm0     # 0x9040
movq %rax, %rdi
callq 0x292a
movsd 0x2cde(%rip), %xmm0     # 0x9040
movq %rax, %rdi
callq 0x292a
leaq 0x80(%rsp), %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x26dc
movq %rsp, %rdi
leaq 0xc0(%rsp), %rsi
leaq 0x40(%rsp), %rdx
callq 0x358c
leaq 0x108(%rsp), %rdi
movq %rsp, %rsi
callq 0x2b22
leaq 0x3070(%rip), %rsi      # 0x941d
leaq 0x108(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x418(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x3055(%rip), %rsi      # 0x9425
leaq 0x305f(%rip), %rdx      # 0x9436
leaq 0x408(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x408(%rsp), %rsi
callq 0x4ea1
movq 0x408(%rsp), %rdi
cmpq %r12, %rdi
je 0x6416
movq 0x418(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x118(%rsp), %r12
movq -0x10(%r12), %rdi
cmpq %r12, %rdi
je 0x6438
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x2140
movq %rsp, %rdi
callq 0x289a
movq %rsp, %rdi
leaq 0x40(%rsp), %rsi
leaq 0xc0(%rsp), %rdx
callq 0x358c
leaq 0x108(%rsp), %rdi
movq %rsp, %rsi
callq 0x2b22
leaq 0x2fb1(%rip), %rsi      # 0x941d
leaq 0x108(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x3f8(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x2fa9(%rip), %rsi      # 0x9437
leaq 0x2fbf(%rip), %rdx      # 0x9454
leaq 0x3e8(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
setne %dil
leaq 0x3e8(%rsp), %rsi
callq 0x4ea1
movq 0x3e8(%rsp), %rdi
cmpq %r13, %rdi
je 0x64d4
movq 0x3f8(%rsp), %rsi
incq %rsi
callq 0x2140
movq 0x108(%rsp), %rdi
cmpq %r12, %rdi
je 0x64f1
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x2140
movq %rsp, %rdi
callq 0x289a
movq %rsp, %rdi
leaq 0x40(%rsp), %rsi
leaq 0x80(%rsp), %rdx
callq 0x348c
leaq 0x80(%rsp), %rdi
movq %rsp, %rsi
callq 0x415e
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 0x289a
movb 0xb1(%rsp), %bl
leaq 0x3d8(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x2ef1(%rip), %rsi      # 0x9455
leaq 0x2f0c(%rip), %rdx      # 0x9477
leaq 0x3c8(%rsp), %rdi
callq 0x4d30
movzbl %bl, %edi
leaq 0x3c8(%rsp), %rsi
callq 0x4ea1
movq 0x3c8(%rsp), %rdi
cmpq %r13, %rdi
je 0x65a5
movq 0x3d8(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x35e6
movq %rsp, %rdi
leaq 0xc0(%rsp), %rsi
callq 0x2b22
leaq 0x2e4f(%rip), %rsi      # 0x941d
movq %rsp, %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x3b8(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x2e8d(%rip), %rsi      # 0x9478
leaq 0x2e9c(%rip), %rdx      # 0x948e
leaq 0x3a8(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x3a8(%rsp), %rsi
callq 0x4ea1
movq 0x3a8(%rsp), %rdi
cmpq %r13, %rdi
je 0x6631
movq 0x3b8(%rsp), %rsi
incq %rsi
callq 0x2140
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x6647
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x80(%rsp), %rdi
callq 0x289a
leaq 0x40(%rsp), %rdi
callq 0x289a
leaq 0xc0(%rsp), %rdi
callq 0x289a
addl $-0x3, 0x6abe(%rip)     # 0xd130
leaq 0x738(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2e0a(%rip), %rsi      # 0x948f
leaq 0x2e11(%rip), %rdx      # 0x949d
leaq 0x728(%rsp), %rbx
movq %rbx, %rdi
callq 0x4d30
movq %rbx, %rdi
callq 0x4dc8
movq 0x728(%rsp), %rdi
cmpq %r15, %rdi
je 0x66c1
movq 0x738(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
movl $0x2, %esi
movl $0x3, %edx
callq 0x26dc
movsd 0x2a0d(%rip), %xmm0     # 0x90f0
movq %rbx, %rdi
callq 0x292a
movsd 0x2a0d(%rip), %xmm0     # 0x9100
movq %rax, %rdi
callq 0x292a
movsd 0x29f5(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x292a
movsd 0x2a55(%rip), %xmm0     # 0x9168
movq %rax, %rdi
callq 0x292a
movsd 0x29d5(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x292a
movsd 0x290d(%rip), %xmm0     # 0x9040
movq %rax, %rdi
callq 0x292a
leaq 0x40(%rsp), %rdi
movl $0x3, %esi
movl $0x4, %edx
callq 0x26dc
leaq 0x40(%rsp), %rdi
movsd 0x2994(%rip), %xmm0     # 0x90f0
callq 0x292a
movsd 0x2997(%rip), %xmm0     # 0x9100
movq %rax, %rdi
callq 0x292a
movsd 0x298f(%rip), %xmm0     # 0x9108
movq %rax, %rdi
callq 0x292a
movsd 0x2987(%rip), %xmm0     # 0x9110
movq %rax, %rdi
callq 0x292a
movsd 0x29cf(%rip), %xmm0     # 0x9168
movq %rax, %rdi
callq 0x292a
movsd 0x2897(%rip), %xmm0     # 0x9040
movq %rax, %rdi
callq 0x292a
movsd 0x29af(%rip), %xmm0     # 0x9168
movq %rax, %rdi
callq 0x292a
movsd 0x2877(%rip), %xmm0     # 0x9040
movq %rax, %rdi
callq 0x292a
movsd 0x2997(%rip), %xmm0     # 0x9170
movq %rax, %rdi
callq 0x292a
movsd 0x2987(%rip), %xmm0     # 0x9170
movq %rax, %rdi
callq 0x292a
movsd 0x2977(%rip), %xmm0     # 0x9170
movq %rax, %rdi
callq 0x292a
movsd 0x2837(%rip), %xmm0     # 0x9040
movq %rax, %rdi
callq 0x292a
leaq 0x80(%rsp), %rdi
movl $0x2, %esi
movl $0x2, %edx
callq 0x26dc
leaq 0x80(%rsp), %rdi
movsd 0x2808(%rip), %xmm0     # 0x9040
callq 0x292a
movsd 0x28ab(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x292a
movsd 0x28ab(%rip), %xmm0     # 0x9100
movq %rax, %rdi
callq 0x292a
movsd 0x27db(%rip), %xmm0     # 0x9040
movq %rax, %rdi
callq 0x292a
movq %rsp, %rdi
movl $0x2, %esi
movl $0x2, %edx
callq 0x26dc
movq %rsp, %rdi
movsd 0x286e(%rip), %xmm0     # 0x90f8
callq 0x292a
movsd 0x27a9(%rip), %xmm0     # 0x9040
movq %rax, %rdi
callq 0x292a
movsd 0x2851(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x292a
xorpd %xmm0, %xmm0
movq %rax, %rdi
callq 0x292a
leaq 0x108(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
leaq 0x40(%rsp), %rdx
callq 0x36de
leaq 0x148(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x2b22
leaq 0x2bad(%rip), %rsi      # 0x949e
leaq 0x148(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x398(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2ba9(%rip), %rsi      # 0x94bc
leaq 0x2bb6(%rip), %rdx      # 0x94d0
leaq 0x388(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x388(%rsp), %rsi
callq 0x4ea1
movq 0x388(%rsp), %rdi
cmpq %r15, %rdi
je 0x6959
movq 0x398(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x158(%rsp), %r15
movq -0x10(%r15), %rdi
cmpq %r15, %rdi
je 0x697a
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x108(%rsp), %rdi
callq 0x289a
leaq 0x108(%rsp), %rdi
leaq 0x40(%rsp), %rsi
leaq 0xc0(%rsp), %rdx
callq 0x36de
movb 0x139(%rsp), %bl
leaq 0x378(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x2b16(%rip), %rsi      # 0x94d1
leaq 0x2b31(%rip), %rdx      # 0x94f3
leaq 0x368(%rsp), %rdi
callq 0x4d30
movzbl %bl, %edi
leaq 0x368(%rsp), %rsi
callq 0x4ea1
movq 0x368(%rsp), %rdi
cmpq %r13, %rdi
je 0x69fc
movq 0x378(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x108(%rsp), %rdi
callq 0x289a
leaq 0x108(%rsp), %rdi
leaq 0x80(%rsp), %rsi
movq %rsp, %rdx
callq 0x36de
leaq 0x188(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x2b22
leaq 0x148(%rsp), %rdi
movq %rsp, %rsi
leaq 0x80(%rsp), %rdx
callq 0x36de
leaq 0x348(%rsp), %rdi
leaq 0x148(%rsp), %rsi
callq 0x2b22
movq 0x190(%rsp), %rdx
movb $0x1, %bl
cmpq 0x350(%rsp), %rdx
jne 0x6a9a
testq %rdx, %rdx
je 0x6a98
movq 0x348(%rsp), %rsi
movq 0x188(%rsp), %rdi
callq 0x2150
testl %eax, %eax
setne %bl
jmp 0x6a9a
xorl %ebx, %ebx
leaq 0x338(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x2a47(%rip), %rsi      # 0x94f4
leaq 0x2a60(%rip), %rdx      # 0x9514
leaq 0x328(%rsp), %rdi
callq 0x4d30
movzbl %bl, %edi
leaq 0x328(%rsp), %rsi
callq 0x4ea1
movq 0x328(%rsp), %rdi
cmpq %r13, %rdi
je 0x6aee
movq 0x338(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x358(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6b0f
movq 0x358(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x148(%rsp), %rdi
callq 0x289a
leaq 0x198(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6b3d
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x108(%rsp), %rdi
callq 0x289a
movabsq $0x4000000000000000, %r13 # imm = 0x4000000000000000
leaq 0x188(%rsp), %rdx
movq %r13, (%rdx)
leaq 0x108(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x2cd4
leaq 0x148(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x2b22
leaq 0x2985(%rip), %rsi      # 0x9515
leaq 0x148(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x318(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x2970(%rip), %rsi      # 0x9522
leaq 0x2984(%rip), %rdx      # 0x953d
leaq 0x308(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x308(%rsp), %rsi
callq 0x4ea1
movq 0x308(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6bf8
movq 0x318(%rsp), %rsi
incq %rsi
callq 0x2140
movq 0x148(%rsp), %rdi
cmpq %r15, %rdi
je 0x6c15
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x108(%rsp), %rdi
callq 0x289a
leaq 0x108(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x2b22
leaq 0x2900(%rip), %rsi      # 0x953e
leaq 0x108(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x2f8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x28eb(%rip), %rsi      # 0x954b
leaq 0x2906(%rip), %rdx      # 0x956d
leaq 0x2e8(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x2e8(%rsp), %rsi
callq 0x4ea1
movq 0x2e8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6ca6
movq 0x2f8(%rsp), %rsi
incq %rsi
callq 0x2140
movq 0x108(%rsp), %rdi
cmpq %r12, %rdi
je 0x6cc3
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x80(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x37b6
leaq 0x108(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x2b22
leaq 0x287a(%rip), %rsi      # 0x956e
leaq 0x108(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x2d8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2868(%rip), %rsi      # 0x957e
leaq 0x2879(%rip), %rdx      # 0x9596
leaq 0x2c8(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x2c8(%rsp), %rsi
callq 0x4ea1
movq 0x2c8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6d5c
movq 0x2d8(%rsp), %rsi
incq %rsi
callq 0x2140
movq 0x108(%rsp), %rdi
cmpq %r12, %rdi
je 0x6d79
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x108(%rsp), %rsi
movq %r13, (%rsi)
leaq 0x80(%rsp), %rdi
callq 0x3828
leaq 0x108(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x2b22
leaq 0x27ea(%rip), %rsi      # 0x9597
leaq 0x108(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x2b8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x27da(%rip), %rsi      # 0x95a9
leaq 0x27f2(%rip), %rdx      # 0x95c8
leaq 0x2a8(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x2a8(%rsp), %rsi
callq 0x4ea1
movq 0x2a8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6e15
movq 0x2b8(%rsp), %rsi
incq %rsi
callq 0x2140
movq 0x108(%rsp), %rdi
cmpq %r12, %rdi
je 0x6e32
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x2140
movq %rsp, %rdi
callq 0x289a
leaq 0x80(%rsp), %rdi
callq 0x289a
leaq 0x40(%rsp), %rdi
callq 0x289a
leaq 0xc0(%rsp), %rdi
callq 0x289a
addl $-0x3, 0x62cb(%rip)     # 0xd130
leaq 0x718(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2751(%rip), %rsi      # 0x95c9
leaq 0x2752(%rip), %rdx      # 0x95d1
leaq 0x708(%rsp), %rbx
movq %rbx, %rdi
callq 0x4d30
movq %rbx, %rdi
callq 0x4dc8
movq 0x708(%rsp), %rdi
cmpq %r15, %rdi
je 0x6eb4
movq 0x718(%rsp), %rsi
incq %rsi
callq 0x2140
addl $-0x3, 0x6275(%rip)     # 0xd130
leaq 0x6f8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2704(%rip), %rsi      # 0x95d2
leaq 0x2705(%rip), %rdx      # 0x95da
leaq 0x6e8(%rsp), %rbx
movq %rbx, %rdi
callq 0x4d30
movq %rbx, %rdi
callq 0x4dc8
movq 0x6e8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6f0a
movq 0x6f8(%rsp), %rsi
incq %rsi
callq 0x2140
addl $-0x3, 0x621f(%rip)     # 0xd130
leaq 0x6d8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x26b7(%rip), %rsi      # 0x95db
leaq 0x26b9(%rip), %rdx      # 0x95e4
leaq 0x6c8(%rsp), %rbx
movq %rbx, %rdi
callq 0x4d30
movq %rbx, %rdi
callq 0x4dc8
movq 0x6c8(%rsp), %rdi
cmpq %r15, %rdi
je 0x6f60
movq 0x6d8(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
movl $0x2, %esi
movl $0x3, %edx
callq 0x26dc
movsd 0x217e(%rip), %xmm0     # 0x9100
movq %rbx, %rdi
callq 0x292a
movsd 0x2166(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x292a
movsd 0x214e(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x292a
movsd 0x208e(%rip), %xmm0     # 0x9040
movq %rax, %rdi
callq 0x292a
movsd 0x2146(%rip), %xmm0     # 0x9108
movq %rax, %rdi
callq 0x292a
movsd 0x213e(%rip), %xmm0     # 0x9110
movq %rax, %rdi
callq 0x292a
leaq 0x40(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x3e64
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 0x25ce(%rip), %rsi      # 0x95e5
leaq 0x25d6(%rip), %rdx      # 0x95f4
leaq 0x288(%rsp), %rdi
callq 0x4d30
xorl %r13d, %ebx
xorl %r12d, %ebp
xorl %edi, %edi
orl %ebx, %ebp
sete %dil
leaq 0x288(%rsp), %rsi
callq 0x4ea1
movq 0x288(%rsp), %rdi
cmpq %r15, %rdi
je 0x7063
movq 0x298(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rdi
callq 0x3ed8
leaq 0xc0(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x28a0
movl %eax, %ebx
leaq 0x278(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x255e(%rip), %rsi      # 0x95f5
leaq 0x256a(%rip), %rdx      # 0x9608
leaq 0x268(%rsp), %rdi
callq 0x4d30
movzbl %bl, %edi
leaq 0x268(%rsp), %rsi
callq 0x4ea1
movq 0x268(%rsp), %rdi
cmpq %r15, %rdi
je 0x70d8
movq 0x278(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x40(%rsp), %rdi
callq 0x289a
leaq 0xc0(%rsp), %rdi
callq 0x289a
addl $-0x3, 0x603a(%rip)     # 0xd130
leaq 0x6b8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2500(%rip), %rsi      # 0x9609
leaq 0x2500(%rip), %rdx      # 0x9610
leaq 0x6a8(%rsp), %rbx
movq %rbx, %rdi
callq 0x4d30
movq %rbx, %rdi
callq 0x4dc8
movq 0x6a8(%rsp), %rdi
cmpq %r15, %rdi
je 0x7145
movq 0x6b8(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
movl $0x3, %esi
movl $0x3, %edx
callq 0x26dc
xorpd %xmm0, %xmm0
movq %rbx, %rdi
callq 0x292a
movsd 0x1ecd(%rip), %xmm0     # 0x9040
movq %rax, %rdi
callq 0x292a
movsd 0x1f6d(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x292a
movsd 0x1ead(%rip), %xmm0     # 0x9040
movq %rax, %rdi
callq 0x292a
xorpd %xmm0, %xmm0
movq %rax, %rdi
callq 0x292a
movsd 0x1f49(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x292a
movsd 0x1f41(%rip), %xmm0     # 0x9100
movq %rax, %rdi
callq 0x292a
movsd 0x1fa9(%rip), %xmm0     # 0x9178
movq %rax, %rdi
callq 0x292a
movsd 0x1f41(%rip), %xmm0     # 0x9120
movq %rax, %rdi
callq 0x292a
leaq 0x40(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x3d7e
leaq 0x80(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x2b22
leaq 0x23ff(%rip), %rsi      # 0x9611
leaq 0x80(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x258(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x23d5(%rip), %rsi      # 0x9609
leaq 0x23d5(%rip), %rdx      # 0x9610
leaq 0x248(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x248(%rsp), %rsi
callq 0x4ea1
movq 0x248(%rsp), %rdi
cmpq %r15, %rdi
je 0x727a
movq 0x258(%rsp), %rsi
incq %rsi
callq 0x2140
movq 0x80(%rsp), %rdi
cmpq %r14, %rdi
je 0x7297
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rdi
callq 0x3df2
leaq 0x80(%rsp), %rdi
movq %rax, %rsi
callq 0x2b22
leaq 0x2356(%rip), %rsi      # 0x9611
leaq 0x80(%rsp), %rdi
callq 0x2050
movl %eax, %ebx
leaq 0x238(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2353(%rip), %rsi      # 0x9630
leaq 0x235d(%rip), %rdx      # 0x9641
leaq 0x228(%rsp), %rdi
callq 0x4d30
xorl %edi, %edi
testl %ebx, %ebx
sete %dil
leaq 0x228(%rsp), %rsi
callq 0x4ea1
movq 0x228(%rsp), %rdi
cmpq %r15, %rdi
je 0x7323
movq 0x238(%rsp), %rsi
incq %rsi
callq 0x2140
movq 0x80(%rsp), %rdi
cmpq %r14, %rdi
je 0x7340
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x40(%rsp), %rdi
callq 0x289a
leaq 0xc0(%rsp), %rdi
callq 0x289a
addl $-0x3, 0x5dd2(%rip)     # 0xd130
leaq 0x698(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x22d1(%rip), %rsi      # 0x9642
leaq 0x22d5(%rip), %rdx      # 0x964d
leaq 0x688(%rsp), %rbx
movq %rbx, %rdi
callq 0x4d30
movq %rbx, %rdi
callq 0x4dc8
movq 0x688(%rsp), %rdi
cmpq %r14, %rdi
je 0x73ad
movq 0x698(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x26dc
movsd 0x1c71(%rip), %xmm0     # 0x9040
movq %rbx, %rdi
callq 0x292a
leaq 0xc0(%rsp), %rdi
callq 0x3ede
movsd %xmm0, 0x100(%rsp)
leaq 0x218(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x224e(%rip), %rsi      # 0x964e
leaq 0x225b(%rip), %rdx      # 0x9662
leaq 0x208(%rsp), %rdi
callq 0x4d30
movsd 0x100(%rsp), %xmm0
cmpeqsd 0x1c1a(%rip), %xmm0     # 0x9040
movq %xmm0, %rdi
andl $0x1, %edi
leaq 0x208(%rsp), %rsi
callq 0x4ea1
movq 0x208(%rsp), %rdi
cmpq %r14, %rdi
je 0x7458
movq 0x218(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x40(%rsp), %rdi
movl $0x2, %esi
movl $0x2, %edx
callq 0x26dc
leaq 0x40(%rsp), %rdi
movsd 0x1c7f(%rip), %xmm0     # 0x90f8
callq 0x292a
movsd 0x1c7a(%rip), %xmm0     # 0x9100
movq %rax, %rdi
callq 0x292a
movsd 0x1baa(%rip), %xmm0     # 0x9040
movq %rax, %rdi
callq 0x292a
movsd 0x1c4a(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x292a
leaq 0x40(%rsp), %rdi
callq 0x3ede
movsd %xmm0, 0x100(%rsp)
leaq 0x1f8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x218f(%rip), %rsi      # 0x9663
leaq 0x219c(%rip), %rdx      # 0x9677
leaq 0x1e8(%rsp), %rdi
callq 0x4d30
movsd 0x100(%rsp), %xmm0
cmpeqsd 0x1bf6(%rip), %xmm0     # 0x90f0
movq %xmm0, %rdi
andl $0x1, %edi
leaq 0x1e8(%rsp), %rsi
callq 0x4ea1
movq 0x1e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x752c
movq 0x1f8(%rsp), %rsi
incq %rsi
callq 0x2140
leaq 0x80(%rsp), %rdi
movl $0x3, %esi
movl $0x3, %edx
callq 0x26dc
leaq 0x80(%rsp), %rdi
movsd 0x1aed(%rip), %xmm0     # 0x9040
callq 0x292a
movsd 0x1b90(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x292a
xorpd %xmm0, %xmm0
movq %rax, %rdi
callq 0x292a
movsd 0x1b84(%rip), %xmm0     # 0x9100
movq %rax, %rdi
callq 0x292a
movsd 0x1b7c(%rip), %xmm0     # 0x9108
movq %rax, %rdi
callq 0x292a
movsd 0x1b74(%rip), %xmm0     # 0x9110
movq %rax, %rdi
callq 0x292a
movsd 0x1b6c(%rip), %xmm0     # 0x9118
movq %rax, %rdi
callq 0x292a
movsd 0x1b64(%rip), %xmm0     # 0x9120
movq %rax, %rdi
callq 0x292a
movsd 0x1b5c(%rip), %xmm0     # 0x9128
movq %rax, %rdi
callq 0x292a
leaq 0x80(%rsp), %rdi
callq 0x3ede
movsd %xmm0, 0x100(%rsp)
leaq 0x1d8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x207b(%rip), %rsi      # 0x9678
leaq 0x2088(%rip), %rdx      # 0x968c
leaq 0x1c8(%rsp), %rdi
callq 0x4d30
movsd 0x100(%rsp), %xmm0
cmpeqsd 0x1b05(%rip), %xmm0     # 0x9128
movq %xmm0, %rdi
andl $0x1, %edi
leaq 0x1c8(%rsp), %rsi
callq 0x4ea1
movq 0x1c8(%rsp), %rdi
cmpq %r14, %rdi
je 0x7655
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x2140
movq %rsp, %rdi
movl $0x6, %esi
movl $0x6, %edx
callq 0x26dc
movq %rsp, %rdi
xorpd %xmm0, %xmm0
callq 0x292a
movsd 0x1aad(%rip), %xmm0     # 0x9128
movq %rax, %rdi
callq 0x292a
movsd 0x1a6d(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x292a
movsd 0x1a65(%rip), %xmm0     # 0x9100
movq %rax, %rdi
callq 0x292a
movsd 0x1995(%rip), %xmm0     # 0x9040
movq %rax, %rdi
callq 0x292a
movsd 0x1a35(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x292a
xorpd %xmm0, %xmm0
movq %rax, %rdi
callq 0x292a
movsd 0x1a19(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x292a
movsd 0x1959(%rip), %xmm0     # 0x9040
movq %rax, %rdi
callq 0x292a
movsd 0x1a11(%rip), %xmm0     # 0x9108
movq %rax, %rdi
callq 0x292a
movsd 0x1a01(%rip), %xmm0     # 0x9108
movq %rax, %rdi
callq 0x292a
movsd 0x19d9(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x292a
movsd 0x19d1(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x292a
movsd 0x19c9(%rip), %xmm0     # 0x9100
movq %rax, %rdi
callq 0x292a
movsd 0x18f9(%rip), %xmm0     # 0x9040
movq %rax, %rdi
callq 0x292a
movsd 0x18e9(%rip), %xmm0     # 0x9040
movq %rax, %rdi
callq 0x292a
movsd 0x19b1(%rip), %xmm0     # 0x9118
movq %rax, %rdi
callq 0x292a
movsd 0x1981(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x292a
movsd 0x19a1(%rip), %xmm0     # 0x9128
movq %rax, %rdi
callq 0x292a
movsd 0x1969(%rip), %xmm0     # 0x9100
movq %rax, %rdi
callq 0x292a
movsd 0x1949(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x292a
movsd 0x1949(%rip), %xmm0     # 0x9100
movq %rax, %rdi
callq 0x292a
movsd 0x1951(%rip), %xmm0     # 0x9118
movq %rax, %rdi
callq 0x292a
movsd 0x1939(%rip), %xmm0     # 0x9110
movq %rax, %rdi
callq 0x292a
movsd 0x1929(%rip), %xmm0     # 0x9110
movq %rax, %rdi
callq 0x292a
movsd 0x1849(%rip), %xmm0     # 0x9040
movq %rax, %rdi
callq 0x292a
movsd 0x1919(%rip), %xmm0     # 0x9120
movq %rax, %rdi
callq 0x292a
movsd 0x18d9(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x292a
movsd 0x18f1(%rip), %xmm0     # 0x9118
movq %rax, %rdi
callq 0x292a
movsd 0x18c1(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x292a
movsd 0x18b1(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x292a
movsd 0x18c1(%rip), %xmm0     # 0x9118
movq %rax, %rdi
callq 0x292a
movsd 0x1889(%rip), %xmm0     # 0x90f0
movq %rax, %rdi
callq 0x292a
movsd 0x18a1(%rip), %xmm0     # 0x9118
movq %rax, %rdi
callq 0x292a
movsd 0x1871(%rip), %xmm0     # 0x90f8
movq %rax, %rdi
callq 0x292a
movsd 0x1869(%rip), %xmm0     # 0x9100
movq %rax, %rdi
callq 0x292a
movq %rsp, %rdi
callq 0x3ede
movsd %xmm0, 0x100(%rsp)
leaq 0x1b8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x1dca(%rip), %rsi      # 0x968d
leaq 0x1dd7(%rip), %rdx      # 0x96a1
leaq 0x1a8(%rsp), %rdi
callq 0x4d30
movsd 0x100(%rsp), %xmm0
cmpeqsd 0x1897(%rip), %xmm0     # 0x9180
movq %xmm0, %rdi
andl $0x1, %edi
leaq 0x1a8(%rsp), %rsi
callq 0x4ea1
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x791b
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x2140
movq %rsp, %rdi
callq 0x289a
leaq 0x80(%rsp), %rdi
callq 0x289a
leaq 0x40(%rsp), %rdi
callq 0x289a
leaq 0xc0(%rsp), %rdi
callq 0x289a
addl $-0x6, 0x57e2(%rip)     # 0xd130
movq 0x5683(%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 0x1d1c(%rip), %rsi      # 0x96a2
movl $0xe, %edx
movq %rax, %rdi
callq 0x2170
movl 0x579b(%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 0x1cdc(%rip), %rsi      # 0x96b1
movl $0xe, %edx
movq %rax, %rdi
callq 0x2170
movl 0x5750(%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 0x8433
movq 0x1b8(%rsp), %rsi
jmp 0x7f01
jmp 0x8430
jmp 0x842b
movq %rax, %rbx
movq 0x1c8(%rsp), %rdi
cmpq %r14, %rdi
je 0x843b
movq 0x1d8(%rsp), %rsi
jmp 0x8119
jmp 0x842b
jmp 0x8426
movq %rax, %rbx
movq 0x1e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x8448
movq 0x1f8(%rsp), %rsi
jmp 0x8278
jmp 0x8426
jmp 0x841f
movq %rax, %rbx
movq 0x208(%rsp), %rdi
cmpq %r14, %rdi
je 0x8452
movq 0x218(%rsp), %rsi
jmp 0x8311
jmp 0x841f
movq %rax, %rbx
movq 0x688(%rsp), %rdi
cmpq %r14, %rdi
je 0x845f
movq 0x698(%rsp), %rsi
jmp 0x83f3
movq %rax, %rbx
movq 0x228(%rsp), %rdi
cmpq %r15, %rdi
je 0x8155
movq 0x238(%rsp), %rsi
jmp 0x8148
jmp 0x8152
movq %rax, %rbx
movq 0x248(%rsp), %rdi
cmpq %r15, %rdi
je 0x8155
movq 0x258(%rsp), %rsi
jmp 0x8148
jmp 0x8152
jmp 0x8426
jmp 0x841f
movq %rax, %rbx
movq 0x6a8(%rsp), %rdi
cmpq %r15, %rdi
je 0x845f
movq 0x6b8(%rsp), %rsi
jmp 0x83f3
movq %rax, %rbx
movq 0x268(%rsp), %rdi
cmpq %r15, %rdi
je 0x8448
movq 0x278(%rsp), %rsi
jmp 0x8278
jmp 0x8426
movq %rax, %rbx
movq 0x288(%rsp), %rdi
cmpq %r15, %rdi
je 0x8448
movq 0x298(%rsp), %rsi
jmp 0x8278
jmp 0x8426
jmp 0x841f
movq %rax, %rbx
movq 0x6c8(%rsp), %rdi
cmpq %r15, %rdi
je 0x845f
movq 0x6d8(%rsp), %rsi
jmp 0x83f3
movq %rax, %rbx
movq 0x6e8(%rsp), %rdi
cmpq %r15, %rdi
je 0x845f
movq 0x6f8(%rsp), %rsi
jmp 0x83f3
movq %rax, %rbx
movq 0x708(%rsp), %rdi
cmpq %r15, %rdi
je 0x845f
movq 0x718(%rsp), %rsi
jmp 0x83f3
movq %rax, %rbx
movq 0x2a8(%rsp), %rdi
cmpq %r15, %rdi
je 0x7ea3
movq 0x2b8(%rsp), %rsi
jmp 0x7e96
jmp 0x7ea0
jmp 0x8430
jmp 0x8430
movq %rax, %rbx
movq 0x2c8(%rsp), %rdi
cmpq %r15, %rdi
je 0x7ea3
movq 0x2d8(%rsp), %rsi
jmp 0x7e96
jmp 0x7ea0
jmp 0x8430
movq %rax, %rbx
movq 0x2e8(%rsp), %rdi
cmpq %r15, %rdi
je 0x7ea3
movq 0x2f8(%rsp), %rsi
jmp 0x7e96
jmp 0x7ea0
jmp 0x8430
movq %rax, %rbx
movq 0x308(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7ccc
movq 0x318(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x7ccc
movq %rax, %rbx
movq 0x148(%rsp), %rdi
cmpq %r15, %rdi
jne 0x7dc2
jmp 0x7dd7
jmp 0x7dd4
jmp 0x8430
movq %rax, %rbx
movq 0x328(%rsp), %rdi
cmpq %r13, %rdi
je 0x7d11
movq 0x338(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x7d11
movq %rax, %rbx
leaq 0x358(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x7d37
movq 0x358(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x7d37
movq %rax, %rbx
leaq 0x148(%rsp), %rdi
callq 0x289a
jmp 0x7d49
movq %rax, %rbx
leaq 0x198(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x7dd7
movq 0x198(%rsp), %rsi
jmp 0x7dca
jmp 0x7dd4
jmp 0x8430
movq %rax, %rbx
movq 0x368(%rsp), %rdi
cmpq %r13, %rdi
je 0x7dd7
movq 0x378(%rsp), %rsi
jmp 0x7dca
jmp 0x7dd4
jmp 0x8430
movq %rax, %rbx
movq 0x388(%rsp), %rdi
cmpq %r15, %rdi
je 0x7db1
movq 0x398(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x7db1
movq %rax, %rbx
leaq 0x158(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x7dd7
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x7dd7
movq %rax, %rbx
leaq 0x108(%rsp), %rdi
callq 0x289a
jmp 0x8433
jmp 0x8430
jmp 0x842b
jmp 0x8426
jmp 0x841f
movq %rax, %rbx
movq 0x728(%rsp), %rdi
cmpq %r15, %rdi
je 0x845f
movq 0x738(%rsp), %rsi
jmp 0x83f3
movq %rax, %rbx
movq 0x3a8(%rsp), %rdi
cmpq %r13, %rdi
je 0x8107
movq 0x3b8(%rsp), %rsi
jmp 0x80fa
jmp 0x8104
jmp 0x842b
jmp 0x842b
movq %rax, %rbx
movq 0x3c8(%rsp), %rdi
cmpq %r13, %rdi
je 0x843b
movq 0x3d8(%rsp), %rsi
jmp 0x8119
jmp 0x842b
jmp 0x8430
jmp 0x842b
movq %rax, %rbx
movq 0x3e8(%rsp), %rdi
cmpq %r13, %rdi
je 0x7ea3
movq 0x3f8(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x7ea3
movq %rax, %rbx
movq 0x108(%rsp), %rdi
cmpq %r12, %rdi
jne 0x7ef9
jmp 0x8433
jmp 0x8430
jmp 0x842b
movq %rax, %rbx
movq 0x408(%rsp), %rdi
cmpq %r12, %rdi
je 0x7ee4
movq 0x418(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x7ee4
movq %rax, %rbx
leaq 0x118(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x8433
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x8433
jmp 0x8430
jmp 0x842b
jmp 0x8426
jmp 0x841f
movq %rax, %rbx
movq 0x748(%rsp), %rdi
cmpq %r12, %rdi
je 0x845f
movq 0x758(%rsp), %rsi
jmp 0x83f3
movq %rax, %rbx
movq 0x428(%rsp), %rdi
cmpq %r12, %rdi
je 0x8107
movq 0x438(%rsp), %rsi
jmp 0x80fa
jmp 0x8104
jmp 0x842b
movq %rax, %rbx
movq 0x448(%rsp), %rdi
cmpq %r12, %rdi
je 0x8107
movq 0x458(%rsp), %rsi
jmp 0x80fa
jmp 0x8104
jmp 0x842b
movq %rax, %rbx
movq 0x468(%rsp), %rdi
cmpq %r12, %rdi
je 0x8107
movq 0x478(%rsp), %rsi
jmp 0x80fa
jmp 0x8104
jmp 0x842b
jmp 0x8430
jmp 0x842b
movq %rax, %rbx
movq 0x488(%rsp), %rdi
cmpq %r12, %rdi
je 0x843b
movq 0x498(%rsp), %rsi
jmp 0x8119
jmp 0x842b
jmp 0x8430
jmp 0x842b
movq %rax, %rbx
movq 0x4a8(%rsp), %rdi
cmpq %r12, %rdi
je 0x8107
movq 0x4b8(%rsp), %rsi
jmp 0x80fa
jmp 0x8104
jmp 0x842b
jmp 0x8430
jmp 0x842b
movq %rax, %rbx
movq 0x4c8(%rsp), %rdi
cmpq %r12, %rdi
je 0x8107
movq 0x4d8(%rsp), %rsi
jmp 0x80fa
jmp 0x8104
jmp 0x842b
jmp 0x8426
jmp 0x841f
movq %rax, %rbx
movq 0x768(%rsp), %rdi
cmpq %r12, %rdi
je 0x845f
movq 0x778(%rsp), %rsi
jmp 0x83f3
movq %rax, %rbx
movq 0x788(%rsp), %rdi
cmpq %r12, %rdi
je 0x845f
movq 0x798(%rsp), %rsi
jmp 0x83f3
movq %rax, %rbx
movq 0x4e8(%rsp), %rdi
cmpq %r12, %rdi
je 0x8107
movq 0x4f8(%rsp), %rsi
jmp 0x80fa
jmp 0x8104
movq %rax, %rbx
movq 0x508(%rsp), %rdi
cmpq %r12, %rdi
je 0x8107
movq 0x518(%rsp), %rsi
jmp 0x80fa
jmp 0x8104
movq %rax, %rbx
movq 0x528(%rsp), %rdi
cmpq %r12, %rdi
je 0x8107
movq 0x538(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x8107
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x843b
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x843b
jmp 0x842b
jmp 0x8426
movq %rax, %rbx
movq 0x548(%rsp), %rdi
cmpq %r12, %rdi
je 0x8155
movq 0x558(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x8155
movq %rax, %rbx
movq 0x80(%rsp), %rdi
cmpq %r14, %rdi
jne 0x8270
jmp 0x8448
jmp 0x8426
jmp 0x841f
movq %rax, %rbx
movq 0x7a8(%rsp), %rdi
cmpq %r12, %rdi
je 0x845f
movq 0x7b8(%rsp), %rsi
jmp 0x83f3
movq %rax, %rbx
movq 0x568(%rsp), %rdi
cmpq %r13, %rdi
je 0x81fd
movq 0x578(%rsp), %rsi
jmp 0x81f0
jmp 0x81fa
jmp 0x841f
movq %rax, %rbx
movq 0x588(%rsp), %rdi
cmpq %r13, %rdi
je 0x81fd
movq 0x598(%rsp), %rsi
jmp 0x81f0
jmp 0x81fa
jmp 0x841f
movq %rax, %rbx
movq 0x5a8(%rsp), %rdi
cmpq %r13, %rdi
je 0x81fd
movq 0x5b8(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x81fd
movq %rax, %rbx
movq 0x40(%rsp), %rdi
cmpq %r12, %rdi
jne 0x830c
jmp 0x8452
jmp 0x841f
movq %rax, %rbx
movq 0x7c8(%rsp), %rdi
cmpq %r13, %rdi
je 0x845f
movq 0x7d8(%rsp), %rsi
jmp 0x83f3
movq %rax, %rbx
movq 0x5c8(%rsp), %rdi
cmpq %r14, %rdi
je 0x825b
movq 0x5d8(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x825b
movq %rax, %rbx
leaq 0x90(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x8448
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x8448
jmp 0x8426
movq %rax, %rbx
movq 0x5e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x82af
movq 0x5f8(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x82af
movq %rax, %rbx
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x8114
jmp 0x843b
jmp 0x842b
jmp 0x8426
jmp 0x841f
movq %rax, %rbx
movq 0x608(%rsp), %rdi
cmpq %r14, %rdi
je 0x82fa
movq 0x618(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x82fa
movq %rax, %rbx
leaq 0x50(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x8452
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x8452
jmp 0x841f
movq %rax, %rbx
movq 0x7e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x845f
movq 0x7f8(%rsp), %rsi
jmp 0x83f3
movq %rax, %rbx
movq 0x628(%rsp), %rdi
cmpq %r14, %rdi
je 0x843b
movq 0x638(%rsp), %rsi
jmp 0x8119
jmp 0x842b
jmp 0x8426
movq %rax, %rbx
movq 0x648(%rsp), %rdi
cmpq %r14, %rdi
je 0x8448
movq 0x658(%rsp), %rsi
jmp 0x8278
jmp 0x8426
jmp 0x841f
movq %rax, %rbx
movq 0x668(%rsp), %rdi
cmpq %r14, %rdi
je 0x8452
movq 0x678(%rsp), %rsi
jmp 0x8311
jmp 0x841f
movq %rax, %rbx
movq 0x808(%rsp), %rdi
cmpq %r14, %rdi
je 0x845f
movq 0x818(%rsp), %rsi
jmp 0x83f3
movq %rax, %rbx
movq 0x828(%rsp), %rdi
cmpq %r14, %rdi
je 0x845f
movq 0x838(%rsp), %rsi
incq %rsi
callq 0x2140
jmp 0x845f
jmp 0x841f
jmp 0x8426
jmp 0x8426
jmp 0x842b
jmp 0x842b
jmp 0x842b
jmp 0x842b
jmp 0x8426
jmp 0x841f
jmp 0x8426
jmp 0x841f
jmp 0x8426
jmp 0x8430
jmp 0x841f
jmp 0x841f
jmp 0x841f
jmp 0x841f
movq %rax, %rbx
jmp 0x8452
jmp 0x842b
movq %rax, %rbx
jmp 0x8448
movq %rax, %rbx
jmp 0x843b
movq %rax, %rbx
movq %rsp, %rdi
callq 0x289a
leaq 0x80(%rsp), %rdi
callq 0x289a
leaq 0x40(%rsp), %rdi
callq 0x289a
leaq 0xc0(%rsp), %rdi
callq 0x289a
movq %rbx, %rdi
callq 0x21f0