// File: tanakh[P]icfpc2015/main.cpp
// Function: main
int main(int argc, char *argv[])
{
  ppw.insert("ei!");
  ppw.insert("r'lyeh");
  ppw.insert("ia! ia!");
  ppw.insert("yuggoth");
  ppw.insert("planet 10");
  ppw.insert("tsathoggua");
  ppw.insert("yogSothoth");
  ppw.insert("john bigboote");
  ppw.insert("cthulhu fhtagn!");
  ppw.insert("Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.");

  // srand(time(NULL));
  init_genrand(time(NULL));

  string tag;
  vector<string> files;
  int tle = -1;
  int mle = -1;
  int core = 1;

  bool anneal = false;
  double init_temp;
  double temp_decay;
  int turns;

  bool gene = false;

  bool rep = false;
  int rep_id;
  int rep_seed;
  string rep_cmds;
  string rep_file;

  bool beam = false;
  int beam_width = 1;

  vector<double> def_param {4.17089, 1.37104, 1.36987, 1.4519, 0.139807, 3.30003, 1.5467, 1.16281, 0.395305, 1.95616 };

  anneal = true;
  beam_width = 1;
  init_temp = 250;
  temp_decay = 0.992;
  turns = 250;

  for (int i = 1; i < argc; ) {
    string arg = argv[i];

    if (arg == "-f") {
      files.push_back(argv[i+1]);
      i += 2;
    }
    else if (arg == "-t") {
      tle = atoi(argv[i+1]);
      i += 2;
    }
    else if (arg == "-m") {
      mle = atoi(argv[i+1]);
      i += 2;
    }
    else if (arg == "-c") {
      core = atoi(argv[i+1]);
      i += 2;
    }
    else if (arg == "-p") {
      string w = argv[i+1];
      for (auto &c: w) c = tolower(c);
      ppw.insert(w);
      i += 2;
    }

    else if (arg == "-g") {
      tag = argv[i+1];
      i += 2;
    }
    else if (arg == "-v") {
      verbose = true;
      i++;
    }
    else if (arg == "-a") {
      anneal = true;

      istringstream iss(argv[i+1]);
      char dmy;
      iss >> init_temp >> dmy >> temp_decay >> dmy >> turns;

      i += 2;
    }
    else if (arg == "-ga") {
      gene = true;
      i++;
    }
    else if (arg == "-b") {
      beam = true;
      beam_width = atoi(argv[i+1]);
      i += 2;
    }
    else if (arg == "-r") {
      rep = true;

      istringstream iss(argv[i+1]);
      char dmy;
      iss >> rep_id >> dmy >> rep_seed >> dmy;
      getline(iss, rep_cmds);

      i+=2;
    }
    else if (arg == "-rr") {
      rep = true;

      istringstream iss(argv[i+1]);
      char dmy;
      iss >> rep_id >> dmy >> rep_seed >> dmy;
      getline(iss, rep_file);

      i+=2;
    }
  }

  if (rep) {
    ostringstream fn;
    fn << "problems/problem_" << rep_id << ".json";

    if (rep_file != "") {
      ifstream ifs(rep_file.c_str());
      value v;
      parse(v, ifs);
      string sol = v.get<picojson::array>()[0].get<object>()["solution"].get<string>();

      replay(read_problem(fn.str()), rep_seed, sol);
    }
    else {
      replay(read_problem(fn.str()), rep_seed, rep_cmds);
    }
    return 0;
  }

  vector<problem> problems;
  for (auto &file: files)
    problems.push_back(read_problem(file));

  int total_problems = 0;
  for (auto &p: problems)
    total_problems += p.source_seeds.size();

  picojson::array v;
  vector<vector<int>> scores;
  for (auto &p: problems) {
    vector<int> ss;
    cerr << "\n" << "problem: " << p.id << ": " << p.width << "x" << p.height << endl;

    int ttt = 0;
    for (auto &seed: p.source_seeds) {
      cerr << "\n" << p.id << " [" << ++ttt << "/" << p.source_seeds.size() << "]" << endl;

      auto sol =
        anneal ? annealing(p, seed, tle, mle, tag, init_temp, temp_decay, turns, beam_width):
        gene ? ga(p, seed, tle, mle, tag):
        beam ? beam_search(p, seed, tle, mle, def_param, beam_width):
        solve(p, seed, tle, mle, def_param, true);

      if (!anneal) replay(p, seed, sol.first);

      output_solution(p.id, seed, sol.second, sol.first, tag);

      cerr << "score: " << sol.second << endl;

      object o;
      o["problemId"] = value((int64_t)p.id);
      o["seed"] = value((int64_t)seed);
      if (tag != "")
        o["tag"] = value(tag);
      o["solution"] = value(sol.first);
      v.push_back(value(o));
      ss.push_back(sol.second);
    }
    scores.push_back(ss);
  }
  cout << value(v) << endl;

  double gtot = 0;

  cerr << "summary: " << endl;
  vector<pair<int,double>> vv;
  for (int i=0;i<(int)problems.size();i++) {
    double avg = 0;
    for (auto &p: scores[i]) avg += p;
    avg /= scores[i].size();
    vv.emplace_back(problems[i].id, avg);

    double avg_size = 0;
    for (auto &p: problems[i].units)
      avg_size += p.members.size();
    avg_size /= problems[i].units.size();
    double blks = problems[i].source_length * avg_size;
    double exp_line = blks / problems[i].width;
    gtot += avg / exp_line;
  }

  sort(vv.begin(), vv.end());

  for (auto &i: vv)
    cerr << i.first << ": " << i.second << endl;

  cerr << "grand total: " << gtot / problems.size() << endl;

  return 0;
}

