{"name": "etimer_reset", "code": "__int64 __fastcall etimer_reset ( __int64 @@a1@@ ) { timer_reset ( @@a1@@ ) ; return add_timer ( @@a1@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]}
{"name": "add_timer", "code": "__int64 __fastcall add_timer ( __int64 @@a1@@ ) { __int64 @@i@@ ; etimer_request_poll ( ) ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) { for ( @@i@@ = timerlist ; @@i@@ ; @@i@@ = * ( _QWORD * ) ( @@i@@ + Number ) ) { if ( @@i@@ == @@a1@@ ) return update_time ( ) ; } } * ( _QWORD * ) ( @@a1@@ + Number ) = process_current ; * ( _QWORD * ) ( @@a1@@ + Number ) = timerlist ; timerlist = @@a1@@ ; return update_time ( ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"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": "process_thread_servreg_hack_process", "code": "__int64 __fastcall process_thread_servreg_hack_process ( _WORD * @@a1@@ , char @@a2@@ , void * @@a3@@ ) { unsigned __int16 v3 ; unsigned __int16 v4 ; __int64 result ; char @@v7@@ ; @@v7@@ = Number ; if ( ! * @@a1@@ ) { outconn_4485 = ( __int64 ) udp_broadcast_new ( Number , Number L ) ; * ( _WORD * ) ( outconn_4485 + Number ) = Number ; inconn_4486 = ( __int64 ) udp_new ( Number L , Number , Number L ) ; * ( _WORD * ) ( inconn_4486 + Number ) = Number ; etimer_set ( ( __int64 ) & periodic_4484 , Number L ) ; v3 = random_rand ( ) ; etimer_set ( ( __int64 ) & sendtimer , v3 % Number ) ; goto LABEL_5 ; } if ( * @@a1@@ == Number ) { while ( @@v7@@ ) { if ( @@a2@@ == Number && @@a3@@ == & periodic_4484 ) { etimer_reset ( ( __int64 ) & periodic_4484 ) ; v4 = random_rand ( ) ; etimer_set ( ( __int64 ) & sendtimer , v4 % Number ) ; } else if ( @@a2@@ == Number && @@a3@@ == & sendtimer ) { send_udp_packet ( outconn_4485 ) ; } else if ( @@a2@@ == tcpip_event ) { parse_incoming_packet ( ( unsigned __int8 * ) uip_appdata ) ; } LABEL_5 : @@v7@@ = Number ; * @@a1@@ = Number ; } result = Number L ; } else { * @@a1@@ = Number ; result = Number L ; } return result ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "void"}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "_WORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "char", "s": 1}, "location": "r64"}, {"n": "v7", "t": {"T": 1, "n": "char", "s": 1}, "location": "s1"}]} {"name": "timer_reset", "code": "_QWORD * __fastcall timer_reset ( _QWORD * @@a1@@ ) { _QWORD * @@result@@ ; @@result@@ = @@a1@@ ; * @@a1@@ += @@a1@@ [ Number ] ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "result", "t": {"T": 3, "t": "_QWORD"}, "location": "r8"}]} {"name": "ctimer_reset", "code": "_QWORD * __fastcall ctimer_reset ( _QWORD * @@a1@@ ) { __int64 @@v2@@ ; if ( initialized_0 ) { @@v2@@ = process_current ; process_current = ( __int64 ) & ctimer_process ; etimer_reset ( ( __int64 ) ( @@a1@@ + Number ) ) ; process_current = @@v2@@ ; } list_remove ( ctimer_list , @@a1@@ ) ; return list_add ( ctimer_list , @@a1@@ ) ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}