group->validate_point = &ec_GF2m_validate_point;
ECGroup_consGF2m(const mp_int *irr, const unsigned int irr_arr[5],				 const mp_int *curvea, const mp_int *curveb,				 const mp_int *genx, const mp_int *geny,				 const mp_int *order, int cofactor){	mp_err res = MP_OKAY;	ECGroup *group = NULL;	group = ECGroup_new();	if (group == NULL)		return NULL;	group->meth = GFMethod_consGF2m(irr, irr_arr);	if (group->meth == NULL) {		res = MP_MEM;		goto CLEANUP;	}	MP_CHECKOK(mp_copy(curvea, &group->curvea));	MP_CHECKOK(mp_copy(curveb, &group->curveb));	MP_CHECKOK(mp_copy(genx, &group->genx));	MP_CHECKOK(mp_copy(geny, &group->geny));	MP_CHECKOK(mp_copy(order, &group->order));	group->cofactor = cofactor;	group->point_add = &ec_GF2m_pt_add_aff;	group->point_sub = &ec_GF2m_pt_sub_aff;	group->point_dbl = &ec_GF2m_pt_dbl_aff;	group->point_mul = &ec_GF2m_pt_mul_mont;	group->base_point_mul = NULL;	group->points_mul = &ec_pts_mul_basic;  CLEANUP:	if (res != MP_OKAY) {		ECGroup_free(group);		return NULL;	}	return group;}