func (a *Arch) RegDump(u uc.Unicorn) ([]RegVal, error) { regList := a.getRegList() if a.regEnums == nil { a.regEnums = make([]int, len(regList)) for i, r := range regList { a.regEnums[i] = r.Enum } } regs, err := u.RegReadBatch(a.regEnums) if err != nil { return nil, err } ret := make([]RegVal, len(regList)) for i, r := range regList { ret[i] = RegVal{r, regs[i]} } return ret, nil }