// File: /workspace/github_cpp_makefile_star2_O1/tomfunkhouser[P]gaps/apps/conf2conf/conf2conf.cpp
// Function: main
int
main(int argc, char **argv)
{
  // Check number of arguments
  if (!ParseArgs(argc, argv)) exit(1);

  // Read configuration
  RGBDConfiguration *configuration = ReadConfigurationFile(input_configuration_filename);
  if (!configuration) exit(-1);

  // Read mesh
  if (input_mesh_filename) {
    if (!ReadMeshFile(configuration, input_mesh_filename)) exit(-1);
  }
  
  // Read oriented boxes
  if (input_obbs_filename) {
    if (!ReadOrientedBoxFile(configuration, input_obbs_filename)) exit(-1);
  }
  
  // Read segmentation
  if (input_segmentation_filename) {
    if (!ReadSegmentationFile(configuration, input_segmentation_filename)) exit(-1);
  }
  
  // Execute commands (this has to mimic the code in ParseArgs)
  argc--; argv++;
  while (argc > 0) {
    if ((*argv)[0] == '-') {
      if (!strcmp(*argv, "-v")) {}
      else if (!strcmp(*argv, "-color_textures")) {}
      else if (!strcmp(*argv, "-semantic_textures")) {}
      else if (!strcmp(*argv, "-input_mesh")) { argc--; argv++; }
      else if (!strcmp(*argv, "-input_depth_directory")) { argc--; argv++; }
      else if (!strcmp(*argv, "-input_color_directory")) { argc--; argv++; }
      else if (!strcmp(*argv, "-input_texture_directory")) { argc--; argv++; }
      else if (!strcmp(*argv, "-output_depth_directory")) { argc--; argv++; }
      else if (!strcmp(*argv, "-output_color_directory")) { argc--; argv++; }
      else if (!strcmp(*argv, "-output_texture_directory")) { argc--; argv++; }
      else if (!strcmp(*argv, "-load_images_starting_at_index")) { argc--; argv++; }
      else if (!strcmp(*argv, "-load_images_ending_at_index")) { argc--; argv++; }
      else if (!strcmp(*argv, "-load_every_kth_image")) { argc--; argv++; }
      else if (!strcmp(*argv, "-write_every_kth_image")) { argc--; argv++; }
      else if (!strcmp(*argv, "-texture_aggregation_method")) { argc--; argv++; }
      else if (!strcmp(*argv, "-texture_aggregation_weighting")) { argc--; argv++; }
      else if (!strcmp(*argv, "-texel_spacing")) { argc--; argv++; }
      else if (!strcmp(*argv, "-viewpoint_bbox")) { argc -= 6; argv += 6; }
      else if (!strcmp(*argv, "-observation_bbox")) { argc -= 6; argv += 6; }
      else if (!strcmp(*argv, "-compute_surface_textures")) {
        if (!ComputeSurfaceTextures(configuration)) exit(-1);
      }
      else if (!strcmp(*argv, "-negate_yz")) {
        if (!NegateYZ(configuration)) exit(-1);
      }
      else if (!strcmp(*argv, "-identity_transformations")) {
        if (!ResetTransformations(configuration)) exit(-1);
      }
      else if (!strcmp(*argv, "-transform")) {
        R4Matrix matrix;
        argv++; argc--; matrix[0][0] = atof(*argv);
        argv++; argc--; matrix[0][1] = atof(*argv);
        argv++; argc--; matrix[0][2] = atof(*argv);
        argv++; argc--; matrix[0][3] = atof(*argv);
        argv++; argc--; matrix[1][0] = atof(*argv);
        argv++; argc--; matrix[1][1] = atof(*argv);
        argv++; argc--; matrix[1][2] = atof(*argv);
        argv++; argc--; matrix[1][3] = atof(*argv);
        argv++; argc--; matrix[2][0] = atof(*argv);
        argv++; argc--; matrix[2][1] = atof(*argv);
        argv++; argc--; matrix[2][2] = atof(*argv);
        argv++; argc--; matrix[2][3] = atof(*argv);
        argv++; argc--; matrix[3][0] = atof(*argv);
        argv++; argc--; matrix[3][1] = atof(*argv);
        argv++; argc--; matrix[3][2] = atof(*argv);
        argv++; argc--; matrix[3][3] = atof(*argv);
        if (!Transform(configuration, matrix)) exit(-1);
      }
      else {
        RNFail("Invalid program argument: %s", *argv);
        exit(1);
      }
      argv++; argc--;
    }
    else {
      static int nfilenames = 0;
      if (nfilenames < 2) nfilenames++;
      else { RNFail("Invalid program argument: %s", *argv); exit(1); }
      argv++; argc--;
    }
  }
  
  // Write configuration
  if (!WriteConfigurationFile(configuration, output_configuration_filename)) exit(-1);
  
  // Return success 
  return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x168, %rsp            # imm = 0x168
movq %rsi, %r13
cmpl $0x2, %edi
movq %rdi, 0x18(%rsp)
jl 0x14453
movq 0xf2e2b(%rip), %rax     # 0x106df0
movq %rax, 0x28(%rsp)
movq 0xf2e07(%rip), %rax     # 0x106dd8
movq %rax, 0x20(%rsp)
movq %r13, %r14
movl %edi, %ebx
leaq 0x8(%r14), %r15
leal -0x1(%rbx), %r12d
movq 0x8(%r14), %rbp
cmpb $0x2d, (%rbp)
jne 0x1422f
movq %rbp, %rdi
leaq 0xa9065(%rip), %rsi     # 0xbd060
callq 0x11850
testl %eax, %eax
je 0x14254
movq %rbp, %rdi
leaq 0xa9074(%rip), %rsi     # 0xbd086
callq 0x11850
testl %eax, %eax
je 0x14271
movq %rbp, %rdi
leaq 0xa9069(%rip), %rsi     # 0xbd092
callq 0x11850
testl %eax, %eax
je 0x14288
movq %rbp, %rdi
leaq 0xa9069(%rip), %rsi     # 0xbd0a9
callq 0x11850
testl %eax, %eax
je 0x1429f
movq %rbp, %rdi
leaq 0xa9069(%rip), %rsi     # 0xbd0c0
callq 0x11850
testl %eax, %eax
je 0x142b6
movq %rbp, %rdi
leaq 0xa906b(%rip), %rsi     # 0xbd0d9
callq 0x11850
testl %eax, %eax
je 0x142cd
movq %rbp, %rdi
leaq 0xa906c(%rip), %rsi     # 0xbd0f1
callq 0x11850
testl %eax, %eax
je 0x142e4
movq %rbp, %rdi
leaq 0xa906d(%rip), %rsi     # 0xbd109
callq 0x11850
testl %eax, %eax
je 0x142fb
movq %rbp, %rdi
leaq 0xa9070(%rip), %rsi     # 0xbd123
callq 0x11850
testl %eax, %eax
je 0x14312
movq %rbp, %rdi
leaq 0xa9078(%rip), %rsi     # 0xbd142
callq 0x11850
testl %eax, %eax
je 0x1432d
movq %rbp, %rdi
leaq 0xa907e(%rip), %rsi     # 0xbd15f
callq 0x11850
testl %eax, %eax
je 0x14345
movq %rbp, %rdi
leaq 0xa907d(%rip), %rsi     # 0xbd175
callq 0x11850
testl %eax, %eax
je 0x1435d
movq %rbp, %rdi
leaq 0xa907d(%rip), %rsi     # 0xbd18c
callq 0x11850
testl %eax, %eax
je 0x14375
movq %rbp, %rdi
leaq 0xa9082(%rip), %rsi     # 0xbd1a8
callq 0x11850
testl %eax, %eax
je 0x1438d
movq %rbp, %rdi
leaq 0xa908a(%rip), %rsi     # 0xbd1c7
callq 0x11850
testl %eax, %eax
je 0x143a5
movq %rbp, %rdi
leaq 0xa90a4(%rip), %rsi     # 0xbd1f8
callq 0x11850
testl %eax, %eax
je 0x143c3
movq %rbp, %rdi
leaq 0xa90a7(%rip), %rsi     # 0xbd212
callq 0x11850
testl %eax, %eax
je 0x143c3
movq %rbp, %rdi
leaq 0xa90b5(%rip), %rsi     # 0xbd237
callq 0x11850
testl %eax, %eax
je 0x143d5
movq %rbp, %rdi
leaq 0xa903d(%rip), %rsi     # 0xbd1d6
callq 0x11850
testl %eax, %eax
je 0x143e1
movq %rbp, %rdi
leaq 0xa9036(%rip), %rsi     # 0xbd1e6
callq 0x11850
testl %eax, %eax
jne 0x14f1c
movq 0x10(%r14), %rdi
callq 0x11780
movsd %xmm0, 0xf2ba2(%rip)    # 0x106d70
movq 0x18(%r14), %rdi
callq 0x11780
movsd %xmm0, 0xf2b99(%rip)    # 0x106d78
movq 0x20(%r14), %rdi
callq 0x11780
movsd %xmm0, 0xf2b90(%rip)    # 0x106d80
movq 0x28(%r14), %rdi
callq 0x11780
movsd %xmm0, 0xf2b87(%rip)    # 0x106d88
movq 0x30(%r14), %rdi
callq 0x11780
movsd %xmm0, 0xf2b7e(%rip)    # 0x106d90
addl $-0x7, %ebx
movq 0x38(%r14), %rdi
addq $0x38, %r14
callq 0x11780
movsd %xmm0, 0xf2b6e(%rip)    # 0x106d98
jmp 0x143bd
cmpq $0x0, 0x20(%rsp)
je 0x14260
cmpq $0x0, 0x28(%rsp)
jne 0x14f1c
movq %rbp, 0xf2ba6(%rip)     # 0x106df0
movq %rbp, 0x28(%rsp)
jmp 0x143c3
movb $0x1, 0xf2b9d(%rip)     # 0x106df8
jmp 0x143c3
movq %rbp, 0xf2b71(%rip)     # 0x106dd8
movq %rbp, 0x20(%rsp)
jmp 0x143c3
addl $-0x2, %ebx
movq 0x10(%r14), %rax
addq $0x10, %r14
movq %rax, 0xf2b5d(%rip)     # 0x106de0
jmp 0x143bd
addl $-0x2, %ebx
movq 0x10(%r14), %rax
addq $0x10, %r14
movq %rax, 0xf2b66(%rip)     # 0x106e00
jmp 0x143bd
addl $-0x2, %ebx
movq 0x10(%r14), %rax
addq $0x10, %r14
movq %rax, 0xf2b57(%rip)     # 0x106e08
jmp 0x143bd
addl $-0x2, %ebx
movq 0x10(%r14), %rax
addq $0x10, %r14
movq %rax, 0xf2b48(%rip)     # 0x106e10
jmp 0x143bd
addl $-0x2, %ebx
movq 0x10(%r14), %rax
addq $0x10, %r14
movq %rax, 0xf2b39(%rip)     # 0x106e18
jmp 0x143bd
addl $-0x2, %ebx
movq 0x10(%r14), %rax
addq $0x10, %r14
movq %rax, 0xf2b2a(%rip)     # 0x106e20
jmp 0x143bd
addl $-0x2, %ebx
movq 0x10(%r14), %rax
addq $0x10, %r14
movq %rax, 0xf2b1b(%rip)     # 0x106e28
jmp 0x143bd
addl $-0x2, %ebx
movq 0x10(%r14), %rdi
addq $0x10, %r14
callq 0x11930
movl %eax, 0xf2b08(%rip)     # 0x106e30
jmp 0x143bd
addl $-0x2, %ebx
movq 0x10(%r14), %rdi
addq $0x10, %r14
callq 0x11930
movl %eax, 0xf22bd(%rip)     # 0x106600
jmp 0x143bd
addl $-0x2, %ebx
movq 0x10(%r14), %rdi
addq $0x10, %r14
callq 0x11930
movl %eax, 0xf22a9(%rip)     # 0x106604
jmp 0x143bd
addl $-0x2, %ebx
movq 0x10(%r14), %rdi
addq $0x10, %r14
callq 0x11930
movl %eax, 0xf2295(%rip)     # 0x106608
jmp 0x143bd
addl $-0x2, %ebx
movq 0x10(%r14), %rdi
addq $0x10, %r14
callq 0x11930
movl %eax, 0xf2aa9(%rip)     # 0x106e34
jmp 0x143bd
addl $-0x2, %ebx
movq 0x10(%r14), %rdi
addq $0x10, %r14
callq 0x11930
movl %eax, 0xf2269(%rip)     # 0x10660c
jmp 0x143bd
addl $-0x2, %ebx
movq 0x10(%r14), %rdi
addq $0x10, %r14
callq 0x11780
movsd %xmm0, 0xf2a7b(%rip)    # 0x106e38
movl %ebx, %r12d
movq %r14, %r15
movq %r15, %r14
movl %r12d, %ebx
cmpl $0x1, %r12d
jg 0x13fdb
jmp 0x14453
addl $-0x11, %ebx
addq $0x88, %r14
jmp 0x143bd
movq 0x10(%r14), %rdi
callq 0x11780
movsd %xmm0, 0xf29b6(%rip)    # 0x106da8
movq 0x18(%r14), %rdi
callq 0x11780
movsd %xmm0, 0xf29ad(%rip)    # 0x106db0
movq 0x20(%r14), %rdi
callq 0x11780
movsd %xmm0, 0xf29a4(%rip)    # 0x106db8
movq 0x28(%r14), %rdi
callq 0x11780
movsd %xmm0, 0xf299b(%rip)    # 0x106dc0
movq 0x30(%r14), %rdi
callq 0x11780
movsd %xmm0, 0xf2992(%rip)    # 0x106dc8
addl $-0x7, %ebx
movq 0x38(%r14), %rdi
addq $0x38, %r14
callq 0x11780
movsd %xmm0, 0xf2982(%rip)    # 0x106dd0
jmp 0x143bd
cmpq $0x0, 0xf297d(%rip)     # 0x106dd8
je 0x14f41
cmpq $0x0, 0xf2987(%rip)     # 0x106df0
je 0x14f41
movq 0xf2962(%rip), %r12     # 0x106dd8
leaq 0x120(%rsp), %r15
movq %r15, %rdi
callq 0x75c78
movq %r15, %rdi
xorl %esi, %esi
callq 0x119b0
cmpb $0x1, 0xf2961(%rip)     # 0x106df8
jne 0x144b9
leaq 0xa8e08(%rip), %rdi     # 0xbd2a8
movq %r12, %rsi
xorl %eax, %eax
callq 0x11080
movq 0xf1aaf(%rip), %rax     # 0x105f60
movq (%rax), %rdi
callq 0x11700
movl $0x98, %edi
callq 0x115b0
movq %rax, %r15
movq %rax, %rdi
callq 0x16520
movq (%r15), %rax
movq %r15, %rdi
movq %r12, %rsi
movl $0x1, %edx
callq *0x70(%rax)
testl %eax, %eax
je 0x148f2
movq 0xf2912(%rip), %rsi     # 0x106e00
testq %rsi, %rsi
je 0x144fc
movq (%r15), %rax
movq %r15, %rdi
callq *0x48(%rax)
movq 0xf2905(%rip), %rsi     # 0x106e08
testq %rsi, %rsi
je 0x14511
movq (%r15), %rax
movq %r15, %rdi
callq *0x40(%rax)
movq 0xf28f8(%rip), %rsi     # 0x106e10
testq %rsi, %rsi
je 0x14526
movq (%r15), %rax
movq %r15, %rdi
callq *0x60(%rax)
leaq 0x8(%rsp), %rdi
callq 0x76214
cmpl $0x0, 0x14(%r15)
jle 0x14865
xorl %r12d, %r12d
leaq 0x30(%rsp), %r14
movq %r14, %rbx
movq 0x8(%r15), %rax
movq (%rax,%r12,8), %rbp
movslq 0xf28db(%rip), %rax     # 0x106e30
cmpq %rax, %r12
jl 0x1457c
movslq 0xf209f(%rip), %rax     # 0x106600
cmpq %rax, %r12
jg 0x1457c
movl 0xf2098(%rip), %ecx     # 0x106604
cmpl $0x2, %ecx
jl 0x145a1
movl %r12d, %eax
xorl %edx, %edx
divl %ecx
testl %edx, %edx
je 0x145a1
movl 0x14(%rsp), %edx
leaq 0x8(%rsp), %rdi
movq %rbp, %rsi
callq 0x762aa
movq %rbx, %r14
incq %r12
movslq 0x14(%r15), %rax
cmpq %rax, %r12
jl 0x14546
jmp 0x14865
movsd 0xf27ff(%rip), %xmm0    # 0x106da8
ucomisd 0xf280f(%rip), %xmm0    # 0x106dc0
ja 0x14601
movsd 0xf27f5(%rip), %xmm0    # 0x106db0
ucomisd 0xf2805(%rip), %xmm0    # 0x106dc8
ja 0x14601
movsd 0xf27eb(%rip), %xmm0    # 0x106db8
ucomisd 0xf27fb(%rip), %xmm0    # 0x106dd0
ja 0x14601
leaq 0x38(%rbp), %rsi
movq %r14, %rdi
leaq 0xf35cb(%rip), %rdx     # 0x107bb0
callq 0x4a83e
leaq 0xf27af(%rip), %rdi     # 0x106da0
movq %r14, %rsi
callq 0x250e8
testl %eax, %eax
je 0x1457c
movsd 0xf2767(%rip), %xmm0    # 0x106d70
ucomisd 0xf2777(%rip), %xmm0    # 0x106d88
ja 0x14590
movsd 0xf2759(%rip), %xmm0    # 0x106d78
ucomisd 0xf2769(%rip), %xmm0    # 0x106d90
ja 0x14590
movsd 0xf274b(%rip), %xmm0    # 0x106d80
ucomisd 0xf275b(%rip), %xmm0    # 0x106d98
ja 0x14590
leaq 0x38(%rbp), %rsi
movq %r14, %rdi
leaq 0xf355f(%rip), %rdx     # 0x107bb0
callq 0x4a83e
leaq 0xf270b(%rip), %rdi     # 0x106d68
movq %r14, %rsi
callq 0x250e8
testl %eax, %eax
jne 0x14590
movq %r14, %rdi
movq %rbp, %rsi
callq 0x1d50c
movq %r14, %rdi
callq 0x43e94
ucomisd 0xa8988(%rip), %xmm0    # 0xbd010
jne 0x146a2
jp 0x146a2
movl 0x14(%rsp), %edx
leaq 0x8(%rsp), %rdi
movq %rbp, %rsi
callq 0x762aa
jmp 0x14788
leaq 0xe8(%rsp), %r14
movq %r14, %rdi
leaq 0xf26b4(%rip), %rsi     # 0x106d68
callq 0x43678
movq %r14, %rdi
movq %rbx, %rsi
callq 0x442a4
movsd 0xf0(%rsp), %xmm0
ucomisd 0x108(%rsp), %xmm0
ja 0x1476a
movsd 0xf8(%rsp), %xmm0
ucomisd 0x110(%rsp), %xmm0
ja 0x1476a
movsd 0x100(%rsp), %xmm0
ucomisd 0x118(%rsp), %xmm0
ja 0x1476a
movq (%rbp), %rax
movq %rbp, %rdi
callq *0x1c0(%rax)
movq (%rbp), %rax
movq %rbp, %rdi
callq *0x108(%rax)
leaq 0x130(%rsp), %rdi
movq %rbp, %rsi
callq 0x1d50c
movq (%rbp), %rax
movq %rbp, %rdi
callq *0x158(%rax)
leaq 0x130(%rsp), %rdi
callq 0x43e94
ucomisd 0xa88c0(%rip), %xmm0    # 0xbd010
jne 0x14798
jp 0x14798
movl 0x14(%rsp), %edx
leaq 0x8(%rsp), %rdi
movq %rbp, %rsi
callq 0x762aa
jmp 0x14853
movl 0x14(%rsp), %edx
leaq 0x8(%rsp), %rdi
movq %rbp, %rsi
callq 0x762aa
leaq 0xe8(%rsp), %rdi
callq 0x444d0
movq %rbx, %r14
movq %rbx, %rdi
callq 0x444d0
jmp 0x14590
movsd %xmm0, 0x20(%rsp)
leaq 0xb0(%rsp), %r14
movq %r14, %rdi
leaq 0xf25b8(%rip), %rsi     # 0x106d68
callq 0x43678
movq %r14, %rdi
leaq 0x130(%rsp), %rsi
callq 0x442a4
movsd 0xb8(%rsp), %xmm0
ucomisd 0xd0(%rsp), %xmm0
ja 0x14835
movsd 0xc0(%rsp), %xmm0
ucomisd 0xd8(%rsp), %xmm0
ja 0x14835
movsd 0xc8(%rsp), %xmm0
ucomisd 0xe0(%rsp), %xmm0
ja 0x14835
leaq 0xb0(%rsp), %rdi
callq 0x43e94
divsd 0x20(%rsp), %xmm0
movsd 0xa87ec(%rip), %xmm1    # 0xbd008
ucomisd %xmm0, %xmm1
jbe 0x14846
movl 0x14(%rsp), %edx
leaq 0x8(%rsp), %rdi
movq %rbp, %rsi
callq 0x762aa
jmp 0x14846
movl 0x14(%rsp), %edx
leaq 0x8(%rsp), %rdi
movq %rbp, %rsi
callq 0x762aa
leaq 0xb0(%rsp), %rdi
callq 0x444d0
leaq 0x130(%rsp), %rdi
callq 0x444d0
jmp 0x1477b
cmpl $0x0, 0x14(%rsp)
jle 0x1488f
xorl %ebx, %ebx
movq 0x8(%rsp), %rax
movq (%rax,%rbx,8), %rdi
testq %rdi, %rdi
je 0x14882
movq (%rdi), %rax
callq *0x8(%rax)
incq %rbx
movslq 0x14(%rsp), %rax
cmpq %rax, %rbx
jl 0x1486e
leaq 0x8(%rsp), %rdi
callq 0x7627e
cmpb $0x1, 0xf2558(%rip)     # 0x106df8
jne 0x14906
leaq 0x120(%rsp), %rdi
callq 0x75cda
leaq 0xa8a3b(%rip), %rdi     # 0xbd2f1
movb $0x1, %al
callq 0x11080
movl 0x14(%r15), %esi
leaq 0xa8a40(%rip), %rdi     # 0xbd308
xorl %eax, %eax
callq 0x11080
movl 0x24(%r15), %esi
leaq 0xa8a3f(%rip), %rdi     # 0xbd319
xorl %eax, %eax
callq 0x11080
movq 0xf1678(%rip), %rax     # 0x105f60
movq (%rax), %rdi
callq 0x11700
jmp 0x14906
leaq 0xa89d2(%rip), %rdi     # 0xbd2cb
xorl %r15d, %r15d
movq %r12, %rsi
xorl %eax, %eax
callq 0x79092
movq 0x18(%rsp), %r12
testq %r15, %r15
je 0x14f37
movq 0xf24c5(%rip), %r14     # 0x106de0
testq %r14, %r14
je 0x14a44
leaq 0x30(%rsp), %r12
movq %r12, %rdi
callq 0x75c78
movq %r12, %rdi
xorl %esi, %esi
callq 0x119b0
movl $0x138, %edi            # imm = 0x138
callq 0x115b0
movq %rax, %r12
movq %rax, %rdi
callq 0x2b988
movq (%r12), %rax
movq %r12, %rdi
movq %r14, %rsi
callq *0x180(%rax)
movl %eax, %ebx
testl %eax, %eax
je 0x14a2d
movl $0xa0, %edi
callq 0x115b0
movq %rax, %rbp
movsd 0xf24b9(%rip), %xmm0    # 0x106e38
leaq 0xa89a6(%rip), %rsi     # 0xbd32c
movq %rax, %rdi
movq %r12, %rdx
callq 0x1ae02
movq 0xf2448(%rip), %rsi     # 0x106de0
movq (%rbp), %rax
movq %rbp, %rdi
callq *0xc8(%rax)
movq (%r15), %rax
movq %r15, %rdi
movq %rbp, %rsi
callq *0x20(%rax)
cmpb $0x1, 0xf2440(%rip)     # 0x106df8
jne 0x14a37
leaq 0xa896d(%rip), %rdi     # 0xbd32e
movq %r14, %rsi
xorl %eax, %eax
callq 0x11080
leaq 0x30(%rsp), %rdi
callq 0x75cda
leaq 0xa8915(%rip), %rdi     # 0xbd2f1
movb $0x1, %al
callq 0x11080
movl 0x34(%r12), %esi
leaq 0xa8956(%rip), %rdi     # 0xbd345
xorl %eax, %eax
callq 0x11080
movl 0x24(%r12), %esi
leaq 0xa8953(%rip), %rdi     # 0xbd355
xorl %eax, %eax
callq 0x11080
movl 0x14(%r12), %esi
leaq 0xa8950(%rip), %rdi     # 0xbd365
xorl %eax, %eax
callq 0x11080
movq 0xf153d(%rip), %rax     # 0x105f60
movq (%rax), %rdi
callq 0x11700
jmp 0x14a37
movq (%r12), %rax
movq %r12, %rdi
callq *0x8(%rax)
testl %ebx, %ebx
movq 0x18(%rsp), %r12
je 0x14f37
cmpl $0x2, %r12d
jl 0x14e0b
leal -0x1(%r12), %r14d
leaq 0x8(%r13), %rbx
movq 0x8(%r13), %rbp
cmpb $0x2d, (%rbp)
jne 0x14da3
movq %rbp, %rdi
leaq 0xa85f1(%rip), %rsi     # 0xbd060
callq 0x11850
testl %eax, %eax
je 0x14dba
movq %rbp, %rdi
leaq 0xa85dd(%rip), %rsi     # 0xbd063
callq 0x11850
testl %eax, %eax
je 0x14dba
movq %rbp, %rdi
leaq 0xa85d6(%rip), %rsi     # 0xbd073
callq 0x11850
testl %eax, %eax
je 0x14dba
movq %rbp, %rdi
leaq 0xa85d2(%rip), %rsi     # 0xbd086
callq 0x11850
testl %eax, %eax
je 0x14dcc
movq %rbp, %rdi
leaq 0xa85c7(%rip), %rsi     # 0xbd092
callq 0x11850
testl %eax, %eax
je 0x14dcc
movq %rbp, %rdi
leaq 0xa85c7(%rip), %rsi     # 0xbd0a9
callq 0x11850
testl %eax, %eax
je 0x14dcc
movq %rbp, %rdi
leaq 0xa85c7(%rip), %rsi     # 0xbd0c0
callq 0x11850
testl %eax, %eax
je 0x14dcc
movq %rbp, %rdi
leaq 0xa85c9(%rip), %rsi     # 0xbd0d9
callq 0x11850
testl %eax, %eax
je 0x14dcc
movq %rbp, %rdi
leaq 0xa85ca(%rip), %rsi     # 0xbd0f1
callq 0x11850
testl %eax, %eax
je 0x14dcc
movq %rbp, %rdi
leaq 0xa85cb(%rip), %rsi     # 0xbd109
callq 0x11850
testl %eax, %eax
je 0x14dcc
movq %rbp, %rdi
leaq 0xa85ce(%rip), %rsi     # 0xbd123
callq 0x11850
testl %eax, %eax
je 0x14dcc
movq %rbp, %rdi
leaq 0xa85d6(%rip), %rsi     # 0xbd142
callq 0x11850
testl %eax, %eax
je 0x14dcc
movq %rbp, %rdi
leaq 0xa85dc(%rip), %rsi     # 0xbd15f
callq 0x11850
testl %eax, %eax
je 0x14dcc
movq %rbp, %rdi
leaq 0xa85db(%rip), %rsi     # 0xbd175
callq 0x11850
testl %eax, %eax
je 0x14dcc
movq %rbp, %rdi
leaq 0xa85db(%rip), %rsi     # 0xbd18c
callq 0x11850
testl %eax, %eax
je 0x14dcc
movq %rbp, %rdi
leaq 0xa85e0(%rip), %rsi     # 0xbd1a8
callq 0x11850
testl %eax, %eax
je 0x14dcc
movq %rbp, %rdi
leaq 0xa85e8(%rip), %rsi     # 0xbd1c7
callq 0x11850
testl %eax, %eax
je 0x14dcc
movq %rbp, %rdi
leaq 0xa85e0(%rip), %rsi     # 0xbd1d6
callq 0x11850
testl %eax, %eax
je 0x14ddc
movq %rbp, %rdi
leaq 0xa85d9(%rip), %rsi     # 0xbd1e6
callq 0x11850
testl %eax, %eax
je 0x14ddc
movq %rbp, %rdi
leaq 0xa85d4(%rip), %rsi     # 0xbd1f8
callq 0x11850
testl %eax, %eax
je 0x14de6
movq %rbp, %rdi
leaq 0xa85d7(%rip), %rsi     # 0xbd212
callq 0x11850
testl %eax, %eax
je 0x14df7
movq %rbp, %rdi
leaq 0xa85cb(%rip), %rsi     # 0xbd21d
callq 0x11850
testl %eax, %eax
je 0x14e01
movq %rbp, %rdi
leaq 0xa85ce(%rip), %rsi     # 0xbd237
callq 0x11850
testl %eax, %eax
jne 0x14f1c
leaq 0x30(%rsp), %rbx
movq %rbx, %rdi
callq 0x48740
movq 0x10(%r13), %rdi
callq 0x11780
movsd %xmm0, 0x30(%rsp)
movq 0x18(%r13), %rdi
callq 0x11780
movsd %xmm0, 0x38(%rsp)
movq 0x20(%r13), %rdi
callq 0x11780
movsd %xmm0, 0x40(%rsp)
movq 0x28(%r13), %rdi
callq 0x11780
movsd %xmm0, 0x48(%rsp)
movq 0x30(%r13), %rdi
callq 0x11780
movsd %xmm0, 0x50(%rsp)
movq 0x38(%r13), %rdi
callq 0x11780
movsd %xmm0, 0x58(%rsp)
movq 0x40(%r13), %rdi
callq 0x11780
movsd %xmm0, 0x60(%rsp)
movq 0x48(%r13), %rdi
callq 0x11780
movsd %xmm0, 0x68(%rsp)
movq 0x50(%r13), %rdi
callq 0x11780
movsd %xmm0, 0x70(%rsp)
movq 0x58(%r13), %rdi
callq 0x11780
movsd %xmm0, 0x78(%rsp)
movq 0x60(%r13), %rdi
callq 0x11780
movsd %xmm0, 0x80(%rsp)
movq 0x68(%r13), %rdi
callq 0x11780
movsd %xmm0, 0x88(%rsp)
movq 0x70(%r13), %rdi
callq 0x11780
movsd %xmm0, 0x90(%rsp)
movq 0x78(%r13), %rdi
callq 0x11780
movsd %xmm0, 0x98(%rsp)
movq 0x80(%r13), %rdi
callq 0x11780
movsd %xmm0, 0xa0(%rsp)
movq 0x88(%r13), %rdi
addq $0x88, %r13
callq 0x11780
movsd %xmm0, 0xa8(%rsp)
movq %r15, %rdi
movq %rbx, %rsi
callq 0x15e43
addl $-0x11, %r12d
jmp 0x14dd4
movl 0xf203f(%rip), %eax     # 0x106de8
cmpl $0x1, %eax
jg 0x14f1c
incl %eax
movl %eax, 0xf202e(%rip)     # 0x106de8
movl %r14d, %r12d
movq %rbx, %r13
cmpl $0x1, %r14d
jg 0x14a4e
jmp 0x14e0b
addl $-0x2, %r12d
addq $0x10, %r13
movq %r13, %rbx
movl %r12d, %r14d
jmp 0x14dba
addl $-0x7, %r12d
addq $0x38, %r13
jmp 0x14dd4
movq %r15, %rdi
callq 0x14fe7
testl %eax, %eax
jne 0x14dba
jmp 0x14f37
movq %r15, %rdi
callq 0x15c17
jmp 0x14dba
movq %r15, %rdi
callq 0x15d88
jmp 0x14dba
movq 0xf1fde(%rip), %rbx     # 0x106df0
leaq 0x30(%rsp), %r14
movq %r14, %rdi
callq 0x75c78
movq %r14, %rdi
xorl %esi, %esi
callq 0x119b0
cmpb $0x1, 0xf1fc8(%rip)     # 0x106df8
jne 0x14e52
leaq 0xa85e5(%rip), %rdi     # 0xbd41e
movq %rbx, %rsi
xorl %eax, %eax
callq 0x11080
movq 0xf1116(%rip), %rax     # 0x105f60
movq (%rax), %rdi
callq 0x11700
movq 0xf1fbf(%rip), %rsi     # 0x106e18
testq %rsi, %rsi
je 0x14e67
movq (%r15), %rax
movq %r15, %rdi
callq *0x48(%rax)
movq 0xf1fb2(%rip), %rsi     # 0x106e20
testq %rsi, %rsi
je 0x14e7c
movq (%r15), %rax
movq %r15, %rdi
callq *0x40(%rax)
movq 0xf1fa5(%rip), %rsi     # 0x106e28
testq %rsi, %rsi
je 0x14e91
movq (%r15), %rax
movq %r15, %rdi
callq *0x60(%rax)
movl 0xf1771(%rip), %edx     # 0x106608
movq (%r15), %rax
movq %r15, %rdi
movq %rbx, %rsi
callq *0x98(%rax)
testl %eax, %eax
je 0x14f37
movl %eax, %ebx
cmpb $0x1, 0xf1f41(%rip)     # 0x106df8
jne 0x14f04
leaq 0x30(%rsp), %rdi
callq 0x75cda
leaq 0xa8427(%rip), %rdi     # 0xbd2f1
movb $0x1, %al
callq 0x11080
movl 0x14(%r15), %esi
leaq 0xa842c(%rip), %rdi     # 0xbd308
xorl %eax, %eax
callq 0x11080
movl 0x24(%r15), %esi
leaq 0xa842b(%rip), %rdi     # 0xbd319
xorl %eax, %eax
callq 0x11080
movq 0xf1064(%rip), %rax     # 0x105f60
movq (%rax), %rdi
callq 0x11700
testl %ebx, %ebx
je 0x14f37
xorl %eax, %eax
addq $0x168, %rsp            # imm = 0x168
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xa831f(%rip), %rdi     # 0xbd242
movq %rbp, %rsi
xorl %eax, %eax
callq 0x79092
movl $0x1, %edi
callq 0x11730
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x11730
leaq 0xa8317(%rip), %rdi     # 0xbd25f
xorl %eax, %eax
callq 0x79092
jmp 0x14f2d
jmp 0x14f55
jmp 0x14f6b
movq %rax, %rbx
leaq 0xb0(%rsp), %rdi
callq 0x444d0
jmp 0x14f6e
jmp 0x14f6b
jmp 0x14f7f
movq %rax, %rbx
leaq 0x130(%rsp), %rdi
callq 0x444d0
jmp 0x14f82
jmp 0x14f93
movq %rax, %rbx
leaq 0xe8(%rsp), %rdi
callq 0x444d0
jmp 0x14f96
jmp 0x14fd2
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x444d0
jmp 0x14fd5
movq %rax, %rbx
movl $0xa0, %esi
movq %rbp, %rdi
jmp 0x14fc7
movq %rax, %rbx
movl $0x138, %esi            # imm = 0x138
movq %r12, %rdi
jmp 0x14fc7
movq %rax, %rbx
movl $0x98, %esi
movq %r15, %rdi
callq 0x115c0
jmp 0x14fdf
jmp 0x14fd2
jmp 0x14fd2
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x7627e
movq %rbx, %rdi
callq 0x11a70