LocalGetStringForControl

NTSTATUS __stdcall LocalGetStringForControl(UINT16 ControlCode, UINT64 LookupFlags, WCHAR **ControlString){
  int v3; 
  int v5; 
  unsigned int v6; 
  int *v7; 
  unsigned int i; 
  WCHAR *v9; 
  __int16 Src[256]; 

  v3 = ControlCode;
  v5 = LookupFlags;
  v6 = 0;
  if( !ControlString )
    return 87;
  *ControlString = 0i64;
  v7 = &dword_14000737C;
  for( i = 0; i < 6; ++i )
  {
    if( (v5 & v7[1]) == v5 )
    {
      if( *(v7 - 1) + v6 >= 0x100 )
        return 87;
      if( (v3 & *v7) != 0 )
      {
        wcsncpy_s((WCHAR *)&Src[v6], 256i64 - v6, *(WCHAR **)(v7 - 3), (unsigned int)*(v7 - 1));
        v6 += *(v7 - 1);
      }
    }
    v7 += 6;
  }
  if( 2 * (unsigned __int64)v6 >= 0x200 )
    _report_rangecheckfailure();
  Src[v6] = 0;
  if( !v6 )
    return 0;
  v9 = (WCHAR *)SddlpAlloc(2i64 * (v6 + 1), LookupFlags, (UINT64)ControlString);
  *ControlString = v9;
  if( v9 )
  {
    wcscpy_s(v9, v6 + 1, (PWCHAR)Src);
    return 0;
  }
  return 8;
}

Referenced by:

LocalConvertSDToStringSD_Rev1