LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: InitDefaultsscc_info_TaintedInstr_plog_2eproto()
static void InitDefaultsscc_info_TaintedInstr_plog_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::panda::_TaintedInstr_default_instance_;
    new (ptr) ::panda::TaintedInstr();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::panda::TaintedInstr::InitAsDefaultInstance();
}

// Assembly:
pushq %rbx
leaq 0xd9f3(%rip), %rdx      # 0x16176
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0x63c0
leaq 0x1a1ef(%rip), %rbx     # 0x22988
movq %rbx, %rdi
callq 0x14030
movq %rbx, %rdi
callq 0x13fe9
leaq 0x19f28(%rip), %rax     # 0x226d8
movq %rax, 0x1a201(%rip)     # 0x229b8
popq %rbx
retq
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: InitDefaultsscc_info_TaintedInstrSummary_plog_2eproto()
static void InitDefaultsscc_info_TaintedInstrSummary_plog_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::panda::_TaintedInstrSummary_default_instance_;
    new (ptr) ::panda::TaintedInstrSummary();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::panda::TaintedInstrSummary::InitAsDefaultInstance();
}

// Assembly:
pushq %rax
leaq 0xd9b5(%rip), %rdx      # 0x16176
movl $0x2df5a4, %edi         # imm = 0x2DF5A4
movl $0x2df5a0, %esi         # imm = 0x2DF5A0
callq 0x63c0
andq $0x0, 0x1a1f0(%rip)     # 0x229c8
leaq 0x1a1e1(%rip), %rdi     # 0x229c0
leaq 0x192b2(%rip), %rax     # 0x21a98
movq %rax, 0x1a1d3(%rip)     # 0x229c0
xorps %xmm0, %xmm0
movups %xmm0, 0x1a1d9(%rip)    # 0x229d0
andq $0x0, 0x1a1e1(%rip)     # 0x229e0
popq %rax
jmp 0x13fe9
nop
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::CallStack::_InternalParse(char const*, google::protobuf::internal::ParseContext*)
const char* CallStack::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // repeated uint64 addr = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          ptr -= 1;
          do {
            ptr += 1;
            _internal_add_addr(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<8>(ptr));
        } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedUInt64Parser(_internal_mutable_addr(), ptr, ctx);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdx, %rbx
