// File: /workspace/github_cpp_makefile_star2_O1/Wombozo[P]harmony/src/Triad.cpp
// Function: Triad::Triad(Note*, std::vector<Interval, std::allocator<Interval>>)
Triad::Triad(Note *n, std::vector<Interval> ints) : root(n), bass(n), inversion(0)
{
    std::string str;
    if (ints.size() < 2)
        throw E_CHORD_UNKNOWN;
    
    intervals = {ints.at(0), ints.at(1)};
    if (!ints.at(0).getName().compare("major third") && !ints.at(1).getName().compare("perfect fifth"))
    {
        str = triads[0];
    }
    else if (!ints.at(0).getName().compare("minor third") && !ints.at(1).getName().compare("perfect fifth"))
    {
        str = triads[1];
    }
    else if (!ints.at(0).getName().compare("major third") && !ints.at(1).getName().compare("augmtented fifth"))
    {
        str = triads[2];
    }
    else if (!ints.at(0).getName().compare("minor third") && !ints.at(1).getName().compare("diminished fifth"))
    {
        str = triads[3];
    }
    else if (!ints.at(0).getName().compare("perfect fourth") && !ints.at(1).getName().compare("perfect fifth"))
    {
        str = triads[4];
    }
    else if (!ints.at(0).getName().compare("major second") && !ints.at(1).getName().compare("perfect fifth"))
    {
        str = triads[5];
    }
    else if (!ints.at(0).getName().compare("major third") && !ints.at(1).getName().compare("diminished fifth"))
    {
        str = triads[6];
    }
    else if (!ints.at(0).getName().compare("minor third") && !ints.at(1).getName().compare("augmented fifth"))
    {
        str = triads[7];
    }
    else
        throw E_CHORD_UNKNOWN;
    _setNotes(this, &ints);
    name = n->display() + str;
    typeName = str;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1c8, %rsp            # imm = 0x1C8
movq %rsi, (%rdi)
movq %rsi, -0xd0(%rbp)
movq %rsi, 0x8(%rdi)
leaq 0x10(%rdi), %rax
movq %rax, -0xa0(%rbp)
leaq 0x20(%rdi), %rax
movq %rax, -0x90(%rbp)
movq %rax, 0x10(%rdi)
xorl %eax, %eax
movq %rax, 0x18(%rdi)
movb %al, 0x20(%rdi)
leaq 0x30(%rdi), %rcx
movq %rcx, -0x98(%rbp)
leaq 0x40(%rdi), %rcx
movq %rcx, -0x88(%rbp)
movq %rcx, 0x30(%rdi)
movq %rax, 0x38(%rdi)
movb %al, 0x40(%rdi)
movl $0x0, 0x50(%rdi)
leaq 0x58(%rdi), %rcx
movq %rcx, -0xa8(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, 0x58(%rdi)
movups %xmm0, 0x68(%rdi)
movq %rdi, -0x80(%rbp)
movups %xmm0, 0x78(%rdi)
leaq -0xb8(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
movq (%rdx), %r13
movq 0x8(%rdx), %rax
subq %r13, %rax
sarq $0x3, %rax
movabsq $-0x3333333333333333, %rcx # imm = 0xCCCCCCCCCCCCCCCD
imulq %rcx, %rax
cmpq $0x2, %rax
jb 0xb3f7
movq %rdx, %rbx
leaq -0x68(%rbp), %rax
movq %rax, %r15
movq %rax, -0x10(%rax)
movq (%r13), %rsi
movq 0x8(%r13), %rdx
addq %rsi, %rdx
leaq -0x78(%rbp), %r12
movq %r12, %r14
movq %r12, %rdi
callq 0x669c
movq 0x20(%r13), %rax
leaq -0x50(%rbp), %r14
movq %rax, -0x8(%r14)
movq (%rbx), %r13
movq 0x8(%rbx), %rdx
subq %r13, %rdx
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rax # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rdx
cmpq $0x1, %rdx
jbe 0xb418
leaq -0x40(%rbp), %rax
movq %rax, -0x10(%rax)
movq 0x28(%r13), %rsi
movq 0x30(%r13), %rdx
addq %rsi, %rdx
movq %r14, %rdi
callq 0x669c
movq 0x48(%r13), %rax
leaq -0x28(%rbp), %rdx
movq %rax, -0x8(%rdx)
leaq -0x78(%rbp), %rsi
movq -0xa8(%rbp), %rdi
callq 0xbad8
movl $0x28, %r14d
leaq (%r14,%rbp), %rdi
addq $-0x78, %rdi
callq 0x786e
addq $-0x28, %r14
cmpq $-0x28, %r14
jne 0xac61
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
subq %rsi, %rdx
je 0xb42b
leaq -0x78(%rbp), %rdi
callq 0x7890
leaq 0x353b(%rip), %rsi      # 0xe1d3
leaq -0x78(%rbp), %rdi
callq 0x3070
movl %eax, %r14d
testl %eax, %eax
je 0xacad
xorl %r12d, %r12d
jmp 0xacfc
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
subq %rsi, %rdx
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rax # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rdx
cmpq $0x1, %rdx
jbe 0xb46f
addq $0x28, %rsi
leaq -0x1f0(%rbp), %rdi
callq 0x7890
leaq 0x3548(%rip), %rsi      # 0xe232
leaq -0x1f0(%rbp), %rdi
callq 0x3070
testl %eax, %eax
sete %r12b
testl %r14d, %r14d
jne 0xad20
leaq -0x1e0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xad20
movq -0x1e0(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0xad35
movq -0x68(%rbp), %rsi
incq %rsi
callq 0x3190
testb %r12b, %r12b
je 0xad46
leaq 0x870f(%rip), %rsi      # 0x13450
jmp 0xb2e7
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
subq %rsi, %rdx
je 0xb44d
leaq -0x78(%rbp), %rdi
callq 0x7890
leaq 0x3461(%rip), %rsi      # 0xe1c7
leaq -0x78(%rbp), %rdi
callq 0x3070
movl %eax, %r14d
testl %eax, %eax
je 0xad7b
xorl %r12d, %r12d
jmp 0xadca
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
subq %rsi, %rdx
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rax # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rdx
cmpq $0x1, %rdx
jbe 0xb4a4
addq $0x28, %rsi
leaq -0x1d0(%rbp), %rdi
callq 0x7890
leaq 0x347a(%rip), %rsi      # 0xe232
leaq -0x1d0(%rbp), %rdi
callq 0x3070
testl %eax, %eax
sete %r12b
testl %r14d, %r14d
jne 0xadee
leaq -0x1c0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xadee
movq -0x1c0(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0xae03
movq -0x68(%rbp), %rsi
incq %rsi
callq 0x3190
testb %r12b, %r12b
je 0xae14
leaq 0x8661(%rip), %rsi      # 0x13470
jmp 0xb2e7
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
subq %rsi, %rdx
je 0xb482
leaq -0x78(%rbp), %rdi
callq 0x7890
leaq 0x339f(%rip), %rsi      # 0xe1d3
leaq -0x78(%rbp), %rdi
callq 0x3070
movl %eax, %r14d
testl %eax, %eax
je 0xae49
xorl %r12d, %r12d
jmp 0xae98
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
subq %rsi, %rdx
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rax # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rdx
cmpq $0x1, %rdx
jbe 0xb4d9
addq $0x28, %rsi
leaq -0x1b0(%rbp), %rdi
callq 0x7890
leaq 0x35f6(%rip), %rsi      # 0xe47c
leaq -0x1b0(%rbp), %rdi
callq 0x3070
testl %eax, %eax
sete %r12b
testl %r14d, %r14d
jne 0xaebc
leaq -0x1a0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xaebc
movq -0x1a0(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0xaed1
movq -0x68(%rbp), %rsi
incq %rsi
callq 0x3190
testb %r12b, %r12b
je 0xaee2
leaq 0x85b3(%rip), %rsi      # 0x13490
jmp 0xb2e7
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
subq %rsi, %rdx
je 0xb4b7
leaq -0x78(%rbp), %rdi
callq 0x7890
leaq 0x32c5(%rip), %rsi      # 0xe1c7
leaq -0x78(%rbp), %rdi
callq 0x3070
movl %eax, %r14d
testl %eax, %eax
je 0xaf17
xorl %r12d, %r12d
jmp 0xaf66
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
subq %rsi, %rdx
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rax # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rdx
cmpq $0x1, %rdx
jbe 0xb50e
addq $0x28, %rsi
leaq -0x190(%rbp), %rdi
callq 0x7890
leaq 0x32cd(%rip), %rsi      # 0xe221
leaq -0x190(%rbp), %rdi
callq 0x3070
testl %eax, %eax
sete %r12b
testl %r14d, %r14d
jne 0xaf8a
leaq -0x180(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xaf8a
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0xaf9f
movq -0x68(%rbp), %rsi
incq %rsi
callq 0x3190
testb %r12b, %r12b
je 0xafb0
leaq 0x8505(%rip), %rsi      # 0x134b0
jmp 0xb2e7
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
subq %rsi, %rdx
je 0xb4ec
leaq -0x78(%rbp), %rdi
callq 0x7890
leaq 0x3231(%rip), %rsi      # 0xe201
leaq -0x78(%rbp), %rdi
callq 0x3070
movl %eax, %r14d
testl %eax, %eax
je 0xafe5
xorl %r12d, %r12d
jmp 0xb034
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
subq %rsi, %rdx
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rax # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rdx
cmpq $0x1, %rdx
jbe 0xb543
addq $0x28, %rsi
leaq -0x170(%rbp), %rdi
callq 0x7890
leaq 0x3210(%rip), %rsi      # 0xe232
leaq -0x170(%rbp), %rdi
callq 0x3070
testl %eax, %eax
sete %r12b
testl %r14d, %r14d
jne 0xb058
leaq -0x160(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xb058
movq -0x160(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0xb06d
movq -0x68(%rbp), %rsi
incq %rsi
callq 0x3190
testb %r12b, %r12b
je 0xb07e
leaq 0x8457(%rip), %rsi      # 0x134d0
jmp 0xb2e7
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
subq %rsi, %rdx
je 0xb521
leaq -0x78(%rbp), %rdi
callq 0x7890
leaq 0x30fa(%rip), %rsi      # 0xe198
leaq -0x78(%rbp), %rdi
callq 0x3070
movl %eax, %r14d
testl %eax, %eax
je 0xb0b3
xorl %r12d, %r12d
jmp 0xb102
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
subq %rsi, %rdx
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rax # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rdx
cmpq $0x1, %rdx
jbe 0xb578
addq $0x28, %rsi
leaq -0x150(%rbp), %rdi
callq 0x7890
leaq 0x3142(%rip), %rsi      # 0xe232
leaq -0x150(%rbp), %rdi
callq 0x3070
testl %eax, %eax
sete %r12b
testl %r14d, %r14d
jne 0xb126
leaq -0x140(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xb126
movq -0x140(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0xb13b
movq -0x68(%rbp), %rsi
incq %rsi
callq 0x3190
testb %r12b, %r12b
je 0xb14c
leaq 0x83a9(%rip), %rsi      # 0x134f0
jmp 0xb2e7
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
subq %rsi, %rdx
je 0xb556
leaq -0x78(%rbp), %rdi
callq 0x7890
leaq 0x3067(%rip), %rsi      # 0xe1d3
leaq -0x78(%rbp), %rdi
callq 0x3070
movl %eax, %r14d
testl %eax, %eax
je 0xb181
xorl %r12d, %r12d
jmp 0xb1d0
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
subq %rsi, %rdx
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rax # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rdx
cmpq $0x1, %rdx
jbe 0xb5ad
addq $0x28, %rsi
leaq -0x130(%rbp), %rdi
callq 0x7890
leaq 0x3063(%rip), %rsi      # 0xe221
leaq -0x130(%rbp), %rdi
callq 0x3070
testl %eax, %eax
sete %r12b
testl %r14d, %r14d
jne 0xb1f4
leaq -0x120(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xb1f4
movq -0x120(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0xb209
movq -0x68(%rbp), %rsi
incq %rsi
callq 0x3190
testb %r12b, %r12b
je 0xb21a
leaq 0x82fb(%rip), %rsi      # 0x13510
jmp 0xb2e7
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
subq %rsi, %rdx
je 0xb58b
leaq -0x78(%rbp), %rdi
callq 0x7890
leaq 0x2f8d(%rip), %rsi      # 0xe1c7
leaq -0x78(%rbp), %rdi
callq 0x3070
movl %eax, %r14d
testl %eax, %eax
je 0xb24f
xorl %r12d, %r12d
jmp 0xb29e
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
subq %rsi, %rdx
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rax # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rdx
cmpq $0x1, %rdx
jbe 0xb5c0
addq $0x28, %rsi
leaq -0x110(%rbp), %rdi
callq 0x7890
leaq 0x2fb4(%rip), %rsi      # 0xe240
leaq -0x110(%rbp), %rdi
callq 0x3070
testl %eax, %eax
sete %r12b
testl %r14d, %r14d
jne 0xb2c2
leaq -0x100(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xb2c2
movq -0x100(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0xb2d7
movq -0x68(%rbp), %rsi
incq %rsi
callq 0x3190
testb %r12b, %r12b
je 0xb3f7
leaq 0x8249(%rip), %rsi      # 0x13530
leaq -0xc8(%rbp), %rdi
callq 0x30f0
movq -0x80(%rbp), %rdi
movq %rbx, %rsi
callq 0xb71c
movq -0xd0(%rbp), %rsi
movq (%rsi), %rax
leaq -0xf0(%rbp), %rdi
callq *(%rax)
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
leaq -0xf0(%rbp), %rdi
callq 0x3080
movq %r15, -0x78(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xb34c
movq %rdx, -0x78(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x68(%rbp)
jmp 0xb353
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq -0x78(%rbp), %rbx
movq %rdx, 0x8(%rbx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xa0(%rbp), %rdi
movq %rbx, %rsi
callq 0x31d0
movq (%rbx), %rdi
cmpq %r15, %rdi
je 0xb391
movq -0x68(%rbp), %rsi
incq %rsi
callq 0x3190
leaq -0xe0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xb3b0
movq -0xe0(%rbp), %rsi
incq %rsi
callq 0x3190
leaq -0xc8(%rbp), %rsi
movq -0x98(%rbp), %rdi
callq 0x30f0
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0xb3e5
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x3190
addq $0x1c8, %rsp            # imm = 0x1C8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x4, %edi
callq 0x30d0
movl $0x1, (%rax)
leaq 0x746a(%rip), %rsi      # 0x12878
movq %rax, %rdi
xorl %edx, %edx
callq 0x3290
leaq 0x2ecf(%rip), %rdi      # 0xe2ee
movl $0x1, %esi
xorl %eax, %eax
callq 0x3210
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rax # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rdx
leaq 0x2eaa(%rip), %rdi      # 0xe2ee
xorl %esi, %esi
xorl %eax, %eax
callq 0x3210
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rax # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rdx
leaq 0x2e88(%rip), %rdi      # 0xe2ee
xorl %esi, %esi
xorl %eax, %eax
callq 0x3210
leaq 0x2e78(%rip), %rdi      # 0xe2ee
movl $0x1, %esi
xorl %eax, %eax
callq 0x3210
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rax # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rdx
leaq 0x2e53(%rip), %rdi      # 0xe2ee
xorl %esi, %esi
xorl %eax, %eax
callq 0x3210
leaq 0x2e43(%rip), %rdi      # 0xe2ee
movl $0x1, %esi
xorl %eax, %eax
callq 0x3210
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rax # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rdx
leaq 0x2e1e(%rip), %rdi      # 0xe2ee
xorl %esi, %esi
xorl %eax, %eax
callq 0x3210
leaq 0x2e0e(%rip), %rdi      # 0xe2ee
movl $0x1, %esi
xorl %eax, %eax
callq 0x3210
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rax # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rdx
leaq 0x2de9(%rip), %rdi      # 0xe2ee
xorl %esi, %esi
xorl %eax, %eax
callq 0x3210
leaq 0x2dd9(%rip), %rdi      # 0xe2ee
movl $0x1, %esi
xorl %eax, %eax
callq 0x3210
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rax # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rdx
leaq 0x2db4(%rip), %rdi      # 0xe2ee
xorl %esi, %esi
xorl %eax, %eax
callq 0x3210
leaq 0x2da4(%rip), %rdi      # 0xe2ee
movl $0x1, %esi
xorl %eax, %eax
callq 0x3210
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rax # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rdx
leaq 0x2d7f(%rip), %rdi      # 0xe2ee
xorl %esi, %esi
xorl %eax, %eax
callq 0x3210
leaq 0x2d6f(%rip), %rdi      # 0xe2ee
movl $0x1, %esi
xorl %eax, %eax
callq 0x3210
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rax # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rdx
leaq 0x2d4a(%rip), %rdi      # 0xe2ee
xorl %esi, %esi
xorl %eax, %eax
callq 0x3210
leaq 0x2d3a(%rip), %rdi      # 0xe2ee
movl $0x1, %esi
xorl %eax, %eax
callq 0x3210
leaq 0x2d27(%rip), %rdi      # 0xe2ee
movl $0x1, %esi
xorl %eax, %eax
callq 0x3210
jmp 0xb5fc
jmp 0xb5fc
jmp 0xb679
jmp 0xb5fc
jmp 0xb679
jmp 0xb5fc
jmp 0xb679
jmp 0xb5fc
jmp 0xb679
jmp 0xb5fc
jmp 0xb679
jmp 0xb5fc
jmp 0xb679
movq %rax, %rbx
movq -0x78(%rbp), %rdi
cmpq %r15, %rdi
je 0xb67c
movq -0x68(%rbp), %rsi
jmp 0xb628
movq %rax, %rbx
leaq -0xe0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xb67c
movq -0xe0(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0xb67c
jmp 0xb679
jmp 0xb679
movq %rax, %rbx
movl $0x28, %r14d
leaq (%r14,%rbp), %rdi
addq $-0x78, %rdi
callq 0x786e
addq $-0x28, %r14
cmpq $-0x28, %r14
jne 0xb63f
jmp 0xb67c
jmp 0xb679
movq %rax, %rbx
cmpq %r14, %r12
je 0xb67c
leaq -0x78(%rbp), %r12
addq $-0x28, %r14
movq %r14, %rdi
callq 0x786e
cmpq %r12, %r14
jne 0xb666
jmp 0xb67c
movq %rax, %rbx
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0xb69e
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x80(%rbp), %rax
movq 0x70(%rax), %rdi
testq %rdi, %rdi
je 0xb6be
movq -0x80(%rbp), %rax
movq 0x80(%rax), %rsi
subq %rdi, %rsi
callq 0x3190
movq -0xa8(%rbp), %rdi
callq 0x91c0
movq -0x98(%rbp), %rax
movq (%rax), %rdi
cmpq -0x88(%rbp), %rdi
je 0xb6ef
movq -0x88(%rbp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x3190
movq -0xa0(%rbp), %rax
movq (%rax), %rdi
cmpq -0x90(%rbp), %rdi
je 0xb714
movq -0x90(%rbp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x3190
movq %rbx, %rdi
callq 0x32b0