// File: /workspace/github_cpp_makefile_star2_O3/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 0x4a526(%rip), %rsi     # 0x64888
leaq 0x58(%rdi), %rbx
movq %rbx, %rdi
callq 0x3c48
leaq 0x68(%rsp), %r15
movl $0xaa0000, %r13d        # imm = 0xAA0000
movq %rsp, %r12
movq %r14, %rdi
xorl %esi, %esi
callq 0x1a722
movq 0x30(%r14), %rax
cmpq 0x40(%r14), %rax
je 0x1a419
cmpq $0x0, 0x50(%r14)
je 0x1a401
movq %r14, %rdi
callq 0x1a982
movq 0x70(%r14), %rax
movl $0x33, %ecx
leaq -0x27(%rax), %rdx
cmpq $0x2, %rdx
jb 0x1a3c7
cmpq $0x26, %rax
je 0x1a408
cmpq $0x51, %rax
jne 0x1a428
movl $0x5a, %ecx
movq %rcx, 0x70(%r14)
movq 0x30(%r14), %rax
movq %rax, 0x4a6ca(%rip)     # 0x64aa0
movq %r15, %rdi
movl $0x5, %esi
callq 0xc308
addq $-0x8, 0xa2fd5(%rip)    # 0xbd3c0
movq 0x60(%r14), %rdi
addq %r13, %rdi
callq 0x59a2
movq %r14, %rdi
callq 0x1aaf0
jmp 0x1a419
movl $0x1e, %eax
jmp 0x1a40d
movl $0x31, %eax
movq %rax, 0x70(%r14)
movq %r14, %rdi
callq 0x1a8c4
cmpl $0xe, 0x4a3fc(%rip)     # 0x6481c
je 0x1a37c
jmp 0x1a45a
addq $0xb, %rax
movq %rax, 0x70(%r14)
movq %r14, %rdi
callq 0x1aaf0
movq 0x30(%r14), %rax
movq %rax, 0x4a65d(%rip)     # 0x64aa0
movq %r12, %rdi
movl $0x1, %esi
callq 0xc308
addq $-0x8, 0xa2f68(%rip)    # 0xbd3c0
jmp 0x1a419
movabsq $0xfff7ffffffff, %rax   # imm = 0xFFF7FFFFFFFF
andq 0x4a5e5(%rip), %rax     # 0x64a50
btsq $0x23, %rax
movq %rax, 0x4a5d9(%rip)     # 0x64a50
cmpq $0xd, 0x68(%r14)
jne 0x1a48e
movq $0x35, 0x70(%r14)
movq %r14, %rdi
callq 0x1aaf0
movq (%rbx), %rax
shlq $0x17, %rax
sarq $0x17, %rax
cmpq 0x4a3e8(%rip), %rax     # 0x64888
jne 0x1a4ac
movl $0x24, %edi
callq 0x58ff
addq $0xd0, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
nop