LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: InitDefaultsscc_info_MmcState_MmcNoneState_save_2eproto()
static void InitDefaultsscc_info_MmcState_MmcNoneState_save_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::Rnes::_MmcState_MmcNoneState_default_instance_;
    new (ptr) ::Rnes::MmcState_MmcNoneState();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::Rnes::MmcState_MmcNoneState::InitAsDefaultInstance();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0xf418(%rip), %rdx      # 0x2cd81
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xb110
andq $0x0, 0x24078(%rip)     # 0x419f8
leaq 0x24069(%rip), %rdi     # 0x419f0
leaq 0x22bc2(%rip), %rax     # 0x40550
movq %rax, 0x2405b(%rip)     # 0x419f0
andl $0x0, 0x24064(%rip)     # 0x41a00
popq %rbp
jmp 0x28cc2
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: InitDefaultsscc_info_NoiseState_save_2eproto()
static void InitDefaultsscc_info_NoiseState_save_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::Rnes::_NoiseState_default_instance_;
    new (ptr) ::Rnes::NoiseState();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::Rnes::NoiseState::InitAsDefaultInstance();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0xf3d4(%rip), %rdx      # 0x2cd81
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xb110
andq $0x0, 0x23eec(%rip)     # 0x418b0
leaq 0x23edd(%rip), %rdi     # 0x418a8
leaq 0x228be(%rip), %rax     # 0x40290
movq %rax, 0x23ecf(%rip)     # 0x418a8
xorps %xmm0, %xmm0
movups %xmm0, 0x23ed5(%rip)    # 0x418b8
movups %xmm0, 0x23ede(%rip)    # 0x418c8
andl $0x0, 0x23ee7(%rip)     # 0x418d8
popq %rbp
jmp 0x28cc2
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: InitDefaultsscc_info_PpuState_save_2eproto()
static void InitDefaultsscc_info_PpuState_save_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::Rnes::_PpuState_default_instance_;
    new (ptr) ::Rnes::PpuState();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::Rnes::PpuState::InitAsDefaultInstance();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
leaq 0xf37d(%rip), %rdx      # 0x2cd81
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xb110
leaq 0x23f5e(%rip), %rbx     # 0x41978
movq %rbx, %rdi
callq 0x28cfa
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x28cc2
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: InitDefaultsscc_info_PpuState_SpriteState_save_2eproto()
static void InitDefaultsscc_info_PpuState_SpriteState_save_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::Rnes::_PpuState_SpriteState_default_instance_;
    new (ptr) ::Rnes::PpuState_SpriteState();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::Rnes::PpuState_SpriteState::InitAsDefaultInstance();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0xf346(%rip), %rdx      # 0x2cd81
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xb110
andq $0x0, 0x23f06(%rip)     # 0x41958
leaq 0x23ef7(%rip), %rdi     # 0x41950
leaq 0x22990(%rip), %rax     # 0x403f0
movq %rax, 0x23ee9(%rip)     # 0x41950
xorps %xmm0, %xmm0
movups %xmm0, 0x23eef(%rip)    # 0x41960
andq $0x0, 0x23ef7(%rip)     # 0x41970
popq %rbp
jmp 0x28cc2
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: InitDefaultsscc_info_PulseState_save_2eproto()
static void InitDefaultsscc_info_PulseState_save_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::Rnes::_PulseState_default_instance_;
    new (ptr) ::Rnes::PulseState();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::Rnes::PulseState::InitAsDefaultInstance();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0xf2f7(%rip), %rdx      # 0x2cd81
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xb110
andq $0x0, 0x23da7(%rip)     # 0x41848
leaq 0x23d98(%rip), %rdi     # 0x41840
leaq 0x22681(%rip), %rax     # 0x40130
movq %rax, 0x23d8a(%rip)     # 0x41840
xorps %xmm0, %xmm0
movups %xmm0, 0x23d90(%rip)    # 0x41850
movups %xmm0, 0x23d99(%rip)    # 0x41860
andq $0x0, 0x23da1(%rip)     # 0x41870
popq %rbp
jmp 0x28cc2
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: InitDefaultsscc_info_SaveState_save_2eproto()
static void InitDefaultsscc_info_SaveState_save_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::Rnes::_SaveState_default_instance_;
    new (ptr) ::Rnes::SaveState();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::Rnes::SaveState::InitAsDefaultInstance();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
leaq 0xf29f(%rip), %rdx      # 0x2cd81
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xb110
leaq 0x24048(%rip), %rbx     # 0x41b40
movq %rbx, %rdi
callq 0x10f26
movq %rbx, %rdi
callq 0x28cc2
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x250fc
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: InitDefaultsscc_info_TriangleState_save_2eproto()
static void InitDefaultsscc_info_TriangleState_save_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::Rnes::_TriangleState_default_instance_;
    new (ptr) ::Rnes::TriangleState();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::Rnes::TriangleState::InitAsDefaultInstance();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0xf263(%rip), %rdx      # 0x2cd81
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xb110
andq $0x0, 0x23d4b(%rip)     # 0x41880
leaq 0x23d3c(%rip), %rdi     # 0x41878
leaq 0x2269d(%rip), %rax     # 0x401e0
movq %rax, 0x23d2e(%rip)     # 0x41878
xorps %xmm0, %xmm0
movups %xmm0, 0x23d34(%rip)    # 0x41888
movups %xmm0, 0x23d3d(%rip)    # 0x41898
popq %rbp
jmp 0x28cc2
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: InitDefaultsscc_info_VideoMemoryState_save_2eproto()
static void InitDefaultsscc_info_VideoMemoryState_save_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::Rnes::_VideoMemoryState_default_instance_;
    new (ptr) ::Rnes::VideoMemoryState();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::Rnes::VideoMemoryState::InitAsDefaultInstance();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
