// File: /workspace/github_c_makefile_star2_O2/ebb[P]chisa/printer.c
// Function: print
void print(long fi)
{
    long def, id, args, value, blocks;

    /*
     * Includes.
     */
    pr("#include \"runtime.h\"\n");

    /*
     * Enums for classes.
     */
    if (nrClasses(fi) > 0) {
        pr("\n");
        pr("enum {\n");
        {
            const char *initializer = " = USER_CLASS_MIN";

            forEach(fi, def) {
                if (match(def, CLASS_FiDefineCons, &id, &args)) {
                    pr("    CLASS_"), prId(id), pr(initializer), pr(",\n");
                    initializer = "";
                }
            }
        }
        pr("};\n");
    }

    /*
     * Declarations.
     */
    {
        int isVar;

        forEach(fi, def) {
            pr("\n");
            if (match(def, CLASS_FiDefineVar, &id, &value))
                isVar = 1;
            else if (match(def, CLASS_FiDefineFunc, &id, &args, &blocks))
                isVar = 0;
            else if (match(def, CLASS_FiDefineCons, &id, &args))
                isVar = 0;
            if (isVar)
                pr("long "), prId(id), pr(";\n");
            else
                prFuncSpec(idName(id), args), pr(";\n");
        }
    }

    /*
     * Definitions.
     */
    {
        forEach(fi, def) {
            if (match(def, CLASS_FiDefineFunc, &id, &args, &blocks)) {
                /*
                 * Func
                 */
                pr("\n");
                prFuncSpec(idName(id), args), pr("\n");
                pr("{\n");
                prVariables(blocks);
                prBlocks(blocks);
                pr("}\n");
            } else if (match(def, CLASS_FiDefineCons, &id, &args)) {
                /*
                 * Cons
                 */
                pr("\n");
                prFuncSpec(idName(id), args), pr("\n");
                pr("{\n");
                {
                    int len;

                    len = length(args);
                    arities[classCounter++] = length(args);
                    printf("    return runtime_makeTuple%d(CLASS_", len);
                    prId(id);
                    if (len > 0)
                        pr(", "), prIds(args), pr(");\n");
                    else
                        pr(");\n");
                }
                pr("}\n");
            }
        }
    }

    /*
     * compiler_init() (For setting globals)
     */
    {
        int i;

        pr("\n");
        pr("void compiler_init(void)\n");
        pr("{\n");
        for (i = USER_CLASS_MIN; i < classCounter; i++) {
            printf("    runtime_classArities[%d] = %d;\n",
                i, (int)arities[i]);
        }
        forEach(fi, def) {
            if (match(def, CLASS_FiDefineVar, &id, &value)) {
                pr("    "), prId(id), pr(" = ");
                if (match(value, CLASS_Fixnum))
                    pr("runtime_makeNumber("), prNum(value);
                else if (match(value, CLASS_String))
                    pr("runtime_makeString(\""), prStr(value), pr("\"");
                else
                    die("Unknown constant type.");
                pr(");\n");
            }
        }
        pr("}\n");
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xe8, %rsp
movq %rdi, %rbx
leaq 0x1dc2(%rip), %rdi      # 0x46c1
callq 0x1050
leaq 0x38(%rsp), %rax
movq %rbx, (%rax)
pushq $0x3
popq %rbp
leaq 0x8(%rsp), %r14
pushq $0x14
popq %r15
leaq 0x18(%rsp), %r12
leaq 0x20(%rsp), %r13
movq %rbx, 0x58(%rsp)
movq %rbx, %rdi
xorl %ebx, %ebx
movl %ebp, %esi
movq %r14, %rdx
leaq 0x38(%rsp), %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x295f
movq 0x8(%rsp), %rdi
movl %r15d, %esi
movq %r12, %rdx
movq %r13, %rcx
xorl %eax, %eax
callq 0x36ee
addl %eax, %ebx
movq 0x38(%rsp), %rdi
jmp 0x292c
testl %ebx, %ebx
je 0x2a1b
pushq $0xa
popq %rdi
callq 0x1040
leaq 0x1d60(%rip), %rdi      # 0x46d6
callq 0x1050
leaq 0x8(%rsp), %rax
movq 0x58(%rsp), %rdi
movq %rdi, (%rax)
leaq 0x1b3c(%rip), %rbx      # 0x44cb
pushq $0x3
popq %rbp
leaq 0x30(%rsp), %r14
pushq $0x14
popq %r15
leaq 0x28(%rsp), %r12
leaq 0x10(%rsp), %r13
movl %ebp, %esi
movq %r14, %rdx
leaq 0x8(%rsp), %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x2a0f
movq 0x30(%rsp), %rdi
movl %r15d, %esi
movq %r12, %rdx
movq %r13, %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x2a08
leaq 0x1b03(%rip), %rdi      # 0x44dd
xorl %eax, %eax
callq 0x1070
movq 0x28(%rsp), %rdi
callq 0x37f6
movq %rbx, %rdi
xorl %eax, %eax
callq 0x1070
leaq 0x1ce1(%rip), %rdi      # 0x46dd
callq 0x1050
leaq 0x1b9f(%rip), %rbx      # 0x45a7
movq 0x8(%rsp), %rdi
jmp 0x29a5
leaq 0x1cc9(%rip), %rdi      # 0x46df
callq 0x1050
leaq 0x8(%rsp), %rax
movq 0x58(%rsp), %rdi
movq %rdi, (%rax)
leaq 0x30(%rsp), %r14
leaq 0x28(%rsp), %r13
leaq 0x50(%rsp), %r15
pushq $0x1
popq %r12
pushq $0x3
popq %rsi
movq %r14, %rdx
leaq 0x8(%rsp), %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x2b0b
pushq $0xa
popq %rdi
callq 0x1040
movq 0x30(%rsp), %rdi
pushq $0x12
popq %rsi
movq %r13, %rdx
movq %r15, %rcx
xorl %eax, %eax
callq 0x36ee
movl %r12d, %ebp
testl %eax, %eax
je 0x2a93
leaq 0x1b02(%rip), %rdi      # 0x4582
xorl %eax, %eax
callq 0x1070
movq 0x28(%rsp), %rdi
callq 0x37f6
jmp 0x2af3
movq 0x30(%rsp), %rdi
pushq $0x13
popq %rsi
movq %r13, %rdx
leaq 0x10(%rsp), %rcx
leaq 0x78(%rsp), %r8
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
jne 0x2ada
movq 0x30(%rsp), %rdi
pushq $0x14
popq %rsi
movq %r13, %rdx
leaq 0x10(%rsp), %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
setne %al
testl %ebx, %ebx
sete %cl
orb %al, %cl
movl %ebx, %ebp
je 0x2a79
movq 0x28(%rsp), %rdi
callq 0x38cd
movq 0x10(%rsp), %rsi
movq %rax, %rdi
callq 0x3805
xorl %ebp, %ebp
leaq 0x1bbf(%rip), %rdi      # 0x46b9
callq 0x1050
movq 0x8(%rsp), %rdi
movl %ebp, %ebx
jmp 0x2a3b
leaq 0x98(%rsp), %rax
movq 0x58(%rsp), %rdi
movq %rdi, (%rax)
pushq $0x3
popq %rbp
leaq 0x28(%rsp), %rbx
leaq 0x10(%rsp), %r14
leaq 0x38(%rsp), %r13
leaq 0x8(%rsp), %r12
leaq 0x40(%rsp), %r15
movl %ebp, %esi
leaq 0x30(%rsp), %rdx
leaq 0x98(%rsp), %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x357d
movq 0x30(%rsp), %rdi
pushq $0x13
popq %rsi
movq %rbx, %rdx
movq %r14, %rcx
leaq 0x78(%rsp), %r8
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x2d0b
pushq $0xa
popq %rbx
movl %ebx, %edi
callq 0x1040
movq 0x28(%rsp), %rdi
callq 0x38cd
movq 0x10(%rsp), %rsi
movq %rax, %rdi
callq 0x3805
movl %ebx, %edi
callq 0x1040
leaq 0x1ade(%rip), %rdi      # 0x4684
callq 0x1050
movq 0x78(%rsp), %rdi
leaq 0x24671(%rip), %rax     # 0x27228
movq (%rax), %rbx
movq %rdi, 0x20(%rsp)
leaq 0x18(%rsp), %rdx
movl %ebp, %esi
leaq 0x20(%rsp), %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x2ca3
movq 0x18(%rsp), %rdi
pushq $0x15
popq %rsi
movq %r12, %rdx
leaq 0x68(%rsp), %rcx
leaq 0x48(%rsp), %r8
leaq 0x80(%rsp), %r9
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x2c94
movq 0x68(%rsp), %rdi
movq %rdi, 0x40(%rsp)
movl %ebp, %esi
movq %r13, %rdx
movq %r15, %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x2c3a
movq 0x38(%rsp), %rdi
movq %rbx, %rsi
callq 0x3e73
movq %rax, %rbx
movq 0x40(%rsp), %rdi
jmp 0x2c10
movq 0x48(%rsp), %rdi
movq %rdi, 0x40(%rsp)
movl %ebp, %esi
leaq 0x88(%rsp), %rdx
movq %r15, %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x2c94
movq 0x88(%rsp), %rdi
pushq $0x16
popq %rsi
movq %r12, %rdx
leaq 0xb0(%rsp), %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x2c8d
movq 0x8(%rsp), %rdi
movq %rbx, %rsi
callq 0x3e73
movq %rax, %rbx
movq 0x40(%rsp), %rdi
jmp 0x2c44
leaq 0x18(%rsp), %rdx
movq 0x20(%rsp), %rdi
jmp 0x2bc4
leaq 0x2457e(%rip), %rax     # 0x27228
cmpq (%rax), %rbx
je 0x2e02
leaq 0x18c4(%rip), %rdi      # 0x457e
xorl %eax, %eax
callq 0x1070
movq %rbx, 0x40(%rsp)
leaq 0x18da(%rip), %r14      # 0x45a7
movq %rbx, %rdi
movl %ebp, %esi
leaq 0x20(%rsp), %rdx
movq %r15, %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x2dec
movq %r14, %rdi
xorl %eax, %eax
callq 0x1070
movq 0x20(%rsp), %rdi
callq 0x37f6
movq 0x40(%rsp), %rbx
leaq 0x1805(%rip), %r14      # 0x450e
jmp 0x2ccd
movq 0x30(%rsp), %rdi
pushq $0x14
popq %rsi
movq %rbx, %rdx
movq %r14, %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x2ddf
pushq $0xa
popq %rbx
movl %ebx, %edi
callq 0x1040
movq 0x28(%rsp), %rdi
callq 0x38cd
movq 0x10(%rsp), %rsi
movq %rax, %rdi
callq 0x3805
movl %ebx, %edi
callq 0x1040
leaq 0x192d(%rip), %rdi      # 0x4684
callq 0x1050
movq 0x10(%rsp), %rdi
callq 0x38dc
movl %eax, %ebx
movq 0x10(%rsp), %rdi
callq 0x38dc
movslq 0x43f7(%rip), %rcx      # 0x7170
leal 0x1(%rcx), %edx
movl %edx, 0x43ee(%rip)      # 0x7170
leaq 0x14457(%rip), %rdx     # 0x171e0
movb %al, (%rcx,%rdx)
leaq 0x1755(%rip), %rdi      # 0x44e8
movl %ebx, %esi
xorl %eax, %eax
callq 0x1070
movq 0x28(%rsp), %rdi
callq 0x37f6
testl %ebx, %ebx
jle 0x2dc2
leaq 0x175d(%rip), %rdi      # 0x450e
xorl %eax, %eax
callq 0x1070
movq 0x10(%rsp), %rdi
callq 0x3922
leaq 0x18ef(%rip), %rdi      # 0x46b8
callq 0x1050
leaq 0x28(%rsp), %rbx
leaq 0x18e5(%rip), %rdi      # 0x46bf
callq 0x1050
movq 0x98(%rsp), %rdi
jmp 0x2b37
leaq 0x18c6(%rip), %rdi      # 0x46b9
callq 0x1050
leaq 0x10(%rsp), %r14
leaq 0x8(%rsp), %r12
movq 0x78(%rsp), %rdi
movq %rdi, 0xa0(%rsp)
xorl %ebx, %ebx
movq %rdi, 0x70(%rsp)
movl %ebp, %esi
leaq 0xc0(%rsp), %rdx
leaq 0xa0(%rsp), %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x2dce
movq 0xc0(%rsp), %rdi
pushq $0x15
popq %rsi
leaq 0x60(%rsp), %rdx
leaq 0xe0(%rsp), %rcx
leaq 0xd8(%rsp), %r8
leaq 0xd0(%rsp), %r9
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x3302
testl %ebx, %ebx
jne 0x2e92
leaq 0x17da(%rip), %rdi      # 0x464f
xorl %eax, %eax
callq 0x1070
movq 0x60(%rsp), %rdi
callq 0x37f6
leaq 0x182c(%rip), %rdi      # 0x46b9
callq 0x1050
movq 0x60(%rsp), %rdi
callq 0x37f6
leaq 0x17ee(%rip), %rdi      # 0x4691
callq 0x1050
movq 0xd8(%rsp), %rdi
movq %rdi, 0x38(%rsp)
movl %ebp, %esi
leaq 0xb8(%rsp), %rdx
movq %r13, %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x30bd
movq 0xb8(%rsp), %rdi
pushq $0x16
popq %rsi
leaq 0x60(%rsp), %rdx
leaq 0xc8(%rsp), %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x2fd7
movq %r13, %rbp
movq %r15, %r13
movq %r14, %r15
leaq 0x16ed(%rip), %rdi      # 0x45f5
xorl %eax, %eax
callq 0x1070
movq 0x60(%rsp), %rdi
callq 0x37f6
leaq 0x1615(%rip), %rdi      # 0x4535
xorl %eax, %eax
callq 0x1070
movq 0xc8(%rsp), %rbx
movq %rbx, %rdi
pushq $0x1e
popq %rsi
movq %r12, %rdx
leaq 0x18(%rsp), %r14
movq %r14, %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x2f7f
leaq 0x1636(%rip), %rdi      # 0x4588
xorl %eax, %eax
callq 0x1070
movq 0x8(%rsp), %rdi
callq 0x37f6
pushq $0x28
popq %rdi
callq 0x1040
movq 0x18(%rsp), %rdi
callq 0x3922
pushq $0x29
popq %rdi
callq 0x1040
jmp 0x2fbf
movq %rbx, %rdi
pushq $0x1d
popq %rsi
movq %r12, %rdx
movq %r14, %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x2fe1
movq 0x8(%rsp), %rdi
callq 0x37f6
pushq $0x28
popq %rdi
callq 0x1040
movq 0x18(%rsp), %rdi
callq 0x3922
pushq $0x29
popq %rdi
callq 0x1040
leaq 0x8(%rsp), %r12
movq %r15, %r14
movq %r13, %r15
movq %rbp, %r13
pushq $0x3
popq %rbp
leaq 0x16e7(%rip), %rdi      # 0x46b9
callq 0x1050
movq 0x38(%rsp), %rdi
jmp 0x2eb5
movq %rbx, %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
leaq 0x8(%rsp), %r12
movq %r15, %r14
je 0x3019
leaq 0x1539(%rip), %rdi      # 0x4539
xorl %eax, %eax
callq 0x1070
movq %rbx, %rdi
callq 0x3987
pushq $0x29
popq %rdi
callq 0x1040
jmp 0x2fc2
movq %rbx, %rdi
pushq $0x1
popq %rsi
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
movq %r13, %r15
je 0x3056
leaq 0x1519(%rip), %rdi      # 0x454d
xorl %eax, %eax
callq 0x1070
movq %rbx, %rdi
callq 0x399f
leaq 0x1544(%rip), %rdi      # 0x458e
xorl %eax, %eax
callq 0x1070
jmp 0x2fc5
movq %rbx, %rdi
pushq $0x4
popq %rsi
leaq 0x20(%rsp), %rdx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
movq %rbp, %r13
je 0x307c
movq %rbx, %rdi
callq 0x37f6
jmp 0x2fc8
movq 0x3f75(%rip), %rax      # 0x6ff8
movq (%rax), %r14
movq %rbx, %rdi
callq 0x3afb
movzwl %ax, %edx
movq %r14, %rdi
leaq 0x10(%rsp), %r14
leaq 0x8(%rsp), %r12
leaq 0x14ec(%rip), %rsi      # 0x4591
xorl %eax, %eax
callq 0x10b0
leaq 0x14f5(%rip), %rdi      # 0x45a8
callq 0x3fb8
jmp 0x2fc8
movq 0xd0(%rsp), %rbx
movq %rbx, %rdi
pushq $0x17
popq %rsi
movq %r12, %rdx
leaq 0x18(%rsp), %r14
movq %r14, %rcx
movq %r13, %r8
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x316c
movq 0x18(%rsp), %rdi
callq 0x38cd
movq %rax, %rbx
movq 0x8(%rsp), %rdi
pushq $0x2
popq %rsi
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
leaq 0x10(%rsp), %r14
je 0x323a
leaq 0x14aa(%rip), %rdi      # 0x45c2
xorl %eax, %eax
callq 0x1070
movq %rbx, %rdi
callq 0x3aca
movq %rax, %rdi
callq 0x3f06
testl %eax, %eax
leaq 0x8(%rsp), %r12
je 0x3146
leaq 0x1449(%rip), %rdi      # 0x4588
xorl %eax, %eax
callq 0x1070
movq %rbx, %rdi
callq 0x399f
pushq $0x28
popq %rdi
callq 0x1040
movq 0x38(%rsp), %rdi
callq 0x3922
leaq 0x1551(%rip), %rdi      # 0x46b8
jmp 0x32fa
movq %rbx, %rdi
pushq $0x18
popq %rsi
movq %r14, %rdx
movq %r13, %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x330f
movq 0x18(%rsp), %rdi
callq 0x38cd
movq %rax, %rdi
movq 0x70(%rsp), %rsi
callq 0x39b0
movq %rax, %rdi
movq %rax, 0x48(%rsp)
leaq 0x20(%rsp), %rbx
leaq 0x8(%rsp), %r12
leaq 0x10(%rsp), %r14
movl %ebp, %esi
leaq 0x68(%rsp), %rdx
leaq 0x48(%rsp), %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x32db
movq 0x38(%rsp), %rdi
movl %ebp, %esi
movq %rbx, %rdx
movq %r13, %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
jne 0x31f4
leaq 0x13df(%rip), %rdi      # 0x45ce
callq 0x3fb8
leaq 0x13f6(%rip), %rdi      # 0x45f1
xorl %eax, %eax
callq 0x1070
movq 0x68(%rsp), %rdi
callq 0x37f6
leaq 0x1322(%rip), %rdi      # 0x4535
xorl %eax, %eax
callq 0x1070
movq 0x20(%rsp), %rdi
callq 0x37f6
leaq 0x148e(%rip), %rdi      # 0x46b9
callq 0x1050
movq 0x48(%rsp), %rdi
jmp 0x31b5
movq 0x8(%rsp), %rdi
pushq $0x4
popq %rsi
leaq 0x20(%rsp), %rdx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
leaq 0x8(%rsp), %r12
je 0x32ff
movq 0x20(%rsp), %rdi
movq 0x70(%rsp), %rsi
callq 0x39b0
movq %rax, %r14
leaq 0x1381(%rip), %rdi      # 0x45f5
xorl %eax, %eax
callq 0x1070
movq %r14, %rdi
leaq 0x10(%rsp), %r14
leaq 0x8(%rsp), %r12
callq 0x3922
leaq 0x12a1(%rip), %rdi      # 0x4535
xorl %eax, %eax
callq 0x1070
movq %rbx, %rdi
callq 0x399f
pushq $0x28
popq %rdi
callq 0x1040
movq 0x38(%rsp), %rdi
callq 0x3922
leaq 0x13fc(%rip), %rdi      # 0x46b8
callq 0x1050
leaq 0x1387(%rip), %rdi      # 0x464f
xorl %eax, %eax
callq 0x1070
movq 0x20(%rsp), %rdi
callq 0x399f
jmp 0x32f3
leaq 0x136d(%rip), %rdi      # 0x464f
xorl %eax, %eax
callq 0x1070
movq 0x18(%rsp), %rdi
callq 0x37f6
leaq 0x13bf(%rip), %rdi      # 0x46b9
callq 0x1050
pushq $0x1
popq %rbx
movq 0xa0(%rsp), %rdi
jmp 0x2e16
movq %rbx, %rdi
pushq $0x19
popq %rsi
movq %r14, %rdx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x334e
leaq 0x1298(%rip), %rdi      # 0x45c2
xorl %eax, %eax
callq 0x1070
movq 0x18(%rsp), %rdi
callq 0x37f6
leaq 0x1377(%rip), %rdi      # 0x46b9
leaq 0x8(%rsp), %r12
leaq 0x10(%rsp), %r14
jmp 0x32fa
movq %rbx, %rdi
pushq $0x1a
popq %rsi
movq %r14, %rdx
leaq 0x20(%rsp), %rcx
leaq 0x68(%rsp), %r8
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
leaq 0x8(%rsp), %r12
leaq 0x10(%rsp), %r14
je 0x32ff
xorl %ebx, %ebx
leaq 0x127b(%rip), %rdi      # 0x45fa
xorl %eax, %eax
callq 0x1070
movq 0x18(%rsp), %rdi
callq 0x37f6
leaq 0x12ea(%rip), %rdi      # 0x4681
callq 0x1050
movq 0x20(%rsp), %rdi
movq %rdi, 0x40(%rsp)
movl %ebp, %esi
leaq 0x48(%rsp), %rdx
movq %r15, %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x3555
movq 0x48(%rsp), %rdi
pushq $0x1b
popq %rsi
leaq 0x88(%rsp), %rdx
leaq 0x80(%rsp), %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x3501
movl %ebx, 0x94(%rsp)
xorl %ebx, %ebx
leaq 0x121f(%rip), %rdi      # 0x4615
xorl %eax, %eax
callq 0x1070
movq 0x88(%rsp), %rdi
callq 0x37f6
leaq 0x1280(%rip), %rdi      # 0x4691
callq 0x1050
movq 0x80(%rsp), %rdi
callq 0x38cd
movq %rax, %rdi
movq 0x70(%rsp), %rsi
callq 0x39b0
movq %rax, %rdi
movq %rax, 0xa8(%rsp)
movl %ebp, %esi
leaq 0xb0(%rsp), %rdx
leaq 0xa8(%rsp), %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x34d3
leaq 0x1192(%rip), %rdi      # 0x45f1
xorl %eax, %eax
callq 0x1070
movq 0xb0(%rsp), %rdi
callq 0x37f6
leaq 0x11ab(%rip), %rdi      # 0x4625
xorl %eax, %eax
callq 0x1070
movq 0x18(%rsp), %rdi
callq 0x37f6
leaq 0x107c(%rip), %rdi      # 0x450e
xorl %eax, %eax
callq 0x1070
leal 0x1(%rbx), %r14d
leaq 0x1190(%rip), %rdi      # 0x4634
movl %ebx, %esi
xorl %eax, %eax
callq 0x1070
leaq 0x1204(%rip), %rdi      # 0x46b8
callq 0x1050
movq 0xa8(%rsp), %rdi
movl %r14d, %ebx
leaq 0x10(%rsp), %r14
leaq 0x8(%rsp), %r12
jmp 0x343b
leaq 0x1171(%rip), %rdi      # 0x464b
xorl %eax, %eax
callq 0x1070
movq 0x80(%rsp), %rdi
callq 0x37f6
leaq 0x11c4(%rip), %rdi      # 0x46b9
callq 0x1050
movl 0x94(%rsp), %ebx
movq 0x48(%rsp), %rdi
pushq $0x1c
popq %rsi
leaq 0x18(%rsp), %rdx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x354b
leaq 0x1166(%rip), %rdi      # 0x4686
callq 0x1050
leaq 0x111f(%rip), %rdi      # 0x464b
xorl %eax, %eax
callq 0x1070
movq 0x18(%rsp), %rdi
callq 0x37f6
leaq 0x1175(%rip), %rdi      # 0x46b9
callq 0x1050
incl %ebx
movq 0x40(%rsp), %rdi
jmp 0x33a6
testl %ebx, %ebx
jne 0x3571
leaq 0x1126(%rip), %rdi      # 0x4686
callq 0x1050
leaq 0x1127(%rip), %rdi      # 0x4693
callq 0x1050
leaq 0x1143(%rip), %rdi      # 0x46bb
jmp 0x32fa
pushq $0xa
popq %rdi
callq 0x1040
leaq 0x1156(%rip), %rdi      # 0x46e2
callq 0x1050
leaq 0x10ec(%rip), %rdi      # 0x4684
callq 0x1050
pushq $0x1f
popq %rbx
leaq 0xf6a(%rip), %r14       # 0x4511
leaq 0x13c32(%rip), %r15     # 0x171e0
movslq 0x3bbb(%rip), %rax      # 0x7170
cmpq %rax, %rbx
jge 0x35d0
movzbl (%rbx,%r15), %edx
movq %r14, %rdi
movl %ebx, %esi
xorl %eax, %eax
callq 0x1070
incq %rbx
jmp 0x35ae
leaq 0x8(%rsp), %rbx
movq 0x58(%rsp), %rdi
movq %rdi, (%rbx)
pushq $0x3
popq %rbp
leaq 0x30(%rsp), %r14
pushq $0x12
popq %r15
leaq 0x28(%rsp), %r12
leaq 0x50(%rsp), %r13
movl %ebp, %esi
movq %r14, %rdx
movq %rbx, %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x36d0
movq 0x30(%rsp), %rdi
movl %r15d, %esi
movq %r12, %rdx
movq %r13, %rcx
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x36c6
leaq 0xfc7(%rip), %rdi       # 0x45f5
xorl %eax, %eax
callq 0x1070
movq 0x28(%rsp), %rdi
callq 0x37f6
leaq 0xeef(%rip), %rdi       # 0x4535
xorl %eax, %eax
callq 0x1070
movq 0x50(%rsp), %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x3679
leaq 0xed3(%rip), %rdi       # 0x4539
xorl %eax, %eax
callq 0x1070
movq 0x50(%rsp), %rdi
callq 0x3987
jmp 0x36ba
movq 0x50(%rsp), %rdi
pushq $0x1
popq %rsi
xorl %eax, %eax
callq 0x36ee
testl %eax, %eax
je 0x36ae
leaq 0xeba(%rip), %rdi       # 0x454d
xorl %eax, %eax
callq 0x1070
movq 0x50(%rsp), %rdi
callq 0x399f
pushq $0x22
popq %rdi
callq 0x1040
jmp 0x36ba
leaq 0xead(%rip), %rdi       # 0x4562
callq 0x3fb8
leaq 0xff7(%rip), %rdi       # 0x46b8
callq 0x1050
movq 0x8(%rsp), %rdi
jmp 0x35f3
leaq 0xfe8(%rip), %rdi       # 0x46bf
callq 0x1050
addq $0xe8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq