	.reference	___bb_blitz_blitz
	.reference	___bb_imports_constants
	.reference	___bb_imports_prop
	.reference	_bbArrayNew
	.reference	_bbConvertToFloat
	.reference	_bbEmptyArray
	.reference	_bbFloatToInt
	.reference	_bbFloatTypeTag
	.reference	_bbGCFree
	.reference	_bbIntTypeTag
	.reference	_bbNullObject
	.reference	_bbObjectClass
	.reference	_bbObjectCompare
	.reference	_bbObjectCtor
	.reference	_bbObjectFree
	.reference	_bbObjectNew
	.reference	_bbObjectRegisterType
	.reference	_bbObjectReserved
	.reference	_bbObjectSendMessage
	.reference	_bbObjectToString
	.reference	_bbStringClass
	.reference	_bb_TProp
	.globl	___bb_imports_segment
	.globl	__bb_TSegment_Create
	.globl	__bb_TSegment_Delete
	.globl	__bb_TSegment_New
	.globl	__bb_TSegment_checkLap
	.globl	__bb_TSegment_checkNext
	.globl	__bb_TSegment_createDummySegment
	.globl	__bb_TSegment_createStartSegment
	.globl	__bb_TSegment_gFirstSegment
	.globl	__bb_TSegment_gHorizonYOffset
	.globl	__bb_TSegment_gLastSegment
	.globl	__bb_TSegment_gMaxZ
	.globl	__bb_TSegment_gMinZ
	.globl	__bb_TSegment_gSegmentData
	.globl	__bb_TSegment_gSegmentIndex
	.globl	__bb_TSegment_gSignSide
	.globl	__bb_TSegment_getHorizonYOffset
	.globl	__bb_TSegment_getNextSegmentDXFraction
	.globl	__bb_TSegment_getNextSegmentDYFraction
	.globl	__bb_TSegment_init
	.globl	__bb_TSegment_readSegmentData
	.globl	__bb_TSegment_removeAll
	.globl	__bb_TSegment_update
	.globl	__bb_TSegment_updateAll
	.globl	_bb_TSegment
	.text	
___bb_imports_segment:
	push	%ebp
	mov	%esp,%ebp
	sub	$8,%esp
	cmpl	$0,_105
	je	_106
	mov	$0,%eax
	mov	%ebp,%esp
	pop	%ebp
	ret
_106:
	movl	$1,_105
	movl	$_104,_103
	call	___bb_blitz_blitz
	call	___bb_imports_constants
	call	___bb_imports_prop
	movl	$_bb_TSegment,(%esp)
	call	_bbObjectRegisterType
_13:
	mov	$0,%eax
	jmp	_55
_55:
	mov	%ebp,%esp
	pop	%ebp
	ret
__bb_TSegment_New:
	push	%ebp
	mov	%esp,%ebp
	push	%ebx
	sub	$4,%esp
	movl	8(%ebp),%ebx
	movl	%ebx,(%esp)
	call	_bbObjectCtor
	movl	$_bb_TSegment,(%ebx)
	fldz
	fstps	8(%ebx)
	fldz
	fstps	12(%ebx)
	fldz
	fstps	16(%ebx)
	fldz
	fstps	20(%ebx)
	movl	$0,24(%ebx)
	movl	$0,28(%ebx)
	fldz
	fstps	32(%ebx)
	fldz
	fstps	36(%ebx)
	movl	$0,40(%ebx)
	movl	$0,44(%ebx)
	mov	$_bbNullObject,%eax
	incl	4(%eax)
	movl	%eax,48(%ebx)
	mov	$0,%eax
	jmp	_58
_58:
	add	$4,%esp
	pop	%ebx
	mov	%ebp,%esp
	pop	%ebp
	ret
__bb_TSegment_Delete:
	push	%ebp
	mov	%esp,%ebp
	sub	$8,%esp
	movl	8(%ebp),%eax
_61:
	movl	48(%eax),%eax
	decl	4(%eax)
	jnz	_110
	movl	%eax,(%esp)
	call	_bbGCFree
_110:
	mov	$0,%eax
	jmp	_108
_108:
	mov	%ebp,%esp
	pop	%ebp
	ret
__bb_TSegment_Create:
	push	%ebp
	mov	%esp,%ebp
	sub	$4,%esp
	push	%ebx
	push	%esi
	push	%edi
	sub	$24,%esp
	movl	24(%ebp),%edi
	movl	$_bb_TSegment,(%esp)
	call	_bbObjectNew
	mov	%eax,%esi
	flds	8(%ebp)
	fstps	8(%esi)
	flds	12(%ebp)
	fstps	12(%esi)
	flds	12(%ebp)
	fmuls	_220
	fstps	16(%esi)
	flds	16(%ebp)
	fmuls	_221
	fstps	20(%esi)
	cmp	$30,%edi
	setge	%al
	movzbl	%al,%eax
	cmp	$0,%eax
	je	_112
	cmp	$32,%edi
	setle	%al
	movzbl	%al,%eax
