	format	MS COFF
	extrn	___bb_CrazyGolf_gametypes
	extrn	___bb_CrazyGolf_global
	extrn	___bb_algorithm_algorithm
	extrn	___bb_blitz_blitz
	extrn	_bbGCFree
	extrn	_bbNullObject
	extrn	_bbObjectClass
	extrn	_bbObjectCompare
	extrn	_bbObjectCtor
	extrn	_bbObjectDowncast
	extrn	_bbObjectDtor
	extrn	_bbObjectFree
	extrn	_bbObjectNew
	extrn	_bbObjectReserved
	extrn	_bbObjectSendMessage
	extrn	_bbObjectToString
	extrn	_bb_TEasyLink
	extrn	_brl_linkedlist_CreateList
	extrn	_brl_max2d_DrawImage
	extrn	_brl_max2d_SetAlpha
	extrn	_brl_max2d_SetColor
	extrn	_brl_max2d_SetScale
	public	___bb_CrazyGolf_particle
	public	__bb_Particles_AddImage
	public	__bb_Particles_AddScaledImage
	public	__bb_Particles_Clear
	public	__bb_Particles_Delete
	public	__bb_Particles_Draw
	public	__bb_Particles_Init
	public	__bb_Particles_New
	public	__bb_Particles_plist
	public	__bb_TParticle_Delete
	public	__bb_TParticle_Image
	public	__bb_TParticle_New
	public	__bb_TParticle_ScaleImage
	public	__bb_TParticle_Update
	public	_bb_Particles
	public	_bb_TParticle
	section	"code" code
___bb_CrazyGolf_particle:
	push	ebp
	mov	ebp,esp
	cmp	dword [_52],0
	je	_53
	mov	eax,0
	mov	esp,ebp
	pop	ebp
	ret
_53:
	mov	dword [_52],1
	call	___bb_blitz_blitz
	call	___bb_algorithm_algorithm
	call	___bb_CrazyGolf_global
	call	___bb_CrazyGolf_gametypes
	mov	eax,0
_7:
	mov	esp,ebp
	pop	ebp
	ret
__bb_TParticle_New:
	push	ebp
	mov	ebp,esp
	push	ebx
	mov	ebx,dword [ebp+8]
	push	ebx
	call	_bbObjectCtor
	add	esp,4
	mov	dword [ebx],_bb_TParticle
	mov	dword [ebx+8],0
	mov	eax,_bbNullObject
	inc	dword [eax+4]
	mov	dword [ebx+12],eax
	fldz
	fstp	qword [ebx+16]
	fldz
	fstp	qword [ebx+24]
	fldz
	fstp	qword [ebx+32]
	fldz
	fstp	qword [ebx+40]
	fldz
	fstp	qword [ebx+48]
	fldz
	fstp	qword [ebx+56]
	fldz
	fstp	qword [ebx+64]
	fldz
	fstp	qword [ebx+72]
	mov	eax,0
_10:
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__bb_TParticle_Delete:
	push	ebp
	mov	ebp,esp
	push	ebx
	mov	ebx,dword [ebp+8]
_13:
	mov	eax,dword [ebx+12]
	dec	dword [eax+4]
	jnz	_57
	push	eax
	call	_bbGCFree
	add	esp,4
_57:
	mov	dword [ebx],_bbObjectClass
	push	ebx
	call	_bbObjectDtor
	add	esp,4
	mov	eax,0
_55:
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__bb_TParticle_Image:
	push	ebp
	mov	ebp,esp
	sub	esp,4
	push	ebx
	push	esi
	push	edi
	mov	esi,dword [ebp+12]
	mov	edi,dword [ebp+16]
	push	_bb_TParticle
	call	_bbObjectNew
	add	esp,4
	mov	ebx,eax
	mov	dword [ebx+8],120
	mov	dword [ebp+-4],esi
	fild	dword [ebp+-4]
	fstp	qword [ebx+16]
	mov	dword [ebp+-4],edi
	fild	dword [ebp+-4]
	fstp	qword [ebx+24]
	fld1
	fstp	qword [ebx+32]
	fld	qword [_96]
	fstp	qword [ebx+56]
	fldz
	fstp	qword [ebx+40]
	fldz
	fstp	qword [ebx+48]
	fld1
	fstp	qword [ebx+64]
	fldz
	fstp	qword [ebx+72]
	mov	esi,dword [ebp+8]
	inc	dword [esi+4]
	mov	eax,dword [ebx+12]
	dec	dword [eax+4]
	jnz	_62
	push	eax
	call	_bbGCFree
	add	esp,4
