// File: /workspace/github_cpp_makefile_star2_O1/tomfunkhouser[P]gaps/apps/scn2cam/scn2cam.cpp
// Function: main
int main(int argc, char **argv)
{
  // Parse program arguments
  if (!ParseArgs(argc, argv)) exit(-1);

  // Read scene
  if (!ReadScene(input_scene_filename)) exit(-1);

  // Read cameras
  if (input_cameras_filename) {
    if (!ReadCameras(input_cameras_filename)) exit(-1);
  }

  // Read categories
  if (input_categories_filename) {
    if (!ReadCategories(input_categories_filename)) exit(-1);
  }

  // Read points
  if (input_points_filename) {
    if (!ReadPoints(input_points_filename)) exit(-1);
  }

  // Create and write new cameras 
  if (mesa) CreateAndWriteCamerasWithMesa();
  else if (glut) CreateAndWriteCamerasWithGlut();
  else CreateAndWriteCameras();

  // Return success 
  return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x118, %rsp            # imm = 0x118
xorl %edx, %edx
movl $0x0, %eax
cmpl $0x2, %edi
jl 0x26de7
movq %rsi, %rbp
movl %edi, %r13d
movq 0x13d306(%rip), %rax    # 0x1638f0
movq %rax, 0x18(%rsp)
movq 0x13d26a(%rip), %r14    # 0x163860
leaq 0xd22db(%rip), %rax     # 0xf88d8
movsd (%rax), %xmm0
movsd 0xcd9ff(%rip), %xmm1    # 0xf4008
mulsd %xmm0, %xmm1
movsd %xmm1, 0x28(%rsp)
divsd 0xcd9f5(%rip), %xmm0    # 0xf4010
movsd %xmm0, 0x20(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x10(%rsp)
leaq 0x8(%rbp), %rbx
leal -0x1(%r13), %r15d
movq 0x8(%rbp), %r12
cmpb $0x2d, (%r12)
jne 0x26a39
movq %r12, %rdi
leaq 0xcdac2(%rip), %rsi     # 0xf4114
callq 0x22ce0
testl %eax, %eax
je 0x26a63
movq %r12, %rdi
leaq 0xcdaae(%rip), %rsi     # 0xf4117
callq 0x22ce0
testl %eax, %eax
je 0x26a7e
movq %r12, %rdi
leaq 0xcda9e(%rip), %rsi     # 0xf411e
callq 0x22ce0
testl %eax, %eax
je 0x26a8a
movq %r12, %rdi
leaq 0xcda8d(%rip), %rsi     # 0xf4124
callq 0x22ce0
testl %eax, %eax
je 0x26a9d
movq %r12, %rdi
leaq 0xcda7c(%rip), %rsi     # 0xf412a
callq 0x22ce0
testl %eax, %eax
je 0x26ab0
movq %r12, %rdi
leaq 0xcda6e(%rip), %rsi     # 0xf4133
callq 0x22ce0
testl %eax, %eax
je 0x26ac3
movq %r12, %rdi
leaq 0xcda5c(%rip), %rsi     # 0xf4138
callq 0x22ce0
testl %eax, %eax
je 0x26ad2
movq %r12, %rdi
leaq 0xcda4a(%rip), %rsi     # 0xf413d
callq 0x22ce0
testl %eax, %eax
je 0x26ae1
movq %r12, %rdi
leaq 0xcda3f(%rip), %rsi     # 0xf4149
callq 0x22ce0
testl %eax, %eax
je 0x26af9
movq %r12, %rdi
leaq 0xcda37(%rip), %rsi     # 0xf4158
callq 0x22ce0
testl %eax, %eax
je 0x26b0e
movq %r12, %rdi
leaq 0xcda2e(%rip), %rsi     # 0xf4166
callq 0x22ce0
testl %eax, %eax
je 0x26b23
movq %r12, %rdi
leaq 0xcda31(%rip), %rsi     # 0xf4180
callq 0x22ce0
testl %eax, %eax
je 0x26b38
movq %r12, %rdi
leaq 0xcda34(%rip), %rsi     # 0xf419a
callq 0x22ce0
testl %eax, %eax
je 0x26b4d
movq %r12, %rdi
leaq 0xcda32(%rip), %rsi     # 0xf41af
callq 0x22ce0
testl %eax, %eax
je 0x26b62
movq %r12, %rdi
leaq 0xcda29(%rip), %rsi     # 0xf41bd
callq 0x22ce0
testl %eax, %eax
je 0x26b98
movq %r12, %rdi
leaq 0xcda31(%rip), %rsi     # 0xf41dc
callq 0x22ce0
testl %eax, %eax
je 0x26ba1
movq %r12, %rdi
leaq 0xcda21(%rip), %rsi     # 0xf41e3
callq 0x22ce0
testl %eax, %eax
je 0x26bba
movq %r12, %rdi
leaq 0xcda12(%rip), %rsi     # 0xf41eb
callq 0x22ce0
testl %eax, %eax
je 0x26bd3
movq %r12, %rdi
leaq 0xcda01(%rip), %rsi     # 0xf41f1
callq 0x22ce0
testl %eax, %eax
je 0x26bee
movq %r12, %rdi
leaq 0xcd9f6(%rip), %rsi     # 0xf41fd
callq 0x22ce0
testl %eax, %eax
je 0x26c0c
movq %r12, %rdi
leaq 0xcd9f2(%rip), %rsi     # 0xf4210
callq 0x22ce0
testl %eax, %eax
je 0x26c2a
movq %r12, %rdi
leaq 0xcd9f7(%rip), %rsi     # 0xf422c
callq 0x22ce0
testl %eax, %eax
je 0x26c48
movq %r12, %rdi
leaq 0xcd9fa(%rip), %rsi     # 0xf4246
callq 0x22ce0
testl %eax, %eax
je 0x26c66
movq %r12, %rdi
leaq 0xcd9f9(%rip), %rsi     # 0xf425c
callq 0x22ce0
testl %eax, %eax
je 0x26c84
movq %r12, %rdi
leaq 0xcd9f8(%rip), %rsi     # 0xf4272
callq 0x22ce0
testl %eax, %eax
je 0x26ca2
movq %r12, %rdi
leaq 0xcd9f6(%rip), %rsi     # 0xf4287
callq 0x22ce0
testl %eax, %eax
je 0x26cc4
movq %r12, %rdi
leaq 0xcd9ea(%rip), %rsi     # 0xf4292
callq 0x22ce0
testl %eax, %eax
je 0x26cef
movq %r12, %rdi
leaq 0xcd9e6(%rip), %rsi     # 0xf42a5
callq 0x22ce0
testl %eax, %eax
je 0x26ce2
movq %r12, %rdi
leaq 0xcd9e5(%rip), %rsi     # 0xf42bb
callq 0x22ce0
testl %eax, %eax
je 0x26ce2
movq %r12, %rdi
leaq 0xcd9e5(%rip), %rsi     # 0xf42d2
callq 0x22ce0
testl %eax, %eax
je 0x26d0b
movq %r12, %rdi
leaq 0xcd9e1(%rip), %rsi     # 0xf42e5
callq 0x22ce0
testl %eax, %eax
je 0x26d29
movq %r12, %rdi
leaq 0xcd9da(%rip), %rsi     # 0xf42f5
callq 0x22ce0
testl %eax, %eax
je 0x26d5e
movq %r12, %rdi
leaq 0xcd9d7(%rip), %rsi     # 0xf4309
callq 0x22ce0
testl %eax, %eax
je 0x26d47
movq %r12, %rdi
leaq 0xcd9d7(%rip), %rsi     # 0xf4320
callq 0x22ce0
testl %eax, %eax
je 0x26d47
movq %r12, %rdi
leaq 0xcd9da(%rip), %rsi     # 0xf433a
callq 0x22ce0
testl %eax, %eax
je 0x26d7c
movq %r12, %rdi
leaq 0xcd9d9(%rip), %rsi     # 0xf4350
callq 0x22ce0
testl %eax, %eax
je 0x26d7c
movq %r12, %rdi
leaq 0xcd9df(%rip), %rsi     # 0xf436d
callq 0x22ce0
movl $0x1, 0x10(%rsp)
testl %eax, %eax
je 0x26b83
movq %r12, %rdi
leaq 0xcd9d7(%rip), %rsi     # 0xf4384
callq 0x22ce0
testl %eax, %eax
je 0x26d90
movq %r12, %rdi
leaq 0xcd9d9(%rip), %rsi     # 0xf439d
callq 0x22ce0
testl %eax, %eax
je 0x26d99
movq %r12, %rdi
leaq 0xcd9da(%rip), %rsi     # 0xf43b5
callq 0x22ce0
testl %eax, %eax
je 0x26da5
movq %r12, %rdi
leaq 0xcd9d8(%rip), %rsi     # 0xf43ca
callq 0x22ce0
testl %eax, %eax
je 0x26dbf
movq %r12, %rdi
leaq 0xcd9de(%rip), %rsi     # 0xf43e7
callq 0x22ce0
testl %eax, %eax
je 0x26dcb
movq %r12, %rdi
leaq 0xcd9e5(%rip), %rsi     # 0xf4405
callq 0x22ce0
testl %eax, %eax
jne 0x275a7
movb $0x1, 0x13ceb8(%rip)    # 0x1638ec
jmp 0x26b83
testq %r14, %r14
je 0x26a6f
cmpq $0x0, 0x18(%rsp)
jne 0x2754d
movq %r12, 0x13ce9f(%rip)    # 0x1638f0
movl $0x1, 0x8(%rsp)
movq %r12, 0x18(%rsp)
jmp 0x26b83
movb $0x1, 0x13ce1e(%rip)    # 0x163888
jmp 0x26b83
movq %r12, 0x13cdea(%rip)    # 0x163860
movq %r12, %r14
jmp 0x26b83
movb $0x1, 0x13ce07(%rip)    # 0x16388c
jmp 0x26b83
xorl %eax, %eax
movb %al, 0x13cdee(%rip)     # 0x163880
movb %al, 0x13cdec(%rip)     # 0x163884
jmp 0x26b83
movb $0x1, %al
movb %al, 0x13cddb(%rip)     # 0x163880
movb %al, 0x13cdd9(%rip)     # 0x163884
jmp 0x26b83
movb $0x0, 0x13cdc9(%rip)    # 0x163880
movb $0x1, 0x13cdc6(%rip)    # 0x163884
jmp 0x26b83
movl $0x1, 0x137eb3(%rip)    # 0x15e980
jmp 0x26b83
movl $0x2, 0x137ea4(%rip)    # 0x15e980
jmp 0x26b83
addl $-0x2, %r13d
movq 0x10(%rbp), %rax
addq $0x10, %rbp
movq %rax, 0x13cd7c(%rip)    # 0x163870
jmp 0x26b7d
addl $-0x2, %r13d
movq 0x10(%rbp), %rax
addq $0x10, %rbp
movq %rax, 0x13cd5c(%rip)    # 0x163868
jmp 0x26b7d
addl $-0x2, %r13d
movq 0x10(%rbp), %rax
addq $0x10, %rbp
movq %rax, 0x13cd57(%rip)    # 0x163878
jmp 0x26b7d
addl $-0x2, %r13d
movq 0x10(%rbp), %rax
addq $0x10, %rbp
movq %rax, 0x13cd5a(%rip)    # 0x163890
jmp 0x26b75
addl $-0x2, %r13d
movq 0x10(%rbp), %rax
addq $0x10, %rbp
movq %rax, 0x13cd4d(%rip)    # 0x163898
jmp 0x26b75
addl $-0x2, %r13d
movq 0x10(%rbp), %rax
addq $0x10, %rbp
movq %rax, 0x13cd40(%rip)    # 0x1638a0
jmp 0x26b75
addl $-0x2, %r13d
movq 0x10(%rbp), %rax
addq $0x10, %rbp
movq %rax, 0x13cd33(%rip)    # 0x1638a8
movl $0x1, 0x8(%rsp)
movl %r13d, %r15d
movq %rbp, %rbx
movq %rbx, %rbp
movl %r15d, %r13d
cmpl $0x1, %r15d
jg 0x26631
jmp 0x26dd7
movb $0x1, 0x13cd11(%rip)    # 0x1638b0
jmp 0x26b83
addl $-0x2, %r13d
movq 0x10(%rbp), %rdi
addq $0x10, %rbp
callq 0x22ed0
movl %eax, 0x137dcc(%rip)    # 0x15e984
jmp 0x26b7d
addl $-0x2, %r13d
movq 0x10(%rbp), %rdi
addq $0x10, %rbp
callq 0x22ed0
movl %eax, 0x137db7(%rip)    # 0x15e988
jmp 0x26b7d
addl $-0x2, %r13d
movq 0x10(%rbp), %rdi
addq $0x10, %rbp
callq 0x22b60
movsd %xmm0, 0x137da4(%rip)   # 0x15e990
jmp 0x26b7d
addl $-0x2, %r13d
movq 0x10(%rbp), %rdi
addq $0x10, %rbp
callq 0x22b60
movsd %xmm0, 0x137d91(%rip)   # 0x15e998
jmp 0x26b7d
addl $-0x2, %r13d
movq 0x10(%rbp), %rdi
addq $0x10, %rbp
callq 0x22b60
movsd %xmm0, 0x137d7b(%rip)   # 0x15e9a0
jmp 0x26b7d
addl $-0x2, %r13d
movq 0x10(%rbp), %rdi
addq $0x10, %rbp
callq 0x22b60
movsd %xmm0, 0x13cc75(%rip)   # 0x1638b8
jmp 0x26b7d
addl $-0x2, %r13d
movq 0x10(%rbp), %rdi
addq $0x10, %rbp
callq 0x22b60
movsd %xmm0, 0x137d47(%rip)   # 0x15e9a8
jmp 0x26b7d
addl $-0x2, %r13d
movq 0x10(%rbp), %rdi
addq $0x10, %rbp
callq 0x22b60
movsd %xmm0, 0x137d31(%rip)   # 0x15e9b0
jmp 0x26b7d
addl $-0x2, %r13d
movq 0x10(%rbp), %rdi
addq $0x10, %rbp
callq 0x22b60
movsd %xmm0, 0x137d1b(%rip)   # 0x15e9b8
jmp 0x26b7d
addl $-0x2, %r13d
movq 0x10(%rbp), %rdi
addq $0x10, %rbp
callq 0x22ed0
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x137d01(%rip)   # 0x15e9c0
jmp 0x26b7d
addl $-0x2, %r13d
movq 0x10(%rbp), %rdi
addq $0x10, %rbp
callq 0x22b60
movsd %xmm0, 0x13cbe3(%rip)   # 0x1638c0
jmp 0x26b7d
addl $-0x2, %r13d
addq $0x10, %rbp
jmp 0x26b7d
addl $-0x2, %r13d
movq 0x10(%rbp), %rdi
addq $0x10, %rbp
callq 0x22ed0
movl %eax, 0x137c7a(%rip)    # 0x15e980
jmp 0x26b7d
addl $-0x2, %r13d
movq 0x10(%rbp), %rdi
addq $0x10, %rbp
callq 0x22b60
movsd %xmm0, 0x137ca4(%rip)   # 0x15e9c8
jmp 0x26b7d
addl $-0x2, %r13d
movq 0x10(%rbp), %rdi
addq $0x10, %rbp
callq 0x22b60
movsd %xmm0, 0x13cb86(%rip)   # 0x1638c8
jmp 0x26b7d
movb $0x1, 0x13cb82(%rip)    # 0x1638d0
movsd 0x20(%rsp), %xmm0
movsd %xmm0, 0x13cb6c(%rip)   # 0x1638c8
jmp 0x26d83
addl $-0x2, %r13d
movq 0x10(%rbp), %rdi
addq $0x10, %rbp
callq 0x22b60
movsd %xmm0, 0x137c59(%rip)   # 0x15e9d0
jmp 0x26b7d
movb $0x1, 0x13cb51(%rip)    # 0x1638d4
movl $0x1, 0x10(%rsp)
jmp 0x26b83
movb $0x1, 0x13cb41(%rip)    # 0x1638d8
jmp 0x26dac
movb $0x1, 0x13cb3c(%rip)    # 0x1638dc
jmp 0x26b83
movb $0x1, 0x13cb34(%rip)    # 0x1638e0
movsd 0x28(%rsp), %xmm0
movsd %xmm0, 0x13cb0e(%rip)   # 0x1638c8
jmp 0x26b83
movb $0x1, 0x13cb1e(%rip)    # 0x1638e4
jmp 0x26b83
movb $0x1, 0x13cb16(%rip)    # 0x1638e8
jmp 0x26b83
cmpl $0x0, 0x10(%rsp)
setne %dl
cmpl $0x0, 0x8(%rsp)
setne %al
cmpq $0x0, 0x13ca79(%rip)    # 0x163868
setne %cl
orb %dl, %cl
testb $0x1, %cl
jne 0x26e00
movb $0x1, 0x13cae0(%rip)    # 0x1638e0
cmpq $0x0, 0x13ca58(%rip)    # 0x163860
setne %cl
testb %al, %cl
je 0x2756a
movq 0x13ca46(%rip), %rbx    # 0x163860
leaq 0x38(%rsp), %r14
movq %r14, %rdi
callq 0x9f834
movq %r14, %rdi
xorl %esi, %esi
callq 0x22fa0
movl $0x160, %edi            # imm = 0x160
callq 0x22890
movq %rax, %r14
movq %rax, %rdi
callq 0x2e0ac
movq %r14, 0x13caab(%rip)    # 0x1638f8
movq %r14, %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0x2f43a
movq 0x13ca97(%rip), %r14    # 0x1638f8
testl %eax, %eax
je 0x2757a
movq %r14, %rdi
callq 0x2e914
movq 0x13ca80(%rip), %rdi    # 0x1638f8
callq 0x2eb68
cmpb $0x1, 0x13ca04(%rip)    # 0x163888
jne 0x26f52
leaq 0xcd5d8(%rip), %rdi     # 0xf4469
movq %rbx, %rsi
xorl %eax, %eax
callq 0x22080
leaq 0x38(%rsp), %rdi
callq 0x9f896
leaq 0xcd5d5(%rip), %rdi     # 0xf4481
movb $0x1, %al
callq 0x22080
movq 0x13ca3e(%rip), %rax    # 0x1638f8
movl 0x14(%rax), %esi
leaq 0xcd5d4(%rip), %rdi     # 0xf4498
xorl %eax, %eax
callq 0x22080
movq 0x13ca26(%rip), %rax    # 0x1638f8
movl 0x24(%rax), %esi
leaq 0xcd5cc(%rip), %rdi     # 0xf44a8
xorl %eax, %eax
callq 0x22080
movq 0x13ca0e(%rip), %rax    # 0x1638f8
movl 0x34(%rax), %esi
leaq 0xcd5c5(%rip), %rdi     # 0xf44b9
xorl %eax, %eax
callq 0x22080
movq 0x13c9f6(%rip), %rax    # 0x1638f8
movl 0x44(%rax), %esi
leaq 0xcd5c1(%rip), %rdi     # 0xf44cd
xorl %eax, %eax
callq 0x22080
movq 0x13c9de(%rip), %rax    # 0x1638f8
movl 0x54(%rax), %esi
leaq 0xcd5b9(%rip), %rdi     # 0xf44dd
xorl %eax, %eax
callq 0x22080
movq 0x13c9c6(%rip), %rax    # 0x1638f8
movl 0x64(%rax), %esi
leaq 0xcd5b4(%rip), %rdi     # 0xf44f0
xorl %eax, %eax
callq 0x22080
movq 0x136fd6(%rip), %rax    # 0x15df20
movq (%rax), %rdi
callq 0x22a70
cmpq $0x0, 0x13c99e(%rip)    # 0x1638f8
je 0x27594
movq 0x13c901(%rip), %r14    # 0x163868
testq %r14, %r14
je 0x2731a
leaq 0xa8(%rsp), %rbx
movq %rbx, %rdi
callq 0x9f834
xorl %r15d, %r15d
movq %rbx, %rdi
xorl %esi, %esi
callq 0x22fa0
movq 0x13c964(%rip), %rax    # 0x1638f8
movq (%rax), %rdi
callq 0x4233c
movq %rax, %rdi
callq 0x75f00
movsd %xmm0, 0x8(%rsp)
movq 0x13c947(%rip), %rax    # 0x1638f8
movq (%rax), %rdi
callq 0x4233c
movq %rax, %rdi
callq 0x75f00
movsd %xmm0, 0x10(%rsp)
xorps %xmm0, %xmm0
cvtsi2sdl 0x1379b6(%rip), %xmm0 # 0x15e988
movsd %xmm0, 0x20(%rsp)
xorps %xmm0, %xmm0
cvtsi2sdl 0x1379a1(%rip), %xmm0 # 0x15e984
movsd %xmm0, 0x18(%rsp)
leaq 0xd4ab3(%rip), %rsi     # 0xfbaa3
movq %r14, %rdi
callq 0x22a80
movq %rax, %r12
testq %rax, %rax
je 0x27300
movq %r14, 0x28(%rsp)
leaq 0x50(%rsp), %r10
leaq 0x58(%rsp), %r11
leaq 0x30(%rsp), %rbx
leaq 0x60(%rsp), %r14
leaq 0x68(%rsp), %r13
leaq 0x70(%rsp), %rbp
leaq 0xcddde(%rip), %rsi     # 0xf4e0c
leaq 0xa0(%rsp), %rdx
leaq 0x98(%rsp), %rcx
leaq 0x90(%rsp), %r8
leaq 0x88(%rsp), %r9
movq %r12, %rdi
movl $0x0, %eax
pushq %r10
pushq %r11
pushq %rbx
pushq %r14
pushq %r13
pushq %rbp
leaq 0xa8(%rsp), %r10
pushq %r10
leaq 0xb8(%rsp), %r10
pushq %r10
callq 0x23160
addq $0x40, %rsp
cmpl $0xc, %eax
jne 0x2729f
movsd 0xccf7a(%rip), %xmm0    # 0xf4008
movsd 0x8(%rsp), %xmm1
mulsd %xmm0, %xmm1
mulsd 0xccf78(%rip), %xmm1    # 0xf4018
movsd %xmm1, 0x8(%rsp)
movsd 0x10(%rsp), %xmm1
mulsd %xmm0, %xmm1
mulsd 0xccf68(%rip), %xmm1    # 0xf4020
movsd %xmm1, 0x10(%rsp)
movsd 0x20(%rsp), %xmm0
divsd 0x18(%rsp), %xmm0
movsd %xmm0, 0x20(%rsp)
xorl %r15d, %r15d
movq %r12, %rbx
movsd 0xa0(%rsp), %xmm0
movsd 0x98(%rsp), %xmm1
movsd 0x90(%rsp), %xmm2
leaq 0x38(%rsp), %rdi
callq 0x7e04e
movsd 0x88(%rsp), %xmm0
movsd 0x80(%rsp), %xmm1
movsd 0x78(%rsp), %xmm2
leaq 0xb8(%rsp), %rbp
movq %rbp, %rdi
callq 0x7eae6
movsd 0x70(%rsp), %xmm0
movsd 0x68(%rsp), %xmm1
movsd 0x60(%rsp), %xmm2
leaq 0x100(%rsp), %r14
movq %r14, %rdi
callq 0x7eae6
leaq 0xe8(%rsp), %r12
movq %r12, %rdi
movq %rbp, %rsi
movq %r14, %rdx
callq 0x7f43a
movq %rbp, %rdi
callq 0x7ee08
leaq 0xd0(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
movq %rbp, %rdx
callq 0x7f43a
movq %r14, %rdi
movq %r13, %rsi
callq 0x7f292
movq %r14, %rdi
callq 0x7ee08
movsd 0x30(%rsp), %xmm0
callq 0x22490
mulsd 0x20(%rsp), %xmm0
callq 0x22700
movsd %xmm0, 0x18(%rsp)
movsd %xmm0, 0x58(%rsp)
movl $0x98, %edi
callq 0x22890
movq %rax, %r12
movsd 0x30(%rsp), %xmm0
movq %rax, %rdi
leaq 0x38(%rsp), %rsi
movq %rbp, %rdx
movq %r14, %rcx
movsd 0x18(%rsp), %xmm1
movsd 0x8(%rsp), %xmm2
movsd 0x10(%rsp), %xmm3
callq 0x45894
movq $0x0, 0x90(%r12)
movsd 0x50(%rsp), %xmm0
movsd %xmm0, 0x80(%r12)
movl 0x13c654(%rip), %edx    # 0x16385c
leaq 0x13c641(%rip), %rdi    # 0x163850
movq %r12, %rsi
callq 0x9fe66
incl %r15d
movq %rbx, %r12
movq %rbx, %rdi
leaq 0xcdbe5(%rip), %rsi     # 0xf4e0c
leaq 0xa0(%rsp), %rdx
leaq 0x98(%rsp), %rcx
leaq 0x90(%rsp), %r8
leaq 0x88(%rsp), %r9
xorl %eax, %eax
leaq 0x50(%rsp), %r10
pushq %r10
leaq 0x60(%rsp), %r10
pushq %r10
leaq 0x40(%rsp), %r10
pushq %r10
leaq 0x78(%rsp), %r10
pushq %r10
leaq 0x88(%rsp), %r10
pushq %r10
leaq 0x98(%rsp), %r10
pushq %r10
leaq 0xa8(%rsp), %r10
pushq %r10
leaq 0xb8(%rsp), %r10
pushq %r10
callq 0x23160
addq $0x40, %rsp
cmpl $0xc, %eax
je 0x270d3
movq %r12, %rdi
callq 0x22880
cmpb $0x1, 0x13c5da(%rip)    # 0x163888
jne 0x27311
leaq 0xcd275(%rip), %rdi     # 0xf452c
movq 0x28(%rsp), %rsi
xorl %eax, %eax
callq 0x22080
leaq 0xa8(%rsp), %rdi
callq 0x9f896
leaq 0xcd1aa(%rip), %rdi     # 0xf4481
movb $0x1, %al
callq 0x22080
leaq 0xcd261(%rip), %rdi     # 0xf4546
movl %r15d, %esi
xorl %eax, %eax
callq 0x22080
movq 0x136c2a(%rip), %rax    # 0x15df20
movq (%rax), %rdi
callq 0x22a70
jmp 0x27311
leaq 0xcd205(%rip), %rdi     # 0xf450c
movq %r14, %rsi
xorl %eax, %eax
callq 0xa2c4e
testq %r12, %r12
je 0x27598
movq 0x13c54f(%rip), %r14    # 0x163870
testq %r14, %r14
je 0x2739f
leaq 0x38(%rsp), %rbx
movq %rbx, %rdi
callq 0x9f834
movq %rbx, %rdi
xorl %esi, %esi
callq 0x22fa0
movq 0x13c5b4(%rip), %rdi    # 0x1638f8
movq %r14, %rsi
callq 0x3c570
testl %eax, %eax
je 0x27568
movl %eax, %ebx
cmpb $0x1, 0x13c52b(%rip)    # 0x163888
jne 0x27397
leaq 0xcd1f2(%rip), %rdi     # 0xf4558
movq %r14, %rsi
xorl %eax, %eax
callq 0x22080
leaq 0x38(%rsp), %rdi
callq 0x9f896
leaq 0xcd100(%rip), %rdi     # 0xf4481
movb $0x1, %al
callq 0x22080
movq 0x136b91(%rip), %rax    # 0x15df20
movq (%rax), %rdi
callq 0x22a70
testl %ebx, %ebx
je 0x27568
movq 0x13c4d2(%rip), %r14    # 0x163878
testq %r14, %r14
je 0x2749a
leaq 0x38(%rsp), %rbx
movq %rbx, %rdi
callq 0x9f834
movq %rbx, %rdi
xorl %esi, %esi
callq 0x22fa0
movl $0x150, %edi            # imm = 0x150
callq 0x22890
movq %rax, %r15
movq %rax, %rdi
callq 0x7f914
movq %r15, 0x13c51e(%rip)    # 0x163900
movq %r15, %rdi
movq %r14, %rsi
callq 0x80e0c
movl %eax, %ebx
testl %eax, %eax
je 0x27460
cmpb $0x1, 0x13c48e(%rip)    # 0x163888
jne 0x27492
leaq 0xcd18d(%rip), %rdi     # 0xf4594
movq %r14, %rsi
xorl %eax, %eax
callq 0x22080
leaq 0x38(%rsp), %rdi
callq 0x9f896
leaq 0xcd05f(%rip), %rdi     # 0xf4481
movb $0x1, %al
callq 0x22080
movq 0x13c4d0(%rip), %rax    # 0x163900
movq 0x8(%rax), %rcx
subq (%rax), %rcx
shrq $0x3, %rcx
imull $0xaaaaaaab, %ecx, %esi # imm = 0xAAAAAAAB
leaq 0xcd165(%rip), %rdi     # 0xf45ad
xorl %eax, %eax
callq 0x22080
movq 0x136aca(%rip), %rax    # 0x15df20
movq (%rax), %rdi
callq 0x22a70
jmp 0x27492
leaq 0xcd10e(%rip), %rdi     # 0xf4575
movq %r14, %rsi
xorl %eax, %eax
callq 0xa2c4e
movq 0x13c488(%rip), %r14    # 0x163900
testq %r14, %r14
je 0x27492
movq %r14, %rdi
callq 0x7fa94
movl $0x150, %esi            # imm = 0x150
movq %r14, %rdi
callq 0x228b0
testl %ebx, %ebx
je 0x27596
cmpb $0x1, 0x13c3df(%rip)    # 0x163880
jne 0x274b6
leaq 0xcd114(%rip), %rdi     # 0xf45be
xorl %eax, %eax
callq 0xa2b72
jmp 0x27539
cmpb $0x0, 0x13c3c7(%rip)    # 0x163884
jne 0x275a2
leaq 0xb8(%rsp), %rbx
movl $0x1, (%rbx)
leaq 0xcd126(%rip), %rdi     # 0xf45fe
callq 0xa2aab
leaq 0x38(%rsp), %rsi
movq %rax, (%rsi)
movq %rbx, %rdi
callq 0xe769f
movl $0x64, %edi
movl $0x64, %esi
callq 0xe7bec
movl 0x137482(%rip), %edi    # 0x15e984
movl 0x137480(%rip), %esi    # 0x15e988
callq 0xe7c02
movl $0x10, %edi
callq 0xe7c21
leaq 0xcd0e8(%rip), %rdi     # 0xf4606
callq 0xecbec
callq 0x9f91c
leaq 0xac(%rip), %rdi        # 0x275db
callq 0xe6224
callq 0xe9cb7
xorl %eax, %eax
addq $0x118, %rsp            # imm = 0x118
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xccec8(%rip), %rdi     # 0xf441c
movq %r12, %rsi
xorl %eax, %eax
callq 0xa2c4e
movl $0x1, %edi
callq 0x22ad0
jmp 0x27598
leaq 0xccec8(%rip), %rdi     # 0xf4439
xorl %eax, %eax
callq 0xa2c4e
jmp 0x27598
testq %r14, %r14
je 0x27594
movq %r14, %rdi
callq 0x2e280
movl $0x160, %esi            # imm = 0x160
movq %r14, %rdi
callq 0x228b0
jmp 0x27598
jmp 0x27598
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x22ad0
callq 0x275db
jmp 0x2754d
movq %rax, %rbx
movl $0x150, %esi            # imm = 0x150
movq %r15, %rdi
jmp 0x275ce
movq %rax, %rbx
movl $0x160, %esi            # imm = 0x160
movq %r14, %rdi
jmp 0x275ce
movq %rax, %rbx
movl $0x98, %esi
movq %r12, %rdi
callq 0x228b0
movq %rbx, %rdi
callq 0x230a0