undefined4 Set_MeasureReq_Proc(int param_1,char *param_2)
{
byte bVar1;
int iVar2;
char *pcVar3;
uint uVar4;
uint uVar5;
char *local_res4 [3];
void *local_60;
int local_5c;
int local_58;
byte local_54 [9];
uint3 uStack_4b;
undefined1 auStack_48 [24];
undefined4 local_30;
local_res4[0] = param_2;
local_30 = RandomByte();
local_60 = (void *)0x0;
iVar2 = os_alloc_mem(param_1,&local_60,0x640);
if (iVar2 == 0) {
uVar4 = 1;
iVar2 = 1;
uVar5 = 0;
bVar1 = 1;
LAB_00047240:
do {
pcVar3 = strsep(local_res4,"-");
if (pcVar3 == (char *)0x0) {
if (2 < RTDebugLevel) {
printk("%s::Aid = %d, MeasureReqType=%d MeasureCh=%d\n","Set_MeasureReq_Proc",uVar4,uVar5,
bVar1);
}
if (uVar4 - 1 < 0x1f) {
MeasureReqInsert(param_1,local_30);
MgtMacHeaderInit(param_1,auStack_48,0xd,0,param_1 + uVar4 * 0xa20 + 0x5d190,
param_1 + 0x16973);
memmove(local_60,auStack_48,0x18) //possible issue identified - semgrep
local_5c = 0x18;
MakeMeasurementReqFrame(param_1,local_60,&local_5c,3,5,0,local_30,2,uVar5,1);
local_54[1] = 0;
local_54[2] = 0;
local_54[3] = 0;
local_54[4] = 0;
uStack_4b = uStack_4b & 0xff0000 | 2000;
local_54[5] = 0;
local_54[6] = 0;
local_54[7] = 0;
local_54[8] = 0;
local_54[0] = bVar1;
MakeOutgoingFrame((int)local_60 + local_5c,&local_58,0xb,local_54,0xffffffff);
local_5c = local_58 + local_5c;
MiniportMMRequest(param_1,0,local_60,local_5c);
goto LAB_00047428;
}
if (RTDebugLevel == 0) goto LAB_00047428;
pcVar3 = "%s: unknow sta of Aid(%d)\n";
uVar5 = uVar4;
goto LAB_000472cc;
}
if (iVar2 != 2) {
if (iVar2 == 3) {
bVar1 = simple_strtol(pcVar3,0,0x10);
}
else {
if (iVar2 != 1) {
iVar2 = iVar2 + 1;
goto LAB_00047240;
}
uVar4 = simple_strtol(pcVar3,0,0x10);
uVar4 = uVar4 & 0xff;
}
iVar2 = iVar2 + 1;
goto LAB_00047240;
}
uVar5 = simple_strtol(pcVar3,0,0x10);
uVar5 = uVar5 & 0xff;
iVar2 = 3;
} while (uVar5 < 4);
if (RTDebugLevel != 0) {
pcVar3 = "%s: unknow MeasureReqType(%d)\n";
LAB_000472cc:
printk(pcVar3,"Set_MeasureReq_Proc",uVar5);
}
}
else if (2 < RTDebugLevel) {
printk("%s() allocate memory failed \n","Set_MeasureReq_Proc");
}
LAB_00047428:
os_free_mem(param_1,local_60);
return 1;
}