// File: /workspace/github_cpp_makefile_star2_O3/Wombozo[P]harmony/src/Chord.cpp
// Function: Chord::Chord(Note*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, Note*, int)
Chord::Chord(Note *n, const std::string &str, Note *b, int inv) : bass(b), inversion(inv)
{
    const std::string *ret = std::find(std::begin(triads), std::end(triads), str);
    if (ret != std::end(triads))
    {
        t = new Triad(n, str, b, inv);
        root = t->getRoot();
        bass = t->getBass();
        inversion = t->getInversion();
        name = t->getName();
        notes = t->notes;
    }
    else
    {
        if (!str.compare(chords[0]))
        {
            t = new Triad(n, "", b);
            notes = t->notes;
            notes.push_back(Interval("minor seventh").getNextSorted(n));
        }
        else if (!str.compare(chords[1]))
        {
            t = new Triad(n, "", b);
            notes = t->notes;
            notes.push_back(Interval("major seventh").getNextSorted(n));
        }
        else if (!str.compare(chords[2]))
        {
            t = new Triad(n, "", b);
            notes = t->notes;
            notes.push_back(Interval("major sixth").getNextSorted(n));
        }
        else if (!str.compare(chords[3]))
        {
            t = new Triad(n, "m", b);
            notes = t->notes;
            notes.push_back(Interval("minor seventh").getNextSorted(n));
        }
        else if (!str.compare(chords[4]))
        {
            t = new Triad(n, "m", b);
            notes = t->notes;
            notes.push_back(Interval("major seventh").getNextSorted(n));
        }
        else if (!str.compare(chords[5]))
        {
            t = new Triad(n, "m", b);
            notes = t->notes;
            notes.push_back(Interval("major sixth").getNextSorted(n));
        }
        else if (!str.compare(chords[6]))
        {
            t = new Triad(n, "dim", b);
            notes = t->notes;
            notes.push_back(Interval("minor seventh").getNextSorted(n));
        }
        else if (!str.compare(chords[7]))
        {
            t = new Triad(n, "b5", b);
            notes = t->notes;
            notes.push_back(Interval("minor seventh").getNextSorted(n));
        }
        else if (!str.compare(chords[8]))
        {
            t = new Triad(n, "dim", b);
            notes = t->notes;
            notes.push_back(Interval("diminished seventh").getNextSorted(n));
        }
        else
            throw E_CHORD_UNKNOWN;
        root = t->getRoot();
        if (inv > 3 | inv < 0)
            throw E_INVERSION;
        std::rotate(notes.begin(), notes.begin() + inversion, notes.end());

        name = n->display() + 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 $0x78, %rsp
movq %rcx, %rbx
movq %rdx, %r12
movq %rsi, -0x68(%rbp)
movq %rdi, %r14
movq %rcx, 0x10(%rdi)
movl %r8d, -0x9c(%rbp)
movl %r8d, 0x18(%rdi)
leaq 0x20(%rdi), %rax
movq %rax, -0x98(%rbp)
leaq 0x30(%rdi), %r13
movq %r13, 0x20(%rdi)
movq $0x0, 0x28(%rdi)
movb $0x0, 0x30(%rdi)
leaq 0x58(%rdi), %rax
movq %rax, -0x60(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, 0x40(%rdi)
movups %xmm0, 0x50(%rdi)
movups %xmm0, 0x60(%rdi)
leaq 0xbb72(%rip), %rdi      # 0x13450
leaq 0x100(%rdi), %rsi
callq 0x984a
movl $0x100, %ecx            # imm = 0x100
addq 0xb6ea(%rip), %rcx      # 0x12fe0
cmpq %rcx, %rax
je 0x79a6
movl $0x88, %edi
callq 0x3180
movq %rax, %r15
movq %rax, %rdi
movq -0x68(%rbp), %rsi
movq %r12, %rdx
movq %rbx, %rcx
movl -0x9c(%rbp), %r8d
callq 0x9b04
movq %r15, 0x8(%r14)
movq %r15, %rdi
callq 0xb882
movq %rax, (%r14)
movq 0x8(%r14), %rdi
callq 0xb88c
movq %rax, 0x10(%r14)
movq 0x8(%r14), %rdi
callq 0xb8b2
movl %eax, 0x18(%r14)
movq 0x8(%r14), %rsi
leaq -0x58(%rbp), %rdi
callq 0xb854
leaq -0x58(%rbp), %rbx
movq -0x98(%rbp), %rdi
movq %rbx, %rsi
callq 0x31d0
movq (%rbx), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x7986
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x3190
movq 0x8(%r14), %rsi
addq $0x70, %rsi
movq -0x60(%rbp), %rdi
callq 0x9176
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xb973(%rip), %rsi      # 0x13320
movq %r12, %rdi
callq 0x3040
testl %eax, %eax
je 0x7b3c
leaq 0xb97c(%rip), %rsi      # 0x13340
movq %r12, %rdi
callq 0x3040
testl %eax, %eax
je 0x7c03
leaq 0xb985(%rip), %rsi      # 0x13360
movq %r12, %rdi
callq 0x3040
testl %eax, %eax
je 0x7cca
leaq 0xb98e(%rip), %rsi      # 0x13380
movq %r12, %rdi
callq 0x3040
testl %eax, %eax
je 0x7d91
leaq 0xb997(%rip), %rsi      # 0x133a0
movq %r12, %rdi
callq 0x3040
testl %eax, %eax
je 0x7e58
leaq 0xb9a0(%rip), %rsi      # 0x133c0
movq %r12, %rdi
callq 0x3040
testl %eax, %eax
je 0x7f1f
leaq 0xb9a9(%rip), %rsi      # 0x133e0
movq %r12, %rdi
callq 0x3040
testl %eax, %eax
je 0x7fe6
leaq 0xb9b2(%rip), %rsi      # 0x13400
movq %r12, %rdi
callq 0x3040
testl %eax, %eax
je 0x80ad
leaq 0xb9bb(%rip), %rsi      # 0x13420
movq %r12, %rdi
callq 0x3040
testl %eax, %eax
jne 0x8415
movl $0x88, %edi
callq 0x3180
movq %rax, %r15
leaq -0x48(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x6835(%rip), %rsi      # 0xe2c6
leaq 0x6831(%rip), %rdx      # 0xe2c9
leaq -0x58(%rbp), %rdi
callq 0x5178
leaq -0x58(%rbp), %rdx
movq %r15, %rdi
movq -0x68(%rbp), %rsi
movq %rbx, %rcx
callq 0xa99e
movq %r15, 0x8(%r14)
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x7ad5
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x3190
movq 0x8(%r14), %r15
addq $0x70, %r15
movq -0x60(%rbp), %rdi
movq %r15, %rsi
callq 0x9176
leaq -0x78(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x6795(%rip), %rsi      # 0xe289
leaq 0x67a0(%rip), %rdx      # 0xe29b
leaq -0x88(%rbp), %rdi
callq 0x5178
leaq -0x58(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x7548
leaq -0x58(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x71f2
leaq -0x90(%rbp), %rsi
movq %rax, (%rsi)
movq -0x60(%rbp), %rdi
callq 0x96e6
jmp 0x816f
movl $0x88, %edi
callq 0x3180
movq %rax, %r15
movq %r13, -0x30(%rbp)
leaq -0x48(%rbp), %r13
movq %r13, -0x10(%r13)
leaq 0x6a49(%rip), %rdx      # 0xe5a5
leaq -0x58(%rbp), %rdi
movq %rdx, %rsi
callq 0x5178
leaq -0x58(%rbp), %rdx
movq %r15, %rdi
movq -0x68(%rbp), %rsi
movq %rbx, %rcx
callq 0xa99e
movq %r15, 0x8(%r14)
movq -0x58(%rbp), %rdi
cmpq %r13, %rdi
je 0x7b98
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x3190
movq 0x8(%r14), %r15
addq $0x70, %r15
movq -0x60(%rbp), %rdi
movq %r15, %rsi
movq -0x30(%rbp), %r13
callq 0x9176
leaq -0x78(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x66e1(%rip), %rsi      # 0xe29c
leaq 0x66e7(%rip), %rdx      # 0xe2a9
leaq -0x88(%rbp), %rdi
callq 0x5178
leaq -0x58(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x7548
leaq -0x58(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x71f2
leaq -0x90(%rbp), %rsi
movq %rax, (%rsi)
movq -0x60(%rbp), %rdi
callq 0x96e6
jmp 0x816f
movl $0x88, %edi
callq 0x3180
movq %rax, %r15
movq %r13, -0x30(%rbp)
leaq -0x48(%rbp), %r13
movq %r13, -0x10(%r13)
leaq 0x6982(%rip), %rdx      # 0xe5a5
leaq -0x58(%rbp), %rdi
movq %rdx, %rsi
callq 0x5178
leaq -0x58(%rbp), %rdx
movq %r15, %rdi
movq -0x68(%rbp), %rsi
movq %rbx, %rcx
callq 0xa99e
movq %r15, 0x8(%r14)
movq -0x58(%rbp), %rdi
cmpq %r13, %rdi
je 0x7c5f
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x3190
movq 0x8(%r14), %r15
addq $0x70, %r15
movq -0x60(%rbp), %rdi
movq %r15, %rsi
movq -0x30(%rbp), %r13
callq 0x9176
leaq -0x78(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x6628(%rip), %rsi      # 0xe2aa
leaq 0x662e(%rip), %rdx      # 0xe2b7
leaq -0x88(%rbp), %rdi
callq 0x5178
leaq -0x58(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x7548
leaq -0x58(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x71f2
leaq -0x90(%rbp), %rsi
movq %rax, (%rsi)
movq -0x60(%rbp), %rdi
callq 0x96e6
jmp 0x816f
movl $0x88, %edi
callq 0x3180
movq %rax, %r15
movq %r13, -0x30(%rbp)
leaq -0x48(%rbp), %r13
movq %r13, -0x10(%r13)
leaq 0x68bb(%rip), %rdx      # 0xe5a5
leaq -0x58(%rbp), %rdi
movq %rdx, %rsi
callq 0x5178
leaq -0x58(%rbp), %rdx
movq %r15, %rdi
movq -0x68(%rbp), %rsi
movq %rbx, %rcx
callq 0xa99e
movq %r15, 0x8(%r14)
movq -0x58(%rbp), %rdi
cmpq %r13, %rdi
je 0x7d26
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x3190
movq 0x8(%r14), %r15
addq $0x70, %r15
movq -0x60(%rbp), %rdi
movq %r15, %rsi
movq -0x30(%rbp), %r13
callq 0x9176
leaq -0x78(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x6524(%rip), %rsi      # 0xe26d
leaq 0x6528(%rip), %rdx      # 0xe278
leaq -0x88(%rbp), %rdi
callq 0x5178
leaq -0x58(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x7548
leaq -0x58(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x71f2
leaq -0x90(%rbp), %rsi
movq %rax, (%rsi)
movq -0x60(%rbp), %rdi
callq 0x96e6
jmp 0x816f
movl $0x88, %edi
callq 0x3180
movq %rax, %r15
leaq -0x48(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x651b(%rip), %rsi      # 0xe2c8
leaq 0x6515(%rip), %rdx      # 0xe2c9
leaq -0x58(%rbp), %rdi
callq 0x5178
leaq -0x58(%rbp), %rdx
movq %r15, %rdi
movq -0x68(%rbp), %rsi
movq %rbx, %rcx
callq 0xa99e
movq %r15, 0x8(%r14)
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x7df1
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x3190
movq 0x8(%r14), %r15
addq $0x70, %r15
movq -0x60(%rbp), %rdi
movq %r15, %rsi
callq 0x9176
leaq -0x78(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x648c(%rip), %rsi      # 0xe29c
leaq 0x6492(%rip), %rdx      # 0xe2a9
leaq -0x88(%rbp), %rdi
callq 0x5178
leaq -0x58(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x7548
leaq -0x58(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x71f2
leaq -0x90(%rbp), %rsi
movq %rax, (%rsi)
movq -0x60(%rbp), %rdi
callq 0x96e6
jmp 0x816f
movl $0x88, %edi
callq 0x3180
movq %rax, %r15
leaq -0x48(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x6454(%rip), %rsi      # 0xe2c8
leaq 0x644e(%rip), %rdx      # 0xe2c9
leaq -0x58(%rbp), %rdi
callq 0x5178
leaq -0x58(%rbp), %rdx
movq %r15, %rdi
movq -0x68(%rbp), %rsi
movq %rbx, %rcx
callq 0xa99e
movq %r15, 0x8(%r14)
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x7eb8
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x3190
movq 0x8(%r14), %r15
addq $0x70, %r15
movq -0x60(%rbp), %rdi
movq %r15, %rsi
callq 0x9176
leaq -0x78(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x63d3(%rip), %rsi      # 0xe2aa
leaq 0x63d9(%rip), %rdx      # 0xe2b7
leaq -0x88(%rbp), %rdi
callq 0x5178
leaq -0x58(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x7548
leaq -0x58(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x71f2
leaq -0x90(%rbp), %rsi
movq %rax, (%rsi)
movq -0x60(%rbp), %rdi
callq 0x96e6
jmp 0x816f
movl $0x88, %edi
callq 0x3180
movq %rax, %r15
leaq -0x48(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x638d(%rip), %rsi      # 0xe2c8
leaq 0x6387(%rip), %rdx      # 0xe2c9
leaq -0x58(%rbp), %rdi
callq 0x5178
leaq -0x58(%rbp), %rdx
movq %r15, %rdi
movq -0x68(%rbp), %rsi
movq %rbx, %rcx
callq 0xa99e
movq %r15, 0x8(%r14)
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x7f7f
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x3190
movq 0x8(%r14), %r15
addq $0x70, %r15
movq -0x60(%rbp), %rdi
movq %r15, %rsi
callq 0x9176
leaq -0x78(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x62cf(%rip), %rsi      # 0xe26d
leaq 0x62d3(%rip), %rdx      # 0xe278
leaq -0x88(%rbp), %rdi
callq 0x5178
leaq -0x58(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x7548
leaq -0x58(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x71f2
leaq -0x90(%rbp), %rsi
movq %rax, (%rsi)
movq -0x60(%rbp), %rdi
callq 0x96e6
jmp 0x816f
movl $0x88, %edi
callq 0x3180
movq %rax, %r15
leaq -0x48(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x62c4(%rip), %rsi      # 0xe2c6
leaq 0x62c0(%rip), %rdx      # 0xe2c9
leaq -0x58(%rbp), %rdi
callq 0x5178
leaq -0x58(%rbp), %rdx
movq %r15, %rdi
movq -0x68(%rbp), %rsi
movq %rbx, %rcx
callq 0xa99e
movq %r15, 0x8(%r14)
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x8046
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x3190
movq 0x8(%r14), %r15
addq $0x70, %r15
movq -0x60(%rbp), %rdi
movq %r15, %rsi
callq 0x9176
leaq -0x78(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x6237(%rip), %rsi      # 0xe29c
leaq 0x623d(%rip), %rdx      # 0xe2a9
leaq -0x88(%rbp), %rdi
callq 0x5178
leaq -0x58(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x7548
leaq -0x58(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x71f2
leaq -0x90(%rbp), %rsi
movq %rax, (%rsi)
movq -0x60(%rbp), %rdi
callq 0x96e6
jmp 0x816f
movl $0x88, %edi
callq 0x3180
movq %rax, %r15
leaq -0x48(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x6222(%rip), %rsi      # 0xe2eb
leaq 0x621d(%rip), %rdx      # 0xe2ed
leaq -0x58(%rbp), %rdi
callq 0x5178
leaq -0x58(%rbp), %rdx
movq %r15, %rdi
movq -0x68(%rbp), %rsi
movq %rbx, %rcx
callq 0xa99e
movq %r15, 0x8(%r14)
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x810d
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x3190
movq 0x8(%r14), %r15
addq $0x70, %r15
movq -0x60(%rbp), %rdi
movq %r15, %rsi
callq 0x9176
leaq -0x78(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x6170(%rip), %rsi      # 0xe29c
leaq 0x6176(%rip), %rdx      # 0xe2a9
leaq -0x88(%rbp), %rdi
callq 0x5178
leaq -0x58(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x7548
leaq -0x58(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x71f2
leaq -0x90(%rbp), %rsi
movq %rax, (%rsi)
movq -0x60(%rbp), %rdi
callq 0x96e6
leaq -0x58(%rbp), %rdi
callq 0x780a
movq -0x88(%rbp), %rdi
cmpq %r15, %rdi
je 0x8190
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x3190
movq 0x8(%r14), %rdi
callq 0xb882
movq %rax, (%r14)
cmpl $0x4, -0x9c(%rbp)
jae 0x83e2
movslq 0x18(%r14), %rax
movq 0x58(%r14), %rdi
movq 0x60(%r14), %rdx
leaq (%rdi,%rax,8), %rsi
callq 0x997d
movq -0x68(%rbp), %rsi
movq (%rsi), %rax
leaq -0x88(%rbp), %rdi
callq *(%rax)
movq (%r12), %rsi
movq 0x8(%r12), %rdx
leaq -0x88(%rbp), %rdi
callq 0x3080
leaq -0x48(%rbp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x8208
movq %rdx, -0x58(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x48(%rbp)
jmp 0x8210
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq -0x98(%rbp), %rdi
movq 0x8(%rax), %rdx
leaq -0x58(%rbp), %rbx
movq %rdx, 0x8(%rbx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, %rsi
callq 0x31d0
movq (%rbx), %rdi
cmpq %r12, %rdi
je 0x824e
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x10(%r15), %rdi
cmpq %r15, %rdi
je 0x8263
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x3190
movq 0x10(%r14), %rsi
cmpq %rsi, (%r14)
je 0x8319
movq (%rsi), %rax
leaq -0x88(%rbp), %rdi
callq *(%rax)
leaq 0x61d9(%rip), %rcx      # 0xe45c
leaq -0x88(%rbp), %rdi
movl $0x1, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x31b0
movq %r12, -0x58(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x82b9
movq %rdx, -0x58(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x48(%rbp)
jmp 0x82c1
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, -0x50(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x58(%rbp), %rsi
movq -0x50(%rbp), %rdx
movq -0x98(%rbp), %rdi
callq 0x3080
movq -0x58(%rbp), %rdi
cmpq %r12, %rdi
je 0x8301
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x88(%rbp), %rdi
cmpq %r15, %rdi
je 0x8319
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x3190
cmpl $0x0, 0x18(%r14)
je 0x7997
movq 0x58(%r14), %rax
cmpq %rax, 0x60(%r14)
je 0x8403
movq (%rax), %rsi
movq (%rsi), %rax
leaq -0x88(%rbp), %rdi
callq *(%rax)
leaq 0x6114(%rip), %rcx      # 0xe45c
leaq -0x88(%rbp), %rdi
movl $0x1, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x31b0
movq %r12, -0x58(%rbp)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x837e
movq %rsi, -0x58(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x48(%rbp)
jmp 0x8389
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq %r12, %rsi
movq 0x8(%rax), %rdx
movq %rdx, -0x50(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x98(%rbp), %rdi
callq 0x3080
movq -0x58(%rbp), %rdi
cmpq %r12, %rdi
je 0x83c1
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x88(%rbp), %rdi
cmpq %r15, %rdi
je 0x7997
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0x7997
movl $0x4, %edi
callq 0x30d0
movl $0x2, (%rax)
leaq 0xa47f(%rip), %rsi      # 0x12878
movq %rax, %rdi
xorl %edx, %edx
callq 0x3290
leaq 0x5ee4(%rip), %rdi      # 0xe2ee
xorl %esi, %esi
xorl %edx, %edx
xorl %eax, %eax
callq 0x3210
movl $0x4, %edi
callq 0x30d0
movl $0x1, (%rax)
jmp 0x83f2
jmp 0x851d
jmp 0x857d
jmp 0x848e
jmp 0x8567
jmp 0x851d
jmp 0x857d
jmp 0x848e
jmp 0x8567
jmp 0x851d
jmp 0x857d
jmp 0x848e
jmp 0x8567
jmp 0x84bc
jmp 0x851d
jmp 0x857d
jmp 0x848e
jmp 0x8567
jmp 0x84bc
jmp 0x84bc
jmp 0x851d
jmp 0x857d
jmp 0x848e
jmp 0x8567
jmp 0x84bc
jmp 0x851d
jmp 0x857d
movq %r13, -0x30(%rbp)
movq %rax, %rbx
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
jne 0x84e9
jmp 0x856e
jmp 0x8567
jmp 0x84bc
jmp 0x8521
jmp 0x8581
jmp 0x84d9
jmp 0x856b
movq %r13, -0x30(%rbp)
jmp 0x8528
jmp 0x8521
jmp 0x8581
jmp 0x84d9
jmp 0x856b
jmp 0x8528
jmp 0x8521
jmp 0x8581
movq %rax, %rbx
movq -0x58(%rbp), %rdi
cmpq %r13, %rdi
je 0x856e
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0x856e
jmp 0x856b
jmp 0x8528
jmp 0x84ff
jmp 0x851d
movq %r13, -0x30(%rbp)
movq %rax, %rbx
movq -0x58(%rbp), %rdi
cmpq %r12, %rdi
je 0x8534
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0x8534
movq %r13, -0x30(%rbp)
movq %rax, %rbx
jmp 0x8534
jmp 0x857d
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x780a
movq -0x88(%rbp), %rdi
cmpq %r15, %rdi
je 0x8584
movq -0x78(%rbp), %rsi
incq %rsi
jmp 0x8576
movq %r13, -0x30(%rbp)
movq %rax, %rbx
leaq -0x78(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x8540
jmp 0x8584
jmp 0x857d
jmp 0x857d
jmp 0x857d
jmp 0x857d
movq %r13, -0x30(%rbp)
movq %rax, %rbx
movl $0x88, %esi
movq %r15, %rdi
callq 0x3190
jmp 0x8584
movq %r13, -0x30(%rbp)
movq %rax, %rbx
leaq 0x40(%r14), %r15
movq -0x60(%rbp), %rax
movq (%rax), %rdi
testq %rdi, %rdi
je 0x85a0
movq 0x68(%r14), %rsi
subq %rdi, %rsi
callq 0x3190
movq %r15, %rdi
callq 0x9120
movq -0x98(%rbp), %rax
movq (%rax), %rdi
cmpq -0x30(%rbp), %rdi
je 0x85c7
movq -0x30(%rbp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x3190
movq %rbx, %rdi
callq 0x32b0
nop