leaq 0xf213(%rip), %rdx      # 0x2cd81
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xb110
leaq 0x23f64(%rip), %rbx     # 0x41ae8
movq %rbx, %rdi
callq 0x28d06
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x28cc2
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::CpuState::CpuState(Rnes::CpuState const&)
CpuState::CpuState(const CpuState& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&a_, &from.a_,
    static_cast<size_t>(reinterpret_cast<char*>(&cycle_) -
    reinterpret_cast<char*>(&a_)) + sizeof(cycle_));
  // @@protoc_insertion_point(copy_constructor:Rnes.CpuState)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rdi, %rbx
andq $0x0, 0x8(%rdi)
movq %rsi, %r14
leaq 0x224a3(%rip), %rax     # 0x40080
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
andl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0x1dc05
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x291a6
movups 0x18(%r14), %xmm0
movups 0x28(%r14), %xmm1
movups %xmm1, 0x28(%rbx)
movups %xmm0, 0x18(%rbx)
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::CpuState::Clear()
void CpuState::Clear() {
// @@protoc_insertion_point(message_clear_start:Rnes.CpuState)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x0000007fu) {
    ::memset(&a_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&cycle_) -
        reinterpret_cast<char*>(&a_)) + sizeof(cycle_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
testb $0x7f, 0x10(%rdi)
je 0x1dca5
xorps %xmm0, %xmm0
movups %xmm0, 0x28(%rdi)
movups %xmm0, 0x18(%rdi)
andl $0x0, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
jne 0x1dcb1
popq %rbp
retq
addq $0x8, %rdi
popq %rbp
jmp 0x291de
nop
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::CpuState::MergeFrom(google::protobuf::Message const&)
void CpuState::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:Rnes.CpuState)
  GOOGLE_DCHECK_NE(&from, this);
  const CpuState* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CpuState>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:Rnes.CpuState)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:Rnes.CpuState)
    MergeFrom(*source);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x48, %rsp
