// File: /workspace/github_cpp_makefile_star2_O1/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x838, %rsp            # imm = 0x838
movq %rdi, %rbx
movq 0xab987(%rip), %rax     # 0xbd388
movq -0x8(%rax), %rax
addq $0x28, %rax
movq %rax, 0x58(%rdi)
movl $0x30, %r15d
movl $0x30, %edi
callq 0x3d03
movl $0x1, %r12d
movq %r12, (%rax)
movq %r12, 0x8(%rax)
movl $0x1, %ebp
movl %ebp, 0x10(%rax)
movq %rax, 0x52faf(%rip)     # 0x649e8
movq $0x2, 0x20(%rax)
xorl %r14d, %r14d
movq %r14, 0x28(%rax)
movl $0x30, %edi
callq 0x3d03
movq %r12, (%rax)
movq %r15, 0x8(%rax)
movl %ebp, 0x10(%rax)
movq %rax, 0x52f95(%rip)     # 0x649f8
movq $0x186a0, 0x20(%rax)    # imm = 0x186A0
movq $-0x1, %r13
movq %r13, 0x28(%rax)
movq %r14, 0x18(%rax)
movl $0x30, %edi
callq 0x3d03
movq %r12, (%rax)
movl $0x8, %ecx
movq %rcx, 0x8(%rax)
movl %ebp, 0x10(%rax)
movq %rax, 0x52f6e(%rip)     # 0x64a08
movq $0x100, 0x20(%rax)      # imm = 0x100
movq %r13, 0x28(%rax)
movq %r14, 0x18(%rax)
movl $0x18, %edi
callq 0x3d03
movq %r12, (%rax)
movq %r15, 0x8(%rax)
movl $0x0, 0x10(%rax)
movq %rax, 0x52f37(%rip)     # 0x64a00
movl $0x20, %edi
callq 0x3d03
movq 0x52f1e(%rip), %rcx     # 0x649f8
movq %r12, (%rax)
movq %r15, 0x8(%rax)
movl $0x4, 0x10(%rax)
movq %rcx, 0x18(%rax)
movq %rax, 0x52eed(%rip)     # 0x649e0
movl $0x20, %edi
callq 0x3d03
movq %r12, (%rax)
movq %r15, 0x8(%rax)
movl $0x3, 0x10(%rax)
movq %r14, 0x18(%rax)
movq %rax, 0x52ec2(%rip)     # 0x649d8
movq %rax, 0x18(%rax)
movl $0x28, %edi
callq 0x3d03
movq 0x52edd(%rip), %rcx     # 0x64a08
movq $0x1e, (%rax)
movq %r15, 0x8(%rax)
movl $0x7, 0x10(%rax)
movq %rcx, 0x18(%rax)
movl $0x8, %ecx
movq %rcx, 0x20(%rax)
movl $0x8, %r13d
movq %rax, 0x52e99(%rip)     # 0x649f0
movl $0x40, %edi
callq 0x3d03
movq 0x52ea0(%rip), %rcx     # 0x64a08
movq %r12, (%rax)
movq %r15, 0x8(%rax)
movl $0x5, 0x10(%rax)
movq %rcx, 0x18(%rax)
movq %rax, 0x52e8f(%rip)     # 0x64a10
movb $0x1, 0x28(%rax)
movq $0x6, 0x30(%rax)
movq %r13, 0x38(%rax)
movq %rax, 0x52f78(%rip)     # 0x64b10
movb $0x49, %cl
leaq 0xab69f(%rip), %r15     # 0xbd240
leaq 0xb79a(%rip), %rax      # 0x1d342
movq %r14, %rdx
shlq $0x6, %rdx
movzbl %cl, %ecx
movsbq (%rcx,%r15), %r14
orq %rdx, %r14
movb (%r12,%rax), %cl
incq %r12
cmpq $0x8, %r12
jne 0x11ba8
movq 0x52e2a(%rip), %rdx     # 0x649f8
movq %rbx, %rdi
movq %r14, %rsi
callq 0x18ac6
movq 0x52e18(%rip), %rax     # 0x649f8
movq %rax, 0x48(%rbx)
movb $0x4d, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xb756(%rip), %rcx      # 0x1d34a
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %dl, %edx
movsbq (%rdx,%r15), %rsi
orq %rdi, %rsi
movb (%rax,%rcx), %dl
incq %rax
cmpq $0x7, %rax
jne 0x11bf4
movabsq $0xd0ffffffffff, %rdx   # imm = 0xD0FFFFFFFFFF
movq %rbx, %rdi
callq 0x18b72
movb $0x42, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xb71d(%rip), %rcx      # 0x1d351
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %dl, %edx
movsbq (%rdx,%r15), %rsi
orq %rdi, %rsi
movb (%rax,%rcx), %dl
incq %rax
cmpq $0x8, %rax
jne 0x11c34
movq 0x52d8f(%rip), %rdx     # 0x649e8
movq %rbx, %rdi
callq 0x18ac6
movb $0x43, %cl
xorl %esi, %esi
leaq 0xb6ed(%rip), %rax      # 0x1d359
xorl %edx, %edx
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %cl, %ecx
movsbq (%rcx,%r15), %rsi
orq %rdi, %rsi
movb 0x1(%rdx,%rax), %cl
incq %rdx
cmpq $0x4, %rdx
jne 0x11c6e
movq 0x52d74(%rip), %rdx     # 0x64a08
movq %rbx, %rdi
callq 0x18ac6
movb $0x52, %cl
xorl %esi, %esi
leaq 0xaebd(%rip), %rax      # 0x1cb64
xorl %edx, %edx
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %cl, %ecx
movsbq (%rcx,%r15), %rsi
orq %rdi, %rsi
movb 0x1(%rdx,%rax), %cl
incq %rdx
cmpq $0x4, %rdx
jne 0x11ca9
movq 0x52d31(%rip), %rdx     # 0x64a00
movq %rbx, %rdi
callq 0x18ac6
movb $0x41, %cl
xorl %esi, %esi
leaq 0xb67c(%rip), %rax      # 0x1d35e
xorl %edx, %edx
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %cl, %ecx
movsbq (%rcx,%r15), %rsi
orq %rdi, %rsi
movb 0x1(%rdx,%rax), %cl
incq %rdx
cmpq $0x4, %rdx
jne 0x11ce4
movq 0x52d06(%rip), %rdx     # 0x64a10
movq %rbx, %rdi
callq 0x18ac6
movb $0x54, %cl
xorl %esi, %esi
leaq 0xb646(%rip), %rax      # 0x1d363
xorl %edx, %edx
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %cl, %ecx
movsbq (%rcx,%r15), %rsi
orq %rdi, %rsi
movb 0x1(%rdx,%rax), %cl
incq %rdx
cmpq $0x4, %rdx
jne 0x11d1f
movq 0x52cab(%rip), %rdx     # 0x649f0
movq %rbx, %rdi
callq 0x18ac6
movq 0x52c94(%rip), %rax     # 0x649e8
movq %rax, 0x48(%rbx)
movb $0x54, %cl
xorl %esi, %esi
leaq 0xaff1(%rip), %rax      # 0x1cd54
xorl %edx, %edx
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %cl, %ecx
movsbq (%rcx,%r15), %rsi
orq %rdi, %rsi
movb 0x1(%rdx,%rax), %cl
incq %rdx
cmpq $0x4, %rdx
jne 0x11d65
movl $0x1, %r14d
movl $0x1, %edx
movq %rbx, %rdi
callq 0x18b72
movq 0x58(%rbx), %rax
movq (%rax), %rax
movq %rax, 0x52c0b(%rip)     # 0x649b0
movb $0x46, %cl
xorl %esi, %esi
leaq 0xafa9(%rip), %rax      # 0x1cd59
movq %rsi, %rdx
shlq $0x6, %rdx
movzbl %cl, %ecx
movsbq (%rcx,%r15), %rsi
orq %rdx, %rsi
movb (%r14,%rax), %cl
incq %r14
cmpq $0x6, %r14
jne 0x11db0
movq %rbx, %rdi
xorl %edx, %edx
callq 0x18b72
movq 0x58(%rbx), %rax
movq (%rax), %rax
cmpl $0x0, 0x20(%rax)
je 0x12c33
movq 0x52bbf(%rip), %rcx     # 0x649b0
movq %rcx, 0x28(%rax)
movq 0x58(%rbx), %rax
movq (%rax), %rax
movq 0x52be5(%rip), %rcx     # 0x649e8
movq %rax, 0x18(%rcx)
movq $0x0, 0x52cbe(%rip) # 0x64ad0
movq $0x2, 0x52ab3(%rip) # 0x648d0
leaq 0x52cbc(%rip), %r14     # 0x64ae0
callq 0x5702
movq 0x52aa0(%rip), %rcx     # 0x648d0
movq %rax, (%r14,%rcx,8)
leaq 0x1(%rcx), %rax
movq %rax, 0x52a91(%rip)     # 0x648d0
cmpq $0x5, %rcx
jl 0x11e24
movq $0x6, 0x52c80(%rip) # 0x64ad0
movl $0x60, %edi
callq 0x3d03
movl $0x6, 0x20(%rax)
movq 0x58(%rbx), %rcx
movq %rax, (%rcx)
movq 0x58(%rbx), %rax
movq (%rax), %rcx
xorl %edx, %edx
movq %rdx, 0x8(%rcx)
movq 0x52b7c(%rip), %rsi     # 0x649f8
movq %rsi, 0x18(%rcx)
movq (%rax), %rax
movl $0x3, 0x20(%rax)
movq %rdx, 0x28(%rax)
movq 0x58(%rbx), %rax
movq (%rax), %rax
cmpl $0x0, 0x20(%rax)
je 0x12c14
movq $0x7, 0x30(%rax)
movl $0x20, %edi
callq 0x3d03
movq %rax, 0x52bf0(%rip)     # 0x64aa8
movq 0x52b39(%rip), %rcx     # 0x649f8
movq %rcx, (%rax)
movq 0x52bdf(%rip), %rax     # 0x64aa8
movl $0x1d, 0x8(%rax)
movq 0x58(%rbx), %rcx
movq (%rcx), %rcx
movq %rcx, 0x10(%rax)
movl $0x60, %edi
callq 0x3d03
movl $0x6, 0x20(%rax)
movq %rax, 0x52ac5(%rip)     # 0x649b8
movl $0x2, 0x20(%rax)
xorl %ecx, %ecx
movq %rcx, 0x18(%rax)
movq %rcx, 0x28(%rax)
movq %rcx, 0x50(%rax)
xorps %xmm0, %xmm0
movups %xmm0, 0x38(%rax)
movq %rcx, 0x20(%rbx)
movups %xmm0, 0x40(%rbx)
leaq 0x12382(%rip), %r14     # 0x242a0
movq (%r14,%rcx,8), %rsi
movq %rbx, %rdi
callq 0x18c5a
movq 0x20(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x20(%rbx)
cmpq $0x1c, %rax
jl 0x11f1e
movq $0x0, 0x40(%rbx)
movq 0x52ab5(%rip), %rax     # 0x64a00
movq %rax, 0x48(%rbx)
movb $0x53, %cl
xorl %esi, %esi
leaq 0xad89(%rip), %rax      # 0x1cce3
xorl %edx, %edx
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %cl, %ecx
movsbq (%rcx,%r15), %rsi
orq %rdi, %rsi
movb 0x1(%rdx,%rax), %cl
incq %rdx
cmpq $0x4, %rdx
jne 0x11f5c
movq %rbx, %rdi
callq 0x18c5a
movb $0x53, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xad5f(%rip), %rcx      # 0x1ccf2
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %dl, %edx
movsbq (%rdx,%r15), %rsi
orq %rdi, %rsi
movb (%rax,%rcx), %dl
incq %rax
cmpq $0x4, %rax
jne 0x11f93
movq %rbx, %rdi
callq 0x18c5a
movb $0x43, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xad1f(%rip), %rcx      # 0x1cce8
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %dl, %edx
movsbq (%rdx,%r15), %rsi
orq %rdi, %rsi
movb (%rax,%rcx), %dl
incq %rax
cmpq $0x4, %rax
jne 0x11fc9
movq %rbx, %rdi
callq 0x18c5a
movb $0x41, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xb369(%rip), %rcx      # 0x1d368
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %dl, %edx
movsbq (%rdx,%r15), %rsi
orq %rdi, %rsi
movb (%rax,%rcx), %dl
incq %rax
cmpq $0x7, %rax
jne 0x11fff
movq %rbx, %rdi
callq 0x18c5a
movb $0x41, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xb33a(%rip), %rcx      # 0x1d36f
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %dl, %edx
movsbq (%rdx,%r15), %rsi
orq %rdi, %rsi
movb (%rax,%rcx), %dl
incq %rax
cmpq $0x7, %rax
jne 0x12035
movq %rbx, %rdi
callq 0x18c5a
movb $0x4c, %cl
xorl %esi, %esi
leaq 0xacbe(%rip), %rax      # 0x1cd24
xorl %edx, %edx
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %cl, %ecx
movsbq (%rcx,%r15), %rsi
orq %rdi, %rsi
movb 0x1(%rdx,%rax), %cl
incq %rdx
cmpq $0x2, %rdx
jne 0x12068
movq %rbx, %rdi
callq 0x18c5a
movb $0x45, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xac57(%rip), %rcx      # 0x1ccf6
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %dl, %edx
movsbq (%rdx,%r15), %rsi
orq %rdi, %rsi
movb (%rax,%rcx), %dl
incq %rax
cmpq $0x4, %rax
jne 0x1209f
movq %rbx, %rdi
callq 0x18c5a
movb $0x41, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xac25(%rip), %rcx      # 0x1ccfa
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %dl, %edx
movsbq (%rdx,%r15), %rsi
orq %rdi, %rsi
movb (%rax,%rcx), %dl
incq %rax
cmpq $0x4, %rax
jne 0x120d5
movq %rbx, %rdi
callq 0x18c5a
movq 0x528f6(%rip), %rax     # 0x649f8
movq %rax, 0x48(%rbx)
movb $0x54, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xabe8(%rip), %rcx      # 0x1ccfe
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %dl, %edx
movsbq (%rdx,%r15), %rsi
orq %rdi, %rsi
movb (%rax,%rcx), %dl
incq %rax
cmpq $0x6, %rax
jne 0x12116
movq %rbx, %rdi
callq 0x18c5a
movq 0x528a5(%rip), %rax     # 0x649e8
movq %rax, 0x48(%rbx)
movb $0x4f, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xabad(%rip), %rcx      # 0x1cd04
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %dl, %edx
movsbq (%rdx,%r15), %rsi
orq %rdi, %rsi
movb (%rax,%rcx), %dl
incq %rax
cmpq $0x4, %rax
jne 0x12157
movq %rbx, %rdi
callq 0x18c5a
movq 0x52874(%rip), %rax     # 0x649f8
movq %rax, 0x48(%rbx)
movb $0x4f, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xab70(%rip), %rcx      # 0x1cd08
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %dl, %edx
movsbq (%rdx,%r15), %rsi
orq %rdi, %rsi
movb (%rax,%rcx), %dl
incq %rax
cmpq $0x4, %rax
jne 0x12198
movq %rbx, %rdi
callq 0x18c5a
movq 0x52843(%rip), %rax     # 0x64a08
movq %rax, 0x48(%rbx)
movb $0x43, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xab33(%rip), %rcx      # 0x1cd0c
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %dl, %edx
movsbq (%rdx,%r15), %rsi
orq %rdi, %rsi
movb (%rax,%rcx), %dl
incq %rax
cmpq $0x4, %rax
jne 0x121d9
movq %rbx, %rdi
callq 0x18c5a
movb $0x53, %cl
xorl %esi, %esi
leaq 0xab06(%rip), %rax      # 0x1cd10
xorl %edx, %edx
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %cl, %ecx
movsbq (%rcx,%r15), %rsi
orq %rdi, %rsi
movb 0x1(%rdx,%rax), %cl
incq %rdx
cmpq $0x4, %rdx
jne 0x1220c
movq %rbx, %rdi
callq 0x18c5a
movb $0x50, %cl
xorl %esi, %esi
leaq 0xaad7(%rip), %rax      # 0x1cd15
xorl %edx, %edx
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %cl, %ecx
movsbq (%rcx,%r15), %rsi
orq %rdi, %rsi
movb 0x1(%rdx,%rax), %cl
incq %rdx
cmpq $0x4, %rdx
jne 0x12240
movq %rbx, %rdi
callq 0x18c5a
movq 0x5277a(%rip), %rax     # 0x649e8
movq %rax, 0x48(%rbx)
movb $0x45, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xaa98(%rip), %rcx      # 0x1cd1a
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %dl, %edx
movsbq (%rdx,%r15), %rsi
orq %rdi, %rsi
movb (%rax,%rcx), %dl
incq %rax
cmpq $0x4, %rax
jne 0x12282
movq %rbx, %rdi
callq 0x18c5a
movq 0x52729(%rip), %rax     # 0x649d8
movq %rax, 0x48(%rbx)
movb $0x52, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xaa5b(%rip), %rcx      # 0x1cd1e
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %dl, %edx
movsbq (%rdx,%r15), %rsi
orq %rdi, %rsi
movb (%rax,%rcx), %dl
incq %rax
cmpq $0x4, %rax
jne 0x122c3
movq %rbx, %rdi
callq 0x18c5a
movq 0x526f8(%rip), %rax     # 0x649e8
movq %rax, 0x48(%rbx)
movb $0x45, %cl
xorl %esi, %esi
leaq 0xaa23(%rip), %rax      # 0x1cd22
xorl %edx, %edx
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %cl, %ecx
movsbq (%rcx,%r15), %rsi
orq %rdi, %rsi
movb 0x1(%rdx,%rax), %cl
incq %rdx
cmpq $0x4, %rdx
jne 0x12301
movq %rbx, %rdi
callq 0x18c5a
movq 0x526c9(%rip), %rax     # 0x649f8
movq %rax, 0x48(%rbx)
movb $0x53, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xa9e4(%rip), %rcx      # 0x1cd27
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %dl, %edx
movsbq (%rdx,%r15), %rsi
orq %rdi, %rsi
movb (%rax,%rcx), %dl
incq %rax
cmpq $0x4, %rax
jne 0x12343
movq %rbx, %rdi
callq 0x18c5a
movb $0x52, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xa9b2(%rip), %rcx      # 0x1cd2b
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %dl, %edx
movsbq (%rdx,%r15), %rsi
orq %rdi, %rsi
movb (%rax,%rcx), %dl
incq %rax
cmpq $0x6, %rax
jne 0x12379
movq %rbx, %rdi
callq 0x18c5a
movb $0x43, %cl
xorl %esi, %esi
leaq 0xa987(%rip), %rax      # 0x1cd31
xorl %edx, %edx
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %cl, %ecx
movsbq (%rcx,%r15), %rsi
orq %rdi, %rsi
movb 0x1(%rdx,%rax), %cl
incq %rdx
cmpq $0x4, %rdx
jne 0x123ac
movq %rbx, %rdi
callq 0x18c5a
movb $0x4d, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xa953(%rip), %rcx      # 0x1cd36
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %dl, %edx
movsbq (%rdx,%r15), %rsi
orq %rdi, %rsi
movb (%rax,%rcx), %dl
incq %rax
cmpq $0x6, %rax
jne 0x123e3
movq %rbx, %rdi
callq 0x18c5a
movq 0x525c8(%rip), %rax     # 0x649d8
movq %rax, 0x48(%rbx)
movb $0x50, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xa918(%rip), %rcx      # 0x1cd3c
movq %rsi, %rdi
shlq $0x6, %rdi
movzbl %dl, %edx
movsbq (%rdx,%r15), %rsi
orq %rdi, %rsi
movb (%rax,%rcx), %dl
incq %rax
cmpq $0x4, %rax
jne 0x12424
movq %rbx, %rdi
callq 0x18c5a
movq $0x9c001e, 0x50(%rbx)   # imm = 0x9C001E
movl $0x60, %edi
callq 0x3d03
movl $0x6, 0x20(%rax)
movq %rax, 0x5253e(%rip)     # 0x649a8
movl $0x2, 0x20(%rax)
movb $0x4f, %sil
movl $0x1, %eax
xorl %edx, %edx
leaq 0xaef4(%rip), %rcx      # 0x1d376
movq %rdx, %rdi
shlq $0x6, %rdi
movzbl %sil, %edx
movsbq (%rdx,%r15), %rdx
orq %rdi, %rdx
movb (%rax,%rcx), %sil
incq %rax
cmpq $0x7, %rax
jne 0x12482
movq %rdx, 0x10(%rbx)
movb $0x49, %sil
movl $0x1, %eax
xorl %edx, %edx
leaq 0xaec6(%rip), %rcx      # 0x1d37d
movq %rdx, %rdi
shlq $0x6, %rdi
movzbl %sil, %edx
movsbq (%rdx,%r15), %rdx
orq %rdi, %rdx
movb (%rax,%rcx), %sil
incq %rax
cmpq $0x6, %rax
jne 0x124b7
movq %rdx, 0x18(%rbx)
movb $0x4e, %dl
xorl %ecx, %ecx
leaq 0xae9d(%rip), %rax      # 0x1d383
xorl %esi, %esi
movq %rcx, %rdi
shlq $0x6, %rdi
movzbl %dl, %ecx
movsbq (%rcx,%r15), %rcx
orq %rdi, %rcx
movb 0x1(%rsi,%rax), %dl
incq %rsi
cmpq $0x8, %rsi
jne 0x124e8
movq %rcx, 0x8(%rbx)
movabsq $0x7effffffffff, %rax   # imm = 0x7EFFFFFFFFFF
andq 0x522dc(%rip), %rax     # 0x647f8
movabsq $0x810000000000, %rsi   # imm = 0x810000000000
orq %rax, %rsi
movl $0x30, %edi
callq 0x7fc6
movq $0x7804, 0x5230a(%rip) # imm = 0x7804
cmpl $0x0, 0x522e7(%rip)     # 0x6482c
je 0x12582
movq 0x5245a(%rip), %rax     # 0x649a8
movabsq $0x100000000000, %rcx   # imm = 0x100000000000
movq %rcx, (%rax)
movl $0x3, %edi
callq 0x589e
movabsq $0xfeffffffffff, %rdi   # imm = 0xFEFFFFFFFFFF
andq 0x52282(%rip), %rdi     # 0x647f8
btsq $0x28, %rdi
callq 0x7f7c
jmp 0x125bd
movq 0x524c7(%rip), %rcx     # 0x64a50
movq %rcx, 0x524b0(%rip)     # 0x64a40
movq 0x52411(%rip), %rax     # 0x649a8
movq %rcx, (%rax)
cmpl $0x2, 0x20(%rax)
jne 0x12c71
movq $0x0, 0x50(%rax)
movl $0x1, %edi
callq 0x8824
movq %rax, 0x94743(%rip)     # 0xa6d00
movq 0x5248c(%rip), %rax     # 0x64a50
cmpq 0x8(%rbx), %rax
jne 0x125df
movq $0x1, 0x5227b(%rip) # 0x64850
movl $0x4000, %eax           # imm = 0x4000
jmp 0x12685
movq 0x9471a(%rip), %rax     # 0xa6d00
movq %rax, 0x5661b(%rip)     # 0x68c08
movb $0x50, %dl
xorl %eax, %eax
leaq 0xad94(%rip), %rcx      # 0x1d38c
xorl %esi, %esi
movq %rax, %rdi
shlq $0x6, %rdi
movzbl %dl, %eax
movsbq (%rax,%r15), %rax
orq %rdi, %rax
movb 0x1(%rsi,%rcx), %dl
incq %rsi
cmpq $0x8, %rsi
jne 0x125fa
movabsq $0x8a78010c7802, %rcx   # imm = 0x8A78010C7802
movq %rax, 0x565ee(%rip)     # 0x68c18
movabsq $0x400000000000, %rax   # imm = 0x400000000000
movq %rax, 0x565d5(%rip)     # 0x68c10
movq %rax, 0x565de(%rip)     # 0x68c20
movq $0x5, 0x52203(%rip) # 0x64850
movq %rcx, (%rsp)
movq 0xaad08(%rip), %rsi     # 0xbd360
cmpq 0xaad09(%rip), %rsi     # 0xbd368
je 0x12671
movq %rcx, (%rsi)
addq $0x8, %rsi
movq %rsi, 0xaacf1(%rip)     # 0xbd360
jmp 0x12680
leaq 0xaace0(%rip), %rdi     # 0xbd358
movq %rsp, %rdx
callq 0x1b764
movl $0x4001, %eax           # imm = 0x4001
movq %rax, 0x5220c(%rip)     # 0x64898
movq 0x52315(%rip), %rax     # 0x649a8
cmpl $0x2, 0x20(%rax)
jne 0x12c52
xorl %r14d, %r14d
movq %r14, 0x38(%rax)
movq %r14, 0x58(%rax)
movl $0x1, %r12d
movq %r12, 0x52293(%rip)     # 0x64948
movq 0x5233c(%rip), %rax     # 0x649f8
movq %rax, 0x48(%rbx)
movl $0x38, %edi
callq 0x3d03
movq %r12, (%rax)
movq $0x30, 0x8(%rax)
movl $0x2, 0x10(%rax)
movq 0x48(%rbx), %rcx
movq %rcx, 0x18(%rax)
movq %r14, 0x20(%rax)
movq %r12, 0x28(%rax)
movq $0x6, 0x30(%rax)
movq $0x3, 0x8(%rax)
movq %rax, 0x48(%rbx)
movq 0x52309(%rip), %rcx     # 0x64a10
movq %rax, 0x20(%rcx)
movq %r14, 0x52246(%rip)     # 0x64958
leaq 0x6c8(%rsp), %rdi
callq 0x6e26
callq 0x111e3
movq %r14, 0x5226d(%rip)     # 0x64998
movq %r14, 0x5226e(%rip)     # 0x649a0
movq %r14, 0x52287(%rip)     # 0x649c0
movq 0x52158(%rip), %rax     # 0x64898
movq %rax, 0x52159(%rip)     # 0x648a0
cmpl $0xf, 0x520de(%rip)     # 0x6482c
je 0x12b41
movabsq $0x7fffffffffff, %rax   # imm = 0x7FFFFFFFFFFF
movq 0x52093(%rip), %rcx     # 0x647f8
andq %rax, %rcx
leaq (%rcx,%rax), %rsi
incq %rsi
movl $0x7, %edi
callq 0x7fc6
movl $0x60, %edi
callq 0x3d03
movl $0x6, 0x20(%rax)
movq %rax, 0x30(%rbx)
movq 0x10(%rbx), %rcx
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq 0x5224e(%rip), %rdx     # 0x649f0
movq %rdx, 0x18(%rax)
movl $0x3, 0x20(%rax)
movq %rcx, 0x28(%rax)
movb $0x2a, %sil
leaq 0xabda(%rip), %rax      # 0x1d395
xorl %edx, %edx
movq %rcx, %rdi
shlq $0x6, %rdi
movzbl %sil, %ecx
movsbq (%rcx,%r15), %rcx
orq %rdi, %rcx
movb 0x1(%rdx,%rax), %sil
incq %rdx
cmpq $0x8, %rdx
jne 0x127bd
movq %rcx, 0x5225b(%rip)     # 0x64a40
movq 0x50(%rbx), %rdi
callq 0x5ba8
movq 0x30(%rbx), %rsi
cmpl $0x0, 0x20(%rsi)
je 0x12c14
movq %rax, 0x30(%rsi)
movq (%rsi), %rcx
movabsq $-0x7fff7fff7fff7fff, %rdx # imm = 0x8000800080008001
movq %rcx, %rax
imulq %rdx
addq %rcx, %rdx
movq %rdx, %rax
shrq $0x3f, %rax
sarq $0xf, %rdx
addq %rax, %rdx
movq %rdx, %rax
shlq $0x10, %rax
subq %rax, %rdx
leaq (%rcx,%rdx), %rax
addq $0x7f, %rax
addq %rdx, %rcx
cmovnsq %rcx, %rax
movabsq $0x1fffffffffffff80, %rdx # imm = 0x1FFFFFFFFFFFFF80
andq %rdx, %rax
subq %rax, %rcx
leaq 0x5798c(%rip), %r12     # 0x6a1e0
movq (%r12,%rcx,8), %rax
movq %rax, 0x10(%rsi)
movq %rsi, (%r12,%rcx,8)
movq $0x1, 0x20(%rbx)
cmpl $0x0, 0x51fbd(%rip)     # 0x6482c
jne 0x12b37
xorl %r13d, %r13d
leaq 0x558(%rsp), %r14
leaq 0x52239(%rip), %rbp     # 0x64ac0
leaq 0x5223a(%rip), %r15     # 0x64ac8
movq $0x0, 0x38(%rbx)
movq 0x521b3(%rip), %rax     # 0x64a50
movq %rax, 0x5219c(%rip)     # 0x64a40
xorl %edi, %edi
callq 0x8824
movq %rax, (%rbx)
movq 0x5219b(%rip), %rax     # 0x64a50
cmpq 0x18(%rbx), %rax
jne 0x1297e
movl $0x60, %edi
callq 0x3d03
movl $0x6, 0x20(%rax)
movq %rax, 0x520c9(%rip)     # 0x649a0
movq 0x52172(%rip), %rcx     # 0x64a50
movq %rcx, (%rax)
movq %r13, 0x8(%rax)
movq 0x52104(%rip), %rcx     # 0x649f0
movq %rcx, 0x18(%rax)
movl $0x3, 0x20(%rax)
movq %r13, 0x28(%rax)
movq (%rbx), %rax
movq %rax, 0x5213b(%rip)     # 0x64a40
movq 0x50(%rbx), %rdi
callq 0x5ba8
movq 0x5208b(%rip), %rsi     # 0x649a0
cmpl $0x0, 0x20(%rsi)
je 0x12c14
movq %rax, 0x30(%rsi)
movq (%rsi), %rcx
movq %rcx, %rax
movabsq $-0x7fff7fff7fff7fff, %rdx # imm = 0x8000800080008001
imulq %rdx
addq %rcx, %rdx
movq %rdx, %rax
shrq $0x3f, %rax
sarq $0xf, %rdx
addq %rax, %rdx
movq %rdx, %rax
shlq $0x10, %rax
subq %rax, %rdx
leaq (%rcx,%rdx), %rax
addq $0x7f, %rax
addq %rdx, %rcx
cmovnsq %rcx, %rax
movabsq $0x1fffffffffffff80, %rdx # imm = 0x1FFFFFFFFFFFFF80
andq %rdx, %rax
subq %rax, %rcx
movq (%r12,%rcx,8), %rax
movq %rax, 0x10(%rsi)
movq %rsi, (%r12,%rcx,8)
jmp 0x1298f
cmpq 0x10(%rbx), %rax
jne 0x1299a
movq 0x30(%rbx), %rax
movq %rax, 0x52009(%rip)     # 0x64998
movq 0x51f2a(%rip), %rax     # 0x648c0
movq %rax, 0x38(%rbx)
movq 0x5201f(%rip), %rax     # 0x649c0
movq %rax, 0x51f78(%rip)     # 0x64920
testq %rax, %rax
je 0x129e4
movq (%rax), %rcx
cmpq 0x52099(%rip), %rcx     # 0x64a50
jne 0x129d0
movq $0x0, 0x51f5c(%rip) # 0x64920
movl $0x2, %edi
callq 0x589e
jmp 0x129db
movq 0x10(%rax), %rax
movq %rax, 0x51f45(%rip)     # 0x64920
movq 0x51f3e(%rip), %rax     # 0x64920
jmp 0x129a8
movl $0x28, %edi
callq 0x3d03
movq %rax, 0x51f2b(%rip)     # 0x64920
movq 0x52054(%rip), %rcx     # 0x64a50
movq %rcx, (%rax)
movq 0x51fba(%rip), %rcx     # 0x649c0
movq %rcx, 0x10(%rax)
movq 0x38(%rbx), %rcx
movq %rcx, 0x20(%rax)
movq (%rbx), %rdx
movq %rdx, 0x8(%rax)
testq %rcx, %rcx
je 0x12a33
movq 0x5202b(%rip), %rcx     # 0x64a50
cmpq 0x10(%rbx), %rcx
movq %r15, %rcx
cmoveq %rbp, %rcx
movq %rax, (%rcx)
movq %rax, 0x51f86(%rip)     # 0x649c0
movq 0x20(%rbx), %rax
movq %rax, 0x28(%rbx)
incq %rax
movq %rax, 0x20(%rbx)
movq %r14, %rdi
callq 0x6e26
cmpl $0x0, 0x51dd0(%rip)     # 0x64828
jne 0x12a6c
addq $0x40, 0x28(%rbx)
leaq 0x3e8(%rsp), %rdi
callq 0x6e26
cmpl $0x1, 0x51db9(%rip)     # 0x6482c
jne 0x12aba
movq 0x51fbc(%rip), %rax     # 0x64a38
shlq $0x17, %rax
movq %rax, %rcx
sarq $0x17, %rcx
sarq $0xe, %rax
addq 0x28(%rbx), %rax
movq %rax, 0x28(%rbx)
movl 0x51d37(%rip), %edx     # 0x647d0
testl %edx, %edx
sete %sil
leaq -0x2(%rcx), %rdi
cmpq $0x7d, %rdi
setb %dil
andb %sil, %dil
cmpb $0x1, %dil
jne 0x12ac4
subq $-0x80, %rax
jmp 0x12ae8
movq $0x200, 0x28(%rbx)      # imm = 0x200
jmp 0x12b05
cmpl $0x1, %edx
sete %dl
addq $-0x40001, %rcx         # imm = 0xFFFBFFFF
cmpq $0xf8b73e2, %rcx        # imm = 0xF8B73E2
setb %cl
andb %dl, %cl
cmpb $0x1, %cl
jne 0x12aee
addq $0x100, %rax            # imm = 0x100
movq %rax, 0x28(%rbx)
jmp 0x12af8
movl $0x4c, %edi
callq 0x589e
leaq 0x278(%rsp), %rdi
callq 0x6e26
movq 0x28(%rbx), %rax
movq 0x51e10(%rip), %rcx     # 0x64920
movq %rax, 0x18(%rcx)
cmpl $0xe, 0x51d11(%rip)     # 0x6482c
jne 0x12b2a
leaq 0x108(%rsp), %rdi
callq 0x6e26
cmpl $0x0, 0x51cfb(%rip)     # 0x6482c
je 0x1288e
movl $0xc, %edi
callq 0x82d3
movl $0xf, %edi
callq 0x82d3
movq $0x28, 0x28(%rbx)
addq $0x28, %rbx
leaq 0x60(%rsp), %r14
movq 0x51e45(%rip), %rdx     # 0x649a8
movq %r14, %rdi
movq %rbx, %rsi
callq 0x131b2
addq $-0x8, 0xaa812(%rip)    # 0xbd388
cmpl $0x10, 0x51caf(%rip)    # 0x6482c
jne 0x12b5c
movb 0x51da4(%rip), %al      # 0x64929
andb $-0x21, %al
cmpb $0x44, %al
jne 0x12bbe
movzwl 0x51ee4(%rip), %eax     # 0x64a76
shlq $0x30, %rax
orq $0xffffff, %rax         # imm = 0xFFFFFF
movq %rax, 0x51ecd(%rip)     # 0x64a70
movb $0x0, 0x51c61(%rip)     # 0x6480b
leaq 0x8(%rsp), %rdi
callq 0x10652
addq $-0x8, 0xaa87c(%rip)    # 0xbd438
jmp 0x12bce
xorl %eax, %eax
movq %rax, 0x51d89(%rip)     # 0x64950
movq %rax, 0x51d8a(%rip)     # 0x64958
callq 0x679e
movq (%rbx), %rsi
leaq 0x51e63(%rip), %rdi     # 0x64a40
callq 0x3bf2
movq 0x51e57(%rip), %rax     # 0x64a40
andl $0x63ffff, %eax         # imm = 0x63FFFF
orq 0x11863(%rip), %rax     # 0x24458
orq $0x9c0000, %rax         # imm = 0x9C0000
movq %rax, 0x94116(%rip)     # 0xa6d18
addq $0x838, %rsp            # imm = 0x838
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xa9bf(%rip), %rdi      # 0x1d5da
leaq 0xa992(%rip), %rsi      # 0x1d5b4
leaq 0xa9be(%rip), %rcx      # 0x1d5e7
movl $0x2d9, %edx            # imm = 0x2D9
callq 0x3170
leaq 0xa9a0(%rip), %rdi      # 0x1d5da
leaq 0xa973(%rip), %rsi      # 0x1d5b4
leaq 0xaaa5(%rip), %rcx      # 0x1d6ed
movl $0x2d5, %edx            # imm = 0x2D5
callq 0x3170
leaq 0xaab2(%rip), %rdi      # 0x1d70b
leaq 0xa954(%rip), %rsi      # 0x1d5b4
leaq 0xaab4(%rip), %rcx      # 0x1d71b
movl $0x2f1, %edx            # imm = 0x2F1
callq 0x3170
leaq 0xaa93(%rip), %rdi      # 0x1d70b
leaq 0xa935(%rip), %rsi      # 0x1d5b4
leaq 0xaab6(%rip), %rcx      # 0x1d73c
movl $0x2fd, %edx            # imm = 0x2FD
callq 0x3170