void FUN_00408290(int param_1)
{
timeval local_10;
if (g_ctc_packets != 0) {
g_ctc_packets = g_ctc_packets + -1;
}
if (g_ctc_bytes != 0) {
g_ctc_bytes = g_ctc_bytes - param_1;
}
gettimeofday(&local_10,(__timezone_ptr_t)0x0);
for (local_10.tv_usec = local_10.tv_usec + 1000000; 1000000 < local_10.tv_usec;
local_10.tv_usec = local_10.tv_usec + -1000000) {
local_10.tv_sec = local_10.tv_sec + 1;
}
if (g_charge_timer != 0) {
event_cancel();
g_charge_timer = 0;
}
g_charge_timer = event_add(&local_10,state_charge_timeout,0);
return;
}