 L32ext.dll
--------------
is extension for loader32.exe (c) Compuware Corp.
It can be loaded for example as:
 apihooks.exe -nq l32ext.dll loader32.exe
 or
 apihooks.exe -oq l32ext.dll loader32.exe
 or from your application.
It's purpose is:
 0) to suppress showing error message box.
 1) to load aasice.dll module into the process
    to debug in SoftICE.
 2) to set breakpoint to the main module entry.
Ad 1) aasice.dll is against several SoftICE detections
Ad 2) it is useful when debugger doesn't stop at main
      module entry (although you can force debugger to
      stop there by simpler ways).
      Required is  BPINT 4.

Functionality:
 BPINT 04  IF ((WORD(((EIP-2)->0))==0x4CD)&&(EIP>0x10000))
 ;Start the process.
 ;aasice.dll is uploaded to the process.
 ;0CDH 004H bytes (INT 4) are written to the main module entry.
 ;Debugger stops at main module entry: due to loader
 ;or due to BPINT 4 breakpoint.
 ;Find line "L32EXT: Copy&Paste EW XXXXXXXX YY" in
 ;debugger's console and copy&paste and enter
 EW XXXXXXXX YY
 ;This will write the original byte back.
 ;Start debugging.


 aasice.dll
------------
is anti SoftICE detection unit. It can baffle the
following soft detections:
 OpenFile(Debugger&Co), OpenRegistry(NuMega),
 INT3 at UHF.
 You can add exec hooks if needed.
There are two versions: for W9X and NT. They differ
in image bases only. Rename aasice9x.dll to aasice.dll
if you use W9X.