// File: /workspace/github_c_makefile_star2_O0/imaya[P]zopfli-for-emscripten/deflate.c
// Function: DeflateNonCompressedBlock
static void DeflateNonCompressedBlock(const ZopfliOptions* options, int final,
                                      const unsigned char* in, size_t instart,
                                      size_t inend,
                                      unsigned char* bp,
                                      unsigned char** out, size_t* outsize) {
  size_t i;
  size_t blocksize = inend - instart;
  unsigned short nlen = ~blocksize;

  (void)options;
  assert(blocksize < 65536);  /* Non compressed blocks are max this size. */

  AddBit(final, bp, out, outsize);
  /* BTYPE 00 */
  AddBit(0, bp, out, outsize);
  AddBit(0, bp, out, outsize);

  /* Any bits of input up to the next byte boundary are ignored. */
  *bp = 0;

  ZOPFLI_APPEND_DATA(blocksize % 256, out, outsize);
  ZOPFLI_APPEND_DATA((blocksize / 256) % 256, out, outsize);
  ZOPFLI_APPEND_DATA(nlen % 256, out, outsize);
  ZOPFLI_APPEND_DATA((nlen / 256) % 256, out, outsize);

  for (i = instart; i < inend; i++) {
    ZOPFLI_APPEND_DATA(in[i], out, outsize);
  }
}

