// File: /workspace/github_cpp_makefile_star2_O2/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 %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xd8, %rsp
movq %rdi, %r14
andq $0x0, 0x40(%rdi)
movq $0x1, 0x50(%rdi)
movq 0x4c9a2(%rip), %rsi     # 0x63888
addq $0x58, %rdi
movq %rdi, (%rsp)
callq 0x381c
pushq $0x1e
popq %r12
pushq $0x33
popq %r13
leaq 0x70(%rsp), %r15
pushq $0x5
popq %rbp
movl $0xaa0000, %ebx         # imm = 0xAA0000
movq %r14, %rdi
xorl %esi, %esi
callq 0x1727a
movq 0x30(%r14), %rax
cmpq 0x40(%r14), %rax
je 0x16f94
cmpq $0x0, 0x50(%r14)
movq %r12, %rcx
je 0x16f88
movq %r14, %rdi
callq 0x174a6
movq 0x70(%r14), %rax
leaq -0x27(%rax), %rdx
movq %r13, %rcx
cmpq $0x2, %rdx
jb 0x16f51
pushq $0x31
popq %rcx
cmpq $0x26, %rax
je 0x16f88
cmpq $0x51, %rax
jne 0x16fa3
pushq $0x5a
popq %rcx
movq %rcx, 0x70(%r14)
movq 0x30(%r14), %rax
movq %rax, 0x4cb40(%rip)     # 0x63aa0
movq %r15, %rdi
movl %ebp, %esi
callq 0xaa9a
addq $-0x8, 0xa544e(%rip)    # 0xbc3c0
movq 0x60(%r14), %rdi
addq %rbx, %rdi
callq 0x4fcb
movq %r14, %rdi
callq 0x17622
jmp 0x16f94
movq %rcx, 0x70(%r14)
movq %r14, %rdi
callq 0x173f2
cmpl $0xe, 0x4c881(%rip)     # 0x6381c
je 0x16f08
jmp 0x16fd5
addq $0xb, %rax
movq %rax, 0x70(%r14)
movq %r14, %rdi
callq 0x17622
movq 0x30(%r14), %rax
movq %rax, 0x4cae2(%rip)     # 0x63aa0
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
callq 0xaa9a
addq $-0x8, 0xa53ed(%rip)    # 0xbc3c0
jmp 0x16f94
movabsq $0xfff7ffffffff, %rax   # imm = 0xFFF7FFFFFFFF
andq 0x4ca6a(%rip), %rax     # 0x63a50
btsq $0x23, %rax
movq %rax, 0x4ca5e(%rip)     # 0x63a50
cmpq $0xd, 0x68(%r14)
jne 0x17009
movq $0x35, 0x70(%r14)
movq %r14, %rdi
callq 0x17622
movq (%rsp), %rax
movq (%rax), %rax
shlq $0x17, %rax
sarq $0x17, %rax
cmpq 0x4c869(%rip), %rax     # 0x63888
jne 0x17029
pushq $0x24
popq %rdi
callq 0x4f2c
addq $0xd8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop