{"name": "rpl_init", "code": "__int64 rpl_init ( ) { __int64 @@v1@@ ; __int16 @@v2@@ ; __int16 @@v3@@ ; __int16 @@v4@@ ; __int16 @@v5@@ ; default_instance = Number L ; rpl_reset_periodic_timer ( ) ; neighbor_info_subscribe ( rpl_link_neighbor_callback ) ; @@v1@@ = Number L ; @@v2@@ = Number ; @@v3@@ = Number ; @@v4@@ = Number ; @@v5@@ = Number ; return uip_ds6_maddr_add ( & @@v1@@ ) ; }", "source": [{"n": "v1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v5", "t": {"T": 1, "n": "__int16", "s": 2}, "location": "s2"}, {"n": "v4", "t": {"T": 1, "n": "__int16", "s": 2}, "location": "s4"}, {"n": "v3", "t": {"T": 1, "n": "__int16", "s": 2}, "location": "s6"}, {"n": "v2", "t": {"T": 1, "n": "__int16", "s": 2}, "location": "s8"}]}
{"name": "process_thread_tcpip_process", "code": "__int64 __fastcall process_thread_tcpip_process ( _WORD * @@a1@@ , unsigned __int8 @@a2@@ , void * @@a3@@ ) { __int64 @@result@@ ; char @@v5@@ ; @@v5@@ = Number ; if ( ! * @@a1@@ ) { for ( i_4827 = Number ; ( unsigned __int8 ) i_4827 <= Number ; ++ i_4827 ) s [ Number * ( unsigned __int8 ) i_4827 ] = Number ; qword_41F720 = process_current ; tcpip_event = process_alloc_event ( ) ; tcpip_icmp6_event = process_alloc_event ( ) ; etimer_set ( ( __int64 ) & periodic , Number L ) ; uip_init ( ) ; rpl_init ( ) ; goto LABEL_8 ; } if ( * @@a1@@ == Number ) { while ( @@v5@@ ) { eventhandler ( @@a2@@ , @@a3@@ ) ; LABEL_8 : @@v5@@ = Number ; * @@a1@@ = Number ; } @@result@@ = Number L ; } else { * @@a1@@ = Number ; @@result@@ = Number L ; } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "void"}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "_WORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v5", "t": {"T": 1, "n": "char", "s": 1}, "location": "s1"}]} {"name": "uip_ds6_maddr_add", "code": "__int64 __fastcall uip_ds6_maddr_add ( _QWORD * @@a1@@ ) { __int64 @@v1@@ ; __int64 @@v2@@ ; if ( ( unsigned __int8 ) uip_ds6_list_loop ( byte_422CF4 , Number , Number , @@a1@@ , Number , & locmaddr ) != Number ) return Number L ; * ( _BYTE * ) locmaddr = Number ; @@v1@@ = locmaddr ; @@v2@@ = @@a1@@ [ Number ] ; * ( _QWORD * ) ( locmaddr + Number ) = * @@a1@@ ; * ( _QWORD * ) ( @@v1@@ + Number ) = @@v2@@ ; return locmaddr ; }", "source": [{"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "v1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}]} {"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": "neighbor_info_subscribe", "code": "__int64 __fastcall neighbor_info_subscribe ( __int64 ( __fastcall * @@a1@@ ) ( _QWORD , _QWORD , _QWORD ) ) { if ( subscriber_callback ) return Number L ; neighbor_attr_register ( & attr_etx ) ; neighbor_attr_register ( & attr_timestamp ) ; subscriber_callback = @@a1@@ ; return Number L ; }", "source": [{"n": "a1", "t": {"T": 9, "n": "__int64 (__fastcall *)(_QWORD, _QWORD, _QWORD)"}, "location": "r56"}]}