// File: /workspace/github_cpp_makefile_star2_O3/harry830622[P]floorplanner/src/main.cpp
// Function: main
int main(int argc, char* argv[]) {
  po::options_description options("Options");

  // clang-format off
  options.add_options()
    ("help,h", "Print help messages")
    ("verbose,v", "Print detail informations during floorplanning")
    ("seed", po::value<long>()->value_name("NUM"), "Seed for random number generator")
    ("sa", po::value<string>()->value_name("MODE")->default_value("classical"), "SA mode: classical, fast, both or fast-5")
    ("draw-all", po::value<string>()->value_name("FILE"), "Draw all floorplans")
    ("draw-only-best", po::value<string>()->value_name("FILE"), "Draw only best floorplan")
    ("alpha", po::value<double>()->value_name("NUM")->required(), "Alpha")
    ("block-input", po::value<string>()->value_name("FILE")->required(), "Block input")
    ("net-input", po::value<string>()->value_name("FILE")->required(), "Net input")
    ("output", po::value<string>()->value_name("FILE")->required(), "Output")
    ;
  // clang-format on

  po::positional_options_description positional_options;
  positional_options.add("alpha", 1);
  positional_options.add("block-input", 1);
  positional_options.add("net-input", 1);
  positional_options.add("output", 1);

  po::variables_map arguments;

  po::store(po::command_line_parser(argc, argv)
                .options(options)
                .positional(positional_options)
                .run(),
            arguments);

  if (arguments.count("help") || argc < 5) {
    cout << "Usage:" << endl;
    cout << "  " << argv[0] << " [--verbose]"
         << " [--seed <number>] [--sa <classical|fast|both|fast-5>]"
         << " [--draw-all <file>] [--draw-only-best <file>]"
         << " <alpha> <block-input> <net-input> <output>" << endl;
    cout << options;
    return 0;
  }

  const double alpha = arguments["alpha"].as<double>();
  if (alpha < 0 || alpha > 1) {
    cout << "Error: alpha should range between 0 and 1" << endl;
    return 1;
  }

  const long seed =
      arguments.count("seed") ? arguments["seed"].as<long>() : time(NULL);
  srand(seed);

  const string block_input_name = arguments["block-input"].as<string>();
  const string net_input_name = arguments["net-input"].as<string>();

  ifstream block_input(block_input_name);
  ifstream net_input(net_input_name);

  clock_t time_begin = clock();

  Database database(block_input, net_input);
  /* database.Print(); */

  const string sa_mode = arguments["sa"].as<string>();
  const bool is_verbose = arguments.count("verbose");
  const bool is_drawing = arguments.count("draw-all");

  Floorplanner floorplanner(database, alpha, sa_mode, is_verbose, is_drawing);
  floorplanner.Run();

  double runtime = (clock() - time_begin) / static_cast<double>(CLOCKS_PER_SEC);

  const Floorplan& best_floorplan = floorplanner.best_floorplan();
  const double outline_width = database.outline_width();
  const double outline_height = database.outline_height();
  const double best_width = best_floorplan.width();
  const double best_height = best_floorplan.height();
  const double best_area = best_floorplan.area();
  const double best_wirelength = best_floorplan.wirelength();
  const double best_cost = alpha * best_area + (1 - alpha) * best_wirelength;

  cout << endl;
  cout << "============================= SUMMARY =============================="
       << endl;
  cout << "outline width:\t" << outline_width << "\t\toutline height:\t\t"
       << outline_height << endl;
  cout << "best width:\t" << best_width << "\t\tbest height:\t\t" << best_height
       << endl;
  cout << "best area:\t" << best_area << "\tbest wirelength:\t"
       << best_wirelength << endl;
  cout << "alpha:\t\t" << alpha << "\t\tbest cost:\t\t" << best_cost << endl;
  cout << "seed: \t\t" << seed << "\truntime:\t\t" << runtime << endl;

  ofstream output(arguments["output"].as<string>());
  output << best_cost << endl;
  output << best_wirelength << endl;
  output << best_area << endl;
  output << best_width << " " << best_height << endl;
  output << runtime << endl;
  for (int i = 0; i < database.num_macros(); ++i) {
    const int macro_id = i;
    const string macro_name = database.macro(macro_id).name();
    auto bounding_box = best_floorplan.macro_bounding_box(macro_id);
    const Point& lower_left = bounding_box.first;
    const Point& upper_right = bounding_box.second;
    output << macro_name << " " << lower_left.x() << " " << lower_left.y()
           << " " << upper_right.x() << " " << upper_right.y() << endl;
  }

  if (is_drawing) {
    ofstream drawing_output(arguments["draw-all"].as<string>());
    Json drawing = floorplanner.drawing();
    fs::path block_input_path(block_input_name);
    drawing["benchmark"] = Json::object();
    drawing["benchmark"]["name"] = block_input_path.stem().string();
    ifstream blockInput(block_input_name);
    ifstream netInput(net_input_name);
    drawing["benchmark"]["blockInput"] = string(
        istreambuf_iterator<char>(blockInput), istreambuf_iterator<char>());
    drawing["benchmark"]["netInput"] = string(
        istreambuf_iterator<char>(netInput), istreambuf_iterator<char>());
    drawing["alpha"] = alpha;
    drawing["outline"] = {{"width", database.outline_width()},
                          {"height", database.outline_height()}};
    drawing["seed"] = seed;
    drawing["bestFloorplan"] = best_floorplan.drawing();
    drawing["runtime"] = runtime;
    drawing_output << drawing;
  }

  const bool is_drawing_only_best = arguments.count("draw-only-best");

  if (is_drawing_only_best) {
    ofstream drawing_output(arguments["draw-only-best"].as<string>());
    Json drawing = Json::object();
    fs::path block_input_path(block_input_name);
    drawing["benchmark"] = Json::object();
    drawing["benchmark"]["name"] = block_input_path.stem().string();
    ifstream blockInput(block_input_name);
    ifstream netInput(net_input_name);
    drawing["benchmark"]["blockInput"] = string(
        istreambuf_iterator<char>(blockInput), istreambuf_iterator<char>());
    drawing["benchmark"]["netInput"] = string(
        istreambuf_iterator<char>(netInput), istreambuf_iterator<char>());
    drawing["alpha"] = alpha;
    drawing["outline"] = {{"width", database.outline_width()},
                          {"height", database.outline_height()}};
    drawing["seed"] = seed;
    drawing["bestFloorplan"] = Json::object();
    Json& best_floorplan_drawing = drawing["bestFloorplan"];
    best_floorplan_drawing["macros"] = Json::array();
    for (int i = 0; i < database.num_macros(); ++i) {
      const int macro_id = i;
      const Macro& macro = database.macro(macro_id);
      const auto& macro_bounding_box =
          best_floorplan.macro_bounding_box(macro_id);
      const Point& macro_lower_left = macro_bounding_box.first;
      const Point& macro_upper_right = macro_bounding_box.second;
      const string& macro_name = macro.name();
      best_floorplan_drawing["macros"].push_back(
          {{"name", macro_name},
           {"lowerLeft",
            {{"x", macro_lower_left.x()}, {"y", macro_lower_left.y()}}},
           {"upperRight",
            {{"x", macro_upper_right.x()}, {"y", macro_upper_right.y()}}}});
    }
    best_floorplan_drawing["width"] = best_floorplan.width();
    best_floorplan_drawing["height"] = best_floorplan.height();
    best_floorplan_drawing["area"] = best_floorplan.area();
    best_floorplan_drawing["wirelength"] = best_floorplan.wirelength();
    drawing["runtime"] = runtime;
    drawing_output << drawing;
  }

  return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x12f8, %rsp           # imm = 0x12F8
movq %rsi, %r12
movl %edi, (%rsp)
leaq 0x7c8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xc63e(%rip), %rsi      # 0x21f1c
leaq 0xc63e(%rip), %rdx      # 0x21f23
leaq 0x7b8(%rsp), %rdi
callq 0xa09a
movq 0x1766f(%rip), %rax     # 0x2cf68
movl (%rax), %edx
movl %edx, %ecx
shrl %ecx
leaq 0x738(%rsp), %rdi
leaq 0x7b8(%rsp), %rsi
callq 0x64c0
movq 0x7b8(%rsp), %rdi
cmpq %r14, %rdi
je 0x15931
movq 0x7c8(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0x738(%rsp), %rdi
callq 0x6420
leaq 0x438(%rsp), %rdi
movq %rax, (%rdi)
leaq 0xc5d4(%rip), %rsi      # 0x21f24
leaq 0xc5d4(%rip), %rdx      # 0x21f2b
callq 0x6690
leaq 0xc5dc(%rip), %rsi      # 0x21f3f
leaq 0xc5df(%rip), %rdx      # 0x21f49
movq %rax, %rdi
callq 0x6690
movq %rax, %rbx
xorl %edi, %edi
callq 0x19b62
movq %rax, %r15
leaq 0x7b8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xc5ec(%rip), %rsi      # 0x21f7d
leaq 0xc5e8(%rip), %rdx      # 0x21f80
callq 0xa09a
leaq 0x18(%r15), %rdi
leaq 0x7b8(%rsp), %rsi
callq 0x61d0
leaq 0xc5c3(%rip), %rsi      # 0x21f78
leaq 0xc5c5(%rip), %rcx      # 0x21f81
movq %rbx, %rdi
movq %r15, %rdx
callq 0x66e0
movq %rax, %rbx
xorl %edi, %edi
callq 0x1c748
movq %rax, %r15
leaq 0xdd8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0xc5be(%rip), %rsi      # 0x21fa5
leaq 0xc5bb(%rip), %rdx      # 0x21fa9
leaq 0xdc8(%rsp), %rdi
callq 0xa09a
leaq 0x18(%r15), %rdi
leaq 0xdc8(%rsp), %rsi
callq 0x61d0
leaq 0x240(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0xbdf1(%rip), %rsi      # 0x21810
leaq 0xbdf3(%rip), %rdx      # 0x21819
leaq 0x230(%rsp), %rdi
callq 0xa09a
leaq 0x230(%rsp), %rsi
movq %r15, %rdi
callq 0x19410
leaq 0xc558(%rip), %rsi      # 0x21fa2
leaq 0xc559(%rip), %rcx      # 0x21faa
movq %rbx, %rdi
movq %rax, %rdx
callq 0x66e0
movq %rax, %rbx
xorl %edi, %edi
callq 0x1c748
movq %rax, %r15
leaq 0x9d0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0xc560(%rip), %rsi      # 0x21fdc
leaq 0xc55d(%rip), %rdx      # 0x21fe0
leaq 0x9c0(%rsp), %rdi
callq 0xa09a
leaq 0x18(%r15), %rdi
leaq 0x9c0(%rsp), %rsi
callq 0x61d0
leaq 0xc52b(%rip), %rsi      # 0x21fd3
leaq 0xc532(%rip), %rcx      # 0x21fe1
movq %rbx, %rdi
movq %r15, %rdx
callq 0x66e0
movq %rax, %rbx
xorl %edi, %edi
callq 0x1c748
movq %rax, %r15
leaq 0x1108(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0xc502(%rip), %rsi      # 0x21fdc
leaq 0xc4ff(%rip), %rdx      # 0x21fe0
leaq 0x10f8(%rsp), %rdi
callq 0xa09a
leaq 0x18(%r15), %rdi
leaq 0x10f8(%rsp), %rsi
callq 0x61d0
leaq 0xc4ef(%rip), %rsi      # 0x21ff5
leaq 0xc4f7(%rip), %rcx      # 0x22004
movq %rbx, %rdi
movq %r15, %rdx
callq 0x66e0
movq %rax, %rbx
xorl %edi, %edi
callq 0x1d18d
movq %rax, %r15
leaq 0xbd8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xc445(%rip), %rsi      # 0x21f7d
leaq 0xc441(%rip), %rdx      # 0x21f80
leaq 0xbc8(%rsp), %rdi
callq 0xa09a
movq %r12, 0x50(%rsp)
leaq 0x18(%r15), %rdi
leaq 0xbc8(%rsp), %rsi
callq 0x61d0
movb $0x1, 0x8c(%r15)
leaq 0xc4ac(%rip), %rsi      # 0x2201d
leaq 0xc4ab(%rip), %rcx      # 0x22023
movq %rbx, %rdi
movq %r15, %rdx
callq 0x66e0
movq %rax, %rbx
xorl %edi, %edi
callq 0x1c748
movq %rax, %r15
leaq 0xfe0(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0xc439(%rip), %rsi      # 0x21fdc
leaq 0xc436(%rip), %rdx      # 0x21fe0
leaq 0xfd0(%rsp), %rdi
callq 0xa09a
leaq 0x18(%r15), %rdi
leaq 0xfd0(%rsp), %rsi
callq 0x61d0
movb $0x1, 0x8c(%r15)
leaq 0xc452(%rip), %rsi      # 0x22029
leaq 0xc457(%rip), %rcx      # 0x22035
movq %rbx, %rdi
movq %r15, %rdx
callq 0x66e0
movq %rax, %rbx
xorl %edi, %edi
callq 0x1c748
movq %rax, %r15
leaq 0x690(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xc3d2(%rip), %rsi      # 0x21fdc
leaq 0xc3cf(%rip), %rdx      # 0x21fe0
leaq 0x680(%rsp), %rdi
callq 0xa09a
leaq 0x18(%r15), %rdi
leaq 0x680(%rsp), %rsi
callq 0x61d0
movb $0x1, 0x8c(%r15)
leaq 0xc403(%rip), %rsi      # 0x22041
leaq 0xc406(%rip), %rcx      # 0x2204b
movq %rbx, %rdi
movq %r15, %rdx
callq 0x66e0
movq %rax, %rbx
xorl %edi, %edi
callq 0x1c748
movq %rax, %r15
leaq 0x5f0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0xc36c(%rip), %rsi      # 0x21fdc
leaq 0xc369(%rip), %rdx      # 0x21fe0
leaq 0x5e0(%rsp), %rdi
callq 0xa09a
leaq 0x18(%r15), %rdi
leaq 0x5e0(%rsp), %rsi
callq 0x61d0
movb $0x1, 0x8c(%r15)
leaq 0xc3b1(%rip), %rsi      # 0x22055
leaq 0xc3b1(%rip), %rcx      # 0x2205c
movq %rbx, %rdi
movq %r15, %rdx
callq 0x66e0
movq 0x5e0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x15cd3
movq 0x5f0(%rsp), %rsi
incq %rsi
callq 0x6390
movq 0x680(%rsp), %rdi
cmpq %r12, %rdi
leaq 0x7c8(%rsp), %rbp
je 0x15cf8
movq 0x690(%rsp), %rsi
incq %rsi
callq 0x6390
movq 0xfd0(%rsp), %rdi
cmpq %r13, %rdi
je 0x15d15
movq 0xfe0(%rsp), %rsi
incq %rsi
callq 0x6390
movq 0xbc8(%rsp), %rdi
cmpq %r14, %rdi
leaq 0xdd8(%rsp), %r14
movq 0x50(%rsp), %r15
je 0x15d3f
movq 0xbd8(%rsp), %rsi
incq %rsi
callq 0x6390
movq 0x10f8(%rsp), %rdi
leaq 0x1108(%rsp), %rax
cmpq %rax, %rdi
movl (%rsp), %r12d
je 0x15d68
movq 0x1108(%rsp), %rsi
incq %rsi
callq 0x6390
movq 0x9c0(%rsp), %rdi
leaq 0x9d0(%rsp), %rax
cmpq %rax, %rdi
je 0x15d8d
movq 0x9d0(%rsp), %rsi
incq %rsi
callq 0x6390
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x15db2
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x6390
movq 0xdc8(%rsp), %rdi
cmpq %r14, %rdi
je 0x15dcf
movq 0xdd8(%rsp), %rsi
incq %rsi
callq 0x6390
movq 0x7b8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x15dec
movq 0x7c8(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0x438(%rsp), %rdi
callq 0x6480
leaq 0xc21d(%rip), %rsi      # 0x2201d
leaq 0x438(%rsp), %rdi
movl $0x1, %edx
callq 0x63b0
leaq 0xc210(%rip), %rsi      # 0x22029
leaq 0x438(%rsp), %rdi
movl $0x1, %edx
callq 0x63b0
leaq 0xc20f(%rip), %rsi      # 0x22041
leaq 0x438(%rsp), %rdi
movl $0x1, %edx
callq 0x63b0
leaq 0xc20a(%rip), %rsi      # 0x22055
leaq 0x438(%rsp), %rdi
movl $0x1, %edx
callq 0x63b0
leaq 0x5e0(%rsp), %rdi
callq 0x6180
leaq 0x7b8(%rsp), %rdi
movl %r12d, %esi
movq %r15, %rdx
callq 0x194c8
leaq 0x7b8(%rsp), %rdi
leaq 0x738(%rsp), %rbx
movq %rbx, %rsi
callq 0x6310
leaq 0x7b8(%rsp), %rdi
movq %rbx, 0x70(%rdi)
leaq 0x438(%rsp), %rsi
callq 0x65e0
leaq 0xdc8(%rsp), %rdi
leaq 0x7b8(%rsp), %rsi
callq 0x1955c
leaq 0xdc8(%rsp), %rdi
leaq 0x5e0(%rsp), %rsi
xorl %edx, %edx
callq 0x6630
leaq 0xdc8(%rsp), %rdi
callq 0x197dc
leaq 0x808(%rsp), %rdi
callq 0x19894
leaq 0x7e8(%rsp), %rdi
callq 0x198cc
leaq 0x7b8(%rsp), %rbx
movq %rbx, %rdi
callq 0x9cd2
movq %rbp, (%rbx)
leaq 0xc148(%rip), %rsi      # 0x22063
leaq 0xc145(%rip), %rdx      # 0x22067
leaq 0x7b8(%rsp), %rdi
callq 0xa09a
leaq 0x5f0(%rsp), %rdi
leaq 0x7b8(%rsp), %rsi
callq 0x1e770
movq %rax, %r13
leaq 0x5f8(%rsp), %rax
cmpq %rax, %r13
setne %al
cmpl $0x5, %r12d
setl %bl
orb %al, %bl
movq 0x7b8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x15f7b
movq 0x7c8(%rsp), %rsi
incq %rsi
callq 0x6390
testb %bl, %bl
je 0x1600f
movq 0x17016(%rip), %rbx     # 0x2cfa0
leaq 0xc0d7(%rip), %rsi      # 0x22068
movl $0x6, %edx
movq %rbx, %rdi
callq 0x63f0
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x6370
movsbl %al, %esi
movq 0x16fe4(%rip), %rdi     # 0x2cfa0
callq 0x6030
movq %rax, %rdi
callq 0x6270
movq 0x16fd0(%rip), %rbx     # 0x2cfa0
leaq 0xc098(%rip), %rsi      # 0x2206f
movl $0x2, %edx
movq %rbx, %rdi
callq 0x63f0
movq (%r15), %r14
testq %r14, %r14
je 0x16188
movq %r14, %rdi
callq 0x6190
movq 0x16fa1(%rip), %rdi     # 0x2cfa0
movq %r14, %rsi
movq %rax, %rdx
callq 0x63f0
jmp 0x1619f
leaq 0x7b8(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0xbffc(%rip), %rsi      # 0x2201d
leaq 0xbffa(%rip), %rdx      # 0x22022
callq 0xa09a
leaq 0x5e0(%rsp), %rdi
leaq 0x7b8(%rsp), %rsi
callq 0x63c0
movq %rax, %rdi
callq 0x1e7f9
movsd (%rax), %xmm0
movsd %xmm0, 0x50(%rsp)
movq 0x7b8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x16071
movq 0x7c8(%rsp), %rsi
incq %rsi
callq 0x6390
xorpd %xmm0, %xmm0
movsd 0x50(%rsp), %xmm1
ucomisd %xmm1, %xmm0
ja 0x16138
ucomisd 0xb703(%rip), %xmm1     # 0x21790
ja 0x16138
leaq 0x7b8(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0xbed3(%rip), %rsi      # 0x21f78
leaq 0xbed0(%rip), %rdx      # 0x21f7c
callq 0xa09a
leaq 0x7b8(%rsp), %rsi
leaq 0x5f0(%rsp), %rdi
callq 0x1e770
cmpq %r13, %rax
je 0x16248
leaq 0xdc8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xbe97(%rip), %rsi      # 0x21f78
leaq 0xbe94(%rip), %rdx      # 0x21f7c
callq 0xa09a
leaq 0x5e0(%rsp), %rdi
leaq 0xdc8(%rsp), %rsi
callq 0x63c0
movq %rax, %rdi
callq 0x1ebc3
movq (%rax), %rax
movq %rax, 0x58(%rsp)
movq 0xdc8(%rsp), %rdi
cmpq %r14, %rdi
je 0x16254
movq 0xdd8(%rsp), %rsi
incq %rsi
callq 0x6390
jmp 0x16254
movq 0x16e61(%rip), %rbx     # 0x2cfa0
leaq 0xbfcb(%rip), %rsi      # 0x22111
movl $0x29, %edx
movq %rbx, %rdi
callq 0x63f0
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x6370
movsbl %al, %esi
movq 0x16e2f(%rip), %rdi     # 0x2cfa0
callq 0x6030
movl $0x1, %ebx
movq %rax, %rdi
callq 0x6270
jmp 0x1857e
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %rdi
movl 0x20(%rbx,%rax), %esi
orl $0x1, %esi
callq 0x6600
movq 0x16dfa(%rip), %rdi     # 0x2cfa0
leaq 0xbec5(%rip), %rsi      # 0x22072
movl $0xc, %edx
callq 0x63f0
movq 0x16de2(%rip), %rdi     # 0x2cfa0
leaq 0xbeba(%rip), %rsi      # 0x2207f
movl $0x36, %edx
callq 0x63f0
movq 0x16dca(%rip), %rdi     # 0x2cfa0
leaq 0xbed9(%rip), %rsi      # 0x220b6
movl $0x2e, %edx
callq 0x63f0
movq 0x16db2(%rip), %rbx     # 0x2cfa0
leaq 0xbef0(%rip), %rsi      # 0x220e5
movl $0x2b, %edx
movq %rbx, %rdi
callq 0x63f0
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x6370
movsbl %al, %esi
movq 0x16d80(%rip), %rdi     # 0x2cfa0
callq 0x6030
movq %rax, %rdi
callq 0x6270
xorl %ebx, %ebx
movq 0x16d6a(%rip), %rdi     # 0x2cfa0
leaq 0x738(%rsp), %rsi
callq 0x60b0
jmp 0x1857e
xorl %edi, %edi
callq 0x6340
movq %rax, 0x58(%rsp)
movq 0x7b8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x16271
movq 0x7c8(%rsp), %rsi
incq %rsi
callq 0x6390
movq 0x58(%rsp), %rdi
callq 0x6360
leaq 0x7b8(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0xbd9c(%rip), %rsi      # 0x22029
leaq 0xbda0(%rip), %rdx      # 0x22034
callq 0xa09a
leaq 0x5e0(%rsp), %rdi
leaq 0x7b8(%rsp), %rsi
callq 0x63c0
movq %rax, %rdi
callq 0x1ec66
leaq 0x18(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %rdi
callq 0x9f1a
movq 0x7b8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x162f0
movq 0x7c8(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0x7b8(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0xbd3f(%rip), %rsi      # 0x22041
leaq 0xbd41(%rip), %rdx      # 0x2204a
callq 0xa09a
leaq 0x5e0(%rsp), %rdi
leaq 0x7b8(%rsp), %rsi
callq 0x63c0
movq %rax, %rdi
callq 0x1ec66
leaq 0x160(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
leaq 0x150(%rsp), %rdi
callq 0x9f1a
movq 0x7b8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1636b
movq 0x7c8(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0x7b8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
movl $0x8, %edx
callq 0x6590
leaq 0xdc8(%rsp), %rdi
leaq 0x150(%rsp), %rsi
movl $0x8, %edx
callq 0x6590
callq 0x6260
movq %rax, %rbx
leaq 0x680(%rsp), %rdi
leaq 0x7b8(%rsp), %rsi
leaq 0xdc8(%rsp), %rdx
callq 0x8248
leaq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
movq %rax, (%rdi)
leaq 0xbbc7(%rip), %rsi      # 0x21fa2
leaq 0xbbc2(%rip), %rdx      # 0x21fa4
callq 0xa09a
leaq 0x5e0(%rsp), %rdi
leaq 0x230(%rsp), %rsi
callq 0x63c0
movq %rax, %rdi
callq 0x1ec66
leaq 0x140(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
leaq 0x130(%rsp), %rdi
callq 0x9f1a
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x1644c
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
movq %rax, (%rdi)
leaq 0xbcd5(%rip), %rsi      # 0x2213b
leaq 0xbcd5(%rip), %rdx      # 0x22142
callq 0xa09a
leaq 0x230(%rsp), %rsi
leaq 0x5f0(%rsp), %rdi
callq 0x1e770
movq %rax, %r14
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x164af
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
movq %rax, (%rdi)
leaq 0xbb0a(%rip), %rsi      # 0x21fd3
leaq 0xbb0b(%rip), %rdx      # 0x21fdb
callq 0xa09a
leaq 0x230(%rsp), %rsi
leaq 0x5f0(%rsp), %rdi
callq 0x1e770
movq %rax, 0x120(%rsp)
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x16517
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x6390
xorl %r8d, %r8d
cmpq %r13, 0x120(%rsp)
setne %r8b
xorl %ecx, %ecx
cmpq %r13, %r14
setne %cl
leaq 0xfd0(%rsp), %rdi
leaq 0x680(%rsp), %rsi
leaq 0x130(%rsp), %rdx
movsd 0x50(%rsp), %xmm0
callq 0x10870
leaq 0xfd0(%rsp), %rdi
callq 0x10dc8
callq 0x6260
movq %rax, %r14
leaq 0xfd0(%rsp), %rdi
callq 0x10dc2
movq %rax, (%rsp)
leaq 0x680(%rsp), %rdi
callq 0x89fe
movsd %xmm0, 0x80(%rsp)
leaq 0x680(%rsp), %rdi
callq 0x8a04
movsd %xmm0, 0x118(%rsp)
movq (%rsp), %r15
movq %r15, %rdi
callq 0xaf68
movsd %xmm0, 0x78(%rsp)
movq %r15, %rdi
callq 0xaf6e
movsd %xmm0, 0x128(%rsp)
movq %r15, %rdi
callq 0xaf74
movsd %xmm0, 0x60(%rsp)
movq %r15, %rdi
callq 0xaf80
movsd %xmm0, 0x48(%rsp)
movq 0x169b7(%rip), %rdi     # 0x2cfa0
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0xa, %esi
callq 0x6370
movsbl %al, %esi
movq 0x1699c(%rip), %rdi     # 0x2cfa0
callq 0x6030
movq %rax, %rdi
callq 0x6270
movq 0x16988(%rip), %r15     # 0x2cfa0
leaq 0xbb24(%rip), %rsi      # 0x22143
movl $0x44, %edx
movq %r15, %rdi
callq 0x63f0
movq (%r15), %rax
addq -0x18(%rax), %r15
movq %r15, %rdi
movl $0xa, %esi
callq 0x6370
movsbl %al, %esi
movq 0x16956(%rip), %rdi     # 0x2cfa0
callq 0x6030
movq %rax, %rdi
callq 0x6270
movq 0x16942(%rip), %rdi     # 0x2cfa0
leaq 0xbb23(%rip), %rsi      # 0x22188
movl $0xf, %edx
callq 0x63f0
movq 0x1692a(%rip), %rdi     # 0x2cfa0
movsd 0x80(%rsp), %xmm0
callq 0x6580
movq %rax, %r15
leaq 0xbb0a(%rip), %rsi      # 0x22198
movl $0x13, %edx
movq %rax, %rdi
callq 0x63f0
movq %r15, %rdi
movsd 0x118(%rsp), %xmm0
callq 0x6580
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6370
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6270
movq 0x168c3(%rip), %rdi     # 0x2cfa0
leaq 0xbac8(%rip), %rsi      # 0x221ac
movl $0xc, %edx
callq 0x63f0
movq 0x168ab(%rip), %rdi     # 0x2cfa0
movsd 0x78(%rsp), %xmm0
callq 0x6580
movq %rax, %r15
leaq 0xbaaf(%rip), %rsi      # 0x221b9
movl $0x10, %edx
movq %rax, %rdi
callq 0x63f0
movq %r15, %rdi
movsd 0x128(%rsp), %xmm0
callq 0x6580
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6370
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6270
movq 0x16847(%rip), %rdi     # 0x2cfa0
leaq 0xba6a(%rip), %rsi      # 0x221ca
movl $0xb, %edx
callq 0x63f0
movq 0x1682f(%rip), %rdi     # 0x2cfa0
movsd 0x60(%rsp), %xmm0
callq 0x6580
movq %rax, %r15
leaq 0xba50(%rip), %rsi      # 0x221d6
movl $0x12, %edx
movq %rax, %rdi
callq 0x63f0
movq %r15, %rdi
movsd 0x48(%rsp), %xmm0
callq 0x6580
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6370
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6270
movq 0x167ce(%rip), %rdi     # 0x2cfa0
leaq 0xba10(%rip), %rsi      # 0x221e9
movl $0x8, %edx
callq 0x63f0
movq 0x167b6(%rip), %rdi     # 0x2cfa0
movsd 0x50(%rsp), %xmm0
callq 0x6580
movq %rax, %r15
leaq 0xb9f3(%rip), %rsi      # 0x221f2
movl $0xe, %edx
movq %rax, %rdi
callq 0x63f0
movsd 0xaf7c(%rip), %xmm2     # 0x21790
movsd 0x50(%rsp), %xmm1
subsd %xmm1, %xmm2
mulsd 0x48(%rsp), %xmm2
movsd 0x60(%rsp), %xmm0
mulsd %xmm1, %xmm0
addsd %xmm2, %xmm0
movq %r15, %rdi
movsd %xmm0, 0x118(%rsp)
callq 0x6580
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6370
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6270
movq 0x1672c(%rip), %rdi     # 0x2cfa0
leaq 0xb986(%rip), %rsi      # 0x22201
movl $0x8, %edx
callq 0x63f0
movq 0x16714(%rip), %rdi     # 0x2cfa0
movq 0x58(%rsp), %rsi
callq 0x6350
movq %rax, %r15
leaq 0xb96a(%rip), %rsi      # 0x2220a
movl $0xb, %edx
movq %rax, %rdi
callq 0x63f0
subq %rbx, %r14
xorps %xmm0, %xmm0
cvtsi2sd %r14, %xmm0
divsd 0xb5f8(%rip), %xmm0     # 0x21eb8
movq %r15, %rdi
movsd %xmm0, 0x80(%rsp)
callq 0x6580
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x6370
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6270
leaq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
movq %rax, (%rdi)
leaq 0xb740(%rip), %rsi      # 0x22055
leaq 0xb73f(%rip), %rdx      # 0x2205b
callq 0xa09a
leaq 0x5e0(%rsp), %rdi
leaq 0x230(%rsp), %rsi
callq 0x63c0
movq %rax, %rdi
callq 0x1ec66
leaq 0x10f8(%rsp), %rdi
movq %rax, %rsi
movl $0x10, %edx
callq 0x6700
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x16978
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0x10f8(%rsp), %rdi
movsd 0x118(%rsp), %xmm0
callq 0x6580
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x6370
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6270
leaq 0x10f8(%rsp), %rdi
movsd 0x48(%rsp), %xmm0
callq 0x6580
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x6370
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6270
leaq 0x10f8(%rsp), %rdi
movsd 0x60(%rsp), %xmm0
callq 0x6580
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x6370
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6270
leaq 0x10f8(%rsp), %rdi
movsd 0x78(%rsp), %xmm0
callq 0x6580
movq %rax, %rbx
leaq 0xb621(%rip), %rsi      # 0x22070
movl $0x1, %edx
movq %rax, %rdi
callq 0x63f0
movq %rbx, %rdi
movsd 0x128(%rsp), %xmm0
callq 0x6580
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x6370
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6270
leaq 0x10f8(%rsp), %rdi
movsd 0x80(%rsp), %xmm0
callq 0x6580
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x6370
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6270
xorl %ebx, %ebx
leaq 0x680(%rsp), %rbp
leaq 0xb588(%rip), %r12      # 0x22070
leaq 0x9c0(%rsp), %r15
movq %rbp, %rdi
callq 0x8a44
cmpl %eax, %ebx
jge 0x16c6e
movq %rbp, %rdi
movl %ebx, %esi
callq 0x8a80
movq %rax, %rdi
callq 0x1589e
leaq 0x240(%rsp), %rcx
movq %rcx, 0x230(%rsp)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
leaq 0x230(%rsp), %rdi
callq 0x9f1a
movq %r13, %r14
movq (%rsp), %rdi
movl %ebx, %esi
callq 0xaf86
movupd (%rax), %xmm0
movupd 0x10(%rax), %xmm1
movapd %xmm1, 0x9d0(%rsp)
movapd %xmm0, 0x9c0(%rsp)
movq 0x230(%rsp), %rsi
movq 0x238(%rsp), %rdx
leaq 0x10f8(%rsp), %rdi
callq 0x63f0
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x63f0
movq %r15, %rdi
callq 0x20422
movq %r13, %rdi
callq 0x6580
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x63f0
movq %r15, %rdi
callq 0x20428
movq %r13, %rdi
callq 0x6580
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x63f0
leaq 0x9d0(%rsp), %rdi
callq 0x20422
movq %r13, %rdi
callq 0x6580
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x63f0
leaq 0x9d0(%rsp), %rdi
callq 0x20428
movq %r13, %rdi
callq 0x6580
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x6370
movsbl %al, %esi
movq %r13, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6270
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x16c64
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x6390
incl %ebx
movq %r14, %r13
jmp 0x16af0
cmpq %r13, 0x120(%rsp)
je 0x17461
leaq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
movq %rax, (%rdi)
leaq 0xb33d(%rip), %rsi      # 0x21fd3
leaq 0xb33e(%rip), %rdx      # 0x21fdb
callq 0xa09a
leaq 0x5e0(%rsp), %rdi
leaq 0x230(%rsp), %rsi
callq 0x63c0
movq %rax, %rdi
callq 0x1ec66
leaq 0xbc8(%rsp), %rdi
movq %rax, %rsi
movl $0x10, %edx
callq 0x6700
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x16cf9
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0xfd0(%rsp), %rdi
callq 0x10db4
leaq 0xf8(%rsp), %rdi
movq %rax, %rsi
callq 0xf35c
leaq 0x98(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
addq %rsi, %rdx
leaq 0x88(%rsp), %rdi
callq 0x9f1a
leaq 0x5d0(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0xe11c
leaq 0xb4b9(%rip), %rsi      # 0x22216
leaq 0xf8(%rsp), %rdi
callq 0xe258
movq %rax, %rbx
leaq 0x5d0(%rsp), %r14
movq %r14, %rdi
callq 0xe5c8
movb (%rbx), %al
movb (%r14), %cl
movb %cl, (%rbx)
movb %al, (%r14)
movq 0x8(%rbx), %rax
movq 0x8(%r14), %rcx
movq %rcx, 0x8(%rbx)
movq %rax, 0x8(%r14)
movq %rbx, %rdi
callq 0xe5c8
movq %r14, %rdi
callq 0xe0aa
leaq 0x230(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x60d0
leaq 0x5c0(%rsp), %rdi
leaq 0x230(%rsp), %rsi
callq 0xe22c
leaq 0xb43e(%rip), %rsi      # 0x22216
leaq 0xf8(%rsp), %rdi
callq 0xe258
leaq 0xa628(%rip), %rsi      # 0x21414
movq %rax, %rdi
callq 0xe258
movq %rax, %rbx
leaq 0x5c0(%rsp), %r14
movq %r14, %rdi
callq 0xe5c8
movb (%rbx), %al
movb (%r14), %cl
movb %cl, (%rbx)
movb %al, (%r14)
movq 0x8(%rbx), %rax
movq 0x8(%r14), %rcx
movq %rcx, 0x8(%rbx)
movq %rax, 0x8(%r14)
movq %rbx, %rdi
callq 0xe5c8
movq %r14, %rdi
callq 0xe0aa
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x16e56
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0x230(%rsp), %rdi
leaq 0x8(%rsp), %rsi
movl $0x8, %edx
callq 0x6590
leaq 0x9c0(%rsp), %rdi
leaq 0x150(%rsp), %rsi
movl $0x8, %edx
callq 0x6590
movq 0x230(%rsp), %rax
movq -0x18(%rax), %rax
movq 0x318(%rsp,%rax), %rsi
leaq 0x38(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x28(%rsp), %rdi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
xorl %ecx, %ecx
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
callq 0x1ed00
leaq 0x5b0(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x19642
leaq 0xb342(%rip), %rsi      # 0x22216
leaq 0xf8(%rsp), %rdi
callq 0xe258
leaq 0xb338(%rip), %rsi      # 0x22220
movq %rax, %rdi
callq 0xe258
movq %rax, %r14
leaq 0x5b0(%rsp), %r15
movq %r15, %rdi
callq 0xe5c8
movb (%r14), %al
movb (%r15), %cl
movb %cl, (%r14)
movb %al, (%r15)
movq 0x8(%r14), %rax
movq 0x8(%r15), %rcx
movq %rcx, 0x8(%r14)
movq %rax, 0x8(%r15)
movq %r14, %rdi
callq 0xe5c8
movq %r15, %rdi
callq 0xe0aa
movq 0x28(%rsp), %rdi
cmpq %rbx, %rdi
je 0x16f46
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x6390
movq 0x9c0(%rsp), %rax
movq -0x18(%rax), %rax
movq 0xaa8(%rsp,%rax), %rsi
leaq 0x28(%rsp), %rdi
movq %rbx, (%rdi)
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
xorl %ecx, %ecx
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
callq 0x1ed00
leaq 0x5a0(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x19642
leaq 0xb289(%rip), %rsi      # 0x22216
leaq 0xf8(%rsp), %rdi
callq 0xe258
leaq 0xb28a(%rip), %rsi      # 0x2222b
movq %rax, %rdi
callq 0xe258
movq %rax, %r14
leaq 0x5a0(%rsp), %r15
movq %r15, %rdi
callq 0xe5c8
movb (%r14), %al
movb (%r15), %cl
movb %cl, (%r14)
movb %al, (%r15)
movq 0x8(%r14), %rax
movq 0x8(%r15), %rcx
movq %rcx, 0x8(%r14)
movq %rax, 0x8(%r15)
movq %r14, %rdi
callq 0xe5c8
movq %r15, %rdi
callq 0xe0aa
movq 0x28(%rsp), %rdi
cmpq %rbx, %rdi
je 0x16fff
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0x590(%rsp), %r14
movb $0x0, (%r14)
movq $0x0, 0x8(%r14)
movq %r14, %rdi
movsd 0x50(%rsp), %xmm0
callq 0x103ca
movq %r14, %rdi
callq 0xe5c8
leaq 0xafed(%rip), %rsi      # 0x2201d
leaq 0xf8(%rsp), %rdi
callq 0xe258
movq %rax, %r14
leaq 0x590(%rsp), %r15
movq %r15, %rdi
callq 0xe5c8
movb (%r14), %al
movb (%r15), %cl
movb %cl, (%r14)
movb %al, (%r15)
movq 0x8(%r14), %rax
movq 0x8(%r15), %rcx
movq %rcx, 0x8(%r14)
movq %rax, 0x8(%r15)
movq %r14, %rdi
callq 0xe5c8
movq %r15, %rdi
callq 0xe0aa
leaq 0xd8(%rsp), %rdi
movb $0x0, (%rdi)
movq $0x0, 0x8(%rdi)
leaq 0xa39a(%rip), %rsi      # 0x21430
callq 0xf91d
leaq 0xd8(%rsp), %rdi
callq 0xe5c8
leaq 0x680(%rsp), %rdi
callq 0x89fe
leaq 0xe8(%rsp), %r14
movb $0x0, (%r14)
movq $0x0, 0x8(%r14)
movq %r14, %rdi
callq 0x103ca
movq %r14, %rdi
callq 0xe5c8
leaq 0x28(%rsp), %r14
leaq 0xd8(%rsp), %rsi
movl $0x2, %edx
movq %r14, %rdi
movl $0x1, %ecx
movl $0x2, %r8d
callq 0xe11c
leaq 0xb8(%rsp), %rdi
movb $0x0, (%rdi)
movq $0x0, 0x8(%rdi)
leaq 0xa31e(%rip), %rsi      # 0x21436
callq 0xf9b0
leaq 0xb8(%rsp), %rdi
callq 0xe5c8
leaq 0x680(%rsp), %rdi
callq 0x8a04
leaq 0xc8(%rsp), %r14
movb $0x0, (%r14)
movq $0x0, 0x8(%r14)
movq %r14, %rdi
callq 0x103ca
movq %r14, %rdi
callq 0xe5c8
leaq 0xb8(%rsp), %rsi
movl $0x2, %edx
movq %rbx, %rdi
movl $0x1, %ecx
movl $0x2, %r8d
callq 0xe11c
leaq 0x580(%rsp), %rdi
leaq 0x28(%rsp), %rsi
movl $0x2, %edx
movl $0x1, %ecx
movl $0x2, %r8d
callq 0xe11c
leaq 0xb090(%rip), %rsi      # 0x22234
leaq 0xf8(%rsp), %rdi
callq 0xe258
movq %rax, %r14
leaq 0x580(%rsp), %rbx
movq %rbx, %rdi
callq 0xe5c8
movb (%r14), %al
movb (%rbx), %cl
movb %cl, (%r14)
movb %al, (%rbx)
movq 0x8(%r14), %rax
movq 0x8(%rbx), %rcx
movq %rcx, 0x8(%r14)
movq %rax, 0x8(%rbx)
movq %r14, %rdi
callq 0xe5c8
movq %rbx, %rdi
callq 0xe0aa
movl $0x10, %ebx
leaq (%rsp,%rbx), %rdi
addq $0x28, %rdi
callq 0xe0aa
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0x171f3
movl $0x10, %ebx
leaq (%rsp,%rbx), %rdi
addq $0xb8, %rdi
callq 0xe0aa
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0x1720f
movl $0x10, %ebx
leaq (%rsp,%rbx), %rdi
addq $0xd8, %rdi
callq 0xe0aa
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0x1722e
leaq 0x570(%rsp), %rbx
movb $0x5, (%rbx)
movq 0x58(%rsp), %rax
movq %rax, 0x8(%rbx)
movq %rbx, %rdi
callq 0xe5c8
movq %rbx, %rdi
callq 0xe5c8
leaq 0xad05(%rip), %rsi      # 0x21f78
leaq 0xf8(%rsp), %rdi
callq 0xe258
movq %rax, %rbx
leaq 0x570(%rsp), %r14
movq %r14, %rdi
callq 0xe5c8
movb (%rbx), %al
movb (%r14), %cl
movb %cl, (%rbx)
movb %al, (%r14)
movq 0x8(%rbx), %rax
movq 0x8(%r14), %rcx
movq %rcx, 0x8(%rbx)
movq %rax, 0x8(%r14)
movq %rbx, %rdi
callq 0xe5c8
movq %r14, %rdi
callq 0xe0aa
movq (%rsp), %rdi
callq 0xaf56
leaq 0x560(%rsp), %rdi
movq %rax, %rsi
callq 0xf35c
leaq 0xaf5f(%rip), %rsi      # 0x2223c
leaq 0xf8(%rsp), %rdi
callq 0xe258
movq %rax, %rbx
leaq 0x560(%rsp), %r14
movq %r14, %rdi
callq 0xe5c8
movb (%rbx), %al
movb (%r14), %cl
movb %cl, (%rbx)
movb %al, (%r14)
movq 0x8(%rbx), %rax
movq 0x8(%r14), %rcx
movq %rcx, 0x8(%rbx)
movq %rax, 0x8(%r14)
movq %rbx, %rdi
callq 0xe5c8
movq %r14, %rdi
callq 0xe0aa
leaq 0x550(%rsp), %rbx
movb $0x0, (%rbx)
movq $0x0, 0x8(%rbx)
movq %rbx, %rdi
movsd 0x80(%rsp), %xmm0
callq 0x103ca
movq %rbx, %rdi
callq 0xe5c8
leaq 0xaef0(%rip), %rsi      # 0x2224a
leaq 0xf8(%rsp), %rdi
callq 0xe258
movq %rax, %rbx
leaq 0x550(%rsp), %r14
movq %r14, %rdi
callq 0xe5c8
movb (%rbx), %al
movb (%r14), %cl
movb %cl, (%rbx)
movb %al, (%r14)
movq 0x8(%rbx), %rax
movq 0x8(%r14), %rcx
movq %rcx, 0x8(%rbx)
movq %rax, 0x8(%r14)
movq %rbx, %rdi
callq 0xe5c8
movq %r14, %rdi
callq 0xe0aa
leaq 0xbc8(%rsp), %rsi
movq (%rsi), %rax
movq -0x18(%rax), %rax
movq 0xbd8(%rsp,%rax), %rcx
xorl %edi, %edi
xorl %edx, %edx
testq %rcx, %rcx
setg %dl
cmovleq %rdi, %rcx
movq $0x0, 0xbd8(%rsp,%rax)
leaq 0xf8(%rsp), %rdi
xorl %r8d, %r8d
callq 0x1f088
leaq 0x9c0(%rsp), %rdi
callq 0x60f0
leaq 0x230(%rsp), %rdi
callq 0x60f0
movq 0x88(%rsp), %rdi
cmpq %r12, %rdi
je 0x1741c
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0xf8(%rsp), %rdi
callq 0xe0aa
movq 0x15b50(%rip), %rax     # 0x2cf80
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq 0xbd0(%rsp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, 0xbc8(%rsp,%rcx)
callq 0x62f0
leaq 0xcc0(%rsp), %rdi
callq 0x6140
leaq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
movq %rax, (%rdi)
leaq 0xab7a(%rip), %rsi      # 0x21ff5
leaq 0xab81(%rip), %rdx      # 0x22003
callq 0xa09a
leaq 0x230(%rsp), %rsi
leaq 0x5f0(%rsp), %rdi
callq 0x1e770
movq %rax, %rbx
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x174c4
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x6390
cmpq %r13, %rbx
je 0x18476
leaq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
movq %rax, (%rdi)
leaq 0xab0e(%rip), %rsi      # 0x21ff5
leaq 0xab15(%rip), %rdx      # 0x22003
callq 0xa09a
leaq 0x5e0(%rsp), %rdi
leaq 0x230(%rsp), %rsi
callq 0x63c0
movq %rax, %rdi
callq 0x1ec66
leaq 0xbc8(%rsp), %rdi
movq %rax, %rsi
movl $0x10, %edx
callq 0x6700
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x1754a
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0x68(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0xe11c
leaq 0x38(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
addq %rsi, %rdx
leaq 0x28(%rsp), %rdi
callq 0x9f1a
leaq 0x540(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0xe11c
leaq 0xac76(%rip), %rsi      # 0x22216
leaq 0x68(%rsp), %rdi
callq 0xe258
movq %rax, %rbx
leaq 0x540(%rsp), %r14
movq %r14, %rdi
callq 0xe5c8
movb (%rbx), %al
movb (%r14), %cl
movb %cl, (%rbx)
movb %al, (%r14)
movq 0x8(%rbx), %rax
movq 0x8(%r14), %rcx
movq %rcx, 0x8(%rbx)
movq %rax, 0x8(%r14)
movq %rbx, %rdi
callq 0xe5c8
movq %r14, %rdi
callq 0xe0aa
leaq 0x230(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x60d0
leaq 0x530(%rsp), %rdi
leaq 0x230(%rsp), %rsi
callq 0xe22c
leaq 0xac01(%rip), %rsi      # 0x22216
leaq 0x68(%rsp), %rdi
callq 0xe258
leaq 0x9dee(%rip), %rsi      # 0x21414
movq %rax, %rdi
callq 0xe258
movq %rax, %rbx
leaq 0x530(%rsp), %r14
movq %r14, %rdi
callq 0xe5c8
movb (%rbx), %al
movb (%r14), %cl
movb %cl, (%rbx)
movb %al, (%r14)
movq 0x8(%rbx), %rax
movq 0x8(%r14), %rcx
movq %rcx, 0x8(%rbx)
movq %rax, 0x8(%r14)
movq %rbx, %rdi
callq 0xe5c8
movq %r14, %rdi
callq 0xe0aa
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x17690
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0x230(%rsp), %rdi
leaq 0x8(%rsp), %rsi
movl $0x8, %edx
callq 0x6590
leaq 0x9c0(%rsp), %rdi
leaq 0x150(%rsp), %rsi
movl $0x8, %edx
callq 0x6590
movq 0x230(%rsp), %rax
movq -0x18(%rax), %rax
movq 0x318(%rsp,%rax), %rsi
leaq 0x98(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x88(%rsp), %rdi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
xorl %ecx, %ecx
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
callq 0x1ed00
leaq 0x520(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x19642
leaq 0xaaff(%rip), %rsi      # 0x22216
leaq 0x68(%rsp), %rdi
callq 0xe258
leaq 0xaaf8(%rip), %rsi      # 0x22220
movq %rax, %rdi
callq 0xe258
movq %rax, %r14
leaq 0x520(%rsp), %r15
movq %r15, %rdi
callq 0xe5c8
movb (%r14), %al
movb (%r15), %cl
movb %cl, (%r14)
movb %al, (%r15)
movq 0x8(%r14), %rax
movq 0x8(%r15), %rcx
movq %rcx, 0x8(%r14)
movq %rax, 0x8(%r15)
movq %r14, %rdi
callq 0xe5c8
movq %r15, %rdi
callq 0xe0aa
movq 0x88(%rsp), %rdi
cmpq %rbx, %rdi
je 0x1778c
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x6390
movq 0x9c0(%rsp), %rax
movq -0x18(%rax), %rax
movq 0xaa8(%rsp,%rax), %rsi
leaq 0x88(%rsp), %rdi
movq %rbx, (%rdi)
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
xorl %ecx, %ecx
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
callq 0x1ed00
leaq 0x510(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x19642
leaq 0xaa3d(%rip), %rsi      # 0x22216
leaq 0x68(%rsp), %rdi
callq 0xe258
leaq 0xaa41(%rip), %rsi      # 0x2222b
movq %rax, %rdi
callq 0xe258
movq %rax, %r14
leaq 0x510(%rsp), %r15
movq %r15, %rdi
callq 0xe5c8
movb (%r14), %al
movb (%r15), %cl
movb %cl, (%r14)
movb %al, (%r15)
movq 0x8(%r14), %rax
movq 0x8(%r15), %rcx
movq %rcx, 0x8(%r14)
movq %rax, 0x8(%r15)
movq %r14, %rdi
callq 0xe5c8
movq %r15, %rdi
callq 0xe0aa
movq 0x88(%rsp), %rdi
cmpq %rbx, %rdi
je 0x1784e
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0x500(%rsp), %r14
movb $0x0, (%r14)
movq $0x0, 0x8(%r14)
movq %r14, %rdi
movsd 0x50(%rsp), %xmm0
callq 0x103ca
movq %r14, %rdi
callq 0xe5c8
leaq 0xa79e(%rip), %rsi      # 0x2201d
leaq 0x68(%rsp), %rdi
callq 0xe258
movq %rax, %r14
leaq 0x500(%rsp), %r15
movq %r15, %rdi
callq 0xe5c8
movb (%r14), %al
movb (%r15), %cl
movb %cl, (%r14)
movb %al, (%r15)
movq 0x8(%r14), %rax
movq 0x8(%r15), %rcx
movq %rcx, 0x8(%r14)
movq %rax, 0x8(%r15)
movq %r14, %rdi
callq 0xe5c8
movq %r15, %rdi
callq 0xe0aa
leaq 0xd8(%rsp), %rdi
movb $0x0, (%rdi)
movq $0x0, 0x8(%rdi)
leaq 0x9b4e(%rip), %rsi      # 0x21430
callq 0xf91d
leaq 0xd8(%rsp), %rdi
callq 0xe5c8
leaq 0x680(%rsp), %rdi
callq 0x89fe
leaq 0xe8(%rsp), %r14
movb $0x0, (%r14)
movq $0x0, 0x8(%r14)
movq %r14, %rdi
callq 0x103ca
movq %r14, %rdi
callq 0xe5c8
leaq 0x88(%rsp), %r14
leaq 0xd8(%rsp), %rsi
movl $0x2, %edx
movq %r14, %rdi
movl $0x1, %ecx
movl $0x2, %r8d
callq 0xe11c
leaq 0xb8(%rsp), %rdi
movb $0x0, (%rdi)
movq $0x0, 0x8(%rdi)
leaq 0x9acf(%rip), %rsi      # 0x21436
callq 0xf9b0
leaq 0xb8(%rsp), %rdi
callq 0xe5c8
leaq 0x680(%rsp), %rdi
callq 0x8a04
leaq 0xc8(%rsp), %r14
movb $0x0, (%r14)
movq $0x0, 0x8(%r14)
movq %r14, %rdi
callq 0x103ca
movq %r14, %rdi
callq 0xe5c8
leaq 0xb8(%rsp), %rsi
movl $0x2, %edx
movq %rbx, %rdi
movl $0x1, %ecx
movl $0x2, %r8d
callq 0xe11c
leaq 0x4f0(%rsp), %rdi
leaq 0x88(%rsp), %rsi
movl $0x2, %edx
movl $0x1, %ecx
movl $0x2, %r8d
callq 0xe11c
leaq 0xa83e(%rip), %rsi      # 0x22234
leaq 0x68(%rsp), %rdi
callq 0xe258
movq %rax, %r14
leaq 0x4f0(%rsp), %rbx
movq %rbx, %rdi
callq 0xe5c8
movb (%r14), %al
movb (%rbx), %cl
movb %cl, (%r14)
movb %al, (%rbx)
movq 0x8(%r14), %rax
movq 0x8(%rbx), %rcx
movq %rcx, 0x8(%r14)
movq %rax, 0x8(%rbx)
movq %r14, %rdi
callq 0xe5c8
movq %rbx, %rdi
callq 0xe0aa
movl $0x10, %ebx
leaq (%rsp,%rbx), %rdi
addq $0x88, %rdi
callq 0xe0aa
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0x17a42
movl $0x10, %ebx
leaq (%rsp,%rbx), %rdi
addq $0xb8, %rdi
callq 0xe0aa
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0x17a61
movl $0x10, %ebx
leaq (%rsp,%rbx), %rdi
addq $0xd8, %rdi
callq 0xe0aa
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0x17a80
leaq 0x4e0(%rsp), %rbx
movb $0x5, (%rbx)
movq 0x58(%rsp), %rax
movq %rax, 0x8(%rbx)
movq %rbx, %rdi
callq 0xe5c8
movq %rbx, %rdi
callq 0xe5c8
leaq 0xa4b3(%rip), %rsi      # 0x21f78
leaq 0x68(%rsp), %rdi
callq 0xe258
movq %rax, %rbx
leaq 0x4e0(%rsp), %r14
movq %r14, %rdi
callq 0xe5c8
movb (%rbx), %al
movb (%r14), %cl
movb %cl, (%rbx)
movb %al, (%r14)
movq 0x8(%rbx), %rax
movq 0x8(%r14), %rcx
movq %rcx, 0x8(%rbx)
movq %rax, 0x8(%r14)
movq %rbx, %rdi
callq 0xe5c8
movq %r14, %rdi
callq 0xe0aa
leaq 0x4d0(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0xe11c
leaq 0xa710(%rip), %rsi      # 0x2223c
leaq 0x68(%rsp), %rdi
callq 0xe258
movq %rax, %rbx
leaq 0x4d0(%rsp), %r14
movq %r14, %rdi
callq 0xe5c8
movb (%rbx), %al
movb (%r14), %cl
movb %cl, (%rbx)
movb %al, (%r14)
movq 0x8(%rbx), %rax
movq 0x8(%r14), %rcx
movq %rcx, 0x8(%rbx)
movq %rax, 0x8(%r14)
movq %rbx, %rdi
callq 0xe5c8
movq %r14, %rdi
callq 0xe0aa
leaq 0xa6c2(%rip), %rsi      # 0x2223c
leaq 0x68(%rsp), %rdi
callq 0xe258
movq %rax, 0x48(%rsp)
leaq 0x4c0(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
movl $0x2, %r8d
callq 0xe11c
leaq 0x9864(%rip), %rsi      # 0x2140d
movq 0x48(%rsp), %rdi
callq 0xe258
movq %rax, %rbx
leaq 0x4c0(%rsp), %r14
movq %r14, %rdi
callq 0xe5c8
movb (%rbx), %al
movb (%r14), %cl
movb %cl, (%rbx)
movb %al, (%r14)
movq 0x8(%rbx), %rax
movq 0x8(%r14), %rcx
movq %rcx, 0x8(%rbx)
movq %rax, 0x8(%r14)
movq %rbx, %rdi
callq 0xe5c8
movq %r14, %rdi
callq 0xe0aa
leaq 0x98(%rsp), %rax
movq %rax, 0x60(%rsp)
leaq 0x108(%rsp), %r15
leaq 0xa8(%rsp), %rax
movq %rax, 0x78(%rsp)
leaq 0x220(%rsp), %rbx
xorl %r12d, %r12d
leaq 0x680(%rsp), %r14
leaq 0x88(%rsp), %rbp
movq %r14, %rdi
callq 0x8a44
cmpl %eax, %r12d
jge 0x1815c
movq %r14, %rdi
movl %r12d, %esi
callq 0x8a80
movq %rax, %r14
movq (%rsp), %rdi
movl %r12d, 0x50(%rsp)
movl %r12d, %esi
callq 0xaf86
movq %rax, %r12
movq %r14, %rdi
callq 0x1589e
movq %rax, %r14
movq 0x48(%rsp), %rdi
leaq 0x9796(%rip), %rsi      # 0x2140d
callq 0xe258
movq %rax, 0x58(%rsp)
movb $0x0, 0xd8(%rsp)
movq $0x0, 0xe0(%rsp)
leaq 0xd8(%rsp), %r13
movq %r13, %rdi
leaq 0x976d(%rip), %rsi      # 0x21414
callq 0xedc3
movq %r13, %rdi
callq 0xe5c8
leaq 0xe8(%rsp), %rdi
movq %r14, %rsi
callq 0xe22c
movl $0x2, %edx
movq %rbp, %rdi
movq %r13, %rsi
movl $0x1, %ecx
movl $0x2, %r8d
callq 0xe11c
leaq 0xb8(%rsp), %r14
movb $0x0, 0xb8(%rsp)
movq $0x0, 0xc0(%rsp)
movq %r14, %rdi
leaq 0x9714(%rip), %rsi      # 0x21419
callq 0x102a4
movq %r14, %rdi
callq 0xe5c8
movb $0x0, 0x1d0(%rsp)
movq $0x0, 0x1d8(%rsp)
leaq 0x1d0(%rsp), %r13
movq %r13, %rdi
leaq 0x96eb(%rip), %rsi      # 0x21423
callq 0x10337
movq %r13, %rdi
callq 0xe5c8
movq %r12, %rdi
callq 0x20422
movb $0x0, 0x1e0(%rsp)
movq $0x0, 0x1e8(%rsp)
leaq 0x1e0(%rsp), %r14
movq %r14, %rdi
callq 0x103ca
movq %r14, %rdi
callq 0xe5c8
movl $0x2, %edx
leaq 0xf8(%rsp), %rdi
movq %r13, %rsi
movl $0x1, %ecx
movl $0x2, %r8d
callq 0xe11c
movb $0x0, 0x1b0(%rsp)
movq $0x0, 0x1b8(%rsp)
leaq 0x1b0(%rsp), %r14
movq %r14, %rdi
leaq 0x9902(%rip), %rsi      # 0x216c1
callq 0x10337
movq %r14, %rdi
callq 0xe5c8
movq %r12, %rdi
callq 0x20428
movq %r14, %r13
movb $0x0, 0x1c0(%rsp)
movq $0x0, 0x1c8(%rsp)
leaq 0x1c0(%rsp), %r14
movq %r14, %rdi
callq 0x103ca
movq %r14, %rdi
callq 0xe5c8
movl $0x2, %edx
movq %r15, %rdi
movq %r13, %rsi
movl $0x1, %ecx
movl $0x2, %r8d
callq 0xe11c
movl $0x2, %edx
leaq 0xc8(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
movl $0x1, %ecx
movl $0x2, %r8d
callq 0xe11c
leaq 0xb8(%rsp), %rsi
leaq 0x1f0(%rsp), %r13
leaq 0x190(%rsp), %r14
movl $0x2, %edx
leaq 0x98(%rsp), %rdi
movl $0x1, %ecx
movl $0x2, %r8d
callq 0xe11c
movb $0x0, 0x1f0(%rsp)
movq $0x0, 0x1f8(%rsp)
movq %r13, %rdi
leaq 0x958f(%rip), %rsi      # 0x21425
callq 0x10452
movq %r13, %rdi
callq 0xe5c8
movb $0x0, 0x190(%rsp)
movq $0x0, 0x198(%rsp)
movq %r14, %rdi
leaq 0x9562(%rip), %rsi      # 0x21423
callq 0x10337
addq $0x10, %r12
movq %r14, %rdi
callq 0xe5c8
movq %r12, %rdi
callq 0x20422
movq %r14, %r13
movb $0x0, 0x1a0(%rsp)
movq $0x0, 0x1a8(%rsp)
leaq 0x1a0(%rsp), %r14
movq %r14, %rdi
callq 0x103ca
movq %r14, %rdi
callq 0xe5c8
movl $0x2, %edx
leaq 0x210(%rsp), %rdi
movq %r13, %rsi
movl $0x1, %ecx
movl $0x2, %r8d
callq 0xe11c
movb $0x0, 0x170(%rsp)
movq $0x0, 0x178(%rsp)
leaq 0x170(%rsp), %r13
movq %r13, %rdi
leaq 0x9772(%rip), %rsi      # 0x216c1
callq 0x10337
movq %r13, %rdi
callq 0xe5c8
movq %r12, %rdi
callq 0x20428
movb $0x0, 0x180(%rsp)
movq $0x0, 0x188(%rsp)
leaq 0x180(%rsp), %r14
movq %r14, %rdi
callq 0x103ca
movq %r14, %rdi
callq 0xe5c8
movl $0x2, %edx
movq %rbx, %rdi
movq %r13, %rsi
movl $0x1, %ecx
movl $0x2, %r8d
callq 0xe11c
movl 0x50(%rsp), %r12d
movl $0x2, %edx
leaq 0x200(%rsp), %rdi
leaq 0x210(%rsp), %rsi
movl $0x1, %ecx
movl $0x2, %r8d
callq 0xe11c
leaq 0x1f0(%rsp), %rsi
movl $0x2, %edx
leaq 0xa8(%rsp), %rdi
movl $0x1, %ecx
movl $0x2, %r8d
callq 0xe11c
movl $0x3, %edx
movq 0x58(%rsp), %rdi
movq %rbp, %rsi
callq 0xe3de
movl $0x20, %r14d
leaq (%rsp,%r14), %rdi
addq $0x88, %rdi
callq 0xe0aa
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0x18012
movl $0x10, %r14d
leaq (%rsp,%r14), %rdi
addq $0x1f0, %rdi            # imm = 0x1F0
callq 0xe0aa
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0x18032
movl $0x10, %r14d
leaq (%rsp,%r14), %rdi
addq $0x210, %rdi            # imm = 0x210
callq 0xe0aa
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0x18052
movl $0x10, %r14d
leaq (%rsp,%r14), %rdi
addq $0x170, %rdi            # imm = 0x170
callq 0xe0aa
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0x18072
movl $0x10, %r14d
leaq (%rsp,%r14), %rdi
addq $0x190, %rdi            # imm = 0x190
callq 0xe0aa
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0x18092
movl $0x10, %r14d
leaq (%rsp,%r14), %rdi
addq $0xb8, %rdi
callq 0xe0aa
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0x180b2
movl $0x10, %r14d
leaq (%rsp,%r14), %rdi
addq $0xf8, %rdi
callq 0xe0aa
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0x180d2
movl $0x10, %r14d
leaq (%rsp,%r14), %rdi
addq $0x1b0, %rdi            # imm = 0x1B0
callq 0xe0aa
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0x180f2
movl $0x10, %r14d
leaq (%rsp,%r14), %rdi
addq $0x1d0, %rdi            # imm = 0x1D0
callq 0xe0aa
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0x18112
movl $0x10, %r14d
leaq (%rsp,%r14), %rdi
addq $0xd8, %rdi
callq 0xe0aa
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0x18132
incl %r12d
leaq 0x680(%rsp), %r14
jmp 0x17c2d
movq (%rsp), %rdi
callq 0xaf68
leaq 0x4b0(%rsp), %rbx
movb $0x0, (%rbx)
movq $0x0, 0x8(%rbx)
movq %rbx, %rdi
callq 0x103ca
movq %rbx, %rdi
callq 0xe5c8
leaq 0x92a1(%rip), %rsi      # 0x21430
movq 0x48(%rsp), %rdi
callq 0xe258
movq %rax, %rbx
leaq 0x4b0(%rsp), %r14
movq %r14, %rdi
callq 0xe5c8
movb (%rbx), %al
movb (%r14), %cl
movb %cl, (%rbx)
movb %al, (%r14)
movq 0x8(%rbx), %rax
movq 0x8(%r14), %rcx
movq %rcx, 0x8(%rbx)
movq %rax, 0x8(%r14)
movq %rbx, %rdi
callq 0xe5c8
movq %r14, %rdi
callq 0xe0aa
movq (%rsp), %rdi
callq 0xaf6e
leaq 0x4a0(%rsp), %rbx
movb $0x0, (%rbx)
movq $0x0, 0x8(%rbx)
movq %rbx, %rdi
callq 0x103ca
movq %rbx, %rdi
callq 0xe5c8
leaq 0x922d(%rip), %rsi      # 0x21436
movq 0x48(%rsp), %rdi
callq 0xe258
movq %rax, %rbx
leaq 0x4a0(%rsp), %r14
movq %r14, %rdi
callq 0xe5c8
movb (%rbx), %al
movb (%r14), %cl
movb %cl, (%rbx)
movb %al, (%r14)
movq 0x8(%rbx), %rax
movq 0x8(%r14), %rcx
movq %rcx, 0x8(%rbx)
movq %rax, 0x8(%r14)
movq %rbx, %rdi
callq 0xe5c8
movq %r14, %rdi
callq 0xe0aa
movq (%rsp), %rdi
callq 0xaf74
leaq 0x490(%rsp), %rbx
movb $0x0, (%rbx)
movq $0x0, 0x8(%rbx)
movq %rbx, %rdi
callq 0x103ca
movq %rbx, %rdi
callq 0xe5c8
leaq 0x91ba(%rip), %rsi      # 0x2143d
movq 0x48(%rsp), %rdi
callq 0xe258
movq %rax, %rbx
leaq 0x490(%rsp), %r14
movq %r14, %rdi
callq 0xe5c8
movb (%rbx), %al
movb (%r14), %cl
movb %cl, (%rbx)
movb %al, (%r14)
movq 0x8(%rbx), %rax
movq 0x8(%r14), %rcx
movq %rcx, 0x8(%rbx)
movq %rax, 0x8(%r14)
movq %rbx, %rdi
callq 0xe5c8
movq %r14, %rdi
callq 0xe0aa
movq (%rsp), %rdi
callq 0xaf80
leaq 0x480(%rsp), %rbx
movb $0x0, (%rbx)
movq $0x0, 0x8(%rbx)
movq %rbx, %rdi
callq 0x103ca
movq %rbx, %rdi
callq 0xe5c8
leaq 0x9145(%rip), %rsi      # 0x21442
movq 0x48(%rsp), %rdi
callq 0xe258
movq %rax, %rbx
leaq 0x480(%rsp), %r14
movq %r14, %rdi
callq 0xe5c8
movb (%rbx), %al
movb (%r14), %cl
movb %cl, (%rbx)
movb %al, (%r14)
movq 0x8(%rbx), %rax
movq 0x8(%r14), %rcx
movq %rcx, 0x8(%rbx)
movq %rax, 0x8(%r14)
movq %rbx, %rdi
callq 0xe5c8
movq %r14, %rdi
callq 0xe0aa
leaq 0x470(%rsp), %rbx
movb $0x0, (%rbx)
movq $0x0, 0x8(%rbx)
movq %rbx, %rdi
movsd 0x80(%rsp), %xmm0
callq 0x103ca
movq %rbx, %rdi
callq 0xe5c8
leaq 0x9ed3(%rip), %rsi      # 0x2224a
leaq 0x68(%rsp), %rdi
callq 0xe258
movq %rax, %rbx
leaq 0x470(%rsp), %r14
movq %r14, %rdi
callq 0xe5c8
movb (%rbx), %al
movb (%r14), %cl
movb %cl, (%rbx)
movb %al, (%r14)
movq 0x8(%rbx), %rax
movq 0x8(%r14), %rcx
movq %rcx, 0x8(%rbx)
movq %rax, 0x8(%r14)
movq %rbx, %rdi
callq 0xe5c8
movq %r14, %rdi
callq 0xe0aa
leaq 0xbc8(%rsp), %rsi
movq (%rsi), %rax
movq -0x18(%rax), %rax
movq 0xbd8(%rsp,%rax), %rcx
xorl %edi, %edi
xorl %edx, %edx
testq %rcx, %rcx
setg %dl
cmovleq %rdi, %rcx
movq $0x0, 0xbd8(%rsp,%rax)
leaq 0x68(%rsp), %rdi
xorl %r8d, %r8d
callq 0x1f088
leaq 0x9c0(%rsp), %rdi
callq 0x60f0
leaq 0x230(%rsp), %rdi
callq 0x60f0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x18432
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0x68(%rsp), %rdi
callq 0xe0aa
movq 0x14b3d(%rip), %rax     # 0x2cf80
movq (%rax), %rbx
movq 0x18(%rax), %r14
leaq 0xbd0(%rsp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r14, 0xbc8(%rsp,%rax)
callq 0x62f0
leaq 0xcc0(%rsp), %rdi
callq 0x6140
jmp 0x18484
movq 0x14b03(%rip), %rax     # 0x2cf80
movq (%rax), %rbx
movq 0x18(%rax), %r14
leaq 0x1100(%rsp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r14, 0x10f8(%rsp,%rax)
callq 0x62f0
leaq 0x11f0(%rsp), %rdi
callq 0x6140
leaq 0xfd0(%rsp), %rdi
callq 0x1966e
movq 0x130(%rsp), %rdi
leaq 0x140(%rsp), %rax
cmpq %rax, %rdi
je 0x184e0
movq 0x140(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0x708(%rsp), %rdi
callq 0x9ac2
leaq 0x6d8(%rsp), %rdi
callq 0x9ac2
leaq 0x6c0(%rsp), %rdi
callq 0x985a
leaq 0x6a8(%rsp), %rdi
callq 0x98ae
leaq 0x690(%rsp), %rdi
callq 0x990c
leaq 0xdc8(%rsp), %rdi
callq 0x60f0
leaq 0x7b8(%rsp), %rdi
callq 0x60f0
movq 0x150(%rsp), %rdi
leaq 0x160(%rsp), %rax
cmpq %rax, %rdi
leaq 0x18(%rsp), %rbx
je 0x18565
movq 0x160(%rsp), %rsi
incq %rsi
callq 0x6390
movq 0x8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x1857c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6390
xorl %ebx, %ebx
movq 0x14a33(%rip), %rax     # 0x2cfb8
addq $0x10, %rax
leaq 0x650(%rsp), %rdi
movq %rax, -0x70(%rdi)
callq 0x19904
leaq 0x620(%rsp), %rdi
callq 0x19996
leaq 0x5f0(%rsp), %rdi
callq 0x19a0e
leaq 0x460(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x185d5
movq 0x460(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0x438(%rsp), %rdi
callq 0x9cd2
leaq 0x7a0(%rsp), %r14
movq %r14, %rdi
callq 0x19ad2
movq -0x28(%r14), %rdi
testq %rdi, %rdi
je 0x18633
movq 0x798(%rsp), %rsi
subq %rdi, %rsi
callq 0x6390
xorl %eax, %eax
movq %rax, 0x778(%rsp)
movl %eax, 0x780(%rsp)
movq %rax, 0x788(%rsp)
movl %eax, 0x790(%rsp)
movq %rax, 0x798(%rsp)
leaq 0x760(%rsp), %r14
movq %r14, %rdi
callq 0x19b1a
movq -0x28(%r14), %rdi
leaq 0x748(%rsp), %rax
cmpq %rax, %rdi
je 0x18664
movq 0x748(%rsp), %rsi
incq %rsi
callq 0x6390
movl %ebx, %eax
addq $0x12f8, %rsp           # imm = 0x12F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r15
leaq 0x470(%rsp), %rdi
jmp 0x187fd
movq %rax, %r15
leaq 0x480(%rsp), %rdi
jmp 0x187fd
jmp 0x192a6
movq %rax, %r15
leaq 0x490(%rsp), %rdi
jmp 0x187fd
jmp 0x192a6
movq %rax, %r15
leaq 0x4a0(%rsp), %rdi
jmp 0x187fd
jmp 0x192a6
movq %rax, %r15
leaq 0x4b0(%rsp), %rdi
jmp 0x187fd
jmp 0x192a6
movq %rax, %r15
leaq 0x4c0(%rsp), %rdi
jmp 0x187fd
movq %rax, %r15
leaq 0x4d0(%rsp), %rdi
jmp 0x187fd
jmp 0x192a6
movq %rax, %r15
leaq 0x4e0(%rsp), %rdi
jmp 0x187fd
movq %rax, %r15
leaq 0x4f0(%rsp), %rdi
callq 0xe0aa
jmp 0x18726
movq %rax, %r15
movl $0x10, %r14d
leaq (%rsp,%r14), %rdi
addq $0x88, %rdi
callq 0xe0aa
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0x1872c
movb $0x1, %bpl
jmp 0x18750
movq %rax, %r15
xorl %ebp, %ebp
movl $0x10, %r14d
leaq (%rsp,%r14), %rdi
addq $0xb8, %rdi
callq 0xe0aa
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0x18756
jmp 0x18793
movq %rax, %r15
leaq 0xb8(%rsp), %rdi
callq 0xe0aa
jmp 0x18787
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x18793
movq %rax, %r15
xorl %ebp, %ebp
movq %r14, %rbx
movl $0x10, %r14d
leaq (%rsp,%r14), %rdi
addq $0xd8, %rdi
callq 0xe0aa
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0x18799
leaq 0x88(%rsp), %r14
cmpq %rbx, %r14
sete %al
orb %al, %bpl
jne 0x192a9
addq $-0x10, %rbx
movq %rbx, %rdi
callq 0xe0aa
cmpq %r14, %rbx
jne 0x187ca
jmp 0x192a9
movq %rax, %r15
leaq 0xd8(%rsp), %rdi
jmp 0x187fd
jmp 0x192a6
movq %rax, %r15
leaq 0x500(%rsp), %rdi
callq 0xe0aa
jmp 0x192a9
jmp 0x1880e
jmp 0x192a6
movq %rax, %r15
jmp 0x18acc
jmp 0x192a6
movq %rax, %r15
leaq 0x18(%rsp), %rbx
leaq 0x38(%rsp), %r14
jmp 0x192c0
jmp 0x18857
movq %rax, %r15
leaq 0x550(%rsp), %rdi
jmp 0x18996
movq %rax, %r15
leaq 0x560(%rsp), %rdi
jmp 0x18996
movq %rax, %r15
jmp 0x18b02
movq %rax, %r15
jmp 0x18b27
movq %rax, %r15
leaq 0x540(%rsp), %rdi
callq 0xe0aa
jmp 0x18b27
movq %rax, %r15
leaq 0x570(%rsp), %rdi
jmp 0x18996
movq %rax, %r15
leaq 0x18(%rsp), %rbx
jmp 0x192cd
movq %rax, %r15
leaq 0x580(%rsp), %rdi
callq 0xe0aa
jmp 0x188b3
movq %rax, %r15
leaq 0x18(%rsp), %rbx
jmp 0x192e4
movq %rax, %r15
movl $0x10, %r14d
leaq (%rsp,%r14), %rdi
addq $0x28, %rdi
callq 0xe0aa
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0x188b9
movb $0x1, %bpl
jmp 0x188e7
movq %rax, %r15
leaq 0x18(%rsp), %rbx
jmp 0x192ee
movq %rax, %r15
xorl %ebp, %ebp
movl $0x10, %r14d
leaq (%rsp,%r14), %rdi
addq $0xb8, %rdi
callq 0xe0aa
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0x188ed
jmp 0x1892a
movq %rax, %r15
leaq 0xb8(%rsp), %rdi
callq 0xe0aa
jmp 0x1891e
movq %rax, %r15
xorl %ebp, %ebp
jmp 0x1892a
movq %rax, %r15
xorl %ebp, %ebp
movq %r14, %rbx
movl $0x10, %r14d
leaq (%rsp,%r14), %rdi
addq $0xd8, %rdi
callq 0xe0aa
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0x18930
leaq 0x28(%rsp), %r14
cmpq %rbx, %r14
sete %al
orb %al, %bpl
jne 0x18bf8
addq $-0x10, %rbx
movq %rbx, %rdi
callq 0xe0aa
cmpq %r14, %rbx
jne 0x1895e
jmp 0x18bf8
jmp 0x19307
movq %rax, %r15
leaq 0xd8(%rsp), %rdi
jmp 0x18996
jmp 0x18bf5
movq %rax, %r15
leaq 0x590(%rsp), %rdi
callq 0xe0aa
jmp 0x18bf8
jmp 0x189a7
jmp 0x18bf5
movq %rax, %r15
jmp 0x18b53
jmp 0x18bf5
movq %rax, %r15
jmp 0x18c05
jmp 0x189dd
movq %rax, %r15
jmp 0x18b83
jmp 0x189dd
movq %rax, %r15
leaq 0x5d0(%rsp), %rdi
callq 0xe0aa
jmp 0x18c12
movq %rax, %r15
jmp 0x18c12
movq %rax, %r15
jmp 0x18c2f
jmp 0x19307
jmp 0x18aa2
jmp 0x18c50
jmp 0x19307
jmp 0x192fd
jmp 0x192fd
jmp 0x192fd
jmp 0x192fd
jmp 0x192fd
jmp 0x192fd
jmp 0x192fd
jmp 0x192fd
jmp 0x192fd
jmp 0x18a5e
jmp 0x18a34
jmp 0x18a5e
movq %rax, %r15
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x18a61
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x6390
jmp 0x18a61
movq %rax, %r15
leaq 0x18(%rsp), %rbx
jmp 0x19358
movq %rax, %r15
jmp 0x18cdf
movq %rax, %r15
leaq 0x18(%rsp), %rbx
jmp 0x1938a
movq %rax, %r15
leaq 0x18(%rsp), %rbx
jmp 0x19397
movq %rax, %r15
jmp 0x193a4
movq %rax, %r15
jmp 0x193c9
jmp 0x1929a
movq %rax, %r15
jmp 0x18bd2
jmp 0x1929a
movq %rax, %r15
leaq 0x510(%rsp), %rdi
jmp 0x18ac7
movq %rax, %r15
leaq 0x520(%rsp), %rdi
callq 0xe0aa
movq 0x88(%rsp), %rdi
cmpq %rbx, %rdi
je 0x192a9
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x6390
jmp 0x192a9
movq %rax, %r15
leaq 0x530(%rsp), %rdi
callq 0xe0aa
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x18b27
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0x18(%rsp), %rbx
leaq 0x38(%rsp), %r14
jmp 0x192cd
movq %rax, %r15
leaq 0x5a0(%rsp), %rdi
jmp 0x18b4e
movq %rax, %r15
leaq 0x5b0(%rsp), %rdi
callq 0xe0aa
movq 0x28(%rsp), %rdi
cmpq %rbx, %rdi
je 0x18bf8
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x6390
jmp 0x18bf8
movq %rax, %r15
leaq 0x5c0(%rsp), %rdi
callq 0xe0aa
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x18c12
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x6390
jmp 0x18c12
movq %rax, %r15
jmp 0x18c3c
movq %rax, %r15
movq 0xdc8(%rsp), %rdi
cmpq %r14, %rdi
je 0x18bd2
movq 0xdd8(%rsp), %rsi
incq %rsi
callq 0x6390
movq 0x7b8(%rsp), %rdi
leaq 0x7c8(%rsp), %rax
cmpq %rax, %rdi
jne 0x18d27
jmp 0x193e0
jmp 0x192a6
movq %rax, %r15
leaq 0x9c0(%rsp), %rdi
callq 0x60f0
leaq 0x230(%rsp), %rdi
callq 0x60f0
movq 0x88(%rsp), %rdi
cmpq %r12, %rdi
je 0x18c2f
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0xf8(%rsp), %rdi
callq 0xe0aa
leaq 0xbc8(%rsp), %rdi
callq 0x6520
jmp 0x1930a
jmp 0x18c50
movq %rax, %r15
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x1930a
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x6390
jmp 0x1930a
jmp 0x1929a
movq %rax, %r15
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x19300
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x6390
jmp 0x19300
movq %rax, %r15
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x18cdf
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0x18(%rsp), %rbx
jmp 0x1937d
movq %rax, %r15
movq 0x7b8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x193c9
movq 0x7c8(%rsp), %rsi
jmp 0x193c1
jmp 0x18d13
jmp 0x1929a
jmp 0x18d13
movq %rax, %r15
movq 0x7b8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x193e0
movq 0x7c8(%rsp), %rsi
jmp 0x193d8
jmp 0x1929a
movq %rax, %r15
leaq 0xdc8(%rsp), %rdi
callq 0x197dc
jmp 0x18de5
jmp 0x1929a
jmp 0x18f31
jmp 0x18f39
jmp 0x18df7
jmp 0x18e19
jmp 0x18e3b
jmp 0x18e5d
jmp 0x18e87
jmp 0x18eb1
jmp 0x18d7d
movq %rax, %r15
jmp 0x18ed9
jmp 0x18f00
jmp 0x18f39
movq %rax, %r15
movq 0x7b8(%rsp), %rdi
cmpq %r14, %rdi
je 0x19407
movq 0x7c8(%rsp), %rsi
incq %rsi
callq 0x6390
jmp 0x19407
movq %rax, %r15
jmp 0x19407
movq %rax, %r15
movq 0x5e0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x18dfa
movq 0x5f0(%rsp), %rsi
incq %rsi
callq 0x6390
jmp 0x18dfa
movq %rax, %r15
leaq 0x7b8(%rsp), %rdi
callq 0x19622
jmp 0x193e0
movq %rax, %r15
movq 0x680(%rsp), %rdi
cmpq %r12, %rdi
je 0x18e1c
movq 0x690(%rsp), %rsi
incq %rsi
callq 0x6390
jmp 0x18e1c
movq %rax, %r15
movq 0xfd0(%rsp), %rdi
cmpq %r13, %rdi
je 0x18e3e
movq 0xfe0(%rsp), %rsi
incq %rsi
callq 0x6390
jmp 0x18e3e
movq %rax, %r15
movq 0xbc8(%rsp), %rdi
cmpq %r14, %rdi
je 0x18e60
movq 0xbd8(%rsp), %rsi
incq %rsi
callq 0x6390
jmp 0x18e60
movq %rax, %r15
movq 0x10f8(%rsp), %rdi
leaq 0x1108(%rsp), %rax
cmpq %rax, %rdi
je 0x18e8a
movq 0x1108(%rsp), %rsi
incq %rsi
callq 0x6390
jmp 0x18e8a
movq %rax, %r15
movq 0x9c0(%rsp), %rdi
leaq 0x9d0(%rsp), %rax
cmpq %rax, %rdi
je 0x18eb4
movq 0x9d0(%rsp), %rsi
incq %rsi
callq 0x6390
jmp 0x18eb4
movq %rax, %r15
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x18ed9
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x6390
movq 0xdc8(%rsp), %rdi
leaq 0xdd8(%rsp), %rax
cmpq %rax, %rdi
je 0x18f03
movq 0xdd8(%rsp), %rsi
incq %rsi
callq 0x6390
jmp 0x18f03
movq %rax, %r15
movq 0x7b8(%rsp), %rdi
leaq 0x7c8(%rsp), %rax
cmpq %rax, %rdi
je 0x193fa
movq 0x7c8(%rsp), %rsi
incq %rsi
callq 0x6390
jmp 0x193fa
movq %rax, %r15
jmp 0x193ed
movq %rax, %r15
jmp 0x193fa
movq %rax, (%rsp)
movl $0x20, %r14d
leaq (%rsp,%r14), %rdi
addq $0x88, %rdi
callq 0xe0aa
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0x18f4b
xorl %r14d, %r14d
jmp 0x18f71
movq %rax, (%rsp)
movb $0x1, %r14b
movl $0x10, %r12d
leaq (%rsp,%r12), %rdi
addq $0x1f0, %rdi            # imm = 0x1F0
callq 0xe0aa
addq $-0x10, %r12
cmpq $-0x10, %r12
jne 0x18f77
movb $0x1, %bpl
jmp 0x18fee
movq %rax, (%rsp)
movb $0x1, %r14b
xorl %r12d, %r12d
xorl %ebp, %ebp
jmp 0x19011
movq %rax, (%rsp)
jmp 0x19044
movq %rax, (%rsp)
movb $0x1, %r14b
xorl %r12d, %r12d
leaq 0x210(%rsp), %rbx
xorl %ebp, %ebp
jmp 0x1904c
movq %rax, (%rsp)
leaq 0x190(%rsp), %rdi
callq 0xe0aa
jmp 0x18fdd
movq %rax, (%rsp)
movb $0x1, %r14b
jmp 0x19095
movq %rax, (%rsp)
movb $0x1, %r14b
xorl %ebp, %ebp
movl $0x10, %r12d
leaq (%rsp,%r12), %rdi
addq $0x210, %rdi            # imm = 0x210
callq 0xe0aa
addq $-0x10, %r12
cmpq $-0x10, %r12
jne 0x18ff4
movb $0x1, %r12b
movl $0x10, %r13d
leaq (%rsp,%r13), %rdi
addq $0x170, %rdi            # imm = 0x170
callq 0xe0aa
addq $-0x10, %r13
cmpq $-0x10, %r13
jne 0x19017
jmp 0x1904c
movq %rax, (%rsp)
leaq 0x170(%rsp), %rdi
callq 0xe0aa
movb $0x1, %r14b
xorl %ebp, %ebp
xorl %r12d, %r12d
movl $0x10, %r13d
leaq (%rsp,%r13), %rdi
addq $0x190, %rdi            # imm = 0x190
callq 0xe0aa
addq $-0x10, %r13
cmpq $-0x10, %r13
jne 0x19052
leaq 0x210(%rsp), %r13
cmpq %rbx, %r13
sete %al
orb %al, %r12b
jne 0x19090
addq $-0x10, %rbx
movq %rbx, %rdi
callq 0xe0aa
cmpq %r13, %rbx
jne 0x1907f
testb %bpl, %bpl
jne 0x190a2
leaq 0x1f0(%rsp), %rdi
callq 0xe0aa
movl $0x10, %ebx
leaq (%rsp,%rbx), %rdi
addq $0xb8, %rdi
callq 0xe0aa
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0x190a7
movb $0x1, %bl
movq 0x78(%rsp), %rax
movq %rax, 0x60(%rsp)
movl $0x10, %r12d
leaq (%rsp,%r12), %rdi
addq $0xf8, %rdi
callq 0xe0aa
addq $-0x10, %r12
cmpq $-0x10, %r12
jne 0x190d3
movb $0x1, %bpl
movl $0x10, %r12d
leaq (%rsp,%r12), %rdi
addq $0x1b0, %rdi            # imm = 0x1B0
callq 0xe0aa
addq $-0x10, %r12
cmpq $-0x10, %r12
jne 0x190f6
movl $0x10, %r12d
leaq (%rsp,%r12), %rdi
addq $0x1d0, %rdi            # imm = 0x1D0
callq 0xe0aa
addq $-0x10, %r12
cmpq $-0x10, %r12
jne 0x19116
leaq 0xf8(%rsp), %r12
cmpq %r15, %r12
sete %al
orb %al, %bpl
jne 0x19154
addq $-0x10, %r15
movq %r15, %rdi
callq 0xe0aa
cmpq %r12, %r15
jne 0x19143
testb %bl, %bl
je 0x191a7
jmp 0x191b4
movq %rax, (%rsp)
movb $0x1, %r14b
jmp 0x190a2
jmp 0x192a6
movq %rax, (%rsp)
jmp 0x1925e
movq %rax, (%rsp)
leaq 0x1d0(%rsp), %rdi
callq 0xe0aa
jmp 0x191a4
movq %rax, (%rsp)
movb $0x1, %r14b
leaq 0x98(%rsp), %rax
movq %rax, 0x78(%rsp)
jmp 0x190a2
movq %rax, (%rsp)
movb $0x1, %r14b
leaq 0xb8(%rsp), %rdi
callq 0xe0aa
movq 0x60(%rsp), %rbp
movl $0x10, %ebx
leaq (%rsp,%rbx), %rdi
addq $0xd8, %rdi
callq 0xe0aa
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0x191be
leaq 0x88(%rsp), %rbx
cmpq %rbp, %rbx
setne %al
andb %al, %r14b
cmpb $0x1, %r14b
jne 0x19200
addq $-0x10, %rbp
movq %rbp, %rdi
callq 0xe0aa
cmpq %rbx, %rbp
jne 0x191ef
leaq 0x18(%rsp), %rbx
leaq 0x38(%rsp), %r14
movq (%rsp), %r15
jmp 0x192b3
movq %rax, (%rsp)
movb $0x1, %r14b
jmp 0x191b4
movq %rax, (%rsp)
leaq 0xd8(%rsp), %rdi
callq 0xe0aa
jmp 0x19200
movq %rax, (%rsp)
movb $0x1, %r14b
xorl %ebx, %ebx
jmp 0x190cd
movq %rax, (%rsp)
movb $0x1, %r14b
xorl %ebp, %ebp
xorl %ebx, %ebx
jmp 0x190f0
movq %rax, (%rsp)
leaq 0x1b0(%rsp), %rdi
callq 0xe0aa
movb $0x1, %r14b
xorl %ebx, %ebx
xorl %ebp, %ebp
jmp 0x19110
movq %rax, (%rsp)
jmp 0x19200
movq %rax, (%rsp)
movb $0x1, %r14b
xorl %ebp, %ebp
leaq 0xf8(%rsp), %r15
xorl %ebx, %ebx
jmp 0x19110
movq %rax, (%rsp)
movb $0x1, %r14b
jmp 0x191b9
jmp 0x192a6
jmp 0x192a6
jmp 0x19307
movq %rax, %r15
jmp 0x193e0
jmp 0x19311
jmp 0x19307
movq %rax, %r15
leaq 0x18(%rsp), %rbx
leaq 0x38(%rsp), %r14
leaq 0x9c0(%rsp), %rdi
callq 0x60f0
leaq 0x230(%rsp), %rdi
callq 0x60f0
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x192e4
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0x68(%rsp), %rdi
callq 0xe0aa
leaq 0xbc8(%rsp), %rdi
callq 0x6520
jmp 0x1933e
movq %rax, %r15
leaq 0x18(%rsp), %rbx
jmp 0x1934b
movq %rax, %r15
leaq 0x18(%rsp), %rbx
jmp 0x1933e
movq %rax, %r15
leaq 0x18(%rsp), %rbx
movq 0x230(%rsp), %rdi
leaq 0x240(%rsp), %rax
cmpq %rax, %rdi
je 0x1933e
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0x10f8(%rsp), %rdi
callq 0x6520
leaq 0xfd0(%rsp), %rdi
callq 0x1966e
leaq 0x140(%rsp), %rax
movq 0x130(%rsp), %rdi
cmpq %rax, %rdi
je 0x1937d
movq 0x140(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0x680(%rsp), %rdi
callq 0x1970a
leaq 0xdc8(%rsp), %rdi
callq 0x60f0
leaq 0x7b8(%rsp), %rdi
callq 0x60f0
movq 0x150(%rsp), %rdi
leaq 0x160(%rsp), %rax
cmpq %rax, %rdi
je 0x193c9
movq 0x160(%rsp), %rsi
incq %rsi
callq 0x6390
movq 0x8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x193e0
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0x5e0(%rsp), %rdi
callq 0x19742
leaq 0x438(%rsp), %rdi
callq 0x19774
leaq 0x738(%rsp), %rdi
callq 0x1979a
movq %r15, %rdi
callq 0x6640
nop