// File: /workspace/github_cpp_makefile_star2_O3/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 0xb6d63(%rip), %r14     # 0xbd360
movq 0x5e27c(%rip), %rax     # 0x64880
orq %r14, %rax
je 0x682b
movq 0xb6d54(%rip), %rsi     # 0xbd368
addq 0x5e275(%rip), %rsi     # 0x64890
movq 0x5e28e(%rip), %rdx     # 0x648b0
movq 0x5e2ff(%rip), %rcx     # 0x64928
movsbl 0x5e2e7(%rip), %r8d     # 0x64918
leaq 0x16cff(%rip), %rdi     # 0x1d337
xorl %eax, %eax
callq 0x3030
movb 0x5e430(%rip), %al      # 0x64a75
shrb $0x6, %al
cmpq $0x48, 0x5e218(%rip)    # 0x64868
sete %cl
andb %al, %cl
movq 0x5e214(%rip), %rax     # 0x64870
cmpq $0x50, %rax
setge %dl
andb %cl, %dl
leaq 0x62e84(%rip), %r15     # 0x694f0
cmpb $0x1, %dl
jne 0x66a0
xorl %ebx, %ebx
movsbl 0x49(%rbx,%r15), %edi
callq 0x3330
incq %rbx
cmpq $0x8, %rbx
jne 0x6673
movl $0x20, %edi
callq 0x3330
movl $0x15, 0x4(%rsp)
movl $0x49, %eax
jmp 0x66a8
movl $0xc, 0x4(%rsp)
leaq -0x1(%rax), %rcx
cmpq $0x1, %rax
je 0x66bd
cmpb $0x20, -0x1(%rax,%r15)
movq %rcx, %rax
je 0x66a8
movq %rcx, 0x5e1ac(%rip)     # 0x64870
incq %rcx
cmpq $0x2, %rcx
jl 0x6733
xorl %r12d, %r12d
leaq 0x1d399(%rip), %r13     # 0x23a70
movq 0x1d8aa(%rip), %rbp     # 0x23f88
movl $0x3a7f3fbf, %ebx       # imm = 0x3A7F3FBF
movzbl 0x1(%r12,%r15), %edi
cmpl $0xc0, %edi
jb 0x6707
addl $0xffffff40, %edi       # imm = 0xFFFFFF40
movq (%r13,%rdi,8), %rdi
movq (%rbp), %rsi
callq 0x32b0
jmp 0x6727
cmpb $0x1f, %dil
ja 0x6722
btq %rdi, %rbx
jb 0x6722
movl %edi, %eax
leaq 0x1d554(%rip), %rcx     # 0x23c70
movq (%rcx,%rax,8), %rdi
jmp 0x66fc
callq 0x3330
incq %r12
cmpq 0x5e13f(%rip), %r12     # 0x64870
jl 0x66e3
movl $0xa, %edi
callq 0x3330
cmpq $0x0, 0x5e13b(%rip)     # 0x64880
je 0x67f3
movl 0x62e2f(%rip), %ecx     # 0x69580
leaq 0x16bf0(%rip), %rdi     # 0x1d348
leaq 0x16bf2(%rip), %rdx     # 0x1d351
movl 0x4(%rsp), %esi
movl $0x20, %r8d
xorl %eax, %eax
callq 0x3030
movq 0x5e109(%rip), %r15     # 0x64880
cmpq $0x2, %r15
jl 0x67d9
movl $0x1, %r12d
movl $0x31000000, %ebp       # imm = 0x31000000
leaq 0x62df1(%rip), %r13     # 0x69580
leaq 0x16bc1(%rip), %rbx     # 0x1d357
movq -0x8(%r13,%r12,8), %rax
movq (%r13,%r12,8), %rsi
cmpq %rax, %rsi
je 0x67cb
leaq 0x1(%rax), %rcx
cmpq %rsi, %rcx
je 0x67c1
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 0x6796
movl $0xa, %edi
callq 0x3330
xorl %eax, %eax
movq %rax, 0x5e094(%rip)     # 0x64880
movq %rax, 0x5e085(%rip)     # 0x64878
cmpq $0x2, %r14
jne 0x682b
movq 0x5e090(%rip), %rax     # 0x64890
subq 0x5e081(%rip), %rax     # 0x64888
je 0x682b
movq 0x5e128(%rip), %rcx     # 0x64938
addq %rcx, %rax
leaq 0xa6a06(%rip), %rdx     # 0xad220
leaq (%rdx,%rax,8), %rdi
leaq (%rdx,%rcx,8), %rsi
addq $-0x8, %rsi
callq 0x64bc
movq 0x5e056(%rip), %rax     # 0x64888
movq %rax, 0x5e057(%rip)     # 0x64890
movq $0x0, 0x5e02c(%rip) # 0x64870
incq 0x5e065(%rip)           # 0x648b0
movq 0x1df5e(%rip), %rdi     # 0x247b0
callq 0x3390
testl %eax, %eax
je 0x686e
movl 0xb6b2f(%rip), %eax     # 0xbd390
leal 0x1(%rax), %ecx
movl %ecx, 0xb6b26(%rip)     # 0xbd390
testl %eax, %eax
jne 0x687d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x34, %edi
callq 0x58ff
movl $0x4, %edi
callq 0x3110
movl $0x270f, (%rax)         # imm = 0x270F
movq 0x1d6e2(%rip), %rsi     # 0x23f80
movq %rax, %rdi
xorl %edx, %edx
callq 0x33f0