Microsoft (R) Macro Assembler Version 6.14.8444		    04/30/09 14:00:44
C:\RadASM\Masm\Projects\VSYCRT\VSYCRT.Asm		     Page 1 - 1



				.486
				.model flat,stdcall
				option casemap:none

 00000000			.code
 00000000			DllEntry proc hInst:DWORD, reason:DWORD, reserved1:DWORD
 00000000  55		   *	    push   ebp
 00000001  8B EC	   *	    mov    ebp, esp
 00000003  B8 00000001		    mov     eax,1
				    ret
 00000008  C9		   *	    leave  
 00000009  C2 000C	   *	    ret    0000Ch
 0000000C			DllEntry Endp
 0000000C			CheckMemory proc  Source:DWORD ,Dest:DWORD ,s_length:DWORD ,d_length :DWORD 
				LOCAL rt:dword
 0000000C  55		   *	    push   ebp
 0000000D  8B EC	   *	    mov    ebp, esp
 0000000F  83 C4 FC	   *	    add    esp, 0FFFFFFFCh
 00000012  60				pushad
 00000013  8B 45 10			mov eax,s_length
 00000016  03 45 08			add eax,Source
 00000019  8B 4D 14			mov ecx,d_length
 0000001C  2B C1			sub eax,ecx
 0000001E  89 45 FC			mov rt,eax
 00000021  8B 7D 08			mov edi,Source
 00000024  8B 75 0C			mov esi,Dest
 00000027  8A 1E			mov bl,byte ptr [esi]
 00000029  8B D1			mov edx,ecx
 0000002B			$loop:
 0000002B  38 1F			cmp byte ptr [edi],bl
 0000002D  75 23			jne $next
 0000002F  49				dec ecx
 00000030			$cmps:
 00000030  8A 47 01				mov al,byte ptr [edi+1]
 00000033  3A 46 01				cmp al,byte ptr [esi+1]
 00000036  75 0A				jne $cmpends	
 00000038  49					dec ecx
 00000039  47					inc edi
 0000003A  46					inc esi
 0000003B  83 F9 00				cmp ecx,0
 0000003E  74 1C				je $exit
 00000040  EB EE				jmp $cmps
 00000042			$cmpends:
 00000042  41				inc ecx
 00000043  2B D1			sub edx,ecx
 00000045  2B FA			sub edi,edx
 00000047  8B 75 0C			mov esi,Dest
 0000004A  8B 4D 14			mov ecx,d_length
 0000004D  47				inc edi
 0000004E  8B D1			mov edx,ecx
 00000050  EB D9			jmp $loop 
 00000052			$next:
 00000052  3B C7			cmp eax,edi
 00000054  74 06			je $exit
 00000056  8B 45 FC			mov eax,rt

 00000059  47				inc edi
 0000005A  EB CF			jmp $loop
 0000005C			$exit:
 0000005C  89 4D FC			mov rt,ecx
 0000005F  61				popad
 00000060  8B 45 FC			mov eax,rt
					
					ret
 00000063  C9		   *	    leave  
 00000064  C2 0010	   *	    ret    00010h
 00000067			CheckMemory endp

 00000067			Memcmp proc Source:DWORD, Desr:DWORD, Sizes:DWORD
 00000067  55		   *	    push   ebp
 00000068  8B EC	   *	    mov    ebp, esp
 0000006A  60			pushad
 0000006B  8B 4D 10		mov ecx,Sizes
 0000006E  8B 7D 08		mov Edi, Source
 00000071  8B 75 0C		mov Esi, Desr
 00000074  F3/ A6		REPZ CMPSB
 00000076  8B C1		mov eax,ecx
 00000078  61			popad
				ret
 00000079  C9		   *	    leave  
 0000007A  C2 000C	   *	    ret    0000Ch
 0000007D			Memcmp endp

 0000007D			KeCheckMemory proc  Source:DWORD ,Dest:DWORD ,s_length:DWORD ,d_length :DWORD 
 0000007D  55		   *	    push   ebp
 0000007E  8B EC	   *	    mov    ebp, esp
 00000080  8B 45 10		mov eax,s_length
				.if eax<d_length
 00000083  3B 45 14	   *	    cmp    eax, d_length
 00000086  73 02	   *	    jae    @C0001
 00000088  EB 3E		jmp endx
				.endif
 0000008A		   *@C0001:
				.if d_length<4
 0000008A  83 7D 14 04	   *	    cmp    d_length, 004h
 0000008E  73 02	   *	    jae    @C0003
 00000090  EB 36		jmp endx
				.endif
 00000092		   *@C0003:
 00000092  8B 5D 08		mov ebx,Source
 00000095  8B 4D 10		mov ecx,s_length
 00000098  8B 55 0C		mov edx,Dest
				.while cx
 0000009B  EB 21	   *	    jmp    @C0005
 0000009D		   *@C0006:
 0000009D  8B 33			mov esi,dword ptr [ebx]
					.if esi==dword ptr [edx]
 0000009F  3B 32	   *	    cmp    esi, dword ptr [edx]
 000000A1  75 19	   *	    jne    @C0007
						invoke Memcmp,Source,Dest,d_length
 000000A3  FF 75 14	   *	    push   dword  ptr ss:[ebp]+000000014h
 000000A6  FF 75 0C	   *	    push   dword  ptr ss:[ebp]+00000000Ch
 000000A9  FF 75 08	   *	    push   dword  ptr ss:[ebp]+000000008h
 000000AC  E8 FFFFFFB6	   *	    call   Memcmp
						.if eax==0
 000000B1  0B C0	   *	    or	eax, eax
 000000B3  75 07	   *	    jne    @C0009
 000000B5  B8 00000000					mov eax,0
 000000BA  EB 0C					jmp endx
						.endif
					.endif
 000000BC		   *@C0009:
 000000BC		   *@C0007:
 000000BC  66| 49		dec cx
				.endw
 000000BE		   *@C0005:
 000000BE  66| 0B C9	   *	    or	cx, cx
 000000C1  75 DA	   *	    jne    @C0006
 000000C3  B8 00000001		mov eax,1
 000000C8			endx:
				ret
 000000C8  C9		   *	    leave  
 000000C9  C2 0010	   *	    ret    00010h

 000000CC			KeCheckMemory endp

 000000CC			KeCheckMemoryx proc  
 000000CC  B8 00038F3C		mov eax,233276
 000000D1  BB 0004368F		mov ebx,276111
				.if eax!=ebx
 000000D6  3B C3	   *	    cmp    eax, ebx
 000000D8  74 02	   *	    je     @C000C
 000000DA  EB 00		 jmp endt	
				.endif
 000000DC		   *@C000C:
 000000DC			endt:
 000000DC  B8 00000000		mov eax,0
 000000E1  C3			ret
 000000E2			KeCheckMemoryx endp

				End DllEntry
