// File: /workspace/github_c_makefile_star2_O0/barabo[P]advanced-shell-history/src/_ash_log.cpp
// Function: main
int main(int argc, char ** argv) {
  if (getenv("ASH_DISABLED")) return FLAGS_exit;

  // Load the config from the environment.
  Config & config = Config::instance();

  // Log the complete command, if debugging.
  stringstream ss;
  ss << "argv = '[0]='" << argv[0] << "'";
  for (int i = 1; i < argc; ++i)
    ss << ",[" << i << "]='" << argv[i] << "'";
  LOG(DEBUG) << ss.str();

  // Show usage if executed with no args.
  if (argc == 1 && !config.sets("HIDE_USAGE_FOR_NO_ARGS")) {
    Flag::parse(&argc, &argv, true);  // Sets the prog name in help output.
    usage(cerr);
  }

  // Parse the flags.
  Flag::parse(&argc, &argv, true);

  // Display the version and stop: -V
  if (FLAGS_version) {
    cout << ASH_VERSION << endl;
    return 0;
  }

  // Display a user alert: -a 'My alert'
  if (!FLAGS_alert.empty()) {
    cerr << FLAGS_alert << endl;
  }

  // Get the filename backing the history database.
  string db_file = config.get_string("HISTORY_DB");
  if (db_file == "") {
    usage(cerr << "\nExpected ASH_CFG_HISTORY_DB to be defined.");
  }

  // Register the tables expected in the program.
  Session::register_table();
  Command::register_table();

  // Emit the current session number, inserting one if none exists: -S
  if (FLAGS_get_session_id) {
    Database db = Database(db_file);
    stringstream ss;
    char * id = getenv("ASH_SESSION_ID");
    if (id) {
      ss << "select count(*) as session_cnt from sessions where id = " << id
         << " and duration is null;";
      ResultSet * rs = db.exec(ss.str());
      if (!rs || rs -> rows != 1) {
        cerr << "ERROR: session_id(" << id << ") not found, "
             << "creating new session." << endl << ss.str() << endl;
        id = 0;
      }
      ss.str("");
    }

    if (id) {
      cout << id << endl;
    } else {
      Session session;
      cout << db.insert(&session) << endl;
    }
  }

  // Insert a command into the DB if there's a command to insert.
  const bool command_flag_used = !FLAGS_command.empty()
    || FLAGS_command_exit
    || !FLAGS_command_pipe_status.empty()
    || FLAGS_command_start
    || FLAGS_command_finish
    || FLAGS_command_number;

  if (command_flag_used) {
    Database db = Database(db_file);
    Command com(FLAGS_command, FLAGS_command_exit, FLAGS_command_start,
      FLAGS_command_finish, FLAGS_command_number, FLAGS_command_pipe_status);
    db.insert(&com);
  }

  // End the current session in the DB: -E
  if (FLAGS_end_session) {
    char * id = getenv("ASH_SESSION_ID");
    if (id == NULL) {
      LOG(ERROR) << "Can't end the current session: ASH_SESSION_ID undefined.";
    } else {
      Session session;
      Database db = Database(db_file);
      db.exec(session.get_close_session_sql());
    }
  }

  // Set the exit code to match what the previous command exited: -e 123
  return FLAGS_exit;
}

