private void ParseFunctionSet(List<Event> retlist)
{
int eventTypeValue = this.br.ReadInt32();
int num = this.br.Read3F1();
List<Function> list = new List<Function>();
int arg_2F_0 = 0;
bool R;
int num2 = num - 1;
int num3 = arg_2F_0;
while (true)
{
int arg_1C3_0 = num3;
int num4 = num2;
if (arg_1C3_0 > num4)
{
break;
}
Function func = new Function();
func.FunctionType = this.br.ReadInt32();
this.br.Skip(8);
int num5 = this.br.ReadInt32(); // Reqs
bool flag = num5 > 0;
if (flag)
{
foreach (Requirement ur in this.ReadReqs(num5))
{
func.Requirements.Add(ur);
}
}
func.TickCount = this.br.ReadInt32();
func.TickInterval = (uint)this.br.ReadInt32();
func.Target = this.br.ReadInt32();
this.br.Skip(4);
R = false;
foreach (object oo in this.ParseArgs(func.FunctionType, ref R))
{
MessagePackObject x = MessagePackObject.FromObject(oo);
func.Arguments.Values.Add(x);
}
list.Add(func);
num3++;
}
Event aoe = new Event();
aoe.EventType = (EventType)Enum.ToObject(typeof(EventType), eventTypeValue);
foreach (Function ff in list)
{
aoe.Functions.Add(ff);
}
if (retlist == null)
{
retlist = new List<Event>();
}
retlist.Add(aoe);
}