Implemented a few more crt* functions.
Replaced most remaining stubs by forwards to msvcrt.

diff --git a/dlls/msvcrtd/debug.c b/dlls/msvcrtd/debug.c
index 1cbd660..0b09594 100644
--- a/dlls/msvcrtd/debug.c
+++ b/dlls/msvcrtd/debug.c
@@ -22,6 +22,10 @@
 
 WINE_DEFAULT_DEBUG_CHANNEL(msvcrt);
 
+int _crtAssertBusy = -1;
+int _crtBreakAlloc = -1;
+int _crtDbgFlag = 0;
+
 /*********************************************************************
  *		_CrtSetDumpClient (MSVCRTD.@)
  */
@@ -50,11 +54,23 @@
 
 
 /*********************************************************************
+ *		_CrtSetBreakAlloc (MSVCRTD.@)
+ */
+int _CrtSetBreakAlloc(int new)
+{
+    int old = _crtBreakAlloc;
+    _crtBreakAlloc = new;
+    return old;
+}
+
+/*********************************************************************
  *		_CrtSetDbgFlag (MSVCRTD.@)
  */
-int _CrtSetDbgFlag()
+int _CrtSetDbgFlag(int new)
 {
-    return 0;
+    int old = _crtDbgFlag;
+    _crtDbgFlag = new;
+    return old;
 }
 
 
@@ -73,3 +89,27 @@
 {
     return 0;
 }
+
+/*********************************************************************
+ *		__p__crtAssertBusy (MSVCRTD.@)
+ */
+int *__p__crtAssertBusy(void)
+{
+    return &_crtAssertBusy;
+}
+
+/*********************************************************************
+ *		__p__crtBreakAlloc (MSVCRTD.@)
+ */
+int *__p__crtBreakAlloc(void)
+{
+    return &_crtBreakAlloc;
+}
+
+/*********************************************************************
+ *		__p__crtDbgFlag (MSVCRTD.@)
+ */
+int *__p__crtDbgFlag(void)
+{
+    return &_crtDbgFlag;
+}
diff --git a/dlls/msvcrtd/msvcrtd.spec b/dlls/msvcrtd/msvcrtd.spec
index 4f61439..42b2dd9 100644
--- a/dlls/msvcrtd/msvcrtd.spec
+++ b/dlls/msvcrtd/msvcrtd.spec
@@ -79,7 +79,7 @@
 @ stub _CrtMemDumpAllObjectsSince
 @ stub _CrtMemDumpStatistics
 @ stub _CrtSetAllocHook
-@ stub _CrtSetBreakAlloc
+@ cdecl _CrtSetBreakAlloc(long)
 @ stub _CrtSetDbgBlockType
 @ cdecl _CrtSetDbgFlag(long)
 @ cdecl _CrtSetDumpClient(ptr)
@@ -95,28 +95,28 @@
 @ cdecl _Strftime(str long str ptr ptr) msvcrt._Strftime
 @ cdecl _XcptFilter(long ptr) msvcrt._XcptFilter
 @ cdecl -i386 __CxxFrameHandler(ptr ptr ptr ptr) msvcrt.__CxxFrameHandler
-@ stub __CxxLongjmpUnwind #(ptr) stdcall
+@ stdcall -i386 __CxxLongjmpUnwind(ptr) msvcrt.__CxxLongjmpUnwind
 @ cdecl __RTCastToVoid(ptr) msvcrt.__RTCastToVoid
 @ cdecl __RTDynamicCast(ptr long ptr ptr long) msvcrt.__RTDynamicCast
 @ cdecl __RTtypeid(ptr) msvcrt.__RTtypeid
-@ stub __STRINGTOLD #(ptr ptr str long)
+@ cdecl __STRINGTOLD(ptr ptr str long) msvcrt.__STRINGTOLD
 @ extern __argc msvcrt.__argc
 @ extern __argv msvcrt.__argv
-@ stub __badioinfo
-@ stub __crtCompareStringA
-@ stub __crtGetLocaleInfoW
+@ extern __badioinfo msvcrt.__badioinfo
+@ cdecl __crtCompareStringA(long long str long str long) msvcrt.__crtCompareStringA
+@ cdecl __crtGetLocaleInfoW(long long ptr long) msvcrt.__crtGetLocaleInfoW
 @ cdecl __crtLCMapStringA(long long str long ptr long long long) msvcrt.__crtLCMapStringA
 @ cdecl __dllonexit(ptr ptr ptr) msvcrt.__dllonexit
 @ cdecl __doserrno() msvcrt.__doserrno
-@ stub __fpecode #()
+@ cdecl __fpecode() msvcrt.__fpecode
 @ cdecl __getmainargs(ptr ptr ptr long ptr) msvcrt.__getmainargs
 @ extern __initenv msvcrt.__initenv
 @ cdecl __isascii(long) msvcrt.__isascii
 @ cdecl __iscsym(long) msvcrt.__iscsym
 @ cdecl __iscsymf(long) msvcrt.__iscsymf
