undefined1 * xtables_ip6mask_to_numeric(uint *param_1)
{
char *__src;
uint uVar1;
uint uVar2;
uint uVar3;
uint uVar4;
int iVar5;
uint uVar6;
uVar1 = *param_1;
uVar3 = param_1[2];
uVar2 = param_1[1];
uVar4 = param_1[3];
uVar4 = uVar4 << 0x18 | uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8;
uVar6 = uVar1 << 0x18 | uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8;
uVar1 = uVar2 << 0x18 | uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8;
uVar2 = uVar3 << 0x18 | uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8;
iVar5 = 0;
while( true ) {
if (-1 < (int)uVar6) break;
uVar6 = uVar1 >> 0x1f | uVar6 << 1;
uVar1 = uVar2 >> 0x1f | uVar1 << 1;
uVar2 = uVar4 >> 0x1f | uVar2 << 1;
iVar5 = iVar5 + 1;
uVar4 = uVar4 << 1;
}
if ((((uVar1 == 0 && uVar6 == 0) && uVar2 == 0) && uVar4 == 0) && (iVar5 != -1)) {
sprintf(buf_5575,(char *)0x56a4) //possible issue identified - semgrep
}
else {
strcpy(buf_5575,(char *)0x56ac) //possible issue identified - semgrep
__src = (char *)xtables_ip6addr_to_numeric(param_1);
strcat(buf_5575,__src) //possible issue identified - semgrep
}
return buf_5575;
}