// File: /workspace/github_cpp_makefile_star2_O1/besm6[P]pascal-re/pascompl.cc
// Function: standProc::readProc()
void readProc() {
        l4exp9z = NULL;
        l4var13z.ii = true;
        l4var14z.i = moduleOffset;
        do {
            startReadOrWrite(false);
            if (l4exp7z != l4exp9z) {
                if (not l4var13z.ii) {
                    helperNo = 30;         /* P/GF */
L17346:
                    P17037();
                } else {
                    checkElementForReadWrite();
                    if (helperNo == 38) {       /* P/WC */
                        helperNo = 49;             /* P/RDC */
                        goto L17346;
                    }
                    if (helperNo == 39 or           /* A6,A7 */
                        helperNo == 40) {
                        helperNo = 51;             /* P/RA7 */
L17362:
                        curExpr = l4exp7z;
                        (void) formOperator(ADDRTOR9);
                        form1Insn(KVTM+I10 + l4var15z);
                        callHelperWithArg();
                    } else {
                        if (helperNo == 81) {   /* P/WA */
                            helperNo = 90;         /* P/RA */
                            goto L17362;
                        }
                        helperNo = helperNo + 11;
                        callHelperWithArg();
                        curExpr = l4exp7z;
                        (void) formOperator(STORE);
                    }
                }
            }
        } while (SY == COMMA);
        regsUsed = regsUsed + Bits(12);
        if (procNo == 13) {
            helperNo = 53;                 /* P/RL */
            callHelperWithArg();
        }
        if (l4var14z.i == moduleOffset)
            error(36); /* errTooFewArguments */
    }

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xd0, %rsp
movq %rdi, %r14
movq $0x0, 0x40(%rdi)
movq $0x1, 0x50(%rdi)
movq 0x4a98c(%rip), %rsi     # 0x64898
leaq 0x58(%rdi), %rbx
movq %rbx, %rdi
callq 0x3bf2
leaq 0x68(%rsp), %r15
movl $0xaa0000, %r13d        # imm = 0xAA0000
movq %rsp, %r12
movq %r14, %rdi
xorl %esi, %esi
callq 0x1a32e
movq 0x30(%r14), %rax
cmpq 0x40(%r14), %rax
je 0x19ff7
cmpq $0x0, 0x50(%r14)
je 0x19f76
movq %r14, %rdi
callq 0x1a5a0
movq 0x70(%r14), %rax
movl $0x33, %ecx
leaq -0x27(%rax), %rdx
cmpq $0x2, %rdx
jb 0x19f8d
cmpq $0x51, %rax
je 0x19f88
cmpq $0x26, %rax
jne 0x19fc7
movq $0x31, 0x70(%r14)
jmp 0x19f7e
movq $0x1e, 0x70(%r14)
movq %r14, %rdi
callq 0x1a4d6
jmp 0x19ff7
movl $0x5a, %ecx
movq %rcx, 0x70(%r14)
movq 0x30(%r14), %rax
movq %rax, 0x4ab14(%rip)     # 0x64ab0
movq %r15, %rdi
movl $0x5, %esi
callq 0xc044
addq $-0x8, 0xa341f(%rip)    # 0xbd3d0
movq 0x60(%r14), %rdi
addq %r13, %rdi
callq 0x5941
movq %r14, %rdi
callq 0x1a732
jmp 0x19ff7
addq $0xb, %rax
movq %rax, 0x70(%r14)
movq %r14, %rdi
callq 0x1a732
movq 0x30(%r14), %rax
movq %rax, 0x4aace(%rip)     # 0x64ab0
movq %r12, %rdi
movl $0x1, %esi
callq 0xc044
addq $-0x8, 0xa33d9(%rip)    # 0xbd3d0
cmpl $0xe, 0x4a82e(%rip)     # 0x6482c
je 0x19f26
movabsq $0xfff7ffffffff, %rax   # imm = 0xFFF7FFFFFFFF
andq 0x4aa4b(%rip), %rax     # 0x64a60
btsq $0x23, %rax
movq %rax, 0x4aa3f(%rip)     # 0x64a60
cmpq $0xd, 0x68(%r14)
jne 0x1a038
movq $0x35, 0x70(%r14)
movq %r14, %rdi
callq 0x1a732
movq (%rbx), %rax
shlq $0x17, %rax
sarq $0x17, %rax
cmpq 0x4a84e(%rip), %rax     # 0x64898
jne 0x1a056
movl $0x24, %edi
callq 0x589e
addq $0xd0, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
nop