bool IBranchHandler.HandleSwitch(Int32Value switchIndex) { if (!switchIndex.AllBitsValid()) { return(false); } var instr = instructions[emulateIndex]; var targets = (Instruction[])instr.Operand; if (switchIndex.Value >= 0 && switchIndex.Value < targets.Length) { emulateIndex = instructions.IndexOf(targets[switchIndex.Value]); } else { emulateIndex++; } return(true); }