{"name": "update_metric_container", "code": "__int64 __fastcall update_metric_container ( __int64 @@a1@@ ) { __int64 @@result@@ ; __int64 @@v2@@ ; __int16 @@v3@@ ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; @@v2@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; @@result@@ = * ( unsigned __int8 * ) ( @@v2@@ + Number ) ; if ( ( _BYTE ) @@result@@ ) { if ( * ( _WORD * ) ( @@v2@@ + Number ) == * ( _WORD * ) ( @@a1@@ + Number ) ) @@v3@@ = Number ; else @@v3@@ = calculate_path_metric ( * ( _QWORD * ) ( @@v2@@ + Number ) ) ; * ( _BYTE * ) @@a1@@ = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; @@result@@ = @@a1@@ ; * ( _WORD * ) ( @@a1@@ + Number ) = @@v3@@ ; } 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": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v3", "t": {"T": 1, "n": "__int16", "s": 2}, "location": "s2"}]}
{"name": "calculate_path_metric", "code": "__int64 __fastcall calculate_path_metric ( __int64 @@a1@@ ) { __int64 @@result@@ ; if ( @@a1@@ && ( * ( _WORD * ) ( @@a1@@ + Number ) || * ( _WORD * ) ( @@a1@@ + Number ) <= * ( _WORD * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) ) ) @@result@@ = Number * * ( unsigned __int8 * ) ( @@a1@@ + Number ) + ( unsigned int ) * ( unsigned __int16 * ) ( @@a1@@ + Number ) ; else @@result@@ = Number L ; 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"}]} {"name": "update_metric", "code": "__int64 __fastcall update_metric ( __int64 @@a1@@ , __int16 @@a2@@ ) { __int64 @@result@@ ; __time_t @@v3@@ ; unsigned __int8 @@v4@@ ; char * @@v5@@ ; int @@v6@@ ; unsigned __int8 @@v7@@ ; @@v6@@ = Number ; @@v5@@ = ( char * ) neighbor_attr_get_data ( & attr_etx , @@a1@@ ) ; if ( @@v5@@ && * @@v5@@ ) { @@v7@@ = * @@v5@@ ; @@v4@@ = ( Number * @@v7@@ + Number * ( unsigned __int16 ) ( Number * @@a2@@ ) ) / Number ; } else { @@v7@@ = Number ; @@v4@@ = Number * @@a2@@ ; @@v6@@ = Number ; } @@result@@ = neighbor_attr_has_neighbor ( @@a1@@ ) ; if ( ( _DWORD ) @@result@@ ) { @@v3@@ = clock_seconds ( ) ; neighbor_attr_set_data ( & attr_etx , @@a1@@ , & @@v4@@ ) ; neighbor_attr_set_data ( & attr_timestamp , @@a1@@ , & @@v3@@ ) ; if ( @@v6@@ || ( @@result@@ = @@v4@@ , @@v7@@ != @@v4@@ ) ) { @@result@@ = ( __int64 ) subscriber_callback ; if ( subscriber_callback ) @@result@@ = subscriber_callback ( @@a1@@ , Number L , @@v4@@ ) ; } } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int16", "s": 2}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v7", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s1"}, {"n": "v5", "t": {"T": 3, "t": "char"}, "location": "s16"}, {"n": "v4", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s17"}, {"n": "v3", "t": {"T": 1, "n": "__time_t", "s": 8}, "location": "s32"}, {"n": "v6", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8"}]}