Function at 0x40858a
Capabilities:
Get socket status
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
push ebx
push esi
push edi
mov dword [ebp - 4], 0
push 0
call fcn.00452990
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x114], 0
mov dword [ebp - 0xc], 3
mov dword [ebp - 8], 0
mov dword [ebp - 0x11c], 0
jmp 0x4085d7
inc dword [ebp - 0x11c]
mov eax, dword [ebp - 0x11c]
cmp dword [ebp - 0x114], eax
jbe 0x408609
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp + 8]
cmp dword [ebp + eax*4 - 0x110], ecx
jne 0x408604
jmp 0x408609
jmp 0x4085d1
mov eax, dword [ebp - 0x11c]
cmp dword [ebp - 0x114], eax
jne 0x40863e
cmp dword [ebp - 0x114], 0x40
jae 0x40863e
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x11c]
mov dword [ebp + ecx*4 - 0x110], eax
inc dword [ebp - 0x114]
mov dword [ebp - 0xc], 3
mov dword [ebp - 8], 0
mov dword [ebp - 8], 0x2dc6c0
lea eax, [ebp - 0xc]
push eax
push 0
push 0
lea eax, [ebp - 0x114]
push eax
push 0
call dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 0x118], 0
lea eax, [ebp - 0x114]
push eax
mov eax, dword [ebp + 8]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x408850
mov dword [ebp - 0x120], 0
jmp 0x4086a1
inc dword [ebp - 0x120]
mov eax, dword [ebp - 0x120]
cmp dword [ebp - 0x114], eax
jbe 0x4086d3
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp + 8]
cmp dword [ebp + eax*4 - 0x110], ecx
jne 0x4086ce
jmp 0x4086d3
jmp 0x40869b
mov eax, dword [ebp - 0x120]
cmp dword [ebp - 0x114], eax
jne 0x408708
cmp dword [ebp - 0x114], 0x40
jae 0x408708
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x120]
mov dword [ebp + ecx*4 - 0x110], eax
inc dword [ebp - 0x114]
lea eax, [ebp - 0xc]
push eax
push 0
push 0
lea eax, [ebp - 0x114]
push eax
push 0
call dword [sym.imp.WS2_32.dll_select]
lea eax, [ebp - 0x114]
push eax
mov eax, dword [ebp + 8]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x408737
inc dword [ebp - 0x118]
cmp dword [0x45e03c], 0
je 0x408769
mov eax, dword [ebp - 0x118]
push eax
push 0
call fcn.00452990
add esp, 4
push eax
push str._n_r__08X__WAITING....sc_d___usec_
call fcn.00452380
add esp, 0xc
push 0
call fcn.00452990
add esp, 4
mov ecx, dword [ebp - 0x10]
add ecx, 2
cmp eax, ecx
jb 0x40884b
lea eax, [ebp - 0x114]
push eax
mov eax, dword [ebp + 8]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x40883c
push 0
mov eax, dword [ebp + 0x24]
push eax
mov eax, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.WS2_32.dll_send]
cmp dword [0x45e03c], 0
je 0x4087c7
push str._nIPv4___Bytes_Re_sent
call fcn.00452380
add esp, 4
push 0x190
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x114]
push eax
mov eax, dword [ebp + 8]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x408813
mov dword [ebp - 0x118], 0
cmp dword [0x45e03c], 0
je 0x40880e
push str._nIPv4___Bytes_Re_Sent_WORKED
call fcn.00452380
add esp, 4
jmp 0x408837
cmp dword [0x45e03c], 0
je 0x40882d
push str._n_rSC_TIMES_UP__BYE
call fcn.00452380
add esp, 4
mov dword [ebp - 0x118], 0x2c
jmp 0x408846
mov dword [ebp - 0x118], 0
jmp 0x408850
jmp 0x408674
cmp dword [ebp - 0x118], 2
jge 0x408917
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x128], 0
mov dword [ebp - 4], 0
cmp dword [ebp - 0x124], 0xffffffff
je 0x408912
push 0
mov eax, dword [ebp + 0x18]
sub eax, dword [ebp - 0x128]
push eax
mov eax, dword [ebp - 0x128]
add eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 0xffffffff
je 0x4088c5
cmp dword [ebp - 0x124], 0
jne 0x4088d4
mov dword [ebp - 0x124], 0xffffffff
jmp 0x40890d
mov eax, dword [ebp - 0x124]
add dword [ebp - 4], eax
cmp dword [ebp + 0x18], 0x5dc
jge 0x4088f9
cmp dword [ebp + 0x1c], 0
je 0x4088f9
jmp 0x40891e
mov eax, dword [ebp - 0x124]
add dword [ebp - 0x128], eax
push 0xf
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x408878
jmp 0x40891e
mov dword [ebp - 4], 0
cmp dword [0x45e03c], 0
je 0x408943
push 0
call fcn.00452990
add esp, 4
push eax
push str._n_r__08X__recc_out
call fcn.00452380
add esp, 8
mov eax, dword [ebp - 4]
jmp 0x40894b
pop edi
pop esi
pop ebx
leave
ret