def METHOD_NAME(self, msr_addr_start, random_order=False):
    msr_addr_range = 0x10000
    msr_addr_end = msr_addr_start + msr_addr_range
    self.logger.log(f'[*] Fuzzing MSRs in range 0x{msr_addr_start:08X}:0x{msr_addr_end:08X}..')
    it = 0
    if random_order:
        it_max = _NO_ITERATIONS_TO_FUZZ
    else:
        it_max = msr_addr_range
    while it < it_max:
        if random_order:
            msr_addr = random.randint(msr_addr_start, msr_addr_end)
        else:
            msr_addr = msr_addr_start + it
        if _FLUSH_LOG_EACH_MSR:
            self.logger.flush()
        if msr_addr not in _EXCLUDE_MSR:
            if _READ_MSR:
                self.logger.log(f'[*] rdmsr 0x{msr_addr:08X}')
                try:
                    (_, _) = self.cs.msr.read_msr(0, msr_addr)
                except:
                    pass
            self.logger.log(f'[*] wrmsr 0x{msr_addr:08X}')
            if _FUZZ_VALUE_0_all1s:
                try:
                    self.cs.msr.write_msr(0, msr_addr, 0, 0)
                except:
                    pass
                try:
                    self.cs.msr.write_msr(0, msr_addr, 0xFFFFFFFF, 0xFFFFFFFF)
                except:
                    pass
            if _FUZZ_VALUE_5A:
                try:
                    self.cs.msr.write_msr(0, msr_addr, 0x5A5A5A5A, 0x5A5A5A5A)
                except:
                    pass
            if _FUZZ_VALUE_RND:
                val_hi = random.randint(0, 0xFFFFFFFF)
                val_lo = random.randint(0, 0xFFFFFFFF)
                try:
                    self.cs.msr.write_msr(0, msr_addr, val_hi, val_lo)
                except:
                    pass
        it += 1
    return True