LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_bin8_marker
bool cmp_write_bin8_marker(cmp_ctx_t *ctx, uint8_t size) {
  if (!write_type_marker(ctx, BIN8_MARKER))
    return false;

  if (ctx->write(ctx, &size, sizeof(uint8_t)))
    return true;

  ctx->error = LENGTH_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq -0x10(%rbp), %rdi
movl $0xc4, %esi
callq 0x16a0
testb $0x1, %al
jne 0x261a
movb $0x0, -0x1(%rbp)
jmp 0x2648
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
leaq -0x11(%rbp), %rsi
movl $0x1, %edx
callq *%rax
cmpq $0x0, %rax
je 0x263d
movb $0x1, -0x1(%rbp)
jmp 0x2648
movq -0x10(%rbp), %rax
movb $0xf, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_bin8
bool cmp_write_bin8(cmp_ctx_t *ctx, const void *data, uint8_t size) {
  if (!cmp_write_bin8_marker(ctx, size))
    return false;

  if (size == 0)
    return true;

  if (ctx->write(ctx, data, size))
    return true;

  ctx->error = DATA_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %dl, %al
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movb %al, -0x19(%rbp)
movq -0x10(%rbp), %rdi
movzbl -0x19(%rbp), %esi
callq 0x25f0
testb $0x1, %al
jne 0x268c
movb $0x0, -0x1(%rbp)
jmp 0x26ca
movzbl -0x19(%rbp), %eax
cmpl $0x0, %eax
jne 0x269b
movb $0x1, -0x1(%rbp)
jmp 0x26ca
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movzbl -0x19(%rbp), %ecx
movl %ecx, %edx
callq *%rax
cmpq $0x0, %rax
je 0x26bf
movb $0x1, -0x1(%rbp)
jmp 0x26ca
movq -0x10(%rbp), %rax
movb $0xa, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_bin16_marker
bool cmp_write_bin16_marker(cmp_ctx_t *ctx, uint16_t size) {
  if (!write_type_marker(ctx, BIN16_MARKER))
    return false;

  size = be16(size);

  if (ctx->write(ctx, &size, sizeof(uint16_t)))
    return true;

  ctx->error = LENGTH_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movw %si, %ax
movq %rdi, -0x10(%rbp)
movw %ax, -0x12(%rbp)
movq -0x10(%rbp), %rdi
movl $0xc5, %esi
callq 0x16a0
testb $0x1, %al
jne 0x270b
movb $0x0, -0x1(%rbp)
jmp 0x2746
movzwl -0x12(%rbp), %edi
callq 0x1760
movw %ax, -0x12(%rbp)
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
leaq -0x12(%rbp), %rsi
movl $0x2, %edx
callq *%rax
cmpq $0x0, %rax
je 0x273b
movb $0x1, -0x1(%rbp)
jmp 0x2746
movq -0x10(%rbp), %rax
movb $0xf, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_bin16
bool cmp_write_bin16(cmp_ctx_t *ctx, const void *data, uint16_t size) {
  if (!cmp_write_bin16_marker(ctx, size))
    return false;

  if (size == 0)
    return true;

  if (ctx->write(ctx, data, size))
    return true;

  ctx->error = DATA_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movw %dx, %ax
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movw %ax, -0x1a(%rbp)
movq -0x10(%rbp), %rdi
movzwl -0x1a(%rbp), %esi
callq 0x26e0
testb $0x1, %al
jne 0x278e
movb $0x0, -0x1(%rbp)
jmp 0x27cc
movzwl -0x1a(%rbp), %eax
cmpl $0x0, %eax
jne 0x279d
movb $0x1, -0x1(%rbp)
jmp 0x27cc
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movzwl -0x1a(%rbp), %ecx
movl %ecx, %edx
callq *%rax
cmpq $0x0, %rax
je 0x27c1
movb $0x1, -0x1(%rbp)
jmp 0x27cc
movq -0x10(%rbp), %rax
movb $0xa, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_bin32_marker
bool cmp_write_bin32_marker(cmp_ctx_t *ctx, uint32_t size) {
  if (!write_type_marker(ctx, BIN32_MARKER))
    return false;

  size = be32(size);

  if (ctx->write(ctx, &size, sizeof(uint32_t)))
    return true;

  ctx->error = LENGTH_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq -0x10(%rbp), %rdi
movl $0xc6, %esi
callq 0x16a0
testb $0x1, %al
jne 0x2807
movb $0x0, -0x1(%rbp)
jmp 0x2840
movl -0x14(%rbp), %edi
callq 0x1810
movl %eax, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
leaq -0x14(%rbp), %rsi
movl $0x4, %edx
callq *%rax
cmpq $0x0, %rax
je 0x2835
movb $0x1, -0x1(%rbp)
jmp 0x2840
movq -0x10(%rbp), %rax
movb $0xf, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_bin32
bool cmp_write_bin32(cmp_ctx_t *ctx, const void *data, uint32_t size) {
  if (!cmp_write_bin32_marker(ctx, size))
    return false;

  if (size == 0)
    return true;

  if (ctx->write(ctx, data, size))
    return true;

  ctx->error = DATA_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %esi
callq 0x27e0
testb $0x1, %al
jne 0x2879
movb $0x0, -0x1(%rbp)
jmp 0x28b3
cmpl $0x0, -0x1c(%rbp)
jne 0x2885
movb $0x1, -0x1(%rbp)
jmp 0x28b3
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl -0x1c(%rbp), %ecx
movl %ecx, %edx
callq *%rax
cmpq $0x0, %rax
je 0x28a8
movb $0x1, -0x1(%rbp)
jmp 0x28b3
movq -0x10(%rbp), %rax
movb $0xa, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_bin_marker
bool cmp_write_bin_marker(cmp_ctx_t *ctx, uint32_t size) {
  if (size <= 0xFF)
    return cmp_write_bin8_marker(ctx, (uint8_t)size);
  if (size <= 0xFFFF)
    return cmp_write_bin16_marker(ctx, (uint16_t)size);

  return cmp_write_bin32_marker(ctx, size);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
cmpl $0xff, -0x14(%rbp)
ja 0x28ee
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %eax
movzbl %al, %esi
callq 0x25f0
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x291e
cmpl $0xffff, -0x14(%rbp)    # imm = 0xFFFF
ja 0x290d
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %eax
movzwl %ax, %esi
callq 0x26e0
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x291e
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x27e0
andb $0x1, %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_bin
bool cmp_write_bin(cmp_ctx_t *ctx, const void *data, uint32_t size) {
  if (size <= 0xFF)
    return cmp_write_bin8(ctx, data, (uint8_t)size);
  if (size <= 0xFFFF)
    return cmp_write_bin16(ctx, data, (uint16_t)size);

  return cmp_write_bin32(ctx, data, size);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
cmpl $0xff, -0x1c(%rbp)
ja 0x2966
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl -0x1c(%rbp), %eax
movzbl %al, %edx
callq 0x2660
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x299e
cmpl $0xffff, -0x1c(%rbp)    # imm = 0xFFFF
ja 0x2989
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl -0x1c(%rbp), %eax
movzwl %ax, %edx
callq 0x2760
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x299e
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl -0x1c(%rbp), %edx
callq 0x2850
andb $0x1, %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_fixarray
bool cmp_write_fixarray(cmp_ctx_t *ctx, uint8_t size) {
  if (size <= FIXARRAY_SIZE)
    return write_fixed_value(ctx, FIXARRAY_MARKER | size);

  ctx->error = INPUT_VALUE_TOO_LARGE_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movzbl -0x11(%rbp), %eax
cmpl $0xf, %eax
jg 0x29e7
movq -0x10(%rbp), %rdi
movzbl -0x11(%rbp), %eax
orl $0x90, %eax
movzbl %al, %esi
callq 0x1530
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x29f2
movq -0x10(%rbp), %rax
movb $0x5, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_array16
bool cmp_write_array16(cmp_ctx_t *ctx, uint16_t size) {
  if (!write_type_marker(ctx, ARRAY16_MARKER))
    return false;

  size = be16(size);

  if (ctx->write(ctx, &size, sizeof(uint16_t)))
    return true;

  ctx->error = LENGTH_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movw %si, %ax
movq %rdi, -0x10(%rbp)
movw %ax, -0x12(%rbp)
movq -0x10(%rbp), %rdi
movl $0xdc, %esi
callq 0x16a0
testb $0x1, %al
jne 0x2a2b
movb $0x0, -0x1(%rbp)
jmp 0x2a66
movzwl -0x12(%rbp), %edi
callq 0x1760
movw %ax, -0x12(%rbp)
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
leaq -0x12(%rbp), %rsi
movl $0x2, %edx
callq *%rax
cmpq $0x0, %rax
je 0x2a5b
movb $0x1, -0x1(%rbp)
jmp 0x2a66
movq -0x10(%rbp), %rax
movb $0xf, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_array32
bool cmp_write_array32(cmp_ctx_t *ctx, uint32_t size) {
  if (!write_type_marker(ctx, ARRAY32_MARKER))
    return false;

  size = be32(size);

  if (ctx->write(ctx, &size, sizeof(uint32_t)))
    return true;

  ctx->error = LENGTH_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq -0x10(%rbp), %rdi
movl $0xdd, %esi
callq 0x16a0
testb $0x1, %al
jne 0x2aa7
movb $0x0, -0x1(%rbp)
jmp 0x2ae0
movl -0x14(%rbp), %edi
callq 0x1810
movl %eax, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
leaq -0x14(%rbp), %rsi
movl $0x4, %edx
callq *%rax
cmpq $0x0, %rax
je 0x2ad5
movb $0x1, -0x1(%rbp)
jmp 0x2ae0
movq -0x10(%rbp), %rax
movb $0xf, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_array
bool cmp_write_array(cmp_ctx_t *ctx, uint32_t size) {
  if (size <= FIXARRAY_SIZE)
    return cmp_write_fixarray(ctx, (uint8_t)size);
  if (size <= 0xFFFF)
    return cmp_write_array16(ctx, (uint16_t)size);

  return cmp_write_array32(ctx, size);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
cmpl $0xf, -0x14(%rbp)
ja 0x2b1b
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %eax
movzbl %al, %esi
callq 0x29b0
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x2b4b
cmpl $0xffff, -0x14(%rbp)    # imm = 0xFFFF
ja 0x2b3a
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %eax
movzwl %ax, %esi
callq 0x2a00
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x2b4b
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x2a80
andb $0x1, %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_fixmap
bool cmp_write_fixmap(cmp_ctx_t *ctx, uint8_t size) {
  if (size <= FIXMAP_SIZE)
    return write_fixed_value(ctx, FIXMAP_MARKER | size);

  ctx->error = INPUT_VALUE_TOO_LARGE_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movzbl -0x11(%rbp), %eax
cmpl $0xf, %eax
jg 0x2b97
movq -0x10(%rbp), %rdi
movzbl -0x11(%rbp), %eax
orl $0x80, %eax
movzbl %al, %esi
callq 0x1530
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x2ba2
movq -0x10(%rbp), %rax
movb $0x5, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_map16
bool cmp_write_map16(cmp_ctx_t *ctx, uint16_t size) {
  if (!write_type_marker(ctx, MAP16_MARKER))
    return false;

  size = be16(size);

  if (ctx->write(ctx, &size, sizeof(uint16_t)))
    return true;

  ctx->error = LENGTH_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movw %si, %ax
movq %rdi, -0x10(%rbp)
movw %ax, -0x12(%rbp)
movq -0x10(%rbp), %rdi
movl $0xde, %esi
callq 0x16a0
testb $0x1, %al
jne 0x2bdb
movb $0x0, -0x1(%rbp)
jmp 0x2c16
movzwl -0x12(%rbp), %edi
callq 0x1760
movw %ax, -0x12(%rbp)
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
leaq -0x12(%rbp), %rsi
movl $0x2, %edx
callq *%rax
cmpq $0x0, %rax
je 0x2c0b
movb $0x1, -0x1(%rbp)
jmp 0x2c16
movq -0x10(%rbp), %rax
movb $0xf, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_map32
bool cmp_write_map32(cmp_ctx_t *ctx, uint32_t size) {
  if (!write_type_marker(ctx, MAP32_MARKER))
    return false;

  size = be32(size);

  if (ctx->write(ctx, &size, sizeof(uint32_t)))
    return true;

  ctx->error = LENGTH_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq -0x10(%rbp), %rdi
movl $0xdf, %esi
callq 0x16a0
testb $0x1, %al
jne 0x2c57
movb $0x0, -0x1(%rbp)
jmp 0x2c90
movl -0x14(%rbp), %edi
callq 0x1810
movl %eax, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
leaq -0x14(%rbp), %rsi
movl $0x4, %edx
callq *%rax
cmpq $0x0, %rax
je 0x2c85
movb $0x1, -0x1(%rbp)
jmp 0x2c90
movq -0x10(%rbp), %rax
movb $0xf, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_map
bool cmp_write_map(cmp_ctx_t *ctx, uint32_t size) {
  if (size <= FIXMAP_SIZE)
    return cmp_write_fixmap(ctx, (uint8_t)size);
  if (size <= 0xFFFF)
    return cmp_write_map16(ctx, (uint16_t)size);

  return cmp_write_map32(ctx, size);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
cmpl $0xf, -0x14(%rbp)
ja 0x2ccb
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %eax
movzbl %al, %esi
callq 0x2b60
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x2cfb
cmpl $0xffff, -0x14(%rbp)    # imm = 0xFFFF
ja 0x2cea
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %eax
movzwl %ax, %esi
callq 0x2bb0
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x2cfb
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x2c30
andb $0x1, %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_fixext1_marker
bool cmp_write_fixext1_marker(cmp_ctx_t *ctx, int8_t type) {
  if (!write_type_marker(ctx, FIXEXT1_MARKER))
    return false;

  if (ctx->write(ctx, &type, sizeof(int8_t)))
    return true;

  ctx->error = EXT_TYPE_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq -0x10(%rbp), %rdi
movl $0xd4, %esi
callq 0x16a0
testb $0x1, %al
jne 0x2d3a
movb $0x0, -0x1(%rbp)
jmp 0x2d68
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
leaq -0x11(%rbp), %rsi
movl $0x1, %edx
callq *%rax
cmpq $0x0, %rax
je 0x2d5d
movb $0x1, -0x1(%rbp)
jmp 0x2d68
movq -0x10(%rbp), %rax
movb $0xc, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_fixext1
bool cmp_write_fixext1(cmp_ctx_t *ctx, int8_t type, const void *data) {
  if (!cmp_write_fixext1_marker(ctx, type))
    return false;

  if (ctx->write(ctx, data, 1))
    return true;

  ctx->error = DATA_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movsbl -0x11(%rbp), %esi
callq 0x2d10
testb $0x1, %al
jne 0x2dad
movb $0x0, -0x1(%rbp)
jmp 0x2ddb
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movl $0x1, %edx
callq *%rax
cmpq $0x0, %rax
je 0x2dd0
movb $0x1, -0x1(%rbp)
jmp 0x2ddb
movq -0x10(%rbp), %rax
movb $0xa, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_fixext2_marker
bool cmp_write_fixext2_marker(cmp_ctx_t *ctx, int8_t type) {
  if (!write_type_marker(ctx, FIXEXT2_MARKER))
    return false;

  if (ctx->write(ctx, &type, sizeof(int8_t)))
    return true;

  ctx->error = EXT_TYPE_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq -0x10(%rbp), %rdi
movl $0xd5, %esi
callq 0x16a0
testb $0x1, %al
jne 0x2e1a
movb $0x0, -0x1(%rbp)
jmp 0x2e48
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
leaq -0x11(%rbp), %rsi
movl $0x1, %edx
callq *%rax
cmpq $0x0, %rax
je 0x2e3d
movb $0x1, -0x1(%rbp)
jmp 0x2e48
movq -0x10(%rbp), %rax
movb $0xc, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_fixext2
bool cmp_write_fixext2(cmp_ctx_t *ctx, int8_t type, const void *data) {
  if (!cmp_write_fixext2_marker(ctx, type))
    return false;

  if (ctx->write(ctx, data, 2))
    return true;

  ctx->error = DATA_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movsbl -0x11(%rbp), %esi
callq 0x2df0
testb $0x1, %al
jne 0x2e8d
movb $0x0, -0x1(%rbp)
jmp 0x2ebb
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movl $0x2, %edx
callq *%rax
cmpq $0x0, %rax
je 0x2eb0
movb $0x1, -0x1(%rbp)
jmp 0x2ebb
movq -0x10(%rbp), %rax
movb $0xa, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_fixext4_marker
bool cmp_write_fixext4_marker(cmp_ctx_t *ctx, int8_t type) {
  if (!write_type_marker(ctx, FIXEXT4_MARKER))
    return false;

  if (ctx->write(ctx, &type, sizeof(int8_t)))
    return true;

  ctx->error = EXT_TYPE_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq -0x10(%rbp), %rdi
movl $0xd6, %esi
callq 0x16a0
testb $0x1, %al
jne 0x2efa
movb $0x0, -0x1(%rbp)
jmp 0x2f28
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
leaq -0x11(%rbp), %rsi
movl $0x1, %edx
callq *%rax
cmpq $0x0, %rax
je 0x2f1d
movb $0x1, -0x1(%rbp)
jmp 0x2f28
movq -0x10(%rbp), %rax
movb $0xc, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_fixext4
bool cmp_write_fixext4(cmp_ctx_t *ctx, int8_t type, const void *data) {
  if (!cmp_write_fixext4_marker(ctx, type))
    return false;

  if (ctx->write(ctx, data, 4))
    return true;

  ctx->error = DATA_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movsbl -0x11(%rbp), %esi
callq 0x2ed0
testb $0x1, %al
jne 0x2f6d
movb $0x0, -0x1(%rbp)
jmp 0x2f9b
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movl $0x4, %edx
callq *%rax
cmpq $0x0, %rax
je 0x2f90
movb $0x1, -0x1(%rbp)
jmp 0x2f9b
movq -0x10(%rbp), %rax
movb $0xa, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_fixext8_marker
bool cmp_write_fixext8_marker(cmp_ctx_t *ctx, int8_t type) {
  if (!write_type_marker(ctx, FIXEXT8_MARKER))
    return false;

  if (ctx->write(ctx, &type, sizeof(int8_t)))
    return true;

  ctx->error = EXT_TYPE_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq -0x10(%rbp), %rdi
movl $0xd7, %esi
callq 0x16a0
testb $0x1, %al
jne 0x2fda
movb $0x0, -0x1(%rbp)
jmp 0x3008
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
leaq -0x11(%rbp), %rsi
movl $0x1, %edx
callq *%rax
cmpq $0x0, %rax
je 0x2ffd
movb $0x1, -0x1(%rbp)
jmp 0x3008
movq -0x10(%rbp), %rax
movb $0xc, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_fixext8
bool cmp_write_fixext8(cmp_ctx_t *ctx, int8_t type, const void *data) {
  if (!cmp_write_fixext8_marker(ctx, type))
    return false;

  if (ctx->write(ctx, data, 8))
    return true;

  ctx->error = DATA_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movsbl -0x11(%rbp), %esi
callq 0x2fb0
testb $0x1, %al
jne 0x304d
movb $0x0, -0x1(%rbp)
jmp 0x307b
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movl $0x8, %edx
callq *%rax
cmpq $0x0, %rax
je 0x3070
movb $0x1, -0x1(%rbp)
jmp 0x307b
movq -0x10(%rbp), %rax
movb $0xa, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_fixext16_marker
bool cmp_write_fixext16_marker(cmp_ctx_t *ctx, int8_t type) {
  if (!write_type_marker(ctx, FIXEXT16_MARKER))
    return false;

  if (ctx->write(ctx, &type, sizeof(int8_t)))
    return true;

  ctx->error = EXT_TYPE_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq -0x10(%rbp), %rdi
movl $0xd8, %esi
callq 0x16a0
testb $0x1, %al
jne 0x30ba
movb $0x0, -0x1(%rbp)
jmp 0x30e8
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
leaq -0x11(%rbp), %rsi
movl $0x1, %edx
callq *%rax
cmpq $0x0, %rax
je 0x30dd
movb $0x1, -0x1(%rbp)
jmp 0x30e8
movq -0x10(%rbp), %rax
movb $0xc, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_fixext16
bool cmp_write_fixext16(cmp_ctx_t *ctx, int8_t type, const void *data) {
  if (!cmp_write_fixext16_marker(ctx, type))
    return false;

  if (ctx->write(ctx, data, 16))
    return true;

  ctx->error = DATA_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movsbl -0x11(%rbp), %esi
callq 0x3090
testb $0x1, %al
jne 0x312d
movb $0x0, -0x1(%rbp)
jmp 0x315b
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movl $0x10, %edx
callq *%rax
cmpq $0x0, %rax
je 0x3150
movb $0x1, -0x1(%rbp)
jmp 0x315b
movq -0x10(%rbp), %rax
movb $0xa, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_ext8_marker
bool cmp_write_ext8_marker(cmp_ctx_t *ctx, int8_t type, uint8_t size) {
  if (!write_type_marker(ctx, EXT8_MARKER))
    return false;

  if (!ctx->write(ctx, &size, sizeof(uint8_t))) {
    ctx->error = LENGTH_WRITING_ERROR;
    return false;
  }

  if (ctx->write(ctx, &type, sizeof(int8_t)))
    return true;

  ctx->error = EXT_TYPE_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %dl, %al
movb %sil, %cl
movq %rdi, -0x10(%rbp)
movb %cl, -0x11(%rbp)
movb %al, -0x12(%rbp)
movq -0x10(%rbp), %rdi
movl $0xc7, %esi
callq 0x16a0
testb $0x1, %al
jne 0x319f
movb $0x0, -0x1(%rbp)
jmp 0x31f7
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
leaq -0x12(%rbp), %rsi
movl $0x1, %edx
callq *%rax
cmpq $0x0, %rax
jne 0x31c9
movq -0x10(%rbp), %rax
movb $0xf, (%rax)
movb $0x0, -0x1(%rbp)
jmp 0x31f7
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
leaq -0x11(%rbp), %rsi
movl $0x1, %edx
callq *%rax
cmpq $0x0, %rax
je 0x31ec
movb $0x1, -0x1(%rbp)
jmp 0x31f7
movq -0x10(%rbp), %rax
movb $0xc, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_ext8
bool cmp_write_ext8(cmp_ctx_t *ctx, int8_t tp, uint8_t sz, const void *data) {
  if (!cmp_write_ext8_marker(ctx, tp, sz))
    return false;

  if (ctx->write(ctx, data, sz))
    return true;

  ctx->error = DATA_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %dl, %al
movb %sil, %dl
movq %rdi, -0x10(%rbp)
movb %dl, -0x11(%rbp)
movb %al, -0x12(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movb -0x11(%rbp), %al
movsbl %al, %esi
movzbl -0x12(%rbp), %edx
callq 0x3170
testb $0x1, %al
jne 0x3248
movb $0x0, -0x1(%rbp)
jmp 0x3277
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movzbl -0x12(%rbp), %ecx
movl %ecx, %edx
callq *%rax
cmpq $0x0, %rax
je 0x326c
movb $0x1, -0x1(%rbp)
jmp 0x3277
movq -0x10(%rbp), %rax
movb $0xa, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_ext16_marker
bool cmp_write_ext16_marker(cmp_ctx_t *ctx, int8_t type, uint16_t size) {
  if (!write_type_marker(ctx, EXT16_MARKER))
    return false;

  size = be16(size);

  if (!ctx->write(ctx, &size, sizeof(uint16_t))) {
    ctx->error = LENGTH_WRITING_ERROR;
    return false;
  }

  if (ctx->write(ctx, &type, sizeof(int8_t)))
    return true;

  ctx->error = EXT_TYPE_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movw %dx, %ax
movb %sil, %cl
movq %rdi, -0x10(%rbp)
movb %cl, -0x11(%rbp)
movw %ax, -0x14(%rbp)
movq -0x10(%rbp), %rdi
movl $0xc8, %esi
callq 0x16a0
testb $0x1, %al
jne 0x32c1
movb $0x0, -0x1(%rbp)
jmp 0x3326
movzwl -0x14(%rbp), %edi
callq 0x1760
movw %ax, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
leaq -0x14(%rbp), %rsi
movl $0x2, %edx
callq *%rax
cmpq $0x0, %rax
jne 0x32f8
movq -0x10(%rbp), %rax
movb $0xf, (%rax)
movb $0x0, -0x1(%rbp)
jmp 0x3326
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
leaq -0x11(%rbp), %rsi
movl $0x1, %edx
callq *%rax
cmpq $0x0, %rax
je 0x331b
movb $0x1, -0x1(%rbp)
jmp 0x3326
movq -0x10(%rbp), %rax
movb $0xc, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_ext16
bool cmp_write_ext16(cmp_ctx_t *ctx, int8_t tp, uint16_t sz, const void *data) {
  if (!cmp_write_ext16_marker(ctx, tp, sz))
    return false;

  if (ctx->write(ctx, data, sz))
    return true;

  ctx->error = DATA_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movw %dx, %ax
movb %sil, %dl
movq %rdi, -0x10(%rbp)
movb %dl, -0x11(%rbp)
movw %ax, -0x14(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movb -0x11(%rbp), %al
movsbl %al, %esi
movzwl -0x14(%rbp), %edx
callq 0x3290
testb $0x1, %al
jne 0x337a
movb $0x0, -0x1(%rbp)
jmp 0x33a9
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movzwl -0x14(%rbp), %ecx
movl %ecx, %edx
callq *%rax
cmpq $0x0, %rax
je 0x339e
movb $0x1, -0x1(%rbp)
jmp 0x33a9
movq -0x10(%rbp), %rax
movb $0xa, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_ext32_marker
bool cmp_write_ext32_marker(cmp_ctx_t *ctx, int8_t type, uint32_t size) {
  if (!write_type_marker(ctx, EXT32_MARKER))
    return false;

  size = be32(size);

  if (!ctx->write(ctx, &size, sizeof(uint32_t))) {
    ctx->error = LENGTH_WRITING_ERROR;
    return false;
  }

  if (ctx->write(ctx, &type, sizeof(int8_t)))
    return true;

  ctx->error = EXT_TYPE_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movl %edx, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movl $0xc9, %esi
callq 0x16a0
testb $0x1, %al
jne 0x33ed
movb $0x0, -0x1(%rbp)
jmp 0x3450
movl -0x18(%rbp), %edi
callq 0x1810
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
leaq -0x18(%rbp), %rsi
movl $0x4, %edx
callq *%rax
cmpq $0x0, %rax
jne 0x3422
movq -0x10(%rbp), %rax
movb $0xf, (%rax)
movb $0x0, -0x1(%rbp)
jmp 0x3450
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
leaq -0x11(%rbp), %rsi
movl $0x1, %edx
callq *%rax
cmpq $0x0, %rax
je 0x3445
movb $0x1, -0x1(%rbp)
jmp 0x3450
movq -0x10(%rbp), %rax
movb $0xc, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_ext32
bool cmp_write_ext32(cmp_ctx_t *ctx, int8_t tp, uint32_t sz, const void *data) {
  if (!cmp_write_ext32_marker(ctx, tp, sz))
    return false;

  if (ctx->write(ctx, data, sz))
    return true;

  ctx->error = DATA_WRITING_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movl %edx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movb -0x11(%rbp), %al
movl -0x18(%rbp), %edx
movsbl %al, %esi
callq 0x33c0
testb $0x1, %al
jne 0x3495
movb $0x0, -0x1(%rbp)
jmp 0x34c3
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movl -0x18(%rbp), %ecx
movl %ecx, %edx
callq *%rax
cmpq $0x0, %rax
je 0x34b8
movb $0x1, -0x1(%rbp)
jmp 0x34c3
movq -0x10(%rbp), %rax
movb $0xa, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_ext_marker
bool cmp_write_ext_marker(cmp_ctx_t *ctx, int8_t tp, uint32_t sz) {
  if (sz == 1)
    return cmp_write_fixext1_marker(ctx, tp);
  if (sz == 2)
    return cmp_write_fixext2_marker(ctx, tp);
  if (sz == 4)
    return cmp_write_fixext4_marker(ctx, tp);
  if (sz == 8)
    return cmp_write_fixext8_marker(ctx, tp);
  if (sz == 16)
    return cmp_write_fixext16_marker(ctx, tp);
  if (sz <= 0xFF)
    return cmp_write_ext8_marker(ctx, tp, (uint8_t)sz);
  if (sz <= 0xFFFF)
    return cmp_write_ext16_marker(ctx, tp, (uint16_t)sz);

  return cmp_write_ext32_marker(ctx, tp, sz);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movl %edx, -0x18(%rbp)
cmpl $0x1, -0x18(%rbp)
jne 0x3502
movq -0x10(%rbp), %rdi
movsbl -0x11(%rbp), %esi
callq 0x2d10
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x35d1
cmpl $0x2, -0x18(%rbp)
jne 0x351f
movq -0x10(%rbp), %rdi
movsbl -0x11(%rbp), %esi
callq 0x2df0
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x35d1
cmpl $0x4, -0x18(%rbp)
jne 0x353c
movq -0x10(%rbp), %rdi
movsbl -0x11(%rbp), %esi
callq 0x2ed0
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x35d1
cmpl $0x8, -0x18(%rbp)
jne 0x3556
movq -0x10(%rbp), %rdi
movsbl -0x11(%rbp), %esi
callq 0x2fb0
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x35d1
cmpl $0x10, -0x18(%rbp)
jne 0x3570
movq -0x10(%rbp), %rdi
movsbl -0x11(%rbp), %esi
callq 0x3090
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x35d1
cmpl $0xff, -0x18(%rbp)
ja 0x3595
movq -0x10(%rbp), %rdi
movb -0x11(%rbp), %cl
movl -0x18(%rbp), %eax
movsbl %cl, %esi
movzbl %al, %edx
callq 0x3170
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x35d1
cmpl $0xffff, -0x18(%rbp)    # imm = 0xFFFF
ja 0x35ba
movq -0x10(%rbp), %rdi
movb -0x11(%rbp), %cl
movl -0x18(%rbp), %eax
movsbl %cl, %esi
movzwl %ax, %edx
callq 0x3290
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x35d1
movq -0x10(%rbp), %rdi
movb -0x11(%rbp), %al
movl -0x18(%rbp), %edx
movsbl %al, %esi
callq 0x33c0
andb $0x1, %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_write_ext
bool cmp_write_ext(cmp_ctx_t *ctx, int8_t tp, uint32_t sz, const void *data) {
  if (sz == 1)
    return cmp_write_fixext1(ctx, tp, data);
  if (sz == 2)
    return cmp_write_fixext2(ctx, tp, data);
  if (sz == 4)
    return cmp_write_fixext4(ctx, tp, data);
  if (sz == 8)
    return cmp_write_fixext8(ctx, tp, data);
  if (sz == 16)
    return cmp_write_fixext16(ctx, tp, data);
  if (sz <= 0xFF)
    return cmp_write_ext8(ctx, tp, (uint8_t)sz, data);
  if (sz <= 0xFFFF)
    return cmp_write_ext16(ctx, tp, (uint16_t)sz, data);

  return cmp_write_ext32(ctx, tp, sz, data);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movl %edx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpl $0x1, -0x18(%rbp)
jne 0x361c
movq -0x10(%rbp), %rdi
movb -0x11(%rbp), %al
movq -0x20(%rbp), %rdx
movsbl %al, %esi
callq 0x2d80
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x3712
cmpl $0x2, -0x18(%rbp)
jne 0x363f
movq -0x10(%rbp), %rdi
movb -0x11(%rbp), %al
movq -0x20(%rbp), %rdx
movsbl %al, %esi
callq 0x2e60
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x3712
cmpl $0x4, -0x18(%rbp)
jne 0x3662
movq -0x10(%rbp), %rdi
movb -0x11(%rbp), %al
movq -0x20(%rbp), %rdx
movsbl %al, %esi
callq 0x2f40
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x3712
cmpl $0x8, -0x18(%rbp)
jne 0x3685
movq -0x10(%rbp), %rdi
movb -0x11(%rbp), %al
movq -0x20(%rbp), %rdx
movsbl %al, %esi
callq 0x3020
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x3712
cmpl $0x10, -0x18(%rbp)
jne 0x36a5
movq -0x10(%rbp), %rdi
movb -0x11(%rbp), %al
movq -0x20(%rbp), %rdx
movsbl %al, %esi
callq 0x3100
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x3712
cmpl $0xff, -0x18(%rbp)
ja 0x36ce
movq -0x10(%rbp), %rdi
movb -0x11(%rbp), %dl
movl -0x18(%rbp), %eax
movq -0x20(%rbp), %rcx
movsbl %dl, %esi
movzbl %al, %edx
callq 0x3210
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x3712
cmpl $0xffff, -0x18(%rbp)    # imm = 0xFFFF
ja 0x36f7
movq -0x10(%rbp), %rdi
movb -0x11(%rbp), %dl
movl -0x18(%rbp), %eax
movq -0x20(%rbp), %rcx
movsbl %dl, %esi
movzwl %ax, %edx
callq 0x3340
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x3712
movq -0x10(%rbp), %rdi
movb -0x11(%rbp), %al
movl -0x18(%rbp), %edx
movq -0x20(%rbp), %rcx
movsbl %al, %esi
callq 0x3460
andb $0x1, %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_read_pfix
bool cmp_read_pfix(cmp_ctx_t *ctx, uint8_t *c) {
  cmp_object_t obj;

  if (!cmp_read_object(ctx, &obj))
    return false;

  if (obj.type != CMP_TYPE_POSITIVE_FIXNUM) {
    ctx->error = INVALID_TYPE_ERROR;
    return false;
  }

  *c = obj.as.u8;
  return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x3f70
testb $0x1, %al
jne 0x3f37
movb $0x0, -0x1(%rbp)
jmp 0x3f5a
movzbl -0x28(%rbp), %eax
cmpl $0x0, %eax
je 0x3f4d
movq -0x10(%rbp), %rax
movb $0xd, (%rax)
movb $0x0, -0x1(%rbp)
jmp 0x3f5a
movb -0x20(%rbp), %cl
movq -0x18(%rbp), %rax
movb %cl, (%rax)
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_read_object
bool cmp_read_object(cmp_ctx_t *ctx, cmp_object_t *obj) {
  uint8_t type_marker = 0;

  if (!read_type_marker(ctx, &type_marker))
    return false;

  if (!type_marker_to_cmp_type(type_marker, &obj->type)) {
    ctx->error = INVALID_TYPE_ERROR;
    return false;
  }

  return read_obj_data(ctx, type_marker, obj);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movb $0x0, -0x19(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x19(%rbp), %rsi
callq 0x57f0
testb $0x1, %al
jne 0x3f9b
movb $0x0, -0x1(%rbp)
jmp 0x3fd3
movb -0x19(%rbp), %al
movq -0x18(%rbp), %rsi
movzbl %al, %edi
callq 0x5830
testb $0x1, %al
jne 0x3fbb
movq -0x10(%rbp), %rax
movb $0xd, (%rax)
movb $0x0, -0x1(%rbp)
jmp 0x3fd3
movq -0x10(%rbp), %rdi
movb -0x19(%rbp), %al
movq -0x18(%rbp), %rdx
movzbl %al, %esi
callq 0x5ad0
andb $0x1, %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_read_nfix
bool cmp_read_nfix(cmp_ctx_t *ctx, int8_t *c) {
  cmp_object_t obj;

  if (!cmp_read_object(ctx, &obj))
    return false;

  if (obj.type != CMP_TYPE_NEGATIVE_FIXNUM) {
    ctx->error = INVALID_TYPE_ERROR;
    return false;
  }

  *c = obj.as.s8;
  return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x3f70
testb $0x1, %al
jne 0x4007
movb $0x0, -0x1(%rbp)
jmp 0x402a
movzbl -0x28(%rbp), %eax
cmpl $0x22, %eax
je 0x401d
movq -0x10(%rbp), %rax
movb $0xd, (%rax)
movb $0x0, -0x1(%rbp)
jmp 0x402a
movb -0x20(%rbp), %cl
movq -0x18(%rbp), %rax
movb %cl, (%rax)
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_read_sfix
bool cmp_read_sfix(cmp_ctx_t *ctx, int8_t *c) {
  cmp_object_t obj;

  if (!cmp_read_object(ctx, &obj))
    return false;

  switch (obj.type) {
    case CMP_TYPE_POSITIVE_FIXNUM:
    case CMP_TYPE_NEGATIVE_FIXNUM:
      *c = obj.as.s8;
      return true;
    default:
      ctx->error = INVALID_TYPE_ERROR;
      return false;
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x3f70
testb $0x1, %al
jne 0x4067
movb $0x0, -0x1(%rbp)
jmp 0x4098
movzbl -0x28(%rbp), %eax
movl %eax, -0x2c(%rbp)
testl %eax, %eax
je 0x407e
jmp 0x4074
movl -0x2c(%rbp), %eax
subl $0x22, %eax
jne 0x408d
jmp 0x407e
movb -0x20(%rbp), %cl
movq -0x18(%rbp), %rax
movb %cl, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x4098
movq -0x10(%rbp), %rax
movb $0xd, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_read_s8
bool cmp_read_s8(cmp_ctx_t *ctx, int8_t *c) {
  cmp_object_t obj;

  if (!cmp_read_object(ctx, &obj))
    return false;

  if (obj.type != CMP_TYPE_SINT8) {
    ctx->error = INVALID_TYPE_ERROR;
    return false;
  }

  *c = obj.as.s8;
  return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x3f70
testb $0x1, %al
jne 0x40d7
movb $0x0, -0x1(%rbp)
jmp 0x40fa
movzbl -0x28(%rbp), %eax
cmpl $0x12, %eax
je 0x40ed
movq -0x10(%rbp), %rax
movb $0xd, (%rax)
movb $0x0, -0x1(%rbp)
jmp 0x40fa
movb -0x20(%rbp), %cl
movq -0x18(%rbp), %rax
movb %cl, (%rax)
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_read_s16
bool cmp_read_s16(cmp_ctx_t *ctx, int16_t *s) {
  cmp_object_t obj;

  if (!cmp_read_object(ctx, &obj))
    return false;

  if (obj.type != CMP_TYPE_SINT16) {
    ctx->error = INVALID_TYPE_ERROR;
    return false;
  }

  *s = obj.as.s16;
  return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x3f70
testb $0x1, %al
jne 0x4137
movb $0x0, -0x1(%rbp)
jmp 0x415c
movzbl -0x28(%rbp), %eax
cmpl $0x13, %eax
je 0x414d
movq -0x10(%rbp), %rax
movb $0xd, (%rax)
movb $0x0, -0x1(%rbp)
jmp 0x415c
movw -0x20(%rbp), %cx
movq -0x18(%rbp), %rax
movw %cx, (%rax)
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_read_s32
bool cmp_read_s32(cmp_ctx_t *ctx, int32_t *i) {
  cmp_object_t obj;

  if (!cmp_read_object(ctx, &obj))
    return false;

  if (obj.type != CMP_TYPE_SINT32) {
    ctx->error = INVALID_TYPE_ERROR;
    return false;
  }

  *i = obj.as.s32;
  return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x3f70
testb $0x1, %al
jne 0x4197
movb $0x0, -0x1(%rbp)
jmp 0x41ba
movzbl -0x28(%rbp), %eax
cmpl $0x14, %eax
je 0x41ad
movq -0x10(%rbp), %rax
movb $0xd, (%rax)
movb $0x0, -0x1(%rbp)
jmp 0x41ba
movl -0x20(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_read_s64
bool cmp_read_s64(cmp_ctx_t *ctx, int64_t *l) {
  cmp_object_t obj;

  if (!cmp_read_object(ctx, &obj))
    return false;

  if (obj.type != CMP_TYPE_SINT64) {
    ctx->error = INVALID_TYPE_ERROR;
    return false;
  }

  *l = obj.as.s64;
  return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x3f70
testb $0x1, %al
jne 0x41f7
movb $0x0, -0x1(%rbp)
jmp 0x421c
movzbl -0x28(%rbp), %eax
cmpl $0x15, %eax
je 0x420d
movq -0x10(%rbp), %rax
movb $0xd, (%rax)
movb $0x0, -0x1(%rbp)
jmp 0x421c
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_read_char
bool cmp_read_char(cmp_ctx_t *ctx, int8_t *c) {
  cmp_object_t obj;

  if (!cmp_read_object(ctx, &obj))
    return false;

  switch (obj.type) {
    case CMP_TYPE_POSITIVE_FIXNUM:
    case CMP_TYPE_NEGATIVE_FIXNUM:
    case CMP_TYPE_SINT8:
      *c = obj.as.s8;
      return true;
    case CMP_TYPE_UINT8:
      if (obj.as.u8 <= 127) {
        *c = obj.as.u8;
        return true;
      }
      break;
    default:
      break;
  }

  ctx->error = INVALID_TYPE_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x3f70
testb $0x1, %al
jne 0x4257
movb $0x0, -0x1(%rbp)
jmp 0x42af
movzbl -0x28(%rbp), %eax
movq %rax, -0x30(%rbp)
subq $0x22, %rax
ja 0x42a2
movq -0x30(%rbp), %rax
leaq 0x4eec(%rip), %rcx      # 0x915c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movb -0x20(%rbp), %cl
movq -0x18(%rbp), %rax
movb %cl, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x42af
movzbl -0x20(%rbp), %eax
cmpl $0x7f, %eax
jg 0x42a0
movb -0x20(%rbp), %cl
movq -0x18(%rbp), %rax
movb %cl, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x42af
jmp 0x42a4
jmp 0x42a4
movq -0x10(%rbp), %rax
movb $0xd, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/BatchLabs[P]msgpack-dump/src/cmp.c
// Function: cmp_read_short
bool cmp_read_short(cmp_ctx_t *ctx, int16_t *s) {
  cmp_object_t obj;

  if (!cmp_read_object(ctx, &obj))
    return false;

  switch (obj.type) {
    case CMP_TYPE_POSITIVE_FIXNUM:
    case CMP_TYPE_NEGATIVE_FIXNUM:
    case CMP_TYPE_SINT8:
      *s = obj.as.s8;
      return true;
    case CMP_TYPE_UINT8:
      *s = obj.as.u8;
      return true;
    case CMP_TYPE_SINT16:
      *s = obj.as.s16;
      return true;
    case CMP_TYPE_UINT16:
      if (obj.as.u16 <= 32767) {
        *s = obj.as.u16;
        return true;
      }
      break;
    default:
      break;
  }

  ctx->error = INVALID_TYPE_ERROR;
  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x3f70
testb $0x1, %al
jne 0x42ea
movb $0x0, -0x1(%rbp)
jmp 0x4370
movzbl -0x28(%rbp), %eax
movq %rax, -0x30(%rbp)
subq $0x22, %rax
ja 0x4363
movq -0x30(%rbp), %rax
leaq 0x4ee5(%rip), %rcx      # 0x91e8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movsbl -0x20(%rbp), %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x4370
movzbl -0x20(%rbp), %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x4370
movw -0x20(%rbp), %cx
movq -0x18(%rbp), %rax
movw %cx, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x4370
movzwl -0x20(%rbp), %eax
cmpl $0x7fff, %eax           # imm = 0x7FFF
jg 0x4361
movw -0x20(%rbp), %cx
movq -0x18(%rbp), %rax
movw %cx, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x4370
jmp 0x4365
jmp 0x4365
movq -0x10(%rbp), %rax
movb $0xd, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)