// File: attractivechaos[P]udb2/stb/./stb.h
// Function: stb_compress_chunk
static int stb_compress_chunk(stb_uchar *history,
                              stb_uchar *start,
                              stb_uchar *end,
                              int length,
                              int *pending_literals,
                              stb_uchar **chash,
                              stb_uint mask)
{
   int window = stb__window;
   stb_uint match_max;
   stb_uchar *lit_start = start - *pending_literals;
   stb_uchar *q = start;

   #define STB__SCRAMBLE(h)   (((h) + ((h) >> 16)) & mask)

   // stop short of the end so we don't scan off the end doing
   // the hashing; this means we won't compress the last few bytes
   // unless they were part of something longer
   while (q < start+length && q+12 < end) {
      int m;
      stb_uint h1,h2,h3,h4, h;
      stb_uchar *t;
      int best = 2, dist=0;

      if (q+65536 > end)
         match_max = end-q;
      else
         match_max = 65536;

      #define stb__nc(b,d)  ((d) <= window && ((b) > 9 || stb_not_crap(b,d)))

      #define STB__TRY(t,p)  /* avoid retrying a match we already tried */ \
                      if (p ? dist != q-t : 1)                             \
                      if ((m = stb_matchlen(t, q, match_max)) > best)     \
                      if (stb__nc(m,q-(t)))                                \
                          best = m, dist = q - (t)

      // rather than search for all matches, only try 4 candidate locations,
      // chosen based on 4 different hash functions of different lengths.
      // this strategy is inspired by LZO; hashing is unrolled here using the
      // 'hc' macro
      h = stb__hc3(q,0, 1, 2); h1 = STB__SCRAMBLE(h);
                                      t = chash[h1]; if (t) STB__TRY(t,0);
      h = stb__hc2(q,h, 3, 4); h2 = STB__SCRAMBLE(h);
      h = stb__hc2(q,h, 5, 6);        t = chash[h2]; if (t) STB__TRY(t,1);
      h = stb__hc2(q,h, 7, 8); h3 = STB__SCRAMBLE(h);
      h = stb__hc2(q,h, 9,10);        t = chash[h3]; if (t) STB__TRY(t,1);
      h = stb__hc2(q,h,11,12); h4 = STB__SCRAMBLE(h);
                                      t = chash[h4]; if (t) STB__TRY(t,1);

      // because we use a shared hash table, can only update it
      // _after_ we've probed all of them
      chash[h1] = chash[h2] = chash[h3] = chash[h4] = q;

      if (best > 2)
         assert(dist > 0);

      // see if our best match qualifies
      if (best < 3) { // fast path literals
         ++q;
      } else if (best > 2  &&  best <= 0x80    &&  dist <= 0x100) {
         outliterals(lit_start, q-lit_start); lit_start = (q += best);
         stb_out(0x80 + best-1);
         stb_out(dist-1);
      } else if (best > 5  &&  best <= 0x100   &&  dist <= 0x4000) {
         outliterals(lit_start, q-lit_start); lit_start = (q += best);
         stb_out2(0x4000 + dist-1);       
         stb_out(best-1);
      } else if (best > 7  &&  best <= 0x100   &&  dist <= 0x80000) {
         outliterals(lit_start, q-lit_start); lit_start = (q += best);
         stb_out3(0x180000 + dist-1);     
         stb_out(best-1);
      } else if (best > 8  &&  best <= 0x10000 &&  dist <= 0x80000) {
         outliterals(lit_start, q-lit_start); lit_start = (q += best);
         stb_out3(0x100000 + dist-1);     
         stb_out2(best-1);
      } else if (best > 9                      &&  dist <= 0x1000000) {
         if (best > 65536) best = 65536;
         outliterals(lit_start, q-lit_start); lit_start = (q += best);
         if (best <= 0x100) {
            stb_out(0x06);
            stb_out3(dist-1);
            stb_out(best-1);
         } else {
            stb_out(0x04);
            stb_out3(dist-1);
            stb_out2(best-1);
         }
      } else {  // fallback literals if no match was a balanced tradeoff
         ++q;
      }
   }

   // if we didn't get all the way, add the rest to literals
   if (q-start < length)
      q = start+length;

   // the literals are everything from lit_start to q
   *pending_literals = (q - lit_start);

   stb__running_adler = stb_adler32(stb__running_adler, start, q - start);
   return q - start;
}

