void SWMCULedCtrlMain(undefined4 param_1,int param_2)

{
  byte bVar1;
  bool bVar2;
  char cVar3;
  int iVar4;
  int iVar5;
  uint uVar6;
  uint uVar7;
  uint uVar8;
  uint uVar9;
  uint uVar10;
  uint uVar11;
  uint uVar12;
  
  if (*(char *)(param_2 + 0x5122) == '\0') {
    return;
  }
  if (*(char *)(param_2 + 0x5122) == '@') {
    if (*(char *)(param_2 + 0xec) == '\0') {
      *(undefined4 *)(*(int *)(param_2 + 0xdc) + 0x229) = 0;
      cVar3 = *(char *)(param_2 + 0xec)   //possible issue identified - semgrep
    }
    else {
      cVar3 = *(char *)(param_2 + 0xec)   //possible issue identified - semgrep
    }
    if (cVar3 != '\0') {
      return;
    }
    uVar11 = (uint)*(byte *)(param_2 + 0x512a);
    if (*(char *)(param_2 + 0x5129) == '\0') {
      uVar11 = ~(uint)*(byte *)(param_2 + 0x512a);
    }
    *(uint *)(*(int *)(param_2 + 0xdc) + 0x228) = uVar11;
    return;
  }
  if (*(char *)(param_2 + 0xec) == '\0') {
    iVar4 = *(int *)(param_2 + 0xdc);
    uVar11 = *(uint *)(iVar4 + 0x414);
    uVar12 = *(uint *)(iVar4 + 0x414);
    *(undefined4 *)(iVar4 + 0x414) = 0x1e;
  }
  else {
    uVar11 = 0;
    uVar12 = 0;
  }
  uVar9 = 0;
  if (*(char *)(param_2 + 0xec) == '\0') {
    uVar9 = *(uint *)(*(int *)(param_2 + 0xdc) + 0x102c);
  }
  uVar6 = *(uint *)(param_2 + 0x5124);
  if ((*(uint *)(param_2 + 0x4a94) & 0xffff0000) == 0x53500000) {
    uVar6 = ~uVar6;
  }
  uVar6 = (uVar6 >> 0x1f) << 0x1e;
  uVar10 = uVar9 & 0xbfffffff | uVar6;
  if (*(char *)(param_2 + 0x512b) == '\0') {
    cVar3 = -1   //possible issue identified - semgrep
  }
  else {
    cVar3 = *(char *)(param_2 + 0x512b) + -1   //possible issue identified - semgrep
  }
  *(char *)(param_2 + 0x512b) = cVar3;
  if (*(char *)(param_2 + 0x5122) == '\x02') {
    if (*(int *)(param_2 + 0x512c) == 0) {
      uVar8 = *(uint *)(param_2 + 0x5124);
      goto LAB_000af38c;
    }
    uVar11 = 3;
    if ((*(uint *)(param_2 + 0x5124) & 0x80000000) != 0) {
      uVar11 = 0;
    }
    if ((*(byte *)(param_2 + 0x512b) & 1) == 0) {
      uVar11 = ~uVar11 & 3;
    }
    uVar10 = uVar9 & 0xb3ffffff | uVar6 | uVar11 << 0x1a;
    *(int *)(param_2 + 0x512c) = *(int *)(param_2 + 0x512c) + -1;
LAB_000af430:
    uVar11 = *(uint *)(param_2 + 0x5124);
  }
  else {
    uVar8 = *(uint *)(param_2 + 0x5124);
LAB_000af38c:
    uVar7 = uVar8 & 0xf000000;
    if (uVar7 == 0) {
      uVar8 = uVar8 & 0x80000000;
LAB_000af424:
      iVar4 = 3;
      if (uVar8 == 0) {
        iVar4 = 0;
      }
LAB_000af42c:
      uVar10 = uVar9 & 0xb3ffffff | uVar6 | iVar4 << 0x1a;
      goto LAB_000af430;
    }
    if (uVar7 == 0x1000000) {
LAB_000af410:
      iVar4 = 3;
      if ((uVar8 & 0x80000000) != 0) {
        iVar4 = 0;
      }
      goto LAB_000af42c;
    }
    bVar2 = (uVar11 & 0xe) == 0;
    if ((!bVar2) && (1 < (uVar8 << 4) >> 0x1c)) {
      bVar1 = *(byte *)(param_2 + 0x512b);
LAB_000af3f0:
      uVar8 = bVar1 & 1;
      goto LAB_000af424;
    }
    if (((uVar12 & 0x10) != 0) && (uVar7 == 0x3000000)) {
      bVar1 = *(byte *)(param_2 + 0x512b);
      goto LAB_000af3f0;
    }
    if ((uVar12 & 0x10) == 0 && bVar2) {
      if ((int)(uVar8 << 3) < 0) {
        uVar8 = ((uint)*(byte *)(param_2 + 0x512b) << 0x1b) >> 0x1f;
        goto LAB_000af424;
      }
      goto LAB_000af410;
    }
    uVar11 = *(uint *)(param_2 + 0x5124);
  }
  uVar12 = uVar11 & 0x300000;
  if (uVar12 == 0x300000) {
    uVar12 = *(byte *)(param_2 + 0x512b) & 1;
LAB_000af480:
    iVar4 = 3;
    if (uVar12 == 0) {
      iVar4 = 0;
    }
  }
  else {
    if (uVar12 == 0x200000) {
      uVar12 = ((uint)*(byte *)(param_2 + 0x512b) << 0x1b) >> 0x1f;
      goto LAB_000af480;
    }
    if (uVar12 != 0x100000) {
      uVar12 = uVar11 & 0x20000000;
      goto LAB_000af480;
    }
    iVar4 = 3;
    if ((uVar11 & 0x20000000) != 0) {
      iVar4 = 0;
    }
  }
  uVar12 = uVar11 & 0xc00000;
  if (uVar12 == 0xc00000) {
    uVar11 = *(byte *)(param_2 + 0x512b) & 1;
  }
  else if (uVar12 == 0x800000) {
    uVar11 = ((uint)*(byte *)(param_2 + 0x512b) << 0x1b) >> 0x1f;
  }
  else {
    if (uVar12 == 0x400000) {
      iVar5 = 3;
      if ((uVar11 & 0x40000000) != 0) {
        iVar5 = 0;
      }
      goto LAB_000af4e0;
    }
    uVar11 = uVar11 & 0x40000000;
  }
  iVar5 = 3;
  if (uVar11 == 0) {
    iVar5 = 0;
  }
LAB_000af4e0:
  if ((*(char *)(param_2 + 0x5130) == '\0') || (*(int *)(param_2 + 0x76904) << 0xe < 0)) {
    if ((uVar10 & 0x40000000) == 0) {
      if (*(char *)(param_2 + 0xec) == '\0') {
        *(undefined4 *)(*(int *)(param_2 + 0xdc) + 0x102c) = 0;
      }
    }
    else if (*(char *)(param_2 + 0xec) == '\0') {
      *(undefined4 *)(*(int *)(param_2 + 0xdc) + 0x102c) = 0x40000000;
      return;
    }
  }
  else if (*(char *)(param_2 + 0xec) == '\0') {
    *(uint *)(*(int *)(param_2 + 0xdc) + 0x102c) =
         uVar10 & 0xccffffff | iVar4 << 0x1c | iVar5 << 0x18;
    return;
  }
  return;
}