// File: /workspace/github_cpp_makefile_star2_O3/yhirose[P]fizzbuzzlang/./peglib.h
// Function: peg::ParserGenerator::perform_core(char const*, unsigned long, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::shared_ptr<peg::Ope>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::shared_ptr<peg::Ope>>>> const&, std::function<void (unsigned long, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
ParserContext perform_core(const char *s, size_t n, const Rules &rules,
                             Log log, std::string requested_start) {
    Data data;
    auto &grammar = *data.grammar;

    // Built-in macros
    {
      // `%recover`
      {
        auto &rule = grammar[RECOVER_DEFINITION_NAME];
        rule <= ref(grammar, "x", "", false, {});
        rule.name = RECOVER_DEFINITION_NAME;
        rule.s_ = "[native]";
        rule.ignoreSemanticValue = true;
        rule.is_macro = true;
        rule.params = {"x"};
      }
    }

    try {
      std::any dt = &data;
      auto r = g["Grammar"].parse(s, n, dt, nullptr, log);

      if (!r.ret) {
        if (log) {
          if (r.error_info.message_pos) {
            auto line = line_info(s, r.error_info.message_pos);
            log(line.first, line.second, r.error_info.message,
                r.error_info.label);
          } else {
            auto line = line_info(s, r.error_info.error_pos);
            log(line.first, line.second, "syntax error", r.error_info.label);
          }
        }
        return {};
      }
    } catch (const SyntaxErrorException &e) {
      if (log) {
        auto line = e.line_info();
        log(line.first, line.second, e.what(), "");
      }
      return {};
    }

    // User provided rules
    for (auto [user_name, user_rule] : rules) {
      auto name = user_name;
      auto ignore = false;
      if (!name.empty() && name[0] == '~') {
        ignore = true;
        name.erase(0, 1);
      }
      if (!name.empty()) {
        auto &rule = grammar[name];
        rule <= user_rule;
        rule.name = name;
        rule.ignoreSemanticValue = ignore;
      }
    }

    // Check duplicated definitions
    auto ret = true;

    if (!data.duplicates_of_definition.empty()) {
      for (const auto &[name, ptr] : data.duplicates_of_definition) {
        if (log) {
          auto line = line_info(s, ptr);
          log(line.first, line.second,
              "the definition '" + name + "' is already defined.", "");
        }
      }
      ret = false;
    }

    // Check duplicated instructions
    if (!data.duplicates_of_instruction.empty()) {
      for (const auto &[type, ptr] : data.duplicates_of_instruction) {
        if (log) {
          auto line = line_info(s, ptr);
          log(line.first, line.second,
              "the instruction '" + type + "' is already defined.", "");
        }
      }
      ret = false;
    }

    // Check undefined back references
    if (!data.undefined_back_references.empty()) {
      for (const auto &[name, ptr] : data.undefined_back_references) {
        if (log) {
          auto line = line_info(s, ptr);
          log(line.first, line.second,
              "the back reference '" + name + "' is undefined.", "");
        }
      }
      ret = false;
    }

    // Set root definition
    auto start = data.start;

    if (!requested_start.empty()) {
      if (grammar.count(requested_start)) {
        start = requested_start;
      } else {
        if (log) {
          auto line = line_info(s, s);
          log(line.first, line.second,
              "the specified start rule '" + requested_start +
                  "' is undefined.",
              "");
        }
        ret = false;
      }
    }

    if (!ret) { return {}; }

    auto &start_rule = grammar[start];

    // Check if the start rule has ignore operator
    {
      if (start_rule.ignoreSemanticValue) {
        if (log) {
          auto line = line_info(s, start_rule.s_);
          log(line.first, line.second,
              "ignore operator cannot be applied to '" + start_rule.name + "'.",
              "");
        }
        ret = false;
      }
    }

    if (!ret) { return {}; }

    // Check missing definitions
    auto referenced = std::unordered_set<std::string>{
        WHITESPACE_DEFINITION_NAME,
        WORD_DEFINITION_NAME,
        RECOVER_DEFINITION_NAME,
        start_rule.name,
    };

    for (auto &[_, rule] : grammar) {
      ReferenceChecker vis(grammar, rule.params);
      rule.accept(vis);
      referenced.insert(vis.referenced.begin(), vis.referenced.end());
      for (const auto &[name, ptr] : vis.error_s) {
        if (log) {
          auto line = line_info(s, ptr);
          log(line.first, line.second, vis.error_message[name], "");
        }
        ret = false;
      }
    }

    for (auto &[name, rule] : grammar) {
      if (!referenced.count(name)) {
        if (log) {
          auto line = line_info(s, rule.s_);
          auto msg = "'" + name + "' is not referenced.";
          log(line.first, line.second, msg, "");
        }
      }
    }

    if (!ret) { return {}; }

    // Link references
    for (auto &x : grammar) {
      auto &rule = x.second;
      LinkReferences vis(grammar, rule.params);
      rule.accept(vis);
    }

    // Check left recursion
    ret = true;

    for (auto &[name, rule] : grammar) {
      DetectLeftRecursion vis(name);
      rule.accept(vis);
      if (vis.error_s) {
        if (log) {
          auto line = line_info(s, vis.error_s);
          log(line.first, line.second, "'" + name + "' is left recursive.", "");
        }
        ret = false;
      }
    }

    if (!ret) { return {}; }

    // Check infinite loop
    if (detect_infiniteLoop(data, start_rule, log, s)) { return {}; }

    // Automatic whitespace skipping
    if (grammar.count(WHITESPACE_DEFINITION_NAME)) {
      for (auto &x : grammar) {
        auto &rule = x.second;
        auto ope = rule.get_core_operator();
        if (IsLiteralToken::check(*ope)) { rule <= tok(ope); }
      }

      auto &rule = grammar[WHITESPACE_DEFINITION_NAME];
      start_rule.whitespaceOpe = wsp(rule.get_core_operator());

      if (detect_infiniteLoop(data, rule, log, s)) { return {}; }
    }

    // Word expression
    if (grammar.count(WORD_DEFINITION_NAME)) {
      auto &rule = grammar[WORD_DEFINITION_NAME];
      start_rule.wordOpe = rule.get_core_operator();

      if (detect_infiniteLoop(data, rule, log, s)) { return {}; }
    }

    // Apply instructions
    for (const auto &[name, instructions] : data.instructions) {
      auto &rule = grammar[name];

      for (const auto &instruction : instructions) {
        if (instruction.type == "precedence") {
          const auto &info =
              std::any_cast<PrecedenceClimbing::BinOpeInfo>(instruction.data);

          if (!apply_precedence_instruction(rule, info, s, log)) { return {}; }
        } else if (instruction.type == "error_message") {
          rule.error_message = std::any_cast<std::string>(instruction.data);
        } else if (instruction.type == "no_ast_opt") {
          rule.no_ast_opt = true;
        }
      }
    }

    return {data.grammar, start, data.enablePackratParsing};
  }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x328, %rsp            # imm = 0x328
