// File: tomfunkhouser[P]gaps/apps/msh2pts/msh2pts.cpp
// Function: ParseArgs(int, char**)
static int
ParseArgs (int argc, char **argv)
{
  // Parse arguments
  argc--; argv++;
  while (argc > 0) {
    if ((*argv)[0] == '-') {
      if (!strcmp(*argv, "-num_points")) { argv++; argc--; min_points = max_points = num_points = atoi(*argv); }
      else if (!strcmp(*argv, "-npoints")) { argv++; argc--; num_points = atoi(*argv); }
      else if (!strcmp(*argv, "-min_points")) { argv++; argc--; min_points = atoi(*argv); }
      else if (!strcmp(*argv, "-max_points")) { argv++; argc--; max_points = atoi(*argv); }
      else if (!strcmp(*argv, "-min_spacing")) { argc--; argv++; min_spacing = atof(*argv); }
      else if (!strcmp(*argv, "-min_normalized_spacing")) { argc--; argv++; min_normalized_spacing = atof(*argv); }
      else if (!strcmp(*argv, "-min_relative_spacing")) { argc--; argv++; min_relative_spacing = atof(*argv); }
      else if (!strcmp(*argv, "-max_distance")) { argc--; argv++; max_distance = atof(*argv); }
      else if (!strcmp(*argv, "-curvature_exponent")) { argc--; argv++; curvature_exponent = atof(*argv); }
      else if (!strcmp(*argv, "-curvature_max")) { argc--; argv++; curvature_max = atof(*argv); }
      else if (!strcmp(*argv, "-near_surface_bias_exponent")) { argc--; argv++; near_surface_bias_exponent = atof(*argv); }
      else if (!strcmp(*argv, "-property")) { argc--; argv++;  property_name = *argv; }
      else if (!strcmp(*argv, "-selection_method")) { argc--; argv++; selection_method = atoi(*argv); }
      else if (!strcmp(*argv, "-random_surface_points")) { selection_method = RANDOM_SURFACE_POINTS; }
      else if (!strcmp(*argv, "-exterior_surface_points")) { selection_method = EXTERIOR_SURFACE_POINTS; }
      else if (!strcmp(*argv, "-visible_surface_points")) { selection_method = VISIBLE_SURFACE_POINTS; }
      else if (!strcmp(*argv, "-near_surface")) { selection_method = NEAR_SURFACE_POINTS; }
      else if (!strcmp(*argv, "-near_surface_points")) { selection_method = NEAR_SURFACE_POINTS; }
      else if (!strcmp(*argv, "-random_vertices")) { selection_method = RANDOM_VERTICES; }
      else if (!strcmp(*argv, "-iterative_furthest_vertex")) { selection_method = ITERATIVE_FURTHEST_VERTEX; }
      else if (!strcmp(*argv, "-center_of_mass")) { selection_method = CENTER_OF_MASS; }
      else if (!strcmp(*argv, "-vertex_closest_to_center_of_mass")) { selection_method = VERTEX_CLOSEST_TO_CENTER_OF_MASS; }
      else if (!strcmp(*argv, "-property_minima")) { selection_method = PROPERTY_MINIMA; }
      else if (!strcmp(*argv, "-property_maxima")) { selection_method = PROPERTY_MAXIMA; }
      else if (!strcmp(*argv, "-property_extrema")) { selection_method = PROPERTY_EXTREMA; }
      else if (!strcmp(*argv, "-scale_space_minima")) { selection_method = SCALE_SPACE_MINIMA; }
      else if (!strcmp(*argv, "-scale_space_maxima")) { selection_method = SCALE_SPACE_MAXIMA; }
      else if (!strcmp(*argv, "-scale_space_extrema")) { selection_method = SCALE_SPACE_EXTREMA; }
      else if (!strcmp(*argv, "-uniform_in_bbox")) { selection_method = UNIFORM_IN_BBOX; }
      else if (!strcmp(*argv, "-binary_sdf")) { binary_sdf = TRUE; }
      else if (!strcmp(*argv, "-v")) { print_verbose = TRUE; }
      else if (!strcmp(*argv, "-debug")) { print_debug = TRUE; }
      else if (!strcmp(*argv, "-bbox")) {
        argc--; argv++; bbox[0][0] = atof(*argv);
        argc--; argv++; bbox[0][1] = atof(*argv);
        argc--; argv++; bbox[0][2] = atof(*argv);
        argc--; argv++; bbox[1][0] = atof(*argv);
        argc--; argv++; bbox[1][1] = atof(*argv);
        argc--; argv++; bbox[1][2] = atof(*argv);
      }
      else { RNFail("Invalid program argument: %s\n", *argv); return 0; }
      argv++; argc--;
    }
    else {
      if (!mesh_name) mesh_name = *argv;
      else if (!points_name) points_name = *argv;
      else RNAbort("Invalid program argument: %s", *argv);
      argv++; argc--;
    }
  }

  // Check mesh and points names
  if (!mesh_name || !points_name) {
    // Print usage statement
    RNFail("Usage: msh2pts <options> input_mesh output_points\n\n");
    return FALSE;
  }

  // Resolve binary sdf flag
  if (!strstr(points_name, ".sdf")) binary_sdf = TRUE;

  // Return success
  return TRUE;
}

