// File: FreeSlave[P]def2fgd/src/entreader.cpp
// Function: descriptionLines(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
std::string descriptionLines(const std::string& description)
{
    std::string toReturn;
    std::istringstream stream(description);

    std::string line;
    while(getline(stream, line))
    {
        bool sectionName = true;
        if (line.size() > 8) {
            for (size_t i=0; i<8; ++i) {
                sectionName = sectionName && line[i] == '-';
            }
        }

        if (sectionName) { //probably something like -------- KEYS --------. Just skip.
            continue;
        }

        if (toReturn.empty()) {
            toReturn = withoutQuotes(line);
        } else {
            toReturn += "\\n\\n";
            toReturn += withoutQuotes(line);
        }
    }

    return toReturn;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x280, %rsp            # imm = 0x280
movq %rdi, -0x268(%rbp)
movq %rdi, %rax
movq %rax, -0x260(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movb $0x0, -0x11(%rbp)
callq 0x44c0
movq -0x10(%rbp), %rsi
leaq -0x198(%rbp), %rdi
movl $0x8, %edx
callq 0x45b0
jmp 0xe844
leaq -0x1c8(%rbp), %rdi
callq 0x44c0
leaq -0x198(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x40b0
movq %rax, -0x270(%rbp)
jmp 0xe86c
movq -0x270(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x4450
movb %al, -0x271(%rbp)
jmp 0xe88a
movb -0x271(%rbp), %al
testb $0x1, %al
jne 0xe899
jmp 0xeab4
movb $0x1, -0x1c9(%rbp)
leaq -0x1c8(%rbp), %rdi
callq 0x4240
cmpq $0x8, %rax
jbe 0xe964
movq $0x0, -0x1d8(%rbp)
cmpq $0x8, -0x1d8(%rbp)
jae 0xe962
xorl %eax, %eax
testb $0x1, -0x1c9(%rbp)
movb %al, -0x272(%rbp)
je 0xe912
movq -0x1d8(%rbp), %rsi
leaq -0x1c8(%rbp), %rdi
callq 0x4660
movq %rax, -0x280(%rbp)
jmp 0xe8fc
movq -0x280(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
sete %al
movb %al, -0x272(%rbp)
movb -0x272(%rbp), %al
andb $0x1, %al
movb %al, -0x1c9(%rbp)
movq -0x1d8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x1d8(%rbp)
jmp 0xe8c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
jmp 0xeb0e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
jmp 0xead8
jmp 0xe964
testb $0x1, -0x1c9(%rbp)
je 0xe972
jmp 0xe850
movq -0x268(%rbp), %rdi
callq 0x45a0
testb $0x1, %al
jne 0xe984
jmp 0xea01
leaq -0x218(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x4130
jmp 0xe999
leaq -0x1f8(%rbp), %rdi
leaq -0x218(%rbp), %rsi
callq 0xde40
jmp 0xe9ae
movq -0x268(%rbp), %rdi
leaq -0x1f8(%rbp), %rsi
callq 0x4420
leaq -0x1f8(%rbp), %rdi
callq 0x41f0
leaq -0x218(%rbp), %rdi
callq 0x41f0
jmp 0xeaaf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x218(%rbp), %rdi
callq 0x41f0
jmp 0xead8
movq -0x268(%rbp), %rdi
leaq 0x6e8c(%rip), %rsi      # 0x1589b
callq 0x4300
jmp 0xea16
leaq -0x258(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x4130
jmp 0xea2b
leaq -0x238(%rbp), %rdi
leaq -0x258(%rbp), %rsi
callq 0xde40
jmp 0xea40
movq -0x268(%rbp), %rdi
leaq -0x238(%rbp), %rsi
callq 0x4460
jmp 0xea55
leaq -0x238(%rbp), %rdi
callq 0x41f0
leaq -0x258(%rbp), %rdi
callq 0x41f0
jmp 0xeaaf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
jmp 0xeaa1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x41f0
leaq -0x258(%rbp), %rdi
callq 0x41f0
jmp 0xead8
jmp 0xe850
movb $0x1, -0x11(%rbp)
leaq -0x1c8(%rbp), %rdi
callq 0x41f0
leaq -0x198(%rbp), %rdi
callq 0x4180
testb $0x1, -0x11(%rbp)
jne 0xeafe
jmp 0xeaf2
leaq -0x1c8(%rbp), %rdi
callq 0x41f0
leaq -0x198(%rbp), %rdi
callq 0x4180
jmp 0xeb0e
movq -0x268(%rbp), %rdi
callq 0x41f0
movq -0x260(%rbp), %rax
addq $0x280, %rsp            # imm = 0x280
popq %rbp
retq
movq -0x268(%rbp), %rdi
callq 0x41f0
movq -0x1a0(%rbp), %rdi
callq 0x45f0
nopw %cs:(%rax,%rax)