Hola , Bueno tengo 2 Problemas .
1) Asi es como estoy Leyendo El archivo .dat , pero no me lee los datos completos= 
Archivo .DAT = https://anonfile.com/Q7NcveB3nc/USERDATA_DAT (//http://)
 Using stream As System.IO.FileStream = File.Open("C:\Users\S4lsalsoft\Documents\GTA San Andreas User Files\SAMP\USERDA.DAT", FileMode.Open, FileAccess.Read)
              Using reader = New BinaryReader(stream)
                  If stream.Length >= 16 Then
                      Dim samp = New String(reader.ReadChars(4))
                      If samp = "SAMP" Then
                          If reader.ReadUInt32 = 1UI Then
                              Dim sc = reader.ReadInt32
                              For i = 0 To sc - 1
                                  Dim ip As String = Encoding.[Default].GetString(reader.ReadBytes(reader.ReadInt32))
                                  Dim port As UShort = (reader.ReadUInt32)
                                  ' Dim cn As String = Utils.GuessedStringEncoding(reader.ReadBytes(reader.ReadInt32))
                                  Dim cn As String = Encoding.[Default].GetString(reader.ReadBytes(reader.ReadInt32))
                                  Dim sp As String = Encoding.[Default].GetString(reader.ReadBytes(reader.ReadInt32))
                                  Dim rp As String = Encoding.[Default].GetString(reader.ReadBytes(reader.ReadInt32))
                                   MsgBox(cn & ip & port & sp)
                               Next
                          End If
                      End If
                  End If
              End Using
          End Using
Esto Me lee algunos Valores, Pero no me lee todos incluso aveces causo error. asi que necesito ayuda de como leer el archivo.
Mi Segundo Problema es Que no se Como enviar un Query para obtener información. tengo una api que encontré en internet , Funciona. pero el metodo de uso es este : 
Esta es la Api : https://github.com/BenBout/SampQueryService (https://github.com/BenBout/SampQueryService)
Los Métodos de uso Son : 
 Private Shared Async Function SimpleQuery() As Task
        Dim serverIP = IPAddress.Parse("151.80.94.179")
        Dim port As Integer = 7777
        Dim sampQuery = New SampQueryClient()
        Dim playerList = Await sampQuery.SendQueryAsync(Of PlayerList)(serverIP, port)
        If playerList.IsCompleted Then
            Dim filteredPlayerList = playerList.Players.Where(Function(p) p.Level > 5).OrderByDescending(Function(p) p.Level)
            For Each player In filteredPlayerList
                Console.WriteLine($"ID: {player.ID} Username: {player.UserName} Ping: {player.ping}")
            Next
        End If
    End Function
    Private Shared Async Function MultipleQueriesWithSameQueryResultType() As Task
        Dim ipEndList = New List(Of IPEndPoint)()
        Dim serverInfoList = Await New SampQueryClient().SendQueryAsync(Of ServerInfo)(ipEndList)
        For Each server In serverInfoList
            If server.IsCompleted Then Console.WriteLine($"Server name: {server.HostName}")
        Next
    End Function
Como pueden ver son asincronicos y no me deja agregar la informacion obtenida a un ListView , como Podria hacer eso?
Gracias de antemano!