bool FUN_00402798(int *param_1)

{
  int __fd;
  int *piVar1;
  char *pcVar2;
  int iVar3;
  char *pcVar4;
  char *pcVar5;
  stat sStack_a8;
  
  if ((param_1[1] != -1) && (*param_1 != 0)) {
    close(param_1[1]);
  }
  pcVar5 = g_icon_path;
  param_1[1] = -1;
  *param_1 = 0;
  if ((pcVar5 != (char *)0x0) && (*pcVar5 != '\0')) {
    __fd = open(pcVar5,0)   //possible issue identified - semgrep
    pcVar5 = g_icon_path;
    if (__fd < 0) {
      piVar1 = __errno_location();
      pcVar2 = strerror(*piVar1);
      pcVar4 = "%s: reading iconfile %s FAILED : %s\n";
    }
    else {
      iVar3 = fstat(__fd,&sStack_a8)   //possible issue identified - semgrep
      pcVar5 = g_icon_path;
      if (-1 < iVar3) {
        param_1[1] = __fd;
        *param_1 = sStack_a8.st_blocks;
        return sStack_a8.st_blocks - 1U < 0x7fff;
      }
      piVar1 = __errno_location();
      pcVar2 = strerror(*piVar1);
      pcVar4 = "%s: stat-ing iconfile %s FAILED : %s\n";
    }
    warn(pcVar4,"get_icon_image",pcVar5,pcVar2);
  }
  return false;
}