{"name": "neighbor_attr_remove_neighbor", "code": "__int64 __fastcall neighbor_attr_remove_neighbor ( unsigned __int64 @@a1@@ ) { _QWORD * @@v2@@ ; @@v2@@ = neighbor_addr_get ( @@a1@@ ) ; if ( ! @@v2@@ ) return Number ; list_remove ( neighbor_addrs , @@v2@@ ) ; memb_free ( & neighbor_addr_mem , ( __int64 ) @@v2@@ ) ; return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "r56"}, {"n": "v2", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]}
{"name": "memb_free", "code": "__int64 __fastcall memb_free ( unsigned __int16 * @@a1@@ , __int64 @@a2@@ ) { __int64 @@v3@@ ; int @@i@@ ; @@v3@@ = * ( ( _QWORD * ) @@a1@@ + Number ) ; for ( @@i@@ = Number ; ; ++ @@i@@ ) { if ( @@i@@ >= @@a1@@ [ Number ] ) return Number ; if ( @@v3@@ == @@a2@@ ) break ; @@v3@@ += * @@a1@@ ; } if ( * ( char * ) ( * ( ( _QWORD * ) @@a1@@ + Number ) + @@i@@ ) > Number ) -- * ( _BYTE * ) ( * ( ( _QWORD * ) @@a1@@ + Number ) + @@i@@ ) ; return * ( unsigned __int8 * ) ( * ( ( _QWORD * ) @@a1@@ + Number ) + @@i@@ ) ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "unsigned __int16"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}]} {"name": "list_remove", "code": "_QWORD * __fastcall list_remove ( _QWORD * @@a1@@ , _QWORD * @@a2@@ ) { _QWORD * @@result@@ ; _QWORD * @@v3@@ ; _QWORD * @@i@@ ; @@result@@ = ( _QWORD * ) * @@a1@@ ; if ( * @@a1@@ ) { @@v3@@ = Number L ; @@result@@ = ( _QWORD * ) * @@a1@@ ; for ( @@i@@ = ( _QWORD * ) * @@a1@@ ; @@i@@ ; @@i@@ = ( _QWORD * ) * @@i@@ ) { if ( @@i@@ == @@a2@@ ) { if ( @@v3@@ ) * @@v3@@ = * @@i@@ ; else * @@a1@@ = * @@i@@ ; @@result@@ = @@i@@ ; * @@i@@ = Number L ; return @@result@@ ; } @@v3@@ = @@i@@ ; @@result@@ = ( _QWORD * ) * @@i@@ ; } } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_QWORD"}, "location": "r64"}, {"n": "result", "t": {"T": 3, "t": "_QWORD"}, "location": "r8"}, {"n": "v3", "t": {"T": 3, "t": "_QWORD"}, "location": "s16"}, {"n": "i", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]} {"name": "neighbor_addr_get", "code": "_QWORD * __fastcall neighbor_addr_get ( unsigned __int64 @@a1@@ ) { _QWORD * @@i@@ ; if ( memb_inmemb ( & neighbor_addr_mem , @@a1@@ ) ) return ( _QWORD * ) ( @@a1@@ - Number ) ; for ( @@i@@ = ( _QWORD * ) list_head ( ( __int64 ) neighbor_addrs ) ; @@i@@ ; @@i@@ = ( _QWORD * ) * @@i@@ ) { if ( ( unsigned int ) rimeaddr_cmp ( @@a1@@ , ( __int64 ) ( @@i@@ + Number ) ) ) return @@i@@ ; } return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "r56"}, {"n": "i", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]}