// File: /workspace/github_cpp_makefile_star2_O2/tomfunkhouser[P]gaps/apps/scnview/scnview.cpp
// Function: GLUTRedraw()
void GLUTRedraw(void)
{
  // Check scene
  if (!scene) return;

  // Clear window 
  // background_color = scene->Background();
  glClearColor(background_color.R(), background_color.G(), background_color.B(), 1.0);
  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

  // Set backface culling
  if (show_backfacing) glDisable(GL_CULL_FACE);
  else glEnable(GL_CULL_FACE);

  // Set viewing transformation
  viewer->Camera().Load();

  // Draw camera
  if (show_cameras) {
    glDisable(GL_LIGHTING);
    glLineWidth(5);
    RNLoadRgb(0.0, 1.0, 0.0);
    DrawCameras(scene, cameras);
    glLineWidth(1);
  }

  // Draw lights
  if (show_lights) {
    glDisable(GL_LIGHTING);
    RNLoadRgb(1.0, 1.0, 1.0);
    glLineWidth(5);
    DrawLights(scene);
    glLineWidth(1);
  }

  // Draw normals
  if (show_normals) {
    glDisable(GL_LIGHTING);
    RNLoadRgb(0.0, 1.0, 1.0);
    DrawNormals(scene, scene->Root());
  }

  // Draw rays
  if (show_rays) {
    glDisable(GL_LIGHTING);
    RNLoadRgb(0.0, 1.0, 0.0);
    glLineWidth(3);
    DrawRays(scene);
    glLineWidth(1);
  }

  // Draw selected node
  if (selected_node) {
    glDisable(GL_LIGHTING);
    static R3Material selection_material(new R3Brdf(1.0, 0.0, 0.0), "Selection");
    R3Affine transformation = selected_node->CumulativeParentTransformation();
    transformation.Push();
    RNLoadRgb(1.0, 0.0, 0.0);
    glLineWidth(3.0);
    selected_node->Draw(R3_EDGES_DRAW_FLAG);
    glLineWidth(1.0);
    transformation.Pop();
  }

  // Draw front faces in front of scene
  if (show_faces && (show_backfacing == 2)) {
    glEnable(GL_LIGHTING);
    RNLoadRgb(RNwhite_rgb);
    scene->LoadLights(headlight);
    glDepthRange(0, 0.9999);
    glEnable(GL_CULL_FACE);
    scene->Draw();
    glDisable(GL_CULL_FACE);
    glDepthRange(0, 1);
  }

  // Draw faces
  if (show_faces) {
    glEnable(GL_LIGHTING);
    RNLoadRgb(RNwhite_rgb);
    scene->LoadLights(headlight);
    scene->Draw();
  }

  // Draw edges
  if (show_edges) {
    glDisable(GL_LIGHTING);
    RNLoadRgb(0.0, 1.0, 0.0);
    scene->Draw(R3_EDGES_DRAW_FLAG);
  }

  // Draw bboxes
  if (show_bboxes) {
    glDisable(GL_LIGHTING);
    RNLoadRgb(1.0, 0.0, 0.0);
    DrawBBoxes(scene, scene->Root());
  }

  // Draw axes
  if (show_axes) {
    RNScalar d = scene->BBox().DiagonalRadius();
    glDisable(GL_LIGHTING);
    glLineWidth(3);
    R3BeginLine();
    RNLoadRgb(1, 0, 0);
    R3LoadPoint(R3zero_point + 0.5 * d * R3negx_vector);
    R3LoadPoint(R3zero_point + d * R3posx_vector);
    R3EndLine();
    R3BeginLine();
    RNLoadRgb(0, 1, 0);
    R3LoadPoint(R3zero_point + 0.5 * d * R3negy_vector);
    R3LoadPoint(R3zero_point + d * R3posy_vector);
    R3EndLine();
    R3BeginLine();
    RNLoadRgb(0, 0, 1);
    R3LoadPoint(R3zero_point + 0.5 * d * R3negz_vector);
    R3LoadPoint(R3zero_point + d * R3posz_vector);
    R3EndLine();
    glLineWidth(1);
  }

  // Draw frame time
  if (show_frame_rate) {
    char buffer[128];
    static RNTime last_time;
    double frame_time = last_time.Elapsed();
    last_time.Read();
    if ((frame_time > 0) && (frame_time < 10)) {
      glDisable(GL_LIGHTING);
      RNLoadRgb(1.0, 1.0, 1.0);
      sprintf(buffer, "%.1f fps", 1.0 / frame_time);
      viewer->DrawText(100, 100, buffer);
    }
  }  

  // Capture image and exit
  if (output_image_name) {
    R2Image image(GLUTwindow_width, GLUTwindow_height, 3);
    image.Capture();
    image.Write(output_image_name);
    GLUTStop();
  }

  // Swap buffers 
  glutSwapBuffers();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x218, %rsp            # imm = 0x218
cmpq $0x0, 0x10f0f0(%rip)    # 0x1338f8
je 0x252d6
cvtsd2ss 0x10f0aa(%rip), %xmm0   # 0x1338c0
cvtsd2ss 0x10f0aa(%rip), %xmm1   # 0x1338c8
cvtsd2ss 0x10f0aa(%rip), %xmm2   # 0x1338d0
movss 0xa07d6(%rip), %xmm3    # 0xc5004
callq 0x21e40
movl $0x4100, %edi           # imm = 0x4100
callq 0x21200
cmpl $0x0, 0x10f0bc(%rip)    # 0x133900
je 0x24852
movl $0xb44, %edi            # imm = 0xB44
callq 0x21210
jmp 0x2485c
movl $0xb44, %edi            # imm = 0xB44
callq 0x21820
movq 0x10f0a5(%rip), %rdi    # 0x133908
addq $0x8, %rdi
xorl %esi, %esi
callq 0x3c0de
cmpl $0x0, 0x10f09b(%rip)    # 0x133910
je 0x248ed
movl $0xb50, %edi            # imm = 0xB50
callq 0x21210
movss 0xa077f(%rip), %xmm0    # 0xc5008
callq 0x22160
movsd 0xa0782(%rip), %xmm1    # 0xc5018
xorps %xmm0, %xmm0
xorps %xmm2, %xmm2
callq 0x21e90
movq 0x10f050(%rip), %rbx    # 0x1338f8
movq 0x10f069(%rip), %r14    # 0x133918
testq %r14, %r14
je 0x248d4
xorl %r15d, %r15d
movslq 0xc(%r14), %rax
cmpq %rax, %r15
jge 0x248e0
movq (%r14), %rax
movq (%rax,%r15,8), %rsi
movq %rbx, %rdi
callq 0x27071
incq %r15
jmp 0x248b7
leaq 0x78(%rbx), %rsi
movq %rbx, %rdi
callq 0x27071
movss 0xa071c(%rip), %xmm0    # 0xc5004
callq 0x22160
cmpl $0x0, 0x10f02c(%rip)    # 0x133920
je 0x24b74
movl $0xb50, %edi            # imm = 0xB50
callq 0x21210
movsd 0xa070c(%rip), %xmm0    # 0xc5018
movaps %xmm0, %xmm1
movaps %xmm0, %xmm2
callq 0x21e90
movss 0xa06e9(%rip), %xmm0    # 0xc5008
callq 0x22160
movq 0x10efcd(%rip), %r13    # 0x1338f8
movq %r13, %rdi
callq 0x27352
movq %rax, %rdi
callq 0x2735a
movsd 0xa06dd(%rip), %xmm1    # 0xc5020
mulsd %xmm0, %xmm1
movsd %xmm1, 0x18(%rsp)
movsd 0xa06d3(%rip), %xmm1    # 0xc5028
mulsd %xmm0, %xmm1
movsd %xmm1, 0x20(%rsp)
movsd %xmm0, 0x10(%rsp)
mulsd 0xa06c3(%rip), %xmm0    # 0xc5030
movsd %xmm0, 0x28(%rsp)
xorl %ecx, %ecx
leaq 0xc0(%rsp), %rbx
leaq 0x68(%rsp), %rbp
leaq 0xa8(%rsp), %r15
movslq 0x24(%r13), %rax
cmpq %rax, %rcx
jge 0x24b67
movq %rbp, %r14
movq 0x18(%r13), %rax
movq %rcx, 0x8(%rsp)
movq (%rax,%rcx,8), %rbp
leaq 0x30(%rbp), %rdi
callq 0x2733e
movq (%rbp), %rax
movq %rbp, %rdi
callq *0x78(%rax)
movl %eax, %r12d
callq 0x3dfa4
cmpl %eax, %r12d
jne 0x24a4c
addq $0x50, %rbp
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x6c044
pushq $0x1
popq %rdi
callq 0x21190
movq %r13, %rdi
callq 0x27352
movq (%rax), %rcx
movq %r14, %rbp
movq %r14, %rdi
movq %rax, %rsi
callq *0x68(%rcx)
leaq 0x48(%rsp), %r12
movq %r12, %rdi
movq %rbx, %rsi
movsd 0x10(%rsp), %xmm0
callq 0x6c72a
movq %r15, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x6bfc5
movq %r15, %rdi
callq 0x211b0
movq %r12, %rdi
movq %rbx, %rsi
movsd 0x28(%rsp), %xmm0
callq 0x6c72a
movq %r15, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x6bfc5
movq %r15, %rdi
jmp 0x24b36
movq (%rbp), %rax
movq %rbp, %rdi
callq *0x78(%rax)
movl %eax, %r12d
callq 0x3d7e4
cmpl %eax, %r12d
jne 0x24aa0
addq $0x50, %rbp
movq %r14, %rdi
movq %rbp, %rsi
movq %r14, %rbp
callq 0x6b884
movq %rbx, %rdi
movq %r14, %rsi
movsd 0x18(%rsp), %xmm0
callq 0x619a0
movl $0x772, %esi            # imm = 0x772
movq %rbx, %rdi
callq 0x417be
movq %rbx, %rdi
callq 0x6499a
jmp 0x24b40
movq (%rbp), %rax
movq %rbp, %rdi
callq *0x78(%rax)
movl %eax, %r12d
callq 0x3d3fc
cmpl %eax, %r12d
jne 0x24b4d
leaq 0x50(%rbp), %rsi
movq %r14, %rdi
callq 0x6b884
subq $-0x80, %rbp
movq %r15, %rdi
movq %rbp, %rsi
movq %r14, %rbp
callq 0x6c044
movq %rbx, %rdi
movq %r14, %rsi
movsd 0x18(%rsp), %xmm0
callq 0x619a0
movl $0x772, %esi            # imm = 0x772
movq %rbx, %rdi
callq 0x417be
movq %rbx, %rdi
callq 0x6499a
pushq $0x1
popq %rdi
callq 0x21190
movq %rbp, %rdi
callq 0x211b0
leaq 0x48(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
movsd 0x20(%rsp), %xmm0
callq 0x6c72a
movq %rbx, %rdi
movq %rbp, %rsi
movq %r12, %rdx
callq 0x6bb3b
movq %rbx, %rdi
callq 0x211b0
callq 0x21c60
movq 0x8(%rsp), %rcx
incq %rcx
jmp 0x2498a
movq (%rbp), %rax
movq %rbp, %rdi
callq *0x78(%rax)
leaq 0xa0682(%rip), %rdi     # 0xc51e0
movl %eax, %esi
xorl %eax, %eax
callq 0x7e83e
movss 0xa0495(%rip), %xmm0    # 0xc5004
callq 0x22160
cmpl $0x0, 0x10eda9(%rip)    # 0x133924
je 0x24ba9
movl $0xb50, %edi            # imm = 0xB50
callq 0x21210
movsd 0xa0489(%rip), %xmm1    # 0xc5018
xorps %xmm0, %xmm0
movaps %xmm1, %xmm2
callq 0x21e90
movq 0x10ed57(%rip), %rdi    # 0x1338f8
movq (%rdi), %rsi
callq 0x2544b
cmpl $0x0, 0x10ed78(%rip)    # 0x133928
je 0x24e35
pushq $0x1
popq %rbp
movl $0xb50, %edi            # imm = 0xB50
callq 0x21210
movsd 0xa044d(%rip), %xmm1    # 0xc5018
xorps %xmm0, %xmm0
xorps %xmm2, %xmm2
callq 0x21e90
movss 0xa042e(%rip), %xmm0    # 0xc500c
callq 0x22160
movq 0x10ed0e(%rip), %rbx    # 0x1338f8
leaq 0xa8(%rsp), %r14
movq %r14, %rdi
callq 0x6b872
leaq 0x48(%rsp), %rdi
callq 0x6c032
movl 0x110(%rbx), %esi
movl 0x114(%rbx), %ecx
pushq $0xa
popq %rdi
movl %esi, %eax
cltd
idivl %edi
movl %eax, %r8d
movl %ecx, %eax
cltd
idivl %edi
movl %eax, %r9d
leal 0x9(%rsi), %eax
cmpl $0x13, %eax
cmovbl %ebp, %r8d
leal 0x9(%rcx), %eax
cmpl $0x13, %eax
cmovbl %ebp, %r9d
pushq $0x2
popq %rdi
movl %r8d, 0x30(%rsp)
movl %r8d, %eax
cltd
idivl %edi
movl %eax, %r15d
movl %r9d, 0x18(%rsp)
movl %r9d, %eax
cltd
idivl %edi
movl %eax, 0x34(%rsp)
leaq 0x118(%rbx), %rax
movq %rax, 0x38(%rsp)
leaq 0x200(%rsp), %rbp
leaq 0xc0(%rsp), %r12
cmpl %esi, %r15d
jge 0x24e28
cvtsi2sd %r15d, %xmm0
movsd %xmm0, 0x28(%rsp)
movl 0x34(%rsp), %eax
movl %r15d, 0x20(%rsp)
cmpl %ecx, %eax
jge 0x24e18
movq 0x10ec69(%rip), %rsi    # 0x133908
movl %eax, 0x8(%rsp)
cvtsi2sd %eax, %xmm1
leaq 0x68(%rsp), %r13
movq %r13, %rdi
movsd 0x28(%rsp), %xmm0
callq 0x3abf0
leaq 0x10a447(%rip), %rax    # 0x12f108
movsd (%rax), %xmm1
xorpd %xmm0, %xmm0
movq %rbx, %rdi
movq %r13, %rsi
leaq 0xa0(%rsp), %rdx
leaq 0x60(%rsp), %rcx
leaq 0x98(%rsp), %r8
movq %r14, %r9
leaq 0x40(%rsp), %rax
pushq %rax
leaq 0x50(%rsp), %rax
pushq %rax
callq 0x27fd2
popq %rcx
popq %rdx
testl %eax, %eax
je 0x24e05
movq 0x60(%rsp), %rax
testq %rax, %rax
je 0x24d12
movq 0x18(%rax), %r13
jmp 0x24d15
xorl %r13d, %r13d
movq %rbp, %rdi
movq 0x38(%rsp), %rsi
callq 0x7c020
testq %r13, %r13
je 0x24d79
leaq 0x80(%r13), %rsi
movq %rbp, %rdi
callq 0x7c0ee
xorl %r15d, %r15d
movslq 0x24(%rbx), %rax
cmpq %rax, %r15
jge 0x24d79
movq 0x18(%rbx), %rax
movq (%rax,%r15,8), %rsi
movq 0x10ebb7(%rip), %rcx    # 0x133908
addq $0x8, %rcx
movq (%rsi), %rax
movq %r12, %rdi
movq %r13, %rdx
movq %r14, %r8
leaq 0x48(%rsp), %r9
callq *0x58(%rax)
movq %rbp, %rdi
movq %r12, %rsi
callq 0x7c0ee
incq %r15
jmp 0x24d39
movq %rbp, %rdi
callq 0x2733e
movsd 0x40(%rsp), %xmm0
mulsd 0xa0291(%rip), %xmm0    # 0xc5020
movq %r12, %rdi
movq %r14, %rsi
movsd %xmm0, 0x10(%rsp)
callq 0x619a0
movl $0x772, %esi            # imm = 0x772
movq %r12, %rdi
callq 0x417be
movq %r12, %rdi
callq 0x6499a
movsd 0x10(%rsp), %xmm0
addsd %xmm0, %xmm0
leaq 0x1d0(%rsp), %r15
movq %r15, %rdi
leaq 0x48(%rsp), %rsi
callq 0x6c72a
leaq 0x1e8(%rsp), %r13
movq %r13, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x6bb3b
movq %r12, %rdi
movq %r14, %rsi
movq %r13, %rdx
callq 0x6ad28
movq %r12, %rdi
callq 0x403ee
movl 0x20(%rsp), %r15d
movl 0x8(%rsp), %eax
addl 0x18(%rsp), %eax
movl 0x114(%rbx), %ecx
jmp 0x24c90
addl 0x30(%rsp), %r15d
movl 0x110(%rbx), %esi
jmp 0x24c73
movss 0xa01d4(%rip), %xmm0    # 0xc5004
callq 0x22160
cmpq $0x0, 0x10eaf3(%rip)    # 0x133930
je 0x24ed2
movl $0xb50, %edi            # imm = 0xB50
callq 0x21210
movb 0x10eb15(%rip), %al     # 0x133968
testb %al, %al
je 0x25328
movq 0x10eace(%rip), %rsi    # 0x133930
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
callq 0x388ea
movq %rbx, %rdi
callq 0x40294
movsd 0xa0196(%rip), %xmm0    # 0xc5018
xorps %xmm1, %xmm1
xorps %xmm2, %xmm2
callq 0x21e90
movss 0xa0177(%rip), %xmm0    # 0xc500c
callq 0x22160
movq 0x10ea8f(%rip), %rdi    # 0x133930
pushq $0x1
popq %rsi
xorl %edx, %edx
callq 0x390e8
movss 0xa0151(%rip), %xmm0    # 0xc5004
callq 0x22160
leaq 0xc0(%rsp), %rdi
callq 0x402d0
leaq 0xc0(%rsp), %rdi
callq 0x66856
movl 0x109af8(%rip), %eax    # 0x12e9d0
testl %eax, %eax
je 0x24f60
cmpl $0x2, 0x10ea19(%rip)    # 0x133900
jne 0x24f60
movl $0xb50, %edi            # imm = 0xB50
callq 0x21820
leaq 0x10a1de(%rip), %rdi    # 0x12f0d8
callq 0x2733e
movq 0x10e9f2(%rip), %rdi    # 0x1338f8
movzbl 0x10ea63(%rip), %esi    # 0x133970
pushq $0x7
popq %rdx
callq 0x27fda
movsd 0xa011b(%rip), %xmm1    # 0xc5038
xorps %xmm0, %xmm0
callq 0x22070
movl $0xb44, %edi            # imm = 0xB44
callq 0x21820
movq 0x10e9c2(%rip), %rdi    # 0x1338f8
movl $0x772, %esi            # imm = 0x772
callq 0x282b8
movl $0xb44, %edi            # imm = 0xB44
callq 0x21210
movsd 0xa00c6(%rip), %xmm1    # 0xc5018
xorps %xmm0, %xmm0
callq 0x22070
movl 0x109a70(%rip), %eax    # 0x12e9d0
testl %eax, %eax
je 0x24fa1
movl $0xb50, %edi            # imm = 0xB50
callq 0x21820
leaq 0x10a163(%rip), %rdi    # 0x12f0d8
callq 0x2733e
movq 0x10e977(%rip), %rdi    # 0x1338f8
movzbl 0x10e9e8(%rip), %esi    # 0x133970
pushq $0x7
popq %rdx
callq 0x27fda
movq 0x10e961(%rip), %rdi    # 0x1338f8
movl $0x772, %esi            # imm = 0x772
callq 0x282b8
cmpl $0x0, 0x10e9cc(%rip)    # 0x133974
je 0x24fd6
movl $0xb50, %edi            # imm = 0xB50
callq 0x21210
movsd 0xa005c(%rip), %xmm1    # 0xc5018
xorps %xmm0, %xmm0
xorps %xmm2, %xmm2
callq 0x21e90
movq 0x10e92a(%rip), %rdi    # 0x1338f8
pushq $0x1
popq %rsi
callq 0x282b8
cmpl $0x0, 0x10e99b(%rip)    # 0x133978
je 0x2500b
movl $0xb50, %edi            # imm = 0xB50
callq 0x21210
movsd 0xa0027(%rip), %xmm0    # 0xc5018
xorps %xmm1, %xmm1
xorps %xmm2, %xmm2
callq 0x21e90
movq 0x10e8f5(%rip), %rax    # 0x1338f8
movq (%rax), %rdi
callq 0x255ed
cmpl $0x0, 0x10e96a(%rip)    # 0x13397c
je 0x25212
movq 0x10e8d9(%rip), %rdi    # 0x1338f8
callq 0x27352
movq %rax, %rdi
callq 0x2735a
movsd %xmm0, 0x8(%rsp)
movl $0xb50, %edi            # imm = 0xB50
callq 0x21210
movss 0x9ffc8(%rip), %xmm0    # 0xc500c
callq 0x22160
callq 0x2736a
movss 0x9ffae(%rip), %xmm0    # 0xc5004
xorps %xmm1, %xmm1
xorps %xmm2, %xmm2
callq 0x22330
movsd 0x9ffd7(%rip), %xmm0    # 0xc5040
mulsd 0x8(%rsp), %xmm0
movsd %xmm0, 0x10(%rsp)
leaq 0xa2cfc(%rip), %rsi     # 0xc7d78
leaq 0x68(%rsp), %r14
movq %r14, %rdi
callq 0x6c72a
leaq 0x111d20(%rip), %rbx    # 0x136db0
leaq 0xc0(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x6bb3b
movq %r15, %rdi
callq 0x211b0
leaq 0xa2c7b(%rip), %rsi     # 0xc7d30
leaq 0x68(%rsp), %r14
movq %r14, %rdi
movsd 0x8(%rsp), %xmm0
callq 0x6c72a
leaq 0xc0(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x6bb3b
movq %r15, %rdi
callq 0x211b0
callq 0x21c60
callq 0x2736a
xorps %xmm0, %xmm0
xorps %xmm2, %xmm2
movss 0x9ff06(%rip), %xmm1    # 0xc5004
callq 0x22330
leaq 0xa2c86(%rip), %rsi     # 0xc7d90
leaq 0x68(%rsp), %r14
movq %r14, %rdi
movsd 0x10(%rsp), %xmm0
callq 0x6c72a
leaq 0xc0(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x6bb3b
movq %r15, %rdi
callq 0x211b0
leaq 0xa2c06(%rip), %rsi     # 0xc7d48
leaq 0x68(%rsp), %r14
movq %r14, %rdi
movsd 0x8(%rsp), %xmm0
callq 0x6c72a
leaq 0xc0(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x6bb3b
movq %r15, %rdi
callq 0x211b0
callq 0x21c60
callq 0x2736a
xorps %xmm0, %xmm0
xorps %xmm1, %xmm1
movss 0x9fe79(%rip), %xmm2    # 0xc5004
callq 0x22330
leaq 0xa2c11(%rip), %rsi     # 0xc7da8
leaq 0x68(%rsp), %r14
movq %r14, %rdi
movsd 0x10(%rsp), %xmm0
callq 0x6c72a
leaq 0xc0(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x6bb3b
movq %r15, %rdi
callq 0x211b0
leaq 0xa2b91(%rip), %rsi     # 0xc7d60
leaq 0x68(%rsp), %r14
movq %r14, %rdi
movsd 0x8(%rsp), %xmm0
callq 0x6c72a
leaq 0xc0(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x6bb3b
movq %r15, %rdi
callq 0x211b0
callq 0x21c60
movss 0x9fdf7(%rip), %xmm0    # 0xc5004
callq 0x22160
cmpl $0x0, 0x10e767(%rip)    # 0x133980
je 0x252c7
movb 0x10e773(%rip), %al     # 0x133998
testb %al, %al
je 0x253ab
leaq 0x10e754(%rip), %rbx    # 0x133988
movq %rbx, %rdi
callq 0x7bcb8
movsd %xmm0, 0x8(%rsp)
movq %rbx, %rdi
callq 0x27372
movsd 0x8(%rsp), %xmm1
xorps %xmm0, %xmm0
ucomisd %xmm0, %xmm1
jbe 0x252c7
movsd 0x9fde7(%rip), %xmm0    # 0xc5048
ucomisd %xmm1, %xmm0
jbe 0x252c7
movl $0xb50, %edi            # imm = 0xB50
callq 0x21210
movsd 0x9fd9f(%rip), %xmm0    # 0xc5018
movaps %xmm0, %xmm1
movaps %xmm0, %xmm2
callq 0x21e90
movsd 0x9fd8c(%rip), %xmm0    # 0xc5018
divsd 0x8(%rsp), %xmm0
leaq 0x9fee9(%rip), %rsi     # 0xc5182
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
movb $0x1, %al
callq 0x21140
movq 0x10e656(%rip), %rdi    # 0x133908
movsd 0x9fd96(%rip), %xmm0    # 0xc5050
movaps %xmm0, %xmm1
movq %rbx, %rsi
xorl %edx, %edx
callq 0x3b436
cmpq $0x0, 0x10e6d1(%rip)    # 0x1339a0
jne 0x252e8
callq 0xb87de
addq $0x218, %rsp            # imm = 0x218
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl 0x1096e6(%rip), %esi    # 0x12e9d4
movl 0x1096e4(%rip), %edx    # 0x12e9d8
leaq 0xc0(%rsp), %rbx
pushq $0x3
popq %rcx
movq %rbx, %rdi
callq 0x77926
movq %rbx, %rdi
callq 0x782b8
movq 0x10e68a(%rip), %rsi    # 0x1339a0
leaq 0xc0(%rsp), %rdi
callq 0x7955e
callq 0x247dc
leaq 0x10e639(%rip), %rdi    # 0x133968
callq 0x22150
testl %eax, %eax
je 0x24e5b
movl $0xb8, %edi
callq 0x218d0
movq %rax, %r14
movsd 0x9fcc7(%rip), %xmm0    # 0xc5018
xorps %xmm1, %xmm1
xorps %xmm2, %xmm2
xorps %xmm3, %xmm3
movq %rax, %rdi
movaps %xmm0, %xmm4
movaps %xmm0, %xmm5
xorl %esi, %esi
callq 0x3f296
leaq 0x10e5c7(%rip), %rdi    # 0x133938
leaq 0x9fe00(%rip), %rdx     # 0xc5178
movq %r14, %rsi
callq 0x3edf2
leaq 0x19b19(%rip), %rdi     # 0x3eea0
leaq 0x10e5aa(%rip), %rsi    # 0x133938
leaq 0x109633(%rip), %rdx    # 0x12e9c8
callq 0x217d0
leaq 0x10e5c7(%rip), %rdi    # 0x133968
callq 0x215d0
jmp 0x24e5b
leaq 0x10e5e6(%rip), %rdi    # 0x133998
callq 0x22150
testl %eax, %eax
je 0x2522d
leaq 0x10e5c2(%rip), %rdi    # 0x133988
callq 0x7bc7e
leaq 0x10e5c6(%rip), %rdi    # 0x133998
callq 0x215d0
jmp 0x2522d
movq %rax, %rbx
leaq 0x10e5b2(%rip), %rdi    # 0x133998
jmp 0x25404
movq %rax, %rbx
jmp 0x253fd
movq %rax, %rbx
movl $0xb8, %esi
movq %r14, %rdi
callq 0x218f0
leaq 0x10e564(%rip), %rdi    # 0x133968
callq 0x215b0
jmp 0x25443
movq %rax, %rbx
leaq 0xc0(%rsp), %rdi
callq 0x77b68
jmp 0x25443
movq %rax, %rbx
leaq 0xc0(%rsp), %rdi
callq 0x66856
jmp 0x25443
jmp 0x25433
jmp 0x25433
movq %rax, %rbx
leaq 0xc0(%rsp), %rdi
callq 0x6499a
movq %rbx, %rdi
callq 0x220e0