{"name": "packetbuf_reference", "code": "__int64 __fastcall packetbuf_reference ( void * @@a1@@ , unsigned __int16 @@a2@@ ) { __int64 @@result@@ ; packetbuf_clear ( ) ; packetbufptr = @@a1@@ ; @@result@@ = @@a2@@ ; buflen = @@a2@@ ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "void"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]}
{"name": "packetbuf_compact", "code": "unsigned __int64 packetbuf_compact ( ) { size_t @@v0@@ ; const void * v1 ; unsigned __int64 result ; int @@v3@@ ; int @@i@@ ; if ( ( unsigned int ) packetbuf_is_reference ( ) ) { @@v0@@ = ( unsigned __int16 ) packetbuf_datalen ( ) ; v1 = ( const void * ) packetbuf_reference_ptr ( ) ; result = ( unsigned __int64 ) memcpy ( ( char * ) packetbuf + Number , v1 , @@v0@@ ) ; } else { result = ( unsigned __int16 ) bufptr ; if ( bufptr ) { @@v3@@ = ( unsigned __int16 ) packetbuf_datalen ( ) + Number ; for ( @@i@@ = Number ; ; ++ @@i@@ ) { result = ( unsigned int ) @@i@@ ; if ( @@i@@ >= @@v3@@ ) break ; * ( ( _BYTE * ) packetbuf + @@i@@ ) = * ( ( _BYTE * ) packetbuf + ( unsigned __int16 ) bufptr + @@i@@ ) ; } bufptr = Number ; } } return result ; }", "source": [{"n": "v0", "t": {"T": 1, "n": "size_t", "s": 8}, "location": "r32"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "v3", "t": {"T": 1, "n": "int", "s": 4}, "location": "s24"}]} {"name": "queuebuf_new_from_packetbuf", "code": "__int64 queuebuf_new_from_packetbuf ( ) { __int64 @@result@@ ; __int64 @@v1@@ ; __int64 @@v2@@ ; __int64 @@v3@@ ; if ( packetbuf_is_reference ( ) ) { @@v1@@ = memb_alloc ( refbufmem ) ; if ( @@v1@@ ) { * ( _WORD * ) @@v1@@ = packetbuf_datalen ( ) ; * ( _QWORD * ) ( @@v1@@ + Number ) = packetbuf_reference_ptr ( ) ; * ( _BYTE * ) ( @@v1@@ + Number ) = packetbuf_copyto_hdr ( ( void * ) ( @@v1@@ + Number ) ) ; } @@result@@ = @@v1@@ ; } else { @@v3@@ = memb_alloc ( ( unsigned __int16 * ) bufmem ) ; if ( @@v3@@ ) { * ( _QWORD * ) @@v3@@ = memb_alloc ( buframmem ) ; if ( ! * ( _QWORD * ) @@v3@@ ) return Number L ; @@v2@@ = * ( _QWORD * ) @@v3@@ ; * ( _WORD * ) @@v2@@ = packetbuf_copyto ( ( char * ) ( * ( _QWORD * ) @@v3@@ + Number L ) ) ; packetbuf_attr_copyto ( ( void * ) ( @@v2@@ + Number ) , ( _QWORD * ) ( @@v2@@ + Number ) ) ; } @@result@@ = @@v3@@ ; } return @@result@@ ; }", "source": [{"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}