movq %rdi, %r14
movq %rsp, %r15
movq %rsi, (%r15)
leaq 0x8(%rdi), %r12
leaq 0x10(%rdi), %rax
movq %rax, 0x10(%rsp)
leaq 0xc(%rsp), %rbp
movq %rbx, %rdi
movq %r15, %rsi
callq 0x1153e
testb %al, %al
jne 0x8a06
movq (%rsp), %rdi
movq %rbp, %rsi
xorl %edx, %edx
callq 0x11546
movq %rax, (%rsp)
testq %rax, %rax
je 0x8a15
movl 0xc(%rsp), %r13d
movl %r13d, %ecx
andl $-0x8, %ecx
cmpl $0x8, %ecx
jne 0x89b6
cmpq $0x8, %r13
jne 0x899e
decq %rax
incq %rax
movq %rax, (%rsp)
movq %r15, %rdi
callq 0x11597
movq %r14, %rdi
movq %rax, %rsi
callq 0x11582
movq (%rsp), %rax
testq %rax, %rax
je 0x8a15
cmpq %rax, (%rbx)
jbe 0x8924
cmpb $0x8, (%rax)
je 0x896b
jmp 0x8924
cmpl $0xa, %r13d
jne 0x89b6
movq 0x10(%rsp), %rdi
movq %rax, %rsi
movq %rbx, %rdx
callq 0x63e0
jmp 0x89e6
testq %r13, %r13
je 0x8a0c
movl %r13d, %ecx
andl $0x7, %ecx
cmpl $0x4, %ecx
je 0x8a0c
movq (%r12), %rsi
testb $0x1, %sil
je 0x89f5
andq $-0x2, %rsi
addq $0x8, %rsi
movq %r13, %rdi
movq %rax, %rdx
movq %rbx, %rcx
callq 0x61c0
movq %rax, (%rsp)
testq %rax, %rax
jne 0x8924
jmp 0x8a15
movq %r12, %rdi
callq 0x144e8
movq %rax, %rsi
movq (%rsp), %rax
jmp 0x89d8
movq (%rsp), %rax
jmp 0x8a17
decl %r13d
movl %r13d, 0x50(%rbx)
jmp 0x8a17
xorl %eax, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::CallStack::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const
::PROTOBUF_NAMESPACE_ID::uint8* CallStack::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:panda.CallStack)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated uint64 addr = 1;
  for (int i = 0, n = this->_internal_addr_size(); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(1, this->_internal_addr(i), target);
  }

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

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rdx, %rbx
movq %rdi, %r14
movl 0x10(%rdi), %r12d
xorl %ebp, %ebp
testl %r12d, %r12d
cmovlel %ebp, %r12d
cmpl %ebp, %r12d
je 0x8a74
movq %rbx, %rdi
callq 0x115ba
movq %rax, %r15
movq %r14, %rdi
movl %ebp, %esi
callq 0x115c8
movb $0x8, (%r15)
incq %r15
movq %rax, %rdi
movq %r15, %rsi
callq 0x1417c
movq %rax, %rsi
incl %ebp
jmp 0x8a41
movq 0x8(%r14), %rdi
testb $0x1, %dil
jne 0x8a8a
movq %rsi, %rax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
andq $-0x2, %rdi
addq $0x8, %rdi
movq %rbx, %rdx
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x61b0
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::CallStack::MergeFrom(google::protobuf::Message const&)
void CallStack::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:panda.CallStack)
  GOOGLE_DCHECK_NE(&from, this);
  const CallStack* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CallStack>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:panda.CallStack)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:panda.CallStack)
    MergeFrom(*source);
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rsi, %rbx
movq %rdi, %r14
cmpq %rdi, %rsi
jne 0x8b2e
leaq 0xd683(%rip), %rdx      # 0x16176
leaq 0x8(%rsp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0x33e, %ecx            # imm = 0x33E
callq 0x6520
leaq 0xd672(%rip), %rsi      # 0x16181
movq %r15, %rdi
callq 0x6570
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6440
leaq 0x8(%rsp), %rdi
callq 0x6590
leaq 0x18673(%rip), %rax     # 0x211a8
cmpq %rax, (%rbx)
je 0x8b47
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6310
jmp 0x8b52
movq %r14, %rdi
movq %rbx, %rsi
callq 0x8b74
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0x8b5e
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x6590
movq %rbx, %rdi
callq 0x65a0
nop
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::CallStack::MergeFrom(panda::CallStack const&)
void CallStack::MergeFrom(const CallStack& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:panda.CallStack)
  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;

  addr_.MergeFrom(from.addr_);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rsi, %rbx
movq %rdi, %r14
cmpq %rdi, %rsi
jne 0x8bca
leaq 0xd5e7(%rip), %rdx      # 0x16176
leaq 0x8(%rsp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0x34d, %ecx            # imm = 0x34D
callq 0x6520
leaq 0xd5d6(%rip), %rsi      # 0x16181
movq %r15, %rdi
callq 0x6570
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6440
leaq 0x8(%rsp), %rdi
callq 0x6590
movq 0x8(%rbx), %rsi
testb $0x1, %sil
je 0x8be5
leaq 0x8(%r14), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x1466a
addq $0x10, %r14
addq $0x10, %rbx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x6300
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0x8c04
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x6590
movq %rbx, %rdi
callq 0x65a0
nop
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::DwarfCall::DwarfCall(panda::DwarfCall const&)
DwarfCall::DwarfCall(const DwarfCall& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  file_callee_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_file_callee()) {
    file_callee_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_file_callee(),
      GetArena());
  }
  function_name_callee_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_function_name_callee()) {
    function_name_callee_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_function_name_callee(),
      GetArena());
  }
  file_caller_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_file_caller()) {
    file_caller_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_file_caller(),
      GetArena());
  }
  ::memcpy(&line_number_callee_, &from.line_number_callee_,
    static_cast<size_t>(reinterpret_cast<char*>(&line_number_caller_) -
    reinterpret_cast<char*>(&line_number_callee_)) + sizeof(line_number_caller_));
  // @@protoc_insertion_point(copy_constructor:panda.DwarfCall)
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
andq $0x0, 0x8(%rdi)
movq %rsi, %r14
leaq 0x18554(%rip), %rax     # 0x21258
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
andl $0x0, 0x14(%rdi)
leaq 0x8(%rdi), %r15
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0x8d2f
andq $-0x2, %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0x1466a
movq 0x1928a(%rip), %r12     # 0x21fc0
movq %r12, 0x18(%rbx)
movl 0x10(%r14), %eax
testb $0x1, %al
je 0x8d62
leaq 0x18(%rbx), %rdi
movq 0x18(%r14), %rdx
movq (%r15), %rcx
testb $0x1, %cl
jne 0x8dc3
movq 0x19267(%rip), %rsi     # 0x21fc0
callq 0x11624
movl 0x10(%r14), %eax
movq %r12, 0x20(%rbx)
testb $0x2, %al
je 0x8d8a
leaq 0x20(%rbx), %rdi
movq 0x20(%r14), %rdx
movq (%r15), %rcx
testb $0x1, %cl
jne 0x8dcc
movq 0x1923f(%rip), %rsi     # 0x21fc0
callq 0x11624
movl 0x10(%r14), %eax
movq %r12, 0x28(%rbx)
testb $0x4, %al
je 0x8dae
leaq 0x28(%rbx), %rdi
movq 0x28(%r14), %rdx
movq (%r15), %rcx
testb $0x1, %cl
jne 0x8dd5
movq 0x19217(%rip), %rsi     # 0x21fc0
callq 0x11624
movups 0x30(%r14), %xmm0
movups %xmm0, 0x30(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
andq $-0x2, %rcx
movq (%rcx), %rcx
jmp 0x8d52
andq $-0x2, %rcx
movq (%rcx), %rcx
jmp 0x8d7a
andq $-0x2, %rcx
movq (%rcx), %rcx
jmp 0x8da2
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::DwarfCall::Clear()
void DwarfCall::Clear() {
// @@protoc_insertion_point(message_clear_start:panda.DwarfCall)
  ::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 & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      file_callee_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      function_name_callee_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000004u) {
      file_caller_.ClearNonDefaultToEmpty();
    }
  }
  if (cached_has_bits & 0x00000018u) {
    ::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_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

// Assembly:
movl 0x10(%rdi), %eax
testb $0x7, %al
je 0x8e70
testb $0x1, %al
je 0x8e4a
movq 0x18(%rdi), %rcx
andq $0x0, 0x8(%rcx)
movq (%rcx), %rcx
movb $0x0, (%rcx)
testb $0x2, %al
je 0x8e5d
movq 0x20(%rdi), %rcx
andq $0x0, 0x8(%rcx)
movq (%rcx), %rcx
movb $0x0, (%rcx)
testb $0x4, %al
je 0x8e70
movq 0x28(%rdi), %rcx
andq $0x0, 0x8(%rcx)
movq (%rcx), %rcx
movb $0x0, (%rcx)
testb $0x18, %al
je 0x8e7b
xorps %xmm0, %xmm0
movups %xmm0, 0x30(%rdi)
andl $0x0, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
jne 0x8e86
retq
addq $0x8, %rdi
jmp 0x14698
nop
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::DwarfCall::RequiredFieldsByteSizeFallback() const
size_t DwarfCall::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:panda.DwarfCall)
  size_t total_size = 0;

  if (_internal_has_file_callee()) {
    // required string file_callee = 1;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_file_callee());
  }

  if (_internal_has_function_name_callee()) {
    // required string function_name_callee = 2;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_function_name_callee());
  }

  if (_internal_has_file_caller()) {
    // required string file_caller = 4;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_file_caller());
  }

  if (_internal_has_line_number_callee()) {
    // required uint64 line_number_callee = 3;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
        this->_internal_line_number_callee());
  }

  if (_internal_has_line_number_caller()) {
    // required uint64 line_number_caller = 5;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
        this->_internal_line_number_caller());
  }

  return total_size;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %r14
