void APPeerProbeReqAction(int param_1,int param_2)

{
  byte bVar1;
  undefined2 uVar2;
  int iVar3;
  byte *pbVar4;
  uint *puVar5;
  uint uVar6;
  int iVar7;
  byte bVar8;
  char cVar9;
  uint uVar10;
  int iVar11;
  char *pcVar12;
  uint *puVar13;
  char *pcVar14;
  int iVar15;
  undefined2 *puVar16;
  undefined1 *puVar17;
  uint *puVar18;
  uint uVar19;
  uint uVar20;
  uint uVar21;
  uint uVar22;
  undefined4 uVar23;
  undefined1 *puVar24;
  uint uVar25;
  undefined4 uVar26;
  undefined1 *puVar27;
  undefined4 uVar28;
  byte *pbVar29;
  undefined4 uVar30;
  undefined1 *puVar31;
  undefined4 uVar32;
  byte *pbVar33;
  undefined4 uVar34;
  undefined4 uVar35;
  byte local_1d0 [5];
  undefined4 local_1cb;
  byte local_1c7 [3];
  int local_1c4;
  int local_1c0;
  uint local_1bc;
  uint local_1b8;
  int local_1b4;
  undefined1 auStack_1b0 [8];
  byte abStack_1a8 [8];
  undefined1 auStack_1a0 [24];
  undefined1 auStack_188 [32];
  uint local_168;
  uint local_164;
  undefined4 local_160;
  undefined4 local_15c;
  undefined4 local_158;
  undefined4 local_154;
  undefined2 local_150;
  uint *local_68;
  int local_64;
  int local_60;
  byte *local_5c;
  uint *local_58;
  uint *local_54;
  uint *local_50;
  undefined1 *local_4c;
  uint *local_48;
  int local_44;
  int local_40;
  uint *local_3c;
  uint local_38;
  uint local_34;
  uint local_30;
  
  local_1d0[4] = 0xdd;
  local_1cb._0_1_ = 0x30;
  local_1d0[2] = 1;
  local_1c4 = 0;
  local_1c0 = 0;
  local_1d0[1] = 1;
  local_1cb._1_1_ = 0;
  iVar3 = PeerProbeReqSanity(param_1,param_2,*(undefined4 *)(param_2 + 0x648),auStack_1b0,
                             auStack_188,local_1d0,(int)&local_1cb + 1);
  if (iVar3 != 0) {
    local_5c = (byte *)(param_1 + 0x16b2e);
    local_40 = param_1 + 0x169ee;
    local_34 = 0x334c9000;
    local_3c = (uint *)(param_1 + 0x169ea);
    local_44 = param_1 + 0x169ec;
    local_48 = (uint *)(param_1 + 0x16633);
    local_4c = (undefined1 *)(param_1 + 0x16a07);
    local_50 = (uint *)(param_1 + 0x169fb);
    local_54 = (uint *)(param_1 + 0x16afe);
    local_58 = (uint *)(param_1 + 0x16b18);
    local_68 = (uint *)(param_1 + 0x1697d);
    local_30 = 0x344c9000;
    local_64 = param_1 + 0x5058;
    local_60 = param_1 + 0x4e3e;
    local_38 = 0xc0007dd;
    for (uVar21 = 0; uVar21 < *(byte *)(param_1 + 0x51aa); uVar21 = uVar21 + 1 & 0xff) {
      iVar3 = *(int *)(uVar21 * 0x1140 + param_1 + 0x51d8);
      local_1d0[4] = 0xdd;
      if ((iVar3 == 0) || ((*(uint *)(iVar3 + 0xc0) & 1) != 0)) {
        uVar10 = (uint)local_1d0[0];
        iVar3 = uVar21 * 0x1140 + param_1;
        bVar1 = *(byte *)(iVar3 + 0x62ea);
        if (((uVar10 == 0) && (*(char *)(iVar3 + 0x5920) == '\0')) ||
           ((*(byte *)(param_1 + uVar21 * 0x1140 + 0x51b2) == uVar10 &&
            (iVar3 = memcmp(auStack_188,(void *)(param_1 + uVar21 * 0x1140 + 0x51b3),uVar10),
            iVar3 == 0)))) {
          iVar3 = os_alloc_mem(param_1,&local_1c4,0x640);
          if (iVar3 != 0) {
            return;
          }
          MgtMacHeaderInit(param_1,auStack_1a0,5,0,auStack_1b0,param_1 + uVar21 * 0x1140 + 0x51ac);
          iVar3 = *(int *)(param_1 + uVar21 * 0x1140 + 0x51dc);
          if (iVar3 - 3U < 2) {
            local_1d0[4] = 0xdd;
          }
          else if (iVar3 - 6U < 2) {
            local_1d0[4] = 0x30;
          }
          local_1d0[3] = *(byte *)(param_1 + 0x169fa);
          if (bVar1 == 1) {
            local_1d0[3] = 4;
          }
          uVar20 = (uint)local_1d0[3];
          iVar3 = param_1 + uVar21 * 0x1140;
          uVar19 = (uint)*(byte *)(iVar3 + 0x51b2);
          puVar5 = (uint *)(iVar3 + 0x51d4);
          pbVar4 = abStack_1a8;
          pbVar29 = local_1d0 + 3;
          pbVar33 = local_1d0 + 1;
          puVar24 = &SsidIe;
          iVar3 = param_1 + uVar21 * 0x1140 + 0x51a8;
          puVar27 = &SupRateIe;
          puVar17 = (undefined1 *)(iVar3 + 0xb);
          puVar13 = (uint *)(iVar3 + 10);
          uVar10 = 2;
          uVar22 = 2;
          uVar23 = 1;
          uVar25 = 1;
          uVar26 = 1;
          uVar28 = 1;
          uVar30 = 1;
          puVar31 = &DsIe;
          uVar32 = 1;
          uVar34 = 1;
          uVar35 = 0xffffffff;
          puVar18 = local_3c;
          iVar3 = local_40;
          iVar11 = local_44;
          MakeOutgoingFrame(local_1c4,&local_1c0,0x18,auStack_1a0,8,pbVar4,2,local_3c,2,puVar5,1,
                            &SsidIe,1,puVar13,uVar19,puVar17,1,&SupRateIe,1,pbVar29,uVar20,local_40,
                            1,&DsIe,1,pbVar33,1,local_44,0xffffffff);
          uVar6 = (uint)*(byte *)(param_1 + 0x16a07);
          if (uVar6 == 0) {
LAB_00075fb0:
            if ((4 < bVar1) && (*(char *)(uVar21 * 0x1140 + param_1 + 0x520a) != '\0')) {
              local_1c7[0] = 0x1a;
              local_1cb._2_1_ = 0x16;
              local_1cb._3_1_ = 1;
              pbVar4 = local_1c7;
              uVar22 = 0x1a;
              puVar5 = (uint *)&AddHtInfoIe;
              puVar24 = (undefined1 *)((int)&local_1cb + 2);
              uVar25 = 0x16;
              puVar17 = &NewExtChanIe;
              puVar27 = (undefined1 *)((int)&local_1cb + 3);
              uVar20 = 0xffffffff;
              uVar28 = 1;
              uVar10 = 1;
              uVar23 = 1;
              uVar19 = 1;
              uVar26 = 1;
              puVar18 = local_54;
              puVar13 = local_58;
              pbVar29 = local_5c;
              MakeOutgoingFrame(local_1c4 + local_1c0,&local_1b4,1,&HtCapIe,1,pbVar4,0x1a,local_54,1
                                ,&AddHtInfoIe,1,puVar24,0x16,local_58,1,&NewExtChanIe,1,puVar27,1,
                                local_5c,0xffffffff,iVar3,uVar30,puVar31,uVar32,pbVar33,uVar34,
                                iVar11,uVar35);
              local_1c0 = local_1c0 + local_1b4;
            }
          }
          else if (bVar1 != 1) {
            pbVar4 = local_1d0 + 2;
            puVar5 = (uint *)&ExtRateIe;
            uVar23 = 1;
            uVar19 = 0xffffffff;
            uVar22 = 1;
            uVar10 = 1;
            puVar18 = local_48;
            puVar24 = local_4c;
            puVar13 = local_50;
            MakeOutgoingFrame(local_1c4 + local_1c0,&local_1bc,1,&ErpIe,1,pbVar4,1,local_48,1,
                              &ExtRateIe,1,local_4c,uVar6,local_50,0xffffffff,puVar17,uVar26,puVar27
                              ,uVar28,pbVar29,uVar20,iVar3,uVar30,puVar31,uVar32,pbVar33,uVar34,
                              iVar11,uVar35);
            local_1c0 = local_1c0 + local_1bc;
            uVar25 = uVar6;
            goto LAB_00075fb0;
          }
          iVar15 = param_1 + uVar21 * 0x1140;
          if (2 < *(uint *)(iVar15 + 0x51dc)) {
            iVar7 = uVar21 * 0x1140 + 0x52e0;
            uVar22 = (uint)*(byte *)(iVar15 + 0x52e4);
            if (*(uint *)(iVar15 + 0x51dc) - 8 < 2) {
              iVar7 = param_1 + iVar7;
              puVar18 = (uint *)(iVar7 + 6);
              pbVar4 = (byte *)(iVar7 + 4);
              puVar5 = &local_1cb;
              uVar23 = 1;
              uVar10 = 1;
              MakeOutgoingFrame(local_1c4 + local_1c0,&local_1bc,1,local_1d0 + 4,1,pbVar4,uVar22,
                                puVar18,1,puVar5,1,iVar15 + 0x52e5,*(undefined1 *)(iVar15 + 0x52e5),
                                iVar15 + 0x53e5,0xffffffff,puVar17,uVar26,puVar27,uVar28,pbVar29,
                                uVar20,iVar3,uVar30,puVar31,uVar32,pbVar33,uVar34,iVar11,uVar35);
            }
            else {
              iVar7 = param_1 + iVar7;
              puVar18 = (uint *)(iVar7 + 6);
              pbVar4 = (byte *)(iVar7 + 4);
              uVar10 = 0xffffffff;
              MakeOutgoingFrame(local_1c4 + local_1c0,&local_1bc,1,local_1d0 + 4,1,pbVar4,uVar22,
                                puVar18,0xffffffff,puVar5,uVar23,puVar24,uVar25,puVar13,uVar19,
                                puVar17,uVar26,puVar27,uVar28,pbVar29,uVar20,iVar3,uVar30,puVar31,
                                uVar32,pbVar33,uVar34,iVar11,uVar35);
            }
            local_1c0 = local_1c0 + local_1bc;
          }
          if (*(char *)(uVar21 * 0x1140 + param_1 + 0x5b30) != '\0') {
            bVar8 = 0x80;
            if (*(char *)(param_1 + 0x16a2c) == '\0') {
              bVar8 = 0;
            }
            pcVar14 = (char *)(param_1 + 0x16883);
            local_168 = 0x500018dd;
            local_160 = (uint)(bVar8 | *(byte *)(param_1 + 0x1687a) & 0xf);
            local_15c = 0;
            local_158 = 0;
            local_154 = 0;
            local_150 = 0;
            local_164 = 0x10102f2;
            puVar16 = (undefined2 *)(param_1 + 0x16888);
            pcVar12 = (char *)((int)&local_160 + 2);
            cVar9 = '\0';
            do {
              *pcVar12 = (pcVar14[-8] & 0xfU) + pcVar14[0xd] * '\x10' + cVar9 * ' ';
              uVar2 = *puVar16;
              cVar9 = cVar9 + '\x01';
              pcVar12[1] = (pcVar14[-4] & 0xfU) + *pcVar14 * '\x10';
              pcVar12[2] = (char)uVar2;
              pcVar12[3] = (char)((ushort)uVar2 >> 8);
              pcVar14 = pcVar14 + 1;
              pcVar12 = pcVar12 + 4;
              puVar16 = puVar16 + 1;
            } while (cVar9 != '\x04');
            MakeOutgoingFrame(local_1c4 + local_1c0,&local_1bc,0x1a,&local_168,0xffffffff);
            local_1c0 = local_1c0 + local_1bc;
          }
          iVar3 = local_1c0;
          if (*(char *)(param_1 + 0x76b44) != '\0') {
            local_1c0 = QBSS_LoadElementAppend(param_1,local_1c4 + local_1c0);
            local_1c0 = local_1c0 + iVar3;
          }
          if ((((4 < bVar1) && (*(byte *)(param_1 + 0x169ec) < 0xf)) &&
              (*(char *)(uVar21 * 0x1140 + param_1 + 0x520a) != '\0')) &&
             (*(int *)(param_1 + 0x16afc) << 0xe < 0)) {
            local_168 = *(uint *)(param_1 + 0x16b5e);
            local_164 = *(uint *)(param_1 + 0x16b62);
            local_160 = *(uint *)(param_1 + 0x16b66);
            local_1cb._3_1_ = 0x4a;
            local_1cb._2_1_ = 0xe;
            pbVar4 = (byte *)((int)&local_1cb + 2);
            uVar22 = 0xe;
            puVar18 = &local_168;
            local_15c = CONCAT22(local_15c._2_2_,*(undefined2 *)(param_1 + 0x16b6a));
            uVar10 = 0xffffffff;
            MakeOutgoingFrame(local_1c4 + local_1c0,&local_1b4,1,(int)&local_1cb + 3,1,pbVar4,0xe,
                              puVar18,0xffffffff);
            local_1c0 = local_1c0 + local_1b4;
          }
          puVar13 = &local_1b8;
          local_1cb._2_1_ = 1;
          memset(puVar13,0,1)   //possible issue identified - semgrep
          if (((4 < bVar1) && (*(byte *)(param_1 + 0x169ec) < 0xf)) &&
             ((*(char *)(uVar21 * 0x1140 + param_1 + 0x520a) != '\0' &&
              (*(char *)(param_1 + 0x16b30) == '\x01')))) {
            uVar22 = (uint)local_1cb._2_1_;
            pbVar4 = (byte *)((int)&local_1cb + 2);
            local_1b8 = local_1b8 & 0xfffffffe | 1;
            uVar10 = 0xffffffff;
            MakeOutgoingFrame(local_1c4 + local_1c0,&local_1b4,1,&ExtCapIe,1,pbVar4,uVar22,puVar13,
                              0xffffffff);
            local_1c0 = local_1c0 + local_1b4;
            puVar18 = puVar13;
          }
          local_164 = 0x43;
          local_160 = local_160 & 0xffffff00;
          local_168 = local_38;
          if (*(char *)(param_1 + 0x16a7e) != '\0') {
            local_164 = 0x143;
          }
          if (*(char *)(param_1 + 0x16a7f) != '\0') {
            local_164 = local_164 | 0x200;
          }
          if (*(char *)(param_1 + 0x16a88) != '\0') {
            local_164 = local_164 | 0x400;
          }
          puVar13 = &local_168;
          MakeOutgoingFrame(local_1c4 + local_1c0,&local_1b4,9,puVar13,0xffffffff,pbVar4,uVar22,
                            puVar18,uVar10);
          local_1c0 = local_1c0 + local_1b4;
          if (*(char *)(param_1 + 0x1697c) != '\0') {
            local_1cb._2_1_ = 7;
            local_1cb._3_1_ = 0x10;
            memset(puVar13,0,0x100)   //possible issue identified - semgrep
            MakeOutgoingFrame(puVar13,&local_1bc,1,local_60,1,local_64,1,(int)&local_1cb + 3,
                              0xffffffff);
            pbVar4 = local_1c7;
            if ((local_1bc & 1) == 0) {
              local_1c7[0] = (char)local_1bc + 4;
              uVar10 = local_1bc + 1;
            }
            else {
              local_1c7[0] = (char)local_1bc + 3;
              uVar10 = local_1bc;
            }
            uVar23 = 0xffffffff;
            uVar22 = 3;
            puVar18 = local_68;
            MakeOutgoingFrame(local_1c4 + local_1c0,&local_1bc,1,(int)&local_1cb + 2,1,pbVar4,3,
                              local_68,uVar10,puVar13,0xffffffff);
            local_1c0 = local_1c0 + local_1bc;
            puVar5 = puVar13;
          }
          if (((4 < bVar1) && (*(char *)(uVar21 * 0x1140 + param_1 + 0x520a) != '\0')) &&
             (*(char *)(param_1 + 0x769e8) == '\x01')) {
            local_1c7[0] = 0x1e;
            local_1b8 = local_34;
            pbVar4 = local_1c7;
            local_168 = local_30;
            MakeOutgoingFrame(local_1c4 + local_1c0,&local_1b4,1,&WpaIe,1,pbVar4,4,&local_1b8,0x1a,
                              local_54,0xffffffff);
            local_1c0 = local_1b4 + local_1c0;
            puVar18 = &local_168;
            uVar10 = 0x16;
            local_1c7[0] = 0x1a;
            uVar22 = 4;
            uVar23 = 0xffffffff;
            puVar5 = local_58;
            MakeOutgoingFrame(local_1c4 + local_1c0,&local_1b4,1,&WpaIe,1,pbVar4,4,puVar18,0x16,
                              local_58,0xffffffff);
            local_1c0 = local_1c0 + local_1b4;
          }
          iVar3 = param_1 + uVar21 * 0x1140;
          iVar11 = *(int *)(iVar3 + 0x61e0);
          if (iVar11 != 0) {
            local_1b4 = 0;
            MakeOutgoingFrame(local_1c4 + local_1c0,&local_1b4,iVar11,iVar3 + 0x60e0,0xffffffff,
                              pbVar4,uVar22,puVar18,uVar10,puVar5,uVar23);
            local_1c0 = local_1c0 + local_1b4;
          }
          MiniportMMRequest(param_1,0,local_1c4,local_1c0);
          MiniportMMRequest(param_1,0,local_1c4,local_1c0);
          MiniportMMRequest(param_1,0,local_1c4,local_1c0);
          os_free_mem(param_1,local_1c4);
        }
      }
    }
  }
  return;
}