// File: halfflat[P]tinyopt/test/googletest/googletest/src/gtest-death-test.cc
// Function: testing::internal::ExecDeathTest::AssumeRole()
DeathTest::TestRole ExecDeathTest::AssumeRole() {
  const UnitTestImpl* const impl = GetUnitTestImpl();
  const InternalRunDeathTestFlag* const flag =
      impl->internal_run_death_test_flag();
  const TestInfo* const info = impl->current_test_info();
  const int death_test_index = info->result()->death_test_count();

  if (flag != nullptr) {
    set_write_fd(flag->write_fd());
    return EXECUTE_TEST;
  }

  int pipe_fd[2];
  GTEST_DEATH_TEST_CHECK_(pipe(pipe_fd) != -1);
  // Clear the close-on-exec flag on the write end of the pipe, lest
  // it be closed when the child process does an exec:
  GTEST_DEATH_TEST_CHECK_(fcntl(pipe_fd[1], F_SETFD, 0) != -1);

  const std::string filter_flag = std::string("--") + GTEST_FLAG_PREFIX_ +
                                  "filter=" + info->test_suite_name() + "." +
                                  info->name();
  const std::string internal_flag = std::string("--") + GTEST_FLAG_PREFIX_ +
                                    "internal_run_death_test=" + file_ + "|" +
                                    StreamableToString(line_) + "|" +
                                    StreamableToString(death_test_index) + "|" +
                                    StreamableToString(pipe_fd[1]);
  std::vector<std::string> args = GetArgvsForDeathTestChildProcess();
  args.push_back(filter_flag);
  args.push_back(internal_flag);

  DeathTest::set_last_death_test_message("");

  CaptureStderr();
  // See the comment in NoExecDeathTest::AssumeRole for why the next line
  // is necessary.
  FlushInfoLog();

  std::unique_ptr<char*[]> argv = CreateArgvFromArgs(args);
  const pid_t child_pid = ExecDeathTestSpawnChild(argv.get(), pipe_fd[0]);
  GTEST_DEATH_TEST_CHECK_SYSCALL_(close(pipe_fd[1]));
  set_child_pid(child_pid);
  set_read_fd(pipe_fd[0]);
  set_spawned(true);
  return OVERSEE_TEST;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x660, %rsp            # imm = 0x660
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x600(%rbp)
callq 0xa29e0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
callq 0xa3290
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rdi
callq 0xa32c0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xa32e0
movq %rax, %rdi
callq 0xa3300
movl %eax, -0x2c(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x7888b
movq -0x20(%rbp), %rdi
callq 0xa3320
movq -0x600(%rbp), %rdi
movl %eax, %esi
callq 0xa3220
movl $0x1, -0x4(%rbp)
jmp 0x7972e
jmp 0x7888d
leaq -0x34(%rbp), %rdi
callq 0x10b50
cmpl $-0x1, %eax
setne %al
movzbl %al, %edi
andl $0x1, %edi
callq 0x78790
testb $0x1, %al
jne 0x78a91
leaq -0xf9(%rbp), %rdi
movq %rdi, -0x608(%rbp)
callq 0x10e10
movq -0x608(%rbp), %rdx
leaq 0x5515c(%rip), %rsi     # 0xcda2c
leaq -0xf8(%rbp), %rdi
callq 0x1d070
jmp 0x788de
leaq 0x55071(%rip), %rdx     # 0xcd956
leaq -0xd8(%rbp), %rdi
leaq -0xf8(%rbp), %rsi
callq 0xa2b40
jmp 0x788fa
leaq 0x5513f(%rip), %rdx     # 0xcda40
leaq -0xb8(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0xa2b40
jmp 0x78916
movl $0x557, -0x134(%rbp)    # imm = 0x557
leaq -0x130(%rbp), %rdi
leaq -0x134(%rbp), %rsi
callq 0xa2c60
jmp 0x78935
leaq -0x98(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
leaq -0x130(%rbp), %rdx
callq 0xa2b90
jmp 0x78951
leaq 0x56726(%rip), %rdx     # 0xcf07e
leaq -0x78(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0xa2b40
jmp 0x7896a
leaq 0x55287(%rip), %rdx     # 0xcdbf8
leaq -0x58(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0xa2b40
jmp 0x78980
leaq -0x58(%rbp), %rdi
callq 0x76110
jmp 0x7898b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x78a80
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x78a74
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x78a68
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x78a5c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x78a50
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x78a44
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x78a3b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x10fc8
leaq -0x78(%rbp), %rdi
callq 0x10fc8
leaq -0x98(%rbp), %rdi
callq 0x10fc8
leaq -0x130(%rbp), %rdi
callq 0x10fc8
leaq -0xb8(%rbp), %rdi
callq 0x10fc8
leaq -0xd8(%rbp), %rdi
callq 0x10fc8
leaq -0xf8(%rbp), %rdi
callq 0x10fc8
leaq -0xf9(%rbp), %rdi
callq 0x10810
jmp 0x7973a
jmp 0x78a93
callq 0xa2ce0
testb $0x1, %al
jne 0x7888d
jmp 0x78aa2
movl -0x30(%rbp), %edi
movl $0x2, %esi
xorl %edx, %edx
movb $0x0, %al
callq 0x10430
cmpl $-0x1, %eax
setne %al
movzbl %al, %edi
andl $0x1, %edi
callq 0x78790
testb $0x1, %al
jne 0x78cc0
leaq -0x1f9(%rbp), %rdi
movq %rdi, -0x610(%rbp)
callq 0x10e10
movq -0x610(%rbp), %rdx
leaq 0x54f3f(%rip), %rsi     # 0xcda2c
leaq -0x1f8(%rbp), %rdi
callq 0x1d070
jmp 0x78afb
leaq 0x54e54(%rip), %rdx     # 0xcd956
leaq -0x1d8(%rbp), %rdi
leaq -0x1f8(%rbp), %rsi
callq 0xa2b40
jmp 0x78b17
leaq 0x54f22(%rip), %rdx     # 0xcda40
leaq -0x1b8(%rbp), %rdi
leaq -0x1d8(%rbp), %rsi
callq 0xa2b40
jmp 0x78b33
movl $0x55a, -0x224(%rbp)    # imm = 0x55A
leaq -0x220(%rbp), %rdi
leaq -0x224(%rbp), %rsi
callq 0xa2c60
jmp 0x78b52
leaq -0x198(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
leaq -0x220(%rbp), %rdx
callq 0xa2b90
jmp 0x78b6e
leaq 0x56509(%rip), %rdx     # 0xcf07e
leaq -0x178(%rbp), %rdi
leaq -0x198(%rbp), %rsi
callq 0xa2b40
jmp 0x78b8a
leaq 0x550af(%rip), %rdx     # 0xcdc40
leaq -0x158(%rbp), %rdi
leaq -0x178(%rbp), %rsi
callq 0xa2b40
jmp 0x78ba6
leaq -0x158(%rbp), %rdi
callq 0x76110
jmp 0x78bb4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x78caf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x78ca3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x78c97
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x78c8b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x78c7f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x78c73
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x78c67
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
leaq -0x158(%rbp), %rdi
callq 0x10fc8
leaq -0x178(%rbp), %rdi
callq 0x10fc8
leaq -0x198(%rbp), %rdi
callq 0x10fc8
leaq -0x220(%rbp), %rdi
callq 0x10fc8
leaq -0x1b8(%rbp), %rdi
callq 0x10fc8
leaq -0x1d8(%rbp), %rdi
callq 0x10fc8
leaq -0x1f8(%rbp), %rdi
callq 0x10fc8
leaq -0x1f9(%rbp), %rdi
callq 0x10810
jmp 0x7973a
jmp 0x78cc2
callq 0xa2ce0
testb $0x1, %al
jne 0x78aa2
leaq -0x2e9(%rbp), %rdi
movq %rdi, -0x618(%rbp)
callq 0x10e10
movq -0x618(%rbp), %rdx
leaq 0x567a8(%rip), %rsi     # 0xcf498
leaq -0x2e8(%rbp), %rdi
callq 0x1d070
jmp 0x78cfe
leaq 0x54f5f(%rip), %rdx     # 0xcdc64
leaq -0x2c8(%rbp), %rdi
leaq -0x2e8(%rbp), %rsi
callq 0xa2b40
jmp 0x78d1a
leaq 0x54f4a(%rip), %rdx     # 0xcdc6b
leaq -0x2a8(%rbp), %rdi
leaq -0x2c8(%rbp), %rsi
callq 0xa2b40
jmp 0x78d36
movq -0x28(%rbp), %rdi
callq 0xa3340
movq %rax, -0x620(%rbp)
jmp 0x78d48
movq -0x620(%rbp), %rdx
leaq -0x288(%rbp), %rdi
leaq -0x2a8(%rbp), %rsi
callq 0xa2b40
jmp 0x78d64
leaq 0x50d18(%rip), %rdx     # 0xc9a83
leaq -0x268(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0xa2b40
jmp 0x78d80
movq -0x28(%rbp), %rdi
callq 0xa3360
movq %rax, -0x628(%rbp)
jmp 0x78d92
movq -0x628(%rbp), %rdx
leaq -0x248(%rbp), %rdi
leaq -0x268(%rbp), %rsi
callq 0xa2b40
jmp 0x78dae
leaq -0x268(%rbp), %rdi
callq 0x10fc8
leaq -0x288(%rbp), %rdi
callq 0x10fc8
leaq -0x2a8(%rbp), %rdi
callq 0x10fc8
leaq -0x2c8(%rbp), %rdi
callq 0x10fc8
leaq -0x2e8(%rbp), %rdi
callq 0x10fc8
leaq -0x2e9(%rbp), %rdi
callq 0x10810
leaq -0x431(%rbp), %rdi
movq %rdi, -0x630(%rbp)
callq 0x10e10
movq -0x630(%rbp), %rdx
leaq 0x56681(%rip), %rsi     # 0xcf498
leaq -0x430(%rbp), %rdi
callq 0x1d070
jmp 0x78e25
leaq 0x54e38(%rip), %rdx     # 0xcdc64
leaq -0x410(%rbp), %rdi
leaq -0x430(%rbp), %rsi
callq 0xa2b40
jmp 0x78e41
leaq 0x54e2b(%rip), %rdx     # 0xcdc73
leaq -0x3f0(%rbp), %rdi
leaq -0x410(%rbp), %rsi
callq 0xa2b40
jmp 0x78e5d
movq -0x600(%rbp), %rax
movq 0x40(%rax), %rdx
leaq -0x3d0(%rbp), %rdi
leaq -0x3f0(%rbp), %rsi
callq 0xa2b40
jmp 0x78e7d
leaq 0x54e08(%rip), %rdx     # 0xcdc8c
leaq -0x3b0(%rbp), %rdi
leaq -0x3d0(%rbp), %rsi
callq 0xa2b40
jmp 0x78e99
movq -0x600(%rbp), %rsi
addq $0x48, %rsi
leaq -0x458(%rbp), %rdi
callq 0xa2c60
jmp 0x78eb2
leaq -0x390(%rbp), %rdi
leaq -0x3b0(%rbp), %rsi
leaq -0x458(%rbp), %rdx
callq 0xa2b90
jmp 0x78ece
leaq 0x54db7(%rip), %rdx     # 0xcdc8c
leaq -0x370(%rbp), %rdi
leaq -0x390(%rbp), %rsi
callq 0xa2b40
jmp 0x78eea
leaq -0x478(%rbp), %rdi
leaq -0x2c(%rbp), %rsi
callq 0xa2c60
jmp 0x78efc
leaq -0x350(%rbp), %rdi
leaq -0x370(%rbp), %rsi
leaq -0x478(%rbp), %rdx
callq 0xa2b90
jmp 0x78f18
leaq 0x54d6d(%rip), %rdx     # 0xcdc8c
leaq -0x330(%rbp), %rdi
leaq -0x350(%rbp), %rsi
callq 0xa2b40
jmp 0x78f34
leaq -0x30(%rbp), %rsi
leaq -0x498(%rbp), %rdi
callq 0xa2c60
jmp 0x78f46
leaq -0x310(%rbp), %rdi
leaq -0x330(%rbp), %rsi
leaq -0x498(%rbp), %rdx
callq 0xa2b90
jmp 0x78f62
leaq -0x498(%rbp), %rdi
callq 0x10fc8
leaq -0x330(%rbp), %rdi
callq 0x10fc8
leaq -0x350(%rbp), %rdi
callq 0x10fc8
leaq -0x478(%rbp), %rdi
callq 0x10fc8
leaq -0x370(%rbp), %rdi
callq 0x10fc8
leaq -0x390(%rbp), %rdi
callq 0x10fc8
leaq -0x458(%rbp), %rdi
callq 0x10fc8
leaq -0x3b0(%rbp), %rdi
callq 0x10fc8
leaq -0x3d0(%rbp), %rdi
callq 0x10fc8
leaq -0x3f0(%rbp), %rdi
callq 0x10fc8
leaq -0x410(%rbp), %rdi
callq 0x10fc8
leaq -0x430(%rbp), %rdi
callq 0x10fc8
leaq -0x431(%rbp), %rdi
callq 0x10810
leaq -0x4b0(%rbp), %rdi
callq 0xa3380
jmp 0x7900c
leaq -0x4b0(%rbp), %rdi
leaq -0x248(%rbp), %rsi
callq 0x3b4d0
jmp 0x79021
leaq -0x4b0(%rbp), %rdi
leaq -0x310(%rbp), %rsi
callq 0x3b4d0
jmp 0x79036
leaq -0x4d1(%rbp), %rdi
movq %rdi, -0x638(%rbp)
callq 0x10e10
movq -0x638(%rbp), %rdx
leaq 0x522b0(%rip), %rsi     # 0xcb307
leaq -0x4d0(%rbp), %rdi
callq 0x1d070
jmp 0x79065
leaq -0x4d0(%rbp), %rdi
callq 0x762b0
jmp 0x79073
leaq -0x4d0(%rbp), %rdi
callq 0x10fc8
leaq -0x4d1(%rbp), %rdi
callq 0x10810
callq 0x787b0
jmp 0x79092
callq 0xa31f0
jmp 0x79099
leaq -0x4e0(%rbp), %rdi
leaq -0x4b0(%rbp), %rsi
callq 0x79750
jmp 0x790ae
leaq -0x4e0(%rbp), %rdi
callq 0xa33c0
movq %rax, %rdi
movl -0x34(%rbp), %esi
callq 0x79860
movl %eax, -0x63c(%rbp)
jmp 0x790cd
movl -0x63c(%rbp), %eax
movl %eax, -0x4e4(%rbp)
jmp 0x790db
movl -0x30(%rbp), %edi
callq 0x10f60
movl %eax, -0x640(%rbp)
jmp 0x790eb
movl -0x640(%rbp), %eax
movl %eax, -0x4e8(%rbp)
xorl %eax, %eax
cmpl $-0x1, -0x4e8(%rbp)
movb %al, -0x641(%rbp)
jne 0x79119
callq 0x10080
cmpl $0x4, (%rax)
sete %al
movb %al, -0x641(%rbp)
movb -0x641(%rbp), %al
testb $0x1, %al
jne 0x790db
cmpl $-0x1, -0x4e8(%rbp)
jne 0x7966c
leaq -0x5c9(%rbp), %rdi
movq %rdi, -0x650(%rbp)
callq 0x10e10
movq -0x650(%rbp), %rdx
leaq 0x548db(%rip), %rsi     # 0xcda2c
leaq -0x5c8(%rbp), %rdi
callq 0x1d070
jmp 0x7915f
leaq 0x547f0(%rip), %rdx     # 0xcd956
leaq -0x5a8(%rbp), %rdi
leaq -0x5c8(%rbp), %rsi
callq 0xa2b40
jmp 0x7917b
leaq 0x548be(%rip), %rdx     # 0xcda40
leaq -0x588(%rbp), %rdi
leaq -0x5a8(%rbp), %rsi
callq 0xa2b40
jmp 0x79197
movl $0x571, -0x5f4(%rbp)    # imm = 0x571
leaq -0x5f0(%rbp), %rdi
leaq -0x5f4(%rbp), %rsi
callq 0xa2c60
jmp 0x791b6
leaq -0x568(%rbp), %rdi
leaq -0x588(%rbp), %rsi
leaq -0x5f0(%rbp), %rdx
callq 0xa2b90
jmp 0x791d2
leaq 0x55ea5(%rip), %rdx     # 0xcf07e
leaq -0x548(%rbp), %rdi
leaq -0x568(%rbp), %rsi
callq 0xa2b40
jmp 0x791ee
leaq 0x54a39(%rip), %rdx     # 0xcdc2e
leaq -0x528(%rbp), %rdi
leaq -0x548(%rbp), %rsi
callq 0xa2b40
jmp 0x7920a
leaq 0x54a4c(%rip), %rdx     # 0xcdc5d
leaq -0x508(%rbp), %rdi
leaq -0x528(%rbp), %rsi
callq 0xa2b40
jmp 0x79226
leaq -0x508(%rbp), %rdi
callq 0x76110
jmp 0x79234
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x792e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x792dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x792d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x792c5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x792b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
leaq -0x268(%rbp), %rdi
callq 0x10fc8
leaq -0x288(%rbp), %rdi
callq 0x10fc8
leaq -0x2a8(%rbp), %rdi
callq 0x10fc8
leaq -0x2c8(%rbp), %rdi
callq 0x10fc8
leaq -0x2e8(%rbp), %rdi
callq 0x10fc8
leaq -0x2e9(%rbp), %rdi
callq 0x10810
jmp 0x7973a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x794a4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x79498
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x7948c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x79480
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x79474
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x79468
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x7945c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x79450
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x79444
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x79438
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x7942c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x79420
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
leaq -0x498(%rbp), %rdi
callq 0x10fc8
leaq -0x330(%rbp), %rdi
callq 0x10fc8
leaq -0x350(%rbp), %rdi
callq 0x10fc8
leaq -0x478(%rbp), %rdi
callq 0x10fc8
leaq -0x370(%rbp), %rdi
callq 0x10fc8
leaq -0x390(%rbp), %rdi
callq 0x10fc8
leaq -0x458(%rbp), %rdi
callq 0x10fc8
leaq -0x3b0(%rbp), %rdi
callq 0x10fc8
leaq -0x3d0(%rbp), %rdi
callq 0x10fc8
leaq -0x3f0(%rbp), %rdi
callq 0x10fc8
leaq -0x410(%rbp), %rdi
callq 0x10fc8
leaq -0x430(%rbp), %rdi
callq 0x10fc8
leaq -0x431(%rbp), %rdi
callq 0x10810
jmp 0x79720
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x79714
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x79708
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x79515
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
leaq -0x4d0(%rbp), %rdi
callq 0x10fc8
leaq -0x4d1(%rbp), %rdi
callq 0x10810
jmp 0x79708
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x796fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x7965b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x7964f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x79643
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x79637
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x7962b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x7961f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x79613
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
jmp 0x79607
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x108(%rbp)
movl %eax, -0x10c(%rbp)
leaq -0x508(%rbp), %rdi
callq 0x10fc8
leaq -0x528(%rbp), %rdi
callq 0x10fc8
leaq -0x548(%rbp), %rdi
callq 0x10fc8
leaq -0x568(%rbp), %rdi
callq 0x10fc8
leaq -0x5f0(%rbp), %rdi
callq 0x10fc8
leaq -0x588(%rbp), %rdi
callq 0x10fc8
leaq -0x5a8(%rbp), %rdi
callq 0x10fc8
leaq -0x5c8(%rbp), %rdi
callq 0x10fc8
leaq -0x5c9(%rbp), %rdi
callq 0x10810
jmp 0x796fc
jmp 0x7966e
callq 0xa2ce0
movb %al, -0x651(%rbp)
jmp 0x7967b
movb -0x651(%rbp), %al
testb $0x1, %al
jne 0x790d9
jmp 0x7968b
movq -0x600(%rbp), %rdi
movl -0x4e4(%rbp), %esi
callq 0xa3200
jmp 0x7969f
movq -0x600(%rbp), %rdi
movl -0x34(%rbp), %esi
callq 0xa2cf0
jmp 0x796b0
movq -0x600(%rbp), %rdi
movl $0x1, %esi
callq 0xa3270
jmp 0x796c3
movl $0x0, -0x4(%rbp)
leaq -0x4e0(%rbp), %rdi
callq 0xa33f0
leaq -0x4b0(%rbp), %rdi
callq 0x390a0
leaq -0x310(%rbp), %rdi
callq 0x10fc8
leaq -0x248(%rbp), %rdi
callq 0x10fc8
jmp 0x7972e
leaq -0x4e0(%rbp), %rdi
callq 0xa33f0
leaq -0x4b0(%rbp), %rdi
callq 0x390a0
leaq -0x310(%rbp), %rdi
callq 0x10fc8
leaq -0x248(%rbp), %rdi
callq 0x10fc8
jmp 0x7973a
movl -0x4(%rbp), %eax
addq $0x660, %rsp            # imm = 0x660
popq %rbp
retq
movq -0x108(%rbp), %rdi
callq 0x10e00
nopw %cs:(%rax,%rax)