ssize_t raw_packet(undefined4 *param_1,undefined4 param_2,uint param_3,undefined4 param_4,
ushort param_5,char *param_6,undefined4 param_7)
{
int __fd;
int iVar1;
undefined4 uVar2;
ssize_t sVar3;
undefined4 uVar4;
undefined4 uVar5;
undefined4 uVar6;
undefined4 *puVar7;
undefined4 *puVar8;
sockaddr local_280;
undefined4 local_270;
undefined4 local_26c;
undefined1 local_264;
undefined1 local_263;
undefined2 local_262;
undefined4 local_260;
undefined4 local_25c;
ushort local_258;
ushort local_256;
undefined2 local_254;
undefined2 local_252;
undefined4 local_250 [139];
__fd = socket(0x11,1,8);
if (-1 < __fd) {
local_280.sa_family = 0;
local_280.sa_data[0] = '\0';
local_280.sa_data[1] = '\0';
local_280.sa_data[2] = '\0';
local_280.sa_data[3] = '\0';
local_280.sa_data[4] = '\0';
local_280.sa_data[5] = '\0';
local_280.sa_data[6] = '\0';
local_280.sa_data[7] = '\0';
local_280.sa_data[8] = '\0';
local_280.sa_data[9] = '\0';
local_280.sa_data[10] = '\0';
local_280.sa_data[0xb] = '\0';
local_280.sa_data[0xc] = '\0';
local_280.sa_data[0xd] = '\0';
local_270 = 0;
memset(&local_26c,0,0x240) //possible issue identified - semgrep
local_280.sa_data._10_4_ = *(undefined4 *)param_6;
local_280.sa_data._2_4_ = param_7;
local_270 = CONCAT31(CONCAT21(local_270._2_2_,param_6[5]),param_6[4]);
local_280.sa_data[9] = '\x06';
local_280.sa_family = 0x11;
local_280.sa_data[0] = '\b';
local_280.sa_data[1] = '\0';
iVar1 = bind(__fd,&local_280,0x14);
if (-1 < iVar1) {
local_258 = (ushort)((param_3 & 0xffff) << 8) | (ushort)((param_3 & 0xffff) >> 8);
local_256 = param_5 << 8 | param_5 >> 8;
local_263 = 0x11;
local_26c = CONCAT22(0x2c02,(undefined2)local_26c);
local_254 = 0x2c02;
puVar7 = local_250;
puVar8 = param_1 + 0x88;
do {
uVar2 = *param_1;
uVar4 = param_1[1];
uVar5 = param_1[2];
uVar6 = param_1[3];
param_1 = param_1 + 4;
*puVar7 = uVar2;
puVar7[1] = uVar4;
puVar7[2] = uVar5;
puVar7[3] = uVar6;
puVar7 = puVar7 + 4;
} while (param_1 != puVar8);
*puVar7 = *param_1;
local_260 = param_2;
local_25c = param_4;
local_252 = checksum(&local_26c,0x240);
local_26c = CONCAT22(0x4002,(undefined2)local_26c);
local_26c = local_26c & 0xffffff00 | 0x45;
local_264 = 0x40;
local_262 = checksum(&local_26c,0x14);
sVar3 = sendto(__fd,&local_26c,0x240,0,&local_280,0x14);
close(__fd);
return sVar3;
}
close(__fd);
}
return -1;
}