{"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": "set_global_address", "code": "__int64 set_global_address ( ) { __int16 @@v1@@ [ Number ] ; @@v1@@ [ Number ] = Number ; @@v1@@ [ Number ] = Number ; @@v1@@ [ Number ] = Number ; @@v1@@ [ Number ] = Number ; @@v1@@ [ Number ] = Number ; @@v1@@ [ Number ] = Number ; @@v1@@ [ Number ] = Number ; @@v1@@ [ Number ] = Number ; uip_ds6_set_addr_iid ( @@v1@@ , & uip_lladdr ) ; return uip_ds6_addr_add ( @@v1@@ , Number L , Number L ) ; }", "source": [{"n": "v1", "t": {"T": 2, "n": 8, "s": 2, "t": "__int16"}, "location": "s16"}]} {"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_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": "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"}]} {"name": "timer_set", "code": "__time_t __fastcall timer_set ( __time_t * @@a1@@ , __time_t @@a2@@ ) { __time_t @@result@@ ; @@a1@@ [ Number ] = @@a2@@ ; @@result@@ = clock_time ( ) ; * @@a1@@ = @@result@@ ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "__time_t"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__time_t", "s": 8}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__time_t", "s": 8}, "location": "r8"}]} {"name": "stimer_set", "code": "__time_t __fastcall stimer_set ( __time_t * @@a1@@ , __time_t @@a2@@ ) { __time_t @@result@@ ; @@a1@@ [ Number ] = @@a2@@ ; @@result@@ = clock_seconds ( ) ; * @@a1@@ = @@result@@ ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "__time_t"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__time_t", "s": 8}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__time_t", "s": 8}, "location": "r8"}]}