{"name": "tcpip_ipv6_output", "code": "__int64 tcpip_ipv6_output ( ) { __int64 result ; size_t v1 ; void * v2 ; size_t v3 ; void * v4 ; size_t v5 ; const void * @@v6@@ ; __int64 @@v7@@ ; __int64 v8 ; __int64 v9 ; void * @@v10@@ ; result = ( unsigned __int16 ) uip_len ; if ( uip_len ) { result = ( unsigned __int16 ) uip_len ; if ( ( unsigned __int16 ) uip_len > Number ) { uip_len = Number ; return result ; } if ( ! unk_422798 && ! * ( ( _WORD * ) & unk_422798 + Number ) && ! * ( ( _WORD * ) & unk_422798 + Number ) && ! * ( ( _WORD * ) & unk_422798 + Number ) && ! * ( ( _WORD * ) & unk_422798 + Number ) && ! * ( ( _WORD * ) & unk_422798 + Number ) && ! * ( ( _WORD * ) & unk_422798 + Number ) ) { result = * ( ( unsigned __int16 * ) & unk_422798 + Number ) ; if ( ! ( _WORD ) result ) { uip_len = Number ; return result ; } } if ( unk_422798 == Number ) { LABEL_41 : result = tcpip_output ( Number L ) ; uip_len = Number ; uip_ext_len = Number ; return result ; } if ( ( unsigned __int8 ) uip_ds6_is_addr_onlink ( & unk_422798 ) ) { @@v10@@ = & unk_422798 ; result = rpl_update_header_final ( & unk_422798 ) ; } else { @@v7@@ = uip_ds6_route_lookup ( & unk_422798 ) ; if ( @@v7@@ ) { @@v10@@ = ( void * ) ( @@v7@@ + Number ) ; } else { result = uip_ds6_defrt_choose ( ) ; @@v10@@ = ( void * ) result ; if ( ! result ) { uip_len = Number ; return result ; } } result = rpl_update_header_final ( @@v10@@ ) ; } if ( ( _DWORD ) result ) { uip_len = Number ; return result ; } v8 = uip_ds6_nbr_lookup ( @@v10@@ ) ; if ( ! v8 ) { result = uip_ds6_nbr_add ( @@v10@@ , Number L , Number L , Number L ) ; v9 = result ; if ( ! result ) { uip_len = Number ; return result ; } if ( uip_packetqueue_alloc ( result + Number , Number L ) ) { v1 = ( unsigned __int16 ) uip_len ; v2 = ( void * ) uip_packetqueue_buf ( v9 + Number ) ; memcpy ( v2 , & uip_aligned_buf , v1 ) ; uip_packetqueue_set_buflen ( v9 + Number , ( unsigned __int16 ) uip_len ) ; } if ( uip_ds6_addr_lookup ( byte_422788 ) ) uip_nd6_ns_output ( byte_422788 , Number L , v9 + Number ) ; else uip_nd6_ns_output ( Number L , Number L , v9 + Number ) ; stimer_set ( v9 + Number , dword_422C50 / Number ) ; * ( _BYTE * ) ( v9 + Number ) = Number ; goto LABEL_41 ; } if ( * ( _BYTE * ) ( v8 + Number ) ) { if ( * ( _BYTE * ) ( v8 + Number ) == Number ) { * ( _BYTE * ) ( v8 + Number ) = Number ; stimer_set ( v8 + Number , Number L ) ; * ( _BYTE * ) ( v8 + Number ) = Number ; } tcpip_output ( v8 + Number ) ; result = uip_packetqueue_buflen ( v8 + Number ) ; if ( ( _WORD ) result ) { uip_len = uip_packetqueue_buflen ( v8 + Number ) ; v5 = ( unsigned __int16 ) uip_len ; @@v6@@ = ( const void * ) uip_packetqueue_buf ( v8 + Number ) ; memcpy ( & uip_aligned_buf , @@v6@@ , v5 ) ; uip_packetqueue_free ( v8 + Number ) ; result = tcpip_output ( v8 + Number ) ; } uip_len = Number ; } else { result = uip_packetqueue_alloc ( v8 + Number , Number L ) ; if ( result ) { v3 = ( unsigned __int16 ) uip_len ; v4 = ( void * ) uip_packetqueue_buf ( v8 + Number ) ; memcpy ( v4 , & uip_aligned_buf , v3 ) ; result = uip_packetqueue_set_buflen ( v8 + Number , ( unsigned __int16 ) uip_len ) ; } uip_len = Number ; } } return result ; }", "source": [{"n": "v6", "t": {"T": 3, "t": "const void"}, "location": "r64"}, {"n": "v10", "t": {"T": 3, "t": "void"}, "location": "s24"}, {"n": "v7", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}]}
{"name": "tcpip_output", "code": "__int64 __fastcall tcpip_output ( __int64 @@a1@@ ) { __int64 @@result@@ ; if ( outputfunc ) @@result@@ = ( unsigned __int8 ) outputfunc ( @@a1@@ ) ; else @@result@@ = Number L ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"name": "packet_input", "code": "__int64 packet_input ( ) { __int64 @@result@@ ; @@result@@ = ( unsigned __int16 ) uip_len ; if ( uip_len ) { check_for_tcp_syn ( ) ; uip_process ( Number ) ; @@result@@ = ( unsigned __int16 ) uip_len ; if ( uip_len ) @@result@@ = tcpip_ipv6_output ( ) ; } return @@result@@ ; }", "source": [{"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"name": "eventhandler", "code": "__int64 __fastcall eventhandler ( unsigned __int8 @@a1@@ , void * @@a2@@ ) { __int64 @@result@@ ; __int16 * v3 ; __int64 * i ; void * * j ; @@result@@ = @@a1@@ ; if ( @@a1@@ == Number ) { if ( @@a2@@ == & periodic ) { @@result@@ = etimer_expired ( ( __int64 ) & periodic ) ; if ( ( _DWORD ) @@result@@ ) { for ( i_4773 = Number ; ; ++ i_4773 ) { @@result@@ = ( unsigned __int8 ) i_4773 ; if ( ( unsigned __int8 ) i_4773 > Number ) break ; if ( byte_421EA5 [ Number * ( unsigned __int8 ) i_4773 ] ) { etimer_restart ( ( __int64 ) & periodic ) ; uip_conn = Number L * ( unsigned __int8 ) i_4773 + Number ; uip_process ( Number ) ; tcpip_ipv6_output ( ) ; } } } } if ( @@a2@@ == & uip_ds6_timer_periodic ) { @@result@@ = etimer_expired ( ( __int64 ) & uip_ds6_timer_periodic ) ; if ( ( _DWORD ) @@result@@ ) { uip_ds6_periodic ( ) ; @@result@@ = tcpip_ipv6_output ( ) ; } } } else if ( @@a1@@ <= Number ) { if ( @@a1@@ == Number ) { v3 = ( __int16 * ) & s ; for ( i_4773 = Number ; ; ++ i_4773 ) { @@result@@ = ( unsigned __int8 ) i_4773 ; if ( ( unsigned __int8 ) i_4773 > Number ) break ; if ( @@a2@@ == * ( ( void * * ) v3 + Number ) ) { uip_unlisten ( * v3 ) ; * v3 = Number ; * ( ( _QWORD * ) v3 + Number ) = Number L ; } v3 += Number ; } for ( i = ( __int64 * ) & uip_conns ; i < & uip_icmp6_conns ; i += Number ) { @@result@@ = i [ Number ] ; if ( @@a2@@ == ( void * ) @@result@@ ) { i [ Number ] = Number L ; * ( ( _BYTE * ) i + Number ) = Number ; } } for ( j = ( void * * ) & uip_udp_conns ; j < & uip_udp_conn ; j += Number ) { @@result@@ = ( __int64 ) j [ Number ] ; if ( @@a2@@ == ( void * ) @@result@@ ) * ( ( _WORD * ) j + Number ) = Number ; } } else if ( @@a1@@ <= Number ) { if ( @@a1@@ == Number ) { @@result@@ = packet_input ( ) ; } else if ( @@a1@@ <= Number ) { if ( @@a1@@ ) { if ( @@a2@@ ) { uip_udp_conn = @@a2@@ ; uip_process ( Number ) ; @@result@@ = tcpip_ipv6_output ( ) ; } } else if ( @@a2@@ ) { uip_conn = ( __int64 ) @@a2@@ ; uip_process ( Number ) ; tcpip_ipv6_output ( ) ; @@result@@ = start_periodic_tcp_timer ( ) ; } } } } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "void"}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"name": "uip_icmp6_send", "code": "__int64 __fastcall uip_icmp6_send ( _QWORD * @@a1@@ , char @@a2@@ , char @@a3@@ , __int16 @@a4@@ ) { __int64 v4 ; uip_aligned_buf = Number ; * ( ( _BYTE * ) & uip_aligned_buf + Number ) = Number ; * ( ( _BYTE * ) & uip_aligned_buf + Number ) = byte_422C44 ; * ( ( _BYTE * ) & uip_aligned_buf + Number ) = ( unsigned __int16 ) ( @@a4@@ + Number ) >> Number ; * ( ( _BYTE * ) & uip_aligned_buf + Number ) = @@a4@@ + Number ; v4 = @@a1@@ [ Number ] ; unk_422798 = * @@a1@@ ; * ( ( _QWORD * ) & unk_422798 + Number ) = v4 ; uip_ds6_select_src ( byte_422788 , & unk_422798 ) ; * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) = @@a2@@ ; * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) = @@a3@@ ; * ( _WORD * ) ( ( char * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) = Number ; * ( _WORD * ) ( ( char * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) = ~ ( unsigned __int16 ) uip_icmp6chksum ( ) ; uip_len = @@a4@@ + Number ; return tcpip_ipv6_output ( ) ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "char", "s": 1}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "__int16", "s": 2}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "char", "s": 1}, "location": "r64"}]} {"name": "uip_nd6_ns_output", "code": "__int64 __fastcall uip_nd6_ns_output ( _QWORD * @@a1@@ , _QWORD * @@a2@@ , __int64 @@a3@@ ) { __int64 v3 ; char * @@v4@@ ; __int64 v5 ; __int64 v6 ; __int64 @@result@@ ; uip_ext_len = Number ; uip_aligned_buf = Number ; * ( ( _BYTE * ) & uip_aligned_buf + Number ) = Number ; * ( ( _BYTE * ) & uip_aligned_buf + Number ) = Number ; if ( @@a2@@ ) { v3 = @@a2@@ [ Number ] ; unk_422798 = * @@a2@@ ; * ( ( _QWORD * ) & unk_422798 + Number ) = v3 ; } else { unk_422798 = Number ; * ( ( _BYTE * ) & unk_422798 + Number ) = Number ; * ( ( _WORD * ) & unk_422798 + Number ) = Number ; * ( ( _WORD * ) & unk_422798 + Number ) = Number ; * ( ( _WORD * ) & unk_422798 + Number ) = Number ; * ( ( _WORD * ) & unk_422798 + Number ) = Number ; * ( ( _BYTE * ) & unk_422798 + Number ) = Number ; * ( ( _BYTE * ) & unk_422798 + Number ) = Number ; * ( ( _BYTE * ) & unk_422798 + Number ) = Number ; * ( ( _BYTE * ) & unk_422798 + Number ) = * ( _BYTE * ) ( @@a3@@ + Number ) ; * ( ( _WORD * ) & unk_422798 + Number ) = * ( _WORD * ) ( @@a3@@ + Number ) ; } * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) = Number ; * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) = Number ; * ( int * ) ( ( char * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) = Number ; @@v4@@ = ( char * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ; v5 = * ( _QWORD * ) ( @@a3@@ + Number ) ; * ( _QWORD * ) ( @@v4@@ + Number ) = * ( _QWORD * ) @@a3@@ ; * ( _QWORD * ) ( @@v4@@ + Number ) = v5 ; * ( ( _BYTE * ) & uip_aligned_buf + Number ) = Number ; if ( uip_ds6_addr_lookup ( @@a3@@ ) ) { * ( _WORD * ) byte_422788 = Number ; * ( _WORD * ) & byte_422788 [ Number ] = Number ; * ( _WORD * ) & byte_422788 [ Number ] = Number ; * ( _WORD * ) & byte_422788 [ Number ] = Number ; * ( _WORD * ) & byte_422788 [ Number ] = Number ; * ( _WORD * ) & byte_422788 [ Number ] = Number ; * ( _WORD * ) & byte_422788 [ Number ] = Number ; * ( _WORD * ) & byte_422788 [ Number ] = Number ; * ( ( _BYTE * ) & uip_aligned_buf + Number ) = Number ; uip_len = Number ; } else { if ( @@a1@@ ) { v6 = @@a1@@ [ Number ] ; * ( _QWORD * ) byte_422788 = * @@a1@@ ; * ( _QWORD * ) & byte_422788 [ Number ] = v6 ; } else { uip_ds6_select_src ( byte_422788 , & unk_422798 ) ; } if ( ! * ( _WORD * ) byte_422788 && ! * ( _WORD * ) & byte_422788 [ Number ] && ! * ( _WORD * ) & byte_422788 [ Number ] && ! * ( _WORD * ) & byte_422788 [ Number ] && ! * ( _WORD * ) & byte_422788 [ Number ] && ! * ( _WORD * ) & byte_422788 [ Number ] && ! * ( _WORD * ) & byte_422788 [ Number ] ) { @@result@@ = * ( unsigned __int16 * ) & byte_422788 [ Number ] ; if ( ! ( _WORD ) @@result@@ ) { uip_len = Number ; return @@result@@ ; } } * ( ( _BYTE * ) & uip_aligned_buf + Number ) = Number ; create_llao ( ( unsigned __int8 ) uip_ext_len + Number + Number L , Number ) ; uip_len = Number ; } * ( _WORD * ) ( ( char * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) = Number ; @@result@@ = ( unsigned int ) ~ uip_icmp6chksum ( ) ; * ( _WORD * ) ( ( char * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) = @@result@@ ; return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "v4", "t": {"T": 3, "t": "char"}, "location": "r24"}, {"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"}]} {"name": "uip_packetqueue_alloc", "code": "__int64 __fastcall uip_packetqueue_alloc ( __int64 @@a1@@ , __int64 @@a2@@ ) { if ( * ( _QWORD * ) @@a1@@ ) return Number L ; * ( _QWORD * ) @@a1@@ = memb_alloc ( & packets_memb ) ; if ( * ( _QWORD * ) @@a1@@ ) ctimer_set ( * ( _QWORD * ) @@a1@@ + Number L , @@a2@@ , packet_timedout , @@a1@@ ) ; return * ( _QWORD * ) @@a1@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}]} {"name": "uip_packetqueue_free", "code": "_QWORD * __fastcall uip_packetqueue_free ( _QWORD * @@a1@@ ) { _QWORD * @@result@@ ; @@result@@ = ( _QWORD * ) * @@a1@@ ; if ( * @@a1@@ ) { ctimer_stop ( * @@a1@@ + Number L ) ; memb_free ( & packets_memb , * @@a1@@ ) ; @@result@@ = @@a1@@ ; * @@a1@@ = Number L ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "result", "t": {"T": 3, "t": "_QWORD"}, "location": "r8"}]} {"name": "uip_packetqueue_buf", "code": "__int64 __fastcall uip_packetqueue_buf ( _QWORD * @@a1@@ ) { __int64 @@result@@ ; if ( * @@a1@@ ) @@result@@ = * @@a1@@ + Number L ; else @@result@@ = Number L ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"name": "uip_packetqueue_buflen", "code": "__int64 __fastcall uip_packetqueue_buflen ( __int64 @@a1@@ ) { __int64 @@result@@ ; if ( * ( _QWORD * ) @@a1@@ ) @@result@@ = * ( unsigned __int16 * ) ( * ( _QWORD * ) @@a1@@ + Number L ) ; else @@result@@ = Number L ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"name": "uip_packetqueue_set_buflen", "code": "__int64 __fastcall uip_packetqueue_set_buflen ( __int64 * @@a1@@ , __int16 @@a2@@ ) { __int64 @@result@@ ; @@result@@ = * @@a1@@ ; if ( * @@a1@@ ) { @@result@@ = * @@a1@@ ; * ( _WORD * ) ( * @@a1@@ + Number ) = @@a2@@ ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "__int64"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int16", "s": 2}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"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_is_addr_onlink", "code": "__int64 __fastcall uip_ds6_is_addr_onlink ( const void * @@a1@@ ) { for ( locprefix = ( __int64 ) uip_ds6_prefix_list ; locprefix < ( unsigned __int64 ) & uip_ds6_timer_periodic ; locprefix += Number L ) { if ( * ( _BYTE * ) locprefix && ! memcmp ( ( const void * ) ( locprefix + Number ) , @@a1@@ , * ( _BYTE * ) ( locprefix + Number ) >> Number ) ) return Number L ; } return Number L ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "const void"}, "location": "r56"}]} {"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_route_lookup", "code": "__int64 __fastcall uip_ds6_route_lookup ( const void * @@a1@@ ) { unsigned __int8 @@v2@@ ; __int64 @@v3@@ ; __int64 @@i@@ ; @@v3@@ = Number L ; @@v2@@ = Number ; for ( @@i@@ = list_head ( routelist ) ; @@i@@ ; @@i@@ = list_item_next ( @@i@@ ) ) { if ( @@v2@@ <= * ( _BYTE * ) ( @@i@@ + Number ) && ! memcmp ( @@a1@@ , ( const void * ) ( @@i@@ + Number ) , * ( _BYTE * ) ( @@i@@ + Number ) >> Number ) ) { @@v2@@ = * ( _BYTE * ) ( @@i@@ + Number ) ; @@v3@@ = @@i@@ ; } } return @@v3@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "const void"}, "location": "r56"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v2", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s17"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "uip_ds6_defrt_choose", "code": "__int64 uip_ds6_defrt_choose ( ) { __int64 @@v1@@ ; __int64 @@v2@@ ; __int64 @@i@@ ; @@v2@@ = Number L ; for ( @@i@@ = list_head ( defaultrouterlist ) ; @@i@@ ; @@i@@ = list_item_next ( @@i@@ ) ) { @@v1@@ = uip_ds6_nbr_lookup ( ( const void * ) ( @@i@@ + Number ) ) ; if ( @@v1@@ && * ( _BYTE * ) ( @@v1@@ + Number ) ) return @@i@@ + Number ; @@v2@@ = @@i@@ + Number ; } return @@v2@@ ; }", "source": [{"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "rpl_update_header_final", "code": "__int64 __fastcall rpl_update_header_final ( const void * @@a1@@ ) { _QWORD * @@v2@@ ; char @@v3@@ ; @@v3@@ = uip_ext_len ; uip_ext_len = Number ; if ( ! * ( ( _BYTE * ) & uip_aligned_buf + Number ) ) { if ( * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) ) { uip_ext_len = @@v3@@ ; return Number L ; } if ( * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) == Number && ! * ( _WORD * ) ( ( char * ) & unk_422784 + ( unsigned __int8 ) uip_ext_len + Number ) ) { if ( ! default_instance || ! * ( _BYTE * ) ( default_instance + Number ) || ! * ( _BYTE * ) ( * ( _QWORD * ) ( default_instance + Number ) + Number L ) ) { return Number L ; } @@v2@@ = rpl_find_parent ( * ( _QWORD * ) ( default_instance + Number ) , @@a1@@ ) ; if ( ! @@v2@@ || @@v2@@ != * ( _QWORD * * ) ( @@v2@@ [ Number ] + Number L ) ) * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) = Number ; * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) = * ( _BYTE * ) ( default_instance + Number ) ; * ( _WORD * ) ( ( char * ) & unk_422784 + ( unsigned __int8 ) uip_ext_len + Number ) = * ( _WORD * ) ( * ( _QWORD * ) ( default_instance + Number ) + Number L ) ; uip_ext_len = @@v3@@ ; } } return Number L ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "const void"}, "location": "r56"}, {"n": "v2", "t": {"T": 3, "t": "_QWORD"}, "location": "s16"}, {"n": "v3", "t": {"T": 1, "n": "char", "s": 1}, "location": "s4"}]} {"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"}]} {"name": "uip_udp_packet_send", "code": "void __fastcall uip_udp_packet_send ( void * @@a1@@ , const void * @@a2@@ , int @@a3@@ ) { int @@v3@@ ; if ( @@a2@@ ) { uip_udp_conn = @@a1@@ ; uip_slen = @@a3@@ ; @@v3@@ = Number ; if ( @@a3@@ <= Number ) @@v3@@ = @@a3@@ ; memcpy ( & unk_4227B0 , @@a2@@ , @@v3@@ ) ; uip_process ( Number ) ; tcpip_ipv6_output ( ) ; } uip_slen = Number ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "void"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "const void"}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r8"}]} {"name": "output", "code": "__int64 __fastcall output ( __int64 @@a1@@ ) { char @@v2@@ [ Number ] ; __int64 * @@v3@@ ; unsigned __int16 @@v4@@ ; uncomp_hdr_len = Number ; rime_hdr_len = Number ; packetbuf_clear ( ) ; rime_ptr = packetbuf_dataptr ( ) ; packetbuf_set_attr ( Number , Number ) ; if ( callback ) set_packet_attrs ( ) ; if ( * ( ( _BYTE * ) & uip_aligned_buf + Number ) != Number || ( * ( ( _BYTE * ) & dword_4227A8 + Number ) & Number ) != Number || ( * ( ( _BYTE * ) & dword_4227A8 + Number ) & Number ) == Number ) { if ( * ( ( _BYTE * ) & uip_aligned_buf + Number ) == Number && ( * ( ( _BYTE * ) & dword_4227A8 + Number ) & Number ) != Number ) packetbuf_set_attr ( Number , Number ) ; } else { packetbuf_set_attr ( Number , Number ) ; } if ( @@a1@@ ) rimeaddr_copy ( ( __int64 ) @@v2@@ , @@a1@@ ) ; else rimeaddr_copy ( ( __int64 ) @@v2@@ , ( __int64 ) & rimeaddr_null ) ; compress_hdr_hc06 ( @@v2@@ ) ; if ( ( unsigned __int16 ) uip_len - ( unsigned __int8 ) uncomp_hdr_len <= Number - ( unsigned __int8 ) rime_hdr_len ) { memcpy ( ( char * ) rime_ptr + ( unsigned __int8 ) rime_hdr_len , ( char * ) & uip_aligned_buf + ( unsigned __int8 ) uncomp_hdr_len , ( unsigned __int16 ) uip_len - ( unsigned __int8 ) uncomp_hdr_len ) ; packetbuf_set_datalen ( uip_len - ( unsigned __int8 ) uncomp_hdr_len + ( unsigned __int8 ) rime_hdr_len ) ; send_packet_1 ( ( __int64 ) @@v2@@ ) ; } else { memmove ( ( char * ) rime_ptr + Number , rime_ptr , ( unsigned __int8 ) rime_hdr_len ) ; * ( _BYTE * ) rime_ptr = HIBYTE ( uip_len ) | Number ; * ( ( _BYTE * ) rime_ptr + Number ) = uip_len ; * ( ( _BYTE * ) rime_ptr + Number ) = HIBYTE ( my_tag ) ; * ( ( _BYTE * ) rime_ptr + Number ) = my_tag ++ ; rime_hdr_len += Number ; rime_payload_len = ( Number - rime_hdr_len ) & Number ; memcpy ( ( char * ) rime_ptr + ( unsigned __int8 ) rime_hdr_len , ( char * ) & uip_aligned_buf + ( unsigned __int8 ) uncomp_hdr_len , ( Number - rime_hdr_len ) & Number ) ; packetbuf_set_datalen ( ( unsigned __int8 ) rime_payload_len + ( unsigned __int8 ) rime_hdr_len ) ; @@v3@@ = ( __int64 * ) queuebuf_new_from_packetbuf ( ) ; if ( ! @@v3@@ ) return Number L ; send_packet_1 ( ( __int64 ) @@v2@@ ) ; queuebuf_to_packetbuf ( ( unsigned __int64 ) @@v3@@ ) ; queuebuf_free ( @@v3@@ ) ; @@v3@@ = Number L ; if ( last_tx_status == Number || last_tx_status == Number || last_tx_status == Number ) return Number L ; @@v4@@ = ( unsigned __int8 ) rime_payload_len + ( unsigned __int8 ) uncomp_hdr_len ; rime_hdr_len = Number ; * ( _BYTE * ) rime_ptr = HIBYTE ( uip_len ) | Number ; * ( ( _BYTE * ) rime_ptr + Number ) = uip_len ; rime_payload_len = ( Number - rime_hdr_len ) & Number ; while ( @@v4@@ < ( unsigned __int16 ) uip_len ) { * ( ( _BYTE * ) rime_ptr + Number ) = @@v4@@ >> Number ; if ( ( unsigned __int16 ) uip_len - @@v4@@ < ( unsigned __int8 ) rime_payload_len ) rime_payload_len = uip_len - @@v4@@ ; memcpy ( ( char * ) rime_ptr + ( unsigned __int8 ) rime_hdr_len , ( char * ) & uip_aligned_buf + @@v4@@ , ( unsigned __int8 ) rime_payload_len ) ; packetbuf_set_datalen ( ( unsigned __int8 ) rime_payload_len + ( unsigned __int8 ) rime_hdr_len ) ; @@v3@@ = ( __int64 * ) queuebuf_new_from_packetbuf ( ) ; if ( ! @@v3@@ ) return Number L ; send_packet_1 ( ( __int64 ) @@v2@@ ) ; queuebuf_to_packetbuf ( ( unsigned __int64 ) @@v3@@ ) ; queuebuf_free ( @@v3@@ ) ; @@v3@@ = Number L ; @@v4@@ += ( unsigned __int8 ) rime_payload_len ; if ( last_tx_status == Number || last_tx_status == Number || last_tx_status == Number ) return Number L ; } } return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v3", "t": {"T": 3, "t": "__int64"}, "location": "s16"}, {"n": "v4", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "s2"}, {"n": "v2", "t": {"T": 2, "n": 8, "s": 1, "t": "char"}, "location": "s24"}]}