// File: /workspace/github_cpp_makefile_star2_O1/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, %r13
leaq 0x18(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x5c42(%rip), %rsi      # 0x1f74b
leaq 0x5c61(%rip), %rdx      # 0x1f771
leaq 0x8(%rsp), %rdi
callq 0x6086
movq %r14, 0xa8(%rsp)
testq %r14, %r14
je 0x1a771
movq 0x8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x19b42
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42d0
leaq 0xd8(%rsp), %rax
movq %rax, 0x8(%rax)
movq %rax, (%rax)
movq $0x0, 0x10(%rax)
movq 0xa8(%rsp), %rcx
movq 0x8(%rcx), %rax
subq (%rcx), %rax
shrq $0x3, %rax
imull $0xaaaaaaab, %eax, %esi # imm = 0xAAAAAAAB
leaq 0xf0(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x6aee
xorpd %xmm0, %xmm0
movsd %xmm0, 0xd0(%rsp)
xorl %r15d, %r15d
movq %r13, 0x108(%rsp)
movq %r13, %rdi
leaq 0xd8(%rsp), %rsi
callq 0x8472
movq 0xa8(%rsp), %rdx
movq 0x8(%rdx), %rcx
subq (%rdx), %rcx
shrq $0x3, %rcx
imull $0xaaaaaaab, %ecx, %ebp # imm = 0xAAAAAAAB
testb %al, %al
je 0x19f57
movl 0x8(%r13), %esi
leal -0x1(%rsi), %eax
cmpl %ebp, %eax
jae 0x1a60c
movq 0xd8(%rsp), %rbp
leaq 0xd8(%rsp), %rcx
xorpd %xmm1, %xmm1
cmpq %rcx, %rbp
je 0x19c19
movq %rbp, %rcx
leaq 0xd8(%rsp), %rsi
addsd 0x18(%rcx), %xmm1
movl 0x10(%rcx), %edx
cmpl %r15d, %edx
cmovgl %edx, %r15d
movq (%rcx), %rcx
cmpq %rsi, %rcx
jne 0x19c00
jmp 0x19c21
leaq 0xd8(%rsp), %rsi
movl %eax, %r12d
movq 0xf0(%rsp), %rax
movsd %xmm1, (%rax,%r12,8)
movsd 0xd0(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0xd0(%rsp)
cmpq %rsi, %rbp
je 0x19b9c
movq 0xa8(%rsp), %rsi
movsd %xmm1, 0x110(%rsp)
movl 0x10(%rbp), %ebx
movq (%rsi), %rax
movq 0x8(%rax), %r13
subq (%rax), %r13
shrq $0x3, %r13
testl %ebx, %ebx
jle 0x19c80
cmpl %r13d, %ebx
jle 0x19f0a
movq 0x8(%rax), %rsi
subq (%rax), %rsi
shrq $0x3, %rsi
leaq 0x68(%rsp), %r14
movq %r14, %rdi
callq 0x194bc
movl $0x27, %r8d
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x5b1b(%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 0x19cd9
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x19ce1
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 0x5aea(%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 0x19d32
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x19d3a
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(%rbp), %esi
leaq 0x88(%rsp), %rdi
callq 0x194bc
movq 0x28(%rsp), %rcx
movl $0xf, %esi
leaq 0x38(%rsp), %rax
cmpq %rax, %rcx
je 0x19d7b
movq 0x38(%rsp), %rsi
movq 0x30(%rsp), %r8
movq 0x90(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x19db5
movl $0xf, %esi
leaq 0x98(%rsp), %rdi
cmpq %rdi, 0x88(%rsp)
je 0x19db0
movq 0x98(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x19dc9
movq 0x88(%rsp), %rsi
leaq 0x28(%rsp), %rdi
callq 0x4110
jmp 0x19dda
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 0x19dff
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x19e07
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 %r13d, %ebx
jg 0x1a57d
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %r13
cmpq %r13, %rdi
je 0x19e49
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x19e6e
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x19e8a
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x19ea6
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x19ec2
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x42d0
movl 0x10(%rbp), %ebx
movq %r13, 0x8(%rsp)
leaq 0x8(%rsp), %rdi
leaq 0x593b(%rip), %rsi      # 0x1f811
leaq 0x5959(%rip), %rdx      # 0x1f836
callq 0x6086
testl %ebx, %ebx
jle 0x1a5c3
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x19f01
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42d0
movsd 0x110(%rsp), %xmm1
movsd 0x18(%rbp), %xmm0
divsd %xmm1, %xmm0
movq 0xa8(%rsp), %rsi
movq (%rsi), %rax
leaq (%r12,%r12,2), %rcx
movslq 0x10(%rbp), %rdx
movq (%rax,%rcx,8), %rax
movsd %xmm0, -0x8(%rax,%rdx,8)
movq (%rbp), %rbp
leaq 0xd8(%rsp), %rax
cmpq %rax, %rbp
jne 0x19c62
leaq 0x18(%rsp), %rbx
movq 0x108(%rsp), %r13
jmp 0x19b9c
movl 0x8(%r13), %r12d
leaq 0x88(%rsp), %rdi
movl %ebp, %esi
callq 0x194bc
leaq 0x58c6(%rip), %rcx      # 0x1f837
leaq 0x88(%rsp), %rdi
movl $0x63, %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 0x19fb0
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x19fb8
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 0x58c0(%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 0x1a008
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x1a010
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)
movl 0x8(%r13), %esi
leaq 0xb0(%rsp), %rdi
callq 0x194bc
movq 0x48(%rsp), %rcx
movq 0x50(%rsp), %r8
movq 0xb8(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %esi
leaq 0x58(%rsp), %rdi
cmpq %rdi, %rcx
movq 0xa8(%rsp), %r14
je 0x1a06b
movq 0x58(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x1a090
leaq 0xc0(%rsp), %rdi
movl $0xf, %esi
cmpq %rdi, -0x10(%rdi)
je 0x1a08b
movq 0xc0(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x1a0a4
movq 0xb0(%rsp), %rsi
leaq 0x48(%rsp), %rdi
callq 0x4110
jmp 0x1a0b5
leaq 0xb0(%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 0x1a0da
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x1a0e2
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 0x2164(%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 0x1a133
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x1a13b
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, %r12d
jne 0x1a7b5
movq 0x8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x1a173
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x1a18f
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x42d0
leaq 0xc0(%rsp), %r12
movq -0x10(%r12), %rdi
cmpq %r12, %rdi
je 0x1a1b1
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x1a1cd
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x1a1e9
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x1a20e
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x42d0
movq (%r14), %rax
movq 0x8(%rax), %r13
subq (%rax), %r13
movq 0x8(%rax), %rsi
subq (%rax), %rsi
shrq $0x3, %rsi
leaq 0x88(%rsp), %rdi
callq 0x194bc
leaq 0x5671(%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 0x1a276
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x1a27e
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 0x55fa(%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 0x1a2ce
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x1a2d6
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 0xb0(%rsp), %rdi
movl %r15d, %esi
callq 0x194bc
movq 0x48(%rsp), %rcx
movq 0x50(%rsp), %r8
movq 0xb8(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %esi
leaq 0x58(%rsp), %rdi
cmpq %rdi, %rcx
je 0x1a328
movq 0x58(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x1a349
movl $0xf, %esi
cmpq %r12, 0xb0(%rsp)
je 0x1a344
movq 0xc0(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x1a35d
movq 0xb0(%rsp), %rsi
leaq 0x48(%rsp), %rdi
callq 0x4110
jmp 0x1a36e
leaq 0xb0(%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 0x1a393
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x1a39b
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 0x1eab(%rip), %rsi      # 0x1c26a
leaq 0x28(%rsp), %rdi
callq 0x45d0
shrq $0x3, %r13
leaq 0x18(%rsp), %rsi
movq %rsi, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1a3f5
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x1a3fd
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
cmpl %r13d, %r15d
jne 0x1a7f9
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
movq 0xa8(%rsp), %rbx
je 0x1a442
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x1a45e
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0xb0(%rsp), %rdi
cmpq %r12, %rdi
je 0x1a47b
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x1a497
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x1a4b3
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x1a4d8
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x8(%rbx), %rax
subq (%rbx), %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rax, %rdx
testl %edx, %edx
movsd 0xd0(%rsp), %xmm1
je 0x1a524
movq 0xf0(%rsp), %rax
movq 0x18(%rbx), %rcx
movl %edx, %edx
xorl %esi, %esi
movsd (%rax,%rsi,8), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, (%rcx,%rsi,8)
incq %rsi
cmpq %rsi, %rdx
jne 0x1a50e
movq 0xf0(%rsp), %rdi
testq %rdi, %rdi
je 0x1a541
movq 0x100(%rsp), %rsi
subq %rdi, %rsi
callq 0x42d0
movq 0xd8(%rsp), %rdi
leaq 0xd8(%rsp), %r14
cmpq %r14, %rdi
je 0x1a56b
movq (%rdi), %rbx
movl $0x20, %esi
callq 0x42d0
movq %rbx, %rdi
cmpq %r14, %rbx
jne 0x1a556
addq $0x118, %rsp            # imm = 0x118
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xcdac(%rip), %rax      # 0x27330
movl (%rax), %ecx
shrl $0x1f, %ecx
movq 0x8(%rax,%rcx,8), %r14
leaq 0x1be3(%rip), %rsi      # 0x1c178
movl $0x8, %edx
movq %r14, %rdi
leaq 0x18(%rsp), %rbx
callq 0x4330
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r14, %rdi
callq 0x4330
movq %rax, %rdi
callq 0x4160
jmp 0x1a602
leaq 0xcd66(%rip), %rax      # 0x27330
movl (%rax), %ecx
shrl $0x1f, %ecx
movq 0x8(%rax,%rcx,8), %r14
leaq 0x1b9d(%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
callq 0x194bc
leaq 0x5152(%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 0x1a65f
movupd (%rcx), %xmm0
leaq 0x78(%rsp), %rdx
movupd %xmm0, (%rdx)
jmp 0x1a66c
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 0x5127(%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 0x1a6bc
movupd (%rcx), %xmm0
leaq 0x58(%rsp), %rdx
movupd %xmm0, (%rdx)
jmp 0x1a6c9
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 0xa8(%rsp), %rcx
movq 0x8(%rcx), %rax
subq (%rcx), %rax
shrq $0x3, %rax
imull $0xaaaaaaab, %eax, %esi # imm = 0xAAAAAAAB
leaq 0xb0(%rsp), %rdi
callq 0x194bc
movq 0x48(%rsp), %rcx
movq 0x50(%rsp), %r8
movq 0xb8(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %esi
leaq 0x58(%rsp), %rdi
cmpq %rdi, %rcx
je 0x1a731
movq 0x58(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x1a75a
leaq 0xc0(%rsp), %rdi
movl $0xf, %esi
cmpq %rdi, -0x10(%rdi)
je 0x1a751
movq 0xc0(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x1a83d
movq 0xb0(%rsp), %rsi
leaq 0x48(%rsp), %rdi
callq 0x4110
jmp 0x1a84e
leaq 0xcbb8(%rip), %rax      # 0x27330
movl (%rax), %ecx
shrl $0x1f, %ecx
movq 0x8(%rax,%rcx,8), %rbx
leaq 0x19ef(%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 0x1a602
leaq 0xcb74(%rip), %rax      # 0x27330
movl (%rax), %ecx
shrl $0x1f, %ecx
movq 0x8(%rax,%rcx,8), %r14
leaq 0x19ab(%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 0x1a602
leaq 0xcb30(%rip), %rax      # 0x27330
movl (%rax), %ecx
shrl $0x1f, %ecx
movq 0x8(%rax,%rcx,8), %r14
leaq 0x1967(%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 0x1a602
leaq 0xb0(%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 0x1a873
movupd (%rcx), %xmm0
leaq 0x38(%rsp), %rdx
movupd %xmm0, (%rdx)
jmp 0x1a880
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 0x19c6(%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 0x1a8d6
movupd (%rcx), %xmm0
leaq 0x18(%rsp), %rdx
movupd %xmm0, (%rdx)
jmp 0x1a8e3
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 0xca2e(%rip), %rax      # 0x27330
movl (%rax), %ecx
shrl $0x1f, %ecx
movq 0x8(%rax,%rcx,8), %r14
leaq 0x1865(%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 0x1a602
jmp 0x1a967
jmp 0x1a9fa
movq %rax, %r14
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x1a9b9
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42d0
jmp 0x1a9b9
movq %rax, %r14
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x1a9fd
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42d0
jmp 0x1a9fd
movq %rax, %r14
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x1abdb
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42d0
jmp 0x1abdb
jmp 0x1aa1b
movq %rax, %r14
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x1a9da
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x42d0
jmp 0x1a9da
movq %rax, %r14
movq 0xb0(%rsp), %rdi
cmpq %r12, %rdi
jne 0x1aa2f
jmp 0x1aa5f
jmp 0x1aa5c
jmp 0x1aa7d
jmp 0x1aa9e
jmp 0x1ab38
movq %rax, %r14
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x1aa1e
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x42d0
jmp 0x1aa1e
movq %rax, %r14
leaq 0xc0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1aa5f
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x42d0
jmp 0x1aa5f
jmp 0x1aa5c
jmp 0x1aa7d
jmp 0x1aa9e
jmp 0x1ab38
movq %rax, %r14
jmp 0x1abb1
movq %rax, %r14
jmp 0x1abdb
movq %rax, %r14
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x1aa80
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x42d0
jmp 0x1aa80
movq %rax, %r14
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x1aaa1
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x42d0
jmp 0x1aaa1
movq %rax, %r14
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x1ab94
movq 0x98(%rsp), %rsi
jmp 0x1ab8c
jmp 0x1ab38
jmp 0x1ab38
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x1ab94
movq 0x18(%rsp), %rsi
jmp 0x1ab8c
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x1ab05
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42d0
jmp 0x1ab05
movq %rax, %r14
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x1ab40
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x42d0
jmp 0x1ab40
movq %rax, %r14
jmp 0x1ab5c
jmp 0x1ab38
movq %rax, %r14
jmp 0x1ab78
movq %rax, %r14
jmp 0x1ab94
movq %rax, %r14
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x1ab5c
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x1ab78
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x1ab94
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x42d0
movq 0xf0(%rsp), %rdi
testq %rdi, %rdi
je 0x1abb1
movq 0x100(%rsp), %rsi
subq %rdi, %rsi
callq 0x42d0
movq 0xd8(%rsp), %rdi
leaq 0xd8(%rsp), %r15
cmpq %r15, %rdi
je 0x1abdb
movq (%rdi), %rbx
movl $0x20, %esi
callq 0x42d0
movq %rbx, %rdi
cmpq %r15, %rbx
jne 0x1abc6
movq %r14, %rdi
callq 0x4580
nop