_112:
	cmp	$0,%eax
	je	_114
	movl	$1,24(%esi)
	movl	$50,28(%esi)
	cmp	$30,%edi
	jne	_115
	movl	$13,8(%esp)
	fldz
	fstps	4(%esp)
	flds	8(%ebp)
	fstps	(%esp)
	calll	*_bb_TProp+156
_115:
	jmp	_116
_114:
	movl	$0,24(%esi)
_116:
	cmpl	$0,24(%esi)
	jne	_117
	flds	_222
	flds	16(%ebp)
	fucompp
	fnstsw	%ax
	sahf
	seta	%al
	movzbl	%al,%eax
	cmp	$0,%eax
	jne	_118
	movl	$0,8(%esp)
	fldz
	fstps	4(%esp)
	flds	__bb_TSegment_gMaxZ
	fmuls	_223
	fstps	(%esp)
	calll	*_bb_TProp+156
	movl	$0,8(%esp)
	fldz
	fstps	4(%esp)
	flds	__bb_TSegment_gMaxZ
	fmuls	_224
	fstps	(%esp)
	calll	*_bb_TProp+156
	movl	$0,8(%esp)
	fldz
	fstps	4(%esp)
	flds	__bb_TSegment_gMaxZ
	fmuls	_225
	fstps	(%esp)
	calll	*_bb_TProp+156
	jmp	_119
_118:
	mov	$4,%ecx
	mov	%edi,%eax
	cdq
	idiv	%ecx
	mov	%edx,%eax
	cmp	$1,%eax
	jne	_120
	mov	$8,%ecx
	mov	%edi,%eax
	cdq
	idiv	%ecx
	mov	%edx,%eax
	cmp	$1,%eax
	jne	_121
	movl	$5,8(%esp)
	fldz
	fstps	4(%esp)
	flds	__bb_TSegment_gMaxZ
	flds	20(%ebp)
	fdivs	_226
	faddp	%st(0),%st(1)
	fstps	(%esp)
	calll	*_bb_TProp+156
	jmp	_122
_121:
	movl	$4,8(%esp)
	fldz
	fstps	4(%esp)
	flds	__bb_TSegment_gMaxZ
	flds	20(%ebp)
	fdivs	_227
	faddp	%st(0),%st(1)
	fstps	(%esp)
	calll	*_bb_TProp+156
_122:
_120:
_119:
	mov	$3,%ecx
	mov	%edi,%eax
	cdq
	idiv	%ecx
	mov	%edx,%eax
	cmp	$1,%eax
	jne	_123
	cmp	$0,%edi
	jne	_124
	movl	$1,__bb_TSegment_gSignSide
_124:
	mov	$6,%ebx
	mov	$2,%ecx
	mov	%edi,%eax
	cdq
	idiv	%ecx
	mov	%edx,%eax
	cmp	$0,%eax
	jne	_126
	mov	$7,%ebx
_126:
	flds	_228
	flds	20(%ebp)
	fucompp
	fnstsw	%ax
	sahf
	seta	%al
	movzbl	%al,%eax
	cmp	$0,%eax
	jne	_127
	movl	%ebx,8(%esp)
	movl	__bb_TSegment_gSignSide,%eax
	imul	$800,%eax
	movl	%eax,-4(%ebp)
	fildl	-4(%ebp)
	fmuls	_229
	fstps	4(%esp)
	flds	__bb_TSegment_gMaxZ
	flds	20(%ebp)
	fmuls	_230
	faddp	%st(0),%st(1)
	fstps	(%esp)
	calll	*_bb_TProp+156
	movl	__bb_TSegment_gSignSide,%eax
	imul	$-1,%eax
	movl	%eax,__bb_TSegment_gSignSide
	jmp	_128
_127:
	movl	%ebx,8(%esp)
	movl	__bb_TSegment_gSignSide,%eax
	imul	$800,%eax
	movl	%eax,-4(%ebp)
	fildl	-4(%ebp)
	fmuls	_231
	fstps	4(%esp)
	flds	__bb_TSegment_gMaxZ
	flds	20(%ebp)
	fmuls	_232
	faddp	%st(0),%st(1)
	fstps	(%esp)
	calll	*_bb_TProp+156
	movl	%ebx,8(%esp)
	movl	__bb_TSegment_gSignSide,%eax
	neg	%eax
	imul	$800,%eax
	movl	%eax,-4(%ebp)
	fildl	-4(%ebp)
	fmuls	_233
	fstps	4(%esp)
	flds	__bb_TSegment_gMaxZ
	flds	20(%ebp)
	fmuls	_234
	faddp	%st(0),%st(1)
	fstps	(%esp)
	calll	*_bb_TProp+156
_128:
_123:
_117:
	fldz
	fstps	32(%esi)
	flds	20(%ebp)
	fstps	36(%esi)
	movl	%edi,40(%esi)
	movl	$0,44(%esi)
	mov	$_bbNullObject,%eax
	incl	4(%eax)
	mov	%eax,%ebx
	movl	48(%esi),%eax
	decl	4(%eax)
	jnz	_132
	movl	%eax,(%esp)
	call	_bbGCFree
