// File: /workspace/github_c_makefile_star2_O0/barabo[P]advanced-shell-history/src/ash_query.cpp
// Function: main
int main(int argc, char ** argv) {
  // Load the config from the environment.
  Config & config = Config::instance();

  if (argc == 1) {  // No flags.
    if (config.sets("DEFAULT_QUERY")) {
      return execute(config.get_string("DEFAULT_QUERY"));
    }
    if (!config.sets("HIDE_USAGE_FOR_NO_ARGS")) {
      Flag::parse(&argc, &argv, true);  // Sets the prog name in help output.
      Flag::show_help(cerr);
    }
    return 1;
  }

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

  // Abort if unrecognized flags were used on the command line.
  if (argc != 0 && !config.sets("IGNORE_UNKNOWN_FLAGS")) {
    cerr << "unrecognized flag: " << argv[0] << endl;
    Flag::show_help(cerr);
    return 1;
  }

  // Display version, if that's all that was wanted.
  if (FLAGS_version) {
    cout << ASH_VERSION << endl;
    return 0;
  }

  // Display available query names, if requested.
  if (FLAGS_list_queries) {
    display(cout, Queries::get_desc(), "Query");
    return 0;
  }

  // Initialize the available formatters.
  CsvFormatter::init();
  NullFormatter::init();
  SpacedFormatter::init();
  GroupedFormatter::init();

  // Diaplay the available format names.
  if (FLAGS_list_formats) {
    display(cout, Formatter::get_desc(), "Format");
    return 0;
  }

  // Print the requested query (both generic and actual, if different).
  if (FLAGS_print_query != "") {
    string sql = Queries::get_sql(FLAGS_print_query);
    string raw = Queries::get_raw_sql(FLAGS_print_query);
    if (raw == "") {
      cout << "Query not found: " << FLAGS_print_query << "\nAvailable:\n";
      display(cout, Queries::get_desc(), "Query");
      return 1;
    }
    cout << "Query: " << FLAGS_print_query << endl;
    if (raw != sql) {
      cout << "Template Form:\n" << raw << "\nActual SQL:\n";
    }
    cout << sql << endl;
    return 0;
  }

  // Make sure the requested query exists.
  string sql = Queries::get_sql(FLAGS_query);
  if (sql == "") {
    cout << "Query not found: " << FLAGS_query << "\nAvailable:\n";
    display(cout, Queries::get_desc(), "Query");
    return 1;
  }

  // Execute the requested query.
  return execute(sql);
}

