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