// File: /workspace/github_cpp_makefile_star2_O1/besm6[P]pascal-re/pascompl.cc
// Function: endOfLine()
void endOfLine()
{
    int64_t err, errPos, prevPos, listMode,
    startPos, lastErr;

    listMode = PASINFOR.listMode;
    if ((listMode != 0) or (errsInLine != 0)) {
        printf(" %05lo%5ld%3ld%c", (lineStartOffset + PASINFOR.startOffset),
               lineCnt, lineNesting, commentModeCH);
        startPos = 12;
        if (optSflags.m.has(S4)
            and (maxLineLen == 72)
            and (linePos >= 80)) {
            for (err = 73; err <= 80; ++err)
                putchar(lineBufBase[err]);
            putchar(' ');
            linePos = 73;
            startPos += 9;
        }; /* 1106 */
        do
            linePos = linePos-1;
        while ((lineBufBase[linePos]  == ' ') and (linePos != 0));
        for (err = 1; err <= linePos; ++err) {
            kputc(lineBufBase[err]);
        };
        putchar('\n');
        if (errsInLine != 0)  {
            printf("%*s %*c0", int(startPos), "^^^^^", int(errMapBase[0]), ' ');
            lastErr = errsInLine - 1;
            for (err = 1; err <= lastErr; ++err) {
                errPos = errMapBase[err];
                prevPos = errMapBase[err-1];
                if (errPos != prevPos) {
                    if (prevPos + 1 != errPos)
                        printf("%*c", int(errPos-prevPos-1), ' ');
                    putchar(char(err + 48));
                }
            }
            putchar('\n');
            errsInLine = 0;
            prevErrPos = 0;
        }
    } /* 1160 */
    if ((listMode == 2) and (moduleOffset != lineStartOffset)) {
        OBPROG(objBuffer[objBufIdx - moduleOffset + lineStartOffset],
               objBuffer[objBufIdx-1]);
    } /* 1174 */
    lineStartOffset = moduleOffset;
    linePos = 0;
    lineCnt = lineCnt + 1;
    // One EOF is OK when the file doesn't have any extra characters after "END."
    static int eofs;
    if (feof(pasinput) && eofs++) {
        error(errEOFEncountered);
        throw 9999;
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq 0xb6e9b(%rip), %r14     # 0xbd370
movq 0x5e3b4(%rip), %rax     # 0x64890
orq %r14, %rax
je 0x66cd
movq 0xb6e8c(%rip), %rsi     # 0xbd378
addq 0x5e3ad(%rip), %rsi     # 0x648a0
movq 0x5e3c6(%rip), %rdx     # 0x648c0
movq 0x5e437(%rip), %rcx     # 0x64938
movsbl 0x5e41f(%rip), %r8d     # 0x64928
leaq 0x16d67(%rip), %rdi     # 0x1d277
xorl %eax, %eax
callq 0x3030
testb $0x40, 0x5e567(%rip)    # 0x64a85
movl $0xc, %edx
je 0x6570
cmpq $0x48, 0x5e34b(%rip)    # 0x64878
jne 0x6570
cmpq $0x50, 0x5e349(%rip)    # 0x64880
jl 0x6570
xorl %ebx, %ebx
leaq 0x62fbe(%rip), %r15     # 0x69500
movsbl 0x49(%rbx,%r15), %edi
callq 0x3330
incq %rbx
cmpq $0x8, %rbx
jne 0x6542
movl $0x20, %edi
callq 0x3330
movq $0x49, 0x5e315(%rip) # 0x64880
movl $0x15, %edx
movq 0x5e309(%rip), %rcx     # 0x64880
leaq 0x62f82(%rip), %r15     # 0x69500
leaq -0x1(%rcx), %rax
cmpq $0x1, %rcx
je 0x6593
cmpb $0x20, -0x1(%rcx,%r15)
movq %rax, %rcx
je 0x657e
movl %edx, 0x4(%rsp)
movq %rax, 0x5e2e2(%rip)     # 0x64880
incq %rax
cmpq $0x2, %rax
jl 0x660d
xorl %r12d, %r12d
leaq 0x1d4bf(%rip), %r13     # 0x23a70
movq 0x1d9d0(%rip), %rbp     # 0x23f88
movl $0x3a7f3fbf, %ebx       # imm = 0x3A7F3FBF
movzbl 0x1(%r12,%r15), %edi
cmpl $0xc0, %edi
jb 0x65e1
addl $0xffffff40, %edi       # imm = 0xFFFFFF40
movq (%r13,%rdi,8), %rdi
movq (%rbp), %rsi
callq 0x32b0
jmp 0x6601
cmpb $0x1f, %dil
ja 0x65fc
btq %rdi, %rbx
jb 0x65fc
movl %edi, %eax
leaq 0x1d67a(%rip), %rcx     # 0x23c70
movq (%rcx,%rax,8), %rdi
jmp 0x65d6
callq 0x3330
incq %r12
cmpq 0x5e275(%rip), %r12     # 0x64880
jl 0x65bd
movl $0xa, %edi
callq 0x3330
cmpq $0x0, 0x5e271(%rip)     # 0x64890
je 0x66cd
movl 0x62f65(%rip), %ecx     # 0x69590
leaq 0x16c56(%rip), %rdi     # 0x1d288
leaq 0x16c58(%rip), %rdx     # 0x1d291
movl 0x4(%rsp), %esi
movl $0x20, %r8d
xorl %eax, %eax
callq 0x3030
movq 0x5e23f(%rip), %r15     # 0x64890
cmpq $0x2, %r15
jl 0x66b3
movl $0x1, %r12d
movl $0x31000000, %ebp       # imm = 0x31000000
leaq 0x62f27(%rip), %r13     # 0x69590
leaq 0x16c27(%rip), %rbx     # 0x1d297
movq -0x8(%r13,%r12,8), %rax
movq (%r13,%r12,8), %rsi
cmpq %rax, %rsi
je 0x66a5
leaq 0x1(%rax), %rcx
cmpq %rsi, %rcx
je 0x669b
notl %eax
addl %eax, %esi
movq %rbx, %rdi
movl $0x20, %edx
xorl %eax, %eax
callq 0x3030
movl %ebp, %edi
sarl $0x18, %edi
callq 0x3330
incq %r12
addl $0x1000000, %ebp        # imm = 0x1000000
cmpq %r12, %r15
jne 0x6670
movl $0xa, %edi
callq 0x3330
xorl %eax, %eax
movq %rax, 0x5e1ca(%rip)     # 0x64890
movq %rax, 0x5e1bb(%rip)     # 0x64888
cmpq $0x2, %r14
jne 0x6705
movq 0x5e1c6(%rip), %rax     # 0x648a0
subq 0x5e1b7(%rip), %rax     # 0x64898
je 0x6705
movq 0x5e25e(%rip), %rcx     # 0x64948
addq %rcx, %rax
leaq 0xa6b3c(%rip), %rdx     # 0xad230
leaq (%rdx,%rax,8), %rdi
leaq (%rdx,%rcx,8), %rsi
addq $-0x8, %rsi
callq 0x6438
movq 0x5e18c(%rip), %rax     # 0x64898
movq %rax, 0x5e18d(%rip)     # 0x648a0
movq $0x0, 0x5e162(%rip) # 0x64880
incq 0x5e19b(%rip)           # 0x648c0
movq 0x1e094(%rip), %rdi     # 0x247c0
callq 0x33a0
testl %eax, %eax
je 0x6748
movl 0xb6c65(%rip), %eax     # 0xbd3a0
leal 0x1(%rax), %ecx
movl %ecx, 0xb6c5c(%rip)     # 0xbd3a0
testl %eax, %eax
jne 0x6757
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x34, %edi
callq 0x589e
movl $0x4, %edi
callq 0x3110
movl $0x270f, (%rax)         # imm = 0x270F
movq 0x1d808(%rip), %rsi     # 0x23f80
movq %rax, %rdi
xorl %edx, %edx
callq 0x3400