Function at 0x49f860
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x6f1b24]
sub esp, 0x214
push eax
call fcn.004596a0
add esp, 4
push ebx
push esi
push edi
lea ebx, [ebx]
xor edx, edx
xor edi, edi
xor esi, esi
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x214], edi
mov dword [ebp - 4], 0xffffffff
cmp dword [0x6f1b30], edx
jbe 0x49f93a
mov ebx, dword [0x6f1b3c]
jmp 0x49f8b0
mov ecx, dword [ebx + esi*4]
mov ecx, dword [ecx]
xor eax, eax
test edx, edx
je 0x49f8ce
jmp 0x49f8c0
cmp dword [ebp + eax*4 - 0x10c], ecx
je 0x49f8ce
inc eax
cmp eax, edx
jb 0x49f8c0
cmp eax, edx
jne 0x49f8eb
cmp edx, 0x40
jae 0x49f8eb
mov dword [ebp + eax*4 - 0x10c], ecx
mov edx, dword [ebp - 0x110]
inc edx
mov dword [ebp - 0x110], edx
cmp ecx, dword [ebp - 4]
jb 0x49f8f3
mov dword [ebp - 4], ecx
mov eax, dword [ebx + esi*4]
cmp dword [eax + 0x18], 0
je 0x49f92d
xor eax, eax
test edi, edi
je 0x49f910
cmp dword [ebp + eax*4 - 0x210], ecx
je 0x49f910
inc eax
cmp eax, edi
jb 0x49f902
cmp eax, edi
jne 0x49f92d
cmp edi, 0x40
jae 0x49f92d
mov dword [ebp + eax*4 - 0x210], ecx
mov edi, dword [ebp - 0x214]
inc edi
mov dword [ebp - 0x214], edi
inc esi
cmp esi, dword [0x6f1b30]
jb 0x49f8b0
xor eax, eax
test edx, edx
je 0x49f95a
mov ecx, dword [0x6f1b20]
mov edx, dword [ebp - 0x110]
cmp dword [ebp + eax*4 - 0x10c], ecx
je 0x49f95a
inc eax
cmp eax, edx
jb 0x49f940
cmp eax, edx
jne 0x49f976
cmp edx, 0x40
jae 0x49f976
mov edx, dword [0x6f1b20]
mov dword [ebp + eax*4 - 0x10c], edx
inc dword [ebp - 0x110]
mov eax, dword [0x6f1b20]
cmp eax, dword [ebp - 4]
jb 0x49f989
mov ecx, dword [0x6f1b20]
mov dword [ebp - 4], ecx
mov edx, dword [0x6f1b24]
push edx
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0x3d090
call fcn.004596c0
add esp, 4
cmp dword [ebp - 0x110], 0
lea eax, [ebp - 0x214]
lea ecx, [ebp - 0x110]
jne 0x49f9bd
xor ecx, ecx
cmp dword [ebp - 0x214], 0
jne 0x49f9c8
xor eax, eax
test ecx, ecx
jne 0x49f9f8
test eax, eax
jne 0x49f9f8
mov ecx, dword [ebp - 0xc]
mov eax, 0x10624dd3
imul ecx, ecx, 0x3e8
imul dword [ebp - 8]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, ecx
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
xor edi, edi
jmp 0x49fa0d
lea edx, [ebp - 0xc]
push edx
push 0
push eax
mov eax, dword [ebp - 4]
push ecx
inc eax
push eax
call dword [sym.imp.WS2_32.dll_select]
mov edi, eax
mov ecx, dword [0x6f1b20]
cmp ecx, 0xffffffff
je 0x49faea
mov edx, dword [0x6f1b24]
push edx
call fcn.004596a0
add esp, 4
test edi, edi
jle 0x49f880
mov ecx, dword [0x6f1b20]
lea eax, [ebp - 0x110]
push eax
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x49fa56
call fcn.0049eef0
dec edi
je 0x49f880
mov esi, dword [0x6f1b30]
test esi, esi
je 0x49fa95
mov eax, dword [0x6f1b3c]
mov ecx, dword [eax + esi*4 - 4]
dec esi
lea edx, [ebp - 0x110]
push edx
mov edx, dword [ecx]
push edx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x49fa91
mov eax, dword [0x6f1b3c]
mov ecx, dword [eax + esi*4]
push ecx
call fcn.0049f710
add esp, 4
dec edi
je 0x49fa95
test esi, esi
jne 0x49fa60
test edi, edi
jle 0x49f880
mov esi, dword [0x6f1b30]
test esi, esi
je 0x49f880
jmp 0x49fab0
mov eax, dword [0x6f1b3c]
mov ecx, dword [eax + esi*4 - 4]
dec esi
lea edx, [ebp - 0x214]
push edx
mov edx, dword [ecx]
push edx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x49fae1
mov eax, dword [0x6f1b3c]
mov eax, dword [eax + esi*4]
call fcn.0049dc70
dec edi
je 0x49f880
test esi, esi
jne 0x49fab0
jmp 0x49f880
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret