// File: /workspace/github_cpp_makefile_star2_O3/tomfunkhouser[P]gaps/apps/scn2cam/scn2cam.cpp
// Function: CreateAndWriteCameras()
static void
CreateAndWriteCameras(void)
{
  // Create cameras
  if (create_object_cameras) CreateObjectCameras();
  if (create_interior_cameras) CreateInteriorCameras();
  if (create_surface_cameras) CreateSurfaceCameras();
  if (create_world_in_hand_cameras) CreateWorldInHandCameras();
  if (create_orbit_cameras) CreateOrbitCameras();
  if (create_lookat_cameras) CreateLookAtCameras();

  // Create specialized cameras (for SUNCG)
  if (create_room_cameras) CreateRoomCameras();
  if (create_path_in_room_cameras) CreatePathInRoomCameras();

  // Create trajectory from cameras
  if (interpolate_camera_trajectory) {
    if (!InterpolateCameraTrajectory(interpolation_step)) exit(-1);
  }
  else {
    SortCameras();
  }

  // Write cameras
  WriteCameras();

  // Exit program
  exit(0);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x7f8, %rsp            # imm = 0x7F8
cmpb $0x1, 0x13a334(%rip)    # 0x1618c0
jne 0x27dfb
leaq 0x118(%rsp), %rbx
movq %rbx, %rdi
callq 0x9e61c
movq $0x0, 0xb0(%rsp)
movq %rbx, %rdi
xorl %esi, %esi
callq 0x22f90
movq 0x13a329(%rip), %rax    # 0x1618e8
movq (%rax), %rdi
callq 0x41d4c
movq %rax, %rdi
callq 0x74f5c
movsd %xmm0, 0x48(%rsp)
movq 0x13a30c(%rip), %rax    # 0x1618e8
movq (%rax), %rdi
callq 0x41d4c
movq %rax, %rdi
callq 0x74f5c
movsd %xmm0, 0x98(%rsp)
cvtsi2sdl 0x13537b(%rip), %xmm1 # 0x15c978
xorps %xmm0, %xmm0
cvtsi2sdl 0x13536c(%rip), %xmm0 # 0x15c974
divsd %xmm0, %xmm1
movsd %xmm1, (%rsp)
movsd 0x135367(%rip), %xmm0   # 0x15c980
callq 0x22490
mulsd (%rsp), %xmm0
callq 0x22700
movsd %xmm0, 0x88(%rsp)
movq 0x13a2b0(%rip), %rax    # 0x1618e8
cmpl $0x0, 0x14(%rax)
jle 0x27da6
movsd 0xca9be(%rip), %xmm1    # 0xf2008
movsd 0x48(%rsp), %xmm0
mulsd %xmm1, %xmm0
mulsd 0xca9bc(%rip), %xmm0    # 0xf2018
movsd %xmm0, 0x48(%rsp)
movsd 0x98(%rsp), %xmm0
mulsd %xmm1, %xmm0
mulsd 0xca9a9(%rip), %xmm0    # 0xf2020
movsd %xmm0, 0x98(%rsp)
leaq 0xcf251(%rip), %rcx     # 0xf68d8
movsd (%rcx), %xmm0
leaq 0xcf266(%rip), %rcx     # 0xf68f8
mulsd (%rcx), %xmm0
movsd %xmm0, 0x160(%rsp)
xorl %edx, %edx
movq $0x0, 0xb0(%rsp)
movq 0x8(%rax), %rax
movq (%rax,%rdx,8), %rbp
cmpq $0x0, 0x1a0(%rbp)
je 0x27d8f
movq %rdx, 0x68(%rsp)
movq %rbp, %rdi
callq 0x2b50e
testl %eax, %eax
je 0x27d8a
cmpl $0x0, 0x3c(%rbp)
je 0x27d8a
leaq 0x320(%rsp), %rdi
callq 0x45170
movq %rbp, %rdi
callq 0x41d4c
movq (%rax), %rcx
leaq 0x168(%rsp), %rdi
movq %rax, %rsi
callq *0x68(%rcx)
movq %rbp, %rdi
callq 0x41d4c
movq %rax, %rdi
callq 0x74f5c
movsd 0x160(%rsp), %xmm1
divsd 0x13a18f(%rip), %xmm1   # 0x1618b8
addsd 0xca8d7(%rip), %xmm1    # 0xf2008
cvttsd2si %xmm1, %eax
movl %eax, 0xd0(%rsp)
testl %eax, %eax
jle 0x27cae
mulsd 0xca8bc(%rip), %xmm0    # 0xf2008
movsd %xmm0, 0x90(%rsp)
mulsd 0xca8cb(%rip), %xmm0    # 0xf2028
movsd %xmm0, 0xa8(%rsp)
xorl %eax, %eax
movq %rbp, 0x40(%rsp)
movl %eax, 0x60(%rsp)
leaq 0xb8(%rsp), %rbx
movq %rbx, %rdi
callq 0x7e792
movq %rbx, %rdi
callq 0x7dda0
movsd 0x1351ef(%rip), %xmm0   # 0x15c980
callq 0x22490
movsd 0xa8(%rsp), %xmm1
divsd %xmm0, %xmm1
movsd 0x13a0fd(%rip), %xmm0   # 0x1618a8
movsd %xmm0, (%rsp)
maxsd %xmm1, %xmm0
leaq 0x3f0(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
movsd %xmm0, 0x30(%rsp)
callq 0x7e426
leaq 0xe8(%rsp), %rdi
leaq 0x168(%rsp), %rsi
movq %r14, %rdx
callq 0x7da17
movq 0x10(%rbp), %rax
testq %rax, %rax
je 0x2789e
movq 0x10(%rax), %r13
testq %r13, %r13
je 0x2789e
movq 0x1a0(%r13), %r15
testq %r15, %r15
je 0x2789e
movq %r15, %rdi
leaq 0xcae00(%rip), %rsi     # 0xf2619
callq 0x22160
testq %rax, %rax
jne 0x27837
movq %r15, %rdi
leaq 0xcadf1(%rip), %rsi     # 0xf261e
callq 0x22160
testq %rax, %rax
je 0x2789e
leaq 0x3f0(%rsp), %rdi
movq %r13, %rsi
callq 0x41f0a
movq 0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x41d4c
movsd 0x10(%rax), %xmm0
movsd %xmm0, 0x3f8(%rsp)
addsd 0x13511e(%rip), %xmm0   # 0x15c988
movsd %xmm0, 0xf0(%rsp)
callq 0xa0994
addsd 0xca7b0(%rip), %xmm0    # 0xf2030
addsd %xmm0, %xmm0
mulsd 0x135104(%rip), %xmm0   # 0x15c990
addsd 0xf0(%rsp), %xmm0
movsd %xmm0, 0xf0(%rsp)
movsd (%rsp), %xmm0
maxsd 0x90(%rsp), %xmm0
movsd %xmm0, (%rsp)
leaq 0x140(%rsp), %r12
movq %r12, %rdi
leaq 0xe8(%rsp), %r15
movq %r15, %rsi
leaq 0x168(%rsp), %rbx
movq %rbx, %rdx
callq 0x7d252
movq %r12, %rdi
callq 0x7dda0
leaq 0x250(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
movq %r12, %rdx
xorl %ecx, %ecx
callq 0x7cbe4
movabsq $0x47efffffe0000000, %rax # imm = 0x47EFFFFFE0000000
movq %rax, 0xa0(%rsp)
movq 0x139fd8(%rip), %rdi    # 0x1618e8
movq %r14, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
movsd (%rsp), %xmm0
movsd 0x30(%rsp), %xmm1
leaq 0xa0(%rsp), %rax
pushq %rax
pushq $0x0
callq 0x2edaa
addq $0x10, %rsp
testl %eax, %eax
leaq 0x3f0(%rsp), %r14
je 0x27985
movsd 0xa0(%rsp), %xmm0
subsd 0x139f4f(%rip), %xmm0   # 0x1618a8
leaq 0x1c0(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x7e426
movq %r14, %rdi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x7d33b
movq %r15, %rdi
movq %r14, %rsi
callq 0x7d35e
leaq 0x128(%rsp), %r12
movq %r12, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0x7d252
movq %r12, %rdi
callq 0x7dda0
movslq 0x134fc6(%rip), %rax    # 0x15c970
leaq (%rax,%rax,2), %rdx
shlq $0x3, %rdx
addq 0x1345ef(%rip), %rdx    # 0x15bfa8
leaq 0x100(%rsp), %rbx
movq %rbx, %rdi
movq %r12, %rsi
callq 0x7e3be
movq %rbx, %rdi
callq 0x7dda0
leaq 0x1a8(%rsp), %r13
movq %r13, %rdi
movq %rbx, %rsi
movq %r12, %rdx
callq 0x7e3be
movq %r13, %rdi
callq 0x7dda0
movsd 0x134f86(%rip), %xmm0   # 0x15c980
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
movq %r13, %rcx
movsd 0x88(%rsp), %xmm1
movsd 0x48(%rsp), %xmm2
movsd 0x98(%rsp), %xmm3
callq 0x45338
movb 0x13fed7(%rip), %al     # 0x167900
testb %al, %al
je 0x27c6a
cmpq %rbp, 0x13fed0(%rip)    # 0x167908
je 0x27c55
movq %rbp, 0x13fec3(%rip)    # 0x167908
movl 0x3c(%rbp), %eax
xorpd %xmm0, %xmm0
testl %eax, %eax
jle 0x27aa8
xorl %ebx, %ebx
movq 0x30(%rbp), %rcx
movq (%rcx,%rbx,8), %r14
cmpl $0x0, 0x1c(%r14)
jle 0x27a9d
xorl %r15d, %r15d
movapd %xmm0, 0x50(%rsp)
movq 0x10(%r14), %rax
movq (%rax,%r15,8), %rdi
movq (%rdi), %rax
callq *0x58(%rax)
movapd 0x50(%rsp), %xmm1
addsd %xmm0, %xmm1
movapd %xmm1, 0x50(%rsp)
movapd 0x50(%rsp), %xmm0
incq %r15
movslq 0x1c(%r14), %rax
cmpq %rax, %r15
jl 0x27a64
movl 0x3c(%rbp), %eax
incq %rbx
movslq %eax, %rcx
cmpq %rcx, %rbx
jl 0x27a52
movapd %xmm0, 0x50(%rsp)
testl %eax, %eax
jle 0x27c55
leaq 0x1355fb(%rip), %rcx    # 0x15d0b8
movsd (%rcx), %xmm0
movapd 0x50(%rsp), %xmm2
movapd %xmm2, %xmm1
cmpnlepd %xmm0, %xmm1
xorpd 0xca5e8(%rip), %xmm0    # 0xf20c0
cmpnlepd %xmm2, %xmm0
orpd %xmm1, %xmm0
movd %xmm0, %ecx
testb $0x1, %cl
je 0x27c55
xorl %edx, %edx
movq 0x30(%rbp), %rcx
movq (%rcx,%rdx,8), %rcx
cmpl $0x0, 0x1c(%rcx)
jle 0x27c46
movq %rdx, 0x20(%rsp)
xorl %edx, %edx
movq %rcx, 0x28(%rsp)
movq 0x10(%rcx), %rax
movq %rdx, 0x70(%rsp)
movq (%rax,%rdx,8), %rbx
movq (%rbx), %rax
movq %rbx, %rdi
callq *0xb8(%rax)
movl %eax, %ebp
callq 0x6f518
cmpl %eax, %ebp
jne 0x27c1f
cmpl $0x0, 0x24(%rbx)
jle 0x27c1f
xorl %ecx, %ecx
movq %rbx, 0x18(%rsp)
movq 0x18(%rbx), %rax
movq %rcx, (%rsp)
movq (%rax,%rcx,8), %rbp
movq (%rbp), %rax
movq %rbp, %rdi
callq *0x58(%rax)
mulsd 0xca4d3(%rip), %xmm0    # 0xf2038
divsd 0x50(%rsp), %xmm0
movapd %xmm0, 0x30(%rsp)
cvttsd2si %xmm0, %r15d
callq 0xa0994
movapd 0x30(%rsp), %xmm2
cvttpd2dq %xmm2, %xmm1
cvtdq2pd %xmm1, %xmm1
subsd %xmm1, %xmm2
xorl %eax, %eax
ucomisd %xmm0, %xmm2
seta %al
addl %r15d, %eax
addl $0xfffffc00, %eax       # imm = 0xFFFFFC00
cmpl $0xfffffc01, %eax       # imm = 0xFFFFFC01
jb 0x27c06
xorl %ebx, %ebx
ucomisd %xmm0, %xmm2
seta %bl
movslq %r15d, %rax
addq %rax, %rbx
leaq (%rbx,%rbx,2), %rax
leaq 0x139d41(%rip), %rcx    # 0x161900
leaq (%rcx,%rax,8), %r15
xorl %r13d, %r13d
leaq (%rbx,%r13), %r12
movq (%rbp), %rax
leaq 0x1c0(%rsp), %r14
movq %r14, %rdi
movq %rbp, %rsi
callq *0x218(%rax)
movq %r15, %rdi
movq %r14, %rsi
callq 0x7d35e
cmpq $0x3fe, %r12            # imm = 0x3FE
jg 0x27c06
leaq 0x1(%r13), %rax
addq $0x18, %r15
cmpq %r13, %r12
movq %rax, %r13
jg 0x27bc6
movq (%rsp), %rcx
incq %rcx
movq 0x18(%rsp), %rbx
movslq 0x24(%rbx), %rax
cmpq %rax, %rcx
jl 0x27b47
movq 0x70(%rsp), %rdx
incq %rdx
movq 0x28(%rsp), %rcx
movslq 0x1c(%rcx), %rax
cmpq %rax, %rdx
jl 0x27b0e
movq 0x40(%rsp), %rbp
movl 0x3c(%rbp), %eax
movq 0x20(%rsp), %rdx
incq %rdx
movslq %eax, %rcx
cmpq %rcx, %rdx
jl 0x27af0
movl 0x60(%rsp), %eax
incl %eax
cmpl 0xd0(%rsp), %eax
jne 0x2776d
jmp 0x27cae
leaq 0x13fc8f(%rip), %rdi    # 0x167900
callq 0x23100
testl %eax, %eax
je 0x27a31
xorl %ebx, %ebx
leaq 0x139c79(%rip), %rax    # 0x161900
leaq (%rax,%rbx), %rdi
callq 0x7cff4
addq $0x18, %rbx
cmpq $0x6000, %rbx           # imm = 0x6000
jne 0x27c80
leaq 0x13fc5c(%rip), %rdi    # 0x167900
callq 0x22590
jmp 0x27a31
movsd 0x3a0(%rsp), %xmm0
ucomisd 0xca3e9(%rip), %xmm0    # 0xf20a8
leaq 0xca95e(%rip), %rsi     # 0xf2624
jbe 0x27d8a
movq 0x10(%rbp), %rax
movq 0x1a0(%rbp), %rcx
testq %rcx, %rcx
cmoveq %rsi, %rcx
movq %rsi, %rdx
testq %rax, %rax
leaq 0x3f0(%rsp), %rdi
je 0x27cfc
movq 0x1a0(%rax), %rdx
testq %rdx, %rdx
cmoveq %rsi, %rdx
leaq 0xca923(%rip), %rsi     # 0xf2626
xorl %eax, %eax
callq 0x22130
cmpb $0x1, 0x139b6b(%rip)    # 0x16187c
jne 0x27d32
movsd 0x3a0(%rsp), %xmm0
leaq 0xca909(%rip), %rdi     # 0xf262c
leaq 0x3f0(%rsp), %rsi
movb $0x1, %al
callq 0x22080
movl $0x98, %edi
callq 0x22890
movq %rax, %r14
movq %rax, %rdi
leaq 0x320(%rsp), %rsi
callq 0x45292
leaq 0x3f0(%rsp), %rdi
callq 0xa158b
movq %rax, 0x90(%r14)
movl 0x139ae3(%rip), %edx    # 0x16184c
leaq 0x139ad0(%rip), %rdi    # 0x161840
movq %r14, %rsi
callq 0x9ec4e
movq 0xb0(%rsp), %rax
incl %eax
movq %rax, 0xb0(%rsp)
movq 0x68(%rsp), %rdx
incq %rdx
movq 0x139b4f(%rip), %rax    # 0x1618e8
movslq 0x14(%rax), %rcx
cmpq %rcx, %rdx
jl 0x276ad
cmpb $0x0, 0x139acb(%rip)    # 0x161878
je 0x27dfb
leaq 0xcab48(%rip), %rdi     # 0xf28fe
callq 0x22e80
leaq 0x118(%rsp), %rdi
callq 0x9e67e
leaq 0xca6af(%rip), %rdi     # 0xf247e
movb $0x1, %al
callq 0x22080
leaq 0xca766(%rip), %rdi     # 0xf2543
movq 0xb0(%rsp), %rsi
xorl %eax, %eax
callq 0x22080
movq 0x13412d(%rip), %rax    # 0x15bf20
movq (%rax), %rdi
callq 0x22a60
cmpb $0x1, 0x139ac6(%rip)    # 0x1618c8
jne 0x27fdd
leaq 0x140(%rsp), %rbx
movq %rbx, %rdi
callq 0x9e61c
movq $0x0, 0x88(%rsp)
movq %rbx, %rdi
xorl %esi, %esi
callq 0x22f90
movq 0x139ab3(%rip), %rax    # 0x1618e8
movq (%rax), %rdi
callq 0x41d4c
movq %rax, %rdi
callq 0x74f5c
movsd %xmm0, 0x40(%rsp)
movq 0x139a96(%rip), %rax    # 0x1618e8
movq (%rax), %rdi
callq 0x41d4c
movq %rax, %rdi
callq 0x74f5c
movsd %xmm0, 0x60(%rsp)
xorps %xmm1, %xmm1
cvtsi2sdl 0x134b05(%rip), %xmm1 # 0x15c978
xorps %xmm0, %xmm0
cvtsi2sdl 0x134af6(%rip), %xmm0 # 0x15c974
divsd %xmm0, %xmm1
movsd %xmm1, (%rsp)
movsd 0x134af1(%rip), %xmm0   # 0x15c980
callq 0x22490
mulsd (%rsp), %xmm0
callq 0x22700
movsd %xmm0, 0x90(%rsp)
movslq 0x134ac2(%rip), %r12    # 0x15c970
leal 0x1(%r12), %eax
cltq
imulq $0x55555556, %rax, %rax # imm = 0x55555556
movq %rax, %rcx
shrq $0x3f, %rcx
shrq $0x20, %rax
addl %ecx, %eax
leal (%rax,%rax,2), %eax
negl %eax
leal (%r12,%rax), %ebx
incl %ebx
movq 0x139a0d(%rip), %rax    # 0x1618e8
movq (%rax), %rdi
callq 0x41d4c
leaq 0x250(%rsp), %rdi
movq %rax, %rsi
callq 0x74908
movsd 0xca10d(%rip), %xmm3    # 0xf2008
leaq 0xce9f6(%rip), %rax     # 0xf68f8
movsd (%rax), %xmm1
movapd %xmm1, %xmm0
divsd 0x1399a6(%rip), %xmm0   # 0x1618b8
addsd %xmm3, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, 0x18(%rsp)
cmpl $0x2, %eax
jl 0x27f2f
cvttpd2dq %xmm0, %xmm0
cvtdq2pd %xmm0, %xmm0
divsd %xmm0, %xmm1
movsd %xmm1, 0xd0(%rsp)
movslq %ebx, %rax
movsd 0x270(%rsp,%rax,8), %xmm1
movq %rax, 0x20(%rsp)
subsd 0x258(%rsp,%rax,8), %xmm1
movsd 0x134a5e(%rip), %xmm0   # 0x15c9b8
movsd %xmm1, 0x158(%rsp)
divsd %xmm0, %xmm1
cvttsd2si %xmm1, %eax
movq %rax, 0x1a0(%rsp)
testl %eax, %eax
jns 0x2867e
cmpb $0x0, 0x1398f6(%rip)    # 0x161878
je 0x27fd0
leaq 0xca98e(%rip), %rdi     # 0xf2919
callq 0x22e80
leaq 0x140(%rsp), %rdi
callq 0x9e67e
leaq 0xca4da(%rip), %rdi     # 0xf247e
movb $0x1, %al
callq 0x22080
leaq 0xca591(%rip), %rdi     # 0xf2543
movq 0x88(%rsp), %rsi
xorl %eax, %eax
callq 0x22080
movq 0x133f58(%rip), %rax    # 0x15bf20
movq (%rax), %rdi
callq 0x22a60
leaq 0x250(%rsp), %rdi
callq 0x75728
cmpb $0x1, 0x1398e8(%rip)    # 0x1618cc
jne 0x28bc1
leaq 0x118(%rsp), %rbx
movq %rbx, %rdi
callq 0x9e61c
movq %rbx, %rdi
xorl %esi, %esi
callq 0x22f90
movq 0x1398dd(%rip), %rax    # 0x1618e8
movq (%rax), %rdi
callq 0x41d4c
movq %rax, %rdi
callq 0x74f5c
movsd %xmm0, 0x18(%rsp)
movq 0x1398c0(%rip), %rax    # 0x1618e8
movq (%rax), %rdi
callq 0x41d4c
movq %rax, %rdi
callq 0x74f5c
movsd %xmm0, 0x70(%rsp)
xorps %xmm1, %xmm1
cvtsi2sdl 0x13492f(%rip), %xmm1 # 0x15c978
xorps %xmm0, %xmm0
cvtsi2sdl 0x134920(%rip), %xmm0 # 0x15c974
divsd %xmm0, %xmm1
movsd %xmm1, (%rsp)
movsd 0x13491b(%rip), %xmm0   # 0x15c980
callq 0x22490
mulsd (%rsp), %xmm0
callq 0x22700
movsd %xmm0, 0x28(%rsp)
movsd 0x134936(%rip), %xmm0   # 0x15c9b8
movaps %xmm0, (%rsp)
leaq 0x13502b(%rip), %rax    # 0x15d0b8
movsd (%rax), %xmm0
movaps %xmm0, 0xd0(%rsp)
movq 0x139848(%rip), %rax    # 0x1618e8
movq (%rax), %rdi
callq 0x41d4c
leaq 0x1c0(%rsp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x74908
movsd 0xc9f85(%rip), %xmm0    # 0xf2048
movq %rbx, %rdi
callq 0x751e6
leaq 0x3aff(%rip), %rdx      # 0x2bbd1
leaq 0x250(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
xorl %ecx, %ecx
callq 0x2ce00
movq $0x0, 0x20(%rsp)
movq 0x1397ef(%rip), %rax    # 0x1618e8
cmpl $0x0, 0x14(%rax)
jle 0x28b55
movsd 0xc9efd(%rip), %xmm0    # 0xf2008
movsd 0x18(%rsp), %xmm1
mulsd %xmm0, %xmm1
mulsd 0xc9efb(%rip), %xmm1    # 0xf2018
movsd %xmm1, 0x18(%rsp)
movsd 0x70(%rsp), %xmm1
mulsd %xmm0, %xmm1
mulsd 0xc9eeb(%rip), %xmm1    # 0xf2020
movsd %xmm1, 0x70(%rsp)
movapd (%rsp), %xmm4
mulsd %xmm4, %xmm4
movapd %xmm4, %xmm0
movapd 0xd0(%rsp), %xmm3
cmpnlesd %xmm3, %xmm0
xorpd 0xc9f62(%rip), %xmm3    # 0xf20c0
movapd %xmm0, %xmm1
andpd %xmm4, %xmm1
movsd 0xc9ed2(%rip), %xmm2    # 0xf2040
andnpd %xmm2, %xmm0
orpd %xmm1, %xmm0
cmpnlesd %xmm4, %xmm3
movapd %xmm3, %xmm1
andnpd %xmm0, %xmm1
andpd %xmm4, %xmm3
orpd %xmm1, %xmm3
movapd %xmm3, 0xd0(%rsp)
leaq 0xb8(%rsp), %r14
leaq 0xe8(%rsp), %r13
leaq 0x140(%rsp), %r12
xorl %edx, %edx
xorl %ebp, %ebp
movq $0x0, 0x20(%rsp)
movq 0x8(%rax), %rcx
movq (%rcx,%rdx,8), %rsi
cmpl $0x0, 0x2c(%rsi)
jle 0x281d8
incq %rdx
movslq 0x14(%rax), %rcx
cmpq %rcx, %rdx
jl 0x281b9
jmp 0x28b55
movl 0x3c(%rsi), %ecx
testl %ecx, %ecx
jle 0x281c7
xorl %edi, %edi
movq %rdx, 0x98(%rsp)
movq %rsi, 0x88(%rsp)
movq 0x30(%rsi), %rax
movq (%rax,%rdi,8), %r8
cmpl $0x0, 0x1c(%r8)
jle 0x28663
movq %rdi, 0x48(%rsp)
xorl %ecx, %ecx
movq %r8, 0xa8(%rsp)
movq 0x10(%r8), %rax
movq %rcx, 0x90(%rsp)
movq (%rax,%rcx,8), %r15
movq (%r15), %rax
movq %r15, %rdi
callq *0xb8(%rax)
movl %eax, %ebx
callq 0x6f518
cmpl %eax, %ebx
jne 0x2862b
cmpl $0x0, 0x24(%r15)
jle 0x2862b
xorl %ecx, %ecx
movq %r15, 0x60(%rsp)
movq 0x18(%r15), %rax
movq %rcx, 0x40(%rsp)
movq (%rax,%rcx,8), %rdi
movq (%rdi), %rax
movq %rdi, 0x30(%rsp)
callq *0x58(%rax)
movapd %xmm0, (%rsp)
callq 0xa0994
movapd (%rsp), %xmm2
divsd 0xd0(%rsp), %xmm2
cvttsd2si %xmm2, %eax
cvttpd2dq %xmm2, %xmm1
cvtdq2pd %xmm1, %xmm1
subsd %xmm1, %xmm2
xorl %r15d, %r15d
ucomisd %xmm0, %xmm2
seta %r15b
addl %eax, %r15d
jle 0x28611
movq 0x30(%rsp), %rax
addq $0x20, %rax
movq %rax, 0x50(%rsp)
movq 0x30(%rsp), %rsi
movq (%rsi), %rax
movq %r14, %rdi
callq *0x218(%rax)
movq %r13, %rdi
movq 0x50(%rsp), %rsi
callq 0x7da9a
movq %r12, %rdi
movq %r13, %rsi
callq 0x7e6c4
callq 0xa0994
mulsd 0x1346b0(%rip), %xmm0   # 0x15c998
movq %r12, %rdi
callq 0x7de58
callq 0xa0994
mulsd 0x13469b(%rip), %xmm0   # 0x15c998
movq %r12, %rdi
callq 0x7debe
callq 0xa0994
mulsd 0x134686(%rip), %xmm0   # 0x15c998
movq %r12, %rdi
callq 0x7df1e
movq %r12, %rdi
callq 0x7dda0
leaq 0x3f0(%rsp), %rbx
movq %rbx, %rdi
movq %r12, %rsi
callq 0x7e6c4
leaq 0x168(%rsp), %rdi
movq %r14, %rsi
movq %rbx, %rdx
xorl %ecx, %ecx
callq 0x7cbe4
movabsq $0x47efffffe0000000, %rax # imm = 0x47EFFFFFE0000000
movq %rax, 0xa0(%rsp)
movsd 0x13463c(%rip), %xmm0   # 0x15c9a0
movsd %xmm0, (%rsp)
callq 0xa0994
movsd 0x134632(%rip), %xmm1   # 0x15c9a8
subsd 0x134622(%rip), %xmm1   # 0x15c9a0
mulsd %xmm1, %xmm0
addsd (%rsp), %xmm0
movsd %xmm0, (%rsp)
movq 0x139555(%rip), %rdi    # 0x1618e8
leaq 0x134d1e(%rip), %rax    # 0x15d0b8
movsd (%rax), %xmm0
leaq 0x168(%rsp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
movsd (%rsp), %xmm1
leaq 0xa0(%rsp), %rax
pushq %rax
pushq $0x0
callq 0x2edaa
movsd 0x10(%rsp), %xmm0
addq $0x10, %rsp
incl %ebp
testl %eax, %eax
je 0x28400
movsd 0xa0(%rsp), %xmm2
mulsd 0xc9c6a(%rip), %xmm2    # 0xf2050
minsd %xmm0, %xmm2
movsd 0x1345ae(%rip), %xmm1   # 0x15c9a0
ucomisd %xmm2, %xmm1
movapd %xmm2, %xmm0
ja 0x28608
leaq 0x3f0(%rsp), %rbx
movq %rbx, %rdi
movq %r12, %rsi
callq 0x7e426
leaq 0x128(%rsp), %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x7da17
movq %r14, %rbx
movl %ebp, (%rsp)
movq %r12, %rsi
leaq 0x1a8(%rsp), %rbp
movslq 0x134532(%rip), %rax    # 0x15c970
leaq (%rax,%rax,2), %rdx
shlq $0x3, %rdx
addq 0x133b5b(%rip), %rdx    # 0x15bfa8
leaq 0x100(%rsp), %r14
movq %r14, %rdi
callq 0x7e3be
movq %r14, %rdi
callq 0x7dda0
movq %rbp, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x7e3be
movq %rbp, %rdi
callq 0x7dda0
movq %r13, %r14
movsd 0x1344fa(%rip), %xmm0   # 0x15c980
leaq 0x320(%rsp), %r13
movq %r13, %rdi
leaq 0x128(%rsp), %rsi
movq %r12, %rdx
movq %rbp, %rcx
movsd 0x28(%rsp), %xmm1
movsd 0x18(%rsp), %xmm2
movsd 0x70(%rsp), %xmm3
callq 0x45338
movq 0x13942b(%rip), %rsi    # 0x1618e8
movq %r13, %rdi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x2b616
movsd %xmm0, 0x3a0(%rsp)
xorpd %xmm1, %xmm1
ucomisd %xmm0, %xmm1
jae 0x2858c
movsd 0x1393c8(%rip), %xmm1   # 0x1618b0
ucomisd %xmm0, %xmm1
movq %r14, %r13
ja 0x2858f
movq %r13, %rbx
leaq 0x3f0(%rsp), %rdi
leaq 0xca18b(%rip), %rsi     # 0xf2692
movl (%rsp), %edx
xorl %eax, %eax
callq 0x22130
movl $0x98, %edi
callq 0x22890
movq %rax, %r14
movq %rax, %rdi
leaq 0x320(%rsp), %rsi
callq 0x45292
leaq 0x3f0(%rsp), %rdi
callq 0xa158b
movq %rax, 0x90(%r14)
movsd 0x13446e(%rip), %xmm1   # 0x15c9b8
xorpd %xmm0, %xmm0
leaq 0x250(%rsp), %rdi
movq %r14, %rsi
leaq 0x367f(%rip), %rdx      # 0x2bbdf
xorl %ecx, %ecx
callq 0x2ce6c
testq %rax, %rax
je 0x28594
movq 0x90(%r14), %rdi
testq %rdi, %rdi
je 0x2857d
callq 0x22a90
movl $0x98, %esi
movq %r14, %rdi
callq 0x228b0
jmp 0x285fa
movq %r14, %r13
movq %rbx, %r14
jmp 0x28605
cmpb $0x1, 0x1392e1(%rip)    # 0x16187c
jne 0x285b7
movsd 0x3a0(%rsp), %xmm0
leaq 0xca0ea(%rip), %rdi     # 0xf2697
movl (%rsp), %esi
movb $0x1, %al
callq 0x22080
movq 0x2a0(%rsp), %rsi
leaq 0x250(%rsp), %rdi
movq %rdi, %rdx
movq %r14, %rcx
callq 0x2d474
incl 0x2a8(%rsp)
movl 0x13926d(%rip), %edx    # 0x16184c
leaq 0x13925a(%rip), %rdi    # 0x161840
movq %r14, %rsi
callq 0x9ec4e
movq 0x20(%rsp), %rax
incl %eax
movq %rax, 0x20(%rsp)
leaq 0xb8(%rsp), %r14
movq %rbx, %r13
movl (%rsp), %ebp
decl %r15d
jne 0x282b2
movq 0x40(%rsp), %rcx
incq %rcx
movq 0x60(%rsp), %r15
movslq 0x24(%r15), %rax
cmpq %rax, %rcx
jl 0x28250
movq 0x90(%rsp), %rcx
incq %rcx
movq 0xa8(%rsp), %r8
movslq 0x1c(%r8), %rax
cmpq %rax, %rcx
jl 0x28213
movq 0x88(%rsp), %rsi
movl 0x3c(%rsi), %ecx
movq 0x98(%rsp), %rdx
movq 0x48(%rsp), %rdi
incq %rdi
movslq %ecx, %rax
cmpq %rax, %rdi
jl 0x281f1
movq 0x13926f(%rip), %rax    # 0x1618e8
jmp 0x281c7
leal 0x2(%r12), %eax
cltq
imulq $0x55555556, %rax, %rax # imm = 0x55555556
movq %rax, %rcx
shrq $0x3f, %rcx
shrq $0x20, %rax
addl %ecx, %eax
leal (%rax,%rax,2), %eax
negl %eax
movsd 0x40(%rsp), %xmm1
mulsd %xmm3, %xmm1
movsd 0x60(%rsp), %xmm2
mulsd %xmm3, %xmm2
mulsd 0xc995e(%rip), %xmm1    # 0xf2018
movsd %xmm1, 0x40(%rsp)
leal 0x2(%r12,%rax), %eax
mulsd 0xc9953(%rip), %xmm2    # 0xf2020
movsd %xmm2, 0x60(%rsp)
movq 0x1a0(%rsp), %rcx
leal 0x1(%rcx), %ecx
movslq %eax, %r14
movsd 0x270(%rsp,%r14,8), %xmm2
subsd 0x258(%rsp,%r14,8), %xmm2
movapd %xmm2, %xmm1
divsd %xmm0, %xmm1
cvttsd2si %xmm1, %eax
movq %rax, 0x98(%rsp)
leal 0x1(%rax), %eax
xorps %xmm0, %xmm0
cvtsi2sd %ecx, %xmm0
movsd 0x158(%rsp), %xmm1
divsd %xmm0, %xmm1
movsd %xmm1, 0x158(%rsp)
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
divsd %xmm0, %xmm2
movsd %xmm2, 0x160(%rsp)
leaq (%r12,%r12,2), %rax
shlq $0x3, %rax
addq 0x13385c(%rip), %rax    # 0x15bfa8
movq %rax, 0xa8(%rsp)
leaq 0x168(%rsp), %r15
movq $0x0, 0x88(%rsp)
movq $0x0, 0x68(%rsp)
cmpl $0x0, 0x98(%rsp)
js 0x28b36
xorps %xmm0, %xmm0
cvtsi2sdl 0x68(%rsp), %xmm0
mulsd 0x158(%rsp), %xmm0
movsd %xmm0, 0xb0(%rsp)
movq $0x0, 0x48(%rsp)
leaq 0x320(%rsp), %rdi
callq 0x45170
cmpl $0x0, 0x18(%rsp)
jle 0x28a6c
movq 0x20(%rsp), %rax
movsd 0x258(%rsp,%rax,8), %xmm0
addsd 0xb0(%rsp), %xmm0
movsd %xmm0, 0x70(%rsp)
xorps %xmm0, %xmm0
cvtsi2sdl 0x48(%rsp), %xmm0
mulsd 0x160(%rsp), %xmm0
addsd 0x258(%rsp,%r14,8), %xmm0
movsd %xmm0, 0x28(%rsp)
xorl %ebx, %ebx
movsd 0x1341b4(%rip), %xmm0   # 0x15c9b8
movsd %xmm0, (%rsp)
callq 0xa0994
movsd %xmm0, 0x30(%rsp)
movsd 0x13419c(%rip), %xmm0   # 0x15c9b8
movsd %xmm0, 0x50(%rsp)
callq 0xa0994
movsd (%rsp), %xmm2
mulsd 0x30(%rsp), %xmm2
addsd 0x70(%rsp), %xmm2
movsd 0x50(%rsp), %xmm1
mulsd %xmm0, %xmm1
addsd 0x28(%rsp), %xmm1
leaq 0x128(%rsp), %rdi
movapd %xmm2, %xmm0
callq 0x9774a
movsd 0x258(%rsp,%r12,8), %xmm0
movsd %xmm0, (%rsp)
movsd 0x134118(%rip), %xmm0   # 0x15c988
movsd %xmm0, 0x30(%rsp)
callq 0xa0994
movsd (%rsp), %xmm1
addsd 0x30(%rsp), %xmm1
addsd 0xc97a2(%rip), %xmm0    # 0xf2030
addsd %xmm0, %xmm0
mulsd 0x1340f6(%rip), %xmm0   # 0x15c990
addsd %xmm1, %xmm0
movsd %xmm0, (%rsp)
ucomisd 0x270(%rsp,%r12,8), %xmm0
ja 0x28a60
callq 0xa0994
movsd %xmm0, 0x30(%rsp)
leaq 0x100(%rsp), %rbp
movq %rbp, %rdi
leaq 0xcdaa0(%rip), %rsi     # 0xf6370
callq 0x97a80
xorps %xmm1, %xmm1
cvtsi2sd %ebx, %xmm1
movsd 0x30(%rsp), %xmm0
addsd %xmm1, %xmm0
mulsd 0xd0(%rsp), %xmm0
movq %rbp, %rdi
callq 0x97cc2
movq %rbp, %rdi
callq 0x97c64
leaq 0x1c0(%rsp), %rdi
callq 0x7cff4
movsd 0x128(%rsp), %xmm0
movsd 0x130(%rsp), %xmm1
movq 0x20(%rsp), %rbp
movsd %xmm0, 0x1c0(%rsp,%rbp,8)
movsd %xmm1, 0x1c0(%rsp,%r14,8)
movsd (%rsp), %xmm0
movsd %xmm0, 0x1c0(%rsp,%r12,8)
movq %r15, %rdi
callq 0x7da88
movsd 0x100(%rsp), %xmm0
movsd 0x108(%rsp), %xmm1
movsd %xmm0, 0x168(%rsp,%rbp,8)
movsd %xmm1, 0x168(%rsp,%r14,8)
movabsq $-0x4036666666666666, %rax # imm = 0xBFC999999999999A
movq %rax, 0x168(%rsp,%r12,8)
movq %r15, %rdi
callq 0x7dda0
leaq 0xb8(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
movq 0xa8(%rsp), %rdx
callq 0x7e3be
movq %rbp, %rdi
callq 0x7dda0
leaq 0xe8(%rsp), %r13
movq %r13, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x7e3be
movq %r13, %rdi
callq 0x7dda0
movsd 0x133fab(%rip), %xmm0   # 0x15c980
leaq 0x3f0(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
movq %r15, %rdx
movq %r13, %rcx
movsd 0x90(%rsp), %xmm1
movsd 0x40(%rsp), %xmm2
movsd 0x60(%rsp), %xmm3
callq 0x45338
movq 0x138edc(%rip), %rsi    # 0x1618e8
leaq 0x3f0(%rsp), %rdi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x2b616
movsd %xmm0, 0x470(%rsp)
ucomisd 0xc967a(%rip), %xmm0    # 0xf20a8
jne 0x28a32
jnp 0x28a60
movsd 0x138e76(%rip), %xmm1   # 0x1618b0
ucomisd %xmm0, %xmm1
ja 0x28a60
ucomisd 0x3a0(%rsp), %xmm0
jbe 0x28a60
leaq 0x320(%rsp), %rdi
leaq 0x3f0(%rsp), %rsi
callq 0x45d60
incl %ebx
cmpl %ebx, 0x18(%rsp)
jne 0x287fc
movsd 0x3a0(%rsp), %xmm0
ucomisd 0xc962b(%rip), %xmm0    # 0xf20a8
jbe 0x28b1c
cmpb $0x1, 0x138df2(%rip)    # 0x16187c
jne 0x28aa4
leaq 0xc9be2(%rip), %rdi     # 0xf2675
movq 0x68(%rsp), %rsi
movq 0x48(%rsp), %rdx
movb $0x1, %al
callq 0x22080
leaq 0x3f0(%rsp), %rdi
leaq 0xc9bd7(%rip), %rsi     # 0xf268a
movq 0x68(%rsp), %rdx
movq 0x48(%rsp), %rcx
xorl %eax, %eax
callq 0x22130
movl $0x98, %edi
callq 0x22890
movq %rax, %rbx
movq %rax, %rdi
leaq 0x320(%rsp), %rsi
callq 0x45292
leaq 0x3f0(%rsp), %rdi
callq 0xa158b
movq %rax, 0x90(%rbx)
movl 0x138d51(%rip), %edx    # 0x16184c
leaq 0x138d3e(%rip), %rdi    # 0x161840
movq %rbx, %rsi
callq 0x9ec4e
movq 0x88(%rsp), %rax
incl %eax
movq %rax, 0x88(%rsp)
movq 0x48(%rsp), %rcx
leal 0x1(%rcx), %eax
cmpl 0x98(%rsp), %ecx
movq %rax, 0x48(%rsp)
jne 0x287a3
movq 0x68(%rsp), %rcx
leal 0x1(%rcx), %eax
cmpl 0x1a0(%rsp), %ecx
movq %rax, 0x68(%rsp)
jne 0x28771
jmp 0x27f7b
cmpb $0x0, 0x138d1c(%rip)    # 0x161878
je 0x28ba7
leaq 0xc9dd1(%rip), %rdi     # 0xf2936
callq 0x22e80
leaq 0x118(%rsp), %rdi
callq 0x9e67e
leaq 0xc9900(%rip), %rdi     # 0xf247e
movb $0x1, %al
callq 0x22080
leaq 0xc99b7(%rip), %rdi     # 0xf2543
movq 0x20(%rsp), %rsi
xorl %eax, %eax
callq 0x22080
movq 0x133381(%rip), %rax    # 0x15bf20
movq (%rax), %rdi
callq 0x22a60
leaq 0x250(%rsp), %rdi
callq 0x2cf04
leaq 0x1c0(%rsp), %rdi
callq 0x75728
cmpb $0x1, 0x138d10(%rip)    # 0x1618d8
jne 0x28f88
leaq 0x140(%rsp), %rbx
movq %rbx, %rdi
callq 0x9e61c
xorl %r14d, %r14d
movq %rbx, %rdi
xorl %esi, %esi
callq 0x22f90
movq 0x138cf6(%rip), %rax    # 0x1618e8
movq (%rax), %rsi
leaq 0x250(%rsp), %rdi
callq 0x41f0a
movq 0x138cdf(%rip), %rax    # 0x1618e8
movq (%rax), %rdi
callq 0x41d4c
movq %rax, %rdi
callq 0x74f5c
mulsd 0xc93e7(%rip), %xmm0    # 0xf2008
movsd %xmm0, 0x30(%rsp)
xorps %xmm1, %xmm1
cvtsi2sdl 0x133d46(%rip), %xmm1 # 0x15c978
xorps %xmm0, %xmm0
cvtsi2sdl 0x133d37(%rip), %xmm0 # 0x15c974
divsd %xmm0, %xmm1
movsd %xmm1, (%rsp)
movsd 0x133d32(%rip), %xmm0   # 0x15c980
callq 0x22490
mulsd (%rsp), %xmm0
callq 0x22700
movsd %xmm0, 0x18(%rsp)
movsd 0xc93ed(%rip), %xmm0    # 0xf2058
movsd 0x30(%rsp), %xmm1
movapd %xmm1, %xmm4
mulsd %xmm1, %xmm0
movapd %xmm0, 0x50(%rsp)
movsd 0x133d31(%rip), %xmm1   # 0x15c9b8
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm1
jbe 0x28ce0
leaq 0xcdc40(%rip), %rax     # 0xf68d8
movsd (%rax), %xmm2
mulsd 0xc93bc(%rip), %xmm2    # 0xf2060
movapd 0x50(%rsp), %xmm3
unpcklpd %xmm1, %xmm3            # xmm3 = xmm3[0],xmm1[0]
shufpd $0x2, 0xc9419(%rip), %xmm2 # xmm2 = xmm2[0],mem[1]
mulpd %xmm3, %xmm2
mulpd %xmm3, %xmm2
movapd %xmm2, %xmm1
unpckhpd %xmm2, %xmm1            # xmm1 = xmm1[1],xmm2[1]
divsd %xmm1, %xmm2
addsd 0xc9335(%rip), %xmm2    # 0xf2008
cvttsd2si %xmm2, %eax
xorl %r14d, %r14d
testl %eax, %eax
cmovgl %eax, %r14d
movsd 0x138bd0(%rip), %xmm1   # 0x1618b8
ucomisd %xmm0, %xmm1
jbe 0x28d31
leaq 0xcdbe3(%rip), %rax     # 0xf68d8
movsd (%rax), %xmm0
mulsd 0xc935f(%rip), %xmm0    # 0xf2060
movapd 0x50(%rsp), %xmm2
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
mulsd %xmm2, %xmm1
mulsd %xmm1, %xmm1
divsd %xmm1, %xmm0
addsd 0xc92e5(%rip), %xmm0    # 0xf2008
cvttsd2si %xmm0, %eax
cmpl %eax, %r14d
cmovgl %r14d, %eax
movl %eax, %r14d
movsd 0xc92df(%rip), %xmm0    # 0xf2018
mulsd %xmm4, %xmm0
movsd %xmm0, 0x70(%rsp)
mulsd 0xc92d5(%rip), %xmm4    # 0xf2020
movsd %xmm4, 0x30(%rsp)
testl %r14d, %r14d
movl $0x400, %r13d           # imm = 0x400
cmovnel %r14d, %r13d
leaq 0x1c0(%rsp), %r14
leaq 0x1419cb(%rip), %r12    # 0x16a738
leaq 0x168(%rsp), %r15
movl $0x0, (%rsp)
xorl %ebp, %ebp
movl %r13d, 0x28(%rsp)
movq %r14, %rdi
callq 0x7e792
movq %r14, %rdi
callq 0x7dda0
movslq 0x133bd6(%rip), %rax    # 0x15c970
leaq (%rax,%rax,2), %rdx
shlq $0x3, %rdx
addq %r12, %rdx
movq %r15, %rdi
movq %r14, %rsi
callq 0x7e3be
movq %r15, %rdi
callq 0x7db90
leaq 0x1342f9(%rip), %rax    # 0x15d0b8
movsd (%rax), %xmm1
movapd %xmm1, %xmm2
xorpd 0xc92f1(%rip), %xmm2    # 0xf20c0
ucomisd %xmm2, %xmm0
jb 0x28ddf
ucomisd %xmm0, %xmm1
jae 0x28f2d
movq %r15, %rdi
callq 0x7dda0
leaq 0xb8(%rsp), %rbx
movq %rbx, %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x7e3be
movq %rbx, %rdi
callq 0x7db90
leaq 0x1342ac(%rip), %rax    # 0x15d0b8
movsd (%rax), %xmm1
movapd %xmm1, %xmm2
xorpd 0xc92a4(%rip), %xmm2    # 0xf20c0
ucomisd %xmm2, %xmm0
jb 0x28e2c
ucomisd %xmm0, %xmm1
jae 0x28f2d
movq %r12, %r13
movl (%rsp), %r12d
leaq 0xb8(%rsp), %rdi
callq 0x7dda0
callq 0xa0994
addsd %xmm0, %xmm0
addsd 0xc9217(%rip), %xmm0    # 0xf2068
mulsd 0x133b5f(%rip), %xmm0   # 0x15c9b8
addsd 0x50(%rsp), %xmm0
leaq 0x3f0(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x7e426
leaq 0xe8(%rsp), %rbx
movq %rbx, %rdi
leaq 0x250(%rsp), %rsi
movq %r15, %rdx
callq 0x7da17
movq %r15, %rdi
leaq 0xc982c(%rip), %rsi     # 0xf26c3
movl %ebp, %edx
xorl %eax, %eax
callq 0x22130
movsd 0x133ad8(%rip), %xmm0   # 0x15c980
leaq 0x320(%rsp), %rdi
movq %rbx, %rsi
movq %r14, %rdx
leaq 0xb8(%rsp), %rcx
movsd 0x18(%rsp), %xmm1
movsd 0x70(%rsp), %xmm2
movsd 0x30(%rsp), %xmm3
callq 0x45338
movl $0x98, %edi
callq 0x22890
movq %rax, %rbx
movq %rax, %rdi
leaq 0x320(%rsp), %rsi
callq 0x45292
movq %r15, %rdi
callq 0xa158b
movq %rax, 0x90(%rbx)
movl 0x138945(%rip), %edx    # 0x16184c
leaq 0x138932(%rip), %rdi    # 0x161840
movq %rbx, %rsi
callq 0x9ec4e
incl %r12d
movl %r12d, (%rsp)
movq %r13, %r12
movl 0x28(%rsp), %r13d
leaq 0x168(%rsp), %r15
incl %ebp
cmpl %ebp, %r13d
jne 0x28d83
cmpb $0x0, 0x138939(%rip)    # 0x161878
je 0x28f88
leaq 0xc9a0a(%rip), %rdi     # 0xf2952
callq 0x22e80
leaq 0x140(%rsp), %rdi
callq 0x9e67e
leaq 0xc951d(%rip), %rdi     # 0xf247e
movb $0x1, %al
callq 0x22080
leaq 0xc95d4(%rip), %rdi     # 0xf2543
movl (%rsp), %esi
xorl %eax, %eax
callq 0x22080
movq 0x132fa0(%rip), %rax    # 0x15bf20
movq (%rax), %rdi
callq 0x22a60
cmpb $0x1, 0x138935(%rip)    # 0x1618c4
jne 0x29272
leaq 0x140(%rsp), %rbx
movq %rbx, %rdi
callq 0x9e61c
movq %rbx, %rdi
xorl %esi, %esi
callq 0x22f90
xorps %xmm1, %xmm1
cvtsi2sdl 0x1339be(%rip), %xmm1 # 0x15c978
xorps %xmm0, %xmm0
cvtsi2sdl 0x1339af(%rip), %xmm0 # 0x15c974
divsd %xmm0, %xmm1
movsd %xmm1, (%rsp)
movsd 0x1339aa(%rip), %xmm0   # 0x15c980
callq 0x22490
mulsd (%rsp), %xmm0
callq 0x22700
movsd %xmm0, 0x28(%rsp)
leaq 0x250(%rsp), %rdi
xorpd %xmm0, %xmm0
xorpd %xmm1, %xmm1
xorpd %xmm2, %xmm2
callq 0x7cff6
leaq 0xcd8cd(%rip), %rax     # 0xf68d8
movsd (%rax), %xmm1
movsd 0xc9059(%rip), %xmm0    # 0xf2070
movapd %xmm1, %xmm2
mulsd 0xc903d(%rip), %xmm1    # 0xf2060
divsd %xmm0, %xmm2
divsd %xmm0, %xmm1
movsd %xmm2, 0x40(%rsp)
subsd %xmm2, %xmm1
movsd %xmm1, 0x20(%rsp)
leaq 0xcd8b6(%rip), %rax     # 0xf68f8
movsd (%rax), %xmm0
movsd %xmm0, 0x60(%rsp)
leaq 0x168(%rsp), %r15
leaq 0xe8(%rsp), %r13
xorl %ebp, %ebp
callq 0xa0994
mulsd 0x60(%rsp), %xmm0
movsd %xmm0, (%rsp)
callq 0xa0994
mulsd 0x20(%rsp), %xmm0
addsd 0x40(%rsp), %xmm0
movsd %xmm0, 0x30(%rsp)
callq 0xa0994
mulsd 0xc8fe6(%rip), %xmm0    # 0xf2078
addsd 0xc8fe6(%rip), %xmm0    # 0xf2080
movsd %xmm0, 0x50(%rsp)
movsd 0x30(%rsp), %xmm0
callq 0x22150
movsd %xmm0, 0x18(%rsp)
movsd 0x30(%rsp), %xmm0
callq 0x23190
movsd %xmm0, 0x30(%rsp)
movsd (%rsp), %xmm0
callq 0x22150
mulsd 0x30(%rsp), %xmm0
movsd %xmm0, 0x70(%rsp)
movsd (%rsp), %xmm0
callq 0x23190
movsd 0x30(%rsp), %xmm2
mulsd %xmm0, %xmm2
movsd 0x50(%rsp), %xmm0
movsd 0x70(%rsp), %xmm3
mulsd %xmm0, %xmm3
movsd 0x18(%rsp), %xmm1
mulsd %xmm0, %xmm1
mulsd %xmm0, %xmm2
leaq 0x1c0(%rsp), %rbx
movq %rbx, %rdi
movapd %xmm3, %xmm0
callq 0x7cff6
movq %r15, %rdi
leaq 0x250(%rsp), %rsi
movq %rbx, %rdx
callq 0x7d252
movq %r15, %rdi
callq 0x7dda0
movslq 0x133830(%rip), %rax    # 0x15c970
leaq (%rax,%rax,2), %rdx
shlq $0x3, %rdx
addq 0x132e59(%rip), %rdx    # 0x15bfa8
leaq 0xb8(%rsp), %r14
movq %r14, %rdi
movq %r15, %rsi
callq 0x7e3be
movq %r14, %rdi
callq 0x7dda0
movq %r13, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x7e3be
movq %r13, %rdi
callq 0x7dda0
movsd 0x1337f8(%rip), %xmm0   # 0x15c980
leaq 0x320(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
movq %r13, %rcx
movsd 0x28(%rsp), %xmm1
movsd 0xc8e6e(%rip), %xmm2    # 0xf2018
movsd 0xc8ed6(%rip), %xmm3    # 0xf2088
callq 0x45338
leaq 0x3f0(%rsp), %r12
movq %r12, %rdi
leaq 0xc9509(%rip), %rsi     # 0xf26d2
leaq 0xc9508(%rip), %rdx     # 0xf26d8
movl %ebp, %ecx
xorl %eax, %eax
callq 0x22130
movl $0x98, %edi
callq 0x22890
movq %rax, %rbx
movq %rax, %rdi
movq %r14, %rsi
callq 0x45292
movq %r12, %rdi
callq 0xa158b
movq %rax, 0x90(%rbx)
movl 0x138646(%rip), %edx    # 0x16184c
leaq 0x138633(%rip), %rdi    # 0x161840
movq %rbx, %rsi
callq 0x9ec4e
incl %ebp
cmpl $0x32, %ebp
jne 0x2905e
cmpb $0x0, 0x138651(%rip)    # 0x161878
je 0x29272
leaq 0xc9744(%rip), %rdi     # 0xf2974
callq 0x22e80
leaq 0x140(%rsp), %rdi
callq 0x9e67e
leaq 0xc9235(%rip), %rdi     # 0xf247e
movb $0x1, %al
callq 0x22080
leaq 0xc92ec(%rip), %rdi     # 0xf2543
movl $0x32, %esi
xorl %eax, %eax
callq 0x22080
movq 0x132cb6(%rip), %rax    # 0x15bf20
movq (%rax), %rdi
callq 0x22a60
cmpb $0x1, 0x138663(%rip)    # 0x1618dc
jne 0x2976d
cmpq $0x0, 0x138669(%rip)    # 0x1618f0
je 0x2976d
leaq 0x128(%rsp), %rbx
movq %rbx, %rdi
callq 0x9e61c
movq $0x0, 0x28(%rsp)
movq %rbx, %rdi
xorl %esi, %esi
callq 0x22f90
xorps %xmm1, %xmm1
cvtsi2sdl 0x1336bd(%rip), %xmm1 # 0x15c978
xorps %xmm0, %xmm0
cvtsi2sdl 0x1336ae(%rip), %xmm0 # 0x15c974
divsd %xmm0, %xmm1
movsd %xmm1, (%rsp)
movsd 0x1336a9(%rip), %xmm0   # 0x15c980
callq 0x22490
mulsd (%rsp), %xmm0
callq 0x22700
movsd %xmm0, 0x20(%rsp)
leaq 0xcd5e5(%rip), %rax     # 0xf68d8
movsd (%rax), %xmm0
divsd 0xc8d91(%rip), %xmm0    # 0xf2090
callq 0x23190
movapd %xmm0, 0x70(%rsp)
movq 0x1385df(%rip), %rcx    # 0x1618f0
movq (%rcx), %rax
movq 0x8(%rcx), %rcx
movq %rcx, %rdx
subq %rax, %rdx
shrq $0x3, %rdx
imull $0xaaaaaaab, %edx, %edx # imm = 0xAAAAAAAB
testl %edx, %edx
jle 0x296f5
leaq 0xcd5c1(%rip), %rdx     # 0xf68f8
movsd (%rdx), %xmm0
movsd %xmm0, 0x60(%rsp)
movapd 0x70(%rsp), %xmm0
xorpd 0xc8d71(%rip), %xmm0    # 0xf20c0
movapd %xmm0, 0x70(%rsp)
leaq 0x1c0(%rsp), %rbp
leaq 0x168(%rsp), %r15
leaq 0x3f0(%rsp), %r12
xorl %edi, %edi
movq $0x0, 0x28(%rsp)
subq %rax, %rcx
shrq $0x3, %rcx
imull $0xaaaaaaab, %ecx, %ecx # imm = 0xAAAAAAAB
movslq %ecx, %rcx
cmpq %rcx, %rdi
jl 0x29396
leaq 0x1418fc(%rip), %rsi    # 0x16ac90
jmp 0x2939e
leaq (%rdi,%rdi,2), %rcx
leaq (%rax,%rcx,8), %rsi
movq %rdi, 0x40(%rsp)
movq %rbp, %rdi
callq 0x7d006
movsd 0x60(%rsp), %xmm1
movapd %xmm1, %xmm0
divsd 0x1384fb(%rip), %xmm0   # 0x1618b8
addsd 0xc8cd3(%rip), %xmm0    # 0xf2098
cvttsd2si %xmm0, %eax
testl %eax, %eax
jle 0x296c3
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
divsd %xmm0, %xmm1
movsd %xmm1, 0x50(%rsp)
xorl %r14d, %r14d
movl %eax, 0x18(%rsp)
movl %r14d, (%rsp)
xorps %xmm0, %xmm0
cvtsi2sd %r14d, %xmm0
mulsd 0x50(%rsp), %xmm0
movsd %xmm0, 0x30(%rsp)
movl 0x133569(%rip), %eax    # 0x15c970
movl %eax, %ecx
incl %ecx
movslq %ecx, %rcx
imulq $0x55555556, %rcx, %rcx # imm = 0x55555556
movq %rcx, %rdx
shrq $0x3f, %rdx
shrq $0x20, %rcx
addl %edx, %ecx
leal (%rcx,%rcx,2), %ecx
negl %ecx
addl %ecx, %eax
incl %eax
cltq
leaq (%rax,%rax,2), %rax
leaq 0x141300(%rip), %rbx    # 0x16a738
leaq (%rbx,%rax,8), %rsi
movq %r15, %rdi
callq 0x7da9a
movl 0x133526(%rip), %esi    # 0x15c970
movq %r15, %rdi
movsd 0x30(%rsp), %xmm0
callq 0x7df82
movslq 0x133511(%rip), %rax    # 0x15c970
movaps 0x70(%rsp), %xmm0
movsd %xmm0, 0x168(%rsp,%rax,8)
movq %r15, %rdi
callq 0x7dda0
movsd 0x13352b(%rip), %xmm0   # 0x15c9a8
movq %r12, %rdi
movq %r15, %rsi
callq 0x7e426
leaq 0xb8(%rsp), %r13
movq %r13, %rdi
movq %rbp, %rsi
movq %r12, %rdx
callq 0x7da17
movslq 0x1334cb(%rip), %rax    # 0x15c970
leaq (%rax,%rax,2), %rax
leaq (%rbx,%rax,8), %rdx
movq %r12, %r14
movq %rbp, %r12
leaq 0xe8(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
callq 0x7e3be
movq %rbp, %rdi
callq 0x7dda0
leaq 0x140(%rsp), %rbx
movq %rbx, %rdi
movq %rbp, %rsi
movq %r12, %rbp
movq %r14, %r12
movq %r15, %rdx
callq 0x7e3be
movq %rbx, %rdi
callq 0x7dda0
movabsq $0x47efffffe0000000, %rax # imm = 0x47EFFFFFE0000000
movq %rax, 0x100(%rsp)
movq %r14, %rdi
movq %r15, %rsi
callq 0x7e6c4
leaq 0x250(%rsp), %rbx
movq %rbx, %rdi
movq %rbp, %rsi
movq %r14, %rdx
xorl %ecx, %ecx
callq 0x7cbe4
movq 0x1383ba(%rip), %rdi    # 0x1618e8
movsd 0x133472(%rip), %xmm1   # 0x15c9a8
movq %rbx, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
movsd 0xc8af5(%rip), %xmm0    # 0xf2040
leaq 0x100(%rsp), %rax
pushq %rax
pushq $0x0
callq 0x2edaa
addq $0x10, %rsp
testl %eax, %eax
je 0x295bb
movsd 0x100(%rsp), %xmm0
movsd 0x13342c(%rip), %xmm1   # 0x15c9a0
ucomisd %xmm0, %xmm1
jbe 0x29587
movl 0x18(%rsp), %eax
movl (%rsp), %r14d
jmp 0x296b7
leaq 0x320(%rsp), %rbx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x7e426
movq %r12, %rdi
movq %rbp, %rsi
movq %rbx, %rdx
callq 0x7da17
leaq 0xb8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x7d35e
movsd 0x1333bd(%rip), %xmm0   # 0x15c980
leaq 0x320(%rsp), %rbx
movq %rbx, %rdi
movq %r13, %rsi
movq %r15, %rdx
leaq 0x140(%rsp), %rcx
movsd 0x20(%rsp), %xmm1
movsd 0xc8a2e(%rip), %xmm2    # 0xf2018
movsd 0xc8a96(%rip), %xmm3    # 0xf2088
callq 0x45338
movq 0x1382ea(%rip), %rsi    # 0x1618e8
movq %rbx, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x2b616
movsd %xmm0, 0x3a0(%rsp)
ucomisd 0xc8a8a(%rip), %xmm0    # 0xf20a8
jne 0x29626
jnp 0x296af
movsd 0x138282(%rip), %xmm1   # 0x1618b0
ucomisd %xmm0, %xmm1
movl (%rsp), %r14d
ja 0x296b3
movq 0x28(%rsp), %rbx
movq %r12, %rdi
leaq 0xc9095(%rip), %rsi     # 0xf26dc
leaq 0xc9097(%rip), %rdx     # 0xf26e5
movq 0x40(%rsp), %rcx
movl %r14d, %r8d
xorl %eax, %eax
callq 0x22130
movl $0x98, %edi
callq 0x22890
movq %rax, %r13
movq %rax, %rdi
leaq 0x320(%rsp), %rsi
callq 0x45292
movq %r12, %rdi
callq 0xa158b
movq %rax, 0x90(%r13)
movl 0x1381bd(%rip), %edx    # 0x16184c
leaq 0x1381aa(%rip), %rdi    # 0x161840
movq %r13, %rsi
callq 0x9ec4e
incl %ebx
movq %rbx, 0x28(%rsp)
leaq 0x168(%rsp), %r15
jmp 0x296b3
movl (%rsp), %r14d
movl 0x18(%rsp), %eax
incl %r14d
cmpl %r14d, %eax
jne 0x293e9
movq 0x40(%rsp), %rdi
incq %rdi
movq 0x13821e(%rip), %rcx    # 0x1618f0
movq (%rcx), %rax
movq 0x8(%rcx), %rcx
movq %rcx, %rdx
subq %rax, %rdx
shrq $0x3, %rdx
imull $0xaaaaaaab, %edx, %edx # imm = 0xAAAAAAAB
movslq %edx, %rdx
cmpq %rdx, %rdi
jl 0x29378
cmpb $0x0, 0x13817c(%rip)    # 0x161878
je 0x2976d
leaq 0xc9290(%rip), %rdi     # 0xf2995
callq 0x22e80
leaq 0x128(%rsp), %rdi
callq 0x9e67e
leaq 0xc8d60(%rip), %rdi     # 0xf247e
movb $0x1, %al
callq 0x22080
movq 0x1381c4(%rip), %rax    # 0x1618f0
movq 0x8(%rax), %rcx
subq (%rax), %rcx
shrq $0x3, %rcx
imull $0xaaaaaaab, %ecx, %esi # imm = 0xAAAAAAAB
leaq 0xc8e66(%rip), %rdi     # 0xf25aa
xorl %eax, %eax
callq 0x22080
leaq 0xc8df1(%rip), %rdi     # 0xf2543
movq 0x28(%rsp), %rsi
xorl %eax, %eax
callq 0x22080
movq 0x1327bb(%rip), %rax    # 0x15bf20
movq (%rax), %rdi
callq 0x22a60
cmpb $0x1, 0x13815c(%rip)    # 0x1618d0
jne 0x29f4f
leaq 0x128(%rsp), %rbx
movq %rbx, %rdi
callq 0x9e61c
movq $0x0, 0x68(%rsp)
movq %rbx, %rdi
xorl %esi, %esi
callq 0x22f90
movq 0x138144(%rip), %rax    # 0x1618e8
movq (%rax), %rdi
callq 0x41d4c
movq %rax, %rdi
callq 0x74f5c
movsd %xmm0, 0xd0(%rsp)
movq 0x138124(%rip), %rax    # 0x1618e8
movq (%rax), %rdi
callq 0x41d4c
movq %rax, %rdi
callq 0x74f5c
movsd %xmm0, 0x90(%rsp)
xorps %xmm1, %xmm1
cvtsi2sdl 0x133190(%rip), %xmm1 # 0x15c978
xorps %xmm0, %xmm0
cvtsi2sdl 0x133181(%rip), %xmm0 # 0x15c974
divsd %xmm0, %xmm1
movsd %xmm1, (%rsp)
movsd 0x13317c(%rip), %xmm0   # 0x15c980
callq 0x22490
mulsd (%rsp), %xmm0
callq 0x22700
movsd %xmm0, 0xa8(%rsp)
movq 0x1380c5(%rip), %rdi    # 0x1618e8
cmpl $0x0, 0x14(%rdi)
jle 0x29efd
movsd 0xc87d3(%rip), %xmm1    # 0xf2008
movsd 0xd0(%rsp), %xmm0
mulsd %xmm1, %xmm0
mulsd 0xc87ce(%rip), %xmm0    # 0xf2018
movsd %xmm0, 0xd0(%rsp)
movsd 0x90(%rsp), %xmm0
mulsd %xmm1, %xmm0
mulsd 0xc87b8(%rip), %xmm0    # 0xf2020
movsd %xmm0, 0x90(%rsp)
movslq 0x1330f8(%rip), %rsi    # 0x15c970
leal 0x2(%rsi), %eax
cltq
imulq $0x55555556, %rax, %rax # imm = 0x55555556
movq %rax, %rcx
shrq $0x3f, %rcx
shrq $0x20, %rax
addl %ecx, %eax
leal (%rax,%rax,2), %eax
negl %eax
addl %esi, %eax
addl $0x2, %eax
leal 0x1(%rsi), %ecx
movslq %ecx, %rcx
imulq $0x55555556, %rcx, %rcx # imm = 0x55555556
movq %rcx, %rdx
shrq $0x3f, %rdx
shrq $0x20, %rcx
addl %edx, %ecx
leal (%rcx,%rcx,2), %ecx
negl %ecx
movq %rsi, 0x70(%rsp)
addl %esi, %ecx
incl %ecx
leaq 0xcd02e(%rip), %rdx     # 0xf68f8
movsd (%rdx), %xmm0
movsd %xmm0, 0xb0(%rsp)
movslq %ecx, %rcx
movq %rcx, 0x50(%rsp)
movslq %eax, %r15
leaq 0x3f0(%rsp), %rbp
leaq 0x168(%rsp), %rbx
leaq 0xb8(%rsp), %r14
leaq 0xe8(%rsp), %r13
xorl %ecx, %ecx
movq $0x0, 0x68(%rsp)
movq %r15, 0x28(%rsp)
movq %rdi, (%rsp)
movq 0x8(%rdi), %rax
movq %rcx, 0x98(%rsp)
movq (%rax,%rcx,8), %r12
movq %r12, %rdi
callq 0x2bc78
testl %eax, %eax
je 0x29ee1
movq %r12, 0x20(%rsp)
movq %r12, %rdi
callq 0x41d4c
leaq 0x1c0(%rsp), %rdi
movq %rax, %rsi
callq 0x74908
movsd 0x1c8(%rsp), %xmm0
ucomisd 0x1e0(%rsp), %xmm0
ja 0x29ecb
movsd 0x1d0(%rsp), %xmm0
ucomisd 0x1e8(%rsp), %xmm0
ja 0x29ecb
movsd 0x1d8(%rsp), %xmm0
ucomisd 0x1f0(%rsp), %xmm0
ja 0x29ecb
leaq 0x1c0(%rsp), %rdi
callq 0x750f8
leaq 0x133709(%rip), %rax    # 0x15d0b8
movsd (%rax), %xmm1
movapd %xmm1, %xmm2
xorpd 0xc8701(%rip), %xmm2    # 0xf20c0
ucomisd %xmm2, %xmm0
jb 0x299cf
ucomisd %xmm0, %xmm1
jae 0x29ecb
leaq 0x320(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x88284
movq 0x20(%rsp), %rax
movq 0x1a0(%rax), %rdi
testq %rdi, %rdi
je 0x29a20
movl $0x5, %edx
leaq 0xc8cef(%rip), %rsi     # 0xf26ec
callq 0x223b0
testl %eax, %eax
jne 0x29a20
movq 0x20(%rsp), %rdi
leaq 0x320(%rsp), %rsi
callq 0x2bcba
testl %eax, %eax
je 0x29ebe
movsd 0xb0(%rsp), %xmm1
movapd %xmm1, %xmm0
divsd 0x137e83(%rip), %xmm0   # 0x1618b8
addsd 0xc85cb(%rip), %xmm0    # 0xf2008
cvttsd2si %xmm0, %eax
movl %eax, 0x88(%rsp)
cmpl $0x2, %eax
jl 0x29a59
cvttpd2dq %xmm0, %xmm0
cvtdq2pd %xmm0, %xmm0
divsd %xmm0, %xmm1
movsd %xmm1, 0x60(%rsp)
cmpl $0x0, 0x88(%rsp)
jle 0x29ebe
movl $0x0, 0x48(%rsp)
leaq 0x250(%rsp), %rdi
callq 0x45170
movq 0x50(%rsp), %rax
movsd 0x1c8(%rsp,%rax,8), %xmm1
movsd 0x1e0(%rsp,%rax,8), %xmm0
movsd %xmm1, 0x18(%rsp)
ucomisd %xmm1, %xmm0
jbe 0x29dfa
xorps %xmm1, %xmm1
cvtsi2sdl 0x48(%rsp), %xmm1
movsd %xmm1, 0x40(%rsp)
movsd 0x1e0(%rsp,%r15,8), %xmm1
movsd 0x1c8(%rsp,%r15,8), %xmm2
movsd %xmm2, (%rsp)
ucomisd %xmm2, %xmm1
jbe 0x29dd8
leaq 0x100(%rsp), %rdi
callq 0x97748
movsd 0x132ec8(%rip), %xmm0   # 0x15c9b8
movsd %xmm0, 0x30(%rsp)
callq 0xa0994
movsd 0x30(%rsp), %xmm1
mulsd %xmm0, %xmm1
addsd 0x18(%rsp), %xmm1
movsd %xmm1, 0x100(%rsp)
movsd 0x132e9c(%rip), %xmm0   # 0x15c9b8
movsd %xmm0, 0x30(%rsp)
callq 0xa0994
movsd 0x30(%rsp), %xmm1
mulsd %xmm0, %xmm1
addsd (%rsp), %xmm1
movsd %xmm1, 0x108(%rsp)
cmpl $0x0, 0x3ec(%rsp)
jle 0x29ba2
movq %rbx, %r12
movsd 0x100(%rsp), %xmm0
movq %rbp, %rbx
movq %rbp, %rdi
leaq 0x320(%rsp), %rbp
movq %rbp, %rsi
callq 0x8f5c2
movsd 0x3f0(%rsp), %xmm0
movsd 0x3f8(%rsp), %xmm1
movq %rbp, %rdi
callq 0x89628
movsd 0xc847b(%rip), %xmm1    # 0xf2008
ucomisd %xmm0, %xmm1
movq %rbx, %rbp
movq %r12, %rbx
movq 0x28(%rsp), %r15
ja 0x29d9e
movq %rbx, %rdi
callq 0x7cff4
movsd 0x132dd6(%rip), %xmm0   # 0x15c988
movsd %xmm0, 0x30(%rsp)
callq 0xa0994
addsd 0xc846b(%rip), %xmm0    # 0xf2030
addsd %xmm0, %xmm0
mulsd 0x132dbf(%rip), %xmm0   # 0x15c990
addsd 0x30(%rsp), %xmm0
movsd 0x100(%rsp), %xmm1
movsd 0x108(%rsp), %xmm2
movq 0x50(%rsp), %rax
movsd %xmm1, 0x168(%rsp,%rax,8)
movsd %xmm2, 0x168(%rsp,%r15,8)
movslq 0x132d68(%rip), %rax    # 0x15c970
addsd 0x1c8(%rsp,%rax,8), %xmm0
movq 0x70(%rsp), %rax
movsd %xmm0, 0x168(%rsp,%rax,8)
leaq 0x1c0(%rsp), %rdi
movq %rbx, %rsi
callq 0x51a50
testl %eax, %eax
je 0x29d9e
callq 0xa0994
movsd %xmm0, 0x30(%rsp)
leaq 0x1a8(%rsp), %r12
movq %r12, %rdi
leaq 0xcc71c(%rip), %rsi     # 0xf6370
callq 0x97a80
movsd 0x30(%rsp), %xmm0
addsd 0x40(%rsp), %xmm0
mulsd 0x60(%rsp), %xmm0
movq %r12, %rdi
callq 0x97cc2
movq %r12, %rdi
callq 0x97c64
movq %r14, %rdi
callq 0x7da88
movsd 0x1a8(%rsp), %xmm0
movsd 0x1b0(%rsp), %xmm1
movq 0x50(%rsp), %rax
movsd %xmm0, 0xb8(%rsp,%rax,8)
movsd %xmm1, 0xb8(%rsp,%r15,8)
movq 0x70(%rsp), %rax
movabsq $-0x4036666666666666, %rcx # imm = 0xBFC999999999999A
movq %rcx, 0xb8(%rsp,%rax,8)
movq %r14, %rdi
callq 0x7dda0
movslq 0x132c9d(%rip), %rax    # 0x15c970
leaq (%rax,%rax,2), %rdx
shlq $0x3, %rdx
addq 0x1322c6(%rip), %rdx    # 0x15bfa8
movq %r13, %rdi
movq %r14, %rsi
callq 0x7e3be
movq %r13, %rdi
callq 0x7dda0
leaq 0x140(%rsp), %r12
movq %r12, %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x7e3be
movq %r12, %rdi
callq 0x7dda0
movsd 0x132c65(%rip), %xmm0   # 0x15c980
movq %rbp, %rdi
movq %rbx, %rsi
movq %r14, %rdx
movq %r12, %rcx
movsd 0xa8(%rsp), %xmm1
movsd 0xd0(%rsp), %xmm2
movsd 0x90(%rsp), %xmm3
callq 0x45338
movq 0x137b9a(%rip), %rsi    # 0x1618e8
movq %rbp, %rdi
movq 0x20(%rsp), %rdx
movl $0x1, %ecx
callq 0x2b616
movsd %xmm0, 0x470(%rsp)
ucomisd 0xc8337(%rip), %xmm0    # 0xf20a8
jne 0x29d75
jnp 0x29d9e
movsd 0x137b33(%rip), %xmm1   # 0x1618b0
ucomisd %xmm0, %xmm1
ja 0x29d9e
ucomisd 0x2d0(%rsp), %xmm0
jbe 0x29d9e
leaq 0x250(%rsp), %rdi
movq %rbp, %rsi
callq 0x45d60
movsd 0x132c12(%rip), %xmm2   # 0x15c9b8
movsd (%rsp), %xmm0
addsd %xmm2, %xmm0
movsd 0x1e0(%rsp,%r15,8), %xmm1
movsd %xmm0, (%rsp)
ucomisd %xmm0, %xmm1
ja 0x29adb
movq 0x50(%rsp), %rax
movsd 0x1e0(%rsp,%rax,8), %xmm0
jmp 0x29de0
movsd 0x132bd8(%rip), %xmm2   # 0x15c9b8
movsd 0x18(%rsp), %xmm3
addsd %xmm2, %xmm3
movsd %xmm3, 0x18(%rsp)
ucomisd %xmm3, %xmm0
ja 0x29ac2
movsd 0x2d0(%rsp), %xmm0
ucomisd 0xc829d(%rip), %xmm0    # 0xf20a8
jbe 0x29ea7
cmpb $0x1, 0x137a64(%rip)    # 0x16187c
jne 0x29e38
movq 0x20(%rsp), %rax
movq 0x1a0(%rax), %rsi
leaq 0xc88c5(%rip), %rdi     # 0xf26f2
movl 0x48(%rsp), %edx
movb $0x1, %al
callq 0x22080
movq 0x20(%rsp), %rax
movq 0x1a0(%rax), %rdx
movq %rbp, %rdi
leaq 0xc88b5(%rip), %rsi     # 0xf2703
movl 0x48(%rsp), %ecx
xorl %eax, %eax
callq 0x22130
movl $0x98, %edi
callq 0x22890
movq %rax, %r12
movq %rax, %rdi
leaq 0x250(%rsp), %rsi
callq 0x45292
movq %rbp, %rdi
callq 0xa158b
movq %rax, 0x90(%r12)
movl 0x1379c0(%rip), %edx    # 0x16184c
leaq 0x1379ad(%rip), %rdi    # 0x161840
movq %r12, %rsi
callq 0x9ec4e
movq 0x68(%rsp), %rax
incl %eax
movq %rax, 0x68(%rsp)
movl 0x48(%rsp), %eax
incl %eax
movl %eax, 0x48(%rsp)
cmpl 0x88(%rsp), %eax
jne 0x29a75
leaq 0x320(%rsp), %rdi
callq 0x88eb8
leaq 0x1c0(%rsp), %rdi
callq 0x75728
movq 0x137a09(%rip), %rdi    # 0x1618e8
jmp 0x29ee5
movq (%rsp), %rdi
movq 0x98(%rsp), %rcx
incq %rcx
movslq 0x14(%rdi), %rax
cmpq %rax, %rcx
jl 0x29912
cmpb $0x0, 0x137974(%rip)    # 0x161878
je 0x29f4f
leaq 0xc8aa3(%rip), %rdi     # 0xf29b0
callq 0x22e80
leaq 0x128(%rsp), %rdi
callq 0x9e67e
leaq 0xc8558(%rip), %rdi     # 0xf247e
movb $0x1, %al
callq 0x22080
leaq 0xc860f(%rip), %rdi     # 0xf2543
movq 0x68(%rsp), %rsi
xorl %eax, %eax
callq 0x22080
movq 0x131fd9(%rip), %rax    # 0x15bf20
movq (%rax), %rdi
callq 0x22a60
cmpb $0x1, 0x13797e(%rip)    # 0x1618d4
jne 0x2a5fd
leaq 0x1a8(%rsp), %rbx
movq %rbx, %rdi
callq 0x9e61c
movq $0x0, 0x70(%rsp)
movq %rbx, %rdi
xorl %esi, %esi
callq 0x22f90
movq 0x137962(%rip), %rax    # 0x1618e8
movq (%rax), %rdi
callq 0x41d4c
movq %rax, %rdi
callq 0x74f5c
movsd %xmm0, 0x28(%rsp)
movq 0x137945(%rip), %rax    # 0x1618e8
movq (%rax), %rdi
callq 0x41d4c
movq %rax, %rdi
callq 0x74f5c
movsd %xmm0, 0x20(%rsp)
xorps %xmm1, %xmm1
cvtsi2sdl 0x1329b4(%rip), %xmm1 # 0x15c978
xorps %xmm0, %xmm0
cvtsi2sdl 0x1329a5(%rip), %xmm0 # 0x15c974
divsd %xmm0, %xmm1
movsd %xmm1, (%rsp)
movsd 0x1329a0(%rip), %xmm0   # 0x15c980
callq 0x22490
mulsd (%rsp), %xmm0
callq 0x22700
movsd %xmm0, 0x40(%rsp)
movq 0x1378ec(%rip), %rbx    # 0x1618e8
cmpl $0x0, 0x14(%rbx)
jle 0x2a5ab
movsd 0xc7ffa(%rip), %xmm1    # 0xf2008
movsd 0x28(%rsp), %xmm0
mulsd %xmm1, %xmm0
mulsd 0xc7ff8(%rip), %xmm0    # 0xf2018
movsd %xmm0, 0x28(%rsp)
movsd 0x20(%rsp), %xmm0
mulsd %xmm1, %xmm0
mulsd 0xc7fe8(%rip), %xmm0    # 0xf2020
movsd %xmm0, 0x20(%rsp)
leaq 0x168(%rsp), %r14
xorl %r15d, %r15d
movq $0x0, 0x70(%rsp)
movq 0x8(%rbx), %rax
movq (%rax,%r15,8), %rbp
movq %rbp, %rdi
callq 0x2bc78
testl %eax, %eax
je 0x2a1ab
movq %rbp, %rdi
callq 0x41d4c
movq %r14, %rdi
movq %rax, %rsi
callq 0x74908
leaq 0x320(%rsp), %rbx
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x88284
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x2bcba
testl %eax, %eax
je 0x2a18f
leaq 0x250(%rsp), %rbx
movq %rbx, %rdi
leaq 0x320(%rsp), %rsi
callq 0x88ce0
leaq 0x132ff5(%rip), %rax    # 0x15d0b8
movsd (%rax), %xmm0
movq %rbx, %rdi
callq 0x90042
leaq 0x3f0(%rsp), %rdi
movq %rbx, %rsi
callq 0x88ee0
movsd 0x3f8(%rsp), %xmm0
addsd 0xc7f40(%rip), %xmm0    # 0xf2030
xorpd %xmm1, %xmm1
movq %rbx, %rdi
movsd 0xc7f99(%rip), %xmm2    # 0xf2098
callq 0x8a89a
xorpd %xmm0, %xmm0
movq %rbx, %rdi
movsd 0xc7f8d(%rip), %xmm1    # 0xf20a0
callq 0x8cb54
movl $0x0, 0xa0(%rsp)
callq 0xa0994
movsd %xmm0, (%rsp)
leaq 0x250(%rsp), %rdi
callq 0x890f0
movslq 0x31c(%rsp), %rcx
testq %rcx, %rcx
jle 0x2a182
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movsd (%rsp), %xmm1
mulsd %xmm0, %xmm1
cvttsd2si %xmm1, %eax
movq 0x308(%rsp), %rdx
xorl %esi, %esi
movsd (%rdx,%rsi,8), %xmm0
ucomisd 0xc7f2e(%rip), %xmm0    # 0xf20a0
jne 0x2a176
jnp 0x2a17a
decl %eax
je 0x2a1c0
incq %rsi
cmpq %rsi, %rcx
jne 0x2a165
leaq 0x250(%rsp), %rdi
callq 0x88eb8
leaq 0x320(%rsp), %rdi
callq 0x88eb8
movq %r14, %rdi
callq 0x75728
movq 0x13773d(%rip), %rbx    # 0x1618e8
incq %r15
movslq 0x14(%rbx), %rax
cmpq %rax, %r15
jl 0x2a052
jmp 0x2a5ab
leaq 0x250(%rsp), %rdi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x2c685
movl %eax, %ebx
testl %eax, %eax
js 0x2a182
movslq 0x31c(%rsp), %rax
leaq (,%rax,4), %rdi
testq %rax, %rax
movq $-0x1, %rax
cmovsq %rax, %rdi
callq 0x22040
leaq 0x250(%rsp), %rdi
movl %ebx, %esi
movq %rax, 0x50(%rsp)
movq %rax, %rdx
leaq 0xa0(%rsp), %rcx
callq 0x2c685
testl %eax, %eax
jle 0x2a59c
leaq 0xb8(%rsp), %rdi
leaq 0x140a60(%rip), %rsi    # 0x16ac90
callq 0x7d006
leaq 0x118(%rsp), %r14
cmpl $0x0, 0x2c(%rbp)
jle 0x2a301
xorpd %xmm0, %xmm0
movsd %xmm0, 0x30(%rsp)
xorl %r14d, %r14d
movq 0x20(%rbp), %rax
movq (%rax,%r14,8), %rbx
leaq 0x3f0(%rsp), %rdi
movq %rbx, %rsi
callq 0x41336
movsd 0x3f8(%rsp), %xmm0
movsd %xmm0, (%rsp)
leaq 0x1c0(%rsp), %rdi
movq %rbx, %rsi
callq 0x41f0a
leaq 0x3f0(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
movsd (%rsp), %xmm0
callq 0x7da3a
leaq 0xb8(%rsp), %rdi
leaq 0x3f0(%rsp), %rsi
callq 0x7d930
movsd 0x30(%rsp), %xmm0
addsd (%rsp), %xmm0
movsd %xmm0, 0x30(%rsp)
incq %r14
movslq 0x2c(%rbp), %rax
cmpq %rax, %r14
jl 0x2a254
movsd 0x30(%rsp), %xmm0
ucomisd 0xc7dc0(%rip), %xmm0    # 0xf20a8
leaq 0x118(%rsp), %r14
jbe 0x2a301
leaq 0xb8(%rsp), %rdi
callq 0x7d9ae
jmp 0x2a324
leaq 0x3f0(%rsp), %rbx
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x41f0a
leaq 0xb8(%rsp), %rdi
movq %rbx, %rsi
callq 0x7d35e
cmpl $0x0, 0xa0(%rsp)
jle 0x2a585
movsd 0x13267e(%rip), %xmm0   # 0x15c9b8
mulsd 0x300(%rsp), %xmm0
cvttsd2si %xmm0, %eax
cmpl $0x1, %eax
adcl $0x0, %eax
cltq
movq %rax, 0x18(%rsp)
xorl %ebx, %ebx
movq 0x50(%rsp), %rax
movl (%rax,%rbx,4), %eax
cltd
idivl 0x318(%rsp)
xorps %xmm0, %xmm0
cvtsi2sd %edx, %xmm0
movsd 0xc7c93(%rip), %xmm2    # 0xf2008
addsd %xmm2, %xmm0
xorps %xmm1, %xmm1
cvtsi2sd %eax, %xmm1
addsd %xmm2, %xmm1
movq %r14, %rdi
leaq 0x250(%rsp), %rsi
callq 0x8f59c
movsd 0x178(%rsp), %xmm0
movsd %xmm0, (%rsp)
movsd 0x1325de(%rip), %xmm0   # 0x15c988
movsd %xmm0, 0x30(%rsp)
callq 0xa0994
movapd %xmm0, %xmm1
movsd (%rsp), %xmm0
addsd 0x30(%rsp), %xmm0
addsd 0xc7c64(%rip), %xmm1    # 0xf2030
addsd %xmm1, %xmm1
mulsd 0x1325b8(%rip), %xmm1   # 0x15c990
addsd %xmm0, %xmm1
ucomisd 0x190(%rsp), %xmm1
ja 0x2a56f
movsd 0x118(%rsp), %xmm2
movsd 0x120(%rsp), %xmm0
leaq 0xe8(%rsp), %r12
movq %r12, %rdi
callq 0x7cff6
movq %r12, %rdi
leaq 0xb8(%rsp), %rsi
callq 0x50a73
testl %eax, %eax
jne 0x2a56f
leaq 0x140(%rsp), %r13
movq %r13, %rdi
leaq 0xb8(%rsp), %rsi
leaq 0xe8(%rsp), %rdx
callq 0x7d252
movq %r13, %rdi
callq 0x7dda0
movslq 0x13251c(%rip), %rax    # 0x15c970
leaq (%rax,%rax,2), %rdx
shlq $0x3, %rdx
addq 0x131b45(%rip), %rdx    # 0x15bfa8
leaq 0x128(%rsp), %r12
movq %r12, %rdi
movq %r13, %rsi
callq 0x7e3be
movq %r12, %rdi
callq 0x7dda0
leaq 0x100(%rsp), %r14
movq %r14, %rdi
movq %r12, %rsi
movq %r13, %rdx
callq 0x7e3be
movq %r14, %rdi
callq 0x7dda0
movsd 0x1324dc(%rip), %xmm0   # 0x15c980
leaq 0x1c0(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
movq %r13, %rdx
movq %r14, %rcx
movsd 0x40(%rsp), %xmm1
movsd 0x28(%rsp), %xmm2
movsd 0x20(%rsp), %xmm3
callq 0x45338
cmpb $0x0, 0x1373a4(%rip)    # 0x16187c
je 0x2a4f8
movq 0x1a0(%rbp), %rsi
movl 0xa0(%rsp), %ecx
leaq 0xc8230(%rip), %rdi     # 0xf271f
movl %ebx, %edx
xorl %eax, %eax
callq 0x22080
leaq 0x3f0(%rsp), %rdi
movq 0x1a0(%rbp), %rdx
movq %rdi, %r14
leaq 0xc81f2(%rip), %rsi     # 0xf2703
movl %ebx, %ecx
xorl %eax, %eax
callq 0x22130
movl $0x98, %edi
callq 0x22890
movq %rax, %r13
movq %rax, %rdi
leaq 0x1c0(%rsp), %rsi
callq 0x45292
movq %r14, %rdi
callq 0xa158b
movq %rax, 0x90(%r13)
movl 0x137300(%rip), %edx    # 0x16184c
leaq 0x1372ed(%rip), %rdi    # 0x161840
movq %r13, %rsi
callq 0x9ec4e
movq 0x70(%rsp), %rax
incl %eax
movq %rax, 0x70(%rsp)
leaq 0x118(%rsp), %r14
addq 0x18(%rsp), %rbx
movslq 0xa0(%rsp), %rax
cmpq %rax, %rbx
jl 0x2a356
movq 0x50(%rsp), %rdi
callq 0x22bf0
leaq 0x168(%rsp), %r14
jmp 0x2a182
movq 0x50(%rsp), %rdi
callq 0x22bf0
jmp 0x2a182
cmpb $0x0, 0x1372c6(%rip)    # 0x161878
je 0x2a5fd
leaq 0xc83f5(%rip), %rdi     # 0xf29b0
callq 0x22e80
leaq 0x1a8(%rsp), %rdi
callq 0x9e67e
leaq 0xc7eaa(%rip), %rdi     # 0xf247e
movb $0x1, %al
callq 0x22080
leaq 0xc7f61(%rip), %rdi     # 0xf2543
movq 0x70(%rsp), %rsi
xorl %eax, %eax
callq 0x22080
movq 0x13192b(%rip), %rax    # 0x15bf20
movq (%rax), %rdi
callq 0x22a60
cmpb $0x1, 0x13729c(%rip)    # 0x1618a0
jne 0x2aa61
movsd 0x1323ae(%rip), %xmm0   # 0x15c9c0
movsd %xmm0, 0x90(%rsp)
leaq 0x128(%rsp), %rbx
movq %rbx, %rdi
callq 0x9e61c
movq %rbx, %rdi
xorl %esi, %esi
callq 0x22f90
movq 0x137204(%rip), %rax    # 0x161840
movq (%rax), %rax
movsd 0x60(%rax), %xmm0
movsd %xmm0, 0x20(%rsp)
movsd 0x68(%rax), %xmm0
movsd %xmm0, 0x40(%rsp)
movsd 0x70(%rax), %xmm0
movsd %xmm0, 0x60(%rsp)
movsd 0x78(%rax), %xmm0
movsd %xmm0, 0xd0(%rsp)
movslq 0x1371d7(%rip), %r13    # 0x16184c
movl $0x18, %ecx
movq %r13, %rax
mulq %rcx
movq $-0x1, %rbp
cmovnoq %rax, %rbp
movq %rbp, %rdi
callq 0x22040
movq %rax, %r12
testq %r13, %r13
jne 0x2aaed
movq %rbp, %rdi
callq 0x22040
movq %rax, 0x70(%rsp)
movq %rbp, %rdi
callq 0x22040
movq %rax, 0x50(%rsp)
xorl %ebx, %ebx
leaq (,%r13,8), %rax
movq %r13, 0xa8(%rsp)
testl %r13d, %r13d
movq $-0x1, %rdi
cmovnsq %rax, %rdi
callq 0x22040
movq %rax, 0x18(%rsp)
testb %bl, %bl
movq %r12, 0x28(%rsp)
je 0x2a82f
xorl %r14d, %r14d
leaq 0x320(%rsp), %r13
xorl %r15d, %r15d
movq 0x13713b(%rip), %rax    # 0x161840
movq (%rax,%r15,8), %rbx
leaq (%r12,%r14), %rdi
movq %rdi, (%rsp)
movq %rbx, %rsi
callq 0x7d35e
leaq 0x48(%rbx), %rsi
movq %r13, %rdi
callq 0x7e6c4
leaq 0x3f0(%rsp), %rbp
movq %rbp, %rdi
movq %r13, %rsi
callq 0x7dbba
movq 0x70(%rsp), %r13
leaq (%r14,%r13), %rdi
movq %rbp, %rsi
callq 0x7d35e
addq $0x30, %rbx
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x7dbba
movq 0x50(%rsp), %rax
leaq (%rax,%r14), %rdi
movq %rbp, %rsi
callq 0x7d35e
testq %r14, %r14
je 0x2a7fc
movq 0x18(%rsp), %rbx
movsd -0x8(%rbx,%r15,8), %xmm0
movsd %xmm0, 0x30(%rsp)
leaq (%r12,%r14), %rsi
addq $-0x18, %rsi
movq (%rsp), %rdi
callq 0x5394c
addsd 0x30(%rsp), %xmm0
movsd %xmm0, (%rsp)
movsd (%r13,%r14), %xmm0
movsd 0x8(%r13,%r14), %xmm1
movsd 0x10(%r13,%r14), %xmm2
leaq 0x3f0(%rsp), %r12
movq %r12, %rdi
callq 0x7da8a
movsd -0x18(%r13,%r14), %xmm0
movsd -0x10(%r13,%r14), %xmm1
movsd -0x8(%r13,%r14), %xmm2
leaq 0x320(%rsp), %r13
movq %r13, %rdi
callq 0x7da8a
movq %r12, %rdi
movq %r13, %rsi
callq 0x561ab
addsd (%rsp), %xmm0
jmp 0x2a80d
xorpd %xmm0, %xmm0
movq 0x18(%rsp), %rbx
leaq 0x320(%rsp), %r13
movsd %xmm0, (%rbx,%r15,8)
incq %r15
movslq 0x13702f(%rip), %rax    # 0x16184c
addq $0x18, %r14
cmpq %rax, %r15
movq 0x28(%rsp), %r12
jl 0x2a6fe
leaq 0x320(%rsp), %rdi
movsd 0xc77c9(%rip), %xmm0    # 0xf2008
movq %r12, %rsi
movq 0x18(%rsp), %rbx
movq %rbx, %rdx
movq 0xa8(%rsp), %r15
movl %r15d, %ecx
callq 0x56782
leaq 0x250(%rsp), %rdi
movq 0x70(%rsp), %rsi
movq %rbx, %rdx
movl %r15d, %ecx
movsd 0xc7793(%rip), %xmm0    # 0xf2008
callq 0x56782
leaq 0x1c0(%rsp), %rdi
movsd 0xc777e(%rip), %xmm0    # 0xf2008
movq 0x50(%rsp), %rsi
movq %rbx, %rdx
movl %r15d, %ecx
callq 0x56782
cmpl $0x0, 0x136fab(%rip)    # 0x16184c
jle 0x2a8e3
xorl %ebx, %ebx
movq 0x136f94(%rip), %rax    # 0x161840
movq (%rax,%rbx,8), %r12
testq %r12, %r12
je 0x2a8c7
movq 0x90(%r12), %rdi
testq %rdi, %rdi
je 0x2a8c7
callq 0x22a90
movl $0x98, %esi
movq %r12, %rdi
callq 0x228b0
incq %rbx
movslq 0x136f6e(%rip), %rax    # 0x16184c
cmpq %rax, %rbx
jl 0x2a8a5
leaq 0x136f56(%rip), %rdi    # 0x161840
xorl %esi, %esi
callq 0x9ee18
leaq 0x320(%rsp), %rdi
callq 0x579a0
movsd %xmm0, (%rsp)
leaq 0x320(%rsp), %r15
leaq 0x168(%rsp), %r12
leaq 0x3f0(%rsp), %r13
leaq 0x140(%rsp), %r14
movq %r15, %rdi
callq 0x579a4
movsd (%rsp), %xmm1
ucomisd %xmm1, %xmm0
jb 0x2ab69
movq %r12, %rdi
movq %r15, %rsi
movsd %xmm1, (%rsp)
movapd %xmm1, %xmm0
callq 0x56a5c
leaq 0xb8(%rsp), %rdi
leaq 0x250(%rsp), %rsi
movsd (%rsp), %xmm0
callq 0x56a5c
leaq 0xe8(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
movsd (%rsp), %xmm0
callq 0x56a5c
movl $0x98, %edi
callq 0x22890
movq %rax, %rbp
movsd 0xb8(%rsp), %xmm0
movsd 0xc0(%rsp), %xmm1
movsd 0xc8(%rsp), %xmm2
movq %r13, %rdi
callq 0x7da8a
movsd 0xe8(%rsp), %xmm0
movsd 0xf0(%rsp), %xmm1
movsd 0xf8(%rsp), %xmm2
movq %r14, %rbx
movq %r14, %rdi
callq 0x7da8a
movq %rbp, %rdi
movq %r12, %rsi
movq %r13, %rdx
movq %rbx, %rcx
movsd 0x20(%rsp), %xmm0
movsd 0x40(%rsp), %xmm1
movsd 0x60(%rsp), %xmm2
movsd 0xd0(%rsp), %xmm3
callq 0x45338
movq $0x0, 0x90(%rbp)
movq %r13, %rdi
leaq 0xc7d3b(%rip), %rsi     # 0xf2754
movsd (%rsp), %xmm0
movb $0x1, %al
callq 0x22130
movq %r13, %rdi
callq 0xa158b
movq %rax, 0x90(%rbp)
movl 0x136e12(%rip), %edx    # 0x16184c
leaq 0x136dff(%rip), %rdi    # 0x161840
movq %rbp, %rsi
callq 0x9ec4e
movsd (%rsp), %xmm0
addsd 0x90(%rsp), %xmm0
movsd %xmm0, (%rsp)
jmp 0x2a923
leaq 0x3f0(%rsp), %rbx
movq %rbx, %rdi
callq 0x9e61c
movq %rbx, %rdi
xorl %esi, %esi
callq 0x22f90
leaq 0x136dbe(%rip), %rdi    # 0x161840
leaq 0x1b5ae(%rip), %rsi     # 0x46037
callq 0x9ef4e
cmpb $0x1, 0x136de3(%rip)    # 0x161878
jne 0x2aae1
leaq 0xc7f4e(%rip), %rdi     # 0xf29ec
callq 0x22e80
leaq 0x3f0(%rsp), %rdi
callq 0x9e67e
leaq 0xc79c7(%rip), %rdi     # 0xf247e
movb $0x1, %al
callq 0x22080
movl 0x136d88(%rip), %esi    # 0x16184c
leaq 0xc7a78(%rip), %rdi     # 0xf2543
xorl %eax, %eax
callq 0x22080
movq 0x131447(%rip), %rax    # 0x15bf20
movq (%rax), %rdi
callq 0x22a60
callq 0x2ae8d
xorl %edi, %edi
callq 0x22ac0
leaq (,%r13,8), %rax
leaq (%rax,%rax,2), %rbx
xorl %r14d, %r14d
leaq (%r12,%r14), %rdi
callq 0x7cff4
addq $0x18, %r14
cmpq %r14, %rbx
jne 0x2aafc
movq %rbp, %rdi
callq 0x22040
movq %rax, %r15
xorl %r14d, %r14d
leaq (%r15,%r14), %rdi
callq 0x7cff4
addq $0x18, %r14
cmpq %r14, %rbx
jne 0x2ab1c
movq %rbp, %rdi
callq 0x22040
movq %rax, 0x50(%rsp)
xorl %r14d, %r14d
movq 0x50(%rsp), %rax
leaq (%rax,%r14), %rdi
callq 0x7cff4
addq $0x18, %r14
cmpq %r14, %rbx
jne 0x2ab3e
movq %r15, 0x70(%rsp)
cmpl $0x0, 0x136ceb(%rip)    # 0x16184c
setg %bl
jmp 0x2a6bb
movq 0x28(%rsp), %rdi
callq 0x22bf0
movq 0x70(%rsp), %rdi
callq 0x22bf0
movq 0x50(%rsp), %rdi
callq 0x22bf0
movq 0x18(%rsp), %rdi
callq 0x22bf0
cmpb $0x1, 0x136ce0(%rip)    # 0x161878
jne 0x2abe4
leaq 0xc7e28(%rip), %rdi     # 0xf29c9
callq 0x22e80
leaq 0x128(%rsp), %rdi
callq 0x9e67e
leaq 0xc78c4(%rip), %rdi     # 0xf247e
movb $0x1, %al
callq 0x22080
movl 0x136c85(%rip), %esi    # 0x16184c
leaq 0xc7975(%rip), %rdi     # 0xf2543
xorl %eax, %eax
callq 0x22080
movq 0x131344(%rip), %rax    # 0x15bf20
movq (%rax), %rdi
callq 0x22a60
leaq 0x1c0(%rsp), %rdi
callq 0x567b0
leaq 0x250(%rsp), %rdi
callq 0x567b0
leaq 0x320(%rsp), %rdi
callq 0x567b0
jmp 0x2aae1
jmp 0x2addb
jmp 0x2ac17
movq %rax, %r12
jmp 0x2ae78
jmp 0x2addb
movq %r12, %rdi
movq %rax, %r12
movl $0x98, %esi
callq 0x228b0
jmp 0x2adde
jmp 0x2addb
jmp 0x2ae18
movq %rax, %r12
leaq 0x13ccb3(%rip), %rdi    # 0x167900
callq 0x22570
jmp 0x2ae85
jmp 0x2ae18
jmp 0x2ae18
jmp 0x2ad97
jmp 0x2ad97
jmp 0x2ad97
jmp 0x2ad97
jmp 0x2ac9a
jmp 0x2ad71
jmp 0x2ad71
jmp 0x2ad71
jmp 0x2ad71
jmp 0x2ad71
jmp 0x2ad97
jmp 0x2ad71
movq %rax, %r12
movl $0x98, %esi
movq %rbp, %rdi
callq 0x228b0
jmp 0x2ad74
jmp 0x2ad97
jmp 0x2ad97
movq %rax, %r12
movl $0x98, %esi
movq %r13, %rdi
callq 0x228b0
jmp 0x2ad9a
jmp 0x2ad97
jmp 0x2ad97
jmp 0x2ad97
jmp 0x2ae54
movq %rax, %r12
movl $0x98, %esi
movq %rbx, %rdi
callq 0x228b0
jmp 0x2ae57
jmp 0x2ae54
jmp 0x2ad97
jmp 0x2ad27
movq %rax, %r12
movl $0x98, %esi
movq %r14, %rdi
callq 0x228b0
jmp 0x2ae1b
jmp 0x2addb
jmp 0x2ad97
jmp 0x2ad97
jmp 0x2ad97
jmp 0x2ad97
jmp 0x2ad71
movq %rax, %r12
jmp 0x2ada7
movq %rax, %r12
jmp 0x2adb4
jmp 0x2ae18
jmp 0x2ae18
jmp 0x2ae18
jmp 0x2addb
jmp 0x2ad97
jmp 0x2ae18
jmp 0x2ae18
jmp 0x2ae18
jmp 0x2ae18
movq %rax, %r12
movq 0x50(%rsp), %rdi
jmp 0x2adfc
jmp 0x2addb
jmp 0x2addb
jmp 0x2addb
movq %rax, %r12
leaq 0x1c0(%rsp), %rdi
callq 0x567b0
jmp 0x2adcc
jmp 0x2ad97
jmp 0x2addb
jmp 0x2ae18
jmp 0x2ae18
jmp 0x2addb
jmp 0x2addb
jmp 0x2addb
movq %rax, %r12
leaq 0x250(%rsp), %rdi
callq 0x88eb8
leaq 0x320(%rsp), %rdi
callq 0x88eb8
leaq 0x168(%rsp), %rdi
jmp 0x2ae80
movq %rax, %r12
movq %r15, %rdi
jmp 0x2adfc
movq %rax, %r12
leaq 0x250(%rsp), %rdi
callq 0x567b0
jmp 0x2ae09
movq %rax, %r12
leaq 0x320(%rsp), %rdi
callq 0x88eb8
jmp 0x2ae78
jmp 0x2ae18
jmp 0x2ae54
jmp 0x2ae54
movq %r12, %rdi
movq %rax, %r12
movq %rbp, %rsi
callq 0x23250
jmp 0x2ae85
movq %rax, %r12
leaq 0x320(%rsp), %rdi
callq 0x567b0
jmp 0x2ae85
movq %rax, %r12
leaq 0x250(%rsp), %rdi
callq 0x2cf04
jmp 0x2ae78
jmp 0x2ae54
jmp 0x2ae54
jmp 0x2ae54
jmp 0x2ae54
jmp 0x2ae54
jmp 0x2ae54
movq %rax, %r12
movl $0x98, %esi
movq %r13, %rdi
jmp 0x2ae6e
movq %rax, %r12
movl $0x98, %esi
movq %r14, %rdi
jmp 0x2ae6e
jmp 0x2ae54
jmp 0x2ae63
movq %rax, %r12
leaq 0x250(%rsp), %rdi
jmp 0x2ae80
jmp 0x2ae75
movq %rax, %r12
movl $0x98, %esi
movq %rbx, %rdi
callq 0x228b0
jmp 0x2ae85
movq %rax, %r12
leaq 0x1c0(%rsp), %rdi
callq 0x75728
movq %r12, %rdi
callq 0x23090