Melt 2 tablespoons butter in a 5-quart pot over moderate heat. Add shrimp shells, 1/2 of the onion, and 1 tablespoon garlic; cook, stirring occasionally, until shells turn bright pink and edges begin to turn golden brown, about 4 minutes. Add wine and 4 cups water; simmer, stirring occasionally, until liquid is reduced to 4 cups, about 20 minutes. Strain stock through a fine sieve set over a bowl, discarding solids; reserve pot.
Melt remaining 2 tablespoons butter over moderate heat in reserved pot. Add remaining onion, the peppers, and cumin; cook, stirring occasionally, until onion is tender, about 3 minutes. Add remaining 2 teaspoons garlic and cook, stirring 1 minute. Add shrimp broth and potatoes; simmer, stirring occasionally, until potatoes are fork-tender, adding more water to cover potatoes if necessary, about 20 minutes. Mash some of the Yukon Gold potatoes with a fork to thicken soup. Stir in shrimp and corn; simmer until shrimp are just cooked through, about 3 minutes. Add half-and-half, juice, and cilantro; salt and pepper to taste.