LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_cpp_makefile_star2_O3/mindbeast[P]rnes/memory.cpp
// Function: Rnes::CpuMemory::restore(Rnes::CpuMemoryState const&)
void CpuMemory::restore(const CpuMemoryState &pb) {
  const std::string &bytes = pb.cpusram();
  for (unsigned i = 0; i < bytes.size(); i++) {
    cpuSram[i] = bytes[i];
  }

  const std::string &prgBytes = pb.prgsram();
  for (unsigned i = 0; i < prgBytes.size(); i++) {
    prgSram[i] = prgBytes[i];
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq 0x18(%rsi), %rax
cmpq $0x0, 0x8(%rax)
je 0x22f56
movl $0x1, %ecx
xorl %edx, %edx
movq (%rax), %r8
movb (%r8,%rdx), %r8b
movb %r8b, 0x8(%rdi,%rdx)
movl %ecx, %edx
incl %ecx
cmpq %rdx, 0x8(%rax)
ja 0x22f40
movq 0x20(%rsi), %rax
cmpq $0x0, 0x8(%rax)
je 0x22f81
movl $0x1, %ecx
xorl %edx, %edx
movq (%rax), %rsi
movb (%rsi,%rdx), %sil
movb %sil, 0x808(%rdi,%rdx)
movl %ecx, %edx
incl %ecx
cmpq %rdx, 0x8(%rax)
ja 0x22f68
popq %rbp
retq
nop
// File: /workspace/github_cpp_makefile_star2_O3/mindbeast[P]rnes/memory.cpp
// Function: Rnes::VideoMemory::load(unsigned short) const
uint8_t VideoMemory::load(uint16_t addr) const {
  if (addr >= 0x2000 and addr < 0x2000 + 0x1000) {
    addr = mmc->vidAddrTranslate(addr);
    return nameTableMemory[addr - 0x2000];
  } else if (addr >= 0x3f00 and addr <= 0x3f1f) {
    return paletteMemory[addr - 0x3f00];
  } else {
    return mmc->vidMemRead(addr);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
movq %rdi, %rbx
movl %esi, %eax
andl $0xf000, %eax           # imm = 0xF000
cmpl $0x2000, %eax           # imm = 0x2000
jne 0x22fb0
movq (%rbx), %rdi
movq (%rdi), %rax
movzwl %si, %esi
callq *0x50(%rax)
movzwl %ax, %eax
movb 0x8(%rax,%rbx), %al
jmp 0x22fcb
movl %esi, %eax
andl $0xffe0, %eax           # imm = 0xFFE0
cmpl $0x3f00, %eax           # imm = 0x3F00
jne 0x22fd2
movzwl %si, %eax
andl $0x1f, %eax
movb 0x3008(%rbx,%rax), %al
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
movq (%rbx), %rdi
movq (%rdi), %rax
movq 0x28(%rax), %rax
movzwl %si, %esi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmpq *%rax
nop
// File: /workspace/github_cpp_makefile_star2_O3/mindbeast[P]rnes/memory.cpp
// Function: Rnes::VideoMemory::store(unsigned short, unsigned char)
void VideoMemory::store(uint16_t addr, uint8_t data) {
  if (addr >= 0x2000 and addr < 0x2000 + 0x1000) {
    nameTableMemory[addr - 0x2000] = data;
  } else if (addr >= 0x3f00 and addr <= 0x3f1f) {
    paletteMemory[addr - 0x3f00] = data;
  } else {
    mmc->vidMemWrite(addr, data);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %esi, %eax
andl $0xf000, %eax           # imm = 0xF000
cmpl $0x2000, %eax           # imm = 0x2000
jne 0x23009
addl $0xffffe000, %esi       # imm = 0xFFFFE000
movb %dl, 0x2008(%rdi,%rsi)
jmp 0x23024
movl %esi, %eax
andl $0xffe0, %eax           # imm = 0xFFE0
cmpl $0x3f00, %eax           # imm = 0x3F00
jne 0x23026
addl $0xffffc100, %esi       # imm = 0xFFFFC100
movb %dl, 0x3008(%rdi,%rsi)
popq %rbp
retq
movq (%rdi), %rdi
movq (%rdi), %rax
movq 0x20(%rax), %rax
movzwl %si, %esi
movzbl %dl, %edx
popq %rbp
jmpq *%rax
nop
// File: /workspace/github_cpp_makefile_star2_O3/mindbeast[P]rnes/memory.cpp
// Function: Rnes::VideoMemory::restore(Rnes::VideoMemoryState const&)
void VideoMemory::restore(const VideoMemoryState &pb) {
  {
    const std::string &bytes = pb.patterntablememory();
    for (unsigned i = 0; i < bytes.size(); i++) {
      patternTableMemory[i] = bytes[i];
    }
  }
  {
    const std::string &bytes = pb.nametablememory();
    for (unsigned i = 0; i < bytes.size(); i++) {
      nameTableMemory[i] = bytes[i];
    }
  }
  {
    const std::string &bytes = pb.palettememory();
    for (unsigned i = 0; i < bytes.size(); i++) {
      paletteMemory[i] = bytes[i];
    }
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq 0x18(%rsi), %rax
cmpq $0x0, 0x8(%rax)
je 0x23222
movl $0x1, %ecx
xorl %edx, %edx
movq (%rax), %r8
movb (%r8,%rdx), %r8b
movb %r8b, 0x8(%rdi,%rdx)
movl %ecx, %edx
incl %ecx
cmpq %rdx, 0x8(%rax)
ja 0x2320c
movq 0x20(%rsi), %rax
cmpq $0x0, 0x8(%rax)
je 0x2324d
movl $0x1, %ecx
xorl %edx, %edx
movq (%rax), %r8
movb (%r8,%rdx), %r8b
movb %r8b, 0x2008(%rdi,%rdx)
movl %ecx, %edx
incl %ecx
cmpq %rdx, 0x8(%rax)
ja 0x23234
movq 0x28(%rsi), %rax
cmpq $0x0, 0x8(%rax)
je 0x23278
movl $0x1, %ecx
xorl %edx, %edx
movq (%rax), %rsi
movb (%rsi,%rdx), %sil
movb %sil, 0x3008(%rdi,%rdx)
movl %ecx, %edx
incl %ecx
cmpq %rdx, 0x8(%rax)
ja 0x2325f
popq %rbp
retq
nop
// File: /workspace/github_cpp_makefile_star2_O3/mindbeast[P]rnes/bin/save.pb.cc
// Function: InitDefaultsscc_info_ApuState_save_2eproto()
static void InitDefaultsscc_info_ApuState_save_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
leaq 0x12a08(%rip), %rdx     # 0x35c91
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xa100
leaq 0x24641(%rip), %rbx     # 0x478e0
movq %rbx, %rdi
xorl %esi, %esi
callq 0x26abc
movq 0x23cf0(%rip), %rdi     # 0x46fa0
movq %rbx, %rsi
callq 0xa870
leaq 0x24581(%rip), %rax     # 0x47840
movq %rax, 0x24642(%rip)     # 0x47908
movq %rax, 0x24643(%rip)     # 0x47910
leaq 0x245a4(%rip), %rax     # 0x47878
movq %rax, 0x2463d(%rip)     # 0x47918
leaq 0x245c6(%rip), %rax     # 0x478a8
movq %rax, 0x24637(%rip)     # 0x47920
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O3/mindbeast[P]rnes/bin/save.pb.cc
// Function: InitDefaultsscc_info_ControllerState_save_2eproto()
static void InitDefaultsscc_info_ControllerState_save_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x12996(%rip), %rdx     # 0x35c91
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xa100
movq $0x0, 0x24793(%rip) # 0x47aa8
leaq 0x24784(%rip), %rsi     # 0x47aa0
leaq 0x234dd(%rip), %rax     # 0x46800
movq %rax, 0x24776(%rip)     # 0x47aa0
xorps %xmm0, %xmm0
movups %xmm0, 0x2477c(%rip)    # 0x47ab0
movq 0x23c65(%rip), %rdi     # 0x46fa0
popq %rbp
jmp 0xa870
// File: /workspace/github_cpp_makefile_star2_O3/mindbeast[P]rnes/bin/save.pb.cc
// Function: InitDefaultsscc_info_CpuMemoryState_save_2eproto()
static void InitDefaultsscc_info_CpuMemoryState_save_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x12945(%rip), %rdx     # 0x35c91
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xa100
xorps %xmm0, %xmm0
movups %xmm0, 0x24763(%rip)    # 0x47ac8
leaq 0x23544(%rip), %rax     # 0x468b0
movq %rax, 0x2474d(%rip)     # 0x47ac0
movl 0x241df(%rip), %eax     # 0x47558
testl %eax, %eax
jne 0x233a6
movq 0x23c3c(%rip), %rax     # 0x46fc0
movq %rax, 0x2474d(%rip)     # 0x47ad8
leaq 0x2472e(%rip), %rsi     # 0x47ac0
movq %rax, 0x24747(%rip)     # 0x47ae0
movq 0x23c00(%rip), %rdi     # 0x46fa0
popq %rbp
jmp 0xa870
leaq 0x241ab(%rip), %rdi     # 0x47558
callq 0xa520
jmp 0x2337d
// File: /workspace/github_cpp_makefile_star2_O3/mindbeast[P]rnes/bin/save.pb.cc
// Function: InitDefaultsscc_info_CpuState_save_2eproto()
static void InitDefaultsscc_info_CpuState_save_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x128d2(%rip), %rdx     # 0x35c91
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xa100
xorl %eax, %eax
movq %rax, 0x24439(%rip)     # 0x47810
leaq 0x2442a(%rip), %rsi     # 0x47808
leaq 0x22c8b(%rip), %rcx     # 0x46070
movq %rcx, 0x2441c(%rip)     # 0x47808
xorps %xmm0, %xmm0
movups %xmm0, 0x24422(%rip)    # 0x47818
movups %xmm0, 0x2442b(%rip)    # 0x47828
movq %rax, 0x24434(%rip)     # 0x47838
movq 0x23b95(%rip), %rdi     # 0x46fa0
popq %rbp
jmp 0xa870
// File: /workspace/github_cpp_makefile_star2_O3/mindbeast[P]rnes/bin/save.pb.cc
// Function: InitDefaultsscc_info_DmaState_save_2eproto()
static void InitDefaultsscc_info_DmaState_save_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x12875(%rip), %rdx     # 0x35c91
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xa100
movq $0x0, 0x246ea(%rip) # 0x47b20
leaq 0x246db(%rip), %rsi     # 0x47b18
leaq 0x235cc(%rip), %rax     # 0x46a10
movq %rax, 0x246cd(%rip)     # 0x47b18
xorps %xmm0, %xmm0
movups %xmm0, 0x246d3(%rip)    # 0x47b28
movl $0x0, 0x246d9(%rip)     # 0x47b38
movq 0x23b3a(%rip), %rdi     # 0x46fa0
popq %rbp
jmp 0xa870
// File: /workspace/github_cpp_makefile_star2_O3/mindbeast[P]rnes/bin/save.pb.cc
// Function: InitDefaultsscc_info_MmcState_save_2eproto()
static void InitDefaultsscc_info_MmcState_save_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x1281a(%rip), %rdx     # 0x35c91
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xa100
xorps %xmm0, %xmm0
movups %xmm0, 0x245e8(%rip)    # 0x47a78
leaq 0x232b9(%rip), %rax     # 0x46750
movq %rax, 0x245d2(%rip)     # 0x47a70
movl 0x240fc(%rip), %eax     # 0x475a0
testl %eax, %eax
jne 0x234f9
movups %xmm0, 0x245d9(%rip)    # 0x47a88
movq $0x0, 0x245de(%rip) # 0x47a98
leaq 0x245af(%rip), %rsi     # 0x47a70
movq 0x23ad8(%rip), %rdi     # 0x46fa0
callq 0xa870
leaq 0x2451c(%rip), %rax     # 0x479f0
movq %rax, 0x245ad(%rip)     # 0x47a88
leaq 0x24526(%rip), %rax     # 0x47a08
movq %rax, 0x245a7(%rip)     # 0x47a90
leaq 0x24548(%rip), %rax     # 0x47a38
movq %rax, 0x245a1(%rip)     # 0x47a98
popq %rbp
retq
leaq 0x240a0(%rip), %rdi     # 0x475a0
callq 0xa520
xorps %xmm0, %xmm0
jmp 0x234a8
// File: /workspace/github_cpp_makefile_star2_O3/mindbeast[P]rnes/bin/save.pb.cc
// Function: InitDefaultsscc_info_MmcState_Mmc1State_save_2eproto()
static void InitDefaultsscc_info_MmcState_Mmc1State_save_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x1277c(%rip), %rdx     # 0x35c91
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xa100
movq $0x0, 0x244e1(%rip) # 0x47a10
leaq 0x244d2(%rip), %rsi     # 0x47a08
leaq 0x230b3(%rip), %rax     # 0x465f0
movq %rax, 0x244c4(%rip)     # 0x47a08
xorps %xmm0, %xmm0
movups %xmm0, 0x244ca(%rip)    # 0x47a18
movups %xmm0, 0x244cf(%rip)    # 0x47a24
movq 0x23a44(%rip), %rdi     # 0x46fa0
popq %rbp
jmp 0xa870
// File: /workspace/github_cpp_makefile_star2_O3/mindbeast[P]rnes/bin/save.pb.cc
// Function: InitDefaultsscc_info_MmcState_Mmc3State_save_2eproto()
static void InitDefaultsscc_info_MmcState_Mmc3State_save_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x12724(%rip), %rdx     # 0x35c91
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xa100
xorps %xmm0, %xmm0
movups %xmm0, 0x244ba(%rip)    # 0x47a40
leaq 0x23113(%rip), %rax     # 0x466a0
movq %rax, 0x244a4(%rip)     # 0x47a38
movl 0x2404e(%rip), %eax     # 0x475e8
testl %eax, %eax
jne 0x235d2
movq 0x23a1b(%rip), %rax     # 0x46fc0
movq %rax, 0x244a4(%rip)     # 0x47a50
leaq 0x24485(%rip), %rsi     # 0x47a38
movups %xmm0, 0x2449e(%rip)    # 0x47a58
movq $0x0, 0x244a1(%rip) # 0x47a66
movq 0x239d4(%rip), %rdi     # 0x46fa0
popq %rbp
jmp 0xa870
leaq 0x2400f(%rip), %rdi     # 0x475e8
callq 0xa520
xorps %xmm0, %xmm0
jmp 0x2359e
// File: /workspace/github_cpp_makefile_star2_O3/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 0x126a3(%rip), %rdx     # 0x35c91
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xa100
movq $0x0, 0x243f0(%rip) # 0x479f8
leaq 0x243e1(%rip), %rsi     # 0x479f0
leaq 0x22f2a(%rip), %rax     # 0x46540
movq %rax, 0x243d3(%rip)     # 0x479f0
movl $0x0, 0x243d9(%rip)     # 0x47a00
movq 0x23972(%rip), %rdi     # 0x46fa0
popq %rbp
jmp 0xa870
// File: /workspace/github_cpp_makefile_star2_O3/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 0x12652(%rip), %rdx     # 0x35c91
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xa100
movq $0x0, 0x24257(%rip) # 0x478b0
leaq 0x24248(%rip), %rsi     # 0x478a8
leaq 0x22c19(%rip), %rax     # 0x46280
movq %rax, 0x2423a(%rip)     # 0x478a8
xorps %xmm0, %xmm0
movups %xmm0, 0x24240(%rip)    # 0x478b8
movups %xmm0, 0x24249(%rip)    # 0x478c8
movl $0x0, 0x2424f(%rip)     # 0x478d8
movq 0x23910(%rip), %rdi     # 0x46fa0
popq %rbp
jmp 0xa870
// File: /workspace/github_cpp_makefile_star2_O3/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 0x125ae(%rip), %rdx     # 0x35c91
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xa100
xorl %eax, %eax
movq %rax, 0x2425d(%rip)     # 0x47958
leaq 0x2424e(%rip), %rsi     # 0x47950
leaq 0x22cd7(%rip), %rcx     # 0x463e0
movq %rcx, 0x24240(%rip)     # 0x47950
xorps %xmm0, %xmm0
movups %xmm0, 0x24246(%rip)    # 0x47960
movq %rax, 0x2424f(%rip)     # 0x47970
movq 0x23878(%rip), %rdi     # 0x46fa0
popq %rbp
jmp 0xa870
// File: /workspace/github_cpp_makefile_star2_O3/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 0x12558(%rip), %rdx     # 0x35c91
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xa100
xorl %eax, %eax
movq %rax, 0x240f7(%rip)     # 0x47848
leaq 0x240e8(%rip), %rsi     # 0x47840
leaq 0x229c1(%rip), %rcx     # 0x46120
movq %rcx, 0x240da(%rip)     # 0x47840
xorps %xmm0, %xmm0
movups %xmm0, 0x240e0(%rip)    # 0x47850
movups %xmm0, 0x240e9(%rip)    # 0x47860
movq %rax, 0x240f2(%rip)     # 0x47870
movq 0x2381b(%rip), %rdi     # 0x46fa0
popq %rbp
jmp 0xa870
// File: /workspace/github_cpp_makefile_star2_O3/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 0x124fb(%rip), %rdx     # 0x35c91
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xa100
xorps %xmm0, %xmm0
movups %xmm0, 0x24399(%rip)    # 0x47b48
leaq 0x2330a(%rip), %rax     # 0x46ac0
movq %rax, 0x24383(%rip)     # 0x47b40
movl 0x23ebd(%rip), %eax     # 0x47680
testl %eax, %eax
jne 0x2386c
movq 0x237ee(%rip), %rax     # 0x46fc0
movq %rax, 0x2437f(%rip)     # 0x47b58
leaq 0x24360(%rip), %rsi     # 0x47b40
movups %xmm0, 0x24379(%rip)    # 0x47b60
movups %xmm0, 0x24382(%rip)    # 0x47b70
movups %xmm0, 0x2438b(%rip)    # 0x47b80
movups %xmm0, 0x24394(%rip)    # 0x47b90
movq 0x2379d(%rip), %rdi     # 0x46fa0
callq 0xa870
leaq 0x24309(%rip), %rax     # 0x47b18
movq %rax, 0x2434a(%rip)     # 0x47b60
leaq 0x23feb(%rip), %rax     # 0x47808
movq %rax, 0x24344(%rip)     # 0x47b68
leaq 0x240b5(%rip), %rax     # 0x478e0
movq %rax, 0x2433e(%rip)     # 0x47b70
leaq 0x2413f(%rip), %rax     # 0x47978
movq %rax, 0x24338(%rip)     # 0x47b78
leaq 0x24259(%rip), %rax     # 0x47aa0
movq %rax, 0x24332(%rip)     # 0x47b80
leaq 0x2426b(%rip), %rax     # 0x47ac0
movq %rax, 0x2432c(%rip)     # 0x47b88
leaq 0x24285(%rip), %rax     # 0x47ae8
movq %rax, 0x24326(%rip)     # 0x47b90
popq %rbp
retq
leaq 0x23e0d(%rip), %rdi     # 0x47680
callq 0xa520
xorps %xmm0, %xmm0
jmp 0x237cb
// File: /workspace/github_cpp_makefile_star2_O3/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 0x12406(%rip), %rdx     # 0x35c91
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xa100
movq $0x0, 0x23fdb(%rip) # 0x47880
leaq 0x23fcc(%rip), %rsi     # 0x47878
leaq 0x2291d(%rip), %rax     # 0x461d0
movq %rax, 0x23fbe(%rip)     # 0x47878
xorps %xmm0, %xmm0
movups %xmm0, 0x23fc4(%rip)    # 0x47888
movups %xmm0, 0x23fcd(%rip)    # 0x47898
movq 0x236ce(%rip), %rdi     # 0x46fa0
popq %rbp
jmp 0xa870
// File: /workspace/github_cpp_makefile_star2_O3/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
leaq 0x123ae(%rip), %rdx     # 0x35c91
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0xa100
xorps %xmm0, %xmm0
movups %xmm0, 0x241f4(%rip)    # 0x47af0
leaq 0x2305d(%rip), %rax     # 0x46960
movq %rax, 0x241de(%rip)     # 0x47ae8
movl 0x23dd8(%rip), %eax     # 0x476e8
testl %eax, %eax
jne 0x23944
movq 0x236a5(%rip), %rax     # 0x46fc0
movq %rax, 0x241de(%rip)     # 0x47b00
leaq 0x241bf(%rip), %rsi     # 0x47ae8
movq %rax, 0x241d8(%rip)     # 0x47b08
movq %rax, 0x241d9(%rip)     # 0x47b10
movq 0x23662(%rip), %rdi     # 0x46fa0
popq %rbp
jmp 0xa870
leaq 0x23d9d(%rip), %rdi     # 0x476e8
callq 0xa520
jmp 0x23914
// File: /workspace/github_cpp_makefile_star2_O3/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 0x226d4(%rip), %rax     # 0x46070
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
movl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0x239c7
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x31dc8
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_O3/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 0x23adb
xorps %xmm0, %xmm0
movups %xmm0, 0x28(%rdi)
movups %xmm0, 0x18(%rdi)
movl $0x0, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
jne 0x23aea
popq %rbp
retq
addq $0x8, %rdi
popq %rbp
jmp 0x31e00
// File: /workspace/github_cpp_makefile_star2_O3/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 0x24349
leaq 0x11982(%rip), %rdx     # 0x35c91
leaq -0x58(%rbp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x424, %ecx            # imm = 0x424
callq 0xa450
leaq 0x11974(%rip), %rsi     # 0x35ca0
movq %r15, %rdi
callq 0xa980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xa600
leaq -0x58(%rbp), %rdi
callq 0xa730
leaq 0x21d20(%rip), %rax     # 0x46070
cmpq %rax, (%rbx)
je 0x24362
movq %rbx, %rdi
movq %r14, %rsi
callq 0xa580
jmp 0x2436d
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2438e
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x2437a
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xa730
movq %rbx, %rdi
callq 0xa4d0
// File: /workspace/github_cpp_makefile_star2_O3/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 0x243e7
leaq 0x118e4(%rip), %rdx     # 0x35c91
leaq -0x58(%rbp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x433, %ecx            # imm = 0x433
callq 0xa450
leaq 0x118d6(%rip), %rsi     # 0x35ca0
movq %r15, %rdi
callq 0xa980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xa600
leaq -0x58(%rbp), %rdi
callq 0xa730
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0x24402
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x31dc8
movl 0x10(%r14), %eax
testb $0x7f, %al
je 0x2445b
testb $0x1, %al
je 0x24415
movl 0x18(%r14), %ecx
movl %ecx, 0x18(%rbx)
testb $0x2, %al
je 0x24420
movl 0x1c(%r14), %ecx
movl %ecx, 0x1c(%rbx)
testb $0x4, %al
je 0x2442b
movl 0x20(%r14), %ecx
movl %ecx, 0x20(%rbx)
testb $0x8, %al
je 0x24436
movl 0x24(%r14), %ecx
movl %ecx, 0x24(%rbx)
testb $0x10, %al
je 0x24441
movl 0x28(%r14), %ecx
movl %ecx, 0x28(%rbx)
testb $0x20, %al
je 0x2444c
movl 0x2c(%r14), %ecx
movl %ecx, 0x2c(%rbx)
testb $0x40, %al
je 0x24458
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 0x24468
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xa730
movq %rbx, %rdi
callq 0xa4d0
// File: /workspace/github_cpp_makefile_star2_O3/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 0x244f3
testb $0x1, %sil
jne 0x244f9
jmp 0x2450a
testb $0x1, %sil
je 0x24541
andq $-0x2, %rsi
addq $0x8, %rsi
leaq 0x8(%r14), %rdi
callq 0x31e36
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 0x31c54
movq %rax, %rsi
jmp 0x24501
nop
// File: /workspace/github_cpp_makefile_star2_O3/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 0x21b64(%rip), %rax     # 0x46120
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
movl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0x245e7
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x31dc8
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_O3/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 0x24700
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rdi)
movq $0x0, 0x28(%rdi)
testl $0x300, %eax            # imm = 0x300
je 0x2470f
movq $0x0, 0x30(%rdi)
movl $0x0, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
jne 0x2471e
popq %rbp
retq
addq $0x8, %rdi
popq %rbp
jmp 0x31e00
// File: /workspace/github_cpp_makefile_star2_O3/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 0x2514f
leaq 0x10b7c(%rip), %rdx     # 0x35c91
leaq -0x58(%rbp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x5f4, %ecx            # imm = 0x5F4
callq 0xa450
leaq 0x10b6e(%rip), %rsi     # 0x35ca0
movq %r15, %rdi
callq 0xa980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xa600
leaq -0x58(%rbp), %rdi
callq 0xa730
leaq 0x20fca(%rip), %rax     # 0x46120
cmpq %rax, (%rbx)
je 0x25168
movq %rbx, %rdi
movq %r14, %rsi
callq 0xa580
jmp 0x25173
movq %r14, %rdi
movq %rbx, %rsi
callq 0x25194
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x25180
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xa730
movq %rbx, %rdi
callq 0xa4d0
// File: /workspace/github_cpp_makefile_star2_O3/mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::PulseState::MergeFrom(Rnes::PulseState const&)
void PulseState::MergeFrom(const PulseState& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:Rnes.PulseState)
  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 & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      lengthcounter_ = from.lengthcounter_;
    }
    if (cached_has_bits & 0x00000002u) {
      envelope_ = from.envelope_;
    }
    if (cached_has_bits & 0x00000004u) {
      envelopedivider_ = from.envelopedivider_;
    }
    if (cached_has_bits & 0x00000008u) {
      primary_ = from.primary_;
    }
    if (cached_has_bits & 0x00000010u) {
      resetenvelopeanddivider_ = from.resetenvelopeanddivider_;
    }
    if (cached_has_bits & 0x00000020u) {
      resetsweepdivider_ = from.resetsweepdivider_;
    }
    if (cached_has_bits & 0x00000040u) {
      sweepdivider_ = from.sweepdivider_;
    }
    if (cached_has_bits & 0x00000080u) {
      currentsample_ = from.currentsample_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 0x00000300u) {
    if (cached_has_bits & 0x00000100u) {
      timerdivider_ = from.timerdivider_;
    }
    if (cached_has_bits & 0x00000200u) {
      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 0x251ed
leaq 0x10ade(%rip), %rdx     # 0x35c91
leaq -0x58(%rbp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x603, %ecx            # imm = 0x603
callq 0xa450
leaq 0x10ad0(%rip), %rsi     # 0x35ca0
movq %r15, %rdi
callq 0xa980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xa600
leaq -0x58(%rbp), %rdi
callq 0xa730
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0x25208
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x31dc8
movl 0x10(%r14), %eax
testb %al, %al
je 0x2526b
testb $0x1, %al
je 0x2521b
movl 0x18(%r14), %ecx
movl %ecx, 0x18(%rbx)
testb $0x2, %al
je 0x25226
movl 0x1c(%r14), %ecx
movl %ecx, 0x1c(%rbx)
testb $0x4, %al
je 0x25231
movl 0x20(%r14), %ecx
movl %ecx, 0x20(%rbx)
testb $0x8, %al
je 0x2523c
movb 0x24(%r14), %cl
movb %cl, 0x24(%rbx)
testb $0x10, %al
je 0x25247
movb 0x25(%r14), %cl
movb %cl, 0x25(%rbx)
testb $0x20, %al
je 0x25252
movb 0x26(%r14), %cl
movb %cl, 0x26(%rbx)
testb $0x40, %al
je 0x2525d
movl 0x28(%r14), %ecx
movl %ecx, 0x28(%rbx)
testb %al, %al
jns 0x25268
movl 0x2c(%r14), %ecx
movl %ecx, 0x2c(%rbx)
orl %eax, 0x10(%rbx)
testl $0x300, %eax            # imm = 0x300
je 0x2528f
btl $0x8, %eax
jae 0x2527f
movl 0x30(%r14), %ecx
movl %ecx, 0x30(%rbx)
btl $0x9, %eax
jae 0x2528c
movl 0x34(%r14), %ecx
movl %ecx, 0x34(%rbx)
orl %eax, 0x10(%rbx)
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x2529c
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xa730
movq %rbx, %rdi
callq 0xa4d0
// File: /workspace/github_cpp_makefile_star2_O3/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 0x25327
testb $0x1, %sil
jne 0x2532d
jmp 0x2533e
testb $0x1, %sil
je 0x25375
andq $-0x2, %rsi
addq $0x8, %rsi
leaq 0x8(%r14), %rdi
callq 0x31e36
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 0x31c54
movq %rax, %rsi
jmp 0x25335
nop
// File: /workspace/github_cpp_makefile_star2_O3/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 0x20de6(%rip), %rax     # 0x461d0
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
movl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0x25415
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x31dc8
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_O3/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 0x2552d
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rdi)
movq $0x0, 0x28(%rdi)
movl $0x0, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
jne 0x2553c
popq %rbp
retq
addq $0x8, %rdi
popq %rbp
jmp 0x31e00
// File: /workspace/github_cpp_makefile_star2_O3/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 0x25c6b
leaq 0x10060(%rip), %rdx     # 0x35c91
leaq -0x58(%rbp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x76d, %ecx            # imm = 0x76D
callq 0xa450
leaq 0x10052(%rip), %rsi     # 0x35ca0
movq %r15, %rdi
callq 0xa980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xa600
leaq -0x58(%rbp), %rdi
callq 0xa730
leaq 0x2055e(%rip), %rax     # 0x461d0
cmpq %rax, (%rbx)
je 0x25c84
movq %rbx, %rdi
movq %r14, %rsi
callq 0xa580
jmp 0x25c8f
movq %r14, %rdi
movq %rbx, %rsi
callq 0x25cb0
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x25c9c
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xa730
movq %rbx, %rdi
callq 0xa4d0
// File: /workspace/github_cpp_makefile_star2_O3/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 0x25d09
leaq 0xffc2(%rip), %rdx      # 0x35c91
leaq -0x58(%rbp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x77c, %ecx            # imm = 0x77C
callq 0xa450
leaq 0xffb4(%rip), %rsi      # 0x35ca0
movq %r15, %rdi
callq 0xa980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xa600
leaq -0x58(%rbp), %rdi
callq 0xa730
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0x25d24
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x31dc8
movl 0x10(%r14), %eax
testb $0x3f, %al
je 0x25d71
testb $0x1, %al
je 0x25d37
movl 0x18(%r14), %ecx
movl %ecx, 0x18(%rbx)
testb $0x2, %al
je 0x25d42
movb 0x1c(%r14), %cl
movb %cl, 0x1c(%rbx)
testb $0x4, %al
je 0x25d4d
movl 0x20(%r14), %ecx
movl %ecx, 0x20(%rbx)
testb $0x8, %al
je 0x25d58
movl 0x24(%r14), %ecx
movl %ecx, 0x24(%rbx)
testb $0x10, %al
je 0x25d63
movl 0x28(%r14), %ecx
movl %ecx, 0x28(%rbx)
testb $0x20, %al
je 0x25d6e
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 0x25d7e
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xa730
movq %rbx, %rdi
callq 0xa4d0
// File: /workspace/github_cpp_makefile_star2_O3/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 0x25e09
testb $0x1, %sil
jne 0x25e0f
jmp 0x25e20
testb $0x1, %sil
je 0x25e55
andq $-0x2, %rsi
addq $0x8, %rsi
leaq 0x8(%r14), %rdi
callq 0x31e36
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 0x31c54
movq %rax, %rsi
jmp 0x25e17
nop
// File: /workspace/github_cpp_makefile_star2_O3/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 0x203b0(%rip), %rax     # 0x46280
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
movl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0x25efb
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x31dc8
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_O3/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 0x2600f
xorps %xmm0, %xmm0
movups %xmm0, 0x24(%rdi)
movups %xmm0, 0x18(%rdi)
movl $0x0, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
jne 0x2601e
popq %rbp
retq
addq $0x8, %rdi
popq %rbp
jmp 0x31e00
// File: /workspace/github_cpp_makefile_star2_O3/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 0x26825
leaq 0xf4a6(%rip), %rdx      # 0x35c91
leaq -0x58(%rbp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x8ef, %ecx            # imm = 0x8EF
callq 0xa450
leaq 0xf498(%rip), %rsi      # 0x35ca0
movq %r15, %rdi
callq 0xa980
leaq -0x19(%rbp), %rdi
movq %rax, %rsi
callq 0xa600
leaq -0x58(%rbp), %rdi
callq 0xa730
leaq 0x1fa54(%rip), %rax     # 0x46280
cmpq %rax, (%rbx)
je 0x2683e
movq %rbx, %rdi
movq %r14, %rsi
callq 0xa580
jmp 0x26849
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2686a
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x26856
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0xa730
movq %rbx, %rdi
callq 0xa4d0