Function at 0x100551c0
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc34
mov eax, dword [0x106499c8]
xor eax, esp
mov dword [esp + 0xc30], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ecx
test edi, edi
je 0x10055204
cmp dword [ebx + eax*8], ecx
cmova ecx, dword [ebx + eax*8]
inc eax
cmp eax, edi
jb 0x100551f4
mov dword [esp + 0x10], ecx
lea eax, [edi + 2]
cmp eax, 0x100
jae 0x103ac1c4
xor eax, eax
and dword [esp + 0x20], eax
xor esi, esi
xor edx, edx
mov dword [esp + 0x428], eax
mov dword [esp + 0x830], esi
test edi, edi
je 0x10055287
movzx ecx, word [ebx + edx*8 + 4]
test ecx, 0x303
je 0x10055266
xor ecx, ecx
test eax, eax
jne 0x103ac1d3
cmp ecx, eax
jne 0x10055261
cmp eax, 0x100
jae 0x10055261
mov eax, dword [ebx + edx*8]
mov dword [esp + ecx*4 + 0x42c], eax
inc dword [esp + 0x428]
movzx ecx, word [ebx + edx*8 + 4]
test cl, 0x10
jne 0x1005535a
test ecx, 0x400
jne 0x1005538a
mov eax, dword [esp + 0x428]
inc edx
cmp edx, edi
jb 0x1005522e
mov esi, dword [ebp + 0x10]
test esi, esi
js 0x100552b0
mov eax, esi
cdq
mov ecx, 0x3e8
idiv ecx
mov ecx, esi
mov dword [esp + 0x18], eax
imul eax, eax, 0x3e8
sub ecx, eax
imul ecx, ecx, 0x3e8
mov dword [esp + 0x1c], ecx
push 0
call dword [sym.imp.WS2_32.dll_WSASetLastError]
xor ecx, ecx
test esi, esi
lea eax, [esp + 0x18]
cmovs eax, ecx
push eax
lea eax, [esp + 0x834]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x434]
push eax
mov eax, dword [esp + 0x20]
inc eax
push eax
call dword [sym.imp.WS2_32.dll_select]
mov dword [esp + 0xc], eax
test eax, eax
js 0x10055345
test edi, edi
je 0x10055345
lea esi, [ebx + 6]
mov ebx, dword [sym.imp.WS2_32.dll___WSAFDIsSet]
xor eax, eax
mov word [esi], ax
lea eax, [esp + 0x428]
push eax
push dword [esi - 6]
call ebx
test eax, eax
je 0x10055318
mov eax, 0x300
or word [esi], ax
lea eax, [esp + 0x20]
push eax
push dword [esi - 6]
call ebx
test eax, eax
jne 0x10055384
lea eax, [esp + 0x830]
push eax
push dword [esi - 6]
call ebx
test eax, eax
jne 0x103ac21b
add esi, 8
dec edi
jne 0x100552fa
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc3c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10311bec
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x20]
xor ecx, ecx
test eax, eax
jne 0x100553c2
cmp ecx, eax
jne 0x1005537a
cmp eax, 0x100
jae 0x1005537a
mov eax, dword [ebx + edx*8]
mov dword [esp + ecx*4 + 0x24], eax
inc dword [esp + 0x20]
movzx ecx, word [ebx + edx*8 + 4]
jmp 0x1005526f
or word [esi], 0x10
jmp 0x10055326
xor ecx, ecx
test esi, esi
jne 0x100553cd
cmp ecx, esi
jne 0x1005527b
cmp esi, 0x100
jae 0x1005527b
mov eax, dword [ebx + edx*8]
mov dword [esp + ecx*4 + 0x834], eax
mov esi, dword [esp + 0x830]
inc esi
mov dword [esp + 0x830], esi
jmp 0x1005527b
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebx + edx*8]
jmp 0x103ac1f0
mov eax, dword [ebx + edx*8]
jmp 0x103ac204
lea eax, [edi + 1]
push eax
call sym.php5.dll__php_emit_fd_setsize_warning
pop ecx
jmp 0x10055212
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebx + edx*8]
cmp dword [esp + ecx*4 + 0x42c], ebx
je 0x103ac1e7
inc ecx
cmp ecx, eax
jb 0x103ac1d9
mov ebx, dword [esp + 0x14]
jmp 0x10055245
cmp dword [esp + ecx*4 + 0x24], ebx
je 0x103ac1fb
inc ecx
cmp ecx, eax
jb 0x103ac1f0
mov ebx, dword [esp + 0x14]
jmp 0x10055364
cmp dword [esp + ecx*4 + 0x834], eax
je 0x10055390
inc ecx
cmp ecx, esi
jb 0x103ac204
jmp 0x10055390
mov eax, 0x400
or word [esi], ax
jmp 0x1005533b