// File: /workspace/github_cpp_makefile_star2_O2/tomfunkhouser[P]gaps/apps/sflinfo/sflinfo.cpp
// Function: main
static int 
ParseArgs(int argc, char **argv)
{
  // Check number of program arguments
  if (argc < 3) {
    printf("Usage: sflinfo scenefile databasefile [options]\n");
    return 0;
  }

  // File names are first three arguments
  input_scene_name = argv[1];
  input_database_name = argv[2];

  // Parse arguments
  argc -= 3; argv += 3;
  while (argc > 0) {
    if (!strcmp(*argv, "-v")) { print_labels = 1; print_objects = 1; }
    else if (!strcmp(*argv, "-comments")) { print_comments = 1; }
    else if (!strcmp(*argv, "-features")) { print_features = 1; }
    else if (!strcmp(*argv, "-objects")) { print_objects = 1; }
    else if (!strcmp(*argv, "-labels")) { print_labels = 1; }
    else if (!strcmp(*argv, "-label_list")) { print_label_list = 1; }
    else if (!strcmp(*argv, "-properties")) { print_object_properties = print_label_properties = 1; }
    else if (!strcmp(*argv, "-object_properties")) { print_object_properties = 1; }
    else if (!strcmp(*argv, "-label_properties")) { print_label_properties = 1; }
    else if (!strcmp(*argv, "-object_relationships")) { print_object_relationships = 1; }
    else if (!strcmp(*argv, "-label_relationships")) { print_label_relationships = 1; }
    else if (!strcmp(*argv, "-assignments")) { print_label_assignments = 1; }
    else if (!strcmp(*argv, "-assignment_counts")) { print_label_assignment_counts = 1; }
    else if (!strcmp(*argv, "-tree")) { print_tree = 1; }
    else if (!strcmp(*argv, "-nodes")) { print_nodes = 1; }
    else if (!strcmp(*argv, "-database")) { print_database = 1; }
    else if (!strcmp(*argv, "-blocks")) { print_blocks = 1; }
    else if (!strcmp(*argv, "-surfels")) { print_surfels = 1; }
    else if (!strcmp(*argv, "-scans")) { print_scans = 1; }
    else if (!strcmp(*argv, "-images")) { print_images = 1; }
    else if (!strcmp(*argv, "-query")) { argc--; argv++; query_name = *argv; }
    else if (!strcmp(*argv, "-accuracy")) { argc--; argv++; accuracy_arff_name = *argv; }
    else { RNFail("Invalid program argument: %s", *argv); exit(1); }
    argv++; argc--;
  }

  // Return OK status 
  return 1;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
cmpl $0x3, %edi
jl 0x158ed
movq %rsi, %r15
movl %edi, %ebp
movq 0x8(%rsi), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsi), %rax
movq %rax, 0x8(%rsp)
addl $-0x3, %ebp
addq $0x18, %r15
leaq 0xb4ab8(%rip), %r12     # 0xca030
leaq 0xb4abb(%rip), %r13     # 0xca03a
leaq 0xb4abe(%rip), %rbx     # 0xca044
testl %ebp, %ebp
jle 0x1587e
movq (%r15), %r14
cmpb $0x2d, (%r14)
jne 0x155a9
cmpb $0x76, 0x1(%r14)
jne 0x155a9
cmpb $0x0, 0x2(%r14)
je 0x157af
movq %r14, %rdi
movq %r12, %rsi
callq 0x13760
testl %eax, %eax
je 0x1578b
movq %r14, %rdi
movq %r13, %rsi
callq 0x13760
testl %eax, %eax
je 0x15797
movq %r14, %rdi
movq %rbx, %rsi
callq 0x13760
testl %eax, %eax
je 0x157a3
movq %r14, %rdi
leaq 0xb4a61(%rip), %rsi     # 0xca04d
callq 0x13760
testl %eax, %eax
je 0x157c2
movq %r14, %rdi
leaq 0xb4a52(%rip), %rsi     # 0xca055
callq 0x13760
testl %eax, %eax
je 0x157ce
movq %r14, %rdi
leaq 0xb4a47(%rip), %rsi     # 0xca061
callq 0x13760
testl %eax, %eax
je 0x157da
movq %r14, %rdi
leaq 0xb4a3c(%rip), %rsi     # 0xca06d
callq 0x13760
testl %eax, %eax
je 0x157ed
movq %r14, %rdi
leaq 0xb4a38(%rip), %rsi     # 0xca080
callq 0x13760
testl %eax, %eax
je 0x157f6
movq %r14, %rdi
leaq 0xb4a33(%rip), %rsi     # 0xca092
callq 0x13760
testl %eax, %eax
je 0x157ff
movq %r14, %rdi
leaq 0xb4a32(%rip), %rsi     # 0xca0a8
callq 0x13760
testl %eax, %eax
je 0x15808
movq %r14, %rdi
leaq 0xb4a30(%rip), %rsi     # 0xca0bd
callq 0x13760
testl %eax, %eax
je 0x15811
movq %r14, %rdi
leaq 0xb4a26(%rip), %rsi     # 0xca0ca
callq 0x13760
testl %eax, %eax
je 0x1581a
movq %r14, %rdi
leaq 0xb4a22(%rip), %rsi     # 0xca0dd
callq 0x13760
testl %eax, %eax
je 0x15823
movq %r14, %rdi
leaq 0xb4a11(%rip), %rsi     # 0xca0e3
callq 0x13760
testl %eax, %eax
je 0x1582c
movq %r14, %rdi
leaq 0xb4a01(%rip), %rsi     # 0xca0ea
callq 0x13760
testl %eax, %eax
je 0x15835
movq %r14, %rdi
leaq 0xb49f4(%rip), %rsi     # 0xca0f4
callq 0x13760
testl %eax, %eax
je 0x1583e
movq %r14, %rdi
leaq 0xb49e5(%rip), %rsi     # 0xca0fc
callq 0x13760
testl %eax, %eax
je 0x15847
movq %r14, %rdi
leaq 0xb49d7(%rip), %rsi     # 0xca105
callq 0x13760
testl %eax, %eax
je 0x15850
movq %r14, %rdi
leaq 0xb49c7(%rip), %rsi     # 0xca10c
callq 0x13760
testl %eax, %eax
je 0x15859
movq %r14, %rdi
leaq 0xb49b8(%rip), %rsi     # 0xca114
callq 0x13760
testl %eax, %eax
je 0x15862
movq %r14, %rdi
leaq 0xb49a8(%rip), %rsi     # 0xca11b
callq 0x13760
testl %eax, %eax
jne 0x1590c
decl %ebp
addq $0x8, %r15
jmp 0x15873
movb $0x1, 0x11251e(%rip)    # 0x127cb0
jmp 0x15873
movb $0x1, 0x112516(%rip)    # 0x127cb4
jmp 0x15873
movb $0x1, 0x112502(%rip)    # 0x127cac
jmp 0x15873
movb $0x1, %al
movb %al, 0x1124f1(%rip)     # 0x127ca8
movb %al, 0x1124ef(%rip)     # 0x127cac
jmp 0x15873
movb $0x1, 0x1124df(%rip)    # 0x127ca8
jmp 0x15873
movb $0x1, 0x1124e3(%rip)    # 0x127cb8
jmp 0x15873
movb $0x1, %al
movb %al, 0x1124da(%rip)     # 0x127cbc
movb %al, 0x1124d8(%rip)     # 0x127cc0
jmp 0x15873
movb $0x1, 0x1124cc(%rip)    # 0x127cc0
jmp 0x15873
movb $0x1, 0x1124bf(%rip)    # 0x127cbc
jmp 0x15873
movb $0x1, 0x1124be(%rip)    # 0x127cc4
jmp 0x15873
movb $0x1, 0x1124b9(%rip)    # 0x127cc8
jmp 0x15873
movb $0x1, 0x1124b4(%rip)    # 0x127ccc
jmp 0x15873
movb $0x1, 0x1124af(%rip)    # 0x127cd0
jmp 0x15873
movb $0x1, 0x1124aa(%rip)    # 0x127cd4
jmp 0x15873
movb $0x1, 0x1124a5(%rip)    # 0x127cd8
jmp 0x15873
movb $0x1, 0x1124a0(%rip)    # 0x127cdc
jmp 0x15873
movb $0x1, 0x11249b(%rip)    # 0x127ce0
jmp 0x15873
movb $0x1, 0x112496(%rip)    # 0x127ce4
jmp 0x15873
movb $0x1, 0x112491(%rip)    # 0x127ce8
jmp 0x15873
movb $0x1, 0x11248c(%rip)    # 0x127cec
jmp 0x15873
decl %ebp
movq 0x8(%r15), %rax
addq $0x8, %r15
movq %rax, 0x11247d(%rip)    # 0x127cf0
addq $0x8, %r15
decl %ebp
jmp 0x15586
movl $0x1f0, %edi            # imm = 0x1F0
callq 0x134f0
movq %rax, %rbx
movq %rax, %rdi
xorl %esi, %esi
callq 0x23a68
movq (%rbx), %rax
leaq 0xc0804(%rip), %rcx     # 0xd60a3
movq %rbx, %rdi
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %rcx, %r8
callq *0xe8(%rax)
testl %eax, %eax
je 0x158fb
movq %rbx, %rdi
callq 0x15939
movq (%rbx), %rax
movq %rbx, %rdi
xorl %esi, %esi
callq *0xf8(%rax)
testl %eax, %eax
je 0x15904
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x8(%rax)
xorl %eax, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xb5256(%rip), %rdi     # 0xcab4a
callq 0x13800
jmp 0x15904
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x8(%rax)
pushq $-0x1
popq %rdi
callq 0x13610
leaq 0xb4812(%rip), %rdi     # 0xca125
movq %r14, %rsi
xorl %eax, %eax
callq 0x9ef4e
pushq $0x1
jmp 0x15906
movq %rax, %r14
movl $0x1f0, %esi            # imm = 0x1F0
movq %rbx, %rdi
callq 0x13500
movq %r14, %rdi
callq 0x138f0