{"name": "uip_ds6_list_loop", "code": "__int64 __fastcall uip_ds6_list_loop ( _BYTE * @@a1@@ , unsigned __int8 @@a2@@ , unsigned __int16 @@a3@@ , const void * @@a4@@ , unsigned __int8 @@a5@@ , _QWORD * @@a6@@ ) { __int64 @@result@@ ; _BYTE * @@i@@ ; * @@a6@@ = Number L ; for ( @@i@@ = @@a1@@ ; @@i@@ < & @@a1@@ [ @@a2@@ * @@a3@@ ] ; @@i@@ += @@a3@@ ) { if ( * @@i@@ ) { if ( ! memcmp ( @@i@@ + Number , @@a4@@ , @@a5@@ >> Number ) ) { * @@a6@@ = @@i@@ ; return Number L ; } } else { * @@a6@@ = @@i@@ ; } } if ( * @@a6@@ ) @@result@@ = Number L ; else @@result@@ = Number L ; return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "r16"}, {"n": "a4", "t": {"T": 3, "t": "const void"}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "_BYTE"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "r72"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "a6", "t": {"T": 3, "t": "_QWORD"}, "location": "r80"}, {"n": "i", "t": {"T": 3, "t": "_BYTE"}, "location": "s8"}]}
{"name": "uip_ds6_nbr_add", "code": "__int64 __fastcall uip_ds6_nbr_add ( _QWORD * @@a1@@ , _QWORD * @@a2@@ , unsigned __int8 @@a3@@ , unsigned __int8 @@a4@@ ) { __int64 v4 ; __int64 v5 ; __int64 @@v6@@ ; __int64 @@result@@ ; int @@v10@@ ; unsigned __int64 @@v11@@ ; __int64 * @@v12@@ ; __int64 * @@i@@ ; @@v10@@ = ( unsigned __int8 ) uip_ds6_list_loop ( uip_ds6_nbr_cache , Number , Number , @@a1@@ , Number , & locnbr ) ; if ( @@v10@@ == Number ) { * ( _BYTE * ) locnbr = Number ; v4 = locnbr ; v5 = @@a1@@ [ Number ] ; * ( _QWORD * ) ( locnbr + Number ) = * @@a1@@ ; * ( _QWORD * ) ( v4 + Number ) = v5 ; if ( @@a2@@ ) * ( _QWORD * ) ( locnbr + Number ) = * @@a2@@ ; else memset ( ( void * ) ( locnbr + Number ) , Number , Number ) ; * ( _BYTE * ) ( locnbr + Number ) = @@a3@@ ; * ( _BYTE * ) ( locnbr + Number ) = @@a4@@ ; uip_packetqueue_new ( ( _QWORD * ) ( locnbr + Number ) ) ; stimer_set ( locnbr + Number , Number L ) ; stimer_set ( locnbr + Number , Number L ) ; * ( _BYTE * ) ( locnbr + Number ) = Number ; rpl_ipv6_neighbor_callback ( locnbr ) ; @@v6@@ = locnbr ; * ( _QWORD * ) ( @@v6@@ + Number ) = clock_time ( ) ; @@result@@ = locnbr ; } else { if ( @@v10@@ != Number ) goto LABEL_16 ; @@v12@@ = Number L ; @@v11@@ = clock_time ( ) ; for ( @@i@@ = ( __int64 * ) uip_ds6_nbr_cache ; @@i@@ < & contiki_argv ; @@i@@ += Number ) { if ( * ( _BYTE * ) @@i@@ && ! uip_ds6_defrt_lookup ( ( char * ) @@i@@ + Number ) && @@v11@@ > @@i@@ [ Number ] ) { @@v12@@ = @@i@@ ; @@v11@@ = @@i@@ [ Number ] ; } } if ( @@v12@@ ) { uip_ds6_nbr_rm ( @@v12@@ ) ; @@result@@ = uip_ds6_nbr_add ( @@a1@@ , @@a2@@ , @@a3@@ , @@a4@@ ) ; } else { LABEL_16 : @@result@@ = Number L ; } } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "r24"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r32"}, {"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_QWORD"}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "i", "t": {"T": 3, "t": "__int64"}, "location": "s24"}, {"n": "v12", "t": {"T": 3, "t": "__int64"}, "location": "s32"}, {"n": "v11", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s40"}, {"n": "v10", "t": {"T": 1, "n": "int", "s": 4}, "location": "s44"}]} {"name": "uip_ds6_nbr_lookup", "code": "__int64 __fastcall uip_ds6_nbr_lookup ( const void * @@a1@@ ) { __int64 @@v1@@ ; if ( ( unsigned __int8 ) uip_ds6_list_loop ( uip_ds6_nbr_cache , Number , Number , @@a1@@ , Number , & locnbr ) ) return Number L ; @@v1@@ = locnbr ; * ( _QWORD * ) ( @@v1@@ + Number ) = clock_time ( ) ; return locnbr ; }", "source": [{"n": "v1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r32"}, {"n": "a1", "t": {"T": 3, "t": "const void"}, "location": "r56"}]} {"name": "uip_ds6_prefix_add", "code": "__int64 __fastcall uip_ds6_prefix_add ( _QWORD * @@a1@@ , unsigned __int8 @@a2@@ , char @@a3@@ , char @@a4@@ , int @@a5@@ , int @@a6@@ ) { __int64 v6 ; __int64 v7 ; if ( ( unsigned __int8 ) uip_ds6_list_loop ( uip_ds6_prefix_list , Number , Number , @@a1@@ , @@a2@@ , & locprefix ) != Number ) return Number L ; * ( _BYTE * ) locprefix = Number ; v6 = locprefix ; v7 = @@a1@@ [ Number ] ; * ( _QWORD * ) ( locprefix + Number ) = * @@a1@@ ; * ( _QWORD * ) ( v6 + Number ) = v7 ; * ( _BYTE * ) ( locprefix + Number ) = @@a2@@ ; * ( _BYTE * ) ( locprefix + Number ) = @@a3@@ ; * ( _BYTE * ) ( locprefix + Number ) = @@a4@@ ; * ( _DWORD * ) ( locprefix + Number ) = @@a5@@ ; * ( _DWORD * ) ( locprefix + Number ) = @@a6@@ ; return locprefix ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "char", "s": 1}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "char", "s": 1}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "int", "s": 4}, "location": "r72"}, {"n": "a6", "t": {"T": 1, "n": "int", "s": 4}, "location": "r80"}]} {"name": "uip_ds6_prefix_lookup", "code": "__int64 __fastcall uip_ds6_prefix_lookup ( const void * @@a1@@ , unsigned __int8 @@a2@@ ) { __int64 @@result@@ ; if ( ( unsigned __int8 ) uip_ds6_list_loop ( uip_ds6_prefix_list , Number , Number , @@a1@@ , @@a2@@ , & locprefix ) ) @@result@@ = Number L ; else @@result@@ = locprefix ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "const void"}, "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"}]} {"name": "uip_ds6_addr_add", "code": "__int64 __fastcall uip_ds6_addr_add ( _QWORD * @@a1@@ , __int64 @@a2@@ , char @@a3@@ ) { __int64 @@v3@@ ; __int64 v4 ; if ( ( unsigned __int8 ) uip_ds6_list_loop ( byte_422C58 , Number , Number , @@a1@@ , Number , & locaddr ) != Number ) return Number L ; * ( _BYTE * ) locaddr = Number ; @@v3@@ = locaddr ; v4 = @@a1@@ [ Number ] ; * ( _QWORD * ) ( locaddr + Number ) = * @@a1@@ ; * ( _QWORD * ) ( @@v3@@ + Number ) = v4 ; * ( _BYTE * ) ( locaddr + Number ) = @@a3@@ ; if ( @@a2@@ ) { * ( _BYTE * ) ( locaddr + Number ) = Number ; stimer_set ( locaddr + Number , @@a2@@ ) ; } else { * ( _BYTE * ) ( locaddr + Number ) = Number ; } * ( _BYTE * ) ( locaddr + Number ) = Number ; loc_fipaddr = Number ; word_41FB92 = Number ; word_41FB94 = Number ; word_41FB96 = Number ; word_41FB98 = Number ; word_41FB9A = Number ; LOBYTE ( word_41FB9C ) = Number ; HIBYTE ( word_41FB9C ) = * ( ( _BYTE * ) @@a1@@ + Number ) ; word_41FB9E = * ( ( _WORD * ) @@a1@@ + Number ) ; uip_ds6_maddr_add ( & loc_fipaddr ) ; return locaddr ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "char", "s": 1}, "location": "r16"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}]} {"name": "uip_ds6_addr_lookup", "code": "__int64 __fastcall uip_ds6_addr_lookup ( const void * @@a1@@ ) { __int64 @@result@@ ; if ( ( unsigned __int8 ) uip_ds6_list_loop ( byte_422C58 , Number , Number , @@a1@@ , Number , & locaddr ) ) @@result@@ = Number L ; else @@result@@ = locaddr ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "const void"}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"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": "uip_ds6_maddr_lookup", "code": "__int64 __fastcall uip_ds6_maddr_lookup ( const void * @@a1@@ ) { __int64 @@result@@ ; if ( ( unsigned __int8 ) uip_ds6_list_loop ( byte_422CF4 , Number , Number , @@a1@@ , Number , & locmaddr ) ) @@result@@ = Number L ; else @@result@@ = locmaddr ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "const void"}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"name": "uip_ds6_aaddr_add", "code": "__int64 __fastcall uip_ds6_aaddr_add ( _QWORD * @@a1@@ ) { __int64 @@v1@@ ; __int64 @@v2@@ ; if ( ( unsigned __int8 ) uip_ds6_list_loop ( byte_422CD0 , Number , Number , @@a1@@ , Number , & locaaddr ) != Number ) return Number L ; * ( _BYTE * ) locaaddr = Number ; @@v1@@ = locaaddr ; @@v2@@ = @@a1@@ [ Number ] ; * ( _QWORD * ) ( locaaddr + Number ) = * @@a1@@ ; * ( _QWORD * ) ( @@v1@@ + Number ) = @@v2@@ ; return locaaddr ; }", "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": "uip_ds6_aaddr_lookup", "code": "__int64 __fastcall uip_ds6_aaddr_lookup ( const void * @@a1@@ ) { __int64 @@result@@ ; if ( ( unsigned __int8 ) uip_ds6_list_loop ( byte_422CD0 , Number , Number , @@a1@@ , Number , & locaaddr ) ) @@result@@ = Number L ; else @@result@@ = locaaddr ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "const void"}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]}