Weird bug related to tables and for loops

So, either im dumb or found a weird bug.

I have this module script which returns this table

Overhead = {
	["Simple"] = {
		group = 9116478,
		minrank = 255,
		userid = {0},
		picture = 0,
		sequence = ColorSequence.new(Color3.new(0.109804, 0.639216, 0.666667),Color3.new(0.164706, 1, 0.541176))
	},
	["Aiden"] = {
		group = 0,
		minrank = 1,
		userid = {189142313,81718700},
		picture = 4555772172,
		sequence = ColorSequence.new(Color3.new(0.109804, 0.639216, 0.666667),Color3.new(0.164706, 1, 0.541176))
	},
	["MIT"] = {
		group = 0,
		minrank = 1,
		userid = {315297322},
		picture = 5253970,
		sequence = ColorSequence.new(Color3.new(0.623529, 0.0196078, 0.666667),Color3.new(1, 0, 1))
	},
	["Southern"] = {
		group = 9116478,
		minrank = 254,
		userid = {0},
		picture = 0,
		sequence = ColorSequence.new(Color3.new(0.109804, 0.639216, 0.666667),Color3.new(0.164706, 1, 0.541176))
	},
	["AHOD - Low"] = {
		group = 9116478,
		minrank = 252,
		userid = {81718700},
		picture = 0,
		sequence = ColorSequence.new(Color3.new(0.109804, 0.639216, 0.666667),Color3.new(0.164706, 1, 0.541176))
	},
	["Management"] = {
		group = 9116478,
		minrank = 225,
		userid = {0},
		picture = 0,
		sequence = ColorSequence.new(Color3.new(0.109804, 0.639216, 0.666667),Color3.new(0.164706, 1, 0.541176))
	},
	["Developer"] = {
		group = 9116478,
		minrank = 218,
		userid = {0},
		picture = 0,
		sequence = ColorSequence.new(Color3.new(0.109804, 0.639216, 0.666667),Color3.new(0.164706, 1, 0.541176))
	},
	["Head of Staff"] = {
		group = 9116478,
		minrank = 208,
		userid = {0},
		picture = 318791109,
		sequence = ColorSequence.new(Color3.new(0.109804, 0.639216, 0.666667),Color3.new(0.164706, 1, 0.541176))
	},
	["Senior Admin"] = {
		group = 9116478,
		minrank = 205,
		userid = {0},
		picture = 318791109,
		sequence = ColorSequence.new(Color3.new(0.109804, 0.639216, 0.666667),Color3.new(0.164706, 1, 0.541176))
	},
	["Admin"] = {
		group = 9116478,
		minrank = 204,
		userid = {0},
		picture = 318791109,
		sequence = ColorSequence.new(Color3.new(0.109804, 0.639216, 0.666667),Color3.new(0.164706, 1, 0.541176))
	},
	["Senior Mod"] = {
		group = 9116478,
		minrank = 203,
		userid = {0},
		picture = 318791109,
		sequence = ColorSequence.new(Color3.new(0.109804, 0.639216, 0.666667),Color3.new(0.164706, 1, 0.541176))
	},
	["Mod"] = {
		group = 9116478,
		minrank = 201,
		userid = {318791109},
		picture = 318791109,
		sequence = ColorSequence.new(Color3.new(0.109804, 0.639216, 0.666667),Color3.new(0.164706, 1, 0.541176))
	},
	["TMod"] = {
		group = 9116478,
		minrank = 200,
		userid = {0},
		picture = 318791109,
		sequence = ColorSequence.new(Color3.new(0.109804, 0.639216, 0.666667),Color3.new(0.164706, 1, 0.541176))
	},
	["VIP"] = {
		group = 9116478,
		minrank = 24,
		userid = {0},
		picture = 0,
		sequence = ColorSequence.new(Color3.new(0.109804, 0.639216, 0.666667),Color3.new(0.164706, 1, 0.541176))
	}
}

i’ve done this thousands of times before and its worked fine, but for some reason, this is the script

function module.RequestRank(plr,pid)
	local num = 0
	for i,v in pairs(Overhead) do
		print(i)
		print(v)
		num += 1
		if plr:GetRankInGroup(v.group) >= v.minrank or table.find(v.userid,pid) then
			print(i)
			return i,v.picture,plr.Team.Name,v.sequence
		else
			
			if num == totalnum then
				return nil,nil,plr.Team.Name,nil
			end
		end
	end
end


function module.Run(plr)
	print("Hooked Player")
	local char = plr.Character
		local rank,picture,team,sequence = module.RequestRank(plr,plr.UserId)
		local GUI = script.Rank:Clone()
		GUI.User.Text = plr.Name
		GUI.Team.Text = team
		GUI.Team.TextColor3 = plr.TeamColor.Color

		if picture ~= nil then
			GUI.Special.RANKIMAGE.Image = "rbxassetid://"..picture
			GUI.Rank.Text = rank
			GUI.Special.Gr.Color = sequence
		else
			GUI.Special:Destroy()
			GUI.Rank:Destroy()
		end

		GUI.Parent = char.Head
end

And it skips like half of the table and gets to developer (Its suppose to be AHOD), i’ve worked with other developers and no one could figure out what was happening.
I am so confused with this, as i’ve said, i have done this thousands of times.

Please help if you have a solution.