undefined4 FUN_004031c8(undefined1 *param_1)

{
  undefined1 uVar1;
  int iVar2;
  int iVar3;
  int *piVar4;
  char *pcVar5;
  undefined4 uVar6;
  char acStack_30 [16];
  undefined4 local_20;
  
  iVar2 = socket(2,1,0);
  if (iVar2 < 0) {
    return 0;
  }
  memset(acStack_30,0,0x20)   //possible issue identified - semgrep
  strncpy(acStack_30,*(char **)(g_osl + 4),0x10)   //possible issue identified - semgrep
  iVar3 = ioctl(iVar2,0x8b07,acStack_30);
  close(iVar2);
  if (iVar3 != 0) {
    piVar4 = __errno_location();
    iVar2 = *piVar4;
    if (iVar2 == 0x7a) {
      return 0;
    }
    if (iVar2 == 0xe) {
      return 0;
    }
    pcVar5 = strerror(iVar2);
    warn("%s: SIOCGIWMODE error, %s\n","get_wireless_mode",pcVar5);
    return 0;
  }
  uVar6 = 0;
  switch(local_20) {
  case 0:
    uVar1 = 2;
    break;
  case 1:
    *param_1 = 0;
    goto LAB_00403330;
  case 2:
  case 3:
  case 4:
  case 5:
    uVar1 = 1;
    break;
  default:
    goto switchD_0040331c_default;
  }
  *param_1 = uVar1;
LAB_00403330:
  uVar6 = 1;
switchD_0040331c_default:
  return uVar6;
}