LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_cpp_makefile_star2_O1/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::SrcInfoPri::ByteSizeLong() const
size_t SrcInfoPri::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:panda.SrcInfoPri)
  size_t total_size = 0;

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

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

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

  } 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 0xaf59
movq 0x18(%rbx), %rax
movq 0x20(%rbx), %rdx
movq 0x8(%rax), %rax
movl %eax, %ecx
orl $0x1, %ecx
bsrl %ecx, %ecx
leal (%rcx,%rcx,8), %ecx
addl $0x49, %ecx
shrl $0x6, %ecx
movq 0x8(%rdx), %rdx
addq %rdx, %rax
orl $0x1, %edx
bsrl %edx, %edx
leal (%rdx,%rdx,8), %edx
addl $0x49, %edx
shrl $0x6, %edx
movl 0x28(%rbx), %esi
orl $0x1, %esi
bsrl %esi, %esi
leal (%rsi,%rsi,8), %esi
addl $0x49, %esi
shrl $0x6, %esi
addq %rcx, %rax
addq %rdx, %rax
addq %rsi, %rax
addq $0x3, %rax
jmp 0xaf61
movq %rbx, %rdi
callq 0xae86
testb $0x18, %bpl
je 0xafa3
testb $0x8, %bpl
je 0xaf85
movl 0x2c(%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 0xafa3
movl 0x30(%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 0xafb3
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
// File: /workspace/github_cpp_makefile_star2_O1/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::SrcInfoPri::MergeFrom(google::protobuf::Message const&)
void SrcInfoPri::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:panda.SrcInfoPri)
  GOOGLE_DCHECK_NE(&from, this);
  const SrcInfoPri* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<SrcInfoPri>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:panda.SrcInfoPri)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:panda.SrcInfoPri)
    MergeFrom(*source);
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rsi, %rbx
movq %rdi, %r14
cmpq %rdi, %rsi
jne 0xb024
leaq 0xf19f(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x666, %ecx            # imm = 0x666
callq 0x6530
leaq 0xf18c(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
cmpq %r14, %rbx
leaq 0x182da(%rip), %rax     # 0x23308
cmpq %rax, (%rbx)
je 0xb040
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6330
jmp 0xb04b
movq %r14, %rdi
movq %rbx, %rsi
callq 0xb06c
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xb057
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
// File: /workspace/github_cpp_makefile_star2_O1/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::SrcInfoPri::MergeFrom(panda::SrcInfoPri const&)
void SrcInfoPri::MergeFrom(const SrcInfoPri& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:panda.SrcInfoPri)
  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) {
      _internal_set_filename(from._internal_filename());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_set_astnodename(from._internal_astnodename());
    }
    if (cached_has_bits & 0x00000004u) {
      linenum_ = from.linenum_;
    }
    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 %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x48, %rsp
movq %rsi, %r14
movq %rdi, %rbx
cmpq %rdi, %rsi
jne 0xb0c5
leaq 0xf0fe(%rip), %rdx      # 0x1a186
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x675, %ecx            # imm = 0x675
callq 0x6530
leaq 0xf0eb(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0xf(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x10(%rsp), %rdi
callq 0x65a0
cmpq %rbx, %r14
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0xb0e3
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x18514
movl 0x10(%r14), %ebp
testb $0x1f, %bpl
je 0xb193
testb $0x1, %bpl
je 0xb12f
movq 0x18(%r14), %rdx
orl $0x1, 0x10(%rbx)
leaq 0x18(%rbx), %rdi
movq 0x8(%rbx), %rsi
testb $0x1, %sil
jne 0xb19e
movq (%rdi), %rax
cmpq 0x18ea5(%rip), %rax     # 0x23fc0
je 0xb12a
movq %rax, %rdi
movq %rdx, %rsi
callq 0x6180
jmp 0xb12f
callq 0x180fe
testb $0x2, %bpl
je 0xb169
movq 0x20(%r14), %rdx
orl $0x2, 0x10(%rbx)
leaq 0x20(%rbx), %rdi
movq 0x8(%rbx), %rsi
testb $0x1, %sil
jne 0xb1aa
movq (%rdi), %rax
cmpq 0x18e6b(%rip), %rax     # 0x23fc0
je 0xb164
movq %rax, %rdi
movq %rdx, %rsi
callq 0x6180
jmp 0xb169
callq 0x180fe
testb $0x4, %bpl
je 0xb176
movl 0x28(%r14), %eax
movl %eax, 0x28(%rbx)
testb $0x8, %bpl
je 0xb183
movl 0x2c(%r14), %eax
movl %eax, 0x2c(%rbx)
testb $0x10, %bpl
je 0xb190
movl 0x30(%r14), %eax
movl %eax, 0x30(%rbx)
orl %ebp, 0x10(%rbx)
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
andq $-0x2, %rsi
movq (%rsi), %rsi
jmp 0xb111
andq $-0x2, %rsi
movq (%rsi), %rsi
jmp 0xb14b
jmp 0xb1b5
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
// File: /workspace/github_cpp_makefile_star2_O1/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::SrcInfoPri::InternalSwap(panda::SrcInfoPri*)
void SrcInfoPri::InternalSwap(SrcInfoPri* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  filename_.Swap(&other->filename_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  astnodename_.Swap(&other->astnodename_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SrcInfoPri, ast_loc_id_)
      + sizeof(SrcInfoPri::ast_loc_id_)
      - PROTOBUF_FIELD_OFFSET(SrcInfoPri, linenum_)>(
          reinterpret_cast<char*>(&linenum_),
          reinterpret_cast<char*>(&other->linenum_));
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x8(%rsi), %rdi
testb $0x1, 0x8(%r14)
jne 0xb245
testb $0x1, (%rdi)
je 0xb266
leaq 0x8(%r14), %r15
movq (%rdi), %rsi
testb $0x1, %sil
je 0xb3c6
andq $-0x2, %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0x18576
movl 0x10(%r14), %eax
movl 0x10(%rbx), %ecx
movl %ecx, 0x10(%r14)
movl %eax, 0x10(%rbx)
leaq 0x18(%r14), %r12
movq 0x8(%r14), %r15
testb $0x1, %r15b
jne 0xb3ae
leaq 0x18(%rbx), %r13
movq (%r12), %rax
cmpq 0x18d2b(%rip), %rax     # 0x23fc0
je 0xb348
movq (%r12), %r12
movq (%r13), %rax
cmpq 0x18d16(%rip), %rax     # 0x23fc0
jne 0xb2be
movq 0x18d0d(%rip), %rdx     # 0x23fc0
movq %r13, %rdi
movq %r15, %rsi
callq 0x180fe
movq (%r13), %rsi
movq %r12, %rdi
callq 0x6220
leaq 0x20(%r14), %r12
movq 0x8(%r14), %r15
testb $0x1, %r15b
jne 0xb3ba
leaq 0x20(%rbx), %r13
movq (%r12), %rax
cmpq 0x18cd5(%rip), %rax     # 0x23fc0
je 0xb37d
movq (%r12), %r12
movq (%r13), %rax
cmpq 0x18cc0(%rip), %rax     # 0x23fc0
jne 0xb314
movq 0x18cb7(%rip), %rdx     # 0x23fc0
movq %r13, %rdi
movq %r15, %rsi
callq 0x180fe
movq (%r13), %rsi
movq %r12, %rdi
callq 0x6220
movq 0x28(%r14), %rax
movq 0x28(%rbx), %rcx
movq %rcx, 0x28(%r14)
movq %rax, 0x28(%rbx)
movl 0x30(%r14), %eax
movl 0x30(%rbx), %ecx
movl %ecx, 0x30(%r14)
movl %eax, 0x30(%rbx)
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
movq (%r13), %rcx
cmpq 0x18c6d(%rip), %rcx     # 0x23fc0
je 0xb2ca
cmpq 0x18c60(%rip), %rax     # 0x23fc0
jne 0xb29b
movq 0x18c53(%rip), %rdx     # 0x23fc0
movq %r12, %rdi
movq %r15, %rsi
callq 0x180fe
jmp 0xb29b
movq (%r13), %rcx
cmpq 0x18c38(%rip), %rcx     # 0x23fc0
je 0xb320
cmpq 0x18c2f(%rip), %rax     # 0x23fc0
jne 0xb2f1
movq 0x18c22(%rip), %rdx     # 0x23fc0
movq %r12, %rdi
movq %r15, %rsi
callq 0x180fe
jmp 0xb2f1
andq $-0x2, %r15
movq (%r15), %r15
jmp 0xb286
andq $-0x2, %r15
movq (%r15), %r15
jmp 0xb2dc
callq 0x1839e
movq %rax, %rsi
jmp 0xb25e
nop
// File: /workspace/github_cpp_makefile_star2_O1/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::AttackPointPri::AttackPointPri(panda::AttackPointPri const&)
AttackPointPri::AttackPointPri(const AttackPointPri& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_call_stack()) {
    call_stack_ = new ::panda::CallStack(*from.call_stack_);
  } else {
    call_stack_ = nullptr;
  }
  if (from._internal_has_src_info()) {
    src_info_ = new ::panda::SrcInfoPri(*from.src_info_);
  } else {
    src_info_ = nullptr;
  }
  info_ = from.info_;
  // @@protoc_insertion_point(copy_constructor:panda.AttackPointPri)
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x40, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movq $0x0, 0x8(%rdi)
leaq 0x17f37(%rip), %rax     # 0x233b8
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
movl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0xb4ac
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x18514
movl 0x10(%r14), %ebp
testb $0x1, %bpl
je 0xb501
cmpq $0x0, 0x18(%r14)
jne 0xb501
leaq 0xdc7e(%rip), %rdx      # 0x19142
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x106b, %ecx           # imm = 0x106B
callq 0x6530
leaq 0xf12d(%rip), %rsi      # 0x1a60f
movq %r15, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
testb $0x1, %bpl
je 0xb525
movq 0x18(%r14), %r12
movl $0x28, %edi
callq 0x6360
movq %rax, %r15
movq %rax, %rdi
movq %r12, %rsi
callq 0x91e0
jmp 0xb528
xorl %r15d, %r15d
movq %r15, 0x18(%rbx)
movl 0x10(%r14), %ebp
testb $0x2, %bpl
je 0xb581
cmpq $0x0, 0x20(%r14)
jne 0xb581
leaq 0xdbfe(%rip), %rdx      # 0x19142
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x10bc, %ecx           # imm = 0x10BC
callq 0x6530
leaq 0xf0de(%rip), %rsi      # 0x1a640
movq %r15, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
testb $0x2, %bpl
je 0xb5a5
movq 0x20(%r14), %r12
movl $0x38, %edi
callq 0x6360
movq %rax, %r15
movq %rax, %rdi
movq %r12, %rsi
callq 0xa738
jmp 0xb5a8
xorl %r15d, %r15d
movq %r15, 0x20(%rbx)
movl 0x28(%r14), %eax
movl %eax, 0x28(%rbx)
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0xb5e2
movq %rax, %rbx
movl $0x38, %esi
jmp 0xb5d8
jmp 0xb5e2
jmp 0xb5e2
movq %rax, %rbx
movl $0x28, %esi
movq %r15, %rdi
callq 0x6370
jmp 0xb5ef
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
nop
// File: /workspace/github_cpp_makefile_star2_O1/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::AttackPointPri::Clear()
void AttackPointPri::Clear() {
// @@protoc_insertion_point(message_clear_start:panda.AttackPointPri)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x78, %rsp
movq %rdi, %rbx
movl 0x10(%rdi), %ebp
testb $0x3, %bpl
je 0xb745
testb $0x1, %bpl
je 0xb6e6
movq 0x18(%rbx), %r15
testq %r15, %r15
jne 0xb6c9
leaq 0xeafa(%rip), %rdx      # 0x1a186
leaq 0x40(%rsp), %r14
movq %r14, %rdi
movl $0x3, %esi
movl $0x71b, %ecx            # imm = 0x71B
callq 0x6530
leaq 0xeb9d(%rip), %rsi      # 0x1a247
movq %r14, %rdi
callq 0x6580
leaq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x40(%rsp), %rdi
callq 0x65a0
testq %r15, %r15
movq 0x18(%rbx), %rdi
movl $0x0, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
je 0xb6e6
addq $0x8, %rdi
callq 0x18542
testb $0x2, %bpl
je 0xb745
movq 0x20(%rbx), %r15
testq %r15, %r15
jne 0xb739
leaq 0xea8a(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x3, %esi
movl $0x71f, %ecx            # imm = 0x71F
callq 0x6530
leaq 0xeb54(%rip), %rsi      # 0x1a26e
movq %r14, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
testq %r15, %r15
movq 0x20(%rbx), %rdi
callq 0xa85e
xorl %eax, %eax
movl %eax, 0x28(%rbx)
movl %eax, 0x10(%rbx)
testb $0x1, 0x8(%rbx)
je 0xb75f
addq $0x8, %rbx
movq %rbx, %rdi
callq 0x18542
addq $0x78, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0xb76e
jmp 0xb778
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
jmp 0xb780
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
nop
// File: /workspace/github_cpp_makefile_star2_O1/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::AttackPointPri::RequiredFieldsByteSizeFallback() const
size_t AttackPointPri::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:panda.AttackPointPri)
  size_t total_size = 0;

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

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

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

  return total_size;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
movl 0x10(%rdi), %ebp
testb $0x1, %bpl
je 0xbbad
cmpq $0x0, 0x18(%rbx)
jne 0xbbad
leaq 0xd5d2(%rip), %rdx      # 0x19142
leaq 0x10(%rsp), %r14
movq %r14, %rdi
movl $0x3, %esi
movl $0x106b, %ecx           # imm = 0x106B
callq 0x6530
leaq 0xea81(%rip), %rsi      # 0x1a60f
movq %r14, %rdi
callq 0x6580
leaq 0xf(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x10(%rsp), %rdi
callq 0x65a0
testb $0x1, %bpl
je 0xbbd6
movq 0x18(%rbx), %rdi
callq 0x962c
movl %eax, %ecx
orl $0x1, %ecx
bsrl %ecx, %ecx
leal (%rcx,%rcx,8), %ecx
addl $0x49, %ecx
shrl $0x6, %ecx
leaq (%rax,%rcx), %r14
incq %r14
jmp 0xbbd9
xorl %r14d, %r14d
movl 0x10(%rbx), %ebp
testb $0x2, %bpl
je 0xbc2d
cmpq $0x0, 0x20(%rbx)
jne 0xbc2d
leaq 0xd552(%rip), %rdx      # 0x19142
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x10bc, %ecx           # imm = 0x10BC
callq 0x6530
leaq 0xea32(%rip), %rsi      # 0x1a640
movq %r15, %rdi
callq 0x6580
leaq 0xf(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x10(%rsp), %rdi
callq 0x65a0
testb $0x2, %bpl
je 0xbc54
movq 0x20(%rbx), %rdi
callq 0xaef4
addq %rax, %r14
orl $0x1, %eax
bsrl %eax, %eax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
addq %rax, %r14
incq %r14
testb $0x4, 0x10(%rbx)
je 0xbc72
movl 0x28(%rbx), %eax
orl $0x1, %eax
bsrl %eax, %eax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
addq %rax, %r14
incq %r14
movq %r14, %rax
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0xbc86
jmp 0xbc86
jmp 0xbc86
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
nop
// File: /workspace/github_cpp_makefile_star2_O1/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::AttackPointPri::ByteSizeLong() const
size_t AttackPointPri::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:panda.AttackPointPri)
  size_t total_size = 0;

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

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

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

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

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

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
movl 0x10(%rdi), %eax
notl %eax
testb $0x7, %al
jne 0xbd08
movq 0x18(%rbx), %rdi
callq 0x962c
movq %rax, %r14
orl $0x1, %eax
bsrl %eax, %eax
leal (%rax,%rax,8), %r15d
addl $0x49, %r15d
shrl $0x6, %r15d
movq 0x20(%rbx), %rdi
callq 0xaef4
addq %rax, %r14
orl $0x1, %eax
bsrl %eax, %eax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
movl 0x28(%rbx), %ecx
orl $0x1, %ecx
bsrl %ecx, %ecx
leal (%rcx,%rcx,8), %ecx
addl $0x49, %ecx
shrl $0x6, %ecx
addq %r15, %r14
addq %rax, %r14
leaq (%rcx,%r14), %rax
addq $0x3, %rax
jmp 0xbd10
movq %rbx, %rdi
callq 0xbb4c
testb $0x1, 0x8(%rbx)
jne 0xbd1f
movl %eax, 0x14(%rbx)
popq %rbx
popq %r14
popq %r15
retq
leaq 0x8(%rbx), %rdi
addq $0x14, %rbx
movq %rax, %rsi
movq %rbx, %rdx
popq %rbx
popq %r14
popq %r15
jmp 0x6050
nop
// File: /workspace/github_cpp_makefile_star2_O1/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 0xbd90
leaq 0xe433(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x7c4, %ecx            # imm = 0x7C4
callq 0x6530
leaq 0xe420(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
cmpq %r14, %rbx
leaq 0x1761e(%rip), %rax     # 0x233b8
cmpq %rax, (%rbx)
je 0xbdac
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6330
jmp 0xbdb7
movq %r14, %rdi
movq %rbx, %rsi
callq 0xbdd8
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xbdc3
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
// File: /workspace/github_cpp_makefile_star2_O1/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 0xbe31
leaq 0xe392(%rip), %rdx      # 0x1a186
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x7d3, %ecx            # imm = 0x7D3
callq 0x6530
leaq 0xe37f(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0xf(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x10(%rsp), %rdi
callq 0x65a0
cmpq %rbx, %r14
leaq 0x8(%rbx), %r15
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0xbe52
andq $-0x2, %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0x18514
movl 0x10(%r14), %ebp
testb $0x7, %bpl
je 0xbeec
testb $0x1, %bpl
je 0xbe9e
orb $0x1, 0x10(%rbx)
cmpq $0x0, 0x18(%rbx)
jne 0xbe83
movq (%r15), %rdi
testb $0x1, %dil
jne 0xbef7
callq 0x16a54
movq %rax, 0x18(%rbx)
movq 0x18(%rbx), %rdi
movq 0x18(%r14), %rax
testq %rax, %rax
leaq 0x18843(%rip), %rsi     # 0x246d8
cmovneq %rax, %rsi
callq 0x9702
testb $0x2, %bpl
je 0xbedc
orb $0x2, 0x10(%rbx)
cmpq $0x0, 0x20(%rbx)
jne 0xbec1
movq (%r15), %rdi
testb $0x1, %dil
jne 0xbf03
callq 0x16b50
movq %rax, 0x20(%rbx)
movq 0x20(%rbx), %rdi
movq 0x20(%r14), %rax
testq %rax, %rax
leaq 0x1886d(%rip), %rsi     # 0x24740
cmovneq %rax, %rsi
callq 0xb06c
testb $0x4, %bpl
je 0xbee9
movl 0x28(%r14), %eax
movl %eax, 0x28(%rbx)
orl %ebp, 0x10(%rbx)
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
andq $-0x2, %rdi
movq (%rdi), %rdi
jmp 0xbe7a
andq $-0x2, %rdi
movq (%rdi), %rdi
jmp 0xbeb8
jmp 0xbf0e
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
nop
// File: /workspace/github_cpp_makefile_star2_O1/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 %r15
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x8(%rsi), %rdi
testb $0x1, 0x8(%r14)
jne 0xc01f
testb $0x1, (%rdi)
je 0xc03c
leaq 0x8(%r14), %r15
movq (%rdi), %rsi
testb $0x1, %sil
je 0xc070
andq $-0x2, %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0x18576
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)
popq %rbx
popq %r14
popq %r15
retq
callq 0x1839e
movq %rax, %rsi
jmp 0xc034
// File: /workspace/github_cpp_makefile_star2_O1/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 %r15
pushq %r14
pushq %rbx
subq $0x78, %rsp
movq %rdi, %rbx
movl $0x0, 0x18(%rdi)
addq $0x28, %rdi
callq 0x1846e
movl 0x10(%rbx), %ebp
testb $0x3, %bpl
je 0xc499
testb $0x1, %bpl
je 0xc43a
movq 0x40(%rbx), %r15
testq %r15, %r15
jne 0xc41d
leaq 0xdda6(%rip), %rdx      # 0x1a186
leaq 0x40(%rsp), %r14
movq %r14, %rdi
movl $0x3, %esi
movl $0x882, %ecx            # imm = 0x882
callq 0x6530
leaq 0xde49(%rip), %rsi      # 0x1a247
movq %r14, %rdi
callq 0x6580
leaq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x40(%rsp), %rdi
callq 0x65a0
testq %r15, %r15
movq 0x40(%rbx), %rdi
movl $0x0, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
je 0xc43a
addq $0x8, %rdi
callq 0x18542
testb $0x2, %bpl
je 0xc499
movq 0x48(%rbx), %r15
testq %r15, %r15
jne 0xc48d
leaq 0xdd36(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x3, %esi
movl $0x886, %ecx            # imm = 0x886
callq 0x6530
leaq 0xde00(%rip), %rsi      # 0x1a26e
movq %r14, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
testq %r15, %r15
movq 0x48(%rbx), %rdi
callq 0xa85e
testb $0x1c, %bpl
je 0xc4a6
xorps %xmm0, %xmm0
movups %xmm0, 0x50(%rbx)
movl $0x0, 0x10(%rbx)
testb $0x1, 0x8(%rbx)
je 0xc4bf
addq $0x8, %rbx
movq %rbx, %rdi
callq 0x18542
addq $0x78, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0xc4ce
jmp 0xc4d8
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
jmp 0xc4e0
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
nop
// File: /workspace/github_cpp_makefile_star2_O1/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 0xd0d4
leaq 0xd0ef(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x99c, %ecx            # imm = 0x99C
callq 0x6530
leaq 0xd0dc(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
cmpq %r14, %rbx
leaq 0x1638a(%rip), %rax     # 0x23468
cmpq %rax, (%rbx)
je 0xd0f0
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6330
jmp 0xd0fb
movq %r14, %rdi
movq %rbx, %rsi
callq 0xd11c
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xd107
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
// File: /workspace/github_cpp_makefile_star2_O1/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 0xd175
leaq 0xd04e(%rip), %rdx      # 0x1a186
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x9ab, %ecx            # imm = 0x9AB
callq 0x6530
leaq 0xd03b(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0xf(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x10(%rsp), %rdi
callq 0x65a0
cmpq %rbx, %r14
leaq 0x8(%rbx), %r15
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0xd196
andq $-0x2, %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0x18514
leaq 0x18(%rbx), %rdi
leaq 0x18(%r14), %rsi
callq 0x64d0
leaq 0x28(%rbx), %rdi
leaq 0x28(%r14), %rsi
callq 0x186ea
movl 0x10(%r14), %ebp
testb $0x1f, %bpl
je 0xd269
testb $0x1, %bpl
je 0xd200
orb $0x1, 0x10(%rbx)
cmpq $0x0, 0x40(%rbx)
jne 0xd1e5
movq (%r15), %rdi
testb $0x1, %dil
jne 0xd274
callq 0x16a54
movq %rax, 0x40(%rbx)
movq 0x40(%rbx), %rdi
movq 0x40(%r14), %rax
testq %rax, %rax
leaq 0x174e1(%rip), %rsi     # 0x246d8
cmovneq %rax, %rsi
callq 0x9702
testb $0x2, %bpl
je 0xd23e
orb $0x2, 0x10(%rbx)
cmpq $0x0, 0x48(%rbx)
jne 0xd223
movq (%r15), %rdi
testb $0x1, %dil
jne 0xd280
callq 0x16b50
movq %rax, 0x48(%rbx)
movq 0x48(%rbx), %rdi
movq 0x48(%r14), %rax
testq %rax, %rax
leaq 0x1750b(%rip), %rsi     # 0x24740
cmovneq %rax, %rsi
callq 0xb06c
testb $0x4, %bpl
je 0xd24c
movq 0x50(%r14), %rax
movq %rax, 0x50(%rbx)
testb $0x8, %bpl
je 0xd259
movl 0x58(%r14), %eax
movl %eax, 0x58(%rbx)
testb $0x10, %bpl
je 0xd266
movl 0x5c(%r14), %eax
movl %eax, 0x5c(%rbx)
orl %ebp, 0x10(%rbx)
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
andq $-0x2, %rdi
movq (%rdi), %rdi
jmp 0xd1dc
andq $-0x2, %rdi
movq (%rdi), %rdi
jmp 0xd21a
jmp 0xd28b
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
// File: /workspace/github_cpp_makefile_star2_O1/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 %r15
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x8(%rsi), %rdi
testb $0x1, 0x8(%r14)
jne 0xd3b9
testb $0x1, (%rdi)
je 0xd3d6
leaq 0x8(%r14), %r15
movq (%rdi), %rsi
testb $0x1, %sil
je 0xd428
andq $-0x2, %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0x18576
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 0x18854
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)
popq %rbx
popq %r14
popq %r15
retq
callq 0x1839e
movq %rax, %rsi
jmp 0xd3ce
// File: /workspace/github_cpp_makefile_star2_O1/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 0xd9d0
xorl %r14d, %r14d
jmp 0xd9eb
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 0xda0e
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_O1/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 0xda80
leaq 0xc743(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0xaad, %ecx            # imm = 0xAAD
callq 0x6530
leaq 0xc730(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
cmpq %r14, %rbx
leaq 0x15a8e(%rip), %rax     # 0x23518
cmpq %rax, (%rbx)
je 0xda9c
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6330
jmp 0xdaa7
movq %r14, %rdi
movq %rbx, %rsi
callq 0xdac8
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xdab3
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
// File: /workspace/github_cpp_makefile_star2_O1/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 0xdb20
leaq 0xc6a3(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0xabc, %ecx            # imm = 0xABC
callq 0x6530
leaq 0xc690(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
cmpq %rbx, %r14
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0xdb3e
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x18514
leaq 0x18(%rbx), %rdi
leaq 0x18(%r14), %rsi
callq 0x64d0
testb $0x1, 0x10(%r14)
je 0xdb5e
movq 0x28(%r14), %rax
orl $0x1, 0x10(%rbx)
movq %rax, 0x28(%rbx)
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xdb6a
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
nop
// File: /workspace/github_cpp_makefile_star2_O1/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintQueryUniqueLabelSet::CopyFrom(google::protobuf::Message const&)
void TaintQueryUniqueLabelSet::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:panda.TaintQueryUniqueLabelSet)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

// Assembly:
cmpq %rdi, %rsi
je 0xdc02
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
xorl %eax, %eax
movl %eax, 0x18(%rdi)
movq $0x0, 0x28(%rdi)
movl %eax, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
je 0xdbf0
leaq 0x8(%r14), %rdi
callq 0x18542
movq %r14, %rdi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xdac8
retq
nop
// File: /workspace/github_cpp_makefile_star2_O1/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 %r15
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x8(%rsi), %rdi
testb $0x1, 0x8(%r14)
jne 0xdc25
testb $0x1, (%rdi)
je 0xdc42
leaq 0x8(%r14), %r15
movq (%rdi), %rsi
testb $0x1, %sil
je 0xdc73
andq $-0x2, %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0x18576
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)
popq %rbx
popq %r14
popq %r15
retq
callq 0x1839e
movq %rax, %rsi
jmp 0xdc3a
nop
// File: /workspace/github_cpp_makefile_star2_O1/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::SrcInfo::SrcInfo(panda::SrcInfo const&)
SrcInfo::SrcInfo(const SrcInfo& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&filename_, &from.filename_,
    static_cast<size_t>(reinterpret_cast<char*>(&ast_loc_id_) -
    reinterpret_cast<char*>(&filename_)) + sizeof(ast_loc_id_));
  // @@protoc_insertion_point(copy_constructor:panda.SrcInfo)
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movq $0x0, 0x8(%rdi)
leaq 0x158f5(%rip), %rax     # 0x235c8
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
movl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0xdcfe
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x18514
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_O1/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 0xe430
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 0xe438
movq %rbx, %rdi
callq 0xe384
testb $0x18, %bpl
je 0xe47a
testb $0x8, %bpl
je 0xe45c
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 0xe47a
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 0xe48a
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_O1/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 0xe4fc
leaq 0xbcc7(%rip), %rdx      # 0x1a186
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0xc08, %ecx            # imm = 0xC08
callq 0x6530
leaq 0xbcb4(%rip), %rsi      # 0x1a191
movq %r15, %rdi
callq 0x6580
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6450
leaq 0x8(%rsp), %rdi
callq 0x65a0
cmpq %r14, %rbx
leaq 0x150c2(%rip), %rax     # 0x235c8
cmpq %rax, (%rbx)
je 0xe518
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6330
jmp 0xe523
movq %r14, %rdi
movq %rbx, %rsi
callq 0xe544
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xe52f
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0