40931c:	89 cb                	mov    %ecx,%ebx
40931e:	9b d9 7d f8          	fstcw  -0x8(%ebp)
409322:	9b db e2             	fclex
409325:	d9 2d 78 31 46 00    	fldcw  0x463178
40932b:	d9 ee                	fldz
40932d:	e8 85 00 00 00       	call   0x4093b7
409332:	8a 3e                	mov    (%esi),%bh
409334:	80 ff 2b             	cmp    $0x2b,%bh
409337:	74 05                	je     0x40933e
409339:	80 ff 2d             	cmp    $0x2d,%bh
40933c:	75 01                	jne    0x40933f
40933e:	46                   	inc    %esi
40933f:	89 f1                	mov    %esi,%ecx
409341:	e8 7c 00 00 00       	call   0x4093c2
409346:	31 d2                	xor    %edx,%edx
409348:	8a 06                	mov    (%esi),%al
40934a:	3a 45 fb             	cmp    -0x5(%ebp),%al
40934d:	75 08                	jne    0x409357
40934f:	46                   	inc    %esi
409350:	e8 6d 00 00 00       	call   0x4093c2
409355:	f7 da                	neg    %edx
409357:	39 f1                	cmp    %esi,%ecx
409359:	74 4f                	je     0x4093aa
40935b:	8a 06                	mov    (%esi),%al
40935d:	24 df                	and    $0xdf,%al
40935f:	3c 45                	cmp    $0x45,%al
409361:	75 0a                	jne    0x40936d
409363:	46                   	inc    %esi
409364:	52                   	push   %edx
409365:	e8 74 00 00 00       	call   0x4093de
40936a:	58                   	pop    %eax
40936b:	01 c2                	add    %eax,%edx
40936d:	e8 45 00 00 00       	call   0x4093b7
409372:	80 3e 00             	cmpb   $0x0,(%esi)
409375:	75 33                	jne    0x4093aa
409377:	89 d0                	mov    %edx,%eax
409379:	80 fb 01             	cmp    $0x1,%bl
40937c:	75 03                	jne    0x409381
40937e:	83 c0 04             	add    $0x4,%eax
409381:	53                   	push   %ebx
409382:	8b 5d fc             	mov    -0x4(%ebp),%ebx
409385:	e8 12 9a ff ff       	call   0x402d9c
40938a:	5b                   	pop    %ebx
40938b:	80 ff 2d             	cmp    $0x2d,%bh
40938e:	75 02                	jne    0x409392
409390:	d9 e0                	fchs
409392:	80 fb 00             	cmp    $0x0,%bl
409395:	74 04                	je     0x40939b
409397:	df 3f                	fistpll (%edi)
409399:	eb 02                	jmp    0x40939d
40939b:	db 3f                	fstpt  (%edi)
40939d:	9b df e0             	fstsw  %ax
4093a0:	66 a9 09 00          	test   $0x9,%ax
4093a4:	75 06                	jne    0x4093ac
4093a6:	b0 01                	mov    $0x1,%al
4093a8:	eb 04                	jmp    0x4093ae
4093aa:	dd d8                	fstp   %st(0)
4093ac:	31 c0                	xor    %eax,%eax
4093ae:	9b db e2             	fclex
4093b1:	d9 6d f8             	fldcw  -0x8(%ebp)
4093b4:	9b                   	fwait
4093b5:	eb 56                	jmp    0x40940d
4093b7:	ac                   	lods   %ds:(%esi),%al
4093b8:	08 c0                	or     %al,%al
4093ba:	74 04                	je     0x4093c0
4093bc:	3c 20                	cmp    $0x20,%al
4093be:	74 f7                	je     0x4093b7
4093c0:	4e                   	dec    %esi
4093c1:	c3                   	ret
4093c2:	31 c0                	xor    %eax,%eax
4093c4:	31 d2                	xor    %edx,%edx
4093c6:	ac                   	lods   %ds:(%esi),%al
4093c7:	2c 3a                	sub    $0x3a,%al
4093c9:	04 0a                	add    $0xa,%al
4093cb:	73 0f                	jae    0x4093dc
4093cd:	da 0d 74 31 46 00    	fimull 0x463174
4093d3:	89 45 f4             	mov    %eax,-0xc(%ebp)
4093d6:	da 45 f4             	fiaddl -0xc(%ebp)
4093d9:	42                   	inc    %edx
4093da:	eb ea                	jmp    0x4093c6
4093dc:	4e                   	dec    %esi
4093dd:	c3                   	ret
4093de:	31 c0                	xor    %eax,%eax
4093e0:	31 d2                	xor    %edx,%edx
4093e2:	8a 0e                	mov    (%esi),%cl
4093e4:	80 f9 2b             	cmp    $0x2b,%cl
4093e7:	74 05                	je     0x4093ee
4093e9:	80 f9 2d             	cmp    $0x2d,%cl
4093ec:	75 01                	jne    0x4093ef
4093ee:	46                   	inc    %esi
4093ef:	8a 06                	mov    (%esi),%al
4093f1:	2c 3a                	sub    $0x3a,%al
4093f3:	04 0a                	add    $0xa,%al
4093f5:	73 0e                	jae    0x409405
4093f7:	46                   	inc    %esi
4093f8:	6b d2 0a             	imul   $0xa,%edx,%edx
4093fb:	01 c2                	add    %eax,%edx
4093fd:	81 fa f4 01 00 00    	cmp    $0x1f4,%edx
409403:	72 ea                	jb     0x4093ef
409405:	80 f9 2d             	cmp    $0x2d,%cl
409408:	75 02                	jne    0x40940c
40940a:	f7 da                	neg    %edx
40940c:	c3                   	ret
40940d:	5b                   	pop    %ebx
40940e:	5e                   	pop    %esi
40940f:	5f                   	pop    %edi
409410:	8b e5                	mov    %ebp,%esp
409412:	5d                   	pop    %ebp
409413:	c3                   	ret
409414:	55                   	push   %ebp
409415:	8b ec                	mov    %esp,%ebp
409417:	83 c4 c0             	add    $0xffffffc0,%esp
40941a:	53                   	push   %ebx
40941b:	8b d8                	mov    %eax,%ebx
40941d:	6a 00                	push   $0x0
40941f:	6a 0f                	push   $0xf
409421:	6a 00                	push   $0x0
409423:	8d 55 08             	lea    0x8(%ebp),%edx
409426:	8d 45 c0             	lea    -0x40(%ebp),%eax
409429:	33 c9                	xor    %ecx,%ecx
40942b:	e8 d0 f9 ff ff       	call   0x408e00
409430:	8b c8                	mov    %eax,%ecx
409432:	8d 55 c0             	lea    -0x40(%ebp),%edx
409435:	8b c3                	mov    %ebx,%eax
409437:	e8 4c ac ff ff       	call   0x404088
40943c:	5b                   	pop    %ebx
40943d:	8b e5                	mov    %ebp,%esp
40943f:	5d                   	pop    %ebp
409440:	c2 0c 00             	ret    $0xc
409443:	90                   	nop
409444:	55                   	push   %ebp
409445:	8b ec                	mov    %esp,%ebp
409447:	83 c4 c0             	add    $0xffffffc0,%esp
40944a:	53                   	push   %ebx
40944b:	8b d8                	mov    %eax,%ebx
40944d:	6a 00                	push   $0x0
40944f:	6a 00                	push   $0x0
409451:	6a 00                	push   $0x0
409453:	8d 55 08             	lea    0x8(%ebp),%edx
409456:	8d 45 c0             	lea    -0x40(%ebp),%eax
409459:	b1 01                	mov    $0x1,%cl
40945b:	e8 a0 f9 ff ff       	call   0x408e00
409460:	8b c8                	mov    %eax,%ecx
409462:	8d 55 c0             	lea    -0x40(%ebp),%edx
409465:	8b c3                	mov    %ebx,%eax
409467:	e8 1c ac ff ff       	call   0x404088
40946c:	5b                   	pop    %ebx
40946d:	8b e5                	mov    %ebp,%esp
40946f:	5d                   	pop    %ebp
409470:	c2 08 00             	ret    $0x8
409473:	90                   	nop
409474:	53                   	push   %ebx
409475:	56                   	push   %esi
409476:	8b f2                	mov    %edx,%esi
409478:	8b d8                	mov    %eax,%ebx
40947a:	8b c3                	mov    %ebx,%eax
40947c:	e8 d7 af ff ff       	call   0x404458
409481:	8b d6                	mov    %esi,%edx
409483:	33 c9                	xor    %ecx,%ecx
409485:	e8 76 fe ff ff       	call   0x409300
40948a:	5e                   	pop    %esi
40948b:	5b                   	pop    %ebx
40948c:	c3                   	ret
40948d:	8d 40 00             	lea    0x0(%eax),%eax
409490:	53                   	push   %ebx
409491:	56                   	push   %esi
409492:	83 c4 f4             	add    $0xfffffff4,%esp
409495:	8b f2                	mov    %edx,%esi
409497:	8b d8                	mov    %eax,%ebx
409499:	8b c3                	mov    %ebx,%eax
40949b:	e8 b8 af ff ff       	call   0x404458
4094a0:	8b d4                	mov    %esp,%edx
4094a2:	33 c9                	xor    %ecx,%ecx
4094a4:	e8 57 fe ff ff       	call   0x409300
4094a9:	84 c0                	test   %al,%al
4094ab:	74 06                	je     0x4094b3
4094ad:	db 2c 24             	fldt   (%esp)
4094b0:	dd 1e                	fstpl  (%esi)
4094b2:	9b                   	fwait
4094b3:	83 c4 0c             	add    $0xc,%esp
4094b6:	5e                   	pop    %esi
4094b7:	5b                   	pop    %ebx
4094b8:	c3                   	ret
4094b9:	8d 40 00             	lea    0x0(%eax),%eax
4094bc:	53                   	push   %ebx
4094bd:	56                   	push   %esi
4094be:	83 c4 f4             	add    $0xfffffff4,%esp
4094c1:	8b f2                	mov    %edx,%esi
4094c3:	8b d8                	mov    %eax,%ebx
4094c5:	8b c3                	mov    %ebx,%eax
4094c7:	e8 8c af ff ff       	call   0x404458
4094cc:	8b d4                	mov    %esp,%edx
4094ce:	33 c9                	xor    %ecx,%ecx
4094d0:	e8 2b fe ff ff       	call   0x409300
4094d5:	84 c0                	test   %al,%al
4094d7:	74 06                	je     0x4094df
4094d9:	db 2c 24             	fldt   (%esp)
4094dc:	d9 1e                	fstps  (%esi)
4094de:	9b                   	fwait
4094df:	83 c4 0c             	add    $0xc,%esp
4094e2:	5e                   	pop    %esi
4094e3:	5b                   	pop    %ebx
4094e4:	c3                   	ret
4094e5:	8d 40 00             	lea    0x0(%eax),%eax
4094e8:	53                   	push   %ebx
4094e9:	56                   	push   %esi
4094ea:	8b f2                	mov    %edx,%esi
4094ec:	8b d8                	mov    %eax,%ebx
4094ee:	8b c3                	mov    %ebx,%eax
4094f0:	e8 63 af ff ff       	call   0x404458
4094f5:	8b d6                	mov    %esi,%edx
4094f7:	b1 01                	mov    $0x1,%cl
4094f9:	e8 02 fe ff ff       	call   0x409300
4094fe:	5e                   	pop    %esi
4094ff:	5b                   	pop    %ebx
409500:	c3                   	ret
409501:	8d 40 00             	lea    0x0(%eax),%eax
409504:	55                   	push   %ebp
409505:	8b ec                	mov    %esp,%ebp
409507:	53                   	push   %ebx
409508:	31 db                	xor    %ebx,%ebx
40950a:	89 c1                	mov    %eax,%ecx
40950c:	dd 45 08             	fldl   0x8(%ebp)
40950f:	d8 8b 7c 31 46 00    	fmuls  0x46317c(%ebx)
409515:	83 ec 08             	sub    $0x8,%esp
409518:	df 3c 24             	fistpll (%esp)
40951b:	9b                   	fwait
40951c:	58                   	pop    %eax
40951d:	5a                   	pop    %edx
40951e:	09 d2                	or     %edx,%edx
409520:	79 11                	jns    0x409533
409522:	f7 da                	neg    %edx
409524:	f7 d8                	neg    %eax
409526:	83 da 00             	sbb    $0x0,%edx
409529:	f7 b3 80 31 46 00    	divl   0x463180(%ebx)
40952f:	f7 d8                	neg    %eax
409531:	eb 06                	jmp    0x409539
409533:	f7 b3 80 31 46 00    	divl   0x463180(%ebx)
409539:	05 5a 95 0a 00       	add    $0xa955a,%eax
40953e:	89 11                	mov    %edx,(%ecx)
409540:	89 41 04             	mov    %eax,0x4(%ecx)
409543:	5b                   	pop    %ebx
409544:	5d                   	pop    %ebp
409545:	c2 08 00             	ret    $0x8
409548:	55                   	push   %ebp
409549:	8b ec                	mov    %esp,%ebp
40954b:	83 c4 f8             	add    $0xfffffff8,%esp
40954e:	56                   	push   %esi
40954f:	8b 75 0c             	mov    0xc(%ebp),%esi
409552:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
409556:	66 83 f8 18          	cmp    $0x18,%ax
40955a:	73 4d                	jae    0x4095a9
40955c:	66 83 fa 3c          	cmp    $0x3c,%dx
409560:	73 47                	jae    0x4095a9
409562:	66 83 f9 3c          	cmp    $0x3c,%cx
409566:	73 41                	jae    0x4095a9
409568:	66 81 fe e8 03       	cmp    $0x3e8,%si
40956d:	73 3a                	jae    0x4095a9
40956f:	0f b7 c0             	movzwl %ax,%eax
409572:	69 c0 80 ee 36 00    	imul   $0x36ee80,%eax,%eax
409578:	0f b7 d2             	movzwl %dx,%edx
40957b:	69 d2 60 ea 00 00    	imul   $0xea60,%edx,%edx
409581:	03 c2                	add    %edx,%eax
409583:	0f b7 d1             	movzwl %cx,%edx
409586:	69 d2 e8 03 00 00    	imul   $0x3e8,%edx,%edx
40958c:	03 c2                	add    %edx,%eax
40958e:	0f b7 d6             	movzwl %si,%edx
409591:	03 c2                	add    %edx,%eax
409593:	89 45 f8             	mov    %eax,-0x8(%ebp)
409596:	db 45 f8             	fildl  -0x8(%ebp)
409599:	d8 35 b4 95 40 00    	fdivs  0x4095b4
40959f:	8b 45 08             	mov    0x8(%ebp),%eax
4095a2:	dd 18                	fstpl  (%eax)
4095a4:	9b                   	fwait
4095a5:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
4095a9:	8a 45 ff             	mov    -0x1(%ebp),%al
4095ac:	5e                   	pop    %esi
4095ad:	59                   	pop    %ecx
4095ae:	59                   	pop    %ecx
4095af:	5d                   	pop    %ebp
4095b0:	c2 08 00             	ret    $0x8
4095b3:	00 80 cb a4 4c 55    	add    %al,0x554ca4cb(%eax)
4095b9:	8b ec                	mov    %esp,%ebp
4095bb:	83 c4 f4             	add    $0xfffffff4,%esp
4095be:	53                   	push   %ebx
4095bf:	56                   	push   %esi
4095c0:	57                   	push   %edi
4095c1:	8b f9                	mov    %ecx,%edi
4095c3:	8b f2                	mov    %edx,%esi
4095c5:	8b d8                	mov    %eax,%ebx
4095c7:	8d 45 fc             	lea    -0x4(%ebp),%eax
4095ca:	50                   	push   %eax
4095cb:	ff 75 10             	push   0x10(%ebp)
4095ce:	ff 75 0c             	push   0xc(%ebp)
4095d1:	8d 45 f4             	lea    -0xc(%ebp),%eax
4095d4:	e8 2b ff ff ff       	call   0x409504
4095d9:	8b 45 f4             	mov    -0xc(%ebp),%eax
4095dc:	8d 4d fe             	lea    -0x2(%ebp),%ecx
4095df:	66 ba 60 ea          	mov    $0xea60,%dx
4095e3:	e8 b8 e4 ff ff       	call   0x407aa0
4095e8:	56                   	push   %esi
4095e9:	8b cb                	mov    %ebx,%ecx
4095eb:	0f b7 45 fe          	movzwl -0x2(%ebp),%eax
4095ef:	66 ba 3c 00          	mov    $0x3c,%dx
4095f3:	e8 a8 e4 ff ff       	call   0x407aa0
4095f8:	8b 45 08             	mov    0x8(%ebp),%eax
4095fb:	50                   	push   %eax
4095fc:	8b cf                	mov    %edi,%ecx
4095fe:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
409602:	66 ba e8 03          	mov    $0x3e8,%dx
409606:	e8 95 e4 ff ff       	call   0x407aa0
40960b:	5f                   	pop    %edi
40960c:	5e                   	pop    %esi
40960d:	5b                   	pop    %ebx
40960e:	8b e5                	mov    %ebp,%esp
409610:	5d                   	pop    %ebp
409611:	c2 0c 00             	ret    $0xc
409614:	53                   	push   %ebx
409615:	56                   	push   %esi
409616:	8b c8                	mov    %eax,%ecx
409618:	0f b7 c1             	movzwl %cx,%eax
40961b:	83 e0 03             	and    $0x3,%eax
40961e:	85 c0                	test   %eax,%eax
409620:	75 21                	jne    0x409643
409622:	0f b7 d9             	movzwl %cx,%ebx
409625:	8b c3                	mov    %ebx,%eax
409627:	be 64 00 00 00       	mov    $0x64,%esi
40962c:	33 d2                	xor    %edx,%edx
40962e:	f7 f6                	div    %esi
409630:	85 d2                	test   %edx,%edx
409632:	75 14                	jne    0x409648
409634:	8b c3                	mov    %ebx,%eax
409636:	b9 90 01 00 00       	mov    $0x190,%ecx
40963b:	33 d2                	xor    %edx,%edx
40963d:	f7 f1                	div    %ecx
40963f:	85 d2                	test   %edx,%edx
409641:	74 05                	je     0x409648
409643:	33 c0                	xor    %eax,%eax
409645:	5e                   	pop    %esi
409646:	5b                   	pop    %ebx
409647:	c3                   	ret
409648:	b0 01                	mov    $0x1,%al
40964a:	5e                   	pop    %esi
40964b:	5b                   	pop    %ebx
40964c:	c3                   	ret
40964d:	8d 40 00             	lea    0x0(%eax),%eax
409650:	55                   	push   %ebp
409651:	8b ec                	mov    %esp,%ebp
409653:	83 c4 f8             	add    $0xfffffff8,%esp
409656:	53                   	push   %ebx