KsepGetModuleInfoByName

NTSTATUS __stdcall KsepGetModuleInfoByName(WCHAR *ModuleName, _RTL_PROCESS_MODULES *LoadedModules, VOID **BaseAddress){
  int v5; 
  int v6; 
  _RTL_PROCESS_MODULES *v7; 
  _STRING DestinationString; 
  _UNICODE_STRING SourceString; 
  _STRING String1; 

  DestinationString = 0i64;
  String1 = 0i64;
  SourceString = 0i64;
  if( !ModuleName || !BaseAddress || !LoadedModules )
    return -1073741811;
  RtlInitUnicodeString(&SourceString, ModuleName);
  v5 = RtlUnicodeStringToAnsiString(&DestinationString, &SourceString, 1u);
  if( v5 >= 0 )
  {
    v6 = 0;
    if( *LoadedModules )
    {
      while( 1 )
      {
        v7 = &LoadedModules[74 * v6 + 2];
        RtlInitAnsiString(&String1, (PCSZ)v7 + *((unsigned __int16 *)v7 + 19) + 40);
        if( !RtlCompareString(&String1, &DestinationString, 1u) )
          break;
        if( ++v6 >= (unsigned int)*LoadedModules )
          goto LABEL_8;
      }
      v5 = 0;
      *BaseAddress = (VOID *)*((_QWORD *)v7 + 2);
    }
    else
    {
LABEL_8:
      v5 = -1073741275;
    }
  }
  if( DestinationString.Buffer )
    RtlFreeAnsiString((_UNICODE_STRING *)&DestinationString);
  return v5;
}

Referenced by:

KsepResolveShimHooks