// File: /workspace/github_cpp_makefile_star2_O1/rfotino[P]consolite-compiler/src/syntax.cpp
// Function: OperatorToken::output(Parser*, Operand const&, Operand const&)
Operand OperatorToken::output(Parser *parser,
                              const Operand& lhs, const Operand& rhs) {
  if (isUnary()) {
    if ("-" == _op) {
      // The negative of a 2's complement number x is ~x + 1.
      operandValueToReg(parser, rhs, "M");
      parser->writeInst("MOVI N 0xffff");
      parser->writeInst("XOR M N");
      parser->writeInst("MOVI N 0x1");
      parser->writeInst("ADD M N");
      parser->writeInst("PUSH M");
      return Operand(OperandType::VALUE);
    } else if ("*" == _op) {
      // Dereference operator. Do nothing for value operands, because
      // we would just be popping them off and pushing them back onto
      // the stack.
      if (OperandType::VALUE != rhs.type()) {
        operandValueToReg(parser, rhs, "M");
        parser->writeInst("PUSH M");
      }
      return Operand(OperandType::ADDRESS);
    } else if ("&" == _op) {
      // Do nothing, the value should already be on the stack.
      if (OperandType::ADDRESS != rhs.type()) {
        throw "Right hand side must be an address for the address-of operator.";
      }
      return Operand(OperandType::VALUE);
    } else if ("~" == _op) {
      // x ^ 0xffff == ~x
      operandValueToReg(parser, rhs, "M");
      parser->writeInst("MOVI N 0xffff");
      parser->writeInst("XOR M N");
      parser->writeInst("PUSH M");
      return Operand(OperandType::VALUE);
    } else if ("!" == _op) {
      // x = x != 0 ? 1 : 0
      std::string label1 = parser->getUnusedLabel("label");
      std::string label2 = parser->getUnusedLabel("label");
      operandValueToReg(parser, rhs, "M");
      parser->writeInst("TST M M");
      parser->writeInst("JNE " + label1);
      parser->writeInst("MOVI M 0x1");
      parser->writeInst("JMPI " + label2);
      parser->writeln(label1 + ":");
      parser->writeInst("MOVI M 0x0");
      parser->writeln(label2 + ":");
      parser->writeInst("PUSH M");
      return Operand(OperandType::VALUE);
    } else if ("+" == _op) {
      // Get the value and push it onto the stack.
      operandValueToReg(parser, rhs, "M");
      parser->writeInst("PUSH M");
      return Operand(OperandType::VALUE);
    }
  } else if (isBinary()) {
    if ("%" == _op) {
      // a % b == a - (b * (a / b))
      operandValueToReg(parser, rhs, "N");
      operandValueToReg(parser, lhs, "M");
      parser->writeInst("MOV L M");
      parser->writeInst("DIV M N");
      parser->writeInst("MUL M N");
      parser->writeInst("SUB L M");
      parser->writeInst("PUSH L");
      return Operand(OperandType::VALUE);
    } else if ("=" == _op) {
      // Load RHS value into a register.
      operandValueToReg(parser, rhs, "N");
      if (OperandType::ADDRESS == lhs.type()) {
        parser->writeInst("POP M");
        parser->writeInst("STOR N M");
      } else if (OperandType::REGISTER == lhs.type()) {
        parser->writeInst("MOV " + lhs.reg() + " N");
      } else {
        throw "Left hand side of assignment cannot be an rvalue.";
      }
      parser->writeInst("PUSH N");
      return Operand(OperandType::VALUE);
    } else if ("+" == _op || "-" == _op || "*" == _op || "/" == _op ||
               "&" == _op || "|" == _op || "^" == _op ||
               "<<" == _op || ">>" == _op) {
      operandValueToReg(parser, rhs, "N");
      operandValueToReg(parser, lhs, "M");
      std::string inst;
      if ("+" == _op) {
        inst = "ADD";
      } else if ("-" == _op) {
        inst = "SUB";
      } else if ("*" == _op) {
        inst = "MUL";
      } else if ("/" == _op) {
        inst = "DIV";
      } else if ("&" == _op) {
        inst = "AND";
      } else if ("|" == _op) {
        inst = "OR";
      } else if ("^" == _op) {
        inst = "XOR";
      } else if ("<<" == _op) {
        inst = "SHL";
      } else if (">>" == _op) {
        inst = "SHRL";
      }
      parser->writeInst(inst + " M N");
      parser->writeInst("PUSH M");
      return Operand(OperandType::VALUE);
    } else if ("[" == _op) {
      // For x[a], push &x + (a * DATA_SIZE) onto the stack.
      operandValueToReg(parser, rhs, "N");
      operandValueToReg(parser, lhs, "M");
      // Assume DATA_SIZE is a power of 2, and do a fast
      // multiply by shifting left
      parser->writeInst("MOVI L " + toHexStr(ceil(log2(DATA_SIZE))));
      parser->writeInst("SHL N L");
      parser->writeInst("ADD M N");
      parser->writeInst("PUSH M");
      return Operand(OperandType::ADDRESS);
    } else if ("||" == _op || "&&" == _op) {
      // Make N either 0 or 1.
      std::string label1 = parser->getUnusedLabel("label");
      std::string label2 = parser->getUnusedLabel("label");
      operandValueToReg(parser, rhs, "N");
      parser->writeInst("TST N N");
      parser->writeInst("JEQ " + label1);
      parser->writeInst("MOVI N 0x1");
      parser->writeInst("JMPI " + label2);
      parser->writeln(label1 + ":");
      parser->writeInst("MOVI N 0x0");
      parser->writeln(label2 + ":");
      // Make M either 0 or 1.
      std::string label3 = parser->getUnusedLabel("label");
      std::string label4 = parser->getUnusedLabel("label");
      operandValueToReg(parser, lhs, "M");
      parser->writeInst("TST M M");
      parser->writeInst("JEQ " + label3);
      parser->writeInst("MOVI M 0x1");
      parser->writeInst("JMPI " + label4);
      parser->writeln(label3 + ":");
      parser->writeInst("MOVI M 0x0");
      parser->writeln(label4 + ":");
      // Do the operation.
      if ("||" == _op) {
        parser->writeInst("OR M N");
      } else if ("&&" == _op) {
        parser->writeInst("AND M N");
      }
      // Push the result.
      parser->writeInst("PUSH M");
      return Operand(OperandType::VALUE);
    } else if ("<" == _op || "<=" == _op || ">" == _op || ">=" == _op ||
               "==" == _op || "!=" == _op) {
      std::string label1 = parser->getUnusedLabel("label");
      std::string label2 = parser->getUnusedLabel("label");
      operandValueToReg(parser, rhs, "N");
      operandValueToReg(parser, lhs, "M");
      parser->writeInst("CMP M N");
      std::string inst;
      if ("<" == _op) {
        inst = "JB";
      } else if ("<=" == _op) {
        inst = "JBE";
      } else if (">" == _op) {
        inst = "JA";
      } else if (">=" == _op) {
        inst = "JAE";
      } else if ("==" == _op) {
        inst = "JEQ";
      } else if ("!=" == _op) {
        inst = "JNE";
      }
      parser->writeInst(inst + " " + label1);
      parser->writeInst("MOVI M 0x0");
      parser->writeInst("JMPI " + label2);
      parser->writeln(label1 + ":");
      parser->writeInst("MOVI M 0x1");
      parser->writeln(label2 + ":");
      parser->writeInst("PUSH M");
      return Operand(OperandType::VALUE);
    }
  }
  // By default return a value type, control should never reach here.
  return Operand(OperandType::VALUE);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa8, %rsp
movq %r8, %r13
movq %rdx, %r14
movq %rdi, %rbx
leaq 0x10(%rsi), %r15
cmpb $0x0, 0x30(%rsi)
je 0xeffd
movq %rcx, %r12
leaq 0x2798e(%rip), %rsi     # 0x365da
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xf245
leaq 0x2798f(%rip), %rsi     # 0x365f2
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xf634
leaq 0x27958(%rip), %rsi     # 0x365d2
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xf0cd
leaq 0x27943(%rip), %rsi     # 0x365d4
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xf0cd
leaq 0x2792e(%rip), %rsi     # 0x365d6
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xf0cd
leaq 0x27919(%rip), %rsi     # 0x365d8
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xf0cd
leaq 0x27910(%rip), %rsi     # 0x365e6
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xf0cd
leaq 0x278f6(%rip), %rsi     # 0x365e3
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xf0cd
leaq 0x278d8(%rip), %rsi     # 0x365dc
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xf0cd
leaq 0x278db(%rip), %rsi     # 0x365f6
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xf0cd
leaq 0x278c7(%rip), %rsi     # 0x365f9
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xf0cd
leaq 0x278ab(%rip), %rsi     # 0x365f4
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0x10607
leaq 0x27882(%rip), %rsi     # 0x365e2
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0x1009e
leaq 0x2786e(%rip), %rsi     # 0x365e5
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0x1009e
leaq 0x27869(%rip), %rsi     # 0x365f7
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xedfd
leaq 0x27847(%rip), %rsi     # 0x365e8
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xedfd
leaq 0x27846(%rip), %rsi     # 0x365fa
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xedfd
leaq 0x27824(%rip), %rsi     # 0x365eb
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xedfd
leaq 0x27814(%rip), %rsi     # 0x365ee
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xedfd
leaq 0x27804(%rip), %rsi     # 0x365f1
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
jne 0xf087
leaq 0x78(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x27955(%rip), %rsi     # 0x36762
leaq 0x27953(%rip), %rdx     # 0x36767
leaq 0x68(%rsp), %rdi
callq 0xc0a4
leaq 0x8(%rsp), %rdi
leaq 0x68(%rsp), %rdx
movq %r14, %rsi
callq 0xa992
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0xee47
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x38(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x2790b(%rip), %rsi     # 0x36762
leaq 0x27909(%rip), %rdx     # 0x36767
leaq 0x28(%rsp), %rdi
callq 0xc0a4
leaq 0x68(%rsp), %rdi
leaq 0x28(%rsp), %rdx
movq %r14, %rsi
callq 0xa992
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0xee91
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x28(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x27958(%rip), %rsi     # 0x367f8
leaq 0x27952(%rip), %rdx     # 0x367f9
callq 0xc0a4
leaq 0x28(%rsp), %rdx
movq %r14, %rdi
movq %r13, %rsi
callq 0x33700
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0xeed3
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x28(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x2783e(%rip), %rsi     # 0x36720
leaq 0x27838(%rip), %rdx     # 0x36721
callq 0xc0a4
leaq 0x28(%rsp), %rdx
movq %r14, %rdi
movq %r12, %rsi
callq 0x33700
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0xef15
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x28(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x27927(%rip), %rsi     # 0x3684b
leaq 0x27927(%rip), %rdx     # 0x36852
callq 0xc0a4
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0xef54
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
movq %rbp, 0x28(%rsp)
movq $0x0, 0x30(%rsp)
movb $0x0, 0x38(%rsp)
leaq 0x27689(%rip), %rsi     # 0x365f7
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0x1091c
leaq 0x27663(%rip), %rsi     # 0x365e8
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0x10925
leaq 0x2765e(%rip), %rsi     # 0x365fa
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0x1092e
leaq 0x27638(%rip), %rsi     # 0x365eb
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0x10937
leaq 0x27624(%rip), %rsi     # 0x365ee
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0x10940
leaq 0x27610(%rip), %rsi     # 0x365f1
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
jne 0x10951
leaq 0x2786d(%rip), %rsi     # 0x36865
jmp 0x10947
leaq 0x275d0(%rip), %rsi     # 0x365d4
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xf44a
leaq 0x275bb(%rip), %rsi     # 0x365d6
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xf710
leaq 0x275b4(%rip), %rsi     # 0x365e6
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xf7e5
leaq 0x27595(%rip), %rsi     # 0x365de
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xf8d0
leaq 0x27580(%rip), %rsi     # 0x365e0
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xfa21
leaq 0x2755b(%rip), %rsi     # 0x365d2
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xfea9
leaq 0x18(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x28038(%rip), %rdx     # 0x370cf
leaq 0x8(%rsp), %rdi
movq %rdx, %rsi
callq 0xc0a4
movl $0x2, (%rbx)
leaq 0x8(%rbx), %rdi
leaq 0x18(%rbx), %rax
movq %rax, 0x8(%rbx)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
addq %rsi, %rdx
callq 0xc014
jmp 0xf831
leaq 0x18(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x2771b(%rip), %rsi     # 0x367f8
leaq 0x27715(%rip), %rdx     # 0x367f9
leaq 0x8(%rsp), %rdi
callq 0xc0a4
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
movq %r13, %rsi
callq 0x33700
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0xf115
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x275fc(%rip), %rsi     # 0x36720
leaq 0x275f6(%rip), %rdx     # 0x36721
callq 0xc0a4
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
movq %r12, %rsi
callq 0x33700
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0xf157
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
movq %rbp, 0x8(%rsp)
movq $0x0, 0x10(%rsp)
movb $0x0, 0x18(%rsp)
leaq 0x27461(%rip), %rsi     # 0x365d2
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xf844
leaq 0x2744c(%rip), %rsi     # 0x365d4
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xfa15
leaq 0x27437(%rip), %rsi     # 0x365d6
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xfd5c
leaq 0x27422(%rip), %rsi     # 0x365d8
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xff70
leaq 0x27419(%rip), %rsi     # 0x365e6
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xff79
leaq 0x273ff(%rip), %rsi     # 0x365e3
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xff82
leaq 0x273e1(%rip), %rsi     # 0x365dc
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xff8b
leaq 0x273e4(%rip), %rsi     # 0x365f6
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0xff94
leaq 0x273d0(%rip), %rsi     # 0x365f9
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
jne 0xffa5
leaq 0x275d6(%rip), %rsi     # 0x36816
jmp 0xff9b
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x275a3(%rip), %rsi     # 0x367f8
leaq 0x2759d(%rip), %rdx     # 0x367f9
leaq 0x8(%rsp), %rdi
callq 0xc0a4
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
movq %r13, %rsi
callq 0x33700
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xf28d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x27484(%rip), %rsi     # 0x36720
leaq 0x2747e(%rip), %rdx     # 0x36721
callq 0xc0a4
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
movq %r12, %rsi
callq 0x33700
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xf2cf
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x274ad(%rip), %rsi     # 0x3678b
leaq 0x274ad(%rip), %rdx     # 0x36792
callq 0xc0a4
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xf30e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x27476(%rip), %rsi     # 0x36793
leaq 0x27476(%rip), %rdx     # 0x3679a
callq 0xc0a4
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xf34d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x2743f(%rip), %rsi     # 0x3679b
leaq 0x2743f(%rip), %rdx     # 0x367a2
callq 0xc0a4
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xf38c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x27408(%rip), %rsi     # 0x367a3
leaq 0x27408(%rip), %rdx     # 0x367aa
callq 0xc0a4
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xf3cb
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x273d1(%rip), %rsi     # 0x367ab
leaq 0x273d0(%rip), %rdx     # 0x367b1
callq 0xc0a4
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xf40a
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x27cb6(%rip), %rdx     # 0x370cf
movq %rdx, %rsi
callq 0xc0a4
movl $0x2, (%rbx)
leaq 0x8(%rbx), %rdi
leaq 0x18(%rbx), %rax
movq %rax, 0x8(%rbx)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
addq %rsi, %rdx
callq 0xc014
jmp 0xf608
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x272c6(%rip), %rsi     # 0x36720
leaq 0x272c0(%rip), %rdx     # 0x36721
leaq 0x8(%rsp), %rdi
callq 0xc0a4
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
movq %r13, %rsi
callq 0x33700
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xf492
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x27251(%rip), %rsi     # 0x366f2
leaq 0x27257(%rip), %rdx     # 0x366ff
callq 0xc0a4
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xf4d1
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x27220(%rip), %rsi     # 0x36700
leaq 0x27220(%rip), %rdx     # 0x36707
callq 0xc0a4
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xf510
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x271e9(%rip), %rsi     # 0x36708
leaq 0x271ec(%rip), %rdx     # 0x36712
callq 0xc0a4
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xf54f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x271b5(%rip), %rsi     # 0x36713
leaq 0x271b5(%rip), %rdx     # 0x3671a
callq 0xc0a4
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xf58e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x2717e(%rip), %rsi     # 0x3671b
leaq 0x2717d(%rip), %rdx     # 0x36721
callq 0xc0a4
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xf5cd
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x27af3(%rip), %rdx     # 0x370cf
movq %rdx, %rsi
callq 0xc0a4
movl $0x2, (%rbx)
leaq 0x8(%rbx), %rdi
leaq 0x18(%rbx), %rax
movq %rax, 0x8(%rbx)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
addq %rsi, %rdx
callq 0xc014
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xf61f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
movq %rbx, %rax
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x18(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x271b4(%rip), %rsi     # 0x367f8
leaq 0x271ae(%rip), %rdx     # 0x367f9
leaq 0x8(%rsp), %rdi
callq 0xc0a4
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
movq %r13, %rsi
callq 0x33700
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0xf67c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
movl (%r12), %eax
cmpl $0x1, %eax
je 0xf866
testl %eax, %eax
jne 0x10bea
leaq 0x8(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x27112(%rip), %rsi     # 0x367b2
leaq 0x27110(%rip), %rdx     # 0x367b7
callq 0xc0a4
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0xf6d0
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x270d9(%rip), %rsi     # 0x367b8
leaq 0x270da(%rip), %rdx     # 0x367c0
callq 0xc0a4
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0xfe2a
movq 0x18(%rsp), %rsi
jmp 0xfe22
cmpl $0x2, (%r13)
je 0xf7a2
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x26ff5(%rip), %rsi     # 0x36720
leaq 0x26fef(%rip), %rdx     # 0x36721
leaq 0x8(%rsp), %rdi
callq 0xc0a4
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
movq %r13, %rsi
callq 0x33700
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xf763
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x26fa9(%rip), %rsi     # 0x3671b
leaq 0x26fa8(%rip), %rdx     # 0x36721
callq 0xc0a4
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xf7a2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x18(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x2791d(%rip), %rdx     # 0x370cf
leaq 0x8(%rsp), %rdi
movq %rdx, %rsi
callq 0xc0a4
movl $0x0, (%rbx)
leaq 0x8(%rbx), %rdi
leaq 0x18(%rbx), %rax
movq %rax, 0x8(%rbx)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
addq %rsi, %rdx
callq 0xc014
jmp 0xf831
cmpl $0x0, (%r13)
jne 0x10bd7
leaq 0x18(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x278cf(%rip), %rdx     # 0x370cf
leaq 0x8(%rsp), %rdi
movq %rdx, %rsi
callq 0xc0a4
movl $0x2, (%rbx)
leaq 0x8(%rbx), %rdi
leaq 0x18(%rbx), %rax
movq %rax, 0x8(%rbx)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
addq %rsi, %rdx
callq 0xc014
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
jne 0xf612
jmp 0xf61f
leaq 0x8(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x26fa6(%rip), %rcx     # 0x367fa
movl $0x3, %r8d
xorl %esi, %esi
callq 0x7450
jmp 0xffa5
leaq 0x38(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x8(%r12), %rsi
movq 0x10(%r12), %rdx
addq %rsi, %rdx
leaq 0x28(%rsp), %r15
movq %r15, %rdi
callq 0xc014
leaq 0x268a9(%rip), %rcx     # 0x36139
movl $0x4, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x7320
leaq 0x78(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xfd68
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0xfd6f
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x26e40(%rip), %rsi     # 0x36720
leaq 0x26e3a(%rip), %rdx     # 0x36721
leaq 0x8(%rsp), %rdi
callq 0xc0a4
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
movq %r13, %rsi
callq 0x33700
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xf918
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x26dcb(%rip), %rsi     # 0x366f2
leaq 0x26dd1(%rip), %rdx     # 0x366ff
callq 0xc0a4
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xf957
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x26d9a(%rip), %rsi     # 0x36700
leaq 0x26d9a(%rip), %rdx     # 0x36707
callq 0xc0a4
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xf996
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x26d76(%rip), %rsi     # 0x3671b
leaq 0x26d75(%rip), %rdx     # 0x36721
callq 0xc0a4
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xf9d5
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x276eb(%rip), %rdx     # 0x370cf
movq %rdx, %rsi
callq 0xc0a4
movl $0x2, (%rbx)
leaq 0x8(%rbx), %rdi
leaq 0x18(%rbx), %rax
movq %rax, 0x8(%rbx)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
addq %rsi, %rdx
callq 0xc014
jmp 0xf608
leaq 0x26de2(%rip), %rsi     # 0x367fe
jmp 0xff9b
leaq 0x78(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x26d31(%rip), %rsi     # 0x36762
leaq 0x26d2f(%rip), %rdx     # 0x36767
leaq 0x68(%rsp), %rdi
callq 0xc0a4
leaq 0x8(%rsp), %rdi
leaq 0x68(%rsp), %rdx
movq %r14, %rsi
callq 0xa992
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0xfa6b
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x26ce6(%rip), %rsi     # 0x36762
leaq 0x26ce4(%rip), %rdx     # 0x36767
leaq 0x28(%rsp), %rdi
callq 0xc0a4
leaq 0x68(%rsp), %rdi
leaq 0x28(%rsp), %rdx
movq %r14, %rsi
callq 0xa992
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0xfab6
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x28(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x26c5b(%rip), %rsi     # 0x36720
leaq 0x26c55(%rip), %rdx     # 0x36721
callq 0xc0a4
leaq 0x28(%rsp), %rdx
movq %r14, %rdi
movq %r13, %rsi
callq 0x33700
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0xfaf8
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x28(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x26c61(%rip), %rsi     # 0x36768
leaq 0x26c61(%rip), %rdx     # 0x3676f
callq 0xc0a4
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0xfb37
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x26c32(%rip), %rsi     # 0x36770
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xb963
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0xfb71
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x28(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x26bf5(%rip), %rsi     # 0x36775
leaq 0x26bf8(%rip), %rdx     # 0x3677f
callq 0xc0a4
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0xfbb0
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x2656e(%rip), %rsi     # 0x36125
leaq 0x28(%rsp), %rdi
leaq 0x68(%rsp), %rdx
callq 0xb963
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0xfbea
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x28a07(%rip), %rdx     # 0x385f8
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x21ff0
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0xb2c4
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0xfc24
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x28(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x26b4d(%rip), %rsi     # 0x36780
leaq 0x26b50(%rip), %rdx     # 0x3678a
callq 0xc0a4
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0xfc63
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x2898e(%rip), %rdx     # 0x385f8
leaq 0x28(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x21ff0
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0xb2c4
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0xfc9d
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x28(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x26a6f(%rip), %rsi     # 0x3671b
leaq 0x26a6e(%rip), %rdx     # 0x36721
callq 0xc0a4
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0xfcdc
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x28(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x273e4(%rip), %rdx     # 0x370cf
movq %rdx, %rsi
callq 0xc0a4
movl $0x2, (%rbx)
leaq 0x8(%rbx), %rdi
leaq 0x18(%rbx), %rax
movq %rax, 0x8(%rbx)
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
addq %rsi, %rdx
callq 0xc014
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0xfd2e
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0xfd45
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0xf612
jmp 0xf61f
leaq 0x26a9f(%rip), %rsi     # 0x36802
jmp 0xff9b
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x68(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x26a65(%rip), %rsi     # 0x367f7
callq 0x7560
movq %rbp, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xfdba
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xfdc1
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r14, %rdi
callq 0xadb2
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0xfdfc
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0xfe13
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x72c0
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0xfe2a
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x269ba(%rip), %rsi     # 0x367f3
leaq 0x269b9(%rip), %rdx     # 0x367f9
callq 0xc0a4
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0xfe69
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x27257(%rip), %rdx     # 0x370cf
movq %rdx, %rsi
callq 0xc0a4
movl $0x2, (%rbx)
leaq 0x8(%rbx), %rdi
leaq 0x18(%rbx), %rax
movq %rax, 0x8(%rbx)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
addq %rsi, %rdx
callq 0xc014
jmp 0x1008b
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x26867(%rip), %rsi     # 0x36720
leaq 0x26861(%rip), %rdx     # 0x36721
leaq 0x8(%rsp), %rdi
callq 0xc0a4
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
movq %r13, %rsi
callq 0x33700
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xfef1
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x2681b(%rip), %rsi     # 0x3671b
leaq 0x2681a(%rip), %rdx     # 0x36721
callq 0xc0a4
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xff30
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x27190(%rip), %rdx     # 0x370cf
movq %rdx, %rsi
callq 0xc0a4
movl $0x2, (%rbx)
leaq 0x8(%rbx), %rdi
leaq 0x18(%rbx), %rax
movq %rax, 0x8(%rbx)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
addq %rsi, %rdx
callq 0xc014
jmp 0xf608
leaq 0x2688f(%rip), %rsi     # 0x36806
jmp 0xff9b
leaq 0x2688a(%rip), %rsi     # 0x3680a
jmp 0xff9b
leaq 0x260bf(%rip), %rsi     # 0x36048
jmp 0xff9b
leaq 0x2687c(%rip), %rsi     # 0x3680e
jmp 0xff9b
leaq 0x26877(%rip), %rsi     # 0x36812
leaq 0x8(%rsp), %rdi
callq 0x73d0
leaq 0x78(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
addq %rsi, %rdx
leaq 0x68(%rsp), %rdi
callq 0xc014
leaq 0x2674a(%rip), %rsi     # 0x36716
leaq 0x68(%rsp), %rdi
callq 0x7560
leaq 0x68(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0xfffa
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x68(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x26712(%rip), %rsi     # 0x3671b
leaq 0x26711(%rip), %rdx     # 0x36721
callq 0xc0a4
leaq 0x68(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0x10039
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x68(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x27087(%rip), %rdx     # 0x370cf
movq %rdx, %rsi
callq 0xc0a4
movl $0x2, (%rbx)
leaq 0x8(%rbx), %rdi
leaq 0x18(%rbx), %rax
movq %rax, 0x8(%rbx)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
addq %rsi, %rdx
callq 0xc014
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0x1008b
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x72c0
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
jne 0xf612
jmp 0xf61f
leaq 0x78(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x266b4(%rip), %rsi     # 0x36762
leaq 0x266b2(%rip), %rdx     # 0x36767
leaq 0x68(%rsp), %rdi
callq 0xc0a4
leaq 0x8(%rsp), %rdi
leaq 0x68(%rsp), %rdx
movq %r14, %rsi
callq 0xa992
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x100e8
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x38(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x2666a(%rip), %rsi     # 0x36762
leaq 0x26668(%rip), %rdx     # 0x36767
leaq 0x28(%rsp), %rdi
callq 0xc0a4
leaq 0x68(%rsp), %rdi
leaq 0x28(%rsp), %rdx
movq %r14, %rsi
callq 0xa992
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x10132
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x28(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x266b7(%rip), %rsi     # 0x367f8
leaq 0x266b1(%rip), %rdx     # 0x367f9
callq 0xc0a4
leaq 0x28(%rsp), %rdx
movq %r14, %rdi
movq %r13, %rsi
callq 0x33700
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x10174
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x28(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x266a8(%rip), %rsi     # 0x3682b
leaq 0x266a8(%rip), %rdx     # 0x36832
callq 0xc0a4
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x101b3
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x26679(%rip), %rsi     # 0x36833
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xb963
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x101ed
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x28(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x2650c(%rip), %rsi     # 0x36708
leaq 0x2650f(%rip), %rdx     # 0x36712
callq 0xc0a4
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1022c
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x25ef2(%rip), %rsi     # 0x36125
leaq 0x28(%rsp), %rdi
leaq 0x68(%rsp), %rdx
callq 0xb963
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x10266
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x2838b(%rip), %rdx     # 0x385f8
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x21ff0
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0xb2c4
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x102a0
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x28(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x26589(%rip), %rsi     # 0x36838
leaq 0x2658c(%rip), %rdx     # 0x36842
callq 0xc0a4
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x102df
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x28312(%rip), %rdx     # 0x385f8
leaq 0x28(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x21ff0
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0xb2c4
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x10319
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x98(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x26436(%rip), %rsi     # 0x36762
leaq 0x26434(%rip), %rdx     # 0x36767
leaq 0x88(%rsp), %rdi
callq 0xc0a4
leaq 0x28(%rsp), %rdi
leaq 0x88(%rsp), %rdx
movq %r14, %rsi
callq 0xa992
movq 0x88(%rsp), %rdi
cmpq %r13, %rdi
je 0x10372
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x58(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x263e0(%rip), %rsi     # 0x36762
leaq 0x263de(%rip), %rdx     # 0x36767
leaq 0x48(%rsp), %rdi
callq 0xc0a4
leaq 0x88(%rsp), %rdi
leaq 0x48(%rsp), %rdx
movq %r14, %rsi
callq 0xa992
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x103bf
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x48(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x26352(%rip), %rsi     # 0x36720
leaq 0x2634c(%rip), %rdx     # 0x36721
callq 0xc0a4
leaq 0x48(%rsp), %rdx
movq %r14, %rdi
movq %r12, %rsi
callq 0x33700
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x10401
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x48(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x26358(%rip), %rsi     # 0x36768
leaq 0x26358(%rip), %rdx     # 0x3676f
callq 0xc0a4
leaq 0x48(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x10440
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x263ec(%rip), %rsi     # 0x36833
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0xb963
leaq 0x48(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x1047a
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x48(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x262ec(%rip), %rsi     # 0x36775
leaq 0x262ef(%rip), %rdx     # 0x3677f
callq 0xc0a4
leaq 0x48(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x104b9
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x25c65(%rip), %rsi     # 0x36125
leaq 0x48(%rsp), %rdi
leaq 0x88(%rsp), %rdx
callq 0xb963
leaq 0x48(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x104f6
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x280fb(%rip), %rdx     # 0x385f8
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x21ff0
leaq 0x48(%rsp), %rsi
movq %r14, %rdi
callq 0xb2c4
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x10530
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x48(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x26241(%rip), %rsi     # 0x36780
leaq 0x26244(%rip), %rdx     # 0x3678a
callq 0xc0a4
leaq 0x48(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x1056f
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x28082(%rip), %rdx     # 0x385f8
leaq 0x48(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x21ff0
leaq 0x48(%rsp), %rsi
movq %r14, %rdi
callq 0xb2c4
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x105ac
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x2602f(%rip), %rsi     # 0x365e2
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
je 0x107f8
leaq 0x2601b(%rip), %rsi     # 0x365e5
movq %r15, %rdi
callq 0x70c0
testl %eax, %eax
jne 0x10837
leaq 0x48(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2625a(%rip), %rsi     # 0x36843
leaq 0x2625a(%rip), %rdx     # 0x3684a
callq 0xc0a4
leaq 0x48(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
jmp 0x10820
leaq 0x18(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x261e1(%rip), %rsi     # 0x367f8
leaq 0x261db(%rip), %rdx     # 0x367f9
leaq 0x8(%rsp), %rdi
callq 0xc0a4
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
movq %r13, %rsi
callq 0x33700
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1064f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x260c2(%rip), %rsi     # 0x36720
leaq 0x260bc(%rip), %rdx     # 0x36721
callq 0xc0a4
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
movq %r12, %rsi
callq 0x33700
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x10691
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x68(%rsp), %r15
movq %r15, %rdi
movl $0x1, %esi
movl $0x4, %edx
callq 0x33cd0
leaq 0x2616c(%rip), %rsi     # 0x3681b
leaq 0x8(%rsp), %rdi
movq %r15, %rdx
callq 0x22046
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x106e0
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x78(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x106fb
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x26119(%rip), %rsi     # 0x36823
leaq 0x26119(%rip), %rdx     # 0x3682a
callq 0xc0a4
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1073a
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x25fca(%rip), %rsi     # 0x36713
leaq 0x25fca(%rip), %rdx     # 0x3671a
callq 0xc0a4
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x10779
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x25f93(%rip), %rsi     # 0x3671b
leaq 0x25f92(%rip), %rdx     # 0x36721
callq 0xc0a4
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x107b8
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x8(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x26908(%rip), %rdx     # 0x370cf
movq %rdx, %rsi
callq 0xc0a4
movl $0x0, (%rbx)
leaq 0x8(%rbx), %rdi
leaq 0x18(%rbx), %rax
movq %rax, 0x8(%rbx)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
addq %rsi, %rdx
callq 0xc014
jmp 0x1008b
leaq 0x48(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x25efa(%rip), %rsi     # 0x36701
leaq 0x25ef9(%rip), %rdx     # 0x36707
callq 0xc0a4
leaq 0x48(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x10837
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x48(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x25ed5(%rip), %rsi     # 0x3671b
leaq 0x25ed4(%rip), %rdx     # 0x36721
callq 0xc0a4
leaq 0x48(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x10876
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x48(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2684a(%rip), %rdx     # 0x370cf
movq %rdx, %rsi
callq 0xc0a4
movl $0x2, (%rbx)
leaq 0x8(%rbx), %rdi
leaq 0x18(%rbx), %rax
movq %rax, 0x8(%rbx)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0xc014
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x108c8
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x72c0
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x108ed
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x72c0
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x10904
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
jne 0xfd38
jmp 0xfd45
leaq 0x25f30(%rip), %rsi     # 0x36853
jmp 0x10947
leaq 0x25f2a(%rip), %rsi     # 0x36856
jmp 0x10947
leaq 0x25f25(%rip), %rsi     # 0x3685a
jmp 0x10947
leaq 0x25f1f(%rip), %rsi     # 0x3685d
jmp 0x10947
leaq 0x25f1a(%rip), %rsi     # 0x36861
leaq 0x28(%rsp), %rdi
callq 0x73d0
leaq 0x257ed(%rip), %rdx     # 0x36145
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x21ff0
leaq 0x88(%rsp), %rdi
leaq 0x48(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0x220b6
leaq 0x88(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
leaq 0x98(%rsp), %r15
movq -0x10(%r15), %rdi
cmpq %r15, %rdi
je 0x109af
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x109ca
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x88(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x25da4(%rip), %rsi     # 0x36780
leaq 0x25da7(%rip), %rdx     # 0x3678a
callq 0xc0a4
leaq 0x88(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x88(%rsp), %rdi
cmpq %r15, %rdi
je 0x10a15
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x25709(%rip), %rsi     # 0x36125
leaq 0x88(%rsp), %rdi
leaq 0x68(%rsp), %rdx
callq 0xb963
leaq 0x88(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x88(%rsp), %rdi
cmpq %r15, %rdi
je 0x10a5b
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x27b96(%rip), %rdx     # 0x385f8
leaq 0x88(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x21ff0
leaq 0x88(%rsp), %rsi
movq %r14, %rdi
callq 0xb2c4
movq 0x88(%rsp), %rdi
cmpq %r15, %rdi
je 0x10aa1
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x88(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x25cc2(%rip), %rsi     # 0x36775
leaq 0x25cc5(%rip), %rdx     # 0x3677f
callq 0xc0a4
leaq 0x88(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x88(%rsp), %rdi
cmpq %r15, %rdi
je 0x10aec
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x27b05(%rip), %rdx     # 0x385f8
leaq 0x88(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x21ff0
leaq 0x88(%rsp), %rsi
movq %r14, %rdi
callq 0xb2c4
movq 0x88(%rsp), %rdi
cmpq %r15, %rdi
je 0x10b32
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x88(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x25bd7(%rip), %rsi     # 0x3671b
leaq 0x25bd6(%rip), %rdx     # 0x36721
callq 0xc0a4
leaq 0x88(%rsp), %rsi
movq %r14, %rdi
callq 0xadb2
movq 0x88(%rsp), %rdi
cmpq %r15, %rdi
je 0x10b7d
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x88(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x26540(%rip), %rdx     # 0x370cf
movq %rdx, %rsi
callq 0xc0a4
movl $0x2, (%rbx)
leaq 0x8(%rbx), %rdi
leaq 0x18(%rbx), %rax
movq %rax, 0x8(%rbx)
movq 0x88(%rsp), %rsi
movq 0x90(%rsp), %rdx
addq %rsi, %rdx
callq 0xc014
movq 0x88(%rsp), %rdi
cmpq %r15, %rdi
jne 0x108dd
jmp 0x108ed
movl $0x8, %edi
callq 0x7170
leaq 0x25b3a(%rip), %rcx     # 0x36722
jmp 0x10bfb
movl $0x8, %edi
callq 0x7170
leaq 0x25bc6(%rip), %rcx     # 0x367c1
movq %rcx, (%rax)
movq 0x37363(%rip), %rsi     # 0x47f68
movq %rax, %rdi
xorl %edx, %edx
callq 0x74c0
jmp 0x10d7d
jmp 0x10d99
jmp 0x10d7d
jmp 0x10d99
jmp 0x10e11
jmp 0x10c52
jmp 0x10e11
jmp 0x10c52
jmp 0x10e11
jmp 0x10c52
jmp 0x10e11
jmp 0x10c52
jmp 0x10e11
jmp 0x10c52
jmp 0x10e11
jmp 0x10c52
jmp 0x10e11
movq %rax, %rbx
movq 0x88(%rsp), %rdi
cmpq %r15, %rdi
jne 0x10db1
jmp 0x10e14
jmp 0x10e11
movq %rax, %rbx
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x10c99
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x10c99
movq %rax, %rbx
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x10dd0
jmp 0x10e14
jmp 0x10e11
jmp 0x10e11
jmp 0x10e2d
jmp 0x10e11
jmp 0x10e2d
jmp 0x10e11
jmp 0x10e2d
jmp 0x10e48
jmp 0x10f21
jmp 0x10e63
jmp 0x110dc
jmp 0x110c0
jmp 0x110dc
jmp 0x110c0
jmp 0x110dc
jmp 0x110c0
jmp 0x110dc
jmp 0x110c0
jmp 0x110dc
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x10d2e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x10d2e
movq %rax, %rbx
leaq 0x78(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x10f37
jmp 0x110df
jmp 0x110c0
jmp 0x110dc
jmp 0x110c0
jmp 0x110dc
jmp 0x10d7d
jmp 0x10d99
jmp 0x10d7d
jmp 0x10d99
jmp 0x10d7d
jmp 0x10d99
jmp 0x10d7d
jmp 0x10d99
jmp 0x10d7d
jmp 0x10d99
jmp 0x10d7d
jmp 0x10d99
jmp 0x10d7d
jmp 0x10d99
jmp 0x10d7d
jmp 0x10d99
jmp 0x10d7d
jmp 0x10d99
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x10d9c
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x10d9c
movq %rax, %rbx
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x10e14
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x10e14
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x10e14
movq 0x58(%rsp), %rsi
jmp 0x10db9
jmp 0x10e11
movq %rax, %rbx
movq 0x88(%rsp), %rdi
cmpq %r13, %rdi
je 0x10e30
movq 0x98(%rsp), %rsi
jmp 0x10e23
jmp 0x10e2d
jmp 0x10e11
jmp 0x10e2d
jmp 0x10e11
jmp 0x10e2d
jmp 0x10e11
jmp 0x10e2d
jmp 0x10e11
jmp 0x10e2d
jmp 0x10e11
jmp 0x10e2d
jmp 0x10e11
jmp 0x10e2d
jmp 0x10e11
jmp 0x10e2d
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x10e30
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x10e30
movq %rax, %rbx
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
jne 0x10ee9
jmp 0x10ef6
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x10ef6
jmp 0x10f1a
jmp 0x10f21
movq %rax, %rbx
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
jne 0x10f37
jmp 0x110df
jmp 0x110dc
jmp 0x1107f
jmp 0x110dc
jmp 0x1107f
jmp 0x110dc
jmp 0x1107f
jmp 0x110dc
jmp 0x10ec0
jmp 0x10edc
jmp 0x10ec0
jmp 0x10edc
jmp 0x10ec0
jmp 0x10edc
jmp 0x10ec0
jmp 0x10edc
jmp 0x10ec0
jmp 0x10edc
jmp 0x10ec0
jmp 0x10edc
jmp 0x10ec0
jmp 0x10edc
jmp 0x10ec0
jmp 0x10edc
jmp 0x10ec0
jmp 0x10edc
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x10edf
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x10edf
movq %rax, %rbx
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0x10ef6
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x72c0
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x110cd
jmp 0x110df
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x10ef6
movq 0x38(%rsp), %rsi
jmp 0x10eee
movq %rax, %rbx
jmp 0x10ef6
movq %rax, %rbx
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0x110df
movq 0x78(%rsp), %rsi
jmp 0x110d2
jmp 0x110dc
jmp 0x11018
jmp 0x110dc
jmp 0x1107f
jmp 0x110dc
jmp 0x1107f
jmp 0x110dc
jmp 0x1107f
jmp 0x110dc
jmp 0x1107f
jmp 0x110dc
jmp 0x1107f
jmp 0x110dc
jmp 0x110c0
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x10fab
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x10fab
jmp 0x110dc
movq %rax, %rbx
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0x10fd1
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x10fd1
jmp 0x110c0
jmp 0x1107f
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x110df
movq 0x38(%rsp), %rsi
jmp 0x110d2
jmp 0x110dc
jmp 0x110dc
jmp 0x1107f
jmp 0x110dc
jmp 0x11018
jmp 0x110dc
jmp 0x110c0
jmp 0x110dc
jmp 0x110c0
jmp 0x110dc
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
jne 0x110cd
jmp 0x110df
jmp 0x110dc
jmp 0x110c0
jmp 0x110dc
jmp 0x1107f
jmp 0x110dc
jmp 0x1107f
jmp 0x1107f
jmp 0x110dc
jmp 0x110dc
jmp 0x1107f
jmp 0x1107f
jmp 0x110dc
jmp 0x110dc
jmp 0x1107f
jmp 0x1107f
jmp 0x110dc
jmp 0x110dc
jmp 0x1107f
jmp 0x1107f
jmp 0x110dc
jmp 0x110dc
jmp 0x1107f
jmp 0x1107f
jmp 0x110dc
jmp 0x110dc
jmp 0x1107f
jmp 0x1107f
jmp 0x110dc
jmp 0x110dc
jmp 0x1107f
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
jne 0x110cd
jmp 0x110df
jmp 0x110dc
jmp 0x110dc
jmp 0x110c0
jmp 0x1109e
jmp 0x110c0
jmp 0x1109e
jmp 0x110c0
jmp 0x1109e
movq %rax, %rbx
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0x110c3
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x110c3
jmp 0x110c0
jmp 0x110c0
jmp 0x110dc
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x110df
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72c0
jmp 0x110df
movq %rax, %rbx
movq %rbx, %rdi
callq 0x74f0
nop