// File: /workspace/github_cpp_makefile_star2_O1/tomfunkhouser[P]gaps/apps/grd2grd/grd2grd.cpp
// Function: main
static int 
ParseArgs(int argc, char **argv)
{
  // Check number of arguments
  if (argc < 2) {
    printf("Usage: grd2grd inputfile outputfile [-v]\n");
    exit(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, "-abs")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = ABS_OPERATION;
      }
      else if (!strcmp(*argv, "-square")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = SQUARE_OPERATION;
      }
      else if (!strcmp(*argv, "-sqrt")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = SQRT_OPERATION;
      }
      else if (!strcmp(*argv, "-negate")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = NEGATE_OPERATION;
      }
      else if (!strcmp(*argv, "-invert")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = INVERT_OPERATION;
      }
      else if (!strcmp(*argv, "-gradient_magnitude")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = GRADIENT_MAGNITUDE_OPERATION;
      }
      else if (!strcmp(*argv, "-normalize")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = NORMALIZE_OPERATION;
      }
      else if (!strcmp(*argv, "-edge_detect")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = EDGE_DETECT_OPERATION;
      }
      else if (!strcmp(*argv, "-signed_distance")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = SIGNED_DISTANCE_OPERATION;
      }
      else if (!strcmp(*argv, "-squared_distance")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = SQUARED_DISTANCE_OPERATION;
      }
      else if (!strcmp(*argv, "-voronoi")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = VORONOI_OPERATION;
      }
      else if (!strcmp(*argv, "-fill_holes")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = FILL_HOLES_OPERATION;
      }
      else if (!strcmp(*argv, "-clear")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = CLEAR_OPERATION;
        argc--; argv++; operation->operand1 = *argv; 
      }
      else if (!strcmp(*argv, "-add")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = ADD_OPERATION;
        argc--; argv++; operation->operand1 = *argv; 
      }
      else if (!strcmp(*argv, "-subtract")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = SUBTRACT_OPERATION;
        argc--; argv++; operation->operand1 = *argv; 
      }
      else if (!strcmp(*argv, "-multiply")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = MULTIPLY_OPERATION;
        argc--; argv++; operation->operand1 = *argv; 
      }
      else if (!strcmp(*argv, "-divide")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = DIVIDE_OPERATION;
        argc--; argv++; operation->operand1 = *argv; 
      }
      else if (!strcmp(*argv, "-pow")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = POW_OPERATION;
        argc--; argv++; operation->operand1 = *argv; 
      }
      else if (!strcmp(*argv, "-dilate")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = DILATE_OPERATION;
        argc--; argv++; operation->operand1 = *argv; 
      }
      else if (!strcmp(*argv, "-erode")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = ERODE_OPERATION;
        argc--; argv++; operation->operand1 = *argv; 
      }
      else if (!strcmp(*argv, "-blur")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = BLUR_OPERATION;
        argc--; argv++; operation->operand1 = *argv; 
      }
      else if (!strcmp(*argv, "-threshold")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = THRESHOLD_OPERATION;
        argc--; argv++; operation->operand1 = *argv; 
        argc--; argv++; operation->operand2 = *argv; 
        argc--; argv++; operation->operand3 = *argv; 
      }
      else if (!strcmp(*argv, "-resample")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = RESAMPLE_OPERATION;
        argc--; argv++; operation->operand1 = *argv; 
        argc--; argv++; operation->operand2 = *argv; 
        argc--; argv++; operation->operand3 = *argv; 
      }
      else if (!strcmp(*argv, "-add_grid")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = ADD_GRID_OPERATION;
        argc--; argv++; operation->operand1 = *argv;
      }
      else if (!strcmp(*argv, "-subtract_grid")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = SUBTRACT_GRID_OPERATION;
        argc--; argv++; operation->operand1 = *argv;
      }
      else if (!strcmp(*argv, "-multiply_grid")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = MULTIPLY_GRID_OPERATION;
        argc--; argv++; operation->operand1 = *argv;
      }
      else if (!strcmp(*argv, "-divide_grid")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = DIVIDE_GRID_OPERATION;
        argc--; argv++; operation->operand1 = *argv;
      }
      else if (!strcmp(*argv, "-mask_grid")) {
        assert(noperations < max_operations);
        Operation *operation = &operations[noperations++];
        operation->type = MASK_GRID_OPERATION;
        argc--; argv++; operation->operand1 = *argv;
      }
      else { 
        RNFail("Invalid program argument: %s", *argv); 
        exit(1); 
      }
    }
    else {
      if (!input_name) input_name = *argv;
      else if (!output_name) output_name = *argv;
      else { 
        RNFail("Invalid program argument: %s", *argv); 
        exit(1); 
      }
    }
    argv++; argc--;
  }

  // Check input filename
  if (!input_name) {
    RNFail("You did not specify an input file.\n");
    return 0;
  }

  // Check output filename
  if (!output_name) {
    RNFail("You did not specify an output file.\n");
    return 0;
  }

  // Return OK status 
  return 1;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