_132:
	movl	%ebx,48(%esi)
	mov	%esi,%eax
	jmp	_68
_68:
	add	$24,%esp
	pop	%edi
	pop	%esi
	pop	%ebx
	mov	%ebp,%esp
	pop	%ebp
	ret
__bb_TSegment_init:
	push	%ebp
	mov	%esp,%ebp
	sub	$8,%esp
	calll	*_bb_TSegment+60
	calll	*_bb_TSegment+64
	flds	8(%ebp)
	fadds	12(%ebp)
	fstps	(%esp)
	calll	*_bb_TSegment+68
	fldz
	fstps	__bb_TSegment_gHorizonYOffset
	movl	$1,__bb_TSegment_gSignSide
	mov	$0,%eax
	jmp	_72
_72:
	mov	%ebp,%esp
	pop	%ebp
	ret
__bb_TSegment_removeAll:
	push	%ebp
	mov	%esp,%ebp
	push	%ebx
	sub	$4,%esp
	mov	$_bbNullObject,%ebx
	incl	4(%ebx)
	movl	__bb_TSegment_gFirstSegment,%eax
	decl	4(%eax)
	jnz	_136
	movl	%eax,(%esp)
	call	_bbGCFree
_136:
	movl	%ebx,__bb_TSegment_gFirstSegment
	mov	$_bbNullObject,%ebx
	incl	4(%ebx)
	movl	__bb_TSegment_gLastSegment,%eax
	decl	4(%eax)
	jnz	_140
	movl	%eax,(%esp)
	call	_bbGCFree
_140:
	movl	%ebx,__bb_TSegment_gLastSegment
	mov	$0,%eax
	jmp	_74
_74:
	add	$4,%esp
	pop	%ebx
	mov	%ebp,%esp
	pop	%ebp
	ret
__bb_TSegment_readSegmentData:
	push	%ebp
	mov	%esp,%ebp
	sub	$16,%esp
	push	%ebx
	push	%esi
	push	%edi
	sub	$28,%esp
	movl	$_14,_103
	movl	$3,12(%esp)
	movl	$40,8(%esp)
	movl	$2,4(%esp)
	movl	$_141,(%esp)
	call	_bbArrayNew
	mov	%eax,%ebx
	incl	4(%ebx)
	movl	__bb_TSegment_gSegmentData,%eax
	decl	4(%eax)
	jnz	_145
	movl	%eax,(%esp)
	call	_bbGCFree
_145:
	movl	%ebx,__bb_TSegment_gSegmentData
	movl	$0,-16(%ebp)
	jmp	_147
_9:
	movl	_103,%esi
	movl	(%esi),%ebx
	movl	(%ebx),%ebx
	add	$4,%esi
	movl	__bb_TSegment_gSegmentData,%eax
	movl	%eax,-4(%ebp)
	movl	-16(%ebp),%edi
	movl	__bb_TSegment_gSegmentData,%eax
	imull	24(%eax),%edi
	movl	%ebx,4(%esp)
	movl	%esi,(%esp)
	call	_bbConvertToFloat
	movl	-4(%ebp),%eax
	fstps	28(%eax,%edi,4)
	add	$4,%esi
	movzbl	(%ebx),%eax
	cmp	$100,%eax
	jne	_150
	add	$4,%esi
_150:
	movl	%esi,_103
	movl	_103,%esi
	movl	(%esi),%ebx
	movl	(%ebx),%ebx
	add	$4,%esi
	movl	__bb_TSegment_gSegmentData,%eax
	movl	%eax,-12(%ebp)
	movl	-16(%ebp),%eax
	movl	__bb_TSegment_gSegmentData,%edx
	imull	24(%edx),%eax
	mov	%eax,%edi
	add	$1,%edi
	movl	%ebx,4(%esp)
	movl	%esi,(%esp)
	call	_bbConvertToFloat
	movl	-12(%ebp),%eax
	fstps	28(%eax,%edi,4)
	add	$4,%esi
	movzbl	(%ebx),%eax
	cmp	$100,%eax
	jne	_153
	add	$4,%esi
_153:
	movl	%esi,_103
	movl	_103,%esi
	movl	(%esi),%ebx
	movl	(%ebx),%ebx
	add	$4,%esi
	movl	__bb_TSegment_gSegmentData,%eax
	movl	%eax,-8(%ebp)
	movl	-16(%ebp),%eax
	movl	__bb_TSegment_gSegmentData,%edx
	imull	24(%edx),%eax
	mov	%eax,%edi
	add	$2,%edi
	movl	%ebx,4(%esp)
	movl	%esi,(%esp)
	call	_bbConvertToFloat
	movl	-8(%ebp),%eax
	fstps	28(%eax,%edi,4)
	add	$4,%esi
	movzbl	(%ebx),%eax
	cmp	$100,%eax
	jne	_156
	add	$4,%esi
_156:
	movl	%esi,_103
