byte FUN_0047cfb8(int param_1)

{
  char cVar1;
  byte bVar2;
  int iVar3;
  byte *pbVar4;
  byte *pbVar5;
  char *pcVar6;
  undefined1 auStack_28 [12];
  
  if (*(char *)(param_1 + 9) == 'z') {
    iVar3 = FUN_00483e50(param_1 + 9);
    pbVar4 = (byte *)(param_1 + iVar3 + 10);
    do {
      bVar2 = *pbVar4;
      pbVar4 = pbVar4 + 1;
    } while ((char)bVar2 < '\0');
    do {
      pbVar5 = pbVar4;
      pbVar4 = pbVar5 + 1;
    } while ((char)*pbVar5 < '\0');
    if (*(char *)(param_1 + 8) == '\x01') {
      pbVar4 = pbVar5 + 2;
    }
    else {
      do {
        bVar2 = *pbVar4;
        pbVar4 = pbVar4 + 1;
      } while ((char)bVar2 < '\0');
    }
    do {
      bVar2 = *pbVar4;
      pbVar4 = pbVar4 + 1;
    } while ((char)bVar2 < '\0');
    for (pcVar6 = (char *)(param_1 + 10); cVar1 = *pcVar6, cVar1 != 'R'; pcVar6 = pcVar6 + 1) {
      if (cVar1 == 'P') {
        pbVar4 = (byte *)FUN_0047ce1c(*pbVar4 & 0x7f,0,pbVar4 + 1,auStack_28);
      }
      else {
        pbVar4 = pbVar4 + 1;
        if (cVar1 != 'L') goto LAB_0047d100;
      }
    }
    bVar2 = *pbVar4;
  }
  else {
LAB_0047d100:
    bVar2 = 0;
  }
  return bVar2;
}