// File: /workspace/github_cpp_makefile_star2_O3/JameyWoo[P]csmile/cgen.cpp
// Function: cGen[abi:cxx11](TreeNode*)
string cGen(TreeNode* root) {
    if (root == NULL) return "";
    emitComment(root->nodekind);
    TreeNode* p1, *p2, *p3;
    if ("FunDecl" == root->nodekind) {
        p1 = root->child[2];
        p2 = root->child[3];
        // TODO: 添加函数参数的中间代码
        cGen(p2);
        cGen(root->sibling);
    } else if ("Compound" == root->nodekind) {
        p1 = root->child[0];
        p2 = root->child[1];
        cGen(p1);
        cGen(p2);
    } else if ("LocVarDecl" == root->nodekind) {
        // cGen(root->child[1]);
        cGen(root->sibling);
    } else if ("Assign" == root->nodekind) {
        int addr = st_lookup(root->child[0]->name);
        if (addr != -1) {
            string left = getR();
            emit("LD " + left + ", " + to_string(symtabs[root->child[0]->name].addr) + "\n");
            string reg = cGen(root->child[1]);
            // int right_addr = st_lookup(root->child[1]->name); 
            emit("[" + left + "]" + " = " + reg + "\n");
        } else {
            error("no such a id");
        }
        cGen(root->sibling);
    } else if ("Selection" == root->nodekind) {
        string cond = root->child[0]->name;  // 条件
        string l1 = getL(), l2 = getL();
        emit("if " + cGen(root->child[0]));
        emit(" goto ");
        emit(l1 + "\n");
        emit("goto ");
        emit(l2 + "\n");
        emit(l1 + ":\n");
        cGen(root->child[1]);
        emit(l2 + ":\n");
        cGen(root->sibling);  // * 这句一定要加
    } else if ("Iteration" == root->nodekind) {
        string l1 = getL(), l2 = getL();
        emit(l1 + ":\n");
        emit("if " + cGen(root->child[0]));
        emit(" goto ");
        emit(l2 + "\n");
        cGen(root->child[1]);
        emit(l2 + ":\n");
    } else if ("CompareOp" == root->nodekind) {
        // 比较操作符, 作为
        string reg1 = getR(), reg2 = cGen(root->child[0]), reg3 = cGen(root->child[1]);
        emit(reg1 + " = " + reg2 + " " + root->op + " " + reg3 + "\n");
        return reg1;
    } else if ("PMOp" == root->nodekind || "MDOp" == root->nodekind) {
        string reg1 = getR(), reg2 = cGen(root->child[0]), reg3 = cGen(root->child[1]);
        emit(reg1 + " = " + reg2 + " + " + reg3 + "\n");
        return reg1;
    } else if ("Id" == root->nodekind) {
        if (st_lookup(root->name) != -1) {
            string reg = getR();
            emit("LD " + reg + ", [" + to_string(symtabs[root->name].addr) + "]\n");
            return reg;
        } else {
            error("no such a id !!!");
            return "";
        }
    } else if ("Const" == root->nodekind) {
        string reg = getR();
        emit("LD " + reg + " " + to_string(root->val) + "\n");
        return reg;
    }
    return "";
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x508, %rsp            # imm = 0x508
movq %rdi, %rbx
testq %rsi, %rsi
je 0xd9b3
movq %rsi, %r14
leaq 0x3d8(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x30(%rsi), %rsi
movq 0x38(%r14), %rdx
addq %rsi, %rdx
leaq 0x3c8(%rsp), %r15
movq %r15, %rdi
callq 0x3c10
movq %r15, %rdi
callq 0xe7e0
leaq 0x30(%r14), %r15
movq 0x3c8(%rsp), %rdi
cmpq %r12, %rdi
je 0xc769
movq 0x3d8(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x8b41(%rip), %rsi      # 0x152b1
movq %r15, %rdi
callq 0x2090
testl %eax, %eax
je 0xc8c1
leaq 0x8b17(%rip), %rsi      # 0x1529e
movq %r15, %rdi
callq 0x2090
testl %eax, %eax
je 0xc92a
leaq 0x8a8c(%rip), %rsi      # 0x1522a
movq %r15, %rdi
callq 0x2090
testl %eax, %eax
je 0xc995
leaq 0x8af5(%rip), %rsi      # 0x152aa
movq %r15, %rdi
callq 0x2090
testl %eax, %eax
je 0xc9ca
leaq 0x8a69(%rip), %rsi      # 0x15235
movq %r15, %rdi
callq 0x2090
testl %eax, %eax
je 0xca8b
leaq 0x8a64(%rip), %rsi      # 0x15247
movq %r15, %rdi
callq 0x2090
testl %eax, %eax
je 0xcda2
leaq 0x8913(%rip), %rsi      # 0x1510d
movq %r15, %rdi
callq 0x2090
testl %eax, %eax
je 0xd09b
leaq 0x8a5f(%rip), %rsi      # 0x15270
movq %r15, %rdi
callq 0x2090
testl %eax, %eax
je 0xd005
leaq 0x8a43(%rip), %rsi      # 0x1526b
movq %r15, %rdi
callq 0x2090
testl %eax, %eax
je 0xd005
leaq 0x89e1(%rip), %rsi      # 0x15220
movq %r15, %rdi
callq 0x2090
testl %eax, %eax
je 0xd9e1
leaq 0x8a0f(%rip), %rsi      # 0x15265
movq %r15, %rdi
callq 0x2090
testl %eax, %eax
jne 0xd9b3
movq %rbx, %rdi
callq 0xc5a2
leaq 0x8e2c(%rip), %rsi      # 0x156a1
leaq 0x28(%rsp), %rdi
movq %rbx, %rdx
callq 0xb052
leaq 0x8ac4(%rip), %rsi      # 0x1534d
leaq 0x28(%rsp), %rdi
callq 0x2340
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xdaed
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xdaf4
movq 0x18(%r14), %rsi
leaq 0x4e8(%rsp), %r15
movq %r15, %rdi
callq 0xc6f8
movq (%r15), %rdi
leaq 0x4f8(%rsp), %rax
cmpq %rax, %rdi
je 0xc8f5
movq 0x4f8(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x20(%r14), %rsi
leaq 0x4c8(%rsp), %r14
movq %r14, %rdi
callq 0xc6f8
movq (%r14), %rdi
leaq 0x4d8(%rsp), %rax
cmpq %rax, %rdi
je 0xd9b3
movq 0x4d8(%rsp), %rsi
jmp 0xd9ab
movq (%r14), %rsi
movq 0x8(%r14), %r14
leaq 0x4a8(%rsp), %r15
movq %r15, %rdi
callq 0xc6f8
movq (%r15), %rdi
leaq 0x4b8(%rsp), %rax
cmpq %rax, %rdi
je 0xc961
movq 0x4b8(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x488(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0xc6f8
movq (%r15), %rdi
leaq 0x498(%rsp), %rax
cmpq %rax, %rdi
je 0xd9b3
movq 0x498(%rsp), %rsi
jmp 0xd9ab
movq 0x20(%r14), %rsi
leaq 0x468(%rsp), %r14
movq %r14, %rdi
callq 0xc6f8
movq (%r14), %rdi
leaq 0x478(%rsp), %rax
cmpq %rax, %rdi
je 0xd9b3
movq 0x478(%rsp), %rsi
jmp 0xd9ab
movq (%r14), %rax
leaq 0x3b8(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0xc0(%rax), %rsi
movq 0xc8(%rax), %rdx
addq %rsi, %rdx
leaq 0x3a8(%rsp), %r15
movq %r15, %rdi
callq 0x3c10
movq %r15, %rdi
callq 0xb10a
movl %eax, %ebp
movq 0x3a8(%rsp), %rdi
cmpq %r12, %rdi
je 0xca22
movq 0x3b8(%rsp), %rsi
incq %rsi
callq 0x21c0
cmpl $-0x1, %ebp
je 0xcfb4
leaq 0x68(%rsp), %r15
movq %r15, %rdi
callq 0xc5a2
leaq 0x8c62(%rip), %rsi      # 0x156a1
leaq 0x48(%rsp), %rdi
movq %r15, %rdx
callq 0xb052
leaq 0x8ddb(%rip), %rsi      # 0x1582e
leaq 0x48(%rsp), %rdi
callq 0x2340
leaq 0x38(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xd13a
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0xd142
movq (%r14), %rax
leaq 0x78(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0xc0(%rax), %rsi
movq 0xc8(%rax), %rdx
addq %rsi, %rdx
leaq 0x68(%rsp), %rdi
callq 0x3c10
leaq 0x8(%rsp), %rdi
callq 0xc44c
leaq 0x28(%rsp), %rdi
callq 0xc44c
movq (%r14), %rsi
leaq 0x48(%rsp), %rdi
callq 0xc6f8
leaq 0x8bde(%rip), %rsi      # 0x156b8
leaq 0x368(%rsp), %rdi
leaq 0x48(%rsp), %rdx
callq 0xe574
leaq 0x368(%rsp), %rdi
callq 0xe842
leaq 0x378(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xcb1a
movq 0x378(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xcb35
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x1d8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x8b73(%rip), %rsi      # 0x156bc
leaq 0x8b72(%rip), %rdx      # 0x156c2
leaq 0x1c8(%rsp), %rdi
callq 0x312c
leaq 0x1c8(%rsp), %rdi
callq 0xe842
movq 0x1c8(%rsp), %rdi
cmpq %r12, %rdi
je 0xcb87
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x884d(%rip), %rdx      # 0x153db
leaq 0x348(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xe788
leaq 0x348(%rsp), %rdi
callq 0xe842
leaq 0x358(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xcbce
movq 0x358(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x1b8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x8adb(%rip), %rsi      # 0x156bd
leaq 0x8ad9(%rip), %rdx      # 0x156c2
leaq 0x1a8(%rsp), %rdi
callq 0x312c
leaq 0x1a8(%rsp), %rdi
callq 0xe842
movq 0x1a8(%rsp), %rdi
cmpq %r12, %rdi
je 0xcc20
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x87b4(%rip), %rdx      # 0x153db
leaq 0x328(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xe788
leaq 0x328(%rsp), %rdi
callq 0xe842
leaq 0x338(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xcc67
movq 0x338(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x86f6(%rip), %rdx      # 0x15364
leaq 0x308(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xe788
leaq 0x308(%rsp), %rdi
callq 0xe842
leaq 0x318(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xccae
movq 0x318(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x8(%r14), %rsi
leaq 0x428(%rsp), %rdi
callq 0xc6f8
leaq 0x438(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xcce0
movq 0x438(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x867d(%rip), %rdx      # 0x15364
leaq 0x2e8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xe788
leaq 0x2e8(%rsp), %rdi
callq 0xe842
leaq 0x2f8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xcd27
movq 0x2f8(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x20(%r14), %rsi
leaq 0x408(%rsp), %rdi
callq 0xc6f8
leaq 0x418(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xcd59
movq 0x418(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xcd74
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xcd8f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
jne 0xcfaa
jmp 0xd9b3
leaq 0x68(%rsp), %rdi
callq 0xc44c
leaq 0x8(%rsp), %rdi
callq 0xc44c
leaq 0x85a7(%rip), %rdx      # 0x15364
leaq 0x2c8(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0xe788
leaq 0x2c8(%rsp), %rdi
callq 0xe842
leaq 0x2d8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xcdfd
movq 0x2d8(%rsp), %rsi
incq %rsi
callq 0x21c0
movq (%r14), %rsi
leaq 0x28(%rsp), %rdi
callq 0xc6f8
leaq 0x88a7(%rip), %rsi      # 0x156b8
leaq 0x2a8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0xe574
leaq 0x2a8(%rsp), %rdi
callq 0xe842
leaq 0x2b8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xce51
movq 0x2b8(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xce6c
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x198(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x883d(%rip), %rsi      # 0x156bc
leaq 0x883c(%rip), %rdx      # 0x156c2
leaq 0x188(%rsp), %rdi
callq 0x312c
leaq 0x188(%rsp), %rdi
callq 0xe842
movq 0x188(%rsp), %rdi
cmpq %r15, %rdi
je 0xcebd
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x8517(%rip), %rdx      # 0x153db
leaq 0x288(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xe788
leaq 0x288(%rsp), %rdi
callq 0xe842
leaq 0x298(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xcf04
movq 0x298(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x8(%r14), %rsi
leaq 0x3e8(%rsp), %rdi
callq 0xc6f8
leaq 0x3f8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xcf36
movq 0x3f8(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x8427(%rip), %rdx      # 0x15364
leaq 0x268(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xe788
leaq 0x268(%rsp), %rdi
callq 0xe842
leaq 0x278(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xcf7d
movq 0x278(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xcf98
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x78(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xd9b3
movq 0x78(%rsp), %rsi
jmp 0xd9ab
leaq 0x398(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x86e3(%rip), %rsi      # 0x156ab
leaq 0x86e8(%rip), %rdx      # 0x156b7
leaq 0x388(%rsp), %r15
movq %r15, %rdi
callq 0x312c
movq %r15, %rdi
callq 0xb641
movq 0x388(%rsp), %rdi
cmpq %r12, %rdi
je 0xd97f
movq 0x398(%rsp), %rsi
jmp 0xd977
movq %rbx, %rdi
callq 0xc5a2
movq (%r14), %rsi
leaq 0x68(%rsp), %rdi
callq 0xc6f8
movq 0x8(%r14), %rsi
leaq 0x8(%rsp), %rdi
callq 0xc6f8
leaq 0x8678(%rip), %rdx      # 0x156a7
leaq 0xa8(%rsp), %rdi
movq %rbx, %rsi
callq 0xe788
leaq 0x88(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x68(%rsp), %rdx
callq 0xe72e
leaq 0x8663(%rip), %rsi      # 0x156c3
leaq 0x88(%rsp), %rdi
callq 0x2340
leaq 0x58(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xd1d9
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0xd1e0
movq %rbx, %rdi
callq 0xc5a2
movq (%r14), %rsi
leaq 0x68(%rsp), %rdi
callq 0xc6f8
movq 0x8(%r14), %rsi
leaq 0x8(%rsp), %rdi
callq 0xc6f8
leaq 0x85e2(%rip), %rdx      # 0x156a7
leaq 0x228(%rsp), %rdi
movq %rbx, %rsi
callq 0xe788
leaq 0x248(%rsp), %rdi
leaq 0x228(%rsp), %rsi
leaq 0x68(%rsp), %rdx
callq 0xe72e
leaq 0x8257(%rip), %rsi      # 0x1534d
leaq 0x248(%rsp), %rdi
callq 0x2340
leaq 0xb8(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xd30b
movq %rdx, 0xa8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xb8(%rsp)
jmp 0xd312
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0xc0, %esi
addq (%r14), %rsi
leaq 0xe827(%rip), %rdi      # 0x1b990
callq 0xb6fa
movl 0x20(%rax), %r15d
movl %r15d, %ebp
negl %ebp
cmovsl %r15d, %ebp
movl $0x1, %r12d
cmpl $0xa, %ebp
jb 0xd53b
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0xd532
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0xd538
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0xd53b
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0xd197
addl $-0x3, %r12d
jmp 0xd53b
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x48(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xe72e
leaq 0x81c9(%rip), %rsi      # 0x153db
leaq 0x28(%rsp), %rdi
callq 0x2340
leaq 0x118(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xd24d
movq %rdx, 0x108(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x118(%rsp)
jmp 0xd255
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x108(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0xe842
movq 0x108(%rsp), %rdi
cmpq %r12, %rdi
je 0xd296
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xd2b1
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x48(%rsp), %rdi
cmpq %r15, %rdi
je 0xd2c8
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xd2e9
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0xb8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xd4f3
movq 0xb8(%rsp), %rsi
jmp 0xd4eb
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0xa8(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
addq $0x98, %r14
leaq 0x88(%rsp), %rdi
movq %r14, %rdx
callq 0xe72e
leaq 0x7ffe(%rip), %rsi      # 0x1534d
leaq 0x88(%rsp), %rdi
callq 0x2340
leaq 0x58(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xd384
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0xd38c
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x48(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xe72e
leaq 0x801d(%rip), %rsi      # 0x153db
leaq 0x28(%rsp), %rdi
callq 0x2340
leaq 0x138(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xd3f8
movq %rdx, 0x128(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x138(%rsp)
jmp 0xd400
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
leaq 0x128(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0xe842
movq 0x128(%rsp), %rdi
cmpq %r13, %rdi
je 0xd441
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xd45c
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
je 0xd473
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xd494
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0xa8(%rsp), %rdi
cmpq %r15, %rdi
je 0xd4b1
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x258(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xd4d2
movq 0x258(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x238(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xd4f3
movq 0x238(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xd50e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x78(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xd9cc
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xd9cc
addl $-0x2, %r12d
jmp 0xd53b
decl %r12d
shrl $0x1f, %r15d
leal (%r12,%r15), %esi
leaq 0x98(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x88(%rsp), %rdi
movl $0x2d, %edx
callq 0x2230
addq 0x88(%rsp), %r15
movq %r15, %rdi
movl %r12d, %esi
movl %ebp, %edx
callq 0xafe5
movq 0x28(%rsp), %rcx
movq 0x30(%rsp), %r8
movq 0x90(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %edi
cmpq %r13, %rcx
je 0xd59b
movq 0x38(%rsp), %rdi
movq 0x88(%rsp), %rsi
cmpq %rdi, %rax
leaq 0x98(%rsp), %rbp
jbe 0xd5c7
movl $0xf, %edi
cmpq %rbp, %rsi
je 0xd5c2
movq 0x98(%rsp), %rdi
cmpq %rdi, %rax
jbe 0xd5d3
leaq 0x28(%rsp), %rdi
callq 0x20a0
jmp 0xd5e4
leaq 0x88(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x2200
leaq 0x18(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0xd608
movq %rsi, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xd60e
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x7da9(%rip), %rsi      # 0x153db
leaq 0x8(%rsp), %rdi
callq 0x2340
leaq 0x178(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xd66c
movq %rdx, 0x168(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x178(%rsp)
jmp 0xd673
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x168(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0xe842
movq 0x168(%rsp), %rdi
cmpq %r15, %rdi
je 0xd6b4
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x18(%rsp), %r15
movq -0x10(%r15), %rdi
cmpq %r15, %rdi
je 0xd6cf
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x88(%rsp), %rdi
cmpq %rbp, %rdi
je 0xd6ec
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0xd703
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x58(%rsp), %r12
movq -0x10(%r12), %rdi
cmpq %r12, %rdi
je 0xd71f
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x8(%r14), %rsi
leaq 0x8(%rsp), %rdi
callq 0xc6f8
leaq 0x7f95(%rip), %rsi      # 0x156c9
leaq 0xa8(%rsp), %rdi
leaq 0x68(%rsp), %rdx
callq 0xb052
leaq 0x7f58(%rip), %rsi      # 0x156a5
leaq 0xa8(%rsp), %rdi
callq 0x2340
movq %rbp, 0x88(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xd786
movq %rdx, 0x88(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x98(%rsp)
jmp 0xd78d
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
leaq 0x88(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x7ef4(%rip), %rsi      # 0x156a7
callq 0x2340
movq %r12, 0x48(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xd7db
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0xd7e3
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x48(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
callq 0x20a0
movq %r13, 0x28(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xd831
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0xd839
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
leaq 0x28(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x7b7f(%rip), %rsi      # 0x153db
callq 0x2340
leaq 0x158(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xd891
movq %rdx, 0x148(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x158(%rsp)
jmp 0xd898
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
leaq 0x148(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0xe842
movq 0x148(%rsp), %rdi
cmpq %rbp, %rdi
je 0xd8d9
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
leaq 0x98(%rsp), %r13
je 0xd8f8
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
je 0xd90f
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x88(%rsp), %rdi
cmpq %r13, %rdi
je 0xd92c
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0xb8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xd94d
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xd964
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x78(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xd97f
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x20(%r14), %rsi
leaq 0x448(%rsp), %r14
movq %r14, %rdi
callq 0xc6f8
movq (%r14), %rdi
leaq 0x458(%rsp), %rax
cmpq %rax, %rdi
je 0xd9b3
movq 0x458(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x7d6b(%rip), %rdx      # 0x1572c
movq %rbx, %rdi
movq %rdx, %rsi
callq 0x312c
movq %rbx, %rax
addq $0x508, %rsp            # imm = 0x508
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x218(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0xc0(%r14), %rsi
movq 0xc8(%r14), %rdx
addq %rsi, %rdx
leaq 0x208(%rsp), %r15
movq %r15, %rdi
callq 0x3c10
movq %r15, %rdi
callq 0xb10a
movl %eax, %ebp
movq 0x208(%rsp), %rdi
cmpq %r12, %rdi
je 0xda36
movq 0x218(%rsp), %rsi
incq %rsi
callq 0x21c0
cmpl $-0x1, %ebp
je 0xda9d
movq %rbx, %rdi
callq 0xc5a2
leaq 0x7c57(%rip), %rsi      # 0x156a1
leaq 0x28(%rsp), %rdi
movq %rbx, %rdx
callq 0xb052
leaq 0x7c69(%rip), %rsi      # 0x156c7
leaq 0x28(%rsp), %rdi
callq 0x2340
addq $0xc0, %r14
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xdb7a
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xdb81
leaq 0x1f8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x7c1b(%rip), %rsi      # 0x156cb
leaq 0x7c24(%rip), %rdx      # 0x156db
leaq 0x1e8(%rsp), %r14
movq %r14, %rdi
callq 0x312c
movq %r14, %rdi
callq 0xb641
movq 0x1e8(%rsp), %rdi
cmpq %r15, %rdi
je 0xd9b3
movq 0x1f8(%rsp), %rsi
jmp 0xd9ab
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl 0xb8(%r14), %esi
leaq 0x48(%rsp), %rdi
callq 0xe5e4
leaq 0x68(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x48(%rsp), %rdx
callq 0xe686
leaq 0x78a3(%rip), %rsi      # 0x153db
leaq 0x68(%rsp), %rdi
callq 0x2340
leaq 0xd8(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xdc0b
movq %rdx, 0xc8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xd8(%rsp)
jmp 0xdc13
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xddf0(%rip), %rdi      # 0x1b990
movq %r14, %rsi
callq 0xb6fa
movl 0x20(%rax), %esi
leaq 0x48(%rsp), %rdi
callq 0xe5e4
leaq 0x68(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x48(%rsp), %rdx
callq 0xe686
leaq 0x7783(%rip), %rsi      # 0x15353
leaq 0x68(%rsp), %rdi
callq 0x2340
leaq 0xf8(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xdc4e
movq %rdx, 0xe8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xf8(%rsp)
jmp 0xdc56
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0xc8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0xe842
movq 0xc8(%rsp), %rdi
cmpq %r12, %rdi
je 0xdc97
movq 0xd8(%rsp), %rsi
jmp 0xdc8f
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0xe8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0xe842
movq 0xe8(%rsp), %rdi
cmpq %r12, %rdi
je 0xdc97
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x78(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xdcb2
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xdccd
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xdce4
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xd9cc
movq 0x38(%rsp), %rsi
jmp 0xd525
movq %rax, %r14
movq 0x1e8(%rsp), %rdi
cmpq %r15, %rdi
je 0xe480
movq 0x1f8(%rsp), %rsi
jmp 0xe478
movq %rax, %r14
movq 0xe8(%rsp), %rdi
cmpq %r12, %rdi
je 0xdd64
movq 0xf8(%rsp), %rsi
jmp 0xdd55
jmp 0xdd61
movq %rax, %r14
movq 0xc8(%rsp), %rdi
cmpq %r12, %rdi
je 0xdd64
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xdd64
jmp 0xdd81
movq %rax, %r14
leaq 0x78(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xdd84
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xdd84
movq %rax, %r14
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xddd8
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xddd8
jmp 0xddd5
jmp 0xddaa
jmp 0xdff5
movq %rax, %r14
jmp 0xddef
jmp 0xdff5
movq %rax, %r14
movq 0x208(%rsp), %rdi
cmpq %r12, %rdi
je 0xe480
movq 0x218(%rsp), %rsi
jmp 0xe478
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xddef
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xdff8
movq 0x38(%rsp), %rsi
jmp 0xdfeb
movq %rax, %r14
movq 0x128(%rsp), %rdi
cmpq %r13, %rdi
je 0xde30
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xde30
movq %rax, %r14
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xde50
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xde50
movq %rax, %r14
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
je 0xde6c
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xde6c
movq %rax, %r14
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xde92
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xde92
movq %rax, %r14
movq 0xa8(%rsp), %rdi
cmpq %r15, %rdi
je 0xdeb4
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xdeb4
movq %rax, %r14
leaq 0x258(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xdeda
movq 0x258(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xdeda
movq %rax, %r14
leaq 0x238(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xdfb8
movq 0x238(%rsp), %rsi
jmp 0xdfab
jmp 0xdfb5
jmp 0xdfd5
jmp 0xdff5
movq %rax, %r14
movq 0x108(%rsp), %rdi
cmpq %r12, %rdi
je 0xdf30
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xdf30
movq %rax, %r14
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xdf50
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xdf50
movq %rax, %r14
movq 0x48(%rsp), %rdi
cmpq %r15, %rdi
je 0xdf6c
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xdf6c
movq %rax, %r14
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xdf92
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xdf92
movq %rax, %r14
leaq 0xb8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xdfb8
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xdfb8
movq %rax, %r14
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xdfd8
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xdfd8
movq %rax, %r14
leaq 0x78(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xdff8
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xdff8
movq %rax, %r14
movq (%rbx), %rdi
addq $0x10, %rbx
cmpq %rbx, %rdi
je 0xe480
movq (%rbx), %rsi
jmp 0xe478
movq %rax, %r14
movq 0x388(%rsp), %rdi
cmpq %r12, %rdi
je 0xe480
movq 0x398(%rsp), %rsi
jmp 0xe478
movq %rax, %r14
leaq 0x278(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe3eb
movq 0x278(%rsp), %rsi
jmp 0xe105
movq %rax, %r14
leaq 0x298(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe3eb
movq 0x298(%rsp), %rsi
jmp 0xe105
movq %rax, %r14
movq 0x188(%rsp), %rdi
cmpq %r15, %rdi
je 0xe3eb
movq 0x198(%rsp), %rsi
jmp 0xe105
jmp 0xe3e8
movq %rax, %r14
leaq 0x2b8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe0c7
movq 0x2b8(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xe0c7
movq %rax, %r14
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe3eb
movq 0x38(%rsp), %rsi
jmp 0xe105
jmp 0xe3e8
movq %rax, %r14
leaq 0x2d8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe3eb
movq 0x2d8(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xe3eb
jmp 0xe38b
movq %rax, %r14
leaq 0x2f8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe419
movq 0x2f8(%rsp), %rsi
jmp 0xe36c
movq %rax, %r14
movq 0x148(%rsp), %rdi
cmpq %rbp, %rdi
je 0xe186
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xe186
movq %rax, %r14
leaq 0x318(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe419
movq 0x318(%rsp), %rsi
jmp 0xe36c
movq %rax, %r14
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0xe1a2
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xe1a2
movq %rax, %r14
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
je 0xe1e3
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xe1e3
movq %rax, %r14
leaq 0x338(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe419
movq 0x338(%rsp), %rsi
jmp 0xe36c
movq %rax, %r14
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0xe20d
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xe20d
movq %rax, %r14
leaq 0xb8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe254
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xe254
movq %rax, %r14
movq 0x1a8(%rsp), %rdi
cmpq %r12, %rdi
je 0xe419
movq 0x1b8(%rsp), %rsi
jmp 0xe36c
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
jne 0xe3f9
jmp 0xe406
jmp 0xe416
jmp 0xe38b
movq %rax, %r14
leaq 0x358(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe419
movq 0x358(%rsp), %rsi
jmp 0xe36c
movq %rax, %r14
movq 0x168(%rsp), %rdi
cmpq %r15, %rdi
je 0xe2bb
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xe2bb
movq %rax, %r14
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe2f9
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xe2f9
movq %rax, %r14
movq 0x1c8(%rsp), %rdi
cmpq %r12, %rdi
je 0xe419
movq 0x1d8(%rsp), %rsi
jmp 0xe36c
movq %rax, %r14
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0xe3bc
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xe3bc
jmp 0xe416
movq %rax, %r14
leaq 0x378(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe355
movq 0x378(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xe355
movq %rax, %r14
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe419
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x21c0
jmp 0xe419
jmp 0xe416
movq %rax, %r14
jmp 0xe3d3
movq %rax, %r14
jmp 0xe434
movq %rax, %r14
jmp 0xe406
movq %rax, %r14
jmp 0xe44f
movq %rax, %r14
movq 0x3a8(%rsp), %rdi
cmpq %r12, %rdi
je 0xe480
movq 0x3b8(%rsp), %rsi
jmp 0xe478
movq %rax, %r14
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0xe3d3
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe406
movq 0x58(%rsp), %rsi
jmp 0xe3fe
movq %rax, %r14
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe406
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x78(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0xe459
jmp 0xe480
movq %rax, %r14
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe434
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe44f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21c0
movq 0x68(%rsp), %rdi
cmpq %r15, %rdi
je 0xe480
movq 0x78(%rsp), %rsi
jmp 0xe478
movq %rax, %r14
movq 0x3c8(%rsp), %rdi
cmpq %r12, %rdi
je 0xe480
movq 0x3d8(%rsp), %rsi
incq %rsi
callq 0x21c0
movq %r14, %rdi
callq 0x2310