/* WARNING: Removing unreachable block (ram,0x004027ec) */
/* WARNING: Removing unreachable block (ram,0x004027f4) */
/* WARNING: Removing unreachable block (ram,0x00402810) */
/* WARNING: Removing unreachable block (ram,0x00402834) */
/* WARNING: Removing unreachable block (ram,0x00402844) */
/* WARNING: Removing unreachable block (ram,0x00402820) */
/* WARNING: Removing unreachable block (ram,0x004027e4) */
/* WARNING: Removing unreachable block (ram,0x00402884) */
/* WARNING: Removing unreachable block (ram,0x0040288c) */
/* WARNING: Removing unreachable block (ram,0x00402894) */
/* WARNING: Removing unreachable block (ram,0x004028b0) */

undefined4 FUN_00402944(int param_1,uint param_2,uint param_3)

{
  int iVar1;
  uint *puVar2;
  int iVar3;
  uint uVar4;
  uint uVar5;
  
  iVar1 = 1 << (param_3 & 0x1f);
  uVar5 = param_2;
  if ((int)param_2 < 0) {
    uVar5 = param_2 + 0x1f;
  }
  uVar4 = iVar1 + 0x1fU >> 5;
  if (0x20 < iVar1) {
    iVar1 = 0;
  }
  if (uVar4 != 0) {
    puVar2 = (uint *)(param_1 + ((int)uVar5 >> 5) * 4);
    iVar3 = 0;
    do {
      iVar3 = iVar3 + 1;
      *puVar2 = *puVar2 & ~((1 << (iVar1 - 1U & 0x1f)) * 2 + -1 << (param_2 & 0x1f));
      puVar2 = puVar2 + 1;
    } while (iVar3 < (int)uVar4);
  }
  return 0;
}