LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::AttackPointPri::InternalSwap(panda::AttackPointPri*)
void AttackPointPri::InternalSwap(AttackPointPri* 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(AttackPointPri, info_)
      + sizeof(AttackPointPri::info_)
      - PROTOBUF_FIELD_OFFSET(AttackPointPri, 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 0xbf5c
testb $0x1, %sil
jne 0xbf62
jmp 0xbf73
testb $0x1, %sil
je 0xbfa9
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 0xbf6a
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintQueryPri::Clear()
void TaintQueryPri::Clear() {
// @@protoc_insertion_point(message_clear_start:panda.TaintQueryPri)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  data_.Clear();
  taint_query_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(call_stack_ != nullptr);
      call_stack_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(src_info_ != nullptr);
      src_info_->Clear();
    }
  }
  if (cached_has_bits & 0x0000001cu) {
    ::memset(&buf_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&num_tainted_) -
        reinterpret_cast<char*>(&buf_)) + sizeof(num_tainted_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rdi, %rbx
movl $0x0, 0x18(%rdi)
addq $0x28, %rdi
callq 0x18354
movl 0x10(%rbx), %ebp
testb $0x3, %bpl
je 0xc3df
testb $0x1, %bpl
je 0xc383
movq 0x40(%rbx), %rdi
testq %rdi, %rdi
jne 0xc36d
leaq 0xde5a(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x3, %esi
movl $0x882, %ecx            # imm = 0x882
callq 0x6530
leaq 0xdefd(%rip), %rsi      # 0x1a247
movq %r14, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq 0x40(%rbx), %rdi
movl $0x0, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
je 0xc383
addq $0x8, %rdi
callq 0x18428
testb $0x2, %bpl
je 0xc3df
movq 0x48(%rbx), %rdi
testq %rdi, %rdi
jne 0xc3da
leaq 0xdded(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x3, %esi
movl $0x886, %ecx            # imm = 0x886
callq 0x6530
leaq 0xdeb7(%rip), %rsi      # 0x1a26e
movq %r14, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq 0x48(%rbx), %rdi
callq 0xa792
testb $0x1c, %bpl
je 0xc3ec
xorps %xmm0, %xmm0
movups %xmm0, 0x50(%rbx)
movl $0x0, 0x10(%rbx)
testb $0x1, 0x8(%rbx)
je 0xc405
addq $0x8, %rbx
movq %rbx, %rdi
callq 0x18428
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0xc414
jmp 0xc414
jmp 0xc414
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::TaintQueryPri::MergeFrom(google::protobuf::Message const&)
void TaintQueryPri::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:panda.TaintQueryPri)
  GOOGLE_DCHECK_NE(&from, this);
  const TaintQueryPri* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TaintQueryPri>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:panda.TaintQueryPri)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:panda.TaintQueryPri)
    MergeFrom(*source);
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rsi, %rbx
movq %rdi, %r14
cmpq %rdi, %rsi
jne 0xcff8
leaq 0xd1cb(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x99c, %ecx            # imm = 0x99C
callq 0x6530
leaq 0xd1b8(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
leaq 0x16469(%rip), %rax     # 0x23468
cmpq %rax, (%rbx)
je 0xd011
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6330
jmp 0xd01c
movq %r14, %rdi
movq %rbx, %rsi
callq 0xd03e
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xd028
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::TaintQueryPri::MergeFrom(panda::TaintQueryPri const&)
void TaintQueryPri::MergeFrom(const TaintQueryPri& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:panda.TaintQueryPri)
  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::SrcInfoPri::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 0xd097
leaq 0xd12c(%rip), %rdx      # 0x1a186
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x9ab, %ecx            # imm = 0x9AB
callq 0x6530
leaq 0xd119(%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 0xd0b5
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 0xd18a
testb $0x1, %bpl
je 0xd120
orb $0x1, 0x10(%rbx)
movq 0x40(%rbx), %rdi
testq %rdi, %rdi
jne 0xd109
movq (%r15), %rdi
testb $0x1, %dil
jne 0xd195
callq 0x169d6
movq %rax, %rdi
movq %rax, 0x40(%rbx)
movq 0x40(%r14), %rax
testq %rax, %rax
leaq 0x175c1(%rip), %rsi     # 0x246d8
cmovneq %rax, %rsi
callq 0x962a
testb $0x2, %bpl
je 0xd15f
orb $0x2, 0x10(%rbx)
movq 0x48(%rbx), %rdi
testq %rdi, %rdi
jne 0xd148
movq (%r15), %rdi
testb $0x1, %dil
jne 0xd1a1
callq 0x16ad2
movq %rax, %rdi
movq %rax, 0x48(%rbx)
movq 0x48(%r14), %rax
testq %rax, %rax
leaq 0x175ea(%rip), %rsi     # 0x24740
cmovneq %rax, %rsi
callq 0xafa4
testb $0x4, %bpl
je 0xd16d
movq 0x50(%r14), %rax
movq %rax, 0x50(%rbx)
testb $0x8, %bpl
je 0xd17a
movl 0x58(%r14), %eax
movl %eax, 0x58(%rbx)
testb $0x10, %bpl
je 0xd187
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 0xd0fd
andq $-0x2, %rdi
movq (%rdi), %rdi
jmp 0xd13c
jmp 0xd1ac
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::TaintQueryPri::InternalSwap(panda::TaintQueryPri*)
void TaintQueryPri::InternalSwap(TaintQueryPri* 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(TaintQueryPri, num_tainted_)
      + sizeof(TaintQueryPri::num_tainted_)
      - PROTOBUF_FIELD_OFFSET(TaintQueryPri, 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 0xd2ea
testb $0x1, %sil
jne 0xd2f0
jmp 0xd301
testb $0x1, %sil
je 0xd355
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 0xd2f8
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintQueryUniqueLabelSet::ByteSizeLong() const
size_t TaintQueryUniqueLabelSet::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:panda.TaintQueryUniqueLabelSet)
  size_t total_size = 0;

  // required uint64 ptr = 1;
  if (_internal_has_ptr()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
        this->_internal_ptr());
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated uint32 label = 2;
  {
    size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      UInt32Size(this->label_);
    total_size += 1 *
                  ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_label_size());
    total_size += data_size;
  }

  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 %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
testb $0x1, 0x10(%rdi)
jne 0xd8ea
xorl %r14d, %r14d
jmp 0xd905
movq 0x28(%rbx), %rax
orq $0x1, %rax
bsrq %rax, %rax
leal (%rax,%rax,8), %r14d
addl $0x49, %r14d
shrl $0x6, %r14d
incq %r14
leaq 0x18(%rbx), %rdi
callq 0x60d0
movl 0x18(%rbx), %ecx
addq %r14, %rax
addq %rcx, %rax
testb $0x1, 0x8(%rbx)
jne 0xd928
movl %eax, 0x14(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
leaq 0x8(%rbx), %rdi
addq $0x14, %rbx
movq %rax, %rsi
movq %rbx, %rdx
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x6050
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintQueryUniqueLabelSet::MergeFrom(google::protobuf::Message const&)
void TaintQueryUniqueLabelSet::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:panda.TaintQueryUniqueLabelSet)
  GOOGLE_DCHECK_NE(&from, this);
  const TaintQueryUniqueLabelSet* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TaintQueryUniqueLabelSet>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:panda.TaintQueryUniqueLabelSet)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:panda.TaintQueryUniqueLabelSet)
    MergeFrom(*source);
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rsi, %rbx
movq %rdi, %r14
cmpq %rdi, %rsi
jne 0xd99a
leaq 0xc829(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0xaad, %ecx            # imm = 0xAAD
callq 0x6530
leaq 0xc816(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
leaq 0x15b77(%rip), %rax     # 0x23518
cmpq %rax, (%rbx)
je 0xd9b3
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6330
jmp 0xd9be
movq %r14, %rdi
movq %rbx, %rsi
callq 0xd9e0
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xd9ca
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::TaintQueryUniqueLabelSet::MergeFrom(panda::TaintQueryUniqueLabelSet const&)
void TaintQueryUniqueLabelSet::MergeFrom(const TaintQueryUniqueLabelSet& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:panda.TaintQueryUniqueLabelSet)
  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;

  label_.MergeFrom(from.label_);
  if (from._internal_has_ptr()) {
    _internal_set_ptr(from._internal_ptr());
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rsi, %r14
movq %rdi, %rbx
cmpq %rdi, %rsi
jne 0xda38
leaq 0xc78b(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0xabc, %ecx            # imm = 0xABC
callq 0x6530
leaq 0xc778(%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 0xda53
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x183fa
leaq 0x18(%rbx), %rdi
leaq 0x18(%r14), %rsi
callq 0x64d0
testb $0x1, 0x10(%r14)
je 0xda73
movq 0x28(%r14), %rax
orl $0x1, 0x10(%rbx)
movq %rax, 0x28(%rbx)
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xda7f
movq %rax, %rbx
leaq 0x8(%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::TaintQueryUniqueLabelSet::CopyFrom(google::protobuf::Message const&)
void TaintQueryUniqueLabelSet::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:panda.TaintQueryUniqueLabelSet)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

// Assembly:
cmpq %rdi, %rsi
je 0xdad4
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
xorl %eax, %eax
movl %eax, 0x18(%rdi)
movq $0x0, 0x28(%rdi)
movl %eax, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
je 0xdac2
leaq 0x8(%r14), %rdi
callq 0x18428
movq %r14, %rdi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xd942
retq
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintQueryUniqueLabelSet::CopyFrom(panda::TaintQueryUniqueLabelSet const&)
void TaintQueryUniqueLabelSet::CopyFrom(const TaintQueryUniqueLabelSet& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:panda.TaintQueryUniqueLabelSet)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

// Assembly:
cmpq %rdi, %rsi
je 0xdb16
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
xorl %eax, %eax
movl %eax, 0x18(%rdi)
movq $0x0, 0x28(%rdi)
movl %eax, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
je 0xdb04
leaq 0x8(%r14), %rdi
callq 0x18428
movq %r14, %rdi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xd9e0
retq
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintQueryUniqueLabelSet::InternalSwap(panda::TaintQueryUniqueLabelSet*)
void TaintQueryUniqueLabelSet::InternalSwap(TaintQueryUniqueLabelSet* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  label_.InternalSwap(&other->label_);
  swap(ptr_, other->ptr_);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movq 0x8(%rsi), %rsi
testb $0x1, 0x8(%rdi)
jne 0xdb3a
testb $0x1, %sil
jne 0xdb40
jmp 0xdb51
testb $0x1, %sil
je 0xdb84
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
movq 0x28(%r14), %rax
movq 0x28(%rbx), %rcx
movq %rcx, 0x28(%r14)
movq %rax, 0x28(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
leaq 0x8(%rbx), %rdi
callq 0x18284
movq %rax, %rsi
jmp 0xdb48
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::SrcInfo::SrcInfo(panda::SrcInfo const&)
SrcInfo::SrcInfo(const SrcInfo& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&filename_, &from.filename_,
    static_cast<size_t>(reinterpret_cast<char*>(&ast_loc_id_) -
    reinterpret_cast<char*>(&filename_)) + sizeof(ast_loc_id_));
  // @@protoc_insertion_point(copy_constructor:panda.SrcInfo)
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movq $0x0, 0x8(%rdi)
leaq 0x159e1(%rip), %rax     # 0x235c8
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
movl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0xdc12
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x183fa
movl 0x28(%r14), %eax
movl %eax, 0x28(%rbx)
movups 0x18(%r14), %xmm0
movups %xmm0, 0x18(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::SrcInfo::ByteSizeLong() const
size_t SrcInfo::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:panda.SrcInfo)
  size_t total_size = 0;

  if (((_has_bits_[0] & 0x00000007) ^ 0x00000007) == 0) {  // All required fields are present.
    // required uint32 filename = 1;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_filename());

    // required uint32 linenum = 2;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_linenum());

    // required uint32 astnodename = 3;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_astnodename());

  } 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;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000018u) {
    // optional uint32 insertionpoint = 4;
    if (cached_has_bits & 0x00000008u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_insertionpoint());
    }

    // optional uint32 ast_loc_id = 5;
    if (cached_has_bits & 0x00000010u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_ast_loc_id());
    }

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

// Assembly:
pushq %rbp
pushq %rbx
pushq %rax
movq %rdi, %rbx
movl 0x10(%rdi), %ebp
movl %ebp, %eax
notl %eax
testb $0x7, %al
jne 0xe340
movl 0x18(%rbx), %eax
movl 0x1c(%rbx), %ecx
orl $0x1, %eax
bsrl %eax, %eax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
orl $0x1, %ecx
bsrl %ecx, %ecx
leal (%rcx,%rcx,8), %ecx
addl $0x49, %ecx
shrl $0x6, %ecx
addl %eax, %ecx
movl 0x20(%rbx), %eax
orl $0x1, %eax
bsrl %eax, %eax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
addl %ecx, %eax
addl $0x3, %eax
jmp 0xe348
movq %rbx, %rdi
callq 0xe294
testb $0x18, %bpl
je 0xe38a
testb $0x8, %bpl
je 0xe36c
movl 0x24(%rbx), %ecx
orl $0x1, %ecx
bsrl %ecx, %ecx
leal (%rcx,%rcx,8), %ecx
addl $0x49, %ecx
shrl $0x6, %ecx
addq %rcx, %rax
incq %rax
testb $0x10, %bpl
je 0xe38a
movl 0x28(%rbx), %ecx
orl $0x1, %ecx
bsrl %ecx, %ecx
leal (%rcx,%rcx,8), %ecx
addl $0x49, %ecx
shrl $0x6, %ecx
addq %rcx, %rax
incq %rax
testb $0x1, 0x8(%rbx)
jne 0xe39a
movl %eax, 0x14(%rbx)
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
leaq 0x8(%rbx), %rdi
addq $0x14, %rbx
movq %rax, %rsi
movq %rbx, %rdx
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x6050
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::SrcInfo::MergeFrom(google::protobuf::Message const&)
void SrcInfo::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:panda.SrcInfo)
  GOOGLE_DCHECK_NE(&from, this);
  const SrcInfo* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<SrcInfo>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:panda.SrcInfo)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:panda.SrcInfo)
    MergeFrom(*source);
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rsi, %rbx
movq %rdi, %r14
cmpq %rdi, %rsi
jne 0xe40c
leaq 0xbdb7(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0xc08, %ecx            # imm = 0xC08
callq 0x6530
leaq 0xbda4(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
leaq 0x151b5(%rip), %rax     # 0x235c8
cmpq %rax, (%rbx)
je 0xe425
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6330
jmp 0xe430
movq %r14, %rdi
movq %rbx, %rsi
callq 0xe452
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xe43c
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::SrcInfo::MergeFrom(panda::SrcInfo const&)
void SrcInfo::MergeFrom(const SrcInfo& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:panda.SrcInfo)
  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 & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      filename_ = from.filename_;
    }
    if (cached_has_bits & 0x00000002u) {
      linenum_ = from.linenum_;
    }
    if (cached_has_bits & 0x00000004u) {
      astnodename_ = from.astnodename_;
    }
    if (cached_has_bits & 0x00000008u) {
      insertionpoint_ = from.insertionpoint_;
    }
    if (cached_has_bits & 0x00000010u) {
      ast_loc_id_ = from.ast_loc_id_;
    }
    _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 0xe4aa
leaq 0xbd19(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0xc17, %ecx            # imm = 0xC17
callq 0x6530
leaq 0xbd06(%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 0xe4c5
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x183fa
movl 0x10(%r14), %eax
testb $0x1f, %al
je 0xe507
testb $0x1, %al
je 0xe4d8
movl 0x18(%r14), %ecx
movl %ecx, 0x18(%rbx)
testb $0x2, %al
je 0xe4e3
movl 0x1c(%r14), %ecx
movl %ecx, 0x1c(%rbx)
testb $0x4, %al
je 0xe4ee
movl 0x20(%r14), %ecx
movl %ecx, 0x20(%rbx)
testb $0x8, %al
je 0xe4f9
movl 0x24(%r14), %ecx
movl %ecx, 0x24(%rbx)
testb $0x10, %al
je 0xe504
movl 0x28(%r14), %ecx
movl %ecx, 0x28(%rbx)
orl %eax, 0x10(%rbx)
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xe513
movq %rax, %rbx
leaq 0x8(%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::SrcInfo::InternalSwap(panda::SrcInfo*)
void SrcInfo::InternalSwap(SrcInfo* 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(SrcInfo, ast_loc_id_)
      + sizeof(SrcInfo::ast_loc_id_)
      - PROTOBUF_FIELD_OFFSET(SrcInfo, filename_)>(
          reinterpret_cast<char*>(&filename_),
          reinterpret_cast<char*>(&other->filename_));
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movq 0x8(%rsi), %rsi
testb $0x1, 0x8(%rdi)
jne 0xe5a0
testb $0x1, %sil
jne 0xe5a6
jmp 0xe5b7
testb $0x1, %sil
je 0xe5ed
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 0xe5ae
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintQuery::TaintQuery(panda::TaintQuery const&)
TaintQuery::TaintQuery(const TaintQuery& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_unique_label_set()) {
    unique_label_set_ = new ::panda::TaintQueryUniqueLabelSet(*from.unique_label_set_);
  } else {
    unique_label_set_ = nullptr;
  }
  ::memcpy(&ptr_, &from.ptr_,
    static_cast<size_t>(reinterpret_cast<char*>(&offset_) -
    reinterpret_cast<char*>(&ptr_)) + sizeof(offset_));
  // @@protoc_insertion_point(copy_constructor:panda.TaintQuery)
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movq $0x0, 0x8(%rdi)
leaq 0x14fe2(%rip), %rax     # 0x23678
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
movl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0xe6c1
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x183fa
movl 0x10(%r14), %eax
movq 0x18(%r14), %r15
testq %r15, %r15
sete %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0xe720
leaq 0xaa65(%rip), %rdx      # 0x19142
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x1394, %ecx           # imm = 0x1394
callq 0x6530
leaq 0xaa87(%rip), %rsi      # 0x19182
movq %r15, %rdi
callq 0x6580
leaq 0xf(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x10(%rsp), %rdi
callq 0x65a0
movq 0x18(%r14), %r15
jmp 0xe724
testb $0x1, %al
je 0xe73e
movl $0x30, %edi
callq 0x6360
movq %rax, %r12
movq %rax, %rdi
movq %r15, %rsi
callq 0xd3a8
jmp 0xe741
xorl %r12d, %r12d
movq %r12, 0x18(%rbx)
movups 0x20(%r14), %xmm0
movups %xmm0, 0x20(%rbx)
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
jmp 0xe75c
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x65a0
jmp 0xe77b
movq %rax, %rbx
movl $0x30, %esi
movq %r12, %rdi
callq 0x6370
movq %rbx, %rdi
callq 0x65b0
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintQuery::Clear()
void TaintQuery::Clear() {
// @@protoc_insertion_point(message_clear_start:panda.TaintQuery)
  ::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 & 0x00000001u) {
    GOOGLE_DCHECK(unique_label_set_ != nullptr);
    unique_label_set_->Clear();
  }
  if (cached_has_bits & 0x0000000eu) {
    ::memset(&ptr_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&offset_) -
        reinterpret_cast<char*>(&ptr_)) + sizeof(offset_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rdi, %rbx
movl 0x10(%rdi), %ebp
testb $0x1, %bpl
je 0xe86c
movq 0x18(%rbx), %rdi
testq %rdi, %rdi
jne 0xe84d
leaq 0xb97a(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x3, %esi
movl $0xcb2, %ecx            # imm = 0xCB2
callq 0x6530
leaq 0xba69(%rip), %rsi      # 0x1a293
movq %r14, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq 0x18(%rbx), %rdi
xorl %eax, %eax
movl %eax, 0x18(%rdi)
movq $0x0, 0x28(%rdi)
movl %eax, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
je 0xe86c
addq $0x8, %rdi
callq 0x18428
testb $0xe, %bpl
je 0xe879
xorps %xmm0, %xmm0
movups %xmm0, 0x20(%rbx)
movl $0x0, 0x10(%rbx)
testb $0x1, 0x8(%rbx)
je 0xe892
addq $0x8, %rbx
movq %rbx, %rdi
callq 0x18428
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0xe89d
movq %rax, %rbx
leaq 0x8(%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::TaintQuery::ByteSizeLong() const
size_t TaintQuery::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:panda.TaintQuery)
  size_t total_size = 0;

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

    // required uint32 tcn = 2;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_tcn());

    // required uint32 offset = 3;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_offset());

  } 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;

  // optional .panda.TaintQueryUniqueLabelSet unique_label_set = 4;
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *unique_label_set_);
  }

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

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movq %rdi, %rbx
movl 0x10(%rdi), %ebp
movl %ebp, %eax
notl %eax
testb $0xe, %al
jne 0xee20
movq 0x20(%rbx), %rax
orq $0x1, %rax
bsrq %rax, %rax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
movl 0x28(%rbx), %ecx
orl $0x1, %ecx
bsrl %ecx, %ecx
leal (%rcx,%rcx,8), %ecx
addl $0x49, %ecx
shrl $0x6, %ecx
movl 0x2c(%rbx), %edx
orl $0x1, %edx
bsrl %edx, %edx
leal (%rdx,%rdx,8), %edx
addl $0x49, %edx
shrl $0x6, %edx
addq %rax, %rcx
leaq (%rdx,%rcx), %r14
addq $0x3, %r14
jmp 0xee2b
movq %rbx, %rdi
callq 0xed68
movq %rax, %r14
testb $0x1, %bpl
je 0xee52
movq 0x18(%rbx), %rdi
callq 0xd8d8
addq %rax, %r14
orl $0x1, %eax
bsrl %eax, %eax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
addq %rax, %r14
incq %r14
testb $0x1, 0x8(%rbx)
jne 0xee64
movl %r14d, 0x14(%rbx)
movq %r14, %rax
popq %rbx
popq %r14
popq %rbp
retq
leaq 0x8(%rbx), %rdi
addq $0x14, %rbx
movq %r14, %rsi
movq %rbx, %rdx
popq %rbx
popq %r14
popq %rbp
jmp 0x6050
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintQuery::MergeFrom(google::protobuf::Message const&)
void TaintQuery::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:panda.TaintQuery)
  GOOGLE_DCHECK_NE(&from, this);
  const TaintQuery* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TaintQuery>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:panda.TaintQuery)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:panda.TaintQuery)
    MergeFrom(*source);
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rsi, %rbx
movq %rdi, %r14
cmpq %rdi, %rsi
jne 0xeed4
leaq 0xb2ef(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0xd6f, %ecx            # imm = 0xD6F
callq 0x6530
leaq 0xb2dc(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
leaq 0x1479d(%rip), %rax     # 0x23678
cmpq %rax, (%rbx)
je 0xeeed
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6330
jmp 0xeef8
movq %r14, %rdi
movq %rbx, %rsi
callq 0xef1a
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xef04
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::TaintQuery::MergeFrom(panda::TaintQuery const&)
void TaintQuery::MergeFrom(const TaintQuery& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:panda.TaintQuery)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      _internal_mutable_unique_label_set()->::panda::TaintQueryUniqueLabelSet::MergeFrom(from._internal_unique_label_set());
    }
    if (cached_has_bits & 0x00000002u) {
      ptr_ = from.ptr_;
    }
    if (cached_has_bits & 0x00000004u) {
      tcn_ = from.tcn_;
    }
    if (cached_has_bits & 0x00000008u) {
      offset_ = from.offset_;
    }
    _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 0xef73
leaq 0xb250(%rip), %rdx      # 0x1a186
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0xd7e, %ecx            # imm = 0xD7E
callq 0x6530
leaq 0xb23d(%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 0xef91
andq $-0x2, %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0x183fa
movl 0x10(%r14), %ebp
testb $0xf, %bpl
je 0xf005
testb $0x1, %bpl
je 0xefda
orb $0x1, 0x10(%rbx)
movq 0x18(%rbx), %rdi
testq %rdi, %rdi
jne 0xefc3
movq (%r15), %rdi
testb $0x1, %dil
jne 0xf010
callq 0x16d0a
movq %rax, %rdi
movq %rax, 0x18(%rbx)
movq 0x18(%r14), %rax
testq %rax, %rax
leaq 0x15837(%rip), %rsi     # 0x24808
cmovneq %rax, %rsi
callq 0xd9e0
testb $0x2, %bpl
je 0xefe8
movq 0x20(%r14), %rax
movq %rax, 0x20(%rbx)
testb $0x4, %bpl
je 0xeff5
movl 0x28(%r14), %eax
movl %eax, 0x28(%rbx)
testb $0x8, %bpl
je 0xf002
movl 0x2c(%r14), %eax
movl %eax, 0x2c(%rbx)
orl %ebp, 0x10(%rbx)
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
andq $-0x2, %rdi
movq (%rdi), %rdi
jmp 0xefb7
jmp 0xf01b
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::TaintQuery::InternalSwap(panda::TaintQuery*)
void TaintQuery::InternalSwap(TaintQuery* 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(TaintQuery, offset_)
      + sizeof(TaintQuery::offset_)
      - PROTOBUF_FIELD_OFFSET(TaintQuery, unique_label_set_)>(
          reinterpret_cast<char*>(&unique_label_set_),
          reinterpret_cast<char*>(&other->unique_label_set_));
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movq 0x8(%rsi), %rsi
testb $0x1, 0x8(%rdi)
jne 0xf13c
testb $0x1, %sil
jne 0xf142
jmp 0xf153
testb $0x1, %sil
je 0xf18b
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)
movq 0x28(%r14), %rax
movq 0x28(%rbx), %rcx
movq %rcx, 0x28(%r14)
movq %rax, 0x28(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
leaq 0x8(%rbx), %rdi
callq 0x18284
movq %rax, %rsi
jmp 0xf14a
nop
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::AttackPoint::AttackPoint(panda::AttackPoint const&)
AttackPoint::AttackPoint(const AttackPoint& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _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;
  }
  if (from._internal_has_src_info()) {
    src_info_ = new ::panda::SrcInfo(*from.src_info_);
  } else {
    src_info_ = nullptr;
  }
  info_ = from.info_;
  // @@protoc_insertion_point(copy_constructor:panda.AttackPoint)
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movq $0x0, 0x8(%rdi)
leaq 0x144e2(%rip), %rax     # 0x23728
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
movl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0xf271
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x183fa
movl 0x10(%r14), %eax
movq 0x18(%r14), %r15
testq %r15, %r15
sete %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0xf2d0
leaq 0x9eb5(%rip), %rdx      # 0x19142
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x1405, %ecx           # imm = 0x1405
callq 0x6530
leaq 0xb364(%rip), %rsi      # 0x1a60f
movq %r15, %rdi
callq 0x6580
leaq 0xf(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x10(%rsp), %rdi
callq 0x65a0
movq 0x18(%r14), %r15
jmp 0xf2d4
testb $0x1, %al
je 0xf2f6
movl $0x28, %edi
callq 0x6360
movq %rax, %r12
movq %rax, %rdi
movq %r15, %rsi
callq 0x9134
movq %r12, 0x18(%rbx)
movl 0x10(%r14), %eax
jmp 0xf2fe
movq $0x0, 0x18(%rbx)
movl %eax, %ecx
shrb %cl
movq 0x20(%r14), %r15
testq %r15, %r15
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0xf35d
leaq 0x9e28(%rip), %rdx      # 0x19142
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x1456, %ecx           # imm = 0x1456
callq 0x6530
leaq 0xb308(%rip), %rsi      # 0x1a640
movq %r15, %rdi
callq 0x6580
leaq 0xf(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x10(%rsp), %rdi
callq 0x65a0
movq 0x20(%r14), %r15
jmp 0xf361
testb $0x2, %al
je 0xf37b
movl $0x30, %edi
callq 0x6360
movq %rax, %r12
movq %rax, %rdi
movq %r15, %rsi
callq 0xdbce
jmp 0xf37e
xorl %r12d, %r12d
movq %r12, 0x20(%rbx)
movl 0x28(%r14), %eax
movl %eax, 0x28(%rbx)
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
jmp 0xf39b
jmp 0xf39b
jmp 0xf39b
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x65a0
jmp 0xf3c4
movq %rax, %rbx
movl $0x30, %esi
jmp 0xf3bc
movq %rax, %rbx
movl $0x28, %esi
movq %r12, %rdi
callq 0x6370
movq %rbx, %rdi
callq 0x65b0
// File: /workspace/github_cpp_makefile_star2_O3/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::AttackPoint::Clear()
void AttackPoint::Clear() {
// @@protoc_insertion_point(message_clear_start:panda.AttackPoint)
  ::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 & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(call_stack_ != nullptr);
      call_stack_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(src_info_ != nullptr);
      src_info_->Clear();
    }
  }
  info_ = 0u;
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rdi, %rbx
movl 0x10(%rdi), %ebp
testb $0x3, %bpl
je 0xf511
testb $0x1, %bpl
je 0xf4b5
movq 0x18(%rbx), %rdi
testq %rdi, %rdi
jne 0xf49f
leaq 0xad28(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x3, %esi
movl $0xe22, %ecx            # imm = 0xE22
callq 0x6530
leaq 0xadcb(%rip), %rsi      # 0x1a247
movq %r14, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq 0x18(%rbx), %rdi
movl $0x0, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
je 0xf4b5
addq $0x8, %rdi
callq 0x18428
testb $0x2, %bpl
je 0xf511
movq 0x20(%rbx), %rdi
testq %rdi, %rdi
jne 0xf50c
leaq 0xacbb(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x3, %esi
movl $0xe26, %ecx            # imm = 0xE26
callq 0x6530
leaq 0xad85(%rip), %rsi      # 0x1a26e
movq %r14, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq 0x20(%rbx), %rdi
callq 0xdcfe
xorl %eax, %eax
movl %eax, 0x28(%rbx)
movl %eax, 0x10(%rbx)
testb $0x1, 0x8(%rbx)
je 0xf52b
addq $0x8, %rbx
movq %rbx, %rdi
callq 0x18428
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0xf53a
jmp 0xf53a
jmp 0xf53a
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::RequiredFieldsByteSizeFallback() const
size_t AttackPoint::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:panda.AttackPoint)
  size_t total_size = 0;

  if (_internal_has_call_stack()) {
    // required .panda.CallStack call_stack = 2;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *call_stack_);
  }

  if (_internal_has_src_info()) {
    // required .panda.SrcInfo src_info = 3;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *src_info_);
  }

  if (_internal_has_info()) {
    // required uint32 info = 1;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_info());
  }

  return total_size;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rdi, %rbx
movl 0x10(%rdi), %eax
movq 0x18(%rdi), %rdi
testq %rdi, %rdi
sete %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0xf978
leaq 0x980d(%rip), %rdx      # 0x19142
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x3, %esi
movl $0x1405, %ecx           # imm = 0x1405
callq 0x6530
leaq 0xacbc(%rip), %rsi      # 0x1a60f
movq %r14, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq 0x18(%rbx), %rdi
jmp 0xf97c
testb $0x1, %al
je 0xf99e
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
movl 0x10(%rbx), %eax
jmp 0xf9a1
xorl %r14d, %r14d
movl %eax, %ecx
shrb %cl
movq 0x20(%rbx), %rdi
testq %rdi, %rdi
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0xfa00
leaq 0x9785(%rip), %rdx      # 0x19142
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x1456, %ecx           # imm = 0x1456
callq 0x6530
leaq 0xac65(%rip), %rsi      # 0x1a640
movq %r15, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq 0x20(%rbx), %rdi
jmp 0xfa04
testb $0x2, %al
je 0xfa24
callq 0xe2f0
addq %rax, %r14
orl $0x1, %eax
bsrl %eax, %eax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
addq %rax, %r14
incq %r14
movl 0x10(%rbx), %eax
testb $0x4, %al
je 0xfa40
movl 0x28(%rbx), %eax
orl $0x1, %eax
bsrl %eax, %eax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
addq %rax, %r14
incq %r14
movq %r14, %rax
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xfa53
jmp 0xfa53
jmp 0xfa53
movq %rax, %rbx
leaq 0x8(%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::ByteSizeLong() const
size_t AttackPoint::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:panda.AttackPoint)
  size_t total_size = 0;

  if (((_has_bits_[0] & 0x00000007) ^ 0x00000007) == 0) {  // All required fields are present.
    // required .panda.CallStack call_stack = 2;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *call_stack_);

    // required .panda.SrcInfo src_info = 3;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *src_info_);

    // required uint32 info = 1;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_info());

  } 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 %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
movl 0x10(%rdi), %eax
notl %eax
testb $0x7, %al
jne 0xfad4
movq 0x18(%rbx), %rdi
callq 0x9556
movq %rax, %r14
orl $0x1, %eax
bsrl %eax, %eax
leal (%rax,%rax,8), %r15d
addl $0x49, %r15d
shrl $0x6, %r15d
movq 0x20(%rbx), %rdi
callq 0xe2f0
addq %rax, %r14
orl $0x1, %eax
bsrl %eax, %eax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
movl 0x28(%rbx), %ecx
orl $0x1, %ecx
bsrl %ecx, %ecx
leal (%rcx,%rcx,8), %ecx
addl $0x49, %ecx
shrl $0x6, %ecx
addq %r15, %r14
addq %rax, %r14
leaq (%rcx,%r14), %rax
addq $0x3, %rax
jmp 0xfadc
movq %rbx, %rdi
callq 0xf90e
testb $0x1, 0x8(%rbx)
jne 0xfaeb
movl %eax, 0x14(%rbx)
popq %rbx
popq %r14
popq %r15
retq
leaq 0x8(%rbx), %rdi
addq $0x14, %rbx
movq %rax, %rsi
movq %rbx, %rdx
popq %rbx
popq %r14
popq %r15
jmp 0x6050
nop