diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index 70fbb8c..13c10a2 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -463,6 +463,16 @@
   stdio/mingw_dummy__lock.c \
   stdio/mingw_lock.c
 
+src_msvcrt40=\
+  misc/___mb_cur_max_func.c \
+  misc/invalid_parameter_handler.c \
+  misc/lc_locale_func.c \
+  misc/seterrno.c \
+  stdio/_scprintf.c \
+  stdio/_vscprintf.c \
+  stdio/mingw_dummy__lock.c \
+  stdio/mingw_lock.c
+
 src_msvcr120_app=\
   misc/__set_app_type.c \
   misc/_getpid.c
@@ -911,6 +921,10 @@
 lib32/libmsvcrt20.a: lib32/msvcrt20.mri lib32/libmsvcrt20_def.a lib32/libmsvcrt_common.a
 	cd $(dir $@) && $(AR) -M < $(abspath $<)
 
+lib32_DATA += lib32/libmsvcrt40.a
+lib32/libmsvcrt40.a: lib32/msvcrt40.mri lib32/libmsvcrt40_def.a lib32/libmsvcrt_common.a
+	cd $(dir $@) && $(AR) -M < $(abspath $<)
+
 lib32_DATA += lib32/libmsvcr80.a
 lib32/libmsvcr80.a: lib-common/msvcr80.mri lib32/libmsvcr80_def.a lib32/libmsvcrt_common.a
 	cd $(dir $@) && $(AR) -M < $(abspath $<)
@@ -948,13 +962,15 @@
 	cd $(dir $@) && $(AR) -M < $(abspath $<)
 
 lib32_DATA += lib32/libucrt.a lib32/libucrtapp.a
-noinst_LIBRARIES += lib32/libcrtdll_extra.a lib32/libmsvcrt10_extra.a lib32/libmsvcrt20_extra.a lib32/libmsvcrt_common.a lib32/libmsvcrt_extra.a lib32/libmsvcr120_app_extra.a lib32/libucrt_extra.a lib32/libucrtapp_extra.a
+noinst_LIBRARIES += lib32/libcrtdll_extra.a lib32/libmsvcrt10_extra.a lib32/libmsvcrt20_extra.a lib32/libmsvcrt40_extra.a lib32/libmsvcrt_common.a lib32/libmsvcrt_extra.a lib32/libmsvcr120_app_extra.a lib32/libucrt_extra.a lib32/libucrtapp_extra.a
 lib32_libcrtdll_extra_a_SOURCES = $(src_crtdll)
 lib32_libcrtdll_extra_a_CPPFLAGS = $(CPPFLAGS32) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
 lib32_libmsvcrt10_extra_a_SOURCES = $(src_msvcrt10)
 lib32_libmsvcrt10_extra_a_CPPFLAGS = $(CPPFLAGS32) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
 lib32_libmsvcrt20_extra_a_SOURCES = $(src_msvcrt20)
 lib32_libmsvcrt20_extra_a_CPPFLAGS = $(CPPFLAGS32) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
+lib32_libmsvcrt40_extra_a_SOURCES = $(src_msvcrt40)
+lib32_libmsvcrt40_extra_a_CPPFLAGS = $(CPPFLAGS32) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
 lib32_libmsvcrt_common_a_SOURCES = $(src_msvcrt_common)
 lib32_libmsvcrt_common_a_CPPFLAGS=$(CPPFLAGS32) -D__LIBMSVCRT__ $(extra_include) $(sysincludes)
 lib32_libmsvcrt_extra_a_SOURCES = $(src_msvcrt32)
