This might help u zup.
1)
technet.microsoft.com/en-us/sysinternals/jj729731.aspx
2) Try traceroute to see how far you get, it may give you a clue to the network latency issue.And if traceroute, which also depends in part on ICMP messages, is unsuccessful, and you
have access to both sides, you could run a netperf TCP_RR test. Or if the remote has not
(yet) closed-off its "echo" service, you could write a small program that opens a connection
to "echo" on the remote system and times some stuff being echoed.
3) Specify the hopcount for ping. Traceroute uses this to trace the routers between you
and the target. Start with a small hopcount, send a ping, and increment the hopcount by
one every time you get an answer. Eventually, you won't get an answer since the ping
goes to the target server which has ICMP blocked. At this point, your previous successful
ping gives you the latency to the closest router that you were able to ping. That's not
the accurate latency but could give you an idea.
4) Im no expert. I just googled the above things.
This one is purely the creation of my mind

.
Can u just disable icmp for a while and then enable it again ?.
If u could, ( based on the 2 month course on c++ ) i would suggest writing a program that would disable icmp , then check the latency, update it on the game and just loop this whole process to carry on after some time.
Ofcourse if it was as simple as that then everyone would become a top notch programmer in a month.... Lol

.