int RTMPAllocAdapterBlock(undefined4 param_1,undefined4 *param_2)

{
  int iVar1;
  int iVar2;
  int iVar3;
  undefined1 *puVar4;
  undefined4 *puVar5;
  int iVar6;
  undefined4 *local_28;
  void *local_24;
  
  local_28 = (undefined4 *)0x0;
  local_24 = (void *)0x0;
  if (2 < RTDebugLevel) {
    printk("--> RTMPAllocAdapterBlock\n");
  }
  RtmpUtilInit();
  *param_2 = 0;
  os_alloc_mem(0,&local_24,0x200);
  if (local_24 == (void *)0x0) {
    printk("ERROR!!! ");
    printk("Failed to allocate memory - BeaconBuf!\n");
LAB_0002ca28:
    iVar1 = 1;
  }
  else {
    memset(local_24,0,0x200)   //possible issue identified - semgrep
    iVar1 = AdapterBlockAllocateMemory(param_1,&local_28,0x76e88);
    if (iVar1 == 0) {
      *(undefined1 *)(local_28 + 0x1db8e) = 0;
      local_28[0x1db8d] = 0;
      local_28[0x1db8c] = 0;
      *(undefined1 *)(local_28 + 0x1db91) = 0;
      local_28[0x1db90] = 0;
      local_28[0x1db8f] = 0;
      *(undefined1 *)(local_28 + 0x1db94) = 0;
      local_28[0x1db93] = 0;
      local_28[0x1db92] = 0;
      *(undefined1 *)(local_28 + 0x1db97) = 0;
      local_28[0x1db96] = 0;
      local_28[0x1db95] = 0;
      *(undefined1 *)(local_28 + 0x1db9a) = 0;
      local_28[0x1db99] = 0;
      local_28[0x1db98] = 0;
      *(undefined1 *)(local_28 + 0x1db9d) = 0;
      local_28[0x1db9c] = 0;
      local_28[0x1db9b] = 0;
      *(undefined1 *)(local_28 + 0x1dba0) = 0;
      local_28[0x1db9f] = 0;
      local_28[0x1db9e] = 0;
      *local_28 = param_1;
      local_28[0x145a] = local_24;
      printk("\n\n=== pAd = %p, size = %d ===\n\n",local_28,0x76e88);
      iVar6 = RtmpOsStatsAlloc(local_28 + 0x1dac5,local_28 + 0x1dac4)   //possible issue identified - semgrep
      if (iVar6 != 0) {
        *(undefined1 *)(local_28 + 0xa8a) = 0;
        *(undefined1 *)((int)local_28 + 0x2a29) = 0;
        *(undefined1 *)((int)local_28 + 0x2a2a) = 0;
        *(undefined1 *)((int)local_28 + 0x2a2b) = 0;
        *(undefined1 *)(local_28 + 0xa8b) = 0;
        goto LAB_0002ca8c;
      }
      goto LAB_0002ca28;
    }
    printk("ERROR!!! ");
    printk("Failed to allocate memory - ADAPTER\n");
  }
  if (local_24 != (void *)0x0) {
    os_free_mem(0);
  }
  if (local_28 != (undefined4 *)0x0) {
    if (local_28[0x1dac5] != 0) {
      os_free_mem(0);
    }
    if (local_28[0x1dac4] != 0) {
      os_free_mem(0);
    }
  }
LAB_0002ca8c:
  puVar5 = local_28;
  if (local_28 == (undefined4 *)0x0) {
    puVar5 = (undefined4 *)*param_2;
  }
  *param_2 = puVar5;
  iVar6 = 0;
  do {
    iVar2 = iVar6 + 0xed86;
    iVar3 = os_alloc_mem(local_28,local_28 + iVar2 * 2 + 1,0x400);
    if (iVar3 == 0) {
      iVar3 = local_28[iVar2 * 2 + 1];
      iVar2 = 0;
      do {
        puVar4 = (undefined1 *)(iVar3 + iVar2);
        iVar2 = iVar2 + 1;
        *puVar4 = 0;
      } while (iVar2 != 0x400);
    }
    else {
      local_28[iVar2 * 2 + 1] = 0;
    }
    iVar6 = iVar6 + 1;
  } while (iVar6 != 0x40);
  printk("<-- RTMPAllocAdapterBlock, Status=%x\n",iVar1);
  return iVar1;
}