movl 0x10(%rdi), %eax
testb $0x1, %al
jne 0x91a0
xorl %ebx, %ebx
jmp 0x91b3
movq 0x18(%r14), %rdi
callq 0x11880
movq %rax, %rbx
incq %rbx
movl 0x10(%r14), %eax
testb $0x2, %al
je 0x91ca
movq 0x20(%r14), %rdi
callq 0x11880
addq %rax, %rbx
incq %rbx
movl 0x10(%r14), %eax
testb $0x4, %al
je 0x91e1
movq 0x28(%r14), %rdi
callq 0x11880
addq %rax, %rbx
incq %rbx
movl 0x10(%r14), %eax
testb $0x8, %al
je 0x9200
movq 0x30(%r14), %rcx
orq $0x1, %rcx
bsrq %rcx, %rcx
leal (%rcx,%rcx,8), %ecx
addl $0x49, %ecx
shrl $0x6, %ecx
addq %rcx, %rbx
incq %rbx
testb $0x10, %al
je 0x921f
movq 0x38(%r14), %rax
orq $0x1, %rax
bsrq %rax, %rax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
addq %rax, %rbx
incq %rbx
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::DwarfCall::ByteSizeLong() const
size_t DwarfCall::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:panda.DwarfCall)
  size_t total_size = 0;

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

    // required string function_name_callee = 2;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_function_name_callee());

    // required string file_caller = 4;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_file_caller());

    // required uint64 line_number_callee = 3;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
        this->_internal_line_number_callee());

    // required uint64 line_number_caller = 5;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
        this->_internal_line_number_caller());

  } 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 $0x1f, %al
