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

undefined4
parse(int param_1,undefined4 param_2,undefined4 param_3,uint *param_4,int param_5,int *param_6)

{
  char *__s1;
  int iVar1;
  size_t sVar2;
  char *__dest;
  int iVar3;
  undefined4 local_res8 [2];
  
  iVar3 = *param_6;
  local_res8[0] = param_3;
  if ((*param_4 & 1) == 0) {
    if (param_1 != 0x31) {
      return 0;
    }
    if (*(short *)(param_5 + 0x50) == 6) goto LAB_00010994;
  }
  do {
    (**(code **)(_xt_params + 0x14))(2);
LAB_00010994:
    iVar1 = xtables_check_inverse(_optarg,local_res8);
    __s1 = _optarg;
  } while (((iVar1 != 0) || (iVar1 = strncmp(_optarg,(char *)0xd0c,6), iVar1 == 0)) ||
          (iVar1 = strncmp(__s1,(char *)0xd38,5), iVar1 == 0));
  sVar2 = strlen(__s1);
  __dest = (char *)(iVar3 + 0x20);
  if (0x40 < sVar2 + 1) {
    __dest = (char *)0x2;
    (**(code **)(_xt_params + 0x14))(2,0xd7c,0x40);
  }
  strncpy(__dest,__s1,0x40)   //possible issue identified - semgrep
  *param_4 = *param_4 | 1;
  return 1;
}