Function at 0x48f770
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x328
mov eax, dword [0x52e1e0]
xor eax, ebp
mov dword [ebp - 4], eax
mov edx, dword [ebp + 8]
mov dword [ebp - 0x318], edx
push ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x324], ebx
test edx, edx
je 0x48f7ae
mov ecx, dword [ebp + 0xc]
xor eax, eax
test ecx, ecx
je 0x48f7ae
cmp dword [edx + eax*8], 0xffffffff
jne 0x48f7c6
inc eax
cmp eax, ecx
jb 0x48f7a3
push ebx
call fcn.0048fda0
add esp, 4
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b7060
mov esp, ebp
pop ebp
ret
xor ecx, ecx
mov eax, ebx
test ebx, ebx
push esi
cmovle eax, ecx
xor ebx, ebx
push edi
mov dword [ebp - 0x328], eax
xor edi, edi
xor esi, esi
mov dword [ebp - 0x108], edi
or eax, 0xffffffff
mov dword [ebp - 0x20c], ebx
xor edx, edx
mov dword [ebp - 0x310], esi
mov dword [ebp - 0x314], eax
mov dword [ebp - 0x31c], edx
mov ecx, dword [ebp - 0x318]
xor eax, eax
mov word [ecx + edx*8 + 6], ax
mov ecx, dword [ecx + edx*8]
mov eax, dword [ebp + 0xc]
cmp ecx, 0xffffffff
je 0x48f8f4
mov eax, dword [ebp - 0x318]
movzx edx, word [eax + edx*8 + 4]
test dl, 7
je 0x48f8eb
mov eax, dword [ebp - 0x314]
cmp ecx, eax
cmova eax, ecx
mov dword [ebp - 0x314], eax
test dl, 1
je 0x48f87b
xor eax, eax
test edi, edi
je 0x48f85e
nop dword [eax]
cmp dword [ebp + eax*4 - 0x104], ecx
je 0x48f85e
inc eax
cmp eax, edi
jb 0x48f850
cmp eax, edi
jne 0x48f87b
cmp edi, 0x40
jae 0x48f87b
mov dword [ebp + eax*4 - 0x104], ecx
mov edi, dword [ebp - 0x108]
inc edi
mov dword [ebp - 0x108], edi
test dl, 4
je 0x48f8b1
xor eax, eax
test ebx, ebx
je 0x48f894
cmp dword [ebp + eax*4 - 0x208], ecx
je 0x48f894
inc eax
cmp eax, ebx
jb 0x48f886
cmp eax, ebx
jne 0x48f8b1
cmp ebx, 0x40
jae 0x48f8b1
mov dword [ebp + eax*4 - 0x208], ecx
mov ebx, dword [ebp - 0x20c]
inc ebx
mov dword [ebp - 0x20c], ebx
test dl, 2
je 0x48f8eb
xor eax, eax
test esi, esi
je 0x48f8ce
nop dword [eax]
cmp dword [ebp + eax*4 - 0x30c], ecx
je 0x48f8ce
inc eax
cmp eax, esi
jb 0x48f8c0
cmp eax, esi
jne 0x48f8eb
cmp esi, 0x40
jae 0x48f8eb
mov dword [ebp + eax*4 - 0x30c], ecx
mov esi, dword [ebp - 0x310]
inc esi
mov dword [ebp - 0x310], esi
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x31c]
inc edx
mov dword [ebp - 0x31c], edx
cmp edx, eax
jb 0x48f800
test edi, edi
jne 0x48f92f
test ebx, ebx
jne 0x48f92f
test esi, esi
jne 0x48f92f
mov eax, dword [ebp - 0x324]
push eax
call fcn.0048fda0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b7060
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x324]
lea ecx, [ebp - 0x320]
xor edx, edx
test eax, eax
cmovs ecx, edx
jle 0x48f97b
mov eax, 0x10624dd3
imul dword [ebp - 0x328]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x328]
mov dword [ebp - 0x320], eax
imul eax, eax, 0x3e8
sub edx, eax
imul eax, edx, 0x3e8
mov dword [ebp - 0x31c], eax
jmp 0x48f989
jne 0x48f989
mov dword [ebp - 0x320], edx
mov dword [ebp - 0x31c], edx
push ecx
xor ecx, ecx
lea eax, [ebp - 0x310]
test esi, esi
cmove eax, ecx
test ebx, ebx
push eax
lea eax, [ebp - 0x20c]
cmove eax, ecx
test edi, edi
push eax
lea eax, [ebp - 0x108]
cmove eax, ecx
push eax
mov eax, dword [ebp - 0x314]
inc eax
push eax
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jns 0x48f9d6
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b7060
mov esp, ebp
pop ebp
ret
jne 0x48f9eb
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b7060
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0x318]
xor edi, edi
add esi, 6
xor eax, eax
mov word [esi], ax
mov eax, dword [esi - 6]
cmp eax, 0xffffffff
je 0x48fa4d
lea ecx, [ebp - 0x108]
push ecx
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x48fa18
or word [esi], 1
lea eax, [ebp - 0x20c]
push eax
push dword [esi - 6]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x48fa2f
or word [esi], 4
lea eax, [ebp - 0x310]
push eax
push dword [esi - 6]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x48fa46
or word [esi], 2
cmp word [esi], 0
je 0x48fa4d
inc edi
add esi, 8
sub dword [ebp + 0xc], 1
jne 0x48f9f6
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004b7060
mov esp, ebp
pop ebp
ret