Detect xeno's in-game method

xeno modifies a module called “VRNavigation” (that is accessible by game scripts) for their in-game method
they spoof the module with PlayerListManager (not accessible by game scripts)
we can detect this with a module accessibility check

local function isModuleAccessible(moduleName, timeout)
    local startTime = os.clock()
    local thread = coroutine.create(function()
        return pcall(require, moduleName)
    end)

    local success, module
    local elapsed = 0

    while coroutine.status(thread) ~= "dead" and elapsed < timeout do
        local resumed, result, err = coroutine.resume(thread)
        if not resumed then
            return false
        end
        success, module = result, err
        elapsed = os.clock() - startTime
        task.wait(0.1)
    end

    if coroutine.status(thread) ~= "dead" then
        return false
    elseif success then
        return true
    else
        return false
    end
end

local function crash()
    task.spawn(function() while true do crash() end end)
end

while true do
    coroutine.wrap(function()
        local accessible = isModuleAccessible(game.StarterPlayer.StarterPlayerScripts:WaitForChild("PlayerModule").ControlModule.VRNavigation, 1.7)
        if accessible == false then
            crash()
        end
    end)()
    wait(0.1)
end