// File: Eronana[P]strawberry/src/vm_data.cpp
// Function: V_VALUE::toString[abi:cxx11]() const
string V_VALUE::toString() const
{
    char s[30];
    switch(type)
    {
        case T_INT:
            sprintf(s,"%d",v_int);
            return s;
        case T_FLOAT:
            sprintf(s,"%f",v_float);
            return s;
        case T_STRING:
            return *v_string;
        case T_BOOL:
            return v_bool?"true":"false";
        case T_NATIVE_FUNCTION:
            return "[Native Function]";
        case T_FUNCTION:
            return "[Finction]";
        case T_ARRAY:
            return "[Array]";
        case T_OBJECT:
            return "[OBJECT]";
        case T_NULL:
            return "null";
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x70(%rbp)
movq %rdi, %rax
movq %rax, -0x68(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
movl (%rax), %eax
movq %rax, -0x58(%rbp)
subq $0x8, %rax
ja 0x15aa4
movq -0x58(%rbp), %rax
leaq 0x42b43(%rip), %rcx     # 0x582f4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x60(%rbp), %rax
movl 0x8(%rax), %edx
leaq 0x43d71(%rip), %rsi     # 0x59539
xorl %eax, %eax
leaq -0x30(%rbp), %rdi
movq %rdi, -0x80(%rbp)
callq 0x7090
leaq -0x31(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x75f0
movq -0x70(%rbp), %rdi
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
callq 0xf990
jmp 0x157f7
leaq -0x31(%rbp), %rdi
callq 0x7310
jmp 0x15aa6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x31(%rbp), %rdi
callq 0x7310
jmp 0x15ab3
movq -0x60(%rbp), %rax
movsd 0x8(%rax), %xmm0
leaq 0x42b31(%rip), %rsi     # 0x58360
leaq -0x30(%rbp), %rdi
movq %rdi, -0x90(%rbp)
movb $0x1, %al
callq 0x7090
leaq -0x45(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x75f0
movq -0x70(%rbp), %rdi
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
callq 0xf990
jmp 0x1586a
leaq -0x45(%rbp), %rdi
callq 0x7310
jmp 0x15aa6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x45(%rbp), %rdi
callq 0x7310
jmp 0x15ab3
movq -0x70(%rbp), %rdi
movq -0x60(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x7130
jmp 0x15aa6
movq -0x60(%rbp), %rax
movl 0x8(%rax), %eax
testl %eax, %eax
leaq 0x42aab(%rip), %rcx     # 0x58363
leaq 0x42aa9(%rip), %rax     # 0x58368
cmovneq %rcx, %rax
movq %rax, -0xa0(%rbp)
leaq -0x46(%rbp), %rdi
movq %rdi, -0x98(%rbp)
callq 0x75f0
movq -0x70(%rbp), %rdi
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
callq 0xf990
jmp 0x158f3
leaq -0x46(%rbp), %rdi
callq 0x7310
jmp 0x15aa6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x46(%rbp), %rdi
callq 0x7310
jmp 0x15ab3
leaq -0x47(%rbp), %rdi
movq %rdi, -0xa8(%rbp)
callq 0x75f0
movq -0x70(%rbp), %rdi
movq -0xa8(%rbp), %rdx
leaq 0x42a31(%rip), %rsi     # 0x5836e
callq 0xf990
jmp 0x15944
leaq -0x47(%rbp), %rdi
callq 0x7310
jmp 0x15aa6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x47(%rbp), %rdi
callq 0x7310
jmp 0x15ab3
leaq -0x48(%rbp), %rdi
movq %rdi, -0xb0(%rbp)
callq 0x75f0
movq -0x70(%rbp), %rdi
movq -0xb0(%rbp), %rdx
leaq 0x429f2(%rip), %rsi     # 0x58380
callq 0xf990
jmp 0x15995
leaq -0x48(%rbp), %rdi
callq 0x7310
jmp 0x15aa6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x7310
jmp 0x15ab3
leaq -0x49(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
callq 0x75f0
movq -0x70(%rbp), %rdi
movq -0xb8(%rbp), %rdx
leaq 0x429ac(%rip), %rsi     # 0x5838b
callq 0xf990
jmp 0x159e6
leaq -0x49(%rbp), %rdi
callq 0x7310
jmp 0x15aa6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x49(%rbp), %rdi
callq 0x7310
jmp 0x15ab3
leaq -0x4a(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0x75f0
movq -0x70(%rbp), %rdi
movq -0xc0(%rbp), %rdx
leaq 0x42963(%rip), %rsi     # 0x58393
callq 0xf990
jmp 0x15a37
leaq -0x4a(%rbp), %rdi
callq 0x7310
jmp 0x15aa6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x4a(%rbp), %rdi
callq 0x7310
jmp 0x15ab3
leaq -0x4b(%rbp), %rdi
movq %rdi, -0xc8(%rbp)
callq 0x75f0
movq -0x70(%rbp), %rdi
movq -0xc8(%rbp), %rdx
leaq 0x42921(%rip), %rsi     # 0x5839c
callq 0xf990
jmp 0x15a82
leaq -0x4b(%rbp), %rdi
callq 0x7310
jmp 0x15aa6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x4b(%rbp), %rdi
callq 0x7310
jmp 0x15ab3
ud2
movq -0x68(%rbp), %rax
addq $0xd0, %rsp
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x75e0
nopl (%rax)