// Token: 0x0600071A RID: 1818 RVA: 0x00037968 File Offset: 0x00035B68
 public void ProcessRequest(HttpContext httpContext)
 {
     ExTraceGlobals.AttachmentHandlingTracer.TraceDebug((long)this.GetHashCode(), "AttachmentHandler.ProcessRequest");
     try
     {
         AttachmentUtility.UpdateAcceptEncodingHeader(httpContext);
         OwaContext  owaContext           = OwaContext.Get(httpContext);
         UserContext userContext          = owaContext.UserContext;
         string      text                 = Utilities.GetQueryStringParameter(httpContext.Request, "id");
         string      queryStringParameter = Utilities.GetQueryStringParameter(httpContext.Request, "dla", false);
         bool        flag                 = queryStringParameter == null && this.IsVoiceMailAttachment(httpContext);
         if (flag)
         {
             text = Utilities.GetStringfromBase64String(text);
         }
         OwaStoreObjectId owaStoreObjectId = OwaStoreObjectId.CreateFromString(text);
         using (Item item = Utilities.GetItem <Item>(userContext, owaStoreObjectId, new PropertyDefinition[0]))
         {
             if (item == null)
             {
                 ExTraceGlobals.AttachmentHandlingTracer.TraceError((long)this.GetHashCode(), "AttachmentHandler.ProcessRequest: Unable to retrieve parent item for attachment");
             }
             else
             {
                 if (userContext.IsIrmEnabled && !userContext.IsBasicExperience)
                 {
                     Utilities.IrmDecryptIfRestricted(item, userContext, true);
                 }
                 if (queryStringParameter == null)
                 {
                     this.DownloadOneAttachment(item, userContext, httpContext, flag);
                 }
                 else
                 {
                     string queryStringParameter2 = Utilities.GetQueryStringParameter(httpContext.Request, "femb", false);
                     if (queryStringParameter2 != null)
                     {
                         using (Item embeddedItem = AttachmentUtility.GetEmbeddedItem(item, httpContext.Request, userContext))
                         {
                             if (embeddedItem != null)
                             {
                                 this.DownloadAllAttachments(embeddedItem, httpContext, userContext);
                             }
                             else
                             {
                                 ExTraceGlobals.AttachmentHandlingTracer.TraceError((long)this.GetHashCode(), "AttachmentHandler.ProcessRequest: Failure to obtain reference to embedded item containing attachment");
                             }
                             goto IL_12E;
                         }
                     }
                     this.DownloadAllAttachments(item, httpContext, userContext);
                 }
                 IL_12E :;
             }
         }
     }
     catch (ThreadAbortException)
     {
         OwaContext.Get(httpContext).UnlockMinResourcesOnCriticalError();
     }
 }