// File: /workspace/github_cpp_makefile_star2_O3/hanhwi[P]SimPoint/analysiscode/Utilities.cpp
// Function: Utilities::loadFVFile(FVParser&, Dataset*)
void Utilities::loadFVFile(FVParser &parser,
        Dataset *result) {
    check(NULL != result, "Utilities::loadFVFile() result is null");

    list<FVParserToken> current_vector;
    double totalWeight = 0.0;
    vector<double> rowWeights(result->numRows());

    int largestDimensionSeen = 0;

    while (parser.nextLine(&current_vector)) {
        unsigned int point = parser.currentLineNumber() - 1;
        if (point >= result->numRows()) {
            check(false, "Utilities::loadFVFile() more vectors than expected "
                    "(loading vector " + toString((int)(point + 1)) + " when expecting " 
                    + toString((int)(result->numRows())) + ")");
        }

        // normalize the vector
        double sumVector = 0.0;
        list<FVParserToken>::iterator i;
        for (i = current_vector.begin(); i != current_vector.end(); i++) {
            sumVector += i->value;
            if (i->dimension > largestDimensionSeen) { largestDimensionSeen = i->dimension; }
        }

        rowWeights[point] = sumVector;
        totalWeight += sumVector;

        for (i = current_vector.begin(); i != current_vector.end(); i++) {
            if (i->dimension > (int)result->numCols() || i->dimension < 1) {
                check(i->dimension <= (int)result->numCols(),
                    "Utilities::loadFVFile() expecting only " +
                    toString((int)result->numCols()) +
                    " dimensions, but found dimension " +
                    toString((int)i->dimension));
                check(i->dimension >= 1,
                    "Utilities::loadFVFile() dimension < 1");
            }
            // put the value in the destination dataset (switching to 0-offset
            // and normalizing by the total vector sum)
            (*result)[point][i->dimension - 1] = i->value / sumVector;
        }
    }
    check(parser.currentLineNumber() == (int)result->numRows(),
            "Utilities::loadFVFile() the number of vectors loaded "
            "disagrees with the number specified (expected " +
            toString((int)result->numRows()) + " but loaded " +
            toString(parser.currentLineNumber()) + ")");

    check(largestDimensionSeen == (int)result->numCols(),
            "Utilities::loadFVFile() the number of dimensions loaded "
            "disagrees with the number specified (expected " +
            toString((int)result->numCols()) + " but loaded " +
            toString((int)largestDimensionSeen) + ")");

    // normalize the weights and put them in the dataset
    for (unsigned int row = 0; row < result->numRows(); row++) {
        result->setWeight(row, rowWeights[row] / totalWeight);
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x118, %rsp            # imm = 0x118
movq %rsi, %r14
movq %rdi, %r15
leaq 0x18(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x5ce8(%rip), %rsi      # 0x1f74b
leaq 0x5d07(%rip), %rdx      # 0x1f771
leaq 0x8(%rsp), %rdi
callq 0x6058
testq %r14, %r14
je 0x1a6d6
movq %r15, 0xf0(%rsp)
movq 0x8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x19a9c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42d0
leaq 0xd8(%rsp), %rax
movq %rax, 0x8(%rax)
movq %rax, (%rax)
movq $0x0, 0x10(%rax)
movq 0x8(%r14), %rax
movq %r14, 0xd0(%rsp)
subq (%r14), %rax
shrq $0x3, %rax
imull $0xaaaaaaab, %eax, %esi # imm = 0xAAAAAAAB
leaq 0xf8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x6ad6
xorl %r15d, %r15d
leaq 0x68(%rsp), %r13
xorpd %xmm0, %xmm0
movsd %xmm0, 0xc8(%rsp)
movq 0xf0(%rsp), %rbx
movq %rbx, %rdi
leaq 0xd8(%rsp), %rsi
callq 0x84aa
movl 0x8(%rbx), %r14d
testb %al, %al
movq 0xd0(%rsp), %r12
je 0x19ecf
leal -0x1(%r14), %ecx
movq (%r12), %rax
movq 0x8(%r12), %rdx
subq %rax, %rdx
shrq $0x3, %rdx
imull $0xaaaaaaab, %edx, %edx # imm = 0xAAAAAAAB
cmpl %edx, %ecx
jae 0x1a56f
movq 0xd8(%rsp), %r12
leaq 0xd8(%rsp), %rdx
cmpq %rdx, %r12
je 0x19ea7
xorpd %xmm0, %xmm0
movq %r12, %rdx
leaq 0xd8(%rsp), %rdi
addsd 0x18(%rdx), %xmm0
movl 0x10(%rdx), %esi
cmpl %r15d, %esi
cmovgl %esi, %r15d
movq (%rdx), %rdx
cmpq %rdi, %rdx
jne 0x19b69
movl %ecx, %ebp
movq 0xf8(%rsp), %rcx
movsd %xmm0, (%rcx,%rbp,8)
movapd %xmm0, %xmm1
movsd 0xc8(%rsp), %xmm0
movsd %xmm1, 0x110(%rsp)
addsd %xmm1, %xmm0
movsd %xmm0, 0xc8(%rsp)
cmpq %rdi, %r12
je 0x19af3
movl 0x10(%r12), %ebx
movq 0x8(%rax), %r14
subq (%rax), %r14
shrq $0x3, %r14
testl %ebx, %ebx
jle 0x19bd8
cmpl %r14d, %ebx
jle 0x19e65
movq %r13, %rdi
movl %r14d, %esi
callq 0x19424
movl $0x27, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x5bd0(%rip), %rcx      # 0x1f7c7
callq 0x4320
leaq 0x58(%rsp), %rsi
movq %rsi, 0x48(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x19c24
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x19c2c
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x50(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x48(%rsp), %rdi
leaq 0x5b9f(%rip), %rsi      # 0x1f7ef
callq 0x45d0
leaq 0x38(%rsp), %rsi
movq %rsi, 0x28(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x19c7d
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x19c85
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl 0x10(%r12), %esi
leaq 0x88(%rsp), %rdi
callq 0x19424
movq 0x28(%rsp), %rcx
movl $0xf, %edi
leaq 0x38(%rsp), %rax
cmpq %rax, %rcx
je 0x19cc8
movq 0x38(%rsp), %rdi
movq 0x30(%rsp), %r8
movq 0x88(%rsp), %rsi
movq 0x90(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x19d05
movl $0xf, %edi
leaq 0x98(%rsp), %r9
cmpq %r9, %rsi
je 0x19d00
movq 0x98(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x19d11
leaq 0x28(%rsp), %rdi
callq 0x4110
jmp 0x19d22
leaq 0x88(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x4320
leaq 0x18(%rsp), %rsi
movq %rsi, 0x8(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x19d47
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x19d4f
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
cmpl %r14d, %ebx
jg 0x1a4e5
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x19d91
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x19db6
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x19dd2
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x19dee
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x19e0a
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x42d0
movl 0x10(%r12), %ebx
leaq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
leaq 0x8(%rsp), %rdi
leaq 0x59ec(%rip), %rsi      # 0x1f811
leaq 0x5a0a(%rip), %rdx      # 0x1f836
callq 0x6058
testl %ebx, %ebx
jle 0x1a526
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x19e55
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0xd0(%rsp), %rax
movq (%rax), %rax
movl 0x10(%r12), %ebx
movsd 0x18(%r12), %xmm0
divsd 0x110(%rsp), %xmm0
leaq (,%rbp,2), %rcx
addq %rbp, %rcx
movq (%rax,%rcx,8), %rcx
movslq %ebx, %rdx
movsd %xmm0, -0x8(%rcx,%rdx,8)
movq (%r12), %r12
leaq 0xd8(%rsp), %rcx
cmpq %rcx, %r12
jne 0x19bbb
jmp 0x19af3
movl %ecx, %eax
movq 0xf8(%rsp), %rcx
movq $0x0, (%rcx,%rax,8)
movsd 0xc8(%rsp), %xmm0
addsd 0x2476(%rip), %xmm0     # 0x1c340
jmp 0x19aea
movq 0x8(%r12), %rax
subq (%r12), %rax
shrq $0x3, %rax
imull $0xaaaaaaab, %eax, %ebp # imm = 0xAAAAAAAB
leaq 0x88(%rsp), %rdi
movl %ebp, %esi
callq 0x19424
leaq 0x593f(%rip), %rcx      # 0x1f837
leaq 0x88(%rsp), %rdi
movl $0x63, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x4320
leaq 0x18(%rsp), %rbx
leaq 0x78(%rsp), %rsi
movq %rsi, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x19f3c
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x19f44
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq 0x68(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x5934(%rip), %rsi      # 0x1f89b
callq 0x45d0
leaq 0x58(%rsp), %rsi
movq %rsi, 0x48(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x19f94
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x19f9c
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x50(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0xf0(%rsp), %rax
movl 0x8(%rax), %esi
leaq 0xa8(%rsp), %rdi
callq 0x19424
movq 0x48(%rsp), %rcx
movq 0x50(%rsp), %r8
movq 0xb0(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %edi
leaq 0x58(%rsp), %rsi
cmpq %rsi, %rcx
je 0x19ff6
movq 0x58(%rsp), %rdi
movq 0xa8(%rsp), %rsi
cmpq %rdi, %rax
jbe 0x1a022
leaq 0xb8(%rsp), %r9
movl $0xf, %edi
cmpq %r9, %rsi
je 0x1a01d
movq 0xb8(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x1a02e
leaq 0x48(%rsp), %rdi
callq 0x4110
jmp 0x1a03f
leaq 0xa8(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x4320
leaq 0x38(%rsp), %rsi
movq %rsi, 0x28(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x1a064
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x1a06c
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x21da(%rip), %rsi      # 0x1c26a
leaq 0x28(%rsp), %rdi
callq 0x45d0
movq %rbx, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1a0bd
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x1a0c5
movupd (%rcx), %xmm0
movupd %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
cmpl %ebp, %r14d
jne 0x1a71a
movq 0x8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x1a0fd
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x1a119
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x42d0
leaq 0xb8(%rsp), %r13
movq -0x10(%r13), %rdi
cmpq %r13, %rdi
je 0x1a13a
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x1a156
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x1a172
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x1a197
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x42d0
movq (%r12), %rax
movq 0x8(%rax), %r14
subq (%rax), %r14
shrq $0x3, %r14
leaq 0x88(%rsp), %rdi
movl %r14d, %esi
callq 0x19424
leaq 0x56eb(%rip), %rcx      # 0x1f8a8
leaq 0x88(%rsp), %rdi
movl $0x66, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x4320
leaq 0x78(%rsp), %rsi
movq %rsi, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1a1fc
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x1a204
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq 0x68(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x5674(%rip), %rsi      # 0x1f89b
callq 0x45d0
leaq 0x58(%rsp), %rsi
movq %rsi, 0x48(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1a254
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x1a25c
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x50(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xa8(%rsp), %rdi
movl %r15d, %esi
callq 0x19424
movq 0x48(%rsp), %rcx
movq 0x50(%rsp), %r8
movq 0xb0(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %edi
leaq 0x58(%rsp), %rsi
cmpq %rsi, %rcx
je 0x1a2ae
movq 0x58(%rsp), %rdi
movq 0xa8(%rsp), %rsi
cmpq %rdi, %rax
jbe 0x1a2d2
movl $0xf, %edi
cmpq %r13, %rsi
je 0x1a2cd
movq 0xb8(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x1a2de
leaq 0x48(%rsp), %rdi
callq 0x4110
jmp 0x1a2ef
leaq 0xa8(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x4320
leaq 0x38(%rsp), %rsi
movq %rsi, 0x28(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x1a314
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x1a31c
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x1f2a(%rip), %rsi      # 0x1c26a
leaq 0x28(%rsp), %rdi
callq 0x45d0
movq %rbx, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1a36d
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x1a375
movupd (%rcx), %xmm0
movupd %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
cmpl %r14d, %r15d
jne 0x1a75e
movq 0x8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x1a3ad
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x1a3c9
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0xa8(%rsp), %rdi
cmpq %r13, %rdi
je 0x1a3e6
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x1a402
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x1a41e
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x1a443
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x8(%r12), %rax
subq (%r12), %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rax, %rcx
movq 0xf8(%rsp), %rdi
testl %ecx, %ecx
je 0x1a494
movq 0x18(%r12), %rax
movl %ecx, %ecx
xorl %edx, %edx
movsd 0xc8(%rsp), %xmm1
movsd (%rdi,%rdx,8), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
cmpq %rdx, %rcx
jne 0x1a47c
jmp 0x1a499
testq %rdi, %rdi
je 0x1a4a9
movq 0x108(%rsp), %rsi
subq %rdi, %rsi
callq 0x42d0
movq 0xd8(%rsp), %rdi
leaq 0xd8(%rsp), %r14
cmpq %r14, %rdi
je 0x1a4d3
movq (%rdi), %rbx
movl $0x20, %esi
callq 0x42d0
movq %rbx, %rdi
cmpq %r14, %rbx
jne 0x1a4be
addq $0x118, %rsp            # imm = 0x118
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xce44(%rip), %rax      # 0x27330
movl (%rax), %ecx
shrl $0x1f, %ecx
movq 0x8(%rax,%rcx,8), %r14
leaq 0x1c7b(%rip), %rsi      # 0x1c178
movl $0x8, %edx
movq %r14, %rdi
callq 0x4330
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r14, %rdi
callq 0x4330
movq %rax, %rdi
callq 0x4160
jmp 0x1a565
leaq 0xce03(%rip), %rax      # 0x27330
movl (%rax), %ecx
shrl $0x1f, %ecx
movq 0x8(%rax,%rcx,8), %r14
leaq 0x1c3a(%rip), %rsi      # 0x1c178
movl $0x8, %edx
movq %r14, %rdi
callq 0x4330
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r14, %rdi
callq 0x4330
movq %rax, %rdi
callq 0x4160
movl $0x1, %edi
callq 0x4370
leaq 0x88(%rsp), %rdi
movl %r14d, %esi
callq 0x19424
leaq 0x51ec(%rip), %rcx      # 0x1f772
leaq 0x88(%rsp), %rdi
movl $0x43, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x4320
leaq 0x78(%rsp), %rcx
movq %rcx, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x1a5c5
movupd (%rcx), %xmm0
leaq 0x78(%rsp), %rdx
movupd %xmm0, (%rdx)
jmp 0x1a5d2
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
movq 0x8(%rax), %rdx
leaq 0x68(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x51c1(%rip), %rsi      # 0x1f7b6
callq 0x45d0
leaq 0x58(%rsp), %rcx
movq %rcx, 0x48(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x1a622
movupd (%rcx), %xmm0
leaq 0x58(%rsp), %rdx
movupd %xmm0, (%rdx)
jmp 0x1a62f
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x50(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0xd0(%rsp), %rcx
movq 0x8(%rcx), %rax
subq (%rcx), %rax
shrq $0x3, %rax
imull $0xaaaaaaab, %eax, %esi # imm = 0xAAAAAAAB
leaq 0xa8(%rsp), %rdi
callq 0x19424
movq 0x48(%rsp), %rcx
movq 0x50(%rsp), %r8
movq 0xb0(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %edi
leaq 0x58(%rsp), %rsi
cmpq %rsi, %rcx
je 0x1a697
movq 0x58(%rsp), %rdi
movq 0xa8(%rsp), %rsi
cmpq %rdi, %rax
jbe 0x1a6c7
leaq 0xb8(%rsp), %r9
movl $0xf, %edi
cmpq %r9, %rsi
je 0x1a6be
movq 0xb8(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x1a7a2
leaq 0x48(%rsp), %rdi
callq 0x4110
jmp 0x1a7b3
leaq 0xcc53(%rip), %rax      # 0x27330
movl (%rax), %ecx
shrl $0x1f, %ecx
movq 0x8(%rax,%rcx,8), %rbx
leaq 0x1a8a(%rip), %rsi      # 0x1c178
movl $0x8, %edx
movq %rbx, %rdi
callq 0x4330
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %rbx, %rdi
callq 0x4330
movq %rax, %rdi
callq 0x4160
jmp 0x1a565
leaq 0xcc0f(%rip), %rax      # 0x27330
movl (%rax), %ecx
shrl $0x1f, %ecx
movq 0x8(%rax,%rcx,8), %r14
leaq 0x1a46(%rip), %rsi      # 0x1c178
movl $0x8, %edx
movq %r14, %rdi
callq 0x4330
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r14, %rdi
callq 0x4330
movq %rax, %rdi
callq 0x4160
jmp 0x1a565
leaq 0xcbcb(%rip), %rax      # 0x27330
movl (%rax), %ecx
shrl $0x1f, %ecx
movq 0x8(%rax,%rcx,8), %r14
leaq 0x1a02(%rip), %rsi      # 0x1c178
movl $0x8, %edx
movq %r14, %rdi
callq 0x4330
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r14, %rdi
callq 0x4330
movq %rax, %rdi
callq 0x4160
jmp 0x1a565
leaq 0xa8(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x4320
leaq 0x38(%rsp), %rcx
movq %rcx, 0x28(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
jne 0x1a7d8
movupd (%rcx), %xmm0
leaq 0x38(%rsp), %rdx
movupd %xmm0, (%rdx)
jmp 0x1a7e5
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x1a61(%rip), %rsi      # 0x1c26a
leaq 0x28(%rsp), %rdi
callq 0x45d0
leaq 0x18(%rsp), %rcx
movq %rcx, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x1a83b
movupd (%rcx), %xmm0
leaq 0x18(%rsp), %rdx
movupd %xmm0, (%rdx)
jmp 0x1a848
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xcac9(%rip), %rax      # 0x27330
movl (%rax), %ecx
shrl $0x1f, %ecx
movq 0x8(%rax,%rcx,8), %r14
leaq 0x1900(%rip), %rsi      # 0x1c178
movl $0x8, %edx
movq %r14, %rdi
callq 0x4330
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r14, %rdi
callq 0x4330
movq %rax, %rdi
callq 0x4160
jmp 0x1a565
jmp 0x1a8cc
jmp 0x1a95f
movq %rax, %r14
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x1a91e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42d0
jmp 0x1a91e
movq %rax, %r14
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x1a962
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42d0
jmp 0x1a962
movq %rax, %r14
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x1ab50
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42d0
jmp 0x1ab50
jmp 0x1a980
movq %rax, %r14
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x1a93f
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x42d0
jmp 0x1a93f
movq %rax, %r14
movq 0xa8(%rsp), %rdi
cmpq %r13, %rdi
jne 0x1a994
jmp 0x1a9c4
jmp 0x1a9c1
jmp 0x1a9e2
jmp 0x1aa03
jmp 0x1ab06
movq %rax, %r14
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x1a983
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x42d0
jmp 0x1a983
movq %rax, %r14
leaq 0xb8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1a9c4
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x42d0
jmp 0x1a9c4
jmp 0x1a9c1
jmp 0x1a9e2
jmp 0x1aa03
jmp 0x1ab06
movq %rax, %r14
jmp 0x1ab26
movq %rax, %r14
jmp 0x1ab50
movq %rax, %r14
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x1a9e5
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x42d0
jmp 0x1a9e5
movq %rax, %r14
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x1aa06
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x42d0
jmp 0x1aa06
movq %rax, %r14
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x1ab09
movq 0x98(%rsp), %rsi
jmp 0x1aafc
jmp 0x1ab06
jmp 0x1ab06
movq %rax, %r14
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x1ab09
movq 0x18(%rsp), %rsi
jmp 0x1aafc
movq %rax, %r14
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x1aa7f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42d0
jmp 0x1aa7f
movq %rax, %r14
jmp 0x1aae8
movq %rax, %r14
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x1aab0
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x42d0
jmp 0x1aab0
movq %rax, %r14
jmp 0x1aacc
jmp 0x1ab06
movq %rax, %r14
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x1aacc
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x1aae8
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x1ab09
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x42d0
jmp 0x1ab09
movq %rax, %r14
movq 0xf8(%rsp), %rdi
testq %rdi, %rdi
je 0x1ab26
movq 0x108(%rsp), %rsi
subq %rdi, %rsi
callq 0x42d0
movq 0xd8(%rsp), %rdi
leaq 0xd8(%rsp), %r15
cmpq %r15, %rdi
je 0x1ab50
movq (%rdi), %rbx
movl $0x20, %esi
callq 0x42d0
movq %rbx, %rdi
cmpq %r15, %rbx
jne 0x1ab3b
movq %r14, %rdi
callq 0x4580