Preheat the oven to 350°F (180°C). Butter and flour a square baking pan about 8 or 9-inch (21cm).
Sift the rice flour, baking powder, baking soda, and cinnamon powder together. Set aside.
In a blender or food processor add corn, vanilla extract and milk. Process for 1 or 2 minutes at high and then set aside.
In a mixer bowl add butter and sugar. Beat for 5 minutes at high or until you’ll have a fluffy and pale cream.
Add one yolk and mix until combined, then add the other 2 yolks one at time and mixing between additions.
Pour in the oil and mix to combine.
Add to the bowl the flour mixture and mix.
Add the corn mixture and combine everything with a spatula.
Place egg whites and salt on a clean medium bowl, beat with your electric mixer at high until sift peaks form.
Add egg whites to the bowl with batter and gently fold in to combine everything. Make slow movements from down to up, so the eggs whites won’t deflate.
Place the batter on the baking pan you prepared before and use a spatula to level on top.
Bake from 50 to 60 minutes or until a tooth pick inserted in the middle comes out clean and the cake is browned on top.
Remove pan de elote from the oven and allow to rest for 5 minutes on the countertop, then carefully remove it from the baking dish and place it on a cooling rack.
I used rice flour for this recipe because it gives to this cake a very fluffy texture while staying moist. If you don't have rice flour you can sub with all purpose flour, just sift it twice to get rid of lumps and make it "airy".