// File: /workspace/github_c_makefile_star2_O0/deplinenoise[P]tundra/unittest/googletest/googletest/src/gtest-death-test.cc
// Function: testing::internal::ExecDeathTestSpawnChild(char* const*, int)
static pid_t ExecDeathTestSpawnChild(char* const* argv, int close_fd) {
  ExecDeathTestArgs args = { argv, close_fd };
  pid_t child_pid = -1;

#  if GTEST_OS_QNX
  // Obtains the current directory and sets it to be closed in the child
  // process.
  const int cwd_fd = open(".", O_RDONLY);
  GTEST_DEATH_TEST_CHECK_(cwd_fd != -1);
  GTEST_DEATH_TEST_CHECK_SYSCALL_(fcntl(cwd_fd, F_SETFD, FD_CLOEXEC));
  // 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;
  }

  int fd_flags;
  // Set close_fd to be closed after spawn.
  GTEST_DEATH_TEST_CHECK_SYSCALL_(fd_flags = fcntl(close_fd, F_GETFD));
  GTEST_DEATH_TEST_CHECK_SYSCALL_(fcntl(close_fd, F_SETFD,
                                        fd_flags | FD_CLOEXEC));
  struct inheritance inherit = {0};
  // spawn is a system call.
  child_pid = spawn(args.argv[0], 0, NULL, &inherit, args.argv, GetEnviron());
  // Restores the current working directory.
  GTEST_DEATH_TEST_CHECK_(fchdir(cwd_fd) != -1);
  GTEST_DEATH_TEST_CHECK_SYSCALL_(close(cwd_fd));

#  else   // GTEST_OS_QNX
#   if GTEST_OS_LINUX
  // When a SIGPROF signal is received while fork() or clone() are executing,
  // the process may hang. To avoid this, we ignore SIGPROF here and re-enable
  // it after the call to fork()/clone() is complete.
  struct sigaction saved_sigprof_action;
  struct sigaction ignore_sigprof_action;
  memset(&ignore_sigprof_action, 0, sizeof(ignore_sigprof_action));
  sigemptyset(&ignore_sigprof_action.sa_mask);
  ignore_sigprof_action.sa_handler = SIG_IGN;
  GTEST_DEATH_TEST_CHECK_SYSCALL_(sigaction(
      SIGPROF, &ignore_sigprof_action, &saved_sigprof_action));
#   endif  // GTEST_OS_LINUX

#   if GTEST_HAS_CLONE
  const bool use_fork = GTEST_FLAG(death_test_use_fork);

  if (!use_fork) {
    static const bool stack_grows_down = StackGrowsDown();
    const size_t stack_size = getpagesize();
    // MMAP_ANONYMOUS is not defined on Mac, so we use MAP_ANON instead.
    void* const stack = mmap(NULL, stack_size, PROT_READ | PROT_WRITE,
                             MAP_ANON | MAP_PRIVATE, -1, 0);
    GTEST_DEATH_TEST_CHECK_(stack != MAP_FAILED);

    // Maximum stack alignment in bytes:  For a downward-growing stack, this
    // amount is subtracted from size of the stack space to get an address
    // that is within the stack space and is aligned on all systems we care
    // about.  As far as I know there is no ABI with stack alignment greater
    // than 64.  We assume stack and stack_size already have alignment of
    // kMaxStackAlignment.
    const size_t kMaxStackAlignment = 64;
    void* const stack_top =
        static_cast<char*>(stack) +
            (stack_grows_down ? stack_size - kMaxStackAlignment : 0);
    GTEST_DEATH_TEST_CHECK_(stack_size > kMaxStackAlignment &&
        reinterpret_cast<intptr_t>(stack_top) % kMaxStackAlignment == 0);

    child_pid = clone(&ExecDeathTestChildMain, stack_top, SIGCHLD, &args);

    GTEST_DEATH_TEST_CHECK_(munmap(stack, stack_size) != -1);
  }
#   else
  const bool use_fork = true;
#   endif  // GTEST_HAS_CLONE

  if (use_fork && (child_pid = fork()) == 0) {
      ExecDeathTestChildMain(&args);
      _exit(0);
  }