// Assembly:
subq $0x14c8, %rsp           # imm = 0x14C8
movl $0x0, 0x14c4(%rsp)
movl %edi, 0x14c0(%rsp)
movq %rsi, 0x14b8(%rsp)
leaq 0x1497(%rsp), %rdi
movq %rdi, 0x340(%rsp)
callq 0x4630
movq 0x340(%rsp), %rdx
leaq 0x2864e(%rip), %rsi     # 0x366d3
leaq 0x1498(%rsp), %rdi
callq 0x44f0
jmp 0xe094
leaq 0x3d6c5(%rip), %rdi     # 0x4b760
leaq 0x1498(%rsp), %rsi
callq 0x14f40
movb %dl, 0x337(%rsp)
movq %rax, 0x338(%rsp)
jmp 0xe0b9
movb 0x337(%rsp), %al
movq 0x338(%rsp), %rcx
movq %rcx, 0x1470(%rsp)
movb %al, 0x1478(%rsp)
leaq 0x1498(%rsp), %rdi
callq 0x4700
leaq 0x1497(%rsp), %rdi
callq 0x4430
leaq 0x144f(%rsp), %rdi
movq %rdi, 0x328(%rsp)
callq 0x4630
movq 0x328(%rsp), %rdx
leaq 0x285c2(%rip), %rsi     # 0x366d7
leaq 0x1450(%rsp), %rdi
callq 0x44f0
jmp 0xe124
leaq 0x3d635(%rip), %rdi     # 0x4b760
leaq 0x1450(%rsp), %rsi
callq 0x14f40
movb %dl, 0x31f(%rsp)
movq %rax, 0x320(%rsp)
jmp 0xe149
movb 0x31f(%rsp), %al
movq 0x320(%rsp), %rcx
movq %rcx, 0x1438(%rsp)
movb %al, 0x1440(%rsp)
leaq 0x1450(%rsp), %rdi
callq 0x4700
leaq 0x144f(%rsp), %rdi
callq 0x4430
leaq 0x1417(%rsp), %rdi
movq %rdi, 0x310(%rsp)
callq 0x4630
movq 0x310(%rsp), %rdx
leaq 0x28539(%rip), %rsi     # 0x366de
leaq 0x1418(%rsp), %rdi
callq 0x44f0
jmp 0xe1b4
leaq 0x3d5a5(%rip), %rdi     # 0x4b760
leaq 0x1418(%rsp), %rsi
callq 0x14f40
movb %dl, 0x307(%rsp)
movq %rax, 0x308(%rsp)
jmp 0xe1d9
movb 0x307(%rsp), %al
movq 0x308(%rsp), %rcx
movq %rcx, 0x1400(%rsp)
movb %al, 0x1408(%rsp)
leaq 0x1418(%rsp), %rdi
callq 0x4700
leaq 0x1417(%rsp), %rdi
callq 0x4430
leaq 0x13df(%rsp), %rdi
movq %rdi, 0x2f8(%rsp)
callq 0x4630
movq 0x2f8(%rsp), %rdx
leaq 0x284b1(%rip), %rsi     # 0x366e6
leaq 0x13e0(%rsp), %rdi
callq 0x44f0
jmp 0xe244
leaq 0x3d515(%rip), %rdi     # 0x4b760
leaq 0x13e0(%rsp), %rsi
callq 0x14f40
movb %dl, 0x2ef(%rsp)
movq %rax, 0x2f0(%rsp)
jmp 0xe269
movb 0x2ef(%rsp), %al
movq 0x2f0(%rsp), %rcx
movq %rcx, 0x13c8(%rsp)
movb %al, 0x13d0(%rsp)
leaq 0x13e0(%rsp), %rdi
callq 0x4700
leaq 0x13df(%rsp), %rdi
callq 0x4430
leaq 0x13a7(%rsp), %rdi
movq %rdi, 0x2e0(%rsp)
callq 0x4630
movq 0x2e0(%rsp), %rdx
leaq 0x28429(%rip), %rsi     # 0x366ee
leaq 0x13a8(%rsp), %rdi
callq 0x44f0
jmp 0xe2d4
leaq 0x3d485(%rip), %rdi     # 0x4b760
leaq 0x13a8(%rsp), %rsi
callq 0x14f40
movb %dl, 0x2d7(%rsp)
movq %rax, 0x2d8(%rsp)
jmp 0xe2f9
movb 0x2d7(%rsp), %al
movq 0x2d8(%rsp), %rcx
movq %rcx, 0x1390(%rsp)
movb %al, 0x1398(%rsp)
leaq 0x13a8(%rsp), %rdi
callq 0x4700
leaq 0x13a7(%rsp), %rdi
callq 0x4430
leaq 0x136f(%rsp), %rdi
movq %rdi, 0x2c8(%rsp)
callq 0x4630
movq 0x2c8(%rsp), %rdx
leaq 0x283a3(%rip), %rsi     # 0x366f8
leaq 0x1370(%rsp), %rdi
callq 0x44f0
jmp 0xe364
leaq 0x3d3f5(%rip), %rdi     # 0x4b760
leaq 0x1370(%rsp), %rsi
callq 0x14f40
movb %dl, 0x2bf(%rsp)
movq %rax, 0x2c0(%rsp)
jmp 0xe389
movb 0x2bf(%rsp), %al
movq 0x2c0(%rsp), %rcx
movq %rcx, 0x1358(%rsp)
movb %al, 0x1360(%rsp)
leaq 0x1370(%rsp), %rdi
callq 0x4700
leaq 0x136f(%rsp), %rdi
callq 0x4430
leaq 0x1337(%rsp), %rdi
movq %rdi, 0x2b0(%rsp)
callq 0x4630
movq 0x2b0(%rsp), %rdx
leaq 0x2831e(%rip), %rsi     # 0x36703
leaq 0x1338(%rsp), %rdi
callq 0x44f0
jmp 0xe3f4
leaq 0x3d365(%rip), %rdi     # 0x4b760
leaq 0x1338(%rsp), %rsi
callq 0x14f40
movb %dl, 0x2a7(%rsp)
movq %rax, 0x2a8(%rsp)
jmp 0xe419
movb 0x2a7(%rsp), %al
movq 0x2a8(%rsp), %rcx
movq %rcx, 0x1320(%rsp)
movb %al, 0x1328(%rsp)
leaq 0x1338(%rsp), %rdi
callq 0x4700
leaq 0x1337(%rsp), %rdi
callq 0x4430
leaq 0x12ff(%rsp), %rdi
movq %rdi, 0x298(%rsp)
callq 0x4630
movq 0x298(%rsp), %rdx
leaq 0x28299(%rip), %rsi     # 0x3670e
leaq 0x1300(%rsp), %rdi
callq 0x44f0
jmp 0xe484
leaq 0x3d2d5(%rip), %rdi     # 0x4b760
leaq 0x1300(%rsp), %rsi
callq 0x14f40
movb %dl, 0x28f(%rsp)
movq %rax, 0x290(%rsp)
jmp 0xe4a9
movb 0x28f(%rsp), %al
movq 0x290(%rsp), %rcx
movq %rcx, 0x12e8(%rsp)
movb %al, 0x12f0(%rsp)
leaq 0x1300(%rsp), %rdi
callq 0x4700
leaq 0x12ff(%rsp), %rdi
callq 0x4430
leaq 0x12c7(%rsp), %rdi
movq %rdi, 0x280(%rsp)
callq 0x4630
movq 0x280(%rsp), %rdx
leaq 0x28217(%rip), %rsi     # 0x3671c
leaq 0x12c8(%rsp), %rdi
callq 0x44f0
jmp 0xe514
leaq 0x3d245(%rip), %rdi     # 0x4b760
leaq 0x12c8(%rsp), %rsi
callq 0x14f40
movb %dl, 0x277(%rsp)
movq %rax, 0x278(%rsp)
jmp 0xe539
movb 0x277(%rsp), %al
movq 0x278(%rsp), %rcx
movq %rcx, 0x12b0(%rsp)
movb %al, 0x12b8(%rsp)
leaq 0x12c8(%rsp), %rdi
callq 0x4700
leaq 0x12c7(%rsp), %rdi
callq 0x4430
leaq 0x128f(%rsp), %rdi
movq %rdi, 0x268(%rsp)
callq 0x4630
movq 0x268(%rsp), %rdx
leaq 0x28197(%rip), %rsi     # 0x3672c
leaq 0x1290(%rsp), %rdi
callq 0x44f0
jmp 0xe5a4
leaq 0x3d1b5(%rip), %rdi     # 0x4b760
leaq 0x1290(%rsp), %rsi
callq 0x14f40
movb %dl, 0x25f(%rsp)
movq %rax, 0x260(%rsp)
jmp 0xe5c9
movb 0x25f(%rsp), %al
movq 0x260(%rsp), %rcx
movq %rcx, 0x1278(%rsp)
movb %al, 0x1280(%rsp)
leaq 0x1290(%rsp), %rdi
callq 0x4700
leaq 0x128f(%rsp), %rdi
callq 0x4430
xorl %eax, %eax
movl %eax, %edi
callq 0x4370
movq %rax, %rdi
callq 0x4950
leaq 0x1258(%rsp), %rdi
callq 0x4500
leaq 0x1240(%rsp), %rdi
callq 0x131c0
movl $0xffffffff, 0x123c(%rsp) # imm = 0xFFFFFFFF
movl $0xffffffff, 0x1238(%rsp) # imm = 0xFFFFFFFF
movl $0x1, 0x1234(%rsp)
movb $0x0, 0x1233(%rsp)
movb $0x0, 0x121b(%rsp)
movb $0x0, 0x121a(%rsp)
leaq 0x11f0(%rsp), %rdi
callq 0x4500
leaq 0x11d0(%rsp), %rdi
callq 0x4500
movb $0x0, 0x11cf(%rsp)
movl $0x1, 0x11c8(%rsp)
movups 0x27bd7(%rip), %xmm0    # 0x36270
movaps %xmm0, 0x1190(%rsp)
movups 0x27bb8(%rip), %xmm0    # 0x36260
movaps %xmm0, 0x1180(%rsp)
movups 0x27b99(%rip), %xmm0    # 0x36250
movaps %xmm0, 0x1170(%rsp)
movups 0x27b7a(%rip), %xmm0    # 0x36240
movaps %xmm0, 0x1160(%rsp)
movups 0x27b5b(%rip), %xmm0    # 0x36230
movaps %xmm0, 0x1150(%rsp)
leaq 0x1150(%rsp), %rax
movq %rax, 0x11a0(%rsp)
movq $0xa, 0x11a8(%rsp)
leaq 0x114f(%rsp), %rdi
movq %rdi, 0x250(%rsp)
callq 0x14440
movq 0x250(%rsp), %rcx
movq 0x11a0(%rsp), %rsi
movq 0x11a8(%rsp), %rdx
leaq 0x11b0(%rsp), %rdi
callq 0x14fa0
jmp 0xe735
leaq 0x114f(%rsp), %rdi
callq 0x144d0
movb $0x1, 0x1233(%rsp)
movl $0x1, 0x11c8(%rsp)
movsd 0x2790b(%rip), %xmm0    # 0x36068
movsd %xmm0, 0x1228(%rsp)
movsd 0x278f2(%rip), %xmm0    # 0x36060
movsd %xmm0, 0x1220(%rsp)
movl $0xfa, 0x121c(%rsp)
movl $0x1, 0x1148(%rsp)
movl 0x1148(%rsp), %eax
cmpl 0x14c0(%rsp), %eax
jge 0xf670
movq 0x14b8(%rsp), %rax
movslq 0x1148(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x240(%rsp)
leaq 0x1127(%rsp), %rdi
movq %rdi, 0x248(%rsp)
callq 0x4630
movq 0x240(%rsp), %rsi
movq 0x248(%rsp), %rdx
leaq 0x1128(%rsp), %rdi
callq 0x44f0
jmp 0xe7f1
leaq 0x1127(%rsp), %rdi
callq 0x4430
leaq 0x27f5b(%rip), %rsi     # 0x36760
leaq 0x1128(%rsp), %rdi
callq 0x15030
movb %al, 0x23f(%rsp)
jmp 0xe81b
movb 0x23f(%rsp), %al
testb $0x1, %al
jne 0xe82b
jmp 0xec4b
movq 0x14b8(%rsp), %rax
movslq 0x1148(%rsp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, 0x228(%rsp)
leaq 0x10ff(%rsp), %rdi
movq %rdi, 0x230(%rsp)
callq 0x4630
movq 0x228(%rsp), %rsi
movq 0x230(%rsp), %rdx
leaq 0x1100(%rsp), %rdi
callq 0x44f0
jmp 0xe87c
leaq 0x1240(%rsp), %rdi
leaq 0x1100(%rsp), %rsi
callq 0x15060
jmp 0xe893
leaq 0x1100(%rsp), %rdi
callq 0x4700
leaq 0x10ff(%rsp), %rdi
callq 0x4430
movl 0x1148(%rsp), %eax
addl $0x2, %eax
movl %eax, 0x1148(%rsp)
jmp 0xf64c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0xe8fa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x1498(%rsp), %rdi
callq 0x4700
leaq 0x1497(%rsp), %rdi
callq 0x4430
jmp 0x10e11
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0xe943
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x1450(%rsp), %rdi
callq 0x4700
leaq 0x144f(%rsp), %rdi
callq 0x4430
jmp 0x10e11
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0xe98c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x1418(%rsp), %rdi
callq 0x4700
leaq 0x1417(%rsp), %rdi
callq 0x4430
jmp 0x10e11
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0xe9d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x13e0(%rsp), %rdi
callq 0x4700
leaq 0x13df(%rsp), %rdi
callq 0x4430
jmp 0x10e11
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0xea1e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x13a8(%rsp), %rdi
callq 0x4700
leaq 0x13a7(%rsp), %rdi
callq 0x4430
jmp 0x10e11
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0xea67
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x1370(%rsp), %rdi
callq 0x4700
leaq 0x136f(%rsp), %rdi
callq 0x4430
jmp 0x10e11
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0xeab0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x1338(%rsp), %rdi
callq 0x4700
leaq 0x1337(%rsp), %rdi
callq 0x4430
jmp 0x10e11
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0xeaf9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x1300(%rsp), %rdi
callq 0x4700
leaq 0x12ff(%rsp), %rdi
callq 0x4430
jmp 0x10e11
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0xeb42
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x12c8(%rsp), %rdi
callq 0x4700
leaq 0x12c7(%rsp), %rdi
callq 0x4430
jmp 0x10e11
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0xeb8b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x1290(%rsp), %rdi
callq 0x4700
leaq 0x128f(%rsp), %rdi
callq 0x4430
jmp 0x10e11
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x114f(%rsp), %rdi
callq 0x144d0
jmp 0x10ddd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x1127(%rsp), %rdi
callq 0x4430
jmp 0x10dd0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0xf65e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0xec39
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x1100(%rsp), %rdi
callq 0x4700
leaq 0x10ff(%rsp), %rdi
callq 0x4430
jmp 0xf65e
leaq 0x27b11(%rip), %rsi     # 0x36763
leaq 0x1128(%rsp), %rdi
callq 0x15030
movb %al, 0x227(%rsp)
jmp 0xec68
movb 0x227(%rsp), %al
testb $0x1, %al
jne 0xec75
jmp 0xecb0
movq 0x14b8(%rsp), %rax
movl 0x1148(%rsp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x4590
movl %eax, 0x123c(%rsp)
movl 0x1148(%rsp), %eax
addl $0x2, %eax
movl %eax, 0x1148(%rsp)
jmp 0xf64a
leaq 0x27aaf(%rip), %rsi     # 0x36766
leaq 0x1128(%rsp), %rdi
callq 0x15030
movb %al, 0x226(%rsp)
jmp 0xeccd
movb 0x226(%rsp), %al
testb $0x1, %al
jne 0xecda
jmp 0xed15
movq 0x14b8(%rsp), %rax
movl 0x1148(%rsp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x4590
movl %eax, 0x1238(%rsp)
movl 0x1148(%rsp), %eax
addl $0x2, %eax
movl %eax, 0x1148(%rsp)
jmp 0xf648
leaq 0x27a4d(%rip), %rsi     # 0x36769
leaq 0x1128(%rsp), %rdi
callq 0x15030
movb %al, 0x225(%rsp)
jmp 0xed32
movb 0x225(%rsp), %al
testb $0x1, %al
jne 0xed3f
jmp 0xed7a
movq 0x14b8(%rsp), %rax
movl 0x1148(%rsp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x4590
movl %eax, 0x1234(%rsp)
movl 0x1148(%rsp), %eax
addl $0x2, %eax
movl %eax, 0x1148(%rsp)
jmp 0xf646
leaq 0x279eb(%rip), %rsi     # 0x3676c
leaq 0x1128(%rsp), %rdi
callq 0x15030
movb %al, 0x224(%rsp)
jmp 0xed97
movb 0x224(%rsp), %al
testb $0x1, %al
jne 0xeda7
jmp 0xef4c
movq 0x14b8(%rsp), %rax
movslq 0x1148(%rsp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, 0x210(%rsp)
leaq 0x10d7(%rsp), %rdi
movq %rdi, 0x218(%rsp)
callq 0x4630
movq 0x210(%rsp), %rsi
movq 0x218(%rsp), %rdx
leaq 0x10d8(%rsp), %rdi
callq 0x44f0
jmp 0xedf8
leaq 0x10d7(%rsp), %rdi
callq 0x4430
leaq 0x10d8(%rsp), %rax
movq %rax, 0x10c8(%rsp)
movq 0x10c8(%rsp), %rdi
callq 0x4340
movq %rax, 0x10c0(%rsp)
movq 0x10c8(%rsp), %rdi
callq 0x41d0
movq %rax, 0x10b8(%rsp)
leaq 0x10c0(%rsp), %rdi
leaq 0x10b8(%rsp), %rsi
callq 0x13d70
testb $0x1, %al
jne 0xee5a
jmp 0xeec0
leaq 0x10c0(%rsp), %rdi
callq 0x13db0
movq %rax, 0x10b0(%rsp)
movq 0x10b0(%rsp), %rax
movsbl (%rax), %edi
callq 0x4530
movb %al, %cl
movq 0x10b0(%rsp), %rax
movb %cl, (%rax)
leaq 0x10c0(%rsp), %rdi
callq 0x13dc0
jmp 0xee3f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x10d7(%rsp), %rdi
callq 0x4430
jmp 0xf65e
leaq 0x3c899(%rip), %rdi     # 0x4b760
leaq 0x10d8(%rsp), %rsi
callq 0x15090
movb %dl, 0x207(%rsp)
movq %rax, 0x208(%rsp)
jmp 0xeee5
movb 0x207(%rsp), %al
movq 0x208(%rsp), %rcx
movq %rcx, 0x10a0(%rsp)
movb %al, 0x10a8(%rsp)
movl 0x1148(%rsp), %eax
addl $0x2, %eax
movl %eax, 0x1148(%rsp)
leaq 0x10d8(%rsp), %rdi
callq 0x4700
jmp 0xf644
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x10d8(%rsp), %rdi
callq 0x4700
jmp 0xf65e
leaq 0x2781c(%rip), %rsi     # 0x3676f
leaq 0x1128(%rsp), %rdi
callq 0x15030
movb %al, 0x206(%rsp)
jmp 0xef69
movb 0x206(%rsp), %al
testb $0x1, %al
jne 0xef76
jmp 0xefb0
movq 0x14b8(%rsp), %rax
movslq 0x1148(%rsp), %rcx
movq 0x8(%rax,%rcx,8), %rsi
leaq 0x1258(%rsp), %rdi
callq 0x44e0
jmp 0xef9a
movl 0x1148(%rsp), %eax
addl $0x2, %eax
movl %eax, 0x1148(%rsp)
jmp 0xf642
leaq 0x277bb(%rip), %rsi     # 0x36772
leaq 0x1128(%rsp), %rdi
callq 0x15030
movb %al, 0x205(%rsp)
jmp 0xefcd
movb 0x205(%rsp), %al
testb $0x1, %al
jne 0xefda
jmp 0xeff7
movb $0x1, 0x3c7af(%rip)     # 0x4b790
movl 0x1148(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x1148(%rsp)
jmp 0xf640
leaq 0x27777(%rip), %rsi     # 0x36775
leaq 0x1128(%rsp), %rdi
callq 0x15030
movb %al, 0x204(%rsp)
jmp 0xf014
movb 0x204(%rsp), %al
testb $0x1, %al
jne 0xf024
jmp 0xf1d8
movb $0x1, 0x1233(%rsp)
movq 0x14b8(%rsp), %rax
movslq 0x1148(%rsp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, 0x1f0(%rsp)
leaq 0xeff(%rsp), %rdi
movq %rdi, 0x1f8(%rsp)
callq 0x4630
movq 0x1f0(%rsp), %rsi
movq 0x1f8(%rsp), %rdx
leaq 0xf00(%rsp), %rdi
callq 0x44f0
jmp 0xf07d
leaq 0xf20(%rsp), %rdi
leaq 0xf00(%rsp), %rsi
movl $0x8, %edx
callq 0x45e0
jmp 0xf099
leaq 0xf00(%rsp), %rdi
callq 0x4700
leaq 0xeff(%rsp), %rdi
callq 0x4430
leaq 0xf20(%rsp), %rdi
leaq 0x1228(%rsp), %rsi
callq 0x4310
movq %rax, 0x1e8(%rsp)
jmp 0xf0d2
movq 0x1e8(%rsp), %rdi
leaq 0xefe(%rsp), %rsi
callq 0x44c0
movq %rax, 0x1e0(%rsp)
jmp 0xf0f1
movq 0x1e0(%rsp), %rdi
leaq 0x1220(%rsp), %rsi
callq 0x4310
movq %rax, 0x1d8(%rsp)
jmp 0xf110
movq 0x1d8(%rsp), %rdi
leaq 0xefe(%rsp), %rsi
callq 0x44c0
movq %rax, 0x1d0(%rsp)
jmp 0xf12f
movq 0x1d0(%rsp), %rdi
leaq 0x121c(%rsp), %rsi
callq 0x4200
jmp 0xf146
movl 0x1148(%rsp), %eax
addl $0x2, %eax
movl %eax, 0x1148(%rsp)
leaq 0xf20(%rsp), %rdi
callq 0x4170
jmp 0xf63e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0xf1a0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0xf00(%rsp), %rdi
callq 0x4700
leaq 0xeff(%rsp), %rdi
callq 0x4430
jmp 0xf65e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0xf20(%rsp), %rdi
callq 0x4170
jmp 0xf65e
leaq 0x27599(%rip), %rsi     # 0x36778
leaq 0x1128(%rsp), %rdi
callq 0x15030
movb %al, 0x1cf(%rsp)
jmp 0xf1f5
movb 0x1cf(%rsp), %al
testb $0x1, %al
jne 0xf202
jmp 0xf220
movb $0x1, 0x121b(%rsp)
movl 0x1148(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x1148(%rsp)
jmp 0xf63c
leaq 0x27555(%rip), %rsi     # 0x3677c
leaq 0x1128(%rsp), %rdi
callq 0x15030
movb %al, 0x1ce(%rsp)
jmp 0xf23d
movb 0x1ce(%rsp), %al
testb $0x1, %al
jne 0xf24a
jmp 0xf28d
movb $0x1, 0x11cf(%rsp)
movq 0x14b8(%rsp), %rax
movl 0x1148(%rsp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x4590
movl %eax, 0x11c8(%rsp)
movl 0x1148(%rsp), %eax
addl $0x2, %eax
movl %eax, 0x1148(%rsp)
jmp 0xf63a
leaq 0x274eb(%rip), %rsi     # 0x3677f
leaq 0x1128(%rsp), %rdi
callq 0x15030
movb %al, 0x1cd(%rsp)
jmp 0xf2aa
movb 0x1cd(%rsp), %al
testb $0x1, %al
jne 0xf2ba
jmp 0xf466
movb $0x1, 0x121a(%rsp)
movq 0x14b8(%rsp), %rax
movslq 0x1148(%rsp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, 0x1b8(%rsp)
leaq 0xd57(%rsp), %rdi
movq %rdi, 0x1c0(%rsp)
callq 0x4630
movq 0x1b8(%rsp), %rsi
movq 0x1c0(%rsp), %rdx
leaq 0xd58(%rsp), %rdi
callq 0x44f0
jmp 0xf313
leaq 0xd78(%rsp), %rdi
leaq 0xd58(%rsp), %rsi
movl $0x8, %edx
callq 0x45e0
jmp 0xf32f
leaq 0xd58(%rsp), %rdi
callq 0x4700
leaq 0xd57(%rsp), %rdi
callq 0x4430
leaq 0xd78(%rsp), %rdi
leaq 0x1214(%rsp), %rsi
callq 0x4200
movq %rax, 0x1b0(%rsp)
jmp 0xf368
movq 0x1b0(%rsp), %rdi
leaq 0xd56(%rsp), %rsi
callq 0x44c0
movq %rax, 0x1a8(%rsp)
jmp 0xf387
movq 0x1a8(%rsp), %rdi
leaq 0x1210(%rsp), %rsi
callq 0x4200
movq %rax, 0x1a0(%rsp)
jmp 0xf3a6
movq 0x1a0(%rsp), %rdi
leaq 0xd56(%rsp), %rsi
callq 0x44c0
jmp 0xf3bd
leaq 0xd78(%rsp), %rdi
leaq 0x11f0(%rsp), %rsi
callq 0x4090
jmp 0xf3d4
movl 0x1148(%rsp), %eax
addl $0x2, %eax
movl %eax, 0x1148(%rsp)
leaq 0xd78(%rsp), %rdi
callq 0x4170
jmp 0xf638
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0xf42e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0xd58(%rsp), %rdi
callq 0x4700
leaq 0xd57(%rsp), %rdi
callq 0x4430
jmp 0xf65e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0xd78(%rsp), %rdi
callq 0x4170
jmp 0xf65e
leaq 0x27315(%rip), %rsi     # 0x36782
leaq 0x1128(%rsp), %rdi
callq 0x15030
movb %al, 0x19f(%rsp)
jmp 0xf483
movb 0x19f(%rsp), %al
testb $0x1, %al
jne 0xf493
jmp 0xf636
movb $0x1, 0x121a(%rsp)
movq 0x14b8(%rsp), %rax
movslq 0x1148(%rsp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, 0x188(%rsp)
leaq 0xbaf(%rsp), %rdi
movq %rdi, 0x190(%rsp)
callq 0x4630
movq 0x188(%rsp), %rsi
movq 0x190(%rsp), %rdx
leaq 0xbb0(%rsp), %rdi
callq 0x44f0
jmp 0xf4ec
leaq 0xbd0(%rsp), %rdi
leaq 0xbb0(%rsp), %rsi
movl $0x8, %edx
callq 0x45e0
jmp 0xf508
leaq 0xbb0(%rsp), %rdi
callq 0x4700
leaq 0xbaf(%rsp), %rdi
callq 0x4430
leaq 0xbd0(%rsp), %rdi
leaq 0x1214(%rsp), %rsi
callq 0x4200
movq %rax, 0x180(%rsp)
jmp 0xf541
movq 0x180(%rsp), %rdi
leaq 0xbae(%rsp), %rsi
callq 0x44c0
movq %rax, 0x178(%rsp)
jmp 0xf560
movq 0x178(%rsp), %rdi
leaq 0x1210(%rsp), %rsi
callq 0x4200
movq %rax, 0x170(%rsp)
jmp 0xf57f
movq 0x170(%rsp), %rdi
leaq 0xbae(%rsp), %rsi
callq 0x44c0
jmp 0xf596
leaq 0xbd0(%rsp), %rdi
leaq 0x11d0(%rsp), %rsi
callq 0x4090
jmp 0xf5ad
movl 0x1148(%rsp), %eax
addl $0x2, %eax
movl %eax, 0x1148(%rsp)
leaq 0xbd0(%rsp), %rdi
callq 0x4170
jmp 0xf636
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0xf604
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0xbb0(%rsp), %rdi
callq 0x4700
leaq 0xbaf(%rsp), %rdi
callq 0x4430
jmp 0xf65e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0xbd0(%rsp), %rdi
callq 0x4170
jmp 0xf65e
jmp 0xf638
jmp 0xf63a
jmp 0xf63c
jmp 0xf63e
jmp 0xf640
jmp 0xf642
jmp 0xf644
jmp 0xf646
jmp 0xf648
jmp 0xf64a
jmp 0xf64c
leaq 0x1128(%rsp), %rdi
callq 0x4700
jmp 0xe78d
leaq 0x1128(%rsp), %rdi
callq 0x4700
jmp 0x10dd0
testb $0x1, 0x121a(%rsp)
je 0xfae9
leaq 0xa30(%rsp), %rdi
callq 0x44d0
jmp 0xf68d
leaq 0x270f2(%rip), %rsi     # 0x36786
leaq 0xa30(%rsp), %rdi
callq 0x43c0
movq %rax, 0x168(%rsp)
jmp 0xf6ab
movq 0x168(%rsp), %rdi
movl 0x1214(%rsp), %esi
callq 0x4600
movq %rax, 0x160(%rsp)
jmp 0xf6c9
movq 0x160(%rsp), %rdi
leaq 0x26ef6(%rip), %rsi     # 0x365ce
callq 0x43c0
jmp 0xf6df
leaq 0x270b3(%rip), %rsi     # 0x36799
leaq 0x11d0(%rsp), %rdi
callq 0x13620
movb %al, 0x15f(%rsp)
jmp 0xf6fc
movb 0x15f(%rsp), %al
testb $0x1, %al
jne 0xf70c
jmp 0xfa01
leaq 0x11d0(%rsp), %rdi
callq 0x4130
movq %rax, %rsi
leaq 0x828(%rsp), %rdi
movl $0x8, %edx
callq 0x4680
jmp 0xf730
leaq 0x818(%rsp), %rdi
callq 0x11bb0
jmp 0xf73f
leaq 0x7f8(%rsp), %rdi
leaq 0x818(%rsp), %rsi
leaq 0x828(%rsp), %rdx
callq 0x11bd0
jmp 0xf75e
leaq 0x7f8(%rsp), %rdi
callq 0x4700
leaq 0x818(%rsp), %rdi
callq 0x115d0
movq %rax, 0x150(%rsp)
jmp 0xf782
movq 0x150(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x150f0
movq %rax, %rdi
callq 0x11320
movq %rax, 0x148(%rsp)
jmp 0xf7a5
leaq 0x7b7(%rsp), %rdi
movq %rdi, 0x140(%rsp)
callq 0x4630
movq 0x140(%rsp), %rdx
leaq 0x26e1e(%rip), %rsi     # 0x365e7
leaq 0x7b8(%rsp), %rdi
callq 0x44f0
jmp 0xf7d8
movq 0x148(%rsp), %rdi
leaq 0x7b8(%rsp), %rsi
callq 0x113b0
movq %rax, 0x138(%rsp)
jmp 0xf7f7
movq 0x138(%rsp), %rdi
callq 0x15110
movq %rax, 0x130(%rsp)
jmp 0xf80e
movq 0x130(%rsp), %rsi
leaq 0x7d8(%rsp), %rdi
callq 0x4140
jmp 0xf825
leaq 0x7b8(%rsp), %rdi
callq 0x4700
leaq 0x7b7(%rsp), %rdi
callq 0x4430
leaq 0x730(%rsp), %rdi
leaq 0xa30(%rsp), %rsi
callq 0x43e0
jmp 0xf856
leaq 0x750(%rsp), %rdi
leaq 0x730(%rsp), %rsi
callq 0x6600
jmp 0xf86d
movl 0x1210(%rsp), %esi
leaq 0x750(%rsp), %rdi
leaq 0x7d8(%rsp), %rdx
callq 0xd490
jmp 0xf88b
leaq 0x750(%rsp), %rdi
callq 0x11b70
leaq 0x730(%rsp), %rdi
callq 0x4700
leaq 0x7d8(%rsp), %rdi
callq 0x4700
leaq 0x818(%rsp), %rdi
callq 0x11ce0
leaq 0x828(%rsp), %rdi
callq 0x40b0
jmp 0xfaaf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0x10dd0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0xfad7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0xf9ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0xf9e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0xf96c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x7b8(%rsp), %rdi
callq 0x4700
leaq 0x7b7(%rsp), %rdi
callq 0x4430
jmp 0xf9e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0xf9d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0xf9c8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x750(%rsp), %rdi
callq 0x11b70
leaq 0x730(%rsp), %rdi
callq 0x4700
leaq 0x7d8(%rsp), %rdi
callq 0x4700
leaq 0x818(%rsp), %rdi
callq 0x11ce0
leaq 0x828(%rsp), %rdi
callq 0x40b0
jmp 0xfad7
leaq 0x6b0(%rsp), %rdi
leaq 0xa30(%rsp), %rsi
callq 0x43e0
jmp 0xfa18
leaq 0x6d0(%rsp), %rdi
leaq 0x6b0(%rsp), %rsi
callq 0x6600
jmp 0xfa2f
movl 0x1210(%rsp), %esi
leaq 0x6d0(%rsp), %rdi
leaq 0x11f0(%rsp), %rdx
callq 0xd490
jmp 0xfa4d
leaq 0x6d0(%rsp), %rdi
callq 0x11b70
leaq 0x6b0(%rsp), %rdi
callq 0x4700
jmp 0xfaaf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0xfaa0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x6d0(%rsp), %rdi
callq 0x11b70
leaq 0x6b0(%rsp), %rdi
callq 0x4700
jmp 0xfad7
movl $0x0, 0x14c4(%rsp)
movl $0x1, 0x6ac(%rsp)
leaq 0xa30(%rsp), %rdi
callq 0x46f0
jmp 0x10d80
leaq 0xa30(%rsp), %rdi
callq 0x46f0
jmp 0x10dd0
leaq 0x690(%rsp), %rdi
callq 0x151a0
leaq 0x1240(%rsp), %rax
movq %rax, 0x688(%rsp)
movq 0x688(%rsp), %rdi
callq 0x134a0
movq %rax, 0x680(%rsp)
movq 0x688(%rsp), %rdi
callq 0x134d0
movq %rax, 0x678(%rsp)
leaq 0x680(%rsp), %rdi
leaq 0x678(%rsp), %rsi
callq 0x13500
testb $0x1, %al
jne 0xfb4e
jmp 0xfbec
leaq 0x680(%rsp), %rdi
callq 0x13540
movq %rax, 0x670(%rsp)
movq 0x670(%rsp), %rsi
leaq 0x610(%rsp), %rdi
callq 0x6600
jmp 0xfb7a
leaq 0x690(%rsp), %rdi
leaq 0x610(%rsp), %rsi
callq 0x151b0
jmp 0xfb91
leaq 0x610(%rsp), %rdi
callq 0x11b70
leaq 0x680(%rsp), %rdi
callq 0x13550
jmp 0xfb30
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0x10d71
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x610(%rsp), %rdi
callq 0x11b70
jmp 0x10d71
movl $0x0, 0x60c(%rsp)
leaq 0x690(%rsp), %rax
movq %rax, 0x600(%rsp)
movq 0x600(%rsp), %rdi
callq 0x151e0
movq %rax, 0x5f8(%rsp)
movq 0x600(%rsp), %rdi
callq 0x15210
movq %rax, 0x5f0(%rsp)
leaq 0x5f8(%rsp), %rdi
leaq 0x5f0(%rsp), %rsi
callq 0x15240
testb $0x1, %al
jne 0xfc4c
jmp 0xfc96
leaq 0x5f8(%rsp), %rdi
callq 0x15280
movq %rax, 0x5e8(%rsp)
movq 0x5e8(%rsp), %rdi
addq $0x48, %rdi
callq 0x12180
movq %rax, %rcx
movslq 0x60c(%rsp), %rax
addq %rcx, %rax
movl %eax, 0x60c(%rsp)
leaq 0x5f8(%rsp), %rdi
callq 0x15290
jmp 0xfc31
leaq 0x5d0(%rsp), %rdi
callq 0x152b0
leaq 0x5b8(%rsp), %rdi
callq 0x152c0
leaq 0x690(%rsp), %rax
movq %rax, 0x5b0(%rsp)
movq 0x5b0(%rsp), %rdi
callq 0x151e0
movq %rax, 0x5a8(%rsp)
movq 0x5b0(%rsp), %rdi
callq 0x15210
movq %rax, 0x5a0(%rsp)
leaq 0x5a8(%rsp), %rdi
leaq 0x5a0(%rsp), %rsi
callq 0x15240
testb $0x1, %al
jne 0xfd08
jmp 0x10709
leaq 0x5a8(%rsp), %rdi
callq 0x15280
movq %rax, 0x598(%rsp)
leaq 0x580(%rsp), %rdi
callq 0x13ba0
movq 0x3a2b7(%rip), %rdi     # 0x49fe8
leaq 0x26a60(%rip), %rsi     # 0x36798
callq 0x43c0
movq %rax, 0x128(%rsp)
jmp 0xfd47
movq 0x128(%rsp), %rdi
leaq 0x26a44(%rip), %rsi     # 0x3679a
callq 0x43c0
movq %rax, 0x120(%rsp)
jmp 0xfd65
movq 0x120(%rsp), %rdi
movq 0x598(%rsp), %rax
movl (%rax), %esi
callq 0x4600
movq %rax, 0x118(%rsp)
jmp 0xfd86
movq 0x118(%rsp), %rdi
leaq 0x268b2(%rip), %rsi     # 0x36647
callq 0x43c0
movq %rax, 0x110(%rsp)
jmp 0xfda4
movq 0x110(%rsp), %rdi
movq 0x598(%rsp), %rax
movl 0x20(%rax), %esi
callq 0x4600
movq %rax, 0x108(%rsp)
jmp 0xfdc6
movq 0x108(%rsp), %rdi
leaq 0x26af8(%rip), %rsi     # 0x368cd
callq 0x43c0
movq %rax, 0x100(%rsp)
jmp 0xfde4
movq 0x100(%rsp), %rdi
movq 0x598(%rsp), %rax
movl 0x24(%rax), %esi
callq 0x4600
movq %rax, 0xf8(%rsp)
jmp 0xfe06
movq 0xf8(%rsp), %rdi
movq 0x3a17b(%rip), %rsi     # 0x49f90
callq 0x4400
jmp 0xfe1c
movl $0x0, 0x57c(%rsp)
movq 0x598(%rsp), %rax
addq $0x48, %rax
movq %rax, 0x570(%rsp)
movq 0x570(%rsp), %rdi
callq 0x13e20
movq %rax, 0x568(%rsp)
movq 0x570(%rsp), %rdi
callq 0x13e50
movq %rax, 0x560(%rsp)
leaq 0x568(%rsp), %rdi
leaq 0x560(%rsp), %rsi
callq 0x13e80
testb $0x1, %al
jne 0xfe83
jmp 0x106c1
leaq 0x568(%rsp), %rdi
callq 0x13ec0
movq %rax, 0x558(%rsp)
movq 0x3a149(%rip), %rdi     # 0x49fe8
leaq 0x268f2(%rip), %rsi     # 0x36798
callq 0x43c0
movq %rax, 0xf0(%rsp)
jmp 0xfeb5
movq 0xf0(%rsp), %rdi
movq 0x598(%rsp), %rax
movl (%rax), %esi
callq 0x4600
movq %rax, 0xe8(%rsp)
jmp 0xfed6
movq 0xe8(%rsp), %rdi
leaq 0x26527(%rip), %rsi     # 0x3640c
callq 0x43c0
movq %rax, 0xe0(%rsp)
jmp 0xfef4
movq 0xe0(%rsp), %rdi
movl 0x57c(%rsp), %esi
incl %esi
movl %esi, 0x57c(%rsp)
callq 0x4600
movq %rax, 0xd8(%rsp)
jmp 0xff1b
movq 0xd8(%rsp), %rdi
leaq 0x2698d(%rip), %rsi     # 0x368b7
callq 0x43c0
movq %rax, 0xd0(%rsp)
jmp 0xff39
movq 0x598(%rsp), %rdi
addq $0x48, %rdi
callq 0x12180
movq 0xd0(%rsp), %rdi
movq %rax, %rsi
callq 0x40a0
movq %rax, 0xc8(%rsp)
jmp 0xff64
movq 0xc8(%rsp), %rdi
leaq 0x2667d(%rip), %rsi     # 0x365f0
callq 0x43c0
movq %rax, 0xc0(%rsp)
jmp 0xff82
movq 0xc0(%rsp), %rdi
movq 0x39fff(%rip), %rsi     # 0x49f90
callq 0x4400
jmp 0xff98
testb $0x1, 0x1233(%rsp)
je 0x10009
movq 0x598(%rsp), %rsi
movq 0x558(%rsp), %rax
movl (%rax), %edx
movl 0x123c(%rsp), %ecx
movl 0x1238(%rsp), %r8d
movsd 0x1228(%rsp), %xmm0
movsd 0x1220(%rsp), %xmm1
movl 0x121c(%rsp), %edi
movl 0x11c8(%rsp), %r9d
movq %rsp, %rax
movl %r9d, 0x8(%rax)
movl %edi, (%rax)
leaq 0x530(%rsp), %rdi
leaq 0x1258(%rsp), %r9
callq 0xc160
jmp 0x10004
jmp 0x100e7
testb $0x1, 0x121b(%rsp)
je 0x10050
movq 0x598(%rsp), %rsi
movq 0x558(%rsp), %rax
movl (%rax), %edx
movl 0x123c(%rsp), %ecx
movl 0x1238(%rsp), %r8d
leaq 0x530(%rsp), %rdi
leaq 0x1258(%rsp), %r9
callq 0xcae0
jmp 0x1004b
jmp 0x100e5
testb $0x1, 0x11cf(%rsp)
je 0x100a0
movq 0x598(%rsp), %rsi
movq 0x558(%rsp), %rax
movl (%rax), %edx
movl 0x123c(%rsp), %ecx
movl 0x1238(%rsp), %r8d
movl 0x11c8(%rsp), %edi
movq %rsp, %rax
movl %edi, (%rax)
leaq 0x530(%rsp), %rdi
leaq 0x11b0(%rsp), %r9
callq 0xb850
jmp 0x1009e
jmp 0x100e3
movq 0x598(%rsp), %rsi
movq 0x558(%rsp), %rax
movl (%rax), %edx
movl 0x123c(%rsp), %ecx
movl 0x1238(%rsp), %r8d
movq %rsp, %rax
movl $0x1, (%rax)
leaq 0x530(%rsp), %rdi
leaq 0x11b0(%rsp), %r9
callq 0xad30
jmp 0x100e1
jmp 0x100e3
jmp 0x100e5
jmp 0x100e7
testb $0x1, 0x1233(%rsp)
jne 0x10146
movq 0x598(%rsp), %rdi
movq 0x558(%rsp), %rax
movl (%rax), %esi
leaq 0x530(%rsp), %rdx
callq 0xd490
jmp 0x10112
jmp 0x10146
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0x106f7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0x106b2
movq 0x598(%rsp), %rax
movl (%rax), %edi
movq 0x558(%rsp), %rax
movl (%rax), %esi
movl 0x550(%rsp), %edx
leaq 0x530(%rsp), %rcx
leaq 0x1258(%rsp), %r8
callq 0x9d60
jmp 0x10178
movq 0x39e69(%rip), %rdi     # 0x49fe8
leaq 0x26510(%rip), %rsi     # 0x36696
callq 0x43c0
movq %rax, 0xb8(%rsp)
jmp 0x10195
movq 0xb8(%rsp), %rdi
movl 0x550(%rsp), %esi
callq 0x4600
movq %rax, 0xb0(%rsp)
jmp 0x101b3
movq 0xb0(%rsp), %rdi
movq 0x39dce(%rip), %rsi     # 0x49f90
callq 0x4400
jmp 0x101c9
leaq 0x500(%rsp), %rdi
callq 0x13570
movq 0x598(%rsp), %rax
movslq (%rax), %rsi
leaq 0x4f0(%rsp), %rdi
callq 0x13580
jmp 0x101f0
leaq 0x4cf(%rsp), %rdi
movq %rdi, 0xa8(%rsp)
callq 0x4630
movq 0xa8(%rsp), %rdx
leaq 0x263c0(%rip), %rsi     # 0x365d4
leaq 0x4d0(%rsp), %rdi
callq 0x44f0
jmp 0x10223
leaq 0x500(%rsp), %rdi
leaq 0x4d0(%rsp), %rsi
callq 0x113b0
movq %rax, 0xa0(%rsp)
jmp 0x10242
movq 0xa0(%rsp), %rdi
leaq 0x4f0(%rsp), %rsi
callq 0x135a0
jmp 0x10259
leaq 0x4d0(%rsp), %rdi
callq 0x4700
leaq 0x4cf(%rsp), %rdi
callq 0x4430
leaq 0x4f0(%rsp), %rdi
callq 0x11ce0
movq 0x558(%rsp), %rax
movslq (%rax), %rsi
leaq 0x4b8(%rsp), %rdi
callq 0x13580
jmp 0x1029a
leaq 0x497(%rsp), %rdi
movq %rdi, 0x98(%rsp)
callq 0x4630
movq 0x98(%rsp), %rdx
leaq 0x26320(%rip), %rsi     # 0x365de
leaq 0x498(%rsp), %rdi
callq 0x44f0
jmp 0x102cd
leaq 0x500(%rsp), %rdi
leaq 0x498(%rsp), %rsi
callq 0x113b0
movq %rax, 0x90(%rsp)
jmp 0x102ec
movq 0x90(%rsp), %rdi
leaq 0x4b8(%rsp), %rsi
callq 0x135a0
jmp 0x10303
leaq 0x498(%rsp), %rdi
callq 0x4700
leaq 0x497(%rsp), %rdi
callq 0x4430
leaq 0x4b8(%rsp), %rdi
callq 0x11ce0
leaq 0x26468(%rip), %rsi     # 0x36799
leaq 0x1258(%rsp), %rdi
callq 0x13620
movb %al, 0x8f(%rsp)
jmp 0x10347
movb 0x8f(%rsp), %al
testb $0x1, %al
jne 0x10357
jmp 0x10518
leaq 0x480(%rsp), %rdi
leaq 0x1258(%rsp), %rsi
callq 0x13650
jmp 0x1036e
leaq 0x45f(%rsp), %rdi
movq %rdi, 0x80(%rsp)
callq 0x4630
movq 0x80(%rsp), %rdx
leaq 0x26251(%rip), %rsi     # 0x365e3
leaq 0x460(%rsp), %rdi
callq 0x44f0
jmp 0x103a1
leaq 0x500(%rsp), %rdi
leaq 0x460(%rsp), %rsi
callq 0x113b0
movq %rax, 0x78(%rsp)
jmp 0x103bd
movq 0x78(%rsp), %rdi
leaq 0x480(%rsp), %rsi
callq 0x135a0
jmp 0x103d1
leaq 0x460(%rsp), %rdi
callq 0x4700
leaq 0x45f(%rsp), %rdi
callq 0x4430
leaq 0x480(%rsp), %rdi
callq 0x11ce0
jmp 0x10518
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0x106a5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0x1044d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x4d0(%rsp), %rdi
callq 0x4700
leaq 0x4cf(%rsp), %rdi
callq 0x4430
leaq 0x4f0(%rsp), %rdi
callq 0x11ce0
jmp 0x106a5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0x104a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x498(%rsp), %rdi
callq 0x4700
leaq 0x497(%rsp), %rdi
callq 0x4430
leaq 0x4b8(%rsp), %rdi
callq 0x11ce0
jmp 0x106a5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0x104f9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x460(%rsp), %rdi
callq 0x4700
leaq 0x45f(%rsp), %rdi
callq 0x4430
leaq 0x480(%rsp), %rdi
callq 0x11ce0
jmp 0x106a5
leaq 0x448(%rsp), %rdi
leaq 0x530(%rsp), %rsi
callq 0x13650
jmp 0x1052f
leaq 0x427(%rsp), %rdi
movq %rdi, 0x70(%rsp)
callq 0x4630
movq 0x70(%rsp), %rdx
leaq 0x2609a(%rip), %rsi     # 0x365e7
leaq 0x428(%rsp), %rdi
callq 0x44f0
jmp 0x1055c
leaq 0x500(%rsp), %rdi
leaq 0x428(%rsp), %rsi
callq 0x113b0
movq %rax, 0x68(%rsp)
jmp 0x10578
movq 0x68(%rsp), %rdi
leaq 0x448(%rsp), %rsi
callq 0x135a0
jmp 0x1058c
leaq 0x428(%rsp), %rdi
callq 0x4700
leaq 0x427(%rsp), %rdi
callq 0x4430
leaq 0x448(%rsp), %rdi
callq 0x11ce0
leaq 0x410(%rsp), %rdi
leaq 0x500(%rsp), %rsi
callq 0x13710
jmp 0x105ca
leaq 0x5d0(%rsp), %rdi
leaq 0x410(%rsp), %rsi
callq 0x152d0
jmp 0x105e1
leaq 0x410(%rsp), %rdi
callq 0x11ce0
leaq 0x550(%rsp), %rsi
leaq 0x580(%rsp), %rdi
callq 0x12800
jmp 0x10605
leaq 0x500(%rsp), %rdi
callq 0x11b60
leaq 0x530(%rsp), %rdi
callq 0x14600
leaq 0x568(%rsp), %rdi
callq 0x13ed0
jmp 0xfe65
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0x10668
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x428(%rsp), %rdi
callq 0x4700
leaq 0x427(%rsp), %rdi
callq 0x4430
leaq 0x448(%rsp), %rdi
callq 0x11ce0
jmp 0x106a5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x410(%rsp), %rdi
callq 0x11ce0
leaq 0x500(%rsp), %rdi
callq 0x11b60
leaq 0x530(%rsp), %rdi
callq 0x14600
jmp 0x106f7
leaq 0x5b8(%rsp), %rdi
leaq 0x580(%rsp), %rsi
callq 0x15300
jmp 0x106d8
leaq 0x580(%rsp), %rdi
callq 0x13150
leaq 0x5a8(%rsp), %rdi
callq 0x15290
jmp 0xfcea
leaq 0x580(%rsp), %rdi
callq 0x13150
jmp 0x10d57
leaq 0x400(%rsp), %rdi
leaq 0x5d0(%rsp), %rsi
callq 0x15370
jmp 0x10720
movq 0x39899(%rip), %rdi     # 0x49fc0
leaq 0x400(%rsp), %rsi
callq 0x136d0
movq %rax, 0x60(%rsp)
jmp 0x1073b
movq 0x60(%rsp), %rdi
movq 0x39849(%rip), %rsi     # 0x49f90
callq 0x4400
jmp 0x1074e
leaq 0x400(%rsp), %rdi
callq 0x11ce0
movq $0x0, 0x3f8(%rsp)
movq 0x3987a(%rip), %rdi     # 0x49fe8
leaq 0x2602f(%rip), %rsi     # 0x367a4
callq 0x43c0
movq %rax, 0x58(%rsp)
jmp 0x10781
movq 0x58(%rsp), %rdi
movq 0x39803(%rip), %rsi     # 0x49f90
callq 0x4400
jmp 0x10794
leaq 0x3e0(%rsp), %rdi
callq 0x153f0
movl $0x0, 0x3dc(%rsp)
movl 0x3dc(%rsp), %eax
movl %eax, 0x54(%rsp)
leaq 0x690(%rsp), %rdi
callq 0x15400
movq %rax, %rcx
movl 0x54(%rsp), %eax
cmpl %ecx, %eax
jge 0x10b56
xorps %xmm0, %xmm0
movsd %xmm0, 0x3d0(%rsp)
movslq 0x3dc(%rsp), %rsi
leaq 0x5b8(%rsp), %rdi
callq 0x12160
movq %rax, 0x3c8(%rsp)
movq 0x3c8(%rsp), %rdi
callq 0x13e20
movq %rax, 0x3c0(%rsp)
movq 0x3c8(%rsp), %rdi
callq 0x13e50
movq %rax, 0x3b8(%rsp)
leaq 0x3c0(%rsp), %rdi
leaq 0x3b8(%rsp), %rsi
callq 0x13e80
testb $0x1, %al
jne 0x10844
jmp 0x108c5
leaq 0x3c0(%rsp), %rdi
callq 0x13ec0
movq %rax, 0x3b0(%rsp)
movq 0x3b0(%rsp), %rax
cvtsi2sdl (%rax), %xmm0
addsd 0x3d0(%rsp), %xmm0
movsd %xmm0, 0x3d0(%rsp)
leaq 0x3c0(%rsp), %rdi
callq 0x13ed0
jmp 0x10826
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
jmp 0x10d57
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x400(%rsp), %rdi
callq 0x11ce0
jmp 0x10d57
movslq 0x3dc(%rsp), %rsi
leaq 0x5b8(%rsp), %rdi
callq 0x12160
movq %rax, %rdi
callq 0x12180
movq %rax, %xmm1
movaps 0x25792(%rip), %xmm0    # 0x36080
punpckldq %xmm0, %xmm1    # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
movapd 0x25796(%rip), %xmm0    # 0x36090
subpd %xmm0, %xmm1
movaps %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movsd 0x3d0(%rsp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, 0x3d0(%rsp)
movslq 0x3dc(%rsp), %rsi
leaq 0x690(%rsp), %rdi
callq 0x154a0
movq %rax, %rsi
leaq 0x3e0(%rsp), %rdi
leaq 0x3d0(%rsp), %rdx
callq 0x15420
jmp 0x1094e
xorps %xmm0, %xmm0
movsd %xmm0, 0x3a8(%rsp)
movslq 0x3dc(%rsp), %rsi
leaq 0x690(%rsp), %rdi
callq 0x154a0
addq $0x8, %rax
movq %rax, 0x3a0(%rsp)
movq 0x3a0(%rsp), %rdi
callq 0x154c0
movq %rax, 0x398(%rsp)
movq 0x3a0(%rsp), %rdi
callq 0x154f0
movq %rax, 0x390(%rsp)
leaq 0x398(%rsp), %rdi
leaq 0x390(%rsp), %rsi
callq 0x15520
testb $0x1, %al
jne 0x109c3
jmp 0x10a56
leaq 0x398(%rsp), %rdi
callq 0x15560
movq %rax, 0x388(%rsp)
movq 0x388(%rsp), %rdi
callq 0x121c0
movq %rax, %xmm0
movaps 0x2568f(%rip), %xmm1    # 0x36080
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x25693(%rip), %xmm1    # 0x36090
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
addsd 0x3a8(%rsp), %xmm0
movsd %xmm0, 0x3a8(%rsp)
leaq 0x398(%rsp), %rdi
callq 0x15570
jmp 0x109a5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1488(%rsp)
movl %eax, 0x1484(%rsp)
leaq 0x3e0(%rsp), %rdi
callq 0x156a0
jmp 0x10d57
movslq 0x3dc(%rsp), %rsi
leaq 0x690(%rsp), %rdi
callq 0x154a0
movq %rax, %rdi
addq $0x8, %rdi
callq 0x13c00
movq %rax, %xmm1
movaps 0x255fd(%rip), %xmm0    # 0x36080
punpckldq %xmm0, %xmm1    # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
movapd 0x25601(%rip), %xmm0    # 0x36090
subpd %xmm0, %xmm1
movaps %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movsd 0x3a8(%rsp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, 0x3a8(%rsp)
movslq 0x3dc(%rsp), %rsi
leaq 0x690(%rsp), %rdi
callq 0x154a0
cvtsi2sdl 0x40(%rax), %xmm0
mulsd 0x3a8(%rsp), %xmm0
movsd %xmm0, 0x380(%rsp)
movsd 0x380(%rsp), %xmm0
movsd %xmm0, 0x48(%rsp)
movslq 0x3dc(%rsp), %rsi
leaq 0x690(%rsp), %rdi
callq 0x154a0
movsd 0x48(%rsp), %xmm0
cvtsi2sdl 0x20(%rax), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x378(%rsp)
movsd 0x3d0(%rsp), %xmm0
divsd 0x378(%rsp), %xmm0
addsd 0x3f8(%rsp), %xmm0
movsd %xmm0, 0x3f8(%rsp)
movl 0x3dc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x3dc(%rsp)
jmp 0x107ac
leaq 0x3e0(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0x155d0
movq 0x40(%rsp), %rdi
movq %rax, 0x370(%rsp)
callq 0x15600
movq %rax, 0x368(%rsp)
movq 0x370(%rsp), %rdi
movq 0x368(%rsp), %rsi
callq 0x15590
jmp 0x10b99
leaq 0x3e0(%rsp), %rax
movq %rax, 0x360(%rsp)
movq 0x360(%rsp), %rdi
callq 0x155d0
movq %rax, 0x358(%rsp)
movq 0x360(%rsp), %rdi
callq 0x15600
movq %rax, 0x350(%rsp)
leaq 0x358(%rsp), %rdi
leaq 0x350(%rsp), %rsi
callq 0x15630
testb $0x1, %al
jne 0x10bf1
jmp 0x10c80
leaq 0x358(%rsp), %rdi
callq 0x15670
movq %rax, 0x348(%rsp)
movq 0x348(%rsp), %rax
movl (%rax), %esi
movq 0x393d1(%rip), %rdi     # 0x49fe8
callq 0x4600
movq %rax, 0x38(%rsp)
jmp 0x10c23
movq 0x38(%rsp), %rdi
leaq 0x25a18(%rip), %rsi     # 0x36647
callq 0x43c0
movq %rax, 0x30(%rsp)
jmp 0x10c3b
movq 0x30(%rsp), %rdi
movq 0x348(%rsp), %rax
movsd 0x8(%rax), %xmm0
callq 0x46a0
movq %rax, 0x28(%rsp)
jmp 0x10c59
movq 0x28(%rsp), %rdi
movq 0x3932b(%rip), %rsi     # 0x49f90
callq 0x4400
jmp 0x10c6c
jmp 0x10c6e
leaq 0x358(%rsp), %rdi
callq 0x15680
jmp 0x10bd3
movq 0x39361(%rip), %rdi     # 0x49fe8
leaq 0x25b20(%rip), %rsi     # 0x367ae
callq 0x43c0
movq %rax, 0x20(%rsp)
jmp 0x10c9a
movsd 0x3f8(%rsp), %xmm0
movsd %xmm0, 0x10(%rsp)
leaq 0x690(%rsp), %rdi
callq 0x15400
movsd 0x10(%rsp), %xmm0
movq 0x20(%rsp), %rdi
movq %rax, %xmm1
movaps 0x253b3(%rip), %xmm2    # 0x36080
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x253b7(%rip), %xmm2    # 0x36090
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
callq 0x46a0
movq %rax, 0x18(%rsp)
jmp 0x10cf8
movq 0x18(%rsp), %rdi
movq 0x3928c(%rip), %rsi     # 0x49f90
callq 0x4400
jmp 0x10d0b
movl $0x0, 0x14c4(%rsp)
movl $0x1, 0x6ac(%rsp)
leaq 0x3e0(%rsp), %rdi
callq 0x156a0
leaq 0x5b8(%rsp), %rdi
callq 0x12350
leaq 0x5d0(%rsp), %rdi
callq 0x15700
leaq 0x690(%rsp), %rdi
callq 0x15760
jmp 0x10d80
leaq 0x5b8(%rsp), %rdi
callq 0x12350
leaq 0x5d0(%rsp), %rdi
callq 0x15700
leaq 0x690(%rsp), %rdi
callq 0x15760
jmp 0x10dd0
leaq 0x11b0(%rsp), %rdi
callq 0x12400
leaq 0x11d0(%rsp), %rdi
callq 0x4700
leaq 0x11f0(%rsp), %rdi
callq 0x4700
leaq 0x1240(%rsp), %rdi
callq 0x13440
leaq 0x1258(%rsp), %rdi
callq 0x4700
movl 0x14c4(%rsp), %eax
addq $0x14c8, %rsp           # imm = 0x14C8
retq
leaq 0x11b0(%rsp), %rdi
callq 0x12400
leaq 0x11d0(%rsp), %rdi
callq 0x4700
leaq 0x11f0(%rsp), %rdi
callq 0x4700
leaq 0x1240(%rsp), %rdi
callq 0x13440
leaq 0x1258(%rsp), %rdi
callq 0x4700
movq 0x1488(%rsp), %rdi
callq 0x4620
nop