// File: tomfunkhouser[P]gaps/apps/scn2cam/scn2cam.cpp
// Function: ParseArgs(int, char**)
static int 
ParseArgs(int argc, char **argv)
{
  // Initialize variables to track whether to assign defaults
  int create_cameras = 0;
  int output = 0;
  
  // Parse arguments
  argc--; argv++;
  while (argc > 0) {
    if ((*argv)[0] == '-') {
      if (!strcmp(*argv, "-v")) print_verbose = 1;
      else if (!strcmp(*argv, "-debug")) print_debug = 1;
      else if (!strcmp(*argv, "-glut")) { mesa = 0; glut = 1; }
      else if (!strcmp(*argv, "-mesa")) { mesa = 1; glut = 0; }
      else if (!strcmp(*argv, "-raycast")) { mesa = 0; glut = 0; }
      else if (!strcmp(*argv, "-yup")) { gravity_dimension = RN_Y; }
      else if (!strcmp(*argv, "-zup")) { gravity_dimension = RN_Z; }
      else if (!strcmp(*argv, "-categories")) { argc--; argv++; input_categories_filename = *argv; }
      else if (!strcmp(*argv, "-input_cameras")) { argc--; argv++; input_cameras_filename = *argv; }
      else if (!strcmp(*argv, "-input_points")) { argc--; argv++; input_points_filename = *argv; }
      else if (!strcmp(*argv, "-output_camera_extrinsics")) { argc--; argv++; output_camera_extrinsics_filename = *argv; output = 1; }
      else if (!strcmp(*argv, "-output_camera_intrinsics")) { argc--; argv++; output_camera_intrinsics_filename = *argv; output = 1; }
      else if (!strcmp(*argv, "-output_camera_names")) { argc--; argv++; output_camera_names_filename = *argv; output = 1; }
      else if (!strcmp(*argv, "-output_nodes")) { argc--; argv++; output_nodes_filename = *argv; output = 1; }
      else if (!strcmp(*argv, "-interpolate_camera_trajectory")) { interpolate_camera_trajectory = 1; }
      else if (!strcmp(*argv, "-width")) { argc--; argv++; width = atoi(*argv); }
      else if (!strcmp(*argv, "-height")) { argc--; argv++; height = atoi(*argv); }
      else if (!strcmp(*argv, "-xfov")) { argc--; argv++; xfov = atof(*argv); }
      else if (!strcmp(*argv, "-eye_height")) { argc--; argv++; eye_height = atof(*argv); }
      else if (!strcmp(*argv, "-eye_height_radius")) { argc--; argv++; eye_height_radius = atof(*argv); }
      else if (!strcmp(*argv, "-min_distance_from_obstacle")) { argc--; argv++; min_distance_from_obstacle = atof(*argv); }
      else if (!strcmp(*argv, "-max_surface_normal_angle")) { argc--; argv++; max_surface_normal_angle = atof(*argv); }
      else if (!strcmp(*argv, "-min_surface_distance")) { argc--; argv++; min_surface_distance = atof(*argv); }
      else if (!strcmp(*argv, "-max_surface_distance")) { argc--; argv++; max_surface_distance = atof(*argv); }
      else if (!strcmp(*argv, "-min_visible_objects")) { argc--; argv++; min_visible_objects = atoi(*argv); }
      else if (!strcmp(*argv, "-min_score")) { argc--; argv++; min_score = atof(*argv); }
      else if (!strcmp(*argv, "-gravity_dimension")) { argc--; argv++; gravity_dimension = atoi(*argv); }
      else if (!strcmp(*argv, "-scene_scoring_method")) { argc--; argv++; scene_scoring_method = atoi(*argv); }
      else if (!strcmp(*argv, "-object_scoring_method")) { argc--; argv++; object_scoring_method = atoi(*argv); }
      else if (!strcmp(*argv, "-position_sampling")) { argc--; argv++; position_sampling = atof(*argv); }
      else if (!strcmp(*argv, "-angle_sampling")) { argc--; argv++; angle_sampling = atof(*argv); }
      else if (!strcmp(*argv, "-interpolation_step")) { argc--; argv++; interpolation_step = atof(*argv); }
      else if (!strcmp(*argv, "-create_object_cameras") || !strcmp(*argv, "-create_leaf_node_cameras")) {
        create_cameras = create_object_cameras = 1;
        angle_sampling = RN_PI / 6.0;
      }
      else if (!strcmp(*argv, "-create_orbit_cameras")) {
        create_cameras = create_orbit_cameras = 1;
      }
      else if (!strcmp(*argv, "-create_random_orbit_cameras")) {
        create_cameras = create_orbit_cameras = 1;
      }
      else if (!strcmp(*argv, "-create_dodeca_cameras")) {
        create_cameras = create_dodeca_cameras = 1;
      }
      else if (!strcmp(*argv, "-create_interior_cameras")) {
        create_cameras = create_interior_cameras = 1;
        angle_sampling = RN_PI / 2.0;
      }
      else if (!strcmp(*argv, "-create_surface_cameras")) {
        create_cameras = create_surface_cameras = 1;
      }
      else if (!strcmp(*argv, "-create_room_cameras")) {
        create_cameras = create_room_cameras = 1;
        angle_sampling = RN_PI / 2.0;
      }
      else if (!strcmp(*argv, "-create_path_in_room_cameras")) {
        create_cameras = create_path_in_room_cameras = 1;
      }
      else if (!strcmp(*argv, "-create_world_in_hand_cameras")) {
        create_cameras = create_world_in_hand_cameras = 1;
      }
      else if (!strcmp(*argv, "-create_lookat_cameras")) {
        create_cameras = create_lookat_cameras = 1;
      }
      else {
        RNFail("Invalid program argument: %s", *argv);
        exit(1);
      }
      argv++; argc--;
    }
    else {
      if (!input_scene_filename) input_scene_filename = *argv;
      else if (!output_cameras_filename) { output_cameras_filename = *argv; output = 1; }
      else { RNFail("Invalid program argument: %s", *argv); exit(1); }
      argv++; argc--;
    }
  }

  // Set default camera options
  if (!input_cameras_filename && !create_cameras) {
    create_room_cameras = 1;
  }

  // Check filenames
  if (!input_scene_filename || !output) {
    RNFail("Usage: scn2cam inputscenefile outputcamerafile\n");
    return 0;
  }

  // Return OK status 
  return 1;
}

