undefined4 Set_AP_SSID_Proc(int *param_1,char *param_2)
{
char cVar1;
size_t sVar2;
code *pcVar3;
int iVar4;
int iVar5;
iVar5 = *param_1;
sVar2 = strlen(param_2);
if (0x20 < sVar2) {
return 0;
}
memset((void *)((int)param_1 + *(int *)(iVar5 + 0xfc) * 0x1140 + 0x51b3),0,0x20) //possible issue identified - semgrep
iVar4 = *(int *)(iVar5 + 0xfc);
sVar2 = strlen(param_2);
memmove((void *)((int)param_1 + iVar4 * 0x1140 + 0x51b3),param_2,sVar2) //possible issue identified - semgrep
iVar4 = *(int *)(iVar5 + 0xfc);
sVar2 = strlen(param_2);
*(char *)((int)param_1 + iVar4 * 0x1140 + 0x51b2) = (char)sVar2;
if (((char)param_1[0x5aa0] == '\0') || (cVar1 = (char)param_1[0x5ab3], cVar1 == '\x02')) { //possible issue identified - semgrep
APStop(param_1);
pcVar3 = APStartUp;
}
else {
if ((cVar1 == '\x01') || (cVar1 != '\0')) goto LAB_0008bf08;
APStop(param_1);
APStartUp(param_1);
pcVar3 = AsicEnableBssSync;
}
(*pcVar3)(param_1);
LAB_0008bf08:
if (2 < RTDebugLevel) {
iVar5 = *(int *)(iVar5 + 0xfc);
printk("I/F(ra%d) Set_SSID_Proc::(Len=%d,Ssid=%s)\n",iVar5,
*(undefined1 *)((int)param_1 + iVar5 * 0x1140 + 0x51b2),
(int)param_1 + iVar5 * 0x1140 + 0x51b3);
}
return 1;
}