-@ stub __lc_codepage
-@ stub __lc_collate_cp
-@ stub __lc_handle
+@ extern __lc_codepage msvcrt.__lc_codepage
+@ extern __lc_collate_cp msvcrt.__lc_collate_cp
+@ extern __lc_handle msvcrt.__lc_handle
 @ cdecl __lconv_init() msvcrt.__lconv_init
 @ extern __mb_cur_max msvcrt.__mb_cur_max
 @ cdecl __p___argc() msvcrt.__p___argc
@@ -126,33 +126,33 @@
 @ cdecl __p___wargv() msvcrt.__p___wargv
 @ cdecl __p___winitenv() msvcrt.__p___winitenv
 @ cdecl __p__acmdln() msvcrt.__p__acmdln
-@ stub __p__amblksiz #()
+@ cdecl __p__amblksiz() msvcrt.__p__amblksiz
 @ cdecl __p__commode() msvcrt.__p__commode
-@ stub __p__crtAssertBusy #()
-@ stub __p__crtBreakAlloc #()
-@ stub __p__crtDbgFlag  #()
+@ cdecl __p__crtAssertBusy()
+@ cdecl __p__crtBreakAlloc()
+@ cdecl __p__crtDbgFlag()
 @ cdecl __p__daylight() msvcrt.__p__daylight
-@ stub __p__dstbias #()
+@ cdecl __p__dstbias() msvcrt.__p__dstbias
 @ cdecl __p__environ() msvcrt.__p__environ
-@ stub __p__fileinfo #()
+@ cdecl __p__fileinfo() msvcrt.__p__fileinfo
 @ cdecl __p__fmode() msvcrt.__p__fmode
 @ cdecl __p__iob() msvcrt.__p__iob
-@ stub __p__mbcasemap #()
+@ cdecl __p__mbcasemap() msvcrt.__p__mbcasemap
 @ cdecl __p__mbctype() msvcrt.__p__mbctype
 @ cdecl __p__osver() msvcrt.__p__osver
 @ cdecl __p__pctype() msvcrt.__p__pctype
 @ cdecl __p__pgmptr() msvcrt.__p__pgmptr
-@ stub __p__pwctype #()
+@ cdecl __p__pwctype() msvcrt.__p__pwctype
 @ cdecl __p__timezone() msvcrt.__p__timezone
-@ stub __p__tzname #()
+@ cdecl __p__tzname() msvcrt.__p__tzname
 @ cdecl __p__wcmdln() msvcrt.__p__wcmdln
 @ cdecl __p__wenviron() msvcrt.__p__wenviron
 @ cdecl __p__winmajor() msvcrt.__p__winmajor
 @ cdecl __p__winminor() msvcrt.__p__winminor
 @ cdecl __p__winver() msvcrt.__p__winver
-@ stub __p__wpgmptr #()
-@ stub __pioinfo #()
-@ stub __pxcptinfoptrs #()
+@ cdecl __p__wpgmptr() msvcrt.__p__wpgmptr
+@ extern __pioinfo msvcrt.__pioinfo
+@ cdecl __pxcptinfoptrs() msvcrt.__pxcptinfoptrs
 @ cdecl __set_app_type(long) msvcrt.__set_app_type
 @ extern __setlc_active msvcrt.__setlc_active
 @ cdecl __setusermatherr(ptr) msvcrt.__setusermatherr
@@ -182,12 +182,12 @@
 @ cdecl _adj_fprem1() msvcrt._adj_fprem1
 @ cdecl _adj_fptan() msvcrt._adj_fptan
 @ cdecl _adjust_fdiv() msvcrt._adjust_fdiv
-@ stub _aexit_rtn
+@ extern _aexit_rtn msvcrt._aexit_rtn
 @ cdecl _amsg_exit(long) msvcrt._amsg_exit
 @ cdecl _assert(str str long) msvcrt._assert
-@ stub _atodbl #(ptr str)
+@ cdecl _atodbl(ptr str) msvcrt._atodbl
 @ cdecl -ret64 _atoi64(str) ntdll._atoi64
-@ stub _atoldbl #(ptr str)
+@ cdecl _atoldbl(ptr str) msvcrt._atoldbl
 @ cdecl _beep(long long) msvcrt._beep
 @ cdecl _beginthread (ptr long ptr) msvcrt._beginthread
 @ cdecl _beginthreadex (ptr long ptr ptr long ptr) msvcrt._beginthreadex
@@ -213,14 +213,14 @@
 @ varargs _cprintf(str) msvcrt._cprintf
 @ cdecl _cputs(str) msvcrt._cputs
 @ cdecl _creat(str long) msvcrt._creat
