// File: /workspace/github_c_makefile_star2_O0/nilyang[P]redis-tdd-annotation/deps/lua/src/lua_cmsgpack.c
// Function: mp_decode_to_lua_type
void mp_decode_to_lua_type(lua_State *L, mp_cur *c) {
    mp_cur_need(c,1);
    switch(c->p[0]) {
    case 0xcc:  /* uint 8 */
        mp_cur_need(c,2);
        lua_pushnumber(L,c->p[1]);
        mp_cur_consume(c,2);
        break;
    case 0xd0:  /* int 8 */
        mp_cur_need(c,2);
        lua_pushnumber(L,(char)c->p[1]);
        mp_cur_consume(c,2);
        break;
    case 0xcd:  /* uint 16 */
        mp_cur_need(c,3);
        lua_pushnumber(L,
            (c->p[1] << 8) |
             c->p[2]);
        mp_cur_consume(c,3);
        break;
    case 0xd1:  /* int 16 */
        mp_cur_need(c,3);
        lua_pushnumber(L,(int16_t)
            (c->p[1] << 8) |
             c->p[2]);
        mp_cur_consume(c,3);
        break;
    case 0xce:  /* uint 32 */
        mp_cur_need(c,5);
        lua_pushnumber(L,
            ((uint32_t)c->p[1] << 24) |
            ((uint32_t)c->p[2] << 16) |
            ((uint32_t)c->p[3] << 8) |
             (uint32_t)c->p[4]);
        mp_cur_consume(c,5);
        break;
    case 0xd2:  /* int 32 */
        mp_cur_need(c,5);
        lua_pushnumber(L,
            ((int32_t)c->p[1] << 24) |
            ((int32_t)c->p[2] << 16) |
            ((int32_t)c->p[3] << 8) |
             (int32_t)c->p[4]);
        mp_cur_consume(c,5);
        break;
    case 0xcf:  /* uint 64 */
        mp_cur_need(c,9);
        lua_pushnumber(L,
            ((uint64_t)c->p[1] << 56) |
            ((uint64_t)c->p[2] << 48) |
            ((uint64_t)c->p[3] << 40) |
            ((uint64_t)c->p[4] << 32) |
            ((uint64_t)c->p[5] << 24) |
            ((uint64_t)c->p[6] << 16) |
            ((uint64_t)c->p[7] << 8) |
             (uint64_t)c->p[8]);
        mp_cur_consume(c,9);
        break;
    case 0xd3:  /* int 64 */
        mp_cur_need(c,9);
        lua_pushnumber(L,
            ((int64_t)c->p[1] << 56) |
            ((int64_t)c->p[2] << 48) |
            ((int64_t)c->p[3] << 40) |
            ((int64_t)c->p[4] << 32) |
            ((int64_t)c->p[5] << 24) |
            ((int64_t)c->p[6] << 16) |
            ((int64_t)c->p[7] << 8) |
             (int64_t)c->p[8]);
        mp_cur_consume(c,9);
        break;
    case 0xc0:  /* nil */
        lua_pushnil(L);
        mp_cur_consume(c,1);
        break;
    case 0xc3:  /* true */
        lua_pushboolean(L,1);
        mp_cur_consume(c,1);
        break;
    case 0xc2:  /* false */
        lua_pushboolean(L,0);
        mp_cur_consume(c,1);
        break;
    case 0xca:  /* float */
        mp_cur_need(c,5);
        assert(sizeof(float) == 4);
        {
            float f;
            memcpy(&f,c->p+1,4);
            memrevifle(&f,4);
            lua_pushnumber(L,f);
            mp_cur_consume(c,5);
        }
        break;
    case 0xcb:  /* double */
        mp_cur_need(c,9);
        assert(sizeof(double) == 8);
        {
            double d;
            memcpy(&d,c->p+1,8);
            memrevifle(&d,8);
            lua_pushnumber(L,d);
            mp_cur_consume(c,9);
        }
        break;
    case 0xda:  /* raw 16 */
        mp_cur_need(c,3);
        {
            size_t l = (c->p[1] << 8) | c->p[2];
            mp_cur_need(c,3+l);
            lua_pushlstring(L,(char*)c->p+3,l);
            mp_cur_consume(c,3+l);
        }
        break;
    case 0xdb:  /* raw 32 */
        mp_cur_need(c,5);
        {
            size_t l = (c->p[1] << 24) |
                       (c->p[2] << 16) |
                       (c->p[3] << 8) |
                       c->p[4];
            mp_cur_need(c,5+l);
            lua_pushlstring(L,(char*)c->p+5,l);
            mp_cur_consume(c,5+l);
        }
        break;
    case 0xdc:  /* array 16 */
        mp_cur_need(c,3);
        {
            size_t l = (c->p[1] << 8) | c->p[2];
            mp_cur_consume(c,3);
            mp_decode_to_lua_array(L,c,l);
        }
        break;
    case 0xdd:  /* array 32 */
        mp_cur_need(c,5);
        {
            size_t l = (c->p[1] << 24) |
                       (c->p[2] << 16) |
                       (c->p[3] << 8) |
                       c->p[4];
            mp_cur_consume(c,5);
            mp_decode_to_lua_array(L,c,l);
        }
        break;
    case 0xde:  /* map 16 */
        mp_cur_need(c,3);
        {
            size_t l = (c->p[1] << 8) | c->p[2];
            mp_cur_consume(c,3);
            mp_decode_to_lua_hash(L,c,l);
        }
        break;
    case 0xdf:  /* map 32 */
        mp_cur_need(c,5);
        {
            size_t l = (c->p[1] << 24) |
                       (c->p[2] << 16) |
                       (c->p[3] << 8) |
                       c->p[4];
            mp_cur_consume(c,5);
            mp_decode_to_lua_hash(L,c,l);
        }
        break;
    default:    /* types that can't be idenitified by first byte value. */
        if ((c->p[0] & 0x80) == 0) {   /* positive fixnum */
            lua_pushnumber(L,c->p[0]);
            mp_cur_consume(c,1);
        } else if ((c->p[0] & 0xe0) == 0xe0) {  /* negative fixnum */
            lua_pushnumber(L,(signed char)c->p[0]);
            mp_cur_consume(c,1);
        } else if ((c->p[0] & 0xe0) == 0xa0) {  /* fix raw */
            size_t l = c->p[0] & 0x1f;
            mp_cur_need(c,1+l);
            lua_pushlstring(L,(char*)c->p+1,l);
            mp_cur_consume(c,1+l);
        } else if ((c->p[0] & 0xf0) == 0x90) {  /* fix map */
            size_t l = c->p[0] & 0xf;
            mp_cur_consume(c,1);
            mp_decode_to_lua_array(L,c,l);
        } else if ((c->p[0] & 0xf0) == 0x80) {  /* fix map */
            size_t l = c->p[0] & 0xf;
            mp_cur_consume(c,1);
            mp_decode_to_lua_hash(L,c,l);
        } else {
            c->err = MP_CUR_ERROR_BADFMT;
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x1, 0x8(%rax)
jae 0xaaf7b
movq -0x10(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0xaba69
jmp 0xaaf7d
movq -0x10(%rbp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
addl $0xffffff40, %eax       # imm = 0xFFFFFF40
movl %eax, %ecx
movq %rcx, -0x70(%rbp)
subl $0x1f, %eax
ja 0xab868
movq -0x70(%rbp), %rax
leaq 0x41dd2(%rip), %rcx     # 0xecd78
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
jmp 0xaafb1
movq -0x10(%rbp), %rax
cmpq $0x2, 0x8(%rax)
jae 0xaafcc
movq -0x10(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0xaba69
jmp 0xaafce
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rax
movzbl 0x1(%rax), %eax
cvtsi2sd %eax, %xmm0
callq 0x8c470
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x2, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq $0x2, %rcx
movq %rcx, 0x8(%rax)
jmp 0xaba69
jmp 0xab00b
movq -0x10(%rbp), %rax
cmpq $0x2, 0x8(%rax)
jae 0xab026
movq -0x10(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0xaba69
jmp 0xab028
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rax
movsbl 0x1(%rax), %eax
cvtsi2sd %eax, %xmm0
callq 0x8c470
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x2, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq $0x2, %rcx
movq %rcx, 0x8(%rax)
jmp 0xaba69
jmp 0xab065
movq -0x10(%rbp), %rax
cmpq $0x3, 0x8(%rax)
jae 0xab080
movq -0x10(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0xaba69
jmp 0xab082
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rax
movzbl 0x1(%rax), %eax
shll $0x8, %eax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x2(%rcx), %ecx
orl %ecx, %eax
cvtsi2sd %eax, %xmm0
callq 0x8c470
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x3, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq $0x3, %rcx
movq %rcx, 0x8(%rax)
jmp 0xaba69
jmp 0xab0cf
movq -0x10(%rbp), %rax
cmpq $0x3, 0x8(%rax)
jae 0xab0ea
movq -0x10(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0xaba69
jmp 0xab0ec
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rax
movzbl 0x1(%rax), %eax
shll $0x8, %eax
cwtl
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x2(%rcx), %ecx
orl %ecx, %eax
cvtsi2sd %eax, %xmm0
callq 0x8c470
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x3, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq $0x3, %rcx
movq %rcx, 0x8(%rax)
jmp 0xaba69
jmp 0xab13a
movq -0x10(%rbp), %rax
cmpq $0x5, 0x8(%rax)
jae 0xab155
movq -0x10(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0xaba69
jmp 0xab157
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rax
movl 0x1(%rax), %eax
bswapl %eax
cvtsi2sd %rax, %xmm0
callq 0x8c470
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x5, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq $0x5, %rcx
movq %rcx, 0x8(%rax)
jmp 0xaba69
jmp 0xab196
movq -0x10(%rbp), %rax
cmpq $0x5, 0x8(%rax)
jae 0xab1b1
movq -0x10(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0xaba69
jmp 0xab1b3
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rax
movzbl 0x1(%rax), %eax
shll $0x18, %eax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x2(%rcx), %ecx
shll $0x10, %ecx
orl %ecx, %eax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x3(%rcx), %ecx
shll $0x8, %ecx
orl %ecx, %eax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x4(%rcx), %ecx
orl %ecx, %eax
cvtsi2sd %eax, %xmm0
callq 0x8c470
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x5, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq $0x5, %rcx
movq %rcx, 0x8(%rax)
jmp 0xaba69
jmp 0xab220
movq -0x10(%rbp), %rax
cmpq $0x9, 0x8(%rax)
jae 0xab23b
movq -0x10(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0xaba69
jmp 0xab23d
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x1(%rax), %rax
bswapq %rax
movq %rax, %xmm0
movaps 0x33055(%rip), %xmm1    # 0xde2b0
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x33059(%rip), %xmm1    # 0xde2c0
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
callq 0x8c470
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x9, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq $0x9, %rcx
movq %rcx, 0x8(%rax)
jmp 0xaba69
jmp 0xab2a0
movq -0x10(%rbp), %rax
cmpq $0x9, 0x8(%rax)
jae 0xab2bb
movq -0x10(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0xaba69
jmp 0xab2bd
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rax
movzbl 0x1(%rax), %eax
shlq $0x38, %rax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x2(%rcx), %ecx
shlq $0x30, %rcx
orq %rcx, %rax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x3(%rcx), %ecx
shlq $0x28, %rcx
orq %rcx, %rax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x4(%rcx), %ecx
shlq $0x20, %rcx
orq %rcx, %rax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x5(%rcx), %ecx
shlq $0x18, %rcx
orq %rcx, %rax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x6(%rcx), %ecx
shlq $0x10, %rcx
orq %rcx, %rax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x7(%rcx), %ecx
shlq $0x8, %rcx
orq %rcx, %rax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x8(%rcx), %ecx
orq %rcx, %rax
cvtsi2sd %rax, %xmm0
callq 0x8c470
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x9, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq $0x9, %rcx
movq %rcx, 0x8(%rax)
jmp 0xaba69
movq -0x8(%rbp), %rdi
callq 0x8c440
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq $0x1, %rcx
movq %rcx, 0x8(%rax)
jmp 0xaba69
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x8c890
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq $0x1, %rcx
movq %rcx, 0x8(%rax)
jmp 0xaba69
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq 0x8c890
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq $0x1, %rcx
movq %rcx, 0x8(%rax)
jmp 0xaba69
jmp 0xab404
movq -0x10(%rbp), %rax
cmpq $0x5, 0x8(%rax)
jae 0xab41f
movq -0x10(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0xaba69
jmp 0xab421
movq -0x10(%rbp), %rax
movq (%rax), %rax
movl 0x1(%rax), %eax
movl %eax, -0x14(%rbp)
leaq -0x14(%rbp), %rdi
movl $0x4, %esi
callq 0xabaf0
movq -0x8(%rbp), %rdi
movss -0x14(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x8c470
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x5, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq $0x5, %rcx
movq %rcx, 0x8(%rax)
jmp 0xaba69
jmp 0xab473
movq -0x10(%rbp), %rax
cmpq $0x9, 0x8(%rax)
jae 0xab48e
movq -0x10(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0xaba69
jmp 0xab490
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x1(%rax), %rax
movq %rax, -0x20(%rbp)
leaq -0x20(%rbp), %rdi
movl $0x8, %esi
callq 0xabaf0
movq -0x8(%rbp), %rdi
movsd -0x20(%rbp), %xmm0
callq 0x8c470
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x9, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq $0x9, %rcx
movq %rcx, 0x8(%rax)
jmp 0xaba69
jmp 0xab4e0
movq -0x10(%rbp), %rax
cmpq $0x3, 0x8(%rax)
jae 0xab4fb
movq -0x10(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0xaba69
jmp 0xab4fd
movq -0x10(%rbp), %rax
movq (%rax), %rax
movzbl 0x1(%rax), %eax
shll $0x8, %eax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x2(%rcx), %ecx
orl %ecx, %eax
cltq
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x28(%rbp), %rcx
addq $0x3, %rcx
cmpq %rcx, %rax
jae 0xab543
movq -0x10(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0xaba69
jmp 0xab545
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
addq $0x3, %rsi
movq -0x28(%rbp), %rdx
callq 0x8c510
movq -0x28(%rbp), %rcx
addq $0x3, %rcx
movq -0x10(%rbp), %rax
addq (%rax), %rcx
movq %rcx, (%rax)
movq -0x28(%rbp), %rdx
addq $0x3, %rdx
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq %rdx, %rcx
movq %rcx, 0x8(%rax)
jmp 0xaba69
jmp 0xab58d
movq -0x10(%rbp), %rax
cmpq $0x5, 0x8(%rax)
jae 0xab5a8
movq -0x10(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0xaba69
jmp 0xab5aa
movq -0x10(%rbp), %rax
movq (%rax), %rax
movzbl 0x1(%rax), %eax
shll $0x18, %eax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x2(%rcx), %ecx
shll $0x10, %ecx
orl %ecx, %eax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x3(%rcx), %ecx
shll $0x8, %ecx
orl %ecx, %eax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x4(%rcx), %ecx
orl %ecx, %eax
cltq
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x30(%rbp), %rcx
addq $0x5, %rcx
cmpq %rcx, %rax
jae 0xab610
movq -0x10(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0xaba69
jmp 0xab612
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
addq $0x5, %rsi
movq -0x30(%rbp), %rdx
callq 0x8c510
movq -0x30(%rbp), %rcx
addq $0x5, %rcx
movq -0x10(%rbp), %rax
addq (%rax), %rcx
movq %rcx, (%rax)
movq -0x30(%rbp), %rdx
addq $0x5, %rdx
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq %rdx, %rcx
movq %rcx, 0x8(%rax)
jmp 0xaba69
jmp 0xab65a
movq -0x10(%rbp), %rax
cmpq $0x3, 0x8(%rax)
jae 0xab675
movq -0x10(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0xaba69
jmp 0xab677
movq -0x10(%rbp), %rax
movq (%rax), %rax
movzbl 0x1(%rax), %eax
shll $0x8, %eax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x2(%rcx), %ecx
orl %ecx, %eax
cltq
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x3, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq $0x3, %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x38(%rbp), %rdx
callq 0xaaec0
jmp 0xaba69
jmp 0xab6ce
movq -0x10(%rbp), %rax
cmpq $0x5, 0x8(%rax)
jae 0xab6e9
movq -0x10(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0xaba69
jmp 0xab6eb
movq -0x10(%rbp), %rax
movq (%rax), %rax
movzbl 0x1(%rax), %eax
shll $0x18, %eax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x2(%rcx), %ecx
shll $0x10, %ecx
orl %ecx, %eax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x3(%rcx), %ecx
shll $0x8, %ecx
orl %ecx, %eax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x4(%rcx), %ecx
orl %ecx, %eax
cltq
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x5, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq $0x5, %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x40(%rbp), %rdx
callq 0xaaec0
jmp 0xaba69
jmp 0xab762
movq -0x10(%rbp), %rax
cmpq $0x3, 0x8(%rax)
jae 0xab77d
movq -0x10(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0xaba69
jmp 0xab77f
movq -0x10(%rbp), %rax
movq (%rax), %rax
movzbl 0x1(%rax), %eax
shll $0x8, %eax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x2(%rcx), %ecx
orl %ecx, %eax
cltq
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x3, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq $0x3, %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x48(%rbp), %rdx
callq 0xaba70
jmp 0xaba69
jmp 0xab7d6
movq -0x10(%rbp), %rax
cmpq $0x5, 0x8(%rax)
jae 0xab7f1
movq -0x10(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0xaba69
jmp 0xab7f3
movq -0x10(%rbp), %rax
movq (%rax), %rax
movzbl 0x1(%rax), %eax
shll $0x18, %eax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x2(%rcx), %ecx
shll $0x10, %ecx
orl %ecx, %eax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x3(%rcx), %ecx
shll $0x8, %ecx
orl %ecx, %eax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movzbl 0x4(%rcx), %ecx
orl %ecx, %eax
cltq
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x5, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq $0x5, %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x50(%rbp), %rdx
callq 0xaba70
jmp 0xaba69
movq -0x10(%rbp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
andl $0x80, %eax
cmpl $0x0, %eax
jne 0xab8b6
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
callq 0x8c470
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq $0x1, %rcx
movq %rcx, 0x8(%rax)
jmp 0xaba67
movq -0x10(%rbp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
andl $0xe0, %eax
cmpl $0xe0, %eax
jne 0xab906
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cvtsi2sd %eax, %xmm0
callq 0x8c470
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq $0x1, %rcx
movq %rcx, 0x8(%rax)
jmp 0xaba65
movq -0x10(%rbp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
andl $0xe0, %eax
cmpl $0xa0, %eax
jne 0xab9a0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
andl $0x1f, %eax
cltq
movq %rax, -0x58(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x58(%rbp), %rcx
addq $0x1, %rcx
cmpq %rcx, %rax
jae 0xab958
movq -0x10(%rbp), %rax
movl $0x1, 0x10(%rax)
jmp 0xaba69
jmp 0xab95a
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
addq $0x1, %rsi
movq -0x58(%rbp), %rdx
callq 0x8c510
movq -0x58(%rbp), %rcx
addq $0x1, %rcx
movq -0x10(%rbp), %rax
addq (%rax), %rcx
movq %rcx, (%rax)
movq -0x58(%rbp), %rdx
addq $0x1, %rdx
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq %rdx, %rcx
movq %rcx, 0x8(%rax)
jmp 0xaba63
movq -0x10(%rbp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
andl $0xf0, %eax
cmpl $0x90, %eax
jne 0xab9fa
movq -0x10(%rbp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
andl $0xf, %eax
cltq
movq %rax, -0x60(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq $0x1, %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x60(%rbp), %rdx
callq 0xaaec0
jmp 0xaba61
movq -0x10(%rbp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
andl $0xf0, %eax
cmpl $0x80, %eax
jne 0xaba54
movq -0x10(%rbp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
andl $0xf, %eax
cltq
movq %rax, -0x68(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
subq $0x1, %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x68(%rbp), %rdx
callq 0xaba70
jmp 0xaba5f
movq -0x10(%rbp), %rax
movl $0x2, 0x10(%rax)
jmp 0xaba61
jmp 0xaba63
jmp 0xaba65
jmp 0xaba67
jmp 0xaba69
addq $0x70, %rsp
popq %rbp
retq
nop