# msvcrtd.dll - MS VC++ Run Time Library

@ cdecl $I10_OUTPUT() msvcrt.$I10_OUTPUT
@ cdecl ??0__non_rtti_object@@QAE@ABV0@@Z(ptr ptr) msvcrt.??0__non_rtti_object@@QAE@ABV0@@Z
@ cdecl ??0__non_rtti_object@@QAE@PBD@Z(ptr ptr) msvcrt.??0__non_rtti_object@@QAE@PBD@Z
@ cdecl ??0bad_cast@@QAE@ABQBD@Z(ptr ptr) msvcrt.??0bad_cast@@QAE@ABQBD@Z
@ cdecl ??0bad_cast@@QAE@ABV0@@Z(ptr ptr) msvcrt.??0bad_cast@@QAE@ABV0@@Z
@ cdecl ??0bad_typeid@@QAE@ABV0@@Z(ptr ptr) msvcrt.??0bad_typeid@@QAE@ABV0@@Z
@ cdecl ??0bad_typeid@@QAE@PBD@Z(ptr ptr) msvcrt.??0bad_typeid@@QAE@PBD@Z
@ cdecl ??0exception@@QAE@ABQBD@Z(ptr ptr) msvcrt.??0exception@@QAE@ABQBD@Z
@ cdecl ??0exception@@QAE@ABV0@@Z(ptr ptr) msvcrt.??0exception@@QAE@ABV0@@Z
@ cdecl ??0exception@@QAE@XZ(ptr) msvcrt.??0exception@@QAE@XZ
@ cdecl ??1__non_rtti_object@@UAE@XZ(ptr) msvcrt.??1__non_rtti_object@@UAE@XZ
@ cdecl ??1bad_cast@@UAE@XZ(ptr) msvcrt.??1bad_cast@@UAE@XZ
@ cdecl ??1bad_typeid@@UAE@XZ(ptr) msvcrt.??1bad_typeid@@UAE@XZ
@ cdecl ??1exception@@UAE@XZ(ptr) msvcrt.??1exception@@UAE@XZ
@ cdecl ??1type_info@@UAE@XZ(ptr) msvcrt.??1type_info@@UAE@XZ
@ cdecl ??2@YAPAXI@Z(long) msvcrt.??2@YAPAXI@Z
@ cdecl ??2@YAPAXIHPBDH@Z(long) msvcrt.??2@YAPAXIHPBDH@Z
@ cdecl ??3@YAXPAX@Z(ptr) msvcrt.??3@YAXPAX@Z
@ cdecl ??4__non_rtti_object@@QAEAAV0@ABV0@@Z(ptr ptr) msvcrt.??4__non_rtti_object@@QAEAAV0@ABV0@@Z
@ cdecl ??4bad_cast@@QAEAAV0@ABV0@@Z(ptr ptr) msvcrt.??4bad_cast@@QAEAAV0@ABV0@@Z
@ cdecl ??4bad_typeid@@QAEAAV0@ABV0@@Z(ptr ptr) msvcrt.??4bad_typeid@@QAEAAV0@ABV0@@Z
@ cdecl ??4exception@@QAEAAV0@ABV0@@Z(ptr ptr) msvcrt.??4exception@@QAEAAV0@ABV0@@Z
@ stdcall ??8type_info@@QBEHABV0@@Z(ptr ptr) msvcrt.??8type_info@@QBEHABV0@@Z
@ stdcall ??9type_info@@QBEHABV0@@Z(ptr ptr) msvcrt.??9type_info@@QBEHABV0@@Z
@ stub ??_7__non_rtti_object@@6B@
@ stub ??_7bad_cast@@6B@
@ stub ??_7bad_typeid@@6B@
@ stub ??_7exception@@6B@
@ cdecl ??_E__non_rtti_object@@UAEPAXI@Z(ptr long) msvcrt.??_E__non_rtti_object@@UAEPAXI@Z
@ stub ??_Ebad_cast@@UAEPAXI@Z #(ptr long)
@ stub ??_Ebad_typeid@@UAEPAXI@Z #(ptr long)
@ cdecl ??_Eexception@@UAEPAXI@Z(ptr long) msvcrt.??_Eexception@@UAEPAXI@Z
@ cdecl ??_G__non_rtti_object@@UAEPAXI@Z(ptr long) msvcrt.??_G__non_rtti_object@@UAEPAXI@Z
@ stub ??_Gbad_cast@@UAEPAXI@Z #(ptr long)
@ stub ??_Gbad_typeid@@UAEPAXI@Z #(ptr long)
@ cdecl ??_Gexception@@UAEPAXI@Z(ptr long) msvcrt.??_Gexception@@UAEPAXI@Z
@ cdecl ?_query_new_handler@@YAP6AHI@ZXZ() msvcrt.?_query_new_handler@@YAP6AHI@ZXZ
@ cdecl ?_query_new_mode@@YAHXZ() msvcrt.?_query_new_mode@@YAHXZ
@ cdecl ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z(ptr) msvcrt.?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z
@ cdecl ?_set_new_mode@@YAHH@Z(long) msvcrt.?_set_new_mode@@YAHH@Z
@ cdecl ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z(ptr) msvcrt.?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z
@ stub ?before@type_info@@QBEHABV1@@Z #(ptr ptr) stdcall
@ stdcall ?name@type_info@@QBEPBDXZ(ptr) msvcrt.?name@type_info@@QBEPBDXZ
@ stdcall ?raw_name@type_info@@QBEPBDXZ(ptr) msvcrt.?raw_name@type_info@@QBEPBDXZ
@ cdecl ?set_new_handler@@YAP6AXXZP6AXXZ@Z(ptr) msvcrt.?set_new_handler@@YAP6AXXZP6AXXZ@Z
@ cdecl ?set_terminate@@YAP6AXXZP6AXXZ@Z(ptr) msvcrt.?set_terminate@@YAP6AXXZP6AXXZ@Z
@ cdecl ?set_unexpected@@YAP6AXXZP6AXXZ@Z(ptr) msvcrt.?set_unexpected@@YAP6AXXZP6AXXZ@Z
@ cdecl ?terminate@@YAXXZ() msvcrt.?terminate@@YAXXZ
@ cdecl ?unexpected@@YAXXZ() msvcrt.?unexpected@@YAXXZ
@ cdecl ?what@exception@@UBEPBDXZ(ptr) msvcrt.?what@exception@@UBEPBDXZ
@ cdecl _CIacos() msvcrt._CIacos
@ cdecl _CIasin() msvcrt._CIasin
@ cdecl _CIatan() msvcrt._CIatan
@ cdecl _CIatan2() msvcrt._CIatan2
@ cdecl _CIcos() msvcrt._CIcos
@ cdecl _CIcosh() msvcrt._CIcosh
@ cdecl _CIexp() msvcrt._CIexp
@ cdecl _CIfmod() msvcrt._CIfmod
@ cdecl _CIlog() msvcrt._CIlog
@ cdecl _CIlog10() msvcrt._CIlog10
@ cdecl _CIpow() msvcrt._CIpow
@ cdecl _CIsin() msvcrt._CIsin
@ cdecl _CIsinh() msvcrt._CIsinh
@ cdecl _CIsqrt() msvcrt._CIsqrt
@ cdecl _CItan() msvcrt._CItan
@ cdecl _CItanh() msvcrt._CItanh
@ stub _CrtCheckMemory
@ stub _CrtDbgBreak
@ cdecl _CrtDbgReport(long ptr long ptr ptr)
@ stub _CrtDoForAllClientObjects
@ cdecl _CrtDumpMemoryLeaks()
@ stub _CrtIsMemoryBlock
@ stub _CrtIsValidHeapPointer
@ stub _CrtIsValidPointer
@ stub _CrtMemCheckpoint
@ stub _CrtMemDifference
@ stub _CrtMemDumpAllObjectsSince
@ stub _CrtMemDumpStatistics
@ stub _CrtSetAllocHook
@ stub _CrtSetBreakAlloc
@ stub _CrtSetDbgBlockType
@ cdecl _CrtSetDbgFlag(long)
@ cdecl _CrtSetDumpClient(ptr)
@ stub _CrtSetReportFile
@ cdecl _CrtSetReportHook(ptr)
@ cdecl _CrtSetReportMode(long)
@ cdecl _CxxThrowException(long long) msvcrt._CxxThrowException
@ cdecl -i386 -norelay _EH_prolog() msvcrt._EH_prolog
@ cdecl _Getdays() msvcrt._Getdays
@ cdecl _Getmonths() msvcrt._Getmonths
@ cdecl _Getnames() msvcrt._Getnames
@ extern _HUGE msvcrt._HUGE
@ cdecl _Strftime(str long str ptr ptr) msvcrt._Strftime
@ cdecl _XcptFilter(long ptr) msvcrt._XcptFilter
@ cdecl -register -i386 __CxxFrameHandler(ptr ptr ptr ptr) msvcrt.__CxxFrameHandler
@ stub __CxxLongjmpUnwind #(ptr) stdcall
@ 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)
@ extern __argc msvcrt.__argc
@ extern __argv msvcrt.__argv
@ stub __badioinfo
@ stub __crtCompareStringA
@ stub __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 __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
@ cdecl __lconv_init() msvcrt.__lconv_init
@ extern __mb_cur_max msvcrt.__mb_cur_max
@ cdecl __p___argc() msvcrt.__p___argc
@ cdecl __p___argv() msvcrt.__p___argv
@ cdecl __p___initenv() msvcrt.__p___initenv
@ cdecl __p___mb_cur_max() msvcrt.__p___mb_cur_max
@ cdecl __p___wargv() msvcrt.__p___wargv
@ cdecl __p___winitenv() msvcrt.__p___winitenv
@ cdecl __p__acmdln() msvcrt.__p__acmdln
@ stub __p__amblksiz #()
@ cdecl __p__commode() msvcrt.__p__commode
@ stub __p__crtAssertBusy #()
@ stub __p__crtBreakAlloc #()
@ stub __p__crtDbgFlag  #()
@ cdecl __p__daylight() msvcrt.__p__daylight
@ stub __p__dstbias #()
@ cdecl __p__environ() msvcrt.__p__environ
@ stub __p__fileinfo #()
@ cdecl __p__fmode() msvcrt.__p__fmode
@ cdecl __p__iob() msvcrt.__p__iob
@ stub __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__timezone() msvcrt.__p__timezone
@ stub __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 __set_app_type(long) msvcrt.__set_app_type
@ extern __setlc_active msvcrt.__setlc_active
@ cdecl __setusermatherr(ptr) msvcrt.__setusermatherr
@ cdecl __threadhandle() kernel32.GetCurrentThread
@ cdecl __threadid() kernel32.GetCurrentThreadId
@ cdecl __toascii(long) msvcrt.__toascii
@ cdecl __unDName(long str ptr ptr long) msvcrt.__unDName
@ cdecl __unDNameEx() msvcrt.__unDNameEx
@ extern __unguarded_readlc_active msvcrt.__unguarded_readlc_active
@ extern __wargv msvcrt.__wargv
@ cdecl __wgetmainargs(ptr ptr ptr long ptr) msvcrt.__wgetmainargs
@ extern __winitenv msvcrt.__winitenv
@ cdecl _abnormal_termination() msvcrt._abnormal_termination
@ cdecl _access(str long) msvcrt._access
@ extern _acmdln msvcrt._acmdln
@ cdecl _adj_fdiv_m16i() msvcrt._adj_fdiv_m16i
@ cdecl _adj_fdiv_m32() msvcrt._adj_fdiv_m32
@ cdecl _adj_fdiv_m32i() msvcrt._adj_fdiv_m32i
@ cdecl _adj_fdiv_m64() msvcrt._adj_fdiv_m64
@ cdecl _adj_fdiv_r() msvcrt._adj_fdiv_r
@ cdecl _adj_fdivr_m16i() msvcrt._adj_fdivr_m16i
@ cdecl _adj_fdivr_m32() msvcrt._adj_fdivr_m32
@ cdecl _adj_fdivr_m32i() msvcrt._adj_fdivr_m32i
@ cdecl _adj_fdivr_m64() msvcrt._adj_fdivr_m64
@ cdecl _adj_fpatan() msvcrt._adj_fpatan
@ cdecl _adj_fprem() msvcrt._adj_fprem
@ cdecl _adj_fprem1() msvcrt._adj_fprem1
@ cdecl _adj_fptan() msvcrt._adj_fptan
@ cdecl _adjust_fdiv() msvcrt._adjust_fdiv
@ stub _aexit_rtn
@ cdecl _amsg_exit(long) msvcrt._amsg_exit
@ cdecl _assert(str str long) msvcrt._assert
@ stub _atodbl #(ptr str)
@ cdecl -ret64 _atoi64(str) ntdll._atoi64
@ stub _atoldbl #(ptr str)
@ cdecl _beep(long long) msvcrt._beep
@ cdecl _beginthread (ptr long ptr) msvcrt._beginthread
@ cdecl _beginthreadex (ptr long ptr ptr long ptr) msvcrt._beginthreadex
@ cdecl _c_exit() msvcrt._c_exit
@ cdecl _cabs(long) msvcrt._cabs
@ cdecl _callnewh(long) msvcrt._callnewh
@ cdecl _calloc_dbg(long long) msvcrt.calloc
@ cdecl _cexit() msvcrt._cexit
@ cdecl _cgets(str) msvcrt._cgets
@ cdecl _chdir(str) msvcrt._chdir
@ cdecl _chdrive(long) msvcrt._chdrive
@ cdecl _chgsign( double ) msvcrt._chgsign
@ cdecl -i386 _chkesp() msvcrt._chkesp
@ cdecl _chmod(str long) msvcrt._chmod
@ cdecl _chsize (long long) msvcrt._chsize
@ cdecl _clearfp() msvcrt._clearfp
@ cdecl _close(long) msvcrt._close
@ cdecl _commit(long) msvcrt._commit
@ extern _commode msvcrt._commode
@ cdecl _control87(long long) msvcrt._control87
@ cdecl _controlfp(long long) msvcrt._controlfp
@ cdecl _copysign( double double ) msvcrt._copysign
@ varargs _cprintf(str) msvcrt._cprintf
@ cdecl _cputs(str) msvcrt._cputs
@ cdecl _creat(str long) msvcrt._creat
@ stub _crtAssertBusy #()
@ stub _crtBreakAlloc #()
@ stub _crtDbgFlag #()
@ varargs _cscanf(str) msvcrt._cscanf
@ extern _ctype msvcrt._ctype
@ cdecl _cwait(ptr long long) msvcrt._cwait
@ extern _daylight msvcrt._daylight
@ stub _dstbias
@ cdecl _dup (long) msvcrt._dup
@ cdecl _dup2 (long long) msvcrt._dup2
@ cdecl _ecvt( double long ptr ptr) msvcrt._ecvt
@ cdecl _endthread () msvcrt._endthread
@ cdecl _endthreadex(long) msvcrt._endthreadex
@ extern _environ msvcrt._environ
@ cdecl _eof(long) msvcrt._eof
@ cdecl _errno() msvcrt._errno
@ 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 _execlp(str str) msvcrt._execlp
@ stub _execlpe #(str str) varargs
@ cdecl _execv(str str) msvcrt._execv
@ cdecl _execve(str str str) msvcrt._execve
@ cdecl _execvp(str str) msvcrt._execvp
@ cdecl _execvpe(str str str) msvcrt._execvpe
@ cdecl _exit(long) msvcrt._exit
@ cdecl _expand(ptr long) msvcrt._expand
@ cdecl _expand_dbg(ptr long) msvcrt._expand
@ cdecl _fcloseall() msvcrt._fcloseall
@ cdecl _fcvt( double long ptr ptr) msvcrt._fcvt
@ cdecl _fdopen(long str) msvcrt._fdopen
@ cdecl _fgetchar() msvcrt._fgetchar
@ cdecl _fgetwchar() msvcrt._fgetwchar
@ cdecl _filbuf(ptr) msvcrt._filbuf
@ stub _fileinfo
@ cdecl _filelength(long) msvcrt._filelength
@ stub _filelengthi64 #(long)
@ cdecl _fileno(ptr) msvcrt._fileno
@ cdecl _findclose(long) msvcrt._findclose
@ cdecl _findfirst(str ptr) msvcrt._findfirst
@ stub _findfirsti64 #(str ptr)
@ cdecl _findnext(long ptr) msvcrt._findnext
@ stub _findnexti64 #(long ptr)
@ 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 _fpreset() msvcrt._fpreset
@ cdecl _fputchar(long) msvcrt._fputchar
@ cdecl _free_dbg(ptr) msvcrt.free
@ cdecl _fputwchar(long) msvcrt._fputwchar
@ cdecl _fsopen(str str long) msvcrt._fsopen
@ cdecl _fstat(long ptr) msvcrt._fstat
@ cdecl _fstati64(long ptr) msvcrt._fstati64
@ cdecl _ftime(ptr) msvcrt._ftime
@ cdecl _ftol() ntdll._ftol
@ cdecl _fullpath(ptr str long) msvcrt._fullpath
@ 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 _getch() msvcrt._getch
@ cdecl _getche() msvcrt._getche
@ cdecl _getcwd(str long) msvcrt._getcwd
@ cdecl _getdcwd(long str long) msvcrt._getdcwd
@ cdecl _getdiskfree(long ptr) msvcrt._getdiskfree
@ cdecl _getdllprocaddr(long str long) msvcrt._getdllprocaddr
@ cdecl _getdrive() msvcrt._getdrive
@ cdecl _getdrives() kernel32.GetLogicalDrives
@ stub _getmaxstdio #()
@ cdecl _getmbcp() msvcrt._getmbcp
@ cdecl _getpid() kernel32.GetCurrentProcessId
@ stub _getsystime #(ptr)
@ cdecl _getw(ptr) msvcrt._getw
@ cdecl _getws(ptr) msvcrt._getws
@ cdecl _global_unwind2(ptr) msvcrt._global_unwind2
@ cdecl _heapadd (ptr long) msvcrt._heapadd
@ cdecl _heapchk() msvcrt._heapchk
@ cdecl _heapmin() msvcrt._heapmin
@ cdecl _heapset(long) msvcrt._heapset
@ stub _heapused #(ptr ptr)
@ 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
@ 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 _ismbbkana(long) msvcrt._ismbbkana
@ stub _ismbbkprint #(long)
@ stub _ismbbkpunct #(long)
@ cdecl _ismbblead(long) msvcrt._ismbblead
@ stub _ismbbprint #(long)
@ stub _ismbbpunct #(long)
@ cdecl _ismbbtrail(long) msvcrt._ismbbtrail
@ cdecl _ismbcalnum(long) msvcrt._ismbcalnum
@ cdecl _ismbcalpha(long) msvcrt._ismbcalpha
@ cdecl _ismbcdigit(long) msvcrt._ismbcdigit
@ 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 _ismbclower(long) msvcrt._ismbclower
@ cdecl _ismbcprint(long) msvcrt._ismbcprint
@ cdecl _ismbcpunct(long) msvcrt._ismbcpunct
@ cdecl _ismbcspace(long) msvcrt._ismbcspace
@ cdecl _ismbcsymbol(long) msvcrt._ismbcsymbol
@ cdecl _ismbcupper(long) msvcrt._ismbcupper
@ cdecl _ismbslead(ptr ptr) msvcrt._ismbslead
@ cdecl _ismbstrail(ptr ptr) msvcrt._ismbstrail
@ cdecl _isnan( double ) msvcrt._isnan
@ cdecl _itoa(long ptr long) ntdll._itoa
@ cdecl _itow(long ptr long) ntdll._itow
@ cdecl _j0(double) j0
@ cdecl _j1(double) j1
@ cdecl _jn(long double) jn
@ cdecl _kbhit() msvcrt._kbhit
@ cdecl _lfind(ptr ptr ptr long ptr) msvcrt._lfind
@ cdecl _loaddll(str) msvcrt._loaddll
@ cdecl _local_unwind2(ptr long) msvcrt._local_unwind2
@ cdecl _lock(long) msvcrt._lock
@ cdecl _locking(long long long) msvcrt._locking
@ cdecl _logb( double ) msvcrt._logb
@ stub _longjmpex
@ cdecl _lrotl(long long) msvcrt._lrotl
@ cdecl _lrotr(long long) msvcrt._lrotr
@ cdecl _lsearch(ptr ptr long long ptr) msvcrt._lsearch
@ cdecl _lseek(long long long) msvcrt._lseek
@ cdecl -ret64 _lseeki64(long long long long) msvcrt._lseeki64
@ cdecl _ltoa(long ptr long) ntdll._ltoa
@ cdecl _ltow(long ptr long) ntdll._ltow
@ 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 _mbccpy (str str) strcpy
@ stub _mbcjistojms #(long)
@ stub _mbcjmstojis #(long)
@ cdecl _mbclen(ptr) msvcrt._mbclen
@ stub _mbctohira #(long)
@ stub _mbctokata #(long)
@ cdecl _mbctolower(long) msvcrt._mbctolower
@ stub _mbctombb #(long)
@ cdecl _mbctoupper(long) msvcrt._mbctoupper
@ stub _mbctype
@ stub _mbsbtype #(str long)
@ cdecl _mbscat(str str) strcat
@ cdecl _mbschr(str long) msvcrt._mbschr
@ cdecl _mbscmp(str str) msvcrt._mbscmp
@ stub _mbscoll #(str str)
@ cdecl _mbscpy(ptr str) strcpy
@ cdecl _mbscspn (str str) msvcrt._mbscspn
@ cdecl _mbsdec(ptr ptr) msvcrt._mbsdec
@ cdecl _mbsdup(str) msvcrt._strdup
@ cdecl _mbsicmp(str str) msvcrt._mbsicmp
@ cdecl _mbsicoll(str str) msvcrt._mbsicoll
@ cdecl _mbsinc(str) msvcrt._mbsinc
@ cdecl _mbslen(str) msvcrt._mbslen
@ cdecl _mbslwr(str) msvcrt._mbslwr
@ 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 _mbsnbcpy(ptr str long) msvcrt._mbsnbcpy
@ cdecl _mbsnbicmp(str str long) msvcrt._mbsnbicmp
@ stub _mbsnbicoll #(str str long)
@ 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 _mbsncpy(str str long) msvcrt._mbsncpy
@ cdecl _mbsnextc(str) msvcrt._mbsnextc
@ cdecl _mbsnicmp(str str long) msvcrt._mbsnicmp
@ stub _mbsnicoll #(str str long)
@ cdecl _mbsninc(str long) msvcrt._mbsninc
@ cdecl _mbsnset(str long long) msvcrt._mbsnset
@ cdecl _mbspbrk(str str) msvcrt._mbspbrk
@ cdecl _mbsrchr(str long) msvcrt._mbsrchr
@ cdecl _mbsrev(str) msvcrt._mbsrev
@ cdecl _mbsset(str long) msvcrt._mbsset
@ cdecl _mbsspn(str str) msvcrt._mbsspn
@ stub _mbsspnp #(str str)
@ cdecl _mbsstr(str str) strstr
@ cdecl _mbstok(str str) msvcrt._mbstok
@ cdecl _mbstrlen(str) msvcrt._mbstrlen
@ cdecl _mbsupr(str) msvcrt._mbsupr
@ cdecl _memccpy(ptr ptr long long) memccpy
@ cdecl _memicmp(str str long) ntdll._memicmp
@ cdecl _mkdir(str) msvcrt._mkdir
@ cdecl _mktemp(str) msvcrt._mktemp
@ cdecl _msize(ptr) msvcrt._msize
@ cdecl _msize_dbg(ptr) msvcrt._msize
@ cdecl _nextafter(double double) msvcrt._nextafter
@ 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)
@ stub _pclose #(ptr)
@ extern _pctype msvcrt._pctype
@ extern _pgmptr msvcrt._pgmptr
@ stub _pipe #(ptr long long)
@ stub _popen #(str str)
@ 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
@ cdecl _read(long ptr long) msvcrt._read
@ cdecl _realloc_dbg(ptr long) msvcrt.realloc
@ cdecl _rmdir(str) msvcrt._rmdir
@ cdecl _rmtmp() msvcrt._rmtmp
@ cdecl _rotl(long long) msvcrt._rotl
@ cdecl _rotr(long long) msvcrt._rotr
@ cdecl _safe_fdiv() msvcrt._safe_fdiv
@ cdecl _safe_fdivr() msvcrt._safe_fdivr
@ cdecl _safe_fprem() msvcrt._safe_fprem
@ cdecl _safe_fprem1() msvcrt._safe_fprem1
@ cdecl _scalb( double long) msvcrt._scalb
@ cdecl _searchenv(str str ptr) msvcrt._searchenv
@ stdcall -i386 _seh_longjmp_unwind(ptr) msvcrt._seh_longjmp_unwind
@ stub _set_error_mode #(long)
@ stub _set_sbh_threshold #(long)
@ stub _seterrormode #(long)
@ cdecl -register -i386 _setjmp(ptr) msvcrt._setjmp
@ cdecl -register -i386 _setjmp3(ptr long) msvcrt._setjmp3
@ stub _setmaxstdio #(long)
@ cdecl _setmbcp(long) msvcrt._setmbcp
@ cdecl _setmode(long long) msvcrt._setmode
@ stub _setsystime #(ptr long)
@ 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 _spawnlp(long str str) msvcrt._spawnlp
@ stub _spawnlpe #(long str str) varargs
@ cdecl _spawnv(long str ptr) msvcrt._spawnv
@ cdecl _spawnve(long str ptr ptr) msvcrt._spawnve
@ cdecl _spawnvp(long str ptr) msvcrt._spawnvp
@ cdecl _spawnvpe(long str ptr ptr) msvcrt._spawnvpe
@ cdecl _splitpath(str ptr ptr ptr ptr) ntdll._splitpath
@ cdecl _stat(str ptr) msvcrt._stat
@ cdecl _stati64(str ptr) msvcrt._stati64
@ cdecl _statusfp() msvcrt._statusfp
@ cdecl _strcmpi(str str) strcasecmp
@ cdecl _strdate(ptr) msvcrt._strdate
@ cdecl _strdup(str) msvcrt._strdup
@ cdecl _strerror(long) msvcrt._strerror
@ cdecl _stricmp(str str) strcasecmp
@ stub _stricoll #(str str)
@ cdecl _strlwr(str) ntdll._strlwr
@ stub _strncoll #(str str long)
@ cdecl _strnicmp(str str long) strncasecmp
@ stub _strnicoll #(str str long)
@ cdecl _strnset(str long long) msvcrt._strnset
@ cdecl _strrev(str) msvcrt._strrev
@ cdecl _strset(str long) msvcrt._strset
@ cdecl _strtime(ptr) msvcrt._strtime
@ cdecl _strupr(str) ntdll._strupr
@ cdecl _swab(str str long) msvcrt._swab
@ extern _sys_errlist msvcrt._sys_errlist
@ extern _sys_nerr msvcrt._sys_nerr
@ cdecl _tell(long) msvcrt._tell
@ stub _telli64 #(long)
@ cdecl _tempnam(str str) msvcrt._tempnam
@ stub _timezone # extern
@ cdecl _tolower(long) msvcrt._tolower
@ cdecl _toupper(long) msvcrt._toupper
@ stub _tzname # extern
@ cdecl _tzset() tzset
@ cdecl _ui64toa(long long ptr long) ntdll._ui64toa
@ cdecl _ui64tow(long long ptr long) ntdll._ui64tow
@ cdecl _ultoa(long ptr long) ntdll._ultoa
@ cdecl _ultow(long ptr long) ntdll._ultow
@ cdecl _umask(long) msvcrt._umask
@ cdecl _ungetch(long) msvcrt._ungetch
@ cdecl _unlink(str) msvcrt._unlink
@ cdecl _unloaddll(long) msvcrt._unloaddll
@ cdecl _unlock(long) msvcrt._unlock
@ cdecl _utime(str ptr) msvcrt._utime
@ 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 _wchdir(wstr) msvcrt._wchdir
@ cdecl _wchmod(wstr long) msvcrt._wchmod
@ extern _wcmdln msvcrt._wcmdln
@ cdecl _wcreat(wstr long) msvcrt._wcreat
@ cdecl _wcsdup(wstr) msvcrt._wcsdup
@ cdecl _wcsicmp(wstr wstr) ntdll._wcsicmp
@ cdecl _wcsicoll(wstr wstr) msvcrt._wcsicoll
@ cdecl _wcslwr(wstr) ntdll._wcslwr
@ stub _wcsncoll #(wstr wstr long)
@ cdecl _wcsnicmp(wstr wstr long) ntdll._wcsnicmp
@ stub _wcsnicoll #(wstr wstr long)
@ 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)
@ 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)
@ cdecl _wfdopen(long wstr) msvcrt._wfdopen
@ cdecl _wfindfirst(wstr ptr) msvcrt._wfindfirst
@ stub _wfindfirsti64 #(wstr ptr)
@ cdecl _wfindnext(long ptr) msvcrt._wfindnext
@ stub _wfindnexti64 #(long ptr)
@ cdecl _wfopen(wstr wstr) msvcrt._wfopen
@ stub _wfreopen #(wstr wstr ptr)
@ cdecl _wfsopen(wstr wstr long) msvcrt._wfsopen
@ stub _wfullpath #(ptr wstr long)
@ cdecl _wgetcwd(wstr long) msvcrt._wgetcwd
@ cdecl _wgetdcwd(long wstr long) msvcrt._wgetdcwd
@ cdecl _wgetenv(wstr) msvcrt._wgetenv
@ extern _winmajor msvcrt._winmajor
@ extern _winminor msvcrt._winminor
@ extern _winver msvcrt._winver
@ cdecl _wmakepath(wstr wstr wstr wstr wstr) msvcrt._wmakepath
@ cdecl _wmkdir(wstr) msvcrt._wmkdir
@ cdecl _wmktemp(wstr) msvcrt._wmktemp
@ varargs _wopen(wstr long) msvcrt._wopen
@ stub _wperror #(wstr)
@ stub _wpgmptr # extern
@ stub _wpopen #(wstr wstr)
@ 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)
@ 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)
@ 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 _wtempnam(wstr wstr) msvcrt._wtempnam
@ stub _wtmpnam #(ptr)
@ cdecl _wtoi(wstr) ntdll._wtoi
@ cdecl _wtoi64(wstr) ntdll._wtoi64
@ cdecl _wtol(wstr) ntdll._wtol
@ cdecl _wunlink(wstr) msvcrt._wunlink
@ cdecl _wutime(wstr ptr) msvcrt._wutime
@ cdecl _y0(double) msvcrt._y0
@ cdecl _y1(double) msvcrt._y1
@ cdecl _yn(long double ) msvcrt._yn
@ cdecl abort() msvcrt.abort
@ cdecl abs(long)
@ cdecl acos(double)
@ cdecl asctime(ptr)
@ cdecl asin(double)
@ cdecl atan(double)
@ cdecl atan2(double double)
@ cdecl atexit(ptr) msvcrt.atexit
@ cdecl atof(str)
@ cdecl atoi(str)
@ cdecl atol(str)
@ cdecl bsearch(ptr ptr long long ptr)
@ cdecl calloc(long long) msvcrt.calloc
@ cdecl ceil(double)
@ cdecl clearerr(ptr) msvcrt.clearerr
@ cdecl clock() msvcrt.clock
@ cdecl cos(double)
@ cdecl cosh(double)
@ cdecl ctime(ptr)
@ cdecl difftime(long long) msvcrt.difftime
@ cdecl div(long long) msvcrt.div
@ cdecl exit(long) msvcrt.exit
@ cdecl exp(double)
@ cdecl fabs(double)
@ cdecl fclose(ptr) msvcrt.fclose
@ cdecl feof(ptr) msvcrt.feof
@ cdecl ferror(ptr) msvcrt.ferror
@ cdecl fflush(ptr) msvcrt.fflush
@ cdecl fgetc(ptr) msvcrt.fgetc
@ cdecl fgetpos(ptr ptr) msvcrt.fgetpos
@ cdecl fgets(ptr long ptr) msvcrt.fgets
@ cdecl fgetwc(ptr) msvcrt.fgetwc
@ cdecl fgetws(ptr long ptr) msvcrt.fgetws
@ cdecl floor(double)
@ cdecl fmod(double double)
@ cdecl fopen(str str) msvcrt.fopen
@ varargs fprintf(ptr str) msvcrt.fprintf
@ cdecl fputc(long ptr) msvcrt.fputc
@ cdecl fputs(str ptr) msvcrt.fputs
@ cdecl fputwc(long ptr) msvcrt.fputwc
@ cdecl fputws(wstr ptr) msvcrt.fputws
@ cdecl fread(ptr long long ptr) msvcrt.fread
@ cdecl free(ptr) msvcrt.free
@ cdecl freopen(str str ptr) msvcrt.freopen
@ cdecl frexp(double ptr)
@ varargs fscanf(ptr str) msvcrt.fscanf
@ cdecl fseek(ptr long long) msvcrt.fseek
@ cdecl fsetpos(ptr ptr) msvcrt.fsetpos
@ cdecl ftell(ptr) msvcrt.ftell
@ varargs fwprintf(ptr wstr) msvcrt.fwprintf
@ cdecl fwrite(ptr long long ptr) msvcrt.fwrite
@ varargs fwscanf(ptr wstr) msvcrt.fwscanf
@ cdecl getc(ptr) msvcrt.getc
@ cdecl getchar() msvcrt.getchar
@ cdecl getenv(str) msvcrt.getenv
@ cdecl gets(str) msvcrt.gets
@ cdecl getwc(ptr) msvcrt.getwc
@ cdecl getwchar() msvcrt.getwchar
@ cdecl gmtime(ptr)
@ cdecl is_wctype(long long) ntdll.iswctype
@ cdecl isalnum(long) msvcrt.isalnum
@ cdecl isalpha(long) msvcrt.isalpha
@ cdecl iscntrl(long) msvcrt.iscntrl
@ cdecl isdigit(long) msvcrt.isdigit
@ cdecl isgraph(long) msvcrt.isgraph
@ cdecl isleadbyte(long) msvcrt.isleadbyte
@ cdecl islower(long) msvcrt.islower
@ cdecl isprint(long) msvcrt.isprint
@ cdecl ispunct(long) msvcrt.ispunct
@ cdecl isspace(long) msvcrt.isspace
@ cdecl isupper(long) msvcrt.isupper
@ cdecl iswalnum(long) msvcrt.iswalnum
@ cdecl iswalpha(long) ntdll.iswalpha
@ cdecl iswascii(long) msvcrt.iswascii
@ cdecl iswcntrl(long) msvcrt.iswcntrl
@ cdecl iswctype(long long) ntdll.iswctype
@ cdecl iswdigit(long) msvcrt.iswdigit
@ cdecl iswgraph(long) msvcrt.iswgraph
@ cdecl iswlower(long) msvcrt.iswlower
@ cdecl iswprint(long) msvcrt.iswprint
@ cdecl iswpunct(long) msvcrt.iswpunct
@ cdecl iswspace(long) msvcrt.iswspace
@ cdecl iswupper(long) msvcrt.iswupper
@ cdecl iswxdigit(long) msvcrt.iswxdigit
@ cdecl isxdigit(long) msvcrt.isxdigit
@ cdecl labs(long)
@ cdecl ldexp( double long) msvcrt.ldexp
@ cdecl ldiv(long long) msvcrt.ldiv
@ stub localeconv #()
@ cdecl localtime(ptr)
@ cdecl log(double)
@ cdecl log10(double)
@ cdecl -register -i386 longjmp(ptr long) msvcrt.longjmp
@ cdecl malloc(long) msvcrt.malloc
@ cdecl mblen(ptr long) msvcrt.mblen
@ cdecl mbstowcs(ptr str long) ntdll.mbstowcs
@ cdecl mbtowc(wstr str long) msvcrt.mbtowc
@ cdecl memchr(ptr long long)
@ cdecl memcmp(ptr ptr long)
@ cdecl memcpy(ptr ptr long)
@ cdecl memmove(ptr ptr long)
@ cdecl memset(ptr long long)
@ cdecl mktime(ptr) msvcrt.mktime
@ cdecl modf(double ptr)
@ cdecl perror(str) msvcrt.perror
@ cdecl pow(double double)
@ varargs printf(str) msvcrt.printf
@ cdecl putc(long ptr) msvcrt.putc
@ cdecl putchar(long) msvcrt.putchar
@ cdecl puts(str) msvcrt.puts
@ cdecl putwc(long ptr) msvcrt.putwc
@ cdecl putwchar(long) msvcrt._fputwchar
@ cdecl qsort(ptr long long ptr)
@ stub raise #(long)
@ cdecl rand() msvcrt.rand
@ cdecl realloc(ptr long) msvcrt.realloc
@ cdecl remove(str) msvcrt.remove
@ cdecl rename(str str) msvcrt.rename
@ cdecl rewind(ptr) msvcrt.rewind
@ varargs scanf(str) msvcrt.scanf
@ cdecl setbuf(ptr ptr) msvcrt.setbuf
@ cdecl setlocale(long str) msvcrt.setlocale
@ cdecl setvbuf(ptr str long long) msvcrt.setvbuf
@ cdecl signal(long long) msvcrt.signal
@ cdecl sin(double)
@ cdecl sinh(double)
@ varargs sprintf(ptr str)
@ cdecl sqrt(double)
@ cdecl srand(long)
@ varargs sscanf(str str) msvcrt.sscanf
@ cdecl strcat(str str)
@ cdecl strchr(str long)
@ cdecl strcmp(str str)
@ cdecl strcoll(str str)
@ cdecl strcpy(ptr str)
@ cdecl strcspn(str str)
@ cdecl strerror(long) msvcrt.strerror
@ cdecl strftime(str long str ptr)
@ cdecl strlen(str)
@ cdecl strncat(str str long)
@ cdecl strncmp(str str long)
@ cdecl strncpy(ptr str long)
@ cdecl strpbrk(str str)
@ cdecl strrchr(str long)
@ cdecl strspn(str str)
@ cdecl strstr(str str)
@ cdecl strtod(str ptr)
@ cdecl strtok(str str)
@ cdecl strtol(str ptr long)
@ cdecl strtoul(str ptr long)
@ cdecl strxfrm(ptr str long)
@ varargs swprintf(wstr wstr) ntdll.swprintf
@ varargs swscanf(wstr wstr) msvcrt.swscanf
@ cdecl system(str) msvcrt.system
@ cdecl tan(double)
@ cdecl tanh(double)
@ cdecl time(ptr) msvcrt.time
@ cdecl tmpfile() msvcrt.tmpfile
@ cdecl tmpnam(ptr) msvcrt.tmpnam
@ cdecl tolower(long)
@ cdecl toupper(long)
@ cdecl towlower(long) ntdll.towlower
@ cdecl towupper(long) ntdll.towupper
@ cdecl ungetc(long ptr) msvcrt.ungetc
@ cdecl ungetwc(long ptr) msvcrt.ungetwc
@ cdecl vfprintf(ptr str long) msvcrt.vfprintf
@ cdecl vfwprintf(ptr wstr long) msvcrt.vfwprintf
@ cdecl vprintf(str long) msvcrt.vprintf
@ cdecl vsprintf(ptr str ptr)
@ cdecl vswprintf(ptr wstr long) msvcrt.vswprintf
@ cdecl vwprintf(wstr long) msvcrt.vwprintf
@ cdecl wcscat(wstr wstr) ntdll.wcscat
@ cdecl wcschr(wstr long) ntdll.wcschr
@ cdecl wcscmp(wstr wstr) ntdll.wcscmp
@ 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 wcslen(wstr) ntdll.wcslen
@ cdecl wcsncat(wstr wstr long) ntdll.wcsncat
@ cdecl wcsncmp(wstr wstr long) ntdll.wcsncmp
@ cdecl wcsncpy(ptr wstr long) ntdll.wcsncpy
@ cdecl wcspbrk(wstr wstr) msvcrt.wcspbrk
@ cdecl wcsrchr(wstr long) ntdll.wcsrchr
@ cdecl wcsspn(wstr wstr) ntdll.wcsspn
@ cdecl wcsstr(wstr wstr) ntdll.wcsstr
@ stub wcstod #(wstr ptr)
@ 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 wctomb(ptr long) msvcrt.wctomb
@ varargs wprintf(wstr) msvcrt.wprintf
@ varargs wscanf(wstr) msvcrt.wscanf
@ stub _Gettnames
