{"name": "get_match_length", "code": "__int64 __fastcall get_match_length ( __int64 @@a1@@ , __int64 @@a2@@ ) { unsigned __int8 @@v3@@ ; char @@v4@@ ; unsigned __int8 @@j@@ ; unsigned __int8 @@i@@ ; @@v3@@ = Number ; for ( @@i@@ = Number ; @@i@@ <= Number ; ++ @@i@@ ) { if ( * ( _BYTE * ) ( @@a1@@ + @@i@@ ) != * ( _BYTE * ) ( @@a2@@ + @@i@@ ) ) { @@v4@@ = * ( _BYTE * ) ( @@a1@@ + @@i@@ ) ^ * ( _BYTE * ) ( @@a2@@ + @@i@@ ) ; for ( @@j@@ = Number ; @@j@@ <= Number && @@v4@@ >= Number ; ++ @@j@@ ) { ++ @@v3@@ ; @@v4@@ *= Number ; } return @@v3@@ ; } @@v3@@ += Number ; } return @@v3@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "i", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s1"}, {"n": "j", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s2"}, {"n": "v4", "t": {"T": 1, "n": "char", "s": 1}, "location": "s3"}, {"n": "v3", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s4"}]}
{"name": "uip_ds6_select_src", "code": "__int64 __fastcall uip_ds6_select_src ( __int64 @@a1@@ , _BYTE * @@a2@@ ) { __int64 @@result@@ ; __int64 @@v3@@ ; unsigned __int8 @@v4@@ ; __int64 @@v5@@ ; unsigned __int8 @@v6@@ ; @@v6@@ = Number ; @@v5@@ = Number L ; if ( * @@a2@@ == Number && @@a2@@ [ Number ] == Number || * @@a2@@ == Number ) { @@v5@@ = uip_ds6_get_link_local ( Number ) ; } else { for ( locaddr = ( __int64 ) byte_422C58 ; locaddr < ( unsigned __int64 ) byte_422CD0 ; locaddr += Number L ) { if ( * ( _BYTE * ) locaddr && * ( _BYTE * ) ( locaddr + Number ) == Number && ( * ( _BYTE * ) ( locaddr + Number ) != Number || * ( _BYTE * ) ( locaddr + Number ) != Number ) ) { @@v4@@ = get_match_length ( @@a2@@ , locaddr + Number ) ; if ( @@v4@@ >= @@v6@@ ) { @@v6@@ = @@v4@@ ; @@v5@@ = locaddr ; } } } } if ( @@v5@@ ) { @@v3@@ = * ( _QWORD * ) ( @@v5@@ + Number ) ; @@result@@ = * ( _QWORD * ) ( @@v5@@ + Number ) ; * ( _QWORD * ) @@a1@@ = @@result@@ ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@v3@@ ; } else { * ( _WORD * ) @@a1@@ = Number ; * ( _WORD * ) ( @@a1@@ + Number ) = Number ; * ( _WORD * ) ( @@a1@@ + Number ) = Number ; * ( _WORD * ) ( @@a1@@ + Number ) = Number ; * ( _WORD * ) ( @@a1@@ + Number ) = Number ; * ( _WORD * ) ( @@a1@@ + Number ) = Number ; * ( _WORD * ) ( @@a1@@ + Number ) = Number ; @@result@@ = @@a1@@ ; * ( _WORD * ) ( @@a1@@ + Number ) = Number ; } return @@result@@ ; }", "source": [{"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_BYTE"}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v6", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s1"}, {"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v4", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s17"}]}