// File: /workspace/github_cpp_makefile_star2_O2/besm6[P]pascal-re/pascompl.cc
// Function: ParseData::ParseData()
ParseData() {
        dsize = FcstCnt;
        inSymbol();
        setcount = 0;
/*(loop)*/
        do { /* 16530 */
            inSymbol();
            setup(boundary);
            if (SY != IDENT) {
                if (SY == ENDSY)
                    break;
                error(errNoIdent);
                curExpr = uVarPtr;
            } else /* 16543 */ {
                if (hashTravPtr == NULL) {
L16545:             error(errNotDefined);
                    curExpr = uVarPtr;
                    inSymbol();
                } else {
                    if (hashTravPtr->cl == VARID) {
                        parseLval();
                    } else goto L16545;
                }
            } /* 16557 */
            putLeft = true;
            objBufIdx = 1;
            (void) formOperator(ADDRTOR9);
            if (objBufIdx != 1)
                error(errVarTooComplex);
            l4var7z.ii = leftInsn & 0777700000000L;
            l4var3z.i = FcstCnt;
            l4var4z.i = 0;
            l4var9z.i = 0;
            do { /* 16574 */
                expression();
                (void) formOperator(LITINSN);
                l4var8z = curVal;
                if (SY == COLON) {
                    inSymbol();
                    l4var5z = curToken;
                    if (SY != INTCONST) {
                        error(62); /* errIntegerNeeded */
                        l4var5z.i = 0;
                    } else
                        inSymbol();
                } else
                    l4var5z.i = 1;
                if (l4var5z.i != 1) {
                    if (l4var4z.i != 0)
                        P16432(1);
                    l4var4z.i = 1;
                    P16432(l4var5z.i);
                } else {
                    l4var4z.i = l4var4z.i + 1;
                    if (SY == COMMA) {
                        curVal = l4var8z;
                        toFCST();
                    } else {
                        if (l4var4z.i != 1) {
                            curVal = l4var8z;
                            toFCST();
                        }
                        P16432(1);
                    }
                } /* 16641 */
            } while (SY == COMMA);
            rollup(boundary);
        } while (SY == SEMICOLON); /* 16645 */
        if (SY != ENDSY)
            error(errBadSymbol);
        for (size_t s = 0; s < F.size(); ++s) FCST.push_back(F[s].b);
        int92z = FcstCnt - dsize;
        FcstCnt = dsize;
        int93z = setcount;
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x808, %rsp            # imm = 0x808
movq %rdi, %rbx
andq $0x0, 0x58(%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x48(%rdi)
movq 0x4ea0b(%rip), %rax     # 0x63830
movq %rax, (%rdi)
leaq 0x698(%rsp), %rdi
callq 0x6316
movabsq $-0x1000000000000, %rbp # imm = 0xFFFF000000000000
movabsq $0xd00000000000, %r14   # imm = 0xD00000000000
movabsq $0x1ffffffffff, %r13    # imm = 0x1FFFFFFFFFF
andq $0x0, 0x8(%rbx)
leaq 0x10(%rbx), %rax
movq %rax, (%rsp)
leaq 0x18(%rbx), %r15
pushq $0x11
popq %r12
leaq 0x528(%rsp), %rdi
callq 0x6316
movq 0xe3f4(%rip), %rax      # 0x23270
leaq 0xe93d(%rip), %rcx      # 0x237c0
leaq (%rcx,%rax,8), %rax
movq %rax, 0x28(%rbx)
movl 0x4e98b(%rip), %eax     # 0x6381c
testl %eax, %eax
je 0x14eb6
cmpl $0x27, %eax
je 0x150c1
pushq $0x3
popq %rdi
callq 0x4f2c
movq 0x4ebeb(%rip), %rax     # 0x63a98
movq %rax, 0x4ebec(%rip)     # 0x63aa0
jmp 0x14ef2
movq 0x4eae3(%rip), %rax     # 0x639a0
testq %rax, %rax
je 0x14ecf
cmpl $0x3, 0x20(%rax)
jne 0x14ecf
callq 0xcda9
jmp 0x14ef2
pushq $0xb
popq %rdi
callq 0x4f2c
movq 0x4ebba(%rip), %rax     # 0x63a98
movq %rax, 0x4ebbb(%rip)     # 0x63aa0
leaq 0x3b8(%rsp), %rdi
callq 0x6316
movb $0x1, 0x4ea7b(%rip)     # 0x63974
movq $0x1, 0x4ea34(%rip) # 0x63938
leaq 0x70(%rsp), %rdi
pushq $0x5
popq %rsi
callq 0xaa9a
addq $-0x8, 0xa74a7(%rip)    # 0xbc3c0
cmpq $0x1, 0x4ea17(%rip)     # 0x63938
je 0x14f2b
pushq $0x30
popq %rdi
callq 0x4f2c
movq 0x4eb06(%rip), %rax     # 0x63a38
movabsq $0xfff000000, %rcx      # imm = 0xFFF000000
andq %rcx, %rax
movq %rax, 0x30(%rbx)
movq 0x4e8e6(%rip), %rsi     # 0x63830
movq (%rsp), %rdi
callq 0x381c
movq 0x18(%rbx), %rax
andq %rbp, %rax
orq %r14, %rax
movq %rax, 0x18(%rbx)
movq 0x40(%rbx), %rax
andq %rbp, %rax
orq %r14, %rax
movq %rax, 0x40(%rbx)
callq 0xd048
leaq 0x8(%rsp), %rdi
movl %r12d, %esi
callq 0xaa9a
addq $-0x8, 0xa7437(%rip)    # 0xbc3c0
movq 0x4eaa0(%rip), %rax     # 0x63a30
movq %rax, 0x38(%rbx)
cmpl $0x12, 0x4e881(%rip)    # 0x6381c
jne 0x14fd1
leaq 0x248(%rsp), %rdi
callq 0x6316
movq 0x4ea77(%rip), %rax     # 0x63a28
movq %rax, 0x20(%rbx)
cmpl $0x1, 0x4e860(%rip)     # 0x6381c
jne 0x14fe1
leaq 0xd8(%rsp), %rdi
callq 0x6316
movq 0x20(%rbx), %rsi
jmp 0x14ff7
movq 0x20(%rbx), %rax
andq %rbp, %rax
leaq (%r14,%rax), %rsi
incq %rsi
jmp 0x14ff3
pushq $0x3e
popq %rdi
callq 0x4f2c
movq 0x20(%rbx), %rsi
andq %rbp, %rsi
orq %r14, %rsi
movq %rsi, 0x20(%rbx)
movq %rsi, %rcx
andq %r13, %rcx
movq (%r15), %rax
cmpq $0x1, %rcx
jne 0x15037
shlq $0x17, %rax
sarq $0x17, %rax
incq %rax
movq %r15, %rdi
movq %rax, %rsi
callq 0x381c
cmpl $0xe, 0x4e7f9(%rip)     # 0x6381c
jne 0x15065
movq 0x38(%rbx), %rax
movq %rax, 0x4ea00(%rip)     # 0x63a30
callq 0x5316
jmp 0x1508f
testq %r13, %rax
je 0x1504f
movq %rbx, %rdi
pushq $0x1
popq %rsi
callq 0x1686c
movq 0x18(%rbx), %rax
movq 0x20(%rbx), %rsi
andq %rbp, %rax
addq %r14, %rax
incq %rax
movq %rax, (%r15)
shlq $0x17, %rsi
sarq $0x17, %rsi
jmp 0x15087
movq (%r15), %rax
andq %r13, %rax
pushq $0x1
popq %rsi
cmpq $0x1, %rax
je 0x15087
movq 0x38(%rbx), %rax
movq %rax, 0x4e9b1(%rip)     # 0x63a30
callq 0x5316
pushq $0x1
popq %rsi
movq %rbx, %rdi
callq 0x1686c
cmpl $0xe, 0x4e786(%rip)     # 0x6381c
je 0x14f6f
movq 0x28(%rbx), %rdi
callq 0x3981
movl 0x4e771(%rip), %eax     # 0x6381c
cmpl $0xf, %eax
je 0x14e68
cmpl $0x27, %eax
je 0x150c1
pushq $0xc
popq %rdi
callq 0x4f2c
xorl %r15d, %r15d
leaq 0xa7265(%rip), %r14     # 0xbc330
xorl %r12d, %r12d
movq 0x48(%rbx), %rsi
movq 0x50(%rbx), %rax
subq %rsi, %rax
sarq $0x3, %rax
cmpq %rax, %r12
jae 0x150f6
addq %r15, %rsi
movq %r14, %rdi
callq 0x12c32
incq %r12
addq $0x8, %r15
jmp 0x150ce
movq 0x4e733(%rip), %rax     # 0x63830
movq (%rbx), %rcx
subq %rcx, %rax
movq %rax, 0x4e836(%rip)     # 0x63940
movq %rcx, 0x4e71f(%rip)     # 0x63830
movq 0x8(%rbx), %rax
movq %rax, 0x4e82c(%rip)     # 0x63948
addq $0x808, %rsp            # imm = 0x808
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x15134
jmp 0x15134
jmp 0x15134
movq %rax, %r14
addq $0x48, %rbx
movq %rbx, %rdi
callq 0x16bb4
movq %r14, %rdi
callq 0x33f0
nop