// File: 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
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x58(%rbp)
movq $0x0, -0x48(%rbp)
addq $0x10, %rax
movq %rax, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movl (%rax,%rcx,4), %eax
andl $0x6000, %eax           # imm = 0x6000
xorl $0x6000, %eax           # imm = 0x6000
cmpl $0x0, %eax
jne 0x252f1
movq -0x58(%rbp), %rdi
callq 0x9400
movq %rax, %rdi
callq 0x28250
movq -0x58(%rbp), %rdi
addq $0x1, %rax
addq -0x48(%rbp), %rax
movq %rax, -0x48(%rbp)
callq 0x90c0
movq %rax, %rdi
callq 0x28250
addq $0x1, %rax
addq -0x48(%rbp), %rax
movq %rax, -0x48(%rbp)
jmp 0x25302
movq -0x58(%rbp), %rdi
callq 0x251f0
addq -0x48(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x58(%rbp), %rax
movl $0x0, -0x4c(%rbp)
addq $0x10, %rax
movq %rax, -0x20(%rbp)
movl $0x0, -0x24(%rbp)
movq -0x20(%rbp), %rax
movslq -0x24(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x4c(%rbp)
movl -0x4c(%rbp), %eax
andl $0xff, %eax
cmpl $0x0, %eax
je 0x25463
movl -0x4c(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x25363
movq -0x58(%rbp), %rdi
callq 0x2cfc0
movq %rax, %rdi
callq 0x281e0
addq $0x1, %rax
addq -0x48(%rbp), %rax
movq %rax, -0x48(%rbp)
movl -0x4c(%rbp), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x25387
movq -0x58(%rbp), %rax
movq 0x20(%rax), %rdi
callq 0x29320
addq $0x1, %rax
addq -0x48(%rbp), %rax
movq %rax, -0x48(%rbp)
movl -0x4c(%rbp), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x253ab
movq -0x58(%rbp), %rax
movq 0x28(%rax), %rdi
callq 0x2f080
addq $0x2, %rax
addq -0x48(%rbp), %rax
movq %rax, -0x48(%rbp)
movl -0x4c(%rbp), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x253cf
movq -0x58(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x2f0b0
addq $0x2, %rax
addq -0x48(%rbp), %rax
movq %rax, -0x48(%rbp)
movl -0x4c(%rbp), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x253f3
movq -0x58(%rbp), %rax
movq 0x38(%rax), %rdi
callq 0x2f0e0
addq $0x2, %rax
addq -0x48(%rbp), %rax
movq %rax, -0x48(%rbp)
movl -0x4c(%rbp), %eax
andl $0x20, %eax
cmpl $0x0, %eax
je 0x25417
movq -0x58(%rbp), %rax
movq 0x40(%rax), %rdi
callq 0x2f110
addq $0x2, %rax
addq -0x48(%rbp), %rax
movq %rax, -0x48(%rbp)
movl -0x4c(%rbp), %eax
andl $0x40, %eax
cmpl $0x0, %eax
je 0x2543b
movq -0x58(%rbp), %rax
movq 0x48(%rax), %rdi
callq 0x2f140
addq $0x2, %rax
addq -0x48(%rbp), %rax
movq %rax, -0x48(%rbp)
movl -0x4c(%rbp), %eax
andl $0x80, %eax
cmpl $0x0, %eax
je 0x25461
movq -0x58(%rbp), %rax
movq 0x50(%rax), %rdi
callq 0x2f170
addq $0x2, %rax
addq -0x48(%rbp), %rax
movq %rax, -0x48(%rbp)
jmp 0x25463
movl -0x4c(%rbp), %eax
andl $0x1f00, %eax           # imm = 0x1F00
cmpl $0x0, %eax
je 0x25534
movl -0x4c(%rbp), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x2549a
movq -0x58(%rbp), %rax
movq 0x58(%rax), %rdi
callq 0x2f170
addq $0x2, %rax
addq -0x48(%rbp), %rax
movq %rax, -0x48(%rbp)
movl -0x4c(%rbp), %eax
andl $0x200, %eax            # imm = 0x200
cmpl $0x0, %eax
je 0x254c0
movq -0x58(%rbp), %rax
movq 0x60(%rax), %rdi
callq 0x2f1a0
addq $0x2, %rax
addq -0x48(%rbp), %rax
movq %rax, -0x48(%rbp)
movl -0x4c(%rbp), %eax
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
je 0x254e6
movq -0x58(%rbp), %rax
movq 0x68(%rax), %rdi
callq 0x2f1d0
addq $0x2, %rax
addq -0x48(%rbp), %rax
movq %rax, -0x48(%rbp)
movl -0x4c(%rbp), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0x2550c
movq -0x58(%rbp), %rax
movq 0x70(%rax), %rdi
callq 0x29350
addq $0x2, %rax
addq -0x48(%rbp), %rax
movq %rax, -0x48(%rbp)
movl -0x4c(%rbp), %eax
andl $0x1000, %eax           # imm = 0x1000
cmpl $0x0, %eax
je 0x25532
movq -0x58(%rbp), %rax
movq 0x78(%rax), %rdi
callq 0x2f200
addq $0x2, %rax
addq -0x48(%rbp), %rax
movq %rax, -0x48(%rbp)
jmp 0x25534
movl -0x4c(%rbp), %eax
andl $0x8000, %eax           # imm = 0x8000
cmpl $0x0, %eax
je 0x2555e
movq -0x58(%rbp), %rdi
callq 0x2ef40
movq %rax, %rdi
callq 0x28250
addq $0x1, %rax
addq -0x48(%rbp), %rax
movq %rax, -0x48(%rbp)
movl -0x4c(%rbp), %eax
andl $0x1f0000, %eax         # imm = 0x1F0000
cmpl $0x0, %eax
je 0x25641
movl -0x4c(%rbp), %eax
andl $0x10000, %eax          # imm = 0x10000
cmpl $0x0, %eax
je 0x25599
movq -0x58(%rbp), %rdi
callq 0x2ef80
movq %rax, %rdi
callq 0x28250
addq $0x1, %rax
addq -0x48(%rbp), %rax
movq %rax, -0x48(%rbp)
movl -0x4c(%rbp), %eax
andl $0x20000, %eax          # imm = 0x20000
cmpl $0x0, %eax
je 0x255c2
movq -0x58(%rbp), %rdi
callq 0x2ef60
movl %eax, %edi
callq 0x28a20
addq $0x1, %rax
addq -0x48(%rbp), %rax
movq %rax, -0x48(%rbp)
movl -0x4c(%rbp), %eax
andl $0x40000, %eax          # imm = 0x40000
cmpl $0x0, %eax
je 0x255eb
movq -0x58(%rbp), %rdi
callq 0x2efc0
movl %eax, %edi
callq 0x28a20
addq $0x1, %rax
addq -0x48(%rbp), %rax
movq %rax, -0x48(%rbp)
movl -0x4c(%rbp), %eax
andl $0x80000, %eax          # imm = 0x80000
cmpl $0x0, %eax
je 0x25615
movq -0x58(%rbp), %rdi
callq 0x2efa0
movq %rax, %rdi
callq 0x28250
addq $0x1, %rax
addq -0x48(%rbp), %rax
movq %rax, -0x48(%rbp)
movl -0x4c(%rbp), %eax
andl $0x100000, %eax         # imm = 0x100000
cmpl $0x0, %eax
je 0x2563f
movq -0x58(%rbp), %rdi
callq 0x2efe0
movq %rax, %rdi
callq 0x28250
addq $0x2, %rax
addq -0x48(%rbp), %rax
movq %rax, -0x48(%rbp)
jmp 0x25641
movq -0x58(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
andq $0x1, %rax
cmpl $0x1, %eax
jne 0x25683
movq -0x58(%rbp), %rdx
movq %rdx, %rdi
addq $0x8, %rdi
movq -0x48(%rbp), %rsi
addq $0x14, %rdx
callq 0x6060
movq %rax, -0x38(%rbp)
jmp 0x256a3
movq -0x48(%rbp), %rdi
callq 0x278f0
movq -0x58(%rbp), %rdi
movl %eax, -0x50(%rbp)
movl -0x50(%rbp), %esi
callq 0x226a0
movq -0x48(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax)