{"name": "glutDestroyMenu", "code": "void __fastcall glutDestroyMenu ( int @@a1@@ ) { void * * @@v1@@ ; _QWORD * @@v2@@ ; void * * @@ptr@@ ; @@v2@@ = ( _QWORD * ) _glutGetMenuByNum ( @@a1@@ ) ; if ( _glutMappedMenu ) menuModificationError ( ) ; if ( * ( _DWORD * ) @@v2@@ != @@a1@@ - Number ) _assert_fail ( String , String , Number , String ) ; XDestroySubwindows ( _glutDisplay , @@v2@@ [ Number ] ) ; XDestroyWindow ( _glutDisplay , @@v2@@ [ Number ] ) ; * ( ( _QWORD * ) menuList + @@a1@@ - Number ) = Number L ; for ( @@ptr@@ = ( void * * ) @@v2@@ [ Number ] ; @@ptr@@ ; @@ptr@@ = @@v1@@ ) { if ( @@v2@@ != @@ptr@@ [ Number ] ) _assert_fail ( String , String , Number , String ) ; @@v1@@ = ( void * * ) @@ptr@@ [ Number ] ; free ( @@ptr@@ [ Number ] ) ; free ( @@ptr@@ ) ; } if ( @@v2@@ == ( _QWORD * ) _glutCurrentMenu ) _glutCurrentMenu = Number L ; free ( @@v2@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "v2", "t": {"T": 3, "t": "_QWORD"}, "location": "s16"}, {"n": "v1", "t": {"T": 3, "t": "void *"}, "location": "s24"}, {"n": "ptr", "t": {"T": 3, "t": "void *"}, "location": "s8"}]}
{"name": "glutGetMenu", "code": "__int64 glutGetMenu ( ) { __int64 @@result@@ ; if ( _glutCurrentMenu ) @@result@@ = ( unsigned int ) ( * ( _DWORD * ) _glutCurrentMenu + Number ) ; else @@result@@ = Number L ; return @@result@@ ; }", "source": [{"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]}