_62:
	mov	dword [ebx+12],esi
	mov	eax,ebx
_18:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__bb_TParticle_ScaleImage:
	push	ebp
	mov	ebp,esp
	sub	esp,4
	push	ebx
	push	esi
	push	edi
	mov	esi,dword [ebp+12]
	mov	edi,dword [ebp+16]
	push	_bb_TParticle
	call	_bbObjectNew
	add	esp,4
	mov	ebx,eax
	mov	dword [ebx+8],120
	mov	dword [ebp+-4],esi
	fild	dword [ebp+-4]
	fstp	qword [ebx+16]
	mov	dword [ebp+-4],edi
	fild	dword [ebp+-4]
	fstp	qword [ebx+24]
	fld1
	fstp	qword [ebx+32]
	fld	qword [_100]
	fstp	qword [ebx+56]
	fldz
	fstp	qword [ebx+40]
	fldz
	fstp	qword [ebx+48]
	fld1
	fstp	qword [ebx+64]
	fld	qword [ebp+20]
	fstp	qword [ebx+72]
	mov	esi,dword [ebp+8]
	inc	dword [esi+4]
	mov	eax,dword [ebx+12]
	dec	dword [eax+4]
	jnz	_67
	push	eax
	call	_bbGCFree
	add	esp,4
_67:
	mov	dword [ebx+12],esi
	mov	eax,ebx
_24:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__bb_TParticle_Update:
	push	ebp
	mov	ebp,esp
	push	ebx
	mov	ebx,dword [ebp+8]
	fld	qword [ebx+32]
	sub	esp,4
	fstp	dword [esp]
	call	_brl_max2d_SetAlpha
	add	esp,4
	fld	qword [ebx+64]
	sub	esp,4
	fstp	dword [esp]
	fld	qword [ebx+64]
	sub	esp,4
	fstp	dword [esp]
	call	_brl_max2d_SetScale
	add	esp,8
	push	0
	fld	qword [ebx+24]
	sub	esp,4
	fstp	dword [esp]
	fld	qword [ebx+16]
	sub	esp,4
	fstp	dword [esp]
	push	dword [ebx+12]
	call	_brl_max2d_DrawImage
	add	esp,16
	fld	qword [ebx+16]
	fadd	qword [ebx+40]
	fstp	qword [ebx+16]
	fld	qword [ebx+24]
	fadd	qword [ebx+48]
	fstp	qword [ebx+24]
	sub	dword [ebx+8],1
	fld	qword [ebx+32]
	fadd	qword [ebx+56]
	fstp	qword [ebx+32]
	fld	qword [ebx+64]
	fadd	qword [ebx+72]
	fstp	qword [ebx+64]
	mov	eax,dword [ebx+8]
	cmp	eax,0
	setg	al
	movzx	eax,al
_27:
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__bb_Particles_New:
	push	ebp
	mov	ebp,esp
	push	ebx
	mov	ebx,dword [ebp+8]
	push	ebx
	call	_bbObjectCtor
	add	esp,4
	mov	dword [ebx],_bb_Particles
	mov	eax,0
_30:
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__bb_Particles_Delete:
	push	ebp
	mov	ebp,esp
	mov	eax,dword [ebp+8]
_33:
	mov	dword [eax],_bbObjectClass
	push	eax
	call	_bbObjectDtor
	add	esp,4
	mov	eax,0
_68:
	mov	esp,ebp
	pop	ebp
	ret
__bb_Particles_Init:
	push	ebp
	mov	ebp,esp
	push	ebx
	call	_brl_linkedlist_CreateList
	inc	dword [eax+4]
	mov	ebx,eax
	mov	eax,dword [__bb_Particles_plist]
	dec	dword [eax+4]
	jnz	_72
	push	eax
	call	_bbGCFree
	add	esp,4
