// File: /workspace/github_cpp_makefile_star2_O3/tomfunkhouser[P]gaps/apps/sflinit/sflinit.cpp
// Function: main
int main(int argc, char **argv)
{
  // Parse program arguments
  if (!ParseArgs(argc, argv)) exit(-1);

  // Open scene
  R3SurfelScene *scene = OpenScene(scene_name, database_name);
  if (!scene) exit(-1);

  // Create features 
  if (!CreateFeatures(scene)) exit(-1);

  // Close scene
  if (!CloseScene(scene)) exit(-1);

  // Return success 
  return 0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq 0x11e01c(%rip), %r14    # 0x133c88
movq 0x11e01d(%rip), %r15    # 0x133c90
cmpl $0x2, %edi
jl 0x15cd2
incl %edi
addq $0x8, %rsi
movq (%rsi), %rax
cmpb $0x2d, (%rax)
jne 0x15ca3
cmpb $0x76, 0x1(%rax)
jne 0x15f39
cmpb $0x0, 0x2(%rax)
jne 0x15f39
movb $0x1, 0x11dff7(%rip)    # 0x133c98
jmp 0x15cc7
testq %r14, %r14
je 0x15cbd
testq %r15, %r15
jne 0x15f39
movq %rax, 0x11dfd8(%rip)    # 0x133c90
movq %rax, %r15
jmp 0x15cc7
movq %rax, 0x11dfc4(%rip)    # 0x133c88
movq %rax, %r14
decl %edi
addq $0x8, %rsi
cmpl $0x2, %edi
ja 0x15c7e
testq %r14, %r14
je 0x15f5f
testq %r15, %r15
je 0x15f5f
movq %rsp, %rbx
movq %rbx, %rdi
callq 0xa970c
movq %rbx, %rdi
xorl %esi, %esi
callq 0x13830
movl $0x1f0, %edi            # imm = 0x1F0
callq 0x134e0
movq %rax, %rbx
movq %rax, %rdi
xorl %esi, %esi
callq 0x183d0
movq (%rbx), %rax
leaq 0xce5ca(%rip), %rcx     # 0xe42e4
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
movq %rcx, %r8
callq *0xe8(%rax)
testl %eax, %eax
je 0x15f54
cmpb $0x1, 0x11df5d(%rip)    # 0x133c98
jne 0x15e29
leaq 0xc73c3(%rip), %rdi     # 0xdd10b
callq 0x137c0
movq %rsp, %rdi
callq 0xa976e
leaq 0xc72f6(%rip), %rdi     # 0xdd052
movb $0x1, %al
callq 0x13070
movl 0x1c(%rbx), %esi
leaq 0xc72fc(%rip), %rdi     # 0xdd069
xorl %eax, %eax
callq 0x13070
movl 0x2c(%rbx), %esi
leaq 0xc72fd(%rip), %rdi     # 0xdd07b
xorl %eax, %eax
callq 0x13070
movl 0x7c(%rbx), %esi
leaq 0xc72fd(%rip), %rdi     # 0xdd08c
xorl %eax, %eax
callq 0x13070
movl 0xac(%rbx), %esi
leaq 0xc72ff(%rip), %rdi     # 0xdd0a2
xorl %eax, %eax
callq 0x13070
movl 0x8c(%rbx), %esi
leaq 0xc72fe(%rip), %rdi     # 0xdd0b5
xorl %eax, %eax
callq 0x13070
movl 0x9c(%rbx), %esi
leaq 0xc72fa(%rip), %rdi     # 0xdd0c5
xorl %eax, %eax
callq 0x13070
movq 0x8(%rbx), %rax
movl 0x24(%rax), %esi
leaq 0xc72f6(%rip), %rdi     # 0xdd0d6
xorl %eax, %eax
callq 0x13070
movq 0x8(%rbx), %rax
movq 0x10(%rax), %rax
movl 0x4c(%rax), %esi
leaq 0xc72ed(%rip), %rdi     # 0xdd0e6
xorl %eax, %eax
callq 0x13070
movq 0x8(%rbx), %rax
movq 0x10(%rax), %rax
movq 0x50(%rax), %rsi
leaq 0xc72e4(%rip), %rdi     # 0xdd0f7
xorl %eax, %eax
callq 0x13070
movq 0x11d14f(%rip), %rax    # 0x132f70
movq (%rax), %rdi
callq 0x135c0
movq %rbx, %rdi
callq 0x15f90
testl %eax, %eax
je 0x15f6d
movq %rsp, %r14
movq %r14, %rdi
callq 0xa970c
movq %r14, %rdi
xorl %esi, %esi
callq 0x13830
cmpb $0x1, 0x11de43(%rip)    # 0x133c98
jne 0x15f1b
leaq 0xc72ba(%rip), %rdi     # 0xdd11c
callq 0x137c0
movq %rsp, %rdi
callq 0xa976e
leaq 0xc71dc(%rip), %rdi     # 0xdd052
movb $0x1, %al
callq 0x13070
movl 0x1c(%rbx), %esi
leaq 0xc71e2(%rip), %rdi     # 0xdd069
xorl %eax, %eax
callq 0x13070
movl 0x2c(%rbx), %esi
leaq 0xc71e3(%rip), %rdi     # 0xdd07b
xorl %eax, %eax
callq 0x13070
movl 0x7c(%rbx), %esi
leaq 0xc71e3(%rip), %rdi     # 0xdd08c
xorl %eax, %eax
callq 0x13070
movl 0xac(%rbx), %esi
leaq 0xc71e5(%rip), %rdi     # 0xdd0a2
xorl %eax, %eax
callq 0x13070
movq 0x8(%rbx), %rax
movl 0x24(%rax), %esi
leaq 0xc7204(%rip), %rdi     # 0xdd0d6
xorl %eax, %eax
callq 0x13070
movq 0x8(%rbx), %rax
movq 0x10(%rax), %rax
movl 0x4c(%rax), %esi
leaq 0xc71fb(%rip), %rdi     # 0xdd0e6
xorl %eax, %eax
callq 0x13070
movq 0x8(%rbx), %rax
movq 0x10(%rax), %rax
movq 0x50(%rax), %rsi
leaq 0xc71f2(%rip), %rdi     # 0xdd0f7
xorl %eax, %eax
callq 0x13070
movq 0x11d05d(%rip), %rax    # 0x132f70
movq (%rax), %rdi
callq 0x135c0
movq (%rbx), %rax
movq %rbx, %rdi
xorl %esi, %esi
callq *0xf8(%rax)
testl %eax, %eax
je 0x15f54
xorl %eax, %eax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
leaq 0xc70c4(%rip), %rdi     # 0xdd004
movq %rax, %rsi
xorl %eax, %eax
callq 0xac81a
movl $0x1, %edi
callq 0x135f0
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x8(%rax)
jmp 0x15f6d
leaq 0xc70bb(%rip), %rdi     # 0xdd021
xorl %eax, %eax
callq 0xac81a
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x135f0
movq %rax, %r14
movl $0x1f0, %esi            # imm = 0x1F0
movq %rbx, %rdi
callq 0x134f0
movq %r14, %rdi
callq 0x138b0
nop