-@ stub _crtAssertBusy #()
-@ stub _crtBreakAlloc #()
-@ stub _crtDbgFlag #()
+@ extern _crtAssertBusy
+@ extern _crtBreakAlloc
+@ extern _crtDbgFlag
 @ varargs _cscanf(str) msvcrt._cscanf
 @ extern _ctype msvcrt._ctype
 @ cdecl _cwait(ptr long long) msvcrt._cwait
 @ extern _daylight msvcrt._daylight
-@ stub _dstbias
+@ extern _dstbias msvcrt._dstbias
 @ cdecl _dup (long) msvcrt._dup
 @ cdecl _dup2 (long long) msvcrt._dup2
 @ cdecl _ecvt( double long ptr ptr) msvcrt._ecvt
@@ -232,9 +232,9 @@
 @ cdecl _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2
 @ cdecl _except_handler3(ptr ptr ptr ptr) msvcrt._except_handler3
 @ varargs _execl(str str) msvcrt._execl
-@ stub _execle #(str str) varargs
+@ varargs _execle(str str) msvcrt._execle
 @ varargs _execlp(str str) msvcrt._execlp
-@ stub _execlpe #(str str) varargs
+@ varargs _execlpe(str str) msvcrt._execlpe
 @ cdecl _execv(str str) msvcrt._execv
 @ cdecl _execve(str str str) msvcrt._execve
 @ cdecl _execvp(str str) msvcrt._execvp
@@ -248,21 +248,21 @@
 @ cdecl _fgetchar() msvcrt._fgetchar
 @ cdecl _fgetwchar() msvcrt._fgetwchar
 @ cdecl _filbuf(ptr) msvcrt._filbuf
-@ stub _fileinfo
+@ extern _fileinfo msvcrt._fileinfo
 @ cdecl _filelength(long) msvcrt._filelength
-@ stub _filelengthi64 #(long)
+@ cdecl -ret64 _filelengthi64(long) msvcrt._filelengthi64
 @ cdecl _fileno(ptr) msvcrt._fileno
 @ cdecl _findclose(long) msvcrt._findclose
 @ cdecl _findfirst(str ptr) msvcrt._findfirst
-@ stub _findfirsti64 #(str ptr)
+@ cdecl _findfirsti64(str ptr) msvcrt._findfirsti64
 @ cdecl _findnext(long ptr) msvcrt._findnext
-@ stub _findnexti64 #(long ptr)
+@ cdecl _findnexti64(long ptr) msvcrt._findnexti64
 @ cdecl _finite( double ) msvcrt._finite
 @ cdecl _flsbuf(long ptr) msvcrt._flsbuf
 @ cdecl _flushall() msvcrt._flushall
 @ extern _fmode msvcrt._fmode
 @ cdecl _fpclass(double) msvcrt._fpclass
-@ stub _fpieee_flt #(long ptr ptr)
+@ cdecl _fpieee_flt(long ptr ptr) msvcrt._fpieee_flt
 @ cdecl _fpreset() msvcrt._fpreset
 @ cdecl _fputchar(long) msvcrt._fputchar
 @ cdecl _free_dbg(ptr) msvcrt.free
@@ -276,7 +276,7 @@
 @ cdecl _futime(long ptr) msvcrt._futime
 @ cdecl _gcvt( double long str) msvcrt._gcvt
 @ cdecl _get_osfhandle(long) msvcrt._get_osfhandle
-@ stub _get_sbh_threshold #()
+@ cdecl _get_sbh_threshold() msvcrt._get_sbh_threshold
 @ cdecl _getch() msvcrt._getch
 @ cdecl _getche() msvcrt._getche
 @ cdecl _getcwd(str long) msvcrt._getcwd
@@ -285,10 +285,10 @@
 @ cdecl _getdllprocaddr(long str long) msvcrt._getdllprocaddr
 @ cdecl _getdrive() msvcrt._getdrive
 @ cdecl _getdrives() kernel32.GetLogicalDrives
-@ stub _getmaxstdio #()
+@ cdecl _getmaxstdio() msvcrt._getmaxstdio
 @ cdecl _getmbcp() msvcrt._getmbcp
 @ cdecl _getpid() kernel32.GetCurrentProcessId
-@ stub _getsystime #(ptr)
+@ cdecl _getsystime(ptr) msvcrt._getsystime
 @ cdecl _getw(ptr) msvcrt._getw
 @ cdecl _getws(ptr) msvcrt._getws
 @ cdecl _global_unwind2(ptr) msvcrt._global_unwind2
@@ -296,28 +296,28 @@
 @ cdecl _heapchk() msvcrt._heapchk
 @ cdecl _heapmin() msvcrt._heapmin
 @ cdecl _heapset(long) msvcrt._heapset
