// File: /workspace/github_cpp_makefile_star2_O1/Wombozo[P]harmony/src/Triad.cpp
// Function: Triad::Triad(Note*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, Note*, int)
Triad::Triad(Note *n, const std::string &str, Note *b, int inv) : root(n), bass(b), inversion(inv)
{
    if (!str.compare(triads[0]))
    {
        // "" (major)
        intervals = {std::string("major third"), std::string("perfect fifth")};
        _setNotes(this, &intervals);
    }
    else if (!str.compare(triads[1]))
    {
        // "m"
        intervals = {std::string("minor third"), std::string("perfect fifth")};
        _setNotes(this, &intervals);
    }
    else if (!str.compare(triads[2]))
    {
        // "aug"
        intervals = {std::string("major third"), std::string("augmented fifth")};
        _setNotes(this, &intervals);
    }
    else if (!str.compare(triads[3]))
    {
        // "dim"
        intervals = {std::string("minor third"), std::string("diminished fifth")};
        _setNotes(this, &intervals);
    }
    else if (!str.compare(triads[4]))
    {
        // "sus4"
        intervals = {std::string("perfect fourth"), std::string("perfect fifth")};
        _setNotes(this, &intervals);
    }
    else if (!str.compare(triads[5]))
    {
        // "sus2"
        intervals = {std::string("major second"), std::string("perfect fifth")};
        _setNotes(this, &intervals);
    }
    else if (!str.compare(triads[6]))
    {
        // "b5"
        intervals = {std::string("major third"), std::string("diminished fifth")};
        _setNotes(this, &intervals);
    }
    else if (!str.compare(triads[7]))
    {
        // "m#5"
        intervals = {std::string("minor third"), std::string("augmented fifth")};
        _setNotes(this, &intervals);
    }
    else
        throw E_CHORD_UNKNOWN;

    if (inversion > 2 | inversion < 0)
        throw E_INVERSION;
    std::rotate(notes.begin(), notes.begin() + inversion, notes.end());

    name = n->display() + str;
    typeName = str;
    if (root != bass)
    {
        name += "/" + bass->display();
    }
    if (inversion)
    {
        name += "/" + notes.at(0)->display();
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xb8, %rsp
movq %rdx, %r13
movq %rsi, %r14
movq %rdi, %r15
movq %rsi, (%rdi)
movq %rcx, 0x8(%rdi)
leaq 0x10(%rdi), %rax
movq %rax, -0x78(%rbp)
leaq 0x20(%rdi), %rax
movq %rax, -0xd8(%rbp)
movq %rax, 0x10(%rdi)
xorl %eax, %eax
movq %rax, 0x18(%rdi)
movb %al, 0x20(%rdi)
leaq 0x30(%rdi), %rcx
movq %rcx, -0xe0(%rbp)
leaq 0x40(%rdi), %rcx
movq %rcx, -0xd0(%rbp)
movq %rcx, 0x30(%rdi)
movq %rax, 0x38(%rdi)
movb %al, 0x40(%rdi)
movl %r8d, 0x50(%rdi)
leaq 0x58(%rdi), %rax
movq %rax, -0x70(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, 0x58(%rdi)
movups %xmm0, 0x68(%rdi)
movups %xmm0, 0x78(%rdi)
leaq 0x989d(%rip), %rsi      # 0x13450
movq %rdx, %rdi
callq 0x3040
testl %eax, %eax
je 0x9d01
leaq 0x98a6(%rip), %rsi      # 0x13470
movq %r13, %rdi
callq 0x3040
testl %eax, %eax
je 0x9d9e
leaq 0x98af(%rip), %rsi      # 0x13490
movq %r13, %rdi
callq 0x3040
testl %eax, %eax
je 0x9e3b
leaq 0x98b8(%rip), %rsi      # 0x134b0
movq %r13, %rdi
callq 0x3040
testl %eax, %eax
je 0x9ed8
leaq 0x98c1(%rip), %rsi      # 0x134d0
movq %r13, %rdi
callq 0x3040
testl %eax, %eax
je 0x9f75
leaq 0x98ca(%rip), %rsi      # 0x134f0
movq %r13, %rdi
callq 0x3040
testl %eax, %eax
je 0xa012
leaq 0x98d3(%rip), %rsi      # 0x13510
movq %r13, %rdi
callq 0x3040
testl %eax, %eax
je 0xa0af
leaq 0x98dc(%rip), %rsi      # 0x13530
movq %r13, %rdi
callq 0x3040
testl %eax, %eax
jne 0xa436
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x4554(%rip), %rsi      # 0xe1c7
leaq 0x4558(%rip), %rdx      # 0xe1d2
leaq -0x48(%rbp), %rdi
callq 0x5178
leaq -0xc8(%rbp), %r12
leaq -0x48(%rbp), %rsi
movq %r12, %rdi
callq 0x75ac
leaq -0xa0(%rbp), %r12
leaq -0x58(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x4594(%rip), %rsi      # 0xe240
leaq 0x459c(%rip), %rdx      # 0xe24f
leaq -0x68(%rbp), %rdi
callq 0x5178
leaq -0x68(%rbp), %rsi
movq %r12, %rdi
callq 0x75ac
leaq -0x78(%rbp), %rdx
leaq -0xc8(%rbp), %rsi
movq -0x70(%rbp), %rdi
callq 0xbad8
movl $0x28, %r12d
leaq (%r12,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x786e
addq $-0x28, %r12
cmpq $-0x28, %r12
jne 0x9ce2
jmp 0xa147
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x44c3(%rip), %rsi      # 0xe1d3
leaq 0x44c7(%rip), %rdx      # 0xe1de
leaq -0x48(%rbp), %rdi
callq 0x5178
leaq -0xc8(%rbp), %r12
leaq -0x48(%rbp), %rsi
movq %r12, %rdi
callq 0x75ac
leaq -0xa0(%rbp), %r12
leaq -0x58(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x44e9(%rip), %rsi      # 0xe232
leaq 0x44ef(%rip), %rdx      # 0xe23f
leaq -0x68(%rbp), %rdi
callq 0x5178
leaq -0x68(%rbp), %rsi
movq %r12, %rdi
callq 0x75ac
leaq -0x78(%rbp), %rdx
leaq -0xc8(%rbp), %rsi
movq -0x70(%rbp), %rdi
callq 0xbad8
movl $0x28, %r12d
leaq (%r12,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x786e
addq $-0x28, %r12
cmpq $-0x28, %r12
jne 0x9d7f
jmp 0xa147
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x441a(%rip), %rsi      # 0xe1c7
leaq 0x441e(%rip), %rdx      # 0xe1d2
leaq -0x48(%rbp), %rdi
callq 0x5178
leaq -0xc8(%rbp), %r12
leaq -0x48(%rbp), %rsi
movq %r12, %rdi
callq 0x75ac
leaq -0xa0(%rbp), %r12
leaq -0x58(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x444c(%rip), %rsi      # 0xe232
leaq 0x4452(%rip), %rdx      # 0xe23f
leaq -0x68(%rbp), %rdi
callq 0x5178
leaq -0x68(%rbp), %rsi
movq %r12, %rdi
callq 0x75ac
leaq -0x78(%rbp), %rdx
leaq -0xc8(%rbp), %rsi
movq -0x70(%rbp), %rdi
callq 0xbad8
movl $0x28, %r12d
leaq (%r12,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x786e
addq $-0x28, %r12
cmpq $-0x28, %r12
jne 0x9e1c
jmp 0xa147
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x4389(%rip), %rsi      # 0xe1d3
leaq 0x438d(%rip), %rdx      # 0xe1de
leaq -0x48(%rbp), %rdi
callq 0x5178
leaq -0xc8(%rbp), %r12
leaq -0x48(%rbp), %rsi
movq %r12, %rdi
callq 0x75ac
leaq -0xa0(%rbp), %r12
leaq -0x58(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x43bd(%rip), %rsi      # 0xe240
leaq 0x43c5(%rip), %rdx      # 0xe24f
leaq -0x68(%rbp), %rdi
callq 0x5178
leaq -0x68(%rbp), %rsi
movq %r12, %rdi
callq 0x75ac
leaq -0x78(%rbp), %rdx
leaq -0xc8(%rbp), %rsi
movq -0x70(%rbp), %rdi
callq 0xbad8
movl $0x28, %r12d
leaq (%r12,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x786e
addq $-0x28, %r12
cmpq $-0x28, %r12
jne 0x9eb9
jmp 0xa147
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x42e0(%rip), %rsi      # 0xe1c7
leaq 0x42e4(%rip), %rdx      # 0xe1d2
leaq -0x48(%rbp), %rdi
callq 0x5178
leaq -0xc8(%rbp), %r12
leaq -0x48(%rbp), %rsi
movq %r12, %rdi
callq 0x75ac
leaq -0xa0(%rbp), %r12
leaq -0x58(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x4301(%rip), %rsi      # 0xe221
leaq 0x430a(%rip), %rdx      # 0xe231
leaq -0x68(%rbp), %rdi
callq 0x5178
leaq -0x68(%rbp), %rsi
movq %r12, %rdi
callq 0x75ac
leaq -0x78(%rbp), %rdx
leaq -0xc8(%rbp), %rsi
movq -0x70(%rbp), %rdi
callq 0xbad8
movl $0x28, %r12d
leaq (%r12,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x786e
addq $-0x28, %r12
cmpq $-0x28, %r12
jne 0x9f56
jmp 0xa147
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x427d(%rip), %rsi      # 0xe201
leaq 0x4284(%rip), %rdx      # 0xe20f
leaq -0x48(%rbp), %rdi
callq 0x5178
leaq -0xc8(%rbp), %r12
leaq -0x48(%rbp), %rsi
movq %r12, %rdi
callq 0x75ac
leaq -0xa0(%rbp), %r12
leaq -0x58(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x4275(%rip), %rsi      # 0xe232
leaq 0x427b(%rip), %rdx      # 0xe23f
leaq -0x68(%rbp), %rdi
callq 0x5178
leaq -0x68(%rbp), %rsi
movq %r12, %rdi
callq 0x75ac
leaq -0x78(%rbp), %rdx
leaq -0xc8(%rbp), %rsi
movq -0x70(%rbp), %rdi
callq 0xbad8
movl $0x28, %r12d
leaq (%r12,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x786e
addq $-0x28, %r12
cmpq $-0x28, %r12
jne 0x9ff3
jmp 0xa147
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x4177(%rip), %rsi      # 0xe198
leaq 0x417c(%rip), %rdx      # 0xe1a4
leaq -0x48(%rbp), %rdi
callq 0x5178
leaq -0xc8(%rbp), %r12
leaq -0x48(%rbp), %rsi
movq %r12, %rdi
callq 0x75ac
leaq -0xa0(%rbp), %r12
leaq -0x58(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x41d8(%rip), %rsi      # 0xe232
leaq 0x41de(%rip), %rdx      # 0xe23f
leaq -0x68(%rbp), %rdi
callq 0x5178
leaq -0x68(%rbp), %rsi
movq %r12, %rdi
callq 0x75ac
leaq -0x78(%rbp), %rdx
leaq -0xc8(%rbp), %rsi
movq -0x70(%rbp), %rdi
callq 0xbad8
movl $0x28, %r12d
leaq (%r12,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x786e
addq $-0x28, %r12
cmpq $-0x28, %r12
jne 0xa090
jmp 0xa147
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x4115(%rip), %rsi      # 0xe1d3
leaq 0x4119(%rip), %rdx      # 0xe1de
leaq -0x48(%rbp), %rdi
callq 0x5178
leaq -0xc8(%rbp), %r12
leaq -0x48(%rbp), %rsi
movq %r12, %rdi
callq 0x75ac
leaq -0xa0(%rbp), %r12
leaq -0x58(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x412a(%rip), %rsi      # 0xe221
leaq 0x4133(%rip), %rdx      # 0xe231
leaq -0x68(%rbp), %rdi
callq 0x5178
leaq -0x68(%rbp), %rsi
movq %r12, %rdi
callq 0x75ac
leaq -0x78(%rbp), %rdx
leaq -0xc8(%rbp), %rsi
movq -0x70(%rbp), %rdi
callq 0xbad8
movl $0x28, %r12d
leaq (%r12,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x786e
addq $-0x28, %r12
cmpq $-0x28, %r12
jne 0xa12d
movq -0x68(%rbp), %rdi
cmpq %rbx, %rdi
je 0xa15c
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
movq -0x78(%rbp), %rbx
je 0xa179
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
movq %r15, %rdi
movq -0x70(%rbp), %rsi
callq 0xb71c
movl 0x50(%r15), %eax
cmpq $0x3, %rax
jae 0xa402
movq 0x70(%r15), %rdi
movq 0x78(%r15), %rdx
leaq (%rdi,%rax,8), %rsi
callq 0x99a5
movq (%r14), %rax
leaq -0x48(%rbp), %rdi
movq %r14, %rsi
callq *(%rax)
movq (%r13), %rsi
movq 0x8(%r13), %rdx
leaq -0x48(%rbp), %rdi
callq 0x3080
leaq -0xb8(%rbp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa1ef
movq %rdx, -0xc8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xb8(%rbp)
jmp 0xa1f7
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq -0xc8(%rbp), %r14
movq %rdx, 0x8(%r14)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x31d0
movq (%r14), %rdi
cmpq %r12, %rdi
je 0xa237
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x3190
leaq -0x38(%rbp), %r14
movq -0x10(%r14), %rdi
cmpq %r14, %rdi
je 0xa250
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0xe0(%rbp), %rdi
movq %r13, %rsi
callq 0x30f0
movq 0x8(%r15), %rsi
cmpq %rsi, (%r15)
je 0xa320
movq (%rsi), %rax
leaq -0x48(%rbp), %rdi
callq *(%rax)
leaq 0x41e0(%rip), %rcx      # 0xe45c
leaq -0x48(%rbp), %rdi
movl $0x1, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x31b0
movq %r12, -0xc8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa2b8
movq %rdx, -0xc8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xb8(%rbp)
jmp 0xa2c0
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, -0xc0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
movq %rbx, %rdi
callq 0x3080
movq -0xc8(%rbp), %rdi
cmpq %r12, %rdi
je 0xa30b
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0xa320
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
cmpl $0x0, 0x50(%r15)
je 0xa3f0
movq 0x70(%r15), %rax
cmpq %rax, 0x78(%r15)
je 0xa424
movq (%rax), %rsi
movq (%rsi), %rax
leaq -0x48(%rbp), %rdi
callq *(%rax)
leaq 0x4110(%rip), %rcx      # 0xe45c
leaq -0x48(%rbp), %rdi
movl $0x1, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x31b0
movq %r12, -0xc8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa388
movq %rdx, -0xc8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xb8(%rbp)
jmp 0xa390
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, -0xc0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
movq %rbx, %rdi
callq 0x3080
movq -0xc8(%rbp), %rdi
cmpq %r12, %rdi
je 0xa3db
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0xa3f0
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
addq $0xb8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x2, %ebx
movl $0x4, %edi
callq 0x30d0
movl %ebx, (%rax)
leaq 0x845e(%rip), %rsi      # 0x12878
movq %rax, %rdi
xorl %edx, %edx
callq 0x3290
leaq 0x3ec3(%rip), %rdi      # 0xe2ee
xorl %esi, %esi
xorl %edx, %edx
xorl %eax, %eax
callq 0x3210
movl $0x1, %ebx
jmp 0xa407
movq %rax, %r13
movl $0x28, %r14d
leaq (%r14,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x786e
addq $-0x28, %r14
cmpq $-0x28, %r14
jne 0xa446
movb $0x1, %r14b
jmp 0xa46b
movq %rax, %r13
xorl %r14d, %r14d
movq -0x68(%rbp), %rdi
cmpq %rbx, %rdi
je 0xa48a
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa48a
jmp 0xa484
movq %rax, %r13
xorl %r14d, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xa4b2
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa4b2
movq %rax, %r13
leaq -0xc8(%rbp), %r12
xorl %r14d, %r14d
leaq -0xc8(%rbp), %rbx
cmpq %r12, %rbx
sete %al
orb %r14b, %al
jne 0xa999
addq $-0x28, %r12
movq %r12, %rdi
callq 0x786e
cmpq %rbx, %r12
jne 0xa4c8
jmp 0xa999
movq %rax, %r13
movl $0x28, %r14d
leaq (%r14,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x786e
addq $-0x28, %r14
cmpq $-0x28, %r14
jne 0xa4e7
movb $0x1, %r14b
jmp 0xa50c
movq %rax, %r13
xorl %r14d, %r14d
movq -0x68(%rbp), %rdi
cmpq %rbx, %rdi
je 0xa52b
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa52b
jmp 0xa525
movq %rax, %r13
xorl %r14d, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xa553
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa553
movq %rax, %r13
leaq -0xc8(%rbp), %r12
xorl %r14d, %r14d
leaq -0xc8(%rbp), %rbx
cmpq %r12, %rbx
sete %al
orb %r14b, %al
jne 0xa999
addq $-0x28, %r12
movq %r12, %rdi
callq 0x786e
cmpq %rbx, %r12
jne 0xa569
jmp 0xa999
movq %rax, %r13
movl $0x28, %r14d
leaq (%r14,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x786e
addq $-0x28, %r14
cmpq $-0x28, %r14
jne 0xa588
movb $0x1, %r14b
jmp 0xa5ad
movq %rax, %r13
xorl %r14d, %r14d
movq -0x68(%rbp), %rdi
cmpq %rbx, %rdi
je 0xa5cc
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa5cc
jmp 0xa5c6
movq %rax, %r13
xorl %r14d, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xa5f4
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa5f4
movq %rax, %r13
leaq -0xc8(%rbp), %r12
xorl %r14d, %r14d
leaq -0xc8(%rbp), %rbx
cmpq %r12, %rbx
sete %al
orb %r14b, %al
jne 0xa999
addq $-0x28, %r12
movq %r12, %rdi
callq 0x786e
cmpq %rbx, %r12
jne 0xa60a
jmp 0xa999
movq %rax, %r13
movl $0x28, %r14d
leaq (%r14,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x786e
addq $-0x28, %r14
cmpq $-0x28, %r14
jne 0xa629
movb $0x1, %r14b
jmp 0xa64e
movq %rax, %r13
xorl %r14d, %r14d
movq -0x68(%rbp), %rdi
cmpq %rbx, %rdi
je 0xa66d
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa66d
jmp 0xa667
movq %rax, %r13
xorl %r14d, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xa695
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa695
movq %rax, %r13
leaq -0xc8(%rbp), %r12
xorl %r14d, %r14d
leaq -0xc8(%rbp), %rbx
cmpq %r12, %rbx
sete %al
orb %r14b, %al
jne 0xa999
addq $-0x28, %r12
movq %r12, %rdi
callq 0x786e
cmpq %rbx, %r12
jne 0xa6ab
jmp 0xa999
movq %rax, %r13
movl $0x28, %r14d
leaq (%r14,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x786e
addq $-0x28, %r14
cmpq $-0x28, %r14
jne 0xa6ca
movb $0x1, %r14b
jmp 0xa6ef
movq %rax, %r13
xorl %r14d, %r14d
movq -0x68(%rbp), %rdi
cmpq %rbx, %rdi
je 0xa70e
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa70e
jmp 0xa708
movq %rax, %r13
xorl %r14d, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xa736
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa736
movq %rax, %r13
leaq -0xc8(%rbp), %r12
xorl %r14d, %r14d
leaq -0xc8(%rbp), %rbx
cmpq %r12, %rbx
sete %al
orb %r14b, %al
jne 0xa999
addq $-0x28, %r12
movq %r12, %rdi
callq 0x786e
cmpq %rbx, %r12
jne 0xa74c
jmp 0xa999
movq %rax, %r13
movl $0x28, %r14d
leaq (%r14,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x786e
addq $-0x28, %r14
cmpq $-0x28, %r14
jne 0xa76b
movb $0x1, %r14b
jmp 0xa790
movq %rax, %r13
xorl %r14d, %r14d
movq -0x68(%rbp), %rdi
cmpq %rbx, %rdi
je 0xa7af
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa7af
jmp 0xa7a9
movq %rax, %r13
xorl %r14d, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xa7d7
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa7d7
movq %rax, %r13
leaq -0xc8(%rbp), %r12
xorl %r14d, %r14d
leaq -0xc8(%rbp), %rbx
cmpq %r12, %rbx
sete %al
orb %r14b, %al
jne 0xa999
addq $-0x28, %r12
movq %r12, %rdi
callq 0x786e
cmpq %rbx, %r12
jne 0xa7ed
jmp 0xa999
movq %rax, %r13
movl $0x28, %r14d
leaq (%r14,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x786e
addq $-0x28, %r14
cmpq $-0x28, %r14
jne 0xa80c
movb $0x1, %r14b
jmp 0xa831
movq %rax, %r13
xorl %r14d, %r14d
movq -0x68(%rbp), %rdi
cmpq %rbx, %rdi
je 0xa850
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa850
jmp 0xa84a
movq %rax, %r13
xorl %r14d, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xa878
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa878
movq %rax, %r13
leaq -0xc8(%rbp), %r12
xorl %r14d, %r14d
leaq -0xc8(%rbp), %rbx
cmpq %r12, %rbx
sete %al
orb %r14b, %al
jne 0xa999
addq $-0x28, %r12
movq %r12, %rdi
callq 0x786e
cmpq %rbx, %r12
jne 0xa88e
jmp 0xa999
movq %rax, %r13
movl $0x28, %r14d
leaq (%r14,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x786e
addq $-0x28, %r14
cmpq $-0x28, %r14
jne 0xa8ad
movb $0x1, %r14b
jmp 0xa8d2
movq %rax, %r13
xorl %r14d, %r14d
movq -0x68(%rbp), %rdi
cmpq %rbx, %rdi
je 0xa8f1
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa8f1
jmp 0xa8eb
movq %rax, %r13
xorl %r14d, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xa919
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa919
movq %rax, %r13
leaq -0xc8(%rbp), %r12
xorl %r14d, %r14d
leaq -0xc8(%rbp), %rbx
cmpq %r12, %rbx
sete %al
orb %r14b, %al
jne 0xa999
addq $-0x28, %r12
movq %r12, %rdi
callq 0x786e
cmpq %rbx, %r12
jne 0xa92b
jmp 0xa999
jmp 0xa942
jmp 0xa962
movq %rax, %r13
movq -0xc8(%rbp), %rdi
cmpq %r12, %rdi
je 0xa965
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa965
movq %rax, %r13
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
jne 0xa982
jmp 0xa999
jmp 0xa996
movq %rax, %r13
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xa999
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa999
jmp 0xa996
jmp 0xa996
jmp 0xa996
movq %rax, %r13
movq 0x70(%r15), %rdi
testq %rdi, %rdi
je 0xa9b1
movq 0x80(%r15), %rsi
subq %rdi, %rsi
callq 0x3190
movq -0x70(%rbp), %rdi
callq 0x91c0
movq -0xe0(%rbp), %rax
movq (%rax), %rdi
cmpq -0xd0(%rbp), %rdi
je 0xa9df
movq -0xd0(%rbp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x3190
movq -0x78(%rbp), %rax
movq (%rax), %rdi
cmpq -0xd8(%rbp), %rdi
je 0xaa01
movq -0xd8(%rbp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x3190
movq %r13, %rdi
callq 0x32b0
nop