LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::AttackPoint::MergeFrom(google::protobuf::Message const&)
void AttackPoint::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:panda.AttackPoint)
  GOOGLE_DCHECK_NE(&from, this);
  const AttackPoint* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AttackPoint>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:panda.AttackPoint)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:panda.AttackPoint)
    MergeFrom(*source);
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rsi, %rbx
movq %rdi, %r14
cmpq %rdi, %rsi
jne 0xfb5c
leaq 0xa667(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0xecb, %ecx            # imm = 0xECB
callq 0x6530
leaq 0xa654(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
leaq 0x13bc5(%rip), %rax     # 0x23728
cmpq %rax, (%rbx)
je 0xfb75
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6330
jmp 0xfb80
movq %r14, %rdi
movq %rbx, %rsi
callq 0xfba2
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xfb8c
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::AttackPoint::MergeFrom(panda::AttackPoint const&)
void AttackPoint::MergeFrom(const AttackPoint& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:panda.AttackPoint)
  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 & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _internal_mutable_call_stack()->::panda::CallStack::MergeFrom(from._internal_call_stack());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_mutable_src_info()->::panda::SrcInfo::MergeFrom(from._internal_src_info());
    }
    if (cached_has_bits & 0x00000004u) {
      info_ = from.info_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x48, %rsp
movq %rsi, %r14
movq %rdi, %rbx
cmpq %rdi, %rsi
jne 0xfbfb
leaq 0xa5c8(%rip), %rdx      # 0x1a186
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0xeda, %ecx            # imm = 0xEDA
callq 0x6530
leaq 0xa5b5(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0xf(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x10(%rsp), %rdi
callq 0x65a0
leaq 0x8(%rbx), %r15
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0xfc19
andq $-0x2, %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0x183fa
movl 0x10(%r14), %ebp
testb $0x7, %bpl
je 0xfcb5
testb $0x1, %bpl
je 0xfc66
orb $0x1, 0x10(%rbx)
movq 0x18(%rbx), %rdi
testq %rdi, %rdi
jne 0xfc4f
movq (%r15), %rdi
testb $0x1, %dil
jne 0xfcc0
callq 0x169d6
movq %rax, %rdi
movq %rax, 0x18(%rbx)
movq 0x18(%r14), %rax
testq %rax, %rax
leaq 0x14a7b(%rip), %rsi     # 0x246d8
cmovneq %rax, %rsi
callq 0x962a
testb $0x2, %bpl
je 0xfca5
orb $0x2, 0x10(%rbx)
movq 0x20(%rbx), %rdi
testq %rdi, %rdi
jne 0xfc8e
movq (%r15), %rdi
testb $0x1, %dil
jne 0xfccc
callq 0x16d8a
movq %rax, %rdi
movq %rax, 0x20(%rbx)
movq 0x20(%r14), %rax
testq %rax, %rax
leaq 0x14b9c(%rip), %rsi     # 0x24838
cmovneq %rax, %rsi
callq 0xe452
testb $0x4, %bpl
je 0xfcb2
movl 0x28(%r14), %eax
movl %eax, 0x28(%rbx)
orl %ebp, 0x10(%rbx)
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
andq $-0x2, %rdi
movq (%rdi), %rdi
jmp 0xfc43
andq $-0x2, %rdi
movq (%rdi), %rdi
jmp 0xfc82
jmp 0xfcd7
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::AttackPoint::InternalSwap(panda::AttackPoint*)
void AttackPoint::InternalSwap(AttackPoint* 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(AttackPoint, info_)
      + sizeof(AttackPoint::info_)
      - PROTOBUF_FIELD_OFFSET(AttackPoint, call_stack_)>(
          reinterpret_cast<char*>(&call_stack_),
          reinterpret_cast<char*>(&other->call_stack_));
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movq 0x8(%rsi), %rsi
testb $0x1, 0x8(%rdi)
jne 0xfdea
testb $0x1, %sil
jne 0xfdf0
jmp 0xfe01
testb $0x1, %sil
je 0xfe37
andq $-0x2, %rsi
addq $0x8, %rsi
leaq 0x8(%r14), %rdi
callq 0x1845c
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)
movl 0x28(%r14), %eax
movl 0x28(%rbx), %ecx
movl %ecx, 0x28(%r14)
movl %eax, 0x28(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
leaq 0x8(%rbx), %rdi
callq 0x18284
movq %rax, %rsi
jmp 0xfdf8
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintQueryHypercall::MergeFrom(google::protobuf::Message const&)
void TaintQueryHypercall::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:panda.TaintQueryHypercall)
  GOOGLE_DCHECK_NE(&from, this);
  const TaintQueryHypercall* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TaintQueryHypercall>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:panda.TaintQueryHypercall)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:panda.TaintQueryHypercall)
    MergeFrom(*source);
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rsi, %rbx
movq %rdi, %r14
cmpq %rdi, %rsi
jne 0x10e8c
leaq 0x9337(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x10a3, %ecx           # imm = 0x10A3
callq 0x6530
leaq 0x9324(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
leaq 0x12945(%rip), %rax     # 0x237d8
cmpq %rax, (%rbx)
je 0x10ea5
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6330
jmp 0x10eb0
movq %r14, %rdi
movq %rbx, %rsi
callq 0x10ed2
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0x10ebc
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintQueryHypercall::MergeFrom(panda::TaintQueryHypercall const&)
void TaintQueryHypercall::MergeFrom(const TaintQueryHypercall& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:panda.TaintQueryHypercall)
  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;

  data_.MergeFrom(from.data_);
  taint_query_.MergeFrom(from.taint_query_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      _internal_mutable_call_stack()->::panda::CallStack::MergeFrom(from._internal_call_stack());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_mutable_src_info()->::panda::SrcInfo::MergeFrom(from._internal_src_info());
    }
    if (cached_has_bits & 0x00000004u) {
      buf_ = from.buf_;
    }
    if (cached_has_bits & 0x00000008u) {
      len_ = from.len_;
    }
    if (cached_has_bits & 0x00000010u) {
      num_tainted_ = from.num_tainted_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x48, %rsp
movq %rsi, %r14
movq %rdi, %rbx
cmpq %rdi, %rsi
jne 0x10f2b
leaq 0x9298(%rip), %rdx      # 0x1a186
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x10b2, %ecx           # imm = 0x10B2
callq 0x6530
leaq 0x9285(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0xf(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x10(%rsp), %rdi
callq 0x65a0
leaq 0x8(%rbx), %r15
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0x10f49
andq $-0x2, %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0x183fa
leaq 0x18(%rbx), %rdi
leaq 0x18(%r14), %rsi
callq 0x64d0
leaq 0x28(%rbx), %rdi
leaq 0x28(%r14), %rsi
callq 0x185c6
movl 0x10(%r14), %ebp
testb $0x1f, %bpl
je 0x1101e
testb $0x1, %bpl
je 0x10fb4
orb $0x1, 0x10(%rbx)
movq 0x40(%rbx), %rdi
testq %rdi, %rdi
jne 0x10f9d
movq (%r15), %rdi
testb $0x1, %dil
jne 0x11029
callq 0x169d6
movq %rax, %rdi
movq %rax, 0x40(%rbx)
movq 0x40(%r14), %rax
testq %rax, %rax
leaq 0x1372d(%rip), %rsi     # 0x246d8
cmovneq %rax, %rsi
callq 0x962a
testb $0x2, %bpl
je 0x10ff3
orb $0x2, 0x10(%rbx)
movq 0x48(%rbx), %rdi
testq %rdi, %rdi
jne 0x10fdc
movq (%r15), %rdi
testb $0x1, %dil
jne 0x11035
callq 0x16d8a
movq %rax, %rdi
movq %rax, 0x48(%rbx)
movq 0x48(%r14), %rax
testq %rax, %rax
leaq 0x1384e(%rip), %rsi     # 0x24838
cmovneq %rax, %rsi
callq 0xe452
testb $0x4, %bpl
je 0x11001
movq 0x50(%r14), %rax
movq %rax, 0x50(%rbx)
testb $0x8, %bpl
je 0x1100e
movl 0x58(%r14), %eax
movl %eax, 0x58(%rbx)
testb $0x10, %bpl
je 0x1101b
movl 0x5c(%r14), %eax
movl %eax, 0x5c(%rbx)
orl %ebp, 0x10(%rbx)
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
andq $-0x2, %rdi
movq (%rdi), %rdi
jmp 0x10f91
andq $-0x2, %rdi
movq (%rdi), %rdi
jmp 0x10fd0
jmp 0x11040
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintQueryHypercall::InternalSwap(panda::TaintQueryHypercall*)
void TaintQueryHypercall::InternalSwap(TaintQueryHypercall* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  data_.InternalSwap(&other->data_);
  taint_query_.InternalSwap(&other->taint_query_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TaintQueryHypercall, num_tainted_)
      + sizeof(TaintQueryHypercall::num_tainted_)
      - PROTOBUF_FIELD_OFFSET(TaintQueryHypercall, call_stack_)>(
          reinterpret_cast<char*>(&call_stack_),
          reinterpret_cast<char*>(&other->call_stack_));
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movq 0x8(%rsi), %rsi
testb $0x1, 0x8(%rdi)
jne 0x1117e
testb $0x1, %sil
jne 0x11184
jmp 0x11195
testb $0x1, %sil
je 0x111e9
andq $-0x2, %rsi
addq $0x8, %rsi
leaq 0x8(%r14), %rdi
callq 0x1845c
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 0x6080
leaq 0x28(%r14), %rdi
leaq 0x28(%rbx), %rsi
callq 0x1872c
movups 0x40(%r14), %xmm0
movups 0x40(%rbx), %xmm1
movups %xmm1, 0x40(%r14)
movups %xmm0, 0x40(%rbx)
movups 0x50(%r14), %xmm0
movups 0x50(%rbx), %xmm1
movups %xmm1, 0x50(%r14)
movups %xmm0, 0x50(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
leaq 0x8(%rbx), %rdi
callq 0x18284
movq %rax, %rsi
jmp 0x1118c
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedBranch::TaintedBranch(panda::TaintedBranch const&)
TaintedBranch::TaintedBranch(const TaintedBranch& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_),
      taint_query_(from.taint_query_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_call_stack()) {
    call_stack_ = new ::panda::CallStack(*from.call_stack_);
  } else {
    call_stack_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:panda.TaintedBranch)
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rsi, %r15
movq %rdi, %r14
movq $0x0, 0x8(%rdi)
leaq 0x125cc(%rip), %rax     # 0x23888
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
leaq 0x18(%rdi), %rbx
addq $0x18, %rsi
xorps %xmm0, %xmm0
movups %xmm0, 0x14(%rdi)
movups %xmm0, 0x20(%rdi)
movq %rbx, %rdi
callq 0x185c6
movq 0x8(%r15), %rsi
testb $0x1, %sil
je 0x112fb
leaq 0x8(%r14), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x183fa
movl 0x10(%r15), %eax
movq 0x30(%r15), %r12
testq %r12, %r12
sete %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x11359
leaq 0x7e2b(%rip), %rdx      # 0x19142
leaq 0x10(%rsp), %rdi
movl $0x3, %esi
movl $0x15fb, %ecx           # imm = 0x15FB
callq 0x6530
leaq 0x92dd(%rip), %rsi      # 0x1a60f
leaq 0x10(%rsp), %rdi
callq 0x6580
leaq 0xf(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x10(%rsp), %rdi
callq 0x65a0
movq 0x30(%r15), %r12
jmp 0x1135d
testb $0x1, %al
je 0x11377
movl $0x28, %edi
callq 0x6360
movq %rax, %r15
movq %rax, %rdi
movq %r12, %rsi
callq 0x9134
jmp 0x1137a
xorl %r15d, %r15d
movq %r15, 0x30(%r14)
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
jmp 0x1138c
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x65a0
jmp 0x113bd
movq %rax, %r14
movl $0x28, %esi
movq %r15, %rdi
callq 0x6370
jmp 0x113bd
movq %rax, %r14
movq %rbx, %rdi
callq 0x185ae
jmp 0x113c5
movq %rax, %r14
movq %rbx, %rdi
callq 0x17702
movq %r14, %rdi
callq 0x65b0
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedBranch::Clear()
void TaintedBranch::Clear() {
// @@protoc_insertion_point(message_clear_start:panda.TaintedBranch)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  taint_query_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    GOOGLE_DCHECK(call_stack_ != nullptr);
    call_stack_->Clear();
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
addq $0x18, %rdi
callq 0x18354
testb $0x1, 0x10(%rbx)
je 0x114ba
movq 0x30(%rbx), %rdi
testq %rdi, %rdi
jne 0x114a4
leaq 0x8d23(%rip), %rdx      # 0x1a186
leaq 0x10(%rsp), %r14
movq %r14, %rdi
movl $0x3, %esi
movl $0x114a, %ecx           # imm = 0x114A
callq 0x6530
leaq 0x8dc6(%rip), %rsi      # 0x1a247
movq %r14, %rdi
callq 0x6580
leaq 0xf(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x10(%rsp), %rdi
callq 0x65a0
movq 0x30(%rbx), %rdi
movl $0x0, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
je 0x114ba
addq $0x8, %rdi
callq 0x18428
movl $0x0, 0x10(%rbx)
testb $0x1, 0x8(%rbx)
je 0x114d3
addq $0x8, %rbx
movq %rbx, %rdi
callq 0x18428
addq $0x48, %rsp
popq %rbx
popq %r14
retq
jmp 0x114dd
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedBranch::ByteSizeLong() const
size_t TaintedBranch::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:panda.TaintedBranch)
  size_t total_size = 0;

  // required .panda.CallStack call_stack = 1;
  if (_internal_has_call_stack()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *call_stack_);
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .panda.TaintQuery taint_query = 2;
  total_size += 1UL * this->_internal_taint_query_size();
  for (const auto& msg : this->taint_query_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  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 %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x40, %rsp
movq %rdi, %rbx
movl 0x10(%rdi), %eax
movq 0x30(%rdi), %rdi
testq %rdi, %rdi
sete %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x118f2
leaq 0x7893(%rip), %rdx      # 0x19142
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x3, %esi
movl $0x15fb, %ecx           # imm = 0x15FB
callq 0x6530
leaq 0x8d42(%rip), %rsi      # 0x1a60f
movq %r14, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq 0x30(%rbx), %rdi
jmp 0x118f6
testb $0x1, %al
je 0x11915
callq 0x9556
movl %eax, %ecx
orl $0x1, %ecx
bsrl %ecx, %ecx
leal (%rcx,%rcx,8), %ecx
addl $0x49, %ecx
shrl $0x6, %ecx
leaq (%rax,%rcx), %r14
incq %r14
jmp 0x11918
xorl %r14d, %r14d
movslq 0x20(%rbx), %r15
addq %r15, %r14
movq 0x28(%rbx), %rax
leaq 0x8(%rax), %r12
testq %rax, %rax
cmoveq %rax, %r12
testq %r15, %r15
je 0x11961
shlq $0x3, %r15
xorl %r13d, %r13d
movq (%r12,%r13), %rdi
callq 0xedc8
addq %rax, %r14
orl $0x1, %eax
bsrl %eax, %eax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
addq %rax, %r14
addq $0x8, %r13
cmpq %r13, %r15
jne 0x1193a
testb $0x1, 0x8(%rbx)
jne 0x1197c
movl %r14d, 0x14(%rbx)
movq %r14, %rax
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
leaq 0x8(%rbx), %rdi
addq $0x14, %rbx
movq %r14, %rsi
movq %rbx, %rdx
callq 0x6050
movq %rax, %r14
jmp 0x1196b
jmp 0x11996
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedBranch::MergeFrom(google::protobuf::Message const&)
void TaintedBranch::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:panda.TaintedBranch)
  GOOGLE_DCHECK_NE(&from, this);
  const TaintedBranch* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TaintedBranch>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:panda.TaintedBranch)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:panda.TaintedBranch)
    MergeFrom(*source);
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rsi, %rbx
movq %rdi, %r14
cmpq %rdi, %rsi
jne 0x11a04
leaq 0x87bf(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x11c3, %ecx           # imm = 0x11C3
callq 0x6530
leaq 0x87ac(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
leaq 0x11e7d(%rip), %rax     # 0x23888
cmpq %rax, (%rbx)
je 0x11a1d
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6330
jmp 0x11a28
movq %r14, %rdi
movq %rbx, %rsi
callq 0x11a4a
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0x11a34
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedBranch::MergeFrom(panda::TaintedBranch const&)
void TaintedBranch::MergeFrom(const TaintedBranch& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:panda.TaintedBranch)
  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;

  taint_query_.MergeFrom(from.taint_query_);
  if (from._internal_has_call_stack()) {
    _internal_mutable_call_stack()->::panda::CallStack::MergeFrom(from._internal_call_stack());
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rsi, %rbx
movq %rdi, %r14
cmpq %rdi, %rsi
jne 0x11aa4
leaq 0x871f(%rip), %rdx      # 0x1a186
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x11d2, %ecx           # imm = 0x11D2
callq 0x6530
leaq 0x870c(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0xf(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x10(%rsp), %rdi
callq 0x65a0
leaq 0x8(%r14), %r15
movq 0x8(%rbx), %rsi
testb $0x1, %sil
je 0x11ac2
andq $-0x2, %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0x183fa
leaq 0x18(%r14), %rdi
leaq 0x18(%rbx), %rsi
callq 0x185c6
movl 0x10(%rbx), %ecx
movq 0x30(%rbx), %rax
testq %rax, %rax
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0x11b2d
leaq 0x7658(%rip), %rdx      # 0x19142
leaq 0x10(%rsp), %r12
movq %r12, %rdi
movl $0x3, %esi
movl $0x15fb, %ecx           # imm = 0x15FB
callq 0x6530
leaq 0x8b07(%rip), %rsi      # 0x1a60f
movq %r12, %rdi
callq 0x6580
leaq 0xf(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x10(%rsp), %rdi
callq 0x65a0
movq 0x30(%rbx), %rax
jmp 0x11b32
testb $0x1, %cl
je 0x11b6c
orb $0x1, 0x10(%r14)
movq 0x30(%r14), %rdi
testq %rdi, %rdi
jne 0x11b59
movq (%r15), %rdi
testb $0x1, %dil
jne 0x11b78
callq 0x169d6
movq %rax, %rdi
movq %rax, 0x30(%r14)
movq 0x30(%rbx), %rax
testq %rax, %rax
leaq 0x12b75(%rip), %rsi     # 0x246d8
cmovneq %rax, %rsi
callq 0x962a
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
andq $-0x2, %rdi
movq (%rdi), %rdi
jmp 0x11b49
jmp 0x11b87
jmp 0x11b87
jmp 0x11b87
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedBranch::InternalSwap(panda::TaintedBranch*)
void TaintedBranch::InternalSwap(TaintedBranch* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  taint_query_.InternalSwap(&other->taint_query_);
  swap(call_stack_, other->call_stack_);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movq 0x8(%rsi), %rsi
testb $0x1, 0x8(%rdi)
jne 0x11c1a
testb $0x1, %sil
jne 0x11c20
jmp 0x11c31
testb $0x1, %sil
je 0x11c64
andq $-0x2, %rsi
addq $0x8, %rsi
leaq 0x8(%r14), %rdi
callq 0x1845c
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 0x1872c
movq 0x30(%r14), %rax
movq 0x30(%rbx), %rcx
movq %rcx, 0x30(%r14)
movq %rax, 0x30(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
leaq 0x8(%rbx), %rdi
callq 0x18284
movq %rax, %rsi
jmp 0x11c28
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedBranchSummary::TaintedBranchSummary(panda::TaintedBranchSummary const&)
TaintedBranchSummary::TaintedBranchSummary(const TaintedBranchSummary& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&asid_, &from.asid_,
    static_cast<size_t>(reinterpret_cast<char*>(&pc_) -
    reinterpret_cast<char*>(&asid_)) + sizeof(pc_));
  // @@protoc_insertion_point(copy_constructor:panda.TaintedBranchSummary)
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movq $0x0, 0x8(%rdi)
leaq 0x11c67(%rip), %rax     # 0x23938
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
movl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0x11cfc
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x183fa
movups 0x18(%r14), %xmm0
movups %xmm0, 0x18(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedBranchSummary::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const
::PROTOBUF_NAMESPACE_ID::uint8* TaintedBranchSummary::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:panda.TaintedBranchSummary)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required uint64 asid = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(1, this->_internal_asid(), target);
  }

  // required uint64 pc = 2;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(2, this->_internal_pc(), target);
  }

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

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movq %rdx, %rbx
movq %rdi, %r14
movl 0x10(%rdi), %ebp
testb $0x1, %bpl
je 0x12056
cmpq %rsi, (%rbx)
jbe 0x120e3
movq 0x18(%r14), %rcx
movb $0x8, (%rsi)
cmpq $0x7f, %rcx
ja 0x12014
movb %cl, 0x1(%rsi)
addq $0x2, %rsi
jmp 0x12056
movl %ecx, %eax
orb $-0x80, %al
movb %al, 0x1(%rsi)
movq %rcx, %rax
shrq $0x7, %rax
cmpq $0x3fff, %rcx           # imm = 0x3FFF
ja 0x12034
movb %al, 0x2(%rsi)
addq $0x3, %rsi
jmp 0x12056
addq $0x3, %rsi
movq %rax, %rcx
movl %ecx, %edx
orb $-0x80, %dl
movb %dl, -0x1(%rsi)
shrq $0x7, %rax
incq %rsi
cmpq $0x3fff, %rcx           # imm = 0x3FFF
ja 0x12038
movb %al, -0x1(%rsi)
testb $0x2, %bpl
je 0x120bd
cmpq %rsi, (%rbx)
jbe 0x120f3
movq 0x20(%r14), %rcx
movb $0x10, (%rsi)
cmpq $0x7f, %rcx
ja 0x1207b
movb %cl, 0x1(%rsi)
addq $0x2, %rsi
jmp 0x120bd
movl %ecx, %eax
orb $-0x80, %al
movb %al, 0x1(%rsi)
movq %rcx, %rax
shrq $0x7, %rax
cmpq $0x3fff, %rcx           # imm = 0x3FFF
ja 0x1209b
movb %al, 0x2(%rsi)
addq $0x3, %rsi
jmp 0x120bd
addq $0x3, %rsi
movq %rax, %rcx
movl %ecx, %edx
orb $-0x80, %dl
movb %dl, -0x1(%rsi)
shrq $0x7, %rax
incq %rsi
cmpq $0x3fff, %rcx           # imm = 0x3FFF
ja 0x1209f
movb %al, -0x1(%rsi)
movq 0x8(%r14), %rdi
testb $0x1, %dil
jne 0x120cf
movq %rsi, %rax
popq %rbx
popq %r14
popq %rbp
retq
andq $-0x2, %rdi
addq $0x8, %rdi
movq %rbx, %rdx
popq %rbx
popq %r14
popq %rbp
jmp 0x61a0
movq %rbx, %rdi
callq 0x6520
movq %rax, %rsi
jmp 0x11ffe
movq %rbx, %rdi
callq 0x6520
movq %rax, %rsi
jmp 0x12065
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedBranchSummary::ByteSizeLong() const
size_t TaintedBranchSummary::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:panda.TaintedBranchSummary)
  size_t total_size = 0;

  if (((_has_bits_[0] & 0x00000003) ^ 0x00000003) == 0) {  // All required fields are present.
    // required uint64 asid = 1;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
        this->_internal_asid());

    // required uint64 pc = 2;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
        this->_internal_pc());

  } else {
    total_size += RequiredFieldsByteSizeFallback();
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  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 %rbx
movq %rdi, %rbx
movl 0x10(%rdi), %eax
notl %eax
testb $0x3, %al
jne 0x1218a
movq 0x18(%rbx), %rax
movq 0x20(%rbx), %rcx
orq $0x1, %rax
bsrq %rax, %rax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
orq $0x1, %rcx
bsrq %rcx, %rcx
leal (%rcx,%rcx,8), %ecx
addl $0x49, %ecx
shrl $0x6, %ecx
addq %rcx, %rax
addq $0x2, %rax
jmp 0x12192
movq %rbx, %rdi
callq 0x12104
testb $0x1, 0x8(%rbx)
jne 0x1219d
movl %eax, 0x14(%rbx)
popq %rbx
retq
leaq 0x8(%rbx), %rdi
addq $0x14, %rbx
movq %rax, %rsi
movq %rbx, %rdx
popq %rbx
jmp 0x6050
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedBranchSummary::MergeFrom(google::protobuf::Message const&)
void TaintedBranchSummary::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:panda.TaintedBranchSummary)
  GOOGLE_DCHECK_NE(&from, this);
  const TaintedBranchSummary* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TaintedBranchSummary>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:panda.TaintedBranchSummary)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:panda.TaintedBranchSummary)
    MergeFrom(*source);
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rsi, %rbx
movq %rdi, %r14
cmpq %rdi, %rsi
jne 0x1220a
leaq 0x7fb9(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x12cf, %ecx           # imm = 0x12CF
callq 0x6530
leaq 0x7fa6(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
leaq 0x11727(%rip), %rax     # 0x23938
cmpq %rax, (%rbx)
je 0x12223
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6330
jmp 0x1222e
movq %r14, %rdi
movq %rbx, %rsi
callq 0x12250
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0x1223a
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedBranchSummary::MergeFrom(panda::TaintedBranchSummary const&)
void TaintedBranchSummary::MergeFrom(const TaintedBranchSummary& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:panda.TaintedBranchSummary)
  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 & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      asid_ = from.asid_;
    }
    if (cached_has_bits & 0x00000002u) {
      pc_ = from.pc_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rsi, %r14
movq %rdi, %rbx
cmpq %rdi, %rsi
jne 0x122a8
leaq 0x7f1b(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x12de, %ecx           # imm = 0x12DE
callq 0x6530
leaq 0x7f08(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0x122c3
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x183fa
movl 0x10(%r14), %eax
testb $0x3, %al
je 0x122e6
testb $0x1, %al
je 0x122d7
movq 0x18(%r14), %rcx
movq %rcx, 0x18(%rbx)
testb $0x2, %al
je 0x122e3
movq 0x20(%r14), %rcx
movq %rcx, 0x20(%rbx)
orl %eax, 0x10(%rbx)
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0x122f2
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedBranchSummary::InternalSwap(panda::TaintedBranchSummary*)
void TaintedBranchSummary::InternalSwap(TaintedBranchSummary* 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(TaintedBranchSummary, pc_)
      + sizeof(TaintedBranchSummary::pc_)
      - PROTOBUF_FIELD_OFFSET(TaintedBranchSummary, asid_)>(
          reinterpret_cast<char*>(&asid_),
          reinterpret_cast<char*>(&other->asid_));
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movq 0x8(%rsi), %rsi
testb $0x1, 0x8(%rdi)
jne 0x12380
testb $0x1, %sil
jne 0x12386
jmp 0x12397
testb $0x1, %sil
je 0x123bf
andq $-0x2, %rsi
addq $0x8, %rsi
leaq 0x8(%r14), %rdi
callq 0x1845c
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
retq
leaq 0x8(%rbx), %rdi
callq 0x18284
movq %rax, %rsi
jmp 0x1238e
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedInstr::TaintedInstr(panda::TaintedInstr const&)
TaintedInstr::TaintedInstr(const TaintedInstr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_),
      taint_query_(from.taint_query_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_call_stack()) {
    call_stack_ = new ::panda::CallStack(*from.call_stack_);
  } else {
    call_stack_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:panda.TaintedInstr)
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rsi, %r15
movq %rdi, %r14
movq $0x0, 0x8(%rdi)
leaq 0x11556(%rip), %rax     # 0x239e8
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
leaq 0x18(%rdi), %rbx
addq $0x18, %rsi
xorps %xmm0, %xmm0
movups %xmm0, 0x14(%rdi)
movups %xmm0, 0x20(%rdi)
movq %rbx, %rdi
callq 0x185c6
movq 0x8(%r15), %rsi
testb $0x1, %sil
je 0x124d1
leaq 0x8(%r14), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x183fa
movl 0x10(%r15), %eax
movq 0x30(%r15), %r12
testq %r12, %r12
sete %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x1252f
leaq 0x6c55(%rip), %rdx      # 0x19142
leaq 0x10(%rsp), %rdi
movl $0x3, %esi
movl $0x16b3, %ecx           # imm = 0x16B3
callq 0x6530
leaq 0x8107(%rip), %rsi      # 0x1a60f
leaq 0x10(%rsp), %rdi
callq 0x6580
leaq 0xf(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x10(%rsp), %rdi
callq 0x65a0
movq 0x30(%r15), %r12
jmp 0x12533
testb $0x1, %al
je 0x1254d
movl $0x28, %edi
callq 0x6360
movq %rax, %r15
movq %rax, %rdi
movq %r12, %rsi
callq 0x9134
jmp 0x12550
xorl %r15d, %r15d
movq %r15, 0x30(%r14)
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
jmp 0x12562
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x65a0
jmp 0x12593
movq %rax, %r14
movl $0x28, %esi
movq %r15, %rdi
callq 0x6370
jmp 0x12593
movq %rax, %r14
movq %rbx, %rdi
callq 0x185ae
jmp 0x1259b
movq %rax, %r14
movq %rbx, %rdi
callq 0x17702
movq %r14, %rdi
callq 0x65b0
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedInstr::Clear()
void TaintedInstr::Clear() {
// @@protoc_insertion_point(message_clear_start:panda.TaintedInstr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  taint_query_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    GOOGLE_DCHECK(call_stack_ != nullptr);
    call_stack_->Clear();
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
addq $0x18, %rdi
callq 0x18354
testb $0x1, 0x10(%rbx)
je 0x12690
movq 0x30(%rbx), %rdi
testq %rdi, %rdi
jne 0x1267a
leaq 0x7b4d(%rip), %rdx      # 0x1a186
leaq 0x10(%rsp), %r14
movq %r14, %rdi
movl $0x3, %esi
movl $0x1365, %ecx           # imm = 0x1365
callq 0x6530
leaq 0x7bf0(%rip), %rsi      # 0x1a247
movq %r14, %rdi
callq 0x6580
leaq 0xf(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x10(%rsp), %rdi
callq 0x65a0
movq 0x30(%rbx), %rdi
movl $0x0, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
je 0x12690
addq $0x8, %rdi
callq 0x18428
movl $0x0, 0x10(%rbx)
testb $0x1, 0x8(%rbx)
je 0x126a9
addq $0x8, %rbx
movq %rbx, %rdi
callq 0x18428
addq $0x48, %rsp
popq %rbx
popq %r14
retq
jmp 0x126b3
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedInstr::MergeFrom(google::protobuf::Message const&)
void TaintedInstr::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:panda.TaintedInstr)
  GOOGLE_DCHECK_NE(&from, this);
  const TaintedInstr* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TaintedInstr>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:panda.TaintedInstr)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:panda.TaintedInstr)
    MergeFrom(*source);
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rsi, %rbx
movq %rdi, %r14
cmpq %rdi, %rsi
jne 0x12bda
leaq 0x75e9(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x13de, %ecx           # imm = 0x13DE
callq 0x6530
leaq 0x75d6(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
leaq 0x10e07(%rip), %rax     # 0x239e8
cmpq %rax, (%rbx)
je 0x12bf3
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6330
jmp 0x12bfe
movq %r14, %rdi
movq %rbx, %rsi
callq 0x12c20
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0x12c0a
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedInstr::MergeFrom(panda::TaintedInstr const&)
void TaintedInstr::MergeFrom(const TaintedInstr& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:panda.TaintedInstr)
  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;

  taint_query_.MergeFrom(from.taint_query_);
  if (from._internal_has_call_stack()) {
    _internal_mutable_call_stack()->::panda::CallStack::MergeFrom(from._internal_call_stack());
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rsi, %rbx
movq %rdi, %r14
cmpq %rdi, %rsi
jne 0x12c7a
leaq 0x7549(%rip), %rdx      # 0x1a186
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x13ed, %ecx           # imm = 0x13ED
callq 0x6530
leaq 0x7536(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0xf(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x10(%rsp), %rdi
callq 0x65a0
leaq 0x8(%r14), %r15
movq 0x8(%rbx), %rsi
testb $0x1, %sil
je 0x12c98
andq $-0x2, %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0x183fa
leaq 0x18(%r14), %rdi
leaq 0x18(%rbx), %rsi
callq 0x185c6
movl 0x10(%rbx), %ecx
movq 0x30(%rbx), %rax
testq %rax, %rax
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0x12d03
leaq 0x6482(%rip), %rdx      # 0x19142
leaq 0x10(%rsp), %r12
movq %r12, %rdi
movl $0x3, %esi
movl $0x16b3, %ecx           # imm = 0x16B3
callq 0x6530
leaq 0x7931(%rip), %rsi      # 0x1a60f
movq %r12, %rdi
callq 0x6580
leaq 0xf(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x10(%rsp), %rdi
callq 0x65a0
movq 0x30(%rbx), %rax
jmp 0x12d08
testb $0x1, %cl
je 0x12d42
orb $0x1, 0x10(%r14)
movq 0x30(%r14), %rdi
testq %rdi, %rdi
jne 0x12d2f
movq (%r15), %rdi
testb $0x1, %dil
jne 0x12d4e
callq 0x169d6
movq %rax, %rdi
movq %rax, 0x30(%r14)
movq 0x30(%rbx), %rax
testq %rax, %rax
leaq 0x1199f(%rip), %rsi     # 0x246d8
cmovneq %rax, %rsi
callq 0x962a
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
andq $-0x2, %rdi
movq (%rdi), %rdi
jmp 0x12d1f
jmp 0x12d5d
jmp 0x12d5d
jmp 0x12d5d
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedInstr::InternalSwap(panda::TaintedInstr*)
void TaintedInstr::InternalSwap(TaintedInstr* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  taint_query_.InternalSwap(&other->taint_query_);
  swap(call_stack_, other->call_stack_);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movq 0x8(%rsi), %rsi
testb $0x1, 0x8(%rdi)
jne 0x12df0
testb $0x1, %sil
jne 0x12df6
jmp 0x12e07
testb $0x1, %sil
je 0x12e3a
andq $-0x2, %rsi
addq $0x8, %rsi
leaq 0x8(%r14), %rdi
callq 0x1845c
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 0x1872c
movq 0x30(%r14), %rax
movq 0x30(%rbx), %rcx
movq %rcx, 0x30(%r14)
movq %rax, 0x30(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
leaq 0x8(%rbx), %rdi
callq 0x18284
movq %rax, %rsi
jmp 0x12dfe
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedInstrSummary::TaintedInstrSummary(panda::TaintedInstrSummary const&)
TaintedInstrSummary::TaintedInstrSummary(const TaintedInstrSummary& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&asid_, &from.asid_,
    static_cast<size_t>(reinterpret_cast<char*>(&pc_) -
    reinterpret_cast<char*>(&asid_)) + sizeof(pc_));
  // @@protoc_insertion_point(copy_constructor:panda.TaintedInstrSummary)
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movq $0x0, 0x8(%rdi)
leaq 0x10bf1(%rip), %rax     # 0x23a98
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
movl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0x12ed2
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x183fa
movups 0x18(%r14), %xmm0
movups %xmm0, 0x18(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedInstrSummary::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const
::PROTOBUF_NAMESPACE_ID::uint8* TaintedInstrSummary::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:panda.TaintedInstrSummary)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required uint64 asid = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(1, this->_internal_asid(), target);
  }

  // required uint64 pc = 2;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(2, this->_internal_pc(), target);
  }

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

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movq %rdx, %rbx
movq %rdi, %r14
movl 0x10(%rdi), %ebp
testb $0x1, %bpl
je 0x1322c
cmpq %rsi, (%rbx)
jbe 0x132b9
movq 0x18(%r14), %rcx
movb $0x8, (%rsi)
cmpq $0x7f, %rcx
ja 0x131ea
movb %cl, 0x1(%rsi)
addq $0x2, %rsi
jmp 0x1322c
movl %ecx, %eax
orb $-0x80, %al
movb %al, 0x1(%rsi)
movq %rcx, %rax
shrq $0x7, %rax
cmpq $0x3fff, %rcx           # imm = 0x3FFF
ja 0x1320a
movb %al, 0x2(%rsi)
addq $0x3, %rsi
jmp 0x1322c
addq $0x3, %rsi
movq %rax, %rcx
movl %ecx, %edx
orb $-0x80, %dl
movb %dl, -0x1(%rsi)
shrq $0x7, %rax
incq %rsi
cmpq $0x3fff, %rcx           # imm = 0x3FFF
ja 0x1320e
movb %al, -0x1(%rsi)
testb $0x2, %bpl
je 0x13293
cmpq %rsi, (%rbx)
jbe 0x132c9
movq 0x20(%r14), %rcx
movb $0x10, (%rsi)
cmpq $0x7f, %rcx
ja 0x13251
movb %cl, 0x1(%rsi)
addq $0x2, %rsi
jmp 0x13293
movl %ecx, %eax
orb $-0x80, %al
movb %al, 0x1(%rsi)
movq %rcx, %rax
shrq $0x7, %rax
cmpq $0x3fff, %rcx           # imm = 0x3FFF
ja 0x13271
movb %al, 0x2(%rsi)
addq $0x3, %rsi
jmp 0x13293
addq $0x3, %rsi
movq %rax, %rcx
movl %ecx, %edx
orb $-0x80, %dl
movb %dl, -0x1(%rsi)
shrq $0x7, %rax
incq %rsi
cmpq $0x3fff, %rcx           # imm = 0x3FFF
ja 0x13275
movb %al, -0x1(%rsi)
movq 0x8(%r14), %rdi
testb $0x1, %dil
jne 0x132a5
movq %rsi, %rax
popq %rbx
popq %r14
popq %rbp
retq
andq $-0x2, %rdi
addq $0x8, %rdi
movq %rbx, %rdx
popq %rbx
popq %r14
popq %rbp
jmp 0x61a0
movq %rbx, %rdi
callq 0x6520
movq %rax, %rsi
jmp 0x131d4
movq %rbx, %rdi
callq 0x6520
movq %rax, %rsi
jmp 0x1323b
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedInstrSummary::MergeFrom(google::protobuf::Message const&)
void TaintedInstrSummary::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:panda.TaintedInstrSummary)
  GOOGLE_DCHECK_NE(&from, this);
  const TaintedInstrSummary* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TaintedInstrSummary>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:panda.TaintedInstrSummary)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:panda.TaintedInstrSummary)
    MergeFrom(*source);
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rsi, %rbx
movq %rdi, %r14
cmpq %rdi, %rsi
jne 0x133e0
leaq 0x6de3(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x14ea, %ecx           # imm = 0x14EA
callq 0x6530
leaq 0x6dd0(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
leaq 0x106b1(%rip), %rax     # 0x23a98
cmpq %rax, (%rbx)
je 0x133f9
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6330
jmp 0x13404
movq %r14, %rdi
movq %rbx, %rsi
callq 0x13426
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0x13410
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
nop