/* WARNING: Removing unreachable block (ram,0x0040b09c) */
/* WARNING: Heritage AFTER dead removal. Example location: r0x0041efe0 : 0x0040b0b0 */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
/* WARNING: Restarted to delay deadcode elimination for space: ram */

void FUN_0040af4c(void)

{
  int iVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  uint uVar7;
  timeval local_30;
  timeval local_28;
  
  iVar4 = g_rbytes;
  iVar2 = g_rpkts;
  iVar3 = g_tbytes;
  iVar1 = g_tpkts;
  g_samples_remaining = g_samples_remaining + -1;
  if (g_samples_remaining == 0) {
    g_next_sample = 0;
    _g_sample_count = 0;
  }
  else {
    iVar6 = g_next_sample * 8;
    FUN_00409c58();
    iVar5 = g_rpkts;
    uVar7 = g_rbytes - iVar4;
    if (g_rbytes == iVar4) {
      uVar7 = 0;
    }
    uVar7 = uVar7 >> 10 & 0xffff;
    g_perf_samples[iVar6] = (char)uVar7;
    g_perf_samples[iVar6 + 1] = (char)(uVar7 >> 8);
    iVar4 = g_tbytes;
    uVar7 = iVar5 - iVar2;
    if (iVar5 == iVar2) {
      uVar7 = 0;
    }
    g_perf_samples[iVar6 + 2] = (char)(uVar7 & 0xffff);
    g_perf_samples[iVar6 + 3] = (char)((uVar7 & 0xffff) >> 8);
    iVar2 = g_tpkts;
    uVar7 = iVar4 - iVar3;
    if (iVar4 == iVar3) {
      uVar7 = 0;
    }
    uVar7 = uVar7 >> 10 & 0xffff;
    g_perf_samples[iVar6 + 4] = (char)uVar7;
    g_perf_samples[iVar6 + 5] = (char)(uVar7 >> 8);
    uVar7 = iVar2 - iVar1;
    if (iVar2 == iVar1) {
      uVar7 = 0;
    }
    g_perf_samples[iVar6 + 6] = (char)(uVar7 & 0xffff);
    g_perf_samples[iVar6 + 7] = (char)((uVar7 & 0xffff) >> 8);
    gettimeofday(&local_28,(__timezone_ptr_t)0x0);
    g_next_sample = (g_next_sample + 1) % 0x3c;
    _g_perf_timestamp = (longlong)local_28.tv_sec * 1000000 + (longlong)local_28.tv_usec;
    if (_g_sample_count < 0x3c) {
      _g_sample_count = _g_sample_count + 1;
    }
    gettimeofday(&local_30,(__timezone_ptr_t)0x0);
    local_30.tv_sec = local_30.tv_sec + 1;
    g_qos_CTA_timer = event_add(&local_30,FUN_0040af4c,0);
  }
  return;
}