Function at 0x4078c5
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4315de
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x304
push esi
mov byte [ebp - 0xa4], 0
push 1
push 2
lea ecx, [ebp - 0xa0]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_int_]
mov dword [ebp - 4], 0
push 0x440828
mov eax, dword [ebp + 0xc]
push eax
push str.STATUS
lea ecx, [ebp - 0xa0]
push ecx
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___int_]
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
lea edx, [ebp - 0x1c]
push edx
lea ecx, [ebp - 0xa0]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::str_void_]
mov byte [ebp - 4], 1
push 0
lea ecx, [ebp - 0x1c]
call dword [sym.imp.MSVCP60.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::length_void_const]
push eax
lea ecx, [ebp - 0x1c]
call dword [sym.imp.MSVCP60.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.WS2_32.dll_send]
mov esi, eax
lea ecx, [ebp - 0x1c]
call dword [sym.imp.MSVCP60.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::length_void_const]
cmp esi, eax
jne 0x407cfe
push 0
mov ecx, dword [ebp + 0x14]
push ecx
lea ecx, [ebp - 0xb0]
call sub.MFC42.DLL_CSingleLock::CSingleLock
mov byte [ebp - 4], 2
push 0x7d0
lea ecx, [ebp - 0xb0]
call sub.MFC42.DLL_CSingleLock::Lock
test eax, eax
je 0x407c6f
push 0
push 0x1ff
lea edx, [ebp - 0x2b0]
push edx
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x2b4], eax
cmp dword [ebp - 0x2b4], 0
je 0x407bef
cmp dword [ebp - 0x2b4], 0xffffffff
je 0x407bef
mov ecx, dword [ebp - 0x2b4]
mov byte [ebp + ecx - 0x2b0], 0
lea edx, [ebp - 0x2f4]
push edx
lea eax, [ebp - 0x2b0]
push eax
lea ecx, [ebp - 0x2c4]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
mov byte [ebp - 4], 3
push 0
push 0xd
lea ecx, [ebp - 0x2c4]
call dword [sym.imp.MSVCP60.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char__unsigned_int_const]
mov dword [ebp - 0x2c8], eax
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov edx, dword [ebp - 0x2c8]
cmp edx, dword [ecx]
je 0x407a85
mov eax, dword [ebp - 0x2c8]
push eax
push 0
lea ecx, [ebp - 0x304]
push ecx
lea ecx, [ebp - 0x2c4]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov dword [ebp - 0x30c], eax
mov edx, dword [ebp - 0x30c]
mov dword [ebp - 0x310], edx
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x310]
push eax
lea ecx, [ebp - 0x2c4]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x304]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push str.PRESENT
lea ecx, [ebp - 0x2c4]
push ecx
call dword [sym.imp.MSVCP60.dll_bool___cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__]
add esp, 8
and eax, 0xff
test eax, eax
je 0x407aaf
mov byte [ebp - 0xa4], 1
jmp 0x407bdd
push str.ABSENT
lea edx, [ebp - 0x2c4]
push edx
call dword [sym.imp.MSVCP60.dll_bool___cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__]
add esp, 8
and eax, 0xff
test eax, eax
je 0x407b5f
lea ecx, [ebp - 0x2d0]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 5
push 0xbc
lea ecx, [ebp - 0x2d0]
call sub.MFC42.DLL_CString::LoadStringA
lea ecx, [ebp - 0x2cc]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 6
push 0xbd
lea ecx, [ebp - 0x2cc]
call sub.MFC42.DLL_CString::LoadStringA
push 1
lea ecx, [ebp - 0x2cc]
call fcn.00419910
push eax
lea ecx, [ebp - 0x2d0]
call fcn.00419910
push eax
mov ecx, dword [ebp + 8]
call sub.MFC42.DLL_CWnd::MessageBoxA
sub eax, 1
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0xa4], al
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2cc]
call fcn.00430182
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2d0]
call fcn.00430182
jmp 0x407bdd
lea ecx, [ebp - 0x2d8]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 7
push 0xbe
lea ecx, [ebp - 0x2d8]
call sub.MFC42.DLL_CString::LoadStringA
lea ecx, [ebp - 0x2d4]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 8
push 0xbf
lea ecx, [ebp - 0x2d4]
call sub.MFC42.DLL_CString::LoadStringA
push 0
lea ecx, [ebp - 0x2d4]
call fcn.00419910
push eax
lea ecx, [ebp - 0x2d8]
call fcn.00419910
push eax
mov ecx, dword [ebp + 8]
call sub.MFC42.DLL_CWnd::MessageBoxA
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2d4]
call fcn.00430182
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2d8]
call fcn.00430182
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2c4]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
jmp 0x407c6d
lea ecx, [ebp - 0x2e0]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 9
push 0xba
lea ecx, [ebp - 0x2e0]
call sub.MFC42.DLL_CString::LoadStringA
lea ecx, [ebp - 0x2dc]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0xa
push 0xbb
lea ecx, [ebp - 0x2dc]
call sub.MFC42.DLL_CString::LoadStringA
push 0
lea ecx, [ebp - 0x2dc]
call fcn.00419910
push eax
lea ecx, [ebp - 0x2e0]
call fcn.00419910
push eax
mov ecx, dword [ebp + 8]
call sub.MFC42.DLL_CWnd::MessageBoxA
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x2dc]
call fcn.00430182
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2e0]
call fcn.00430182
jmp 0x407ced
lea ecx, [ebp - 0x2e8]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0xb
push 0xba
lea ecx, [ebp - 0x2e8]
call sub.MFC42.DLL_CString::LoadStringA
lea ecx, [ebp - 0x2e4]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0xc
push 0xbb
lea ecx, [ebp - 0x2e4]
call sub.MFC42.DLL_CString::LoadStringA
push 0
lea ecx, [ebp - 0x2e4]
call fcn.00419910
push eax
lea ecx, [ebp - 0x2e8]
call fcn.00419910
push eax
mov ecx, dword [ebp + 8]
call sub.MFC42.DLL_CWnd::MessageBoxA
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2e4]
call fcn.00430182
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2e8]
call fcn.00430182
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb0]
call fcn.00408520
jmp 0x407d7c
lea ecx, [ebp - 0x2f0]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0xd
push 0xb8
lea ecx, [ebp - 0x2f0]
call sub.MFC42.DLL_CString::LoadStringA
lea ecx, [ebp - 0x2ec]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0xe
push 0xb9
lea ecx, [ebp - 0x2ec]
call sub.MFC42.DLL_CString::LoadStringA
push 0
lea ecx, [ebp - 0x2ec]
call fcn.00419910
push eax
lea ecx, [ebp - 0x2f0]
call fcn.00419910
push eax
mov ecx, dword [ebp + 8]
call sub.MFC42.DLL_CWnd::MessageBoxA
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x2ec]
call fcn.00430182
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2f0]
call fcn.00430182
mov al, byte [ebp - 0xa4]
mov byte [ebp - 0x308], al
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa0]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::vbase_dtor_void_]
mov al, byte [ebp - 0x308]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret