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

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rsi, %rbx
movq %rdi, %r14
cmpq %rdi, %rsi
jne 0xa51e
leaq 0xbc93(%rip), %rdx      # 0x16176
leaq 0x8(%rsp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0x7c4, %ecx            # imm = 0x7C4
callq 0x6520
leaq 0xbc82(%rip), %rsi      # 0x16181
movq %r15, %rdi
callq 0x6570
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6440
leaq 0x8(%rsp), %rdi
callq 0x6590
leaq 0x16e93(%rip), %rax     # 0x213b8
cmpq %rax, (%rbx)
je 0xa537
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6310
jmp 0xa542
movq %r14, %rdi
movq %rbx, %rsi
callq 0xa564
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xa54e
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x6590
movq %rbx, %rdi
callq 0x65a0
nop
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::AttackPointPri::MergeFrom(panda::AttackPointPri const&)
void AttackPointPri::MergeFrom(const AttackPointPri& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:panda.AttackPointPri)
  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::SrcInfoPri::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 0xa5bb
leaq 0xbbf6(%rip), %rdx      # 0x16176
leaq 0x10(%rsp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0x7d3, %ecx            # imm = 0x7D3
callq 0x6520
leaq 0xbbe5(%rip), %rsi      # 0x16181
movq %r15, %rdi
callq 0x6570
leaq 0xf(%rsp), %rdi
movq %rax, %rsi
callq 0x6440
leaq 0x10(%rsp), %rdi
callq 0x6590
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0xa5d6
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x1466a
movl 0x10(%r14), %ebp
testb $0x7, %bpl
je 0xa640
testb $0x1, %bpl
je 0xa608
movq %rbx, %rdi
callq 0x11d48
movq 0x18(%r14), %rcx
testq %rcx, %rcx
leaq 0x180dc(%rip), %rsi     # 0x226d8
cmovneq %rcx, %rsi
movq %rax, %rdi
callq 0x8b74
testb $0x2, %bpl
je 0xa630
movq %rbx, %rdi
callq 0x11df0
movq 0x20(%r14), %rcx
testq %rcx, %rcx
leaq 0x1811c(%rip), %rsi     # 0x22740
cmovneq %rcx, %rsi
movq %rax, %rdi
callq 0x9cb0
testb $0x4, %bpl
je 0xa63d
movl 0x28(%r14), %eax
movl %eax, 0x28(%rbx)
orl %ebp, 0x10(%rbx)
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0xa64d
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x6590
movq %rbx, %rdi
callq 0x65a0
// File: /workspace/github_cpp_makefile_star2_O2/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 0xa6fc
testb $0x1, %sil
jne 0xa702
jmp 0xa713
testb $0x1, %sil
je 0xa749
andq $-0x2, %rsi
addq $0x8, %rsi
leaq 0x8(%r14), %rdi
callq 0x146c6
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 0x144e8
movq %rax, %rsi
jmp 0xa70a
nop
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintQueryPri::TaintQueryPri(panda::TaintQueryPri const&)
TaintQueryPri::TaintQueryPri(const TaintQueryPri& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_),
      data_(from.data_),
      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;
  }
  if (from._internal_has_src_info()) {
    src_info_ = new ::panda::SrcInfoPri(*from.src_info_);
  } else {
    src_info_ = nullptr;
  }
  ::memcpy(&buf_, &from.buf_,
    static_cast<size_t>(reinterpret_cast<char*>(&num_tainted_) -
    reinterpret_cast<char*>(&buf_)) + sizeof(num_tainted_));
  // @@protoc_insertion_point(copy_constructor:panda.TaintQueryPri)
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rdi, %r15
andq $0x0, 0x8(%rdi)
movq %rsi, %r12
leaq 0x16c6d(%rip), %rax     # 0x21468
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
andl $0x0, 0x14(%rdi)
leaq 0x18(%rdi), %rbx
addq $0x18, %rsi
movq %rbx, %rdi
callq 0x63f0
leaq 0x28(%r15), %r14
leaq 0x28(%r12), %rsi
movq %r14, %rdi
callq 0x11eb0
movq 0x8(%r12), %rsi
testb $0x1, %sil
je 0xa845
leaq 0x8(%r15), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x1466a
movq %r12, %rdi
callq 0x11ee2
testb %al, %al
je 0xa86b
pushq $0x28
popq %rdi
callq 0x6340
movq %rax, %r13
movq 0x40(%r12), %rsi
movq %rax, %rdi
callq 0x8824
jmp 0xa86e
xorl %r13d, %r13d
movq %r13, 0x40(%r15)
movq %r12, %rdi
callq 0x11f5e
testb %al, %al
je 0xa898
pushq $0x38
popq %rdi
callq 0x6340
movq %rax, %r13
movq 0x48(%r12), %rsi
movq %rax, %rdi
callq 0x96c6
jmp 0xa89b
xorl %r13d, %r13d
movq %r13, 0x48(%r15)
movups 0x50(%r12), %xmm0
movups %xmm0, 0x50(%r15)
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
movq %rax, %r15
pushq $0x38
jmp 0xa8c0
movq %rax, %r15
pushq $0x28
popq %rsi
movq %r13, %rdi
callq 0x6350
jmp 0xa8d3
movq %rax, %r15
jmp 0xa8db
movq %rax, %r15
movq %r14, %rdi
callq 0x11e96
movq %rbx, %rdi
callq 0x6270
movq %r15, %rdi
callq 0x65a0
nop
// File: /workspace/github_cpp_makefile_star2_O2/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
andl $0x0, 0x18(%rdi)
addq $0x28, %rdi
callq 0x145ca
movl 0x10(%rbx), %ebp
testb $0x3, %bpl
je 0xaa27
testb $0x1, %bpl
je 0xa9cd
movq 0x40(%rbx), %rdi
testq %rdi, %rdi
jne 0xa9c8
leaq 0xb7ed(%rip), %rdx      # 0x16176
leaq 0x8(%rsp), %r14
pushq $0x3
popq %rsi
movq %r14, %rdi
movl $0x882, %ecx            # imm = 0x882
callq 0x6520
leaq 0xb892(%rip), %rsi      # 0x16237
movq %r14, %rdi
callq 0x6570
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6440
leaq 0x8(%rsp), %rdi
callq 0x6590
movq 0x40(%rbx), %rdi
callq 0x88e4
testb $0x2, %bpl
je 0xaa27
movq 0x48(%rbx), %rdi
testq %rdi, %rdi
jne 0xaa22
leaq 0xb793(%rip), %rdx      # 0x16176
leaq 0x8(%rsp), %r14
pushq $0x3
popq %rsi
movq %r14, %rdi
movl $0x886, %ecx            # imm = 0x886
callq 0x6520
leaq 0xb85f(%rip), %rsi      # 0x1625e
movq %r14, %rdi
callq 0x6570
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6440
leaq 0x8(%rsp), %rdi
callq 0x6590
movq 0x48(%rbx), %rdi
callq 0x97e2
testb $0x1c, %bpl
je 0xaa34
xorps %xmm0, %xmm0
movups %xmm0, 0x50(%rbx)
andl $0x0, 0x10(%rbx)
testb $0x1, 0x8(%rbx)
je 0xaa4a
addq $0x8, %rbx
movq %rbx, %rdi
callq 0x14698
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0xaa59
jmp 0xaa59
jmp 0xaa59
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x6590
movq %rbx, %rdi
callq 0x65a0
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintQueryPri::RequiredFieldsByteSizeFallback() const
size_t TaintQueryPri::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:panda.TaintQueryPri)
  size_t total_size = 0;

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

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

  if (_internal_has_buf()) {
    // required uint64 buf = 1;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
        this->_internal_buf());
  }

  if (_internal_has_len()) {
    // required uint32 len = 2;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_len());
  }

  if (_internal_has_num_tainted()) {
    // required uint32 num_tainted = 4;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_num_tainted());
  }

  return total_size;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %r14
