// File: /workspace/github_cpp_makefile_star2_O3/luooofan[P]hblzbd_compiler/src/Pass/reach_define.cpp
// Function: ReachDefine::GetGenKill(ir::IR*, IRFunction*)
std::pair<std::unordered_set<ir::IR *>, std::unordered_set<ir::IR *>> ReachDefine::GetGenKill(ir::IR *ir,
                                                                                              IRFunction *func) {
  std::unordered_set<ir::IR *> gen;
  std::unordered_set<ir::IR *> kill;

  if (ir->res_.scope_id_ == 0) return {gen, kill};

  if (ir::IR::OpKind::ADD == ir->op_ || ir::IR::OpKind::SUB == ir->op_ || ir::IR::OpKind::MUL == ir->op_ ||
      ir::IR::OpKind::DIV == ir->op_ || ir::IR::OpKind::MOD == ir->op_) {
    gen.insert(ir);

    std::string res_str = ir->res_.name_ + "_#" + std::to_string(ir->res_.scope_id_);
    for (auto m : func->def_pre_var_[res_str]) {
      if (ir != m) {
        kill.insert(m);
      }
    }
  } else if (ir::IR::OpKind::NOT == ir->op_ || ir::IR::OpKind::NEG == ir->op_) {
    gen.insert(ir);

    std::string res_str = ir->res_.name_ + "_#" + std::to_string(ir->res_.scope_id_);

    for (auto m : func->def_pre_var_[res_str]) {
      if (ir != m) {
        kill.insert(m);
      }
    }
  } else if (ir::IR::OpKind::LABEL == ir->op_) {
    return {gen, kill};
  } else if (ir::IR::OpKind::PARAM == ir->op_) {
    return {gen, kill};
  } else if (ir::IR::OpKind::CALL == ir->op_) {
    return {gen, kill};
  } else if (ir::IR::OpKind::RET == ir->op_) {
    return {gen, kill};
  } else if (ir::IR::OpKind::GOTO == ir->op_) {
    return {gen, kill};
  } else if (ir::IR::OpKind::ASSIGN == ir->op_) {
    gen.insert(ir);
    std::string res_str = ir->res_.name_ + "_#" + std::to_string(ir->res_.scope_id_);

    for (auto m : func->def_pre_var_[res_str]) {
      if (ir != m) {
        kill.insert(m);
      }
    }
  } else if (ir::IR::OpKind::JEQ == ir->op_ || ir::IR::OpKind::JNE == ir->op_ || ir::IR::OpKind::JLT == ir->op_ ||
             ir::IR::OpKind::JLE == ir->op_ || ir::IR::OpKind::JGT == ir->op_ || ir::IR::OpKind::JGE == ir->op_) {
    return {gen, kill};
  } else if (ir::IR::OpKind::VOID == ir->op_) {
    return {gen, kill};
  } else if (ir::IR::OpKind::ASSIGN_OFFSET == ir->op_) {
    gen.insert(ir);
    std::string res_str = ir->res_.name_ + "_#" + std::to_string(ir->res_.scope_id_);

    for (auto m : func->def_pre_var_[res_str]) {
      if (ir != m) {
        kill.insert(m);
      }
    }
  } else if (ir::IR::OpKind::PHI == ir->op_) {
    printf("我就不信我这个pass会有PHI\n");
  } else if (ir::IR::OpKind::ALLOCA == ir->op_) {
    return {gen, kill};
  } else if (ir::IR::OpKind::DECLARE == ir->op_) {
    return {gen, kill};
  } else {
    MyAssert(0);
  }

  return {gen, kill};
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xd8, %rsp
movq %rcx, %r14
movq %rdi, %rbx
movq %rdx, 0x20(%rsp)
leaq 0xd0(%rsp), %rax
movq %rax, -0x30(%rax)
movl $0x1, %ecx
movq %rcx, -0x28(%rax)
xorps %xmm0, %xmm0
movups %xmm0, -0x20(%rax)
movl $0x3f800000, %esi       # imm = 0x3F800000
movl %esi, -0x10(%rax)
movups %xmm0, -0x8(%rax)
leaq 0x98(%rsp), %rax
movq %rax, -0x30(%rax)
movq %rcx, -0x28(%rax)
movups %xmm0, -0x20(%rax)
movl %esi, -0x10(%rax)
movups %xmm0, -0x8(%rax)
cmpl $0x0, 0xb0(%rdx)
je 0x6a800
movl (%rdx), %eax
cmpq $0x17, %rax
ja 0x6a841
leaq 0x7c23(%rip), %rcx      # 0x71b50
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xa0(%rsp), %rdi
leaq 0x28(%rsp), %rdx
movq %rdi, (%rdx)
leaq 0x20(%rsp), %rsi
callq 0x6b06c
movq 0x20(%rsp), %rax
leaq 0x10(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq 0x90(%rax), %rsi
movq 0x98(%rax), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0xc6dc
leaq 0x7aed(%rip), %rsi      # 0x71a6b
movq %rsp, %rdi
callq 0x8590
movq 0x20(%rsp), %rax
movl 0xb0(%rax), %r15d
movl %r15d, %ebp
negl %ebp
cmovsl %r15d, %ebp
movl $0x1, %r12d
cmpl $0xa, %ebp
jb 0x6a25c
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x6a253
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x6a259
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x6a25c
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x69fb7
addl $-0x3, %r12d
jmp 0x6a25c
leaq 0xa0(%rsp), %rdi
leaq 0x28(%rsp), %rdx
movq %rdi, (%rdx)
leaq 0x20(%rsp), %rsi
callq 0x6b06c
movq 0x20(%rsp), %rax
leaq 0x10(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq 0x90(%rax), %rsi
movq 0x98(%rax), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0xc6dc
leaq 0x7a2a(%rip), %rsi      # 0x71a6b
movq %rsp, %rdi
callq 0x8590
movq 0x20(%rsp), %rax
movl 0xb0(%rax), %r15d
movl %r15d, %ebp
negl %ebp
cmovsl %r15d, %ebp
movl $0x1, %r12d
cmpl $0xa, %ebp
jb 0x6a3c2
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x6a3b9
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x6a3bf
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x6a3c2
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x6a07a
addl $-0x3, %r12d
jmp 0x6a3c2
leaq 0xa0(%rsp), %rdi
leaq 0x28(%rsp), %rdx
movq %rdi, (%rdx)
leaq 0x20(%rsp), %rsi
callq 0x6b06c
movq 0x20(%rsp), %rax
leaq 0x10(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq 0x90(%rax), %rsi
movq 0x98(%rax), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0xc6dc
leaq 0x7967(%rip), %rsi      # 0x71a6b
movq %rsp, %rdi
callq 0x8590
movq 0x20(%rsp), %rax
movl 0xb0(%rax), %r15d
movl %r15d, %ebp
negl %ebp
cmovsl %r15d, %ebp
movl $0x1, %r12d
cmpl $0xa, %ebp
jb 0x6a531
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x6a51f
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x6a52e
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x6a531
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x6a13d
addl $-0x3, %r12d
jmp 0x6a531
leaq 0xa0(%rsp), %rdi
leaq 0x28(%rsp), %rdx
movq %rdi, (%rdx)
leaq 0x20(%rsp), %rsi
callq 0x6b06c
movq 0x20(%rsp), %rax
leaq 0x10(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq 0x90(%rax), %rsi
movq 0x98(%rax), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0xc6dc
leaq 0x78a4(%rip), %rsi      # 0x71a6b
movq %rsp, %rdi
callq 0x8590
movq 0x20(%rsp), %rax
movl 0xb0(%rax), %r15d
movl %r15d, %ebp
negl %ebp
cmovsl %r15d, %ebp
movl $0x1, %r12d
cmpl $0xa, %ebp
jb 0x6a691
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x6a525
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x6a68e
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x6a691
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x6a200
addl $-0x3, %r12d
jmp 0x6a691
leaq 0x79e6(%rip), %rdi      # 0x71c2f
callq 0x8480
jmp 0x6a800
addl $-0x2, %r12d
jmp 0x6a25c
decl %r12d
shrl $0x1f, %r15d
leal (%r12,%r15), %esi
leaq 0x58(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x48(%rsp), %rdi
movl $0x2d, %edx
callq 0x8350
addq 0x48(%rsp), %r15
movq %r15, %rdi
movl %r12d, %esi
movl %ebp, %edx
callq 0xc35d
movq (%rsp), %rcx
movq 0x8(%rsp), %r8
movq 0x50(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %edi
leaq 0x10(%rsp), %r15
cmpq %r15, %rcx
je 0x6a2b4
movq 0x10(%rsp), %rdi
movq 0x48(%rsp), %rsi
cmpq %rdi, %rax
jbe 0x6a2d2
movl $0xf, %edi
cmpq %r13, %rsi
je 0x6a2cd
movq 0x58(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x6a2dc
movq %rsp, %rdi
callq 0x8120
jmp 0x6a2ea
leaq 0x48(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x8310
leaq 0x38(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0x6a30e
movq %rsi, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x6a314
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x6a348
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x82a0
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x6a35e
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x82a0
addq $0x60, %r14
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x6b6a8
movq 0x10(%rax), %r13
testq %r13, %r13
je 0x6a7e5
leaq 0x68(%rsp), %r14
leaq 0x48(%rsp), %r15
movq %rsp, %r12
movq 0x8(%r13), %rax
movq %rax, 0x48(%rsp)
cmpq %rax, 0x20(%rsp)
je 0x6a3ab
movq %r14, (%rsp)
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x6b06c
movq (%r13), %r13
testq %r13, %r13
jne 0x6a389
jmp 0x6a7e5
addl $-0x2, %r12d
jmp 0x6a3c2
decl %r12d
shrl $0x1f, %r15d
leal (%r12,%r15), %esi
leaq 0x58(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x48(%rsp), %rdi
movl $0x2d, %edx
callq 0x8350
addq 0x48(%rsp), %r15
movq %r15, %rdi
movl %r12d, %esi
movl %ebp, %edx
callq 0xc35d
movq (%rsp), %rcx
movq 0x8(%rsp), %r8
movq 0x50(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %edi
leaq 0x10(%rsp), %r15
cmpq %r15, %rcx
je 0x6a41a
movq 0x10(%rsp), %rdi
movq 0x48(%rsp), %rsi
cmpq %rdi, %rax
jbe 0x6a438
movl $0xf, %edi
cmpq %r13, %rsi
je 0x6a433
movq 0x58(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x6a442
movq %rsp, %rdi
callq 0x8120
jmp 0x6a450
leaq 0x48(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x8310
leaq 0x38(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0x6a474
movq %rsi, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x6a47a
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x6a4ae
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x82a0
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x6a4c4
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x82a0
addq $0x60, %r14
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x6b6a8
movq 0x10(%rax), %r13
testq %r13, %r13
je 0x6a7e5
leaq 0x68(%rsp), %r14
leaq 0x48(%rsp), %r15
movq %rsp, %r12
movq 0x8(%r13), %rax
movq %rax, 0x48(%rsp)
cmpq %rax, 0x20(%rsp)
je 0x6a511
movq %r14, (%rsp)
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x6b06c
movq (%r13), %r13
testq %r13, %r13
jne 0x6a4ef
jmp 0x6a7e5
addl $-0x2, %r12d
jmp 0x6a531
addl $-0x2, %r12d
jmp 0x6a691
decl %r12d
shrl $0x1f, %r15d
leal (%r12,%r15), %esi
leaq 0x58(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x48(%rsp), %rdi
movl $0x2d, %edx
callq 0x8350
addq 0x48(%rsp), %r15
movq %r15, %rdi
movl %r12d, %esi
movl %ebp, %edx
callq 0xc35d
movq (%rsp), %rcx
movq 0x8(%rsp), %r8
movq 0x50(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %edi
leaq 0x10(%rsp), %r15
cmpq %r15, %rcx
je 0x6a589
movq 0x10(%rsp), %rdi
movq 0x48(%rsp), %rsi
cmpq %rdi, %rax
jbe 0x6a5a7
movl $0xf, %edi
cmpq %r13, %rsi
je 0x6a5a2
movq 0x58(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x6a5b1
movq %rsp, %rdi
callq 0x8120
jmp 0x6a5bf
leaq 0x48(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x8310
leaq 0x38(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0x6a5e3
movq %rsi, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x6a5e9
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x6a61d
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x82a0
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x6a633
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x82a0
addq $0x60, %r14
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x6b6a8
movq 0x10(%rax), %r13
testq %r13, %r13
je 0x6a7e5
leaq 0x68(%rsp), %r14
leaq 0x48(%rsp), %r15
movq %rsp, %r12
movq 0x8(%r13), %rax
movq %rax, 0x48(%rsp)
cmpq %rax, 0x20(%rsp)
je 0x6a680
movq %r14, (%rsp)
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x6b06c
movq (%r13), %r13
testq %r13, %r13
jne 0x6a65e
jmp 0x6a7e5
decl %r12d
shrl $0x1f, %r15d
leal (%r12,%r15), %esi
leaq 0x58(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x48(%rsp), %rdi
movl $0x2d, %edx
callq 0x8350
addq 0x48(%rsp), %r15
movq %r15, %rdi
movl %r12d, %esi
movl %ebp, %edx
callq 0xc35d
movq (%rsp), %rcx
movq 0x8(%rsp), %r8
movq 0x50(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %edi
leaq 0x10(%rsp), %r15
cmpq %r15, %rcx
je 0x6a6e9
movq 0x10(%rsp), %rdi
movq 0x48(%rsp), %rsi
cmpq %rdi, %rax
jbe 0x6a707
movl $0xf, %edi
cmpq %r13, %rsi
je 0x6a702
movq 0x58(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x6a711
movq %rsp, %rdi
callq 0x8120
jmp 0x6a71f
leaq 0x48(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x8310
leaq 0x38(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0x6a743
movq %rsi, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x6a749
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x6a77d
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x82a0
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x6a793
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x82a0
addq $0x60, %r14
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x6b6a8
movq 0x10(%rax), %r13
testq %r13, %r13
je 0x6a7e5
leaq 0x68(%rsp), %r14
leaq 0x48(%rsp), %r15
movq %rsp, %r12
movq 0x8(%r13), %rax
movq %rax, 0x48(%rsp)
cmpq %rax, 0x20(%rsp)
je 0x6a7dc
movq %r14, (%rsp)
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x6b06c
movq (%r13), %r13
testq %r13, %r13
jne 0x6a7ba
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6a800
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x82a0
leaq 0xa0(%rsp), %rsi
leaq 0x68(%rsp), %rdx
movq %rbx, %rdi
callq 0x6aa66
leaq 0x68(%rsp), %rdi
callq 0x2c012
leaq 0xa0(%rsp), %rdi
callq 0x2c012
movq %rbx, %rax
addq $0xd8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x247a0(%rip), %rdi     # 0x8efe8
leaq 0x3919(%rip), %rsi      # 0x6e168
movl $0x8, %edx
callq 0x8330
movq 0x24788(%rip), %rdi     # 0x8efe8
leaq 0x73ae(%rip), %rsi      # 0x71c15
movl $0x19, %edx
callq 0x8330
movq 0x24770(%rip), %rdi     # 0x8efe8
leaq 0x4b41(%rip), %rsi      # 0x6f3c0
movl $0x1, %edx
callq 0x8330
movq 0x24758(%rip), %rdi     # 0x8efe8
movl $0x15e, %esi            # imm = 0x15E
callq 0x8520
movq %rax, %rdi
callq 0x8180
movl $0xff, %edi
callq 0x8380
jmp 0x6a90f
jmp 0x6a90f
jmp 0x6a8cc
jmp 0x6a8cc
jmp 0x6a8ea
jmp 0x6a8ea
jmp 0x6a8ea
jmp 0x6a8ea
jmp 0x6a90a
jmp 0x6a90a
jmp 0x6a90f
jmp 0x6a8cc
jmp 0x6a8ea
jmp 0x6a8ea
jmp 0x6a90a
jmp 0x6a90f
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x6a8ed
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x6a8ed
jmp 0x6a8ea
movq %rax, %rbx
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x6a92d
movq 0x10(%rsp), %rsi
jmp 0x6a925
jmp 0x6a90a
jmp 0x6a90f
jmp 0x6a90f
jmp 0x6a90f
movq %rax, %rbx
jmp 0x6a92d
movq %rax, %rbx
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6a92d
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x82a0
leaq 0x68(%rsp), %rdi
callq 0x2c012
leaq 0xa0(%rsp), %rdi
callq 0x2c012
movq %rbx, %rdi
callq 0x8540