Function at 0x10017760
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, dword [ebp + 0xc]
push ebx
push esi
xor ebx, ebx
push edi
test ecx, ecx
je 0x100177ca
lea edi, [ecx + 4]
cmp ebx, dword [ecx]
jge 0x100177ca
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov edx, eax
mov ecx, dword [eax + 4]
cmp byte [ecx + 0xd], 0
jne 0x100177a4
mov esi, dword [edi]
nop word [eax + eax]
cmp dword [ecx + 0x10], esi
jge 0x1001779a
mov ecx, dword [ecx + 8]
jmp 0x1001779e
mov edx, ecx
mov ecx, dword [ecx]
cmp byte [ecx + 0xd], 0
je 0x10017790
cmp byte [edx + 0xd], 0
jne 0x1001787e
mov ecx, dword [edi]
cmp ecx, dword [edx + 0x10]
jl 0x1001787e
cmp edx, eax
je 0x1001787e
mov ecx, dword [ebp + 0xc]
inc ebx
add edi, 4
jmp 0x10017773
mov edx, dword [ebp + 0x10]
xor ebx, ebx
test edx, edx
je 0x10017821
lea edi, [ecx + 4]
cmp ebx, dword [edx]
jge 0x1001781e
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov edx, eax
mov ecx, dword [eax + 4]
cmp byte [ecx + 0xd], 0
jne 0x10017804
mov esi, dword [edi]
nop dword [eax]
cmp dword [ecx + 0x10], esi
jge 0x100177fa
mov ecx, dword [ecx + 8]
jmp 0x100177fe
mov edx, ecx
mov ecx, dword [ecx]
cmp byte [ecx + 0xd], 0
je 0x100177f0
cmp byte [edx + 0xd], 0
jne 0x1001787e
mov ecx, dword [edi]
cmp ecx, dword [edx + 0x10]
jl 0x1001787e
cmp edx, eax
je 0x1001787e
mov edx, dword [ebp + 0x10]
inc ebx
add edi, 4
jmp 0x100177d6
mov ecx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x14]
xor ebx, ebx
test esi, esi
je 0x10017892
mov eax, dword [esi]
lea edi, [ecx + 4]
mov dword [ebp - 4], eax
cmp ebx, eax
jge 0x1001788c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov edx, eax
mov ecx, dword [eax + 4]
cmp byte [ecx + 0xd], 0
jne 0x10017864
mov esi, dword [edi]
nop dword [eax]
cmp dword [ecx + 0x10], esi
jge 0x1001785a
mov ecx, dword [ecx + 8]
jmp 0x1001785e
mov edx, ecx
mov ecx, dword [ecx]
cmp byte [ecx + 0xd], 0
je 0x10017850
cmp byte [edx + 0xd], 0
jne 0x1001787e
mov ecx, dword [edi]
cmp ecx, dword [edx + 0x10]
jl 0x1001787e
cmp edx, eax
je 0x1001787e
mov eax, dword [ebp - 4]
inc ebx
add edi, 4
jmp 0x10017832
pop edi
pop esi
mov eax, 0x80070490
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov esi, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
xor ecx, ecx
test ebx, ebx
je 0x100178b0
lea eax, [ebx + 4]
nop
cmp ecx, dword [ebx]
jge 0x100178b0
and dword [eax], 0x7fffffff
inc ecx
add eax, 4
jmp 0x100178a0
xor ecx, ecx
test edx, edx
je 0x100178d0
lea eax, [ebx + 4]
nop dword [eax]
cmp ecx, dword [edx]
jge 0x100178d0
and dword [eax], 0x7fffffff
inc ecx
add eax, 4
jmp 0x100178c0
xor ecx, ecx
test esi, esi
je 0x100178f0
lea eax, [ebx + 4]
nop dword [eax]
cmp ecx, dword [esi]
jge 0x100178f0
and dword [eax], 0x7fffffff
inc ecx
add eax, 4
jmp 0x100178e0
push dword [ebp + 0x18]
push esi
push edx
push ebx
push 0
call dword [sym.imp.WS2_32.dll_select]
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], eax
cmp eax, 0xffffffff
jne 0x10017914
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], eax
xor ecx, ecx
test ebx, ebx
je 0x10017930
lea eax, [ebx + 4]
nop dword [eax]
cmp ecx, dword [ebx]
jge 0x10017930
or dword [eax], 0x80000000
inc ecx
add eax, 4
jmp 0x10017920
mov edx, dword [ebp + 0x10]
xor ecx, ecx
test edx, edx
je 0x10017950
lea eax, [ebx + 4]
nop dword [eax]
cmp ecx, dword [edx]
jge 0x10017950
or dword [eax], 0x80000000
inc ecx
add eax, 4
jmp 0x10017940
xor ecx, ecx
test esi, esi
je 0x10017970
lea eax, [ebx + 4]
nop dword [eax]
cmp ecx, dword [esi]
jge 0x10017970
or dword [eax], 0x80000000
inc ecx
add eax, 4
jmp 0x10017960
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x18