LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_cpp_makefile_star2_O1/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 0x1255e(%rip), %rdx     # 0x36c91
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xb100
leaq 0x24207(%rip), %rsi     # 0x48950
xorl %eax, %eax
movq %rax, 0x24206(%rip)     # 0x48958
leaq 0x22c87(%rip), %rcx     # 0x473e0
movq %rcx, 0x241f0(%rip)     # 0x48950
xorps %xmm0, %xmm0
movups %xmm0, 0x241f6(%rip)    # 0x48960
movq %rax, 0x241ff(%rip)     # 0x48970
movq 0x23828(%rip), %rdi     # 0x47fa0
popq %rbp
jmp 0xb870
// File: /workspace/github_cpp_makefile_star2_O1/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 0x12508(%rip), %rdx     # 0x36c91
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xb100
leaq 0x240a1(%rip), %rsi     # 0x48840
xorl %eax, %eax
movq %rax, 0x240a0(%rip)     # 0x48848
leaq 0x22971(%rip), %rcx     # 0x47120
movq %rcx, 0x2408a(%rip)     # 0x48840
xorps %xmm0, %xmm0
movups %xmm0, 0x24090(%rip)    # 0x48850
movups %xmm0, 0x24099(%rip)    # 0x48860
movq %rax, 0x240a2(%rip)     # 0x48870
movq 0x237cb(%rip), %rdi     # 0x47fa0
popq %rbp
jmp 0xb870
// File: /workspace/github_cpp_makefile_star2_O1/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
leaq 0x124ab(%rip), %rdx     # 0x36c91
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xb100
xorps %xmm0, %xmm0
movups %xmm0, 0x24349(%rip)    # 0x48b48
leaq 0x232ba(%rip), %rax     # 0x47ac0
movq %rax, 0x24333(%rip)     # 0x48b40
movl 0x23e6d(%rip), %eax     # 0x48680
testl %eax, %eax
jne 0x248bc
movq 0x2379e(%rip), %rax     # 0x47fc0
movq %rax, 0x2432f(%rip)     # 0x48b58
leaq 0x24310(%rip), %rsi     # 0x48b40
movups %xmm0, 0x24329(%rip)    # 0x48b60
movups %xmm0, 0x24332(%rip)    # 0x48b70
movups %xmm0, 0x2433b(%rip)    # 0x48b80
movups %xmm0, 0x24344(%rip)    # 0x48b90
movq 0x2374d(%rip), %rdi     # 0x47fa0
callq 0xb870
leaq 0x242b9(%rip), %rax     # 0x48b18
movq %rax, 0x242fa(%rip)     # 0x48b60
leaq 0x23f9b(%rip), %rax     # 0x48808
movq %rax, 0x242f4(%rip)     # 0x48b68
leaq 0x24065(%rip), %rax     # 0x488e0
movq %rax, 0x242ee(%rip)     # 0x48b70
leaq 0x240ef(%rip), %rax     # 0x48978
movq %rax, 0x242e8(%rip)     # 0x48b78
leaq 0x24209(%rip), %rax     # 0x48aa0
movq %rax, 0x242e2(%rip)     # 0x48b80
leaq 0x2421b(%rip), %rax     # 0x48ac0
movq %rax, 0x242dc(%rip)     # 0x48b88
leaq 0x24235(%rip), %rax     # 0x48ae8
movq %rax, 0x242d6(%rip)     # 0x48b90
popq %rbp
retq
leaq 0x23dbd(%rip), %rdi     # 0x48680
callq 0xb520
xorps %xmm0, %xmm0
jmp 0x2481b
// File: /workspace/github_cpp_makefile_star2_O1/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 0x123b6(%rip), %rdx     # 0x36c91
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xb100
leaq 0x23f87(%rip), %rsi     # 0x48878
movq $0x0, 0x23f84(%rip) # 0x48880
leaq 0x228cd(%rip), %rax     # 0x471d0
movq %rax, 0x23f6e(%rip)     # 0x48878
xorps %xmm0, %xmm0
movups %xmm0, 0x23f74(%rip)    # 0x48888
movups %xmm0, 0x23f7d(%rip)    # 0x48898
movq 0x2367e(%rip), %rdi     # 0x47fa0
popq %rbp
jmp 0xb870
// File: /workspace/github_cpp_makefile_star2_O1/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 %rsi, %r14
movq %rdi, %rbx
movq $0x0, 0x8(%rdi)
leaq 0x226bc(%rip), %rax     # 0x47070
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
movl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0x249df
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x331ee
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_O1/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 0x24afb
xorps %xmm0, %xmm0
movups %xmm0, 0x28(%rdi)
movups %xmm0, 0x18(%rdi)
movl $0x0, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
jne 0x24b0a
popq %rbp
retq
addq $0x8, %rdi
popq %rbp
jmp 0x33226
// File: /workspace/github_cpp_makefile_star2_O1/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 0x25377
leaq 0x11954(%rip), %rdx     # 0x36c91
leaq -0x58(%rbp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x424, %ecx            # imm = 0x424
callq 0xb450
leaq 0x11946(%rip), %rsi     # 0x36ca0
movq %r15, %rdi
callq 0xb980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xb600
leaq -0x58(%rbp), %rdi
callq 0xb730
cmpq %r14, %rbx
leaq 0x21cef(%rip), %rax     # 0x47070
cmpq %rax, (%rbx)
je 0x25393
movq %rbx, %rdi
movq %r14, %rsi
callq 0xb580
jmp 0x2539e
movq %r14, %rdi
movq %rbx, %rsi
callq 0x253c0
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x253ab
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xb730
movq %rbx, %rdi
callq 0xb4d0
nop
// File: /workspace/github_cpp_makefile_star2_O1/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 0x25419
leaq 0x118b2(%rip), %rdx     # 0x36c91
leaq -0x58(%rbp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x433, %ecx            # imm = 0x433
callq 0xb450
leaq 0x118a4(%rip), %rsi     # 0x36ca0
movq %r15, %rdi
callq 0xb980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xb600
leaq -0x58(%rbp), %rdi
callq 0xb730
cmpq %rbx, %r14
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0x25437
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x331ee
movl 0x10(%r14), %eax
testb $0x7f, %al
je 0x25490
testb $0x1, %al
je 0x2544a
movl 0x18(%r14), %ecx
movl %ecx, 0x18(%rbx)
testb $0x2, %al
je 0x25455
movl 0x1c(%r14), %ecx
movl %ecx, 0x1c(%rbx)
testb $0x4, %al
je 0x25460
movl 0x20(%r14), %ecx
movl %ecx, 0x20(%rbx)
testb $0x8, %al
je 0x2546b
movl 0x24(%r14), %ecx
movl %ecx, 0x24(%rbx)
testb $0x10, %al
je 0x25476
movl 0x28(%r14), %ecx
movl %ecx, 0x28(%rbx)
testb $0x20, %al
je 0x25481
movl 0x2c(%r14), %ecx
movl %ecx, 0x2c(%rbx)
testb $0x40, %al
je 0x2548d
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 0x2549d
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xb730
movq %rbx, %rdi
callq 0xb4d0
nop
// File: /workspace/github_cpp_makefile_star2_O1/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 %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x8(%rsi), %rdi
testb $0x1, 0x8(%r14)
jne 0x2552a
testb $0x1, (%rdi)
je 0x25547
leaq 0x8(%r14), %r15
movq (%rdi), %rsi
testb $0x1, %sil
je 0x25584
andq $-0x2, %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0x3325c
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)
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
callq 0x33078
movq %rax, %rsi
jmp 0x2553f
// File: /workspace/github_cpp_makefile_star2_O1/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 %rsi, %r14
movq %rdi, %rbx
movq $0x0, 0x8(%rdi)
leaq 0x21b26(%rip), %rax     # 0x47120
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
movl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0x25625
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x331ee
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_O1/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 0x25746
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rdi)
movq $0x0, 0x28(%rdi)
testl $0x300, %eax            # imm = 0x300
je 0x25755
movq $0x0, 0x30(%rdi)
movl $0x0, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
jne 0x25764
popq %rbp
retq
addq $0x8, %rdi
popq %rbp
jmp 0x33226
// File: /workspace/github_cpp_makefile_star2_O1/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 0x26195
leaq 0x10b36(%rip), %rdx     # 0x36c91
leaq -0x58(%rbp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x5f4, %ecx            # imm = 0x5F4
callq 0xb450
leaq 0x10b28(%rip), %rsi     # 0x36ca0
movq %r15, %rdi
callq 0xb980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xb600
leaq -0x58(%rbp), %rdi
callq 0xb730
cmpq %r14, %rbx
leaq 0x20f81(%rip), %rax     # 0x47120
cmpq %rax, (%rbx)
je 0x261b1
movq %rbx, %rdi
movq %r14, %rsi
callq 0xb580
jmp 0x261bc
movq %r14, %rdi
movq %rbx, %rsi
callq 0x261de
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x261c9
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xb730
movq %rbx, %rdi
callq 0xb4d0
nop
// File: /workspace/github_cpp_makefile_star2_O1/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 %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x8(%rsi), %rdi
testb $0x1, 0x8(%r14)
jne 0x26376
testb $0x1, (%rdi)
je 0x26393
leaq 0x8(%r14), %r15
movq (%rdi), %rsi
testb $0x1, %sil
je 0x263d0
andq $-0x2, %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0x3325c
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)
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
callq 0x33078
movq %rax, %rsi
jmp 0x2638b
// File: /workspace/github_cpp_makefile_star2_O1/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 %rsi, %r14
movq %rdi, %rbx
movq $0x0, 0x8(%rdi)
leaq 0x20d90(%rip), %rax     # 0x471d0
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
movl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0x2646b
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x331ee
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_O1/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 0x2658b
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rdi)
movq $0x0, 0x28(%rdi)
movl $0x0, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
jne 0x2659a
popq %rbp
retq
addq $0x8, %rdi
popq %rbp
jmp 0x33226
// File: /workspace/github_cpp_makefile_star2_O1/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 0x26cc9
leaq 0x10002(%rip), %rdx     # 0x36c91
leaq -0x58(%rbp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x76d, %ecx            # imm = 0x76D
callq 0xb450
leaq 0xfff4(%rip), %rsi      # 0x36ca0
movq %r15, %rdi
callq 0xb980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xb600
leaq -0x58(%rbp), %rdi
callq 0xb730
cmpq %r14, %rbx
leaq 0x204fd(%rip), %rax     # 0x471d0
cmpq %rax, (%rbx)
je 0x26ce5
movq %rbx, %rdi
movq %r14, %rsi
callq 0xb580
jmp 0x26cf0
movq %r14, %rdi
movq %rbx, %rsi
callq 0x26d12
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x26cfd
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xb730
movq %rbx, %rdi
callq 0xb4d0
nop
// File: /workspace/github_cpp_makefile_star2_O1/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 0x26d6b
leaq 0xff60(%rip), %rdx      # 0x36c91
leaq -0x58(%rbp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x77c, %ecx            # imm = 0x77C
callq 0xb450
leaq 0xff52(%rip), %rsi      # 0x36ca0
movq %r15, %rdi
callq 0xb980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xb600
leaq -0x58(%rbp), %rdi
callq 0xb730
cmpq %rbx, %r14
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0x26d89
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x331ee
movl 0x10(%r14), %eax
testb $0x3f, %al
je 0x26dd6
testb $0x1, %al
je 0x26d9c
movl 0x18(%r14), %ecx
movl %ecx, 0x18(%rbx)
testb $0x2, %al
je 0x26da7
movb 0x1c(%r14), %cl
movb %cl, 0x1c(%rbx)
testb $0x4, %al
je 0x26db2
movl 0x20(%r14), %ecx
movl %ecx, 0x20(%rbx)
testb $0x8, %al
je 0x26dbd
movl 0x24(%r14), %ecx
movl %ecx, 0x24(%rbx)
testb $0x10, %al
je 0x26dc8
movl 0x28(%r14), %ecx
movl %ecx, 0x28(%rbx)
testb $0x20, %al
je 0x26dd3
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 0x26de3
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xb730
movq %rbx, %rdi
callq 0xb4d0
nop
// File: /workspace/github_cpp_makefile_star2_O1/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 %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x8(%rsi), %rdi
testb $0x1, 0x8(%r14)
jne 0x26e70
testb $0x1, (%rdi)
je 0x26e8d
leaq 0x8(%r14), %r15
movq (%rdi), %rsi
testb $0x1, %sil
je 0x26ec8
andq $-0x2, %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0x3325c
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)
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
callq 0x33078
movq %rax, %rsi
jmp 0x26e85
// File: /workspace/github_cpp_makefile_star2_O1/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 %rsi, %r14
movq %rdi, %rbx
movq $0x0, 0x8(%rdi)
leaq 0x20342(%rip), %rax     # 0x47280
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
movl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0x26f69
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x331ee
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_O1/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 0x27085
xorps %xmm0, %xmm0
movups %xmm0, 0x24(%rdi)
movups %xmm0, 0x18(%rdi)
movl $0x0, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
jne 0x27094
popq %rbp
retq
addq $0x8, %rdi
popq %rbp
jmp 0x33226
// File: /workspace/github_cpp_makefile_star2_O1/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 0x278a9
leaq 0xf422(%rip), %rdx      # 0x36c91
leaq -0x58(%rbp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x8ef, %ecx            # imm = 0x8EF
callq 0xb450
leaq 0xf414(%rip), %rsi      # 0x36ca0
movq %r15, %rdi
callq 0xb980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xb600
leaq -0x58(%rbp), %rdi
callq 0xb730
cmpq %r14, %rbx
leaq 0x1f9cd(%rip), %rax     # 0x47280
cmpq %rax, (%rbx)
je 0x278c5
movq %rbx, %rdi
movq %r14, %rsi
callq 0xb580
jmp 0x278d0
movq %r14, %rdi
movq %rbx, %rsi
callq 0x278f2
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x278dd
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xb730
movq %rbx, %rdi
callq 0xb4d0
nop
// File: /workspace/github_cpp_makefile_star2_O1/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 0x2794b
leaq 0xf380(%rip), %rdx      # 0x36c91
leaq -0x58(%rbp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x8fe, %ecx            # imm = 0x8FE
callq 0xb450
leaq 0xf372(%rip), %rsi      # 0x36ca0
movq %r15, %rdi
callq 0xb980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xb600
leaq -0x58(%rbp), %rdi
callq 0xb730
cmpq %rbx, %r14
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0x27969
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x331ee
movl 0x10(%r14), %eax
testb $0x7f, %al
je 0x279c1
testb $0x1, %al
je 0x2797c
movl 0x18(%r14), %ecx
movl %ecx, 0x18(%rbx)
testb $0x2, %al
je 0x27987
movl 0x1c(%r14), %ecx
movl %ecx, 0x1c(%rbx)
testb $0x4, %al
je 0x27992
movl 0x20(%r14), %ecx
movl %ecx, 0x20(%rbx)
testb $0x8, %al
je 0x2799d
movl 0x24(%r14), %ecx
movl %ecx, 0x24(%rbx)
testb $0x10, %al
je 0x279a8
movb 0x28(%r14), %cl
movb %cl, 0x28(%rbx)
testb $0x20, %al
je 0x279b3
movl 0x2c(%r14), %ecx
movl %ecx, 0x2c(%rbx)
testb $0x40, %al
je 0x279be
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 0x279ce
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xb730
movq %rbx, %rdi
callq 0xb4d0
// File: /workspace/github_cpp_makefile_star2_O1/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 %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x8(%rsi), %rdi
testb $0x1, 0x8(%r14)
jne 0x27a5a
testb $0x1, (%rdi)
je 0x27a77
leaq 0x8(%r14), %r15
movq (%rdi), %rsi
testb $0x1, %sil
je 0x27ac0
andq $-0x2, %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0x3325c
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)
movl 0x30(%r14), %eax
movl 0x30(%rbx), %ecx
movl %ecx, 0x30(%r14)
movl %eax, 0x30(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
callq 0x33078
movq %rax, %rsi
jmp 0x27a6f
// File: /workspace/github_cpp_makefile_star2_O1/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 0x20d47(%rip), %rax     # 0x48840
movq %rax, 0x20e08(%rip)     # 0x48908
movq %rax, 0x20e09(%rip)     # 0x48910
leaq 0x20d6a(%rip), %rax     # 0x48878
movq %rax, 0x20e03(%rip)     # 0x48918
leaq 0x20d8c(%rip), %rax     # 0x488a8
movq %rax, 0x20dfd(%rip)     # 0x48920
popq %rbp
retq
nop
// File: /workspace/github_cpp_makefile_star2_O1/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 0x291b9
leaq 0xdb12(%rip), %rdx      # 0x36c91
leaq -0x58(%rbp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0xb8d, %ecx            # imm = 0xB8D
callq 0xb450
leaq 0xdb04(%rip), %rsi      # 0x36ca0
movq %r15, %rdi
callq 0xb980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xb600
leaq -0x58(%rbp), %rdi
callq 0xb730
cmpq %r14, %rbx
leaq 0x1e16d(%rip), %rax     # 0x47330
cmpq %rax, (%rbx)
je 0x291d5
movq %rbx, %rdi
movq %r14, %rsi
callq 0xb580
jmp 0x291e0
movq %r14, %rdi
movq %rbx, %rsi
callq 0x29202
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x291ed
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xb730
movq %rbx, %rdi
callq 0xb4d0
nop
// File: /workspace/github_cpp_makefile_star2_O1/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 %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x8(%rsi), %rdi
testb $0x1, 0x8(%r14)
jne 0x2950c
testb $0x1, (%rdi)
je 0x2952d
leaq 0x8(%r14), %r15
movq (%rdi), %rsi
testb $0x1, %sil
je 0x295ab
andq $-0x2, %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0x3325c
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 0xb110
movups 0x28(%r14), %xmm0
movups 0x28(%rbx), %xmm1
movups %xmm1, 0x28(%r14)
movups %xmm0, 0x28(%rbx)
movups 0x38(%r14), %xmm0
movups 0x38(%rbx), %xmm1
movups %xmm1, 0x38(%r14)
movups %xmm0, 0x38(%rbx)
movups 0x48(%r14), %xmm0
movups 0x48(%rbx), %xmm1
movups %xmm1, 0x48(%r14)
movups %xmm0, 0x48(%rbx)
movups 0x58(%r14), %xmm0
movups 0x58(%rbx), %xmm1
movups %xmm1, 0x58(%r14)
movups %xmm0, 0x58(%rbx)
movq 0x68(%r14), %rax
movq 0x68(%rbx), %rcx
movq %rcx, 0x68(%r14)
movq %rax, 0x68(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
callq 0x33078
movq %rax, %rsi
jmp 0x29525
// File: /workspace/github_cpp_makefile_star2_O1/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 %rsi, %r14
movq %rdi, %rbx
movq $0x0, 0x8(%rdi)
leaq 0x1ddbe(%rip), %rax     # 0x473e0
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
movl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0x2964d
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x331ee
movups 0x18(%r14), %xmm0
movups %xmm0, 0x18(%rbx)
popq %rbx
popq %r14
popq %rbp
retq
nop
// File: /workspace/github_cpp_makefile_star2_O1/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 0x2975d
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rdi)
movl $0x0, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
jne 0x2976c
popq %rbp
retq
addq $0x8, %rdi
popq %rbp
jmp 0x33226
// File: /workspace/github_cpp_makefile_star2_O1/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::PpuState_SpriteState::ByteSizeLong() const
size_t PpuState_SpriteState::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:Rnes.PpuState.SpriteState)
  size_t total_size = 0;

  ::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) {
    // optional uint32 yCoordMinus1 = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_ycoordminus1());
    }

    // optional uint32 tileIndex = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_tileindex());
    }

    // optional uint32 attr = 3;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_attr());
    }

    // optional uint32 xCoord = 4;
    if (cached_has_bits & 0x00000008u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_xcoord());
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, %rdx
movl 0x10(%rdi), %ecx
testb $0xf, %cl
je 0x29c3c
testb $0x1, %cl
jne 0x29c40
xorl %eax, %eax
jmp 0x29c54
xorl %eax, %eax
jmp 0x29cab
movl 0x18(%rdx), %eax
orl $0x1, %eax
bsrl %eax, %eax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
incl %eax
testb $0x2, %cl
je 0x29c71
movl 0x1c(%rdx), %esi
orl $0x1, %esi
bsrl %esi, %esi
leal (%rsi,%rsi,8), %esi
addl $0x49, %esi
shrl $0x6, %esi
addq %rsi, %rax
incq %rax
testb $0x4, %cl
je 0x29c8e
movl 0x20(%rdx), %esi
orl $0x1, %esi
bsrl %esi, %esi
leal (%rsi,%rsi,8), %esi
addl $0x49, %esi
shrl $0x6, %esi
addq %rsi, %rax
incq %rax
testb $0x8, %cl
je 0x29cab
movl 0x24(%rdx), %ecx
orl $0x1, %ecx
bsrl %ecx, %ecx
leal (%rcx,%rcx,8), %ecx
addl $0x49, %ecx
shrl $0x6, %ecx
addq %rcx, %rax
incq %rax
testb $0x1, 0x8(%rdx)
jne 0x29cb6
movl %eax, 0x14(%rdx)
popq %rbp
retq
leaq 0x8(%rdx), %rdi
addq $0x14, %rdx
movq %rax, %rsi
popq %rbp
jmp 0xb920
nop
// File: /workspace/github_cpp_makefile_star2_O1/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::PpuState_SpriteState::MergeFrom(google::protobuf::Message const&)
void PpuState_SpriteState::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:Rnes.PpuState.SpriteState)
  GOOGLE_DCHECK_NE(&from, this);
  const PpuState_SpriteState* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<PpuState_SpriteState>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:Rnes.PpuState.SpriteState)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:Rnes.PpuState.SpriteState)
    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 0x29d21