-@ stub _heapused #(ptr ptr)
+@ cdecl _heapused(ptr ptr) msvcrt._heapused
 @ cdecl _heapwalk(ptr) msvcrt._heapwalk
 @ cdecl _hypot(double double) hypot
 @ cdecl _i64toa(long long ptr long) ntdll._i64toa
 @ cdecl _i64tow(long long ptr long) ntdll._i64tow
 @ cdecl _initterm(ptr ptr) msvcrt._initterm
-@ stub _inp #(long) -i386
-@ stub _inpd #(long) -i386
-@ stub _inpw #(long) -i386
+@ cdecl -i386 _inp(long) msvcrt._inp
+@ cdecl -i386 _inpd(long) msvcrt._inpd
+@ cdecl -i386 _inpw(long) msvcrt._inpw
 @ extern _iob msvcrt._iob
 @ cdecl _isatty(long) msvcrt._isatty
 @ cdecl _isctype(long long) msvcrt._isctype
-@ stub _ismbbalnum #(long)
-@ stub _ismbbalpha #(long)
-@ stub _ismbbgraph #(long)
-@ stub _ismbbkalnum #(long)
+@ cdecl _ismbbalnum(long) msvcrt._ismbbalnum
+@ cdecl _ismbbalpha(long) msvcrt._ismbbalpha
+@ cdecl _ismbbgraph(long) msvcrt._ismbbgraph
+@ cdecl _ismbbkalnum(long) msvcrt._ismbbkalnum
 @ cdecl _ismbbkana(long) msvcrt._ismbbkana
-@ stub _ismbbkprint #(long)
-@ stub _ismbbkpunct #(long)
+@ cdecl _ismbbkprint(long) msvcrt._ismbbkprint
+@ cdecl _ismbbkpunct(long) msvcrt._ismbbkpunct
 @ cdecl _ismbblead(long) msvcrt._ismbblead
-@ stub _ismbbprint #(long)
-@ stub _ismbbpunct #(long)
+@ cdecl _ismbbprint(long) msvcrt._ismbbprint
+@ cdecl _ismbbpunct(long) msvcrt._ismbbpunct
 @ cdecl _ismbbtrail(long) msvcrt._ismbbtrail
 @ cdecl _ismbcalnum(long) msvcrt._ismbcalnum
 @ cdecl _ismbcalpha(long) msvcrt._ismbcalpha
@@ -325,10 +325,10 @@
 @ cdecl _ismbcgraph(long) msvcrt._ismbcgraph
 @ cdecl _ismbchira(long) msvcrt._ismbchira
 @ cdecl _ismbckata(long) msvcrt._ismbckata
-@ stub _ismbcl0 #(long)
-@ stub _ismbcl1 #(long)
-@ stub _ismbcl2 #(long)
-@ stub _ismbclegal #(long)
+@ cdecl _ismbcl0(long) msvcrt._ismbcl0
+@ cdecl _ismbcl1(long) msvcrt._ismbcl1
+@ cdecl _ismbcl2(long) msvcrt._ismbcl2
+@ cdecl _ismbclegal(long) msvcrt._ismbclegal
 @ cdecl _ismbclower(long) msvcrt._ismbclower
 @ cdecl _ismbcprint(long) msvcrt._ismbcprint
 @ cdecl _ismbcpunct(long) msvcrt._ismbcpunct
@@ -350,7 +350,7 @@
 @ cdecl _lock(long) msvcrt._lock
 @ cdecl _locking(long long long) msvcrt._locking
 @ cdecl _logb( double ) msvcrt._logb
-@ stub _longjmpex
+@ cdecl -i386 _longjmpex(ptr long) msvcrt._longjmpex
 @ cdecl _lrotl(long long) msvcrt._lrotl
 @ cdecl _lrotr(long long) msvcrt._lrotr
 @ cdecl _lsearch(ptr ptr long long ptr) msvcrt._lsearch
@@ -361,23 +361,23 @@
 @ cdecl _makepath(str str str str str) msvcrt._makepath
 @ cdecl _malloc_dbg(long) msvcrt.malloc
 @ cdecl _mbbtombc(long) msvcrt._mbbtombc
-@ stub _mbbtype #(long long)
-@ stub _mbcasemap
+@ cdecl _mbbtype(long long) msvcrt._mbbtype
+@ extern _mbcasemap msvcrt._mbcasemap
 @ cdecl _mbccpy (str str) strcpy
-@ stub _mbcjistojms #(long)
-@ stub _mbcjmstojis #(long)
+@ cdecl _mbcjistojms(long) msvcrt._mbcjistojms
+@ cdecl _mbcjmstojis(long) msvcrt._mbcjmstojis
 @ cdecl _mbclen(ptr) msvcrt._mbclen
