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;
}