_7:
	addl	$1,-16(%ebp)
_147:
	cmpl	$39,-16(%ebp)
	jle	_9
_8:
	movl	$0,__bb_TSegment_gSegmentIndex
	mov	$0,%eax
	jmp	_76
_76:
	add	$28,%esp
	pop	%edi
	pop	%esi
	pop	%ebx
	mov	%ebp,%esp
	pop	%ebp
	ret
__bb_TSegment_createDummySegment:
	push	%ebp
	mov	%esp,%ebp
	push	%ebx
	sub	$20,%esp
	movl	$-1,16(%esp)
	fldz
	fstps	12(%esp)
	fldz
	fstps	8(%esp)
	fldz
	fstps	4(%esp)
	fldz
	fstps	(%esp)
	calll	*_bb_TSegment+48
	incl	4(%eax)
	mov	%eax,%ebx
	movl	__bb_TSegment_gFirstSegment,%eax
	decl	4(%eax)
	jnz	_160
	movl	%eax,(%esp)
	call	_bbGCFree
_160:
	movl	%ebx,__bb_TSegment_gFirstSegment
	movl	__bb_TSegment_gFirstSegment,%ebx
	incl	4(%ebx)
	movl	__bb_TSegment_gLastSegment,%eax
	decl	4(%eax)
	jnz	_164
	movl	%eax,(%esp)
	call	_bbGCFree
_164:
	movl	%ebx,__bb_TSegment_gLastSegment
	mov	$0,%eax
	jmp	_78
_78:
	add	$20,%esp
	pop	%ebx
	mov	%ebp,%esp
	pop	%ebp
	ret
__bb_TSegment_createStartSegment:
	push	%ebp
	mov	%esp,%ebp
	push	%ebx
	sub	$20,%esp
	movl	__bb_TSegment_gSegmentIndex,%eax
	movl	%eax,16(%esp)
	movl	__bb_TSegment_gSegmentData,%ecx
	movl	__bb_TSegment_gSegmentIndex,%eax
	movl	__bb_TSegment_gSegmentData,%edx
	imull	24(%edx),%eax
	add	$2,%eax
	flds	28(%ecx,%eax,4)
	fstps	12(%esp)
	movl	__bb_TSegment_gSegmentData,%ecx
	movl	__bb_TSegment_gSegmentIndex,%eax
	movl	__bb_TSegment_gSegmentData,%edx
	imull	24(%edx),%eax
	add	$1,%eax
	flds	28(%ecx,%eax,4)
	fstps	8(%esp)
	movl	__bb_TSegment_gSegmentData,%ecx
	movl	__bb_TSegment_gSegmentIndex,%edx
	movl	__bb_TSegment_gSegmentData,%eax
	imull	24(%eax),%edx
	flds	28(%ecx,%edx,4)
	fstps	4(%esp)
	flds	__bb_TSegment_gMaxZ
	fdivs	_260
	fstps	(%esp)
	calll	*_bb_TSegment+48
	incl	4(%eax)
	mov	%eax,%ebx
	movl	__bb_TSegment_gLastSegment,%eax
	movl	48(%eax),%eax
	decl	4(%eax)
	jnz	_168
	movl	%eax,(%esp)
	call	_bbGCFree
_168:
	movl	__bb_TSegment_gLastSegment,%eax
	movl	%ebx,48(%eax)
	movl	__bb_TSegment_gLastSegment,%eax
	movl	48(%eax),%ebx
	incl	4(%ebx)
	movl	__bb_TSegment_gLastSegment,%eax
	decl	4(%eax)
	jnz	_172
	movl	%eax,(%esp)
	call	_bbGCFree
_172:
	movl	%ebx,__bb_TSegment_gLastSegment
	addl	$1,__bb_TSegment_gSegmentIndex
	movl	$1,8(%esp)
	fldz
	fstps	4(%esp)
	flds	8(%ebp)
	fstps	(%esp)
	calll	*_bb_TProp+156
	mov	$0,%eax
	jmp	_81
_81:
	add	$20,%esp
	pop	%ebx
	mov	%ebp,%esp
	pop	%ebp
	ret
__bb_TSegment_updateAll:
	push	%ebp
	mov	%esp,%ebp
	push	%ebx
	sub	$20,%esp
	movl	__bb_TSegment_gFirstSegment,%ebx
	jmp	_10
_12:
	flds	8(%ebp)
	fstps	4(%esp)
	movl	%ebx,(%esp)
	movl	(%ebx),%eax
	calll	*88(%eax)
	movl	48(%ebx),%ebx
_10:
	cmp	$_bbNullObject,%ebx
	jne	_12
_11:
	mov	$0,%eax
	jmp	_84
_84:
	add	$20,%esp
	pop	%ebx
	mov	%ebp,%esp
	pop	%ebp
	ret