jne 0x9299
movq 0x18(%rbx), %rdi
callq 0x11880
movq %rax, %r14
movq 0x20(%rbx), %rdi
callq 0x11880
movq %rax, %r15
movq 0x28(%rbx), %rdi
callq 0x11880
movq 0x30(%rbx), %rcx
movq 0x38(%rbx), %rdx
orq $0x1, %rcx
bsrq %rcx, %rcx
leal (%rcx,%rcx,8), %ecx
addl $0x49, %ecx
shrl $0x6, %ecx
orq $0x1, %rdx
bsrq %rdx, %rdx
leal (%rdx,%rdx,8), %edx
addl $0x49, %edx
shrl $0x6, %edx
addq %r14, %r15
addq %rax, %r15
addq %rcx, %r15
leaq (%rdx,%r15), %rax
addq $0x5, %rax
jmp 0x92a1
movq %rbx, %rdi
callq 0x918e
testb $0x1, 0x8(%rbx)
jne 0x92b0
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
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::DwarfCall::MergeFrom(google::protobuf::Message const&)
void DwarfCall::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:panda.DwarfCall)
  GOOGLE_DCHECK_NE(&from, this);
  const DwarfCall* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<DwarfCall>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:panda.DwarfCall)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:panda.DwarfCall)
    MergeFrom(*source);
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rsi, %rbx
movq %rdi, %r14
cmpq %rdi, %rsi
jne 0x931e
leaq 0xce93(%rip), %rdx      # 0x16176
leaq 0x8(%rsp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0x4d0, %ecx            # imm = 0x4D0
callq 0x6520
leaq 0xce82(%rip), %rsi      # 0x16181
movq %r15, %rdi
callq 0x6570
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6440
leaq 0x8(%rsp), %rdi
callq 0x6590
leaq 0x17f33(%rip), %rax     # 0x21258
cmpq %rax, (%rbx)
je 0x9337
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6310
jmp 0x9342
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9364
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0x934e
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x6590
movq %rbx, %rdi
callq 0x65a0
nop
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::DwarfCall::MergeFrom(panda::DwarfCall const&)
void DwarfCall::MergeFrom(const DwarfCall& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:panda.DwarfCall)
  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_file_callee(from._internal_file_callee());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_set_function_name_callee(from._internal_function_name_callee());
    }
    if (cached_has_bits & 0x00000004u) {
      _internal_set_file_caller(from._internal_file_caller());
    }
    if (cached_has_bits & 0x00000008u) {
      line_number_callee_ = from.line_number_callee_;
    }
    if (cached_has_bits & 0x00000010u) {
      line_number_caller_ = from.line_number_caller_;
    }
    _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 0x93bb
