// File: /workspace/github_cpp_makefile_star2_O2/lvandeve[P]base256/base256.cpp
// Function: main
int main(int argc, char *argv[]) {
  UnixArgs args;
  args.registerArg('h', "help", "show this help");
  args.registerArg('H', "table", "show a reference of characters for currently selected format");
  args.registerArg(0, "tables", "show tables of all existing formats (printed result depends on modifications like --color)");
  args.registerArg(0, "outfile", "write to given output file instead of printing in terminal");
  args.registerArg('d', "decode", "decode back from the format to binary data. Only works for some formats, and only without line numbers and without printnewline.");
  args.registerArg(0, "format", "Format to use. Use -H or --tables to view their tables. Formats:\n"
      "      cp437: 256 unique characters, based on code page 437 (with small modifications to make all unique and none empty)\n"
      "      cp1252: 256 unique characters, based on code page 1252 (with small modifications to make all unique and none empty)\n"
      "      braille: 256 unique characters, using Unicode Braille patterns (in Unicode order)\n"
      "      ascii: only print ASCII printable characters as themselves, others are shown as '?'\n"
      "      hex: print bytes in hexadecimal\n"
      "      dec: print bytes in decimal (3 digits, prepended with zeros, unless --prefix is enabled)\n"
      "      oct: print bytes in octal\n"
      "      bin: print bytes in binary\n"
      "      low: characters are shown as their least significant hex digit (use --mix to recover printable chars)\n"
      "      high: characters are shown as their most significant hex digit (use --mix to recover printable chars)\n"
      "      colored: Uses the 256 ANSI colors. Requires 256 background color support in terminal. Different than --color.\n"
      "      c: ANSI C string literal (note that C ends strings at the first \\0 but can still address the rest)\n"
      "      cpp: C++ std::string initializer with size\n"
      "      java: Java string literal (byte based, no UTF-16)\n"
      "      js: JS string literal (byte based, no UTF-16)\n"
      "      json: JSON string literal\n"
      "      python: python string literal",
      "cp437");
  args.registerArg('m', "mix", "Override the format for printable ASCII characters with the printable ASCII characters themselves.");
  args.registerArg(0, "printnewline", "Print newlines as actual newline in modes 'cp437', 'cp1252' and 'ascii'.");
  args.registerArg(0, "printspace", "For any format that uses ASCII characters but doesn't print space as empty, print the space as empty space anyway.");
  args.registerArg(0, "printnull", "For formats where null is normally invisible but a 'empty set' symbol is printed, use invisible character anyway.");
  args.registerArg('x', "", "shortcut for --format=hex");
  args.registerArg('0', "", "shortcut for --format=dec");
  args.registerArg('1', "", "shortcut for --format=cp1252");
  args.registerArg('4', "", "shortcut for --format=cp437");
  args.registerArg('a', "", "shortcut for --format=ascii");
  args.registerArg('m', "", "shortcut for --format=hex --mix");
  args.registerArg(0, "prefix", "For number based formats, use C-style number prefixes."); // and avoids 0 in front of decimal numbers
  args.registerArg(0, "comma", "Add comma between characters (useful for numeric formats).");
  args.registerArg(0, "lower", "Use lower case instead of upper case for hex digits.");
  args.registerArg(0, "upper", "Use upper case hex digits (no need to give this flag, uppercase is the default).");
  args.registerArg('c', "color", "Use ANSI color codes (works in unix shell) for non-ASCII characters, based on high hex digit (works with all format, is independent from --format=colored).");
  args.registerArg('n', "", "no extra newline at end of output.");
  // TODO: use "wrap" for output bytes instead and call it "align" for input bytes
  args.registerArg(0, "wrap", "Add newlines every so many input bytes", "64");
  args.registerArg('w', "", "shortcut for --wrap=64");
  args.registerArg('W', "", "shortcut for --wrap=100");
  args.registerArg('l', "", "display line numbers (starting byte index), in decimal. Only useful with wrap or printnewline.");
  args.registerArg('L', "", "display line numbers (starting byte index), in hexadecimal. Only useful with wrap or printnewline.");
  args.registerArg('s', "size", "print size in bytes at the end");
  args.registerArg(0, "lsb_first", "when printing in binary mode, print the lsb first instead of the msb first");

  if(!args.parse(argc, argv) || args.present("help")) {
    printHelp(args);
    return 0;
  }

  std::string infile = args.loose.size() > 0 ? args.loose[0] : "";
  std::string outfile = args.present("outfile") ? args.value("outfile") : "";

  bool mix = args.present("mix");
  bool printspace = args.present("printspace");
  bool printnull = args.present("printnull");
  bool printnewline = args.present("printnewline");
  bool comma = args.present("comma");
  bool prefix = args.present("prefix");
  bool colored = args.present("color");
  bool lower = args.present("lower") || !args.present("upper");
  bool printlinenumbers = args.present('l') || args.present('L');
  int linenumbersbase = args.present('L') ? 16 : 10;
  bool printsize = args.present('s') || args.present("size");
  size_t size = 0;

  std::string formatname = args.value("format");
  if(args.present('x')) formatname = "hex";
  if(args.present('0')) formatname = "dec";
  if(args.present('1')) formatname = "cp1252";
  if(args.present('4')) formatname = "cp437";
  if(args.present('a')) formatname = "ascii";
  if(args.present('m')) { formatname = "hex"; mix = true; }

  bool lsb_first = false;
  if(args.present("lsb_first")) {
    lsb_first = true;
  }

  int wrap = 0;
  if(args.present("wrap")) {
    wrap = 64;
  } else if(args.present('W')) {
    wrap = 100;
  } else if(args.present('w')) {
    wrap = 64;
  }
  if(args.present("wrap")) {
    wrap = strtoval<int>(args.value("wrap"));
  }

  std::vector<std::pair<std::string, Format*>> formats;
  formats.push_back({"cp437", new CP437(printnewline, printnull)});
  formats.push_back({"cp1252", new CP1252(printnewline, printnull)});
  formats.push_back({"braille", new Braille(printnewline, printnull)});
  formats.push_back({"ascii", new ASCII(printnewline)});
  formats.push_back({"base64", new Base64});
  formats.push_back({"hex", new Hex(prefix, lower)});
  formats.push_back({"dec", new Decimal(prefix)});
  formats.push_back({"oct", new Octal(prefix)});
  formats.push_back({"bin", new Binary(lsb_first, prefix)});
  formats.push_back({"low", new Low(printnewline, lower)});
  formats.push_back({"high", new High(printnewline, lower)});
  formats.push_back({"colored", new Colored()});
  formats.push_back({"c", new CString()});
  formats.push_back({"cpp", new CPPString()});
  formats.push_back({"java", new JavaString()});
  formats.push_back({"js", new JSString()});
  formats.push_back({"json", new JSONString()});
  formats.push_back({"python", new PythonString()});

  // The format that is itself colored is incompatible with the extra coloring
  if(colored && formatname == "colored") colored = false;

  Format* format = formats[0].second;
  if(formatname != "") {
    bool found = false;
    for(size_t i = 0; i < formats.size(); i++) {
      if(formatname == formats[i].first) {
        format = formats[i].second;
        found = true;
        break;
      }
    }
    if(!found) {
      std::cout << "unknown format: " << formatname << std::endl;
      return 1;
    }
  }

  if(args.present("tables")) {
    for(size_t i = 0; i < formats.size(); i++) {
      bool both = !formats[i].second->printable();
      for(size_t mix = 0; mix <= 1; mix++) {
        if(!both && mix == 1) continue;
        if(both) {
          std::cout << formats[i].first << " (" << (mix ? "with" : "without") << " --mix): " << std::endl;
        } else {
          std::cout << formats[i].first << ": " << std::endl;
        }

        Printer printer(formats[i].second);
        printer.colored = colored;
        printer.comma = comma;
        printer.mix = mix;
        printer.printspace = printspace;
        std::string table = printer.getTable();
        std::cout << table << std::endl;
      }
    }
    return 0;
  }

  Printer printer(format);

  printer.printlinenumbers = printlinenumbers;
  printer.linenumbersbase = linenumbersbase;
  printer.colored = colored;
  printer.comma = comma;
  printer.mix = mix;
  printer.printnewline = printnewline;
  printer.printspace = printspace;
  printer.wrap = wrap;
  printer.lsb_first = lsb_first;

  if(args.present('H')) {
    std::cout << printer.getTable() << std::endl;
    return 0;
  }

  bool decode = args.present('d');

  // streaming
  if(infile.empty() && outfile.empty() && !decode && format->supportsStreaming()) {
    char c;
    std::string s = "a";
    while(std::cin.get(c)) {
      s[0] = c;
      std::cout << printer.encode(s);
      size++;
    }
    if(printsize) std::cout << std::endl << "size: " << size;
    if(!decode && !args.present('n')) std::cout << std::endl;
    return 0;
  }

  // non streaming, file based
  std::string file;
  if(!infile.empty()) {
    // TODO: don't load file at once like this, stream it, otherwise some system files that don't allow seeking aren't supported (e.g. under /proc)
    if(!load_file(infile, &file)) {
      std::cout << "invalid input file (use -h for help)" << std::endl;
      return 1;
    }
  } else {
    char c;
    while(std::cin.get(c)) {
      file.push_back(c);
    }
  }

  std::string result;

  if(decode) {
    result = printer.decode(file);
    size = result.size();
  } else {
    result = printer.encode(file);
    size = file.size();
  }

  if(outfile.empty()) {
    std::cout << result;
    if(printsize) std::cout << std::endl << "size: " << size;
    if(!decode && !args.present('n')) std::cout << std::endl;
  } else {
    if(printsize) result += "\nsize: " + valtostr(size);
    if(!decode && !args.present('n')) result += "\n";
    save_file(result, outfile);
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x268, %rsp            # imm = 0x268
leaq 0x140(%rsp), %rcx
movq %rcx, -0x10(%rcx)
andq $0x0, -0x8(%rcx)
xorl %eax, %eax
movb %al, (%rcx)
leaq 0x160(%rsp), %rcx
movq %rcx, -0x10(%rcx)
andq $0x0, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x180(%rsp), %rcx
movq %rcx, -0x10(%rcx)
andq $0x0, -0x8(%rcx)
movb %al, (%rcx)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rcx)
andq $0x0, 0x20(%rcx)
leaq 0x1b0(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
andq $0x0, 0x20(%rcx)
leaq 0x1e0(%rsp), %rcx
andl $0x0, (%rcx)
andq $0x0, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
leaq 0x230(%rsp), %rcx
movups %xmm0, -0x20(%rcx)
movups %xmm0, -0x30(%rcx)
movq %rcx, -0x10(%rcx)
andq $0x0, -0x8(%rcx)
movq %rsi, %r14
movl %edi, %ebp
movb %al, (%rcx)
movw $0x100, 0x10(%rcx)      # imm = 0x100
leaq 0x8515(%rip), %rsi      # 0xd730
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x84f4(%rip), %rsi      # 0xd726
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x84a4(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
pushq $0x68
popq %rsi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x849b(%rip), %rsi      # 0xd735
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x848a(%rip), %rsi      # 0xd73b
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x8425(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
pushq $0x48
popq %rsi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x845f(%rip), %rsi      # 0xd778
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x844f(%rip), %rsi      # 0xd77f
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x83a6(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
xorl %esi, %esi
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x8443(%rip), %rsi      # 0xd7da
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x8434(%rip), %rsi      # 0xd7e2
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x8328(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
xorl %esi, %esi
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x8408(%rip), %rsi      # 0xd81d
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x83f8(%rip), %rsi      # 0xd824
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x82aa(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
pushq $0x64
popq %rbx
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
movl %ebx, %esi
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x82db(%rip), %rsi      # 0xd771
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x83f8(%rip), %rsi      # 0xd8a5
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x8b3d(%rip), %rsi      # 0xe000
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
xorl %esi, %esi
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x8b2a(%rip), %rsi      # 0xe03e
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x88bb(%rip), %rsi      # 0xdde6
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x81ab(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
pushq $0x6d
popq %rsi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x88b6(%rip), %rsi      # 0xde49
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x88ac(%rip), %rsi      # 0xde56
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x812c(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
xorl %esi, %esi
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x888e(%rip), %rsi      # 0xde9f
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x8882(%rip), %rsi      # 0xdeaa
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x80ae(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
xorl %esi, %esi
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x888e(%rip), %rsi      # 0xdf1d
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x8881(%rip), %rsi      # 0xdf27
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x8030(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
xorl %esi, %esi
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x7fdf(%rip), %rsi      # 0xd6ec
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x8875(%rip), %rsi      # 0xdf99
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x7fb2(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
pushq $0x78
popq %rsi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x7f60(%rip), %rsi      # 0xd6ec
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x8810(%rip), %rsi      # 0xdfb3
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x7f33(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
pushq $0x30
popq %rsi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x7ee1(%rip), %rsi      # 0xd6ec
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x87ab(%rip), %rsi      # 0xdfcd
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x7eb4(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
pushq $0x31
popq %rsi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x7e62(%rip), %rsi      # 0xd6ec
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x8749(%rip), %rsi      # 0xdfea
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x7e35(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
pushq $0x34
popq %rsi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x7de3(%rip), %rsi      # 0xd6ec
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x86e6(%rip), %rsi      # 0xe006
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x7db6(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
pushq $0x61
popq %rsi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x7d64(%rip), %rsi      # 0xd6ec
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x8683(%rip), %rsi      # 0xe022
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x7d37(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
pushq $0x6d
popq %rsi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x863b(%rip), %rsi      # 0xe042
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x862b(%rip), %rsi      # 0xe049
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x7cb8(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
xorl %esi, %esi
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x85fb(%rip), %rsi      # 0xe080
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x85ea(%rip), %rsi      # 0xe086
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x7c3a(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
xorl %esi, %esi
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x85be(%rip), %rsi      # 0xe0c1
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x85ad(%rip), %rsi      # 0xe0c7
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x7bbc(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
xorl %esi, %esi
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x857b(%rip), %rsi      # 0xe0fc
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x856a(%rip), %rsi      # 0xe102
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x7b3e(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
xorl %esi, %esi
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x8554(%rip), %rsi      # 0xe153
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x8543(%rip), %rsi      # 0xe159
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x7ac0(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
pushq $0x63
popq %rsi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x7a6e(%rip), %rsi      # 0xd6ec
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x8560(%rip), %rsi      # 0xe1f5
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x7a41(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
pushq $0x6e
popq %rsi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x851b(%rip), %rsi      # 0xe218
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x8509(%rip), %rsi      # 0xe21d
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x852e(%rip), %rsi      # 0xe258
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
xorl %esi, %esi
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x7971(%rip), %rsi      # 0xd6ec
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x84b2(%rip), %rsi      # 0xe244
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x7944(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
pushq $0x77
popq %rsi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x78f2(%rip), %rsi      # 0xd6ec
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x844a(%rip), %rsi      # 0xe25b
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x78c5(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
pushq $0x57
popq %rsi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x7873(%rip), %rsi      # 0xd6ec
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x83e3(%rip), %rsi      # 0xe273
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x7846(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
pushq $0x6c
popq %rsi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x77f4(%rip), %rsi      # 0xd6ec
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x83c3(%rip), %rsi      # 0xe2d2
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x77c7(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
pushq $0x4c
popq %rsi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x83be(%rip), %rsi      # 0xe335
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x83ac(%rip), %rsi      # 0xe33a
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x7748(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
pushq $0x73
popq %rsi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x8363(%rip), %rsi      # 0xe359
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x8356(%rip), %rsi      # 0xe363
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x76c9(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rdx
leaq 0x30(%rsp), %rcx
leaq 0x50(%rsp), %r8
xorl %esi, %esi
callq 0x7888
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
movq %rsp, %rdi
callq 0x4408
leaq 0x130(%rsp), %rdi
movl %ebp, %esi
movq %r14, %rdx
callq 0x7a66
testb %al, %al
je 0x60b6
leaq 0x76a6(%rip), %rsi      # 0xd730
movq %rsp, %rdi
leaq 0x30(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rsi
callq 0x7f5a
movl %eax, %ebp
movq %rsp, %rdi
callq 0x4408
testb %bpl, %bpl
je 0x60ca
xorl %ebx, %ebx
leaq 0x130(%rsp), %rdi
callq 0x509a
jmp 0x7174
movq 0x208(%rsp), %rsi
cmpq %rsi, 0x210(%rsp)
je 0x60e8
leaq 0x30(%rsp), %rdi
callq 0x42c0
jmp 0x60fc
leaq 0x75fd(%rip), %rsi      # 0xd6ec
leaq 0x30(%rsp), %rdi
movq %rsp, %rdx
callq 0x40c0
leaq 0x76d7(%rip), %rsi      # 0xd7da
movq %rsp, %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rsi
callq 0x7f5a
testb %al, %al
je 0x6169
leaq 0x76af(%rip), %rsi      # 0xd7da
leaq 0x98(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x50(%rsp), %rdi
leaq 0x130(%rsp), %rsi
leaq 0x98(%rsp), %rdx
callq 0x7f9e
leaq 0x98(%rsp), %rdi
callq 0x4408
jmp 0x6182
leaq 0x757c(%rip), %rsi      # 0xd6ec
leaq 0x50(%rsp), %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
movq %rsp, %rdi
callq 0x4408
leaq 0x7ead(%rip), %rsi      # 0xe03e
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rsi
callq 0x7f5a
movl %eax, %ebp
movq %rsp, %rdi
callq 0x4408
leaq 0x7cdd(%rip), %rsi      # 0xde9f
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rsi
callq 0x7f5a
movb %al, 0x77(%rsp)
movq %rsp, %rdi
callq 0x4408
leaq 0x7d28(%rip), %rsi      # 0xdf1d
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rsi
callq 0x7f5a
movl %eax, %r12d
movq %rsp, %rdi
callq 0x4408
leaq 0x7c22(%rip), %rsi      # 0xde49
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rsi
callq 0x7f5a
movl %eax, %r13d
movq %rsp, %rdi
callq 0x4408
leaq 0x7e27(%rip), %rsi      # 0xe080
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rsi
callq 0x7f5a
movb %al, 0x76(%rsp)
movq %rsp, %rdi
callq 0x4408
leaq 0x7db6(%rip), %rsi      # 0xe042
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rsi
callq 0x7f5a
movl %eax, %r15d
movq %rsp, %rdi
callq 0x4408
leaq 0x7e95(%rip), %rsi      # 0xe153
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rsi
callq 0x7f5a
movb %al, 0xbc(%rsp)
movq %rsp, %rdi
callq 0x4408
leaq 0x7dcd(%rip), %rsi      # 0xe0c1
movq %rsp, %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rsi
callq 0x7f5a
testb %al, %al
movb %bpl, 0x74(%rsp)
je 0x6323
leaq 0x82e9(%rip), %r14      # 0xe60a
jmp 0x6378
leaq 0x7dd2(%rip), %rsi      # 0xe0fc
leaq 0x98(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0x7f5a
movl %eax, %ebp
leaq 0x98(%rsp), %rdi
callq 0x4408
leaq 0x82b1(%rip), %rax      # 0xe61b
leaq 0x8299(%rip), %r14      # 0xe60a
testb %bpl, %bpl
cmovneq %rax, %r14
movq %rsp, %rdi
callq 0x4408
leaq 0x130(%rsp), %rdi
pushq $0x6c
popq %rsi
callq 0x8012
movb $0x1, 0x75(%rsp)
testb %al, %al
jne 0x63ad
leaq 0x130(%rsp), %rdi
pushq $0x4c
popq %rsi
callq 0x8012
movb %al, 0x75(%rsp)
leaq 0x130(%rsp), %rdi
pushq $0x4c
popq %rsi
callq 0x8012
testb %al, %al
pushq $0x10
popq %rax
pushq $0xa
popq %rcx
cmovnel %eax, %ecx
movl %ecx, 0x10c(%rsp)
leaq 0x130(%rsp), %rdi
pushq $0x73
popq %rsi
callq 0x8012
movb $0x1, 0x2f(%rsp)
testb %al, %al
jne 0x641b
leaq 0x7f46(%rip), %rsi      # 0xe335
movq %rsp, %rdi
leaq 0x98(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rsi
callq 0x7f5a
movb %al, 0x2f(%rsp)
movq %rsp, %rdi
callq 0x4408
andq $0x0, 0x100(%rsp)
leaq 0x7346(%rip), %rsi      # 0xd771
movq %rsp, %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x98(%rsp), %rdi
leaq 0x130(%rsp), %rsi
movq %rsp, %rdx
callq 0x7f9e
movq %rsp, %rdi
callq 0x4408
leaq 0x130(%rsp), %rdi
pushq $0x78
popq %rsi
callq 0x8012
testb %al, %al
je 0x6480
leaq 0x7b3c(%rip), %rsi      # 0xdfaf
leaq 0x98(%rsp), %rdi
callq 0x43e0
leaq 0x130(%rsp), %rdi
pushq $0x30
popq %rsi
callq 0x8012
testb %al, %al
je 0x64a8
leaq 0x7b2e(%rip), %rsi      # 0xdfc9
leaq 0x98(%rsp), %rdi
callq 0x43e0
leaq 0x130(%rsp), %rdi
pushq $0x31
popq %rsi
callq 0x8012
testb %al, %al
je 0x64d0
leaq 0x7b20(%rip), %rsi      # 0xdfe3
leaq 0x98(%rsp), %rdi
callq 0x43e0
leaq 0x130(%rsp), %rdi
pushq $0x34
popq %rsi
callq 0x8012
testb %al, %al
je 0x64f8
leaq 0x7b15(%rip), %rsi      # 0xe000
leaq 0x98(%rsp), %rdi
callq 0x43e0
leaq 0x130(%rsp), %rdi
pushq $0x61
popq %rsi
callq 0x8012
testb %al, %al
je 0x6520
leaq 0x7b09(%rip), %rsi      # 0xe01c
leaq 0x98(%rsp), %rdi
callq 0x43e0
leaq 0x130(%rsp), %rdi
pushq $0x6d
popq %rsi
callq 0x8012
testb %al, %al
je 0x654d
movb $0x1, 0x74(%rsp)
leaq 0x7a6f(%rip), %rsi      # 0xdfaf
leaq 0x98(%rsp), %rdi
callq 0x43e0
leaq 0x7e05(%rip), %rsi      # 0xe359
movq %rsp, %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rsi
callq 0x7f5a
movb %al, 0xf8(%rsp)
movq %rsp, %rdi
callq 0x4408
leaq 0x7c91(%rip), %rsi      # 0xe218
movq %rsp, %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rsi
callq 0x7f5a
movl %eax, %ebp
movq %rsp, %rdi
callq 0x4408
testb %bpl, %bpl
je 0x65b8
pushq $0x40
popq %rbx
jmp 0x65e2
leaq 0x130(%rsp), %rdi
pushq $0x57
popq %rsi
callq 0x8012
testb %al, %al
jne 0x65e2
leaq 0x130(%rsp), %rdi
pushq $0x77
popq %rsi
callq 0x8012
movzbl %al, %ebx
shll $0x6, %ebx
leaq 0x7c2f(%rip), %rsi      # 0xe218
movq %rsp, %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rsi
callq 0x7f5a
movl %eax, %ebp
movq %rsp, %rdi
callq 0x4408
testb %bpl, %bpl
je 0x665f
leaq 0x7bfc(%rip), %rsi      # 0xe218
leaq 0x78(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
movq %rsp, %rdi
leaq 0x130(%rsp), %rsi
leaq 0x78(%rsp), %rdx
callq 0x7f9e
movq %rsp, %rdi
callq 0x805e
movl %eax, %ebx
movq %rsp, %rdi
callq 0x4408
leaq 0x78(%rsp), %rdi
callq 0x4408
xorps %xmm0, %xmm0
movaps %xmm0, 0xe0(%rsp)
andq $0x0, 0xf0(%rsp)
pushq $0x10
popq %rdi
callq 0x41f0
leaq 0xdc6e(%rip), %rcx      # 0x142f0
movq %rcx, (%rax)
movb %r13b, 0x8(%rax)
movb %r12b, 0x9(%rax)
leaq 0x78(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x7964(%rip), %rsi      # 0xe000
movq %rsp, %rdi
callq 0x80b4
leaq 0xe0(%rsp), %rdi
movq %rsp, %rsi
callq 0xca76
movq %rsp, %rdi
callq 0x4408
pushq $0x10
popq %rdi
callq 0x41f0
leaq 0xdccd(%rip), %rcx      # 0x14398
movq %rcx, (%rax)
movb %r13b, 0x8(%rax)
movb %r12b, 0x9(%rax)
leaq 0x78(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x78fe(%rip), %rsi      # 0xdfe3
movq %rsp, %rdi
callq 0x80d8
leaq 0xe0(%rsp), %rdi
movq %rsp, %rsi
callq 0xca76
movq %rsp, %rdi
callq 0x4408
pushq $0x10
popq %rdi
callq 0x41f0
leaq 0xdd1c(%rip), %rcx      # 0x14430
movq %rcx, (%rax)
movb %r13b, 0x8(%rax)
movb %r12b, 0x9(%rax)
leaq 0x78(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x7c80(%rip), %rsi      # 0xe3ae
movq %rsp, %rdi
callq 0x80fc
leaq 0xe0(%rsp), %rdi
movq %rsp, %rsi
callq 0xca76
movq %rsp, %rdi
callq 0x4408
pushq $0x10
popq %rdi
callq 0x41f0
leaq 0xdd6b(%rip), %rcx      # 0x144c8
movq %rcx, (%rax)
movb %r13b, 0x8(%rax)
leaq 0x78(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x78a9(%rip), %rsi      # 0xe01c
movq %rsp, %rdi
callq 0x8120
leaq 0xe0(%rsp), %rdi
movq %rsp, %rsi
callq 0xca76
movq %rsp, %rdi
callq 0x4408
pushq $0x20
popq %rdi
callq 0x41f0
leaq 0xddbe(%rip), %rcx      # 0x14560
movq %rcx, (%rax)
leaq 0x7e1a(%rip), %rcx      # 0xe5c6
movq %rcx, 0x8(%rax)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rax)
leaq 0x78(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x7bf0(%rip), %rsi      # 0xe3b6
movq %rsp, %rdi
callq 0x8144
leaq 0xe0(%rsp), %rdi
movq %rsp, %rsi
callq 0xca76
movq %rsp, %rdi
callq 0x4408
pushq $0x28
popq %rdi
callq 0x41f0
leaq 0xde03(%rip), %rcx      # 0x145f8
movq %rcx, (%rax)
leaq 0x7e0b(%rip), %r12      # 0xe60a
movq %r12, 0x8(%rax)
leaq 0x7e11(%rip), %rbp      # 0xe61b
movq %rbp, 0x10(%rax)
movq %r14, 0x18(%rax)
movb %r15b, 0x20(%rax)
leaq 0x78(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x778a(%rip), %rsi      # 0xdfaf
movq %rsp, %rdi
callq 0x8168
leaq 0xe0(%rsp), %rdi
movq %rsp, %rsi
callq 0xca76
movq %rsp, %rdi
callq 0x4408
pushq $0x10
popq %rdi
callq 0x41f0
leaq 0xde3c(%rip), %rcx      # 0x14690
movq %rcx, (%rax)
movb %r15b, 0x8(%rax)
leaq 0x78(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x775f(%rip), %rsi      # 0xdfc9
movq %rsp, %rdi
callq 0x818c
leaq 0xe0(%rsp), %rdi
movq %rsp, %rsi
callq 0xca76
movq %rsp, %rdi
callq 0x4408
pushq $0x10
popq %rdi
callq 0x41f0
leaq 0xde8f(%rip), %rcx      # 0x14728
movq %rcx, (%rax)
movb %r15b, 0x8(%rax)
leaq 0x78(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x7b0e(%rip), %rsi      # 0xe3bd
movq %rsp, %rdi
callq 0x81b0
leaq 0xe0(%rsp), %rdi
movq %rsp, %rsi
callq 0xca76
movq %rsp, %rdi
callq 0x4408
pushq $0x10
popq %rdi
callq 0x41f0
leaq 0xdee2(%rip), %rcx      # 0x147c0
movq %rcx, (%rax)
movb %r15b, 0x8(%rax)
movb 0xf8(%rsp), %cl
movb %cl, 0x9(%rax)
leaq 0x78(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x7ac3(%rip), %rsi      # 0xe3c1
movq %rsp, %rdi
callq 0x81d4
leaq 0xe0(%rsp), %rdi
movq %rsp, %rsi
callq 0xca76
movq %rsp, %rdi
callq 0x4408
pushq $0x28
popq %rdi
callq 0x41f0
leaq 0xdf2b(%rip), %rcx      # 0x14858
movq %rcx, (%rax)
movq %r12, 0x8(%rax)
movq %rbp, 0x10(%rax)
movq %r14, 0x18(%rax)
movb %r13b, 0x20(%rax)
leaq 0x78(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x7a76(%rip), %rsi      # 0xe3c5
movq %rsp, %rdi
callq 0x81f8
leaq 0xe0(%rsp), %rdi
movq %rsp, %rsi
callq 0xca76
movq %rsp, %rdi
callq 0x4408
pushq $0x28
popq %rdi
callq 0x41f0
leaq 0xdf72(%rip), %rcx      # 0x148f0
movq %rcx, (%rax)
movq %r12, 0x8(%rax)
movq %rbp, 0x10(%rax)
movq %r14, 0x18(%rax)
movb %r13b, 0x20(%rax)
leaq 0x78(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x7a29(%rip), %rsi      # 0xe3c9
movq %rsp, %rdi
callq 0x821c
leaq 0xe0(%rsp), %rdi
movq %rsp, %rsi
callq 0xca76
movq %rsp, %rdi
callq 0x4408
pushq $0x8
popq %rdi
callq 0x41f0
leaq 0xdfb9(%rip), %rcx      # 0x14988
movq %rcx, (%rax)
leaq 0x78(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x79ed(%rip), %rsi      # 0xe3ce
movq %rsp, %rdi
callq 0x8240
leaq 0xe0(%rsp), %rdi
movq %rsp, %rsi
callq 0xca76
movq %rsp, %rdi
callq 0x4408
pushq $0x10
popq %rdi
callq 0x41f0
leaq 0xe010(%rip), %rcx      # 0x14a20
movq %rcx, (%rax)
andq $0x0, 0x8(%rax)
leaq 0x78(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x75a4(%rip), %rsi      # 0xdfcb
movq %rsp, %rdi
callq 0x8264
leaq 0xe0(%rsp), %rdi
movq %rsp, %rsi
callq 0xca76
movq %rsp, %rdi
callq 0x4408
pushq $0x10
popq %rdi
callq 0x41f0
leaq 0xe062(%rip), %rcx      # 0x14ab8
movq %rcx, (%rax)
andq $0x0, 0x8(%rax)
leaq 0x78(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x7969(%rip), %rsi      # 0xe3d6
movq %rsp, %rdi
callq 0x8288
leaq 0xe0(%rsp), %rdi
movq %rsp, %rsi
callq 0xca76
movq %rsp, %rdi
callq 0x4408
pushq $0x8
popq %rdi
callq 0x41f0
leaq 0xe0b4(%rip), %rcx      # 0x14b50
movq %rcx, (%rax)
leaq 0x78(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x792c(%rip), %rsi      # 0xe3da
movq %rsp, %rdi
callq 0x82ac
leaq 0xe0(%rsp), %rdi
movq %rsp, %rsi
callq 0xca76
movq %rsp, %rdi
callq 0x4408
pushq $0x8
popq %rdi
callq 0x41f0
leaq 0xe10b(%rip), %rcx      # 0x14be8
movq %rcx, (%rax)
leaq 0x78(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x78f0(%rip), %rsi      # 0xe3df
movq %rsp, %rdi
callq 0x82d0
leaq 0xe0(%rsp), %rdi
movq %rsp, %rsi
callq 0xca76
movq %rsp, %rdi
callq 0x4408
pushq $0x8
popq %rdi
callq 0x41f0
leaq 0xe162(%rip), %rcx      # 0x14c80
movq %rcx, (%rax)
leaq 0x78(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x78b2(%rip), %rsi      # 0xe3e2
movq %rsp, %rdi
callq 0x82f4
leaq 0xe0(%rsp), %rdi
movq %rsp, %rsi
callq 0xca76
movq %rsp, %rdi
callq 0x4408
pushq $0x8
popq %rdi
callq 0x41f0
leaq 0xe1b9(%rip), %rcx      # 0x14d18
movq %rcx, (%rax)
leaq 0x78(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x7876(%rip), %rsi      # 0xe3e7
movq %rsp, %rdi
callq 0x8318
leaq 0xe0(%rsp), %rdi
movq %rsp, %rsi
callq 0xca76
movq %rsp, %rdi
callq 0x4408
cmpb $0x0, 0xbc(%rsp)
je 0x6bba
leaq 0x782c(%rip), %rsi      # 0xe3ce
leaq 0x98(%rsp), %rdi
callq 0x833b
xorb $0x1, %al
movl %eax, 0xbc(%rsp)
jmp 0x6bc5
movl $0x0, 0xbc(%rsp)
movq 0xe0(%rsp), %rax
movq 0x20(%rax), %r14
leaq 0x6b14(%rip), %rsi      # 0xd6ec
leaq 0x98(%rsp), %rdi
callq 0x8348
testb %al, %al
je 0x6c73
xorl %r15d, %r15d
leaq 0x98(%rsp), %r14
xorl %r12d, %r12d
movq 0xe0(%rsp), %rsi
movq 0xe8(%rsp), %rax
subq %rsi, %rax
cqto
pushq $0x28
popq %rcx
idivq %rcx
cmpq %rax, %r12
jae 0x6c33
addq %r15, %rsi
movq %r14, %rdi
callq 0x8352
testb %al, %al
jne 0x6c66
incq %r12
addq $0x28, %r15
jmp 0x6bfb
movq 0xe38e(%rip), %rdi      # 0x14fc8
leaq 0x77ad(%rip), %rsi      # 0xe3ee
callq 0x41e0
leaq 0x98(%rsp), %rsi
movq %rax, %rdi
callq 0x41c0
movq %rax, %rdi
callq 0x4110
pushq $0x1
popq %rbx
jmp 0x7146
movq 0xe0(%rsp), %rax
movq 0x20(%rax,%r15), %r14
leaq 0x6afe(%rip), %rsi      # 0xd778
movq %rsp, %rdi
leaq 0x78(%rsp), %rdx
callq 0x40c0
leaq 0x130(%rsp), %rdi
movq %rsp, %rsi
callq 0x7f5a
movl %eax, %ebp
movq %rsp, %rdi
callq 0x4408
testb %bpl, %bpl
je 0x6e0d
leaq 0x8(%rsp), %rbp
movq 0xe312(%rip), %r13      # 0x14fc8
leaq 0x78(%rsp), %r15
xorl %edi, %edi
movq 0xe0(%rsp), %rcx
movq 0xe8(%rsp), %rax
subq %rcx, %rax
cqto
pushq $0x28
popq %rsi
idivq %rsi
cmpq %rax, %rdi
jae 0x6ea5
movq %rdi, 0xf8(%rsp)
imulq $0x28, %rdi, %rbx
movq 0x20(%rcx,%rbx), %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movl %eax, %r14d
xorl %r12d, %r12d
cmpq $0x2, %r12
je 0x6dfd
cmpq $0x1, %r12
sete %al
testb %al, %r14b
jne 0x6df5
movq 0xe0(%rsp), %rsi
addq %rbx, %rsi
testb %r14b, %r14b
je 0x6d39
movq %r13, %rdi
callq 0x41c0
leaq 0x76df(%rip), %rsi      # 0xe416
jmp 0x6d74
movq %r13, %rdi
callq 0x41c0
movq %rax, %rdi
leaq 0x76b4(%rip), %rsi      # 0xe3ff
callq 0x41e0
testq %r12, %r12
leaq 0x76a8(%rip), %rsi      # 0xe402
leaq 0x76a6(%rip), %rcx      # 0xe407
cmoveq %rcx, %rsi
movq %rax, %rdi
callq 0x41e0
leaq 0x769b(%rip), %rsi      # 0xe40f
movq %rax, %rdi
callq 0x41e0
movq %rax, %rdi
callq 0x4110
movq 0xe0(%rsp), %rax
movq 0x20(%rax,%rbx), %rax
movq %rax, (%rsp)
movb $0x0, 0x8(%rbp)
andq $0x0, (%rbp)
movl $0xa, 0x14(%rsp)
andw $0x0, 0x14(%rbp)
andl $0x0, 0x10(%rbp)
movl 0xbc(%rsp), %eax
movb %al, 0x18(%rsp)
movb 0x76(%rsp), %al
movb %al, 0x19(%rsp)
movb %r12b, 0x1a(%rsp)
movb 0x77(%rsp), %al
movb %al, 0x1c(%rsp)
movq %r15, %rdi
movq %rsp, %rsi
callq 0x8376
movq %r13, %rdi
movq %r15, %rsi
callq 0x41c0
movq %rax, %rdi
callq 0x4110
movq %r15, %rdi
callq 0x4408
incq %r12
jmp 0x6cfe
movq 0xf8(%rsp), %rdi
incq %rdi
jmp 0x6cbd
movq %r14, (%rsp)
andq $0x0, 0x8(%rsp)
movb 0x75(%rsp), %al
movb %al, 0x10(%rsp)
movl 0x10c(%rsp), %eax
movl %eax, 0x14(%rsp)
movl 0xbc(%rsp), %eax
movb %al, 0x18(%rsp)
movb 0x76(%rsp), %al
movb %al, 0x19(%rsp)
movb 0x74(%rsp), %al
movb %al, 0x1a(%rsp)
movb %r13b, 0x1b(%rsp)
movb 0x77(%rsp), %al
movb %al, 0x1c(%rsp)
movl %ebx, 0x8(%rsp)
movb 0xf8(%rsp), %al
movb %al, 0x1d(%rsp)
leaq 0x130(%rsp), %rdi
pushq $0x48
popq %rsi
callq 0x8012
testb %al, %al
je 0x6eac
leaq 0x78(%rsp), %rdi
movq %rsp, %rsi
callq 0x8376
movq 0xe13f(%rip), %rdi      # 0x14fc8
leaq 0x78(%rsp), %rsi
callq 0x41c0
movq %rax, %rdi
callq 0x4110
leaq 0x78(%rsp), %rdi
callq 0x4408
xorl %ebx, %ebx
jmp 0x7146
leaq 0x130(%rsp), %rdi
pushq $0x64
popq %rsi
callq 0x8012
movl %eax, %ebx
cmpq $0x0, 0x38(%rsp)
je 0x6f39
leaq 0x88(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x80(%rsp), %r13
andq $0x0, (%r13)
movb $0x0, 0x8(%r13)
leaq 0x30(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x495c
testb %al, %al
je 0x6faf
leaq 0xd0(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
testb %bl, %bl
je 0x6fd2
leaq 0x110(%rsp), %rdi
movq %rsp, %rsi
leaq 0x78(%rsp), %rdx
callq 0x898a
leaq 0xc8(%rsp), %r13
jmp 0x6fe7
cmpq $0x0, 0x58(%rsp)
sete %al
movl %ebx, %ecx
notb %cl
testb %al, %cl
jne 0x7195
leaq 0x88(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x80(%rsp), %r13
andq $0x0, (%r13)
movb $0x0, 0x8(%r13)
movq 0xe065(%rip), %r14      # 0x14fd8
leaq 0xc0(%rsp), %r15
leaq 0x78(%rsp), %r12
movq %r14, %rdi
movq %r15, %rsi
callq 0x42e0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x6efb
movsbl 0xc0(%rsp), %esi
movq %r12, %rdi
callq 0x41a0
jmp 0x6f80
movq 0xe012(%rip), %rdi      # 0x14fc8
leaq 0x745c(%rip), %rsi      # 0xe419
callq 0x41e0
movq %rax, %rdi
callq 0x4110
pushq $0x1
popq %rbx
jmp 0x713c
leaq 0x110(%rsp), %rdi
movq %rsp, %rsi
leaq 0x78(%rsp), %rdx
callq 0x8682
leaq 0xc0(%rsp), %rdi
leaq 0x110(%rsp), %r14
movq %r14, %rsi
callq 0x4250
movq %r14, %rdi
callq 0x4408
movq (%r13), %r14
movq %r14, 0x100(%rsp)
cmpq $0x0, 0x58(%rsp)
je 0x70c8
cmpb $0x0, 0x2f(%rsp)
je 0x7088
leaq 0x248(%rsp), %rdi
leaq 0x100(%rsp), %rsi
xorl %edx, %edx
callq 0x8b0a
leaq 0x73fa(%rip), %rsi      # 0xe43e
leaq 0x110(%rsp), %rdi
leaq 0x248(%rsp), %rdx
callq 0x8ae6
leaq 0xc0(%rsp), %rdi
leaq 0x110(%rsp), %rsi
callq 0x43f0
leaq 0x110(%rsp), %rdi
callq 0x4408
leaq 0x248(%rsp), %rdi
callq 0x4408
testb %bl, %bl
jne 0x70b4
leaq 0x130(%rsp), %rdi
pushq $0x6e
popq %rsi
callq 0x8012
testb %al, %al
jne 0x70b4
leaq 0x6644(%rip), %rsi      # 0xd6eb
leaq 0xc0(%rsp), %rdi
callq 0x43d0
leaq 0xc0(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x4a3e
jmp 0x712d
movq 0xdef9(%rip), %rdi      # 0x14fc8
leaq 0xc0(%rsp), %rsi
callq 0x41c0
cmpb $0x0, 0x2f(%rsp)
je 0x7109
movq 0xdede(%rip), %rdi      # 0x14fc8
callq 0x4110
leaq 0x7349(%rip), %rsi      # 0xe43f
movq %rax, %rdi
callq 0x41e0
movq %rax, %rdi
movq %r14, %rsi
callq 0x4170
testb %bl, %bl
jne 0x712d
leaq 0x130(%rsp), %rdi
pushq $0x6e
popq %rsi
callq 0x8012
testb %al, %al
jne 0x712d
movq 0xdea0(%rip), %rdi      # 0x14fc8
callq 0x4110
leaq 0xc0(%rsp), %rdi
callq 0x4408
xorl %ebx, %ebx
leaq 0x78(%rsp), %rdi
callq 0x4408
leaq 0xe0(%rsp), %rdi
callq 0x8b8a
leaq 0x98(%rsp), %rdi
callq 0x4408
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
leaq 0x130(%rsp), %rdi
callq 0x8bac
movl %ebx, %eax
addq $0x268, %rsp            # imm = 0x268
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq (%r14), %rax
movq %r14, %rdi
callq *0x20(%rax)
testb %al, %al
je 0x7239
leaq 0x74a8(%rip), %rsi      # 0xe655
leaq 0x78(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x40c0
xorl %ebx, %ebx
leaq 0x110(%rsp), %r15
leaq 0xc0(%rsp), %r12
movq %rsp, %r13
leaq 0x78(%rsp), %rbp
movq 0xdde8(%rip), %r14      # 0x14fc8
movq 0xddf1(%rip), %rdi      # 0x14fd8
movq %r15, %rsi
callq 0x42e0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x726a
movb 0x110(%rsp), %al
movq 0x78(%rsp), %rcx
movb %al, (%rcx)
movq %r12, %rdi
movq %r13, %rsi
movq %rbp, %rdx
callq 0x8682
movq %r14, %rdi
movq %r12, %rsi
callq 0x41c0
movq %r12, %rdi
callq 0x4408
incq %rbx
movq %rbx, 0x100(%rsp)
jmp 0x71e0
movq 0x38(%rsp), %rax
leaq 0x88(%rsp), %rcx
andq $0x0, -0x8(%rcx)
movq %rcx, -0x10(%rcx)
leaq 0x80(%rsp), %r13
movb $0x0, 0x8(%r13)
testq %rax, %rax
jne 0x6ee4
jmp 0x6f6c
cmpb $0x0, 0x2f(%rsp)
je 0x7297
movq 0xdd50(%rip), %rdi      # 0x14fc8
callq 0x4110
leaq 0x71bb(%rip), %rsi      # 0xe43f
movq %rax, %rdi
callq 0x41e0
movq %rax, %rdi
movq %rbx, %rsi
callq 0x4170
leaq 0x130(%rsp), %rdi
pushq $0x6e
popq %rsi
callq 0x8012
testb %al, %al
jne 0x6e9b
movq 0xdd12(%rip), %rdi      # 0x14fc8
callq 0x4110
jmp 0x6e9b
jmp 0x769e
movq %rax, %rbx
leaq 0x110(%rsp), %rdi
callq 0x4408
jmp 0x72da
movq %rax, %rbx
leaq 0x248(%rsp), %rdi
callq 0x4408
jmp 0x7385
jmp 0x7382
jmp 0x768f
jmp 0x7382
jmp 0x7382
jmp 0x769e
jmp 0x769e
jmp 0x7382
jmp 0x768f
jmp 0x768f
jmp 0x769e
jmp 0x7681
movq %rax, %rbx
movq %rsp, %rdi
callq 0x4408
jmp 0x7330
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
jmp 0x73f8
jmp 0x7686
jmp 0x742b
jmp 0x744b
movq %rax, %rbx
leaq 0x98(%rsp), %rdi
callq 0x4408
jmp 0x742e
jmp 0x742b
movq %rax, %rbx
leaq 0x98(%rsp), %rdi
callq 0x4408
jmp 0x743b
jmp 0x7438
jmp 0x7438
movq %rax, %rbx
leaq 0xc0(%rsp), %rdi
callq 0x4408
jmp 0x7692
jmp 0x768f
jmp 0x768f
jmp 0x7681
jmp 0x73d9
jmp 0x769e
jmp 0x7686
jmp 0x769e
jmp 0x73d9
jmp 0x73d9
jmp 0x73d9
jmp 0x73d9
jmp 0x73d9
jmp 0x73d9
jmp 0x73d9
jmp 0x73d9
jmp 0x73d9
jmp 0x73d9
jmp 0x73d9
jmp 0x73d9
jmp 0x73d9
jmp 0x73d9
jmp 0x73d9
jmp 0x73d9
jmp 0x73d9
movq %rax, %rbx
movq %rsp, %rdi
jmp 0x7697
jmp 0x73f2
jmp 0x7686
jmp 0x73f2
jmp 0x7686
movq %rax, %rbx
movq %rsp, %rdi
callq 0x4408
jmp 0x76ae
jmp 0x7686
jmp 0x742b
jmp 0x744b
jmp 0x744b
jmp 0x744b
jmp 0x742b
jmp 0x744b
jmp 0x742b
jmp 0x744b
jmp 0x742b
jmp 0x744b
jmp 0x742b
jmp 0x744b
jmp 0x742b
jmp 0x744b
jmp 0x742b
jmp 0x744b
jmp 0x742b
jmp 0x744b
movq %rax, %rbx
movq %rsp, %rdi
jmp 0x76b6
jmp 0x744b
movq %rax, %rbx
movq %rsp, %rdi
jmp 0x76c0
movq %rax, %rbx
jmp 0x76c5
movq %rax, %rbx
jmp 0x76bb
jmp 0x769e
jmp 0x769e
jmp 0x769e
jmp 0x769e
jmp 0x769e
jmp 0x769e
jmp 0x769e
jmp 0x769e
jmp 0x769e
jmp 0x769e
jmp 0x769e
jmp 0x769e
jmp 0x769e
jmp 0x769e
jmp 0x769e
jmp 0x769e
jmp 0x769e
jmp 0x769e
jmp 0x7677
jmp 0x7681
jmp 0x768f
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
jmp 0x7659
jmp 0x7668
jmp 0x7677
jmp 0x7681
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x4408
jmp 0x766b
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x4408
jmp 0x767a
movq %rax, %rbx
movq %rsp, %rdi
jmp 0x76ca
jmp 0x7681
movq %rax, %rbx
jmp 0x76cf
movq %rax, %rbx
jmp 0x76ae
jmp 0x769e
jmp 0x769e
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
callq 0x4408
jmp 0x76a1
movq %rax, %rbx
leaq 0xe0(%rsp), %rdi
callq 0x8b8a
leaq 0x98(%rsp), %rdi
callq 0x4408
leaq 0x50(%rsp), %rdi
callq 0x4408
leaq 0x30(%rsp), %rdi
callq 0x4408
leaq 0x130(%rsp), %rdi
callq 0x8bac
movq %rbx, %rdi
callq 0x43a0