// File: /workspace/github_cpp_makefile_star2_O3/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 $0x298, %rsp            # imm = 0x298
movq %rdi, %r15
movb 0x212c7(%rip), %al      # 0x2b768
testb %al, %al
movq %rdi, -0x278(%rbp)
je 0xc32d
xorps %xmm0, %xmm0
movaps %xmm0, -0x90(%rbp)
movaps %xmm0, -0xa0(%rbp)
movq 0x20(%r15), %rax
movq %rax, -0xa8(%rbp)
cmpq 0x28(%r15), %rax
je 0xc2e4
leaq 0x38(%r15), %rax
movq %rax, -0x288(%rbp)
leaq 0x68(%r15), %rax
movq %rax, -0xd0(%rbp)
leaq 0x70(%r15), %rax
movq %rax, -0xe0(%rbp)
leaq -0x60(%rbp), %r13
leaq 0x50(%r15), %rax
movq %rax, -0x280(%rbp)
leaq -0x270(%rbp), %rax
leaq 0x80(%rax), %r12
movq %r12, -0xd8(%rbp)
movb 0x2126f(%rip), %al      # 0x2b790
testb %al, %al
je 0xc26a
movq -0xa8(%rbp), %rax
movq (%rax), %rbx
movsbl (%rbx), %edi
callq 0x5430
cmpl $0x64, %eax
jne 0xa789
movsbl 0x1(%rbx), %edi
callq 0x5430
cmpl $0x64, %eax
jne 0xa789
movq -0xa8(%rbp), %rsi
movq 0x8(%rsi), %rcx
addq $-0x3, %rcx
movl $0x3, %edx
leaq -0x50(%rbp), %rdi
callq 0x5340
leaq -0x260(%rbp), %r12
movq %r12, -0x270(%rbp)
movq $0x0, -0x268(%rbp)
movb $0x0, -0x260(%rbp)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
addq %rsi, %rdx
movl $0x0, (%rsp)
movl $0x1, %r9d
leaq -0x270(%rbp), %rbx
movq %rbx, %rdi
leaq 0x211b4(%rip), %rcx     # 0x2b770
leaq 0x17ded(%rip), %r8      # 0x223b0
callq 0x1952b
leaq -0x50(%rbp), %rdi
movq %rbx, %rsi
callq 0x53c0
movq -0x270(%rbp), %rdi
cmpq %r12, %rdi
je 0xa5e5
callq 0x52d0
movq 0x80(%r15), %rbx
cmpq -0xe0(%rbp), %rbx
movq -0xd8(%rbp), %r12
je 0xa714
movq 0x20(%rbx), %rsi
movq 0x28(%rbx), %rcx
leaq -0x50(%rbp), %rdi
xorl %edx, %edx
callq 0x5540
cmpq $-0x1, %rax
je 0xa6fc
leaq 0x20(%rbx), %rsi
leaq -0xc8(%rbp), %rdi
movl $0x10, %edx
callq 0xd7d8
leaq -0x270(%rbp), %rdi
callq 0x5240
movl 0x40(%rbx), %esi
leaq -0x260(%rbp), %rdi
callq 0x5520
leaq -0x2b0(%rbp), %rdi
leaq -0x258(%rbp), %rsi
callq 0x5490
movq %r13, -0x70(%rbp)
movq $0x0, -0x68(%rbp)
movb $0x0, -0x60(%rbp)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
addq %rsi, %rdx
movq -0x2b0(%rbp), %r8
movq -0x2a8(%rbp), %r9
movl $0x0, (%rsp)
leaq -0x70(%rbp), %r14
movq %r14, %rdi
leaq -0xc8(%rbp), %rcx
callq 0x1952b
leaq -0x50(%rbp), %rdi
movq %r14, %rsi
callq 0x53c0
movq -0x70(%rbp), %rdi
cmpq %r13, %rdi
je 0xa6bd
callq 0x52d0
movq -0x2b0(%rbp), %rdi
leaq -0x2a0(%rbp), %rax
cmpq %rax, %rdi
je 0xa6d5
callq 0x52d0
leaq -0x270(%rbp), %rdi
movq 0x20885(%rip), %rsi     # 0x2af68
callq 0x5270
movq %r12, %rdi
callq 0x50e0
leaq -0xc8(%rbp), %rdi
callq 0xd71c
movq %rbx, %rdi
callq 0x5230
movq %rax, %rbx
cmpq -0xe0(%rbp), %rax
jne 0xa600
leaq -0x270(%rbp), %rdi
leaq -0x50(%rbp), %rsi
movl $0x18, %edx
callq 0x54a0
movq -0x270(%rbp), %rax
movq -0x18(%rax), %rax
andl $-0x4b, -0x258(%rbp,%rax)
leaq -0x270(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x5550
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0xa8b9
movq 0x58(%r15), %rsi
cmpq 0x60(%r15), %rsi
je 0xa777
movl -0x70(%rbp), %eax
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x58(%r15)
jmp 0xa73c
movq -0x280(%rbp), %rdi
leaq -0x70(%rbp), %rdx
callq 0x9244
jmp 0xa73c
movl $0x4, %ecx
leaq -0x270(%rbp), %rbx
movq %rbx, %rdi
movq -0xa8(%rbp), %rsi
xorl %edx, %edx
callq 0x5340
movq %rbx, %rdi
leaq 0x16c10(%rip), %rsi     # 0x213c0
callq 0x50b0
testl %eax, %eax
je 0xa7fb
movl $0x4, %ecx
leaq -0x50(%rbp), %rbx
movq %rbx, %rdi
movq -0xa8(%rbp), %rsi
xorl %edx, %edx
callq 0x5340
movq %rbx, %rdi
leaq 0x16be8(%rip), %rsi     # 0x213c5
callq 0x50b0
testl %eax, %eax
sete %bl
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0xa7fd
callq 0x52d0
jmp 0xa7fd
movb $0x1, %bl
movq -0x270(%rbp), %rdi
leaq -0x260(%rbp), %rax
cmpq %rax, %rdi
je 0xa815
callq 0x52d0
testb %bl, %bl
je 0xa8ef
movq -0xa8(%rbp), %rsi
movq 0x8(%rsi), %rcx
addq $-0x4, %rcx
movl $0x4, %edx
leaq -0x50(%rbp), %r14
movq %r14, %rdi
callq 0x5340
leaq -0x270(%rbp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
movl $0x18, %edx
callq 0x54a0
movq -0x270(%rbp), %rax
movq -0x18(%rax), %rax
andl $-0x4b, -0x258(%rbp,%rax)
movq %rbx, %rdi
leaq -0x70(%rbp), %rsi
callq 0x51d0
cmpl $0x0, -0x70(%rbp)
jle 0xa8b9
xorl %ebx, %ebx
movl $0x0, -0xc8(%rbp)
movq 0x58(%r15), %rsi
cmpq 0x60(%r15), %rsi
je 0xa89f
movl $0x0, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x58(%r15)
jmp 0xa8b2
movq -0x280(%rbp), %rdi
leaq -0xc8(%rbp), %rdx
callq 0x1c0f0
incl %ebx
cmpl -0x70(%rbp), %ebx
jl 0xa87b
leaq -0x270(%rbp), %rdi
movq 0x206a1(%rip), %rsi     # 0x2af68
callq 0x5270
movq %r12, %rdi
callq 0x50e0
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0xc24c
callq 0x52d0
jmp 0xc24c
movq 0x20e5a(%rip), %r15     # 0x2b750
cmpq 0x20e5b(%rip), %r15     # 0x2b758
je 0xc2f6
movq %r15, %rbx
negq %rbx
movq -0xa8(%rbp), %rax
movq (%rax), %rdi
movq 0x8(%rax), %rsi
addq %rdi, %rsi
leaq -0xa0(%rbp), %rdx
movq %r15, %rcx
xorl %r8d, %r8d
callq 0x1c1c4
testb %al, %al
jne 0xa946
addq $0x20, %r15
addq $-0x20, %rbx
cmpq 0x20e19(%rip), %r15     # 0x2b758
jne 0xa909
jmp 0xc2f6
xorps %xmm0, %xmm0
movaps %xmm0, -0x270(%rbp)
movq $0x0, -0x260(%rbp)
movq -0x288(%rbp), %rdi
leaq -0x270(%rbp), %r14
movq %r14, %rsi
callq 0x1c39a
movq %r15, -0x290(%rbp)
movq %r14, %rdi
callq 0x8e9a
movq -0xa0(%rbp), %r12
movq -0x98(%rbp), %rax
cmpq %rax, %r12
je 0xaa75
movl $0x28, %r14d
xorl %r15d, %r15d
movq %rax, %rdx
subq %r12, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x3, %rax
incq %r15
cmpq %rax, %r15
setb -0x29(%rbp)
jae 0xaa7e
movq -0x278(%rbp), %rax
movq 0x40(%rax), %r13
cmpb $0x1, (%r12,%r14)
jne 0xaa07
movq -0x10(%r12,%r14), %rsi
movq -0x8(%r12,%r14), %rdx
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
leaq -0x270(%rbp), %r12
movq %r12, %rdi
callq 0x1c5c4
jmp 0xaa2e
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
movq $0x0, -0x268(%rbp)
movb $0x0, -0x260(%rbp)
leaq -0x270(%rbp), %r12
addq $-0x18, %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0xa0ea
movq -0x270(%rbp), %rdi
leaq -0x260(%rbp), %rax
cmpq %rax, %rdi
je 0xaa55
callq 0x52d0
addq $0x18, %r14
movq -0xa0(%rbp), %r12
movq -0x98(%rbp), %rax
movq %r12, %r13
cmpq %rax, %r12
jne 0xa9a0
jmp 0xaa84
movb $0x1, -0x29(%rbp)
movq %r12, %r13
jmp 0xaa84
movq %rdx, %r13
movq %rdx, %rax
addq 0x20cc5(%rip), %rbx     # 0x2b750
negq %rbx
sarq $0x5, %rbx
cmpq $0x9, %rbx
movq -0x278(%rbp), %r15
ja 0xc1f5
movq %rax, %r14
leaq 0x16703(%rip), %rcx     # 0x211b0
movslq (%rcx,%rbx,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x98, %edi
callq 0x5310
movq %rax, -0x78(%rbp)
subq %r12, %r13
cmpb $0x0, -0x29(%rbp)
jne 0xae9f
movq %r13, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x5, %rax
cmpq $-0x3, %rax
ja 0xae9f
leaq 0x18(%r12), %rax
jmp 0xaea7
movl $0x98, %edi
callq 0x5310
movq %rax, -0x78(%rbp)
subq %r12, %r13
cmpb $0x0, -0x29(%rbp)
jne 0xae13
movq %r13, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x5, %rax
cmpq $-0x3, %rax
ja 0xae13
leaq 0x18(%r12), %rax
jmp 0xae1b
subq %r12, %r13
cmpb $0x0, -0x29(%rbp)
jne 0xad59
movq %r13, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x6, %rax
cmpq $-0x4, %rax
ja 0xad59
addq $0x30, %r12
jmp 0xad60
subq %r12, %r13
cmpb $0x0, -0x29(%rbp)
jne 0xad97
movq %r13, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x8, %rax
cmpq $-0x6, %rax
ja 0xad97
addq $0x60, %r12
jmp 0xad9e
subq %r12, %r13
cmpb $0x0, -0x29(%rbp)
jne 0xadd5
movq %r13, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x8, %rax
cmpq $-0x6, %rax
ja 0xadd5
addq $0x60, %r12
jmp 0xaddc
movl $0x98, %edi
callq 0x5310
movq %rax, -0x78(%rbp)
subq %r12, %r13
cmpb $0x0, -0x29(%rbp)
jne 0xae59
movq %r13, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x5, %rax
cmpq $-0x3, %rax
ja 0xae59
leaq 0x18(%r12), %rax
jmp 0xae61
movl $0x98, %edi
callq 0x5310
movq %rax, -0x78(%rbp)
subq %r12, %r13
cmpb $0x0, -0x29(%rbp)
jne 0xaee9
movq %r13, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x5, %rax
cmpq $-0x3, %rax
ja 0xaee9
leaq 0x18(%r12), %rax
jmp 0xaef1
movl $0x98, %edi
callq 0x5310
movq %rax, -0x78(%rbp)
subq %r12, %r13
cmpb $0x0, -0x29(%rbp)
jne 0xaf2f
movq %r13, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x5, %rax
cmpq $-0x3, %rax
ja 0xaf2f
leaq 0x18(%r12), %rax
jmp 0xaf37
movl $0x98, %edi
callq 0x5310
movq %rax, -0x78(%rbp)
subq %r12, %r13
cmpb $0x0, -0x29(%rbp)
jne 0xaf75
movq %r13, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x5, %rax
cmpq $-0x3, %rax
ja 0xaf75
leaq 0x18(%r12), %rax
jmp 0xaf7d
movl $0x98, %edi
callq 0x5310
movq %rax, -0x78(%rbp)
subq %r12, %r13
cmpb $0x0, -0x29(%rbp)
jne 0xafbb
movq %r13, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x5, %rax
cmpq $-0x3, %rax
ja 0xafbb
leaq 0x18(%r12), %rax
jmp 0xafc3
addq %r13, %r12
addq $-0x48, %r12
cmpb $0x1, 0x10(%r12)
jne 0xb001
movq (%r12), %rsi
movq 0x8(%r12), %rdx
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
leaq -0x270(%rbp), %rbx
movq %rbx, %rdi
callq 0x1c5c4
jmp 0xb028
addq %r13, %r12
addq $-0x48, %r12
cmpb $0x1, 0x10(%r12)
jne 0xb0ca
movq (%r12), %rsi
movq 0x8(%r12), %rdx
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
leaq -0x270(%rbp), %rbx
movq %rbx, %rdi
callq 0x1c5c4
jmp 0xb0f1
addq %r13, %r12
addq $-0x48, %r12
cmpb $0x1, 0x10(%r12)
jne 0xb193
movq (%r12), %rsi
movq 0x8(%r12), %rdx
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
leaq -0x270(%rbp), %rbx
movq %rbx, %rdi
callq 0x1c5c4
jmp 0xb1ba
leaq (%r12,%r13), %rax
addq $-0x48, %rax
cmpb $0x1, 0x10(%rax)
jne 0xb25c
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
leaq -0x270(%rbp), %rdi
callq 0x1c5c4
movq -0xa0(%rbp), %r12
movq -0x98(%rbp), %rax
jmp 0xb27f
leaq (%r12,%r13), %rax
addq $-0x48, %rax
cmpb $0x1, 0x10(%rax)
jne 0xb2f6
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
leaq -0x270(%rbp), %rdi
callq 0x1c5c4
movq -0xa0(%rbp), %r12
movq -0x98(%rbp), %rcx
jmp 0xb319
leaq (%r12,%r13), %rax
addq $-0x48, %rax
leaq -0x60(%rbp), %rbx
cmpb $0x1, 0x10(%rax)
jne 0xb37e
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
leaq -0x270(%rbp), %rdi
callq 0x1c5c4
movq -0xa0(%rbp), %r12
movq -0x98(%rbp), %rcx
jmp 0xb3a1
leaq (%r12,%r13), %rax
addq $-0x48, %rax
cmpb $0x1, 0x10(%rax)
jne 0xb418
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
leaq -0x270(%rbp), %rdi
callq 0x1c5c4
movq -0xa0(%rbp), %r12
movq -0x98(%rbp), %rcx
jmp 0xb43b
leaq (%r12,%r13), %rax
addq $-0x48, %rax
cmpb $0x1, 0x10(%rax)
jne 0xb4b2
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
leaq -0x270(%rbp), %rdi
callq 0x1c5c4
movq -0xa0(%rbp), %r12
movq -0x98(%rbp), %rcx
jmp 0xb4d5
leaq (%r12,%r13), %rax
addq $-0x48, %rax
cmpb $0x1, 0x10(%rax)
jne 0xb54c
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
leaq -0x270(%rbp), %rdi
callq 0x1c5c4
movq -0xa0(%rbp), %r12
movq -0x98(%rbp), %rcx
jmp 0xb56f
leaq (%r12,%r13), %rax
addq $-0x48, %rax
cmpb $0x1, 0x10(%rax)
jne 0xb5e6
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
leaq -0x270(%rbp), %rdi
callq 0x1c5c4
movq -0xa0(%rbp), %r12
movq -0x98(%rbp), %rcx
jmp 0xb609
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
movq $0x0, -0x268(%rbp)
movb $0x0, -0x260(%rbp)
leaq -0x270(%rbp), %rbx
movq -0xd0(%rbp), %rdi
movq %rbx, %rsi
callq 0x1c646
movq %rax, %r13
movq -0x270(%rbp), %rdi
leaq -0x260(%rbp), %rax
cmpq %rax, %rdi
je 0xb052
callq 0x52d0
cmpq -0xe0(%rbp), %r13
je 0xc4bf
movq -0xa0(%rbp), %rax
movq -0x98(%rbp), %rcx
subq %rax, %rcx
je 0xb097
movq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x6, %rdx
cmpq $-0x4, %rdx
ja 0xb097
addq $0x30, %rax
jmp 0xb09e
addq %rcx, %rax
addq $-0x48, %rax
cmpb $0x1, 0x10(%rax)
jne 0xbc21
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
movq %rbx, %rdi
callq 0x1c5c4
jmp 0xbc41
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
movq $0x0, -0x268(%rbp)
movb $0x0, -0x260(%rbp)
leaq -0x270(%rbp), %rbx
movq -0xd0(%rbp), %rdi
movq %rbx, %rsi
callq 0x1c646
movq %rax, %r13
movq -0x270(%rbp), %rdi
leaq -0x260(%rbp), %rax
cmpq %rax, %rdi
je 0xb11b
callq 0x52d0
cmpq -0xe0(%rbp), %r13
je 0xc4fb
movq -0xa0(%rbp), %rax
movq -0x98(%rbp), %rcx
subq %rax, %rcx
je 0xb160
movq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x8, %rdx
cmpq $-0x6, %rdx
ja 0xb160
addq $0x60, %rax
jmp 0xb167
addq %rcx, %rax
addq $-0x48, %rax
cmpb $0x1, 0x10(%rax)
jne 0xbce4
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
movq %rbx, %rdi
callq 0x1c5c4
jmp 0xbd04
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
movq $0x0, -0x268(%rbp)
movb $0x0, -0x260(%rbp)
leaq -0x270(%rbp), %rbx
movq -0xd0(%rbp), %rdi
movq %rbx, %rsi
callq 0x1c646
movq %rax, %r13
movq -0x270(%rbp), %rdi
leaq -0x260(%rbp), %rax
cmpq %rax, %rdi
je 0xb1e4
callq 0x52d0
cmpq -0xe0(%rbp), %r13
je 0xc4dd
movq -0xa0(%rbp), %rax
movq -0x98(%rbp), %rcx
subq %rax, %rcx
je 0xb229
movq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x8, %rdx
cmpq $-0x6, %rdx
ja 0xb229
addq $0x60, %rax
jmp 0xb230
addq %rcx, %rax
addq $-0x48, %rax
cmpb $0x1, 0x10(%rax)
jne 0xbdd6
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
movq %rbx, %rdi
callq 0x1c5c4
jmp 0xbdf6
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
movq $0x0, -0x268(%rbp)
movb $0x0, -0x260(%rbp)
movq %r14, %rax
movq %rax, %rbx
subq %r12, %rbx
movq %rax, %rdx
cmpq %rax, %r12
je 0xb2b3
movq %rbx, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x6, %rax
cmpq $-0x4, %rax
ja 0xb2b3
leaq 0x30(%r12), %rax
jmp 0xb2bb
leaq (%r12,%rbx), %rax
addq $-0x48, %rax
cmpb $0x1, 0x10(%rax)
jne 0xb680
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x1c5c4
movq -0xa0(%rbp), %r12
movq -0x98(%rbp), %rax
movq %rax, %rbx
subq %r12, %rbx
jmp 0xb697
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
movq $0x0, -0x268(%rbp)
movb $0x0, -0x260(%rbp)
movq %r14, %rcx
movq %rcx, %rax
subq %r12, %rax
cmpq %rcx, %r12
je 0xb349
movq %rax, %rcx
sarq $0x3, %rcx
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdx, %rcx
addq $-0x6, %rcx
cmpq $-0x4, %rcx
ja 0xb349
addq $0x30, %r12
jmp 0xb350
addq %rax, %r12
addq $-0x48, %r12
cmpb $0x1, 0x10(%r12)
jne 0xb70c
movq (%r12), %rsi
movq 0x8(%r12), %rdx
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x50(%rbp), %rbx
movq %rbx, %rdi
callq 0x1c5c4
jmp 0xb724
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
movq $0x0, -0x268(%rbp)
movb $0x0, -0x260(%rbp)
movq %r14, %rcx
movq %rcx, %rax
subq %r12, %rax
movq %rcx, %rsi
cmpq %rcx, %r12
je 0xb3d5
movq %rax, %rcx
sarq $0x3, %rcx
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdx, %rcx
addq $-0x6, %rcx
cmpq $-0x4, %rcx
ja 0xb3d5
leaq 0x30(%r12), %rcx
jmp 0xb3dd
leaq (%r12,%rax), %rcx
addq $-0x48, %rcx
cmpb $0x1, 0x10(%rcx)
jne 0xb741
movq (%rcx), %rsi
movq 0x8(%rcx), %rdx
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x1c5c4
movq -0xa0(%rbp), %r12
movq -0x98(%rbp), %rcx
movq %rcx, %rax
subq %r12, %rax
jmp 0xb758
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
movq $0x0, -0x268(%rbp)
movb $0x0, -0x260(%rbp)
movq %r14, %rcx
movq %rcx, %rax
subq %r12, %rax
movq %rcx, %rsi
cmpq %rcx, %r12
je 0xb46f
movq %rax, %rcx
sarq $0x3, %rcx
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdx, %rcx
addq $-0x6, %rcx
cmpq $-0x4, %rcx
ja 0xb46f
leaq 0x30(%r12), %rcx
jmp 0xb477
leaq (%r12,%rax), %rcx
addq $-0x48, %rcx
cmpb $0x1, 0x10(%rcx)
jne 0xb7c5
movq (%rcx), %rsi
movq 0x8(%rcx), %rdx
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x1c5c4
movq -0xa0(%rbp), %r12
movq -0x98(%rbp), %rsi
movq %rsi, %rax
subq %r12, %rax
jmp 0xb7d9
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
movq $0x0, -0x268(%rbp)
movb $0x0, -0x260(%rbp)
movq %r14, %rcx
movq %rcx, %rax
subq %r12, %rax
movq %rcx, %rsi
cmpq %rcx, %r12
je 0xb509
movq %rax, %rcx
sarq $0x3, %rcx
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdx, %rcx
addq $-0x6, %rcx
cmpq $-0x4, %rcx
ja 0xb509
leaq 0x30(%r12), %rcx
jmp 0xb511
leaq (%r12,%rax), %rcx
addq $-0x48, %rcx
cmpb $0x1, 0x10(%rcx)
jne 0xb839
movq (%rcx), %rsi
movq 0x8(%rcx), %rdx
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x1c5c4
movq -0xa0(%rbp), %r12
movq -0x98(%rbp), %rcx
movq %rcx, %rax
subq %r12, %rax
jmp 0xb850
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
movq $0x0, -0x268(%rbp)
movb $0x0, -0x260(%rbp)
movq %r14, %rcx
movq %rcx, %rax
subq %r12, %rax
movq %rcx, %rsi
cmpq %rcx, %r12
je 0xb5a3
movq %rax, %rcx
sarq $0x3, %rcx
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdx, %rcx
addq $-0x6, %rcx
cmpq $-0x4, %rcx
ja 0xb5a3
leaq 0x30(%r12), %rcx
jmp 0xb5ab
leaq (%r12,%rax), %rcx
addq $-0x48, %rcx
cmpb $0x1, 0x10(%rcx)
jne 0xb8c1
movq (%rcx), %rsi
movq 0x8(%rcx), %rdx
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x1c5c4
movq -0xa0(%rbp), %r12
movq -0x98(%rbp), %rsi
movq %rsi, %rax
subq %r12, %rax
jmp 0xb8d5
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
movq $0x0, -0x268(%rbp)
movb $0x0, -0x260(%rbp)
movq %r14, %rcx
movq %rcx, %rax
subq %r12, %rax
movq %rcx, %rsi
cmpq %rcx, %r12
je 0xb63d
movq %rax, %rcx
sarq $0x3, %rcx
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdx, %rcx
addq $-0x6, %rcx
cmpq $-0x4, %rcx
ja 0xb63d
leaq 0x30(%r12), %rcx
jmp 0xb645
leaq (%r12,%rax), %rcx
addq $-0x48, %rcx
cmpb $0x1, 0x10(%rcx)
jne 0xb934
movq (%rcx), %rsi
movq 0x8(%rcx), %rdx
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x1c5c4
movq -0xa0(%rbp), %r12
movq -0x98(%rbp), %rsi
movq %rsi, %rax
subq %r12, %rax
jmp 0xb948
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
movq $0x0, -0x48(%rbp)
movb $0x0, -0x40(%rbp)
movq %rdx, %rax
movq %rax, %rdx
cmpq %rax, %r12
je 0xb6c5
movq %rbx, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x7, %rax
cmpq $-0x5, %rax
ja 0xb6c5
leaq 0x48(%r12), %rax
jmp 0xb6cd
leaq (%r12,%rbx), %rax
addq $-0x48, %rax
cmpb $0x1, 0x10(%rax)
jne 0xb9a8
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x1c5c4
movq -0x70(%rbp), %rdi
movq -0xa0(%rbp), %r12
movq -0x98(%rbp), %r14
movq %r14, %rbx
subq %r12, %rbx
jmp 0xb9bf
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
movq $0x0, -0x48(%rbp)
movb $0x0, -0x40(%rbp)
leaq -0x50(%rbp), %rbx
movq -0x78(%rbp), %rdi
leaq -0x270(%rbp), %rsi
movq %rbx, %rdx
movl $0x52, %ecx
callq 0xde14
jmp 0xc1cb
leaq -0x40(%rbp), %rcx
movq %rcx, -0x50(%rbp)
movq $0x0, -0x48(%rbp)
movb $0x0, -0x40(%rbp)
movq %rsi, %rcx
movq %rcx, %rsi
cmpq %rcx, %r12
je 0xb786
movq %rax, %rcx
sarq $0x3, %rcx
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdx, %rcx
addq $-0x7, %rcx
cmpq $-0x5, %rcx
ja 0xb786
leaq 0x48(%r12), %rcx
jmp 0xb78e
leaq (%r12,%rax), %rcx
addq $-0x48, %rcx
cmpb $0x1, 0x10(%rcx)
jne 0xba2f
movq (%rcx), %rsi
movq 0x8(%rcx), %rdx
movq %rbx, -0x70(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x1c5c4
movq -0xa0(%rbp), %r12
movq -0x98(%rbp), %rsi
movq %rsi, %rax
subq %r12, %rax
jmp 0xba3f
leaq -0x40(%rbp), %rcx
movq %rcx, -0x50(%rbp)
movq $0x0, -0x48(%rbp)
movb $0x0, -0x40(%rbp)
cmpq %rsi, %r12
je 0xb803
movq %rax, %rcx
sarq $0x3, %rcx
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdx, %rcx
addq $-0x7, %rcx
cmpq $-0x5, %rcx
ja 0xb803
addq $0x48, %r12
jmp 0xb80a
addq %rax, %r12
addq $-0x48, %r12
cmpb $0x1, 0x10(%r12)
jne 0xbaab
movq (%r12), %rsi
movq 0x8(%r12), %rdx
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x1c5c4
movq -0x70(%rbp), %rdi
jmp 0xbabf
leaq -0x40(%rbp), %rcx
movq %rcx, -0x50(%rbp)
movq $0x0, -0x48(%rbp)
movb $0x0, -0x40(%rbp)
movq %rsi, %rcx
movq %rcx, %rsi
cmpq %rcx, %r12
je 0xb87e
movq %rax, %rcx
sarq $0x3, %rcx
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdx, %rcx
addq $-0x7, %rcx
cmpq $-0x5, %rcx
ja 0xb87e
leaq 0x48(%r12), %rcx
jmp 0xb886
leaq (%r12,%rax), %rcx
addq $-0x48, %rcx
cmpb $0x1, 0x10(%rcx)
jne 0xbae5
movq (%rcx), %rsi
movq 0x8(%rcx), %rdx
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x1c5c4
movq -0xa0(%rbp), %r12
movq -0x98(%rbp), %rsi
movq %rsi, %rax
subq %r12, %rax
jmp 0xbaf9
leaq -0x40(%rbp), %rcx
movq %rcx, -0x50(%rbp)
movq $0x0, -0x48(%rbp)
movb $0x0, -0x40(%rbp)
cmpq %rsi, %r12
je 0xb8ff
movq %rax, %rcx
sarq $0x3, %rcx
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdx, %rcx
addq $-0x7, %rcx
cmpq $-0x5, %rcx
ja 0xb8ff
addq $0x48, %r12
jmp 0xb906
addq %rax, %r12
addq $-0x48, %r12
cmpb $0x1, 0x10(%r12)
jne 0xbb61
movq (%r12), %rsi
movq 0x8(%r12), %rdx
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq -0x70(%rbp), %rbx
movq %rbx, %rdi
callq 0x1c5c4
jmp 0xbb79
leaq -0x40(%rbp), %rcx
movq %rcx, -0x50(%rbp)
movq $0x0, -0x48(%rbp)
movb $0x0, -0x40(%rbp)
cmpq %rsi, %r12
je 0xb972
movq %rax, %rcx
sarq $0x3, %rcx
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdx, %rcx
addq $-0x7, %rcx
cmpq $-0x5, %rcx
ja 0xb972
addq $0x48, %r12
jmp 0xb979
addq %rax, %r12
addq $-0x48, %r12
cmpb $0x1, 0x10(%r12)
jne 0xbb9b
movq (%r12), %rsi
movq 0x8(%r12), %rdx
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x1c5c4
movq -0x70(%rbp), %rdi
jmp 0xbbaf
leaq -0x60(%rbp), %rdi
movq %rdi, -0x70(%rbp)
movq $0x0, -0x68(%rbp)
movb $0x0, -0x60(%rbp)
movq %rdx, %r14
callq 0x5470
movl %eax, %r13d
cmpq %r14, %r12
je 0xb9f1
movq %rbx, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x8, %rax
cmpq $-0x6, %rax
ja 0xb9f1
addq $0x60, %r12
jmp 0xb9f8
addq %rbx, %r12
addq $-0x48, %r12
cmpb $0x1, 0x10(%r12)
jne 0xbbd5
movq (%r12), %rsi
movq 0x8(%r12), %rdx
leaq -0xb8(%rbp), %rax
movq %rax, -0xc8(%rbp)
leaq -0xc8(%rbp), %rbx
movq %rbx, %rdi
callq 0x1c5c4
jmp 0xbbfc
movq %rbx, -0x70(%rbp)
movq $0x0, -0x68(%rbp)
movb $0x0, -0x60(%rbp)
cmpq %rsi, %r12
je 0xba69
movq %rax, %rcx
sarq $0x3, %rcx
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdx, %rcx
addq $-0x8, %rcx
cmpq $-0x6, %rcx
ja 0xba69
addq $0x60, %r12
jmp 0xba70
addq %rax, %r12
addq $-0x48, %r12
cmpb $0x1, 0x10(%r12)
jne 0xbec8
movq (%r12), %rsi
movq 0x8(%r12), %rdx
leaq -0xb8(%rbp), %rax
movq %rax, -0xc8(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x1c5c4
movq -0xc8(%rbp), %rdi
jmp 0xbee8
leaq -0x60(%rbp), %rdi
movq %rdi, -0x70(%rbp)
movq $0x0, -0x68(%rbp)
movb $0x0, -0x60(%rbp)
callq 0x5470
movq -0x78(%rbp), %rdi
leaq -0x270(%rbp), %rsi
leaq -0x50(%rbp), %rdx
movl %eax, %ecx
movl $0x49, %r8d
callq 0xd9a6
jmp 0xc1b9
leaq -0x60(%rbp), %rcx
movq %rcx, -0x70(%rbp)
movq $0x0, -0x68(%rbp)
movb $0x0, -0x60(%rbp)
cmpq %rsi, %r12
je 0xbb23
movq %rax, %rcx
sarq $0x3, %rcx
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdx, %rcx
addq $-0x8, %rcx
cmpq $-0x6, %rcx
ja 0xbb23
addq $0x60, %r12
jmp 0xbb2a
addq %rax, %r12
addq $-0x48, %r12
cmpb $0x1, 0x10(%r12)
jne 0xbf38
movq (%r12), %rsi
movq 0x8(%r12), %rdx
leaq -0xb8(%rbp), %rax
movq %rax, -0xc8(%rbp)
leaq -0xc8(%rbp), %rbx
movq %rbx, %rdi
callq 0x1c5c4
jmp 0xbf5f
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
movq $0x0, -0x68(%rbp)
movb $0x0, -0x60(%rbp)
leaq -0x70(%rbp), %rbx
movq -0x78(%rbp), %rdi
leaq -0x270(%rbp), %rsi
leaq -0x50(%rbp), %rdx
movq %rbx, %rcx
movl $0x52, %r8d
callq 0xdd22
jmp 0xc1b9
leaq -0x60(%rbp), %rdi
movq %rdi, -0x70(%rbp)
movq $0x0, -0x68(%rbp)
movb $0x0, -0x60(%rbp)
callq 0x5470
movq -0x78(%rbp), %rdi
leaq -0x270(%rbp), %rsi
leaq -0x50(%rbp), %rdx
movl %eax, %ecx
movl $0x52, %r8d
callq 0xd9a6
jmp 0xc1b9
leaq -0xb8(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq $0x0, -0xc0(%rbp)
movb $0x0, -0xb8(%rbp)
leaq -0xc8(%rbp), %rbx
movq -0x78(%rbp), %rdi
leaq -0x270(%rbp), %rsi
leaq -0x50(%rbp), %rdx
movl %r13d, %ecx
movq %rbx, %r8
movl $0x49, %r9d
callq 0xdb06
jmp 0xbf80
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
movq $0x0, -0x268(%rbp)
movb $0x0, -0x260(%rbp)
movq -0xd0(%rbp), %rdi
movq %rbx, %rsi
callq 0xda70
movl (%rax), %r14d
movq -0x270(%rbp), %rdi
leaq -0x260(%rbp), %rax
cmpq %rax, %rdi
je 0xbc6b
callq 0x52d0
movl $0x98, %edi
callq 0x5310
movq %rax, -0x78(%rbp)
movq -0xa0(%rbp), %rax
movq -0x98(%rbp), %rcx
subq %rax, %rcx
je 0xbcb1
movq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x5, %rdx
cmpq $-0x3, %rdx
ja 0xbcb1
addq $0x18, %rax
jmp 0xbcb8
addq %rcx, %rax
addq $-0x48, %rax
cmpb $0x1, 0x10(%rax)
jne 0xbfa1
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
movq %rbx, %rdi
callq 0x1c5c4
jmp 0xbfc1
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
movq $0x0, -0x268(%rbp)
movb $0x0, -0x260(%rbp)
movq -0xd0(%rbp), %rdi
movq %rbx, %rsi
callq 0xda70
movl 0x20(%r15), %ecx
movq -0xa8(%rbp), %rdx
movl %edx, %ebx
subl %ecx, %ebx
notl %ebx
shrl $0x5, %ebx
addl (%rax), %ebx
movq -0x270(%rbp), %rdi
leaq -0x260(%rbp), %rax
cmpq %rax, %rdi
je 0xbd41
callq 0x52d0
movl $0x98, %edi
callq 0x5310
movq %rax, -0x78(%rbp)
movq -0xa0(%rbp), %rax
movq -0x98(%rbp), %rdx
movq %rdx, %rcx
subq %rax, %rcx
je 0xbd8a
movq %rcx, %rsi
sarq $0x3, %rsi
movabsq $-0x5555555555555555, %rdi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdi, %rsi
addq $-0x5, %rsi
cmpq $-0x3, %rsi
ja 0xbd8a
leaq 0x18(%rax), %rdi
jmp 0xbd92
leaq (%rax,%rcx), %rdi
addq $-0x48, %rdi
cmpb $0x1, 0x10(%rdi)
jne 0xbfda
movq (%rdi), %rsi
movq 0x8(%rdi), %rdx
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
leaq -0x270(%rbp), %rdi
callq 0x1c5c4
movq -0xa0(%rbp), %rax
movq -0x98(%rbp), %rdx
movq %rdx, %rcx
subq %rax, %rcx
jmp 0xbffa
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
movq $0x0, -0x268(%rbp)
movb $0x0, -0x260(%rbp)
movq -0xd0(%rbp), %rdi
movq %rbx, %rsi
callq 0xda70
movl 0x20(%r15), %ecx
movq -0xa8(%rbp), %rdx
movl %edx, %ebx
subl %ecx, %ebx
notl %ebx
shrl $0x5, %ebx
addl (%rax), %ebx
movq -0x270(%rbp), %rdi
leaq -0x260(%rbp), %rax
cmpq %rax, %rdi
je 0xbe33
callq 0x52d0
movl $0x98, %edi
callq 0x5310
movq %rax, -0x78(%rbp)
movq -0xa0(%rbp), %rax
movq -0x98(%rbp), %rdx
movq %rdx, %rcx
subq %rax, %rcx
je 0xbe7c
movq %rcx, %rsi
sarq $0x3, %rsi
movabsq $-0x5555555555555555, %rdi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdi, %rsi
addq $-0x5, %rsi
cmpq $-0x3, %rsi
ja 0xbe7c
leaq 0x18(%rax), %rdi
jmp 0xbe84
leaq (%rax,%rcx), %rdi
addq $-0x48, %rdi
cmpb $0x1, 0x10(%rdi)
jne 0xc067
movq (%rdi), %rsi
movq 0x8(%rdi), %rdx
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
leaq -0x270(%rbp), %rdi
callq 0x1c5c4
movq -0xa0(%rbp), %rax
movq -0x98(%rbp), %rdx
movq %rdx, %rcx
subq %rax, %rcx
jmp 0xc087
leaq -0xb8(%rbp), %rdi
movq %rdi, -0xc8(%rbp)
movq $0x0, -0xc0(%rbp)
movb $0x0, -0xb8(%rbp)
callq 0x5470
movq -0x78(%rbp), %rdi
leaq -0x270(%rbp), %rsi
leaq -0x50(%rbp), %rdx
leaq -0x70(%rbp), %rcx
movl %eax, %r8d
movl $0x49, %r9d
callq 0xd842
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0xbf26
callq 0x52d0
movq -0x70(%rbp), %rdi
cmpq %rbx, %rdi
jne 0xc1c6
jmp 0xc1cb
leaq -0xb8(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq $0x0, -0xc0(%rbp)
movb $0x0, -0xb8(%rbp)
leaq -0xc8(%rbp), %rbx
movq -0x78(%rbp), %rdi
leaq -0x270(%rbp), %rsi
leaq -0x50(%rbp), %rdx
leaq -0x70(%rbp), %rcx
movq %rbx, %r8
movl $0x52, %r9d
callq 0xdc06
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0xc1b9
callq 0x52d0
jmp 0xc1b9
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
movq $0x0, -0x268(%rbp)
movb $0x0, -0x260(%rbp)
movq -0x78(%rbp), %rdi
movq %rbx, %rsi
movl %r14d, %edx
movl $0x4a, %ecx
callq 0xdec8
jmp 0xc1dd
leaq -0x260(%rbp), %rsi
movq %rsi, -0x270(%rbp)
movq $0x0, -0x268(%rbp)
movb $0x0, -0x260(%rbp)
cmpq %rdx, %rax
je 0xc024
movq %rcx, %rsi
sarq $0x3, %rsi
movabsq $-0x5555555555555555, %rdi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdi, %rsi
addq $-0x6, %rsi
cmpq $-0x4, %rsi
ja 0xc024
leaq 0x30(%rax), %rdi
jmp 0xc02c
leaq (%rax,%rcx), %rdi
addq $-0x48, %rdi
cmpb $0x1, 0x10(%rdi)
jne 0xc0e2
movq (%rdi), %rsi
movq 0x8(%rdi), %rdx
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x1c5c4
movq -0xa0(%rbp), %rax
movq -0x98(%rbp), %rdx
movq %rdx, %rcx
subq %rax, %rcx
jmp 0xc0f6
leaq -0x260(%rbp), %rsi
movq %rsi, -0x270(%rbp)
movq $0x0, -0x268(%rbp)
movb $0x0, -0x260(%rbp)
cmpq %rdx, %rax
je 0xc0b1
movq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x6, %rdx
cmpq $-0x4, %rdx
ja 0xc0b1
addq $0x30, %rax
jmp 0xc0b8
addq %rcx, %rax
addq $-0x48, %rax
cmpb $0x1, 0x10(%rax)
jne 0xc14a
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x50(%rbp), %r12
movq %r12, %rdi
callq 0x1c5c4
jmp 0xc162
leaq -0x40(%rbp), %rsi
movq %rsi, -0x50(%rbp)
movq $0x0, -0x48(%rbp)
movb $0x0, -0x40(%rbp)
cmpq %rdx, %rax
je 0xc120
movq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x7, %rdx
cmpq $-0x5, %rdx
ja 0xc120
addq $0x48, %rax
jmp 0xc127
addq %rcx, %rax
addq $-0x48, %rax
cmpb $0x1, 0x10(%rax)
jne 0xc180
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq -0x70(%rbp), %r14
movq %r14, %rdi
callq 0x1c5c4
jmp 0xc198
leaq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
movq $0x0, -0x48(%rbp)
movb $0x0, -0x40(%rbp)
leaq -0x50(%rbp), %r12
movzwl %bx, %ecx
movq -0x78(%rbp), %rdi
leaq -0x270(%rbp), %rsi
movq %r12, %rdx
movl $0x49, %r8d
callq 0xd9a6
jmp 0xc1cb
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
movq $0x0, -0x68(%rbp)
movb $0x0, -0x60(%rbp)
leaq -0x70(%rbp), %r14
movzwl %bx, %r8d
movq -0x78(%rbp), %rdi
leaq -0x270(%rbp), %rsi
leaq -0x50(%rbp), %rdx
movq %r14, %rcx
movl $0x49, %r9d
callq 0xd842
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0xc1cb
callq 0x52d0
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0xc1dd
callq 0x52d0
movq -0x270(%rbp), %rdi
leaq -0x260(%rbp), %rax
cmpq %rax, %rdi
je 0xc1f5
callq 0x52d0
movq -0x78(%rbp), %rdi
leaq -0x60(%rbp), %r13
callq 0x1cd0c
movq -0xd8(%rbp), %r12
movl %eax, -0x270(%rbp)
movq 0x58(%r15), %rsi
cmpq 0x60(%r15), %rsi
je 0xc225
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x58(%r15)
jmp 0xc238
movq -0x280(%rbp), %rdi
leaq -0x270(%rbp), %rdx
callq 0x1c0f0
movq -0x290(%rbp), %rax
cmpq 0x1f512(%rip), %rax     # 0x2b758
je 0xc2f6
movq -0xa8(%rbp), %rax
addq $0x20, %rax
movq %rax, -0xa8(%rbp)
cmpq 0x28(%r15), %rax
jne 0xa51b
jmp 0xc2d3
leaq 0x1f51f(%rip), %rdi     # 0x2b790
callq 0x5580
testl %eax, %eax
je 0xa529
leaq 0x1f4eb(%rip), %rdi     # 0x2b770
leaq 0x15132(%rip), %rsi     # 0x213be
movl $0x10, %edx
callq 0xd6b0
leaq 0x147f(%rip), %rdi      # 0xd71c
leaq 0x1f4cc(%rip), %rsi     # 0x2b770
leaq 0x1f06d(%rip), %rdx     # 0x2b318
callq 0x52b0
leaq 0x1f4d9(%rip), %rdi     # 0x2b790
callq 0x5200
leaq -0x60(%rbp), %r13
movq -0x278(%rbp), %r15
movq -0xd8(%rbp), %r12
jmp 0xa529
movq -0xa0(%rbp), %rdi
testq %rdi, %rdi
je 0xc2e4
callq 0x52d0
addq $0x298, %rsp            # imm = 0x298
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x10, %edi
callq 0x5180
movq %rax, %r12
leaq 0x150d0(%rip), %rsi     # 0x213da
movq %rax, %rdi
callq 0x55d0
movq 0x1ecb7(%rip), %rsi     # 0x2afd0
movq 0x1ec98(%rip), %rdx     # 0x2afb8
movq %r12, %rdi
callq 0x5510
jmp 0xc94f
leaq 0x1f434(%rip), %rdi     # 0x2b768
callq 0x5580
testl %eax, %eax
je 0xa4b0
leaq 0x14f4c(%rip), %rsi     # 0x21294
leaq -0x270(%rbp), %r14
movq %r14, %rdi
movl $0x10, %edx
callq 0xd6b0
leaq -0x250(%rbp), %r15
leaq 0x14f56(%rip), %rsi     # 0x212c0
movq %r15, %rdi
movl $0x10, %edx
callq 0xd6b0
leaq -0x230(%rbp), %r15
leaq 0x14f59(%rip), %rsi     # 0x212de
movq %r15, %rdi
movl $0x10, %edx
callq 0xd6b0
leaq -0x210(%rbp), %r15
leaq 0x14f68(%rip), %rsi     # 0x21308
movq %r15, %rdi
movl $0x10, %edx
callq 0xd6b0
leaq -0x1f0(%rbp), %r15
leaq 0x14f69(%rip), %rsi     # 0x21324
movq %r15, %rdi
movl $0x10, %edx
callq 0xd6b0
leaq -0x1d0(%rbp), %r15
leaq 0x14f80(%rip), %rsi     # 0x21356
movq %r15, %rdi
movl $0x10, %edx
callq 0xd6b0
leaq -0x1b0(%rbp), %r15
leaq 0x14f91(%rip), %rsi     # 0x21382
movq %r15, %rdi
movl $0x10, %edx
callq 0xd6b0
leaq -0x190(%rbp), %r15
leaq 0x14f94(%rip), %rsi     # 0x213a0
movq %r15, %rdi
movl $0x10, %edx
callq 0xd6b0
leaq -0x170(%rbp), %r15
leaq 0x14e6d(%rip), %rsi     # 0x21294
movq %r15, %rdi
movl $0x10, %edx
callq 0xd6b0
leaq -0x150(%rbp), %r15
leaq 0x14f6e(%rip), %rsi     # 0x213b0
movq %r15, %rdi
movl $0x10, %edx
callq 0xd6b0
leaq 0x1f2fa(%rip), %rdi     # 0x2b750
leaq -0x270(%rbp), %rsi
leaq -0xa0(%rbp), %rcx
movl $0xa, %edx
callq 0xd746
movl $0x120, %ebx            # imm = 0x120
leaq (%rbx,%rbp), %rdi
addq $-0x270, %rdi           # imm = 0xFD90
callq 0xd71c
addq $-0x20, %rbx
cmpq $-0x20, %rbx
jne 0xc473
leaq 0x12f4(%rip), %rdi      # 0xd788
leaq 0x1f2b5(%rip), %rsi     # 0x2b750
leaq 0x1ee76(%rip), %rdx     # 0x2b318
callq 0x52b0
leaq 0x1f2ba(%rip), %rdi     # 0x2b768
callq 0x5200
movq -0x278(%rbp), %r15
jmp 0xa4b0
movl $0x10, %edi
callq 0x5180
movq %rax, %r12
leaq 0x14ef7(%rip), %rsi     # 0x213ca
movq %rax, %rdi
callq 0x55d0
jmp 0xc517
movl $0x10, %edi
callq 0x5180
movq %rax, %r12
leaq 0x14ed9(%rip), %rsi     # 0x213ca
movq %rax, %rdi
callq 0x55d0
jmp 0xc517
movl $0x10, %edi
callq 0x5180
movq %rax, %r12
leaq 0x14ebb(%rip), %rsi     # 0x213ca
movq %rax, %rdi
callq 0x55d0
movq 0x1eab2(%rip), %rsi     # 0x2afd0
movq 0x1ea93(%rip), %rdx     # 0x2afb8
movq %r12, %rdi
callq 0x5510
movq %rax, %rbx
movl $0x120, %r14d           # imm = 0x120
leaq (%r14,%rbp), %rdi
addq $-0x270, %rdi           # imm = 0xFD90
callq 0xd71c
addq $-0x20, %r14
cmpq $-0x20, %r14
jne 0xc536
jmp 0xc56b
movq %rax, %rbx
jmp 0xc56b
movq %rax, %rbx
addq $-0x20, %r15
movq %r15, %rdi
callq 0xd71c
cmpq %r14, %r15
jne 0xc55a
leaq 0x1f1f6(%rip), %rdi     # 0x2b768
callq 0x51f0
jmp 0xc9f5
movq %rdx, %r15
movq %rax, %rbx
leaq 0x1f207(%rip), %rdi     # 0x2b790
callq 0x51f0
jmp 0xc7de
jmp 0xc678
jmp 0xc6ac
jmp 0xc623
jmp 0xc6ac
jmp 0xc623
jmp 0xc623
jmp 0xc5af
jmp 0xc5af
movq %rdx, %r15
movq %rax, %rbx
movq %r12, %rdi
callq 0x5260
jmp 0xc7de
jmp 0xc680
jmp 0xc678
jmp 0xc6ac
jmp 0xc623
jmp 0xc678
jmp 0xc6ac
jmp 0xc623
jmp 0xc73a
jmp 0xc73a
jmp 0xc73a
jmp 0xc73a
jmp 0xc680
jmp 0xc678
jmp 0xc6ac
jmp 0xc623
jmp 0xc680
jmp 0xc678
jmp 0xc6ac
jmp 0xc623
jmp 0xc678
jmp 0xc6ac
jmp 0xc623
jmp 0xc6ac
jmp 0xc623
jmp 0xc678
jmp 0xc6ac
movq %rdx, %r15
movq %rax, %rbx
jmp 0xc6ca
jmp 0xc73a
jmp 0xc73a
jmp 0xc656
jmp 0xc680
jmp 0xc680
jmp 0xc7c0
jmp 0xc7c0
jmp 0xc678
jmp 0xc7c0
jmp 0xc7c0
jmp 0xc656
movq %rdx, %r15
movq %rax, %rbx
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0xc686
callq 0x52d0
jmp 0xc686
jmp 0xc680
movq %rdx, %r15
movq %rax, %rbx
jmp 0xc698
movq %rdx, %r15
movq %rax, %rbx
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0xc698
callq 0x52d0
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0xc6b2
callq 0x52d0
jmp 0xc6b2
movq %rdx, %r15
movq %rax, %rbx
movq -0x270(%rbp), %rdi
leaq -0x260(%rbp), %rax
cmpq %rax, %rdi
je 0xc6ca
callq 0x52d0
movq -0x78(%rbp), %rdi
jmp 0xc7d9
jmp 0xc7c0
jmp 0xc7c0
jmp 0xc73a
jmp 0xc7ad
jmp 0xc85a
movq %rdx, %r15
movq %rax, %rbx
movq -0x270(%rbp), %rdi
cmpq %r12, %rdi
je 0xc700
callq 0x52d0
leaq -0x60(%rbp), %r13
jmp 0xc846
jmp 0xc73a
movq %rdx, %r15
movq %rax, %rbx
leaq -0x270(%rbp), %rdi
callq 0x8e9a
jmp 0xc860
movq %rdx, %r15
movq %rax, %rbx
jmp 0xc76a
jmp 0xc73a
jmp 0xc745
jmp 0xc7c0
jmp 0xc85a
jmp 0xc73a
movq %rdx, %r15
movq %rax, %rbx
jmp 0xc7de
movq %rdx, %r15
movq %rax, %rbx
movq 0x1e816(%rip), %rsi     # 0x2af68
leaq -0x270(%rbp), %rdi
callq 0x5270
movq -0xd8(%rbp), %rdi
callq 0x50e0
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
jmp 0xc7d4
movq %rdx, %r15
movq %rax, %rbx
movq -0x70(%rbp), %rdi
cmpq %r13, %rdi
je 0xc788
callq 0x52d0
movq -0x2b0(%rbp), %rdi
leaq -0x2a0(%rbp), %rax
cmpq %rax, %rdi
je 0xc7a0
callq 0x52d0
leaq -0x60(%rbp), %r13
movq -0xd8(%rbp), %r12
jmp 0xc7fc
movq %rdx, %r15
movq %rax, %rbx
jmp 0xc846
movq %rdx, %r15
movq %rax, %rbx
jmp 0xc817
movq %rdx, %r15
movq %rax, %rbx
movq -0x270(%rbp), %rdi
leaq -0x260(%rbp), %rax
cmpq %rax, %rdi
je 0xc7de
callq 0x52d0
leaq -0x60(%rbp), %r13
jmp 0xc860
jmp 0xc85a
movq %rdx, %r15
movq %rax, %rbx
movq %r12, %rdi
callq 0x5260
jmp 0xc860
movq %rdx, %r15
movq %rax, %rbx
movq 0x1e765(%rip), %rsi     # 0x2af68
leaq -0x270(%rbp), %rdi
callq 0x5270
movq %r12, %rdi
callq 0x50e0
leaq -0xc8(%rbp), %rdi
callq 0xd71c
jmp 0xc846
movq %rdx, %r15
movq %rax, %rbx
movq 0x1e736(%rip), %rsi     # 0x2af68
leaq -0x270(%rbp), %rdi
callq 0x5270
movq %r12, %rdi
callq 0x50e0
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0xc860
callq 0x52d0
jmp 0xc860
movq %rdx, %r15
movq %rax, %rbx
cmpl $0x1, %r15d
jne 0xc9e4
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 -0xc8(%rbp), %rdi
leaq -0x2b0(%rbp), %rdx
movq %rax, %rsi
callq 0x5120
leaq 0x14b3f(%rip), %rsi     # 0x213e7
leaq -0x70(%rbp), %rdi
leaq -0xc8(%rbp), %rdx
callq 0xdfbc
leaq 0x14b45(%rip), %rsi     # 0x21404
leaq -0x70(%rbp), %rdi
callq 0x55e0
leaq -0x40(%rbp), %rcx
movq %rcx, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0xc8eb
movups (%rcx), %xmm0
leaq -0x40(%rbp), %rdx
movups %xmm0, (%rdx)
jmp 0xc8f6
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
movq 0x8(%rax), %rdx
leaq -0x50(%rbp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x270(%rbp), %rdi
movq -0xa8(%rbp), %rdx
callq 0xdf58
movb $0x1, %r14b
leaq -0x270(%rbp), %rsi
movq %r15, %rdi
callq 0x5530
xorl %r14d, %r14d
movq 0x1e690(%rip), %rsi     # 0x2afd0
movq 0x1e671(%rip), %rdx     # 0x2afb8
movq %r15, %rdi
callq 0x5510
movq %rax, %rbx
movq -0x270(%rbp), %rdi
leaq -0x260(%rbp), %rax
cmpq %rax, %rdi
je 0xc972
callq 0x52d0
jmp 0xc972
movq %rax, %rbx
movb $0x1, %r14b
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0xc984
callq 0x52d0
leaq -0x60(%rbp), %r13
jmp 0xc990
movq %rax, %rbx
movb $0x1, %r14b
movq -0x70(%rbp), %rdi
cmpq %r13, %rdi
je 0xc99e
callq 0x52d0
leaq -0xb8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xc9b3
callq 0x52d0
testb %r14b, %r14b
jne 0xc9d7
jmp 0xc9df
movq %rax, %rbx
leaq -0xb8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xc9d7
callq 0x52d0
jmp 0xc9d7
movq %rax, %rbx
movq %r15, %rdi
callq 0x5260
callq 0x54c0
movq -0xa0(%rbp), %rdi
testq %rdi, %rdi
je 0xc9f5
callq 0x52d0
movq %rbx, %rdi
callq 0x5560
movq %rax, %rdi
callq 0x8d5a
nop