40a067:	8b f2                	mov    %edx,%esi
40a069:	8b d8                	mov    %eax,%ebx
40a06b:	8b c3                	mov    %ebx,%eax
40a06d:	e8 b2 a3 ff ff       	call   0x404424
40a072:	3d e0 00 00 00       	cmp    $0xe0,%eax
40a077:	7e 0a                	jle    0x40a083
40a079:	a1 98 b1 49 00       	mov    0x49b198,%eax
40a07e:	e8 4d e2 ff ff       	call   0x4082d0
40a083:	8b c3                	mov    %ebx,%eax
40a085:	e8 9a a5 ff ff       	call   0x404624
40a08a:	50                   	push   %eax
40a08b:	8d 55 08             	lea    0x8(%ebp),%edx
40a08e:	8d 85 00 ff ff ff    	lea    -0x100(%ebp),%eax
40a094:	b1 01                	mov    $0x1,%cl
40a096:	e8 65 f8 ff ff       	call   0x409900
40a09b:	8b c8                	mov    %eax,%ecx
40a09d:	8d 95 00 ff ff ff    	lea    -0x100(%ebp),%edx
40a0a3:	8b c6                	mov    %esi,%eax
40a0a5:	e8 aa a1 ff ff       	call   0x404254
40a0aa:	5e                   	pop    %esi
40a0ab:	5b                   	pop    %ebx
40a0ac:	8b e5                	mov    %ebp,%esp
40a0ae:	5d                   	pop    %ebp
40a0af:	c2 08 00             	ret    $0x8
40a0b2:	8b c0                	mov    %eax,%eax
40a0b4:	53                   	push   %ebx
40a0b5:	83 c4 ec             	add    $0xffffffec,%esp
40a0b8:	8b d8                	mov    %eax,%ebx
40a0ba:	8b c3                	mov    %ebx,%eax
40a0bc:	e8 63 a5 ff ff       	call   0x404624
40a0c1:	8b d4                	mov    %esp,%edx
40a0c3:	33 c9                	xor    %ecx,%ecx
40a0c5:	e8 56 fd ff ff       	call   0x409e20
40a0ca:	84 c0                	test   %al,%al
40a0cc:	75 19                	jne    0x40a0e7
40a0ce:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
40a0d2:	c6 44 24 10 0b       	movb   $0xb,0x10(%esp)
40a0d7:	8d 54 24 0c          	lea    0xc(%esp),%edx
40a0db:	a1 f8 af 49 00       	mov    0x49aff8,%eax
40a0e0:	33 c9                	xor    %ecx,%ecx
40a0e2:	e8 01 e2 ff ff       	call   0x4082e8
40a0e7:	db 2c 24             	fldt   (%esp)
40a0ea:	83 c4 14             	add    $0x14,%esp
40a0ed:	5b                   	pop    %ebx
40a0ee:	c3                   	ret
40a0ef:	90                   	nop
40a0f0:	53                   	push   %ebx
40a0f1:	56                   	push   %esi
40a0f2:	8b f2                	mov    %edx,%esi
40a0f4:	8b d8                	mov    %eax,%ebx
40a0f6:	8b c3                	mov    %ebx,%eax
40a0f8:	e8 27 a5 ff ff       	call   0x404624
40a0fd:	8b d6                	mov    %esi,%edx
40a0ff:	33 c9                	xor    %ecx,%ecx
40a101:	e8 1a fd ff ff       	call   0x409e20
40a106:	5e                   	pop    %esi
40a107:	5b                   	pop    %ebx
40a108:	c3                   	ret
40a109:	8d 40 00             	lea    0x0(%eax),%eax
40a10c:	53                   	push   %ebx
40a10d:	56                   	push   %esi
40a10e:	83 c4 f4             	add    $0xfffffff4,%esp
40a111:	8b f2                	mov    %edx,%esi
40a113:	8b d8                	mov    %eax,%ebx
40a115:	8b c3                	mov    %ebx,%eax
40a117:	e8 08 a5 ff ff       	call   0x404624
40a11c:	8b d4                	mov    %esp,%edx
40a11e:	33 c9                	xor    %ecx,%ecx
40a120:	e8 fb fc ff ff       	call   0x409e20
40a125:	84 c0                	test   %al,%al
40a127:	74 06                	je     0x40a12f
40a129:	db 2c 24             	fldt   (%esp)
40a12c:	dd 1e                	fstpl  (%esi)
40a12e:	9b                   	fwait
40a12f:	83 c4 0c             	add    $0xc,%esp
40a132:	5e                   	pop    %esi
40a133:	5b                   	pop    %ebx
40a134:	c3                   	ret
40a135:	8d 40 00             	lea    0x0(%eax),%eax
40a138:	53                   	push   %ebx
40a139:	56                   	push   %esi
40a13a:	83 c4 f4             	add    $0xfffffff4,%esp
40a13d:	8b f2                	mov    %edx,%esi
40a13f:	8b d8                	mov    %eax,%ebx
40a141:	8b c3                	mov    %ebx,%eax
40a143:	e8 dc a4 ff ff       	call   0x404624
40a148:	8b d4                	mov    %esp,%edx
40a14a:	33 c9                	xor    %ecx,%ecx
40a14c:	e8 cf fc ff ff       	call   0x409e20
40a151:	84 c0                	test   %al,%al
40a153:	74 06                	je     0x40a15b
40a155:	db 2c 24             	fldt   (%esp)
40a158:	d9 1e                	fstps  (%esi)
40a15a:	9b                   	fwait
40a15b:	83 c4 0c             	add    $0xc,%esp
40a15e:	5e                   	pop    %esi
40a15f:	5b                   	pop    %ebx
40a160:	c3                   	ret
40a161:	8d 40 00             	lea    0x0(%eax),%eax
40a164:	53                   	push   %ebx
40a165:	83 c4 f0             	add    $0xfffffff0,%esp
40a168:	8b d8                	mov    %eax,%ebx
40a16a:	8b c3                	mov    %ebx,%eax
40a16c:	e8 b3 a4 ff ff       	call   0x404624
40a171:	8b d4                	mov    %esp,%edx
40a173:	b1 01                	mov    $0x1,%cl
40a175:	e8 a6 fc ff ff       	call   0x409e20
40a17a:	84 c0                	test   %al,%al
40a17c:	75 19                	jne    0x40a197
40a17e:	89 5c 24 08          	mov    %ebx,0x8(%esp)
40a182:	c6 44 24 0c 0b       	movb   $0xb,0xc(%esp)
40a187:	8d 54 24 08          	lea    0x8(%esp),%edx
40a18b:	a1 f8 af 49 00       	mov    0x49aff8,%eax
40a190:	33 c9                	xor    %ecx,%ecx
40a192:	e8 51 e1 ff ff       	call   0x4082e8
40a197:	df 2c 24             	fildll (%esp)
40a19a:	83 c4 10             	add    $0x10,%esp
40a19d:	5b                   	pop    %ebx
40a19e:	c3                   	ret
40a19f:	90                   	nop
40a1a0:	53                   	push   %ebx
40a1a1:	56                   	push   %esi
40a1a2:	8b f2                	mov    %edx,%esi
40a1a4:	8b d8                	mov    %eax,%ebx
40a1a6:	8b c3                	mov    %ebx,%eax
40a1a8:	e8 77 a4 ff ff       	call   0x404624
40a1ad:	8b d6                	mov    %esi,%edx
40a1af:	b1 01                	mov    $0x1,%cl
40a1b1:	e8 6a fc ff ff       	call   0x409e20
40a1b6:	5e                   	pop    %esi
40a1b7:	5b                   	pop    %ebx
40a1b8:	c3                   	ret
40a1b9:	8d 40 00             	lea    0x0(%eax),%eax
40a1bc:	55                   	push   %ebp
40a1bd:	8b ec                	mov    %esp,%ebp
40a1bf:	53                   	push   %ebx
40a1c0:	31 db                	xor    %ebx,%ebx
40a1c2:	89 c1                	mov    %eax,%ecx
40a1c4:	dd 45 08             	fldl   0x8(%ebp)
40a1c7:	d8 8b 7c d1 48 00    	fmuls  0x48d17c(%ebx)
40a1cd:	83 ec 08             	sub    $0x8,%esp
40a1d0:	df 3c 24             	fistpll (%esp)
40a1d3:	9b                   	fwait
40a1d4:	58                   	pop    %eax
40a1d5:	5a                   	pop    %edx
40a1d6:	09 d2                	or     %edx,%edx
40a1d8:	79 11                	jns    0x40a1eb
40a1da:	f7 da                	neg    %edx
40a1dc:	f7 d8                	neg    %eax
40a1de:	83 da 00             	sbb    $0x0,%edx
40a1e1:	f7 b3 80 d1 48 00    	divl   0x48d180(%ebx)
40a1e7:	f7 d8                	neg    %eax
40a1e9:	eb 06                	jmp    0x40a1f1
40a1eb:	f7 b3 80 d1 48 00    	divl   0x48d180(%ebx)
40a1f1:	05 5a 95 0a 00       	add    $0xa955a,%eax
40a1f6:	89 11                	mov    %edx,(%ecx)
40a1f8:	89 41 04             	mov    %eax,0x4(%ecx)
40a1fb:	5b                   	pop    %ebx
40a1fc:	5d                   	pop    %ebp
40a1fd:	c2 08 00             	ret    $0x8
40a200:	53                   	push   %ebx
40a201:	83 c4 f0             	add    $0xfffffff0,%esp
40a204:	8b 10                	mov    (%eax),%edx
40a206:	85 d2                	test   %edx,%edx
40a208:	7c 06                	jl     0x40a210
40a20a:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
40a20e:	7f 29                	jg     0x40a239
40a210:	8b 0d 40 b5 49 00    	mov    0x49b540,%ecx
40a216:	8b 58 04             	mov    0x4(%eax),%ebx
40a219:	89 1c 24             	mov    %ebx,(%esp)
40a21c:	c6 44 24 04 00       	movb   $0x0,0x4(%esp)
40a221:	89 54 24 08          	mov    %edx,0x8(%esp)
40a225:	c6 44 24 0c 00       	movb   $0x0,0xc(%esp)
40a22a:	8b c4                	mov    %esp,%eax
40a22c:	8b d0                	mov    %eax,%edx
40a22e:	b8 01 00 00 00       	mov    $0x1,%eax
40a233:	91                   	xchg   %eax,%ecx
40a234:	e8 af e0 ff ff       	call   0x4082e8
40a239:	83 c4 10             	add    $0x10,%esp
40a23c:	5b                   	pop    %ebx
40a23d:	c3                   	ret
40a23e:	8b c0                	mov    %eax,%eax
40a240:	53                   	push   %ebx
40a241:	31 db                	xor    %ebx,%ebx
40a243:	50                   	push   %eax
40a244:	e8 b7 ff ff ff       	call   0x40a200
40a249:	58                   	pop    %eax
40a24a:	8b 08                	mov    (%eax),%ecx
40a24c:	8b 40 04             	mov    0x4(%eax),%eax
40a24f:	2d 5a 95 0a 00       	sub    $0xa955a,%eax
40a254:	f7 ab 80 d1 48 00    	imull  0x48d180(%ebx)
40a25a:	09 d2                	or     %edx,%edx
40a25c:	79 07                	jns    0x40a265
40a25e:	29 c8                	sub    %ecx,%eax
40a260:	83 da 00             	sbb    $0x0,%edx
40a263:	eb 05                	jmp    0x40a26a
40a265:	01 c8                	add    %ecx,%eax
40a267:	83 d2 00             	adc    $0x0,%edx
40a26a:	52                   	push   %edx
40a26b:	50                   	push   %eax
40a26c:	df 2c 24             	fildll (%esp)
40a26f:	d8 b3 7c d1 48 00    	fdivs  0x48d17c(%ebx)
40a275:	83 c4 08             	add    $0x8,%esp
40a278:	5b                   	pop    %ebx
40a279:	c3                   	ret
40a27a:	8b c0                	mov    %eax,%eax
40a27c:	55                   	push   %ebp
40a27d:	8b ec                	mov    %esp,%ebp
40a27f:	53                   	push   %ebx
40a280:	31 db                	xor    %ebx,%ebx
40a282:	89 c1                	mov    %eax,%ecx
40a284:	8b 45 08             	mov    0x8(%ebp),%eax
40a287:	8b 55 0c             	mov    0xc(%ebp),%edx
40a28a:	f7 b3 80 d1 48 00    	divl   0x48d180(%ebx)
40a290:	89 11                	mov    %edx,(%ecx)
40a292:	89 41 04             	mov    %eax,0x4(%ecx)
40a295:	5b                   	pop    %ebx
40a296:	5d                   	pop    %ebp
40a297:	c2 08 00             	ret    $0x8
40a29a:	8b c0                	mov    %eax,%eax
40a29c:	53                   	push   %ebx
40a29d:	31 db                	xor    %ebx,%ebx
40a29f:	50                   	push   %eax
40a2a0:	e8 5b ff ff ff       	call   0x40a200
40a2a5:	58                   	pop    %eax
40a2a6:	db 40 04             	fildl  0x4(%eax)
40a2a9:	d8 8b 7c d1 48 00    	fmuls  0x48d17c(%ebx)
40a2af:	da 00                	fiaddl (%eax)
40a2b1:	5b                   	pop    %ebx
40a2b2:	c3                   	ret
40a2b3:	90                   	nop
40a2b4:	55                   	push   %ebp
40a2b5:	8b ec                	mov    %esp,%ebp
40a2b7:	83 c4 f8             	add    $0xfffffff8,%esp
40a2ba:	56                   	push   %esi
40a2bb:	8b 75 0c             	mov    0xc(%ebp),%esi
40a2be:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
40a2c2:	66 83 f8 18          	cmp    $0x18,%ax
40a2c6:	73 4d                	jae    0x40a315
40a2c8:	66 83 fa 3c          	cmp    $0x3c,%dx
40a2cc:	73 47                	jae    0x40a315
40a2ce:	66 83 f9 3c          	cmp    $0x3c,%cx
40a2d2:	73 41                	jae    0x40a315
40a2d4:	66 81 fe e8 03       	cmp    $0x3e8,%si
40a2d9:	73 3a                	jae    0x40a315
40a2db:	0f b7 c0             	movzwl %ax,%eax
40a2de:	69 c0 80 ee 36 00    	imul   $0x36ee80,%eax,%eax
40a2e4:	0f b7 d2             	movzwl %dx,%edx
40a2e7:	69 d2 60 ea 00 00    	imul   $0xea60,%edx,%edx
40a2ed:	03 c2                	add    %edx,%eax
40a2ef:	0f b7 d1             	movzwl %cx,%edx
40a2f2:	69 d2 e8 03 00 00    	imul   $0x3e8,%edx,%edx
40a2f8:	03 c2                	add    %edx,%eax
40a2fa:	0f b7 d6             	movzwl %si,%edx
40a2fd:	03 c2                	add    %edx,%eax
40a2ff:	89 45 f8             	mov    %eax,-0x8(%ebp)
40a302:	db 45 f8             	fildl  -0x8(%ebp)
40a305:	d8 35 20 a3 40 00    	fdivs  0x40a320
40a30b:	8b 45 08             	mov    0x8(%ebp),%eax
40a30e:	dd 18                	fstpl  (%eax)
40a310:	9b                   	fwait
40a311:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
40a315:	8a 45 ff             	mov    -0x1(%ebp),%al
40a318:	5e                   	pop    %esi
40a319:	59                   	pop    %ecx
40a31a:	59                   	pop    %ecx
40a31b:	5d                   	pop    %ebp
40a31c:	c2 08 00             	ret    $0x8
40a31f:	00 80 cb a4 4c 55    	add    %al,0x554ca4cb(%eax)
40a325:	8b ec                	mov    %esp,%ebp
40a327:	83 c4 f8             	add    $0xfffffff8,%esp
40a32a:	53                   	push   %ebx
40a32b:	56                   	push   %esi
40a32c:	57                   	push   %edi
40a32d:	8b f9                	mov    %ecx,%edi
40a32f:	8b f2                	mov    %edx,%esi
40a331:	8b d8                	mov    %eax,%ebx
40a333:	66 8b 45 08          	mov    0x8(%ebp),%ax
40a337:	50                   	push   %eax
40a338:	8d 45 f8             	lea    -0x8(%ebp),%eax
40a33b:	50                   	push   %eax
40a33c:	8b cf                	mov    %edi,%ecx
40a33e:	8b d6                	mov    %esi,%edx
40a340:	8b c3                	mov    %ebx,%eax
40a342:	e8 6d ff ff ff       	call   0x40a2b4
40a347:	84 c0                	test   %al,%al
40a349:	75 0a                	jne    0x40a355
40a34b:	a1 10 b2 49 00       	mov    0x49b210,%eax
40a350:	e8 7b df ff ff       	call   0x4082d0
40a355:	dd 45 f8             	fldl   -0x8(%ebp)
40a358:	5f                   	pop    %edi
40a359:	5e                   	pop    %esi
40a35a:	5b                   	pop    %ebx
40a35b:	59                   	pop    %ecx
40a35c:	59                   	pop    %ecx
40a35d:	5d                   	pop    %ebp
40a35e:	c2 04 00             	ret    $0x4
40a361:	8d 40 00             	lea    0x0(%eax),%eax
40a364:	55                   	push   %ebp
40a365:	8b ec                	mov    %esp,%ebp
40a367:	83 c4 f4             	add    $0xfffffff4,%esp
40a36a:	53                   	push   %ebx
40a36b:	56                   	push   %esi
40a36c:	57                   	push   %edi
40a36d:	8b f9                	mov    %ecx,%edi
40a36f:	8b f2                	mov    %edx,%esi
40a371:	8b d8                	mov    %eax,%ebx
40a373:	8d 45 fc             	lea    -0x4(%ebp),%eax
40a376:	50                   	push   %eax
40a377:	ff 75 10             	push   0x10(%ebp)
40a37a:	ff 75 0c             	push   0xc(%ebp)
40a37d:	8d 45 f4             	lea    -0xc(%ebp),%eax
40a380:	e8 37 fe ff ff       	call   0x40a1bc
40a385:	8b 45 f4             	mov    -0xc(%ebp),%eax
40a388:	8d 4d fe             	lea    -0x2(%ebp),%ecx
40a38b:	66 ba 60 ea          	mov    $0xea60,%dx
40a38f:	e8 20 df ff ff       	call   0x4082b4
40a394:	56                   	push   %esi
40a395:	8b cb                	mov    %ebx,%ecx
40a397:	0f b7 45 fe          	movzwl -0x2(%ebp),%eax
40a39b:	66 ba 3c 00          	mov    $0x3c,%dx
40a39f:	e8 10 df ff ff       	call   0x4082b4
40a3a4:	8b 45 08             	mov    0x8(%ebp),%eax
40a3a7:	50                   	push   %eax
40a3a8:	8b cf                	mov    %edi,%ecx
40a3aa:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
40a3ae:	66 ba e8 03          	mov    $0x3e8,%dx
40a3b2:	e8 fd de ff ff       	call   0x4082b4
40a3b7:	5f                   	pop    %edi
40a3b8:	5e                   	pop    %esi
40a3b9:	5b                   	pop    %ebx
40a3ba:	8b e5                	mov    %ebp,%esp
40a3bc:	5d                   	pop    %ebp
40a3bd:	c2 0c 00             	ret    $0xc
40a3c0:	53                   	push   %ebx
40a3c1:	56                   	push   %esi
40a3c2:	8b c8                	mov    %eax,%ecx
40a3c4:	0f b7 c1             	movzwl %cx,%eax
40a3c7:	83 e0 03             	and    $0x3,%eax
40a3ca:	85 c0                	test   %eax,%eax
40a3cc:	75 21                	jne    0x40a3ef
40a3ce:	0f b7 d9             	movzwl %cx,%ebx
40a3d1:	8b c3                	mov    %ebx,%eax
40a3d3:	be 64 00 00 00       	mov    $0x64,%esi
40a3d8:	33 d2                	xor    %edx,%edx
40a3da:	f7 f6                	div    %esi
40a3dc:	85 d2                	test   %edx,%edx
40a3de:	75 14                	jne    0x40a3f4
40a3e0:	8b c3                	mov    %ebx,%eax
40a3e2:	b9 90 01 00 00       	mov    $0x190,%ecx