Je zou het zonder 'buffer' ook kunnen doen, maar heb in dit geval de code zo geschreven dat deze leesbaar en logisch eruit ziet
Wat je nodig hebt zijn minstens 2 variabelen:
Je wilt weten hoeveel uren/minuten/seconden er zijn (h/m/s)
En je wilt de resterende ticks weten.
Ik persoonlijk ben van mening dat lngResult output is, en output gebruik je niet om nog berekeningen mee uit te voeren

Daarom dat ik voor een hulpvariabele (z) heb gekozen welke eerst de respectievelijke uren/minuten filtert (en wegschrijft naar onze output) en daarna deze in vermindering brengt van de totale resterende ticks.
y = totale ticks
'Hier doen we uren
' 1 uur = 60 minuten
' 1 minuut = 60 seconden
' 1 uur = 60 * 60
' 1 uur = 3600
' \ is integer divisie, we willen namelijk niet weten wat er na de komma komt maar we willen de totale gehelen (uren/minuten) uit onze resterende ticks halen
' y -= z is synoniem voor y = y - z
z = y \ 3600
h = z
y -= z
'Volgende op de lijst: minuten, onze uren zijn er al uitgefilterd
' 1 minuut = 60 seconden
z = y \ 60
m = z
y -= z
'nu komen de seconden
'echter: 1 tick = 1 seconde
'en we hebben alle grotere variabelen er al uit gefilterd, dus dit getal is zowiezo kleiner dan 60 (1 minuut)
s = z