callq 0x11ee2
testb %al, %al
je 0xaeab
movq 0x40(%r14), %rdi
callq 0x11e20
movq %rax, %rbx
incq %rbx
jmp 0xaead
xorl %ebx, %ebx
movq %r14, %rdi
callq 0x11f5e
testb %al, %al
je 0xaec8
movq 0x48(%r14), %rdi
callq 0x11e3c
addq %rax, %rbx
incq %rbx
movl 0x10(%r14), %eax
testb $0x4, %al
je 0xaeeb
movq 0x50(%r14), %rcx
orq $0x1, %rcx
bsrq %rcx, %rcx
leal (%rcx,%rcx,8), %ecx
addl $0x49, %ecx
shrl $0x6, %ecx
addq %rcx, %rbx
incq %rbx
testb $0x8, %al
je 0xaf08
movl 0x58(%r14), %ecx
orl $0x1, %ecx
bsrl %ecx, %ecx
leal (%rcx,%rcx,8), %ecx
addl $0x49, %ecx
shrl $0x6, %ecx
addq %rcx, %rbx
incq %rbx
testb $0x10, %al
je 0xaf25
movl 0x5c(%r14), %eax
orl $0x1, %eax
bsrl %eax, %eax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
addq %rax, %rbx
incq %rbx
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_cpp_makefile_star2_O2/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 0xb084
leaq 0xb12d(%rip), %rdx      # 0x16176
leaq 0x8(%rsp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0x99c, %ecx            # imm = 0x99C
callq 0x6520
leaq 0xb11c(%rip), %rsi      # 0x16181
movq %r15, %rdi
callq 0x6570
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6440
leaq 0x8(%rsp), %rdi
callq 0x6590
leaq 0x163dd(%rip), %rax     # 0x21468
cmpq %rax, (%rbx)
je 0xb09d
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6310
jmp 0xb0a8
movq %r14, %rdi
movq %rbx, %rsi
callq 0xb0ca
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xb0b4
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x6590
movq %rbx, %rdi
callq 0x65a0
nop
// File: /workspace/github_cpp_makefile_star2_O2/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 0xb121
leaq 0xb090(%rip), %rdx      # 0x16176
leaq 0x10(%rsp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0x9ab, %ecx            # imm = 0x9AB
callq 0x6520
leaq 0xb07f(%rip), %rsi      # 0x16181
movq %r15, %rdi
callq 0x6570
leaq 0xf(%rsp), %rdi
movq %rax, %rsi
callq 0x6440
leaq 0x10(%rsp), %rdi
callq 0x6590
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0xb13c
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x1466a
leaq 0x18(%rbx), %rdi
leaq 0x18(%r14), %rsi
callq 0x64c0
leaq 0x28(%rbx), %rdi
leaq 0x28(%r14), %rsi
callq 0x1489a
movl 0x10(%r14), %ebp
testb $0x1f, %bpl
je 0xb1db
testb $0x1, %bpl
je 0xb188
movq %rbx, %rdi
callq 0x120be
movq 0x40(%r14), %rcx
testq %rcx, %rcx
leaq 0x1755c(%rip), %rsi     # 0x226d8
cmovneq %rcx, %rsi
movq %rax, %rdi
callq 0x8b74
testb $0x2, %bpl
je 0xb1b0
movq %rbx, %rdi
callq 0x120ee
movq 0x48(%r14), %rcx
testq %rcx, %rcx
leaq 0x1759c(%rip), %rsi     # 0x22740
cmovneq %rcx, %rsi
movq %rax, %rdi
callq 0x9cb0
testb $0x4, %bpl
je 0xb1be
movq 0x50(%r14), %rax
movq %rax, 0x50(%rbx)
testb $0x8, %bpl
je 0xb1cb
movl 0x58(%r14), %eax
movl %eax, 0x58(%rbx)
testb $0x10, %bpl
je 0xb1d8
movl 0x5c(%r14), %eax
movl %eax, 0x5c(%rbx)
orl %ebp, 0x10(%rbx)
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0xb1e8
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x6590
movq %rbx, %rdi
callq 0x65a0
nop
// File: /workspace/github_cpp_makefile_star2_O2/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 0xb2a8
testb $0x1, %sil
jne 0xb2ae
jmp 0xb2bf
testb $0x1, %sil
je 0xb313
andq $-0x2, %rsi
addq $0x8, %rsi
leaq 0x8(%r14), %rdi
callq 0x146c6
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 0x14a30
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 0x144e8
movq %rax, %rsi
jmp 0xb2b6
nop
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintQueryUniqueLabelSet::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const
::PROTOBUF_NAMESPACE_ID::uint8* TaintQueryUniqueLabelSet::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:panda.TaintQueryUniqueLabelSet)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

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

  // repeated uint32 label = 2;
  for (int i = 0, n = this->_internal_label_size(); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_label(i), 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.TaintQueryUniqueLabelSet)
  return target;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rdx, %rbx
movq %rdi, %r14
testb $0x1, 0x10(%rdi)
je 0xb5df
movq %rbx, %rdi
callq 0x115ba
movq 0x28(%r14), %rdi
movb $0x8, (%rax)
leaq 0x1(%rax), %rsi
callq 0x1417c
movq %rax, %rsi
movl 0x18(%r14), %r12d
xorl %ebp, %ebp
testl %r12d, %r12d
cmovlel %ebp, %r12d
cmpl %ebp, %r12d
je 0xb61e
movq %rbx, %rdi
callq 0x115ba
movq %rax, %r15
movq %r14, %rdi
movl %ebp, %esi
callq 0x122a6
movb $0x10, (%r15)
incq %r15
movl %eax, %edi
movq %r15, %rsi
callq 0x1412e
movq %rax, %rsi
incl %ebp
jmp 0xb5ec
movq 0x8(%r14), %rdi
testb $0x1, %dil
jne 0xb634
movq %rsi, %rax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
andq $-0x2, %rdi
addq $0x8, %rdi
movq %rbx, %rdx
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x61b0
// File: /workspace/github_cpp_makefile_star2_O2/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 0xb65e
xorl %r14d, %r14d
jmp 0xb679
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 0xb69c
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_O2/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 0xb70c
leaq 0xaaa5(%rip), %rdx      # 0x16176
leaq 0x8(%rsp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0xaad, %ecx            # imm = 0xAAD
callq 0x6520
leaq 0xaa94(%rip), %rsi      # 0x16181
movq %r15, %rdi
callq 0x6570
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6440
leaq 0x8(%rsp), %rdi
callq 0x6590
leaq 0x15e05(%rip), %rax     # 0x21518
cmpq %rax, (%rbx)
je 0xb725
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6310
jmp 0xb730
movq %r14, %rdi
movq %rbx, %rsi
callq 0xb752
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xb73c
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x6590
movq %rbx, %rdi
callq 0x65a0
nop
// File: /workspace/github_cpp_makefile_star2_O2/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 0xb7a8
leaq 0xaa09(%rip), %rdx      # 0x16176
leaq 0x8(%rsp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0xabc, %ecx            # imm = 0xABC
callq 0x6520
leaq 0xa9f8(%rip), %rsi      # 0x16181
movq %r15, %rdi
callq 0x6570
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6440
leaq 0x8(%rsp), %rdi
callq 0x6590
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0xb7c3
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x1466a
leaq 0x18(%rbx), %rdi
leaq 0x18(%r14), %rsi
callq 0x64c0
testb $0x1, 0x10(%r14)
je 0xb7e3
movq 0x28(%r14), %rax
orl $0x1, 0x10(%rbx)
movq %rax, 0x28(%rbx)
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xb7ef
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x6590
movq %rbx, %rdi
callq 0x65a0
// File: /workspace/github_cpp_makefile_star2_O2/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 0xb876
testb $0x1, %sil
jne 0xb87c
jmp 0xb88d
testb $0x1, %sil
je 0xb8c0
andq $-0x2, %rsi
addq $0x8, %rsi
leaq 0x8(%r14), %rdi
callq 0x146c6
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 0x144e8
movq %rax, %rsi
jmp 0xb884
// File: /workspace/github_cpp_makefile_star2_O2/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 %rdi, %rbx
andq $0x0, 0x8(%rdi)
movq %rsi, %r14
leaq 0x15cc2(%rip), %rax     # 0x215c8
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
andl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0xb92e
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x1466a
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_O2/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 0xbcb4
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 0xbcbc
movq %rbx, %rdi
callq 0xbc08
testb $0x18, %bpl
je 0xbcfe
testb $0x8, %bpl
je 0xbce0
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 0xbcfe
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 0xbd0e
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_O2/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 0xbd7e
leaq 0xa433(%rip), %rdx      # 0x16176
leaq 0x8(%rsp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0xc08, %ecx            # imm = 0xC08
callq 0x6520
leaq 0xa422(%rip), %rsi      # 0x16181
movq %r15, %rdi
callq 0x6570
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6440
leaq 0x8(%rsp), %rdi
callq 0x6590
leaq 0x15843(%rip), %rax     # 0x215c8
cmpq %rax, (%rbx)
je 0xbd97
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6310
jmp 0xbda2
movq %r14, %rdi
movq %rbx, %rsi
callq 0xbdc4
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xbdae
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x6590
movq %rbx, %rdi
callq 0x65a0
nop
// File: /workspace/github_cpp_makefile_star2_O2/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 0xbe1a
leaq 0xa397(%rip), %rdx      # 0x16176
leaq 0x8(%rsp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0xc17, %ecx            # imm = 0xC17
callq 0x6520
leaq 0xa386(%rip), %rsi      # 0x16181
movq %r15, %rdi
callq 0x6570
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6440
leaq 0x8(%rsp), %rdi
callq 0x6590
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0xbe35
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x1466a
movl 0x10(%r14), %eax
testb $0x1f, %al
je 0xbe77
testb $0x1, %al
je 0xbe48
movl 0x18(%r14), %ecx
movl %ecx, 0x18(%rbx)
testb $0x2, %al
je 0xbe53
movl 0x1c(%r14), %ecx
movl %ecx, 0x1c(%rbx)
testb $0x4, %al
je 0xbe5e
movl 0x20(%r14), %ecx
movl %ecx, 0x20(%rbx)
testb $0x8, %al
je 0xbe69
movl 0x24(%r14), %ecx
movl %ecx, 0x24(%rbx)
testb $0x10, %al
je 0xbe74
movl 0x28(%r14), %ecx
movl %ecx, 0x28(%rbx)
orl %eax, 0x10(%rbx)
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xbe83
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x6590
movq %rbx, %rdi
callq 0x65a0
// File: /workspace/github_cpp_makefile_star2_O2/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 0xbf10
testb $0x1, %sil
jne 0xbf16
jmp 0xbf27
testb $0x1, %sil
je 0xbf5d
andq $-0x2, %rsi
addq $0x8, %rsi
leaq 0x8(%r14), %rdi
callq 0x146c6
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 0x144e8
movq %rax, %rsi
jmp 0xbf1e
nop
// File: /workspace/github_cpp_makefile_star2_O2/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 %rbx
movq %rdi, %rbx
andq $0x0, 0x8(%rdi)
movq %rsi, %r14
leaq 0x156c1(%rip), %rax     # 0x21678
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
andl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0xbfdf
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x1466a
movq %r14, %rdi
callq 0x7322
testb %al, %al
je 0xc004
pushq $0x30
popq %rdi
callq 0x6340
movq %rax, %r15
movq 0x18(%r14), %rsi
movq %rax, %rdi
callq 0xb34a
jmp 0xc007
xorl %r15d, %r15d
movq %r15, 0x18(%rbx)
movups 0x20(%r14), %xmm0
movups %xmm0, 0x20(%rbx)
popq %rbx
popq %r14
popq %r15
retq
movq %rax, %rbx
pushq $0x30
popq %rsi
movq %r15, %rdi
callq 0x6350
movq %rbx, %rdi
callq 0x65a0
// File: /workspace/github_cpp_makefile_star2_O2/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 0xc0ea
movq 0x18(%rbx), %rdi
testq %rdi, %rdi
jne 0xc0e5
leaq 0xa0d0(%rip), %rdx      # 0x16176
leaq 0x8(%rsp), %r14
pushq $0x3
popq %rsi
movq %r14, %rdi
movl $0xcb2, %ecx            # imm = 0xCB2
callq 0x6520
leaq 0xa1c1(%rip), %rsi      # 0x16283
movq %r14, %rdi
callq 0x6570
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6440
leaq 0x8(%rsp), %rdi
callq 0x6590
movq 0x18(%rbx), %rdi
callq 0xb414
testb $0xe, %bpl
je 0xc0f7
xorps %xmm0, %xmm0
movups %xmm0, 0x20(%rbx)
andl $0x0, 0x10(%rbx)
testb $0x1, 0x8(%rbx)
je 0xc10d
addq $0x8, %rbx
movq %rbx, %rdi
callq 0x14698
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0xc118
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x6590
movq %rbx, %rdi
callq 0x65a0
nop
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintQuery::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const
::PROTOBUF_NAMESPACE_ID::uint8* TaintQuery::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:panda.TaintQuery)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

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

  // required uint32 tcn = 2;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(2, this->_internal_tcn(), target);
  }

  // required uint32 offset = 3;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_offset(), target);
  }

  // optional .panda.TaintQueryUniqueLabelSet unique_label_set = 4;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::unique_label_set(this), target, stream);
  }

  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.TaintQuery)
  return target;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rdi, %r14
