// File: BartMassey[P]ancient-raytracer/generate.cc
// Function: generate()
object *generate(void) {
  poly *p;
  sphere *s1, *s2, *s3;
  point ll( -4.0, -4.0 );
  point ul( -4.0, 4.0 );
  point ur( 4.0, 4.0 );
  point lr( 4.0, -4.0 );
  point kyellow( 1.0, 0.9, 0.7 );
  point kblue( 0.3, 0.3, 1.0 );
  point kgreen( 0.3, 1.0, 0.3 );
  point kwhite( 1.0, 1.0, 1.0 );
  point kblack( 0.0, 0.0, 0.0 );
  texture *tgreen = new texture( kblack, kgreen * 0.2, kgreen * 0.75, 100 );
  texture *tyellow = new texture( kblack, kyellow * 0.85, kwhite * 0.05, 10 );
  texture *tblue = new texture( kblack, kblue * 0.2, kblue * 0.75, 100 );
  board_texture *tboard = new board_texture( tyellow, tblue );

  p = new poly( 4, tboard );
  p->set( 0, ll );
  p->set( 1, ul );
  p->set( 2, ur );
  p->set( 3, lr );
  p->transform( xform( XFORM_ROTATE_Y, -PI / 2 ) );
  p->transform( xform( XFORM_SCALE, point( 1, D / 8, D / 8 ) ) );
  auto xboard = point( -JOGGLE, JOGGLE, ZB + JOGGLE );
  p->transform( xform( XFORM_TRANSLATE, xboard ) );
  p->complete();
  s1 = new sphere( tgreen );
  s1->transform( xform( XFORM_SCALE, point( 1.5, 1.5, 1.5 ) ) );
  auto xgreen = point( 1.5 + JOGGLE, JOGGLE, ZB + JOGGLE );
  s1->transform( xform( XFORM_TRANSLATE, xgreen ) );
  s1->append( *p );
  s1->complete();
  s2 = new sphere( tblue );
  auto xblue = point( 1 + JOGGLE, -D / 3 + JOGGLE, ZB - D / 5 + JOGGLE );
  s2->transform( xform( XFORM_TRANSLATE, xblue ) );
  s2->append( *s1 );
  s2->complete();
  s3 = new sphere( tyellow );
  auto xyellow = point( 1 + JOGGLE, D / 3 + JOGGLE, ZB - D / 3 + JOGGLE );
  s3->transform( xform( XFORM_TRANSLATE, xyellow ) );
  s3->append( *s2 );
  s3->complete();
  return s3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x960, %rsp            # imm = 0x960
leaq -0x40(%rbp), %rdi
movss 0x2599(%rip), %xmm1     # 0xb770
movss %xmm1, -0x814(%rbp)
movaps %xmm1, %xmm0
callq 0x5220
movss -0x814(%rbp), %xmm0
leaq -0x60(%rbp), %rdi
movss 0x2579(%rip), %xmm1     # 0xb774
callq 0x5220
jmp 0x9202
leaq -0x90(%rbp), %rdi
movss 0x2563(%rip), %xmm1     # 0xb774
movaps %xmm1, %xmm0
callq 0x5220
jmp 0x921b
leaq -0xb0(%rbp), %rdi
movss 0x254a(%rip), %xmm0     # 0xb774
movss 0x253e(%rip), %xmm1     # 0xb770
callq 0x5220
jmp 0x9239
leaq -0xd0(%rbp), %rdi
movss 0x1dbc(%rip), %xmm0     # 0xb004
movss 0x2528(%rip), %xmm1     # 0xb778
movss 0x2524(%rip), %xmm2     # 0xb77c
callq 0x3fe0
jmp 0x925f
leaq -0xf0(%rbp), %rdi
movss 0x2512(%rip), %xmm1     # 0xb780
movss 0x1d8e(%rip), %xmm2     # 0xb004
movaps %xmm1, %xmm0
callq 0x3fe0
jmp 0x9280
leaq -0x110(%rbp), %rdi
movss 0x1d75(%rip), %xmm1     # 0xb004
movss 0x24e9(%rip), %xmm2     # 0xb780
movaps %xmm2, %xmm0
callq 0x3fe0
jmp 0x92a1
leaq -0x130(%rbp), %rdi
movss 0x1d54(%rip), %xmm2     # 0xb004
movaps %xmm2, %xmm0
movaps %xmm2, %xmm1
callq 0x3fe0
jmp 0x92bd
leaq -0x150(%rbp), %rdi
xorps %xmm2, %xmm2
movaps %xmm2, %xmm0
movaps %xmm2, %xmm1
callq 0x3fe0
jmp 0x92d4
movl $0x70, %edi
callq 0x2110
movq %rax, -0x820(%rbp)
jmp 0x92e7
movb $0x1, -0x1b9(%rbp)
leaq -0x178(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x2ef0
jmp 0x9303
leaq -0x198(%rbp), %rdi
leaq -0x110(%rbp), %rsi
movss 0x1cfb(%rip), %xmm0     # 0xb014
callq 0x3760
jmp 0x9320
leaq -0x1b8(%rbp), %rdi
leaq -0x110(%rbp), %rsi
movss 0x244e(%rip), %xmm0     # 0xb784
callq 0x3760
jmp 0x933d
movq -0x820(%rbp), %rdi
leaq -0x178(%rbp), %rsi
leaq -0x198(%rbp), %rdx
leaq -0x1b8(%rbp), %rcx
movss 0x2427(%rip), %xmm0     # 0xb788
callq 0x6d40
jmp 0x9368
movb $0x0, -0x1b9(%rbp)
leaq -0x1b8(%rbp), %rdi
callq 0x2fd0
leaq -0x198(%rbp), %rdi
callq 0x2fd0
leaq -0x178(%rbp), %rdi
callq 0x2fd0
movq -0x820(%rbp), %rax
movq %rax, -0x158(%rbp)
movl $0x70, %edi
callq 0x2110
movq %rax, -0x828(%rbp)
jmp 0x93b4
movb $0x1, -0x229(%rbp)
leaq -0x1e8(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x2ef0
jmp 0x93d0
leaq -0x208(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
movss 0x23a6(%rip), %xmm0     # 0xb78c
callq 0x3760
jmp 0x93ed
leaq -0x228(%rbp), %rdi
leaq -0x130(%rbp), %rsi
movss 0x238d(%rip), %xmm0     # 0xb790
callq 0x3760
jmp 0x940a
movq -0x828(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
leaq -0x208(%rbp), %rdx
leaq -0x228(%rbp), %rcx
movss 0x1bea(%rip), %xmm0     # 0xb018
callq 0x6d40
jmp 0x9435
movb $0x0, -0x229(%rbp)
leaq -0x228(%rbp), %rdi
callq 0x2fd0
leaq -0x208(%rbp), %rdi
callq 0x2fd0
leaq -0x1e8(%rbp), %rdi
callq 0x2fd0
movq -0x828(%rbp), %rax
movq %rax, -0x1c8(%rbp)
movl $0x70, %edi
callq 0x2110
movq %rax, -0x830(%rbp)
jmp 0x9481
movb $0x1, -0x299(%rbp)
leaq -0x258(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x2ef0
jmp 0x949d
leaq -0x278(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
movss 0x1b61(%rip), %xmm0     # 0xb014
callq 0x3760
jmp 0x94ba
leaq -0x298(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
movss 0x22b4(%rip), %xmm0     # 0xb784
callq 0x3760
jmp 0x94d7
movq -0x830(%rbp), %rdi
leaq -0x258(%rbp), %rsi
leaq -0x278(%rbp), %rdx
leaq -0x298(%rbp), %rcx
movss 0x228d(%rip), %xmm0     # 0xb788
callq 0x6d40
jmp 0x9502
movb $0x0, -0x299(%rbp)
leaq -0x298(%rbp), %rdi
callq 0x2fd0
leaq -0x278(%rbp), %rdi
callq 0x2fd0
leaq -0x258(%rbp), %rdi
callq 0x2fd0
movq -0x830(%rbp), %rax
movq %rax, -0x238(%rbp)
movl $0x80, %edi
callq 0x2110
movq %rax, -0x838(%rbp)
jmp 0x954e
movq -0x838(%rbp), %rdi
movq -0x1c8(%rbp), %rsi
movq -0x238(%rbp), %rdx
callq 0x7b30
jmp 0x956a
movq -0x838(%rbp), %rax
movq %rax, -0x2a8(%rbp)
movl $0x160, %edi            # imm = 0x160
callq 0x2110
movq %rax, -0x840(%rbp)
jmp 0x958b
movq -0x840(%rbp), %rdi
movq -0x2a8(%rbp), %rdx
movl $0x4, %esi
callq 0x4a30
jmp 0x95a5
movq -0x840(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq (%rdi), %rax
movq 0x70(%rax), %rax
xorl %esi, %esi
leaq -0x40(%rbp), %rdx
callq *%rax
jmp 0x95c5
movq -0x8(%rbp), %rdi
movq (%rdi), %rax
movq 0x70(%rax), %rax
movl $0x1, %esi
leaq -0x60(%rbp), %rdx
callq *%rax
jmp 0x95dd
movq -0x8(%rbp), %rdi
movq (%rdi), %rax
movq 0x70(%rax), %rax
movl $0x2, %esi
leaq -0x90(%rbp), %rdx
callq *%rax
jmp 0x95f8
movq -0x8(%rbp), %rdi
movq (%rdi), %rax
movq 0x70(%rax), %rax
movl $0x3, %esi
leaq -0xb0(%rbp), %rdx
callq *%rax
jmp 0x9613
movq -0x8(%rbp), %rax
movq %rax, -0x848(%rbp)
leaq -0x340(%rbp), %rdi
movl $0x4, %esi
movss 0x2162(%rip), %xmm0     # 0xb794
callq 0x5f10
jmp 0x9639
movq -0x848(%rbp), %rdi
movq (%rdi), %rax
movq 0x20(%rax), %rax
leaq -0x340(%rbp), %rsi
callq *%rax
jmp 0x9652
leaq -0x340(%rbp), %rdi
callq 0x41c0
movq -0x8(%rbp), %rax
movq %rax, -0x850(%rbp)
leaq -0x3f8(%rbp), %rdi
movss 0x198c(%rip), %xmm0     # 0xb004
movss 0x1988(%rip), %xmm2     # 0xb008
movaps %xmm2, %xmm1
callq 0x3fe0
jmp 0x968a
leaq -0x3d8(%rbp), %rdi
movl $0x2, %esi
leaq -0x3f8(%rbp), %rdx
callq 0x62c0
jmp 0x96a4
movq -0x850(%rbp), %rdi
movq (%rdi), %rax
movq 0x20(%rax), %rax
leaq -0x3d8(%rbp), %rsi
callq *%rax
jmp 0x96bd
leaq -0x3d8(%rbp), %rdi
callq 0x41c0
leaq -0x3f8(%rbp), %rdi
callq 0x2fd0
callq 0xa4a0
movsd %xmm0, -0x858(%rbp)
jmp 0x96e4
movsd -0x858(%rbp), %xmm0
movsd 0x20ac(%rip), %xmm1     # 0xb7a0
addsd %xmm1, %xmm0
movsd 0x20a8(%rip), %xmm1     # 0xb7a8
mulsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x864(%rbp)
callq 0xa4a0
movsd %xmm0, -0x860(%rbp)
jmp 0x971f
movsd -0x860(%rbp), %xmm0
movsd 0x2071(%rip), %xmm1     # 0xb7a0
addsd %xmm1, %xmm0
movsd 0x2075(%rip), %xmm1     # 0xb7b0
mulsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x87c(%rbp)
movsd 0x18cd(%rip), %xmm0     # 0xb020
callq 0x21f0
movsd %xmm0, -0x878(%rbp)
callq 0xa4a0
movsd %xmm0, -0x870(%rbp)
jmp 0x976f
movss -0x87c(%rbp), %xmm1
movss -0x864(%rbp), %xmm0
movsd -0x878(%rbp), %xmm2
movsd -0x870(%rbp), %xmm3
movsd 0x2009(%rip), %xmm4     # 0xb7a0
addsd %xmm4, %xmm3
movsd 0x200d(%rip), %xmm4     # 0xb7b0
mulsd %xmm4, %xmm3
movsd 0x1879(%rip), %xmm4     # 0xb028
mulsd %xmm4, %xmm2
addsd %xmm3, %xmm2
cvtsd2ss %xmm2, %xmm2
leaq -0x418(%rbp), %rdi
callq 0x3fe0
jmp 0x97c9
movq -0x8(%rbp), %rax
movq %rax, -0x888(%rbp)
leaq -0x4d0(%rbp), %rdi
leaq -0x418(%rbp), %rsi
callq 0x2ef0
jmp 0x97e9
leaq -0x4b0(%rbp), %rdi
movl $0x1, %esi
leaq -0x4d0(%rbp), %rdx
callq 0x62c0
jmp 0x9803
movq -0x888(%rbp), %rdi
movq (%rdi), %rax
movq 0x20(%rax), %rax
leaq -0x4b0(%rbp), %rsi
callq *%rax
jmp 0x981c
leaq -0x4b0(%rbp), %rdi
callq 0x41c0
leaq -0x4d0(%rbp), %rdi
callq 0x2fd0
movq -0x8(%rbp), %rdi
movq (%rdi), %rax
movq 0x18(%rax), %rax
callq *%rax
jmp 0x9843
movl $0x168, %edi            # imm = 0x168
callq 0x2110
movq %rax, -0x890(%rbp)
jmp 0x9856
movq -0x890(%rbp), %rdi
movq -0x158(%rbp), %rsi
callq 0xa3d0
jmp 0x986b
movq -0x890(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x898(%rbp)
leaq -0x588(%rbp), %rdi
movss 0x1f08(%rip), %xmm2     # 0xb798
movaps %xmm2, %xmm0
movaps %xmm2, %xmm1
callq 0x3fe0
jmp 0x989d
leaq -0x568(%rbp), %rdi
movl $0x2, %esi
leaq -0x588(%rbp), %rdx
callq 0x62c0
jmp 0x98b7
movq -0x898(%rbp), %rdi
movq (%rdi), %rax
movq 0x20(%rax), %rax
leaq -0x568(%rbp), %rsi
callq *%rax
jmp 0x98d0
leaq -0x568(%rbp), %rdi
callq 0x41c0
leaq -0x588(%rbp), %rdi
callq 0x2fd0
callq 0xa4a0
movsd %xmm0, -0x8a0(%rbp)
jmp 0x98f7
movsd -0x8a0(%rbp), %xmm0
movsd 0x1e99(%rip), %xmm1     # 0xb7a0
addsd %xmm1, %xmm0
movsd 0x1e9d(%rip), %xmm1     # 0xb7b0
mulsd %xmm1, %xmm0
movsd 0x1e99(%rip), %xmm1     # 0xb7b8
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x8ac(%rbp)
callq 0xa4a0
movsd %xmm0, -0x8a8(%rbp)
jmp 0x993e
movsd -0x8a8(%rbp), %xmm0
movsd 0x1e52(%rip), %xmm1     # 0xb7a0
addsd %xmm1, %xmm0
movsd 0x1e56(%rip), %xmm1     # 0xb7b0
mulsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x8c4(%rbp)
movsd 0x16ae(%rip), %xmm0     # 0xb020
callq 0x21f0
movsd %xmm0, -0x8c0(%rbp)
callq 0xa4a0
movsd %xmm0, -0x8b8(%rbp)
jmp 0x998e
movss -0x8c4(%rbp), %xmm1
movss -0x8ac(%rbp), %xmm0
movsd -0x8c0(%rbp), %xmm2
movsd -0x8b8(%rbp), %xmm3
movsd 0x1dea(%rip), %xmm4     # 0xb7a0
addsd %xmm4, %xmm3
movsd 0x1dee(%rip), %xmm4     # 0xb7b0
mulsd %xmm4, %xmm3
movsd 0x165a(%rip), %xmm4     # 0xb028
mulsd %xmm4, %xmm2
addsd %xmm3, %xmm2
cvtsd2ss %xmm2, %xmm2
leaq -0x5a8(%rbp), %rdi
callq 0x3fe0
jmp 0x99e8
movq -0x10(%rbp), %rax
movq %rax, -0x8d0(%rbp)
leaq -0x660(%rbp), %rdi
leaq -0x5a8(%rbp), %rsi
callq 0x2ef0
jmp 0x9a08
leaq -0x640(%rbp), %rdi
movl $0x1, %esi
leaq -0x660(%rbp), %rdx
callq 0x62c0
jmp 0x9a22
movq -0x8d0(%rbp), %rdi
movq (%rdi), %rax
movq 0x20(%rax), %rax
leaq -0x640(%rbp), %rsi
callq *%rax
jmp 0x9a3b
leaq -0x640(%rbp), %rdi
callq 0x41c0
leaq -0x660(%rbp), %rdi
callq 0x2fd0
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
movq (%rdi), %rax
movq 0x38(%rax), %rax
callq *%rax
jmp 0x9a66
movq -0x10(%rbp), %rdi
movq (%rdi), %rax
movq 0x18(%rax), %rax
callq *%rax
jmp 0x9a75
movl $0x168, %edi            # imm = 0x168
callq 0x2110
movq %rax, -0x8d8(%rbp)
jmp 0x9a88
movq -0x8d8(%rbp), %rdi
movq -0x238(%rbp), %rsi
callq 0xa3d0
jmp 0x9a9d
movq -0x8d8(%rbp), %rax
movq %rax, -0x18(%rbp)
callq 0xa4a0
movsd %xmm0, -0x8e0(%rbp)
jmp 0x9ab7
movsd -0x8e0(%rbp), %xmm0
movsd 0x1cd9(%rip), %xmm1     # 0xb7a0
addsd %xmm1, %xmm0
movsd 0x1cdd(%rip), %xmm1     # 0xb7b0
mulsd %xmm1, %xmm0
movsd 0x1561(%rip), %xmm1     # 0xb040
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x8ec(%rbp)
callq 0xa4a0
movsd %xmm0, -0x8e8(%rbp)
jmp 0x9afe
movsd -0x8e8(%rbp), %xmm0
movsd 0x1c92(%rip), %xmm1     # 0xb7a0
addsd %xmm1, %xmm0
movsd 0x1c96(%rip), %xmm1     # 0xb7b0
mulsd %xmm1, %xmm0
movsd 0x1c9a(%rip), %xmm1     # 0xb7c0
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x904(%rbp)
movsd 0x14e2(%rip), %xmm0     # 0xb020
callq 0x21f0
movsd 0x14dd(%rip), %xmm1     # 0xb028
mulsd %xmm1, %xmm0
movsd 0x1c71(%rip), %xmm1     # 0xb7c8
addsd %xmm1, %xmm0
movsd %xmm0, -0x900(%rbp)
callq 0xa4a0
movsd %xmm0, -0x8f8(%rbp)
jmp 0x9b72
movss -0x904(%rbp), %xmm1
movss -0x8ec(%rbp), %xmm0
movsd -0x900(%rbp), %xmm3
movsd -0x8f8(%rbp), %xmm2
movsd 0x1c06(%rip), %xmm4     # 0xb7a0
addsd %xmm4, %xmm2
movsd 0x1c0a(%rip), %xmm4     # 0xb7b0
mulsd %xmm4, %xmm2
addsd %xmm3, %xmm2
cvtsd2ss %xmm2, %xmm2
leaq -0x680(%rbp), %rdi
callq 0x3fe0
jmp 0x9bc0
movq -0x18(%rbp), %rax
movq %rax, -0x910(%rbp)
leaq -0x738(%rbp), %rdi
leaq -0x680(%rbp), %rsi
callq 0x2ef0
jmp 0x9be0
leaq -0x718(%rbp), %rdi
movl $0x1, %esi
leaq -0x738(%rbp), %rdx
callq 0x62c0
jmp 0x9bfa
movq -0x910(%rbp), %rdi
movq (%rdi), %rax
movq 0x20(%rax), %rax
leaq -0x718(%rbp), %rsi
callq *%rax
jmp 0x9c13
leaq -0x718(%rbp), %rdi
callq 0x41c0
leaq -0x738(%rbp), %rdi
callq 0x2fd0
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq (%rdi), %rax
movq 0x38(%rax), %rax
callq *%rax
jmp 0x9c3e
movq -0x18(%rbp), %rdi
movq (%rdi), %rax
movq 0x18(%rax), %rax
callq *%rax
jmp 0x9c4d
movl $0x168, %edi            # imm = 0x168
callq 0x2110
movq %rax, -0x918(%rbp)
jmp 0x9c60
movq -0x918(%rbp), %rdi
movq -0x1c8(%rbp), %rsi
callq 0xa3d0
jmp 0x9c75
movq -0x918(%rbp), %rax
movq %rax, -0x20(%rbp)
callq 0xa4a0
movsd %xmm0, -0x920(%rbp)
jmp 0x9c8f
movsd -0x920(%rbp), %xmm0
movsd 0x1b01(%rip), %xmm1     # 0xb7a0
addsd %xmm1, %xmm0
movsd 0x1b05(%rip), %xmm1     # 0xb7b0
mulsd %xmm1, %xmm0
movsd 0x1389(%rip), %xmm1     # 0xb040
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x92c(%rbp)
callq 0xa4a0
movsd %xmm0, -0x928(%rbp)
jmp 0x9cd6
movsd -0x928(%rbp), %xmm0
movsd 0x1aba(%rip), %xmm1     # 0xb7a0
addsd %xmm1, %xmm0
movsd 0x1abe(%rip), %xmm1     # 0xb7b0
mulsd %xmm1, %xmm0
movsd 0x1ad2(%rip), %xmm1     # 0xb7d0
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x944(%rbp)
movsd 0x130a(%rip), %xmm0     # 0xb020
callq 0x21f0
movsd 0x1305(%rip), %xmm1     # 0xb028
mulsd %xmm1, %xmm0
movsd 0x1a91(%rip), %xmm1     # 0xb7c0
addsd %xmm1, %xmm0
movsd %xmm0, -0x940(%rbp)
callq 0xa4a0
movsd %xmm0, -0x938(%rbp)
jmp 0x9d4a
movss -0x944(%rbp), %xmm1
movss -0x92c(%rbp), %xmm0
movsd -0x940(%rbp), %xmm3
movsd -0x938(%rbp), %xmm2
movsd 0x1a2e(%rip), %xmm4     # 0xb7a0
addsd %xmm4, %xmm2
movsd 0x1a32(%rip), %xmm4     # 0xb7b0
mulsd %xmm4, %xmm2
addsd %xmm3, %xmm2
cvtsd2ss %xmm2, %xmm2
leaq -0x758(%rbp), %rdi
callq 0x3fe0
jmp 0x9d98
movq -0x20(%rbp), %rax
movq %rax, -0x950(%rbp)
leaq -0x810(%rbp), %rdi
leaq -0x758(%rbp), %rsi
callq 0x2ef0
jmp 0x9db8
leaq -0x7f0(%rbp), %rdi
movl $0x1, %esi
leaq -0x810(%rbp), %rdx
callq 0x62c0
jmp 0x9dd2
movq -0x950(%rbp), %rdi
movq (%rdi), %rax
movq 0x20(%rax), %rax
leaq -0x7f0(%rbp), %rsi
callq *%rax
jmp 0x9deb
leaq -0x7f0(%rbp), %rdi
callq 0x41c0
leaq -0x810(%rbp), %rdi
callq 0x2fd0
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq (%rdi), %rax
movq 0x38(%rax), %rax
callq *%rax
jmp 0x9e16
movq -0x20(%rbp), %rdi
movq (%rdi), %rax
movq 0x18(%rax), %rax
callq *%rax
jmp 0x9e25
movq -0x20(%rbp), %rax
movq %rax, -0x958(%rbp)
leaq -0x758(%rbp), %rdi
callq 0x2fd0
leaq -0x680(%rbp), %rdi
callq 0x2fd0
leaq -0x5a8(%rbp), %rdi
callq 0x2fd0
leaq -0x418(%rbp), %rdi
callq 0x2fd0
leaq -0x150(%rbp), %rdi
callq 0x2fd0
leaq -0x130(%rbp), %rdi
callq 0x2fd0
leaq -0x110(%rbp), %rdi
callq 0x2fd0
leaq -0xf0(%rbp), %rdi
callq 0x2fd0
leaq -0xd0(%rbp), %rdi
callq 0x2fd0
leaq -0xb0(%rbp), %rdi
callq 0x2fd0
leaq -0x90(%rbp), %rdi
callq 0x2fd0
leaq -0x60(%rbp), %rdi
callq 0x2fd0
leaq -0x40(%rbp), %rdi
callq 0x2fd0
movq -0x958(%rbp), %rax
addq $0x960, %rsp            # imm = 0x960
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa3b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa3ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa39f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa393
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa387
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa37b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa36f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa363
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa357
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x9fc9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x9fbd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x9fb1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x1b8(%rbp), %rdi
callq 0x2fd0
leaq -0x198(%rbp), %rdi
callq 0x2fd0
leaq -0x178(%rbp), %rdi
callq 0x2fd0
testb $0x1, -0x1b9(%rbp)
jne 0x9fd4
jmp 0x9fe5
movq -0x820(%rbp), %rdi
movl $0x70, %esi
callq 0x2120
jmp 0xa357
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa044
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa038
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa02c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x228(%rbp), %rdi
callq 0x2fd0
leaq -0x208(%rbp), %rdi
callq 0x2fd0
leaq -0x1e8(%rbp), %rdi
callq 0x2fd0
testb $0x1, -0x229(%rbp)
jne 0xa04f
jmp 0xa060
movq -0x828(%rbp), %rdi
movl $0x70, %esi
callq 0x2120
jmp 0xa357
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa0bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa0b3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa0a7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x298(%rbp), %rdi
callq 0x2fd0
leaq -0x278(%rbp), %rdi
callq 0x2fd0
leaq -0x258(%rbp), %rdi
callq 0x2fd0
testb $0x1, -0x299(%rbp)
jne 0xa0ca
jmp 0xa0db
movq -0x830(%rbp), %rdi
movl $0x70, %esi
callq 0x2120
jmp 0xa357
movq -0x838(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
movl $0x80, %esi
callq 0x2120
jmp 0xa357
movq -0x840(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
movl $0x160, %esi            # imm = 0x160
callq 0x2120
jmp 0xa357
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x340(%rbp), %rdi
callq 0x41c0
jmp 0xa357
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa167
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x3d8(%rbp), %rdi
callq 0x41c0
leaq -0x3f8(%rbp), %rdi
callq 0x2fd0
jmp 0xa357
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa34b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa1af
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x4b0(%rbp), %rdi
callq 0x41c0
leaq -0x4d0(%rbp), %rdi
callq 0x2fd0
jmp 0xa34b
movq -0x890(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
movl $0x168, %esi            # imm = 0x168
callq 0x2120
jmp 0xa34b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa208
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x568(%rbp), %rdi
callq 0x41c0
leaq -0x588(%rbp), %rdi
callq 0x2fd0
jmp 0xa34b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa33f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa250
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x640(%rbp), %rdi
callq 0x41c0
leaq -0x660(%rbp), %rdi
callq 0x2fd0
jmp 0xa33f
movq -0x8d8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
movl $0x168, %esi            # imm = 0x168
callq 0x2120
jmp 0xa33f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa333
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa2ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x718(%rbp), %rdi
callq 0x41c0
leaq -0x738(%rbp), %rdi
callq 0x2fd0
jmp 0xa333
movq -0x918(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
movl $0x168, %esi            # imm = 0x168
callq 0x2120
jmp 0xa333
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa327
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0xa31b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x7f0(%rbp), %rdi
callq 0x41c0
leaq -0x810(%rbp), %rdi
callq 0x2fd0
leaq -0x758(%rbp), %rdi
callq 0x2fd0
leaq -0x680(%rbp), %rdi
callq 0x2fd0
leaq -0x5a8(%rbp), %rdi
callq 0x2fd0
leaq -0x418(%rbp), %rdi
callq 0x2fd0
leaq -0x150(%rbp), %rdi
callq 0x2fd0
leaq -0x130(%rbp), %rdi
callq 0x2fd0
leaq -0x110(%rbp), %rdi
callq 0x2fd0
leaq -0xf0(%rbp), %rdi
callq 0x2fd0
leaq -0xd0(%rbp), %rdi
callq 0x2fd0
leaq -0xb0(%rbp), %rdi
callq 0x2fd0
leaq -0x90(%rbp), %rdi
callq 0x2fd0
leaq -0x60(%rbp), %rdi
callq 0x2fd0
leaq -0x40(%rbp), %rdi
callq 0x2fd0
movq -0x68(%rbp), %rdi
callq 0x21c0
nopw %cs:(%rax,%rax)