{"name": "uip_ds6_addr_rm", "code": "void __fastcall uip_ds6_addr_rm ( __int64 @@a1@@ ) { if ( @@a1@@ ) { 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 ) ; locmaddr = uip_ds6_maddr_lookup ( & loc_fipaddr ) ; if ( locmaddr ) uip_ds6_maddr_rm ( locmaddr ) ; * ( _BYTE * ) @@a1@@ = Number ; } }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]}
{"name": "uip_ds6_periodic", "code": "__int64 uip_ds6_periodic ( ) { int @@v0@@ ; for ( locaddr = ( __int64 ) & unk_422C58 ; locaddr < ( unsigned __int64 ) & unk_422CD0 ; locaddr += Number L ) { if ( * ( _BYTE * ) locaddr && ! * ( _BYTE * ) ( locaddr + Number ) && ( unsigned int ) stimer_expired ( locaddr + Number ) ) uip_ds6_addr_rm ( locaddr ) ; } uip_ds6_defrt_periodic ( ) ; for ( locnbr = ( __int64 ) & uip_ds6_nbr_cache ; locnbr < ( unsigned __int64 ) & contiki_argv ; locnbr += Number L ) { if ( ! * ( _BYTE * ) locnbr ) continue ; @@v0@@ = * ( unsigned __int8 * ) ( locnbr + Number ) ; if ( @@v0@@ == Number ) { if ( * ( _BYTE * ) ( locnbr + Number ) > Number ) { locdefrt = uip_ds6_defrt_lookup ( locnbr + Number ) ; if ( locdefrt && ! * ( _BYTE * ) ( locdefrt + Number ) ) uip_ds6_defrt_rm ( locdefrt ) ; LABEL_17 : uip_ds6_nbr_rm ( locnbr ) ; continue ; } if ( ( unsigned int ) stimer_expired ( locnbr + Number ) && ! uip_len ) { ++ * ( _BYTE * ) ( locnbr + Number ) ; uip_nd6_ns_output ( Number L , ( _QWORD * ) ( locnbr + Number ) , locnbr + Number ) ; stimer_set ( locnbr + Number , dword_422C50 / Number ) ; } } else { if ( * ( unsigned __int8 * ) ( locnbr + Number ) > Number ) continue ; if ( @@v0@@ == Number ) { if ( ( unsigned int ) stimer_expired ( locnbr + Number ) ) { * ( _BYTE * ) ( locnbr + Number ) = Number ; * ( _BYTE * ) ( locnbr + Number ) = Number ; stimer_set ( locnbr + Number , Number L ) ; } } else if ( * ( _BYTE * ) ( locnbr + Number ) ) { if ( @@v0@@ == Number && ( unsigned int ) stimer_expired ( locnbr + Number ) ) * ( _BYTE * ) ( locnbr + Number ) = Number ; } else { if ( * ( _BYTE * ) ( locnbr + Number ) > Number ) goto LABEL_17 ; if ( ( unsigned int ) stimer_expired ( locnbr + Number ) && ! uip_len ) { ++ * ( _BYTE * ) ( locnbr + Number ) ; uip_nd6_ns_output ( Number L , Number L , locnbr + Number ) ; stimer_set ( locnbr + Number , dword_422C50 / Number ) ; } } } } return etimer_reset ( ( __int64 ) & uip_ds6_timer_periodic ) ; }", "source": [{"n": "v0", "t": {"T": 1, "n": "int", "s": 4}, "location": "r8"}]} {"name": "uip_ds6_maddr_rm", "code": "_BYTE * __fastcall uip_ds6_maddr_rm ( _BYTE * @@a1@@ ) { _BYTE * @@result@@ ; if ( @@a1@@ ) { @@result@@ = @@a1@@ ; * @@a1@@ = Number ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_BYTE"}, "location": "r56"}, {"n": "result", "t": {"T": 3, "t": "_BYTE"}, "location": "r8"}]} {"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": "check_prefix", "code": "void __fastcall check_prefix ( unsigned __int8 * @@a1@@ , unsigned __int8 * @@a2@@ ) { _QWORD @@v2@@ [ Number ] ; __int64 @@v3@@ ; if ( ! @@a1@@ || ! @@a2@@ || @@a1@@ [ Number ] != @@a2@@ [ Number ] || memcmp ( @@a1@@ , @@a2@@ , @@a2@@ [ Number ] >> Number ) || @@a1@@ [ Number ] != @@a2@@ [ Number ] ) { if ( @@a1@@ ) { set_ip_from_prefix ( @@v2@@ , @@a1@@ ) ; @@v3@@ = uip_ds6_addr_lookup ( @@v2@@ ) ; if ( @@v3@@ ) uip_ds6_addr_rm ( @@v3@@ ) ; } if ( @@a2@@ ) { set_ip_from_prefix ( @@v2@@ , @@a2@@ ) ; if ( ! uip_ds6_addr_lookup ( @@v2@@ ) ) uip_ds6_addr_add ( @@v2@@ , Number L , Number ) ; } } }", "source": [{"n": "a1", "t": {"T": 3, "t": "unsigned __int8"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "unsigned __int8"}, "location": "r64"}, {"n": "v2", "t": {"T": 2, "n": 3, "s": 8, "t": "_QWORD"}, "location": "s32"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}