Function at 0x42f410
Capabilities:
Connect socket
Get socket status
Resolve function by parsing pe exports
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x436567
mov eax, dword fs:[0]
push eax
sub esp, 0xde4
push esi
push edi
mov eax, dword [0x445018]
xor eax, esp
push eax
lea eax, [esp + 0xdf0]
mov dword fs:[0], eax
lea eax, [ebx + 0x148]
push eax
mov dword [esp + 0x24], vtable.SocketEngine::AutoCounter.0
mov dword [esp + 0x28], ebx
mov dword [esp + 0x1c], eax
mov byte [esp + 0x20], 0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, 1
add dword [ebx + 0x160], esi
lea ecx, [esp + 0x18]
call fcn.004021e0
xor edi, edi
push edi
mov dword [esp + 0xdfc], esi
mov eax, dword [ebx + 0x168]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
call fcn.00402130
mov esi, eax
mov ecx, dword [esi + 4]
add ecx, 0x14
push edi
push ecx
lea ecx, [esp + 0xec]
call fcn.004198b0
mov edx, dword [esi + 4]
mov eax, dword [edx]
and eax, 0x1f
lea ecx, [esp + 0xe4]
mov dword [esp + 0x14], eax
call fcn.004021e0
test byte [esp + 0x14], 1
je 0x42f56d
push 1
push 2
lea ecx, [esp + 0x780]
mov dword [esp + 0x764], 1
mov dword [esp + 0x768], 0x43b7d8
mov dword [esp + 0x76c], 0x43baac
mov dword [esp + 0x770], 0x1ee
mov dword [esp + 0x774], edi
mov dword [esp + 0x778], edi
mov dword [esp + 0x77c], edi
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_int_]
mov byte [esp + 0xdf8], 2
mov eax, dword [ebx + 0x164]
push str._Work_start__
push eax
lea ecx, [esp + 0x780]
push str.SEngine_:
push ecx
call fcn.00401ae0
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___void_const__]
push eax
call fcn.00401ae0
add esp, 8
lea ecx, [esp + 0x75c]
mov byte [esp + 0xdf8], 1
call fcn.00428850
lea eax, [ebx + 0x128]
push eax
mov dword [esp + 0x78], eax
mov byte [esp + 0x7c], 0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dl, byte [ebx + 0x140]
lea ecx, [esp + 0x74]
mov byte [esp + 0x13], dl
call fcn.004021e0
cmp byte [esp + 0x13], 0
je 0x42f691
push ebx
call fcn.004308e0
mov ecx, ebx
call fcn.00430aa0
call fcn.00402130
mov esi, eax
mov eax, dword [esi + 4]
push edi
add eax, 0x14
push eax
lea ecx, [esp + 0xfc]
call fcn.004198b0
mov ecx, dword [esi + 4]
mov eax, dword [ecx]
and eax, 0x1f
lea ecx, [esp + 0xf4]
mov dword [esp + 0x14], eax
call fcn.004021e0
test byte [esp + 0x14], 1
je 0x430832
push 1
push 2
lea ecx, [esp + 0x648]
mov dword [esp + 0x62c], 1
mov dword [esp + 0x630], 0x43b7d8
mov dword [esp + 0x634], 0x43baac
mov dword [esp + 0x638], 0x1f2
mov dword [esp + 0x63c], edi
mov dword [esp + 0x640], edi
mov dword [esp + 0x644], edi
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_int_]
mov byte [esp + 0xdf8], 4
mov edx, dword [ebx + 0x164]
push str._Work_end__
push edx
lea eax, [esp + 0x648]
push str.SEngine_:
push eax
call fcn.00401ae0
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___void_const__]
push eax
call fcn.00401ae0
add esp, 8
lea ecx, [esp + 0x624]
mov byte [esp + 0xdf8], 1
call fcn.00428850
jmp 0x430832
lea esi, [ebx + 0x64]
xor edi, edi
call fcn.00430ce0
cmp byte [ebx + 0x144], 0
lea esi, [edi + 6]
jne 0x42f6aa
lea esi, [edi + 0x11]
lea edi, [ebx + 0x44]
lea eax, [edi + 4]
push eax
mov dword [esp + 0xd8], eax
mov byte [esp + 0xdc], 0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [edi + 0x1c], 1
lea ecx, [esp + 0xd4]
sete byte [esp + 0x13]
call fcn.004021e0
cmp byte [esp + 0x13], 0
jne 0x42f8db
call fcn.00402130
mov esi, eax
mov ecx, dword [esi + 4]
add ecx, 0x14
push 0
push ecx
lea ecx, [esp + 0x13c]
call fcn.004198b0
mov edx, dword [esi + 4]
mov eax, dword [edx]
and eax, 0x1f
lea ecx, [esp + 0x134]
mov dword [esp + 0x14], eax
call fcn.004021e0
test byte [esp + 0x14], 0x10
je 0x42f7dc
push 1
push 2
lea ecx, [esp + 0x954]
mov dword [esp + 0x938], 0x10
mov dword [esp + 0x93c], 0x43b7d8
mov dword [esp + 0x940], 0x43baac
mov dword [esp + 0x944], 0x1fc
mov dword [esp + 0x948], 0
mov dword [esp + 0x94c], 2
mov dword [esp + 0x950], 0xfffff826
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_int_]
mov eax, edi
mov byte [esp + 0xdf8], 6
call fcn.00430e60
push eax
push ecx
push str._not_Opening__socketState:
push ebx
lea eax, [esp + 0x95c]
push str._SEngine_:
push eax
call fcn.00401ae0
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___void_const__]
push eax
call fcn.00401ae0
add esp, 0xc
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_]
lea ecx, [esp + 0x930]
mov byte [esp + 0xdf8], 1
call fcn.00428850
mov edi, 4
lea esi, [ebx + 0x64]
call fcn.00430ce0
push ebx
call fcn.004308e0
mov ecx, ebx
call fcn.00430aa0
call fcn.00402130
mov esi, eax
mov ecx, dword [esi + 4]
xor edi, edi
add ecx, 0x14
push edi
push ecx
lea ecx, [esp + 0x10c]
call fcn.004198b0
mov edx, dword [esi + 4]
mov eax, dword [edx]
and eax, 0x1f
lea ecx, [esp + 0x104]
mov dword [esp + 0x14], eax
call fcn.004021e0
test byte [esp + 0x14], 1
je 0x430832
push 1
push 2
lea ecx, [esp + 0x8b8]
mov dword [esp + 0x89c], 1
mov dword [esp + 0x8a0], 0x43b7d8
mov dword [esp + 0x8a4], 0x43baac
mov dword [esp + 0x8a8], 0x200
mov dword [esp + 0x8ac], edi
mov dword [esp + 0x8b0], edi
mov dword [esp + 0x8b4], edi
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_int_]
mov byte [esp + 0xdf8], 7
mov eax, dword [ebx + 0x164]
push str._Work_end__
push eax
lea ecx, [esp + 0x8b8]
push str.SEngine_:
push ecx
call fcn.00401ae0
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___void_const__]
push eax
call fcn.00401ae0
add esp, 8
lea ecx, [esp + 0x894]
mov byte [esp + 0xdf8], 1
call fcn.00428850
jmp 0x430832
push esi
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
lea esi, [ebx + 0xc4]
call fcn.00430ce0
lea edx, [esp + 0x30]
push edx
push 0x8004667e
push edi
mov dword [esp + 0x3c], 1
call dword [sym.imp.WS2_32.dll_ioctlsocket]
test eax, eax
je 0x42fa9f
call fcn.00402130
call fcn.00429250
test al, 0x10
je 0x42f9cc
push 1
push 2
lea ecx, [esp + 0x81c]
mov dword [esp + 0x800], 0x10
mov dword [esp + 0x804], 0x43b7d8
mov dword [esp + 0x808], 0x43baac
mov dword [esp + 0x80c], 0x207
mov dword [esp + 0x810], 0
mov dword [esp + 0x814], 2
mov dword [esp + 0x818], 0xfffff826
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_int_]
push str._ioctlsocket___0
push ebx
lea eax, [esp + 0x81c]
push str._SEngine_:
push eax
mov byte [esp + 0xe08], 8
call fcn.00401ae0
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___void_const__]
push eax
call fcn.00401ae0
add esp, 8
lea ecx, [esp + 0x7f8]
mov byte [esp + 0xdf8], 1
call fcn.00428850
mov edi, 4
lea esi, [ebx + 0x64]
call fcn.00430ce0
push ebx
call fcn.004308e0
mov ecx, ebx
call fcn.00430aa0
call fcn.00402130
call fcn.00429250
test al, 1
je 0x430832
xor eax, eax
push 1
push 2
lea ecx, [esp + 0x6e4]
mov dword [esp + 0x6c8], 1
mov dword [esp + 0x6cc], 0x43b7d8
mov dword [esp + 0x6d0], 0x43baac
mov dword [esp + 0x6d4], 0x20b
mov dword [esp + 0x6d8], eax
mov dword [esp + 0x6dc], eax
mov dword [esp + 0x6e0], eax
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_int_]
mov byte [esp + 0xdf8], 9
mov ecx, dword [ebx + 0x164]
push str._Work_end__
push ecx
lea edx, [esp + 0x6e4]
push str.SEngine_:
push edx
call fcn.00401ae0
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___void_const__]
push eax
call fcn.00401ae0
add esp, 8
lea ecx, [esp + 0x6c0]
mov byte [esp + 0xdf8], 1
call fcn.00428850
jmp 0x430832
lea eax, [ebx + 4]
push 0x10
push eax
lea edi, [ebx + 0xc4]
mov eax, edi
call fcn.00430e60
push eax
call dword [sym.imp.WS2_32.dll_connect]
lea eax, [ebx + 0x16c]
call fcn.00430e60
mov dword [esp + 0x14], eax
lea eax, [ebx + 0x18c]
call fcn.00430e60
mov esi, eax
lea eax, [edi + 4]
push eax
mov dword [esp + 0x9d0], 0
mov dword [esp + 0x68], eax
mov byte [esp + 0x6c], 0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [edi + 0x1c]
lea ecx, [esp + 0x64]
call fcn.004021e0
mov eax, 0x10624dd3
imul esi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add dword [esp + 0x9cc], 1
add eax, edx
mov dword [esp + 0xa4], eax
imul eax, eax, 0x3e8
sub esi, eax
imul esi, esi, 0x3e8
mov dword [esp + 0x9d0], edi
mov dword [esp + 0xa8], esi
mov esi, dword [esp + 0x14]
xor edi, edi
cmp esi, edi
jle 0x42fcd5
lea eax, [esp + 0xa4]
push eax
push edi
lea ecx, [esp + 0x9d4]
push ecx
push edi
push edi
sub esi, 1
call dword [sym.imp.WS2_32.dll_select]
cmp eax, edi
jle 0x42fba6
lea eax, [ebx + 0xc8]
push eax
mov dword [esp + 0x50], eax
mov byte [esp + 0x54], 0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [ebx + 0xe0]
lea ecx, [esp + 0x4c]
call fcn.004021e0
lea edx, [esp + 0x9cc]
push edx
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x42fed0
xor edi, edi
test byte [0x4464b8], 1
jne 0x42fbd8
or dword [0x4464b8], 1
mov byte [esp + 0xdf8], 0x10
call fcn.00428c30
push 0x4376a0
call fcn.00431135
add esp, 4
mov byte [esp + 0xdf8], 1
mov eax, dword [0x4464c0]
push edi
add eax, 0x14
push eax
lea ecx, [esp + 0x12c]
call fcn.004198b0
mov ecx, dword [0x4464c0]
mov eax, dword [ecx]
and eax, 0x1f
lea ecx, [esp + 0x124]
mov dword [esp + 0x14], eax
call fcn.004021e0
test byte [esp + 0x14], 1
je 0x42fccd
push 1
push 2
lea ecx, [esp + 0x3d8]
mov dword [esp + 0x3bc], 1
mov dword [esp + 0x3c0], str..NetworkModelSocketEngine.cpp
mov dword [esp + 0x3c4], str.SocketParam::Work
mov dword [esp + 0x3c8], 0x220
mov dword [esp + 0x3cc], edi
mov dword [esp + 0x3d0], edi
mov dword [esp + 0x3d4], edi
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_int_]
push esi
push ecx
push str._connect_retry_remain:
push ebx
lea edx, [esp + 0x3e0]
push str._SEngine_:
push edx
mov byte [esp + 0xe10], 0x11
call fcn.00401ae0
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___void_const__]
push eax
call fcn.00401ae0
add esp, 0xc
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_]
lea ecx, [esp + 0x3b4]
mov byte [esp + 0xdf8], 0x12
call fcn.004288b0
lea ecx, [esp + 0x3d0]
mov byte [esp + 0xdf8], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::vbase_dtor_void_]
cmp esi, edi
jg 0x42fb49
call fcn.00402130
mov esi, eax
mov eax, dword [esi + 4]
push edi
add eax, 0x14
push eax
lea ecx, [esp + 0x11c]
call fcn.004198b0
mov ecx, dword [esi + 4]
mov eax, dword [ecx]
and eax, 0x1f
lea ecx, [esp + 0x114]
mov dword [esp + 0x14], eax
call fcn.004021e0
test byte [esp + 0x14], 0x10
je 0x42fdca
push 1
push 2
lea ecx, [esp + 0x2a0]
mov dword [esp + 0x284], 0x10
mov dword [esp + 0x288], str..NetworkModelSocketEngine.cpp
mov dword [esp + 0x28c], str.SocketParam::Work
mov dword [esp + 0x290], 0x223
mov dword [esp + 0x294], edi
mov dword [esp + 0x298], 2
mov dword [esp + 0x29c], 0xfffff826
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_int_]
push str._connect_failed_
push ebx
lea edx, [esp + 0x2a0]
push str._SEngine_:
push edx
mov byte [esp + 0xe08], 0x13
call fcn.00401ae0
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___void_const__]
push eax
call fcn.00401ae0
add esp, 8
lea ecx, [esp + 0x27c]
mov byte [esp + 0xdf8], 0x14
call fcn.004288b0
lea ecx, [esp + 0x298]
mov byte [esp + 0xdf8], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::vbase_dtor_void_]
mov edi, 4
lea esi, [ebx + 0x64]
call fcn.00430ce0
push ebx
call fcn.004308e0
mov ecx, ebx
call fcn.00430aa0
call fcn.00402130
mov esi, eax
mov eax, dword [esi + 4]
xor edi, edi
push edi
add eax, 0x14
push eax
lea ecx, [esp + 0xf4]
call fcn.004198b0
mov ecx, dword [esi + 4]
mov eax, dword [ecx]
and eax, 0x1f
lea ecx, [esp + 0xec]
mov dword [esp + 0x14], eax
call fcn.004021e0
test byte [esp + 0x14], 1
je 0x430832
push 1
push 2
lea ecx, [esp + 0x510]
mov dword [esp + 0x4f4], 1
mov dword [esp + 0x4f8], 0x43b7d8
mov dword [esp + 0x4fc], 0x43baac
mov dword [esp + 0x500], 0x227
mov dword [esp + 0x504], edi
mov dword [esp + 0x508], edi
mov dword [esp + 0x50c], edi
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_int_]
mov byte [esp + 0xdf8], 0x15
mov edx, dword [ebx + 0x164]
push str._Work_end__
push edx
lea eax, [esp + 0x510]
push str.SEngine_:
push eax
call fcn.00401ae0
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___void_const__]
push eax
call fcn.00401ae0
add esp, 8
lea ecx, [esp + 0x4ec]
mov byte [esp + 0xdf8], 0x16
call fcn.004288b0
lea ecx, [esp + 0x508]
jmp 0x430824
call fcn.00402130
mov esi, eax
mov ecx, dword [esi + 4]
xor edi, edi
add ecx, 0x14
push edi
push ecx
lea ecx, [esp + 0x104]
call fcn.004198b0
mov edx, dword [esi + 4]
mov eax, dword [edx]
and eax, 0x1f
lea ecx, [esp + 0xfc]
mov dword [esp + 0x14], eax
call fcn.004021e0
test byte [esp + 0x14], 1
je 0x42ffc5
push 1
push 2
lea ecx, [esp + 0x168]
mov dword [esp + 0x14c], 1
mov dword [esp + 0x150], str..NetworkModelSocketEngine.cpp
mov dword [esp + 0x154], str.SocketParam::Work
mov dword [esp + 0x158], 0x22b
mov dword [esp + 0x15c], edi
mov dword [esp + 0x160], edi
mov dword [esp + 0x164], edi
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_int_]
mov byte [esp + 0xdf8], 0x17
mov eax, dword [ebx + 0x164]
push str._Work_State::Opened
push eax
lea ecx, [esp + 0x168]
push str.SEngine_:
push ecx
call fcn.00401ae0
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___void_const__]
push eax
call fcn.00401ae0
add esp, 8
lea ecx, [esp + 0x144]
mov byte [esp + 0xdf8], 0x18
call fcn.004288b0
lea ecx, [esp + 0x160]
mov byte [esp + 0xdf8], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::vbase_dtor_void_]
xor edi, edi
lea esi, [ebx + 0x44]
call fcn.00430ce0
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [ebx + 0x88]
push eax
mov dword [esp + 0xc8], eax
mov byte [esp + 0xcc], 0
call esi
mov edi, dword [ebx + 0xa0]
lea ecx, [esp + 0xc4]
call fcn.004021e0
test edi, edi
je 0x430010
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
push 0
push 0
mov ecx, edi
call eax
lea ecx, [esp + 0xbdc]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0x186a0
jmp 0x430030
lea eax, [ebx + 0x108]
push eax
mov dword [esp + 0x88], eax
mov byte [esp + 0x8c], 0
call esi
mov dl, byte [ebx + 0x120]
lea ecx, [esp + 0x84]
mov byte [esp + 0x13], dl
call fcn.004021e0
cmp byte [esp + 0x13], 0
jne 0x430700
lea eax, [ebx + 0xc8]
push eax
mov dword [esp + 0xce8], 0
mov dword [esp + 0xb8], eax
mov byte [esp + 0xbc], 0
call esi
mov edi, dword [ebx + 0xe0]
lea ecx, [esp + 0xb4]
call fcn.004021e0
add dword [esp + 0xce4], 1
lea eax, [ebx + 0xc8]
push eax
mov dword [esp + 0xcec], edi
mov dword [esp + 0xad8], 0
mov dword [esp + 0x98], eax
mov byte [esp + 0x9c], 0
call esi
mov edi, dword [ebx + 0xe0]
lea ecx, [esp + 0x94]
call fcn.004021e0
add dword [esp + 0xad4], 1
lea eax, [ebx + 0xa8]
push eax
mov dword [esp + 0xadc], edi
mov dword [esp + 0x58], eax
mov byte [esp + 0x5c], 0
call esi
mov edi, dword [ebx + 0xc0]
lea ecx, [esp + 0x54]
call fcn.004021e0
test edi, edi
je 0x43029b
cmp dword [esp + 0x14], 0
jne 0x43024b
test byte [0x4464b8], 1
jne 0x430157
or dword [0x4464b8], 1
mov byte [esp + 0xdf8], 0x2c
call fcn.00428c30
push 0x4376a0
call fcn.00431135
add esp, 4
mov byte [esp + 0xdf8], 1
mov eax, dword [0x4464c0]
push 0
add eax, 0x14
push eax
lea ecx, [esp + 0x114]
call fcn.004198b0
mov ecx, dword [0x4464c0]
mov eax, dword [ecx]
and eax, 0x1f
lea ecx, [esp + 0x10c]
mov dword [esp + 0x14], eax
call fcn.004021e0
test byte [esp + 0x14], 1
je 0x43024b
xor eax, eax
push 1
push 2
lea ecx, [esp + 0x204]
mov dword [esp + 0x1e8], 1
mov dword [esp + 0x1ec], str..NetworkModelSocketEngine.cpp
mov dword [esp + 0x1f0], str.SocketParam::Work
mov dword [esp + 0x1f4], 0x242
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x200], eax
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_int_]
mov byte [esp + 0xdf8], 0x2d
mov edx, dword [ebx + 0x164]
push str._Work__start__listen_writeFd___
push edx
lea eax, [esp + 0x204]
push str.SEngine_:
push eax
call fcn.00401ae0
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___void_const__]
push eax
call fcn.00401ae0
add esp, 8
lea ecx, [esp + 0x1e0]
mov byte [esp + 0xdf8], 0x2e
call fcn.004288b0
lea ecx, [esp + 0x1fc]
mov byte [esp + 0xdf8], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::vbase_dtor_void_]
lea eax, [ebx + 0xc8]
push eax
mov dword [esp + 0xbe0], 0
mov dword [esp + 0x60], eax
mov byte [esp + 0x64], 0
call esi
mov edi, dword [ebx + 0xe0]
lea ecx, [esp + 0x5c]
call fcn.004021e0
add dword [esp + 0xbdc], 1
mov dword [esp + 0xbe0], edi
lea edi, [esp + 0xbdc]
mov dword [esp + 0x14], edi
mov eax, 4
jmp 0x4303de
cmp dword [esp + 0x14], 0
je 0x4303cd
test byte [0x4464b8], 1
jne 0x4302d8
or dword [0x4464b8], 1
mov byte [esp + 0xdf8], 0x35
call fcn.00428c30
push 0x4376a0
call fcn.00431135
add esp, 4
mov byte [esp + 0xdf8], 1
mov ecx, dword [0x4464c0]
add ecx, 0x14
push 0
push ecx
lea ecx, [esp + 0x124]
call fcn.004198b0
mov edx, dword [0x4464c0]
mov eax, dword [edx]
and eax, 0x1f
lea ecx, [esp + 0x11c]
mov dword [esp + 0x14], eax
call fcn.004021e0
test byte [esp + 0x14], 1
je 0x4303cd
xor eax, eax
push 1
push 2
lea ecx, [esp + 0x33c]
mov dword [esp + 0x320], 1
mov dword [esp + 0x324], str..NetworkModelSocketEngine.cpp
mov dword [esp + 0x328], str.SocketParam::Work
mov dword [esp + 0x32c], 0x24a
mov dword [esp + 0x330], eax
mov dword [esp + 0x334], eax
mov dword [esp + 0x338], eax
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_int_]
mov byte [esp + 0xdf8], 0x36
mov eax, dword [ebx + 0x164]
push str._Work__stop__listen_writeFd___
push eax
lea ecx, [esp + 0x33c]
push str.SEngine_:
push ecx
call fcn.00401ae0
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___void_const__]
push eax
call fcn.00401ae0
add esp, 8
lea ecx, [esp + 0x318]
mov byte [esp + 0xdf8], 0x37
call fcn.004288b0
lea ecx, [esp + 0x334]
mov byte [esp + 0xdf8], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::vbase_dtor_void_]
mov dword [esp + 0x14], 0
mov edi, dword [esp + 0x14]
mov eax, 3
lea edx, [esp + 0x6c]
push edx
lea ecx, [esp + 0xce8]
push ecx
push edi
lea edx, [esp + 0xae0]
push edx
push eax
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jl 0x43085b
lea eax, [ebx + 0x108]
push eax
mov dword [esp + 0x80], eax
mov byte [esp + 0x84], 0
call esi
mov al, byte [ebx + 0x120]
lea ecx, [esp + 0x7c]
mov byte [esp + 0x13], al
call fcn.004021e0
cmp byte [esp + 0x13], 0
jne 0x430700
lea eax, [ebx + 0xc8]
push eax
mov dword [esp + 0x90], eax
mov byte [esp + 0x94], 0
call esi
mov ecx, dword [ebx + 0xe0]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x8c]
call fcn.004021e0
mov eax, dword [esp + 0x18]
lea edx, [esp + 0xad4]
push edx
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x430484
mov ecx, ebx
call fcn.0042e9a0
lea eax, [ebx + 0x108]
push eax
mov dword [esp + 0xa0], eax
mov byte [esp + 0xa4], 0
call esi
mov cl, byte [ebx + 0x120]
mov byte [esp + 0x13], cl
lea ecx, [esp + 0x9c]
call fcn.004021e0
cmp byte [esp + 0x13], 0
jne 0x430700
test edi, edi
je 0x430504
lea eax, [ebx + 0xc8]
push eax
mov dword [esp + 0xb0], eax
mov byte [esp + 0xb4], 0
call esi
mov edx, dword [ebx + 0xe0]
lea ecx, [esp + 0xac]
mov dword [esp + 0x18], edx
call fcn.004021e0
mov eax, dword [esp + 0x18]
push edi
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x430504
push ebx
call fcn.0042ed50
lea eax, [ebx + 0xc8]
push eax
mov dword [esp + 0xc0], eax
mov byte [esp + 0xc4], 0
call esi
mov edi, dword [ebx + 0xe0]
lea ecx, [esp + 0xbc]
call fcn.004021e0
lea ecx, [esp + 0xce4]
push ecx
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x430030
test byte [0x4464b8], 1
jne 0x430576
or dword [0x4464b8], 1
mov byte [esp + 0xdf8], 0x52
call fcn.00428c30
push 0x4376a0
call fcn.00431135
add esp, 4
mov byte [esp + 0xdf8], 1
mov edx, dword [0x4464c0]
xor edi, edi
push edi
add edx, 0x14
push edx
lea ecx, [esp + 0x134]
call fcn.004198b0
mov eax, dword [0x4464c0]
mov eax, dword [eax]
and eax, 0x1f
lea ecx, [esp + 0x12c]
mov dword [esp + 0x18], eax
call fcn.004021e0
test byte [esp + 0x18], 1
je 0x430669
push 1
push 2
lea ecx, [esp + 0x474]
mov dword [esp + 0x458], 1
mov dword [esp + 0x45c], 0x43b7d8
mov dword [esp + 0x460], 0x43baac
mov dword [esp + 0x464], 0x266
mov dword [esp + 0x468], edi
mov dword [esp + 0x46c], edi
mov dword [esp + 0x470], edi
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_int_]
mov byte [esp + 0xdf8], 0x53
mov ecx, dword [ebx + 0x164]
push str._Work_FD_ISSET_exceptionFd
push ecx
lea edx, [esp + 0x474]
push str.SEngine_:
push edx
call fcn.00401ae0
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___void_const__]
push eax
call fcn.00401ae0
add esp, 8
lea ecx, [esp + 0x450]
mov byte [esp + 0xdf8], 0x54
call fcn.004288b0
lea ecx, [esp + 0x46c]
mov byte [esp + 0xdf8], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::vbase_dtor_void_]
lea eax, [ebx + 0x48]
push eax
mov dword [esp + 0xe0], eax
mov byte [esp + 0xe4], 0
call esi
cmp dword [ebx + 0x60], 2
lea ecx, [esp + 0xdc]
sete byte [esp + 0x13]
call fcn.004021e0
cmp byte [esp + 0x13], 0
jne 0x4306cd
lea eax, [ebx + 0x68]
push eax
mov dword [esp + 0x38], eax
mov byte [esp + 0x3c], 0
call esi
mov eax, 5
mov byte [esp + 0xdf8], 1
cmp dword [ebx + 0x80], eax
lea ecx, [esp + 0x34]
je 0x4306c8
mov dword [ebx + 0x80], eax
call fcn.004021e0
lea eax, [ebx + 0x108]
push eax
mov dword [esp + 0x48], eax
mov byte [esp + 0x4c], 0
call esi
lea ecx, [esp + 0x44]
mov byte [esp + 0xdf8], 1
cmp byte [ebx + 0x120], 1
je 0x4306fb
mov byte [ebx + 0x120], 1
call fcn.004021e0
push ebx
call fcn.004308e0
mov ecx, ebx
call fcn.00430aa0
test byte [0x4464b8], 1
jne 0x43073f
or dword [0x4464b8], 1
mov byte [esp + 0xdf8], 0x60
call fcn.00428c30
push 0x4376a0
call fcn.00431135
add esp, 4
mov byte [esp + 0xdf8], 1
mov eax, dword [0x4464c0]
xor esi, esi
push esi
add eax, 0x14
push eax
lea ecx, [esp + 0x144]
call fcn.004198b0
mov ecx, dword [0x4464c0]
mov eax, dword [ecx]
and eax, 0x1f
lea ecx, [esp + 0x13c]
mov dword [esp + 0x18], eax
call fcn.004021e0
test byte [esp + 0x18], 1
je 0x430832
push 1
push 2
lea ecx, [esp + 0x5ac]
mov dword [esp + 0x590], 1
mov dword [esp + 0x594], 0x43b7d8
mov dword [esp + 0x598], 0x43baac
mov dword [esp + 0x59c], 0x271
mov dword [esp + 0x5a0], esi
mov dword [esp + 0x5a4], esi
mov dword [esp + 0x5a8], esi
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_int_]
mov byte [esp + 0xdf8], 0x61
mov edx, dword [ebx + 0x164]
push str._Work_end__
push edx
lea eax, [esp + 0x5ac]
push str.SEngine_:
push eax
call fcn.00401ae0
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___void_const__]
push eax
call fcn.00401ae0
add esp, 8
lea ecx, [esp + 0x588]
mov byte [esp + 0xdf8], 0x62
call fcn.004288b0
lea ecx, [esp + 0x5a4]
mov byte [esp + 0xdf8], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__::vbase_dtor_void_]
lea ecx, [esp + 0x20]
mov dword [esp + 0xdf8], 0xffffffff
call fcn.0042d0e0
mov ecx, dword [esp + 0xdf0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [ebx + 0x48]
push eax
mov dword [esp + 0xd0], eax
mov byte [esp + 0xd4], 0
call esi
cmp dword [ebx + 0x60], 2
lea ecx, [esp + 0xcc]
sete byte [esp + 0x13]
call fcn.004021e0
cmp byte [esp + 0x13], 0
jne 0x4308be
lea eax, [ebx + 0x68]
push eax
mov dword [esp + 0x40], eax
mov byte [esp + 0x44], 0
call esi
mov eax, 1
mov byte [esp + 0xdf8], al
cmp dword [ebx + 0x80], eax
lea ecx, [esp + 0x3c]
je 0x4308b9
mov dword [ebx + 0x80], eax
call fcn.004021e0
lea eax, [ebx + 0x108]
push eax
mov dword [esp + 0x2c], eax
mov byte [esp + 0x30], 0
call esi
lea ecx, [esp + 0x28]
jmp 0x4306e3