// File: /workspace/github_cpp_makefile_star2_O2/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::LogEntry::ByteSizeLong() const
size_t LogEntry::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:panda.LogEntry)
  size_t total_size = 0;

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

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

  } 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 & 0x000000ffu) {
    // optional string process_name = 4;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_process_name());
    }

    // optional .panda.CallStack call_stack = 10;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *call_stack_);
    }

    // optional .panda.TaintedBranch tainted_branch = 36;
    if (cached_has_bits & 0x00000004u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *tainted_branch_);
    }

    // optional .panda.TaintedInstr tainted_instr = 37;
    if (cached_has_bits & 0x00000008u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *tainted_instr_);
    }

    // optional .panda.TaintQueryHypercall taint_query_hypercall = 38;
    if (cached_has_bits & 0x00000010u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *taint_query_hypercall_);
    }

    // optional .panda.AttackPoint attack_point = 39;
    if (cached_has_bits & 0x00000020u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *attack_point_);
    }

    // optional .panda.TaintedInstrSummary tainted_instr_summary = 56;
    if (cached_has_bits & 0x00000040u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *tainted_instr_summary_);
    }

    // optional .panda.DwarfCall dwarf_call = 66;
    if (cached_has_bits & 0x00000080u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *dwarf_call_);
    }

  }
  if (cached_has_bits & 0x00001f00u) {
    // optional .panda.DwarfCall dwarf_ret = 67;
    if (cached_has_bits & 0x00000100u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *dwarf_ret_);
    }

    // optional .panda.TaintQueryPri taint_query_pri = 68;
    if (cached_has_bits & 0x00000200u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *taint_query_pri_);
    }

    // optional .panda.AttackPointPri attack_point_pri = 69;
    if (cached_has_bits & 0x00000400u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *attack_point_pri_);
    }

    // optional .panda.SrcInfoPri pri_trace_src_info = 70;
    if (cached_has_bits & 0x00000800u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *pri_trace_src_info_);
    }

    // optional .panda.TaintedBranchSummary tainted_branch_summary = 72;
    if (cached_has_bits & 0x00001000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *tainted_branch_summary_);
    }

  }
  // optional uint64 asid = 3;
  if (cached_has_bits & 0x00008000u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
        this->_internal_asid());
  }

  if (cached_has_bits & 0x001f0000u) {
    // optional uint64 taint_label_virtual_addr = 6;
    if (cached_has_bits & 0x00010000u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
          this->_internal_taint_label_virtual_addr());
    }

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

    // optional uint32 taint_label_number = 8;
    if (cached_has_bits & 0x00040000u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_taint_label_number());
    }

    // optional uint64 taint_label_physical_addr = 7;
    if (cached_has_bits & 0x00080000u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
          this->_internal_taint_label_physical_addr());
    }

    // optional uint64 total_instr = 65;
    if (cached_has_bits & 0x00100000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
          this->_internal_total_instr());
    }

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

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movq %rdi, %rbx
movl 0x10(%rdi), %ebp
movl %ebp, %eax
notl %eax
testw $0x6000, %ax            # imm = 0x6000
jne 0x105a4
movq 0x80(%rbx), %rax
movq 0x88(%rbx), %rcx
orq $0x1, %rax
bsrq %rax, %rax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
orq $0x1, %rcx
bsrq %rcx, %rcx
leal (%rcx,%rcx,8), %ecx
addl $0x49, %ecx
shrl $0x6, %ecx
leaq (%rax,%rcx), %r14
addq $0x2, %r14
jmp 0x105af
movq %rbx, %rdi
callq 0x10508
movq %rax, %r14
testb %bpl, %bpl
je 0x10665
testb $0x1, %bpl
je 0x105cd
movq 0x18(%rbx), %rdi
callq 0x11880
addq %rax, %r14
incq %r14
testb $0x2, %bpl
je 0x105e2
movq 0x20(%rbx), %rdi
callq 0x11e20
addq %rax, %r14
incq %r14
testb $0x4, %bpl
je 0x105f8
movq 0x28(%rbx), %rdi
callq 0x13d4e
addq %rax, %r14
addq $0x2, %r14
testb $0x8, %bpl
je 0x1060e
movq 0x30(%rbx), %rdi
callq 0x13d6a
addq %rax, %r14
addq $0x2, %r14
testb $0x10, %bpl
je 0x10624
movq 0x38(%rbx), %rdi
callq 0x13d86
addq %rax, %r14
addq $0x2, %r14
testb $0x20, %bpl
je 0x1063a
movq 0x40(%rbx), %rdi
callq 0x13da2
addq %rax, %r14
addq $0x2, %r14
testb $0x40, %bpl
je 0x10650
movq 0x48(%rbx), %rdi
callq 0x13dbe
addq %rax, %r14
addq $0x2, %r14
testb %bpl, %bpl
jns 0x10665
movq 0x50(%rbx), %rdi
callq 0x13dda
addq %rax, %r14
addq $0x2, %r14
testw $0x1f00, %bp            # imm = 0x1F00
je 0x106da
btl $0x8, %ebp
jae 0x10682
movq 0x58(%rbx), %rdi
callq 0x13dda
addq %rax, %r14
addq $0x2, %r14
btl $0x9, %ebp
jae 0x10698
movq 0x60(%rbx), %rdi
callq 0x13df6
addq %rax, %r14
addq $0x2, %r14
btl $0xa, %ebp
jae 0x106ae
movq 0x68(%rbx), %rdi
callq 0x13e12
addq %rax, %r14
addq $0x2, %r14
btl $0xb, %ebp
jae 0x106c4
movq 0x70(%rbx), %rdi
callq 0x11e3c
addq %rax, %r14
addq $0x2, %r14
btl $0xc, %ebp
jae 0x106da
movq 0x78(%rbx), %rdi
callq 0x13e2e
addq %rax, %r14
addq $0x2, %r14
testw %bp, %bp
jns 0x106fd
movq 0x90(%rbx), %rax
orq $0x1, %rax
bsrq %rax, %rax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
addq %rax, %r14
incq %r14
testl $0x1f0000, %ebp         # imm = 0x1F0000
je 0x107b8
btl $0x10, %ebp
jae 0x1072d
movq 0x98(%rbx), %rax
orq $0x1, %rax
bsrq %rax, %rax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
addq %rax, %r14
incq %r14
btl $0x11, %ebp
jae 0x1074e
movl 0xa0(%rbx), %eax
orl $0x1, %eax
bsrl %eax, %eax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
addq %rax, %r14
incq %r14
btl $0x12, %ebp
jae 0x1076f
movl 0xa4(%rbx), %eax
orl $0x1, %eax
bsrl %eax, %eax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
addq %rax, %r14
incq %r14
btl $0x13, %ebp
jae 0x10793
movq 0xa8(%rbx), %rax
orq $0x1, %rax
bsrq %rax, %rax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
addq %rax, %r14
incq %r14
btl $0x14, %ebp
jae 0x107b8
movq 0xb0(%rbx), %rax
orq $0x1, %rax
bsrq %rax, %rax
leal (%rax,%rax,8), %eax
addl $0x49, %eax
shrl $0x6, %eax
addq %rax, %r14
addq $0x2, %r14
testb $0x1, 0x8(%rbx)
jne 0x107ca
movl %r14d, 0x14(%rbx)
movq %r14, %rax
popq %rbx
popq %r14
popq %rbp
retq
leaq 0x8(%rbx), %rdi
addq $0x14, %rbx
movq %r14, %rsi
movq %rbx, %rdx
popq %rbx
popq %r14
popq %rbp
jmp 0x6050
nop