// File: /workspace/github_cpp_makefile_star2_O1/moyix[P]pandalog_taint_parser/plog.pb.cc
// Function: panda::TaintQueryHypercall::RequiredFieldsByteSizeFallback() const
size_t TaintQueryHypercall::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:panda.TaintQueryHypercall)
  size_t total_size = 0;

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

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

  if (_internal_has_buf()) {
    // required uint64 buf = 1;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
        this->_internal_buf());
  }

  if (_internal_has_len()) {
    // required uint32 len = 2;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_len());
  }

  if (_internal_has_num_tainted()) {
    // required uint32 num_tainted = 4;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
        this->_internal_num_tainted());
  }

  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 0x10cdb
cmpq $0x0, 0x40(%rbx)
jne 0x10cdb
leaq 0x84a4(%rip), %rdx      # 0x19142
leaq 0x10(%rsp), %r14
movq %r14, %rdi
movl $0x3, %esi
movl $0x152e, %ecx           # imm = 0x152E
callq 0x6530
leaq 0x9953(%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 0x10d04
movq 0x40(%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 0x10d07
xorl %r14d, %r14d
movl 0x10(%rbx), %ebp
testb $0x2, %bpl
je 0x10d5b
cmpq $0x0, 0x48(%rbx)
jne 0x10d5b
leaq 0x8424(%rip), %rdx      # 0x19142
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movl $0x3, %esi
movl $0x157f, %ecx           # imm = 0x157F
callq 0x6530
leaq 0x9904(%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 0x10d82
movq 0x48(%rbx), %rdi
callq 0xe3e0
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
movl 0x10(%rbx), %eax
testb $0x4, %al
je 0x10da4
movq 0x50(%rbx), %rcx
orq $0x1, %rcx
bsrq %rcx, %rcx
leal (%rcx,%rcx,8), %ecx
addl $0x49, %ecx
shrl $0x6, %ecx
addq %rcx, %r14
incq %r14
testb $0x8, %al
je 0x10dc0
movl 0x58(%rbx), %ecx
orl $0x1, %ecx
bsrl %ecx, %ecx
leal (%rcx,%rcx,8), %ecx
addl $0x49, %ecx
shrl $0x6, %ecx
addq %rcx, %r14
incq %r14
testb $0x10, %al
je 0x10ddc
movl 0x5c(%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 0x10df0
jmp 0x10df0
jmp 0x10df0
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x65a0
movq %rbx, %rdi
callq 0x65b0
nop