Over medium-high-heat, heat olive oil in large (6-6 quart) saucepan. Add the onion & saute till tender. Then add the garlic and cook for another 30 seconds.
Add chicken broth, cumin, paprika, green chilies, lime juice, cayenne, oregano and season with pepper and salt to taste. Next drain and rinse beans in a strainer.
Measure out a big ladleful of the beans and put it in a food processor with a little broth from the soup. Blend till smooth (this step is optional, but it will give you the creamy & thick texture). Add whole beans, pureed beans and corn to the soup pot.
Bring the mixture simmer and cook for about 15-30 minutes, then cover and continue to cook. Remove from heat. Stir in the sour cream, cooked chicken.
Serve garnished with shredded cheese, cilantro, tortilla chips and avocado slices if desired.