{"name": "dso__load_perf_map", "code": "__int64 __fastcall dso__load_perf_map ( __int64 @@a1@@ , __int64 @@a2@@ , unsigned int ( __fastcall * @@a3@@ ) ( __int64 , char * ) ) { int @@v3@@ ; unsigned int @@v6@@ ; int v7 ; int v8 ; int @@v9@@ ; char * @@lineptr@@ ; size_t @@n@@ ; __int64 @@v12@@ ; __int64 @@v13@@ ; FILE * @@stream@@ ; char * @@v15@@ ; unsigned __int64 @@v16@@ ; @@v16@@ = __readfsqword ( Number ) ; @@lineptr@@ = Number L ; @@v6@@ = Number ; @@stream@@ = fopen64 ( * ( const char * * ) ( @@a1@@ + Number ) , String ) ; if ( @@stream@@ ) { while ( Number ) { while ( Number ) { if ( feof ( @@stream@@ ) || ( v7 = getline ( & @@lineptr@@ , & @@n@@ , @@stream@@ ) , v7 < Number ) ) { free ( @@lineptr@@ ) ; fclose ( @@stream@@ ) ; return @@v6@@ ; } if ( ! @@lineptr@@ ) return Number ; v8 = v7 - Number ; @@lineptr@@ [ v8 ] = Number ; @@v3@@ = hex2u64 ( @@lineptr@@ , & @@v12@@ ) ; if ( v8 > @@v3@@ + Number ) { @@v9@@ = hex2u64 ( & @@lineptr@@ [ @@v3@@ + Number ] , & @@v13@@ ) + @@v3@@ + Number + Number ; if ( v8 > @@v9@@ + Number ) break ; } } @@v15@@ = symbol__new ( @@v12@@ , @@v13@@ , Number , & @@lineptr@@ [ @@v9@@ ] ) ; if ( ! @@v15@@ ) break ; if ( @@a3@@ && @@a3@@ ( @@a2@@ , @@v15@@ ) ) { symbol__delete ( ( __int64 ) @@v15@@ ) ; } else { symbols__insert ( ( __int64 * ) ( @@a1@@ + Number * ( * ( unsigned __int8 * ) ( @@a2@@ + Number ) + Number L ) ) , @@v15@@ ) ; ++ @@v6@@ ; } } free ( @@lineptr@@ ) ; } return Number ; }", "source": [{"n": "a3", "t": {"T": 9, "n": "unsigned int (__fastcall *)(__int64, char *)"}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r8"}, {"n": "v15", "t": {"T": 3, "t": "char"}, "location": "s16"}, {"n": "stream", "t": {"T": 3, "t": "FILE"}, "location": "s24"}, {"n": "v13", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v12", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "n", "t": {"T": 1, "n": "size_t", "s": 8}, "location": "s48"}, {"n": "lineptr", "t": {"T": 3, "t": "char"}, "location": "s56"}, {"n": "v9", "t": {"T": 1, "n": "int", "s": 4}, "location": "s60"}, {"n": "v6", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s68"}, {"n": "v16", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}