public static string GetSteamUsername(string steamApiKey, string steamId32Bit)
        {
            string steamId64Bit = SteamUtil.ConvertSteamId32BitTo64Bit(steamId32Bit);

            string apiUrl = string.Format("{0}/ISteamUser/GetPlayerSummaries/v0002/?key={1}&steamids={2}", steamBaseApiUrl, steamApiKey, steamId64Bit);

            try
            {
                WebClient webClient  = new WebClient();
                string    jsonString = webClient.DownloadString(apiUrl);

                dynamic dynamicJsonObject = JsonConvert.DeserializeObject(jsonString);

                return(dynamicJsonObject.response.players[0].personaname);
            }
            catch
            {
                return(null);
            }
        }
        static void Main(string[] args)
        {
            Console.Title = "SteamShots.NET";

            PrintWelcome();
            if (!FileUtil.ApiKeyFileExists())
            {
                string apiKeyFileName = FileUtil.CreateApiKeyFile();

                PrintHiglightError("You must supply a valid Steam Web API key!");
                Console.WriteLine(string.Format("Please insert your API key in the {0} file", apiKeyFileName));
                WaitForInput();
                Environment.Exit(0);
            }

            FileUtil.CreateSteamShotsDirectory();

            string steamInstallPath = RegistryUtil.GetSteamInstallPath();

            if (steamInstallPath == null)
            {
                PrintHiglightError("Steam does not appear to be installed!");
                WaitForInput();
                Environment.Exit(0);
            }

            PrintHiglightInfo("Discovered Steam: ", steamInstallPath);

            IEnumerable <string> steamUserIds = SteamUtil.GetUserProfiles();

            if (steamUserIds == null || !steamUserIds.Any())
            {
                PrintHiglightError("No Steam screenshots discovered!");
                WaitForInput();
                Environment.Exit(0);
            }

            PrintHiglightInfo("Discovered users with IDs: ", "{ " + string.Join(", ", steamUserIds.ToArray <string>()) + " }");

            foreach (string steamUserId in steamUserIds)
            {
                string steamUsername = SteamApiUtil.GetSteamUsername(FileUtil.ReadApiKey(), steamUserId);

                if (steamUsername != null)
                {
                    PrintHiglightSuccess(string.Format("Resolved Steam user ID {0}: ", steamUserId), steamUsername);

                    IEnumerable <string> gameIds = SteamUtil.GetGamesWithScreenshots(steamUserId);

                    if (gameIds == null || !gameIds.Any())
                    {
                        PrintInlineHighlight("Discovered ", gameIds.Count().ToString(), " games");
                        PrintHiglightWarning("The following user has no game screenshots: ", steamUsername);
                    }
                    else
                    {
                        PrintHiglightInfo("Discovered games with SteamApp IDs: ", "{ " + string.Join(", ", gameIds.ToArray <string>()) + " }");

                        foreach (string gameId in gameIds)
                        {
                            string gameName = SteamApiUtil.GetSteamGameName(gameId);

                            if (gameName != null)
                            {
                                PrintHiglightSuccess(string.Format("Resolved game SteamApp ID {0}: ", gameId), gameName);
                                int screenshotCopyCount = FileUtil.CopyContentsToSteamShots(SteamUtil.GetGameScreenshotsFullPath(steamUserId, gameId), steamUsername, gameName);
                                PrintInlineHighlight("Copied ", screenshotCopyCount.ToString(), " screensots!");
                            }
                            else
                            {
                                PrintHiglightWarning("The following SteamApp ID couldn't resolve: ", gameId);
                            }
                        }

                        Console.WriteLine();
                    }
                }
                else
                {
                    PrintHiglightWarning("The following Steam ID couldn't resolve: ", steamUserId);
                }
            }

            PrintFinished();
            WaitForInput();
        }