// SetupActionDispatcher - decompiled from Platform.efi
void SetupActionDispatcher()
{
  unsigned __int8 v0; // si
  __int64 n4; // rbp
  unsigned __int8 *v2; // rbx
  __int64 n6; // rdi
  _BYTE *v4; // r8
  __int64 v5; // rax
  const CHAR8 *successfully_grayed_out_n; // rdx
  _BYTE v7[40]; // [rsp+20h] [rbp-28h] BYREF

  v0 = 0; /*0x33c1*/
  DebugPrint(0x40u, "\n GrayoutSecureEraseIntelDcpmm Entry \n"); /*0x33c4*/
  n4 = 4; /*0x33d5*/
  v2 = (unsigned __int8 *)(HiiStringToToken2((__int64)&unk_F9E0) + 12518); /*0x33d9*/
  do /*0x344b*/
  {
    n6 = 6; /*0x33e0*/
    do /*0x3445*/
    {
      DebugPrint(0x40u, "\n systemMemoryMap.SetSecureEraseSktChHob[Socket][ch] = %d \n", *v2); /*0x33f3*/
      if ( *v2 == 1 ) /*0x33fb*/
      {
        v4 = &v7[v0]; /*0x3406*/
        *v4 = 1; /*0x3417*/
        v5 = SetupVariableReadback((__int64)&unk_FAB0, v0 + 348LL, (__int64)v4); /*0x341b*/
        successfully_grayed_out_n = "successfully grayed out\n"; /*0x3420*/
        if ( v5 ) /*0x342d*/
          successfully_grayed_out_n = "Failed to gray out!\n"; /*0x342f*/
        DebugPrint(0x40u, successfully_grayed_out_n); /*0x3436*/
      }
      ++v0; /*0x343b*/
      ++v2; /*0x343e*/
      --n6; /*0x3441*/
    }
    while ( n6 ); /*0x3445*/
    --n4; /*0x3447*/
  }
  while ( n4 ); /*0x344b*/
  DebugPrint(0x40u, "\n GrayoutSecureEraseIntelDcpmm Exit \n"); /*0x3457*/
}
