// File: /workspace/github_cpp_makefile_star2_O1/pollow[P]MIPSClide/assembler.cpp
// Function: Assembler::parse()
void Assembler::parse() {
    // No white space at the begin and end of instruction
    static vector<regex> types {
        // command reg1, reg2, imm I-0
        regex("(\\w+)\\s*\\$(\\w+)\\s*,\\s*\\$(\\w+)\\s*,\\s*(-?\\d+)"),
        // command reg1, imm I-1
        regex("(\\w+)\\s*\\$(\\w+)\\s*,\\s*(-?\\d+)"),
        // command reg1, reg2, label I-2
        regex("(\\w+)\\s*\\$(\\w+)\\s*,\\s*\\$(\\w+)\\s*,\\s*(\\w+)"),
        // command reg1, label I-3
        regex("(\\w+)\\s*\\$(\\w+)\\s*,\\s*(\\w+)"),
        // command reg1, number(reg2) I-4
        regex("(\\w+)\\s*\\$(\\w+)\\s*,\\s*(-?\\d+)\\s*\\(\\s*\\$(\\w+)\\s*\\)"),
        // command reg1, reg2, reg3 R-0
        regex("(\\w+)\\s*\\$(\\w+)\\s*,\\s*\\$(\\w+)\\s*,\\s*\\$(\\w+)"),
        // command reg1, reg2 R-1
        regex("(\\w+)\\s*\\$(\\w+)\\s*,\\s*\\$(\\w+)"),
        // command reg1 R-2
        regex("(\\w+)\\s*\\$(\\w+)"),
        // command reg1, reg2, shamt R-3 useless, same as the first.
        regex("(\\w+)\\s*\\$(\\w+)\\s*,\\s*\\$(\\w+)\\s*,\\s*(-?\\d+)"),
        // command label J-0
        regex("(\\w+)\\s*(\\w+)")
    };

    smatch result;
    for(auto i = statements.begin(); i != statements.end(); i++) {
        try {
            // static regex comma_split("(^\\s+)|(\\s+$)");
            static regex comma_split(",");
            if ( tolower((*i)[0]) == 'd' && tolower((*i)[1]) == 'd' ) {
                string data = i->substr(3, i->size()-3);
                data = regex_replace(data, comma_split, " ");
                for(auto j = labels.begin(); j != labels.end(); j++) {
                    if (data.find(j->first) != string::npos) {
                        data = regex_replace(data, regex(j->first), (stringstream() << j->second).str());
                    }
                }
                stringstream buffer( data );
                buffer >> setbase(0);
                for(unsigned int i; buffer >> i; ) {
                    machine_code.push_back(i);
                }
            } else if ( i->substr(0, 4) == "resd" || i->substr(0, 4) == "RESD" ) {
                string data = i->substr(4, i->size()-4);
                stringstream buffer( data );
                int count;
                buffer >> setbase(0) >> count;
                for(int i = 0; i < count; i++) machine_code.push_back(0);
            } else {
                auto j = types.begin();
                for(; j != types.end(); j++) 
                    if ( regex_match(*i, result, *j) ) {
                        // cout << *i << endl;
                        elements.push_back( {} );
                        for(size_t k = 1; k < result.size(); k++) 
                            elements.back().push_back(result[k].str());
                        Instruction *tmp;
                        int imm = 0;
                        switch (j-types.begin()) {
                            case 0 : 
                                tmp = new Instruction(result[1].str(), result[2].str(), result[3].str(),
                                        atoi(result[4].str().c_str()), 'I');
                                break;
                            case 1 : 
                                tmp = new Instruction(result[1].str(), result[2].str(), 
                                        atoi(result[3].str().c_str()), 'I');
                                break;
                            case 2 : 
                                if (!labels.count(result[4].str())) {
                                    throw invalid_argument("Label undefined");
                                }
                                imm = labels[result[4].str()] - (i - statements.begin()+1) & ((1 << 16) - 1);
                                tmp = new Instruction(result[1].str(), result[2].str(), result[3].str(), imm, 'I');
                                break;
                            case 3 : 
                                if (!labels.count(result[4].str())) {
                                    throw invalid_argument("Label undefined");
                                }
                                imm = labels[result[4].str()] - (i - statements.begin()+1) & ((1 << 16) - 1);
                                tmp = new Instruction(result[1].str(), result[2].str(), imm, 'I');
                                break;
                            case 4 : 
                                tmp = new Instruction(result[1].str(), result[2].str(), atoi(result[3].str().c_str()),
                                        result[4].str(), 'I');
                                break;
                            case 5 : 
                                tmp = new Instruction(result[1].str(), result[2].str(), result[3].str(), 
                                        result[4].str(), 'R');
                                break;
                            case 6 : 
                                tmp = new Instruction(result[1].str(), result[2].str(), result[3].str(), 'R');
                                break;
                            case 7 : 
                                tmp = new Instruction(result[1].str(), result[2].str(), 'R');
                                break;
                            case 8 : 
                                tmp = new Instruction(result[1].str(), result[2].str(), 
                                        atoi(result[3].str().c_str()), 'R');
                                break;
                            case 9 : 
                                if (!labels.count(result[2].str())) {
                                    throw invalid_argument("Label undefined");
                                }
                                imm = labels[result[2].str()];
                                tmp = new Instruction(result[1].str(), imm, 'J');
                                break;
                        }
                        machine_code.push_back(tmp->compile());
                        break;
                    }
                if ( j == types.end() ) {
                    throw invalid_argument("Syntax Error");
                }
            }
        } catch(exception &err) {
            throw invalid_argument("Error occurs when parsing:\n\t" + string(err.what()) + "\n\t\tat " + (*i));
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2a8, %rsp            # imm = 0x2A8
movq %rdi, %r14
movb 0x21277(%rip), %al      # 0x2b768
testb %al, %al
movq %rdi, -0x98(%rbp)
je 0xc30e
xorps %xmm0, %xmm0
movaps %xmm0, -0x80(%rbp)
movaps %xmm0, -0x90(%rbp)
movq 0x20(%r14), %rax
movq %rax, -0xa0(%rbp)
cmpq 0x28(%r14), %rax
je 0xc2b4
leaq -0x250(%rbp), %r12
leaq 0x38(%r14), %rax
movq %rax, -0x280(%rbp)
leaq 0x68(%r14), %rax
movq %rax, -0xc8(%rbp)
leaq 0x70(%r14), %rax
movq %rax, -0xd0(%rbp)
leaq 0x50(%r14), %rax
movq %rax, -0x270(%rbp)
leaq -0x260(%rbp), %rax
addq $0x80, %rax
movq %rax, -0x278(%rbp)
movb 0x21220(%rip), %al      # 0x2b790
testb %al, %al
je 0xc24f
movq -0xa0(%rbp), %rax
movq (%rax), %rbx
movsbl (%rbx), %edi
callq 0x5430
cmpl $0x64, %eax
jne 0xa7ea
movsbl 0x1(%rbx), %edi
callq 0x5430
cmpl $0x64, %eax
jne 0xa7ea
movq -0xa0(%rbp), %rsi
movq 0x8(%rsi), %rcx
addq $-0x3, %rcx
movl $0x3, %edx
leaq -0x48(%rbp), %rdi
callq 0x5340
movq %r12, -0x260(%rbp)
movq $0x0, -0x258(%rbp)
movb $0x0, -0x250(%rbp)
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
addq %rsi, %rdx
movl $0x0, (%rsp)
movl $0x1, %r9d
leaq -0x260(%rbp), %rbx
movq %rbx, %rdi
leaq 0x2116c(%rip), %rcx     # 0x2b770
leaq 0x17da5(%rip), %r8      # 0x223b0
callq 0x19421
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x53c0
movq -0x260(%rbp), %rdi
cmpq %r12, %rdi
je 0xa62d
callq 0x52d0
movq 0x80(%r14), %r13
cmpq -0xd0(%rbp), %r13
movq -0x278(%rbp), %r15
leaq -0x248(%rbp), %r12
je 0xa764
movq 0x20(%r13), %rsi
movq 0x28(%r13), %rcx
leaq -0x48(%rbp), %rdi
xorl %edx, %edx
callq 0x5540
cmpq $-0x1, %rax
je 0xa74c
leaq 0x20(%r13), %rsi
leaq -0xc0(%rbp), %rdi
movl $0x10, %edx
callq 0xd788
leaq -0x260(%rbp), %rdi
callq 0x5240
movl 0x40(%r13), %esi
leaq -0x250(%rbp), %rdi
callq 0x5520
leaq -0x2a0(%rbp), %rdi
movq %r12, %rsi
callq 0x5490
leaq -0x60(%rbp), %r14
movq %r14, -0x70(%rbp)
movq $0x0, -0x68(%rbp)
movb $0x0, -0x60(%rbp)
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
addq %rsi, %rdx
movq -0x2a0(%rbp), %r8
movq -0x298(%rbp), %r9
movl $0x0, (%rsp)
leaq -0x70(%rbp), %rbx
movq %rbx, %rdi
leaq -0xc0(%rbp), %rcx
callq 0x19421
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x53c0
movq -0x70(%rbp), %rdi
cmpq %r14, %rdi
je 0xa70d
callq 0x52d0
movq -0x2a0(%rbp), %rdi
leaq -0x290(%rbp), %rax
cmpq %rax, %rdi
je 0xa725
callq 0x52d0
leaq -0x260(%rbp), %rdi
movq 0x20835(%rip), %rsi     # 0x2af68
callq 0x5270
movq %r15, %rdi
callq 0x50e0
leaq -0xc0(%rbp), %rdi
callq 0xd6d6
movq %r13, %rdi
callq 0x5230
movq %rax, %r13
cmpq -0xd0(%rbp), %rax
jne 0xa64f
leaq -0x260(%rbp), %rdi
leaq -0x48(%rbp), %rsi
movl $0x18, %edx
callq 0x54a0
movq -0x260(%rbp), %rax
movq -0x18(%rax), %rax
andl $-0x4b, -0x248(%rbp,%rax)
movq -0x98(%rbp), %r14
leaq -0x250(%rbp), %r12
movq -0x270(%rbp), %rbx
leaq -0x260(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x5550
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0xa935
movq 0x58(%r14), %rsi
cmpq 0x60(%r14), %rsi
je 0xa7dc
movl -0x70(%rbp), %eax
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x58(%r14)
jmp 0xa7a1
movq %rbx, %rdi
leaq -0x70(%rbp), %rdx
callq 0x924a
jmp 0xa7a1
movl $0x4, %ecx
leaq -0x260(%rbp), %rbx
movq %rbx, %rdi
movq -0xa0(%rbp), %rsi
xorl %edx, %edx
callq 0x5340
movq %rbx, %rdi
leaq 0x16baf(%rip), %rsi     # 0x213c0
callq 0x50b0
movl %eax, %r13d
testl %eax, %eax
leaq -0x2c0(%rbp), %rbx
je 0xa850
movl $0x4, %ecx
movq %rbx, %rdi
movq -0xa0(%rbp), %rsi
xorl %edx, %edx
callq 0x5340
movq %rbx, %rdi
leaq 0x16b81(%rip), %rsi     # 0x213c5
callq 0x50b0
testl %eax, %eax
sete %bl
jmp 0xa852
movb $0x1, %bl
testl %r13d, %r13d
leaq -0x250(%rbp), %r12
je 0xa876
movq -0x2c0(%rbp), %rdi
leaq -0x2b0(%rbp), %rax
cmpq %rax, %rdi
je 0xa876
callq 0x52d0
movq -0x260(%rbp), %rdi
cmpq %r12, %rdi
je 0xa887
callq 0x52d0
testb %bl, %bl
je 0xa96f
movq -0xa0(%rbp), %rsi
movq 0x8(%rsi), %rcx
addq $-0x4, %rcx
movl $0x4, %edx
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x5340
leaq -0x260(%rbp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
movl $0x18, %edx
callq 0x54a0
movq -0x98(%rbp), %r14
movq -0x270(%rbp), %r15
movq -0x260(%rbp), %rax
movq -0x18(%rax), %rax
andl $-0x4b, -0x248(%rbp,%rax)
movq %rbx, %rdi
leaq -0x70(%rbp), %rsi
callq 0x51d0
cmpl $0x0, -0x70(%rbp)
jle 0xa935
xorl %ebx, %ebx
movl $0x0, -0xc0(%rbp)
movq 0x58(%r14), %rsi
cmpq 0x60(%r14), %rsi
je 0xa91f
movl $0x0, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x58(%r14)
jmp 0xa92e
movq %r15, %rdi
leaq -0xc0(%rbp), %rdx
callq 0x1c02e
incl %ebx
cmpl -0x70(%rbp), %ebx
jl 0xa8fb
leaq -0x260(%rbp), %rdi
movq 0x20625(%rip), %rsi     # 0x2af68
callq 0x5270
movq -0x278(%rbp), %rdi
callq 0x50e0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xbf70
callq 0x52d0
jmp 0xbf70
movq 0x20dda(%rip), %r14     # 0x2b750
cmpq 0x20ddb(%rip), %r14     # 0x2b758
je 0xa9d3
movq %r14, %r13
negq %r13
leaq -0x90(%rbp), %rbx
movq -0xa0(%rbp), %rax
movq (%rax), %rdi
movq 0x8(%rax), %rsi
addq %rdi, %rsi
movq %rbx, %rdx
movq %r14, %rcx
xorl %r8d, %r8d
callq 0x1c102
testb %al, %al
jne 0xa9e6
addq $0x20, %r14
addq $-0x20, %r13
cmpq 0x20d9a(%rip), %r14     # 0x2b758
jne 0xa98c
movq %r14, -0x268(%rbp)
movq -0x98(%rbp), %r14
jmp 0xbf55
movq %r14, -0x268(%rbp)
movq -0x98(%rbp), %r14
jmp 0xbf5c
xorps %xmm0, %xmm0
movaps %xmm0, -0x260(%rbp)
movq $0x0, -0x250(%rbp)
movq -0x280(%rbp), %rdi
leaq -0x260(%rbp), %rbx
movq %rbx, %rsi
callq 0x1c2d8
movq %r14, -0x268(%rbp)
movq %rbx, %rdi
callq 0x8e9e
movl $0x1, %r15d
movl $0x18, %r12d
movq -0x90(%rbp), %r14
movq -0x88(%rbp), %rbx
cmpq %rbx, %r14
je 0xaa5d
movq %rbx, %rax
subq %r14, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x3, %rax
jmp 0xaa5f
xorl %eax, %eax
cmpq %rax, %r15
jae 0xab30
cmpq %rbx, %r14
je 0xaa8b
movq %rbx, %rax
subq %r14, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x3, %rax
jmp 0xaa8d
xorl %eax, %eax
cmpq %r15, %rax
ja 0xaa9b
addq $-0x48, %rbx
movq %rbx, %r14
jmp 0xaa9e
addq %r12, %r14
movq -0x98(%rbp), %rax
movq 0x40(%rax), %rbx
cmpb $0x1, 0x10(%r14)
jne 0xaad6
movq (%r14), %rsi
movq 0x8(%r14), %rdx
leaq -0x250(%rbp), %rax
movq %rax, -0x260(%rbp)
leaq -0x260(%rbp), %r14
movq %r14, %rdi
callq 0x1c502
jmp 0xaafd
leaq -0x250(%rbp), %rax
movq %rax, -0x260(%rbp)
movq $0x0, -0x258(%rbp)
movb $0x0, -0x250(%rbp)
leaq -0x260(%rbp), %r14
addq $-0x18, %rbx
movq %rbx, %rdi
movq %r14, %rsi
callq 0xa138
movq -0x260(%rbp), %rdi
leaq -0x250(%rbp), %rax
cmpq %rax, %rdi
je 0xab24
callq 0x52d0
incq %r15
addq $0x18, %r12
jmp 0xaa2c
addq 0x20c19(%rip), %r13     # 0x2b750
negq %r13
sarq $0x5, %r13
cmpq $0x9, %r13
ja 0xbf16
leaq 0x16661(%rip), %rcx     # 0x211b0
movslq (%rcx,%r13,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x98, %edi
leaq -0x60(%rbp), %r15
callq 0x5310
movq %rax, -0x50(%rbp)
leaq -0x250(%rbp), %r12
cmpq %rbx, %r14
je 0xb174
movq %rbx, %rax
subq %r14, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x5, %rax
cmpq $-0x2, %rax
setb %al
jmp 0xb176
movl $0x98, %edi
leaq -0x60(%rbp), %r15
callq 0x5310
movq %rax, -0x50(%rbp)
leaq -0x250(%rbp), %r12
cmpq %rbx, %r14
je 0xb060
movq %rbx, %rax
subq %r14, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x5, %rax
cmpq $-0x2, %rax
setb %al
jmp 0xb062
cmpq %rbx, %r14
je 0xaded
movq %rbx, %rax
subq %r14, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x6, %rax
cmpq $-0x3, %rax
setb %al
jmp 0xadef
cmpq %rbx, %r14
je 0xaeb8
movq %rbx, %rax
subq %r14, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x8, %rax
cmpq $-0x5, %rax
setb %al
jmp 0xaeba
cmpq %rbx, %r14
je 0xaf8e
movq %rbx, %rax
subq %r14, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x8, %rax
cmpq $-0x5, %rax
setb %al
jmp 0xaf90
movl $0x98, %edi
callq 0x5310
movq %rax, -0x50(%rbp)
leaq -0x250(%rbp), %r15
cmpq %rbx, %r14
je 0xb0ea
movq %rbx, %rax
subq %r14, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x5, %rax
cmpq $-0x2, %rax
setb %al
jmp 0xb0ec
movl $0x98, %edi
leaq -0x60(%rbp), %r12
callq 0x5310
movq %rax, -0x50(%rbp)
leaq -0x250(%rbp), %r15
cmpq %rbx, %r14
je 0xb1fe
movq %rbx, %rax
subq %r14, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x5, %rax
cmpq $-0x2, %rax
setb %al
jmp 0xb200
movl $0x98, %edi
leaq -0x60(%rbp), %r15
callq 0x5310
movq %rax, -0x50(%rbp)
leaq -0x250(%rbp), %r12
cmpq %rbx, %r14
je 0xb288
movq %rbx, %rax
subq %r14, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x5, %rax
cmpq $-0x2, %rax
setb %al
jmp 0xb28a
movl $0x98, %edi
leaq -0x60(%rbp), %r12
callq 0x5310
movq %rax, -0x50(%rbp)
leaq -0x250(%rbp), %r15
cmpq %rbx, %r14
je 0xb312
movq %rbx, %rax
subq %r14, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x5, %rax
cmpq $-0x2, %rax
setb %al
jmp 0xb314
movl $0x98, %edi
leaq -0x60(%rbp), %r12
callq 0x5310
movq %rax, -0x50(%rbp)
leaq -0x250(%rbp), %r15
cmpq %rbx, %r14
je 0xb39c
movq %rbx, %rax
subq %r14, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x5, %rax
cmpq $-0x2, %rax
setb %al
jmp 0xb39e
xorl %eax, %eax
leaq -0x250(%rbp), %r15
addq $0x30, %r14
addq $-0x48, %rbx
testb %al, %al
cmovneq %r14, %rbx
cmpb $0x1, 0x10(%rbx)
jne 0xae29
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r15, -0x260(%rbp)
leaq -0x260(%rbp), %rbx
movq %rbx, %rdi
callq 0x1c502
jmp 0xae49
movq %r15, -0x260(%rbp)
movq $0x0, -0x258(%rbp)
movb $0x0, -0x250(%rbp)
leaq -0x260(%rbp), %rbx
movq -0xc8(%rbp), %rdi
movq %rbx, %rsi
callq 0x1c580
movq %rax, %rbx
movq -0x260(%rbp), %rdi
cmpq %r15, %rdi
je 0xae6c
callq 0x52d0
cmpq -0xd0(%rbp), %rbx
je 0xc4a3
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xbaf7
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x6, %rdx
cmpq $-0x3, %rdx
setb %dl
jmp 0xbaf9
xorl %eax, %eax
leaq -0x60(%rbp), %r12
movq -0x98(%rbp), %r15
leaq -0x250(%rbp), %r13
addq $0x60, %r14
addq $-0x48, %rbx
testb %al, %al
cmovneq %r14, %rbx
cmpb $0x1, 0x10(%rbx)
jne 0xaeff
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r13, -0x260(%rbp)
leaq -0x260(%rbp), %rbx
movq %rbx, %rdi
callq 0x1c502
jmp 0xaf1f
movq %r13, -0x260(%rbp)
movq $0x0, -0x258(%rbp)
movb $0x0, -0x250(%rbp)
leaq -0x260(%rbp), %rbx
movq -0xc8(%rbp), %rdi
movq %rbx, %rsi
callq 0x1c580
movq %rax, %rbx
movq -0x260(%rbp), %rdi
cmpq %r13, %rdi
je 0xaf42
callq 0x52d0
cmpq -0xd0(%rbp), %rbx
je 0xc4df
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xbbbc
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x8, %rdx
cmpq $-0x5, %rdx
setb %dl
jmp 0xbbbe
xorl %eax, %eax
movq -0x98(%rbp), %r15
leaq -0x250(%rbp), %r12
addq $0x60, %r14
addq $-0x48, %rbx
testb %al, %al
cmovneq %r14, %rbx
cmpb $0x1, 0x10(%rbx)
jne 0xafd1
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r12, -0x260(%rbp)
leaq -0x260(%rbp), %rbx
movq %rbx, %rdi
callq 0x1c502
jmp 0xaff1
movq %r12, -0x260(%rbp)
movq $0x0, -0x258(%rbp)
movb $0x0, -0x250(%rbp)
leaq -0x260(%rbp), %rbx
movq -0xc8(%rbp), %rdi
movq %rbx, %rsi
callq 0x1c580
movq %rax, %rbx
movq -0x260(%rbp), %rdi
cmpq %r12, %rdi
je 0xb014
callq 0x52d0
cmpq -0xd0(%rbp), %rbx
je 0xc4c1
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xbc94
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x8, %rdx
cmpq $-0x5, %rdx
setb %dl
jmp 0xbc96
xorl %eax, %eax
addq $0x18, %r14
addq $-0x48, %rbx
testb %al, %al
cmovneq %r14, %rbx
cmpb $0x1, 0x10(%rbx)
jne 0xb092
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r12, -0x260(%rbp)
leaq -0x260(%rbp), %rdi
callq 0x1c502
jmp 0xb0ab
movq %r12, -0x260(%rbp)
movq $0x0, -0x258(%rbp)
movb $0x0, -0x250(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xb426
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x6, %rdx
cmpq $-0x3, %rdx
setb %dl
jmp 0xb428
xorl %eax, %eax
addq $0x18, %r14
addq $-0x48, %rbx
testb %al, %al
cmovneq %r14, %rbx
cmpb $0x1, 0x10(%rbx)
jne 0xb11c
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r15, -0x260(%rbp)
leaq -0x260(%rbp), %rdi
callq 0x1c502
jmp 0xb135
movq %r15, -0x260(%rbp)
movq $0x0, -0x258(%rbp)
movb $0x0, -0x250(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xb4a9
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x6, %rdx
cmpq $-0x3, %rdx
setb %dl
jmp 0xb4ab
xorl %eax, %eax
addq $0x18, %r14
addq $-0x48, %rbx
testb %al, %al
cmovneq %r14, %rbx
cmpb $0x1, 0x10(%rbx)
jne 0xb1a6
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r12, -0x260(%rbp)
leaq -0x260(%rbp), %rdi
callq 0x1c502
jmp 0xb1bf
movq %r12, -0x260(%rbp)
movq $0x0, -0x258(%rbp)
movb $0x0, -0x250(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xb511
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x6, %rdx
cmpq $-0x3, %rdx
setb %dl
jmp 0xb513
xorl %eax, %eax
addq $0x18, %r14
addq $-0x48, %rbx
testb %al, %al
cmovneq %r14, %rbx
cmpb $0x1, 0x10(%rbx)
jne 0xb230
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r15, -0x260(%rbp)
leaq -0x260(%rbp), %rdi
callq 0x1c502
jmp 0xb249
movq %r15, -0x260(%rbp)
movq $0x0, -0x258(%rbp)
movb $0x0, -0x250(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xb594
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x6, %rdx
cmpq $-0x3, %rdx
setb %dl
jmp 0xb596
xorl %eax, %eax
addq $0x18, %r14
addq $-0x48, %rbx
testb %al, %al
cmovneq %r14, %rbx
cmpb $0x1, 0x10(%rbx)
jne 0xb2ba
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r12, -0x260(%rbp)
leaq -0x260(%rbp), %rdi
callq 0x1c502
jmp 0xb2d3
movq %r12, -0x260(%rbp)
movq $0x0, -0x258(%rbp)
movb $0x0, -0x250(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xb617
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x6, %rdx
cmpq $-0x3, %rdx
setb %dl
jmp 0xb619
xorl %eax, %eax
addq $0x18, %r14
addq $-0x48, %rbx
testb %al, %al
cmovneq %r14, %rbx
cmpb $0x1, 0x10(%rbx)
jne 0xb344
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r15, -0x260(%rbp)
leaq -0x260(%rbp), %rdi
callq 0x1c502
jmp 0xb35d
movq %r15, -0x260(%rbp)
movq $0x0, -0x258(%rbp)
movb $0x0, -0x250(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xb69a
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x6, %rdx
cmpq $-0x3, %rdx
setb %dl
jmp 0xb69c
xorl %eax, %eax
addq $0x18, %r14
addq $-0x48, %rbx
testb %al, %al
cmovneq %r14, %rbx
cmpb $0x1, 0x10(%rbx)
jne 0xb3ce
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r15, -0x260(%rbp)
leaq -0x260(%rbp), %rdi
callq 0x1c502
jmp 0xb3e7
movq %r15, -0x260(%rbp)
movq $0x0, -0x258(%rbp)
movb $0x0, -0x250(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xb71d
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x6, %rdx
cmpq $-0x3, %rdx
setb %dl
jmp 0xb71f
xorl %edx, %edx
addq $0x30, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xb456
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x1c502
jmp 0xb46a
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
movq $0x0, -0x40(%rbp)
movb $0x0, -0x38(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xb7a0
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x7, %rdx
cmpq $-0x4, %rdx
setb %dl
jmp 0xb7a2
xorl %edx, %edx
addq $0x30, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xb4dc
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq -0x48(%rbp), %rbx
movq %rbx, %rdi
callq 0x1c502
jmp 0xb4f4
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
movq $0x0, -0x40(%rbp)
movb $0x0, -0x38(%rbp)
leaq -0x48(%rbp), %rbx
movq -0x50(%rbp), %rdi
leaq -0x260(%rbp), %rsi
movq %rbx, %rdx
movl $0x52, %ecx
callq 0xddc2
jmp 0xba54
xorl %edx, %edx
addq $0x30, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xb541
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x1c502
jmp 0xb555
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
movq $0x0, -0x40(%rbp)
movb $0x0, -0x38(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xb827
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x7, %rdx
cmpq $-0x4, %rdx
setb %dl
jmp 0xb829
xorl %edx, %edx
addq $0x30, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xb5c4
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x1c502
jmp 0xb5d8
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
movq $0x0, -0x40(%rbp)
movb $0x0, -0x38(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xb8a2
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x7, %rdx
cmpq $-0x4, %rdx
setb %dl
jmp 0xb8a4
xorl %edx, %edx
addq $0x30, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xb647
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x1c502
jmp 0xb65b
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
movq $0x0, -0x40(%rbp)
movb $0x0, -0x38(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xb908
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x7, %rdx
cmpq $-0x4, %rdx
setb %dl
jmp 0xb90a
xorl %edx, %edx
addq $0x30, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xb6ca
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x1c502
jmp 0xb6de
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
movq $0x0, -0x40(%rbp)
movb $0x0, -0x38(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xb983
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x7, %rdx
cmpq $-0x4, %rdx
setb %dl
jmp 0xb985
xorl %edx, %edx
addq $0x30, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xb74d
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x1c502
jmp 0xb761
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
movq $0x0, -0x40(%rbp)
movb $0x0, -0x38(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xb9e5
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x7, %rdx
cmpq $-0x4, %rdx
setb %dl
jmp 0xb9e7
xorl %edx, %edx
addq $0x48, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xb7cc
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %r15, -0x70(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x1c502
jmp 0xb7dc
movq %r15, -0x70(%rbp)
movq $0x0, -0x68(%rbp)
movb $0x0, -0x60(%rbp)
movq -0x70(%rbp), %rdi
callq 0x5470
movl %eax, %r14d
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xba6f
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x8, %rdx
cmpq $-0x5, %rdx
setb %dl
jmp 0xba71
xorl %edx, %edx
addq $0x48, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xb853
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %r15, -0x70(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x1c502
jmp 0xb863
movq %r15, -0x70(%rbp)
movq $0x0, -0x68(%rbp)
movb $0x0, -0x60(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xbd6c
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x8, %rdx
cmpq $-0x5, %rdx
setb %dl
jmp 0xbd6e
xorl %edx, %edx
addq $0x48, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xb8ce
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %r12, -0x70(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x1c502
jmp 0xb8de
movq %r12, -0x70(%rbp)
movq $0x0, -0x68(%rbp)
movb $0x0, -0x60(%rbp)
movq -0x70(%rbp), %rdi
callq 0x5470
movq -0x50(%rbp), %rdi
leaq -0x260(%rbp), %rsi
leaq -0x48(%rbp), %rdx
movl %eax, %ecx
movl $0x49, %r8d
callq 0xd956
jmp 0xba46
xorl %edx, %edx
addq $0x48, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xb934
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %r15, -0x70(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x1c502
jmp 0xb944
movq %r15, -0x70(%rbp)
movq $0x0, -0x68(%rbp)
movb $0x0, -0x60(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xbdf7
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x8, %rdx
cmpq $-0x5, %rdx
setb %dl
jmp 0xbdf9
xorl %edx, %edx
addq $0x48, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xb9b2
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %r12, -0x70(%rbp)
leaq -0x70(%rbp), %rbx
movq %rbx, %rdi
callq 0x1c502
jmp 0xb9c6
movq %r12, -0x70(%rbp)
movq $0x0, -0x68(%rbp)
movb $0x0, -0x60(%rbp)
leaq -0x70(%rbp), %rbx
movq -0x50(%rbp), %rdi
leaq -0x260(%rbp), %rsi
leaq -0x48(%rbp), %rdx
movq %rbx, %rcx
movl $0x52, %r8d
callq 0xdcd0
jmp 0xba46
xorl %edx, %edx
addq $0x48, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xba11
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %r12, -0x70(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x1c502
jmp 0xba21
movq %r12, -0x70(%rbp)
movq $0x0, -0x68(%rbp)
movb $0x0, -0x60(%rbp)
movq -0x70(%rbp), %rdi
callq 0x5470
movq -0x50(%rbp), %rdi
leaq -0x260(%rbp), %rsi
leaq -0x48(%rbp), %rdx
movl %eax, %ecx
movl $0x52, %r8d
callq 0xd956
movq -0x70(%rbp), %rdi
cmpq %r12, %rdi
je 0xba54
callq 0x52d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xbf05
callq 0x52d0
jmp 0xbf05
xorl %edx, %edx
addq $0x60, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xbaab
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0xb0(%rbp), %rax
movq %rax, -0xc0(%rbp)
leaq -0xc0(%rbp), %rbx
movq %rbx, %rdi
callq 0x1c502
jmp 0xbad2
leaq -0xb0(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq $0x0, -0xb8(%rbp)
movb $0x0, -0xb0(%rbp)
leaq -0xc0(%rbp), %rbx
movq -0x50(%rbp), %rdi
leaq -0x260(%rbp), %rsi
leaq -0x48(%rbp), %rdx
movl %r14d, %ecx
movq %rbx, %r8
movl $0x49, %r9d
callq 0xdab4
jmp 0xbe7b
xorl %edx, %edx
addq $0x30, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xbb2c
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %r15, -0x260(%rbp)
leaq -0x260(%rbp), %rbx
movq %rbx, %rdi
callq 0x1c502
jmp 0xbb4c
movq %r15, -0x260(%rbp)
movq $0x0, -0x258(%rbp)
movb $0x0, -0x250(%rbp)
leaq -0x260(%rbp), %rbx
movq -0xc8(%rbp), %rdi
movq %rbx, %rsi
callq 0xda20
movl (%rax), %r14d
movq -0x260(%rbp), %rdi
cmpq %r15, %rdi
je 0xbb6f
callq 0x52d0
movl $0x98, %edi
callq 0x5310
movq %rax, -0x50(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xbeaa
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x5, %rdx
cmpq $-0x2, %rdx
setb %dl
jmp 0xbeac
xorl %edx, %edx
addq $0x60, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xbbf1
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %r13, -0x260(%rbp)
leaq -0x260(%rbp), %rbx
movq %rbx, %rdi
callq 0x1c502
jmp 0xbc11
movq %r13, -0x260(%rbp)
movq $0x0, -0x258(%rbp)
movb $0x0, -0x250(%rbp)
leaq -0x260(%rbp), %rbx
movq -0xc8(%rbp), %rdi
movq %rbx, %rsi
callq 0xda20
movl 0x20(%r15), %ecx
movq -0xa0(%rbp), %rdx
movl %edx, %ebx
subl %ecx, %ebx
notl %ebx
shrl $0x5, %ebx
addl (%rax), %ebx
movq -0x260(%rbp), %rdi
cmpq %r13, %rdi
je 0xbc47
callq 0x52d0
movl $0x98, %edi
callq 0x5310
movq %rax, -0x50(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xbf91
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x5, %rdx
cmpq $-0x2, %rdx
setb %dl
jmp 0xbf93
xorl %edx, %edx
addq $0x60, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xbcc9
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %r12, -0x260(%rbp)
leaq -0x260(%rbp), %rbx
movq %rbx, %rdi
callq 0x1c502
jmp 0xbce9
movq %r12, -0x260(%rbp)
movq $0x0, -0x258(%rbp)
movb $0x0, -0x250(%rbp)
leaq -0x260(%rbp), %rbx
movq -0xc8(%rbp), %rdi
movq %rbx, %rsi
callq 0xda20
movl 0x20(%r15), %ecx
movq -0xa0(%rbp), %rdx
movl %edx, %ebx
subl %ecx, %ebx
notl %ebx
shrl $0x5, %ebx
addl (%rax), %ebx
movq -0x260(%rbp), %rdi
cmpq %r12, %rdi
je 0xbd1f
callq 0x52d0
movl $0x98, %edi
callq 0x5310
movq %rax, -0x50(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xc01b
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x5, %rdx
cmpq $-0x2, %rdx
setb %dl
jmp 0xc01d
xorl %edx, %edx
addq $0x60, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xbda5
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0xb0(%rbp), %rax
movq %rax, -0xc0(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x1c502
jmp 0xbdc5
leaq -0xb0(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq $0x0, -0xb8(%rbp)
movb $0x0, -0xb0(%rbp)
movq -0xc0(%rbp), %rdi
callq 0x5470
movq -0x50(%rbp), %rdi
leaq -0x260(%rbp), %rsi
leaq -0x48(%rbp), %rdx
leaq -0x70(%rbp), %rcx
movl %eax, %r8d
movl $0x49, %r9d
callq 0xd7f2
jmp 0xbe7b
xorl %edx, %edx
addq $0x60, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xbe33
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0xb0(%rbp), %rax
movq %rax, -0xc0(%rbp)
leaq -0xc0(%rbp), %rbx
movq %rbx, %rdi
callq 0x1c502
jmp 0xbe5a
leaq -0xb0(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq $0x0, -0xb8(%rbp)
movb $0x0, -0xb0(%rbp)
leaq -0xc0(%rbp), %rbx
movq -0x50(%rbp), %rdi
leaq -0x260(%rbp), %rsi
leaq -0x48(%rbp), %rdx
leaq -0x70(%rbp), %rcx
movq %rbx, %r8
movl $0x52, %r9d
callq 0xdbb4
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
je 0xbe93
callq 0x52d0
movq -0x70(%rbp), %rdi
cmpq %r15, %rdi
je 0xc18f
callq 0x52d0
jmp 0xc18f
xorl %edx, %edx
addq $0x18, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xbed8
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %r15, -0x260(%rbp)
movq %rbx, %rdi
callq 0x1c502
jmp 0xbef1
movq %r15, -0x260(%rbp)
movq $0x0, -0x258(%rbp)
movb $0x0, -0x250(%rbp)
movq -0x50(%rbp), %rdi
movq %rbx, %rsi
movl %r14d, %edx
movl $0x4a, %ecx
callq 0xde76
movq -0x260(%rbp), %rdi
cmpq %r15, %rdi
je 0xbf16
callq 0x52d0
movq -0x50(%rbp), %rdi
callq 0x1cc80
movq -0x98(%rbp), %r14
movq -0x270(%rbp), %rdi
movl %eax, -0x260(%rbp)
movq 0x58(%r14), %rsi
cmpq 0x60(%r14), %rsi
je 0xbf49
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x58(%r14)
jmp 0xbf55
leaq -0x260(%rbp), %rdx
callq 0x1c02e
leaq -0x250(%rbp), %r12
movq -0x268(%rbp), %rax
cmpq 0x1f7ee(%rip), %rax     # 0x2b758
je 0xc2d7
movq -0xa0(%rbp), %rax
addq $0x20, %rax
movq %rax, -0xa0(%rbp)
cmpq 0x28(%r14), %rax
jne 0xa56a
jmp 0xc2b4
xorl %edx, %edx
addq $0x18, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xbfc3
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %r13, -0x260(%rbp)
leaq -0x260(%rbp), %rdi
callq 0x1c502
jmp 0xbfdc
movq %r13, -0x260(%rbp)
movq $0x0, -0x258(%rbp)
movb $0x0, -0x250(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xc0a5
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x6, %rdx
cmpq $-0x3, %rdx
setb %dl
jmp 0xc0a7
xorl %edx, %edx
addq $0x18, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xc04d
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %r12, -0x260(%rbp)
leaq -0x260(%rbp), %rdi
callq 0x1c502
jmp 0xc066
movq %r12, -0x260(%rbp)
movq $0x0, -0x258(%rbp)
movb $0x0, -0x250(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xc128
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x6, %rdx
cmpq $-0x3, %rdx
setb %dl
jmp 0xc12a
xorl %edx, %edx
addq $0x30, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xc0d5
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x1c502
jmp 0xc0e9
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
movq $0x0, -0x40(%rbp)
movb $0x0, -0x38(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
cmpq %rax, %rcx
je 0xc1b6
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x7, %rdx
cmpq $-0x4, %rdx
setb %dl
jmp 0xc1b8
xorl %edx, %edx
addq $0x30, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xc15b
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x1c502
jmp 0xc173
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
movq $0x0, -0x40(%rbp)
movb $0x0, -0x38(%rbp)
leaq -0x48(%rbp), %r14
movzwl %bx, %ecx
movq -0x50(%rbp), %rdi
leaq -0x260(%rbp), %rsi
movq %r14, %rdx
movl $0x49, %r8d
callq 0xd956
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xc1a1
callq 0x52d0
movq -0x260(%rbp), %rdi
cmpq %r12, %rdi
jne 0xbf11
jmp 0xbf16
xorl %edx, %edx
addq $0x48, %rcx
addq $-0x48, %rax
testb %dl, %dl
cmovneq %rcx, %rax
cmpb $0x1, 0x10(%rax)
jne 0xc1e5
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %r12, -0x70(%rbp)
leaq -0x70(%rbp), %r14
movq %r14, %rdi
callq 0x1c502
jmp 0xc1f9
movq %r12, -0x70(%rbp)
movq $0x0, -0x68(%rbp)
movb $0x0, -0x60(%rbp)
leaq -0x70(%rbp), %r14
movzwl %bx, %r8d
movq -0x50(%rbp), %rdi
leaq -0x260(%rbp), %rsi
leaq -0x48(%rbp), %rdx
movq %r14, %rcx
movl $0x49, %r9d
callq 0xd7f2
movq -0x70(%rbp), %rdi
cmpq %r12, %rdi
je 0xc228
callq 0x52d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xc23a
callq 0x52d0
movq -0x260(%rbp), %rdi
cmpq %r13, %rdi
jne 0xbf11
jmp 0xbf16
leaq 0x1f53a(%rip), %rdi     # 0x2b790
callq 0x5580
testl %eax, %eax
je 0xa578
leaq 0x1f506(%rip), %rdi     # 0x2b770
leaq 0x1514d(%rip), %rsi     # 0x213be
movl $0x10, %edx
callq 0xd66a
leaq 0x1454(%rip), %rdi      # 0xd6d6
leaq 0x1f4e7(%rip), %rsi     # 0x2b770
leaq 0x1f088(%rip), %rdx     # 0x2b318
callq 0x52b0
leaq 0x1f4f4(%rip), %rdi     # 0x2b790
callq 0x5200
movq -0x98(%rbp), %r14
leaq -0x250(%rbp), %r12
jmp 0xa578
movq -0x90(%rbp), %rdi
testq %rdi, %rdi
je 0xc2c5
callq 0x52d0
addq $0x2a8, %rsp            # imm = 0x2A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x10, %edi
callq 0x5180
movq %rax, %r12
leaq 0x150ef(%rip), %rsi     # 0x213da
movq %rax, %rdi
callq 0x55d0
movq 0x1ecd6(%rip), %rsi     # 0x2afd0
movq 0x1ecb7(%rip), %rdx     # 0x2afb8
movq %r12, %rdi
callq 0x5510
jmp 0xc8fd
leaq 0x1f453(%rip), %rdi     # 0x2b768
callq 0x5580
testl %eax, %eax
je 0xa500
leaq -0x260(%rbp), %r14
leaq 0x14f64(%rip), %rsi     # 0x21294
movq %r14, %r15
movq %r14, %rdi
movl $0x10, %edx
callq 0xd66a
leaq -0x240(%rbp), %r15
leaq 0x14f72(%rip), %rsi     # 0x212c0
movq %r15, %rdi
movl $0x10, %edx
callq 0xd66a
leaq -0x220(%rbp), %r15
leaq 0x14f75(%rip), %rsi     # 0x212de
movq %r15, %rdi
movl $0x10, %edx
callq 0xd66a
leaq -0x200(%rbp), %r15
leaq 0x14f84(%rip), %rsi     # 0x21308
movq %r15, %rdi
movl $0x10, %edx
callq 0xd66a
leaq -0x1e0(%rbp), %r15
leaq 0x14f85(%rip), %rsi     # 0x21324
movq %r15, %rdi
movl $0x10, %edx
callq 0xd66a
leaq -0x1c0(%rbp), %r15
leaq 0x14f9c(%rip), %rsi     # 0x21356
movq %r15, %rdi
movl $0x10, %edx
callq 0xd66a
leaq -0x1a0(%rbp), %r15
leaq 0x14fad(%rip), %rsi     # 0x21382
movq %r15, %rdi
movl $0x10, %edx
callq 0xd66a
leaq -0x180(%rbp), %r15
leaq 0x14fb0(%rip), %rsi     # 0x213a0
movq %r15, %rdi
movl $0x10, %edx
callq 0xd66a
leaq -0x160(%rbp), %r15
leaq 0x14e89(%rip), %rsi     # 0x21294
movq %r15, %rdi
movl $0x10, %edx
callq 0xd66a
leaq -0x140(%rbp), %r15
leaq 0x14f8a(%rip), %rsi     # 0x213b0
movq %r15, %rdi
movl $0x10, %edx
callq 0xd66a
leaq 0x1f316(%rip), %rdi     # 0x2b750
leaq -0x260(%rbp), %rsi
leaq -0x90(%rbp), %rcx
movl $0xa, %edx
callq 0xd700
movl $0x120, %ebx            # imm = 0x120
leaq (%rbx,%rbp), %rdi
addq $-0x260, %rdi           # imm = 0xFDA0
callq 0xd6d6
addq $-0x20, %rbx
cmpq $-0x20, %rbx
jne 0xc457
leaq 0x12ca(%rip), %rdi      # 0xd742
leaq 0x1f2d1(%rip), %rsi     # 0x2b750
leaq 0x1ee92(%rip), %rdx     # 0x2b318
callq 0x52b0
leaq 0x1f2d6(%rip), %rdi     # 0x2b768
callq 0x5200
movq -0x98(%rbp), %r14
jmp 0xa500
movl $0x10, %edi
callq 0x5180
movq %rax, %r12
leaq 0x14f13(%rip), %rsi     # 0x213ca
movq %rax, %rdi
callq 0x55d0
jmp 0xc4fb
movl $0x10, %edi
callq 0x5180
movq %rax, %r12
leaq 0x14ef5(%rip), %rsi     # 0x213ca
movq %rax, %rdi
callq 0x55d0
jmp 0xc4fb
movl $0x10, %edi
callq 0x5180
movq %rax, %r12
leaq 0x14ed7(%rip), %rsi     # 0x213ca
movq %rax, %rdi
callq 0x55d0
movq 0x1eace(%rip), %rsi     # 0x2afd0
movq 0x1eaaf(%rip), %rdx     # 0x2afb8
movq %r12, %rdi
callq 0x5510
movq %rax, %rbx
movl $0x120, %r14d           # imm = 0x120
leaq (%r14,%rbp), %rdi
addq $-0x260, %rdi           # imm = 0xFDA0
callq 0xd6d6
addq $-0x20, %r14
cmpq $-0x20, %r14
jne 0xc51a
jmp 0xc556
movq %rax, %rbx
cmpq %r15, %r14
je 0xc556
leaq -0x260(%rbp), %r14
addq $-0x20, %r15
movq %r15, %rdi
callq 0xd6d6
cmpq %r14, %r15
jne 0xc545
leaq 0x1f20b(%rip), %rdi     # 0x2b768
callq 0x51f0
jmp 0xc997
movq %rdx, %r15
movq %rax, %rbx
leaq 0x1f21c(%rip), %rdi     # 0x2b790
callq 0x51f0
jmp 0xc80e
jmp 0xc5cd
jmp 0xc671
jmp 0xc6a1
jmp 0xc600
jmp 0xc671
jmp 0xc6a1
jmp 0xc600
jmp 0xc671
jmp 0xc6a1
jmp 0xc600
jmp 0xc79c
jmp 0xc79c
jmp 0xc6a1
jmp 0xc600
jmp 0xc79c
jmp 0xc79c
jmp 0xc5cd
jmp 0xc671
jmp 0xc6a1
jmp 0xc600
movq %rdx, %r15
movq %rax, %rbx
jmp 0xc660
jmp 0xc671
jmp 0xc6a1
jmp 0xc600
jmp 0xc671
jmp 0xc6a1
jmp 0xc600
jmp 0xc6a1
jmp 0xc600
jmp 0xc671
jmp 0xc6a1
jmp 0xc600
movq %rdx, %r15
movq %rax, %rbx
jmp 0xc6bf
jmp 0xc79c
jmp 0xc79c
jmp 0xc6fd
jmp 0xc6fd
jmp 0xc6fd
jmp 0xc642
jmp 0xc679
jmp 0xc679
jmp 0xc786
jmp 0xc786
jmp 0xc671
jmp 0xc786
jmp 0xc786
jmp 0xc642
movq %rdx, %r15
movq %rax, %rbx
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
je 0xc660
callq 0x52d0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
jne 0xc688
jmp 0xc68d
jmp 0xc679
movq %rdx, %r15
movq %rax, %rbx
jmp 0xc68d
movq %rdx, %r15
movq %rax, %rbx
movq -0x70(%rbp), %rdi
cmpq %r12, %rdi
je 0xc68d
callq 0x52d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xc6a7
callq 0x52d0
jmp 0xc6a7
movq %rdx, %r15
movq %rax, %rbx
movq -0x260(%rbp), %rdi
leaq -0x250(%rbp), %rax
cmpq %rax, %rdi
je 0xc6bf
callq 0x52d0
movq -0x50(%rbp), %rdi
jmp 0xc809
jmp 0xc786
jmp 0xc786
jmp 0xc79c
jmp 0xc79c
movq %rdx, %r15
movq %rax, %rbx
leaq -0x260(%rbp), %rdi
callq 0x8e9e
jmp 0xc80e
jmp 0xc79c
jmp 0xc79c
movq %rdx, %r15
movq %rax, %rbx
movq %r12, %rdi
callq 0x5260
jmp 0xc80e
jmp 0xc776
movq %rdx, %r15
movq %rax, %rbx
movq -0x260(%rbp), %rdi
cmpq %r12, %rdi
je 0xc7fc
callq 0x52d0
jmp 0xc7fc
jmp 0xc79c
jmp 0xc7d7
jmp 0xc776
jmp 0xc79c
jmp 0xc786
jmp 0xc79c
jmp 0xc79c
jmp 0xc7d7
movq %rdx, %r15
movq %rax, %rbx
movq -0x70(%rbp), %rdi
cmpq %r14, %rdi
je 0xc75c
callq 0x52d0
movq -0x2a0(%rbp), %rdi
leaq -0x290(%rbp), %rax
cmpq %rax, %rdi
je 0xc7aa
callq 0x52d0
jmp 0xc7aa
movq %rdx, %r15
movq %rax, %rbx
jmp 0xc7fc
movq %rdx, %r15
movq %rax, %rbx
jmp 0xc7c9
movq %rdx, %r15
movq %rax, %rbx
movq -0x260(%rbp), %rdi
leaq -0x250(%rbp), %rax
jmp 0xc804
movq %rdx, %r15
movq %rax, %rbx
jmp 0xc80e
movq %rdx, %r15
movq %rax, %rbx
movq 0x1e7b7(%rip), %rsi     # 0x2af68
leaq -0x260(%rbp), %rdi
callq 0x5270
leaq -0x1e0(%rbp), %rdi
callq 0x50e0
leaq -0xc0(%rbp), %rdi
callq 0xd6d6
jmp 0xc7fc
movq %rdx, %r15
movq %rax, %rbx
movq 0x1e784(%rip), %rsi     # 0x2af68
leaq -0x260(%rbp), %rdi
callq 0x5270
leaq -0x1e0(%rbp), %rdi
callq 0x50e0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xc80e
callq 0x52d0
cmpl $0x1, %r15d
jne 0xc986
movq %rbx, %rdi
callq 0x5130
movq %rax, %rbx
movl $0x10, %edi
callq 0x5180
movq %rax, %r15
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x10(%rax)
leaq -0xc0(%rbp), %rdi
leaq -0x2a0(%rbp), %rdx
movq %rax, %rsi
callq 0x5120
leaq 0x14b91(%rip), %rsi     # 0x213e7
leaq -0x70(%rbp), %rdi
leaq -0xc0(%rbp), %rdx
callq 0xdf6a
leaq 0x14b97(%rip), %rsi     # 0x21404
leaq -0x70(%rbp), %rdi
callq 0x55e0
leaq -0x38(%rbp), %rcx
movq %rcx, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0xc899
movups (%rcx), %xmm0
leaq -0x38(%rbp), %rdx
movups %xmm0, (%rdx)
jmp 0xc8a4
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
movq 0x8(%rax), %rdx
leaq -0x48(%rbp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x260(%rbp), %rdi
movq -0xa0(%rbp), %rdx
callq 0xdf06
movb $0x1, %r14b
leaq -0x260(%rbp), %rsi
movq %r15, %rdi
callq 0x5530
xorl %r14d, %r14d
movq 0x1e6e2(%rip), %rsi     # 0x2afd0
movq 0x1e6c3(%rip), %rdx     # 0x2afb8
movq %r15, %rdi
callq 0x5510
movq %rax, %rbx
movq -0x260(%rbp), %rdi
leaq -0x250(%rbp), %rax
cmpq %rax, %rdi
je 0xc920
callq 0x52d0
jmp 0xc920
movq %rax, %rbx
movb $0x1, %r14b
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xc93a
callq 0x52d0
jmp 0xc93a
movq %rax, %rbx
movb $0x1, %r14b
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0xc954
callq 0x52d0
jmp 0xc954
movq %rax, %rbx
movb $0x1, %r14b
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
je 0xc974
callq 0x52d0
jmp 0xc974
movq %rax, %rbx
movb $0x1, %r14b
testb %r14b, %r14b
je 0xc981
movq %r15, %rdi
callq 0x5260
callq 0x54c0
movq -0x90(%rbp), %rdi
testq %rdi, %rdi
je 0xc997
callq 0x52d0
movq %rbx, %rdi
callq 0x5560
movq %rax, %rdi
callq 0x8d5e
nop