// Assembly:
subq $0x18, %rsp
movl %edi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movl $0x0, 0x4(%rsp)
movl $0x0, (%rsp)
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
cmpl $0x0, 0x10(%rsp)
jle 0x28cd5
movq 0x8(%rsp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x28c58
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192f89(%rip), %rsi    # 0x1bb0ac
callq 0x23e90
cmpl $0x0, %eax
jne 0x2813c
movl $0x1, 0x207a7d(%rip)    # 0x22fbb4
jmp 0x28c3d
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192f64(%rip), %rsi    # 0x1bb0af
callq 0x23e90
cmpl $0x0, %eax
jne 0x28164
movl $0x1, 0x207a59(%rip)    # 0x22fbb8
jmp 0x28c3b
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192f43(%rip), %rsi    # 0x1bb0b6
callq 0x23e90
cmpl $0x0, %eax
jne 0x28196
movl $0x0, 0x207a29(%rip)    # 0x22fbb0
movl $0x1, 0x2018ef(%rip)    # 0x229a80
jmp 0x28c39
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192f17(%rip), %rsi    # 0x1bb0bc
callq 0x23e90
cmpl $0x0, %eax
jne 0x281c8
movl $0x1, 0x2079f7(%rip)    # 0x22fbb0
movl $0x0, 0x2018bd(%rip)    # 0x229a80
jmp 0x28c37
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192eeb(%rip), %rsi    # 0x1bb0c2
callq 0x23e90
cmpl $0x0, %eax
jne 0x281fa
movl $0x0, 0x2079c5(%rip)    # 0x22fbb0
movl $0x0, 0x20188b(%rip)    # 0x229a80
jmp 0x28c35
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192ec2(%rip), %rsi    # 0x1bb0cb
callq 0x23e90
cmpl $0x0, %eax
jne 0x28222
movl $0x1, 0x201867(%rip)    # 0x229a84
jmp 0x28c33
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192e9f(%rip), %rsi    # 0x1bb0d0
callq 0x23e90
cmpl $0x0, %eax
jne 0x2824a
movl $0x2, 0x20183f(%rip)    # 0x229a84
jmp 0x28c31
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192e7c(%rip), %rsi    # 0x1bb0d5
callq 0x23e90
cmpl $0x0, %eax
jne 0x28290
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x207915(%rip)    # 0x22fba0
jmp 0x28c2f
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192e42(%rip), %rsi    # 0x1bb0e1
callq 0x23e90
cmpl $0x0, %eax
jne 0x282d6
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x2078c7(%rip)    # 0x22fb98
jmp 0x28c2d
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192e0b(%rip), %rsi    # 0x1bb0f0
callq 0x23e90
cmpl $0x0, %eax
jne 0x2831c
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x207891(%rip)    # 0x22fba8
jmp 0x28c2b
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192dd3(%rip), %rsi    # 0x1bb0fe
callq 0x23e90
cmpl $0x0, %eax
jne 0x28369
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x207863(%rip)    # 0x22fbc0
movl $0x1, (%rsp)
jmp 0x28c29
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192da0(%rip), %rsi    # 0x1bb118
callq 0x23e90
cmpl $0x0, %eax
jne 0x283b6
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x20781e(%rip)    # 0x22fbc8
movl $0x1, (%rsp)
jmp 0x28c27
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192d6d(%rip), %rsi    # 0x1bb132
callq 0x23e90
cmpl $0x0, %eax
jne 0x28403
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x2077d9(%rip)    # 0x22fbd0
movl $0x1, (%rsp)
jmp 0x28c25
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192d35(%rip), %rsi    # 0x1bb147
callq 0x23e90
cmpl $0x0, %eax
jne 0x28450
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x207794(%rip)    # 0x22fbd8
movl $0x1, (%rsp)
jmp 0x28c23
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192cf6(%rip), %rsi    # 0x1bb155
callq 0x23e90
cmpl $0x0, %eax
jne 0x28478
movl $0x1, 0x20776d(%rip)    # 0x22fbe0
jmp 0x28c21
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192ced(%rip), %rsi    # 0x1bb174
callq 0x23e90
cmpl $0x0, %eax
jne 0x284c2
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x24060
movl %eax, 0x2015cb(%rip)    # 0x229a88
jmp 0x28c1f
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192caa(%rip), %rsi    # 0x1bb17b
callq 0x23e90
cmpl $0x0, %eax
jne 0x2850c
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x24060
movl %eax, 0x201585(%rip)    # 0x229a8c
jmp 0x28c1d
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192c68(%rip), %rsi    # 0x1bb183
callq 0x23e90
cmpl $0x0, %eax
jne 0x28558
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x23cc0
movsd %xmm0, 0x20153d(%rip)   # 0x229a90
jmp 0x28c1b
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192c22(%rip), %rsi    # 0x1bb189
callq 0x23e90
cmpl $0x0, %eax
jne 0x285a4
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x23cc0
movsd %xmm0, 0x2014f9(%rip)   # 0x229a98
jmp 0x28c19
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192be2(%rip), %rsi    # 0x1bb195
callq 0x23e90
cmpl $0x0, %eax
jne 0x285f0
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x23cc0
movsd %xmm0, 0x2014b5(%rip)   # 0x229aa0
jmp 0x28c17
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192ba9(%rip), %rsi    # 0x1bb1a8
callq 0x23e90
cmpl $0x0, %eax
jne 0x2863c
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x23cc0
movsd %xmm0, 0x2075b1(%rip)   # 0x22fbe8
jmp 0x28c15
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192b79(%rip), %rsi    # 0x1bb1c4
callq 0x23e90
cmpl $0x0, %eax
jne 0x28688
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x23cc0
movsd %xmm0, 0x201425(%rip)   # 0x229aa8
jmp 0x28c13
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192b47(%rip), %rsi    # 0x1bb1de
callq 0x23e90
cmpl $0x0, %eax
jne 0x286d4
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x23cc0
movsd %xmm0, 0x2013e1(%rip)   # 0x229ab0
jmp 0x28c11
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192b11(%rip), %rsi    # 0x1bb1f4
callq 0x23e90
cmpl $0x0, %eax
jne 0x28720
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x23cc0
movsd %xmm0, 0x20139d(%rip)   # 0x229ab8
jmp 0x28c0f
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192adb(%rip), %rsi    # 0x1bb20a
callq 0x23e90
cmpl $0x0, %eax
jne 0x28770
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x24060
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x201355(%rip)   # 0x229ac0
jmp 0x28c0d
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192aa0(%rip), %rsi    # 0x1bb21f
callq 0x23e90
cmpl $0x0, %eax
jne 0x287bc
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x23cc0
movsd %xmm0, 0x207439(%rip)   # 0x22fbf0
jmp 0x28c0b
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192a5f(%rip), %rsi    # 0x1bb22a
callq 0x23e90
cmpl $0x0, %eax
jne 0x28806
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x24060
movl %eax, 0x201283(%rip)    # 0x229a84
jmp 0x28c09
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192a28(%rip), %rsi    # 0x1bb23d
callq 0x23e90
cmpl $0x0, %eax
jne 0x28850
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x24060
movl %eax, 0x2073ad(%rip)    # 0x22fbf8
jmp 0x28c07
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x1929f4(%rip), %rsi    # 0x1bb253
callq 0x23e90
cmpl $0x0, %eax
jne 0x2889a
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x24060
movl %eax, 0x207367(%rip)    # 0x22fbfc
jmp 0x28c05
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x1929c1(%rip), %rsi    # 0x1bb26a
callq 0x23e90
cmpl $0x0, %eax
jne 0x288e6
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x23cc0
movsd %xmm0, 0x2011e7(%rip)   # 0x229ac8
jmp 0x28c03
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192988(%rip), %rsi    # 0x1bb27d
callq 0x23e90
cmpl $0x0, %eax
jne 0x28932
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x23cc0
movsd %xmm0, 0x2072d3(%rip)   # 0x22fc00
jmp 0x28c01
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x19294c(%rip), %rsi    # 0x1bb28d
callq 0x23e90
cmpl $0x0, %eax
jne 0x2897e
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x23cc0
movsd %xmm0, 0x201157(%rip)   # 0x229ad0
jmp 0x28bff
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192914(%rip), %rsi    # 0x1bb2a1
callq 0x23e90
cmpl $0x0, %eax
je 0x289b0
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192912(%rip), %rsi    # 0x1bb2b8
callq 0x23e90
cmpl $0x0, %eax
jne 0x289e6
movl $0x1, 0x20724e(%rip)    # 0x22fc08
movl $0x1, 0x4(%rsp)
leaq 0x196bff(%rip), %rax    # 0x1bf5c8
movsd (%rax), %xmm0
movsd 0x192633(%rip), %xmm1   # 0x1bb008
divsd %xmm1, %xmm0
movsd %xmm0, 0x20721f(%rip)   # 0x22fc00
jmp 0x28bfd
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x1928dd(%rip), %rsi    # 0x1bb2d2
callq 0x23e90
cmpl $0x0, %eax
jne 0x28a16
movl $0x1, 0x207203(%rip)    # 0x22fc0c
movl $0x1, 0x4(%rsp)
jmp 0x28bfb
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x1928c3(%rip), %rsi    # 0x1bb2e8
callq 0x23e90
cmpl $0x0, %eax
jne 0x28a46
movl $0x1, 0x2071d3(%rip)    # 0x22fc0c
movl $0x1, 0x4(%rsp)
jmp 0x28bf9
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x1928b0(%rip), %rsi    # 0x1bb305
callq 0x23e90
cmpl $0x0, %eax
jne 0x28a76
movl $0x1, 0x2071a7(%rip)    # 0x22fc10
movl $0x1, 0x4(%rsp)
jmp 0x28bf7
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192897(%rip), %rsi    # 0x1bb31c
callq 0x23e90
cmpl $0x0, %eax
jne 0x28ac5
movl $0x1, 0x20717b(%rip)    # 0x22fc14
movl $0x1, 0x4(%rsp)
leaq 0x196b20(%rip), %rax    # 0x1bf5c8
movsd (%rax), %xmm0
movsd 0x19255c(%rip), %xmm1   # 0x1bb010
divsd %xmm1, %xmm0
movsd %xmm0, 0x207140(%rip)   # 0x22fc00
jmp 0x28bf5
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192861(%rip), %rsi    # 0x1bb335
callq 0x23e90
cmpl $0x0, %eax
jne 0x28af5
movl $0x1, 0x207130(%rip)    # 0x22fc18
movl $0x1, 0x4(%rsp)
jmp 0x28bf3
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x192849(%rip), %rsi    # 0x1bb34d
callq 0x23e90
cmpl $0x0, %eax
jne 0x28b44
movl $0x1, 0x207104(%rip)    # 0x22fc1c
movl $0x1, 0x4(%rsp)
leaq 0x196aa1(%rip), %rax    # 0x1bf5c8
movsd (%rax), %xmm0
movsd 0x1924dd(%rip), %xmm1   # 0x1bb010
divsd %xmm1, %xmm0
movsd %xmm0, 0x2070c1(%rip)   # 0x22fc00
jmp 0x28bf1
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x19280f(%rip), %rsi    # 0x1bb362
callq 0x23e90
cmpl $0x0, %eax
jne 0x28b71
movl $0x1, 0x2070b9(%rip)    # 0x22fc20
movl $0x1, 0x4(%rsp)
jmp 0x28bef
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x1927ff(%rip), %rsi    # 0x1bb37f
callq 0x23e90
cmpl $0x0, %eax
jne 0x28b9e
movl $0x1, 0x207090(%rip)    # 0x22fc24
movl $0x1, 0x4(%rsp)
jmp 0x28bed
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x1927f0(%rip), %rsi    # 0x1bb39d
callq 0x23e90
cmpl $0x0, %eax
jne 0x28bcb
movl $0x1, 0x207067(%rip)    # 0x22fc28
movl $0x1, 0x4(%rsp)
jmp 0x28beb
movq 0x8(%rsp), %rax
movq (%rax), %rsi
leaq 0x1927da(%rip), %rdi    # 0x1bb3b4
movb $0x0, %al
callq 0x120a50
movl $0x1, %edi
callq 0x23c20
jmp 0x28bed
jmp 0x28bef
jmp 0x28bf1
jmp 0x28bf3
jmp 0x28bf5
jmp 0x28bf7
jmp 0x28bf9
jmp 0x28bfb
jmp 0x28bfd
jmp 0x28bff
jmp 0x28c01
jmp 0x28c03
jmp 0x28c05
jmp 0x28c07
jmp 0x28c09
jmp 0x28c0b
jmp 0x28c0d
jmp 0x28c0f
jmp 0x28c11
jmp 0x28c13
jmp 0x28c15
jmp 0x28c17
jmp 0x28c19
jmp 0x28c1b
jmp 0x28c1d
jmp 0x28c1f
jmp 0x28c21
jmp 0x28c23
jmp 0x28c25
jmp 0x28c27
jmp 0x28c29
jmp 0x28c2b
jmp 0x28c2d
jmp 0x28c2f
jmp 0x28c31
jmp 0x28c33
jmp 0x28c35
jmp 0x28c37
jmp 0x28c39
jmp 0x28c3b
jmp 0x28c3d
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
jmp 0x28cd0
cmpq $0x0, 0x206f30(%rip)    # 0x22fb90
jne 0x28c73
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x206f1f(%rip)    # 0x22fb90
jmp 0x28cb7
cmpq $0x0, 0x206fb5(%rip)    # 0x22fc30
jne 0x28c95
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x206fa4(%rip)    # 0x22fc30
movl $0x1, (%rsp)
jmp 0x28cb5
movq 0x8(%rsp), %rax
movq (%rax), %rsi
leaq 0x192710(%rip), %rdi    # 0x1bb3b4
movb $0x0, %al
callq 0x120a50
movl $0x1, %edi
callq 0x23c20
jmp 0x28cb7
movq 0x8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
movl 0x10(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x10(%rsp)
jmp 0x280f5
cmpq $0x0, 0x206ebb(%rip)    # 0x22fb98
jne 0x28cf0
cmpl $0x0, 0x4(%rsp)
jne 0x28cf0
movl $0x1, 0x206f2c(%rip)    # 0x22fc1c
cmpq $0x0, 0x206e98(%rip)    # 0x22fb90
je 0x28d00
cmpl $0x0, (%rsp)
jne 0x28d18
leaq 0x1926ca(%rip), %rdi    # 0x1bb3d1
movb $0x0, %al
callq 0x120a50
movl $0x0, 0x14(%rsp)
jmp 0x28d20
movl $0x1, 0x14(%rsp)
movl 0x14(%rsp), %eax
addq $0x18, %rsp
retq
nopl (%rax)