{"name": "queuebuf_to_packetbuf", "code": "__int64 __fastcall queuebuf_to_packetbuf ( unsigned __int64 @@a1@@ ) { __int64 result ; size_t @@v2@@ ; char * v3 ; __int64 @@v4@@ ; if ( memb_inmemb ( ( unsigned __int16 * ) bufmem , @@a1@@ ) ) { @@v4@@ = queuebuf_load_to_ram ( @@a1@@ ) ; packetbuf_copyfrom ( ( const void * ) ( @@v4@@ + Number ) , * ( _WORD * ) @@v4@@ ) ; result = packetbuf_attr_copyfrom ( ( const void * ) ( @@v4@@ + Number ) , ( __int64 * ) ( @@v4@@ + Number ) ) ; } else { result = memb_inmemb ( refbufmem , @@a1@@ ) ; if ( ( _DWORD ) result ) { packetbuf_clear ( ) ; packetbuf_copyfrom ( * ( const void * * ) ( @@a1@@ + Number ) , * ( _WORD * ) @@a1@@ ) ; packetbuf_hdralloc ( * ( unsigned __int8 * ) ( @@a1@@ + Number ) ) ; @@v2@@ = * ( unsigned __int8 * ) ( @@a1@@ + Number ) ; v3 = packetbuf_hdrptr ( ) ; result = ( __int64 ) memcpy ( v3 , ( const void * ) ( @@a1@@ + Number ) , @@v2@@ ) ; } } return result ; }", "source": [{"n": "v2", "t": {"T": 1, "n": "size_t", "s": 8}, "location": "r32"}, {"n": "a1", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "r56"}, {"n": "v4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}]}
{"name": "send_list", "code": "__int64 __fastcall send_list ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ ) { __int64 @@result@@ ; if ( @@a3@@ ) { queuebuf_to_packetbuf ( * ( _QWORD * ) ( @@a3@@ + Number ) ) ; @@result@@ = send_packet_0 ( @@a1@@ , @@a2@@ ) ; } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"name": "memb_inmemb", "code": "_BOOL8 __fastcall memb_inmemb ( unsigned __int16 * @@a1@@ , unsigned __int64 @@a2@@ ) { return @@a2@@ >= * ( ( _QWORD * ) @@a1@@ + Number ) && @@a2@@ < * ( ( _QWORD * ) @@a1@@ + Number ) + @@a1@@ [ Number ] * * @@a1@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "unsigned __int16"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "r64"}]} {"name": "packetbuf_copyfrom", "code": "__int64 __fastcall packetbuf_copyfrom ( const void * @@a1@@ , unsigned __int16 @@a2@@ ) { unsigned __int16 @@v2@@ ; unsigned __int16 @@v4@@ ; packetbuf_clear ( ) ; @@v2@@ = Number ; if ( @@a2@@ <= Number ) @@v2@@ = @@a2@@ ; @@v4@@ = @@v2@@ ; memcpy ( packetbufptr , @@a1@@ , @@v2@@ ) ; buflen = @@v4@@ ; return @@v4@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "const void"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "r64"}, {"n": "v2", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "r8"}, {"n": "v4", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "s2"}]} {"name": "packetbuf_hdralloc", "code": "__int64 __fastcall packetbuf_hdralloc ( int @@a1@@ ) { if ( @@a1@@ > ( unsigned __int8 ) hdrptr || ( unsigned __int16 ) packetbuf_totlen ( ) + @@a1@@ > Number ) return Number L ; hdrptr -= @@a1@@ ; return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}]} {"name": "packetbuf_attr_copyfrom", "code": "__int64 __fastcall packetbuf_attr_copyfrom ( const void * @@a1@@ , __int64 * @@a2@@ ) { __int64 v2 ; __int64 @@result@@ ; __int64 v4 ; memcpy ( packetbuf_attrs , @@a1@@ , Number ) ; v2 = @@a2@@ [ Number ] ; packetbuf_addrs = * @@a2@@ ; qword_4239E8 = v2 ; @@result@@ = @@a2@@ [ Number ] ; v4 = @@a2@@ [ Number ] ; qword_4239F0 = @@result@@ ; qword_4239F8 = v4 ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "const void"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "__int64"}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"name": "queuebuf_load_to_ram", "code": "__int64 __fastcall queuebuf_load_to_ram ( __int64 @@a1@@ ) { return * ( _QWORD * ) @@a1@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]} {"name": "output", "code": "__int64 __fastcall output ( __int64 @@a1@@ ) { char @@v2@@ [ Number ] ; __int64 * @@v3@@ ; unsigned __int16 @@v4@@ ; uncomp_hdr_len = Number ; rime_hdr_len = Number ; packetbuf_clear ( ) ; rime_ptr = packetbuf_dataptr ( ) ; packetbuf_set_attr ( Number , Number ) ; if ( callback ) set_packet_attrs ( ) ; if ( * ( ( _BYTE * ) & uip_aligned_buf + Number ) != Number || ( * ( ( _BYTE * ) & dword_4227A8 + Number ) & Number ) != Number || ( * ( ( _BYTE * ) & dword_4227A8 + Number ) & Number ) == Number ) { if ( * ( ( _BYTE * ) & uip_aligned_buf + Number ) == Number && ( * ( ( _BYTE * ) & dword_4227A8 + Number ) & Number ) != Number ) packetbuf_set_attr ( Number , Number ) ; } else { packetbuf_set_attr ( Number , Number ) ; } if ( @@a1@@ ) rimeaddr_copy ( ( __int64 ) @@v2@@ , @@a1@@ ) ; else rimeaddr_copy ( ( __int64 ) @@v2@@ , ( __int64 ) & rimeaddr_null ) ; compress_hdr_hc06 ( @@v2@@ ) ; if ( ( unsigned __int16 ) uip_len - ( unsigned __int8 ) uncomp_hdr_len <= Number - ( unsigned __int8 ) rime_hdr_len ) { memcpy ( ( char * ) rime_ptr + ( unsigned __int8 ) rime_hdr_len , ( char * ) & uip_aligned_buf + ( unsigned __int8 ) uncomp_hdr_len , ( unsigned __int16 ) uip_len - ( unsigned __int8 ) uncomp_hdr_len ) ; packetbuf_set_datalen ( uip_len - ( unsigned __int8 ) uncomp_hdr_len + ( unsigned __int8 ) rime_hdr_len ) ; send_packet_1 ( ( __int64 ) @@v2@@ ) ; } else { memmove ( ( char * ) rime_ptr + Number , rime_ptr , ( unsigned __int8 ) rime_hdr_len ) ; * ( _BYTE * ) rime_ptr = HIBYTE ( uip_len ) | Number ; * ( ( _BYTE * ) rime_ptr + Number ) = uip_len ; * ( ( _BYTE * ) rime_ptr + Number ) = HIBYTE ( my_tag ) ; * ( ( _BYTE * ) rime_ptr + Number ) = my_tag ++ ; rime_hdr_len += Number ; rime_payload_len = ( Number - rime_hdr_len ) & Number ; memcpy ( ( char * ) rime_ptr + ( unsigned __int8 ) rime_hdr_len , ( char * ) & uip_aligned_buf + ( unsigned __int8 ) uncomp_hdr_len , ( Number - rime_hdr_len ) & Number ) ; packetbuf_set_datalen ( ( unsigned __int8 ) rime_payload_len + ( unsigned __int8 ) rime_hdr_len ) ; @@v3@@ = ( __int64 * ) queuebuf_new_from_packetbuf ( ) ; if ( ! @@v3@@ ) return Number L ; send_packet_1 ( ( __int64 ) @@v2@@ ) ; queuebuf_to_packetbuf ( ( unsigned __int64 ) @@v3@@ ) ; queuebuf_free ( @@v3@@ ) ; @@v3@@ = Number L ; if ( last_tx_status == Number || last_tx_status == Number || last_tx_status == Number ) return Number L ; @@v4@@ = ( unsigned __int8 ) rime_payload_len + ( unsigned __int8 ) uncomp_hdr_len ; rime_hdr_len = Number ; * ( _BYTE * ) rime_ptr = HIBYTE ( uip_len ) | Number ; * ( ( _BYTE * ) rime_ptr + Number ) = uip_len ; rime_payload_len = ( Number - rime_hdr_len ) & Number ; while ( @@v4@@ < ( unsigned __int16 ) uip_len ) { * ( ( _BYTE * ) rime_ptr + Number ) = @@v4@@ >> Number ; if ( ( unsigned __int16 ) uip_len - @@v4@@ < ( unsigned __int8 ) rime_payload_len ) rime_payload_len = uip_len - @@v4@@ ; memcpy ( ( char * ) rime_ptr + ( unsigned __int8 ) rime_hdr_len , ( char * ) & uip_aligned_buf + @@v4@@ , ( unsigned __int8 ) rime_payload_len ) ; packetbuf_set_datalen ( ( unsigned __int8 ) rime_payload_len + ( unsigned __int8 ) rime_hdr_len ) ; @@v3@@ = ( __int64 * ) queuebuf_new_from_packetbuf ( ) ; if ( ! @@v3@@ ) return Number L ; send_packet_1 ( ( __int64 ) @@v2@@ ) ; queuebuf_to_packetbuf ( ( unsigned __int64 ) @@v3@@ ) ; queuebuf_free ( @@v3@@ ) ; @@v3@@ = Number L ; @@v4@@ += ( unsigned __int8 ) rime_payload_len ; if ( last_tx_status == Number || last_tx_status == Number || last_tx_status == Number ) return Number L ; } } return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v3", "t": {"T": 3, "t": "__int64"}, "location": "s16"}, {"n": "v4", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "s2"}, {"n": "v2", "t": {"T": 2, "n": 8, "s": 1, "t": "char"}, "location": "s24"}]}