{"name": "add_neighbor", "code": "__int64 __fastcall add_neighbor ( __int64 @@a1@@ ) { return neighbor_attr_add_neighbor ( @@a1@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]}
{"name": "neighbor_info_packet_sent", "code": "__int64 __fastcall neighbor_info_packet_sent ( int @@a1@@ , unsigned int @@a2@@ ) { __int64 @@result@@ ; __int64 @@v3@@ ; unsigned __int8 @@v4@@ ; @@v3@@ = packetbuf_addr ( Number ) ; @@result@@ = rimeaddr_cmp ( @@v3@@ , ( __int64 ) & rimeaddr_null ) ; if ( ! ( _DWORD ) @@result@@ ) { @@result@@ = @@a2@@ ; @@v4@@ = @@a2@@ ; if ( @@a1@@ ) { if ( @@a1@@ != Number ) return @@result@@ ; @@v4@@ = Number ; } else { add_neighbor ( @@v3@@ ) ; } @@result@@ = update_metric ( @@v3@@ , @@v4@@ ) ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v4", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s1"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}]} {"name": "neighbor_info_packet_received", "code": "__int64 neighbor_info_packet_received ( ) { __int64 @@result@@ ; __int64 @@v1@@ ; @@v1@@ = packetbuf_addr ( Number ) ; @@result@@ = rimeaddr_cmp ( @@v1@@ , ( __int64 ) & rimeaddr_null ) ; if ( ! ( _DWORD ) @@result@@ ) @@result@@ = add_neighbor ( @@v1@@ ) ; return @@result@@ ; }", "source": [{"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "neighbor_attr_add_neighbor", "code": "__int64 __fastcall neighbor_attr_add_neighbor ( unsigned __int64 @@a1@@ ) { __int64 @@v2@@ ; unsigned __int16 @@i@@ ; _QWORD * @@j@@ ; if ( neighbor_attr_has_neighbor ( @@a1@@ ) ) return Number L ; @@v2@@ = memb_alloc ( & neighbor_addr_mem ) ; if ( ! @@v2@@ ) return Number ; list_push ( neighbor_addrs , ( _QWORD * ) @@v2@@ ) ; * ( _WORD * ) ( @@v2@@ + Number ) = Number ; rimeaddr_copy ( @@v2@@ + Number , @@a1@@ ) ; for ( @@i@@ = Number ; @@i@@ < ( unsigned __int16 ) word_41F3E2 && ( void * ) @@v2@@ != ( char * ) off_41F3F0 + Number * @@i@@ ; ++ @@i@@ ) ; * ( _WORD * ) ( @@v2@@ + Number ) = @@i@@ ; for ( @@j@@ = ( _QWORD * ) list_head ( ( __int64 ) neighbor_attrs ) ; @@j@@ ; @@j@@ = ( _QWORD * ) * @@j@@ ) set_attr ( ( __int64 ) @@j@@ , @@i@@ ) ; return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "r56"}, {"n": "i", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "s10"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "j", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]} {"name": "neighbor_attr_set_data", "code": "__int64 __fastcall neighbor_attr_set_data ( __int64 @@a1@@ , unsigned __int64 @@a2@@ , const void * @@a3@@ ) { _QWORD * @@v5@@ ; @@v5@@ = neighbor_addr_get ( @@a2@@ ) ; if ( ! @@v5@@ && ( unsigned int ) neighbor_attr_add_neighbor ( @@a2@@ ) ) @@v5@@ = neighbor_addr_get ( @@a2@@ ) ; if ( ! @@v5@@ ) return Number L ; * ( ( _WORD * ) @@v5@@ + Number ) = Number ; memcpy ( ( void * ) ( * ( ( unsigned __int16 * ) @@v5@@ + Number ) * * ( unsigned __int16 * ) ( @@a1@@ + Number ) + * ( _QWORD * ) ( @@a1@@ + Number ) ) , @@a3@@ , * ( unsigned __int16 * ) ( @@a1@@ + Number ) ) ; return Number L ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "const void"}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "r64"}, {"n": "v5", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]}