{"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_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": "memb_free", "code": "__int64 __fastcall memb_free ( unsigned __int16 * @@a1@@ , __int64 @@a2@@ ) { __int64 @@v3@@ ; int @@i@@ ; @@v3@@ = * ( ( _QWORD * ) @@a1@@ + Number ) ; for ( @@i@@ = Number ; ; ++ @@i@@ ) { if ( @@i@@ >= @@a1@@ [ Number ] ) return Number ; if ( @@v3@@ == @@a2@@ ) break ; @@v3@@ += * @@a1@@ ; } if ( * ( char * ) ( * ( ( _QWORD * ) @@a1@@ + Number ) + @@i@@ ) > Number ) -- * ( _BYTE * ) ( * ( ( _QWORD * ) @@a1@@ + Number ) + @@i@@ ) ; return * ( unsigned __int8 * ) ( * ( ( _QWORD * ) @@a1@@ + Number ) + @@i@@ ) ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "unsigned __int16"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}]} {"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": "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": "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": "list_remove", "code": "_QWORD * __fastcall list_remove ( _QWORD * @@a1@@ , _QWORD * @@a2@@ ) { _QWORD * @@result@@ ; _QWORD * @@v3@@ ; _QWORD * @@i@@ ; @@result@@ = ( _QWORD * ) * @@a1@@ ; if ( * @@a1@@ ) { @@v3@@ = Number L ; @@result@@ = ( _QWORD * ) * @@a1@@ ; for ( @@i@@ = ( _QWORD * ) * @@a1@@ ; @@i@@ ; @@i@@ = ( _QWORD * ) * @@i@@ ) { if ( @@i@@ == @@a2@@ ) { if ( @@v3@@ ) * @@v3@@ = * @@i@@ ; else * @@a1@@ = * @@i@@ ; @@result@@ = @@i@@ ; * @@i@@ = Number L ; return @@result@@ ; } @@v3@@ = @@i@@ ; @@result@@ = ( _QWORD * ) * @@i@@ ; } } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_QWORD"}, "location": "r64"}, {"n": "result", "t": {"T": 3, "t": "_QWORD"}, "location": "r8"}, {"n": "v3", "t": {"T": 3, "t": "_QWORD"}, "location": "s16"}, {"n": "i", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]} {"name": "list_item_next", "code": "__int64 __fastcall list_item_next ( __int64 * @@a1@@ ) { __int64 @@result@@ ; if ( @@a1@@ ) @@result@@ = * @@a1@@ ; else @@result@@ = Number L ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "__int64"}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]}