// File: besm6[P]pascal-re/pascompl.cc
// Function: initScalars::initScalars()
initScalars::initScalars() :
    curIdRec(programme::super.back()->curIdRec)
{
    BooleanType = new ScalarT(1);
    BooleanType->numen = 2;
    BooleanType->start = 0;

    IntegerType = new ScalarT(48);
    IntegerType->numen = 100000;
    IntegerType->start = -1;
    IntegerType->enums = NULL;

    CharType = new ScalarT(8);
    CharType->numen = 256;
    CharType->start = -1;
    CharType->enums = NULL;

    RealType = new RealT;

    setType = new SetT(48, IntegerType);

    pointerType = new PtrT(48, NULL);
    pointerType->pbase = pointerType;

    textType = new FileT(CharType, 8);

    AlfaType = new ArrayT(1,48,CharType);
    AlfaType->pck = true;
    AlfaType->perWord = 6;
    AlfaType->pcksize = 8;

    smallStringType[6] = AlfaType;
    regSysType(toText("INTEGER"), IntegerType);
    temptype = IntegerType;
    regSysEnum(toText("MAXINT"), 0xD0FFFFFFFFFFL);
    regSysType(toText("BOOLEAN"), BooleanType);
    regSysType(toText("CHAR"), CharType);
    regSysType(toText("REAL"), RealType);
    regSysType(toText("ALFA"), AlfaType);
    regSysType(toText("TEXT"), textType);
    temptype = BooleanType;
    regSysEnum(toText("TRUE"), 1);
    hashTravPtr = curIdRec;
    regSysEnum(toText("FALSE"), 0);
    curIdRec->list() = hashTravPtr;
    BooleanType->enums = curIdRec;
    maxSmallString = 0;
    for (strLen = 2; strLen <= 5; ++strLen)
        smallStringType[strLen] = makeStringType();
    maxSmallString = 6;

    curIdRec = new IdentRec;
    curIdRec->offset = 0;
    curIdRec->typ = IntegerType;
    curIdRec->cl = VARID;
    curIdRec->list() = NULL;
    curIdRec->value() = 7;

    uVarPtr = new Expr;
    uVarPtr->typ = IntegerType;
    uVarPtr->op = GETVAR;
    uVarPtr->id1 = curIdRec;

    uProcPtr = new IdentRec;
    uProcPtr->cl = ROUTINEID;
    uProcPtr->typ = NULL;
    uProcPtr->list() = NULL;
    uProcPtr->argList() = NULL;
    uProcPtr->preDefLink() = NULL;
    uProcPtr->pos() = 0;

    temptype = NULL;
    l3var9z = 0;
    for (l3var5z = 0; l3var5z <= 28; ++l3var5z)
        regSysProc(systemProcNames[l3var5z]);
    l3var9z = 0;
    temptype = RealType;

    regSysProc(toText("SQRT"));
    regSysProc(toText("SIN"));
    regSysProc(toText("COS"));
    regSysProc(toText("ARCTAN"));
    regSysProc(toText("ARCSIN"));
    regSysProc(toText("LN"));
    regSysProc(toText("EXP"));
    regSysProc(toText("ABS"));
    temptype = IntegerType;
    regSysProc(toText("TRUNC"));
    temptype = BooleanType;
    regSysProc(toText("ODD"));
    temptype = IntegerType;
    regSysProc(toText("ORD"));
    temptype = CharType;
    regSysProc(toText("CHR"));
    regSysProc(toText("SUCC"));
    regSysProc(toText("PRED"));
    temptype = BooleanType;
    regSysProc(toText("EOF"));
    temptype = pointerType;
    regSysProc(toText("REF"));
    temptype = BooleanType;
    regSysProc(toText("EOLN"));
    temptype = IntegerType;
    regSysProc(toText("SQR"));
    regSysProc(toText("ROUND"));
    regSysProc(toText("CARD"));
    regSysProc(toText("MINEL"));
    temptype = pointerType;
    regSysProc(toText("PTR"));
    l3var11z.ii = 047000000 + 30;
    programObj = new IdentRec;
    programObj->cl = ROUTINEID;
    l3var3z = toText("OUTPUT");
    l3var4z = toText("INPUT");
    noProgram = toText("NOPROGRA");
    test1(PROGRAMSY, (skipToSet + Bits(IDENT,LPAREN)));
    symTabPos = 074004;
    if (SY == IDENT) {
        curVal.ii = curIdent;
        programObj->id = curIdent;
        programObj->pos() = 0;
        symTab[074000] = makeNameWithStars(true);
    } else {
        programObj->id = 0400000000000000;
        error(errNoIdent);
        skip(skipToSet + Bits(LPAREN));
    }
    if (curIdent != noProgram) {
        entryPtTable[1] = symTab[074000];
        entryPtTable[3] = toText("PROGRAM ");
        entryPtTable[2] = 1L << 46;
        entryPtTable[4] = 1L << 46;
        entryPtCnt = 5;
        CHILD.push_back(int64_t(I8+KVTM+074001) << 24 | (KUJ+074002));  /*10 24 74001 00 30 74002*/
        moduleOffset = 040001;
    } else {
        entryPtCnt = 1;
        moduleOffset = 040000;
    }
    programObj->argList() = NULL;
    programObj->flags() = Bits();
    objBufIdx = 1;
    temptype = IntegerType;
    defineRange(temptype, 1, 6);
    AlfaType->range = static_cast<RangeT*>(temptype);
    int93z = 0;
    inSymbol();
    outputObjFile();
    outputFile = NULL;
    inputFile = NULL;
    externFileList = NULL;
    lineStartOffset = moduleOffset;
    if (SY == SEMICOLON) {
        goto noFiles;
    }
    test1(LPAREN, skipToSet + Bits(IDENT));
    l3var7z = new IdentRec;
    l3var7z->id = l3var3z;
    l3var7z->offset = 0;
    l3var7z->typ = textType;
    l3var7z->cl = VARID;
    l3var7z->list() = NULL;
    curVal.ii = toText("*OUTPUT*");
    l3var7z->value() = allocExtSymbol(l3var11z.ii);
    addToHashTab(l3var7z);
    l3var5z = 1;
    while (SY == IDENT) {
        l3var8z = 0;
        curVal.ii = curIdent;
        adorned = makeNameWithStars(false);
        if (curIdent == l3var4z) {
            inputFile = new IdentRec;
            inputFile->id = curIdent;
            inputFile->offset = 0;
            inputFile->typ = textType;
            inputFile->cl = VARID;
            inputFile->list() = NULL;
            curVal.ii = adorned;
            inputFile->value() = allocExtSymbol(l3var11z.ii);
            addToHashTab(inputFile);
            l3var8z = lineCnt;
        } else if (curIdent == l3var3z) {
            outputFile = l3var7z;
            l3var8z = lineCnt;
        } /* 21745 */
        curExternFile = externFileList;
        while (curExternFile != NULL) {
            if (curExternFile->id == curIdent) {
                curExternFile = NULL;
                error(errIdentAlreadyDefined);
            } else {
                curExternFile = curExternFile->next;
            }
        } /* 21760 */
        curExternFile = new ExtFileRec;
        curExternFile->id = curIdent;
        curExternFile->next = externFileList;
        curExternFile->line = l3var8z;
        curExternFile->offset = adorned;
        if (l3var8z != 0) {
            if (curIdent == l3var3z) {
                fileForOutput = curExternFile;
            } else {
                fileForInput = curExternFile;
            }
        }
        externFileList = curExternFile;
        l3var6z = l3var5z;
        l3var5z = l3var5z + 1;
        inSymbol();
        if (charClass == MUL) {
            l3var6z = l3var6z + 64;
            inSymbol();
        }
        if (SY == INTCONST) {
          l3var6z = 01000 * curToken.i + l3var6z;
            if (suffix == noSuffix and
                1 < curToken.i and
                curToken.i < 127) {
                l3var6z = l3var6z + 128;
            } else if (suffix == suffixB and
                       01000000 < curToken.i and
                       curToken.i < 01743671743) {
                l3var6z = l3var6z + 256;
            } else {
                error(76); /* errWrongNumberForExternalFile */
            }
            inSymbol();
        } else {
            l3var6z = 512;
        }
        curExternFile->location = l3var6z;
        if (SY == COMMA)
            inSymbol();
    } /* 22042 */
    checkSymAndRead(RPAREN);
  noFiles:
    checkSymAndRead(SEMICOLON);
    l3var6z = 40;
    do
        programme(l3var6z, programObj);
    while (SY != PERIOD);
    if (CH != 'D' && CH != 'd') {
        int92z = 0;
        int93z = 0;
    } else {
        set147z.val = halfWord;
        dataCheck = false;
        Statement();
    }
    readToPos80();
    curVal.i = l3var6z;
    symTab[074003] = helperNames[25] | 047000000 | (curVal.ii & halfWord);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x920, %rsp            # imm = 0x920
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x898(%rbp)
leaq 0xbff6f(%rip), %rdi     # 0xd8a30
callq 0x1e890
movq %rax, %rcx
movq -0x898(%rbp), %rax
movq (%rcx), %rcx
addq $0x28, %rcx
movq %rcx, 0x58(%rax)
movl $0x30, %edi
callq 0x1e2e0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x890(%rbp)
movl $0x1, %esi
callq 0x21dc0
jmp 0x18afe
movq -0x890(%rbp), %rax
movq %rax, 0x6758c(%rip)     # 0x80098
movq 0x67585(%rip), %rax     # 0x80098
movq $0x2, 0x20(%rax)
movq 0x67576(%rip), %rax     # 0x80098
movq $0x0, 0x28(%rax)
movl $0x30, %edi
movq %rdi, -0x8a8(%rbp)
callq 0x1e2e0
movq -0x8a8(%rbp), %rsi
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x8a0(%rbp)
callq 0x21dc0
jmp 0x18b56
movq -0x8a0(%rbp), %rax
movq %rax, 0x67544(%rip)     # 0x800a8
movq 0x6753d(%rip), %rax     # 0x800a8
movq $0x186a0, 0x20(%rax)    # imm = 0x186A0
movq 0x6752e(%rip), %rax     # 0x800a8
movq $-0x1, 0x28(%rax)
movq 0x6751f(%rip), %rax     # 0x800a8
movq $0x0, 0x18(%rax)
movl $0x30, %edi
callq 0x1e2e0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x8b0(%rbp)
movl $0x8, %esi
callq 0x21dc0
jmp 0x18bb4
movq -0x8b0(%rbp), %rax
movq %rax, 0x674f6(%rip)     # 0x800b8
movq 0x674ef(%rip), %rax     # 0x800b8
movq $0x100, 0x20(%rax)      # imm = 0x100
movq 0x674e0(%rip), %rax     # 0x800b8
movq $-0x1, 0x28(%rax)
movq 0x674d1(%rip), %rax     # 0x800b8
movq $0x0, 0x18(%rax)
movl $0x18, %edi
callq 0x1e2e0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x8b8(%rbp)
callq 0x23d60
jmp 0x18c0d
movq -0x8b8(%rbp), %rax
movq %rax, 0x67495(%rip)     # 0x800b0
movl $0x20, %edi
callq 0x1e2e0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x8c0(%rbp)
movq 0x6746f(%rip), %rdx     # 0x800a8
movl $0x30, %esi
callq 0x22020
jmp 0x18c45
movq -0x8c0(%rbp), %rax
movq %rax, 0x6743d(%rip)     # 0x80090
movl $0x20, %edi
callq 0x1e2e0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x8c8(%rbp)
xorl %eax, %eax
movl %eax, %edx
movl $0x30, %esi
callq 0x21f50
jmp 0x18c7a
movq -0x8c8(%rbp), %rax
movq %rax, 0x67400(%rip)     # 0x80088
movq 0x673f9(%rip), %rax     # 0x80088
movq %rax, 0x18(%rax)
movl $0x28, %edi
callq 0x1e2e0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x8d0(%rbp)
movq 0x67407(%rip), %rsi     # 0x800b8
movl $0x8, %edx
callq 0x21fd0
jmp 0x18cbd
movq -0x8d0(%rbp), %rax
movq %rax, 0x673d5(%rip)     # 0x800a0
movl $0x40, %edi
callq 0x1e2e0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x8d8(%rbp)
movq 0x673cf(%rip), %rcx     # 0x800b8
movl $0x1, %esi
movl $0x30, %edx
callq 0x1e360
jmp 0x18cfa
movq -0x8d8(%rbp), %rax
movq %rax, 0x673b8(%rip)     # 0x800c0
movq 0x673b1(%rip), %rax     # 0x800c0
movb $0x1, 0x28(%rax)
movq 0x673a6(%rip), %rax     # 0x800c0
movq $0x6, 0x30(%rax)
movq 0x67397(%rip), %rax     # 0x800c0
movq $0x8, 0x38(%rax)
movq 0x67388(%rip), %rax     # 0x800c0
movq %rax, 0x67481(%rip)     # 0x801c0
leaq 0x1968b(%rip), %rdi     # 0x323d1
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
movq 0x6734c(%rip), %rdx     # 0x800a8
callq 0x23d90
movq -0x898(%rbp), %rax
movq 0x67339(%rip), %rcx     # 0x800a8
movq %rcx, 0x48(%rax)
leaq 0x1965f(%rip), %rdi     # 0x323d9
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
movabsq $0xd0ffffffffff, %rdx   # imm = 0xD0FFFFFFFFFF
callq 0x23e40
leaq 0x19641(%rip), %rdi     # 0x323e0
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
movq 0x672e3(%rip), %rdx     # 0x80098
callq 0x23d90
leaq 0x19627(%rip), %rdi     # 0x323e8
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
movq 0x672e1(%rip), %rdx     # 0x800b8
callq 0x23d90
leaq 0x18e09(%rip), %rdi     # 0x31bec
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
movq 0x672b7(%rip), %rdx     # 0x800b0
callq 0x23d90
leaq 0x195e8(%rip), %rdi     # 0x323ed
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
movq 0x672a5(%rip), %rdx     # 0x800c0
callq 0x23d90
leaq 0x195cb(%rip), %rdi     # 0x323f2
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
movq 0x67263(%rip), %rdx     # 0x800a0
callq 0x23d90
movq -0x898(%rbp), %rax
movq 0x67248(%rip), %rcx     # 0x80098
movq %rcx, 0x48(%rax)
leaq 0x18f81(%rip), %rdi     # 0x31ddc
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
movl $0x1, %edx
callq 0x23e40
movq -0x898(%rbp), %rax
movq 0x58(%rax), %rax
movq (%rax), %rax
movq %rax, 0x671d7(%rip)     # 0x80060
leaq 0x18f51(%rip), %rdi     # 0x31de1
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0x23e40
movq -0x898(%rbp), %rax
movq 0x671aa(%rip), %rcx     # 0x80060
movq %rcx, -0x8e0(%rbp)
movq 0x58(%rax), %rax
movq (%rax), %rdi
callq 0x1e970
movq -0x8e0(%rbp), %rdx
movq %rax, %rcx
movq -0x898(%rbp), %rax
movq %rdx, (%rcx)
movq 0x58(%rax), %rax
movq (%rax), %rcx
movq 0x671ad(%rip), %rax     # 0x80098
movq %rcx, 0x18(%rax)
movq $0x0, 0x67286(%rip) # 0x80180
movq $0x2, 0x6707b(%rip) # 0x7ff80
cmpq $0x5, 0x67073(%rip)     # 0x7ff80
jg 0x19029
callq 0x78c0
movq %rax, %rdx
movq 0x6705e(%rip), %rcx     # 0x7ff80
leaq 0x67267(%rip), %rax     # 0x80190
movq %rdx, (%rax,%rcx,8)
movq 0x6704c(%rip), %rax     # 0x7ff80
addq $0x1, %rax
movq %rax, 0x67041(%rip)     # 0x7ff80
jmp 0x18f05
movq -0x890(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x1e330
jmp 0x19e6c
movq -0x8a0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x1e330
jmp 0x19e6c
movq -0x8b0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x1e330
jmp 0x19e6c
movq -0x8b8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x1e330
jmp 0x19e6c
movq -0x8c0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x1e330
jmp 0x19e6c
movq -0x8c8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x1e330
jmp 0x19e6c
movq -0x8d0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x1e330
jmp 0x19e6c
movq -0x8d8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x1e330
jmp 0x19e6c
movq $0x6, 0x6714c(%rip) # 0x80180
movl $0x60, %edi
callq 0x1e2e0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x8e8(%rbp)
callq 0x21b20
jmp 0x19052
movq -0x898(%rbp), %rax
movq -0x8e8(%rbp), %rdx
movq 0x58(%rax), %rcx
movq %rdx, (%rcx)
movq 0x58(%rax), %rcx
movq (%rcx), %rcx
movq $0x0, 0x8(%rcx)
movq 0x6702b(%rip), %rdx     # 0x800a8
movq 0x58(%rax), %rcx
movq (%rcx), %rcx
movq %rdx, 0x18(%rcx)
movq 0x58(%rax), %rcx
movq (%rcx), %rcx
movl $0x3, 0x20(%rcx)
movq 0x58(%rax), %rax
movq (%rax), %rdi
callq 0x1e970
movq %rax, %rcx
movq -0x898(%rbp), %rax
movq $0x0, (%rcx)
movq 0x58(%rax), %rax
movq (%rax), %rdi
callq 0x1e6b0
movq $0x7, (%rax)
movl $0x20, %edi
callq 0x1e2e0
movq %rax, %rcx
movq -0x898(%rbp), %rax
movq %rcx, 0x67077(%rip)     # 0x80158
movq 0x66fc0(%rip), %rdx     # 0x800a8
movq 0x67069(%rip), %rcx     # 0x80158
movq %rdx, (%rcx)
movq 0x6705f(%rip), %rcx     # 0x80158
movl $0x1d, 0x8(%rcx)
movq 0x58(%rax), %rax
movq (%rax), %rcx
movq 0x6704a(%rip), %rax     # 0x80158
movq %rcx, 0x10(%rax)
movl $0x60, %edi
callq 0x1e2e0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x8f0(%rbp)
callq 0x21b20
jmp 0x19130
movq -0x8f0(%rbp), %rax
movq %rax, 0x66f2a(%rip)     # 0x80068
movq 0x66f23(%rip), %rax     # 0x80068
movl $0x2, 0x20(%rax)
movq 0x66f15(%rip), %rax     # 0x80068
movq $0x0, 0x18(%rax)
movq 0x66f06(%rip), %rdi     # 0x80068
callq 0x1e970
movq $0x0, (%rax)
movq 0x66ef3(%rip), %rdi     # 0x80068
callq 0x1ec30
movq $0x0, (%rax)
movq 0x66ee0(%rip), %rdi     # 0x80068
callq 0x23f30
movq $0x0, (%rax)
movq 0x66ecd(%rip), %rdi     # 0x80068
callq 0x20910
movq %rax, %rcx
movq -0x898(%rbp), %rax
movq $0x0, (%rcx)
movq $0x0, 0x48(%rax)
movq $0x0, 0x40(%rax)
movq $0x0, 0x20(%rax)
movq -0x898(%rbp), %rax
cmpq $0x1c, 0x20(%rax)
jg 0x19241
movq -0x898(%rbp), %rdi
movq 0x20(%rdi), %rcx
leaq 0x26357(%rip), %rax     # 0x3f540
movq (%rax,%rcx,8), %rsi
callq 0x23f80
movq -0x898(%rbp), %rax
movq 0x20(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x20(%rax)
jmp 0x191c9
movq -0x8e8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x1e330
jmp 0x19e6c
movq -0x8f0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x1e330
jmp 0x19e6c
movq -0x898(%rbp), %rax
movq $0x0, 0x40(%rax)
movq 0x66e59(%rip), %rcx     # 0x800b0
movq %rcx, 0x48(%rax)
leaq 0x18b09(%rip), %rdi     # 0x31d6b
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
callq 0x23f80
leaq 0x18afd(%rip), %rdi     # 0x31d7a
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
callq 0x23f80
leaq 0x18ad8(%rip), %rdi     # 0x31d70
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
callq 0x23f80
leaq 0x19144(%rip), %rdi     # 0x323f7
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
callq 0x23f80
leaq 0x19130(%rip), %rdi     # 0x323fe
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
callq 0x23f80
leaq 0x18ac3(%rip), %rdi     # 0x31dac
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
callq 0x23f80
leaq 0x18a7a(%rip), %rdi     # 0x31d7e
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
callq 0x23f80
leaq 0x18a63(%rip), %rdi     # 0x31d82
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
callq 0x23f80
movq -0x898(%rbp), %rax
movq 0x66d67(%rip), %rcx     # 0x800a8
movq %rcx, 0x48(%rax)
leaq 0x18a3a(%rip), %rdi     # 0x31d86
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
callq 0x23f80
movq -0x898(%rbp), %rax
movq 0x66d2a(%rip), %rcx     # 0x80098
movq %rcx, 0x48(%rax)
leaq 0x18a13(%rip), %rdi     # 0x31d8c
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
callq 0x23f80
movq -0x898(%rbp), %rax
movq 0x66d0d(%rip), %rcx     # 0x800a8
movq %rcx, 0x48(%rax)
leaq 0x189ea(%rip), %rdi     # 0x31d90
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
callq 0x23f80
movq -0x898(%rbp), %rax
movq 0x66cf0(%rip), %rcx     # 0x800b8
movq %rcx, 0x48(%rax)
leaq 0x189c1(%rip), %rdi     # 0x31d94
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
callq 0x23f80
leaq 0x189aa(%rip), %rdi     # 0x31d98
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
callq 0x23f80
leaq 0x18994(%rip), %rdi     # 0x31d9d
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
callq 0x23f80
movq -0x898(%rbp), %rax
movq 0x66c6d(%rip), %rcx     # 0x80098
movq %rcx, 0x48(%rax)
leaq 0x1896c(%rip), %rdi     # 0x31da2
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
callq 0x23f80
movq -0x898(%rbp), %rax
movq 0x66c30(%rip), %rcx     # 0x80088
movq %rcx, 0x48(%rax)
leaq 0x18943(%rip), %rdi     # 0x31da6
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
callq 0x23f80
movq -0x898(%rbp), %rax
movq 0x66c13(%rip), %rcx     # 0x80098
movq %rcx, 0x48(%rax)
leaq 0x1891a(%rip), %rdi     # 0x31daa
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
callq 0x23f80
movq -0x898(%rbp), %rax
movq 0x66bf6(%rip), %rcx     # 0x800a8
movq %rcx, 0x48(%rax)
leaq 0x188f2(%rip), %rdi     # 0x31daf
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
callq 0x23f80
leaq 0x188db(%rip), %rdi     # 0x31db3
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
callq 0x23f80
leaq 0x188c6(%rip), %rdi     # 0x31db9
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
callq 0x23f80
leaq 0x188b0(%rip), %rdi     # 0x31dbe
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
callq 0x23f80
movq -0x898(%rbp), %rax
movq 0x66b58(%rip), %rcx     # 0x80088
movq %rcx, 0x48(%rax)
leaq 0x18889(%rip), %rdi     # 0x31dc4
callq 0x7860
movq -0x898(%rbp), %rdi
movq %rax, %rsi
callq 0x23f80
movq -0x898(%rbp), %rax
movq $0x9c001e, 0x50(%rax)   # imm = 0x9C001E
movl $0x60, %edi
callq 0x1e2e0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x8f8(%rbp)
callq 0x21b20
jmp 0x1957c
movq -0x8f8(%rbp), %rax
movq %rax, 0x66ace(%rip)     # 0x80058
movq 0x66ac7(%rip), %rax     # 0x80058
movl $0x2, 0x20(%rax)
leaq 0x18e66(%rip), %rdi     # 0x32405
callq 0x7860
movq %rax, %rcx
movq -0x898(%rbp), %rax
movq %rcx, 0x10(%rax)
leaq 0x18e53(%rip), %rdi     # 0x3240c
callq 0x7860
movq %rax, %rcx
movq -0x898(%rbp), %rax
movq %rcx, 0x18(%rax)
leaq 0x18e3f(%rip), %rdi     # 0x32412
callq 0x7860
movq %rax, %rcx
movq -0x898(%rbp), %rax
movq %rcx, 0x8(%rax)
xorl %eax, %eax
movl %eax, %edi
movl $0x7, %esi
callq 0x4940
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rsi
leaq 0x668a5(%rip), %rdi     # 0x7fea8
callq 0x1db20
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rsi
movl $0x30, %edi
callq 0xaca0
movq $0x7804, 0x668d3(%rip) # imm = 0x7804
cmpl $0x0, 0x668b0(%rip)     # 0x7fedc
jne 0x19690
movq 0x66acb(%rip), %rax     # 0x80100
movq %rax, 0x66ab4(%rip)     # 0x800f0
movq 0x66abd(%rip), %rcx     # 0x80100
movq 0x66a0e(%rip), %rax     # 0x80058
movq %rcx, (%rax)
movq 0x66a04(%rip), %rdi     # 0x80058
callq 0x20910
movq $0x0, (%rax)
movl $0x1, %edi
callq 0xb9a0
movq %rax, 0xa8d3f(%rip)     # 0xc23b0
jmp 0x196d9
movq -0x8f8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x1e330
jmp 0x19e6c
movq 0x669c1(%rip), %rax     # 0x80058
movabsq $0x100000000000, %rcx   # imm = 0x100000000000
movq %rcx, (%rax)
movl $0x3, %edi
callq 0x7b40
movl $0x7, %edi
callq 0x48e0
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rsi
leaq 0x667e1(%rip), %rdi     # 0x7fea8
callq 0x1db20
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdi
callq 0xac60
movq -0x898(%rbp), %rcx
movq 0x66a19(%rip), %rax     # 0x80100
cmpq 0x8(%rcx), %rax
je 0x19766
movq 0xa8cbc(%rip), %rax     # 0xc23b0
movq %rax, 0x6abbd(%rip)     # 0x842b8
leaq 0x18d19(%rip), %rdi     # 0x3241b
callq 0x7860
movq %rax, 0x6abba(%rip)     # 0x842c8
movabsq $0x400000000000, %rax   # imm = 0x400000000000
movq %rax, 0x6aba1(%rip)     # 0x842c0
movabsq $0x400000000000, %rax   # imm = 0x400000000000
movq %rax, 0x6aba0(%rip)     # 0x842d0
movq $0x5, 0x667c5(%rip) # 0x7ff00
movabsq $0x8a78010c7802, %rax   # imm = 0x8A78010C7802
movq %rax, -0x40(%rbp)
leaq 0xbf2b8(%rip), %rdi     # 0xd8a08
leaq -0x40(%rbp), %rsi
callq 0x24060
movq $0x4001, 0x667e4(%rip) # imm = 0x4001
jmp 0x1977c
movq $0x1, 0x6678f(%rip) # 0x7ff00
movq $0x4000, 0x667cc(%rip) # imm = 0x4000
movq 0x668d5(%rip), %rdi     # 0x80058
callq 0x1ec30
movq $0x0, (%rax)
callq 0x48c0
movq %rax, -0x48(%rbp)
movq 0x668b9(%rip), %rdi     # 0x80058
callq 0x20960
movq -0x898(%rbp), %rdi
movq -0x48(%rbp), %rcx
movq %rcx, (%rax)
movq $0x1, 0x6683b(%rip) # 0x7fff8
movq 0x668e4(%rip), %rax     # 0x800a8
movq %rax, 0x48(%rdi)
addq $0x48, %rdi
movl $0x1, %esi
movl $0x6, %edx
callq 0x87b0
movq -0x898(%rbp), %rax
movq 0x48(%rax), %rcx
movq 0x668d3(%rip), %rax     # 0x800c0
movq %rcx, 0x20(%rax)
movq $0x0, 0x6680c(%rip) # 0x80008
leaq -0x1b8(%rbp), %rdi
callq 0x9790
callq 0x18120
movq $0x0, 0x66830(%rip) # 0x80048
movq $0x0, 0x6682d(%rip) # 0x80050
movq $0x0, 0x66842(%rip) # 0x80070
movq 0x66713(%rip), %rax     # 0x7ff48
movq %rax, 0x66714(%rip)     # 0x7ff50
cmpl $0xf, 0x66699(%rip)     # 0x7fedc
jne 0x1984a
jmp 0x19d69
xorl %eax, %eax
movl %eax, %edi
callq 0x48e0
movq %rax, -0x1c8(%rbp)
movq -0x1c8(%rbp), %rsi
leaq 0x66640(%rip), %rdi     # 0x7fea8
callq 0x1db20
movq %rax, -0x1c0(%rbp)
movq -0x1c0(%rbp), %rsi
movl $0x7, %edi
callq 0xaca0
movl $0x60, %edi
callq 0x1e2e0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x900(%rbp)
callq 0x21b20
jmp 0x198a3
movq -0x898(%rbp), %rax
movq -0x900(%rbp), %rcx
movq %rcx, 0x30(%rax)
movq 0x10(%rax), %rdx
movq 0x30(%rax), %rcx
movq %rdx, (%rcx)
movq 0x30(%rax), %rcx
movq $0x0, 0x8(%rcx)
movq 0x667cd(%rip), %rdx     # 0x800a0
movq 0x30(%rax), %rcx
movq %rdx, 0x18(%rcx)
movq 0x30(%rax), %rcx
movl $0x3, 0x20(%rcx)
movq 0x30(%rax), %rdi
callq 0x1e970
movq $0x0, (%rax)
leaq 0x18b27(%rip), %rdi     # 0x32424
callq 0x7860
movq %rax, %rcx
movq -0x898(%rbp), %rax
movq %rcx, 0x667dd(%rip)     # 0x800f0
movq 0x50(%rax), %rdi
callq 0x7fb0
movq %rax, %rcx
movq -0x898(%rbp), %rax
movq %rcx, -0x908(%rbp)
movq 0x30(%rax), %rdi
callq 0x1e6b0
movq -0x908(%rbp), %rdx
movq %rax, %rcx
movq -0x898(%rbp), %rax
movq %rdx, (%rcx)
movq 0x30(%rax), %rdi
callq 0x7a70
movq -0x898(%rbp), %rax
movq $0x1, 0x20(%rax)
cmpl $0x0, 0x66573(%rip)     # 0x7fedc
jne 0x19d5f
movq -0x898(%rbp), %rax
movq $0x0, 0x38(%rax)
movq 0x6677b(%rip), %rax     # 0x80100
movq %rax, 0x66764(%rip)     # 0x800f0
xorl %edi, %edi
callq 0xb9a0
movq -0x898(%rbp), %rcx
movq %rax, (%rcx)
movq 0x6675c(%rip), %rax     # 0x80100
cmpq 0x18(%rcx), %rax
jne 0x19ac1
movl $0x60, %edi
callq 0x1e2e0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x910(%rbp)
callq 0x21b20
jmp 0x199cc
movq -0x910(%rbp), %rax
movq %rax, 0x66676(%rip)     # 0x80050
movq 0x6671f(%rip), %rcx     # 0x80100
movq 0x66668(%rip), %rax     # 0x80050
movq %rcx, (%rax)
movq 0x6665e(%rip), %rax     # 0x80050
movq $0x0, 0x8(%rax)
movq 0x6669f(%rip), %rcx     # 0x800a0
movq 0x66648(%rip), %rax     # 0x80050
movq %rcx, 0x18(%rax)
movq 0x6663d(%rip), %rax     # 0x80050
movl $0x3, 0x20(%rax)
movq 0x6662f(%rip), %rdi     # 0x80050
callq 0x1e970
movq %rax, %rcx
movq -0x898(%rbp), %rax
movq $0x0, (%rcx)
movq (%rax), %rcx
movq %rcx, 0x666af(%rip)     # 0x800f0
movq 0x50(%rax), %rdi
callq 0x7fb0
movq %rax, -0x918(%rbp)
movq 0x665f8(%rip), %rdi     # 0x80050
callq 0x1e6b0
movq -0x918(%rbp), %rcx
movq %rcx, (%rax)
movq 0x665e2(%rip), %rdi     # 0x80050
callq 0x7a70
movq -0x898(%rbp), %rax
movq 0x664ef(%rip), %rcx     # 0x7ff70
movq %rcx, 0x38(%rax)
jmp 0x19af4
movq -0x900(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x1e330
jmp 0x19e6c
movq -0x910(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x1e330
jmp 0x19e6c
movq -0x898(%rbp), %rcx
movq 0x66631(%rip), %rax     # 0x80100
cmpq 0x10(%rcx), %rax
jne 0x19af2
movq -0x898(%rbp), %rax
movq 0x30(%rax), %rcx
movq %rcx, 0x66561(%rip)     # 0x80048
movq 0x66482(%rip), %rcx     # 0x7ff70
movq %rcx, 0x38(%rax)
jmp 0x19af4
movq 0x66575(%rip), %rax     # 0x80070
movq %rax, 0x664ce(%rip)     # 0x7ffd0
cmpq $0x0, 0x664c6(%rip)     # 0x7ffd0
je 0x19b4a
movq 0x664bd(%rip), %rax     # 0x7ffd0
movq (%rax), %rax
cmpq 0x665e3(%rip), %rax     # 0x80100
jne 0x19b36
movq $0x0, 0x664a6(%rip) # 0x7ffd0
movl $0x2, %edi
callq 0x7b40
jmp 0x19b48
movq 0x66493(%rip), %rax     # 0x7ffd0
movq 0x10(%rax), %rax
movq %rax, 0x66488(%rip)     # 0x7ffd0
jmp 0x19b02
movl $0x28, %edi
callq 0x1e2e0
movq %rax, %rcx
movq -0x898(%rbp), %rax
movq %rcx, 0x6646b(%rip)     # 0x7ffd0
movq 0x66594(%rip), %rdx     # 0x80100
movq 0x6645d(%rip), %rcx     # 0x7ffd0
movq %rdx, (%rcx)
movq 0x664f3(%rip), %rdx     # 0x80070
movq 0x6644c(%rip), %rcx     # 0x7ffd0
movq %rdx, 0x10(%rcx)
movq 0x38(%rax), %rdx
movq 0x6643d(%rip), %rcx     # 0x7ffd0
movq %rdx, 0x20(%rcx)
movq (%rax), %rdx
movq 0x6642f(%rip), %rcx     # 0x7ffd0
movq %rdx, 0x8(%rcx)
cmpq $0x0, 0x38(%rax)
je 0x19be0
movq -0x898(%rbp), %rcx
movq 0x66546(%rip), %rax     # 0x80100
cmpq 0x10(%rcx), %rax
jne 0x19bd0
movq 0x66409(%rip), %rax     # 0x7ffd0
movq %rax, 0x665a2(%rip)     # 0x80170
jmp 0x19bde
movq 0x663f9(%rip), %rax     # 0x7ffd0
movq %rax, 0x6659a(%rip)     # 0x80178
jmp 0x19be0
movq -0x898(%rbp), %rax
movq 0x663e2(%rip), %rcx     # 0x7ffd0
movq %rcx, 0x6647b(%rip)     # 0x80070
movq 0x20(%rax), %rcx
movq %rcx, 0x28(%rax)
movq 0x20(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x20(%rax)
leaq -0x338(%rbp), %rdi
callq 0x9790
cmpl $0x0, 0x662bc(%rip)     # 0x7fed8
jne 0x19c3d
movq -0x898(%rbp), %rax
movq 0x28(%rax), %rcx
addq $0x40, %rcx
movq %rcx, 0x28(%rax)
leaq -0x4a8(%rbp), %rdi
callq 0x9790
cmpl $0x1, 0x66298(%rip)     # 0x7fedc
jne 0x19d20
leaq 0x66497(%rip), %rdi     # 0x800e8
callq 0x1dfb0
movq %rax, %rcx
movq -0x898(%rbp), %rax
shlq $0x9, %rcx
addq 0x28(%rax), %rcx
movq %rcx, 0x28(%rax)
cmpl $0x0, 0x6620d(%rip)     # 0x7fe80
jne 0x19cb8
leaq 0x6646c(%rip), %rdi     # 0x800e8
callq 0x1dfb0
movq %rax, %rcx
movl $0x1, %eax
cmpq %rcx, %rax
jge 0x19cb8
leaq 0x66453(%rip), %rdi     # 0x800e8
callq 0x1dfb0
cmpq $0x7f, %rax
jge 0x19cb8
movq -0x898(%rbp), %rax
movq 0x28(%rax), %rcx
addq $0x80, %rcx
movq %rcx, 0x28(%rax)
jmp 0x19d12
cmpl $0x1, 0x661c1(%rip)     # 0x7fe80
jne 0x19d06
leaq 0x66420(%rip), %rdi     # 0x800e8
callq 0x1dfb0
movq %rax, %rcx
movl $0x40000, %eax          # imm = 0x40000
cmpq %rcx, %rax
jge 0x19d06
leaq 0x66407(%rip), %rdi     # 0x800e8
callq 0x1dfb0
cmpq $0xf8f73e3, %rax        # imm = 0xF8F73E3
jge 0x19d06
movq -0x898(%rbp), %rax
movq 0x28(%rax), %rcx
addq $0x100, %rcx            # imm = 0x100
movq %rcx, 0x28(%rax)
jmp 0x19d10
movl $0x4c, %edi
callq 0x7b40
jmp 0x19d12
leaq -0x618(%rbp), %rdi
callq 0x9790
jmp 0x19d2f
movq -0x898(%rbp), %rax
movq $0x200, 0x28(%rax)      # imm = 0x200
movq -0x898(%rbp), %rax
movq 0x28(%rax), %rcx
movq 0x6628f(%rip), %rax     # 0x7ffd0
movq %rcx, 0x18(%rax)
cmpl $0xe, 0x66190(%rip)     # 0x7fedc
jne 0x19d5a
leaq -0x788(%rbp), %rdi
callq 0x9790
jmp 0x19962
movl $0xc, %edi
callq 0xb110
movl $0xf, %edi
callq 0xb110
movq -0x898(%rbp), %rax
movq $0x28, 0x28(%rax)
movq -0x898(%rbp), %rsi
addq $0x28, %rsi
movq 0x662c4(%rip), %rdx     # 0x80058
leaq -0x830(%rbp), %rdi
callq 0x1a670
leaq -0x830(%rbp), %rdi
callq 0x24090
cmpl $0x10, 0x66129(%rip)    # 0x7fedc
jne 0x19d82
movzbl 0x6621d(%rip), %eax     # 0x7ffd9
cmpl $0x44, %eax
je 0x19de5
movzbl 0x66211(%rip), %eax     # 0x7ffd9
cmpl $0x64, %eax
je 0x19de5
movq $0x0, 0x66228(%rip) # 0x80000
movq $0x0, 0x66225(%rip) # 0x80008
jmp 0x19e22
movabsq $-0x1000000000000, %rax # imm = 0xFFFF000000000000
andq 0x6632a(%rip), %rax     # 0x80120
orq $0xffffff, %rax         # imm = 0xFFFFFF
movq %rax, 0x6631d(%rip)     # 0x80120
movb $0x0, 0x660b1(%rip)     # 0x7febb
leaq -0x888(%rbp), %rdi
callq 0x173f0
leaq -0x888(%rbp), %rdi
callq 0x229f0
callq 0x9120
movq -0x898(%rbp), %rax
movq 0x28(%rax), %rsi
leaq 0x662b7(%rip), %rdi     # 0x800f0
callq 0x4ad0
movq 0x258b3(%rip), %rax     # 0x3f6f8
orq $0x9c0000, %rax         # imm = 0x9C0000
movq 0x6629e(%rip), %rcx     # 0x800f0
andq $0xffffff, %rcx         # imm = 0xFFFFFF
orq %rcx, %rax
movq %rax, 0xa8565(%rip)     # 0xc23c8
addq $0x920, %rsp            # imm = 0x920
popq %rbp
retq
movq -0x10(%rbp), %rdi
callq 0x44c0
nopw %cs:(%rax,%rax)