// Assembly:
subq $0x78, %rsp
movl 0x80(%rsp), %eax
movq %rdi, 0x70(%rsp)
movq %rsi, 0x68(%rsp)
movq %rdx, 0x60(%rsp)
movl %ecx, 0x5c(%rsp)
movq %r8, 0x50(%rsp)
movq %r9, 0x48(%rsp)
movl 0xbd3a(%rip), %eax      # 0x26388
movl %eax, 0x44(%rsp)
movq 0x68(%rsp), %rax
movq 0x50(%rsp), %rcx
movslq (%rcx), %rdx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, 0x38(%rsp)
movq 0x68(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rcx
movq 0x68(%rsp), %rdx
movslq 0x5c(%rsp), %rax
addq %rax, %rdx
xorl %eax, %eax
cmpq %rdx, %rcx
movb %al, 0x7(%rsp)
jae 0x1a6a8
movq 0x30(%rsp), %rax
addq $0xc, %rax
cmpq 0x60(%rsp), %rax
setb %al
movb %al, 0x7(%rsp)
movb 0x7(%rsp), %al
testb $0x1, %al
jne 0x1a6b5
jmp 0x1af8f
movl $0x2, 0xc(%rsp)
movl $0x0, 0x8(%rsp)
movq 0x30(%rsp), %rax
addq $0x10000, %rax          # imm = 0x10000
cmpq 0x60(%rsp), %rax
jbe 0x1a6ea
movq 0x60(%rsp), %rax
movq 0x30(%rsp), %rcx
subq %rcx, %rax
movl %eax, 0x40(%rsp)
jmp 0x1a6f2
movl $0x10000, 0x40(%rsp)    # imm = 0x10000
movq 0x30(%rsp), %rax
movzbl (%rax), %eax
shll $0xe, %eax
movq 0x30(%rsp), %rcx
movzbl 0x1(%rcx), %ecx
shll $0x7, %ecx
addl %ecx, %eax
movq 0x30(%rsp), %rcx
movzbl 0x2(%rcx), %ecx
addl %ecx, %eax
movl %eax, 0x18(%rsp)
movl 0x18(%rsp), %eax
movl 0x18(%rsp), %ecx
shrl $0x10, %ecx
addl %ecx, %eax
andl 0x80(%rsp), %eax
movl %eax, 0x28(%rsp)
movq 0x48(%rsp), %rax
movl 0x28(%rsp), %ecx
movq (%rax,%rcx,8), %rax
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x1a7c1
movq 0x10(%rsp), %rdi
movq 0x30(%rsp), %rsi
movl 0x40(%rsp), %edx
callq 0x1ecd0
movl %eax, 0x2c(%rsp)
cmpl 0xc(%rsp), %eax
jle 0x1a7bf
movq 0x30(%rsp), %rax
movq 0x10(%rsp), %rcx
subq %rcx, %rax
movslq 0x44(%rsp), %rcx
cmpq %rcx, %rax
jg 0x1a7bd
cmpl $0x9, 0x2c(%rsp)
jg 0x1a7a4
movl 0x2c(%rsp), %edi
movq 0x30(%rsp), %rax
movq 0x10(%rsp), %rcx
subq %rcx, %rax
movl %eax, %esi
callq 0x1ed40
cmpl $0x0, %eax
je 0x1a7bd
movl 0x2c(%rsp), %eax
movl %eax, 0xc(%rsp)
movq 0x30(%rsp), %rax
movq 0x10(%rsp), %rcx
subq %rcx, %rax
movl %eax, 0x8(%rsp)
jmp 0x1a7bf
jmp 0x1a7c1
movl 0x18(%rsp), %eax
shll $0xe, %eax
movl 0x18(%rsp), %ecx
shrl $0x12, %ecx
addl %ecx, %eax
movq 0x30(%rsp), %rcx
movzbl 0x3(%rcx), %ecx
shll $0x7, %ecx
addl %ecx, %eax
movq 0x30(%rsp), %rcx
movzbl 0x4(%rcx), %ecx
addl %ecx, %eax
movl %eax, 0x18(%rsp)
movl 0x18(%rsp), %eax
movl 0x18(%rsp), %ecx
shrl $0x10, %ecx
addl %ecx, %eax
andl 0x80(%rsp), %eax
movl %eax, 0x24(%rsp)
movl 0x18(%rsp), %eax
shll $0xe, %eax
movl 0x18(%rsp), %ecx
shrl $0x12, %ecx
addl %ecx, %eax
movq 0x30(%rsp), %rcx
movzbl 0x5(%rcx), %ecx
shll $0x7, %ecx
addl %ecx, %eax
movq 0x30(%rsp), %rcx
movzbl 0x6(%rcx), %ecx
addl %ecx, %eax
movl %eax, 0x18(%rsp)
movq 0x48(%rsp), %rax
movl 0x24(%rsp), %ecx
movq (%rax,%rcx,8), %rax
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x1a8f1
movb $0x1, %al
testb $0x1, %al
jne 0x1a859
jmp 0x1a872
movslq 0x8(%rsp), %rax
movq 0x30(%rsp), %rcx
movq 0x10(%rsp), %rdx
subq %rdx, %rcx
cmpq %rcx, %rax
jne 0x1a87a
jmp 0x1a8ef
movb $0x1, %al
testb $0x1, %al
jne 0x1a87a
jmp 0x1a8ef
movq 0x10(%rsp), %rdi
movq 0x30(%rsp), %rsi
movl 0x40(%rsp), %edx
callq 0x1ecd0
movl %eax, 0x2c(%rsp)
cmpl 0xc(%rsp), %eax
jle 0x1a8ed
movq 0x30(%rsp), %rax
movq 0x10(%rsp), %rcx
subq %rcx, %rax
movslq 0x44(%rsp), %rcx
cmpq %rcx, %rax
jg 0x1a8eb
cmpl $0x9, 0x2c(%rsp)
jg 0x1a8d2
movl 0x2c(%rsp), %edi
movq 0x30(%rsp), %rax
movq 0x10(%rsp), %rcx
subq %rcx, %rax
movl %eax, %esi
callq 0x1ed40
cmpl $0x0, %eax
je 0x1a8eb
movl 0x2c(%rsp), %eax
movl %eax, 0xc(%rsp)
movq 0x30(%rsp), %rax
movq 0x10(%rsp), %rcx
subq %rcx, %rax
movl %eax, 0x8(%rsp)
jmp 0x1a8ed
jmp 0x1a8ef
jmp 0x1a8f1
movl 0x18(%rsp), %eax
shll $0xe, %eax
movl 0x18(%rsp), %ecx
shrl $0x12, %ecx
addl %ecx, %eax
movq 0x30(%rsp), %rcx
movzbl 0x7(%rcx), %ecx
shll $0x7, %ecx
addl %ecx, %eax
movq 0x30(%rsp), %rcx
movzbl 0x8(%rcx), %ecx
addl %ecx, %eax
movl %eax, 0x18(%rsp)
movl 0x18(%rsp), %eax
movl 0x18(%rsp), %ecx
shrl $0x10, %ecx
addl %ecx, %eax
andl 0x80(%rsp), %eax
movl %eax, 0x20(%rsp)
movl 0x18(%rsp), %eax
shll $0xe, %eax
movl 0x18(%rsp), %ecx
shrl $0x12, %ecx
addl %ecx, %eax
movq 0x30(%rsp), %rcx
movzbl 0x9(%rcx), %ecx
shll $0x7, %ecx
addl %ecx, %eax
movq 0x30(%rsp), %rcx
movzbl 0xa(%rcx), %ecx
addl %ecx, %eax
movl %eax, 0x18(%rsp)
movq 0x48(%rsp), %rax
movl 0x20(%rsp), %ecx
movq (%rax,%rcx,8), %rax
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x1aa21
movb $0x1, %al
testb $0x1, %al
jne 0x1a989
jmp 0x1a9a2
movslq 0x8(%rsp), %rax
movq 0x30(%rsp), %rcx
movq 0x10(%rsp), %rdx
subq %rdx, %rcx
cmpq %rcx, %rax
jne 0x1a9aa
jmp 0x1aa1f
movb $0x1, %al
testb $0x1, %al
jne 0x1a9aa
jmp 0x1aa1f
movq 0x10(%rsp), %rdi
movq 0x30(%rsp), %rsi
movl 0x40(%rsp), %edx
callq 0x1ecd0
movl %eax, 0x2c(%rsp)
cmpl 0xc(%rsp), %eax
jle 0x1aa1d
movq 0x30(%rsp), %rax
movq 0x10(%rsp), %rcx
subq %rcx, %rax
movslq 0x44(%rsp), %rcx
cmpq %rcx, %rax
jg 0x1aa1b
cmpl $0x9, 0x2c(%rsp)
jg 0x1aa02
movl 0x2c(%rsp), %edi
movq 0x30(%rsp), %rax
movq 0x10(%rsp), %rcx
subq %rcx, %rax
movl %eax, %esi
callq 0x1ed40
cmpl $0x0, %eax
je 0x1aa1b
movl 0x2c(%rsp), %eax
movl %eax, 0xc(%rsp)
movq 0x30(%rsp), %rax
movq 0x10(%rsp), %rcx
subq %rcx, %rax
movl %eax, 0x8(%rsp)
jmp 0x1aa1d
jmp 0x1aa1f
jmp 0x1aa21
movl 0x18(%rsp), %eax
shll $0xe, %eax
movl 0x18(%rsp), %ecx
shrl $0x12, %ecx
addl %ecx, %eax
movq 0x30(%rsp), %rcx
movzbl 0xb(%rcx), %ecx
shll $0x7, %ecx
addl %ecx, %eax
movq 0x30(%rsp), %rcx
movzbl 0xc(%rcx), %ecx
addl %ecx, %eax
movl %eax, 0x18(%rsp)
movl 0x18(%rsp), %eax
movl 0x18(%rsp), %ecx
shrl $0x10, %ecx
addl %ecx, %eax
andl 0x80(%rsp), %eax
movl %eax, 0x1c(%rsp)
movq 0x48(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq (%rax,%rcx,8), %rax
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x1ab24
movb $0x1, %al
testb $0x1, %al
jne 0x1aa8c
jmp 0x1aaa5
movslq 0x8(%rsp), %rax
movq 0x30(%rsp), %rcx
movq 0x10(%rsp), %rdx
subq %rdx, %rcx
cmpq %rcx, %rax
jne 0x1aaad
jmp 0x1ab22
movb $0x1, %al
testb $0x1, %al
jne 0x1aaad
jmp 0x1ab22
movq 0x10(%rsp), %rdi
movq 0x30(%rsp), %rsi
movl 0x40(%rsp), %edx
callq 0x1ecd0
movl %eax, 0x2c(%rsp)
cmpl 0xc(%rsp), %eax
jle 0x1ab20
movq 0x30(%rsp), %rax
movq 0x10(%rsp), %rcx
subq %rcx, %rax
movslq 0x44(%rsp), %rcx
cmpq %rcx, %rax
jg 0x1ab1e
cmpl $0x9, 0x2c(%rsp)
jg 0x1ab05
movl 0x2c(%rsp), %edi
movq 0x30(%rsp), %rax
movq 0x10(%rsp), %rcx
subq %rcx, %rax
movl %eax, %esi
callq 0x1ed40
cmpl $0x0, %eax
je 0x1ab1e
movl 0x2c(%rsp), %eax
movl %eax, 0xc(%rsp)
movq 0x30(%rsp), %rax
movq 0x10(%rsp), %rcx
subq %rcx, %rax
movl %eax, 0x8(%rsp)
jmp 0x1ab20
jmp 0x1ab22
jmp 0x1ab24
movq 0x30(%rsp), %rdx
movq 0x48(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq %rdx, (%rax,%rcx,8)
movq 0x48(%rsp), %rax
movl 0x20(%rsp), %ecx
movq %rdx, (%rax,%rcx,8)
movq 0x48(%rsp), %rax
movl 0x24(%rsp), %ecx
movq %rdx, (%rax,%rcx,8)
movq 0x48(%rsp), %rax
movl 0x28(%rsp), %ecx
movq %rdx, (%rax,%rcx,8)
cmpl $0x2, 0xc(%rsp)
jle 0x1ab8e
cmpl $0x0, 0x8(%rsp)
jle 0x1ab6d
jmp 0x1ab8c
leaq 0x576a(%rip), %rdi      # 0x202de
leaq 0x480e(%rip), %rsi      # 0x1f389
movl $0x28ee, %edx           # imm = 0x28EE
leaq 0x5760(%rip), %rcx      # 0x202e7
callq 0x2140
jmp 0x1ab8e
cmpl $0x3, 0xc(%rsp)
jge 0x1aba8
movq 0x30(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x30(%rsp)
jmp 0x1af8a
cmpl $0x2, 0xc(%rsp)
jle 0x1ac86
cmpl $0x80, 0xc(%rsp)
jg 0x1ac86
cmpl $0x100, 0x8(%rsp)       # imm = 0x100
jg 0x1ac86
movq 0x38(%rsp), %rdi
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
subq %rcx, %rax
movl %eax, %esi
callq 0x1b010
movl 0xc(%rsp), %ecx
movq 0x30(%rsp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, 0x30(%rsp)
movq %rax, 0x38(%rsp)
cmpq $0x0, 0x113bf(%rip)     # 0x2bfc8
je 0x1ac32
movl 0xc(%rsp), %eax
addl $0x80, %eax
subl $0x1, %eax
movb %al, %cl
movq 0x113a8(%rip), %rax     # 0x2bfc8
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x1139a(%rip)     # 0x2bfc8
movb %cl, (%rax)
jmp 0x1ac46
movl 0xc(%rsp), %eax
addl $0x80, %eax
subl $0x1, %eax
movzbl %al, %edi
callq 0x1eb30
cmpq $0x0, 0x1137a(%rip)     # 0x2bfc8
je 0x1ac72
movl 0x8(%rsp), %eax
subl $0x1, %eax
movb %al, %cl
movq 0x11368(%rip), %rax     # 0x2bfc8
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x1135a(%rip)     # 0x2bfc8
movb %cl, (%rax)
jmp 0x1ac81
movl 0x8(%rsp), %eax
subl $0x1, %eax
movzbl %al, %edi
callq 0x1eb30
jmp 0x1af88
cmpl $0x5, 0xc(%rsp)
jle 0x1ad31
cmpl $0x100, 0xc(%rsp)       # imm = 0x100
jg 0x1ad31
cmpl $0x4000, 0x8(%rsp)      # imm = 0x4000
jg 0x1ad31
movq 0x38(%rsp), %rdi
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
subq %rcx, %rax
movl %eax, %esi
callq 0x1b010
movl 0xc(%rsp), %ecx
movq 0x30(%rsp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, 0x30(%rsp)
movq %rax, 0x38(%rsp)
movl 0x8(%rsp), %edi
addl $0x4000, %edi           # imm = 0x4000
subl $0x1, %edi
callq 0x1eb60
cmpq $0x0, 0x112cf(%rip)     # 0x2bfc8
je 0x1ad1d
movl 0xc(%rsp), %eax
subl $0x1, %eax
movb %al, %cl
movq 0x112bd(%rip), %rax     # 0x2bfc8
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x112af(%rip)     # 0x2bfc8
movb %cl, (%rax)
jmp 0x1ad2c
movl 0xc(%rsp), %eax
subl $0x1, %eax
movzbl %al, %edi
callq 0x1eb30
jmp 0x1af86
cmpl $0x7, 0xc(%rsp)
jle 0x1addc
cmpl $0x100, 0xc(%rsp)       # imm = 0x100
jg 0x1addc
cmpl $0x80000, 0x8(%rsp)     # imm = 0x80000
jg 0x1addc
movq 0x38(%rsp), %rdi
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
subq %rcx, %rax
movl %eax, %esi
callq 0x1b010
movl 0xc(%rsp), %ecx
movq 0x30(%rsp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, 0x30(%rsp)
movq %rax, 0x38(%rsp)
movl 0x8(%rsp), %edi
addl $0x180000, %edi         # imm = 0x180000
subl $0x1, %edi
callq 0x1edb0
cmpq $0x0, 0x11224(%rip)     # 0x2bfc8
je 0x1adc8
movl 0xc(%rsp), %eax
subl $0x1, %eax
movb %al, %cl
movq 0x11212(%rip), %rax     # 0x2bfc8
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x11204(%rip)     # 0x2bfc8
movb %cl, (%rax)
jmp 0x1add7
movl 0xc(%rsp), %eax
subl $0x1, %eax
movzbl %al, %edi
callq 0x1eb30
jmp 0x1af84
cmpl $0x8, 0xc(%rsp)
jle 0x1ae4c
cmpl $0x10000, 0xc(%rsp)     # imm = 0x10000
jg 0x1ae4c
cmpl $0x80000, 0x8(%rsp)     # imm = 0x80000
jg 0x1ae4c
movq 0x38(%rsp), %rdi
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
subq %rcx, %rax
movl %eax, %esi
callq 0x1b010
movl 0xc(%rsp), %ecx
movq 0x30(%rsp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, 0x30(%rsp)
movq %rax, 0x38(%rsp)
movl 0x8(%rsp), %edi
addl $0x100000, %edi         # imm = 0x100000
subl $0x1, %edi
callq 0x1edb0
movl 0xc(%rsp), %edi
subl $0x1, %edi
callq 0x1eb60
jmp 0x1af82
cmpl $0x9, 0xc(%rsp)
jle 0x1af72
cmpl $0x1000000, 0x8(%rsp)   # imm = 0x1000000
jg 0x1af72
cmpl $0x10000, 0xc(%rsp)     # imm = 0x10000
jle 0x1ae77
movl $0x10000, 0xc(%rsp)     # imm = 0x10000
movq 0x38(%rsp), %rdi
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
subq %rcx, %rax
movl %eax, %esi
callq 0x1b010
movl 0xc(%rsp), %ecx
movq 0x30(%rsp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, 0x30(%rsp)
movq %rax, 0x38(%rsp)
cmpl $0x100, 0xc(%rsp)       # imm = 0x100
jg 0x1af2a
cmpq $0x0, 0x1110d(%rip)     # 0x2bfc8
je 0x1aed7
movq 0x11104(%rip), %rax     # 0x2bfc8
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x110f6(%rip)     # 0x2bfc8
movb $0x6, (%rax)
jmp 0x1aee1
movl $0x6, %edi
callq 0x1eb30
movl 0x8(%rsp), %edi
subl $0x1, %edi
callq 0x1edb0
cmpq $0x0, 0x110d3(%rip)     # 0x2bfc8
je 0x1af19
movl 0xc(%rsp), %eax
subl $0x1, %eax
movb %al, %cl
movq 0x110c1(%rip), %rax     # 0x2bfc8
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x110b3(%rip)     # 0x2bfc8
movb %cl, (%rax)
jmp 0x1af28
movl 0xc(%rsp), %eax
subl $0x1, %eax
movzbl %al, %edi
callq 0x1eb30
jmp 0x1af70
cmpq $0x0, 0x11096(%rip)     # 0x2bfc8
je 0x1af4e
movq 0x1108d(%rip), %rax     # 0x2bfc8
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x1107f(%rip)     # 0x2bfc8
movb $0x4, (%rax)
jmp 0x1af58
movl $0x4, %edi
callq 0x1eb30
movl 0x8(%rsp), %edi
subl $0x1, %edi
callq 0x1edb0
movl 0xc(%rsp), %edi
subl $0x1, %edi
callq 0x1eb60
jmp 0x1af80
movq 0x30(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x30(%rsp)
jmp 0x1af82
jmp 0x1af84
jmp 0x1af86
jmp 0x1af88
jmp 0x1af8a
jmp 0x1a676
movq 0x30(%rsp), %rax
movq 0x68(%rsp), %rcx
subq %rcx, %rax
movslq 0x5c(%rsp), %rcx
cmpq %rcx, %rax
jge 0x1afb8
movq 0x68(%rsp), %rax
movslq 0x5c(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
subq %rcx, %rax
movl %eax, %ecx
movq 0x50(%rsp), %rax
movl %ecx, (%rax)
movl 0x1156c(%rip), %edi     # 0x2c540
movq 0x68(%rsp), %rsi
movq 0x30(%rsp), %rax
movq 0x68(%rsp), %rcx
subq %rcx, %rax
movl %eax, %edx
callq 0x10a30
movl %eax, 0x1154d(%rip)     # 0x2c540
movq 0x30(%rsp), %rax
movq 0x68(%rsp), %rcx
subq %rcx, %rax
addq $0x78, %rsp
retq
nopw %cs:(%rax,%rax)