leaq 0xcfaa(%rip), %rdx      # 0x36c91
leaq -0x58(%rbp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0xce6, %ecx            # imm = 0xCE6
callq 0xb450
leaq 0xcf9c(%rip), %rsi      # 0x36ca0
movq %r15, %rdi
callq 0xb980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xb600
leaq -0x58(%rbp), %rdi
callq 0xb730
cmpq %r14, %rbx
leaq 0x1d6b5(%rip), %rax     # 0x473e0
cmpq %rax, (%rbx)
je 0x29d3d
movq %rbx, %rdi
movq %r14, %rsi
callq 0xb580
jmp 0x29d48
movq %r14, %rdi
movq %rbx, %rsi
callq 0x29d6a
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x29d55
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xb730
movq %rbx, %rdi
callq 0xb4d0
nop
// File: /workspace/github_cpp_makefile_star2_O1/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::PpuState_SpriteState::MergeFrom(Rnes::PpuState_SpriteState const&)
void PpuState_SpriteState::MergeFrom(const PpuState_SpriteState& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:Rnes.PpuState.SpriteState)
  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 & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      ycoordminus1_ = from.ycoordminus1_;
    }
    if (cached_has_bits & 0x00000002u) {
      tileindex_ = from.tileindex_;
    }
    if (cached_has_bits & 0x00000004u) {
      attr_ = from.attr_;
    }
    if (cached_has_bits & 0x00000008u) {
      xcoord_ = from.xcoord_;
    }
    _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 0x29dc3
