void ChipResumeMsduTransmission(int param_1)

{
  char cVar1;
  byte bVar2;
  undefined1 uVar3;
  int iVar4;
  uint uVar5;
  int iVar6;
  uint uVar7;
  
  uVar5 = Status;
  if (*(char *)(param_1 + 0xec) == '\0') {
    if (*(int *)(param_1 + 0x29f8) == 4) {
      uVar7 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar7 = uVar5 & 1;
      }
      iVar6 = 1;
      cVar1 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar5 = 0;
        if (cVar1 == '\0') {
          uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c);
        }
        if ((uVar5 & 0x20000) == 0) break;
        iVar6 = iVar6 + 1;
        printk(&_LC19)   //possible issue identified - semgrep
        if (iVar6 == 100) goto LAB_00061d68;
        cVar1 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      if (cVar1 == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x101c) = *(byte *)(param_1 + 0x4bd1) | 0xa4200;
      }
      *(undefined1 *)(param_1 + 0x4b0b) = *(undefined1 *)(param_1 + 0x4bd1);
      if (iVar6 != 100) {
        cVar1 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
        goto joined_r0x00061f44;
      }
LAB_00061d68:
      printk("ERROR!!! ");
      printk("BBP write R%d fail\n",0x42);
      cVar1 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
    }
    else {
      uVar7 = 0;
      if (*(char *)(param_1 + 0xad) == '\x01') {
        Status = Status & 0xfffffffe;
        uVar7 = uVar5 & 1;
      }
      iVar6 = 1;
      cVar1 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      while( true ) {
        uVar5 = 0;
        if (cVar1 == '\0') {
          uVar5 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028);
        }
        if ((uVar5 & 0x20000) == 0) break;
        iVar4 = iVar6 % 0x14;
        iVar6 = iVar6 + 1;
        if ((iVar4 == 0) && (cVar1 == '\0')) {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = uVar5 & 0xfffdffff;
        }
        printk(&_LC19)   //possible issue identified - semgrep
        if (iVar6 == 100) goto LAB_00061ef4;
        cVar1 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
      }
      bVar2 = *(byte *)(param_1 + 0x4bd1);
      if (cVar1 == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = bVar2 | 0xa4200;
      }
      iVar4 = AsicSendCommandToMcuBBP(param_1,0x80,0xff,0,0,0);
      if (*(char *)(param_1 + 0x16964) == '\x01') {
        RTMPusecDelay(1000);
      }
      if (iVar4 == 0) {
        if (*(char *)(param_1 + 0xec) == '\0') {
          *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) = bVar2 | 0x84200;
        }
        uVar3 = *(undefined1 *)(param_1 + 0x4bd1);
      }
      else {
        uVar3 = *(undefined1 *)(param_1 + 0x4bd1);
      }
      *(undefined1 *)(param_1 + 0x4b0b) = uVar3;
      if (iVar6 != 100) {
        cVar1 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
        goto joined_r0x00061f44;
      }
LAB_00061ef4:
      printk("ERROR!!! ");
      printk("BBP write R%d fail\n",0x42);
      if (*(char *)(param_1 + 0xec) == '\0') {
        *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) =
             *(uint *)(*(int *)(param_1 + 0xdc) + 0x7028) & 0xfffdffff;
        cVar1 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
      else {
        cVar1 = *(char *)(param_1 + 0xad)   //possible issue identified - semgrep
      }
    }
joined_r0x00061f44:
    if ((cVar1 == '\x01') && (Status = Status & 0xfffffffe, uVar7 != 0)) {
      Status = Status | 1;
    }
  }
  return;
}