__bb_TSegment_checkLap:
	push	%ebp
	mov	%esp,%ebp
	sub	$4,%esp
	push	%ebx
	push	%esi
	sub	$12,%esp
	movl	__bb_TSegment_gFirstSegment,%eax
	cmpl	$_bbNullObject,48(%eax)
	je	_175
	movl	__bb_TSegment_gFirstSegment,%eax
	movl	48(%eax),%eax
	flds	8(%eax)
	fldz
	fxch	%st(1)
	fucompp
	fnstsw	%ax
	sahf
	seta	%al
	movzbl	%al,%eax
	cmp	$0,%eax
	jne	_176
	movl	__bb_TSegment_gFirstSegment,%eax
	movl	40(%eax),%esi
	movl	__bb_TSegment_gFirstSegment,%eax
	flds	__bb_TSegment_gHorizonYOffset
	fstps	-4(%ebp)
	movl	%eax,(%esp)
	movl	(%eax),%eax
	calll	*84(%eax)
	flds	-4(%ebp)
	faddp	%st(0),%st(1)
	fstps	-4(%ebp)
	flds	-4(%ebp)
	fstps	__bb_TSegment_gHorizonYOffset
	movl	__bb_TSegment_gFirstSegment,%eax
	movl	48(%eax),%eax
	incl	4(%eax)
	mov	%eax,%ebx
	movl	__bb_TSegment_gFirstSegment,%eax
	decl	4(%eax)
	jnz	_182
	movl	%eax,(%esp)
	call	_bbGCFree
_182:
	movl	%ebx,__bb_TSegment_gFirstSegment
	cmp	$39,%esi
	sete	%al
	movzbl	%al,%eax
	jmp	_86
_176:
_175:
	mov	$0,%eax
	jmp	_86
_86:
	add	$12,%esp
	pop	%esi
	pop	%ebx
	mov	%ebp,%esp
	pop	%ebp
	ret
__bb_TSegment_checkNext:
	push	%ebp
	mov	%esp,%ebp
	push	%ebx
	sub	$20,%esp
	movl	__bb_TSegment_gLastSegment,%eax
	flds	36(%eax)
	fldz
	fxch	%st(1)
	fucompp
	fnstsw	%ax
	sahf
	seta	%al
	movzbl	%al,%eax
	cmp	$0,%eax
	jne	_183
	movl	__bb_TSegment_gLastSegment,%eax
	cmpl	$0,24(%eax)
	je	_184
	movl	__bb_TSegment_gLastSegment,%eax
	cmpl	$32,40(%eax)
	jne	_185
	movl	$15,8(%esp)
	fldz
	fstps	4(%esp)
	flds	__bb_TSegment_gMaxZ
	movl	__bb_TSegment_gLastSegment,%eax
	fsubs	36(%eax)
	fstps	(%esp)
	calll	*_bb_TProp+156
_185:
_184:
	movl	__bb_TSegment_gSegmentIndex,%eax
	movl	%eax,16(%esp)
	movl	__bb_TSegment_gSegmentData,%ecx
	movl	__bb_TSegment_gSegmentIndex,%eax
	movl	__bb_TSegment_gSegmentData,%edx
	imull	24(%edx),%eax
	add	$2,%eax
	flds	28(%ecx,%eax,4)
	fstps	12(%esp)
	movl	__bb_TSegment_gSegmentData,%ecx
	movl	__bb_TSegment_gSegmentIndex,%eax
	movl	__bb_TSegment_gSegmentData,%edx
	imull	24(%edx),%eax
	add	$1,%eax
	flds	28(%ecx,%eax,4)
	fstps	8(%esp)
	movl	__bb_TSegment_gSegmentData,%ecx
	movl	__bb_TSegment_gSegmentIndex,%edx
	movl	__bb_TSegment_gSegmentData,%eax
	imull	24(%eax),%edx
	flds	28(%ecx,%edx,4)
	fstps	4(%esp)
	flds	__bb_TSegment_gMaxZ
	fstps	(%esp)
	calll	*_bb_TSegment+48
	incl	4(%eax)
	mov	%eax,%ebx
	movl	__bb_TSegment_gLastSegment,%eax
	movl	48(%eax),%eax
	decl	4(%eax)
	jnz	_189
	movl	%eax,(%esp)
	call	_bbGCFree
_189:
	movl	__bb_TSegment_gLastSegment,%eax
	movl	%ebx,48(%eax)
	movl	__bb_TSegment_gLastSegment,%eax
	movl	48(%eax),%ebx
	incl	4(%ebx)
	movl	__bb_TSegment_gLastSegment,%eax
	decl	4(%eax)
	jnz	_193
	movl	%eax,(%esp)
	call	_bbGCFree
_193:
	movl	%ebx,__bb_TSegment_gLastSegment
	addl	$1,__bb_TSegment_gSegmentIndex
	cmpl	$1,__bb_TSegment_gSegmentIndex
	jne	_194
	movl	$1,8(%esp)
	fldz
	fstps	4(%esp)
	flds	__bb_TSegment_gMaxZ
	fstps	(%esp)
	calll	*_bb_TProp+156
_194:
	cmpl	$40,__bb_TSegment_gSegmentIndex
	jl	_195
	movl	$0,__bb_TSegment_gSegmentIndex