leaq 0xcf08(%rip), %rdx      # 0x36c91
leaq -0x58(%rbp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0xcf5, %ecx            # imm = 0xCF5
callq 0xb450
leaq 0xcefa(%rip), %rsi      # 0x36ca0
movq %r15, %rdi
callq 0xb980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xb600
leaq -0x58(%rbp), %rdi
callq 0xb730
cmpq %rbx, %r14
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0x29de1
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x331ee
movl 0x10(%r14), %eax
testb $0xf, %al
je 0x29e18
testb $0x1, %al
je 0x29df4
movl 0x18(%r14), %ecx
movl %ecx, 0x18(%rbx)
testb $0x2, %al
je 0x29dff
movl 0x1c(%r14), %ecx
movl %ecx, 0x1c(%rbx)
testb $0x4, %al
je 0x29e0a
movl 0x20(%r14), %ecx
movl %ecx, 0x20(%rbx)
testb $0x8, %al
je 0x29e15
movl 0x24(%r14), %ecx
movl %ecx, 0x24(%rbx)
orl %eax, 0x10(%rbx)
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x29e25
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xb730
movq %rbx, %rdi
callq 0xb4d0
nop
// File: /workspace/github_cpp_makefile_star2_O1/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::PpuState_SpriteState::InternalSwap(Rnes::PpuState_SpriteState*)
void PpuState_SpriteState::InternalSwap(PpuState_SpriteState* 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(PpuState_SpriteState, xcoord_)
      + sizeof(PpuState_SpriteState::xcoord_)
      - PROTOBUF_FIELD_OFFSET(PpuState_SpriteState, ycoordminus1_)>(
          reinterpret_cast<char*>(&ycoordminus1_),
          reinterpret_cast<char*>(&other->ycoordminus1_));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x8(%rsi), %rdi
testb $0x1, 0x8(%r14)
jne 0x29eb2
testb $0x1, (%rdi)
je 0x29ecf
leaq 0x8(%r14), %r15
movq (%rdi), %rsi
testb $0x1, %sil
je 0x29efa
andq $-0x2, %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0x3325c
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)
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
callq 0x33078
movq %rax, %rsi
jmp 0x29ec7
// File: /workspace/github_cpp_makefile_star2_O1/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::PpuState::PpuState(Rnes::PpuState const&)
PpuState::PpuState(const PpuState& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_),
      regs_(from.regs_),
      spriteram_(from.spriteram_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&cycle_, &from.cycle_,
    static_cast<size_t>(reinterpret_cast<char*>(&yscrollorigin_) -
    reinterpret_cast<char*>(&cycle_)) + sizeof(yscrollorigin_));
  // @@protoc_insertion_point(copy_constructor:Rnes.PpuState)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r15
movq %rdi, %r14
xorl %r13d, %r13d
movq %r13, 0x8(%rdi)
leaq 0x1d4b6(%rip), %rax     # 0x47490
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
movl $0x0, 0x14(%rdi)
leaq 0x18(%rdi), %rbx
addq $0x18, %rsi
movq %rbx, %rdi
callq 0xb360
leaq 0x28(%r14), %r12
leaq 0x28(%r15), %rsi
movq %r13, 0x38(%r14)
xorps %xmm0, %xmm0
movups %xmm0, 0x28(%r14)
movq %r12, %rdi
callq 0x333ee
movq 0x8(%r15), %rsi
testb $0x1, %sil
je 0x2a031
leaq 0x8(%r14), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x331ee
movl 0x70(%r15), %eax
movl %eax, 0x70(%r14)
movups 0x40(%r15), %xmm0
movups 0x50(%r15), %xmm1
movups 0x60(%r15), %xmm2
movups %xmm2, 0x60(%r14)
movups %xmm1, 0x50(%r14)
movups %xmm0, 0x40(%r14)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
movq %r12, %rdi
callq 0x3266c
jmp 0x2a07e
movq %rax, %r14
movq %r12, %rdi
callq 0x333d2
movq %rbx, %rdi
callq 0xb0f0
movq %r14, %rdi
callq 0xb4d0