// Assembly:
subq $0x48, %rsp
movl %edi, 0x40(%rsp)
movq %rsi, 0x38(%rsp)
movl 0x40(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x40(%rsp)
movq 0x38(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
cmpl $0x0, 0x40(%rsp)
jle 0x13d87
movq 0x38(%rsp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x13d1b
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136dd4(%rip), %rsi    # 0x14a1a8
callq 0xf710
cmpl $0x0, %eax
jne 0x1341b
movq 0x38(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
movl 0x40(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x40(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0xf7c0
movl %eax, 0x1750fa(%rip)    # 0x188504
movl %eax, 0x1750f8(%rip)    # 0x188508
movl %eax, 0x1750f6(%rip)    # 0x18850c
jmp 0x13d00
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136d8a(%rip), %rsi    # 0x14a1b4
callq 0xf710
cmpl $0x0, %eax
jne 0x13465
movq 0x38(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
movl 0x40(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x40(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0xf7c0
movl %eax, 0x1750a4(%rip)    # 0x188504
jmp 0x13cfe
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136d49(%rip), %rsi    # 0x14a1bd
callq 0xf710
cmpl $0x0, %eax
jne 0x134af
movq 0x38(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
movl 0x40(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x40(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0xf7c0
movl %eax, 0x175062(%rip)    # 0x18850c
jmp 0x13cfc
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136d0b(%rip), %rsi    # 0x14a1c9
callq 0xf710
cmpl $0x0, %eax
jne 0x134f9
movq 0x38(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
movl 0x40(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x40(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0xf7c0
movl %eax, 0x175014(%rip)    # 0x188508
jmp 0x13cfa
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136ccd(%rip), %rsi    # 0x14a1d5
callq 0xf710
cmpl $0x0, %eax
jne 0x13545
movl 0x40(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x40(%rsp)
movq 0x38(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0xf650
movsd %xmm0, 0x174fd0(%rip)   # 0x188510
jmp 0x13cf8
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136c8e(%rip), %rsi    # 0x14a1e2
callq 0xf710
cmpl $0x0, %eax
jne 0x13591
movl 0x40(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x40(%rsp)
movq 0x38(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0xf650
movsd %xmm0, 0x174f8c(%rip)   # 0x188518
jmp 0x13cf6
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136c5a(%rip), %rsi    # 0x14a1fa
callq 0xf710
cmpl $0x0, %eax
jne 0x135dd
movl 0x40(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x40(%rsp)
movq 0x38(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0xf650
movsd %xmm0, 0x174f48(%rip)   # 0x188520
jmp 0x13cf4
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136c24(%rip), %rsi    # 0x14a210
callq 0xf710
cmpl $0x0, %eax
jne 0x13629
movl 0x40(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x40(%rsp)
movq 0x38(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0xf650
movsd %xmm0, 0x174f04(%rip)   # 0x188528
jmp 0x13cf2
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136be6(%rip), %rsi    # 0x14a21e
callq 0xf710
cmpl $0x0, %eax
jne 0x13675
movl 0x40(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x40(%rsp)
movq 0x38(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0xf650
movsd %xmm0, 0x17df80(%rip)   # 0x1915f0
jmp 0x13cf0
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136bae(%rip), %rsi    # 0x14a232
callq 0xf710
cmpl $0x0, %eax
jne 0x136c1
movl 0x40(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x40(%rsp)
movq 0x38(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0xf650
movsd %xmm0, 0x174e74(%rip)   # 0x188530
jmp 0x13cee
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136b71(%rip), %rsi    # 0x14a241
callq 0xf710
cmpl $0x0, %eax
jne 0x1370d
movl 0x40(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x40(%rsp)
movq 0x38(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0xf650
movsd %xmm0, 0x174e30(%rip)   # 0x188538
jmp 0x13cec
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136b41(%rip), %rsi    # 0x14a25d
callq 0xf710
cmpl $0x0, %eax
jne 0x13753
movl 0x40(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x40(%rsp)
movq 0x38(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x17de92(%rip)    # 0x1915e0
jmp 0x13cea
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136b05(%rip), %rsi    # 0x14a267
callq 0xf710
cmpl $0x0, %eax
jne 0x1379d
movl 0x40(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x40(%rsp)
movq 0x38(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0xf7c0
movl %eax, 0x174d68(%rip)    # 0x188500
jmp 0x13ce8
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136acd(%rip), %rsi    # 0x14a279
callq 0xf710
cmpl $0x0, %eax
jne 0x137c5
movl $0x1, 0x174d40(%rip)    # 0x188500
jmp 0x13ce6
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136abc(%rip), %rsi    # 0x14a290
callq 0xf710
cmpl $0x0, %eax
jne 0x137ed
movl $0x3, 0x174d18(%rip)    # 0x188500
jmp 0x13ce4
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136aad(%rip), %rsi    # 0x14a2a9
callq 0xf710
cmpl $0x0, %eax
jne 0x13815
movl $0x5, 0x174cf0(%rip)    # 0x188500
jmp 0x13ce2
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136a9d(%rip), %rsi    # 0x14a2c1
callq 0xf710
cmpl $0x0, %eax
jne 0x1383d
movl $0x4, 0x174cc8(%rip)    # 0x188500
jmp 0x13ce0
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136a83(%rip), %rsi    # 0x14a2cf
callq 0xf710
cmpl $0x0, %eax
jne 0x13865
movl $0x4, 0x174ca0(%rip)    # 0x188500
jmp 0x13cde
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136a70(%rip), %rsi    # 0x14a2e4
callq 0xf710
cmpl $0x0, %eax
jne 0x1388d
movl $0x0, 0x174c78(%rip)    # 0x188500
jmp 0x13cdc
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136a59(%rip), %rsi    # 0x14a2f5
callq 0xf710
cmpl $0x0, %eax
jne 0x138b5
movl $0x2, 0x174c50(%rip)    # 0x188500
jmp 0x13cda
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136a4c(%rip), %rsi    # 0x14a310
callq 0xf710
cmpl $0x0, %eax
jne 0x138dd
movl $0xd, 0x174c28(%rip)    # 0x188500
jmp 0x13cd8
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136a34(%rip), %rsi    # 0x14a320
callq 0xf710
cmpl $0x0, %eax
jne 0x13905
movl $0xe, 0x174c00(%rip)    # 0x188500
jmp 0x13cd6
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136a2e(%rip), %rsi    # 0x14a342
callq 0xf710
cmpl $0x0, %eax
jne 0x1392d
movl $0xb, 0x174bd8(%rip)    # 0x188500
jmp 0x13cd4
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136a17(%rip), %rsi    # 0x14a353
callq 0xf710
cmpl $0x0, %eax
jne 0x13955
movl $0xa, 0x174bb0(%rip)    # 0x188500
jmp 0x13cd2
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136a00(%rip), %rsi    # 0x14a364
callq 0xf710
cmpl $0x0, %eax
jne 0x1397d
movl $0xc, 0x174b88(%rip)    # 0x188500
jmp 0x13cd0
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x1369ea(%rip), %rsi    # 0x14a376
callq 0xf710
cmpl $0x0, %eax
jne 0x139a5
movl $0x8, 0x174b60(%rip)    # 0x188500
jmp 0x13cce
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x1369d6(%rip), %rsi    # 0x14a38a
callq 0xf710
cmpl $0x0, %eax
jne 0x139cd
movl $0x7, 0x174b38(%rip)    # 0x188500
jmp 0x13ccc
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x1369c2(%rip), %rsi    # 0x14a39e
callq 0xf710
cmpl $0x0, %eax
jne 0x139f5
movl $0x9, 0x174b10(%rip)    # 0x188500
jmp 0x13cca
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x1369af(%rip), %rsi    # 0x14a3b3
callq 0xf710
cmpl $0x0, %eax
jne 0x13a1d
movl $0x6, 0x174ae8(%rip)    # 0x188500
jmp 0x13cc8
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136998(%rip), %rsi    # 0x14a3c4
callq 0xf710
cmpl $0x0, %eax
jne 0x13a45
movl $0x1, 0x17dbb8(%rip)    # 0x1915f8
jmp 0x13cc6
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x13697c(%rip), %rsi    # 0x14a3d0
callq 0xf710
cmpl $0x0, %eax
jne 0x13a6d
movl $0x1, 0x17db68(%rip)    # 0x1915d0
jmp 0x13cc4
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136957(%rip), %rsi    # 0x14a3d3
callq 0xf710
cmpl $0x0, %eax
jne 0x13a95
movl $0x1, 0x17db6c(%rip)    # 0x1915fc
jmp 0x13cc2
movq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x136936(%rip), %rsi    # 0x14a3da
callq 0xf710
cmpl $0x0, %eax
jne 0x13c9d
movl 0x40(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x40(%rsp)
movq 0x38(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0xf650
movsd %xmm0, 0x8(%rsp)
leaq 0x17dab3(%rip), %rdi    # 0x191598
xorl %esi, %esi
callq 0x1b3c0
movq %rax, %rdi
xorl %esi, %esi
callq 0x1b400
movsd 0x8(%rsp), %xmm0
movsd %xmm0, (%rax)
movl 0x40(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x40(%rsp)
movq 0x38(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0xf650
movsd %xmm0, 0x10(%rsp)
leaq 0x17da65(%rip), %rdi    # 0x191598
xorl %esi, %esi
callq 0x1b3c0
movq %rax, %rdi
movl $0x1, %esi
callq 0x1b400
movsd 0x10(%rsp), %xmm0
movsd %xmm0, (%rax)
movl 0x40(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x40(%rsp)
movq 0x38(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0xf650
movsd %xmm0, 0x18(%rsp)
leaq 0x17da14(%rip), %rdi    # 0x191598
xorl %esi, %esi
callq 0x1b3c0
movq %rax, %rdi
movl $0x2, %esi
callq 0x1b400
movsd 0x18(%rsp), %xmm0
movsd %xmm0, (%rax)
movl 0x40(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x40(%rsp)
movq 0x38(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0xf650
movsd %xmm0, 0x20(%rsp)
leaq 0x17d9c3(%rip), %rdi    # 0x191598
movl $0x1, %esi
callq 0x1b3c0
movq %rax, %rdi
xorl %esi, %esi
callq 0x1b400
movsd 0x20(%rsp), %xmm0
movsd %xmm0, (%rax)
movl 0x40(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x40(%rsp)
movq 0x38(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0xf650
movsd %xmm0, 0x28(%rsp)
leaq 0x17d972(%rip), %rdi    # 0x191598
movl $0x1, %esi
callq 0x1b3c0
movq %rax, %rdi
movl $0x1, %esi
callq 0x1b400
movsd 0x28(%rsp), %xmm0
movsd %xmm0, (%rax)
movl 0x40(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x40(%rsp)
movq 0x38(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0xf650
movsd %xmm0, 0x30(%rsp)
leaq 0x17d91e(%rip), %rdi    # 0x191598
movl $0x1, %esi
callq 0x1b3c0
movq %rax, %rdi
movl $0x2, %esi
callq 0x1b400
movsd 0x30(%rsp), %xmm0
movsd %xmm0, (%rax)
jmp 0x13cc0
movq 0x38(%rsp), %rax
movq (%rax), %rsi
leaq 0x136734(%rip), %rdi    # 0x14a3e0
movb $0x0, %al
callq 0xebe00
movl $0x0, 0x44(%rsp)
jmp 0x13dde
jmp 0x13cc2
jmp 0x13cc4
jmp 0x13cc6
jmp 0x13cc8
jmp 0x13cca
jmp 0x13ccc
jmp 0x13cce
jmp 0x13cd0
jmp 0x13cd2
jmp 0x13cd4
jmp 0x13cd6
jmp 0x13cd8
jmp 0x13cda
jmp 0x13cdc
jmp 0x13cde
jmp 0x13ce0
jmp 0x13ce2
jmp 0x13ce4
jmp 0x13ce6
jmp 0x13ce8
jmp 0x13cea
jmp 0x13cec
jmp 0x13cee
jmp 0x13cf0
jmp 0x13cf2
jmp 0x13cf4
jmp 0x13cf6
jmp 0x13cf8
jmp 0x13cfa
jmp 0x13cfc
jmp 0x13cfe
jmp 0x13d00
movq 0x38(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
movl 0x40(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x40(%rsp)
jmp 0x13d82
cmpq $0x0, 0x17d8b5(%rip)    # 0x1915d8
jne 0x13d36
movq 0x38(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x17d8a4(%rip)    # 0x1915d8
jmp 0x13d69
cmpq $0x0, 0x17d8aa(%rip)    # 0x1915e8
jne 0x13d51
movq 0x38(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x17d899(%rip)    # 0x1915e8
jmp 0x13d67
movq 0x38(%rsp), %rax
movq (%rax), %rsi
leaq 0x13669e(%rip), %rdi    # 0x14a3fe
movb $0x0, %al
callq 0xebcf0
jmp 0x13d69
movq 0x38(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
movl 0x40(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x40(%rsp)
jmp 0x133a6
cmpq $0x0, 0x17d849(%rip)    # 0x1915d8
je 0x13d9b
cmpq $0x0, 0x17d84f(%rip)    # 0x1915e8
jne 0x13db3
leaq 0x136679(%rip), %rdi    # 0x14a41b
movb $0x0, %al
callq 0xebe00
movl $0x0, 0x44(%rsp)
jmp 0x13dde
movq 0x17d82e(%rip), %rdi    # 0x1915e8
leaq 0x136390(%rip), %rsi    # 0x14a151
callq 0xf110
cmpq $0x0, %rax
jne 0x13dd6
movl $0x1, 0x17d822(%rip)    # 0x1915f8
movl $0x1, 0x44(%rsp)
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
nopw (%rax,%rax)