{"name": "kallsyms__parse", "code": "__int64 __fastcall kallsyms__parse ( const char * @@a1@@ , __int64 @@a2@@ , __int64 ( __fastcall * @@a3@@ ) ( __int64 , void * , _QWORD , __int64 , __int64 ) ) { int @@v3@@ ; char @@v6@@ ; char @@v7@@ ; unsigned int @@v8@@ ; int v9 ; int v10 ; int v11 ; int v12 ; int v13 ; char * @@lineptr@@ ; size_t @@n@@ ; __int64 @@v16@@ ; __int64 @@v17@@ ; __int64 @@v18@@ ; FILE * @@stream@@ ; void * @@dest@@ ; void * @@src@@ ; unsigned __int64 @@v22@@ ; @@v22@@ = __readfsqword ( Number ) ; @@lineptr@@ = Number L ; @@v8@@ = Number ; @@v17@@ = Number L ; @@v6@@ = Number ; @@stream@@ = fopen64 ( @@a1@@ , String ) ; if ( ! @@stream@@ ) return Number ; @@dest@@ = malloc ( Number ) ; if ( @@dest@@ ) { @@v8@@ = Number ; while ( ! feof ( @@stream@@ ) ) { v9 = getline ( & @@lineptr@@ , & @@n@@ , @@stream@@ ) ; if ( v9 < Number || ! @@lineptr@@ ) break ; v10 = v9 - Number ; @@lineptr@@ [ v10 ] = Number ; @@v3@@ = hex2u64 ( @@lineptr@@ , & @@v16@@ ) ; v11 = @@v3@@ + Number ; if ( v10 > @@v3@@ + Number ) { @@v7@@ = toupper ( @@lineptr@@ [ v11 ] ) ; v12 = v11 + Number ; @@src@@ = & @@lineptr@@ [ v12 ] ; v13 = v10 - v12 ; if ( v13 > Number ) { @@v8@@ = Number ; break ; } if ( @@v6@@ ) { @@v18@@ = @@v16@@ ; if ( @@v16@@ != @@v17@@ ) -- @@v18@@ ; @@v8@@ = @@a3@@ ( @@a2@@ , @@dest@@ , ( unsigned int ) @@v6@@ , @@v17@@ , @@v18@@ ) ; if ( @@v8@@ ) break ; } memcpy ( @@dest@@ , @@src@@ , v13 + Number ) ; @@v6@@ = @@v7@@ ; @@v17@@ = @@v16@@ ; } } free ( @@dest@@ ) ; free ( @@lineptr@@ ) ; } fclose ( @@stream@@ ) ; return @@v8@@ ; }", "source": [{"n": "a3", "t": {"T": 9, "n": "__int64 (__fastcall *)(__int64, void *, _QWORD, __int64, __int64)"}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "const char"}, "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": "src", "t": {"T": 3, "t": "void"}, "location": "s16"}, {"n": "dest", "t": {"T": 3, "t": "void"}, "location": "s24"}, {"n": "stream", "t": {"T": 3, "t": "FILE"}, "location": "s32"}, {"n": "v18", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v17", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}, {"n": "v16", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s56"}, {"n": "n", "t": {"T": 1, "n": "size_t", "s": 8}, "location": "s64"}, {"n": "lineptr", "t": {"T": 3, "t": "char"}, "location": "s72"}, {"n": "v22", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}, {"n": "v8", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s84"}, {"n": "v7", "t": {"T": 1, "n": "char", "s": 1}, "location": "s85"}, {"n": "v6", "t": {"T": 1, "n": "char", "s": 1}, "location": "s86"}]}