-@ stub _mbctohira #(long)
-@ stub _mbctokata #(long)
+@ cdecl _mbctohira(long) msvcrt._mbctohira
+@ cdecl _mbctokata(long) msvcrt._mbctokata
 @ cdecl _mbctolower(long) msvcrt._mbctolower
-@ stub _mbctombb #(long)
+@ cdecl _mbctombb(long) msvcrt._mbctombb
 @ cdecl _mbctoupper(long) msvcrt._mbctoupper
-@ stub _mbctype
-@ stub _mbsbtype #(str long)
+@ extern _mbctype msvcrt._mbctype
+@ cdecl _mbsbtype(str long) msvcrt._mbsbtype
 @ cdecl _mbscat(str str) strcat
 @ cdecl _mbschr(str long) msvcrt._mbschr
 @ cdecl _mbscmp(str str) msvcrt._mbscmp
-@ stub _mbscoll #(str str)
+@ cdecl _mbscoll(str str) msvcrt._mbscoll
 @ cdecl _mbscpy(ptr str) strcpy
 @ cdecl _mbscspn (str str) msvcrt._mbscspn
 @ cdecl _mbsdec(ptr ptr) msvcrt._mbsdec
@@ -390,19 +390,19 @@
 @ cdecl _mbsnbcat (str str long) msvcrt._mbsnbcat
 @ cdecl _mbsnbcmp(str str long) msvcrt._mbsnbcmp
 @ cdecl _mbsnbcnt(ptr long) msvcrt._mbsnbcnt
-@ stub _mbsnbcoll #(str str long)
+@ cdecl _mbsnbcoll(str str long) msvcrt._mbsnbcoll
 @ cdecl _mbsnbcpy(ptr str long) msvcrt._mbsnbcpy
 @ cdecl _mbsnbicmp(str str long) msvcrt._mbsnbicmp
-@ stub _mbsnbicoll #(str str long)
+@ cdecl _mbsnbicoll(str str long) msvcrt._mbsnbicoll
 @ cdecl _mbsnbset(str long long) msvcrt._mbsnbset
 @ cdecl _mbsncat(str str long) msvcrt._mbsncat
 @ cdecl _mbsnccnt(str long) msvcrt._mbsnccnt
 @ cdecl _mbsncmp(str str long) msvcrt._mbsncmp
-@ stub _mbsncoll #(str str long)
+@ cdecl _mbsncoll(str str long) msvcrt._mbsncoll
 @ cdecl _mbsncpy(str str long) msvcrt._mbsncpy
 @ cdecl _mbsnextc(str) msvcrt._mbsnextc
 @ cdecl _mbsnicmp(str str long) msvcrt._mbsnicmp
-@ stub _mbsnicoll #(str str long)
+@ cdecl _mbsnicoll(str str long) msvcrt._mbsnicoll
 @ cdecl _mbsninc(str long) msvcrt._mbsninc
 @ cdecl _mbsnset(str long long) msvcrt._mbsnset
 @ cdecl _mbspbrk(str str) msvcrt._mbspbrk
@@ -410,7 +410,7 @@
 @ cdecl _mbsrev(str) msvcrt._mbsrev
 @ cdecl _mbsset(str long) msvcrt._mbsset
 @ cdecl _mbsspn(str str) msvcrt._mbsspn
-@ stub _mbsspnp #(str str)
+@ cdecl _mbsspnp(str str) msvcrt._mbsspnp
 @ cdecl _mbsstr(str str) strstr
 @ cdecl _mbstok(str str) msvcrt._mbstok
 @ cdecl _mbstrlen(str) msvcrt._mbstrlen
@@ -425,21 +425,21 @@
 @ cdecl _onexit(ptr) msvcrt._onexit
 @ varargs _open(str long) msvcrt._open
 @ cdecl _open_osfhandle(long long) msvcrt._open_osfhandle
-@ stub _osver
-@ stub _outp #(long long)
-@ stub _outpd #(long long)
-@ stub _outpw #(long long)
+@ extern _osver msvcrt._osver
+@ cdecl -i386 _outp(long long) msvcrt._outp
+@ cdecl -i386 _outpd(long long) msvcrt._outpd
+@ cdecl -i386 _outpw(long long) msvcrt._outpw
 @ cdecl _pclose(ptr) msvcrt._pclose
 @ extern _pctype msvcrt._pctype
 @ extern _pgmptr msvcrt._pgmptr
-@ stub _pipe #(ptr long long)
+@ cdecl _pipe(ptr long long) msvcrt._pipe
 @ cdecl _popen(str str) msvcrt._popen
 @ cdecl _purecall() msvcrt._purecall
 @ cdecl _putch(long) msvcrt._putch
 @ cdecl _putenv(str) msvcrt._putenv
 @ cdecl _putw(long ptr) msvcrt._putw
 @ cdecl _putws(wstr) msvcrt._putws