movq %rsi, %rbx
movq %rdi, %r14
cmpq %rdi, %rsi
jne 0x1e117
leaq 0xeca2(%rip), %rdx      # 0x2cd81
leaq -0x58(%rbp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0x424, %ecx            # imm = 0x424
callq 0xb460
leaq 0xec96(%rip), %rsi      # 0x2cd90
movq %r15, %rdi
callq 0xb980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xb5e0
leaq -0x58(%rbp), %rdi
callq 0xb730
leaq 0x21f62(%rip), %rax     # 0x40080
cmpq %rax, (%rbx)
je 0x1e130
movq %rbx, %rdi
movq %r14, %rsi
callq 0xb580
jmp 0x1e13b
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1e15c
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1e148
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xb730
movq %rbx, %rdi
callq 0xb4e0
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::CpuState::MergeFrom(Rnes::CpuState const&)
void CpuState::MergeFrom(const CpuState& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:Rnes.CpuState)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x0000007fu) {
    if (cached_has_bits & 0x00000001u) {
      a_ = from.a_;
    }
    if (cached_has_bits & 0x00000002u) {
      x_ = from.x_;
    }
    if (cached_has_bits & 0x00000004u) {
      y_ = from.y_;
    }
    if (cached_has_bits & 0x00000008u) {
      pc_ = from.pc_;
    }
    if (cached_has_bits & 0x00000010u) {
      sp_ = from.sp_;
    }
    if (cached_has_bits & 0x00000020u) {
      status_ = from.status_;
    }
    if (cached_has_bits & 0x00000040u) {
      cycle_ = from.cycle_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x48, %rsp
movq %rsi, %r14
movq %rdi, %rbx
cmpq %rdi, %rsi
jne 0x1e1b3
leaq 0xec06(%rip), %rdx      # 0x2cd81
leaq -0x58(%rbp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0x433, %ecx            # imm = 0x433
callq 0xb460
leaq 0xebfa(%rip), %rsi      # 0x2cd90
movq %r15, %rdi
callq 0xb980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xb5e0
leaq -0x58(%rbp), %rdi
callq 0xb730
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0x1e1ce
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x291a6
movl 0x10(%r14), %eax
testb $0x7f, %al
je 0x1e227
testb $0x1, %al
je 0x1e1e1
movl 0x18(%r14), %ecx
movl %ecx, 0x18(%rbx)
testb $0x2, %al
je 0x1e1ec
movl 0x1c(%r14), %ecx
movl %ecx, 0x1c(%rbx)
testb $0x4, %al
je 0x1e1f7
movl 0x20(%r14), %ecx
movl %ecx, 0x20(%rbx)
testb $0x8, %al
je 0x1e202
movl 0x24(%r14), %ecx
movl %ecx, 0x24(%rbx)
testb $0x10, %al
je 0x1e20d
movl 0x28(%r14), %ecx
movl %ecx, 0x28(%rbx)
testb $0x20, %al
je 0x1e218
movl 0x2c(%r14), %ecx
movl %ecx, 0x2c(%rbx)
testb $0x40, %al
je 0x1e224
movq 0x30(%r14), %rcx
movq %rcx, 0x30(%rbx)
orl %eax, 0x10(%rbx)
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1e234
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xb730
movq %rbx, %rdi
callq 0xb4e0
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::CpuState::InternalSwap(Rnes::CpuState*)
void CpuState::InternalSwap(CpuState* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CpuState, cycle_)
      + sizeof(CpuState::cycle_)
      - PROTOBUF_FIELD_OFFSET(CpuState, a_)>(
          reinterpret_cast<char*>(&a_),
          reinterpret_cast<char*>(&other->a_));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
movq 0x8(%rsi), %rsi
testb $0x1, 0x8(%rdi)
jne 0x1e2bf
testb $0x1, %sil
jne 0x1e2c5
jmp 0x1e2d6
testb $0x1, %sil
je 0x1e30d
andq $-0x2, %rsi
addq $0x8, %rsi
leaq 0x8(%r14), %rdi
callq 0x2920c
movl 0x10(%r14), %eax
movl 0x10(%rbx), %ecx
movl %ecx, 0x10(%r14)
movl %eax, 0x10(%rbx)
movups 0x18(%r14), %xmm0
movups 0x18(%rbx), %xmm1
movups %xmm1, 0x18(%r14)
movups %xmm0, 0x18(%rbx)
movups 0x28(%r14), %xmm0
movups 0x28(%rbx), %xmm1
movups %xmm1, 0x28(%r14)
movups %xmm0, 0x28(%rbx)
popq %rbx
popq %r14
popq %rbp
retq
leaq 0x8(%rbx), %rdi
callq 0x28ff8
movq %rax, %rsi
jmp 0x1e2cd
nop
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::PulseState::PulseState(Rnes::PulseState const&)
PulseState::PulseState(const PulseState& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&lengthcounter_, &from.lengthcounter_,
    static_cast<size_t>(reinterpret_cast<char*>(&sequenceroffset_) -
    reinterpret_cast<char*>(&lengthcounter_)) + sizeof(sequenceroffset_));
  // @@protoc_insertion_point(copy_constructor:Rnes.PulseState)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rdi, %rbx
andq $0x0, 0x8(%rdi)
movq %rsi, %r14
leaq 0x21dc7(%rip), %rax     # 0x40130
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
andl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0x1e391
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x291a6
movups 0x18(%r14), %xmm0
movups 0x28(%r14), %xmm1
movups %xmm1, 0x28(%rbx)
movups %xmm0, 0x18(%rbx)
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::PulseState::Clear()
void PulseState::Clear() {
// @@protoc_insertion_point(message_clear_start:Rnes.PulseState)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    ::memset(&lengthcounter_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&currentsample_) -
        reinterpret_cast<char*>(&lengthcounter_)) + sizeof(currentsample_));
  }
  if (cached_has_bits & 0x00000300u) {
    ::memset(&timerdivider_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&sequenceroffset_) -
        reinterpret_cast<char*>(&timerdivider_)) + sizeof(sequenceroffset_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl 0x10(%rdi), %eax
testb %al, %al
je 0x1e433
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rdi)
andq $0x0, 0x28(%rdi)
testw $0x300, %ax             # imm = 0x300
je 0x1e43e
andq $0x0, 0x30(%rdi)
andl $0x0, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
jne 0x1e44a
popq %rbp
retq
addq $0x8, %rdi
popq %rbp
jmp 0x291de
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::PulseState::MergeFrom(google::protobuf::Message const&)
void PulseState::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:Rnes.PulseState)
  GOOGLE_DCHECK_NE(&from, this);
  const PulseState* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<PulseState>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:Rnes.PulseState)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:Rnes.PulseState)
    MergeFrom(*source);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x48, %rsp
