{"name": "list_head", "code": "__int64 __fastcall list_head ( __int64 @@a1@@ ) { return * ( _QWORD * ) @@a1@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "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": "call_route_callback", "code": "__int64 __fastcall call_route_callback ( unsigned int @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ ) { __int64 @@result@@ ; __int64 @@i@@ ; unsigned int @@v6@@ ; @@result@@ = list_head ( notificationlist ) ; for ( @@i@@ = @@result@@ ; @@i@@ ; @@i@@ = @@result@@ ) { if ( @@a1@@ && @@a1@@ != Number ) @@v6@@ = list_length ( routelist ) ; else @@v6@@ = list_length ( defaultrouterlist ) ; ( * ( void ( __fastcall * * ) ( _QWORD , __int64 , __int64 , _QWORD ) ) ( @@i@@ + Number ) ) ( @@a1@@ , @@a2@@ , @@a3@@ , @@v6@@ ) ; @@result@@ = list_item_next ( @@i@@ ) ; } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v6", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}]} {"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_route_rm", "code": "__int64 __fastcall uip_ds6_route_rm ( __int64 @@a1@@ ) { __int64 @@result@@ ; __int64 @@i@@ ; @@result@@ = list_head ( routelist ) ; for ( @@i@@ = @@result@@ ; @@i@@ ; @@i@@ = @@result@@ ) { if ( @@i@@ == @@a1@@ ) { list_remove ( routelist , @@a1@@ ) ; memb_free ( & routememb , @@a1@@ ) ; return call_route_callback ( Number , @@a1@@ + Number , @@a1@@ + Number ) ; } @@result@@ = list_item_next ( @@i@@ ) ; } 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"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "uip_ds6_route_rm_by_nexthop", "code": "__int64 __fastcall uip_ds6_route_rm_by_nexthop ( const void * @@a1@@ ) { __int64 @@result@@ ; __int64 @@i@@ ; @@result@@ = list_head ( routelist ) ; for ( @@i@@ = @@result@@ ; @@i@@ ; @@i@@ = @@result@@ ) { if ( ! memcmp ( ( const void * ) ( @@i@@ + Number ) , @@a1@@ , Number ) ) { list_remove ( routelist , @@i@@ ) ; call_route_callback ( Number , @@i@@ + Number , @@i@@ + Number ) ; @@result@@ = list_head ( routelist ) ; } else { @@result@@ = list_item_next ( @@i@@ ) ; } } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "const void"}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "uip_ds6_defrt_rm", "code": "__int64 __fastcall uip_ds6_defrt_rm ( __int64 @@a1@@ ) { __int64 @@result@@ ; __int64 @@i@@ ; @@result@@ = list_head ( defaultrouterlist ) ; for ( @@i@@ = @@result@@ ; @@i@@ ; @@i@@ = @@result@@ ) { if ( @@i@@ == @@a1@@ ) { list_remove ( defaultrouterlist , @@a1@@ ) ; memb_free ( & defaultroutermemb , @@a1@@ ) ; return call_route_callback ( Number , @@a1@@ + Number , @@a1@@ + Number ) ; } @@result@@ = list_item_next ( @@i@@ ) ; } 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"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "uip_ds6_defrt_lookup", "code": "__int64 __fastcall uip_ds6_defrt_lookup ( const void * @@a1@@ ) { __int64 @@i@@ ; for ( @@i@@ = list_head ( defaultrouterlist ) ; @@i@@ ; @@i@@ = list_item_next ( @@i@@ ) ) { if ( ! memcmp ( ( const void * ) ( @@i@@ + Number ) , @@a1@@ , Number ) ) return @@i@@ ; } return Number L ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "const void"}, "location": "r56"}, {"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": "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": "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": "servreg_hack_lookup", "code": "__int64 __fastcall servreg_hack_lookup ( char @@a1@@ ) { __int64 @@i@@ ; servreg_hack_init ( ) ; purge_registrations ( ) ; for ( @@i@@ = servreg_hack_list_head ( ) ; @@i@@ ; @@i@@ = list_item_next ( @@i@@ ) ) { if ( @@a1@@ == ( unsigned __int8 ) servreg_hack_item_id ( @@i@@ ) ) return servreg_hack_item_address ( @@i@@ ) ; } return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "char", "s": 1}, "location": "r56"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "handle_incoming_reg", "code": "char __fastcall handle_incoming_reg ( _QWORD * @@a1@@ , char @@a2@@ , char @@a3@@ ) { char @@result@@ ; __int64 v4 ; __int64 @@v6@@ ; __int64 @@i@@ ; for ( @@i@@ = servreg_hack_list_head ( ) ; ; @@i@@ = list_item_next ( @@i@@ ) ) { if ( ! @@i@@ ) { @@v6@@ = memb_alloc ( & registrations ) ; if ( ! @@v6@@ ) return puts ( String String ) ; * ( _BYTE * ) ( @@v6@@ + Number ) = @@a2@@ ; * ( _BYTE * ) ( @@v6@@ + Number ) = Number ; v4 = @@a1@@ [ Number ] ; * ( _QWORD * ) ( @@v6@@ + Number ) = * @@a1@@ ; * ( _QWORD * ) ( @@v6@@ + Number ) = v4 ; timer_set ( @@v6@@ + Number , Number L ) ; return list_add ( others_services , @@v6@@ ) ; } if ( @@a2@@ == ( unsigned __int8 ) servreg_hack_item_id ( @@i@@ ) ) break ; } @@result@@ = * ( _BYTE * ) ( @@i@@ + Number ) - @@a3@@ ; if ( @@result@@ < Number ) { * ( _BYTE * ) ( @@i@@ + Number ) = @@a3@@ ; timer_set ( @@i@@ + Number , Number L ) ; list_remove ( others_services , @@i@@ ) ; @@result@@ = list_push ( others_services , @@i@@ ) ; } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "char", "s": 1}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "char", "s": 1}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "char", "s": 1}, "location": "r8"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "send_udp_packet", "code": "__int64 __fastcall send_udp_packet ( __int64 @@a1@@ ) { _QWORD * v1 ; char * v2 ; __int64 v3 ; int v4 ; int v5 ; _QWORD * v6 ; char * v7 ; __int64 v8 ; int v9 ; int v10 ; __int64 result ; char @@v12@@ [ Number ] ; __int64 @@i@@ ; int @@v14@@ ; unsigned int @@v15@@ ; @@v12@@ [ Number ] = Number ; @@v15@@ = Number ; @@v14@@ = Number ; for ( @@i@@ = list_head ( own_services ) ; @@v14@@ <= Number && @@i@@ ; @@i@@ = list_item_next ( @@i@@ ) ) { v1 = ( _QWORD * ) servreg_hack_item_address ( @@i@@ ) ; v2 = & @@v12@@ [ @@v14@@ ] ; v3 = v1 [ Number ] ; * ( _QWORD * ) v2 = * v1 ; * ( ( _QWORD * ) v2 + Number ) = v3 ; v4 = @@v14@@ + Number ; @@v12@@ [ v4 ] = servreg_hack_item_id ( @@i@@ ) ; v5 = @@v14@@ + Number ; @@v12@@ [ @@v14@@ + Number ] = Number ; @@v12@@ [ @@v14@@ + Number ] = @@v12@@ [ v5 ] ; @@v12@@ [ @@v14@@ + Number ] = * ( _BYTE * ) ( @@i@@ + Number ) ; @@v14@@ += Number ; ++ @@v15@@ ; } for ( @@i@@ = servreg_hack_list_head ( ) ; @@v14@@ <= Number && @@i@@ ; @@i@@ = list_item_next ( @@i@@ ) ) { v6 = ( _QWORD * ) servreg_hack_item_address ( @@i@@ ) ; v7 = & @@v12@@ [ @@v14@@ ] ; v8 = v6 [ Number ] ; * ( _QWORD * ) v7 = * v6 ; * ( ( _QWORD * ) v7 + Number ) = v8 ; v9 = @@v14@@ + Number ; @@v12@@ [ v9 ] = servreg_hack_item_id ( @@i@@ ) ; v10 = @@v14@@ + Number ; @@v12@@ [ @@v14@@ + Number ] = Number ; @@v12@@ [ @@v14@@ + Number ] = @@v12@@ [ v10 ] ; @@v12@@ [ @@v14@@ + Number ] = * ( _BYTE * ) ( @@i@@ + Number ) ; @@v14@@ += Number ; ++ @@v15@@ ; } result = @@v15@@ ; @@v12@@ [ Number ] = @@v15@@ ; if ( ( int ) @@v15@@ > Number ) result = uip_udp_packet_send ( @@a1@@ , @@v12@@ , ( unsigned int ) @@v14@@ ) ; return result ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v12", "t": {"T": 2, "n": 96, "s": 1, "t": "char"}, "location": "s128"}, {"n": "v15", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s20"}, {"n": "v14", "t": {"T": 1, "n": "int", "s": 4}, "location": "s24"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}]} {"name": "rpl_purge_routes", "code": "__int64 rpl_purge_routes ( ) { __int64 @@result@@ ; __int64 i ; __int64 j ; for ( i = uip_ds6_route_list_head ( ) ; i ; i = list_item_next ( i ) ) { if ( * ( _DWORD * ) ( i + Number ) ) -- * ( _DWORD * ) ( i + Number ) ; } @@result@@ = uip_ds6_route_list_head ( ) ; for ( j = @@result@@ ; j ; j = @@result@@ ) { if ( * ( _DWORD * ) ( j + Number ) ) { @@result@@ = list_item_next ( j ) ; } else { uip_ds6_route_rm ( j ) ; @@result@@ = uip_ds6_route_list_head ( ) ; } } return @@result@@ ; }", "source": [{"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"name": "rpl_remove_routes", "code": "__int64 __fastcall rpl_remove_routes ( __int64 @@a1@@ ) { __int64 @@result@@ ; __int64 @@i@@ ; @@result@@ = uip_ds6_route_list_head ( ) ; for ( @@i@@ = @@result@@ ; @@i@@ ; @@i@@ = @@result@@ ) { if ( @@a1@@ == * ( _QWORD * ) ( @@i@@ + Number ) ) { uip_ds6_route_rm ( @@i@@ ) ; @@result@@ = uip_ds6_route_list_head ( ) ; } else { @@result@@ = list_item_next ( @@i@@ ) ; } } 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"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "rpl_remove_routes_by_nexthop", "code": "__int64 __fastcall rpl_remove_routes_by_nexthop ( const void * @@a1@@ , __int64 @@a2@@ ) { __int64 @@result@@ ; __int64 @@v3@@ ; @@result@@ = uip_ds6_route_list_head ( ) ; @@v3@@ = @@result@@ ; while ( @@v3@@ ) { if ( ! memcmp ( ( const void * ) ( @@v3@@ + Number ) , @@a1@@ , Number ) && @@a2@@ == * ( _QWORD * ) ( @@v3@@ + Number ) ) { uip_ds6_route_rm ( @@v3@@ ) ; @@result@@ = uip_ds6_route_list_head ( ) ; @@v3@@ = @@result@@ ; } else { @@result@@ = list_item_next ( @@v3@@ ) ; @@v3@@ = @@result@@ ; } } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "const void"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "remove_parents", "code": "__int64 __fastcall remove_parents ( __int64 @@a1@@ , unsigned __int16 @@a2@@ ) { __int64 @@result@@ ; __int64 @@v3@@ ; __int64 @@i@@ ; @@result@@ = list_head ( * ( _QWORD * ) ( @@a1@@ + Number ) ) ; for ( @@i@@ = @@result@@ ; @@i@@ ; @@i@@ = @@v3@@ ) { @@v3@@ = * ( _QWORD * ) @@i@@ ; if ( @@a2@@ <= * ( _WORD * ) ( @@i@@ + Number ) ) rpl_remove_parent ( @@a1@@ , @@i@@ ) ; @@result@@ = @@v3@@ ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "nullify_parents", "code": "__int64 __fastcall nullify_parents ( __int64 @@a1@@ , unsigned __int16 @@a2@@ ) { __int64 @@result@@ ; __int64 @@v3@@ ; __int64 @@i@@ ; @@result@@ = list_head ( * ( _QWORD * ) ( @@a1@@ + Number ) ) ; for ( @@i@@ = @@result@@ ; @@i@@ ; @@i@@ = @@v3@@ ) { @@v3@@ = * ( _QWORD * ) @@i@@ ; if ( @@a2@@ <= * ( _WORD * ) ( @@i@@ + Number ) ) rpl_nullify_parent ( @@a1@@ , @@i@@ ) ; @@result@@ = @@v3@@ ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "remove_worst_parent", "code": "__int64 __fastcall remove_worst_parent ( __int64 @@a1@@ , unsigned __int16 @@a2@@ ) { __int64 @@result@@ ; __int64 @@v3@@ ; __int64 @@i@@ ; @@v3@@ = Number L ; @@result@@ = list_head ( * ( _QWORD * ) ( @@a1@@ + Number ) ) ; for ( @@i@@ = @@result@@ ; @@i@@ ; @@i@@ = @@result@@ ) { if ( @@i@@ != * ( _QWORD * ) ( @@a1@@ + Number ) && ( ! @@v3@@ || * ( _WORD * ) ( @@i@@ + Number ) > * ( _WORD * ) ( @@v3@@ + Number ) ) ) @@v3@@ = @@i@@ ; @@result@@ = list_item_next ( @@i@@ ) ; } if ( @@v3@@ ) { @@result@@ = * ( unsigned __int16 * ) ( @@v3@@ + Number ) ; if ( @@a2@@ < ( unsigned __int16 ) @@result@@ ) @@result@@ = rpl_remove_parent ( @@a1@@ , @@v3@@ ) ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "rpl_find_parent", "code": "_QWORD * __fastcall rpl_find_parent ( __int64 @@a1@@ , const void * @@a2@@ ) { _QWORD * @@i@@ ; for ( @@i@@ = ( _QWORD * ) list_head ( * ( _QWORD * ) ( @@a1@@ + Number ) ) ; @@i@@ ; @@i@@ = ( _QWORD * ) * @@i@@ ) { if ( ! memcmp ( @@i@@ + Number , @@a2@@ , Number ) ) return @@i@@ ; } return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "const void"}, "location": "r64"}, {"n": "i", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]} {"name": "find_parent_dag", "code": "unsigned __int64 __fastcall find_parent_dag ( __int64 @@a1@@ , const void * @@a2@@ ) { unsigned __int64 @@i@@ ; _QWORD * @@j@@ ; for ( @@i@@ = @@a1@@ + Number ; @@i@@ < @@a1@@ + Number ; @@i@@ += Number L ) { if ( * ( _BYTE * ) ( @@i@@ + Number ) ) { for ( @@j@@ = ( _QWORD * ) list_head ( * ( _QWORD * ) ( @@i@@ + Number ) ) ; @@j@@ ; @@j@@ = ( _QWORD * ) * @@j@@ ) { if ( ! memcmp ( @@j@@ + Number , @@a2@@ , Number ) ) return @@i@@ ; } } } return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "const void"}, "location": "r64"}, {"n": "i", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s16"}, {"n": "j", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]} {"name": "rpl_find_parent_any_dag", "code": "_QWORD * __fastcall rpl_find_parent_any_dag ( __int64 @@a1@@ , const void * @@a2@@ ) { unsigned __int64 @@i@@ ; _QWORD * @@j@@ ; for ( @@i@@ = @@a1@@ + Number ; @@i@@ < @@a1@@ + Number ; @@i@@ += Number L ) { if ( * ( _BYTE * ) ( @@i@@ + Number ) ) { for ( @@j@@ = ( _QWORD * ) list_head ( * ( _QWORD * ) ( @@i@@ + Number ) ) ; @@j@@ ; @@j@@ = ( _QWORD * ) * @@j@@ ) { if ( ! memcmp ( @@j@@ + Number , @@a2@@ , Number ) ) return @@j@@ ; } } } return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "const void"}, "location": "r64"}, {"n": "i", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s16"}, {"n": "j", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]} {"name": "rpl_select_parent", "code": "__int64 __fastcall rpl_select_parent ( _QWORD * @@a1@@ ) { __int64 @@v2@@ ; __int64 @@i@@ ; @@v2@@ = Number L ; for ( @@i@@ = list_head ( @@a1@@ [ Number ] ) ; @@i@@ ; @@i@@ = * ( _QWORD * ) @@i@@ ) { if ( * ( _WORD * ) ( @@i@@ + Number ) != Number ) { if ( @@v2@@ ) @@v2@@ = ( * ( __int64 ( __fastcall * * ) ( __int64 , __int64 ) ) ( * ( _QWORD * ) ( @@a1@@ [ Number ] + Number L ) + Number L ) ) ( @@v2@@ , @@i@@ ) ; else @@v2@@ = @@i@@ ; } } if ( @@v2@@ ) @@a1@@ [ Number ] = @@v2@@ ; return @@v2@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "rpl_recalculate_ranks", "code": "char * rpl_recalculate_ranks ( ) { char * @@result@@ ; int @@j@@ ; __int64 @@k@@ ; char * @@i@@ ; for ( @@i@@ = ( char * ) & instance_table ; ; @@i@@ += Number ) { @@result@@ = @@i@@ ; if ( @@i@@ >= ( char * ) & instance_table + Number ) break ; if ( @@i@@ [ Number ] ) { for ( @@j@@ = Number ; @@j@@ <= Number ; ++ @@j@@ ) { if ( @@i@@ [ Number * @@j@@ + Number ] ) { for ( @@k@@ = list_head ( * ( _QWORD * ) & @@i@@ [ Number * @@j@@ + Number ] ) ; @@k@@ ; @@k@@ = * ( _QWORD * ) @@k@@ ) { if ( * ( _BYTE * ) ( @@k@@ + Number ) ) { * ( _BYTE * ) ( @@k@@ + Number ) = Number ; rpl_process_parent_event ( @@i@@ , @@k@@ ) ; break ; } } } } } } return @@result@@ ; }", "source": [{"n": "result", "t": {"T": 3, "t": "char"}, "location": "r8"}, {"n": "k", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "j", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "i", "t": {"T": 3, "t": "char"}, "location": "s8"}]} {"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_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": "neighbor_addr_get", "code": "_QWORD * __fastcall neighbor_addr_get ( unsigned __int64 @@a1@@ ) { _QWORD * @@i@@ ; if ( memb_inmemb ( & neighbor_addr_mem , @@a1@@ ) ) return ( _QWORD * ) ( @@a1@@ - Number ) ; for ( @@i@@ = ( _QWORD * ) list_head ( ( __int64 ) neighbor_addrs ) ; @@i@@ ; @@i@@ = ( _QWORD * ) * @@i@@ ) { if ( ( unsigned int ) rimeaddr_cmp ( @@a1@@ , ( __int64 ) ( @@i@@ + Number ) ) ) return @@i@@ ; } return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "r56"}, {"n": "i", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]} {"name": "neighbor_attr_register", "code": "__int64 __fastcall neighbor_attr_register ( _QWORD * @@a1@@ ) { __int64 @@i@@ ; list_push ( neighbor_attrs , @@a1@@ ) ; for ( @@i@@ = list_head ( ( __int64 ) neighbor_addrs ) ; @@i@@ ; @@i@@ = * ( _QWORD * ) @@i@@ ) set_attr ( ( __int64 ) @@a1@@ , * ( _WORD * ) ( @@i@@ + Number ) ) ; return Number L ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "neighbor_attr_add_neighbor", "code": "__int64 __fastcall neighbor_attr_add_neighbor ( unsigned __int64 @@a1@@ ) { __int64 @@v2@@ ; unsigned __int16 @@i@@ ; _QWORD * @@j@@ ; if ( neighbor_attr_has_neighbor ( @@a1@@ ) ) return Number L ; @@v2@@ = memb_alloc ( & neighbor_addr_mem ) ; if ( ! @@v2@@ ) return Number ; list_push ( neighbor_addrs , ( _QWORD * ) @@v2@@ ) ; * ( _WORD * ) ( @@v2@@ + Number ) = Number ; rimeaddr_copy ( @@v2@@ + Number , @@a1@@ ) ; for ( @@i@@ = Number ; @@i@@ < ( unsigned __int16 ) word_41F3E2 && ( void * ) @@v2@@ != ( char * ) off_41F3F0 + Number * @@i@@ ; ++ @@i@@ ) ; * ( _WORD * ) ( @@v2@@ + Number ) = @@i@@ ; for ( @@j@@ = ( _QWORD * ) list_head ( ( __int64 ) neighbor_attrs ) ; @@j@@ ; @@j@@ = ( _QWORD * ) * @@j@@ ) set_attr ( ( __int64 ) @@j@@ , @@i@@ ) ; return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "r56"}, {"n": "i", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "s10"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "j", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]}