{"name": "hist_browser__show_entry", "code": "__int64 __fastcall hist_browser__show_entry ( __int64 @@a1@@ , __int64 @@a2@@ , unsigned __int16 @@a3@@ ) { __int64 v3 ; double v4 ; __int64 v5 ; double @@v6@@ ; __int64 v7 ; double v8 ; __int64 v9 ; int v10 ; unsigned __int16 @@v12@@ ; unsigned __int8 @@v13@@ ; char @@v14@@ ; unsigned int @@v15@@ ; unsigned int @@v16@@ ; __int64 @@v17@@ ; double @@v18@@ ; char @@v19@@ [ Number ] ; unsigned __int64 @@v20@@ ; @@v12@@ = @@a3@@ ; @@v20@@ = __readfsqword ( Number ) ; @@v15@@ = Number ; @@v16@@ = * ( unsigned __int16 * ) ( @@a1@@ + Number ) - Number ; @@v14@@ = Number ; @@v13@@ = ui_browser__is_current_entry ( @@a1@@ , @@a3@@ ) ; @@v17@@ = * ( unsigned __int16 * ) ( @@a2@@ + Number ) ; if ( @@v13@@ ) { * ( _QWORD * ) ( @@a1@@ + Number ) = @@a2@@ ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@a2@@ + Number ; } if ( symbol_conf [ Number ] ) { hist_entry__init_have_children ( @@a2@@ ) ; @@v14@@ = hist_entry__folded ( @@a2@@ ) ; } if ( @@v17@@ ) { -- @@v17@@ ; } else { hist_entry__snprintf ( @@a2@@ , @@v19@@ , Number L , * ( _QWORD * ) ( @@a1@@ + Number ) ) ; v3 = * ( _QWORD * ) ( @@a2@@ + Number ) ; if ( v3 < Number ) { v5 = * ( _QWORD * ) ( @@a2@@ + Number ) & Number L | ( ( unsigned __int64 ) v3 >> Number ) ; v4 = ( double ) ( int ) v5 + ( double ) ( int ) v5 ; } else { v4 = ( double ) ( int ) v3 ; } @@v6@@ = Number * v4 ; v7 = * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; if ( v7 < Number ) { v9 = * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) & Number L | ( ( unsigned __int64 ) v7 >> Number ) ; v8 = ( double ) ( int ) v9 + ( double ) ( int ) v9 ; } else { v8 = ( double ) ( int ) v7 ; } @@v18@@ = @@v6@@ / v8 ; ui_browser__set_percent_color ( @@a1@@ , @@v13@@ , @@v6@@ / v8 ) ; ui_browser__gotorc ( @@a1@@ , @@v12@@ , Number L ) ; if ( symbol_conf [ Number ] ) { SLsmg_printf ( String , ( unsigned int ) @@v14@@ ) ; @@v16@@ -= Number ; } SLsmg_printf ( String , @@v18@@ ) ; if ( * ( _BYTE * ) ( @@a1@@ + Number ) != Number ) ++ @@v16@@ ; if ( @@v13@@ != Number || * ( _BYTE * ) ( @@a1@@ + Number ) != Number ) ui_browser__set_color ( @@a1@@ , Number L ) ; if ( symbol_conf [ Number ] ) { SLsmg_printf ( String , * ( unsigned int * ) ( @@a2@@ + Number ) ) ; @@v16@@ -= Number ; } if ( symbol_conf [ Number ] ) { SLsmg_printf ( String , * ( _QWORD * ) ( @@a2@@ + Number ) ) ; @@v16@@ -= Number ; } SLsmg_write_nstring ( @@v19@@ , @@v16@@ ) ; ++ @@v12@@ ; ++ @@v15@@ ; } if ( @@v14@@ == Number && @@v12@@ != * ( _WORD * ) ( @@a1@@ + Number ) ) { v10 = hist_browser__show_callchain ( @@a1@@ , @@a2@@ + Number , Number , @@v12@@ , & @@v17@@ , & @@v13@@ ) ; @@v15@@ += v10 ; if ( @@v13@@ ) * ( _QWORD * ) ( @@a1@@ + Number ) = @@a2@@ ; } return @@v15@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "r16"}, {"n": "v6", "t": {"T": 1, "n": "double", "s": 8}, "location": "r512"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v19", "t": {"T": 2, "n": 264, "s": 1, "t": "char"}, "location": "s272"}, {"n": "v18", "t": {"T": 1, "n": "double", "s": 8}, "location": "s280"}, {"n": "v17", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s288"}, {"n": "v16", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s292"}, {"n": "v15", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s296"}, {"n": "v14", "t": {"T": 1, "n": "char", "s": 1}, "location": "s297"}, {"n": "v13", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s298"}, {"n": "v12", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "s324"}, {"n": "v20", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}