Pero.. buscaste las referencias a esa variable dentro de la DLL??
Asi podes ver las partes del codigo que la acceden/escriben...
MODIFICADOEstas son las referencias a la variable:
References in Jabo_Dir:.text to 100C39A4
Address Disassembly Comment
10007EC3 CMP DWORD PTR DS:[100C39A4],EDI
10007F2A MOV DWORD PTR DS:[100C39A4],EDI
10008107 CMP DWORD PTR DS:[100C39A4],0 DS:[100C39A4]=00000000
100082A3 CMP DWORD PTR DS:[100C39A4],0 DS:[100C39A4]=00000000
100083F9 CMP DWORD PTR DS:[100C39A4],1 DS:[100C39A4]=00000000
1000842D MOV DWORD PTR DS:[100C39A4],EAX
10008930 CMP DWORD PTR DS:[100C39A4],1 DS:[100C39A4]=00000000
1000A5B6 CMP DWORD PTR DS:[100C39A4],ESI (Initial CPU selection)
1000A763 CMP DWORD PTR DS:[100C39A4],0 DS:[100C39A4]=00000000
1000A940 CMP DWORD PTR DS:[100C39A4],1 DS:[100C39A4]=00000000
1000AF71 CMP DWORD PTR DS:[100C39A4],EDI
1000B040 MOV DWORD PTR DS:[100C39A4],EAX
1000B0C0 CMP DWORD PTR DS:[100C39A4],1 DS:[100C39A4]=00000000
Fijate que hay 3 MOV's. Poniendo un BP en cada uno ves cual para antes de que se inicialice la DLL.
Luego, podes tracear hacia atras, buscando que es lo que verifica para que esa variable termine con el valor cero....
Parece que eso es todo.
Saludos!