Function at 0x40e810
Capabilities:
Terminate process

Disassembly:
push 0xffffffffffffffff
push 0x45a69a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xf0
mov eax, dword [0x4c0704]
push ebp
mov ebp, dword [esp + 0x104]
mov dword [esp + 0xf0], eax
xor eax, eax
test ebp, ebp
setne al
push esi
push edi
mov esi, ecx
dec eax
and eax, 5
mov edi, eax
push edi
push 0x3eb
call sub.MFC71.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC71.DLL_CWnd::ShowWindow
push edi
push 0x3ec
mov ecx, esi
call sub.MFC71.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC71.DLL_CWnd::ShowWindow
push edi
push 0x3f2
mov ecx, esi
call sub.MFC71.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC71.DLL_CWnd::ShowWindow
push edi
push 0x3f3
mov ecx, esi
call sub.MFC71.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC71.DLL_CWnd::ShowWindow
push edi
push 0x3ed
mov ecx, esi
call sub.MFC71.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC71.DLL_CWnd::ShowWindow
push edi
push 0x40b
mov ecx, esi
call sub.MFC71.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC71.DLL_CWnd::ShowWindow
push edi
push 0x40d
mov ecx, esi
call sub.MFC71.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC71.DLL_CWnd::ShowWindow
neg ebp
sbb ebp, ebp
and ebp, 5
push ebp
push 0x3e8
mov ecx, esi
call sub.MFC71.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC71.DLL_CWnd::ShowWindow
push ebp
push 0x3ea
mov ecx, esi
call sub.MFC71.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC71.DLL_CWnd::ShowWindow
push ebp
push 0x40a
mov ecx, esi
call sub.MFC71.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC71.DLL_CWnd::ShowWindow
push 1
lea ecx, [esp + 0x2c]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::constructor_void_]
mov dword [esp + 0x104], 0
push 0x46509b
lea ecx, [esp + 0xc4]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push 0x46509b
lea ecx, [esp + 0xe0]
mov byte [esp + 0x108], 1
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push 0x1b6
push 1
push str.agreement.txt
lea ecx, [esp + 0x34]
mov byte [esp + 0x110], 2
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::open_char_const___int__int_]
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + 4]
lea ecx, [esp + ecx + 0x28]
call dword [sym.imp.MSVCP71.dll_public:_bool___thiscall_std::ios_base::operator__void_const]
test al, al
je 0x40e99b
push 1
call dword [sym.imp.MSVCR71.dll_exit]
lea edx, [esp + 0x28]
push edx
mov ecx, esi
call fcn.0040ddb0
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 4]
push 0xa
lea ecx, [esp + ecx + 0x2c]
call dword [sym.imp.MSVCP71.dll_public:_char___thiscall_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const]
lea ecx, [esp + 0xc0]
lea edx, [esp + 0x28]
push eax
push ecx
push edx
call fcn.0040e650
add esp, 0xc
test eax, eax
jne 0x40e9d8
xor ecx, ecx
jmp 0x40e9df
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call dword [sym.imp.MSVCP71.dll_public:_void____thiscall_std::ios_base::operator_void__void_const]
test eax, eax
je 0x40ea30
push 0x465098
lea edx, [esp + 0xc4]
push edx
lea eax, [esp + 0x14]
push eax
call fcn.00401ef0
add esp, 0xc
push eax
lea ecx, [esp + 0xe0]
mov byte [esp + 0x108], 3
call dword [0x464400]
lea ecx, [esp + 0xc]
mov byte [esp + 0x104], 2
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
jmp 0x40e9a7
lea ecx, [esp + 0xdc]
call dword [sym.imp.MSVCP71.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
push 0x3f1
mov ecx, esi
call sub.MFC71.DLL_CWnd::SetDlgItemTextA
push 0
mov ecx, esi
call sub.MFC71.DLL_CWnd::UpdateData
lea ecx, [esp + 0xdc]
mov byte [esp + 0x104], 1
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0xc0]
mov byte [esp + 0x104], 0
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x28]
mov dword [esp + 0x104], 0xffffffff
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
mov ecx, dword [esp + 0xfc]
pop edi
pop esi
mov dword fs:[0], ecx
mov ecx, dword [esp + 0xf0]
pop ebp
call fcn.00451b75
add esp, 0xfc
ret 4