undefined4
RTMPSoftEncryptWEP(undefined4 param_1,undefined4 param_2,int param_3,byte *param_4,int param_5)
{
byte bVar1;
char *pcVar2;
int iVar3;
byte *pbVar4;
int local_20;
uint local_1c [2];
local_20 = 0;
os_alloc_mem(0,&local_20,0x108);
if (local_20 == 0) {
if (RTDebugLevel == 0) {
return 0;
}
pcVar2 = "%s: ARC4_CTX Allocate memory fail!!!\n";
}
else {
if (*(char *)(param_3 + 0x41) != '\0') {
RTMPInitWepEngine(param_2,param_3);
local_1c[0] = 0xffffffff;
pbVar4 = param_4;
for (iVar3 = param_5; iVar3 != 0; iVar3 = iVar3 + -1) {
bVar1 = *pbVar4;
pbVar4 = pbVar4 + 1;
local_1c[0] = *(uint *)(FCSTAB_32 + ((local_1c[0] ^ bVar1) & 0xff) * 4) ^ local_1c[0] >> 8;
}
local_1c[0] = ~local_1c[0];
memmove(param_4 + param_5,local_1c,4) //possible issue identified - semgrep
ARC4_Compute(local_20,param_4,param_5 + 4,param_4);
if (local_20 == 0) {
return 1;
}
os_free_mem(0);
return 1;
}
if (RTDebugLevel == 0) {
return 0;
}
pcVar2 = "%s : The key is empty !\n";
}
printk(pcVar2,"RTMPSoftEncryptWEP");
return 0;
}