// File: /workspace/github_c_makefile_star2_O0/snej[P]zdelta/trees.c
// Function: send_tree
local void send_tree (s, tree, max_code)
     deflate_state *s;
     ct_data *tree; /* the tree to be scanned */
     int max_code;       /* and its largest code of non zero frequency */
{
  int n;                     /* iterates over all tree elements */
  int prevlen = -1;          /* last emitted length */
  int curlen;                /* length of current code */
  int nextlen = tree[0].Len; /* length of next code */
  int count = 0;             /* repeat count of the current code */
  int max_count = 7;         /* max repeat count */
  int min_count = 4;         /* min repeat count */

  /* tree[max_code+1].Len = -1; */  /* guard already set */
  if (nextlen == 0) max_count = 138, min_count = 3;

  for (n = 0; n <= max_code; n++) {
    Tracevv((stderr, "code: %3u len: %3u\n", n, tree[n].Len));
    curlen = nextlen; nextlen = tree[n+1].Len;
    if (++count < max_count && curlen == nextlen) {
      continue;
    } else if (count < min_count) {
      do { send_code(s, curlen, s->bl_tree); 
      } while (--count != 0);
      
    } else if (curlen != 0) {
      if (curlen != prevlen) {
	send_code(s, curlen, s->bl_tree); count--; 
      }
      Assert(count >= 3 && count <= 6, " 3_6?");
      send_code(s, REP_3_6, s->bl_tree); send_bits(s, count-3, 2);
    } else if (count <= 10) {
      send_code(s, REPZ_3_10, s->bl_tree); send_bits(s, count-3, 3);
    } else {
      send_code(s, REPZ_11_138, s->bl_tree); send_bits(s, count-11, 7);
    }

    count = 0; prevlen = curlen;
    if (nextlen == 0) {
      max_count = 138, min_count = 3;
    } else if (curlen == nextlen) {
      max_count = 6, min_count = 3;
    } else {
      max_count = 7, min_count = 4;
    }
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
movq -0x10(%rbp), %rax
movzwl 0x2(%rax), %eax
movl %eax, -0x24(%rbp)
movl $0x0, -0x28(%rbp)
movl $0x7, -0x2c(%rbp)
movl $0x4, -0x30(%rbp)
cmpl $0x0, -0x24(%rbp)
jne 0xa27a
movl $0x8a, -0x2c(%rbp)
movl $0x3, -0x30(%rbp)
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jg 0xad3b
movl -0x24(%rbp), %eax
movl %eax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movl -0x18(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movzwl 0x2(%rax,%rcx,4), %eax
movl %eax, -0x24(%rbp)
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
cmpl -0x2c(%rbp), %eax
jge 0xa2c3
movl -0x20(%rbp), %eax
cmpl -0x24(%rbp), %eax
jne 0xa2c3
jmp 0xad2d
movl -0x28(%rbp), %eax
cmpl -0x30(%rbp), %eax
jge 0xa433
jmp 0xa2d1
movq -0x8(%rbp), %rax
movslq -0x20(%rbp), %rcx
movzwl 0xd92(%rax,%rcx,4), %eax
movl %eax, -0x34(%rbp)
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %eax
movl $0x10, %ecx
subl -0x34(%rbp), %ecx
cmpl %ecx, %eax
jle 0xa3d7
movq -0x8(%rbp), %rax
movslq -0x20(%rbp), %rcx
movzwl 0xd90(%rax,%rcx,4), %eax
movl %eax, -0x38(%rbp)
movl -0x38(%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 -0x38(%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 -0x34(%rbp), %rdx
subq $0x10, %rdx
movq -0x8(%rbp), %rax
movslq 0x1a74(%rax), %rcx
addq %rdx, %rcx
movl %ecx, 0x1a74(%rax)
jmp 0xa41a
movq -0x8(%rbp), %rax
movslq -0x20(%rbp), %rcx
movzwl 0xd90(%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 -0x34(%rbp), %ecx
movq -0x8(%rbp), %rax
addl 0x1a74(%rax), %ecx
movl %ecx, 0x1a74(%rax)
jmp 0xa41c
movl -0x28(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x28(%rbp)
cmpl $0x0, %eax
jne 0xa2d1
jmp 0xacde
cmpl $0x0, -0x20(%rbp)
je 0xa803
movl -0x20(%rbp), %eax
cmpl -0x1c(%rbp), %eax
je 0xa59b
movq -0x8(%rbp), %rax
movslq -0x20(%rbp), %rcx
movzwl 0xd92(%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 0xa54f
movq -0x8(%rbp), %rax
movslq -0x20(%rbp), %rcx
movzwl 0xd90(%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 0xa592
movq -0x8(%rbp), %rax
movslq -0x20(%rbp), %rcx
movzwl 0xd90(%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)
movl -0x28(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x28(%rbp)
movq -0x8(%rbp), %rax
movzwl 0xdd2(%rax), %eax
movl %eax, -0x44(%rbp)
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %eax
movl $0x10, %ecx
subl -0x44(%rbp), %ecx
cmpl %ecx, %eax
jle 0xa697
movq -0x8(%rbp), %rax
movzwl 0xdd0(%rax), %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 0xa6d5
movq -0x8(%rbp), %rax
movzwl 0xdd0(%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 -0x44(%rbp), %ecx
movq -0x8(%rbp), %rax
addl 0x1a74(%rax), %ecx
movl %ecx, 0x1a74(%rax)
movl $0x2, -0x4c(%rbp)
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %eax
movl $0x10, %ecx
subl -0x4c(%rbp), %ecx
cmpl %ecx, %eax
jle 0xa7c5
movl -0x28(%rbp), %eax
subl $0x3, %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 0xa7fe
movl -0x28(%rbp), %edx
subl $0x3, %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 0xacdc
cmpl $0xa, -0x28(%rbp)
jg 0xaa75
movq -0x8(%rbp), %rax
movzwl 0xdd6(%rax), %eax
movl %eax, -0x54(%rbp)
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %eax
movl $0x10, %ecx
subl -0x54(%rbp), %ecx
cmpl %ecx, %eax
jle 0xa909
movq -0x8(%rbp), %rax
movzwl 0xdd4(%rax), %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 0xa947
movq -0x8(%rbp), %rax
movzwl 0xdd4(%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 -0x54(%rbp), %ecx
movq -0x8(%rbp), %rax
addl 0x1a74(%rax), %ecx
movl %ecx, 0x1a74(%rax)
movl $0x3, -0x5c(%rbp)
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %eax
movl $0x10, %ecx
subl -0x5c(%rbp), %ecx
cmpl %ecx, %eax
jle 0xaa37
movl -0x28(%rbp), %eax
subl $0x3, %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 0xaa70
movl -0x28(%rbp), %edx
subl $0x3, %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 0xacda
movq -0x8(%rbp), %rax
movzwl 0xdda(%rax), %eax
movl %eax, -0x64(%rbp)
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %eax
movl $0x10, %ecx
subl -0x64(%rbp), %ecx
cmpl %ecx, %eax
jle 0xab71
movq -0x8(%rbp), %rax
movzwl 0xdd8(%rax), %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 0xabaf
movq -0x8(%rbp), %rax
movzwl 0xdd8(%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 -0x64(%rbp), %ecx
movq -0x8(%rbp), %rax
addl 0x1a74(%rax), %ecx
movl %ecx, 0x1a74(%rax)
movl $0x7, -0x6c(%rbp)
movq -0x8(%rbp), %rax
movl 0x1a74(%rax), %eax
movl $0x10, %ecx
subl -0x6c(%rbp), %ecx
cmpl %ecx, %eax
jle 0xac9f
movl -0x28(%rbp), %eax
subl $0xb, %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 0xacd8
movl -0x28(%rbp), %edx
subl $0xb, %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 0xacda
jmp 0xacdc
jmp 0xacde
jmp 0xace0
movl $0x0, -0x28(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x1c(%rbp)
cmpl $0x0, -0x24(%rbp)
jne 0xad03
movl $0x8a, -0x2c(%rbp)
movl $0x3, -0x30(%rbp)
jmp 0xad2b
movl -0x20(%rbp), %eax
cmpl -0x24(%rbp), %eax
jne 0xad1b
movl $0x6, -0x2c(%rbp)
movl $0x3, -0x30(%rbp)
jmp 0xad29
movl $0x7, -0x2c(%rbp)
movl $0x4, -0x30(%rbp)
jmp 0xad2b
jmp 0xad2d
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0xa281
popq %rbp
retq
nopl (%rax)