// File: /workspace/github_cpp_makefile_star2_O3/millanek[P]evo/./process_vcf_coding_sequences.h
// Function: calculateNd(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, int)
inline double calculateNd(const std::string& refCdn, const std::string& altCdn, int diffNum) {
    assert(refCdn.length() == altCdn.length());
    std::string refStep = refCdn;
    int countNS = 0;
    double Nd = 0;
    
    if (diffNum == 1) {
        if (s_mapCodonPairToSynonymous.count(refCdn+altCdn) == 0)
            Nd = 1.0;
    }
    
    if (diffNum == 2) {
        std::vector<std::string::size_type> diffPos;
        for (std::string::size_type i = 0; i != refCdn.length(); i++) {
            if (refCdn[i] != altCdn[i]) {
                diffPos.push_back(i);
            }
        }
        refStep[diffPos[0]] = altCdn[diffPos[0]];
        if (s_mapCodonPairToSynonymous.count(refCdn+refStep) == 0)
            countNS++;
        if (s_mapCodonPairToSynonymous.count(refStep+altCdn) == 0)
            countNS++;
        refStep = refCdn; // the reverse order of mutations
        refStep[diffPos[1]] = altCdn[diffPos[1]];
        if (s_mapCodonPairToSynonymous.count(refCdn+refStep) == 0)
            countNS++;
        if (s_mapCodonPairToSynonymous.count(refStep+altCdn) == 0)
            countNS++;
        Nd = countNS/2.0;
    }
    
    if (diffNum == 3) { // six different mutation pathways (orders of mutations)
        refStep[0] = altCdn[0]; // 1
        if (s_mapCodonPairToSynonymous.count(refCdn+refStep) == 0)
            countNS++;
        string refStep2 = refStep;
        refStep2[1] = altCdn[1];
        if (s_mapCodonPairToSynonymous.count(refStep+refStep2) == 0)
            countNS++;
        if (s_mapCodonPairToSynonymous.count(refStep2+altCdn) == 0)
            countNS++;
        refStep = refCdn;                           // 2
        refStep[2] = altCdn[2];
        if (s_mapCodonPairToSynonymous.count(refCdn+refStep) == 0)
            countNS++;
        refStep2 = refStep;
        refStep2[1] = altCdn[1];
        if (s_mapCodonPairToSynonymous.count(refStep+refStep2) == 0)
            countNS++;
        if (s_mapCodonPairToSynonymous.count(refStep2+altCdn) == 0)
            countNS++;
        refStep = refCdn;                           // 3
        refStep[0] = altCdn[0];
        if (s_mapCodonPairToSynonymous.count(refCdn+refStep) == 0)
            countNS++;
        refStep2 = refStep;
        refStep2[2] = altCdn[2];
        if (s_mapCodonPairToSynonymous.count(refStep+refStep2) == 0)
            countNS++;
        if (s_mapCodonPairToSynonymous.count(refStep2+altCdn) == 0)
            countNS++;
        refStep = refCdn;                           // 4
        refStep[2] = altCdn[2];
        if (s_mapCodonPairToSynonymous.count(refCdn+refStep) == 0)
            countNS++;
        refStep2 = refStep;
        refStep2[0] = altCdn[0];
        if (s_mapCodonPairToSynonymous.count(refStep+refStep2) == 0)
            countNS++;
        if (s_mapCodonPairToSynonymous.count(refStep2+altCdn) == 0)
            countNS++;
        refStep = refCdn;                           // 5
        refStep[1] = altCdn[1];
        if (s_mapCodonPairToSynonymous.count(refCdn+refStep) == 0)
            countNS++;
        refStep2 = refStep;
        refStep2[0] = altCdn[0];
        if (s_mapCodonPairToSynonymous.count(refStep+refStep2) == 0)
            countNS++;
        if (s_mapCodonPairToSynonymous.count(refStep2+altCdn) == 0)
            countNS++;
        refStep = refCdn;                           // 6
        refStep[1] = altCdn[1];
        if (s_mapCodonPairToSynonymous.count(refCdn+refStep) == 0)
            countNS++;
        refStep2 = refStep;
        refStep2[2] = altCdn[2];
        if (s_mapCodonPairToSynonymous.count(refStep+refStep2) == 0)
            countNS++;
        if (s_mapCodonPairToSynonymous.count(refStep2+altCdn) == 0)
            countNS++;
        Nd = countNS/6.0;
    }
    assert(Nd <= diffNum);
    return Nd;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movl %edx, %r13d
movq 0x8(%rdi), %rdx
cmpq 0x8(%rsi), %rdx
jne 0x780c2
movq %rsi, %r14
movq %rdi, %r15
leaq 0x58(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq (%rdi), %rsi
addq %rsi, %rdx
leaq 0x48(%rsp), %rdi
callq 0x2ba06
cmpl $0x2, %r13d
je 0x7787c
cmpl $0x1, %r13d
jne 0x77a81
leaq 0x28(%rsp), %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x2e8c4
leaq 0x8bcf6(%rip), %rdi     # 0x103530
leaq 0x28(%rsp), %rsi
callq 0x3a034
movq %rax, %r14
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x77862
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x8480
xorpd %xmm0, %xmm0
testq %r14, %r14
jne 0x78085
movsd 0x54e99(%rip), %xmm0    # 0xcc710
jmp 0x78085
movl %r13d, 0x6c(%rsp)
xorpd %xmm0, %xmm0
movq %rsp, %r12
movapd %xmm0, (%r12)
xorl %eax, %eax
movq %rax, 0x10(%r12)
leaq 0x28(%rsp), %r13
movq %rax, (%r13)
movq (%r15), %rcx
movb (%rcx,%rax), %cl
movq (%r14), %rdx
cmpb (%rdx,%rax), %cl
je 0x778d1
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
je 0x778c6
movq %rax, (%rsi)
addq $0x8, %rsi
movq %rsi, 0x8(%rsp)
jmp 0x778d1
movq %r12, %rdi
movq %r13, %rdx
callq 0x57882
movq 0x28(%rsp), %rax
incq %rax
movq %rax, 0x28(%rsp)
cmpq 0x8(%r15), %rax
jne 0x7789e
movq (%rsp), %rax
movq (%rax), %rax
movq (%r14), %rcx
movb (%rcx,%rax), %cl
leaq 0x48(%rsp), %rdx
movq (%rdx), %rsi
movb %cl, (%rsi,%rax)
leaq 0x28(%rsp), %rdi
movq %r15, %rsi
callq 0x2e8c4
leaq 0x8bc20(%rip), %rdi     # 0x103530
leaq 0x28(%rsp), %rsi
callq 0x3a034
movq %rax, %r12
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x77938
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x8480
xorl %ebp, %ebp
testq %r12, %r12
sete %bl
leaq 0x28(%rsp), %rdi
leaq 0x48(%rsp), %rsi
movq %r14, %rdx
callq 0x2e8c4
leaq 0x8bbd7(%rip), %rdi     # 0x103530
leaq 0x28(%rsp), %rsi
callq 0x3a034
movq %rax, %r13
movb %bl, %bpl
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x77985
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x8480
xorl %eax, %eax
cmpq $0x1, %r12
adcl $0x1, %eax
testq %r13, %r13
cmovel %eax, %ebp
leaq 0x48(%rsp), %rdi
movq %r15, %rsi
leaq 0x58(%rsp), %rbx
callq 0x8270
movq (%rsp), %rax
movq 0x8(%rax), %rax
movq (%r14), %rcx
movb (%rcx,%rax), %cl
leaq 0x48(%rsp), %rdx
movq (%rdx), %rsi
movb %cl, (%rsi,%rax)
leaq 0x28(%rsp), %rdi
movq %r15, %rsi
callq 0x2e8c4
movl 0x6c(%rsp), %r13d
leaq 0x8bb58(%rip), %rdi     # 0x103530
leaq 0x28(%rsp), %rsi
callq 0x3a034
movq %rax, %r12
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x77a01
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x8480
cmpq $0x1, %r12
adcl $0x0, %ebp
leaq 0x28(%rsp), %rdi
leaq 0x48(%rsp), %rsi
movq %r14, %rdx
callq 0x2e8c4
leaq 0x8bb0f(%rip), %rdi     # 0x103530
leaq 0x28(%rsp), %rsi
callq 0x3a034
movq %rax, %r12
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x77a4a
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x8480
cmpq $0x1, %r12
adcl $0x0, %ebp
cvtsi2sd %ebp, %xmm0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x77a77
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
movsd %xmm0, 0x70(%rsp)
callq 0x8480
movsd 0x70(%rsp), %xmm0
mulsd 0x54ca1(%rip), %xmm0    # 0xcc720
jmp 0x77a87
xorpd %xmm0, %xmm0
xorl %ebp, %ebp
cmpl $0x3, %r13d
jne 0x78085
movq (%r14), %rax
movb (%rax), %al
leaq 0x48(%rsp), %rdx
movq (%rdx), %rcx
movb %al, (%rcx)
leaq 0x28(%rsp), %rdi
movq %r15, %rsi
callq 0x2e8c4
movl %r13d, 0x6c(%rsp)
leaq 0x8ba77(%rip), %rdi     # 0x103530
leaq 0x28(%rsp), %rsi
callq 0x3a034
movq %rax, %r12
leaq 0x38(%rsp), %r13
movq -0x10(%r13), %rdi
cmpq %r13, %rdi
je 0x77ae1
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x8480
cmpq $0x1, %r12
adcl $0x0, %ebp
leaq 0x28(%rsp), %rdi
movq %r13, (%rdi)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
callq 0x2ba06
movq (%r14), %rax
movb 0x1(%rax), %al
leaq 0x28(%rsp), %rdx
movq (%rdx), %rcx
movb %al, 0x1(%rcx)
movq %rsp, %rdi
leaq 0x48(%rsp), %rsi
callq 0x2e8c4
leaq 0x8ba09(%rip), %rdi     # 0x103530
movq %rsp, %rsi
callq 0x3a034
movq %rax, %r12
leaq 0x10(%rsp), %r13
movq -0x10(%r13), %rdi
cmpq %r13, %rdi
je 0x77b4d
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x8480
cmpq $0x1, %r12
adcl $0x0, %ebp
movq %rsp, %rdi
leaq 0x28(%rsp), %rsi
movq %r14, %rdx
callq 0x2e8c4
leaq 0x8b9c5(%rip), %rdi     # 0x103530
movq %rsp, %rsi
callq 0x3a034
movq %rax, %r12
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x77b8c
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x8480
cmpq $0x1, %r12
adcl $0x0, %ebp
leaq 0x48(%rsp), %rdi
movq %r15, %rsi
callq 0x8270
movq (%r14), %rax
movb 0x2(%rax), %al
leaq 0x48(%rsp), %rdx
movq (%rdx), %rcx
movb %al, 0x2(%rcx)
movq %rsp, %rdi
movq %r15, %rsi
callq 0x2e8c4
leaq 0x8b96d(%rip), %rdi     # 0x103530
movq %rsp, %rsi
callq 0x3a034
movq %rax, %r12
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x77be4
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x8480
cmpq $0x1, %r12
adcl $0x0, %ebp
leaq 0x28(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x8270
movq (%r14), %rax
movb 0x1(%rax), %al
leaq 0x28(%rsp), %rdx
movq (%rdx), %rcx
movb %al, 0x1(%rcx)
movq %rsp, %rdi
leaq 0x48(%rsp), %rsi
callq 0x2e8c4
leaq 0x8b911(%rip), %rdi     # 0x103530
movq %rsp, %rsi
callq 0x3a034
movq %rax, %r12
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x77c40
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x8480
cmpq $0x1, %r12
adcl $0x0, %ebp
movq %rsp, %rdi
leaq 0x28(%rsp), %rsi
movq %r14, %rdx
callq 0x2e8c4
leaq 0x8b8d2(%rip), %rdi     # 0x103530
movq %rsp, %rsi
callq 0x3a034
movq %rax, %r12
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x77c7f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x8480
cmpq $0x1, %r12
adcl $0x0, %ebp
leaq 0x48(%rsp), %rdi
movq %r15, %rsi
callq 0x8270
movq (%r14), %rax
movb (%rax), %al
leaq 0x48(%rsp), %rdx
movq (%rdx), %rcx
movb %al, (%rcx)
movq %rsp, %rdi
movq %r15, %rsi
callq 0x2e8c4
leaq 0x8b87c(%rip), %rdi     # 0x103530
movq %rsp, %rsi
callq 0x3a034
movq %rax, %r12
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x77cd5
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x8480
cmpq $0x1, %r12
adcl $0x0, %ebp
leaq 0x28(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x8270
movq (%r14), %rax
movb 0x2(%rax), %al
leaq 0x28(%rsp), %rdx
movq (%rdx), %rcx
movb %al, 0x2(%rcx)
movq %rsp, %rdi
leaq 0x48(%rsp), %rsi
callq 0x2e8c4
leaq 0x8b820(%rip), %rdi     # 0x103530
movq %rsp, %rsi
callq 0x3a034
movq %rax, %r12
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x77d31
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x8480
cmpq $0x1, %r12
adcl $0x0, %ebp
movq %rsp, %rdi
leaq 0x28(%rsp), %rsi
movq %r14, %rdx
callq 0x2e8c4
leaq 0x8b7e1(%rip), %rdi     # 0x103530
movq %rsp, %rsi
callq 0x3a034
movq %rax, %r12
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x77d70
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x8480
cmpq $0x1, %r12
adcl $0x0, %ebp
leaq 0x48(%rsp), %rdi
movq %r15, %rsi
callq 0x8270
movq (%r14), %rax
movb 0x2(%rax), %al
leaq 0x48(%rsp), %rdx
movq (%rdx), %rcx
movb %al, 0x2(%rcx)
movq %rsp, %rdi
movq %r15, %rsi
callq 0x2e8c4
leaq 0x8b789(%rip), %rdi     # 0x103530
movq %rsp, %rsi
callq 0x3a034
movq %rax, %r12
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x77dc8
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x8480
cmpq $0x1, %r12
adcl $0x0, %ebp
leaq 0x28(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x8270
movq (%r14), %rax
movb (%rax), %al
leaq 0x28(%rsp), %rdx
movq (%rdx), %rcx
movb %al, (%rcx)
movq %rsp, %rdi
leaq 0x48(%rsp), %rsi
callq 0x2e8c4
leaq 0x8b72f(%rip), %rdi     # 0x103530
movq %rsp, %rsi
callq 0x3a034
movq %rax, %r12
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x77e22
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x8480
cmpq $0x1, %r12
adcl $0x0, %ebp
movq %rsp, %rdi
leaq 0x28(%rsp), %rsi
movq %r14, %rdx
callq 0x2e8c4
leaq 0x8b6f0(%rip), %rdi     # 0x103530
movq %rsp, %rsi
callq 0x3a034
movq %rax, %r12
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x77e61
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x8480
cmpq $0x1, %r12
adcl $0x0, %ebp
leaq 0x48(%rsp), %rdi
movq %r15, %rsi
callq 0x8270
movq (%r14), %rax
movb 0x1(%rax), %al
leaq 0x48(%rsp), %rdx
movq (%rdx), %rcx
movb %al, 0x1(%rcx)
movq %rsp, %rdi
movq %r15, %rsi
callq 0x2e8c4
leaq 0x8b698(%rip), %rdi     # 0x103530
movq %rsp, %rsi
callq 0x3a034
movq %rax, %r12
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x77eb9
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x8480
cmpq $0x1, %r12
adcl $0x0, %ebp
leaq 0x28(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x8270
movq (%r14), %rax
movb (%rax), %al
leaq 0x28(%rsp), %rdx
movq (%rdx), %rcx
movb %al, (%rcx)
movq %rsp, %rdi
leaq 0x48(%rsp), %rsi
callq 0x2e8c4
leaq 0x8b63e(%rip), %rdi     # 0x103530
movq %rsp, %rsi
callq 0x3a034
movq %rax, %r12
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x77f13
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x8480
cmpq $0x1, %r12
adcl $0x0, %ebp
movq %rsp, %rdi
leaq 0x28(%rsp), %rsi
movq %r14, %rdx
callq 0x2e8c4
leaq 0x8b5ff(%rip), %rdi     # 0x103530
movq %rsp, %rsi
callq 0x3a034
movq %rax, %r12
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x77f52
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x8480
cmpq $0x1, %r12
adcl $0x0, %ebp
leaq 0x48(%rsp), %rdi
movq %r15, %rsi
callq 0x8270
movq (%r14), %rax
movb 0x1(%rax), %al
leaq 0x48(%rsp), %rdx
movq (%rdx), %rcx
movb %al, 0x1(%rcx)
movq %rsp, %rdi
movq %r15, %rsi
callq 0x2e8c4
leaq 0x8b5a7(%rip), %rdi     # 0x103530
movq %rsp, %rsi
callq 0x3a034
movq %rax, %r15
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x77faa
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x8480
cmpq $0x1, %r15
adcl $0x0, %ebp
leaq 0x28(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x8270
movq (%r14), %rax
movb 0x2(%rax), %al
leaq 0x28(%rsp), %rdx
movq (%rdx), %rcx
movb %al, 0x2(%rcx)
movq %rsp, %rdi
leaq 0x48(%rsp), %rsi
callq 0x2e8c4
leaq 0x8b54b(%rip), %rdi     # 0x103530
movq %rsp, %rsi
callq 0x3a034
movq %rax, %r15
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x78006
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x8480
cmpq $0x1, %r15
adcl $0x0, %ebp
movq %rsp, %rdi
leaq 0x28(%rsp), %rsi
movq %r14, %rdx
callq 0x2e8c4
leaq 0x8b50c(%rip), %rdi     # 0x103530
movq %rsp, %rsi
callq 0x3a034
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x78045
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x8480
cmpq $0x1, %r14
adcl $0x0, %ebp
cvtsi2sd %ebp, %xmm0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
movl 0x6c(%rsp), %r13d
je 0x7807d
movq 0x38(%rsp), %rsi
incq %rsi
movsd %xmm0, 0x70(%rsp)
callq 0x8480
movsd 0x70(%rsp), %xmm0
divsd 0x5daab(%rip), %xmm0    # 0xd5b30
cvtsi2sd %r13d, %xmm1
ucomisd %xmm0, %xmm1
jb 0x780e1
movq 0x48(%rsp), %rdi
cmpq %rbx, %rdi
je 0x780b3
movq 0x58(%rsp), %rsi
incq %rsi
movsd %xmm0, 0x70(%rsp)
callq 0x8480
movsd 0x70(%rsp), %xmm0
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x5e4fa(%rip), %rdi     # 0xd65c3
leaq 0x55cdc(%rip), %rsi     # 0xcddac
leaq 0x5e50f(%rip), %rcx     # 0xd65e6
movl $0x388, %edx            # imm = 0x388
callq 0x82c0
leaq 0x5e540(%rip), %rdi     # 0xd6628
leaq 0x55cbd(%rip), %rsi     # 0xcddac
leaq 0x5e4f0(%rip), %rcx     # 0xd65e6
movl $0x3e5, %edx            # imm = 0x3E5
callq 0x82c0
jmp 0x7816b
jmp 0x7820e
jmp 0x7816b
jmp 0x7820e
jmp 0x7816b
jmp 0x7820e
jmp 0x7816b
jmp 0x7820e
jmp 0x7816b
jmp 0x7820e
jmp 0x7816b
jmp 0x7820e
jmp 0x7816b
jmp 0x7820e
jmp 0x7816b
jmp 0x7820e
jmp 0x7816b
jmp 0x7820e
jmp 0x7816b
jmp 0x7820e
jmp 0x7816b
jmp 0x7820e
jmp 0x7816b
jmp 0x7820e
jmp 0x7816b
jmp 0x7820e
jmp 0x7816b
jmp 0x7820e
jmp 0x7816b
jmp 0x7820e
jmp 0x781ae
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x78211
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x8480
jmp 0x78211
jmp 0x781f8
jmp 0x7820e
jmp 0x781ae
movq %rax, %r14
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x7817b
jmp 0x78211
jmp 0x781f8
jmp 0x7820e
jmp 0x781f8
jmp 0x781f3
movq %rax, %r14
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
jmp 0x781cf
jmp 0x781e5
jmp 0x781f8
jmp 0x781f3
movq %rax, %r14
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x781fb
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x8480
jmp 0x781fb
jmp 0x781f8
movq %rax, %r14
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x7821b
movq %rax, %r14
jmp 0x7822d
movq %rax, %r14
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x7822d
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
jmp 0x78228
movq %rax, %r14
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x7822d
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x8480
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x78249
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x8480
movq %r14, %rdi
callq 0x8840