// File: /workspace/github_cpp_makefile_star2_O3/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 $0x9a8, %rsp            # imm = 0x9A8
movq %rdi, %rbx
movq 0xab579(%rip), %rax     # 0xbd378
movq -0x8(%rax), %rax
addq $0x28, %rax
movq %rax, 0x58(%rdi)
movl $0x30, %r15d
movl $0x30, %edi
callq 0x3d77
movl $0x1, %r12d
movq %r12, (%rax)
movq %r12, 0x8(%rax)
movl $0x1, %ebp
movl %ebp, 0x10(%rax)
movq %rax, 0x52ba1(%rip)     # 0x649d8
movq $0x2, 0x20(%rax)
xorl %r14d, %r14d
movq %r14, 0x28(%rax)
movl $0x30, %edi
callq 0x3d77
movq %r12, (%rax)
movq %r15, 0x8(%rax)
movl %ebp, 0x10(%rax)
movq %rax, 0x52b87(%rip)     # 0x649e8
movq $0x186a0, 0x20(%rax)    # imm = 0x186A0
movq $-0x1, %r13
movq %r13, 0x28(%rax)
movq %r14, 0x18(%rax)
movl $0x30, %edi
callq 0x3d77
movq %r12, (%rax)
movl $0x8, %ecx
movq %rcx, 0x8(%rax)
movl %ebp, 0x10(%rax)
movq %rax, 0x52b60(%rip)     # 0x649f8
movq $0x100, 0x20(%rax)      # imm = 0x100
movq %r13, 0x28(%rax)
movq %r14, 0x18(%rax)
movl $0x18, %edi
callq 0x3d77
movq %r12, (%rax)
movq %r15, 0x8(%rax)
movl $0x0, 0x10(%rax)
movq %rax, 0x52b29(%rip)     # 0x649f0
movl $0x20, %edi
callq 0x3d77
movq 0x52b10(%rip), %rcx     # 0x649e8
movq %r12, (%rax)
movq %r15, 0x8(%rax)
movl $0x4, 0x10(%rax)
movq %rcx, 0x18(%rax)
movq %rax, 0x52adf(%rip)     # 0x649d0
movl $0x20, %edi
callq 0x3d77
movq %r12, (%rax)
movq %r15, 0x8(%rax)
movl $0x3, 0x10(%rax)
movq %rax, 0x52ab8(%rip)     # 0x649c8
movq %rax, 0x18(%rax)
movl $0x28, %edi
callq 0x3d77
movq 0x52ad3(%rip), %rcx     # 0x649f8
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, 0x52a8f(%rip)     # 0x649e0
movl $0x40, %edi
callq 0x3d77
movq 0x52a96(%rip), %rcx     # 0x649f8
movq %r12, (%rax)
movq %r15, 0x8(%rax)
movl $0x5, 0x10(%rax)
movq %rcx, 0x18(%rax)
movq %rax, 0x52a85(%rip)     # 0x64a00
movb $0x1, 0x28(%rax)
movq $0x6, 0x30(%rax)
movq %r13, 0x38(%rax)
movq %rax, 0x52b6e(%rip)     # 0x64b00
movb $0x49, %cl
leaq 0xab295(%rip), %r15     # 0xbd230
leaq 0xb460(%rip), %rax      # 0x1d402
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 0x11fa2
movq 0x52a20(%rip), %rdx     # 0x649e8
movq %rbx, %rdi
movq %r14, %rsi
callq 0x18f90
movq 0x52a0e(%rip), %rax     # 0x649e8
movq %rax, 0x48(%rbx)
movb $0x4d, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xb41c(%rip), %rcx      # 0x1d40a
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 0x11fee
movabsq $0xd0ffffffffff, %rdx   # imm = 0xD0FFFFFFFFFF
movq %rbx, %rdi
callq 0x1902c
movb $0x42, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xb3e3(%rip), %rcx      # 0x1d411
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 0x1202e
movq 0x52985(%rip), %rdx     # 0x649d8
movq %rbx, %rdi
callq 0x18f90
movb $0x43, %cl
xorl %esi, %esi
leaq 0xb3b3(%rip), %rax      # 0x1d419
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 0x12068
movq 0x5296a(%rip), %rdx     # 0x649f8
movq %rbx, %rdi
callq 0x18f90
movb $0x52, %cl
xorl %esi, %esi
leaq 0xab83(%rip), %rax      # 0x1cc24
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 0x120a3
movq 0x52927(%rip), %rdx     # 0x649f0
movq %rbx, %rdi
callq 0x18f90
movb $0x41, %cl
xorl %esi, %esi
leaq 0xb342(%rip), %rax      # 0x1d41e
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 0x120de
movq 0x528fc(%rip), %rdx     # 0x64a00
movq %rbx, %rdi
callq 0x18f90
movb $0x54, %cl
xorl %esi, %esi
leaq 0xb30c(%rip), %rax      # 0x1d423
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 0x12119
movq 0x528a1(%rip), %rdx     # 0x649e0
movq %rbx, %rdi
callq 0x18f90
movq 0x5288a(%rip), %rax     # 0x649d8
movq %rax, 0x48(%rbx)
movb $0x54, %cl
xorl %esi, %esi
leaq 0xacb7(%rip), %rax      # 0x1ce14
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 0x1215f
movl $0x1, %r14d
movl $0x1, %edx
movq %rbx, %rdi
callq 0x1902c
movq 0x58(%rbx), %rax
movq (%rax), %rax
movq %rax, 0x52801(%rip)     # 0x649a0
movb $0x46, %cl
xorl %esi, %esi
leaq 0xac6f(%rip), %rax      # 0x1ce19
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 0x121aa
movq %rbx, %rdi
xorl %edx, %edx
callq 0x1902c
movq 0x58(%rbx), %rax
movq (%rax), %rax
cmpl $0x0, 0x20(%rax)
je 0x12ff2
movq 0x527b5(%rip), %rcx     # 0x649a0
movq %rcx, 0x28(%rax)
movq 0x58(%rbx), %rax
movq (%rax), %rax
movq 0x527db(%rip), %rcx     # 0x649d8
movq %rax, 0x18(%rcx)
movq $0x0, 0x528b4(%rip) # 0x64ac0
movq $0x2, 0x526a9(%rip) # 0x648c0
leaq 0x528b2(%rip), %r14     # 0x64ad0
callq 0x577a
movq 0x52696(%rip), %rcx     # 0x648c0
movq %rax, (%r14,%rcx,8)
leaq 0x1(%rcx), %rax
movq %rax, 0x52687(%rip)     # 0x648c0
cmpq $0x5, %rcx
jl 0x1221e
movq $0x6, 0x52876(%rip) # 0x64ac0
movl $0x60, %edi
callq 0x3d77
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 0x52772(%rip), %rsi     # 0x649e8
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 0x12fd3
movq $0x7, 0x30(%rax)
movl $0x20, %edi
callq 0x3d77
movq %rax, 0x527e6(%rip)     # 0x64a98
movq 0x5272f(%rip), %rcx     # 0x649e8
movq %rcx, (%rax)
movq 0x527d5(%rip), %rax     # 0x64a98
movl $0x1d, 0x8(%rax)
movq 0x58(%rbx), %rcx
movq (%rcx), %rcx
movq %rcx, 0x10(%rax)
movl $0x60, %edi
callq 0x3d77
movq %rax, 0x526c2(%rip)     # 0x649a8
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 0x11f7f(%rip), %r14     # 0x24290
movq (%r14,%rcx,8), %rsi
movq %rbx, %rdi
callq 0x19104
movq 0x20(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x20(%rbx)
cmpq $0x1c, %rax
jl 0x12311
movq $0x0, 0x40(%rbx)
movq 0x526b2(%rip), %rax     # 0x649f0
movq %rax, 0x48(%rbx)
movb $0x53, %cl
xorl %esi, %esi
leaq 0xaa56(%rip), %rax      # 0x1cda3
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 0x1234f
movq %rbx, %rdi
callq 0x19104
movb $0x53, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xaa2c(%rip), %rcx      # 0x1cdb2
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 0x12386
movq %rbx, %rdi
callq 0x19104
movb $0x43, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xa9ec(%rip), %rcx      # 0x1cda8
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 0x123bc
movq %rbx, %rdi
callq 0x19104
movb $0x41, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xb036(%rip), %rcx      # 0x1d428
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 0x123f2
movq %rbx, %rdi
callq 0x19104
movb $0x41, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xb007(%rip), %rcx      # 0x1d42f
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 0x12428
movq %rbx, %rdi
callq 0x19104
movsbq 0xaae26(%rip), %rax     # 0xbd27c
shlq $0x6, %rax
movsbq 0xaae1c(%rip), %rsi     # 0xbd27e
orq %rax, %rsi
movq %rbx, %rdi
callq 0x19104
movb $0x45, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xa939(%rip), %rcx      # 0x1cdb6
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 0x1247d
movq %rbx, %rdi
callq 0x19104
movb $0x41, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xa907(%rip), %rcx      # 0x1cdba
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 0x124b3
movq %rbx, %rdi
callq 0x19104
movq 0x52508(%rip), %rax     # 0x649e8
movq %rax, 0x48(%rbx)
movb $0x54, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xa8ca(%rip), %rcx      # 0x1cdbe
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 0x124f4
movq %rbx, %rdi
callq 0x19104
movq 0x524b7(%rip), %rax     # 0x649d8
movq %rax, 0x48(%rbx)
movb $0x4f, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xa88f(%rip), %rcx      # 0x1cdc4
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 0x12535
movq %rbx, %rdi
callq 0x19104
movq 0x52486(%rip), %rax     # 0x649e8
movq %rax, 0x48(%rbx)
movb $0x4f, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xa852(%rip), %rcx      # 0x1cdc8
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 0x12576
movq %rbx, %rdi
callq 0x19104
movq 0x52455(%rip), %rax     # 0x649f8
movq %rax, 0x48(%rbx)
movb $0x43, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xa815(%rip), %rcx      # 0x1cdcc
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 0x125b7
movq %rbx, %rdi
callq 0x19104
movb $0x53, %cl
xorl %esi, %esi
leaq 0xa7e8(%rip), %rax      # 0x1cdd0
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 0x125ea
movq %rbx, %rdi
callq 0x19104
movb $0x50, %cl
xorl %esi, %esi
leaq 0xa7b9(%rip), %rax      # 0x1cdd5
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 0x1261e
movq %rbx, %rdi
callq 0x19104
movq 0x5238c(%rip), %rax     # 0x649d8
movq %rax, 0x48(%rbx)
movb $0x45, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xa77a(%rip), %rcx      # 0x1cdda
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 0x12660
movq %rbx, %rdi
callq 0x19104
movq 0x5233b(%rip), %rax     # 0x649c8
movq %rax, 0x48(%rbx)
movb $0x52, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xa73d(%rip), %rcx      # 0x1cdde
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 0x126a1
movq %rbx, %rdi
callq 0x19104
movq 0x5230a(%rip), %rax     # 0x649d8
movq %rax, 0x48(%rbx)
movb $0x45, %cl
xorl %esi, %esi
leaq 0xa705(%rip), %rax      # 0x1cde2
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 0x126df
movq %rbx, %rdi
callq 0x19104
movq 0x522db(%rip), %rax     # 0x649e8
movq %rax, 0x48(%rbx)
movb $0x53, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xa6c6(%rip), %rcx      # 0x1cde7
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 0x12721
movq %rbx, %rdi
callq 0x19104
movb $0x52, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xa694(%rip), %rcx      # 0x1cdeb
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 0x12757
movq %rbx, %rdi
callq 0x19104
movb $0x43, %cl
xorl %esi, %esi
leaq 0xa669(%rip), %rax      # 0x1cdf1
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 0x1278a
movq %rbx, %rdi
callq 0x19104
movb $0x4d, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xa635(%rip), %rcx      # 0x1cdf6
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 0x127c1
movq %rbx, %rdi
callq 0x19104
movq 0x521da(%rip), %rax     # 0x649c8
movq %rax, 0x48(%rbx)
movb $0x50, %dl
movl $0x1, %eax
xorl %esi, %esi
leaq 0xa5fa(%rip), %rcx      # 0x1cdfc
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 0x12802
movq %rbx, %rdi
callq 0x19104
movq $0x9c001e, 0x50(%rbx)   # imm = 0x9C001E
movl $0x60, %edi
callq 0x3d77
movq %rax, 0x52157(%rip)     # 0x64998
movl $0x2, 0x20(%rax)
movb $0x4f, %sil
movl $0x1, %eax
xorl %edx, %edx
leaq 0xabdd(%rip), %rcx      # 0x1d436
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 0x12859
movq %rdx, 0x10(%rbx)
movb $0x49, %sil
movl $0x1, %eax
xorl %edx, %edx
leaq 0xabaf(%rip), %rcx      # 0x1d43d
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 0x1288e
movq %rdx, 0x18(%rbx)
movb $0x4e, %dl
xorl %ecx, %ecx
leaq 0xab86(%rip), %rax      # 0x1d443
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 0x128bf
movq %rcx, 0x8(%rbx)
movabsq $0x7effffffffff, %rax   # imm = 0x7EFFFFFFFFFF
andq 0x51ef5(%rip), %rax     # 0x647e8
movabsq $0x810000000000, %rsi   # imm = 0x810000000000
orq %rax, %rsi
movl $0x30, %edi
callq 0x80a2
movq $0x7804, 0x51f23(%rip) # imm = 0x7804
cmpl $0x0, 0x51f00(%rip)     # 0x6481c
je 0x1297a
movq 0x52073(%rip), %rax     # 0x64998
movabsq $0x100000000000, %rcx   # imm = 0x100000000000
movq %rcx, (%rax)
movl $0x3, %edi
callq 0x58ff
movabsq $0xfeffffffffff, %r12   # imm = 0xFEFFFFFFFFFF
andq 0x51e9b(%rip), %r12     # 0x647e8
btsq $0x28, %r12
leaq 0x60(%rsp), %r14
movl 0x51ebf(%rip), %eax     # 0x6481c
cmpq $0x2f, %rax
ja 0x12970
movb $0x2f, %cl
subb %al, %cl
movzbl %cl, %eax
btq %rax, %r12
jb 0x129b5
movq %r14, %rdi
callq 0x6f40
jmp 0x12957
movq 0x520bf(%rip), %rcx     # 0x64a40
movq %rcx, 0x520a8(%rip)     # 0x64a30
movq 0x52009(%rip), %rax     # 0x64998
movq %rcx, (%rax)
cmpl $0x2, 0x20(%rax)
jne 0x13030
movq $0x0, 0x50(%rax)
movl $0x1, %edi
callq 0x883d
movq %rax, 0x9433b(%rip)     # 0xa6cf0
movq 0x52084(%rip), %rax     # 0x64a40
cmpq 0x8(%rbx), %rax
jne 0x129d7
movq $0x1, 0x51e73(%rip) # 0x64840
movl $0x4000, %eax           # imm = 0x4000
jmp 0x12a80
movq 0x94312(%rip), %rax     # 0xa6cf0
movq %rax, 0x56213(%rip)     # 0x68bf8
movb $0x50, %dl
xorl %eax, %eax
leaq 0xaa5c(%rip), %rcx      # 0x1d44c
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 0x129f2
movabsq $0x8a78010c7802, %rcx   # imm = 0x8A78010C7802
movq %rax, 0x561e6(%rip)     # 0x68c08
movabsq $0x400000000000, %rax   # imm = 0x400000000000
movq %rax, 0x561cd(%rip)     # 0x68c00
movq %rax, 0x561d6(%rip)     # 0x68c10
movq $0x5, 0x51dfb(%rip) # 0x64840
movq %rcx, 0x60(%rsp)
movq 0xaa8ff(%rip), %rsi     # 0xbd350
cmpq 0xaa900(%rip), %rsi     # 0xbd358
je 0x12a6a
movq %rcx, (%rsi)
addq $0x8, %rsi
movq %rsi, 0xaa8e8(%rip)     # 0xbd350
jmp 0x12a7b
leaq 0xaa8d7(%rip), %rdi     # 0xbd348
leaq 0x60(%rsp), %rdx
callq 0x1bb6e
movl $0x4001, %eax           # imm = 0x4001
movq %rax, 0x51e01(%rip)     # 0x64888
movq 0x51f0a(%rip), %rax     # 0x64998
cmpl $0x2, 0x20(%rax)
jne 0x13011
xorl %r14d, %r14d
movq %r14, 0x38(%rax)
movq %r14, 0x58(%rax)
movl $0x1, %r12d
movq %r12, 0x51e88(%rip)     # 0x64938
movq 0x51f31(%rip), %rax     # 0x649e8
movq %rax, 0x48(%rbx)
movl $0x38, %edi
callq 0x3d77
movq %r12, (%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 0x51f06(%rip), %rcx     # 0x64a00
movq %rax, 0x20(%rcx)
movq %r14, 0x51e43(%rip)     # 0x64948
leaq 0x838(%rsp), %rdi
callq 0x6f40
callq 0x114bc
movq %r14, 0x51e6a(%rip)     # 0x64988
movq %r14, 0x51e6b(%rip)     # 0x64990
movq %r14, 0x51e84(%rip)     # 0x649b0
movq 0x51d55(%rip), %rax     # 0x64888
movq %rax, 0x51d56(%rip)     # 0x64890
cmpl $0xf, 0x51cdb(%rip)     # 0x6481c
je 0x12efd
movabsq $0x7fffffffffff, %rax   # imm = 0x7FFFFFFFFFFF
movq 0x51c90(%rip), %rcx     # 0x647e8
andq %rax, %rcx
leaq (%rcx,%rax), %rsi
incq %rsi
movl $0x7, %edi
callq 0x80a2
movl $0x60, %edi
callq 0x3d77
movq %rax, 0x30(%rbx)
movq 0x10(%rbx), %rcx
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq 0x51e52(%rip), %rdx     # 0x649e0
movq %rdx, 0x18(%rax)
movl $0x3, 0x20(%rax)
movq %rcx, 0x28(%rax)
movb $0x2a, %sil
leaq 0xa8ae(%rip), %rax      # 0x1d455
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 0x12ba9
movq %rcx, 0x51e5f(%rip)     # 0x64a30
movq 0x50(%rbx), %rdi
callq 0x5c15
movq 0x30(%rbx), %rsi
cmpl $0x0, 0x20(%rsi)
je 0x12fd3
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
shrq $0xf, %rdx
addl %eax, %edx
movl %edx, %eax
shll $0x10, %eax
subl %eax, %edx
leal (%rcx,%rdx), %eax
addl $0x7f, %eax
addl %edx, %ecx
cmovnsl %ecx, %eax
andl $-0x80, %eax
subl %eax, %ecx
movslq %ecx, %rax
leaq 0x575a0(%rip), %r15     # 0x6a1d0
movq (%r15,%rax,8), %rcx
movq %rcx, 0x10(%rsi)
movq %rsi, (%r15,%rax,8)
movq $0x1, 0x20(%rbx)
cmpl $0x0, 0x51bd1(%rip)     # 0x6481c
jne 0x12ef3
xorl %r12d, %r12d
leaq 0x6c8(%rsp), %r14
leaq 0x51e4d(%rip), %r13     # 0x64ab0
leaq 0x51e4e(%rip), %rbp     # 0x64ab8
movq $0x0, 0x38(%rbx)
movq 0x51dc7(%rip), %rax     # 0x64a40
movq %rax, 0x51db0(%rip)     # 0x64a30
xorl %edi, %edi
callq 0x883d
movq %rax, (%rbx)
movq 0x51daf(%rip), %rax     # 0x64a40
cmpq 0x18(%rbx), %rax
jne 0x12d43
movl $0x60, %edi
callq 0x3d77
movq %rax, 0x51ce4(%rip)     # 0x64990
movq 0x51d8d(%rip), %rcx     # 0x64a40
movq %rcx, (%rax)
movq %r12, 0x8(%rax)
movq 0x51d1f(%rip), %rcx     # 0x649e0
movq %rcx, 0x18(%rax)
movl $0x3, 0x20(%rax)
movq %r12, 0x28(%rax)
movq (%rbx), %rax
movq %rax, 0x51d56(%rip)     # 0x64a30
movq 0x50(%rbx), %rdi
callq 0x5c15
movq 0x51ca6(%rip), %rsi     # 0x64990
cmpl $0x0, 0x20(%rsi)
je 0x12fd3
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
shrq $0xf, %rdx
addl %eax, %edx
movl %edx, %eax
shll $0x10, %eax
subl %eax, %edx
leal (%rcx,%rdx), %eax
addl $0x7f, %eax
addl %edx, %ecx
cmovnsl %ecx, %eax
andl $-0x80, %eax
subl %eax, %ecx
movslq %ecx, %rax
movq (%r15,%rax,8), %rcx
movq %rcx, 0x10(%rsi)
movq %rsi, (%r15,%rax,8)
jmp 0x12d54
cmpq 0x10(%rbx), %rax
jne 0x12d5f
movq 0x30(%rbx), %rax
movq %rax, 0x51c34(%rip)     # 0x64988
movq 0x51b55(%rip), %rax     # 0x648b0
movq %rax, 0x38(%rbx)
movq 0x51c4a(%rip), %rax     # 0x649b0
movq %rax, 0x51ba3(%rip)     # 0x64910
testq %rax, %rax
je 0x12db3
movq 0x51cc7(%rip), %rcx     # 0x64a40
cmpq %rcx, (%rax)
jne 0x12da3
movq $0x0, 0x51b87(%rip) # 0x64910
movl $0x2, %edi
callq 0x58ff
movq 0x51ca6(%rip), %rcx     # 0x64a40
movq 0x51b6f(%rip), %rax     # 0x64910
jmp 0x12dae
movq 0x10(%rax), %rax
movq %rax, 0x51b62(%rip)     # 0x64910
testq %rax, %rax
jne 0x12d79
movl $0x28, %edi
callq 0x3d77
movq %rax, 0x51b4c(%rip)     # 0x64910
movq 0x51c75(%rip), %rcx     # 0x64a40
movq %rcx, (%rax)
movq 0x51bdb(%rip), %rdx     # 0x649b0
movq %rdx, 0x10(%rax)
movq 0x38(%rbx), %rdx
movq %rdx, 0x20(%rax)
movq (%rbx), %rsi
movq %rsi, 0x8(%rax)
testq %rdx, %rdx
je 0x12dfb
cmpq 0x10(%rbx), %rcx
movq %rbp, %rcx
cmoveq %r13, %rcx
movq %rax, (%rcx)
movq %rax, 0x51bae(%rip)     # 0x649b0
movq 0x20(%rbx), %rax
movq %rax, 0x28(%rbx)
incq %rax
movq %rax, 0x20(%rbx)
movq %r14, %rdi
callq 0x6f40
cmpl $0x0, 0x519f8(%rip)     # 0x64818
jne 0x12e34
addq $0x40, 0x28(%rbx)
leaq 0x558(%rsp), %rdi
callq 0x6f40
movl 0x519e2(%rip), %eax     # 0x6481c
cmpl $0x1, %eax
jne 0x12e7c
movq 0x51be2(%rip), %rax     # 0x64a28
shlq $0x17, %rax
movq %rax, %rcx
sarq $0xe, %rax
addq 0x28(%rbx), %rax
sarq $0x17, %rcx
movq %rax, 0x28(%rbx)
movl 0x5195d(%rip), %edx     # 0x647c0
cmpl $0x1, %edx
je 0x12e8b
testl %edx, %edx
jne 0x12ea7
addq $-0x2, %rcx
cmpq $0x7c, %rcx
ja 0x12ea7
subq $-0x80, %rax
jmp 0x12ea1
movq $0x200, 0x28(%rbx)      # imm = 0x200
movl $0x200, %ecx            # imm = 0x200
jmp 0x12ec8
addq $-0x40001, %rcx         # imm = 0xFFFBFFFF
cmpq $0xf8b73e1, %rcx        # imm = 0xF8B73E1
ja 0x12ea7
addq $0x100, %rax            # imm = 0x100
movq %rax, 0x28(%rbx)
jmp 0x12eb1
movl $0x4c, %edi
callq 0x58ff
leaq 0x3e8(%rsp), %rdi
callq 0x6f40
movl 0x51958(%rip), %eax     # 0x6481c
movq 0x28(%rbx), %rcx
movq 0x51a41(%rip), %rdx     # 0x64910
movq %rcx, 0x18(%rdx)
cmpl $0xe, %eax
jne 0x12eeb
leaq 0x278(%rsp), %rdi
callq 0x6f40
movl 0x51931(%rip), %eax     # 0x6481c
testl %eax, %eax
je 0x12c6a
movl $0xc, %edi
callq 0x83e7
movl $0xf, %edi
callq 0x83e7
movq $0x28, 0x28(%rbx)
addq $0x28, %rbx
leaq 0x1d0(%rsp), %r14
movq 0x51a76(%rip), %rdx     # 0x64998
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1356c
addq $-0x8, 0xaa443(%rip)    # 0xbd378
cmpl $0x10, 0x518e0(%rip)    # 0x6481c
jne 0x12f1b
movb 0x519d5(%rip), %al      # 0x64919
andb $-0x21, %al
cmpb $0x44, %al
jne 0x12f7d
movzwl 0x51b15(%rip), %eax     # 0x64a66
shlq $0x30, %rax
orq $0xffffff, %rax         # imm = 0xFFFFFF
movq %rax, 0x51afe(%rip)     # 0x64a60
movb $0x0, 0x51892(%rip)     # 0x647fb
leaq 0x8(%rsp), %rdi
callq 0x108ce
addq $-0x8, 0xaa4ad(%rip)    # 0xbd428
jmp 0x12f8d
xorl %eax, %eax
movq %rax, 0x519ba(%rip)     # 0x64940
movq %rax, 0x519bb(%rip)     # 0x64948
callq 0x68c4
movq (%rbx), %rsi
leaq 0x51a94(%rip), %rdi     # 0x64a30
callq 0x3c48
movq 0x51a88(%rip), %rax     # 0x64a30
andl $0x63ffff, %eax         # imm = 0x63FFFF
orq 0x11494(%rip), %rax     # 0x24448
orq $0x9c0000, %rax         # imm = 0x9C0000
movq %rax, 0x93d47(%rip)     # 0xa6d08
addq $0x9a8, %rsp            # imm = 0x9A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xa6c0(%rip), %rdi      # 0x1d69a
leaq 0xa693(%rip), %rsi      # 0x1d674
leaq 0xa6bf(%rip), %rcx      # 0x1d6a7
movl $0x2d9, %edx            # imm = 0x2D9
callq 0x3170
leaq 0xa6a1(%rip), %rdi      # 0x1d69a
leaq 0xa674(%rip), %rsi      # 0x1d674
leaq 0xa7a6(%rip), %rcx      # 0x1d7ad
movl $0x2d5, %edx            # imm = 0x2D5
callq 0x3170
leaq 0xa7b3(%rip), %rdi      # 0x1d7cb
leaq 0xa655(%rip), %rsi      # 0x1d674
leaq 0xa7b5(%rip), %rcx      # 0x1d7db
movl $0x2f1, %edx            # imm = 0x2F1
callq 0x3170
leaq 0xa794(%rip), %rdi      # 0x1d7cb
leaq 0xa636(%rip), %rsi      # 0x1d674
leaq 0xa7b7(%rip), %rcx      # 0x1d7fc
movl $0x2fd, %edx            # imm = 0x2FD
callq 0x3170