// File: /workspace/github_c_makefile_star2_O0/snej[P]zdelta/trees.c
// Function: compress_block
local void compress_block(s, ltree, dtree, zdtree)
    deflate_state *s;
    ct_data *ltree;  /* literal tree      */
    ct_data *dtree;  /* distance tree     */
    ct_data *zdtree; /* zdelta code tree  */
{
  unsigned dist;      /* distance of matched string */
  int lc;             /* match length or unmatched char (if dist == 0) */
  unsigned lx = 0;    /* running index in l_buf */
  unsigned code;      /* the code to send */
  int extra;          /* number of extra bits to send */

  unsigned zd;        /* zdelta pointer */
  
  if (s->last_lit != 0) do {
    zd   = s->z_buf[lx];
    dist = s->d_buf[lx];
    lc   = s->l_buf[lx++];
    if (zd == LITERAL) {
      send_code(s, dist, dtree); /* send a literal byte */
      TraceHuf( (stderr, "d:%u\n", dist) );
      Tracecv(isgraph(dist), (stderr," '%c' ", dist));
    } else {
      /* Here dist is the match distance */
      code = d_code(dist);
      Assert (code < D_CODES, "bad d_code");      
      send_code(s, LITERALS+1+code, dtree);       /* send the distance code */
      extra = extra_dbits[code];
      if (extra != 0) {
	dist -= base_dist[code];
	send_bits(s, dist, extra);          /* send the extra distance bits */
      }
      code = l_code(lc);        /* Here, lc is the match length - MIN_MATCH */
      extra = extra_lbits[code];
      if(zd == TARGET){                             /* target copy          */
	send_code(s, code, ltree);                  /* send the length code */ 
	if (extra != 0) {
	  lc -= base_length[code];
	  send_bits(s, lc, extra);            /* send the extra length bits */
	}
      }
      else{                                         /* reference copy       */
	send_code(s,code+OFFSET(zd),ltree);         /* send the length code */ 
         if (extra != 0) {
	  lc -= base_length[code];
	  send_bits(s, lc, extra);             /* send the extra length bits */
	}
	Assert ((zd & 0x1f) < Z_CODES, "bad zd_code");
	send_code(s, zd & 0x1f, zdtree);                 /* send zdelta code */
	TraceHuf( (stderr, "z:%u\n", zd) );
      }
    }

    /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */
    Assert(((unsigned)s->pending) < s->lit_bufsize + 2*lx, 
	   "pendingBuf overflow");
  } while (lx < s->last_lit);

  send_code(s, END_BLOCK, dtree);
  s->last_eob_len = dtree[END_BLOCK].Len;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl $0x0, -0x2c(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x1a44(%rax)
je 0x92a2
jmp 0x86d2
movq -0x8(%rbp), %rax
movq 0x1a50(%rax), %rax
movl -0x2c(%rbp), %ecx
movzbl (%rax,%rcx), %eax
movl %eax, -0x38(%rbp)
movq -0x8(%rbp), %rax
movq 0x1a48(%rax), %rax
movl -0x2c(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x24(%rbp)
movq -0x8(%rbp), %rax
movq 0x1a38(%rax), %rax
movl -0x2c(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x2c(%rbp)
movl %ecx, %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x28(%rbp)
cmpl $0x40, -0x38(%rbp)
jne 0x8865
movq -0x18(%rbp), %rax
movl -0x24(%rbp), %ecx
movzwl 0x2(%rax,%rcx,4), %eax
movl %eax, -0x3c(%rbp)
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %eax
movl $0x10, %ecx
subl -0x3c(%rbp), %ecx
cmpl %ecx, %eax
jle 0x8822
movq -0x18(%rbp), %rax
movl -0x24(%rbp), %ecx
movzwl (%rax,%rcx,4), %eax
movl %eax, -0x40(%rbp)
movl -0x40(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %ecx
shll %cl, %edx
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %ecx
orl %edx, %ecx
movw %cx, 0x1a70(%rax)
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %eax
andl $0xff, %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rsi
movl 0x28(%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, 0x28(%rsi)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %eax
sarl $0x8, %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rsi
movl 0x28(%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, 0x28(%rsi)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movl -0x40(%rbp), %eax
movzwl %ax, %eax
movq -0x8(%rbp), %rcx
movslq 0x1a74(%rcx), %rdx
movl $0x10, %ecx
subq %rdx, %rcx
sarl %cl, %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x1a70(%rax)
movslq -0x3c(%rbp), %rdx
subq $0x10, %rdx
movq -0x8(%rbp), %rax
movslq 0x1a74(%rax), %rcx
addq %rdx, %rcx
movl %ecx, 0x1a74(%rax)
jmp 0x8860
movq -0x18(%rbp), %rax
movl -0x24(%rbp), %ecx
movzwl (%rax,%rcx,4), %edx
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %ecx
shll %cl, %edx
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %ecx
orl %edx, %ecx
movw %cx, 0x1a70(%rax)
movl -0x3c(%rbp), %ecx
movq -0x8(%rbp), %rax
addl 0x1a74(%rax), %ecx
movl %ecx, 0x1a74(%rax)
jmp 0x928b
cmpl $0x100, -0x24(%rbp)     # imm = 0x100
jae 0x8886
movl -0x24(%rbp), %eax
movl %eax, %ecx
leaq 0x7956(%rip), %rax      # 0x101d0
movzbl (%rax,%rcx), %eax
movl %eax, -0x84(%rbp)
jmp 0x88a6
movl -0x24(%rbp), %eax
shrl $0x7, %eax
addl $0x100, %eax            # imm = 0x100
movl %eax, %eax
movl %eax, %ecx
leaq 0x7934(%rip), %rax      # 0x101d0
movzbl (%rax,%rcx), %eax
movl %eax, -0x84(%rbp)
movl -0x84(%rbp), %eax
movl %eax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movl -0x30(%rbp), %ecx
addl $0x101, %ecx            # imm = 0x101
movl %ecx, %ecx
movzwl 0x2(%rax,%rcx,4), %eax
movl %eax, -0x44(%rbp)
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %eax
movl $0x10, %ecx
subl -0x44(%rbp), %ecx
cmpl %ecx, %eax
jle 0x89bc
movq -0x18(%rbp), %rax
movl -0x30(%rbp), %ecx
addl $0x101, %ecx            # imm = 0x101
movl %ecx, %ecx
movzwl (%rax,%rcx,4), %eax
movl %eax, -0x48(%rbp)
movl -0x48(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %ecx
shll %cl, %edx
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %ecx
orl %edx, %ecx
movw %cx, 0x1a70(%rax)
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %eax
andl $0xff, %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rsi
movl 0x28(%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, 0x28(%rsi)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %eax
sarl $0x8, %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rsi
movl 0x28(%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, 0x28(%rsi)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movl -0x48(%rbp), %eax
movzwl %ax, %eax
movq -0x8(%rbp), %rcx
movslq 0x1a74(%rcx), %rdx
movl $0x10, %ecx
subq %rdx, %rcx
sarl %cl, %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x1a70(%rax)
movslq -0x44(%rbp), %rdx
subq $0x10, %rdx
movq -0x8(%rbp), %rax
movslq 0x1a74(%rax), %rcx
addq %rdx, %rcx
movl %ecx, 0x1a74(%rax)
jmp 0x8a02
movq -0x18(%rbp), %rax
movl -0x30(%rbp), %ecx
addl $0x101, %ecx            # imm = 0x101
movl %ecx, %ecx
movzwl (%rax,%rcx,4), %edx
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %ecx
shll %cl, %edx
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %ecx
orl %edx, %ecx
movw %cx, 0x1a70(%rax)
movl -0x44(%rbp), %ecx
movq -0x8(%rbp), %rax
addl 0x1a74(%rax), %ecx
movl %ecx, 0x1a74(%rax)
movl -0x30(%rbp), %eax
movl %eax, %ecx
leaq 0x8322(%rip), %rax      # 0x10d30
movl (%rax,%rcx,4), %eax
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x8b59
movl -0x30(%rbp), %eax
movl %eax, %ecx
leaq 0x83f6(%rip), %rax      # 0x10e20
movl (%rax,%rcx,4), %ecx
movl -0x24(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x24(%rbp)
movl -0x34(%rbp), %eax
movl %eax, -0x4c(%rbp)
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %eax
movl $0x10, %ecx
subl -0x4c(%rbp), %ecx
cmpl %ecx, %eax
jle 0x8b21
movl -0x24(%rbp), %eax
movl %eax, -0x50(%rbp)
movl -0x50(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %ecx
shll %cl, %edx
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %ecx
orl %edx, %ecx
movw %cx, 0x1a70(%rax)
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %eax
andl $0xff, %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rsi
movl 0x28(%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, 0x28(%rsi)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %eax
sarl $0x8, %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rsi
movl 0x28(%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, 0x28(%rsi)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movl -0x50(%rbp), %eax
movzwl %ax, %eax
movq -0x8(%rbp), %rcx
movslq 0x1a74(%rcx), %rdx
movl $0x10, %ecx
subq %rdx, %rcx
sarl %cl, %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x1a70(%rax)
movslq -0x4c(%rbp), %rdx
subq $0x10, %rdx
movq -0x8(%rbp), %rax
movslq 0x1a74(%rax), %rcx
addq %rdx, %rcx
movl %ecx, 0x1a74(%rax)
jmp 0x8b57
movl -0x24(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %ecx
shll %cl, %edx
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %ecx
orl %edx, %ecx
movw %cx, 0x1a70(%rax)
movl -0x4c(%rbp), %ecx
movq -0x8(%rbp), %rax
addl 0x1a74(%rax), %ecx
movl %ecx, 0x1a74(%rax)
jmp 0x8b59
cmpl $0x100, -0x28(%rbp)     # imm = 0x100
jge 0x8b79
movslq -0x28(%rbp), %rcx
leaq 0x7863(%rip), %rax      # 0x103d0
movzbl (%rax,%rcx), %eax
movl %eax, -0x88(%rbp)
jmp 0x8bbc
cmpl $0xfff, -0x28(%rbp)     # imm = 0xFFF
jne 0x8b91
movzbl 0x7987(%rip), %eax      # 0x10510
movl %eax, -0x8c(%rbp)
jmp 0x8bb0
movl -0x28(%rbp), %eax
sarl $0x6, %eax
addl $0x100, %eax            # imm = 0x100
movslq %eax, %rcx
leaq 0x782a(%rip), %rax      # 0x103d0
movzbl (%rax,%rcx), %eax
movl %eax, -0x8c(%rbp)
movl -0x8c(%rbp), %eax
movl %eax, -0x88(%rbp)
movl -0x88(%rbp), %eax
movl %eax, -0x30(%rbp)
movl -0x30(%rbp), %eax
movl %eax, %ecx
leaq 0x7f9f(%rip), %rax      # 0x10b70
movl (%rax,%rcx,4), %eax
movl %eax, -0x34(%rbp)
cmpl $0x20, -0x38(%rbp)
jne 0x8e66
movq -0x10(%rbp), %rax
movl -0x30(%rbp), %ecx
movzwl 0x2(%rax,%rcx,4), %eax
movl %eax, -0x54(%rbp)
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %eax
movl $0x10, %ecx
subl -0x54(%rbp), %ecx
cmpl %ecx, %eax
jle 0x8cde
movq -0x10(%rbp), %rax
movl -0x30(%rbp), %ecx
movzwl (%rax,%rcx,4), %eax
movl %eax, -0x58(%rbp)
movl -0x58(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %ecx
shll %cl, %edx
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %ecx
orl %edx, %ecx
movw %cx, 0x1a70(%rax)
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %eax
andl $0xff, %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rsi
movl 0x28(%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, 0x28(%rsi)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %eax
sarl $0x8, %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rsi
movl 0x28(%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, 0x28(%rsi)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movl -0x58(%rbp), %eax
movzwl %ax, %eax
movq -0x8(%rbp), %rcx
movslq 0x1a74(%rcx), %rdx
movl $0x10, %ecx
subq %rdx, %rcx
sarl %cl, %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x1a70(%rax)
movslq -0x54(%rbp), %rdx
subq $0x10, %rdx
movq -0x8(%rbp), %rax
movslq 0x1a74(%rax), %rcx
addq %rdx, %rcx
movl %ecx, 0x1a74(%rax)
jmp 0x8d1c
movq -0x10(%rbp), %rax
movl -0x30(%rbp), %ecx
movzwl (%rax,%rcx,4), %edx
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %ecx
shll %cl, %edx
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %ecx
orl %edx, %ecx
movw %cx, 0x1a70(%rax)
movl -0x54(%rbp), %ecx
movq -0x8(%rbp), %rax
addl 0x1a74(%rax), %ecx
movl %ecx, 0x1a74(%rax)
cmpl $0x0, -0x34(%rbp)
je 0x8e61
movl -0x30(%rbp), %eax
movl %eax, %ecx
leaq 0x816e(%rip), %rax      # 0x10ea0
movl (%rax,%rcx,4), %ecx
movl -0x28(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x28(%rbp)
movl -0x34(%rbp), %eax
movl %eax, -0x5c(%rbp)
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %eax
movl $0x10, %ecx
subl -0x5c(%rbp), %ecx
cmpl %ecx, %eax
jle 0x8e29
movl -0x28(%rbp), %eax
movl %eax, -0x60(%rbp)
movl -0x60(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %ecx
shll %cl, %edx
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %ecx
orl %edx, %ecx
movw %cx, 0x1a70(%rax)
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %eax
andl $0xff, %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rsi
movl 0x28(%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, 0x28(%rsi)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %eax
sarl $0x8, %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rsi
movl 0x28(%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, 0x28(%rsi)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movl -0x60(%rbp), %eax
movzwl %ax, %eax
movq -0x8(%rbp), %rcx
movslq 0x1a74(%rcx), %rdx
movl $0x10, %ecx
subq %rdx, %rcx
sarl %cl, %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x1a70(%rax)
movslq -0x5c(%rbp), %rdx
subq $0x10, %rdx
movq -0x8(%rbp), %rax
movslq 0x1a74(%rax), %rcx
addq %rdx, %rcx
movl %ecx, 0x1a74(%rax)
jmp 0x8e5f
movl -0x28(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %ecx
shll %cl, %edx
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %ecx
orl %edx, %ecx
movw %cx, 0x1a70(%rax)
movl -0x5c(%rbp), %ecx
movq -0x8(%rbp), %rax
addl 0x1a74(%rax), %ecx
movl %ecx, 0x1a74(%rax)
jmp 0x8e61
jmp 0x9289
movq -0x10(%rbp), %rax
movl -0x30(%rbp), %ecx
movl -0x38(%rbp), %edi
andl $0x80, %edi
movl $0x4a, %edx
movl $0x25, %esi
cmpl $0x0, %edi
cmovnel %esi, %edx
addl %edx, %ecx
movl %ecx, %ecx
movzwl 0x2(%rax,%rcx,4), %eax
movl %eax, -0x64(%rbp)
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %eax
movl $0x10, %ecx
subl -0x64(%rbp), %ecx
cmpl %ecx, %eax
jle 0x8f9d
movq -0x10(%rbp), %rax
movl -0x30(%rbp), %ecx
movl -0x38(%rbp), %edi
andl $0x80, %edi
movl $0x4a, %edx
movl $0x25, %esi
cmpl $0x0, %edi
cmovnel %esi, %edx
addl %edx, %ecx
movl %ecx, %ecx
movzwl (%rax,%rcx,4), %eax
movl %eax, -0x68(%rbp)
movl -0x68(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %ecx
shll %cl, %edx
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %ecx
orl %edx, %ecx
movw %cx, 0x1a70(%rax)
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %eax
andl $0xff, %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rsi
movl 0x28(%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, 0x28(%rsi)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %eax
sarl $0x8, %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rsi
movl 0x28(%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, 0x28(%rsi)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movl -0x68(%rbp), %eax
movzwl %ax, %eax
movq -0x8(%rbp), %rcx
movslq 0x1a74(%rcx), %rdx
movl $0x10, %ecx
subq %rdx, %rcx
sarl %cl, %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x1a70(%rax)
movslq -0x64(%rbp), %rdx
subq $0x10, %rdx
movq -0x8(%rbp), %rax
movslq 0x1a74(%rax), %rcx
addq %rdx, %rcx
movl %ecx, 0x1a74(%rax)
jmp 0x8ff8
movq -0x10(%rbp), %rax
movl -0x30(%rbp), %ecx
movl -0x38(%rbp), %edi
andl $0x80, %edi
movl $0x4a, %edx
movl $0x25, %esi
cmpl $0x0, %edi
cmovnel %esi, %edx
addl %edx, %ecx
movl %ecx, %ecx
movzwl (%rax,%rcx,4), %edx
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %ecx
shll %cl, %edx
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %ecx
orl %edx, %ecx
movw %cx, 0x1a70(%rax)
movl -0x64(%rbp), %ecx
movq -0x8(%rbp), %rax
addl 0x1a74(%rax), %ecx
movl %ecx, 0x1a74(%rax)
cmpl $0x0, -0x34(%rbp)
je 0x913d
movl -0x30(%rbp), %eax
movl %eax, %ecx
leaq 0x7e92(%rip), %rax      # 0x10ea0
movl (%rax,%rcx,4), %ecx
movl -0x28(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x28(%rbp)
movl -0x34(%rbp), %eax
movl %eax, -0x6c(%rbp)
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %eax
movl $0x10, %ecx
subl -0x6c(%rbp), %ecx
cmpl %ecx, %eax
jle 0x9105
movl -0x28(%rbp), %eax
movl %eax, -0x70(%rbp)
movl -0x70(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %ecx
shll %cl, %edx
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %ecx
orl %edx, %ecx
movw %cx, 0x1a70(%rax)
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %eax
andl $0xff, %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rsi
movl 0x28(%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, 0x28(%rsi)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %eax
sarl $0x8, %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rsi
movl 0x28(%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, 0x28(%rsi)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movl -0x70(%rbp), %eax
movzwl %ax, %eax
movq -0x8(%rbp), %rcx
movslq 0x1a74(%rcx), %rdx
movl $0x10, %ecx
subq %rdx, %rcx
sarl %cl, %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x1a70(%rax)
movslq -0x6c(%rbp), %rdx
subq $0x10, %rdx
movq -0x8(%rbp), %rax
movslq 0x1a74(%rax), %rcx
addq %rdx, %rcx
movl %ecx, 0x1a74(%rax)
jmp 0x913b
movl -0x28(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %ecx
shll %cl, %edx
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %ecx
orl %edx, %ecx
movw %cx, 0x1a70(%rax)
movl -0x6c(%rbp), %ecx
movq -0x8(%rbp), %rax
addl 0x1a74(%rax), %ecx
movl %ecx, 0x1a74(%rax)
jmp 0x913d
movq -0x20(%rbp), %rax
movl -0x38(%rbp), %ecx
andl $0x1f, %ecx
movl %ecx, %ecx
movzwl 0x2(%rax,%rcx,4), %eax
movl %eax, -0x74(%rbp)
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %eax
movl $0x10, %ecx
subl -0x74(%rbp), %ecx
cmpl %ecx, %eax
jle 0x9244
movq -0x20(%rbp), %rax
movl -0x38(%rbp), %ecx
andl $0x1f, %ecx
movl %ecx, %ecx
movzwl (%rax,%rcx,4), %eax
movl %eax, -0x78(%rbp)
movl -0x78(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %ecx
shll %cl, %edx
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %ecx
orl %edx, %ecx
movw %cx, 0x1a70(%rax)
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %eax
andl $0xff, %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rsi
movl 0x28(%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, 0x28(%rsi)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %eax
sarl $0x8, %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rsi
movl 0x28(%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, 0x28(%rsi)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movl -0x78(%rbp), %eax
movzwl %ax, %eax
movq -0x8(%rbp), %rcx
movslq 0x1a74(%rcx), %rdx
movl $0x10, %ecx
subq %rdx, %rcx
sarl %cl, %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x1a70(%rax)
movslq -0x74(%rbp), %rdx
subq $0x10, %rdx
movq -0x8(%rbp), %rax
movslq 0x1a74(%rax), %rcx
addq %rdx, %rcx
movl %ecx, 0x1a74(%rax)
jmp 0x9287
movq -0x20(%rbp), %rax
movl -0x38(%rbp), %ecx
andl $0x1f, %ecx
movl %ecx, %ecx
movzwl (%rax,%rcx,4), %edx
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %ecx
shll %cl, %edx
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %ecx
orl %edx, %ecx
movw %cx, 0x1a70(%rax)
movl -0x74(%rbp), %ecx
movq -0x8(%rbp), %rax
addl 0x1a74(%rax), %ecx
movl %ecx, 0x1a74(%rax)
jmp 0x9289
jmp 0x928b
jmp 0x928d
movl -0x2c(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x1a44(%rcx), %eax
jb 0x86d2
jmp 0x92a2
movq -0x18(%rbp), %rax
movzwl 0x402(%rax), %eax
movl %eax, -0x7c(%rbp)
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %eax
movl $0x10, %ecx
subl -0x7c(%rbp), %ecx
cmpl %ecx, %eax
jle 0x939e
movq -0x18(%rbp), %rax
movzwl 0x400(%rax), %eax
movl %eax, -0x80(%rbp)
movl -0x80(%rbp), %edx
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %ecx
shll %cl, %edx
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %ecx
orl %edx, %ecx
movw %cx, 0x1a70(%rax)
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %eax
andl $0xff, %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rsi
movl 0x28(%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, 0x28(%rsi)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %eax
sarl $0x8, %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rsi
movl 0x28(%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, 0x28(%rsi)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movl -0x80(%rbp), %eax
movzwl %ax, %eax
movq -0x8(%rbp), %rcx
movslq 0x1a74(%rcx), %rdx
movl $0x10, %ecx
subq %rdx, %rcx
sarl %cl, %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x1a70(%rax)
movslq -0x7c(%rbp), %rdx
subq $0x10, %rdx
movq -0x8(%rbp), %rax
movslq 0x1a74(%rax), %rcx
addq %rdx, %rcx
movl %ecx, 0x1a74(%rax)
jmp 0x93dc
movq -0x18(%rbp), %rax
movzwl 0x400(%rax), %edx
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %ecx
shll %cl, %edx
movq -0x8(%rbp), %rax
movzwl 0x1a70(%rax), %ecx
orl %edx, %ecx
movw %cx, 0x1a70(%rax)
movl -0x7c(%rbp), %ecx
movq -0x8(%rbp), %rax
addl 0x1a74(%rax), %ecx
movl %ecx, 0x1a74(%rax)
movq -0x18(%rbp), %rax
movzwl 0x402(%rax), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x1a6c(%rax)
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)