RotBarUpdate

VOID __stdcall RotBarUpdate(
        UINT32 BugCheckCode,
        PVOID BugCheckParameter1,
        PVOID BugCheckParameter2,
        PVOID BugCheckParameter3,
        PVOID BugCheckParameter4){
  int v5; 
  int v6; 
  __int64 v7; 
  __int64 v8; 
  __int64 v9; 
  int v10; 

  if( PltRotBarStatus )
  {
    if( PltRotBarStatus == 1 )
    {
      v10 = *(&stru_140C452E0 + 1880);
      FadePalette(*(&stru_140C452E0 + 7520));
      *(&stru_140C452E0 + 1880) = ++v10;
      *((_DWORD *)PalettePtr + 1) = 0;
      if( v10 >= 20 )
      {
        PltRotBarStatus = 2;
        *(&stru_140C452E0 + 1880) = 1;
      }
      goto LABEL_25;
    }
    if( PltRotBarStatus != 2 )
    {
      if( PltRotBarStatus == 3 )
        return;
      goto LABEL_25;
    }
    if( !AnimBarPos )
    {
      v8 = 371i64;
      v7 = 376i64;
      goto LABEL_20;
    }
    if( AnimBarPos == 1 )
    {
      v9 = 259i64;
    }
    else
    {
      if( AnimBarPos != 2 )
      {
        if( AnimBarPos == 16 )
        {
          VidBufferToScreenBlt((char *)&stru_140C452E0 + 7264, 363i64, 354i64, 6i64, 9, 4);
          VidBufferToScreenBlt((char *)&stru_140C452E0 + 7552, (unsigned int)(8 * AnimBarPos + 243), 354i64, 6i64, 9, 4);
        }
        else
        {
          if( AnimBarPos != 17 )
          {
            VidBufferToScreenBlt(
              (char *)&stru_140C452E0 + 7264,
              (unsigned int)(8 * AnimBarPos + 235),
              354i64,
              6i64,
              9,
              4);
            VidBufferToScreenBlt(
              (char *)&stru_140C452E0 + 7552,
              (unsigned int)(8 * AnimBarPos + 243),
              354i64,
              6i64,
              9,
              4);
            VidBufferToScreenBlt(
              (char *)&stru_140C452E0 + 7328,
              (unsigned int)(8 * AnimBarPos + 251),
              354i64,
              6i64,
              9,
              4);
            v5 = AnimBarPos;
            if( AnimBarPos <= 3 )
              goto LABEL_21;
            goto LABEL_12;
          }
          VidBufferToScreenBlt((char *)&stru_140C452E0 + 7264, 371i64, 354i64, 6i64, 9, 4);
        }
        v5 = AnimBarPos;
LABEL_12:
        v6 = (v5 + 16) % 18;
        v7 = (unsigned int)(8 * v6 + 248);
        v8 = (unsigned int)(8 * v6 + 243);
LABEL_20:
        VidSolidColorFill(v8, 354i64, v7, 362i64, 0);
LABEL_21:
        if( ++AnimBarPos > 17 )
          AnimBarPos = 0;
LABEL_25:
        if( InbvGetDisplayState() == INBV_DISPLAY_STATE_OWNED )
          VidBitBlt((char *)&stru_140C452E0 + 7392, 0i64, 480i64);
        return;
      }
      VidBufferToScreenBlt((char *)&stru_140C452E0 + 7552, 259i64, 354i64, 6i64, 9, 4);
      v9 = (unsigned int)(8 * AnimBarPos + 251);
    }
    VidBufferToScreenBlt((char *)&stru_140C452E0 + 7328, v9, 354i64, 6i64, 9, 4);
    goto LABEL_21;
  }
}

Referenced by:

InbvRotateGuiBootDisplay