movq %r9, -0x30(%rbp)
movq %r8, -0x198(%rbp)
movq %rcx, %r15
movq %rdx, -0x80(%rbp)
movq %rsi, -0x1d0(%rbp)
movq %rdi, %r14
leaq -0x340(%rbp), %r12
movq %r12, %rdi
callq 0x36c1c
movq (%r12), %rbx
leaq -0x180(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x2f7f0(%rip), %rsi     # 0x42cb3
leaq 0x2f7f1(%rip), %rdx     # 0x42cbb
leaq -0x190(%rbp), %rdi
callq 0x11634
leaq -0x190(%rbp), %rsi
movq %rbx, -0x78(%rbp)
movq %rbx, %rdi
callq 0x2933c
movq %rax, %r13
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x1350e
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x82b0
leaq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
movq %rax, (%rdi)
leaq 0x2f432(%rip), %rsi     # 0x42958
leaq 0x2f42c(%rip), %rdx     # 0x42959
callq 0x11634
xorps %xmm0, %xmm0
leaq -0xc0(%rbp), %rax
movaps %xmm0, (%rax)
movq $0x0, 0x10(%rax)
leaq 0x2f48c(%rip), %rcx     # 0x429da
leaq -0x1b8(%rbp), %r8
movq %rcx, (%r8)
leaq -0x1f8(%rbp), %r9
movb $0x0, (%r9)
movq %rax, (%rsp)
leaq -0x50(%rbp), %rdi
leaq -0x1f0(%rbp), %rsi
leaq -0x190(%rbp), %rcx
movq -0x78(%rbp), %rdx
callq 0x30126
movq -0x50(%rbp), %rax
movq -0x48(%rbp), %rcx
leaq -0x68(%rbp), %rbx
movq %rax, -0x8(%rbx)
movq %rcx, (%rbx)
movq 0x1c0(%r13), %rdi
movq %rax, 0x8(%rdi)
addq $0x10, %rdi
movq %rbx, %rsi
callq 0x130c6
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x135b9
callq 0x123fc
leaq -0xc0(%rbp), %rdi
callq 0xbb18
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x135e7
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x82b0
movq 0x8(%r13), %rdx
leaq 0x2f6c1(%rip), %rcx     # 0x42cb3
movl $0x8, %r8d
movq %r13, %rdi
xorl %esi, %esi
callq 0x83b0
leaq 0x2f7ab(%rip), %rax     # 0x42db4
movq %rax, 0x20(%r13)
movb $0x1, %al
movb %al, 0xc0(%r13)
movb %al, 0xe9(%r13)
leaq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
movq %rax, (%rdi)
leaq 0x2f323(%rip), %rsi     # 0x42958
leaq 0x2f31d(%rip), %rdx     # 0x42959
callq 0x11634
addq $0xf0, %r13
leaq -0x170(%rbp), %rdx
leaq -0x190(%rbp), %rsi
movq %r13, %rdi
movq %rdx, -0x1c8(%rbp)
callq 0x38198
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x13687
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x82b0
leaq 0x19fb0(%rip), %rax     # 0x2d63e
movq %rax, -0x50(%rbp)
movq %r12, -0x48(%rbp)
leaq -0xb0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x2f0ea(%rip), %rsi     # 0x42792
leaq 0x2f0ea(%rip), %rdx     # 0x42799
leaq -0xc0(%rbp), %rdi
callq 0x11634
leaq -0xc0(%rbp), %rsi
movq -0x1d0(%rbp), %rdi
callq 0x2933c
movq %rax, %r12
leaq -0x240(%rbp), %r13
movq %r13, %rdi
movq -0x30(%rbp), %rsi
callq 0xc1b6
movq %r13, (%rsp)
leaq -0x190(%rbp), %rdi
leaq -0x50(%rbp), %r8
movq %r12, %rsi
movq -0x80(%rbp), %rdx
movq %r15, %rcx
xorl %r9d, %r9d
callq 0x36dc0
movq -0x230(%rbp), %rax
testq %rax, %rax
je 0x13722
leaq -0x240(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
movq -0x80(%rbp), %r15
je 0x13748
movq -0xb0(%rbp), %rsi
incq %rsi
callq 0x82b0
cmpb $0x0, -0x190(%rbp)
je 0x13b3a
leaq -0x128(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x13774
movq -0x128(%rbp), %rsi
incq %rsi
callq 0x82b0
leaq -0x148(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x13793
movq -0x148(%rbp), %rsi
incq %rsi
callq 0x82b0
movq -0x178(%rbp), %rdi
testq %rdi, %rdi
je 0x137ae
movq -0x168(%rbp), %rsi
subq %rdi, %rsi
callq 0x82b0
movq %r14, -0xc8(%rbp)
movq -0x50(%rbp), %rax
testq %rax, %rax
je 0x137cb
leaq -0x50(%rbp), %rsi
movl $0x3, %edi
xorl %edx, %edx
callq *%rax
movq -0x198(%rbp), %rax
movq 0x10(%rax), %r14
testq %r14, %r14
je 0x138f9
leaq -0x190(%rbp), %r15
leaq -0xc0(%rbp), %r12
leaq 0x8(%r14), %rsi
movq %r15, %rdi
callq 0x36f86
leaq -0xb0(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq -0x190(%rbp), %rsi
movq -0x188(%rbp), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0x13028
cmpq $0x0, -0xb8(%rbp)
je 0x13898
movq -0xc0(%rbp), %rax
cmpb $0x7e, (%rax)
jne 0x13853
movl $0x1, %edx
movq %r12, %rdi
xorl %esi, %esi
callq 0x8090
movb $0x1, %bl
cmpq $0x0, -0xb8(%rbp)
jne 0x13855
jmp 0x13898
xorl %ebx, %ebx
movq -0x78(%rbp), %rdi
movq %r12, %rsi
callq 0x2eb22
movq %rax, %r13
movq 0x1c0(%rax), %rdi
movq -0x170(%rbp), %rax
movq %rax, 0x8(%rdi)
addq $0x10, %rdi
leaq -0x168(%rbp), %rsi
callq 0x130c6
movq %r13, %rdi
movq %r12, %rsi
callq 0x8170
movb %bl, 0xc0(%r13)
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
je 0x138ba
movq -0xb0(%rbp), %rsi
incq %rsi
callq 0x82b0
movq -0x168(%rbp), %rdi
testq %rdi, %rdi
je 0x138cb
callq 0x123fc
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x138ed
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x82b0
movq (%r14), %r14
testq %r14, %r14
jne 0x137ed
movq -0x308(%rbp), %rbx
movq -0x300(%rbp), %r14
cmpq %r14, %rbx
je 0x13c46
leaq -0xc0(%rbp), %r12
leaq -0x180(%rbp), %r15
movq -0x30(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x13b25
movq 0x20(%rbx), %rax
movl $0x1, %r13d
movl $0x1, %r15d
movq -0x80(%rbp), %rdx
cmpq %rdx, %rax
jbe 0x139ff
movq %rdx, %rcx
xorl %esi, %esi
cmpb $0xa, (%rdx)
leaq 0x1(%rdx), %rdi
cmoveq %rdi, %rcx
sete %sil
addl %esi, %r15d
movq %rdi, %rdx
cmpq %rax, %rdi
jne 0x1394d
subq %rcx, %rax
je 0x139f8
movl $0x1, %r13d
xorl %edx, %edx
movzbl (%rcx,%rdx), %esi
movl $0x1, %r8d
testb %sil, %sil
jns 0x139e9
movq %rax, %rdi
subq %rdx, %rdi
cmpq $0x1, %rdi
je 0x139ab
movl %esi, %r9d
andl $-0x20, %r9d
movl $0x2, %r8d
cmpl $0xc0, %r9d
je 0x139e9
cmpq $0x3, %rdi
jb 0x139c7
movl %esi, %r9d
andl $-0x10, %r9d
movl $0x3, %r8d
cmpl $0xe0, %r9d
je 0x139e9
andl $-0x8, %esi
xorl %r9d, %r9d
cmpl $0xf0, %esi
sete %r9b
shll $0x2, %r9d
cmpq $0x4, %rdi
movl $0x0, %r8d
cmovaeq %r9, %r8
cmpq $0x1, %r8
adcq %r8, %rdx
incq %r13
cmpq %rax, %rdx
jb 0x1397a
leaq -0xc0(%rbp), %r12
movq %r12, %rdi
leaq 0x2f3b4(%rip), %rsi     # 0x42dbd
movq %rbx, %rdx
callq 0xbe0e
movq %r12, %rdi
leaq 0x2f3b3(%rip), %rsi     # 0x42dce
callq 0x8480
leaq -0x180(%rbp), %rsi
movq %rsi, -0x190(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x13a50
movq %rdx, -0x190(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x180(%rbp)
jmp 0x13a56
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x188(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x50(%rbp), %rdi
leaq 0x2ef57(%rip), %rdx     # 0x429da
movq %rdx, %rsi
callq 0x11634
movl %r15d, %eax
movq %rax, -0x70(%rbp)
movq %r13, -0x1b8(%rbp)
movq -0x30(%rbp), %rdi
cmpq $0x0, 0x10(%rdi)
je 0x156eb
leaq -0x70(%rbp), %rsi
leaq -0x1b8(%rbp), %rdx
leaq -0x190(%rbp), %rcx
leaq -0x50(%rbp), %r8
leaq -0x180(%rbp), %r15
callq *0x18(%rdi)
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x13ae1
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x82b0
movq -0x190(%rbp), %rdi
cmpq %r15, %rdi
je 0x13afc
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x82b0
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
je 0x13b1e
movq -0xb0(%rbp), %rsi
incq %rsi
callq 0x82b0
leaq -0xc0(%rbp), %r12
addq $0x28, %rbx
cmpq %r14, %rbx
jne 0x1391e
xorl %r13d, %r13d
jmp 0x13c50
movq -0x30(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x143ad
movq -0x160(%rbp), %rdx
testq %rdx, %rdx
je 0x14265
movl $0x1, %eax
movl $0x1, %ecx
cmpq %r15, %rdx
jbe 0x13c19
movq %r15, %rsi
xorl %edi, %edi
cmpb $0xa, (%rsi)
leaq 0x1(%rsi), %r8
cmoveq %r8, %r15
sete %dil
addl %edi, %ecx
movq %r8, %rsi
cmpq %rdx, %r8
jne 0x13b6f
subq %r15, %rdx
je 0x13c19
movl $0x1, %eax
xorl %esi, %esi
movzbl (%r15,%rsi), %edi
movl $0x1, %r9d
testb %dil, %dil
jns 0x13c0a
movq %rdx, %r8
subq %rsi, %r8
cmpq $0x1, %r8
je 0x13bcc
movl %edi, %r10d
andl $-0x20, %r10d
movl $0x2, %r9d
cmpl $0xc0, %r10d
je 0x13c0a
cmpq $0x3, %r8
jb 0x13be8
movl %edi, %r10d
andl $-0x10, %r10d
movl $0x3, %r9d
cmpl $0xe0, %r10d
je 0x13c0a
andl $-0x8, %edi
xorl %r10d, %r10d
cmpl $0xf0, %edi
sete %r10b
shll $0x2, %r10d
cmpq $0x4, %r8
movl $0x0, %r9d
cmovaeq %r10, %r9
cmpq $0x1, %r9
adcq %r9, %rsi
incq %rax
cmpq %rdx, %rsi
jb 0x13b9a
movl %ecx, %edx
leaq -0x158(%rbp), %rcx
leaq -0x138(%rbp), %r8
leaq -0x70(%rbp), %rsi
movq %rdx, (%rsi)
leaq -0x1b8(%rbp), %rdx
movq %rax, (%rdx)
movq -0x30(%rbp), %rdi
callq *0x18(%rdi)
jmp 0x143ad
movb $0x1, %r13b
leaq -0x180(%rbp), %r15
movq -0x2f0(%rbp), %rbx
movq -0x2e8(%rbp), %r14
cmpq %r14, %rbx
je 0x13e85
leaq -0xc0(%rbp), %r13
movq -0x30(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x13e75
movq 0x20(%rbx), %rax
movl $0x1, %r12d
movl $0x1, %r15d
movq -0x80(%rbp), %rdx
cmpq %rdx, %rax
jbe 0x13d4f
movq %rdx, %rcx
xorl %esi, %esi
cmpb $0xa, (%rdx)
leaq 0x1(%rdx), %rdi
cmoveq %rdi, %rcx
sete %sil
addl %esi, %r15d
movq %rdi, %rdx
cmpq %rax, %rdi
jne 0x13c9d
subq %rcx, %rax
je 0x13d48
movl $0x1, %r12d
xorl %edx, %edx
movzbl (%rcx,%rdx), %esi
movl $0x1, %r8d
testb %sil, %sil
jns 0x13d39
movq %rax, %rdi
subq %rdx, %rdi
cmpq $0x1, %rdi
je 0x13cfb
movl %esi, %r9d
andl $-0x20, %r9d
movl $0x2, %r8d
cmpl $0xc0, %r9d
je 0x13d39
cmpq $0x3, %rdi
jb 0x13d17
movl %esi, %r9d
andl $-0x10, %r9d
movl $0x3, %r8d
cmpl $0xe0, %r9d
je 0x13d39
andl $-0x8, %esi
xorl %r9d, %r9d
cmpl $0xf0, %esi
sete %r9b
shll $0x2, %r9d
cmpq $0x4, %rdi
movl $0x0, %r8d
cmovaeq %r9, %r8
cmpq $0x1, %r8
adcq %r8, %rdx
incq %r12
cmpq %rax, %rdx
jb 0x13cca
leaq -0xc0(%rbp), %r13
movq %r13, %rdi
leaq 0x2f08b(%rip), %rsi     # 0x42de4
movq %rbx, %rdx
callq 0xbe0e
movq %r13, %rdi
leaq 0x2f063(%rip), %rsi     # 0x42dce
callq 0x8480
leaq -0x180(%rbp), %rsi
movq %rsi, -0x190(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x13da0
movq %rdx, -0x190(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x180(%rbp)
jmp 0x13da6
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x188(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x50(%rbp), %rdi
leaq 0x2ec07(%rip), %rdx     # 0x429da
movq %rdx, %rsi
callq 0x11634
movl %r15d, %eax
movq %rax, -0x70(%rbp)
movq %r12, -0x1b8(%rbp)
movq -0x30(%rbp), %rdi
cmpq $0x0, 0x10(%rdi)
je 0x156f0
leaq -0x70(%rbp), %rsi
leaq -0x1b8(%rbp), %rdx
leaq -0x190(%rbp), %rcx
leaq -0x50(%rbp), %r8
leaq -0x180(%rbp), %r15
callq *0x18(%rdi)
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x13e31
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x82b0
movq -0x190(%rbp), %rdi
cmpq %r15, %rdi
je 0x13e4c
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x82b0
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
je 0x13e6e
movq -0xb0(%rbp), %rsi
incq %rsi
callq 0x82b0
leaq -0xc0(%rbp), %r13
addq $0x28, %rbx
cmpq %r14, %rbx
jne 0x13c6e
xorl %r13d, %r13d
movq -0x2a8(%rbp), %rbx
movq -0x2a0(%rbp), %r14
cmpq %r14, %rbx
je 0x140ba
leaq -0xc0(%rbp), %r13
movq -0x30(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x140aa
movq 0x20(%rbx), %rax
movl $0x1, %r12d
movl $0x1, %r15d
movq -0x80(%rbp), %rdx
cmpq %rdx, %rax
jbe 0x13f84
movq %rdx, %rcx
xorl %esi, %esi
cmpb $0xa, (%rdx)
leaq 0x1(%rdx), %rdi
cmoveq %rdi, %rcx
sete %sil
addl %esi, %r15d
movq %rdi, %rdx
cmpq %rax, %rdi
jne 0x13ed2
subq %rcx, %rax
je 0x13f7d
movl $0x1, %r12d
xorl %edx, %edx
movzbl (%rcx,%rdx), %esi
movl $0x1, %r8d
testb %sil, %sil
jns 0x13f6e
movq %rax, %rdi
subq %rdx, %rdi
cmpq $0x1, %rdi
je 0x13f30
movl %esi, %r9d
andl $-0x20, %r9d
movl $0x2, %r8d
cmpl $0xc0, %r9d
je 0x13f6e
cmpq $0x3, %rdi
jb 0x13f4c
movl %esi, %r9d
andl $-0x10, %r9d
movl $0x3, %r8d
cmpl $0xe0, %r9d
je 0x13f6e
andl $-0x8, %esi
xorl %r9d, %r9d
cmpl $0xf0, %esi
sete %r9b
shll $0x2, %r9d
cmpq $0x4, %rdi
movl $0x0, %r8d
cmovaeq %r9, %r8
cmpq $0x1, %r8
adcq %r8, %rdx
incq %r12
cmpq %rax, %rdx
jb 0x13eff
leaq -0xc0(%rbp), %r13
movq %r13, %rdi
leaq 0x2ee68(%rip), %rsi     # 0x42df6
movq %rbx, %rdx
callq 0xbe0e
movq %r13, %rdi
leaq 0x2ee6b(%rip), %rsi     # 0x42e0b
callq 0x8480
leaq -0x180(%rbp), %rsi
movq %rsi, -0x190(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x13fd5
movq %rdx, -0x190(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x180(%rbp)
jmp 0x13fdb
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x188(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x50(%rbp), %rdi
leaq 0x2e9d2(%rip), %rdx     # 0x429da
movq %rdx, %rsi
callq 0x11634
movl %r15d, %eax
movq %rax, -0x70(%rbp)
movq %r12, -0x1b8(%rbp)
movq -0x30(%rbp), %rdi
cmpq $0x0, 0x10(%rdi)
je 0x156f5
leaq -0x70(%rbp), %rsi
leaq -0x1b8(%rbp), %rdx
leaq -0x190(%rbp), %rcx
leaq -0x50(%rbp), %r8
leaq -0x180(%rbp), %r15
callq *0x18(%rdi)
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x14066
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x82b0
movq -0x190(%rbp), %rdi
cmpq %r15, %rdi
je 0x14081
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x82b0
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
je 0x140a3
movq -0xb0(%rbp), %rsi
incq %rsi
callq 0x82b0
leaq -0xc0(%rbp), %r13
addq $0x28, %rbx
cmpq %r14, %rbx
jne 0x13ea3
xorl %r13d, %r13d
leaq -0x40(%rbp), %rax
movq %rax, -0x10(%rax)
movq -0x330(%rbp), %rsi
movq -0x328(%rbp), %rdx
addq %rsi, %rdx
leaq -0x50(%rbp), %rdi
callq 0x13028
movq 0x10(%rbp), %rbx
cmpq $0x0, 0x8(%rbx)
movq -0xc8(%rbp), %r14
je 0x1410f
movq -0x78(%rbp), %rdi
movq %rbx, %rsi
callq 0x3e722
testq %rax, %rax
je 0x14446
leaq -0x50(%rbp), %rdi
movq %rbx, %rsi
callq 0x8170
testb %r13b, %r13b
je 0x14bc4
leaq -0x50(%rbp), %rsi
movq -0x78(%rbp), %rdi
callq 0x2eb22
movq %rax, %r12
cmpb $0x1, 0xc0(%rax)
jne 0x144ae
movq -0x30(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x14bc4
movq 0x20(%r12), %rax
movl $0x1, %ebx
movl $0x1, %r14d
movq -0x80(%rbp), %rdi
cmpq %rdi, %rax
jbe 0x1420c
movq %rdi, %rcx
xorl %edx, %edx
cmpb $0xa, (%rcx)
leaq 0x1(%rcx), %rsi
cmoveq %rsi, %rdi
sete %dl
addl %edx, %r14d
movq %rsi, %rcx
cmpq %rax, %rsi
jne 0x14164
subq %rdi, %rax
je 0x1420c
movq %rdi, %r9
movl $0x1, %ebx
xorl %ecx, %ecx
movzbl (%r9,%rcx), %edx
movl $0x1, %edi
testb %dl, %dl
jns 0x141fd
movq %rax, %rsi
subq %rcx, %rsi
cmpq $0x1, %rsi
je 0x141c1
movl %edx, %r8d
andl $-0x20, %r8d
movl $0x2, %edi
cmpl $0xc0, %r8d
je 0x141fd
cmpq $0x3, %rsi
jb 0x141dc
movl %edx, %r8d
andl $-0x10, %r8d
movl $0x3, %edi
cmpl $0xe0, %r8d
je 0x141fd
andl $-0x8, %edx
xorl %r8d, %r8d
cmpl $0xf0, %edx
sete %r8b
shll $0x2, %r8d
cmpq $0x4, %rsi
movl $0x0, %edi
cmovaeq %r8, %rdi
cmpq $0x1, %rdi
adcq %rdi, %rcx
incq %rbx
cmpq %rax, %rcx
jb 0x14192
leaq 0x2ec23(%rip), %rsi     # 0x42e36
leaq -0xc0(%rbp), %rdi
movq %r12, %rdx
callq 0xbe0e
leaq 0x2ec34(%rip), %rsi     # 0x42e5d
leaq -0xc0(%rbp), %rdi
callq 0x8480
movq %r15, -0x190(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x14c8e
movq %rdx, -0x190(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x180(%rbp)
jmp 0x14c95
movq %r14, %r12
movq -0x180(%rbp), %rax
movl $0x1, %ebx
movl $0x1, %r14d
cmpq %r15, %rax
jbe 0x1432b
movq %r15, %rcx
xorl %edx, %edx
cmpb $0xa, (%rcx)
leaq 0x1(%rcx), %rsi
cmoveq %rsi, %r15
sete %dl
addl %edx, %r14d
movq %rsi, %rcx
cmpq %rax, %rsi
jne 0x14286
subq %r15, %rax
je 0x1432b
movl $0x1, %ebx
xorl %ecx, %ecx
movzbl (%r15,%rcx), %edx
movl $0x1, %edi
testb %dl, %dl
jns 0x1431c
movq %rax, %rsi
subq %rcx, %rsi
cmpq $0x1, %rsi
je 0x142e0
movl %edx, %r8d
andl $-0x20, %r8d
movl $0x2, %edi
cmpl $0xc0, %r8d
je 0x1431c
cmpq $0x3, %rsi
jb 0x142fb
movl %edx, %r8d
andl $-0x10, %r8d
movl $0x3, %edi
cmpl $0xe0, %r8d
je 0x1431c
andl $-0x8, %edx
xorl %r8d, %r8d
cmpl $0xf0, %edx
sete %r8b
shll $0x2, %r8d
cmpq $0x4, %rsi
movl $0x0, %edi
cmovaeq %r8, %rdi
cmpq $0x1, %rdi
adcq %rdi, %rcx
incq %rbx
cmpq %rax, %rcx
jb 0x142b1
leaq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
movq %rax, (%rdi)
leaq 0x2e410(%rip), %rsi     # 0x42753
leaq 0x2e415(%rip), %rdx     # 0x4275f
callq 0x11634
movl %r14d, %eax
movq %rax, -0x70(%rbp)
movq %rbx, -0x1b8(%rbp)
movq -0x30(%rbp), %rdi
cmpq $0x0, 0x10(%rdi)
je 0x15709
leaq -0x138(%rbp), %r8
leaq -0x70(%rbp), %rsi
leaq -0x1b8(%rbp), %rdx
leaq -0xc0(%rbp), %rcx
movq %r12, %r14
callq *0x18(%rdi)
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
je 0x143ad
movq -0xb0(%rbp), %rsi
incq %rsi
callq 0x82b0
xorps %xmm0, %xmm0
movups %xmm0, (%r14)
leaq 0x20(%r14), %rax
movq %rax, 0x10(%r14)
movq $0x0, 0x18(%r14)
xorl %eax, %eax
movb %al, 0x20(%r14)
movb %al, 0x30(%r14)
leaq -0x128(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x143ed
movq -0x128(%rbp), %rsi
incq %rsi
callq 0x82b0
leaq -0x148(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1440c
movq -0x148(%rbp), %rsi
incq %rsi
callq 0x82b0
movq -0x178(%rbp), %rdi
testq %rdi, %rdi
je 0x14427
movq -0x168(%rbp), %rsi
subq %rdi, %rsi
callq 0x82b0
movq -0x50(%rbp), %rax
testq %rax, %rax
je 0x14bfe
leaq -0x50(%rbp), %rsi
movl $0x3, %edi
xorl %edx, %edx
callq *%rax
jmp 0x14bfe
movq -0x30(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x14bc4
leaq 0x2e9bf(%rip), %rsi     # 0x42e1b
leaq -0xc0(%rbp), %rdi
movq %rbx, %rdx
callq 0xbe0e
leaq 0x2e999(%rip), %rsi     # 0x42e0b
leaq -0xc0(%rbp), %rdi
callq 0x8480
movq %r15, -0x190(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x14af8
movq %rdx, -0x190(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x180(%rbp)
jmp 0x14aff
leaq -0x190(%rbp), %rbx
movq %r15, (%rbx)
leaq 0x2e9e1(%rip), %rsi     # 0x42ea0
leaq 0x2e9e5(%rip), %rdx     # 0x42eab
movq %rbx, %rdi
callq 0x11634
movl %r13d, -0x1bc(%rbp)
leaq -0x160(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x2e9c5(%rip), %rsi     # 0x42eac
leaq 0x2e9c3(%rip), %rdx     # 0x42eb1
leaq -0x170(%rbp), %rdi
callq 0x11634
leaq -0x150(%rbp), %r13
leaq -0x140(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x2e7a0(%rip), %rsi     # 0x42cb3
leaq 0x2e7a1(%rip), %rdx     # 0x42cbb
movq %r13, %rdi
callq 0x11634
leaq -0x130(%rbp), %r13
leaq -0x120(%rbp), %r14
movq %r14, -0x10(%r14)
movq (%r12), %rsi
movq 0x8(%r12), %rdx
addq %rsi, %rdx
movq %r13, %rdi
callq 0x13028
movq %r12, -0x198(%rbp)
leaq -0x110(%rbp), %r12
leaq -0x1f0(%rbp), %rax
movq %rax, (%rsp)
leaq -0xc0(%rbp), %rdi
leaq -0x190(%rbp), %rsi
leaq -0x70(%rbp), %r8
leaq -0x1b8(%rbp), %r9
movq %r12, %rdx
xorl %ecx, %ecx
callq 0x38e1e
movq $-0x80, %rbx
movq -0x198(%rbp), %r12
movl -0x1bc(%rbp), %r13d
movq -0x10(%r14), %rdi
cmpq %rdi, %r14
je 0x145ad
movq (%r14), %rsi
incq %rsi
callq 0x82b0
addq $-0x20, %r14
addq $0x20, %rbx
jne 0x14599
movq -0x78(%rbp), %rcx
movq 0x10(%rcx), %rsi
testq %rsi, %rsi
je 0x14aec
leaq -0x188(%rbp), %rbx
leaq 0x482b2(%rip), %r14     # 0x5c888
leaq -0x70(%rbp), %r15
leaq 0x118(%rsi), %rax
movq %r14, -0x190(%rbp)
leaq -0x158(%rbp), %rdx
movq %rdx, -0x188(%rbp)
movl $0x1, %edi
movq %rdi, -0x180(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rbx)
movl $0x3f800000, %r8d       # imm = 0x3F800000
movl %r8d, -0x168(%rbp)
leaq -0x160(%rbp), %rdx
movups %xmm0, (%rdx)
leaq -0x120(%rbp), %rdx
movq %rdx, -0x150(%rbp)
movq %rdi, -0x148(%rbp)
leaq -0x140(%rbp), %rdx
movups %xmm0, (%rdx)
movl %r8d, -0x130(%rbp)
leaq -0x128(%rbp), %rdx
movups %xmm0, (%rdx)
leaq -0xe8(%rbp), %rdx
movq %rdx, -0x118(%rbp)
movq %rdi, -0x110(%rbp)
movups %xmm0, 0x80(%rbx)
movl %r8d, -0xf8(%rbp)
movups %xmm0, 0x98(%rbx)
movq %rcx, -0xe0(%rbp)
movq %rax, -0xd8(%rbp)
movq %rsi, -0x1c8(%rbp)
movq 0x1e8(%rsi), %rdi
movq (%rdi), %rax
leaq -0x190(%rbp), %rsi
callq *0x18(%rax)
movq -0x108(%rbp), %rbx
leaq -0xc0(%rbp), %r14
movq %r14, -0x70(%rbp)
testq %rbx, %rbx
je 0x146ce
leaq 0x8(%rbx), %rsi
movq %r14, %rdi
movq %r15, %rdx
callq 0x38f26
movq (%rbx), %rbx
jmp 0x146b5
movq -0x178(%rbp), %r14
testq %r14, %r14
je 0x14849
movq -0x30(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x1483a
movq 0x28(%r14), %rax
movl $0x1, %ebx
movl $0x1, %r12d
movq -0x80(%rbp), %rdx
cmpq %rdx, %rax
jbe 0x147b6
movq %rdx, %rcx
xorl %esi, %esi
cmpb $0xa, (%rdx)
leaq 0x1(%rdx), %rdi
cmoveq %rdi, %rcx
sete %sil
addl %esi, %r12d
movq %rdi, %rdx
cmpq %rax, %rdi
jne 0x1470c
subq %rcx, %rax
je 0x147b6
movl $0x1, %ebx
xorl %edx, %edx
movzbl (%rcx,%rdx), %esi
movl $0x1, %r8d
testb %sil, %sil
jns 0x147a7
movq %rax, %rdi
subq %rdx, %rdi
cmpq $0x1, %rdi
je 0x14769
movl %esi, %r9d
andl $-0x20, %r9d
movl $0x2, %r8d
cmpl $0xc0, %r9d
je 0x147a7
cmpq $0x3, %rdi
jb 0x14785
movl %esi, %r9d
andl $-0x10, %r9d
movl $0x3, %r8d
cmpl $0xe0, %r9d
je 0x147a7
andl $-0x8, %esi
xorl %r9d, %r9d
cmpl $0xf0, %esi
sete %r9b
shll $0x2, %r9d
cmpq $0x4, %rdi
movl $0x0, %r8d
cmovaeq %r9, %r8
cmpq $0x1, %r8
adcq %r8, %rdx
incq %rbx
cmpq %rax, %rdx
jb 0x14738
leaq 0x8(%r14), %rsi
leaq -0x150(%rbp), %rdi
callq 0x3eb78
movq %rax, %r13
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
movq %r15, %rdi
leaq 0x2e1ff(%rip), %rdx     # 0x429da
movq %rdx, %rsi
callq 0x11634
movl %r12d, %eax
movq %rax, -0x1b8(%rbp)
movq %rbx, -0x1f0(%rbp)
movq -0x30(%rbp), %rdi
cmpq $0x0, 0x10(%rdi)
je 0x156e6
leaq -0x1b8(%rbp), %rsi
leaq -0x1f0(%rbp), %rdx
movq %r13, %rcx
movq %r15, %r8
callq *0x18(%rdi)
movq -0x198(%rbp), %r12
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x1483a
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x82b0
movq (%r14), %r14
testq %r14, %r14
jne 0x146de
xorl %r13d, %r13d
leaq 0x48038(%rip), %r14     # 0x5c888
movq %r14, -0x190(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x2ea6c
leaq -0x150(%rbp), %rdi
callq 0x3c574
leaq -0x188(%rbp), %rbx
movq %rbx, %rdi
callq 0x3c670
movq -0x1c8(%rbp), %rsi
movq (%rsi), %rsi
testq %rsi, %rsi
movq -0x78(%rbp), %rcx
jne 0x145da
movq 0x10(%rcx), %r14
testq %r14, %r14
je 0x14d3e
movl %r13d, -0x1bc(%rbp)
leaq -0x180(%rbp), %r15
leaq 0x8(%r14), %r13
leaq -0xc0(%rbp), %rdi
movq %r13, %rsi
callq 0x3dfe8
testq %rax, %rax
je 0x148d5
movq (%r14), %r14
testq %r14, %r14
jne 0x148b0
jmp 0x14ad9
movq -0x30(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x148c8
movq 0x48(%r14), %rax
movl $0x1, %r15d
movl $0x1, %r12d
movq -0x80(%rbp), %rdx
cmpq %rdx, %rax
jbe 0x149ab
movq %rdx, %rcx
xorl %esi, %esi
cmpb $0xa, (%rdx)
leaq 0x1(%rdx), %rdi
cmoveq %rdi, %rcx
sete %sil
addl %esi, %r12d
movq %rdi, %rdx
cmpq %rax, %rdi
jne 0x14900
subq %rcx, %rax
je 0x149ab
movl $0x1, %r15d
xorl %edx, %edx
movzbl (%rcx,%rdx), %esi
movl $0x1, %r8d
testb %sil, %sil
jns 0x1499c
movq %rax, %rdi
subq %rdx, %rdi
cmpq $0x1, %rdi
je 0x1495e
movl %esi, %r9d
andl $-0x20, %r9d
movl $0x2, %r8d
cmpl $0xc0, %r9d
je 0x1499c
cmpq $0x3, %rdi
jb 0x1497a
movl %esi, %r9d
andl $-0x10, %r9d
movl $0x3, %r8d
cmpl $0xe0, %r9d
je 0x1499c
andl $-0x8, %esi
xorl %r9d, %r9d
cmpl $0xf0, %esi
sete %r9b
shll $0x2, %r9d
cmpq $0x4, %rdi
movl $0x0, %r8d
cmovaeq %r9, %r8
cmpq $0x1, %r8
adcq %r8, %rdx
incq %r15
cmpq %rax, %rdx
jb 0x1492d
leaq -0x70(%rbp), %rbx
movq %rbx, %rdi
leaq 0x2ddb4(%rip), %rsi     # 0x4276d
movq %r13, %rdx
callq 0xbe0e
movq %rbx, %rdi
leaq 0x2e495(%rip), %rsi     # 0x42e60
callq 0x8480
leaq -0x180(%rbp), %rsi
movq %rsi, -0x190(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x14a00
movq %rdx, -0x190(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x180(%rbp)
jmp 0x14a06
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x188(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x14a39
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x82b0
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
movq %rbx, %rdi
leaq 0x2df8f(%rip), %rdx     # 0x429da
movq %rdx, %rsi
callq 0x11634
movl %r12d, %eax
movq %rax, -0x1b8(%rbp)
movq %r15, -0x1f0(%rbp)
movq -0x30(%rbp), %rdi
cmpq $0x0, 0x10(%rdi)
je 0x156fa
leaq -0x1b8(%rbp), %rsi
leaq -0x1f0(%rbp), %rdx
leaq -0x190(%rbp), %rcx
movq %rbx, %r8
leaq -0x180(%rbp), %r15
callq *0x18(%rdi)
movq -0x198(%rbp), %r12
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x14ab5
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x82b0
movq -0x190(%rbp), %rdi
cmpq %r15, %rdi
je 0x148c8
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x82b0
jmp 0x148c8
movq -0xc8(%rbp), %r14
movl -0x1bc(%rbp), %r13d
jmp 0x14d4c
movq -0xc8(%rbp), %r14
jmp 0x14d4c
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, -0x188(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x60(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x2deb2(%rip), %rdx     # 0x429da
leaq -0x70(%rbp), %rdi
movq %rdx, %rsi
callq 0x11634
movl $0x1, %eax
movq %rax, -0x1b8(%rbp)
movq %rax, -0x1f0(%rbp)
movq -0x30(%rbp), %rdi
cmpq $0x0, 0x10(%rdi)
je 0x15713
leaq -0x1b8(%rbp), %rsi
leaq -0x1f0(%rbp), %rdx
leaq -0x190(%rbp), %rcx
leaq -0x70(%rbp), %r8
callq *0x18(%rdi)
movq -0x70(%rbp), %rdi
cmpq %rbx, %rdi
je 0x14b87
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x82b0
movq -0x190(%rbp), %rdi
cmpq %r15, %rdi
je 0x14ba2
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x82b0
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
je 0x14bc4
movq -0xb0(%rbp), %rsi
incq %rsi
callq 0x82b0
xorps %xmm0, %xmm0
movups %xmm0, (%r14)
leaq 0x20(%r14), %rax
movq %rax, 0x10(%r14)
movq $0x0, 0x18(%r14)
xorl %eax, %eax
movb %al, 0x20(%r14)
movb %al, 0x30(%r14)
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x14bfe
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x82b0
leaq -0x278(%rbp), %rdi
callq 0x345fc
leaq -0x290(%rbp), %rdi
callq 0x3974e
leaq -0x2a8(%rbp), %rdi
callq 0x37d8e
leaq -0x2d8(%rbp), %rdi
callq 0x3812e
leaq -0x2f0(%rbp), %rdi
callq 0x37d8e
leaq -0x308(%rbp), %rbx
movq %rbx, %rdi
callq 0x37d8e
movq -0x28(%rbx), %rdi
leaq -0x320(%rbp), %rax
cmpq %rax, %rdi
je 0x14c68
movq -0x320(%rbp), %rsi
incq %rsi
callq 0x82b0
movq -0x338(%rbp), %rdi
testq %rdi, %rdi
je 0x14c79
callq 0x123fc
movq %r14, %rax
addq $0x328, %rsp            # imm = 0x328
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, -0x188(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x60(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x2dd1c(%rip), %rdx     # 0x429da
leaq -0x70(%rbp), %rdi
movq %rdx, %rsi
callq 0x11634
movl %r14d, %eax
movq %rax, -0x1b8(%rbp)
movq %rbx, -0x1f0(%rbp)
movq -0x30(%rbp), %rdi
cmpq $0x0, 0x10(%rdi)
je 0x15718
leaq -0x1b8(%rbp), %rsi
leaq -0x1f0(%rbp), %rdx
leaq -0x190(%rbp), %rcx
leaq -0x70(%rbp), %r8
callq *0x18(%rdi)
movq -0xc8(%rbp), %r14
movq -0x70(%rbp), %rdi
cmpq %r15, %rdi
je 0x14d22
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x82b0
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
jne 0x14b93
jmp 0x14ba2
movq -0xc8(%rbp), %r14
leaq -0x180(%rbp), %r15
testb $0x1, %r13b
je 0x15471
movq -0x78(%rbp), %rax
movq 0x10(%rax), %r14
testq %r14, %r14
je 0x150c0
leaq 0x47c0a(%rip), %r15     # 0x5c978
leaq -0x190(%rbp), %rbx
leaq 0x118(%r14), %rax
movq %r15, -0x190(%rbp)
movq -0x78(%rbp), %rcx
movq %rcx, -0x188(%rbp)
movq %rax, -0x180(%rbp)
movq 0x1e8(%r14), %rdi
movq (%rdi), %rax
movq %rbx, %rsi
callq *0x18(%rax)
movq (%r14), %r14
testq %r14, %r14
jne 0x14d75
movq -0x78(%rbp), %rax
movq 0x10(%rax), %r13
testq %r13, %r13
leaq -0x180(%rbp), %r15
je 0x150c0
leaq -0x180(%rbp), %rbx
movb $0x1, %r14b
leaq 0x477e2(%rip), %rax     # 0x5c5b8
movq %rax, -0x190(%rbp)
movq $0x0, -0x188(%rbp)
leaq -0x170(%rbp), %rax
movq %rax, -0x180(%rbp)
movq 0x8(%r13), %rsi
movq 0x10(%r13), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0x13028
leaq -0x130(%rbp), %rax
movq %rax, -0x160(%rbp)
movq $0x1, -0x158(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, 0x30(%rbx)
movl $0x3f800000, -0x140(%rbp) # imm = 0x3F800000
movups %xmm0, 0x48(%rbx)
movb $0x0, 0x58(%rbx)
movq 0x1e8(%r13), %rdi
movq (%rdi), %rax
leaq -0x190(%rbp), %rsi
callq *0x18(%rax)
movq -0x188(%rbp), %rax
testq %rax, %rax
je 0x15066
movq -0x30(%rbp), %rcx
cmpq $0x0, 0x10(%rcx)
je 0x15063
movl $0x1, %r14d
movl $0x1, %r15d
movq -0x80(%rbp), %rdx
cmpq %rdx, %rax
jbe 0x14f35
movq %rdx, %rcx
xorl %esi, %esi
cmpb $0xa, (%rdx)
leaq 0x1(%rdx), %rdi
cmoveq %rdi, %rcx
sete %sil
addl %esi, %r15d
movq %rdi, %rdx
cmpq %rax, %rdi
jne 0x14e8a
subq %rcx, %rax
je 0x14f35
movl $0x1, %r14d
xorl %edx, %edx
movzbl (%rcx,%rdx), %esi
movl $0x1, %r8d
testb %sil, %sil
jns 0x14f26
movq %rax, %rdi
subq %rdx, %rdi
cmpq $0x1, %rdi
je 0x14ee8
movl %esi, %r9d
andl $-0x20, %r9d
movl $0x2, %r8d
cmpl $0xc0, %r9d
je 0x14f26
cmpq $0x3, %rdi
jb 0x14f04
movl %esi, %r9d
andl $-0x10, %r9d
movl $0x3, %r8d
cmpl $0xe0, %r9d
je 0x14f26
andl $-0x8, %esi
xorl %r9d, %r9d
cmpl $0xf0, %esi
sete %r9b
shll $0x2, %r9d
cmpq $0x4, %rdi
movl $0x0, %r8d
cmovaeq %r9, %r8
cmpq $0x1, %r8
adcq %r8, %rdx
incq %r14
cmpq %rax, %rdx
jb 0x14eb7
leaq -0x1b8(%rbp), %rdi
leaq 0x8(%r13), %rdx
movq %rdi, %r12
leaq 0x2d823(%rip), %rsi     # 0x4276d
callq 0xbe0e
movq %r12, %rdi
leaq 0x2df1c(%rip), %rsi     # 0x42e75
callq 0x8480
leaq -0x60(%rbp), %rsi
movq %rsi, -0x70(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x14f82
movq %rdx, -0x70(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x60(%rbp)
jmp 0x14f88
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x68(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x1e0(%rbp), %rax
movq %rax, -0x1f0(%rbp)
leaq -0x1f0(%rbp), %rdi
leaq 0x2da1f(%rip), %rdx     # 0x429da
movq %rdx, %rsi
callq 0x11634
movl %r15d, %eax
movq %rax, -0x1f8(%rbp)
movq %r14, -0x200(%rbp)
movq -0x30(%rbp), %rdi
cmpq $0x0, 0x10(%rdi)
je 0x156ff
leaq -0x1f8(%rbp), %rsi
leaq -0x200(%rbp), %rdx
leaq -0x70(%rbp), %rcx
leaq -0x1f0(%rbp), %r8
leaq -0x60(%rbp), %r14
callq *0x18(%rdi)
leaq -0x180(%rbp), %r15
movq -0x1f0(%rbp), %rdi
leaq -0x1e0(%rbp), %rax
cmpq %rax, %rdi
je 0x1502c
movq -0x1e0(%rbp), %rsi
incq %rsi
callq 0x82b0
movq -0x70(%rbp), %rdi
cmpq %r14, %rdi
je 0x15041
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x82b0
movq -0x1b8(%rbp), %rdi
leaq -0x1a8(%rbp), %rax
cmpq %rax, %rdi
je 0x15063
movq -0x1a8(%rbp), %rsi
incq %rsi
callq 0x82b0
xorl %r14d, %r14d
leaq 0x4754b(%rip), %rax     # 0x5c5b8
movq %rax, -0x190(%rbp)
leaq -0x160(%rbp), %rdi
callq 0x2ea6c
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x150a2
movq -0x170(%rbp), %rsi
incq %rsi
callq 0x82b0
movq (%r13), %r13
testq %r13, %r13
jne 0x14dcf
testb $0x1, %r14b
movq -0x198(%rbp), %r12
je 0x152ce
leaq -0x340(%rbp), %rsi
movq -0x1d0(%rbp), %rdi
movq %r12, %rdx
movq -0x30(%rbp), %rcx
movq -0x80(%rbp), %r8
callq 0x37014
testb %al, %al
movq -0xc8(%rbp), %r14
jne 0x15471
leaq -0x190(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x2dda2(%rip), %rsi     # 0x42ea0
leaq 0x2dda6(%rip), %rdx     # 0x42eab
callq 0x11634
leaq -0x190(%rbp), %rsi
movq -0x78(%rbp), %rdi
callq 0x3e722
movq %rax, %rbx
movq -0x190(%rbp), %rdi
cmpq %r15, %rdi
je 0x15138
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x82b0
testq %rbx, %rbx
je 0x15362
movq -0x78(%rbp), %rax
movq 0x10(%rax), %r14
testq %r14, %r14
je 0x15241
leaq 0x47bdf(%rip), %r15     # 0x5cd38
leaq -0x190(%rbp), %r12
leaq -0x70(%rbp), %rbx
movq 0x48e05(%rip), %r13     # 0x5df70
movq 0x1e8(%r14), %rax
movq 0x8(%rax), %rdi
movq %rdi, -0x70(%rbp)
movq 0x10(%rax), %rax
movq %rax, -0x68(%rbp)
testq %rax, %rax
je 0x1519b
cmpb $0x0, (%r13)
je 0x15193
incl 0x8(%rax)
jmp 0x1519b
lock
incl 0x8(%rax)
movq -0x70(%rbp), %rdi
movq %r15, -0x190(%rbp)
movb $0x0, -0x188(%rbp)
movq (%rdi), %rax
movq %r12, %rsi
callq *0x18(%rax)
cmpb $0x1, -0x188(%rbp)
jne 0x15227
movq $0x0, -0x190(%rbp)
leaq -0x188(%rbp), %rdi
movq %r12, %rsi
leaq -0x1f0(%rbp), %rdx
movq %rbx, %rcx
callq 0x2b55a
movq -0x190(%rbp), %rax
movq -0x188(%rbp), %rcx
movq %rax, -0x1b8(%rbp)
movq %rcx, -0x1b0(%rbp)
movq 0x1e8(%r14), %rdi
movq %rax, 0x8(%rdi)
addq $0x10, %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x130c6
movq -0x1b0(%rbp), %rdi
testq %rdi, %rdi
je 0x15227
callq 0x123fc
movq -0x68(%rbp), %rdi
testq %rdi, %rdi
je 0x15235
callq 0x123fc
movq (%r14), %r14
testq %r14, %r14
jne 0x1516b
leaq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %r15
movq %r15, (%rdi)
leaq 0x2dc47(%rip), %rsi     # 0x42ea0
leaq 0x2dc4b(%rip), %rdx     # 0x42eab
callq 0x11634
leaq -0x190(%rbp), %rsi
movq -0x78(%rbp), %rdi
callq 0x2933c
movq -0xc8(%rbp), %r14
movq -0x198(%rbp), %r12
movq %rax, %rbx
movq -0x190(%rbp), %rdi
cmpq %r15, %rdi
je 0x152a1
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x82b0
movq 0x1c0(%rbx), %rax
movq 0x8(%rax), %rcx
movq %rcx, -0x70(%rbp)
movq 0x10(%rax), %rax
movq %rax, -0x68(%rbp)
testq %rax, %rax
je 0x152e1
movq 0x48cac(%rip), %rcx     # 0x5df70
cmpb $0x0, (%rcx)
je 0x152dd
incl 0x8(%rax)
jmp 0x152e1
xorps %xmm0, %xmm0
movq -0xc8(%rbp), %r14
jmp 0x15474
lock
incl 0x8(%rax)
leaq -0x190(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x37380
movaps -0x190(%rbp), %xmm0
xorps %xmm1, %xmm1
movaps %xmm1, -0x190(%rbp)
movq 0xd0(%r12), %rdi
movups %xmm0, 0xc8(%r12)
testq %rdi, %rdi
je 0x1532e
callq 0x123fc
movq -0x188(%rbp), %rdi
testq %rdi, %rdi
je 0x1532e
callq 0x123fc
movq -0x68(%rbp), %rdi
testq %rdi, %rdi
je 0x1533c
callq 0x123fc
leaq -0x340(%rbp), %rsi
movq -0x1d0(%rbp), %rdi
movq %rbx, %rdx
movq -0x30(%rbp), %rcx
movq -0x80(%rbp), %r8
callq 0x37014
testb %al, %al
jne 0x15471
leaq -0x190(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x2db39(%rip), %rsi     # 0x42eac
leaq 0x2db37(%rip), %rdx     # 0x42eb1
callq 0x11634
leaq -0x190(%rbp), %rsi
movq -0x78(%rbp), %rdi
callq 0x3e722
movq %rax, %rbx
movq -0x190(%rbp), %rdi
cmpq %r15, %rdi
je 0x153ad
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x82b0
testq %rbx, %rbx
je 0x154a3
leaq -0x190(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x2dae5(%rip), %rsi     # 0x42eac
leaq 0x2dae3(%rip), %rdx     # 0x42eb1
callq 0x11634
leaq -0x190(%rbp), %rsi
movq -0x78(%rbp), %rdi
callq 0x2933c
movq %rax, %rbx
movq -0x190(%rbp), %rdi
cmpq %r15, %rdi
je 0x15401
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x82b0
movq 0x1c0(%rbx), %rax
movq 0x8(%rax), %rcx
movq 0x10(%rax), %rax
testq %rax, %rax
movq -0x80(%rbp), %r15
je 0x1542e
movq 0x48b50(%rip), %rdx     # 0x5df70
cmpb $0x0, (%rdx)
je 0x1542a
incl 0x8(%rax)
jmp 0x1542e
lock
incl 0x8(%rax)
movq %rcx, 0xd8(%r12)
movq 0xe0(%r12), %rdi
movq %rax, 0xe0(%r12)
testq %rdi, %rdi
je 0x15450
callq 0x123fc
leaq -0x340(%rbp), %rsi
movq -0x1d0(%rbp), %rdi
movq %rbx, %rdx
movq -0x30(%rbp), %rcx
movq %r15, %r8
callq 0x37014
testb %al, %al
je 0x154a3
xorps %xmm0, %xmm0
movups %xmm0, (%r14)
leaq 0x20(%r14), %rax
movq %rax, 0x10(%r14)
movq $0x0, 0x18(%r14)
xorl %eax, %eax
movb %al, 0x20(%r14)
movb %al, 0x30(%r14)
leaq -0xc0(%rbp), %rdi
callq 0x2ea6c
jmp 0x14be5
leaq -0x2d0(%rbp), %rax
movq 0x10(%rax), %r14
cmpq %rax, %r14
je 0x1564c
leaq -0x190(%rbp), %r12
leaq -0x220(%rbp), %r13
leaq 0x20(%r14), %rsi
movq -0x78(%rbp), %rdi
callq 0x2eb22
movq 0x40(%r14), %rbx
movq %r14, -0x1c8(%rbp)
movq 0x48(%r14), %r14
cmpq %r14, %rbx
je 0x1562d
movq %rax, %r15
addq $0x198, %rax            # imm = 0x198
movq %rax, -0x198(%rbp)
movq %rbx, %rdi
leaq 0x2d544(%rip), %rsi     # 0x42a48
callq 0x80c0
testl %eax, %eax
je 0x15548
movq %rbx, %rdi
leaq 0x2d56c(%rip), %rsi     # 0x42a83
callq 0x80c0
testl %eax, %eax
je 0x155bd
movq %rbx, %rdi
leaq 0x2d563(%rip), %rsi     # 0x42a91
callq 0x80c0
testl %eax, %eax
jne 0x15620
movb $0x1, 0x1b8(%r15)
jmp 0x15620
leaq 0x20(%rbx), %rdi
callq 0x3953f
testq %rax, %rax
je 0x15704
movq %r12, %rdi
movq %rax, %rsi
callq 0x35dee
movq %r13, %rdi
movq -0x30(%rbp), %rsi
callq 0xc1b6
movq -0x1d0(%rbp), %rdi
movq %r15, %rsi
movq %r12, %rdx
movq -0x80(%rbp), %rcx
movq %r13, %r8
callq 0x37414
movl %eax, %r13d
movq -0x210(%rbp), %rax
testq %rax, %rax
je 0x155aa
leaq -0x220(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
testb %r13b, %r13b
je 0x1567e
movq %r12, %rdi
callq 0x35fec
jmp 0x15619
leaq 0x20(%rbx), %rdi
callq 0x2d7bb
testq %rax, %rax
je 0x1570e
leaq -0x180(%rbp), %r13
movq %r13, -0x190(%rbp)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0x13028
movq -0x198(%rbp), %rdi
movq %r12, %rsi
callq 0x8330
movq -0x190(%rbp), %rdi
cmpq %r13, %rdi
je 0x15619
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x82b0
leaq -0x220(%rbp), %r13
addq $0x40, %rbx
cmpq %r14, %rbx
jne 0x154fa
movq -0x1c8(%rbp), %rdi
callq 0x81f0
movq %rax, %r14
leaq -0x2d0(%rbp), %rax
cmpq %rax, %r14
jne 0x154c5
movq -0x340(%rbp), %rax
movq -0xc8(%rbp), %r14
movq %rax, (%r14)
movq -0x338(%rbp), %rax
movq %rax, 0x8(%r14)
testq %rax, %rax
je 0x156bb
movq 0x488fc(%rip), %rcx     # 0x5df70
cmpb $0x0, (%rcx)
je 0x156b7
incl 0x8(%rax)
jmp 0x156bb
xorps %xmm0, %xmm0
movq -0xc8(%rbp), %r14
movups %xmm0, (%r14)
leaq 0x20(%r14), %rax
movq %rax, 0x10(%r14)
movq $0x0, 0x18(%r14)
xorl %eax, %eax
movb %al, 0x20(%r14)
movb %al, 0x30(%r14)
leaq -0x190(%rbp), %rdi
callq 0x35fec
jmp 0x15492
lock
incl 0x8(%rax)
leaq 0x10(%r14), %rdi
leaq 0x20(%r14), %rax
movq %rax, 0x10(%r14)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
addq %rsi, %rdx
callq 0x13028
movb -0x248(%rbp), %al
movb %al, 0x30(%r14)
jmp 0x15492
callq 0x80f0
callq 0x80f0
callq 0x80f0
callq 0x80f0
callq 0x80f0
callq 0x80f0
callq 0x2d5bc
callq 0x80f0
callq 0x2d5bc
callq 0x80f0
callq 0x80f0
movq %rax, %r13
movq 0x8(%r14), %rdi
jmp 0x15996
jmp 0x15ada
jmp 0x1574d
jmp 0x15ada
jmp 0x15ada
jmp 0x1598f
jmp 0x1574d
jmp 0x15ada
jmp 0x1574d
jmp 0x15ada
movq %rax, %r13
movq -0x190(%rbp), %rdi
cmpq %r15, %rdi
jne 0x159e8
jmp 0x15add
jmp 0x15ada
jmp 0x15ada
jmp 0x15ada
jmp 0x1577d
jmp 0x15782
jmp 0x15a1f
movq %rax, %r13
jmp 0x157f4
movq %rax, %r13
jmp 0x15816
jmp 0x15a1f
movq %rax, %r13
leaq -0x190(%rbp), %rsi
movq %r12, %rdi
callq 0x8569
jmp 0x15a22
jmp 0x15892
jmp 0x15a1f
jmp 0x15a44
jmp 0x15ada
jmp 0x15ada
jmp 0x15a44
jmp 0x158d1
movq %rax, %r13
movq -0x70(%rbp), %rdi
cmpq %r15, %rdi
jne 0x157e8
jmp 0x157f4
jmp 0x1598f
movq %rax, %r13
movq -0x70(%rbp), %rdi
cmpq %rbx, %rdi
je 0x157f4
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x82b0
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x15816
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x82b0
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
je 0x15a22
movq -0xb0(%rbp), %rsi
incq %rsi
callq 0x82b0
jmp 0x15a22
jmp 0x15a44
jmp 0x15ada
jmp 0x15ada
movq %rax, %r13
movq -0x210(%rbp), %rax
testq %rax, %rax
je 0x1587a
leaq -0x220(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x1587a
jmp 0x15a44
movq %rax, %r13
leaq -0x190(%rbp), %rdi
callq 0x35fec
jmp 0x15add
movq %r13, -0x1c8(%rbp)
movq %rax, %r13
movq -0x1c8(%rbp), %r14
addq $-0x10, %r14
movq -0x10(%r14), %rdi
cmpq %rdi, %r14
je 0x158b4
movq (%r14), %rsi
incq %rsi
callq 0x82b0
leaq -0x20(%r14), %rax
addq $-0x10, %r14
cmpq %rbx, %r14
movq %rax, %r14
jne 0x158a0
jmp 0x15a22
jmp 0x15a1f
movq %r14, %r12
movq %rdx, %rbx
movq %rax, %r13
jmp 0x1597e
jmp 0x158e8
movq %rax, %r13
jmp 0x1590d
movq %rax, %r13
jmp 0x15926
movq %rax, %r13
movq -0x1f0(%rbp), %rdi
leaq -0x1e0(%rbp), %rax
cmpq %rax, %rdi
je 0x1590d
movq -0x1e0(%rbp), %rsi
incq %rsi
callq 0x82b0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x15926
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x82b0
movq -0x1b8(%rbp), %rdi
leaq -0x1a8(%rbp), %rax
cmpq %rax, %rdi
je 0x15a2e
movq -0x1a8(%rbp), %rsi
incq %rsi
callq 0x82b0
jmp 0x15a2e
jmp 0x15a2b
movq %rdx, %rbx
movq %rax, %r13
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
je 0x1597e
movq -0xb0(%rbp), %rsi
incq %rsi
callq 0x82b0
leaq -0x190(%rbp), %rdi
callq 0x36f2a
jmp 0x15b16
movq %rax, %r13
movq -0x68(%rbp), %rdi
testq %rdi, %rdi
je 0x15add
callq 0x123fc
jmp 0x15add
jmp 0x15ada
jmp 0x159b0
movq %rax, %r13
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x159d1
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x82b0
jmp 0x159d1
movq %rax, %r13
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x15add
movq -0x180(%rbp), %rsi
jmp 0x15a09
movq %rax, %r13
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x15add
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x82b0
jmp 0x15add
jmp 0x15a44
jmp 0x15a44
jmp 0x15d05
movq %rax, %r13
leaq -0x40(%rbp), %rbx
jmp 0x15d88
movq %rax, %r13
leaq -0x190(%rbp), %rdi
callq 0xf7b6
jmp 0x15add
jmp 0x15ada
movq %rax, %rdi
callq 0xe032
jmp 0x15ada
movq %r14, %r12
movq %rdx, %rbx
movq %rax, %r13
movq -0x230(%rbp), %rax
testq %rax, %rax
je 0x15af4
leaq -0x240(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x15af4
jmp 0x15a44
movq %r14, %r12
movq %rdx, %rbx
movq %rax, %r13
jmp 0x15b16
jmp 0x15aaf
jmp 0x15d05
jmp 0x15d05
movq %rax, %r13
leaq -0xc0(%rbp), %rdi
callq 0xbb18
jmp 0x15ab2
jmp 0x15d05
movq %rax, %r13
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x15d9d
movq -0x180(%rbp), %rsi
jmp 0x15d95
jmp 0x15d05
movq %rax, %r13
leaq -0x40(%rbp), %rbx
jmp 0x15d7c
jmp 0x15d69
movq %r14, %r12
movq %rdx, %rbx
movq %rax, %r13
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
je 0x15b16
movq -0xb0(%rbp), %rsi
incq %rsi
callq 0x82b0
leaq -0x50(%rbp), %rdi
callq 0xa784
cmpl $0x1, %ebx
jne 0x15d9d
movq %r13, %rdi
callq 0x8110
movq -0x30(%rbp), %rcx
cmpq $0x0, 0x10(%rcx)
je 0x15be4
movq 0x10(%rax), %rbx
movq 0x18(%rax), %r15
movq (%rax), %rcx
movq %rax, %rdi
callq *0x10(%rcx)
leaq -0x190(%rbp), %rdi
leaq -0x50(%rbp), %rdx
movq %rax, %rsi
callq 0x115f6
leaq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
movq %rax, (%rdi)
leaq 0x2ce5f(%rip), %rdx     # 0x429da
movq %rdx, %rsi
callq 0x11634
leaq -0x190(%rbp), %rcx
leaq -0xc0(%rbp), %r8
movq -0x30(%rbp), %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0x12ffa
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
je 0x15bc2
movq -0xb0(%rbp), %rsi
incq %rsi
callq 0x82b0
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x15be4
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x82b0
xorps %xmm0, %xmm0
movq %r12, %r14
movups %xmm0, (%r12)
leaq 0x20(%r12), %rax
movq %rax, 0x10(%r12)
movq $0x0, 0x18(%r12)
xorl %eax, %eax
movb %al, 0x20(%r12)
movb %al, 0x30(%r12)
callq 0x83f0
jmp 0x14bfe
movq %rax, %r13
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
je 0x15c42
movq -0xb0(%rbp), %rsi
incq %rsi
callq 0x82b0
jmp 0x15c42
movq %rax, %r13
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x15c69
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x82b0
jmp 0x15c69
movq %rax, %r13
callq 0x83f0
jmp 0x15d9d
jmp 0x15a44
jmp 0x15d05
jmp 0x15d12
jmp 0x15ca4
jmp 0x15d05
jmp 0x15c9a
jmp 0x15c9f
jmp 0x15ca4
jmp 0x15ca4
jmp 0x15d05
jmp 0x15c9a
jmp 0x15c9f
jmp 0x15ca4
jmp 0x15ca4
jmp 0x15d05
movq %rax, %r13
jmp 0x15ce2
movq %rax, %r13
jmp 0x15cc0
movq %rax, %r13
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x15cc0
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x82b0
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x15ce2
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x82b0
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
je 0x15d9d
movq -0xb0(%rbp), %rsi
jmp 0x15d95
movq %rax, %r13
jmp 0x15d9d
movq %rax, %r13
jmp 0x15d37
movq %rax, %r13
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
je 0x15d37
movq -0xb0(%rbp), %rsi
incq %rsi
callq 0x82b0
leaq -0x190(%rbp), %rdi
callq 0x36fd8
jmp 0x15d9d
jmp 0x15d4b
jmp 0x15d69
jmp 0x15d69
movq %rax, %r13
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x15d6c
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x82b0
jmp 0x15d6c
movq %rax, %r13
leaq -0x40(%rbp), %rbx
leaq -0x190(%rbp), %rdi
callq 0x1022e
leaq -0xc0(%rbp), %rdi
callq 0x2ea6c
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x15d9d
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x82b0
leaq -0x340(%rbp), %rdi
callq 0x37cca
movq %r13, %rdi
callq 0x8420
nop