// File: WeihuaZhu[P]hpc_prog2/./gtest/gtest-all.cc
// Function: testing::internal::ForkingDeathTest::Wait()
int ForkingDeathTest::Wait() {
  if (!spawned())
    return 0;

  ReadAndInterpretStatusByte();

  int status_value;
  GTEST_DEATH_TEST_CHECK_SYSCALL_(waitpid(child_pid_, &status_value, 0));
  set_status(status_value);
  return status_value;
}

// Assembly:
subq $0x158, %rsp            # imm = 0x158
movq %rdi, 0x148(%rsp)
movq 0x148(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x39f20
testb $0x1, %al
jne 0x2ada5
movl $0x0, 0x154(%rsp)
jmp 0x2b0a9
movq 0x18(%rsp), %rdi
callq 0x296c0
jmp 0x2adb1
movq 0x18(%rsp), %rax
movl 0x2c(%rax), %edi
leaq 0x144(%rsp), %rsi
xorl %edx, %edx
callq 0xe7c0
movl %eax, 0x140(%rsp)
xorl %eax, %eax
cmpl $-0x1, 0x140(%rsp)
movb %al, 0x17(%rsp)
jne 0x2adee
callq 0xe080
cmpl $0x4, (%rax)
sete %al
movb %al, 0x17(%rsp)
movb 0x17(%rsp), %al
testb $0x1, %al
jne 0x2adb1
cmpl $-0x1, 0x140(%rsp)
jne 0x2b07b
leaq 0x5f(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xf420
movq 0x8(%rsp), %rdx
leaq 0x22a05(%rip), %rsi     # 0x4d824
leaq 0x60(%rsp), %rdi
callq 0x32980
jmp 0x2ae2b
leaq 0x21acd(%rip), %rdx     # 0x4c8ff
leaq 0x80(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x32c70
jmp 0x2ae46
leaq 0x229eb(%rip), %rdx     # 0x4d838
leaq 0xa0(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x32c70
jmp 0x2ae64
movl $0x1c84, 0x24(%rsp)     # imm = 0x1C84
leaq 0x28(%rsp), %rdi
leaq 0x24(%rsp), %rsi
callq 0x370b0
jmp 0x2ae7d
leaq 0xc0(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
leaq 0x28(%rsp), %rdx
callq 0x36fc0
jmp 0x2ae99
leaq 0x21cdb(%rip), %rdx     # 0x4cb7b
leaq 0xe0(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x32c70
jmp 0x2aeb7
leaq 0x22b0c(%rip), %rdx     # 0x4d9ca
leaq 0x100(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x32c70
jmp 0x2aed5
leaq 0x22b79(%rip), %rdx     # 0x4da55
leaq 0x120(%rsp), %rdi
leaq 0x100(%rsp), %rsi
callq 0x32c70
jmp 0x2aef3
leaq 0x120(%rsp), %rdi
callq 0x293e0
jmp 0x2af02
leaq 0x120(%rsp), %rdi
callq 0xf698
leaq 0x100(%rsp), %rdi
callq 0xf698
leaq 0xe0(%rsp), %rdi
callq 0xf698
leaq 0xc0(%rsp), %rdi
callq 0xf698
leaq 0x28(%rsp), %rdi
callq 0xf698
leaq 0xa0(%rsp), %rdi
callq 0xf698
leaq 0x80(%rsp), %rdi
callq 0xf698
leaq 0x60(%rsp), %rdi
callq 0xf698
leaq 0x5f(%rsp), %rdi
callq 0xeb40
jmp 0x2b07b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
jmp 0x2b06f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
jmp 0x2b065
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
jmp 0x2b058
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
jmp 0x2b04b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
jmp 0x2b041
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
jmp 0x2b034
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
jmp 0x2b027
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
jmp 0x2b01a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
leaq 0x120(%rsp), %rdi
callq 0xf698
leaq 0x100(%rsp), %rdi
callq 0xf698
leaq 0xe0(%rsp), %rdi
callq 0xf698
leaq 0xc0(%rsp), %rdi
callq 0xf698
leaq 0x28(%rsp), %rdi
callq 0xf698
leaq 0xa0(%rsp), %rdi
callq 0xf698
leaq 0x80(%rsp), %rdi
callq 0xf698
leaq 0x60(%rsp), %rdi
callq 0xf698
leaq 0x5f(%rsp), %rdi
callq 0xeb40
jmp 0x2b0b8
jmp 0x2b07d
callq 0x39eb0
testb $0x1, %al
jne 0x2adaf
movq 0x18(%rsp), %rdi
movl 0x144(%rsp), %esi
callq 0x3a0f0
movl 0x144(%rsp), %eax
movl %eax, 0x154(%rsp)
movl 0x154(%rsp), %eax
addq $0x158, %rsp            # imm = 0x158
retq
movq 0x50(%rsp), %rdi
callq 0xf410
nopw %cs:(%rax,%rax)