In a large bowl, mix flour, sugar, salt, and yeast.
Gradually add warm milk and mix until combined.
Knead the dough for about 5 minutes until smooth.
Shape the dough into a ball and let it rise for 1 hour.
Roll out the cold butter between parchment paper into a rectangle.
Roll the dough into a larger rectangle and place the butter in the center.
Fold the dough over the butter and seal the edges.
Roll out the dough again and fold it into thirds (like a letter).
Repeat the rolling and folding process two more times.
Cut the dough into triangles, roll them up, and shape into croissants.
Let the shaped croissants rise for 1 hour.
Brush with egg wash and bake at 400°F (200°C) for 20-25 minutes until golden brown.