-@ stub _pwctype
+@ extern _pwctype msvcrt._pwctype
 @ cdecl _read(long ptr long) msvcrt._read
 @ cdecl _realloc_dbg(ptr long) msvcrt.realloc
 @ cdecl _rmdir(str) msvcrt._rmdir
@@ -454,22 +454,22 @@
 @ cdecl _searchenv(str str ptr) msvcrt._searchenv
 @ stdcall -i386 _seh_longjmp_unwind(ptr) msvcrt._seh_longjmp_unwind
 @ cdecl _set_error_mode(long) msvcrt._set_error_mode
-@ stub _set_sbh_threshold #(long)
-@ stub _seterrormode #(long)
+@ cdecl _set_sbh_threshold(long) msvcrt._set_sbh_threshold
+@ cdecl _seterrormode(long) msvcrt._seterrormode
 @ cdecl -i386 _setjmp(ptr) msvcrt._setjmp
 @ cdecl -i386 _setjmp3(ptr long) msvcrt._setjmp3
-@ stub _setmaxstdio #(long)
+@ cdecl _setmaxstdio(long) msvcrt._setmaxstdio
 @ cdecl _setmbcp(long) msvcrt._setmbcp
 @ cdecl _setmode(long long) msvcrt._setmode
-@ stub _setsystime #(ptr long)
+@ cdecl _setsystime(ptr long) msvcrt._setsystime
 @ cdecl _sleep(long) msvcrt._sleep
 @ varargs _snprintf(str long str) snprintf
 @ varargs _snwprintf(wstr long wstr) ntdll._snwprintf
 @ varargs _sopen(str long long) msvcrt._sopen
 @ varargs _spawnl(long str str) msvcrt._spawnl
-@ stub _spawnle #(long str str) varargs
+@ varargs _spawnle(long str str) msvcrt._spawnle
 @ varargs _spawnlp(long str str) msvcrt._spawnlp
-@ stub _spawnlpe #(long str str) varargs
+@ varargs _spawnlpe(long str str) msvcrt._spawnlpe
 @ cdecl _spawnv(long str ptr) msvcrt._spawnv
 @ cdecl _spawnve(long str ptr ptr) msvcrt._spawnve
 @ cdecl _spawnvp(long str ptr) msvcrt._spawnvp
@@ -483,11 +483,11 @@
 @ cdecl _strdup(str) msvcrt._strdup
 @ cdecl _strerror(long) msvcrt._strerror
 @ cdecl _stricmp(str str) strcasecmp
-@ stub _stricoll #(str str)
+@ cdecl _stricoll(str str) msvcrt._stricoll
 @ cdecl _strlwr(str) ntdll._strlwr
-@ stub _strncoll #(str str long)
+@ cdecl _strncoll(str str long) msvcrt._strncoll
 @ cdecl _strnicmp(str str long) strncasecmp
-@ stub _strnicoll #(str str long)
+@ cdecl _strnicoll(str str long) msvcrt._strnicoll
 @ cdecl _strnset(str long long) msvcrt._strnset
 @ cdecl _strrev(str) msvcrt._strrev
 @ cdecl _strset(str long) msvcrt._strset
@@ -497,12 +497,12 @@
 @ extern _sys_errlist msvcrt._sys_errlist
 @ extern _sys_nerr msvcrt._sys_nerr
 @ cdecl _tell(long) msvcrt._tell
-@ stub _telli64 #(long)
+@ cdecl -ret64 _telli64(long) msvcrt._telli64
 @ cdecl _tempnam(str str) msvcrt._tempnam
-@ stub _timezone # extern
+@ extern _timezone msvcrt._timezone
 @ cdecl _tolower(long) msvcrt._tolower
 @ cdecl _toupper(long) msvcrt._toupper
-@ stub _tzname # extern
+@ extern _tzname msvcrt._tzname
 @ cdecl _tzset() tzset
 @ cdecl _ui64toa(long long ptr long) ntdll._ui64toa
 @ cdecl _ui64tow(long long ptr long) ntdll._ui64tow
@@ -517,7 +517,7 @@
 @ cdecl _vsnprintf(ptr long ptr ptr) vsnprintf
 @ cdecl _vsnwprintf(ptr long wstr long) msvcrt._vsnwprintf
 @ cdecl _waccess(wstr long) msvcrt._waccess
-@ stub _wasctime #(ptr)
+@ cdecl _wasctime(ptr) msvcrt._wasctime
 @ cdecl _wchdir(wstr) msvcrt._wchdir
 @ cdecl _wchmod(wstr long) msvcrt._wchmod
 @ extern _wcmdln msvcrt._wcmdln
@@ -526,32 +526,32 @@
 @ cdecl _wcsicmp(wstr wstr) ntdll._wcsicmp
 @ cdecl _wcsicoll(wstr wstr) msvcrt._wcsicoll
 @ cdecl _wcslwr(wstr) ntdll._wcslwr
