// File: /workspace/github_c_makefile_star2_O0/deplinenoise[P]tundra/unittest/googletest/googletest/src/gtest-death-test.cc
// Function: testing::internal::ExecDeathTestChildMain(void*)
static int ExecDeathTestChildMain(void* child_arg) {
  ExecDeathTestArgs* const args = static_cast<ExecDeathTestArgs*>(child_arg);
  GTEST_DEATH_TEST_CHECK_SYSCALL_(close(args->close_fd));

  // We need to execute the test program in the same environment where
  // it was originally invoked.  Therefore we change to the original
  // working directory first.
  const char* const original_dir =
      UnitTest::GetInstance()->original_working_dir();
  // We can safely call chdir() as it's a direct system call.
  if (chdir(original_dir) != 0) {
    DeathTestAbort(std::string("chdir(\"") + original_dir + "\") failed: " +
                   GetLastErrnoDescription());
    return EXIT_FAILURE;
  }

  // We can safely call execve() as it's a direct system call.  We
  // cannot use execvp() as it's a libc function and thus potentially
  // unsafe.  Since execve() doesn't search the PATH, the user must
  // invoke the test program via a valid path that contains at least
  // one path separator.
  execve(args->argv[0], args->argv, GetEnviron());
  DeathTestAbort(std::string("execve(") + args->argv[0] + ", ...) in " +
                 original_dir + " failed: " +
                 GetLastErrnoDescription());
  return EXIT_FAILURE;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x310, %rsp            # imm = 0x310
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x2f389
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
callq 0xf020
movl %eax, -0x1c(%rbp)
xorl %eax, %eax
cmpl $-0x1, -0x1c(%rbp)
movb %al, -0x2d9(%rbp)
jne 0x2f3b7
callq 0xe090
cmpl $0x4, (%rax)
sete %al
movb %al, -0x2d9(%rbp)
movb -0x2d9(%rbp), %al
testb $0x1, %al
jne 0x2f389
cmpl $-0x1, -0x1c(%rbp)
jne 0x2f64b
leaq -0x101(%rbp), %rdi
movq %rdi, -0x2e8(%rbp)
callq 0xee90
movq -0x2e8(%rbp), %rdx
leaq 0x5c0d3(%rip), %rsi     # 0x8b4bf
leaq -0x100(%rbp), %rdi
callq 0x30890
jmp 0x2f3fa
leaq 0x5c01f(%rip), %rdx     # 0x8b420
leaq -0xe0(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0x30980
jmp 0x2f416
leaq 0x5c0b6(%rip), %rdx     # 0x8b4d3
leaq -0xc0(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x30980
jmp 0x2f432
movl $0x3c1, -0x13c(%rbp)    # imm = 0x3C1
leaq -0x138(%rbp), %rdi
leaq -0x13c(%rbp), %rsi
callq 0x35870
jmp 0x2f451
leaq -0xa0(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
leaq -0x138(%rbp), %rdx
callq 0x357a0
jmp 0x2f46d
leaq 0x5b35e(%rip), %rdx     # 0x8a7d2
leaq -0x80(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x30980
jmp 0x2f486
leaq 0x5cc83(%rip), %rdx     # 0x8c110
leaq -0x60(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x30980
jmp 0x2f49c
leaq 0x5c24d(%rip), %rdx     # 0x8b6f0
leaq -0x40(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x30980
jmp 0x2f4b2
leaq -0x40(%rbp), %rdi
callq 0x27a00
jmp 0x2f4bd
leaq -0x40(%rbp), %rdi
callq 0xf058
leaq -0x60(%rbp), %rdi
callq 0xf058
leaq -0x80(%rbp), %rdi
callq 0xf058
leaq -0xa0(%rbp), %rdi
callq 0xf058
leaq -0x138(%rbp), %rdi
callq 0xf058
leaq -0xc0(%rbp), %rdi
callq 0xf058
leaq -0xe0(%rbp), %rdi
callq 0xf058
leaq -0x100(%rbp), %rdi
callq 0xf058
leaq -0x101(%rbp), %rdi
callq 0xe850
jmp 0x2f64b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
jmp 0x2f63a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
jmp 0x2f62e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
jmp 0x2f622
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
jmp 0x2f616
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
jmp 0x2f60a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
jmp 0x2f5fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
jmp 0x2f5f5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
jmp 0x2f5ec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
leaq -0x40(%rbp), %rdi
callq 0xf058
leaq -0x60(%rbp), %rdi
callq 0xf058
leaq -0x80(%rbp), %rdi
callq 0xf058
leaq -0xa0(%rbp), %rdi
callq 0xf058
leaq -0x138(%rbp), %rdi
callq 0xf058
leaq -0xc0(%rbp), %rdi
callq 0xf058
leaq -0xe0(%rbp), %rdi
callq 0xf058
leaq -0x100(%rbp), %rdi
callq 0xf058
leaq -0x101(%rbp), %rdi
callq 0xe850
jmp 0x2faca
jmp 0x2f64d
callq 0x380a0
testb $0x1, %al
jne 0x2f387
callq 0x14160
movq %rax, %rdi
callq 0x15290
movq %rax, -0x148(%rbp)
movq -0x148(%rbp), %rdi
callq 0xec00
cmpl $0x0, %eax
je 0x2f83c
leaq -0x1c9(%rbp), %rdi
movq %rdi, -0x2f0(%rbp)
callq 0xee90
movq -0x2f0(%rbp), %rdx
leaq 0x5ca82(%rip), %rsi     # 0x8c126
leaq -0x1c8(%rbp), %rdi
callq 0x30890
jmp 0x2f6b2
movq -0x148(%rbp), %rdx
leaq -0x1a8(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x30980
jmp 0x2f6ce
leaq 0x5ca59(%rip), %rdx     # 0x8c12e
leaq -0x188(%rbp), %rdi
leaq -0x1a8(%rbp), %rsi
callq 0x30980
jmp 0x2f6ea
leaq -0x1f0(%rbp), %rdi
callq 0x27ad0
jmp 0x2f6f8
leaq -0x168(%rbp), %rdi
leaq -0x188(%rbp), %rsi
leaq -0x1f0(%rbp), %rdx
callq 0x357a0
jmp 0x2f714
leaq -0x168(%rbp), %rdi
callq 0x27a00
jmp 0x2f722
leaq -0x168(%rbp), %rdi
callq 0xf058
leaq -0x1f0(%rbp), %rdi
callq 0xf058
leaq -0x188(%rbp), %rdi
callq 0xf058
leaq -0x1a8(%rbp), %rdi
callq 0xf058
leaq -0x1c8(%rbp), %rdi
callq 0xf058
leaq -0x1c9(%rbp), %rdi
callq 0xe850
movl $0x1, -0x4(%rbp)
jmp 0x2fabe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
jmp 0x2f82b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
jmp 0x2f81f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
jmp 0x2f813
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
jmp 0x2f807
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
jmp 0x2f7fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
leaq -0x168(%rbp), %rdi
callq 0xf058
leaq -0x1f0(%rbp), %rdi
callq 0xf058
leaq -0x188(%rbp), %rdi
callq 0xf058
leaq -0x1a8(%rbp), %rdi
callq 0xf058
leaq -0x1c8(%rbp), %rdi
callq 0xf058
leaq -0x1c9(%rbp), %rdi
callq 0xe850
jmp 0x2faca
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x300(%rbp)
movq (%rax), %rax
movq %rax, -0x308(%rbp)
callq 0x40240
movq -0x308(%rbp), %rdi
movq -0x300(%rbp), %rsi
movq %rax, %rdx
callq 0xee20
leaq -0x2b1(%rbp), %rdi
movq %rdi, -0x2f8(%rbp)
callq 0xee90
movq -0x2f8(%rbp), %rdx
leaq 0x5c8aa(%rip), %rsi     # 0x8c13a
leaq -0x2b0(%rbp), %rdi
callq 0x30890
jmp 0x2f89e
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq (%rax), %rdx
leaq -0x290(%rbp), %rdi
leaq -0x2b0(%rbp), %rsi
callq 0x30980
jmp 0x2f8bd
leaq 0x5c87e(%rip), %rdx     # 0x8c142
leaq -0x270(%rbp), %rdi
leaq -0x290(%rbp), %rsi
callq 0x30980
jmp 0x2f8d9
movq -0x148(%rbp), %rdx
leaq -0x250(%rbp), %rdi
leaq -0x270(%rbp), %rsi
callq 0x30980
jmp 0x2f8f5
leaq 0x5c834(%rip), %rdx     # 0x8c130
leaq -0x230(%rbp), %rdi
leaq -0x250(%rbp), %rsi
callq 0x30980
jmp 0x2f911
leaq -0x2d8(%rbp), %rdi
callq 0x27ad0
jmp 0x2f91f
leaq -0x210(%rbp), %rdi
leaq -0x230(%rbp), %rsi
leaq -0x2d8(%rbp), %rdx
callq 0x357a0
jmp 0x2f93b
leaq -0x210(%rbp), %rdi
callq 0x27a00
jmp 0x2f949
leaq -0x210(%rbp), %rdi
callq 0xf058
leaq -0x2d8(%rbp), %rdi
callq 0xf058
leaq -0x230(%rbp), %rdi
callq 0xf058
leaq -0x250(%rbp), %rdi
callq 0xf058
leaq -0x270(%rbp), %rdi
callq 0xf058
leaq -0x290(%rbp), %rdi
callq 0xf058
leaq -0x2b0(%rbp), %rdi
callq 0xf058
leaq -0x2b1(%rbp), %rdi
callq 0xe850
movl $0x1, -0x4(%rbp)
jmp 0x2fabe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
jmp 0x2fab0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
jmp 0x2faa4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
jmp 0x2fa98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
jmp 0x2fa8c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
jmp 0x2fa80
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
jmp 0x2fa74
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
jmp 0x2fa68
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
leaq -0x210(%rbp), %rdi
callq 0xf058
leaq -0x2d8(%rbp), %rdi
callq 0xf058
leaq -0x230(%rbp), %rdi
callq 0xf058
leaq -0x250(%rbp), %rdi
callq 0xf058
leaq -0x270(%rbp), %rdi
callq 0xf058
leaq -0x290(%rbp), %rdi
callq 0xf058
leaq -0x2b0(%rbp), %rdi
callq 0xf058
leaq -0x2b1(%rbp), %rdi
callq 0xe850
jmp 0x2faca
movl -0x4(%rbp), %eax
addq $0x310, %rsp            # imm = 0x310
popq %rbp
retq
movq -0x110(%rbp), %rdi
callq 0xee80
nopw %cs:(%rax,%rax)