{"name": "parse", "code": "_QWORD * __fastcall parse ( _QWORD * @@a1@@ , const char * @@a2@@ ) { __int64 v2 ; __int64 v3 ; void * @@ptr@@ ; __int64 @@v6@@ ; __int64 @@v7@@ ; __int64 @@v8@@ ; __int64 @@v9@@ ; const char * @@v10@@ ; const char * @@v11@@ ; __int64 @@v12@@ ; if ( @@a2@@ && ! ( unsigned __int8 ) string_equals_ignore_case ( @@a2@@ , & unk_368 ) ) { @@v6@@ = Number L ; @@v7@@ = Number L ; @@v8@@ = Number L ; @@v9@@ = Number L ; @@ptr@@ = ( void * ) string_duplicate ( @@a2@@ ) ; string_trim ( & @@ptr@@ ) ; @@v12@@ = string_n_split ( @@ptr@@ , Number L , String ) ; @@v11@@ = * ( const char * * ) @@v12@@ ; @@v10@@ = * ( const char * * ) ( @@v12@@ + Number ) ; if ( @@v10@@ ) { if ( ( int ) string_length ( @@v10@@ ) <= Number ) { @@v9@@ = @@v12@@ ; if ( ( unsigned __int8 ) string_equals_ignore_case ( @@v11@@ , String ) ) { HIDWORD ( @@v6@@ ) = Number ; @@v7@@ = * ( _QWORD * ) ( @@v12@@ + Number ) ; } else if ( ( unsigned __int8 ) string_equals_ignore_case ( @@v11@@ , String ) ) { HIDWORD ( @@v6@@ ) = Number ; @@v7@@ = * ( _QWORD * ) ( @@v12@@ + Number ) ; } else { if ( ! ( unsigned __int8 ) string_equals_ignore_case ( @@v11@@ , String ) ) { fprintf ( stderr , String , @@v11@@ ) ; * @@a1@@ = Number L ; @@a1@@ [ Number ] = Number L ; @@a1@@ [ Number ] = Number L ; @@a1@@ [ Number ] = Number L ; return @@a1@@ ; } HIDWORD ( @@v6@@ ) = Number ; @@v7@@ = * ( _QWORD * ) ( @@v12@@ + Number ) ; @@v8@@ = * ( _QWORD * ) ( @@v12@@ + Number ) ; } free ( @@ptr@@ ) ; v2 = @@v7@@ ; * @@a1@@ = @@v6@@ ; @@a1@@ [ Number ] = v2 ; v3 = @@v9@@ ; @@a1@@ [ Number ] = @@v8@@ ; @@a1@@ [ Number ] = v3 ; return @@a1@@ ; } fprintf ( stderr , String , @@v10@@ ) ; * @@a1@@ = Number L ; @@a1@@ [ Number ] = Number L ; @@a1@@ [ Number ] = Number L ; @@a1@@ [ Number ] = Number L ; } else { fprintf ( stderr , String , @@a2@@ ) ; * @@a1@@ = Number L ; @@a1@@ [ Number ] = Number L ; @@a1@@ [ Number ] = Number L ; @@a1@@ [ Number ] = Number L ; } } else { fwrite ( String , Number , Number , stderr ) ; * @@a1@@ = Number L ; @@a1@@ [ Number ] = Number L ; @@a1@@ [ Number ] = Number L ; @@a1@@ [ Number ] = Number L ; } return @@a1@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "const char"}, "location": "r64"}, {"n": "v11", "t": {"T": 3, "t": "const char"}, "location": "s16"}, {"n": "v10", "t": {"T": 3, "t": "const char"}, "location": "s24"}, {"n": "v9", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v8", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}, {"n": "v7", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s56"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s64"}, {"n": "ptr", "t": {"T": 3, "t": "void"}, "location": "s72"}, {"n": "v12", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}