Microsoft (R) Macro Assembler Version 6.14.8444		    04/30/09 14:00:44
C:\RadASM\Masm\Projects\VSYCRT\VSYCRT.Asm		     Symbols 2 - 1




Segments and Groups:

                N a m e                 Size     Length   Align   Combine Class

FLAT . . . . . . . . . . . . . .	GROUP
_DATA  . . . . . . . . . . . . .	32 Bit	 00000000 Para	  Public  'DATA'	
_TEXT  . . . . . . . . . . . . .	32 Bit	 000000E2 Para	  Public  'CODE'	


Procedures,  parameters and locals:

                N a m e                 Type     Value    Attr

CheckMemory  . . . . . . . . . .	P Near	 0000000C _TEXT	Length= 0000005B Public STDCALL
  Source . . . . . . . . . . . .	DWord	 bp + 00000008
  Dest . . . . . . . . . . . . .	DWord	 bp + 0000000C
  s_length . . . . . . . . . . .	DWord	 bp + 00000010
  d_length . . . . . . . . . . .	DWord	 bp + 00000014
  rt . . . . . . . . . . . . . .	DWord	 bp - 00000004
  $loop  . . . . . . . . . . . .	L Near	 0000002B _TEXT	
  $cmps  . . . . . . . . . . . .	L Near	 00000030 _TEXT	
  $cmpends . . . . . . . . . . .	L Near	 00000042 _TEXT	
  $next  . . . . . . . . . . . .	L Near	 00000052 _TEXT	
  $exit  . . . . . . . . . . . .	L Near	 0000005C _TEXT	
DllEntry . . . . . . . . . . . .	P Near	 00000000 _TEXT	Length= 0000000C Public STDCALL
  hInst  . . . . . . . . . . . .	DWord	 bp + 00000008
  reason . . . . . . . . . . . .	DWord	 bp + 0000000C
  reserved1  . . . . . . . . . .	DWord	 bp + 00000010
KeCheckMemoryx . . . . . . . . .	P Near	 000000CC _TEXT	Length= 00000016 Public STDCALL
  endt . . . . . . . . . . . . .	L Near	 000000DC _TEXT	
KeCheckMemory  . . . . . . . . .	P Near	 0000007D _TEXT	Length= 0000004F Public STDCALL
  Source . . . . . . . . . . . .	DWord	 bp + 00000008
  Dest . . . . . . . . . . . . .	DWord	 bp + 0000000C
  s_length . . . . . . . . . . .	DWord	 bp + 00000010
  d_length . . . . . . . . . . .	DWord	 bp + 00000014
  endx . . . . . . . . . . . . .	L Near	 000000C8 _TEXT	
Memcmp . . . . . . . . . . . . .	P Near	 00000067 _TEXT	Length= 00000016 Public STDCALL
  Source . . . . . . . . . . . .	DWord	 bp + 00000008
  Desr . . . . . . . . . . . . .	DWord	 bp + 0000000C
  Sizes  . . . . . . . . . . . .	DWord	 bp + 00000010


Symbols:

                N a m e                 Type     Value    Attr

@CodeSize  . . . . . . . . . . .	Number	 00000000h   
@DataSize  . . . . . . . . . . .	Number	 00000000h   
@Interface . . . . . . . . . . .	Number	 00000003h   
@Model . . . . . . . . . . . . .	Number	 00000007h   
@code  . . . . . . . . . . . . .	Text   	 _TEXT
@data  . . . . . . . . . . . . .	Text   	 FLAT
@fardata?  . . . . . . . . . . .	Text   	 FLAT
@fardata . . . . . . . . . . . .	Text   	 FLAT
@stack . . . . . . . . . . . . .	Text   	 FLAT

	   0 Warnings
	   0 Errors
