// File: medvedevgroup[P]varmatch/src/wholegenome.cpp
// Function: WholeGenome::ReadDirectRef(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 WholeGenome::ReadDirectRef(string genome_seq, string ref_vcf){

    for(int i = 0; i < 22; i++){
        chrid_by_chrname[to_string(i+1)] = i;
        chrname_by_chrid[i] = to_string(i+1);
    }
    chrid_by_chrname["X"] = 22;
    chrname_by_chrid[22] = "X";
    chrid_by_chrname["Y"] = 23;
    chrname_by_chrid[23]="Y";
    baseline_variant_total_num = ReadReferenceVariants(ref_vcf);
    ref_vcf_filename = ref_vcf;

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x160, %rsp            # imm = 0x160
movq %rdx, -0xf0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xe8(%rbp)
movl $0x0, -0x1c(%rbp)
cmpl $0x16, -0x1c(%rbp)
jge 0x30f36
movq -0xe8(%rbp), %rax
movl -0x1c(%rbp), %esi
movl %esi, -0x10c(%rbp)
addq $0x88, %rax
movq %rax, -0x108(%rbp)
incl %esi
leaq -0x40(%rbp), %rdi
movq %rdi, -0x100(%rbp)
callq 0xb190
movq -0x108(%rbp), %rdi
movq -0x100(%rbp), %rsi
callq 0x323d0
movq %rax, -0xf8(%rbp)
jmp 0x30e95
movq -0xf8(%rbp), %rax
movl -0x10c(%rbp), %ecx
movl %ecx, (%rax)
leaq -0x40(%rbp), %rdi
callq 0x6828
movl -0x1c(%rbp), %esi
incl %esi
leaq -0x70(%rbp), %rdi
callq 0xb190
movq -0xe8(%rbp), %rdi
addq $0xb8, %rdi
leaq -0x1c(%rbp), %rsi
callq 0x32770
movq %rax, -0x118(%rbp)
jmp 0x30edb
movq -0x118(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x6530
leaq -0x70(%rbp), %rdi
callq 0x6828
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x30e40
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x6828
jmp 0x31195
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x6828
jmp 0x31195
movq -0xe8(%rbp), %rax
addq $0x88, %rax
movq %rax, -0x128(%rbp)
leaq -0x91(%rbp), %rdi
movq %rdi, -0x120(%rbp)
callq 0x6760
movq -0x120(%rbp), %rdx
leaq 0x24350(%rip), %rsi     # 0x552bb
leaq -0x90(%rbp), %rdi
callq 0x9680
jmp 0x30f79
movq -0x128(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x323d0
movq %rax, -0x130(%rbp)
jmp 0x30f95
movq -0x130(%rbp), %rax
movl $0x16, (%rax)
leaq -0x90(%rbp), %rdi
callq 0x6828
leaq -0x91(%rbp), %rdi
callq 0x64b0
movq -0xe8(%rbp), %rdi
addq $0xb8, %rdi
movl $0x16, -0x98(%rbp)
leaq -0x98(%rbp), %rsi
callq 0x35fa0
movq %rax, %rdi
leaq 0x242d3(%rip), %rsi     # 0x552bb
callq 0x65c0
movq -0xe8(%rbp), %rax
addq $0x88, %rax
movq %rax, -0x140(%rbp)
leaq -0xb9(%rbp), %rdi
movq %rdi, -0x138(%rbp)
callq 0x6760
movq -0x138(%rbp), %rdx
leaq 0x2429e(%rip), %rsi     # 0x552c0
leaq -0xb8(%rbp), %rdi
callq 0x9680
jmp 0x31030
movq -0x140(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0x323d0
movq %rax, -0x148(%rbp)
jmp 0x3104c
movq -0x148(%rbp), %rax
movl $0x17, (%rax)
leaq -0xb8(%rbp), %rdi
callq 0x6828
leaq -0xb9(%rbp), %rdi
callq 0x64b0
movq -0xe8(%rbp), %rdi
addq $0xb8, %rdi
movl $0x17, -0xc0(%rbp)
leaq -0xc0(%rbp), %rsi
callq 0x35fa0
movq %rax, %rdi
leaq 0x24221(%rip), %rsi     # 0x552c0
callq 0x65c0
movq -0xf0(%rbp), %rsi
leaq -0xe0(%rbp), %rdi
movq %rdi, -0x158(%rbp)
callq 0x61b0
movq -0xe8(%rbp), %rdi
movq -0x158(%rbp), %rsi
callq 0x30c50
movl %eax, -0x14c(%rbp)
jmp 0x310d9
movq -0xe8(%rbp), %rax
movl -0x14c(%rbp), %ecx
movl %ecx, 0x48(%rax)
leaq -0xe0(%rbp), %rdi
callq 0x6828
movq -0xe8(%rbp), %rdi
movq -0xf0(%rbp), %rsi
addq $0x8, %rdi
callq 0x6070
addq $0x160, %rsp            # imm = 0x160
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x3113b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x6828
leaq -0x91(%rbp), %rdi
callq 0x64b0
jmp 0x31195
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x3116f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x6828
leaq -0xb9(%rbp), %rdi
callq 0x64b0
jmp 0x31195
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0xe0(%rbp), %rdi
callq 0x6828
movq -0x48(%rbp), %rdi
callq 0x6750
nop