The reason why you are receiving the `SiteContext` as **micrositemain** is because `url.Host` will return `microsite.mysite.com`.

Please see updated `SiteDefinition` below:

    name="micrositemainone"
    hostName="microsite.mysite.com" 
    virtualFolder="/{language_here}/company1" //ex: /en/company1
    startItem="/en/Home"
    physicalFolder="/{language_here}/company1" 
    rootPath="/sitecore/content/Site/Microsites/company1" 
    SiteSettingsNode="/sitecore/content/Site/Microsites/company1/Site Settings"
    
    name="micrositemain" 
    hostName="microsite.mysite.com" 
    virtualFolder="/"  
    startItem="/Home"
    physicalFolder="/" 
    rootPath="/sitecore/content/Site/Microsite/Main"  
    SiteSettingsNode="/sitecore/content/Site/Microsites/Main/Site Settings"