_195:
_183:
	mov	$0,%eax
	jmp	_88
_88:
	add	$20,%esp
	pop	%ebx
	mov	%ebp,%esp
	pop	%ebp
	ret
__bb_TSegment_getHorizonYOffset:
	push	%ebp
	mov	%esp,%ebp
	sub	$8,%esp
	movl	8(%ebp),%eax
	flds	32(%eax)
	fmuls	20(%eax)
	fmuls	_277
	jmp	_91
_91:
	mov	%ebp,%esp
	pop	%ebp
	ret
__bb_TSegment_update:
	push	%ebp
	mov	%esp,%ebp
	sub	$4,%esp
	push	%ebx
	sub	$16,%esp
	movl	8(%ebp),%ebx
	cmpl	$0,24(%ebx)
	je	_196
	flds	36(%ebx)
	fldz
	fxch	%st(1)
	fucompp
	fnstsw	%ax
	sahf
	setbe	%al
	movzbl	%al,%eax
	cmp	$0,%eax
	jne	_197
	movl	28(%ebx),%eax
	movl	%eax,-4(%ebp)
	fildl	-4(%ebp)
	fsubs	12(%ebp)
	fstpl	(%esp)
	call	_bbFloatToInt
	movl	%eax,28(%ebx)
	cmpl	$0,28(%ebx)
	jg	_198
	movl	$50,28(%ebx)
	movl	$14,8(%esp)
	fldz
	fstps	4(%esp)
	flds	__bb_TSegment_gMaxZ
	fstps	(%esp)
	calll	*_bb_TProp+156
_198:
_197:
_196:
	flds	8(%ebx)
	fldz
	fxch	%st(1)
	fucompp
	fnstsw	%ax
	sahf
	setbe	%al
	movzbl	%al,%eax
	cmp	$0,%eax
	jne	_199
	flds	8(%ebx)
	fsubs	12(%ebp)
	fstps	8(%ebx)
	flds	8(%ebx)
	fldz
	fxch	%st(1)
	fucompp
	fnstsw	%ax
	sahf
	setae	%al
	movzbl	%al,%eax
	cmp	$0,%eax
	jne	_200
	fldz
	fstps	8(%ebx)
_200:
	jmp	_201
_199:
	flds	32(%ebx)
	fadds	12(%ebp)
	fstps	32(%ebx)
_201:
	flds	36(%ebx)
	fsubs	12(%ebp)
	fstps	36(%ebx)
	flds	36(%ebx)
	flds	_283
	fxch	%st(1)
	fucompp
	fnstsw	%ax
	sahf
	setae	%al
	movzbl	%al,%eax
	cmp	$0,%eax
	jne	_202
	cmpl	$0,44(%ebx)
	jne	_203
	movl	%ebx,(%esp)
	movl	(%ebx),%eax
	calll	*92(%eax)
	flds	_284
	fxch	%st(1)
	fucom	%st(1)
	fxch	%st(1)
	fstp	%st(0)
	fnstsw	%ax
	sahf
	setbe	%al
	movzbl	%al,%eax
	cmp	$0,%eax
	jne	_206
	fstp	%st(0)
	movl	$2,8(%esp)
	flds	_285
	fstps	4(%esp)
	flds	__bb_TSegment_gMaxZ
	fstps	(%esp)
	calll	*_bb_TProp+156
	jmp	_207
_206:
	flds	_286
	fxch	%st(1)
	fucompp
	fnstsw	%ax
	sahf
	setae	%al
	movzbl	%al,%eax
	cmp	$0,%eax
	jne	_208
	movl	$2,8(%esp)
	flds	_287
	fstps	4(%esp)
	flds	__bb_TSegment_gMaxZ
	fstps	(%esp)
	calll	*_bb_TProp+156
_208:
_207:
	movl	$1,44(%ebx)
_203:
_202:
	mov	$0,%eax
	jmp	_95
_95:
	add	$16,%esp
	pop	%ebx
	mov	%ebp,%esp
	pop	%ebp
	ret
__bb_TSegment_getNextSegmentDXFraction:
	push	%ebp
	mov	%esp,%ebp
	sub	$8,%esp
	movl	8(%ebp),%eax
	movl	40(%eax),%eax
	add	$1,%eax
	cmp	$40,%eax
	jl	_210
	mov	$0,%eax
_210:
	movl	__bb_TSegment_gSegmentData,%ecx
	movl	__bb_TSegment_gSegmentData,%edx
	imull	24(%edx),%eax
	flds	28(%ecx,%eax,4)
	jmp	_98
_98:
	mov	%ebp,%esp
	pop	%ebp
	ret
__bb_TSegment_getNextSegmentDYFraction:
	push	%ebp
	mov	%esp,%ebp
	sub	$8,%esp
	movl	8(%ebp),%eax
	movl	40(%eax),%eax
	add	$1,%eax
	cmp	$40,%eax
	jl	_212
	mov	$0,%eax
