{"name": "show_available_vars", "code": "__int64 __fastcall show_available_vars ( __int64 @@a1@@ , int @@a2@@ , unsigned int @@a3@@ , const char * @@a4@@ , __int64 @@a5@@ , unsigned __int8 @@a6@@ ) { __int64 @@result@@ ; int @@i@@ ; int @@v12@@ ; __int64 @@v13@@ ; @@v12@@ = init_vmlinux ( ) ; if ( @@v12@@ < Number ) return ( unsigned int ) @@v12@@ ; @@v13@@ = open_debuginfo ( @@a4@@ ) ; if ( @@v13@@ ) { setup_pager ( ) ; for ( @@i@@ = Number ; @@i@@ < @@a2@@ && @@v12@@ >= Number ; ++ @@i@@ ) @@v12@@ = show_available_vars_at ( @@v13@@ , Number L * @@i@@ + @@a1@@ , @@a3@@ , @@a5@@ , @@a6@@ ) ; debuginfo__delete ( @@v13@@ ) ; @@result@@ = ( unsigned int ) @@v12@@ ; } else { eprintf ( Number L , String ) ; @@result@@ = Number L ; } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 3, "t": "const char"}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "a6", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "r80"}, {"n": "v13", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v12", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s24"}]}
{"name": "init_vmlinux", "code": "__int64 init_vmlinux ( ) { int @@v1@@ ; * ( ( _BYTE * ) & symbol_conf + Number ) = Number ; if ( * ( ( _QWORD * ) & symbol_conf + Number ) ) eprintf ( Number L , String , * ( ( const char * * ) & symbol_conf + Number ) ) ; else * ( ( _BYTE * ) & symbol_conf + Number ) = Number ; @@v1@@ = symbol__init ( ) ; if ( @@v1@@ >= Number ) { @@v1@@ = machine__init ( & machine , & unk_5925 , Number ) ; if ( @@v1@@ >= Number && ( int ) machine__create_kernel_maps ( & machine ) < Number ) eprintf ( Number L , String ) ; } else { eprintf ( Number L , String ) ; } if ( @@v1@@ < Number ) eprintf ( Number L , String ) ; return ( unsigned int ) @@v1@@ ; }", "source": [{"n": "v1", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}]} {"name": "open_debuginfo", "code": "__int64 __fastcall open_debuginfo ( const char * @@a1@@ ) { const char * @@v2@@ ; __int64 @@v3@@ ; if ( @@a1@@ && strchr ( @@a1@@ , Number ) ) return debuginfo__new ( @@a1@@ ) ; @@v3@@ = kernel_get_module_path ( @@a1@@ ) ; if ( @@v3@@ ) return debuginfo__new ( @@v3@@ ) ; @@v2@@ = @@a1@@ ; if ( ! @@a1@@ ) @@v2@@ = String ; eprintf ( Number L , String , @@v2@@ ) ; return Number L ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "const char"}, "location": "r56"}, {"n": "v2", "t": {"T": 3, "t": "const char"}, "location": "r8"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}]} {"name": "show_available_vars_at", "code": "__int64 __fastcall show_available_vars_at ( __int64 @@a1@@ , __int64 @@a2@@ , unsigned int @@a3@@ , __int64 @@a4@@ , unsigned __int8 @@a5@@ ) { int @@i@@ ; int @@v10@@ ; int @@v11@@ ; void * @@ptr@@ ; __int64 @@j@@ ; void * @@v14@@ ; __int64 @@v15@@ ; char * @@v16@@ ; unsigned __int64 @@v17@@ ; @@v17@@ = __readfsqword ( Number ) ; @@ptr@@ = Number L ; @@v14@@ = ( void * ) synthesize_perf_probe_point ( @@a2@@ + Number ) ; if ( ! @@v14@@ ) return Number L ; eprintf ( Number L , String , ( const char * ) @@v14@@ ) ; @@v11@@ = debuginfo__find_available_vars_at ( @@a1@@ , @@a2@@ , & @@ptr@@ , @@a3@@ , @@a5@@ ) ; if ( @@v11@@ > Number ) { fprintf ( stdout , String , ( const char * ) @@v14@@ ) ; for ( @@i@@ = Number ; @@i@@ < @@v11@@ ; ++ @@i@@ ) { @@v15@@ = ( __int64 ) @@ptr@@ + Number * @@i@@ ; fprintf ( stdout , String , * ( const char * * ) @@v15@@ , * ( _QWORD * ) ( @@v15@@ + Number ) ) ; free ( * ( void * * ) @@v15@@ ) ; @@v10@@ = Number ; if ( * ( _QWORD * ) ( @@v15@@ + Number ) ) { for ( @@j@@ = strlist__first ( * ( _QWORD * ) ( @@v15@@ + Number ) ) ; @@j@@ ; @@j@@ = strlist__next ( @@j@@ ) ) { @@v16@@ = strchr ( * ( const char * * ) ( @@j@@ + Number ) , Number ) + Number ; if ( ( unsigned __int8 ) strfilter__compare ( @@a4@@ , @@v16@@ ) ) { fprintf ( stdout , String , * ( const char * * ) ( @@j@@ + Number ) ) ; ++ @@v10@@ ; } } strlist__delete ( * ( _QWORD * ) ( @@v15@@ + Number ) ) ; } if ( ! @@v10@@ ) fwrite ( String , Number , Number , stdout ) ; } free ( @@ptr@@ ) ; } else { eprintf ( Number L , String , ( const char * ) @@v14@@ , ( unsigned int ) @@v11@@ ) ; } free ( @@v14@@ ) ; return ( unsigned int ) @@v11@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "r72"}, {"n": "v16", "t": {"T": 3, "t": "char"}, "location": "s16"}, {"n": "v15", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v14", "t": {"T": 3, "t": "void"}, "location": "s32"}, {"n": "j", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "ptr", "t": {"T": 3, "t": "void"}, "location": "s48"}, {"n": "v11", "t": {"T": 1, "n": "int", "s": 4}, "location": "s52"}, {"n": "v10", "t": {"T": 1, "n": "int", "s": 4}, "location": "s56"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s60"}, {"n": "v17", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}