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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x11c
mov ebx, eax
nop
test byte [ebx + 0x18], 2
je 0x4dfe03
mov edi, dword [ebx + 0x24]
test edi, edi
je 0x4dfe91
mov esi, dword [ebx + 0x30]
lea eax, [edi + 0x1000]
cmp esi, eax
ja 0x4dfe10
mov ecx, dword [ebx + 0x34]
mov esi, dword [ebx + 0x2c]
lea edx, [ecx + edi]
lea eax, [esi + 0x1000]
cmp edx, eax
jae 0x4dfd84
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x120], eax
mov eax, dword [ebx + 0x30]
mov dword [ebp - 0x124], eax
lea eax, [ecx + ecx]
mov dword [ebx + 0x34], eax
push edx
push edx
push eax
push edi
call dword [0x51908c]
add esp, 0x10
mov dword [ebx + 0x24], eax
test eax, eax
je 0x4dfecd
mov ecx, dword [ebp - 0x120]
sub esi, edi
sub ecx, edi
add eax, esi
mov dword [ebp - 0x120], ecx
mov dword [ebx + 0x2c], eax
mov edx, dword [ebp - 0x120]
mov eax, dword [ebx + 0x24]
add edx, eax
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x120]
mov dword [ebx + 0x28], eax
mov eax, dword [ebp - 0x124]
sub eax, edi
mov dword [ebp - 0x124], eax
mov eax, dword [ebx + 0x24]
mov edi, dword [ebp - 0x124]
add edi, eax
mov dword [ebp - 0x124], edi
mov eax, dword [ebp - 0x124]
mov dword [ebx + 0x30], eax
push 0
push 0x1000
mov esi, dword [ebx + 0x2c]
push esi
mov ecx, dword [ebx + 0x14]
push ecx
call sub.WSOCK32.DLL_recv
mov dword [ebx + 0x38], eax
cmp eax, 0
jg 0x4dfec0
je 0x4dfe03
inc eax
je 0x4dfe45
mov eax, dword [ebx + 0x14]
sub esp, 0xc
mov dword [ebp - 0x114], eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0x118], 1
mov dword [ebp - 0x14], 0x3c
mov dword [ebp - 0x10], 0
push eax
lea eax, [ebp - 0x118]
push 0
push 0
push eax
mov eax, dword [ebx + 0x14]
inc eax
push eax
call sub.WSOCK32.DLL_select
add esp, 0xc
test eax, eax
jg 0x4dfcc0
call sub.msvcrt.dll__errno
cmp dword [eax], 4
je 0x4dfcc0
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
push eax
mov eax, dword [ebx + 0x2c]
sub eax, esi
push eax
push esi
push edi
call sub.msvcrt.dll_memmove
mov eax, esi
mov ecx, dword [ebx + 0x2c]
sub eax, edi
mov edi, dword [ebx + 0x30]
sub edi, eax
mov esi, dword [ebx + 0x28]
mov dword [ebx + 0x30], edi
sub esi, eax
sub ecx, eax
mov edi, dword [ebx + 0x24]
add esp, 0x10
mov dword [ebx + 0x28], esi
mov dword [ebx + 0x2c], ecx
jmp 0x4dfce6
call fcn.004dfca0
cmp eax, 0x2734
jg 0x4dfe66
cmp eax, 0x2733
jge 0x4dfdad
cmp eax, 0xb
jne 0x4dfe74
jmp 0x4dfdad
cmp eax, 0x2746
je 0x4dfe03
cmp eax, 0x274a
je 0x4dfe03
push eax
push str.recv_failed_n
push 0
push 0xa
call fcn.0048db10
or eax, 0xffffffff
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
sub esp, 0xc
push 0xfde8
call dword [0x519088]
add esp, 0x10
mov dword [ebx + 0x24], eax
test eax, eax
je 0x4dfef3
mov edi, eax
mov dword [ebx + 0x34], 0xfde8
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], eax
jmp 0x4dfcd5
mov edx, dword [ebx + 0x2c]
add edx, eax
mov dword [ebx + 0x2c], edx
jmp 0x4dfe05
mov eax, str.allocating_input_buffer
call fcn.004dfc80
sub esp, 0xc
push edi
call dword [0x519080]
or eax, 0xffffffff
add esp, 0x10
mov dword [ebx + 0x38], 0xffffffff
jmp 0x4dfe05
mov eax, str.allocating_input
call fcn.004dfc80
or eax, 0xffffffff
mov dword [ebx + 0x38], 0xffffffff
jmp 0x4dfe05