{"name": "rpl_remove_routes_by_nexthop", "code": "__int64 __fastcall rpl_remove_routes_by_nexthop ( const void * @@a1@@ , __int64 @@a2@@ ) { __int64 @@result@@ ; __int64 @@v3@@ ; @@result@@ = uip_ds6_route_list_head ( ) ; @@v3@@ = @@result@@ ; while ( @@v3@@ ) { if ( ! memcmp ( ( const void * ) ( @@v3@@ + Number ) , @@a1@@ , Number ) && @@a2@@ == * ( _QWORD * ) ( @@v3@@ + Number ) ) { uip_ds6_route_rm ( @@v3@@ ) ; @@result@@ = uip_ds6_route_list_head ( ) ; @@v3@@ = @@result@@ ; } else { @@result@@ = list_item_next ( @@v3@@ ) ; @@v3@@ = @@result@@ ; } } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "const void"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}
{"name": "uip_ds6_route_rm", "code": "__int64 __fastcall uip_ds6_route_rm ( __int64 @@a1@@ ) { __int64 @@result@@ ; __int64 @@i@@ ; @@result@@ = list_head ( routelist ) ; for ( @@i@@ = @@result@@ ; @@i@@ ; @@i@@ = @@result@@ ) { if ( @@i@@ == @@a1@@ ) { list_remove ( routelist , @@a1@@ ) ; memb_free ( & routememb , @@a1@@ ) ; return call_route_callback ( Number , @@a1@@ + Number , @@a1@@ + Number ) ; } @@result@@ = list_item_next ( @@i@@ ) ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "rpl_remove_routes", "code": "__int64 __fastcall rpl_remove_routes ( __int64 @@a1@@ ) { __int64 @@result@@ ; __int64 @@i@@ ; @@result@@ = uip_ds6_route_list_head ( ) ; for ( @@i@@ = @@result@@ ; @@i@@ ; @@i@@ = @@result@@ ) { if ( @@a1@@ == * ( _QWORD * ) ( @@i@@ + Number ) ) { uip_ds6_route_rm ( @@i@@ ) ; @@result@@ = uip_ds6_route_list_head ( ) ; } else { @@result@@ = list_item_next ( @@i@@ ) ; } } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "rpl_move_parent", "code": "__int64 __fastcall rpl_move_parent ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ ) { if ( @@a3@@ == * ( _QWORD * ) ( @@a1@@ + Number ) ) { * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; * ( _WORD * ) ( @@a1@@ + Number ) = Number ; if ( * ( _BYTE * ) ( @@a1@@ + Number ) && * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) { uip_ds6_defrt_rm ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) ; * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) = Number L ; } } else if ( * ( _BYTE * ) ( @@a1@@ + Number ) ) { rpl_remove_routes_by_nexthop ( ( const void * ) ( @@a3@@ + Number ) , @@a1@@ ) ; } list_remove ( * ( _QWORD * ) ( @@a1@@ + Number ) , @@a3@@ ) ; * ( _QWORD * ) ( @@a3@@ + Number ) = @@a2@@ ; return list_add ( * ( _QWORD * ) ( @@a2@@ + Number ) , @@a3@@ ) ; }", "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"}]} {"name": "list_head", "code": "__int64 __fastcall list_head ( __int64 @@a1@@ ) { return * ( _QWORD * ) @@a1@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]} {"name": "list_item_next", "code": "__int64 __fastcall list_item_next ( __int64 * @@a1@@ ) { __int64 @@result@@ ; if ( @@a1@@ ) @@result@@ = * @@a1@@ ; else @@result@@ = Number L ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "__int64"}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]}