Function at 0x1000a910
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x3028
call fcn.10114f90
mov eax, dword [0x101f57c0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
mov dword [ebp - 0x3020], esi
mov dword [ebp - 0x3014], edi
mov dword [ebp - 0x3018], edi
mov dword [ebp - 0x301c], edi
mov ecx, 0x3e8
cmp eax, edi
jge 0x1000a95f
mov eax, ecx
mov dword [ebp - 0x301c], 1
cdq
idiv ecx
mov dword [ebp - 0x3010], edi
mov dword [ebp - 0x200c], edi
mov dword [ebp - 0x1008], edi
imul edx, edx, 0x3e8
mov dword [ebp - 0x3028], eax
mov dword [ebp - 0x3024], edx
cmp dword [ebp + 0xc], edi
jbe 0x1000aa2f
lea ecx, [esi + 4]
mov ebx, 0x400
xor eax, eax
mov word [ecx + 2], ax
mov eax, dword [ecx - 4]
test eax, eax
js 0x1000aa20
cmp dword [ebp - 0x3014], ebx
jge 0x1000aa94
movsx edx, word [ecx]
test dl, 1
je 0x1000a9d9
cmp dword [ebp - 0x3010], ebx
jae 0x1000a9d9
mov esi, dword [ebp - 0x3010]
mov dword [ebp + esi*4 - 0x300c], eax
inc dword [ebp - 0x3010]
mov esi, dword [ebp - 0x3020]
test dl, 4
je 0x1000a9f5
mov edx, dword [ebp - 0x200c]
cmp edx, ebx
jae 0x1000a9f5
mov dword [ebp + edx*4 - 0x2008], eax
inc dword [ebp - 0x200c]
mov edx, dword [ebp - 0x1008]
cmp edx, ebx
jae 0x1000aa0c
mov dword [ebp + edx*4 - 0x1004], eax
inc dword [ebp - 0x1008]
inc dword [ebp - 0x3014]
cmp eax, dword [ebp - 0x3018]
jle 0x1000aa20
mov dword [ebp - 0x3018], eax
inc edi
add ecx, 8
cmp edi, dword [ebp + 0xc]
jb 0x1000a997
xor edi, edi
lea eax, [ebp - 0x3028]
push eax
lea eax, [ebp - 0x1008]
push eax
lea eax, [ebp - 0x200c]
push eax
lea eax, [ebp - 0x3010]
push eax
mov eax, dword [ebp - 0x3018]
inc eax
push eax
call sub.WS2_32.dll_select
mov dword [ebp - 0x3014], eax
cmp eax, 0xffffffff
jne 0x1000aaeb
call sub.WS2_32.dll_WSAGetLastError
sub eax, 0x2714
je 0x1000aad8
sub eax, 0xa
je 0x1000aacb
sub eax, 8
je 0x1000aabe
sub eax, 0xe
je 0x1000aad8
dec eax
dec eax
je 0x1000aab1
sub eax, 0xc
je 0x1000aaa4
call fcn.10114f43
mov dword [eax], edi
jmp 0x1000aae3
push 0x20
pop eax
mov word [esi + edi*8 + 6], ax
xor eax, eax
inc eax
jmp 0x1000abb3
call fcn.10114f43
mov dword [eax], 0x7c
jmp 0x1000aae3
call fcn.10114f43
mov dword [eax], 9
jmp 0x1000aae3
call fcn.10114f43
mov dword [eax], 0x16
jmp 0x1000aae3
call fcn.10114f43
mov dword [eax], 0xe
jmp 0x1000aae3
call fcn.10114f43
mov dword [eax], 4
or eax, 0xffffffff
jmp 0x1000abb3
cmp eax, edi
jne 0x1000aafe
cmp dword [ebp - 0x301c], edi
je 0x1000aafe
call sym.mono.dll_mono_thread_interruption_checkpoint
jmp 0x1000aad8
mov dword [ebp - 0x301c], edi
mov dword [ebp - 0x3018], edi
cmp dword [ebp + 0xc], edi
jbe 0x1000abad
add esi, 6
cmp dword [ebp - 0x3014], 0
jle 0x1000abad
mov edi, dword [esi - 6]
test edi, edi
js 0x1000ab95
movsx ebx, word [esi - 2]
test bl, 1
je 0x1000ab4e
lea eax, [ebp - 0x3010]
push eax
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1000ab4e
or word [esi], 1
dec dword [ebp - 0x3014]
test bl, 4
je 0x1000ab6e
lea eax, [ebp - 0x200c]
push eax
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1000ab6e
or word [esi], 4
dec dword [ebp - 0x3014]
lea eax, [ebp - 0x1008]
push eax
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1000ab89
or word [esi], 8
dec dword [ebp - 0x3014]
cmp word [esi], 0
je 0x1000ab95
inc dword [ebp - 0x301c]
inc dword [ebp - 0x3018]
mov eax, dword [ebp - 0x3018]
add esi, 8
cmp eax, dword [ebp + 0xc]
jb 0x1000ab16
mov eax, dword [ebp - 0x301c]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1011389e
leave
ret