{"name": "perf_evsel_menu__run", "code": "__int64 __fastcall perf_evsel_menu__run ( __int64 @@a1@@ , int @@a2@@ , __int64 @@a3@@ , void ( __fastcall * @@a4@@ ) ( __int64 ) , __int64 @@a5@@ , unsigned int @@a6@@ ) { int @@v11@@ ; _QWORD * @@v12@@ ; _QWORD * @@v13@@ ; __int64 @@v14@@ ; @@v13@@ = * ( _QWORD * * ) ( @@a1@@ + Number ) ; if ( ( int ) ui_browser__show ( @@a1@@ , String , String ) < Number ) return Number ; do { while ( Number ) { while ( Number ) { LABEL_3 : while ( Number ) { @@v11@@ = ui_browser__run ( @@a1@@ , @@a6@@ ) ; if ( @@v11@@ != Number ) break ; LABEL_18 : if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) { @@v12@@ = * ( _QWORD * * ) ( @@a1@@ + Number ) ; perf_evlist__set_selected ( @@v13@@ , @@v12@@ ) ; while ( Number ) { while ( Number ) { if ( @@a4@@ ) @@a4@@ ( @@a5@@ ) ; @@v14@@ = event_name ( @@v12@@ ) ; @@v11@@ = perf_evsel__hists_browse ( ( __int64 ) @@v12@@ , @@a2@@ , @@a3@@ , @@v14@@ , Number , @@a4@@ , @@a5@@ , @@a6@@ ) ; ui_browser__show_title ( @@a1@@ , String ) ; if ( @@v11@@ != Number ) break ; if ( ( _QWORD * ) @@v12@@ [ Number ] == @@v13@@ ) @@v12@@ = ( _QWORD * ) @@v13@@ [ Number ] ; else @@v12@@ = ( _QWORD * ) @@v12@@ [ Number ] ; perf_evlist__set_selected ( @@v13@@ , @@v12@@ ) ; } if ( @@v11@@ > Number ) break ; if ( @@v11@@ == Number ) goto LABEL_46 ; if ( @@v11@@ > Number ) break ; if ( @@v11@@ == Number ) { if ( ( unsigned __int8 ) ui_browser__dialog_yesno ( @@a1@@ , String ) == Number ) goto LABEL_46 ; goto LABEL_3 ; } if ( @@v11@@ > Number ) goto LABEL_3 ; if ( @@v11@@ == Number ) goto LABEL_46 ; if ( @@v11@@ != Number ) goto LABEL_3 ; if ( ( _QWORD * ) * @@v12@@ == @@v13@@ ) { @@v12@@ = ( _QWORD * ) * @@v13@@ ; perf_evlist__set_selected ( @@v13@@ , * @@v13@@ ) ; } else { @@v12@@ = ( _QWORD * ) * @@v12@@ ; perf_evlist__set_selected ( @@v13@@ , @@v12@@ ) ; } } } } if ( @@v11@@ <= Number && @@v11@@ != Number ) { if ( @@v11@@ == Number ) goto LABEL_46 ; if ( @@v11@@ <= Number ) break ; } } if ( @@v11@@ == Number ) break ; if ( @@v11@@ <= Number ) { if ( @@v11@@ == Number ) goto LABEL_18 ; if ( @@v11@@ <= Number ) { if ( @@v11@@ == Number ) { @@a4@@ ( @@a5@@ ) ; if ( * ( _BYTE * ) ( @@a1@@ + Number ) != Number ) { if ( * ( _BYTE * ) ( @@a1@@ + Number ) ) { ui_browser__warn_lost_events ( @@a1@@ ) ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; } } } else if ( @@v11@@ == Number ) { goto LABEL_46 ; } } } } } while ( ( unsigned __int8 ) ui_browser__dialog_yesno ( @@a1@@ , String ) != Number ) ; LABEL_46 : ui_browser__hide ( @@a1@@ ) ; return ( unsigned int ) @@v11@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a4", "t": {"T": 9, "n": "void (__fastcall *)(__int64)"}, "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": "a6", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r80"}, {"n": "v14", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}, {"n": "v13", "t": {"T": 3, "t": "_QWORD"}, "location": "s64"}, {"n": "v12", "t": {"T": 3, "t": "_QWORD"}, "location": "s72"}, {"n": "v11", "t": {"T": 1, "n": "int", "s": 4}, "location": "s76"}]}