_212:
	movl	__bb_TSegment_gSegmentData,%ecx
	movl	__bb_TSegment_gSegmentData,%edx
	imull	24(%edx),%eax
	add	$1,%eax
	flds	28(%ecx,%eax,4)
	jmp	_101
_101:
	mov	%ebp,%esp
	pop	%ebp
	ret
	.data	
	.align	4
_105:
	.long	0
	.align	4
_104:
_14:
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	100
	.long	_bbFloatTypeTag
	.long	0xbe19999a
	.long	_bbFloatTypeTag
	.long	0xbf19999a
	.long	_bbIntTypeTag
	.long	70
	.long	_bbFloatTypeTag
	.long	0xbe800000
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	100
	.long	_bbFloatTypeTag
	.long	0x3f19999a
	.long	_bbFloatTypeTag
	.long	0x3f19999a
	.long	_bbIntTypeTag
	.long	70
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	20
	.long	_bbFloatTypeTag
	.long	0xbf000000
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	40
	.long	_bbIntTypeTag
	.long	1
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	35
	.long	_bbIntTypeTag
	.long	-1
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	35
	.long	_bbFloatTypeTag
	.long	0xbe800000
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	60
	.long	_bbFloatTypeTag
	.long	0x3f000000
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	30
	.long	_bbFloatTypeTag
	.long	0xbe800000
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	60
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	100
	.long	_bbIntTypeTag
	.long	-1
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	30
	.long	_bbIntTypeTag
	.long	1
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	30
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	10
	.long	_bbFloatTypeTag
	.long	0x3e800000
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	40
	.long	_bbIntTypeTag
	.long	1
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	340
	.long	_bbFloatTypeTag
	.long	0x3e800000
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	40
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	100
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	100
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	20
	.long	_bbFloatTypeTag
	.long	0xbe800000
	.long	_bbFloatTypeTag
	.long	0xbdcccccd
	.long	_bbIntTypeTag
	.long	120
	.long	_bbFloatTypeTag
	.long	0x3e800000
	.long	_bbFloatTypeTag
	.long	0x3dcccccd
	.long	_bbIntTypeTag
	.long	120
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	100
	.long	_bbFloatTypeTag
	.long	0xbf000000
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	20
	.long	_bbFloatTypeTag
	.long	0x3d4ccccd
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	100
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	100
	.long	_bbFloatTypeTag
	.long	0x3e800000
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	40
	.long	_bbIntTypeTag
	.long	1
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	340
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	50
	.long	_bbFloatTypeTag
	.long	0xbf333333
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	300
	.long	_bbFloatTypeTag
	.long	0xbe800000
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	50
	.long	_bbFloatTypeTag
	.long	0x3e800000
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	60
	.long	_bbFloatTypeTag
	.long	0x3d4ccccd
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	90
	.long	_bbFloatTypeTag
	.long	0xbd4ccccd
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	70
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbFloatTypeTag
	.long	0x3f000000
	.long	_bbIntTypeTag
	.long	100
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	200
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbFloatTypeTag
	.long	0xbf000000
	.long	_bbIntTypeTag
	.long	100
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	60
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbFloatTypeTag
	.long	0x0
	.long	_bbIntTypeTag
	.long	60
	.long	0
	.align	4
_103:
	.long	0
	.align	4
__bb_TSegment_gMinZ:
	.long	0x0
	.align	4
__bb_TSegment_gMaxZ:
	.long	0x0
	.align	4
__bb_TSegment_gSegmentData:
	.long	_bbEmptyArray
	.align	4
__bb_TSegment_gSegmentIndex:
	.long	0
	.align	4
__bb_TSegment_gFirstSegment:
	.long	_bbNullObject
	.align	4
__bb_TSegment_gLastSegment:
	.long	_bbNullObject
	.align	4
__bb_TSegment_gSignSide:
	.long	1
	.align	4
__bb_TSegment_gHorizonYOffset:
	.long	0x0
_16:
	.asciz	"TSegment"
_17:
	.asciz	"TUNNEL_NEXT_MID_PROP_COUNT"
_18:
	.asciz	"i"
	.align	4
_19:
	.long	_bbStringClass
	.long	2147483646
	.long	2
	.short	53,48
_20:
	.asciz	"SEGMENT_COUNT"
	.align	4
_21:
	.long	_bbStringClass
	.long	2147483646
	.long	2
	.short	52,48
_22:
	.asciz	"fZ"
_23:
	.asciz	"f"
_24:
	.asciz	"fDXFraction"
_25:
	.asciz	"fDX"
_26:
	.asciz	"fDY"
_27:
	.asciz	"fTunnel"
_28:
	.asciz	"fTunnelPropCounter"
_29:
	.asciz	"fDistanceInSegment"
_30:
	.asciz	"fLength"
_31:
	.asciz	"fIndex"
_32:
	.asciz	"fCornerSignCreated"
_33:
	.asciz	"fNext"
_34:
	.asciz	":TSegment"
_35:
	.asciz	"New"
_36:
	.asciz	"()i"
_37:
	.asciz	"Delete"
