// File: /workspace/github_cpp_makefile_star2_O1/besm6[P]pascal-re/pascompl.cc
// Function: Statement::Statement()
Statement::Statement()
{
    NumLabel * &l2var16z = programme::super.back()->l2var16z;
    StrLabel * &strLabList = programme::super.back()->strLabList;

    super.push_back(this);
    setup(boundary);
    bool110z = false;
    startLine = lineCnt;
    if (set147z.val == halfWord)
        ParseData();
    else {
        if (SY == INTCONST) {
            set146z = Bits();
            l3var2z = numLabList;
            disableNorm();
            l3bool5z = true;
            padToLeft();
            while (l3var2z != l2var16z) {
                if (l3var2z->id != curToken) {
                    l3var2z = l3var2z->next;
                } else {
                    l3bool5z = false;
                    if (l3var2z->defined) {
                        curVal.i = l3var2z->line;
                        error(17); /* errLblAlreadyDefinedInLine */;
                    } else {
                        l3var2z->line = lineCnt;
                        l3var2z->defined = true;
                        padToLeft();
                        if (l3var2z->offset == 0) {
                            /* empty */
                        } else if (l3var2z->offset >= 074000) {
                            curVal.i = (moduleOffset - 040000);
                            symTab[l3var2z->offset] = 041000000 | (curVal.ii & 077777);
                        } else {
                            P0715(0, l3var2z->offset);
                        } /* 20342 */
                        l3var2z->offset = moduleOffset;
                    }
                    l3var2z = l2var16z;
                }
            } /* while 20346 */
            if (l3bool5z)
                error(16); /* errLblNotDefinedInBlock */;
            inSymbol();
            checkSymAndRead(COLON);
        } /* 20355*/
        if (optSflags.m.has(DebugInteractive) and
            debugLine != lineCnt) {
            P0715(-1, 96 /* "P/DD" */);
            debugLine = lineCnt;
            arithMode = 1;
        }
        l3var4z.ii = Bits(BEGINSY,CASESY,REPEATSY,SELECTSY).has(SY);
        if (l3var4z.ii)
            lineNesting = lineNesting + 1;
/*(ident)*/
        if (SY == IDENT) {
            if (hashTravPtr != NULL) try {
                l3var6z = hashTravPtr->cl;
                if (l3var6z >= VARID) {
                    assignStatement(true);
                } else {
                    if (l3var6z == ROUTINEID) {
                        if (hashTravPtr->typ == NULL) {
                            l3idr12z = hashTravPtr;
                            inSymbol();
                            if (l3idr12z->offset == 0) {
                                standProc();
                                goto exit_ident;
                            }
                            parseCallArgs(l3idr12z);
                        } else {
                            assignStatement(false);
                        }
                    } else {
                        error(32); /* errWrongStartOfOperator */
                        goto L8888;
                    }
                }
                (void) formOperator(APPLYEXPR);
                } catch (int foo) {
                    if (foo != 8888) throw;
                }
            else {
                error(errNotDefined);
L8888:
                skip(skipToSet + statEndSys);
            }
        } else if (SY == LPAREN) {
            set146z = Bits();
            inSymbol();
            if (SY != IDENT) {
                error(errNoIdent);
                goto L8888;
            }
            l3var3z = new StrLabel;
            padToLeft();
            disableNorm();
            l3var3z->next = strLabList;
            l3var3z->ident = curIdent;
            l3var3z->offset = moduleOffset;
            l3var3z->exitTarget = 0;
            strLabList = l3var3z;
            inSymbol();
            checkSymAndRead(RPAREN);
            Statement();
            P0715(0, l3var3z->exitTarget);
            strLabList = strLabList->next;
        } else if (SY == BEGINSY) {
          rep:
            inSymbol();
          skip:
            {
                compoundStatement();
                if (SY != ENDSY) {
                    stmtName = " BEGIN";
                    requiredSymErr(SEMICOLON);
                    reportStmtType(startLine);
                    skip(bigSkipSet);
                    if (statBegSys.has(SY))
                        goto skip;
                    if (SY != SEMICOLON)
                        goto exit_rep;
                    goto rep;
                }
            }
            inSymbol();
          exit_rep:;
        } else if (SY == GOTOSY) {
            inSymbol();
            if (SY != INTCONST) {
                if (structBranch(true)) {
                    inSymbol();
                    return;
                } else
                    goto L8888;
            }
            disableNorm();
            l3var2z = numLabList;
          loop:
            if (l3var2z != NULL) {
                if (l3var2z->id != curToken) {
                    l3var2z = l3var2z->next;
                } else {
                    if (curFrameRegTemplate == l3var2z->frame) {
                        if (l3var2z->offset >= 040000) {
                            form1Insn(InsnTemp[UJ] + l3var2z->offset);
                        } else {
                            formJump(l3var2z->offset);
                        }
                    } else {
                        if (l3var2z->offset == 0) {
                            l3var2z->offset = symTabPos;
                            putToSymTab(0);
                        }
                        form3Insn(l3var2z->frame + (KMTJ + 13), KVTM+I14 + l3var2z->offset,
                                  getHelperProc(18/*"P/RC"*/) + (-064100000));
                    }
                    goto exit_loop;
                }
                goto loop;
            } else
                error(18); /* errLblNotDefined */
          exit_loop:;
            inSymbol();
        } else if (SY == IFSY) {
            ifWhileStatement(THENSY);
            if (SY == ELSESY) {
                l3var11z = 0;
                formJump(l3var11z);
                P0715(0, l3var10z);
                l3var8z.i = arithMode;
                arithMode = 1;
                inSymbol();
                Statement();
                P0715(0, l3var11z);
                if (l3var8z.i != arithMode) {
                    arithMode = 2;
                    disableNorm();
                }
            } else {
                P0715(0, l3var10z);
            }
        } else if (SY == WHILESY) {
            set146z = Bits();
            disableNorm();
            padToLeft();
            l3var8z.i = moduleOffset;
            ifWhileStatement(DOSY);
            disableNorm();
            form1Insn(InsnTemp[UJ] + l3var8z.i);
            P0715(0, l3var10z);
            arithMode = 1;
        } else if (SY == REPEATSY) {
            set146z = Bits();
            disableNorm();
            padToLeft();
            l3var7z.i = moduleOffset;
            do {
                inSymbol();
                Statement();
            } while (SY == SEMICOLON);
            if (SY != UNTILSY) {
                requiredSymErr(UNTILSY);
                stmtName = "REPEAT";
                reportStmtType(startLine);
                goto L8888;
            }
            disableNorm();
            expression();
            if (curExpr->typ != BooleanType) {
                error(errBooleanNeeded);
            } else {
                jumpTarget = l3var7z.i;
                (void) formOperator(CONDJUMP);
            }
        } else if (SY == FORSY) {
            set146z = Bits();
            forStatement();
        } else if (SY == SELECTSY) {
            disableNorm();
            l3bool5z = true;
            l3var11z = 0;
            /* 20707 */
            do {
                arithMode = 1;
                expression();
                if (curExpr->typ != BooleanType) {
                    error(errBooleanNeeded);
                } else {
                    jumpTarget = 0;
                    (void) formOperator(CONDJUMP);
                    l3var10z = jumpTarget;
                }
                checkSymAndRead(COLON);
                Statement();
                formJump(l3var11z);
                l3bool5z = l3bool5z and (arithMode == 1);
                P0715(0, l3var10z);
            } while (SY == SEMICOLON);
            checkSymAndRead(ENDSY);
            P0715(0, l3var11z);
            if (not l3bool5z) {
                arithMode = 2;
                disableNorm();
            }
        } else if (SY == CASESY) {
            caseStatement();
        } else if (SY == WITHSY) {
            withStatement();
        } exit_ident:; /* 20757 */
        if (l3var4z.ii)
            lineNesting = lineNesting - 1;
        rollup(boundary);
        if (bool110z) {
            bool110z = false;
            goto L8888;
        }
    }
    /* 20766 */
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1358, %rsp           # imm = 0x1358
movq %rdi, %rbx
movabsq $0xffffffffffff, %rbp   # imm = 0xFFFFFFFFFFFF
movq 0xacd11(%rip), %rax     # 0xbd388
movq -0x8(%rax), %r15
leaq 0x8(%rsp), %rsi
movq %rdi, (%rsi)
leaq 0xacda6(%rip), %rdi     # 0xbd430
callq 0x1b5f8
movq 0x13bea(%rip), %rax     # 0x24280
leaq 0x14133(%rip), %rcx     # 0x247d0
leaq (%rcx,%rax,8), %rax
movq %rax, (%rbx)
movb $0x0, 0x542e2(%rip)     # 0x6498d
movq 0x5420e(%rip), %rax     # 0x648c0
movq %rax, 0x38(%rbx)
movq 0x543b3(%rip), %rax     # 0x64a70
andq %rbp, %rax
cmpq $0xffffff, %rax         # imm = 0xFFFFFF
jne 0x106f4
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x17cd8
movq 0x48(%rbx), %rdi
testq %rdi, %rdi
je 0x11193
movq 0x68(%rsp), %rsi
subq %rdi, %rsi
callq 0x3260
jmp 0x11193
cmpl $0x1, 0x54131(%rip)     # 0x6482c
jne 0x10892
movq $0x0, 0x5435c(%rip) # 0x64a68
movq 0x54315(%rip), %rax     # 0x64a28
movq %rax, 0x8(%rbx)
cmpq $0x1, 0x541c9(%rip)     # 0x648e8
je 0x10738
movq 0x13b70(%rip), %rdi     # 0x24298
callq 0x5941
movq $0x1, 0x541b0(%rip) # 0x648e8
leaq 0x70(%r15), %r12
movb $0x1, 0x20(%rbx)
cmpb $0x0, 0x5423d(%rip)     # 0x64984
jne 0x10755
movq 0x58d68(%rip), %rdi     # 0x694b8
callq 0x5941
movq $0x0, 0x54208(%rip) # 0x64968
movq 0x8(%rbx), %rax
cmpq (%r12), %rax
je 0x1086b
movabsq $0x1ffffffffff, %r13    # imm = 0x1FFFFFFFFFF
leaq 0x542c1(%rip), %r14     # 0x64a40
movq 0x542b2(%rip), %rcx     # 0x64a38
xorq (%rax), %rcx
testq %r13, %rcx
je 0x10797
addq $0x20, %rax
jmp 0x1085a
movb $0x0, 0x20(%rbx)
cmpb $0x1, 0x28(%rax)
jne 0x107bc
movq 0x8(%rax), %rsi
movq %r14, %rdi
callq 0x3bf2
movl $0x11, %edi
callq 0x589e
jmp 0x10857
movq 0x540fd(%rip), %rcx     # 0x648c0
movq %rcx, 0x8(%rax)
movb $0x1, 0x28(%rax)
cmpb $0x0, 0x541b2(%rip)     # 0x64984
jne 0x107e0
movq 0x58cdd(%rip), %rdi     # 0x694b8
callq 0x5941
movq $0x0, 0x5417d(%rip) # 0x64968
movq 0x8(%rbx), %rax
movq 0x18(%rax), %rsi
testq %rsi, %rsi
je 0x10848
cmpq $0x7800, %rsi           # imm = 0x7800
jl 0x10841
movq 0x54090(%rip), %rsi     # 0x64898
movq $-0x4000, %rax          # imm = 0xC000
addq %rax, %rsi
movq %r14, %rdi
callq 0x3bf2
movq 0x5421f(%rip), %rax     # 0x64a40
andl $0x7fff, %eax           # imm = 0x7FFF
orq $0x840000, %rax         # imm = 0x840000
movq 0x8(%rbx), %rcx
movq 0x18(%rcx), %rcx
leaq 0x5a4c5(%rip), %rdx     # 0x6ad00
movq %rax, (%rdx,%rcx,8)
jmp 0x10848
xorl %edi, %edi
callq 0x617f
movq 0x54049(%rip), %rax     # 0x64898
movq 0x8(%rbx), %rcx
movq %rax, 0x18(%rcx)
movq %r12, %rax
movq (%rax), %rax
movq %rax, 0x8(%rbx)
cmpq (%r12), %rax
jne 0x1077f
cmpb $0x1, 0x20(%rbx)
jne 0x1087b
movl $0x10, %edi
callq 0x589e
leaq 0x11e8(%rsp), %rdi
callq 0x6e26
movl $0x12, %edi
callq 0x82d3
testb $0x8, 0x541e7(%rip)     # 0x64a80
je 0x108d5
movq 0x5408e(%rip), %rax     # 0x64930
cmpq 0x54017(%rip), %rax     # 0x648c0
je 0x108d5
movl $0x60, %esi
movq $-0x1, %rdi
callq 0x617f
movq 0x53ffd(%rip), %rax     # 0x648c0
movq %rax, 0x54066(%rip)     # 0x64930
movq $0x1, 0x54013(%rip) # 0x648e8
movl 0x53f51(%rip), %eax     # 0x6482c
cmpl $0x30, %eax
setb %dl
movb $0x2f, %cl
subb %al, %cl
movl $0x1, %esi
shlq %cl, %rsi
testl $0x16001, %esi          # imm = 0x16001
setne %cl
andb %dl, %cl
movzbl %cl, %ecx
movq %rcx, 0x18(%rbx)
cmpb $0x1, %cl
jne 0x1090b
incq 0x5402d(%rip)           # 0x64938
leal -0x1f(%rax), %ecx
cmpl $0x10, %ecx
ja 0x109f4
leaq 0xbd32(%rip), %rax      # 0x1c650
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
leaq 0xc28(%rsp), %r14
leaq 0x53fba(%rip), %r15     # 0x648f0
leaq 0xc9f7(%rip), %r12      # 0x1d334
leaq 0xc9d5(%rip), %r13      # 0x1d319
movq %r14, %rdi
callq 0x6e26
callq 0x10551
cmpl $0x27, 0x53ed4(%rip)    # 0x6482c
je 0x10e38
movq 0x53f93(%rip), %rdx     # 0x648f8
movl $0x6, %r8d
movq %r15, %rdi
xorl %esi, %esi
movq %r12, %rcx
callq 0x3390
movq 0x53f01(%rip), %rax     # 0x64880
cmpq 0x53f02(%rip), %rax     # 0x64888
je 0x10992
movl $0x67, %edi
callq 0x589e
movq 0xaca9f(%rip), %rax     # 0xbd438
movq -0x8(%rax), %rax
movq 0x53f4c(%rip), %rsi     # 0x648f0
movq 0x38(%rax), %rdx
movq %r13, %rdi
xorl %eax, %eax
callq 0x3030
movq 0x53e1f(%rip), %rdi     # 0x647d8
callq 0x7f7c
movl 0x53e68(%rip), %eax     # 0x6482c
cmpq $0x2f, %rax
ja 0x109e6
movb $0x2f, %cl
subb %al, %cl
movl $0x1, %edx
shlq %cl, %rdx
andq %rbp, %rdx
testq %rdx, 0x53e10(%rip)     # 0x647f0
jne 0x1094c
cmpl $0xf, %eax
je 0x10944
jmp 0x111bb
testl %eax, %eax
je 0x10e4a
cmpl $0x7, %eax
jne 0x111bb
movq $0x0, 0x54058(%rip) # 0x64a68
leaq 0xf08(%rsp), %rdi
callq 0x6e26
cmpl $0x0, 0x53e08(%rip)     # 0x6482c
je 0x10f34
movl $0x3, %edi
jmp 0x11000
movq $0x0, 0x54029(%rip) # 0x64a68
cmpq $0x1, 0x53ea1(%rip)     # 0x648e8
je 0x10a60
movq 0x13848(%rip), %rdi     # 0x24298
callq 0x5941
movq $0x1, 0x53e88(%rip) # 0x648e8
cmpb $0x0, 0x53f1d(%rip)     # 0x64984
jne 0x10a75
movq 0x58a48(%rip), %rdi     # 0x694b8
callq 0x5941
movq $0x0, 0x53ee8(%rip) # 0x64968
movq 0x53e11(%rip), %rsi     # 0x64898
leaq 0x30(%rbx), %rdi
callq 0x3bf2
movl $0x2b, %edi
callq 0x105a8
cmpq $0x1, 0x53e46(%rip)     # 0x648e8
je 0x10abb
movq 0x137ed(%rip), %rdi     # 0x24298
callq 0x5941
movq $0x1, 0x53e2d(%rip) # 0x648e8
movq 0x30(%rbx), %rdi
shlq $0x17, %rdi
sarq $0x17, %rdi
addq 0x58a1a(%rip), %rdi     # 0x694e8
callq 0x5941
movq 0x40(%rbx), %rsi
xorl %edi, %edi
callq 0x617f
jmp 0x10d7d
callq 0xfc28
jmp 0x111bb
cmpq $0x1, 0x53df3(%rip)     # 0x648e8
je 0x10b0e
movq 0x1379a(%rip), %rdi     # 0x24298
callq 0x5941
movq $0x1, 0x53dda(%rip) # 0x648e8
movb $0x1, 0x20(%rbx)
leaq 0x48(%rbx), %r14
movq $0x0, 0x48(%rbx)
leaq 0x1d0(%rsp), %r15
leaq 0x70(%rsp), %r12
movq $0x1, 0x53db2(%rip) # 0x648e8
callq 0xebcc
movq 0x53f6e(%rip), %rax     # 0x64ab0
movq (%rax), %rax
cmpq 0x53e9c(%rip), %rax     # 0x649e8
je 0x10b57
xorl %edi, %edi
callq 0x589e
jmp 0x10b82
movq $0x0, 0x53cb6(%rip) # 0x64818
movq %r15, %rdi
movl $0xf, %esi
callq 0xc044
addq $-0x8, 0xac859(%rip)    # 0xbd3d0
movq 0x53c9a(%rip), %rax     # 0x64818
movq %rax, 0x40(%rbx)
movl $0x12, %edi
callq 0x82d3
movq %r12, %rdi
callq 0x10652
addq $-0x8, 0xac89c(%rip)    # 0xbd438
movq %r14, %rdi
callq 0x5ac6
cmpq $0x1, 0x53d3c(%rip)     # 0x648e8
sete %al
andb %al, 0x20(%rbx)
movq 0x40(%rbx), %rsi
xorl %edi, %edi
callq 0x617f
cmpl $0xf, 0x53c68(%rip)     # 0x6482c
je 0x10b2b
movl $0x27, %edi
callq 0x82d3
movq 0x48(%rbx), %rsi
xorl %edi, %edi
callq 0x617f
cmpb $0x0, 0x20(%rbx)
je 0x10d66
jmp 0x111bb
movq $0x0, 0x53e6f(%rip) # 0x64a68
cmpq $0x1, 0x53ce7(%rip)     # 0x648e8
je 0x10c1a
movq 0x1368e(%rip), %rdi     # 0x24298
callq 0x5941
movq $0x1, 0x53cce(%rip) # 0x648e8
cmpb $0x0, 0x53d63(%rip)     # 0x64984
jne 0x10c2f
movq 0x5888e(%rip), %rdi     # 0x694b8
callq 0x5941
movq $0x0, 0x53d2e(%rip) # 0x64968
movq 0x53c57(%rip), %rsi     # 0x64898
leaq 0x28(%rbx), %r14
movq %r14, %rdi
callq 0x3bf2
leaq 0x388(%rsp), %r15
leaq 0xc8(%rsp), %r12
movq %r15, %rdi
callq 0x6e26
movq %r12, %rdi
callq 0x10652
addq $-0x8, 0xac7c3(%rip)    # 0xbd438
movl 0x53bb1(%rip), %eax     # 0x6482c
cmpl $0xf, %eax
je 0x10c5d
cmpl $0x29, %eax
jne 0x10e9b
cmpq $0x1, 0x53c57(%rip)     # 0x648e8
je 0x10caa
movq 0x135fe(%rip), %rdi     # 0x24298
callq 0x5941
movq $0x1, 0x53c3e(%rip) # 0x648e8
callq 0xebcc
movq 0x53dfa(%rip), %rax     # 0x64ab0
movq (%rax), %rax
cmpq 0x53d28(%rip), %rax     # 0x649e8
je 0x1100a
xorl %edi, %edi
callq 0x589e
jmp 0x111bb
movl $0x2e, %edi
callq 0x105a8
cmpl $0x28, 0x53b49(%rip)    # 0x6482c
jne 0x10f00
leaq 0x48(%rbx), %rdi
movq $0x0, 0x48(%rbx)
callq 0x5ac6
movq 0x40(%rbx), %rsi
xorl %edi, %edi
callq 0x617f
movq 0x53bdc(%rip), %rsi     # 0x648e8
leaq 0x30(%rbx), %rdi
callq 0x3bf2
movq $0x1, 0x53bc8(%rip) # 0x648e8
leaq 0x4f8(%rsp), %rdi
callq 0x6e26
leaq 0x120(%rsp), %rdi
callq 0x10652
addq $-0x8, 0xac6f6(%rip)    # 0xbd438
movq 0x48(%rbx), %rsi
xorl %edi, %edi
callq 0x617f
movq 0x30(%rbx), %rax
shlq $0x17, %rax
sarq $0x17, %rax
cmpq 0x53b88(%rip), %rax     # 0x648e8
je 0x111bb
movq $0x2, 0x53b77(%rip) # 0x648e8
movq 0x13520(%rip), %rdi     # 0x24298
callq 0x5941
movq $0x1, 0x53b60(%rip) # 0x648e8
jmp 0x111bb
callq 0xf93b
jmp 0x111bb
leaq 0x948(%rsp), %rdi
callq 0x6e26
cmpl $0x1, 0x53a81(%rip)     # 0x6482c
jne 0x10f10
cmpq $0x1, 0x53b2f(%rip)     # 0x648e8
je 0x10dd2
movq 0x134d6(%rip), %rdi     # 0x24298
callq 0x5941
movq $0x1, 0x53b16(%rip) # 0x648e8
movq 0x53c4f(%rip), %rcx     # 0x64a28
movq %rcx, 0x8(%rbx)
testq %rcx, %rcx
je 0x10e0f
movabsq $0x1ffffffffff, %rax    # imm = 0x1FFFFFFFFFF
movq 0x53c45(%rip), %rdx     # 0x64a38
movq (%rcx), %rsi
xorq %rdx, %rsi
testq %rax, %rsi
je 0x1103b
movq 0x20(%rcx), %rcx
movq %rcx, 0x8(%rbx)
testq %rcx, %rcx
jne 0x10df3
movl $0x12, %edi
callq 0x589e
leaq 0x668(%rsp), %rdi
jmp 0x10e40
movq $0x0, 0x53c3a(%rip) # 0x64a68
callq 0xf5db
jmp 0x111bb
leaq 0xab8(%rsp), %rdi
callq 0x6e26
jmp 0x111bb
movq 0x53b5f(%rip), %rax     # 0x649b0
testq %rax, %rax
je 0x10ffb
movl 0x20(%rax), %ecx
movl %ecx, 0x24(%rbx)
cmpl $0x2, %ecx
jg 0x10e76
jne 0x11070
cmpq $0x0, 0x18(%rax)
je 0x110b6
xorl %edi, %edi
cmpl $0x3, %ecx
setge %dil
callq 0x102b1
leaq 0x2a0(%rsp), %rdi
movl $0x7, %esi
callq 0xc044
jmp 0x1102e
movq 0x539de(%rip), %rax     # 0x64880
cmpq 0x539df(%rip), %rax     # 0x64888
je 0x10eb5
movl $0x81, %edi
callq 0x589e
movq 0x53a3c(%rip), %rdx     # 0x648f8
leaq 0x53a2d(%rip), %rdi     # 0x648f0
leaq 0xc471(%rip), %rcx      # 0x1d33b
movl $0x6, %r8d
xorl %esi, %esi
callq 0x3390
movq 0xac55a(%rip), %rax     # 0xbd438
movq -0x8(%rax), %rax
movq 0x53a07(%rip), %rsi     # 0x648f0
movq 0x38(%rax), %rdx
leaq 0xc425(%rip), %rdi      # 0x1d319
xorl %eax, %eax
callq 0x3030
jmp 0x111a5
movq 0x40(%rbx), %rsi
xorl %edi, %edi
callq 0x617f
jmp 0x111bb
movl $0x1, %edi
callq 0xfa96
testb %al, %al
je 0x111a5
leaq 0x7d8(%rsp), %rdi
callq 0x6e26
jmp 0x11193
movl $0x20, %edi
callq 0x3d03
movq %rax, 0x10(%rbx)
cmpb $0x0, 0x53a3b(%rip)     # 0x64984
jne 0x10f57
movq 0x58566(%rip), %rdi     # 0x694b8
callq 0x5941
movq $0x0, 0x53a06(%rip) # 0x64968
cmpq $0x1, 0x5397e(%rip)     # 0x648e8
je 0x10f83
movq 0x13325(%rip), %rdi     # 0x24298
callq 0x5941
movq $0x1, 0x53965(%rip) # 0x648e8
movq 0x78(%r15), %rax
movq 0x10(%rbx), %rcx
movq %rax, (%rcx)
movq 0x53abb(%rip), %rax     # 0x64a50
movq %rax, 0x8(%rcx)
movq 0x538f8(%rip), %rax     # 0x64898
movq %rax, 0x10(%rcx)
movq $0x0, 0x18(%rcx)
movq %rcx, 0x78(%r15)
leaq 0xd98(%rsp), %rdi
callq 0x6e26
movl $0xc, %edi
callq 0x82d3
leaq 0x178(%rsp), %rdi
callq 0x10652
addq $-0x8, 0xac45c(%rip)    # 0xbd438
movq 0x10(%rbx), %rax
movq 0x18(%rax), %rsi
xorl %edi, %edi
callq 0x617f
movq 0x78(%r15), %rax
movq (%rax), %rax
movq %rax, 0x78(%r15)
jmp 0x111bb
movl $0xb, %edi
callq 0x589e
jmp 0x111a5
movq (%r14), %rax
shlq $0x17, %rax
sarq $0x17, %rax
movq %rax, 0x537fc(%rip)     # 0x64818
leaq 0x238(%rsp), %rdi
movl $0xf, %esi
callq 0xc044
addq $-0x8, 0xac39a(%rip)    # 0xbd3d0
jmp 0x111bb
movq 0x53866(%rip), %rdx     # 0x648a8
leaq 0x18(%rcx), %rdi
movq 0x18(%rcx), %rax
cmpq 0x10(%rcx), %rdx
jne 0x1107f
cmpq $0x4000, %rax           # imm = 0x4000
jl 0x110dc
addq 0x58485(%rip), %rax     # 0x694e8
movq %rax, %rdi
callq 0x5941
jmp 0x10e19
movl $0x20, %edi
callq 0x589e
jmp 0x111a5
testq %rax, %rax
jne 0x11102
movq 0x537bd(%rip), %rax     # 0x64848
movq %rax, (%rdi)
leaq 0x59c6b(%rip), %rcx     # 0x6ad00
movq $0x0, (%rcx,%rax,8)
cmpq $0x7fff, %rax           # imm = 0x7FFF
jne 0x110f8
movl $0x32, %edi
callq 0x589e
movl $0x7800, %eax           # imm = 0x7800
jmp 0x110fb
movq %rax, 0x50(%rbx)
leaq 0x1078(%rsp), %rdi
callq 0x6e26
movq 0x50(%rbx), %rdi
cmpq $0x0, 0x8(%rdi)
je 0x110e6
callq 0xee60
jmp 0x10e84
callq 0x5ac6
jmp 0x10e19
leaq 0x308(%rsp), %rdi
callq 0x1809c
jmp 0x111bb
incq %rax
movq %rax, 0x53746(%rip)     # 0x64848
movq 0x8(%rbx), %rax
movl $0x2400d, %r14d         # imm = 0x2400D
addq 0x10(%rax), %r14
movl $0xea0000, %r15d        # imm = 0xEA0000
addq 0x18(%rax), %r15
cmpq $0x0, 0x5994e(%rip)     # 0x6aa70
jne 0x11143
movq 0x132f5(%rip), %rax     # 0x24420
movq %rax, 0x5390e(%rip)     # 0x64a40
movl $0x8c0000, %edi         # imm = 0x8C0000
callq 0x5ba8
movq %rax, 0x5992d(%rip)     # 0x6aa70
movl $0xc0000, %edx          # imm = 0xC0000
addq 0x59921(%rip), %rdx     # 0x6aa70
movq %r14, %rdi
movq %r15, %rsi
callq 0x5a5f
jmp 0x10e19
movq %rax, %r14
cmpl $0x1, %edx
jne 0x1118b
movq %r14, %rdi
callq 0x30d0
cmpl $0x22b8, (%rax)         # imm = 0x22B8
jne 0x1117e
callq 0x33e0
jmp 0x111bb
callq 0x3360
movq %rax, %r14
callq 0x33e0
movq %r14, %rdi
callq 0x3410
addq $0x1358, %rsp           # imm = 0x1358
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x5364c(%rip), %rdi     # 0x647f8
andq %rbp, %rdi
orq 0x5362a(%rip), %rdi     # 0x647e0
callq 0x7f7c
cmpq $0x0, 0x18(%rbx)
je 0x111c9
decq 0x5376f(%rip)           # 0x64938
movq (%rbx), %rdi
callq 0x3d3a
cmpb $0x1, 0x537b5(%rip)     # 0x6498d
jne 0x11193
movb $0x0, 0x537ac(%rip)     # 0x6498d
jmp 0x111a5