Function at 0x57fdc0
Capabilities:
Get socket status

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x35c
or ebp, 0xffffffff
mov eax, dword [esp + 0x370]
mov dword [esp + 0x44], 0
lea edi, [esp + 0x44]
test eax, eax
jle 0x57fe46
xor ecx, ecx
or ebp, 0xffffffff
xor ebx, ebx
lea edi, [esp + 0x44]
mov esi, dword [esp + 0x374]
xor eax, eax
mov edx, dword [esi + ebx*4]
test ecx, ecx
je 0x57fe20
cmp dword [esp + 0x48], edx
je 0x57fe30
xor eax, eax
jmp 0x57fe16
cmp dword [edi + eax*4 + 4], edx
je 0x57fe30
inc eax
cmp eax, ecx
jne 0x57fe10
cmp eax, 0x3f
ja 0x57fe30
inc ecx
mov dword [esp + eax*4 + 0x48], edx
mov dword [esp + 0x44], ecx
lea esi, [esi]
cmp ebp, edx
jge 0x57fe36
mov ebp, edx
inc ebx
cmp ebx, dword [esp + 0x370]
je 0x57fe46
mov ecx, dword [esp + 0x44]
jmp 0x57fdf6
mov eax, dword [esp + 0x378]
mov dword [esp + 0x148], 0
lea esi, [esp + 0x148]
test eax, eax
jle 0x57feda
mov dword [esp + 0x28], edi
xor ecx, ecx
xor ebx, ebx
lea esi, [esp + 0x148]
mov edi, dword [esp + 0x37c]
lea esi, [esi]
xor eax, eax
mov edx, dword [edi + ebx*4]
test ecx, ecx
je 0x57fea6
cmp dword [esp + 0x14c], edx
je 0x57feb5
xor eax, eax
jmp 0x57fe9c
cmp dword [esi + eax*4 + 4], edx
je 0x57fed0
inc eax
cmp eax, ecx
jne 0x57fe96
cmp ecx, 0x3f
ja 0x57feb5
inc ecx
mov dword [esp + eax*4 + 0x14c], edx
mov dword [esp + 0x148], ecx
cmp ebp, edx
jge 0x57febb
mov ebp, edx
inc ebx
cmp ebx, dword [esp + 0x378]
je 0x57fed6
mov ecx, dword [esp + 0x148]
jmp 0x57fe80
cmp ecx, eax
jne 0x57feb5
jmp 0x57fea1
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x380]
mov dword [esp + 0x24c], 0
lea ebx, [esp + 0x24c]
test eax, eax
jle 0x57ff7e
xor eax, eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], esi
xor ecx, ecx
lea ebx, [esp + 0x24c]
mov edi, dword [esp + 0x384]
mov esi, eax
xor eax, eax
mov edx, dword [edi + esi*4]
test ecx, ecx
je 0x57ff40
cmp dword [esp + 0x250], edx
je 0x57ff50
xor eax, eax
jmp 0x57ff36
cmp dword [ebx + eax*4 + 4], edx
je 0x57ff70
inc eax
cmp eax, ecx
jne 0x57ff30
cmp ecx, 0x3f
ja 0x57ff50
inc ecx
mov dword [esp + eax*4 + 0x250], edx
mov dword [esp + 0x24c], ecx
nop
cmp ebp, edx
jge 0x57ff56
mov ebp, edx
inc esi
cmp esi, dword [esp + 0x380]
je 0x57ff76
mov ecx, dword [esp + 0x24c]
jmp 0x57ff17
cmp ecx, eax
jne 0x57ff50
jmp 0x57ff3b
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x388]
test eax, eax
js 0x580104
mov eax, dword [esp + 0x388]
mov edx, 0x10624dd3
imul edx
sar edx, 6
mov eax, dword [esp + 0x388]
sar eax, 0x1f
sub edx, eax
mov dword [esp + 0x3c], edx
lea eax, [edx + edx*4]
mov edx, dword [esp + 0x388]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
sub edx, eax
lea eax, [edx + edx*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
mov dword [esp + 0x40], eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x10], eax
lea eax, [ebp + 1]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.ws2_32.dll_select
sub esp, 0x14
mov ebp, eax
test eax, eax
js 0x5800f7
mov eax, dword [esp + 0x370]
xor edx, edx
test eax, eax
jle 0x580057
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], esi
mov ebp, dword [esp + 0x374]
mov ebx, edx
mov esi, dword [esp + 0x370]
mov dword [esp + 4], edi
mov eax, dword [ebp + ebx*4]
mov dword [esp], eax
call sub.ws2_32.dll___WSAFDIsSet
test eax, eax
push edx
push edx
jne 0x580046
mov dword [ebp + ebx*4], 0
inc ebx
cmp ebx, esi
jne 0x580028
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x378]
xor edi, edi
test ecx, ecx
jle 0x5800ab
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebx
mov ebp, dword [esp + 0x37c]
mov ebx, edi
mov edi, esi
mov esi, dword [esp + 0x378]
nop
mov dword [esp + 4], edi
mov eax, dword [ebp + ebx*4]
mov dword [esp], eax
call sub.ws2_32.dll___WSAFDIsSet
test eax, eax
push edx
push edx
jne 0x58009e
mov dword [ebp + ebx*4], 0
inc ebx
cmp ebx, esi
jne 0x580080
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x380]
xor esi, esi
test ecx, ecx
jle 0x5800f7
mov dword [esp + 0x20], ebp
mov edi, dword [esp + 0x380]
mov ebp, dword [esp + 0x384]
lea esi, [esi]
mov dword [esp + 4], ebx
mov eax, dword [ebp + esi*4]
mov dword [esp], eax
call sub.ws2_32.dll___WSAFDIsSet
test eax, eax
push ecx
push ecx
jne 0x5800ee
mov dword [ebp + esi*4], 0
inc esi
cmp esi, edi
jne 0x5800d0
mov ebp, dword [esp + 0x20]
add esp, 0x35c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
xor eax, eax
jmp 0x57ffd7