-@ stub _wcsncoll #(wstr wstr long)
+@ cdecl _wcsncoll(wstr wstr long) msvcrt._wcsncoll
 @ cdecl _wcsnicmp(wstr wstr long) ntdll._wcsnicmp
-@ stub _wcsnicoll #(wstr wstr long)
+@ cdecl _wcsnicoll(wstr wstr long) msvcrt._wcsnicoll
 @ cdecl _wcsnset(wstr long long) msvcrt._wcsnset
 @ cdecl _wcsrev(wstr) msvcrt._wcsrev
 @ cdecl _wcsset(wstr long) msvcrt._wcsset
 @ cdecl _wcsupr(wstr) ntdll._wcsupr
-@ stub _wctime #(ptr)
+@ cdecl _wctime(ptr) msvcrt._wctime
 @ extern _wenviron msvcrt._wenviron
-@ stub _wexecl #(wstr wstr) varargs
-@ stub _wexecle #(wstr wstr) varargs
-@ stub _wexeclp #(wstr wstr) varargs
-@ stub _wexeclpe #(wstr wstr) varargs
-@ stub _wexecv #(wstr ptr)
-@ stub _wexecve #(wstr ptr ptr)
-@ stub _wexecvp #(wstr ptr)
-@ stub _wexecvpe #(wstr ptr ptr)
+@ varargs _wexecl(wstr wstr) msvcrt._wexecl
+@ varargs _wexecle(wstr wstr) msvcrt._wexecle
+@ varargs _wexeclp(wstr wstr) msvcrt._wexeclp
+@ varargs _wexeclpe(wstr wstr) msvcrt._wexeclpe
+@ cdecl _wexecv(wstr ptr) msvcrt._wexecv
+@ cdecl _wexecve(wstr ptr ptr) msvcrt._wexecve
+@ cdecl _wexecvp(wstr ptr) msvcrt._wexecvp
+@ cdecl _wexecvpe(wstr ptr ptr) msvcrt._wexecvpe
 @ cdecl _wfdopen(long wstr) msvcrt._wfdopen
 @ cdecl _wfindfirst(wstr ptr) msvcrt._wfindfirst
-@ stub _wfindfirsti64 #(wstr ptr)
+@ cdecl _wfindfirsti64(wstr ptr) msvcrt._wfindfirsti64
 @ cdecl _wfindnext(long ptr) msvcrt._wfindnext
-@ stub _wfindnexti64 #(long ptr)
+@ cdecl _wfindnexti64(long ptr) msvcrt._wfindnexti64
 @ cdecl _wfopen(wstr wstr) msvcrt._wfopen
-@ stub _wfreopen #(wstr wstr ptr)
+@ cdecl _wfreopen(wstr wstr ptr) msvcrt._wfreopen
 @ cdecl _wfsopen(wstr wstr long) msvcrt._wfsopen
-@ stub _wfullpath #(ptr wstr long)
+@ cdecl _wfullpath(ptr wstr long) msvcrt._wfullpath
 @ cdecl _wgetcwd(wstr long) msvcrt._wgetcwd
 @ cdecl _wgetdcwd(long wstr long) msvcrt._wgetdcwd
 @ cdecl _wgetenv(wstr) msvcrt._wgetenv
@@ -562,33 +562,33 @@
 @ cdecl _wmkdir(wstr) msvcrt._wmkdir
 @ cdecl _wmktemp(wstr) msvcrt._wmktemp
 @ varargs _wopen(wstr long) msvcrt._wopen
-@ stub _wperror #(wstr)
-@ stub _wpgmptr # extern
+@ cdecl _wperror(wstr) msvcrt._wperror
+@ extern _wpgmptr msvcrt._wpgmptr
 @ cdecl _wpopen(wstr wstr) msvcrt._wpopen
 @ cdecl _wputenv(wstr) msvcrt._wputenv
 @ cdecl _wremove(wstr) msvcrt._wremove
 @ cdecl _wrename(wstr wstr) msvcrt._wrename
 @ cdecl _write(long ptr long) msvcrt._write
 @ cdecl _wrmdir(wstr) msvcrt._wrmdir
-@ stub _wsearchenv #(wstr wstr ptr)
-@ stub _wsetlocale #(long wstr)
+@ cdecl _wsearchenv(wstr wstr ptr) msvcrt._wsearchenv
+@ cdecl _wsetlocale(long wstr) msvcrt._wsetlocale
 @ varargs _wsopen (wstr long long) msvcrt._wsopen
