void WPAStart2WayGroupHS(int param_1,int *param_2)
{
undefined1 uVar1;
void *pvVar2;
char cVar3;
int iVar4;
uint uVar5;
uint uVar6;
uint uVar7;
void *local_40;
undefined1 auStack_3c [8];
undefined1 auStack_34 [6];
undefined1 auStack_2e [6];
undefined1 auStack_28 [8];
if (2 < RTDebugLevel) {
printk("===> WPAStart2WayGroupHS\n");
}
if (((param_2 != (int *)0x0) && (*param_2 == 1)) &&
(uVar6 = (uint)*(byte *)((int)param_2 + 0x31), uVar6 < *(byte *)(param_1 + 0x51aa))) {
iVar4 = uVar6 * 0x1140 + param_1;
uVar1 = *(undefined1 *)(iVar4 + 0x5240);
uVar7 = *(uint *)(iVar4 + 0x51e4);
RTMPGetTxTscFromAsic(param_1,uVar6,auStack_3c);
os_alloc_mem(0,&local_40,0x5dc);
pvVar2 = local_40;
if (local_40 == (void *)0x0) {
if (RTDebugLevel != 0) {
printk("!!!%s : no memory!!!\n","WPAStart2WayGroupHS");
}
}
else {
memset(local_40,0,0x5dc) //possible issue identified - semgrep
uVar5 = 7;
do {
uVar5 = uVar5 & 0xff;
cVar3 = *(char *)((int)param_2 + uVar5 + 0x172) + '\x01' //possible issue identified - semgrep
*(char *)((int)param_2 + uVar5 + 0x172) = cVar3;
if (uVar5 == 0) break;
uVar5 = uVar5 - 1;
} while (cVar3 == '\0');
iVar4 = param_1 + uVar6 * 0x1140;
ConstructEapolMsg(param_2,uVar7 & 0xff,5,uVar1,iVar4 + 0x52b7,auStack_3c,iVar4 + 0x5295,0,0,
pvVar2);
memmove(auStack_34,param_2 + 0x96,6) //possible issue identified - semgrep
memmove(auStack_2e,(void *)(param_1 + uVar6 * 0x1140 + 0x51ac),6) //possible issue identified - semgrep
memmove(auStack_28,&EAPOL,2) //possible issue identified - semgrep
RTMPToWirelessSta(param_1,param_2,auStack_34,0xe,pvVar2,
CONCAT11(*(undefined1 *)((int)pvVar2 + 2),*(undefined1 *)((int)pvVar2 + 3))
+ 4,0);
os_free_mem(0,local_40);
if (2 < RTDebugLevel) {
printk("<=== WPAStart2WayGroupHS : send out Group Message 1 \n");
}
}
}
return;
}