{"name": "rpl_find_parent_any_dag", "code": "_QWORD * __fastcall rpl_find_parent_any_dag ( __int64 @@a1@@ , const void * @@a2@@ ) { unsigned __int64 @@i@@ ; _QWORD * @@j@@ ; for ( @@i@@ = @@a1@@ + Number ; @@i@@ < @@a1@@ + Number ; @@i@@ += Number L ) { if ( * ( _BYTE * ) ( @@i@@ + Number ) ) { for ( @@j@@ = ( _QWORD * ) list_head ( * ( _QWORD * ) ( @@i@@ + Number ) ) ; @@j@@ ; @@j@@ = ( _QWORD * ) * @@j@@ ) { if ( ! memcmp ( @@j@@ + Number , @@a2@@ , Number ) ) return @@j@@ ; } } } return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "const void"}, "location": "r64"}, {"n": "i", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s16"}, {"n": "j", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]}
{"name": "rpl_link_neighbor_callback", "code": "void * __fastcall rpl_link_neighbor_callback ( _QWORD * @@a1@@ , unsigned int @@a2@@ , unsigned int @@a3@@ ) { void * @@result@@ ; __int16 @@v5@@ [ Number ] ; __int64 @@v6@@ ; unsigned __int64 @@v7@@ ; char * @@v8@@ ; @@v5@@ [ Number ] = Number ; @@v5@@ [ Number ] = Number ; @@v5@@ [ Number ] = Number ; @@v5@@ [ Number ] = Number ; @@v5@@ [ Number ] = Number ; @@v5@@ [ Number ] = Number ; @@v5@@ [ Number ] = Number ; @@v5@@ [ Number ] = Number ; uip_ds6_set_addr_iid ( ( __int64 ) @@v5@@ , @@a1@@ ) ; @@v8@@ = ( char * ) & instance_table ; @@v7@@ = ( unsigned __int64 ) & instance_table + Number ; while ( Number ) { @@result@@ = @@v8@@ ; if ( ( unsigned __int64 ) @@v8@@ >= @@v7@@ ) break ; if ( @@v8@@ [ Number ] == Number ) { @@v6@@ = rpl_find_parent_any_dag ( @@v8@@ , @@v5@@ ) ; if ( @@v6@@ ) { * ( _BYTE * ) ( @@v6@@ + Number ) = Number ; * ( _BYTE * ) ( @@v6@@ + Number ) = @@a3@@ ; if ( * ( _QWORD * ) ( * ( ( _QWORD * ) @@v8@@ + Number ) + Number L ) ) ( * ( void ( __fastcall * * ) ( __int64 , _QWORD , _QWORD ) ) ( * ( ( _QWORD * ) @@v8@@ + Number ) + Number L ) ) ( @@v6@@ , @@a2@@ , @@a3@@ ) ; if ( ! @@a2@@ ) * ( _WORD * ) ( @@v6@@ + Number ) = Number ; } } @@v8@@ += Number ; } if ( ! @@a2@@ ) @@result@@ = ( void * ) uip_ds6_route_rm_by_nexthop ( @@v5@@ ) ; return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}, {"n": "result", "t": {"T": 3, "t": "void"}, "location": "r8"}, {"n": "v7", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s16"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v5", "t": {"T": 2, "n": 12, "s": 2, "t": "__int16"}, "location": "s48"}, {"n": "v8", "t": {"T": 3, "t": "char"}, "location": "s8"}]} {"name": "rpl_ipv6_neighbor_callback", "code": "char * __fastcall rpl_ipv6_neighbor_callback ( unsigned __int8 * @@a1@@ ) { char * @@result@@ ; __int64 @@v2@@ ; char * @@i@@ ; @@result@@ = ( char * ) * @@a1@@ ; if ( ! ( _BYTE ) @@result@@ ) { for ( @@i@@ = ( char * ) & instance_table ; ; @@i@@ += Number ) { @@result@@ = @@i@@ ; if ( @@i@@ >= ( char * ) & instance_table + Number ) break ; if ( @@i@@ [ Number ] == Number ) { @@v2@@ = rpl_find_parent_any_dag ( @@i@@ , @@a1@@ + Number ) ; if ( @@v2@@ ) { * ( _WORD * ) ( @@v2@@ + Number ) = Number ; * ( _BYTE * ) ( @@v2@@ + Number ) = Number ; } } } } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "unsigned __int8"}, "location": "r56"}, {"n": "result", "t": {"T": 3, "t": "char"}, "location": "r8"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "i", "t": {"T": 3, "t": "char"}, "location": "s8"}]} {"name": "rpl_find_parent", "code": "_QWORD * __fastcall rpl_find_parent ( __int64 @@a1@@ , const void * @@a2@@ ) { _QWORD * @@i@@ ; for ( @@i@@ = ( _QWORD * ) list_head ( * ( _QWORD * ) ( @@a1@@ + Number ) ) ; @@i@@ ; @@i@@ = ( _QWORD * ) * @@i@@ ) { if ( ! memcmp ( @@i@@ + Number , @@a2@@ , Number ) ) return @@i@@ ; } return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "const void"}, "location": "r64"}, {"n": "i", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]} {"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"}]}