// Assembly:
subq $0x78, %rsp
movq 0x88(%rsp), %rax
movq 0x80(%rsp), %rax
movq %rdi, 0x70(%rsp)
movl %esi, 0x6c(%rsp)
movq %rdx, 0x60(%rsp)
movq %rcx, 0x58(%rsp)
movq %r8, 0x50(%rsp)
movq %r9, 0x48(%rsp)
movq 0x50(%rsp), %rax
subq 0x58(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
xorq $-0x1, %rax
movw %ax, 0x36(%rsp)
cmpq $0x10000, 0x38(%rsp)    # imm = 0x10000
jae 0x527b
jmp 0x529a
leaq 0x854e(%rip), %rdi      # 0xd7d0
leaq 0x8070(%rip), %rsi      # 0xd2f9
movl $0x206, %edx            # imm = 0x206
leaq 0x854d(%rip), %rcx      # 0xd7e2
callq 0x10b0
movl 0x6c(%rsp), %edi
movq 0x48(%rsp), %rsi
movq 0x80(%rsp), %rdx
movq 0x88(%rsp), %rcx
callq 0x4e10
movq 0x48(%rsp), %rsi
movq 0x80(%rsp), %rdx
movq 0x88(%rsp), %rcx
xorl %edi, %edi
callq 0x4e10
movq 0x48(%rsp), %rsi
movq 0x80(%rsp), %rdx
movq 0x88(%rsp), %rcx
xorl %edi, %edi
callq 0x4e10
movq 0x48(%rsp), %rax
movb $0x0, (%rax)
movq 0x88(%rsp), %rax
movq (%rax), %rax
movq 0x88(%rsp), %rcx
movq (%rcx), %rcx
subq $0x1, %rcx
andq %rcx, %rax
cmpq $0x0, %rax
jne 0x5371
movq 0x88(%rsp), %rax
cmpq $0x0, (%rax)
jne 0x533a
movl $0x1, %edi
callq 0x1120
movq %rax, 0x28(%rsp)
jmp 0x5361
movq 0x80(%rsp), %rax
movq (%rax), %rdi
movq 0x88(%rsp), %rax
movq (%rax), %rsi
shlq %rsi
shlq $0x0, %rsi
callq 0x1140
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rcx
movq 0x80(%rsp), %rax
movq %rcx, (%rax)
movq 0x38(%rsp), %rax
andq $0xff, %rax
movb %al, %dl
movq 0x80(%rsp), %rax
movq (%rax), %rax
movq 0x88(%rsp), %rcx
movq (%rcx), %rcx
movb %dl, (%rax,%rcx)
movq 0x88(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movq 0x88(%rsp), %rax
movq (%rax), %rax
movq 0x88(%rsp), %rcx
movq (%rcx), %rcx
subq $0x1, %rcx
andq %rcx, %rax
cmpq $0x0, %rax
jne 0x5422
movq 0x88(%rsp), %rax
cmpq $0x0, (%rax)
jne 0x53eb
movl $0x1, %edi
callq 0x1120
movq %rax, 0x20(%rsp)
jmp 0x5412
movq 0x80(%rsp), %rax
movq (%rax), %rdi
movq 0x88(%rsp), %rax
movq (%rax), %rsi
shlq %rsi
shlq $0x0, %rsi
callq 0x1140
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rcx
movq 0x80(%rsp), %rax
movq %rcx, (%rax)
movq 0x38(%rsp), %rax
shrq $0x8, %rax
andq $0xff, %rax
movb %al, %dl
movq 0x80(%rsp), %rax
movq (%rax), %rax
movq 0x88(%rsp), %rcx
movq (%rcx), %rcx
movb %dl, (%rax,%rcx)
movq 0x88(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movq 0x88(%rsp), %rax
movq (%rax), %rax
movq 0x88(%rsp), %rcx
movq (%rcx), %rcx
subq $0x1, %rcx
andq %rcx, %rax
cmpq $0x0, %rax
jne 0x54d7
movq 0x88(%rsp), %rax
cmpq $0x0, (%rax)
jne 0x54a0
movl $0x1, %edi
callq 0x1120
movq %rax, 0x18(%rsp)
jmp 0x54c7
movq 0x80(%rsp), %rax
movq (%rax), %rdi
movq 0x88(%rsp), %rax
movq (%rax), %rsi
shlq %rsi
shlq $0x0, %rsi
callq 0x1140
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rcx
movq 0x80(%rsp), %rax
movq %rcx, (%rax)
movzwl 0x36(%rsp), %eax
movl $0x100, %ecx            # imm = 0x100
cltd
idivl %ecx
movq 0x80(%rsp), %rax
movq (%rax), %rax
movq 0x88(%rsp), %rcx
movq (%rcx), %rcx
movb %dl, (%rax,%rcx)
movq 0x88(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movq 0x88(%rsp), %rax
movq (%rax), %rax
movq 0x88(%rsp), %rcx
movq (%rcx), %rcx
subq $0x1, %rcx
andq %rcx, %rax
cmpq $0x0, %rax
jne 0x5588
movq 0x88(%rsp), %rax
cmpq $0x0, (%rax)
jne 0x5551
movl $0x1, %edi
callq 0x1120
movq %rax, 0x10(%rsp)
jmp 0x5578
movq 0x80(%rsp), %rax
movq (%rax), %rdi
movq 0x88(%rsp), %rax
movq (%rax), %rsi
shlq %rsi
shlq $0x0, %rsi
callq 0x1140
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rcx
movq 0x80(%rsp), %rax
movq %rcx, (%rax)
movzwl 0x36(%rsp), %eax
movl $0x100, %ecx            # imm = 0x100
cltd
idivl %ecx
movl $0x100, %ecx            # imm = 0x100
cltd
idivl %ecx
movq 0x80(%rsp), %rax
movq (%rax), %rax
movq 0x88(%rsp), %rcx
movq (%rcx), %rcx
movb %dl, (%rax,%rcx)
movq 0x88(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movq 0x58(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
cmpq 0x50(%rsp), %rax
jae 0x56a6
movq 0x88(%rsp), %rax
movq (%rax), %rax
movq 0x88(%rsp), %rcx
movq (%rcx), %rcx
subq $0x1, %rcx
andq %rcx, %rax
cmpq $0x0, %rax
jne 0x565b
movq 0x88(%rsp), %rax
cmpq $0x0, (%rax)
jne 0x5624
movl $0x1, %edi
callq 0x1120
movq %rax, 0x8(%rsp)
jmp 0x564b
movq 0x80(%rsp), %rax
movq (%rax), %rdi
movq 0x88(%rsp), %rax
movq (%rax), %rsi
shlq %rsi
shlq $0x0, %rsi
callq 0x1140
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rcx
movq 0x80(%rsp), %rax
movq %rcx, (%rax)
movq 0x60(%rsp), %rax
movq 0x40(%rsp), %rcx
movb (%rax,%rcx), %dl
movq 0x80(%rsp), %rax
movq (%rax), %rax
movq 0x88(%rsp), %rcx
movq (%rcx), %rcx
movb %dl, (%rax,%rcx)
movq 0x88(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movq 0x40(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x40(%rsp)
jmp 0x55d2
addq $0x78, %rsp
retq
nopl (%rax,%rax)