// File: soccin[P]BIC-RNAseq/tools/MergeFusion/Merger.cpp
// Function: Merger::loadHugoWorker(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)
void Merger::loadHugoWorker(string& chr_key, string& name_key, string &name_value)
{
    vector<string> parsed_item;
    split(name_key, ',', parsed_item, true);
    for(size_t i = 0; i < parsed_item.size(); i++)
    {
        string sub_name_key = parsed_item[i];
        removeSpace(sub_name_key);
        transform(sub_name_key.begin(), sub_name_key.end(),sub_name_key.begin(), ::toupper);
        pair<string, string> combined_key= make_pair(chr_key, sub_name_key);
        if(hugo_map.find(combined_key) == hugo_map.end())
        {
            map<string, int> new_val_map;
            hugo_map.insert(make_pair(combined_key, new_val_map));
        }
        map<string, int>& val_map = hugo_map[combined_key];
        if(val_map.find(name_value) == val_map.end())
            val_map.insert(make_pair(name_value, 1));
        else
            val_map[name_value] ++;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x270, %rsp            # imm = 0x270
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x1f8(%rbp)
leaq -0x38(%rbp), %rdi
movq %rdi, -0x1f0(%rbp)
callq 0x7190
movq -0x1f0(%rbp), %rdx
movq -0x18(%rbp), %rdi
movl $0x2c, %esi
movl $0x1, %ecx
callq 0x135a0
jmp 0x6172
movq $0x0, -0x50(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x200(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x7340
movq %rax, %rcx
movq -0x200(%rbp), %rax
cmpq %rcx, %rax
jae 0x6525
movq -0x50(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x71b0
movq %rax, %rsi
leaq -0x70(%rbp), %rdi
callq 0x3130
jmp 0x61bc
leaq -0x70(%rbp), %rdi
callq 0x13510
jmp 0x61c7
leaq -0x70(%rbp), %rdi
movq %rdi, -0x210(%rbp)
callq 0x3240
movq -0x210(%rbp), %rdi
movq %rax, -0x78(%rbp)
callq 0x31a0
movq -0x210(%rbp), %rdi
movq %rax, -0x80(%rbp)
callq 0x3240
movq %rax, -0x88(%rbp)
movq -0x78(%rbp), %rdi
movq -0x80(%rbp), %rsi
movq -0x88(%rbp), %rdx
movq 0x17dc4(%rip), %rcx     # 0x1dfd8
callq 0x7360
movq %rax, -0x208(%rbp)
jmp 0x6222
movq -0x208(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x10(%rbp), %rsi
leaq -0xd0(%rbp), %rdi
leaq -0x70(%rbp), %rdx
callq 0x73e0
jmp 0x6246
movq -0x1f8(%rbp), %rdi
addq $0x18, %rdi
leaq -0xd0(%rbp), %rsi
callq 0x7450
movq %rax, -0x218(%rbp)
jmp 0x6266
movq -0x1f8(%rbp), %rdi
movq -0x218(%rbp), %rax
movq %rax, -0xd8(%rbp)
addq $0x18, %rdi
callq 0x7480
movq %rax, -0xe0(%rbp)
leaq -0xd8(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x7420
testb $0x1, %al
jne 0x62a7
jmp 0x63a8
leaq -0x110(%rbp), %rdi
movq %rdi, -0x228(%rbp)
callq 0x74b0
movq -0x1f8(%rbp), %rax
movq -0x228(%rbp), %rdx
addq $0x18, %rax
movq %rax, -0x220(%rbp)
leaq -0x180(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0x7510
jmp 0x62e8
movq -0x220(%rbp), %rdi
leaq -0x180(%rbp), %rsi
callq 0x74d0
movb %dl, -0x231(%rbp)
movq %rax, -0x230(%rbp)
jmp 0x630a
movb -0x231(%rbp), %al
movq -0x230(%rbp), %rcx
movq %rcx, -0x190(%rbp)
movb %al, -0x188(%rbp)
leaq -0x180(%rbp), %rdi
callq 0x7550
leaq -0x110(%rbp), %rdi
callq 0x7580
jmp 0x63a8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x6537
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x651a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x650e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x6397
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x180(%rbp), %rdi
callq 0x7550
leaq -0x110(%rbp), %rdi
callq 0x7580
jmp 0x650e
movq -0x1f8(%rbp), %rdi
addq $0x18, %rdi
leaq -0xd0(%rbp), %rsi
callq 0x75a0
movq %rax, -0x240(%rbp)
jmp 0x63c8
movq -0x240(%rbp), %rax
movq %rax, -0x198(%rbp)
movq -0x198(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x76b0
movq %rax, -0x248(%rbp)
jmp 0x63ef
movq -0x248(%rbp), %rax
movq %rax, -0x1a0(%rbp)
movq -0x198(%rbp), %rdi
callq 0x76e0
movq %rax, -0x1a8(%rbp)
leaq -0x1a0(%rbp), %rdi
leaq -0x1a8(%rbp), %rsi
callq 0x7680
testb $0x1, %al
jne 0x642c
jmp 0x64c1
movq -0x198(%rbp), %rax
movq %rax, -0x250(%rbp)
movq -0x20(%rbp), %rsi
movl $0x1, -0x1d4(%rbp)
leaq -0x1d0(%rbp), %rdi
leaq -0x1d4(%rbp), %rdx
callq 0x7750
jmp 0x645d
movq -0x250(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x7710
movb %dl, -0x259(%rbp)
movq %rax, -0x258(%rbp)
jmp 0x647f
movb -0x259(%rbp), %al
movq -0x258(%rbp), %rcx
movq %rcx, -0x1e8(%rbp)
movb %al, -0x1e0(%rbp)
leaq -0x1d0(%rbp), %rdi
callq 0x7790
jmp 0x64e8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x1d0(%rbp), %rdi
callq 0x7790
jmp 0x650e
movq -0x198(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x77b0
movq %rax, -0x268(%rbp)
jmp 0x64da
movq -0x268(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
leaq -0xd0(%rbp), %rdi
callq 0x7890
leaq -0x70(%rbp), %rdi
callq 0x3508
movq -0x50(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x50(%rbp)
jmp 0x617a
leaq -0xd0(%rbp), %rdi
callq 0x7890
leaq -0x70(%rbp), %rdi
callq 0x3508
jmp 0x6537
leaq -0x38(%rbp), %rdi
callq 0x72e0
addq $0x270, %rsp            # imm = 0x270
popq %rbp
retq
leaq -0x38(%rbp), %rdi
callq 0x72e0
movq -0x40(%rbp), %rdi
callq 0x3470
nopl (%rax)