// File: /workspace/github_cpp_makefile_star2_O1/luooofan[P]hblzbd_compiler/src/Pass/instruction_combining.cpp
// Function: Instruction_Combining::Run()
void Instruction_Combining::Run() {
  auto m = dynamic_cast<IRModule *>(*m_);

  for (auto func : m->func_list_) {
    for (auto bb : func->bb_list_) {
      for (auto iter = bb->ir_list_.begin(); iter != bb->ir_list_.end() - 1; ++iter) {
        auto ir = *iter;
        auto ir_next = *(iter + 1);

        if (ir::IR::OpKind::ADD == ir->op_) {
          if (ir::IR::OpKind::ADD == ir_next->op_) {
            if (isSameOpn(ir->res_, ir_next->opn1_)) {
              if (isImm(ir_next->opn2_)) {
                if (isImm(ir->opn1_)) {
                  int opn_num = ir_next->opn2_.imm_num_ + ir->opn1_.imm_num_;
                  auto new_opn = ir::Opn(ir::Opn::Type::Imm, opn_num);
                  auto new_ir = new ir::IR(ir::IR::OpKind::ADD, new_opn, ir->opn2_, ir_next->res_);

                  *(iter + 1) = new_ir;
                  // bb->ir_list_.erase(iter + 1);

                } else if (isImm(ir->opn2_)) {
                  int opn_num = ir_next->opn2_.imm_num_ + ir->opn2_.imm_num_;
                  auto new_opn = ir::Opn(ir::Opn::Type::Imm, opn_num);
                  auto new_ir = new ir::IR(ir::IR::OpKind::ADD, new_opn, ir->opn1_, ir_next->res_);

                  *(iter + 1) = new_ir;

                  // bb->ir_list_.erase(iter + 1);
                }
              }
            } else if (isSameOpn(ir->res_, ir_next->opn2_)) {
              if (isImm(ir_next->opn1_)) {
                if (isImm(ir->opn1_)) {
                  int opn_num = ir_next->opn1_.imm_num_ + ir->opn1_.imm_num_;
                  auto new_opn = ir::Opn(ir::Opn::Type::Imm, opn_num);
                  auto new_ir = new ir::IR(ir::IR::OpKind::ADD, new_opn, ir->opn2_, ir_next->res_);

                  *(iter + 1) = new_ir;

                  // bb->ir_list_.erase(iter + 1);
                } else if (isImm(ir->opn2_)) {
                  int opn_num = ir_next->opn1_.imm_num_ + ir->opn2_.imm_num_;
                  auto new_opn = ir::Opn(ir::Opn::Type::Imm, opn_num);
                  auto new_ir = new ir::IR(ir::IR::OpKind::ADD, new_opn, ir->opn1_, ir_next->res_);

                  *(iter + 1) = new_ir;

                  // bb->ir_list_.erase(iter + 1);
                }
              }
            }
          } else if (ir::IR::OpKind::SUB == ir_next->op_) {
            if (isSameOpn(ir->res_, ir_next->opn1_)) {
              if (isSameOpn(ir_next->opn2_, ir->opn1_)) {
                auto new_ir = new ir::IR(ir::IR::OpKind::ASSIGN, ir->opn2_, ir_next->res_);

                *(iter + 1) = new_ir;

              } else if (isSameOpn(ir_next->opn2_, ir->opn2_)) {
                auto new_ir = new ir::IR(ir::IR::OpKind::ASSIGN, ir->opn1_, ir_next->res_);

                *(iter + 1) = new_ir;
              }
            } else if (isSameOpn(ir->res_, ir_next->opn2_)) {
              if (isSameOpn(ir_next->opn2_, ir->opn1_)) {
                auto new_ir = new ir::IR(ir::IR::OpKind::NEG, ir->opn2_, ir_next->res_);

                *(iter + 1) = new_ir;

              } else if (isSameOpn(ir_next->opn2_, ir->opn1_)) {
                auto new_ir = new ir::IR(ir::IR::OpKind::NEG, ir->opn1_, ir_next->res_);

                *(iter + 1) = new_ir;
              }
            }
          }
        } else if (ir::IR::OpKind::SUB == ir->op_) {
          if (ir::IR::OpKind::SUB == ir_next->op_) {
            if (isSameOpn(ir->res_, ir_next->opn1_)) {
              if (isImm(ir_next->opn2_)) {
                if (isImm(ir->opn1_)) {
                  int opn_num = ir->opn1_.imm_num_ - ir_next->opn2_.imm_num_;
                  auto new_opn = ir::Opn(ir::Opn::Type::Imm, opn_num);
                  auto new_ir = new ir::IR(ir::IR::OpKind::SUB, new_opn, ir->opn2_, ir_next->res_);

                  *(iter + 1) = new_ir;

                  // bb->ir_list_.erase(iter + 1);
                } else if (isImm(ir->opn2_)) {
                  int opn_num = ir_next->opn2_.imm_num_ + ir->opn2_.imm_num_;
                  auto new_opn = ir::Opn(ir::Opn::Type::Imm, opn_num);
                  auto new_ir = new ir::IR(ir::IR::OpKind::SUB, ir->opn1_, new_opn, ir_next->res_);

                  *(iter + 1) = new_ir;

                  // bb->ir_list_.erase(iter + 1);
                }
              }
            }
          } else if (ir::IR::OpKind::ADD == ir_next->op_) {
            if (isSameOpn(ir->res_, ir_next->opn1_)) {
              if (isSameOpn(ir->opn2_, ir_next->opn2_)) {
                auto new_ir = new ir::IR(ir::IR::OpKind::ASSIGN, ir->opn1_, ir_next->res_);

                *(iter + 1) = new_ir;
              }
            } else if (isSameOpn(ir->res_, ir_next->opn2_)) {
              if (isSameOpn(ir->opn2_, ir_next->opn1_)) {
                auto new_ir = new ir::IR(ir::IR::OpKind::ASSIGN, ir->opn1_, ir_next->res_);

                *(iter + 1) = new_ir;
              }
            }
          }
        } else if (ir::IR::OpKind::MUL == ir->op_) {
          if (ir::IR::OpKind::MUL == ir_next->op_) {
            if (isSameOpn(ir->res_, ir_next->opn1_)) {
              if (isImm(ir_next->opn2_)) {
                if (isImm(ir->opn1_)) {
                  int opn_num = ir_next->opn2_.imm_num_ * ir->opn1_.imm_num_;
                  auto new_opn = ir::Opn(ir::Opn::Type::Imm, opn_num);
                  auto new_ir = new ir::IR(ir::IR::OpKind::MUL, new_opn, ir->opn2_, ir_next->res_);

                  *(iter + 1) = new_ir;

                  // bb->ir_list_.erase(iter + 1);
                } else if (isImm(ir->opn2_)) {
                  int opn_num = ir_next->opn2_.imm_num_ * ir->opn2_.imm_num_;
                  auto new_opn = ir::Opn(ir::Opn::Type::Imm, opn_num);
                  auto new_ir = new ir::IR(ir::IR::OpKind::MUL, new_opn, ir->opn1_, ir_next->res_);

                  *(iter + 1) = new_ir;

                  // bb->ir_list_.erase(iter + 1);
                }
              }
            } else if (isSameOpn(ir->res_, ir_next->opn2_)) {
              if (isImm(ir_next->opn1_)) {
                if (isImm(ir->opn1_)) {
                  int opn_num = ir_next->opn1_.imm_num_ * ir->opn1_.imm_num_;
                  auto new_opn = ir::Opn(ir::Opn::Type::Imm, opn_num);
                  auto new_ir = new ir::IR(ir::IR::OpKind::MUL, new_opn, ir->opn2_, ir_next->res_);

                  *(iter + 1) = new_ir;

                  // bb->ir_list_.erase(iter + 1);
                } else if (isImm(ir->opn2_)) {
                  int opn_num = ir_next->opn1_.imm_num_ * ir->opn2_.imm_num_;
                  auto new_opn = ir::Opn(ir::Opn::Type::Imm, opn_num);
                  auto new_ir = new ir::IR(ir::IR::OpKind::MUL, new_opn, ir->opn1_, ir_next->res_);

                  *(iter + 1) = new_ir;

                  // bb->ir_list_.erase(iter + 1);
                }
              }
            }
          } else if (ir::IR::OpKind::DIV == ir_next->op_) {
            if (isSameOpn(ir->res_, ir_next->opn1_)) {
              if (isSameOpn(ir_next->opn2_, ir->opn1_)) {
                auto new_ir = new ir::IR(ir::IR::OpKind::ASSIGN, ir->opn2_, ir_next->res_);

                *(iter + 1) = new_ir;

              } else if (isSameOpn(ir_next->opn2_, ir->opn2_)) {
                auto new_ir = new ir::IR(ir::IR::OpKind::ASSIGN, ir->opn1_, ir_next->res_);

                *(iter + 1) = new_ir;
              }
              // }else if(isSameOpn(ir->res_, ir_next->opn2_)){
              //     if(isSameOpn(ir_next->opn2_, ir->opn1_)){
              //         auto new_ir = new ir::IR(ir::IR::OpKind::NEG, ir->opn2_, ir_next->res_);

              //         *(iter + 1) = new_ir;
              //     }else if(isSameOpn(ir_next->opn2_, ir->opn1_)){
              //         auto new_ir = new ir::IR(ir::IR::OpKind::NEG, ir->opn1_, ir_next->res_);

              //         *(iter + 1) = new_ir;
              //     }
            }
          }
        } else if (ir::IR::OpKind::DIV == ir->op_) {
          if (ir::IR::OpKind::DIV == ir_next->op_) {
            if (isSameOpn(ir->res_, ir_next->opn1_)) {
              if (isImm(ir_next->opn2_)) {
                if (isImm(ir->opn1_)) {
                  int opn_num = ir->opn1_.imm_num_ / ir_next->opn2_.imm_num_;
                  auto new_opn = ir::Opn(ir::Opn::Type::Imm, opn_num);
                  auto new_ir = new ir::IR(ir::IR::OpKind::DIV, new_opn, ir->opn2_, ir_next->res_);

                  *(iter + 1) = new_ir;

                  // bb->ir_list_.erase(iter + 1);
                } else if (isImm(ir->opn2_)) {
                  int opn_num = ir_next->opn2_.imm_num_ * ir->opn2_.imm_num_;
                  auto new_opn = ir::Opn(ir::Opn::Type::Imm, opn_num);
                  auto new_ir = new ir::IR(ir::IR::OpKind::DIV, ir->opn1_, new_opn, ir_next->res_);

                  *(iter + 1) = new_ir;

                  // bb->ir_list_.erase(iter + 1);
                }
              }
            }
          } else if (ir::IR::OpKind::MUL == ir_next->op_) {
            if (isSameOpn(ir->res_, ir_next->opn1_)) {
              if (isSameOpn(ir->opn2_, ir_next->opn2_)) {
                auto new_ir = new ir::IR(ir::IR::OpKind::ASSIGN, ir->opn1_, ir_next->res_);

                *(iter + 1) = new_ir;
              }
            } else if (isSameOpn(ir->res_, ir_next->opn2_)) {
              if (isSameOpn(ir->opn2_, ir_next->opn1_)) {
                auto new_ir = new ir::IR(ir::IR::OpKind::ASSIGN, ir->opn1_, ir_next->res_);

                *(iter + 1) = new_ir;
              }
            }
          }
        } else if (ir::IR::OpKind::NEG == ir->op_) {
          if (ir::IR::OpKind::NEG == ir_next->op_) {
            if (isSameOpn(ir->res_, ir_next->opn1_)) {
              auto new_ir = new ir::IR(ir::IR::OpKind::ASSIGN, ir->opn1_, ir_next->res_);

              *(iter + 1) = new_ir;
            }
          }
        }
      }
    }
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1f78, %rsp           # imm = 0x1F78
movq 0x8(%rdi), %rax
movq (%rax), %rdi
leaq 0x38e3d(%rip), %rsi     # 0x8e618
leaq 0x39896(%rip), %rdx     # 0x8f078
xorl %ecx, %ecx
callq 0x8320
movq 0x28(%rax), %rcx
movq 0x30(%rax), %rax
movq %rax, 0x48(%rsp)
cmpq %rax, %rcx
je 0x57dbe
movq %rcx, 0x50(%rsp)
movq (%rcx), %rax
movq 0x30(%rax), %rcx
movq 0x38(%rax), %rax
movq %rax, 0x60(%rsp)
cmpq %rax, %rcx
je 0x57daa
movq %rcx, 0x68(%rsp)
movq (%rcx), %rax
movq 0x8(%rax), %rsi
movq %rax, 0x70(%rsp)
movq 0x10(%rax), %rax
addq $-0x8, %rax
cmpq %rax, %rsi
je 0x57d96
movq %rsi, %rax
movq (%rsi), %r14
addq $0x8, %rsi
movl (%r14), %ecx
cmpq $0x6, %rcx
ja 0x57d8c
movq 0x8(%rax), %rbx
leaq 0x1d0db(%rip), %rdx     # 0x7293c
movslq (%rdx,%rcx,4), %rax
addq %rdx, %rax
jmpq *%rax
movl (%rbx), %eax
cmpl $0x1, %eax
je 0x5641b
testl %eax, %eax
jne 0x57d8c
movq %rsi, (%rsp)
leaq 0x88(%r14), %r12
leaq 0x14b8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28186
leaq 0x8(%rbx), %r15
leaq 0x1f38(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
callq 0x28186
movq %r13, %rdi
movq %rbp, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x1f40(%rsp), %rdi
leaq 0x1f50(%rsp), %rax
cmpq %rax, %rdi
je 0x558e4
movq 0x1f50(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x14c0(%rsp), %rdi
leaq 0x14d0(%rsp), %rax
cmpq %rax, %rdi
je 0x55909
movq 0x14d0(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
je 0x56b6b
leaq 0x48(%rbx), %rsi
leaq 0x1938(%rsp), %rdi
callq 0x28186
movl 0x1938(%rsp), %ebp
movq 0x1940(%rsp), %rdi
leaq 0x1950(%rsp), %rax
cmpq %rax, %rdi
je 0x5594f
movq 0x1950(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x57d8c
leaq 0x8(%r14), %r15
leaq 0x18f8(%rsp), %rdi
movq %r15, %rsi
callq 0x28186
movl 0x18f8(%rsp), %ebp
movq 0x1900(%rsp), %rdi
leaq 0x1910(%rsp), %rax
cmpq %rax, %rdi
je 0x5599c
movq 0x1910(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
jne 0x57621
movl 0xc(%r14), %edx
addl 0x4c(%rbx), %edx
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
callq 0x12ade
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
leaq 0x1478(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28186
addq $0x48, %r14
leaq 0x4b8(%rsp), %rdi
movq %r14, %rsi
callq 0x28186
addq $0x88, %rbx
leaq 0x1438(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28186
movq %r15, %rdi
xorl %esi, %esi
movq %r13, %rdx
leaq 0x4b8(%rsp), %rcx
movq %r14, %r8
callq 0x24fee
movq 0x1440(%rsp), %rdi
leaq 0x1450(%rsp), %rax
cmpq %rax, %rdi
je 0x55a49
movq 0x1450(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x4c0(%rsp), %rdi
leaq 0x4d0(%rsp), %rax
cmpq %rax, %rdi
je 0x55a6e
movq 0x4d0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1480(%rsp), %rdi
leaq 0x1490(%rsp), %rax
cmpq %rax, %rdi
je 0x56d76
movq 0x1490(%rsp), %rsi
jmp 0x56d6e
movl (%rbx), %eax
cmpl $0x3, %eax
je 0x5625e
cmpl $0x2, %eax
jne 0x57d8c
movq %rsi, (%rsp)
leaq 0x88(%r14), %r12
leaq 0xc38(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28186
leaq 0x8(%rbx), %r15
leaq 0x1bf8(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
callq 0x28186
movq %r13, %rdi
movq %rbp, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x1c00(%rsp), %rdi
leaq 0x1c10(%rsp), %rax
cmpq %rax, %rdi
je 0x55b0f
movq 0x1c10(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xc40(%rsp), %rdi
leaq 0xc50(%rsp), %rax
cmpq %rax, %rdi
je 0x55b34
movq 0xc50(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
je 0x5695b
leaq 0x48(%rbx), %rsi
leaq 0x16f8(%rsp), %rdi
callq 0x28186
movl 0x16f8(%rsp), %ebp
movq 0x1700(%rsp), %rdi
leaq 0x1710(%rsp), %rax
cmpq %rax, %rdi
je 0x55b7a
movq 0x1710(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x57d8c
leaq 0x8(%r14), %r15
leaq 0x16b8(%rsp), %rdi
movq %r15, %rsi
callq 0x28186
movl 0x16b8(%rsp), %ebp
movq 0x16c0(%rsp), %rdi
leaq 0x16d0(%rsp), %rax
cmpq %rax, %rdi
je 0x55bc7
movq 0x16d0(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
jne 0x574e6
movl 0xc(%r14), %edx
imull 0x4c(%rbx), %edx
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
callq 0x12ade
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
leaq 0xbf8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28186
addq $0x48, %r14
leaq 0x278(%rsp), %rdi
movq %r14, %rsi
callq 0x28186
addq $0x88, %rbx
leaq 0xbb8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28186
movq %r15, %rdi
movl $0x2, %esi
movq %r13, %rdx
leaq 0x278(%rsp), %rcx
movq %r14, %r8
callq 0x24fee
movq 0xbc0(%rsp), %rdi
leaq 0xbd0(%rsp), %rax
cmpq %rax, %rdi
je 0x55c78
movq 0xbd0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x280(%rsp), %rdi
leaq 0x290(%rsp), %rax
cmpq %rax, %rdi
je 0x55c9d
movq 0x290(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xc00(%rsp), %rdi
leaq 0xc10(%rsp), %rax
cmpq %rax, %rdi
je 0x56d76
movq 0xc10(%rsp), %rsi
jmp 0x56d6e
movl (%rbx), %eax
testl %eax, %eax
je 0x565e1
cmpl $0x1, %eax
jne 0x57d8c
movq %rsi, (%rsp)
leaq 0x88(%r14), %rsi
leaq 0xf38(%rsp), %r15
movq %r15, %rdi
callq 0x28186
leaq 0x8(%rbx), %rsi
leaq 0x1d38(%rsp), %r12
movq %r12, %rdi
callq 0x28186
movq %r15, %rdi
movq %r12, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x1d40(%rsp), %rdi
leaq 0x1d50(%rsp), %rax
cmpq %rax, %rdi
je 0x55d37
movq 0x1d50(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xf40(%rsp), %rdi
leaq 0xf50(%rsp), %rax
cmpq %rax, %rdi
je 0x55d5c
movq 0xf50(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x57d8c
leaq 0x48(%rbx), %rsi
leaq 0x17b8(%rsp), %rdi
callq 0x28186
movl 0x17b8(%rsp), %ebp
movq 0x17c0(%rsp), %rdi
leaq 0x17d0(%rsp), %rax
cmpq %rax, %rdi
je 0x55da6
movq 0x17d0(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x57d8c
leaq 0x8(%r14), %r15
leaq 0x1778(%rsp), %rdi
movq %r15, %rsi
callq 0x28186
movl 0x1778(%rsp), %ebp
movq 0x1780(%rsp), %rdi
leaq 0x1790(%rsp), %rax
cmpq %rax, %rdi
je 0x55df3
movq 0x1790(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
jne 0x57758
movl 0xc(%r14), %edx
subl 0x4c(%rbx), %edx
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
callq 0x12ade
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
leaq 0xef8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28186
addq $0x48, %r14
leaq 0x338(%rsp), %rdi
movq %r14, %rsi
callq 0x28186
addq $0x88, %rbx
leaq 0xeb8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28186
movq %r15, %rdi
movl $0x1, %esi
movq %r13, %rdx
leaq 0x338(%rsp), %rcx
movq %r14, %r8
callq 0x24fee
movq 0xec0(%rsp), %rdi
leaq 0xed0(%rsp), %rax
cmpq %rax, %rdi
je 0x55ea3
movq 0xed0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x340(%rsp), %rdi
leaq 0x350(%rsp), %rax
cmpq %rax, %rdi
je 0x55ec8
movq 0x350(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xf00(%rsp), %rdi
leaq 0xf10(%rsp), %rax
cmpq %rax, %rdi
je 0x56d76
movq 0xf10(%rsp), %rsi
jmp 0x56d6e
movl (%rbx), %eax
cmpl $0x2, %eax
je 0x5679e
cmpl $0x3, %eax
jne 0x57d8c
movq %rsi, (%rsp)
leaq 0x88(%r14), %rsi
leaq 0x878(%rsp), %r15
movq %r15, %rdi
callq 0x28186
leaq 0x8(%rbx), %rsi
leaq 0x1ab8(%rsp), %r12
movq %r12, %rdi
callq 0x28186
movq %r15, %rdi
movq %r12, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x1ac0(%rsp), %rdi
leaq 0x1ad0(%rsp), %rax
cmpq %rax, %rdi
je 0x55f63
movq 0x1ad0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x880(%rsp), %rdi
leaq 0x890(%rsp), %rax
cmpq %rax, %rdi
je 0x55f88
movq 0x890(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x57d8c
leaq 0x48(%rbx), %rsi
leaq 0x1578(%rsp), %rdi
callq 0x28186
movl 0x1578(%rsp), %ebp
movq 0x1580(%rsp), %rdi
leaq 0x1590(%rsp), %rax
cmpq %rax, %rdi
je 0x55fd2
movq 0x1590(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x57d8c
leaq 0x8(%r14), %r15
leaq 0x1538(%rsp), %rdi
movq %r15, %rsi
callq 0x28186
movl 0x1538(%rsp), %ebp
movq 0x1540(%rsp), %rdi
leaq 0x1550(%rsp), %rax
cmpq %rax, %rdi
je 0x5601f
movq 0x1550(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
jne 0x57892
movl 0xc(%r14), %eax
cltd
idivl 0x4c(%rbx)
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
movl %eax, %edx
callq 0x12ade
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
leaq 0x838(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28186
addq $0x48, %r14
leaq 0xf8(%rsp), %rdi
movq %r14, %rsi
callq 0x28186
addq $0x88, %rbx
leaq 0x7f8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28186
movq %r15, %rdi
movl $0x3, %esi
movq %r13, %rdx
leaq 0xf8(%rsp), %rcx
movq %r14, %r8
callq 0x24fee
movq 0x800(%rsp), %rdi
leaq 0x810(%rsp), %rax
cmpq %rax, %rdi
je 0x560d2
movq 0x810(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x100(%rsp), %rdi
leaq 0x110(%rsp), %rax
cmpq %rax, %rdi
je 0x560f7
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x840(%rsp), %rdi
leaq 0x850(%rsp), %rax
cmpq %rax, %rdi
je 0x56d76
movq 0x850(%rsp), %rsi
jmp 0x56d6e
cmpl $0x6, (%rbx)
jne 0x57d8c
movq %rsi, %r13
leaq 0x88(%r14), %rsi
leaq 0x578(%rsp), %r15
movq %r15, %rdi
callq 0x28186
leaq 0x8(%rbx), %rsi
leaq 0x1978(%rsp), %r12
movq %r12, %rdi
callq 0x28186
movq %r15, %rdi
movq %r12, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x1980(%rsp), %rdi
leaq 0x1990(%rsp), %rax
cmpq %rax, %rdi
je 0x56186
movq 0x1990(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x580(%rsp), %rdi
leaq 0x590(%rsp), %rax
cmpq %rax, %rdi
je 0x561ab
movq 0x590(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq %r13, %rsi
je 0x57d8c
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
addq $0x8, %r14
leaq 0x538(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x28186
addq $0x88, %rbx
leaq 0x4f8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28186
movq %r15, %rdi
movl $0xc, %esi
movq %r12, %rdx
movq %r14, %rcx
callq 0x24e94
movq 0x500(%rsp), %rdi
leaq 0x510(%rsp), %rax
cmpq %rax, %rdi
je 0x5622d
movq 0x510(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x540(%rsp), %rdi
leaq 0x550(%rsp), %rax
cmpq %rax, %rdi
je 0x56252
movq 0x550(%rsp), %rsi
incq %rsi
callq 0x82a0
movq %r13, %rsi
movq %r15, (%r13)
jmp 0x57d8c
movq %rsi, (%rsp)
leaq 0x88(%r14), %rsi
leaq 0xa38(%rsp), %r15
movq %r15, %rdi
callq 0x28186
leaq 0x8(%rbx), %rsi
leaq 0x1b78(%rsp), %r12
movq %r12, %rdi
callq 0x28186
movq %r15, %rdi
movq %r12, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x1b80(%rsp), %rdi
leaq 0x1b90(%rsp), %rax
cmpq %rax, %rdi
je 0x562bf
movq 0x1b90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xa40(%rsp), %rdi
leaq 0xa50(%rsp), %rax
cmpq %rax, %rdi
je 0x562e4
movq 0xa50(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x57d8c
leaq 0x48(%rbx), %r12
leaq 0x9f8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28186
leaq 0x8(%r14), %r15
leaq 0x1b38(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
callq 0x28186
movq %r13, %rdi
movq %rbp, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x1b40(%rsp), %rdi
leaq 0x1b50(%rsp), %rax
cmpq %rax, %rdi
je 0x56351
movq 0x1b50(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xa00(%rsp), %rdi
leaq 0xa10(%rsp), %rax
cmpq %rax, %rdi
je 0x56376
movq 0xa10(%rsp), %rsi
incq %rsi
callq 0x82a0
addq $0x48, %r14
testb %bpl, %bpl
je 0x572a5
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
leaq 0x9b8(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x28186
addq $0x88, %rbx
leaq 0x978(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28186
movq %r15, %rdi
movl $0xc, %esi
movq %r12, %rdx
movq %r14, %rcx
callq 0x24e94
movq 0x980(%rsp), %rdi
leaq 0x990(%rsp), %rax
cmpq %rax, %rdi
je 0x563f5
movq 0x990(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x9c0(%rsp), %rdi
leaq 0x9d0(%rsp), %rax
cmpq %rax, %rdi
je 0x57299
movq 0x9d0(%rsp), %rsi
jmp 0x57291
movq %rsi, (%rsp)
leaq 0x88(%r14), %r15
leaq 0x12b8(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x28186
leaq 0x8(%rbx), %rsi
leaq 0x1eb8(%rsp), %rbp
movq %rbp, %rdi
callq 0x28186
movq %r12, %rdi
movq %rbp, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x1ec0(%rsp), %rdi
leaq 0x1ed0(%rsp), %rax
cmpq %rax, %rdi
je 0x5647f
movq 0x1ed0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x12c0(%rsp), %rdi
leaq 0x12d0(%rsp), %rax
cmpq %rax, %rdi
je 0x564a4
movq 0x12d0(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
je 0x56d82
leaq 0x11b8(%rsp), %r15
leaq 0x48(%rbx), %r12
leaq 0x1278(%rsp), %rbp
movq %rbp, %rdi
movq %r12, %rsi
callq 0x28186
leaq 0x8(%r14), %rsi
leaq 0x1e78(%rsp), %r13
movq %r13, %rdi
movq %rsi, 0x58(%rsp)
callq 0x28186
movq %rbp, %rdi
movq %r13, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x1e80(%rsp), %rdi
leaq 0x1e90(%rsp), %rax
cmpq %rax, %rdi
je 0x56517
movq 0x1e90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1280(%rsp), %rdi
leaq 0x1290(%rsp), %rax
cmpq %rax, %rdi
je 0x5653c
movq 0x1290(%rsp), %rsi
incq %rsi
callq 0x82a0
addq $0x48, %r14
testb %bpl, %bpl
je 0x573c7
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
leaq 0x1238(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x28186
addq $0x88, %rbx
leaq 0x11f8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28186
movq %r15, %rdi
movl $0xc, %esi
movq %r12, %rdx
movq %r14, %rcx
callq 0x24e94
movq 0x1200(%rsp), %rdi
leaq 0x1210(%rsp), %rax
cmpq %rax, %rdi
je 0x565bb
movq 0x1210(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1240(%rsp), %rdi
leaq 0x1250(%rsp), %rax
cmpq %rax, %rdi
je 0x57299
movq 0x1250(%rsp), %rsi
jmp 0x57291
movq %rsi, (%rsp)
leaq 0x88(%r14), %r12
leaq 0xe38(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28186
leaq 0x8(%rbx), %r15
leaq 0x1cf8(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
callq 0x28186
movq %r13, %rdi
movq %rbp, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x1d00(%rsp), %rdi
leaq 0x1d10(%rsp), %rax
cmpq %rax, %rdi
je 0x56648
movq 0x1d10(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xe40(%rsp), %rdi
leaq 0xe50(%rsp), %rax
cmpq %rax, %rdi
je 0x5666d
movq 0xe50(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
je 0x56f36
leaq 0x48(%r14), %rsi
leaq 0xdf8(%rsp), %r15
movq %r15, %rdi
callq 0x28186
leaq 0x48(%rbx), %rsi
leaq 0x1cb8(%rsp), %r12
movq %r12, %rdi
callq 0x28186
movq %r15, %rdi
movq %r12, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x1cc0(%rsp), %rdi
leaq 0x1cd0(%rsp), %rax
cmpq %rax, %rdi
je 0x566d0
movq 0x1cd0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xe00(%rsp), %rdi
leaq 0xe10(%rsp), %rax
cmpq %rax, %rdi
je 0x566f5
movq 0xe10(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x57d8c
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
addq $0x8, %r14
leaq 0xdb8(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x28186
addq $0x88, %rbx
leaq 0xd78(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28186
movq %r15, %rdi
movl $0xc, %esi
movq %r12, %rdx
movq %r14, %rcx
callq 0x24e94
movq 0xd80(%rsp), %rdi
leaq 0xd90(%rsp), %rax
cmpq %rax, %rdi
je 0x56778
movq 0xd90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xdc0(%rsp), %rdi
leaq 0xdd0(%rsp), %rax
cmpq %rax, %rdi
je 0x57299
movq 0xdd0(%rsp), %rsi
jmp 0x57291
movq %rsi, (%rsp)
leaq 0x88(%r14), %r12
leaq 0x778(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28186
leaq 0x8(%rbx), %r15
leaq 0x1a78(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
callq 0x28186
movq %r13, %rdi
movq %rbp, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x1a80(%rsp), %rdi
leaq 0x1a90(%rsp), %rax
cmpq %rax, %rdi
je 0x56805
movq 0x1a90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x780(%rsp), %rdi
leaq 0x790(%rsp), %rax
cmpq %rax, %rdi
je 0x5682a
movq 0x790(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
je 0x570e8
leaq 0x48(%r14), %rsi
leaq 0x738(%rsp), %r15
movq %r15, %rdi
callq 0x28186
leaq 0x48(%rbx), %rsi
leaq 0x1a38(%rsp), %r12
movq %r12, %rdi
callq 0x28186
movq %r15, %rdi
movq %r12, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x1a40(%rsp), %rdi
leaq 0x1a50(%rsp), %rax
cmpq %rax, %rdi
je 0x5688d
movq 0x1a50(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x740(%rsp), %rdi
leaq 0x750(%rsp), %rax
cmpq %rax, %rdi
je 0x568b2
movq 0x750(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x57d8c
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
addq $0x8, %r14
leaq 0x6f8(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x28186
addq $0x88, %rbx
leaq 0x6b8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28186
movq %r15, %rdi
movl $0xc, %esi
movq %r12, %rdx
movq %r14, %rcx
callq 0x24e94
movq 0x6c0(%rsp), %rdi
leaq 0x6d0(%rsp), %rax
cmpq %rax, %rdi
je 0x56935
movq 0x6d0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x700(%rsp), %rdi
leaq 0x710(%rsp), %rax
cmpq %rax, %rdi
je 0x57299
movq 0x710(%rsp), %rsi
jmp 0x57291
leaq 0xb38(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28186
leaq 0x48(%rbx), %rsi
leaq 0x1bb8(%rsp), %r12
movq %r12, %rdi
callq 0x28186
movq %r13, %rdi
movq %r12, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x1bc0(%rsp), %rdi
leaq 0x1bd0(%rsp), %rax
cmpq %rax, %rdi
je 0x569b4
movq 0x1bd0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xb40(%rsp), %rdi
leaq 0xb50(%rsp), %rax
cmpq %rax, %rdi
je 0x569d9
movq 0xb50(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x57d8c
leaq 0x1638(%rsp), %rdi
movq %r15, %rsi
callq 0x28186
movl 0x1638(%rsp), %ebp
movq 0x1640(%rsp), %rdi
leaq 0x1650(%rsp), %rax
cmpq %rax, %rdi
je 0x56a22
movq 0x1650(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x57d8c
leaq 0x8(%r14), %r15
leaq 0x15f8(%rsp), %rdi
movq %r15, %rsi
callq 0x28186
movl 0x15f8(%rsp), %ebp
movq 0x1600(%rsp), %rdi
leaq 0x1610(%rsp), %rax
cmpq %rax, %rdi
je 0x56a6f
movq 0x1610(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
jne 0x57af4
movl 0xc(%r14), %edx
imull 0xc(%rbx), %edx
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
callq 0x12ade
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
leaq 0xaf8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28186
addq $0x48, %r14
leaq 0x1b8(%rsp), %rdi
movq %r14, %rsi
callq 0x28186
addq $0x88, %rbx
leaq 0xab8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28186
movq %r15, %rdi
movl $0x2, %esi
movq %r13, %rdx
leaq 0x1b8(%rsp), %rcx
movq %r14, %r8
callq 0x24fee
movq 0xac0(%rsp), %rdi
leaq 0xad0(%rsp), %rax
cmpq %rax, %rdi
je 0x56b20
movq 0xad0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1c0(%rsp), %rdi
leaq 0x1d0(%rsp), %rax
cmpq %rax, %rdi
je 0x56b45
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xb00(%rsp), %rdi
leaq 0xb10(%rsp), %rax
cmpq %rax, %rdi
je 0x56d76
movq 0xb10(%rsp), %rsi
jmp 0x56d6e
leaq 0x13b8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28186
leaq 0x48(%rbx), %rsi
leaq 0x1ef8(%rsp), %r12
movq %r12, %rdi
callq 0x28186
movq %r13, %rdi
movq %r12, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x1f00(%rsp), %rdi
leaq 0x1f10(%rsp), %rax
cmpq %rax, %rdi
je 0x56bc4
movq 0x1f10(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x13c0(%rsp), %rdi
leaq 0x13d0(%rsp), %rax
cmpq %rax, %rdi
je 0x56be9
movq 0x13d0(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x57d8c
leaq 0x1878(%rsp), %rdi
movq %r15, %rsi
callq 0x28186
movl 0x1878(%rsp), %ebp
movq 0x1880(%rsp), %rdi
leaq 0x1890(%rsp), %rax
cmpq %rax, %rdi
je 0x56c32
movq 0x1890(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x57d8c
leaq 0x8(%r14), %r15
leaq 0x1838(%rsp), %rdi
movq %r15, %rsi
callq 0x28186
movl 0x1838(%rsp), %ebp
movq 0x1840(%rsp), %rdi
leaq 0x1850(%rsp), %rax
cmpq %rax, %rdi
je 0x56c7f
movq 0x1850(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
jne 0x57c2f
movl 0xc(%r14), %edx
addl 0xc(%rbx), %edx
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
callq 0x12ade
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
leaq 0x1378(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28186
addq $0x48, %r14
leaq 0x3f8(%rsp), %rdi
movq %r14, %rsi
callq 0x28186
addq $0x88, %rbx
leaq 0x1338(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28186
movq %r15, %rdi
xorl %esi, %esi
movq %r13, %rdx
leaq 0x3f8(%rsp), %rcx
movq %r14, %r8
callq 0x24fee
movq 0x1340(%rsp), %rdi
leaq 0x1350(%rsp), %rax
cmpq %rax, %rdi
je 0x56d2c
movq 0x1350(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x400(%rsp), %rdi
leaq 0x410(%rsp), %rax
cmpq %rax, %rdi
je 0x56d51
movq 0x410(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1380(%rsp), %rdi
leaq 0x1390(%rsp), %rax
cmpq %rax, %rdi
je 0x56d76
movq 0x1390(%rsp), %rsi
incq %rsi
callq 0x82a0
movq (%rsp), %rsi
movq %r15, (%rsi)
jmp 0x57d6c
leaq 0x10f8(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
callq 0x28186
leaq 0x48(%rbx), %r12
leaq 0x1df8(%rsp), %r15
movq %r15, %rdi
movq %r12, %rsi
callq 0x28186
movq %rbp, %rdi
movq %r15, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x1e00(%rsp), %rdi
leaq 0x1e10(%rsp), %rax
cmpq %rax, %rdi
je 0x56dde
movq 0x1e10(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1100(%rsp), %rdi
leaq 0x1110(%rsp), %rax
cmpq %rax, %rdi
je 0x56e03
movq 0x1110(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
leaq 0x10b8(%rsp), %rbp
leaq 0x1db8(%rsp), %r13
movq (%rsp), %rsi
je 0x57d8c
movq %rbp, %rdi
movq %r12, %rsi
callq 0x28186
leaq 0x8(%r14), %r15
movq %r13, %rdi
movq %r15, %rsi
callq 0x28186
movq %rbp, %rdi
movq %r13, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x1dc0(%rsp), %rdi
leaq 0x1dd0(%rsp), %rax
cmpq %rax, %rdi
je 0x56e6c
movq 0x1dd0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x10c0(%rsp), %rdi
leaq 0x10d0(%rsp), %rax
cmpq %rax, %rdi
je 0x56e91
movq 0x10d0(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
je 0x579c7
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
addq $0x48, %r14
leaq 0x1078(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x28186
addq $0x88, %rbx
leaq 0x1038(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28186
movq %r15, %rdi
movl $0x6, %esi
movq %r12, %rdx
movq %r14, %rcx
callq 0x24e94
movq 0x1040(%rsp), %rdi
leaq 0x1050(%rsp), %rax
cmpq %rax, %rdi
je 0x56f10
movq 0x1050(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1080(%rsp), %rdi
leaq 0x1090(%rsp), %rax
cmpq %rax, %rdi
je 0x57299
movq 0x1090(%rsp), %rsi
jmp 0x57291
leaq 0xd38(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28186
leaq 0x48(%rbx), %rsi
leaq 0x1c78(%rsp), %r12
movq %r12, %rdi
callq 0x28186
movq %r13, %rdi
movq %r12, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x1c80(%rsp), %rdi
leaq 0x1c90(%rsp), %rax
cmpq %rax, %rdi
je 0x56f8f
movq 0x1c90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xd40(%rsp), %rdi
leaq 0xd50(%rsp), %rax
cmpq %rax, %rdi
je 0x56fb4
movq 0xd50(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x57d8c
leaq 0x48(%r14), %rsi
leaq 0xcf8(%rsp), %r12
movq %r12, %rdi
callq 0x28186
leaq 0x1c38(%rsp), %r13
movq %r13, %rdi
movq %r15, %rsi
callq 0x28186
movq %r12, %rdi
movq %r13, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x1c40(%rsp), %rdi
leaq 0x1c50(%rsp), %rax
cmpq %rax, %rdi
je 0x5701a
movq 0x1c50(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xd00(%rsp), %rdi
leaq 0xd10(%rsp), %rax
cmpq %rax, %rdi
je 0x5703f
movq 0xd10(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x57d8c
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
addq $0x8, %r14
leaq 0xcb8(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x28186
addq $0x88, %rbx
leaq 0xc78(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28186
movq %r15, %rdi
movl $0xc, %esi
movq %r12, %rdx
movq %r14, %rcx
callq 0x24e94
movq 0xc80(%rsp), %rdi
leaq 0xc90(%rsp), %rax
cmpq %rax, %rdi
je 0x570c2
movq 0xc90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xcc0(%rsp), %rdi
leaq 0xcd0(%rsp), %rax
cmpq %rax, %rdi
je 0x57299
movq 0xcd0(%rsp), %rsi
jmp 0x57291
leaq 0x678(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28186
leaq 0x48(%rbx), %rsi
leaq 0x19f8(%rsp), %r12
movq %r12, %rdi
callq 0x28186
movq %r13, %rdi
movq %r12, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x1a00(%rsp), %rdi
leaq 0x1a10(%rsp), %rax
cmpq %rax, %rdi
je 0x57141
movq 0x1a10(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x680(%rsp), %rdi
leaq 0x690(%rsp), %rax
cmpq %rax, %rdi
je 0x57166
movq 0x690(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x57d8c
leaq 0x48(%r14), %rsi
leaq 0x638(%rsp), %r12
movq %r12, %rdi
callq 0x28186
leaq 0x19b8(%rsp), %r13
movq %r13, %rdi
movq %r15, %rsi
callq 0x28186
movq %r12, %rdi
movq %r13, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x19c0(%rsp), %rdi
leaq 0x19d0(%rsp), %rax
cmpq %rax, %rdi
je 0x571cc
movq 0x19d0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x640(%rsp), %rdi
leaq 0x650(%rsp), %rax
cmpq %rax, %rdi
je 0x571f1
movq 0x650(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x57d8c
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
addq $0x8, %r14
leaq 0x5f8(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x28186
addq $0x88, %rbx
leaq 0x5b8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28186
movq %r15, %rdi
movl $0xc, %esi
movq %r12, %rdx
movq %r14, %rcx
callq 0x24e94
movq 0x5c0(%rsp), %rdi
leaq 0x5d0(%rsp), %rax
cmpq %rax, %rdi
je 0x57274
movq 0x5d0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x600(%rsp), %rdi
leaq 0x610(%rsp), %rax
cmpq %rax, %rdi
je 0x57299
movq 0x610(%rsp), %rsi
incq %rsi
callq 0x82a0
movq (%rsp), %rsi
movq %r15, (%rsi)
jmp 0x57d8c
leaq 0x938(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28186
leaq 0x1af8(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x28186
movq %r13, %rdi
movq %r12, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x1b00(%rsp), %rdi
leaq 0x1b10(%rsp), %rax
cmpq %rax, %rdi
je 0x572fd
movq 0x1b10(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x940(%rsp), %rdi
leaq 0x950(%rsp), %rax
cmpq %rax, %rdi
je 0x57322
movq 0x950(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x57d8c
movl $0xe0, %edi
callq 0x8290
movq %rax, %r14
leaq 0x8f8(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x28186
addq $0x88, %rbx
leaq 0x8b8(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
callq 0x28186
movq %r14, %rdi
movl $0xc, %esi
movq %r12, %rdx
movq %r15, %rcx
callq 0x24e94
movq 0x8c0(%rsp), %rdi
leaq 0x8d0(%rsp), %rax
cmpq %rax, %rdi
je 0x573a1
movq 0x8d0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x900(%rsp), %rdi
leaq 0x910(%rsp), %rax
cmpq %rax, %rdi
je 0x57ae8
movq 0x910(%rsp), %rsi
jmp 0x57ae0
movq %r15, %rdi
movq %r12, %rsi
callq 0x28186
movq %r15, %r12
leaq 0x1e38(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x28186
movq %r12, %rdi
movq %r15, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x1e40(%rsp), %rdi
leaq 0x1e50(%rsp), %rax
cmpq %rax, %rdi
je 0x5741a
movq 0x1e50(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x11c0(%rsp), %rdi
leaq 0x11d0(%rsp), %rax
cmpq %rax, %rdi
je 0x5743f
movq 0x11d0(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x57d8c
movl $0xe0, %edi
callq 0x8290
movq %rax, %r14
leaq 0x1178(%rsp), %r15
movq %r15, %rdi
movq 0x58(%rsp), %rsi
callq 0x28186
addq $0x88, %rbx
leaq 0x1138(%rsp), %r12
movq %r12, %rdi
movq %rbx, %rsi
callq 0x28186
movq %r14, %rdi
movl $0xc, %esi
movq %r15, %rdx
movq %r12, %rcx
callq 0x24e94
movq 0x1140(%rsp), %rdi
leaq 0x1150(%rsp), %rax
cmpq %rax, %rdi
je 0x574c0
movq 0x1150(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1180(%rsp), %rdi
leaq 0x1190(%rsp), %rax
cmpq %rax, %rdi
je 0x57ae8
movq 0x1190(%rsp), %rsi
jmp 0x57ae0
leaq 0x48(%r14), %rsi
leaq 0x1678(%rsp), %rdi
callq 0x28186
movl 0x1678(%rsp), %ebp
movq 0x1680(%rsp), %rdi
leaq 0x1690(%rsp), %rax
cmpq %rax, %rdi
je 0x57523
movq 0x1690(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x57d8c
movl 0x4c(%r14), %edx
imull 0x4c(%rbx), %edx
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
callq 0x12ade
movl $0xe0, %edi
callq 0x8290
movq %rax, %r14
leaq 0x238(%rsp), %rdi
movq %r12, %rsi
callq 0x28186
leaq 0xb78(%rsp), %r12
leaq 0x1f8(%rsp), %rdi
movq %r15, %rsi
callq 0x28186
addq $0x88, %rbx
movq %r12, %rdi
movq %rbx, %rsi
callq 0x28186
movq %r14, %rdi
movl $0x2, %esi
leaq 0x238(%rsp), %rdx
leaq 0x1f8(%rsp), %rcx
movq %r12, %r8
callq 0x24fee
movq 0xb80(%rsp), %rdi
leaq 0xb90(%rsp), %rax
cmpq %rax, %rdi
je 0x575d6
movq 0xb90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x200(%rsp), %rdi
leaq 0x210(%rsp), %rax
cmpq %rax, %rdi
je 0x575fb
movq 0x210(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x240(%rsp), %rdi
leaq 0x250(%rsp), %rax
cmpq %rax, %rdi
je 0x57d65
movq 0x250(%rsp), %rsi
jmp 0x57d5d
leaq 0x48(%r14), %rsi
leaq 0x18b8(%rsp), %rdi
callq 0x28186
movl 0x18b8(%rsp), %ebp
movq 0x18c0(%rsp), %rdi
leaq 0x18d0(%rsp), %rax
cmpq %rax, %rdi
je 0x5765e
movq 0x18d0(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x57d8c
movl 0x4c(%r14), %edx
addl 0x4c(%rbx), %edx
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
callq 0x12ade
movl $0xe0, %edi
callq 0x8290
movq %rax, %r14
leaq 0x478(%rsp), %rdi
movq %r12, %rsi
callq 0x28186
leaq 0x13f8(%rsp), %r12
leaq 0x438(%rsp), %rdi
movq %r15, %rsi
callq 0x28186
addq $0x88, %rbx
movq %r12, %rdi
movq %rbx, %rsi
callq 0x28186
movq %r14, %rdi
xorl %esi, %esi
leaq 0x478(%rsp), %rdx
leaq 0x438(%rsp), %rcx
movq %r12, %r8
callq 0x24fee
movq 0x1400(%rsp), %rdi
leaq 0x1410(%rsp), %rax
cmpq %rax, %rdi
je 0x5770d
movq 0x1410(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x440(%rsp), %rdi
leaq 0x450(%rsp), %rax
cmpq %rax, %rdi
je 0x57732
movq 0x450(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x480(%rsp), %rdi
leaq 0x490(%rsp), %rax
cmpq %rax, %rdi
je 0x57d65
movq 0x490(%rsp), %rsi
jmp 0x57d5d
leaq 0x48(%r14), %rsi
leaq 0x1738(%rsp), %rdi
callq 0x28186
movl 0x1738(%rsp), %ebp
movq 0x1740(%rsp), %rdi
leaq 0x1750(%rsp), %rax
cmpq %rax, %rdi
je 0x57795
movq 0x1750(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x57d8c
movl 0x4c(%r14), %edx
addl 0x4c(%rbx), %edx
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
callq 0x12ade
movl $0xe0, %edi
callq 0x8290
movq %rax, %r14
leaq 0x2f8(%rsp), %rdi
movq %r15, %rsi
callq 0x28186
leaq 0xe78(%rsp), %r15
leaq 0x2b8(%rsp), %rdi
movq %r12, %rsi
callq 0x28186
addq $0x88, %rbx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x28186
movq %r14, %rdi
movl $0x1, %esi
leaq 0x2f8(%rsp), %rdx
leaq 0x2b8(%rsp), %rcx
movq %r15, %r8
callq 0x24fee
movq 0xe80(%rsp), %rdi
leaq 0xe90(%rsp), %rax
cmpq %rax, %rdi
je 0x57847
movq 0xe90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x2c0(%rsp), %rdi
leaq 0x2d0(%rsp), %rax
cmpq %rax, %rdi
je 0x5786c
movq 0x2d0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x300(%rsp), %rdi
leaq 0x310(%rsp), %rax
cmpq %rax, %rdi
je 0x57d65
movq 0x310(%rsp), %rsi
jmp 0x57d5d
leaq 0x48(%r14), %rsi
leaq 0x14f8(%rsp), %rdi
callq 0x28186
movl 0x14f8(%rsp), %ebp
movq 0x1500(%rsp), %rdi
leaq 0x1510(%rsp), %rax
cmpq %rax, %rdi
je 0x578cf
movq 0x1510(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x57d8c
movl 0x4c(%r14), %edx
imull 0x4c(%rbx), %edx
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
callq 0x12ade
movl $0xe0, %edi
callq 0x8290
movq %rax, %r14
leaq 0xb8(%rsp), %rdi
movq %r15, %rsi
callq 0x28186
leaq 0x7b8(%rsp), %r15
leaq 0x78(%rsp), %rdi
movq %r12, %rsi
callq 0x28186
addq $0x88, %rbx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x28186
movq %r14, %rdi
movl $0x3, %esi
leaq 0xb8(%rsp), %rdx
leaq 0x78(%rsp), %rcx
movq %r15, %r8
callq 0x24fee
movq 0x7c0(%rsp), %rdi
leaq 0x7d0(%rsp), %rax
cmpq %rax, %rdi
je 0x5797c
movq 0x7d0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x579a1
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
je 0x57d65
movq 0xd0(%rsp), %rsi
jmp 0x57d5d
leaq 0xff8(%rsp), %r14
movq %r14, %rdi
movq %r12, %rsi
callq 0x28186
leaq 0x1d78(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x28186
movq %r14, %rdi
movq %r12, %rsi
callq 0x58c19
movl %eax, %ebp
movq 0x1d80(%rsp), %rdi
leaq 0x1d90(%rsp), %rax
cmpq %rax, %rdi
je 0x57a1f
movq 0x1d90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1000(%rsp), %rdi
leaq 0x1010(%rsp), %rax
cmpq %rax, %rdi
je 0x57a44
movq 0x1010(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x57d8c
movl $0xe0, %edi
callq 0x8290
movq %rax, %r14
leaq 0xfb8(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x28186
addq $0x88, %rbx
leaq 0xf78(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
callq 0x28186
movq %r14, %rdi
movl $0x6, %esi
movq %r12, %rdx
movq %r15, %rcx
callq 0x24e94
movq 0xf80(%rsp), %rdi
leaq 0xf90(%rsp), %rax
cmpq %rax, %rdi
je 0x57ac3
movq 0xf90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xfc0(%rsp), %rdi
leaq 0xfd0(%rsp), %rax
cmpq %rax, %rdi
je 0x57ae8
movq 0xfd0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq (%rsp), %rsi
movq %r14, (%rsi)
jmp 0x57d8c
leaq 0x48(%r14), %rsi
leaq 0x15b8(%rsp), %rdi
callq 0x28186
movl 0x15b8(%rsp), %ebp
movq 0x15c0(%rsp), %rdi
leaq 0x15d0(%rsp), %rax
cmpq %rax, %rdi
je 0x57b31
movq 0x15d0(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x57d8c
movl 0x4c(%r14), %edx
imull 0xc(%rbx), %edx
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
callq 0x12ade
movl $0xe0, %edi
callq 0x8290
movq %rax, %r14
leaq 0x178(%rsp), %rdi
movq %r12, %rsi
callq 0x28186
leaq 0xa78(%rsp), %r12
leaq 0x138(%rsp), %rdi
movq %r15, %rsi
callq 0x28186
addq $0x88, %rbx
movq %r12, %rdi
movq %rbx, %rsi
callq 0x28186
movq %r14, %rdi
movl $0x2, %esi
leaq 0x178(%rsp), %rdx
leaq 0x138(%rsp), %rcx
movq %r12, %r8
callq 0x24fee
movq 0xa80(%rsp), %rdi
leaq 0xa90(%rsp), %rax
cmpq %rax, %rdi
je 0x57be4
movq 0xa90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
cmpq %rax, %rdi
je 0x57c09
movq 0x150(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x180(%rsp), %rdi
leaq 0x190(%rsp), %rax
cmpq %rax, %rdi
je 0x57d65
movq 0x190(%rsp), %rsi
jmp 0x57d5d
leaq 0x48(%r14), %rsi
leaq 0x17f8(%rsp), %rdi
callq 0x28186
movl 0x17f8(%rsp), %ebp
movq 0x1800(%rsp), %rdi
leaq 0x1810(%rsp), %rax
cmpq %rax, %rdi
je 0x57c6c
movq 0x1810(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x57d8c
movl 0x4c(%r14), %edx
addl 0xc(%rbx), %edx
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
callq 0x12ade
movl $0xe0, %edi
callq 0x8290
movq %rax, %r14
leaq 0x3b8(%rsp), %rdi
movq %r12, %rsi
callq 0x28186
leaq 0x12f8(%rsp), %r12
leaq 0x378(%rsp), %rdi
movq %r15, %rsi
callq 0x28186
addq $0x88, %rbx
movq %r12, %rdi
movq %rbx, %rsi
callq 0x28186
movq %r14, %rdi
xorl %esi, %esi
leaq 0x3b8(%rsp), %rdx
leaq 0x378(%rsp), %rcx
movq %r12, %r8
callq 0x24fee
movq 0x1300(%rsp), %rdi
leaq 0x1310(%rsp), %rax
cmpq %rax, %rdi
je 0x57d1b
movq 0x1310(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x380(%rsp), %rdi
leaq 0x390(%rsp), %rax
cmpq %rax, %rdi
je 0x57d40
movq 0x390(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x3c0(%rsp), %rdi
leaq 0x3d0(%rsp), %rax
cmpq %rax, %rdi
je 0x57d65
movq 0x3d0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq (%rsp), %rsi
movq %r14, (%rsi)
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x57d8c
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x82a0
movq (%rsp), %rsi
movq 0x70(%rsp), %rax
jmp 0x5582e
movq 0x68(%rsp), %rcx
addq $0x8, %rcx
cmpq 0x60(%rsp), %rcx
jne 0x5581d
movq 0x50(%rsp), %rcx
addq $0x8, %rcx
cmpq 0x48(%rsp), %rcx
jne 0x557ff
addq $0x1f78, %rsp           # imm = 0x1F78
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x5855d
jmp 0x5823e
movq %rax, %rbx
jmp 0x57e31
movq %rax, %rbx
jmp 0x57e0c
movq %rax, %rbx
movq 0xa80(%rsp), %rdi
leaq 0xa90(%rsp), %rax
cmpq %rax, %rdi
je 0x57e0c
movq 0xa90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
cmpq %rax, %rdi
je 0x57e31
movq 0x150(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x180(%rsp), %rdi
leaq 0x190(%rsp), %rax
cmpq %rax, %rdi
je 0x58241
movq 0x190(%rsp), %rsi
jmp 0x58228
jmp 0x5855d
jmp 0x5823e
movq %rax, %rbx
jmp 0x57eb8
movq %rax, %rbx
jmp 0x57e93
movq %rax, %rbx
movq 0x1300(%rsp), %rdi
leaq 0x1310(%rsp), %rax
cmpq %rax, %rdi
je 0x57e93
movq 0x1310(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x380(%rsp), %rdi
leaq 0x390(%rsp), %rax
cmpq %rax, %rdi
je 0x57eb8
movq 0x390(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x3c0(%rsp), %rdi
leaq 0x3d0(%rsp), %rax
cmpq %rax, %rdi
je 0x58241
movq 0x3d0(%rsp), %rsi
jmp 0x58228
movq %rax, %rbx
jmp 0x57f0b
movq %rax, %rbx
movq 0xe80(%rsp), %rdi
leaq 0xe90(%rsp), %rax
cmpq %rax, %rdi
je 0x57f0b
movq 0xe90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x2c0(%rsp), %rdi
leaq 0x2d0(%rsp), %rax
cmpq %rax, %rdi
je 0x57f35
movq 0x2d0(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x57f35
movq %rax, %rbx
movq 0x300(%rsp), %rdi
leaq 0x310(%rsp), %rax
cmpq %rax, %rdi
je 0x58241
movq 0x310(%rsp), %rsi
jmp 0x58228
jmp 0x5855d
jmp 0x5855d
jmp 0x5823e
jmp 0x58555
movq %rax, %rbx
jmp 0x57fe0
movq %rax, %rbx
jmp 0x58053
jmp 0x5855d
movq %rax, %rbx
jmp 0x57fbb
movq %rax, %rbx
jmp 0x5802e
jmp 0x5823e
movq %rax, %rbx
movq 0x1400(%rsp), %rdi
leaq 0x1410(%rsp), %rax
cmpq %rax, %rdi
je 0x57fbb
movq 0x1410(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x440(%rsp), %rdi
leaq 0x450(%rsp), %rax
cmpq %rax, %rdi
je 0x57fe0
movq 0x450(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x480(%rsp), %rdi
leaq 0x490(%rsp), %rax
cmpq %rax, %rdi
je 0x58241
movq 0x490(%rsp), %rsi
jmp 0x58228
movq %rax, %rbx
movq 0x1340(%rsp), %rdi
leaq 0x1350(%rsp), %rax
cmpq %rax, %rdi
je 0x5802e
movq 0x1350(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x400(%rsp), %rdi
leaq 0x410(%rsp), %rax
cmpq %rax, %rdi
je 0x58053
movq 0x410(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1380(%rsp), %rdi
leaq 0x1390(%rsp), %rax
cmpq %rax, %rdi
je 0x58682
movq 0x1390(%rsp), %rsi
jmp 0x5867a
movq %rax, %rbx
movq 0xf80(%rsp), %rdi
leaq 0xf90(%rsp), %rax
cmpq %rax, %rdi
je 0x580ff
movq 0xf90(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x580ff
movq %rax, %rbx
jmp 0x580d0
movq %rax, %rbx
movq 0x7c0(%rsp), %rdi
leaq 0x7d0(%rsp), %rax
cmpq %rax, %rdi
je 0x580d0
movq 0x7d0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x58128
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x58128
jmp 0x5849b
movq %rax, %rbx
movq 0xfc0(%rsp), %rdi
leaq 0xfd0(%rsp), %rax
cmpq %rax, %rdi
je 0x5849e
movq 0xfd0(%rsp), %rsi
jmp 0x5843d
movq %rax, %rbx
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
je 0x58241
movq 0xd0(%rsp), %rsi
jmp 0x58228
movq %rax, %rbx
jmp 0x5820b
movq %rax, %rbx
jmp 0x5818b
movq %rax, %rbx
jmp 0x581e6
movq %rax, %rbx
movq 0xac0(%rsp), %rdi
leaq 0xad0(%rsp), %rax
cmpq %rax, %rdi
je 0x5818b
movq 0xad0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1c0(%rsp), %rdi
leaq 0x1d0(%rsp), %rax
cmpq %rax, %rdi
je 0x58251
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x58251
jmp 0x5855d
movq %rax, %rbx
movq 0xb80(%rsp), %rdi
leaq 0xb90(%rsp), %rax
cmpq %rax, %rdi
je 0x581e6
movq 0xb90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x200(%rsp), %rdi
leaq 0x210(%rsp), %rax
cmpq %rax, %rdi
je 0x5820b
movq 0x210(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x240(%rsp), %rdi
leaq 0x250(%rsp), %rax
cmpq %rax, %rdi
je 0x58241
movq 0x250(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x58241
jmp 0x5855d
jmp 0x58555
jmp 0x5823e
movq %rax, %rbx
movl $0xe0, %esi
movq %r14, %rdi
jmp 0x5868a
movq %rax, %rbx
movq 0xb00(%rsp), %rdi
leaq 0xb10(%rsp), %rax
cmpq %rax, %rdi
je 0x58682
movq 0xb10(%rsp), %rsi
jmp 0x5867a
jmp 0x5855d
movq %rax, %rbx
movq 0x1000(%rsp), %rdi
leaq 0x1010(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0x1010(%rsp), %rsi
jmp 0x58c09
movq %rax, %rbx
movq 0xbc0(%rsp), %rdi
leaq 0xbd0(%rsp), %rax
cmpq %rax, %rdi
je 0x582df
movq 0xbd0(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x582df
movq %rax, %rbx
jmp 0x58638
movq %rax, %rbx
jmp 0x58304
movq %rax, %rbx
movq 0x280(%rsp), %rdi
leaq 0x290(%rsp), %rax
cmpq %rax, %rdi
je 0x58304
movq 0x290(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xc00(%rsp), %rdi
leaq 0xc10(%rsp), %rax
cmpq %rax, %rdi
je 0x58682
movq 0xc10(%rsp), %rsi
jmp 0x5867a
movq %rax, %rbx
jmp 0x5865d
jmp 0x58555
jmp 0x5855d
jmp 0x58555
jmp 0x5855d
movq %rax, %rbx
movq 0x5c0(%rsp), %rdi
leaq 0x5d0(%rsp), %rax
cmpq %rax, %rdi
je 0x583c3
movq 0x5d0(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x583c3
movq %rax, %rbx
movq 0x8c0(%rsp), %rdi
leaq 0x8d0(%rsp), %rax
cmpq %rax, %rdi
je 0x5839d
movq 0x8d0(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x5839d
movq %rax, %rbx
movq 0x900(%rsp), %rdi
leaq 0x910(%rsp), %rax
cmpq %rax, %rdi
je 0x5849e
movq 0x910(%rsp), %rsi
jmp 0x5843d
movq %rax, %rbx
movq 0x600(%rsp), %rdi
leaq 0x610(%rsp), %rax
cmpq %rax, %rdi
je 0x58aa9
movq 0x610(%rsp), %rsi
jmp 0x58a9c
jmp 0x58aa6
jmp 0x5849b
movq %rax, %rbx
movq 0x1140(%rsp), %rdi
leaq 0x1150(%rsp), %rax
cmpq %rax, %rdi
je 0x58420
movq 0x1150(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x58420
movq %rax, %rbx
movq 0x1180(%rsp), %rdi
leaq 0x1190(%rsp), %rax
cmpq %rax, %rdi
je 0x5849e
movq 0x1190(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x5849e
movq %rax, %rbx
movq 0xec0(%rsp), %rdi
leaq 0xed0(%rsp), %rax
cmpq %rax, %rdi
je 0x58474
movq 0xed0(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x58474
movq %rax, %rbx
movq 0x340(%rsp), %rdi
leaq 0x350(%rsp), %rax
cmpq %rax, %rdi
je 0x584d8
movq 0x350(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x584d8
movq %rax, %rbx
movl $0xe0, %esi
movq %r14, %rdi
jmp 0x58c0c
movq %rax, %rbx
movq 0x1440(%rsp), %rdi
leaq 0x1450(%rsp), %rax
cmpq %rax, %rdi
je 0x58503
movq 0x1450(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x58503
movq %rax, %rbx
movq 0xf00(%rsp), %rdi
leaq 0xf10(%rsp), %rax
cmpq %rax, %rdi
je 0x58682
movq 0xf10(%rsp), %rsi
jmp 0x5867a
jmp 0x58555
movq %rax, %rbx
movq 0x4c0(%rsp), %rdi
leaq 0x4d0(%rsp), %rax
cmpq %rax, %rdi
je 0x5852f
movq 0x4d0(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x5852f
jmp 0x5855d
movq %rax, %rbx
movq 0x1480(%rsp), %rdi
leaq 0x1490(%rsp), %rax
cmpq %rax, %rdi
je 0x58682
movq 0x1490(%rsp), %rsi
jmp 0x5867a
movq %rax, %rbx
jmp 0x58682
movq %rax, %rbx
jmp 0x5868f
movq %rax, %rbx
jmp 0x5859c
movq %rax, %rbx
jmp 0x585ea
jmp 0x58aa6
movq %rax, %rbx
movq 0x1040(%rsp), %rdi
leaq 0x1050(%rsp), %rax
cmpq %rax, %rdi
je 0x5859c
movq 0x1050(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1080(%rsp), %rdi
leaq 0x1090(%rsp), %rax
cmpq %rax, %rdi
je 0x58aa9
movq 0x1090(%rsp), %rsi
jmp 0x58a9c
movq %rax, %rbx
movq 0xc80(%rsp), %rdi
leaq 0xc90(%rsp), %rax
cmpq %rax, %rdi
je 0x585ea
movq 0xc90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xcc0(%rsp), %rdi
leaq 0xcd0(%rsp), %rax
cmpq %rax, %rdi
je 0x58aa9
movq 0xcd0(%rsp), %rsi
jmp 0x58a9c
movq %rax, %rbx
movq 0x800(%rsp), %rdi
leaq 0x810(%rsp), %rax
cmpq %rax, %rdi
je 0x58638
movq 0x810(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x100(%rsp), %rdi
leaq 0x110(%rsp), %rax
cmpq %rax, %rdi
je 0x5865d
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x840(%rsp), %rdi
leaq 0x850(%rsp), %rax
cmpq %rax, %rdi
je 0x58682
movq 0x850(%rsp), %rsi
incq %rsi
callq 0x82a0
movl $0xe0, %esi
movq %r15, %rdi
callq 0x82a0
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0x20(%rsp), %rsi
jmp 0x58c09
jmp 0x58aa6
movq %rax, %rbx
jmp 0x588b6
movq %rax, %rbx
movq 0x1200(%rsp), %rdi
leaq 0x1210(%rsp), %rax
cmpq %rax, %rdi
je 0x586eb
movq 0x1210(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x586eb
jmp 0x58aa6
movq %rax, %rbx
movq 0x1240(%rsp), %rdi
leaq 0x1250(%rsp), %rax
cmpq %rax, %rdi
je 0x58aa9
movq 0x1250(%rsp), %rsi
jmp 0x58a9c
movq %rax, %rbx
movq 0x640(%rsp), %rdi
leaq 0x650(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0x650(%rsp), %rsi
jmp 0x58c09
movq %rax, %rbx
movq 0x6c0(%rsp), %rdi
leaq 0x6d0(%rsp), %rax
cmpq %rax, %rdi
je 0x5876c
movq 0x6d0(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x5876c
jmp 0x58aa6
movq %rax, %rbx
movq 0x700(%rsp), %rdi
leaq 0x710(%rsp), %rax
cmpq %rax, %rdi
je 0x58aa9
movq 0x710(%rsp), %rsi
jmp 0x58a9c
movq %rax, %rbx
movq 0xd00(%rsp), %rdi
leaq 0xd10(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0xd10(%rsp), %rsi
jmp 0x58c09
movq %rax, %rbx
movq 0xd80(%rsp), %rdi
leaq 0xd90(%rsp), %rax
cmpq %rax, %rdi
je 0x5883f
movq 0xd90(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x5883f
movq %rax, %rbx
movq 0x940(%rsp), %rdi
leaq 0x950(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0x950(%rsp), %rsi
jmp 0x58c09
jmp 0x58aa6
movq %rax, %rbx
movq 0x10c0(%rsp), %rdi
leaq 0x10d0(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0x10d0(%rsp), %rsi
jmp 0x58c09
movq %rax, %rbx
movq 0xdc0(%rsp), %rdi
leaq 0xdd0(%rsp), %rax
cmpq %rax, %rdi
je 0x58aa9
movq 0xdd0(%rsp), %rsi
jmp 0x58a9c
movq %rax, %rbx
movq 0x11c0(%rsp), %rdi
leaq 0x11d0(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0x11d0(%rsp), %rsi
jmp 0x58c09
movq %rax, %rbx
movq 0x980(%rsp), %rdi
leaq 0x990(%rsp), %rax
cmpq %rax, %rdi
je 0x588b6
movq 0x990(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x9c0(%rsp), %rdi
leaq 0x9d0(%rsp), %rax
cmpq %rax, %rdi
je 0x58aa9
movq 0x9d0(%rsp), %rsi
jmp 0x58a9c
jmp 0x58aa6
movq %rax, %rbx
movq 0x13c0(%rsp), %rdi
leaq 0x13d0(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0x13d0(%rsp), %rsi
jmp 0x58c09
movq %rax, %rbx
movq 0xa00(%rsp), %rdi
leaq 0xa10(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0xa10(%rsp), %rsi
jmp 0x58c09
movq %rax, %rbx
movq 0xd40(%rsp), %rdi
leaq 0xd50(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0xd50(%rsp), %rsi
jmp 0x58c09
movq %rax, %rbx
movq 0x1100(%rsp), %rdi
leaq 0x1110(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0x1110(%rsp), %rsi
jmp 0x58c09
movq %rax, %rbx
movq 0x740(%rsp), %rdi
leaq 0x750(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0x750(%rsp), %rsi
jmp 0x58c09
movq %rax, %rbx
movq 0x1280(%rsp), %rdi
leaq 0x1290(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0x1290(%rsp), %rsi
jmp 0x58c09
movq %rax, %rbx
movq 0xb40(%rsp), %rdi
leaq 0xb50(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0xb50(%rsp), %rsi
jmp 0x58c09
movq %rax, %rbx
movq 0xe00(%rsp), %rdi
leaq 0xe10(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0xe10(%rsp), %rsi
jmp 0x58c09
movq %rax, %rbx
movq 0x680(%rsp), %rdi
leaq 0x690(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0x690(%rsp), %rsi
jmp 0x58c09
movq %rax, %rbx
movq 0x500(%rsp), %rdi
leaq 0x510(%rsp), %rax
cmpq %rax, %rdi
je 0x58a7f
movq 0x510(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x58a7f
movq %rax, %rbx
movq 0x540(%rsp), %rdi
leaq 0x550(%rsp), %rax
cmpq %rax, %rdi
je 0x58aa9
movq 0x550(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x58aa9
movq %rax, %rbx
movl $0xe0, %esi
movq %r15, %rdi
jmp 0x58c0c
movq %rax, %rbx
movq 0x12c0(%rsp), %rdi
leaq 0x12d0(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0x12d0(%rsp), %rsi
jmp 0x58c09
movq %rax, %rbx
movq 0x14c0(%rsp), %rdi
leaq 0x14d0(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0x14d0(%rsp), %rsi
jmp 0x58c09
movq %rax, %rbx
movq 0xf40(%rsp), %rdi
leaq 0xf50(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0xf50(%rsp), %rsi
jmp 0x58c09
movq %rax, %rbx
movq 0xe40(%rsp), %rdi
leaq 0xe50(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0xe50(%rsp), %rsi
jmp 0x58c09
movq %rax, %rbx
movq 0xa40(%rsp), %rdi
leaq 0xa50(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0xa50(%rsp), %rsi
jmp 0x58c09
movq %rax, %rbx
movq 0xc40(%rsp), %rdi
leaq 0xc50(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0xc50(%rsp), %rsi
jmp 0x58c09
movq %rax, %rbx
movq 0x880(%rsp), %rdi
leaq 0x890(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0x890(%rsp), %rsi
jmp 0x58c09
movq %rax, %rbx
movq 0x780(%rsp), %rdi
leaq 0x790(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0x790(%rsp), %rsi
jmp 0x58c09
movq %rax, %rbx
movq 0x580(%rsp), %rdi
leaq 0x590(%rsp), %rax
cmpq %rax, %rdi
je 0x58c11
movq 0x590(%rsp), %rsi
incq %rsi
callq 0x82a0
movq %rbx, %rdi
callq 0x8540