/* WARNING: Restarted to delay deadcode elimination for space: register */
undefined4 RTMPSetProfileParameters(int param_1,undefined4 param_2)
{
char cVar1;
bool bVar2;
char cVar3;
undefined1 uVar4;
byte bVar5;
code cVar6;
char cVar7;
short sVar8;
undefined2 uVar9;
int iVar10;
char *pcVar11;
undefined4 uVar12;
uint uVar13;
uint uVar14;
size_t sVar15;
char *pcVar16;
char *pcVar17;
int iVar18;
undefined1 *puVar19;
uint *puVar20;
int *piVar21;
undefined4 *puVar22;
int *piVar23;
int iVar24;
bool bVar25;
void *pvVar26;
code *pcVar27;
undefined2 *puVar28;
undefined1 *puVar29;
int iVar30;
undefined2 local_88 [2];
char *local_84;
undefined4 local_80;
char local_7c;
undefined1 local_7b;
undefined1 local_7a;
undefined1 local_79;
undefined1 local_78;
undefined1 local_77;
char acStack_76 [10];
int local_6c [17];
os_alloc_mem(0,&local_84,0x800);
if (local_84 == (char *)0x0) {
return 1;
}
iVar10 = RTMPGetKeyParameter("MacAddress",local_84,0x19,param_2,1);
if (((iVar10 != 0) && (iVar10 = RT_CfgSetMacAddress(param_1,local_84), iVar10 != 0)) &&
(2 < RTDebugLevel)) {
printk("MacAddress = %02x:%02x:%02x:%02x:%02x:%02x\n",*(undefined1 *)(param_1 + 0x16973),
*(undefined1 *)(param_1 + 0x16974),*(undefined1 *)(param_1 + 0x16975),
*(undefined1 *)(param_1 + 0x16976),*(undefined1 *)(param_1 + 0x16977),
*(undefined1 *)(param_1 + 0x16978));
}
iVar10 = RTMPGetKeyParameter("CountryRegion",local_84,0x19,param_2,1);
if ((iVar10 != 0) && (RT_CfgSetCountryRegion(param_1,local_84,1), 2 < RTDebugLevel)) {
printk("CountryRegion=%d\n",*(undefined1 *)(param_1 + 0x16980));
}
iVar10 = RTMPGetKeyParameter("CountryRegionABand",local_84,0x19,param_2,1);
if ((iVar10 != 0) && (RT_CfgSetCountryRegion(param_1,local_84,0), 2 < RTDebugLevel)) {
printk("CountryRegionABand=%d\n",*(undefined1 *)(param_1 + 0x16981));
}
iVar10 = RTMPGetKeyParameter("CountryCode",local_84,0x19,param_2,1);
if (iVar10 != 0) {
RTMPSetCountryCode(param_1,local_84);
}
*(undefined1 *)(param_1 + 0x51aa) = 1;
if (2 < RTDebugLevel) {
printk("pAd->ApCfg.BssidNum=%d\n",1);
}
puVar29 = (undefined1 *)(param_1 + 0x51b2);
bVar25 = false;
iVar10 = 0;
puVar19 = puVar29;
while( true ) {
if ((int)(uint)*(byte *)(param_1 + 0x51aa) <= iVar10) break;
snprintf(&local_7c,0x10,"SSID%d",iVar10 + 1) //possible issue identified - semgrep
iVar18 = RTMPGetKeyParameter(&local_7c,local_84,0x21,param_2,0);
pcVar11 = local_84;
if (iVar18 != 0) {
pcVar17 = (char *)(param_1 + iVar10 * 0x1140 + 0x51b3);
sVar15 = strlen(local_84);
memmove(pcVar17,pcVar11,sVar15) //possible issue identified - semgrep
sVar15 = strlen(local_84);
*(undefined1 *)(param_1 + iVar10 * 0x1140 + sVar15 + 0x51b3) = 0;
sVar15 = strlen(pcVar17);
*puVar19 = (char)sVar15;
if (2 < RTDebugLevel) {
printk("SSID[%d]=%s\n",iVar10,pcVar17);
}
bVar25 = true;
}
puVar19 = puVar19 + 0x1140;
iVar10 = iVar10 + 1;
}
if ((!bVar25) && (iVar10 = RTMPGetKeyParameter(&_LC89,local_84,0x100,param_2,0), iVar10 != 0)) {
cVar3 = delimitcnt(local_84,&_LC37);
if (*(char *)(param_1 + 0x51aa) == (char)(cVar3 + '\x01')) {
bVar5 = *(byte *)(param_1 + 0x51aa);
}
else {
printk("ERROR!!! ");
printk("Your no. of SSIDs( = %d) does not match your BssidNum( = %d)!\n",cVar3 + '\x01',
*(undefined1 *)(param_1 + 0x51aa));
bVar5 = *(byte *)(param_1 + 0x51aa);
}
if (bVar5 < 2) {
sVar15 = strlen(local_84);
if ((sVar15 != 0) && (sVar15 = strlen(local_84), pcVar11 = local_84, sVar15 < 0x21)) {
pcVar17 = (char *)(param_1 + 0x51b3);
sVar15 = strlen(local_84);
memmove(pcVar17,pcVar11,sVar15) //possible issue identified - semgrep
sVar15 = strlen(local_84);
*(undefined1 *)(param_1 + sVar15 + 0x51b3) = 0;
sVar15 = strlen(pcVar17);
*(char *)(param_1 + 0x51b2) = (char)sVar15;
if (2 < RTDebugLevel) {
printk("SSID=%s\n",pcVar17);
}
}
}
else {
pcVar11 = (char *)rstrtok(local_84,&_LC37) //possible issue identified - semgrep
iVar10 = 0;
while( true ) {
pcVar17 = (char *)(param_1 + iVar10 * 0x1140 + 0x51b3);
if ((pcVar11 == (char *)0x0) || ((int)(uint)*(byte *)(param_1 + 0x51aa) <= iVar10)) break;
sVar15 = strlen(pcVar11);
memmove(pcVar17,pcVar11,sVar15) //possible issue identified - semgrep
sVar15 = strlen(pcVar11);
*(undefined1 *)(param_1 + iVar10 * 0x1140 + sVar15 + 0x51b3) = 0;
sVar15 = strlen(pcVar17);
*puVar29 = (char)sVar15;
puVar29 = puVar29 + 0x1140;
if (2 < RTDebugLevel) {
printk("SSID[%d]=%s\n",iVar10,pcVar17);
}
pcVar11 = (char *)rstrtok(0,&_LC37) //possible issue identified - semgrep
iVar10 = iVar10 + 1;
}
}
}
iVar10 = RTMPGetKeyParameter("Channel",local_84,10,param_2,1);
if (iVar10 != 0) {
uVar4 = simple_strtol(local_84,0,10);
*(undefined1 *)(param_1 + 0x169ec) = uVar4;
if (2 < RTDebugLevel) {
printk("Channel=%d\n");
}
}
iVar10 = RTMPGetKeyParameter("WirelessMode",local_84,0x20,param_2,1);
if (iVar10 != 0) {
iVar10 = rstrtok(local_84,&_LC37) //possible issue identified - semgrep
iVar18 = 0;
while (iVar10 != 0) {
if (iVar18 == 0) {
uVar4 = simple_strtol(iVar10,0,10);
*(undefined1 *)(param_1 + 0x62ea) = uVar4;
RT_CfgSetWirelessMode(param_1,iVar10);
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
iVar18 = iVar18 + 1;
}
if (2 < RTDebugLevel) {
printk("PhyMode=%d\n",*(undefined1 *)(param_1 + 0x16982));
}
}
iVar10 = RTMPGetKeyParameter("BasicRate",local_84,10,param_2,1);
if (iVar10 != 0) {
uVar12 = simple_strtol(local_84,0,10);
*(undefined4 *)(param_1 + 0x16a24) = uVar12;
uVar12 = simple_strtol(local_84,0,10);
*(undefined4 *)(param_1 + 0x16a28) = uVar12;
if (2 < RTDebugLevel) {
printk("BasicRate=%ld\n",*(undefined4 *)(param_1 + 0x16a24));
}
}
iVar10 = RTMPGetKeyParameter("BeaconPeriod",local_84,10,param_2,1);
if (iVar10 == 0) {
iVar10 = *(int *)(param_1 + 0x29f8);
}
else {
sVar8 = simple_strtol(local_84,0,10) //possible issue identified - semgrep
if (0x3d4 < (ushort)(sVar8 - 0x14U)) {
sVar8 = 100 //possible issue identified - semgrep
}
*(short *)(param_1 + 0x169ea) = sVar8;
if (RTDebugLevel < 3) {
iVar10 = *(int *)(param_1 + 0x29f8);
}
else {
printk("BeaconPeriod=%d\n",*(undefined2 *)(param_1 + 0x169ea));
iVar10 = *(int *)(param_1 + 0x29f8);
}
}
if ((iVar10 == 4) &&
(iVar10 = RTMPGetKeyParameter("FreqDelta",local_84,10,param_2,1), iVar10 != 0)) {
bVar5 = simple_strtol(local_84,0,10);
*(byte *)(param_1 + 0x4bdc) = bVar5;
if (0x20 < bVar5) {
*(undefined1 *)(param_1 + 0x4bdc) = 0;
}
if (2 < RTDebugLevel) {
printk("FreqDelta=%d\n",*(undefined1 *)(param_1 + 0x4bdc));
}
}
iVar10 = RTMPGetKeyParameter("DtimPeriod",local_84,10,param_2,1);
if (iVar10 != 0) {
uVar4 = simple_strtol(local_84,0,10);
*(undefined1 *)(param_1 + 0x16632) = uVar4;
if (2 < RTDebugLevel) {
printk("DtimPeriod=%d\n");
}
}
iVar10 = RTMPGetKeyParameter("TxPower",local_84,10,param_2,1);
if (iVar10 != 0) {
uVar12 = simple_strtol(local_84,0,10);
*(undefined4 *)(param_1 + 0x16a58) = uVar12;
if (2 < RTDebugLevel) {
printk("TxPower=%ld\n");
}
}
iVar10 = RTMPGetKeyParameter("BGProtection",local_84,10,param_2,1);
if (iVar10 != 0) {
iVar10 = simple_strtol(local_84,0,10);
if ((iVar10 == 1) || (iVar10 == 2)) {
*(int *)(param_1 + 0x16a78) = iVar10;
}
else {
*(undefined4 *)(param_1 + 0x16a78) = 0;
}
if (2 < RTDebugLevel) {
printk("BGProtection=%ld\n",*(undefined4 *)(param_1 + 0x16a78));
}
}
iVar10 = RTMPGetKeyParameter("DisableOLBC",local_84,10,param_2,1);
if (iVar10 != 0) {
iVar10 = simple_strtol(local_84,0,10);
if ((iVar10 == 0) || (iVar10 != 1)) {
*(undefined4 *)(param_1 + 0x16a84) = 0;
}
else {
*(undefined4 *)(param_1 + 0x16a84) = 1;
}
if (2 < RTDebugLevel) {
printk("OLBCDetection=%ld\n",*(undefined4 *)(param_1 + 0x16a84));
}
}
iVar10 = RTMPGetKeyParameter("TxPreamble",local_84,10,param_2,1);
if (iVar10 != 0) {
iVar10 = simple_strtol(local_84,0,10);
if (iVar10 == 1) {
*(undefined4 *)(param_1 + 0x16a70) = 1;
}
else {
*(undefined4 *)(param_1 + 0x16a70) = 0;
}
if (2 < RTDebugLevel) {
printk("TxPreamble=%ld\n",*(undefined4 *)(param_1 + 0x16a70));
}
}
iVar10 = RTMPGetKeyParameter("RTSThreshold",local_84,10,param_2,1);
if (iVar10 != 0) {
iVar10 = simple_strtol(local_84,0,10);
if (0x92a < iVar10 - 1U) {
iVar10 = 0x92b;
}
*(short *)(param_1 + 0x16a52) = (short)iVar10;
if (2 < RTDebugLevel) {
printk("RTSThreshold=%d\n",*(undefined2 *)(param_1 + 0x16a52));
}
}
iVar10 = RTMPGetKeyParameter("FragThreshold",local_84,10,param_2,1);
if (iVar10 != 0) {
uVar13 = simple_strtol(local_84,0,10);
*(undefined1 *)(param_1 + 0x16a74) = 0;
if (uVar13 - 0x100 < 0x82b) {
if ((uVar13 & 1) != 0) {
sVar8 = (short)uVar13 + -1 //possible issue identified - semgrep
goto LAB_0004ab00;
}
*(short *)(param_1 + 0x16a54) = (short)uVar13;
}
else {
*(undefined1 *)(param_1 + 0x16a74) = 1;
sVar8 = 0x92a //possible issue identified - semgrep
LAB_0004ab00:
*(short *)(param_1 + 0x16a54) = sVar8;
}
if (2 < RTDebugLevel) {
printk("FragThreshold=%d\n",*(undefined2 *)(param_1 + 0x16a54));
}
}
iVar10 = RTMPGetKeyParameter("TxBurst",local_84,10,param_2,1);
if (iVar10 != 0) {
iVar10 = simple_strtol(local_84,0,10);
if (iVar10 == 0) {
*(undefined1 *)(param_1 + 0x16a7d) = 0;
}
else {
*(undefined1 *)(param_1 + 0x16a7d) = 1;
}
if (2 < RTDebugLevel) {
printk("TxBurst=%d\n",*(undefined1 *)(param_1 + 0x16a7d));
}
}
iVar10 = RTMPGetKeyParameter("PktAggregate",local_84,10,param_2,1);
if (iVar10 != 0) {
iVar10 = simple_strtol(local_84,0,10);
if (iVar10 == 0) {
*(undefined1 *)(param_1 + 0x16a7e) = 0;
}
else {
*(undefined1 *)(param_1 + 0x16a7e) = 1;
}
*(undefined1 *)(param_1 + 0x16a7f) = *(undefined1 *)(param_1 + 0x16a7e);
if (2 < RTDebugLevel) {
printk("PktAggregate=%d\n",*(undefined1 *)(param_1 + 0x16a7e));
}
}
pcVar11 = local_84;
iVar10 = RTMPGetKeyParameter("WmmCapable",local_84,0x20,param_2,1);
if (iVar10 != 0) {
iVar10 = rstrtok(pcVar11,&_LC37) //possible issue identified - semgrep
puVar19 = (undefined1 *)(param_1 + 0x5b30);
bVar25 = false;
for (iVar18 = 0; (iVar10 != 0 && (iVar18 < (int)(uint)*(byte *)(param_1 + 0x51aa)));
iVar18 = iVar18 + 1) {
iVar10 = simple_strtol(iVar10,0,10);
if (iVar10 == 0) {
*puVar19 = 0;
if (bVar25) goto LAB_0004ad18;
*(undefined1 *)(param_1 + 0x16a90) = 0;
*(undefined1 *)(param_1 + 0x16874) = 0;
}
else {
*puVar19 = 1;
LAB_0004ad18:
*(undefined1 *)(param_1 + 0x16a90) = 1;
*(undefined1 *)(param_1 + 0x16874) = 1;
bVar25 = true;
}
puVar19[2] = *puVar19;
if (2 < RTDebugLevel) {
printk("I/F(ra%d) WmmCapable=%d\n",iVar18,*puVar19);
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
puVar19 = puVar19 + 0x1140;
}
}
iVar10 = RTMPGetKeyParameter("DLSCapable",pcVar11,0x20,param_2,1);
if (iVar10 != 0) {
iVar10 = rstrtok(pcVar11,&_LC37) //possible issue identified - semgrep
puVar19 = (undefined1 *)(param_1 + 0x5b31);
for (iVar18 = 0; (iVar10 != 0 && (iVar18 < (int)(uint)*(byte *)(param_1 + 0x51aa)));
iVar18 = iVar18 + 1) {
iVar10 = simple_strtol(iVar10,0,10);
if (iVar10 == 0) {
*puVar19 = 0;
}
else {
*puVar19 = 1;
}
if (2 < RTDebugLevel) {
printk("I/F(ra%d) DLSCapable=%d\n",iVar18,*puVar19);
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
puVar19 = puVar19 + 0x1140;
}
}
iVar10 = RTMPGetKeyParameter("APAifsn",pcVar11,0x20,param_2,1);
if (iVar10 != 0) {
iVar10 = rstrtok(pcVar11,&_LC37) //possible issue identified - semgrep
pcVar27 = AsicEvaluateRxAnt + param_1 + 3;
iVar18 = 0;
while (iVar10 != 0) {
cVar6 = (code)simple_strtol(iVar10,0,10);
*pcVar27 = cVar6;
pcVar27 = pcVar27 + 1;
if (2 < RTDebugLevel) {
printk("APAifsn[%d]=%d\n",iVar18);
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
iVar18 = iVar18 + 1;
}
}
iVar10 = RTMPGetKeyParameter("APCwmin",pcVar11,0x20,param_2,1);
if (iVar10 != 0) {
iVar10 = rstrtok(pcVar11,&_LC37) //possible issue identified - semgrep
puVar19 = (undefined1 *)(param_1 + 0x16a9b);
iVar18 = 0;
while (iVar10 != 0) {
uVar4 = simple_strtol(iVar10,0,10);
*puVar19 = uVar4;
puVar19 = puVar19 + 1;
if (2 < RTDebugLevel) {
printk("APCwmin[%d]=%d\n",iVar18);
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
iVar18 = iVar18 + 1;
}
}
iVar10 = RTMPGetKeyParameter("APCwmax",pcVar11,0x20,param_2,1);
if (iVar10 != 0) {
iVar10 = rstrtok(pcVar11,&_LC37) //possible issue identified - semgrep
puVar19 = (undefined1 *)(param_1 + 0x16a9f);
iVar18 = 0;
while (iVar10 != 0) {
uVar4 = simple_strtol(iVar10,0,10);
*puVar19 = uVar4;
puVar19 = puVar19 + 1;
if (2 < RTDebugLevel) {
printk("APCwmax[%d]=%d\n",iVar18);
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
iVar18 = iVar18 + 1;
}
}
iVar10 = RTMPGetKeyParameter("APTxop",pcVar11,0x20,param_2,1);
if (iVar10 != 0) {
iVar10 = rstrtok(pcVar11,&_LC37) //possible issue identified - semgrep
puVar28 = (undefined2 *)(param_1 + 0x16aa4);
iVar18 = 0;
while (iVar10 != 0) {
uVar9 = simple_strtol(iVar10,0,10);
*puVar28 = uVar9;
puVar28 = puVar28 + 1;
if (2 < RTDebugLevel) {
printk("APTxop[%d]=%d\n",iVar18);
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
iVar18 = iVar18 + 1;
}
}
iVar10 = RTMPGetKeyParameter("APACM",pcVar11,0x20,param_2,1);
if (iVar10 != 0) {
iVar10 = rstrtok(pcVar11,&_LC37) //possible issue identified - semgrep
puVar19 = (undefined1 *)(param_1 + 0x16aac);
iVar18 = 0;
while (iVar10 != 0) {
uVar4 = simple_strtol(iVar10,0,10);
*puVar19 = uVar4;
puVar19 = puVar19 + 1;
if (2 < RTDebugLevel) {
printk("APACM[%d]=%d\n",iVar18);
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
iVar18 = iVar18 + 1;
}
}
iVar10 = RTMPGetKeyParameter("BSSAifsn",pcVar11,0x20,param_2,1);
if (iVar10 != 0) {
iVar10 = rstrtok(pcVar11,&_LC37) //possible issue identified - semgrep
puVar19 = (undefined1 *)(param_1 + 0x1687b);
iVar18 = 0;
while (iVar10 != 0) {
uVar4 = simple_strtol(iVar10,0,10);
*puVar19 = uVar4;
puVar19 = puVar19 + 1;
if (2 < RTDebugLevel) {
printk("BSSAifsn[%d]=%d\n",iVar18);
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
iVar18 = iVar18 + 1;
}
}
iVar10 = RTMPGetKeyParameter("BSSCwmin",pcVar11,0x20,param_2,1);
if (iVar10 != 0) {
iVar10 = rstrtok(pcVar11,&_LC37) //possible issue identified - semgrep
puVar19 = (undefined1 *)(param_1 + 0x1687f);
iVar18 = 0;
while (iVar10 != 0) {
uVar4 = simple_strtol(iVar10,0,10);
*puVar19 = uVar4;
puVar19 = puVar19 + 1;
if (2 < RTDebugLevel) {
printk("BSSCwmin[%d]=%d\n",iVar18);
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
iVar18 = iVar18 + 1;
}
}
iVar10 = RTMPGetKeyParameter("BSSCwmax",pcVar11,0x20,param_2,1);
if (iVar10 != 0) {
iVar10 = rstrtok(pcVar11,&_LC37) //possible issue identified - semgrep
puVar19 = (undefined1 *)(param_1 + 0x16883);
iVar18 = 0;
while (iVar10 != 0) {
uVar4 = simple_strtol(iVar10,0,10);
*puVar19 = uVar4;
puVar19 = puVar19 + 1;
if (2 < RTDebugLevel) {
printk("BSSCwmax[%d]=%d\n",iVar18);
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
iVar18 = iVar18 + 1;
}
}
iVar10 = RTMPGetKeyParameter("BSSTxop",pcVar11,0x20,param_2,1);
if (iVar10 != 0) {
iVar10 = rstrtok(pcVar11,&_LC37) //possible issue identified - semgrep
puVar28 = (undefined2 *)(param_1 + 0x16888);
iVar18 = 0;
while (iVar10 != 0) {
uVar9 = simple_strtol(iVar10,0,10);
*puVar28 = uVar9;
puVar28 = puVar28 + 1;
if (2 < RTDebugLevel) {
printk("BSSTxop[%d]=%d\n",iVar18);
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
iVar18 = iVar18 + 1;
}
}
iVar10 = RTMPGetKeyParameter("BSSACM",pcVar11,0x20,param_2,1);
if (iVar10 != 0) {
iVar10 = rstrtok(pcVar11,&_LC37) //possible issue identified - semgrep
puVar19 = (undefined1 *)(param_1 + 0x16890);
iVar18 = 0;
while (iVar10 != 0) {
uVar4 = simple_strtol(iVar10,0,10);
*puVar19 = uVar4;
puVar19 = puVar19 + 1;
if (2 < RTDebugLevel) {
printk("BSSACM[%d]=%d\n",iVar18);
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
iVar18 = iVar18 + 1;
}
}
iVar10 = RTMPGetKeyParameter("AckPolicy",pcVar11,0x20,param_2,1);
if (iVar10 != 0) {
iVar10 = rstrtok(pcVar11,&_LC37) //possible issue identified - semgrep
puVar19 = (undefined1 *)(param_1 + 0x16ab8);
iVar18 = 0;
while (iVar10 != 0) {
uVar4 = simple_strtol(iVar10,0,10);
*puVar19 = uVar4;
puVar19 = puVar19 + 1;
if (2 < RTDebugLevel) {
printk("AckPolicy[%d]=%d\n",iVar18);
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
iVar18 = iVar18 + 1;
}
}
iVar10 = RTMPGetKeyParameter("APSDCapable",pcVar11,10,param_2,1);
if (iVar10 != 0) {
iVar10 = simple_strtol(pcVar11,0,10);
if (iVar10 == 0) {
*(undefined1 *)(param_1 + 0x16a2c) = 0;
}
else {
*(undefined1 *)(param_1 + 0x16a2c) = 1;
}
if (2 < RTDebugLevel) {
printk("APSDCapable=%d\n",*(undefined1 *)(param_1 + 0x16a2c));
}
}
iVar10 = RTMPGetKeyParameter("MaxStaNum",local_84,0x20,param_2,1);
if (iVar10 != 0) {
iVar18 = rstrtok(local_84,&_LC37) //possible issue identified - semgrep
iVar10 = 0;
while ((iVar18 != 0 && (iVar10 < (int)(uint)*(byte *)(param_1 + 0x51aa)))) {
ApCfg_Set_MaxStaNum_Proc(param_1,iVar10,iVar18);
iVar18 = rstrtok(0,&_LC37) //possible issue identified - semgrep
iVar10 = iVar10 + 1;
}
}
iVar10 = RTMPGetKeyParameter("IdleTimeout",local_84,10,param_2,1);
if (iVar10 != 0) {
ApCfg_Set_IdleTimeout_Proc(param_1,local_84);
}
iVar10 = RTMPGetKeyParameter("NoForwarding",local_84,0x20,param_2,1);
if (iVar10 != 0) {
iVar10 = rstrtok(local_84,&_LC37) //possible issue identified - semgrep
puVar20 = (uint *)(param_1 + 0x52e0);
for (iVar18 = 0; (iVar10 != 0 && (iVar18 < (int)(uint)*(byte *)(param_1 + 0x51aa)));
iVar18 = iVar18 + 1) {
iVar10 = simple_strtol(iVar10,0,10);
*puVar20 = (uint)(iVar10 != 0);
if (2 < RTDebugLevel) {
printk("I/F(ra%d) NoForwarding=%ld\n",iVar18,(uint)(iVar10 != 0));
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
puVar20 = puVar20 + 0x450;
}
}
iVar10 = RTMPGetKeyParameter("NoForwardingBTNBSSID",local_84,10,param_2,1);
if (iVar10 != 0) {
iVar10 = simple_strtol(local_84,0,10);
if (iVar10 == 0) {
*(undefined4 *)(param_1 + 0x165ac) = 0;
}
else {
*(undefined4 *)(param_1 + 0x165ac) = 1;
}
if (2 < RTDebugLevel) {
printk("NoForwardingBTNBSSID=%ld\n",*(undefined4 *)(param_1 + 0x165ac));
}
}
iVar10 = RTMPGetKeyParameter("HideSSID",local_84,0x20,param_2,1);
if (iVar10 != 0) {
iVar10 = rstrtok(local_84,&_LC37) //possible issue identified - semgrep
puVar19 = (undefined1 *)(param_1 + 0x5920);
for (iVar18 = 0; (iVar10 != 0 && (iVar18 < (int)(uint)*(byte *)(param_1 + 0x51aa)));
iVar18 = iVar18 + 1) {
iVar10 = simple_strtol(iVar10,0,10);
if (iVar10 == 0) {
*puVar19 = 0;
}
else {
*puVar19 = 1;
}
if (2 < RTDebugLevel) {
printk("I/F(ra%d) HideSSID=%d\n",iVar18,*puVar19);
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
puVar19 = puVar19 + 0x1140;
}
}
iVar10 = RTMPGetKeyParameter("StationKeepAlive",local_84,0x20,param_2,1);
if (iVar10 != 0) {
iVar10 = rstrtok(local_84,&_LC37) //possible issue identified - semgrep
puVar28 = (undefined2 *)(param_1 + 0x5922);
for (iVar18 = 0; (iVar10 != 0 && (iVar18 < (int)(uint)*(byte *)(param_1 + 0x51aa)));
iVar18 = iVar18 + 1) {
uVar9 = simple_strtol(iVar10,0,10);
*puVar28 = uVar9;
puVar28 = puVar28 + 0x8a0;
if (2 < RTDebugLevel) {
printk("I/F(ra%d) StationKeepAliveTime=%d\n",iVar18);
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
}
}
iVar10 = RTMPGetKeyParameter("AutoChannelSelect",local_84,10,param_2,1);
if (iVar10 != 0) {
iVar10 = simple_strtol(local_84,0,10);
if ((iVar10 == 0) || (uVar13 = simple_strtol(local_84,0,10), 2 < uVar13)) {
*(undefined1 *)(param_1 + 0x16614) = 0;
}
else {
*(uint *)(param_1 + 0x16618) = uVar13;
*(undefined1 *)(param_1 + 0x16614) = 1;
}
if (2 < RTDebugLevel) {
printk("AutoChannelAtBootup=%d\n",*(undefined1 *)(param_1 + 0x16614));
}
}
iVar10 = RTMPGetKeyParameter("AutoChannelSkipList",local_84,0x32,param_2,0);
if (iVar10 != 0) {
cVar3 = delimitcnt(local_84,&_LC37);
*(byte *)(param_1 + 0x16626) = cVar3 + 1U;
if (10 < (byte)(cVar3 + 1U)) {
if (2 < RTDebugLevel) {
printk("Your no. of AutoChannelSkipList( %d ) is larger than 10 (boundary)\n");
}
*(undefined1 *)(param_1 + 0x16626) = 10;
}
iVar10 = rstrtok(local_84,&_LC37) //possible issue identified - semgrep
puVar19 = (undefined1 *)(param_1 + 0x16627);
for (iVar18 = 0; (iVar10 != 0 && (iVar18 < (int)(uint)*(byte *)(param_1 + 0x16626)));
iVar18 = iVar18 + 1) {
uVar4 = simple_strtol(iVar10,0,10);
*puVar19 = uVar4;
puVar19 = puVar19 + 1;
if (2 < RTDebugLevel) {
printk(" AutoChannelSkipList[%d]= %d \n",iVar18);
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
}
}
iVar10 = RTMPGetKeyParameter("ShortSlot",local_84,10,param_2,1);
if ((iVar10 != 0) && (RT_CfgSetShortSlot(param_1,local_84), 2 < RTDebugLevel)) {
printk("ShortSlot=%d\n",*(undefined1 *)(param_1 + 0x16a7c));
}
iVar10 = RTMPGetKeyParameter("DebugFlags",local_84,0x20,param_2,1);
if (iVar10 != 0) {
uVar12 = simple_strtol(local_84,0,0x10);
*(undefined4 *)(param_1 + 0x16e7c) = uVar12;
if (2 < RTDebugLevel) {
printk("DebugFlags = 0x%02lx\n");
}
}
iVar10 = RTMPGetKeyParameter("IEEE80211H",local_84,10,param_2,1);
if (iVar10 != 0) {
iVar10 = rstrtok(local_84,&_LC37) //possible issue identified - semgrep
while (iVar10 != 0) {
iVar10 = simple_strtol(iVar10,0,10);
if (iVar10 == 0) {
*(undefined1 *)(param_1 + 0x16a80) = 0;
}
else {
*(undefined1 *)(param_1 + 0x16a80) = 1;
}
if (2 < RTDebugLevel) {
printk("IEEE80211H=%d\n",*(undefined1 *)(param_1 + 0x16a80));
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
}
}
iVar10 = RTMPGetKeyParameter("CSPeriod",local_84,10,param_2,1);
if (iVar10 != 0) {
iVar10 = simple_strtol(local_84,0,10);
if (iVar10 == 0) {
*(undefined1 *)(param_1 + 0x16ac9) = 0;
}
else {
uVar4 = simple_strtol(local_84,0,10);
*(undefined1 *)(param_1 + 0x16ac9) = uVar4;
}
if (2 < RTDebugLevel) {
printk("CSPeriod=%d\n",*(undefined1 *)(param_1 + 0x16ac9));
}
}
iVar10 = RTMPGetKeyParameter("RDRegion",local_84,0x80,param_2,1);
if (iVar10 == 0) {
*(undefined1 *)(param_1 + 0x16ad8) = 0xd;
*(undefined1 *)(param_1 + 0x16acd) = 0;
goto LAB_0004c404;
}
pcVar17 = "JAP_W53";
iVar10 = 7;
pcVar11 = local_84;
while( true ) {
cVar3 = *pcVar11;
cVar1 = *pcVar17;
cVar7 = cVar1;
if (iVar10 == 0) break;
iVar10 = iVar10 + -1;
pcVar11 = pcVar11 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar17 = pcVar17 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
if (cVar7 == cVar1) {
LAB_0004c154:
*(undefined1 *)(param_1 + 0x16ad8) = 0xf;
uVar4 = 3;
LAB_0004c1f8:
*(undefined1 *)(param_1 + 0x16acd) = uVar4;
}
else {
pcVar17 = "jap_w53";
iVar10 = 7;
pcVar11 = local_84;
while( true ) {
cVar3 = *pcVar11;
cVar1 = *pcVar17;
cVar7 = cVar1;
if (iVar10 == 0) break;
iVar10 = iVar10 + -1;
pcVar11 = pcVar11 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar17 = pcVar17 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
if (cVar7 == cVar1) goto LAB_0004c154;
pcVar17 = "JAP_W56";
iVar10 = 7;
pcVar11 = local_84;
while( true ) {
cVar3 = *pcVar11;
cVar1 = *pcVar17;
cVar7 = cVar1;
if (iVar10 == 0) break;
iVar10 = iVar10 + -1;
pcVar11 = pcVar11 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar17 = pcVar17 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
if (cVar7 == cVar1) {
LAB_0004c1e8:
*(undefined1 *)(param_1 + 0x16ad8) = 0xd;
uVar4 = 4;
goto LAB_0004c1f8;
}
pcVar17 = "jap_w56";
iVar10 = 7;
pcVar11 = local_84;
while( true ) {
cVar3 = *pcVar11;
cVar1 = *pcVar17;
cVar7 = cVar1;
if (iVar10 == 0) break;
iVar10 = iVar10 + -1;
pcVar11 = pcVar11 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar17 = pcVar17 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
if (cVar7 == cVar1) goto LAB_0004c1e8;
pcVar17 = "JAP";
iVar10 = 3;
pcVar11 = local_84;
while( true ) {
cVar3 = *pcVar11;
cVar1 = *pcVar17;
cVar7 = cVar1;
if (iVar10 == 0) break;
iVar10 = iVar10 + -1;
pcVar11 = pcVar11 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar17 = pcVar17 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
if (cVar7 == cVar1) {
LAB_0004c284:
*(undefined1 *)(param_1 + 0x16ad8) = 5;
uVar4 = 2;
goto LAB_0004c1f8;
}
pcVar17 = "jap";
iVar10 = 3;
pcVar11 = local_84;
while( true ) {
cVar3 = *pcVar11;
cVar1 = *pcVar17;
cVar7 = cVar1;
if (iVar10 == 0) break;
iVar10 = iVar10 + -1;
pcVar11 = pcVar11 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar17 = pcVar17 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
if (cVar7 == cVar1) goto LAB_0004c284;
pcVar17 = "FCC";
iVar10 = 3;
pcVar11 = local_84;
while( true ) {
cVar3 = *pcVar11;
cVar1 = *pcVar17;
cVar7 = cVar1;
if (iVar10 == 0) break;
iVar10 = iVar10 + -1;
pcVar11 = pcVar11 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar17 = pcVar17 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
if (cVar7 == cVar1) {
LAB_0004c318:
*(undefined1 *)(param_1 + 0x16ad8) = 5;
uVar4 = 1;
goto LAB_0004c1f8;
}
pcVar17 = "fcc";
iVar10 = 3;
pcVar11 = local_84;
while( true ) {
cVar3 = *pcVar11;
cVar1 = *pcVar17;
cVar7 = cVar1;
if (iVar10 == 0) break;
iVar10 = iVar10 + -1;
pcVar11 = pcVar11 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar17 = pcVar17 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
if (cVar7 == cVar1) goto LAB_0004c318;
pcVar17 = "CE";
iVar10 = 2;
pcVar11 = local_84;
while( true ) {
cVar3 = *pcVar11;
cVar1 = *pcVar17;
cVar7 = cVar1;
if (iVar10 == 0) break;
iVar10 = iVar10 + -1;
pcVar11 = pcVar11 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar17 = pcVar17 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
if (cVar7 != cVar1) {
pcVar17 = "ce";
iVar10 = 2;
pcVar11 = local_84;
while( true ) {
cVar3 = *pcVar11;
if (iVar10 == 0) break;
iVar10 = iVar10 + -1;
pcVar11 = pcVar11 + 1;
if ((*pcVar17 != cVar3) || (pcVar17 = pcVar17 + 1, cVar3 == '\0')) break;
}
}
*(undefined1 *)(param_1 + 0x16ad8) = 0xd;
*(undefined1 *)(param_1 + 0x16acd) = 0;
}
if (2 < RTDebugLevel) {
printk("RDRegion=%d\n",*(undefined1 *)(param_1 + 0x16acd));
}
LAB_0004c404:
iVar10 = RTMPGetKeyParameter("WirelessEvent",local_84,10,param_2,1);
if (iVar10 != 0) {
iVar10 = simple_strtol(local_84,0,10);
RtmpOsWlanEventSet(param_1,param_1 + 0x16e11,iVar10 != 0);
if (2 < RTDebugLevel) {
printk("WirelessEvent=%d\n",*(undefined1 *)(param_1 + 0x16e11));
}
}
iVar10 = RTMPGetKeyParameter("AuthMode",local_84,0x80,param_2,1);
if (iVar10 != 0) {
iVar18 = rstrtok(local_84,&_LC37) //possible issue identified - semgrep
iVar10 = 0;
while ((iVar18 != 0 && (iVar10 < (int)(uint)*(byte *)(param_1 + 0x51aa)))) {
ApCfg_Set_AuthMode_Proc(param_1,iVar10,iVar18);
iVar18 = rstrtok(0,&_LC37) //possible issue identified - semgrep
iVar10 = iVar10 + 1;
}
}
iVar10 = RTMPGetKeyParameter("EncrypType",local_84,0x80,param_2,1);
if (iVar10 != 0) {
piVar21 = (int *)(param_1 + 0x51e0);
iVar10 = 0;
piVar23 = piVar21;
while (bVar25 = iVar10 < (int)(uint)*(byte *)(param_1 + 0x51aa), iVar10 = iVar10 + 1, bVar25) {
*piVar23 = 1;
piVar23 = piVar23 + 0x450;
}
pcVar11 = (char *)rstrtok(local_84,&_LC37) //possible issue identified - semgrep
for (iVar10 = 0; (pcVar11 != (char *)0x0 && (iVar10 < (int)(uint)*(byte *)(param_1 + 0x51aa)));
iVar10 = iVar10 + 1) {
pcVar16 = "NONE";
iVar18 = 4;
pcVar17 = pcVar11;
while( true ) {
cVar3 = *pcVar17;
cVar1 = *pcVar16;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
pcVar17 = pcVar17 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar16 = pcVar16 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
iVar18 = 1;
if (cVar7 == cVar1) {
LAB_0004c874:
*piVar21 = iVar18;
}
else {
pcVar16 = "none";
iVar18 = 4;
pcVar17 = pcVar11;
while( true ) {
cVar3 = *pcVar17;
cVar1 = *pcVar16;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
pcVar17 = pcVar17 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar16 = pcVar16 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
iVar18 = 1;
if (cVar7 == cVar1) goto LAB_0004c874;
pcVar16 = "WEP";
iVar18 = 3;
pcVar17 = pcVar11;
while( true ) {
cVar3 = *pcVar17;
cVar1 = *pcVar16;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
pcVar17 = pcVar17 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar16 = pcVar16 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
if (cVar7 == cVar1) {
*piVar21 = 0;
}
else {
iVar18 = 3;
pcVar16 = "wep";
pcVar17 = pcVar11;
while( true ) {
cVar3 = *pcVar17;
cVar1 = *pcVar16;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
pcVar17 = pcVar17 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar16 = pcVar16 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
if (cVar7 != cVar1) {
pcVar16 = "TKIPAES";
iVar18 = 7;
pcVar17 = pcVar11;
while( true ) {
cVar3 = *pcVar17;
cVar1 = *pcVar16;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
pcVar17 = pcVar17 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar16 = pcVar16 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
iVar18 = 8;
if (cVar7 != cVar1) {
iVar18 = 7;
pcVar17 = "tkipaes";
pcVar16 = pcVar11;
while( true ) {
cVar3 = *pcVar16;
cVar1 = *pcVar17;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
pcVar16 = pcVar16 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar17 = pcVar17 + 1, cVar7 = cVar1, cVar3 == '\0'))
break;
}
if (cVar7 == cVar1) {
iVar18 = 8;
}
else {
iVar18 = 4;
pcVar17 = "TKIP";
pcVar16 = pcVar11;
while( true ) {
cVar3 = *pcVar16;
cVar1 = *pcVar17;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
pcVar16 = pcVar16 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar17 = pcVar17 + 1, cVar7 = cVar1, cVar3 == '\0'))
break;
}
iVar18 = 4;
if (cVar7 != cVar1) {
iVar18 = 4;
pcVar17 = "tkip";
pcVar16 = pcVar11;
while( true ) {
cVar3 = *pcVar16;
cVar1 = *pcVar17;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
pcVar16 = pcVar16 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar17 = pcVar17 + 1, cVar7 = cVar1, cVar3 == '\0'))
break;
}
if (cVar7 == cVar1) {
iVar18 = 4;
}
else {
iVar18 = 3;
pcVar17 = "AES";
pcVar16 = pcVar11;
while( true ) {
cVar3 = *pcVar16;
cVar1 = *pcVar17;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
pcVar16 = pcVar16 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar17 = pcVar17 + 1, cVar7 = cVar1, cVar3 == '\0'))
break;
}
iVar18 = 6;
if (cVar7 != cVar1) {
iVar18 = 3;
pcVar17 = "aes";
while( true ) {
cVar3 = *pcVar11;
cVar1 = *pcVar17;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
pcVar11 = pcVar11 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) ||
(pcVar17 = pcVar17 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
if (cVar7 == cVar1) {
iVar18 = 6;
}
else {
iVar18 = 1;
}
}
}
}
}
}
goto LAB_0004c874;
}
*piVar21 = 0;
}
}
if (*piVar21 == 8) {
piVar21[1] = 4;
}
else {
piVar21[1] = *piVar21;
}
if (2 < RTDebugLevel) {
printk("I/F(ra%d) EncrypType=%d\n",iVar10,*piVar21);
}
pcVar11 = (char *)rstrtok(0,&_LC37) //possible issue identified - semgrep
piVar21 = piVar21 + 0x450;
}
}
iVar10 = RTMPGetKeyParameter("WpaMixPairCipher",local_84,0x100,param_2,1);
if (iVar10 != 0) {
pcVar11 = (char *)rstrtok(local_84,&_LC37) //possible issue identified - semgrep
puVar22 = (undefined4 *)(param_1 + 0x51e8);
iVar10 = 0;
while (pcVar11 != (char *)0x0) {
if ((puVar22[-3] - 8 < 2) && (puVar22[-2] == 8)) {
pcVar16 = "WPA_AES_WPA2_TKIPAES";
iVar18 = 0x14;
pcVar17 = pcVar11;
while( true ) {
cVar3 = *pcVar17;
cVar1 = *pcVar16;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
pcVar17 = pcVar17 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar16 = pcVar16 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
uVar12 = 7;
if (cVar7 != cVar1) {
iVar18 = 0x14;
pcVar16 = "wpa_aes_wpa2_tkipaes";
pcVar17 = pcVar11;
while( true ) {
cVar3 = *pcVar17;
cVar1 = *pcVar16;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
pcVar17 = pcVar17 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar16 = pcVar16 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
if (cVar7 == cVar1) {
uVar12 = 7;
}
else {
pcVar16 = "WPA_AES_WPA2_TKIP";
iVar18 = 0x11;
pcVar17 = pcVar11;
while( true ) {
cVar3 = *pcVar17;
cVar1 = *pcVar16;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
pcVar17 = pcVar17 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar16 = pcVar16 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
uVar12 = 6;
if (cVar7 != cVar1) {
iVar18 = 0x11;
pcVar17 = "wpa_aes_wpa2_tkip";
pcVar16 = pcVar11;
while( true ) {
cVar3 = *pcVar16;
cVar1 = *pcVar17;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
pcVar16 = pcVar16 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar17 = pcVar17 + 1, cVar7 = cVar1, cVar3 == '\0'))
break;
}
if (cVar7 == cVar1) {
uVar12 = 6;
}
else {
pcVar16 = "WPA_TKIP_WPA2_AES";
iVar18 = 0x11;
pcVar17 = pcVar11;
while( true ) {
cVar3 = *pcVar17;
cVar1 = *pcVar16;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
pcVar17 = pcVar17 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar16 = pcVar16 + 1, cVar7 = cVar1, cVar3 == '\0'))
break;
}
uVar12 = 9;
if (cVar7 != cVar1) {
iVar18 = 0x11;
pcVar17 = "wpa_tkip_wpa2_aes";
pcVar16 = pcVar11;
while( true ) {
cVar3 = *pcVar16;
cVar1 = *pcVar17;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
pcVar16 = pcVar16 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) || (pcVar17 = pcVar17 + 1, cVar7 = cVar1, cVar3 == '\0'))
break;
}
iVar18 = 0x15;
pcVar17 = "WPA_TKIP_WPA2_TKIPAES";
pcVar16 = pcVar11;
if (cVar7 == cVar1) {
uVar12 = 9;
}
else {
while( true ) {
cVar3 = *pcVar16;
cVar1 = *pcVar17;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
cVar7 = cVar3;
if ((cVar1 != cVar3) ||
(pcVar17 = pcVar17 + 1, pcVar16 = pcVar16 + 1, cVar7 = cVar1, cVar3 == '\0'
)) break;
}
uVar12 = 0xb;
if (cVar7 != cVar1) {
iVar18 = 0x15;
pcVar17 = "wpa_tkip_wpa2_tkipaes";
pcVar16 = pcVar11;
while( true ) {
cVar3 = *pcVar16;
cVar1 = *pcVar17;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
pcVar16 = pcVar16 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) ||
(pcVar17 = pcVar17 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
if (cVar7 == cVar1) {
uVar12 = 0xb;
}
else {
iVar18 = 0x14;
pcVar17 = "WPA_TKIPAES_WPA2_AES";
pcVar16 = pcVar11;
while( true ) {
cVar3 = *pcVar16;
cVar1 = *pcVar17;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
pcVar16 = pcVar16 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) ||
(pcVar17 = pcVar17 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
uVar12 = 0xd;
if (cVar7 != cVar1) {
pcVar16 = "wpa_tkipaes_wpa2_aes";
iVar18 = 0x14;
pcVar17 = pcVar11;
while( true ) {
cVar3 = *pcVar17;
cVar1 = *pcVar16;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
pcVar17 = pcVar17 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) ||
(pcVar16 = pcVar16 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
if (cVar7 == cVar1) {
uVar12 = 0xd;
}
else {
pcVar16 = "WPA_TKIPAES_WPA2_TKIPAES";
iVar18 = 0x18;
pcVar17 = pcVar11;
while( true ) {
cVar3 = *pcVar17;
cVar1 = *pcVar16;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
pcVar17 = pcVar17 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) ||
(pcVar16 = pcVar16 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
uVar12 = 0xf;
if (cVar7 != cVar1) {
pcVar16 = "wpa_tkipaes_wpa2_tkipaes";
iVar18 = 0x18;
pcVar17 = pcVar11;
while( true ) {
cVar3 = *pcVar17;
cVar1 = *pcVar16;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
pcVar17 = pcVar17 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) ||
(pcVar16 = pcVar16 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
uVar12 = 0xf;
if (cVar7 != cVar1) {
pcVar16 = "WPA_TKIPAES_WPA2_TKIP";
iVar18 = 0x15;
pcVar17 = pcVar11;
while( true ) {
cVar3 = *pcVar17;
cVar1 = *pcVar16;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
pcVar17 = pcVar17 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) ||
(pcVar16 = pcVar16 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
uVar12 = 0xe;
if (cVar7 != cVar1) {
pcVar17 = "wpa_tkipaes_wpa2_tkip";
iVar18 = 0x15;
while( true ) {
cVar3 = *pcVar11;
cVar1 = *pcVar17;
cVar7 = cVar1;
if (iVar18 == 0) break;
iVar18 = iVar18 + -1;
pcVar11 = pcVar11 + 1;
cVar7 = cVar3;
if ((cVar1 != cVar3) ||
(pcVar17 = pcVar17 + 1, cVar7 = cVar1, cVar3 == '\0')) break;
}
if (cVar7 == cVar1) {
uVar12 = 0xe;
}
else {
uVar12 = 0xf;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
*puVar22 = uVar12;
printk("I/F(ra%d) MixWPACipher=0x%02x\n",iVar10,*puVar22);
}
pcVar11 = (char *)rstrtok(0,&_LC37) //possible issue identified - semgrep
iVar10 = iVar10 + 1;
puVar22 = puVar22 + 0x450;
}
}
iVar10 = RTMPGetKeyParameter("RekeyMethod",local_84,0x80,param_2,1);
if (iVar10 != 0) {
pcVar11 = (char *)rstrtok(local_84,&_LC37) //possible issue identified - semgrep
puVar22 = (undefined4 *)(param_1 + 0x54e4);
iVar10 = 0;
while (pcVar11 != (char *)0x0) {
pcVar16 = "TIME";
cVar3 = *pcVar11;
pcVar17 = pcVar11;
do {
cVar1 = *pcVar16;
pcVar17 = pcVar17 + 1;
pcVar16 = pcVar16 + 1;
cVar7 = cVar3;
if (cVar1 != cVar3) break;
bVar25 = cVar3 != '\0';
cVar3 = *pcVar17;
cVar7 = cVar1;
} while (bVar25);
if (cVar7 == cVar1) {
*puVar22 = 0;
}
else {
pcVar16 = "time";
cVar3 = *pcVar11;
pcVar17 = pcVar11;
do {
cVar1 = *pcVar16;
pcVar17 = pcVar17 + 1;
pcVar16 = pcVar16 + 1;
cVar7 = cVar3;
if (cVar1 != cVar3) break;
bVar25 = cVar3 != '\0';
cVar3 = *pcVar17;
cVar7 = cVar1;
} while (bVar25);
if (cVar7 == cVar1) {
*puVar22 = 0;
}
else {
pcVar16 = "PKT";
cVar3 = *pcVar11;
pcVar17 = pcVar11;
do {
cVar1 = *pcVar16;
pcVar17 = pcVar17 + 1;
pcVar16 = pcVar16 + 1;
cVar7 = cVar3;
if (cVar1 != cVar3) break;
bVar25 = cVar3 != '\0';
cVar3 = *pcVar17;
cVar7 = cVar1;
} while (bVar25);
uVar12 = 1;
if (cVar7 != cVar1) {
pcVar16 = "pkt";
cVar3 = *pcVar11;
pcVar17 = pcVar11;
do {
cVar1 = *pcVar16;
pcVar17 = pcVar17 + 1;
pcVar16 = pcVar16 + 1;
cVar7 = cVar3;
if (cVar1 != cVar3) break;
bVar25 = cVar3 != '\0';
cVar3 = *pcVar17;
cVar7 = cVar1;
} while (bVar25);
if (cVar7 == cVar1) {
uVar12 = 1;
}
else {
pcVar16 = "DISABLE";
cVar3 = *pcVar11;
pcVar17 = pcVar11;
do {
cVar1 = *pcVar16;
pcVar17 = pcVar17 + 1;
pcVar16 = pcVar16 + 1;
cVar7 = cVar3;
if (cVar1 != cVar3) break;
bVar25 = cVar3 != '\0';
cVar3 = *pcVar17;
cVar7 = cVar1;
} while (bVar25);
uVar12 = 2;
if (cVar7 != cVar1) {
cVar3 = *pcVar11;
pcVar17 = "disable";
do {
cVar1 = *pcVar17;
pcVar11 = pcVar11 + 1;
pcVar17 = pcVar17 + 1;
if (cVar1 != cVar3) break;
bVar25 = cVar3 != '\0';
cVar3 = *pcVar11;
} while (bVar25);
uVar12 = 2;
}
}
}
*puVar22 = uVar12;
}
}
if (2 < RTDebugLevel) {
printk("I/F(ra%d) ReKeyMethod=%ld\n",iVar10,*puVar22);
}
pcVar11 = (char *)rstrtok(0,&_LC37) //possible issue identified - semgrep
iVar10 = iVar10 + 1;
puVar22 = puVar22 + 0x450;
}
if (iVar10 == 1) {
puVar22 = (undefined4 *)(param_1 + 0x6624);
for (iVar10 = 1; iVar10 < (int)(uint)*(byte *)(param_1 + 0x51aa); iVar10 = iVar10 + 1) {
*puVar22 = *(undefined4 *)(param_1 + 0x54e4);
puVar22 = puVar22 + 0x450;
if (2 < RTDebugLevel) {
printk("I/F(ra%d) ReKeyMethod=%ld\n",iVar10);
}
}
}
}
iVar10 = RTMPGetKeyParameter("RekeyInterval",local_84,0xff,param_2,1);
if (iVar10 != 0) {
iVar10 = rstrtok(local_84,&_LC37) //possible issue identified - semgrep
piVar23 = (int *)(param_1 + 0x54e8);
iVar18 = 0;
while (iVar10 != 0) {
iVar10 = simple_strtol(iVar10,0,10);
if (0x3fffff4 < iVar10 - 10U) {
iVar10 = 0xe10;
}
*piVar23 = iVar10;
if (2 < RTDebugLevel) {
printk("I/F(ra%d) ReKeyInterval=%ld\n",iVar18,*piVar23);
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
iVar18 = iVar18 + 1;
piVar23 = piVar23 + 0x450;
}
if (iVar18 == 1) {
puVar22 = (undefined4 *)(param_1 + 0x6628);
for (iVar10 = 1; iVar10 < (int)(uint)*(byte *)(param_1 + 0x51aa); iVar10 = iVar10 + 1) {
*puVar22 = *(undefined4 *)(param_1 + 0x54e8);
puVar22 = puVar22 + 0x450;
if (2 < RTDebugLevel) {
printk("I/F(ra%d) ReKeyInterval=%ld\n",iVar10);
}
}
}
}
iVar10 = RTMPGetKeyParameter("PMKCachePeriod",local_84,0xff,param_2,1);
if (iVar10 != 0) {
iVar10 = rstrtok(local_84,&_LC37) //possible issue identified - semgrep
piVar23 = (int *)(param_1 + 0x551c);
iVar18 = 0;
while (iVar10 != 0) {
iVar10 = simple_strtol(iVar10,0,10);
*piVar23 = iVar10 * 15000;
piVar23 = piVar23 + 0x450;
if (2 < RTDebugLevel) {
printk("I/F(ra%d) PMKCachePeriod=%ld\n",iVar18);
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
iVar18 = iVar18 + 1;
}
if (iVar18 == 1) {
puVar22 = (undefined4 *)(param_1 + 0x665c);
for (iVar10 = 1; iVar10 < (int)(uint)*(byte *)(param_1 + 0x51aa); iVar10 = iVar10 + 1) {
*puVar22 = *(undefined4 *)(param_1 + 0x551c);
puVar22 = puVar22 + 0x450;
if (2 < RTDebugLevel) {
printk("I/F(ra%d) PMKCachePeriod=%ld\n",iVar10);
}
}
}
}
if (2 < RTDebugLevel) {
printk("pAd->ApCfg.BssidNum=%d\n",*(undefined1 *)(param_1 + 0x51aa));
}
bVar25 = false;
iVar10 = 0;
while (iVar18 = iVar10, iVar10 = iVar18 + 1, iVar18 < (int)(uint)*(byte *)(param_1 + 0x51aa)) {
snprintf(&local_7c,0x10,"WPAPSK%d",iVar10) //possible issue identified - semgrep
iVar30 = RTMPGetKeyParameter(&local_7c,local_84,0x41,param_2,0);
if (iVar30 != 0) {
rtmp_parse_wpapsk_buffer_from_file(param_1,local_84,iVar18);
bVar25 = true;
}
}
if ((!bVar25) && (iVar10 = RTMPGetKeyParameter("WPAPSK",local_84,0x200,param_2,0), iVar10 != 0)) {
if (*(char *)(param_1 + 0x51aa) == '\x01') {
rtmp_parse_wpapsk_buffer_from_file(param_1,local_84,0);
}
else {
iVar18 = rstrtok(local_84,&_LC37) //possible issue identified - semgrep
iVar10 = 0;
while (iVar18 != 0) {
rtmp_parse_wpapsk_buffer_from_file(param_1,iVar18,iVar10);
iVar18 = rstrtok(0,&_LC37) //possible issue identified - semgrep
iVar10 = iVar10 + 1;
}
}
}
iVar10 = 0;
while (pcVar11 = local_84, iVar10 < (int)(uint)*(byte *)(param_1 + 0x51aa)) {
if (2 < RTDebugLevel) {
printk("I/F(ra%d) WPAPSK Key => \n",iVar10);
}
uVar13 = 0;
puVar19 = (undefined1 *)(iVar10 * 0x1140 + param_1 + 0x5275);
do {
if (2 < RTDebugLevel) {
printk("%02x:",*puVar19);
}
uVar14 = uVar13 & 0xf;
puVar19 = puVar19 + 1;
uVar13 = uVar13 + 1;
if ((uVar14 == 0xf) && (2 < RTDebugLevel)) {
printk(&_LC4) //possible issue identified - semgrep
}
} while (uVar13 != 0x20);
if (RTDebugLevel < 3) {
iVar10 = iVar10 + 1;
}
else {
printk(&_LC4) //possible issue identified - semgrep
iVar10 = iVar10 + 1;
}
}
memset(local_6c,0,0x40) //possible issue identified - semgrep
iVar10 = RTMPGetKeyParameter("DefaultKeyID",pcVar11,0x19,param_2,1);
if (iVar10 == 0) {
iVar10 = 0;
}
else {
iVar10 = rstrtok(pcVar11,&_LC37) //possible issue identified - semgrep
puVar19 = (undefined1 *)(param_1 + 0x5240);
iVar18 = 0;
while (iVar10 != 0) {
if ((int)(uint)*(byte *)(param_1 + 0x51aa) <= iVar18) {
iVar10 = 0;
goto LAB_0004d59c;
}
iVar10 = simple_strtol(iVar10,0,10);
if (iVar10 - 1U < 4) {
*puVar19 = (char)(iVar10 - 1U);
}
else {
*puVar19 = 0;
}
if (2 < RTDebugLevel) {
printk("I/F(ra%d) DefaultKeyID(0~3)=%d\n",iVar18,*puVar19);
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
iVar18 = iVar18 + 1;
puVar19 = puVar19 + 0x1140;
}
iVar10 = 0;
}
LAB_0004d59c:
do {
iVar30 = iVar10 + 1;
snprintf(&local_7c,0x10,"Key%dType",iVar30) //possible issue identified - semgrep
iVar18 = RTMPGetKeyParameter(&local_7c,pcVar11,0x80,param_2,1);
if (iVar18 != 0) {
iVar18 = rstrtok(pcVar11,&_LC37) //possible issue identified - semgrep
iVar24 = 0;
while (iVar18 != 0) {
if (iVar24 == 0) {
local_6c[0] = simple_strtol(iVar18,0,10);
}
iVar18 = rstrtok(0,&_LC37) //possible issue identified - semgrep
iVar24 = iVar24 + 1;
}
if (2 < RTDebugLevel) {
printk("pAd->ApCfg.BssidNum=%d\n",*(undefined1 *)(param_1 + 0x51aa));
}
piVar21 = local_6c;
bVar25 = false;
iVar18 = 0;
piVar23 = piVar21;
while( true ) {
if ((int)(uint)*(byte *)(param_1 + 0x51aa) <= iVar18) break;
snprintf(&local_7c,0x10,"Key%dStr%d",iVar30,iVar18 + 1) //possible issue identified - semgrep
iVar24 = RTMPGetKeyParameter(&local_7c,pcVar11,0x80,param_2,0);
if (iVar24 != 0) {
rtmp_parse_key_buffer_from_file(param_1,pcVar11,*piVar23,iVar18,iVar10);
bVar25 = true;
}
piVar23 = piVar23 + 1;
iVar18 = iVar18 + 1;
}
if (!bVar25) {
snprintf(&local_7c,0x10,"Key%dStr",iVar30) //possible issue identified - semgrep
iVar18 = RTMPGetKeyParameter(&local_7c,pcVar11,0x80,param_2,0);
if (iVar18 != 0) {
if (*(char *)(param_1 + 0x51aa) == '\x01') {
rtmp_parse_key_buffer_from_file(param_1,pcVar11,local_6c[0],0,iVar10);
}
else {
iVar24 = rstrtok(pcVar11,&_LC37) //possible issue identified - semgrep
iVar18 = 0;
while (iVar24 != 0) {
rtmp_parse_key_buffer_from_file(param_1,iVar24,*piVar21,iVar18,iVar10);
iVar24 = rstrtok(0,&_LC37) //possible issue identified - semgrep
piVar21 = piVar21 + 1;
iVar18 = iVar18 + 1;
}
}
}
}
}
pcVar17 = local_84;
iVar10 = iVar30;
} while (iVar30 != 4);
memset(&local_7c,0,6) //possible issue identified - semgrep
memset((void *)(param_1 + 0x5928),0,0x208) //possible issue identified - semgrep
snprintf((char *)local_6c,0x20,"AccessPolicy%d",0) //possible issue identified - semgrep
iVar10 = RTMPGetKeyParameter(local_6c,pcVar17,10,param_2,1);
if (iVar10 != 0) {
iVar10 = simple_strtol(pcVar17,0,10);
if (iVar10 == 1) {
*(undefined4 *)(param_1 + 0x5928) = 1;
}
else {
if (iVar10 != 2) {
iVar10 = 0;
}
*(int *)(param_1 + 0x5928) = iVar10;
}
if (2 < RTDebugLevel) {
printk("%s=%ld\n",local_6c,*(undefined4 *)(param_1 + 0x5928));
}
}
snprintf((char *)local_6c,0x20,"AccessControlList%d",0) //possible issue identified - semgrep
iVar10 = RTMPGetKeyParameter(local_6c,pcVar17,0x800,param_2,1);
if (iVar10 != 0) {
pcVar11 = (char *)rstrtok(pcVar17,&_LC37) //possible issue identified - semgrep
while (pcVar11 != (char *)0x0) {
sVar15 = strlen(pcVar11);
if (sVar15 == 0x11) {
pcVar17 = &local_7c;
if (0x40 < *(uint *)(param_1 + 0x592c)) {
printk("<4>/home/eric/release/dir600b5/progs.priv/rt2860v2/build/rt2860v2_ap/../rt2860v2/common/cmm_profile.c:%d assert pAd->ApCfg.MBSSID[idx].AccessControlList.Num <= MAX_NUM_OF_ACL_LISTfailed\n"
,0x41c);
}
do {
pcVar16 = pcVar17 + 1;
AtoH(pcVar11,pcVar17,1);
pcVar11 = pcVar11 + 3;
pcVar17 = pcVar16;
} while (pcVar16 != acStack_76);
iVar10 = *(int *)(param_1 + 0x592c);
if (iVar10 == 0x40) {
if (1 < RTDebugLevel) {
printk("The AccessControlList is full, and no more entry can join the list!\n");
}
if (1 < RTDebugLevel) {
printk("The last entry of ACL is %02x:%02x:%02x:%02x:%02x:%02x\n",local_7c,local_7b,
local_7a,local_79,local_78,local_77);
}
break;
}
*(int *)(param_1 + 0x592c) = iVar10 + 1;
memmove((void *)(param_1 + (iVar10 + 0xb25) * 8 + 8),&local_7c,6) //possible issue identified - semgrep
}
pcVar11 = (char *)rstrtok(0,&_LC37) //possible issue identified - semgrep
}
if (2 < RTDebugLevel) {
printk("%s=Get %ld Mac Address\n",local_6c,*(undefined4 *)(param_1 + 0x592c));
}
}
pcVar11 = local_84;
iVar10 = RTMPGetKeyParameter("own_ip_addr",local_84,0x20,param_2,1);
if (iVar10 != 0) {
Set_OwnIPAddr_Proc(param_1,pcVar11);
}
iVar10 = RTMPGetKeyParameter("session_timeout_interval",pcVar11,0x20,param_2,1);
if (iVar10 != 0) {
uVar12 = simple_strtol(pcVar11,0,10);
*(undefined4 *)(param_1 + 0x1664c) = uVar12;
if (2 < RTDebugLevel) {
printk("session_timeout_interval=%d\n");
}
}
iVar10 = RTMPGetKeyParameter("quiet_interval",pcVar11,0x20,param_2,1);
if (iVar10 != 0) {
uVar12 = simple_strtol(pcVar11,0,10);
*(undefined4 *)(param_1 + 0x16650) = uVar12;
if (2 < RTDebugLevel) {
printk("quiet_interval=%d\n");
}
}
iVar10 = RTMPGetKeyParameter("EAPifname",pcVar11,0x100,param_2,1);
if (iVar10 != 0) {
Set_EAPIfName_Proc(param_1,pcVar11);
}
iVar10 = RTMPGetKeyParameter("PreAuthifname",pcVar11,0x100,param_2,1);
if (iVar10 != 0) {
Set_PreAuthIfName_Proc(param_1,pcVar11);
}
iVar10 = RTMPGetKeyParameter("PreAuth",pcVar11,10,param_2,1);
if (iVar10 != 0) {
iVar10 = rstrtok(pcVar11,&_LC37) //possible issue identified - semgrep
puVar19 = (undefined1 *)(param_1 + 0x52b6);
for (iVar18 = 0; (iVar10 != 0 && (iVar18 < (int)(uint)*(byte *)(param_1 + 0x51aa)));
iVar18 = iVar18 + 1) {
iVar10 = simple_strtol(iVar10,0,10);
if (iVar10 == 0) {
*puVar19 = 0;
}
else {
*puVar19 = 1;
}
if (2 < RTDebugLevel) {
printk("I/F(ra%d) PreAuth=%d\n",iVar18,*puVar19);
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
puVar19 = puVar19 + 0x1140;
}
}
iVar10 = RTMPGetKeyParameter("IEEE8021X",pcVar11,10,param_2,1);
if (iVar10 != 0) {
iVar10 = rstrtok(pcVar11,&_LC37) //possible issue identified - semgrep
puVar19 = (undefined1 *)(param_1 + 0x52b5);
for (iVar18 = 0; (iVar10 != 0 && (iVar18 < (int)(uint)*(byte *)(param_1 + 0x51aa)));
iVar18 = iVar18 + 1) {
iVar10 = simple_strtol(iVar10,0,10);
if (iVar10 == 0) {
*puVar19 = 0;
}
else {
*puVar19 = 1;
}
if (2 < RTDebugLevel) {
printk("IF(ra%d), IEEE8021X=%d\n",iVar18,*puVar19);
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
puVar19 = puVar19 + 0x1140;
}
}
local_88[0] = 0;
while (iVar10 = RTMPGetKeyParameterWithOffset("RADIUS_Server",pcVar11,local_88,0x100,param_2,1),
iVar10 != 0) {
iVar10 = rstrtok(pcVar11,&_LC37) //possible issue identified - semgrep
bVar25 = false;
while ((iVar10 != 0 && (!bVar25))) {
iVar18 = rtinet_aton(iVar10,&local_80);
if ((iVar18 != 0) && (*(byte *)(param_1 + 0x5b33) < 2)) {
iVar18 = (uint)*(byte *)(param_1 + 0x5b33) * 0x49 + param_1;
*(undefined4 *)(iVar18 + 0x5b34) = local_80;
cVar3 = *(char *)(param_1 + 0x5b33) //possible issue identified - semgrep
*(char *)(param_1 + 0x5b33) = cVar3 + '\x01';
if (2 < RTDebugLevel) {
printk("IF(ra%d), radius_ip(seq-%d)=%s(%x)\n",0,cVar3 + '\x01',iVar10,
*(undefined4 *)(iVar18 + 0x5b34));
}
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
bVar25 = true;
}
}
local_88[0] = 0;
memset(local_6c,0,0x40) //possible issue identified - semgrep
while (iVar10 = RTMPGetKeyParameterWithOffset("RADIUS_Port",pcVar11,local_88,0x80,param_2,1),
iVar10 != 0) {
iVar10 = rstrtok(pcVar11,&_LC37) //possible issue identified - semgrep
bVar25 = false;
while ((iVar18 = local_6c[0], iVar10 != 0 && (!bVar25))) {
if (local_6c[0] < (int)(uint)*(byte *)(param_1 + 0x5b33)) {
uVar12 = simple_strtol(iVar10,0,10);
iVar10 = iVar18 * 0x49 + param_1;
*(undefined4 *)(iVar10 + 0x5b38) = uVar12;
local_6c[0] = local_6c[0] + 1;
if (2 < RTDebugLevel) {
printk("IF(ra%d), radius_port(seq-%d)=%d\n",0,local_6c[0],*(undefined4 *)(iVar10 + 0x5b38)
);
}
}
iVar10 = rstrtok(0,&_LC37) //possible issue identified - semgrep
bVar25 = true;
}
}
local_88[0] = 0;
memset(local_6c,0,0x40) //possible issue identified - semgrep
bVar25 = false;
while( true ) {
iVar10 = RTMPGetKeyParameterWithOffset("RADIUS_Key",pcVar11,local_88,0x280,param_2,0);
puVar19 = (undefined1 *)(param_1 + 0x5bd6);
if (iVar10 == 0) break;
sVar15 = strlen(pcVar11);
if (sVar15 != 0) {
bVar25 = true;
}
pcVar17 = (char *)rstrtok(pcVar11,&_LC37) //possible issue identified - semgrep
bVar2 = false;
while ((pcVar17 != (char *)0x0 && (!bVar2))) {
sVar15 = strlen(pcVar17);
iVar10 = local_6c[0];
if ((sVar15 != 0) && (local_6c[0] < (int)(uint)*(byte *)(param_1 + 0x5b33))) {
sVar15 = strlen(pcVar17);
iVar10 = param_1 + iVar10 * 0x49;
*(char *)(iVar10 + 0x5b7c) = (char)sVar15;
sVar15 = strlen(pcVar17);
memmove((void *)(iVar10 + 0x5b3c),pcVar17,sVar15) //possible issue identified - semgrep
local_6c[0] = local_6c[0] + 1;
if (2 < RTDebugLevel) {
printk("IF(ra%d), radius_key(seq-%d)=%s, len=%d\n",0,local_6c[0],(void *)(iVar10 + 0x5b3c)
,*(undefined1 *)(iVar10 + 0x5b7c));
}
}
pcVar17 = (char *)rstrtok(0,&_LC37) //possible issue identified - semgrep
bVar2 = true;
}
}
iVar10 = 0;
while (iVar10 < (int)(uint)*(byte *)(param_1 + 0x51aa)) {
snprintf(&local_7c,0x10,"NasId%d",iVar10 + 1) //possible issue identified - semgrep
iVar18 = RTMPGetKeyParameter(&local_7c,pcVar11,0x21,param_2,0);
if ((iVar18 != 0) && (sVar15 = strlen(pcVar11), sVar15 != 0)) {
sVar15 = strlen(pcVar11);
*puVar19 = (char)sVar15;
pvVar26 = (void *)(iVar10 * 0x1140 + param_1 + 0x5bc6);
sVar15 = strlen(pcVar11);
memmove(pvVar26,pcVar11,sVar15) //possible issue identified - semgrep
if (2 < RTDebugLevel) {
printk("IF-ra%d NAS-ID=%s, len=%d\n",iVar10,pvVar26,*puVar19);
}
}
puVar19 = puVar19 + 0x1140;
iVar10 = iVar10 + 1;
}
if (!bVar25) {
snprintf(&local_7c,0x10,"RADIUS_Key%d",1) //possible issue identified - semgrep
local_88[0] = 0;
puVar19 = (undefined1 *)(param_1 + 0x5b7c);
iVar10 = 0;
while (iVar18 = RTMPGetKeyParameterWithOffset(&local_7c,pcVar11,local_88,0x80,param_2,0),
iVar18 != 0) {
sVar15 = strlen(pcVar11);
if ((sVar15 != 0) && (iVar10 < (int)(uint)*(byte *)(param_1 + 0x5b33))) {
sVar15 = strlen(pcVar11);
*puVar19 = (char)sVar15;
pvVar26 = (void *)(iVar10 * 0x49 + param_1 + 0x5b3c);
sVar15 = strlen(pcVar11);
memmove(pvVar26,pcVar11,sVar15) //possible issue identified - semgrep
if (2 < RTDebugLevel) {
printk("IF(ra%d), update radius_key(seq-%d)=%s, len=%d\n",0,iVar10 + 1,pvVar26,*puVar19);
}
iVar10 = iVar10 + 1;
puVar19 = puVar19 + 0x49;
}
}
}
HTParametersHook(param_1,local_84,param_2);
iVar10 = RTMPGetKeyParameter("EntryLifeCheck",local_84,0x100,param_2,1);
if (iVar10 != 0) {
iVar10 = simple_strtol(local_84,0,10);
if ((0xffff < iVar10) || (iVar10 == 0)) {
iVar10 = 0x400;
}
*(int *)(param_1 + 0x168c4) = iVar10;
if (RTDebugLevel != 0) {
printk("EntryLifeCheck=%ld\n",*(undefined4 *)(param_1 + 0x168c4));
}
}
os_free_mem(0,local_84);
return 0;
}