/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

undefined4 main(int param_1,char **param_2)

{
  byte bVar1;
  bool bVar2;
  bool bVar3;
  int iVar4;
  size_t sVar5;
  char *pcVar6;
  int iVar7;
  undefined4 uVar8;
  byte *pbVar9;
  byte local_390 [16];
  undefined4 local_380;
  undefined4 local_37c;
  undefined1 auStack_340 [64];
  char acStack_300 [63];
  undefined1 local_2c1;
  sysinfo local_2c0;
  undefined1 auStack_280 [88];
  char acStack_228 [256];
  undefined4 local_128;
  undefined4 local_124;
  
  bVar3 = false;
  iVar7 = 0;
  uVar8 = 0;
  while (iVar4 = getopt(param_1,param_2,"a:shv"), 0 < iVar4) {   //possible issue identified - semgrep
    if (iVar4 == 0x68) {
      FUN_00400960();
    }
    else if (iVar4 < 0x69) {
      if (iVar4 == 0x61) {
        iVar7 = 1;
        uVar8 = _optarg;
      }
    }
    else if (iVar4 == 0x73) {
      iVar7 = 2;
    }
    else if (iVar4 == 0x76) {
      bVar3 = true;
    }
  }
  if (iVar7 == 0) {
    FUN_00400960();
  }
  else if (iVar7 == 2) {
    sysinfo(&local_2c0);
    sprintf((char *)&local_380,"%08x",local_2c0.uptime)   //possible issue identified - semgrep
    printf("%s",&local_380);
    return 0;
  }
  memset(&local_128,0,0x100)   //possible issue identified - semgrep
  FUN_004009f0("/var/run/hash",&local_128);
  memset(&local_380,0,0x40)   //possible issue identified - semgrep
  local_37c = local_124;
  local_380 = local_128;
  memset(auStack_340,0,0x40)   //possible issue identified - semgrep
  FUN_004009f0(uVar8,auStack_340);
  iVar7 = sprintf(acStack_300,"%s%s",&local_380,auStack_340)   //possible issue identified - semgrep
  pcVar6 = acStack_300 + iVar7;
  iVar4 = 0;
  while (bVar2 = iVar4 < 0x3f - iVar7, iVar4 = iVar4 + 1, bVar2) {
    *pcVar6 = '\x01';
    pcVar6 = pcVar6 + 1;
  }
  local_2c1 = 1;
  if (!bVar3) {
    local_2c1 = 0x55;
  }
  MD5Init(auStack_280);
  MD5Update(auStack_280,acStack_300,0x40);
  pbVar9 = local_390;
  MD5Final(pbVar9,auStack_280);
  memset(acStack_300,0,0x40)   //possible issue identified - semgrep
  do {
    sVar5 = strlen(acStack_300);
    bVar1 = *pbVar9;
    pbVar9 = pbVar9 + 1;
    sprintf(acStack_300 + sVar5,"%02x",(uint)bVar1)   //possible issue identified - semgrep
  } while (pbVar9 != (byte *)&local_380);
  sprintf(acStack_228,"%s%s",pbVar9,acStack_300)   //possible issue identified - semgrep
  iVar7 = strcmp(acStack_228,(char *)&local_128);
  if (iVar7 == 0) {
    pcVar6 = "OK";
  }
  else {
    pcVar6 = "error";
  }
  printf(pcVar6);
  return 0;
}