Function at 0x401152
Capabilities:
Copy file
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x403e64
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x7998
call fcn.00403bc0
push esi
push edi
mov dword [ebp - 4], 0
push sub.MFC42.DLL_CString::CString
push sub.MFC42.DLL_CString::CString_2
push 0x157c
push 4
lea eax, [ebp - 0x5664]
push eax
call fcn.00403a30
mov byte [ebp - 4], 1
mov dword [ebp - 0x7884], 0x4b
mov dword [ebp - 0x7778], 0xffffffff
mov dword [ebp - 0x74e4], 0
push 0x405030
lea ecx, [ebp - 0x6dd8]
call fcn.0040396e
mov byte [ebp - 4], 2
push 0x405040
lea ecx, [ebp - 0x6dd8]
call sub.MFC42.DLL_CString::operator_2
mov ecx, dword [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x6dd8]
call sub.MFC42.DLL_CString::operator_2
lea ecx, [ebp + 8]
call fcn.00403720
push eax
lea edx, [ebp - 0x7880]
push edx
call sub.MSVCRT.dll_strcpy
add esp, 8
lea eax, [ebp - 0x7880]
push eax
lea ecx, [ebp - 0x73dc]
push ecx
call sub.MSVCRT.dll_strcpy
add esp, 8
lea edx, [ebp - 0x7880]
push edx
lea eax, [ebp - 0x7984]
push eax
call sub.MSVCRT.dll_strcpy
add esp, 8
mov ecx, dword [str.ugii_env.dat]
mov dword [ebp - 0x40], ecx
mov edx, dword [0x405048]
mov dword [ebp - 0x3c], edx
mov eax, dword [0x40504c]
mov dword [ebp - 0x38], eax
mov cx, word [0x405050]
mov word [ebp - 0x34], cx
mov ecx, 9
xor eax, eax
lea edi, [ebp - 0x32]
rep stosd dword es:[edi], eax
mov ecx, 6
mov esi, str.menusug_custom_dirs.dat
lea edi, [ebp - 0x74]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov ecx, 6
xor eax, eax
lea edi, [ebp - 0x5a]
rep stosd dword es:[edi], eax
lea edx, [ebp - 0x40]
push edx
lea eax, [ebp - 0x73dc]
push eax
call sub.MSVCRT.dll_strcat
add esp, 8
lea ecx, [ebp - 0x74]
push ecx
lea edx, [ebp - 0x7984]
push edx
call sub.MSVCRT.dll_strcat
add esp, 8
push 1
lea ecx, [ebp - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::constructor_void_]
mov byte [ebp - 4], 3
push 1
lea eax, [ebp - 0x73dc]
push eax
lea ecx, [ebp - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::open_char_const___int_]
lea ecx, [ebp - 0x7674]
test ecx, ecx
jne 0x4012e4
mov dword [ebp - 0x799c], 0
jmp 0x4012fa
mov edx, dword [ebp - 0x7674]
mov eax, dword [edx + 4]
lea ecx, [ebp + eax - 0x7674]
mov dword [ebp - 0x799c], ecx
mov ecx, dword [ebp - 0x799c]
call dword [sym.imp.MSVCP60.dll_public:_void____thiscall_std::ios_base::operator_void__void_const]
test eax, eax
jne 0x401369
mov dword [ebp - 0x7988], 0xffffffff
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6dd8]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0
push sub.MFC42.DLL_CString::CString
push 0x157c
push 4
lea edx, [ebp - 0x5664]
push edx
call fcn.00403ab2
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x7988]
jmp 0x401c7a
mov eax, dword [ebp - 0x7674]
mov ecx, dword [eax + 4]
lea ecx, [ebp + ecx - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_bool___thiscall_std::ios_base::eof_void_const]
and eax, 0xff
test eax, eax
jne 0x40145e
push 0x400
lea edx, [ebp - 0x72dc]
push edx
lea ecx, [ebp - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int_]
mov eax, dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push eax
lea ecx, [ebp - 0x72dc]
push ecx
mov edx, dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push edx
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_const__]
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea eax, [ebp - 0x72dc]
push eax
mov ecx, dword [ebp - 0x74e4]
lea ecx, [ebp + ecx*4 - 0x5664]
call fcn.00403962
push 0x405070
mov edx, dword [ebp - 0x74e4]
lea ecx, [ebp + edx*4 - 0x5664]
call sub.MFC42.DLL_CString::Find
test eax, eax
jle 0x401420
mov dword [ebp - 0x7778], 0
lea eax, [ebp - 0x6dd8]
push eax
mov ecx, dword [ebp - 0x74e4]
lea ecx, [ebp + ecx*4 - 0x5664]
call fcn.00403956
push 0x405080
mov edx, dword [ebp - 0x74e4]
lea ecx, [ebp + edx*4 - 0x5664]
call sub.MFC42.DLL_CString::Find
test eax, eax
jle 0x40144a
mov eax, dword [ebp - 0x74e4]
add eax, 1
mov dword [ebp - 0x7884], eax
mov ecx, dword [ebp - 0x74e4]
add ecx, 1
mov dword [ebp - 0x74e4], ecx
jmp 0x401369
lea ecx, [ebp - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::close_void_]
push 0
push 0
mov edx, dword [ebp - 0x7674]
mov eax, dword [edx + 4]
lea ecx, [ebp + eax - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool_]
mov ecx, dword [ebp - 0x7674]
mov edx, dword [ecx + 4]
lea ecx, [ebp + edx - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_bool___thiscall_std::ios_base::good_void_const]
cmp dword [ebp - 0x74e4], 0x64
jge 0x4016bc
mov dword [ebp - 0x74e4], 0
lea eax, [ebp - 0x7880]
push eax
lea ecx, [ebp - 0x73dc]
push ecx
call sub.MSVCRT.dll_strcpy
add esp, 8
push str.ugii_env_ug.dat
lea edx, [ebp - 0x73dc]
push edx
call sub.MSVCRT.dll_strcat
add esp, 8
push 1
lea eax, [ebp - 0x73dc]
push eax
lea ecx, [ebp - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::open_char_const___int_]
lea ecx, [ebp - 0x7674]
test ecx, ecx
jne 0x401506
mov dword [ebp - 0x79a0], 0
jmp 0x40151c
mov edx, dword [ebp - 0x7674]
mov eax, dword [edx + 4]
lea ecx, [ebp + eax - 0x7674]
mov dword [ebp - 0x79a0], ecx
mov ecx, dword [ebp - 0x79a0]
call dword [sym.imp.MSVCP60.dll_public:_void____thiscall_std::ios_base::operator_void__void_const]
test eax, eax
jne 0x40158b
mov dword [ebp - 0x798c], 0xffffffff
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6dd8]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0
push sub.MFC42.DLL_CString::CString
push 0x157c
push 4
lea edx, [ebp - 0x5664]
push edx
call fcn.00403ab2
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x798c]
jmp 0x401c7a
mov eax, dword [ebp - 0x7674]
mov ecx, dword [eax + 4]
lea ecx, [ebp + ecx - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_bool___thiscall_std::ios_base::eof_void_const]
and eax, 0xff
test eax, eax
jne 0x401680
push 0x400
lea edx, [ebp - 0x72dc]
push edx
lea ecx, [ebp - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int_]
mov eax, dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push eax
lea ecx, [ebp - 0x72dc]
push ecx
mov edx, dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push edx
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_const__]
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea eax, [ebp - 0x72dc]
push eax
mov ecx, dword [ebp - 0x74e4]
lea ecx, [ebp + ecx*4 - 0x5664]
call fcn.00403962
push str.GII_QINYUN_DIR
mov edx, dword [ebp - 0x74e4]
lea ecx, [ebp + edx*4 - 0x5664]
call sub.MFC42.DLL_CString::Find
test eax, eax
jle 0x401642
mov dword [ebp - 0x7778], 0
lea eax, [ebp - 0x6dd8]
push eax
mov ecx, dword [ebp - 0x74e4]
lea ecx, [ebp + ecx*4 - 0x5664]
call fcn.00403956
push str.UGII_MDF_DIR
mov edx, dword [ebp - 0x74e4]
lea ecx, [ebp + edx*4 - 0x5664]
call sub.MFC42.DLL_CString::Find
test eax, eax
jle 0x40166c
mov eax, dword [ebp - 0x74e4]
add eax, 1
mov dword [ebp - 0x7884], eax
mov ecx, dword [ebp - 0x74e4]
add ecx, 1
mov dword [ebp - 0x74e4], ecx
jmp 0x40158b
lea ecx, [ebp - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::close_void_]
push 0
push 0
mov edx, dword [ebp - 0x7674]
mov eax, dword [edx + 4]
lea ecx, [ebp + eax - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool_]
mov ecx, dword [ebp - 0x7674]
mov edx, dword [ecx + 4]
lea ecx, [ebp + edx - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_bool___thiscall_std::ios_base::good_void_const]
mov eax, dword [ebp - 0x74e4]
mov dword [ebp - 0x6edc], eax
push 0x4050c4
lea ecx, [ebp - 0x73dc]
push ecx
call dword [sym.imp.MSVCRT.dll_fopen]
add esp, 8
mov dword [ebp - 0x7780], eax
mov dword [ebp - 0x74e4], 0
jmp 0x4016fe
mov edx, dword [ebp - 0x74e4]
add edx, 1
mov dword [ebp - 0x74e4], edx
mov eax, dword [ebp - 0x74e4]
cmp eax, dword [ebp - 0x6edc]
jg 0x401764
cmp dword [ebp - 0x7778], 0xffffffff
jne 0x40173f
mov ecx, dword [ebp - 0x74e4]
cmp ecx, dword [ebp - 0x7884]
jne 0x40173f
mov edx, dword [ebp - 0x6dd8]
push edx
push 0x4050c8
mov eax, dword [ebp - 0x7780]
push eax
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 0xc
mov ecx, dword [ebp - 0x74e4]
mov edx, dword [ebp + ecx*4 - 0x5664]
push edx
push 0x4050d0
mov eax, dword [ebp - 0x7780]
push eax
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 0xc
jmp 0x4016ef
mov ecx, dword [ebp - 0x7780]
push ecx
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
mov edx, dword [ebp - 0x7780]
push edx
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
mov dword [ebp - 0x7780], 0
push 1
lea eax, [ebp - 0x7984]
push eax
lea ecx, [ebp - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::open_char_const___int_]
lea ecx, [ebp - 0x7674]
test ecx, ecx
jne 0x4017b9
mov dword [ebp - 0x79a4], 0
jmp 0x4017cf
mov edx, dword [ebp - 0x7674]
mov eax, dword [edx + 4]
lea ecx, [ebp + eax - 0x7674]
mov dword [ebp - 0x79a4], ecx
mov ecx, dword [ebp - 0x79a4]
call dword [sym.imp.MSVCP60.dll_public:_void____thiscall_std::ios_base::operator_void__void_const]
test eax, eax
jne 0x40183e
mov dword [ebp - 0x7990], 0xffffffff
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6dd8]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0
push sub.MFC42.DLL_CString::CString
push 0x157c
push 4
lea edx, [ebp - 0x5664]
push edx
call fcn.00403ab2
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x7990]
jmp 0x401c7a
push sub.MFC42.DLL_CString::CString
push sub.MFC42.DLL_CString::CString_2
push 0x5dc
push 4
lea eax, [ebp - 0x6dd4]
push eax
call fcn.00403a30
mov byte [ebp - 4], 4
mov dword [ebp - 0x74e4], 0
mov dword [ebp - 0x7884], 0x19
mov dword [ebp - 0x7778], 0xffffffff
push str._UGII_QINYUN_DIR
lea ecx, [ebp - 0x6dd8]
call fcn.00403962
mov ecx, dword [ebp - 0x7674]
mov edx, dword [ecx + 4]
lea ecx, [ebp + edx - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_bool___thiscall_std::ios_base::eof_void_const]
and eax, 0xff
test eax, eax
jne 0x401982
push 0x400
lea eax, [ebp - 0x72dc]
push eax
lea ecx, [ebp - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::getline_char___int_]
mov ecx, dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push ecx
lea edx, [ebp - 0x72dc]
push edx
mov eax, dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push eax
call dword [sym.imp.MSVCP60.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::operator___class_std::basic_ostream_char__struct_std::char_traits_char_____char_const__]
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea ecx, [ebp - 0x72dc]
push ecx
mov edx, dword [ebp - 0x74e4]
lea ecx, [ebp + edx*4 - 0x6dd4]
call fcn.00403962
push 0x4050ec
mov eax, dword [ebp - 0x74e4]
lea ecx, [ebp + eax*4 - 0x6dd4]
call sub.MFC42.DLL_CString::Find
test eax, eax
jle 0x401944
mov dword [ebp - 0x7778], 0
lea ecx, [ebp - 0x6dd8]
push ecx
mov edx, dword [ebp - 0x74e4]
lea ecx, [ebp + edx*4 - 0x6dd4]
call fcn.00403956
push str.UGII_USER_DIR
mov eax, dword [ebp - 0x74e4]
lea ecx, [ebp + eax*4 - 0x6dd4]
call sub.MFC42.DLL_CString::Find
test eax, eax
jle 0x40196e
mov ecx, dword [ebp - 0x74e4]
add ecx, 1
mov dword [ebp - 0x7884], ecx
mov edx, dword [ebp - 0x74e4]
add edx, 1
mov dword [ebp - 0x74e4], edx
jmp 0x40188d
lea ecx, [ebp - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::close_void_]
push 0
push 0
mov eax, dword [ebp - 0x7674]
mov ecx, dword [eax + 4]
lea ecx, [ebp + ecx - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool_]
mov edx, dword [ebp - 0x7674]
mov eax, dword [edx + 4]
lea ecx, [ebp + eax - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_bool___thiscall_std::ios_base::good_void_const]
mov ecx, dword [ebp - 0x74e4]
mov dword [ebp - 0x6edc], ecx
push 0x40510c
lea edx, [ebp - 0x7984]
push edx
call dword [sym.imp.MSVCRT.dll_fopen]
add esp, 8
mov dword [ebp - 0x7780], eax
mov dword [ebp - 0x74e4], 0
jmp 0x401a00
mov eax, dword [ebp - 0x74e4]
add eax, 1
mov dword [ebp - 0x74e4], eax
mov ecx, dword [ebp - 0x74e4]
cmp ecx, dword [ebp - 0x6edc]
jg 0x401a66
cmp dword [ebp - 0x7778], 0xffffffff
jne 0x401a41
mov edx, dword [ebp - 0x74e4]
cmp edx, dword [ebp - 0x7884]
jne 0x401a41
mov eax, dword [ebp - 0x6dd8]
push eax
push 0x405110
mov ecx, dword [ebp - 0x7780]
push ecx
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 0xc
mov edx, dword [ebp - 0x74e4]
mov eax, dword [ebp + edx*4 - 0x6dd4]
push eax
push 0x405118
mov ecx, dword [ebp - 0x7780]
push ecx
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 0xc
jmp 0x4019f1
mov edx, dword [ebp - 0x7780]
push edx
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
mov eax, dword [ebp - 0x7780]
push eax
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
mov dword [ebp - 0x7780], 0
lea ecx, [ebp - 0x7880]
push ecx
lea edx, [ebp - 0x75e4]
push edx
call sub.MSVCRT.dll_strcpy
add esp, 8
lea eax, [ebp - 0x7880]
push eax
lea ecx, [ebp - 0x74dc]
push ecx
call sub.MSVCRT.dll_strcpy
add esp, 8
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x6ed8]
push eax
call sub.MSVCRT.dll_strcpy
add esp, 8
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x7774]
push edx
call sub.MSVCRT.dll_strcpy
add esp, 8
mov dword [ebp - 0x74e0], str.ug_std_4.sbf
mov dword [ebp - 0x777c], str._startupug_std_4.sbf
mov eax, dword [ebp - 0x777c]
push eax
lea ecx, [ebp - 0x7774]
push ecx
call sub.MSVCRT.dll_strcat
add esp, 8
mov edx, dword [ebp - 0x74e0]
push edx
lea eax, [ebp - 0x75e4]
push eax
call sub.MSVCRT.dll_strcat
add esp, 8
lea ecx, [ebp - 0x7880]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 1
lea edx, [ebp - 0x75e4]
push edx
lea eax, [ebp - 0x7774]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
push str._startup_name.exe
lea ecx, [ebp - 0x6ed8]
push ecx
call sub.MSVCRT.dll_strcat
add esp, 8
push str._name.exe
lea edx, [ebp - 0x74dc]
push edx
call sub.MSVCRT.dll_strcat
add esp, 8
push 1
lea eax, [ebp - 0x74dc]
push eax
lea ecx, [ebp - 0x6ed8]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
cmp dword [ebp - 0x7778], 0
jne 0x401c04
mov dword [ebp - 0x7994], 1
mov byte [ebp - 4], 3
push sub.MFC42.DLL_CString::CString
push 0x5dc
push 4
lea edx, [ebp - 0x6dd4]
push edx
call fcn.00403ab2
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6dd8]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0
push sub.MFC42.DLL_CString::CString
push 0x157c
push 4
lea eax, [ebp - 0x5664]
push eax
call fcn.00403ab2
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x7994]
jmp 0x401c7a
mov dword [ebp - 0x7998], 0
mov byte [ebp - 4], 3
push sub.MFC42.DLL_CString::CString
push 0x5dc
push 4
lea ecx, [ebp - 0x6dd4]
push ecx
call fcn.00403ab2
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7674]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6dd8]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0
push sub.MFC42.DLL_CString::CString
push 0x157c
push 4
lea edx, [ebp - 0x5664]
push edx
call fcn.00403ab2
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x7998]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret