// File: /workspace/github_cpp_makefile_star2_O3/alan0201tw[P]RayTracer/include/stb_image.h
// Function: stbi__load_main(stbi__context*, int*, int*, int*, int, stbi__result_info*, int)
static void *stbi__load_main(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc)
{
   memset(ri, 0, sizeof(*ri)); // make sure it's initialized if we add new fields
   ri->bits_per_channel = 8; // default is 8 so most paths don't have to be changed
   ri->channel_order = STBI_ORDER_RGB; // all current input & output are this, but this is here so we can add BGR order
   ri->num_channels = 0;

   #ifndef STBI_NO_JPEG
   if (stbi__jpeg_test(s)) return stbi__jpeg_load(s,x,y,comp,req_comp, ri);
   #endif
   #ifndef STBI_NO_PNG
   if (stbi__png_test(s))  return stbi__png_load(s,x,y,comp,req_comp, ri);
   #endif
   #ifndef STBI_NO_BMP
   if (stbi__bmp_test(s))  return stbi__bmp_load(s,x,y,comp,req_comp, ri);
   #endif
   #ifndef STBI_NO_GIF
   if (stbi__gif_test(s))  return stbi__gif_load(s,x,y,comp,req_comp, ri);
   #endif
   #ifndef STBI_NO_PSD
   if (stbi__psd_test(s))  return stbi__psd_load(s,x,y,comp,req_comp, ri, bpc);
   #endif
   #ifndef STBI_NO_PIC
   if (stbi__pic_test(s))  return stbi__pic_load(s,x,y,comp,req_comp, ri);
   #endif
   #ifndef STBI_NO_PNM
   if (stbi__pnm_test(s))  return stbi__pnm_load(s,x,y,comp,req_comp, ri);
   #endif

   #ifndef STBI_NO_HDR
   if (stbi__hdr_test(s)) {
      float *hdr = stbi__hdr_load(s, x,y,comp,req_comp, ri);
      return stbi__hdr_to_ldr(hdr, *x, *y, req_comp ? req_comp : *comp);
   }
   #endif

   #ifndef STBI_NO_TGA
   // test tga last because it's a crappy test!
   if (stbi__tga_test(s))
      return stbi__tga_load(s,x,y,comp,req_comp, ri);
   #endif

   return stbi__errpuc("unknown image type", "Image not of any known type, or corrupt");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x8968, %rsp           # imm = 0x8968
movl %r8d, 0x30(%rsp)
movq %rcx, 0x88(%rsp)
movq %rdx, 0xa0(%rsp)
movq %rsi, 0x98(%rsp)
movq %rdi, %rbx
movq $0x8, (%r9)
movq %r9, 0x18(%rsp)
movl $0x0, 0x8(%r9)
movl $0x4888, %edi           # imm = 0x4888
callq 0x64c0
movq %rax, %r15
movq %rbx, 0x8(%rsp)
movq %rbx, (%rax)
leaq 0x7806(%rip), %r12      # 0x30059
movq %r12, 0x4870(%rax)
leaq 0x7f61(%rip), %r13      # 0x307c2
movq %r13, 0x4878(%rax)
leaq 0x8153(%rip), %r14      # 0x309c2
movq %r14, 0x4880(%rax)
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
movq %rax, 0x4848(%r15)
movb $-0x1, 0x4828(%r15)
movq %r15, %rdi
callq 0x30b5b
movl %eax, %ebp
cmpb $-0x28, %al
je 0x288ab
leaq 0x16ff0(%rip), %rax     # 0x3f894
movq %rax, 0x26c1d(%rip)     # 0x4f4c8
movq 0x8(%rsp), %rbx
movdqu 0xc8(%rbx), %xmm0
movdqu %xmm0, 0xb8(%rbx)
movq %r15, %rdi
callq 0x6490
cmpb $-0x28, %bpl
jne 0x28918
movl $0x4888, %edi           # imm = 0x4888
callq 0x64c0
movq %rax, %rbp
movq %rbx, (%rax)
movq %r12, 0x4870(%rax)
movq %r13, 0x4878(%rax)
movq %r14, 0x4880(%rax)
movl $0x0, 0x8(%rbx)
movl 0x30(%rsp), %r12d
cmpl $0x5, %r12d
jb 0x2896f
leaq 0x17089(%rip), %rax     # 0x3f995
movq %rax, 0x26bb5(%rip)     # 0x4f4c8
jmp 0x2a6b2
movq %rbx, %rdi
callq 0x32dd5
movq 0xc8(%rbx), %rdx
movq 0xd0(%rbx), %rcx
movq %rdx, 0xb8(%rbx)
movq %rcx, 0xc0(%rbx)
testl %eax, %eax
je 0x29eb8
movq %rbx, 0xf0(%rsp)
movl 0x30(%rsp), %ebp
cmpl $0x5, %ebp
jb 0x29ed4
leaq 0x17035(%rip), %rax     # 0x3f995
movq %rax, 0x26b61(%rip)     # 0x4f4c8
xorl %r14d, %r14d
jmp 0x2a6bd
pxor %xmm0, %xmm0
movdqu %xmm0, 0x46d8(%rbp)
movdqu %xmm0, 0x4738(%rbp)
movdqu %xmm0, 0x4798(%rbp)
movdqu %xmm0, 0x47f8(%rbp)
movl $0x0, 0x4868(%rbp)
movq %rbp, 0x8(%rsp)
movq %rbp, %rdi
xorl %esi, %esi
callq 0x2ff46
testl %eax, %eax
je 0x2a69e
movq 0x8(%rsp), %r13
leaq 0x46a0(%r13), %rax
movq %rax, 0x10(%rsp)
movq %r13, %rdi
callq 0x30b5b
leaq 0x8(%r13), %rcx
movq %rcx, 0x20(%rsp)
leaq 0x1a48(%r13), %rcx
movq %rcx, 0x40(%rsp)
leaq 0x3688(%r13), %rcx
movq %rcx, 0x68(%rsp)
leaq 0x3488(%r13), %rcx
movq %rcx, 0x18(%rsp)
leaq 0x20b8(%r13), %rcx
movq %rcx, 0x78(%rsp)
cmpb $-0x26, %al
je 0x28a6b
movzbl %al, %esi
cmpl $0xdc, %esi
je 0x28a32
cmpl $0xd9, %esi
je 0x2a44b
movq %r13, %rdi
callq 0x30c74
testl %eax, %eax
jne 0x28a5c
jmp 0x2a69e
movq (%r13), %rdi
callq 0x31b23
movl %eax, %ebx
movq (%r13), %rdi
callq 0x31b23
cmpl $0x4, %ebx
jne 0x2a589
movq (%r13), %rcx
cmpl 0x4(%rcx), %eax
jne 0x2a595
movq 0x8(%rsp), %r13
movq %r13, %rdi
callq 0x30b5b
jmp 0x28a06
movq (%r13), %rdi
callq 0x31b23
movl %eax, %ebx
movq (%r13), %r14
movq 0xb8(%r14), %rax
cmpq 0xc0(%r14), %rax
jae 0x28a9e
leaq 0x1(%rax), %rcx
movq %rcx, 0xb8(%r14)
movb (%rax), %al
movq 0x10(%rsp), %rdi
jmp 0x28af5
cmpl $0x0, 0x30(%r14)
je 0x2a685
movq 0x28(%r14), %rdi
leaq 0x38(%r14), %r15
movl 0x34(%r14), %edx
movq %r15, %rsi
callq *0x10(%r14)
testl %eax, %eax
je 0x28acb
movslq %eax, %rcx
addq %r15, %rcx
movb (%r15), %al
jmp 0x28ade
movl $0x0, 0x30(%r14)
leaq 0x39(%r14), %rcx
movb $0x0, 0x38(%r14)
xorl %eax, %eax
movq 0x10(%rsp), %rdi
movq %rcx, 0xc0(%r14)
leaq 0x39(%r14), %rcx
movq %rcx, 0xb8(%r14)
movzbl %al, %eax
movl %eax, 0x4854(%r13)
leal -0x5(%rax), %ecx
cmpb $-0x4, %cl
jb 0x2a690
movq (%r13), %r15
cmpl %eax, 0x8(%r15)
jl 0x2a690
leal 0x6(,%rax,2), %eax
cmpl %eax, %ebx
jne 0x2a5a1
xorl %r13d, %r13d
movq 0xb8(%r15), %rax
movq 0xc0(%r15), %rcx
cmpq %rcx, %rax
jae 0x28b51
leaq 0x1(%rax), %rdx
movq %rdx, 0xb8(%r15)
movb (%rax), %bpl
movq %rdx, %rax
jmp 0x28bbd
cmpl $0x0, 0x30(%r15)
je 0x28b79
movq 0x28(%r15), %rdi
leaq 0x38(%r15), %rbx
movl 0x34(%r15), %edx
movq %rbx, %rsi
callq *0x10(%r15)
testl %eax, %eax
je 0x28b7d
cltq
addq %rbx, %rax
movb (%rbx), %bpl
jmp 0x28b90
xorl %ebp, %ebp
jmp 0x28bbd
movl $0x0, 0x30(%r15)
leaq 0x39(%r15), %rax
movb $0x0, 0x38(%r15)
xorl %ebp, %ebp
movq %rax, 0xc0(%r15)
leaq 0x39(%r15), %rax
movq %rax, 0xb8(%r15)
movq 0x8(%rsp), %rax
movq (%rax), %r15
movq 0xb8(%r15), %rax
movq 0xc0(%r15), %rcx
movq 0x10(%rsp), %rdi
cmpq %rcx, %rax
jae 0x28bd1
leaq 0x1(%rax), %rcx
movq %rcx, 0xb8(%r15)
movb (%rax), %al
jmp 0x28c2f
cmpl $0x0, 0x30(%r15)
je 0x28bf9
movq 0x28(%r15), %rdi
leaq 0x38(%r15), %rbx
movl 0x34(%r15), %edx
movq %rbx, %rsi
callq *0x10(%r15)
testl %eax, %eax
je 0x28bfd
movslq %eax, %rcx
addq %rbx, %rcx
movb (%rbx), %al
jmp 0x28c10
xorl %eax, %eax
jmp 0x28c2f
movl $0x0, 0x30(%r15)
leaq 0x39(%r15), %rcx
movb $0x0, 0x38(%r15)
xorl %eax, %eax
movq 0x10(%rsp), %rdi
movq %rcx, 0xc0(%r15)
leaq 0x39(%r15), %rcx
movq %rcx, 0xb8(%r15)
movq 0x8(%rsp), %rcx
movq (%rcx), %r15
movslq 0x8(%r15), %rdx
testq %rdx, %rdx
jle 0x28c53
movzbl %bpl, %esi
xorl %ecx, %ecx
cmpl %esi, (%rdi)
je 0x28c55
incq %rcx
addq $0x60, %rdi
cmpq %rcx, %rdx
jne 0x28c3e
jmp 0x2a69e
xorl %ecx, %ecx
cmpl %edx, %ecx
je 0x2a69e
movzbl %al, %eax
movl %eax, %esi
shrl $0x4, %esi
movl %ecx, %edx
leaq (%rdx,%rdx,2), %rdx
shlq $0x5, %rdx
movq 0x10(%rsp), %rdi
movl %esi, 0x10(%rdi,%rdx)
cmpb $0x3f, %al
ja 0x2a404
addq %rdi, %rdx
andl $0xf, %eax
movl %eax, 0x14(%rdx)
cmpl $0x3, %eax
ja 0x2a410
movq 0x8(%rsp), %r14
movl %ecx, 0x4858(%r14,%r13,4)
incq %r13
movslq 0x4854(%r14), %rax
cmpq %rax, %r13
jl 0x28b2b
movq 0xb8(%r15), %rax
movq 0xc0(%r15), %rcx
cmpq %rcx, %rax
jae 0x28cd7
leaq 0x1(%rax), %rsi
movq %rsi, 0xb8(%r15)
movb (%rax), %dl
movq %rsi, %rax
jmp 0x28d3d
cmpl $0x0, 0x30(%r15)
je 0x28cfe
movq 0x28(%r15), %rdi
leaq 0x38(%r15), %rbx
movl 0x34(%r15), %edx
movq %rbx, %rsi
callq *0x10(%r15)
testl %eax, %eax
je 0x28d02
cltq
addq %rbx, %rax
movb (%rbx), %dl
jmp 0x28d15
xorl %edx, %edx
jmp 0x28d3d
movl $0x0, 0x30(%r15)
leaq 0x39(%r15), %rax
movb $0x0, 0x38(%r15)
xorl %edx, %edx
movq %rax, 0xc0(%r15)
leaq 0x39(%r15), %rax
movq %rax, 0xb8(%r15)
movq (%r14), %r15
movq 0xb8(%r15), %rax
movq 0xc0(%r15), %rcx
movq 0x10(%rsp), %rdi
movzbl %dl, %edx
movl %edx, 0x4834(%r14)
cmpq %rcx, %rax
jae 0x28d5e
leaq 0x1(%rax), %rsi
movq %rsi, 0xb8(%r15)
movb (%rax), %dl
movq %rsi, %rax
jmp 0x28dc4
cmpl $0x0, 0x30(%r15)
je 0x28d85
movq 0x28(%r15), %rdi
leaq 0x38(%r15), %rbx
movl 0x34(%r15), %edx
movq %rbx, %rsi
callq *0x10(%r15)
testl %eax, %eax
je 0x28d89
cltq
addq %rbx, %rax
movb (%rbx), %dl
jmp 0x28d9c
xorl %edx, %edx
jmp 0x28dc4
movl $0x0, 0x30(%r15)
leaq 0x39(%r15), %rax
movb $0x0, 0x38(%r15)
xorl %edx, %edx
movq %rax, 0xc0(%r15)
leaq 0x39(%r15), %rax
movq %rax, 0xb8(%r15)
movq (%r14), %r15
movq 0xb8(%r15), %rax
movq 0xc0(%r15), %rcx
movq 0x10(%rsp), %rdi
movzbl %dl, %edx
movl %edx, 0x4838(%r14)
cmpq %rcx, %rax
jae 0x28de2
leaq 0x1(%rax), %rcx
movq %rcx, 0xb8(%r15)
movb (%rax), %al
jmp 0x28e38
cmpl $0x0, 0x30(%r15)
je 0x28e0a
movq 0x28(%r15), %rdi
leaq 0x38(%r15), %rbx
movl 0x34(%r15), %edx
movq %rbx, %rsi
callq *0x10(%r15)
testl %eax, %eax
je 0x28e0e
movslq %eax, %rcx
addq %rbx, %rcx
movb (%rbx), %al
jmp 0x28e21
xorl %eax, %eax
jmp 0x28e38
movl $0x0, 0x30(%r15)
leaq 0x39(%r15), %rcx
movb $0x0, 0x38(%r15)
xorl %eax, %eax
movq %rcx, 0xc0(%r15)
leaq 0x39(%r15), %rcx
movq %rcx, 0xb8(%r15)
movq 0x10(%rsp), %rdi
movzbl %al, %edx
movl %edx, %ecx
shrl $0x4, %ecx
movl %ecx, 0x483c(%r14)
andl $0xf, %edx
movl %edx, 0x4840(%r14)
movl 0x4830(%r14), %ecx
movl 0x4834(%r14), %esi
testl %ecx, %ecx
je 0x28e9b
cmpl $0x3f, %esi
jg 0x2afaf
movl 0x4838(%r14), %edi
cmpl $0x3f, %edi
jg 0x2afaf
cmpl %edi, %esi
jg 0x2afaf
cmpb $-0x21, %al
movq 0x10(%rsp), %rdi
ja 0x2afaf
cmpl $0xd, %edx
jbe 0x28ebe
jmp 0x2afaf
testl %esi, %esi
jne 0x2afaf
cmpb $0xf, %al
ja 0x2afaf
testl %edx, %edx
jne 0x2afaf
movl $0x3f, 0x4838(%r14)
movl 0x4854(%r14), %edx
movl 0x4868(%r14), %eax
testl %eax, %eax
movl $0x7fffffff, %esi       # imm = 0x7FFFFFFF
cmovel %esi, %eax
movq $0x0, 0x4820(%r14)
xorl %esi, %esi
movl %esi, 0x482c(%r14)
movl %esi, 0x47d8(%r14)
movl %esi, 0x4778(%r14)
movl %esi, 0x4718(%r14)
movl %esi, 0x46b8(%r14)
movb $-0x1, 0x4828(%r14)
movl %eax, 0x486c(%r14)
movl %esi, 0x4844(%r14)
testl %ecx, %ecx
je 0x297af
cmpl $0x1, %edx
jne 0x29964
movslq 0x4858(%r14), %rax
movq %rax, 0x80(%rsp)
leaq (%rax,%rax,2), %rax
shlq $0x5, %rax
movl 0x20(%rdi,%rax), %ecx
addl $0x7, %ecx
sarl $0x3, %ecx
movl %ecx, 0x94(%rsp)
testl %ecx, %ecx
jle 0x29d72
movq 0x10(%rsp), %rcx
leaq (%rcx,%rax), %rdx
movq %rdx, 0xe0(%rsp)
movl 0x1c(%rcx,%rax), %eax
addl $0x7, %eax
sarl $0x3, %eax
movl %eax, 0x74(%rsp)
movl $0x0, 0x64(%rsp)
cmpl $0x0, 0x74(%rsp)
movq 0x8(%rsp), %r14
movq 0xe0(%rsp), %rcx
jle 0x29793
xorl %edx, %edx
movl 0x58(%rcx), %eax
imull 0x64(%rsp), %eax
addl %edx, %eax
shll $0x6, %eax
movslq %eax, %r9
addq %r9, %r9
addq 0x50(%rcx), %r9
movslq 0x4834(%r14), %rbx
testq %rbx, %rbx
movl %edx, 0xd0(%rsp)
je 0x290d1
movslq 0x14(%rcx), %rbp
imulq $0x690, %rbp, %rcx      # imm = 0x690
movq 0x40(%rsp), %rax
movq %rcx, 0x48(%rsp)
leaq (%rax,%rcx), %r15
cmpl $0x0, 0x483c(%r14)
movl 0x4840(%r14), %eax
movl %eax, 0x28(%rsp)
movl 0x4844(%r14), %eax
movq %r9, 0x38(%rsp)
movq %r15, 0x58(%rsp)
je 0x29101
testl %eax, %eax
je 0x29117
decl %eax
movl %eax, 0x4844(%r14)
cmpl 0x4838(%r14), %ebx
jg 0x29656
movl $0x10000, %ebp          # imm = 0x10000
movl 0x28(%rsp), %ecx
shll %cl, %ebp
sarl $0x10, %ebp
movl %ebp, %r15d
negl %r15d
leaq 0x14888(%rip), %rax     # 0x3d8d0
movzbl (%rbx,%rax), %r14d
cmpw $0x0, (%r9,%r14,2)
je 0x290b0
movq 0x8(%rsp), %r13
movl 0x4824(%r13), %eax
testl %eax, %eax
jg 0x29079
movq %r13, %rdi
callq 0x329b7
movq 0x38(%rsp), %r9
movl 0x4824(%r13), %eax
movl 0x4820(%r13), %ecx
leal (%rcx,%rcx), %edx
movl %edx, 0x4820(%r13)
decl %eax
movl %eax, 0x4824(%r13)
testl %ecx, %ecx
jns 0x290b0
movswl (%r9,%r14,2), %eax
testl %eax, %ebp
jne 0x290b0
testw %ax, %ax
movl %r15d, %ecx
cmovgl %ebp, %ecx
addl %eax, %ecx
movw %cx, (%r9,%r14,2)
leaq 0x1(%rbx), %rax
movq 0x8(%rsp), %rcx
movslq 0x4838(%rcx), %rcx
cmpq %rcx, %rbx
movq %rax, %rbx
jl 0x29041
jmp 0x29656
movslq 0x10(%rcx), %rax
imulq $0x690, %rax, %rdx      # imm = 0x690
addq 0x20(%rsp), %rdx
movq %r14, %rdi
movq %r9, %rsi
movq 0x80(%rsp), %rcx
callq 0x32b23
testl %eax, %eax
jne 0x29656
jmp 0x2a69e
testl %eax, %eax
je 0x293f9
decl %eax
movl %eax, 0x4844(%r14)
jmp 0x29656
movl $0x10000, %ebp          # imm = 0x10000
movl 0x28(%rsp), %ecx
shll %cl, %ebp
sarl $0x10, %ebp
movl 0x4824(%r14), %edx
movq 0x48(%rsp), %rax
addq 0x78(%rsp), %rax
movq %rax, 0x48(%rsp)
cmpl $0xf, %edx
movq 0x8(%rsp), %r14
jg 0x29152
movq %r14, %rdi
callq 0x329b7
movq 0x38(%rsp), %r9
movl 0x4820(%r14), %esi
movl %esi, %eax
shrl $0x17, %eax
movzbl (%r15,%rax), %edi
cmpq $0xff, %rdi
je 0x29199
movzbl 0x500(%r15,%rdi), %ecx
movl 0x4824(%r14), %edx
subl %ecx, %edx
jl 0x2bd14
shll %cl, %esi
movl %esi, 0x4820(%r14)
movl %edx, 0x4824(%r14)
jmp 0x29233
movl %esi, %eax
shrl $0x10, %eax
xorl %r8d, %r8d
movq 0x48(%rsp), %r9
movq %r8, %rcx
incq %r8
cmpl -0x44(%r9,%rcx,4), %eax
jae 0x291a6
movl 0x4824(%r14), %edx
cmpq $0x8, %r8
je 0x2bd0a
leaq 0x9(%r8), %rax
cmpl %eax, %edx
jl 0x2bd14
movb $0x17, %cl
subb %r8b, %cl
movl %esi, %edi
shrl %cl, %edi
leaq 0x14750(%rip), %r11     # 0x3d930
andl 0x24(%r11,%r8,4), %edi
addl (%r9,%r8,4), %edi
movslq %edi, %rdi
movzbl 0x500(%r15,%rdi), %r9d
movl %r9d, %ecx
negb %cl
movl %esi, %r10d
shrl %cl, %r10d
andl (%r11,%r9,4), %r10d
movzwl 0x200(%r15,%rdi,2), %ecx
cmpl %ecx, %r10d
jne 0x2c350
subl %r8d, %edx
addl $-0x9, %edx
movl %edx, 0x4824(%r14)
movl %eax, %ecx
shll %cl, %esi
movl %esi, 0x4820(%r14)
movq 0x38(%rsp), %r9
movzbl 0x400(%r15,%rdi), %edi
movl %edi, %eax
andl $0xf, %eax
movl %edi, %r15d
shrl $0x4, %r15d
cmpl $0x1, %eax
je 0x292eb
testl %eax, %eax
jne 0x2bd14
cmpb $-0x11, %dil
ja 0x29338
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %r15d, %ecx
shll %cl, %eax
notl %eax
movl %eax, 0x4844(%r14)
movl $0x40, %r13d
cmpb $0x10, %dil
jb 0x2933e
cmpl %r15d, %edx
jge 0x292ad
movq %r14, %rdi
callq 0x329b7
movq 0x38(%rsp), %r9
movl 0x4820(%r14), %esi
movl 0x4824(%r14), %edx
movl 0x4844(%r14), %eax
movl %r15d, %ecx
roll %cl, %esi
leaq 0x14677(%rip), %rcx     # 0x3d930
movl (%rcx,%r15,4), %ecx
movl %ecx, %edi
notl %edi
andl %esi, %edi
movl %edi, 0x4820(%r14)
andl %ecx, %esi
addl %eax, %esi
subl %r15d, %edx
movl %edx, 0x4824(%r14)
movl %esi, 0x4844(%r14)
movl $0x0, 0x54(%rsp)
movl %edi, %esi
jmp 0x29346
testl %edx, %edx
jg 0x2930a
movq %r14, %rdi
callq 0x329b7
movq 0x38(%rsp), %r9
movl 0x4820(%r14), %esi
movl 0x4824(%r14), %edx
leal (%rsi,%rsi), %eax
movl %eax, 0x4820(%r14)
decl %edx
notl %esi
sarl $0x1f, %esi
orl $0x1, %esi
movl 0x28(%rsp), %ecx
shll %cl, %esi
movl %edx, 0x4824(%r14)
movl %esi, %ecx
movl %ecx, 0x54(%rsp)
movl %eax, %esi
movl %r15d, %r13d
jmp 0x29346
movl $0xf, %r13d
movl $0x0, 0x54(%rsp)
movl 0x4838(%r14), %eax
cmpl %eax, %ebx
jg 0x293e7
movslq %ebx, %rbx
leaq 0x14571(%rip), %rcx     # 0x3d8d0
movzbl (%rbx,%rcx), %r15d
cmpw $0x0, (%r9,%r15,2)
je 0x293b6
testl %edx, %edx
jg 0x2938b
movq %r14, %rdi
callq 0x329b7
movq 0x38(%rsp), %r9
movl 0x4820(%r14), %esi
movl 0x4824(%r14), %edx
movl %esi, %eax
leal (%rax,%rax), %esi
movl %esi, 0x4820(%r14)
decl %edx
movl %edx, 0x4824(%r14)
testl %eax, %eax
jns 0x293be
movswl (%r9,%r15,2), %eax
testl %eax, %ebp
jne 0x293be
testw %ax, %ax
jle 0x293d3
addl %ebp, %eax
jmp 0x293d5
testl %r13d, %r13d
je 0x293dc
decl %r13d
incq %rbx
movslq 0x4838(%r14), %rax
leaq -0x1(%rbx), %rcx
cmpq %rax, %rcx
jl 0x29358
jmp 0x293e7
subl %ebp, %eax
movw %ax, (%r9,%r15,2)
jmp 0x293be
incl %ebx
movl 0x54(%rsp), %ecx
movw %cx, (%r9,%r15,2)
cmpl %eax, %ebx
movq 0x58(%rsp), %r15
jle 0x2913b
jmp 0x29656
shlq $0xa, %rbp
addq 0x68(%rsp), %rbp
movl 0x4824(%r14), %edx
movq 0x48(%rsp), %rax
addq 0x78(%rsp), %rax
movq %rax, 0x48(%rsp)
cmpl $0xf, %edx
movq 0x8(%rsp), %r14
jg 0x2942f
movq %r14, %rdi
callq 0x329b7
movq 0x38(%rsp), %r9
movl 0x4820(%r14), %esi
movl %esi, %ecx
shrl $0x17, %ecx
movswl (%rbp,%rcx,2), %eax
testl %eax, %eax
je 0x29491
movl %eax, %ecx
shrl $0x4, %ecx
andl $0xf, %ecx
movslq %ebx, %rdi
addq %rcx, %rdi
movl %eax, %ecx
andl $0xf, %ecx
shll %cl, %esi
movl %esi, 0x4820(%r14)
movl 0x4824(%r14), %edx
subl %ecx, %edx
movl %edx, 0x4824(%r14)
leal 0x1(%rdi), %ebx
leaq 0x14456(%rip), %rcx     # 0x3d8d0
movzbl (%rcx,%rdi), %esi
shrl $0x8, %eax
movl 0x28(%rsp), %ecx
shll %cl, %eax
movw %ax, (%r9,%rsi,2)
jmp 0x29649
cmpl $0xf, 0x4824(%r14)
jg 0x294b4
movq %r14, %rdi
callq 0x329b7
movq 0x38(%rsp), %r9
movl 0x4820(%r14), %esi
movl %esi, %ecx
shrl $0x17, %ecx
movzbl (%r15,%rcx), %edi
cmpq $0xff, %rdi
je 0x294ef
movzbl 0x500(%r15,%rdi), %ecx
movl 0x4824(%r14), %edx
subl %ecx, %edx
jl 0x2bd14
shll %cl, %esi
movl %esi, 0x4820(%r14)
movl %edx, 0x4824(%r14)
jmp 0x29589
movl %esi, %eax
shrl $0x10, %eax
xorl %r8d, %r8d
movq 0x48(%rsp), %r9
movq %r8, %rcx
incq %r8
cmpl -0x44(%r9,%rcx,4), %eax
jae 0x294fc
movl 0x4824(%r14), %edx
cmpq $0x8, %r8
je 0x2bd0a
leaq 0x9(%r8), %rax
cmpl %eax, %edx
jl 0x2bd14
movb $0x17, %cl
subb %r8b, %cl
movl %esi, %edi
shrl %cl, %edi
leaq 0x143fa(%rip), %r11     # 0x3d930
andl 0x24(%r11,%r8,4), %edi
addl (%r9,%r8,4), %edi
movslq %edi, %rdi
movzbl 0x500(%r15,%rdi), %r9d
movl %r9d, %ecx
negb %cl
movl %esi, %r10d
shrl %cl, %r10d
andl (%r11,%r9,4), %r10d
movzwl 0x200(%r15,%rdi,2), %ecx
cmpl %ecx, %r10d
jne 0x2c350
subl %r8d, %edx
addl $-0x9, %edx
movl %edx, 0x4824(%r14)
movl %eax, %ecx
shll %cl, %esi
movl %esi, 0x4820(%r14)
movq 0x38(%rsp), %r9
movzbl 0x400(%r15,%rdi), %edi
movl %edi, %r13d
andl $0xf, %r13d
movl %edi, %r15d
shrl $0x4, %r15d
testl %r13d, %r13d
je 0x29637
movl %r15d, %eax
movslq %ebx, %rbx
addq %rax, %rbx
leaq 0x14317(%rip), %rax     # 0x3d8d0
movzbl (%rax,%rbx), %r15d
cmpl %r13d, %edx
jge 0x295de
movq %r14, %rdi
callq 0x329b7
movq 0x38(%rsp), %r9
movl 0x4820(%r14), %esi
movl 0x4824(%r14), %edx
movl %esi, %eax
movl %r13d, %ecx
roll %cl, %eax
leal (,%r13,4), %edi
leaq 0x1433c(%rip), %rcx     # 0x3d930
movl (%rdi,%rcx), %ecx
movl %ecx, %r8d
notl %r8d
andl %eax, %r8d
movl %r8d, 0x4820(%r14)
subl %r13d, %edx
movl %edx, 0x4824(%r14)
xorl %r8d, %r8d
testl %esi, %esi
js 0x29623
leaq 0x14361(%rip), %rsi     # 0x3d980
movl (%rdi,%rsi), %r8d
incl %ebx
andl %ecx, %eax
addl %r8d, %eax
movl 0x28(%rsp), %ecx
shll %cl, %eax
movw %ax, (%r9,%r15,2)
jmp 0x29644
cmpb $-0x11, %dil
jbe 0x2970f
addl $0x10, %ebx
movq 0x58(%rsp), %r15
cmpl 0x4838(%r14), %ebx
jle 0x29418
movq 0x8(%rsp), %r14
movl 0x486c(%r14), %eax
leal -0x1(%rax), %ecx
movl %ecx, 0x486c(%r14)
cmpl $0x1, %eax
jg 0x296ef
cmpl $0x17, 0x4824(%r14)
jg 0x29683
movq %r14, %rdi
callq 0x329b7
movb 0x4828(%r14), %al
movl %eax, %ecx
andb $-0x8, %cl
cmpb $-0x30, %cl
jne 0x29d7d
movq $0x0, 0x4820(%r14)
xorl %ecx, %ecx
movl %ecx, 0x482c(%r14)
movl %ecx, 0x47d8(%r14)
movl %ecx, 0x4778(%r14)
movl %ecx, 0x4718(%r14)
movl %ecx, 0x46b8(%r14)
movb $-0x1, 0x4828(%r14)
movl 0x4868(%r14), %eax
testl %eax, %eax
movl $0x7fffffff, %edx       # imm = 0x7FFFFFFF
cmovel %edx, %eax
movl %eax, 0x486c(%r14)
movl %ecx, 0x4844(%r14)
movl 0xd0(%rsp), %edx
incl %edx
cmpl 0x74(%rsp), %edx
movq 0xe0(%rsp), %rcx
jne 0x28f9e
jmp 0x29793
movl $0x1, %eax
movl %r15d, %ecx
shll %cl, %eax
movl %eax, 0x4844(%r14)
cmpb $0x10, %dil
jae 0x29735
movl 0x30(%rsp), %r12d
movq 0x8(%rsp), %r14
jmp 0x29109
cmpl %r15d, %edx
jge 0x29759
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
callq 0x329b7
movl 0x4820(%rbx), %esi
movl 0x4824(%rbx), %edx
movl 0x4844(%rbx), %eax
movl %r15d, %ecx
roll %cl, %esi
leaq 0x141cb(%rip), %rcx     # 0x3d930
movl (%rcx,%r15,4), %ecx
movl %ecx, %edi
notl %edi
andl %esi, %edi
movq 0x8(%rsp), %r14
movl %edi, 0x4820(%r14)
andl %ecx, %esi
addl %esi, %eax
subl %r15d, %edx
movl %edx, 0x4824(%r14)
movl 0x30(%rsp), %r12d
jmp 0x29109
movl 0x64(%rsp), %eax
incl %eax
movl %eax, 0x64(%rsp)
cmpl 0x94(%rsp), %eax
jne 0x28f84
jmp 0x29d72
cmpl $0x1, %edx
leaq 0xf0(%rsp), %r12
jne 0x29b21
movslq 0x4858(%r14), %rbx
leaq (%rbx,%rbx,2), %r15
shlq $0x5, %r15
movl 0x20(%rdi,%r15), %eax
addl $0x7, %eax
sarl $0x3, %eax
movl $0x1, %ebp
movl %eax, 0x58(%rsp)
testl %eax, %eax
jle 0x29d65
addq %rdi, %r15
movl 0x1c(%r15), %eax
addl $0x7, %eax
sarl $0x3, %eax
leaq (,%rax,8), %rcx
movq %rcx, 0x38(%rsp)
xorl %r13d, %r13d
movl $0x0, 0x28(%rsp)
movq %rax, 0x48(%rsp)
testl %eax, %eax
jle 0x2993d
xorl %ebp, %ebp
movslq 0x14(%r15), %r8
movslq 0x10(%r15), %rax
imulq $0x690, %rax, %rdx      # imm = 0x690
addq 0x20(%rsp), %rdx
imulq $0x690, %r8, %rcx       # imm = 0x690
addq 0x40(%rsp), %rcx
shlq $0xa, %r8
addq 0x68(%rsp), %r8
movslq 0xc(%r15), %rax
shlq $0x7, %rax
addq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq 0x8(%rsp), %r14
movq %r14, %rdi
movq %r12, %rsi
movl %ebx, %r9d
callq 0x32537
testl %eax, %eax
je 0x29d63
movl 0x24(%r15), %esi
movl %r13d, %eax
imull %esi, %eax
movslq %eax, %rdi
addq 0x30(%r15), %rdi
addq %rbp, %rdi
movq %r12, %rdx
callq *0x4870(%r14)
movl 0x486c(%r14), %eax
leal -0x1(%rax), %ecx
movl %ecx, 0x486c(%r14)
cmpl $0x1, %eax
jg 0x2992e
cmpl $0x17, 0x4824(%r14)
jg 0x298c6
movq %r14, %rdi
callq 0x329b7
leaq 0xf0(%rsp), %r12
movb 0x4828(%r14), %al
andb $-0x8, %al
cmpb $-0x30, %al
jne 0x2995a
movq $0x0, 0x4820(%r14)
xorl %ecx, %ecx
movl %ecx, 0x482c(%r14)
movl %ecx, 0x47d8(%r14)
movl %ecx, 0x4778(%r14)
movl %ecx, 0x4718(%r14)
movl %ecx, 0x46b8(%r14)
movb $-0x1, 0x4828(%r14)
movl 0x4868(%r14), %eax
testl %eax, %eax
movl $0x7fffffff, %edx       # imm = 0x7FFFFFFF
cmovel %edx, %eax
movl %eax, 0x486c(%r14)
movl %ecx, 0x4844(%r14)
addq $0x8, %rbp
cmpq %rbp, 0x38(%rsp)
jne 0x2981f
movl 0x28(%rsp), %eax
incl %eax
addl $0x8, %r13d
movl %eax, 0x28(%rsp)
cmpl 0x58(%rsp), %eax
movq 0x48(%rsp), %rax
jne 0x29815
movl $0x1, %ebp
jmp 0x29d65
movl 0x4694(%r14), %edx
testl %edx, %edx
jle 0x29d72
movq 0x8(%rsp), %rcx
movl 0x4690(%rcx), %ecx
movl $0x0, 0x38(%rsp)
testl %ecx, %ecx
jle 0x29b0a
xorl %r13d, %r13d
movq 0x8(%rsp), %rbx
movq 0x10(%rsp), %rsi
movl 0x4854(%rbx), %edx
testl %edx, %edx
jle 0x29a6a
xorl %edi, %edi
movslq 0x4858(%rbx,%rdi,4), %rbx
leaq (%rbx,%rbx,2), %rbp
shlq $0x5, %rbp
movl 0x8(%rsi,%rbp), %ecx
testl %ecx, %ecx
jle 0x29a50
movq %rdi, 0x28(%rsp)
addq %rsi, %rbp
movl 0x4(%rbp), %eax
xorl %r15d, %r15d
testl %eax, %eax
jle 0x29a38
xorl %r14d, %r14d
movl 0x8(%rbp), %ecx
imull 0x38(%rsp), %ecx
addl %r15d, %ecx
imull 0x58(%rbp), %ecx
imull %r13d, %eax
addl %r14d, %eax
addl %ecx, %eax
shll $0x6, %eax
movslq %eax, %rsi
addq %rsi, %rsi
addq 0x50(%rbp), %rsi
movslq 0x10(%rbp), %rax
imulq $0x690, %rax, %rdx      # imm = 0x690
addq 0x20(%rsp), %rdx
movq 0x8(%rsp), %rdi
movl %ebx, %ecx
callq 0x32b23
testl %eax, %eax
je 0x2a69e
incl %r14d
movl 0x4(%rbp), %eax
cmpl %eax, %r14d
jl 0x299dc
movl 0x8(%rbp), %ecx
movq 0x10(%rsp), %rsi
incl %r15d
cmpl %ecx, %r15d
jl 0x299d5
movq 0x8(%rsp), %rax
movl 0x4854(%rax), %edx
movq 0x28(%rsp), %rdi
incq %rdi
movslq %edx, %rax
cmpq %rax, %rdi
movq 0x8(%rsp), %rbx
jl 0x299ab
movl 0x486c(%rbx), %eax
leal -0x1(%rax), %ecx
movl %ecx, 0x486c(%rbx)
cmpl $0x1, %eax
movl %ecx, %eax
jg 0x29af2
cmpl $0x17, 0x4824(%rbx)
jg 0x29a8b
movq %rbx, %rdi
callq 0x329b7
movb 0x4828(%rbx), %al
movl %eax, %ecx
andb $-0x8, %cl
cmpb $-0x30, %cl
jne 0x29d7d
movq $0x0, 0x4820(%rbx)
xorl %ecx, %ecx
movl %ecx, 0x482c(%rbx)
movl %ecx, 0x47d8(%rbx)
movl %ecx, 0x4778(%rbx)
movl %ecx, 0x4718(%rbx)
movl %ecx, 0x46b8(%rbx)
movb $-0x1, 0x4828(%rbx)
movl 0x4868(%rbx), %eax
testl %eax, %eax
movl $0x7fffffff, %edx       # imm = 0x7FFFFFFF
cmovel %edx, %eax
movl %eax, 0x486c(%rbx)
movl %ecx, 0x4844(%rbx)
movq 0x10(%rsp), %rsi
incl %r13d
movl 0x4690(%rbx), %ecx
cmpl %ecx, %r13d
jl 0x2999b
movl 0x4694(%rbx), %edx
movl 0x38(%rsp), %esi
incl %esi
movl %esi, 0x38(%rsp)
cmpl %edx, %esi
jl 0x29986
jmp 0x29d72
movl 0x4694(%r14), %edx
movl $0x1, %ebp
testl %edx, %edx
jle 0x29d65
movl 0x4690(%r14), %ecx
movl $0x0, 0x58(%rsp)
testl %ecx, %ecx
jle 0x29d4f
movl $0x0, 0x48(%rsp)
movl 0x4854(%r14), %ecx
testl %ecx, %ecx
jle 0x29c93
xorl %edx, %edx
movslq 0x4858(%r14,%rdx,4), %rax
movq %rax, 0x28(%rsp)
leaq (%rax,%rax,2), %r13
shlq $0x5, %r13
movl 0x8(%rdi,%r13), %eax
testl %eax, %eax
jle 0x29c78
movq %rdx, 0xd0(%rsp)
addq %rdi, %r13
movl 0x4(%r13), %ebp
movl $0x0, 0x38(%rsp)
testl %ebp, %ebp
jle 0x29c52
xorl %ebx, %ebx
movq 0x8(%rsp), %r15
movl 0x8(%r13), %r14d
movslq 0x14(%r13), %r8
movslq 0x10(%r13), %rax
imulq $0x690, %rax, %rdx      # imm = 0x690
addq 0x20(%rsp), %rdx
imulq $0x690, %r8, %rcx       # imm = 0x690
addq 0x40(%rsp), %rcx
shlq $0xa, %r8
addq 0x68(%rsp), %r8
movslq 0xc(%r13), %rax
shlq $0x7, %rax
addq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r15, %rdi
movq %r12, %rsi
movq 0x28(%rsp), %r9
callq 0x32537
testl %eax, %eax
je 0x29d63
imull 0x58(%rsp), %r14d
addl 0x38(%rsp), %r14d
imull 0x48(%rsp), %ebp
addl %ebx, %ebp
shll $0x3, %ebp
movl 0x24(%r13), %esi
imull %esi, %r14d
shll $0x3, %r14d
movslq %r14d, %rax
addq 0x30(%r13), %rax
movslq %ebp, %rdi
addq %rax, %rdi
movq %r12, %rdx
callq *0x4870(%r15)
incl %ebx
movl 0x4(%r13), %ebp
cmpl %ebp, %ebx
jl 0x29bad
movl 0x8(%r13), %eax
movq 0x10(%rsp), %rdi
movl 0x38(%rsp), %ecx
incl %ecx
movl %ecx, 0x38(%rsp)
cmpl %eax, %ecx
jl 0x29b9e
movq 0x8(%rsp), %r14
movl 0x4854(%r14), %ecx
movq 0xd0(%rsp), %rdx
incq %rdx
movslq %ecx, %rax
cmpq %rax, %rdx
jl 0x29b65
movl 0x486c(%r14), %eax
movl $0x1, %ebp
leal -0x1(%rax), %ecx
movl %ecx, 0x486c(%r14)
cmpl $0x1, %eax
movl %ecx, %eax
jg 0x29d2f
cmpl $0x17, 0x4824(%r14)
jg 0x29cc7
movq %r14, %rdi
callq 0x329b7
leaq 0xf0(%rsp), %r12
movq 0x10(%rsp), %rdi
movb 0x4828(%r14), %al
andb $-0x8, %al
cmpb $-0x30, %al
jne 0x29d65
movq $0x0, 0x4820(%r14)
xorl %ecx, %ecx
movl %ecx, 0x482c(%r14)
movl %ecx, 0x47d8(%r14)
movl %ecx, 0x4778(%r14)
movl %ecx, 0x4718(%r14)
movl %ecx, 0x46b8(%r14)
movb $-0x1, 0x4828(%r14)
movl 0x4868(%r14), %eax
testl %eax, %eax
movl $0x7fffffff, %edx       # imm = 0x7FFFFFFF
cmovel %edx, %eax
movl %eax, 0x486c(%r14)
movl %ecx, 0x4844(%r14)
movl 0x48(%rsp), %edx
incl %edx
movl 0x4690(%r14), %ecx
movl %edx, 0x48(%rsp)
cmpl %ecx, %edx
jl 0x29b54
movl 0x4694(%r14), %edx
movl 0x58(%rsp), %esi
incl %esi
movl %esi, 0x58(%rsp)
cmpl %edx, %esi
jl 0x29b44
jmp 0x29d65
xorl %ebp, %ebp
movl 0x30(%rsp), %r12d
testl %ebp, %ebp
je 0x2a69e
movq 0x8(%rsp), %rax
movb 0x4828(%rax), %al
cmpb $-0x1, %al
jne 0x28a5c
movq 0x8(%rsp), %r15
movq (%r15), %rbx
cmpq $0x0, 0x10(%rbx)
je 0x29da9
movq 0x28(%rbx), %rdi
callq *0x20(%rbx)
testl %eax, %eax
je 0x29dbd
cmpl $0x0, 0x30(%rbx)
je 0x28a5c
movq 0xb8(%rbx), %rax
cmpq 0xc0(%rbx), %rax
jae 0x28a5c
movq 0x8(%rsp), %r15
movq (%r15), %r14
movq 0xb8(%r14), %rax
cmpq 0xc0(%r14), %rax
jae 0x29de4
leaq 0x1(%rax), %rcx
movq %rcx, 0xb8(%r14)
movb (%rax), %al
jmp 0x29e31
cmpl $0x0, 0x30(%r14)
je 0x29d8a
movq 0x28(%r14), %rdi
leaq 0x38(%r14), %rbx
movl 0x34(%r14), %edx
movq %rbx, %rsi
callq *0x10(%r14)
testl %eax, %eax
je 0x29e0c
movslq %eax, %rcx
addq %rbx, %rcx
movb (%rbx), %al
jmp 0x29e1f
movl $0x0, 0x30(%r14)
leaq 0x39(%r14), %rcx
movb $0x0, 0x38(%r14)
xorl %eax, %eax
movq %rcx, 0xc0(%r14)
leaq 0x39(%r14), %rcx
movq %rcx, 0xb8(%r14)
cmpb $-0x1, %al
jne 0x29d8a
movq (%r15), %r14
movq 0xb8(%r14), %rax
cmpq 0xc0(%r14), %rax
jae 0x29e5b
leaq 0x1(%rax), %rcx
movq %rcx, 0xb8(%r14)
movb (%rax), %al
jmp 0x29eac
cmpl $0x0, 0x30(%r14)
je 0x29e83
movq 0x28(%r14), %rdi
leaq 0x38(%r14), %rbx
movl 0x34(%r14), %edx
movq %rbx, %rsi
callq *0x10(%r14)
testl %eax, %eax
je 0x29e87
movslq %eax, %rcx
addq %rbx, %rcx
movb (%rbx), %al
jmp 0x29e9a
xorl %eax, %eax
jmp 0x29eac
movl $0x0, 0x30(%r14)
leaq 0x39(%r14), %rcx
movb $0x0, 0x38(%r14)
xorl %eax, %eax
movq %rcx, 0xc0(%r14)
leaq 0x39(%r14), %rcx
movq %rcx, 0xb8(%r14)
movb %al, 0x4828(%r15)
jmp 0x28a5c
cmpq %rcx, %rdx
movl 0x30(%rsp), %r12d
jae 0x29f2a
leaq 0x1(%rdx), %rax
movq %rax, 0xb8(%rbx)
movb (%rdx), %dl
jmp 0x29f9e
leaq 0xf0(%rsp), %rdi
xorl %esi, %esi
movl %ebp, %edx
callq 0x32e8e
testl %eax, %eax
je 0x29f54
movl 0x110(%rsp), %eax
cmpl $0x9, %eax
movl $0x8, %ecx
cmovgel %eax, %ecx
movq 0x18(%rsp), %rdx
movl %ecx, (%rdx)
movq 0xf0(%rsp), %rbx
movq 0x108(%rsp), %r14
testl %ebp, %ebp
je 0x29f1d
movl 0xc(%rbx), %esi
cmpl %ebp, %esi
jne 0x29f64
movq 0x88(%rsp), %rcx
jmp 0x2a004
cmpl $0x0, 0x30(%rbx)
je 0x2a182
movq 0x28(%rbx), %rdi
leaq 0x38(%rbx), %r15
movl 0x34(%rbx), %edx
movq %r15, %rsi
callq *0x10(%rbx)
testl %eax, %eax
je 0x29f7b
movslq %eax, %rcx
addq %r15, %rcx
movb (%r15), %dl
jmp 0x29f8c
movq 0x108(%rsp), %rdi
xorl %r14d, %r14d
jmp 0x2a029
movl (%rbx), %ecx
movl 0x4(%rbx), %r8d
movq %r14, %rdi
movl %ebp, %edx
cmpl $0x8, %eax
jg 0x29fe8
callq 0x33d4f
jmp 0x29fed
movl $0x0, 0x30(%rbx)
leaq 0x39(%rbx), %rcx
movb $0x0, 0x38(%rbx)
xorl %edx, %edx
movq %rcx, 0xc0(%rbx)
leaq 0x39(%rbx), %rax
movq %rax, 0xb8(%rbx)
cmpb $0x42, %dl
jne 0x2a182
cmpq %rcx, %rax
jae 0x29fbe
leaq 0x1(%rax), %rcx
movq %rcx, 0xb8(%rbx)
movb (%rax), %al
jmp 0x2a06b
cmpl $0x0, 0x30(%rbx)
je 0x2a182
movq 0x28(%rbx), %rdi
leaq 0x38(%rbx), %r15
movl 0x34(%rbx), %edx
movq %r15, %rsi
callq *0x10(%rbx)
testl %eax, %eax
je 0x2a048
movslq %eax, %rcx
addq %r15, %rcx
movb (%r15), %al
jmp 0x2a059
callq 0x34181
movq %rax, %r14
movl %ebp, 0xc(%rbx)
testq %rax, %rax
movq 0x88(%rsp), %rcx
je 0x28967
movl (%rbx), %eax
movq 0x98(%rsp), %rdx
movl %eax, (%rdx)
movl 0x4(%rbx), %eax
movq 0xa0(%rsp), %rdx
movl %eax, (%rdx)
testq %rcx, %rcx
je 0x2a027
movl 0x8(%rbx), %eax
movl %eax, (%rcx)
xorl %edi, %edi
callq 0x6490
movq 0x100(%rsp), %rdi
callq 0x6490
movq 0xf8(%rsp), %rdi
jmp 0x2a6b8
movl $0x0, 0x30(%rbx)
leaq 0x39(%rbx), %rcx
movb $0x0, 0x38(%rbx)
xorl %eax, %eax
movq %rcx, 0xc0(%rbx)
leaq 0x39(%rbx), %rcx
movq %rcx, 0xb8(%rbx)
cmpb $0x4d, %al
jne 0x2a182
movq %rbx, %rdi
callq 0x355e8
movq %rbx, %rdi
callq 0x355e8
movq %rbx, %rdi
callq 0x355e8
movq %rbx, %rdi
callq 0x355e8
movq %rbx, %rdi
callq 0x355e8
movq %rbx, %rdi
callq 0x355e8
movq %rbx, %rdi
callq 0x355e8
movl %eax, %ebp
movq %rbx, %rdi
callq 0x355e8
shll $0x10, %eax
orl %ebp, %eax
cmpl $0x38, %eax
ja 0x2a0cf
movabsq $0x100010000001000, %rcx # imm = 0x100010000001000
btq %rax, %rcx
jb 0x2a0d8
cmpl $0x6c, %eax
jne 0x2a428
movq 0x8(%rsp), %rbx
movdqu 0xc8(%rbx), %xmm0
movdqu %xmm0, 0xb8(%rbx)
leaq 0xb0(%rsp), %rsi
movl $0xff, 0x1c(%rsi)
movq %rbx, %rdi
movq %rbx, %r14
callq 0x356d3
testq %rax, %rax
je 0x28967
movl 0x4(%r14), %eax
movl %eax, %ebx
negl %ebx
movl %eax, 0xe8(%rsp)
cmovsl %eax, %ebx
movl %ebx, 0x4(%r14)
movl 0xc8(%rsp), %edx
movl 0xb0(%rsp), %eax
movl 0xb8(%rsp), %ecx
movl %ecx, 0x20(%rsp)
cmpl $0xc, %ecx
movq %r14, %rcx
movl %eax, 0x10(%rsp)
jne 0x2a2e1
cmpl $0x17, %eax
jg 0x2a2fe
movl 0xb4(%rsp), %eax
addl $-0x26, %eax
cltq
imulq $0x55555556, %rax, %rsi # imm = 0x55555556
movq %rsi, %rax
shrq $0x3f, %rax
shrq $0x20, %rsi
addl %eax, %esi
movq %rsi, 0x28(%rsp)
jmp 0x2a307
movdqu 0xc8(%rbx), %xmm0
movdqu %xmm0, 0xb8(%rbx)
movq %rbx, %rdi
movq %rbx, %r15
callq 0x2c45c
testl %eax, %eax
je 0x2a1fa
leaq 0xf0(%rsp), %rbx
movl $0x8870, %edx           # imm = 0x8870
movq %rbx, %rdi
xorl %esi, %esi
callq 0x6210
movq %r15, %rdi
movq %rbx, %rsi
movq 0x88(%rsp), %rdx
xorl %ecx, %ecx
callq 0x35bbe
movq %rax, %r14
cmpq %r15, %rax
sete %al
testq %r14, %r14
sete %cl
orb %al, %cl
je 0x2a243
movq 0xf8(%rsp), %rdi
testq %rdi, %rdi
je 0x2a1f2
callq 0x6490
xorl %r14d, %r14d
jmp 0x2a283
movq %r15, %rdi
callq 0x2c701
testl %eax, %eax
je 0x2a29d
movq %r15, %rdi
movq 0x98(%rsp), %rsi
movq 0xa0(%rsp), %rdx
movq 0x88(%rsp), %rcx
movl %r12d, %r8d
movq 0x18(%rsp), %r9
addq $0x8968, %rsp           # imm = 0x8968
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2c73c
movl 0xf0(%rsp), %ecx
movq 0x98(%rsp), %rax
movl %ecx, (%rax)
movl 0xf4(%rsp), %r8d
movq 0xa0(%rsp), %rax
movl %r8d, (%rax)
testl $0xfffffffb, %r12d      # imm = 0xFFFFFFFB
je 0x2a283
movq %r14, %rdi
movl $0x4, %esi
movl %r12d, %edx
callq 0x33d4f
movq %rax, %r14
movq 0x108(%rsp), %rdi
callq 0x6490
movq 0x100(%rsp), %rdi
jmp 0x2a6b8
movq %r15, %rdi
callq 0x2dca9
testl %eax, %eax
je 0x2a3c0
movq %r15, %rdi
movq 0x98(%rsp), %rsi
movq 0xa0(%rsp), %rdx
movq 0x88(%rsp), %rcx
movl %r12d, %r8d
addq $0x8968, %rsp           # imm = 0x8968
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2dd55
cmpl $0xf, %eax
jg 0x2a2fe
movl 0xb4(%rsp), %eax
subl 0x20(%rsp), %eax
addl $-0xe, %eax
sarl $0x2, %eax
movq %rax, 0x28(%rsp)
jmp 0x2a307
movq $0x0, 0x28(%rsp)
movl 0xbc(%rsp), %r13d
movl 0xc0(%rsp), %eax
movl %eax, 0x68(%rsp)
movl 0xc4(%rsp), %eax
movl %eax, 0x78(%rsp)
movl 0xcc(%rsp), %r15d
movl %edx, 0x38(%rsp)
cmpl $0x1, %edx
movl $0x4, %r14d
sbbl $0x0, %r14d
movl %r14d, 0x8(%rcx)
cmpl $0x3, %r12d
cmovgel %r12d, %r14d
movl (%rcx), %ebp
movl %r14d, %edi
movl %ebp, %esi
movl %ebx, %edx
xorl %ecx, %ecx
callq 0x31db0
testl %eax, %eax
je 0x2a41c
movl %r14d, 0x18(%rsp)
movl %r14d, %edi
movl %ebp, %esi
movl %ebx, %edx
xorl %ecx, %ecx
callq 0x31ec4
testq %rax, %rax
je 0x2a5ad
movq %rax, %r14
cmpl $0xf, 0x10(%rsp)
jg 0x2a5b9
movq 0x28(%rsp), %rdx
testl %edx, %edx
sete %al
cmpl $0x101, %edx            # imm = 0x101
setge %cl
orb %al, %cl
movq 0x8(%rsp), %r13
je 0x2a6d2
movq %r14, %rdi
callq 0x6490
leaq 0x15aee(%rip), %rax     # 0x3fea9
jmp 0x28960
movq %r15, %rdi
callq 0x2e572
testl %eax, %eax
je 0x2a61f
movq %r15, %rdi
movq 0x98(%rsp), %rsi
movq 0xa0(%rsp), %rdx
movq 0x88(%rsp), %rcx
movl %r12d, %r8d
addq $0x8968, %rsp           # imm = 0x8968
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2e66f
leaq 0x155d6(%rip), %rax     # 0x3f9e1
jmp 0x2a697
leaq 0x155d6(%rip), %rax     # 0x3f9ed
jmp 0x2a697
leaq 0x1555f(%rip), %rax     # 0x3f982
jmp 0x28960
movq 0x8(%rsp), %rbx
movdqu 0xc8(%rbx), %xmm0
movdqu %xmm0, 0xb8(%rbx)
cmpl $0x7c, %eax
je 0x2a0ed
jmp 0x2a192
cmpl $0x0, 0x4830(%r13)
movq (%r13), %r15
movl 0x8(%r15), %ebx
je 0x2a547
testl %ebx, %ebx
jle 0x2a942
xorl %ecx, %ecx
movq 0x10(%rsp), %rax
leaq (%rcx,%rcx,2), %rbx
shlq $0x5, %rbx
movl 0x20(%rax,%rbx), %ebp
addl $0x7, %ebp
sarl $0x3, %ebp
testl %ebp, %ebp
jle 0x2a532
movq %rcx, 0x20(%rsp)
addq %rax, %rbx
movl 0x1c(%rbx), %r15d
addl $0x7, %r15d
sarl $0x3, %r15d
xorl %r13d, %r13d
testl %r15d, %r15d
jle 0x2a513
leal (,%r13,8), %r12d
xorl %r14d, %r14d
movl 0x58(%rbx), %eax
imull %r13d, %eax
addl %r14d, %eax
shll $0x6, %eax
movslq %eax, %rdx
addq %rdx, %rdx
addq 0x50(%rbx), %rdx
movslq 0xc(%rbx), %rax
shlq $0x7, %rax
addq 0x18(%rsp), %rax
xorl %ecx, %ecx
movzwl (%rdx,%rcx,2), %esi
imulw (%rax,%rcx,2), %si
movw %si, (%rdx,%rcx,2)
incq %rcx
cmpq $0x40, %rcx
jne 0x2a4d7
movl 0x24(%rbx), %esi
movl %r12d, %eax
imull %esi, %eax
cltq
addq 0x30(%rbx), %rax
leaq (%rax,%r14,8), %rdi
movq 0x8(%rsp), %rax
callq *0x4870(%rax)
incq %r14
cmpq %r15, %r14
jne 0x2a4b1
incl %r13d
cmpl %ebp, %r13d
jne 0x2a4a1
movq 0x8(%rsp), %rax
movq (%rax), %r15
movl 0x30(%rsp), %r12d
movq 0x10(%rsp), %rax
movq 0x20(%rsp), %rcx
incq %rcx
movslq 0x8(%r15), %rbx
cmpq %rbx, %rcx
jl 0x2a470
movq 0x8(%rsp), %r13
xorl %eax, %eax
cmpl $0x3, %ebx
setge %al
testl %r12d, %r12d
leal 0x1(%rax,%rax), %eax
cmovnel %r12d, %eax
cmpl $0x3, %ebx
jne 0x2a582
movb $0x1, %cl
movl $0x3, %ebx
cmpl $0x3, 0x4850(%r13)
je 0x2b44f
cmpl $0x0, 0x484c(%r13)
je 0x2b444
xorl %ecx, %ecx
jmp 0x2b44f
leaq 0x15412(%rip), %rax     # 0x3f9a2
jmp 0x2a697
leaq 0x15412(%rip), %rax     # 0x3f9ae
jmp 0x2a697
leaq 0x1542d(%rip), %rax     # 0x3f9d5
jmp 0x2a697
leaq 0x153d8(%rip), %rax     # 0x3f98c
jmp 0x28960
movl 0xb4(%rsp), %esi
subl 0x20(%rsp), %esi
addl $-0xe, %esi
movq 0x8(%rsp), %rdi
callq 0x31d5a
movl 0x10(%rsp), %eax
cmpl $0x10, %eax
je 0x2a9ee
cmpl $0x20, %eax
movq 0x8(%rsp), %r11
movl 0x18(%rsp), %r9d
je 0x2a954
movl $0x0, 0xac(%rsp)
cmpl $0x18, %eax
jne 0x2aa01
movl (%r11), %eax
andl $0x3, %eax
movl %eax, 0xac(%rsp)
movl $0x0, 0x74(%rsp)
jmp 0x2a992
movq %r15, %rdi
callq 0x248ff
testl %eax, %eax
je 0x2a8fe
movq %r15, %rdi
movq 0x98(%rsp), %r15
movq %r15, %rsi
movq 0xa0(%rsp), %r14
movq %r14, %rdx
movq 0x88(%rsp), %rbx
movq %rbx, %rcx
movl %r12d, %r8d
callq 0x2e75e
movl (%r15), %esi
movl (%r14), %edx
testl %r12d, %r12d
jne 0x2a669
movl (%rbx), %r12d
movq %rax, %rdi
movl %r12d, %ecx
addq $0x8968, %rsp           # imm = 0x8968
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2efa6
movl $0x0, 0x4854(%r13)
leaq 0x15326(%rip), %rax     # 0x3f9bd
movq %rax, 0x24e2a(%rip)     # 0x4f4c8
movq 0x8(%rsp), %rbp
movq (%rbp), %rax
movl 0x8(%rax), %esi
movq %rbp, %rdi
callq 0x31e41
xorl %r14d, %r14d
movq %rbp, %rdi
callq 0x6490
movq %r14, %rax
addq $0x8968, %rsp           # imm = 0x8968
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
testl %edx, %edx
jle 0x2a8a1
leaq 0x38(%r13), %rbx
leaq 0x39(%r13), %rbp
movl 0x28(%rsp), %eax
movq %rax, 0x40(%rsp)
movq 0xb8(%r13), %rcx
movq 0xc0(%r13), %rax
xorl %r12d, %r12d
cmpq %rax, %rcx
jae 0x2a713
leaq 0x1(%rcx), %rsi
movq %rsi, 0xb8(%r13)
movb (%rcx), %dl
movq %rsi, %rcx
jmp 0x2a75d
cmpl $0x0, 0x30(%r13)
je 0x2a736
movq 0x28(%r13), %rdi
movl 0x34(%r13), %edx
movq %rbx, %rsi
callq *0x10(%r13)
testl %eax, %eax
je 0x2a73a
cltq
addq %rbx, %rax
movb (%rbx), %dl
jmp 0x2a74c
xorl %edx, %edx
jmp 0x2a75d
movl $0x0, 0x30(%r13)
movb $0x0, 0x38(%r13)
xorl %edx, %edx
movq %rbp, %rax
movq %rax, 0xc0(%r13)
movq %rbp, 0xb8(%r13)
movq %rbp, %rcx
movb %dl, 0xf2(%rsp,%r12,4)
cmpq %rax, %rcx
jae 0x2a77c
leaq 0x1(%rcx), %rsi
movq %rsi, 0xb8(%r13)
movb (%rcx), %dl
movq %rsi, %rcx
jmp 0x2a7c6
cmpl $0x0, 0x30(%r13)
je 0x2a79f
movq 0x28(%r13), %rdi
movl 0x34(%r13), %edx
movq %rbx, %rsi
callq *0x10(%r13)
testl %eax, %eax
je 0x2a7a3
cltq
addq %rbx, %rax
movb (%rbx), %dl
jmp 0x2a7b5
xorl %edx, %edx
jmp 0x2a7c6
movl $0x0, 0x30(%r13)
movb $0x0, 0x38(%r13)
xorl %edx, %edx
movq %rbp, %rax
movq %rax, 0xc0(%r13)
movq %rbp, 0xb8(%r13)
movq %rbp, %rcx
movb %dl, 0xf1(%rsp,%r12,4)
cmpq %rax, %rcx
jae 0x2a7e5
leaq 0x1(%rcx), %rsi
movq %rsi, 0xb8(%r13)
movb (%rcx), %dl
movq %rsi, %rcx
jmp 0x2a82f
cmpl $0x0, 0x30(%r13)
je 0x2a808
movq 0x28(%r13), %rdi
movl 0x34(%r13), %edx
movq %rbx, %rsi
callq *0x10(%r13)
testl %eax, %eax
je 0x2a80c
cltq
addq %rbx, %rax
movb (%rbx), %dl
jmp 0x2a81e
xorl %edx, %edx
jmp 0x2a82f
movl $0x0, 0x30(%r13)
movb $0x0, 0x38(%r13)
xorl %edx, %edx
movq %rbp, %rax
movq %rax, 0xc0(%r13)
movq %rbp, 0xb8(%r13)
movq %rbp, %rcx
movb %dl, 0xf0(%rsp,%r12,4)
cmpl $0xc, 0x20(%rsp)
je 0x2a88a
cmpq %rax, %rcx
jae 0x2a848
incq %rcx
jmp 0x2a883
cmpl $0x0, 0x30(%r13)
je 0x2a88a
movq 0x28(%r13), %rdi
movl 0x34(%r13), %edx
movq %rbx, %rsi
callq *0x10(%r13)
testl %eax, %eax
je 0x2a869
cltq
addq %rbx, %rax
jmp 0x2a879
movl $0x0, 0x30(%r13)
movb $0x0, 0x38(%r13)
movq %rbp, %rax
movq %rax, 0xc0(%r13)
movq %rbp, %rcx
movq %rcx, 0xb8(%r13)
movb $-0x1, 0xf3(%rsp,%r12,4)
incq %r12
cmpq %r12, 0x40(%rsp)
jne 0x2a6fc
xorl %eax, %eax
movl 0x20(%rsp), %edx
cmpl $0xc, %edx
sete %al
movl 0xb4(%rsp), %ecx
orl $-0x4, %eax
movq 0x28(%rsp), %rsi
imull %eax, %esi
subl %edx, %esi
addl %ecx, %esi
addl $-0xe, %esi
movq %r13, %rdi
callq 0x31d5a
movl 0x10(%rsp), %eax
cmpl $0x1, %eax
je 0x2b233
cmpl $0x8, %eax
je 0x2afc7
cmpl $0x4, %eax
movq 0x8(%rsp), %r11
jne 0x2b430
movl (%r11), %eax
incl %eax
shrl %eax
jmp 0x2afcf
movq %r15, %rdi
callq 0x2f136
testl %eax, %eax
je 0x2afbb
movq %r15, %rdi
movq 0x98(%rsp), %rsi
movq 0xa0(%rsp), %rdx
movq 0x88(%rsp), %rcx
movl %r12d, %r8d
addq $0x8968, %rsp           # imm = 0x8968
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2f489
cmpl $0x1, %r12d
adcl $0x0, %r12d
xorl %ecx, %ecx
movl %r12d, %eax
jmp 0x2b44f
movl 0x78(%rsp), %eax
xorl $0xff, %eax
movl 0x68(%rsp), %ecx
xorl $0xff00, %ecx           # imm = 0xFF00
orl %eax, %ecx
movl %r13d, %eax
xorl $0xff0000, %eax         # imm = 0xFF0000
orl %ecx, %eax
movl 0x38(%rsp), %ecx
xorl $0xff000000, %ecx       # imm = 0xFF000000
movl $0x0, 0xac(%rsp)
orl %eax, %ecx
jne 0x2aa01
movb $0x1, %al
movl %eax, 0x74(%rsp)
movl $0x0, 0xd8(%rsp)
movl $0x0, 0x58(%rsp)
movl $0x0, 0xd0(%rsp)
movl $0x0, 0x64(%rsp)
movl $0x0, 0x94(%rsp)
movl $0x0, 0x48(%rsp)
movl $0x0, 0x54(%rsp)
movl $0x0, 0xe0(%rsp)
movl $0x0, 0xdc(%rsp)
jmp 0x2abb9
movq 0x8(%rsp), %rax
movl (%rax), %eax
addl %eax, %eax
andl $0x2, %eax
movl %eax, 0xac(%rsp)
testl %r13d, %r13d
setne %al
movl 0x68(%rsp), %r12d
testl %r12d, %r12d
setne %cl
andb %al, %cl
movl 0x78(%rsp), %ebx
testl %ebx, %ebx
setne %al
andb %cl, %al
cmpb $0x1, %al
jne 0x2af9b
movl %r13d, %edi
callq 0x35ae2
addl $-0x7, %eax
movl %eax, 0x58(%rsp)
movl $0x55555555, %ebp       # imm = 0x55555555
movl %r13d, %eax
andl %ebp, %eax
movl %r13d, %ecx
shrl %ecx
andl %ebp, %ecx
addl %eax, %ecx
movl $0x33333333, %edx       # imm = 0x33333333
movl %ecx, %eax
andl %edx, %eax
shrl $0x2, %ecx
andl %edx, %ecx
addl %eax, %ecx
movl %ecx, %eax
shrl $0x4, %eax
addl %ecx, %eax
movl $0xf0f0f0f, %ecx        # imm = 0xF0F0F0F
andl %ecx, %eax
movl %eax, %ecx
shrl $0x8, %ecx
addl %eax, %ecx
movl %ecx, %eax
shrl $0x10, %eax
addl %ecx, %eax
movl %r13d, 0x28(%rsp)
movl $0xff, %r13d
andl %r13d, %eax
movl %eax, 0x48(%rsp)
movl %r12d, %edi
callq 0x35ae2
addl $-0x7, %eax
movl %eax, 0xd0(%rsp)
movl %r12d, %eax
andl %ebp, %eax
shrl %r12d
andl %ebp, %r12d
addl %eax, %r12d
movl %r12d, %eax
movl $0x33333333, %edx       # imm = 0x33333333
andl %edx, %eax
shrl $0x2, %r12d
andl %edx, %r12d
movl $0x33333333, %ebp       # imm = 0x33333333
addl %eax, %r12d
movl %r12d, %eax
shrl $0x4, %eax
addl %r12d, %eax
movl $0xf0f0f0f, %r12d       # imm = 0xF0F0F0F
andl %r12d, %eax
movl %eax, %ecx
shrl $0x8, %ecx
addl %eax, %ecx
movl %ecx, %eax
shrl $0x10, %eax
addl %ecx, %eax
andl %r13d, %eax
movl %eax, 0x54(%rsp)
movl %ebx, %edi
callq 0x35ae2
addl $-0x7, %eax
movl %eax, 0x64(%rsp)
movl %ebx, %eax
movl $0x55555555, %edx       # imm = 0x55555555
andl %edx, %eax
movl %ebx, %ecx
shrl %ecx
andl %edx, %ecx
movl $0x55555555, %ebx       # imm = 0x55555555
addl %eax, %ecx
movl %ecx, %eax
andl %ebp, %eax
shrl $0x2, %ecx
andl %ebp, %ecx
addl %eax, %ecx
movl %ecx, %eax
shrl $0x4, %eax
addl %ecx, %eax
andl %r12d, %eax
movl %eax, %ecx
shrl $0x8, %ecx
addl %eax, %ecx
movl %ecx, %eax
shrl $0x10, %eax
addl %ecx, %eax
andl %r13d, %eax
movl %eax, 0xe0(%rsp)
movl 0x38(%rsp), %r12d
movl %r12d, %edi
callq 0x35ae2
movl 0x18(%rsp), %r9d
movq 0x8(%rsp), %r11
addl $-0x7, %eax
movl %eax, 0x94(%rsp)
movl %r12d, %eax
andl %ebx, %eax
shrl %r12d
andl %ebx, %r12d
addl %eax, %r12d
movl %r12d, %eax
andl %ebp, %eax
shrl $0x2, %r12d
andl %ebp, %r12d
addl %eax, %r12d
movl %r12d, %eax
shrl $0x4, %eax
addl %r12d, %eax
movl $0xf0f0f0f, %ecx        # imm = 0xF0F0F0F
andl %ecx, %eax
movl 0x30(%rsp), %r12d
movl %eax, %ecx
shrl $0x8, %ecx
addl %eax, %ecx
movl %ecx, %eax
shrl $0x10, %eax
addl %ecx, %eax
andl %r13d, %eax
movl %eax, 0xdc(%rsp)
movl 0x28(%rsp), %r13d
movb $0x1, %al
movl %eax, 0xd8(%rsp)
movl $0x0, 0x74(%rsp)
movl 0x4(%r11), %r8d
testl %r8d, %r8d
jle 0x2bd2a
movl %r13d, 0x28(%rsp)
leaq 0x38(%r11), %rax
movq %rax, 0x20(%rsp)
leaq 0x39(%r11), %rax
movq %rax, 0x40(%rsp)
xorl %r13d, %r13d
xorl %eax, %eax
movq %r14, 0x80(%rsp)
movl %eax, 0xec(%rsp)
movl (%r11), %eax
cmpb $0x0, 0xd8(%rsp)
je 0x2acd3
testl %eax, %eax
jle 0x2af5c
xorl %ebx, %ebx
movq %r11, %rdi
callq 0x355e8
movl %eax, %ebp
cmpl $0x10, 0x10(%rsp)
je 0x2ac2c
movq 0x8(%rsp), %rdi
callq 0x355e8
shll $0x10, %eax
orl %eax, %ebp
movl %ebp, %edi
andl 0x28(%rsp), %edi
movl 0x58(%rsp), %esi
movl 0x48(%rsp), %edx
callq 0x35b3e
movslq %r13d, %r12
movb %al, (%r14,%r12)
movl %ebp, %edi
andl 0x68(%rsp), %edi
movl 0xd0(%rsp), %esi
movl 0x54(%rsp), %edx
callq 0x35b3e
movb %al, 0x1(%r14,%r12)
movl %ebp, %edi
andl 0x78(%rsp), %edi
movl 0x64(%rsp), %esi
movl 0xe0(%rsp), %edx
callq 0x35b3e
movb %al, 0x2(%r14,%r12)
movl 0x38(%rsp), %eax
testl %eax, %eax
je 0x2ac9d
andl %eax, %ebp
movl %ebp, %edi
movl 0x94(%rsp), %esi
movl 0xdc(%rsp), %edx
callq 0x35b3e
jmp 0x2aca2
movl $0xff, %eax
movq 0x8(%rsp), %r11
addq $0x3, %r12
cmpl $0x4, 0x18(%rsp)
jne 0x2acbd
addl $0x4, %r13d
movb %al, (%r14,%r12)
movl %r13d, %r12d
orl %eax, %r15d
incl %ebx
movl %r12d, %r13d
cmpl (%r11), %ebx
jl 0x2ac0c
jmp 0x2af5f
testl %eax, %eax
jle 0x2af5c
movq 0xb8(%r11), %rcx
movq 0xc0(%r11), %rax
xorl %ebp, %ebp
cmpq %rax, %rcx
jae 0x2ad02
leaq 0x1(%rcx), %rsi
movq %rsi, 0xb8(%r11)
movb (%rcx), %dl
movq %rsi, %rcx
jmp 0x2ad66
cmpl $0x0, 0x30(%r11)
je 0x2ad37
movq 0x28(%r11), %rdi
movl 0x34(%r11), %edx
movq 0x20(%rsp), %r12
movq %r12, %rsi
movq %r11, %rbx
callq *0x10(%r11)
testl %eax, %eax
je 0x2ad3b
cltq
addq %r12, %rax
movb (%r12), %dl
movq %rbx, %r11
movq 0x40(%rsp), %rcx
jmp 0x2ad53
xorl %edx, %edx
jmp 0x2ad66
movl $0x0, 0x30(%rbx)
movb $0x0, 0x38(%rbx)
xorl %edx, %edx
movq 0x40(%rsp), %rcx
movq %rcx, %rax
movq %rbx, %r11
movq %rax, 0xc0(%r11)
movq %rcx, 0xb8(%r11)
movl 0x18(%rsp), %r9d
movslq %r13d, %r12
movb %dl, 0x2(%r14,%r12)
cmpq %rax, %rcx
jae 0x2ad85
leaq 0x1(%rcx), %rsi
movq %rsi, 0xb8(%r11)
movb (%rcx), %dl
movq %rsi, %rcx
jmp 0x2adfd
cmpl $0x0, 0x30(%r11)
je 0x2adc6
movq 0x28(%r11), %rdi
movl 0x34(%r11), %edx
movq 0x20(%rsp), %r14
movq %r14, %rsi
movq %r11, %rbx
callq *0x10(%r11)
testl %eax, %eax
je 0x2adca
cltq
addq %r14, %rax
movb (%r14), %dl
movq %rbx, %r11
movl 0x18(%rsp), %r9d
movq 0x80(%rsp), %r14
movq 0x40(%rsp), %rcx
jmp 0x2adef
xorl %edx, %edx
jmp 0x2adfd
movl $0x0, 0x30(%rbx)
movb $0x0, 0x38(%rbx)
xorl %edx, %edx
movq 0x40(%rsp), %rcx
movq %rcx, %rax
movq %rbx, %r11
movl 0x18(%rsp), %r9d
movq 0x80(%rsp), %r14
movq %rax, 0xc0(%r11)
movq %rcx, 0xb8(%r11)
movb %dl, 0x1(%r14,%r12)
cmpq %rax, %rcx
jae 0x2ae19
leaq 0x1(%rcx), %rsi
movq %rsi, 0xb8(%r11)
movb (%rcx), %dl
movq %rsi, %rcx
jmp 0x2ae91
cmpl $0x0, 0x30(%r11)
je 0x2ae5a
movq 0x28(%r11), %rdi
movl 0x34(%r11), %edx
movq 0x20(%rsp), %r14
movq %r14, %rsi
movq %r11, %rbx
callq *0x10(%r11)
testl %eax, %eax
je 0x2ae5e
cltq
addq %r14, %rax
movb (%r14), %dl
movq %rbx, %r11
movl 0x18(%rsp), %r9d
movq 0x80(%rsp), %r14
movq 0x40(%rsp), %rcx
jmp 0x2ae83
xorl %edx, %edx
jmp 0x2ae91
movl $0x0, 0x30(%rbx)
movb $0x0, 0x38(%rbx)
xorl %edx, %edx
movq 0x40(%rsp), %rcx
movq %rcx, %rax
movq %rbx, %r11
movl 0x18(%rsp), %r9d
movq 0x80(%rsp), %r14
movq %rax, 0xc0(%r11)
movq %rcx, 0xb8(%r11)
movb %dl, (%r14,%r12)
movb $-0x1, %dl
cmpb $0x0, 0x74(%rsp)
je 0x2af31
cmpq %rax, %rcx
jae 0x2aeb9
leaq 0x1(%rcx), %rsi
movq %rsi, 0xb8(%r11)
movb (%rcx), %dl
movq %rsi, %rcx
jmp 0x2af31
cmpl $0x0, 0x30(%r11)
je 0x2aefa
movq 0x28(%r11), %rdi
movl 0x34(%r11), %edx
movq 0x20(%rsp), %r14
movq %r14, %rsi
movq %r11, %rbx
callq *0x10(%r11)
testl %eax, %eax
je 0x2aefe
cltq
addq %r14, %rax
movb (%r14), %dl
movq %rbx, %r11
movl 0x18(%rsp), %r9d
movq 0x80(%rsp), %r14
movq 0x40(%rsp), %rcx
jmp 0x2af23
xorl %edx, %edx
jmp 0x2af31
movl $0x0, 0x30(%rbx)
movb $0x0, 0x38(%rbx)
xorl %edx, %edx
movq 0x40(%rsp), %rcx
movq %rcx, %rax
movq %rbx, %r11
movl 0x18(%rsp), %r9d
movq 0x80(%rsp), %r14
movq %rax, 0xc0(%r11)
movq %rcx, 0xb8(%r11)
addq $0x3, %r12
cmpl $0x4, %r9d
jne 0x2af46
addl $0x4, %r13d
movb %dl, (%r14,%r12)
movl %r13d, %r12d
movzbl %dl, %edx
orl %edx, %r15d
incl %ebp
movl %r12d, %r13d
cmpl (%r11), %ebp
jl 0x2aceb
jmp 0x2af5f
movl %r13d, %r12d
movq %r11, %rdi
movl 0xac(%rsp), %esi
callq 0x31d5a
movl 0x18(%rsp), %r9d
movq 0x8(%rsp), %r11
movl 0xec(%rsp), %eax
incl %eax
movl 0x4(%r11), %r8d
movl %r12d, %r13d
cmpl %r8d, %eax
movl 0x30(%rsp), %r12d
jl 0x2abea
jmp 0x2bd2a
movq %r14, %rdi
callq 0x6490
leaq 0x14f0f(%rip), %rax     # 0x3feb9
jmp 0x28960
leaq 0x14a43(%rip), %rax     # 0x3f9f9
jmp 0x2a697
leaq 0x148bf(%rip), %rax     # 0x3f881
jmp 0x28960
movq 0x8(%rsp), %r11
movl (%r11), %eax
movl 0x4(%r11), %r8d
testl %r8d, %r8d
movl 0x18(%rsp), %r9d
jle 0x2b229
negl %eax
andl $0x3, %eax
movl %eax, 0x78(%rsp)
leaq 0x38(%r11), %rax
movq %rax, 0x20(%rsp)
leaq 0x39(%r11), %rax
movq %rax, 0x40(%rsp)
xorl %r13d, %r13d
xorl %r12d, %r12d
xorl %eax, %eax
movl %eax, 0x68(%rsp)
cmpl $0x0, (%r11)
jle 0x2b200
movq 0xb8(%r11), %rcx
movq 0xc0(%r11), %rax
xorl %ebp, %ebp
movl 0x10(%rsp), %r10d
cmpq %rax, %rcx
jae 0x2b03e
leaq 0x1(%rcx), %rsi
movq %rsi, 0xb8(%r11)
movb (%rcx), %dl
movq %rsi, %rcx
jmp 0x2b0b4
cmpl $0x0, 0x30(%r11)
je 0x2b07d
movq 0x28(%r11), %rdi
movl 0x34(%r11), %edx
movq 0x20(%rsp), %r13
movq %r13, %rsi
movq %r11, %rbx
callq *0x10(%r11)
testl %eax, %eax
je 0x2b081
cltq
addq %r13, %rax
movb (%r13), %dl
movq %rbx, %r11
movl 0x18(%rsp), %r9d
movl 0x10(%rsp), %r10d
movq 0x40(%rsp), %rcx
jmp 0x2b0a3
xorl %edx, %edx
jmp 0x2b0b4
movl $0x0, 0x30(%rbx)
movb $0x0, 0x38(%rbx)
xorl %edx, %edx
movq 0x40(%rsp), %rcx
movq %rcx, %rax
movq %rbx, %r11
movl 0x18(%rsp), %r9d
movl 0x10(%rsp), %r10d
xorl %r13d, %r13d
movq %rax, 0xc0(%r11)
movq %rcx, 0xb8(%r11)
movzbl %dl, %esi
movl %esi, %edx
andl $0xf, %edx
movl %esi, %edi
shrl $0x4, %edi
cmpl $0x4, %r10d
cmovnel %esi, %edi
cmovnel %r13d, %edx
movslq %r12d, %rsi
leaq 0x3(%rsi), %rbx
movb 0xf0(%rsp,%rdi,4), %r8b
movb %r8b, (%r14,%rsi)
movb 0xf1(%rsp,%rdi,4), %r8b
movb %r8b, 0x1(%r14,%rsi)
movb 0xf2(%rsp,%rdi,4), %dil
movb %dil, 0x2(%r14,%rsi)
cmpl $0x4, %r9d
jne 0x2b10b
addl $0x4, %r12d
movb $-0x1, (%r14,%rbx)
movl %r12d, %ebx
leal 0x1(%rbp), %esi
cmpl (%r11), %esi
je 0x2b1fd
cmpl $0x8, %r10d
jne 0x2b1b0
cmpq %rax, %rcx
jae 0x2b138
leaq 0x1(%rcx), %rsi
movq %rsi, 0xb8(%r11)
movb (%rcx), %dl
movq %rsi, %rcx
jmp 0x2b1ad
cmpl $0x0, 0x30(%r11)
je 0x2b172
movq 0x28(%r11), %rdi
movl 0x34(%r11), %edx
movq 0x20(%rsp), %r13
movq %r13, %rsi
movq %r11, %r12
callq *0x10(%r11)
testl %eax, %eax
je 0x2b176
cltq
addq %r13, %rax
movb (%r13), %dl
movq %r12, %r11
movl 0x18(%rsp), %r9d
movq 0x40(%rsp), %rcx
jmp 0x2b197
xorl %edx, %edx
jmp 0x2b1ad
movl $0x0, 0x30(%r12)
movb $0x0, 0x38(%r12)
xorl %edx, %edx
movq 0x40(%rsp), %rcx
movq %rcx, %rax
movq %r12, %r11
movl 0x18(%rsp), %r9d
movq %rax, 0xc0(%r11)
movq %rcx, 0xb8(%r11)
movl 0x10(%rsp), %r10d
xorl %r13d, %r13d
movzbl %dl, %edx
movslq %ebx, %rsi
leaq 0x3(%rsi), %r12
movl %edx, %edx
movb 0xf0(%rsp,%rdx,4), %dil
movb %dil, (%r14,%rsi)
movb 0xf1(%rsp,%rdx,4), %dil
movb %dil, 0x1(%r14,%rsi)
movb 0xf2(%rsp,%rdx,4), %dl
movb %dl, 0x2(%r14,%rsi)
cmpl $0x4, %r9d
jne 0x2b1ef
addl $0x4, %ebx
movb $-0x1, (%r14,%r12)
movl %ebx, %r12d
addl $0x2, %ebp
cmpl (%r11), %ebp
jl 0x2b027
jmp 0x2b200
movl %ebx, %r12d
movq %r11, %rdi
movl 0x78(%rsp), %esi
callq 0x31d5a
movl 0x18(%rsp), %r9d
movq 0x8(%rsp), %r11
movl 0x68(%rsp), %eax
incl %eax
movl 0x4(%r11), %r8d
cmpl %r8d, %eax
jl 0x2b004
movl 0x30(%rsp), %r12d
jmp 0x2bd2a
movq 0x8(%rsp), %r11
movl 0x4(%r11), %r8d
testl %r8d, %r8d
jle 0x2bd20
movl (%r11), %eax
addl $0x7, %eax
shrl $0x3, %eax
negl %eax
andl $0x3, %eax
movl %eax, 0x68(%rsp)
leaq 0x38(%r11), %rax
movq %rax, 0x20(%rsp)
leaq 0x39(%r11), %rbp
xorl %r13d, %r13d
xorl %edx, %edx
movq %rbp, 0x40(%rsp)
movq 0xb8(%r11), %rcx
movq 0xc0(%r11), %rax
cmpq %rax, %rcx
movl %edx, 0x10(%rsp)
jae 0x2b298
leaq 0x1(%rcx), %rdx
movq %rdx, 0xb8(%r11)
movb (%rcx), %sil
movq %rdx, %rcx
jmp 0x2b2ed
cmpl $0x0, 0x30(%r11)
je 0x2b2c5
movq 0x28(%r11), %rdi
movl 0x34(%r11), %edx
movq 0x20(%rsp), %r12
movq %r12, %rsi
movq %r11, %rbx
callq *0x10(%r11)
testl %eax, %eax
je 0x2b2c9
cltq
addq %r12, %rax
movb (%r12), %sil
jmp 0x2b2d9
xorl %esi, %esi
jmp 0x2b2ed
movl $0x0, 0x30(%rbx)
movb $0x0, 0x38(%rbx)
xorl %esi, %esi
movq %rbp, %rax
movq %rbx, %r11
movq %rax, 0xc0(%rbx)
movq %rbp, 0xb8(%rbx)
movq %rbp, %rcx
movl (%r11), %edx
testl %edx, %edx
jle 0x2b3f7
movzbl %sil, %esi
xorl %ebx, %ebx
movl $0x7, %edi
xorl %r8d, %r8d
btl %edi, %esi
setb %r8b
movslq %r13d, %r9
leaq 0x3(%r9), %r12
movb 0xf0(%rsp,%r8,4), %r10b
movb %r10b, (%r14,%r9)
movb 0xf1(%rsp,%r8,4), %r10b
movb %r10b, 0x1(%r14,%r9)
movb 0xf2(%rsp,%r8,4), %r8b
movb %r8b, 0x2(%r14,%r9)
cmpl $0x4, 0x18(%rsp)
jne 0x2b34d
addl $0x4, %r13d
movb $-0x1, (%r14,%r12)
movl %r13d, %r12d
incl %ebx
cmpl %edx, %ebx
je 0x2b3fa
testl %edi, %edi
jle 0x2b362
decl %edi
jmp 0x2b3ea
cmpq %rax, %rcx
jae 0x2b37a
leaq 0x1(%rcx), %rdi
movq %rdi, 0xb8(%r11)
movb (%rcx), %sil
movq %rdi, %rcx
jmp 0x2b3e1
cmpl $0x0, 0x30(%r11)
je 0x2b3af
movq 0x28(%r11), %rdi
movl 0x34(%r11), %edx
movq 0x20(%rsp), %rbp
movq %rbp, %rsi
movq %r11, %r13
callq *0x10(%r11)
testl %eax, %eax
je 0x2b3b3
cltq
addq %rbp, %rax
movb (%rbp), %sil
movq %r13, %r11
movq 0x40(%rsp), %rbp
jmp 0x2b3cd
xorl %esi, %esi
jmp 0x2b3e1
movl $0x0, 0x30(%r13)
movb $0x0, 0x38(%r13)
xorl %esi, %esi
movq 0x40(%rsp), %rbp
movq %rbp, %rax
movq %r13, %r11
movq %rax, 0xc0(%r11)
movq %rbp, 0xb8(%r11)
movl (%r11), %edx
movq %rbp, %rcx
movzbl %sil, %esi
movl $0x7, %edi
movl %r12d, %r13d
cmpl %edx, %ebx
jl 0x2b303
jmp 0x2b3fa
movl %r13d, %r12d
movq %r11, %rdi
movl 0x68(%rsp), %esi
callq 0x31d5a
movq 0x8(%rsp), %r11
movl 0x10(%rsp), %edx
incl %edx
movl 0x4(%r11), %r8d
movl %r12d, %r13d
cmpl %r8d, %edx
movl 0x30(%rsp), %r12d
movl 0x18(%rsp), %r9d
jl 0x2b26e
jmp 0x2bd2a
movq %r14, %rdi
callq 0x6490
leaq 0x14a72(%rip), %rax     # 0x3feb1
jmp 0x28960
cmpl $0x0, 0x4848(%r13)
sete %cl
movl %ecx, 0x68(%rsp)
testb $0x1, %cl
movl $0x1, %ecx
cmovnel %ebx, %ecx
cmpl $0x3, %ebx
cmovnel %ebx, %ecx
movl %eax, 0x20(%rsp)
cmpl $0x3, %eax
cmovgel %ebx, %ecx
pxor %xmm0, %xmm0
movdqa %xmm0, 0xc0(%rsp)
movdqa %xmm0, 0xb0(%rsp)
movl (%r15), %eax
movq %rax, 0x30(%rsp)
movl %ecx, 0x40(%rsp)
testl %ecx, %ecx
jle 0x2b5b6
movq 0x30(%rsp), %rax
leal 0x3(%rax), %r13d
decl %eax
movq %rax, 0x18(%rsp)
movl 0x40(%rsp), %eax
shlq $0x4, %rax
leaq (%rax,%rax,2), %rbp
xorl %r14d, %r14d
movq 0x8(%rsp), %r12
movq %r13, %rdi
callq 0x64c0
movq %rax, 0x46e8(%r12,%r14,2)
testq %rax, %rax
je 0x2bccc
movl 0x4688(%r12), %eax
cltd
idivl 0x46a4(%r12,%r14,2)
movl %eax, %esi
movl %eax, 0x108(%rsp,%r14)
movl 0x468c(%r12), %eax
cltd
idivl 0x46a8(%r12,%r14,2)
movl %eax, %ecx
movl %eax, 0x10c(%rsp,%r14)
sarl %eax
movl %eax, 0x114(%rsp,%r14)
movq 0x18(%rsp), %rax
addl %esi, %eax
xorl %edx, %edx
divl %esi
movl %eax, 0x110(%rsp,%r14)
movl $0x0, 0x118(%rsp,%r14)
movq 0x46d0(%r12,%r14,2), %rax
movq %rax, 0x100(%rsp,%r14)
movq %rax, 0xf8(%rsp,%r14)
cmpl $0x2, %esi
je 0x2b57b
cmpl $0x1, %esi
jne 0x2b59a
cmpl $0x2, %ecx
leaq 0x6a84(%rip), %rax      # 0x31fe4
leaq 0x69a4(%rip), %rdx      # 0x31f0b
cmoveq %rdx, %rax
cmpl $0x1, %ecx
leaq 0x6992(%rip), %rcx      # 0x31f07
cmoveq %rcx, %rax
jmp 0x2b5a1
leaq 0x69ba(%rip), %rax      # 0x31f3c
cmpl $0x1, %ecx
je 0x2b5a1
cmpl $0x2, %ecx
jne 0x2b59a
movq 0x8(%rsp), %rax
movq 0x4880(%rax), %rax
jmp 0x2b5a1
leaq 0x6a43(%rip), %rax      # 0x31fe4
movq %rax, 0xf0(%rsp,%r14)
addq $0x30, %r14
cmpq %r14, %rbp
jne 0x2b4bc
movl 0x4(%r15), %ebp
movl 0x20(%rsp), %r12d
movl %r12d, %edi
movq 0x30(%rsp), %rsi
movl %ebp, %edx
movl $0x1, %ecx
callq 0x31ec4
testq %rax, %rax
je 0x2bcef
movq %rax, %r14
testl %ebp, %ebp
movq 0x8(%rsp), %rbp
je 0x2bc7d
movl %r12d, %r13d
movl 0x40(%rsp), %eax
movq %rax, 0x18(%rsp)
addq $0x46c0, %rbp           # imm = 0x46C0
movq %rbp, 0x38(%rsp)
leaq 0x1(%r14), %rax
movq %rax, 0x58(%rsp)
leaq 0x2(%r14), %rax
movq %rax, 0x48(%rsp)
leaq 0x3(%r14), %rax
movq %rax, 0x28(%rsp)
xorl %r10d, %r10d
xorl %r12d, %r12d
movq %r14, 0x80(%rsp)
movq %r13, 0x78(%rsp)
movl %r12d, 0x10(%rsp)
movq %r10, 0x30(%rsp)
movl (%r15), %ebx
cmpl $0x0, 0x40(%rsp)
jle 0x2b6ec
leaq 0x118(%rsp), %r15
movq 0x38(%rsp), %r13
xorl %r14d, %r14d
movl -0x4(%r15), %r12d
movl -0x10(%r15), %r8d
movl -0xc(%r15), %ebp
movl %ebp, %eax
sarl %eax
xorl %ecx, %ecx
xorl %edx, %edx
cmpl %eax, %r12d
setl %cl
setge %dl
movq 0x28(%r13), %rdi
shll $0x3, %edx
orq $-0x20, %rdx
movq (%r15,%rdx), %rsi
shll $0x3, %ecx
orq $-0x20, %rcx
movq (%r15,%rcx), %rdx
movl -0x8(%r15), %ecx
callq *-0x28(%r15)
movq %rax, 0xb0(%rsp,%r14,8)
incl %r12d
movl %r12d, -0x4(%r15)
cmpl %ebp, %r12d
jl 0x2b6d6
movl $0x0, -0x4(%r15)
movq -0x18(%r15), %rax
movq %rax, -0x20(%r15)
movl (%r15), %ecx
incl %ecx
movl %ecx, (%r15)
cmpl (%r13), %ecx
jge 0x2b6d6
movslq 0x4(%r13), %rcx
addq %rcx, %rax
movq %rax, -0x18(%r15)
incq %r14
addq $0x60, %r13
addq $0x30, %r15
cmpq %r14, 0x18(%rsp)
jne 0x2b65a
movl 0x20(%rsp), %r9d
cmpl $0x3, %r9d
jl 0x2b7fe
movl 0x10(%rsp), %r12d
movl %r12d, %edi
imull %r9d, %edi
imull %ebx, %edi
movq 0x80(%rsp), %r14
addq %r14, %rdi
movq 0xb0(%rsp), %rsi
movq 0x8(%rsp), %rbp
movq (%rbp), %r15
movl 0x8(%r15), %eax
cmpl $0x3, %eax
je 0x2b9ae
cmpl $0x4, %eax
movq 0x78(%rsp), %r13
movq 0x30(%rsp), %r10
jne 0x2ba52
movl 0x484c(%rbp), %eax
cmpl $0x2, %eax
je 0x2bb55
testl %eax, %eax
jne 0x2ba89
cmpl $0x0, (%r15)
je 0x2bc69
movq 0xc8(%rsp), %r11
movq 0xb8(%rsp), %rcx
movq 0xc0(%rsp), %rdx
imull %r10d, %ebx
addq 0x28(%rsp), %rbx
xorl %edi, %edi
movl $0x80, %r12d
movzbl (%r11,%rdi), %r8d
movzbl (%rsi,%rdi), %r9d
imull %r8d, %r9d
leal (%r9,%r12), %r10d
shrl $0x8, %r10d
leal (%r10,%r9), %eax
addl $0x80, %eax
movb %ah, -0x3(%rbx)
movzbl (%rcx,%rdi), %eax
imull %r8d, %eax
leal (%rax,%r12), %r9d
shrl $0x8, %r9d
addl %r9d, %eax
addl $0x80, %eax
movb %ah, -0x2(%rbx)
movzbl (%rdx,%rdi), %eax
imull %r8d, %eax
leal (%rax,%r12), %r8d
shrl $0x8, %r8d
addl %r8d, %eax
addl $0x80, %eax
movb %ah, -0x1(%rbx)
movb $-0x1, (%rbx)
incq %rdi
movl (%r15), %eax
addq %r13, %rbx
cmpq %rax, %rdi
jb 0x2b790
jmp 0x2b99f
movq 0x8(%rsp), %rbp
movq (%rbp), %r15
cmpb $0x0, 0x68(%rsp)
movq 0x80(%rsp), %r14
movl 0x10(%rsp), %r12d
je 0x2b898
movl (%r15), %eax
cmpl $0x1, %r9d
movq 0x30(%rsp), %r10
jne 0x2bab6
testl %eax, %eax
je 0x2bc69
movl %r9d, %r11d
movq 0xb0(%rsp), %rdi
movq 0xb8(%rsp), %rcx
movq 0xc0(%rsp), %rdx
imull %r10d, %ebx
addq %r14, %rbx
xorl %esi, %esi
movzbl (%rdi,%rsi), %r8d
movzbl (%rcx,%rsi), %r9d
movzbl (%rdx,%rsi), %eax
imull $0x4d, %r8d, %r8d
imull $0x96, %r9d, %r9d
addl %r8d, %r9d
leal (%rax,%rax,8), %r8d
leal (%r8,%r8,2), %r8d
addl %eax, %eax
addl %r8d, %eax
addl %r9d, %eax
movb %ah, (%rbx,%rsi)
incq %rsi
movl (%r15), %eax
cmpq %rax, %rsi
jb 0x2b859
jmp 0x2bb21
cmpl $0x4, 0x8(%r15)
movq 0x78(%rsp), %r13
movq 0x30(%rsp), %r10
movl $0x80, %r11d
jne 0x2ba16
movl 0x484c(%rbp), %eax
cmpl $0x2, %eax
je 0x2bc05
testl %eax, %eax
jne 0x2ba16
cmpl $0x0, (%r15)
je 0x2bc69
movq 0xc8(%rsp), %r8
movq 0xb0(%rsp), %rcx
movq 0xb8(%rsp), %rdx
movq 0xc0(%rsp), %rsi
imull %r10d, %ebx
addq 0x58(%rsp), %rbx
xorl %edi, %edi
movzbl (%r8,%rdi), %eax
movzbl (%rcx,%rdi), %r9d
imull %eax, %r9d
leal (%r9,%r11), %r10d
shrl $0x8, %r10d
addl %r10d, %r9d
addl $0x80, %r9d
shrl $0x8, %r9d
movzbl (%rdx,%rdi), %r10d
imull %eax, %r10d
movl $0x80, %r12d
leal (%r10,%r12), %r11d
shrl $0x8, %r11d
addl %r11d, %r10d
addl $0x80, %r10d
shrl $0x8, %r10d
movzbl (%rsi,%rdi), %r11d
imull %eax, %r11d
leal (%r11,%r12), %eax
shrl $0x8, %eax
addl %r11d, %eax
addl $0x80, %eax
movl $0x80, %r11d
shrl $0x8, %eax
imull $0x4d, %r9d, %r9d
imull $0x96, %r10d, %r10d
addl %r9d, %r10d
leal (%rax,%rax,8), %r9d
leal (%r9,%r9,2), %r9d
addl %eax, %eax
addl %r9d, %eax
addl %r10d, %eax
movb %ah, -0x1(%rbx)
movb $-0x1, (%rbx)
incq %rdi
movl (%r15), %eax
addq %r13, %rbx
cmpq %rax, %rdi
jb 0x2b8ff
movq 0x30(%rsp), %r10
movl 0x10(%rsp), %r12d
jmp 0x2bc64
cmpb $0x0, 0x68(%rsp)
movq 0x78(%rsp), %r13
movq 0x30(%rsp), %r10
je 0x2ba89
cmpl $0x0, (%r15)
je 0x2bc69
movq 0xb8(%rsp), %rax
movq 0xc0(%rsp), %rcx
imull %r10d, %ebx
addq 0x28(%rsp), %rbx
xorl %edx, %edx
movb (%rsi,%rdx), %dil
movb %dil, -0x3(%rbx)
movb (%rax,%rdx), %dil
movb %dil, -0x2(%rbx)
movb (%rcx,%rdx), %dil
movb %dil, -0x1(%rbx)
movb $-0x1, (%rbx)
incq %rdx
movl (%r15), %edi
addq %r13, %rbx
cmpq %rdi, %rdx
jb 0x2b9e8
jmp 0x2bc69
movq 0xb0(%rsp), %rax
movl (%r15), %ecx
cmpl $0x1, %r9d
jne 0x2bb29
testl %ecx, %ecx
je 0x2bc69
imull %r10d, %ebx
addq %r14, %rbx
xorl %ecx, %ecx
movb (%rax,%rcx), %dl
movb %dl, (%rbx,%rcx)
incq %rcx
movl (%r15), %edx
cmpq %rdx, %rcx
jb 0x2ba3c
jmp 0x2bc69
cmpl $0x0, (%r15)
je 0x2bc69
imull %r10d, %ebx
addq 0x28(%rsp), %rbx
xorl %eax, %eax
movb (%rsi,%rax), %cl
movb %cl, -0x1(%rbx)
movb %cl, -0x2(%rbx)
movb %cl, -0x3(%rbx)
movb $-0x1, (%rbx)
incq %rax
movl (%r15), %ecx
addq %r13, %rbx
cmpq %rcx, %rax
jb 0x2ba67
jmp 0x2bc69
movq 0xb8(%rsp), %rdx
movq 0xc0(%rsp), %rcx
movl (%r15), %r8d
movl %r9d, %ebx
callq *0x4878(%rbp)
movl %ebx, %r9d
movq 0x30(%rsp), %r10
movq (%rbp), %r15
jmp 0x2bc69
testl %eax, %eax
je 0x2bc69
movl %r9d, %r11d
movq 0xb0(%rsp), %rdi
movq 0xb8(%rsp), %rcx
movq 0xc0(%rsp), %rdx
imull %r10d, %ebx
addq %r14, %rbx
xorl %esi, %esi
movzbl (%rdi,%rsi), %r8d
movzbl (%rcx,%rsi), %r9d
movzbl (%rdx,%rsi), %eax
imull $0x4d, %r8d, %r8d
imull $0x96, %r9d, %r9d
addl %r8d, %r9d
leal (%rax,%rax,8), %r8d
leal (%r8,%r8,2), %r8d
addl %eax, %eax
addl %r8d, %eax
addl %r9d, %eax
movb %ah, (%rbx,%rsi,2)
movb $-0x1, 0x1(%rbx,%rsi,2)
incq %rsi
movl (%r15), %eax
cmpq %rax, %rsi
jb 0x2bae2
movl %r11d, %r9d
jmp 0x2bc69
testl %ecx, %ecx
je 0x2bc69
imull %r10d, %ebx
addq %r14, %rbx
xorl %ecx, %ecx
movb (%rax,%rcx), %dl
movb %dl, (%rbx,%rcx,2)
movb $-0x1, 0x1(%rbx,%rcx,2)
incq %rcx
movl (%r15), %edx
cmpq %rdx, %rcx
jb 0x2bb3a
jmp 0x2bc69
movq 0xb8(%rsp), %rdx
movq 0xc0(%rsp), %rcx
movl (%r15), %r8d
callq *0x4878(%rbp)
movq (%rbp), %r15
cmpl $0x0, (%r15)
je 0x2bc5f
movq 0xc8(%rsp), %r8
movq 0x30(%rsp), %r10
imull %r10d, %ebx
addq 0x48(%rsp), %rbx
xorl %ecx, %ecx
movl $0xff, %r9d
movl $0x80, %r11d
movzbl (%r8,%rcx), %edx
movzbl -0x2(%rbx), %esi
xorl %r9d, %esi
imull %edx, %esi
leal (%rsi,%r11), %edi
shrl $0x8, %edi
leal (%rdi,%rsi), %eax
addl $0x80, %eax
movb %ah, -0x2(%rbx)
movzbl -0x1(%rbx), %eax
xorl %r9d, %eax
imull %edx, %eax
leal (%rax,%r11), %esi
shrl $0x8, %esi
addl %esi, %eax
addl $0x80, %eax
movb %ah, -0x1(%rbx)
movzbl (%rbx), %eax
xorl %r9d, %eax
imull %edx, %eax
leal (%rax,%r11), %edx
shrl $0x8, %edx
addl %edx, %eax
addl $0x80, %eax
movb %ah, (%rbx)
incq %rcx
movl (%r15), %eax
addq %r13, %rbx
cmpq %rax, %rcx
jb 0x2bba0
jmp 0x2bc64
cmpl $0x0, (%r15)
je 0x2bc69
movq 0xb0(%rsp), %r8
movq 0xc8(%rsp), %rcx
imull %r10d, %ebx
addq 0x58(%rsp), %rbx
xorl %edx, %edx
movzbl (%r8,%rdx), %esi
movzbl (%rcx,%rdx), %edi
xorl $0xff, %esi
imull %edi, %esi
leal 0x80(%rsi), %edi
shrl $0x8, %edi
leal (%rdi,%rsi), %eax
addl $0x80, %eax
movb %ah, -0x1(%rbx)
movb $-0x1, (%rbx)
incq %rdx
movl (%r15), %eax
addq %r13, %rbx
cmpq %rax, %rdx
jb 0x2bc26
jmp 0x2bc69
movq 0x30(%rsp), %r10
movl 0x20(%rsp), %r9d
incl %r12d
addl %r9d, %r10d
cmpl 0x4(%r15), %r12d
jb 0x2b632
movl 0x8(%r15), %ebx
movq %rbp, %rdi
movl %ebx, %esi
callq 0x31e41
movq (%rbp), %rax
movl (%rax), %ecx
movq 0x98(%rsp), %rdx
movl %ecx, (%rdx)
movl 0x4(%rax), %ecx
movq 0xa0(%rsp), %rdx
movl %ecx, (%rdx)
movq 0x88(%rsp), %rdx
testq %rdx, %rdx
je 0x2a6b5
xorl %ecx, %ecx
cmpl $0x3, 0x8(%rax)
setge %cl
leal 0x1(,%rcx,2), %eax
movl %eax, (%rdx)
jmp 0x2a6b5
movq %r12, %rdi
movl %ebx, %esi
callq 0x31e41
leaq 0x13caf(%rip), %rax     # 0x3f98c
movq %rax, 0x237e4(%rip)     # 0x4f4c8
xorl %r14d, %r14d
movq %r12, %rbp
jmp 0x2a6b5
movq 0x8(%rsp), %rbp
movq %rbp, %rdi
movl %ebx, %esi
callq 0x31e41
leaq 0x13c87(%rip), %rax     # 0x3f98c
jmp 0x2890c
addl $-0x10, %edx
movl %edx, 0x4824(%r14)
leaq 0x13ce6(%rip), %rax     # 0x3fa01
jmp 0x2a697
movl 0x30(%rsp), %r12d
movl 0x18(%rsp), %r9d
cmpl $0x4, %r9d
jne 0x2c27b
testl %r15d, %r15d
jne 0x2c27b
movl (%r11), %edx
imull %r8d, %edx
shll $0x2, %edx
decl %edx
js 0x2c27b
movl %edx, %eax
shrl $0x2, %edx
leal 0x10(%rdx), %ecx
andl $0x3ffffff0, %ecx       # imm = 0x3FFFFFF0
movd %edx, %xmm0
pshufd $0x44, %xmm0, %xmm0     # xmm0 = xmm0[0,1,0,1]
addq %r14, %rax
xorl %edx, %edx
movdqa 0x1173d(%rip), %xmm3    # 0x3d4b0
movdqa 0x11745(%rip), %xmm4    # 0x3d4c0
movdqa 0x1174d(%rip), %xmm5    # 0x3d4d0
movdqa 0x11755(%rip), %xmm6    # 0x3d4e0
movdqa 0x1175d(%rip), %xmm7    # 0x3d4f0
movdqa 0x11764(%rip), %xmm8    # 0x3d500
movdqa 0x1057b(%rip), %xmm9    # 0x3c320
pcmpeqd %xmm10, %xmm10
movq %rdx, %xmm11
pshufd $0x44, %xmm11, %xmm11   # xmm11 = xmm11[0,1,0,1]
movdqa %xmm11, %xmm13
por %xmm8, %xmm13
movdqa %xmm0, %xmm12
por %xmm9, %xmm12
pxor %xmm9, %xmm13
movdqa %xmm13, %xmm15
pcmpgtd %xmm12, %xmm15
pshufd $0xa0, %xmm15, %xmm14   # xmm14 = xmm15[0,0,2,2]
pshuflw $0xe8, %xmm14, %xmm1    # xmm1 = xmm14[0,2,2,3,4,5,6,7]
pcmpeqd %xmm12, %xmm13
pshufd $0xf5, %xmm13, %xmm13   # xmm13 = xmm13[1,1,3,3]
pshuflw $0xe8, %xmm13, %xmm2    # xmm2 = xmm13[0,2,2,3,4,5,6,7]
pand %xmm1, %xmm2
pshufd $0xf5, %xmm15, %xmm15   # xmm15 = xmm15[1,1,3,3]
pshuflw $0xe8, %xmm15, %xmm1    # xmm1 = xmm15[0,2,2,3,4,5,6,7]
por %xmm2, %xmm1
pxor %xmm10, %xmm1
packssdw %xmm1, %xmm1
movd %xmm1, %esi
testb $0x1, %sil
je 0x2be1f
movb $-0x1, (%rax)
pand %xmm14, %xmm13
por %xmm15, %xmm13
packssdw %xmm13, %xmm13
pxor %xmm10, %xmm13
packssdw %xmm13, %xmm13
packsswb %xmm13, %xmm13
movd %xmm13, %esi
shrl $0x8, %esi
testb $0x1, %sil
je 0x2be4f
movb $-0x1, -0x4(%rax)
movdqa %xmm11, %xmm1
por %xmm7, %xmm1
pxor %xmm9, %xmm1
movdqa %xmm1, %xmm2
pcmpgtd %xmm12, %xmm2
pshufd $0xa0, %xmm2, %xmm13    # xmm13 = xmm2[0,0,2,2]
pcmpeqd %xmm12, %xmm1
pshufd $0xf5, %xmm1, %xmm14    # xmm14 = xmm1[1,1,3,3]
movdqa %xmm14, %xmm1
pand %xmm13, %xmm1
pshufd $0xf5, %xmm2, %xmm15    # xmm15 = xmm2[1,1,3,3]
por %xmm15, %xmm1
packssdw %xmm1, %xmm1
pxor %xmm10, %xmm1
packssdw %xmm1, %xmm1
packsswb %xmm1, %xmm1
movd %xmm1, %esi
shrl $0x10, %esi
testb $0x1, %sil
je 0x2beae
movb $-0x1, -0x8(%rax)
pshufhw $0x84, %xmm13, %xmm1    # xmm1 = xmm13[0,1,2,3,4,5,4,6]
pshufhw $0x84, %xmm14, %xmm2    # xmm2 = xmm14[0,1,2,3,4,5,4,6]
pand %xmm1, %xmm2
pshufhw $0x84, %xmm15, %xmm1    # xmm1 = xmm15[0,1,2,3,4,5,4,6]
por %xmm2, %xmm1
pxor %xmm10, %xmm1
packssdw %xmm1, %xmm1
packsswb %xmm1, %xmm1
movd %xmm1, %esi
shrl $0x18, %esi
testb $0x1, %sil
je 0x2bee6
movb $-0x1, -0xc(%rax)
movdqa %xmm11, %xmm1
por %xmm6, %xmm1
pxor %xmm9, %xmm1
movdqa %xmm1, %xmm2
pcmpgtd %xmm12, %xmm2
pshufd $0xa0, %xmm2, %xmm14    # xmm14 = xmm2[0,0,2,2]
pshuflw $0xe8, %xmm14, %xmm15   # xmm15 = xmm14[0,2,2,3,4,5,6,7]
pcmpeqd %xmm12, %xmm1
pshufd $0xf5, %xmm1, %xmm13    # xmm13 = xmm1[1,1,3,3]
pshuflw $0xe8, %xmm13, %xmm1    # xmm1 = xmm13[0,2,2,3,4,5,6,7]
pand %xmm15, %xmm1
pshufd $0xf5, %xmm2, %xmm15    # xmm15 = xmm2[1,1,3,3]
pshuflw $0xe8, %xmm15, %xmm2    # xmm2 = xmm15[0,2,2,3,4,5,6,7]
por %xmm1, %xmm2
pxor %xmm10, %xmm2
packssdw %xmm2, %xmm1
packsswb %xmm1, %xmm1
pextrw $0x2, %xmm1, %esi
testb $0x1, %sil
je 0x2bf4b
movb $-0x1, -0x10(%rax)
pand %xmm14, %xmm13
por %xmm15, %xmm13
packssdw %xmm13, %xmm13
pxor %xmm10, %xmm13
packssdw %xmm13, %xmm1
packsswb %xmm1, %xmm1
pextrw $0x2, %xmm1, %esi
shrl $0x8, %esi
testb $0x1, %sil
je 0x2bf7a
movb $-0x1, -0x14(%rax)
movdqa %xmm11, %xmm1
por %xmm5, %xmm1
pxor %xmm9, %xmm1
movdqa %xmm1, %xmm2
pcmpgtd %xmm12, %xmm2
pshufd $0xa0, %xmm2, %xmm13    # xmm13 = xmm2[0,0,2,2]
pcmpeqd %xmm12, %xmm1
pshufd $0xf5, %xmm1, %xmm14    # xmm14 = xmm1[1,1,3,3]
movdqa %xmm14, %xmm1
pand %xmm13, %xmm1
pshufd $0xf5, %xmm2, %xmm15    # xmm15 = xmm2[1,1,3,3]
por %xmm15, %xmm1
packssdw %xmm1, %xmm1
pxor %xmm10, %xmm1
packssdw %xmm1, %xmm1
packsswb %xmm1, %xmm1
pextrw $0x3, %xmm1, %esi
testb $0x1, %sil
je 0x2bfd7
movb $-0x1, -0x18(%rax)
pshufhw $0x84, %xmm13, %xmm1    # xmm1 = xmm13[0,1,2,3,4,5,4,6]
pshufhw $0x84, %xmm14, %xmm2    # xmm2 = xmm14[0,1,2,3,4,5,4,6]
pand %xmm1, %xmm2
pshufhw $0x84, %xmm15, %xmm1    # xmm1 = xmm15[0,1,2,3,4,5,4,6]
por %xmm2, %xmm1
pxor %xmm10, %xmm1
packssdw %xmm1, %xmm1
packsswb %xmm1, %xmm1
pextrw $0x3, %xmm1, %esi
shrl $0x8, %esi
testb $0x1, %sil
je 0x2c010
movb $-0x1, -0x1c(%rax)
movdqa %xmm11, %xmm1
por %xmm4, %xmm1
pxor %xmm9, %xmm1
movdqa %xmm1, %xmm2
pcmpgtd %xmm12, %xmm2
pshufd $0xa0, %xmm2, %xmm14    # xmm14 = xmm2[0,0,2,2]
pshuflw $0xe8, %xmm14, %xmm15   # xmm15 = xmm14[0,2,2,3,4,5,6,7]
pcmpeqd %xmm12, %xmm1
pshufd $0xf5, %xmm1, %xmm13    # xmm13 = xmm1[1,1,3,3]
pshuflw $0xe8, %xmm13, %xmm1    # xmm1 = xmm13[0,2,2,3,4,5,6,7]
pand %xmm15, %xmm1
pshufd $0xf5, %xmm2, %xmm15    # xmm15 = xmm2[1,1,3,3]
pshuflw $0xe8, %xmm15, %xmm2    # xmm2 = xmm15[0,2,2,3,4,5,6,7]
por %xmm1, %xmm2
pxor %xmm10, %xmm2
packssdw %xmm2, %xmm2
packsswb %xmm2, %xmm1
pextrw $0x4, %xmm1, %esi
testb $0x1, %sil
je 0x2c075
movb $-0x1, -0x20(%rax)
pand %xmm14, %xmm13
por %xmm15, %xmm13
packssdw %xmm13, %xmm13
pxor %xmm10, %xmm13
packssdw %xmm13, %xmm13
packsswb %xmm13, %xmm1
pextrw $0x4, %xmm1, %esi
shrl $0x8, %esi
testb $0x1, %sil
je 0x2c0a5
movb $-0x1, -0x24(%rax)
movdqa %xmm11, %xmm1
por %xmm3, %xmm1
pxor %xmm9, %xmm1
movdqa %xmm1, %xmm2
pcmpgtd %xmm12, %xmm2
pshufd $0xa0, %xmm2, %xmm13    # xmm13 = xmm2[0,0,2,2]
pcmpeqd %xmm12, %xmm1
pshufd $0xf5, %xmm1, %xmm14    # xmm14 = xmm1[1,1,3,3]
movdqa %xmm14, %xmm1
pand %xmm13, %xmm1
pshufd $0xf5, %xmm2, %xmm15    # xmm15 = xmm2[1,1,3,3]
por %xmm15, %xmm1
packssdw %xmm1, %xmm1
pxor %xmm10, %xmm1
packssdw %xmm1, %xmm1
packsswb %xmm1, %xmm1
pextrw $0x5, %xmm1, %esi
testb $0x1, %sil
je 0x2c102
movb $-0x1, -0x28(%rax)
pshufhw $0x84, %xmm13, %xmm1    # xmm1 = xmm13[0,1,2,3,4,5,4,6]
pshufhw $0x84, %xmm14, %xmm2    # xmm2 = xmm14[0,1,2,3,4,5,4,6]
pand %xmm1, %xmm2
pshufhw $0x84, %xmm15, %xmm1    # xmm1 = xmm15[0,1,2,3,4,5,4,6]
por %xmm2, %xmm1
pxor %xmm10, %xmm1
packssdw %xmm1, %xmm1
packsswb %xmm1, %xmm1
pextrw $0x5, %xmm1, %esi
shrl $0x8, %esi
testb $0x1, %sil
je 0x2c13b
movb $-0x1, -0x2c(%rax)
movdqa %xmm11, %xmm1
por 0x11358(%rip), %xmm1    # 0x3d4a0
pxor %xmm9, %xmm1
movdqa %xmm1, %xmm2
pcmpgtd %xmm12, %xmm2
pshufd $0xa0, %xmm2, %xmm14    # xmm14 = xmm2[0,0,2,2]
pshuflw $0xe8, %xmm14, %xmm15   # xmm15 = xmm14[0,2,2,3,4,5,6,7]
pcmpeqd %xmm12, %xmm1
pshufd $0xf5, %xmm1, %xmm13    # xmm13 = xmm1[1,1,3,3]
pshuflw $0xe8, %xmm13, %xmm1    # xmm1 = xmm13[0,2,2,3,4,5,6,7]
pand %xmm15, %xmm1
pshufd $0xf5, %xmm2, %xmm15    # xmm15 = xmm2[1,1,3,3]
pshuflw $0xe8, %xmm15, %xmm2    # xmm2 = xmm15[0,2,2,3,4,5,6,7]
por %xmm1, %xmm2
pxor %xmm10, %xmm2
packssdw %xmm2, %xmm1
packsswb %xmm1, %xmm1
pextrw $0x6, %xmm1, %esi
testb $0x1, %sil
je 0x2c1a4
movb $-0x1, -0x30(%rax)
pand %xmm14, %xmm13
por %xmm15, %xmm13
packssdw %xmm13, %xmm13
pxor %xmm10, %xmm13
packssdw %xmm13, %xmm1
packsswb %xmm1, %xmm1
pextrw $0x6, %xmm1, %esi
shrl $0x8, %esi
testb $0x1, %sil
je 0x2c1d3
movb $-0x1, -0x34(%rax)
por 0x112b4(%rip), %xmm11   # 0x3d490
pxor %xmm9, %xmm11
movdqa %xmm11, %xmm1
pcmpgtd %xmm12, %xmm1
pshufd $0xa0, %xmm1, %xmm13    # xmm13 = xmm1[0,0,2,2]
pcmpeqd %xmm12, %xmm11
pshufd $0xf5, %xmm11, %xmm11   # xmm11 = xmm11[1,1,3,3]
movdqa %xmm11, %xmm2
pand %xmm13, %xmm2
pshufd $0xf5, %xmm1, %xmm12    # xmm12 = xmm1[1,1,3,3]
por %xmm12, %xmm2
packssdw %xmm2, %xmm1
pxor %xmm10, %xmm1
packssdw %xmm1, %xmm1
packsswb %xmm1, %xmm1
pextrw $0x7, %xmm1, %esi
testb $0x1, %sil
je 0x2c231
movb $-0x1, -0x38(%rax)
pshufhw $0x84, %xmm13, %xmm1    # xmm1 = xmm13[0,1,2,3,4,5,4,6]
pshufhw $0x84, %xmm11, %xmm2    # xmm2 = xmm11[0,1,2,3,4,5,4,6]
pand %xmm1, %xmm2
pshufhw $0x84, %xmm12, %xmm1    # xmm1 = xmm12[0,1,2,3,4,5,4,6]
por %xmm2, %xmm1
pxor %xmm10, %xmm1
packssdw %xmm1, %xmm1
packsswb %xmm1, %xmm1
pextrw $0x7, %xmm1, %esi
shrl $0x8, %esi
testb $0x1, %sil
je 0x2c26a
movb $-0x1, -0x3c(%rax)
addq $0x10, %rdx
addq $-0x40, %rax
cmpq %rdx, %rcx
jne 0x2bdaa
cmpl $0x0, 0xe8(%rsp)
jle 0x2c2ed
movl %r8d, %edx
sarl %edx
movl (%r11), %ecx
testl %edx, %edx
jle 0x2c2f0
movq %r14, %r15
movl %ecx, %eax
imull %r9d, %eax
movl %edx, %edx
leal -0x1(%r8), %esi
imull %eax, %esi
xorl %edi, %edi
xorl %r9d, %r9d
testl %eax, %eax
jle 0x2c2d2
movl %esi, %r10d
addq %r15, %r10
movl %edi, %r11d
addq %r15, %r11
xorl %ebx, %ebx
movb (%r11,%rbx), %bpl
movb (%r10,%rbx), %r14b
movb %r14b, (%r11,%rbx)
movb %bpl, (%r10,%rbx)
incq %rbx
cmpq %rbx, %rax
jne 0x2c2ba
incq %r9
subl %eax, %esi
addl %eax, %edi
cmpq %rdx, %r9
jne 0x2c2a8
movq %r15, %r14
movq 0x8(%rsp), %r11
movl 0x18(%rsp), %r9d
jmp 0x2c2f0
movl (%r11), %ecx
testl %r12d, %r12d
je 0x2c31c
cmpl %r12d, %r9d
je 0x2c31c
movq %r14, %rdi
movl %r9d, %esi
movl %r12d, %edx
callq 0x33d4f
testq %rax, %rax
je 0x28967
movq %rax, %r14
movq 0x8(%rsp), %r11
movl (%r11), %ecx
movq 0x98(%rsp), %rax
movl %ecx, (%rax)
movl 0x4(%r11), %eax
movq 0xa0(%rsp), %rcx
movl %eax, (%rcx)
movq 0x88(%rsp), %rcx
testq %rcx, %rcx
je 0x2a6bd
movl 0x8(%r11), %eax
movl %eax, (%rcx)
jmp 0x2a6bd
leaq 0x136bb(%rip), %rdi     # 0x3fa12
leaq 0x134b5(%rip), %rsi     # 0x3f813
leaq 0x136ff(%rip), %rcx     # 0x3fa64
movl $0x7a0, %edx            # imm = 0x7A0
callq 0x6250