// File: /workspace/github_c_makefile_star2_O2/afi-lambda[P]a_little_smalltalk/src/primitive.c
// Function: primitive
object primitive(register int primitiveNumber, object *arguments)
{
    register int primitiveGroup = primitiveNumber / 10;
    object returnedObject;

    if (primitiveNumber >= 150)
    {
        /* system dependent primitives, handled in separate module */
        returnedObject = sysPrimitive(primitiveNumber, arguments);
    }
    else
    {
        switch (primitiveGroup)
        {
        case 0:
            returnedObject = zeroaryPrims(primitiveNumber);
            break;
        case 1:
            returnedObject = unaryPrims(primitiveNumber - 10, arguments[0]);
            break;
        case 2:
            returnedObject = binaryPrims(primitiveNumber - 20, arguments[0],
                                         arguments[1]);
            break;
        case 3:
            returnedObject = trinaryPrims(primitiveNumber - 30, arguments[0],
                                          arguments[1], arguments[2]);
            break;

        case 5: /* integer unary operations */
            if (!isInteger(arguments[0]))
                returnedObject = nilobj;
            else
                returnedObject = intUnary(primitiveNumber - 50,
                                          intValue(arguments[0]));
            break;

        case 6:
        case 7: /* integer binary operations */
            if ((!isInteger(arguments[0])) || !isInteger(arguments[1]))
                returnedObject = nilobj;
            else
                returnedObject = intBinary(primitiveNumber - 60,
                                           intValue(arguments[0]), intValue(arguments[1]));
            break;

        case 8: /* string unary */
            returnedObject = strUnary(primitiveNumber - 80,
                                      charPtr(arguments[0]));
            break;

        case 10: /* float unary */
            returnedObject = floatUnary(primitiveNumber - 100, floatValue(
                                            arguments[0]));
            break;

        case 11: /* float binary */
            returnedObject = floatBinary(primitiveNumber - 110, floatValue(
                                             arguments[0]), floatValue(arguments[1]));
            break;

        case 12:
        case 13: /* file operations */

            returnedObject = ioPrimitive(primitiveNumber - 120, arguments);
            break;

        default:
            sysError("unknown primitive number", "doPrimitive");
            break;
        }
    }