leaq 0xcdf6(%rip), %rdx      # 0x16176
leaq 0x10(%rsp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0x4df, %ecx            # imm = 0x4DF
callq 0x6520
leaq 0xcde5(%rip), %rsi      # 0x16181
movq %r15, %rdi
callq 0x6570
leaq 0xf(%rsp), %rdi
movq %rax, %rsi
callq 0x6440
leaq 0x10(%rsp), %rdi
callq 0x6590
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0x93d6
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x1466a
movl 0x10(%r14), %ebp
testb $0x1f, %bpl
je 0x9435
testb $0x1, %bpl
je 0x93f2
movq 0x18(%r14), %rsi
movq %rbx, %rdi
callq 0x1189a
testb $0x2, %bpl
je 0x9404
movq 0x20(%r14), %rsi
movq %rbx, %rdi
callq 0x118c4
testb $0x4, %bpl
je 0x9416
movq 0x28(%r14), %rsi
movq %rbx, %rdi
callq 0x118ee
testb $0x8, %bpl
je 0x9424
movq 0x30(%r14), %rax
movq %rax, 0x30(%rbx)
testb $0x10, %bpl
je 0x9432
movq 0x38(%r14), %rax
movq %rax, 0x38(%rbx)
orl %ebp, 0x10(%rbx)
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x9442
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x6590
movq %rbx, %rdi
callq 0x65a0
nop
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::SrcInfoPri::SrcInfoPri(panda::SrcInfoPri const&)
SrcInfoPri::SrcInfoPri(const SrcInfoPri& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  filename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_filename()) {
    filename_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_filename(),
      GetArena());
  }
  astnodename_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_astnodename()) {
    astnodename_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_astnodename(),
      GetArena());
  }
  ::memcpy(&linenum_, &from.linenum_,
    static_cast<size_t>(reinterpret_cast<char*>(&ast_loc_id_) -
    reinterpret_cast<char*>(&linenum_)) + sizeof(ast_loc_id_));
  // @@protoc_insertion_point(copy_constructor:panda.SrcInfoPri)
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
andq $0x0, 0x8(%rdi)
movq %rsi, %r14
leaq 0x17c28(%rip), %rax     # 0x21308
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
andl $0x0, 0x14(%rdi)
leaq 0x8(%rdi), %r15
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0x970b
andq $-0x2, %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0x1466a
movq 0x188ae(%rip), %r12     # 0x21fc0
movq %r12, 0x18(%rbx)
movl 0x10(%r14), %eax
testb $0x1, %al
je 0x973e
leaq 0x18(%rbx), %rdi
movq 0x18(%r14), %rdx
movq (%r15), %rcx
testb $0x1, %cl
jne 0x977d
movq 0x1888b(%rip), %rsi     # 0x21fc0
callq 0x11624
movl 0x10(%r14), %eax
movq %r12, 0x20(%rbx)
testb $0x2, %al
je 0x9762
leaq 0x20(%rbx), %rdi
movq 0x20(%r14), %rdx
movq (%r15), %rcx
testb $0x1, %cl
jne 0x9786
movq 0x18863(%rip), %rsi     # 0x21fc0
callq 0x11624
movl 0x30(%r14), %eax
movl %eax, 0x30(%rbx)
movq 0x28(%r14), %rax
movq %rax, 0x28(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
andq $-0x2, %rcx
movq (%rcx), %rcx
jmp 0x972e
andq $-0x2, %rcx
movq (%rcx), %rcx
jmp 0x9756
nop
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::SrcInfoPri::Clear()
void SrcInfoPri::Clear() {
// @@protoc_insertion_point(message_clear_start:panda.SrcInfoPri)
  ::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) {
      filename_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      astnodename_.ClearNonDefaultToEmpty();
    }
  }
  if (cached_has_bits & 0x0000001cu) {
    ::memset(&linenum_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&ast_loc_id_) -
        reinterpret_cast<char*>(&linenum_)) + sizeof(ast_loc_id_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

// Assembly:
movl 0x10(%rdi), %eax
testb $0x3, %al
je 0x980f
testb $0x1, %al
je 0x97fc
movq 0x18(%rdi), %rcx
andq $0x0, 0x8(%rcx)
movq (%rcx), %rcx
movb $0x0, (%rcx)
testb $0x2, %al
je 0x980f
movq 0x20(%rdi), %rcx
andq $0x0, 0x8(%rcx)
movq (%rcx), %rcx
movb $0x0, (%rcx)
testb $0x1c, %al
je 0x981c
andl $0x0, 0x30(%rdi)
andq $0x0, 0x28(%rdi)
andl $0x0, 0x10(%rdi)
testb $0x1, 0x8(%rdi)
jne 0x9827
retq
addq $0x8, %rdi
jmp 0x14698
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::SrcInfoPri::RequiredFieldsByteSizeFallback() const
size_t SrcInfoPri::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:panda.SrcInfoPri)
  size_t total_size = 0;

  if (_internal_has_filename()) {
    // required string filename = 1;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_filename());
  }

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

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

  return total_size;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %r14
