// File: /workspace/github_cpp_makefile_star2_O3/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 0x98c5(%rip), %rsi      # 0x13450
movq %rdx, %rdi
callq 0x3040
testl %eax, %eax
je 0x9cd9
leaq 0x98ce(%rip), %rsi      # 0x13470
movq %r13, %rdi
callq 0x3040
testl %eax, %eax
je 0x9d76
leaq 0x98d7(%rip), %rsi      # 0x13490
movq %r13, %rdi
callq 0x3040
testl %eax, %eax
je 0x9e13
leaq 0x98e0(%rip), %rsi      # 0x134b0
movq %r13, %rdi
callq 0x3040
testl %eax, %eax
je 0x9eb0
leaq 0x98e9(%rip), %rsi      # 0x134d0
movq %r13, %rdi
callq 0x3040
testl %eax, %eax
je 0x9f4d
leaq 0x98f2(%rip), %rsi      # 0x134f0
movq %r13, %rdi
callq 0x3040
testl %eax, %eax
je 0x9fea
leaq 0x98fb(%rip), %rsi      # 0x13510
movq %r13, %rdi
callq 0x3040
testl %eax, %eax
je 0xa087
leaq 0x9904(%rip), %rsi      # 0x13530
movq %r13, %rdi
callq 0x3040
testl %eax, %eax
jne 0xa402
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x457c(%rip), %rsi      # 0xe1c7
leaq 0x4580(%rip), %rdx      # 0xe1d2
leaq -0x48(%rbp), %rdi
callq 0x5178
leaq -0xc8(%rbp), %r12
leaq -0x48(%rbp), %rsi
movq %r12, %rdi
callq 0x7548
leaq -0xa0(%rbp), %r12
leaq -0x58(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x45bc(%rip), %rsi      # 0xe240
leaq 0x45c4(%rip), %rdx      # 0xe24f
leaq -0x68(%rbp), %rdi
callq 0x5178
leaq -0x68(%rbp), %rsi
movq %r12, %rdi
callq 0x7548
leaq -0x78(%rbp), %rdx
leaq -0xc8(%rbp), %rsi
movq -0x70(%rbp), %rdi
callq 0xb9c6
movl $0x28, %r12d
leaq (%r12,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x780a
addq $-0x28, %r12
cmpq $-0x28, %r12
jne 0x9cba
jmp 0xa11f
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x44eb(%rip), %rsi      # 0xe1d3
leaq 0x44ef(%rip), %rdx      # 0xe1de
leaq -0x48(%rbp), %rdi
callq 0x5178
leaq -0xc8(%rbp), %r12
leaq -0x48(%rbp), %rsi
movq %r12, %rdi
callq 0x7548
leaq -0xa0(%rbp), %r12
leaq -0x58(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x4511(%rip), %rsi      # 0xe232
leaq 0x4517(%rip), %rdx      # 0xe23f
leaq -0x68(%rbp), %rdi
callq 0x5178
leaq -0x68(%rbp), %rsi
movq %r12, %rdi
callq 0x7548
leaq -0x78(%rbp), %rdx
leaq -0xc8(%rbp), %rsi
movq -0x70(%rbp), %rdi
callq 0xb9c6
movl $0x28, %r12d
leaq (%r12,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x780a
addq $-0x28, %r12
cmpq $-0x28, %r12
jne 0x9d57
jmp 0xa11f
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x4442(%rip), %rsi      # 0xe1c7
leaq 0x4446(%rip), %rdx      # 0xe1d2
leaq -0x48(%rbp), %rdi
callq 0x5178
leaq -0xc8(%rbp), %r12
leaq -0x48(%rbp), %rsi
movq %r12, %rdi
callq 0x7548
leaq -0xa0(%rbp), %r12
leaq -0x58(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x4474(%rip), %rsi      # 0xe232
leaq 0x447a(%rip), %rdx      # 0xe23f
leaq -0x68(%rbp), %rdi
callq 0x5178
leaq -0x68(%rbp), %rsi
movq %r12, %rdi
callq 0x7548
leaq -0x78(%rbp), %rdx
leaq -0xc8(%rbp), %rsi
movq -0x70(%rbp), %rdi
callq 0xb9c6
movl $0x28, %r12d
leaq (%r12,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x780a
addq $-0x28, %r12
cmpq $-0x28, %r12
jne 0x9df4
jmp 0xa11f
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x43b1(%rip), %rsi      # 0xe1d3
leaq 0x43b5(%rip), %rdx      # 0xe1de
leaq -0x48(%rbp), %rdi
callq 0x5178
leaq -0xc8(%rbp), %r12
leaq -0x48(%rbp), %rsi
movq %r12, %rdi
callq 0x7548
leaq -0xa0(%rbp), %r12
leaq -0x58(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x43e5(%rip), %rsi      # 0xe240
leaq 0x43ed(%rip), %rdx      # 0xe24f
leaq -0x68(%rbp), %rdi
callq 0x5178
leaq -0x68(%rbp), %rsi
movq %r12, %rdi
callq 0x7548
leaq -0x78(%rbp), %rdx
leaq -0xc8(%rbp), %rsi
movq -0x70(%rbp), %rdi
callq 0xb9c6
movl $0x28, %r12d
leaq (%r12,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x780a
addq $-0x28, %r12
cmpq $-0x28, %r12
jne 0x9e91
jmp 0xa11f
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x4308(%rip), %rsi      # 0xe1c7
leaq 0x430c(%rip), %rdx      # 0xe1d2
leaq -0x48(%rbp), %rdi
callq 0x5178
leaq -0xc8(%rbp), %r12
leaq -0x48(%rbp), %rsi
movq %r12, %rdi
callq 0x7548
leaq -0xa0(%rbp), %r12
leaq -0x58(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x4329(%rip), %rsi      # 0xe221
leaq 0x4332(%rip), %rdx      # 0xe231
leaq -0x68(%rbp), %rdi
callq 0x5178
leaq -0x68(%rbp), %rsi
movq %r12, %rdi
callq 0x7548
leaq -0x78(%rbp), %rdx
leaq -0xc8(%rbp), %rsi
movq -0x70(%rbp), %rdi
callq 0xb9c6
movl $0x28, %r12d
leaq (%r12,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x780a
addq $-0x28, %r12
cmpq $-0x28, %r12
jne 0x9f2e
jmp 0xa11f
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x42a5(%rip), %rsi      # 0xe201
leaq 0x42ac(%rip), %rdx      # 0xe20f
leaq -0x48(%rbp), %rdi
callq 0x5178
leaq -0xc8(%rbp), %r12
leaq -0x48(%rbp), %rsi
movq %r12, %rdi
callq 0x7548
leaq -0xa0(%rbp), %r12
leaq -0x58(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x429d(%rip), %rsi      # 0xe232
leaq 0x42a3(%rip), %rdx      # 0xe23f
leaq -0x68(%rbp), %rdi
callq 0x5178
leaq -0x68(%rbp), %rsi
movq %r12, %rdi
callq 0x7548
leaq -0x78(%rbp), %rdx
leaq -0xc8(%rbp), %rsi
movq -0x70(%rbp), %rdi
callq 0xb9c6
movl $0x28, %r12d
leaq (%r12,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x780a
addq $-0x28, %r12
cmpq $-0x28, %r12
jne 0x9fcb
jmp 0xa11f
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x419f(%rip), %rsi      # 0xe198
leaq 0x41a4(%rip), %rdx      # 0xe1a4
leaq -0x48(%rbp), %rdi
callq 0x5178
leaq -0xc8(%rbp), %r12
leaq -0x48(%rbp), %rsi
movq %r12, %rdi
callq 0x7548
leaq -0xa0(%rbp), %r12
leaq -0x58(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x4200(%rip), %rsi      # 0xe232
leaq 0x4206(%rip), %rdx      # 0xe23f
leaq -0x68(%rbp), %rdi
callq 0x5178
leaq -0x68(%rbp), %rsi
movq %r12, %rdi
callq 0x7548
leaq -0x78(%rbp), %rdx
leaq -0xc8(%rbp), %rsi
movq -0x70(%rbp), %rdi
callq 0xb9c6
movl $0x28, %r12d
leaq (%r12,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x780a
addq $-0x28, %r12
cmpq $-0x28, %r12
jne 0xa068
jmp 0xa11f
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x413d(%rip), %rsi      # 0xe1d3
leaq 0x4141(%rip), %rdx      # 0xe1de
leaq -0x48(%rbp), %rdi
callq 0x5178
leaq -0xc8(%rbp), %r12
leaq -0x48(%rbp), %rsi
movq %r12, %rdi
callq 0x7548
leaq -0xa0(%rbp), %r12
leaq -0x58(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x4152(%rip), %rsi      # 0xe221
leaq 0x415b(%rip), %rdx      # 0xe231
leaq -0x68(%rbp), %rdi
callq 0x5178
leaq -0x68(%rbp), %rsi
movq %r12, %rdi
callq 0x7548
leaq -0x78(%rbp), %rdx
leaq -0xc8(%rbp), %rsi
movq -0x70(%rbp), %rdi
callq 0xb9c6
movl $0x28, %r12d
leaq (%r12,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x780a
addq $-0x28, %r12
cmpq $-0x28, %r12
jne 0xa105
movq -0x68(%rbp), %rdi
cmpq %rbx, %rdi
je 0xa134
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
movq -0x78(%rbp), %rbx
je 0xa151
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
movq %r15, %rdi
movq -0x70(%rbp), %rsi
callq 0xb60d
movl 0x50(%r15), %eax
cmpq $0x3, %rax
jae 0xa3cf
movq 0x70(%r15), %rdi
movq 0x78(%r15), %rdx
leaq (%rdi,%rax,8), %rsi
callq 0x997d
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 0xa1c7
movq %rdx, -0xc8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xb8(%rbp)
jmp 0xa1cf
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 0xa20f
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x3190
leaq -0x38(%rbp), %r14
movq -0x10(%r14), %rdi
cmpq %r14, %rdi
je 0xa228
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 0xa2f8
movq (%rsi), %rax
leaq -0x48(%rbp), %rdi
callq *(%rax)
leaq 0x4208(%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 0xa290
movq %rdx, -0xc8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xb8(%rbp)
jmp 0xa298
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 0xa2e3
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0xa2f8
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
cmpl $0x0, 0x50(%r15)
je 0xa3bd
movq 0x70(%r15), %rax
cmpq %rax, 0x78(%r15)
je 0xa3f0
movq (%rax), %rsi
movq (%rsi), %rax
leaq -0x48(%rbp), %rdi
callq *(%rax)
leaq 0x4138(%rip), %rcx      # 0xe45c
leaq -0x48(%rbp), %rdi
movl $0x1, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x31b0
movq %r12, -0xc8(%rbp)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0xa360
movq %rsi, -0xc8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xb8(%rbp)
jmp 0xa36b
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq %r12, %rsi
movq 0x8(%rax), %rdx
movq %rdx, -0xc0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, %rdi
callq 0x3080
movq -0xc8(%rbp), %rdi
cmpq %r12, %rdi
je 0xa3a8
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0xa3bd
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 $0x4, %edi
callq 0x30d0
movl $0x2, (%rax)
leaq 0x8492(%rip), %rsi      # 0x12878
movq %rax, %rdi
xorl %edx, %edx
callq 0x3290
leaq 0x3ef7(%rip), %rdi      # 0xe2ee
xorl %esi, %esi
xorl %edx, %edx
xorl %eax, %eax
callq 0x3210
movl $0x4, %edi
callq 0x30d0
movl $0x1, (%rax)
jmp 0xa3df
movq %rax, %r13
movl $0x28, %r14d
leaq (%r14,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x780a
addq $-0x28, %r14
cmpq $-0x28, %r14
jne 0xa41d
movb $0x1, %r14b
jmp 0xa442
movq %rax, %r13
xorl %r14d, %r14d
movq -0x68(%rbp), %rdi
cmpq %rbx, %rdi
je 0xa461
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa461
jmp 0xa45b
movq %rax, %r13
xorl %r14d, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xa47a
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
leaq -0xc8(%rbp), %rbx
cmpq %r12, %rbx
sete %al
orb %al, %r14b
jne 0xa91d
addq $-0x28, %r12
movq %r12, %rdi
callq 0x780a
cmpq %rbx, %r12
jne 0xa490
jmp 0xa91d
jmp 0xa91a
movq %rax, %r13
movl $0x28, %r14d
leaq (%r14,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x780a
addq $-0x28, %r14
cmpq $-0x28, %r14
jne 0xa4b4
movb $0x1, %r14b
jmp 0xa4d9
movq %rax, %r13
xorl %r14d, %r14d
movq -0x68(%rbp), %rdi
cmpq %rbx, %rdi
je 0xa4f8
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa4f8
jmp 0xa4f2
movq %rax, %r13
xorl %r14d, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xa511
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
leaq -0xc8(%rbp), %rbx
cmpq %r12, %rbx
sete %al
orb %al, %r14b
jne 0xa91d
addq $-0x28, %r12
movq %r12, %rdi
callq 0x780a
cmpq %rbx, %r12
jne 0xa527
jmp 0xa91d
jmp 0xa91a
movq %rax, %r13
movl $0x28, %r14d
leaq (%r14,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x780a
addq $-0x28, %r14
cmpq $-0x28, %r14
jne 0xa54b
movb $0x1, %r14b
jmp 0xa570
movq %rax, %r13
xorl %r14d, %r14d
movq -0x68(%rbp), %rdi
cmpq %rbx, %rdi
je 0xa58f
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa58f
jmp 0xa589
movq %rax, %r13
xorl %r14d, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xa5a8
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
leaq -0xc8(%rbp), %rbx
cmpq %r12, %rbx
sete %al
orb %al, %r14b
jne 0xa91d
addq $-0x28, %r12
movq %r12, %rdi
callq 0x780a
cmpq %rbx, %r12
jne 0xa5be
jmp 0xa91d
jmp 0xa91a
movq %rax, %r13
movl $0x28, %r14d
leaq (%r14,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x780a
addq $-0x28, %r14
cmpq $-0x28, %r14
jne 0xa5e2
movb $0x1, %r14b
jmp 0xa607
movq %rax, %r13
xorl %r14d, %r14d
movq -0x68(%rbp), %rdi
cmpq %rbx, %rdi
je 0xa626
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa626
jmp 0xa620
movq %rax, %r13
xorl %r14d, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xa63f
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
leaq -0xc8(%rbp), %rbx
cmpq %r12, %rbx
sete %al
orb %al, %r14b
jne 0xa91d
addq $-0x28, %r12
movq %r12, %rdi
callq 0x780a
cmpq %rbx, %r12
jne 0xa655
jmp 0xa91d
jmp 0xa91a
movq %rax, %r13
movl $0x28, %r14d
leaq (%r14,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x780a
addq $-0x28, %r14
cmpq $-0x28, %r14
jne 0xa679
movb $0x1, %r14b
jmp 0xa69e
movq %rax, %r13
xorl %r14d, %r14d
movq -0x68(%rbp), %rdi
cmpq %rbx, %rdi
je 0xa6bd
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa6bd
jmp 0xa6b7
movq %rax, %r13
xorl %r14d, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xa6d6
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
leaq -0xc8(%rbp), %rbx
cmpq %r12, %rbx
sete %al
orb %al, %r14b
jne 0xa91d
addq $-0x28, %r12
movq %r12, %rdi
callq 0x780a
cmpq %rbx, %r12
jne 0xa6ec
jmp 0xa91d
jmp 0xa91a
movq %rax, %r13
movl $0x28, %r14d
leaq (%r14,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x780a
addq $-0x28, %r14
cmpq $-0x28, %r14
jne 0xa710
movb $0x1, %r14b
jmp 0xa735
movq %rax, %r13
xorl %r14d, %r14d
movq -0x68(%rbp), %rdi
cmpq %rbx, %rdi
je 0xa754
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa754
jmp 0xa74e
movq %rax, %r13
xorl %r14d, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xa76d
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
leaq -0xc8(%rbp), %rbx
cmpq %r12, %rbx
sete %al
orb %al, %r14b
jne 0xa91d
addq $-0x28, %r12
movq %r12, %rdi
callq 0x780a
cmpq %rbx, %r12
jne 0xa783
jmp 0xa91d
jmp 0xa91a
movq %rax, %r13
movl $0x28, %r14d
leaq (%r14,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x780a
addq $-0x28, %r14
cmpq $-0x28, %r14
jne 0xa7a7
movb $0x1, %r14b
jmp 0xa7cc
movq %rax, %r13
xorl %r14d, %r14d
movq -0x68(%rbp), %rdi
cmpq %rbx, %rdi
je 0xa7eb
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa7eb
jmp 0xa7e5
movq %rax, %r13
xorl %r14d, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xa804
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
leaq -0xc8(%rbp), %rbx
cmpq %r12, %rbx
sete %al
orb %al, %r14b
jne 0xa91d
addq $-0x28, %r12
movq %r12, %rdi
callq 0x780a
cmpq %rbx, %r12
jne 0xa81a
jmp 0xa91d
jmp 0xa91a
movq %rax, %r13
movl $0x28, %r14d
leaq (%r14,%rbp), %rdi
addq $-0xc8, %rdi
callq 0x780a
addq $-0x28, %r14
cmpq $-0x28, %r14
jne 0xa83e
movb $0x1, %r14b
jmp 0xa863
movq %rax, %r13
xorl %r14d, %r14d
movq -0x68(%rbp), %rdi
cmpq %rbx, %rdi
je 0xa882
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa882
jmp 0xa87c
movq %rax, %r13
xorl %r14d, %r14d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xa89b
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
leaq -0xc8(%rbp), %rbx
cmpq %r12, %rbx
sete %al
orb %al, %r14b
jne 0xa91d
addq $-0x28, %r12
movq %r12, %rdi
callq 0x780a
cmpq %rbx, %r12
jne 0xa8ad
jmp 0xa91d
jmp 0xa91a
jmp 0xa8c6
jmp 0xa8e6
movq %rax, %r13
movq -0xc8(%rbp), %rdi
cmpq %r12, %rdi
je 0xa8e9
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa8e9
movq %rax, %r13
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
jne 0xa906
jmp 0xa91d
jmp 0xa91a
movq %rax, %r13
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xa91d
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xa91d
jmp 0xa91a
jmp 0xa91a
jmp 0xa91a
movq %rax, %r13
movq 0x70(%r15), %rdi
testq %rdi, %rdi
je 0xa935
movq 0x80(%r15), %rsi
subq %rdi, %rsi
callq 0x3190
movq -0x70(%rbp), %rdi
callq 0x9120
movq -0xe0(%rbp), %rax
movq (%rax), %rdi
cmpq -0xd0(%rbp), %rdi
je 0xa963
movq -0xd0(%rbp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x3190
movq -0x78(%rbp), %rax
movq (%rax), %rdi
cmpq -0xd8(%rbp), %rdi
je 0xa985
movq -0xd8(%rbp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x3190
movq %r13, %rdi
callq 0x32b0
nop