Function at 0x100e5ac0
Capabilities:
Get socket status

Disassembly:
sub esp, 0x32c
mov ecx, dword [esp + 0x330]
push ebx
push ebp
push esi
xor esi, esi
xor ebx, ebx
cmp ecx, esi
push edi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], ebx
je 0x100e5aff
mov ebp, dword [esp + 0x344]
xor eax, eax
cmp ebp, esi
jbe 0x100e5aff
cmp dword [ecx], 0xffffffff
jne 0x100e5b1a
inc eax
add ecx, 8
cmp eax, ebp
jb 0x100e5af2
mov eax, dword [esp + 0x348]
push eax
call fcn.100e5740
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x32c
ret
mov eax, dword [esp + 0x348]
cmp eax, esi
jle 0x100e5b38
mov ebx, eax
mov dword [esp + 0x1c], ebx
call fcn.100f3950
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x340]
xor ecx, ecx
xor edi, edi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x134], esi
mov dword [esp + 0x238], edi
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ebp
mov word [edx + 6], 0
mov ebp, dword [edx]
cmp ebp, 0xffffffff
je 0x100e5c44
mov ax, word [edx + 4]
test al, 7
je 0x100e5c44
cmp ebp, dword [esp + 0x18]
jbe 0x100e5b8c
mov dword [esp + 0x18], ebp
test al, 1
je 0x100e5bc0
xor eax, eax
test ecx, ecx
jbe 0x100e5baa
lea edx, [esp + 0x34]
cmp dword [edx], ebp
je 0x100e5ba6
inc eax
add edx, 4
cmp eax, ecx
jb 0x100e5b9a
mov edx, dword [esp + 0x14]
cmp eax, ecx
jne 0x100e5bc0
cmp ecx, 0x40
jae 0x100e5bc0
mov dword [esp + eax*4 + 0x34], ebp
mov ecx, dword [esp + 0x30]
inc ecx
mov dword [esp + 0x30], ecx
test byte [edx + 4], 4
je 0x100e5c02
xor eax, eax
test esi, esi
jbe 0x100e5be3
lea edx, [esp + 0x138]
cmp dword [edx], ebp
je 0x100e5bdf
inc eax
add edx, 4
cmp eax, esi
jb 0x100e5bd3
mov edx, dword [esp + 0x14]
cmp eax, esi
jne 0x100e5c02
cmp esi, 0x40
jae 0x100e5c02
mov dword [esp + eax*4 + 0x138], ebp
mov esi, dword [esp + 0x134]
inc esi
mov dword [esp + 0x134], esi
test byte [edx + 4], 2
je 0x100e5c44
xor eax, eax
test edi, edi
jbe 0x100e5c25
lea edx, [esp + 0x23c]
cmp dword [edx], ebp
je 0x100e5c21
inc eax
add edx, 4
cmp eax, edi
jb 0x100e5c15
mov edx, dword [esp + 0x14]
cmp eax, edi
jne 0x100e5c44
cmp edi, 0x40
jae 0x100e5c44
mov dword [esp + eax*4 + 0x23c], ebp
mov edi, dword [esp + 0x238]
inc edi
mov dword [esp + 0x238], edi
mov eax, dword [esp + 0x10]
add edx, 8
dec eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
jne 0x100e5b65
test ecx, ecx
jne 0x100e5c81
test esi, esi
jne 0x100e5c81
test edi, edi
jne 0x100e5c81
mov ecx, dword [esp + 0x348]
push ecx
call fcn.100e5740
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x32c
ret
mov ebp, dword [esp + 0x348]
xor edx, edx
test ebp, ebp
setl dl
dec edx
lea eax, [esp + 0x28]
and edx, eax
mov ebp, edx
mov edx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x10], edx
jmp 0x100e5cb5
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x134]
mov edi, dword [esp + 0x238]
mov eax, dword [esp + 0x348]
xor edx, edx
cmp eax, edx
jle 0x100e5cf7
mov eax, 0x10624dd3
imul ebx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ebx
mov dword [esp + 0x28], edx
mov ebx, 0x3e8
cdq
idiv ebx
mov ebx, dword [esp + 0x1c]
lea eax, [edx + edx*4]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
shl edx, 3
mov dword [esp + 0x2c], edx
jmp 0x100e5d01
jne 0x100e5d01
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
neg edi
sbb edi, edi
lea eax, [esp + 0x238]
and edi, eax
lea edx, [esp + 0x134]
neg esi
sbb esi, esi
lea eax, [esp + 0x30]
and esi, edx
push ebp
neg ecx
sbb ecx, ecx
push edi
and ecx, eax
push esi
push ecx
mov ecx, dword [esp + 0x20]
push ecx
call dword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
jne 0x100e5d92
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x100e5d54
mov ecx, dword [0x102f8744]
test ecx, ecx
jne 0x100e5d96
cmp eax, 0x2714
jne 0x100e5d96
mov eax, dword [esp + 0x348]
test eax, eax
jle 0x100e5ca3
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
push edx
push eax
call fcn.100f3950
push edx
push eax
call fcn.100f3980
mov ebx, dword [esp + 0x358]
add esp, 0x10
sub ebx, eax
test ebx, ebx
mov dword [esp + 0x1c], ebx
jle 0x100e5da6
jmp 0x100e5ca3
test eax, eax
jge 0x100e5da4
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x32c
ret
jne 0x100e5db3
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x32c
ret
mov ecx, dword [esp + 0x340]
mov edi, dword [esp + 0x344]
xor ebp, ebp
lea esi, [ecx + 6]
mov word [esi], 0
mov eax, dword [esi - 6]
cmp eax, 0xffffffff
je 0x100e5e1c
lea edx, [esp + 0x30]
push edx
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x100e5de5
or byte [esi], 1
mov ecx, dword [esi - 6]
lea eax, [esp + 0x134]
push eax
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x100e5dfd
or byte [esi], 4
mov eax, dword [esi - 6]
lea edx, [esp + 0x238]
push edx
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x100e5e15
or byte [esi], 2
cmp word [esi], 0
je 0x100e5e1c
inc ebp
add esi, 8
dec edi
jne 0x100e5dc6
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x32c
ret