// File: /workspace/github_cpp_makefile_star2_O2/besm6[P]pascal-re/pascompl.cc
// Function: genOneOp::genOneOp()
genOneOp() {
        if (insnList == NULL)
            return;
        regsUsed = regsUsed + insnList->regsused;
        l4oi212z = insnList->next2;
        l4var9z = KNTR+7;
        insnBufIdx = 1;
        if (l4oi212z == NULL)
            return;
        l4inl6z = NULL;

        while (l4oi212z != NULL) {
            tempInsn.i = l4oi212z->code;
            l4var4z = tempInsn.i -  macro;
            curInsn.i = l4oi212z->offset;
            switch (l4oi212z->mode) {
            case 0: break;
            case 1: if (arithMode != 1) {
                    addInsnToBuf(KNTR+7);
                    arithMode = 1;
                } break;
            case 2:
                arithMode = 1;
                break;
            case 3: if (arithMode != 2) {
                    addInsnToBuf(InsnTemp[NTR]);
                    arithMode = 2;
                } break;
            case 4:
                arithMode = 2;
                break;
            }; /* case */
            l4oi212z = l4oi212z->next;
            if (l4var4z >= 0) {
                switch (l4var4z) {
                case mcCARD: {
                    add2InsnsToBuf(KACX, KAEX+ZERO);
                } break;
                case 21:
                    goto L3556;
                case 0:
                    addJumpInsn(InsnTemp[UZA]);
                    break;
                case 1:
                    addJumpInsn(InsnTemp[U1A]);
                    break;
                case 2: {
                      tempInsn.i = curInsn.i % 4096;
                      curInsn.i = curInsn.i / 4096;
                      addJumpInsn(InsnTemp[UJ]);
                      curInsn.i = tempInsn.i;
L3556:
                      if (F3413())
                          addInsnToBuf(2*macro+ord(l4inl7z));
                      else
                          error(206);
                } break;
                case 3: {
                      tempInsn.i = curInsn.i % 4096;
                      curInsn.i = curInsn.i / 4096;
                      l4var213z =  F3413();
                      l4inl8z = l4inl7z;
                      curInsn.i = tempInsn.i;
                      l4var213z = l4var213z && F3413();
                      if (l4var213z) {
                          l4inl7z->code = macro;
                          l4inl7z->offset = ord(l4inl8z);
                      }
                      else
                          error(207);
                } break;
                case 20:
                    addInsnToBuf(3*macro + curInsn.i);
                    break;
                case 4: {
                    if (insnBuf[insnBufIdx-1].m * (BitRange(21,23)+BitRange(28,35)) == Bits())
                        insnBuf[insnBufIdx-1].m = insnBuf[insnBufIdx-1].m + Bits(35);
                    else
                        addInsnToBuf(KXTA+SP);
                } break;
                case 5:
                    /*blk*/ {
                    if (l4oi212z != NULL) {
                        tempInsn.i = l4oi212z->code;
                        if (tempInsn.m * (BitRange(21,23)+BitRange(28,35)) == Bits(32)) {
                            l4oi212z->code =
                                tempInsn.i - InsnTemp[XTA] + InsnTemp[XTS];
                            break; // exit blk
                        }
                    };
                    addInsnToBuf(KATX+SP);
                } break;
                case mcACC2ADDR:
                    add2InsnsToBuf(KATI+14, KUTC+I14);
                    break;
                case mcMULTI: {
                    addInsnToBuf(getHelperProc(12));        /* P/MI */
                } break;
                case mcADDSTK2REG:
                    add2InsnsToBuf(KWTC+SP, KUTM+indexreg[curInsn.i]);
                    break;
                case mcADDACC2REG:
                    add2InsnsToBuf(KATI+14, KJADDM+I14 + curInsn.i);
                    break;
                case mcODD: {
                    add2InsnsToBuf(KAAX+E1, KAEX+ZERO);
                } break;
                case mcROUND: {
                    addInsnToBuf(KADD+REAL05);                /* round */
                    add2InsnsToBuf(KNTR+7, KADD+ZERO);
                } break;
                case mcSQRR: {
                    add2InsnsToBuf(KATX+SP, KMUL+SP);   /* sqr */
                } break;
                case mcSQRI: {
                    add2InsnsToBuf(KATX+SP, KAEX+MULTMASK);   /* sqrint */
                    add2InsnsToBuf(KMUL+SP, KYTA+64);
                } break;
                case 14:
                    add2InsnsToBuf(indexreg[curInsn.i] + KVTM, KITA + curInsn.i);
                    break;
                case mcMINEL: {
                    add2InsnsToBuf(KANX+ZERO, KSUB+PLUS1);   /* minel */
                } break;
                case 16:
                    add2InsnsToBuf(InsnTemp[XTA], KATX+SP + curInsn.i);
                    break;
                case 17: {
                    addInsnToBuf(KXTS);
                    add2InsnsToBuf(KATX+SP+1, KUTM+SP + curInsn.i);
                } break;
                case 18:
                    add2InsnsToBuf(KVTM+I10, getHelperProc(65)); /* P/B7 */
                    break;
                case mcPOP2ADDR: {
                    addInsnToBuf(KVTM+I14);
                    add2InsnsToBuf(KXTA+SP, KATX+I14);
                } break;
                case 22: {
                    add2InsnsToBuf(KVTM+I14, KXTA+I14);
                      curVal.ii = 040077777;
                      add2InsnsToBuf(allocSymtab(curVal.ii) + (KXTS+SP),
                                     KAAX+I8 + curInsn.i);
                      add2InsnsToBuf(KAEX+SP, KATX+I14);
                } break;
                }; /* case */
            } else { /* 4003 */
                if (tempInsn.m.has(28)) {
                    addInsnToBuf(getValueOrAllocSymtab(curInsn.i)+tempInsn.i);
                } else {
                    curVal.i = curInsn.i & 077777;
                    if (curVal.i < 2048)
                        addInsnToBuf(tempInsn.i + curInsn.i);
                    else
                        if ((curVal.i >= 28672) or (curVal.i < 4096)) {
                            addInsnToBuf(
                                allocSymtab((curVal.ii | 040000000) & halfWord)
                                + tempInsn.i - 28672);
                        } else {
                            add2InsnsToBuf(getValueOrAllocSymtab(curVal.i)
                                           + InsnTemp[UTC], tempInsn.i);
                        }
                }
            }
        }; /* 4037 */
        insnBufIdx = insnBufIdx-1;

        for (l4var4z = insnBufIdx; l4var4z >= 1; --l4var4z) {
            curInsn = insnBuf[l4var4z];
            if ((curInsn.i == InsnTemp[NTR]) or
                (curInsn.i == KNTR+7)) {
                l4var3z = l4var4z - 1;
                l4var213z = false;
                while (l4var3z >= 1) {
                    tempInsn.m = insnBuf[l4var3z].m * BitRange(28,32);
                    if ((tempInsn.ii != KUTC) and (tempInsn.ii != KWTC))
                        break;
                    l4var3z = l4var3z-1;
                };

                l4var3z = l4var3z + 1;
                if (l4var3z != l4var4z) {
                    for (l4var2z = l4var4z-1;  l4var2z >= l4var3z; --l4var2z) {
                        insnBuf[l4var2z+1] = insnBuf[l4var2z];
                    }
                }
                insnBuf[l4var3z] = curInsn;
            } /* 4103 */
        }
        for (l4var4z = 1; l4var4z <= insnBufIdx; ++l4var4z)
            /*iter*/  {
            curInsn = insnBuf[l4var4z];
            tempInsn.m = curInsn.m * (Bits(0, 1, 3) + BitRange(23,32));
            if (tempInsn.i == KATX+SP) {
                l4var2z = l4var4z + 1;
                while (insnBufIdx + 1 != l4var2z) {
                    curVal.m = insnBuf[l4var2z].m * (Bits(0, 1, 3, 23) + BitRange(28,35));
                    tempInsn.m = curVal.m * (Bits(0, 1, 3, 23) + BitRange(28,32));
                    if (curVal.i == InsnTemp[XTA]) {
                        insnBuf[l4var2z].m =
                            insnBuf[l4var2z].m ^ Bits(32, 34, 35);
                        goto exit_iter;
                    } else if (curVal.i == InsnTemp[ITA]) {
                        insnBuf[l4var2z].m = insnBuf[l4var2z].m + Bits(35);
                        goto exit_iter;
                    } else if ((curVal.i == InsnTemp[NTR]) or
                               (tempInsn.i == InsnTemp[UTC]) or
                               (tempInsn.i == InsnTemp[WTC]) or
                               (tempInsn.i == InsnTemp[VTM]))
                        l4var2z = l4var2z + 1;
                    else
                        l4var2z = insnBufIdx + 1;
                }
            } /* 4150 */
            if (curInsn.i == InsnTemp[UTC])
                continue; // exit iter
            if (curInsn.i < macro) {
                form1Insn(curInsn.i);
                tempInsn.m = curInsn.m * BitRange(28,32);
                if ((tempInsn.i == 03100000) or /* VJM */
                    (tempInsn.i == 00500000))    /* ELFUN */
                    {
                        padToLeft();
                        prevOpcode = 1;
                    };
                continue; // exit iter
            }
            if (curInsn.i >= 3*macro) {
                curInsn.i = curInsn.i - (3*macro);
                if (curInsn.i >= 4096) {
                    l4var213z = true;
                    curInsn.i = curInsn.i - 4096;
                } else {
                  l4var213z = false;
                }
                if (curInsn.i == 0)
                    form1Insn(InsnTemp[UZA] + moduleOffset + 2);
                P3363();
                form1Insn(InsnTemp[UJ] + 2 + moduleOffset);
                padToLeft();
                if (curInsn.i != 0) {
                    if (not F3413())
                        error(211);
                    P0715(0, l4inl7z->code);
                };
                l4var213z = not l4var213z;
                P3363();
                padToLeft();
                continue;
            }; /* 4230 */
            if (curInsn.i >= 2*macro) {
                l4inl7z = reinterpret_cast<OneInsn*>(ptr(curInsn.i - (2*macro)));
                P0715(0, l4inl7z->code);
                l4inl7z->offset = moduleOffset;
            } else {
                curInsn.i = curInsn.i - macro;
                curVal.m = curInsn.m * (Bits(0, 1, 3) + BitRange(28,32));
                jumpType = curVal.i;
                curVal.m = (Bits(0, 1, 3) + BitRange(33,47)) * curInsn.m;
                l4inl7z = reinterpret_cast<OneInsn*>(ptr(curVal.i));
                formJump(l4inl7z->code);
                jumpType = InsnTemp[UJ];
                continue;
            }
          exit_iter:;
        } /* loop */

        insnList = NULL;
        while (l4inl6z != NULL) {
            if (l4inl6z->offset == 0) {
                jumpTarget = l4inl6z->code;
                return;
            } else
                l4inl6z = l4inl6z->next;
        }
        set146z = set146z - regsUsed;
    }

