Function at 0x4cba60
Capabilities:
Get socket status
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5b8641
mov eax, dword fs:[0]
push eax
mov eax, 0x2098
call fcn.00598f80
mov eax, dword [0x64786c]
xor eax, ebp
mov dword [ebp - 0x205c], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x20a4], ecx
mov dword [ebp - 0x2030], 0x3e7
mov dword [ebp - 0x1018], 1
mov dword [ebp - 0x1020], 0
mov dword [ebp - 0x101c], 0xf3e58
mov eax, dword [ebp - 0x20a4]
mov dword [eax + 0x70], 0
cmp dword [0x653730], 0
jg 0x4cbb11
push 0x1004
mov ecx, dword [ebp - 0x20a4]
add ecx, 0x10
call fcn.004ca870
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebp - 0x20a4]
call fcn.00401000
push eax
push str.Thread_id_d__started__mc_d_fs_d
push 0xe1
push 0x5c389c
push 0
call fcn.00401320
add esp, 0x1c
mov edx, dword [ebp - 0x20a4]
add edx, 0x30
push edx
lea ecx, [ebp - 0x2034]
call fcn.00403cf0
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x20a4]
cmp dword [eax + 0x70], 0
jne 0x4cbded
mov ecx, dword [ebp - 0x20a4]
mov dword [ecx + 0x74], 1
lea edx, [ebp - 0x202c]
push edx
lea eax, [ebp - 0x1014]
push eax
mov ecx, dword [ebp - 0x20a4]
call fcn.004cbee0
mov dword [ebp - 0x2040], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x203c], eax
mov ecx, dword [ebp - 0x203c]
push ecx
mov ecx, dword [ebp - 0x20a4]
add ecx, 0x48
call fcn.004cac50
mov dword [ebp - 0x2044], eax
cmp dword [ebp - 0x2044], 0x3e7
jbe 0x4cbba6
mov dword [ebp - 0x2044], 0x3e7
mov edx, dword [ebp - 0x2044]
imul edx, edx, 0x3e8
mov dword [ebp - 0x101c], edx
mov ecx, dword [ebp - 0x20a4]
add ecx, 0x30
call fcn.00401070
lea eax, [ebp - 0x1020]
push eax
push 0
mov ecx, dword [ebp - 0x2040]
and ecx, 2
neg ecx
sbb ecx, ecx
lea edx, [ebp - 0x202c]
and ecx, edx
push ecx
lea eax, [ebp - 0x1014]
push eax
mov ecx, dword [ebp - 0x1018]
add ecx, 1
push ecx
call sub.WS2_32.dll_select
mov dword [ebp - 0x2038], eax
mov edx, dword [ebp - 0x20a4]
mov dword [edx + 0x74], 0
mov ecx, dword [ebp - 0x20a4]
add ecx, 0x30
call fcn.00401060
cmp dword [ebp - 0x2038], 0
jle 0x4cbde8
mov ecx, dword [ebp - 0x20a4]
add ecx, 0x20
call fcn.004b09a0
mov dword [ebp - 0x2048], eax
mov eax, dword [ebp - 0x2048]
sub eax, 1
mov dword [ebp - 0x204c], eax
jmp 0x4cbc5d
mov ecx, dword [ebp - 0x204c]
sub ecx, 1
mov dword [ebp - 0x204c], ecx
cmp dword [ebp - 0x204c], 0
jl 0x4cbde8
mov edx, dword [ebp - 0x204c]
push edx
mov ecx, dword [ebp - 0x20a4]
add ecx, 0x20
call fcn.004b0ac0
mov eax, dword [eax]
mov dword [ebp - 0x2050], eax
mov ecx, dword [ebp - 0x2050]
call fcn.004d3f80
mov dword [ebp - 0x2054], eax
mov ecx, dword [ebp - 0x2050]
call fcn.004d7ef0
mov dword [ebp - 0x2058], eax
cmp dword [ebp - 0x2058], 0
jne 0x4cbcff
mov ecx, dword [ebp - 0x204c]
push ecx
mov ecx, dword [ebp - 0x20a4]
add ecx, 0x20
call fcn.004cc550
mov edx, dword [ebp - 0x2050]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x2050]
mov eax, dword [edx + 8]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x2050]
lea edx, [eax + edx + 8]
mov eax, dword [ebp - 0x2050]
mov eax, dword [eax + ecx + 8]
mov ecx, edx
mov edx, dword [eax + 4]
call edx
jmp 0x4cbda8
mov ecx, dword [ebp - 0x2050]
call fcn.004cc350
test eax, eax
je 0x4cbd3d
lea eax, [ebp - 0x1014]
push eax
mov ecx, dword [ebp - 0x2054]
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4cbd3d
push 0
mov ecx, dword [ebp - 0x2050]
call fcn.004c9090
mov ecx, dword [ebp - 0x2050]
call fcn.004cc290
mov ecx, dword [ebp - 0x2050]
call fcn.004cc370
test eax, eax
je 0x4cbda8
lea edx, [ebp - 0x202c]
push edx
mov eax, dword [ebp - 0x2054]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4cbda8
push 0
mov ecx, dword [ebp - 0x2050]
call fcn.004c90c0
cmp dword [ebp - 0x2058], 1
jne 0x4cbd9d
push 1
mov ecx, dword [ebp - 0x2050]
call fcn.004c9090
push 0
mov ecx, dword [ebp - 0x2050]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2050]
mov eax, dword [edx + 0x28]
call eax
jmp 0x4cbda8
mov ecx, dword [ebp - 0x2050]
call fcn.004cc2f0
lea ecx, [ebp - 0x1014]
push ecx
mov edx, dword [ebp - 0x20a4]
mov eax, dword [edx + 0x78]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4cbde3
push 0
push 0x40
lea ecx, [ebp - 0x209c]
push ecx
mov edx, dword [ebp - 0x20a4]
mov eax, dword [edx + 0x78]
push eax
call sub.WS2_32.dll_recv
cmp eax, 0x40
jne 0x4cbde3
jmp 0x4cbdc2
jmp 0x4cbc4e
jmp 0x4cbb2d
mov ecx, dword [ebp - 0x20a4]
call fcn.004cc0b0
cmp dword [0x653730], 0
jg 0x4cbe26
mov ecx, dword [ebp - 0x20a4]
call fcn.00401000
push eax
push str.ThreadIO::thread__u_exit
push 0x187
push 0x5c38dc
push 0
call fcn.00401320
add esp, 0x14
mov dword [ebp - 0x20a0], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2034]
call fcn.00403d10
mov eax, dword [ebp - 0x20a0]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x205c]
xor ecx, ebp
call fcn.0059709c
mov esp, ebp
pop ebp
ret