undefined1 * xtables_ipmask_to_numeric(uint *param_1)
{
bool bVar1;
uint uVar2;
undefined1 *puVar3;
uint uVar4;
char *__format;
int iVar5;
uVar2 = *param_1;
uVar2 = uVar2 << 0x18 | uVar2 >> 0x18 | uVar2 >> 8 & 0xff00 | (uVar2 & 0xff00) << 8;
iVar5 = 0x20;
if (uVar2 == 0xffffffff) {
puVar3 = (undefined1 *)0x57d8;
}
else {
uVar4 = 0xfffffffe;
do {
iVar5 = iVar5 + -1;
if (iVar5 == -1) goto LAB_00011b48;
bVar1 = uVar2 != uVar4;
uVar4 = uVar4 << 1;
} while (bVar1);
if (iVar5 < 0) {
LAB_00011b48:
iVar5 = xtables_ipaddr_to_numeric(param_1);
__format = (char *)0x56a8;
}
else {
__format = (char *)0x56a4;
}
sprintf(buf_5237,__format,iVar5) //possible issue identified - semgrep
puVar3 = buf_5237;
}
return puVar3;
}