    return (returnedObject);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x7e8, %rsp            # imm = 0x7E8
movq %rsi, %r14
movl %edi, %r15d
cmpl $0x96, %edi
jl 0x4aaa
movl %r15d, %edi
movq %r14, %rsi
addq $0x7e8, %rsp            # imm = 0x7E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x4a04
pushq $0xa
popq %rcx
movl %r15d, %eax
cltd
idivl %ecx
cmpl $0xd, %eax
ja 0x4da2
leaq 0x4a21(%rip), %rcx      # 0x94e4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movswl (%r14), %edi
callq 0x2b28
testl %eax, %eax
je 0x55c8
movswl 0x2(%r14), %edi
callq 0x2b28
testl %eax, %eax
je 0x55c8
movswl (%r14), %edi
callq 0x2d90
movl %eax, %ebx
movswl 0x2(%r14), %edi
callq 0x2d90
movl %eax, %ecx
leal -0x3c(%r15), %eax
cmpl $0x13, %eax
ja 0x5500
leaq 0x4a66(%rip), %rdx      # 0x9580
movslq (%rdx,%rax,4), %rax
addq %rdx, %rax
jmpq *%rax
addl $-0x3e, %r15d
cmpl $0x5, %r15d
ja 0x5500
cmpl %ecx, %ebx
jne 0x538b
jmp 0x53c2
addl $-0x78, %r15d
movl %r15d, %edi
movq %r14, %rsi
addq $0x7e8, %rsp            # imm = 0x7E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x7e20
movzwl (%r14), %ebx
addl $-0x15, %r15d
cmpl $0x8, %r15d
ja 0x529c
movzwl 0x2(%r14), %eax
movswl %bx, %r14d
movswl %ax, %ebp
leaq 0x4a95(%rip), %rcx      # 0x9618
movslq (%rcx,%r15,4), %rdx
addq %rcx, %rdx
jmpq *%rdx
cmpw %ax, %bx
jne 0x538b
jmp 0x53c2
decl %r15d
cmpl $0x8, %r15d
ja 0x4edf
leaq 0x4a8e(%rip), %rax      # 0x963c
movslq (%rax,%r15,4), %rcx
addq %rax, %rcx
jmpq *%rcx
callq 0x2210
movl %eax, %ecx
shrl $0x8, %ecx
movl %ecx, %edx
negl %edx
btl $0x17, %eax
cmovael %ecx, %edx
movswl %dx, %edi
sarl %edi
jmp 0x5502
addl $-0xa, %r15d
movswl (%r14), %esi
movl %r15d, %edi
callq 0x564b
movl %eax, %ebx
jmp 0x55ca
movswl (%r14), %edi
leaq 0x22c88(%rip), %rbx     # 0x27880
movw %di, (%rbx)
callq 0x2b28
addl $-0x51, %r15d
cmpl $0x8, %r15d
ja 0x4fbd
movswl (%rbx), %eax
shrl %eax
movswq %ax, %rax
shlq $0x4, %rax
leaq 0x960e(%rip), %rcx      # 0xe230
movq 0x8(%rcx,%rax), %rsi
leaq 0x492e(%rip), %rax      # 0x955c
movslq (%rax,%r15,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq %rsi, %rdi
callq 0x20a0
movl %eax, %edi
jmp 0x5502
movzwl (%r14), %r12d
addl $-0x1f, %r15d
cmpl $0x8, %r15d
ja 0x4eb3
movzwl 0x2(%r14), %ebp
movswl %r12w, %ebx
movzwl 0x4(%r14), %eax
movswl %ax, %r14d
leaq 0x4983(%rip), %rax      # 0x95f4
movslq (%rax,%r15,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movswl %bp, %ebp
movl %ebp, %edi
callq 0x2b28
testl %eax, %eax
jne 0x4c9b
leaq 0x4a79(%rip), %rdi      # 0x9708
leaq 0x4517(%rip), %rsi      # 0x91ad
callq 0x4938
movl %r14d, %edi
callq 0x2b28
testl %eax, %eax
jne 0x4cba
leaq 0x4aa3(%rip), %rdi      # 0x9751
leaq 0x4aae(%rip), %rsi      # 0x9763
callq 0x4938
movl %ebp, %edi
callq 0x2d90
movl %eax, %ebp
movl %r14d, %edi
callq 0x2d90
movl %ebx, %edi
movl %ebp, %esi
movl %eax, %edx
callq 0x2c5f
jmp 0x55ca
movswl (%r14), %edi
callq 0x2b28
testl %eax, %eax
je 0x55c8
movswl (%r14), %edi
callq 0x2d90
addl $-0x33, %r15d
cmpl $0x8, %r15d
ja 0x5335
leaq 0x48c6(%rip), %rcx      # 0x95d0
movslq (%rcx,%r15,4), %rdx
addq %rcx, %rdx
jmpq *%rdx
cvtsi2sd %eax, %xmm0
jmp 0x541f
movswl (%r14), %edi
callq 0x3646
movsd %xmm0, (%rsp)
movswl 0x2(%r14), %edi
callq 0x3646
addl $-0x6e, %r15d
cmpl $0x9, %r15d
ja 0x53f8
leaq 0x47d3(%rip), %rax      # 0x951c
movslq (%rax,%r15,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movsd (%rsp), %xmm1
addsd %xmm0, %xmm1
jmp 0x541b
movswl (%r14), %edi
callq 0x3646
addl $-0x65, %r15d
cmpl $0x5, %r15d
ja 0x4f85
leaq 0x47c6(%rip), %rax      # 0x9544
movslq (%rax,%r15,4), %rcx
addq %rax, %rcx
jmpq *%rcx
leaq 0x4a31(%rip), %rsi      # 0x97bf
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
movb $0x1, %al
callq 0x21d0
jmp 0x5212
leaq 0x48db(%rip), %rdi      # 0x9684
leaq 0x48ed(%rip), %rsi      # 0x969d
callq 0x4938
jmp 0x55ca
movl %ebx, %edi
callq 0x63d4
leaq 0x22ab8(%rip), %r15     # 0x27880
movw %bp, (%r15)
movswl %bp, %edi
callq 0x2b28
movswl (%r15), %eax
shrl %eax
movswq %ax, %rax
shlq $0x4, %rax
leaq 0x9447(%rip), %r15      # 0xe230
movq 0x8(%r15,%rax), %rsi
movl %r14d, %edi
xorl %edx, %edx
callq 0x649e
testl %eax, %eax
je 0x538b
shrl %r14d
movswq %r14w, %rax
shlq $0x4, %rax
movq 0x8(%r15,%rax), %rax
movswl 0x2(%rax), %edi
movl %ebx, %esi
callq 0x37a4
jmp 0x53c2
leaq 0x22a59(%rip), %r15     # 0x27880
movw %bx, (%r15)
movl %ebx, %edi
callq 0x2b28
movswl (%r15), %eax
shrl %eax
movswq %ax, %rax
shlq $0x4, %rax
leaq 0x93e9(%rip), %rcx      # 0xe230
movq 0x8(%rcx,%rax), %rbx
movswl %bp, %ebp
movl %ebp, %edi
callq 0x2b28
testl %eax, %eax
je 0x4e66
movl %r14d, %edi
callq 0x2b28
testl %eax, %eax
jne 0x4e79
leaq 0x489b(%rip), %rdi      # 0x9708
leaq 0x48f7(%rip), %rsi      # 0x976b
callq 0x4938
movl %ebp, %edi
callq 0x2d90
movl %eax, %r15d
movl %r14d, %edi
callq 0x2d90
movl %eax, %ebp
movl %r15d, %r14d
movq %rbx, %rdi
callq 0x20a0
cmpq %r14, %rax
jae 0x5009
leaq 0x10(%rsp), %rax
movb $0x0, (%rax)
leaq 0x10(%rsp), %rdi
jmp 0x5215
leaq 0x4609(%rip), %rdi      # 0x94c3
leaq 0x48b5(%rip), %rsi      # 0x9776
callq 0x4938
movl %r12d, %ebx
jmp 0x55ca
xorl %edi, %edi
xorl %eax, %eax
callq 0x2180
movswl %ax, %edi
jmp 0x5502
leaq 0x45dd(%rip), %rdi      # 0x94c3
leaq 0x47de(%rip), %rsi      # 0x96cb
callq 0x4938
jmp 0x55c8
callq 0x2200
jmp 0x4f03
callq 0x20d0
callq 0x35b8
jmp 0x521a
leaq 0xc(%rsp), %rbx
movq %rbx, %rdi
callq 0x2120
movl (%rbx), %eax
leal -0xc(%rax), %ecx
xorl %ebp, %ebp
cmpl $0xd, %eax
pushq $0xc
popq %rdi
cmovbl %eax, %edi
cmovael %ecx, %ebp
callq 0x2040
cvttsd2si %xmm0, %r14d
pushq $0x2
popq %rdi
callq 0x318d
movswl %ax, %ebx
movl %r14d, %edi
callq 0x2d9b
movl %ebx, %ecx
shrl %ecx
movswq %cx, %r14
shlq $0x4, %r14
leaq 0x92d3(%rip), %r15      # 0xe230
movq 0x8(%r15,%r14), %rcx
movw %ax, (%rcx)
movswl %ax, %edi
callq 0x2b30
movl %ebp, %edi
callq 0x2d9b
movq 0x8(%r15,%r14), %rcx
movw %ax, 0x2(%rcx)
movswl %ax, %edi
jmp 0x532b
leaq 0x4537(%rip), %rdi      # 0x94c3
leaq 0x482f(%rip), %rsi      # 0x97c2
jmp 0x4db0
movq %rsi, %rdi
addq $0x7e8, %rsp            # imm = 0x7E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3368
leaq 0x47f2(%rip), %rdi      # 0x97aa
jmp 0x4db0
leaq 0x44ff(%rip), %rdi      # 0x94c3
leaq 0x47eb(%rip), %rsi      # 0x97b6
jmp 0x4db0
movq %rsi, %rdi
callq 0x2f93
jmp 0x5002
leaq 0x228a3(%rip), %rax     # 0x27884
movswl (%rax), %edi
addq $0x7e8, %rsp            # imm = 0x7E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x306f
movq %rsi, %rdi
callq 0x20b0
movl %eax, %edi
jmp 0x5502
leaq 0x10(%rsp), %rax
cmpl %ebp, %r15d
ja 0x4ea6
leal -0x1(%r15), %ecx
movb (%rbx,%rcx), %cl
testb %cl, %cl
je 0x4ea6
movb %cl, (%rax)
incq %rax
incl %r15d
jmp 0x500e
leaq 0x22f81(%rip), %r15     # 0x27fb8
movswl (%r15), %eax
shrl %eax
movswq %ax, %rax
shlq $0x4, %rax
leaq 0x91e4(%rip), %r12      # 0xe230
movq 0x8(%r12,%rax), %rax
leaq 0x22f64(%rip), %rcx     # 0x27fbc
movslq (%rcx), %rcx
movswl -0x2(%rax,%rcx,2), %edi
callq 0x2d90
leal 0x1(%rax), %ecx
leaq 0x22819(%rip), %rdx     # 0x27888
movl %ecx, (%rdx)
movswl (%r15), %ecx
shrl %ecx
movswq %cx, %rcx
shlq $0x4, %rcx
movq 0x8(%r12,%rcx), %rcx
movslq %eax, %r13
movswl (%rcx,%r13,2), %edi
callq 0x2b55
movswl (%r15), %eax
shrl %eax
movswq %ax, %rax
shlq $0x4, %rax
movq 0x8(%r12,%rax), %rax
leaq 0x227dd(%rip), %rcx     # 0x27888
movslq (%rcx), %rcx
movw %r14w, -0x2(%rax,%rcx,2)
movl %r14d, %edi
callq 0x2b30
leal 0x4(%r13), %eax
leaq 0x227c1(%rip), %r14     # 0x27888
movl %eax, (%r14)
movswl (%r15), %eax
shrl %eax
movswq %ax, %rax
shlq $0x4, %rax
movq 0x8(%r12,%rax), %rax
movswl 0x6(%rax,%r13,2), %edi
callq 0x2b55
movswl (%r15), %eax
shrl %eax
movswq %ax, %rax
shlq $0x4, %rax
movq 0x8(%r12,%rax), %rax
movslq (%r14), %rcx
movw %bp, -0x2(%rax,%rcx,2)
jmp 0x5295
movl %ebp, %edi
callq 0x2b28
testl %eax, %eax
jne 0x5126
leaq 0x45ee(%rip), %rdi      # 0x9708
leaq 0x45f9(%rip), %rsi      # 0x971a
callq 0x4938
leaq 0x22753(%rip), %rbx     # 0x27880
movw %r14w, (%rbx)
movl %r14d, %edi
callq 0x2b28
movswl (%rbx), %eax
shrl %eax
movswq %ax, %rax
shlq $0x4, %rax
leaq 0x90e3(%rip), %rcx      # 0xe230
movq 0x8(%rcx,%rax), %rbx
movl %ebp, %edi
callq 0x2d90
cltq
movzbl -0x1(%rbx,%rax), %edi
callq 0x2d9b
jmp 0x521a
movl %ebp, %edi
callq 0x2b28
testl %eax, %eax
jne 0x5188
leaq 0x458c(%rip), %rdi      # 0x9708
leaq 0x4106(%rip), %rsi      # 0x9289
callq 0x4938
shrl %r14d
movswq %r14w, %rax
shlq $0x4, %rax
leaq 0x9096(%rip), %rcx      # 0xe230
movq 0x8(%rcx,%rax), %rbx
movl %ebp, %edi
callq 0x2d90
cltq
movzwl -0x2(%rbx,%rax,2), %ebx
jmp 0x55ca
leaq 0x226c7(%rip), %r15     # 0x27880
movw %r14w, (%r15)
movl %r14d, %edi
callq 0x2b28
movswl (%r15), %eax
shrl %eax
movswq %ax, %rax
shlq $0x4, %rax
leaq 0x9056(%rip), %r14      # 0xe230
movq 0x8(%r14,%rax), %rsi
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x2050
movw %bp, (%r15)
movl %ebp, %edi
callq 0x2b28
movswl (%r15), %eax
shrl %eax
movswq %ax, %rax
shlq $0x4, %rax
movq 0x8(%r14,%rax), %rsi
movq %rbx, %rdi
callq 0x21c0
movq %rbx, %rdi
callq 0x374c
movl %eax, %ebx
jmp 0x55ca
leaq 0x2265c(%rip), %rax     # 0x27884
movswl (%rax), %r15d
leaq 0x2264d(%rip), %r12     # 0x27880
movw %r14w, (%r12)
movl %r14d, %edi
callq 0x2b28
movswl (%r12), %eax
shrl %eax
movswq %ax, %rax
shlq $0x4, %rax
leaq 0x8fda(%rip), %rcx      # 0xe230
movq 0x8(%rcx,%rax), %rdi
callq 0x2f93
movl %r15d, %edi
movl %eax, %esi
movl %r14d, %edx
movl %ebp, %ecx
callq 0x2da8
jmp 0x55ca
shrl %r14d
movswq %r14w, %r14
shlq $0x4, %r14
leaq 0x8faa(%rip), %r15      # 0xe230
movswl (%r15,%r14), %edi
callq 0x2b55
movw %bp, (%r15,%r14)
movl %ebp, %edi
jmp 0x532b
leaq 0x4220(%rip), %rdi      # 0x94c3
leaq 0x4478(%rip), %rsi      # 0x9722
callq 0x4938
jmp 0x55ca
xorl %eax, %eax
callq 0x31e2
movswl %ax, %ebx
movl %ebx, %eax
shrl %eax
movswq %ax, %r15
shlq $0x4, %r15
leaq 0x8f5f(%rip), %r12      # 0xe230
movq 0x8(%r12,%r15), %rax
movw %bp, (%rax)
movl %ebp, %edi
callq 0x2b30
shrl %r14d
movswq %r14w, %r14
shlq $0x4, %r14
movq 0x8(%r12,%r14), %rax
movswl 0x2(%rax), %edi
movq 0x8(%r12,%r15), %rax
movw %di, 0x2(%rax)
callq 0x2b30
movq 0x8(%r12,%r14), %rax
movswl 0x4(%rax), %edi
movq 0x8(%r12,%r15), %rax
movw %di, 0x4(%rax)
callq 0x2b30
movq 0x8(%r12,%r14), %rax
movswl 0x6(%rax), %edi
movq 0x8(%r12,%r15), %rax
movw %di, 0x6(%rax)
callq 0x2b30
jmp 0x55ca
leaq 0x445b(%rip), %rdi      # 0x9797
leaq 0x494a(%rip), %rsi      # 0x9c8d
jmp 0x4db0
movl %eax, %edi
addq $0x7e8, %rsp            # imm = 0x7E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2964
movl %eax, %edi
callq 0x2100
jmp 0x55c8
movl %eax, %edi
addq $0x7e8, %rsp            # imm = 0x7E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2ab2
ucomisd (%rsp), %xmm0
jae 0x53c2
leaq 0x22c32(%rip), %rax     # 0x27fc4
jmp 0x53c9
movsd (%rsp), %xmm1
divsd %xmm0, %xmm1
jmp 0x541b
ucomisd (%rsp), %xmm0
jbe 0x538b
jmp 0x53c2
movsd (%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0x538b
jmp 0x53c2
movsd (%rsp), %xmm1
ucomisd %xmm0, %xmm1
jne 0x53c2
jnp 0x538b
leaq 0x22bf9(%rip), %rax     # 0x27fc2
movzwl (%rax), %ebx
jmp 0x55ca
movsd (%rsp), %xmm1
subsd %xmm0, %xmm1
jmp 0x541b
movsd (%rsp), %xmm1
ucomisd %xmm0, %xmm1
jb 0x538b
jmp 0x53c2
movsd (%rsp), %xmm1
ucomisd %xmm0, %xmm1
jne 0x538b
jnp 0x53c2
jmp 0x538b
leaq 0x40c4(%rip), %rdi      # 0x94c3
leaq 0x43c7(%rip), %rsi      # 0x97cd
callq 0x4938
movsd (%rsp), %xmm0
jmp 0x541f
movsd (%rsp), %xmm1
mulsd %xmm0, %xmm1
movapd %xmm1, %xmm0
addq $0x7e8, %rsp            # imm = 0x7E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x35b8
xorl %ebx, %ecx
jmp 0x544f
testl %ecx, %ecx
je 0x55c8
movl %ebx, %eax
cltd
idivl %ecx
movl %eax, %ebx
jmp 0x5500
andl %ebx, %ecx
movl %ecx, %ebx
jmp 0x5500
cmpl %ecx, %ebx
jge 0x538b
jmp 0x53c2
cmpl %ecx, %ebx
jl 0x538b
jmp 0x53c2
testl %ecx, %ecx
je 0x55c8
movl %ebx, %eax
cltd
idivl %ecx
movl %edx, %ebx
jmp 0x5500
movslq %ebx, %rax
movslq %ecx, %rbx
leaq (%rbx,%rax), %rcx
addq $0x3fff, %rcx           # imm = 0x3FFF
cmpq $0x7ffe, %rcx           # imm = 0x7FFE
ja 0x55c8
addq %rax, %rbx
jmp 0x5500
movslq %ebx, %rbx
movslq %ecx, %rax
subq %rax, %rbx
jmp 0x54db
testl %ecx, %ecx
js 0x54fc
shll %cl, %ebx
jmp 0x5500
cmpl %ecx, %ebx
jle 0x538b
jmp 0x53c2
cmpl %ecx, %ebx
jg 0x538b
jmp 0x53c2
movslq %ebx, %rax
movslq %ecx, %rbx
imulq %rax, %rbx
leaq 0x3fff(%rbx), %rax
cmpq $0x7ffe, %rax           # imm = 0x7FFE
jbe 0x5500
jmp 0x55c8
cmpl %ecx, %ebx
je 0x538b
jmp 0x53c2
negb %cl
sarl %cl, %ebx
movl %ebx, %edi
addq $0x7e8, %rsp            # imm = 0x7E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2d9b
movswl %bp, %ebp
movl %ebp, %edi
callq 0x2b28
testl %eax, %eax
jne 0x5539
leaq 0x41db(%rip), %rdi      # 0x9708
leaq 0x41fa(%rip), %rsi      # 0x972e
callq 0x4938
movq 0x7ab0(%rip), %rax      # 0xcff0
movq (%rax), %r15
movl %ebp, %edi
callq 0x2d90
leaq 0x41e8(%rip), %rsi      # 0x9739
movq %r15, %rdi
movl %ebx, %edx
movl %eax, %ecx
movl %r14d, %r8d
xorl %eax, %eax
callq 0x2170
movl %ebp, %edi
callq 0x2d90
leaq 0x22318(%rip), %r15     # 0x27888
movl %eax, (%r15)
movl %ebx, %ecx
sarl %ecx
movslq %ecx, %r12
shlq $0x4, %r12
leaq 0x8cab(%rip), %r13      # 0xe230
movq 0x8(%r13,%r12), %rcx
cltq
movswl -0x2(%rcx,%rax,2), %edi
callq 0x2b55
movq 0x8(%r13,%r12), %rax
movslq (%r15), %rcx
movw %r14w, -0x2(%rax,%rcx,2)
movl %r14d, %edi
jmp 0x532b
movq 0x7a3d(%rip), %rax      # 0xcff0
movq (%rax), %rcx
leaq 0x40ec(%rip), %rdi      # 0x96a9
pushq $0x10
popq %rsi
pushq $0x1
popq %rdx
callq 0x21f0
xorl %ebx, %ebx
movl %ebx, %eax
addq $0x7e8, %rsp            # imm = 0x7E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x7a0b(%rip), %rax      # 0xcff0
movq (%rax), %r14
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x2d67
leaq 0x40c2(%rip), %rsi      # 0x96ba
movq %r14, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0x2170
jmp 0x55ca
movq 0x79e3(%rip), %rax      # 0xcff0
movq (%rax), %rdi
leaq 0x40dd(%rip), %rsi      # 0x96f4
movl %r14d, %edx
movl %ebp, %ecx
xorl %eax, %eax
callq 0x2170
jmp 0x55ca
movq 0x79c4(%rip), %rcx      # 0xcff0
movq (%rcx), %rdi
leaq 0x414d(%rip), %rsi      # 0x9783
movl %eax, %edx
xorl %eax, %eax
callq 0x2170
jmp 0x4db5
xorl %edi, %edi
callq 0x21e0