{"name": "etimer_set", "code": "__int64 __fastcall etimer_set ( __int64 @@a1@@ , __int64 @@a2@@ ) { timer_set ( @@a1@@ , @@a2@@ ) ; return add_timer ( @@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": "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": "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": "process_thread_tcpip_process", "code": "__int64 __fastcall process_thread_tcpip_process ( _WORD * @@a1@@ , unsigned __int8 @@a2@@ , void * @@a3@@ ) { __int64 @@result@@ ; char @@v5@@ ; @@v5@@ = Number ; if ( ! * @@a1@@ ) { for ( i_4827 = Number ; ( unsigned __int8 ) i_4827 <= Number ; ++ i_4827 ) s [ Number * ( unsigned __int8 ) i_4827 ] = Number ; qword_41F720 = process_current ; tcpip_event = process_alloc_event ( ) ; tcpip_icmp6_event = process_alloc_event ( ) ; etimer_set ( ( __int64 ) & periodic , Number L ) ; uip_init ( ) ; rpl_init ( ) ; goto LABEL_8 ; } if ( * @@a1@@ == Number ) { while ( @@v5@@ ) { eventhandler ( @@a2@@ , @@a3@@ ) ; LABEL_8 : @@v5@@ = 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": "unsigned __int8", "s": 1}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v5", "t": {"T": 1, "n": "char", "s": 1}, "location": "s1"}]} {"name": "servreg_hack_register", "code": "int __fastcall servreg_hack_register ( char @@a1@@ , _QWORD * @@a2@@ ) { int result ; __int64 @@v3@@ ; unsigned __int16 v4 ; __int64 @@v5@@ ; __int64 @@v6@@ ; __int64 @@i@@ ; servreg_hack_init ( ) ; for ( @@i@@ = list_head ( own_services ) ; @@i@@ ; @@i@@ = list_item_next ( @@i@@ ) ) { result = servreg_hack_item_id ( @@i@@ ) ; if ( @@a1@@ == ( _BYTE ) result ) return result ; } @@v6@@ = memb_alloc ( & registrations ) ; if ( ! @@v6@@ ) return puts ( String String ) ; * ( _BYTE * ) ( @@v6@@ + Number ) = @@a1@@ ; * ( _BYTE * ) ( @@v6@@ + Number ) = Number ; @@v3@@ = @@a2@@ [ Number ] ; * ( _QWORD * ) ( @@v6@@ + Number ) = * @@a2@@ ; * ( _QWORD * ) ( @@v6@@ + Number ) = @@v3@@ ; timer_set ( @@v6@@ + Number , Number L ) ; list_push ( own_services , @@v6@@ ) ; @@v5@@ = process_current ; process_current = ( __int64 ) & servreg_hack_process ; v4 = random_rand ( ) ; etimer_set ( ( __int64 ) & sendtimer , v4 % Number ) ; result = @@v5@@ ; process_current = @@v5@@ ; return result ; }", "source": [{"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "char", "s": 1}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_QWORD"}, "location": "r64"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"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_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": "process_thread_ctimer_process", "code": "__int64 __fastcall process_thread_ctimer_process ( _WORD * @@a1@@ , char @@a2@@ , __int64 @@a3@@ ) { __int64 @@result@@ ; __int64 @@v5@@ ; char @@v6@@ ; _QWORD * i ; __int64 j ; @@v6@@ = Number ; if ( ! * @@a1@@ ) { for ( i = ( _QWORD * ) list_head ( ( __int64 ) ctimer_list ) ; i ; i = ( _QWORD * ) * i ) etimer_set ( ( __int64 ) ( i + Number ) , i [ Number ] ) ; initialized_0 = Number ; goto LABEL_8 ; } if ( * @@a1@@ == Number ) { while ( @@v6@@ && @@a2@@ == Number ) { for ( j = list_head ( ( __int64 ) ctimer_list ) ; j ; j = * ( _QWORD * ) j ) { if ( @@a3@@ == j + Number ) { list_remove ( ctimer_list , ( _QWORD * ) j ) ; @@v5@@ = process_current ; process_current = * ( _QWORD * ) ( j + Number ) ; if ( * ( _QWORD * ) ( j + Number ) ) ( * ( void ( __fastcall * * ) ( _QWORD ) ) ( j + Number ) ) ( * ( _QWORD * ) ( j + Number ) ) ; process_current = @@v5@@ ; break ; } } LABEL_8 : @@v6@@ = 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": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v6", "t": {"T": 1, "n": "char", "s": 1}, "location": "s9"}]} {"name": "ctimer_set", "code": "_QWORD * __fastcall ctimer_set ( _QWORD * @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , __int64 @@a4@@ ) { __int64 @@v5@@ ; @@a1@@ [ Number ] = process_current ; @@a1@@ [ Number ] = @@a3@@ ; @@a1@@ [ Number ] = @@a4@@ ; if ( initialized_0 ) { @@v5@@ = process_current ; process_current = ( __int64 ) & ctimer_process ; etimer_set ( ( __int64 ) ( @@a1@@ + Number ) , @@a2@@ ) ; process_current = @@v5@@ ; } else { @@a1@@ [ Number ] = @@a2@@ ; } list_remove ( ctimer_list , @@a1@@ ) ; return list_add ( ctimer_list , @@a1@@ ) ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a4", "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"}, {"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}