-@ stub _wspawnl #(long wstr wstr) varargs
-@ stub _wspawnle #(long wstr wstr) varargs
-@ stub _wspawnlp #(long wstr wstr) varargs
-@ stub _wspawnlpe #(long wstr wstr) varargs
-@ stub _wspawnv #(long wstr ptr)
-@ stub _wspawnve #(long wstr ptr ptr)
-@ stub _wspawnvp #(long wstr ptr)
-@ stub _wspawnvpe #(long wstr ptr ptr)
+@ varargs _wspawnl(long wstr wstr) msvcrt._wspawnl
+@ varargs _wspawnle(long wstr wstr) msvcrt._wspawnle
+@ varargs _wspawnlp(long wstr wstr) msvcrt._wspawnlp
+@ varargs _wspawnlpe(long wstr wstr) msvcrt._wspawnlpe
+@ cdecl _wspawnv(long wstr ptr) msvcrt._wspawnv
+@ cdecl _wspawnve(long wstr ptr ptr) msvcrt._wspawnve
+@ cdecl _wspawnvp(long wstr ptr) msvcrt._wspawnvp
+@ cdecl _wspawnvpe(long wstr ptr ptr) msvcrt._wspawnvpe
 @ cdecl _wsplitpath(wstr wstr wstr wstr wstr) msvcrt._wsplitpath
 @ cdecl _wstat(wstr ptr) msvcrt._wstat
-@ stub _wstati64 #(wstr ptr)
-@ stub _wstrdate #(ptr)
-@ stub _wstrtime #(ptr)
-@ stub _wsystem #(wstr)
+@ cdecl _wstati64(wstr ptr) msvcrt._wstati64
+@ cdecl _wstrdate(ptr) msvcrt._wstrdate
+@ cdecl _wstrtime(ptr) msvcrt._wstrtime
+@ cdecl _wsystem(wstr) msvcrt._wsystem
 @ cdecl _wtempnam(wstr wstr) msvcrt._wtempnam
-@ stub _wtmpnam #(ptr)
+@ cdecl _wtmpnam(ptr) msvcrt._wtmpnam
 @ cdecl _wtoi(wstr) ntdll._wtoi
 @ cdecl _wtoi64(wstr) ntdll._wtoi64
 @ cdecl _wtol(wstr) ntdll._wtol
@@ -685,7 +685,7 @@
 @ cdecl labs(long)
 @ cdecl ldexp( double long) msvcrt.ldexp
 @ cdecl ldiv(long long) msvcrt.ldiv
-@ stub localeconv #()
+@ cdecl localeconv() msvcrt.localeconv
 @ cdecl localtime(ptr)
 @ cdecl log(double)
 @ cdecl log10(double)
@@ -710,7 +710,7 @@
 @ cdecl putwc(long ptr) msvcrt.putwc
 @ cdecl putwchar(long) msvcrt._fputwchar
 @ cdecl qsort(ptr long long ptr)
-@ stub raise #(long)
+@ cdecl raise(long) msvcrt.raise
 @ cdecl rand() msvcrt.rand
 @ cdecl realloc(ptr long) msvcrt.realloc
 @ cdecl remove(str) msvcrt.remove
@@ -774,7 +774,7 @@
 @ cdecl wcscoll(wstr wstr) msvcrt.wcscoll
 @ cdecl wcscpy(ptr wstr) ntdll.wcscpy
 @ cdecl wcscspn(wstr wstr) ntdll.wcscspn
-@ stub wcsftime #(ptr long wstr ptr)
+@ cdecl wcsftime(ptr long wstr ptr) msvcrt.wcsftime
 @ cdecl wcslen(wstr) ntdll.wcslen
 @ cdecl wcsncat(wstr wstr long) ntdll.wcsncat
 @ cdecl wcsncmp(wstr wstr long) ntdll.wcsncmp
@@ -783,13 +783,13 @@
 @ cdecl wcsrchr(wstr long) ntdll.wcsrchr
 @ cdecl wcsspn(wstr wstr) ntdll.wcsspn
 @ cdecl wcsstr(wstr wstr) ntdll.wcsstr
-@ stub wcstod #(wstr ptr)
+@ cdecl wcstod(wstr ptr) msvcrt.wcstod
 @ cdecl wcstok(wstr wstr) ntdll.wcstok
 @ cdecl wcstol(wstr ptr long) ntdll.wcstol
 @ cdecl wcstombs(ptr ptr long) ntdll.wcstombs
 @ cdecl wcstoul(wstr ptr long) ntdll.wcstoul
-@ stub wcsxfrm #(ptr wstr long)
+@ cdecl wcsxfrm(ptr wstr long) msvcrt.wcsxfrm
 @ cdecl wctomb(ptr long) msvcrt.wctomb
 @ varargs wprintf(wstr) msvcrt.wprintf
 @ varargs wscanf(wstr) msvcrt.wscanf
-@ stub _Gettnames
+@ cdecl _Gettnames() msvcrt._Gettnames