From Mirc Help file:

/sockread [-fn] [numbytes] <%var|&binvar>

If you specify a &binvar then [numbytes] of info is read into the binary variable. If no [numbytes] is specified it defaults to 4096 bytes.

So you can make it all in one read, if the socket has all the data stored already