movl 0x10(%rdi), %ebp
testb $0x2, %bpl
je 0xc2bf
movq %rbx, %rdi
callq 0x115ba
movq 0x20(%r14), %rdi
movb $0x8, (%rax)
leaq 0x1(%rax), %rsi
callq 0x1417c
movq %rax, %rsi
testb $0x4, %bpl
je 0xc2e0
movq %rbx, %rdi
callq 0x115ba
movl 0x28(%r14), %edi
movb $0x10, (%rax)
leaq 0x1(%rax), %rsi
callq 0x1412e
movq %rax, %rsi
testb $0x8, %bpl
je 0xc301
movq %rbx, %rdi
callq 0x115ba
movl 0x2c(%r14), %edi
movb $0x18, (%rax)
leaq 0x1(%rax), %rsi
callq 0x1412e
movq %rax, %rsi
testb $0x1, %bpl
je 0xc334
movq %rbx, %rdi
callq 0x115ba
movq 0x18(%r14), %r15
movb $0x22, (%rax)
leaq 0x1(%rax), %rsi
movl 0x14(%r15), %edi
callq 0x1412e
movq %r15, %rdi
movq %rax, %rsi
movq %rbx, %rdx
callq 0xb5b0
movq %rax, %rsi
movq 0x8(%r14), %rdi
testb $0x1, %dil
jne 0xc34c
movq %rsi, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
andq $-0x2, %rdi
addq $0x8, %rdi
movq %rbx, %rdx
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x61b0
// File: /workspace/github_cpp_makefile_star2_O2/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 0xc41e
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 0xc429
movq %rbx, %rdi
callq 0xc366
movq %rax, %r14
testb $0x1, %bpl
je 0xc43e
movq 0x18(%rbx), %rdi
callq 0x124de
addq %rax, %r14
incq %r14
testb $0x1, 0x8(%rbx)
jne 0xc450
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_O2/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 0xc4be
leaq 0x9cf3(%rip), %rdx      # 0x16176
leaq 0x8(%rsp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0xd6f, %ecx            # imm = 0xD6F
callq 0x6520
leaq 0x9ce2(%rip), %rsi      # 0x16181
movq %r15, %rdi
callq 0x6570
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6440
leaq 0x8(%rsp), %rdi
callq 0x6590
leaq 0x151b3(%rip), %rax     # 0x21678
cmpq %rax, (%rbx)
je 0xc4d7
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6310
jmp 0xc4e2
movq %r14, %rdi
movq %rbx, %rsi
callq 0xc504
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xc4ee
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x6590
movq %rbx, %rdi
callq 0x65a0
nop
// File: /workspace/github_cpp_makefile_star2_O2/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 0xc55b
leaq 0x9c56(%rip), %rdx      # 0x16176
leaq 0x10(%rsp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0xd7e, %ecx            # imm = 0xD7E
callq 0x6520
leaq 0x9c45(%rip), %rsi      # 0x16181
movq %r15, %rdi
callq 0x6570
leaq 0xf(%rsp), %rdi
movq %rax, %rsi
callq 0x6440
leaq 0x10(%rsp), %rdi
callq 0x6590
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0xc576
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x1466a
movl 0x10(%r14), %ebp
testb $0xf, %bpl
je 0xc5d3
testb $0x1, %bpl
je 0xc5a8
movq %rbx, %rdi
callq 0x124ae
movq 0x18(%r14), %rcx
testq %rcx, %rcx
leaq 0x1626c(%rip), %rsi     # 0x22808
cmovneq %rcx, %rsi
movq %rax, %rdi
callq 0xb752
testb $0x2, %bpl
je 0xc5b6
movq 0x20(%r14), %rax
movq %rax, 0x20(%rbx)
testb $0x4, %bpl
je 0xc5c3
movl 0x28(%r14), %eax
movl %eax, 0x28(%rbx)
testb $0x8, %bpl
je 0xc5d0
movl 0x2c(%r14), %eax
movl %eax, 0x2c(%rbx)
orl %ebp, 0x10(%rbx)
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0xc5e0
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x6590
movq %rbx, %rdi
callq 0x65a0
nop