.386 .model flat, stdcall option casemap:none include windows.inc include user32.inc include kernel32.inc includelib user32.lib includelib kernel32.lib .data Caption db "Exported Function",0 Text1 db "You called function 1 from MyDLL",0 Text2 db "You called function 2 from MyDLL",0 .code DLLEntry proc hInstDLL:DWORD, reason:DWORD, unused:DWORD mov eax,TRUE ; no conditions needed here Ret ; no need to save hInstDLL DLLEntry Endp ; simply put TRUE in EAX to continue loading the DLL _ExpFunc1 proc invoke MessageBox,0,addr Text1,addr Caption,MB_OK Ret _ExpFunc1 EndP _ExpFunc2 proc invoke MessageBox,0,addr Text2,addr Caption,MB_OK Ret _ExpFunc2 EndP end DLLEntry