{"name": "timer_expired", "code": "_BOOL8 __fastcall timer_expired ( _QWORD * @@a1@@ ) { return ( unsigned __int64 ) ( clock_time ( ) - * @@a1@@ + Number ) > @@a1@@ [ Number ] ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}]}
{"name": "process_thread_example_servreg_client_process", "code": "__int64 __fastcall process_thread_example_servreg_client_process ( _WORD * @@a1@@ ) { unsigned __int8 v1 ; __int64 v2 ; __int64 result ; __int64 @@v4@@ ; char @@v5@@ ; @@v5@@ = Number ; if ( ! * @@a1@@ ) { servreg_hack_init ( ) ; set_global_address ( ) ; goto LABEL_5 ; } if ( * @@a1@@ == Number ) { while ( Number ) { if ( ! @@v5@@ || ! ( unsigned int ) etimer_expired ( & et_3297 ) ) return Number L ; @@v4@@ = servreg_hack_list_head ( ) ; if ( @@v4@@ ) break ; LABEL_5 : etimer_set ( & et_3297 , Number L ) ; @@v5@@ = Number ; * @@a1@@ = Number ; } v1 = servreg_hack_item_id ( @@v4@@ ) ; printf ( String , v1 ) ; v2 = servreg_hack_item_address ( @@v4@@ ) ; uip_debug_ipaddr_print ( v2 ) ; putchar ( Number ) ; * @@a1@@ = Number ; result = Number L ; } else { * @@a1@@ = Number ; result = Number L ; } return result ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_WORD"}, "location": "r56"}, {"n": "v5", "t": {"T": 1, "n": "char", "s": 1}, "location": "s1"}, {"n": "v4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}]} {"name": "process_thread_etimer_process", "code": "__int64 __fastcall process_thread_etimer_process ( _WORD * @@a1@@ , char @@a2@@ , __int64 @@a3@@ ) { __int64 @@result@@ ; char @@v5@@ ; __int64 @@v6@@ ; __int64 v7 ; __int64 i ; @@v5@@ = Number ; if ( ! * @@a1@@ ) { timerlist = Number L ; goto LABEL_5 ; } if ( * @@a1@@ == Number ) { while ( @@v5@@ ) { if ( @@a2@@ == Number ) { while ( timerlist && @@a3@@ == * ( _QWORD * ) ( timerlist + Number ) ) timerlist = * ( _QWORD * ) ( timerlist + Number ) ; if ( timerlist ) { v7 = timerlist ; while ( * ( _QWORD * ) ( v7 + Number ) ) { if ( @@a3@@ == * ( _QWORD * ) ( * ( _QWORD * ) ( v7 + Number ) + Number L ) ) * ( _QWORD * ) ( v7 + Number ) = * ( _QWORD * ) ( * ( _QWORD * ) ( v7 + Number ) + Number L ) ; else v7 = * ( _QWORD * ) ( v7 + Number ) ; } } } else if ( @@a2@@ == Number ) { LABEL_21 : @@v6@@ = Number L ; for ( i = timerlist ; i ; i = * ( _QWORD * ) ( i + Number ) ) { if ( ( unsigned int ) timer_expired ( i ) ) { if ( ! ( unsigned int ) process_post ( * ( _QWORD * ) ( i + Number ) , Number L , i ) ) { * ( _QWORD * ) ( i + Number ) = Number L ; if ( @@v6@@ ) * ( _QWORD * ) ( @@v6@@ + Number ) = * ( _QWORD * ) ( i + Number ) ; else timerlist = * ( _QWORD * ) ( i + Number ) ; * ( _QWORD * ) ( i + Number ) = Number L ; update_time ( ) ; goto LABEL_21 ; } etimer_request_poll ( ) ; } @@v6@@ = i ; } } LABEL_5 : @@v5@@ = Number ; * @@a1@@ = Number ; } @@result@@ = Number L ; } else { * @@a1@@ = Number ; @@result@@ = Number L ; } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "_WORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "char", "s": 1}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v5", "t": {"T": 1, "n": "char", "s": 1}, "location": "s17"}]} {"name": "etimer_expired", "code": "_BOOL8 __fastcall etimer_expired ( __int64 @@a1@@ ) { return * ( _QWORD * ) ( @@a1@@ + Number ) == Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]} {"name": "start_periodic_tcp_timer", "code": "__int64 start_periodic_tcp_timer ( ) { __int64 @@result@@ ; @@result@@ = etimer_expired ( ( __int64 ) & periodic ) ; if ( ( _DWORD ) @@result@@ ) @@result@@ = etimer_restart ( ( __int64 ) & periodic ) ; 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_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_defrt_periodic", "code": "__int64 uip_ds6_defrt_periodic ( ) { __int64 @@result@@ ; __int64 @@v1@@ ; @@result@@ = list_head ( defaultrouterlist ) ; @@v1@@ = @@result@@ ; while ( @@v1@@ ) { if ( * ( _BYTE * ) ( @@v1@@ + Number ) || ! ( unsigned int ) stimer_expired ( @@v1@@ + Number ) ) { @@result@@ = list_item_next ( @@v1@@ ) ; @@v1@@ = @@result@@ ; } else { uip_ds6_defrt_rm ( @@v1@@ ) ; @@result@@ = list_head ( defaultrouterlist ) ; @@v1@@ = @@result@@ ; } } return @@result@@ ; }", "source": [{"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "purge_registrations", "code": "__int64 purge_registrations ( ) { __int64 @@result@@ ; __int64 i ; __int64 j ; for ( i = list_head ( own_services ) ; i ; i = list_item_next ( i ) ) { if ( ( unsigned int ) timer_expired ( i + Number ) ) { ++ * ( _BYTE * ) ( i + Number ) ; timer_set ( i + Number , Number L ) ; } } @@result@@ = list_head ( others_services ) ; for ( j = @@result@@ ; j ; j = @@result@@ ) { if ( ( unsigned int ) timer_expired ( j + Number ) ) { list_remove ( others_services , j ) ; memb_free ( & registrations , j ) ; j = list_head ( others_services ) ; } @@result@@ = list_item_next ( j ) ; } return @@result@@ ; }", "source": [{"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"name": "clock_time", "code": "__time_t clock_time ( ) { struct timeval @@tv@@ ; gettimeofday ( & @@tv@@ , Number L ) ; return Number * @@tv@@ . tv_sec + @@tv@@ . tv_usec / Number ; }", "source": [{"n": "tv", "t": {"T": 6, "n": "struct timeval", "l": [{"T": 4, "n": "tv_sec", "t": "__time_t", "s": 8}, {"T": 4, "n": "tv_usec", "t": "__suseconds_t", "s": 8}]}, "location": "s16"}]} {"name": "rpl_schedule_dao", "code": "__int64 __fastcall rpl_schedule_dao ( __int64 @@a1@@ ) { __int64 result ; unsigned __int16 v2 ; etimer_expiration_time ( ( _QWORD * ) ( @@a1@@ + Number ) ) ; result = etimer_expired ( @@a1@@ + Number ) ; if ( ( _DWORD ) result ) { v2 = random_rand ( ) ; result = ctimer_set ( @@a1@@ + Number , ( int ) ( v2 % Number + Number ) , handle_dao_timer , @@a1@@ ) ; } return result ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]} {"name": "ctimer_expired", "code": "_BOOL8 __fastcall ctimer_expired ( _QWORD * @@a1@@ ) { _QWORD * @@i@@ ; if ( initialized_0 ) return etimer_expired ( ( __int64 ) ( @@a1@@ + Number ) ) ; for ( @@i@@ = ( _QWORD * ) list_head ( ( __int64 ) ctimer_list ) ; @@i@@ ; @@i@@ = ( _QWORD * ) * @@i@@ ) { if ( @@i@@ == @@a1@@ ) return Number L ; } return Number L ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "i", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]} {"name": "stimer_expired", "code": "_BOOL8 __fastcall stimer_expired ( _QWORD * @@a1@@ ) { return ( unsigned __int64 ) ( clock_seconds ( ) - ( * @@a1@@ + @@a1@@ [ Number ] ) ) <= Number ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}]} {"name": "input", "code": "__int64 input ( ) { int v0 ; int @@v1@@ ; __int64 result ; __int64 v3 ; __int64 v4 ; char v5 ; char @@v6@@ ; char @@v7@@ ; unsigned __int16 @@v8@@ ; unsigned __int8 @@v9@@ ; unsigned __int16 @@v10@@ ; @@v10@@ = Number ; @@v9@@ = Number ; @@v8@@ = Number ; @@v7@@ = Number ; @@v6@@ = Number ; uncomp_hdr_len = Number ; rime_hdr_len = Number ; rime_ptr = packetbuf_dataptr ( ) ; if ( timer_expired ( reass_timer ) ) { sicslowpan_len = Number ; processed_ip_in_len = Number ; } v0 = ( ( ( unsigned __int16 ) ( * ( unsigned __int8 * ) rime_ptr << Number ) | * ( ( unsigned __int8 * ) rime_ptr + Number ) ) >> Number ) & Number ; if ( v0 == Number ) { @@v9@@ = Number ; @@v10@@ = _byteswap_ushort ( * ( _WORD * ) rime_ptr ) & Number ; @@v8@@ = _byteswap_ushort ( * ( ( _WORD * ) rime_ptr + Number ) ) ; rime_hdr_len += Number ; @@v7@@ = Number ; } else if ( v0 == Number ) { @@v9@@ = * ( ( _BYTE * ) rime_ptr + Number ) ; @@v8@@ = _byteswap_ushort ( * ( ( _WORD * ) rime_ptr + Number ) ) ; @@v10@@ = _byteswap_ushort ( * ( _WORD * ) rime_ptr ) & Number ; rime_hdr_len += Number ; @@v1@@ = ( unsigned __int16 ) processed_ip_in_len ; if ( @@v1@@ + ( unsigned __int16 ) packetbuf_datalen ( ) - ( unsigned __int8 ) rime_hdr_len >= @@v10@@ ) @@v6@@ = Number ; } result = ( unsigned __int16 ) processed_ip_in_len ; if ( processed_ip_in_len ) { if ( @@v10@@ ) { result = ( unsigned __int16 ) sicslowpan_len ; if ( @@v10@@ != sicslowpan_len ) return result ; result = ( unsigned __int16 ) reass_tag ; if ( @@v8@@ != reass_tag ) return result ; v3 = packetbuf_addr ( Number ) ; result = rimeaddr_cmp ( ( __int64 ) & frag_sender , v3 ) ; if ( ! ( _DWORD ) result ) return result ; } if ( ! @@v10@@ ) return result ; } else if ( @@v10@@ && @@v10@@ <= Number ) { sicslowpan_len = @@v10@@ ; reass_tag = @@v8@@ ; timer_set ( reass_timer , Number L ) ; v4 = packetbuf_addr ( Number ) ; rimeaddr_copy ( ( __int64 ) & frag_sender , v4 ) ; } if ( rime_hdr_len != Number ) { if ( ( * ( ( _BYTE * ) rime_ptr + ( unsigned __int8 ) rime_hdr_len ) & Number ) == Number ) { uncompress_hdr_hc06 ( @@v10@@ ) ; } else { result = * ( ( unsigned __int8 * ) rime_ptr + ( unsigned __int8 ) rime_hdr_len ) ; if ( ( _DWORD ) result != Number ) return result ; memcpy ( & sicslowpan_aligned_buf , ( char * ) rime_ptr + ( unsigned __int8 ) ++ rime_hdr_len , Number ) ; rime_hdr_len += Number ; uncomp_hdr_len += Number ; } } result = packetbuf_datalen ( ) ; if ( ( unsigned __int16 ) result >= ( unsigned __int8 ) rime_hdr_len ) { v5 = packetbuf_datalen ( ) ; rime_payload_len = v5 - rime_hdr_len ; memcpy ( ( char * ) & sicslowpan_aligned_buf + ( unsigned __int8 ) uncomp_hdr_len + ( unsigned __int64 ) ( unsigned __int16 ) ( Number * @@v9@@ ) , ( char * ) rime_ptr + ( unsigned __int8 ) rime_hdr_len , ( unsigned __int8 ) ( v5 - rime_hdr_len ) ) ; if ( @@v10@@ ) { if ( @@v7@@ ) processed_ip_in_len += ( unsigned __int8 ) uncomp_hdr_len ; if ( @@v6@@ ) processed_ip_in_len = @@v10@@ ; else processed_ip_in_len += ( unsigned __int8 ) rime_payload_len ; } else { sicslowpan_len = ( unsigned __int8 ) rime_payload_len + ( unsigned __int8 ) uncomp_hdr_len ; } if ( ! processed_ip_in_len || ( result = ( unsigned __int16 ) sicslowpan_len , processed_ip_in_len == sicslowpan_len ) ) { memcpy ( & uip_aligned_buf , & sicslowpan_aligned_buf , ( unsigned __int16 ) sicslowpan_len ) ; uip_len = sicslowpan_len ; sicslowpan_len = Number ; processed_ip_in_len = Number ; neighbor_info_packet_received ( ) ; if ( callback ) { set_packet_attrs ( ) ; ( * ( void ( * * ) ( void ) ) ( callback + Number ) ) ( ) ; } result = tcpip_input ( ) ; } } return result ; }", "source": [{"n": "v1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r32"}, {"n": "v10", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "s18"}, {"n": "v9", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s19"}, {"n": "v8", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "s22"}, {"n": "v7", "t": {"T": 1, "n": "char", "s": 1}, "location": "s23"}, {"n": "v6", "t": {"T": 1, "n": "char", "s": 1}, "location": "s24"}]}