// Assembly:
movq 0x50bd1(%rip), %rax     # 0x63aa8
testq %rax, %rax
je 0x13b49
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %rdi, %rbx
movabsq $0xffffffffffff, %rdx   # imm = 0xFFFFFFFFFFFF
movq 0x50b4e(%rip), %rcx     # 0x63a50
andq %rdx, %rcx
orq 0x18(%rax), %rcx
movq %rcx, 0x50b40(%rip)     # 0x63a50
movq 0x8(%rax), %rax
movq %rax, 0x6a0(%rdi)
movq $0x1f007, 0x40(%rdi)    # imm = 0x1F007
movq $0x1, (%rdi)
testq %rax, %rax
je 0x13b3b
andq $0x0, 0x28(%rbx)
leaq 0x698(%rbx), %rcx
movq %rcx, 0x8(%rsp)
leaq 0x690(%rbx), %r14
pushq $0x1
popq %rbp
leaq 0x69eb(%rip), %r12      # 0x19940
movl $0x1000, %r15d          # imm = 0x1000
leaq -0x1000(%rdx), %rcx
movq %rcx, 0x18(%rsp)
leaq 0x69c2(%rip), %r13      # 0x19930
movq %r14, (%rsp)
testq %rax, %rax
je 0x1358e
movq 0x10(%rax), %rsi
movq 0x8(%rsp), %rdi
callq 0x381c
movq 0x698(%rbx), %rax
movq 0x6a0(%rbx), %rcx
shlq $0x17, %rax
sarq $0x17, %rax
addq $-0x1000000, %rax       # imm = 0xFF000000
movq %rax, 0x18(%rbx)
movq 0x18(%rcx), %rsi
movq %r14, %rdi
callq 0x381c
movq 0x6a0(%rbx), %rax
movq 0x8(%rax), %rax
decq %rax
cmpq $0x3, %rax
ja 0x13015
movslq (%r13,%rax,4), %rcx
addq %r13, %rcx
movq %rbp, %rax
jmpq *%rcx
cmpq $0x1, 0x508fa(%rip)     # 0x638d8
je 0x13015
movl $0x1f007, %esi          # imm = 0x1F007
movq %rbx, %rdi
callq 0x162f6
movq %rbp, %rax
jmp 0x1300e
cmpq $0x2, 0x508de(%rip)     # 0x638d8
je 0x13015
movq 0x55465(%rip), %rsi     # 0x68468
movq %rbx, %rdi
callq 0x162f6
pushq $0x2
popq %rax
movq %rax, 0x508c3(%rip)     # 0x638d8
movq 0x6a0(%rbx), %rax
movq (%rax), %rax
movq %rax, 0x6a0(%rbx)
movq 0x18(%rbx), %rcx
testq %rcx, %rcx
js 0x1304e
cmpq $0x17, %rcx
ja 0x13548
movslq (%r12,%rcx,4), %rcx
addq %r12, %rcx
jmpq *%rcx
movq 0x5547f(%rip), %rsi     # 0x684c8
jmp 0x13328
movq 0x8(%rsp), %rax
testb $0x8, 0x2(%rax)
movq (%r14), %rsi
jne 0x130a0
andl $0x7fff, %esi           # imm = 0x7FFF
leaq 0x509c7(%rip), %rdi     # 0x63a30
callq 0x381c
movq 0x509bb(%rip), %rdi     # 0x63a30
movq %rdi, %rax
shlq $0x17, %rax
sarq $0x17, %rax
cmpq $0x7ff, %rax            # imm = 0x7FF
jg 0x130cf
movq 0x690(%rbx), %rsi
movq 0x698(%rbx), %rax
shlq $0x17, %rax
sarq $0x17, %rax
jmp 0x130b7
shlq $0x17, %rsi
sarq $0x17, %rsi
movq %rsi, %rdi
callq 0x569a
movq 0x698(%rbx), %rsi
shlq $0x17, %rsi
sarq $0x17, %rsi
addq %rax, %rsi
movq %rbx, %rdi
callq 0x162f6
jmp 0x13548
leaq -0x7000(%rax), %rcx
cmpq $-0x6001, %rcx          # imm = 0x9FFF
ja 0x1310d
andl $0x7fffff, %edi         # imm = 0x7FFFFF
orq $0x800000, %rdi         # imm = 0x800000
callq 0x546d
movq 0x698(%rbx), %rcx
shlq $0x17, %rcx
sarq $0x17, %rcx
leaq (%rax,%rcx), %rsi
addq $-0x7000, %rsi          # imm = 0x9000
jmp 0x130c2
movq %rax, %rdi
callq 0x569a
addq 0x5538c(%rip), %rax     # 0x684a8
movq 0x698(%rbx), %rdx
shlq $0x17, %rdx
sarq $0x17, %rdx
movq %rbx, %rdi
movq %rax, %rsi
jmp 0x13543
movl $0x113009, %esi         # imm = 0x113009
movl $0x105011, %edx         # imm = 0x105011
jmp 0x13540
movl $0xf00000, %esi         # imm = 0xF00000
movl $0x10a00a, %edx         # imm = 0x10A00A
movq %rbx, %rdi
callq 0x16310
movl $0xf0f000, %esi         # imm = 0xF0F000
movl $0x19040, %edx          # imm = 0x19040
jmp 0x13540
movl $0x109008, %esi         # imm = 0x109008
jmp 0x1353b
movq 0x690(%rbx), %rax
shlq $0x17, %rax
sarq $0x17, %rax
cqto
idivq %r15
movq 0x8(%rsp), %rdi
movq %rdx, %rsi
callq 0x381c
movq 0x690(%rbx), %rax
shlq $0x17, %rax
sarq $0x17, %rax
cqto
idivq %r15
movq %r14, %rdi
movq %rax, %rsi
callq 0x381c
movq %rbx, %rdi
callq 0x163b6
movb %al, 0x6a8(%rbx)
movq 0x30(%rbx), %rcx
movq %rcx, 0x38(%rbx)
movq 0x698(%rbx), %rcx
movq %rcx, 0x690(%rbx)
testb %al, %al
je 0x1355e
movq %rbx, %rdi
callq 0x163b6
movb %al, 0x6a8(%rbx)
testb %al, %al
je 0x13565
movq 0x30(%rbx), %rax
movq $0x1000000, 0x10(%rax)  # imm = 0x1000000
movq 0x38(%rbx), %rdi
callq 0x3a1d
movq 0x30(%rbx), %rcx
movq %rax, 0x18(%rcx)
jmp 0x13548
movl $0x104013, %esi         # imm = 0x104013
movq %rbx, %rdi
callq 0x162f6
movl $0x1f007, %esi          # imm = 0x1F007
movl $0x104009, %edx         # imm = 0x104009
jmp 0x13540
movq 0x690(%rbx), %rax
shlq $0x17, %rax
sarq $0x17, %rax
leaq 0x54c2a(%rip), %rcx     # 0x67e70
movq (%rcx,%rax,8), %rdx
movl $0xa8000, %eax          # imm = 0xA8000
addq %rax, %rdx
movl $0xf98000, %esi         # imm = 0xF98000
jmp 0x13540
movq 0x690(%rbx), %rdx
shlq $0x17, %rdx
sarq $0x17, %rdx
leaq 0x54bfe(%rip), %rax     # 0x67e70
movq (%rax,%rdx,8), %rsi
movl $0xa0000, %eax          # imm = 0xA0000
addq %rax, %rsi
addq $0x22000, %rdx          # imm = 0x22000
jmp 0x13540
movq 0x690(%rbx), %rax
shlq $0x17, %rax
sarq $0x17, %rax
cqto
idivq %r15
movq 0x8(%rsp), %rdi
movq %rdx, %rsi
callq 0x381c
movq 0x690(%rbx), %rax
shlq $0x17, %rax
sarq $0x17, %rax
cqto
idivq %r15
movq %r14, %rdi
movq %rax, %rsi
callq 0x381c
movq 0x55207(%rip), %rsi     # 0x684d8
movq %rbx, %rdi
callq 0x1634a
movq 0x698(%rbx), %rax
movq %rax, 0x690(%rbx)
movq %rbx, %rdi
callq 0x163b6
testb %al, %al
je 0x13308
movq 0x30(%rbx), %rdi
callq 0x3a1d
leaq 0x2000000(%rax), %rsi
jmp 0x130c2
movl $0xce, %edi
jmp 0x1356a
movl $0x2000e, %esi          # imm = 0x2000E
movl $0xe90000, %edx         # imm = 0xE90000
jmp 0x13540
movq 0x551a8(%rip), %rsi     # 0x684d0
movq %rbx, %rdi
callq 0x1634a
jmp 0x13548
movq 0x55074(%rip), %rsi     # 0x683b0
movq 0x690(%rbx), %rdx
shlq $0x17, %rdx
sarq $0x17, %rdx
addq $0xf00000, %rdx         # imm = 0xF00000
jmp 0x13540
movl $0xea0000, %esi         # imm = 0xEA0000
movq %rbx, %rdi
callq 0x162f6
movl $0xf08000, %esi         # imm = 0xF08000
jmp 0x1351a
movq (%rbx), %r15
pushq $0x15
popq %rdi
pushq $0x17
popq %rsi
callq 0x37ec
movq %rax, %r14
pushq $0x1c
popq %rdi
pushq $0x23
popq %rsi
callq 0x37ec
orq %r14, %rax
movq 0x40(%rbx,%r15,8), %rcx
movabsq $0xffffffffffff, %rdx   # imm = 0xFFFFFFFFFFFF
andq %rdx, %rax
testq %rcx, %rax
je 0x13571
movl $0xf08000, %esi         # imm = 0xF08000
movq %rbx, %rdi
callq 0x162f6
jmp 0x13582
movq 0x690(%rbx), %rsi
shlq $0x17, %rsi
sarq $0x17, %rsi
addq $0x3000000, %rsi        # imm = 0x3000000
jmp 0x130c2
movl $0xf00000, %esi         # imm = 0xF00000
movl $0xf0f000, %edx         # imm = 0xF0F000
jmp 0x13540
testq %rax, %rax
je 0x13554
movq 0x10(%rax), %rsi
movq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x381c
pushq $0x15
popq %rdi
pushq $0x17
popq %rsi
callq 0x37ec
movq %rax, %r14
pushq $0x1c
popq %rdi
pushq $0x23
popq %rsi
callq 0x37ec
orq %r14, %rax
movq (%rsp), %r14
movq (%r15), %rcx
movl $0x1000, %r15d          # imm = 0x1000
movabsq $0xffffffffffff, %rdx   # imm = 0xFFFFFFFFFFFF
andq %rdx, %rax
andq %rcx, %rax
cmpq $0x8000, %rax           # imm = 0x8000
jne 0x13554
shlq $0x17, %rcx
sarq $0x17, %rcx
subq 0x54f5e(%rip), %rcx     # 0x683b0
addq 0x54f2f(%rip), %rcx     # 0x68388
movq 0x6a0(%rbx), %rax
movq %rcx, 0x10(%rax)
jmp 0x13548
movl $0x3000, %esi           # imm = 0x3000
movq %rbx, %rdi
callq 0x162f6
movq 0x690(%rbx), %rdx
shlq $0x17, %rdx
sarq $0x17, %rdx
addq $0xfa8000, %rdx         # imm = 0xFA8000
movl $0xf00001, %esi         # imm = 0xF00001
jmp 0x13540
movq 0x690(%rbx), %rdx
shlq $0x17, %rdx
sarq $0x17, %rdx
addq $0xe25000, %rdx         # imm = 0xE25000
movl $0x2000e, %esi          # imm = 0x2000E
jmp 0x13540
pushq $0xc
popq %rdi
callq 0x52d1
movq %rbx, %rdi
movq %rax, %rsi
jmp 0x130c5
movl $0xea0000, %esi         # imm = 0xEA0000
movl $0xe08000, %edx         # imm = 0xE08000
movq %rbx, %rdi
callq 0x16310
movq $0x807fff, 0x5054a(%rip) # imm = 0x807FFF
movl $0x807fff, %edi         # imm = 0x807FFF
callq 0x546d
leaq 0xf03000(%rax), %rsi
movq 0x690(%rbx), %rdx
shlq $0x17, %rdx
sarq $0x17, %rdx
addq $0x809000, %rdx         # imm = 0x809000
movq %rbx, %rdi
callq 0x16310
movl $0xf0a000, %esi         # imm = 0xF0A000
movl $0xe00000, %edx         # imm = 0xE00000
jmp 0x13540
pushq $0x41
popq %rdi
callq 0x52d1
movl $0xaa0000, %esi         # imm = 0xAA0000
movq %rbx, %rdi
movq %rax, %rdx
jmp 0x13543
movl $0x12000, %esi          # imm = 0x12000
movl $0x10a009, %edx         # imm = 0x10A009
movq %rbx, %rdi
callq 0x16310
movq 0x6a0(%rbx), %rax
jmp 0x12f72
movl $0xf00000, %esi         # imm = 0xF00000
jmp 0x130c2
movb $0x0, 0x6a8(%rbx)
movl $0xcf, %edi
callq 0x4f2c
jmp 0x13548
andq 0x18(%rsp), %rcx
orq $0x1000, %rcx           # imm = 0x1000
movq %rcx, 0x40(%rbx,%r15,8)
movq (%rsp), %r14
movl $0x1000, %r15d          # imm = 0x1000
jmp 0x13548
movq (%rbx), %r13
decq %r13
movq %r13, (%rbx)
movq 0x54eca(%rip), %rax     # 0x68468
movq %rax, 0x10(%rsp)
movabsq $0xf803800000, %rdx     # imm = 0xF803800000
pushq $0x20
popq %r12
movq %r13, 0x18(%rbx)
testq %r13, %r13
jle 0x13697
movq 0x48(%rbx,%r13,8), %r15
movq %r15, 0x690(%rbx)
movq %r15, %rax
shlq $0x17, %rax
cmpq %rdx, %rax
je 0x135e5
sarq $0x17, %rax
cmpq 0x10(%rsp), %rax
jne 0x1368f
leaq -0x1(%r13), %rax
movq %rax, 0x10(%rbx)
movb $0x0, 0x6a8(%rbx)
leaq -0x2(%r13), %r14
leaq 0x1(%r14), %rbp
testq %rbp, %rbp
jle 0x13641
pushq $0x1c
popq %rdi
movq %r12, %rsi
callq 0x37ec
movq 0x50(%rbx,%r14,8), %rcx
movabsq $-0x1000000000000, %rdx # imm = 0xFFFF000000000000
orq %rdx, %rcx
andq %rax, %rcx
movq %rcx, 0x698(%rbx)
orq $0x8000, %rcx           # imm = 0x8000
cmpq $0x98000, %rcx          # imm = 0x98000
jne 0x13643
movq %r14, 0x10(%rbx)
decq %r14
jmp 0x135f8
xorl %ebp, %ebp
incq %rbp
movq %rbp, 0x10(%rbx)
cmpq %r13, %rbp
movq (%rsp), %rcx
movabsq $0xf803800000, %rdx     # imm = 0xF803800000
jne 0x13662
movq %r13, %rbp
jmp 0x13686
leaq -0x1(%r13), %rax
movq %rax, 0x8(%rbx)
cmpq %rbp, %r13
jle 0x13683
movq 0x40(%rbx,%r13,8), %rax
movq %rax, 0x48(%rbx,%r13,8)
movq 0x8(%rbx), %r13
movq 0x10(%rbx), %rbp
jmp 0x13662
movq (%rcx), %r15
movq %r15, 0x48(%rbx,%rbp,8)
movq 0x18(%rbx), %r13
decq %r13
jmp 0x135b1
movabsq $0xd00001000000, %rax   # imm = 0xD00001000000
pushq $0x1
popq %r12
movabsq $0x1ffffffffff, %r15    # imm = 0x1FFFFFFFFFF
addq $-0x1000000, %rax       # imm = 0xFF000000
movq %rax, 0x28(%rsp)
movabsq $-0x1000000000000, %rbp # imm = 0xFFFF000000000000
movq %r12, 0x18(%rbx)
movq (%rbx), %rax
movq %rax, 0x10(%rsp)
cmpq %rax, %r12
jg 0x13ad8
movq 0x48(%rbx,%r12,8), %r14
movq %r14, 0x690(%rbx)
pushq $0x17
popq %rdi
pushq $0x20
popq %rsi
callq 0x37ec
orq 0x28(%rsp), %rax
movq %r14, 0x38(%rsp)
movq %r14, %rcx
movabsq $-0x1000000000000, %rdx # imm = 0xFFFF000000000000
orq %rdx, %rcx
andq %rax, %rcx
movq %rcx, 0x698(%rbx)
andq %r15, %rcx
movq 0x54d8a(%rip), %rax     # 0x684a8
movq %rax, 0x20(%rsp)
cmpq $0xf00000, %rcx         # imm = 0xF00000
jne 0x13847
movq 0x54c79(%rip), %rax     # 0x683b0
movq %rax, 0x60(%rsp)
movq 0x54d3d(%rip), %rax     # 0x68480
movq %rax, 0x58(%rsp)
movq 0x54d19(%rip), %rax     # 0x68468
movq %rax, 0x50(%rsp)
movq 0x54d55(%rip), %rax     # 0x684b0
movq %rax, 0x48(%rsp)
movq 0x54d51(%rip), %rax     # 0x684b8
movq %rax, 0x40(%rsp)
movq (%rbx), %rax
movq %rax, 0x30(%rsp)
leaq 0x1(%r12), %r13
movq %r13, 0x8(%rbx)
cmpq %r12, 0x10(%rsp)
je 0x13847
movq %rbx, %r14
pushq $0x1c
popq %rbx
movq %rbx, %rdi
pushq $0x23
popq %rsi
callq 0x37ec
movabsq $0xd00001000000, %rcx   # imm = 0xD00001000000
orq %rcx, %rax
movq 0x50(%r14,%r12,8), %r15
orq %rbp, %r15
andq %rax, %r15
movq %r15, 0x50278(%rip)     # 0x63a30
movq %rbx, %rdi
movq %r14, %rbx
pushq $0x20
popq %rsi
callq 0x37ec
movabsq $0xd00001000000, %rcx   # imm = 0xD00001000000
orq %rcx, %rax
movq %r15, %rcx
orq %rbp, %rcx
andq %rax, %rcx
movq %rcx, 0x698(%r14)
shlq $0x17, %r15
sarq $0x17, %r15
cmpq 0x60(%rsp), %r15
je 0x13939
cmpq 0x58(%rsp), %r15
je 0x13953
movq %r13, %r12
cmpq 0x50(%rsp), %r15
je 0x13774
shlq $0x17, %rcx
sarq $0x17, %rcx
movq %r13, %r12
cmpq 0x20(%rsp), %rcx
je 0x13774
movq %r13, %r12
cmpq 0x48(%rsp), %rcx
je 0x13774
cmpq 0x40(%rsp), %rcx
je 0x1383f
movq 0x30(%rsp), %r13
movq %r13, %r12
jmp 0x13774
movq 0x38(%rsp), %rsi
shlq $0x17, %rsi
sarq $0x17, %rsi
cmpq 0x20(%rsp), %rsi
movabsq $0x1ffffffffff, %r15    # imm = 0x1FFFFFFFFFF
je 0x13acc
cmpq $0xffffff, %rsi         # imm = 0xFFFFFF
jg 0x138dc
movq %rsi, %rdi
callq 0x4fcb
pushq $0x1c
popq %rdi
pushq $0x20
popq %rsi
callq 0x37ec
movq (%rsp), %rcx
movq (%rcx), %rcx
movabsq $-0x1000000000000, %rdx # imm = 0xFFFF000000000000
orq %rdx, %rcx
andq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movq %rcx, %rax
andq %r15, %rax
cmpq $0xc8000, %rax          # imm = 0xC8000
je 0x138c7
shlq $0x17, %rcx
sarq $0x17, %rcx
cmpq $0x28000, %rcx          # imm = 0x28000
jne 0x13acc
callq 0x51a1
movq $0x1, 0x50081(%rip) # 0x63958
jmp 0x13acc
cmpq $0x3000000, %rsi        # imm = 0x3000000
movq (%rsp), %r14
jb 0x13977
addq $-0x3000000, %rsi       # imm = 0xFD000000
movq %r14, %rdi
callq 0x381c
movq (%r14), %rax
movq %rax, %rsi
shlq $0x17, %rsi
sarq $0x17, %rsi
cmpq $0x1000, %rsi           # imm = 0x1000
jl 0x139b6
movb $0x1, 0x6a8(%rbx)
addq $-0x1000, %rsi          # imm = 0xF000
movq %r14, %rdi
callq 0x381c
movq 0x690(%rbx), %rax
jmp 0x139bd
movq 0x50(%rbx,%r12,8), %rax
movabsq $0xffffffffffff, %rcx   # imm = 0xFFFFFFFFFFFF
andq %rcx, %rax
xorq $0xb000, %rax           # imm = 0xB000
jmp 0x13963
movq 0x50(%rbx,%r12,8), %rax
andq 0x18(%rsp), %rax
orq $0x1000, %rax           # imm = 0x1000
movq %rax, 0x50(%rbx,%r12,8)
movabsq $0x1ffffffffff, %r15    # imm = 0x1FFFFFFFFFF
jmp 0x13acc
cmpq $0x2000000, %rsi        # imm = 0x2000000
jb 0x13a4c
addq $-0x2000000, %rsi       # imm = 0xFE000000
movq %rsi, %rdi
callq 0x39d0
movq %rax, 0x30(%rbx)
movq 0x10(%rax), %rsi
xorl %edi, %edi
callq 0x56f1
movq 0x4fedf(%rip), %rax     # 0x63888
movq 0x30(%rbx), %rcx
movq %rax, 0x18(%rcx)
jmp 0x13acc
movb $0x0, 0x6a8(%rbx)
testq %r15, %rax
jne 0x139dd
movq 0x54aff(%rip), %rax     # 0x684c8
movq 0x4feb8(%rip), %rcx     # 0x63888
leaq (%rax,%rcx), %rdi
addq $0x2, %rdi
callq 0x4fcb
movq %rbx, %rdi
callq 0x1640c
movq 0x54aec(%rip), %rax     # 0x684d8
movq 0x4fe95(%rip), %rcx     # 0x63888
leaq (%rax,%rcx), %rdi
addq $0x2, %rdi
callq 0x4fcb
callq 0x51a1
testq %r15, 0x690(%rbx)
je 0x13a33
movq %rbx, %rdi
callq 0x163b6
testb %al, %al
jne 0x13a24
movl $0xd3, %edi
callq 0x4f2c
movq 0x30(%rbx), %rax
movq 0x10(%rax), %rsi
xorl %edi, %edi
callq 0x56f1
xorb $0x1, 0x6a8(%rbx)
movq %rbx, %rdi
callq 0x1640c
callq 0x51a1
jmp 0x13acc
addq $-0x1000000, %rsi       # imm = 0xFF000000
movq %r14, %rdi
callq 0x381c
pushq $0x1c
popq %rdi
pushq $0x20
popq %rsi
callq 0x37ec
movq 0x690(%rbx), %r12
andq %r12, %rax
shlq $0x17, %rax
sarq $0x17, %rax
movq %rax, 0x4fd81(%rip)     # 0x63800
pushq $0x21
popq %rdi
pushq $0x2f
popq %rsi
callq 0x37ec
movabsq $-0x300000000000, %rcx  # imm = 0xFFFFD00000000000
orq %rcx, %rax
andq %rax, %r12
movq %r12, 0x4ff8f(%rip)     # 0x63a30
shlq $0x17, %r12
sarq $0x17, %r12
movq %r12, %rdi
callq 0x39d0
movq %rax, 0x30(%rbx)
leaq 0x10(%rax), %rdi
callq 0x5148
movq 0x54a13(%rip), %rax     # 0x684d8
movq %rax, 0x4fd34(%rip)     # 0x63800
movq 0x18(%rbx), %r12
incq %r12
jmp 0x136c4
andq $0x0, 0x4ffc8(%rip)     # 0x63aa8
movq 0x28(%rbx), %rax
movabsq $0xffffffffffff, %rcx   # imm = 0xFFFFFFFFFFFF
testq %rax, %rax
je 0x13b03
cmpq $0x0, 0x18(%rax)
je 0x13b30
movq (%rax), %rax
movq %rax, 0x28(%rbx)
jmp 0x13aee
movq 0x4ff46(%rip), %rax     # 0x63a50
movabsq $-0x1000000000000, %rdx # imm = 0xFFFF000000000000
andq %rax, %rdx
notq %rax
andq %rcx, %rax
andq 0x4ff34(%rip), %rax     # 0x63a58
orq %rax, %rdx
movq %rdx, 0x4ff2a(%rip)     # 0x63a58
jmp 0x13b3b
movq 0x10(%rax), %rax
movq %rax, 0x4fccd(%rip)     # 0x63808
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq