{"name": "matcher_append", "code": "__int64 __fastcall matcher_append ( const char * @@a1@@ ) { int @@v2@@ ; __int64 @@v3@@ ; char @@v4@@ [ Number ] ; int @@v5@@ ; int @@v6@@ ; int @@v7@@ ; int @@i@@ ; @@v7@@ = strlen ( @@a1@@ ) ; @@v6@@ = Number ; if ( @@v7@@ > Number ) return Number ; if ( buff_offset + @@v7@@ <= Number ) { strcpy ( & buff [ buff_offset ] , @@a1@@ ) ; } else { strcpy ( buff , @@a1@@ ) ; buff_offset = Number ; } @@v5@@ = pcre_exec ( ) ; if ( @@v5@@ == Number ) puts ( buff ) ; if ( @@v5@@ < Number ) { last_match = buff_offset ; } else { if ( @@v5@@ ) @@v2@@ = @@v5@@ ; else @@v2@@ = @@v6@@ / Number ; @@v5@@ = @@v2@@ ; for ( @@i@@ = Number ; @@i@@ < @@v5@@ ; @@i@@ += Number ) { pcre_get_substring ( ) ; callback ( @@v3@@ , @@v4@@ ) ; pcre_free_substring ( ) ; last_match = Number * @@i@@ + Number ; } } buff_offset = @@v7@@ + buff_offset - last_match ; memmove ( buff , & buff [ last_match ] , buff_offset ) ; buff [ buff_offset ] = Number ; return Number L ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "const char"}, "location": "r56"}, {"n": "v2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r8"}, {"n": "v6", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v5", "t": {"T": 1, "n": "int", "s": 4}, "location": "s16"}, {"n": "v4", "t": {"T": 2, "n": 240, "s": 1, "t": "char"}, "location": "s256"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s264"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}, {"n": "v7", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8"}]}