// File: 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
movq %rsp, %rbp
subq $0xf0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0xf0(%rbp)
movq $0x0, 0x40(%rdi)
movq $0x1, 0x50(%rdi)
movq 0x57537(%rip), %rsi     # 0x7ff48
addq $0x58, %rdi
callq 0x4ad0
movq -0xf0(%rbp), %rdi
xorl %esi, %esi
callq 0x29030
movq -0xf0(%rbp), %rcx
movq 0x30(%rcx), %rax
cmpq 0x40(%rcx), %rax
je 0x28b79
movq -0xf0(%rbp), %rax
cmpq $0x0, 0x50(%rax)
jne 0x28a6b
movq -0xf0(%rbp), %rax
movq $0x1e, 0x70(%rax)
movq -0xf0(%rbp), %rdi
callq 0x29270
jmp 0x28b77
movq -0xf0(%rbp), %rdi
callq 0x293e0
movq -0xf0(%rbp), %rax
cmpq $0x26, 0x70(%rax)
jne 0x28a96
movq -0xf0(%rbp), %rax
movq $0x31, 0x70(%rax)
jmp 0x28a5a
movq -0xf0(%rbp), %rax
cmpq $0x27, 0x70(%rax)
je 0x28ab2
movq -0xf0(%rbp), %rax
cmpq $0x28, 0x70(%rax)
jne 0x28b0f
movq -0xf0(%rbp), %rax
movq $0x33, 0x70(%rax)
movq -0xf0(%rbp), %rax
movq 0x30(%rax), %rax
movq %rax, 0x5768d(%rip)     # 0x80160
leaq -0x70(%rbp), %rdi
movl $0x5, %esi
callq 0x112d0
leaq -0x70(%rbp), %rdi
callq 0x21850
movq -0xf0(%rbp), %rax
movq 0x60(%rax), %rdi
addq $0xaa0000, %rdi         # imm = 0xAA0000
callq 0x7c20
movq -0xf0(%rbp), %rdi
callq 0x29660
jmp 0x28b75
movq -0xf0(%rbp), %rax
cmpq $0x51, 0x70(%rax)
jne 0x28b2e
movq -0xf0(%rbp), %rax
movq $0x5a, 0x70(%rax)
jmp 0x28ac1
movq -0xf0(%rbp), %rdi
movq 0x70(%rdi), %rax
addq $0xb, %rax
movq %rax, 0x70(%rdi)
callq 0x29660
movq -0xf0(%rbp), %rax
movq 0x30(%rax), %rax
movq %rax, 0x57608(%rip)     # 0x80160
leaq -0xd8(%rbp), %rdi
movl $0x1, %esi
callq 0x112d0
leaq -0xd8(%rbp), %rdi
callq 0x21850
jmp 0x28b77
jmp 0x28b79
jmp 0x28b7b
cmpl $0xe, 0x5735a(%rip)     # 0x7fedc
je 0x28a1a
movl $0xc, %edi
callq 0x48e0
movq %rax, -0xe8(%rbp)
movq -0xe8(%rbp), %rsi
leaq 0x57569(%rip), %rdi     # 0x80110
callq 0x1db20
movq %rax, %rcx
movq -0xf0(%rbp), %rax
movq %rcx, -0xe0(%rbp)
movq -0xe0(%rbp), %rcx
movq %rcx, 0x57545(%rip)     # 0x80110
cmpq $0xd, 0x68(%rax)
jne 0x28be6
movq -0xf0(%rbp), %rdi
movq $0x35, 0x70(%rdi)
callq 0x29660
movq -0xf0(%rbp), %rdi
addq $0x58, %rdi
callq 0x1dfb0
cmpq 0x5734b(%rip), %rax     # 0x7ff48
jne 0x28c09
movl $0x24, %edi
callq 0x7b40
addq $0xf0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)