// File: zyLiu6707[P]Arknights-Pull-Simulation/./utils.h
// Function: process_cmd_input_and_set_corres_var(int, char**, ProbabilityWrapper&, unsigned long long&, unsigned int&, unsigned long long&)
bool process_cmd_input_and_set_corres_var(
    int argc, char* argv[], ProbabilityWrapper& probability_wrapper,
    unsigned long long int& total_pull_time,
    unsigned int& pity_starting_point, unsigned long long int& current_pull) {
  const int expected_max_arg_num = 10;
  if (argc > expected_max_arg_num) {
    std::cerr << "\nToo many arguments!\n" << std::endl;
    display_help_message();
    return false;
  }
  if (argc == 1) {
    std::cerr << "\nNote: No arguments are provided. Will simulate a double-rate-up limited banner.\n" << std::endl;
    return true;
  }

  // Control arguments are those that can specify the behavior of the
  // program, i.e., display help message, simulate a standard banner or
  // a limited banner, etc. Starts with at lease one dash '-'
  std::unordered_set<std::string> expected_control_arg(
      {"--help", "-t", "--total-pull-time", "--limited", "--standard", "-p",
       "--pity", "-n", "--num-rate-up", "-c", "--current-pull"});

  // Store control argument as arg_map's key, and ctrl arg's value as arg_map's
  // value. 
  // The content in this map will be checked and conrresponding error
  // flag will be set if corresponding type of error is detected.
  std::unordered_map<std::string, std::vector<std::string>> arg_map;

  // A wrapper class for different kinds of error flags
  ErrorFlag error_flag;

  // Parse the inputs
  int curr_ctrl_arg_idx = 0;
  bool skip_identical_ctrl_arg = false;
  for (int i = 1; i < argc; ++i) {
    // Starts with a '-' and the second char (if exists) is not a number,
    // then we regards this is an (attempted) control arugments
    // Note: isdigit will regard the '\0' in argv as a non-number character
    if (argv[i][0] == '-' && !isdigit(argv[i][1])) {
      if (arg_map.count(argv[i]) > 0) {
        skip_identical_ctrl_arg = true;
        if (expected_control_arg.find(argv[i]) != expected_control_arg.end()) {
          error_flag.err_redundant_identical_ctrl_arg = true;
        }
        continue;
      }
      arg_map[argv[i]];
      curr_ctrl_arg_idx = i;
      skip_identical_ctrl_arg = false;
    } else if (!skip_identical_ctrl_arg &&
               arg_map.size() > 0)  // to avoid the case like "./<prog_name> 2"
                                    // that will insert the value 2 into arg_map
    {
      arg_map[argv[curr_ctrl_arg_idx]].push_back(argv[i]);
    }
  }

#ifdef DEBUG  // this function will be executed when debugging
  print_arg_map_contents(arg_map);
#endif

  // If --help is specified, ignore all other arguments and print the help
  // message
  if (arg_map.find("--help") != arg_map.end()) {
    if (argc == 2) {
      display_help_message();
      return false;
    } else {
      // If --help and other arguments are specified at the same time, show the
      // appropriate message
      error_flag.err_help_ctrl_arg_with_other_args = true;
    }
  }

  // Now check whether the command line arguments are invalid
  const auto iter_total_pull_time = arg_map.find("-t");
  const auto iter_total_pull_time_long_name = arg_map.find("--total-pull-time");
  const auto iter_pity = arg_map.find("-p");
  const auto iter_pity_long_name = arg_map.find("--pity");
  const auto iter_num_rate_up = arg_map.find("-n");
  const auto iter_num_rate_up_long_name = arg_map.find("--num-rate-up");
  const auto iter_current_pull = arg_map.find("-c");
  const auto iter_current_pull_long_name = arg_map.find("--current-pull");

  // Check whether the first argument (i.e., argv[1]) is an unexpected arg
  if (argv[1][0] != '-' || isdigit(argv[1][1])) {
    error_flag.err_unexpected_arguments_at_the_beginning = true;
  }
  // Check whether there is invalid control arg
  for (const auto& p : arg_map) {
    if (expected_control_arg.find(p.first) == expected_control_arg.end()) {
      error_flag.err_invalid_ctrl_args = true;
      error_flag.invalid_ctrl_args_list.push_back(p.first);
    }
  }
  // Check whether the short name and the long name of the same type of ctrl
  // arg are specified at the same time
  if (iter_total_pull_time != arg_map.end() &&
      iter_total_pull_time_long_name != arg_map.end()) {
    error_flag.err_redundant_total_pull_time_ctrl_arg = true;
  }
  if (iter_pity != arg_map.end() && iter_pity_long_name != arg_map.end()) {
    error_flag.err_redundant_pity_ctrl_arg = true;
  }
  if (iter_num_rate_up != arg_map.end() &&
      iter_num_rate_up_long_name != arg_map.end()) {
    error_flag.err_redundant_num_rate_up_ctrl_arg = true;
  }
  if (iter_current_pull != arg_map.end() &&
      iter_current_pull_long_name != arg_map.end()) {
    error_flag.err_redundant_current_pull_ctrl_arg = true;
  }

  // Check whether conflict control arguments are provided,
  // i.e., --standard and --limited are both provided
  if (arg_map.find("--standard") != arg_map.end() &&
      arg_map.find("--limited") != arg_map.end()) {
    error_flag.err_conflict_ctrl_arg_flag = true;
  }

  // Check whether missing a specific value for control arguments that expect one,
  // i.e., -t/--total-pull-time, -p/--pity, -n/--num-rate-up and -c/--current-pull
  if (iter_total_pull_time != arg_map.cend() &&
      iter_total_pull_time->second.size() == 0) {
    error_flag.err_missing_value_for_total_pull_time_ctrl_arg = true;
  } else if (iter_total_pull_time_long_name != arg_map.cend() &&
             iter_total_pull_time_long_name->second.size() == 0) {
    error_flag.err_missing_value_for_total_pull_time_long_name_ctrl_arg = true;
  }

  if (iter_pity != arg_map.cend() && iter_pity->second.size() == 0) {
    error_flag.err_missing_value_for_pity_ctrl_arg = true;
  } else if (iter_pity_long_name != arg_map.cend() &&
             iter_pity_long_name->second.size() == 0) {
    error_flag.err_missing_value_for_pity_long_name_ctrl_arg = true;
  }

  if (iter_num_rate_up != arg_map.cend() &&
      iter_num_rate_up->second.size() == 0) {
    error_flag.err_missing_value_for_num_rate_up_ctrl_arg = true;
  } else if (iter_num_rate_up_long_name != arg_map.cend() &&
             iter_num_rate_up_long_name->second.size() == 0) {
    error_flag.err_missing_value_for_num_rate_up_long_name_ctrl_arg = true;
  }

  if (iter_current_pull != arg_map.cend() &&
      iter_current_pull->second.size() == 0) {
    error_flag.err_missing_value_for_current_pull_ctrl_arg = true;
  } else if (iter_current_pull_long_name != arg_map.cend() &&
             iter_current_pull_long_name->second.size() == 0) {
    error_flag.err_missing_value_for_current_pull_long_name_ctrl_arg = true;
  }

  // Check the format of specific value for control arguments that expect one.
  // If the format is correct, then retrieve the argument value by converting
  // string to integer
  // To receive the final value if valid, max value is 2^64 - 1
  unsigned long long int total_pull_time_temp = 0;
  // To check whether provided a negative value
  long long int total_pull_time_temp_compare = 0;
  if (iter_total_pull_time != arg_map.cend()) {
    if (iter_total_pull_time->second.size() > 1) {
      error_flag.err_invalid_value_for_total_pull_time_ctrl_arg = true;
    }
    // Must be a non-empty vector to be able call strtol
    else if (iter_total_pull_time->second.size() > 0) {
      char* p_end = nullptr;
      char* p_end_compare = nullptr;
      total_pull_time_temp =
          strtoull(iter_total_pull_time->second[0].c_str(), &p_end, 10);
      total_pull_time_temp_compare =
          strtoll(iter_total_pull_time->second[0].c_str(), &p_end_compare, 10);
      if (*p_end != '\0' || *p_end_compare != '\0' ||  // not a number
          total_pull_time_temp_compare <= 0            // non positive value
      ) {
        error_flag.err_invalid_value_for_total_pull_time_ctrl_arg = true;
      }
    }
  }
  if (iter_total_pull_time_long_name != arg_map.cend()) {
    if (iter_total_pull_time_long_name->second.size() > 1) {
      error_flag.err_invalid_value_for_total_pull_time_long_name_ctrl_arg = true;
    } else if (iter_total_pull_time_long_name->second.size() > 0) {
      char* p_end = nullptr;
      char* p_end_compare = nullptr;
      total_pull_time_temp = strtoull(
          iter_total_pull_time_long_name->second[0].c_str(), &p_end, 10);
      total_pull_time_temp_compare =
          strtoll(iter_total_pull_time_long_name->second[0].c_str(),
                  &p_end_compare, 10);
      if (*p_end != '\0' || *p_end_compare != '\0' ||  // not a number
          total_pull_time_temp_compare <= 0            // non positive value
      ) {
        error_flag.err_invalid_value_for_total_pull_time_long_name_ctrl_arg =
            true;
      }
    }
  }

  unsigned long long int pity_starting_temp = 50;
  long long int pity_starting_temp_compare = 50;
  if (iter_pity != arg_map.cend()) {
    if (iter_pity->second.size() > 1) {
      error_flag.err_invalid_value_for_pity_ctrl_arg = true;
    } else if (iter_pity->second.size() > 0) {
      char* p_end = nullptr;
      char* p_end_compare = nullptr;
      pity_starting_temp = strtoull(iter_pity->second[0].c_str(), &p_end, 10);
      pity_starting_temp_compare =
          strtoll(iter_pity->second[0].c_str(), &p_end_compare, 10);
      if (*p_end != '\0' || *p_end_compare != '\0' ||
          pity_starting_temp_compare < 0) {
        error_flag.err_invalid_value_for_pity_ctrl_arg = true;
      }
      // Shrink the big value to atmost 2^32 - 1
      pity_starting_temp = (pity_starting_temp <= max_pity_starting_point)
                                ? pity_starting_temp
                                : max_pity_starting_point;
    }
  }
  if (iter_pity_long_name != arg_map.cend()) {
    if (iter_pity_long_name->second.size() > 1) {
      error_flag.err_invalid_value_for_pity_long_name_ctrl_arg = true;
    } else if (iter_pity_long_name->second.size() > 0) {
      char* p_end = nullptr;
      char* p_end_compare = nullptr;
      pity_starting_temp =
          strtoul(iter_pity_long_name->second[0].c_str(), &p_end, 10);
      pity_starting_temp_compare =
          strtol(iter_pity_long_name->second[0].c_str(), &p_end_compare, 10);
      if (*p_end != '\0' || *p_end_compare != '\0' ||
          pity_starting_temp_compare < 0) {
        error_flag.err_invalid_value_for_pity_long_name_ctrl_arg = true;
      }
      // Shrink the big value to atmost 2^32 - 1
      pity_starting_temp = (pity_starting_temp <= max_pity_starting_point)
                                ? pity_starting_temp
                                : max_pity_starting_point;
    }
  }

  long int num_rate_up_temp = -1;
  if (iter_num_rate_up != arg_map.cend()) {
    if (iter_num_rate_up->second.size() > 1) {
      error_flag.err_invalid_value_for_num_rate_up_ctrl_arg = true;
    } else if (iter_num_rate_up->second.size() > 0) {
      char* p_end = nullptr;
      num_rate_up_temp =
          strtol(iter_num_rate_up->second[0].c_str(), &p_end, 10);
      if (*p_end != '\0' || (num_rate_up_temp != 1 && num_rate_up_temp != 2)) {
        error_flag.err_invalid_value_for_num_rate_up_ctrl_arg = true;
      }
    }
  }
  if (iter_num_rate_up_long_name != arg_map.cend()) {
    if (iter_num_rate_up_long_name->second.size() > 1) {
      error_flag.err_invalid_value_for_num_rate_up_long_name_ctrl_arg = true;
    } else if (iter_num_rate_up_long_name->second.size() > 0) {
      char* p_end = nullptr;
      num_rate_up_temp =
          strtol(iter_num_rate_up_long_name->second[0].c_str(), &p_end, 10);
      if (*p_end != '\0' || (num_rate_up_temp != 1 && num_rate_up_temp != 2)) {
        error_flag.err_invalid_value_for_num_rate_up_long_name_ctrl_arg = true;
      }
    }
  }

  unsigned long long int current_pull_temp = 0;
  long long int current_pull_temp_compare = 0;
  if (iter_current_pull != arg_map.cend()) {
    if (iter_current_pull->second.size() > 1) {
      error_flag.err_invalid_value_for_current_pull_ctrl_arg = true;
    } else if (iter_current_pull->second.size() > 0) {
      char* p_end = nullptr;
      char* p_end_compare = nullptr;
      current_pull_temp =
          strtoull(iter_current_pull->second[0].c_str(), &p_end, 10);
      current_pull_temp_compare =
          strtoll(iter_current_pull->second[0].c_str(), &p_end_compare, 10);
      if (*p_end != '\0' || *p_end_compare != '\0' ||
          current_pull_temp_compare < 0) {
        error_flag.err_invalid_value_for_current_pull_ctrl_arg = true;
      }
      // Now we need to check whether the value of -c|--current-pull exceeds its
      // biggest valid value, i.e., <-p|--pity + 49>
      if (current_pull_temp >= pity_starting_temp + steps_to_guaranteed_star6) {
        error_flag.err_invalid_value_for_current_pull_ctrl_arg = true;
      }
    }
  }
  if (iter_current_pull_long_name != arg_map.cend()) {
    if (iter_current_pull_long_name->second.size() > 1) {
      error_flag.err_invalid_value_for_current_pull_ctrl_arg = true;
    } else if (iter_current_pull_long_name->second.size() > 0) {
      char* p_end = nullptr;
      char* p_end_compare = nullptr;
      current_pull_temp =
          strtoull(iter_current_pull_long_name->second[0].c_str(), &p_end, 10);
      current_pull_temp_compare = strtoll(
          iter_current_pull_long_name->second[0].c_str(), &p_end_compare, 10);
      if (*p_end != '\0' || *p_end_compare != '\0' ||
          current_pull_temp_compare < 0) {
        error_flag.err_invalid_value_for_current_pull_ctrl_arg = true;
      }
      if (current_pull_temp >= pity_starting_temp + steps_to_guaranteed_star6) {
        error_flag.err_invalid_value_for_current_pull_long_name_ctrl_arg = true;
      }
    }
  }

  // Check whether there is unexpected values for the control
  // arguments --standard and --limited
  if (arg_map.count("--standard") == 1 && arg_map["--standard"].size() != 0) {
    error_flag.err_unexpected_value_for_ctrl_arg_standard = true;
  }
  if (arg_map.count("--limited") == 1 && arg_map["--limited"].size() != 0) {
    error_flag.err_unexpected_value_for_ctrl_arg_limited = true;
  }

  display_error_detail(error_flag);

  // Command line input is valid, now set the fields ProbabilityWrapper
  if (!error_flag.check_err()) {
    if (arg_map.find("--standard") != arg_map.end()) {
      probability_wrapper.set_on_banner_star6_conditional_rate(
          standard_banner_on_banner_star6_conditional_rate);
    } else if (arg_map.find("--limited") != arg_map.end()) {
      probability_wrapper.set_on_banner_star6_conditional_rate(
          limited_banner_on_banner_star6_conditional_rate);
    }
    // Set the value of -t|--total-pull-time
    if (iter_total_pull_time != arg_map.cend()) {
      assert(iter_total_pull_time->second.size() == 1);
      total_pull_time = total_pull_time_temp;
    }
    if (iter_total_pull_time_long_name != arg_map.cend()) {
      assert(iter_total_pull_time_long_name->second.size() == 1);
      total_pull_time = total_pull_time_temp;
    }
    // Set the value of -p|--pity
    if (iter_pity != arg_map.cend()) {
      assert(iter_pity->second.size() == 1);
      assert(pity_starting_point <= max_pity_starting_point);
      pity_starting_point = static_cast<unsigned int>(pity_starting_temp);
    }
    if (iter_pity_long_name != arg_map.cend()) {
      assert(iter_pity_long_name->second.size() == 1);
      assert(pity_starting_point <= max_pity_starting_point);
      pity_starting_point = static_cast<unsigned int>(pity_starting_temp);
    }
    // Set the value of -n|--num-rate-up
    if (iter_num_rate_up != arg_map.cend()) {
      assert(iter_num_rate_up->second.size() == 1);
      probability_wrapper.set_banner_operator_num(num_rate_up_temp);
    }
    if (iter_num_rate_up_long_name != arg_map.cend()) {
      assert(iter_num_rate_up_long_name->second.size() == 1);
      probability_wrapper.set_banner_operator_num(num_rate_up_temp);
    }
    // Set the value of -c|--current-pull
    if (iter_current_pull != arg_map.end()) {
      assert(iter_current_pull->second.size() == 1);
      current_pull = current_pull_temp;
    }
    if (iter_current_pull_long_name != arg_map.end()) {
      assert(iter_current_pull_long_name->second.size() == 1);
      current_pull = current_pull_temp;
    }
  }

  return !error_flag.check_err();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb70, %rsp            # imm = 0xB70
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movl $0xa, -0x34(%rbp)
cmpl $0xa, -0x8(%rbp)
jle 0x2b0f
movq 0x1450a(%rip), %rdi     # 0x16ff0
leaq 0xd3e3(%rip), %rsi      # 0xfed0
callq 0x2210
movq %rax, %rdi
movq 0x144c4(%rip), %rsi     # 0x16fc0
callq 0x2240
callq 0x2660
movb $0x0, -0x1(%rbp)
jmp 0x5b5b
cmpl $0x1, -0x8(%rbp)
jne 0x2b40
movq 0x144d4(%rip), %rdi     # 0x16ff0
leaq 0xd3c3(%rip), %rsi      # 0xfee6
callq 0x2210
movq %rax, %rdi
movq 0x1448e(%rip), %rsi     # 0x16fc0
callq 0x2240
movb $0x1, -0x1(%rbp)
jmp 0x5b5b
movb $0x1, -0x207(%rbp)
leaq -0x1e0(%rbp), %rax
movq %rax, -0x890(%rbp)
movq %rax, -0x1e8(%rbp)
leaq -0x1e9(%rbp), %rdi
movq %rdi, -0x888(%rbp)
callq 0x2370
movq -0x890(%rbp), %rdi
movq -0x888(%rbp), %rdx
leaq 0xd3b4(%rip), %rsi      # 0xff38
callq 0x6f00
jmp 0x2b8b
leaq -0x1c0(%rbp), %rax
movq %rax, -0x8a0(%rbp)
movq %rax, -0x1e8(%rbp)
leaq -0x1fd(%rbp), %rdi
movq %rdi, -0x898(%rbp)
callq 0x2370
movq -0x8a0(%rbp), %rdi
movq -0x898(%rbp), %rdx
leaq 0xd377(%rip), %rsi      # 0xff3f
callq 0x6f00
jmp 0x2bcf
leaq -0x1a0(%rbp), %rax
movq %rax, -0x8b0(%rbp)
movq %rax, -0x1e8(%rbp)
leaq -0x1fe(%rbp), %rdi
movq %rdi, -0x8a8(%rbp)
callq 0x2370
movq -0x8b0(%rbp), %rdi
movq -0x8a8(%rbp), %rdx
leaq 0xd336(%rip), %rsi      # 0xff42
callq 0x6f00
jmp 0x2c13
leaq -0x180(%rbp), %rax
movq %rax, -0x8c0(%rbp)
movq %rax, -0x1e8(%rbp)
leaq -0x1ff(%rbp), %rdi
movq %rdi, -0x8b8(%rbp)
callq 0x2370
movq -0x8c0(%rbp), %rdi
movq -0x8b8(%rbp), %rdx
leaq 0xd304(%rip), %rsi      # 0xff54
callq 0x6f00
jmp 0x2c57
leaq -0x160(%rbp), %rax
movq %rax, -0x8d0(%rbp)
movq %rax, -0x1e8(%rbp)
leaq -0x200(%rbp), %rdi
movq %rdi, -0x8c8(%rbp)
callq 0x2370
movq -0x8d0(%rbp), %rdi
movq -0x8c8(%rbp), %rdx
leaq 0xd2ca(%rip), %rsi      # 0xff5e
callq 0x6f00
jmp 0x2c9b
leaq -0x140(%rbp), %rax
movq %rax, -0x8e0(%rbp)
movq %rax, -0x1e8(%rbp)
leaq -0x201(%rbp), %rdi
movq %rdi, -0x8d8(%rbp)
callq 0x2370
movq -0x8e0(%rbp), %rdi
movq -0x8d8(%rbp), %rdx
leaq 0xd291(%rip), %rsi      # 0xff69
callq 0x6f00
jmp 0x2cdf
leaq -0x120(%rbp), %rax
movq %rax, -0x8f0(%rbp)
movq %rax, -0x1e8(%rbp)
leaq -0x202(%rbp), %rdi
movq %rdi, -0x8e8(%rbp)
callq 0x2370
movq -0x8f0(%rbp), %rdi
movq -0x8e8(%rbp), %rdx
leaq 0xd250(%rip), %rsi      # 0xff6c
callq 0x6f00
jmp 0x2d23
leaq -0x100(%rbp), %rax
movq %rax, -0x900(%rbp)
movq %rax, -0x1e8(%rbp)
leaq -0x203(%rbp), %rdi
movq %rdi, -0x8f8(%rbp)
callq 0x2370
movq -0x900(%rbp), %rdi
movq -0x8f8(%rbp), %rdx
leaq 0xd213(%rip), %rsi      # 0xff73
callq 0x6f00
jmp 0x2d67
leaq -0xe0(%rbp), %rax
movq %rax, -0x910(%rbp)
movq %rax, -0x1e8(%rbp)
leaq -0x204(%rbp), %rdi
movq %rdi, -0x908(%rbp)
callq 0x2370
movq -0x910(%rbp), %rdi
movq -0x908(%rbp), %rdx
leaq 0xd1d2(%rip), %rsi      # 0xff76
callq 0x6f00
jmp 0x2dab
leaq -0xc0(%rbp), %rax
movq %rax, -0x920(%rbp)
movq %rax, -0x1e8(%rbp)
leaq -0x205(%rbp), %rdi
movq %rdi, -0x918(%rbp)
callq 0x2370
movq -0x920(%rbp), %rdi
movq -0x918(%rbp), %rdx
leaq 0xd19c(%rip), %rsi      # 0xff84
callq 0x6f00
jmp 0x2def
leaq -0xa0(%rbp), %rax
movq %rax, -0x930(%rbp)
movq %rax, -0x1e8(%rbp)
leaq -0x206(%rbp), %rdi
movq %rdi, -0x928(%rbp)
callq 0x2370
movq -0x930(%rbp), %rdi
movq -0x928(%rbp), %rdx
leaq 0xd15b(%rip), %rsi      # 0xff87
callq 0x6f00
jmp 0x2e33
movb $0x0, -0x207(%rbp)
leaq -0x1e0(%rbp), %rax
movq %rax, -0x80(%rbp)
movq $0xb, -0x78(%rbp)
leaq -0x20a(%rbp), %rdi
movq %rdi, -0x938(%rbp)
callq 0x6fb0
movq -0x938(%rbp), %rcx
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
movq %rsp, %rax
movq %rcx, (%rax)
xorl %eax, %eax
movl %eax, %ecx
leaq -0x70(%rbp), %rdi
leaq -0x208(%rbp), %r8
leaq -0x209(%rbp), %r9
callq 0x6fd0
jmp 0x2e92
leaq -0x20a(%rbp), %rdi
callq 0x7030
leaq -0x1e0(%rbp), %rax
movq %rax, -0x948(%rbp)
addq $0x160, %rax            # imm = 0x160
movq %rax, -0x940(%rbp)
movq -0x940(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x950(%rbp)
callq 0x2120
movq -0x948(%rbp), %rcx
movq -0x950(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x940(%rbp)
jne 0x2eb9
leaq -0x206(%rbp), %rdi
callq 0x2260
leaq -0x205(%rbp), %rdi
callq 0x2260
leaq -0x204(%rbp), %rdi
callq 0x2260
leaq -0x203(%rbp), %rdi
callq 0x2260
leaq -0x202(%rbp), %rdi
callq 0x2260
leaq -0x201(%rbp), %rdi
callq 0x2260
leaq -0x200(%rbp), %rdi
callq 0x2260
leaq -0x1ff(%rbp), %rdi
callq 0x2260
leaq -0x1fe(%rbp), %rdi
callq 0x2260
leaq -0x1fd(%rbp), %rdi
callq 0x2260
leaq -0x1e9(%rbp), %rdi
callq 0x2260
leaq -0x248(%rbp), %rdi
callq 0x7050
leaq -0x280(%rbp), %rdi
callq 0x7070
jmp 0x2f88
movl $0x0, -0x284(%rbp)
movb $0x0, -0x285(%rbp)
movl $0x1, -0x28c(%rbp)
movl -0x28c(%rbp), %eax
cmpl -0x8(%rbp), %eax
jge 0x36ab
movq -0x10(%rbp), %rax
movslq -0x28c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x34fd
movq -0x10(%rbp), %rax
movslq -0x28c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movsbl 0x1(%rax), %edi
callq 0x21d0
cmpl $0x0, %eax
jne 0x34fd
movq -0x10(%rbp), %rax
movslq -0x28c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x960(%rbp)
leaq -0x2b1(%rbp), %rdi
movq %rdi, -0x958(%rbp)
callq 0x2370
movq -0x960(%rbp), %rsi
movq -0x958(%rbp), %rdx
leaq -0x2b0(%rbp), %rdi
callq 0x6f00
jmp 0x3033
leaq -0x248(%rbp), %rdi
leaq -0x2b0(%rbp), %rsi
callq 0x7100
movq %rax, -0x968(%rbp)
jmp 0x304f
leaq -0x2b0(%rbp), %rdi
callq 0x2120
leaq -0x2b1(%rbp), %rdi
callq 0x2260
movq -0x968(%rbp), %rax
cmpq $0x0, %rax
jbe 0x3430
movb $0x1, -0x285(%rbp)
movq -0x10(%rbp), %rax
movslq -0x28c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x978(%rbp)
leaq -0x2e1(%rbp), %rdi
movq %rdi, -0x970(%rbp)
callq 0x2370
movq -0x978(%rbp), %rsi
movq -0x970(%rbp), %rdx
leaq -0x2e0(%rbp), %rdi
callq 0x6f00
jmp 0x30c4
leaq -0x70(%rbp), %rdi
leaq -0x2e0(%rbp), %rsi
callq 0x7160
movq %rax, -0x980(%rbp)
jmp 0x30dd
movq -0x980(%rbp), %rax
movq %rax, -0x2c0(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x7190
movq %rax, -0x2f0(%rbp)
leaq -0x2c0(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
callq 0x7130
movb %al, -0x981(%rbp)
leaq -0x2e0(%rbp), %rdi
callq 0x2120
leaq -0x2e1(%rbp), %rdi
callq 0x2260
movb -0x981(%rbp), %al
testb $0x1, %al
jne 0x313b
jmp 0x342b
movb $0x1, -0x280(%rbp)
jmp 0x342b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x3325
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x3319
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x330d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x3301
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x32f5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x32e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x32dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x32d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x32c5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x32b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x32ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x20a(%rbp), %rdi
callq 0x7030
leaq -0x1e0(%rbp), %rax
movq %rax, -0x998(%rbp)
addq $0x160, %rax            # imm = 0x160
movq %rax, -0x990(%rbp)
movq -0x990(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x9a0(%rbp)
callq 0x2120
movq -0x998(%rbp), %rcx
movq -0x9a0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x990(%rbp)
jne 0x327a
jmp 0x32ad
leaq -0x206(%rbp), %rdi
callq 0x2260
leaq -0x205(%rbp), %rdi
callq 0x2260
leaq -0x204(%rbp), %rdi
callq 0x2260
leaq -0x203(%rbp), %rdi
callq 0x2260
leaq -0x202(%rbp), %rdi
callq 0x2260
leaq -0x201(%rbp), %rdi
callq 0x2260
leaq -0x200(%rbp), %rdi
callq 0x2260
leaq -0x1ff(%rbp), %rdi
callq 0x2260
leaq -0x1fe(%rbp), %rdi
callq 0x2260
leaq -0x1fd(%rbp), %rdi
callq 0x2260
leaq -0x1e9(%rbp), %rdi
callq 0x2260
testb $0x1, -0x207(%rbp)
jne 0x333c
jmp 0x3389
movq -0x1e8(%rbp), %rax
leaq -0x1e0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x9a8(%rbp)
je 0x3387
movq -0x9a8(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x9b0(%rbp)
callq 0x2120
movq -0x9b0(%rbp), %rax
leaq -0x1e0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x9a8(%rbp)
jne 0x3356
jmp 0x3389
jmp 0x5b69
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x5b44
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x33d7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x2b0(%rbp), %rdi
callq 0x2120
leaq -0x2b1(%rbp), %rdi
callq 0x2260
jmp 0x5b38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x341a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x2e0(%rbp), %rdi
callq 0x2120
leaq -0x2e1(%rbp), %rdi
callq 0x2260
jmp 0x5b38
jmp 0x3697
movq -0x10(%rbp), %rax
movslq -0x28c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x9c0(%rbp)
leaq -0x311(%rbp), %rdi
movq %rdi, -0x9b8(%rbp)
callq 0x2370
movq -0x9c0(%rbp), %rsi
movq -0x9b8(%rbp), %rdx
leaq -0x310(%rbp), %rdi
callq 0x6f00
jmp 0x3475
leaq -0x248(%rbp), %rdi
leaq -0x310(%rbp), %rsi
callq 0x71c0
jmp 0x348a
leaq -0x310(%rbp), %rdi
callq 0x2120
leaq -0x311(%rbp), %rdi
callq 0x2260
movl -0x28c(%rbp), %eax
movl %eax, -0x284(%rbp)
movb $0x0, -0x285(%rbp)
jmp 0x3695
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x34ec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x310(%rbp), %rdi
callq 0x2120
leaq -0x311(%rbp), %rdi
callq 0x2260
jmp 0x5b38
testb $0x1, -0x285(%rbp)
jne 0x3693
leaq -0x248(%rbp), %rdi
callq 0x71f0
cmpq $0x0, %rax
jbe 0x3693
movq -0x10(%rbp), %rax
movslq -0x284(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x9d0(%rbp)
leaq -0x339(%rbp), %rdi
movq %rdi, -0x9c8(%rbp)
callq 0x2370
movq -0x9d0(%rbp), %rsi
movq -0x9c8(%rbp), %rdx
leaq -0x338(%rbp), %rdi
callq 0x6f00
jmp 0x3565
leaq -0x248(%rbp), %rdi
leaq -0x338(%rbp), %rsi
callq 0x71c0
movq %rax, -0x9d8(%rbp)
jmp 0x3581
movq -0x10(%rbp), %rax
movslq -0x28c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x9e8(%rbp)
leaq -0x361(%rbp), %rdi
movq %rdi, -0x9e0(%rbp)
callq 0x2370
movq -0x9e8(%rbp), %rsi
movq -0x9e0(%rbp), %rdx
leaq -0x360(%rbp), %rdi
callq 0x6f00
jmp 0x35c6
movq -0x9d8(%rbp), %rdi
leaq -0x360(%rbp), %rsi
callq 0x7210
jmp 0x35db
leaq -0x360(%rbp), %rdi
callq 0x2120
leaq -0x361(%rbp), %rdi
callq 0x2260
leaq -0x338(%rbp), %rdi
callq 0x2120
leaq -0x339(%rbp), %rdi
callq 0x2260
jmp 0x3693
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x3682
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x3676
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x366a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x360(%rbp), %rdi
callq 0x2120
leaq -0x361(%rbp), %rdi
callq 0x2260
leaq -0x338(%rbp), %rdi
callq 0x2120
leaq -0x339(%rbp), %rdi
callq 0x2260
jmp 0x5b38
jmp 0x3695
jmp 0x3697
movl -0x28c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28c(%rbp)
jmp 0x2fa3
leaq -0x391(%rbp), %rdi
movq %rdi, -0x9f0(%rbp)
callq 0x2370
movq -0x9f0(%rbp), %rdx
leaq 0xc86c(%rip), %rsi      # 0xff38
leaq -0x390(%rbp), %rdi
callq 0x6f00
jmp 0x36da
leaq -0x248(%rbp), %rdi
leaq -0x390(%rbp), %rsi
callq 0x7270
movq %rax, -0x9f8(%rbp)
jmp 0x36f6
movq -0x9f8(%rbp), %rax
movq %rax, -0x370(%rbp)
leaq -0x248(%rbp), %rdi
callq 0x72a0
movq %rax, -0x3a0(%rbp)
leaq -0x370(%rbp), %rdi
leaq -0x3a0(%rbp), %rsi
callq 0x7240
movb %al, -0x9f9(%rbp)
leaq -0x390(%rbp), %rdi
callq 0x2120
leaq -0x391(%rbp), %rdi
callq 0x2260
movb -0x9f9(%rbp), %al
testb $0x1, %al
jne 0x3757
jmp 0x37da
cmpl $0x2, -0x8(%rbp)
jne 0x37d1
callq 0x2660
jmp 0x3764
movb $0x0, -0x1(%rbp)
movl $0x1, -0x3a4(%rbp)
jmp 0x5b15
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x37a9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x390(%rbp), %rdi
callq 0x2120
leaq -0x391(%rbp), %rdi
callq 0x2260
jmp 0x5b38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x5b38
movb $0x1, -0x267(%rbp)
jmp 0x37da
leaq -0x3d1(%rbp), %rdi
movq %rdi, -0xa08(%rbp)
callq 0x2370
movq -0xa08(%rbp), %rdx
leaq 0xc744(%rip), %rsi      # 0xff3f
leaq -0x3d0(%rbp), %rdi
callq 0x6f00
jmp 0x3809
leaq -0x248(%rbp), %rdi
leaq -0x3d0(%rbp), %rsi
callq 0x7270
movq %rax, -0xa10(%rbp)
jmp 0x3825
movq -0xa10(%rbp), %rax
movq %rax, -0x3b0(%rbp)
leaq -0x3d0(%rbp), %rdi
callq 0x2120
leaq -0x3d1(%rbp), %rdi
callq 0x2260
leaq -0x401(%rbp), %rdi
movq %rdi, -0xa18(%rbp)
callq 0x2370
movq -0xa18(%rbp), %rdx
leaq 0xc6d6(%rip), %rsi      # 0xff42
leaq -0x400(%rbp), %rdi
callq 0x6f00
jmp 0x387a
leaq -0x248(%rbp), %rdi
leaq -0x400(%rbp), %rsi
callq 0x7270
movq %rax, -0xa20(%rbp)
jmp 0x3896
movq -0xa20(%rbp), %rax
movq %rax, -0x3e0(%rbp)
leaq -0x400(%rbp), %rdi
callq 0x2120
leaq -0x401(%rbp), %rdi
callq 0x2260
leaq -0x431(%rbp), %rdi
movq %rdi, -0xa28(%rbp)
callq 0x2370
movq -0xa28(%rbp), %rdx
leaq 0xc68c(%rip), %rsi      # 0xff69
leaq -0x430(%rbp), %rdi
callq 0x6f00
jmp 0x38eb
leaq -0x248(%rbp), %rdi
leaq -0x430(%rbp), %rsi
callq 0x7270
movq %rax, -0xa30(%rbp)
jmp 0x3907
movq -0xa30(%rbp), %rax
movq %rax, -0x410(%rbp)
leaq -0x430(%rbp), %rdi
callq 0x2120
leaq -0x431(%rbp), %rdi
callq 0x2260
leaq -0x461(%rbp), %rdi
movq %rdi, -0xa38(%rbp)
callq 0x2370
movq -0xa38(%rbp), %rdx
leaq 0xc61e(%rip), %rsi      # 0xff6c
leaq -0x460(%rbp), %rdi
callq 0x6f00
jmp 0x395c
leaq -0x248(%rbp), %rdi
leaq -0x460(%rbp), %rsi
callq 0x7270
movq %rax, -0xa40(%rbp)
jmp 0x3978
movq -0xa40(%rbp), %rax
movq %rax, -0x440(%rbp)
leaq -0x460(%rbp), %rdi
callq 0x2120
leaq -0x461(%rbp), %rdi
callq 0x2260
leaq -0x491(%rbp), %rdi
movq %rdi, -0xa48(%rbp)
callq 0x2370
movq -0xa48(%rbp), %rdx
leaq 0xc5b4(%rip), %rsi      # 0xff73
leaq -0x490(%rbp), %rdi
callq 0x6f00
jmp 0x39cd
leaq -0x248(%rbp), %rdi
leaq -0x490(%rbp), %rsi
callq 0x7270
movq %rax, -0xa50(%rbp)
jmp 0x39e9
movq -0xa50(%rbp), %rax
movq %rax, -0x470(%rbp)
leaq -0x490(%rbp), %rdi
callq 0x2120
leaq -0x491(%rbp), %rdi
callq 0x2260
leaq -0x4c1(%rbp), %rdi
movq %rdi, -0xa58(%rbp)
callq 0x2370
movq -0xa58(%rbp), %rdx
leaq 0xc546(%rip), %rsi      # 0xff76
leaq -0x4c0(%rbp), %rdi
callq 0x6f00
jmp 0x3a3e
leaq -0x248(%rbp), %rdi
leaq -0x4c0(%rbp), %rsi
callq 0x7270
movq %rax, -0xa60(%rbp)
jmp 0x3a5a
movq -0xa60(%rbp), %rax
movq %rax, -0x4a0(%rbp)
leaq -0x4c0(%rbp), %rdi
callq 0x2120
leaq -0x4c1(%rbp), %rdi
callq 0x2260
leaq -0x4f1(%rbp), %rdi
movq %rdi, -0xa68(%rbp)
callq 0x2370
movq -0xa68(%rbp), %rdx
leaq 0xc4e3(%rip), %rsi      # 0xff84
leaq -0x4f0(%rbp), %rdi
callq 0x6f00
jmp 0x3aaf
leaq -0x248(%rbp), %rdi
leaq -0x4f0(%rbp), %rsi
callq 0x7270
movq %rax, -0xa70(%rbp)
jmp 0x3acb
movq -0xa70(%rbp), %rax
movq %rax, -0x4d0(%rbp)
leaq -0x4f0(%rbp), %rdi
callq 0x2120
leaq -0x4f1(%rbp), %rdi
callq 0x2260
leaq -0x521(%rbp), %rdi
movq %rdi, -0xa78(%rbp)
callq 0x2370
movq -0xa78(%rbp), %rdx
leaq 0xc475(%rip), %rsi      # 0xff87
leaq -0x520(%rbp), %rdi
callq 0x6f00
jmp 0x3b20
leaq -0x248(%rbp), %rdi
leaq -0x520(%rbp), %rsi
callq 0x7270
movq %rax, -0xa80(%rbp)
jmp 0x3b3c
movq -0xa80(%rbp), %rax
movq %rax, -0x500(%rbp)
leaq -0x520(%rbp), %rdi
callq 0x2120
leaq -0x521(%rbp), %rdi
callq 0x2260
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x3b8c
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movsbl 0x1(%rax), %edi
callq 0x21d0
cmpl $0x0, %eax
je 0x3db0
movb $0x1, -0x268(%rbp)
jmp 0x3db0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x3bca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x3d0(%rbp), %rdi
callq 0x2120
leaq -0x3d1(%rbp), %rdi
callq 0x2260
jmp 0x5b38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x3c0d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x400(%rbp), %rdi
callq 0x2120
leaq -0x401(%rbp), %rdi
callq 0x2260
jmp 0x5b38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x3c50
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x430(%rbp), %rdi
callq 0x2120
leaq -0x431(%rbp), %rdi
callq 0x2260
jmp 0x5b38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x3c93
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x460(%rbp), %rdi
callq 0x2120
leaq -0x461(%rbp), %rdi
callq 0x2260
jmp 0x5b38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x3cd6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x490(%rbp), %rdi
callq 0x2120
leaq -0x491(%rbp), %rdi
callq 0x2260
jmp 0x5b38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x3d19
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x4c0(%rbp), %rdi
callq 0x2120
leaq -0x4c1(%rbp), %rdi
callq 0x2260
jmp 0x5b38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x3d5c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x4f0(%rbp), %rdi
callq 0x2120
leaq -0x4f1(%rbp), %rdi
callq 0x2260
jmp 0x5b38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x3d9f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x520(%rbp), %rdi
callq 0x2120
leaq -0x521(%rbp), %rdi
callq 0x2260
jmp 0x5b38
leaq -0x248(%rbp), %rax
movq %rax, -0x530(%rbp)
movq -0x530(%rbp), %rdi
callq 0x72d0
movq %rax, -0x538(%rbp)
movq -0x530(%rbp), %rdi
callq 0x72a0
movq %rax, -0x540(%rbp)
leaq -0x538(%rbp), %rdi
leaq -0x540(%rbp), %rsi
callq 0x7240
testb $0x1, %al
jne 0x3e00
jmp 0x3e94
leaq -0x538(%rbp), %rdi
callq 0x7300
movq %rax, -0x548(%rbp)
movq -0x548(%rbp), %rsi
leaq -0x70(%rbp), %rdi
callq 0x7160
movq %rax, -0xa88(%rbp)
jmp 0x3e2c
movq -0xa88(%rbp), %rax
movq %rax, -0x550(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x7190
movq %rax, -0x558(%rbp)
leaq -0x550(%rbp), %rdi
leaq -0x558(%rbp), %rsi
callq 0x7330
testb $0x1, %al
jne 0x3e63
jmp 0x3e81
movb $0x1, -0x266(%rbp)
leaq -0x260(%rbp), %rdi
movq -0x548(%rbp), %rsi
callq 0x7360
jmp 0x3e7f
jmp 0x3e81
jmp 0x3e83
leaq -0x538(%rbp), %rdi
callq 0x73d0
jmp 0x3de4
leaq -0x248(%rbp), %rdi
callq 0x72a0
movq %rax, -0x560(%rbp)
leaq -0x3b0(%rbp), %rdi
leaq -0x560(%rbp), %rsi
callq 0x7240
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xa89(%rbp)
jne 0x3ecb
jmp 0x3ef7
leaq -0x248(%rbp), %rdi
callq 0x72a0
movq %rax, -0x568(%rbp)
leaq -0x3e0(%rbp), %rdi
leaq -0x568(%rbp), %rsi
callq 0x7240
movb %al, -0xa89(%rbp)
movb -0xa89(%rbp), %al
testb $0x1, %al
jne 0x3f03
jmp 0x3f0a
movb $0x1, -0x27f(%rbp)
leaq -0x248(%rbp), %rdi
callq 0x72a0
movq %rax, -0x570(%rbp)
leaq -0x410(%rbp), %rdi
leaq -0x570(%rbp), %rsi
callq 0x7240
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xa8a(%rbp)
jne 0x3f41
jmp 0x3f6d
leaq -0x248(%rbp), %rdi
callq 0x72a0
movq %rax, -0x578(%rbp)
leaq -0x440(%rbp), %rdi
leaq -0x578(%rbp), %rsi
callq 0x7240
movb %al, -0xa8a(%rbp)
movb -0xa8a(%rbp), %al
testb $0x1, %al
jne 0x3f79
jmp 0x3f80
movb $0x1, -0x27a(%rbp)
leaq -0x248(%rbp), %rdi
callq 0x72a0
movq %rax, -0x580(%rbp)
leaq -0x470(%rbp), %rdi
leaq -0x580(%rbp), %rsi
callq 0x7240
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xa8b(%rbp)
jne 0x3fb7
jmp 0x3fe3
leaq -0x248(%rbp), %rdi
callq 0x72a0
movq %rax, -0x588(%rbp)
leaq -0x4a0(%rbp), %rdi
leaq -0x588(%rbp), %rsi
callq 0x7240
movb %al, -0xa8b(%rbp)
movb -0xa8b(%rbp), %al
testb $0x1, %al
jne 0x3fef
jmp 0x3ff6
movb $0x1, -0x275(%rbp)
leaq -0x248(%rbp), %rdi
callq 0x72a0
movq %rax, -0x590(%rbp)
leaq -0x4d0(%rbp), %rdi
leaq -0x590(%rbp), %rsi
callq 0x7240
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xa8c(%rbp)
jne 0x402d
jmp 0x4059
leaq -0x248(%rbp), %rdi
callq 0x72a0
movq %rax, -0x598(%rbp)
leaq -0x500(%rbp), %rdi
leaq -0x598(%rbp), %rsi
callq 0x7240
movb %al, -0xa8c(%rbp)
movb -0xa8c(%rbp), %al
testb $0x1, %al
jne 0x4065
jmp 0x406c
movb $0x1, -0x270(%rbp)
leaq -0x5c1(%rbp), %rdi
movq %rdi, -0xa98(%rbp)
callq 0x2370
movq -0xa98(%rbp), %rdx
movb $0x0, -0x5fa(%rbp)
movb $0x0, -0x5fb(%rbp)
leaq 0xbec3(%rip), %rsi      # 0xff5e
leaq -0x5c0(%rbp), %rdi
callq 0x6f00
jmp 0x40a9
leaq -0x248(%rbp), %rdi
leaq -0x5c0(%rbp), %rsi
callq 0x7270
movq %rax, -0xaa0(%rbp)
jmp 0x40c5
movq -0xaa0(%rbp), %rax
movq %rax, -0x5a0(%rbp)
leaq -0x248(%rbp), %rdi
callq 0x72a0
movq %rax, -0x5d0(%rbp)
leaq -0x5a0(%rbp), %rdi
leaq -0x5d0(%rbp), %rsi
callq 0x7240
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xaa1(%rbp)
jne 0x410d
jmp 0x41a0
leaq -0x5f9(%rbp), %rdi
movq %rdi, -0xab0(%rbp)
callq 0x2370
movq -0xab0(%rbp), %rdx
movb $0x1, -0x5fa(%rbp)
leaq 0xbe1f(%rip), %rsi      # 0xff54
leaq -0x5f8(%rbp), %rdi
callq 0x6f00
jmp 0x4143
movb $0x1, -0x5fb(%rbp)
leaq -0x248(%rbp), %rdi
leaq -0x5f8(%rbp), %rsi
callq 0x7270
movq %rax, -0xab8(%rbp)
jmp 0x4166
movq -0xab8(%rbp), %rax
movq %rax, -0x5d8(%rbp)
leaq -0x248(%rbp), %rdi
callq 0x72a0
movq %rax, -0x608(%rbp)
leaq -0x5d8(%rbp), %rdi
leaq -0x608(%rbp), %rsi
callq 0x7240
movb %al, -0xaa1(%rbp)
movb -0xaa1(%rbp), %al
movb %al, -0xab9(%rbp)
testb $0x1, -0x5fb(%rbp)
jne 0x41b7
jmp 0x41c3
leaq -0x5f8(%rbp), %rdi
callq 0x2120
testb $0x1, -0x5fa(%rbp)
jne 0x41ce
jmp 0x41da
leaq -0x5f9(%rbp), %rdi
callq 0x2260
leaq -0x5c0(%rbp), %rdi
callq 0x2120
leaq -0x5c1(%rbp), %rdi
callq 0x2260
movb -0xab9(%rbp), %al
testb $0x1, %al
jne 0x4201
jmp 0x42aa
movb $0x1, -0x26b(%rbp)
jmp 0x42aa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x4299
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x428d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x4274
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
testb $0x1, -0x5fb(%rbp)
jne 0x4266
jmp 0x4272
leaq -0x5f8(%rbp), %rdi
callq 0x2120
jmp 0x4274
testb $0x1, -0x5fa(%rbp)
jne 0x427f
jmp 0x428b
leaq -0x5f9(%rbp), %rdi
callq 0x2260
jmp 0x428d
leaq -0x5c0(%rbp), %rdi
callq 0x2120
leaq -0x5c1(%rbp), %rdi
callq 0x2260
jmp 0x5b38
leaq -0x248(%rbp), %rdi
callq 0x7400
movq %rax, -0x610(%rbp)
leaq -0x3b0(%rbp), %rdi
leaq -0x610(%rbp), %rsi
callq 0x7240
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xaba(%rbp)
jne 0x42e1
jmp 0x4306
leaq -0x3b0(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x0, %rax
sete %al
movb %al, -0xaba(%rbp)
movb -0xaba(%rbp), %al
testb $0x1, %al
jne 0x4312
jmp 0x431b
movb $0x1, -0x27c(%rbp)
jmp 0x438c
leaq -0x248(%rbp), %rdi
callq 0x7400
movq %rax, -0x618(%rbp)
leaq -0x3e0(%rbp), %rdi
leaq -0x618(%rbp), %rsi
callq 0x7240
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xabb(%rbp)
jne 0x4352
jmp 0x4377
leaq -0x3e0(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x0, %rax
sete %al
movb %al, -0xabb(%rbp)
movb -0xabb(%rbp), %al
testb $0x1, %al
jne 0x4383
jmp 0x438a
movb $0x1, -0x27b(%rbp)
jmp 0x438c
leaq -0x248(%rbp), %rdi
callq 0x7400
movq %rax, -0x620(%rbp)
leaq -0x410(%rbp), %rdi
leaq -0x620(%rbp), %rsi
callq 0x7240
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xabc(%rbp)
jne 0x43c3
jmp 0x43e8
leaq -0x410(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x0, %rax
sete %al
movb %al, -0xabc(%rbp)
movb -0xabc(%rbp), %al
testb $0x1, %al
jne 0x43f4
jmp 0x43fd
movb $0x1, -0x277(%rbp)
jmp 0x446e
leaq -0x248(%rbp), %rdi
callq 0x7400
movq %rax, -0x628(%rbp)
leaq -0x440(%rbp), %rdi
leaq -0x628(%rbp), %rsi
callq 0x7240
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xabd(%rbp)
jne 0x4434
jmp 0x4459
leaq -0x440(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x0, %rax
sete %al
movb %al, -0xabd(%rbp)
movb -0xabd(%rbp), %al
testb $0x1, %al
jne 0x4465
jmp 0x446c
movb $0x1, -0x276(%rbp)
jmp 0x446e
leaq -0x248(%rbp), %rdi
callq 0x7400
movq %rax, -0x630(%rbp)
leaq -0x470(%rbp), %rdi
leaq -0x630(%rbp), %rsi
callq 0x7240
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xabe(%rbp)
jne 0x44a5
jmp 0x44ca
leaq -0x470(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x0, %rax
sete %al
movb %al, -0xabe(%rbp)
movb -0xabe(%rbp), %al
testb $0x1, %al
jne 0x44d6
jmp 0x44df
movb $0x1, -0x272(%rbp)
jmp 0x4550
leaq -0x248(%rbp), %rdi
callq 0x7400
movq %rax, -0x638(%rbp)
leaq -0x4a0(%rbp), %rdi
leaq -0x638(%rbp), %rsi
callq 0x7240
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xabf(%rbp)
jne 0x4516
jmp 0x453b
leaq -0x4a0(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x0, %rax
sete %al
movb %al, -0xabf(%rbp)
movb -0xabf(%rbp), %al
testb $0x1, %al
jne 0x4547
jmp 0x454e
movb $0x1, -0x271(%rbp)
jmp 0x4550
leaq -0x248(%rbp), %rdi
callq 0x7400
movq %rax, -0x640(%rbp)
leaq -0x4d0(%rbp), %rdi
leaq -0x640(%rbp), %rsi
callq 0x7240
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xac0(%rbp)
jne 0x4587
jmp 0x45ac
leaq -0x4d0(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x0, %rax
sete %al
movb %al, -0xac0(%rbp)
movb -0xac0(%rbp), %al
testb $0x1, %al
jne 0x45b8
jmp 0x45c1
movb $0x1, -0x26d(%rbp)
jmp 0x4632
leaq -0x248(%rbp), %rdi
callq 0x7400
movq %rax, -0x648(%rbp)
leaq -0x500(%rbp), %rdi
leaq -0x648(%rbp), %rsi
callq 0x7240
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xac1(%rbp)
jne 0x45f8
jmp 0x461d
leaq -0x500(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x0, %rax
sete %al
movb %al, -0xac1(%rbp)
movb -0xac1(%rbp), %al
testb $0x1, %al
jne 0x4629
jmp 0x4630
movb $0x1, -0x26c(%rbp)
jmp 0x4632
movq $0x0, -0x650(%rbp)
movq $0x0, -0x658(%rbp)
leaq -0x248(%rbp), %rdi
callq 0x7400
movq %rax, -0x660(%rbp)
leaq -0x3b0(%rbp), %rdi
leaq -0x660(%rbp), %rsi
callq 0x7240
testb $0x1, %al
jne 0x4677
jmp 0x478c
leaq -0x3b0(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x1, %rax
jbe 0x46a1
movb $0x1, -0x27e(%rbp)
jmp 0x478a
leaq -0x3b0(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x0, %rax
jbe 0x4788
movq $0x0, -0x668(%rbp)
movq $0x0, -0x670(%rbp)
leaq -0x3b0(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x7480
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
leaq -0x668(%rbp), %rsi
movl $0xa, %edx
callq 0x22d0
movq %rax, -0x650(%rbp)
leaq -0x3b0(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x7480
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
leaq -0x670(%rbp), %rsi
movl $0xa, %edx
callq 0x2030
movq %rax, -0x658(%rbp)
movq -0x668(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x477f
movq -0x670(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x477f
cmpq $0x0, -0x658(%rbp)
jg 0x4786
movb $0x1, -0x27e(%rbp)
jmp 0x4788
jmp 0x478a
jmp 0x478c
leaq -0x248(%rbp), %rdi
callq 0x7400
movq %rax, -0x678(%rbp)
leaq -0x3e0(%rbp), %rdi
leaq -0x678(%rbp), %rsi
callq 0x7240
testb $0x1, %al
jne 0x47bb
jmp 0x48d0
leaq -0x3e0(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x1, %rax
jbe 0x47e5
movb $0x1, -0x27d(%rbp)
jmp 0x48ce
leaq -0x3e0(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x0, %rax
jbe 0x48cc
movq $0x0, -0x680(%rbp)
movq $0x0, -0x688(%rbp)
leaq -0x3e0(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x7480
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
leaq -0x680(%rbp), %rsi
movl $0xa, %edx
callq 0x22d0
movq %rax, -0x650(%rbp)
leaq -0x3e0(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x7480
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
leaq -0x688(%rbp), %rsi
movl $0xa, %edx
callq 0x2030
movq %rax, -0x658(%rbp)
movq -0x680(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x48c3
movq -0x688(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x48c3
cmpq $0x0, -0x658(%rbp)
jg 0x48ca
movb $0x1, -0x27d(%rbp)
jmp 0x48cc
jmp 0x48ce
jmp 0x48d0
movq $0x32, -0x690(%rbp)
movq $0x32, -0x698(%rbp)
leaq -0x248(%rbp), %rdi
callq 0x7400
movq %rax, -0x6a0(%rbp)
leaq -0x410(%rbp), %rdi
leaq -0x6a0(%rbp), %rsi
callq 0x7240
testb $0x1, %al
jne 0x4915
jmp 0x4a62
leaq -0x410(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x1, %rax
jbe 0x493f
movb $0x1, -0x279(%rbp)
jmp 0x4a60
leaq -0x410(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x0, %rax
jbe 0x4a5e
movq $0x0, -0x6a8(%rbp)
movq $0x0, -0x6b0(%rbp)
leaq -0x410(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x7480
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
leaq -0x6a8(%rbp), %rsi
movl $0xa, %edx
callq 0x22d0
movq %rax, -0x690(%rbp)
leaq -0x410(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x7480
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
leaq -0x6b0(%rbp), %rsi
movl $0xa, %edx
callq 0x2030
movq %rax, -0x698(%rbp)
movq -0x6a8(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x4a1d
movq -0x6b0(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x4a1d
cmpq $0x0, -0x698(%rbp)
jge 0x4a24
movb $0x1, -0x279(%rbp)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpq %rax, -0x690(%rbp)
ja 0x4a42
movq -0x690(%rbp), %rax
movq %rax, -0xad0(%rbp)
jmp 0x4a50
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movq %rax, -0xad0(%rbp)
jmp 0x4a50
movq -0xad0(%rbp), %rax
movq %rax, -0x690(%rbp)
jmp 0x4a60
jmp 0x4a62
leaq -0x248(%rbp), %rdi
callq 0x7400
movq %rax, -0x6b8(%rbp)
leaq -0x440(%rbp), %rdi
leaq -0x6b8(%rbp), %rsi
callq 0x7240
testb $0x1, %al
jne 0x4a91
jmp 0x4bde
leaq -0x440(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x1, %rax
jbe 0x4abb
movb $0x1, -0x278(%rbp)
jmp 0x4bdc
leaq -0x440(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x0, %rax
jbe 0x4bda
movq $0x0, -0x6c0(%rbp)
movq $0x0, -0x6c8(%rbp)
leaq -0x440(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x7480
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
leaq -0x6c0(%rbp), %rsi
movl $0xa, %edx
callq 0x2080
movq %rax, -0x690(%rbp)
leaq -0x440(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x7480
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
leaq -0x6c8(%rbp), %rsi
movl $0xa, %edx
callq 0x2300
movq %rax, -0x698(%rbp)
movq -0x6c0(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x4b99
movq -0x6c8(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x4b99
cmpq $0x0, -0x698(%rbp)
jge 0x4ba0
movb $0x1, -0x278(%rbp)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpq %rax, -0x690(%rbp)
ja 0x4bbe
movq -0x690(%rbp), %rax
movq %rax, -0xad8(%rbp)
jmp 0x4bcc
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movq %rax, -0xad8(%rbp)
jmp 0x4bcc
movq -0xad8(%rbp), %rax
movq %rax, -0x690(%rbp)
jmp 0x4bdc
jmp 0x4bde
movq $-0x1, -0x6d0(%rbp)
leaq -0x248(%rbp), %rdi
callq 0x7400
movq %rax, -0x6d8(%rbp)
leaq -0x470(%rbp), %rdi
leaq -0x6d8(%rbp), %rsi
callq 0x7240
testb $0x1, %al
jne 0x4c18
jmp 0x4cda
leaq -0x470(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x1, %rax
jbe 0x4c42
movb $0x1, -0x274(%rbp)
jmp 0x4cd8
leaq -0x470(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x0, %rax
jbe 0x4cd6
movq $0x0, -0x6e0(%rbp)
leaq -0x470(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x7480
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
leaq -0x6e0(%rbp), %rsi
movl $0xa, %edx
callq 0x2300
movq %rax, -0x6d0(%rbp)
movq -0x6e0(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x4ccd
cmpq $0x1, -0x6d0(%rbp)
je 0x4cd4
cmpq $0x2, -0x6d0(%rbp)
je 0x4cd4
movb $0x1, -0x274(%rbp)
jmp 0x4cd6
jmp 0x4cd8
jmp 0x4cda
leaq -0x248(%rbp), %rdi
callq 0x7400
movq %rax, -0x6e8(%rbp)
leaq -0x4a0(%rbp), %rdi
leaq -0x6e8(%rbp), %rsi
callq 0x7240
testb $0x1, %al
jne 0x4d09
jmp 0x4dcb
leaq -0x4a0(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x1, %rax
jbe 0x4d33
movb $0x1, -0x273(%rbp)
jmp 0x4dc9
leaq -0x4a0(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x0, %rax
jbe 0x4dc7
movq $0x0, -0x6f0(%rbp)
leaq -0x4a0(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x7480
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
leaq -0x6f0(%rbp), %rsi
movl $0xa, %edx
callq 0x2300
movq %rax, -0x6d0(%rbp)
movq -0x6f0(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x4dbe
cmpq $0x1, -0x6d0(%rbp)
je 0x4dc5
cmpq $0x2, -0x6d0(%rbp)
je 0x4dc5
movb $0x1, -0x273(%rbp)
jmp 0x4dc7
jmp 0x4dc9
jmp 0x4dcb
movq $0x0, -0x6f8(%rbp)
movq $0x0, -0x700(%rbp)
leaq -0x248(%rbp), %rdi
callq 0x7400
movq %rax, -0x708(%rbp)
leaq -0x4d0(%rbp), %rdi
leaq -0x708(%rbp), %rsi
callq 0x7240
testb $0x1, %al
jne 0x4e10
jmp 0x4f43
leaq -0x4d0(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x1, %rax
jbe 0x4e3a
movb $0x1, -0x26f(%rbp)
jmp 0x4f41
leaq -0x4d0(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x0, %rax
jbe 0x4f3f
movq $0x0, -0x710(%rbp)
movq $0x0, -0x718(%rbp)
leaq -0x4d0(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x7480
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
leaq -0x710(%rbp), %rsi
movl $0xa, %edx
callq 0x22d0
movq %rax, -0x6f8(%rbp)
leaq -0x4d0(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x7480
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
leaq -0x718(%rbp), %rsi
movl $0xa, %edx
callq 0x2030
movq %rax, -0x700(%rbp)
movq -0x710(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x4f18
movq -0x718(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x4f18
cmpq $0x0, -0x700(%rbp)
jge 0x4f1f
movb $0x1, -0x26f(%rbp)
movq -0x6f8(%rbp), %rax
movq -0x690(%rbp), %rcx
addq $0x31, %rcx
cmpq %rcx, %rax
jb 0x4f3d
movb $0x1, -0x26f(%rbp)
jmp 0x4f3f
jmp 0x4f41
jmp 0x4f43
leaq -0x248(%rbp), %rdi
callq 0x7400
movq %rax, -0x720(%rbp)
leaq -0x500(%rbp), %rdi
leaq -0x720(%rbp), %rsi
callq 0x7240
testb $0x1, %al
jne 0x4f72
jmp 0x50a5
leaq -0x500(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x1, %rax
jbe 0x4f9c
movb $0x1, -0x26f(%rbp)
jmp 0x50a3
leaq -0x500(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x0, %rax
jbe 0x50a1
movq $0x0, -0x728(%rbp)
movq $0x0, -0x730(%rbp)
leaq -0x500(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x7480
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
leaq -0x728(%rbp), %rsi
movl $0xa, %edx
callq 0x22d0
movq %rax, -0x6f8(%rbp)
leaq -0x500(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x7480
movq %rax, %rdi
callq 0x20b0
movq %rax, %rdi
leaq -0x730(%rbp), %rsi
movl $0xa, %edx
callq 0x2030
movq %rax, -0x700(%rbp)
movq -0x728(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x507a
movq -0x730(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x507a
cmpq $0x0, -0x700(%rbp)
jge 0x5081
movb $0x1, -0x26f(%rbp)
movq -0x6f8(%rbp), %rax
movq -0x690(%rbp), %rcx
addq $0x31, %rcx
cmpq %rcx, %rax
jb 0x509f
movb $0x1, -0x26e(%rbp)
jmp 0x50a1
jmp 0x50a3
jmp 0x50a5
leaq -0x751(%rbp), %rdi
movq %rdi, -0xae0(%rbp)
callq 0x2370
movq -0xae0(%rbp), %rdx
movb $0x0, -0x77a(%rbp)
movb $0x0, -0x77b(%rbp)
leaq 0xae8a(%rip), %rsi      # 0xff5e
leaq -0x750(%rbp), %rdi
callq 0x6f00
jmp 0x50e2
leaq -0x248(%rbp), %rdi
leaq -0x750(%rbp), %rsi
callq 0x7100
movq %rax, -0xae8(%rbp)
jmp 0x50fe
movq -0xae8(%rbp), %rcx
xorl %eax, %eax
cmpq $0x1, %rcx
movb %al, -0xae9(%rbp)
jne 0x5185
leaq -0x779(%rbp), %rdi
movq %rdi, -0xaf8(%rbp)
callq 0x2370
movq -0xaf8(%rbp), %rdx
movb $0x1, -0x77a(%rbp)
leaq 0xae23(%rip), %rsi      # 0xff5e
leaq -0x778(%rbp), %rdi
callq 0x6f00
jmp 0x5149
movb $0x1, -0x77b(%rbp)
leaq -0x248(%rbp), %rdi
leaq -0x778(%rbp), %rsi
callq 0x71c0
movq %rax, -0xb00(%rbp)
jmp 0x516c
movq -0xb00(%rbp), %rdi
callq 0x7460
cmpq $0x0, %rax
setne %al
movb %al, -0xae9(%rbp)
movb -0xae9(%rbp), %al
movb %al, -0xb01(%rbp)
testb $0x1, -0x77b(%rbp)
jne 0x519c
jmp 0x51a8
leaq -0x778(%rbp), %rdi
callq 0x2120
testb $0x1, -0x77a(%rbp)
jne 0x51b3
jmp 0x51bf
leaq -0x779(%rbp), %rdi
callq 0x2260
leaq -0x750(%rbp), %rdi
callq 0x2120
leaq -0x751(%rbp), %rdi
callq 0x2260
movb -0xb01(%rbp), %al
testb $0x1, %al
jne 0x51e6
jmp 0x528f
movb $0x1, -0x269(%rbp)
jmp 0x528f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x527e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x5272
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x5259
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
testb $0x1, -0x77b(%rbp)
jne 0x524b
jmp 0x5257
leaq -0x778(%rbp), %rdi
callq 0x2120
jmp 0x5259
testb $0x1, -0x77a(%rbp)
jne 0x5264
jmp 0x5270
leaq -0x779(%rbp), %rdi
callq 0x2260
jmp 0x5272
leaq -0x750(%rbp), %rdi
callq 0x2120
leaq -0x751(%rbp), %rdi
callq 0x2260
jmp 0x5b38
leaq -0x7a1(%rbp), %rdi
movq %rdi, -0xb10(%rbp)
callq 0x2370
movq -0xb10(%rbp), %rdx
movb $0x0, -0x7ca(%rbp)
movb $0x0, -0x7cb(%rbp)
leaq 0xac96(%rip), %rsi      # 0xff54
leaq -0x7a0(%rbp), %rdi
callq 0x6f00
jmp 0x52cc
leaq -0x248(%rbp), %rdi
leaq -0x7a0(%rbp), %rsi
callq 0x7100
movq %rax, -0xb18(%rbp)
jmp 0x52e8
movq -0xb18(%rbp), %rcx
xorl %eax, %eax
cmpq $0x1, %rcx
movb %al, -0xb19(%rbp)
jne 0x536f
leaq -0x7c9(%rbp), %rdi
movq %rdi, -0xb28(%rbp)
callq 0x2370
movq -0xb28(%rbp), %rdx
movb $0x1, -0x7ca(%rbp)
leaq 0xac2f(%rip), %rsi      # 0xff54
leaq -0x7c8(%rbp), %rdi
callq 0x6f00
jmp 0x5333
movb $0x1, -0x7cb(%rbp)
leaq -0x248(%rbp), %rdi
leaq -0x7c8(%rbp), %rsi
callq 0x71c0
movq %rax, -0xb30(%rbp)
jmp 0x5356
movq -0xb30(%rbp), %rdi
callq 0x7460
cmpq $0x0, %rax
setne %al
movb %al, -0xb19(%rbp)
movb -0xb19(%rbp), %al
movb %al, -0xb31(%rbp)
testb $0x1, -0x7cb(%rbp)
jne 0x5386
jmp 0x5392
leaq -0x7c8(%rbp), %rdi
callq 0x2120
testb $0x1, -0x7ca(%rbp)
jne 0x539d
jmp 0x53a9
leaq -0x7c9(%rbp), %rdi
callq 0x2260
leaq -0x7a0(%rbp), %rdi
callq 0x2120
leaq -0x7a1(%rbp), %rdi
callq 0x2260
movb -0xb31(%rbp), %al
testb $0x1, %al
jne 0x53d0
jmp 0x5479
movb $0x1, -0x26a(%rbp)
jmp 0x5479
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x5468
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x545c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x5443
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
testb $0x1, -0x7cb(%rbp)
jne 0x5435
jmp 0x5441
leaq -0x7c8(%rbp), %rdi
callq 0x2120
jmp 0x5443
testb $0x1, -0x7ca(%rbp)
jne 0x544e
jmp 0x545a
leaq -0x7c9(%rbp), %rdi
callq 0x2260
jmp 0x545c
leaq -0x7a0(%rbp), %rdi
callq 0x2120
leaq -0x7a1(%rbp), %rdi
callq 0x2260
jmp 0x5b38
leaq -0x280(%rbp), %rdi
callq 0x2690
jmp 0x5487
leaq -0x280(%rbp), %rdi
callq 0x6c30
movb %al, -0xb32(%rbp)
jmp 0x549b
movb -0xb32(%rbp), %al
testb $0x1, %al
jne 0x5aea
jmp 0x54ab
leaq -0x7f9(%rbp), %rdi
movq %rdi, -0xb40(%rbp)
callq 0x2370
movq -0xb40(%rbp), %rdx
leaq 0xaa92(%rip), %rsi      # 0xff5e
leaq -0x7f8(%rbp), %rdi
callq 0x6f00
jmp 0x54da
leaq -0x248(%rbp), %rdi
leaq -0x7f8(%rbp), %rsi
callq 0x7270
movq %rax, -0xb48(%rbp)
jmp 0x54f6
movq -0xb48(%rbp), %rax
movq %rax, -0x7d8(%rbp)
leaq -0x248(%rbp), %rdi
callq 0x72a0
movq %rax, -0x808(%rbp)
leaq -0x7d8(%rbp), %rdi
leaq -0x808(%rbp), %rsi
callq 0x7240
movb %al, -0xb49(%rbp)
leaq -0x7f8(%rbp), %rdi
callq 0x2120
leaq -0x7f9(%rbp), %rdi
callq 0x2260
movb -0xb49(%rbp), %al
testb $0x1, %al
jne 0x5554
jmp 0x55af
movq -0x18(%rbp), %rdi
movsd 0x9ab8(%rip), %xmm0     # 0xf018
callq 0xe160
jmp 0x5567
jmp 0x56b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x559e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x7f8(%rbp), %rdi
callq 0x2120
leaq -0x7f9(%rbp), %rdi
callq 0x2260
jmp 0x5b38
leaq -0x831(%rbp), %rdi
movq %rdi, -0xb58(%rbp)
callq 0x2370
movq -0xb58(%rbp), %rdx
leaq 0xa984(%rip), %rsi      # 0xff54
leaq -0x830(%rbp), %rdi
callq 0x6f00
jmp 0x55de
leaq -0x248(%rbp), %rdi
leaq -0x830(%rbp), %rsi
callq 0x7270
movq %rax, -0xb60(%rbp)
jmp 0x55fa
movq -0xb60(%rbp), %rax
movq %rax, -0x810(%rbp)
leaq -0x248(%rbp), %rdi
callq 0x72a0
movq %rax, -0x840(%rbp)
leaq -0x810(%rbp), %rdi
leaq -0x840(%rbp), %rsi
callq 0x7240
movb %al, -0xb61(%rbp)
leaq -0x830(%rbp), %rdi
callq 0x2120
leaq -0x831(%rbp), %rdi
callq 0x2260
movb -0xb61(%rbp), %al
testb $0x1, %al
jne 0x5658
jmp 0x56b0
movq -0x18(%rbp), %rdi
movsd 0x99ac(%rip), %xmm0     # 0xf010
callq 0xe160
jmp 0x566b
jmp 0x56b0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x569f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x830(%rbp), %rdi
callq 0x2120
leaq -0x831(%rbp), %rdi
callq 0x2260
jmp 0x5b38
jmp 0x56b2
leaq -0x248(%rbp), %rdi
callq 0x7400
movq %rax, -0x848(%rbp)
leaq -0x3b0(%rbp), %rdi
leaq -0x848(%rbp), %rsi
callq 0x7240
testb $0x1, %al
jne 0x56de
jmp 0x572b
leaq -0x3b0(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x1, %rax
jne 0x56fe
jmp 0x571d
leaq 0xa891(%rip), %rdi      # 0xff96
leaq 0xa8b3(%rip), %rsi      # 0xffbf
movl $0x229, %edx            # imm = 0x229
leaq 0xa8b1(%rip), %rcx      # 0xffc9
callq 0x2130
movq -0x650(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
leaq -0x248(%rbp), %rdi
callq 0x7400
movq %rax, -0x850(%rbp)
leaq -0x3e0(%rbp), %rdi
leaq -0x850(%rbp), %rsi
callq 0x7240
testb $0x1, %al
jne 0x5757
jmp 0x57a4
leaq -0x3e0(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x1, %rax
jne 0x5777
jmp 0x5796
leaq 0xa8d5(%rip), %rdi      # 0x10053
leaq 0xa83a(%rip), %rsi      # 0xffbf
movl $0x22d, %edx            # imm = 0x22D
leaq 0xa838(%rip), %rcx      # 0xffc9
callq 0x2130
movq -0x650(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
leaq -0x248(%rbp), %rdi
callq 0x7400
movq %rax, -0x858(%rbp)
leaq -0x410(%rbp), %rdi
leaq -0x858(%rbp), %rsi
callq 0x7240
testb $0x1, %al
jne 0x57d0
jmp 0x584f
leaq -0x410(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x1, %rax
jne 0x57f0
jmp 0x580f
leaq 0xa88f(%rip), %rdi      # 0x10086
leaq 0xa7c1(%rip), %rsi      # 0xffbf
movl $0x232, %edx            # imm = 0x232
leaq 0xa7bf(%rip), %rcx      # 0xffc9
callq 0x2130
movq -0x28(%rbp), %rax
movl (%rax), %eax
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
cmpq %rcx, %rax
ja 0x5821
jmp 0x5840
leaq 0xa87c(%rip), %rdi      # 0x100a4
leaq 0xa790(%rip), %rsi      # 0xffbf
movl $0x233, %edx            # imm = 0x233
leaq 0xa78e(%rip), %rcx      # 0xffc9
callq 0x2130
movq -0x690(%rbp), %rax
movl %eax, %ecx
movq -0x28(%rbp), %rax
movl %ecx, (%rax)
leaq -0x248(%rbp), %rdi
callq 0x7400
movq %rax, -0x860(%rbp)
leaq -0x440(%rbp), %rdi
leaq -0x860(%rbp), %rsi
callq 0x7240
testb $0x1, %al
jne 0x587b
jmp 0x58fa
leaq -0x440(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x1, %rax
jne 0x589b
jmp 0x58ba
leaq 0xa831(%rip), %rdi      # 0x100d3
leaq 0xa716(%rip), %rsi      # 0xffbf
movl $0x237, %edx            # imm = 0x237
leaq 0xa714(%rip), %rcx      # 0xffc9
callq 0x2130
movq -0x28(%rbp), %rax
movl (%rax), %eax
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
cmpq %rcx, %rax
ja 0x58cc
jmp 0x58eb
leaq 0xa7d1(%rip), %rdi      # 0x100a4
leaq 0xa6e5(%rip), %rsi      # 0xffbf
movl $0x238, %edx            # imm = 0x238
leaq 0xa6e3(%rip), %rcx      # 0xffc9
callq 0x2130
movq -0x690(%rbp), %rax
movl %eax, %ecx
movq -0x28(%rbp), %rax
movl %ecx, (%rax)
leaq -0x248(%rbp), %rdi
callq 0x7400
movq %rax, -0x868(%rbp)
leaq -0x470(%rbp), %rdi
leaq -0x868(%rbp), %rsi
callq 0x7240
testb $0x1, %al
jne 0x5926
jmp 0x5978
leaq -0x470(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x1, %rax
jne 0x5946
jmp 0x5965
leaq 0xa7ae(%rip), %rdi      # 0x100fb
leaq 0xa66b(%rip), %rsi      # 0xffbf
movl $0x23d, %edx            # imm = 0x23D
leaq 0xa669(%rip), %rcx      # 0xffc9
callq 0x2130
movq -0x18(%rbp), %rdi
movl -0x6d0(%rbp), %esi
callq 0xe180
jmp 0x5976
jmp 0x5978
leaq -0x248(%rbp), %rdi
callq 0x7400
movq %rax, -0x870(%rbp)
leaq -0x4a0(%rbp), %rdi
leaq -0x870(%rbp), %rsi
callq 0x7240
testb $0x1, %al
jne 0x59a4
jmp 0x59f6
leaq -0x4a0(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x1, %rax
jne 0x59c4
jmp 0x59e3
leaq 0xa755(%rip), %rdi      # 0x10120
leaq 0xa5ed(%rip), %rsi      # 0xffbf
movl $0x241, %edx            # imm = 0x241
leaq 0xa5eb(%rip), %rcx      # 0xffc9
callq 0x2130
movq -0x18(%rbp), %rdi
movl -0x6d0(%rbp), %esi
callq 0xe180
jmp 0x59f4
jmp 0x59f6
leaq -0x248(%rbp), %rdi
callq 0x72a0
movq %rax, -0x878(%rbp)
leaq -0x4d0(%rbp), %rdi
leaq -0x878(%rbp), %rsi
callq 0x7240
testb $0x1, %al
jne 0x5a22
jmp 0x5a6f
leaq -0x4d0(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x1, %rax
jne 0x5a42
jmp 0x5a61
leaq 0xa706(%rip), %rdi      # 0x1014f
leaq 0xa56f(%rip), %rsi      # 0xffbf
movl $0x246, %edx            # imm = 0x246
leaq 0xa56d(%rip), %rcx      # 0xffc9
callq 0x2130
movq -0x6f8(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
leaq -0x248(%rbp), %rdi
callq 0x72a0
movq %rax, -0x880(%rbp)
leaq -0x500(%rbp), %rdi
leaq -0x880(%rbp), %rsi
callq 0x7240
testb $0x1, %al
jne 0x5a9b
jmp 0x5ae8
leaq -0x500(%rbp), %rdi
callq 0x7430
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7460
cmpq $0x1, %rax
jne 0x5abb
jmp 0x5ada
leaq 0xa6b3(%rip), %rdi      # 0x10175
leaq 0xa4f6(%rip), %rsi      # 0xffbf
movl $0x24a, %edx            # imm = 0x24A
leaq 0xa4f4(%rip), %rcx      # 0xffc9
callq 0x2130
movq -0x6f8(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
jmp 0x5aea
leaq -0x280(%rbp), %rdi
callq 0x6c30
movb %al, -0xb62(%rbp)
jmp 0x5afe
movb -0xb62(%rbp), %al
xorb $-0x1, %al
andb $0x1, %al
movb %al, -0x1(%rbp)
movl $0x1, -0x3a4(%rbp)
leaq -0x280(%rbp), %rdi
callq 0x74a0
leaq -0x248(%rbp), %rdi
callq 0x74c0
leaq -0x70(%rbp), %rdi
callq 0x74e0
jmp 0x5b5b
leaq -0x280(%rbp), %rdi
callq 0x74a0
leaq -0x248(%rbp), %rdi
callq 0x74c0
leaq -0x70(%rbp), %rdi
callq 0x74e0
jmp 0x5b69
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0xb70, %rsp            # imm = 0xB70
popq %rbp
retq
movq -0x1f8(%rbp), %rdi
callq 0x2360
nopw %cs:(%rax,%rax)