	SECTION _TEXT CLASS=CODE USE32
	SECTION _DATA CLASS=DATA USE32
	SECTION _BSS  CLASS=BSS USE32
	SECTION _CONST  CLASS=CONST USE32
	SECTION _STRING  CLASS=STRING USE32
	SECTION cstartup CLASS=INITDATA USE32
	SECTION crundown CLASS=EXITDATA USE32
	SECTION cppinit  CLASS=CPPINIT USE32
	SECTION cppexit  CLASS=CPPEXIT USE32
	GROUP DGROUP _DATA _BSS _CONST _STRING

SECTION _TEXT
[GLOBAL	_srand]
;
; Line 4:	{
;
_srand:
	PUSH	EBP
	MOV	EBP,ESP
;
; Line 5:		seed = sseed;
;
	MOV	EAX,DWORD [EBP+08H]
	MOV	DWORD [_seed],EAX
;
; Line 6:	}
;
	POP	EBP
	RET
[GLOBAL	_rand]
;
; Line 8:	{
;
_rand:
	PUSH	ESI
	MOV	ESI,DWORD _seed
;
; Line 9:		seed = seed * 0x15a4e35 + 1;
;
	MOV	EAX,DWORD [ESI+00H]
	IMUL	EAX,DWORD 015A4E35H
	INC	EAX
	MOV	DWORD [ESI+00H],EAX
;
; Line 10:		return(seed >> 16);
;
	MOV	EAX,DWORD [ESI+00H]
	SAR	EAX,010H
L_1:
	POP	ESI
	RET

SECTION _DATA
[GLOBAL	_seed]

_seed	DD	045168297H
SECTION _BSS
