OPTION DOTNAME
include includes\temphls.inc
include includes\win64.inc
include includes\user32.inc
includelib includes\user32.lib
OPTION PROLOGUE:none
OPTION EPILOGUE:none
.data
AppName db "DLL Skeleton",0
HelloMsg db "Hello, you're calling a function in this DLL",0
LoadMsg db "The DLL is loaded",0
UnloadMsg db "The DLL is unloaded",0
SHAMsg db "SHA256 is started",0
.code
DllMain proc hInstDLL:QWORD, reason:QWORD, unused:QWORD
	sub rsp,28h
	.if edx==DLL_PROCESS_ATTACH
		lea rdx,LoadMsg
		jmp exit
	.elseif edx==DLL_PROCESS_DETACH
		lea rdx,UnloadMsg
	.endif 
	mov r9d,MB_OK
	jmp exit
DllMain Endp
TestHello proc 
	sub rsp,28h
	lea rdx,HelloMsg
	mov r9d,MB_OK + MB_ICONERROR
exit::	lea r8,AppName
	xor rcx,rcx
	call MessageBox
	add rsp,28h
	mov rax,TRUE
	ret
TestHello endp
Sha256 proc h_line:QWORD, h_size:QWORD
sub rsp,28h
;Основа
	lea rdx,SHAMsg
	mov r9d,MB_OK + MB_ICONERROR
	lea r8,AppName
	xor ecx,ecx
	call MessageBoxW
	add rsp,28h
	mov rax,TRUE
	ret
Sha256 Endp
end