undefined4 RTMP_FillTxBlkInfo(int param_1,byte *param_2)

{
  char cVar1;
  uint uVar2;
  ushort *puVar3;
  byte bVar4;
  int iVar5;
  int *piVar6;
  int iVar7;
  undefined1 auStack_20 [16];
  
  iVar7 = *(int *)(param_2 + 0x1c);
  RTMP_QueryPacketInfo(iVar7,auStack_20,param_2 + 0x20,param_2 + 0x28);
  param_2[0xb7] = *(byte *)(iVar7 + 0x24);
  param_2[0xb6] = *(byte *)(iVar7 + 0x28);
  bVar4 = *(byte *)(iVar7 + 0x22);
  param_2[0xb9] = 0;
  param_2[0xb8] = bVar4;
  param_2[0xd0] = 0;
  param_2[0xd1] = 0;
  param_2[0xd2] = 0;
  param_2[0xd3] = 0;
  if (*(char *)(*(int *)(param_2 + 0x1c) + 0x2e) == '\0') {
    uVar2 = *(uint *)(param_2 + 200) & 0xfffffeff;
  }
  else {
    uVar2 = *(uint *)(param_2 + 200) | 0x100;
  }
  *(uint *)(param_2 + 200) = uVar2;
  uVar2 = *(uint *)(param_2 + 200);
  *(uint *)(param_2 + 200) = uVar2 & 0xffffffef;
  if (param_2[0xb7] == 0) {
    *(int *)(param_2 + 0x18) = param_1 + 0x5d350;
    param_2[0x14] = 0;
    param_2[0x15] = 0;
    param_2[0x16] = 0;
    param_2[0x17] = 0;
    *(uint *)(param_2 + 200) = uVar2 & 0xffffff4d;
    if (*(char *)(iVar7 + 0x29) == '\0') {
      puVar3 = *(ushort **)(param_2 + 0x18);
      goto LAB_000256b8;
    }
    *(uint *)(param_2 + 200) = uVar2 & 0xffffff4d | 0x40;
  }
  else {
    iVar5 = (uint)param_2[0xb7] * 0xa20;
    piVar6 = (int *)(param_1 + iVar5 + 0x5cf38);
    *(int *)(param_2 + 0x18) = param_1 + iVar5 + 0x5d350;
    *(int **)(param_2 + 0x14) = piVar6;
    *(int *)(param_2 + 0xd0) = piVar6[0x25f];
    if (*(char *)(param_1 + (uint)*param_2 + 0x16ab8) == '\0') {
      uVar2 = uVar2 & 0xffffffef | 2;
    }
    else {
      uVar2 = uVar2 & 0xffffffed;
    }
    *(uint *)(param_2 + 200) = uVar2;
    if (*piVar6 != 1) {
      return 0;
    }
    if ((*(uint *)(param_1 + 0x16abc) & 0x100) == 0) {
      bVar4 = param_2[1];
    }
    else if ((piVar6[0x105] & 1U) == 0) {
      bVar4 = param_2[1];
    }
    else {
      *(uint *)(param_2 + 200) = *(uint *)(param_2 + 200) | 0x80;
      bVar4 = param_2[1];
    }
    if (bVar4 == 2) {
      if ((*(byte *)(iVar7 + 0x2d) & 0xb) == 0) {
        uVar2 = piVar6[0x106];
        if (*(char *)(param_1 + 0x16964) == '\x01') {
          if ((uVar2 & 0xc07f0000) == 0) goto LAB_000255c8;
          uVar2 = piVar6[0x106];
        }
      }
      else {
LAB_000255c8:
        *(int *)(param_2 + 0x18) = param_1 + 0x5d350;
        if (*(uint *)(*(int *)(param_2 + 0x14) + 0x418) >> 0x1e < 2) {
          uVar2 = piVar6[0x106];
        }
        else if (piVar6[0x105] << 0xb < 0) {
          if (*(char *)(param_1 + 0x16a88) == '\x01') {
            if ((piVar6[0x105] & 0x200U) == 0) {
              uVar2 = piVar6[0x106];
            }
            else {
              *(uint *)(param_2 + 200) = *(uint *)(param_2 + 200) & 0xffffff7f | 0x10;
              uVar2 = piVar6[0x106];
            }
          }
          else {
            uVar2 = piVar6[0x106];
          }
        }
        else {
          uVar2 = piVar6[0x106];
        }
      }
      if ((uVar2 << 0x10) >> 0x1e < 2) {
        if ((piVar6[0x105] & 4U) == 0) {
          cVar1 = *(char *)(iVar7 + 0x29)   //possible issue identified - semgrep
        }
        else {
          *(uint *)(param_2 + 200) = *(uint *)(param_2 + 200) | 4;
          cVar1 = *(char *)(iVar7 + 0x29)   //possible issue identified - semgrep
        }
      }
      else {
        cVar1 = *(char *)(iVar7 + 0x29)   //possible issue identified - semgrep
      }
      if (cVar1 == '\0') {
        cVar1 = *(char *)(iVar7 + 0x2c)   //possible issue identified - semgrep
      }
      else {
        *(uint *)(param_2 + 200) = *(uint *)(param_2 + 200) | 0x40;
        cVar1 = *(char *)(iVar7 + 0x2c)   //possible issue identified - semgrep
      }
      if (cVar1 == '\0') {
        iVar7 = piVar6[0xd0];
      }
      else {
        uVar2 = *(uint *)(param_2 + 200) | 0x800;
LAB_000256a4:
        *(uint *)(param_2 + 200) = uVar2;
        iVar7 = piVar6[0xd0];
      }
    }
    else {
      if (bVar4 == 0x20) {
        uVar2 = *(uint *)(param_2 + 200) | 0x20;
        goto LAB_000256a4;
      }
      iVar7 = piVar6[0xd0];
    }
    piVar6[0xd0] = iVar7 + 1;
  }
  puVar3 = *(ushort **)(param_2 + 0x18);
LAB_000256b8:
  *(uint *)(param_1 + 0x7691c) = (uint)*puVar3;
  return 1;
}