_72:
	mov	dword [__bb_Particles_plist],ebx
	mov	eax,0
_35:
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__bb_Particles_Clear:
	push	ebp
	mov	ebp,esp
	mov	eax,dword [__bb_Particles_plist]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+52]
	add	esp,4
	mov	eax,0
_37:
	mov	esp,ebp
	pop	ebp
	ret
__bb_Particles_AddImage:
	push	ebp
	mov	ebp,esp
	push	ebx
	push	esi
	push	edi
	mov	esi,dword [ebp+8]
	mov	edi,dword [ebp+12]
	mov	eax,dword [__bb_Particles_plist]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+112]
	add	esp,4
	cmp	eax,1000
	jge	_75
	mov	ebx,dword [__bb_Particles_plist]
	push	dword [ebp+16]
	push	edi
	push	esi
	call	dword [_bb_TParticle+48]
	add	esp,12
	push	eax
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+68]
	add	esp,8
_75:
	mov	eax,0
_42:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__bb_Particles_AddScaledImage:
	push	ebp
	mov	ebp,esp
	push	ebx
	push	esi
	push	edi
	mov	esi,dword [ebp+8]
	mov	edi,dword [ebp+12]
	mov	eax,dword [__bb_Particles_plist]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+112]
	add	esp,4
	cmp	eax,1000
	jge	_78
	mov	ebx,dword [__bb_Particles_plist]
	fld	qword [ebp+20]
	sub	esp,8
	fstp	qword [esp]
	push	dword [ebp+16]
	push	edi
	push	esi
	call	dword [_bb_TParticle+52]
	add	esp,20
	push	eax
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+68]
	add	esp,8
_78:
	mov	eax,0
_48:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__bb_Particles_Draw:
	push	ebp
	mov	ebp,esp
	push	ebx
	push	255
	push	255
	push	255
	call	_brl_max2d_SetColor
	add	esp,12
	push	dword [__bb_Particles_plist]
	call	dword [_bb_TEasyLink+48]
	add	esp,4
	mov	ebx,eax
	jmp	_4
_6:
	push	_bb_TParticle
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+52]
	add	esp,4
	push	eax
	call	_bbObjectDowncast
	add	esp,8
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+56]
	add	esp,4
	cmp	eax,0
	je	_85
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+56]
	add	esp,4
	jmp	_87
_85:
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+60]
	add	esp,4
_87:
_4:
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+52]
	add	esp,4
	cmp	eax,_bbNullObject
	jne	_6
_5:
	push	1065353216
	call	_brl_max2d_SetAlpha
	add	esp,4
	push	1065353216
	push	1065353216
	call	_brl_max2d_SetScale
	add	esp,8
	mov	eax,0
_50:
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
	section	"data" data writeable align 8
	align	4
_52:
	dd	0
	align	4
__bb_Particles_plist:
	dd	_bbNullObject
	align	4
_bb_TParticle:
	dd	_bbObjectClass
	dd	_bbObjectFree
	dd	0
	dd	80
	dd	__bb_TParticle_New
	dd	__bb_TParticle_Delete
	dd	_bbObjectToString
	dd	_bbObjectCompare
	dd	_bbObjectSendMessage
	dd	_bbObjectReserved
	dd	_bbObjectReserved
	dd	_bbObjectReserved
	dd	__bb_TParticle_Image
	dd	__bb_TParticle_ScaleImage
	dd	__bb_TParticle_Update
	align	8
_96:
	dd	0x40000000,0xbf847ae1
	align	8
_100:
	dd	0x40000000,0xbf847ae1
	align	4
_bb_Particles:
	dd	_bbObjectClass
	dd	_bbObjectFree
	dd	0
	dd	8
	dd	__bb_Particles_New
	dd	__bb_Particles_Delete
	dd	_bbObjectToString
	dd	_bbObjectCompare
	dd	_bbObjectSendMessage
	dd	_bbObjectReserved
	dd	_bbObjectReserved
	dd	_bbObjectReserved
	dd	__bb_Particles_Init
	dd	__bb_Particles_Clear
	dd	__bb_Particles_AddImage
	dd	__bb_Particles_AddScaledImage
	dd	__bb_Particles_Draw
