{"name": "__glutMenuItemEnterOrLeave", "code": "__int64 __fastcall _glutMenuItemEnterOrLeave ( __int64 @@a1@@ , int @@a2@@ , int @@a3@@ ) { int v3 ; __int64 result ; __int64 @@v6@@ ; __int64 @@v7@@ ; int @@v8@@ ; @@v8@@ = Number ; if ( @@a3@@ == Number ) { @@v7@@ = * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; if ( @@v7@@ && @@v7@@ != @@a1@@ ) { * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) = Number L ; v3 = getMenuItemIndex ( @@v7@@ ) ; paintMenuItem ( @@v7@@ , v3 ) ; } * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) = @@a1@@ ; _glutItemSelected = @@a1@@ ; if ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) { if ( * ( _DWORD * ) ( @@a1@@ + Number ) && @@a1@@ == * ( _QWORD * ) ( * ( ( _QWORD * ) menuList + * ( int * ) ( @@a1@@ + Number ) ) + Number L ) ) { @@v8@@ = Number ; } else { unmapMenu ( * ( Window * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) ; * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) = Number L ; } } if ( ! @@v8@@ ) paintMenuItem ( @@a1@@ , @@a2@@ ) ; } else { if ( ! * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) || @@a1@@ != * ( _QWORD * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) ) { * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) = Number L ; paintMenuItem ( @@a1@@ , @@a2@@ ) ; } _glutItemSelected = Number L ; } result = * ( unsigned int * ) ( @@a1@@ + Number ) ; if ( ( _DWORD ) result && @@a3@@ == Number && ! @@v8@@ ) { @@v6@@ = * ( ( _QWORD * ) menuList + * ( int * ) ( @@a1@@ + Number ) ) ; mapMenu ( @@v6@@ , * ( _DWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + * ( _DWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number , * ( _DWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + ( @@a2@@ - Number ) * fontHeight + Number ) ; * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) = @@v6@@ ; result = @@v6@@ ; * ( _QWORD * ) ( @@v6@@ + Number ) = @@a1@@ ; } return result ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v7", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v8", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}]}
{"name": "unmapMenu", "code": "int __fastcall unmapMenu ( Window * @@a1@@ ) { if ( @@a1@@ [ Number ] ) { unmapMenu ( @@a1@@ [ Number ] ) ; @@a1@@ [ Number ] = Number L ; } @@a1@@ [ Number ] = Number L ; @@a1@@ [ Number ] = Number L ; return XUnmapWindow ( _glutDisplay , @@a1@@ [ Number ] ) ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "Window"}, "location": "r56"}]} {"name": "mapMenu", "code": "int __fastcall mapMenu ( __int64 @@a1@@ , int @@a2@@ , int @@a3@@ ) { XWindowChanges @@v5@@ ; XWindowChanges @@v6@@ ; Window * @@v7@@ ; int @@v8@@ ; int @@v9@@ ; unsigned int @@v10@@ ; if ( * ( int * ) ( @@a1@@ + Number ) <= Number ) @@v9@@ = Number ; else @@v9@@ = Number ; @@v6@@ . stack_mode = Number ; @@v10@@ = Number ; if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) { @@v7@@ = * ( Window * * ) ( @@a1@@ + Number ) ; @@v8@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; while ( @@v7@@ ) { @@v5@@ . y = ( @@v8@@ - Number ) * fontHeight + Number ; @@v5@@ . width = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v5@@ . width += @@v9@@ ; XConfigureWindow ( _glutDisplay , * @@v7@@ , Number , & @@v5@@ ) ; @@v7@@ = ( Window * ) @@v7@@ [ Number ] ; -- @@v8@@ ; } * ( _DWORD * ) ( @@a1@@ + Number ) = * ( _DWORD * ) ( @@a1@@ + Number ) * fontHeight + Number ; @@v6@@ . height = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v6@@ . width = * ( _DWORD * ) ( @@a1@@ + Number ) + Number + @@v9@@ + Number ; @@v10@@ |= Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } if ( @@a3@@ + * ( _DWORD * ) ( @@a1@@ + Number ) < _glutScreenHeight ) @@v6@@ . y = @@a3@@ ; else @@v6@@ . y = _glutScreenHeight - * ( _DWORD * ) ( @@a1@@ + Number ) ; if ( @@v9@@ + @@a2@@ + * ( _DWORD * ) ( @@a1@@ + Number ) < _glutScreenWidth ) @@v6@@ . x = @@a2@@ ; else @@v6@@ . x = _glutScreenWidth - * ( _DWORD * ) ( @@a1@@ + Number ) + @@v9@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v6@@ . x ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v6@@ . y ; XConfigureWindow ( _glutDisplay , * ( _QWORD * ) ( @@a1@@ + Number ) , @@v10@@ , & @@v6@@ ) ; XInstallColormap ( _glutDisplay , menuColormap ) ; XRaiseWindow ( _glutDisplay , * ( _QWORD * ) ( @@a1@@ + Number ) ) ; return XMapWindow ( _glutDisplay , * ( _QWORD * ) ( @@a1@@ + Number ) ) ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v5", "t": {"T": 6, "n": "XWindowChanges", "l": [{"T": 4, "n": "x", "t": "int", "s": 4}, {"T": 4, "n": "y", "t": "int", "s": 4}, {"T": 4, "n": "width", "t": "int", "s": 4}, {"T": 4, "n": "height", "t": "int", "s": 4}, {"T": 4, "n": "border_width", "t": "int", "s": 4}, {"T": 5, "s": 4}, {"T": 4, "n": "sibling", "t": "Window", "s": 8}, {"T": 4, "n": "stack_mode", "t": "int", "s": 4}, {"T": 5, "s": 4}]}, "location": "s112"}, {"n": "v8", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v7", "t": {"T": 3, "t": "Window"}, "location": "s24"}, {"n": "v10", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}, {"n": "v6", "t": {"T": 6, "n": "XWindowChanges", "l": [{"T": 4, "n": "x", "t": "int", "s": 4}, {"T": 4, "n": "y", "t": "int", "s": 4}, {"T": 4, "n": "width", "t": "int", "s": 4}, {"T": 4, "n": "height", "t": "int", "s": 4}, {"T": 4, "n": "border_width", "t": "int", "s": 4}, {"T": 5, "s": 4}, {"T": 4, "n": "sibling", "t": "Window", "s": 8}, {"T": 4, "n": "stack_mode", "t": "int", "s": 4}, {"T": 5, "s": 4}]}, "location": "s64"}, {"n": "v9", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8"}]} {"name": "paintMenuItem", "code": "int __fastcall paintMenuItem ( __int64 @@a1@@ , int @@a2@@ ) { int @@result@@ ; unsigned int @@v3@@ ; Drawable @@v4@@ ; int @@v5@@ ; struct _XGC * @@v6@@ ; @@v4@@ = * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; if ( * ( int * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) <= Number ) @@v5@@ = Number ; else @@v5@@ = Number ; if ( @@a1@@ == * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) @@v6@@ = whiteGC ; else @@v6@@ = ( struct _XGC * ) grayGC ; @@v3@@ = @@a2@@ * fontHeight + Number - menuFont -> descent ; XFillRectangle ( _glutDisplay , @@v4@@ , @@v6@@ , Number , @@v3@@ - fontHeight + menuFont -> descent , * ( _DWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + @@v5@@ , fontHeight ) ; XDrawString ( _glutDisplay , @@v4@@ , blackGC , Number , @@v3@@ , * ( const char * * ) ( @@a1@@ + Number ) , * ( _DWORD * ) ( @@a1@@ + Number ) ) ; @@result@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; if ( @@result@@ ) @@result@@ = paintSubMenuArrow ( @@v4@@ , * ( _WORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number , @@v3@@ ) ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "int", "s": 4}, "location": "r8"}, {"n": "v5", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v4", "t": {"T": 1, "n": "Drawable", "s": 8}, "location": "s24"}, {"n": "v3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s28"}, {"n": "v6", "t": {"T": 3, "t": "struct _XGC"}, "location": "s8"}]} {"name": "getMenuItemIndex", "code": "__int64 __fastcall getMenuItemIndex ( __int64 @@a1@@ ) { unsigned int @@v3@@ ; @@v3@@ = Number ; while ( @@a1@@ ) { ++ @@v3@@ ; @@a1@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; } return @@v3@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}]}