LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedBranchSummary::TaintedBranchSummary(panda::TaintedBranchSummary const&)
TaintedBranchSummary::TaintedBranchSummary(const TaintedBranchSummary& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&asid_, &from.asid_,
    static_cast<size_t>(reinterpret_cast<char*>(&pc_) -
    reinterpret_cast<char*>(&asid_)) + sizeof(pc_));
  // @@protoc_insertion_point(copy_constructor:panda.TaintedBranchSummary)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x50(%rbp)
movq %rsi, -0x58(%rbp)
movq -0x50(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x27320
movq -0x78(%rbp), %rdi
leaq 0x27fdd(%rip), %rax     # 0x46908
addq $0x10, %rax
movq %rax, (%rdi)
movq -0x58(%rbp), %rax
movl 0x10(%rax), %eax
movl %eax, 0x10(%rdi)
addq $0x14, %rdi
callq 0x272c0
movq -0x78(%rbp), %rcx
addq $0x8, %rcx
movq -0x58(%rbp), %rax
addq $0x8, %rax
movq %rcx, -0x40(%rbp)
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
andq $0x1, %rax
cmpl $0x1, %eax
sete %al
movb %al, -0x65(%rbp)
movb -0x65(%rbp), %al
testb $0x1, %al
jne 0x1e995
jmp 0x1ea15
movq -0x48(%rbp), %rax
movq %rax, -0x28(%rbp)
movq $0x0, -0x30(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x80(%rbp)
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
andq $0x1, %rax
cmpl $0x1, %eax
jne 0x1e9dc
movq -0x80(%rbp), %rdi
callq 0x310a0
addq $0x8, %rax
movq %rax, -0x20(%rbp)
jmp 0x1e9f6
movq -0x30(%rbp), %rax
callq *%rax
movq %rax, -0x88(%rbp)
jmp 0x1e9eb
movq -0x88(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rsi
movq -0x70(%rbp), %rdi
callq 0x318d0
jmp 0x1ea13
jmp 0x1ea15
jmp 0x1ea17
movq -0x78(%rbp), %rax
movq %rax, %rdi
addq $0x18, %rdi
movq -0x58(%rbp), %rsi
addq $0x18, %rsi
movq %rax, %rdx
addq $0x20, %rdx
addq $0x18, %rax
subq %rax, %rdx
addq $0x8, %rdx
callq 0x62c0
addq $0x90, %rsp
popq %rbp
retq
movq -0x78(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
callq 0x27300
movq -0x60(%rbp), %rdi
callq 0x6630
nopl (%rax,%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedBranchSummary::Clear()
void TaintedBranchSummary::Clear() {
// @@protoc_insertion_point(message_clear_start:panda.TaintedBranchSummary)
  ::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) {
    ::memset(&asid_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&pc_) -
        reinterpret_cast<char*>(&asid_)) + sizeof(pc_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
movl $0x0, -0x3c(%rbp)
addq $0x10, %rax
movq %rax, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
andl $0x3, %eax
cmpl $0x0, %eax
je 0x1ebc7
movq -0x48(%rbp), %rax
movq %rax, %rdi
addq $0x18, %rdi
movq %rax, %rdx
addq $0x20, %rdx
addq $0x18, %rax
subq %rax, %rdx
addq $0x8, %rdx
xorl %esi, %esi
callq 0x61a0
movq -0x48(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
xorl %esi, %esi
movl $0x4, %edx
callq 0x61a0
movq -0x48(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x50(%rbp)
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
andq $0x1, %rax
cmpl $0x1, %eax
jne 0x1ec1c
movq -0x50(%rbp), %rdi
callq 0x31950
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedBranchSummary::RequiredFieldsByteSizeFallback() const
size_t TaintedBranchSummary::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:panda.TaintedBranchSummary)
  size_t total_size = 0;

  if (_internal_has_asid()) {
    // required uint64 asid = 1;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
        this->_internal_asid());
  }

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

  return total_size;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x18(%rbp)
movq $0x0, -0x10(%rbp)
callq 0x2c600
testb $0x1, %al
jne 0x1f157
jmp 0x1f174
movq -0x18(%rbp), %rdi
callq 0x2c5c0
movq %rax, %rdi
callq 0x28250
addq $0x1, %rax
addq -0x10(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x18(%rbp), %rdi
callq 0x2c640
testb $0x1, %al
jne 0x1f183
jmp 0x1f1a0
movq -0x18(%rbp), %rdi
callq 0x2c5e0
movq %rax, %rdi
callq 0x28250
addq $0x1, %rax
addq -0x10(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedBranchSummary::ByteSizeLong() const
size_t TaintedBranchSummary::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:panda.TaintedBranchSummary)
  size_t total_size = 0;

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

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

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

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x48(%rbp)
movq $0x0, -0x38(%rbp)
addq $0x10, %rax
movq %rax, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movl (%rax,%rcx,4), %eax
andl $0x3, %eax
xorl $0x3, %eax
cmpl $0x0, %eax
jne 0x1f22d
movq -0x48(%rbp), %rdi
callq 0x2c5c0
movq %rax, %rdi
callq 0x28250
movq -0x48(%rbp), %rdi
addq $0x1, %rax
addq -0x38(%rbp), %rax
movq %rax, -0x38(%rbp)
callq 0x2c5e0
movq %rax, %rdi
callq 0x28250
addq $0x1, %rax
addq -0x38(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0x1f23e
movq -0x48(%rbp), %rdi
callq 0x1f130
addq -0x38(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x48(%rbp), %rax
movl $0x0, -0x3c(%rbp)
addq $0x8, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
andq $0x1, %rax
cmpl $0x1, %eax
jne 0x1f287
movq -0x48(%rbp), %rdx
movq %rdx, %rdi
addq $0x8, %rdi
movq -0x38(%rbp), %rsi
addq $0x14, %rdx
callq 0x6060
movq %rax, -0x28(%rbp)
jmp 0x1f2a7
movq -0x38(%rbp), %rdi
callq 0x278f0
movq -0x48(%rbp), %rdi
movl %eax, -0x40(%rbp)
movl -0x40(%rbp), %esi
callq 0x1eb10
movq -0x38(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedBranchSummary::MergeFrom(google::protobuf::Message const&)
void TaintedBranchSummary::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:panda.TaintedBranchSummary)
  GOOGLE_DCHECK_NE(&from, this);
  const TaintedBranchSummary* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TaintedBranchSummary>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:panda.TaintedBranchSummary)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:panda.TaintedBranchSummary)
    MergeFrom(*source);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rcx
movq %rcx, -0x70(%rbp)
movq -0x10(%rbp), %rax
movb $0x0, -0x49(%rbp)
cmpq %rcx, %rax
je 0x1f2ea
jmp 0x1f333
leaq 0x14f15(%rip), %rdx     # 0x34206
leaq -0x48(%rbp), %rdi
movq %rdi, -0x80(%rbp)
movl $0x3, %esi
movl $0x12cf, %ecx           # imm = 0x12CF
callq 0x6590
movq -0x80(%rbp), %rdi
movb $0x1, -0x49(%rbp)
leaq 0x14efa(%rip), %rsi     # 0x34211
callq 0x65f0
movq %rax, -0x78(%rbp)
jmp 0x1f322
movq -0x78(%rbp), %rsi
leaq -0x5d(%rbp), %rdi
callq 0x64b0
jmp 0x1f331
jmp 0x1f333
testb $0x1, -0x49(%rbp)
jne 0x1f33b
jmp 0x1f344
leaq -0x48(%rbp), %rdi
callq 0x6620
movq -0x10(%rbp), %rdi
callq 0x2c680
movq %rax, -0x68(%rbp)
cmpq $0x0, -0x68(%rbp)
jne 0x1f386
movq -0x70(%rbp), %rsi
movq -0x10(%rbp), %rdi
callq 0x6350
jmp 0x1f393
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
testb $0x1, -0x49(%rbp)
jne 0x1f37b
jmp 0x1f384
leaq -0x48(%rbp), %rdi
callq 0x6620
jmp 0x1f39c
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x1f3b0
addq $0x80, %rsp
popq %rbp
retq
movq -0x58(%rbp), %rdi
callq 0x6630
nopw %cs:(%rax,%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedBranchSummary::CopyFrom(google::protobuf::Message const&)
void TaintedBranchSummary::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:panda.TaintedBranchSummary)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
cmpq %rax, -0x10(%rbp)
jne 0x1f610
jmp 0x1f626
movq -0x18(%rbp), %rdi
callq 0x1eb60
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x1f2c0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedBranchSummary::CopyFrom(panda::TaintedBranchSummary const&)
void TaintedBranchSummary::CopyFrom(const TaintedBranchSummary& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:panda.TaintedBranchSummary)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
cmpq %rax, -0x10(%rbp)
jne 0x1f650
jmp 0x1f666
movq -0x18(%rbp), %rdi
callq 0x1eb60
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x1f3b0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedBranchSummary::InternalSwap(panda::TaintedBranchSummary*)
void TaintedBranchSummary::InternalSwap(TaintedBranchSummary* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TaintedBranchSummary, pc_)
      + sizeof(TaintedBranchSummary::pc_)
      - PROTOBUF_FIELD_OFFSET(TaintedBranchSummary, asid_)>(
          reinterpret_cast<char*>(&asid_),
          reinterpret_cast<char*>(&other->asid_));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x78(%rbp)
movq %rsi, -0x80(%rbp)
movq -0x78(%rbp), %rcx
movq %rcx, -0x90(%rbp)
addq $0x8, %rcx
movq -0x80(%rbp), %rax
addq $0x8, %rax
movq %rcx, -0x68(%rbp)
movq %rax, -0x70(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x88(%rbp)
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
andq $0x1, %rax
cmpl $0x1, %eax
je 0x1f729
movq -0x70(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
andq $0x1, %rax
cmpl $0x1, %eax
jne 0x1f795
movq -0x70(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x98(%rbp)
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rax
andq $0x1, %rax
cmpl $0x1, %eax
sete %al
testb $0x1, %al
jne 0x1f75f
jmp 0x1f775
movq -0x98(%rbp), %rdi
callq 0x310a0
addq $0x8, %rax
movq %rax, -0x58(%rbp)
jmp 0x1f785
movq -0x98(%rbp), %rdi
callq 0x310c0
movq %rax, -0x58(%rbp)
movq -0x88(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x319c0
movq -0x90(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x20(%rbp)
movl $0x0, -0x24(%rbp)
movq -0x20(%rbp), %rdi
movslq -0x24(%rbp), %rax
shlq $0x2, %rax
addq %rax, %rdi
movq -0x80(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x30(%rbp)
movl $0x0, -0x34(%rbp)
movq -0x30(%rbp), %rsi
movslq -0x34(%rbp), %rax
shlq $0x2, %rax
addq %rax, %rsi
callq 0x284d0
movq -0x90(%rbp), %rdi
addq $0x18, %rdi
movq -0x80(%rbp), %rsi
addq $0x18, %rsi
callq 0x28500
addq $0xa0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedInstr::TaintedInstr(panda::TaintedInstr const&)
TaintedInstr::TaintedInstr(const TaintedInstr& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_),
      taint_query_(from.taint_query_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_call_stack()) {
    call_stack_ = new ::panda::CallStack(*from.call_stack_);
  } else {
    call_stack_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:panda.TaintedInstr)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x50(%rbp)
movq %rsi, -0x58(%rbp)
movq -0x50(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x27320
movq -0x78(%rbp), %rdi
leaq 0x2703d(%rip), %rax     # 0x469c8
movq %rax, (%rdi)
movq -0x58(%rbp), %rax
movl 0x10(%rax), %eax
movl %eax, 0x10(%rdi)
addq $0x14, %rdi
callq 0x272c0
movq -0x78(%rbp), %rdi
addq $0x18, %rdi
movq %rdi, -0x70(%rbp)
movq -0x58(%rbp), %rsi
addq $0x18, %rsi
callq 0x29640
jmp 0x1f9bc
movq -0x78(%rbp), %rcx
addq $0x8, %rcx
movq -0x58(%rbp), %rax
addq $0x8, %rax
movq %rcx, -0x40(%rbp)
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
andq $0x1, %rax
cmpl $0x1, %eax
sete %al
movb %al, -0x79(%rbp)
movb -0x79(%rbp), %al
testb $0x1, %al
jne 0x1fa0f
jmp 0x1fa98
movq -0x48(%rbp), %rax
movq %rax, -0x28(%rbp)
movq $0x0, -0x30(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x90(%rbp)
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
andq $0x1, %rax
cmpl $0x1, %eax
jne 0x1fa5c
movq -0x90(%rbp), %rdi
callq 0x310a0
addq $0x8, %rax
movq %rax, -0x20(%rbp)
jmp 0x1fa76
movq -0x30(%rbp), %rax
callq *%rax
movq %rax, -0x98(%rbp)
jmp 0x1fa6b
movq -0x98(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rsi
movq -0x88(%rbp), %rdi
callq 0x318d0
jmp 0x1fa96
jmp 0x1fa98
jmp 0x1fa9a
movq -0x58(%rbp), %rdi
callq 0x2c7c0
movb %al, -0xa1(%rbp)
jmp 0x1faab
movb -0xa1(%rbp), %al
testb $0x1, %al
jne 0x1fab7
jmp 0x1fb2c
movl $0x28, %edi
callq 0x6370
movq %rax, -0xb0(%rbp)
jmp 0x1faca
movq -0xb0(%rbp), %rdi
movq -0x58(%rbp), %rax
movq 0x30(%rax), %rsi
callq 0xf680
jmp 0x1fae0
movq -0x78(%rbp), %rax
movq -0xb0(%rbp), %rcx
movq %rcx, 0x30(%rax)
jmp 0x1fb38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x1fb4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x1fb41
movq -0xb0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x28, %esi
callq 0x6380
jmp 0x1fb41
movq -0x78(%rbp), %rax
movq $0x0, 0x30(%rax)
addq $0xb0, %rsp
popq %rbp
retq
movq -0x70(%rbp), %rdi
callq 0x29600
movq -0x78(%rbp), %rdi
callq 0x27300
movq -0x60(%rbp), %rdi
callq 0x6630
nopl (%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedInstr::Clear()
void TaintedInstr::Clear() {
// @@protoc_insertion_point(message_clear_start:panda.TaintedInstr)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x38(%rbp)
movq -0x38(%rbp), %rdi
movq %rdi, -0x98(%rbp)
movl $0x0, -0x3c(%rbp)
addq $0x18, %rdi
callq 0x29a10
movq -0x98(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x1fd64
movq -0x98(%rbp), %rax
movq 0x30(%rax), %rax
movb $0x0, -0x79(%rbp)
cmpq $0x0, %rax
je 0x1fcc4
jmp 0x1fd1c
leaq 0x1453b(%rip), %rdx     # 0x34206
leaq -0x78(%rbp), %rdi
movq %rdi, -0xa8(%rbp)
movl $0x3, %esi
movl $0x1365, %ecx           # imm = 0x1365
callq 0x6590
movq -0xa8(%rbp), %rdi
movb $0x1, -0x79(%rbp)
leaq 0x145d0(%rip), %rsi     # 0x342c7
callq 0x65f0
movq %rax, -0xa0(%rbp)
jmp 0x1fd05
movq -0xa0(%rbp), %rsi
leaq -0x8d(%rbp), %rdi
callq 0x64b0
jmp 0x1fd1a
jmp 0x1fd1c
testb $0x1, -0x79(%rbp)
jne 0x1fd24
jmp 0x1fd2d
leaq -0x78(%rbp), %rdi
callq 0x6620
movq -0x98(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0xf8e0
jmp 0x1fd64
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
testb $0x1, -0x79(%rbp)
jne 0x1fd59
jmp 0x1fd62
leaq -0x78(%rbp), %rdi
callq 0x6620
jmp 0x1fdce
movq -0x98(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
xorl %esi, %esi
movl $0x4, %edx
callq 0x61a0
movq -0x98(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
andq $0x1, %rax
cmpl $0x1, %eax
jne 0x1fdc5
movq -0xb0(%rbp), %rdi
callq 0x31950
addq $0xb0, %rsp
popq %rbp
retq
movq -0x88(%rbp), %rdi
callq 0x6630
nopw (%rax,%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedInstr::MergeFrom(google::protobuf::Message const&)
void TaintedInstr::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:panda.TaintedInstr)
  GOOGLE_DCHECK_NE(&from, this);
  const TaintedInstr* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TaintedInstr>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:panda.TaintedInstr)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:panda.TaintedInstr)
    MergeFrom(*source);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rcx
movq %rcx, -0x70(%rbp)
movq -0x10(%rbp), %rax
movb $0x0, -0x49(%rbp)
cmpq %rcx, %rax
je 0x204ea
jmp 0x20533
leaq 0x13d15(%rip), %rdx     # 0x34206
leaq -0x48(%rbp), %rdi
movq %rdi, -0x80(%rbp)
movl $0x3, %esi
movl $0x13de, %ecx           # imm = 0x13DE
callq 0x6590
movq -0x80(%rbp), %rdi
movb $0x1, -0x49(%rbp)
leaq 0x13cfa(%rip), %rsi     # 0x34211
callq 0x65f0
movq %rax, -0x78(%rbp)
jmp 0x20522
movq -0x78(%rbp), %rsi
leaq -0x5d(%rbp), %rdi
callq 0x64b0
jmp 0x20531
jmp 0x20533
testb $0x1, -0x49(%rbp)
jne 0x2053b
jmp 0x20544
leaq -0x48(%rbp), %rdi
callq 0x6620
movq -0x10(%rbp), %rdi
callq 0x2cac0
movq %rax, -0x68(%rbp)
cmpq $0x0, -0x68(%rbp)
jne 0x20586
movq -0x70(%rbp), %rsi
movq -0x10(%rbp), %rdi
callq 0x6350
jmp 0x20593
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
testb $0x1, -0x49(%rbp)
jne 0x2057b
jmp 0x20584
leaq -0x48(%rbp), %rdi
callq 0x6620
jmp 0x2059c
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x205b0
addq $0x80, %rsp
popq %rbp
retq
movq -0x58(%rbp), %rdi
callq 0x6630
nopw %cs:(%rax,%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedInstr::MergeFrom(panda::TaintedInstr const&)
void TaintedInstr::MergeFrom(const TaintedInstr& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:panda.TaintedInstr)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rdi, -0x50(%rbp)
movq %rsi, -0x58(%rbp)
movq -0x50(%rbp), %rcx
movq %rcx, -0xb8(%rbp)
movq -0x58(%rbp), %rax
movb $0x0, -0x91(%rbp)
cmpq %rcx, %rax
je 0x205e0
jmp 0x2063e
leaq 0x13c1f(%rip), %rdx     # 0x34206
leaq -0x90(%rbp), %rdi
movq %rdi, -0xc8(%rbp)
movl $0x3, %esi
movl $0x13ed, %ecx           # imm = 0x13ED
callq 0x6590
movq -0xc8(%rbp), %rdi
movb $0x1, -0x91(%rbp)
leaq 0x13bf8(%rip), %rsi     # 0x34211
callq 0x65f0
movq %rax, -0xc0(%rbp)
jmp 0x20627
movq -0xc0(%rbp), %rsi
leaq -0xa5(%rbp), %rdi
callq 0x64b0
jmp 0x2063c
jmp 0x2063e
testb $0x1, -0x91(%rbp)
jne 0x20649
jmp 0x20655
leaq -0x90(%rbp), %rdi
callq 0x6620
movq -0xb8(%rbp), %rcx
addq $0x8, %rcx
movq -0x58(%rbp), %rax
addq $0x8, %rax
movq %rcx, -0x40(%rbp)
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0xd0(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
andq $0x1, %rax
cmpl $0x1, %eax
jne 0x206ff
movq -0x48(%rbp), %rax
movq %rax, -0x28(%rbp)
movq $0x0, -0x30(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0xd8(%rbp)
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
andq $0x1, %rax
cmpl $0x1, %eax
jne 0x206e8
movq -0xd8(%rbp), %rdi
callq 0x310a0
addq $0x8, %rax
movq %rax, -0x20(%rbp)
jmp 0x206ef
callq *-0x30(%rbp)
movq %rax, -0x20(%rbp)
movq -0xd0(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x318d0
movq -0xb8(%rbp), %rdi
movl $0x0, -0xac(%rbp)
addq $0x18, %rdi
movq -0x58(%rbp), %rsi
addq $0x18, %rsi
callq 0x29f70
movq -0x58(%rbp), %rdi
callq 0x2c7c0
testb $0x1, %al
jne 0x20730
jmp 0x20788
movq -0xb8(%rbp), %rdi
callq 0x2c9e0
movq %rax, -0xe0(%rbp)
movq -0x58(%rbp), %rdi
callq 0x2cb20
movq -0xe0(%rbp), %rdi
movq %rax, %rsi
callq 0xfef0
jmp 0x20788
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
testb $0x1, -0x91(%rbp)
jne 0x2077a
jmp 0x20786
leaq -0x90(%rbp), %rdi
callq 0x6620
jmp 0x20791
addq $0xe0, %rsp
popq %rbp
retq
movq -0xa0(%rbp), %rdi
callq 0x6630
nopl (%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedInstr::CopyFrom(google::protobuf::Message const&)
void TaintedInstr::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:panda.TaintedInstr)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
cmpq %rax, -0x10(%rbp)
jne 0x207c0
jmp 0x207d6
movq -0x18(%rbp), %rdi
callq 0x1fc50
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x204c0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedInstr::CopyFrom(panda::TaintedInstr const&)
void TaintedInstr::CopyFrom(const TaintedInstr& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:panda.TaintedInstr)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
cmpq %rax, -0x10(%rbp)
jne 0x20800
jmp 0x20816
movq -0x18(%rbp), %rdi
callq 0x1fc50
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x205b0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedInstrSummary::TaintedInstrSummary(panda::TaintedInstrSummary const&)
TaintedInstrSummary::TaintedInstrSummary(const TaintedInstrSummary& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&asid_, &from.asid_,
    static_cast<size_t>(reinterpret_cast<char*>(&pc_) -
    reinterpret_cast<char*>(&asid_)) + sizeof(pc_));
  // @@protoc_insertion_point(copy_constructor:panda.TaintedInstrSummary)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x50(%rbp)
movq %rsi, -0x58(%rbp)
movq -0x50(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x27320
movq -0x78(%rbp), %rdi
leaq 0x25f7d(%rip), %rax     # 0x46a68
addq $0x10, %rax
movq %rax, (%rdi)
movq -0x58(%rbp), %rax
movl 0x10(%rax), %eax
movl %eax, 0x10(%rdi)
addq $0x14, %rdi
callq 0x272c0
movq -0x78(%rbp), %rcx
addq $0x8, %rcx
movq -0x58(%rbp), %rax
addq $0x8, %rax
movq %rcx, -0x40(%rbp)
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
andq $0x1, %rax
cmpl $0x1, %eax
sete %al
movb %al, -0x65(%rbp)
movb -0x65(%rbp), %al
testb $0x1, %al
jne 0x20b55
jmp 0x20bd5
movq -0x48(%rbp), %rax
movq %rax, -0x28(%rbp)
movq $0x0, -0x30(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x80(%rbp)
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
andq $0x1, %rax
cmpl $0x1, %eax
jne 0x20b9c
movq -0x80(%rbp), %rdi
callq 0x310a0
addq $0x8, %rax
movq %rax, -0x20(%rbp)
jmp 0x20bb6
movq -0x30(%rbp), %rax
callq *%rax
movq %rax, -0x88(%rbp)
jmp 0x20bab
movq -0x88(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rsi
movq -0x70(%rbp), %rdi
callq 0x318d0
jmp 0x20bd3
jmp 0x20bd5
jmp 0x20bd7
movq -0x78(%rbp), %rax
movq %rax, %rdi
addq $0x18, %rdi
movq -0x58(%rbp), %rsi
addq $0x18, %rsi
movq %rax, %rdx
addq $0x20, %rdx
addq $0x18, %rax
subq %rax, %rdx
addq $0x8, %rdx
callq 0x62c0
addq $0x90, %rsp
popq %rbp
retq
movq -0x78(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
callq 0x27300
movq -0x60(%rbp), %rdi
callq 0x6630
nopl (%rax,%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedInstrSummary::Clear()
void TaintedInstrSummary::Clear() {
// @@protoc_insertion_point(message_clear_start:panda.TaintedInstrSummary)
  ::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) {
    ::memset(&asid_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&pc_) -
        reinterpret_cast<char*>(&asid_)) + sizeof(pc_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
movl $0x0, -0x3c(%rbp)
addq $0x10, %rax
movq %rax, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
andl $0x3, %eax
cmpl $0x0, %eax
je 0x20d87
movq -0x48(%rbp), %rax
movq %rax, %rdi
addq $0x18, %rdi
movq %rax, %rdx
addq $0x20, %rdx
addq $0x18, %rax
subq %rax, %rdx
addq $0x8, %rdx
xorl %esi, %esi
callq 0x61a0
movq -0x48(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
xorl %esi, %esi
movl $0x4, %edx
callq 0x61a0
movq -0x48(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x50(%rbp)
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
andq $0x1, %rax
cmpl $0x1, %eax
jne 0x20ddc
movq -0x50(%rbp), %rdi
callq 0x31950
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedInstrSummary::RequiredFieldsByteSizeFallback() const
size_t TaintedInstrSummary::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:panda.TaintedInstrSummary)
  size_t total_size = 0;

  if (_internal_has_asid()) {
    // required uint64 asid = 1;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
        this->_internal_asid());
  }

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

  return total_size;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x18(%rbp)
movq $0x0, -0x10(%rbp)
callq 0x2cd90
testb $0x1, %al
jne 0x21317
jmp 0x21334
movq -0x18(%rbp), %rdi
callq 0x2cd50
movq %rax, %rdi
callq 0x28250
addq $0x1, %rax
addq -0x10(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x18(%rbp), %rdi
callq 0x2cdd0
testb $0x1, %al
jne 0x21343
jmp 0x21360
movq -0x18(%rbp), %rdi
callq 0x2cd70
movq %rax, %rdi
callq 0x28250
addq $0x1, %rax
addq -0x10(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedInstrSummary::MergeFrom(google::protobuf::Message const&)
void TaintedInstrSummary::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:panda.TaintedInstrSummary)
  GOOGLE_DCHECK_NE(&from, this);
  const TaintedInstrSummary* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TaintedInstrSummary>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:panda.TaintedInstrSummary)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:panda.TaintedInstrSummary)
    MergeFrom(*source);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rcx
movq %rcx, -0x70(%rbp)
movq -0x10(%rbp), %rax
movb $0x0, -0x49(%rbp)
cmpq %rcx, %rax
je 0x214aa
jmp 0x214f3
leaq 0x12d55(%rip), %rdx     # 0x34206
leaq -0x48(%rbp), %rdi
movq %rdi, -0x80(%rbp)
movl $0x3, %esi
movl $0x14ea, %ecx           # imm = 0x14EA
callq 0x6590
movq -0x80(%rbp), %rdi
movb $0x1, -0x49(%rbp)
leaq 0x12d3a(%rip), %rsi     # 0x34211
callq 0x65f0
movq %rax, -0x78(%rbp)
jmp 0x214e2
movq -0x78(%rbp), %rsi
leaq -0x5d(%rbp), %rdi
callq 0x64b0
jmp 0x214f1
jmp 0x214f3
testb $0x1, -0x49(%rbp)
jne 0x214fb
jmp 0x21504
leaq -0x48(%rbp), %rdi
callq 0x6620
movq -0x10(%rbp), %rdi
callq 0x2ce10
movq %rax, -0x68(%rbp)
cmpq $0x0, -0x68(%rbp)
jne 0x21546
movq -0x70(%rbp), %rsi
movq -0x10(%rbp), %rdi
callq 0x6350
jmp 0x21553
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
testb $0x1, -0x49(%rbp)
jne 0x2153b
jmp 0x21544
leaq -0x48(%rbp), %rdi
callq 0x6620
jmp 0x2155c
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x21570
addq $0x80, %rsp
popq %rbp
retq
movq -0x58(%rbp), %rdi
callq 0x6630
nopw %cs:(%rax,%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedInstrSummary::CopyFrom(google::protobuf::Message const&)
void TaintedInstrSummary::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:panda.TaintedInstrSummary)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
cmpq %rax, -0x10(%rbp)
jne 0x217d0
jmp 0x217e6
movq -0x18(%rbp), %rdi
callq 0x20d20
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x21480
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintedInstrSummary::CopyFrom(panda::TaintedInstrSummary const&)
void TaintedInstrSummary::CopyFrom(const TaintedInstrSummary& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:panda.TaintedInstrSummary)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
cmpq %rax, -0x10(%rbp)
jne 0x21810
jmp 0x21826
movq -0x18(%rbp), %rdi
callq 0x20d20
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x21570
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::LogEntry::RequiredFieldsByteSizeFallback() const
size_t LogEntry::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:panda.LogEntry)
  size_t total_size = 0;

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

  if (_internal_has_instr()) {
    // required uint64 instr = 2;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
        this->_internal_instr());
  }

  return total_size;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x18(%rbp)
movq $0x0, -0x10(%rbp)
callq 0x2f000
testb $0x1, %al
jne 0x25217
jmp 0x25234
movq -0x18(%rbp), %rdi
callq 0x9400
movq %rax, %rdi
callq 0x28250
addq $0x1, %rax
addq -0x10(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x18(%rbp), %rdi
callq 0x2f040
testb $0x1, %al
jne 0x25243
jmp 0x25260
movq -0x18(%rbp), %rdi
callq 0x90c0
movq %rax, %rdi
callq 0x28250
addq $0x1, %rax
addq -0x10(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::LogEntry::MergeFrom(google::protobuf::Message const&)
void LogEntry::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:panda.LogEntry)
  GOOGLE_DCHECK_NE(&from, this);
  const LogEntry* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<LogEntry>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:panda.LogEntry)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:panda.LogEntry)
    MergeFrom(*source);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rcx
movq %rcx, -0x70(%rbp)
movq -0x10(%rbp), %rax
movb $0x0, -0x49(%rbp)
cmpq %rcx, %rax
je 0x256da
jmp 0x25723
leaq 0xeb25(%rip), %rdx      # 0x34206
leaq -0x48(%rbp), %rdi
movq %rdi, -0x80(%rbp)
movl $0x3, %esi
movl $0x18c1, %ecx           # imm = 0x18C1
callq 0x6590
movq -0x80(%rbp), %rdi
movb $0x1, -0x49(%rbp)
leaq 0xeb0a(%rip), %rsi      # 0x34211
callq 0x65f0
movq %rax, -0x78(%rbp)
jmp 0x25712
movq -0x78(%rbp), %rsi
leaq -0x5d(%rbp), %rdi
callq 0x64b0
jmp 0x25721
jmp 0x25723
testb $0x1, -0x49(%rbp)
jne 0x2572b
jmp 0x25734
leaq -0x48(%rbp), %rdi
callq 0x6620
movq -0x10(%rbp), %rdi
callq 0x2f230
movq %rax, -0x68(%rbp)
cmpq $0x0, -0x68(%rbp)
jne 0x25776
movq -0x70(%rbp), %rsi
movq -0x10(%rbp), %rdi
callq 0x6350
jmp 0x25783
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
testb $0x1, -0x49(%rbp)
jne 0x2576b
jmp 0x25774
leaq -0x48(%rbp), %rdi
callq 0x6620
jmp 0x2578c
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x257a0
addq $0x80, %rsp
popq %rbp
retq
movq -0x58(%rbp), %rdi
callq 0x6630
nopw %cs:(%rax,%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::LogEntry::CopyFrom(google::protobuf::Message const&)
void LogEntry::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:panda.LogEntry)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
cmpq %rax, -0x10(%rbp)
jne 0x25e90
jmp 0x25ea6
movq -0x18(%rbp), %rdi
callq 0x226f0
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x256b0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::LogEntry::CopyFrom(panda::LogEntry const&)
void LogEntry::CopyFrom(const LogEntry& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:panda.LogEntry)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
cmpq %rax, -0x10(%rbp)
jne 0x25ed0
jmp 0x25ee6
movq -0x18(%rbp), %rdi
callq 0x226f0
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x257a0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::DwarfCall::SharedCtor()
void DwarfCall::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_DwarfCall_plog_2eproto.base);
  file_callee_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  function_name_callee_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  file_caller_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(&line_number_callee_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&line_number_caller_) -
      reinterpret_cast<char*>(&line_number_callee_)) + sizeof(line_number_caller_));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
leaq 0x1fa35(%rip), %rdi     # 0x473f0
callq 0x27560
movq -0x10(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x28(%rbp)
callq 0x27a80
movq -0x28(%rbp), %rdi
movq %rax, %rsi
callq 0x27a60
movq -0x10(%rbp), %rax
addq $0x20, %rax
movq %rax, -0x20(%rbp)
callq 0x27a80
movq -0x20(%rbp), %rdi
movq %rax, %rsi
callq 0x27a60
movq -0x10(%rbp), %rax
addq $0x28, %rax
movq %rax, -0x18(%rbp)
callq 0x27a80
movq -0x18(%rbp), %rdi
movq %rax, %rsi
callq 0x27a60
movq -0x10(%rbp), %rax
movq %rax, %rdi
addq $0x30, %rdi
movq %rax, %rdx
addq $0x38, %rdx
addq $0x30, %rax
subq %rax, %rdx
addq $0x8, %rdx
xorl %esi, %esi
callq 0x61a0
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::DwarfCall::SharedDtor()
void DwarfCall::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  file_callee_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  function_name_callee_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  file_caller_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x27600
movb $0x0, -0x41(%rbp)
cmpq $0x0, %rax
jne 0x27c48
jmp 0x27c91
leaq 0xc5b7(%rip), %rdx      # 0x34206
leaq -0x40(%rbp), %rdi
movq %rdi, -0x70(%rbp)
movl $0x3, %esi
movl $0x3bd, %ecx            # imm = 0x3BD
callq 0x6590
movq -0x70(%rbp), %rdi
movb $0x1, -0x41(%rbp)
leaq 0xc8d1(%rip), %rsi      # 0x34546
callq 0x65f0
movq %rax, -0x68(%rbp)
jmp 0x27c80
movq -0x68(%rbp), %rsi
leaq -0x55(%rbp), %rdi
callq 0x64b0
jmp 0x27c8f
jmp 0x27c91
testb $0x1, -0x41(%rbp)
jne 0x27c99
jmp 0x27ca2
leaq -0x40(%rbp), %rdi
callq 0x6620
movq -0x60(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x88(%rbp)
callq 0x27a80
movq -0x88(%rbp), %rdi
movq %rax, %rsi
callq 0x30720
movq -0x60(%rbp), %rax
addq $0x20, %rax
movq %rax, -0x80(%rbp)
callq 0x27a80
movq -0x80(%rbp), %rdi
movq %rax, %rsi
callq 0x30720
movq -0x60(%rbp), %rax
addq $0x28, %rax
movq %rax, -0x78(%rbp)
callq 0x27a80
movq -0x78(%rbp), %rdi
movq %rax, %rsi
callq 0x30720
addq $0x90, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
testb $0x1, -0x41(%rbp)
jne 0x27d1c
jmp 0x27d25
leaq -0x40(%rbp), %rdi
callq 0x6620
jmp 0x27d27
movq -0x50(%rbp), %rdi
callq 0x6630
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::SrcInfoPri::SharedCtor()
void SrcInfoPri::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_SrcInfoPri_plog_2eproto.base);
  filename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  astnodename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(&linenum_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&ast_loc_id_) -
      reinterpret_cast<char*>(&linenum_)) + sizeof(ast_loc_id_));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
leaq 0x1eef5(%rip), %rdi     # 0x47490
callq 0x27560
movq -0x10(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x20(%rbp)
callq 0x27a80
movq -0x20(%rbp), %rdi
movq %rax, %rsi
callq 0x27a60
movq -0x10(%rbp), %rax
addq $0x20, %rax
movq %rax, -0x18(%rbp)
callq 0x27a80
movq -0x18(%rbp), %rdi
movq %rax, %rsi
callq 0x27a60
movq -0x10(%rbp), %rax
movq %rax, %rdi
addq $0x28, %rdi
movq %rax, %rdx
addq $0x30, %rdx
addq $0x28, %rax
subq %rax, %rdx
addq $0x4, %rdx
xorl %esi, %esi
callq 0x61a0
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nop
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::AttackPointPri::SharedCtor()
void AttackPointPri::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_AttackPointPri_plog_2eproto.base);
  ::memset(&call_stack_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&info_) -
      reinterpret_cast<char*>(&call_stack_)) + sizeof(info_));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
leaq 0x1e725(%rip), %rdi     # 0x473b0
callq 0x27560
movq -0x10(%rbp), %rax
movq %rax, %rdi
addq $0x18, %rdi
movq %rax, %rdx
addq $0x28, %rdx
addq $0x18, %rax
subq %rax, %rdx
addq $0x4, %rdx
xorl %esi, %esi
callq 0x61a0
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: moyix[P]pandalog_taint_parser/./plog.pb.h
// Function: panda::AttackPointPri::_internal_mutable_call_stack()
inline ::panda::CallStack* AttackPointPri::_internal_mutable_call_stack() {
  _has_bits_[0] |= 0x00000001u;
  if (call_stack_ == nullptr) {
    auto* p = CreateMaybeMessage<::panda::CallStack>(GetArena());
    call_stack_ = p;
  }
  return call_stack_;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
movq %rax, %rcx
addq $0x10, %rcx
movq %rcx, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movq -0x8(%rbp), %rcx
movslq -0xc(%rbp), %rdx
movl (%rcx,%rdx,4), %esi
orl $0x1, %esi
movl %esi, (%rcx,%rdx,4)
cmpq $0x0, 0x18(%rax)
jne 0x291b2
movq -0x28(%rbp), %rdi
callq 0x27600
movq %rax, %rdi
callq 0x30ae0
movq %rax, %rcx
movq -0x28(%rbp), %rax
movq %rcx, -0x20(%rbp)
movq -0x20(%rbp), %rcx
movq %rcx, 0x18(%rax)
movq -0x28(%rbp), %rax
movq 0x18(%rax), %rax
addq $0x30, %rsp
popq %rbp
retq
// File: moyix[P]pandalog_taint_parser/./plog.pb.h
// Function: panda::AttackPointPri::_internal_mutable_src_info()
inline ::panda::SrcInfoPri* AttackPointPri::_internal_mutable_src_info() {
  _has_bits_[0] |= 0x00000002u;
  if (src_info_ == nullptr) {
    auto* p = CreateMaybeMessage<::panda::SrcInfoPri>(GetArena());
    src_info_ = p;
  }
  return src_info_;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
movq %rax, %rcx
addq $0x10, %rcx
movq %rcx, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movq -0x8(%rbp), %rcx
movslq -0xc(%rbp), %rdx
movl (%rcx,%rdx,4), %esi
orl $0x2, %esi
movl %esi, (%rcx,%rdx,4)
cmpq $0x0, 0x20(%rax)
jne 0x292f2
movq -0x28(%rbp), %rdi
callq 0x27600
movq %rax, %rdi
callq 0x30b00
movq %rax, %rcx
movq -0x28(%rbp), %rax
movq %rcx, -0x20(%rbp)
movq -0x20(%rbp), %rcx
movq %rcx, 0x20(%rax)
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
addq $0x30, %rsp
popq %rbp
retq
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintQueryPri::SharedCtor()
void TaintQueryPri::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_TaintQueryPri_plog_2eproto.base);
  ::memset(&call_stack_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&num_tainted_) -
      reinterpret_cast<char*>(&call_stack_)) + sizeof(num_tainted_));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
leaq 0x1df3d(%rip), %rdi     # 0x474f8
callq 0x27560
movq -0x10(%rbp), %rax
movq %rax, %rdi
addq $0x40, %rdi
movq %rax, %rdx
addq $0x5c, %rdx
addq $0x40, %rax
subq %rax, %rdx
addq $0x4, %rdx
xorl %esi, %esi
callq 0x61a0
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: moyix[P]pandalog_taint_parser/./plog.pb.h
// Function: panda::TaintQueryPri::_internal_mutable_call_stack()
inline ::panda::CallStack* TaintQueryPri::_internal_mutable_call_stack() {
  _has_bits_[0] |= 0x00000001u;
  if (call_stack_ == nullptr) {
    auto* p = CreateMaybeMessage<::panda::CallStack>(GetArena());
    call_stack_ = p;
  }
  return call_stack_;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
movq %rax, %rcx
addq $0x10, %rcx
movq %rcx, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movq -0x8(%rbp), %rcx
movslq -0xc(%rbp), %rdx
movl (%rcx,%rdx,4), %esi
orl $0x1, %esi
movl %esi, (%rcx,%rdx,4)
cmpq $0x0, 0x40(%rax)
jne 0x29b92
movq -0x28(%rbp), %rdi
callq 0x27600
movq %rax, %rdi
callq 0x30ae0
movq %rax, %rcx
movq -0x28(%rbp), %rax
movq %rcx, -0x20(%rbp)
movq -0x20(%rbp), %rcx
movq %rcx, 0x40(%rax)
movq -0x28(%rbp), %rax
movq 0x40(%rax), %rax
addq $0x30, %rsp
popq %rbp
retq
// File: moyix[P]pandalog_taint_parser/./plog.pb.h
// Function: panda::TaintQueryPri::_internal_mutable_src_info()
inline ::panda::SrcInfoPri* TaintQueryPri::_internal_mutable_src_info() {
  _has_bits_[0] |= 0x00000002u;
  if (src_info_ == nullptr) {
    auto* p = CreateMaybeMessage<::panda::SrcInfoPri>(GetArena());
    src_info_ = p;
  }
  return src_info_;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
movq %rax, %rcx
addq $0x10, %rcx
movq %rcx, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movq -0x8(%rbp), %rcx
movslq -0xc(%rbp), %rdx
movl (%rcx,%rdx,4), %esi
orl $0x2, %esi
movl %esi, (%rcx,%rdx,4)
cmpq $0x0, 0x48(%rax)
jne 0x29c02
movq -0x28(%rbp), %rdi
callq 0x27600
movq %rax, %rdi
callq 0x30b00
movq %rax, %rcx
movq -0x28(%rbp), %rax
movq %rcx, -0x20(%rbp)
movq -0x20(%rbp), %rcx
movq %rcx, 0x48(%rax)
movq -0x28(%rbp), %rax
movq 0x48(%rax), %rax
addq $0x30, %rsp
popq %rbp
retq
// File: moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintQuery::SharedCtor()
void TaintQuery::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_TaintQuery_plog_2eproto.base);
  ::memset(&unique_label_set_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&offset_) -
      reinterpret_cast<char*>(&unique_label_set_)) + sizeof(offset_));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
leaq 0x1cb4d(%rip), %rdi     # 0x474a8
callq 0x27560
movq -0x10(%rbp), %rax
movq %rax, %rdi
addq $0x18, %rdi
movq %rax, %rdx
addq $0x2c, %rdx
addq $0x18, %rax
subq %rax, %rdx
addq $0x4, %rdx
xorl %esi, %esi
callq 0x61a0
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)