// File: 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
movq %rsp, %rbp
subq $0x2e30, %rsp           # imm = 0x2E30
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0xb1(%rbp), %rdi
movq %rdi, -0x22c0(%rbp)
callq 0x9910
movq -0x22c0(%rbp), %rdx
leaq 0x1abd7(%rip), %rsi     # 0x4bb41
leaq -0xb0(%rbp), %rdi
callq 0xfcf0
jmp 0x30f78
movq 0x3afc9(%rip), %rax     # 0x6bf48
movl (%rax), %edx
movl %edx, %ecx
shrl %ecx
leaq -0x90(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x96e0
jmp 0x30f9a
leaq -0xb0(%rbp), %rdi
callq 0x9a48
leaq -0xb1(%rbp), %rdi
callq 0x9520
leaq -0x90(%rbp), %rdi
callq 0x95c0
movq %rax, -0x22c8(%rbp)
jmp 0x30fc7
movq -0x22c8(%rbp), %rax
movq %rax, -0xd0(%rbp)
leaq 0x1ab6d(%rip), %rsi     # 0x4bb49
leaq 0x1ab6d(%rip), %rdx     # 0x4bb50
leaq -0xd0(%rbp), %rdi
callq 0x9960
movq %rax, -0x22d0(%rbp)
jmp 0x30ff8
movq -0x22d0(%rbp), %rdi
leaq 0x1ab5e(%rip), %rsi     # 0x4bb64
leaq 0x1ab61(%rip), %rdx     # 0x4bb6e
callq 0x9960
movq %rax, -0x22d8(%rbp)
jmp 0x3101b
callq 0x365e0
movq %rax, -0x22e0(%rbp)
jmp 0x31029
leaq -0xf1(%rbp), %rdi
movq %rdi, -0x22e8(%rbp)
callq 0x9910
movq -0x22e8(%rbp), %rdx
leaq 0x1ab58(%rip), %rsi     # 0x4bba2
leaq -0xf0(%rbp), %rdi
callq 0xfcf0
jmp 0x31058
movq -0x22e0(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x365f0
movq %rax, -0x22f0(%rbp)
jmp 0x31074
movq -0x22f0(%rbp), %rdx
movq -0x22d8(%rbp), %rdi
leaq 0x1ab14(%rip), %rsi     # 0x4bb9d
leaq 0x1ab16(%rip), %rcx     # 0x4bba6
callq 0x99c0
movq %rax, -0x22f8(%rbp)
jmp 0x3109e
callq 0x36620
movq %rax, -0x2300(%rbp)
jmp 0x310ac
leaq -0x119(%rbp), %rdi
movq %rdi, -0x2308(%rbp)
callq 0x9910
movq -0x2308(%rbp), %rdx
leaq 0x1aafd(%rip), %rsi     # 0x4bbca
leaq -0x118(%rbp), %rdi
callq 0xfcf0
jmp 0x310db
movq -0x2300(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0x36630
movq %rax, -0x2310(%rbp)
jmp 0x310f7
leaq -0x141(%rbp), %rdi
movq %rdi, -0x2318(%rbp)
callq 0x9910
movq -0x2318(%rbp), %rdx
leaq 0x1a198(%rip), %rsi     # 0x4b2b0
leaq -0x140(%rbp), %rdi
callq 0xfcf0
jmp 0x31126
movq -0x2310(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x36660
movq %rax, -0x2320(%rbp)
jmp 0x31142
movq -0x2320(%rbp), %rdx
movq -0x22f8(%rbp), %rdi
leaq 0x1aa70(%rip), %rsi     # 0x4bbc7
leaq 0x1aa71(%rip), %rcx     # 0x4bbcf
callq 0x99c0
movq %rax, -0x2328(%rbp)
jmp 0x3116c
callq 0x36620
movq %rax, -0x2330(%rbp)
jmp 0x3117a
leaq -0x169(%rbp), %rdi
movq %rdi, -0x2338(%rbp)
callq 0x9910
movq -0x2338(%rbp), %rdx
leaq 0x1aa66(%rip), %rsi     # 0x4bc01
leaq -0x168(%rbp), %rdi
callq 0xfcf0
jmp 0x311a9
movq -0x2330(%rbp), %rdi
leaq -0x168(%rbp), %rsi
callq 0x36630
movq %rax, -0x2340(%rbp)
jmp 0x311c5
movq -0x2340(%rbp), %rdx
movq -0x2328(%rbp), %rdi
leaq 0x1aa1e(%rip), %rsi     # 0x4bbf8
leaq 0x1aa25(%rip), %rcx     # 0x4bc06
callq 0x99c0
movq %rax, -0x2348(%rbp)
jmp 0x311ef
callq 0x36620
movq %rax, -0x2350(%rbp)
jmp 0x311fd
leaq -0x191(%rbp), %rdi
movq %rdi, -0x2358(%rbp)
callq 0x9910
movq -0x2358(%rbp), %rdx
leaq 0x1a9e3(%rip), %rsi     # 0x4bc01
leaq -0x190(%rbp), %rdi
callq 0xfcf0
jmp 0x3122c
movq -0x2350(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0x36630
movq %rax, -0x2360(%rbp)
jmp 0x31248
movq -0x2360(%rbp), %rdx
movq -0x2348(%rbp), %rdi
leaq 0x1a9bd(%rip), %rsi     # 0x4bc1a
leaq 0x1a9c5(%rip), %rcx     # 0x4bc29
callq 0x99c0
movq %rax, -0x2368(%rbp)
jmp 0x31272
callq 0x366d0
movq %rax, -0x2370(%rbp)
jmp 0x31280
leaq -0x1b9(%rbp), %rdi
movq %rdi, -0x2378(%rbp)
callq 0x9910
movq -0x2378(%rbp), %rdx
leaq 0x1a901(%rip), %rsi     # 0x4bba2
leaq -0x1b8(%rbp), %rdi
callq 0xfcf0
jmp 0x312af
movq -0x2370(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
callq 0x366e0
movq %rax, -0x2380(%rbp)
jmp 0x312cb
movq -0x2380(%rbp), %rdi
callq 0x36710
movq %rax, -0x2388(%rbp)
jmp 0x312e0
movq -0x2388(%rbp), %rdx
movq -0x2368(%rbp), %rdi
leaq 0x1a94d(%rip), %rsi     # 0x4bc42
leaq 0x1a94c(%rip), %rcx     # 0x4bc48
callq 0x99c0
movq %rax, -0x2390(%rbp)
jmp 0x3130a
callq 0x36620
movq %rax, -0x2398(%rbp)
jmp 0x31318
leaq -0x1e1(%rbp), %rdi
movq %rdi, -0x23a0(%rbp)
callq 0x9910
movq -0x23a0(%rbp), %rdx
leaq 0x1a8c8(%rip), %rsi     # 0x4bc01
leaq -0x1e0(%rbp), %rdi
callq 0xfcf0
jmp 0x31347
movq -0x2398(%rbp), %rdi
leaq -0x1e0(%rbp), %rsi
callq 0x36630
movq %rax, -0x23a8(%rbp)
jmp 0x31363
movq -0x23a8(%rbp), %rdi
callq 0x36730
movq %rax, -0x23b0(%rbp)
jmp 0x31378
movq -0x23b0(%rbp), %rdx
movq -0x2390(%rbp), %rdi
leaq 0x1a8c1(%rip), %rsi     # 0x4bc4e
leaq 0x1a8c6(%rip), %rcx     # 0x4bc5a
callq 0x99c0
movq %rax, -0x23b8(%rbp)
jmp 0x313a2
callq 0x36620
movq %rax, -0x23c0(%rbp)
jmp 0x313b0
leaq -0x209(%rbp), %rdi
movq %rdi, -0x23c8(%rbp)
callq 0x9910
movq -0x23c8(%rbp), %rdx
leaq 0x1a830(%rip), %rsi     # 0x4bc01
leaq -0x208(%rbp), %rdi
callq 0xfcf0
jmp 0x313df
movq -0x23c0(%rbp), %rdi
leaq -0x208(%rbp), %rsi
callq 0x36630
movq %rax, -0x23d0(%rbp)
jmp 0x313fb
movq -0x23d0(%rbp), %rdi
callq 0x36730
movq %rax, -0x23d8(%rbp)
jmp 0x31410
movq -0x23d8(%rbp), %rdx
movq -0x23b8(%rbp), %rdi
leaq 0x1a841(%rip), %rsi     # 0x4bc66
leaq 0x1a844(%rip), %rcx     # 0x4bc70
callq 0x99c0
movq %rax, -0x23e0(%rbp)
jmp 0x3143a
callq 0x36620
movq %rax, -0x23e8(%rbp)
jmp 0x31448
leaq -0x231(%rbp), %rdi
movq %rdi, -0x23f0(%rbp)
callq 0x9910
movq -0x23f0(%rbp), %rdx
leaq 0x1a798(%rip), %rsi     # 0x4bc01
leaq -0x230(%rbp), %rdi
callq 0xfcf0
jmp 0x31477
movq -0x23e8(%rbp), %rdi
leaq -0x230(%rbp), %rsi
callq 0x36630
movq %rax, -0x23f8(%rbp)
jmp 0x31493
movq -0x23f8(%rbp), %rdi
callq 0x36730
movq %rax, -0x2400(%rbp)
jmp 0x314a8
movq -0x2400(%rbp), %rdx
movq -0x23e0(%rbp), %rdi
leaq 0x1a7bd(%rip), %rsi     # 0x4bc7a
leaq 0x1a7bd(%rip), %rcx     # 0x4bc81
callq 0x99c0
jmp 0x314cb
leaq -0x230(%rbp), %rdi
callq 0x9a48
leaq -0x231(%rbp), %rdi
callq 0x9520
leaq -0x208(%rbp), %rdi
callq 0x9a48
leaq -0x209(%rbp), %rdi
callq 0x9520
leaq -0x1e0(%rbp), %rdi
callq 0x9a48
leaq -0x1e1(%rbp), %rdi
callq 0x9520
leaq -0x1b8(%rbp), %rdi
callq 0x9a48
leaq -0x1b9(%rbp), %rdi
callq 0x9520
leaq -0x190(%rbp), %rdi
callq 0x9a48
leaq -0x191(%rbp), %rdi
callq 0x9520
leaq -0x168(%rbp), %rdi
callq 0x9a48
leaq -0x169(%rbp), %rdi
callq 0x9520
leaq -0x140(%rbp), %rdi
callq 0x9a48
leaq -0x141(%rbp), %rdi
callq 0x9520
leaq -0x118(%rbp), %rdi
callq 0x9a48
leaq -0x119(%rbp), %rdi
callq 0x9520
leaq -0xf0(%rbp), %rdi
callq 0x9a48
leaq -0xf1(%rbp), %rdi
callq 0x9520
leaq -0x270(%rbp), %rdi
callq 0x9670
jmp 0x315b1
leaq 0x1a68a(%rip), %rsi     # 0x4bc42
leaq -0x270(%rbp), %rdi
movl $0x1, %edx
callq 0x9530
jmp 0x315cb
leaq 0x1a67c(%rip), %rsi     # 0x4bc4e
leaq -0x270(%rbp), %rdi
movl $0x1, %edx
callq 0x9530
jmp 0x315e5
leaq 0x1a67a(%rip), %rsi     # 0x4bc66
leaq -0x270(%rbp), %rdi
movl $0x1, %edx
callq 0x9530
jmp 0x315ff
leaq 0x1a674(%rip), %rsi     # 0x4bc7a
leaq -0x270(%rbp), %rdi
movl $0x1, %edx
callq 0x9530
jmp 0x31619
leaq -0x310(%rbp), %rdi
callq 0x91f0
jmp 0x31627
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq -0x3b0(%rbp), %rdi
callq 0x36750
jmp 0x3163c
leaq -0x3b0(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x36870
movq %rax, -0x2408(%rbp)
jmp 0x31658
movq -0x2408(%rbp), %rdi
leaq -0x270(%rbp), %rsi
callq 0x368b0
movq %rax, -0x2410(%rbp)
jmp 0x31674
movq -0x2410(%rbp), %rsi
leaq -0x338(%rbp), %rdi
callq 0x368e0
jmp 0x31689
leaq -0x338(%rbp), %rdi
leaq -0x310(%rbp), %rsi
xorl %edx, %edx
callq 0x98e0
jmp 0x316a0
leaq -0x338(%rbp), %rdi
callq 0x369a0
leaq -0x3b0(%rbp), %rdi
callq 0x369c0
leaq -0x300(%rbp), %rax
movq %rax, -0x2420(%rbp)
leaq -0x3d1(%rbp), %rdi
movq %rdi, -0x2418(%rbp)
callq 0x9910
movq -0x2418(%rbp), %rdx
leaq 0x1a5a1(%rip), %rsi     # 0x4bc88
leaq -0x3d0(%rbp), %rdi
callq 0xfcf0
jmp 0x316f5
movq -0x2420(%rbp), %rdi
leaq -0x3d0(%rbp), %rsi
callq 0x369e0
movq %rax, -0x2428(%rbp)
jmp 0x31711
movq -0x2428(%rbp), %rcx
movb $0x1, %al
cmpq $0x0, %rcx
movb %al, -0x2429(%rbp)
jne 0x31733
cmpl $0x5, -0x8(%rbp)
setl %al
movb %al, -0x2429(%rbp)
movb -0x2429(%rbp), %al
movb %al, -0x242a(%rbp)
leaq -0x3d0(%rbp), %rdi
callq 0x9a48
leaq -0x3d1(%rbp), %rdi
callq 0x9520
movb -0x242a(%rbp), %al
testb $0x1, %al
jne 0x31766
jmp 0x31bf7
movq 0x3a833(%rip), %rdi     # 0x6bfa0
leaq 0x1a519(%rip), %rsi     # 0x4bc8d
callq 0x94c0
movq %rax, -0x2438(%rbp)
jmp 0x31782
movq -0x2438(%rbp), %rdi
movq 0x3a7a8(%rip), %rsi     # 0x6bf38
callq 0x9500
jmp 0x31797
movq 0x3a802(%rip), %rdi     # 0x6bfa0
leaq 0x1a4ef(%rip), %rsi     # 0x4bc94
callq 0x94c0
movq %rax, -0x2440(%rbp)
jmp 0x317b3
movq -0x2440(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
callq 0x94c0
movq %rax, -0x2448(%rbp)
jmp 0x317cf
movq -0x2448(%rbp), %rdi
leaq 0x1a4ba(%rip), %rsi     # 0x4bc97
callq 0x94c0
movq %rax, -0x2450(%rbp)
jmp 0x317eb
movq -0x2450(%rbp), %rdi
leaq 0x1a4ab(%rip), %rsi     # 0x4bca4
callq 0x94c0
movq %rax, -0x2458(%rbp)
jmp 0x31807
movq -0x2458(%rbp), %rdi
leaq 0x1a4c6(%rip), %rsi     # 0x4bcdb
callq 0x94c0
movq %rax, -0x2460(%rbp)
jmp 0x31823
movq -0x2460(%rbp), %rdi
leaq 0x1a4d9(%rip), %rsi     # 0x4bd0a
callq 0x94c0
movq %rax, -0x2468(%rbp)
jmp 0x3183f
movq -0x2468(%rbp), %rdi
movq 0x3a6eb(%rip), %rsi     # 0x6bf38
callq 0x9500
jmp 0x31854
movq 0x3a745(%rip), %rdi     # 0x6bfa0
leaq -0x90(%rbp), %rsi
callq 0x90d0
jmp 0x31869
movl $0x0, -0x4(%rbp)
movl $0x1, -0x3d8(%rbp)
jmp 0x35e92
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x318b1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0x9a48
leaq -0xb1(%rbp), %rdi
callq 0x9520
jmp 0x35ee6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x35eda
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x31b32
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x31b26
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x31b1a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x31b0e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x31b02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x31af6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x31aea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x31ade
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x31ad2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x31ac6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x31aba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x31aae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x31aa2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x31a96
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x31a8a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x31a7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x31a72
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x230(%rbp), %rdi
callq 0x9a48
leaq -0x231(%rbp), %rdi
callq 0x9520
leaq -0x208(%rbp), %rdi
callq 0x9a48
leaq -0x209(%rbp), %rdi
callq 0x9520
leaq -0x1e0(%rbp), %rdi
callq 0x9a48
leaq -0x1e1(%rbp), %rdi
callq 0x9520
leaq -0x1b8(%rbp), %rdi
callq 0x9a48
leaq -0x1b9(%rbp), %rdi
callq 0x9520
leaq -0x190(%rbp), %rdi
callq 0x9a48
leaq -0x191(%rbp), %rdi
callq 0x9520
leaq -0x168(%rbp), %rdi
callq 0x9a48
leaq -0x169(%rbp), %rdi
callq 0x9520
leaq -0x140(%rbp), %rdi
callq 0x9a48
leaq -0x141(%rbp), %rdi
callq 0x9520
leaq -0x118(%rbp), %rdi
callq 0x9a48
leaq -0x119(%rbp), %rdi
callq 0x9520
leaq -0xf0(%rbp), %rdi
callq 0x9a48
leaq -0xf1(%rbp), %rdi
callq 0x9520
jmp 0x35eda
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x35ece
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x35ec2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x31ba3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x338(%rbp), %rdi
callq 0x369a0
leaq -0x3b0(%rbp), %rdi
callq 0x369c0
jmp 0x35ec2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x31be6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x3d0(%rbp), %rdi
callq 0x9a48
leaq -0x3d1(%rbp), %rdi
callq 0x9520
jmp 0x35ec2
leaq -0x401(%rbp), %rdi
movq %rdi, -0x2470(%rbp)
callq 0x9910
movq -0x2470(%rbp), %rdx
leaq 0x1a02a(%rip), %rsi     # 0x4bc42
leaq -0x400(%rbp), %rdi
callq 0xfcf0
jmp 0x31c26
leaq -0x310(%rbp), %rdi
leaq -0x400(%rbp), %rsi
callq 0x36a40
movq %rax, -0x2478(%rbp)
jmp 0x31c42
movq -0x2478(%rbp), %rdi
callq 0x36a70
movq %rax, -0x2480(%rbp)
jmp 0x31c57
movq -0x2480(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x2488(%rbp)
leaq -0x400(%rbp), %rdi
callq 0x9a48
leaq -0x401(%rbp), %rdi
callq 0x9520
movsd -0x2488(%rbp), %xmm0
movsd %xmm0, -0x3e0(%rbp)
xorps %xmm0, %xmm0
ucomisd -0x3e0(%rbp), %xmm0
ja 0x31cb9
movsd -0x3e0(%rbp), %xmm0
movsd 0x19599(%rip), %xmm1    # 0x4b248
ucomisd %xmm1, %xmm0
jbe 0x31d43
movq 0x3a2e0(%rip), %rdi     # 0x6bfa0
leaq 0x1a06f(%rip), %rsi     # 0x4bd36
callq 0x94c0
movq %rax, -0x2490(%rbp)
jmp 0x31cd5
movq -0x2490(%rbp), %rdi
movq 0x3a255(%rip), %rsi     # 0x6bf38
callq 0x9500
jmp 0x31cea
movl $0x1, -0x4(%rbp)
movl $0x1, -0x3d8(%rbp)
jmp 0x35e92
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x31d32
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x400(%rbp), %rdi
callq 0x9a48
leaq -0x401(%rbp), %rdi
callq 0x9520
jmp 0x35ec2
leaq -0x300(%rbp), %rax
movq %rax, -0x24a0(%rbp)
leaq -0x431(%rbp), %rdi
movq %rdi, -0x2498(%rbp)
callq 0x9910
movq -0x2498(%rbp), %rdx
movb $0x0, -0x45a(%rbp)
movb $0x0, -0x45b(%rbp)
leaq 0x19e1d(%rip), %rsi     # 0x4bb9d
leaq -0x430(%rbp), %rdi
callq 0xfcf0
jmp 0x31d8e
movq -0x24a0(%rbp), %rdi
leaq -0x430(%rbp), %rsi
callq 0x369e0
movq %rax, -0x24a8(%rbp)
jmp 0x31daa
movq -0x24a8(%rbp), %rax
cmpq $0x0, %rax
je 0x31e3c
leaq -0x459(%rbp), %rdi
movq %rdi, -0x24b0(%rbp)
callq 0x9910
movq -0x24b0(%rbp), %rdx
movb $0x1, -0x45a(%rbp)
leaq 0x19dba(%rip), %rsi     # 0x4bb9d
leaq -0x458(%rbp), %rdi
callq 0xfcf0
jmp 0x31df1
movb $0x1, -0x45b(%rbp)
leaq -0x310(%rbp), %rdi
leaq -0x458(%rbp), %rsi
callq 0x36a40
movq %rax, -0x24b8(%rbp)
jmp 0x31e14
movq -0x24b8(%rbp), %rdi
callq 0x36a90
movq %rax, -0x24c0(%rbp)
jmp 0x31e29
movq -0x24c0(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x24c8(%rbp)
jmp 0x31e4c
xorl %eax, %eax
movl %eax, %edi
callq 0x9480
movq %rax, -0x24c8(%rbp)
movq -0x24c8(%rbp), %rax
movq %rax, -0x24d0(%rbp)
testb $0x1, -0x45b(%rbp)
jne 0x31e65
jmp 0x31e71
leaq -0x458(%rbp), %rdi
callq 0x9a48
testb $0x1, -0x45a(%rbp)
jne 0x31e7c
jmp 0x31e88
leaq -0x459(%rbp), %rdi
callq 0x9520
leaq -0x430(%rbp), %rdi
callq 0x9a48
leaq -0x431(%rbp), %rdi
callq 0x9520
movq -0x24d0(%rbp), %rax
movq %rax, -0x410(%rbp)
movl -0x410(%rbp), %edi
callq 0x94b0
leaq -0x4a1(%rbp), %rdi
movq %rdi, -0x24d8(%rbp)
callq 0x9910
movq -0x24d8(%rbp), %rdx
leaq 0x19d74(%rip), %rsi     # 0x4bc4e
leaq -0x4a0(%rbp), %rdi
callq 0xfcf0
jmp 0x31ee8
leaq -0x310(%rbp), %rdi
leaq -0x4a0(%rbp), %rsi
callq 0x36a40
movq %rax, -0x24e0(%rbp)
jmp 0x31f04
movq -0x24e0(%rbp), %rdi
callq 0x36ab0
movq %rax, -0x24e8(%rbp)
jmp 0x31f19
movq -0x24e8(%rbp), %rsi
leaq -0x480(%rbp), %rdi
callq 0x9200
jmp 0x31f2e
leaq -0x4a0(%rbp), %rdi
callq 0x9a48
leaq -0x4a1(%rbp), %rdi
callq 0x9520
leaq -0x4e9(%rbp), %rdi
movq %rdi, -0x24f0(%rbp)
callq 0x9910
movq -0x24f0(%rbp), %rdx
leaq 0x19cff(%rip), %rsi     # 0x4bc66
leaq -0x4e8(%rbp), %rdi
callq 0xfcf0
jmp 0x31f75
leaq -0x310(%rbp), %rdi
leaq -0x4e8(%rbp), %rsi
callq 0x36a40
movq %rax, -0x24f8(%rbp)
jmp 0x31f91
movq -0x24f8(%rbp), %rdi
callq 0x36ab0
movq %rax, -0x2500(%rbp)
jmp 0x31fa6
movq -0x2500(%rbp), %rsi
leaq -0x4c8(%rbp), %rdi
callq 0x9200
jmp 0x31fbb
leaq -0x4e8(%rbp), %rdi
callq 0x9a48
leaq -0x4e9(%rbp), %rdi
callq 0x9520
leaq -0x6f8(%rbp), %rdi
leaq -0x480(%rbp), %rsi
movl $0x8, %edx
callq 0x9800
jmp 0x31fed
leaq -0x900(%rbp), %rdi
leaq -0x4c8(%rbp), %rsi
movl $0x8, %edx
callq 0x9800
jmp 0x32007
callq 0x9340
movq %rax, -0x908(%rbp)
leaq -0x9c0(%rbp), %rdi
leaq -0x6f8(%rbp), %rsi
leaq -0x900(%rbp), %rdx
callq 0xd1d0
jmp 0x3202f
leaq -0xa01(%rbp), %rdi
movq %rdi, -0x2508(%rbp)
callq 0x9910
movq -0x2508(%rbp), %rdx
leaq 0x19b77(%rip), %rsi     # 0x4bbc7
leaq -0xa00(%rbp), %rdi
callq 0xfcf0
jmp 0x3205e
leaq -0x310(%rbp), %rdi
leaq -0xa00(%rbp), %rsi
callq 0x36a40
movq %rax, -0x2510(%rbp)
jmp 0x3207a
movq -0x2510(%rbp), %rdi
callq 0x36ab0
movq %rax, -0x2518(%rbp)
jmp 0x3208f
movq -0x2518(%rbp), %rsi
leaq -0x9e0(%rbp), %rdi
callq 0x9200
jmp 0x320a4
leaq -0xa00(%rbp), %rdi
callq 0x9a48
leaq -0xa01(%rbp), %rdi
callq 0x9520
leaq -0x300(%rbp), %rax
movq %rax, -0x2528(%rbp)
leaq -0xa29(%rbp), %rdi
movq %rdi, -0x2520(%rbp)
callq 0x9910
movq -0x2520(%rbp), %rdx
leaq 0x19c75(%rip), %rsi     # 0x4bd60
leaq -0xa28(%rbp), %rdi
callq 0xfcf0
jmp 0x320f9
movq -0x2528(%rbp), %rdi
leaq -0xa28(%rbp), %rsi
callq 0x369e0
movq %rax, -0x2530(%rbp)
jmp 0x32115
leaq -0xa28(%rbp), %rdi
callq 0x9a48
leaq -0xa29(%rbp), %rdi
callq 0x9520
movq -0x2530(%rbp), %rax
testq %rax, %rax
setne -0xa02(%rbp)
leaq -0x300(%rbp), %rax
movq %rax, -0x2540(%rbp)
leaq -0xa51(%rbp), %rdi
movq %rdi, -0x2538(%rbp)
callq 0x9910
movq -0x2538(%rbp), %rdx
leaq 0x19a8b(%rip), %rsi     # 0x4bbf8
leaq -0xa50(%rbp), %rdi
callq 0xfcf0
jmp 0x3217b
movq -0x2540(%rbp), %rdi
leaq -0xa50(%rbp), %rsi
callq 0x369e0
movq %rax, -0x2548(%rbp)
jmp 0x32197
leaq -0xa50(%rbp), %rdi
callq 0x9a48
leaq -0xa51(%rbp), %rdi
callq 0x9520
movq -0x2548(%rbp), %rax
testq %rax, %rax
setne -0xa2a(%rbp)
movsd -0x3e0(%rbp), %xmm0
movzbl -0xa2a(%rbp), %r8d
movzbl -0xa02(%rbp), %ecx
andl $0x1, %ecx
andl $0x1, %r8d
leaq -0xb80(%rbp), %rdi
leaq -0x9c0(%rbp), %rsi
leaq -0x9e0(%rbp), %rdx
callq 0x28070
jmp 0x321fa
leaq -0xb80(%rbp), %rdi
callq 0x28880
jmp 0x32208
callq 0x9340
movq -0x908(%rbp), %rcx
subq %rcx, %rax
cvtsi2sd %rax, %xmm0
movsd 0x198ac(%rip), %xmm1    # 0x4bad0
divsd %xmm1, %xmm0
movsd %xmm0, -0xb88(%rbp)
leaq -0xb80(%rbp), %rdi
callq 0x28860
movq %rax, -0x2550(%rbp)
jmp 0x32245
movq -0x2550(%rbp), %rax
movq %rax, -0xb90(%rbp)
leaq -0x9c0(%rbp), %rdi
callq 0xdd40
movsd %xmm0, -0x2558(%rbp)
jmp 0x32269
movsd -0x2558(%rbp), %xmm0
movsd %xmm0, -0xb98(%rbp)
leaq -0x9c0(%rbp), %rdi
callq 0xdd60
movsd %xmm0, -0x2560(%rbp)
jmp 0x3228f
movsd -0x2560(%rbp), %xmm0
movsd %xmm0, -0xba0(%rbp)
movq -0xb90(%rbp), %rdi
callq 0x16780
movsd %xmm0, -0x2568(%rbp)
jmp 0x322b5
movsd -0x2568(%rbp), %xmm0
movsd %xmm0, -0xba8(%rbp)
movq -0xb90(%rbp), %rdi
callq 0x167a0
movsd %xmm0, -0x2570(%rbp)
jmp 0x322db
movsd -0x2570(%rbp), %xmm0
movsd %xmm0, -0xbb0(%rbp)
movq -0xb90(%rbp), %rdi
callq 0x167c0
movsd %xmm0, -0x2578(%rbp)
jmp 0x32301
movsd -0x2578(%rbp), %xmm0
movsd %xmm0, -0xbb8(%rbp)
movq -0xb90(%rbp), %rdi
callq 0x167e0
movsd %xmm0, -0x2580(%rbp)
jmp 0x32327
movsd -0x2580(%rbp), %xmm0
movsd %xmm0, -0xbc0(%rbp)
movsd -0x3e0(%rbp), %xmm0
movsd -0xbb8(%rbp), %xmm2
movsd 0x18ef9(%rip), %xmm1    # 0x4b248
subsd %xmm0, %xmm1
movsd -0xbc0(%rbp), %xmm3
mulsd %xmm3, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xbc8(%rbp)
movq 0x39c2a(%rip), %rdi     # 0x6bfa0
movq 0x39bbb(%rip), %rsi     # 0x6bf38
callq 0x9500
jmp 0x32384
movq 0x39c15(%rip), %rdi     # 0x6bfa0
leaq 0x199d6(%rip), %rsi     # 0x4bd68
callq 0x94c0
movq %rax, -0x2588(%rbp)
jmp 0x323a0
movq -0x2588(%rbp), %rdi
movq 0x39b8a(%rip), %rsi     # 0x6bf38
callq 0x9500
jmp 0x323b5
movq 0x39be4(%rip), %rdi     # 0x6bfa0
leaq 0x199ea(%rip), %rsi     # 0x4bdad
callq 0x94c0
movq %rax, -0x2590(%rbp)
jmp 0x323d1
movq -0x2590(%rbp), %rdi
movsd -0xb98(%rbp), %xmm0
callq 0x99a0
movq %rax, -0x2598(%rbp)
jmp 0x323ee
movq -0x2598(%rbp), %rdi
leaq 0x199c1(%rip), %rsi     # 0x4bdbd
callq 0x94c0
movq %rax, -0x25a0(%rbp)
jmp 0x3240a
movq -0x25a0(%rbp), %rdi
movsd -0xba0(%rbp), %xmm0
callq 0x99a0
movq %rax, -0x25a8(%rbp)
jmp 0x32427
movq -0x25a8(%rbp), %rdi
movq 0x39b03(%rip), %rsi     # 0x6bf38
callq 0x9500
jmp 0x3243c
movq 0x39b5d(%rip), %rdi     # 0x6bfa0
leaq 0x19987(%rip), %rsi     # 0x4bdd1
callq 0x94c0
movq %rax, -0x25b0(%rbp)
jmp 0x32458
movq -0x25b0(%rbp), %rdi
movsd -0xba8(%rbp), %xmm0
callq 0x99a0
movq %rax, -0x25b8(%rbp)
jmp 0x32475
movq -0x25b8(%rbp), %rdi
leaq 0x1995b(%rip), %rsi     # 0x4bdde
callq 0x94c0
movq %rax, -0x25c0(%rbp)
jmp 0x32491
movq -0x25c0(%rbp), %rdi
movsd -0xbb0(%rbp), %xmm0
callq 0x99a0
movq %rax, -0x25c8(%rbp)
jmp 0x324ae
movq -0x25c8(%rbp), %rdi
movq 0x39a7c(%rip), %rsi     # 0x6bf38
callq 0x9500
jmp 0x324c3
movq 0x39ad6(%rip), %rdi     # 0x6bfa0
leaq 0x1991e(%rip), %rsi     # 0x4bdef
callq 0x94c0
movq %rax, -0x25d0(%rbp)
jmp 0x324df
movq -0x25d0(%rbp), %rdi
movsd -0xbb8(%rbp), %xmm0
callq 0x99a0
movq %rax, -0x25d8(%rbp)
jmp 0x324fc
movq -0x25d8(%rbp), %rdi
leaq 0x198f1(%rip), %rsi     # 0x4bdfb
callq 0x94c0
movq %rax, -0x25e0(%rbp)
jmp 0x32518
movq -0x25e0(%rbp), %rdi
movsd -0xbc0(%rbp), %xmm0
callq 0x99a0
movq %rax, -0x25e8(%rbp)
jmp 0x32535
movq -0x25e8(%rbp), %rdi
movq 0x399f5(%rip), %rsi     # 0x6bf38
callq 0x9500
jmp 0x3254a
movq 0x39a4f(%rip), %rdi     # 0x6bfa0
leaq 0x198b6(%rip), %rsi     # 0x4be0e
callq 0x94c0
movq %rax, -0x25f0(%rbp)
jmp 0x32566
movq -0x25f0(%rbp), %rdi
movsd -0x3e0(%rbp), %xmm0
callq 0x99a0
movq %rax, -0x25f8(%rbp)
jmp 0x32583
movq -0x25f8(%rbp), %rdi
leaq 0x19886(%rip), %rsi     # 0x4be17
callq 0x94c0
movq %rax, -0x2600(%rbp)
jmp 0x3259f
movq -0x2600(%rbp), %rdi
movsd -0xbc8(%rbp), %xmm0
callq 0x99a0
movq %rax, -0x2608(%rbp)
jmp 0x325bc
movq -0x2608(%rbp), %rdi
movq 0x3996e(%rip), %rsi     # 0x6bf38
callq 0x9500
jmp 0x325d1
movq 0x399c8(%rip), %rdi     # 0x6bfa0
leaq 0x19847(%rip), %rsi     # 0x4be26
callq 0x94c0
movq %rax, -0x2610(%rbp)
jmp 0x325ed
movq -0x2610(%rbp), %rdi
movq -0x410(%rbp), %rsi
callq 0x9950
movq %rax, -0x2618(%rbp)
jmp 0x32609
movq -0x2618(%rbp), %rdi
leaq 0x19818(%rip), %rsi     # 0x4be2f
callq 0x94c0
movq %rax, -0x2620(%rbp)
jmp 0x32625
movq -0x2620(%rbp), %rdi
movsd -0xb88(%rbp), %xmm0
callq 0x99a0
movq %rax, -0x2628(%rbp)
jmp 0x32642
movq -0x2628(%rbp), %rdi
movq 0x398e8(%rip), %rsi     # 0x6bf38
callq 0x9500
jmp 0x32657
leaq -0xde9(%rbp), %rdi
movq %rdi, -0x2630(%rbp)
callq 0x9910
movq -0x2630(%rbp), %rdx
leaq 0x19602(%rip), %rsi     # 0x4bc7a
leaq -0xde8(%rbp), %rdi
callq 0xfcf0
jmp 0x32686
leaq -0x310(%rbp), %rdi
leaq -0xde8(%rbp), %rsi
callq 0x36a40
movq %rax, -0x2638(%rbp)
jmp 0x326a2
movq -0x2638(%rbp), %rdi
callq 0x36ab0
movq %rax, -0x2640(%rbp)
jmp 0x326b7
movq -0x2640(%rbp), %rsi
leaq -0xdc8(%rbp), %rdi
movl $0x10, %edx
callq 0x99e0
jmp 0x326d1
leaq -0xde8(%rbp), %rdi
callq 0x9a48
leaq -0xde9(%rbp), %rdi
callq 0x9520
movsd -0xbc8(%rbp), %xmm0
leaq -0xdc8(%rbp), %rdi
callq 0x99a0
movq %rax, -0x2648(%rbp)
jmp 0x32706
movq -0x2648(%rbp), %rdi
movq 0x39824(%rip), %rsi     # 0x6bf38
callq 0x9500
jmp 0x3271b
movsd -0xbc0(%rbp), %xmm0
leaq -0xdc8(%rbp), %rdi
callq 0x99a0
movq %rax, -0x2650(%rbp)
jmp 0x32738
movq -0x2650(%rbp), %rdi
movq 0x397f2(%rip), %rsi     # 0x6bf38
callq 0x9500
jmp 0x3274d
movsd -0xbb8(%rbp), %xmm0
leaq -0xdc8(%rbp), %rdi
callq 0x99a0
movq %rax, -0x2658(%rbp)
jmp 0x3276a
movq -0x2658(%rbp), %rdi
movq 0x397c0(%rip), %rsi     # 0x6bf38
callq 0x9500
jmp 0x3277f
movsd -0xba8(%rbp), %xmm0
leaq -0xdc8(%rbp), %rdi
callq 0x99a0
movq %rax, -0x2660(%rbp)
jmp 0x3279c
movq -0x2660(%rbp), %rdi
leaq 0x194eb(%rip), %rsi     # 0x4bc95
callq 0x94c0
movq %rax, -0x2668(%rbp)
jmp 0x327b8
movq -0x2668(%rbp), %rdi
movsd -0xbb0(%rbp), %xmm0
callq 0x99a0
movq %rax, -0x2670(%rbp)
jmp 0x327d5
movq -0x2670(%rbp), %rdi
movq 0x39755(%rip), %rsi     # 0x6bf38
callq 0x9500
jmp 0x327ea
movsd -0xb88(%rbp), %xmm0
leaq -0xdc8(%rbp), %rdi
callq 0x99a0
movq %rax, -0x2678(%rbp)
jmp 0x32807
movq -0x2678(%rbp), %rdi
movq 0x39723(%rip), %rsi     # 0x6bf38
callq 0x9500
jmp 0x3281c
movl $0x0, -0xdf0(%rbp)
movl -0xdf0(%rbp), %eax
movl %eax, -0x2680(%rbp)
leaq -0x9c0(%rbp), %rdi
callq 0xddf0
movl %eax, -0x267c(%rbp)
jmp 0x32846
movl -0x2680(%rbp), %eax
movl -0x267c(%rbp), %ecx
cmpl %ecx, %eax
jge 0x32d67
movl -0xdf0(%rbp), %eax
movl %eax, -0xdf4(%rbp)
movl -0xdf4(%rbp), %esi
leaq -0x9c0(%rbp), %rdi
callq 0xde50
movq %rax, -0x2688(%rbp)
jmp 0x32881
movq -0x2688(%rbp), %rdi
callq 0x30ec0
movq %rax, -0x2690(%rbp)
jmp 0x32896
movq -0x2690(%rbp), %rsi
leaq -0xe18(%rbp), %rdi
callq 0x9200
jmp 0x328ab
movq -0xb90(%rbp), %rdi
movl -0xdf4(%rbp), %esi
callq 0x16800
movq %rax, -0x2698(%rbp)
jmp 0x328c6
movq -0x2698(%rbp), %rax
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movaps %xmm1, -0xe30(%rbp)
movaps %xmm0, -0xe40(%rbp)
leaq -0xe30(%rbp), %rax
leaq -0xe40(%rbp), %rcx
movq %rcx, -0xe48(%rbp)
movq %rax, -0xe50(%rbp)
leaq -0xdc8(%rbp), %rdi
leaq -0xe18(%rbp), %rsi
callq 0x9460
movq %rax, -0x26a0(%rbp)
jmp 0x3291a
movq -0x26a0(%rbp), %rdi
leaq 0x1936d(%rip), %rsi     # 0x4bc95
callq 0x94c0
movq %rax, -0x26a8(%rbp)
jmp 0x32936
movq -0xe48(%rbp), %rdi
callq 0x48a20
movsd %xmm0, -0x26b0(%rbp)
jmp 0x3294c
movsd -0x26b0(%rbp), %xmm0
movq -0x26a8(%rbp), %rdi
callq 0x99a0
movq %rax, -0x26b8(%rbp)
jmp 0x32969
movq -0x26b8(%rbp), %rdi
leaq 0x1931e(%rip), %rsi     # 0x4bc95
callq 0x94c0
movq %rax, -0x26c0(%rbp)
jmp 0x32985
movq -0xe48(%rbp), %rdi
callq 0x48a40
movsd %xmm0, -0x26c8(%rbp)
jmp 0x3299b
movsd -0x26c8(%rbp), %xmm0
movq -0x26c0(%rbp), %rdi
callq 0x99a0
movq %rax, -0x26d0(%rbp)
jmp 0x329b8
movq -0x26d0(%rbp), %rdi
leaq 0x192cf(%rip), %rsi     # 0x4bc95
callq 0x94c0
movq %rax, -0x26d8(%rbp)
jmp 0x329d4
movq -0xe50(%rbp), %rdi
callq 0x48a20
movsd %xmm0, -0x26e0(%rbp)
jmp 0x329ea
movsd -0x26e0(%rbp), %xmm0
movq -0x26d8(%rbp), %rdi
callq 0x99a0
movq %rax, -0x26e8(%rbp)
jmp 0x32a07
movq -0x26e8(%rbp), %rdi
leaq 0x19280(%rip), %rsi     # 0x4bc95
callq 0x94c0
movq %rax, -0x26f0(%rbp)
jmp 0x32a23
movq -0xe50(%rbp), %rdi
callq 0x48a40
movsd %xmm0, -0x26f8(%rbp)
jmp 0x32a39
movsd -0x26f8(%rbp), %xmm0
movq -0x26f0(%rbp), %rdi
callq 0x99a0
movq %rax, -0x2700(%rbp)
jmp 0x32a56
movq -0x2700(%rbp), %rdi
movq 0x394d4(%rip), %rsi     # 0x6bf38
callq 0x9500
jmp 0x32a6b
leaq -0xe18(%rbp), %rdi
callq 0x9a48
movl -0xdf0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xdf0(%rbp)
jmp 0x32826
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x32b17
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x32b0b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x32af2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
testb $0x1, -0x45b(%rbp)
jne 0x32ae4
jmp 0x32af0
leaq -0x458(%rbp), %rdi
callq 0x9a48
jmp 0x32af2
testb $0x1, -0x45a(%rbp)
jne 0x32afd
jmp 0x32b09
leaq -0x459(%rbp), %rdi
callq 0x9520
jmp 0x32b0b
leaq -0x430(%rbp), %rdi
callq 0x9a48
leaq -0x431(%rbp), %rdi
callq 0x9520
jmp 0x35ec2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x32b5a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x4a0(%rbp), %rdi
callq 0x9a48
leaq -0x4a1(%rbp), %rdi
callq 0x9520
jmp 0x35ec2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x32b9d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x4e8(%rbp), %rdi
callq 0x9a48
leaq -0x4e9(%rbp), %rdi
callq 0x9520
jmp 0x35e84
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x35e78
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x35e6c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x35e60
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x32c25
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0xa00(%rbp), %rdi
callq 0x9a48
leaq -0xa01(%rbp), %rdi
callq 0x9520
jmp 0x35e54
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x32c68
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0xa28(%rbp), %rdi
callq 0x9a48
leaq -0xa29(%rbp), %rdi
callq 0x9520
jmp 0x35e48
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x32cab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0xa50(%rbp), %rdi
callq 0x9a48
leaq -0xa51(%rbp), %rdi
callq 0x9520
jmp 0x35e48
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x35e48
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x35e3c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x32d1c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0xde8(%rbp), %rdi
callq 0x9a48
leaq -0xde9(%rbp), %rdi
callq 0x9520
jmp 0x35e3c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x35e30
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0xe18(%rbp), %rdi
callq 0x9a48
jmp 0x35e30
testb $0x1, -0xa2a(%rbp)
je 0x33b05
leaq -0x1071(%rbp), %rdi
movq %rdi, -0x2708(%rbp)
callq 0x9910
movq -0x2708(%rbp), %rdx
leaq 0x18e63(%rip), %rsi     # 0x4bbf8
leaq -0x1070(%rbp), %rdi
callq 0xfcf0
jmp 0x32da3
leaq -0x310(%rbp), %rdi
leaq -0x1070(%rbp), %rsi
callq 0x36a40
movq %rax, -0x2710(%rbp)
jmp 0x32dbf
movq -0x2710(%rbp), %rdi
callq 0x36ab0
movq %rax, -0x2718(%rbp)
jmp 0x32dd4
movq -0x2718(%rbp), %rsi
leaq -0x1050(%rbp), %rdi
movl $0x10, %edx
callq 0x99e0
jmp 0x32dee
leaq -0x1070(%rbp), %rdi
callq 0x9a48
leaq -0x1071(%rbp), %rdi
callq 0x9520
leaq -0xb80(%rbp), %rdi
callq 0x28820
movq %rax, -0x2720(%rbp)
jmp 0x32e1b
movq -0x2720(%rbp), %rsi
leaq -0x1088(%rbp), %rdi
callq 0x22df0
jmp 0x32e30
leaq -0x10a8(%rbp), %rdi
leaq -0x480(%rbp), %rsi
callq 0x36ad0
jmp 0x32e45
leaq -0x10c8(%rbp), %rdi
callq 0x1bdd0
movq -0x10c8(%rbp), %rsi
movq -0x10c0(%rbp), %rdx
leaq -0x10b8(%rbp), %rdi
callq 0x1bd80
jmp 0x32e6d
leaq 0x18fc7(%rip), %rsi     # 0x4be3b
leaq -0x1088(%rbp), %rdi
callq 0x1c390
movq %rax, -0x2728(%rbp)
jmp 0x32e89
movq -0x2728(%rbp), %rdi
leaq -0x10b8(%rbp), %rsi
movq %rsi, -0x2730(%rbp)
callq 0x1c590
movq -0x2730(%rbp), %rdi
callq 0x1c060
leaq -0x10f8(%rbp), %rdi
leaq -0x10a8(%rbp), %rsi
callq 0x90f0
jmp 0x32ec4
leaq -0x10f8(%rbp), %rdi
callq 0x36b00
movq %rax, -0x2738(%rbp)
jmp 0x32ed9
movq -0x2738(%rbp), %rsi
leaq -0x10d8(%rbp), %rdi
callq 0x1c340
jmp 0x32eee
leaq 0x18f46(%rip), %rsi     # 0x4be3b
leaq -0x1088(%rbp), %rdi
callq 0x1c390
movq %rax, -0x2740(%rbp)
jmp 0x32f0a
movq -0x2740(%rbp), %rdi
leaq 0x1746c(%rip), %rsi     # 0x4a384
callq 0x1c390
movq %rax, -0x2748(%rbp)
jmp 0x32f26
movq -0x2748(%rbp), %rdi
leaq -0x10d8(%rbp), %rsi
movq %rsi, -0x2750(%rbp)
callq 0x1c590
movq -0x2750(%rbp), %rdi
callq 0x1c060
leaq -0x10f8(%rbp), %rdi
callq 0x36b10
leaq -0x1300(%rbp), %rdi
leaq -0x480(%rbp), %rsi
movl $0x8, %edx
callq 0x9800
jmp 0x32f72
leaq -0x1508(%rbp), %rdi
leaq -0x4c8(%rbp), %rsi
movl $0x8, %edx
callq 0x9800
jmp 0x32f8c
leaq -0x1548(%rbp), %rdi
leaq -0x1300(%rbp), %rsi
callq 0x36b30
leaq -0x1558(%rbp), %rdi
callq 0x36b90
leaq -0x1559(%rbp), %rdi
movq %rdi, -0x2758(%rbp)
callq 0x9910
movq -0x2758(%rbp), %r9
movq -0x1548(%rbp), %rsi
movl -0x1540(%rbp), %edx
movq -0x1558(%rbp), %rcx
movl -0x1550(%rbp), %r8d
leaq -0x1538(%rbp), %rdi
callq 0x36bc0
jmp 0x32fee
leaq -0x1518(%rbp), %rdi
leaq -0x1538(%rbp), %rsi
callq 0x36c50
jmp 0x33003
leaq 0x18e31(%rip), %rsi     # 0x4be3b
leaq -0x1088(%rbp), %rdi
callq 0x1c390
movq %rax, -0x2760(%rbp)
jmp 0x3301f
movq -0x2760(%rbp), %rdi
leaq 0x18e18(%rip), %rsi     # 0x4be45
callq 0x1c390
movq %rax, -0x2768(%rbp)
jmp 0x3303b
movq -0x2768(%rbp), %rdi
leaq -0x1518(%rbp), %rsi
movq %rsi, -0x2778(%rbp)
callq 0x1c590
movq -0x2778(%rbp), %rdi
callq 0x1c060
leaq -0x1538(%rbp), %rdi
callq 0x9a48
leaq -0x1559(%rbp), %rdi
callq 0x9520
leaq -0x15a0(%rbp), %rdi
leaq -0x1508(%rbp), %rsi
callq 0x36b30
leaq -0x15b0(%rbp), %rdi
callq 0x36b90
leaq -0x15b1(%rbp), %rdi
movq %rdi, -0x2770(%rbp)
callq 0x9910
movq -0x2770(%rbp), %r9
movq -0x15a0(%rbp), %rsi
movl -0x1598(%rbp), %edx
movq -0x15b0(%rbp), %rcx
movl -0x15a8(%rbp), %r8d
leaq -0x1590(%rbp), %rdi
callq 0x36bc0
jmp 0x330db
leaq -0x1570(%rbp), %rdi
leaq -0x1590(%rbp), %rsi
callq 0x36c50
jmp 0x330f0
leaq 0x18d44(%rip), %rsi     # 0x4be3b
leaq -0x1088(%rbp), %rdi
callq 0x1c390
movq %rax, -0x2780(%rbp)
jmp 0x3310c
movq -0x2780(%rbp), %rdi
leaq 0x18d36(%rip), %rsi     # 0x4be50
callq 0x1c390
movq %rax, -0x2788(%rbp)
jmp 0x33128
movq -0x2788(%rbp), %rdi
leaq -0x1570(%rbp), %rsi
movq %rsi, -0x2798(%rbp)
callq 0x1c590
movq -0x2798(%rbp), %rdi
callq 0x1c060
leaq -0x1590(%rbp), %rdi
callq 0x9a48
leaq -0x15b1(%rbp), %rdi
callq 0x9520
leaq -0x15c8(%rbp), %rdi
leaq -0x3e0(%rbp), %rsi
callq 0x2c6a0
leaq 0x18ac2(%rip), %rsi     # 0x4bc42
leaq -0x1088(%rbp), %rdi
callq 0x1c390
movq %rax, -0x2790(%rbp)
jmp 0x33195
movq -0x2790(%rbp), %rdi
leaq -0x15c8(%rbp), %rsi
movq %rsi, -0x27a0(%rbp)
callq 0x1c590
movq -0x27a0(%rbp), %rdi
callq 0x1c060
movb $0x1, -0x1691(%rbp)
leaq -0x1608(%rbp), %rax
movq %rax, -0x1610(%rbp)
leaq -0x1640(%rbp), %rdi
movq %rdi, -0x1648(%rbp)
leaq 0x171bb(%rip), %rsi     # 0x4a3a0
callq 0x1c2f0
jmp 0x331ec
leaq -0x1630(%rbp), %rax
movq %rax, -0x27b0(%rbp)
movq %rax, -0x1648(%rbp)
leaq -0x9c0(%rbp), %rdi
callq 0xdd40
movsd %xmm0, -0x27a8(%rbp)
jmp 0x33217
movq -0x27b0(%rbp), %rdi
movsd -0x27a8(%rbp), %xmm0
movsd %xmm0, -0x1650(%rbp)
leaq -0x1650(%rbp), %rsi
callq 0x1cae0
leaq -0x1640(%rbp), %rax
movq %rax, -0x1620(%rbp)
movq $0x2, -0x1618(%rbp)
movq -0x1620(%rbp), %rsi
movq -0x1618(%rbp), %rdx
leaq -0x1608(%rbp), %rdi
movl $0x1, %ecx
movl $0x2, %r8d
callq 0x1c180
jmp 0x3327a
leaq -0x15f8(%rbp), %rax
movq %rax, -0x27b8(%rbp)
movq %rax, -0x1610(%rbp)
leaq -0x1680(%rbp), %rdi
movq %rdi, -0x1688(%rbp)
leaq 0x17102(%rip), %rsi     # 0x4a3a6
callq 0x1c670
jmp 0x332ab
leaq -0x1670(%rbp), %rax
movq %rax, -0x27c8(%rbp)
movq %rax, -0x1688(%rbp)
leaq -0x9c0(%rbp), %rdi
callq 0xdd60
movsd %xmm0, -0x27c0(%rbp)
jmp 0x332d6
movq -0x27c8(%rbp), %rdi
movsd -0x27c0(%rbp), %xmm0
movsd %xmm0, -0x1690(%rbp)
leaq -0x1690(%rbp), %rsi
callq 0x1cae0
movq -0x27b8(%rbp), %rdi
leaq -0x1680(%rbp), %rax
movq %rax, -0x1660(%rbp)
movq $0x2, -0x1658(%rbp)
movq -0x1660(%rbp), %rsi
movq -0x1658(%rbp), %rdx
movl $0x1, %ecx
movl $0x2, %r8d
callq 0x1c180
jmp 0x33339
movb $0x0, -0x1691(%rbp)
leaq -0x1608(%rbp), %rax
movq %rax, -0x15e8(%rbp)
movq $0x2, -0x15e0(%rbp)
movq -0x15e8(%rbp), %rsi
movq -0x15e0(%rbp), %rdx
leaq -0x15d8(%rbp), %rdi
movl $0x1, %ecx
movl $0x2, %r8d
callq 0x1c180
jmp 0x33380
leaq 0x18ad2(%rip), %rsi     # 0x4be59
leaq -0x1088(%rbp), %rdi
callq 0x1c390
movq %rax, -0x27d0(%rbp)
jmp 0x3339c
movq -0x27d0(%rbp), %rdi
leaq -0x15d8(%rbp), %rsi
callq 0x1c590
leaq -0x15d8(%rbp), %rdi
callq 0x1c060
leaq -0x1608(%rbp), %rax
movq %rax, -0x27e0(%rbp)
addq $0x20, %rax
movq %rax, -0x27d8(%rbp)
movq -0x27d8(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x27e8(%rbp)
callq 0x1c060
movq -0x27e0(%rbp), %rcx
movq -0x27e8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x27d8(%rbp)
jne 0x333d4
leaq -0x1680(%rbp), %rax
movq %rax, -0x27f8(%rbp)
addq $0x20, %rax
movq %rax, -0x27f0(%rbp)
movq -0x27f0(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2800(%rbp)
callq 0x1c060
movq -0x27f8(%rbp), %rcx
movq -0x2800(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x27f0(%rbp)
jne 0x3341e
leaq -0x1640(%rbp), %rax
movq %rax, -0x2810(%rbp)
addq $0x20, %rax
movq %rax, -0x2808(%rbp)
movq -0x2808(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2818(%rbp)
callq 0x1c060
movq -0x2810(%rbp), %rcx
movq -0x2818(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2808(%rbp)
jne 0x33468
leaq -0x16a8(%rbp), %rdi
leaq -0x410(%rbp), %rsi
callq 0x36ca0
leaq 0x186ea(%rip), %rsi     # 0x4bb9d
leaq -0x1088(%rbp), %rdi
callq 0x1c390
movq %rax, -0x2820(%rbp)
jmp 0x334c8
movq -0x2820(%rbp), %rdi
leaq -0x16a8(%rbp), %rsi
movq %rsi, -0x2830(%rbp)
callq 0x1c590
movq -0x2830(%rbp), %rdi
callq 0x1c060
movq -0xb90(%rbp), %rdi
callq 0x16740
movq %rax, -0x2828(%rbp)
jmp 0x33503
movq -0x2828(%rbp), %rsi
leaq -0x16b8(%rbp), %rdi
callq 0x22df0
jmp 0x33518
leaq 0x18942(%rip), %rsi     # 0x4be61
leaq -0x1088(%rbp), %rdi
callq 0x1c390
movq %rax, -0x2838(%rbp)
jmp 0x33534
movq -0x2838(%rbp), %rdi
leaq -0x16b8(%rbp), %rsi
movq %rsi, -0x2848(%rbp)
callq 0x1c590
movq -0x2848(%rbp), %rdi
callq 0x1c060
leaq -0x16c8(%rbp), %rdi
leaq -0xb88(%rbp), %rsi
callq 0x2c790
leaq 0x188fb(%rip), %rsi     # 0x4be6f
leaq -0x1088(%rbp), %rdi
callq 0x1c390
movq %rax, -0x2840(%rbp)
jmp 0x33589
movq -0x2840(%rbp), %rdi
leaq -0x16c8(%rbp), %rsi
movq %rsi, -0x2850(%rbp)
callq 0x1c590
movq -0x2850(%rbp), %rdi
callq 0x1c060
leaq -0x1050(%rbp), %rdi
leaq -0x1088(%rbp), %rsi
callq 0x36cf0
jmp 0x335c4
leaq -0x1508(%rbp), %rdi
callq 0x9120
leaq -0x1300(%rbp), %rdi
callq 0x9120
leaq -0x10a8(%rbp), %rdi
callq 0x36b10
leaq -0x1088(%rbp), %rdi
callq 0x1c060
leaq -0x1050(%rbp), %rdi
callq 0x9770
jmp 0x33b05
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x33637
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x1070(%rbp), %rdi
callq 0x9a48
leaq -0x1071(%rbp), %rdi
callq 0x9520
jmp 0x35e30
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x33af4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x33ae8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x33adc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x10b8(%rbp), %rdi
callq 0x1c060
jmp 0x33adc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x336e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x10d8(%rbp), %rdi
callq 0x1c060
leaq -0x10f8(%rbp), %rdi
callq 0x36b10
jmp 0x33adc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x33ad0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x3375c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x33750
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x1518(%rbp), %rdi
callq 0x1c060
leaq -0x1538(%rbp), %rdi
callq 0x9a48
leaq -0x1559(%rbp), %rdi
callq 0x9520
jmp 0x33ac4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x337bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x337b3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x1570(%rbp), %rdi
callq 0x1c060
leaq -0x1590(%rbp), %rdi
callq 0x9a48
leaq -0x15b1(%rbp), %rdi
callq 0x9520
jmp 0x33ac4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x15c8(%rbp), %rdi
callq 0x1c060
jmp 0x33ac4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
movq -0x1648(%rbp), %rax
leaq -0x1640(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x2858(%rbp)
je 0x33850
movq -0x2858(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2860(%rbp)
callq 0x1c060
movq -0x2860(%rbp), %rax
leaq -0x1640(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x2858(%rbp)
jne 0x3381f
jmp 0x339f8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x339ac
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
movq -0x1688(%rbp), %rax
leaq -0x1680(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x2868(%rbp)
je 0x338c9
movq -0x2868(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2870(%rbp)
callq 0x1c060
movq -0x2870(%rbp), %rax
leaq -0x1680(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x2868(%rbp)
jne 0x33898
jmp 0x339ac
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x33960
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x33914
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x15d8(%rbp), %rdi
callq 0x1c060
leaq -0x1608(%rbp), %rax
movq %rax, -0x2880(%rbp)
addq $0x20, %rax
movq %rax, -0x2878(%rbp)
movq -0x2878(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2888(%rbp)
callq 0x1c060
movq -0x2880(%rbp), %rcx
movq -0x2888(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2878(%rbp)
jne 0x3392d
jmp 0x33960
leaq -0x1680(%rbp), %rax
movq %rax, -0x2898(%rbp)
addq $0x20, %rax
movq %rax, -0x2890(%rbp)
movq -0x2890(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x28a0(%rbp)
callq 0x1c060
movq -0x2898(%rbp), %rcx
movq -0x28a0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2890(%rbp)
jne 0x33979
jmp 0x339ac
leaq -0x1640(%rbp), %rax
movq %rax, -0x28b0(%rbp)
addq $0x20, %rax
movq %rax, -0x28a8(%rbp)
movq -0x28a8(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x28b8(%rbp)
callq 0x1c060
movq -0x28b0(%rbp), %rcx
movq -0x28b8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x28a8(%rbp)
jne 0x339c5
jmp 0x339f8
testb $0x1, -0x1691(%rbp)
jne 0x33a03
jmp 0x33a50
movq -0x1610(%rbp), %rax
leaq -0x1608(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x28c0(%rbp)
je 0x33a4e
movq -0x28c0(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x28c8(%rbp)
callq 0x1c060
movq -0x28c8(%rbp), %rax
leaq -0x1608(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x28c0(%rbp)
jne 0x33a1d
jmp 0x33a50
jmp 0x33ac4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x16a8(%rbp), %rdi
callq 0x1c060
jmp 0x33ac4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x33ac4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x16b8(%rbp), %rdi
callq 0x1c060
jmp 0x33ac4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x16c8(%rbp), %rdi
callq 0x1c060
leaq -0x1508(%rbp), %rdi
callq 0x9120
leaq -0x1300(%rbp), %rdi
callq 0x9120
leaq -0x10a8(%rbp), %rdi
callq 0x36b10
leaq -0x1088(%rbp), %rdi
callq 0x1c060
leaq -0x1050(%rbp), %rdi
callq 0x9770
jmp 0x35e30
leaq -0x300(%rbp), %rax
movq %rax, -0x28d8(%rbp)
leaq -0x16f1(%rbp), %rdi
movq %rdi, -0x28d0(%rbp)
callq 0x9910
movq -0x28d0(%rbp), %rdx
leaq 0x180e6(%rip), %rsi     # 0x4bc1a
leaq -0x16f0(%rbp), %rdi
callq 0xfcf0
jmp 0x33b42
movq -0x28d8(%rbp), %rdi
leaq -0x16f0(%rbp), %rsi
callq 0x369e0
movq %rax, -0x28e0(%rbp)
jmp 0x33b5e
movq -0x28e0(%rbp), %rax
cmpq $0x0, %rax
setne %al
movb %al, -0x28e1(%rbp)
leaq -0x16f0(%rbp), %rdi
callq 0x9a48
leaq -0x16f1(%rbp), %rdi
callq 0x9520
movb -0x28e1(%rbp), %al
andb $0x1, %al
movb %al, -0x16c9(%rbp)
testb $0x1, -0x16c9(%rbp)
je 0x35dbd
leaq -0x1919(%rbp), %rdi
movq %rdi, -0x28f0(%rbp)
callq 0x9910
movq -0x28f0(%rbp), %rdx
leaq 0x18054(%rip), %rsi     # 0x4bc1a
leaq -0x1918(%rbp), %rdi
callq 0xfcf0
jmp 0x33bd4
leaq -0x310(%rbp), %rdi
leaq -0x1918(%rbp), %rsi
callq 0x36a40
movq %rax, -0x28f8(%rbp)
jmp 0x33bf0
movq -0x28f8(%rbp), %rdi
callq 0x36ab0
movq %rax, -0x2900(%rbp)
jmp 0x33c05
movq -0x2900(%rbp), %rsi
leaq -0x18f8(%rbp), %rdi
movl $0x10, %edx
callq 0x99e0
jmp 0x33c1f
leaq -0x1918(%rbp), %rdi
callq 0x9a48
leaq -0x1919(%rbp), %rdi
callq 0x9520
leaq -0x1940(%rbp), %rdi
callq 0x1bdd0
movq -0x1940(%rbp), %rsi
movq -0x1938(%rbp), %rdx
leaq -0x1930(%rbp), %rdi
callq 0x1bd80
jmp 0x33c5f
leaq -0x1960(%rbp), %rdi
leaq -0x480(%rbp), %rsi
callq 0x36ad0
jmp 0x33c74
leaq -0x1980(%rbp), %rdi
callq 0x1bdd0
movq -0x1980(%rbp), %rsi
movq -0x1978(%rbp), %rdx
leaq -0x1970(%rbp), %rdi
callq 0x1bd80
jmp 0x33c9c
leaq 0x18198(%rip), %rsi     # 0x4be3b
leaq -0x1930(%rbp), %rdi
callq 0x1c390
movq %rax, -0x2908(%rbp)
jmp 0x33cb8
movq -0x2908(%rbp), %rdi
leaq -0x1970(%rbp), %rsi
movq %rsi, -0x2910(%rbp)
callq 0x1c590
movq -0x2910(%rbp), %rdi
callq 0x1c060
leaq -0x19b0(%rbp), %rdi
leaq -0x1960(%rbp), %rsi
callq 0x90f0
jmp 0x33cf3
leaq -0x19b0(%rbp), %rdi
callq 0x36b00
movq %rax, -0x2918(%rbp)
jmp 0x33d08
movq -0x2918(%rbp), %rsi
leaq -0x1990(%rbp), %rdi
callq 0x1c340
jmp 0x33d1d
leaq 0x18117(%rip), %rsi     # 0x4be3b
leaq -0x1930(%rbp), %rdi
callq 0x1c390
movq %rax, -0x2920(%rbp)
jmp 0x33d39
movq -0x2920(%rbp), %rdi
leaq 0x1663d(%rip), %rsi     # 0x4a384
callq 0x1c390
movq %rax, -0x2928(%rbp)
jmp 0x33d55
movq -0x2928(%rbp), %rdi
leaq -0x1990(%rbp), %rsi
movq %rsi, -0x2930(%rbp)
callq 0x1c590
movq -0x2930(%rbp), %rdi
callq 0x1c060
leaq -0x19b0(%rbp), %rdi
callq 0x36b10
leaq -0x1bb8(%rbp), %rdi
leaq -0x480(%rbp), %rsi
movl $0x8, %edx
callq 0x9800
jmp 0x33da1
leaq -0x1dc0(%rbp), %rdi
leaq -0x4c8(%rbp), %rsi
movl $0x8, %edx
callq 0x9800
jmp 0x33dbb
leaq -0x1e00(%rbp), %rdi
leaq -0x1bb8(%rbp), %rsi
callq 0x36b30
leaq -0x1e10(%rbp), %rdi
callq 0x36b90
leaq -0x1e11(%rbp), %rdi
movq %rdi, -0x2938(%rbp)
callq 0x9910
movq -0x2938(%rbp), %r9
movq -0x1e00(%rbp), %rsi
movl -0x1df8(%rbp), %edx
movq -0x1e10(%rbp), %rcx
movl -0x1e08(%rbp), %r8d
leaq -0x1df0(%rbp), %rdi
callq 0x36bc0
jmp 0x33e1d
leaq -0x1dd0(%rbp), %rdi
leaq -0x1df0(%rbp), %rsi
callq 0x36c50
jmp 0x33e32
leaq 0x18002(%rip), %rsi     # 0x4be3b
leaq -0x1930(%rbp), %rdi
callq 0x1c390
movq %rax, -0x2940(%rbp)
jmp 0x33e4e
movq -0x2940(%rbp), %rdi
leaq 0x17fe9(%rip), %rsi     # 0x4be45
callq 0x1c390
movq %rax, -0x2948(%rbp)
jmp 0x33e6a
movq -0x2948(%rbp), %rdi
leaq -0x1dd0(%rbp), %rsi
movq %rsi, -0x2958(%rbp)
callq 0x1c590
movq -0x2958(%rbp), %rdi
callq 0x1c060
leaq -0x1df0(%rbp), %rdi
callq 0x9a48
leaq -0x1e11(%rbp), %rdi
callq 0x9520
leaq -0x1e58(%rbp), %rdi
leaq -0x1dc0(%rbp), %rsi
callq 0x36b30
leaq -0x1e68(%rbp), %rdi
callq 0x36b90
leaq -0x1e69(%rbp), %rdi
movq %rdi, -0x2950(%rbp)
callq 0x9910
movq -0x2950(%rbp), %r9
movq -0x1e58(%rbp), %rsi
movl -0x1e50(%rbp), %edx
movq -0x1e68(%rbp), %rcx
movl -0x1e60(%rbp), %r8d
leaq -0x1e48(%rbp), %rdi
callq 0x36bc0
jmp 0x33f0a
leaq -0x1e28(%rbp), %rdi
leaq -0x1e48(%rbp), %rsi
callq 0x36c50
jmp 0x33f1f
leaq 0x17f15(%rip), %rsi     # 0x4be3b
leaq -0x1930(%rbp), %rdi
callq 0x1c390
movq %rax, -0x2960(%rbp)
jmp 0x33f3b
movq -0x2960(%rbp), %rdi
leaq 0x17f07(%rip), %rsi     # 0x4be50
callq 0x1c390
movq %rax, -0x2968(%rbp)
jmp 0x33f57
movq -0x2968(%rbp), %rdi
leaq -0x1e28(%rbp), %rsi
movq %rsi, -0x2978(%rbp)
callq 0x1c590
movq -0x2978(%rbp), %rdi
callq 0x1c060
leaq -0x1e48(%rbp), %rdi
callq 0x9a48
leaq -0x1e69(%rbp), %rdi
callq 0x9520
leaq -0x1e80(%rbp), %rdi
leaq -0x3e0(%rbp), %rsi
callq 0x2c6a0
leaq 0x17c93(%rip), %rsi     # 0x4bc42
leaq -0x1930(%rbp), %rdi
callq 0x1c390
movq %rax, -0x2970(%rbp)
jmp 0x33fc4
movq -0x2970(%rbp), %rdi
leaq -0x1e80(%rbp), %rsi
movq %rsi, -0x2980(%rbp)
callq 0x1c590
movq -0x2980(%rbp), %rdi
callq 0x1c060
movb $0x1, -0x1f49(%rbp)
leaq -0x1ec0(%rbp), %rax
movq %rax, -0x1ec8(%rbp)
leaq -0x1ef8(%rbp), %rdi
movq %rdi, -0x1f00(%rbp)
leaq 0x1638c(%rip), %rsi     # 0x4a3a0
callq 0x1c2f0
jmp 0x3401b
leaq -0x1ee8(%rbp), %rax
movq %rax, -0x2990(%rbp)
movq %rax, -0x1f00(%rbp)
leaq -0x9c0(%rbp), %rdi
callq 0xdd40
movsd %xmm0, -0x2988(%rbp)
jmp 0x34046
movq -0x2990(%rbp), %rdi
movsd -0x2988(%rbp), %xmm0
movsd %xmm0, -0x1f08(%rbp)
leaq -0x1f08(%rbp), %rsi
callq 0x1cae0
leaq -0x1ef8(%rbp), %rax
movq %rax, -0x1ed8(%rbp)
movq $0x2, -0x1ed0(%rbp)
movq -0x1ed8(%rbp), %rsi
movq -0x1ed0(%rbp), %rdx
leaq -0x1ec0(%rbp), %rdi
movl $0x1, %ecx
movl $0x2, %r8d
callq 0x1c180
jmp 0x340a9
leaq -0x1eb0(%rbp), %rax
movq %rax, -0x2998(%rbp)
movq %rax, -0x1ec8(%rbp)
leaq -0x1f38(%rbp), %rdi
movq %rdi, -0x1f40(%rbp)
leaq 0x162d3(%rip), %rsi     # 0x4a3a6
callq 0x1c670
jmp 0x340da
leaq -0x1f28(%rbp), %rax
movq %rax, -0x29a8(%rbp)
movq %rax, -0x1f40(%rbp)
leaq -0x9c0(%rbp), %rdi
callq 0xdd60
movsd %xmm0, -0x29a0(%rbp)
jmp 0x34105
movq -0x29a8(%rbp), %rdi
movsd -0x29a0(%rbp), %xmm0
movsd %xmm0, -0x1f48(%rbp)
leaq -0x1f48(%rbp), %rsi
callq 0x1cae0
movq -0x2998(%rbp), %rdi
leaq -0x1f38(%rbp), %rax
movq %rax, -0x1f18(%rbp)
movq $0x2, -0x1f10(%rbp)
movq -0x1f18(%rbp), %rsi
movq -0x1f10(%rbp), %rdx
movl $0x1, %ecx
movl $0x2, %r8d
callq 0x1c180
jmp 0x34168
movb $0x0, -0x1f49(%rbp)
leaq -0x1ec0(%rbp), %rax
movq %rax, -0x1ea0(%rbp)
movq $0x2, -0x1e98(%rbp)
movq -0x1ea0(%rbp), %rsi
movq -0x1e98(%rbp), %rdx
leaq -0x1e90(%rbp), %rdi
movl $0x1, %ecx
movl $0x2, %r8d
callq 0x1c180
jmp 0x341af
leaq 0x17ca3(%rip), %rsi     # 0x4be59
leaq -0x1930(%rbp), %rdi
callq 0x1c390
movq %rax, -0x29b0(%rbp)
jmp 0x341cb
movq -0x29b0(%rbp), %rdi
leaq -0x1e90(%rbp), %rsi
callq 0x1c590
leaq -0x1e90(%rbp), %rdi
callq 0x1c060
leaq -0x1ec0(%rbp), %rax
movq %rax, -0x29c0(%rbp)
addq $0x20, %rax
movq %rax, -0x29b8(%rbp)
movq -0x29b8(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x29c8(%rbp)
callq 0x1c060
movq -0x29c0(%rbp), %rcx
movq -0x29c8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x29b8(%rbp)
jne 0x34203
leaq -0x1f38(%rbp), %rax
movq %rax, -0x29d8(%rbp)
addq $0x20, %rax
movq %rax, -0x29d0(%rbp)
movq -0x29d0(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x29e0(%rbp)
callq 0x1c060
movq -0x29d8(%rbp), %rcx
movq -0x29e0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x29d0(%rbp)
jne 0x3424d
leaq -0x1ef8(%rbp), %rax
movq %rax, -0x29f0(%rbp)
addq $0x20, %rax
movq %rax, -0x29e8(%rbp)
movq -0x29e8(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x29f8(%rbp)
callq 0x1c060
movq -0x29f0(%rbp), %rcx
movq -0x29f8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x29e8(%rbp)
jne 0x34297
leaq -0x1f60(%rbp), %rdi
leaq -0x410(%rbp), %rsi
callq 0x36ca0
leaq 0x178bb(%rip), %rsi     # 0x4bb9d
leaq -0x1930(%rbp), %rdi
callq 0x1c390
movq %rax, -0x2a00(%rbp)
jmp 0x342f7
movq -0x2a00(%rbp), %rdi
leaq -0x1f60(%rbp), %rsi
movq %rsi, -0x2a08(%rbp)
callq 0x1c590
movq -0x2a08(%rbp), %rdi
callq 0x1c060
leaq -0x1f80(%rbp), %rdi
callq 0x1bdd0
movq -0x1f80(%rbp), %rsi
movq -0x1f78(%rbp), %rdx
leaq -0x1f70(%rbp), %rdi
callq 0x1bd80
jmp 0x34345
leaq 0x17b15(%rip), %rsi     # 0x4be61
leaq -0x1930(%rbp), %rdi
callq 0x1c390
movq %rax, -0x2a10(%rbp)
jmp 0x34361
movq -0x2a10(%rbp), %rdi
leaq -0x1f70(%rbp), %rsi
movq %rsi, -0x2a20(%rbp)
callq 0x1c590
movq -0x2a20(%rbp), %rdi
callq 0x1c060
leaq 0x17ad3(%rip), %rsi     # 0x4be61
leaq -0x1930(%rbp), %rdi
callq 0x1c390
movq %rax, -0x2a18(%rbp)
jmp 0x343a3
movq -0x2a18(%rbp), %rax
movq %rax, -0x1f88(%rbp)
leaq -0x1fa8(%rbp), %rdi
callq 0x1bdd0
movq -0x1fa8(%rbp), %rsi
movq -0x1fa0(%rbp), %rdx
leaq -0x1f98(%rbp), %rdi
callq 0x1c860
jmp 0x343d9
movq -0x1f88(%rbp), %rdi
leaq 0x15f96(%rip), %rsi     # 0x4a37d
callq 0x1c390
movq %rax, -0x2a28(%rbp)
jmp 0x343f5
movq -0x2a28(%rbp), %rdi
leaq -0x1f98(%rbp), %rsi
callq 0x1c590
leaq -0x1f98(%rbp), %rdi
callq 0x1c060
movl $0x0, -0x1fac(%rbp)
movl -0x1fac(%rbp), %eax
movl %eax, -0x2a30(%rbp)
leaq -0x9c0(%rbp), %rdi
callq 0xddf0
movl %eax, -0x2a2c(%rbp)
jmp 0x3443e
movl -0x2a30(%rbp), %eax
movl -0x2a2c(%rbp), %ecx
cmpl %ecx, %eax
jge 0x35a4a
movl -0x1fac(%rbp), %eax
movl %eax, -0x1fb0(%rbp)
movl -0x1fb0(%rbp), %esi
leaq -0x9c0(%rbp), %rdi
callq 0xde50
movq %rax, -0x2a38(%rbp)
jmp 0x34479
movq -0x2a38(%rbp), %rax
movq %rax, -0x1fb8(%rbp)
movq -0xb90(%rbp), %rdi
movl -0x1fb0(%rbp), %esi
callq 0x16800
movq %rax, -0x2a40(%rbp)
jmp 0x344a2
movq -0x2a40(%rbp), %rax
movq %rax, -0x1fc0(%rbp)
movq -0x1fc0(%rbp), %rax
movq %rax, -0x1fc8(%rbp)
movq -0x1fc0(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x1fd0(%rbp)
movq -0x1fb8(%rbp), %rdi
callq 0x30ec0
movq %rax, -0x2a48(%rbp)
jmp 0x344e5
movq -0x2a48(%rbp), %rax
movq %rax, -0x1fd8(%rbp)
movq -0x1f88(%rbp), %rdi
leaq 0x15e7c(%rip), %rsi     # 0x4a37d
callq 0x1c390
movq %rax, -0x2a50(%rbp)
jmp 0x3450f
movb $0x1, -0x2243(%rbp)
leaq -0x2018(%rbp), %rax
movq %rax, -0x2020(%rbp)
leaq -0x2050(%rbp), %rdi
movq %rdi, -0x2058(%rbp)
leaq 0x15e4b(%rip), %rsi     # 0x4a384
callq 0x1bfc0
jmp 0x34540
leaq -0x2040(%rbp), %rdi
movq %rdi, -0x2058(%rbp)
movq -0x1fd8(%rbp), %rsi
callq 0x1c340
jmp 0x3455c
leaq -0x2050(%rbp), %rax
movq %rax, -0x2030(%rbp)
movq $0x2, -0x2028(%rbp)
movq -0x2030(%rbp), %rsi
movq -0x2028(%rbp), %rdx
leaq -0x2018(%rbp), %rdi
movl $0x1, %ecx
movl $0x2, %r8d
callq 0x1c180
jmp 0x3459c
leaq -0x2008(%rbp), %rax
movq %rax, -0x2a58(%rbp)
movq %rax, -0x2020(%rbp)
movb $0x1, -0x214a(%rbp)
leaq -0x2088(%rbp), %rdi
movq %rdi, -0x2090(%rbp)
leaq 0x15dbc(%rip), %rsi     # 0x4a389
callq 0x1ca40
jmp 0x345d4
leaq -0x2078(%rbp), %rax
movq %rax, -0x2a60(%rbp)
movq %rax, -0x2090(%rbp)
movb $0x1, -0x2149(%rbp)
leaq -0x20c0(%rbp), %rax
movq %rax, -0x20c8(%rbp)
leaq -0x20f8(%rbp), %rdi
movq %rdi, -0x2100(%rbp)
leaq 0x15d80(%rip), %rsi     # 0x4a393
callq 0x1ca90
jmp 0x3461a
leaq -0x20e8(%rbp), %rax
movq %rax, -0x2a70(%rbp)
movq %rax, -0x2100(%rbp)
movq -0x1fc8(%rbp), %rdi
callq 0x48a20
movsd %xmm0, -0x2a68(%rbp)
jmp 0x34645
movq -0x2a70(%rbp), %rdi
movsd -0x2a68(%rbp), %xmm0
movsd %xmm0, -0x2108(%rbp)
leaq -0x2108(%rbp), %rsi
callq 0x1cae0
leaq -0x20f8(%rbp), %rax
movq %rax, -0x20d8(%rbp)
movq $0x2, -0x20d0(%rbp)
movq -0x20d8(%rbp), %rsi
movq -0x20d0(%rbp), %rdx
leaq -0x20c0(%rbp), %rdi
movl $0x1, %ecx
movl $0x2, %r8d
callq 0x1c180
jmp 0x346a8
leaq -0x20b0(%rbp), %rax
movq %rax, -0x2a78(%rbp)
movq %rax, -0x20c8(%rbp)
leaq -0x2138(%rbp), %rdi
movq %rdi, -0x2140(%rbp)
leaq 0x1640e(%rip), %rsi     # 0x4aae0
callq 0x1ca90
jmp 0x346d9
leaq -0x2128(%rbp), %rax
movq %rax, -0x2a88(%rbp)
movq %rax, -0x2140(%rbp)
movq -0x1fc8(%rbp), %rdi
callq 0x48a40
movsd %xmm0, -0x2a80(%rbp)
jmp 0x34704
movq -0x2a88(%rbp), %rdi
movsd -0x2a80(%rbp), %xmm0
movsd %xmm0, -0x2148(%rbp)
leaq -0x2148(%rbp), %rsi
callq 0x1cae0
movq -0x2a78(%rbp), %rdi
leaq -0x2138(%rbp), %rax
movq %rax, -0x2118(%rbp)
movq $0x2, -0x2110(%rbp)
movq -0x2118(%rbp), %rsi
movq -0x2110(%rbp), %rdx
movl $0x1, %ecx
movl $0x2, %r8d
callq 0x1c180
jmp 0x34767
movq -0x2a60(%rbp), %rdi
movb $0x0, -0x2149(%rbp)
leaq -0x20c0(%rbp), %rax
movq %rax, -0x20a0(%rbp)
movq $0x2, -0x2098(%rbp)
movq -0x20a0(%rbp), %rsi
movq -0x2098(%rbp), %rdx
movl $0x1, %ecx
movl $0x2, %r8d
callq 0x1c180
jmp 0x347ae
movq -0x2a58(%rbp), %rdi
movb $0x0, -0x214a(%rbp)
leaq -0x2088(%rbp), %rax
movq %rax, -0x2068(%rbp)
movq $0x2, -0x2060(%rbp)
movq -0x2068(%rbp), %rsi
movq -0x2060(%rbp), %rdx
movl $0x1, %ecx
movl $0x2, %r8d
callq 0x1c180
jmp 0x347f5
leaq -0x1ff8(%rbp), %rax
movq %rax, -0x2a90(%rbp)
movq %rax, -0x2020(%rbp)
movb $0x1, -0x2242(%rbp)
leaq -0x2180(%rbp), %rdi
movq %rdi, -0x2188(%rbp)
leaq 0x15b6f(%rip), %rsi     # 0x4a395
callq 0x1cb30
jmp 0x3482d
leaq -0x2170(%rbp), %rax
movq %rax, -0x2a98(%rbp)
movq %rax, -0x2188(%rbp)
movb $0x1, -0x2241(%rbp)
leaq -0x21b8(%rbp), %rax
movq %rax, -0x21c0(%rbp)
leaq -0x21f0(%rbp), %rdi
movq %rdi, -0x21f8(%rbp)
leaq 0x15b27(%rip), %rsi     # 0x4a393
callq 0x1ca90
jmp 0x34873
leaq -0x21e0(%rbp), %rax
movq %rax, -0x2aa8(%rbp)
movq %rax, -0x21f8(%rbp)
movq -0x1fd0(%rbp), %rdi
callq 0x48a20
movsd %xmm0, -0x2aa0(%rbp)
jmp 0x3489e
movq -0x2aa8(%rbp), %rdi
movsd -0x2aa0(%rbp), %xmm0
movsd %xmm0, -0x2200(%rbp)
leaq -0x2200(%rbp), %rsi
callq 0x1cae0
leaq -0x21f0(%rbp), %rax
movq %rax, -0x21d0(%rbp)
movq $0x2, -0x21c8(%rbp)
movq -0x21d0(%rbp), %rsi
movq -0x21c8(%rbp), %rdx
leaq -0x21b8(%rbp), %rdi
movl $0x1, %ecx
movl $0x2, %r8d
callq 0x1c180
jmp 0x34901
leaq -0x21a8(%rbp), %rax
movq %rax, -0x2ab0(%rbp)
movq %rax, -0x21c0(%rbp)
leaq -0x2230(%rbp), %rdi
movq %rdi, -0x2238(%rbp)
leaq 0x161b5(%rip), %rsi     # 0x4aae0
callq 0x1ca90
jmp 0x34932
leaq -0x2220(%rbp), %rax
movq %rax, -0x2ac0(%rbp)
movq %rax, -0x2238(%rbp)
movq -0x1fd0(%rbp), %rdi
callq 0x48a40
movsd %xmm0, -0x2ab8(%rbp)
jmp 0x3495d
movq -0x2ac0(%rbp), %rdi
movsd -0x2ab8(%rbp), %xmm0
movsd %xmm0, -0x2240(%rbp)
leaq -0x2240(%rbp), %rsi
callq 0x1cae0
movq -0x2ab0(%rbp), %rdi
leaq -0x2230(%rbp), %rax
movq %rax, -0x2210(%rbp)
movq $0x2, -0x2208(%rbp)
movq -0x2210(%rbp), %rsi
movq -0x2208(%rbp), %rdx
movl $0x1, %ecx
movl $0x2, %r8d
callq 0x1c180
jmp 0x349c0
movq -0x2a98(%rbp), %rdi
movb $0x0, -0x2241(%rbp)
leaq -0x21b8(%rbp), %rax
movq %rax, -0x2198(%rbp)
movq $0x2, -0x2190(%rbp)
movq -0x2198(%rbp), %rsi
movq -0x2190(%rbp), %rdx
movl $0x1, %ecx
movl $0x2, %r8d
callq 0x1c180
jmp 0x34a07
movq -0x2a90(%rbp), %rdi
movb $0x0, -0x2242(%rbp)
leaq -0x2180(%rbp), %rax
movq %rax, -0x2160(%rbp)
movq $0x2, -0x2158(%rbp)
movq -0x2160(%rbp), %rsi
movq -0x2158(%rbp), %rdx
movl $0x1, %ecx
movl $0x2, %r8d
callq 0x1c180
jmp 0x34a4e
movq -0x2a50(%rbp), %rdi
movb $0x0, -0x2243(%rbp)
leaq -0x2018(%rbp), %rax
movq %rax, -0x1fe8(%rbp)
movq $0x3, -0x1fe0(%rbp)
movq -0x1fe8(%rbp), %rsi
movq -0x1fe0(%rbp), %rdx
callq 0x1c8b0
jmp 0x34a8a
leaq -0x2018(%rbp), %rax
movq %rax, -0x2ad0(%rbp)
addq $0x30, %rax
movq %rax, -0x2ac8(%rbp)
movq -0x2ac8(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2ad8(%rbp)
callq 0x1c060
movq -0x2ad0(%rbp), %rcx
movq -0x2ad8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2ac8(%rbp)
jne 0x34aa3
leaq -0x2180(%rbp), %rax
movq %rax, -0x2ae8(%rbp)
addq $0x20, %rax
movq %rax, -0x2ae0(%rbp)
movq -0x2ae0(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2af0(%rbp)
callq 0x1c060
movq -0x2ae8(%rbp), %rcx
movq -0x2af0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2ae0(%rbp)
jne 0x34aed
leaq -0x21b8(%rbp), %rax
movq %rax, -0x2b00(%rbp)
addq $0x20, %rax
movq %rax, -0x2af8(%rbp)
movq -0x2af8(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2b08(%rbp)
callq 0x1c060
movq -0x2b00(%rbp), %rcx
movq -0x2b08(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2af8(%rbp)
jne 0x34b37
leaq -0x2230(%rbp), %rax
movq %rax, -0x2b18(%rbp)
addq $0x20, %rax
movq %rax, -0x2b10(%rbp)
movq -0x2b10(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2b20(%rbp)
callq 0x1c060
movq -0x2b18(%rbp), %rcx
movq -0x2b20(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2b10(%rbp)
jne 0x34b81
leaq -0x21f0(%rbp), %rax
movq %rax, -0x2b30(%rbp)
addq $0x20, %rax
movq %rax, -0x2b28(%rbp)
movq -0x2b28(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2b38(%rbp)
callq 0x1c060
movq -0x2b30(%rbp), %rcx
movq -0x2b38(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2b28(%rbp)
jne 0x34bcb
leaq -0x2088(%rbp), %rax
movq %rax, -0x2b48(%rbp)
addq $0x20, %rax
movq %rax, -0x2b40(%rbp)
movq -0x2b40(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2b50(%rbp)
callq 0x1c060
movq -0x2b48(%rbp), %rcx
movq -0x2b50(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2b40(%rbp)
jne 0x34c15
leaq -0x20c0(%rbp), %rax
movq %rax, -0x2b60(%rbp)
addq $0x20, %rax
movq %rax, -0x2b58(%rbp)
movq -0x2b58(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2b68(%rbp)
callq 0x1c060
movq -0x2b60(%rbp), %rcx
movq -0x2b68(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2b58(%rbp)
jne 0x34c5f
leaq -0x2138(%rbp), %rax
movq %rax, -0x2b78(%rbp)
addq $0x20, %rax
movq %rax, -0x2b70(%rbp)
movq -0x2b70(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2b80(%rbp)
callq 0x1c060
movq -0x2b78(%rbp), %rcx
movq -0x2b80(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2b70(%rbp)
jne 0x34ca9
leaq -0x20f8(%rbp), %rax
movq %rax, -0x2b90(%rbp)
addq $0x20, %rax
movq %rax, -0x2b88(%rbp)
movq -0x2b88(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2b98(%rbp)
callq 0x1c060
movq -0x2b90(%rbp), %rcx
movq -0x2b98(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2b88(%rbp)
jne 0x34cf3
leaq -0x2050(%rbp), %rax
movq %rax, -0x2ba8(%rbp)
addq $0x20, %rax
movq %rax, -0x2ba0(%rbp)
movq -0x2ba0(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2bb0(%rbp)
callq 0x1c060
movq -0x2ba8(%rbp), %rcx
movq -0x2bb0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2ba0(%rbp)
jne 0x34d3d
jmp 0x34d70
movl -0x1fac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1fac(%rbp)
jmp 0x3441e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x34db6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x16f0(%rbp), %rdi
callq 0x9a48
leaq -0x16f1(%rbp), %rdi
callq 0x9520
jmp 0x35e30
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x34df9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x1918(%rbp), %rdi
callq 0x9a48
leaq -0x1919(%rbp), %rdi
callq 0x9520
jmp 0x35e30
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x35daf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x35da3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x35d97
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x1970(%rbp), %rdi
callq 0x1c060
jmp 0x35d97
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x34ea4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x1990(%rbp), %rdi
callq 0x1c060
leaq -0x19b0(%rbp), %rdi
callq 0x36b10
jmp 0x35d97
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x35d8b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x34f1e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x34f12
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x1dd0(%rbp), %rdi
callq 0x1c060
leaq -0x1df0(%rbp), %rdi
callq 0x9a48
leaq -0x1e11(%rbp), %rdi
callq 0x9520
jmp 0x35d7f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x34f81
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x34f75
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x1e28(%rbp), %rdi
callq 0x1c060
leaq -0x1e48(%rbp), %rdi
callq 0x9a48
leaq -0x1e69(%rbp), %rdi
callq 0x9520
jmp 0x35d7f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x1e80(%rbp), %rdi
callq 0x1c060
jmp 0x35d7f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
movq -0x1f00(%rbp), %rax
leaq -0x1ef8(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x2bb8(%rbp)
je 0x35012
movq -0x2bb8(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2bc0(%rbp)
callq 0x1c060
movq -0x2bc0(%rbp), %rax
leaq -0x1ef8(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x2bb8(%rbp)
jne 0x34fe1
jmp 0x351ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x3516e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
movq -0x1f40(%rbp), %rax
leaq -0x1f38(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x2bc8(%rbp)
je 0x3508b
movq -0x2bc8(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2bd0(%rbp)
callq 0x1c060
movq -0x2bd0(%rbp), %rax
leaq -0x1f38(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x2bc8(%rbp)
jne 0x3505a
jmp 0x3516e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x35122
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x350d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x1e90(%rbp), %rdi
callq 0x1c060
leaq -0x1ec0(%rbp), %rax
movq %rax, -0x2be0(%rbp)
addq $0x20, %rax
movq %rax, -0x2bd8(%rbp)
movq -0x2bd8(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2be8(%rbp)
callq 0x1c060
movq -0x2be0(%rbp), %rcx
movq -0x2be8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2bd8(%rbp)
jne 0x350ef
jmp 0x35122
leaq -0x1f38(%rbp), %rax
movq %rax, -0x2bf8(%rbp)
addq $0x20, %rax
movq %rax, -0x2bf0(%rbp)
movq -0x2bf0(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2c00(%rbp)
callq 0x1c060
movq -0x2bf8(%rbp), %rcx
movq -0x2c00(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2bf0(%rbp)
jne 0x3513b
jmp 0x3516e
leaq -0x1ef8(%rbp), %rax
movq %rax, -0x2c10(%rbp)
addq $0x20, %rax
movq %rax, -0x2c08(%rbp)
movq -0x2c08(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2c18(%rbp)
callq 0x1c060
movq -0x2c10(%rbp), %rcx
movq -0x2c18(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2c08(%rbp)
jne 0x35187
jmp 0x351ba
testb $0x1, -0x1f49(%rbp)
jne 0x351c5
jmp 0x35212
movq -0x1ec8(%rbp), %rax
leaq -0x1ec0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x2c20(%rbp)
je 0x35210
movq -0x2c20(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2c28(%rbp)
callq 0x1c060
movq -0x2c28(%rbp), %rax
leaq -0x1ec0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x2c20(%rbp)
jne 0x351df
jmp 0x35212
jmp 0x35d7f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x1f60(%rbp), %rdi
callq 0x1c060
jmp 0x35d7f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x35d7f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x1f70(%rbp), %rdi
callq 0x1c060
jmp 0x35d7f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x1f98(%rbp), %rdi
callq 0x1c060
jmp 0x35d7f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
movq -0x2058(%rbp), %rax
leaq -0x2050(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x2c30(%rbp)
je 0x352f4
movq -0x2c30(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2c38(%rbp)
callq 0x1c060
movq -0x2c38(%rbp), %rax
leaq -0x2050(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x2c30(%rbp)
jne 0x352c3
jmp 0x359ed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x359a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x35947
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
movq -0x2100(%rbp), %rax
leaq -0x20f8(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x2c40(%rbp)
je 0x35384
movq -0x2c40(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2c48(%rbp)
callq 0x1c060
movq -0x2c48(%rbp), %rax
leaq -0x20f8(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x2c40(%rbp)
jne 0x35353
jmp 0x358ed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x358a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
movq -0x2140(%rbp), %rax
leaq -0x2138(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x2c50(%rbp)
je 0x353fd
movq -0x2c50(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2c58(%rbp)
callq 0x1c060
movq -0x2c58(%rbp), %rax
leaq -0x2138(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x2c50(%rbp)
jne 0x353cc
jmp 0x358a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x35855
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x35809
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x357bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x35763
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
movq -0x21f8(%rbp), %rax
leaq -0x21f0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x2c60(%rbp)
je 0x354bb
movq -0x2c60(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2c68(%rbp)
callq 0x1c060
movq -0x2c68(%rbp), %rax
leaq -0x21f0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x2c60(%rbp)
jne 0x3548a
jmp 0x35709
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x356bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
movq -0x2238(%rbp), %rax
leaq -0x2230(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x2c70(%rbp)
je 0x35534
movq -0x2c70(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2c78(%rbp)
callq 0x1c060
movq -0x2c78(%rbp), %rax
leaq -0x2230(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x2c70(%rbp)
jne 0x35503
jmp 0x356bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x35671
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x35625
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
jmp 0x355d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x2018(%rbp), %rax
movq %rax, -0x2c88(%rbp)
addq $0x30, %rax
movq %rax, -0x2c80(%rbp)
movq -0x2c80(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2c90(%rbp)
callq 0x1c060
movq -0x2c88(%rbp), %rcx
movq -0x2c90(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2c80(%rbp)
jne 0x355a6
jmp 0x355d9
leaq -0x2180(%rbp), %rax
movq %rax, -0x2ca0(%rbp)
addq $0x20, %rax
movq %rax, -0x2c98(%rbp)
movq -0x2c98(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2ca8(%rbp)
callq 0x1c060
movq -0x2ca0(%rbp), %rcx
movq -0x2ca8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2c98(%rbp)
jne 0x355f2
jmp 0x35625
leaq -0x21b8(%rbp), %rax
movq %rax, -0x2cb8(%rbp)
addq $0x20, %rax
movq %rax, -0x2cb0(%rbp)
movq -0x2cb0(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2cc0(%rbp)
callq 0x1c060
movq -0x2cb8(%rbp), %rcx
movq -0x2cc0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2cb0(%rbp)
jne 0x3563e
jmp 0x35671
leaq -0x2230(%rbp), %rax
movq %rax, -0x2cd0(%rbp)
addq $0x20, %rax
movq %rax, -0x2cc8(%rbp)
movq -0x2cc8(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2cd8(%rbp)
callq 0x1c060
movq -0x2cd0(%rbp), %rcx
movq -0x2cd8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2cc8(%rbp)
jne 0x3568a
jmp 0x356bd
leaq -0x21f0(%rbp), %rax
movq %rax, -0x2ce8(%rbp)
addq $0x20, %rax
movq %rax, -0x2ce0(%rbp)
movq -0x2ce0(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2cf0(%rbp)
callq 0x1c060
movq -0x2ce8(%rbp), %rcx
movq -0x2cf0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2ce0(%rbp)
jne 0x356d6
jmp 0x35709
testb $0x1, -0x2241(%rbp)
jne 0x35714
jmp 0x35761
movq -0x21c0(%rbp), %rax
leaq -0x21b8(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x2cf8(%rbp)
je 0x3575f
movq -0x2cf8(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2d00(%rbp)
callq 0x1c060
movq -0x2d00(%rbp), %rax
leaq -0x21b8(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x2cf8(%rbp)
jne 0x3572e
jmp 0x35761
jmp 0x35763
testb $0x1, -0x2242(%rbp)
jne 0x3576e
jmp 0x357bb
movq -0x2188(%rbp), %rax
leaq -0x2180(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x2d08(%rbp)
je 0x357b9
movq -0x2d08(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2d10(%rbp)
callq 0x1c060
movq -0x2d10(%rbp), %rax
leaq -0x2180(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x2d08(%rbp)
jne 0x35788
jmp 0x357bb
jmp 0x357bd
leaq -0x2088(%rbp), %rax
movq %rax, -0x2d20(%rbp)
addq $0x20, %rax
movq %rax, -0x2d18(%rbp)
movq -0x2d18(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2d28(%rbp)
callq 0x1c060
movq -0x2d20(%rbp), %rcx
movq -0x2d28(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2d18(%rbp)
jne 0x357d6
jmp 0x35809
leaq -0x20c0(%rbp), %rax
movq %rax, -0x2d38(%rbp)
addq $0x20, %rax
movq %rax, -0x2d30(%rbp)
movq -0x2d30(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2d40(%rbp)
callq 0x1c060
movq -0x2d38(%rbp), %rcx
movq -0x2d40(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2d30(%rbp)
jne 0x35822
jmp 0x35855
leaq -0x2138(%rbp), %rax
movq %rax, -0x2d50(%rbp)
addq $0x20, %rax
movq %rax, -0x2d48(%rbp)
movq -0x2d48(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2d58(%rbp)
callq 0x1c060
movq -0x2d50(%rbp), %rcx
movq -0x2d58(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2d48(%rbp)
jne 0x3586e
jmp 0x358a1
leaq -0x20f8(%rbp), %rax
movq %rax, -0x2d68(%rbp)
addq $0x20, %rax
movq %rax, -0x2d60(%rbp)
movq -0x2d60(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2d70(%rbp)
callq 0x1c060
movq -0x2d68(%rbp), %rcx
movq -0x2d70(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2d60(%rbp)
jne 0x358ba
jmp 0x358ed
testb $0x1, -0x2149(%rbp)
jne 0x358f8
jmp 0x35945
movq -0x20c8(%rbp), %rax
leaq -0x20c0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x2d78(%rbp)
je 0x35943
movq -0x2d78(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2d80(%rbp)
callq 0x1c060
movq -0x2d80(%rbp), %rax
leaq -0x20c0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x2d78(%rbp)
jne 0x35912
jmp 0x35945
jmp 0x35947
testb $0x1, -0x214a(%rbp)
jne 0x35952
jmp 0x3599f
movq -0x2090(%rbp), %rax
leaq -0x2088(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x2d88(%rbp)
je 0x3599d
movq -0x2d88(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2d90(%rbp)
callq 0x1c060
movq -0x2d90(%rbp), %rax
leaq -0x2088(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x2d88(%rbp)
jne 0x3596c
jmp 0x3599f
jmp 0x359a1
leaq -0x2050(%rbp), %rax
movq %rax, -0x2da0(%rbp)
addq $0x20, %rax
movq %rax, -0x2d98(%rbp)
movq -0x2d98(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2da8(%rbp)
callq 0x1c060
movq -0x2da0(%rbp), %rcx
movq -0x2da8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x2d98(%rbp)
jne 0x359ba
jmp 0x359ed
testb $0x1, -0x2243(%rbp)
jne 0x359f8
jmp 0x35a45
movq -0x2020(%rbp), %rax
leaq -0x2018(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x2db0(%rbp)
je 0x35a43
movq -0x2db0(%rbp), %rdi
addq $-0x10, %rdi
movq %rdi, -0x2db8(%rbp)
callq 0x1c060
movq -0x2db8(%rbp), %rax
leaq -0x2018(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x2db0(%rbp)
jne 0x35a12
jmp 0x35a45
jmp 0x35d7f
movq -0xb90(%rbp), %rdi
callq 0x16780
movsd %xmm0, -0x2dc0(%rbp)
jmp 0x35a60
movsd -0x2dc0(%rbp), %xmm0
movsd %xmm0, -0x2260(%rbp)
leaq -0x2258(%rbp), %rdi
leaq -0x2260(%rbp), %rsi
callq 0x1cae0
movq -0x1f88(%rbp), %rdi
leaq 0x1490f(%rip), %rsi     # 0x4a3a0
callq 0x1c390
movq %rax, -0x2dc8(%rbp)
jmp 0x35a9f
movq -0x2dc8(%rbp), %rdi
leaq -0x2258(%rbp), %rsi
movq %rsi, -0x2dd8(%rbp)
callq 0x1c590
movq -0x2dd8(%rbp), %rdi
callq 0x1c060
movq -0xb90(%rbp), %rdi
callq 0x167a0
movsd %xmm0, -0x2dd0(%rbp)
jmp 0x35adb
movsd -0x2dd0(%rbp), %xmm0
movsd %xmm0, -0x2278(%rbp)
leaq -0x2270(%rbp), %rdi
leaq -0x2278(%rbp), %rsi
callq 0x1cae0
movq -0x1f88(%rbp), %rdi
leaq 0x1489a(%rip), %rsi     # 0x4a3a6
callq 0x1c390
movq %rax, -0x2de0(%rbp)
jmp 0x35b1a
movq -0x2de0(%rbp), %rdi
leaq -0x2270(%rbp), %rsi
movq %rsi, -0x2df0(%rbp)
callq 0x1c590
movq -0x2df0(%rbp), %rdi
callq 0x1c060
movq -0xb90(%rbp), %rdi
callq 0x167c0
movsd %xmm0, -0x2de8(%rbp)
jmp 0x35b56
movsd -0x2de8(%rbp), %xmm0
movsd %xmm0, -0x2290(%rbp)
leaq -0x2288(%rbp), %rdi
leaq -0x2290(%rbp), %rsi
callq 0x1cae0
movq -0x1f88(%rbp), %rdi
leaq 0x14826(%rip), %rsi     # 0x4a3ad
callq 0x1c390
movq %rax, -0x2df8(%rbp)
jmp 0x35b95
movq -0x2df8(%rbp), %rdi
leaq -0x2288(%rbp), %rsi
movq %rsi, -0x2e08(%rbp)
callq 0x1c590
movq -0x2e08(%rbp), %rdi
callq 0x1c060
movq -0xb90(%rbp), %rdi
callq 0x167e0
movsd %xmm0, -0x2e00(%rbp)
jmp 0x35bd1
movsd -0x2e00(%rbp), %xmm0
movsd %xmm0, -0x22a8(%rbp)
leaq -0x22a0(%rbp), %rdi
leaq -0x22a8(%rbp), %rsi
callq 0x1cae0
movq -0x1f88(%rbp), %rdi
leaq 0x147b0(%rip), %rsi     # 0x4a3b2
callq 0x1c390
movq %rax, -0x2e10(%rbp)
jmp 0x35c10
movq -0x2e10(%rbp), %rdi
leaq -0x22a0(%rbp), %rsi
movq %rsi, -0x2e20(%rbp)
callq 0x1c590
movq -0x2e20(%rbp), %rdi
callq 0x1c060
leaq -0x22b8(%rbp), %rdi
leaq -0xb88(%rbp), %rsi
callq 0x2c790
leaq 0x1621f(%rip), %rsi     # 0x4be6f
leaq -0x1930(%rbp), %rdi
callq 0x1c390
movq %rax, -0x2e18(%rbp)
jmp 0x35c65
movq -0x2e18(%rbp), %rdi
leaq -0x22b8(%rbp), %rsi
movq %rsi, -0x2e28(%rbp)
callq 0x1c590
movq -0x2e28(%rbp), %rdi
callq 0x1c060
leaq -0x18f8(%rbp), %rdi
leaq -0x1930(%rbp), %rsi
callq 0x36cf0
jmp 0x35ca0
leaq -0x1dc0(%rbp), %rdi
callq 0x9120
leaq -0x1bb8(%rbp), %rdi
callq 0x9120
leaq -0x1960(%rbp), %rdi
callq 0x36b10
leaq -0x1930(%rbp), %rdi
callq 0x1c060
leaq -0x18f8(%rbp), %rdi
callq 0x9770
jmp 0x35dbd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x2258(%rbp), %rdi
callq 0x1c060
jmp 0x35d7f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x2270(%rbp), %rdi
callq 0x1c060
jmp 0x35d7f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x2288(%rbp), %rdi
callq 0x1c060
jmp 0x35d7f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x22a0(%rbp), %rdi
callq 0x1c060
jmp 0x35d7f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0x22b8(%rbp), %rdi
callq 0x1c060
leaq -0x1dc0(%rbp), %rdi
callq 0x9120
leaq -0x1bb8(%rbp), %rdi
callq 0x9120
leaq -0x1960(%rbp), %rdi
callq 0x36b10
leaq -0x1930(%rbp), %rdi
callq 0x1c060
leaq -0x18f8(%rbp), %rdi
callq 0x9770
jmp 0x35e30
movl $0x0, -0x4(%rbp)
movl $0x1, -0x3d8(%rbp)
leaq -0xdc8(%rbp), %rdi
callq 0x9770
leaq -0xb80(%rbp), %rdi
callq 0x36d90
leaq -0x9e0(%rbp), %rdi
callq 0x9a48
leaq -0x9c0(%rbp), %rdi
callq 0x36dd0
leaq -0x900(%rbp), %rdi
callq 0x9120
leaq -0x6f8(%rbp), %rdi
callq 0x9120
leaq -0x4c8(%rbp), %rdi
callq 0x9a48
leaq -0x480(%rbp), %rdi
callq 0x9a48
jmp 0x35e92
leaq -0xdc8(%rbp), %rdi
callq 0x9770
leaq -0xb80(%rbp), %rdi
callq 0x36d90
leaq -0x9e0(%rbp), %rdi
callq 0x9a48
leaq -0x9c0(%rbp), %rdi
callq 0x36dd0
leaq -0x900(%rbp), %rdi
callq 0x9120
leaq -0x6f8(%rbp), %rdi
callq 0x9120
leaq -0x4c8(%rbp), %rdi
callq 0x9a48
leaq -0x480(%rbp), %rdi
callq 0x9a48
jmp 0x35ec2
leaq -0x310(%rbp), %rdi
callq 0x36e30
leaq -0x270(%rbp), %rdi
callq 0x36e90
leaq -0x90(%rbp), %rdi
callq 0x36ec0
movl -0x4(%rbp), %eax
addq $0x2e30, %rsp           # imm = 0x2E30
popq %rbp
retq
leaq -0x310(%rbp), %rdi
callq 0x36e30
leaq -0x270(%rbp), %rdi
callq 0x36e90
leaq -0x90(%rbp), %rdi
callq 0x36ec0
movq -0xc0(%rbp), %rdi
callq 0x98f0
nopw %cs:(%rax,%rax)