• A small typo in code:

    IF ((@len - @pos) < 0)

    SET @offset = @len - @pos

    ELSE

    SET @offset = 1024

    Should be

    IF ((@len - @pos) < 1024)

    SET @offset = @len - @pos

    ELSE

    SET @offset = 1024

    or

    SET @offset = @len - @pos

    if @offset > 1024

    SET @offset = 1024