movq %rsi, %rbx
movq %rdi, %r14
cmpq %rdi, %rsi
jne 0x1e983
leaq 0xe436(%rip), %rdx      # 0x2cd81
leaq -0x58(%rbp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0x5f4, %ecx            # imm = 0x5F4
callq 0xb460
leaq 0xe42a(%rip), %rsi      # 0x2cd90
movq %r15, %rdi
callq 0xb980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xb5e0
leaq -0x58(%rbp), %rdi
callq 0xb730
leaq 0x217a6(%rip), %rax     # 0x40130
cmpq %rax, (%rbx)
je 0x1e99c
movq %rbx, %rdi
movq %r14, %rsi
callq 0xb580
jmp 0x1e9a7
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1e9c8
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1e9b4
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xb730
movq %rbx, %rdi
callq 0xb4e0
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::PulseState::InternalSwap(Rnes::PulseState*)
void PulseState::InternalSwap(PulseState* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PulseState, sequenceroffset_)
      + sizeof(PulseState::sequenceroffset_)
      - PROTOBUF_FIELD_OFFSET(PulseState, lengthcounter_)>(
          reinterpret_cast<char*>(&lengthcounter_),
          reinterpret_cast<char*>(&other->lengthcounter_));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
movq 0x8(%rsi), %rsi
testb $0x1, 0x8(%rdi)
jne 0x1eb59
testb $0x1, %sil
jne 0x1eb5f
jmp 0x1eb70
testb $0x1, %sil
je 0x1eba7
andq $-0x2, %rsi
addq $0x8, %rsi
leaq 0x8(%r14), %rdi
callq 0x2920c
movl 0x10(%r14), %eax
movl 0x10(%rbx), %ecx
movl %ecx, 0x10(%r14)
movl %eax, 0x10(%rbx)
movups 0x18(%r14), %xmm0
movups 0x18(%rbx), %xmm1
movups %xmm1, 0x18(%r14)
movups %xmm0, 0x18(%rbx)
movups 0x28(%r14), %xmm0
movups 0x28(%rbx), %xmm1
movups %xmm1, 0x28(%r14)
movups %xmm0, 0x28(%rbx)
popq %rbx
popq %r14
popq %rbp
retq
leaq 0x8(%rbx), %rdi
callq 0x28ff8
movq %rax, %rsi
jmp 0x1eb67
nop
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::TriangleState::TriangleState(Rnes::TriangleState const&)
TriangleState::TriangleState(const TriangleState& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&lengthcounter_, &from.lengthcounter_,
    static_cast<size_t>(reinterpret_cast<char*>(&sequenceroffset_) -
    reinterpret_cast<char*>(&lengthcounter_)) + sizeof(sequenceroffset_));
  // @@protoc_insertion_point(copy_constructor:Rnes.TriangleState)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rdi, %rbx
andq $0x0, 0x8(%rdi)
movq %rsi, %r14
leaq 0x215e1(%rip), %rax     # 0x401e0
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
andl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0x1ec27
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x291a6
movq 0x28(%r14), %rax
movq %rax, 0x28(%rbx)
movups 0x18(%r14), %xmm0
movups %xmm0, 0x18(%rbx)
popq %rbx
popq %r14
popq %rbp
retq
nop
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::TriangleState::Clear()
void TriangleState::Clear() {
// @@protoc_insertion_point(message_clear_start:Rnes.TriangleState)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x0000003fu) {
    ::memset(&lengthcounter_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&sequenceroffset_) -
        reinterpret_cast<char*>(&lengthcounter_)) + sizeof(sequenceroffset_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
testb $0x3f, 0x10(%rdi)
je 0x1ecc8
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rdi)
andq $0x0, 0x28(%rdi)
andl $0x0, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
jne 0x1ecd4
popq %rbp
retq
addq $0x8, %rdi
popq %rbp
jmp 0x291de
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::TriangleState::MergeFrom(google::protobuf::Message const&)
void TriangleState::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:Rnes.TriangleState)
  GOOGLE_DCHECK_NE(&from, this);
  const TriangleState* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TriangleState>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:Rnes.TriangleState)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:Rnes.TriangleState)
    MergeFrom(*source);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x48, %rsp
