// File: besm6[P]pascal-re/pascompl.cc
// Function: formOperator::formOperator(OpGen)
formOperator::formOperator(OpGen op)
{ /* formOperator */
    super.push_back(this);
    l3bool13z = true;
    if ((errors and (op != SETREG)) or curExpr == NULL)
        return;
    if (op != LOOPCOND &&
        op != STRUCTASSN &&
        op != MKINT &&
        op != FILEINIT &&
        op!=PCKUNPCK)
        (void) genFullExpr(curExpr);
    switch (op) {
    case APPLYEXPR:
        genOneOp();
        break;
    case SETREG: {
        l3int3z = insnCount();
        l3var5z = new Expr;
        l3var5z->expr1 = expr63z;
        expr63z = l3var5z;
        l3var5z->op = NOOP;
        switch (insnList->st) {
        case st0: {
            if (l3int3z == 0)  {
                l3int2z = 14;
            } else {
                l3var10z.m = set148z * set147z;
                if (l3var10z.m != Bits()) {
                    l3int2z = minel(l3var10z.m);
                } else {
                    l3int2z = 14;
                }
                if (l3int3z != 1) {
                    (void) setAddrTo(l3int2z);
                    addToInsnList(KITA + l3int2z);
                    P5117(op37);
                } else if (l3int2z != 14) {
                    (void) setAddrTo(l3int2z);
                    genOneOp();
                }
                l3var11z.m = Bits(l3int2z) - Bits(14);
                regsUsed = regsUsed - l3var11z.m;
                set147z = set147z - l3var11z.m;
                set146z = set146z + l3var11z.m;
            }
            curVal.i = l3int2z;
            l3var5z->val = curVal;
        } break;
        case st1: {
            curVal.i = 14;
            l3var5z->val = curVal;
        } break;
        case st2:
            error(errVarTooComplex);
            break;
        } /* case */
        l3var5z->expr2 = curExpr;
    } break; /* SETREG */
    case gen0: {
        prepLoad();
        if (insnCount() > 1)
            P5117(op36);
    } break;
    case STORE: {
        prepStore();
        genOneOp();
    } break;
    case LOOPCOND: {
        curInsnTemplate = curVal.i;
        (void) formOperator(LOAD);
        curInsnTemplate = InsnTemp[XTA];
    } break;
    case ADDRTOR9: {
        if (insnList->st != st0)
            error(errVarTooComplex);
        setAddrTo(9);
        genOneOp();
    } break;
    case STRUCTASSN: {
        l3int1z = curVal.i;
        (void) genFullExpr(curExpr);
        prepLoad();
        if (insnList->regsused.has(9))
            error(errVarTooComplex);
        genOneOp();
        form1Insn(KATX+I9 + l3int1z);
    } break;
    case ADDRTOR12: {
        (void) setAddrTo(12);
        genOneOp();
    } break;
    case MKINT: {
        curVal.i = curVal.ii;
        form1Insn(KXTA+I8 + getFCSToffset());
    } break;
    case MKPUSH: {
        prepLoad();
        addxToInsnList(macro + mcPUSH);
        genOneOp();
    } break;
    case gen11: case gen12: {
        setAddrTo(11);
        if (op == gen12)
            addxToInsnList(macro + mcPUSH);
        genOneOp();
        regsUsed = regsUsed + Bits(12);
    } break;
    case FILEACCESS: {
        setAddrTo(12);
        genOneOp();
        formAndAlign(jumpTarget);
    } break;
    case FILEINIT:
        formFileInit();
        break;
    case LOAD: {
        prepLoad();
        genOneOp();
    } break;
    case CONDJUMP:
        l3bool9z = jumpTarget == 0;
        l3int3z = jumpTarget;
        if (insnList->ilm == ilCONST) {
            if (insnList->ilf5.ii) {
                jumpTarget = 0;
            } else {
                if (l3bool9z) {
                    formJump(jumpTarget);
                } else {
                    form1Insn(InsnTemp[UJ] + jumpTarget);
                }
            }
        } else {
            l3var8z.ii = (insnList->regsused.has(16));
            if ((insnList->ilm == il3) and
                (insnList->ilf5.i != 0)) {
                genOneOp();
                if (l3var8z.ii) {
                    if (l3bool9z)
                        formJump(l3int3z);
                    else
                        form1Insn(InsnTemp[UJ] + l3int3z);
                    P0715(0, jumpTarget);
                    jumpTarget = l3int3z;
                } else {
                    if (not l3bool9z) {
                        if (not putLeft)
                            padToLeft();
                        P0715(l3int3z, jumpTarget);
                    }
                }
            } else {
                if (insnList->ilm == il1) {
                    bool49z = false;
                    prepLoad();
                    bool49z = true;
                }
                genOneOp();
                if (l3var8z.ii)
                    nextInsn = InsnTemp[U1A];
                else
                    nextInsn = InsnTemp[UZA];
                if (l3bool9z) {
                    jumpType = nextInsn;
                    formJump(l3int3z);
                    jumpType = InsnTemp[UJ];
                    jumpTarget = l3int3z;
                } else {
                    form1Insn(nextInsn + l3int3z);
                }
            }
        }
        break; /* CONDJUMP */
    case PCKUNPCK: {
        l3var5z = curExpr;
        curExpr = curExpr->expr1;
        (void) formOperator(gen11);
        genFullExpr(l3var5z->expr2);
        if (insnList->regsused.has(11))
            error(44); /* errIncorrectUsageOfStandProcOrFunc */
        setAddrTo(12);
        genOneOp();
        arg1Type = l3var5z->expr2->typ;
        ArrayT & array = arg1Type->cast<ArrayT>();
        l3int3z = array.range->right - array.range->left + 1;
        form2Insn((KVTM+I14) + l3int3z,
                  (KVTM+I10+64) - array.pcksize);
        l3int3z = ord(l3var5z->typ);
        l3int1z = array.perWord;
        if (l3int3z == 72)          /* P/KC */
            l3int1z = 1 - l3int1z;
        form1Insn(getValueOrAllocSymtab(l3int1z) + (KVTM+I9));
        if (typeCheck(curExpr->typ, IntegerType)) {
            l3int1z = KXTA+ZERO;
        } else {
            l3int1z = InsnTemp[XTA];
        };
        form1Insn(l3int1z);
        formAndAlign(getHelperProc(l3int3z));
   } break;
   case LITINSN:
        if (insnList->ilm != ilCONST)
            error(errNoConstant);
        if (insnList->typ->size != 1)
            error(errConstOfOtherTypeNeeded);
        curVal = insnList->ilf5;
        break;
    } /* case */
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x5b10, %rsp           # imm = 0x5B10
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x5ae8(%rbp)
movq %rax, -0x18(%rbp)
leaq 0xc7780(%rip), %rdi     # 0xd8a78
leaq -0x18(%rbp), %rsi
callq 0x21820
movq -0x5ae8(%rbp), %rax
movb $0x1, 0x60(%rax)
testb $0x1, 0x6ed23(%rip)     # 0x80036
je 0x1131b
cmpl $0x4, -0xc(%rbp)
jne 0x11325
cmpq $0x0, 0x6ee3d(%rip)     # 0x80160
jne 0x1132a
jmp 0x11e23
cmpl $0x3, -0xc(%rbp)
je 0x11361
cmpl $0x6, -0xc(%rbp)
je 0x11361
cmpl $0x9, -0xc(%rbp)
je 0x11361
cmpl $0xe, -0xc(%rbp)
je 0x11361
cmpl $0x10, -0xc(%rbp)
je 0x11361
movq 0x6ee11(%rip), %rsi     # 0x80160
leaq -0x50(%rbp), %rdi
callq 0xec20
leaq -0x50(%rbp), %rdi
callq 0x20430
movl -0xc(%rbp), %eax
movq %rax, -0x5af0(%rbp)
subq $0x11, %rax
ja 0x11e23
movq -0x5af0(%rbp), %rax
leaq 0x202b1(%rip), %rcx     # 0x31634
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq -0x700(%rbp), %rdi
callq 0x1ed00
jmp 0x11e23
callq 0xc5b0
movq %rax, %rcx
movq -0x5ae8(%rbp), %rax
movq %rcx, 0x10(%rax)
movl $0x20, %edi
callq 0x1e2e0
movq %rax, %rcx
movq -0x5ae8(%rbp), %rax
movq %rcx, 0x20(%rax)
movq 0x6eb49(%rip), %rdx     # 0x7ff18
movq 0x20(%rax), %rcx
movq %rdx, 0x10(%rcx)
movq 0x20(%rax), %rcx
movq %rcx, 0x6eb36(%rip)     # 0x7ff18
movq 0x20(%rax), %rax
movl $0x2e, 0x8(%rax)
movq 0x6ed74(%rip), %rax     # 0x80168
movl 0x40(%rax), %eax
movl %eax, -0x5af4(%rbp)
testl %eax, %eax
je 0x11428
jmp 0x11403
movl -0x5af4(%rbp), %eax
subl $0x1, %eax
je 0x116a1
jmp 0x11414
movl -0x5af4(%rbp), %eax
subl $0x2, %eax
je 0x116c9
jmp 0x116d3
movq -0x5ae8(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x1144a
movq -0x5ae8(%rbp), %rax
movq $0xe, 0x8(%rax)
jmp 0x11673
movq 0x6eccf(%rip), %rax     # 0x80120
movq %rax, -0x710(%rbp)
movq -0x710(%rbp), %rsi
leaq 0x6ecc2(%rip), %rdi     # 0x80128
callq 0x1e580
movq %rax, %rcx
movq -0x5ae8(%rbp), %rax
movq %rcx, -0x708(%rbp)
movq -0x708(%rbp), %rcx
movq %rcx, 0x48(%rax)
addq $0x48, %rax
movq %rax, -0x5b00(%rbp)
callq 0x48c0
movq -0x5b00(%rbp), %rdi
movq %rax, -0x718(%rbp)
movq -0x718(%rbp), %rsi
callq 0x1e550
testb $0x1, %al
jne 0x114b7
jmp 0x114e5
movq -0x5ae8(%rbp), %rax
movq 0x48(%rax), %rax
movq %rax, -0x720(%rbp)
movq -0x720(%rbp), %rdi
callq 0x85f0
movq %rax, %rcx
movq -0x5ae8(%rbp), %rax
movq %rcx, 0x8(%rax)
jmp 0x114f4
movq -0x5ae8(%rbp), %rax
movq $0xe, 0x8(%rax)
movq -0x5ae8(%rbp), %rax
cmpq $0x1, 0x10(%rax)
je 0x1153c
movq -0x5ae8(%rbp), %rax
movq 0x8(%rax), %rsi
leaq -0x758(%rbp), %rdi
callq 0x205b0
movq -0x5ae8(%rbp), %rax
movq 0x8(%rax), %rdi
addq $0x22000, %rdi          # imm = 0x22000
callq 0xbbb0
movl $0x1f, %edi
callq 0xc4d0
jmp 0x1156f
movq -0x5ae8(%rbp), %rax
cmpq $0xe, 0x8(%rax)
je 0x1156d
movq -0x5ae8(%rbp), %rax
movq 0x8(%rax), %rsi
leaq -0x790(%rbp), %rdi
callq 0x205b0
leaq -0xe40(%rbp), %rdi
callq 0x1ed00
jmp 0x1156f
movq -0x5ae8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x48e0
movq %rax, -0xe50(%rbp)
movl $0xe, %edi
callq 0x48e0
movq %rax, -0xe58(%rbp)
movq -0xe58(%rbp), %rsi
leaq -0xe50(%rbp), %rdi
callq 0x1e4e0
movq %rax, %rcx
movq -0x5ae8(%rbp), %rax
movq %rcx, -0xe48(%rbp)
movq -0xe48(%rbp), %rcx
movq %rcx, 0x50(%rax)
movq 0x50(%rax), %rax
movq %rax, -0xe68(%rbp)
movq -0xe68(%rbp), %rsi
leaq 0x6eb31(%rip), %rdi     # 0x80110
callq 0x1e4e0
movq %rax, %rcx
movq -0x5ae8(%rbp), %rax
movq %rcx, -0xe60(%rbp)
movq -0xe60(%rbp), %rcx
movq %rcx, 0x6eb0d(%rip)     # 0x80110
movq 0x50(%rax), %rax
movq %rax, -0xe78(%rbp)
movq -0xe78(%rbp), %rsi
leaq 0x6eb04(%rip), %rdi     # 0x80120
callq 0x1e4e0
movq %rax, %rcx
movq -0x5ae8(%rbp), %rax
movq %rcx, -0xe70(%rbp)
movq -0xe70(%rbp), %rcx
movq %rcx, 0x6eae0(%rip)     # 0x80120
movq 0x50(%rax), %rax
movq %rax, -0xe88(%rbp)
movq -0xe88(%rbp), %rsi
leaq 0x6eabf(%rip), %rdi     # 0x80118
callq 0x1db20
movq %rax, -0xe80(%rbp)
movq -0xe80(%rbp), %rax
movq %rax, 0x6eaa5(%rip)     # 0x80118
movq -0x5ae8(%rbp), %rax
movq 0x8(%rax), %rsi
leaq 0x6ea6b(%rip), %rdi     # 0x800f0
callq 0x4ad0
movq -0x5ae8(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x6ea54(%rip), %rcx     # 0x800f0
movq %rcx, (%rax)
jmp 0x116d3
leaq 0x6ea48(%rip), %rdi     # 0x800f0
movl $0xe, %esi
callq 0x4ad0
movq -0x5ae8(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x6ea2c(%rip), %rcx     # 0x800f0
movq %rcx, (%rax)
jmp 0x116d3
movl $0x30, %edi
callq 0x7b40
movq -0x5ae8(%rbp), %rax
movq 0x6ea7f(%rip), %rcx     # 0x80160
movq 0x20(%rax), %rax
movq %rcx, 0x18(%rax)
jmp 0x11e23
callq 0xbd10
callq 0xc5b0
cmpq $0x1, %rax
jle 0x11708
movl $0x1e, %edi
callq 0xc4d0
jmp 0x11e23
callq 0xc210
leaq -0x1538(%rbp), %rdi
callq 0x1ed00
jmp 0x11e23
leaq 0x6e9c6(%rip), %rdi     # 0x800f0
callq 0x1dfb0
movq %rax, 0x6e7ea(%rip)     # 0x7ff20
leaq -0x15a0(%rbp), %rdi
movl $0x2, %esi
callq 0x112d0
leaq -0x15a0(%rbp), %rdi
callq 0x21850
movq 0x73316(%rip), %rax     # 0x84a70
movq %rax, 0x6e7bf(%rip)     # 0x7ff20
jmp 0x11e23
movq 0x6e9fb(%rip), %rax     # 0x80168
cmpl $0x0, 0x40(%rax)
je 0x1177d
movl $0x30, %edi
callq 0x7b40
leaq -0x15d8(%rbp), %rdi
movl $0x9, %esi
callq 0x205b0
leaq -0x1c88(%rbp), %rdi
callq 0x1ed00
jmp 0x11e23
leaq 0x6e94a(%rip), %rdi     # 0x800f0
callq 0x1dfb0
movq %rax, %rcx
movq -0x5ae8(%rbp), %rax
movq %rcx, (%rax)
movq 0x6e9a1(%rip), %rsi     # 0x80160
leaq -0x1cc0(%rbp), %rdi
callq 0xec20
leaq -0x1cc0(%rbp), %rdi
callq 0x20430
callq 0xbd10
movq 0x6e985(%rip), %rdi     # 0x80168
addq $0x18, %rdi
movl $0x9, %esi
callq 0x1e5f0
testb $0x1, %al
jne 0x117f7
jmp 0x11801
movl $0x30, %edi
callq 0x7b40
leaq -0x2370(%rbp), %rdi
callq 0x1ed00
movq -0x5ae8(%rbp), %rax
movq (%rax), %rdi
addq $0x900000, %rdi         # imm = 0x900000
callq 0x7c20
jmp 0x11e23
leaq -0x23a8(%rbp), %rdi
movl $0xc, %esi
callq 0x205b0
leaq -0x2a58(%rbp), %rdi
callq 0x1ed00
jmp 0x11e23
movq 0x6e89f(%rip), %rsi     # 0x800f0
leaq 0x6e898(%rip), %rdi     # 0x800f0
callq 0x4ad0
callq 0x8580
movq %rax, %rdi
addq $0x808000, %rdi         # imm = 0x808000
callq 0x7c20
jmp 0x11e23
callq 0xbd10
movl $0x1000005, %edi        # imm = 0x1000005
callq 0xbc80
leaq -0x3108(%rbp), %rdi
callq 0x1ed00
jmp 0x11e23
leaq -0x3140(%rbp), %rdi
movl $0xb, %esi
callq 0x205b0
cmpl $0xc, -0xc(%rbp)
jne 0x118b7
movl $0x1000005, %edi        # imm = 0x1000005
callq 0xbc80
leaq -0x37f0(%rbp), %rdi
callq 0x1ed00
movl $0xc, %edi
callq 0x48e0
movq %rax, -0x3800(%rbp)
movq -0x3800(%rbp), %rsi
leaq 0x6e82e(%rip), %rdi     # 0x80110
callq 0x1db20
movq %rax, -0x37f8(%rbp)
movq -0x37f8(%rbp), %rax
movq %rax, 0x6e814(%rip)     # 0x80110
jmp 0x11e23
leaq -0x3838(%rbp), %rdi
movl $0xc, %esi
callq 0x205b0
leaq -0x3ee8(%rbp), %rdi
callq 0x1ed00
movq 0x6e5a3(%rip), %rdi     # 0x7fec8
callq 0x7f20
jmp 0x11e23
callq 0x11000
jmp 0x11e23
callq 0xbd10
leaq -0x4598(%rbp), %rdi
callq 0x1ed00
jmp 0x11e23
movq -0x5ae8(%rbp), %rax
cmpq $0x0, 0x6e56a(%rip)     # 0x7fec8
sete %cl
andb $0x1, %cl
movb %cl, 0x40(%rax)
movq 0x6e55a(%rip), %rcx     # 0x7fec8
movq %rcx, 0x10(%rax)
movq 0x6e7ef(%rip), %rax     # 0x80168
cmpl $0x0, 0x20(%rax)
jne 0x119cf
movq 0x6e7e2(%rip), %rax     # 0x80168
cmpq $0x0, 0x28(%rax)
je 0x1199a
movq $0x0, 0x6e530(%rip) # 0x7fec8
jmp 0x119ca
movq -0x5ae8(%rbp), %rax
testb $0x1, 0x40(%rax)
je 0x119b5
leaq 0x6e51a(%rip), %rdi     # 0x7fec8
callq 0x7e70
jmp 0x119c8
movq 0x731dc(%rip), %rdi     # 0x84b98
addq 0x6e505(%rip), %rdi     # 0x7fec8
callq 0x7c20
jmp 0x119ca
jmp 0x11b91
movq 0x6e792(%rip), %rdi     # 0x80168
addq $0x18, %rdi
movl $0x10, %esi
callq 0x1e5f0
movb %al, %cl
movq -0x5ae8(%rbp), %rax
andb $0x1, %cl
movzbl %cl, %ecx
movq %rcx, 0x38(%rax)
movq 0x6e76a(%rip), %rax     # 0x80168
cmpl $0x3, 0x20(%rax)
jne 0x11acf
movq 0x6e759(%rip), %rdi     # 0x80168
addq $0x28, %rdi
callq 0x1dfb0
cmpq $0x0, %rax
je 0x11acf
leaq -0x4c48(%rbp), %rdi
callq 0x1ed00
movq -0x5ae8(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x11a96
movq -0x5ae8(%rbp), %rax
testb $0x1, 0x40(%rax)
je 0x11a5b
movq -0x5ae8(%rbp), %rdi
addq $0x10, %rdi
callq 0x7e70
jmp 0x11a72
movq -0x5ae8(%rbp), %rax
movq 0x7312f(%rip), %rdi     # 0x84b98
addq 0x10(%rax), %rdi
callq 0x7c20
movq 0x6e44f(%rip), %rsi     # 0x7fec8
xorl %eax, %eax
movl %eax, %edi
callq 0x8910
movq -0x5ae8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x6e434(%rip)     # 0x7fec8
jmp 0x11aca
movq -0x5ae8(%rbp), %rax
testb $0x1, 0x40(%rax)
jne 0x11ac8
testb $0x1, 0x6e58a(%rip)     # 0x80034
jne 0x11ab1
callq 0x7ef0
movq -0x5ae8(%rbp), %rax
movq 0x10(%rax), %rdi
movq 0x6e405(%rip), %rsi     # 0x7fec8
callq 0x8910
jmp 0x11aca
jmp 0x11b8f
movq 0x6e692(%rip), %rax     # 0x80168
cmpl $0x1, 0x20(%rax)
jne 0x11aef
movb $0x0, 0x6e3d7(%rip)     # 0x7feba
callq 0xbd10
movb $0x1, 0x6e3cb(%rip)     # 0x7feba
leaq -0x52f8(%rbp), %rdi
callq 0x1ed00
movq -0x5ae8(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x11b1d
movq -0x5ae8(%rbp), %rax
movq 0x73079(%rip), %rcx     # 0x84b90
movq %rcx, 0x18(%rax)
jmp 0x11b2f
movq -0x5ae8(%rbp), %rax
movq 0x7305d(%rip), %rcx     # 0x84b88
movq %rcx, 0x18(%rax)
movq -0x5ae8(%rbp), %rax
testb $0x1, 0x40(%rax)
je 0x11b79
movq -0x5ae8(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x6e372(%rip)     # 0x7fec0
addq $0x10, %rdi
callq 0x7e70
movq -0x5ae8(%rbp), %rax
movq 0x73033(%rip), %rcx     # 0x84b98
movq %rcx, 0x6e354(%rip)     # 0x7fec0
movq 0x10(%rax), %rax
movq %rax, 0x6e351(%rip)     # 0x7fec8
jmp 0x11b8d
movq -0x5ae8(%rbp), %rax
movq 0x18(%rax), %rdi
addq 0x10(%rax), %rdi
callq 0x7c20
jmp 0x11b8f
jmp 0x11b91
jmp 0x11e23
movq -0x5ae8(%rbp), %rax
movq 0x6e5bc(%rip), %rcx     # 0x80160
movq %rcx, 0x20(%rax)
movq 0x6e5b1(%rip), %rax     # 0x80160
movq 0x10(%rax), %rax
movq %rax, 0x6e5a6(%rip)     # 0x80160
leaq -0x5360(%rbp), %rdi
movl $0xb, %esi
callq 0x112d0
leaq -0x5360(%rbp), %rdi
callq 0x21850
movq -0x5ae8(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x18(%rax), %rsi
leaq -0x5398(%rbp), %rdi
callq 0xec20
leaq -0x5398(%rbp), %rdi
callq 0x20430
movq 0x6e563(%rip), %rdi     # 0x80168
addq $0x18, %rdi
movl $0xb, %esi
callq 0x1e5f0
testb $0x1, %al
jne 0x11c19
jmp 0x11c23
movl $0x2c, %edi
callq 0x7b40
leaq -0x53d0(%rbp), %rdi
movl $0xc, %esi
callq 0x205b0
leaq -0x5a80(%rbp), %rdi
callq 0x1ed00
movq -0x5ae8(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x18(%rax), %rax
movq (%rax), %rax
movq %rax, 0x6e46f(%rip)     # 0x800c8
movq 0x6e468(%rip), %rdi     # 0x800c8
callq 0x1e210
movq %rax, %rcx
movq -0x5ae8(%rbp), %rax
movq %rcx, -0x5a88(%rbp)
movq -0x5a88(%rbp), %rcx
movq 0x20(%rcx), %rcx
movq 0x30(%rcx), %rcx
movq -0x5a88(%rbp), %rdx
movq 0x20(%rdx), %rdx
subq 0x28(%rdx), %rcx
addq $0x1, %rcx
movq %rcx, 0x10(%rax)
movq 0x10(%rax), %rdi
addq $0xea0000, %rdi         # imm = 0xEA0000
movq -0x5a88(%rbp), %rax
movl $0xaa0040, %esi         # imm = 0xAA0040
subq 0x38(%rax), %rsi
callq 0x7da0
movq -0x5ae8(%rbp), %rax
movq 0x20(%rax), %rax
movq (%rax), %rdi
callq 0x4ea0
movq %rax, %rcx
movq -0x5ae8(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x5a88(%rbp), %rcx
movq 0x30(%rcx), %rcx
movq %rcx, (%rax)
cmpq $0x48, 0x10(%rax)
jne 0x11d04
movq -0x5ae8(%rbp), %rax
movl $0x1, %ecx
subq (%rax), %rcx
movq %rcx, (%rax)
movq -0x5ae8(%rbp), %rax
movq (%rax), %rdi
callq 0x8870
movq %rax, %rdi
addq $0x9a0000, %rdi         # imm = 0x9A0000
callq 0x7c20
movq 0x6e437(%rip), %rax     # 0x80160
movq (%rax), %rsi
movq 0x6e375(%rip), %rdx     # 0x800a8
leaq -0x5ad0(%rbp), %rdi
movq %rdi, -0x5b10(%rbp)
callq 0xb280
movq -0x5b10(%rbp), %rdi
callq 0x1e950
movb %al, -0x5b01(%rbp)
jmp 0x11d5a
leaq -0x5ad0(%rbp), %rdi
callq 0x1e9c0
movb -0x5b01(%rbp), %al
testb $0x1, %al
jne 0x11d72
jmp 0x11da5
movq -0x5ae8(%rbp), %rax
movq $0x108009, (%rax)       # imm = 0x108009
jmp 0x11db6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x5ad8(%rbp)
movl %eax, -0x5adc(%rbp)
leaq -0x5ad0(%rbp), %rdi
callq 0x1e9c0
jmp 0x11e2c
movq -0x5ae8(%rbp), %rax
movq 0x72cbd(%rip), %rcx     # 0x84a70
movq %rcx, (%rax)
movq -0x5ae8(%rbp), %rax
movq (%rax), %rdi
callq 0x7c20
movq -0x5ae8(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x80d0
movq %rax, %rdi
callq 0x7f20
jmp 0x11e23
movq 0x6e382(%rip), %rax     # 0x80168
cmpl $0x0, 0x20(%rax)
je 0x11df6
movl $0x6, %edi
callq 0x7b40
movq 0x6e36b(%rip), %rax     # 0x80168
movq 0x10(%rax), %rax
cmpq $0x1, (%rax)
je 0x11e11
movl $0x7, %edi
callq 0x7b40
movq 0x6e350(%rip), %rax     # 0x80168
movq 0x28(%rax), %rax
movq %rax, 0x6e2cd(%rip)     # 0x800f0
addq $0x5b10, %rsp           # imm = 0x5B10
popq %rbp
retq
movq -0x5ad8(%rbp), %rdi
callq 0x44c0
nopl (%rax,%rax)