#  endif  // GTEST_OS_QNX
#  if GTEST_OS_LINUX
  GTEST_DEATH_TEST_CHECK_SYSCALL_(
      sigaction(SIGPROF, &saved_sigprof_action, NULL));
#  endif  // GTEST_OS_LINUX

  GTEST_DEATH_TEST_CHECK_(child_pid != -1);
  return child_pid;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x7c0, %rsp            # imm = 0x7C0
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movl -0xc(%rbp), %eax
movl %eax, -0x18(%rbp)
movl $0xffffffff, -0x24(%rbp) # imm = 0xFFFFFFFF
leaq -0x158(%rbp), %rdi
xorl %esi, %esi
movl $0x98, %edx
callq 0xe3c0
leaq -0x158(%rbp), %rdi
addq $0x8, %rdi
callq 0xea40
movl $0x1, %eax
movq %rax, -0x158(%rbp)
jmp 0x2b5a8
movl $0x1b, %edi
leaq -0x158(%rbp), %rsi
leaq -0xc0(%rbp), %rdx
callq 0xea50
movl %eax, -0x15c(%rbp)
xorl %eax, %eax
cmpl $-0x1, -0x15c(%rbp)
movb %al, -0x76d(%rbp)
jne 0x2b5e8
callq 0xe090
cmpl $0x4, (%rax)
sete %al
movb %al, -0x76d(%rbp)
movb -0x76d(%rbp), %al
testb $0x1, %al
jne 0x2b5a8
cmpl $-0x1, -0x15c(%rbp)
jne 0x2b8a3
leaq -0x241(%rbp), %rdi
movq %rdi, -0x778(%rbp)
callq 0xee90
movq -0x778(%rbp), %rdx
leaq 0x5fe9f(%rip), %rsi     # 0x8b4bf
leaq -0x240(%rbp), %rdi
callq 0x30890
jmp 0x2b62e
leaq 0x5fdeb(%rip), %rdx     # 0x8b420
leaq -0x220(%rbp), %rdi
leaq -0x240(%rbp), %rsi
callq 0x30980
jmp 0x2b64a
leaq 0x5fe82(%rip), %rdx     # 0x8b4d3
leaq -0x200(%rbp), %rdi
leaq -0x220(%rbp), %rsi
callq 0x30980
jmp 0x2b666
movl $0x428, -0x27c(%rbp)    # imm = 0x428
leaq -0x278(%rbp), %rdi
leaq -0x27c(%rbp), %rsi
callq 0x35870
jmp 0x2b685
leaq -0x1e0(%rbp), %rdi
leaq -0x200(%rbp), %rsi
leaq -0x278(%rbp), %rdx
callq 0x357a0
jmp 0x2b6a1
leaq 0x5f12a(%rip), %rdx     # 0x8a7d2
leaq -0x1c0(%rbp), %rdi
leaq -0x1e0(%rbp), %rsi
callq 0x30980
jmp 0x2b6bd
leaq 0x60942(%rip), %rdx     # 0x8c006
leaq -0x1a0(%rbp), %rdi
leaq -0x1c0(%rbp), %rsi
callq 0x30980
jmp 0x2b6d9
leaq 0x60010(%rip), %rdx     # 0x8b6f0
leaq -0x180(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
callq 0x30980
jmp 0x2b6f5
leaq -0x180(%rbp), %rdi
callq 0x27a00
jmp 0x2b703
leaq -0x180(%rbp), %rdi
callq 0xf058
leaq -0x1a0(%rbp), %rdi
callq 0xf058
leaq -0x1c0(%rbp), %rdi
callq 0xf058
leaq -0x1e0(%rbp), %rdi
callq 0xf058
leaq -0x278(%rbp), %rdi
callq 0xf058
leaq -0x200(%rbp), %rdi
callq 0xf058
leaq -0x220(%rbp), %rdi
callq 0xf058
leaq -0x240(%rbp), %rdi
callq 0xf058
leaq -0x241(%rbp), %rdi
callq 0xe850
jmp 0x2b8a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2b892
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2b886
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2b87a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2b86e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2b862
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2b856
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2b84a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2b83e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
leaq -0x180(%rbp), %rdi
callq 0xf058
leaq -0x1a0(%rbp), %rdi
callq 0xf058
leaq -0x1c0(%rbp), %rdi
callq 0xf058
leaq -0x1e0(%rbp), %rdi
callq 0xf058
leaq -0x278(%rbp), %rdi
callq 0xf058
leaq -0x200(%rbp), %rdi
callq 0xf058
leaq -0x220(%rbp), %rdi
callq 0xf058
leaq -0x240(%rbp), %rdi
callq 0xf058
leaq -0x241(%rbp), %rdi
callq 0xe850
jmp 0x2c73e
jmp 0x2b8a5
callq 0x380a0
testb $0x1, %al
jne 0x2b5a6
movb 0x961f8(%rip), %al      # 0xc1ab0
andb $0x1, %al
movb %al, -0x27d(%rbp)
testb $0x1, -0x27d(%rbp)
jne 0x2c180
cmpb $0x0, 0x96224(%rip)     # 0xc1af8
jne 0x2b900
leaq 0x9621b(%rip), %rdi     # 0xc1af8
callq 0xeef0
cmpl $0x0, %eax
je 0x2b900
callq 0x2a400
andb $0x1, %al
movb %al, 0x961fc(%rip)      # 0xc1af0
leaq 0x961fd(%rip), %rdi     # 0xc1af8
callq 0xe480
callq 0xeee0
cltq
movq %rax, -0x288(%rbp)
movq -0x288(%rbp), %rsi
xorl %eax, %eax
movl %eax, %r9d
movl $0x3, %edx
movl $0x22, %ecx
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
movq %r9, %rdi
callq 0xeea0
movq %rax, -0x290(%rbp)
movq $-0x1, %rax
cmpq %rax, -0x290(%rbp)
setne %al
movzbl %al, %edi
andl $0x1, %edi
callq 0x13f80
testb $0x1, %al
jne 0x2bbb6
leaq -0x351(%rbp), %rdi
movq %rdi, -0x780(%rbp)
callq 0xee90
movq -0x780(%rbp), %rdx
leaq 0x5fb41(%rip), %rsi     # 0x8b4bf
leaq -0x350(%rbp), %rdi
callq 0x30890
jmp 0x2b98c
leaq 0x5fa8d(%rip), %rdx     # 0x8b420
leaq -0x330(%rbp), %rdi
leaq -0x350(%rbp), %rsi
callq 0x30980
jmp 0x2b9a8
leaq 0x5fb24(%rip), %rdx     # 0x8b4d3
leaq -0x310(%rbp), %rdi
leaq -0x330(%rbp), %rsi
callq 0x30980
jmp 0x2b9c4
movl $0x434, -0x37c(%rbp)    # imm = 0x434
leaq -0x378(%rbp), %rdi
leaq -0x37c(%rbp), %rsi
callq 0x35870
jmp 0x2b9e3
leaq -0x2f0(%rbp), %rdi
leaq -0x310(%rbp), %rsi
leaq -0x378(%rbp), %rdx
callq 0x357a0
jmp 0x2b9ff
leaq 0x5edcc(%rip), %rdx     # 0x8a7d2
leaq -0x2d0(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
callq 0x30980
jmp 0x2ba1b
leaq 0x60627(%rip), %rdx     # 0x8c049
leaq -0x2b0(%rbp), %rdi
leaq -0x2d0(%rbp), %rsi
callq 0x30980
jmp 0x2ba37
leaq -0x2b0(%rbp), %rdi
callq 0x27a00
jmp 0x2ba45
leaq -0x2b0(%rbp), %rdi
callq 0xf058
leaq -0x2d0(%rbp), %rdi
callq 0xf058
leaq -0x2f0(%rbp), %rdi
callq 0xf058
leaq -0x378(%rbp), %rdi
callq 0xf058
leaq -0x310(%rbp), %rdi
callq 0xf058
leaq -0x330(%rbp), %rdi
callq 0xf058
leaq -0x350(%rbp), %rdi
callq 0xf058
leaq -0x351(%rbp), %rdi
callq 0xe850
jmp 0x2bbb6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2bba5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2bb99
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2bb8d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2bb81
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2bb75
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2bb69
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2bb5d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
leaq -0x2b0(%rbp), %rdi
callq 0xf058
leaq -0x2d0(%rbp), %rdi
callq 0xf058
leaq -0x2f0(%rbp), %rdi
callq 0xf058
leaq -0x378(%rbp), %rdi
callq 0xf058
leaq -0x310(%rbp), %rdi
callq 0xf058
leaq -0x330(%rbp), %rdi
callq 0xf058
leaq -0x350(%rbp), %rdi
callq 0xf058
leaq -0x351(%rbp), %rdi
callq 0xe850
jmp 0x2c73e
jmp 0x2bbb8
callq 0x380a0
testb $0x1, %al
jne 0x2b939
movq $0x40, -0x388(%rbp)
movq -0x290(%rbp), %rax
movq %rax, -0x788(%rbp)
testb $0x1, 0x95f0b(%rip)     # 0xc1af0
je 0x2bbfb
movq -0x288(%rbp), %rax
subq $0x40, %rax
movq %rax, -0x790(%rbp)
jmp 0x2bc06
xorl %eax, %eax
movq %rax, -0x790(%rbp)
jmp 0x2bc06
movq -0x788(%rbp), %rax
movq -0x790(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x390(%rbp)
xorl %eax, %eax
cmpq $0x40, -0x288(%rbp)
movb %al, -0x791(%rbp)
jbe 0x2bc48
movq -0x390(%rbp), %rax
andq $0x3f, %rax
cmpq $0x0, %rax
sete %al
movb %al, -0x791(%rbp)
movb -0x791(%rbp), %al
movzbl %al, %edi
andl $0x1, %edi
callq 0x13f80
testb $0x1, %al
jne 0x2beba
leaq -0x451(%rbp), %rdi
movq %rdi, -0x7a0(%rbp)
callq 0xee90
movq -0x7a0(%rbp), %rdx
leaq 0x5f83d(%rip), %rsi     # 0x8b4bf
leaq -0x450(%rbp), %rdi
callq 0x30890
jmp 0x2bc90
leaq 0x5f789(%rip), %rdx     # 0x8b420
leaq -0x430(%rbp), %rdi
leaq -0x450(%rbp), %rsi
callq 0x30980
jmp 0x2bcac
leaq 0x5f820(%rip), %rdx     # 0x8b4d3
leaq -0x410(%rbp), %rdi
leaq -0x430(%rbp), %rsi
callq 0x30980
jmp 0x2bcc8
movl $0x441, -0x47c(%rbp)    # imm = 0x441
leaq -0x478(%rbp), %rdi
leaq -0x47c(%rbp), %rsi
callq 0x35870
jmp 0x2bce7
leaq -0x3f0(%rbp), %rdi
leaq -0x410(%rbp), %rsi
leaq -0x478(%rbp), %rdx
callq 0x357a0
jmp 0x2bd03
leaq 0x5eac8(%rip), %rdx     # 0x8a7d2
leaq -0x3d0(%rbp), %rdi
leaq -0x3f0(%rbp), %rsi
callq 0x30980
jmp 0x2bd1f
leaq 0x60337(%rip), %rdx     # 0x8c05d
leaq -0x3b0(%rbp), %rdi
leaq -0x3d0(%rbp), %rsi
callq 0x30980
jmp 0x2bd3b
leaq -0x3b0(%rbp), %rdi
callq 0x27a00
jmp 0x2bd49
leaq -0x3b0(%rbp), %rdi
callq 0xf058
leaq -0x3d0(%rbp), %rdi
callq 0xf058
leaq -0x3f0(%rbp), %rdi
callq 0xf058
leaq -0x478(%rbp), %rdi
callq 0xf058
leaq -0x410(%rbp), %rdi
callq 0xf058
leaq -0x430(%rbp), %rdi
callq 0xf058
leaq -0x450(%rbp), %rdi
callq 0xf058
leaq -0x451(%rbp), %rdi
callq 0xe850
jmp 0x2beba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2bea9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2be9d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2be91
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2be85
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2be79
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2be6d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2be61
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
leaq -0x3b0(%rbp), %rdi
callq 0xf058
leaq -0x3d0(%rbp), %rdi
callq 0xf058
leaq -0x3f0(%rbp), %rdi
callq 0xf058
leaq -0x478(%rbp), %rdi
callq 0xf058
leaq -0x410(%rbp), %rdi
callq 0xf058
leaq -0x430(%rbp), %rdi
callq 0xf058
leaq -0x450(%rbp), %rdi
callq 0xf058
leaq -0x451(%rbp), %rdi
callq 0xe850
jmp 0x2c73e
jmp 0x2bebc
callq 0x380a0
testb $0x1, %al
jne 0x2bc1e
movq -0x390(%rbp), %rsi
leaq 0x3499(%rip), %rdi      # 0x2f370
movl $0x11, %edx
leaq -0x20(%rbp), %rcx
movb $0x0, %al
callq 0xef60
movl %eax, -0x24(%rbp)
movq -0x290(%rbp), %rdi
movq -0x288(%rbp), %rsi
callq 0xe3e0
cmpl $-0x1, %eax
setne %al
movzbl %al, %edi
andl $0x1, %edi
callq 0x13f80
testb $0x1, %al
jne 0x2c16f
leaq -0x541(%rbp), %rdi
movq %rdi, -0x7a8(%rbp)
callq 0xee90
movq -0x7a8(%rbp), %rdx
leaq 0x5f588(%rip), %rsi     # 0x8b4bf
leaq -0x540(%rbp), %rdi
callq 0x30890
jmp 0x2bf45
leaq 0x5f4d4(%rip), %rdx     # 0x8b420
leaq -0x520(%rbp), %rdi
leaq -0x540(%rbp), %rsi
callq 0x30980
jmp 0x2bf61
leaq 0x5f56b(%rip), %rdx     # 0x8b4d3
leaq -0x500(%rbp), %rdi
leaq -0x520(%rbp), %rsi
callq 0x30980
jmp 0x2bf7d
movl $0x445, -0x56c(%rbp)    # imm = 0x445
leaq -0x568(%rbp), %rdi
leaq -0x56c(%rbp), %rsi
callq 0x35870
jmp 0x2bf9c
leaq -0x4e0(%rbp), %rdi
leaq -0x500(%rbp), %rsi
leaq -0x568(%rbp), %rdx
callq 0x357a0
jmp 0x2bfb8
leaq 0x5e813(%rip), %rdx     # 0x8a7d2
leaq -0x4c0(%rbp), %rdi
leaq -0x4e0(%rbp), %rsi
callq 0x30980
jmp 0x2bfd4
leaq 0x600e5(%rip), %rdx     # 0x8c0c0
leaq -0x4a0(%rbp), %rdi
leaq -0x4c0(%rbp), %rsi
callq 0x30980
jmp 0x2bff0
leaq -0x4a0(%rbp), %rdi
callq 0x27a00
jmp 0x2bffe
leaq -0x4a0(%rbp), %rdi
callq 0xf058
leaq -0x4c0(%rbp), %rdi
callq 0xf058
leaq -0x4e0(%rbp), %rdi
callq 0xf058
leaq -0x568(%rbp), %rdi
callq 0xf058
leaq -0x500(%rbp), %rdi
callq 0xf058
leaq -0x520(%rbp), %rdi
callq 0xf058
leaq -0x540(%rbp), %rdi
callq 0xf058
leaq -0x541(%rbp), %rdi
callq 0xe850
jmp 0x2c16f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2c15e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2c152
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2c146
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2c13a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2c12e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2c122
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2c116
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
leaq -0x4a0(%rbp), %rdi
callq 0xf058
leaq -0x4c0(%rbp), %rdi
callq 0xf058
leaq -0x4e0(%rbp), %rdi
callq 0xf058
leaq -0x568(%rbp), %rdi
callq 0xf058
leaq -0x500(%rbp), %rdi
callq 0xf058
leaq -0x520(%rbp), %rdi
callq 0xf058
leaq -0x540(%rbp), %rdi
callq 0xf058
leaq -0x541(%rbp), %rdi
callq 0xe850
jmp 0x2c73e
jmp 0x2c171
callq 0x380a0
testb $0x1, %al
jne 0x2beea
jmp 0x2c180
testb $0x1, -0x27d(%rbp)
je 0x2c1a6
callq 0xe1a0
movl %eax, -0x24(%rbp)
cmpl $0x0, %eax
jne 0x2c1a6
leaq -0x20(%rbp), %rdi
callq 0x2f370
xorl %edi, %edi
callq 0xed80
jmp 0x2c1a8
jmp 0x2c1aa
movl $0x1b, %edi
leaq -0xc0(%rbp), %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0xea50
movl %eax, -0x570(%rbp)
xorl %eax, %eax
cmpl $-0x1, -0x570(%rbp)
movb %al, -0x7a9(%rbp)
jne 0x2c1e7
callq 0xe090
cmpl $0x4, (%rax)
sete %al
movb %al, -0x7a9(%rbp)
movb -0x7a9(%rbp), %al
testb $0x1, %al
jne 0x2c1aa
cmpl $-0x1, -0x570(%rbp)
jne 0x2c4a2
leaq -0x651(%rbp), %rdi
movq %rdi, -0x7b8(%rbp)
callq 0xee90
movq -0x7b8(%rbp), %rdx
leaq 0x5f2a0(%rip), %rsi     # 0x8b4bf
leaq -0x650(%rbp), %rdi
callq 0x30890
jmp 0x2c22d
leaq 0x5f1ec(%rip), %rdx     # 0x8b420
leaq -0x630(%rbp), %rdi
leaq -0x650(%rbp), %rsi
callq 0x30980
jmp 0x2c249
leaq 0x5f283(%rip), %rdx     # 0x8b4d3
leaq -0x610(%rbp), %rdi
leaq -0x630(%rbp), %rsi
callq 0x30980
jmp 0x2c265
movl $0x452, -0x67c(%rbp)    # imm = 0x452
leaq -0x678(%rbp), %rdi
leaq -0x67c(%rbp), %rsi
callq 0x35870
jmp 0x2c284
leaq -0x5f0(%rbp), %rdi
leaq -0x610(%rbp), %rsi
leaq -0x678(%rbp), %rdx
callq 0x357a0
jmp 0x2c2a0
leaq 0x5e52b(%rip), %rdx     # 0x8a7d2
leaq -0x5d0(%rbp), %rdi
leaq -0x5f0(%rbp), %rsi
callq 0x30980
jmp 0x2c2bc
leaq 0x5fe1d(%rip), %rdx     # 0x8c0e0
leaq -0x5b0(%rbp), %rdi
leaq -0x5d0(%rbp), %rsi
callq 0x30980
jmp 0x2c2d8
leaq 0x5f411(%rip), %rdx     # 0x8b6f0
leaq -0x590(%rbp), %rdi
leaq -0x5b0(%rbp), %rsi
callq 0x30980
jmp 0x2c2f4
leaq -0x590(%rbp), %rdi
callq 0x27a00
jmp 0x2c302
leaq -0x590(%rbp), %rdi
callq 0xf058
leaq -0x5b0(%rbp), %rdi
callq 0xf058
leaq -0x5d0(%rbp), %rdi
callq 0xf058
leaq -0x5f0(%rbp), %rdi
callq 0xf058
leaq -0x678(%rbp), %rdi
callq 0xf058
leaq -0x610(%rbp), %rdi
callq 0xf058
leaq -0x630(%rbp), %rdi
callq 0xf058
leaq -0x650(%rbp), %rdi
callq 0xf058
leaq -0x651(%rbp), %rdi
callq 0xe850
jmp 0x2c4a2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2c491
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2c485
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2c479
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2c46d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2c461
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2c455
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2c449
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2c43d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
leaq -0x590(%rbp), %rdi
callq 0xf058
leaq -0x5b0(%rbp), %rdi
callq 0xf058
leaq -0x5d0(%rbp), %rdi
callq 0xf058
leaq -0x5f0(%rbp), %rdi
callq 0xf058
leaq -0x678(%rbp), %rdi
callq 0xf058
leaq -0x610(%rbp), %rdi
callq 0xf058
leaq -0x630(%rbp), %rdi
callq 0xf058
leaq -0x650(%rbp), %rdi
callq 0xf058
leaq -0x651(%rbp), %rdi
callq 0xe850
jmp 0x2c73e
jmp 0x2c4a4
callq 0x380a0
testb $0x1, %al
jne 0x2c1a8
jmp 0x2c4b3
cmpl $-0x1, -0x24(%rbp)
setne %al
movzbl %al, %edi
andl $0x1, %edi
callq 0x13f80
testb $0x1, %al
jne 0x2c723
leaq -0x741(%rbp), %rdi
movq %rdi, -0x7c0(%rbp)
callq 0xee90
movq -0x7c0(%rbp), %rdx
leaq 0x5efd1(%rip), %rsi     # 0x8b4bf
leaq -0x740(%rbp), %rdi
callq 0x30890
jmp 0x2c4fc
leaq 0x5ef1d(%rip), %rdx     # 0x8b420
leaq -0x720(%rbp), %rdi
leaq -0x740(%rbp), %rsi
callq 0x30980
jmp 0x2c518
leaq 0x5efb4(%rip), %rdx     # 0x8b4d3
leaq -0x700(%rbp), %rdi
leaq -0x720(%rbp), %rsi
callq 0x30980
jmp 0x2c534
movl $0x455, -0x76c(%rbp)    # imm = 0x455
leaq -0x768(%rbp), %rdi
leaq -0x76c(%rbp), %rsi
callq 0x35870
jmp 0x2c553
leaq -0x6e0(%rbp), %rdi
leaq -0x700(%rbp), %rsi
leaq -0x768(%rbp), %rdx
callq 0x357a0
jmp 0x2c56f
leaq 0x5e25c(%rip), %rdx     # 0x8a7d2
leaq -0x6c0(%rbp), %rdi
leaq -0x6e0(%rbp), %rsi
callq 0x30980
jmp 0x2c58b
leaq 0x5f10d(%rip), %rdx     # 0x8b69f
leaq -0x6a0(%rbp), %rdi
leaq -0x6c0(%rbp), %rsi
callq 0x30980
jmp 0x2c5a7
leaq -0x6a0(%rbp), %rdi
callq 0x27a00
jmp 0x2c5b5
leaq -0x6a0(%rbp), %rdi
callq 0xf058
leaq -0x6c0(%rbp), %rdi
callq 0xf058
leaq -0x6e0(%rbp), %rdi
callq 0xf058
leaq -0x768(%rbp), %rdi
callq 0xf058
leaq -0x700(%rbp), %rdi
callq 0xf058
leaq -0x720(%rbp), %rdi
callq 0xf058
leaq -0x740(%rbp), %rdi
callq 0xf058
leaq -0x741(%rbp), %rdi
callq 0xe850
jmp 0x2c723
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2c715
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2c709
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2c6fd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2c6f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2c6e5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2c6d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
jmp 0x2c6cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x250(%rbp)
movl %eax, -0x254(%rbp)
leaq -0x6a0(%rbp), %rdi
callq 0xf058
leaq -0x6c0(%rbp), %rdi
callq 0xf058
leaq -0x6e0(%rbp), %rdi
callq 0xf058
leaq -0x768(%rbp), %rdi
callq 0xf058
leaq -0x700(%rbp), %rdi
callq 0xf058
leaq -0x720(%rbp), %rdi
callq 0xf058
leaq -0x740(%rbp), %rdi
callq 0xf058
leaq -0x741(%rbp), %rdi
callq 0xe850
jmp 0x2c73e
jmp 0x2c725
callq 0x380a0
testb $0x1, %al
jne 0x2c4b3
movl -0x24(%rbp), %eax
addq $0x7c0, %rsp            # imm = 0x7C0
popq %rbp
retq
movq -0x250(%rbp), %rdi
callq 0xee80
nopw (%rax,%rax)