movq %rsi, %rbx
movq %rdi, %r14
cmpq %rdi, %rsi
jne 0x1f0c5
leaq 0xdcf4(%rip), %rdx      # 0x2cd81
leaq -0x58(%rbp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0x76d, %ecx            # imm = 0x76D
callq 0xb460
leaq 0xdce8(%rip), %rsi      # 0x2cd90
movq %r15, %rdi
callq 0xb980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xb5e0
leaq -0x58(%rbp), %rdi
callq 0xb730
leaq 0x21114(%rip), %rax     # 0x401e0
cmpq %rax, (%rbx)
je 0x1f0de
movq %rbx, %rdi
movq %r14, %rsi
callq 0xb580
jmp 0x1f0e9
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1f10a
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1f0f6
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xb730
movq %rbx, %rdi
callq 0xb4e0
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::TriangleState::MergeFrom(Rnes::TriangleState const&)
void TriangleState::MergeFrom(const TriangleState& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:Rnes.TriangleState)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x0000003fu) {
    if (cached_has_bits & 0x00000001u) {
      lengthcounter_ = from.lengthcounter_;
    }
    if (cached_has_bits & 0x00000002u) {
      linearcounterhalt_ = from.linearcounterhalt_;
    }
    if (cached_has_bits & 0x00000004u) {
      linearcounter_ = from.linearcounter_;
    }
    if (cached_has_bits & 0x00000008u) {
      currentsample_ = from.currentsample_;
    }
    if (cached_has_bits & 0x00000010u) {
      timerdivider_ = from.timerdivider_;
    }
    if (cached_has_bits & 0x00000020u) {
      sequenceroffset_ = from.sequenceroffset_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x48, %rsp
movq %rsi, %r14
movq %rdi, %rbx
cmpq %rdi, %rsi
jne 0x1f161
leaq 0xdc58(%rip), %rdx      # 0x2cd81
leaq -0x58(%rbp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0x77c, %ecx            # imm = 0x77C
callq 0xb460
leaq 0xdc4c(%rip), %rsi      # 0x2cd90
movq %r15, %rdi
callq 0xb980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xb5e0
leaq -0x58(%rbp), %rdi
callq 0xb730
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0x1f17c
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x291a6
movl 0x10(%r14), %eax
testb $0x3f, %al
je 0x1f1c9
testb $0x1, %al
je 0x1f18f
movl 0x18(%r14), %ecx
movl %ecx, 0x18(%rbx)
testb $0x2, %al
je 0x1f19a
movb 0x1c(%r14), %cl
movb %cl, 0x1c(%rbx)
testb $0x4, %al
je 0x1f1a5
movl 0x20(%r14), %ecx
movl %ecx, 0x20(%rbx)
testb $0x8, %al
je 0x1f1b0
movl 0x24(%r14), %ecx
movl %ecx, 0x24(%rbx)
testb $0x10, %al
je 0x1f1bb
movl 0x28(%r14), %ecx
movl %ecx, 0x28(%rbx)
testb $0x20, %al
je 0x1f1c6
movl 0x2c(%r14), %ecx
movl %ecx, 0x2c(%rbx)
orl %eax, 0x10(%rbx)
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1f1d6
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xb730
movq %rbx, %rdi
callq 0xb4e0
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::TriangleState::InternalSwap(Rnes::TriangleState*)
void TriangleState::InternalSwap(TriangleState* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TriangleState, sequenceroffset_)
      + sizeof(TriangleState::sequenceroffset_)
      - PROTOBUF_FIELD_OFFSET(TriangleState, lengthcounter_)>(
          reinterpret_cast<char*>(&lengthcounter_),
          reinterpret_cast<char*>(&other->lengthcounter_));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
movq 0x8(%rsi), %rsi
testb $0x1, 0x8(%rdi)
jne 0x1f261
testb $0x1, %sil
jne 0x1f267
jmp 0x1f278
testb $0x1, %sil
je 0x1f2ad
andq $-0x2, %rsi
addq $0x8, %rsi
leaq 0x8(%r14), %rdi
callq 0x2920c
movl 0x10(%r14), %eax
movl 0x10(%rbx), %ecx
movl %ecx, 0x10(%r14)
movl %eax, 0x10(%rbx)
movups 0x18(%r14), %xmm0
movups 0x18(%rbx), %xmm1
movups %xmm1, 0x18(%r14)
movups %xmm0, 0x18(%rbx)
movq 0x28(%r14), %rax
movq 0x28(%rbx), %rcx
movq %rcx, 0x28(%r14)
movq %rax, 0x28(%rbx)
popq %rbx
popq %r14
popq %rbp
retq
leaq 0x8(%rbx), %rdi
callq 0x28ff8
movq %rax, %rsi
jmp 0x1f26f
nop
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::NoiseState::NoiseState(Rnes::NoiseState const&)
NoiseState::NoiseState(const NoiseState& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&lengthcounter_, &from.lengthcounter_,
    static_cast<size_t>(reinterpret_cast<char*>(&timerdivider_) -
    reinterpret_cast<char*>(&lengthcounter_)) + sizeof(timerdivider_));
  // @@protoc_insertion_point(copy_constructor:Rnes.NoiseState)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rdi, %rbx
andq $0x0, 0x8(%rdi)
movq %rsi, %r14
leaq 0x20f87(%rip), %rax     # 0x40290
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
andl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0x1f331
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x291a6
movups 0x18(%r14), %xmm0
movups 0x24(%r14), %xmm1
movups %xmm1, 0x24(%rbx)
movups %xmm0, 0x18(%rbx)
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::NoiseState::Clear()
void NoiseState::Clear() {
// @@protoc_insertion_point(message_clear_start:Rnes.NoiseState)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x0000007fu) {
    ::memset(&lengthcounter_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&timerdivider_) -
        reinterpret_cast<char*>(&lengthcounter_)) + sizeof(timerdivider_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
testb $0x7f, 0x10(%rdi)
je 0x1f3d1
xorps %xmm0, %xmm0
movups %xmm0, 0x24(%rdi)
movups %xmm0, 0x18(%rdi)
andl $0x0, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
jne 0x1f3dd
popq %rbp
retq
addq $0x8, %rdi
popq %rbp
jmp 0x291de
nop
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::NoiseState::MergeFrom(google::protobuf::Message const&)
void NoiseState::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:Rnes.NoiseState)
  GOOGLE_DCHECK_NE(&from, this);
  const NoiseState* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<NoiseState>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:Rnes.NoiseState)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:Rnes.NoiseState)
    MergeFrom(*source);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x48, %rsp
movq %rsi, %rbx
movq %rdi, %r14
cmpq %rdi, %rsi
jne 0x1f831
leaq 0xd588(%rip), %rdx      # 0x2cd81
leaq -0x58(%rbp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0x8ef, %ecx            # imm = 0x8EF
callq 0xb460
leaq 0xd57c(%rip), %rsi      # 0x2cd90
movq %r15, %rdi
callq 0xb980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xb5e0
leaq -0x58(%rbp), %rdi
callq 0xb730
leaq 0x20a58(%rip), %rax     # 0x40290
cmpq %rax, (%rbx)
je 0x1f84a
movq %rbx, %rdi
movq %r14, %rsi
callq 0xb580
jmp 0x1f855
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1f876
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1f862
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xb730
movq %rbx, %rdi
callq 0xb4e0
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::NoiseState::MergeFrom(Rnes::NoiseState const&)
void NoiseState::MergeFrom(const NoiseState& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:Rnes.NoiseState)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x0000007fu) {
    if (cached_has_bits & 0x00000001u) {
      lengthcounter_ = from.lengthcounter_;
    }
    if (cached_has_bits & 0x00000002u) {
      shiftregister_ = from.shiftregister_;
    }
    if (cached_has_bits & 0x00000004u) {
      envelope_ = from.envelope_;
    }
    if (cached_has_bits & 0x00000008u) {
      envelopedivider_ = from.envelopedivider_;
    }
    if (cached_has_bits & 0x00000010u) {
      resetenvelopeanddivider_ = from.resetenvelopeanddivider_;
    }
    if (cached_has_bits & 0x00000020u) {
      currentsample_ = from.currentsample_;
    }
    if (cached_has_bits & 0x00000040u) {
      timerdivider_ = from.timerdivider_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x48, %rsp
movq %rsi, %r14
movq %rdi, %rbx
cmpq %rdi, %rsi
jne 0x1f8cd
leaq 0xd4ec(%rip), %rdx      # 0x2cd81
leaq -0x58(%rbp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0x8fe, %ecx            # imm = 0x8FE
callq 0xb460
leaq 0xd4e0(%rip), %rsi      # 0x2cd90
movq %r15, %rdi
callq 0xb980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xb5e0
leaq -0x58(%rbp), %rdi
callq 0xb730
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0x1f8e8
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x291a6
movl 0x10(%r14), %eax
testb $0x7f, %al
je 0x1f940
testb $0x1, %al
je 0x1f8fb
movl 0x18(%r14), %ecx
movl %ecx, 0x18(%rbx)
testb $0x2, %al
je 0x1f906
movl 0x1c(%r14), %ecx
movl %ecx, 0x1c(%rbx)
testb $0x4, %al
je 0x1f911
movl 0x20(%r14), %ecx
movl %ecx, 0x20(%rbx)
testb $0x8, %al
je 0x1f91c
movl 0x24(%r14), %ecx
movl %ecx, 0x24(%rbx)
testb $0x10, %al
je 0x1f927
movb 0x28(%r14), %cl
movb %cl, 0x28(%rbx)
testb $0x20, %al
je 0x1f932
movl 0x2c(%r14), %ecx
movl %ecx, 0x2c(%rbx)
testb $0x40, %al
je 0x1f93d
movl 0x30(%r14), %ecx
movl %ecx, 0x30(%rbx)
orl %eax, 0x10(%rbx)
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1f94d
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xb730
movq %rbx, %rdi
callq 0xb4e0
nop
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::NoiseState::InternalSwap(Rnes::NoiseState*)
void NoiseState::InternalSwap(NoiseState* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(NoiseState, timerdivider_)
      + sizeof(NoiseState::timerdivider_)
      - PROTOBUF_FIELD_OFFSET(NoiseState, lengthcounter_)>(
          reinterpret_cast<char*>(&lengthcounter_),
          reinterpret_cast<char*>(&other->lengthcounter_));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
movq 0x8(%rsi), %rsi
testb $0x1, 0x8(%rdi)
jne 0x1f9d9
testb $0x1, %sil
jne 0x1f9df
jmp 0x1f9f0
testb $0x1, %sil
je 0x1fa15
andq $-0x2, %rsi
addq $0x8, %rsi
leaq 0x8(%r14), %rdi
callq 0x2920c
movl 0x10(%r14), %eax
movl 0x10(%rbx), %ecx
movl %ecx, 0x10(%r14)
movl %eax, 0x10(%rbx)
addq $0x18, %r14
addq $0x18, %rbx
movq %r14, %rdi
movq %rbx, %rsi
popq %rbx
popq %r14
popq %rbp
jmp 0x26a1b
leaq 0x8(%rbx), %rdi
callq 0x28ff8
movq %rax, %rsi
jmp 0x1f9e7
nop
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::ApuState::InitAsDefaultInstance()
void ApuState::InitAsDefaultInstance() {
  ::Rnes::_ApuState_default_instance_._instance.get_mutable()->pulsea_ = const_cast< ::Rnes::PulseState*>(
      ::Rnes::PulseState::internal_default_instance());
  ::Rnes::_ApuState_default_instance_._instance.get_mutable()->pulseb_ = const_cast< ::Rnes::PulseState*>(
      ::Rnes::PulseState::internal_default_instance());
  ::Rnes::_ApuState_default_instance_._instance.get_mutable()->triangle_ = const_cast< ::Rnes::TriangleState*>(
      ::Rnes::TriangleState::internal_default_instance());
  ::Rnes::_ApuState_default_instance_._instance.get_mutable()->noise_ = const_cast< ::Rnes::NoiseState*>(
      ::Rnes::NoiseState::internal_default_instance());
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x21e07(%rip), %rax     # 0x41840
movq %rax, 0x21ec8(%rip)     # 0x41908
movq %rax, 0x21ec9(%rip)     # 0x41910
leaq 0x21e2a(%rip), %rax     # 0x41878
movq %rax, 0x21ec3(%rip)     # 0x41918
leaq 0x21e4c(%rip), %rax     # 0x418a8
movq %rax, 0x21ebd(%rip)     # 0x41920
popq %rbp
retq
nop
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::ApuState::ApuState(Rnes::ApuState const&)
ApuState::ApuState(const ApuState& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_),
      reg_(from.reg_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_pulsea()) {
    pulsea_ = new ::Rnes::PulseState(*from.pulsea_);
  } else {
    pulsea_ = nullptr;
  }
  if (from._internal_has_pulseb()) {
    pulseb_ = new ::Rnes::PulseState(*from.pulseb_);
  } else {
    pulseb_ = nullptr;
  }
  if (from._internal_has_triangle()) {
    triangle_ = new ::Rnes::TriangleState(*from.triangle_);
  } else {
    triangle_ = nullptr;
  }
  if (from._internal_has_noise()) {
    noise_ = new ::Rnes::NoiseState(*from.noise_);
  } else {
    noise_ = nullptr;
  }
  ::memcpy(&samplerate_, &from.samplerate_,
    static_cast<size_t>(reinterpret_cast<char*>(&nextsamplecountdown_) -
    reinterpret_cast<char*>(&samplerate_)) + sizeof(nextsamplecountdown_));
  // @@protoc_insertion_point(copy_constructor:Rnes.ApuState)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rdi, %r14
andq $0x0, 0x8(%rdi)
movq %rsi, %r15
leaq 0x20851(%rip), %rax     # 0x40340
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
andl $0x0, 0x14(%rdi)
leaq 0x18(%rdi), %rbx
addq $0x18, %rsi
movq %rbx, %rdi
callq 0xb390
movq 0x8(%r15), %rsi
testb $0x1, %sil
je 0x1fb27
leaq 0x8(%r14), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x291a6
movq %r15, %rdi
callq 0x26aa2
testb %al, %al
je 0x1fb4c
pushq $0x38
popq %rdi
callq 0xb140
movq %rax, %r12
movq 0x28(%r15), %rsi
movq %rax, %rdi
callq 0x1e350
jmp 0x1fb4f
xorl %r12d, %r12d
movq %r12, 0x28(%r14)
movq %r15, %rdi
callq 0x26b20
testb %al, %al
je 0x1fb78
pushq $0x38
popq %rdi
callq 0xb140
movq %rax, %r12
movq 0x30(%r15), %rsi
movq %rax, %rdi
callq 0x1e350
jmp 0x1fb7b
xorl %r12d, %r12d
movq %r12, 0x30(%r14)
movq %r15, %rdi
callq 0x26ba0
testb %al, %al
je 0x1fba4
pushq $0x30
popq %rdi
callq 0xb140
movq %rax, %r12
movq 0x38(%r15), %rsi
movq %rax, %rdi
callq 0x1ebe6
jmp 0x1fba7
xorl %r12d, %r12d
movq %r12, 0x38(%r14)
movq %r15, %rdi
callq 0x26c20
testb %al, %al
je 0x1fbd0
pushq $0x38
popq %rdi
callq 0xb140
movq %rax, %r12
movq 0x40(%r15), %rsi
movq %rax, %rdi
callq 0x1f2f0
jmp 0x1fbd3
xorl %r12d, %r12d
movq %r12, 0x40(%r14)
movups 0x48(%r15), %xmm0
movups 0x58(%r15), %xmm1
movups %xmm0, 0x48(%r14)
movups %xmm1, 0x58(%r14)
movq 0x68(%r15), %rax
movq %rax, 0x68(%r14)
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1fc07
movq %rax, %r14
pushq $0x30
jmp 0x1fc0c
jmp 0x1fc07
movq %rax, %r14
pushq $0x38
popq %rsi
movq %r12, %rdi
callq 0xb0f0
jmp 0x1fc1a
movq %rax, %r14
movq %rbx, %rdi
callq 0xb100
movq %r14, %rdi
callq 0xb4e0
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::ApuState::MergeFrom(google::protobuf::Message const&)
void ApuState::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:Rnes.ApuState)
  GOOGLE_DCHECK_NE(&from, this);
  const ApuState* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ApuState>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:Rnes.ApuState)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:Rnes.ApuState)
    MergeFrom(*source);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x48, %rsp
movq %rsi, %rbx
movq %rdi, %r14
cmpq %rdi, %rsi
jne 0x2067f
leaq 0xc73a(%rip), %rdx      # 0x2cd81
leaq -0x58(%rbp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0xb8d, %ecx            # imm = 0xB8D
callq 0xb460
leaq 0xc72e(%rip), %rsi      # 0x2cd90
movq %r15, %rdi
callq 0xb980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xb5e0
leaq -0x58(%rbp), %rdi
callq 0xb730
leaq 0x1fcba(%rip), %rax     # 0x40340
cmpq %rax, (%rbx)
je 0x20698
movq %rbx, %rdi
movq %r14, %rsi
callq 0xb580
jmp 0x206a3
movq %r14, %rdi
movq %rbx, %rsi
callq 0x206c4
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x206b0
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xb730
movq %rbx, %rdi
callq 0xb4e0
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::ApuState::InternalSwap(Rnes::ApuState*)
void ApuState::InternalSwap(ApuState* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  reg_.InternalSwap(&other->reg_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ApuState, nextsamplecountdown_)
      + sizeof(ApuState::nextsamplecountdown_)
      - PROTOBUF_FIELD_OFFSET(ApuState, pulsea_)>(
          reinterpret_cast<char*>(&pulsea_),
          reinterpret_cast<char*>(&other->pulsea_));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
movq 0x8(%rsi), %rsi
testb $0x1, 0x8(%rdi)
jne 0x20927
testb $0x1, %sil
jne 0x2092d
jmp 0x2093e
testb $0x1, %sil
je 0x20970
andq $-0x2, %rsi
addq $0x8, %rsi
leaq 0x8(%r14), %rdi
callq 0x2920c
movl 0x10(%r14), %eax
movl 0x10(%rbx), %ecx
movl %ecx, 0x10(%r14)
movl %eax, 0x10(%rbx)
leaq 0x18(%r14), %rdi
leaq 0x18(%rbx), %rsi
callq 0xb120
addq $0x28, %r14
addq $0x28, %rbx
movq %r14, %rdi
movq %rbx, %rsi
popq %rbx
popq %r14
popq %rbp
jmp 0x26f7f
leaq 0x8(%rbx), %rdi
callq 0x28ff8
movq %rax, %rsi
jmp 0x20935
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::PpuState_SpriteState::PpuState_SpriteState(Rnes::PpuState_SpriteState const&)
PpuState_SpriteState::PpuState_SpriteState(const PpuState_SpriteState& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&ycoordminus1_, &from.ycoordminus1_,
    static_cast<size_t>(reinterpret_cast<char*>(&xcoord_) -
    reinterpret_cast<char*>(&ycoordminus1_)) + sizeof(xcoord_));
  // @@protoc_insertion_point(copy_constructor:Rnes.PpuState.SpriteState)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rdi, %rbx
andq $0x0, 0x8(%rdi)
movq %rsi, %r14
leaq 0x1fa29(%rip), %rax     # 0x403f0
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
andl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0x209ef
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x291a6
movups 0x18(%r14), %xmm0
movups %xmm0, 0x18(%rbx)
popq %rbx
popq %r14
popq %rbp
retq
nop
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::PpuState_SpriteState::Clear()
void PpuState_SpriteState::Clear() {
// @@protoc_insertion_point(message_clear_start:Rnes.PpuState.SpriteState)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    ::memset(&ycoordminus1_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&xcoord_) -
        reinterpret_cast<char*>(&ycoordminus1_)) + sizeof(xcoord_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
testb $0xf, 0x10(%rdi)
je 0x20a83
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rdi)
andl $0x0, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
jne 0x20a8f
popq %rbp
retq
addq $0x8, %rdi
popq %rbp
jmp 0x291de
nop
// File: /workspace/github_cpp_makefile_star2_O2/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::PpuState_SpriteState::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const
::PROTOBUF_NAMESPACE_ID::uint8* PpuState_SpriteState::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:Rnes.PpuState.SpriteState)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional uint32 yCoordMinus1 = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(1, this->_internal_ycoordminus1(), target);
  }

  // optional uint32 tileIndex = 2;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_tileindex(), target);
  }

  // optional uint32 attr = 3;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_attr(), target);
  }

  // optional uint32 xCoord = 4;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(4, this->_internal_xcoord(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:Rnes.PpuState.SpriteState)
  return target;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rdi, %r14
movl 0x10(%rdi), %r15d
testb $0x1, %r15b
je 0x20c41
movq %rbx, %rdi
callq 0x2682a
movl 0x18(%r14), %edi
movb $0x8, (%rax)
leaq 0x1(%rax), %rsi
callq 0x28e5c
movq %rax, %rsi
testb $0x2, %r15b
je 0x20c62
movq %rbx, %rdi
callq 0x2682a
movl 0x1c(%r14), %edi
movb $0x10, (%rax)
leaq 0x1(%rax), %rsi
callq 0x28e5c
movq %rax, %rsi
testb $0x4, %r15b
je 0x20c83
movq %rbx, %rdi
callq 0x2682a
movl 0x20(%r14), %edi
movb $0x18, (%rax)
leaq 0x1(%rax), %rsi
callq 0x28e5c
movq %rax, %rsi
testb $0x8, %r15b
je 0x20ca4
movq %rbx, %rdi
callq 0x2682a
movl 0x24(%r14), %edi
movb $0x20, (%rax)
leaq 0x1(%rax), %rsi
callq 0x28e5c
movq %rax, %rsi
movq 0x8(%r14), %rdi
testb $0x1, %dil
jne 0x20cbc
movq %rsi, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
andq $-0x2, %rdi
addq $0x8, %rdi
movq %rbx, %rdx
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0xb260