// File: /workspace/github_cpp_makefile_star2_O3/medvedevgroup[P]varmatch/src/wholegenome.cpp
// Function: WholeGenome::MatchingSingleClusterDirectly(int, int, int, int, int, std::vector<DiploidVariant, std::allocator<DiploidVariant>>&)
bool WholeGenome::MatchingSingleClusterDirectly(int cluster_index, 
    int thread_index, 
    int mode_index, 
    int threshold_index, 
    int chr_id,
    vector<DiploidVariant> & variant_list){
    //cout << "direct match : " << variant_list.size() << endl;
    map<int, vector<DiploidVariant>> separate_var_list_map[2];
    for (int i = 0; i < variant_list.size(); i++) {
        int flag = 0;
        if (variant_list[i].flag) flag = 1; // flag indicate if the variant is from ref set(0) or query set(1)
        int pos = variant_list[i].pos;

        if(separate_var_list_map[flag].find(pos) == separate_var_list_map[flag].end()){
            separate_var_list_map[flag][pos] = vector<DiploidVariant>({variant_list[i]});
        }else{
            separate_var_list_map[flag][pos].push_back(variant_list[i]);
        }
    }

    //int match_mode = GetMatchmodeFromModeIndex(mode_index);

    for(auto baseline_it = separate_var_list_map[0].begin(); baseline_it != separate_var_list_map[0].end(); ++baseline_it){
        int pos = baseline_it->first;
        if(separate_var_list_map[1].find(pos) != separate_var_list_map[1].end()){
            vector<DiploidVariant> baseline_var_list = baseline_it->second;
            vector<DiploidVariant> query_var_list = separate_var_list_map[1][pos];
            for(auto baseline_var : baseline_var_list){
                for(auto query_var : query_var_list){
                    if(baseline_var == query_var){
                        DiploidVariant tv = baseline_var;
                        string match_record = chrname_by_chrid[chr_id] + "\t" + to_string(tv.pos+1) + "\t" + tv.ref + "\t" + tv.alts[0];
                        if(tv.multi_alts) match_record += "/" + tv.alts[1];
                        match_record += "\t.\t.\t.\t.\t.\n";
                        int edit_distance = CalculateEditDistance(tv, 0, 0);
                        match_records_by_mode_by_thread[thread_index][mode_index]->push_back(match_record);
                        baseline_total_match_num[thread_index][threshold_index]->at(mode_index)++;
                        query_total_match_num[thread_index][threshold_index]->at(mode_index)++;

                        baseline_total_edit_distance[thread_index][threshold_index]->at(mode_index) += edit_distance;
                        query_total_edit_distance[thread_index][threshold_index]->at(mode_index) += edit_distance;
                        break;
                    }
                }
            }
        }
    } 
    return true;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2c8, %rsp            # imm = 0x2C8
movl %r8d, 0x90(%rsp)
movl %ecx, (%rsp)
movl %edx, 0x88(%rsp)
movq %rdi, 0x118(%rsp)
movq 0x300(%rsp), %r13
movl %r9d, 0x9c(%rsp)
leaq 0x238(%rsp), %rsi
xorl %eax, %eax
xorl %ecx, %ecx
leaq (%rsi,%rcx), %rdx
movl $0x0, 0x238(%rsp,%rcx)
movq %rax, 0x240(%rsp,%rcx)
movq %rdx, 0x248(%rsp,%rcx)
movq %rdx, 0x250(%rsp,%rcx)
movq %rax, 0x258(%rsp,%rcx)
addq $0x30, %rcx
cmpq $0x60, %rcx
jne 0x1b667
movq (%r13), %rbp
cmpq %rbp, 0x8(%r13)
je 0x1b89e
leaq 0xc8(%rsp), %r14
xorl %r15d, %r15d
imulq $0x58, %r15, %r12
cmpb $0x0, 0x4c(%rbp,%r12)
movl (%rbp,%r12), %eax
movl %eax, 0x68(%rsp)
leaq 0x230(%rsp), %rbx
leaq 0x260(%rsp), %rcx
cmovneq %rcx, %rbx
leaq 0x240(%rsp), %rcx
leaq 0x270(%rsp), %rdx
cmovneq %rdx, %rcx
movq (%rcx), %r8
leaq 0x238(%rsp), %rcx
leaq 0x268(%rsp), %rdx
cmovneq %rdx, %rcx
testq %r8, %r8
je 0x1b74b
movq %rcx, %r9
movq %r9, %rdx
movq %r8, %rsi
movl 0x20(%r8), %edi
xorl %r8d, %r8d
cmpl %eax, %edi
setl %r8b
movq %rsi, %r9
cmovlq %rdx, %r9
movq 0x10(%rsi,%r8,8), %r8
testq %r8, %r8
jne 0x1b713
cmpq %rcx, %r9
je 0x1b74b
cmpl %eax, %edi
cmovlq %rdx, %rsi
cmpl 0x20(%rsi), %eax
jge 0x1b859
addq %r12, %rbp
movl %eax, 0xc0(%rsp)
leaq 0xd8(%rsp), %rax
movq %rax, 0xc8(%rsp)
movq 0x8(%rbp), %rsi
movq 0x10(%rbp), %rdx
addq %rsi, %rdx
movq %r14, %rdi
callq 0x1123c
leaq 0x28(%rbp), %rsi
leaq 0xe8(%rsp), %rdi
callq 0x28582
movq 0x50(%rbp), %rax
movq %rax, 0x48(%r14)
movups 0x40(%rbp), %xmm0
movups %xmm0, 0x38(%r14)
movl $0x1, %edx
leaq 0x160(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
leaq 0x8(%rsp), %rcx
callq 0x293b6
movq %rbx, %rdi
leaq 0x68(%rsp), %rsi
callq 0x293fe
movq 0x10(%rax), %rcx
movaps 0x160(%rsp), %xmm0
movups (%rax), %xmm1
movups %xmm0, (%rax)
movq 0x170(%rsp), %rdx
movq %rdx, 0x10(%rax)
movaps %xmm1, 0x1c0(%rsp)
movq %rcx, 0x1d0(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x160(%rsp)
movq $0x0, 0x170(%rsp)
leaq 0x1c0(%rsp), %rdi
callq 0x284ec
leaq 0x160(%rsp), %rdi
callq 0x284ec
leaq 0xe8(%rsp), %rdi
callq 0xe71c
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x1b875
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x1b875
movq %rbx, %rdi
leaq 0x68(%rsp), %rsi
callq 0x293fe
addq (%r13), %r12
movq %rax, %rdi
movq %r12, %rsi
callq 0x286b0
incq %r15
movq (%r13), %rbp
movq 0x8(%r13), %rax
subq %rbp, %rax
sarq $0x3, %rax
movabsq $0x2e8ba2e8ba2e8ba3, %rcx # imm = 0x2E8BA2E8BA2E8BA3
imulq %rcx, %rax
cmpq %r15, %rax
ja 0x1b6b9
movq 0x248(%rsp), %rbx
leaq 0x238(%rsp), %rax
cmpq %rax, %rbx
movq 0x118(%rsp), %rax
je 0x1c1b4
leaq 0x268(%rsp), %r12
leaq 0x1c8(%rsp), %r15
addq $0xb8, %rax
movq %rax, 0x228(%rsp)
movslq 0x88(%rsp), %rbp
movslq (%rsp), %rax
movq %rax, (%rsp)
movslq 0x90(%rsp), %r14
leaq 0x2b0(%rsp), %r13
movq %rbp, 0x88(%rsp)
movq %r14, 0x220(%rsp)
movq 0x88(%rsp), %r14
movl 0x20(%rbx), %eax
movl %eax, 0x98(%rsp)
movq 0x270(%rsp), %rdi
testq %rdi, %rdi
je 0x1c198
movq %r12, %r8
movq %r8, %rcx
movq %rdi, %rdx
movl 0x20(%rdi), %esi
xorl %edi, %edi
cmpl %eax, %esi
setl %dil
movq %rdx, %r8
cmovlq %rcx, %r8
movq 0x10(%rdx,%rdi,8), %rdi
testq %rdi, %rdi
jne 0x1b933
cmpq %r12, %r8
je 0x1c198
cmpl %eax, %esi
cmovlq %rcx, %rdx
cmpl 0x20(%rdx), %eax
jl 0x1c198
leaq 0x28(%rbx), %rsi
movq %r13, %rdi
callq 0x29464
movq %rbx, 0x218(%rsp)
leaq 0x260(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0x293fe
leaq 0x298(%rsp), %rdi
movq %rax, %rsi
callq 0x29464
movq 0x2b0(%rsp), %r13
movq 0x2b8(%rsp), %rax
movq %rax, 0x90(%rsp)
cmpq %rax, %r13
je 0x1c16b
movl (%r13), %eax
movl %eax, 0xc0(%rsp)
leaq 0xd8(%rsp), %rax
movq %rax, 0xc8(%rsp)
movq 0x8(%r13), %rsi
movq 0x10(%r13), %rdx
addq %rsi, %rdx
leaq 0xc8(%rsp), %rdi
callq 0x1123c
leaq 0x28(%r13), %rsi
leaq 0xe8(%rsp), %rdi
callq 0x28582
movq 0x50(%r13), %rax
leaq 0xc8(%rsp), %rcx
movq %rax, 0x48(%rcx)
movups 0x40(%r13), %xmm0
movups %xmm0, 0x38(%rcx)
movq 0x298(%rsp), %rbx
movq 0x2a0(%rsp), %r12
cmpq %r12, %rbx
je 0x1c127
movl (%rbx), %eax
movl %eax, 0x1c0(%rsp)
leaq 0x1d8(%rsp), %rax
movq %rax, 0x1c8(%rsp)
movq 0x8(%rbx), %rsi
movq 0x10(%rbx), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x1123c
addq $0x28, %rbx
leaq 0x1e8(%rsp), %rdi
movq %rbx, %rsi
callq 0x28582
movq 0x28(%rbx), %rax
movq %rax, 0x48(%r15)
movups 0x18(%rbx), %xmm0
movups %xmm0, 0x38(%r15)
leaq 0xc0(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
callq 0x28ab8
testb %al, %al
jne 0x1bae2
leaq 0x1e8(%rsp), %rdi
callq 0xe71c
movq 0x1c8(%rsp), %rdi
leaq 0x1d8(%rsp), %rax
cmpq %rax, %rdi
je 0x1bad9
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x5340
addq $0x30, %rbx
jmp 0x1ba34
movl 0xc0(%rsp), %eax
movl %eax, 0x160(%rsp)
leaq 0x178(%rsp), %rax
movq %rax, 0x168(%rsp)
movq 0xc8(%rsp), %rsi
movq 0xd0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x168(%rsp), %rbx
movq %rbx, %rdi
callq 0x1123c
leaq 0x188(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x28582
leaq 0xc8(%rsp), %rcx
movq 0x48(%rcx), %rax
movq %rax, 0x48(%rbx)
movups 0x38(%rcx), %xmm0
movups %xmm0, 0x38(%rbx)
movq 0x228(%rsp), %rdi
leaq 0x9c(%rsp), %rsi
callq 0x2851c
leaq 0x28(%rsp), %rbx
leaq 0x38(%rsp), %rcx
movq %rcx, 0x28(%rsp)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0x1123c
movq %rbx, %rdi
leaq 0x15a61(%rip), %rsi     # 0x315f1
callq 0x5630
movl 0x160(%rsp), %r12d
incl %r12d
movl %r12d, %ebp
negl %ebp
cmovsl %r12d, %ebp
movl $0x1, %ebx
cmpl $0xa, %ebp
jb 0x1bbf4
movl $0x4, %ebx
movl %ebp, %eax
cmpl $0x63, %eax
jbe 0x1bbed
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x1bbf2
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x1bbf4
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x1bbba
addl $-0x3, %ebx
jmp 0x1bbf4
addl $-0x2, %ebx
jmp 0x1bbf4
decl %ebx
shrl $0x1f, %r12d
leal (%rbx,%r12), %esi
leaq 0xb0(%rsp), %rax
movq %rax, 0xa0(%rsp)
leaq 0xa0(%rsp), %rdi
movl $0x2d, %edx
callq 0x53b0
movl %r12d, %edi
addq 0xa0(%rsp), %rdi
movl %ebx, %esi
movl %ebp, %edx
callq 0xe33a
movq 0x28(%rsp), %rcx
movl $0xf, %edi
leaq 0x38(%rsp), %rax
cmpq %rax, %rcx
je 0x1bc4b
movq 0x38(%rsp), %rdi
movq 0x30(%rsp), %r8
movq 0xa0(%rsp), %rsi
movq 0xa8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x1bc88
movl $0xf, %edi
leaq 0xb0(%rsp), %r9
cmpq %r9, %rsi
je 0x1bc83
movq 0xb0(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x1bc94
leaq 0x28(%rsp), %rdi
callq 0x50f0
jmp 0x1bca5
leaq 0xa0(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x5380
leaq 0x58(%rsp), %rsi
movq %rsi, 0x48(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x1bcca
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x1bcd0
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x50(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x48(%rsp), %rdi
leaq 0x158f8(%rip), %rsi     # 0x315f1
callq 0x5630
leaq 0x130(%rsp), %rsi
movq %rsi, 0x120(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1bd32
movq %rdx, 0x120(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x130(%rsp)
jmp 0x1bd38
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x128(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x168(%rsp), %rsi
movq 0x170(%rsp), %rdx
leaq 0x120(%rsp), %rdi
callq 0x50f0
leaq 0x150(%rsp), %rsi
movq %rsi, 0x140(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1bda4
movq %rdx, 0x140(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x150(%rsp)
jmp 0x1bdaa
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x148(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x140(%rsp), %rdi
leaq 0x1581d(%rip), %rsi     # 0x315f1
callq 0x5630
leaq 0x18(%rsp), %rsi
movq %rsi, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1be01
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x1be07
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x188(%rsp), %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
callq 0x50f0
leaq 0x78(%rsp), %rsi
movq %rsi, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1be60
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x1be66
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x70(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x1be9a
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5340
movq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
cmpq %rax, %rdi
je 0x1bebf
movq 0x150(%rsp), %rsi
incq %rsi
callq 0x5340
movq 0x120(%rsp), %rdi
leaq 0x130(%rsp), %rax
cmpq %rax, %rdi
je 0x1bee4
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x5340
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x1bf00
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x5340
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x1bf25
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x5340
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x1bf41
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x5340
cmpb $0x1, 0x1a1(%rsp)
jne 0x1bf98
movq 0x188(%rsp), %rdx
addq $0x20, %rdx
leaq 0x8(%rsp), %rdi
leaq 0x15690(%rip), %rsi     # 0x315f3
callq 0xce20
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0x68(%rsp), %rdi
callq 0x50f0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x1bf98
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0x68(%rsp), %rdi
leaq 0x15651(%rip), %rsi     # 0x315f5
callq 0x5630
movq 0x118(%rsp), %r12
movq %r12, %rdi
leaq 0x160(%rsp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x16328
movq (%rsp), %rbp
movl %eax, %ebx
movq 0x178(%r12), %rax
movq (%rax,%r14,8), %rax
movq (%rax,%rbp,8), %rdi
leaq 0x68(%rsp), %rsi
callq 0x10c62
movq 0x180(%r12), %rax
movq (%rax,%r14,8), %rax
movq 0x220(%rsp), %rdi
movq (%rax,%rdi,8), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
subq %rax, %rdx
sarq $0x2, %rdx
cmpq %rbp, %rdx
movq %rbp, %rsi
jbe 0x1c1e7
movq %r14, %rbp
incl (%rax,%rsi,4)
movq 0x188(%r12), %rax
movq (%rax,%r14,8), %rax
movq (%rax,%rdi,8), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
movq (%rsp), %rsi
subq %rax, %rdx
sarq $0x2, %rdx
cmpq %rsi, %rdx
jbe 0x1c1e7
incl (%rax,%rsi,4)
movq 0x190(%r12), %rax
movq (%rax,%rbp,8), %rax
movq (%rax,%rdi,8), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
movq (%rsp), %rsi
subq %rax, %rdx
sarq $0x2, %rdx
cmpq %rsi, %rdx
jbe 0x1c1e7
addl %ebx, (%rax,%rsi,4)
movq 0x198(%r12), %rax
movq (%rax,%rbp,8), %rax
movq (%rax,%rdi,8), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %rdx
movq (%rsp), %rsi
subq %rax, %rdx
sarq $0x2, %rdx
cmpq %rsi, %rdx
jbe 0x1c1e7
addl %ebx, (%rax,%rsi,4)
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x1c0c3
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0x188(%rsp), %rdi
callq 0xe71c
movq 0x168(%rsp), %rdi
leaq 0x178(%rsp), %rax
cmpq %rax, %rdi
je 0x1c0f5
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0x1e8(%rsp), %rdi
callq 0xe71c
movq 0x1c8(%rsp), %rdi
leaq 0x1d8(%rsp), %rax
cmpq %rax, %rdi
je 0x1c127
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0xe8(%rsp), %rdi
callq 0xe71c
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x1c159
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x5340
addq $0x58, %r13
cmpq 0x90(%rsp), %r13
jne 0x1b9c7
leaq 0x298(%rsp), %rdi
callq 0x284ec
leaq 0x2b0(%rsp), %r13
movq %r13, %rdi
callq 0x284ec
movq 0x218(%rsp), %rbx
leaq 0x268(%rsp), %r12
movq %rbx, %rdi
callq 0x5250
movq %rax, %rbx
leaq 0x238(%rsp), %rax
cmpq %rax, %rbx
jne 0x1b915
movl $0x30, %ebx
leaq (%rsp,%rbx), %rdi
addq $0x230, %rdi            # imm = 0x230
callq 0x2a9ec
addq $-0x30, %rbx
cmpq $-0x30, %rbx
jne 0x1c1b9
movb $0x1, %al
addq $0x2c8, %rsp            # imm = 0x2C8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x15906(%rip), %rdi     # 0x31af4
xorl %eax, %eax
callq 0x5490
jmp 0x1c25f
movq %rax, %rbx
jmp 0x1c467
jmp 0x1c25f
jmp 0x1c39b
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x1c39e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x1c39e
movq %rax, %rbx
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x1c474
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x1c474
movq %rax, %rbx
jmp 0x1c474
movq %rax, %rbx
leaq 0x160(%rsp), %rdi
callq 0x284ec
jmp 0x1c27c
movq %rax, %rbx
leaq 0xc0(%rsp), %rdi
callq 0x286da
jmp 0x1c474
jmp 0x1c39b
movq %rax, %rbx
jmp 0x1c303
movq %rax, %rbx
jmp 0x1c328
movq %rax, %rbx
jmp 0x1c3c7
movq %rax, %rbx
jmp 0x1c3ec
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x1c2de
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x1c2de
movq %rax, %rbx
jmp 0x1c344
jmp 0x1c36b
movq %rax, %rbx
movq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
cmpq %rax, %rdi
je 0x1c303
movq 0x150(%rsp), %rsi
incq %rsi
callq 0x5340
movq 0x120(%rsp), %rdi
leaq 0x130(%rsp), %rax
cmpq %rax, %rdi
je 0x1c328
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x5340
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x1c344
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x5340
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x1c36e
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x1c36e
movq %rax, %rbx
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x1c3ba
movq 0x38(%rsp), %rsi
jmp 0x1c3b2
movq %rax, %rbx
jmp 0x1c3ba
jmp 0x1c39b
movq %rax, %rbx
jmp 0x1c435
movq %rax, %rbx
jmp 0x1c45a
movq %rax, %rbx
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x1c3ba
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0x188(%rsp), %rdi
callq 0xe71c
movq 0x168(%rsp), %rdi
leaq 0x178(%rsp), %rax
cmpq %rax, %rdi
je 0x1c3ec
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0x1e8(%rsp), %rdi
callq 0xe71c
jmp 0x1c3fe
movq %rax, %rbx
movq 0x1c8(%rsp), %rdi
leaq 0x1d8(%rsp), %rax
cmpq %rax, %rdi
je 0x1c428
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x1c428
movq %rax, %rbx
leaq 0xe8(%rsp), %rdi
callq 0xe71c
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x1c45a
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x5340
leaq 0x298(%rsp), %rdi
callq 0x284ec
leaq 0x2b0(%rsp), %rdi
callq 0x284ec
movl $0x30, %r14d
leaq (%rsp,%r14), %rdi
addq $0x230, %rdi            # imm = 0x230
callq 0x2a9ec
addq $-0x30, %r14
cmpq $-0x30, %r14
jne 0x1c47a
movq %rbx, %rdi
callq 0x55c0