{"name": "save_Materialfv", "code": "__int64 __fastcall save_Materialfv ( unsigned int @@a1@@ , unsigned int @@a2@@ , _DWORD * @@a3@@ ) { __int64 @@result@@ ; __int64 @@v5@@ ; __int64 @@v6@@ ; int @@v7@@ ; int i ; signed int j ; signed int @@v10@@ ; @@v6@@ = glapi_Context ; if ( @@a1@@ > Number ) { if ( @@a1@@ != Number ) return mesa_compile_error ( glapi_Context , Number L , String ) ; } else if ( @@a1@@ < Number ) { return mesa_compile_error ( glapi_Context , Number L , String ; } if ( @@a2@@ == Number ) { @@v10@@ = Number ; goto LABEL_18 ; } if ( @@a2@@ > Number ) return mesa_compile_error ( glapi_Context , Number L , String ) ; if ( @@a2@@ != Number ) { if ( @@a2@@ == Number ) { @@v10@@ = Number ; goto LABEL_18 ; } if ( @@a2@@ <= Number ) { if ( @@a2@@ < Number ) return mesa_compile_error ( glapi_Context , Number L , String ) ; goto LABEL_14 ; } if ( @@a2@@ != Number ) return mesa_compile_error ( glapi_Context , Number L , String ) ; } LABEL_14 : @@v10@@ = Number ; LABEL_18 : if ( * ( _BYTE * ) ( glapi_Context + Number L ) ) ( * ( void ( __fastcall * * ) ( _QWORD , _QWORD , _DWORD * ) ) ( * ( _QWORD * ) ( glapi_Context + Number L ) + Number L ) ) ( @@a1@@ , @@a2@@ , @@a3@@ ) ; @@result@@ = mesa_material_bitmask ( @@v6@@ , @@a1@@ , @@a2@@ , Number , Number L ) ; @@v7@@ = @@result@@ ; for ( i = Number ; i <= Number ; ++ i ) { @@result@@ = @@v7@@ & ( unsigned int ) ( Number << i ) ; if ( ! ( _DWORD ) @@result@@ ) continue ; if ( @@v10@@ == * ( unsigned __int8 * ) ( @@v6@@ + i + Number ) && compare4fv ( ( const void * ) ( Number * ( i + Number L ) + @@v6@@ + Number ) , @@a3@@ , @@v10@@ ) ) { @@result@@ = ( unsigned int ) ~ ( Number << i ) ; @@v7@@ &= @@result@@ ; continue ; } * ( _BYTE * ) ( @@v6@@ + i + Number ) = @@v10@@ ; if ( @@v10@@ == Number ) { * ( _DWORD * ) ( Number L * i + @@v6@@ + Number ) = @@a3@@ [ Number ] ; } else if ( @@v10@@ != Number ) { goto LABEL_30 ; } * ( _DWORD * ) ( Number L * i + @@v6@@ + Number ) = @@a3@@ [ Number ] ; * ( _DWORD * ) ( Number L * i + @@v6@@ + Number ) = @@a3@@ [ Number ] ; LABEL_30 : @@result@@ = Number * ( i + Number L ) + @@v6@@ + Number ; * ( _DWORD * ) @@result@@ = * @@a3@@ ; } if ( @@v7@@ ) { if ( * ( _DWORD * ) ( @@v6@@ + Number ) ) ( * ( void ( __fastcall * * ) ( __int64 ) ) ( @@v6@@ + Number ) ) ( @@v6@@ ) ; @@result@@ = ( __int64 ) alloc_instruction ( @@v6@@ , Number , Number ) ; @@v5@@ = @@result@@ ; if ( @@result@@ ) { * ( _DWORD * ) ( @@result@@ + Number ) = @@a1@@ ; * ( _DWORD * ) ( @@result@@ + Number ) = @@a2@@ ; for ( j = Number ; ; ++ j ) { @@result@@ = ( unsigned int ) j ; if ( j >= @@v10@@ ) break ; * ( _DWORD * ) ( Number L * ( j + Number ) + @@v5@@ ) = @@a3@@ [ j ] ; } } } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "_DWORD"}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v7", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v10", "t": {"T": 1, "n": "signed int", "s": 4}, "location": "s4"}]}
{"name": "alloc_instruction", "code": "unsigned int * __fastcall alloc_instruction ( __int64 @@a1@@ , unsigned int @@a2@@ , int @@a3@@ ) { return dlist_alloc ( @@a1@@ , @@a2@@ , Number * @@a3@@ ) ; }", "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": "unsigned int", "s": 4}, "location": "r64"}]} {"name": "compare4fv", "code": "bool __fastcall compare4fv ( const void * @@a1@@ , const void * @@a2@@ , unsigned int @@a3@@ ) { return memcmp ( @@a1@@ , @@a2@@ , Number L * @@a3@@ ) == Number ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "const void"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "const void"}, "location": "r64"}]} {"name": "_mesa_save_vtxfmt_init", "code": "_QWORD * __fastcall mesa_save_vtxfmt_init ( _QWORD * @@a1@@ ) { _QWORD * @@result@@ ; * @@a1@@ = & ae_ArrayElement ; @@a1@@ [ Number ] = save_Begin ; @@a1@@ [ Number ] = save_CallList ; @@a1@@ [ Number ] = save_CallLists ; @@a1@@ [ Number ] = save_Color3f ; @@a1@@ [ Number ] = save_Color3fv ; @@a1@@ [ Number ] = save_Color4f ; @@a1@@ [ Number ] = save_Color4fv ; @@a1@@ [ Number ] = save_EdgeFlag ; @@a1@@ [ Number ] = save_End ; @@a1@@ [ Number ] = save_EvalCoord1f ; @@a1@@ [ Number ] = save_EvalCoord1fv ; @@a1@@ [ Number ] = save_EvalCoord2f ; @@a1@@ [ Number ] = save_EvalCoord2fv ; @@a1@@ [ Number ] = save_EvalPoint1 ; @@a1@@ [ Number ] = save_EvalPoint2 ; @@a1@@ [ Number ] = save_EvalMesh1 ; @@a1@@ [ Number ] = save_EvalMesh2 ; @@a1@@ [ Number ] = save_FogCoordfEXT ; @@a1@@ [ Number ] = save_FogCoordfvEXT ; @@a1@@ [ Number ] = save_Indexf ; @@a1@@ [ Number ] = save_Indexfv ; @@a1@@ [ Number ] = save_Materialfv ; @@a1@@ [ Number ] = save_MultiTexCoord1f ; @@a1@@ [ Number ] = save_MultiTexCoord1fv ; @@a1@@ [ Number ] = save_MultiTexCoord2f ; @@a1@@ [ Number ] = save_MultiTexCoord2fv ; @@a1@@ [ Number ] = save_MultiTexCoord3f ; @@a1@@ [ Number ] = save_MultiTexCoord3fv ; @@a1@@ [ Number ] = save_MultiTexCoord4f ; @@a1@@ [ Number ] = save_MultiTexCoord4fv ; @@a1@@ [ Number ] = save_Normal3f ; @@a1@@ [ Number ] = save_Normal3fv ; @@a1@@ [ Number ] = save_SecondaryColor3fEXT ; @@a1@@ [ Number ] = save_SecondaryColor3fvEXT ; @@a1@@ [ Number ] = save_TexCoord1f ; @@a1@@ [ Number ] = save_TexCoord1fv ; @@a1@@ [ Number ] = save_TexCoord2f ; @@a1@@ [ Number ] = save_TexCoord2fv ; @@a1@@ [ Number ] = save_TexCoord3f ; @@a1@@ [ Number ] = save_TexCoord3fv ; @@a1@@ [ Number ] = save_TexCoord4f ; @@a1@@ [ Number ] = save_TexCoord4fv ; @@a1@@ [ Number ] = save_Vertex2f ; @@a1@@ [ Number ] = save_Vertex2fv ; @@a1@@ [ Number ] = save_Vertex3f ; @@a1@@ [ Number ] = save_Vertex3fv ; @@a1@@ [ Number ] = save_Vertex4f ; @@a1@@ [ Number ] = save_Vertex4fv ; @@a1@@ [ Number ] = save_VertexAttrib1fNV ; @@a1@@ [ Number ] = save_VertexAttrib1fvNV ; @@a1@@ [ Number ] = save_VertexAttrib2fNV ; @@a1@@ [ Number ] = save_VertexAttrib2fvNV ; @@a1@@ [ Number ] = save_VertexAttrib3fNV ; @@a1@@ [ Number ] = save_VertexAttrib3fvNV ; @@a1@@ [ Number ] = save_VertexAttrib4fNV ; @@a1@@ [ Number ] = save_VertexAttrib4fvNV ; @@a1@@ [ Number ] = save_VertexAttrib1fARB ; @@a1@@ [ Number ] = save_VertexAttrib1fvARB ; @@a1@@ [ Number ] = save_VertexAttrib2fARB ; @@a1@@ [ Number ] = save_VertexAttrib2fvARB ; @@a1@@ [ Number ] = save_VertexAttrib3fARB ; @@a1@@ [ Number ] = save_VertexAttrib3fvARB ; @@a1@@ [ Number ] = save_VertexAttrib4fARB ; @@a1@@ [ Number ] = save_VertexAttrib4fvARB ; @@result@@ = @@a1@@ ; @@a1@@ [ Number ] = save_Rectf ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "result", "t": {"T": 3, "t": "_QWORD"}, "location": "r8"}]}