// File: mindbeast[P]rnes/bin/save.pb.cc
// Function: Rnes::ApuState::Clear()
void ApuState::Clear() {
// @@protoc_insertion_point(message_clear_start:Rnes.ApuState)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  reg_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(pulsea_ != nullptr);
      pulsea_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(pulseb_ != nullptr);
      pulseb_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(triangle_ != nullptr);
      triangle_->Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      GOOGLE_DCHECK(noise_ != nullptr);
      noise_->Clear();
    }
  }
  if (cached_has_bits & 0x000000f0u) {
    ::memset(&samplerate_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&framedivider_) -
        reinterpret_cast<char*>(&samplerate_)) + sizeof(framedivider_));
  }
  if (cached_has_bits & 0x00003f00u) {
    ::memset(&step_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&nextsamplecountdown_) -
        reinterpret_cast<char*>(&step_)) + sizeof(nextsamplecountdown_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1a0, %rsp            # imm = 0x1A0
movq %rdi, -0x38(%rbp)
movq -0x38(%rbp), %rdi
movq %rdi, -0x158(%rbp)
movl $0x0, -0x3c(%rbp)
addq $0x18, %rdi
callq 0xe430
movq -0x158(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
movq -0x28(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
andl $0xf, %eax
cmpl $0x0, %eax
je 0x4c892
movl -0x3c(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x4c5f6
movq -0x158(%rbp), %rax
movq 0x28(%rax), %rax
movb $0x0, -0x79(%rbp)
cmpq $0x0, %rax
je 0x4c553
jmp 0x4c5ab
leaq 0x1ebd7(%rip), %rdx     # 0x6b131
leaq -0x78(%rbp), %rdi
movq %rdi, -0x168(%rbp)
movl $0x3, %esi
movl $0x9e4, %ecx            # imm = 0x9E4
callq 0xe690
movq -0x168(%rbp), %rdi
movb $0x1, -0x79(%rbp)
leaq 0x1ebdc(%rip), %rsi     # 0x6b162
callq 0xed00
movq %rax, -0x160(%rbp)
jmp 0x4c594
movq -0x160(%rbp), %rsi
leaq -0x8d(%rbp), %rdi
callq 0xe820
jmp 0x4c5a9
jmp 0x4c5ab
testb $0x1, -0x79(%rbp)
jne 0x4c5b3
jmp 0x4c5bc
leaq -0x78(%rbp), %rdi
callq 0xe9d0
movq -0x158(%rbp), %rax
movq 0x28(%rax), %rdi
callq 0x47860
jmp 0x4c5f6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
testb $0x1, -0x79(%rbp)
jne 0x4c5e8
jmp 0x4c5f1
leaq -0x78(%rbp), %rdi
callq 0xe9d0
jmp 0x4c964
movl -0x3c(%rbp), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x4c6d4
movq -0x158(%rbp), %rax
movq 0x30(%rax), %rax
movb $0x0, -0xc9(%rbp)
cmpq $0x0, %rax
je 0x4c61f
jmp 0x4c67d
leaq 0x1eb0b(%rip), %rdx     # 0x6b131
leaq -0xc8(%rbp), %rdi
movq %rdi, -0x178(%rbp)
movl $0x3, %esi
movl $0x9e8, %ecx            # imm = 0x9E8
callq 0xe690
movq -0x178(%rbp), %rdi
movb $0x1, -0xc9(%rbp)
leaq 0x1eb2d(%rip), %rsi     # 0x6b185
callq 0xed00
movq %rax, -0x170(%rbp)
jmp 0x4c666
movq -0x170(%rbp), %rsi
leaq -0xca(%rbp), %rdi
callq 0xe820
jmp 0x4c67b
jmp 0x4c67d
testb $0x1, -0xc9(%rbp)
jne 0x4c688
jmp 0x4c694
leaq -0xc8(%rbp), %rdi
callq 0xe9d0
movq -0x158(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x47860
jmp 0x4c6d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
testb $0x1, -0xc9(%rbp)
jne 0x4c6c3
jmp 0x4c6cf
leaq -0xc8(%rbp), %rdi
callq 0xe9d0
jmp 0x4c964
movl -0x3c(%rbp), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x4c7b2
movq -0x158(%rbp), %rax
movq 0x38(%rax), %rax
movb $0x0, -0x109(%rbp)
cmpq $0x0, %rax
je 0x4c6fd
jmp 0x4c75b
leaq 0x1ea2d(%rip), %rdx     # 0x6b131
leaq -0x108(%rbp), %rdi
movq %rdi, -0x188(%rbp)
movl $0x3, %esi
movl $0x9ec, %ecx            # imm = 0x9EC
callq 0xe690
movq -0x188(%rbp), %rdi
movb $0x1, -0x109(%rbp)
leaq 0x1ea72(%rip), %rsi     # 0x6b1a8
callq 0xed00
movq %rax, -0x180(%rbp)
jmp 0x4c744
movq -0x180(%rbp), %rsi
leaq -0x10a(%rbp), %rdi
callq 0xe820
jmp 0x4c759
jmp 0x4c75b
testb $0x1, -0x109(%rbp)
jne 0x4c766
jmp 0x4c772
leaq -0x108(%rbp), %rdi
callq 0xe9d0
movq -0x158(%rbp), %rax
movq 0x38(%rax), %rdi
callq 0x494d0
jmp 0x4c7b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
testb $0x1, -0x109(%rbp)
jne 0x4c7a1
jmp 0x4c7ad
leaq -0x108(%rbp), %rdi
callq 0xe9d0
jmp 0x4c964
movl -0x3c(%rbp), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x4c890
movq -0x158(%rbp), %rax
movq 0x40(%rax), %rax
movb $0x0, -0x149(%rbp)
cmpq $0x0, %rax
je 0x4c7db
jmp 0x4c839
leaq 0x1e94f(%rip), %rdx     # 0x6b131
leaq -0x148(%rbp), %rdi
movq %rdi, -0x198(%rbp)
movl $0x3, %esi
movl $0x9f0, %ecx            # imm = 0x9F0
callq 0xe690
movq -0x198(%rbp), %rdi
movb $0x1, -0x149(%rbp)
leaq 0x1e9b9(%rip), %rsi     # 0x6b1cd
callq 0xed00
movq %rax, -0x190(%rbp)
jmp 0x4c822
movq -0x190(%rbp), %rsi
leaq -0x14a(%rbp), %rdi
callq 0xe820
jmp 0x4c837
jmp 0x4c839
testb $0x1, -0x149(%rbp)
jne 0x4c844
jmp 0x4c850
leaq -0x148(%rbp), %rdi
callq 0xe9d0
movq -0x158(%rbp), %rax
movq 0x40(%rax), %rdi
callq 0x4aa50
jmp 0x4c890
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
testb $0x1, -0x149(%rbp)
jne 0x4c87f
jmp 0x4c88b
leaq -0x148(%rbp), %rdi
callq 0xe9d0
jmp 0x4c964
jmp 0x4c892
movl -0x3c(%rbp), %eax
andl $0xf0, %eax
cmpl $0x0, %eax
je 0x4c8c6
movq -0x158(%rbp), %rax
movq %rax, %rdi
addq $0x48, %rdi
movq %rax, %rdx
addq $0x54, %rdx
addq $0x48, %rax
subq %rax, %rdx
addq $0x4, %rdx
xorl %esi, %esi
callq 0xe420
movl -0x3c(%rbp), %eax
andl $0x3f00, %eax           # imm = 0x3F00
cmpl $0x0, %eax
je 0x4c8fa
movq -0x158(%rbp), %rax
movq %rax, %rdi
addq $0x58, %rdi
movq %rax, %rdx
addq $0x6c, %rdx
addq $0x58, %rax
subq %rax, %rdx
addq $0x4, %rdx
xorl %esi, %esi
callq 0xe420
movq -0x158(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
xorl %esi, %esi
movl $0x4, %edx
callq 0xe420
movq -0x158(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x1a0(%rbp)
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
andq $0x1, %rax
cmpl $0x1, %eax
jne 0x4c95b
movq -0x1a0(%rbp), %rdi
callq 0x66bc0
addq $0x1a0, %rsp            # imm = 0x1A0
popq %rbp
retq
movq -0x88(%rbp), %rdi
callq 0xe700