Function at 0x551ff0
Capabilities:
Get socket status

Disassembly:
sub esp, 0x21c
push ebx
push ebp
push esi
push edi
mov esi, eax
or edi, 0xffffffff
call fcn.0054ee50
mov dword [esp + 0x20], eax
xor eax, eax
cmp esi, eax
je 0x5523c3
mov dword [esp + 0x128], eax
cmp esi, edi
je 0x552229
mov ebx, esi
mov dword [esp + 0x24], eax
lea ebp, [edi + 6]
lea ebx, [ebx]
push ebx
mov esi, 1
call fcn.0054b3c0
add esp, 4
cmp eax, ebp
mov dword [esp + 0x10], eax
jle 0x552052
xor esi, esi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], esi
jmp 0x552069
push eax
call fcn.0054b320
mov ecx, ebx
sub ecx, eax
push ecx
call fcn.0054b430
add esp, 8
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
cmp eax, 0x40
jae 0x552081
mov edx, dword [esp + 0x230]
mov dword [esp + eax*4 + 0x28], edx
inc dword [esp + 0x24]
mov eax, dword [esp + 0x128]
cmp eax, 0x40
jae 0x5520a2
mov ecx, dword [esp + 0x230]
mov dword [esp + eax*4 + 0x12c], ecx
inc dword [esp + 0x128]
mov eax, dword [esp + 0x234]
sub eax, 1
je 0x5520de
sub eax, 1
je 0x5520ce
sub eax, 1
jne 0x5520f5
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x12c]
push eax
lea ecx, [esp + 0x2c]
push ecx
push 0
jmp 0x5520ec
lea edx, [esp + 0x10]
push edx
push 0
lea eax, [esp + 0x2c]
push eax
push 0
jmp 0x5520ec
lea ecx, [esp + 0x10]
push ecx
push 0
push 0
lea edx, [esp + 0x30]
push edx
push 0
call sub.WS2_32.dll_select
mov edi, eax
cmp edi, 0xffffffff
je 0x55219a
test edi, edi
jle 0x55214b
cmp dword [esp + 0x234], 3
jne 0x55214b
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [esp + 0x230]
lea eax, [esp + 0x128]
push eax
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x5521b5
mov eax, dword [esp + 0x230]
lea edx, [esp + 0x24]
push edx
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x55238d
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0xe0]
test eax, 0x1000
jne 0x552164
test al, 2
jne 0x55239d
test edi, edi
jne 0x5523d1
test esi, esi
jne 0x55220a
mov ecx, dword [esp + 0x14]
push ecx
call fcn.0054b380
mov edx, dword [esp + 0x14]
push edx
mov esi, eax
call fcn.0054b320
add esi, eax
add esp, 8
cmp esi, ebx
jae 0x55220a
sub ebx, esi
jmp 0x552030
call sub.WS2_32.dll_WSAGetLastError
push eax
call fcn.00550bd0
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x21c
ret
mov edx, dword [esp + 0x230]
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push 0x1007
push 0xffff
push edx
mov dword [esp + 0x30], 4
call sub.WS2_32.dll_getsockopt
cmp eax, 0xffffffff
je 0x552354
mov eax, dword [esp + 0x18]
test eax, eax
je 0x552370
push eax
call fcn.00550b20
add esp, 4
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x21c
ret
push 0
push 0xffffe89a
call fcn.0054b4e0
add esp, 8
or edi, 0xffffffff
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x21c
ret
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
xor ecx, ecx
mov dword [esp + 0x10], 5
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], ecx
mov ebx, dword [esp + 0x230]
cmp ecx, 0x40
jae 0x552255
mov dword [esp + ecx*4 + 0x28], ebx
inc dword [esp + 0x24]
cmp eax, 0x40
jae 0x552268
mov dword [esp + eax*4 + 0x12c], ebx
inc dword [esp + 0x128]
mov ebp, dword [esp + 0x234]
mov eax, ebp
sub eax, 1
je 0x5522a6
sub eax, 1
je 0x552296
sub eax, 1
jne 0x5522bd
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x12c]
push ecx
lea edx, [esp + 0x2c]
push edx
push 0
jmp 0x5522b4
lea eax, [esp + 0x10]
push eax
push 0
lea ecx, [esp + 0x2c]
push ecx
push 0
jmp 0x5522b4
lea edx, [esp + 0x10]
push edx
push 0
push 0
lea eax, [esp + 0x30]
push eax
push 0
call sub.WS2_32.dll_select
mov edi, eax
cmp edi, 0xffffffff
je 0x55219a
test edi, edi
jle 0x5522f8
cmp ebp, 3
jne 0x5522f8
push 0
call esi
lea ecx, [esp + 0x128]
push ecx
push ebx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x552329
lea edx, [esp + 0x24]
push edx
push ebx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x55238d
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0xe0]
test eax, 0x1000
jne 0x552311
test al, 2
jne 0x55239d
test edi, edi
jne 0x5523d1
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x24]
jmp 0x552241
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push 0x1007
push 0xffff
push ebx
mov dword [esp + 0x30], 4
call sub.WS2_32.dll_getsockopt
cmp eax, 0xffffffff
jne 0x5521e7
call sub.WS2_32.dll_WSAGetLastError
push eax
call fcn.00550aa0
add esp, 4
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x21c
ret
push 0
push 0xffffe896
call fcn.0054b4e0
add esp, 8
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x21c
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x21c
ret
and dword [ecx + 0xe0], 0xfffffffd
push 0
push 0xffffe897
call fcn.0054b4e0
add esp, 8
or edi, 0xffffffff
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x21c
ret
push eax
push 0xffffe89a
call fcn.0054b4e0
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x21c
ret