movl 0x10(%rdi), %eax
testb $0x1, %al
jne 0x9b0a
xorl %ebx, %ebx
jmp 0x9b1d
movq 0x18(%r14), %rdi
callq 0x11880
movq %rax, %rbx
incq %rbx
movl 0x10(%r14), %eax
testb $0x2, %al
je 0x9b34
movq 0x20(%r14), %rdi
callq 0x11880
addq %rax, %rbx
incq %rbx
movl 0x10(%r14), %eax
testb $0x4, %al
je 0x9b51
movl 0x28(%r14), %eax
orl $0x1, %eax
bsrl %eax, %eax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
addq %rax, %rbx
incq %rbx
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::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 %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movl 0x10(%rdi), %eax
notl %eax
testb $0x7, %al
jne 0x9b9f
movq 0x18(%rbx), %rdi
callq 0x11880
movq %rax, %r14
movq 0x20(%rbx), %rdi
callq 0x11880
movl 0x28(%rbx), %ecx
orl $0x1, %ecx
bsrl %ecx, %ecx
leal (%rcx,%rcx,8), %ecx
addl $0x49, %ecx
shrl $0x6, %ecx
addq %r14, %rax
addq %rcx, %rax
addq $0x3, %rax
jmp 0x9ba7
movq %rbx, %rdi
callq 0x9af8
movl 0x10(%rbx), %ecx
testb $0x18, %cl
je 0x9be9
testb $0x8, %cl
je 0x9bcc
movl 0x2c(%rbx), %edx
orl $0x1, %edx
bsrl %edx, %edx
leal (%rdx,%rdx,8), %edx
addl $0x49, %edx
shrl $0x6, %edx
addq %rdx, %rax
incq %rax
testb $0x10, %cl
je 0x9be9
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 0x9bfa
movl %eax, 0x14(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
leaq 0x8(%rbx), %rdi
addq $0x14, %rbx
movq %rax, %rsi
movq %rbx, %rdx
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x6050
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::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 0x9c6a
leaq 0xc547(%rip), %rdx      # 0x16176
leaq 0x8(%rsp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0x666, %ecx            # imm = 0x666
callq 0x6520
leaq 0xc536(%rip), %rsi      # 0x16181
movq %r15, %rdi
callq 0x6570
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6440
leaq 0x8(%rsp), %rdi
callq 0x6590
leaq 0x17697(%rip), %rax     # 0x21308
cmpq %rax, (%rbx)
je 0x9c83
movq %rbx, %rdi
movq %r14, %rsi
callq 0x6310
jmp 0x9c8e
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9cb0
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0x9c9a
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x6590
movq %rbx, %rdi
callq 0x65a0
nop
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::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 0x9d07
leaq 0xc4aa(%rip), %rdx      # 0x16176
leaq 0x10(%rsp), %r15
pushq $0x3
popq %rsi
movq %r15, %rdi
movl $0x675, %ecx            # imm = 0x675
callq 0x6520
leaq 0xc499(%rip), %rsi      # 0x16181
movq %r15, %rdi
callq 0x6570
leaq 0xf(%rsp), %rdi
movq %rax, %rsi
callq 0x6440
leaq 0x10(%rsp), %rdi
callq 0x6590
movq 0x8(%r14), %rsi
testb $0x1, %sil
je 0x9d22
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x1466a
movl 0x10(%r14), %ebp
testb $0x1f, %bpl
je 0x9d7a
testb $0x1, %bpl
je 0x9d3e
movq 0x18(%r14), %rsi
movq %rbx, %rdi
callq 0x11a78
testb $0x2, %bpl
je 0x9d50
movq 0x20(%r14), %rsi
movq %rbx, %rdi
callq 0x11aa2
testb $0x4, %bpl
je 0x9d5d
movl 0x28(%r14), %eax
movl %eax, 0x28(%rbx)
testb $0x8, %bpl
je 0x9d6a
movl 0x2c(%r14), %eax
movl %eax, 0x2c(%rbx)
testb $0x10, %bpl
je 0x9d77
movl 0x30(%r14), %eax
movl %eax, 0x30(%rbx)
orl %ebp, 0x10(%rbx)
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x9d87
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x6590
movq %rbx, %rdi
callq 0x65a0
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::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 %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x8(%rdi), %r15
movq 0x8(%rdi), %r12
movq 0x8(%rsi), %rsi
testb $0x1, %r12b
jne 0x9e25
testb $0x1, %sil
jne 0x9e2f
xorl %eax, %eax
jmp 0x9e48
testb $0x1, %sil
je 0x9f5f
andq $-0x2, %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0x146c6
movq (%r15), %r12
movl %r12d, %eax
andl $0x1, %eax
movl 0x10(%r14), %ecx
movl 0x10(%rbx), %edx
movl %edx, 0x10(%r14)
movl %ecx, 0x10(%rbx)
leaq 0x18(%r14), %rdi
movq %r12, %r13
testq %rax, %rax
jne 0x9f43
leaq 0x18(%rbx), %rbp
movq (%rdi), %rcx
cmpq 0x1814c(%rip), %rcx     # 0x21fc0
jne 0x9e83
movq (%rbp), %rcx
cmpq 0x1813f(%rip), %rcx     # 0x21fc0
je 0x9ebf
movq 0x18136(%rip), %rsi     # 0x21fc0
movq %r13, %rdx
callq 0x142ea
movq %r15, %r12
movq %rax, %r15
movq %rbp, %rdi
movq 0x1811e(%rip), %rsi     # 0x21fc0
movq %r13, %rdx
callq 0x142ea
movq %r15, %rdi
movq %rax, %rsi
callq 0x6220
movq (%r12), %r12
movl %r12d, %eax
andl $0x1, %eax
leaq 0x20(%r14), %rdi
testq %rax, %rax
jne 0x9f52
leaq 0x20(%rbx), %r15
movq (%rdi), %rax
cmpq 0x180e6(%rip), %rax     # 0x21fc0
jne 0x9ee8
movq (%r15), %rax
cmpq 0x180da(%rip), %rax     # 0x21fc0
je 0x9f16
movq 0x180d1(%rip), %r13     # 0x21fc0
movq %r13, %rsi
movq %r12, %rdx
callq 0x142ea
movq %rax, %rbp
movq %r15, %rdi
movq %r13, %rsi
movq %r12, %rdx
callq 0x142ea
movq %rbp, %rdi
movq %rax, %rsi
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)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %r12, %rcx
andq $-0x2, %rcx
movq (%rcx), %r13
jmp 0x9e66
andq $-0x2, %r12
movq (%r12), %r12
jmp 0x9ecc
leaq 0x8(%rbx), %rdi
callq 0x144e8
movq %rax, %rsi
jmp 0x9e37
// File: /workspace/github_cpp_makefile_star2_O2/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 %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
andq $0x0, 0x8(%rdi)
movq %rsi, %r14
leaq 0x173e9(%rip), %rax     # 0x213b8
movq %rax, (%rdi)
movl 0x10(%rsi), %eax
movl %eax, 0x10(%rdi)
andl $0x0, 0x14(%rdi)
movq 0x8(%rsi), %rsi
testb $0x1, %sil
je 0x9ff7
leaq 0x8(%rbx), %rdi
andq $-0x2, %rsi
addq $0x8, %rsi
callq 0x1466a
movq %r14, %rdi
callq 0x11b0a
testb %al, %al
je 0xa01c
pushq $0x28
popq %rdi
callq 0x6340
movq %rax, %r15
movq 0x18(%r14), %rsi
movq %rax, %rdi
callq 0x8824
jmp 0xa01f
xorl %r15d, %r15d
movq %r15, 0x18(%rbx)
movq %r14, %rdi
callq 0x11b86
testb %al, %al
je 0xa048
pushq $0x38
popq %rdi
callq 0x6340
movq %rax, %r15
movq 0x20(%r14), %rsi
movq %rax, %rdi
callq 0x96c6
jmp 0xa04b
xorl %r15d, %r15d
movq %r15, 0x20(%rbx)
movl 0x28(%r14), %eax
movl %eax, 0x28(%rbx)
popq %rbx
popq %r14
popq %r15
retq
movq %rax, %rbx
pushq $0x38
jmp 0xa068
movq %rax, %rbx
pushq $0x28
popq %rsi
movq %r15, %rdi
callq 0x6350
movq %rbx, %rdi
callq 0x65a0
nop
// File: /workspace/github_cpp_makefile_star2_O2/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 %r14
pushq %rbx
subq $0x40, %rsp
movq %rdi, %rbx
movl 0x10(%rdi), %ebp
testb $0x3, %bpl
je 0xa198
testb $0x1, %bpl
je 0xa13e
movq 0x18(%rbx), %rdi
testq %rdi, %rdi
jne 0xa139
leaq 0xc07c(%rip), %rdx      # 0x16176
leaq 0x8(%rsp), %r14
pushq $0x3
popq %rsi
movq %r14, %rdi
movl $0x71b, %ecx            # imm = 0x71B
callq 0x6520
leaq 0xc121(%rip), %rsi      # 0x16237
movq %r14, %rdi
callq 0x6570
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6440
leaq 0x8(%rsp), %rdi
callq 0x6590
movq 0x18(%rbx), %rdi
callq 0x88e4
testb $0x2, %bpl
je 0xa198
movq 0x20(%rbx), %rdi
testq %rdi, %rdi
jne 0xa193
leaq 0xc022(%rip), %rdx      # 0x16176
leaq 0x8(%rsp), %r14
pushq $0x3
popq %rsi
movq %r14, %rdi
movl $0x71f, %ecx            # imm = 0x71F
callq 0x6520
leaq 0xc0ee(%rip), %rsi      # 0x1625e
movq %r14, %rdi
callq 0x6570
leaq 0x7(%rsp), %rdi
movq %rax, %rsi
callq 0x6440
leaq 0x8(%rsp), %rdi
callq 0x6590
movq 0x20(%rbx), %rdi
callq 0x97e2
andl $0x0, 0x28(%rbx)
andl $0x0, 0x10(%rbx)
testb $0x1, 0x8(%rbx)
je 0xa1b2
addq $0x8, %rbx
movq %rbx, %rdi
callq 0x14698
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0xa1c1
jmp 0xa1c1
jmp 0xa1c1
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x6590
movq %rbx, %rdi
callq 0x65a0
// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::AttackPointPri::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const
::PROTOBUF_NAMESPACE_ID::uint8* AttackPointPri::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:panda.AttackPointPri)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required uint32 info = 1;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(1, this->_internal_info(), target);
  }

  // required .panda.CallStack call_stack = 2;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::call_stack(this), target, stream);
  }

  // required .panda.SrcInfoPri src_info = 3;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::src_info(this), target, stream);
  }

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

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rdi, %r14
movl 0x10(%rdi), %ebp
testb $0x4, %bpl
je 0xa34f
movq %rbx, %rdi
callq 0x115ba
movl 0x28(%r14), %edi
movb $0x8, (%rax)
leaq 0x1(%rax), %rsi
callq 0x1412e
movq %rax, %rsi
testb $0x1, %bpl
je 0xa382
movq %rbx, %rdi
callq 0x115ba
movq 0x18(%r14), %r15
movb $0x12, (%rax)
leaq 0x1(%rax), %rsi
movl 0x20(%r15), %edi
callq 0x1412e
movq %r15, %rdi
movq %rax, %rsi
movq %rbx, %rdx
callq 0x8a26
movq %rax, %rsi
testb $0x2, %bpl
je 0xa3b5
movq %rbx, %rdi
callq 0x115ba
movq 0x20(%r14), %r15
movb $0x1a, (%rax)
leaq 0x1(%rax), %rsi
movl 0x14(%r15), %edi
callq 0x1412e
movq %r15, %rdi
movq %rax, %rsi
movq %rbx, %rdx
callq 0x99dc
movq %rax, %rsi
movq 0x8(%r14), %rdi
testb $0x1, %dil
jne 0xa3cd
movq %rsi, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
andq $-0x2, %rdi
addq $0x8, %rdi
movq %rbx, %rdx
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x61b0
nop
// File: /workspace/github_cpp_makefile_star2_O2/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 %r14
pushq %rbx
pushq %rax
movq %rdi, %r14
callq 0x11b0a
testb %al, %al
je 0xa409
movq 0x18(%r14), %rdi
callq 0x11e20
movq %rax, %rbx
incq %rbx
jmp 0xa40b
xorl %ebx, %ebx
movq %r14, %rdi
callq 0x11b86
testb %al, %al
je 0xa426
movq 0x20(%r14), %rdi
callq 0x11e3c
addq %rax, %rbx
incq %rbx
testb $0x4, 0x10(%r14)
je 0xa446
movl 0x28(%r14), %eax
orl $0x1, %eax
bsrl %eax, %eax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
addq %rax, %rbx
incq %rbx
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
nop
// File: /workspace/github_cpp_makefile_star2_O2/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 %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movl 0x10(%rdi), %eax
notl %eax
testb $0x7, %al
jne 0xa495
movq 0x18(%rbx), %rdi
callq 0x11e20
movq %rax, %r14
movq 0x20(%rbx), %rdi
callq 0x11e3c
movl 0x28(%rbx), %ecx
orl $0x1, %ecx
bsrl %ecx, %ecx
leal (%rcx,%rcx,8), %ecx
addl $0x49, %ecx
shrl $0x6, %ecx
addq %r14, %rax
addq %rcx, %rax
addq $0x3, %rax
jmp 0xa49d
movq %rbx, %rdi
callq 0xa3e8
testb $0x1, 0x8(%rbx)
jne 0xa4ae
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