  In this paper, we attempt to resolve the singularities of the zero variety of
a $C^{\infty}$ function of two variables as much as possible by using ordinary
blowings up. As a result, we formulate an algorithm to locally express the zero
variety in the ``almost'' normal crossings form, which is close to the normal
crossings form but may include flat functions. As an application, we
investigate analytic continuation of local zeta functions associated with
$C^{\infty}$ functions of two variables. As is well known, the
desingularization theorem of Hironaka implies that the local zeta functions
associated with real analytic functions admit the meromorphic continuation to
the whole complex plane. On the other hand, it is recently observed that the
local zeta function associated with a specific (non-real analytic) $C^{\infty}$
function has a singularity different from the pole. From this observation, the
following questions are naturally raised in the $C^{\infty}$ case: how wide the
meromorphically extendible region can be and what kinds of information
essentially determine this region? This paper shows that this region can be
described in terms of some kind of multiplicity of the zero variety of each
$C^{\infty}$ function. By using our blowings up algorithm, it suffices to
investigate local zeta functions in the almost normal crossings case. This case
can be effectively analyzed by using real analysis methods; in particular, a
van der Corput-type lemma plays a crucial role in the determination of the
above region.
