// File: /workspace/github_cpp_makefile_star2_O2/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 $0x48, %rsp
cmpl $0x2, %edi
jl 0x110d8
movq %rsi, %r15
movl %edi, %r13d
movq 0xcb7f0(%rip), %r14     # 0xdbc10
movq 0xcc481(%rip), %rax     # 0xdc8a8
movq %rax, 0x18(%rsp)
movl 0xcc46e(%rip), %eax     # 0xdc8a0
movl %eax, 0x8(%rsp)
cmpl $0x2, %r13d
jl 0x10ba5
leaq 0x8(%r15), %rbp
leal -0x1(%r13), %r12d
movq (%rbp), %rbx
cmpb $0x2d, (%rbx)
jne 0x10730
cmpb $0x76, 0x1(%rbx)
jne 0x10465
cmpb $0x0, 0x2(%rbx)
je 0x1078a
movq %rbx, %rdi
leaq 0x83c09(%rip), %rsi     # 0x94078
callq 0xe670
testl %eax, %eax
je 0x1075b
movq %r14, 0x10(%rsp)
movq %rbx, %rdi
leaq 0x83bf4(%rip), %rsi     # 0x9407f
callq 0xe670
movslq 0x8(%rsp), %r14
testl %eax, %eax
je 0x10764
movq %rbx, %rdi
leaq 0x83bdd(%rip), %rsi     # 0x94084
callq 0xe670
testl %eax, %eax
je 0x1079c
movq %rbx, %rdi
leaq 0x83bce(%rip), %rsi     # 0x9408c
callq 0xe670
testl %eax, %eax
je 0x107c2
movq %rbx, %rdi
leaq 0x83bbd(%rip), %rsi     # 0x94092
callq 0xe670
testl %eax, %eax
je 0x107e8
movq %rbx, %rdi
leaq 0x83bae(%rip), %rsi     # 0x9409a
callq 0xe670
testl %eax, %eax
je 0x1080e
movq %rbx, %rdi
leaq 0x83b9f(%rip), %rsi     # 0x940a2
callq 0xe670
testl %eax, %eax
je 0x10834
movq %rbx, %rdi
leaq 0x83b9c(%rip), %rsi     # 0x940b6
callq 0xe670
testl %eax, %eax
je 0x1085a
movq %rbx, %rdi
leaq 0x83b90(%rip), %rsi     # 0x940c1
callq 0xe670
testl %eax, %eax
je 0x10880
movq %rbx, %rdi
leaq 0x83b86(%rip), %rsi     # 0x940ce
callq 0xe670
testl %eax, %eax
je 0x108a6
movq %rbx, %rdi
leaq 0x83b80(%rip), %rsi     # 0x940df
callq 0xe670
testl %eax, %eax
je 0x108c9
movq %rbx, %rdi
leaq 0x83b7b(%rip), %rsi     # 0x940f1
callq 0xe670
testl %eax, %eax
je 0x108ec
movq %rbx, %rdi
leaq 0x83b6d(%rip), %rsi     # 0x940fa
callq 0xe670
testl %eax, %eax
je 0x1090f
movq %rbx, %rdi
leaq 0x83b62(%rip), %rsi     # 0x94106
callq 0xe670
testl %eax, %eax
je 0x10940
movq %rbx, %rdi
leaq 0x83b52(%rip), %rsi     # 0x9410d
callq 0xe670
testl %eax, %eax
je 0x10966
movq %rbx, %rdi
leaq 0x83b40(%rip), %rsi     # 0x94112
callq 0xe670
testl %eax, %eax
je 0x1098c
movq %rbx, %rdi
leaq 0x83b33(%rip), %rsi     # 0x9411c
callq 0xe670
testl %eax, %eax
je 0x109b2
movq %rbx, %rdi
leaq 0x83b26(%rip), %rsi     # 0x94126
callq 0xe670
testl %eax, %eax
je 0x109d8
movq %rbx, %rdi
leaq 0x83b17(%rip), %rsi     # 0x9412e
callq 0xe670
testl %eax, %eax
je 0x109fe
movq %rbx, %rdi
leaq 0x83b05(%rip), %rsi     # 0x94133
callq 0xe670
testl %eax, %eax
je 0x10a21
movq %rbx, %rdi
leaq 0x83af6(%rip), %rsi     # 0x9413b
callq 0xe670
testl %eax, %eax
je 0x10a44
movq %rbx, %rdi
leaq 0x83ae6(%rip), %rsi     # 0x94142
callq 0xe670
testl %eax, %eax
je 0x10a67
movq %rbx, %rdi
leaq 0x83ad5(%rip), %rsi     # 0x94148
callq 0xe670
testl %eax, %eax
je 0x10aa3
movq %rbx, %rdi
leaq 0x83ac9(%rip), %rsi     # 0x94153
callq 0xe670
testl %eax, %eax
je 0x10ac6
movq %rbx, %rdi
leaq 0x83abc(%rip), %rsi     # 0x9415d
callq 0xe670
testl %eax, %eax
je 0x10b0d
movq %rbx, %rdi
leaq 0x83aaf(%rip), %rsi     # 0x94167
callq 0xe670
testl %eax, %eax
je 0x10b33
movq %rbx, %rdi
leaq 0x83aa7(%rip), %rsi     # 0x94176
callq 0xe670
testl %eax, %eax
je 0x10b59
movq %rbx, %rdi
leaq 0x83a9f(%rip), %rsi     # 0x94185
callq 0xe670
testl %eax, %eax
je 0x10b7f
movq %rbx, %rdi
leaq 0x83a95(%rip), %rsi     # 0x94192
callq 0xe670
testl %eax, %eax
jne 0x110bf
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcc188(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb4fd(%rip), %rcx     # 0xdbc20
movl $0x1c, (%r14,%rcx)
jmp 0x10a88
testq %r14, %r14
je 0x1074f
cmpq $0x0, 0x18(%rsp)
jne 0x110bf
movq %rbx, 0xcc160(%rip)     # 0xdc8a8
movq %rbx, 0x18(%rsp)
jmp 0x10791
movq %rbx, 0xcb4ba(%rip)     # 0xdbc10
movq %rbx, %r14
jmp 0x10791
movb $0x1, 0xcc152(%rip)     # 0xdc8b4
jmp 0x10791
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcc12e(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb4a3(%rip), %rax     # 0xdbc20
movl $0x1, (%r14,%rax)
jmp 0x10930
movb $0x1, 0xcc11f(%rip)     # 0xdc8b0
movq %rbp, %r15
movl %r12d, %r13d
jmp 0x10436
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcc0f6(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb46b(%rip), %rax     # 0xdbc20
movl $0x2, (%r14,%rax)
jmp 0x10930
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcc0d0(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb445(%rip), %rax     # 0xdbc20
movl $0x3, (%r14,%rax)
jmp 0x10930
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcc0aa(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb41f(%rip), %rax     # 0xdbc20
movl $0x4, (%r14,%rax)
jmp 0x10930
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcc084(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb3f9(%rip), %rax     # 0xdbc20
movl $0x5, (%r14,%rax)
jmp 0x10930
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcc05e(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb3d3(%rip), %rax     # 0xdbc20
movl $0x6, (%r14,%rax)
jmp 0x10930
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcc038(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb3ad(%rip), %rax     # 0xdbc20
movl $0x7, (%r14,%rax)
jmp 0x10930
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcc012(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb387(%rip), %rax     # 0xdbc20
movl $0x8, (%r14,%rax)
jmp 0x10930
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcbfec(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb361(%rip), %rax     # 0xdbc20
movl $0x9, (%r14,%rax)
jmp 0x10930
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcbfc9(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb33e(%rip), %rax     # 0xdbc20
movl $0xa, (%r14,%rax)
jmp 0x10930
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcbfa6(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb31b(%rip), %rax     # 0xdbc20
movl $0xb, (%r14,%rax)
jmp 0x10930
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcbf83(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb2f8(%rip), %rax     # 0xdbc20
movl $0xc, (%r14,%rax)
movq %rbp, %r15
movl %r12d, %r13d
movq 0x10(%rsp), %r14
jmp 0x10436
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcbf52(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb2c7(%rip), %rcx     # 0xdbc20
movl $0xd, (%r14,%rcx)
jmp 0x10a88
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcbf2c(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb2a1(%rip), %rcx     # 0xdbc20
movl $0xe, (%r14,%rcx)
jmp 0x10a88
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcbf06(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb27b(%rip), %rcx     # 0xdbc20
movl $0xf, (%r14,%rcx)
jmp 0x10a88
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcbee0(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb255(%rip), %rcx     # 0xdbc20
movl $0x10, (%r14,%rcx)
jmp 0x10a88
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcbeba(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb22f(%rip), %rcx     # 0xdbc20
movl $0x11, (%r14,%rcx)
jmp 0x10a88
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcbe94(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb209(%rip), %rcx     # 0xdbc20
movl $0x12, (%r14,%rcx)
jmp 0x10a88
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcbe71(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb1e6(%rip), %rcx     # 0xdbc20
movl $0x13, (%r14,%rcx)
jmp 0x10a88
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcbe4e(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb1c3(%rip), %rcx     # 0xdbc20
movl $0x14, (%r14,%rcx)
jmp 0x10a88
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcbe2b(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb1a0(%rip), %rcx     # 0xdbc20
movl $0x15, (%r14,%rcx)
addl $-0x2, %r13d
movq 0x10(%r15), %rax
addq $0x10, %r15
movq %rax, 0x8(%r14,%rcx)
movq 0x10(%rsp), %r14
jmp 0x10436
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcbdef(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb164(%rip), %rcx     # 0xdbc20
movl $0x16, (%r14,%rcx)
jmp 0x10ae7
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcbdcc(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb141(%rip), %rcx     # 0xdbc20
movl $0x17, (%r14,%rcx)
movups 0x10(%r15), %xmm0
movups %xmm0, 0x8(%r14,%rcx)
addl $-0x4, %r13d
movq 0x20(%r15), %rax
addq $0x20, %r15
movq %rax, 0x18(%r14,%rcx)
movq 0x10(%rsp), %r14
jmp 0x10436
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcbd85(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb0fa(%rip), %rcx     # 0xdbc20
movl $0x18, (%r14,%rcx)
jmp 0x10a88
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcbd5f(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb0d4(%rip), %rcx     # 0xdbc20
movl $0x19, (%r14,%rcx)
jmp 0x10a88
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcbd39(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb0ae(%rip), %rcx     # 0xdbc20
movl $0x1a, (%r14,%rcx)
jmp 0x10a88
leal 0x1(%r14), %eax
movl %eax, 0x8(%rsp)
movl %eax, 0xcbd13(%rip)     # 0xdc8a0
shlq $0x5, %r14
leaq 0xcb088(%rip), %rcx     # 0xdbc20
movl $0x1b, (%r14,%rcx)
jmp 0x10a88
testq %r14, %r14
je 0x110eb
cmpq $0x0, 0x18(%rsp)
je 0x110f4
movq %r14, %rdi
callq 0x11117
testq %rax, %rax
je 0x110bb
movq %rax, %r13
movl 0xcbccc(%rip), %ebx     # 0xdc8a0
leaq 0x28(%rsp), %r14
movq %r14, %rdi
callq 0x6639e
movq %r14, %rdi
callq 0x112a4
leaq 0x838e0(%rip), %rax     # 0x944d0
cvtss2sd (%rax), %xmm0
movsd %xmm0, 0x18(%rsp)
testl %ebx, %ebx
movl $0x0, %ebp
movl %ebx, 0x24(%rsp)
cmovgl %ebx, %ebp
leaq 0xcb029(%rip), %r15     # 0xdbc38
leaq 0x833ee(%rip), %rbx     # 0x94004
xorl %r14d, %r14d
cmpq %r14, %rbp
je 0x10ef7
movl -0x18(%r15), %esi
leal -0x18(%rsi), %eax
cmpl $0x4, %eax
ja 0x10c49
movq -0x10(%r15), %rdi
callq 0x11117
testq %rax, %rax
je 0x110a6
movq %rax, %r12
movl -0x18(%r15), %esi
jmp 0x10c4c
xorl %r12d, %r12d
cmpb $0x1, 0xcbc61(%rip)     # 0xdc8b4
jne 0x10c8e
movq -0x10(%r15), %rdx
testq %rdx, %rdx
leaq 0x836ae(%rip), %rax     # 0x94311
cmoveq %rax, %rdx
movq -0x8(%r15), %rcx
testq %rcx, %rcx
cmoveq %rax, %rcx
movq (%r15), %r8
testq %r8, %r8
cmoveq %rax, %r8
leaq 0x8366d(%rip), %rdi     # 0x942f0
xorl %eax, %eax
callq 0xe070
movl -0x18(%r15), %esi
cmpl $0x1c, %esi
ja 0x11104
movl %esi, %eax
movslq (%rbx,%rax,4), %rax
addq %rbx, %rax
jmpq *%rax
movq %r13, %rdi
movq %r12, %rsi
callq 0x14cca
jmp 0x10eeb
movq -0x10(%r15), %rdi
callq 0xe5a0
movq %r13, %rdi
callq 0x14c6c
jmp 0x10eeb
movq -0x10(%r15), %rdi
callq 0xe5a0
movq %r13, %rdi
callq 0x14918
jmp 0x10eeb
movq %r13, %rdi
xorl %esi, %esi
callq 0x14e1e
jmp 0x10eeb
movq %r13, %rdi
callq 0x12bb0
jmp 0x10eeb
movq %r13, %rdi
movl $0x7fffffff, %esi       # imm = 0x7FFFFFFF
callq 0x14520
jmp 0x10eeb
movq %r13, %rdi
callq 0x15618
jmp 0x10eeb
movq %r13, %rdi
movq %r12, %rsi
callq 0x14c3a
jmp 0x10eeb
movq %r13, %rdi
movq %r12, %rsi
callq 0x14970
jmp 0x10eeb
movq %r13, %rdi
callq 0x12b88
jmp 0x10eeb
movq -0x10(%r15), %rdi
callq 0xe5a0
movq %r13, %rdi
callq 0x14c2e
jmp 0x10eeb
movq %r13, %rdi
callq 0x12b3c
jmp 0x10eeb
movq %r13, %rdi
callq 0x12d30
jmp 0x10eeb
movq %r13, %rdi
callq 0x12b10
jmp 0x10eeb
movq -0x10(%r15), %rdi
callq 0xe5a0
movq %r13, %rdi
callq 0x12d42
jmp 0x10eeb
movq -0x10(%r15), %rdi
callq 0xe5a0
movq %r13, %rdi
callq 0x1329c
jmp 0x10eeb
movq %r13, %rdi
callq 0x12bdc
jmp 0x10eeb
movq -0x10(%r15), %rdi
callq 0xe5a0
movq %r13, %rdi
callq 0x132ec
jmp 0x10eeb
movq -0x10(%r15), %rdi
callq 0xe5a0
movq %r13, %rdi
callq 0x148cc
jmp 0x10eeb
movq %r13, %rdi
callq 0x13f6c
jmp 0x10eeb
movq -0x10(%r15), %rdi
callq 0xe5a0
movq %r13, %rdi
callq 0x14d8a
jmp 0x10eeb
movq %r13, %rdi
callq 0x12da8
jmp 0x10eeb
movq %r13, %rdi
callq 0x140b2
jmp 0x10eeb
movq -0x8(%r15), %r12
leaq 0x834e3(%rip), %rsi     # 0x94313
movq %r12, %rdi
callq 0xe670
movsd 0x18(%rsp), %xmm0
testl %eax, %eax
je 0x10e4a
movq %r12, %rdi
callq 0xe5a0
movsd %xmm0, 0x8(%rsp)
movq (%r15), %r12
leaq 0x834b9(%rip), %rsi     # 0x94313
movq %r12, %rdi
callq 0xe670
movsd 0x18(%rsp), %xmm0
testl %eax, %eax
je 0x10e74
movq %r12, %rdi
callq 0xe5a0
movsd %xmm0, 0x10(%rsp)
movq -0x10(%r15), %rdi
callq 0xe5a0
movq %r13, %rdi
movsd 0x8(%rsp), %xmm1
movsd 0x10(%rsp), %xmm2
callq 0x13258
jmp 0x10eeb
movq -0x10(%r15), %rdi
callq 0xe5a0
movq %r13, %rdi
callq 0x12d72
jmp 0x10eeb
movq -0x10(%r15), %rdi
callq 0xe730
movl %eax, 0x8(%rsp)
movq -0x8(%r15), %rdi
callq 0xe730
movl %eax, %r12d
movq (%r15), %rdi
callq 0xe730
movq %r13, %rdi
movl 0x8(%rsp), %esi
movl %r12d, %edx
movl %eax, %ecx
callq 0x157a4
jmp 0x10eeb
movq %r13, %rdi
movq %r12, %rsi
callq 0x14c98
incq %r14
addq $0x20, %r15
jmp 0x10c19
cmpb $0x1, 0xcb9b2(%rip)     # 0xdc8b0
jne 0x11014
leaq 0x83496(%rip), %rdi     # 0x943a1
callq 0xe720
leaq 0x28(%rsp), %rdi
callq 0x663d8
leaq 0x832fe(%rip), %rdi     # 0x9421f
movb $0x1, %al
callq 0xe070
leaq 0x83416(%rip), %rdi     # 0x94345
movl 0x24(%rsp), %esi
xorl %eax, %eax
callq 0xe070
movl 0x238(%r13), %esi
movl 0x23c(%r13), %edx
movl 0x240(%r13), %ecx
leaq 0x832e0(%rip), %rdi     # 0x94236
xorl %eax, %eax
callq 0xe070
movsd 0x228(%r13), %xmm0
leaq 0x832e2(%rip), %rdi     # 0x9424f
movb $0x1, %al
callq 0xe070
movq %r13, %rdi
callq 0x11df2
leaq 0x832dc(%rip), %rdi     # 0x9425f
movl %eax, %esi
xorl %eax, %eax
callq 0xe070
movq %r13, %rdi
callq 0x112ac
leaq 0x832d8(%rip), %rdi     # 0x94273
movb $0x1, %al
callq 0xe070
leaq 0x38(%rsp), %r14
movq %r14, %rdi
movq %r13, %rsi
callq 0x11d42
movsd (%r14), %xmm0
leaq 0x832c4(%rip), %rdi     # 0x94282
movb $0x1, %al
callq 0xe070
movsd 0x8(%r14), %xmm0
leaq 0x832c0(%rip), %rdi     # 0x94292
movb $0x1, %al
callq 0xe070
movq %r13, %rdi
callq 0x11d9a
leaq 0x832ba(%rip), %rdi     # 0x942a2
movb $0x1, %al
callq 0xe070
movq %r13, %rdi
callq 0x112d6
leaq 0x832b3(%rip), %rdi     # 0x942b1
movb $0x1, %al
callq 0xe070
movq 0xc9f74(%rip), %rax     # 0xdaf80
movq (%rax), %rdi
callq 0xe540
movq 0xcb88d(%rip), %r14     # 0xdc8a8
leaq 0x28(%rsp), %r15
movq %r15, %rdi
callq 0x6639e
movq %r15, %rdi
callq 0x112a4
movq %r13, %rdi
movq %r14, %rsi
callq 0x19b90
movl %eax, %ebp
cmpb $0x1, 0xcb86c(%rip)     # 0xdc8b0
jne 0x11091
leaq 0x8336b(%rip), %rdi     # 0x943b8
callq 0xe720
leaq 0x28(%rsp), %rdi
callq 0x663d8
leaq 0x831bc(%rip), %rdi     # 0x9421f
movb $0x1, %al
callq 0xe070
movl 0x24c(%r13), %esi
shll $0x3, %esi
leaq 0x832df(%rip), %rdi     # 0x9435a
xorl %eax, %eax
callq 0xe070
movq 0xc9ef7(%rip), %rax     # 0xdaf80
movq (%rax), %rdi
callq 0xe540
testl %ebp, %ebp
je 0x110bb
xorl %eax, %eax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq -0x10(%r15), %rsi
leaq 0x8320f(%rip), %rdi     # 0x942c0
movl %r14d, %edx
xorl %eax, %eax
callq 0x687a6
pushq $-0x1
jmp 0x110d2
leaq 0x830d7(%rip), %rdi     # 0x9419d
movq %rbx, %rsi
xorl %eax, %eax
callq 0x687a6
pushq $0x1
popq %rdi
callq 0xe570
leaq 0x8328b(%rip), %rdi     # 0x9436a
callq 0xe720
xorl %edi, %edi
callq 0xe570
leaq 0x830c8(%rip), %rdi     # 0x941ba
jmp 0x110fb
leaq 0x830e3(%rip), %rdi     # 0x941de
xorl %eax, %eax
callq 0x687a6
jmp 0x110bb
leaq 0x8320d(%rip), %rdi     # 0x94318
movl %r14d, %edx
xorl %eax, %eax
callq 0x687a6
jmp 0x110bb