// Assembly:
subq $0x3d8, %rsp            # imm = 0x3D8
movl $0x0, 0x3d4(%rsp)
movl %edi, 0x3d0(%rsp)
movq %rsi, 0x3c8(%rsp)
callq 0x90ab0
movq %rax, 0x3c0(%rsp)
cmpl $0x1, 0x3d0(%rsp)
jne 0x8c5c1
movq 0x3c0(%rsp), %rax
movq %rax, 0xf8(%rsp)
leaq 0x39f(%rsp), %rdi
movq %rdi, 0x100(%rsp)
callq 0x87f0
movq 0x100(%rsp), %rdx
leaq 0x25eb2(%rip), %rsi     # 0xb20f2
leaq 0x3a0(%rsp), %rdi
callq 0x85b0
jmp 0x8c24f
movq 0xf8(%rsp), %rdi
leaq 0x3a0(%rsp), %rsi
xorl %edx, %edx
callq 0x90700
movb %al, 0xf7(%rsp)
jmp 0x8c26f
leaq 0x3a0(%rsp), %rdi
callq 0x88f8
jmp 0x8c27e
leaq 0x39f(%rsp), %rdi
callq 0x84a0
movb 0xf7(%rsp), %al
testb $0x1, %al
jne 0x8c29b
jmp 0x8c4a0
movq 0x3c0(%rsp), %rax
movq %rax, 0xe0(%rsp)
leaq 0x347(%rsp), %rdi
movq %rdi, 0xe8(%rsp)
callq 0x87f0
movq 0xe8(%rsp), %rdx
leaq 0x25e23(%rip), %rsi     # 0xb20f2
leaq 0x348(%rsp), %rdi
callq 0x85b0
jmp 0x8c2de
leaq 0x31f(%rsp), %rdi
movq %rdi, 0xd8(%rsp)
callq 0x87f0
movq 0xd8(%rsp), %rdx
leaq 0x26af3(%rip), %rsi     # 0xb2df5
leaq 0x320(%rsp), %rdi
callq 0x85b0
jmp 0x8c311
movq 0xe0(%rsp), %rsi
leaq 0x368(%rsp), %rdi
leaq 0x348(%rsp), %rdx
leaq 0x320(%rsp), %rcx
callq 0x909d0
jmp 0x8c338
leaq 0x368(%rsp), %rdi
callq 0x8b810
movl %eax, 0xd4(%rsp)
jmp 0x8c34e
movl 0xd4(%rsp), %eax
movl %eax, 0x3d4(%rsp)
leaq 0x368(%rsp), %rdi
callq 0x88f8
jmp 0x8c36b
leaq 0x320(%rsp), %rdi
callq 0x88f8
jmp 0x8c37a
leaq 0x31f(%rsp), %rdi
callq 0x84a0
leaq 0x348(%rsp), %rdi
callq 0x88f8
jmp 0x8c396
leaq 0x347(%rsp), %rdi
callq 0x84a0
jmp 0x8ceea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x390(%rsp)
movl %eax, 0x38c(%rsp)
jmp 0x8c3e3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x390(%rsp)
movl %eax, 0x38c(%rsp)
leaq 0x3a0(%rsp), %rdi
callq 0x88f8
jmp 0x8c3e1
jmp 0x8c3e3
leaq 0x39f(%rsp), %rdi
callq 0x84a0
jmp 0x8cef9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x390(%rsp)
movl %eax, 0x38c(%rsp)
jmp 0x8c48e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x390(%rsp)
movl %eax, 0x38c(%rsp)
jmp 0x8c470
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x390(%rsp)
movl %eax, 0x38c(%rsp)
jmp 0x8c45f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x390(%rsp)
movl %eax, 0x38c(%rsp)
leaq 0x368(%rsp), %rdi
callq 0x88f8
jmp 0x8c45d
jmp 0x8c45f
leaq 0x320(%rsp), %rdi
callq 0x88f8
jmp 0x8c46e
jmp 0x8c470
leaq 0x31f(%rsp), %rdi
callq 0x84a0
leaq 0x348(%rsp), %rdi
callq 0x88f8
jmp 0x8c48c
jmp 0x8c48e
leaq 0x347(%rsp), %rdi
callq 0x84a0
jmp 0x8cef9
movq 0x3c0(%rsp), %rax
movq %rax, 0xc0(%rsp)
leaq 0x2f7(%rsp), %rdi
movq %rdi, 0xc8(%rsp)
callq 0x87f0
movq 0xc8(%rsp), %rdx
leaq 0x25c2c(%rip), %rsi     # 0xb2100
leaq 0x2f8(%rsp), %rdi
callq 0x85b0
jmp 0x8c4e3
movq 0xc0(%rsp), %rdi
leaq 0x2f8(%rsp), %rsi
xorl %edx, %edx
callq 0x90700
movb %al, 0xbf(%rsp)
jmp 0x8c503
movb 0xbf(%rsp), %al
xorb $0x1, %al
movb %al, 0xbe(%rsp)
leaq 0x2f8(%rsp), %rdi
callq 0x88f8
jmp 0x8c522
leaq 0x2f7(%rsp), %rdi
callq 0x84a0
movb 0xbe(%rsp), %al
testb $0x1, %al
jne 0x8c53c
jmp 0x8c5b1
leaq 0x3d0(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
movl $0x1, %edx
callq 0x96be0
movq 0x43a93(%rip), %rdi     # 0xcfff0
callq 0x96aa0
jmp 0x8c5b1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x390(%rsp)
movl %eax, 0x38c(%rsp)
jmp 0x8c59f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x390(%rsp)
movl %eax, 0x38c(%rsp)
leaq 0x2f8(%rsp), %rdi
callq 0x88f8
jmp 0x8c59d
jmp 0x8c59f
leaq 0x2f7(%rsp), %rdi
callq 0x84a0
jmp 0x8cef9
movl $0x1, 0x3d4(%rsp)
jmp 0x8ceea
leaq 0x3d0(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
movl $0x1, %edx
callq 0x96be0
movl 0x3d0(%rsp), %ecx
movb $0x0, 0x2ce(%rsp)
movb $0x0, 0x2cd(%rsp)
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, 0xbd(%rsp)
je 0x8c687
movq 0x3c0(%rsp), %rax
movq %rax, 0xa8(%rsp)
leaq 0x2cf(%rsp), %rdi
movq %rdi, 0xb0(%rsp)
callq 0x87f0
movq 0xb0(%rsp), %rdx
movb $0x1, 0x2ce(%rsp)
leaq 0x25ad7(%rip), %rsi     # 0xb2117
leaq 0x2d0(%rsp), %rdi
callq 0x85b0
jmp 0x8c64f
movq 0xa8(%rsp), %rdi
movb $0x1, 0x2cd(%rsp)
leaq 0x2d0(%rsp), %rsi
xorl %edx, %edx
callq 0x90700
movb %al, 0xa7(%rsp)
jmp 0x8c677
movb 0xa7(%rsp), %al
xorb $-0x1, %al
movb %al, 0xbd(%rsp)
movb 0xbd(%rsp), %al
movb %al, 0xa6(%rsp)
testb $0x1, 0x2cd(%rsp)
jne 0x8c6a1
jmp 0x8c6b2
leaq 0x2d0(%rsp), %rdi
callq 0x88f8
jmp 0x8c6b0
jmp 0x8c6b2
testb $0x1, 0x2ce(%rsp)
jne 0x8c6be
jmp 0x8c6cb
leaq 0x2cf(%rsp), %rdi
callq 0x84a0
movb 0xa6(%rsp), %al
testb $0x1, %al
jne 0x8c6db
jmp 0x8c793
movq 0x4390e(%rip), %rdi     # 0xcfff0
leaq 0x25a43(%rip), %rsi     # 0xb212c
callq 0x8400
movq %rax, %rdi
movq 0x3c8(%rsp), %rax
movq (%rax), %rsi
callq 0x8400
movq %rax, %rdi
movq 0x4387d(%rip), %rsi     # 0xcff88
callq 0x8470
movq 0x438d9(%rip), %rdi     # 0xcfff0
callq 0x96aa0
movl $0x1, 0x3d4(%rsp)
jmp 0x8ceea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x390(%rsp)
movl %eax, 0x38c(%rsp)
jmp 0x8c775
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x390(%rsp)
movl %eax, 0x38c(%rsp)
testb $0x1, 0x2cd(%rsp)
jne 0x8c762
jmp 0x8c773
leaq 0x2d0(%rsp), %rdi
callq 0x88f8
jmp 0x8c771
jmp 0x8c773
jmp 0x8c775
testb $0x1, 0x2ce(%rsp)
jne 0x8c781
jmp 0x8c78e
leaq 0x2cf(%rsp), %rdi
callq 0x84a0
jmp 0x8cef9
testb $0x1, 0x45cce(%rip)     # 0xd2468
je 0x8c7ce
movq 0x43815(%rip), %rdi     # 0xcffb8
leaq 0x25996(%rip), %rsi     # 0xb2140
callq 0x8400
movq %rax, %rdi
movq 0x437cf(%rip), %rsi     # 0xcff88
callq 0x8470
movl $0x0, 0x3d4(%rsp)
jmp 0x8ceea
testb $0x1, 0x45c5b(%rip)     # 0xd2430
je 0x8c8ce
leaq 0x298(%rsp), %rdi
callq 0xa3930
leaq 0x277(%rsp), %rdi
movq %rdi, 0x98(%rsp)
callq 0x87f0
movq 0x98(%rsp), %rdx
leaq 0x2593a(%rip), %rsi     # 0xb2146
leaq 0x278(%rsp), %rdi
callq 0x85b0
jmp 0x8c81b
movq 0x43796(%rip), %rdi     # 0xcffb8
leaq 0x298(%rsp), %rsi
leaq 0x278(%rsp), %rdx
callq 0x8b410
jmp 0x8c839
leaq 0x278(%rsp), %rdi
callq 0x88f8
jmp 0x8c848
leaq 0x277(%rsp), %rdi
callq 0x84a0
leaq 0x298(%rsp), %rdi
callq 0x8d0f0
movl $0x0, 0x3d4(%rsp)
jmp 0x8ceea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x390(%rsp)
movl %eax, 0x38c(%rsp)
jmp 0x8c8ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x390(%rsp)
movl %eax, 0x38c(%rsp)
leaq 0x278(%rsp), %rdi
callq 0x88f8
jmp 0x8c8ab
jmp 0x8c8ad
leaq 0x277(%rsp), %rdi
callq 0x84a0
leaq 0x298(%rsp), %rdi
callq 0x8d0f0
jmp 0x8c8c9
jmp 0x8cef9
callq 0x9cb70
callq 0x9cdb0
callq 0x9bea0
callq 0x9d000
testb $0x1, 0x45ad7(%rip)     # 0xd23c0
je 0x8c9e2
leaq 0x240(%rsp), %rdi
callq 0x9ba70
leaq 0x21f(%rsp), %rdi
movq %rdi, 0x90(%rsp)
callq 0x87f0
movq 0x90(%rsp), %rdx
leaq 0x257cb(%rip), %rsi     # 0xb20eb
leaq 0x220(%rsp), %rdi
callq 0x85b0
jmp 0x8c92f
movq 0x43682(%rip), %rdi     # 0xcffb8
leaq 0x240(%rsp), %rsi
leaq 0x220(%rsp), %rdx
callq 0x8b410
jmp 0x8c94d
leaq 0x220(%rsp), %rdi
callq 0x88f8
jmp 0x8c95c
leaq 0x21f(%rsp), %rdi
callq 0x84a0
leaq 0x240(%rsp), %rdi
callq 0x8d0f0
movl $0x0, 0x3d4(%rsp)
jmp 0x8ceea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x390(%rsp)
movl %eax, 0x38c(%rsp)
jmp 0x8c9c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x390(%rsp)
movl %eax, 0x38c(%rsp)
leaq 0x220(%rsp), %rdi
callq 0x88f8
jmp 0x8c9bf
jmp 0x8c9c1
leaq 0x21f(%rsp), %rdi
callq 0x84a0
leaq 0x240(%rsp), %rdi
callq 0x8d0f0
jmp 0x8c9dd
jmp 0x8cef9
leaq 0x45907(%rip), %rdi     # 0xd22f0
leaq 0x26405(%rip), %rsi     # 0xb2df5
callq 0x8d160
testb $0x1, %al
jne 0x8c9fe
jmp 0x8cd0d
leaq 0x458eb(%rip), %rsi     # 0xd22f0
movq %rsi, 0x88(%rsp)
leaq 0x1f8(%rsp), %rdi
callq 0xa3e80
movq 0x88(%rsp), %rsi
leaq 0x1d8(%rsp), %rdi
callq 0xa3db0
jmp 0x8ca31
leaq 0x263bd(%rip), %rsi     # 0xb2df5
leaq 0x1d8(%rsp), %rdi
callq 0x8d0c0
movb %al, 0x87(%rsp)
jmp 0x8ca4e
movb 0x87(%rsp), %al
testb $0x1, %al
jne 0x8ca5e
jmp 0x8cbd1
movq 0x43553(%rip), %rdi     # 0xcffb8
leaq 0x256e0(%rip), %rsi     # 0xb214c
callq 0x8400
movq %rax, 0x78(%rsp)
jmp 0x8ca78
movq 0x78(%rsp), %rdi
leaq 0x4586c(%rip), %rsi     # 0xd22f0
callq 0x8350
movq %rax, 0x70(%rsp)
jmp 0x8ca90
movq 0x70(%rsp), %rdi
leaq 0x256c2(%rip), %rsi     # 0xb215e
callq 0x8400
jmp 0x8caa3
leaq 0x1a8(%rsp), %rdi
callq 0xa3930
jmp 0x8cab2
leaq 0x187(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0x87f0
movq 0x68(%rsp), %rdx
leaq 0x25676(%rip), %rsi     # 0xb2146
leaq 0x188(%rsp), %rdi
callq 0x85b0
jmp 0x8cadf
movq 0x434d2(%rip), %rdi     # 0xcffb8
leaq 0x1a8(%rsp), %rsi
leaq 0x188(%rsp), %rdx
callq 0x8b410
jmp 0x8cafd
leaq 0x188(%rsp), %rdi
callq 0x88f8
jmp 0x8cb0c
leaq 0x187(%rsp), %rdi
callq 0x84a0
leaq 0x1a8(%rsp), %rdi
callq 0x8d0f0
jmp 0x8cb28
movl $0x1, 0x3d4(%rsp)
movl $0x1, 0x180(%rsp)
jmp 0x8ccc7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x390(%rsp)
movl %eax, 0x38c(%rsp)
jmp 0x8ccf9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x390(%rsp)
movl %eax, 0x38c(%rsp)
jmp 0x8cce8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x390(%rsp)
movl %eax, 0x38c(%rsp)
jmp 0x8cbb0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x390(%rsp)
movl %eax, 0x38c(%rsp)
leaq 0x188(%rsp), %rdi
callq 0x88f8
jmp 0x8cbae
jmp 0x8cbb0
leaq 0x187(%rsp), %rdi
callq 0x84a0
leaq 0x1a8(%rsp), %rdi
callq 0x8d0f0
jmp 0x8cbcc
jmp 0x8cce8
movq 0x433e0(%rip), %rdi     # 0xcffb8
leaq 0x2558c(%rip), %rsi     # 0xb216b
callq 0x8400
movq %rax, 0x60(%rsp)
jmp 0x8cbeb
movq 0x60(%rsp), %rdi
leaq 0x456f9(%rip), %rsi     # 0xd22f0
callq 0x8350
movq %rax, 0x58(%rsp)
jmp 0x8cc03
movq 0x58(%rsp), %rdi
movq 0x43379(%rip), %rsi     # 0xcff88
callq 0x8470
jmp 0x8cc16
leaq 0x1d8(%rsp), %rdi
leaq 0x1f8(%rsp), %rsi
callq 0x8d190
movb %al, 0x57(%rsp)
jmp 0x8cc31
movb 0x57(%rsp), %al
testb $0x1, %al
jne 0x8cc3b
jmp 0x8cc83
movq 0x43376(%rip), %rdi     # 0xcffb8
leaq 0x2552a(%rip), %rsi     # 0xb2173
callq 0x8400
movq %rax, 0x48(%rsp)
jmp 0x8cc55
movq 0x48(%rsp), %rdi
leaq 0x1d8(%rsp), %rsi
callq 0x8350
movq %rax, 0x40(%rsp)
jmp 0x8cc6e
movq 0x40(%rsp), %rdi
leaq 0x25509(%rip), %rsi     # 0xb2183
callq 0x8400
jmp 0x8cc81
jmp 0x8cc83
movq 0x4332e(%rip), %rdi     # 0xcffb8
leaq 0x1f8(%rsp), %rsi
callq 0x8350
movq %rax, 0x38(%rsp)
jmp 0x8cc9e
movq 0x38(%rsp), %rdi
movq 0x432de(%rip), %rsi     # 0xcff88
callq 0x8470
jmp 0x8ccb1
movl $0x0, 0x3d4(%rsp)
movl $0x1, 0x180(%rsp)
leaq 0x1d8(%rsp), %rdi
callq 0x88f8
jmp 0x8ccd6
leaq 0x1f8(%rsp), %rdi
callq 0x88f8
jmp 0x8ceea
leaq 0x1d8(%rsp), %rdi
callq 0x88f8
jmp 0x8ccf7
jmp 0x8ccf9
leaq 0x1f8(%rsp), %rdi
callq 0x88f8
jmp 0x8cd08
jmp 0x8cef9
leaq 0x4562c(%rip), %rsi     # 0xd2340
leaq 0x160(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xa3e80
movq 0x28(%rsp), %rdi
leaq 0x260c3(%rip), %rsi     # 0xb2df5
callq 0x8d0c0
movb %al, 0x37(%rsp)
jmp 0x8cd3d
movb 0x37(%rsp), %al
testb $0x1, %al
jne 0x8cd4a
jmp 0x8cea1
movq 0x43267(%rip), %rdi     # 0xcffb8
leaq 0x253f4(%rip), %rsi     # 0xb214c
callq 0x8400
movq %rax, 0x20(%rsp)
jmp 0x8cd64
movq 0x20(%rsp), %rdi
leaq 0x455d0(%rip), %rsi     # 0xd2340
callq 0x8350
movq %rax, 0x18(%rsp)
jmp 0x8cd7c
movq 0x18(%rsp), %rdi
leaq 0x253d6(%rip), %rsi     # 0xb215e
callq 0x8400
jmp 0x8cd8f
leaq 0x130(%rsp), %rdi
callq 0xa3930
jmp 0x8cd9e
leaq 0x10f(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x87f0
movq 0x10(%rsp), %rdx
leaq 0x2538a(%rip), %rsi     # 0xb2146
leaq 0x110(%rsp), %rdi
callq 0x85b0
jmp 0x8cdcb
movq 0x431e6(%rip), %rdi     # 0xcffb8
leaq 0x130(%rsp), %rsi
leaq 0x110(%rsp), %rdx
callq 0x8b410
jmp 0x8cde9
leaq 0x110(%rsp), %rdi
callq 0x88f8
jmp 0x8cdf8
leaq 0x10f(%rsp), %rdi
callq 0x84a0
leaq 0x130(%rsp), %rdi
callq 0x8d0f0
jmp 0x8ce14
movl $0x1, 0x3d4(%rsp)
movl $0x1, 0x180(%rsp)
jmp 0x8ceca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x390(%rsp)
movl %eax, 0x38c(%rsp)
jmp 0x8ced9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x390(%rsp)
movl %eax, 0x38c(%rsp)
jmp 0x8ce83
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x390(%rsp)
movl %eax, 0x38c(%rsp)
leaq 0x110(%rsp), %rdi
callq 0x88f8
jmp 0x8ce81
jmp 0x8ce83
leaq 0x10f(%rsp), %rdi
callq 0x84a0
leaq 0x130(%rsp), %rdi
callq 0x8d0f0
jmp 0x8ce9f
jmp 0x8ced9
leaq 0x160(%rsp), %rdi
callq 0x8b810
movl %eax, 0xc(%rsp)
jmp 0x8ceb4
movl 0xc(%rsp), %eax
movl %eax, 0x3d4(%rsp)
movl $0x1, 0x180(%rsp)
leaq 0x160(%rsp), %rdi
callq 0x88f8
jmp 0x8ceea
leaq 0x160(%rsp), %rdi
callq 0x88f8
jmp 0x8cee8
jmp 0x8cef9
movl 0x3d4(%rsp), %eax
addq $0x3d8, %rsp            # imm = 0x3D8
retq
movq 0x390(%rsp), %rdi
callq 0x87d0
movq %rax, %rdi
callq 0x8cf60
nop