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

Disassembly:
push 0x20
mov eax, 0x5bd56e
call fcn.00518b46
mov dword [ebp - 0x1c], ecx
xor ebx, ebx
cmp byte [0x6edac8], bl
je 0x4dec54
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add eax, 0x1388
jmp 0x4dec5f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add eax, 0x4e20
push dword [ebp + 0xc]
mov dword [ebp - 0x14], eax
push ebx
push dword [ebp + 8]
mov dword [ebp - 0x18], ebx
call fcn.00516720
add esp, 0xc
push 0x104
call fcn.00511d1d
pop ecx
push eax
lea ecx, [ebp - 0x24]
call fcn.004db094
mov dword [ebp - 4], ebx
mov byte [ebp - 0xd], bl
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, dword [ebp - 0x14]
jae 0x4dee0b
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x248], bl
jne 0x4ded22
cmp byte [ebp - 0xd], bl
jne 0x4ded2b
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
xor ecx, ecx
cmp edx, ebx
jbe 0x4decd1
lea edi, [eax + 4]
mov esi, dword [ebp + 0x10]
cmp dword [edi], esi
je 0x4decd4
inc ecx
add edi, 4
cmp ecx, edx
jb 0x4decc0
jmp 0x4decd4
mov esi, dword [ebp + 0x10]
cmp ecx, edx
jne 0x4dece9
cmp edx, 0x40
jae 0x4dece9
mov dword [eax + ecx*4 + 4], esi
mov eax, dword [ebp - 0x24]
inc dword [eax]
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x2c]
push ecx
push ebx
push ebx
push eax
inc esi
push esi
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x28], ebx
call dword [sym.imp.WSOCK32.dll_select]
cmp eax, 0xffffffff
je 0x4dee48
cmp eax, ebx
je 0x4ded13
mov byte [ebp - 0xd], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, dword [ebp - 0x14]
jb 0x4dec9d
cmp byte [ebp - 0xd], bl
je 0x4dee0b
lea eax, [ebp - 0x18]
push eax
push 0x4004667f
push dword [ebp + 0x10]
call dword [sym.imp.WSOCK32.dll_ioctlsocket]
mov eax, dword [ebp - 0x18]
cmp eax, ebx
jbe 0x4dee03
cmp dword [ebp + 0xc], eax
mov dword [ebp - 0x18], eax
lea eax, [ebp + 0xc]
jb 0x4ded56
lea eax, [ebp - 0x18]
mov eax, dword [eax]
mov edi, dword [sym.imp.WSOCK32.dll_recv]
push 2
push eax
push dword [ebp + 8]
mov dword [ebp - 0x18], eax
push dword [ebp + 0x10]
call edi
cmp eax, ebx
jle 0x4dee48
mov esi, dword [ebp + 8]
push str._r_n_r_n
push esi
call fcn.0051a230
cmp eax, ebx
pop ecx
pop ecx
jne 0x4dee59
push str._n_r_n_r
push esi
call fcn.0051a230
cmp eax, ebx
pop ecx
pop ecx
jne 0x4dee59
push 0x65af04
push esi
call fcn.0051a230
cmp eax, ebx
pop ecx
pop ecx
je 0x4dedba
dec eax
dec eax
jne 0x4dee59
push 0x65af00
push esi
call fcn.0051a230
cmp eax, ebx
pop ecx
pop ecx
je 0x4dedd3
dec eax
dec eax
jne 0x4dee59
push 2
push 0x684c18
push esi
call fcn.00514a15
add esp, 0xc
test eax, eax
je 0x4dee85
push 1
push 0x65aefc
push esi
call fcn.00514a15
add esp, 0xc
test eax, eax
je 0x4dee9c
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.004da9e8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, dword [ebp - 0x14]
jae 0x4dee31
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x248], bl
je 0x4dec74
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, dword [ebp - 0x14]
sbb eax, eax
and eax, 0xfffffffe
inc eax
call fcn.00518c1e
ret 0xc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.004da9e8
or eax, 0xffffffff
jmp 0x4dee40
add eax, 4
push esi
mov byte [eax], bl
call fcn.00518240
pop ecx
mov esi, eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.004da9e8
cmp esi, ebx
jle 0x4dee31
push ebx
push esi
push dword [ebp + 8]
push dword [ebp + 0x10]
call edi
xor eax, eax
jmp 0x4dee40
mov eax, dword [ebp + 8]
push 2
pop esi
mov byte [eax + 2], bl
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.004da9e8
jmp 0x4dee77
mov eax, dword [ebp + 8]
xor esi, esi
inc esi
mov byte [eax + 1], bl
jmp 0x4dee8e