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

Disassembly:
sub esp, 0x130
push ebx
push ebp
mov ebp, dword [esp + 0x13c]
push esi
push edi
mov eax, dword [ebp + 0x20]
xor ebx, ebx
lea ecx, [esp + 0x20]
push ecx
push ebx
push ebx
lea edx, [esp + 0x44]
mov dword [esp + 0x48], eax
push edx
add eax, 1
push eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x4c], 1
call dword [sym.imp.WSOCK32.dll_select]
cmp eax, 0xffffffff
je 0x4f32be
mov ecx, dword [ebp + 0x20]
lea eax, [esp + 0x38]
push eax
push ecx
call sub.WSOCK32.dll___WSAFDIsSet
test eax, eax
je 0x4f3376
mov eax, dword [0x93a140]
cmp eax, ebx
jne 0x4f31bc
cmp dword [0x9d3e94], ebx
jne 0x4f3191
xor eax, eax
xor ecx, ecx
mov dword [0x93a140], eax
mov dword [0x93a148], ecx
jmp 0x4f31c2
mov edi, dword [0x93a12c]
mov esi, dword [0x93a13c]
push 0x114
push 0x6b24c4
push ebx
call fcn.00589980
xor ecx, ecx
mov dword [0x93a140], eax
mov dword [0x93a148], ecx
jmp 0x4f31c2
mov ecx, dword [0x93a148]
mov edi, dword [0x93a12c]
add eax, ecx
sub edi, ecx
cmp eax, ebx
je 0x4f3121
lea edx, [esp + 0x14]
push edx
mov edx, dword [ebp + 0x20]
lea ecx, [esp + 0x2c]
push ecx
push ebx
push edi
push eax
push edx
mov dword [esp + 0x2c], 0x10
call dword [sym.imp.WSOCK32.dll_recvfrom]
mov esi, eax
cmp esi, ebx
jl 0x4f3306
cmp esi, edi
jg 0x4f3306
cmp esi, 0xffffffff
je 0x4f3306
cmp esi, ebx
je 0x4f32de
mov eax, dword [esp + 0x2a]
push eax
call dword [sym.imp.WSOCK32.dll_ntohs]
mov edi, dword [0x93a148]
mov ecx, dword [esp + 0x2c]
add edi, esi
cmp edi, 8
mov esi, dword [0x93a140]
mov word [esp + 0x1c], ax
mov dword [esp + 0x18], ecx
mov dword [0x93a148], edi
jb 0x4f32b3
movzx eax, word [esi + 4]
push eax
call dword [sym.imp.WSOCK32.dll_ntohs]
movzx eax, ax
movzx ebx, ax
lea edx, [ebx + 8]
cmp edx, edi
ja 0x4f329b
mov cl, byte [esi + 6]
cmp cl, byte [0x93a138]
jne 0x4f3289
mov dl, byte [esi + 7]
cmp dl, byte [0x93a139]
jne 0x4f3289
mov edx, dword [ebp]
mov edx, dword [edx + 8]
push eax
lea eax, [esi + 8]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, ebp
call edx
mov eax, 0xfffffff8
sub eax, ebx
add edi, eax
cmp edi, 8
lea esi, [esi + ebx + 8]
jae 0x4f3247
mov eax, dword [0x93a140]
cmp eax, esi
je 0x4f32b3
test edi, edi
jbe 0x4f32b3
push edi
push esi
push eax
call fcn.004ab160
add esp, 0xc
mov dword [0x93a148], edi
jmp 0x4f3121
call fcn.004f2a90
push eax
push str.Select_Failed:__s_n
call fcn.00408d10
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret 4
mov ecx, dword [ebp + 0x20]
push ecx
call dword [sym.imp.WSOCK32.dll_closesocket]
mov edx, dword [ebp]
mov eax, dword [edx + 0xc]
mov ecx, ebp
mov dword [ebp + 4], 1
call eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret 4
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
cmp eax, 0x2742
je 0x4f334f
cmp eax, 0x2744
je 0x4f334f
cmp eax, 0x274a
je 0x4f334f
cmp eax, 0x274c
je 0x4f334f
cmp eax, 0x2746
je 0x4f334f
call fcn.004f2a90
push eax
push str.Recv_Failed:__s_n
call fcn.00408d10
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret 4
mov ecx, dword [ebp + 0x20]
push 2
push ecx
call dword [sym.imp.WSOCK32.dll_shutdown]
mov edx, dword [ebp + 0x20]
push edx
call dword [sym.imp.WSOCK32.dll_closesocket]
mov eax, dword [ebp]
mov edx, dword [eax + 0xc]
mov ecx, ebp
mov dword [ebp + 4], 1
call edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret 4