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

undefined4 FUN_004050a8(undefined4 param_1,undefined4 param_2,void *param_3)

{
  int iVar1;
  char *__s;
  undefined1 auStack_4a0 [16];
  undefined1 *local_490;
  ushort local_48c;
  undefined2 local_48a;
  undefined1 auStack_480 [1132];
  
  memset(auStack_480,0,0x468)   //possible issue identified - semgrep
  local_48c = 0x468;
  local_48a = 0;
  local_490 = auStack_480;
  iVar1 = FUN_00403d38(param_1,param_2,0x8b0b,auStack_4a0);
  if (iVar1 < 0) {
    return 0xffffffff;
  }
  memcpy(param_3,auStack_480,0x234)   //possible issue identified - semgrep
  if (DAT_00417710 == 0) {
    if (local_48c < 300) {
      fprintf(_stderr,"Warning: Driver for device %s has been compiled with an ancient version\n",
              param_2);
      fprintf(_stderr,"of Wireless Extension, while this program is using version %d.\n",0x10);
      __s = "Some things may be broken...\n\n";
    }
    else {
      if (*(char *)((int)param_3 + 0x118) != '\x10') {
        fprintf(_stderr,"Warning: Driver for device %s has been compiled with version %d\n",param_2)
        ;
        fprintf(_stderr,"of Wireless Extension, while this program is using version %d.\n",0x10);
        fputs("Some things may be broken...\n\n",_stderr);
      }
      if (*(byte *)((int)param_3 + 0x119) <= *(byte *)((int)param_3 + 0x118)) {
        DAT_00417710 = 1;
        return 0;
      }
      fprintf(_stderr,"Warning: Driver for device %s recommend version %d of Wireless Extension,\n",
              param_2);
      fprintf(_stderr,"but has been compiled with version %d, therefore some driver features\n",
              (uint)*(byte *)((int)param_3 + 0x118));
      __s = "may not be available...\n\n";
    }
    fputs(__s,_stderr);
  }
  DAT_00417710 = 1;
  return 0;
}