/* 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;
}