anchor.diff:      Setlength(Name, 1000);
       Setlength(Name, GetModuleFileName(Handle, @name[1], Length(Name)));
   
  -    if Cardinal(ProcName)>$10000 then
  -      LOG('GetProcAddress("'+Name+ '", "'+ ProcName+'")')
  -    else
  -      LOG('GetProcAddress("'+ Name+'", '+ IntToStr(Cardinal(ProcName))+')');
  +    // this is already covered in the "log getProcAddress" feature
  +    //if Cardinal(ProcName)>$10000 then
  +    //  LOG('GetProcAddress("'+Name+ '", "'+ ProcName+'")')
  +    //else
  +    //  LOG('GetProcAddress("'+ Name+'", '+ IntToStr(Cardinal(ProcName))+')');
   
       Name := lowercase(Extractfilename(Name));
   
  
positive.code:   Ofs := 0;
    Target[Ofs] := $60;  // pusha
    Inc(Ofs, 1);
    Target[Ofs] := $68;  // push ident
    Inc(Ofs, 1);
  
    // Target[Ofs] := $C3;  // int 3
    // Inc(Ofs, 1);
  
    PInteger(@Target[Ofs])^ := Ident; // 2 3 4 5
    Inc(Ofs, 4);
  
    (*
    Target[Ofs] := $9A;
    Inc(Ofs);
    PPointer(@Target[Ofs])^ := LogCall;
    Inc(Ofs, 4);      *)
  
    Target[Ofs] := $e8; // call log
    Inc(Ofs, 1);
    // 7 8 9 10
    PInteger(@Target[Ofs])^ := PtrUInt(LogCall) - PtrUInt(@Target[Ofs+4]);
    Inc(Ofs, 4);
  
    Target[Ofs] := $61; // popa
    Inc(Ofs);
  
    (*
    Target[Ofs] := $68; // push addr
    Inc(Ofs);
    PPointer(@Target[Ofs])^ := OriginalProc;
    Inc(Ofs, 4);
    Target[Ofs] := $cb; // $9A;
    Inc(Ofs); *)
  
    Target[Ofs] := $e9; // call original proc
    Inc(Ofs);
    // 13 14 15 16
    PInteger(@Target[Ofs])^ := PtrUInt(OriginalProc) - PtrUInt(@Target[Ofs+4]);
    Inc(Ofs, 4);
  
    Target[Ofs] := $cb; // ret
  
negative.code:       end;
      end else
      begin
        LOG('Maximum number of functions have been hooked!');
        result := False;
      end;
    finally
      FCS.Leave;
    end;
  end;
  
  
  initialization
  finale := False;
  