	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	_strtok]
;
; Line 7:	{
;
_strtok:
	PUSH	EBP
	MOV	EBP,ESP
	PUSH	EBX
	PUSH	ESI
	MOV	EBX,DWORD [EBP+08H]
	MOV	ESI,DWORD _pos
;
; Line 8:		if (string == 0) {
;
	TEST	EBX,EBX
	JNE	SHORT	L_1
;
; Line 9:			string = pos;
;
	MOV	EBX,DWORD [ESI+00H]
;
; Line 10:			if (string == 0)
;
	TEST	EBX,EBX
	JNE	SHORT	L_3
;
; Line 11:				return 0;
;
	MOV	EAX,00H
	JMP	L_5
L_3:
;
; Line 12:		}
;
L_1:
;
; Line 13:		if (!string || *string == 0)
;
	TEST	EBX,EBX
	JE	SHORT	L_8
	MOVSX	EAX,BYTE [EBX+00H]
	TEST	EAX,EAX
	JNE	SHORT	L_6
L_8:
;
; Line 14:			return 0;
;
	MOV	EAX,00H
	JMP	L_5
L_6:
;
; Line 15:		pos = strpbrk(string,string2);
;
	PUSH	DWORD [EBP+0CH]
	PUSH	EBX
	CALL	_strpbrk
	ADD	ESP,BYTE 08H
	MOV	DWORD [ESI+00H],EAX
;
; Line 16:		if (!*pos)
;
	MOV	EAX,DWORD [ESI+00H]
	CMP	BYTE [EAX+00H],BYTE 00H
	JNE	SHORT	L_9
;
; Line 17:			return 0;
;
	MOV	EAX,00H
	JMP	L_5
L_9:
;
; Line 18:		*pos++ = 0;
;
	MOV	EAX,DWORD [ESI+00H]
	INC	DWORD [ESI+00H]
	MOV	BYTE [EAX+00H],00H
;
; Line 19:		return string;
;
	MOV	EAX,EBX
L_5:
	POP	ESI
	POP	EBX
	POP	EBP
	RET

SECTION _DATA

_pos	DD	00H
SECTION _BSS

SECTION _TEXT
[EXTERN	_strpbrk]