// Assembly:
subq $0xd58, %rsp            # imm = 0xD58
movl $0x0, 0xd54(%rsp)
movl %edi, 0xd50(%rsp)
movq %rsi, 0xd48(%rsp)
leaq 0x1dee2(%rip), %rdi     # 0xa916a
callq 0x84e0
cmpq $0x0, %rax
je 0x8b2a5
movl 0x3a107(%rip), %eax     # 0xc53a0
movl %eax, 0xd54(%rsp)
jmp 0x8c12e
callq 0x8ef80
movq %rax, 0xd40(%rsp)
leaq 0xbb8(%rsp), %rdi
callq 0x8270
leaq 0xbc8(%rsp), %rdi
leaq 0x1dea9(%rip), %rsi     # 0xa9177
callq 0x83d0
movq %rax, 0x110(%rsp)
jmp 0x8b2dd
movq 0x110(%rsp), %rdi
movq 0xd48(%rsp), %rax
movq (%rax), %rsi
callq 0x83d0
movq %rax, 0x108(%rsp)
jmp 0x8b2ff
movq 0x108(%rsp), %rdi
leaq 0x1ea64(%rip), %rsi     # 0xa9d72
callq 0x83d0
jmp 0x8b315
movl $0x1, 0xba8(%rsp)
movl 0xba8(%rsp), %eax
cmpl 0xd50(%rsp), %eax
jge 0x8b400
leaq 0xbc8(%rsp), %rdi
leaq 0x1de42(%rip), %rsi     # 0xa9185
callq 0x83d0
movq %rax, 0x100(%rsp)
jmp 0x8b352
movq 0x100(%rsp), %rdi
movl 0xba8(%rsp), %esi
callq 0x86e0
movq %rax, 0xf8(%rsp)
jmp 0x8b370
movq 0xf8(%rsp), %rdi
leaq 0x1de02(%rip), %rsi     # 0xa9181
callq 0x83d0
movq %rax, 0xf0(%rsp)
jmp 0x8b38e
movq 0xf0(%rsp), %rdi
movq 0xd48(%rsp), %rax
movslq 0xba8(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x83d0
movq %rax, 0xe8(%rsp)
jmp 0x8b3b9
movq 0xe8(%rsp), %rdi
leaq 0x1e9aa(%rip), %rsi     # 0xa9d72
callq 0x83d0
jmp 0x8b3cf
jmp 0x8b3d1
movl 0xba8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xba8(%rsp)
jmp 0x8b320
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
jmp 0x8c11d
leaq 0x890(%rsp), %rdi
xorl %esi, %esi
callq 0x9b5d0
jmp 0x8b411
leaq 0x870(%rsp), %rdi
leaq 0xbb8(%rsp), %rsi
callq 0x83b0
jmp 0x8b428
leaq 0x890(%rsp), %rdi
leaq 0x870(%rsp), %rsi
callq 0x8c190
jmp 0x8b43f
leaq 0x870(%rsp), %rdi
callq 0x8818
jmp 0x8b44e
leaq 0x890(%rsp), %rdi
callq 0x9bd20
jmp 0x8b45d
movl 0xd50(%rsp), %ecx
movb $0x0, 0x84e(%rsp)
movb $0x0, 0x84d(%rsp)
xorl %eax, %eax
cmpl $0x1, %ecx
movb %al, 0xe7(%rsp)
jne 0x8b509
movq 0xd40(%rsp), %rax
movq %rax, 0xd0(%rsp)
leaq 0x84f(%rsp), %rdi
movq %rdi, 0xd8(%rsp)
callq 0x8740
movq 0xd8(%rsp), %rdx
movb $0x1, 0x84e(%rsp)
leaq 0x1dcc6(%rip), %rsi     # 0xa9188
leaq 0x850(%rsp), %rdi
callq 0x8540
jmp 0x8b4d1
movq 0xd0(%rsp), %rdi
movb $0x1, 0x84d(%rsp)
leaq 0x850(%rsp), %rsi
xorl %edx, %edx
callq 0x8ebd0
movb %al, 0xcf(%rsp)
jmp 0x8b4f9
movb 0xcf(%rsp), %al
xorb $-0x1, %al
movb %al, 0xe7(%rsp)
movb 0xe7(%rsp), %al
movb %al, 0xce(%rsp)
testb $0x1, 0x84d(%rsp)
jne 0x8b523
jmp 0x8b534
leaq 0x850(%rsp), %rdi
callq 0x8818
jmp 0x8b532
jmp 0x8b534
testb $0x1, 0x84e(%rsp)
jne 0x8b540
jmp 0x8b54d
leaq 0x84f(%rsp), %rdi
callq 0x8460
movb 0xce(%rsp), %al
testb $0x1, %al
jne 0x8b55d
jmp 0x8b642
leaq 0xd50(%rsp), %rdi
leaq 0xd48(%rsp), %rsi
movl $0x1, %edx
callq 0x95ba0
jmp 0x8b579
movq 0x37a70(%rip), %rdi     # 0xc2ff0
callq 0x8b220
jmp 0x8b587
jmp 0x8b642
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
jmp 0x8b5c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
leaq 0x870(%rsp), %rdi
callq 0x8818
jmp 0x8b5c5
jmp 0x8b5c7
leaq 0x890(%rsp), %rdi
callq 0x9bd20
jmp 0x8b5d6
jmp 0x8c11d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
jmp 0x8b624
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
testb $0x1, 0x84d(%rsp)
jne 0x8b611
jmp 0x8b622
leaq 0x850(%rsp), %rdi
callq 0x8818
jmp 0x8b620
jmp 0x8b622
jmp 0x8b624
testb $0x1, 0x84e(%rsp)
jne 0x8b630
jmp 0x8b63d
leaq 0x84f(%rsp), %rdi
callq 0x8460
jmp 0x8c11d
leaq 0xd50(%rsp), %rdi
leaq 0xd48(%rsp), %rsi
movl $0x1, %edx
callq 0x95ba0
jmp 0x8b65e
testb $0x1, 0x39d73(%rip)     # 0xc53d8
je 0x8b6b5
movq 0x37952(%rip), %rdi     # 0xc2fc0
leaq 0x1db2a(%rip), %rsi     # 0xa919f
callq 0x83d0
movq %rax, 0xc0(%rsp)
jmp 0x8b684
movq 0xc0(%rsp), %rdi
movq 0x37905(%rip), %rsi     # 0xc2f98
callq 0x8440
jmp 0x8b69a
movl $0x0, 0xd54(%rsp)
movl $0x1, 0x848(%rsp)
jmp 0x8c10e
leaq 0x39ae4(%rip), %rdi     # 0xc51a0
callq 0x8690
movb %al, 0xbf(%rsp)
jmp 0x8b6ca
movb 0xbf(%rsp), %al
testb $0x1, %al
jne 0x8b70c
jmp 0x8b6d7
movq 0x37912(%rip), %rdi     # 0xc2ff0
leaq 0x39abb(%rip), %rsi     # 0xc51a0
callq 0x8320
movq %rax, 0xb0(%rsp)
jmp 0x8b6f4
movq 0xb0(%rsp), %rdi
movq 0x37895(%rip), %rsi     # 0xc2f98
callq 0x8440
jmp 0x8b70a
jmp 0x8b70c
movq 0xd40(%rsp), %rax
movq %rax, 0xa0(%rsp)
leaq 0x807(%rsp), %rdi
movq %rdi, 0xa8(%rsp)
callq 0x8740
movq 0xa8(%rsp), %rdx
leaq 0x1da65(%rip), %rsi     # 0xa91a5
leaq 0x808(%rsp), %rdi
callq 0x8540
jmp 0x8b74f
leaq 0x7df(%rsp), %rdi
movq %rdi, 0x98(%rsp)
callq 0x8740
movq 0x98(%rsp), %rdx
leaq 0x1d9cc(%rip), %rsi     # 0xa913f
leaq 0x7e0(%rsp), %rdi
callq 0x8540
jmp 0x8b782
movq 0xa0(%rsp), %rsi
leaq 0x828(%rsp), %rdi
leaq 0x808(%rsp), %rdx
leaq 0x7e0(%rsp), %rcx
callq 0x8eea0
jmp 0x8b7a9
leaq 0x7e0(%rsp), %rdi
callq 0x8818
jmp 0x8b7b8
leaq 0x7df(%rsp), %rdi
callq 0x8460
leaq 0x808(%rsp), %rdi
callq 0x8818
jmp 0x8b7d4
leaq 0x807(%rsp), %rdi
callq 0x8460
leaq 0x1d957(%rip), %rsi     # 0xa913f
leaq 0x828(%rsp), %rdi
callq 0x8c1d0
movb %al, 0x97(%rsp)
jmp 0x8b7fe
movb 0x97(%rsp), %al
testb $0x1, %al
jne 0x8b80e
jmp 0x8b8d9
movq 0x377db(%rip), %rdi     # 0xc2ff0
leaq 0x1d994(%rip), %rsi     # 0xa91b0
callq 0x83d0
movq %rax, 0x88(%rsp)
jmp 0x8b82b
movq 0x88(%rsp), %rdi
callq 0x8b220
jmp 0x8b83a
jmp 0x8b8d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
jmp 0x8b8ae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
jmp 0x8b890
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
leaq 0x7e0(%rsp), %rdi
callq 0x8818
jmp 0x8b88e
jmp 0x8b890
leaq 0x7df(%rsp), %rdi
callq 0x8460
leaq 0x808(%rsp), %rdi
callq 0x8818
jmp 0x8b8ac
jmp 0x8b8ae
leaq 0x807(%rsp), %rdi
callq 0x8460
jmp 0x8c11d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
jmp 0x8c0fd
callq 0x9bf40
jmp 0x8b8e0
callq 0x8c230
jmp 0x8b8e7
testb $0x1, 0x39b22(%rip)     # 0xc5410
je 0x8bd17
leaq 0x7a8(%rsp), %rdi
leaq 0x828(%rsp), %rsi
callq 0x8f740
jmp 0x8b90b
leaq 0x620(%rsp), %rdi
callq 0x8270
jmp 0x8b91a
leaq 0x1d8bb(%rip), %rdi     # 0xa91dc
callq 0x84e0
movq %rax, 0x618(%rsp)
cmpq $0x0, 0x618(%rsp)
je 0x8bc08
leaq 0x630(%rsp), %rdi
leaq 0x1d89f(%rip), %rsi     # 0xa91eb
callq 0x83d0
movq %rax, 0x80(%rsp)
jmp 0x8b95b
movq 0x80(%rsp), %rdi
movq 0x618(%rsp), %rsi
callq 0x83d0
movq %rax, 0x78(%rsp)
jmp 0x8b977
movq 0x78(%rsp), %rdi
leaq 0x1d8a1(%rip), %rsi     # 0xa9224
callq 0x83d0
jmp 0x8b98a
leaq 0x5f0(%rsp), %rdi
leaq 0x620(%rsp), %rsi
callq 0x83b0
jmp 0x8b9a1
leaq 0x7a8(%rsp), %rdi
leaq 0x5f0(%rsp), %rsi
xorl %edx, %edx
callq 0x90200
movq %rax, 0x70(%rsp)
jmp 0x8b9bf
leaq 0x5f0(%rsp), %rdi
callq 0x8818
jmp 0x8b9ce
movq 0x70(%rsp), %rax
movq %rax, 0x610(%rsp)
cmpq $0x0, 0x610(%rsp)
je 0x8b9f9
movq 0x610(%rsp), %rax
cmpq $0x1, 0x30(%rax)
je 0x8bb59
movq 0x375f0(%rip), %rdi     # 0xc2ff0
leaq 0x1d834(%rip), %rsi     # 0xa923b
callq 0x83d0
movq %rax, 0x68(%rsp)
jmp 0x8ba13
movq 0x68(%rsp), %rdi
movq 0x618(%rsp), %rsi
callq 0x83d0
movq %rax, 0x60(%rsp)
jmp 0x8ba2c
movq 0x60(%rsp), %rdi
leaq 0x1d816(%rip), %rsi     # 0xa924e
callq 0x83d0
movq %rax, 0x58(%rsp)
jmp 0x8ba44
movq 0x58(%rsp), %rdi
leaq 0x1d80c(%rip), %rsi     # 0xa925c
callq 0x83d0
movq %rax, 0x50(%rsp)
jmp 0x8ba5c
movq 0x50(%rsp), %rdi
movq 0x37530(%rip), %rsi     # 0xc2f98
callq 0x8440
movq %rax, 0x48(%rsp)
jmp 0x8ba74
leaq 0x5d0(%rsp), %rdi
leaq 0x620(%rsp), %rsi
callq 0x83b0
jmp 0x8ba8b
movq 0x48(%rsp), %rdi
leaq 0x5d0(%rsp), %rsi
callq 0x8320
movq %rax, 0x40(%rsp)
jmp 0x8baa4
movq 0x40(%rsp), %rdi
movq 0x374e8(%rip), %rsi     # 0xc2f98
callq 0x8440
jmp 0x8bab7
leaq 0x5d0(%rsp), %rdi
callq 0x8818
jmp 0x8bac6
movq $0x0, 0x618(%rsp)
jmp 0x8bb59
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
jmp 0x8bd03
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
jmp 0x8bcf2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
leaq 0x5f0(%rsp), %rdi
callq 0x8818
jmp 0x8bb2c
jmp 0x8bcf2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
leaq 0x5d0(%rsp), %rdi
callq 0x8818
jmp 0x8bb54
jmp 0x8bcf2
leaq 0x5af(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x8740
movq 0x38(%rsp), %rdx
leaq 0x1d5c8(%rip), %rsi     # 0xa913f
leaq 0x5b0(%rsp), %rdi
callq 0x8540
jmp 0x8bb86
leaq 0x620(%rsp), %rdi
leaq 0x5b0(%rsp), %rsi
callq 0x8480
jmp 0x8bb9d
leaq 0x5b0(%rsp), %rdi
callq 0x8818
jmp 0x8bbac
leaq 0x5af(%rsp), %rdi
callq 0x8460
jmp 0x8bc08
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
jmp 0x8bbf6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
leaq 0x5b0(%rsp), %rdi
callq 0x8818
jmp 0x8bbf4
jmp 0x8bbf6
leaq 0x5af(%rsp), %rdi
callq 0x8460
jmp 0x8bcf2
cmpq $0x0, 0x618(%rsp)
je 0x8bc46
movq 0x618(%rsp), %rsi
movq 0x3739e(%rip), %rdi     # 0xc2fc0
callq 0x83d0
movq %rax, 0x30(%rsp)
jmp 0x8bc2e
movq 0x30(%rsp), %rdi
movq 0x3735e(%rip), %rsi     # 0xc2f98
callq 0x8440
jmp 0x8bc41
jmp 0x8bcd2
leaq 0x570(%rsp), %rdi
callq 0x9c2e0
jmp 0x8bc55
leaq 0x7a8(%rsp), %rdi
leaq 0x570(%rsp), %rsi
callq 0x92000
movq %rax, 0x28(%rsp)
jmp 0x8bc71
movq 0x28(%rsp), %rsi
movq 0x37343(%rip), %rdi     # 0xc2fc0
callq 0x8770
movq %rax, 0x20(%rsp)
jmp 0x8bc89
movq 0x20(%rsp), %rdi
movq 0x37303(%rip), %rsi     # 0xc2f98
callq 0x8440
jmp 0x8bc9c
leaq 0x570(%rsp), %rdi
callq 0x9d340
jmp 0x8bcab
jmp 0x8bcd2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
leaq 0x570(%rsp), %rdi
callq 0x9d340
jmp 0x8bcd0
jmp 0x8bcf2
leaq 0x620(%rsp), %rdi
callq 0x8820
jmp 0x8bce1
leaq 0x7a8(%rsp), %rdi
callq 0x91040
jmp 0x8bcf0
jmp 0x8bd17
leaq 0x620(%rsp), %rdi
callq 0x8820
jmp 0x8bd01
jmp 0x8bd03
leaq 0x7a8(%rsp), %rdi
callq 0x91040
jmp 0x8bd12
jmp 0x8c0fd
leaq 0x394d2(%rip), %rdi     # 0xc51f0
callq 0x8690
movb %al, 0x1f(%rsp)
jmp 0x8bd29
movb 0x1f(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0x1e(%rsp)
jne 0x8bd3a
jmp 0x8bd98
movb $0x1, %al
cmpl $0x0, 0x3952d(%rip)     # 0xc5270
movb %al, 0x1e(%rsp)
jne 0x8bd98
leaq 0x39528(%rip), %rdi     # 0xc5278
callq 0x8690
movb %al, 0x1d(%rsp)
jmp 0x8bd5b
movb 0x1d(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0x1e(%rsp)
jne 0x8bd6c
jmp 0x8bd98
movb $0x1, %al
cmpl $0x0, 0x39583(%rip)     # 0xc52f8
movb %al, 0x1e(%rsp)
jne 0x8bd98
movb $0x1, %al
cmpl $0x0, 0x395ac(%rip)     # 0xc5330
movb %al, 0x1e(%rsp)
jne 0x8bd98
cmpl $0x0, 0x395d7(%rip)     # 0xc5368
setne %al
movb %al, 0x1e(%rsp)
movb 0x1e(%rsp), %al
andb $0x1, %al
movb %al, 0x56f(%rsp)
testb $0x1, 0x56f(%rsp)
je 0x8bf48
leaq 0x538(%rsp), %rdi
leaq 0x828(%rsp), %rsi
callq 0x8f740
jmp 0x8bdca
leaq 0x3941f(%rip), %rsi     # 0xc51f0
leaq 0x4e0(%rsp), %rdi
callq 0x8170
jmp 0x8bde0
movl 0x3948a(%rip), %eax     # 0xc5270
movl %eax, 0xc(%rsp)
movl 0x39508(%rip), %eax     # 0xc52f8
movl %eax, 0x10(%rsp)
movl 0x39536(%rip), %eax     # 0xc5330
movl %eax, 0x14(%rsp)
movl 0x39564(%rip), %eax     # 0xc5368
movl %eax, 0x18(%rsp)
leaq 0x39469(%rip), %rsi     # 0xc5278
leaq 0x4c0(%rsp), %rdi
callq 0x8170
jmp 0x8be1e
movl 0x18(%rsp), %r9d
movl 0x14(%rsp), %r8d
movl 0x10(%rsp), %ecx
movl 0xc(%rsp), %edx
movq %rsp, %rax
leaq 0x4c0(%rsp), %rsi
movq %rsi, (%rax)
leaq 0x500(%rsp), %rdi
leaq 0x4e0(%rsp), %rsi
callq 0x8c570
jmp 0x8be55
leaq 0x4c0(%rsp), %rdi
callq 0x8818
jmp 0x8be64
leaq 0x4e0(%rsp), %rdi
callq 0x8818
jmp 0x8be73
leaq 0x538(%rsp), %rdi
leaq 0x500(%rsp), %rsi
callq 0x92000
jmp 0x8be8a
leaq 0x500(%rsp), %rdi
callq 0x8d660
jmp 0x8be99
leaq 0x538(%rsp), %rdi
callq 0x91040
jmp 0x8bea8
jmp 0x8bf48
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
jmp 0x8bf34
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
jmp 0x8befe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
leaq 0x4c0(%rsp), %rdi
callq 0x8818
jmp 0x8befc
jmp 0x8befe
leaq 0x4e0(%rsp), %rdi
callq 0x8818
jmp 0x8bf0d
jmp 0x8bf34
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
leaq 0x500(%rsp), %rdi
callq 0x8d660
jmp 0x8bf32
jmp 0x8bf34
leaq 0x538(%rsp), %rdi
callq 0x91040
jmp 0x8bf43
jmp 0x8c0fd
testb $0x1, 0x394f9(%rip)     # 0xc5448
je 0x8c0d4
leaq 0x1d280(%rip), %rdi     # 0xa91dc
callq 0x84e0
movq %rax, 0x4b8(%rsp)
cmpq $0x0, 0x4b8(%rsp)
jne 0x8bfda
leaq 0x1a0(%rsp), %rdi
movl $0x3, %esi
callq 0x9b5d0
jmp 0x8bf88
leaq 0x1d2e3(%rip), %rsi     # 0xa9272
leaq 0x1a0(%rsp), %rdi
callq 0x8c200
jmp 0x8bf9e
leaq 0x1a0(%rsp), %rdi
callq 0x9bd20
jmp 0x8bfad
jmp 0x8c0d2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
leaq 0x1a0(%rsp), %rdi
callq 0x9bd20
jmp 0x8bfd5
jmp 0x8c0fd
leaq 0x168(%rsp), %rdi
callq 0x9c2e0
jmp 0x8bfe9
leaq 0x138(%rsp), %rdi
leaq 0x828(%rsp), %rsi
callq 0x8f740
jmp 0x8c000
leaq 0x118(%rsp), %rdi
leaq 0x168(%rsp), %rsi
callq 0x9d420
jmp 0x8c017
leaq 0x138(%rsp), %rdi
leaq 0x118(%rsp), %rsi
xorl %edx, %edx
callq 0x90200
jmp 0x8c030
leaq 0x118(%rsp), %rdi
callq 0x8818
jmp 0x8c03f
leaq 0x138(%rsp), %rdi
callq 0x91040
jmp 0x8c04e
leaq 0x168(%rsp), %rdi
callq 0x9d340
jmp 0x8c05d
jmp 0x8c0d2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
jmp 0x8c0c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
jmp 0x8c0b0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xbb0(%rsp)
movl %eax, 0xbac(%rsp)
leaq 0x118(%rsp), %rdi
callq 0x8818
jmp 0x8c0ae
jmp 0x8c0b0
leaq 0x138(%rsp), %rdi
callq 0x91040
jmp 0x8c0bf
jmp 0x8c0c1
leaq 0x168(%rsp), %rdi
callq 0x9d340
jmp 0x8c0d0
jmp 0x8c0fd
jmp 0x8c0d4
movl 0x392c6(%rip), %eax     # 0xc53a0
movl %eax, 0xd54(%rsp)
movl $0x1, 0x848(%rsp)
leaq 0x828(%rsp), %rdi
callq 0x8818
jmp 0x8c0fb
jmp 0x8c10e
leaq 0x828(%rsp), %rdi
callq 0x8818
jmp 0x8c10c
jmp 0x8c11d
leaq 0xbb8(%rsp), %rdi
callq 0x8820
jmp 0x8c12e
leaq 0xbb8(%rsp), %rdi
callq 0x8820
jmp 0x8c12c
jmp 0x8c13d
movl 0xd54(%rsp), %eax
addq $0xd58, %rsp            # imm = 0xD58
retq
movq 0xbb0(%rsp), %rdi
callq 0x8720
movq %rax, %rdi
callq 0x8c1c0
nopw %cs:(%rax,%rax)
nopl (%rax)