the time left is negative because of the negative total, for sure.
here is where i get that value
try post.length:=strToInt64(getHeader('Content-Length'))
except end;
strToInt64 is a standard delphi function.
as you can see (google tells me you are a programmer), the bug is probably in the browser, furnishing a negative value in "content-length".
i could put a workaround: if a negative value is read, add 2GB.
what do you think of it?