Function at 0x401d60
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x412148
mov eax, dword fs:[0]
push eax
sub esp, 0xa4c
mov eax, dword [0x43ea18]
xor eax, ebp
mov dword [ebp - 0x1e8], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call fcn.00402b90
mov dword [ebp - 0x140], eax
push 0x414ab8
mov ecx, dword [ebp + 0x18]
call dword [sym.imp.MFC80U.DLL_Ordinal_776]
push 0x414abc
mov ecx, dword [ebp + 0x1c]
call dword [sym.imp.MFC80U.DLL_Ordinal_776]
push 0x414ac0
mov ecx, dword [ebp + 0x20]
call dword [sym.imp.MFC80U.DLL_Ordinal_776]
mov ecx, dword [ebp + 8]
call dword [sym.imp.MFC80U.DLL_Ordinal_2895]
test eax, eax
je 0x401dea
mov ecx, dword [ebp + 0xc]
call dword [sym.imp.MFC80U.DLL_Ordinal_2895]
test eax, eax
je 0x401dea
mov ecx, dword [ebp + 0x14]
call dword [sym.imp.MFC80U.DLL_Ordinal_2895]
test eax, eax
jne 0x401df4
mov eax, 1
jmp 0x402b65
mov ecx, dword [ebp + 0x10]
call dword [sym.imp.MFC80U.DLL_Ordinal_2895]
test eax, eax
je 0x401e0e
mov ecx, dword [ebp + 0x14]
call dword [sym.imp.MFC80U.DLL_Ordinal_2895]
test eax, eax
jne 0x401e18
mov eax, 2
jmp 0x402b65
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00401ba0
add esp, 0xc
movzx eax, al
test eax, eax
jne 0x401e3d
mov eax, 1
jmp 0x402b65
push str.multikey_license.dat
mov ecx, dword [ebp + 0x1c]
call dword [sym.imp.MFC80U.DLL_Ordinal_900]
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.00401ba0
add esp, 0xc
movzx ecx, al
test ecx, ecx
jne 0x401e70
mov eax, 2
jmp 0x402b65
mov edx, dword [ebp + 0x1c]
push edx
call fcn.00401d20
add esp, 4
mov eax, dword [ebp + 0x18]
push eax
call fcn.00401d20
add esp, 4
push 0
mov ecx, dword [ebp + 0x18]
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
call dword [sym.imp.MSVCR80.dll__waccess]
add esp, 8
test eax, eax
sete cl
mov byte [ebp - 0xa1], cl
movzx edx, byte [ebp - 0xa1]
test edx, edx
je 0x401ed6
push 6
mov ecx, dword [ebp + 0x18]
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
call dword [sym.imp.MSVCR80.dll__waccess]
add esp, 8
test eax, eax
je 0x401ed6
mov eax, 7
jmp 0x402b65
mov ecx, dword [ebp + 0x1c]
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0
jne 0x401efa
mov dword [ebp - 0xa04], 0
jmp 0x401f70
mov eax, dword [ebp - 0xac]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0x3fffffff
jle 0x401f28
mov dword [ebp - 0xa08], 0
jmp 0x401f64
mov eax, dword [ebp - 0xa0]
shl eax, 1
call fcn.00411800
mov dword [ebp - 0xa0c], esp
mov ecx, dword [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0xa0]
shl edx, 1
push edx
mov eax, dword [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0xa0c]
push ecx
call fcn.00402ba0
mov dword [ebp - 0xa08], eax
mov edx, dword [ebp - 0xa08]
mov dword [ebp - 0xa04], edx
mov eax, dword [ebp - 0xa04]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x13c], 0
mov dword [0x43eaf0], 0
cmp dword [ebp - 0x13c], 0
jne 0x402131
mov ecx, dword [ebp + 0x20]
push ecx
push 0x80
call fcn.00401ad0
add esp, 8
movzx edx, al
test edx, edx
je 0x402131
push 1
lea ecx, [ebp - 0x1dc]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::constructor_void_]
mov dword [ebp - 4], 0
push 0x40
push 1
mov eax, dword [ebp - 0x138]
push eax
lea ecx, [ebp - 0x1dc]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::open_char_const___int__int_]
lea ecx, [ebp - 0x1dc]
call dword [sym.imp.MSVCP80.dll_public:_bool___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::is_open_void_const]
movzx ecx, al
test ecx, ecx
jne 0x402020
mov dword [ebp - 0x9e4], 3
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1dc]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
mov eax, dword [ebp - 0x9e4]
jmp 0x402b65
mov edx, dword [ebp - 0x1dc]
mov eax, dword [edx + 4]
lea ecx, [ebp + eax - 0x1dc]
call dword [sym.imp.MSVCP80.dll_public:_bool___thiscall_std::ios_base::eof_void_const]
movzx ecx, al
test ecx, ecx
jne 0x40210d
push 0x3e8
lea edx, [ebp - 0x5d4]
push edx
lea ecx, [ebp - 0x1dc]
call dword [sym.imp.MSVCP80.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_]
lea eax, [ebp - 0x5d4]
push eax
lea ecx, [ebp - 0x1e0]
call dword [sym.imp.MFC80U.DLL_Ordinal_287]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1e0]
call dword [sym.imp.MFC80U.DLL_Ordinal_2895]
test eax, eax
je 0x402096
push 0
lea ecx, [ebp - 0x1e0]
call dword [sym.imp.MFC80U.DLL_Ordinal_860]
movzx ecx, ax
cmp ecx, 0x23
jne 0x4020ab
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1e0]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
jmp 0x402020
push 0x414adc
lea edx, [ebp - 0x1e4]
push edx
lea ecx, [ebp - 0x1e0]
call dword [sym.imp.MFC80U.DLL_Ordinal_6094]
mov ecx, dword [ebp + 0x20]
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
lea ecx, [ebp - 0x1e4]
call dword [sym.imp.MFC80U.DLL_Ordinal_1476]
test eax, eax
jne 0x4020ec
mov eax, dword [ebp - 0x13c]
add eax, 1
mov dword [ebp - 0x13c], eax
lea ecx, [ebp - 0x1e4]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1e0]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
jmp 0x402020
lea ecx, [ebp - 0x1dc]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::close_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1dc]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
jmp 0x401f90
cmp dword [ebp - 0x13c], 0
jne 0x40214f
xor eax, eax
cmp dword [0x43eaf0], 0
setne al
lea eax, [eax + eax + 4]
jmp 0x402b65
push 1
lea ecx, [ebp - 0x9c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::constructor_void_]
mov dword [ebp - 4], 2
push 0x40
push 1
mov ecx, dword [ebp - 0x138]
push ecx
lea ecx, [ebp - 0x9c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::open_char_const___int__int_]
lea ecx, [ebp - 0x9c]
call dword [sym.imp.MSVCP80.dll_public:_bool___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::is_open_void_const]
movzx edx, al
test edx, edx
jne 0x4021b6
mov dword [ebp - 0x9e8], 3
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
mov eax, dword [ebp - 0x9e8]
jmp 0x402b65
push str.alic
push 0x414aec
call dword [sym.imp.MSVCR80.dll__tempnam]
add esp, 8
mov dword [ebp - 0x144], eax
push 1
lea ecx, [ebp - 0x134]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::constructor_void_]
mov byte [ebp - 4], 3
push 0x40
push 2
mov eax, dword [ebp - 0x144]
push eax
lea ecx, [ebp - 0x134]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::open_char_const___int__int_]
lea ecx, [ebp - 0x134]
call dword [sym.imp.MSVCP80.dll_public:_bool___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::is_open_void_const]
movzx ecx, al
test ecx, ecx
jne 0x402243
mov dword [ebp - 0x9ec], 5
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x134]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
mov eax, dword [ebp - 0x9ec]
jmp 0x402b65
mov dword [ebp - 0xa8], 0
mov edx, dword [ebp - 0x9c]
mov eax, dword [edx + 4]
lea ecx, [ebp + eax - 0x9c]
call dword [sym.imp.MSVCP80.dll_public:_bool___thiscall_std::ios_base::eof_void_const]
movzx ecx, al
test ecx, ecx
jne 0x4029d6
push 0x3e8
lea edx, [ebp - 0x9cc]
push edx
lea ecx, [ebp - 0x9c]
call dword [sym.imp.MSVCP80.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_]
lea eax, [ebp - 0x9cc]
push eax
lea ecx, [ebp - 0x5d8]
call dword [sym.imp.MFC80U.DLL_Ordinal_287]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x5d8]
call dword [sym.imp.MFC80U.DLL_Ordinal_6167]
lea ecx, [ebp - 0x5d8]
call dword [sym.imp.MFC80U.DLL_Ordinal_6173]
lea ecx, [ebp - 0x5d8]
call dword [sym.imp.MFC80U.DLL_Ordinal_2895]
test eax, eax
jne 0x4022ed
mov ecx, dword [sym.imp.MSVCP80.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 ecx, [ebp - 0x134]
call dword [sym.imp.MSVCP80.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_____]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x5d8]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
jmp 0x40224d
push 0
lea ecx, [ebp - 0x5d8]
call dword [sym.imp.MFC80U.DLL_Ordinal_860]
movzx edx, ax
cmp edx, 0x23
jne 0x402805
lea ecx, [ebp - 0x5d8]
call dword [sym.imp.MFC80U.DLL_Ordinal_2895]
sub eax, 1
push eax
lea eax, [ebp - 0x9dc]
push eax
lea ecx, [ebp - 0x5d8]
call dword [sym.imp.MFC80U.DLL_Ordinal_5558]
mov byte [ebp - 4], 5
push 0
push 0x414af0
lea ecx, [ebp - 0x9dc]
call dword [sym.imp.MFC80U.DLL_Ordinal_2261]
mov dword [ebp - 0x9d8], eax
cmp dword [ebp - 0x9d8], 0xffffffff
je 0x4023b5
mov ecx, dword [sym.imp.MSVCP80.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
push str._license_code_s__below.
mov edx, dword [ebp - 0x13c]
push edx
push str._You_should_see
lea eax, [ebp - 0x134]
push eax
call fcn.00402c10
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
push eax
call fcn.00402c10
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP80.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_____]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x9dc]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x5d8]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
jmp 0x40224d
cmp dword [ebp - 0xa8], 0
jne 0x402565
push 0
push str.Locking_codes:
lea ecx, [ebp - 0x9dc]
call dword [sym.imp.MFC80U.DLL_Ordinal_2261]
mov dword [ebp - 0x9d8], eax
cmp dword [ebp - 0x9d8], 0xffffffff
je 0x40247e
mov dword [ebp - 0xa8], 1
push 0
push 0x414b5c
lea ecx, [ebp - 0x9dc]
call dword [sym.imp.MFC80U.DLL_Ordinal_2261]
mov dword [ebp - 0x9d8], eax
lea ecx, [ebp - 0x5d8]
call dword [sym.imp.MFC80U.DLL_Ordinal_2895]
sub eax, dword [ebp - 0x9d8]
sub eax, 2
push eax
lea ecx, [ebp - 0x9f0]
push ecx
lea ecx, [ebp - 0x9dc]
call dword [sym.imp.MFC80U.DLL_Ordinal_5558]
mov dword [ebp - 0xa10], eax
mov edx, dword [ebp - 0xa10]
mov dword [ebp - 0xa14], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xa14]
push eax
lea ecx, [ebp - 0x9dc]
call dword [sym.imp.MFC80U.DLL_Ordinal_774]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x9f0]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
lea ecx, [ebp - 0x9dc]
call dword [sym.imp.MFC80U.DLL_Ordinal_6167]
jmp 0x402565
lea ecx, [ebp - 0x5d8]
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0
jne 0x4024a5
mov dword [ebp - 0xa18], 0
jmp 0x40251b
mov ecx, dword [ebp - 0xac]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0x3fffffff
jle 0x4024d3
mov dword [ebp - 0xa1c], 0
jmp 0x40250f
mov eax, dword [ebp - 0xa0]
shl eax, 1
call fcn.00411800
mov dword [ebp - 0xa20], esp
mov edx, dword [ebp - 0x140]
push edx
mov eax, dword [ebp - 0xa0]
shl eax, 1
push eax
mov ecx, dword [ebp - 0xac]
push ecx
mov edx, dword [ebp - 0xa20]
push edx
call fcn.00402ba0
mov dword [ebp - 0xa1c], eax
mov eax, dword [ebp - 0xa1c]
mov dword [ebp - 0xa18], eax
mov ecx, dword [sym.imp.MSVCP80.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
mov edx, dword [ebp - 0xa18]
push edx
lea eax, [ebp - 0x134]
push eax
call fcn.00402c10
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP80.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_____]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x9dc]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x5d8]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
jmp 0x40224d
cmp dword [ebp - 0xa8], 0
jl 0x40271e
lea ecx, [ebp - 0x9dc]
call dword [sym.imp.MFC80U.DLL_Ordinal_6173]
lea ecx, [ebp - 0x9dc]
call dword [sym.imp.MFC80U.DLL_Ordinal_2895]
test eax, eax
jne 0x4025c0
mov dword [ebp - 0xa8], 0xffffffff
mov ecx, dword [sym.imp.MSVCP80.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
push 0x414b60
lea edx, [ebp - 0x134]
push edx
call fcn.00402c10
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP80.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_____]
jmp 0x402719
cmp dword [ebp - 0xa8], 1
jne 0x402719
push 0x20
lea ecx, [ebp - 0x9dc]
call dword [sym.imp.MFC80U.DLL_Ordinal_5414]
push 9
lea ecx, [ebp - 0x9dc]
call dword [sym.imp.MFC80U.DLL_Ordinal_5414]
lea ecx, [ebp - 0x9dc]
call dword [sym.imp.MFC80U.DLL_Ordinal_6167]
push 0x414b64
lea eax, [ebp - 0x9e0]
push eax
lea ecx, [ebp - 0x9dc]
call dword [sym.imp.MFC80U.DLL_Ordinal_6094]
mov byte [ebp - 4], 7
mov ecx, dword [ebp + 0x20]
push ecx
lea edx, [ebp - 0x9e0]
push edx
call fcn.00402bf0
add esp, 8
movzx eax, al
test eax, eax
je 0x402709
mov dword [ebp - 0xa8], 2
lea ecx, [ebp - 0x9dc]
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0
jne 0x402660
mov dword [ebp - 0xa24], 0
jmp 0x4026d6
mov ecx, dword [ebp - 0xac]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0x3fffffff
jle 0x40268e
mov dword [ebp - 0xa28], 0
jmp 0x4026ca
mov eax, dword [ebp - 0xa0]
shl eax, 1
call fcn.00411800
mov dword [ebp - 0xa2c], esp
mov edx, dword [ebp - 0x140]
push edx
mov eax, dword [ebp - 0xa0]
shl eax, 1
push eax
mov ecx, dword [ebp - 0xac]
push ecx
mov edx, dword [ebp - 0xa2c]
push edx
call fcn.00402ba0
mov dword [ebp - 0xa28], eax
mov eax, dword [ebp - 0xa28]
mov dword [ebp - 0xa24], eax
mov ecx, dword [sym.imp.MSVCP80.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
mov edx, dword [ebp - 0xa24]
push edx
push 0x414b68
lea eax, [ebp - 0x134]
push eax
call fcn.00402c10
add esp, 8
push eax
call fcn.00402c10
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP80.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_____]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x9e0]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
jmp 0x4027e0
lea ecx, [ebp - 0x5d8]
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0
jne 0x402745
mov dword [ebp - 0xa30], 0
jmp 0x4027bb
mov ecx, dword [ebp - 0xac]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0x3fffffff
jle 0x402773
mov dword [ebp - 0xa34], 0
jmp 0x4027af
mov eax, dword [ebp - 0xa0]
shl eax, 1
call fcn.00411800
mov dword [ebp - 0xa38], esp
mov edx, dword [ebp - 0x140]
push edx
mov eax, dword [ebp - 0xa0]
shl eax, 1
push eax
mov ecx, dword [ebp - 0xac]
push ecx
mov edx, dword [ebp - 0xa38]
push edx
call fcn.00402ba0
mov dword [ebp - 0xa34], eax
mov eax, dword [ebp - 0xa34]
mov dword [ebp - 0xa30], eax
mov ecx, dword [sym.imp.MSVCP80.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
mov edx, dword [ebp - 0xa30]
push edx
lea eax, [ebp - 0x134]
push eax
call fcn.00402c10
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP80.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_____]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x9dc]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x5d8]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
jmp 0x40224d
push 0x414b7c
lea ecx, [ebp - 0x5dc]
push ecx
lea ecx, [ebp - 0x5d8]
call dword [sym.imp.MFC80U.DLL_Ordinal_6094]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x5d8]
call dword [sym.imp.MFC80U.DLL_Ordinal_2895]
mov dword [ebp - 0x5e0], eax
lea ecx, [ebp - 0x5dc]
call dword [sym.imp.MFC80U.DLL_Ordinal_2895]
mov dword [ebp - 0x9d4], eax
mov edx, dword [ebp - 0x5e0]
sub edx, dword [ebp - 0x9d4]
push edx
lea eax, [ebp - 0x9f4]
push eax
lea ecx, [ebp - 0x5d8]
call dword [sym.imp.MFC80U.DLL_Ordinal_5558]
mov dword [ebp - 0xa3c], eax
mov ecx, dword [ebp - 0xa3c]
mov dword [ebp - 0xa40], ecx
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0xa40]
push edx
lea ecx, [ebp - 0x5d8]
call dword [sym.imp.MFC80U.DLL_Ordinal_774]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x9f4]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
lea ecx, [ebp - 0x5d8]
call dword [sym.imp.MFC80U.DLL_Ordinal_6167]
lea eax, [ebp - 0x5d8]
push eax
lea ecx, [ebp - 0x9d0]
call dword [sym.imp.MFC80U.DLL_Ordinal_280]
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp + 0x20]
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
lea ecx, [ebp - 0x5dc]
call dword [sym.imp.MFC80U.DLL_Ordinal_1476]
test eax, eax
jne 0x4029a1
lea ecx, [ebp - 0x9d0]
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0
jne 0x402906
mov dword [ebp - 0xa44], 0
jmp 0x40297c
mov ecx, dword [ebp - 0xac]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0x3fffffff
jle 0x402934
mov dword [ebp - 0xa48], 0
jmp 0x402970
mov eax, dword [ebp - 0xa0]
shl eax, 1
call fcn.00411800
mov dword [ebp - 0xa4c], esp
mov edx, dword [ebp - 0x140]
push edx
mov eax, dword [ebp - 0xa0]
shl eax, 1
push eax
mov ecx, dword [ebp - 0xac]
push ecx
mov edx, dword [ebp - 0xa4c]
push edx
call fcn.00402ba0
mov dword [ebp - 0xa48], eax
mov eax, dword [ebp - 0xa48]
mov dword [ebp - 0xa44], eax
mov ecx, dword [sym.imp.MSVCP80.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
mov edx, dword [ebp - 0xa44]
push edx
lea eax, [ebp - 0x134]
push eax
call fcn.00402c10
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP80.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_____]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x9d0]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x5dc]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x5d8]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
jmp 0x40224d
lea ecx, [ebp - 0x9c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::close_void_]
lea ecx, [ebp - 0x134]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::close_void_]
movzx ecx, byte [ebp - 0xa1]
test ecx, ecx
je 0x402a48
mov ecx, dword [ebp + 0x18]
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
call dword [sym.imp.MSVCR80.dll__wunlink]
add esp, 4
test eax, eax
je 0x402a48
mov dword [ebp - 0x9f8], 7
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x134]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
mov eax, dword [ebp - 0x9f8]
jmp 0x402b65
mov ecx, dword [ebp + 0x18]
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0
jne 0x402a6c
mov dword [ebp - 0xa50], 0
jmp 0x402ae2
mov edx, dword [ebp - 0xac]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0x3fffffff
jle 0x402a9a
mov dword [ebp - 0xa54], 0
jmp 0x402ad6
mov eax, dword [ebp - 0xa0]
shl eax, 1
call fcn.00411800
mov dword [ebp - 0xa58], esp
mov eax, dword [ebp - 0x140]
push eax
mov ecx, dword [ebp - 0xa0]
shl ecx, 1
push ecx
mov edx, dword [ebp - 0xac]
push edx
mov eax, dword [ebp - 0xa58]
push eax
call fcn.00402ba0
mov dword [ebp - 0xa54], eax
mov ecx, dword [ebp - 0xa54]
mov dword [ebp - 0xa50], ecx
mov edx, dword [ebp - 0xa50]
push edx
mov eax, dword [ebp - 0x144]
push eax
call dword [sym.imp.MSVCR80.dll_rename]
add esp, 8
test eax, eax
je 0x402b32
mov dword [ebp - 0x9fc], 7
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x134]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
mov eax, dword [ebp - 0x9fc]
jmp 0x402b65
mov dword [ebp - 0xa00], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x134]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
mov eax, dword [ebp - 0xa00]
lea esp, [ebp - 0xa5c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x1e8]
xor ecx, ebp
call fcn.00411734
mov esp, ebp
pop ebp
ret