_38:
	.asciz	"Create"
_39:
	.asciz	"(f,f,f,f,i):TSegment"
_40:
	.asciz	"init"
_41:
	.asciz	"(f,f)i"
_42:
	.asciz	"removeAll"
_43:
	.asciz	"readSegmentData"
_44:
	.asciz	"createDummySegment"
_45:
	.asciz	"createStartSegment"
_46:
	.asciz	"(f)i"
_47:
	.asciz	"updateAll"
_48:
	.asciz	"checkLap"
_49:
	.asciz	"checkNext"
_50:
	.asciz	"getHorizonYOffset"
_51:
	.asciz	"()f"
_52:
	.asciz	"update"
_53:
	.asciz	"getNextSegmentDXFraction"
_54:
	.asciz	"getNextSegmentDYFraction"
	.align	4
_15:
	.long	2
	.long	_16
	.long	1
	.long	_17
	.long	_18
	.long	_19
	.long	1
	.long	_20
	.long	_18
	.long	_21
	.long	3
	.long	_22
	.long	_23
	.long	8
	.long	3
	.long	_24
	.long	_23
	.long	12
	.long	3
	.long	_25
	.long	_23
	.long	16
	.long	3
	.long	_26
	.long	_23
	.long	20
	.long	3
	.long	_27
	.long	_18
	.long	24
	.long	3
	.long	_28
	.long	_18
	.long	28
	.long	3
	.long	_29
	.long	_23
	.long	32
	.long	3
	.long	_30
	.long	_23
	.long	36
	.long	3
	.long	_31
	.long	_18
	.long	40
	.long	3
	.long	_32
	.long	_18
	.long	44
	.long	3
	.long	_33
	.long	_34
	.long	48
	.long	6
	.long	_35
	.long	_36
	.long	16
	.long	6
	.long	_37
	.long	_36
	.long	20
	.long	7
	.long	_38
	.long	_39
	.long	48
	.long	7
	.long	_40
	.long	_41
	.long	52
	.long	7
	.long	_42
	.long	_36
	.long	56
	.long	7
	.long	_43
	.long	_36
	.long	60
	.long	7
	.long	_44
	.long	_36
	.long	64
	.long	7
	.long	_45
	.long	_46
	.long	68
	.long	7
	.long	_47
	.long	_46
	.long	72
	.long	7
	.long	_48
	.long	_36
	.long	76
	.long	7
	.long	_49
	.long	_36
	.long	80
	.long	6
	.long	_50
	.long	_51
	.long	84
	.long	6
	.long	_52
	.long	_46
	.long	88
	.long	6
	.long	_53
	.long	_51
	.long	92
	.long	6
	.long	_54
	.long	_51
	.long	96
	.long	0
	.align	4
_bb_TSegment:
	.long	_bbObjectClass
	.long	_bbObjectFree
	.long	_15
	.long	52
	.long	__bb_TSegment_New
	.long	__bb_TSegment_Delete
	.long	_bbObjectToString
	.long	_bbObjectCompare
	.long	_bbObjectSendMessage
	.long	_bbObjectReserved
	.long	_bbObjectReserved
	.long	_bbObjectReserved
	.long	__bb_TSegment_Create
	.long	__bb_TSegment_init
	.long	__bb_TSegment_removeAll
	.long	__bb_TSegment_readSegmentData
	.long	__bb_TSegment_createDummySegment
	.long	__bb_TSegment_createStartSegment
	.long	__bb_TSegment_updateAll
	.long	__bb_TSegment_checkLap
	.long	__bb_TSegment_checkNext
	.long	__bb_TSegment_getHorizonYOffset
	.long	__bb_TSegment_update
	.long	__bb_TSegment_getNextSegmentDXFraction
	.long	__bb_TSegment_getNextSegmentDYFraction
	.align	4
_220:
	.long	0x3b03126f
	.align	4
_221:
	.long	0x3a9d4952
	.align	4
_222:
	.long	0xbe99999a
	.align	4
_223:
	.long	0x3f99999a
	.align	4
_224:
	.long	0x3fcccccd
	.align	4
_225:
	.long	0x40000000
	.align	4
_226:
	.long	0x40000000
	.align	4
_227:
	.long	0x40000000
	.align	4
_228:
	.long	0x42c80000
	.align	4
_229:
	.long	0x3f4ccccd
	.align	4
_230:
	.long	0x3f000000
	.align	4
_231:
	.long	0x3f4ccccd
	.align	4
_232:
	.long	0x3ea8f5c3
	.align	4
_233:
	.long	0x3f4ccccd
	.align	4
_234:
	.long	0x3f28f5c3
_141:
	.asciz	"f"
	.align	4
_260:
	.long	0x40000000
	.align	4
_277:
	.long	0x459c4000
	.align	4
_283:
	.long	0x41200000
	.align	4
_284:
	.long	0x3f000000
	.align	4
_285:
	.long	0xc40c0000
	.align	4
_286:
	.long	0xbf000000
	.align	4
_287:
	.long	0x440c0000
