void FUN_0040e9cc(uint param_1,char *param_2,undefined4 param_3)
{
long lVar1;
time_t tVar2;
tm *__tp;
char *pcVar3;
int local_a0;
char acStack_9c [64];
sysinfo local_5c;
lVar1 = atol(param_2);
sysinfo(&local_5c);
tVar2 = time((time_t *)0x0);
local_a0 = tVar2 - (local_5c.uptime - lVar1) //possible issue identified - semgrep
memset(acStack_9c,0,0x40) //possible issue identified - semgrep
if (param_1 < 5) {
switch(param_1) {
case 0:
__tp = localtime(&local_a0);
pcVar3 = s__m__d__Y__T_004335a0;
break;
case 1:
__tp = localtime(&local_a0);
pcVar3 = "%Y-%m-%dT%T";
break;
case 2:
__tp = gmtime(&local_a0);
pcVar3 = "%a, %d %b %Y %T GMT";
break;
case 3:
__tp = gmtime(&local_a0);
pcVar3 = PTR_s__A___d__b__y__T_GMT_004334fc;
break;
case 4:
pcVar3 = ctime(&local_a0);
sobj_add_string(param_3,pcVar3);
goto LAB_0040eb6c;
}
strftime(acStack_9c,0x40,pcVar3,__tp);
}
LAB_0040eb6c:
sobj_add_string(param_3,acStack_9c);
return;
}