// File: /workspace/github_cpp_makefile_star2_O2/BU-DiSC[P]BF-Shared-Hashing/options.cpp
// Function: options::parse(int, char**)
int options::parse( int argc, char *argv[] )
{
  args::ArgumentParser parser("lsm-emu_parser.", "");
  args::Group group1(parser, "This group is all exclusive:", args::Group::Validators::DontCare);

  // path info
  args::ValueFlag<std::string> out_path_cmd(group1, "log", "path for log files", {'l', "log"}); 
  args::ValueFlag<std::string> db_path_cmd(group1, "path", "path for writing the DB and all the metadata files", {'p', "path"}); 
  args::ValueFlag<std::string> insert_path_cmd(group1, "insert_workload", "path for insert workload files", {'i', "insert_workload"});
  args::ValueFlag<std::string> query_path_cmd(group1, "query_workload", "path for query workload files", {'q', "query_workload"});

  args::ValueFlag<int> size_ratio_cmd(group1, "T", "The size ratio of two adjacent levels  [def: 2]", {'T', "size_ratio"});
  args::ValueFlag<int> buffer_size_in_pages_cmd(group1, "P", "The number of pages that can fit into a buffer [def: 1024]", {'P', "buffer_size_in_pageas"});
  args::ValueFlag<int> entries_per_page_cmd(group1, "B", "The number of entries that fit into a page [def: 128]", {'B', "entries_per_page"});
  args::ValueFlag<int> entry_size_cmd(group1, "E", "The size of a key-value pair inserted into DB [def: 64 B]", {'E', "entry_size"});
  args::ValueFlag<int> key_size_cmd(group1, "K", "The size of a key inserted into DB [def: 16 B]", {'K', "key_size"});

  args::ValueFlag<int> bits_per_key_cmd(group1, "bits_per_key", "The number of bits per key assigned to Bloom filter [def: 10]", {'b', "bits_per_key"});
  args::Flag elastic_filters_cmd(group1, "elastic_bf", "Enable elastic filters. ", {"elastic", "enable_elastic_filters"});
  args::Flag fastlocal_bf_cmd(group1, "fastlocal_bf", "Enable FastLocal Bloom filters. [def: false]", {"FLBF", "enable_fast_local_filters"});
  args::ValueFlag<std::string> hash_type_cmd(group1, "Hash Type", "Hash type MM64, XXHash, CRC or CITY [def: MM64]", {"HT", "hash_type"});
  args::ValueFlag<int> num_filterunits_cmd(group1, "num_funit", "The number of filter units for elastic filter. [def: 2] ", {"num_funit", "num_filter_units"});

  args::Flag share_hash_across_levels_cmd(group1, "shared_hash_level", "Enable sharing hash across levels ", {"lvl_share_hash", "enable_leveled_shared_hashing"});
  args::Flag share_hash_across_filter_units_cmd(group1, "shared_hash_filter_units", "Enable sharing hash across filter units ", {"funits_share_hash", "enable_filter_units_shared_hashing"});

  args::Flag destroy_db_cmd(group1, "destroy_db", "Delete the exsiting DB.", {"dd", "destroy_db"});

  args::ValueFlag<int> tries_cmd(group1, "number_of_tries", "#Tries to run the experiment (measured statistics would be averaged across #tries [def: 5]", { "tries"});
  args::ValueFlag<int> delay_cmd(group1, "delay", "Read delay (nanos)  added by human[def: 0]", {'D', "delay"});
  args::Flag direct_IO_cmd(group1, "directIO", "Enable direct IO (DO NOT Enable this using RAM disk!)", {"DIO", "direct_IO"});

  try {
      parser.ParseCLI(argc, argv);
  }
  catch (args::Help&) {
      std::cout << parser;
      exit(0);
      // return 0;
  }
  catch (args::ParseError& e) {
      std::cerr << e.what() << std::endl;
      std::cerr << parser;
      return 1;
  }
  catch (args::ValidationError& e) {
      std::cerr << e.what() << std::endl;
      std::cerr << parser;
      return 1;
  }

  // path info

  db_path = db_path_cmd? args::get(db_path_cmd) : "./";
  destroy_db = destroy_db_cmd? args::get(destroy_db_cmd) : false;
  
  out_path = out_path_cmd? args::get(out_path_cmd) : "./out/";
  insert_path = insert_path_cmd? args::get(insert_path_cmd) : "base_1.0_workload.txt";
  query_path = query_path_cmd? args::get(query_path_cmd) : "Z0_zipfian.workload.txt";

  // basic LSM setting
  size_ratio = size_ratio_cmd? args::get(size_ratio_cmd) : 2;
  buffer_size_in_pages = buffer_size_in_pages_cmd? args::get(buffer_size_in_pages_cmd) : 1024;
  entries_per_page = entries_per_page_cmd? args::get(entries_per_page_cmd) : 64;
  entry_size = entry_size_cmd? args::get(entry_size_cmd) : 64;
  key_size = key_size_cmd? args::get(key_size_cmd) : 16;

  bits_per_key = bits_per_key_cmd? args::get(bits_per_key_cmd) : 10;
  fastlocal_bf = fastlocal_bf_cmd? args::get(fastlocal_bf_cmd) : false;
  hash_type = hash_type_cmd? args::get(hash_type_cmd) : "MM64";
  elastic_filters = elastic_filters_cmd? args::get(elastic_filters_cmd) : false;
  num_filterunits = num_filterunits_cmd? args::get(num_filterunits_cmd) : 2;
  if(!elastic_filters){
     num_filterunits = 1;
  }

  share_hash_across_levels = share_hash_across_levels_cmd ? args::get(share_hash_across_levels_cmd): false;
  share_hash_across_filter_units = share_hash_across_filter_units_cmd ? args::get(share_hash_across_filter_units_cmd) : false;

  directIO = direct_IO_cmd ? args::get(direct_IO_cmd) : false;
  tries = tries_cmd ? args::get(tries_cmd) : 5;
  if(tries <= 0){
    cout << "Warning: tries has to be a positive number. Reset to the default number 5" << endl;
    tries = 5;
  }
  delay = delay_cmd ? args::get(delay_cmd) : 0;
  return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x1d78, %rsp           # imm = 0x1D78
movq %rdx, %r14
movl %esi, %ebp
movq %rdi, %rbx
leaq 0x13498(%rip), %rsi     # 0x22720
leaq 0x1540(%rsp), %rdi
leaq 0x1290(%rsp), %rdx
callq 0x61b0
leaq 0x13135(%rip), %rsi     # 0x223d9
leaq 0x13e8(%rsp), %rdi
leaq 0x1028(%rsp), %rdx
callq 0x61b0
leaq 0x18b8(%rsp), %rdi
leaq 0x1540(%rsp), %rsi
leaq 0x13e8(%rsp), %rdx
callq 0x11812
leaq 0x13e8(%rsp), %rdi
callq 0x61f0
leaq 0x1540(%rsp), %rdi
callq 0x61f0
leaq 0x13439(%rip), %rsi     # 0x22730
leaq 0x1540(%rsp), %rdi
leaq 0x1290(%rsp), %rdx
callq 0x61b0
leaq 0x13e8(%rsp), %rcx
andq $0x0, 0x8(%rcx)
leaq 0x2722(%rip), %rax      # 0x11a42
movq %rax, (%rcx)
leaq 0xd47c(%rip), %rax      # 0x1c7a6
movq %rax, 0x18(%rcx)
leaq 0xd479(%rip), %rax      # 0x1c7ae
movq %rax, 0x10(%rcx)
leaq 0xa8(%rsp), %rdi
leaq 0x18b8(%rsp), %rsi
leaq 0x1540(%rsp), %rdx
xorl %r8d, %r8d
callq 0x11a46
leaq 0x13e8(%rsp), %rdi
callq 0x11ac8
leaq 0x1540(%rsp), %rdi
callq 0x61f0
leaq 0x133d3(%rip), %rsi     # 0x2274d
leaq 0x1028(%rsp), %rdi
leaq 0x988(%rsp), %rdx
callq 0x61b0
leaq 0x133bb(%rip), %rsi     # 0x22751
leaq 0x2a0(%rsp), %rdi
leaq 0x868(%rsp), %rdx
callq 0x61b0
leaq 0x12a8(%rsp), %rax
movw $0x6c01, -0x18(%rax)    # imm = 0x6C01
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x12b8(%rsp), %rdi
leaq 0x13379(%rip), %rsi     # 0x2274d
callq 0x11ae4
leaq 0x13e8(%rsp), %rdi
leaq 0x1290(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0x11afa
leaq 0xab8(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
andl $0x0, (%rsp)
leaq 0x1540(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x1028(%rsp), %rdx
leaq 0x2a0(%rsp), %rcx
leaq 0x13e8(%rsp), %r8
leaq 0xaa8(%rsp), %r9
callq 0x1c7d0
leaq 0xaa8(%rsp), %rdi
callq 0x61f0
leaq 0x13e8(%rsp), %rdi
callq 0x11b72
pushq $0x30
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x1290, %rdi           # imm = 0x1290
callq 0x61f0
addq $-0x28, %r15
cmpq $-0x20, %r15
jne 0xf45c
leaq 0x2a0(%rsp), %rdi
callq 0x61f0
leaq 0x1028(%rsp), %rdi
callq 0x61f0
leaq 0x132cd(%rip), %rsi     # 0x22764
leaq 0x2a0(%rsp), %rdi
leaq 0x868(%rsp), %rdx
callq 0x61b0
leaq 0x132b6(%rip), %rsi     # 0x22769
leaq 0xaa8(%rsp), %rdi
leaq 0x748(%rsp), %rdx
callq 0x61b0
leaq 0x1040(%rsp), %rax
movw $0x7001, -0x18(%rax)    # imm = 0x7001
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x1050(%rsp), %rdi
leaq 0x13273(%rip), %rsi     # 0x22764
callq 0x11ae4
leaq 0x1290(%rsp), %rdi
leaq 0x1028(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0x11afa
leaq 0x998(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
andl $0x0, (%rsp)
leaq 0x13e8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x2a0(%rsp), %rdx
leaq 0xaa8(%rsp), %rcx
leaq 0x1290(%rsp), %r8
leaq 0x988(%rsp), %r9
callq 0x1c7d0
leaq 0x988(%rsp), %rdi
callq 0x61f0
leaq 0x1290(%rsp), %rdi
callq 0x11b72
pushq $0x30
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x1028, %rdi           # imm = 0x1028
callq 0x61f0
addq $-0x28, %r15
cmpq $-0x20, %r15
jne 0xf579
leaq 0xaa8(%rsp), %rdi
callq 0x61f0
leaq 0x2a0(%rsp), %rdi
callq 0x61f0
leaq 0x131e8(%rip), %rsi     # 0x2279c
leaq 0xaa8(%rsp), %rdi
leaq 0x748(%rsp), %rdx
callq 0x61b0
leaq 0x131dc(%rip), %rsi     # 0x227ac
leaq 0x988(%rsp), %rdi
leaq 0xce8(%rsp), %rdx
callq 0x61b0
leaq 0x2b8(%rsp), %rax
movw $0x6901, -0x18(%rax)    # imm = 0x6901
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x2c8(%rsp), %rdi
leaq 0x1318e(%rip), %rsi     # 0x2279c
callq 0x11ae4
leaq 0x1028(%rsp), %rdi
leaq 0x2a0(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0x11afa
leaq 0x878(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
andl $0x0, (%rsp)
leaq 0x1290(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0xaa8(%rsp), %rdx
leaq 0x988(%rsp), %rcx
leaq 0x1028(%rsp), %r8
leaq 0x868(%rsp), %r9
callq 0x1c7d0
leaq 0x868(%rsp), %rdi
callq 0x61f0
leaq 0x1028(%rsp), %rdi
callq 0x11b72
pushq $0x30
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x2a0, %rdi            # imm = 0x2A0
callq 0x61f0
addq $-0x28, %r15
cmpq $-0x20, %r15
jne 0xf696
leaq 0x988(%rsp), %rdi
callq 0x61f0
leaq 0xaa8(%rsp), %rdi
callq 0x61f0
leaq 0x130fa(%rip), %rsi     # 0x227cb
leaq 0x988(%rsp), %rdi
leaq 0xce8(%rsp), %rdx
callq 0x61b0
leaq 0x130ed(%rip), %rsi     # 0x227da
leaq 0x868(%rsp), %rdi
leaq 0xbc8(%rsp), %rdx
callq 0x61b0
leaq 0xac0(%rsp), %rax
movw $0x7101, -0x18(%rax)    # imm = 0x7101
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0xad0(%rsp), %rdi
leaq 0x130a0(%rip), %rsi     # 0x227cb
callq 0x11ae4
leaq 0x2a0(%rsp), %rdi
leaq 0xaa8(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0x11afa
leaq 0x758(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
andl $0x0, (%rsp)
leaq 0x1028(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x988(%rsp), %rdx
leaq 0x868(%rsp), %rcx
leaq 0x2a0(%rsp), %r8
leaq 0x748(%rsp), %r9
callq 0x1c7d0
leaq 0x748(%rsp), %rdi
callq 0x61f0
leaq 0x2a0(%rsp), %rdi
callq 0x11b72
pushq $0x30
popq %r15
leaq (%rsp,%r15), %rdi
addq $0xaa8, %rdi            # imm = 0xAA8
callq 0x61f0
addq $-0x28, %r15
cmpq $-0x20, %r15
jne 0xf7b3
leaq 0x868(%rsp), %rdi
callq 0x61f0
leaq 0x988(%rsp), %rdi
callq 0x61f0
leaq 0x13284(%rip), %rsi     # 0x22a72
leaq 0x868(%rsp), %rdi
leaq 0xbc8(%rsp), %rdx
callq 0x61b0
leaq 0x12fee(%rip), %rsi     # 0x227f8
leaq 0x748(%rsp), %rdi
leaq 0x518(%rsp), %rdx
callq 0x61b0
leaq 0x9a0(%rsp), %rax
movw $0x5401, -0x18(%rax)    # imm = 0x5401
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x9b0(%rsp), %rdi
leaq 0x12fe0(%rip), %rsi     # 0x22828
callq 0x11ae4
leaq 0x2a0(%rsp), %rdi
leaq 0x988(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0x11afa
leaq 0xce8(%rsp), %r9
andl $0x0, (%r9)
andl $0x0, (%rsp)
leaq 0xaa8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x868(%rsp), %rdx
leaq 0x748(%rsp), %rcx
leaq 0x2a0(%rsp), %r8
callq 0x1c97c
leaq 0x2a0(%rsp), %rdi
callq 0x11b72
pushq $0x30
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x988, %rdi            # imm = 0x988
callq 0x61f0
addq $-0x28, %r15
cmpq $-0x20, %r15
jne 0xf8b3
leaq 0x748(%rsp), %rdi
callq 0x61f0
leaq 0x868(%rsp), %rdi
callq 0x61f0
leaq 0x12f45(%rip), %rsi     # 0x22833
leaq 0x748(%rsp), %rdi
leaq 0x518(%rsp), %rdx
callq 0x61b0
leaq 0x12f2b(%rip), %rsi     # 0x22835
leaq 0xce8(%rsp), %rdi
leaq 0x3f8(%rsp), %rdx
callq 0x61b0
leaq 0x880(%rsp), %rax
movw $0x5001, -0x18(%rax)    # imm = 0x5001
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x890(%rsp), %rdi
leaq 0x12f28(%rip), %rsi     # 0x22870
callq 0x11ae4
leaq 0x2a0(%rsp), %rdi
leaq 0x868(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0x11afa
leaq 0xbc8(%rsp), %r9
andl $0x0, (%r9)
andl $0x0, (%rsp)
leaq 0x988(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x748(%rsp), %rdx
leaq 0xce8(%rsp), %rcx
leaq 0x2a0(%rsp), %r8
callq 0x1c97c
leaq 0x2a0(%rsp), %rdi
callq 0x11b72
pushq $0x30
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x868, %rdi            # imm = 0x868
callq 0x61f0
addq $-0x28, %r15
cmpq $-0x20, %r15
jne 0xf9b3
leaq 0xce8(%rsp), %rdi
callq 0x61f0
leaq 0x748(%rsp), %rdi
callq 0x61f0
leaq 0x12e98(%rip), %rsi     # 0x22886
leaq 0xce8(%rsp), %rdi
leaq 0x3f8(%rsp), %rdx
callq 0x61b0
leaq 0x12e7e(%rip), %rsi     # 0x22888
leaq 0xbc8(%rsp), %rdi
leaq 0x180(%rsp), %rdx
callq 0x61b0
leaq 0x760(%rsp), %rax
movw $0x4201, -0x18(%rax)    # imm = 0x4201
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x770(%rsp), %rdi
leaq 0x12e76(%rip), %rsi     # 0x228be
callq 0x11ae4
leaq 0x2a0(%rsp), %rdi
leaq 0x748(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0x11afa
leaq 0x518(%rsp), %r9
andl $0x0, (%r9)
andl $0x0, (%rsp)
leaq 0x868(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0xce8(%rsp), %rdx
leaq 0xbc8(%rsp), %rcx
leaq 0x2a0(%rsp), %r8
callq 0x1c97c
leaq 0x2a0(%rsp), %rdi
callq 0x11b72
pushq $0x30
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x748, %rdi            # imm = 0x748
callq 0x61f0
addq $-0x28, %r15
cmpq $-0x20, %r15
jne 0xfab3
leaq 0xbc8(%rsp), %rdi
callq 0x61f0
leaq 0xce8(%rsp), %rdi
callq 0x61f0
leaq 0x12de1(%rip), %rsi     # 0x228cf
leaq 0xbc8(%rsp), %rdi
leaq 0x180(%rsp), %rdx
callq 0x61b0
leaq 0x12dc7(%rip), %rsi     # 0x228d1
leaq 0x518(%rsp), %rdi
leaq 0x17a8(%rsp), %rdx
callq 0x61b0
leaq 0xd00(%rsp), %rax
movw $0x4501, -0x18(%rax)    # imm = 0x4501
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0xd10(%rsp), %rdi
leaq 0x12dc3(%rip), %rsi     # 0x2290b
callq 0x11ae4
leaq 0x2a0(%rsp), %rdi
leaq 0xce8(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0x11afa
leaq 0x3f8(%rsp), %r9
andl $0x0, (%r9)
andl $0x0, (%rsp)
leaq 0x748(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0xbc8(%rsp), %rdx
leaq 0x518(%rsp), %rcx
leaq 0x2a0(%rsp), %r8
callq 0x1c97c
leaq 0x2a0(%rsp), %rdi
callq 0x11b72
pushq $0x30
popq %r15
leaq (%rsp,%r15), %rdi
addq $0xce8, %rdi            # imm = 0xCE8
callq 0x61f0
addq $-0x28, %r15
cmpq $-0x20, %r15
jne 0xfbb3
leaq 0x518(%rsp), %rdi
callq 0x61f0
leaq 0xbc8(%rsp), %rdi
callq 0x61f0
leaq 0x12d28(%rip), %rsi     # 0x22916
leaq 0x518(%rsp), %rdi
leaq 0x17a8(%rsp), %rdx
callq 0x61b0
leaq 0x12d0e(%rip), %rsi     # 0x22918
leaq 0x3f8(%rsp), %rdi
leaq 0x1698(%rsp), %rdx
callq 0x61b0
leaq 0xbe0(%rsp), %rax
movw $0x4b01, -0x18(%rax)    # imm = 0x4B01
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0xbf0(%rsp), %rdi
leaq 0x12cff(%rip), %rsi     # 0x22947
callq 0x11ae4
leaq 0x2a0(%rsp), %rdi
leaq 0xbc8(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0x11afa
leaq 0x180(%rsp), %r9
andl $0x0, (%r9)
andl $0x0, (%rsp)
leaq 0xce8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x518(%rsp), %rdx
leaq 0x3f8(%rsp), %rcx
leaq 0x2a0(%rsp), %r8
callq 0x1c97c
leaq 0x2a0(%rsp), %rdi
callq 0x11b72
pushq $0x30
popq %r15
leaq (%rsp,%r15), %rdi
addq $0xbc8, %rdi            # imm = 0xBC8
callq 0x61f0
addq $-0x28, %r15
cmpq $-0x20, %r15
jne 0xfcb3
leaq 0x3f8(%rsp), %rdi
callq 0x61f0
leaq 0x518(%rsp), %rdi
callq 0x61f0
leaq 0x12c62(%rip), %rsi     # 0x22950
leaq 0x3f8(%rsp), %rdi
leaq 0x1698(%rsp), %rdx
callq 0x61b0
leaq 0x12c53(%rip), %rsi     # 0x2295d
leaq 0x180(%rsp), %rdi
leaq 0xf18(%rsp), %rdx
callq 0x61b0
leaq 0x530(%rsp), %rax
movw $0x6201, -0x18(%rax)    # imm = 0x6201
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x540(%rsp), %rdi
leaq 0x12c08(%rip), %rsi     # 0x22950
callq 0x11ae4
leaq 0x2a0(%rsp), %rdi
leaq 0x518(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0x11afa
leaq 0x17a8(%rsp), %r9
andl $0x0, (%r9)
andl $0x0, (%rsp)
leaq 0xbc8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x3f8(%rsp), %rdx
leaq 0x180(%rsp), %rcx
leaq 0x2a0(%rsp), %r8
callq 0x1c97c
leaq 0x2a0(%rsp), %rdi
callq 0x11b72
pushq $0x30
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x518, %rdi            # imm = 0x518
callq 0x61f0
addq $-0x28, %r15
cmpq $-0x20, %r15
jne 0xfdb3
leaq 0x180(%rsp), %rdi
callq 0x61f0
leaq 0x3f8(%rsp), %rdi
callq 0x61f0
leaq 0x12bad(%rip), %rsi     # 0x2299b
leaq 0x3f8(%rsp), %rdi
leaq 0x1698(%rsp), %rdx
callq 0x61b0
leaq 0x12b9c(%rip), %rsi     # 0x229a6
leaq 0x180(%rsp), %rdi
leaq 0xf18(%rsp), %rdx
callq 0x61b0
leaq 0x12b99(%rip), %rsi     # 0x229bf
leaq 0x518(%rsp), %rdi
callq 0x11ae4
leaq 0x540(%rsp), %rdi
leaq 0x12b85(%rip), %rsi     # 0x229c7
callq 0x11ae4
leaq 0x2a0(%rsp), %rdi
leaq 0x518(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0x11afa
leaq 0x17a8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x3f8(%rsp), %rdx
leaq 0x180(%rsp), %rcx
leaq 0x2a0(%rsp), %r8
xorl %r9d, %r9d
callq 0x16454
leaq 0x2a0(%rsp), %rdi
callq 0x11b72
pushq $0x30
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x518, %rdi            # imm = 0x518
callq 0x61f0
addq $-0x28, %r15
cmpq $-0x20, %r15
jne 0xfea0
leaq 0x180(%rsp), %rdi
callq 0x61f0
leaq 0x3f8(%rsp), %rdi
callq 0x61f0
leaq 0x12b03(%rip), %rsi     # 0x229de
leaq 0x3f8(%rsp), %rdi
leaq 0xf18(%rsp), %rdx
callq 0x61b0
leaq 0x12af4(%rip), %rsi     # 0x229eb
leaq 0x180(%rsp), %rdi
leaq 0xe08(%rsp), %rdx
callq 0x61b0
leaq 0x12b05(%rip), %rsi     # 0x22a18
leaq 0x518(%rsp), %rdi
callq 0x11ae4
leaq 0x540(%rsp), %rdi
leaq 0x12aee(%rip), %rsi     # 0x22a1d
callq 0x11ae4
leaq 0x2a0(%rsp), %rdi
leaq 0x518(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0x11afa
leaq 0x1698(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x3f8(%rsp), %rdx
leaq 0x180(%rsp), %rcx
leaq 0x2a0(%rsp), %r8
xorl %r9d, %r9d
callq 0x16454
leaq 0x2a0(%rsp), %rdi
callq 0x11b72
pushq $0x30
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x518, %rdi            # imm = 0x518
callq 0x61f0
addq $-0x28, %r15
cmpq $-0x20, %r15
jne 0xff8d
leaq 0x180(%rsp), %rdi
callq 0x61f0
leaq 0x3f8(%rsp), %rdi
callq 0x61f0
leaq 0x12a6f(%rip), %rsi     # 0x22a37
leaq 0x180(%rsp), %rdi
leaq 0x1180(%rsp), %rdx
callq 0x61b0
leaq 0x12a5d(%rip), %rsi     # 0x22a41
leaq 0xf18(%rsp), %rdi
leaq 0x638(%rsp), %rdx
callq 0x61b0
leaq 0x12a71(%rip), %rsi     # 0x22a71
leaq 0x3f8(%rsp), %rdi
callq 0x11ae4
leaq 0x420(%rsp), %rdi
leaq 0x12a58(%rip), %rsi     # 0x22a74
callq 0x11ae4
leaq 0x518(%rsp), %rdi
leaq 0x3f8(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0x11afa
leaq 0xe18(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
andl $0x0, (%rsp)
leaq 0x2a0(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x180(%rsp), %rdx
leaq 0xf18(%rsp), %rcx
leaq 0x518(%rsp), %r8
leaq 0xe08(%rsp), %r9
callq 0x1c7d0
leaq 0xe08(%rsp), %rdi
callq 0x61f0
leaq 0x518(%rsp), %rdi
callq 0x11b72
pushq $0x30
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x3f8, %rdi            # imm = 0x3F8
callq 0x61f0
addq $-0x28, %r15
cmpq $-0x20, %r15
jne 0x100a4
leaq 0xf18(%rsp), %rdi
callq 0x61f0
leaq 0x180(%rsp), %rdi
callq 0x61f0
leaq 0x1299f(%rip), %rsi     # 0x22a7e
leaq 0xf18(%rsp), %rdi
leaq 0x638(%rsp), %rdx
callq 0x61b0
leaq 0x1298d(%rip), %rsi     # 0x22a88
leaq 0xe08(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x61b0
leaq 0x1296a(%rip), %rsi     # 0x22a7e
leaq 0x180(%rsp), %rdi
callq 0x11ae4
leaq 0x1a8(%rsp), %rdi
leaq 0x12991(%rip), %rsi     # 0x22ac1
callq 0x11ae4
leaq 0x3f8(%rsp), %rdi
leaq 0x180(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0x11afa
leaq 0x1180(%rsp), %r9
andl $0x0, (%r9)
andl $0x0, (%rsp)
leaq 0x518(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0xf18(%rsp), %rdx
leaq 0xe08(%rsp), %rcx
leaq 0x3f8(%rsp), %r8
callq 0x1c97c
leaq 0x3f8(%rsp), %rdi
callq 0x11b72
pushq $0x30
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x180, %rdi            # imm = 0x180
callq 0x61f0
addq $-0x28, %r15
cmpq $-0x20, %r15
jne 0x1019b
leaq 0xe08(%rsp), %rdi
callq 0x61f0
leaq 0xf18(%rsp), %rdi
callq 0x61f0
leaq 0x128fc(%rip), %rsi     # 0x22ad2
leaq 0xe08(%rsp), %rdi
leaq 0x638(%rsp), %rdx
callq 0x61b0
leaq 0x128f2(%rip), %rsi     # 0x22ae4
leaq 0x1180(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x61b0
leaq 0x128fc(%rip), %rsi     # 0x22b07
leaq 0x180(%rsp), %rdi
callq 0x11ae4
leaq 0x1a8(%rsp), %rdi
leaq 0x128ef(%rip), %rsi     # 0x22b16
callq 0x11ae4
leaq 0x3f8(%rsp), %rdi
leaq 0x180(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0x11afa
leaq 0xf18(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0xe08(%rsp), %rdx
leaq 0x1180(%rsp), %rcx
leaq 0x3f8(%rsp), %r8
xorl %r9d, %r9d
callq 0x16454
leaq 0x3f8(%rsp), %rdi
callq 0x11b72
pushq $0x30
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x180, %rdi            # imm = 0x180
callq 0x61f0
addq $-0x28, %r15
cmpq $-0x20, %r15
jne 0x10285
leaq 0x1180(%rsp), %rdi
callq 0x61f0
leaq 0xe08(%rsp), %rdi
callq 0x61f0
leaq 0x12874(%rip), %rsi     # 0x22b34
leaq 0x1180(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x61b0
leaq 0x12874(%rip), %rsi     # 0x22b4d
leaq 0x638(%rsp), %rdi
leaq 0x130(%rsp), %rdx
callq 0x61b0
leaq 0x12881(%rip), %rsi     # 0x22b76
leaq 0x180(%rsp), %rdi
callq 0x11ae4
leaq 0x1a8(%rsp), %rdi
leaq 0x12877(%rip), %rsi     # 0x22b88
callq 0x11ae4
leaq 0x3f8(%rsp), %rdi
leaq 0x180(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0x11afa
leaq 0xe08(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x1180(%rsp), %rdx
leaq 0x638(%rsp), %rcx
leaq 0x3f8(%rsp), %r8
xorl %r9d, %r9d
callq 0x16454
leaq 0x3f8(%rsp), %rdi
callq 0x11b72
pushq $0x30
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x180, %rdi            # imm = 0x180
callq 0x61f0
addq $-0x28, %r15
cmpq $-0x20, %r15
jne 0x1036f
leaq 0x638(%rsp), %rdi
callq 0x61f0
leaq 0x1180(%rsp), %rdi
callq 0x61f0
leaq 0x12801(%rip), %rsi     # 0x22bab
leaq 0x638(%rsp), %rdi
leaq 0x130(%rsp), %rdx
callq 0x61b0
leaq 0x127f0(%rip), %rsi     # 0x22bb6
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rdx
callq 0x61b0
leaq 0x127f2(%rip), %rsi     # 0x22bce
leaq 0x180(%rsp), %rdi
callq 0x11ae4
leaq 0x1a8(%rsp), %rdi
leaq 0x127b3(%rip), %rsi     # 0x22bab
callq 0x11ae4
leaq 0x3f8(%rsp), %rdi
leaq 0x180(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0x11afa
leaq 0x1180(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x638(%rsp), %rdx
leaq 0x38(%rsp), %rcx
leaq 0x3f8(%rsp), %r8
xorl %r9d, %r9d
callq 0x16454
leaq 0x3f8(%rsp), %rdi
callq 0x11b72
pushq $0x30
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x180, %rdi            # imm = 0x180
callq 0x61f0
addq $-0x28, %r15
cmpq $-0x20, %r15
jne 0x10453
leaq 0x38(%rsp), %rdi
callq 0x61f0
leaq 0x638(%rsp), %rdi
callq 0x61f0
leaq 0x12746(%rip), %rsi     # 0x22bd1
leaq 0x38(%rsp), %rdi
leaq 0x110(%rsp), %rdx
callq 0x61b0
leaq 0x1273d(%rip), %rsi     # 0x22be1
leaq 0x130(%rsp), %rdi
leaq 0x16(%rsp), %rdx
callq 0x61b0
leaq 0x1271e(%rip), %rsi     # 0x22bdb
leaq 0x638(%rsp), %rdi
callq 0x11ae4
leaq 0x180(%rsp), %rdi
leaq 0x638(%rsp), %rsi
pushq $0x1
popq %rdx
callq 0x11afa
leaq 0x18(%rsp), %r9
andl $0x0, (%r9)
andl $0x0, (%rsp)
leaq 0x3f8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x38(%rsp), %rdx
leaq 0x130(%rsp), %rcx
leaq 0x180(%rsp), %r8
callq 0x1c97c
leaq 0x180(%rsp), %rdi
callq 0x11b72
leaq 0x640(%rsp), %rdi
callq 0x61f0
leaq 0x130(%rsp), %rdi
callq 0x61f0
leaq 0x38(%rsp), %rdi
callq 0x61f0
leaq 0x126eb(%rip), %rsi     # 0x22c3c
leaq 0x130(%rsp), %rdi
leaq 0x16(%rsp), %rdx
callq 0x61b0
leaq 0x126d8(%rip), %rsi     # 0x22c42
leaq 0x18(%rsp), %rdi
leaq 0x17(%rsp), %rdx
callq 0x61b0
leaq 0x50(%rsp), %rax
movw $0x4401, -0x18(%rax)    # imm = 0x4401
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x60(%rsp), %rdi
leaq 0x126a0(%rip), %rsi     # 0x22c3c
callq 0x11ae4
leaq 0x638(%rsp), %rdi
leaq 0x38(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0x11afa
leaq 0x110(%rsp), %r9
andl $0x0, (%r9)
andl $0x0, (%rsp)
leaq 0x180(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x130(%rsp), %rdx
leaq 0x18(%rsp), %rcx
leaq 0x638(%rsp), %r8
callq 0x1c97c
leaq 0x638(%rsp), %rdi
callq 0x11b72
pushq $0x30
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x38, %rdi
callq 0x61f0
addq $-0x28, %r15
cmpq $-0x20, %r15
jne 0x10601
leaq 0x18(%rsp), %rdi
callq 0x61f0
leaq 0x130(%rsp), %rdi
callq 0x61f0
leaq 0x12637(%rip), %rsi     # 0x22c6d
leaq 0x18(%rsp), %rdi
leaq 0x16(%rsp), %rdx
callq 0x61b0
leaq 0x1262a(%rip), %rsi     # 0x22c76
leaq 0x110(%rsp), %rdi
leaq 0x17(%rsp), %rdx
callq 0x61b0
leaq 0x12647(%rip), %rsi     # 0x22cac
leaq 0x130(%rsp), %rdi
callq 0x11ae4
leaq 0x158(%rsp), %rdi
leaq 0x1262f(%rip), %rsi     # 0x22cb0
callq 0x11ae4
leaq 0x38(%rsp), %rdi
leaq 0x130(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0x11afa
leaq 0x638(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x18(%rsp), %rdx
leaq 0x110(%rsp), %rcx
leaq 0x38(%rsp), %r8
xorl %r9d, %r9d
callq 0x16454
leaq 0x38(%rsp), %rdi
callq 0x11b72
pushq $0x30
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x130, %rdi            # imm = 0x130
callq 0x61f0
addq $-0x28, %r15
cmpq $-0x20, %r15
jne 0x106d3
leaq 0x110(%rsp), %rdi
callq 0x61f0
leaq 0x18(%rsp), %rdi
callq 0x61f0
leaq 0x18b8(%rsp), %rdi
movl %ebp, %esi
movq %r14, %rdx
callq 0x11b88
leaq 0x13e8(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movl %eax, %ebp
testb %al, %al
je 0x1073e
leaq 0x14f8(%rsp), %rsi
leaq 0x38(%rsp), %rdi
callq 0x6570
jmp 0x10757
leaq 0x12575(%rip), %rsi     # 0x22cba
leaq 0x38(%rsp), %rdi
leaq 0x130(%rsp), %rdx
callq 0x61b0
leaq 0x38(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x64c0
movq %r14, %rdi
callq 0x61f0
testb %bpl, %bpl
leaq 0x1180(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x10794
leaq 0x1180(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
jmp 0x10796
xorl %eax, %eax
movb %al, 0x20(%rbx)
leaq 0x1540(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movl %eax, %ebp
testb %al, %al
je 0x107c1
leaq 0x1650(%rsp), %rsi
leaq 0x38(%rsp), %rdi
callq 0x6570
jmp 0x107d7
leaq 0x124f5(%rip), %rsi     # 0x22cbd
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rdx
callq 0x61b0
leaq 0x28(%rbx), %rdi
leaq 0x38(%rsp), %r14
movq %r14, %rsi
callq 0x64c0
movq %r14, %rdi
callq 0x61f0
testb %bpl, %bpl
leaq 0x1290(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movl %eax, %ebp
testb %al, %al
je 0x1081b
leaq 0x13a0(%rsp), %rsi
leaq 0x38(%rsp), %rdi
callq 0x6570
jmp 0x10834
leaq 0x124a2(%rip), %rsi     # 0x22cc4
leaq 0x38(%rsp), %rdi
leaq 0x110(%rsp), %rdx
callq 0x61b0
leaq 0x48(%rbx), %rdi
leaq 0x38(%rsp), %r14
movq %r14, %rsi
callq 0x64c0
movq %r14, %rdi
callq 0x61f0
testb %bpl, %bpl
leaq 0x1028(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movl %eax, %ebp
testb %al, %al
je 0x10878
leaq 0x1138(%rsp), %rsi
leaq 0x38(%rsp), %rdi
callq 0x6570
jmp 0x1088e
leaq 0x1245b(%rip), %rsi     # 0x22cda
leaq 0x38(%rsp), %rdi
leaq 0x16(%rsp), %rdx
callq 0x61b0
leaq 0x68(%rbx), %rdi
leaq 0x38(%rsp), %r14
movq %r14, %rsi
callq 0x64c0
movq %r14, %rdi
callq 0x61f0
testb %bpl, %bpl
leaq 0xaa8(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x108c5
movl 0xbb8(%rsp), %eax
jmp 0x108c8
pushq $0x2
popq %rax
movl %eax, 0x88(%rbx)
leaq 0x988(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movl $0x400, %ecx            # imm = 0x400
testb %al, %al
je 0x108ec
movl 0xa98(%rsp), %ecx
movl %ecx, 0x8c(%rbx)
leaq 0x868(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
pushq $0x40
popq %rbp
movl %ebp, %ecx
testb %al, %al
je 0x10910
movl 0x978(%rsp), %ecx
movl %ecx, 0x90(%rbx)
leaq 0x748(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x1092f
movl 0x858(%rsp), %ebp
movl %ebp, 0x94(%rbx)
leaq 0xce8(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x10950
movl 0xdf8(%rsp), %eax
jmp 0x10953
pushq $0x10
popq %rax
movl %eax, 0x98(%rbx)
leaq 0xbc8(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x10974
movl 0xcd8(%rsp), %eax
jmp 0x10977
pushq $0xa
popq %rax
movl %eax, 0x9c(%rbx)
leaq 0x1698(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x1099f
leaq 0x1698(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
jmp 0x109a1
xorl %eax, %eax
movb %al, 0xa8(%rbx)
leaq 0x2a0(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movl %eax, %ebp
testb %al, %al
je 0x109cf
leaq 0x3b0(%rsp), %rsi
leaq 0x38(%rsp), %rdi
callq 0x6570
jmp 0x109e5
leaq 0x1231c(%rip), %rsi     # 0x22cf2
leaq 0x38(%rsp), %rdi
leaq 0x17(%rsp), %rdx
callq 0x61b0
leaq 0xb0(%rbx), %rdi
leaq 0x38(%rsp), %r14
movq %r14, %rsi
callq 0x64c0
movq %r14, %rdi
callq 0x61f0
testb %bpl, %bpl
leaq 0x17a8(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x10a26
leaq 0x17a8(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
jmp 0x10a28
xorl %eax, %eax
movb %al, 0xa0(%rbx)
leaq 0x518(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x10a49
movl 0x628(%rsp), %eax
jmp 0x10a4c
pushq $0x2
popq %rax
cmpb $0x0, 0xa0(%rbx)
pushq $0x1
popq %rcx
cmovnel %eax, %ecx
movl %ecx, 0xa4(%rbx)
leaq 0xf18(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x10a81
leaq 0xf18(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
jmp 0x10a83
xorl %eax, %eax
movb %al, 0xd0(%rbx)
leaq 0xe08(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x10aab
leaq 0xe08(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
jmp 0x10aad
xorl %eax, %eax
movb %al, 0xd1(%rbx)
leaq 0x638(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x10ad5
leaq 0x638(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
jmp 0x10ad7
xorl %eax, %eax
movb %al, 0xdc(%rbx)
leaq 0x3f8(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x10b1b
movl 0x508(%rsp), %eax
movl %eax, 0xd4(%rbx)
testl %eax, %eax
jg 0x10b28
movq 0x244c1(%rip), %rdi     # 0x34fc8
leaq 0x121e9(%rip), %rsi     # 0x22cf7
callq 0x6410
movq %rax, %rdi
callq 0x6210
leaq 0xd4(%rbx), %rax
movl $0x5, (%rax)
leaq 0x180(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
xorl %ebp, %ebp
movl $0x0, %ecx
testb %al, %al
je 0x10b48
movl 0x290(%rsp), %ecx
movl %ecx, 0xd8(%rbx)
leaq 0x638(%rsp), %rdi
callq 0x11c54
leaq 0x180(%rsp), %rdi
callq 0x11c54
leaq 0x3f8(%rsp), %rdi
callq 0x11c54
leaq 0x1180(%rsp), %rdi
callq 0x11c54
leaq 0xe08(%rsp), %rdi
callq 0x11c54
leaq 0xf18(%rsp), %rdi
callq 0x11c54
leaq 0x518(%rsp), %rdi
callq 0x11c54
leaq 0x2a0(%rsp), %rdi
callq 0x11c78
leaq 0x1698(%rsp), %rdi
callq 0x11c54
leaq 0x17a8(%rsp), %rdi
callq 0x11c54
leaq 0xbc8(%rsp), %rdi
callq 0x11c54
leaq 0xce8(%rsp), %rdi
callq 0x11c54
leaq 0x748(%rsp), %rdi
callq 0x11c54
leaq 0x868(%rsp), %rdi
callq 0x11c54
leaq 0x988(%rsp), %rdi
callq 0x11c54
leaq 0xaa8(%rsp), %rdi
callq 0x11c54
leaq 0x1028(%rsp), %rdi
callq 0x11c78
leaq 0x1290(%rsp), %rdi
callq 0x11c78
leaq 0x13e8(%rsp), %rdi
callq 0x11c78
leaq 0x1540(%rsp), %rdi
callq 0x11c78
leaq 0xa8(%rsp), %rdi
callq 0x11ca8
leaq 0x18b8(%rsp), %rdi
callq 0x11cd2
movl %ebp, %eax
addq $0x1d78, %rsp           # imm = 0x1D78
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x10c90
jmp 0x10c90
jmp 0x10c90
jmp 0x10c90
jmp 0x10c90
jmp 0x10c90
jmp 0x10c90
jmp 0x10c90
jmp 0x10c90
jmp 0x10c90
movq %rax, %rbx
leaq 0x638(%rsp), %rdi
callq 0x11c54
jmp 0x10e06
movq %rax, %rbx
cmpl $0x3, %edx
je 0x10d47
cmpl $0x2, %edx
jne 0x10cf9
movq %rbx, %rdi
callq 0x61c0
movq (%rax), %rcx
movq %rax, %rdi
callq *0x10(%rcx)
movq 0x24322(%rip), %rdi     # 0x34ff0
movq %rax, %rsi
callq 0x6410
movq %rax, %rdi
callq 0x6210
movq 0x2430b(%rip), %rsi     # 0x34ff0
leaq 0x18b8(%rsp), %rdi
callq 0x1b922
callq 0x6650
jmp 0x10d3f
cmpl $0x1, %edx
jne 0x10c93
movq %rbx, %rdi
callq 0x61c0
movq (%rax), %rcx
movq %rax, %rdi
callq *0x10(%rcx)
movq 0x242da(%rip), %rdi     # 0x34ff0
movq %rax, %rsi
callq 0x6410
movq %rax, %rdi
callq 0x6210
movq 0x242c3(%rip), %rsi     # 0x34ff0
leaq 0x18b8(%rsp), %rdi
callq 0x1b922
callq 0x6650
pushq $0x1
popq %rbp
jmp 0x10b4e
movq %rbx, %rdi
callq 0x61c0
movq 0x24272(%rip), %rdi     # 0x34fc8
leaq 0x18b8(%rsp), %rsi
callq 0x11c40
xorl %edi, %edi
callq 0x64b0
movq %rax, %rbx
callq 0x6650
jmp 0x10c93
jmp 0x10c90
jmp 0x10c90
movq %rax, %rbx
callq 0x6650
jmp 0x10c93
movq %rax, %rbx
callq 0x6650
jmp 0x10c93
movq %rax, %rdi
callq 0x7511
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0x11b72
jmp 0x10db5
movq %rax, %rbx
pushq $0x30
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x130, %rdi            # imm = 0x130
callq 0x61f0
addq $-0x28, %r14
cmpq $-0x20, %r14
jne 0x10db9
jmp 0x10dea
movq %rax, %rbx
leaq 0x138(%rsp), %rdi
callq 0x61f0
jmp 0x10dea
movq %rax, %rbx
leaq 0x110(%rsp), %rdi
callq 0x61f0
jmp 0x10dfc
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x61f0
leaq 0x180(%rsp), %rdi
callq 0x11c54
jmp 0x10e7a
movq %rax, %rbx
jmp 0x10e06
movq %rax, %rbx
leaq 0x638(%rsp), %rdi
callq 0x11b72
jmp 0x10e2f
movq %rax, %rbx
pushq $0x30
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x38, %rdi
callq 0x61f0
addq $-0x28, %r14
cmpq $-0x20, %r14
jne 0x10e33
jmp 0x10e59
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x61f0
leaq 0x18(%rsp), %rdi
callq 0x61f0
jmp 0x10e68
movq %rax, %rbx
leaq 0x130(%rsp), %rdi
callq 0x61f0
jmp 0x10e7a
movq %rax, %rbx
leaq 0x3f8(%rsp), %rdi
callq 0x11c54
leaq 0x1180(%rsp), %rdi
callq 0x11c54
leaq 0xe08(%rsp), %rdi
callq 0x11c54
leaq 0xf18(%rsp), %rdi
callq 0x11c54
leaq 0x518(%rsp), %rdi
callq 0x11c54
leaq 0x2a0(%rsp), %rdi
callq 0x11c78
leaq 0x1698(%rsp), %rdi
callq 0x11c54
leaq 0x17a8(%rsp), %rdi
callq 0x11c54
leaq 0xbc8(%rsp), %rdi
callq 0x11c54
leaq 0xce8(%rsp), %rdi
callq 0x11c54
leaq 0x748(%rsp), %rdi
callq 0x11c54
leaq 0x868(%rsp), %rdi
callq 0x11c54
leaq 0x988(%rsp), %rdi
callq 0x11c54
leaq 0xaa8(%rsp), %rdi
callq 0x11c54
leaq 0x1028(%rsp), %rdi
callq 0x11c78
leaq 0x1290(%rsp), %rdi
callq 0x11c78
leaq 0x13e8(%rsp), %rdi
callq 0x11c78
leaq 0x1540(%rsp), %rdi
callq 0x11c78
leaq 0xa8(%rsp), %rdi
callq 0x11ca8
leaq 0x18b8(%rsp), %rdi
callq 0x11cd2
movq %rbx, %rdi
callq 0x66b0
movq %rax, %rbx
leaq 0x180(%rsp), %rdi
callq 0x11b72
jmp 0x10f9b
movq %rax, %rbx
leaq 0x640(%rsp), %rdi
callq 0x61f0
jmp 0x10fad
movq %rax, %rbx
leaq 0x130(%rsp), %rdi
callq 0x61f0
jmp 0x10fbf
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0x61f0
jmp 0x10e87
movq %rax, %rbx
jmp 0x10e87
movq %rax, %rbx
leaq 0x3f8(%rsp), %rdi
callq 0x11b72
jmp 0x10feb
movq %rax, %rbx
pushq $0x30
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x180, %rdi            # imm = 0x180
callq 0x61f0
addq $-0x28, %r14
cmpq $-0x20, %r14
jne 0x10fef
jmp 0x11020
movq %rax, %rbx
leaq 0x188(%rsp), %rdi
callq 0x61f0
jmp 0x11020
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0x61f0
jmp 0x1102f
movq %rax, %rbx
leaq 0x638(%rsp), %rdi
callq 0x61f0
jmp 0x10e94
movq %rax, %rbx
jmp 0x10e94
movq %rax, %rbx
leaq 0x3f8(%rsp), %rdi
callq 0x11b72
jmp 0x1105e
movq %rax, %rbx
pushq $0x30
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x180, %rdi            # imm = 0x180
callq 0x61f0
addq $-0x28, %r14
cmpq $-0x20, %r14
jne 0x11062
jmp 0x11093
movq %rax, %rbx
leaq 0x188(%rsp), %rdi
callq 0x61f0
jmp 0x11093
movq %rax, %rbx
leaq 0x638(%rsp), %rdi
callq 0x61f0
jmp 0x110a5
movq %rax, %rbx
leaq 0x1180(%rsp), %rdi
callq 0x61f0
jmp 0x10ea1
movq %rax, %rbx
jmp 0x10ea1
movq %rax, %rbx
leaq 0x3f8(%rsp), %rdi
callq 0x11b72
jmp 0x110d4
movq %rax, %rbx
pushq $0x30
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x180, %rdi            # imm = 0x180
callq 0x61f0
addq $-0x28, %r14
cmpq $-0x20, %r14
jne 0x110d8
jmp 0x11109
movq %rax, %rbx
leaq 0x188(%rsp), %rdi
callq 0x61f0
jmp 0x11109
movq %rax, %rbx
leaq 0x1180(%rsp), %rdi
callq 0x61f0
jmp 0x1111b
movq %rax, %rbx
leaq 0xe08(%rsp), %rdi
callq 0x61f0
jmp 0x10eae
movq %rax, %rbx
jmp 0x10eae
movq %rax, %rbx
leaq 0x3f8(%rsp), %rdi
callq 0x11b72
jmp 0x1114a
movq %rax, %rbx
pushq $0x30
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x180, %rdi            # imm = 0x180
callq 0x61f0
addq $-0x28, %r14
cmpq $-0x20, %r14
jne 0x1114e
jmp 0x1117f
movq %rax, %rbx
leaq 0x188(%rsp), %rdi
callq 0x61f0
jmp 0x1117f
movq %rax, %rbx
leaq 0xe08(%rsp), %rdi
callq 0x61f0
jmp 0x11191
movq %rax, %rbx
leaq 0xf18(%rsp), %rdi
callq 0x61f0
jmp 0x10ebb
movq %rax, %rbx
jmp 0x10ebb
movq %rax, %rbx
leaq 0xe08(%rsp), %rdi
callq 0x61f0
leaq 0x518(%rsp), %rdi
callq 0x11b72
jmp 0x111cd
movq %rax, %rbx
pushq $0x30
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x3f8, %rdi            # imm = 0x3F8
callq 0x61f0
addq $-0x28, %r14
cmpq $-0x20, %r14
jne 0x111d1
jmp 0x11202
movq %rax, %rbx
leaq 0x400(%rsp), %rdi
callq 0x61f0
jmp 0x11202
movq %rax, %rbx
leaq 0xf18(%rsp), %rdi
callq 0x61f0
jmp 0x11214
movq %rax, %rbx
leaq 0x180(%rsp), %rdi
callq 0x61f0
jmp 0x10ec8
movq %rax, %rbx
jmp 0x10ec8
movq %rax, %rbx
leaq 0x2a0(%rsp), %rdi
callq 0x11b72
jmp 0x11243
movq %rax, %rbx
pushq $0x30
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x518, %rdi            # imm = 0x518
callq 0x61f0
addq $-0x28, %r14
cmpq $-0x20, %r14
jne 0x11247
jmp 0x11278
movq %rax, %rbx
leaq 0x520(%rsp), %rdi
callq 0x61f0
jmp 0x11278
movq %rax, %rbx
leaq 0x180(%rsp), %rdi
callq 0x61f0
jmp 0x1128a
movq %rax, %rbx
leaq 0x3f8(%rsp), %rdi
callq 0x61f0
jmp 0x10ed5
movq %rax, %rbx
jmp 0x10ed5
movq %rax, %rbx
leaq 0x2a0(%rsp), %rdi
callq 0x11b72
jmp 0x112b9
movq %rax, %rbx
pushq $0x30
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x518, %rdi            # imm = 0x518
callq 0x61f0
addq $-0x28, %r14
cmpq $-0x20, %r14
jne 0x112bd
jmp 0x112ee
movq %rax, %rbx
leaq 0x520(%rsp), %rdi
callq 0x61f0
jmp 0x112ee
movq %rax, %rbx
leaq 0x180(%rsp), %rdi
callq 0x61f0
jmp 0x11300
movq %rax, %rbx
leaq 0x3f8(%rsp), %rdi
callq 0x61f0
jmp 0x10ee2
movq %rax, %rbx
jmp 0x10ee2
movq %rax, %rbx
leaq 0x2a0(%rsp), %rdi
callq 0x11b72
jmp 0x1132f
movq %rax, %rbx
pushq $0x30
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x518, %rdi            # imm = 0x518
callq 0x61f0
addq $-0x28, %r14
cmpq $-0x20, %r14
jne 0x11333
jmp 0x1135f
movq %rax, %rbx
leaq 0x520(%rsp), %rdi
callq 0x61f0
leaq 0x180(%rsp), %rdi
callq 0x61f0
jmp 0x11371
movq %rax, %rbx
leaq 0x3f8(%rsp), %rdi
callq 0x61f0
jmp 0x10eef
movq %rax, %rbx
jmp 0x10eef
movq %rax, %rbx
leaq 0x2a0(%rsp), %rdi
callq 0x11b72
jmp 0x113a0
movq %rax, %rbx
pushq $0x30
popq %r14
leaq (%rsp,%r14), %rdi
addq $0xbc8, %rdi            # imm = 0xBC8
callq 0x61f0
addq $-0x28, %r14
cmpq $-0x20, %r14
jne 0x113a4
jmp 0x113d0
movq %rax, %rbx
leaq 0xbd0(%rsp), %rdi
callq 0x61f0
leaq 0x3f8(%rsp), %rdi
callq 0x61f0
jmp 0x113e2
movq %rax, %rbx
leaq 0x518(%rsp), %rdi
callq 0x61f0
jmp 0x10efc
movq %rax, %rbx
jmp 0x10efc
movq %rax, %rbx
leaq 0x2a0(%rsp), %rdi
callq 0x11b72
jmp 0x11411
movq %rax, %rbx
pushq $0x30
popq %r14
leaq (%rsp,%r14), %rdi
addq $0xce8, %rdi            # imm = 0xCE8
callq 0x61f0
addq $-0x28, %r14
cmpq $-0x20, %r14
jne 0x11415
jmp 0x11441
movq %rax, %rbx
leaq 0xcf0(%rsp), %rdi
callq 0x61f0
leaq 0x518(%rsp), %rdi
callq 0x61f0
jmp 0x11453
movq %rax, %rbx
leaq 0xbc8(%rsp), %rdi
callq 0x61f0
jmp 0x10f09
movq %rax, %rbx
jmp 0x10f09
movq %rax, %rbx
leaq 0x2a0(%rsp), %rdi
callq 0x11b72
jmp 0x11482
movq %rax, %rbx
pushq $0x30
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x748, %rdi            # imm = 0x748
callq 0x61f0
addq $-0x28, %r14
cmpq $-0x20, %r14
jne 0x11486
jmp 0x114b2
movq %rax, %rbx
leaq 0x750(%rsp), %rdi
callq 0x61f0
leaq 0xbc8(%rsp), %rdi
callq 0x61f0
jmp 0x114c4
movq %rax, %rbx
leaq 0xce8(%rsp), %rdi
callq 0x61f0
jmp 0x10f16
movq %rax, %rbx
jmp 0x10f16
movq %rax, %rbx
leaq 0x2a0(%rsp), %rdi
callq 0x11b72
jmp 0x114f3
movq %rax, %rbx
pushq $0x30
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x868, %rdi            # imm = 0x868
callq 0x61f0
addq $-0x28, %r14
cmpq $-0x20, %r14
jne 0x114f7
jmp 0x11523
movq %rax, %rbx
leaq 0x870(%rsp), %rdi
callq 0x61f0
leaq 0xce8(%rsp), %rdi
callq 0x61f0
jmp 0x11535
movq %rax, %rbx
leaq 0x748(%rsp), %rdi
callq 0x61f0
jmp 0x10f23
movq %rax, %rbx
jmp 0x10f23
movq %rax, %rbx
leaq 0x2a0(%rsp), %rdi
callq 0x11b72
jmp 0x11564
movq %rax, %rbx
pushq $0x30
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x988, %rdi            # imm = 0x988
callq 0x61f0
addq $-0x28, %r14
cmpq $-0x20, %r14
jne 0x11568
jmp 0x11594
movq %rax, %rbx
leaq 0x990(%rsp), %rdi
callq 0x61f0
leaq 0x748(%rsp), %rdi
callq 0x61f0
jmp 0x115a6
movq %rax, %rbx
leaq 0x868(%rsp), %rdi
callq 0x61f0
jmp 0x10f30
movq %rax, %rbx
jmp 0x10f30
movq %rax, %rbx
leaq 0x748(%rsp), %rdi
callq 0x61f0
leaq 0x2a0(%rsp), %rdi
callq 0x11b72
jmp 0x115e2
movq %rax, %rbx
pushq $0x30
popq %r14
leaq (%rsp,%r14), %rdi
addq $0xaa8, %rdi            # imm = 0xAA8
callq 0x61f0
addq $-0x28, %r14
cmpq $-0x20, %r14
jne 0x115e6
jmp 0x11612
movq %rax, %rbx
leaq 0xab0(%rsp), %rdi
callq 0x61f0
leaq 0x868(%rsp), %rdi
callq 0x61f0
jmp 0x11624
movq %rax, %rbx
leaq 0x988(%rsp), %rdi
callq 0x61f0
jmp 0x10f3d
movq %rax, %rbx
jmp 0x10f3d
movq %rax, %rbx
leaq 0x868(%rsp), %rdi
callq 0x61f0
leaq 0x1028(%rsp), %rdi
callq 0x11b72
jmp 0x11660
movq %rax, %rbx
pushq $0x30
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x2a0, %rdi            # imm = 0x2A0
callq 0x61f0
addq $-0x28, %r14
cmpq $-0x20, %r14
jne 0x11664
jmp 0x11690
movq %rax, %rbx
leaq 0x2a8(%rsp), %rdi
callq 0x61f0
leaq 0x988(%rsp), %rdi
callq 0x61f0
jmp 0x116a2
movq %rax, %rbx
leaq 0xaa8(%rsp), %rdi
callq 0x61f0
jmp 0x10f4a
movq %rax, %rbx
jmp 0x10f4a
movq %rax, %rbx
leaq 0x988(%rsp), %rdi
callq 0x61f0
leaq 0x1290(%rsp), %rdi
callq 0x11b72
jmp 0x116de
movq %rax, %rbx
pushq $0x30
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x1028, %rdi           # imm = 0x1028
callq 0x61f0
addq $-0x28, %r14
cmpq $-0x20, %r14
jne 0x116e2
jmp 0x1170e
movq %rax, %rbx
leaq 0x1030(%rsp), %rdi
callq 0x61f0
leaq 0xaa8(%rsp), %rdi
callq 0x61f0
jmp 0x11720
movq %rax, %rbx
leaq 0x2a0(%rsp), %rdi
callq 0x61f0
jmp 0x10f57
movq %rax, %rbx
jmp 0x10f57
movq %rax, %rbx
leaq 0xaa8(%rsp), %rdi
callq 0x61f0
leaq 0x13e8(%rsp), %rdi
callq 0x11b72
jmp 0x1175c
movq %rax, %rbx
pushq $0x30
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x1290, %rdi           # imm = 0x1290
callq 0x61f0
addq $-0x28, %r14
cmpq $-0x20, %r14
jne 0x11760
jmp 0x1178c
movq %rax, %rbx
leaq 0x1298(%rsp), %rdi
callq 0x61f0
leaq 0x2a0(%rsp), %rdi
callq 0x61f0
jmp 0x1179e
movq %rax, %rbx
leaq 0x1028(%rsp), %rdi
callq 0x61f0
jmp 0x10f64
movq %rax, %rbx
jmp 0x10f64
movq %rax, %rbx
leaq 0x13e8(%rsp), %rdi
callq 0x11ac8
leaq 0x1540(%rsp), %rdi
callq 0x61f0
jmp 0x10f71
movq %rax, %rbx
jmp 0x10f71
movq %rax, %rbx
leaq 0x13e8(%rsp), %rdi
callq 0x61f0
jmp 0x117f7
movq %rax, %rbx
leaq 0x1540(%rsp), %rdi
callq 0x61f0
jmp 0x10f7e
movq %rax, %rbx
jmp 0x10f7e
nop