// File: /workspace/github_cpp_makefile_star2_O1/sighingnow[P]compile-pascal/pl0_tac_gen.cpp
// Function: pl0_tac_for_stmt(pl0_ast_for_stmt const*)
void pl0_tac_for_stmt(pl0_ast_for_stmt const *stmt) {
    cout << __func__;
    // code structure: compare -> execute -> compare again
    int beginlabel = irb.makelabel(), frontlabel = irb.makelabel();
    int innerlabel = irb.makelabel();
    int endlabel = irb.makelabel(), taillabel = irb.makelabel();
    pair<Value *, string> s = pl0_tac_expr(stmt->initial);
    pair<Value *, string> t = pl0_tac_expr(stmt->end);
    
    // validate loop iterator.
    variable var;
    if (vartb.find(stmt->iter->id, true, var) == false) {
        pl0_ast_error(stmt->iter->loc, string("undeclared identifier ") + "\"" + stmt->iter->id + "\"");
    }
    if (s.second != "integer" && s.second != "char") {
        pl0_ast_error(stmt->initial->loc, "use array as initial value in for loop");
    }

////////////////////////////////////////////////////////////////////////////////////
    irb.emit("cmp", new Value(frontlabel, "integer"), s.first, t.first);
    if (stmt->step->val == 1) {
        irb.emit("goto", new Value("jg", "string"), new Value(taillabel, "integer"));
    }
    else {
        irb.emit("goto", new Value("jl", "string"), new Value(taillabel, "integer"));
    }
    irb.emitlabel(frontlabel);
/////////////////////////////////////////////////////////////////////////////////////

    Value *end;
    if (t.first->t == Value::TYPE::STR && t.first->sv[0] == '~') {
        end = new Value("~" + t.first->sv, t.second);
        irb.emit("def", end, new Value(t.second, "string"), new Value(-1, "integer"));
        irb.emit("=", end, t.first);
    }
    else {
        end = t.first;
    }

    irb.emit("=", new Value(stmt->iter->id, var.dt), s.first);
    irb.emit("goto", new Value("jmp", "string"), new Value(beginlabel, "integer"));
    irb.emitlabel(beginlabel);
    if (t.second != "integer" && t.second != "char") {
        pl0_ast_error(stmt->end->loc, "use array as end value in for loop");
    }
    // add end value to symbol table.
    
    irb.emit("cmp", new Value(innerlabel, "integer"), new Value(stmt->iter->id, var.dt), end);
    if (stmt->step->val == 1) {
        irb.emit("goto", new Value("jg", "string"), new Value(endlabel, "integer"));
    }
    else {
        irb.emit("goto", new Value("jl", "string"), new Value(endlabel, "integer"));
    }
    irb.emitlabel(innerlabel); // label for inner executable block.
    pl0_tac_stmt(stmt->stmt);
    irb.emit("+", new Value(stmt->iter->id, var.dt), new Value(stmt->iter->id, var.dt), new Value(stmt->step->val, "integer"));
    irb.emit("goto", new Value("jmp", "string"), new Value(beginlabel, "integer"));
    irb.emitlabel(endlabel);
    irb.emit("=", new Value(stmt->iter->id, var.dt), t.first);
    irb.emit("goto", new Value("jmp", "string"), new Value(taillabel, "integer"));
    irb.emitlabel(taillabel);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x848, %rsp            # imm = 0x848
movq %rdi, %r14
movq 0x4ad19(%rip), %rdi     # 0xbffd8
leaq 0x24249(%rip), %rsi     # 0x9950f
xorl %edx, %edx
callq 0x52e0
leaq 0x4c2d4(%rip), %rbx     # 0xc15a8
movq %rbx, %rdi
callq 0x69188
movl %eax, 0x24(%rsp)
movq %rbx, %rdi
callq 0x69188
movl %eax, %r13d
movq %rbx, %rdi
callq 0x69188
movl %eax, 0x28(%rsp)
movq %rbx, %rdi
callq 0x69188
movl %eax, 0x20(%rsp)
movq %rbx, %rdi
callq 0x69188
movl %eax, 0x14(%rsp)
movq 0x20(%r14), %rsi
leaq 0x718(%rsp), %rdi
callq 0x77914
movq %r14, 0x8(%rsp)
movq 0x28(%r14), %rsi
leaq 0x30(%rsp), %rdi
callq 0x77914
leaq 0x7e0(%rsp), %rdi
callq 0x7c24c
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rsi
addq $0x8, %rsi
leaq 0x4c29c(%rip), %rdi     # 0xc15f0
leaq 0x7e0(%rsp), %rcx
movl $0x1, %edx
callq 0x7c7b8
testb %al, %al
jne 0x7555e
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
movq (%rax), %rbx
leaq 0x708(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x236ad(%rip), %rsi     # 0x98a3a
leaq 0x236bc(%rip), %rdx     # 0x98a50
leaq 0x6f8(%rsp), %rdi
callq 0x2670a
leaq 0x23c4b(%rip), %rsi     # 0x98ff3
leaq 0x6f8(%rsp), %rdi
callq 0x5420
leaq 0x248(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x753e6
movq %rdx, 0x238(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x248(%rsp)
jmp 0x753ee
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x238(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rdx
callq 0x50d0
leaq 0x268(%rsp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x75453
movq %rdx, 0x258(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x268(%rsp)
jmp 0x7545a
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movl %r13d, %ebp
movq 0x8(%rax), %rdx
leaq 0x258(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x23b70(%rip), %rsi     # 0x98ff3
callq 0x5420
leaq 0x288(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x754b8
movq %rdx, 0x278(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x288(%rsp)
jmp 0x754c0
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
leaq 0x278(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, %rdi
callq 0x6be78
movq 0x278(%rsp), %rdi
cmpq %r13, %rdi
je 0x75504
movq 0x288(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x258(%rsp), %rdi
cmpq %r14, %rdi
movl %ebp, %r13d
je 0x75524
movq 0x268(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x238(%rsp), %rdi
cmpq %r12, %rdi
je 0x75541
movq 0x248(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x6f8(%rsp), %rdi
cmpq %r15, %rdi
je 0x7555e
movq 0x708(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x720(%rsp), %rbx
leaq 0x21ba2(%rip), %rsi     # 0x9710f
movq %rbx, %rdi
callq 0x50c0
testl %eax, %eax
je 0x755ec
leaq 0x23c4b(%rip), %rsi     # 0x991cb
movq %rbx, %rdi
callq 0x50c0
testl %eax, %eax
je 0x755ec
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rax
movq (%rax), %rbx
leaq 0x6e8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x235a3(%rip), %rsi     # 0x98b4e
leaq 0x235c2(%rip), %rdx     # 0x98b74
leaq 0x6d8(%rsp), %rdi
callq 0x2670a
leaq 0x6d8(%rsp), %rsi
movq %rbx, %rdi
callq 0x6be78
movq 0x6d8(%rsp), %rdi
cmpq %r14, %rdi
je 0x755ec
movq 0x6e8(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x6c8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x2349f(%rip), %rsi     # 0x98a9e
leaq 0x2349b(%rip), %rdx     # 0x98aa1
leaq 0x6b8(%rsp), %rdi
callq 0x2670a
movl $0x48, %edi
callq 0x5250
movq %rax, %rbx
leaq 0x6a8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x21adc(%rip), %rsi     # 0x9710f
leaq 0x21adc(%rip), %rdx     # 0x97116
leaq 0x698(%rsp), %rdi
callq 0x2670a
movb $0x1, %bpl
leaq 0x698(%rsp), %rdx
movq %rbx, %rdi
movl %r13d, %esi
callq 0x7b654
movq 0x718(%rsp), %rcx
xorl %ebp, %ebp
movq 0x30(%rsp), %r8
leaq 0x4bf35(%rip), %rdi     # 0xc15a8
leaq 0x6b8(%rsp), %rsi
movq %rbx, %rdx
callq 0x7b53e
movq 0x698(%rsp), %rdi
cmpq %r15, %rdi
je 0x756a0
movq 0x6a8(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x6b8(%rsp), %rdi
cmpq %r14, %rdi
je 0x756bd
movq 0x6c8(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rax
cmpl $0x1, 0x8(%rax)
jne 0x75853
leaq 0x7d0(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x233be(%rip), %rsi     # 0x98aa2
leaq 0x233bb(%rip), %rdx     # 0x98aa6
leaq 0x7c0(%rsp), %rdi
callq 0x2670a
movl $0x48, %edi
callq 0x5250
movq %rax, %rbp
leaq 0x228(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x23393(%rip), %rsi     # 0x98aab
leaq 0x2338e(%rip), %rdx     # 0x98aad
leaq 0x218(%rsp), %rdi
callq 0x2670a
leaq 0x208(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x23b39(%rip), %rsi     # 0x99278
leaq 0x23b38(%rip), %rdx     # 0x9927e
leaq 0x1f8(%rsp), %rdi
callq 0x2670a
movl %r13d, %r14d
movb $0x1, %r15b
leaq 0x218(%rsp), %rsi
leaq 0x1f8(%rsp), %rdx
movq %rbp, %rdi
callq 0x7be1c
xorl %r15d, %r15d
movl $0x48, %edi
callq 0x5250
movq %rax, %rbx
leaq 0x688(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x2197b(%rip), %rsi     # 0x9710f
leaq 0x2197b(%rip), %rdx     # 0x97116
leaq 0x678(%rsp), %rdi
callq 0x2670a
movb $0x1, %r15b
leaq 0x678(%rsp), %rdx
movq %rbx, %rdi
movl 0x14(%rsp), %esi
callq 0x7b654
xorl %r15d, %r15d
leaq 0x4bddf(%rip), %rdi     # 0xc15a8
leaq 0x7c0(%rsp), %rsi
movq %rbp, %rdx
movq %rbx, %rcx
xorl %r8d, %r8d
callq 0x7b53e
movq 0x678(%rsp), %rdi
cmpq %r13, %rdi
je 0x757fc
movq 0x688(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x1f8(%rsp), %rdi
leaq 0x208(%rsp), %rax
cmpq %rax, %rdi
je 0x75821
movq 0x208(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x218(%rsp), %rdi
leaq 0x228(%rsp), %rax
cmpq %rax, %rdi
je 0x75846
movq 0x228(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x7c0(%rsp), %rdi
jmp 0x759d1
leaq 0x7b0(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x2323b(%rip), %rsi     # 0x98aa2
leaq 0x23238(%rip), %rdx     # 0x98aa6
leaq 0x7a0(%rsp), %rdi
callq 0x2670a
movl $0x48, %edi
callq 0x5250
movq %rax, %rbp
leaq 0x1e8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x23217(%rip), %rsi     # 0x98ab2
leaq 0x23212(%rip), %rdx     # 0x98ab4
leaq 0x1d8(%rsp), %rdi
callq 0x2670a
leaq 0x1c8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x239b6(%rip), %rsi     # 0x99278
leaq 0x239b5(%rip), %rdx     # 0x9927e
leaq 0x1b8(%rsp), %rdi
callq 0x2670a
movl %r13d, %r14d
movb $0x1, %r15b
leaq 0x1d8(%rsp), %rsi
leaq 0x1b8(%rsp), %rdx
movq %rbp, %rdi
callq 0x7be1c
xorl %r15d, %r15d
movl $0x48, %edi
callq 0x5250
movq %rax, %rbx
leaq 0x668(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x217f8(%rip), %rsi     # 0x9710f
leaq 0x217f8(%rip), %rdx     # 0x97116
leaq 0x658(%rsp), %rdi
callq 0x2670a
movb $0x1, %r15b
leaq 0x658(%rsp), %rdx
movq %rbx, %rdi
movl 0x14(%rsp), %esi
callq 0x7b654
xorl %r15d, %r15d
leaq 0x4bc5c(%rip), %rdi     # 0xc15a8
leaq 0x7a0(%rsp), %rsi
movq %rbp, %rdx
movq %rbx, %rcx
xorl %r8d, %r8d
callq 0x7b53e
movq 0x658(%rsp), %rdi
cmpq %r13, %rdi
je 0x7597f
movq 0x668(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x1b8(%rsp), %rdi
leaq 0x1c8(%rsp), %rax
cmpq %rax, %rdi
je 0x759a4
movq 0x1c8(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x1d8(%rsp), %rdi
leaq 0x1e8(%rsp), %rax
cmpq %rax, %rdi
je 0x759c9
movq 0x1e8(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x7a0(%rsp), %rdi
cmpq %r12, %rdi
je 0x759e2
movq (%r12), %rsi
incq %rsi
callq 0x5260
leaq 0x4bbbf(%rip), %rdi     # 0xc15a8
movl %r14d, %esi
callq 0x7b7c2
movq 0x30(%rsp), %rbx
cmpl $0x1, (%rbx)
jne 0x75ca5
movq 0x8(%rbx), %rax
cmpb $0x7e, (%rax)
jne 0x75ca5
movl $0x48, %edi
callq 0x5250
movq %rax, 0x18(%rsp)
addq $0x8, %rbx
leaq 0x2309a(%rip), %rsi     # 0x98ac0
leaq 0x780(%rsp), %rdi
movq %rbx, %rdx
callq 0x1621e
leaq 0x648(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq 0x38(%rsp), %rsi
movq 0x40(%rsp), %rdx
addq %rsi, %rdx
leaq 0x638(%rsp), %rdi
callq 0x36590
leaq 0x780(%rsp), %rsi
leaq 0x638(%rsp), %rdx
movq 0x18(%rsp), %rdi
callq 0x7be1c
movq 0x638(%rsp), %rdi
cmpq %rbx, %rdi
je 0x75a93
movq 0x648(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x790(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x75ab4
movq 0x790(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x628(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x22eb3(%rip), %rsi     # 0x9897b
leaq 0x22eaf(%rip), %rdx     # 0x9897e
leaq 0x618(%rsp), %rdi
callq 0x2670a
movl $0x48, %edi
callq 0x5250
movq %rax, %rbp
leaq 0x608(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x38(%rsp), %rsi
movq 0x40(%rsp), %rdx
addq %rsi, %rdx
leaq 0x5f8(%rsp), %rdi
callq 0x36590
leaq 0x1a8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x23756(%rip), %rsi     # 0x99278
leaq 0x23755(%rip), %rdx     # 0x9927e
leaq 0x198(%rsp), %rdi
callq 0x2670a
movb $0x1, %r15b
leaq 0x5f8(%rsp), %rsi
leaq 0x198(%rsp), %rdx
movq %rbp, %rdi
callq 0x7be1c
xorl %r15d, %r15d
movl $0x48, %edi
callq 0x5250
movq %rax, %rbx
leaq 0x5e8(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x2159b(%rip), %rsi     # 0x9710f
leaq 0x2159b(%rip), %rdx     # 0x97116
leaq 0x5d8(%rsp), %rdi
callq 0x2670a
movb $0x1, %r15b
leaq 0x5d8(%rsp), %rdx
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x7b654
xorl %r15d, %r15d
leaq 0x4b9fe(%rip), %rdi     # 0xc15a8
leaq 0x618(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq %rbp, %rcx
movq %rbx, %r8
callq 0x7b53e
movq 0x5d8(%rsp), %rdi
cmpq %r13, %rdi
je 0x75bdf
movq 0x5e8(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x198(%rsp), %rdi
leaq 0x1a8(%rsp), %rax
cmpq %rax, %rdi
je 0x75c04
movq 0x1a8(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x5f8(%rsp), %rdi
cmpq %r14, %rdi
je 0x75c21
movq 0x608(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x618(%rsp), %rdi
cmpq %r12, %rdi
je 0x75c3e
movq 0x628(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x5c8(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x214c7(%rip), %rsi     # 0x97118
leaq 0x214c1(%rip), %rdx     # 0x97119
leaq 0x5b8(%rsp), %rdi
callq 0x2670a
movq 0x30(%rsp), %rcx
leaq 0x4b937(%rip), %rdi     # 0xc15a8
leaq 0x5b8(%rsp), %rsi
movq 0x18(%rsp), %rdx
xorl %r8d, %r8d
callq 0x7b53e
movq 0x5b8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x75caa
movq 0x5c8(%rsp), %rsi
incq %rsi
callq 0x5260
jmp 0x75caa
movq %rbx, 0x18(%rsp)
leaq 0x5a8(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x2145b(%rip), %rsi     # 0x97118
leaq 0x21455(%rip), %rdx     # 0x97119
leaq 0x598(%rsp), %rdi
callq 0x2670a
movl $0x48, %edi
callq 0x5250
movq %rax, %rbp
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
leaq 0x588(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rdx
addq %rsi, %rdx
leaq 0x578(%rsp), %rdi
callq 0x36590
leaq 0x568(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x800(%rsp), %rsi
movq 0x808(%rsp), %rdx
addq %rsi, %rdx
leaq 0x558(%rsp), %rdi
callq 0x36590
movb $0x1, %r15b
leaq 0x578(%rsp), %rsi
leaq 0x558(%rsp), %rdx
movq %rbp, %rdi
callq 0x7be1c
xorl %r15d, %r15d
movq 0x718(%rsp), %rcx
leaq 0x4b843(%rip), %rdi     # 0xc15a8
leaq 0x598(%rsp), %rsi
movq %rbp, %rdx
xorl %r8d, %r8d
callq 0x7b53e
movq 0x558(%rsp), %rdi
cmpq %r12, %rdi
je 0x75d95
movq 0x568(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x578(%rsp), %rdi
cmpq %r14, %rdi
je 0x75db2
movq 0x588(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x598(%rsp), %rdi
cmpq %rbx, %rdi
je 0x75dcf
movq 0x5a8(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x548(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x22cbf(%rip), %rsi     # 0x98aa2
leaq 0x22cbc(%rip), %rdx     # 0x98aa6
leaq 0x538(%rsp), %rdi
callq 0x2670a
movl $0x48, %edi
callq 0x5250
movq %rax, %rbp
leaq 0x528(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x22ca5(%rip), %rsi     # 0x98abc
leaq 0x22ca1(%rip), %rdx     # 0x98abf
leaq 0x518(%rsp), %rdi
callq 0x2670a
leaq 0x188(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x2343a(%rip), %rsi     # 0x99278
leaq 0x23439(%rip), %rdx     # 0x9927e
leaq 0x178(%rsp), %rdi
callq 0x2670a
movb $0x1, %r13b
leaq 0x518(%rsp), %rsi
leaq 0x178(%rsp), %rdx
movq %rbp, %rdi
callq 0x7be1c
xorl %r13d, %r13d
movl $0x48, %edi
callq 0x5250
movq %rax, %rbx
leaq 0x508(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2127f(%rip), %rsi     # 0x9710f
leaq 0x2127f(%rip), %rdx     # 0x97116
leaq 0x4f8(%rsp), %rdi
callq 0x2670a
movb $0x1, %r13b
leaq 0x4f8(%rsp), %rdx
movq %rbx, %rdi
movl 0x24(%rsp), %esi
callq 0x7b654
xorl %r13d, %r13d
leaq 0x4b6e3(%rip), %rdi     # 0xc15a8
leaq 0x538(%rsp), %rsi
movq %rbp, %rdx
movq %rbx, %rcx
xorl %r8d, %r8d
callq 0x7b53e
movq 0x4f8(%rsp), %rdi
cmpq %r15, %rdi
je 0x75ef8
movq 0x508(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x178(%rsp), %rdi
leaq 0x188(%rsp), %rax
cmpq %rax, %rdi
je 0x75f1d
movq 0x188(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x518(%rsp), %rdi
cmpq %r14, %rdi
je 0x75f3a
movq 0x528(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x538(%rsp), %rdi
cmpq %r12, %rdi
je 0x75f57
movq 0x548(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x4b64a(%rip), %rdi     # 0xc15a8
movl 0x24(%rsp), %esi
callq 0x7b7c2
leaq 0x38(%rsp), %rbx
leaq 0x2119c(%rip), %rsi     # 0x9710f
movq %rbx, %rdi
callq 0x50c0
testl %eax, %eax
je 0x75ff2
leaq 0x23245(%rip), %rsi     # 0x991cb
movq %rbx, %rdi
callq 0x50c0
testl %eax, %eax
je 0x75ff2
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rax
movq (%rax), %rbx
leaq 0x4e8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x22bc4(%rip), %rsi     # 0x98b75
leaq 0x22bdf(%rip), %rdx     # 0x98b97
leaq 0x4d8(%rsp), %rdi
callq 0x2670a
leaq 0x4d8(%rsp), %rsi
movq %rbx, %rdi
callq 0x6be78
movq 0x4d8(%rsp), %rdi
cmpq %r14, %rdi
je 0x75ff2
movq 0x4e8(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x4c8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x22a98(%rip), %rsi     # 0x98a9e
leaq 0x22a94(%rip), %rdx     # 0x98aa1
leaq 0x4b8(%rsp), %rdi
callq 0x2670a
movl $0x48, %edi
callq 0x5250
movq %rax, %rbp
leaq 0x168(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x210d5(%rip), %rsi     # 0x9710f
leaq 0x210d5(%rip), %rdx     # 0x97116
leaq 0x158(%rsp), %rdi
callq 0x2670a
movb $0x1, %r14b
leaq 0x158(%rsp), %rdx
movq %rbp, %rdi
movl 0x28(%rsp), %esi
callq 0x7b654
xorl %r14d, %r14d
movl $0x48, %edi
callq 0x5250
movq %rax, %rbx
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
leaq 0x4a8(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rdx
addq %rsi, %rdx
leaq 0x498(%rsp), %rdi
callq 0x36590
leaq 0x488(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x800(%rsp), %rsi
movq 0x808(%rsp), %rdx
addq %rsi, %rdx
leaq 0x478(%rsp), %rdi
callq 0x36590
movb $0x1, %r13b
leaq 0x498(%rsp), %rsi
leaq 0x478(%rsp), %rdx
movq %rbx, %rdi
callq 0x7be1c
xorl %r13d, %r13d
leaq 0x4b4b5(%rip), %rdi     # 0xc15a8
leaq 0x4b8(%rsp), %rsi
movq %rbp, %rdx
movq %rbx, %rcx
movq 0x18(%rsp), %r8
callq 0x7b53e
movq 0x478(%rsp), %rdi
cmpq %r15, %rdi
je 0x76128
movq 0x488(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x498(%rsp), %rdi
cmpq %r14, %rdi
leaq 0x168(%rsp), %rbx
je 0x7614d
movq 0x4a8(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x158(%rsp), %rdi
cmpq %rbx, %rdi
je 0x7616a
movq 0x168(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x4b8(%rsp), %rdi
cmpq %r12, %rdi
je 0x76187
movq 0x4c8(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rax
cmpl $0x1, 0x8(%rax)
jne 0x76310
leaq 0x770(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x228f4(%rip), %rsi     # 0x98aa2
leaq 0x228f1(%rip), %rdx     # 0x98aa6
leaq 0x760(%rsp), %rdi
callq 0x2670a
movl $0x48, %edi
callq 0x5250
movq %rax, %r13
leaq 0x468(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x228c9(%rip), %rsi     # 0x98aab
leaq 0x228c4(%rip), %rdx     # 0x98aad
leaq 0x458(%rsp), %rdi
callq 0x2670a
leaq 0x148(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x2306f(%rip), %rsi     # 0x99278
leaq 0x2306e(%rip), %rdx     # 0x9927e
leaq 0x138(%rsp), %rdi
callq 0x2670a
movb $0x1, %bpl
leaq 0x458(%rsp), %rsi
leaq 0x138(%rsp), %rdx
movq %r13, %rdi
callq 0x7be1c
xorl %ebp, %ebp
movl $0x48, %edi
callq 0x5250
movq %rax, %rbx
leaq 0x448(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x20eb5(%rip), %rsi     # 0x9710f
leaq 0x20eb5(%rip), %rdx     # 0x97116
leaq 0x438(%rsp), %rdi
callq 0x2670a
movb $0x1, %bpl
leaq 0x438(%rsp), %rdx
movq %rbx, %rdi
movl 0x20(%rsp), %esi
callq 0x7b654
xorl %ebp, %ebp
leaq 0x4b31a(%rip), %rdi     # 0xc15a8
leaq 0x760(%rsp), %rsi
movq %r13, %rdx
movq %rbx, %rcx
xorl %r8d, %r8d
callq 0x7b53e
movq 0x438(%rsp), %rdi
cmpq %r15, %rdi
je 0x762c1
movq 0x448(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x138(%rsp), %rdi
leaq 0x148(%rsp), %rax
cmpq %rax, %rdi
je 0x762e6
movq 0x148(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x458(%rsp), %rdi
cmpq %r14, %rdi
je 0x76303
movq 0x468(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x760(%rsp), %rdi
jmp 0x76481
leaq 0x750(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x2277e(%rip), %rsi     # 0x98aa2
leaq 0x2277b(%rip), %rdx     # 0x98aa6
leaq 0x740(%rsp), %rdi
callq 0x2670a
movl $0x48, %edi
callq 0x5250
movq %rax, %r13
leaq 0x428(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x2275a(%rip), %rsi     # 0x98ab2
leaq 0x22755(%rip), %rdx     # 0x98ab4
leaq 0x418(%rsp), %rdi
callq 0x2670a
leaq 0x128(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x22ef9(%rip), %rsi     # 0x99278
leaq 0x22ef8(%rip), %rdx     # 0x9927e
leaq 0x118(%rsp), %rdi
callq 0x2670a
movb $0x1, %bpl
leaq 0x418(%rsp), %rsi
leaq 0x118(%rsp), %rdx
movq %r13, %rdi
callq 0x7be1c
xorl %ebp, %ebp
movl $0x48, %edi
callq 0x5250
movq %rax, %rbx
leaq 0x408(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x20d3f(%rip), %rsi     # 0x9710f
leaq 0x20d3f(%rip), %rdx     # 0x97116
leaq 0x3f8(%rsp), %rdi
callq 0x2670a
movb $0x1, %bpl
leaq 0x3f8(%rsp), %rdx
movq %rbx, %rdi
movl 0x20(%rsp), %esi
callq 0x7b654
xorl %ebp, %ebp
leaq 0x4b1a4(%rip), %rdi     # 0xc15a8
leaq 0x740(%rsp), %rsi
movq %r13, %rdx
movq %rbx, %rcx
xorl %r8d, %r8d
callq 0x7b53e
movq 0x3f8(%rsp), %rdi
cmpq %r15, %rdi
je 0x76437
movq 0x408(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x118(%rsp), %rdi
leaq 0x128(%rsp), %rax
cmpq %rax, %rdi
je 0x7645c
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x418(%rsp), %rdi
cmpq %r14, %rdi
je 0x76479
movq 0x428(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x740(%rsp), %rdi
cmpq %r12, %rdi
je 0x76492
movq (%r12), %rsi
incq %rsi
callq 0x5260
leaq 0x4b10f(%rip), %rdi     # 0xc15a8
movl 0x28(%rsp), %esi
callq 0x7b7c2
movq 0x8(%rsp), %rax
movq 0x30(%rax), %rdi
callq 0x6ff3c
leaq 0x108(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x226d5(%rip), %rsi     # 0x98b98
leaq 0x226cf(%rip), %rdx     # 0x98b99
leaq 0xf8(%rsp), %rdi
callq 0x2670a
movl $0x48, %edi
callq 0x5250
movq %rax, %r15
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
leaq 0xe8(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rdx
addq %rsi, %rdx
leaq 0xd8(%rsp), %rdi
movq %r15, 0x28(%rsp)
callq 0x36590
leaq 0xc8(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x800(%rsp), %rsi
movq 0x808(%rsp), %rdx
addq %rsi, %rdx
leaq 0xb8(%rsp), %rdi
callq 0x36590
movb $0x1, %bl
leaq 0xd8(%rsp), %rsi
leaq 0xb8(%rsp), %rdx
movq %r15, %rdi
callq 0x7be1c
xorl %ebx, %ebx
movl $0x48, %edi
callq 0x5250
movq %rax, %r13
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
leaq 0xa8(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rdx
addq %rsi, %rdx
leaq 0x98(%rsp), %rdi
callq 0x36590
leaq 0x3e8(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x800(%rsp), %rsi
movq 0x808(%rsp), %rdx
addq %rsi, %rdx
leaq 0x3d8(%rsp), %rdi
callq 0x36590
movb $0x1, %bpl
leaq 0x98(%rsp), %rsi
leaq 0x3d8(%rsp), %rdx
movq %r13, %rdi
callq 0x7be1c
xorl %ebp, %ebp
movl $0x48, %edi
callq 0x5250
movq %rax, %rbx
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rax
movl 0x8(%rax), %ebp
leaq 0x3c8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x20b01(%rip), %rsi     # 0x9710f
leaq 0x20b01(%rip), %rdx     # 0x97116
leaq 0x3b8(%rsp), %rdi
callq 0x2670a
movb $0x1, %r15b
leaq 0x3b8(%rsp), %rdx
movq %rbx, %rdi
movl %ebp, %esi
callq 0x7b654
xorl %r15d, %r15d
leaq 0x4af67(%rip), %rdi     # 0xc15a8
leaq 0xf8(%rsp), %rsi
movq 0x28(%rsp), %rdx
movq %r13, %rcx
movq %rbx, %r8
callq 0x7b53e
movq 0x3b8(%rsp), %rdi
cmpq %r12, %rdi
je 0x76676
movq 0x3c8(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x3d8(%rsp), %rdi
cmpq %r14, %rdi
leaq 0x108(%rsp), %rbx
leaq 0xe8(%rsp), %r14
leaq 0xc8(%rsp), %r15
leaq 0xa8(%rsp), %r12
je 0x766b3
movq 0x3e8(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x98(%rsp), %rdi
cmpq %r12, %rdi
je 0x766d0
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0xb8(%rsp), %rdi
cmpq %r15, %rdi
je 0x766ed
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0xd8(%rsp), %rdi
cmpq %r14, %rdi
je 0x7670a
movq 0xe8(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0xf8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x76727
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x3a8(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x22368(%rip), %rsi     # 0x98aa2
leaq 0x22365(%rip), %rdx     # 0x98aa6
leaq 0x398(%rsp), %rdi
callq 0x2670a
movl $0x48, %edi
callq 0x5250
movq %rax, %r12
leaq 0x388(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x2234e(%rip), %rsi     # 0x98abc
leaq 0x2234a(%rip), %rdx     # 0x98abf
leaq 0x378(%rsp), %rdi
callq 0x2670a
leaq 0x88(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x22ae3(%rip), %rsi     # 0x99278
leaq 0x22ae2(%rip), %rdx     # 0x9927e
leaq 0x78(%rsp), %rdi
callq 0x2670a
movb $0x1, %bpl
leaq 0x378(%rsp), %rsi
leaq 0x78(%rsp), %rdx
movq %r12, %rdi
callq 0x7be1c
xorl %ebp, %ebp
movl $0x48, %edi
callq 0x5250
movq %rax, %rbx
leaq 0x368(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2092f(%rip), %rsi     # 0x9710f
leaq 0x2092f(%rip), %rdx     # 0x97116
leaq 0x358(%rsp), %rdi
callq 0x2670a
movb $0x1, %bpl
leaq 0x358(%rsp), %rdx
movq %rbx, %rdi
movl 0x24(%rsp), %esi
callq 0x7b654
xorl %ebp, %ebp
leaq 0x4ad94(%rip), %rdi     # 0xc15a8
leaq 0x398(%rsp), %rsi
movq %r12, %rdx
movq %rbx, %rcx
xorl %r8d, %r8d
callq 0x7b53e
movq 0x358(%rsp), %rdi
cmpq %r15, %rdi
je 0x76847
movq 0x368(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x76869
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x378(%rsp), %rdi
cmpq %r14, %rdi
je 0x76886
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x398(%rsp), %rdi
cmpq %r13, %rdi
je 0x768a3
movq 0x3a8(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x4acfe(%rip), %rdi     # 0xc15a8
movl 0x20(%rsp), %esi
callq 0x7b7c2
leaq 0x348(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x20852(%rip), %rsi     # 0x97118
leaq 0x2084c(%rip), %rdx     # 0x97119
leaq 0x338(%rsp), %rdi
callq 0x2670a
movl $0x48, %edi
callq 0x5250
movq %rax, %r15
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
leaq 0x328(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rdx
addq %rsi, %rdx
leaq 0x318(%rsp), %rdi
callq 0x36590
leaq 0x308(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x800(%rsp), %rsi
movq 0x808(%rsp), %rdx
addq %rsi, %rdx
leaq 0x2f8(%rsp), %rdi
callq 0x36590
movb $0x1, %r12b
leaq 0x318(%rsp), %rsi
leaq 0x2f8(%rsp), %rdx
movq %r15, %rdi
callq 0x7be1c
xorl %r12d, %r12d
movq 0x30(%rsp), %rcx
leaq 0x4ac3e(%rip), %rdi     # 0xc15a8
leaq 0x338(%rsp), %rsi
movq %r15, %rdx
xorl %r8d, %r8d
callq 0x7b53e
movq 0x2f8(%rsp), %rdi
cmpq %r13, %rdi
je 0x7699a
movq 0x308(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x318(%rsp), %rdi
cmpq %r14, %rdi
je 0x769b7
movq 0x328(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x338(%rsp), %rdi
cmpq %rbx, %rdi
je 0x769d4
movq 0x348(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x2e8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x220ba(%rip), %rsi     # 0x98aa2
leaq 0x220b7(%rip), %rdx     # 0x98aa6
leaq 0x2d8(%rsp), %rdi
callq 0x2670a
movl $0x48, %edi
callq 0x5250
movq %rax, %r14
leaq 0x2c8(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x220a0(%rip), %rsi     # 0x98abc
leaq 0x2209c(%rip), %rdx     # 0x98abf
leaq 0x2b8(%rsp), %rdi
callq 0x2670a
leaq 0x68(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x22838(%rip), %rsi     # 0x99278
leaq 0x22837(%rip), %rdx     # 0x9927e
leaq 0x58(%rsp), %rdi
callq 0x2670a
movb $0x1, %bpl
leaq 0x2b8(%rsp), %rsi
leaq 0x58(%rsp), %rdx
movq %r14, %rdi
callq 0x7be1c
xorl %ebp, %ebp
movl $0x48, %edi
callq 0x5250
movq %rax, %rbx
leaq 0x2a8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x20684(%rip), %rsi     # 0x9710f
leaq 0x20684(%rip), %rdx     # 0x97116
leaq 0x298(%rsp), %rdi
callq 0x2670a
movb $0x1, %bpl
leaq 0x298(%rsp), %rdx
movq %rbx, %rdi
movl 0x14(%rsp), %esi
callq 0x7b654
xorl %ebp, %ebp
leaq 0x4aae9(%rip), %rdi     # 0xc15a8
leaq 0x2d8(%rsp), %rsi
movq %r14, %rdx
movq %rbx, %rcx
xorl %r8d, %r8d
callq 0x7b53e
movq 0x298(%rsp), %rdi
cmpq %r15, %rdi
je 0x76af2
movq 0x2a8(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x76b0e
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x2b8(%rsp), %rdi
cmpq %r13, %rdi
je 0x76b2b
movq 0x2c8(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x2d8(%rsp), %rdi
cmpq %r12, %rdi
je 0x76b48
movq 0x2e8(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x4aa59(%rip), %rdi     # 0xc15a8
movl 0x14(%rsp), %esi
callq 0x7b7c2
leaq 0x830(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x76b79
movq 0x830(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x810(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x76b9a
movq 0x810(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x7f0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x76bbb
movq 0x7f0(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x48(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x76bd6
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x730(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x76bf7
movq 0x730(%rsp), %rsi
incq %rsi
callq 0x5260
addq $0x848, %rsp            # imm = 0x848
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, 0x8(%rsp)
movq 0x5b8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x778ac
movq 0x5c8(%rsp), %rsi
jmp 0x7789d
jmp 0x778a7
movq %rax, 0x8(%rsp)
movb $0x1, %r15b
jmp 0x76da5
movq %rax, 0x8(%rsp)
movb $0x1, %r15b
jmp 0x76de6
movq %rax, 0x8(%rsp)
movb $0x1, %r15b
jmp 0x76e03
movq %rax, 0x8(%rsp)
jmp 0x76e15
jmp 0x778a7
movq %rax, 0x8(%rsp)
movq 0x638(%rsp), %rdi
cmpq %rbx, %rdi
je 0x76c90
movq 0x648(%rsp), %rsi
incq %rsi
callq 0x5260
jmp 0x76c90
movq %rax, 0x8(%rsp)
leaq 0x790(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x76cb8
movq 0x790(%rsp), %rsi
incq %rsi
callq 0x5260
jmp 0x76cb8
movq %rax, 0x8(%rsp)
movl $0x48, %esi
movq 0x18(%rsp), %rdi
jmp 0x778a0
movq %rax, 0x8(%rsp)
movq 0x4d8(%rsp), %rdi
cmpq %r14, %rdi
je 0x778ac
movq 0x4e8(%rsp), %rsi
jmp 0x7789d
jmp 0x778a7
movq %rax, 0x8(%rsp)
movq 0x6d8(%rsp), %rdi
cmpq %r14, %rdi
je 0x778ac
movq 0x6e8(%rsp), %rsi
jmp 0x7789d
jmp 0x778a7
movq %rax, 0x8(%rsp)
movb $0x1, %bpl
jmp 0x77038
movq %rax, 0x8(%rsp)
movb $0x1, %bpl
jmp 0x77070
movq %rax, 0x8(%rsp)
movb $0x1, %bpl
jmp 0x770b0
movq %rax, 0x8(%rsp)
movb $0x1, %bpl
jmp 0x77127
movq %rax, 0x8(%rsp)
movb $0x1, %bpl
jmp 0x770cd
movq %rax, 0x8(%rsp)
movb $0x1, %bpl
jmp 0x77144
movq %rax, 0x8(%rsp)
jmp 0x770df
movq %rax, 0x8(%rsp)
jmp 0x77156
jmp 0x778a7
jmp 0x778a7
movq %rax, 0x8(%rsp)
movq 0x5d8(%rsp), %rdi
cmpq %r13, %rdi
je 0x76da5
movq 0x5e8(%rsp), %rsi
incq %rsi
callq 0x5260
testb %r15b, %r15b
je 0x76db7
movl $0x48, %esi
movq %rbx, %rdi
callq 0x5260
xorl %r15d, %r15d
jmp 0x76dc1
movq %rax, 0x8(%rsp)
movq 0x198(%rsp), %rdi
leaq 0x1a8(%rsp), %rax
cmpq %rax, %rdi
je 0x76de6
movq 0x1a8(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x5f8(%rsp), %rdi
cmpq %r14, %rdi
je 0x76e03
movq 0x608(%rsp), %rsi
incq %rsi
callq 0x5260
testb %r15b, %r15b
je 0x76e15
movl $0x48, %esi
movq %rbp, %rdi
callq 0x5260
movq 0x618(%rsp), %rdi
cmpq %r12, %rdi
je 0x778ac
movq 0x628(%rsp), %rsi
jmp 0x7789d
movq %rax, 0x8(%rsp)
movb $0x1, %r15b
jmp 0x7722b
movq %rax, 0x8(%rsp)
movb $0x1, %r15b
jmp 0x77264
movq %rax, 0x8(%rsp)
movb $0x1, %r15b
jmp 0x772a8
movq %rax, 0x8(%rsp)
movb $0x1, %r15b
jmp 0x77327
movq %rax, 0x8(%rsp)
movb $0x1, %r15b
jmp 0x772cd
movq %rax, 0x8(%rsp)
movb $0x1, %r15b
jmp 0x7734c
movq %rax, 0x8(%rsp)
jmp 0x772df
movq %rax, 0x8(%rsp)
jmp 0x7735e
jmp 0x778a7
jmp 0x778a7
movq %rax, 0x8(%rsp)
movq 0x278(%rsp), %rdi
cmpq %r13, %rdi
je 0x76ec8
movq 0x288(%rsp), %rsi
incq %rsi
callq 0x5260
jmp 0x76ec8
movq %rax, 0x8(%rsp)
movq 0x258(%rsp), %rdi
cmpq %r14, %rdi
je 0x76eec
movq 0x268(%rsp), %rsi
incq %rsi
callq 0x5260
jmp 0x76eec
movq %rax, 0x8(%rsp)
movq 0x238(%rsp), %rdi
cmpq %r12, %rdi
je 0x76f10
movq 0x248(%rsp), %rsi
incq %rsi
callq 0x5260
jmp 0x76f10
movq %rax, 0x8(%rsp)
movq 0x6f8(%rsp), %rdi
cmpq %r15, %rdi
je 0x778ac
movq 0x708(%rsp), %rsi
jmp 0x7789d
jmp 0x778a7
movq %rax, 0x8(%rsp)
movb $0x1, %bpl
jmp 0x773ce
movq %rax, 0x8(%rsp)
movb $0x1, %bpl
jmp 0x77405
movq %rax, 0x8(%rsp)
movb $0x1, %bpl
jmp 0x77422
movq %rax, 0x8(%rsp)
jmp 0x77434
jmp 0x778a7
movq %rax, 0x8(%rsp)
movb $0x1, %r12b
jmp 0x77474
movq %rax, 0x8(%rsp)
movb $0x1, %r12b
jmp 0x77491
movq %rax, 0x8(%rsp)
jmp 0x774a3
jmp 0x778a7
movq %rax, 0x8(%rsp)
movb $0x1, %bpl
jmp 0x774e3
movq %rax, 0x8(%rsp)
movb $0x1, %bpl
jmp 0x77520
movq %rax, 0x8(%rsp)
movb $0x1, %bpl
jmp 0x7753d
movq %rax, 0x8(%rsp)
jmp 0x7754f
jmp 0x778a7
movq %rax, 0x8(%rsp)
movb $0x1, %r15b
jmp 0x7758f
movq %rax, 0x8(%rsp)
movb $0x1, %bpl
jmp 0x775c7
movq %rax, 0x8(%rsp)
movb $0x1, %bpl
jmp 0x775ec
movq %rax, 0x8(%rsp)
movb $0x1, %bl
jmp 0x7762c
movq %rax, 0x8(%rsp)
movb $0x1, %bl
jmp 0x77651
movq %rax, 0x8(%rsp)
jmp 0x77664
jmp 0x778a7
movq %rax, 0x8(%rsp)
movq 0x3f8(%rsp), %rdi
cmpq %r15, %rdi
je 0x77038
movq 0x408(%rsp), %rsi
incq %rsi
callq 0x5260
testb %bpl, %bpl
je 0x7704a
movl $0x48, %esi
movq %rbx, %rdi
callq 0x5260
xorl %ebp, %ebp
jmp 0x7708b
movq %rax, 0x8(%rsp)
movq 0x438(%rsp), %rdi
cmpq %r15, %rdi
je 0x77070
movq 0x448(%rsp), %rsi
incq %rsi
callq 0x5260
testb %bpl, %bpl
je 0x77082
movl $0x48, %esi
movq %rbx, %rdi
callq 0x5260
xorl %ebp, %ebp
jmp 0x77102
movq %rax, 0x8(%rsp)
movq 0x118(%rsp), %rdi
leaq 0x128(%rsp), %rax
cmpq %rax, %rdi
je 0x770b0
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x418(%rsp), %rdi
cmpq %r14, %rdi
je 0x770cd
movq 0x428(%rsp), %rsi
incq %rsi
callq 0x5260
testb %bpl, %bpl
je 0x770df
movl $0x48, %esi
movq %r13, %rdi
callq 0x5260
movq 0x740(%rsp), %rdi
cmpq %r12, %rdi
je 0x778ac
movq 0x750(%rsp), %rsi
jmp 0x7789d
movq %rax, 0x8(%rsp)
movq 0x138(%rsp), %rdi
leaq 0x148(%rsp), %rax
cmpq %rax, %rdi
je 0x77127
movq 0x148(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x458(%rsp), %rdi
cmpq %r14, %rdi
je 0x77144
movq 0x468(%rsp), %rsi
incq %rsi
callq 0x5260
testb %bpl, %bpl
je 0x77156
movl $0x48, %esi
movq %r13, %rdi
callq 0x5260
movq 0x760(%rsp), %rdi
cmpq %r12, %rdi
je 0x778ac
movq 0x770(%rsp), %rsi
jmp 0x7789d
movq %rax, 0x8(%rsp)
movb $0x1, %r13b
jmp 0x776ac
movq %rax, 0x8(%rsp)
movb $0x1, %r13b
jmp 0x776c9
movq %rax, 0x8(%rsp)
movb $0x1, %r14b
jmp 0x7770a
movq %rax, 0x8(%rsp)
jmp 0x7771c
jmp 0x778a7
movq %rax, 0x8(%rsp)
movb $0x1, %r13b
jmp 0x7775c
movq %rax, 0x8(%rsp)
movb $0x1, %r13b
jmp 0x7779d
movq %rax, 0x8(%rsp)
movb $0x1, %r13b
jmp 0x777ba
movq %rax, 0x8(%rsp)
jmp 0x777cc
jmp 0x778a7
movq %rax, 0x8(%rsp)
movb $0x1, %r15b
jmp 0x7780c
movq %rax, 0x8(%rsp)
movb $0x1, %r15b
jmp 0x77829
movq %rax, 0x8(%rsp)
jmp 0x7783b
jmp 0x778a7
movq %rax, 0x8(%rsp)
movq 0x658(%rsp), %rdi
cmpq %r13, %rdi
je 0x7722b
movq 0x668(%rsp), %rsi
incq %rsi
callq 0x5260
testb %r15b, %r15b
je 0x7723d
movl $0x48, %esi
movq %rbx, %rdi
callq 0x5260
xorl %r15d, %r15d
jmp 0x77283
movq %rax, 0x8(%rsp)
movq 0x678(%rsp), %rdi
cmpq %r13, %rdi
je 0x77264
movq 0x688(%rsp), %rsi
incq %rsi
callq 0x5260
testb %r15b, %r15b
je 0x77276
movl $0x48, %esi
movq %rbx, %rdi
callq 0x5260
xorl %r15d, %r15d
jmp 0x77302
movq %rax, 0x8(%rsp)
movq 0x1b8(%rsp), %rdi
leaq 0x1c8(%rsp), %rax
cmpq %rax, %rdi
je 0x772a8
movq 0x1c8(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x1d8(%rsp), %rdi
leaq 0x1e8(%rsp), %rax
cmpq %rax, %rdi
je 0x772cd
movq 0x1e8(%rsp), %rsi
incq %rsi
callq 0x5260
testb %r15b, %r15b
je 0x772df
movl $0x48, %esi
movq %rbp, %rdi
callq 0x5260
movq 0x7a0(%rsp), %rdi
cmpq %r12, %rdi
je 0x778ac
movq 0x7b0(%rsp), %rsi
jmp 0x7789d
movq %rax, 0x8(%rsp)
movq 0x1f8(%rsp), %rdi
leaq 0x208(%rsp), %rax
cmpq %rax, %rdi
je 0x77327
movq 0x208(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x218(%rsp), %rdi
leaq 0x228(%rsp), %rax
cmpq %rax, %rdi
je 0x7734c
movq 0x228(%rsp), %rsi
incq %rsi
callq 0x5260
testb %r15b, %r15b
je 0x7735e
movl $0x48, %esi
movq %rbp, %rdi
callq 0x5260
movq 0x7c0(%rsp), %rdi
cmpq %r12, %rdi
je 0x778ac
movq 0x7d0(%rsp), %rsi
jmp 0x7789d
movq %rax, 0x8(%rsp)
movb $0x1, %bpl
jmp 0x77876
movq %rax, 0x8(%rsp)
jmp 0x77888
jmp 0x778a7
movq %rax, 0x8(%rsp)
jmp 0x778b9
movq %rax, 0x8(%rsp)
jmp 0x778d4
movq %rax, 0x8(%rsp)
movq 0x298(%rsp), %rdi
cmpq %r15, %rdi
je 0x773ce
movq 0x2a8(%rsp), %rsi
incq %rsi
callq 0x5260
testb %bpl, %bpl
je 0x773e0
movl $0x48, %esi
movq %rbx, %rdi
callq 0x5260
xorl %ebp, %ebp
jmp 0x773e9
movq %rax, 0x8(%rsp)
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x77405
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x2b8(%rsp), %rdi
cmpq %r13, %rdi
je 0x77422
movq 0x2c8(%rsp), %rsi
incq %rsi
callq 0x5260
testb %bpl, %bpl
je 0x77434
movl $0x48, %esi
movq %r14, %rdi
callq 0x5260
movq 0x2d8(%rsp), %rdi
cmpq %r12, %rdi
je 0x778ac
movq 0x2e8(%rsp), %rsi
jmp 0x7789d
movq %rax, 0x8(%rsp)
movq 0x2f8(%rsp), %rdi
cmpq %r13, %rdi
je 0x77474
movq 0x308(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x318(%rsp), %rdi
cmpq %r14, %rdi
je 0x77491
movq 0x328(%rsp), %rsi
incq %rsi
callq 0x5260
testb %r12b, %r12b
je 0x774a3
movl $0x48, %esi
movq %r15, %rdi
callq 0x5260
movq 0x338(%rsp), %rdi
cmpq %rbx, %rdi
je 0x778ac
movq 0x348(%rsp), %rsi
jmp 0x7789d
movq %rax, 0x8(%rsp)
movq 0x358(%rsp), %rdi
cmpq %r15, %rdi
je 0x774e3
movq 0x368(%rsp), %rsi
incq %rsi
callq 0x5260
testb %bpl, %bpl
je 0x774f5
movl $0x48, %esi
movq %rbx, %rdi
callq 0x5260
xorl %ebp, %ebp
jmp 0x774fe
movq %rax, 0x8(%rsp)
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x77520
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x378(%rsp), %rdi
cmpq %r14, %rdi
je 0x7753d
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x5260
testb %bpl, %bpl
je 0x7754f
movl $0x48, %esi
movq %r12, %rdi
callq 0x5260
movq 0x398(%rsp), %rdi
cmpq %r13, %rdi
je 0x778ac
movq 0x3a8(%rsp), %rsi
jmp 0x7789d
movq %rax, 0x8(%rsp)
movq 0x3b8(%rsp), %rdi
cmpq %r12, %rdi
je 0x7758f
movq 0x3c8(%rsp), %rsi
incq %rsi
callq 0x5260
testb %r15b, %r15b
je 0x775a1
movl $0x48, %esi
movq %rbx, %rdi
callq 0x5260
xorl %ebp, %ebp
jmp 0x775aa
movq %rax, 0x8(%rsp)
movq 0x3d8(%rsp), %rdi
cmpq %r14, %rdi
je 0x775c7
movq 0x3e8(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0x775ec
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x5260
testb %bpl, %bpl
je 0x775fe
movl $0x48, %esi
movq %r13, %rdi
callq 0x5260
xorl %ebx, %ebx
jmp 0x77607
movq %rax, 0x8(%rsp)
movq 0xb8(%rsp), %rdi
leaq 0xc8(%rsp), %rax
cmpq %rax, %rdi
je 0x7762c
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0xd8(%rsp), %rdi
leaq 0xe8(%rsp), %rax
cmpq %rax, %rdi
je 0x77651
movq 0xe8(%rsp), %rsi
incq %rsi
callq 0x5260
testb %bl, %bl
je 0x77664
movl $0x48, %esi
movq 0x28(%rsp), %rdi
callq 0x5260
movq 0xf8(%rsp), %rdi
leaq 0x108(%rsp), %rax
cmpq %rax, %rdi
je 0x778ac
movq 0x108(%rsp), %rsi
jmp 0x7789d
movq %rax, 0x8(%rsp)
movq 0x478(%rsp), %rdi
cmpq %r15, %rdi
je 0x776ac
movq 0x488(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x498(%rsp), %rdi
cmpq %r14, %rdi
je 0x776c9
movq 0x4a8(%rsp), %rsi
incq %rsi
callq 0x5260
testb %r13b, %r13b
je 0x776db
movl $0x48, %esi
movq %rbx, %rdi
callq 0x5260
xorl %r14d, %r14d
jmp 0x776e5
movq %rax, 0x8(%rsp)
movq 0x158(%rsp), %rdi
leaq 0x168(%rsp), %rax
cmpq %rax, %rdi
je 0x7770a
movq 0x168(%rsp), %rsi
incq %rsi
callq 0x5260
testb %r14b, %r14b
je 0x7771c
movl $0x48, %esi
movq %rbp, %rdi
callq 0x5260
movq 0x4b8(%rsp), %rdi
cmpq %r12, %rdi
je 0x778ac
movq 0x4c8(%rsp), %rsi
jmp 0x7789d
movq %rax, 0x8(%rsp)
movq 0x4f8(%rsp), %rdi
cmpq %r15, %rdi
je 0x7775c
movq 0x508(%rsp), %rsi
incq %rsi
callq 0x5260
testb %r13b, %r13b
je 0x7776e
movl $0x48, %esi
movq %rbx, %rdi
callq 0x5260
xorl %r13d, %r13d
jmp 0x77778
movq %rax, 0x8(%rsp)
movq 0x178(%rsp), %rdi
leaq 0x188(%rsp), %rax
cmpq %rax, %rdi
je 0x7779d
movq 0x188(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x518(%rsp), %rdi
cmpq %r14, %rdi
je 0x777ba
movq 0x528(%rsp), %rsi
incq %rsi
callq 0x5260
testb %r13b, %r13b
je 0x777cc
movl $0x48, %esi
movq %rbp, %rdi
callq 0x5260
movq 0x538(%rsp), %rdi
cmpq %r12, %rdi
je 0x778ac
movq 0x548(%rsp), %rsi
jmp 0x7789d
movq %rax, 0x8(%rsp)
movq 0x558(%rsp), %rdi
cmpq %r12, %rdi
je 0x7780c
movq 0x568(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x578(%rsp), %rdi
cmpq %r14, %rdi
je 0x77829
movq 0x588(%rsp), %rsi
incq %rsi
callq 0x5260
testb %r15b, %r15b
je 0x7783b
movl $0x48, %esi
movq %rbp, %rdi
callq 0x5260
movq 0x598(%rsp), %rdi
cmpq %rbx, %rdi
je 0x778ac
movq 0x5a8(%rsp), %rsi
jmp 0x7789d
jmp 0x778a7
movq %rax, 0x8(%rsp)
movq 0x698(%rsp), %rdi
cmpq %r15, %rdi
je 0x77876
movq 0x6a8(%rsp), %rsi
incq %rsi
callq 0x5260
testb %bpl, %bpl
je 0x77888
movl $0x48, %esi
movq %rbx, %rdi
callq 0x5260
movq 0x6b8(%rsp), %rdi
cmpq %r14, %rdi
je 0x778ac
movq 0x6c8(%rsp), %rsi
incq %rsi
callq 0x5260
jmp 0x778ac
movq %rax, 0x8(%rsp)
leaq 0x7e0(%rsp), %rdi
callq 0x7bdce
leaq 0x48(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x778d4
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x5260
leaq 0x730(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x778f5
movq 0x730(%rsp), %rsi
incq %rsi
callq 0x5260
movq 0x8(%rsp), %rdi
callq 0x53d0