// File: /workspace/github_c_makefile_star2_O3/Joy-Division[P]tools-mgs/lodepng/lodepng.c
// Function: lodepng_deflate
unsigned lodepng_deflate(unsigned char** out, size_t* outsize,
                         const unsigned char* in, size_t insize,
                         const LodePNGCompressSettings* settings)
{
  unsigned error;
  ucvector v;
  ucvector_init_buffer(&v, *out, *outsize);
  error = lodepng_deflatev(&v, in, insize, settings);
  *out = v.data;
  *outsize = v.size;
  return error;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1f8, %rsp            # imm = 0x1F8
movq %rdx, 0xc8(%rsp)
movq %rdi, %rbp
movq (%rdi), %rax
movq (%rsi), %rdx
movq %rax, (%rsp)
movq %rdx, 0x8(%rsp)
movq %rdx, 0x10(%rsp)
movq $0x0, 0x48(%rsp)
movl (%r8), %eax
movl $0x3d, %edx
cmpl $0x2, %eax
ja 0x4339
movq %rcx, %rdi
cmpl $0x1, %eax
movq %rcx, 0x28(%rsp)
je 0x29d1
testl %eax, %eax
jne 0x29ab
leaq 0xfffe(%rcx), %rdi
movabsq $-0x7fff7fff7fff7fff, %rdx # imm = 0x8000800080008001
movq %rdi, %rax
mulq %rdx
cmpq $0xffff, %rdi           # imm = 0xFFFF
jae 0x308d
xorl %edx, %edx
jmp 0x4339
movq %rcx, %rax
shrq $0x3, %rax
cmpq $0xfff9, %rax           # imm = 0xFFF9
movl $0xfff8, %edi           # imm = 0xFFF8
cmovaeq %rax, %rdi
movl $0x3fff8, %eax          # imm = 0x3FFF8
cmpq %rax, %rdi
cmovaeq %rax, %rdi
addq $0x8, %rdi
movq %rsi, 0x88(%rsp)
decq %rcx
leaq (%rcx,%rdi), %rax
xorl %edx, %edx
divq %rdi
movq %rdi, 0x78(%rsp)
addq %rdi, %rcx
movl $0x1, %ecx
cmovaeq %rax, %rcx
movq %rcx, 0x70(%rsp)
movq %r8, 0x68(%rsp)
movl 0x8(%r8), %r15d
movl $0x40000, %edi          # imm = 0x40000
callq 0x1100
movq %rax, %r12
movq %rax, 0x1c8(%rsp)
leaq (,%r15,4), %r14
movq %r14, %rdi
callq 0x1100
movq %rax, %r13
movq %rax, 0x1d8(%rsp)
leaq (%r15,%r15), %rbx
movq %rbx, %rdi
callq 0x1100
movq %rax, 0x198(%rsp)
movq %rax, 0x1d0(%rsp)
movq %rbx, %rdi
callq 0x1100
movq %rax, 0x190(%rsp)
movq %rax, 0x1f0(%rsp)
movl $0x40c, %edi            # imm = 0x40C
callq 0x1100
movq %rax, 0xc0(%rsp)
movq %rax, 0x1e0(%rsp)
movq %rbx, %rdi
callq 0x1100
movq %rax, 0x1e8(%rsp)
movl $0x53, %edx
movq %r13, 0x188(%rsp)
testq %r13, %r13
je 0x341d
testq %r12, %r12
movq 0x88(%rsp), %rsi
je 0x4339
movq 0x198(%rsp), %r13
testq %r13, %r13
je 0x4339
cmpq $0x0, 0x190(%rsp)
je 0x4339
cmpq $0x0, 0xc0(%rsp)
je 0x4339
testq %rax, %rax
je 0x4339
movq %rax, 0x180(%rsp)
movl $0x40000, %edx          # imm = 0x40000
movq %r12, %rdi
movl $0xff, %esi
callq 0x10b0
testq %r15, %r15
movq %r12, 0x1c0(%rsp)
je 0x342a
movabsq $0x1fffffff8, %r12      # imm = 0x1FFFFFFF8
movq 0x188(%rsp), %rdi
movl $0xff, %esi
movq %r14, %rdx
callq 0x10b0
leaq 0x7(%r15), %rbx
movq %rbx, %rax
andq $-0x8, %rax
decq %r15
movq %r15, %xmm0
pshufd $0x44, %xmm0, %xmm10    # xmm10 = xmm0[0,1,0,1]
movdqa 0xb514(%rip), %xmm0     # 0xe070
movdqa 0xb51c(%rip), %xmm1     # 0xe080
movdqa 0xb4d4(%rip), %xmm2     # 0xe040
movdqa 0xb49c(%rip), %xmm3     # 0xe010
xorl %ecx, %ecx
movdqa 0xb4d1(%rip), %xmm11    # 0xe050
pxor %xmm11, %xmm10
pcmpeqd %xmm4, %xmm4
movdqa 0xb4ff(%rip), %xmm12    # 0xe090
movq 0x78(%rsp), %r8
movdqa %xmm3, %xmm5
pxor %xmm11, %xmm5
movdqa %xmm5, %xmm7
pcmpgtd %xmm10, %xmm7
pshufd $0xa0, %xmm7, %xmm6     # xmm6 = xmm7[0,0,2,2]
pshuflw $0xe8, %xmm6, %xmm8     # xmm8 = xmm6[0,2,2,3,4,5,6,7]
pcmpeqd %xmm10, %xmm5
pshufd $0xf5, %xmm5, %xmm5     # xmm5 = xmm5[1,1,3,3]
pshuflw $0xe8, %xmm5, %xmm9     # xmm9 = xmm5[0,2,2,3,4,5,6,7]
pand %xmm8, %xmm9
pshufd $0xf5, %xmm7, %xmm7     # xmm7 = xmm7[1,1,3,3]
pshuflw $0xe8, %xmm7, %xmm8     # xmm8 = xmm7[0,2,2,3,4,5,6,7]
por %xmm9, %xmm8
pxor %xmm4, %xmm8
packssdw %xmm8, %xmm8
movd %xmm8, %edx
testb $0x1, %dl
je 0x2bf2
movw %cx, (%r13,%rcx,2)
pand %xmm6, %xmm5
por %xmm7, %xmm5
packssdw %xmm5, %xmm5
pxor %xmm4, %xmm5
packssdw %xmm5, %xmm5
movd %xmm5, %edx
shrl $0x10, %edx
testb $0x1, %dl
je 0x2c1b
leal 0x1(%rcx), %edx
movw %dx, 0x2(%r13,%rcx,2)
movdqa %xmm2, %xmm6
pxor %xmm11, %xmm6
movdqa %xmm6, %xmm7
pcmpgtd %xmm10, %xmm7
pshufd $0xa0, %xmm7, %xmm5     # xmm5 = xmm7[0,0,2,2]
pcmpeqd %xmm10, %xmm6
pshufd $0xf5, %xmm6, %xmm6     # xmm6 = xmm6[1,1,3,3]
movdqa %xmm6, %xmm8
pand %xmm5, %xmm8
pshufd $0xf5, %xmm7, %xmm7     # xmm7 = xmm7[1,1,3,3]
por %xmm7, %xmm8
packssdw %xmm8, %xmm8
pxor %xmm4, %xmm8
packssdw %xmm8, %xmm8
pextrw $0x2, %xmm8, %edx
testb $0x1, %dl
je 0x2c73
leal 0x2(%rcx), %edx
movw %dx, 0x4(%r13,%rcx,2)
pshufhw $0x84, %xmm5, %xmm5     # xmm5 = xmm5[0,1,2,3,4,5,4,6]
pshufhw $0x84, %xmm6, %xmm6     # xmm6 = xmm6[0,1,2,3,4,5,4,6]
pand %xmm5, %xmm6
pshufhw $0x84, %xmm7, %xmm5     # xmm5 = xmm7[0,1,2,3,4,5,4,6]
por %xmm6, %xmm5
pxor %xmm4, %xmm5
packssdw %xmm5, %xmm5
pextrw $0x3, %xmm5, %edx
testb $0x1, %dl
je 0x2ca5
leal 0x3(%rcx), %edx
movw %dx, 0x6(%r13,%rcx,2)
movdqa %xmm1, %xmm5
pxor %xmm11, %xmm5
movdqa %xmm5, %xmm7
pcmpgtd %xmm10, %xmm7
pshufd $0xa0, %xmm7, %xmm6     # xmm6 = xmm7[0,0,2,2]
pshuflw $0xe8, %xmm6, %xmm8     # xmm8 = xmm6[0,2,2,3,4,5,6,7]
pcmpeqd %xmm10, %xmm5
pshufd $0xf5, %xmm5, %xmm5     # xmm5 = xmm5[1,1,3,3]
pshuflw $0xe8, %xmm5, %xmm9     # xmm9 = xmm5[0,2,2,3,4,5,6,7]
pand %xmm8, %xmm9
pshufd $0xf5, %xmm7, %xmm7     # xmm7 = xmm7[1,1,3,3]
pshuflw $0xe8, %xmm7, %xmm8     # xmm8 = xmm7[0,2,2,3,4,5,6,7]
por %xmm9, %xmm8
pxor %xmm4, %xmm8
packssdw %xmm8, %xmm8
pextrw $0x4, %xmm8, %edx
testb $0x1, %dl
je 0x2d05
leal 0x4(%rcx), %edx
movw %dx, 0x8(%r13,%rcx,2)
pand %xmm6, %xmm5
por %xmm7, %xmm5
packssdw %xmm5, %xmm5
pxor %xmm4, %xmm5
packssdw %xmm5, %xmm5
pextrw $0x5, %xmm5, %edx
testb $0x1, %dl
je 0x2d2c
leal 0x5(%rcx), %edx
movw %dx, 0xa(%r13,%rcx,2)
movdqa %xmm0, %xmm6
pxor %xmm11, %xmm6
movdqa %xmm6, %xmm7
pcmpgtd %xmm10, %xmm7
pshufd $0xa0, %xmm7, %xmm5     # xmm5 = xmm7[0,0,2,2]
pcmpeqd %xmm10, %xmm6
pshufd $0xf5, %xmm6, %xmm6     # xmm6 = xmm6[1,1,3,3]
movdqa %xmm6, %xmm8
pand %xmm5, %xmm8
pshufd $0xf5, %xmm7, %xmm7     # xmm7 = xmm7[1,1,3,3]
por %xmm7, %xmm8
packssdw %xmm8, %xmm8
pxor %xmm4, %xmm8
packssdw %xmm8, %xmm8
pextrw $0x6, %xmm8, %edx
testb $0x1, %dl
je 0x2d84
leal 0x6(%rcx), %edx
movw %dx, 0xc(%r13,%rcx,2)
pshufhw $0x84, %xmm5, %xmm5     # xmm5 = xmm5[0,1,2,3,4,5,4,6]
pshufhw $0x84, %xmm6, %xmm6     # xmm6 = xmm6[0,1,2,3,4,5,4,6]
pand %xmm5, %xmm6
pshufhw $0x84, %xmm7, %xmm5     # xmm5 = xmm7[0,1,2,3,4,5,4,6]
por %xmm6, %xmm5
pxor %xmm4, %xmm5
packssdw %xmm5, %xmm5
pextrw $0x7, %xmm5, %edx
testb $0x1, %dl
je 0x2db6
leal 0x7(%rcx), %edx
movw %dx, 0xe(%r13,%rcx,2)
addq $0x8, %rcx
paddq %xmm12, %xmm3
paddq %xmm12, %xmm2
paddq %xmm12, %xmm1
paddq %xmm12, %xmm0
cmpq %rcx, %rax
jne 0x2b96
movl $0x40c, %edx            # imm = 0x40C
movq 0xc0(%rsp), %rdi
movl $0xff, %esi
movq %r8, %r14
movdqa %xmm10, 0x90(%rsp)
callq 0x10b0
movdqa 0xb28c(%rip), %xmm12    # 0xe090
movdqa 0xb243(%rip), %xmm11    # 0xe050
movdqa 0x90(%rsp), %xmm10
movq %r14, %r8
andq %r12, %rbx
movdqa 0xb24b(%rip), %xmm0     # 0xe070
movdqa 0xb253(%rip), %xmm1     # 0xe080
movdqa 0xb20b(%rip), %xmm2     # 0xe040
movdqa 0xb1d3(%rip), %xmm3     # 0xe010
xorl %eax, %eax
pcmpeqd %xmm4, %xmm4
movq 0x28(%rsp), %rdx
movq 0x180(%rsp), %rsi
movdqa %xmm3, %xmm5
pxor %xmm11, %xmm5
movdqa %xmm5, %xmm7
pcmpgtd %xmm10, %xmm7
pshufd $0xa0, %xmm7, %xmm6     # xmm6 = xmm7[0,0,2,2]
pshuflw $0xe8, %xmm6, %xmm8     # xmm8 = xmm6[0,2,2,3,4,5,6,7]
pcmpeqd %xmm10, %xmm5
pshufd $0xf5, %xmm5, %xmm5     # xmm5 = xmm5[1,1,3,3]
pshuflw $0xe8, %xmm5, %xmm9     # xmm9 = xmm5[0,2,2,3,4,5,6,7]
pand %xmm8, %xmm9
pshufd $0xf5, %xmm7, %xmm7     # xmm7 = xmm7[1,1,3,3]
pshuflw $0xe8, %xmm7, %xmm8     # xmm8 = xmm7[0,2,2,3,4,5,6,7]
por %xmm9, %xmm8
pxor %xmm4, %xmm8
packssdw %xmm8, %xmm8
movd %xmm8, %ecx
testb $0x1, %cl
je 0x2eaa
movw %ax, (%rsi,%rax,2)
pand %xmm6, %xmm5
por %xmm7, %xmm5
packssdw %xmm5, %xmm5
pxor %xmm4, %xmm5
packssdw %xmm5, %xmm5
movd %xmm5, %ecx
shrl $0x10, %ecx
testb $0x1, %cl
je 0x2ed2
leal 0x1(%rax), %ecx
movw %cx, 0x2(%rsi,%rax,2)
movdqa %xmm2, %xmm6
pxor %xmm11, %xmm6
movdqa %xmm6, %xmm7
pcmpgtd %xmm10, %xmm7
pshufd $0xa0, %xmm7, %xmm5     # xmm5 = xmm7[0,0,2,2]
pcmpeqd %xmm10, %xmm6
pshufd $0xf5, %xmm6, %xmm6     # xmm6 = xmm6[1,1,3,3]
movdqa %xmm6, %xmm8
pand %xmm5, %xmm8
pshufd $0xf5, %xmm7, %xmm7     # xmm7 = xmm7[1,1,3,3]
por %xmm7, %xmm8
packssdw %xmm8, %xmm8
pxor %xmm4, %xmm8
packssdw %xmm8, %xmm8
pextrw $0x2, %xmm8, %ecx
testb $0x1, %cl
je 0x2f29
leal 0x2(%rax), %ecx
movw %cx, 0x4(%rsi,%rax,2)
pshufhw $0x84, %xmm5, %xmm5     # xmm5 = xmm5[0,1,2,3,4,5,4,6]
pshufhw $0x84, %xmm6, %xmm6     # xmm6 = xmm6[0,1,2,3,4,5,4,6]
pand %xmm5, %xmm6
pshufhw $0x84, %xmm7, %xmm5     # xmm5 = xmm7[0,1,2,3,4,5,4,6]
por %xmm6, %xmm5
pxor %xmm4, %xmm5
packssdw %xmm5, %xmm5
pextrw $0x3, %xmm5, %ecx
testb $0x1, %cl
je 0x2f5a
leal 0x3(%rax), %ecx
movw %cx, 0x6(%rsi,%rax,2)
movdqa %xmm1, %xmm5
pxor %xmm11, %xmm5
movdqa %xmm5, %xmm7
pcmpgtd %xmm10, %xmm7
pshufd $0xa0, %xmm7, %xmm6     # xmm6 = xmm7[0,0,2,2]
pshuflw $0xe8, %xmm6, %xmm8     # xmm8 = xmm6[0,2,2,3,4,5,6,7]
pcmpeqd %xmm10, %xmm5
pshufd $0xf5, %xmm5, %xmm5     # xmm5 = xmm5[1,1,3,3]
pshuflw $0xe8, %xmm5, %xmm9     # xmm9 = xmm5[0,2,2,3,4,5,6,7]
pand %xmm8, %xmm9
pshufd $0xf5, %xmm7, %xmm7     # xmm7 = xmm7[1,1,3,3]
pshuflw $0xe8, %xmm7, %xmm8     # xmm8 = xmm7[0,2,2,3,4,5,6,7]
por %xmm9, %xmm8
pxor %xmm4, %xmm8
packssdw %xmm8, %xmm8
pextrw $0x4, %xmm8, %ecx
testb $0x1, %cl
je 0x2fb9
leal 0x4(%rax), %ecx
movw %cx, 0x8(%rsi,%rax,2)
pand %xmm6, %xmm5
por %xmm7, %xmm5
packssdw %xmm5, %xmm5
pxor %xmm4, %xmm5
packssdw %xmm5, %xmm5
pextrw $0x5, %xmm5, %ecx
testb $0x1, %cl
je 0x2fdf
leal 0x5(%rax), %ecx
movw %cx, 0xa(%rsi,%rax,2)
movdqa %xmm0, %xmm6
pxor %xmm11, %xmm6
movdqa %xmm6, %xmm7
pcmpgtd %xmm10, %xmm7
pshufd $0xa0, %xmm7, %xmm5     # xmm5 = xmm7[0,0,2,2]
pcmpeqd %xmm10, %xmm6
pshufd $0xf5, %xmm6, %xmm6     # xmm6 = xmm6[1,1,3,3]
movdqa %xmm6, %xmm8
pand %xmm5, %xmm8
pshufd $0xf5, %xmm7, %xmm7     # xmm7 = xmm7[1,1,3,3]
por %xmm7, %xmm8
packssdw %xmm8, %xmm8
pxor %xmm4, %xmm8
packssdw %xmm8, %xmm8
pextrw $0x6, %xmm8, %ecx
testb $0x1, %cl
je 0x3036
leal 0x6(%rax), %ecx
movw %cx, 0xc(%rsi,%rax,2)
pshufhw $0x84, %xmm5, %xmm5     # xmm5 = xmm5[0,1,2,3,4,5,4,6]
pshufhw $0x84, %xmm6, %xmm6     # xmm6 = xmm6[0,1,2,3,4,5,4,6]
pand %xmm5, %xmm6
pshufhw $0x84, %xmm7, %xmm5     # xmm5 = xmm7[0,1,2,3,4,5,4,6]
por %xmm6, %xmm5
pxor %xmm4, %xmm5
packssdw %xmm5, %xmm5
pextrw $0x7, %xmm5, %ecx
testb $0x1, %cl
je 0x3067
leal 0x7(%rax), %ecx
movw %cx, 0xe(%rsi,%rax,2)
addq $0x8, %rax
paddq %xmm12, %xmm3
paddq %xmm12, %xmm2
paddq %xmm12, %xmm1
paddq %xmm12, %xmm0
cmpq %rax, %rbx
jne 0x2e50
jmp 0x344b
movq %rdx, %r12
movq %rbp, 0x120(%rsp)
movq %rsi, 0x88(%rsp)
shrq $0xf, %r12
leaq -0x1(%r12), %rax
movq %rax, 0x128(%rsp)
movq $0x0, 0x80(%rsp)
movl $0x0, 0x90(%rsp)
movq %r12, 0x18(%rsp)
movq (%rsp), %rbp
movq 0x8(%rsp), %r15
leaq 0x1(%r15), %rbx
movq 0x10(%rsp), %r13
cmpq %rbx, %r13
jae 0x311f
leaq (,%r13,2), %rax
leaq (%rbx,%rbx,2), %r14
shrq %r14
cmpq %rbx, %rax
cmovbq %rbx, %r14
movq %rbp, %rdi
movq %r14, %rsi
callq 0x1130
testq %rax, %rax
je 0x33d6
movq %r14, 0x10(%rsp)
movq %rax, (%rsp)
movq %rax, %rbp
movq 0x28(%rsp), %rcx
movq 0x80(%rsp), %rax
cmpq 0x128(%rsp), %rax
movq %rbx, 0x8(%rsp)
sete (%rbp,%r15)
movq (%rsp), %rbp
movq 0x10(%rsp), %r13
addq $0x2, %r15
movq %r15, %rbx
movl 0x90(%rsp), %edx
movl %edx, %esi
movq %rcx, %rax
subq %rsi, %rax
movl %ecx, %edi
subl %edx, %edi
cmpq $0xffff, %rax           # imm = 0xFFFF
movl $0xffff, %eax           # imm = 0xFFFF
cmovael %eax, %edi
movl %edi, %eax
cmpq %rbx, %r13
movq %rsi, 0x50(%rsp)
jae 0x31bd
movl %eax, %r15d
leaq (,%r13,2), %rax
leaq (%rbx,%rbx,2), %r14
shrq %r14
cmpq %rbx, %rax
cmovbq %rbx, %r14
movq %rbp, %rdi
movq %r14, %rsi
callq 0x1130
testq %rax, %rax
je 0x33e0
movq %r14, 0x10(%rsp)
movq %rax, (%rsp)
movq %rax, %rbp
movq 0x28(%rsp), %rcx
movq 0x50(%rsp), %rsi
movl %r15d, %eax
movq %rbx, 0x8(%rsp)
movb %al, -0x1(%rbp,%rbx)
movq (%rsp), %rbp
movq 0x8(%rsp), %rbx
movq 0x10(%rsp), %r13
incq %rbx
cmpq %rbx, %r13
jae 0x3222
movl %eax, %r15d
leaq (,%r13,2), %rax
leaq (%rbx,%rbx,2), %r14
shrq %r14
cmpq %rbx, %rax
cmovbq %rbx, %r14
movq %rbp, %rdi
movq %r14, %rsi
callq 0x1130
testq %rax, %rax
je 0x33f2
movq %r14, 0x10(%rsp)
movq %rax, (%rsp)
movq %rax, %rbp
movq 0x28(%rsp), %rcx
movq 0x50(%rsp), %rsi
movl %r15d, %eax
movq %rbx, 0x8(%rsp)
movb %ah, -0x1(%rbp,%rbx)
movq (%rsp), %rbp
movq 0x8(%rsp), %rbx
movq 0x10(%rsp), %r13
incq %rbx
movl $0xffff, %edx           # imm = 0xFFFF
subl %eax, %edx
cmpq %rbx, %r13
jae 0x328e
movl %edx, %r15d
leaq (,%r13,2), %rax
leaq (%rbx,%rbx,2), %r14
shrq %r14
cmpq %rbx, %rax
cmovbq %rbx, %r14
movq %rbp, %rdi
movq %r14, %rsi
callq 0x1130
testq %rax, %rax
je 0x3404
movq %r14, 0x10(%rsp)
movq %rax, (%rsp)
movq %rax, %rbp
movq 0x28(%rsp), %rcx
movq 0x50(%rsp), %rsi
movl %r15d, %edx
movq %rbx, 0x8(%rsp)
movb %dl, -0x1(%rbp,%rbx)
movq (%rsp), %rbp
movq 0x8(%rsp), %rbx
movq 0x10(%rsp), %r13
incq %rbx
cmpq %rbx, %r13
jae 0x32ea
movl %edx, %r15d
addq %r13, %r13
leaq (%rbx,%rbx,2), %r14
shrq %r14
cmpq %rbx, %r13
cmovbq %rbx, %r14
movq %rbp, %rdi
movq %r14, %rsi
callq 0x1130
movq 0x50(%rsp), %rsi
movq 0x28(%rsp), %rcx
testq %rax, %rax
je 0x32f3
movq %rax, %rbp
movq %r14, 0x10(%rsp)
movq %rax, (%rsp)
movl %r15d, %edx
movq %rbx, 0x8(%rsp)
movb %dh, -0x1(%rbp,%rbx)
cmpq %rsi, %rcx
jbe 0x33b8
movq (%rsp), %r12
movq 0x8(%rsp), %r14
movq 0x10(%rsp), %rbx
movq %rsi, %rdx
xorl %r15d, %r15d
movq 0xc8(%rsp), %rax
movb (%rax,%rdx), %dl
leaq 0x1(%r14), %rbp
cmpq %rbp, %rbx
jae 0x3367
leaq (%rbx,%rbx), %rax
leaq (,%rbp,2), %r13
addq %rbp, %r13
shrq %r13
cmpq %rbp, %rax
cmovbq %rbp, %r13
movq %r12, %rdi
movq %r13, %rsi
movb %dl, 0x90(%rsp)
callq 0x1130
movb 0x90(%rsp), %dl
movq 0x50(%rsp), %rsi
movq 0x28(%rsp), %rcx
testq %rax, %rax
jne 0x336d
jmp 0x337a
movq %r12, %rax
movq %rbx, %r13
movb %dl, -0x1(%rax,%rbp)
movq %rax, %r12
movq %r13, %rbx
movq %rbp, %r14
leaq 0x1(%r15), %rax
cmpq $0xfffd, %r15           # imm = 0xFFFD
ja 0x339c
leaq (%rsi,%r15), %rdx
incq %rdx
movl %edx, %edx
movq %rax, %r15
cmpq %rcx, %rdx
jb 0x3310
movq %r14, 0x8(%rsp)
movq %rbx, 0x10(%rsp)
movq %r12, (%rsp)
addl %eax, %esi
movl %esi, 0x90(%rsp)
movq 0x18(%rsp), %r12
movq 0x80(%rsp), %rdx
incq %rdx
movq %rdx, 0x80(%rsp)
cmpq %r12, %rdx
jne 0x30cd
jmp 0x3416
movq 0x28(%rsp), %rcx
jmp 0x314a
movq 0x28(%rsp), %rcx
movq 0x50(%rsp), %rsi
movl %r15d, %eax
jmp 0x31d7
movq 0x28(%rsp), %rcx
movq 0x50(%rsp), %rsi
movl %r15d, %eax
jmp 0x323c
movq 0x28(%rsp), %rcx
movq 0x50(%rsp), %rsi
movl %r15d, %edx
jmp 0x32a8
xorl %edx, %edx
jmp 0x4329
movq 0x88(%rsp), %rsi
jmp 0x4339
movl $0x40c, %edx            # imm = 0x40C
movq 0xc0(%rsp), %rdi
movl $0xff, %esi
callq 0x10b0
movq 0x28(%rsp), %rdx
movq 0x78(%rsp), %r8
movq %rbp, 0x120(%rsp)
movq 0x70(%rsp), %r13
testq %r13, %r13
je 0x42d3
leaq -0x1(%r13), %rax
movq %rax, 0x128(%rsp)
movq 0xc8(%rsp), %r15
xorl %ecx, %ecx
movq %r8, %rsi
xorl %edi, %edi
movq 0x68(%rsp), %rbx
cmpq %rsi, %rdx
movq %rsi, %r12
cmovbq %rdx, %r12
addq %rcx, %r12
xorl %r10d, %r10d
cmpq 0x128(%rsp), %rdi
sete %r10b
movq %rdi, %r14
imulq %r8, %r14
leaq (%r14,%r8), %rbp
cmpq %rdx, %rbp
cmovaeq %rdx, %rbp
movl (%rbx), %eax
cmpl $0x2, %eax
je 0x354b
movl $0x0, %r9d
cmpl $0x1, %eax
jne 0x3b6c
movl %r10d, 0x18(%rsp)
movq %rdi, 0x80(%rsp)
movq %rsi, 0x50(%rsp)
movq %rcx, 0x90(%rsp)
movq %r15, 0x58(%rsp)
pxor %xmm0, %xmm0
movdqa %xmm0, 0xa0(%rsp)
xorl %eax, %eax
movq %rax, 0xb0(%rsp)
movdqa %xmm0, 0xf0(%rsp)
movq %rax, 0x100(%rsp)
leaq 0xa0(%rsp), %rdi
callq 0xa7ea
leaq 0xf0(%rsp), %rdi
callq 0xa892
movq 0x48(%rsp), %r15
movq (%rsp), %rbx
movq 0x8(%rsp), %r13
testb $0x7, %r15b
je 0x3636
movl 0x18(%rsp), %edx
jmp 0x37bd
movl %r10d, 0x18(%rsp)
movq %rdi, 0x80(%rsp)
movq %rsi, 0x50(%rsp)
movq %rcx, 0x90(%rsp)
pxor %xmm0, %xmm0
movdqa %xmm0, 0x150(%rsp)
xorl %eax, %eax
movq %rax, 0x160(%rsp)
movdqa %xmm0, 0xa0(%rsp)
movq %rax, 0xb0(%rsp)
movdqa %xmm0, 0xf0(%rsp)
movq %rax, 0x100(%rsp)
movdqa %xmm0, 0x130(%rsp)
movq %rax, 0x140(%rsp)
movdqa %xmm0, 0xd0(%rsp)
movq %rax, 0xe0(%rsp)
movdqa %xmm0, 0x30(%rsp)
movq %rax, 0x40(%rsp)
movdqa %xmm0, 0x1a0(%rsp)
movq %rax, 0x1b0(%rsp)
cmpl $0x0, 0x4(%rbx)
je 0x3693
movl 0x8(%rbx), %r9d
movl 0xc(%rbx), %eax
movl 0x10(%rbx), %r10d
movl 0x14(%rbx), %r11d
subq $0x8, %rsp
leaq 0x158(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
movq 0xd0(%rsp), %rdx
movq %r14, %rcx
movq %rbp, %r8
pushq %r11
pushq %r10
pushq %rax
callq 0xad0f
addq $0x20, %rsp
testl %eax, %eax
je 0x36cd
movl %eax, 0x20(%rsp)
jmp 0x3a82
leaq 0x1(%r13), %rcx
movq 0x10(%rsp), %rax
cmpq %rcx, %rax
jae 0x37a8
addq %rax, %rax
leaq (%rcx,%rcx,2), %rsi
shrq %rsi
cmpq %rcx, %rax
movq %rcx, 0x20(%rsp)
cmovbq %rcx, %rsi
movq %rbx, %rdi
movq %rsi, 0x60(%rsp)
callq 0x1130
testq %rax, %rax
movl 0x18(%rsp), %edx
je 0x37bd
movq 0x60(%rsp), %rcx
movq %rcx, 0x10(%rsp)
movq %rax, (%rsp)
movq %rax, %rbx
movq 0x20(%rsp), %rcx
jmp 0x37ac
movq %rbp, %rsi
subq %r14, %rsi
leaq 0x150(%rsp), %rdi
callq 0xacb8
testl %eax, %eax
je 0x3a7a
cmpq %r14, %rbp
jbe 0x36cd
movq 0x150(%rsp), %rax
xorl %ecx, %ecx
movzbl (%r15,%rcx), %edx
movl %edx, (%rax,%rcx,4)
incq %rcx
cmpq %rcx, %r12
jne 0x36bd
movl $0x1, %edi
movl $0x478, %esi            # imm = 0x478
callq 0x10c0
movl $0x53, 0x20(%rsp)
testq %rax, %rax
je 0x3a82
movq %rax, %r14
movl $0x1, %edi
movl $0x78, %esi
callq 0x10c0
testq %rax, %rax
je 0x3a85
movq %rax, %r12
movq 0x158(%rsp), %rax
testq %rax, %rax
je 0x3746
movq 0x150(%rsp), %rcx
xorl %edx, %edx
movl (%rcx,%rdx,4), %esi
incl (%r14,%rsi,4)
cmpq $0x101, %rsi            # imm = 0x101
jb 0x373e
movl 0x8(%rcx,%rdx,4), %esi
incl (%r12,%rsi,4)
addq $0x3, %rdx
incq %rdx
cmpq %rax, %rdx
jne 0x3722
movl $0x1, 0x400(%r14)
movl $0x101, %edx            # imm = 0x101
movl $0x11e, %ecx            # imm = 0x11E
leaq 0xa0(%rsp), %rdi
movq %r14, %rsi
movl $0xf, %r8d
callq 0xb5e8
testl %eax, %eax
jne 0x379d
movl $0x2, %edx
movl $0x1e, %ecx
leaq 0xf0(%rsp), %rdi
movq %r12, %rsi
movl $0xf, %r8d
callq 0xb5e8
testl %eax, %eax
je 0x3b8f
xorl %ebp, %ebp
movl %eax, 0x20(%rsp)
jmp 0x3a8a
movl 0x18(%rsp), %edx
movq %rcx, 0x8(%rsp)
movb $0x0, -0x1(%rbx,%rcx)
movq (%rsp), %rbx
movq %rcx, %r13
movl %r15d, %ecx
andb $0x7, %cl
shll %cl, %edx
orb %dl, -0x1(%rbx,%r13)
leaq 0x1(%r15), %rbx
movq (%rsp), %rdx
movq 0x8(%rsp), %r13
testb $0x7, %bl
jne 0x3845
leaq 0x1(%r13), %rcx
movq 0x10(%rsp), %rax
cmpq %rcx, %rax
jae 0x3834
addq %rax, %rax
leaq (%rcx,%rcx,2), %rsi
shrq %rsi
cmpq %rcx, %rax
movq %rcx, 0x20(%rsp)
cmovbq %rcx, %rsi
movq %rdx, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movq %rsi, 0x60(%rsp)
callq 0x1130
movq 0x18(%rsp), %rdx
testq %rax, %rax
je 0x3845
movq 0x60(%rsp), %rcx
movq %rcx, 0x10(%rsp)
movq %rax, (%rsp)
movq %rax, %rdx
movq 0x20(%rsp), %rcx
movq %rcx, 0x8(%rsp)
movb $0x0, -0x1(%rdx,%rcx)
movq (%rsp), %rdx
movq %rcx, %r13
andb $0x7, %bl
movb $0x1, %al
movl %ebx, %ecx
shlb %cl, %al
orb %al, -0x1(%rdx,%r13)
leal 0x2(%r15), %eax
testb $0x7, %al
jne 0x38ad
movq (%rsp), %rax
movq 0x8(%rsp), %r13
incq %r13
movq 0x10(%rsp), %rcx
cmpq %r13, %rcx
jae 0x38a2
addq %rcx, %rcx
leaq (,%r13,2), %rbx
addq %r13, %rbx
shrq %rbx
cmpq %r13, %rcx
cmovbq %r13, %rbx
movq %rax, %rdi
movq %rbx, %rsi
callq 0x1130
testq %rax, %rax
je 0x38ad
movq %rbx, 0x10(%rsp)
movq %rax, (%rsp)
movq %r13, 0x8(%rsp)
movb $0x0, -0x1(%rax,%r13)
addq $0x3, %r15
movq %r15, 0x48(%rsp)
movq 0x68(%rsp), %rcx
cmpl $0x0, 0x4(%rcx)
je 0x394d
pxor %xmm0, %xmm0
movdqa %xmm0, 0x130(%rsp)
movq $0x0, 0x140(%rsp)
movl 0x8(%rcx), %r9d
movl 0xc(%rcx), %eax
movl 0x10(%rcx), %r10d
movl 0x14(%rcx), %r11d
subq $0x8, %rsp
leaq 0x138(%rsp), %rbx
movq %rbx, %rdi
leaq 0x1d0(%rsp), %rsi
movq 0xd0(%rsp), %rdx
movq %r14, %rcx
movq %rbp, %r8
pushq %r11
pushq %r10
pushq %rax
callq 0xad0f
addq $0x20, %rsp
testl %eax, %eax
movq 0x58(%rsp), %r15
je 0x3999
movl %eax, %ebp
movq 0x130(%rsp), %rdi
callq 0x1030
movq 0xa8(%rsp), %rbx
movq 0xb0(%rsp), %r13
jmp 0x3a05
movq 0xa8(%rsp), %rbx
movq 0xb0(%rsp), %r13
cmpq %r14, %rbp
jbe 0x39de
xorl %r14d, %r14d
movq %rsp, %rbp
movq 0x58(%rsp), %r15
movzbl (%r15,%r14), %eax
shll $0x2, %eax
movl (%rbx,%rax), %edx
movl (%r13,%rax), %ecx
leaq 0x48(%rsp), %rdi
movq %rbp, %rsi
callq 0xb4a3
incq %r14
cmpq %r14, %r12
jne 0x396d
leaq 0x48(%rsp), %r14
jmp 0x39eb
leaq 0x48(%rsp), %r14
movq %r14, %rdi
movq %rsp, %rbp
movq %rbp, %rsi
movq %rbx, %rdx
leaq 0xa0(%rsp), %rcx
leaq 0xf0(%rsp), %r8
callq 0xb3b5
movq 0x130(%rsp), %rdi
callq 0x1030
movq 0xa8(%rsp), %rbx
movq 0xb0(%rsp), %r13
jmp 0x39eb
movq %rsp, %rbp
leaq 0x48(%rsp), %r14
movq 0x58(%rsp), %r15
movl 0x400(%rbx), %edx
movl 0x400(%r13), %ecx
movq %r14, %rdi
movq %rbp, %rsi
callq 0xb4a3
xorl %ebp, %ebp
movq 0xa0(%rsp), %rdi
callq 0x1030
movq %rbx, %rdi
callq 0x1030
movq %r13, %rdi
callq 0x1030
movq 0xf0(%rsp), %rdi
callq 0x1030
movq 0xf8(%rsp), %rdi
callq 0x1030
movq 0x100(%rsp), %rdi
callq 0x1030
movq 0x28(%rsp), %rdx
movq 0x68(%rsp), %rbx
movq 0x70(%rsp), %r13
movq 0x90(%rsp), %rcx
movq 0x50(%rsp), %rsi
movq 0x80(%rsp), %rdi
movq 0x78(%rsp), %r8
movl %ebp, %r9d
jmp 0x3b6c
movl $0x53, 0x20(%rsp)
xorl %r14d, %r14d
xorl %r12d, %r12d
xorl %ebp, %ebp
movq 0x150(%rsp), %rdi
callq 0x1030
movq 0xa0(%rsp), %rdi
callq 0x1030
movq 0xa8(%rsp), %rdi
callq 0x1030
movq 0xb0(%rsp), %rdi
callq 0x1030
movq 0xf0(%rsp), %rdi
callq 0x1030
movq 0xf8(%rsp), %rdi
callq 0x1030
movq 0x100(%rsp), %rdi
callq 0x1030
movq 0x130(%rsp), %rdi
callq 0x1030
movq 0x138(%rsp), %rdi
callq 0x1030
movq 0x140(%rsp), %rdi
callq 0x1030
movq %r14, %rdi
callq 0x1030
movq %r12, %rdi
callq 0x1030
movq %rbp, %rdi
callq 0x1030
movq 0x30(%rsp), %rdi
callq 0x1030
movq 0xd0(%rsp), %rdi
callq 0x1030
movq 0x1a0(%rsp), %rdi
callq 0x1030
movq 0x28(%rsp), %rdx
movq 0x90(%rsp), %rcx
movq 0x50(%rsp), %rsi
movq 0x80(%rsp), %rdi
movq 0x78(%rsp), %r8
movl 0x20(%rsp), %r9d
incq %rdi
cmpq %r13, %rdi
je 0x42d6
addq %r8, %rsi
subq %r8, %rcx
addq %r8, %r15
testl %r9d, %r9d
je 0x3481
jmp 0x42d6
movq %r12, 0x178(%rsp)
movq %r14, 0x60(%rsp)
movq %r15, 0x58(%rsp)
movl 0xbc(%rsp), %eax
movl $0x11e, %ecx            # imm = 0x11E
cmpl %ecx, %eax
movl $0x11e, %r14d           # imm = 0x11E
cmovbl %eax, %r14d
movl 0x10c(%rsp), %ebx
cmpl $0x1e, %ebx
movl $0x1e, %ecx
cmovbl %ebx, %ecx
movq %rcx, 0x170(%rsp)
testl %eax, %eax
leaq 0xd0(%rsp), %r13
je 0x3c21
movq 0xb0(%rsp), %r15
xorl %r12d, %r12d
movl (%r15,%r12,4), %ebp
movq 0xd8(%rsp), %rsi
incq %rsi
movq %r13, %rdi
callq 0xacb8
testl %eax, %eax
je 0x3c19
movq 0xd0(%rsp), %rax
movq 0xd8(%rsp), %rcx
movl %ebp, -0x4(%rax,%rcx,4)
incq %r12
cmpq %r12, %r14
jne 0x3bea
movq %r14, 0x1b8(%rsp)
testl %ebx, %ebx
movq 0x170(%rsp), %r14
je 0x3c77
movq 0x100(%rsp), %rbx
xorl %r15d, %r15d
movl (%rbx,%r15,4), %ebp
movq 0xd8(%rsp), %rsi
incq %rsi
movq %r13, %rdi
callq 0xacb8
testl %eax, %eax
je 0x3c6f
movq 0xd0(%rsp), %rax
movq 0xd8(%rsp), %rcx
movl %ebp, -0x4(%rax,%rcx,4)
incq %r15
cmpq %r15, %r14
jne 0x3c40
movl 0xd8(%rsp), %ebx
testq %rbx, %rbx
movq 0x78(%rsp), %r14
movq 0x58(%rsp), %r15
je 0x3efa
movq 0xd0(%rsp), %r13
xorl %ebp, %ebp
leaq 0x1(%rbp), %rax
movl (%r13,%rbp,4), %r12d
cmpq %rbx, %rax
jae 0x3d3d
xorl %r15d, %r15d
movq %rax, %rcx
cmpl %r12d, (%r13,%rcx,4)
jne 0x3cc6
incl %r15d
leaq (%rax,%r15), %rcx
cmpq %rbx, %rcx
jb 0x3cb3
testl %r12d, %r12d
setne %al
cmpl $0x2, %r15d
setb %cl
orb %al, %cl
jne 0x3d6b
leal 0x1(%r15), %r12d
cmpl $0xa, %r12d
ja 0x3e6c
movq 0x38(%rsp), %rsi
incq %rsi
leaq 0x30(%rsp), %rdi
callq 0xacb8
movq 0x38(%rsp), %rsi
testl %eax, %eax
je 0x3d11
movq 0x30(%rsp), %rax
movl $0x11, -0x4(%rax,%rsi,4)
incq %rsi
leaq 0x30(%rsp), %rdi
callq 0xacb8
testl %eax, %eax
je 0x3ede
leal -0x2(%r15), %eax
movq 0x30(%rsp), %rcx
movq 0x38(%rsp), %rdx
movl %eax, -0x4(%rcx,%rdx,4)
jmp 0x3ede
movq 0x38(%rsp), %rsi
incq %rsi
leaq 0x30(%rsp), %rdi
callq 0xacb8
testl %eax, %eax
je 0x3eee
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
movl %r12d, -0x4(%rax,%rcx,4)
jmp 0x3eee
movq 0x38(%rsp), %rsi
cmpl $0x3, %r15d
jb 0x3ecc
incq %rsi
leaq 0x30(%rsp), %rdi
callq 0xacb8
testl %eax, %eax
je 0x3d9a
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
movl %r12d, -0x4(%rax,%rcx,4)
movl %r15d, %r14d
movl $0xaaaaaaab, %eax       # imm = 0xAAAAAAAB
imulq %rax, %r14
shrq $0x22, %r14
cmpl $0x6, %r15d
jb 0x3e03
movl %r14d, %r12d
movq 0x38(%rsp), %rsi
incq %rsi
leaq 0x30(%rsp), %rdi
callq 0xacb8
movq 0x38(%rsp), %rsi
testl %eax, %eax
je 0x3ddb
movq 0x30(%rsp), %rax
movl $0x10, -0x4(%rax,%rsi,4)
incq %rsi
leaq 0x30(%rsp), %rdi
callq 0xacb8
testl %eax, %eax
je 0x3dfe
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
movl $0x3, -0x4(%rax,%rcx,4)
decq %r12
jne 0x3db3
addl %r14d, %r14d
leal (%r14,%r14,2), %eax
movl %r15d, %r12d
subl %eax, %r12d
cmpl $0x3, %r12d
jb 0x3edb
movq 0x38(%rsp), %rsi
incq %rsi
leaq 0x30(%rsp), %rdi
callq 0xacb8
movq 0x38(%rsp), %rsi
testl %eax, %eax
je 0x3e42
movq 0x30(%rsp), %rax
movl $0x10, -0x4(%rax,%rsi,4)
incq %rsi
leaq 0x30(%rsp), %rdi
callq 0xacb8
testl %eax, %eax
je 0x3ede
addl $-0x3, %r12d
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
movl %r12d, -0x4(%rax,%rcx,4)
jmp 0x3ede
movl $0x8a, %eax
cmpl %eax, %r12d
cmovael %eax, %r12d
movq 0x38(%rsp), %rsi
incq %rsi
leaq 0x30(%rsp), %rdi
callq 0xacb8
movq 0x38(%rsp), %rsi
testl %eax, %eax
je 0x3ea0
movq 0x30(%rsp), %rax
movl $0x12, -0x4(%rax,%rsi,4)
incq %rsi
leaq 0x30(%rsp), %rdi
callq 0xacb8
testl %eax, %eax
je 0x3ec4
leal -0xb(%r12), %eax
movq 0x30(%rsp), %rcx
movq 0x38(%rsp), %rdx
movl %eax, -0x4(%rcx,%rdx,4)
decl %r12d
movl %r12d, %r15d
jmp 0x3ede
movq 0x78(%rsp), %r14
movq 0x58(%rsp), %r15
jmp 0x3d42
subl %r12d, %r15d
movl %r15d, %eax
addq %rax, %rbp
movq 0x78(%rsp), %r14
movq 0x58(%rsp), %r15
incq %rbp
cmpq %rbx, %rbp
jne 0x3c9b
movl $0x1, %edi
movl $0x4c, %esi
callq 0x10c0
testq %rax, %rax
movq 0x178(%rsp), %r12
je 0x3f7d
movq %rax, %rbp
movq 0x38(%rsp), %r13
testq %r13, %r13
movq 0x68(%rsp), %rbx
movq 0x60(%rsp), %r14
je 0x3f4b
movq 0x30(%rsp), %rax
xorl %ecx, %ecx
movl (%rax,%rcx,4), %edx
incl (%rbp,%rdx,4)
cmpq $0x10, %rdx
sbbq $-0x1, %rcx
incq %rcx
cmpq %r13, %rcx
jne 0x3f34
movl $0x13, %edx
movl $0x13, %ecx
leaq 0x130(%rsp), %rdi
movq %rbp, %rsi
movl $0x7, %r8d
callq 0xb5e8
testl %eax, %eax
je 0x3f93
movl %eax, 0x20(%rsp)
movq 0x70(%rsp), %r13
jmp 0x3a8a
xorl %ebp, %ebp
movq 0x68(%rsp), %rbx
movq 0x70(%rsp), %r13
movq 0x60(%rsp), %r14
jmp 0x3a8a
movl 0x14c(%rsp), %ebx
leaq 0x1a0(%rsp), %rdi
movq %rbx, %rsi
callq 0xacb8
testl %eax, %eax
je 0x403d
movq %rbp, 0x118(%rsp)
testq %rbx, %rbx
leaq 0xa8dc(%rip), %rdi      # 0xe8a0
je 0x3fee
movq 0x140(%rsp), %rax
movq 0x1a0(%rsp), %rcx
shlq $0x2, %rbx
xorl %edx, %edx
movl (%rdx,%rdi), %esi
movl (%rax,%rsi,4), %esi
movl %esi, (%rcx,%rdx)
addq $0x4, %rdx
cmpq %rdx, %rbx
jne 0x3fdc
movq 0x68(%rsp), %rbx
movl 0x18(%rsp), %edx
movq 0x1b8(%rsp), %r14
movq 0x1a0(%rsp), %r15
movq 0x1a8(%rsp), %rbp
cmpq $0x5, %rbp
jb 0x4047
cmpl $0x0, -0x4(%r15,%rbp,4)
jne 0x4047
decq %rbp
leaq 0x1a0(%rsp), %rdi
movq %rbp, %rsi
callq 0xacb8
movl 0x18(%rsp), %edx
testl %eax, %eax
jne 0x3fff
jmp 0x42b7
movq 0x68(%rsp), %rbx
jmp 0x3f73
movq 0x48(%rsp), %r12
testb $0x7, %r12b
jne 0x407b
movq 0x8(%rsp), %rbx
incq %rbx
movq %rsp, %rdi
movq %rbx, %rsi
callq 0xa7a0
movl 0x18(%rsp), %edx
testl %eax, %eax
je 0x407b
movq %rbx, 0x8(%rsp)
movq (%rsp), %rax
movb $0x0, -0x1(%rax,%rbx)
movl %r12d, %ecx
andb $0x7, %cl
shll %cl, %edx
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
orb %dl, -0x1(%rax,%rcx)
leal 0x1(%r12), %eax
testb $0x7, %al
jne 0x40be
movq 0x8(%rsp), %rbx
incq %rbx
movq %rsp, %rdi
movq %rbx, %rsi
callq 0xa7a0
testl %eax, %eax
je 0x40be
movq %rbx, 0x8(%rsp)
movq (%rsp), %rax
movb $0x0, -0x1(%rax,%rbx)
leaq 0x2(%r12), %rbx
testb $0x7, %bl
jne 0x40f4
movq 0x8(%rsp), %rsi
incq %rsi
movq %rsp, %rdi
movq %rsi, 0x18(%rsp)
callq 0xa7a0
testl %eax, %eax
je 0x40f4
movq 0x18(%rsp), %rcx
movq %rcx, 0x8(%rsp)
movq (%rsp), %rax
movb $0x0, -0x1(%rax,%rcx)
andb $0x7, %bl
movb $0x1, %al
movl %ebx, %ecx
shlb %cl, %al
movq (%rsp), %rcx
movq 0x8(%rsp), %rdx
orb %al, -0x1(%rcx,%rdx)
addq $0x3, %r12
movq %r12, 0x48(%rsp)
leal -0x4(%rbp), %eax
movq %rax, %rcx
negq %rcx
addq $0x3, %rax
xorl %ebx, %ebx
movq %rbx, %r12
incq %rbx
movq %rcx, %rdx
addq %r12, %rdx
je 0x413c
movl %eax, %edx
decq %rax
cmpl $0x0, (%r15,%rdx,4)
je 0x4122
addl $0xfffffeff, %r14d      # imm = 0xFFFFFEFF
movl %ebp, %eax
subl %ebx, %eax
addl $-0x3, %eax
movl %eax, 0x18(%rsp)
movq %r14, %rdx
movq 0x170(%rsp), %r14
decl %r14d
leal 0x1(%rbp), %eax
movl %eax, 0x20(%rsp)
movl $0x5, %ecx
leaq 0x48(%rsp), %rdi
movq %rsp, %rsi
callq 0xb564
movl $0x5, %ecx
leaq 0x48(%rsp), %rdi
movq %rsp, %rsi
movl %r14d, %edx
movq %rdi, %r14
callq 0xb564
movl $0x4, %ecx
movq %r14, %rdi
movq %rsp, %rsi
movq %rsi, %r14
movl 0x18(%rsp), %edx
callq 0xb564
cmpl %ebx, 0x20(%rsp)
je 0x41cd
subl %r12d, %ebp
xorl %ebx, %ebx
movl (%r15,%rbx,4), %edx
movl $0x3, %ecx
leaq 0x48(%rsp), %rdi
movq %r14, %rsi
callq 0xb564
incq %rbx
cmpq %rbx, %rbp
jne 0x41af
testq %r13, %r13
je 0x4242
movq 0x30(%rsp), %rbx
movq 0x138(%rsp), %r14
movq 0x140(%rsp), %rax
movq %rax, 0x18(%rsp)
xorl %ebp, %ebp
movl (%rbx,%rbp,4), %eax
movl (%r14,%rax,4), %edx
movq 0x18(%rsp), %rcx
movl (%rcx,%rax,4), %ecx
leaq 0x48(%rsp), %r12
movq %r12, %rdi
movq %rsp, %r15
movq %r15, %rsi
callq 0xb4a3
movl (%rbx,%rbp,4), %eax
addl $-0x10, %eax
cmpl $0x2, %eax
ja 0x423a
movl %eax, %eax
leaq 0xa74c(%rip), %rcx      # 0xe970
movq (%rcx,%rax,8), %rcx
movl 0x4(%rbx,%rbp,4), %edx
incq %rbp
movq %r12, %rdi
movq %r15, %rsi
callq 0xb564
incq %rbp
cmpq %r13, %rbp
jne 0x41ee
leaq 0x48(%rsp), %r15
movq %r15, %rdi
movq %rsp, %rbx
movq %rbx, %rsi
leaq 0x150(%rsp), %rdx
leaq 0xa0(%rsp), %rcx
leaq 0xf0(%rsp), %r8
callq 0xb3b5
movq 0xb0(%rsp), %rax
movl 0x400(%rax), %ecx
testl %ecx, %ecx
movq 0x178(%rsp), %r12
je 0x42aa
movq 0xa8(%rsp), %rax
movl 0x400(%rax), %edx
movq %r15, %rdi
movq %rbx, %rsi
callq 0xb4a3
movl $0x0, 0x20(%rsp)
jmp 0x42b2
movl $0x40, 0x20(%rsp)
movq 0x68(%rsp), %rbx
movq 0x70(%rsp), %r13
movq 0x58(%rsp), %r15
movq 0x60(%rsp), %r14
movq 0x118(%rsp), %rbp
jmp 0x3a8a
xorl %r9d, %r9d
movq 0x1c0(%rsp), %rdi
movl %r9d, %ebx
callq 0x1030
movq 0x188(%rsp), %rdi
callq 0x1030
movq 0x198(%rsp), %rdi
callq 0x1030
movq 0x190(%rsp), %rdi
callq 0x1030
movq 0xc0(%rsp), %rdi
callq 0x1030
movq 0x180(%rsp), %rdi
callq 0x1030
movl %ebx, %edx
movq 0x88(%rsp), %rsi
movq 0x120(%rsp), %rbp
movq (%rsp), %rax
movq %rax, (%rbp)
movq 0x8(%rsp), %rax
movq %rax, (%rsi)
movl %edx, %eax
addq $0x1f8, %rsp            # imm = 0x1F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq