{"name": "memb_alloc", "code": "__int64 __fastcall memb_alloc ( unsigned __int16 * @@a1@@ ) { int @@i@@ ; for ( @@i@@ = Number ; @@i@@ < @@a1@@ [ Number ] ; ++ @@i@@ ) { if ( ! * ( _BYTE * ) ( * ( ( _QWORD * ) @@a1@@ + Number ) + @@i@@ ) ) { ++ * ( _BYTE * ) ( * ( ( _QWORD * ) @@a1@@ + Number ) + @@i@@ ) ; return * ( ( _QWORD * ) @@a1@@ + Number ) + @@i@@ * * @@a1@@ ; } } return Number L ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "unsigned __int16"}, "location": "r56"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}]}
{"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_ds6_route_add", "code": "__int64 __fastcall uip_ds6_route_add ( _QWORD * @@a1@@ , char @@a2@@ , _QWORD * @@a3@@ , char @@a4@@ ) { __int64 v5 ; __int64 v6 ; __int64 @@v9@@ ; @@v9@@ = uip_ds6_route_lookup ( @@a1@@ ) ; if ( ! @@v9@@ ) { @@v9@@ = memb_alloc ( & routememb ) ; if ( ! @@v9@@ ) return Number L ; list_add ( routelist , @@v9@@ ) ; } v5 = @@a1@@ [ Number ] ; * ( _QWORD * ) ( @@v9@@ + Number ) = * @@a1@@ ; * ( _QWORD * ) ( @@v9@@ + Number ) = v5 ; * ( _BYTE * ) ( @@v9@@ + Number ) = @@a2@@ ; v6 = @@a3@@ [ Number ] ; * ( _QWORD * ) ( @@v9@@ + Number ) = * @@a3@@ ; * ( _QWORD * ) ( @@v9@@ + Number ) = v6 ; * ( _BYTE * ) ( @@v9@@ + Number ) = @@a4@@ ; memset ( ( void * ) ( @@v9@@ + Number ) , Number , Number ) ; call_route_callback ( Number , ( __int64 ) @@a1@@ , ( __int64 ) @@a3@@ ) ; return @@v9@@ ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "_QWORD"}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "char", "s": 1}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "char", "s": 1}, "location": "r64"}, {"n": "v9", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "uip_ds6_defrt_add", "code": "__int64 __fastcall uip_ds6_defrt_add ( _QWORD * @@a1@@ , __int64 @@a2@@ ) { __int64 @@v3@@ ; __int64 @@v4@@ ; @@v4@@ = uip_ds6_defrt_lookup ( @@a1@@ ) ; if ( ! @@v4@@ ) { @@v4@@ = memb_alloc ( & defaultroutermemb ) ; if ( ! @@v4@@ ) return Number L ; list_push ( defaultrouterlist , @@v4@@ ) ; } @@v3@@ = @@a1@@ [ Number ] ; * ( _QWORD * ) ( @@v4@@ + Number ) = * @@a1@@ ; * ( _QWORD * ) ( @@v4@@ + Number ) = @@v3@@ ; if ( @@a2@@ ) { stimer_set ( @@v4@@ + Number , @@a2@@ ) ; * ( _BYTE * ) ( @@v4@@ + Number ) = Number ; } else { * ( _BYTE * ) ( @@v4@@ + Number ) = Number ; } call_route_callback ( Number , ( __int64 ) @@a1@@ , ( __int64 ) @@a1@@ ) ; return @@v4@@ ; }", "source": [{"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"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": "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": "rpl_add_parent", "code": "__int64 __fastcall rpl_add_parent ( __int64 @@a1@@ , __int64 @@a2@@ , _QWORD * @@a3@@ ) { __int64 v4 ; __int64 @@v6@@ ; if ( ( unsigned int ) list_length ( * ( _QWORD * ) ( @@a1@@ + Number ) ) == Number ) return Number L ; @@v6@@ = memb_alloc ( & parent_memb ) ; if ( ! @@v6@@ ) return Number L ; v4 = @@a3@@ [ Number ] ; * ( _QWORD * ) ( @@v6@@ + Number ) = * @@a3@@ ; * ( _QWORD * ) ( @@v6@@ + Number ) = v4 ; * ( _QWORD * ) ( @@v6@@ + Number ) = @@a1@@ ; * ( _WORD * ) ( @@v6@@ + Number ) = * ( _WORD * ) ( @@a2@@ + Number ) ; * ( _BYTE * ) ( @@v6@@ + Number ) = * ( _BYTE * ) ( @@a2@@ + Number ) ; * ( _BYTE * ) ( @@v6@@ + Number ) = Number ; * ( _QWORD * ) ( @@v6@@ + Number ) = * ( _QWORD * ) ( @@a2@@ + Number ) ; list_add ( * ( _QWORD * ) ( @@a1@@ + Number ) , @@v6@@ ) ; return @@v6@@ ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "_QWORD"}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "queuebuf_new_from_packetbuf", "code": "__int64 queuebuf_new_from_packetbuf ( ) { __int64 @@result@@ ; __int64 @@v1@@ ; __int64 @@v2@@ ; __int64 @@v3@@ ; if ( packetbuf_is_reference ( ) ) { @@v1@@ = memb_alloc ( refbufmem ) ; if ( @@v1@@ ) { * ( _WORD * ) @@v1@@ = packetbuf_datalen ( ) ; * ( _QWORD * ) ( @@v1@@ + Number ) = packetbuf_reference_ptr ( ) ; * ( _BYTE * ) ( @@v1@@ + Number ) = packetbuf_copyto_hdr ( ( void * ) ( @@v1@@ + Number ) ) ; } @@result@@ = @@v1@@ ; } else { @@v3@@ = memb_alloc ( ( unsigned __int16 * ) bufmem ) ; if ( @@v3@@ ) { * ( _QWORD * ) @@v3@@ = memb_alloc ( buframmem ) ; if ( ! * ( _QWORD * ) @@v3@@ ) return Number L ; @@v2@@ = * ( _QWORD * ) @@v3@@ ; * ( _WORD * ) @@v2@@ = packetbuf_copyto ( ( char * ) ( * ( _QWORD * ) @@v3@@ + Number L ) ) ; packetbuf_attr_copyto ( ( void * ) ( @@v2@@ + Number ) , ( _QWORD * ) ( @@v2@@ + Number ) ) ; } @@result@@ = @@v3@@ ; } return @@result@@ ; }", "source": [{"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v3", "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"}]}