// File: /workspace/github_cpp_makefile_star2_O3/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 0x38b51(%rip), %rsi     # 0x8d648
leaq 0x39572(%rip), %rdx     # 0x8e070
xorl %ecx, %ecx
callq 0x8320
movq 0x28(%rax), %rcx
movq 0x30(%rax), %rax
movq %rax, 0x48(%rsp)
cmpq %rax, %rcx
je 0x570da
movq %rcx, 0x50(%rsp)
movq (%rcx), %rax
movq 0x30(%rax), %rcx
movq 0x38(%rax), %rax
movq %rax, 0x60(%rsp)
cmpq %rax, %rcx
je 0x570c6
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 0x570b2
movq %rsi, %rax
movq (%rsi), %r14
addq $0x8, %rsi
movl (%r14), %ecx
cmpq $0x6, %rcx
ja 0x570a8
movq 0x8(%rax), %rbx
leaq 0x1cdc3(%rip), %rdx     # 0x71940
movslq (%rdx,%rcx,4), %rax
addq %rdx, %rax
jmpq *%rax
movl (%rbx), %eax
cmpl $0x1, %eax
je 0x55737
testl %eax, %eax
jne 0x570a8
movq %rsi, (%rsp)
leaq 0x88(%r14), %r12
leaq 0x14b8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28816
leaq 0x8(%rbx), %r15
leaq 0x1f38(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
callq 0x28816
movq %r13, %rdi
movq %rbp, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x1f40(%rsp), %rdi
leaq 0x1f50(%rsp), %rax
cmpq %rax, %rdi
je 0x54c00
movq 0x1f50(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x14c0(%rsp), %rdi
leaq 0x14d0(%rsp), %rax
cmpq %rax, %rdi
je 0x54c25
movq 0x14d0(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
je 0x55e87
leaq 0x48(%rbx), %rsi
leaq 0x1938(%rsp), %rdi
callq 0x28816
movl 0x1938(%rsp), %ebp
movq 0x1940(%rsp), %rdi
leaq 0x1950(%rsp), %rax
cmpq %rax, %rdi
je 0x54c6b
movq 0x1950(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x570a8
leaq 0x8(%r14), %r15
leaq 0x18f8(%rsp), %rdi
movq %r15, %rsi
callq 0x28816
movl 0x18f8(%rsp), %ebp
movq 0x1900(%rsp), %rdi
leaq 0x1910(%rsp), %rax
cmpq %rax, %rdi
je 0x54cb8
movq 0x1910(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
jne 0x5693d
movl 0xc(%r14), %edx
addl 0x4c(%rbx), %edx
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
callq 0x1279c
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
leaq 0x1478(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28816
addq $0x48, %r14
leaq 0x4b8(%rsp), %rdi
movq %r14, %rsi
callq 0x28816
addq $0x88, %rbx
leaq 0x1438(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28816
movq %r15, %rdi
xorl %esi, %esi
movq %r13, %rdx
leaq 0x4b8(%rsp), %rcx
movq %r14, %r8
callq 0x256ba
movq 0x1440(%rsp), %rdi
leaq 0x1450(%rsp), %rax
cmpq %rax, %rdi
je 0x54d65
movq 0x1450(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x4c0(%rsp), %rdi
leaq 0x4d0(%rsp), %rax
cmpq %rax, %rdi
je 0x54d8a
movq 0x4d0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1480(%rsp), %rdi
leaq 0x1490(%rsp), %rax
cmpq %rax, %rdi
je 0x56092
movq 0x1490(%rsp), %rsi
jmp 0x5608a
movl (%rbx), %eax
cmpl $0x3, %eax
je 0x5557a
cmpl $0x2, %eax
jne 0x570a8
movq %rsi, (%rsp)
leaq 0x88(%r14), %r12
leaq 0xc38(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28816
leaq 0x8(%rbx), %r15
leaq 0x1bf8(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
callq 0x28816
movq %r13, %rdi
movq %rbp, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x1c00(%rsp), %rdi
leaq 0x1c10(%rsp), %rax
cmpq %rax, %rdi
je 0x54e2b
movq 0x1c10(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xc40(%rsp), %rdi
leaq 0xc50(%rsp), %rax
cmpq %rax, %rdi
je 0x54e50
movq 0xc50(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
je 0x55c77
leaq 0x48(%rbx), %rsi
leaq 0x16f8(%rsp), %rdi
callq 0x28816
movl 0x16f8(%rsp), %ebp
movq 0x1700(%rsp), %rdi
leaq 0x1710(%rsp), %rax
cmpq %rax, %rdi
je 0x54e96
movq 0x1710(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x570a8
leaq 0x8(%r14), %r15
leaq 0x16b8(%rsp), %rdi
movq %r15, %rsi
callq 0x28816
movl 0x16b8(%rsp), %ebp
movq 0x16c0(%rsp), %rdi
leaq 0x16d0(%rsp), %rax
cmpq %rax, %rdi
je 0x54ee3
movq 0x16d0(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
jne 0x56802
movl 0xc(%r14), %edx
imull 0x4c(%rbx), %edx
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
callq 0x1279c
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
leaq 0xbf8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28816
addq $0x48, %r14
leaq 0x278(%rsp), %rdi
movq %r14, %rsi
callq 0x28816
addq $0x88, %rbx
leaq 0xbb8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28816
movq %r15, %rdi
movl $0x2, %esi
movq %r13, %rdx
leaq 0x278(%rsp), %rcx
movq %r14, %r8
callq 0x256ba
movq 0xbc0(%rsp), %rdi
leaq 0xbd0(%rsp), %rax
cmpq %rax, %rdi
je 0x54f94
movq 0xbd0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x280(%rsp), %rdi
leaq 0x290(%rsp), %rax
cmpq %rax, %rdi
je 0x54fb9
movq 0x290(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xc00(%rsp), %rdi
leaq 0xc10(%rsp), %rax
cmpq %rax, %rdi
je 0x56092
movq 0xc10(%rsp), %rsi
jmp 0x5608a
movl (%rbx), %eax
testl %eax, %eax
je 0x558fd
cmpl $0x1, %eax
jne 0x570a8
movq %rsi, (%rsp)
leaq 0x88(%r14), %rsi
leaq 0xf38(%rsp), %r15
movq %r15, %rdi
callq 0x28816
leaq 0x8(%rbx), %rsi
leaq 0x1d38(%rsp), %r12
movq %r12, %rdi
callq 0x28816
movq %r15, %rdi
movq %r12, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x1d40(%rsp), %rdi
leaq 0x1d50(%rsp), %rax
cmpq %rax, %rdi
je 0x55053
movq 0x1d50(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xf40(%rsp), %rdi
leaq 0xf50(%rsp), %rax
cmpq %rax, %rdi
je 0x55078
movq 0xf50(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x570a8
leaq 0x48(%rbx), %rsi
leaq 0x17b8(%rsp), %rdi
callq 0x28816
movl 0x17b8(%rsp), %ebp
movq 0x17c0(%rsp), %rdi
leaq 0x17d0(%rsp), %rax
cmpq %rax, %rdi
je 0x550c2
movq 0x17d0(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x570a8
leaq 0x8(%r14), %r15
leaq 0x1778(%rsp), %rdi
movq %r15, %rsi
callq 0x28816
movl 0x1778(%rsp), %ebp
movq 0x1780(%rsp), %rdi
leaq 0x1790(%rsp), %rax
cmpq %rax, %rdi
je 0x5510f
movq 0x1790(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
jne 0x56a74
movl 0xc(%r14), %edx
subl 0x4c(%rbx), %edx
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
callq 0x1279c
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
leaq 0xef8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28816
addq $0x48, %r14
leaq 0x338(%rsp), %rdi
movq %r14, %rsi
callq 0x28816
addq $0x88, %rbx
leaq 0xeb8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28816
movq %r15, %rdi
movl $0x1, %esi
movq %r13, %rdx
leaq 0x338(%rsp), %rcx
movq %r14, %r8
callq 0x256ba
movq 0xec0(%rsp), %rdi
leaq 0xed0(%rsp), %rax
cmpq %rax, %rdi
je 0x551bf
movq 0xed0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x340(%rsp), %rdi
leaq 0x350(%rsp), %rax
cmpq %rax, %rdi
je 0x551e4
movq 0x350(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xf00(%rsp), %rdi
leaq 0xf10(%rsp), %rax
cmpq %rax, %rdi
je 0x56092
movq 0xf10(%rsp), %rsi
jmp 0x5608a
movl (%rbx), %eax
cmpl $0x2, %eax
je 0x55aba
cmpl $0x3, %eax
jne 0x570a8
movq %rsi, (%rsp)
leaq 0x88(%r14), %rsi
leaq 0x878(%rsp), %r15
movq %r15, %rdi
callq 0x28816
leaq 0x8(%rbx), %rsi
leaq 0x1ab8(%rsp), %r12
movq %r12, %rdi
callq 0x28816
movq %r15, %rdi
movq %r12, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x1ac0(%rsp), %rdi
leaq 0x1ad0(%rsp), %rax
cmpq %rax, %rdi
je 0x5527f
movq 0x1ad0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x880(%rsp), %rdi
leaq 0x890(%rsp), %rax
cmpq %rax, %rdi
je 0x552a4
movq 0x890(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x570a8
leaq 0x48(%rbx), %rsi
leaq 0x1578(%rsp), %rdi
callq 0x28816
movl 0x1578(%rsp), %ebp
movq 0x1580(%rsp), %rdi
leaq 0x1590(%rsp), %rax
cmpq %rax, %rdi
je 0x552ee
movq 0x1590(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x570a8
leaq 0x8(%r14), %r15
leaq 0x1538(%rsp), %rdi
movq %r15, %rsi
callq 0x28816
movl 0x1538(%rsp), %ebp
movq 0x1540(%rsp), %rdi
leaq 0x1550(%rsp), %rax
cmpq %rax, %rdi
je 0x5533b
movq 0x1550(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
jne 0x56bae
movl 0xc(%r14), %eax
cltd
idivl 0x4c(%rbx)
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
movl %eax, %edx
callq 0x1279c
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
leaq 0x838(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28816
addq $0x48, %r14
leaq 0xf8(%rsp), %rdi
movq %r14, %rsi
callq 0x28816
addq $0x88, %rbx
leaq 0x7f8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28816
movq %r15, %rdi
movl $0x3, %esi
movq %r13, %rdx
leaq 0xf8(%rsp), %rcx
movq %r14, %r8
callq 0x256ba
movq 0x800(%rsp), %rdi
leaq 0x810(%rsp), %rax
cmpq %rax, %rdi
je 0x553ee
movq 0x810(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x100(%rsp), %rdi
leaq 0x110(%rsp), %rax
cmpq %rax, %rdi
je 0x55413
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x840(%rsp), %rdi
leaq 0x850(%rsp), %rax
cmpq %rax, %rdi
je 0x56092
movq 0x850(%rsp), %rsi
jmp 0x5608a
cmpl $0x6, (%rbx)
jne 0x570a8
movq %rsi, %r13
leaq 0x88(%r14), %rsi
leaq 0x578(%rsp), %r15
movq %r15, %rdi
callq 0x28816
leaq 0x8(%rbx), %rsi
leaq 0x1978(%rsp), %r12
movq %r12, %rdi
callq 0x28816
movq %r15, %rdi
movq %r12, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x1980(%rsp), %rdi
leaq 0x1990(%rsp), %rax
cmpq %rax, %rdi
je 0x554a2
movq 0x1990(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x580(%rsp), %rdi
leaq 0x590(%rsp), %rax
cmpq %rax, %rdi
je 0x554c7
movq 0x590(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq %r13, %rsi
je 0x570a8
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
addq $0x8, %r14
leaq 0x538(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x28816
addq $0x88, %rbx
leaq 0x4f8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28816
movq %r15, %rdi
movl $0xc, %esi
movq %r12, %rdx
movq %r14, %rcx
callq 0x25560
movq 0x500(%rsp), %rdi
leaq 0x510(%rsp), %rax
cmpq %rax, %rdi
je 0x55549
movq 0x510(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x540(%rsp), %rdi
leaq 0x550(%rsp), %rax
cmpq %rax, %rdi
je 0x5556e
movq 0x550(%rsp), %rsi
incq %rsi
callq 0x82a0
movq %r13, %rsi
movq %r15, (%r13)
jmp 0x570a8
movq %rsi, (%rsp)
leaq 0x88(%r14), %rsi
leaq 0xa38(%rsp), %r15
movq %r15, %rdi
callq 0x28816
leaq 0x8(%rbx), %rsi
leaq 0x1b78(%rsp), %r12
movq %r12, %rdi
callq 0x28816
movq %r15, %rdi
movq %r12, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x1b80(%rsp), %rdi
leaq 0x1b90(%rsp), %rax
cmpq %rax, %rdi
je 0x555db
movq 0x1b90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xa40(%rsp), %rdi
leaq 0xa50(%rsp), %rax
cmpq %rax, %rdi
je 0x55600
movq 0xa50(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x570a8
leaq 0x48(%rbx), %r12
leaq 0x9f8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28816
leaq 0x8(%r14), %r15
leaq 0x1b38(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
callq 0x28816
movq %r13, %rdi
movq %rbp, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x1b40(%rsp), %rdi
leaq 0x1b50(%rsp), %rax
cmpq %rax, %rdi
je 0x5566d
movq 0x1b50(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xa00(%rsp), %rdi
leaq 0xa10(%rsp), %rax
cmpq %rax, %rdi
je 0x55692
movq 0xa10(%rsp), %rsi
incq %rsi
callq 0x82a0
addq $0x48, %r14
testb %bpl, %bpl
je 0x565c1
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
leaq 0x9b8(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x28816
addq $0x88, %rbx
leaq 0x978(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28816
movq %r15, %rdi
movl $0xc, %esi
movq %r12, %rdx
movq %r14, %rcx
callq 0x25560
movq 0x980(%rsp), %rdi
leaq 0x990(%rsp), %rax
cmpq %rax, %rdi
je 0x55711
movq 0x990(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x9c0(%rsp), %rdi
leaq 0x9d0(%rsp), %rax
cmpq %rax, %rdi
je 0x565b5
movq 0x9d0(%rsp), %rsi
jmp 0x565ad
movq %rsi, (%rsp)
leaq 0x88(%r14), %r15
leaq 0x12b8(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x28816
leaq 0x8(%rbx), %rsi
leaq 0x1eb8(%rsp), %rbp
movq %rbp, %rdi
callq 0x28816
movq %r12, %rdi
movq %rbp, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x1ec0(%rsp), %rdi
leaq 0x1ed0(%rsp), %rax
cmpq %rax, %rdi
je 0x5579b
movq 0x1ed0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x12c0(%rsp), %rdi
leaq 0x12d0(%rsp), %rax
cmpq %rax, %rdi
je 0x557c0
movq 0x12d0(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
je 0x5609e
leaq 0x11b8(%rsp), %r15
leaq 0x48(%rbx), %r12
leaq 0x1278(%rsp), %rbp
movq %rbp, %rdi
movq %r12, %rsi
callq 0x28816
leaq 0x8(%r14), %rsi
leaq 0x1e78(%rsp), %r13
movq %r13, %rdi
movq %rsi, 0x58(%rsp)
callq 0x28816
movq %rbp, %rdi
movq %r13, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x1e80(%rsp), %rdi
leaq 0x1e90(%rsp), %rax
cmpq %rax, %rdi
je 0x55833
movq 0x1e90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1280(%rsp), %rdi
leaq 0x1290(%rsp), %rax
cmpq %rax, %rdi
je 0x55858
movq 0x1290(%rsp), %rsi
incq %rsi
callq 0x82a0
addq $0x48, %r14
testb %bpl, %bpl
je 0x566e3
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
leaq 0x1238(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x28816
addq $0x88, %rbx
leaq 0x11f8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28816
movq %r15, %rdi
movl $0xc, %esi
movq %r12, %rdx
movq %r14, %rcx
callq 0x25560
movq 0x1200(%rsp), %rdi
leaq 0x1210(%rsp), %rax
cmpq %rax, %rdi
je 0x558d7
movq 0x1210(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1240(%rsp), %rdi
leaq 0x1250(%rsp), %rax
cmpq %rax, %rdi
je 0x565b5
movq 0x1250(%rsp), %rsi
jmp 0x565ad
movq %rsi, (%rsp)
leaq 0x88(%r14), %r12
leaq 0xe38(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28816
leaq 0x8(%rbx), %r15
leaq 0x1cf8(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
callq 0x28816
movq %r13, %rdi
movq %rbp, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x1d00(%rsp), %rdi
leaq 0x1d10(%rsp), %rax
cmpq %rax, %rdi
je 0x55964
movq 0x1d10(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xe40(%rsp), %rdi
leaq 0xe50(%rsp), %rax
cmpq %rax, %rdi
je 0x55989
movq 0xe50(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
je 0x56252
leaq 0x48(%r14), %rsi
leaq 0xdf8(%rsp), %r15
movq %r15, %rdi
callq 0x28816
leaq 0x48(%rbx), %rsi
leaq 0x1cb8(%rsp), %r12
movq %r12, %rdi
callq 0x28816
movq %r15, %rdi
movq %r12, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x1cc0(%rsp), %rdi
leaq 0x1cd0(%rsp), %rax
cmpq %rax, %rdi
je 0x559ec
movq 0x1cd0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xe00(%rsp), %rdi
leaq 0xe10(%rsp), %rax
cmpq %rax, %rdi
je 0x55a11
movq 0xe10(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x570a8
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
addq $0x8, %r14
leaq 0xdb8(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x28816
addq $0x88, %rbx
leaq 0xd78(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28816
movq %r15, %rdi
movl $0xc, %esi
movq %r12, %rdx
movq %r14, %rcx
callq 0x25560
movq 0xd80(%rsp), %rdi
leaq 0xd90(%rsp), %rax
cmpq %rax, %rdi
je 0x55a94
movq 0xd90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xdc0(%rsp), %rdi
leaq 0xdd0(%rsp), %rax
cmpq %rax, %rdi
je 0x565b5
movq 0xdd0(%rsp), %rsi
jmp 0x565ad
movq %rsi, (%rsp)
leaq 0x88(%r14), %r12
leaq 0x778(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28816
leaq 0x8(%rbx), %r15
leaq 0x1a78(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
callq 0x28816
movq %r13, %rdi
movq %rbp, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x1a80(%rsp), %rdi
leaq 0x1a90(%rsp), %rax
cmpq %rax, %rdi
je 0x55b21
movq 0x1a90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x780(%rsp), %rdi
leaq 0x790(%rsp), %rax
cmpq %rax, %rdi
je 0x55b46
movq 0x790(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
je 0x56404
leaq 0x48(%r14), %rsi
leaq 0x738(%rsp), %r15
movq %r15, %rdi
callq 0x28816
leaq 0x48(%rbx), %rsi
leaq 0x1a38(%rsp), %r12
movq %r12, %rdi
callq 0x28816
movq %r15, %rdi
movq %r12, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x1a40(%rsp), %rdi
leaq 0x1a50(%rsp), %rax
cmpq %rax, %rdi
je 0x55ba9
movq 0x1a50(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x740(%rsp), %rdi
leaq 0x750(%rsp), %rax
cmpq %rax, %rdi
je 0x55bce
movq 0x750(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x570a8
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
addq $0x8, %r14
leaq 0x6f8(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x28816
addq $0x88, %rbx
leaq 0x6b8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28816
movq %r15, %rdi
movl $0xc, %esi
movq %r12, %rdx
movq %r14, %rcx
callq 0x25560
movq 0x6c0(%rsp), %rdi
leaq 0x6d0(%rsp), %rax
cmpq %rax, %rdi
je 0x55c51
movq 0x6d0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x700(%rsp), %rdi
leaq 0x710(%rsp), %rax
cmpq %rax, %rdi
je 0x565b5
movq 0x710(%rsp), %rsi
jmp 0x565ad
leaq 0xb38(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28816
leaq 0x48(%rbx), %rsi
leaq 0x1bb8(%rsp), %r12
movq %r12, %rdi
callq 0x28816
movq %r13, %rdi
movq %r12, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x1bc0(%rsp), %rdi
leaq 0x1bd0(%rsp), %rax
cmpq %rax, %rdi
je 0x55cd0
movq 0x1bd0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xb40(%rsp), %rdi
leaq 0xb50(%rsp), %rax
cmpq %rax, %rdi
je 0x55cf5
movq 0xb50(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x570a8
leaq 0x1638(%rsp), %rdi
movq %r15, %rsi
callq 0x28816
movl 0x1638(%rsp), %ebp
movq 0x1640(%rsp), %rdi
leaq 0x1650(%rsp), %rax
cmpq %rax, %rdi
je 0x55d3e
movq 0x1650(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x570a8
leaq 0x8(%r14), %r15
leaq 0x15f8(%rsp), %rdi
movq %r15, %rsi
callq 0x28816
movl 0x15f8(%rsp), %ebp
movq 0x1600(%rsp), %rdi
leaq 0x1610(%rsp), %rax
cmpq %rax, %rdi
je 0x55d8b
movq 0x1610(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
jne 0x56e10
movl 0xc(%r14), %edx
imull 0xc(%rbx), %edx
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
callq 0x1279c
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
leaq 0xaf8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28816
addq $0x48, %r14
leaq 0x1b8(%rsp), %rdi
movq %r14, %rsi
callq 0x28816
addq $0x88, %rbx
leaq 0xab8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28816
movq %r15, %rdi
movl $0x2, %esi
movq %r13, %rdx
leaq 0x1b8(%rsp), %rcx
movq %r14, %r8
callq 0x256ba
movq 0xac0(%rsp), %rdi
leaq 0xad0(%rsp), %rax
cmpq %rax, %rdi
je 0x55e3c
movq 0xad0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1c0(%rsp), %rdi
leaq 0x1d0(%rsp), %rax
cmpq %rax, %rdi
je 0x55e61
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xb00(%rsp), %rdi
leaq 0xb10(%rsp), %rax
cmpq %rax, %rdi
je 0x56092
movq 0xb10(%rsp), %rsi
jmp 0x5608a
leaq 0x13b8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28816
leaq 0x48(%rbx), %rsi
leaq 0x1ef8(%rsp), %r12
movq %r12, %rdi
callq 0x28816
movq %r13, %rdi
movq %r12, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x1f00(%rsp), %rdi
leaq 0x1f10(%rsp), %rax
cmpq %rax, %rdi
je 0x55ee0
movq 0x1f10(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x13c0(%rsp), %rdi
leaq 0x13d0(%rsp), %rax
cmpq %rax, %rdi
je 0x55f05
movq 0x13d0(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x570a8
leaq 0x1878(%rsp), %rdi
movq %r15, %rsi
callq 0x28816
movl 0x1878(%rsp), %ebp
movq 0x1880(%rsp), %rdi
leaq 0x1890(%rsp), %rax
cmpq %rax, %rdi
je 0x55f4e
movq 0x1890(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x570a8
leaq 0x8(%r14), %r15
leaq 0x1838(%rsp), %rdi
movq %r15, %rsi
callq 0x28816
movl 0x1838(%rsp), %ebp
movq 0x1840(%rsp), %rdi
leaq 0x1850(%rsp), %rax
cmpq %rax, %rdi
je 0x55f9b
movq 0x1850(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
jne 0x56f4b
movl 0xc(%r14), %edx
addl 0xc(%rbx), %edx
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
callq 0x1279c
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
leaq 0x1378(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28816
addq $0x48, %r14
leaq 0x3f8(%rsp), %rdi
movq %r14, %rsi
callq 0x28816
addq $0x88, %rbx
leaq 0x1338(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28816
movq %r15, %rdi
xorl %esi, %esi
movq %r13, %rdx
leaq 0x3f8(%rsp), %rcx
movq %r14, %r8
callq 0x256ba
movq 0x1340(%rsp), %rdi
leaq 0x1350(%rsp), %rax
cmpq %rax, %rdi
je 0x56048
movq 0x1350(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x400(%rsp), %rdi
leaq 0x410(%rsp), %rax
cmpq %rax, %rdi
je 0x5606d
movq 0x410(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1380(%rsp), %rdi
leaq 0x1390(%rsp), %rax
cmpq %rax, %rdi
je 0x56092
movq 0x1390(%rsp), %rsi
incq %rsi
callq 0x82a0
movq (%rsp), %rsi
movq %r15, (%rsi)
jmp 0x57088
leaq 0x10f8(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
callq 0x28816
leaq 0x48(%rbx), %r12
leaq 0x1df8(%rsp), %r15
movq %r15, %rdi
movq %r12, %rsi
callq 0x28816
movq %rbp, %rdi
movq %r15, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x1e00(%rsp), %rdi
leaq 0x1e10(%rsp), %rax
cmpq %rax, %rdi
je 0x560fa
movq 0x1e10(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1100(%rsp), %rdi
leaq 0x1110(%rsp), %rax
cmpq %rax, %rdi
je 0x5611f
movq 0x1110(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
leaq 0x10b8(%rsp), %rbp
leaq 0x1db8(%rsp), %r13
movq (%rsp), %rsi
je 0x570a8
movq %rbp, %rdi
movq %r12, %rsi
callq 0x28816
leaq 0x8(%r14), %r15
movq %r13, %rdi
movq %r15, %rsi
callq 0x28816
movq %rbp, %rdi
movq %r13, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x1dc0(%rsp), %rdi
leaq 0x1dd0(%rsp), %rax
cmpq %rax, %rdi
je 0x56188
movq 0x1dd0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x10c0(%rsp), %rdi
leaq 0x10d0(%rsp), %rax
cmpq %rax, %rdi
je 0x561ad
movq 0x10d0(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
je 0x56ce3
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
addq $0x48, %r14
leaq 0x1078(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x28816
addq $0x88, %rbx
leaq 0x1038(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28816
movq %r15, %rdi
movl $0x6, %esi
movq %r12, %rdx
movq %r14, %rcx
callq 0x25560
movq 0x1040(%rsp), %rdi
leaq 0x1050(%rsp), %rax
cmpq %rax, %rdi
je 0x5622c
movq 0x1050(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1080(%rsp), %rdi
leaq 0x1090(%rsp), %rax
cmpq %rax, %rdi
je 0x565b5
movq 0x1090(%rsp), %rsi
jmp 0x565ad
leaq 0xd38(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28816
leaq 0x48(%rbx), %rsi
leaq 0x1c78(%rsp), %r12
movq %r12, %rdi
callq 0x28816
movq %r13, %rdi
movq %r12, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x1c80(%rsp), %rdi
leaq 0x1c90(%rsp), %rax
cmpq %rax, %rdi
je 0x562ab
movq 0x1c90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xd40(%rsp), %rdi
leaq 0xd50(%rsp), %rax
cmpq %rax, %rdi
je 0x562d0
movq 0xd50(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x570a8
leaq 0x48(%r14), %rsi
leaq 0xcf8(%rsp), %r12
movq %r12, %rdi
callq 0x28816
leaq 0x1c38(%rsp), %r13
movq %r13, %rdi
movq %r15, %rsi
callq 0x28816
movq %r12, %rdi
movq %r13, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x1c40(%rsp), %rdi
leaq 0x1c50(%rsp), %rax
cmpq %rax, %rdi
je 0x56336
movq 0x1c50(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xd00(%rsp), %rdi
leaq 0xd10(%rsp), %rax
cmpq %rax, %rdi
je 0x5635b
movq 0xd10(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x570a8
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
addq $0x8, %r14
leaq 0xcb8(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x28816
addq $0x88, %rbx
leaq 0xc78(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28816
movq %r15, %rdi
movl $0xc, %esi
movq %r12, %rdx
movq %r14, %rcx
callq 0x25560
movq 0xc80(%rsp), %rdi
leaq 0xc90(%rsp), %rax
cmpq %rax, %rdi
je 0x563de
movq 0xc90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xcc0(%rsp), %rdi
leaq 0xcd0(%rsp), %rax
cmpq %rax, %rdi
je 0x565b5
movq 0xcd0(%rsp), %rsi
jmp 0x565ad
leaq 0x678(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28816
leaq 0x48(%rbx), %rsi
leaq 0x19f8(%rsp), %r12
movq %r12, %rdi
callq 0x28816
movq %r13, %rdi
movq %r12, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x1a00(%rsp), %rdi
leaq 0x1a10(%rsp), %rax
cmpq %rax, %rdi
je 0x5645d
movq 0x1a10(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x680(%rsp), %rdi
leaq 0x690(%rsp), %rax
cmpq %rax, %rdi
je 0x56482
movq 0x690(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x570a8
leaq 0x48(%r14), %rsi
leaq 0x638(%rsp), %r12
movq %r12, %rdi
callq 0x28816
leaq 0x19b8(%rsp), %r13
movq %r13, %rdi
movq %r15, %rsi
callq 0x28816
movq %r12, %rdi
movq %r13, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x19c0(%rsp), %rdi
leaq 0x19d0(%rsp), %rax
cmpq %rax, %rdi
je 0x564e8
movq 0x19d0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x640(%rsp), %rdi
leaq 0x650(%rsp), %rax
cmpq %rax, %rdi
je 0x5650d
movq 0x650(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x570a8
movl $0xe0, %edi
callq 0x8290
movq %rax, %r15
addq $0x8, %r14
leaq 0x5f8(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x28816
addq $0x88, %rbx
leaq 0x5b8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x28816
movq %r15, %rdi
movl $0xc, %esi
movq %r12, %rdx
movq %r14, %rcx
callq 0x25560
movq 0x5c0(%rsp), %rdi
leaq 0x5d0(%rsp), %rax
cmpq %rax, %rdi
je 0x56590
movq 0x5d0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x600(%rsp), %rdi
leaq 0x610(%rsp), %rax
cmpq %rax, %rdi
je 0x565b5
movq 0x610(%rsp), %rsi
incq %rsi
callq 0x82a0
movq (%rsp), %rsi
movq %r15, (%rsi)
jmp 0x570a8
leaq 0x938(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x28816
leaq 0x1af8(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x28816
movq %r13, %rdi
movq %r12, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x1b00(%rsp), %rdi
leaq 0x1b10(%rsp), %rax
cmpq %rax, %rdi
je 0x56619
movq 0x1b10(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x940(%rsp), %rdi
leaq 0x950(%rsp), %rax
cmpq %rax, %rdi
je 0x5663e
movq 0x950(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x570a8
movl $0xe0, %edi
callq 0x8290
movq %rax, %r14
leaq 0x8f8(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x28816
addq $0x88, %rbx
leaq 0x8b8(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
callq 0x28816
movq %r14, %rdi
movl $0xc, %esi
movq %r12, %rdx
movq %r15, %rcx
callq 0x25560
movq 0x8c0(%rsp), %rdi
leaq 0x8d0(%rsp), %rax
cmpq %rax, %rdi
je 0x566bd
movq 0x8d0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x900(%rsp), %rdi
leaq 0x910(%rsp), %rax
cmpq %rax, %rdi
je 0x56e04
movq 0x910(%rsp), %rsi
jmp 0x56dfc
movq %r15, %rdi
movq %r12, %rsi
callq 0x28816
movq %r15, %r12
leaq 0x1e38(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x28816
movq %r12, %rdi
movq %r15, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x1e40(%rsp), %rdi
leaq 0x1e50(%rsp), %rax
cmpq %rax, %rdi
je 0x56736
movq 0x1e50(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x11c0(%rsp), %rdi
leaq 0x11d0(%rsp), %rax
cmpq %rax, %rdi
je 0x5675b
movq 0x11d0(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x570a8
movl $0xe0, %edi
callq 0x8290
movq %rax, %r14
leaq 0x1178(%rsp), %r15
movq %r15, %rdi
movq 0x58(%rsp), %rsi
callq 0x28816
addq $0x88, %rbx
leaq 0x1138(%rsp), %r12
movq %r12, %rdi
movq %rbx, %rsi
callq 0x28816
movq %r14, %rdi
movl $0xc, %esi
movq %r15, %rdx
movq %r12, %rcx
callq 0x25560
movq 0x1140(%rsp), %rdi
leaq 0x1150(%rsp), %rax
cmpq %rax, %rdi
je 0x567dc
movq 0x1150(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1180(%rsp), %rdi
leaq 0x1190(%rsp), %rax
cmpq %rax, %rdi
je 0x56e04
movq 0x1190(%rsp), %rsi
jmp 0x56dfc
leaq 0x48(%r14), %rsi
leaq 0x1678(%rsp), %rdi
callq 0x28816
movl 0x1678(%rsp), %ebp
movq 0x1680(%rsp), %rdi
leaq 0x1690(%rsp), %rax
cmpq %rax, %rdi
je 0x5683f
movq 0x1690(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x570a8
movl 0x4c(%r14), %edx
imull 0x4c(%rbx), %edx
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
callq 0x1279c
movl $0xe0, %edi
callq 0x8290
movq %rax, %r14
leaq 0x238(%rsp), %rdi
movq %r12, %rsi
callq 0x28816
leaq 0xb78(%rsp), %r12
leaq 0x1f8(%rsp), %rdi
movq %r15, %rsi
callq 0x28816
addq $0x88, %rbx
movq %r12, %rdi
movq %rbx, %rsi
callq 0x28816
movq %r14, %rdi
movl $0x2, %esi
leaq 0x238(%rsp), %rdx
leaq 0x1f8(%rsp), %rcx
movq %r12, %r8
callq 0x256ba
movq 0xb80(%rsp), %rdi
leaq 0xb90(%rsp), %rax
cmpq %rax, %rdi
je 0x568f2
movq 0xb90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x200(%rsp), %rdi
leaq 0x210(%rsp), %rax
cmpq %rax, %rdi
je 0x56917
movq 0x210(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x240(%rsp), %rdi
leaq 0x250(%rsp), %rax
cmpq %rax, %rdi
je 0x57081
movq 0x250(%rsp), %rsi
jmp 0x57079
leaq 0x48(%r14), %rsi
leaq 0x18b8(%rsp), %rdi
callq 0x28816
movl 0x18b8(%rsp), %ebp
movq 0x18c0(%rsp), %rdi
leaq 0x18d0(%rsp), %rax
cmpq %rax, %rdi
je 0x5697a
movq 0x18d0(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x570a8
movl 0x4c(%r14), %edx
addl 0x4c(%rbx), %edx
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
callq 0x1279c
movl $0xe0, %edi
callq 0x8290
movq %rax, %r14
leaq 0x478(%rsp), %rdi
movq %r12, %rsi
callq 0x28816
leaq 0x13f8(%rsp), %r12
leaq 0x438(%rsp), %rdi
movq %r15, %rsi
callq 0x28816
addq $0x88, %rbx
movq %r12, %rdi
movq %rbx, %rsi
callq 0x28816
movq %r14, %rdi
xorl %esi, %esi
leaq 0x478(%rsp), %rdx
leaq 0x438(%rsp), %rcx
movq %r12, %r8
callq 0x256ba
movq 0x1400(%rsp), %rdi
leaq 0x1410(%rsp), %rax
cmpq %rax, %rdi
je 0x56a29
movq 0x1410(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x440(%rsp), %rdi
leaq 0x450(%rsp), %rax
cmpq %rax, %rdi
je 0x56a4e
movq 0x450(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x480(%rsp), %rdi
leaq 0x490(%rsp), %rax
cmpq %rax, %rdi
je 0x57081
movq 0x490(%rsp), %rsi
jmp 0x57079
leaq 0x48(%r14), %rsi
leaq 0x1738(%rsp), %rdi
callq 0x28816
movl 0x1738(%rsp), %ebp
movq 0x1740(%rsp), %rdi
leaq 0x1750(%rsp), %rax
cmpq %rax, %rdi
je 0x56ab1
movq 0x1750(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x570a8
movl 0x4c(%r14), %edx
addl 0x4c(%rbx), %edx
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
callq 0x1279c
movl $0xe0, %edi
callq 0x8290
movq %rax, %r14
leaq 0x2f8(%rsp), %rdi
movq %r15, %rsi
callq 0x28816
leaq 0xe78(%rsp), %r15
leaq 0x2b8(%rsp), %rdi
movq %r12, %rsi
callq 0x28816
addq $0x88, %rbx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x28816
movq %r14, %rdi
movl $0x1, %esi
leaq 0x2f8(%rsp), %rdx
leaq 0x2b8(%rsp), %rcx
movq %r15, %r8
callq 0x256ba
movq 0xe80(%rsp), %rdi
leaq 0xe90(%rsp), %rax
cmpq %rax, %rdi
je 0x56b63
movq 0xe90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x2c0(%rsp), %rdi
leaq 0x2d0(%rsp), %rax
cmpq %rax, %rdi
je 0x56b88
movq 0x2d0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x300(%rsp), %rdi
leaq 0x310(%rsp), %rax
cmpq %rax, %rdi
je 0x57081
movq 0x310(%rsp), %rsi
jmp 0x57079
leaq 0x48(%r14), %rsi
leaq 0x14f8(%rsp), %rdi
callq 0x28816
movl 0x14f8(%rsp), %ebp
movq 0x1500(%rsp), %rdi
leaq 0x1510(%rsp), %rax
cmpq %rax, %rdi
je 0x56beb
movq 0x1510(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x570a8
movl 0x4c(%r14), %edx
imull 0x4c(%rbx), %edx
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
callq 0x1279c
movl $0xe0, %edi
callq 0x8290
movq %rax, %r14
leaq 0xb8(%rsp), %rdi
movq %r15, %rsi
callq 0x28816
leaq 0x7b8(%rsp), %r15
leaq 0x78(%rsp), %rdi
movq %r12, %rsi
callq 0x28816
addq $0x88, %rbx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x28816
movq %r14, %rdi
movl $0x3, %esi
leaq 0xb8(%rsp), %rdx
leaq 0x78(%rsp), %rcx
movq %r15, %r8
callq 0x256ba
movq 0x7c0(%rsp), %rdi
leaq 0x7d0(%rsp), %rax
cmpq %rax, %rdi
je 0x56c98
movq 0x7d0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x56cbd
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
je 0x57081
movq 0xd0(%rsp), %rsi
jmp 0x57079
leaq 0xff8(%rsp), %r14
movq %r14, %rdi
movq %r12, %rsi
callq 0x28816
leaq 0x1d78(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x28816
movq %r14, %rdi
movq %r12, %rsi
callq 0x57f35
movl %eax, %ebp
movq 0x1d80(%rsp), %rdi
leaq 0x1d90(%rsp), %rax
cmpq %rax, %rdi
je 0x56d3b
movq 0x1d90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1000(%rsp), %rdi
leaq 0x1010(%rsp), %rax
cmpq %rax, %rdi
je 0x56d60
movq 0x1010(%rsp), %rsi
incq %rsi
callq 0x82a0
testb %bpl, %bpl
movq (%rsp), %rsi
je 0x570a8
movl $0xe0, %edi
callq 0x8290
movq %rax, %r14
leaq 0xfb8(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x28816
addq $0x88, %rbx
leaq 0xf78(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
callq 0x28816
movq %r14, %rdi
movl $0x6, %esi
movq %r12, %rdx
movq %r15, %rcx
callq 0x25560
movq 0xf80(%rsp), %rdi
leaq 0xf90(%rsp), %rax
cmpq %rax, %rdi
je 0x56ddf
movq 0xf90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xfc0(%rsp), %rdi
leaq 0xfd0(%rsp), %rax
cmpq %rax, %rdi
je 0x56e04
movq 0xfd0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq (%rsp), %rsi
movq %r14, (%rsi)
jmp 0x570a8
leaq 0x48(%r14), %rsi
leaq 0x15b8(%rsp), %rdi
callq 0x28816
movl 0x15b8(%rsp), %ebp
movq 0x15c0(%rsp), %rdi
leaq 0x15d0(%rsp), %rax
cmpq %rax, %rdi
je 0x56e4d
movq 0x15d0(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x570a8
movl 0x4c(%r14), %edx
imull 0xc(%rbx), %edx
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
callq 0x1279c
movl $0xe0, %edi
callq 0x8290
movq %rax, %r14
leaq 0x178(%rsp), %rdi
movq %r12, %rsi
callq 0x28816
leaq 0xa78(%rsp), %r12
leaq 0x138(%rsp), %rdi
movq %r15, %rsi
callq 0x28816
addq $0x88, %rbx
movq %r12, %rdi
movq %rbx, %rsi
callq 0x28816
movq %r14, %rdi
movl $0x2, %esi
leaq 0x178(%rsp), %rdx
leaq 0x138(%rsp), %rcx
movq %r12, %r8
callq 0x256ba
movq 0xa80(%rsp), %rdi
leaq 0xa90(%rsp), %rax
cmpq %rax, %rdi
je 0x56f00
movq 0xa90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
cmpq %rax, %rdi
je 0x56f25
movq 0x150(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x180(%rsp), %rdi
leaq 0x190(%rsp), %rax
cmpq %rax, %rdi
je 0x57081
movq 0x190(%rsp), %rsi
jmp 0x57079
leaq 0x48(%r14), %rsi
leaq 0x17f8(%rsp), %rdi
callq 0x28816
movl 0x17f8(%rsp), %ebp
movq 0x1800(%rsp), %rdi
leaq 0x1810(%rsp), %rax
cmpq %rax, %rdi
je 0x56f88
movq 0x1810(%rsp), %rsi
incq %rsi
callq 0x82a0
cmpl $0x1, %ebp
movq (%rsp), %rsi
jne 0x570a8
movl 0x4c(%r14), %edx
addl 0xc(%rbx), %edx
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
callq 0x1279c
movl $0xe0, %edi
callq 0x8290
movq %rax, %r14
leaq 0x3b8(%rsp), %rdi
movq %r12, %rsi
callq 0x28816
leaq 0x12f8(%rsp), %r12
leaq 0x378(%rsp), %rdi
movq %r15, %rsi
callq 0x28816
addq $0x88, %rbx
movq %r12, %rdi
movq %rbx, %rsi
callq 0x28816
movq %r14, %rdi
xorl %esi, %esi
leaq 0x3b8(%rsp), %rdx
leaq 0x378(%rsp), %rcx
movq %r12, %r8
callq 0x256ba
movq 0x1300(%rsp), %rdi
leaq 0x1310(%rsp), %rax
cmpq %rax, %rdi
je 0x57037
movq 0x1310(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x380(%rsp), %rdi
leaq 0x390(%rsp), %rax
cmpq %rax, %rdi
je 0x5705c
movq 0x390(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x3c0(%rsp), %rdi
leaq 0x3d0(%rsp), %rax
cmpq %rax, %rdi
je 0x57081
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 0x570a8
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x82a0
movq (%rsp), %rsi
movq 0x70(%rsp), %rax
jmp 0x54b4a
movq 0x68(%rsp), %rcx
addq $0x8, %rcx
cmpq 0x60(%rsp), %rcx
jne 0x54b39
movq 0x50(%rsp), %rcx
addq $0x8, %rcx
cmpq 0x48(%rsp), %rcx
jne 0x54b1b
addq $0x1f78, %rsp           # imm = 0x1F78
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x57879
jmp 0x5755a
movq %rax, %rbx
jmp 0x5714d
movq %rax, %rbx
jmp 0x57128
movq %rax, %rbx
movq 0xa80(%rsp), %rdi
leaq 0xa90(%rsp), %rax
cmpq %rax, %rdi
je 0x57128
movq 0xa90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
cmpq %rax, %rdi
je 0x5714d
movq 0x150(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x180(%rsp), %rdi
leaq 0x190(%rsp), %rax
cmpq %rax, %rdi
je 0x5755d
movq 0x190(%rsp), %rsi
jmp 0x57544
jmp 0x57879
jmp 0x5755a
movq %rax, %rbx
jmp 0x571d4
movq %rax, %rbx
jmp 0x571af
movq %rax, %rbx
movq 0x1300(%rsp), %rdi
leaq 0x1310(%rsp), %rax
cmpq %rax, %rdi
je 0x571af
movq 0x1310(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x380(%rsp), %rdi
leaq 0x390(%rsp), %rax
cmpq %rax, %rdi
je 0x571d4
movq 0x390(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x3c0(%rsp), %rdi
leaq 0x3d0(%rsp), %rax
cmpq %rax, %rdi
je 0x5755d
movq 0x3d0(%rsp), %rsi
jmp 0x57544
movq %rax, %rbx
jmp 0x57227
movq %rax, %rbx
movq 0xe80(%rsp), %rdi
leaq 0xe90(%rsp), %rax
cmpq %rax, %rdi
je 0x57227
movq 0xe90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x2c0(%rsp), %rdi
leaq 0x2d0(%rsp), %rax
cmpq %rax, %rdi
je 0x57251
movq 0x2d0(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x57251
movq %rax, %rbx
movq 0x300(%rsp), %rdi
leaq 0x310(%rsp), %rax
cmpq %rax, %rdi
je 0x5755d
movq 0x310(%rsp), %rsi
jmp 0x57544
jmp 0x57879
jmp 0x57879
jmp 0x5755a
jmp 0x57871
movq %rax, %rbx
jmp 0x572fc
movq %rax, %rbx
jmp 0x5736f
jmp 0x57879
movq %rax, %rbx
jmp 0x572d7
movq %rax, %rbx
jmp 0x5734a
jmp 0x5755a
movq %rax, %rbx
movq 0x1400(%rsp), %rdi
leaq 0x1410(%rsp), %rax
cmpq %rax, %rdi
je 0x572d7
movq 0x1410(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x440(%rsp), %rdi
leaq 0x450(%rsp), %rax
cmpq %rax, %rdi
je 0x572fc
movq 0x450(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x480(%rsp), %rdi
leaq 0x490(%rsp), %rax
cmpq %rax, %rdi
je 0x5755d
movq 0x490(%rsp), %rsi
jmp 0x57544
movq %rax, %rbx
movq 0x1340(%rsp), %rdi
leaq 0x1350(%rsp), %rax
cmpq %rax, %rdi
je 0x5734a
movq 0x1350(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x400(%rsp), %rdi
leaq 0x410(%rsp), %rax
cmpq %rax, %rdi
je 0x5736f
movq 0x410(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1380(%rsp), %rdi
leaq 0x1390(%rsp), %rax
cmpq %rax, %rdi
je 0x5799e
movq 0x1390(%rsp), %rsi
jmp 0x57996
movq %rax, %rbx
movq 0xf80(%rsp), %rdi
leaq 0xf90(%rsp), %rax
cmpq %rax, %rdi
je 0x5741b
movq 0xf90(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x5741b
movq %rax, %rbx
jmp 0x573ec
movq %rax, %rbx
movq 0x7c0(%rsp), %rdi
leaq 0x7d0(%rsp), %rax
cmpq %rax, %rdi
je 0x573ec
movq 0x7d0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x57444
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x57444
jmp 0x577b7
movq %rax, %rbx
movq 0xfc0(%rsp), %rdi
leaq 0xfd0(%rsp), %rax
cmpq %rax, %rdi
je 0x577ba
movq 0xfd0(%rsp), %rsi
jmp 0x57759
movq %rax, %rbx
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
je 0x5755d
movq 0xd0(%rsp), %rsi
jmp 0x57544
movq %rax, %rbx
jmp 0x57527
movq %rax, %rbx
jmp 0x574a7
movq %rax, %rbx
jmp 0x57502
movq %rax, %rbx
movq 0xac0(%rsp), %rdi
leaq 0xad0(%rsp), %rax
cmpq %rax, %rdi
je 0x574a7
movq 0xad0(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1c0(%rsp), %rdi
leaq 0x1d0(%rsp), %rax
cmpq %rax, %rdi
je 0x5756d
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x5756d
jmp 0x57879
movq %rax, %rbx
movq 0xb80(%rsp), %rdi
leaq 0xb90(%rsp), %rax
cmpq %rax, %rdi
je 0x57502
movq 0xb90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x200(%rsp), %rdi
leaq 0x210(%rsp), %rax
cmpq %rax, %rdi
je 0x57527
movq 0x210(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x240(%rsp), %rdi
leaq 0x250(%rsp), %rax
cmpq %rax, %rdi
je 0x5755d
movq 0x250(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x5755d
jmp 0x57879
jmp 0x57871
jmp 0x5755a
movq %rax, %rbx
movl $0xe0, %esi
movq %r14, %rdi
jmp 0x579a6
movq %rax, %rbx
movq 0xb00(%rsp), %rdi
leaq 0xb10(%rsp), %rax
cmpq %rax, %rdi
je 0x5799e
movq 0xb10(%rsp), %rsi
jmp 0x57996
jmp 0x57879
movq %rax, %rbx
movq 0x1000(%rsp), %rdi
leaq 0x1010(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0x1010(%rsp), %rsi
jmp 0x57f25
movq %rax, %rbx
movq 0xbc0(%rsp), %rdi
leaq 0xbd0(%rsp), %rax
cmpq %rax, %rdi
je 0x575fb
movq 0xbd0(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x575fb
movq %rax, %rbx
jmp 0x57954
movq %rax, %rbx
jmp 0x57620
movq %rax, %rbx
movq 0x280(%rsp), %rdi
leaq 0x290(%rsp), %rax
cmpq %rax, %rdi
je 0x57620
movq 0x290(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xc00(%rsp), %rdi
leaq 0xc10(%rsp), %rax
cmpq %rax, %rdi
je 0x5799e
movq 0xc10(%rsp), %rsi
jmp 0x57996
movq %rax, %rbx
jmp 0x57979
jmp 0x57871
jmp 0x57879
jmp 0x57871
jmp 0x57879
movq %rax, %rbx
movq 0x5c0(%rsp), %rdi
leaq 0x5d0(%rsp), %rax
cmpq %rax, %rdi
je 0x576df
movq 0x5d0(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x576df
movq %rax, %rbx
movq 0x8c0(%rsp), %rdi
leaq 0x8d0(%rsp), %rax
cmpq %rax, %rdi
je 0x576b9
movq 0x8d0(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x576b9
movq %rax, %rbx
movq 0x900(%rsp), %rdi
leaq 0x910(%rsp), %rax
cmpq %rax, %rdi
je 0x577ba
movq 0x910(%rsp), %rsi
jmp 0x57759
movq %rax, %rbx
movq 0x600(%rsp), %rdi
leaq 0x610(%rsp), %rax
cmpq %rax, %rdi
je 0x57dc5
movq 0x610(%rsp), %rsi
jmp 0x57db8
jmp 0x57dc2
jmp 0x577b7
movq %rax, %rbx
movq 0x1140(%rsp), %rdi
leaq 0x1150(%rsp), %rax
cmpq %rax, %rdi
je 0x5773c
movq 0x1150(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x5773c
movq %rax, %rbx
movq 0x1180(%rsp), %rdi
leaq 0x1190(%rsp), %rax
cmpq %rax, %rdi
je 0x577ba
movq 0x1190(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x577ba
movq %rax, %rbx
movq 0xec0(%rsp), %rdi
leaq 0xed0(%rsp), %rax
cmpq %rax, %rdi
je 0x57790
movq 0xed0(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x57790
movq %rax, %rbx
movq 0x340(%rsp), %rdi
leaq 0x350(%rsp), %rax
cmpq %rax, %rdi
je 0x577f4
movq 0x350(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x577f4
movq %rax, %rbx
movl $0xe0, %esi
movq %r14, %rdi
jmp 0x57f28
movq %rax, %rbx
movq 0x1440(%rsp), %rdi
leaq 0x1450(%rsp), %rax
cmpq %rax, %rdi
je 0x5781f
movq 0x1450(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x5781f
movq %rax, %rbx
movq 0xf00(%rsp), %rdi
leaq 0xf10(%rsp), %rax
cmpq %rax, %rdi
je 0x5799e
movq 0xf10(%rsp), %rsi
jmp 0x57996
jmp 0x57871
movq %rax, %rbx
movq 0x4c0(%rsp), %rdi
leaq 0x4d0(%rsp), %rax
cmpq %rax, %rdi
je 0x5784b
movq 0x4d0(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x5784b
jmp 0x57879
movq %rax, %rbx
movq 0x1480(%rsp), %rdi
leaq 0x1490(%rsp), %rax
cmpq %rax, %rdi
je 0x5799e
movq 0x1490(%rsp), %rsi
jmp 0x57996
movq %rax, %rbx
jmp 0x5799e
movq %rax, %rbx
jmp 0x579ab
movq %rax, %rbx
jmp 0x578b8
movq %rax, %rbx
jmp 0x57906
jmp 0x57dc2
movq %rax, %rbx
movq 0x1040(%rsp), %rdi
leaq 0x1050(%rsp), %rax
cmpq %rax, %rdi
je 0x578b8
movq 0x1050(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x1080(%rsp), %rdi
leaq 0x1090(%rsp), %rax
cmpq %rax, %rdi
je 0x57dc5
movq 0x1090(%rsp), %rsi
jmp 0x57db8
movq %rax, %rbx
movq 0xc80(%rsp), %rdi
leaq 0xc90(%rsp), %rax
cmpq %rax, %rdi
je 0x57906
movq 0xc90(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0xcc0(%rsp), %rdi
leaq 0xcd0(%rsp), %rax
cmpq %rax, %rdi
je 0x57dc5
movq 0xcd0(%rsp), %rsi
jmp 0x57db8
movq %rax, %rbx
movq 0x800(%rsp), %rdi
leaq 0x810(%rsp), %rax
cmpq %rax, %rdi
je 0x57954
movq 0x810(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x100(%rsp), %rdi
leaq 0x110(%rsp), %rax
cmpq %rax, %rdi
je 0x57979
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x840(%rsp), %rdi
leaq 0x850(%rsp), %rax
cmpq %rax, %rdi
je 0x5799e
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 0x57f2d
movq 0x20(%rsp), %rsi
jmp 0x57f25
jmp 0x57dc2
movq %rax, %rbx
jmp 0x57bd2
movq %rax, %rbx
movq 0x1200(%rsp), %rdi
leaq 0x1210(%rsp), %rax
cmpq %rax, %rdi
je 0x57a07
movq 0x1210(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x57a07
jmp 0x57dc2
movq %rax, %rbx
movq 0x1240(%rsp), %rdi
leaq 0x1250(%rsp), %rax
cmpq %rax, %rdi
je 0x57dc5
movq 0x1250(%rsp), %rsi
jmp 0x57db8
movq %rax, %rbx
movq 0x640(%rsp), %rdi
leaq 0x650(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0x650(%rsp), %rsi
jmp 0x57f25
movq %rax, %rbx
movq 0x6c0(%rsp), %rdi
leaq 0x6d0(%rsp), %rax
cmpq %rax, %rdi
je 0x57a88
movq 0x6d0(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x57a88
jmp 0x57dc2
movq %rax, %rbx
movq 0x700(%rsp), %rdi
leaq 0x710(%rsp), %rax
cmpq %rax, %rdi
je 0x57dc5
movq 0x710(%rsp), %rsi
jmp 0x57db8
movq %rax, %rbx
movq 0xd00(%rsp), %rdi
leaq 0xd10(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0xd10(%rsp), %rsi
jmp 0x57f25
movq %rax, %rbx
movq 0xd80(%rsp), %rdi
leaq 0xd90(%rsp), %rax
cmpq %rax, %rdi
je 0x57b5b
movq 0xd90(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x57b5b
movq %rax, %rbx
movq 0x940(%rsp), %rdi
leaq 0x950(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0x950(%rsp), %rsi
jmp 0x57f25
jmp 0x57dc2
movq %rax, %rbx
movq 0x10c0(%rsp), %rdi
leaq 0x10d0(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0x10d0(%rsp), %rsi
jmp 0x57f25
movq %rax, %rbx
movq 0xdc0(%rsp), %rdi
leaq 0xdd0(%rsp), %rax
cmpq %rax, %rdi
je 0x57dc5
movq 0xdd0(%rsp), %rsi
jmp 0x57db8
movq %rax, %rbx
movq 0x11c0(%rsp), %rdi
leaq 0x11d0(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0x11d0(%rsp), %rsi
jmp 0x57f25
movq %rax, %rbx
movq 0x980(%rsp), %rdi
leaq 0x990(%rsp), %rax
cmpq %rax, %rdi
je 0x57bd2
movq 0x990(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x9c0(%rsp), %rdi
leaq 0x9d0(%rsp), %rax
cmpq %rax, %rdi
je 0x57dc5
movq 0x9d0(%rsp), %rsi
jmp 0x57db8
jmp 0x57dc2
movq %rax, %rbx
movq 0x13c0(%rsp), %rdi
leaq 0x13d0(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0x13d0(%rsp), %rsi
jmp 0x57f25
movq %rax, %rbx
movq 0xa00(%rsp), %rdi
leaq 0xa10(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0xa10(%rsp), %rsi
jmp 0x57f25
movq %rax, %rbx
movq 0xd40(%rsp), %rdi
leaq 0xd50(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0xd50(%rsp), %rsi
jmp 0x57f25
movq %rax, %rbx
movq 0x1100(%rsp), %rdi
leaq 0x1110(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0x1110(%rsp), %rsi
jmp 0x57f25
movq %rax, %rbx
movq 0x740(%rsp), %rdi
leaq 0x750(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0x750(%rsp), %rsi
jmp 0x57f25
movq %rax, %rbx
movq 0x1280(%rsp), %rdi
leaq 0x1290(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0x1290(%rsp), %rsi
jmp 0x57f25
movq %rax, %rbx
movq 0xb40(%rsp), %rdi
leaq 0xb50(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0xb50(%rsp), %rsi
jmp 0x57f25
movq %rax, %rbx
movq 0xe00(%rsp), %rdi
leaq 0xe10(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0xe10(%rsp), %rsi
jmp 0x57f25
movq %rax, %rbx
movq 0x680(%rsp), %rdi
leaq 0x690(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0x690(%rsp), %rsi
jmp 0x57f25
movq %rax, %rbx
movq 0x500(%rsp), %rdi
leaq 0x510(%rsp), %rax
cmpq %rax, %rdi
je 0x57d9b
movq 0x510(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x57d9b
movq %rax, %rbx
movq 0x540(%rsp), %rdi
leaq 0x550(%rsp), %rax
cmpq %rax, %rdi
je 0x57dc5
movq 0x550(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x57dc5
movq %rax, %rbx
movl $0xe0, %esi
movq %r15, %rdi
jmp 0x57f28
movq %rax, %rbx
movq 0x12c0(%rsp), %rdi
leaq 0x12d0(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0x12d0(%rsp), %rsi
jmp 0x57f25
movq %rax, %rbx
movq 0x14c0(%rsp), %rdi
leaq 0x14d0(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0x14d0(%rsp), %rsi
jmp 0x57f25
movq %rax, %rbx
movq 0xf40(%rsp), %rdi
leaq 0xf50(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0xf50(%rsp), %rsi
jmp 0x57f25
movq %rax, %rbx
movq 0xe40(%rsp), %rdi
leaq 0xe50(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0xe50(%rsp), %rsi
jmp 0x57f25
movq %rax, %rbx
movq 0xa40(%rsp), %rdi
leaq 0xa50(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0xa50(%rsp), %rsi
jmp 0x57f25
movq %rax, %rbx
movq 0xc40(%rsp), %rdi
leaq 0xc50(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0xc50(%rsp), %rsi
jmp 0x57f25
movq %rax, %rbx
movq 0x880(%rsp), %rdi
leaq 0x890(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0x890(%rsp), %rsi
jmp 0x57f25
movq %rax, %rbx
movq 0x780(%rsp), %rdi
leaq 0x790(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0x790(%rsp), %rsi
jmp 0x57f25
movq %rax, %rbx
movq 0x580(%rsp), %rdi
leaq 0x590(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2d
movq 0x590(%rsp), %rsi
incq %rsi
callq 0x82a0
movq %rbx, %rdi
callq 0x8540