// File: hanhwi[P]SimPoint/analysiscode/FVParser.cpp
// Function: FVParser::nextLine(std::__cxx11::list<FVParserToken, std::allocator<FVParserToken>>*)
bool FVParser::nextLine(list<FVParserToken> *result) {
    string line;
    const int BUF_SIZE = 1024 * 1024;
    char buffer[BUF_SIZE];
    buffer[0] = '\0';
    do {
        fgets(buffer, BUF_SIZE, input);
    } while ((! eof()) && ((strlen(buffer) == 0) || ('T' != buffer[0])));
    Utilities::check(strlen(buffer) != BUF_SIZE - 1,
            "FVParser::nextLine() lines are too long for buffer");

    if (eof()) { return false; }

#if (__GNUC__ >= 3)
    istringstream parser(buffer);
#else
    istrstream parser(buffer, strlen(buffer));
#endif

    char t;
    parser >> t;

    result->clear();

    char colon;
    int dimension;
    double value;
    while (parser >> colon >> dimension >> colon >> value) {
        result->push_back(FVParserToken(dimension, value));
    }

    if (result->size() > 0) {
        lineNumber++;
        return true;
    } else {
        return false;
    }
}

// Assembly:
subq $0x100298, %rsp         # imm = 0x100298
movq %rdi, 0x100288(%rsp)
movq %rsi, 0x100280(%rsp)
movq 0x100288(%rsp), %rax
movq %rax, 0x50(%rsp)
leaq 0x100260(%rsp), %rdi
callq 0x5540
movl $0x100000, 0x10025c(%rsp) # imm = 0x100000
movb $0x0, 0x250(%rsp)
movq 0x50(%rsp), %rax
movq (%rax), %rdx
leaq 0x250(%rsp), %rdi
movl $0x100000, %esi         # imm = 0x100000
callq 0x5610
jmp 0xe900
jmp 0xe902
movq 0x50(%rsp), %rdi
callq 0xeca0
movb %al, 0x4f(%rsp)
jmp 0xe912
movb 0x4f(%rsp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0x4e(%rsp)
jne 0xe95d
jmp 0xe923
leaq 0x250(%rsp), %rdi
callq 0x51b0
movq %rax, %rcx
movb $0x1, %al
cmpq $0x0, %rcx
movb %al, 0x4d(%rsp)
je 0xe955
movsbl 0x250(%rsp), %ecx
movl $0x54, %eax
cmpl %ecx, %eax
setne %al
movb %al, 0x4d(%rsp)
movb 0x4d(%rsp), %al
movb %al, 0x4e(%rsp)
movb 0x4e(%rsp), %al
testb $0x1, %al
jne 0xe8e4
leaq 0x250(%rsp), %rdi
callq 0x51b0
subq $0xfffff, %rax          # imm = 0xFFFFF
setne %al
movb %al, 0x3f(%rsp)
leaq 0x21f(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0x56a0
movq 0x40(%rsp), %rdx
leaq 0x24923(%rip), %rsi     # 0x332c4
leaq 0x220(%rsp), %rdi
callq 0x74e0
jmp 0xe9b0
movb 0x3f(%rsp), %al
movzbl %al, %edi
andl $0x1, %edi
leaq 0x220(%rsp), %rsi
callq 0x7480
jmp 0xe9c9
leaq 0x220(%rsp), %rdi
callq 0x5788
leaq 0x21f(%rsp), %rdi
callq 0x53e0
movq 0x50(%rsp), %rdi
callq 0xeca0
movb %al, 0x3e(%rsp)
jmp 0xe9f3
movb 0x3e(%rsp), %al
testb $0x1, %al
jne 0xe9fd
jmp 0xea77
movb $0x0, 0x100297(%rsp)
movl $0x1, 0x218(%rsp)
jmp 0xec62
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x248(%rsp)
movl %eax, 0x244(%rsp)
jmp 0xec80
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x248(%rsp)
movl %eax, 0x244(%rsp)
jmp 0xea65
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x248(%rsp)
movl %eax, 0x244(%rsp)
leaq 0x220(%rsp), %rdi
callq 0x5788
leaq 0x21f(%rsp), %rdi
callq 0x53e0
jmp 0xec80
leaq 0x77(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x56a0
movq 0x30(%rsp), %rdx
leaq 0x78(%rsp), %rdi
leaq 0x250(%rsp), %rsi
callq 0x74e0
jmp 0xea9f
leaq 0x98(%rsp), %rdi
leaq 0x78(%rsp), %rsi
movl $0x8, %edx
callq 0x5660
jmp 0xeab8
leaq 0x78(%rsp), %rdi
callq 0x5788
leaq 0x77(%rsp), %rdi
callq 0x53e0
leaq 0x98(%rsp), %rdi
leaq 0x76(%rsp), %rsi
callq 0x5510
jmp 0xeae0
movq 0x100280(%rsp), %rdi
callq 0xecc0
leaq 0x98(%rsp), %rdi
leaq 0x75(%rsp), %rsi
callq 0x5510
movq %rax, 0x28(%rsp)
jmp 0xeb06
movq 0x28(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x5230
movq %rax, 0x20(%rsp)
jmp 0xeb1c
movq 0x20(%rsp), %rdi
leaq 0x75(%rsp), %rsi
callq 0x5510
movq %rax, 0x18(%rsp)
jmp 0xeb32
movq 0x18(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x52e0
movq %rax, 0x10(%rsp)
jmp 0xeb48
movq 0x10(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x54a0
movb %al, 0xf(%rsp)
jmp 0xeb62
movb 0xf(%rsp), %al
testb $0x1, %al
jne 0xeb6f
jmp 0xec0c
movq 0x100280(%rsp), %rax
movq %rax, (%rsp)
movl 0x70(%rsp), %esi
movsd 0x68(%rsp), %xmm0
leaq 0x58(%rsp), %rdi
callq 0xed30
jmp 0xeb91
movq (%rsp), %rdi
leaq 0x58(%rsp), %rsi
callq 0xecf0
jmp 0xeba1
jmp 0xeaed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x248(%rsp)
movl %eax, 0x244(%rsp)
jmp 0xebda
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x248(%rsp)
movl %eax, 0x244(%rsp)
leaq 0x78(%rsp), %rdi
callq 0x5788
leaq 0x77(%rsp), %rdi
callq 0x53e0
jmp 0xec80
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x248(%rsp)
movl %eax, 0x244(%rsp)
leaq 0x98(%rsp), %rdi
callq 0x51e0
jmp 0xec80
movq 0x100280(%rsp), %rdi
callq 0xed60
cmpq $0x0, %rax
jbe 0xec42
movq 0x50(%rsp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movb $0x1, 0x100297(%rsp)
movl $0x1, 0x218(%rsp)
jmp 0xec55
movb $0x0, 0x100297(%rsp)
movl $0x1, 0x218(%rsp)
leaq 0x98(%rsp), %rdi
callq 0x51e0
leaq 0x100260(%rsp), %rdi
callq 0x5788
movb 0x100297(%rsp), %al
andb $0x1, %al
addq $0x100298, %rsp         # imm = 0x100298
retq
leaq 0x100260(%rsp), %rdi
callq 0x5788
movq 0x248(%rsp), %rdi
callq 0x5690
nopw (%rax,%rax)