// File: /workspace/github_cpp_makefile_star2_O2/tomfunkhouser[P]gaps/pkgs/R3Graphics/R3Scene.cpp
// Function: gaps::ReadObj(gaps::R3Scene*, gaps::R3SceneNode*, char const*, gaps::RNArray<gaps::R3Material*>*)
static int
ReadObj(R3Scene *scene, R3SceneNode *node, const char *filename, RNArray<R3Material *> *returned_materials = NULL)
{
  // Open file
  FILE *fp = fopen(filename, "r");
  if (!fp) {
    RNFail("Unable to open file %s", filename);
    return 0;
  }

  // Determine directory name (for texture image files)
  char *dirname = NULL;
  char buffer[1024];
  strncpy(buffer, filename, 1023);
  char *endp = strrchr(buffer, '/');
  if (!endp) endp = strrchr(buffer, '\\');
  if (endp) { *endp = '\0'; dirname = buffer; }

  // Read file
  if (!ReadObj(scene, node, dirname, fp, returned_materials)) {
    RNFail("Unable to read OBJ file %s\n", filename);
    fclose(fp);
    return 0;
  }

  // Close file
  fclose(fp);

  // Return success
  return 1;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2608, %rsp           # imm = 0x2608
movq %rdx, %r14
movq %rsi, %rbx
movq %rdi, 0x50(%rsp)
leaq 0x9cf9a(%rip), %rsi     # 0xcbda3
movq %rdx, %rdi
callq 0x21ab0
movq %rax, 0xc8(%rsp)
testq %rax, %rax
je 0x3033e
leaq 0x1a00(%rsp), %r15
movl $0x3ff, %edx            # imm = 0x3FF
movq %r15, %rdi
movq %r14, %rsi
callq 0x21440
pushq $0x2f
popq %rsi
movq %r15, %rdi
callq 0x219c0
testq %rax, %rax
jne 0x2ee63
leaq 0x1a00(%rsp), %rdi
pushq $0x5c
popq %rsi
callq 0x219c0
testq %rax, %rax
je 0x30427
movb $0x0, (%rax)
andq $0x0, 0x70(%rsp)
leaq 0x58(%rsp), %rdi
callq 0x347ca
leaq 0x90(%rsp), %rdi
callq 0x7c1c6
leaq 0x80(%rsp), %rdi
callq 0x7c1c6
leaq 0x30(%rsp), %rdi
callq 0x7c1c6
leaq 0x40(%rsp), %rdi
callq 0x7c1c6
movq %r15, 0xa0(%rsp)
movq %r14, 0xd8(%rsp)
leaq 0xb8(%rsp), %rdi
callq 0x7c1c6
movl $0x0, 0x2c(%rsp)
movl $0x0, 0x4(%rsp)
movq %rbx, 0xd0(%rsp)
movq %rbx, 0x60(%rsp)
leaq 0x1e00(%rsp), %rdi
movl $0x3ff, %esi            # imm = 0x3FF
movq 0xc8(%rsp), %rdx
callq 0x21f50
movq %rax, %r15
testq %rax, %rax
je 0x302e8
leaq 0x1dff(%rsp), %r12
movsbl 0x1(%r12), %ebx
incq %r12
movl %ebx, %edi
callq 0x210b0
testl %eax, %eax
jne 0x2ef0c
movzbl %bl, %eax
incl 0x4(%rsp)
testl %eax, %eax
je 0x2eede
cmpl $0x23, %eax
je 0x2eede
movq %r12, %rdi
leaq 0xb5d21(%rip), %rsi     # 0xe4c5b
leaq 0xe0(%rsp), %rdx
xorl %eax, %eax
callq 0x21890
cmpl $0x1, %eax
jne 0x30410
movzwl 0xe0(%rsp), %ebx
cmpl $0x76, %ebx
jne 0x2eff5
movq %r12, %rdi
leaq 0x9764b(%rip), %rsi     # 0xc65b8
leaq 0xe0(%rsp), %rdx
leaq 0x200(%rsp), %rcx
leaq 0xe00(%rsp), %r8
leaq 0xa00(%rsp), %r9
xorl %eax, %eax
callq 0x21890
cmpl $0x4, %eax
jne 0x3042f
pushq $0x68
popq %rdi
callq 0x218d0
movq %rax, %r14
movsd 0x200(%rsp), %xmm0
movsd 0xe00(%rsp), %xmm1
movsd 0xa00(%rsp), %xmm2
leaq 0x1200(%rsp), %rbx
movq %rbx, %rdi
callq 0x6b874
movq %r14, %rdi
movq %rbx, %rsi
callq 0x6098e
orb $0x1, 0x5a(%r14)
leaq 0x40(%rsp), %rdi
movq %r14, %rsi
callq 0x2737a
jmp 0x2eede
leaq 0xe0(%rsp), %r14
movq %r14, %rdi
leaq 0x975bd(%rip), %rsi     # 0xc65c4
pushq $0x3
popq %r13
movq %r13, %rdx
callq 0x21920
testl %eax, %eax
je 0x2f2eb
movq %r14, %rdi
leaq 0x975ab(%rip), %rsi     # 0xc65d0
movq %r13, %rdx
callq 0x21920
testl %eax, %eax
je 0x2f376
cmpl $0x66, %ebx
jne 0x2f41a
movl $0x200, %edx            # imm = 0x200
leaq 0x1200(%rsp), %rbp
movq %rbp, %rdi
xorl %esi, %esi
callq 0x21490
subq $0x8, %rsp
movq %r12, %rdi
leaq 0x97570(%rip), %rsi     # 0xc65d3
leaq 0xe8(%rsp), %r13
movq %r13, %rdx
movq %rbp, %rcx
leaq 0x1288(%rsp), %rbx
movq %rbx, %r8
leaq 0x1308(%rsp), %r14
movq %r14, %r9
xorl %eax, %eax
leaq 0x1388(%rsp), %r10
pushq %r10
callq 0x21890
popq %rcx
popq %rdx
movl %eax, %ecx
pushq $0x4
popq %rax
movq %rax, 0x10(%rsp)
movl %ecx, 0x18(%rsp)
cmpl $0x5, %ecx
je 0x2f0db
movq %r12, %rdi
leaq 0x9751e(%rip), %rsi     # 0xc65d5
movq %r13, %rdx
movq %rbp, %rcx
movq %rbx, %r8
movq %r14, %r9
xorl %eax, %eax
callq 0x21890
pushq $0x3
popq %rcx
movq %rcx, 0x10(%rsp)
cmpl $0x4, %eax
jne 0x30474
xorpd %xmm0, %xmm0
movapd %xmm0, 0x210(%rsp)
movapd %xmm0, 0x200(%rsp)
xorl %r15d, %r15d
cmpq %r15, 0x10(%rsp)
pushq $0x2f
popq %rbx
je 0x2f50e
movq %rbp, %rdi
movl %ebx, %esi
callq 0x21320
testq %rax, %rax
je 0x2f146
movq %rax, %r12
incq %r12
movb $0x0, (%rax)
movq %r12, %rdi
movl %ebx, %esi
callq 0x21320
testq %rax, %rax
je 0x2f13a
movq %rax, %r14
movb $0x0, (%rax)
cmpb $0x0, 0x1(%rax)
je 0x2f13a
incq %r14
jmp 0x2f13d
xorl %r14d, %r14d
cmpb $0x0, (%r12)
je 0x2f149
jmp 0x2f14c
xorl %r14d, %r14d
xorl %r12d, %r12d
movq %rbp, 0x68(%rsp)
movq %rbp, %rdi
callq 0x21ef0
movl %eax, %ebx
xorl %ebp, %ebp
movl $0x0, %r13d
testq %r12, %r12
je 0x2f173
movq %r12, %rdi
callq 0x21ef0
movl %eax, %r13d
testq %r14, %r14
je 0x2f182
movq %r14, %rdi
callq 0x21ef0
movl %eax, %ebp
movq 0x40(%rsp), %rax
movslq %ebx, %rcx
movq -0x8(%rax,%rcx,8), %r12
movq %r12, 0x200(%rsp,%r15,8)
testl %r13d, %r13d
jle 0x2f239
cmpl 0x9c(%rsp), %r13d
jg 0x2f239
movq 0x90(%rsp), %rax
movl %r13d, %ecx
movq -0x8(%rax,%rcx,8), %rsi
leaq 0xe00(%rsp), %rdi
callq 0x76d9e
testb $0x2, 0x59(%r12)
jne 0x2f1e5
movq %r12, %rdi
leaq 0xe00(%rsp), %rsi
callq 0x3450e
jmp 0x2f239
leaq 0x48(%r12), %rsi
leaq 0xe00(%rsp), %rdi
callq 0x732c5
testl %eax, %eax
jne 0x2f239
pushq $0x68
popq %rdi
callq 0x218d0
movq %rax, %r14
movq %rax, %rdi
movq %r12, %rsi
leaq 0xe00(%rsp), %rdx
callq 0x60a84
movq %r14, 0x200(%rsp,%r15,8)
orb $0x1, 0x5a(%r14)
leaq 0xb8(%rsp), %rdi
movq %r14, %rsi
callq 0x2737a
movq %r14, %r12
testl %ebp, %ebp
jle 0x2f2da
cmpl 0x8c(%rsp), %ebp
jg 0x2f2da
movq 0x80(%rsp), %rax
movl %ebp, %ecx
movq -0x8(%rax,%rcx,8), %rsi
leaq 0xe00(%rsp), %rdi
callq 0x6c044
testb $0x1, 0x59(%r12)
jne 0x2f284
movq %r12, %rdi
leaq 0xe00(%rsp), %rsi
callq 0x34744
jmp 0x2f2da
leaq 0x18(%r12), %rsi
leaq 0xe00(%rsp), %rdi
callq 0x45ca0
testl %eax, %eax
jne 0x2f2da
pushq $0x68
popq %rdi
callq 0x218d0
movq %rax, %r14
leaq 0x48(%r12), %rcx
movq %rax, %rdi
movq %r12, %rsi
leaq 0xe00(%rsp), %rdx
callq 0x60b9a
movq %r14, 0x200(%rsp,%r15,8)
orb $0x1, 0x5a(%r14)
leaq 0xb8(%rsp), %rdi
movq %r14, %rsi
callq 0x2737a
incq %r15
movq 0x68(%rsp), %rbp
subq $-0x80, %rbp
jmp 0x2f0f4
movq %r12, %rdi
leaq 0x972d2(%rip), %rsi     # 0xc65c7
movq %r14, %rdx
leaq 0x1200(%rsp), %rcx
leaq 0x200(%rsp), %r8
xorl %eax, %eax
callq 0x21890
cmpl $0x3, %eax
jne 0x30446
pushq $0x10
popq %rdi
callq 0x218d0
movq %rax, %r14
movsd 0x1200(%rsp), %xmm0
movsd 0x200(%rsp), %xmm1
movq %rax, %rdi
callq 0x76d94
leaq 0x90(%rsp), %rdi
movq %r14, %rsi
callq 0x2737a
movslq 0x9c(%rsp), %rax
cmpl 0x4c(%rsp), %eax
jne 0x2eede
movq 0x40(%rsp), %rcx
movq -0x8(%rcx,%rax,8), %rdi
movq %r14, %rsi
callq 0x3450e
jmp 0x2eede
movq %r12, %rdi
leaq 0x97238(%rip), %rsi     # 0xc65b8
movq %r14, %rdx
leaq 0x1200(%rsp), %rcx
leaq 0x200(%rsp), %r8
leaq 0xe00(%rsp), %r9
xorl %eax, %eax
callq 0x21890
cmpl $0x4, %eax
jne 0x3045d
pushq $0x18
popq %rdi
callq 0x218d0
movq %rax, %r14
movsd 0x1200(%rsp), %xmm0
movsd 0x200(%rsp), %xmm1
movsd 0xe00(%rsp), %xmm2
movq %rax, %rdi
callq 0x6c034
movq %r14, %rdi
callq 0x6c336
leaq 0x80(%rsp), %rdi
movq %r14, %rsi
callq 0x2737a
movslq 0x8c(%rsp), %rax
cmpl 0x4c(%rsp), %eax
jne 0x2eede
movq 0x40(%rsp), %rcx
movq -0x8(%rcx,%rax,8), %rdi
movq %r14, %rsi
callq 0x34744
jmp 0x2eede
leaq 0xe0(%rsp), %r14
movq %r14, %rdi
leaq 0x971b2(%rip), %rsi     # 0xc65de
pushq $0x7
popq %r13
movq %r13, %rdx
callq 0x21920
testl %eax, %eax
je 0x2f671
movq %r14, %rdi
leaq 0x9719b(%rip), %rsi     # 0xc65e5
movq %r13, %rdx
callq 0x21920
testl %eax, %eax
je 0x2f6d8
addl $-0x67, %ebx
cmpl $0xc, %ebx
ja 0x2eede
movl $0x1101, %eax           # imm = 0x1101
btl %ebx, %eax
jae 0x2eede
movq %r12, %rdi
leaq 0x97e40(%rip), %rsi     # 0xc72be
leaq 0xe0(%rsp), %rdx
leaq 0x1200(%rsp), %r12
movq %r12, %rcx
xorl %eax, %eax
callq 0x21890
cmpl $0x2, %eax
jne 0x304c1
cmpl $0x0, 0x4c(%rsp)
movq 0xd0(%rsp), %r14
movq 0x60(%rsp), %r15
jle 0x2f776
cmpl $0x0, 0x3c(%rsp)
jle 0x2f776
movq 0x70(%rsp), %rdx
movq 0x50(%rsp), %rdi
movq %r15, %rsi
leaq 0x40(%rsp), %rcx
leaq 0x30(%rsp), %r8
movl 0x2c(%rsp), %r9d
callq 0x313e8
xorl %ebx, %ebx
movslq 0x3c(%rsp), %rax
cmpq %rax, %rbx
jge 0x2f76a
movq 0x30(%rsp), %rax
movq (%rax,%rbx,8), %rdi
testq %rdi, %rdi
je 0x2f509
movq (%rdi), %rax
callq *0x8(%rax)
incq %rbx
jmp 0x2f4e7
movq 0x200(%rsp), %r15
movq 0x208(%rsp), %rbp
cmpq %rbp, %r15
je 0x2eede
movq 0x210(%rsp), %r12
cmpq %r12, %rbp
sete %al
cmpq %r12, %r15
sete %cl
orb %al, %cl
jne 0x2eede
movb $0x1, %bl
cmpl $0x5, 0x18(%rsp)
jne 0x2f56a
movq 0x218(%rsp), %rax
cmpq %r15, %rax
sete %cl
cmpq %rbp, %rax
sete %dl
orb %cl, %dl
cmpq %r12, %rax
sete %bl
orb %dl, %bl
movq %r15, %rdi
movq %rbp, %rsi
callq 0x48146
leaq 0xffb7c(%rip), %rax     # 0x12f0f8
ucomisd (%rax), %xmm0
jbe 0x2f5dd
movq %rbp, %rdi
movq %r12, %rsi
callq 0x48146
leaq 0xffb64(%rip), %rax     # 0x12f0f8
ucomisd (%rax), %xmm0
jbe 0x2f5dd
movq %r12, %rdi
movq %r15, %rsi
callq 0x48146
leaq 0xffb4c(%rip), %rax     # 0x12f0f8
ucomisd (%rax), %xmm0
jbe 0x2f5dd
movl $0x88, %edi
callq 0x218d0
movq %rax, %r14
movq %rax, %rdi
movq %r15, %rsi
movq %rbp, %rdx
movq %r12, %rcx
callq 0x60de0
leaq 0x30(%rsp), %rdi
movq %r14, %rsi
callq 0x2737a
testb %bl, %bl
jne 0x2eede
movq %r15, %rdi
movq %r12, %rsi
callq 0x48146
leaq 0xffb01(%rip), %rax     # 0x12f0f8
ucomisd (%rax), %xmm0
jbe 0x2eede
movq 0x218(%rsp), %r14
movq %r12, %rdi
movq %r14, %rsi
callq 0x48146
leaq 0xffadd(%rip), %rax     # 0x12f0f8
ucomisd (%rax), %xmm0
jbe 0x2eede
movq %r15, %rdi
movq %r14, %rsi
callq 0x48146
leaq 0xffac1(%rip), %rax     # 0x12f0f8
ucomisd (%rax), %xmm0
jbe 0x2eede
movl $0x88, %edi
callq 0x218d0
movq %rax, %r13
movq %rax, %rdi
movq %r15, %rsi
movq %r12, %rdx
movq %r14, %rcx
callq 0x60de0
leaq 0x30(%rsp), %rdi
movq %r13, %rsi
callq 0x2737a
jmp 0x2eede
movq %r12, %rdi
leaq 0x97c43(%rip), %rsi     # 0xc72be
movq %r14, %rdx
leaq 0x2200(%rsp), %r14
movq %r14, %rcx
xorl %eax, %eax
callq 0x21890
cmpl $0x2, %eax
jne 0x30488
leaq 0xa8(%rsp), %rdi
callq 0x7c1c6
movq 0xa0(%rsp), %rdx
testq %rdx, %rdx
leaq 0x1200(%rsp), %rbx
je 0x2f7fb
movq %rbx, %rdi
leaq 0x95f57(%rip), %rsi     # 0xc5620
movq %r14, %rcx
xorl %eax, %eax
callq 0x21140
jmp 0x2f80b
movq %r12, %rdi
leaq 0x97bdc(%rip), %rsi     # 0xc72be
movq %r14, %rdx
leaq 0x1200(%rsp), %r14
movq %r14, %rcx
xorl %eax, %eax
callq 0x21890
cmpl $0x2, %eax
jne 0x304d5
cmpl $0x0, 0x4c(%rsp)
leaq 0x150(%rsp), %r12
jle 0x300ca
cmpl $0x0, 0x3c(%rsp)
jle 0x300ca
movq 0x70(%rsp), %rdx
movq 0x50(%rsp), %rdi
movq 0x60(%rsp), %rsi
leaq 0x40(%rsp), %rcx
leaq 0x30(%rsp), %r8
movl 0x2c(%rsp), %r9d
callq 0x313e8
xorl %ebx, %ebx
movslq 0x3c(%rsp), %rax
cmpq %rax, %rbx
jge 0x300be
movq 0x30(%rsp), %rax
movq (%rax,%rbx,8), %rdi
testq %rdi, %rdi
je 0x2f765
movq (%rdi), %rax
callq *0x8(%rax)
incq %rbx
jmp 0x2f743
leaq 0x30(%rsp), %rdi
xorl %esi, %esi
callq 0x7c3e4
movzwl 0xe0(%rsp), %eax
movl %eax, %ecx
orl $0x8, %ecx
cmpl $0x6f, %ecx
jne 0x2f7c0
movl $0x1b0, %edi            # imm = 0x1B0
callq 0x218d0
movq %rax, %r15
movq %rax, %rdi
movq 0x50(%rsp), %rsi
callq 0x37a1e
movq %r15, %rdi
movq %r12, %rsi
callq 0x38b2e
movq %r14, %rdi
movq %r15, %rsi
callq 0x3898c
movzwl 0xe0(%rsp), %eax
movq %r15, 0x60(%rsp)
cmpw $0x73, %ax
jne 0x2eede
movl 0x1200(%rsp), %eax
movl $0x0, 0x2c(%rsp)
cmpl $0x66666f, %eax         # imm = 0x66666F
je 0x2eede
xorl %ecx, %ecx
cmpw $0x30, %ax
setne %cl
movl %ecx, 0x2c(%rsp)
jmp 0x2eede
movl $0x7ff, %edx            # imm = 0x7FF
movq %rbx, %rdi
movq %r14, %rsi
callq 0x21440
movq %rbx, %rdi
leaq 0x9c58e(%rip), %rsi     # 0xcbda3
callq 0x21ab0
movq %rax, 0x68(%rsp)
testq %rax, %rax
je 0x3049c
leaq 0xa8(%rsp), %rdi
xorl %esi, %esi
callq 0x7c3e4
leaq 0x78(%rsp), %rdi
callq 0x3686a
xorl %r13d, %r13d
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
leaq 0xe00(%rsp), %rdi
movl $0x3ff, %esi            # imm = 0x3FF
movq 0x68(%rsp), %rdx
callq 0x21f50
movq %rax, %r12
testq %rax, %rax
je 0x300af
leaq 0xdff(%rsp), %rbp
movsbl 0x1(%rbp), %ebx
incq %rbp
movl %ebx, %edi
callq 0x210b0
testl %eax, %eax
jne 0x2f881
movzbl %bl, %eax
incl %r13d
testl %eax, %eax
je 0x2f856
cmpl $0x23, %eax
je 0x2f856
movq %rbp, %rdi
leaq 0xb53af(%rip), %rsi     # 0xe4c5b
leaq 0x1b0(%rsp), %r14
movq %r14, %rdx
xorl %eax, %eax
callq 0x21890
cmpl $0x1, %eax
jne 0x30106
movq %r14, %rdi
leaq 0x96d51(%rip), %rsi     # 0xc6622
pushq $0x7
popq %rdx
callq 0x21920
testl %eax, %eax
je 0x2f9f5
movq %r14, %rdi
leaq 0x96d3e(%rip), %rsi     # 0xc6629
pushq $0x3
popq %rbx
movq %rbx, %rdx
callq 0x21920
testl %eax, %eax
je 0x2fa9f
movq %r14, %rdi
leaq 0x96d40(%rip), %rsi     # 0xc6648
movq %rbx, %rdx
callq 0x21920
testl %eax, %eax
je 0x2fb2c
movq %r14, %rdi
leaq 0x96d0a(%rip), %rsi     # 0xc662c
movq %rbx, %rdx
callq 0x21920
testl %eax, %eax
je 0x2fbb9
movq %r14, %rdi
leaq 0x96cf3(%rip), %rsi     # 0xc662f
movq %rbx, %rdx
callq 0x21920
testl %eax, %eax
je 0x2fc46
movq %r14, %rdi
leaq 0x96cdc(%rip), %rsi     # 0xc6632
movq %rbx, %rdx
callq 0x21920
testl %eax, %eax
je 0x2fcd3
movq %r14, %rdi
leaq 0x96cc5(%rip), %rsi     # 0xc6635
movq %rbx, %rdx
callq 0x21920
testl %eax, %eax
je 0x2fd60
cmpw $0x64, 0x1b0(%rsp)
jne 0x2fdc9
movq %rbp, %rdi
leaq 0x96c9f(%rip), %rsi     # 0xc6638
leaq 0x1b0(%rsp), %rdx
leaq 0x200(%rsp), %rcx
xorl %eax, %eax
callq 0x21890
cmpl $0x2, %eax
jne 0x301f3
movq 0x10(%rsp), %rbx
testq %rbx, %rbx
setne %al
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x2f856
movsd 0x200(%rsp), %xmm0
callq 0x3f762
movq %rbx, %rdi
callq 0x3ed72
jmp 0x2f856
movq %rbp, %rdi
leaq 0x978bf(%rip), %rsi     # 0xc72be
movq %r14, %rdx
leaq 0x200(%rsp), %rcx
xorl %eax, %eax
callq 0x21890
cmpl $0x2, %eax
jne 0x30124
movl $0xb8, %edi
callq 0x218d0
movq %rax, %r14
movq %rax, %rdi
leaq 0x200(%rsp), %rsi
callq 0x3f056
movq %r14, %rdi
leaq 0xff697(%rip), %rsi     # 0x12f0d8
callq 0x3f616
movq 0x50(%rsp), %rdi
movq %r14, %rsi
callq 0x2788a
pushq $0x30
popq %rdi
callq 0x218d0
movq %rax, %r12
movq %rax, %rdi
movq %r14, %rsi
xorl %edx, %edx
leaq 0x200(%rsp), %rcx
callq 0x3ee68
movq 0x50(%rsp), %rdi
movq %r12, %rsi
callq 0x27846
leaq 0xa8(%rsp), %rdi
movq %r12, %rsi
callq 0x2737a
movq %r12, 0x10(%rsp)
movq %r14, 0x18(%rsp)
jmp 0x2f856
movq %rbp, %rdi
leaq 0x96b0f(%rip), %rsi     # 0xc65b8
movq %r14, %rdx
leaq 0xa00(%rsp), %rcx
leaq 0x8(%rsp), %r8
leaq 0x20(%rsp), %r9
xorl %eax, %eax
callq 0x21890
cmpl $0x4, %eax
jne 0x30142
movq 0x10(%rsp), %r12
testq %r12, %r12
setne %al
movq 0x18(%rsp), %r14
testq %r14, %r14
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x2f856
movsd 0xa00(%rsp), %xmm0
movsd 0x8(%rsp), %xmm1
movsd 0x20(%rsp), %xmm2
leaq 0x200(%rsp), %rbx
movq %rbx, %rdi
callq 0x7c03e
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3f5d2
movq %r12, %rdi
callq 0x3ed72
jmp 0x2f856
movq %rbp, %rdi
leaq 0x96a82(%rip), %rsi     # 0xc65b8
movq %r14, %rdx
leaq 0xa00(%rsp), %rcx
leaq 0x8(%rsp), %r8
leaq 0x20(%rsp), %r9
xorl %eax, %eax
callq 0x21890
cmpl $0x4, %eax
jne 0x30160
movq 0x10(%rsp), %r12
testq %r12, %r12
setne %al
movq 0x18(%rsp), %r14
testq %r14, %r14
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x2f856
movsd 0xa00(%rsp), %xmm0
movsd 0x8(%rsp), %xmm1
movsd 0x20(%rsp), %xmm2
leaq 0x200(%rsp), %rbx
movq %rbx, %rdi
callq 0x7c03e
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3f616
movq %r12, %rdi
callq 0x3ed72
jmp 0x2f856
movq %rbp, %rdi
leaq 0x969f5(%rip), %rsi     # 0xc65b8
movq %r14, %rdx
leaq 0xa00(%rsp), %rcx
leaq 0x8(%rsp), %r8
leaq 0x20(%rsp), %r9
xorl %eax, %eax
callq 0x21890
cmpl $0x4, %eax
jne 0x3017e
movq 0x10(%rsp), %r12
testq %r12, %r12
setne %al
movq 0x18(%rsp), %r14
testq %r14, %r14
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x2f856
movsd 0xa00(%rsp), %xmm0
movsd 0x8(%rsp), %xmm1
movsd 0x20(%rsp), %xmm2
leaq 0x200(%rsp), %rbx
movq %rbx, %rdi
callq 0x7c03e
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3f65c
movq %r12, %rdi
callq 0x3ed72
jmp 0x2f856
movq %rbp, %rdi
leaq 0x96968(%rip), %rsi     # 0xc65b8
movq %r14, %rdx
leaq 0xa00(%rsp), %rcx
leaq 0x8(%rsp), %r8
leaq 0x20(%rsp), %r9
xorl %eax, %eax
callq 0x21890
cmpl $0x4, %eax
jne 0x3019c
movq 0x10(%rsp), %r12
testq %r12, %r12
setne %al
movq 0x18(%rsp), %r14
testq %r14, %r14
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x2f856
movsd 0xa00(%rsp), %xmm0
movsd 0x8(%rsp), %xmm1
movsd 0x20(%rsp), %xmm2
leaq 0x200(%rsp), %rbx
movq %rbx, %rdi
callq 0x7c03e
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3f6ea
movq %r12, %rdi
callq 0x3ed72
jmp 0x2f856
movq %rbp, %rdi
leaq 0x968db(%rip), %rsi     # 0xc65b8
movq %r14, %rdx
leaq 0xa00(%rsp), %rcx
leaq 0x8(%rsp), %r8
leaq 0x20(%rsp), %r9
xorl %eax, %eax
callq 0x21890
cmpl $0x4, %eax
jne 0x301ba
movq 0x10(%rsp), %r12
testq %r12, %r12
setne %al
movq 0x18(%rsp), %r14
testq %r14, %r14
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x2f856
movsd 0xa00(%rsp), %xmm0
movsd 0x8(%rsp), %xmm1
movsd 0x20(%rsp), %xmm2
leaq 0x200(%rsp), %rbx
movq %rbx, %rdi
callq 0x7c03e
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3f6a2
movq %r12, %rdi
callq 0x3ed72
jmp 0x2f856
movq %rbp, %rdi
leaq 0x968ce(%rip), %rsi     # 0xc6638
movq %r14, %rdx
leaq 0x200(%rsp), %rcx
xorl %eax, %eax
callq 0x21890
cmpl $0x2, %eax
jne 0x301d8
movq 0x10(%rsp), %rbx
testq %rbx, %rbx
setne %al
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x2f856
movsd 0x9526a(%rip), %xmm0    # 0xc5018
subsd 0x200(%rsp), %xmm0
callq 0x3f762
movq %rbx, %rdi
callq 0x3ed72
jmp 0x2f856
leaq 0x1b0(%rsp), %r14
movq %r14, %rdi
leaq 0x96863(%rip), %rsi     # 0xc663e
pushq $0x3
popq %rbx
movq %rbx, %rdx
callq 0x21920
testl %eax, %eax
je 0x2ffed
movq %r14, %rdi
leaq 0x96849(%rip), %rsi     # 0xc6641
movq %rbx, %rdx
callq 0x21920
testl %eax, %eax
je 0x3004e
movq %r14, %rdi
leaq 0x96832(%rip), %rsi     # 0xc6644
pushq $0x7
popq %rdx
callq 0x21920
testl %eax, %eax
leaq 0x130(%rsp), %rbx
jne 0x2f856
movq %rbp, %rdi
leaq 0x9748a(%rip), %rsi     # 0xc72be
movq %r14, %rdx
leaq 0xa00(%rsp), %rcx
xorl %eax, %eax
callq 0x21890
cmpl $0x2, %eax
jne 0x30244
movq 0x10(%rsp), %rbp
testq %rbp, %rbp
je 0x2f856
cmpq $0x0, 0xa0(%rsp)
je 0x2fea5
leaq 0x200(%rsp), %rbx
movq %rbx, %rdi
leaq 0x957a6(%rip), %rsi     # 0xc5620
movq 0xa0(%rsp), %rdx
leaq 0xa00(%rsp), %rcx
xorl %eax, %eax
callq 0x21140
movq %rbx, %rdi
callq 0x7de10
testl %eax, %eax
leaq 0x130(%rsp), %rbx
jne 0x2febf
movl $0x7ff, %edx            # imm = 0x7FF
leaq 0x200(%rsp), %rdi
leaq 0xa00(%rsp), %rsi
callq 0x21440
andq $0x0, 0x8(%rsp)
movq %rbx, %rdi
leaq 0x200(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0x3438a
leaq 0x78(%rsp), %rdi
movq %rbx, %rsi
leaq 0x8(%rsp), %rdx
callq 0x3482e
movq %rbx, %rdi
movl %eax, %ebx
callq 0x213a0
testl %ebx, %ebx
leaq 0x190(%rsp), %rbx
jne 0x2ffd3
pushq $0x18
popq %rdi
callq 0x218d0
movq %rax, %r14
movq %rax, %rdi
callq 0x7761c
movq %r14, %rdi
leaq 0x200(%rsp), %rsi
callq 0x77638
testl %eax, %eax
je 0x2ffd3
pushq $0x50
popq %rdi
callq 0x218d0
movq %rax, %r12
movq %rax, %rdi
movq %r14, %rsi
movl $0x2901, %edx           # imm = 0x2901
movl $0x2901, %ecx           # imm = 0x2901
movl $0x2703, %r8d           # imm = 0x2703
movl $0x2601, %r9d           # imm = 0x2601
pushq $0x0
pushq $0x2100                 # imm = 0x2100
callq 0x3fbb0
popq %rax
popq %rcx
movq %r12, 0x8(%rsp)
movq %rbx, %rdi
leaq 0x200(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0x3438a
movq %rbx, %r14
movq 0x8(%rsp), %rbx
movq 0x78(%rsp), %rdi
movq %r14, %rsi
callq 0x34a7c
movq %rbx, (%rax)
movq %r14, %rdi
callq 0x213a0
movq 0x8(%rsp), %rdi
leaq 0x200(%rsp), %rsi
callq 0x3fd78
movq 0x8(%rsp), %rdi
leaq 0x200(%rsp), %rsi
callq 0x3fd48
movq 0x8(%rsp), %rsi
movq 0x50(%rsp), %rdi
callq 0x278d2
movq 0x8(%rsp), %rsi
movq %rbp, %rdi
callq 0x3ef3e
movq %rbp, %rdi
callq 0x3ed72
jmp 0x2f856
movq %rbp, %rdi
leaq 0x96641(%rip), %rsi     # 0xc6638
movq %r14, %rdx
leaq 0x200(%rsp), %rcx
xorl %eax, %eax
callq 0x21890
cmpl $0x2, %eax
jne 0x3020e
movq 0x10(%rsp), %rbx
testq %rbx, %rbx
setne %al
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x2f856
movsd 0x200(%rsp), %xmm0
callq 0x3f730
movq %rbx, %rdi
callq 0x3ed72
jmp 0x2f856
movq %rbp, %rdi
leaq 0x965e0(%rip), %rsi     # 0xc6638
movq %r14, %rdx
leaq 0x200(%rsp), %rcx
xorl %eax, %eax
callq 0x21890
cmpl $0x2, %eax
jne 0x30229
movq 0x10(%rsp), %rbx
testq %rbx, %rbx
setne %al
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x2f856
movsd 0x200(%rsp), %xmm0
callq 0x3f80e
movq %rbx, %rdi
callq 0x3ed72
jmp 0x2f856
movq 0x68(%rsp), %rdi
callq 0x218c0
jmp 0x3025d
leaq 0x30(%rsp), %rdi
xorl %esi, %esi
callq 0x7c3e4
movq %r12, %rdi
movq %r14, %rsi
leaq 0x200(%rsp), %rdx
callq 0x3438a
leaq 0x58(%rsp), %rdi
movq %r12, %rsi
leaq 0x70(%rsp), %rdx
callq 0x34770
movl %eax, %ebx
movq %r12, %rdi
callq 0x213a0
testl %ebx, %ebx
jne 0x2eede
jmp 0x304e9
leaq 0x95cb6(%rip), %rdi     # 0xc5dc3
movl %r13d, %esi
leaq 0x1200(%rsp), %rdx
xorl %eax, %eax
callq 0x7e83e
jmp 0x3025d
leaq 0x95c98(%rip), %rdi     # 0xc5dc3
movl %r13d, %esi
leaq 0x1200(%rsp), %rdx
xorl %eax, %eax
callq 0x7e83e
jmp 0x3025d
leaq 0x95c7a(%rip), %rdi     # 0xc5dc3
movl %r13d, %esi
leaq 0x1200(%rsp), %rdx
xorl %eax, %eax
callq 0x7e83e
jmp 0x3025d
leaq 0x95c5c(%rip), %rdi     # 0xc5dc3
movl %r13d, %esi
leaq 0x1200(%rsp), %rdx
xorl %eax, %eax
callq 0x7e83e
jmp 0x3025d
leaq 0x95c3e(%rip), %rdi     # 0xc5dc3
movl %r13d, %esi
leaq 0x1200(%rsp), %rdx
xorl %eax, %eax
callq 0x7e83e
jmp 0x3025d
leaq 0x95c20(%rip), %rdi     # 0xc5dc3
movl %r13d, %esi
leaq 0x1200(%rsp), %rdx
xorl %eax, %eax
callq 0x7e83e
jmp 0x3025d
leaq 0x95c02(%rip), %rdi     # 0xc5dc3
movl %r13d, %esi
leaq 0x1200(%rsp), %rdx
xorl %eax, %eax
callq 0x7e83e
jmp 0x3025d
leaq 0x95be4(%rip), %rdi     # 0xc5dc3
movl %r13d, %esi
leaq 0x1200(%rsp), %rdx
xorl %eax, %eax
callq 0x7e83e
jmp 0x3025d
leaq 0x95bc9(%rip), %rdi     # 0xc5dc3
movl %r13d, %esi
leaq 0x1200(%rsp), %rdx
xorl %eax, %eax
callq 0x7e83e
jmp 0x3025d
leaq 0x95bae(%rip), %rdi     # 0xc5dc3
movl %r13d, %esi
leaq 0x1200(%rsp), %rdx
xorl %eax, %eax
callq 0x7e83e
jmp 0x3025d
leaq 0x95b93(%rip), %rdi     # 0xc5dc3
movl %r13d, %esi
leaq 0x1200(%rsp), %rdx
xorl %eax, %eax
callq 0x7e83e
jmp 0x3025d
leaq 0x95b78(%rip), %rdi     # 0xc5dc3
movl %r13d, %esi
leaq 0x1200(%rsp), %rdx
xorl %eax, %eax
callq 0x7e83e
leaq 0x78(%rsp), %rdi
callq 0x34644
testq %r12, %r12
jne 0x304b2
movq 0x58(%rsp), %rdi
callq 0x351d6
xorl %ebx, %ebx
leaq 0x1200(%rsp), %r15
leaq 0x170(%rsp), %r12
movslq 0xb4(%rsp), %rax
cmpq %rax, %rbx
jge 0x302d6
movq 0xa8(%rsp), %rax
movq (%rax,%rbx,8), %r14
movq 0x10(%r14), %rsi
testq %rsi, %rsi
je 0x302d1
movq %r12, %rdi
movq %r15, %rdx
callq 0x3438a
movq 0x58(%rsp), %rdi
movq %r12, %rsi
callq 0x35254
movq %r14, (%rax)
movq %r12, %rdi
callq 0x213a0
incq %rbx
jmp 0x3028c
leaq 0xa8(%rsp), %rdi
callq 0x7c234
jmp 0x2eede
cmpl $0x0, 0x4c(%rsp)
jle 0x30362
cmpl $0x0, 0x3c(%rsp)
jle 0x30362
movq 0x70(%rsp), %rdx
leaq 0x40(%rsp), %rcx
leaq 0x30(%rsp), %r8
movq 0x50(%rsp), %rdi
movq 0x60(%rsp), %rsi
movl 0x2c(%rsp), %r9d
callq 0x313e8
xorl %ebx, %ebx
movslq 0x3c(%rsp), %rax
cmpq %rax, %rbx
jge 0x30356
movq 0x30(%rsp), %rax
movq (%rax,%rbx,8), %rdi
testq %rdi, %rdi
je 0x30339
movq (%rdi), %rax
callq *0x8(%rax)
incq %rbx
jmp 0x3031b
leaq 0x952e1(%rip), %rdi     # 0xc5626
xorl %ebx, %ebx
movq %r14, %rsi
xorl %eax, %eax
callq 0x7e83e
jmp 0x30577
leaq 0x30(%rsp), %rdi
xorl %esi, %esi
callq 0x7c3e4
xorl %r14d, %r14d
pushq $0x10
popq %rbx
movslq 0x9c(%rsp), %rax
cmpq %rax, %r14
jge 0x3038e
movq 0x90(%rsp), %rax
movq (%rax,%r14,8), %rdi
movq %rbx, %rsi
callq 0x218f0
incq %r14
jmp 0x30368
xorl %r14d, %r14d
pushq $0x18
popq %rbx
movslq 0x8c(%rsp), %rax
cmpq %rax, %r14
jge 0x303ba
movq 0x80(%rsp), %rax
movq (%rax,%r14,8), %rdi
movq %rbx, %rsi
callq 0x218f0
incq %r14
jmp 0x30394
xorl %r14d, %r14d
pushq $0x68
popq %rbx
movslq 0x4c(%rsp), %rax
cmpq %rax, %r14
jge 0x303e0
movq 0x40(%rsp), %rax
movq (%rax,%r14,8), %rdi
movq %rbx, %rsi
callq 0x218f0
incq %r14
jmp 0x303c0
xorl %r14d, %r14d
pushq $0x68
popq %rbx
movslq 0xc4(%rsp), %rax
cmpq %rax, %r14
jge 0x30503
movq 0xb8(%rsp), %rax
movq (%rax,%r14,8), %rdi
movq %rbx, %rsi
callq 0x218f0
incq %r14
jmp 0x303e6
leaq 0x9617d(%rip), %rdi     # 0xc6594
movl 0x4(%rsp), %esi
xorl %eax, %eax
callq 0x7e83e
jmp 0x30503
xorl %r15d, %r15d
jmp 0x2ee66
leaq 0x9615e(%rip), %rdi     # 0xc6594
movl 0x4(%rsp), %esi
xorl %eax, %eax
callq 0x7e83e
jmp 0x30503
leaq 0x96147(%rip), %rdi     # 0xc6594
movl 0x4(%rsp), %esi
xorl %eax, %eax
callq 0x7e83e
jmp 0x30503
leaq 0x96130(%rip), %rdi     # 0xc6594
movl 0x4(%rsp), %esi
xorl %eax, %eax
callq 0x7e83e
jmp 0x30503
leaq 0x96119(%rip), %rdi     # 0xc6594
movl 0x4(%rsp), %esi
xorl %eax, %eax
callq 0x7e83e
jmp 0x30503
leaq 0x96105(%rip), %rdi     # 0xc6594
movl 0x4(%rsp), %esi
xorl %eax, %eax
callq 0x7e83e
jmp 0x30503
leaq 0x95183(%rip), %rdi     # 0xc5626
leaq 0x1200(%rsp), %rsi
xorl %eax, %eax
callq 0x7e83e
leaq 0xa8(%rsp), %rdi
callq 0x7c234
jmp 0x30503
leaq 0x960cc(%rip), %rdi     # 0xc6594
movl 0x4(%rsp), %esi
xorl %eax, %eax
callq 0x7e83e
jmp 0x30503
leaq 0x960b8(%rip), %rdi     # 0xc6594
movl 0x4(%rsp), %esi
xorl %eax, %eax
callq 0x7e83e
jmp 0x30503
leaq 0x960fc(%rip), %rdi     # 0xc65ec
leaq 0x1200(%rsp), %rsi
movl 0x4(%rsp), %edx
xorl %eax, %eax
callq 0x7e83e
leaq 0xb8(%rsp), %rdi
callq 0x7c234
leaq 0x40(%rsp), %rdi
callq 0x7c234
leaq 0x30(%rsp), %rdi
callq 0x7c234
leaq 0x80(%rsp), %rdi
callq 0x7c234
leaq 0x90(%rsp), %rdi
callq 0x7c234
leaq 0x58(%rsp), %rdi
callq 0x347ac
testq %r15, %r15
je 0x30567
leaq 0x96024(%rip), %rdi     # 0xc6578
xorl %ebx, %ebx
movq 0xd8(%rsp), %rsi
xorl %eax, %eax
callq 0x7e83e
jmp 0x3056a
pushq $0x1
popq %rbx
movq 0xc8(%rsp), %rdi
callq 0x218c0
movl %ebx, %eax
addq $0x2608, %rsp           # imm = 0x2608
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x3074b
jmp 0x3074b
jmp 0x3074b
jmp 0x3074b
movq %rax, %rbx
leaq 0x190(%rsp), %rdi
jmp 0x305e5
jmp 0x3074b
movq %rax, %rbx
pushq $0x50
jmp 0x306e6
movq %rax, %rbx
pushq $0x18
popq %rsi
jmp 0x306f4
jmp 0x3074b
jmp 0x3074b
jmp 0x3074b
jmp 0x3074b
movq %rax, %rbx
leaq 0x130(%rsp), %rdi
callq 0x213a0
jmp 0x3074e
jmp 0x3074b
jmp 0x3074b
jmp 0x3074b
jmp 0x3074b
jmp 0x3074b
jmp 0x30792
jmp 0x3074b
jmp 0x3076c
jmp 0x30792
jmp 0x30792
jmp 0x3074b
jmp 0x30792
jmp 0x3074b
movq %rax, %rbx
movl $0x88, %esi
movq %r13, %rdi
jmp 0x30789
jmp 0x3074b
jmp 0x3074b
jmp 0x30792
jmp 0x30792
movq %rax, %rbx
movl $0x88, %esi
jmp 0x30786
jmp 0x3074b
jmp 0x3074b
jmp 0x3074b
jmp 0x30792
jmp 0x3074b
jmp 0x3074b
jmp 0x30792
jmp 0x3074b
jmp 0x3074b
jmp 0x3074b
jmp 0x30792
movq %rax, %rbx
movl $0x1b0, %esi            # imm = 0x1B0
movq %r15, %rdi
jmp 0x30789
jmp 0x3074b
movq %rax, %rbx
leaq 0x150(%rsp), %rdi
callq 0x213a0
jmp 0x30795
jmp 0x30792
jmp 0x30792
jmp 0x3074b
jmp 0x3074b
jmp 0x30792
jmp 0x30792
jmp 0x3074b
jmp 0x3076c
movq %rax, %rbx
pushq $0x30
popq %rsi
movq %r12, %rdi
jmp 0x306f7
movq %rax, %rbx
movl $0xb8, %esi
movq %r14, %rdi
callq 0x218f0
jmp 0x3074e
jmp 0x30792
jmp 0x30792
jmp 0x30792
movq %rax, %rbx
pushq $0x18
jmp 0x30785
movq %rax, %rbx
jmp 0x307a2
movq %rax, %rbx
jmp 0x307ac
movq %rax, %rbx
jmp 0x307b6
movq %rax, %rbx
jmp 0x307c3
movq %rax, %rbx
jmp 0x307d0
movq %rax, %rbx
pushq $0x10
jmp 0x30785
jmp 0x30780
jmp 0x30780
jmp 0x30792
jmp 0x30792
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
callq 0x34644
jmp 0x3076f
movq %rax, %rbx
leaq 0x170(%rsp), %rdi
callq 0x213a0
jmp 0x3076f
movq %rax, %rbx
leaq 0xa8(%rsp), %rdi
callq 0x7c234
jmp 0x30795
jmp 0x30792
movq %rax, %rbx
pushq $0x68
popq %rsi
movq %r14, %rdi
callq 0x218f0
jmp 0x30795
jmp 0x30792
movq %rax, %rbx
leaq 0xb8(%rsp), %rdi
callq 0x7c234
leaq 0x40(%rsp), %rdi
callq 0x7c234
leaq 0x30(%rsp), %rdi
callq 0x7c234
leaq 0x80(%rsp), %rdi
callq 0x7c234
leaq 0x90(%rsp), %rdi
callq 0x7c234
leaq 0x58(%rsp), %rdi
callq 0x347ac
movq %rbx, %rdi
callq 0x220e0