diff --git a/mingw-w64-crt/lib32/msvcrt40.def b/mingw-w64-crt/lib32/msvcrt40.def
new file mode 100644
index 0000000..648f792
--- /dev/null
+++ b/mingw-w64-crt/lib32/msvcrt40.def
@@ -0,0 +1,1654 @@
+;
+; Definition file of MSVCRT40.dll
+; Automatic generated by gendef
+; written by Kai Tietz 2008
+;
+LIBRARY "MSVCRT40.dll"
+EXPORTS
+; public: __thiscall Iostream_init::Iostream_init(class ios &,int)
+??0Iostream_init@@QAE@AAVios@@H@Z ; has WINAPI (@8)
+; public: __thiscall Iostream_init::Iostream_init(void)
+??0Iostream_init@@QAE@XZ
+; public: __thiscall __non_rtti_object::__non_rtti_object(class __non_rtti_object const &)
+??0__non_rtti_object@@QAE@ABV0@@Z ; has WINAPI (@4)
+; public: __thiscall __non_rtti_object::__non_rtti_object(char const *)
+??0__non_rtti_object@@QAE@PBD@Z ; has WINAPI (@4)
+; public: __thiscall bad_cast::bad_cast(char const *const &)
+??0bad_cast@@QAE@ABQBD@Z ; has WINAPI (@4)
+; public: __thiscall bad_cast::bad_cast(class bad_cast const &)
+??0bad_cast@@QAE@ABV0@@Z ; has WINAPI (@4)
+; public: __thiscall bad_typeid::bad_typeid(class bad_typeid const &)
+??0bad_typeid@@QAE@ABV0@@Z ; has WINAPI (@4)
+; public: __thiscall bad_typeid::bad_typeid(char const *)
+??0bad_typeid@@QAE@PBD@Z ; has WINAPI (@4)
+; public: __thiscall exception::exception(char const *const &)
+??0exception@@QAE@ABQBD@Z ; has WINAPI (@4)
+; public: __thiscall exception::exception(class exception const &)
+??0exception@@QAE@ABV0@@Z ; has WINAPI (@4)
+; public: __thiscall exception::exception(void)
+??0exception@@QAE@XZ
+; public: __thiscall filebuf::filebuf(class filebuf const &)
+??0filebuf@@QAE@ABV0@@Z ; has WINAPI (@4)
+; public: __thiscall filebuf::filebuf(int)
+??0filebuf@@QAE@H@Z ; has WINAPI (@4)
+; public: __thiscall filebuf::filebuf(int,char *,int)
+??0filebuf@@QAE@HPADH@Z ; has WINAPI (@12)
+; public: __thiscall filebuf::filebuf(void)
+??0filebuf@@QAE@XZ
+; public: __thiscall fstream::fstream(class fstream const &)
+??0fstream@@QAE@ABV0@@Z ; has WINAPI (@8)
+; public: __thiscall fstream::fstream(int)
+??0fstream@@QAE@H@Z ; has WINAPI (@8)
+; public: __thiscall fstream::fstream(int,char *,int)
+??0fstream@@QAE@HPADH@Z ; has WINAPI (@16)
+; public: __thiscall fstream::fstream(char const *,int,int)
+??0fstream@@QAE@PBDHH@Z ; has WINAPI (@16)
+; public: __thiscall fstream::fstream(void)
+??0fstream@@QAE@XZ ; has WINAPI (@4)
+; public: __thiscall ifstream::ifstream(class ifstream const &)
+??0ifstream@@QAE@ABV0@@Z ; has WINAPI (@8)
+; public: __thiscall ifstream::ifstream(int)
+??0ifstream@@QAE@H@Z ; has WINAPI (@8)
+; public: __thiscall ifstream::ifstream(int,char *,int)
+??0ifstream@@QAE@HPADH@Z ; has WINAPI (@16)
+; public: __thiscall ifstream::ifstream(char const *,int,int)
+??0ifstream@@QAE@PBDHH@Z ; has WINAPI (@16)
+; public: __thiscall ifstream::ifstream(void)
+??0ifstream@@QAE@XZ ; has WINAPI (@4)
+; protected: __thiscall ios::ios(class ios const &)
+??0ios@@IAE@ABV0@@Z ; has WINAPI (@4)
+; protected: __thiscall ios::ios(void)
+??0ios@@IAE@XZ
+; public: __thiscall ios::ios(class streambuf *)
+??0ios@@QAE@PAVstreambuf@@@Z ; has WINAPI (@4)
+; protected: __thiscall iostream::iostream(class iostream const &)
+??0iostream@@IAE@ABV0@@Z ; has WINAPI (@8)
+; protected: __thiscall iostream::iostream(void)
+??0iostream@@IAE@XZ ; has WINAPI (@4)
+; public: __thiscall iostream::iostream(class streambuf *)
+??0iostream@@QAE@PAVstreambuf@@@Z ; has WINAPI (@8)
+; protected: __thiscall istream::istream(class istream const &)
+??0istream@@IAE@ABV0@@Z ; has WINAPI (@8)
+; protected: __thiscall istream::istream(void)
+??0istream@@IAE@XZ ; has WINAPI (@4)
+; public: __thiscall istream::istream(class streambuf *)
+??0istream@@QAE@PAVstreambuf@@@Z ; has WINAPI (@8)
+; public: __thiscall istream_withassign::istream_withassign(class istream_withassign const &)
+??0istream_withassign@@QAE@ABV0@@Z ; has WINAPI (@8)
+; public: __thiscall istream_withassign::istream_withassign(class streambuf *)
+??0istream_withassign@@QAE@PAVstreambuf@@@Z ; has WINAPI (@8)
+; public: __thiscall istream_withassign::istream_withassign(void)
+??0istream_withassign@@QAE@XZ ; has WINAPI (@4)
+; public: __thiscall istrstream::istrstream(class istrstream const &)
+??0istrstream@@QAE@ABV0@@Z ; has WINAPI (@8)
+; public: __thiscall istrstream::istrstream(char *)
+??0istrstream@@QAE@PAD@Z ; has WINAPI (@8)
+; public: __thiscall istrstream::istrstream(char *,int)
+??0istrstream@@QAE@PADH@Z ; has WINAPI (@12)
+; public: __thiscall logic_error::logic_error(char const *const &)
+??0logic_error@@QAE@ABQBD@Z ; has WINAPI (@4)
+; public: __thiscall logic_error::logic_error(class logic_error const &)
+??0logic_error@@QAE@ABV0@@Z ; has WINAPI (@4)
+; public: __thiscall ofstream::ofstream(class ofstream const &)
+??0ofstream@@QAE@ABV0@@Z ; has WINAPI (@8)
+; public: __thiscall ofstream::ofstream(int)
+??0ofstream@@QAE@H@Z ; has WINAPI (@8)
+; public: __thiscall ofstream::ofstream(int,char *,int)
+??0ofstream@@QAE@HPADH@Z ; has WINAPI (@16)
+; public: __thiscall ofstream::ofstream(char const *,int,int)
+??0ofstream@@QAE@PBDHH@Z ; has WINAPI (@16)
+; public: __thiscall ofstream::ofstream(void)
+??0ofstream@@QAE@XZ ; has WINAPI (@4)
+; protected: __thiscall ostream::ostream(class ostream const &)
+??0ostream@@IAE@ABV0@@Z ; has WINAPI (@8)
+; protected: __thiscall ostream::ostream(void)
+??0ostream@@IAE@XZ ; has WINAPI (@4)
+; public: __thiscall ostream::ostream(class streambuf *)
+??0ostream@@QAE@PAVstreambuf@@@Z ; has WINAPI (@8)
+; public: __thiscall ostream_withassign::ostream_withassign(class ostream_withassign const &)
+??0ostream_withassign@@QAE@ABV0@@Z ; has WINAPI (@8)
+; public: __thiscall ostream_withassign::ostream_withassign(class streambuf *)
+??0ostream_withassign@@QAE@PAVstreambuf@@@Z ; has WINAPI (@8)
+; public: __thiscall ostream_withassign::ostream_withassign(void)
+??0ostream_withassign@@QAE@XZ ; has WINAPI (@4)
+; public: __thiscall ostrstream::ostrstream(class ostrstream const &)
+??0ostrstream@@QAE@ABV0@@Z ; has WINAPI (@8)
+; public: __thiscall ostrstream::ostrstream(char *,int,int)
+??0ostrstream@@QAE@PADHH@Z ; has WINAPI (@16)
+; public: __thiscall ostrstream::ostrstream(void)
+??0ostrstream@@QAE@XZ ; has WINAPI (@4)
+; public: __thiscall stdiobuf::stdiobuf(class stdiobuf const &)
+??0stdiobuf@@QAE@ABV0@@Z ; has WINAPI (@4)
+; public: __thiscall stdiobuf::stdiobuf(struct _iobuf *)
+??0stdiobuf@@QAE@PAU_iobuf@@@Z ; has WINAPI (@4)
+; public: __thiscall stdiostream::stdiostream(class stdiostream const &)
+??0stdiostream@@QAE@ABV0@@Z ; has WINAPI (@8)
+; public: __thiscall stdiostream::stdiostream(struct _iobuf *)
+??0stdiostream@@QAE@PAU_iobuf@@@Z ; has WINAPI (@8)
+; protected: __thiscall streambuf::streambuf(char *,int)
+??0streambuf@@IAE@PADH@Z ; has WINAPI (@8)
+; protected: __thiscall streambuf::streambuf(void)
+??0streambuf@@IAE@XZ
+; public: __thiscall streambuf::streambuf(class streambuf const &)
+??0streambuf@@QAE@ABV0@@Z ; has WINAPI (@4)
+; public: __thiscall strstream::strstream(class strstream const &)
+??0strstream@@QAE@ABV0@@Z ; has WINAPI (@8)
+; public: __thiscall strstream::strstream(char *,int,int)
+??0strstream@@QAE@PADHH@Z ; has WINAPI (@16)
+; public: __thiscall strstream::strstream(void)
+??0strstream@@QAE@XZ ; has WINAPI (@4)
+; public: __thiscall strstreambuf::strstreambuf(class strstreambuf const &)
+??0strstreambuf@@QAE@ABV0@@Z ; has WINAPI (@4)
+; public: __thiscall strstreambuf::strstreambuf(int)
+??0strstreambuf@@QAE@H@Z ; has WINAPI (@4)
+; public: __thiscall strstreambuf::strstreambuf(void *(__cdecl *)(long),void(__cdecl *)(void *))
+??0strstreambuf@@QAE@P6APAXJ@ZP6AXPAX@Z@Z ; has WINAPI (@8)
+; public: __thiscall strstreambuf::strstreambuf(char *,int,char *)
+??0strstreambuf@@QAE@PADH0@Z ; has WINAPI (@12)
+; public: __thiscall strstreambuf::strstreambuf(void)
+??0strstreambuf@@QAE@XZ
+; public: __thiscall Iostream_init::~Iostream_init(void)
+??1Iostream_init@@QAE@XZ
+; public: virtual __thiscall __non_rtti_object::~__non_rtti_object(void)
+??1__non_rtti_object@@UAE@XZ
+; public: virtual __thiscall bad_cast::~bad_cast(void)
+??1bad_cast@@UAE@XZ
+; public: virtual __thiscall bad_typeid::~bad_typeid(void)
+??1bad_typeid@@UAE@XZ
+; public: virtual __thiscall exception::~exception(void)
+??1exception@@UAE@XZ
+; public: virtual __thiscall filebuf::~filebuf(void)
+??1filebuf@@UAE@XZ
+; public: virtual __thiscall fstream::~fstream(void)
+??1fstream@@UAE@XZ
+; public: virtual __thiscall ifstream::~ifstream(void)
+??1ifstream@@UAE@XZ
+; public: virtual __thiscall ios::~ios(void)
+??1ios@@UAE@XZ
+; public: virtual __thiscall iostream::~iostream(void)
+??1iostream@@UAE@XZ
+; public: virtual __thiscall istream::~istream(void)
+??1istream@@UAE@XZ
+; public: virtual __thiscall istream_withassign::~istream_withassign(void)
+??1istream_withassign@@UAE@XZ
+; public: virtual __thiscall istrstream::~istrstream(void)
+??1istrstream@@UAE@XZ
+; public: virtual __thiscall logic_error::~logic_error(void)
+??1logic_error@@UAE@XZ
+; public: virtual __thiscall ofstream::~ofstream(void)
+??1ofstream@@UAE@XZ
+; public: virtual __thiscall ostream::~ostream(void)
+??1ostream@@UAE@XZ
+; public: virtual __thiscall ostream_withassign::~ostream_withassign(void)
+??1ostream_withassign@@UAE@XZ
+; public: virtual __thiscall ostrstream::~ostrstream(void)
+??1ostrstream@@UAE@XZ
+; public: virtual __thiscall stdiobuf::~stdiobuf(void)
+??1stdiobuf@@UAE@XZ
+; public: virtual __thiscall stdiostream::~stdiostream(void)
+??1stdiostream@@UAE@XZ
+; public: virtual __thiscall streambuf::~streambuf(void)
+??1streambuf@@UAE@XZ
+; public: virtual __thiscall strstream::~strstream(void)
+??1strstream@@UAE@XZ
+; public: virtual __thiscall strstreambuf::~strstreambuf(void)
+??1strstreambuf@@UAE@XZ
+; public: virtual __thiscall type_info::~type_info(void)
+??1type_info@@UAE@XZ
+; void *__cdecl operator new(unsigned int)
+??2@YAPAXI@Z
+; void __cdecl operator delete(void *)
+??3@YAXPAX@Z
+; public: class Iostream_init &__thiscall Iostream_init::operator =(class Iostream_init const &)
+??4Iostream_init@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
+; public: class __non_rtti_object &__thiscall __non_rtti_object::operator =(class __non_rtti_object const &)
+??4__non_rtti_object@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
+; public: class bad_cast &__thiscall bad_cast::operator =(class bad_cast const &)
+??4bad_cast@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
+; public: class bad_typeid &__thiscall bad_typeid::operator =(class bad_typeid const &)
+??4bad_typeid@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
+; public: class exception &__thiscall exception::operator =(class exception const &)
+??4exception@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
+; public: class filebuf &__thiscall filebuf::operator =(class filebuf const &)
+??4filebuf@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
+; public: class fstream &__thiscall fstream::operator =(class fstream &)
+??4fstream@@QAEAAV0@AAV0@@Z ; has WINAPI (@4)
+; public: class ifstream &__thiscall ifstream::operator =(class ifstream const &)
+??4ifstream@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
+; protected: class ios &__thiscall ios::operator =(class ios const &)
+??4ios@@IAEAAV0@ABV0@@Z ; has WINAPI (@4)
+; protected: class iostream &__thiscall iostream::operator =(class iostream &)
+??4iostream@@IAEAAV0@AAV0@@Z ; has WINAPI (@4)
+; protected: class iostream &__thiscall iostream::operator =(class streambuf *)
+??4iostream@@IAEAAV0@PAVstreambuf@@@Z ; has WINAPI (@4)
+; protected: class istream &__thiscall istream::operator =(class istream const &)
+??4istream@@IAEAAV0@ABV0@@Z ; has WINAPI (@4)
+; protected: class istream &__thiscall istream::operator =(class streambuf *)
+??4istream@@IAEAAV0@PAVstreambuf@@@Z ; has WINAPI (@4)
+; public: class istream_withassign &__thiscall istream_withassign::operator =(class istream_withassign const &)
+??4istream_withassign@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream_withassign::operator =(class istream const &)
+??4istream_withassign@@QAEAAVistream@@ABV1@@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream_withassign::operator =(class streambuf *)
+??4istream_withassign@@QAEAAVistream@@PAVstreambuf@@@Z ; has WINAPI (@4)
+; public: class istrstream &__thiscall istrstream::operator =(class istrstream const &)
+??4istrstream@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
+; public: class logic_error &__thiscall logic_error::operator =(class logic_error const &)
+??4logic_error@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
+; public: class ofstream &__thiscall ofstream::operator =(class ofstream const &)
+??4ofstream@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
+; protected: class ostream &__thiscall ostream::operator =(class ostream const &)
+??4ostream@@IAEAAV0@ABV0@@Z ; has WINAPI (@4)
+; protected: class ostream &__thiscall ostream::operator =(class streambuf *)
+??4ostream@@IAEAAV0@PAVstreambuf@@@Z ; has WINAPI (@4)
+; public: class ostream_withassign &__thiscall ostream_withassign::operator =(class ostream_withassign const &)
+??4ostream_withassign@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
+; public: class ostream &__thiscall ostream_withassign::operator =(class ostream const &)
+??4ostream_withassign@@QAEAAVostream@@ABV1@@Z ; has WINAPI (@4)
+; public: class ostream &__thiscall ostream_withassign::operator =(class streambuf *)
+??4ostream_withassign@@QAEAAVostream@@PAVstreambuf@@@Z ; has WINAPI (@4)
+; public: class ostrstream &__thiscall ostrstream::operator =(class ostrstream const &)
+??4ostrstream@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
+; public: class stdiobuf &__thiscall stdiobuf::operator =(class stdiobuf const &)
+??4stdiobuf@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
+; public: class stdiostream &__thiscall stdiostream::operator =(class stdiostream &)
+??4stdiostream@@QAEAAV0@AAV0@@Z ; has WINAPI (@4)
+; public: class streambuf &__thiscall streambuf::operator =(class streambuf const &)
+??4streambuf@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
+; public: class strstream &__thiscall strstream::operator =(class strstream &)
+??4strstream@@QAEAAV0@AAV0@@Z ; has WINAPI (@4)
+; public: class strstreambuf &__thiscall strstreambuf::operator =(class strstreambuf const &)
+??4strstreambuf@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::operator >>(signed char &)
+??5istream@@QAEAAV0@AAC@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::operator >>(char &)
+??5istream@@QAEAAV0@AAD@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::operator >>(unsigned char &)
+??5istream@@QAEAAV0@AAE@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::operator >>(short &)
+??5istream@@QAEAAV0@AAF@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::operator >>(unsigned short &)
+??5istream@@QAEAAV0@AAG@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::operator >>(int &)
+??5istream@@QAEAAV0@AAH@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::operator >>(unsigned int &)
+??5istream@@QAEAAV0@AAI@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::operator >>(long &)
+??5istream@@QAEAAV0@AAJ@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::operator >>(unsigned long &)
+??5istream@@QAEAAV0@AAK@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::operator >>(float &)
+??5istream@@QAEAAV0@AAM@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::operator >>(double &)
+??5istream@@QAEAAV0@AAN@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::operator >>(long double &)
+??5istream@@QAEAAV0@AAO@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::operator >>(class istream &(__cdecl *)(class istream &))
+??5istream@@QAEAAV0@P6AAAV0@AAV0@@Z@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::operator >>(class ios &(__cdecl *)(class ios &))
+??5istream@@QAEAAV0@P6AAAVios@@AAV1@@Z@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::operator >>(signed char *)
+??5istream@@QAEAAV0@PAC@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::operator >>(char *)
+??5istream@@QAEAAV0@PAD@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::operator >>(unsigned char *)
+??5istream@@QAEAAV0@PAE@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::operator >>(class streambuf *)
+??5istream@@QAEAAV0@PAVstreambuf@@@Z ; has WINAPI (@4)
+; public: class ostream &__thiscall ostream::operator <<(signed char)
+??6ostream@@QAEAAV0@C@Z ; has WINAPI (@4)
+; public: class ostream &__thiscall ostream::operator <<(char)
+??6ostream@@QAEAAV0@D@Z ; has WINAPI (@4)
+; public: class ostream &__thiscall ostream::operator <<(unsigned char)
+??6ostream@@QAEAAV0@E@Z ; has WINAPI (@4)
+; public: class ostream &__thiscall ostream::operator <<(short)
+??6ostream@@QAEAAV0@F@Z ; has WINAPI (@4)
+; public: class ostream &__thiscall ostream::operator <<(unsigned short)
+??6ostream@@QAEAAV0@G@Z ; has WINAPI (@4)
+; public: class ostream &__thiscall ostream::operator <<(int)
+??6ostream@@QAEAAV0@H@Z ; has WINAPI (@4)
+; public: class ostream &__thiscall ostream::operator <<(unsigned int)
+??6ostream@@QAEAAV0@I@Z ; has WINAPI (@4)
+; public: class ostream &__thiscall ostream::operator <<(long)
+??6ostream@@QAEAAV0@J@Z ; has WINAPI (@4)
+; public: class ostream &__thiscall ostream::operator <<(unsigned long)
+??6ostream@@QAEAAV0@K@Z ; has WINAPI (@4)
+; public: class ostream &__thiscall ostream::operator <<(float)
+??6ostream@@QAEAAV0@M@Z ; has WINAPI (@4)
+; public: class ostream &__thiscall ostream::operator <<(double)
+??6ostream@@QAEAAV0@N@Z ; has WINAPI (@8)
+; public: class ostream &__thiscall ostream::operator <<(long double)
+??6ostream@@QAEAAV0@O@Z ; has WINAPI (@8)
+; public: class ostream &__thiscall ostream::operator <<(class ostream &(__cdecl *)(class ostream &))
+??6ostream@@QAEAAV0@P6AAAV0@AAV0@@Z@Z ; has WINAPI (@4)
+; public: class ostream &__thiscall ostream::operator <<(class ios &(__cdecl *)(class ios &))
+??6ostream@@QAEAAV0@P6AAAVios@@AAV1@@Z@Z ; has WINAPI (@4)
+; public: class ostream &__thiscall ostream::operator <<(class streambuf *)
+??6ostream@@QAEAAV0@PAVstreambuf@@@Z ; has WINAPI (@4)
+; public: class ostream &__thiscall ostream::operator <<(signed char const *)
+??6ostream@@QAEAAV0@PBC@Z ; has WINAPI (@4)
+; public: class ostream &__thiscall ostream::operator <<(char const *)
+??6ostream@@QAEAAV0@PBD@Z ; has WINAPI (@4)
+; public: class ostream &__thiscall ostream::operator <<(unsigned char const *)
+??6ostream@@QAEAAV0@PBE@Z ; has WINAPI (@4)
+; public: class ostream &__thiscall ostream::operator <<(void const *)
+??6ostream@@QAEAAV0@PBX@Z ; has WINAPI (@4)
+; public: int __thiscall ios::operator !(void)const 
+??7ios@@QBEHXZ
+; public: int __thiscall type_info::operator ==(class type_info const &)const 
+??8type_info@@QBEHABV0@@Z ; has WINAPI (@4)
+; public: int __thiscall type_info::operator !=(class type_info const &)const 
+??9type_info@@QBEHABV0@@Z ; has WINAPI (@4)
+; public: void __thiscall ios::operator void *(...)const throw()
+??Bios@@QBEPAXXZ
+; const __non_rtti_object::$vftable
+??_7__non_rtti_object@@6B@ DATA
+; const bad_cast::$vftable
+??_7bad_cast@@6B@ DATA
+; const bad_typeid::$vftable
+??_7bad_typeid@@6B@ DATA
+; const exception::$vftable
+??_7exception@@6B@ DATA
+; const filebuf::$vftable
+??_7filebuf@@6B@ DATA
+; const fstream::$vftable
+??_7fstream@@6B@ DATA
+; const ifstream::$vftable
+??_7ifstream@@6B@ DATA
+; const ios::$vftable
+??_7ios@@6B@ DATA
+; const iostream::$vftable
+??_7iostream@@6B@ DATA
+; const istream::$vftable
+??_7istream@@6B@ DATA
+; const istream_withassign::$vftable
+??_7istream_withassign@@6B@ DATA
+; const istrstream::$vftable
+??_7istrstream@@6B@ DATA
+; const logic_error::$vftable
+??_7logic_error@@6B@ DATA
+; const ofstream::$vftable
+??_7ofstream@@6B@ DATA
+; const ostream::$vftable
+??_7ostream@@6B@ DATA
+; const ostream_withassign::$vftable
+??_7ostream_withassign@@6B@ DATA
+; const ostrstream::$vftable
+??_7ostrstream@@6B@ DATA
+; const stdiobuf::$vftable
+??_7stdiobuf@@6B@ DATA
+; const stdiostream::$vftable
+??_7stdiostream@@6B@ DATA
+; const streambuf::$vftable
+??_7streambuf@@6B@ DATA
+; const strstream::$vftable
+??_7strstream@@6B@ DATA
+; const strstreambuf::$vftable
+??_7strstreambuf@@6B@ DATA
+; const fstream::$vbtable {for 'istream' }
+??_8fstream@@7Bistream@@@ DATA
+; const fstream::$vbtable {for 'ostream' }
+??_8fstream@@7Bostream@@@ DATA
+; const ifstream::$vbtable
+??_8ifstream@@7B@ DATA
+; const iostream::$vbtable {for 'istream' }
+??_8iostream@@7Bistream@@@ DATA
+; const iostream::$vbtable {for 'ostream' }
+??_8iostream@@7Bostream@@@ DATA
+; const istream::$vbtable
+??_8istream@@7B@ DATA
+; const istream_withassign::$vbtable
+??_8istream_withassign@@7B@ DATA
+; const istrstream::$vbtable
+??_8istrstream@@7B@ DATA
+; const ofstream::$vbtable
+??_8ofstream@@7B@ DATA
+; const ostream::$vbtable
+??_8ostream@@7B@ DATA
+; const ostream_withassign::$vbtable
+??_8ostream_withassign@@7B@ DATA
+; const ostrstream::$vbtable
+??_8ostrstream@@7B@ DATA
+; const stdiostream::$vbtable {for 'istream' }
+??_8stdiostream@@7Bistream@@@ DATA
+; const stdiostream::$vbtable {for 'ostream' }
+??_8stdiostream@@7Bostream@@@ DATA
+; const strstream::$vbtable {for 'istream' }
+??_8strstream@@7Bistream@@@ DATA
+; const strstream::$vbtable {for 'ostream' }
+??_8strstream@@7Bostream@@@ DATA
+; public: void __thiscall fstream::vbase_destructor(void)
+??_Dfstream@@QAEXXZ
+; public: void __thiscall ifstream::vbase_destructor(void)
+??_Difstream@@QAEXXZ
+; public: void __thiscall iostream::vbase_destructor(void)
+??_Diostream@@QAEXXZ
+; public: void __thiscall istream::vbase_destructor(void)
+??_Distream@@QAEXXZ
+; public: void __thiscall istream_withassign::vbase_destructor(void)
+??_Distream_withassign@@QAEXXZ
+; public: void __thiscall istrstream::vbase_destructor(void)
+??_Distrstream@@QAEXXZ
+; public: void __thiscall ofstream::vbase_destructor(void)
+??_Dofstream@@QAEXXZ
+; public: void __thiscall ostream::vbase_destructor(void)
+??_Dostream@@QAEXXZ
+; public: void __thiscall ostream_withassign::vbase_destructor(void)
+??_Dostream_withassign@@QAEXXZ
+; public: void __thiscall ostrstream::vbase_destructor(void)
+??_Dostrstream@@QAEXXZ
+; public: void __thiscall stdiostream::vbase_destructor(void)
+??_Dstdiostream@@QAEXXZ
+; public: void __thiscall strstream::vbase_destructor(void)
+??_Dstrstream@@QAEXXZ
+; public: void *__thiscall Iostream_init::__vecDelDtor(unsigned int)
+??_EIostream_init@@QAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall __non_rtti_object::__vecDelDtor(unsigned int)
+??_E__non_rtti_object@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall bad_cast::__vecDelDtor(unsigned int)
+??_Ebad_cast@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall bad_typeid::__vecDelDtor(unsigned int)
+??_Ebad_typeid@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall exception::__vecDelDtor(unsigned int)
+??_Eexception@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall filebuf::__vecDelDtor(unsigned int)
+??_Efilebuf@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall fstream::__vecDelDtor(unsigned int)
+??_Efstream@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall ifstream::__vecDelDtor(unsigned int)
+??_Eifstream@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall ios::__vecDelDtor(unsigned int)
+??_Eios@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall iostream::__vecDelDtor(unsigned int)
+??_Eiostream@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall istream::__vecDelDtor(unsigned int)
+??_Eistream@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall istream_withassign::__vecDelDtor(unsigned int)
+??_Eistream_withassign@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall istrstream::__vecDelDtor(unsigned int)
+??_Eistrstream@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall logic_error::__vecDelDtor(unsigned int)
+??_Elogic_error@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall ofstream::__vecDelDtor(unsigned int)
+??_Eofstream@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall ostream::__vecDelDtor(unsigned int)
+??_Eostream@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall ostream_withassign::__vecDelDtor(unsigned int)
+??_Eostream_withassign@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall ostrstream::__vecDelDtor(unsigned int)
+??_Eostrstream@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall stdiobuf::__vecDelDtor(unsigned int)
+??_Estdiobuf@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall stdiostream::__vecDelDtor(unsigned int)
+??_Estdiostream@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall streambuf::__vecDelDtor(unsigned int)
+??_Estreambuf@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall strstream::__vecDelDtor(unsigned int)
+??_Estrstream@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall strstreambuf::__vecDelDtor(unsigned int)
+??_Estrstreambuf@@UAEPAXI@Z ; has WINAPI (@4)
+; public: void *__thiscall Iostream_init::__delDtor(unsigned int)
+??_GIostream_init@@QAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall __non_rtti_object::__delDtor(unsigned int)
+??_G__non_rtti_object@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall bad_cast::__delDtor(unsigned int)
+??_Gbad_cast@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall bad_typeid::__delDtor(unsigned int)
+??_Gbad_typeid@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall exception::__delDtor(unsigned int)
+??_Gexception@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall filebuf::__delDtor(unsigned int)
+??_Gfilebuf@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall fstream::__delDtor(unsigned int)
+??_Gfstream@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall ifstream::__delDtor(unsigned int)
+??_Gifstream@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall ios::__delDtor(unsigned int)
+??_Gios@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall iostream::__delDtor(unsigned int)
+??_Giostream@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall istream::__delDtor(unsigned int)
+??_Gistream@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall istream_withassign::__delDtor(unsigned int)
+??_Gistream_withassign@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall istrstream::__delDtor(unsigned int)
+??_Gistrstream@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall logic_error::__delDtor(unsigned int)
+??_Glogic_error@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall ofstream::__delDtor(unsigned int)
+??_Gofstream@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall ostream::__delDtor(unsigned int)
+??_Gostream@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall ostream_withassign::__delDtor(unsigned int)
+??_Gostream_withassign@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall ostrstream::__delDtor(unsigned int)
+??_Gostrstream@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall stdiobuf::__delDtor(unsigned int)
+??_Gstdiobuf@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall stdiostream::__delDtor(unsigned int)
+??_Gstdiostream@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall streambuf::__delDtor(unsigned int)
+??_Gstreambuf@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall strstream::__delDtor(unsigned int)
+??_Gstrstream@@UAEPAXI@Z ; has WINAPI (@4)
+; public: virtual void *__thiscall strstreambuf::__delDtor(unsigned int)
+??_Gstrstreambuf@@UAEPAXI@Z ; has WINAPI (@4)
+; int(__cdecl *)(unsigned int)__cdecl _query_new_handler(void)
+?_query_new_handler@@YAP6AHI@ZXZ
+; int __cdecl _query_new_mode(void)
+?_query_new_mode@@YAHXZ
+; int(__cdecl *)(unsigned int)__cdecl _set_new_handler(int(__cdecl *)(unsigned int))
+?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z
+; int __cdecl _set_new_mode(int)
+?_set_new_mode@@YAHH@Z
+; void(__cdecl *)(unsigned int,struct _EXCEPTION_POINTERS *)__cdecl _set_se_translator(void(__cdecl *)(unsigned int,struct _EXCEPTION_POINTERS *))
+?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z
+; public: static long const ios::adjustfield
+?adjustfield@ios@@2JB DATA
+; protected: int __thiscall streambuf::allocate(void)
+?allocate@streambuf@@IAEHXZ
+; public: class filebuf *__thiscall filebuf::attach(int)
+?attach@filebuf@@QAEPAV1@H@Z ; has WINAPI (@4)
+; public: void __thiscall fstream::attach(int)
+?attach@fstream@@QAEXH@Z ; has WINAPI (@4)
+; public: void __thiscall ifstream::attach(int)
+?attach@ifstream@@QAEXH@Z ; has WINAPI (@4)
+; public: void __thiscall ofstream::attach(int)
+?attach@ofstream@@QAEXH@Z ; has WINAPI (@4)
+; public: int __thiscall ios::bad(void)const 
+?bad@ios@@QBEHXZ
+; protected: char *__thiscall streambuf::base(void)const 
+?base@streambuf@@IBEPADXZ
+; public: static long const ios::basefield
+?basefield@ios@@2JB DATA
+; public: int __thiscall type_info::before(class type_info const &)const 
+?before@type_info@@QBEHABV1@@Z ; has WINAPI (@4)
+; public: static int const filebuf::binary
+?binary@filebuf@@2HB DATA
+; public: static long __cdecl ios::bitalloc(void)
+?bitalloc@ios@@SAJXZ
+; protected: int __thiscall streambuf::blen(void)const 
+?blen@streambuf@@IBEHXZ
+; class ostream_withassign cerr
+?cerr@@3Vostream_withassign@@A DATA
+; class istream_withassign cin
+?cin@@3Vistream_withassign@@A DATA
+; public: void __thiscall ios::clear(int)
+?clear@ios@@QAEXH@Z ; has WINAPI (@4)
+; class ostream_withassign clog
+?clog@@3Vostream_withassign@@A DATA
+; public: class filebuf *__thiscall filebuf::close(void)
+?close@filebuf@@QAEPAV1@XZ
+; public: void __thiscall fstream::close(void)
+?close@fstream@@QAEXXZ
+; public: void __thiscall ifstream::close(void)
+?close@ifstream@@QAEXXZ
+; public: void __thiscall ofstream::close(void)
+?close@ofstream@@QAEXXZ
+; public: void __cdecl ios::clrlock(void)
+?clrlock@ios@@QAAXXZ
+; public: void __thiscall streambuf::clrlock(void)
+?clrlock@streambuf@@QAEXXZ
+; class ostream_withassign cout
+?cout@@3Vostream_withassign@@A DATA
+; public: void __thiscall streambuf::dbp(void)
+?dbp@streambuf@@QAEXXZ
+; class ios &__cdecl dec(class ios &)
+?dec@@YAAAVios@@AAV1@@Z
+; public: void __thiscall ios::delbuf(int)
+?delbuf@ios@@QAEXH@Z ; has WINAPI (@4)
+; public: int __thiscall ios::delbuf(void)const 
+?delbuf@ios@@QBEHXZ
+; protected: virtual int __thiscall streambuf::doallocate(void)
+?doallocate@streambuf@@MAEHXZ
+; protected: virtual int __thiscall strstreambuf::doallocate(void)
+?doallocate@strstreambuf@@MAEHXZ
+; public: void __thiscall istream::eatwhite(void)
+?eatwhite@istream@@QAEXXZ
+; protected: char *__thiscall streambuf::eback(void)const 
+?eback@streambuf@@IBEPADXZ
+; protected: char *__thiscall streambuf::ebuf(void)const 
+?ebuf@streambuf@@IBEPADXZ
+; protected: char *__thiscall streambuf::egptr(void)const 
+?egptr@streambuf@@IBEPADXZ
+; class ostream &__cdecl endl(class ostream &)
+?endl@@YAAAVostream@@AAV1@@Z
+; class ostream &__cdecl ends(class ostream &)
+?ends@@YAAAVostream@@AAV1@@Z
+; public: int __thiscall ios::eof(void)const 
+?eof@ios@@QBEHXZ
+; protected: char *__thiscall streambuf::epptr(void)const 
+?epptr@streambuf@@IBEPADXZ
+; private: static int ios::fLockcInit
+?fLockcInit@ios@@0HA DATA
+; public: int __thiscall ios::fail(void)const 
+?fail@ios@@QBEHXZ
+; public: int __thiscall filebuf::fd(void)const 
+?fd@filebuf@@QBEHXZ
+; public: int __thiscall fstream::fd(void)const 
+?fd@fstream@@QBEHXZ
+; public: int __thiscall ifstream::fd(void)const 
+?fd@ifstream@@QBEHXZ
+; public: int __thiscall ofstream::fd(void)const 
+?fd@ofstream@@QBEHXZ
+; public: char __thiscall ios::fill(char)
+?fill@ios@@QAEDD@Z ; has WINAPI (@4)
+; public: char __thiscall ios::fill(void)const 
+?fill@ios@@QBEDXZ
+; public: long __thiscall ios::flags(long)
+?flags@ios@@QAEJJ@Z ; has WINAPI (@4)
+; public: long __thiscall ios::flags(void)const 
+?flags@ios@@QBEJXZ
+; public: static long const ios::floatfield
+?floatfield@ios@@2JB DATA
+; class ostream &__cdecl flush(class ostream &)
+?flush@@YAAAVostream@@AAV1@@Z
+; public: class ostream &__thiscall ostream::flush(void)
+?flush@ostream@@QAEAAV1@XZ
+; public: void __thiscall strstreambuf::freeze(int)
+?freeze@strstreambuf@@QAEXH@Z ; has WINAPI (@4)
+; protected: void __thiscall streambuf::gbump(int)
+?gbump@streambuf@@IAEXH@Z ; has WINAPI (@4)
+; public: int __thiscall istream::gcount(void)const 
+?gcount@istream@@QBEHXZ
+; protected: class istream &__thiscall istream::get(char *,int,int)
+?get@istream@@IAEAAV1@PADHH@Z ; has WINAPI (@12)
+; public: class istream &__thiscall istream::get(signed char &)
+?get@istream@@QAEAAV1@AAC@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::get(char &)
+?get@istream@@QAEAAV1@AAD@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::get(unsigned char &)
+?get@istream@@QAEAAV1@AAE@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::get(class streambuf &,char)
+?get@istream@@QAEAAV1@AAVstreambuf@@D@Z ; has WINAPI (@8)
+; public: class istream &__thiscall istream::get(signed char *,int,char)
+?get@istream@@QAEAAV1@PACHD@Z ; has WINAPI (@12)
+; public: class istream &__thiscall istream::get(char *,int,char)
+?get@istream@@QAEAAV1@PADHD@Z ; has WINAPI (@12)
+; public: class istream &__thiscall istream::get(unsigned char *,int,char)
+?get@istream@@QAEAAV1@PAEHD@Z ; has WINAPI (@12)
+; public: int __thiscall istream::get(void)
+?get@istream@@QAEHXZ
+; private: int __thiscall istream::getdouble(char *,int)
+?getdouble@istream@@AAEHPADH@Z ; has WINAPI (@8)
+; private: int __thiscall istream::getint(char *)
+?getint@istream@@AAEHPAD@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::getline(signed char *,int,char)
+?getline@istream@@QAEAAV1@PACHD@Z ; has WINAPI (@12)
+; public: class istream &__thiscall istream::getline(char *,int,char)
+?getline@istream@@QAEAAV1@PADHD@Z ; has WINAPI (@12)
+; public: class istream &__thiscall istream::getline(unsigned char *,int,char)
+?getline@istream@@QAEAAV1@PAEHD@Z ; has WINAPI (@12)
+; public: int __thiscall ios::good(void)const 
+?good@ios@@QBEHXZ
+; protected: char *__thiscall streambuf::gptr(void)const 
+?gptr@streambuf@@IBEPADXZ
+; class ios &__cdecl hex(class ios &)
+?hex@@YAAAVios@@AAV1@@Z
+; public: class istream &__thiscall istream::ignore(int,int)
+?ignore@istream@@QAEAAV1@HH@Z ; has WINAPI (@8)
+; public: int __thiscall streambuf::in_avail(void)const 
+?in_avail@streambuf@@QBEHXZ
+; protected: void __thiscall ios::init(class streambuf *)
+?init@ios@@IAEXPAVstreambuf@@@Z ; has WINAPI (@4)
+; public: int __thiscall istream::ipfx(int)
+?ipfx@istream@@QAEHH@Z ; has WINAPI (@4)
+; public: int __thiscall filebuf::is_open(void)const 
+?is_open@filebuf@@QBEHXZ
+; public: int __thiscall fstream::is_open(void)const 
+?is_open@fstream@@QBEHXZ
+; public: int __thiscall ifstream::is_open(void)const 
+?is_open@ifstream@@QBEHXZ
+; public: int __thiscall ofstream::is_open(void)const 
+?is_open@ofstream@@QBEHXZ
+; public: void __thiscall istream::isfx(void)
+?isfx@istream@@QAEXXZ
+; public: long &__thiscall ios::iword(int)const 
+?iword@ios@@QBEAAJH@Z ; has WINAPI (@4)
+; public: void __cdecl ios::lock(void)
+?lock@ios@@QAAXXZ
+; public: void __thiscall streambuf::lock(void)
+?lock@streambuf@@QAEXXZ
+; public: void __cdecl ios::lockbuf(void)
+?lockbuf@ios@@QAAXXZ
+; protected: static void __cdecl ios::lockc(void)
+?lockc@ios@@KAXXZ
+; protected: struct _CRT_CRITICAL_SECTION *__thiscall ios::lockptr(void)
+?lockptr@ios@@IAEPAU_CRT_CRITICAL_SECTION@@XZ
+; protected: struct _CRT_CRITICAL_SECTION *__thiscall streambuf::lockptr(void)
+?lockptr@streambuf@@IAEPAU_CRT_CRITICAL_SECTION@@XZ
+; public: char const *__thiscall type_info::name(void)const 
+?name@type_info@@QBEPBDXZ
+; class ios &__cdecl oct(class ios &)
+?oct@@YAAAVios@@AAV1@@Z
+; public: class filebuf *__thiscall filebuf::open(char const *,int,int)
+?open@filebuf@@QAEPAV1@PBDHH@Z ; has WINAPI (@12)
+; public: void __thiscall fstream::open(char const *,int,int)
+?open@fstream@@QAEXPBDHH@Z ; has WINAPI (@12)
+; public: void __thiscall ifstream::open(char const *,int,int)
+?open@ifstream@@QAEXPBDHH@Z ; has WINAPI (@12)
+; public: void __thiscall ofstream::open(char const *,int,int)
+?open@ofstream@@QAEXPBDHH@Z ; has WINAPI (@12)
+; public: static int const filebuf::openprot
+?openprot@filebuf@@2HB DATA
+; public: int __thiscall ostream::opfx(void)
+?opfx@ostream@@QAEHXZ
+; public: void __thiscall ostream::osfx(void)
+?osfx@ostream@@QAEXXZ
+; public: int __thiscall streambuf::out_waiting(void)const 
+?out_waiting@streambuf@@QBEHXZ
+; public: virtual int __thiscall filebuf::overflow(int)
+?overflow@filebuf@@UAEHH@Z ; has WINAPI (@4)
+; public: virtual int __thiscall stdiobuf::overflow(int)
+?overflow@stdiobuf@@UAEHH@Z ; has WINAPI (@4)
+; public: virtual int __thiscall strstreambuf::overflow(int)
+?overflow@strstreambuf@@UAEHH@Z ; has WINAPI (@4)
+; public: virtual int __thiscall stdiobuf::pbackfail(int)
+?pbackfail@stdiobuf@@UAEHH@Z ; has WINAPI (@4)
+; public: virtual int __thiscall streambuf::pbackfail(int)
+?pbackfail@streambuf@@UAEHH@Z ; has WINAPI (@4)
+; protected: char *__thiscall streambuf::pbase(void)const 
+?pbase@streambuf@@IBEPADXZ
+; protected: void __thiscall streambuf::pbump(int)
+?pbump@streambuf@@IAEXH@Z ; has WINAPI (@4)
+; public: int __thiscall ostrstream::pcount(void)const 
+?pcount@ostrstream@@QBEHXZ
+; public: int __thiscall strstream::pcount(void)const 
+?pcount@strstream@@QBEHXZ
+; public: int __thiscall istream::peek(void)
+?peek@istream@@QAEHXZ
+; protected: char *__thiscall streambuf::pptr(void)const 
+?pptr@streambuf@@IBEPADXZ
+; public: int __thiscall ios::precision(int)
+?precision@ios@@QAEHH@Z ; has WINAPI (@4)
+; public: int __thiscall ios::precision(void)const 
+?precision@ios@@QBEHXZ
+; public: class ostream &__thiscall ostream::put(signed char)
+?put@ostream@@QAEAAV1@C@Z ; has WINAPI (@4)
+; public: class ostream &__thiscall ostream::put(char)
+?put@ostream@@QAEAAV1@D@Z ; has WINAPI (@4)
+; public: class ostream &__thiscall ostream::put(unsigned char)
+?put@ostream@@QAEAAV1@E@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::putback(char)
+?putback@istream@@QAEAAV1@D@Z ; has WINAPI (@4)
+; public: void *&__thiscall ios::pword(int)const 
+?pword@ios@@QBEAAPAXH@Z ; has WINAPI (@4)
+; public: char const *__thiscall type_info::raw_name(void)const 
+?raw_name@type_info@@QBEPBDXZ
+; public: class filebuf *__thiscall fstream::rdbuf(void)const 
+?rdbuf@fstream@@QBEPAVfilebuf@@XZ
+; public: class filebuf *__thiscall ifstream::rdbuf(void)const 
+?rdbuf@ifstream@@QBEPAVfilebuf@@XZ
+; public: class streambuf *__thiscall ios::rdbuf(void)const 
+?rdbuf@ios@@QBEPAVstreambuf@@XZ
+; public: class strstreambuf *__thiscall istrstream::rdbuf(void)const 
+?rdbuf@istrstream@@QBEPAVstrstreambuf@@XZ
+; public: class filebuf *__thiscall ofstream::rdbuf(void)const 
+?rdbuf@ofstream@@QBEPAVfilebuf@@XZ
+; public: class strstreambuf *__thiscall ostrstream::rdbuf(void)const 
+?rdbuf@ostrstream@@QBEPAVstrstreambuf@@XZ
+; public: class stdiobuf *__thiscall stdiostream::rdbuf(void)const 
+?rdbuf@stdiostream@@QBEPAVstdiobuf@@XZ
+; public: class strstreambuf *__thiscall strstream::rdbuf(void)const 
+?rdbuf@strstream@@QBEPAVstrstreambuf@@XZ
+; public: int __thiscall ios::rdstate(void)const 
+?rdstate@ios@@QBEHXZ
+; public: class istream &__thiscall istream::read(signed char *,int)
+?read@istream@@QAEAAV1@PACH@Z ; has WINAPI (@8)
+; public: class istream &__thiscall istream::read(char *,int)
+?read@istream@@QAEAAV1@PADH@Z ; has WINAPI (@8)
+; public: class istream &__thiscall istream::read(unsigned char *,int)
+?read@istream@@QAEAAV1@PAEH@Z ; has WINAPI (@8)
+; public: int __thiscall streambuf::sbumpc(void)
+?sbumpc@streambuf@@QAEHXZ
+; public: class istream &__thiscall istream::seekg(long)
+?seekg@istream@@QAEAAV1@J@Z ; has WINAPI (@4)
+; public: class istream &__thiscall istream::seekg(long,enum ios::seek_dir)
+?seekg@istream@@QAEAAV1@JW4seek_dir@ios@@@Z ; has WINAPI (@8)
+; public: virtual long __thiscall filebuf::seekoff(long,enum ios::seek_dir,int)
+?seekoff@filebuf@@UAEJJW4seek_dir@ios@@H@Z ; has WINAPI (@12)
+; public: virtual long __thiscall stdiobuf::seekoff(long,enum ios::seek_dir,int)
+?seekoff@stdiobuf@@UAEJJW4seek_dir@ios@@H@Z ; has WINAPI (@12)
+; public: virtual long __thiscall streambuf::seekoff(long,enum ios::seek_dir,int)
+?seekoff@streambuf@@UAEJJW4seek_dir@ios@@H@Z ; has WINAPI (@12)
+; public: virtual long __thiscall strstreambuf::seekoff(long,enum ios::seek_dir,int)
+?seekoff@strstreambuf@@UAEJJW4seek_dir@ios@@H@Z ; has WINAPI (@12)
+; public: class ostream &__thiscall ostream::seekp(long)
+?seekp@ostream@@QAEAAV1@J@Z ; has WINAPI (@4)
+; public: class ostream &__thiscall ostream::seekp(long,enum ios::seek_dir)
+?seekp@ostream@@QAEAAV1@JW4seek_dir@ios@@@Z ; has WINAPI (@8)
+; public: virtual long __thiscall streambuf::seekpos(long,int)
+?seekpos@streambuf@@UAEJJH@Z ; has WINAPI (@8)
+; void(__cdecl *)(void)__cdecl set_new_handler(void(__cdecl *)(void))
+?set_new_handler@@YAP6AXXZP6AXXZ@Z
+; void(__cdecl *)(void)__cdecl set_terminate(void(__cdecl *)(void))
+?set_terminate@@YAP6AXXZP6AXXZ@Z
+; void(__cdecl *)(void)__cdecl set_unexpected(void(__cdecl *)(void))
+?set_unexpected@@YAP6AXXZP6AXXZ@Z
+; protected: void __thiscall streambuf::setb(char *,char *,int)
+?setb@streambuf@@IAEXPAD0H@Z ; has WINAPI (@12)
+; public: virtual class streambuf *__thiscall filebuf::setbuf(char *,int)
+?setbuf@filebuf@@UAEPAVstreambuf@@PADH@Z ; has WINAPI (@8)
+; public: class streambuf *__thiscall fstream::setbuf(char *,int)
+?setbuf@fstream@@QAEPAVstreambuf@@PADH@Z ; has WINAPI (@8)
+; public: class streambuf *__thiscall ifstream::setbuf(char *,int)
+?setbuf@ifstream@@QAEPAVstreambuf@@PADH@Z ; has WINAPI (@8)
+; public: class streambuf *__thiscall ofstream::setbuf(char *,int)
+?setbuf@ofstream@@QAEPAVstreambuf@@PADH@Z ; has WINAPI (@8)
+; public: virtual class streambuf *__thiscall streambuf::setbuf(char *,int)
+?setbuf@streambuf@@UAEPAV1@PADH@Z ; has WINAPI (@8)
+; public: virtual class streambuf *__thiscall strstreambuf::setbuf(char *,int)
+?setbuf@strstreambuf@@UAEPAVstreambuf@@PADH@Z ; has WINAPI (@8)
+; public: long __thiscall ios::setf(long)
+?setf@ios@@QAEJJ@Z ; has WINAPI (@4)
+; public: long __thiscall ios::setf(long,long)
+?setf@ios@@QAEJJJ@Z ; has WINAPI (@8)
+; protected: void __thiscall streambuf::setg(char *,char *,char *)
+?setg@streambuf@@IAEXPAD00@Z ; has WINAPI (@12)
+; public: void __cdecl ios::setlock(void)
+?setlock@ios@@QAAXXZ
+; public: void __thiscall streambuf::setlock(void)
+?setlock@streambuf@@QAEXXZ
+; public: int __thiscall filebuf::setmode(int)
+?setmode@filebuf@@QAEHH@Z ; has WINAPI (@4)
+; public: int __thiscall fstream::setmode(int)
+?setmode@fstream@@QAEHH@Z ; has WINAPI (@4)
+; public: int __thiscall ifstream::setmode(int)
+?setmode@ifstream@@QAEHH@Z ; has WINAPI (@4)
+; public: int __thiscall ofstream::setmode(int)
+?setmode@ofstream@@QAEHH@Z ; has WINAPI (@4)
+; protected: void __thiscall streambuf::setp(char *,char *)
+?setp@streambuf@@IAEXPAD0@Z ; has WINAPI (@8)
+; public: int __thiscall stdiobuf::setrwbuf(int,int)
+?setrwbuf@stdiobuf@@QAEHHH@Z ; has WINAPI (@8)
+; public: int __thiscall streambuf::sgetc(void)
+?sgetc@streambuf@@QAEHXZ
+; public: int __thiscall streambuf::sgetn(char *,int)
+?sgetn@streambuf@@QAEHPADH@Z ; has WINAPI (@8)
+; public: static int const filebuf::sh_none
+?sh_none@filebuf@@2HB DATA
+; public: static int const filebuf::sh_read
+?sh_read@filebuf@@2HB DATA
+; public: static int const filebuf::sh_write
+?sh_write@filebuf@@2HB DATA
+; public: int __thiscall streambuf::snextc(void)
+?snextc@streambuf@@QAEHXZ
+; public: int __thiscall streambuf::sputbackc(char)
+?sputbackc@streambuf@@QAEHD@Z ; has WINAPI (@4)
+; public: int __thiscall streambuf::sputc(int)
+?sputc@streambuf@@QAEHH@Z ; has WINAPI (@4)
+; public: int __thiscall streambuf::sputn(char const *,int)
+?sputn@streambuf@@QAEHPBDH@Z ; has WINAPI (@8)
+; public: struct _iobuf *__thiscall stdiobuf::stdiofile(void)
+?stdiofile@stdiobuf@@QAEPAU_iobuf@@XZ
+; public: void __thiscall streambuf::stossc(void)
+?stossc@streambuf@@QAEXXZ
+; public: char *__thiscall istrstream::str(void)
+?str@istrstream@@QAEPADXZ
+; public: char *__thiscall ostrstream::str(void)
+?str@ostrstream@@QAEPADXZ
+; public: char *__thiscall strstream::str(void)
+?str@strstream@@QAEPADXZ
+; public: char *__thiscall strstreambuf::str(void)
+?str@strstreambuf@@QAEPADXZ
+; private: static int ios::sunk_with_stdio
+?sunk_with_stdio@ios@@0HA DATA
+; public: virtual int __thiscall filebuf::sync(void)
+?sync@filebuf@@UAEHXZ
+; public: int __thiscall istream::sync(void)
+?sync@istream@@QAEHXZ
+; public: virtual int __thiscall stdiobuf::sync(void)
+?sync@stdiobuf@@UAEHXZ
+; public: virtual int __thiscall streambuf::sync(void)
+?sync@streambuf@@UAEHXZ
+; public: virtual int __thiscall strstreambuf::sync(void)
+?sync@strstreambuf@@UAEHXZ
+; public: static void __cdecl ios::sync_with_stdio(void)
+?sync_with_stdio@ios@@SAXXZ
+; public: long __thiscall istream::tellg(void)
+?tellg@istream@@QAEJXZ
+; public: long __thiscall ostream::tellp(void)
+?tellp@ostream@@QAEJXZ
+; void __cdecl terminate(void)
+?terminate@@YAXXZ
+; public: static int const filebuf::text
+?text@filebuf@@2HB DATA
+; public: class ostream *__thiscall ios::tie(class ostream *)
+?tie@ios@@QAEPAVostream@@PAV2@@Z ; has WINAPI (@4)
+; public: class ostream *__thiscall ios::tie(void)const 
+?tie@ios@@QBEPAVostream@@XZ
+; protected: void __thiscall streambuf::unbuffered(int)
+?unbuffered@streambuf@@IAEXH@Z ; has WINAPI (@4)
+; protected: int __thiscall streambuf::unbuffered(void)const 
+?unbuffered@streambuf@@IBEHXZ
+; public: virtual int __thiscall filebuf::underflow(void)
+?underflow@filebuf@@UAEHXZ
+; public: virtual int __thiscall stdiobuf::underflow(void)
+?underflow@stdiobuf@@UAEHXZ
+; public: virtual int __thiscall strstreambuf::underflow(void)
+?underflow@strstreambuf@@UAEHXZ
+; void __cdecl unexpected(void)
+?unexpected@@YAXXZ
+; public: void __cdecl ios::unlock(void)
+?unlock@ios@@QAAXXZ
+; public: void __thiscall streambuf::unlock(void)
+?unlock@streambuf@@QAEXXZ
+; public: void __cdecl ios::unlockbuf(void)
+?unlockbuf@ios@@QAAXXZ
+; protected: static void __cdecl ios::unlockc(void)
+?unlockc@ios@@KAXXZ
+; public: long __thiscall ios::unsetf(long)
+?unsetf@ios@@QAEJJ@Z ; has WINAPI (@4)
+; public: virtual char const *__thiscall exception::what(void)const 
+?what@exception@@UBEPBDXZ
+; public: int __thiscall ios::width(int)
+?width@ios@@QAEHH@Z ; has WINAPI (@4)
+; public: int __thiscall ios::width(void)const 
+?width@ios@@QBEHXZ
+; public: class ostream &__thiscall ostream::write(signed char const *,int)
+?write@ostream@@QAEAAV1@PBCH@Z ; has WINAPI (@8)
+; public: class ostream &__thiscall ostream::write(char const *,int)
+?write@ostream@@QAEAAV1@PBDH@Z ; has WINAPI (@8)
+; public: class ostream &__thiscall ostream::write(unsigned char const *,int)
+?write@ostream@@QAEAAV1@PBEH@Z ; has WINAPI (@8)
+; private: class ostream &__thiscall ostream::writepad(char const *,char const *)
+?writepad@ostream@@AAEAAV1@PBD0@Z ; has WINAPI (@8)
+; class istream &__cdecl ws(class istream &)
+?ws@@YAAAVistream@@AAV1@@Z
+; private: static int ios::x_curindex
+?x_curindex@ios@@0HA DATA
+; private: static struct _CRT_CRITICAL_SECTION ios::x_lockc
+?x_lockc@ios@@0U_CRT_CRITICAL_SECTION@@A DATA
+; private: static long ios::x_maxbit
+?x_maxbit@ios@@0JA DATA
+; private: static long *ios::x_statebuf
+?x_statebuf@ios@@0PAJA DATA
+; public: static int __cdecl ios::xalloc(void)
+?xalloc@ios@@SAHXZ
+; public: virtual int __thiscall streambuf::xsgetn(char *,int)
+?xsgetn@streambuf@@UAEHPADH@Z ; has WINAPI (@8)
+; public: virtual int __thiscall streambuf::xsputn(char const *,int)
+?xsputn@streambuf@@UAEHPBDH@Z ; has WINAPI (@8)
+$I10_OUTPUT
+_CIacos
+_CIasin
+_CIatan
+_CIatan2
+_CIcos
+_CIcosh
+_CIexp
+_CIfmod
+_CIlog
+_CIlog10
+_CIpow
+_CIsin
+_CIsinh
+_CIsqrt
+_CItan
+_CItanh
+_CxxThrowException@8
+_EH_prolog
+_HUGE DATA
+_XcptFilter
+__CxxFrameHandler
+__CxxLongjmpUnwind@4
+__RTCastToVoid
+__RTDynamicCast
+__RTtypeid
+__STRINGTOLD
+__argc DATA
+__argv DATA
+__dllonexit
+__doserrno
+__fpecode
+__getmainargs
+__initenv DATA
+__isascii
+__iscsym
+__iscsymf
+__lconv_init
+__mb_cur_max DATA
+__p___argc
+__p___argv
+__p___initenv
+__p___mb_cur_max
+__p___wargv
+__p___winitenv
+__p__acmdln
+__p__amblksiz
+__p__commode
+__p__daylight
+__p__dstbias
+__p__environ
+__p__fmode
+__p__iob
+__p__mbctype
+__p__osver
+__p__pctype
+__p__pgmptr
+__p__pwctype
+__p__timezone
+__p__tzname
+__p__wcmdln
+__p__wenviron
+__p__winmajor
+__p__winminor
+__p__winver
+__p__wpgmptr
+__pxcptinfoptrs
+__set_app_type
+__setusermatherr
+__threadhandle
+__threadid
+__toascii
+__unDName
+__wargv DATA
+__wgetmainargs
+__winitenv DATA
+_abnormal_termination
+_access
+_acmdln DATA
+_adj_fdiv_m16i@4
+_adj_fdiv_m32@4
+_adj_fdiv_m32i@4
+_adj_fdiv_m64@8
+_adj_fdiv_r
+_adj_fdivr_m16i@4
+_adj_fdivr_m32@4
+_adj_fdivr_m32i@4
+_adj_fdivr_m64@8
+_adj_fpatan
+_adj_fprem
+_adj_fprem1
+_adj_fptan
+_adjust_fdiv DATA
+_aexit_rtn DATA
+_amsg_exit
+_assert
+_atodbl
+_atoldbl
+_beep
+_beginthread
+_beginthreadex
+_c_exit
+_cabs
+_cexit
+_cgets
+_chdir
+_chdrive
+_chgsign
+_chmod
+_chsize
+_clearfp
+_close
+_commit
+_commode DATA
+_control87
+_controlfp
+_copysign
+_cprintf
+_cputs
+_creat
+_cscanf
+_ctype DATA
+_cwait
+_daylight DATA
+_dstbias DATA
+_dup
+_dup2
+_ecvt
+_endthread
+_endthreadex
+_environ DATA
+_eof
+_errno
+_except_handler2
+_except_handler3
+_execl
+_execle
+_execlp
+_execlpe
+_execv
+_execve
+_execvp
+_execvpe
+_exit
+_expand
+_fcloseall
+_fcvt
+_fdopen
+_fgetchar
+_fgetwchar
+_filbuf
+_fileinfo DATA
+_filelength
+_filelengthi64
+_fileno
+_findclose
+_findfirst
+_findfirsti64
+_findnext
+_findnexti64
+_finite
+_flsbuf
+_flushall
+_fmode DATA
+_fpclass
+_fpieee_flt
+_fpreset
+_fputchar
+_fputwchar
+_fsopen
+_fstat
+_fstati64
+_ftime
+_ftol
+_fullpath
+_futime
+_gcvt
+_get_osfhandle
+_getch
+_getche
+_getcwd
+_getdcwd
+_getdiskfree
+_getdllprocaddr
+_getdrive
+_getdrives
+_getmaxstdio
+_getmbcp
+_getpid
+_getsystime
+_getw
+_getws
+_global_unwind2
+_heapadd
+_heapchk
+_heapmin
+_heapset
+_heapused
+_heapwalk
+_hypot
+_initterm
+_inp
+_inpd
+_inpw
+_iob DATA
+_isatty
+_isctype
+_ismbbalnum
+_ismbbalpha
+_ismbbgraph
+_ismbbkalnum
+_ismbbkana
+_ismbbkprint
+_ismbbkpunct
+_ismbblead
+_ismbbprint
+_ismbbpunct
+_ismbbtrail
+_ismbcalnum
+_ismbcalpha
+_ismbcdigit
+_ismbcgraph
+_ismbchira
+_ismbckata
+_ismbcl0
+_ismbcl1
+_ismbcl2
+_ismbclegal
+_ismbclower
+_ismbcprint
+_ismbcpunct
+_ismbcspace
+_ismbcsymbol
+_ismbcupper
+_ismbslead
+_ismbstrail
+_isnan
+_itoa
+_itow
+_j0
+_j1
+_jn
+_kbhit
+_lfind
+_loaddll
+_local_unwind2
+_locking
+_logb
+_longjmpex
+_lrotl
+_lrotr
+_lsearch
+_lseek
+_lseeki64
+_ltoa
+_ltow
+_makepath
+_mbbtombc
+_mbbtype
+_mbccpy
+_mbcjistojms
+_mbcjmstojis
+_mbclen
+_mbctohira
+_mbctokata
+_mbctolower
+_mbctombb
+_mbctoupper
+_mbctype DATA
+_mbsbtype
+_mbscat
+_mbschr
+_mbscmp
+_mbscoll
+_mbscpy
+_mbscspn
+_mbsdec
+_mbsdup
+_mbsicmp
+_mbsicoll
+_mbsinc
+_mbslen
+_mbslwr
+_mbsnbcat
+_mbsnbcmp
+_mbsnbcnt
+_mbsnbcoll
+_mbsnbcpy
+_mbsnbicmp
+_mbsnbicoll
+_mbsnbset
+_mbsncat
+_mbsnccnt
+_mbsncmp
+_mbsncoll
+_mbsncpy
+_mbsnextc
+_mbsnicmp
+_mbsnicoll
+_mbsninc
+_mbsnset
+_mbspbrk
+_mbsrchr
+_mbsrev
+_mbsset
+_mbsspn
+_mbsspnp
+_mbsstr
+_mbstok
+_mbstrlen
+_mbsupr
+_memccpy
+_memicmp
+_mkdir
+_mktemp
+_msize
+_mtlock
+_mtunlock
+_nextafter
+_onexit
+_open
+_open_osfhandle
+_osver DATA
+_outp
+_outpd
+_outpw
+_pclose
+_pctype DATA
+_pgmptr DATA
+_pipe
+_popen
+_purecall
+_putch
+_putenv
+_putw
+_putws
+_pwctype DATA
+_read
+_rmdir
+_rmtmp
+_rotl
+_rotr
+_safe_fdiv
+_safe_fdivr
+_safe_fprem
+_safe_fprem1
+_scalb
+_searchenv
+_seh_longjmp_unwind@4
+_set_error_mode
+_seterrormode
+_setjmp
+_setjmp3
+_setmaxstdio
+_setmbcp
+_setmode
+_setsystime
+_sleep
+_snprintf
+_snwprintf
+_sopen
+_spawnl
+_spawnle
+_spawnlp
+_spawnlpe
+_spawnv
+_spawnve
+_spawnvp
+_spawnvpe
+_splitpath
+_stat
+_stati64
+_statusfp
+_strcmpi
+_strdate
+_strdup
+_strerror
+_stricmp
+_stricoll
+_strlwr
+_strncoll
+_strnicmp
+_strnicoll
+_strnset
+_strrev
+_strset
+_strtime
+_strupr
+_swab
+_sys_errlist DATA
+_sys_nerr DATA
+_tell
+_telli64
+_tempnam
+_timezone DATA
+_tolower
+_toupper
+_tzname DATA
+_tzset
+_ultoa
+_ultow
+_umask
+_ungetch
+_unlink
+_unloaddll
+_utime
+_vsnprintf
+_vsnwprintf
+_waccess
+_wasctime
+_wchdir
+_wchmod
+_wcmdln DATA
+_wcreat
+_wcsdup
+_wcsicmp
+_wcsicoll
+_wcslwr
+_wcsncoll
+_wcsnicmp
+_wcsnicoll
+_wcsnset
+_wcsrev
+_wcsset
+_wcsupr
+_wctime
+_wenviron DATA
+_wexecl
+_wexecle
+_wexeclp
+_wexeclpe
+_wexecv
+_wexecve
+_wexecvp
+_wexecvpe
+_wfdopen
+_wfindfirst
+_wfindfirsti64
+_wfindnext
+_wfindnexti64
+_wfopen
+_wfreopen
+_wfsopen
+_wfullpath
+_wgetcwd
+_wgetdcwd
+_wgetenv
+_winmajor DATA
+_winminor DATA
+_winver DATA
+_wmakepath
+_wmkdir
+_wmktemp
+_wopen
+_wperror
+_wpgmptr DATA
+_wpopen
+_wputenv
+_wremove
+_wrename
+_write
+_wrmdir
+_wsearchenv
+_wsetlocale
+_wsopen
+_wspawnl
+_wspawnle
+_wspawnlp
+_wspawnlpe
+_wspawnv
+_wspawnve
+_wspawnvp
+_wspawnvpe
+_wsplitpath
+_wstat
+_wstati64
+_wstrdate
+_wstrtime
+_wsystem
+_wtempnam
+_wtmpnam
+_wtoi
+_wtol
+_wunlink
+_wutime
+_y0
+_y1
+_yn
+abort
+abs
+acos
+asctime
+asin
+atan
+atan2
+atexit
+atof
+atoi
+atol
+bsearch
+calloc
+ceil
+clearerr
+clock
+cos
+cosh
+ctime
+difftime
+div
+exit
+exp
+fabs
+fclose
+feof
+ferror
+fflush
+fgetc
+fgetpos
+fgets
+fgetwc
+fgetws
+floor
+fmod
+fopen
+fprintf
+fputc
+fputs
+fputwc
+fputws
+fread
+free
+freopen
+frexp
+fscanf
+fseek
+fsetpos
+ftell
+fwprintf
+fwrite
+fwscanf
+getc
+getchar
+getenv
+gets
+getwc
+getwchar
+gmtime
+is_wctype
+isalnum
+isalpha
+iscntrl
+isdigit
+isgraph
+isleadbyte
+islower
+isprint
+ispunct
+isspace
+isupper
+iswalnum
+iswalpha
+iswascii
+iswcntrl
+iswctype
+iswdigit
+iswgraph
+iswlower
+iswprint
+iswpunct
+iswspace
+iswupper
+iswxdigit
+isxdigit
+labs
+ldexp
+ldiv
+localeconv
+localtime
+log
+log10
+longjmp
+malloc
+mblen
+mbstowcs
+mbtowc
+memchr
+memcmp
+memcpy
+memmove
+memset
+mktime
+modf
+perror
+pow
+printf
+putc
+putchar
+puts
+putwc
+putwchar
+qsort
+raise
+rand
+realloc
+remove
+rename
+rewind
+scanf
+setbuf
+setlocale
+setvbuf
+signal
+sin
+sinh
+sprintf
+sqrt
+srand
+sscanf
+strcat
+strchr
+strcmp
+strcoll
+strcpy
+strcspn
+strerror
+strftime
+strlen
+strncat
+strncmp
+strncpy
+strpbrk
+strrchr
+strspn
+strstr
+strtod
+strtok
+strtol
+strtoul
+strxfrm
+swprintf
+swscanf
+system
+tan
+tanh
+time
+tmpfile
+tmpnam
+tolower
+toupper
+towlower
+towupper
+ungetc
+ungetwc
+vfprintf
+vfwprintf
+vprintf
+vsprintf
+vswprintf
+vwprintf
+wcscat
+wcschr
+wcscmp
+wcscoll
+wcscpy
+wcscspn
+wcsftime
+wcslen
+wcsncat
+wcsncmp
+wcsncpy
+wcspbrk
+wcsrchr
+wcsspn
+wcsstr
+wcstod
+wcstok
+wcstol
+wcstombs
+wcstoul
+wcsxfrm
+wctomb
+wprintf
+wscanf
diff --git a/mingw-w64-crt/lib32/msvcrt40.mri b/mingw-w64-crt/lib32/msvcrt40.mri
new file mode 100644
index 0000000..da834a3
--- /dev/null
+++ b/mingw-w64-crt/lib32/msvcrt40.mri
@@ -0,0 +1,6 @@
+CREATE libmsvcrt40.a
+ADDLIB libmsvcrt40_def.a
+ADDLIB libmsvcrt_common.a
+ADDLIB libmsvcrt40_extra.a
+SAVE
+END