cmpl $0x2, %edi
jl 0x1180f
movq %rsi, %r13
movl %edi, %ebp
movq 0xd60a1(%rip), %rax     # 0xe6c00
movq %rax, (%rsp)
movq 0xd6d2e(%rip), %rax     # 0xe7898
movq %rax, 0x8(%rsp)
movl 0xd6d1b(%rip), %ebx     # 0xe7890
leaq 0x8(%r13), %r14
leal -0x1(%rbp), %r15d
movq 0x8(%r13), %r12
cmpb $0x2d, (%r12)
jne 0x10e61
movq %r12, %rdi
leaq 0x924e2(%rip), %rsi     # 0xa3078
callq 0xe640
testl %eax, %eax
je 0x10e85
movq %r12, %rdi
leaq 0x924ce(%rip), %rsi     # 0xa307b
callq 0xe640
testl %eax, %eax
je 0x10ea1
movq %r12, %rdi
leaq 0x924be(%rip), %rsi     # 0xa3082
callq 0xe640
testl %eax, %eax
je 0x10ead
movq %r12, %rdi
leaq 0x924ac(%rip), %rsi     # 0xa3087
callq 0xe640
testl %eax, %eax
je 0x10ed0
movq %r12, %rdi
leaq 0x9249d(%rip), %rsi     # 0xa308f
callq 0xe640
testl %eax, %eax
je 0x10ef3
movq %r12, %rdi
leaq 0x9248c(%rip), %rsi     # 0xa3095
callq 0xe640
testl %eax, %eax
je 0x10f16
movq %r12, %rdi
leaq 0x9247d(%rip), %rsi     # 0xa309d
callq 0xe640
testl %eax, %eax
je 0x10f39
movq %r12, %rdi
leaq 0x9246e(%rip), %rsi     # 0xa30a5
callq 0xe640
testl %eax, %eax
je 0x10f5c
movq %r12, %rdi
leaq 0x9246b(%rip), %rsi     # 0xa30b9
callq 0xe640
testl %eax, %eax
je 0x10f7f
movq %r12, %rdi
leaq 0x9245f(%rip), %rsi     # 0xa30c4
callq 0xe640
testl %eax, %eax
je 0x10fa2
movq %r12, %rdi
leaq 0x92455(%rip), %rsi     # 0xa30d1
callq 0xe640
testl %eax, %eax
je 0x10fc2
movq %r12, %rdi
leaq 0x9244f(%rip), %rsi     # 0xa30e2
callq 0xe640
testl %eax, %eax
je 0x10fe2
movq %r12, %rdi
leaq 0x9244a(%rip), %rsi     # 0xa30f4
callq 0xe640
testl %eax, %eax
je 0x11002
movq %r12, %rdi
leaq 0x9243c(%rip), %rsi     # 0xa30fd
callq 0xe640
testl %eax, %eax
je 0x11022
movq %r12, %rdi
leaq 0x92431(%rip), %rsi     # 0xa3109
callq 0xe640
testl %eax, %eax
je 0x11057
movq %r12, %rdi
leaq 0x92421(%rip), %rsi     # 0xa3110
callq 0xe640
testl %eax, %eax
je 0x1107a
movq %r12, %rdi
leaq 0x9240f(%rip), %rsi     # 0xa3115
callq 0xe640
testl %eax, %eax
je 0x1109d
movq %r12, %rdi
leaq 0x92402(%rip), %rsi     # 0xa311f
callq 0xe640
testl %eax, %eax
je 0x110c0
movq %r12, %rdi
leaq 0x923f5(%rip), %rsi     # 0xa3129
callq 0xe640
testl %eax, %eax
je 0x110e3
movq %r12, %rdi
leaq 0x923e6(%rip), %rsi     # 0xa3131
callq 0xe640
testl %eax, %eax
je 0x11103
movq %r12, %rdi
leaq 0x923d4(%rip), %rsi     # 0xa3136
callq 0xe640
testl %eax, %eax
je 0x11123
movq %r12, %rdi
leaq 0x923c5(%rip), %rsi     # 0xa313e
callq 0xe640
testl %eax, %eax
je 0x11143
movq %r12, %rdi
leaq 0x923b5(%rip), %rsi     # 0xa3145
callq 0xe640
testl %eax, %eax
je 0x11163
movq %r12, %rdi
leaq 0x923a4(%rip), %rsi     # 0xa314b
callq 0xe640
testl %eax, %eax
je 0x1119e
movq %r12, %rdi
leaq 0x92398(%rip), %rsi     # 0xa3156
callq 0xe640
testl %eax, %eax
je 0x111be
movq %r12, %rdi
leaq 0x9238b(%rip), %rsi     # 0xa3160
callq 0xe640
testl %eax, %eax
je 0x111f8
movq %r12, %rdi
leaq 0x9237e(%rip), %rsi     # 0xa316a
callq 0xe640
testl %eax, %eax
je 0x1121b
movq %r12, %rdi
leaq 0x92376(%rip), %rsi     # 0xa3179
callq 0xe640
testl %eax, %eax
je 0x1123e
movq %r12, %rdi
leaq 0x9236e(%rip), %rsi     # 0xa3188
callq 0xe640
testl %eax, %eax
je 0x11261
movq %r12, %rdi
leaq 0x92364(%rip), %rsi     # 0xa3195
callq 0xe640
testl %eax, %eax
jne 0x117d4
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd6a46(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5dbb(%rip), %rsi     # 0xe6c10
movl $0x1c, (%rax,%rsi)
jmp 0x11181
cmpq $0x0, (%rsp)
je 0x10e91
cmpq $0x0, 0x8(%rsp)
jne 0x117d4
movq %r12, 0xd6a1d(%rip)     # 0xe7898
movq %r12, 0x8(%rsp)
jmp 0x11042
movb $0x1, 0xd6a14(%rip)     # 0xe78a0
jmp 0x11042
movq %r12, 0xd5d68(%rip)     # 0xe6c00
movq %r12, (%rsp)
jmp 0x11042
movb $0x1, 0xd69fc(%rip)     # 0xe78a4
jmp 0x11042
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd69d7(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5d4c(%rip), %rdx     # 0xe6c10
movl $0x1, (%rax,%rdx)
jmp 0x11040
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd69b4(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5d29(%rip), %rdx     # 0xe6c10
movl $0x2, (%rax,%rdx)
jmp 0x11040
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd6991(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5d06(%rip), %rdx     # 0xe6c10
movl $0x3, (%rax,%rdx)
jmp 0x11040
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd696e(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5ce3(%rip), %rdx     # 0xe6c10
movl $0x4, (%rax,%rdx)
jmp 0x11040
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd694b(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5cc0(%rip), %rdx     # 0xe6c10
movl $0x5, (%rax,%rdx)
jmp 0x11040
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd6928(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5c9d(%rip), %rdx     # 0xe6c10
movl $0x6, (%rax,%rdx)
jmp 0x11040
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd6905(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5c7a(%rip), %rdx     # 0xe6c10
movl $0x7, (%rax,%rdx)
jmp 0x11040
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd68e2(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5c57(%rip), %rdx     # 0xe6c10
movl $0x8, (%rax,%rdx)
jmp 0x11040
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd68c2(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5c37(%rip), %rdx     # 0xe6c10
movl $0x9, (%rax,%rdx)
jmp 0x11040
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd68a2(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5c17(%rip), %rdx     # 0xe6c10
movl $0xa, (%rax,%rdx)
jmp 0x11040
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd6882(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5bf7(%rip), %rdx     # 0xe6c10
movl $0xb, (%rax,%rdx)
jmp 0x11040
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd6862(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5bd7(%rip), %rdx     # 0xe6c10
movl $0xc, (%rax,%rdx)
movl %ecx, %ebx
movl %r15d, %ebp
movq %r14, %r13
cmpl $0x1, %r15d
jg 0x10b75
jmp 0x11284
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd682d(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5ba2(%rip), %rsi     # 0xe6c10
movl $0xd, (%rax,%rsi)
jmp 0x11181
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd680a(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5b7f(%rip), %rsi     # 0xe6c10
movl $0xe, (%rax,%rsi)
jmp 0x11181
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd67e7(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5b5c(%rip), %rsi     # 0xe6c10
movl $0xf, (%rax,%rsi)
jmp 0x11181
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd67c4(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5b39(%rip), %rsi     # 0xe6c10
movl $0x10, (%rax,%rsi)
jmp 0x11181
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd67a1(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5b16(%rip), %rsi     # 0xe6c10
movl $0x11, (%rax,%rsi)
jmp 0x11181
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd6781(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5af6(%rip), %rsi     # 0xe6c10
movl $0x12, (%rax,%rsi)
jmp 0x11181
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd6761(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5ad6(%rip), %rsi     # 0xe6c10
movl $0x13, (%rax,%rsi)
jmp 0x11181
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd6741(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5ab6(%rip), %rsi     # 0xe6c10
movl $0x14, (%rax,%rsi)
jmp 0x11181
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd6721(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5a96(%rip), %rsi     # 0xe6c10
movl $0x15, (%rax,%rsi)
addl $-0x2, %ebp
movq 0x10(%r13), %rdx
addq $0x10, %r13
movq %rdx, 0x8(%rax,%rsi)
movl %ecx, %ebx
movq %r13, %r14
movl %ebp, %r15d
jmp 0x11042
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd66e6(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5a5b(%rip), %rsi     # 0xe6c10
movl $0x16, (%rax,%rsi)
jmp 0x111dc
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd66c6(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5a3b(%rip), %rsi     # 0xe6c10
movl $0x17, (%rax,%rsi)
movups 0x10(%r13), %xmm0
movups %xmm0, 0x8(%rax,%rsi)
addl $-0x4, %ebp
movq 0x20(%r13), %rdx
addq $0x20, %r13
movq %rdx, 0x18(%rax,%rsi)
jmp 0x11191
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd668c(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5a01(%rip), %rsi     # 0xe6c10
movl $0x18, (%rax,%rsi)
jmp 0x11181
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd6669(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd59de(%rip), %rsi     # 0xe6c10
movl $0x19, (%rax,%rsi)
jmp 0x11181
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd6646(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd59bb(%rip), %rsi     # 0xe6c10
movl $0x1a, (%rax,%rsi)
jmp 0x11181
movslq %ebx, %rax
leal 0x1(%rbx), %ecx
movl %ecx, 0xd6623(%rip)     # 0xe7890
shlq $0x5, %rax
leaq 0xd5998(%rip), %rsi     # 0xe6c10
movl $0x1b, (%rax,%rsi)
jmp 0x11181
cmpq $0x0, 0xd5974(%rip)     # 0xe6c00
je 0x11822
cmpq $0x0, 0xd65fe(%rip)     # 0xe7898
je 0x1182b
movq 0xd5959(%rip), %rdi     # 0xe6c00
callq 0x1184e
testq %rax, %rax
je 0x11805
movq %rax, %rbx
movslq 0xd65d1(%rip), %r14     # 0xe7890
leaq 0x18(%rsp), %r15
movq %r15, %rdi
callq 0x704f0
movq %r15, %rdi
xorl %esi, %esi
callq 0xe760
testq %r14, %r14
jle 0x115ef
leaq 0x9220a(%rip), %rax     # 0xa34f0
xorps %xmm0, %xmm0
cvtss2sd (%rax), %xmm0
movsd %xmm0, (%rsp)
leaq 0xd592f(%rip), %r12     # 0xe6c28
leaq 0x91d04(%rip), %rbp     # 0xa3004
xorl %r15d, %r15d
movl -0x18(%r12), %eax
addl $-0x18, %eax
cmpl $0x4, %eax
ja 0x11327
movq -0x10(%r12), %rdi
callq 0x1184e
movq %rax, %r13
testq %rax, %rax
jne 0x1132a
jmp 0x117ef
xorl %r13d, %r13d
cmpb $0x1, 0xd6573(%rip)     # 0xe78a4
jne 0x11370
movl -0x18(%r12), %esi
movq -0x10(%r12), %rdx
testq %rdx, %rdx
leaq 0x91fcd(%rip), %rax     # 0xa3314
cmoveq %rax, %rdx
movq -0x8(%r12), %rcx
testq %rcx, %rcx
cmoveq %rax, %rcx
movq (%r12), %r8
testq %r8, %r8
cmoveq %rax, %r8
leaq 0x91f8a(%rip), %rdi     # 0xa32f3
xorl %eax, %eax
callq 0xe070
movl -0x18(%r12), %esi
cmpq $0x1c, %rsi
ja 0x1183b
movslq (%rbp,%rsi,4), %rax
addq %rbp, %rax
jmpq *%rax
movq %rbx, %rdi
movq %r13, %rsi
callq 0x15c56
jmp 0x115df
movq -0x10(%r12), %rdi
callq 0xe580
movq %rbx, %rdi
callq 0x15bf8
jmp 0x115df
movq -0x10(%r12), %rdi
callq 0xe580
movq %rbx, %rdi
callq 0x1583e
jmp 0x115df
movq %rbx, %rdi
xorl %esi, %esi
callq 0x15dc0
jmp 0x115df
movq %rbx, %rdi
callq 0x13600
jmp 0x115df
movq %rbx, %rdi
movl $0x7fffffff, %esi       # imm = 0x7FFFFFFF
callq 0x15322
jmp 0x115df
movq %rbx, %rdi
callq 0x16734
jmp 0x115df
movq %rbx, %rdi
movq %r13, %rsi
callq 0x15bc4
jmp 0x115df
movq %rbx, %rdi
movq %r13, %rsi
callq 0x15898
jmp 0x115df
movq %rbx, %rdi
callq 0x135d6
jmp 0x115df
movq -0x10(%r12), %rdi
callq 0xe580
movq %rbx, %rdi
callq 0x15b9a
jmp 0x115df
movq %rbx, %rdi
callq 0x13584
jmp 0x115df
movq %rbx, %rdi
callq 0x13786
jmp 0x115df
movq %rbx, %rdi
callq 0x13556
jmp 0x115df
movq -0x10(%r12), %rdi
callq 0xe580
movq %rbx, %rdi
callq 0x1381a
jmp 0x115df
movq -0x10(%r12), %rdi
callq 0xe580
movq %rbx, %rdi
callq 0x13eb6
jmp 0x115df
movq %rbx, %rdi
callq 0x1362e
jmp 0x115df
movq -0x10(%r12), %rdi
callq 0xe580
movq %rbx, %rdi
callq 0x13f4e
jmp 0x115df
movq -0x10(%r12), %rdi
callq 0xe580
movq %rbx, %rdi
callq 0x1576a
jmp 0x115df
movq %rbx, %rdi
callq 0x14c8c
jmp 0x115df
movq -0x10(%r12), %rdi
callq 0xe580
movq %rbx, %rdi
callq 0x15d1c
jmp 0x115df
movq %rbx, %rdi
callq 0x138c2
jmp 0x115df
movq %rbx, %rdi
callq 0x14de8
jmp 0x115df
movq -0x8(%r12), %r13
leaq 0x91df6(%rip), %rsi     # 0xa3316
movq %r13, %rdi
callq 0xe640
movsd (%rsp), %xmm0
testl %eax, %eax
je 0x11539
movq %r13, %rdi
callq 0xe580
movsd %xmm0, 0x8(%rsp)
movq (%r12), %r13
leaq 0x91dcc(%rip), %rsi     # 0xa3316
movq %r13, %rdi
callq 0xe640
movsd (%rsp), %xmm0
testl %eax, %eax
je 0x11563
movq %r13, %rdi
callq 0xe580
movsd %xmm0, 0x10(%rsp)
movq -0x10(%r12), %rdi
callq 0xe580
movq %rbx, %rdi
movsd 0x8(%rsp), %xmm1
movsd 0x10(%rsp), %xmm2
callq 0x13e70
jmp 0x115df
movq -0x10(%r12), %rdi
callq 0xe580
movq %rbx, %rdi
callq 0x1386a
jmp 0x115df
movq -0x10(%r12), %rdi
callq 0xe700
movl %eax, 0x8(%rsp)
movq -0x8(%r12), %rdi
callq 0xe700
movl %eax, %r13d
movq (%r12), %rdi
callq 0xe700
movq %rbx, %rdi
movl 0x8(%rsp), %esi
movl %r13d, %edx
movl %eax, %ecx
callq 0x169a8
jmp 0x115df
movq %rbx, %rdi
movq %r13, %rsi
callq 0x15c22
incq %r15
addq $0x20, %r12
cmpq %r15, %r14
jne 0x11303
cmpb $0x1, 0xd62aa(%rip)     # 0xe78a0
jne 0x11741
leaq 0x91da1(%rip), %rdi     # 0xa33a4
callq 0xe6f0
leaq 0x18(%rsp), %rdi
callq 0x70552
leaq 0x91c09(%rip), %rdi     # 0xa3222
movb $0x1, %al
callq 0xe070
leaq 0x91d21(%rip), %rdi     # 0xa3348
movl %r14d, %esi
xorl %eax, %eax
callq 0xe070
movl 0x238(%rbx), %esi
movl 0x23c(%rbx), %edx
movl 0x240(%rbx), %ecx
leaq 0x91bef(%rip), %rdi     # 0xa3239
xorl %eax, %eax
callq 0xe070
movsd 0x228(%rbx), %xmm0
leaq 0x91bf2(%rip), %rdi     # 0xa3252
movb $0x1, %al
callq 0xe070
movq %rbx, %rdi
callq 0x12652
leaq 0x91bec(%rip), %rdi     # 0xa3262
movl %eax, %esi
xorl %eax, %eax
callq 0xe070
movsd 0x228(%rbx), %xmm0
movsd %xmm0, (%rsp)
movq %rbx, %rdi
callq 0x12652
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movsd (%rsp), %xmm1
mulsd %xmm1, %xmm0
mulsd %xmm1, %xmm0
mulsd %xmm1, %xmm0
leaq 0x91bc3(%rip), %rdi     # 0xa3276
movb $0x1, %al
callq 0xe070
leaq 0x28(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x12594
movsd (%r14), %xmm0
leaq 0x91baf(%rip), %rdi     # 0xa3285
movb $0x1, %al
callq 0xe070
movsd 0x8(%r14), %xmm0
leaq 0x91bab(%rip), %rdi     # 0xa3295
movb $0x1, %al
callq 0xe070
movq %rbx, %rdi
callq 0x125fa
leaq 0x91ba5(%rip), %rdi     # 0xa32a5
movb $0x1, %al
callq 0xe070
movq %rbx, %rdi
callq 0x12622
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x1171f
sqrtsd %xmm0, %xmm0
jmp 0x11724
callq 0xe340
leaq 0x91b89(%rip), %rdi     # 0xa32b4
movb $0x1, %al
callq 0xe070
movq 0xd4837(%rip), %rax     # 0xe5f70
movq (%rax), %rdi
callq 0xe520
movq 0xd6150(%rip), %r14     # 0xe7898
leaq 0x18(%rsp), %r15
movq %r15, %rdi
callq 0x704f0
movq %r15, %rdi
xorl %esi, %esi
callq 0xe760
movq %rbx, %rdi
movq %r14, %rsi
callq 0x1b1e2
movl %eax, %ebp
cmpb $0x1, 0xd612d(%rip)     # 0xe78a0
jne 0x117bf
leaq 0x91c3f(%rip), %rdi     # 0xa33bb
callq 0xe6f0
leaq 0x18(%rsp), %rdi
callq 0x70552
leaq 0x91a90(%rip), %rdi     # 0xa3222
movb $0x1, %al
callq 0xe070
movl 0x24c(%rbx), %esi
shll $0x3, %esi
leaq 0x91bb4(%rip), %rdi     # 0xa335d
xorl %eax, %eax
callq 0xe070
movq 0xd47b9(%rip), %rax     # 0xe5f70
movq (%rax), %rdi
callq 0xe520
testl %ebp, %ebp
je 0x11805
xorl %eax, %eax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x919c5(%rip), %rdi     # 0xa31a0
movq %r12, %rsi
xorl %eax, %eax
callq 0x72ebe
movl $0x1, %edi
callq 0xe550
movq -0x10(%r12), %rsi
leaq 0x91ac8(%rip), %rdi     # 0xa32c3
movl %r15d, %edx
xorl %eax, %eax
callq 0x72ebe
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0xe550
leaq 0x91b57(%rip), %rdi     # 0xa336d
callq 0xe6f0
xorl %edi, %edi
callq 0xe550
leaq 0x91994(%rip), %rdi     # 0xa31bd
jmp 0x11832
leaq 0x919af(%rip), %rdi     # 0xa31e1
xorl %eax, %eax
callq 0x72ebe
jmp 0x11805
leaq 0x91ad9(%rip), %rdi     # 0xa331b
movl %r15d, %edx
xorl %eax, %eax
callq 0x72ebe
jmp 0x11805