{"name": "cputsn", "code": "__int64 __fastcall cputsn ( _BYTE * @@a1@@ , unsigned __int8 @@a2@@ ) { unsigned __int8 @@i@@ ; for ( @@i@@ = Number ; @@i@@ < @@a2@@ && * @@a1@@ ; ++ @@i@@ ) console_cputc ( ( unsigned int ) ( char ) * @@a1@@ ++ ) ; return @@i@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_BYTE"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "r64"}, {"n": "i", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s1"}]}
{"name": "draw_widget", "code": "__int64 __fastcall draw_widget ( __int64 @@a1@@ , char @@a2@@ , char @@a3@@ , __int64 @@a4@@ , __int64 @@a5@@ , unsigned __int8 @@a6@@ , unsigned __int8 @@a7@@ , char @@a8@@ ) { __int64 result ; bool v9 ; unsigned __int8 @@v12@@ ; char @@v13@@ ; _BYTE * v14 ; _BYTE * v15 ; char @@v16@@ ; unsigned __int8 i ; unsigned __int8 j ; unsigned __int8 v19 ; unsigned __int8 k ; unsigned __int8 v21 ; unsigned __int8 @@v22@@ ; unsigned __int8 @@v23@@ ; @@v13@@ = Number ; if ( ( @@a8@@ & Number ) != Number ) { textcolor ( Number L ) ; if ( ( @@a8@@ & Number ) != Number ) { textcolor ( Number L ) ; @@v13@@ = Number ; } } else { textcolor ( Number L ) ; } @@v12@@ = * ( _BYTE * ) ( @@a1@@ + Number ) + @@a2@@ ; @@v23@@ = * ( _BYTE * ) ( @@a1@@ + Number ) + @@a3@@ ; result = * ( unsigned __int8 * ) ( @@a1@@ + Number ) ; switch ( * ( _BYTE * ) ( @@a1@@ + Number ) ) { case Number : result = @@v23@@ ; if ( @@v23@@ >= @@a6@@ ) { result = @@v23@@ ; if ( @@v23@@ < @@a7@@ ) result = chlinexy ( @@v12@@ , @@v23@@ , * ( unsigned __int8 * ) ( @@a1@@ + Number ) ) ; } break ; case Number : v14 = * ( _BYTE * * ) ( @@a1@@ + Number ) ; for ( i = Number ; ; ++ i ) { result = * ( unsigned __int8 * ) ( @@a1@@ + Number ) ; if ( i >= ( unsigned __int8 ) result ) break ; if ( @@v23@@ >= @@a6@@ && @@v23@@ < @@a7@@ ) { gotoxy ( @@v12@@ , @@v23@@ ) ; v19 = cputsn ( v14 , * ( _BYTE * ) ( @@a1@@ + Number ) ) ; if ( * ( unsigned __int8 * ) ( @@a1@@ + Number ) - v19 > Number ) cclear ( ( unsigned __int8 ) ( * ( _BYTE * ) ( @@a1@@ + Number ) - v19 ) ) ; } ++ @@v23@@ ; v14 += * ( unsigned __int8 * ) ( @@a1@@ + Number ) ; } break ; case Number : result = @@v23@@ ; if ( @@v23@@ >= @@a6@@ ) { result = @@v23@@ ; if ( @@v23@@ < @@a7@@ ) { revers ( @@v13@@ != Number ) ; cputcxy ( @@v12@@ , @@v23@@ , Number L ) ; cputsn ( * ( _BYTE * * ) ( @@a1@@ + Number ) , * ( _BYTE * ) ( @@a1@@ + Number ) ) ; console_cputc ( Number L ) ; result = revers ( Number L ) ; } } break ; case Number : result = @@v23@@ ; if ( @@v23@@ >= @@a6@@ ) { result = @@v23@@ ; if ( @@v23@@ < @@a7@@ ) { revers ( @@v13@@ == Number ) ; gotoxy ( @@v12@@ , @@v23@@ ) ; textcolor ( Number L ) ; cputsn ( * ( _BYTE * * ) ( @@a1@@ + Number ) , * ( _BYTE * ) ( @@a1@@ + Number ) ) ; result = revers ( Number L ) ; } } break ; case Number : v15 = * ( _BYTE * * ) ( @@a1@@ + Number ) ; @@v22@@ = Number ; if ( * ( unsigned __int8 * ) ( @@a1@@ + Number ) >= * ( unsigned __int8 * ) ( @@a1@@ + Number ) - Number ) @@v22@@ = * ( _BYTE * ) ( @@a1@@ + Number ) - * ( _BYTE * ) ( @@a1@@ + Number ) + Number ; for ( j = Number ; j < * ( _BYTE * ) ( @@a1@@ + Number ) ; ++ j ) { if ( @@v23@@ >= @@a6@@ && @@v23@@ < @@a7@@ ) { if ( * ( _BYTE * ) ( @@a1@@ + Number ) == Number && j == * ( _BYTE * ) ( @@a1@@ + Number ) ) { revers ( Number L ) ; cputcxy ( @@v12@@ , @@v23@@ , Number L ) ; @@v16@@ = Number ; for ( k = Number ; k < * ( _BYTE * ) ( @@a1@@ + Number ) ; ++ k ) { if ( @@v16@@ ) @@v16@@ = v15 [ k + @@v22@@ ] ; revers ( k == * ( unsigned __int8 * ) ( @@a1@@ + Number ) - @@v22@@ ) ; if ( @@v16@@ ) console_cputc ( ( unsigned int ) @@v16@@ ) ; else console_cputc ( Number L ) ; } revers ( Number L ) ; console_cputc ( Number L ) ; } else { v9 = @@v13@@ && j == * ( _BYTE * ) ( @@a1@@ + Number ) ; revers ( v9 ) ; cvlinexy ( @@v12@@ , @@v23@@ , Number L ) ; gotoxy ( ( unsigned __int8 ) ( @@v12@@ + Number ) , @@v23@@ ) ; v21 = cputsn ( v15 , * ( _BYTE * ) ( @@a1@@ + Number ) ) ; if ( * ( unsigned __int8 * ) ( @@a1@@ + Number ) - v21 > Number ) cclear ( ( unsigned __int8 ) ( * ( _BYTE * ) ( @@a1@@ + Number ) - v21 ) ) ; cvline ( Number L ) ; } } ++ @@v23@@ ; v15 += * ( unsigned __int8 * ) ( @@a1@@ + Number ) + Number ; } result = revers ( Number L ) ; break ; default : return result ; } return result ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "char", "s": 1}, "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": "char", "s": 1}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "a6", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "r80"}, {"n": "a7", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s-16"}, {"n": "a8", "t": {"T": 1, "n": "char", "s": 1}, "location": "s-24"}, {"n": "v23", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s1"}, {"n": "v13", "t": {"T": 1, "n": "char", "s": 1}, "location": "s17"}, {"n": "v12", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s18"}, {"n": "v22", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s2"}, {"n": "v16", "t": {"T": 1, "n": "char", "s": 1}, "location": "s5"}]}