void APPeerBeaconAction(int param_1,int param_2)
{
byte bVar1;
char cVar2;
undefined4 uVar3;
undefined4 uVar4;
undefined4 uVar5;
int iVar6;
int iVar7;
int iVar8;
byte *pbVar9;
uint uVar10;
undefined1 local_d0;
undefined1 local_cf;
undefined1 uStack_ce;
byte local_cd;
byte local_cc [5];
undefined1 uStack_c7;
undefined1 local_c6;
undefined1 local_c5;
undefined1 uStack_c4;
undefined1 uStack_c3;
char local_c2;
char local_c1;
undefined1 local_c0;
undefined1 local_bf [3];
undefined1 auStack_bc [2];
undefined1 auStack_ba [2];
undefined1 auStack_b8 [2];
undefined1 auStack_b6 [2];
undefined1 auStack_b4 [4];
int local_b0;
undefined1 *local_ac;
undefined1 auStack_a8 [4];
int local_a4;
int local_a0;
int local_9c;
undefined1 auStack_98 [8];
undefined1 auStack_90 [8];
undefined1 auStack_88 [8];
undefined1 auStack_80 [8];
undefined1 auStack_78 [8];
undefined1 auStack_70 [8];
undefined1 auStack_68 [12];
undefined1 auStack_5c [12];
undefined1 auStack_50 [12];
undefined1 auStack_44 [40];
local_c0 = 0xff;
local_b0 = 0;
local_cf = 0;
local_ac = (undefined1 *)0x0;
local_cc[1] = 0;
local_cc[2] = 0;
local_cc[3] = 0;
local_a4 = 0;
local_a0 = 0;
local_9c = 0;
local_bf[0] = 0;
os_alloc_mem(0,&local_a4,0x400);
if ((((local_a4 == 0) || (os_alloc_mem(0,&local_a0,0x1a), local_a0 == 0)) ||
(os_alloc_mem(0,&local_9c,0x16), local_9c == 0)) ||
(os_alloc_mem(0,&local_b0,0x20), local_b0 == 0)) {
if (RTDebugLevel != 0) {
printk("%s: Allocate memory fail!!!\n","APPeerBeaconAction");
}
goto LAB_00075314;
}
RTMPZeroMemory(local_a0,0x1a);
RTMPZeroMemory(local_9c,0x16);
iVar7 = local_a4;
local_ac = auStack_68;
*(undefined1 *)(local_a4 + 1) = 0;
local_cd = *(byte *)(param_2 + 0x65c);
uVar3 = ConvertToRssi(param_1,(int)*(char *)(param_2 + 0x658),0);
uVar4 = ConvertToRssi(param_1,(int)*(char *)(param_2 + 0x659),1);
uVar5 = ConvertToRssi(param_1,(int)*(char *)(param_2 + 0x65a),2);
iVar6 = RTMPMaxRssi(param_1,uVar3,uVar4,uVar5);
iVar7 = PeerBeaconAndProbeRspSanity
(param_1,param_2,*(undefined4 *)(param_2 + 0x648),
*(undefined1 *)(param_2 + 0x65c),auStack_88,auStack_90,local_b0,&local_d0,
&uStack_ce,auStack_b8,&local_cd,&uStack_c7,auStack_78,auStack_80,auStack_b6,
auStack_ba,local_cc + 4,local_cc + 1,local_cc + 2,local_cc + 3,&local_cf,
auStack_5c,&local_c6,auStack_50,&local_c5,&uStack_c4,&uStack_c3,auStack_44,
auStack_70,auStack_98,auStack_a8,&local_c2,local_a0,auStack_bc,&local_c1,
local_9c,&local_c0,auStack_b4,iVar7);
if ((iVar7 != 0) &&
((local_cd == *(byte *)(param_1 + 0x169ec) || (*(char *)(param_1 + 0x16e01) != '\0')))) {
if ((-0x55 < iVar6) && ((*(byte *)(local_a0 + 1) & 0x40) != 0)) {
Handle_BSS_Width_Trigger_Events(param_1);
}
if ((*(int *)(param_1 + 0x16afc) << 0xe < 0) && (*(char *)(param_1 + 0x16e01) == '\0')) {
uVar10 = (uint)*(byte *)(param_1 + 0x169ec);
if (((0xe < uVar10) ||
(uVar10 = *(byte *)(param_1 + 0x169ed) - 2,
*(byte *)(param_1 + 0x169ed) + 2 != (uint)local_cd)) && (local_cd != uVar10))
goto LAB_00075280;
}
SupportRate(auStack_5c,local_c6,auStack_50,local_c5,&local_ac,local_cc,local_bf);
if ((((local_cc[4] & 1) != 0) || (local_cc[0] < 5)) && (*(int *)(param_1 + 0x16a84) == 0)) {
*(undefined4 *)(param_1 + 0x16634) = *(undefined4 *)(param_1 + 0x16fbc);
}
if (((*(char *)(param_1 + 0x16e03) != '\0') && (local_c2 == '\0')) && (-0x55 < iVar6)) {
*(undefined4 *)(param_1 + 0x16638) = *(undefined4 *)(param_1 + 0x16fbc);
}
if (*(char *)(param_1 + 0x16e01) == '\x01') {
pbVar9 = (byte *)(param_1 + 0x4e3e);
for (iVar7 = 0; iVar7 < (int)(uint)*(byte *)(param_1 + 0x5058); iVar7 = iVar7 + 1) {
if (*pbVar9 == local_cd) {
if (local_c2 == '\0') {
bVar1 = pbVar9[1];
LAB_00075250:
pbVar9[1] = bVar1 | 4;
cVar2 = *(char *)(param_1 + 0x16b32) //possible issue identified - semgrep
}
else {
bVar1 = pbVar9[1];
if (local_c1 == '\0') goto LAB_00075250;
pbVar9[1] = bVar1 | 2;
bVar1 = *(byte *)(local_9c + 1) & 3;
if (bVar1 == 3) {
iVar8 = iVar7 + -4;
if (iVar7 < 4) {
bVar1 = *(byte *)(param_1 + 0x169ec);
}
else {
LAB_0007537c:
iVar8 = iVar8 * 10 + param_1;
*(byte *)(iVar8 + 0x4e3f) = *(byte *)(iVar8 + 0x4e3f) | 1;
LAB_00075220:
bVar1 = *(byte *)(param_1 + 0x169ec);
}
}
else {
if (bVar1 == 1) {
iVar8 = iVar7 + 4;
if (iVar8 < (int)(uint)*(byte *)(param_1 + 0x5058)) goto LAB_0007537c;
goto LAB_00075220;
}
bVar1 = *(byte *)(param_1 + 0x169ec);
}
if (bVar1 == local_cd) {
if ((*(byte *)(local_9c + 1) & 3) ==
(uint)(*(int *)(param_1 + 0x16b18) << 0x16) >> 0x1e) goto LAB_00075268;
cVar2 = *(char *)(param_1 + 0x16b32) //possible issue identified - semgrep
}
else {
cVar2 = *(char *)(param_1 + 0x16b32) //possible issue identified - semgrep
}
}
*(char *)(param_1 + 0x16b32) = cVar2 + '\x01';
}
LAB_00075268:
pbVar9 = pbVar9 + 10;
}
}
}
LAB_00075280:
if (*(byte *)(param_1 + 0x16624) == local_cd) {
iVar7 = AutoChBssSearchWithSSID
(param_1,auStack_90,local_b0,local_d0,*(byte *)(param_1 + 0x16624));
if (iVar7 == -1) {
iVar7 = *(int *)(param_1 + 0x16960) + (*(byte *)(param_1 + 0x16625) + 0x36) * 4;
*(int *)(iVar7 + 4) = *(int *)(iVar7 + 4) + 1;
}
AutoChBssInsertEntry(param_1,auStack_90,local_b0,local_d0,local_cd,local_c0,iVar6);
}
LAB_00075314:
if (local_a4 != 0) {
os_free_mem(0);
}
if (local_a0 != 0) {
os_free_mem(0);
}
if (local_9c != 0) {
os_free_mem(0);
}
if (local_b0 != 0) {
os_free_mem(0);
}
return;
}