// File: /workspace/github_cpp_makefile_star2_O1/hzeller[P]jcxxgen/schema-compiler.cc
// Function: LoadObjectTypes(char const*)
std::unique_ptr<ObjectTypeVector> LoadObjectTypes(const char *filename) {
  std::unique_ptr<ObjectTypeVector> result(new ObjectTypeVector());

  if (!ParseObjectTypesFromFile(filename, result.get())) return nullptr;
  if (!ValidateTypes(result.get())) return nullptr;
  return result;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x398, %rsp            # imm = 0x398
movq %rsi, %rbx
movq %rdi, -0xc8(%rbp)
movl $0x18, %edi
callq 0x4280
movq %rax, %r14
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
movq %rax, -0x60(%rbp)
movb 0x1ae09(%rip), %al      # 0x1f6e8
testb %al, %al
je 0x5f28
movb 0x1ae23(%rip), %al      # 0x1f710
testb %al, %al
je 0x5f7f
movb 0x1ae3d(%rip), %al      # 0x1f738
testb %al, %al
je 0x5fd6
movq $0x0, -0x68(%rbp)
leaq -0x3c0(%rbp), %rdi
movq %rbx, %rsi
movl $0x8, %edx
callq 0x44c0
movq -0x3c0(%rbp), %rax
movq -0x18(%rax), %rcx
cmpl $0x0, -0x3a0(%rbp,%rcx)
je 0x4977
movq 0x1a6ad(%rip), %r14     # 0x1efe8
leaq 0x11c6b(%rip), %rsi     # 0x165ad
movl $0xb, %edx
movq %r14, %rdi
callq 0x4300
testq %rbx, %rbx
je 0x51ee
movq %rbx, %rdi
callq 0x4140
movq 0x1a681(%rip), %rdi     # 0x1efe8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x4300
jmp 0x5206
movq %r14, -0x30(%rbp)
leaq -0x88(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq $0x0, -0x8(%rcx)
movb $0x0, (%rcx)
xorps %xmm0, %xmm0
movaps %xmm0, -0xb0(%rbp)
movaps %xmm0, -0xc0(%rbp)
movq -0x18(%rax), %rax
movb -0x3a0(%rbp,%rax), %r13b
andb $0x2, %r13b
shrb %r13b
jne 0x5352
leaq (%rax,%rbp), %rdi
addq $-0x3c0, %rdi           # imm = 0xFC40
movl $0x1, %r15d
leaq -0x150(%rbp), %r12
xorl %r13d, %r13d
movq %rbx, -0x38(%rbp)
movl $0xa, %esi
callq 0x4270
movsbl %al, %edx
leaq -0x3c0(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x44d0
movq -0x98(%rbp), %rdi
movq -0x90(%rbp), %rsi
addq %rdi, %rsi
xorps %xmm0, %xmm0
movaps %xmm0, -0x140(%rbp)
movaps %xmm0, -0x150(%rbp)
movq %r12, %r14
movq %r12, %rdx
leaq 0x1ac9f(%rip), %rcx     # 0x1f6c8
xorl %r8d, %r8d
callq 0x12590
movl %eax, %r12d
movq -0x150(%rbp), %rdi
testq %rdi, %rdi
je 0x4a4f
movq -0x140(%rbp), %rsi
subq %rdi, %rsi
callq 0x4290
testb %r12b, %r12b
movq %r14, %r12
jne 0x51bc
movq -0x98(%rbp), %rdi
movq -0x90(%rbp), %rsi
addq %rdi, %rsi
leaq -0xc0(%rbp), %rdx
leaq 0x1ac76(%rip), %rcx     # 0x1f6f0
xorl %r8d, %r8d
callq 0x146f9
testb %al, %al
je 0x4acf
movl $0x78, %edi
callq 0x4280
movq %rax, %r13
movq -0xc0(%rbp), %rcx
movq -0xb8(%rbp), %rax
cmpq %rax, %rcx
je 0x4b48
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x5, %rdx
cmpq $-0x2, %rdx
setb %dl
jmp 0x4b4a
cmpq $0x0, -0x68(%rbp)
je 0x522f
movq -0x98(%rbp), %rdi
movq -0x90(%rbp), %rsi
addq %rdi, %rsi
leaq -0xc0(%rbp), %rdx
leaq 0x1ac1f(%rip), %rcx     # 0x1f718
xorl %r8d, %r8d
callq 0x146f9
testb %al, %al
je 0x5250
movq -0xc0(%rbp), %rax
movq -0xb8(%rbp), %rdi
cmpq %rdi, %rax
je 0x4c43
movq %rdi, %rcx
subq %rax, %rcx
sarq $0x3, %rcx
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdx, %rcx
addq $-0x5, %rcx
cmpq $-0x2, %rcx
setb %cl
jmp 0x4c45
xorl %edx, %edx
addq $0x18, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0x4b81
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x140(%rbp), %rax
movq %rax, -0x150(%rbp)
movq %r12, %rdi
callq 0x1497c
movq -0x30(%rbp), %r14
jmp 0x4ba5
leaq -0x140(%rbp), %rax
movq %rax, -0x150(%rbp)
movq $0x0, -0x148(%rbp)
movb $0x0, -0x140(%rbp)
movq -0x30(%rbp), %r14
movq %rbx, (%r13)
movl %r15d, 0x8(%r13)
leaq 0x10(%r13), %rdi
movq %r13, %rax
addq $0x20, %rax
movq %rax, 0x10(%r13)
movq -0x150(%rbp), %rsi
movq -0x148(%rbp), %rdx
addq %rsi, %rdx
callq 0xc92a
xorps %xmm0, %xmm0
movups %xmm0, 0x60(%r13)
movups %xmm0, 0x50(%r13)
movups %xmm0, 0x40(%r13)
movups %xmm0, 0x30(%r13)
movq $0x0, 0x70(%r13)
movq %r13, -0x68(%rbp)
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
cmpq %rax, %rdi
je 0x4c17
movq -0x140(%rbp), %rsi
incq %rsi
callq 0x4290
movq 0x8(%r14), %rsi
cmpq 0x10(%r14), %rsi
je 0x4c32
movq -0x68(%rbp), %rax
movq %rax, (%rsi)
addq $0x8, 0x8(%r14)
jmp 0x51bc
movq %r14, %rdi
leaq -0x68(%rbp), %rdx
callq 0x149fa
jmp 0x51bc
xorl %ecx, %ecx
addq $0x18, %rax
addq $-0x48, %rdi
testb %cl, %cl
cmovneq %rax, %rdi
leaq 0x1199c(%rip), %rsi     # 0x165f6
callq 0x14b3a
testl %eax, %eax
je 0x4c9f
movq -0xc0(%rbp), %rcx
movq -0xb8(%rbp), %rax
cmpq %rax, %rcx
leaq -0x48(%rbp), %r8
je 0x4cde
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x5, %rdx
cmpq $-0x2, %rdx
setb %dl
jmp 0x4ce0
movq -0xc0(%rbp), %rcx
movq -0xb8(%rbp), %rax
cmpq %rax, %rcx
je 0x5132
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x7, %rdx
cmpq $-0x4, %rdx
setb %dl
jmp 0x5134
xorl %edx, %edx
leaq -0x58(%rbp), %rdi
movq -0x68(%rbp), %r13
addq $0x18, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0x4d15
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %r8, -0x58(%rbp)
callq 0x1497c
leaq -0x170(%rbp), %rdi
jmp 0x4d2c
movq %r8, -0x58(%rbp)
movq $0x0, -0x50(%rbp)
movb $0x0, -0x48(%rbp)
leaq -0x170(%rbp), %rdi
movq -0xc0(%rbp), %rcx
movq -0xb8(%rbp), %rax
cmpq %rax, %rcx
je 0x4d64
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x6, %rdx
cmpq $-0x3, %rdx
setb %dl
jmp 0x4d66
xorl %edx, %edx
addq $0x30, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0x4d9d
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x160(%rbp), %rax
movq %rax, -0x170(%rbp)
callq 0x1497c
leaq -0x170(%rbp), %rdi
jmp 0x4dbd
leaq -0x160(%rbp), %rax
movq %rax, -0x170(%rbp)
movq $0x0, -0x168(%rbp)
movb $0x0, -0x160(%rbp)
xorl %r12d, %r12d
movl $0x3f, %esi
xorl %edx, %edx
callq 0x4380
movq %rax, %rbx
movq -0xc0(%rbp), %rcx
movq -0xb8(%rbp), %rax
cmpq %rax, %rcx
je 0x4e06
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x6, %rdx
cmpq $-0x3, %rdx
setb %r12b
addq $0x30, %rcx
addq $-0x48, %rax
testb %r12b, %r12b
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0x4e41
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x180(%rbp), %rax
movq %rax, -0x190(%rbp)
leaq -0x190(%rbp), %r12
movq %r12, %rdi
callq 0x1497c
jmp 0x4e68
leaq -0x180(%rbp), %rax
movq %rax, -0x190(%rbp)
movq $0x0, -0x188(%rbp)
movb $0x0, -0x180(%rbp)
leaq -0x190(%rbp), %r12
movq %r12, %rdi
movl $0x2b, %esi
xorl %edx, %edx
callq 0x4380
movq %rax, %r12
movq -0x38(%rbp), %rax
movq %rax, -0x150(%rbp)
movl %r15d, -0x148(%rbp)
movq %r13, -0x140(%rbp)
leaq -0x128(%rbp), %rax
movq %rax, -0x138(%rbp)
movq -0x58(%rbp), %rsi
movq -0x50(%rbp), %rdx
addq %rsi, %rdx
leaq -0x138(%rbp), %rdi
callq 0xc92a
cmpq $-0x1, %rbx
setne -0x118(%rbp)
cmpq $-0x1, %r12
setne -0x117(%rbp)
leaq -0x100(%rbp), %rax
movq %rax, -0x110(%rbp)
xorl %ecx, %ecx
movq %rcx, -0x108(%rbp)
movb %cl, -0x100(%rbp)
leaq -0xe0(%rbp), %rax
movq %rax, -0xf0(%rbp)
movq %rcx, -0xe8(%rbp)
movb %cl, -0xe0(%rbp)
movq %rcx, -0xd0(%rbp)
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x4f2f
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x4290
movq -0x170(%rbp), %rdi
leaq -0x160(%rbp), %rax
cmpq %rax, %rdi
movq -0x38(%rbp), %rbx
je 0x4f55
movq -0x160(%rbp), %rsi
incq %rsi
callq 0x4290
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x4f6e
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x4290
movq -0xc0(%rbp), %rcx
movq -0xb8(%rbp), %rax
cmpq %rax, %rcx
je 0x4fa6
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x7, %rdx
cmpq $-0x4, %rdx
setb %dl
jmp 0x4fa8
xorl %edx, %edx
leaq -0x48(%rbp), %rdi
addq $0x48, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0x4fdc
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %rdi, -0x58(%rbp)
movq %rdi, %r12
leaq -0x58(%rbp), %r13
movq %r13, %rdi
callq 0x1497c
jmp 0x4ff3
movq %rdi, -0x58(%rbp)
movq $0x0, -0x50(%rbp)
movb $0x0, -0x48(%rbp)
movq %rdi, %r12
leaq -0x58(%rbp), %r13
leaq -0xf0(%rbp), %rdi
movq %r13, %rsi
callq 0x4340
movq -0x58(%rbp), %rdi
cmpq %r12, %rdi
je 0x5017
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x4290
movq -0xc0(%rbp), %rcx
movq -0xb8(%rbp), %rax
cmpq %rax, %rcx
je 0x504f
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x9, %rdx
cmpq $-0x6, %rdx
setb %dl
jmp 0x5051
xorl %edx, %edx
leaq -0x48(%rbp), %rdi
addq $0x78, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0x5081
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %rdi, -0x58(%rbp)
movq %rdi, %r12
movq %r13, %rdi
callq 0x1497c
jmp 0x5094
movq %rdi, -0x58(%rbp)
movq $0x0, -0x50(%rbp)
movb $0x0, -0x48(%rbp)
movq %rdi, %r12
leaq -0x110(%rbp), %rdi
movq %r13, %rsi
callq 0x4340
movq -0x58(%rbp), %rdi
cmpq %r12, %rdi
je 0x50b8
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x4290
movq -0x68(%rbp), %rdi
addq $0x48, %rdi
movq %r14, %r12
movq %r14, %rsi
callq 0x6c6c
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x50ed
movq -0xe0(%rbp), %rsi
incq %rsi
callq 0x4290
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x510f
movq -0x100(%rbp), %rsi
incq %rsi
callq 0x4290
movq -0x138(%rbp), %rdi
leaq -0x128(%rbp), %rax
cmpq %rax, %rdi
je 0x51bc
movq -0x128(%rbp), %rsi
jmp 0x51b4
xorl %edx, %edx
movq -0x68(%rbp), %r13
addq $0x48, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0x516b
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x140(%rbp), %rax
movq %rax, -0x150(%rbp)
movq %r12, %rdi
callq 0x1497c
jmp 0x518b
leaq -0x140(%rbp), %rax
movq %rax, -0x150(%rbp)
movq $0x0, -0x148(%rbp)
movb $0x0, -0x140(%rbp)
addq $0x30, %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x14bc6
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
cmpq %rax, %rdi
je 0x51bc
movq -0x140(%rbp), %rsi
incq %rsi
callq 0x4290
movq -0x3c0(%rbp), %rax
movq -0x18(%rax), %rax
leaq (%rax,%rbp), %rdi
addq $-0x3c0, %rdi           # imm = 0xFC40
movb 0x20(%rdi), %r13b
andb $0x2, %r13b
shrb %r13b
incl %r15d
testb %r13b, %r13b
je 0x49da
jmp 0x5352
movq (%r14), %rax
movq -0x18(%rax), %rax
leaq (%r14,%rax), %rdi
movl 0x20(%r14,%rax), %esi
orl $0x1, %esi
callq 0x4450
movq 0x19ddb(%rip), %rdi     # 0x1efe8
leaq 0x10f46(%rip), %rsi     # 0x1615a
movl $0x1, %edx
callq 0x4300
leaq -0x3c0(%rbp), %rdi
callq 0x4090
jmp 0x5ecb
testq %rbx, %rbx
je 0x5278
movq %rbx, %rdi
callq 0x4140
movq 0x19da5(%rip), %rdi     # 0x1efe8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x4300
jmp 0x5296
testq %rbx, %rbx
je 0x52e2
movq %rbx, %rdi
callq 0x4140
movq 0x19d80(%rip), %rdi     # 0x1efe8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x4300
jmp 0x5300
movq 0x19d69(%rip), %rax     # 0x1efe8
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
leaq (%rax,%rcx), %rdi
movl 0x20(%rax,%rcx), %esi
orl $0x1, %esi
callq 0x4450
movq 0x19d4b(%rip), %rdi     # 0x1efe8
leaq 0x10ec3(%rip), %rsi     # 0x16167
movl $0x1, %edx
callq 0x4300
movq 0x19d33(%rip), %rdi     # 0x1efe8
movl %r15d, %esi
callq 0x4470
movq %rax, %rbx
leaq 0x11ce8(%rip), %rsi     # 0x16faf
movl $0x2, %edx
movq %rax, %rdi
callq 0x4300
movl $0x19, %edx
leaq 0x112d9(%rip), %rsi     # 0x165b9
jmp 0x534a
movq 0x19cff(%rip), %rax     # 0x1efe8
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
leaq (%rax,%rcx), %rdi
movl 0x20(%rax,%rcx), %esi
orl $0x1, %esi
callq 0x4450
movq 0x19ce1(%rip), %rdi     # 0x1efe8
leaq 0x10e59(%rip), %rsi     # 0x16167
movl $0x1, %edx
callq 0x4300
movq 0x19cc9(%rip), %rdi     # 0x1efe8
movl %r15d, %esi
callq 0x4470
movq %rax, %rbx
leaq 0x11c7e(%rip), %rsi     # 0x16faf
movl $0x2, %edx
movq %rax, %rdi
callq 0x4300
movl $0x22, %edx
leaq 0x11289(%rip), %rsi     # 0x165d3
movq %rbx, %rdi
callq 0x4300
movq -0xc0(%rbp), %rdi
testq %rdi, %rdi
je 0x536d
movq -0xb0(%rbp), %rsi
subq %rdi, %rsi
callq 0x4290
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x538f
movq -0x88(%rbp), %rsi
incq %rsi
callq 0x4290
leaq -0x3c0(%rbp), %rdi
callq 0x4090
testb $0x1, %r13b
je 0x5ecb
movq -0x60(%rbp), %rax
leaq -0x390(%rbp), %rcx
movq %rcx, -0x30(%rcx)
movq $0x1, -0x28(%rcx)
xorps %xmm0, %xmm0
movups %xmm0, -0x20(%rcx)
movl $0x3f800000, -0x10(%rcx) # imm = 0x3F800000
movups %xmm0, -0x8(%rcx)
movq (%rax), %r12
movq 0x8(%rax), %rax
movq %rax, -0x1a8(%rbp)
cmpq %rax, %r12
je 0x5f04
movq (%r12), %rax
leaq -0x140(%rbp), %rcx
movq %rcx, -0x150(%rbp)
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rdx
addq %rsi, %rdx
leaq -0x150(%rbp), %rbx
movq %rbx, %rdi
callq 0xc92a
movq (%r12), %rax
movq %rax, -0x130(%rbp)
leaq -0x3c0(%rbp), %rdi
movq %rbx, %rsi
callq 0x1522a
movq %rax, %rbx
movl %edx, %r14d
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
cmpq %rax, %rdi
je 0x5453
movq -0x140(%rbp), %rsi
incq %rsi
callq 0x4290
movq (%r12), %r15
testb $0x1, %r14b
je 0x55af
movq 0x30(%r15), %rbx
movq 0x38(%r15), %rax
movl $0x4, -0x38(%rbp)
movq %rax, -0x30(%rbp)
cmpq %rax, %rbx
sete %r13b
movq %r12, -0x70(%rbp)
je 0x56df
leaq -0x3c0(%rbp), %rdi
movq %rbx, %rsi
callq 0x156a6
movq %rax, %r14
movq (%r12), %r15
testq %rax, %rax
je 0x54be
leaq 0x28(%r14), %rdx
movq 0x68(%r15), %rsi
cmpq 0x70(%r15), %rsi
je 0x54e6
movq (%rdx), %rax
movq %rax, (%rsi)
addq $0x8, 0x68(%r15)
jmp 0x558f
movq (%r15), %r12
testq %r12, %r12
je 0x54f7
movq %r12, %rdi
callq 0x4140
movq 0x19b13(%rip), %rdi     # 0x1efe8
movq %r12, %rsi
movq %rax, %rdx
callq 0x4300
movq -0x70(%rbp), %r12
jmp 0x5519
addq $0x60, %r15
movq %r15, %rdi
callq 0x156ea
jmp 0x558f
movq 0x19aea(%rip), %rcx     # 0x1efe8
movq (%rcx), %rax
movq -0x18(%rax), %rax
leaq (%rcx,%rax), %rdi
movl 0x20(%rcx,%rax), %esi
orl $0x1, %esi
callq 0x4450
movq -0x70(%rbp), %r12
movl $0x1, %edx
movq 0x19ac3(%rip), %rdi     # 0x1efe8
leaq 0x10c3b(%rip), %rsi     # 0x16167
callq 0x4300
movl 0x8(%r15), %esi
movq 0x19aac(%rip), %rdi     # 0x1efe8
callq 0x4470
movq %rax, %r15
movl $0x2, %edx
movq %rax, %rdi
leaq 0x11a5c(%rip), %rsi     # 0x16faf
callq 0x4300
movl $0x13, %edx
movq %r15, %rdi
leaq 0x11992(%rip), %rsi     # 0x16ef9
callq 0x4300
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r15, %rdi
callq 0x4300
movl $0x1, %edx
movq %rax, %rdi
leaq 0x10bd0(%rip), %rsi     # 0x1615a
callq 0x4300
testq %r14, %r14
je 0x56d8
addq $0x20, %rbx
cmpq -0x30(%rbp), %rbx
sete %r13b
jne 0x5485
jmp 0x56df
movq (%r15), %r14
testq %r14, %r14
je 0x55d3
movq %r14, %rdi
callq 0x4140
movq 0x19a22(%rip), %rdi     # 0x1efe8
movq %r14, %rsi
movq %rax, %rdx
callq 0x4300
jmp 0x55f1
movq 0x19a0e(%rip), %rcx     # 0x1efe8
movq (%rcx), %rax
movq -0x18(%rax), %rax
leaq (%rcx,%rax), %rdi
movl 0x20(%rcx,%rax), %esi
orl $0x1, %esi
callq 0x4450
movl $0x1, %edx
movq 0x199eb(%rip), %rdi     # 0x1efe8
leaq 0x10b63(%rip), %rsi     # 0x16167
callq 0x4300
movl 0x8(%r15), %esi
movq 0x199d4(%rip), %rdi     # 0x1efe8
callq 0x4470
movq %rax, %r14
movl $0x2, %edx
movq %rax, %rdi
leaq 0x11984(%rip), %rsi     # 0x16faf
callq 0x4300
movl $0x24, %edx
movq %r14, %rdi
leaq 0x11895(%rip), %rsi     # 0x16ed4
callq 0x4300
movq 0x28(%rbx), %r15
movq (%r15), %rbx
testq %rbx, %rbx
je 0x5668
movq %rbx, %rdi
callq 0x4140
movq %r14, %rdi
movq %rbx, %rsi
movq %rax, %rdx
callq 0x4300
jmp 0x5682
movq (%r14), %rax
movq -0x18(%rax), %rax
movq %r14, %rdi
addq %rax, %rdi
movl 0x20(%r14,%rax), %esi
orl $0x1, %esi
callq 0x4450
movl $0x1, %edx
movq %r14, %rdi
leaq 0x10ad6(%rip), %rsi     # 0x16167
callq 0x4300
movl 0x8(%r15), %esi
movq %r14, %rdi
callq 0x4470
movq %rax, %rbx
movl $0x2, %edx
movq %rax, %rdi
leaq 0x118fb(%rip), %rsi     # 0x16faf
callq 0x4300
movl $0x1, %r13d
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x10a8c(%rip), %rsi     # 0x1615a
callq 0x4300
jmp 0x5e9d
movl $0x1, -0x38(%rbp)
testb $0x1, %r13b
movl -0x38(%rbp), %r13d
je 0x5e9d
movq (%r12), %rax
movq 0x48(%rax), %rbx
movq 0x50(%rax), %r15
cmpq %r15, %rbx
je 0x586c
addq $0x60, %rbx
movq %rbx, %rdi
leaq 0x10a7a(%rip), %rsi     # 0x1618a
callq 0x40b0
movl $0x7, %r13d
testl %eax, %eax
je 0x584a
movq %rbx, %rdi
leaq 0x10a4e(%rip), %rsi     # 0x1617b
callq 0x40b0
testl %eax, %eax
je 0x584a
movq %rbx, %rdi
leaq 0x10a3e(%rip), %rsi     # 0x16182
callq 0x40b0
testl %eax, %eax
je 0x584a
movq %rbx, %rdi
leaq 0x10a45(%rip), %rsi     # 0x161a0
callq 0x40b0
testl %eax, %eax
je 0x584a
leaq -0x3c0(%rbp), %rdi
movq %rbx, %rsi
callq 0x156a6
testq %rax, %rax
je 0x578c
movq 0x28(%rax), %rax
movq %rax, 0x20(%rbx)
xorl %r13d, %r13d
jmp 0x584a
movq -0x60(%rbx), %r14
testq %r14, %r14
je 0x57b1
movq %r14, %rdi
callq 0x4140
movq 0x19844(%rip), %rdi     # 0x1efe8
movq %r14, %rsi
movq %rax, %rdx
callq 0x4300
jmp 0x57cf
movq 0x19830(%rip), %rcx     # 0x1efe8
movq (%rcx), %rax
movq -0x18(%rax), %rax
leaq (%rcx,%rax), %rdi
movl 0x20(%rcx,%rax), %esi
orl $0x1, %esi
callq 0x4450
movl $0x1, %edx
movq 0x1980d(%rip), %rdi     # 0x1efe8
leaq 0x10985(%rip), %rsi     # 0x16167
callq 0x4300
movl -0x58(%rbx), %esi
movq 0x197f7(%rip), %rdi     # 0x1efe8
callq 0x4470
movq %rax, %r14
movl $0x2, %edx
movq %rax, %rdi
leaq 0x117a7(%rip), %rsi     # 0x16faf
callq 0x4300
movl $0x15, %edx
movq %r14, %rdi
leaq 0x116f1(%rip), %rsi     # 0x16f0d
callq 0x4300
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r14, %rdi
callq 0x4300
movl $0x1, %r13d
movl $0x2, %edx
movq %rax, %rdi
leaq 0x10cc2(%rip), %rsi     # 0x16507
callq 0x4300
cmpl $0x7, %r13d
je 0x5855
testl %r13d, %r13d
jne 0x5872
leaq 0x88(%rbx), %rax
addq $0x28, %rbx
cmpq %r15, %rbx
movq %rax, %rbx
jne 0x5706
movl $0x6, %r13d
cmpl $0x6, %r13d
jne 0x5e9d
leaq -0x120(%rbp), %rax
movq %rax, -0x150(%rbp)
movq $0x1, -0x148(%rbp)
xorps %xmm0, %xmm0
leaq -0x140(%rbp), %rax
movups %xmm0, (%rax)
movl $0x3f800000, -0x130(%rbp) # imm = 0x3F800000
movups %xmm0, 0x18(%rax)
movq (%r12), %rax
movq 0x48(%rax), %r12
movq 0x50(%rax), %rax
movq %rax, -0x30(%rbp)
cmpq %rax, %r12
je 0x5ad0
leaq -0x88(%rbp), %rax
movq %rax, -0x98(%rbp)
movq 0x18(%r12), %rsi
movq 0x20(%r12), %rdx
addq %rsi, %rdx
leaq -0x98(%rbp), %rbx
movq %rbx, %rdi
callq 0xc92a
movq %r12, -0x78(%rbp)
leaq -0x150(%rbp), %rdi
movq %rbx, %rsi
callq 0x1582a
movq %rax, %r14
movl %edx, %ebx
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x592d
movq -0x88(%rbp), %rsi
incq %rsi
callq 0x4290
movl $0x9, %r13d
testb $0x1, %bl
jne 0x5aba
movq (%r12), %r15
testq %r15, %r15
je 0x5961
movq %r15, %rdi
callq 0x4140
movq 0x19694(%rip), %rdi     # 0x1efe8
movq %r15, %rsi
movq %rax, %rdx
callq 0x4300
jmp 0x597f
movq 0x19680(%rip), %rcx     # 0x1efe8
movq (%rcx), %rax
movq -0x18(%rax), %rax
leaq (%rcx,%rax), %rdi
movl 0x20(%rcx,%rax), %esi
orl $0x1, %esi
callq 0x4450
movl $0x1, %edx
movq 0x1965d(%rip), %rdi     # 0x1efe8
leaq 0x107d5(%rip), %rsi     # 0x16167
callq 0x4300
movl 0x8(%r12), %esi
movq 0x19645(%rip), %rdi     # 0x1efe8
callq 0x4470
movq %rax, %r15
movl $0x2, %edx
movq %rax, %rdi
leaq 0x115f5(%rip), %rsi     # 0x16faf
callq 0x4300
movl $0xa, %edx
movq %r15, %rdi
leaq 0x11555(%rip), %rsi     # 0x16f23
callq 0x4300
movq -0x70(%rbp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rdx
movq %r15, %rdi
callq 0x4300
movq %rax, %r15
movl $0x16, %edx
movq %rax, %rdi
leaq 0x11532(%rip), %rsi     # 0x16f2e
callq 0x4300
movq 0x18(%r12), %rsi
movq 0x20(%r12), %rdx
movq %r15, %rdi
callq 0x4300
movq %rax, %r15
movl $0xf, %edx
movq %rax, %rdi
leaq 0x11520(%rip), %rsi     # 0x16f45
callq 0x4300
movq 0x28(%r14), %r13
movq (%r13), %r14
testq %r14, %r14
je 0x5a4f
movq %r14, %rdi
callq 0x4140
movq %r15, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x4300
jmp 0x5a69
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r15, %rdi
addq %rax, %rdi
movl 0x20(%r15,%rax), %esi
orl $0x1, %esi
callq 0x4450
movl $0x1, %edx
movq %r15, %rdi
leaq 0x106ef(%rip), %rsi     # 0x16167
callq 0x4300
movl 0x8(%r13), %esi
movq %r15, %rdi
callq 0x4470
movq %rax, %r14
movl $0x2, %edx
movq %rax, %rdi
leaq 0x11514(%rip), %rsi     # 0x16faf
callq 0x4300
movl $0x1, %r13d
movl $0xf, %edx
movq %r14, %rdi
leaq 0x114a0(%rip), %rsi     # 0x16f55
callq 0x4300
testb $0x1, %bl
je 0x5ad6
addq $0x88, %r12
cmpq -0x30(%rbp), %r12
jne 0x58c9
movl $0x8, %r13d
cmpl $0x8, %r13d
movq -0x70(%rbp), %r12
jne 0x5e91
movq (%r12), %rax
movq 0x60(%rax), %rcx
movq 0x68(%rax), %rax
movq %rax, -0x1a0(%rbp)
cmpq %rax, %rcx
je 0x5e7e
movq %rcx, -0x198(%rbp)
movq (%rcx), %rax
movq 0x48(%rax), %r13
movq 0x50(%rax), %rax
movq %rax, -0x1b8(%rbp)
cmpq %rax, %r13
je 0x5e57
leaq -0x88(%rbp), %rax
movq %rax, -0x98(%rbp)
movq 0x18(%r13), %rsi
movq 0x20(%r13), %rdx
addq %rsi, %rdx
leaq -0x98(%rbp), %rbx
movq %rbx, %rdi
callq 0xc92a
movq %r13, -0x78(%rbp)
leaq -0x150(%rbp), %rdi
movq %rbx, %rsi
callq 0x1582a
movb %dl, -0x30(%rbp)
movq %rax, %rbx
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x5b85
movq -0x88(%rbp), %rsi
incq %rsi
callq 0x4290
movl $0xd, %r14d
testb $0x1, -0x30(%rbp)
jne 0x5e3d
movq 0x28(%rbx), %rax
movq 0x10(%rax), %rax
movq %rax, -0x1b0(%rbp)
movq (%r12), %rax
movq %rax, -0x38(%rbp)
movq (%rax), %r15
testq %r15, %r15
je 0x5bd0
movq %r15, %rdi
callq 0x4140
movq 0x19425(%rip), %rdi     # 0x1efe8
movq %r15, %rsi
movq %rax, %rdx
callq 0x4300
jmp 0x5bee
movq 0x19411(%rip), %rcx     # 0x1efe8
movq (%rcx), %rax
movq -0x18(%rax), %rax
leaq (%rcx,%rax), %rdi
movl 0x20(%rcx,%rax), %esi
orl $0x1, %esi
callq 0x4450
movl $0x1, %edx
movq 0x193ee(%rip), %rdi     # 0x1efe8
leaq 0x10566(%rip), %rsi     # 0x16167
callq 0x4300
movq -0x38(%rbp), %rax
movl 0x8(%rax), %esi
movq 0x193d4(%rip), %rdi     # 0x1efe8
callq 0x4470
movq %rax, %r15
movl $0x2, %edx
movq %rax, %rdi
leaq 0x11384(%rip), %rsi     # 0x16faf
callq 0x4300
movq (%r12), %rax
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rdx
movq %r15, %rdi
callq 0x4300
movq %rax, %r15
movl $0x19, %edx
movq %rax, %rdi
leaq 0x1130f(%rip), %rsi     # 0x16f65
callq 0x4300
movq 0x18(%r13), %rsi
movq 0x20(%r13), %rdx
movq %r15, %rdi
callq 0x4300
movq %rax, %r15
movl $0x2, %edx
movq %rax, %rdi
leaq 0x1088a(%rip), %rsi     # 0x16507
callq 0x4300
movq 0x28(%rbx), %r14
movq (%r14), %r12
testq %r12, %r12
je 0x5caa
movq %r12, %rdi
callq 0x4140
movq %r15, %rdi
movq %r12, %rsi
movq %rax, %rdx
callq 0x4300
movq -0x70(%rbp), %r12
jmp 0x5cc8
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r15, %rdi
addq %rax, %rdi
movl 0x20(%r15,%rax), %esi
orl $0x1, %esi
callq 0x4450
movq -0x70(%rbp), %r12
movl $0x1, %edx
movq %r15, %rdi
leaq 0x10490(%rip), %rsi     # 0x16167
callq 0x4300
movl 0x8(%r14), %esi
movq %r15, %rdi
callq 0x4470
movq %rax, %r15
movl $0x2, %edx
movq %rax, %rdi
leaq 0x112b5(%rip), %rsi     # 0x16faf
callq 0x4300
movl $0xf, %edx
movq %r15, %rdi
leaq 0x11271(%rip), %rsi     # 0x16f7f
callq 0x4300
xorl %eax, %eax
movq -0x38(%rbp), %rcx
cmpq %rcx, -0x1b0(%rbp)
setne %al
leaq 0x11265(%rip), %rsi     # 0x16f8f
leaq 0x1042a(%rip), %rcx     # 0x1615b
cmoveq %rcx, %rsi
leaq (%rax,%rax,4), %rdx
movq %r15, %rdi
callq 0x4300
movl $0x7, %edx
movq %r15, %rdi
leaq 0x111d6(%rip), %rsi     # 0x16f26
callq 0x4300
movq 0x28(%rbx), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rdx
movq %r15, %rdi
callq 0x4300
movq %rax, %rbx
movl $0x2, %edx
movq %rax, %rdi
leaq 0x10788(%rip), %rsi     # 0x16507
callq 0x4300
movq (%r13), %r15
testq %r15, %r15
je 0x5da5
movq %r15, %rdi
callq 0x4140
movq %rbx, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x4300
jmp 0x5dbe
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq %rbx, %rdi
addq %rax, %rdi
movl 0x20(%rbx,%rax), %esi
orl $0x1, %esi
callq 0x4450
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x1039a(%rip), %rsi     # 0x16167
callq 0x4300
movl 0x8(%r13), %esi
movq %rbx, %rdi
callq 0x4470
movq %rax, %rbx
movl $0x2, %edx
movq %rax, %rdi
leaq 0x111bf(%rip), %rsi     # 0x16faf
callq 0x4300
movl $0x19, %edx
movq %rbx, %rdi
leaq 0x11191(%rip), %rsi     # 0x16f95
callq 0x4300
movq -0x198(%rbp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rsi
movq 0x18(%rax), %rdx
movq %rbx, %rdi
callq 0x4300
movl $0x1, %r14d
movl $0x2, %edx
movq %rax, %rdi
leaq 0x106cf(%rip), %rsi     # 0x16507
callq 0x4300
testb $0x1, -0x30(%rbp)
je 0x5e5d
addq $0x88, %r13
cmpq -0x1b8(%rbp), %r13
jne 0x5b22
movl $0xc, %r14d
movl %r14d, %r13d
cmpl $0xc, %r14d
jne 0x5e84
movq -0x198(%rbp), %rcx
addq $0x8, %rcx
cmpq -0x1a0(%rbp), %rcx
jne 0x5b00
movl $0xa, %r13d
cmpl $0xa, %r13d
movl $0x0, %eax
cmovel %eax, %r13d
leaq -0x150(%rbp), %rdi
callq 0x15c68
testl %r13d, %r13d
jne 0x5eb9
addq $0x8, %r12
cmpq -0x1a8(%rbp), %r12
jne 0x53e5
movl $0x2, %r13d
leaq -0x3c0(%rbp), %rdi
callq 0x15cea
cmpl $0x2, %r13d
je 0x5f10
movq -0xc8(%rbp), %rax
movq $0x0, (%rax)
movq -0x60(%rbp), %rsi
testq %rsi, %rsi
je 0x5eeb
leaq -0x60(%rbp), %rdi
callq 0x15d6c
movq -0xc8(%rbp), %rax
addq $0x398, %rsp            # imm = 0x398
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq -0x3c0(%rbp), %rdi
callq 0x15cea
movq -0x60(%rbp), %rax
movq -0xc8(%rbp), %rcx
movq %rax, (%rcx)
movq $0x0, -0x60(%rbp)
jmp 0x5ed9
leaq 0x197b9(%rip), %rdi     # 0x1f6e8
callq 0x44a0
testl %eax, %eax
je 0x48e7
leaq 0x19785(%rip), %rdi     # 0x1f6c8
leaq 0x10602(%rip), %rsi     # 0x1654c
movl $0x10, %edx
callq 0x6bd6
leaq 0xce7(%rip), %rdi       # 0x6c42
leaq 0x19766(%rip), %rsi     # 0x1f6c8
leaq 0x1933f(%rip), %rdx     # 0x1f2a8
callq 0x4250
leaq 0x19773(%rip), %rdi     # 0x1f6e8
callq 0x41d0
jmp 0x48e7
leaq 0x1978a(%rip), %rdi     # 0x1f710
callq 0x44a0
testl %eax, %eax
je 0x48f5
leaq 0x19756(%rip), %rdi     # 0x1f6f0
leaq 0x105b8(%rip), %rsi     # 0x16559
movl $0x10, %edx
callq 0x6bd6
leaq 0xc90(%rip), %rdi       # 0x6c42
leaq 0x19737(%rip), %rsi     # 0x1f6f0
leaq 0x192e8(%rip), %rdx     # 0x1f2a8
callq 0x4250
leaq 0x19744(%rip), %rdi     # 0x1f710
callq 0x41d0
jmp 0x48f5
leaq 0x1975b(%rip), %rdi     # 0x1f738
callq 0x44a0
testl %eax, %eax
je 0x4903
leaq 0x19727(%rip), %rdi     # 0x1f718
leaq 0x10573(%rip), %rsi     # 0x1656b
movl $0x10, %edx
callq 0x6bd6
leaq 0xc39(%rip), %rdi       # 0x6c42
leaq 0x19708(%rip), %rsi     # 0x1f718
leaq 0x19291(%rip), %rdx     # 0x1f2a8
callq 0x4250
leaq 0x19715(%rip), %rdi     # 0x1f738
callq 0x41d0
jmp 0x4903
movq %rax, %rbx
leaq 0x19701(%rip), %rdi     # 0x1f738
jmp 0x604f
movq %rax, %rbx
leaq 0x196cd(%rip), %rdi     # 0x1f710
jmp 0x604f
movq %rax, %rbx
leaq 0x19699(%rip), %rdi     # 0x1f6e8
callq 0x41c0
jmp 0x625c
jmp 0x61ec
jmp 0x60a4
jmp 0x60a4
movq %rax, %rbx
jmp 0x60dd
movq %rax, %rbx
jmp 0x60ff
jmp 0x61ec
jmp 0x61ec
movq %rax, %rbx
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
cmpq %rax, %rdi
je 0x61ef
movq -0x140(%rbp), %rsi
jmp 0x6114
movq %rax, %rbx
jmp 0x614e
movq %rax, %rbx
leaq -0x150(%rbp), %rdi
callq 0x6ca8
jmp 0x61ef
movq %rax, %rbx
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x60dd
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x4290
movq -0x170(%rbp), %rdi
leaq -0x160(%rbp), %rax
cmpq %rax, %rdi
je 0x60ff
movq -0x160(%rbp), %rsi
incq %rsi
callq 0x4290
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x61ef
movq -0x48(%rbp), %rsi
incq %rsi
jmp 0x61b8
jmp 0x623c
movq %rax, %rbx
jmp 0x625c
movq %rax, %rbx
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
cmpq %rax, %rdi
je 0x614e
movq -0x140(%rbp), %rsi
incq %rsi
callq 0x4290
movl $0x78, %esi
movq %r13, %rdi
jmp 0x61b8
movq %rax, %rbx
jmp 0x622c
jmp 0x623c
movq %rax, %rbx
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
cmpq %rax, %rdi
je 0x6250
movq -0x140(%rbp), %rsi
incq %rsi
callq 0x4290
jmp 0x6250
jmp 0x61c5
jmp 0x6241
jmp 0x623c
movq %rax, %rbx
movq -0x150(%rbp), %rdi
testq %rdi, %rdi
je 0x61ef
movq -0x140(%rbp), %rsi
subq %rdi, %rsi
callq 0x4290
jmp 0x61ef
jmp 0x623c
jmp 0x623c
jmp 0x6241
movq %rax, %rbx
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x6244
movq -0x88(%rbp), %rsi
incq %rsi
callq 0x4290
jmp 0x6244
movq %rax, %rbx
movq -0xc0(%rbp), %rdi
testq %rdi, %rdi
je 0x620a
movq -0xb0(%rbp), %rsi
subq %rdi, %rsi
callq 0x4290
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x622c
movq -0x88(%rbp), %rsi
incq %rsi
callq 0x4290
leaq -0x3c0(%rbp), %rdi
callq 0x4090
jmp 0x625c
jmp 0x6241
movq %rax, %rbx
jmp 0x6250
movq %rax, %rbx
leaq -0x150(%rbp), %rdi
callq 0x15c68
leaq -0x3c0(%rbp), %rdi
callq 0x15cea
movq -0x60(%rbp), %rsi
testq %rsi, %rsi
je 0x626e
leaq -0x60(%rbp), %rdi
callq 0x15d6c
movq %rbx, %rdi
callq 0x4480