4092dc:	c0 e8 04             	shr    $0x4,%al
4092df:	04 30                	add    $0x30,%al
4092e1:	aa                   	stos   %al,%es:(%edi)
4092e2:	88 e0                	mov    %ah,%al
4092e4:	24 0f                	and    $0xf,%al
4092e6:	04 30                	add    $0x30,%al
4092e8:	aa                   	stos   %al,%es:(%edi)
4092e9:	49                   	dec    %ecx
4092ea:	75 ea                	jne    0x4092d6
4092ec:	89 f8                	mov    %edi,%eax
4092ee:	8d 4c 13 03          	lea    0x3(%ebx,%edx,1),%ecx
4092f2:	29 c8                	sub    %ecx,%eax
4092f4:	c6 07 00             	movb   $0x0,(%edi)
4092f7:	4f                   	dec    %edi
4092f8:	80 3f 30             	cmpb   $0x30,(%edi)
4092fb:	74 f7                	je     0x4092f4
4092fd:	8b 56 04             	mov    0x4(%esi),%edx
409300:	c1 ea 1f             	shr    $0x1f,%edx
409303:	eb 07                	jmp    0x40930c
409305:	31 c0                	xor    %eax,%eax
409307:	31 d2                	xor    %edx,%edx
409309:	88 43 03             	mov    %al,0x3(%ebx)
40930c:	66 89 03             	mov    %ax,(%ebx)
40930f:	88 53 02             	mov    %dl,0x2(%ebx)
409312:	c3                   	ret
409313:	5b                   	pop    %ebx
409314:	5e                   	pop    %esi
409315:	5f                   	pop    %edi
409316:	8b e5                	mov    %ebp,%esp
409318:	5d                   	pop    %ebp
409319:	c2 08 00             	ret    $0x8
40931c:	55                   	push   %ebp
40931d:	8b ec                	mov    %esp,%ebp
40931f:	83 c4 f4             	add    $0xfffffff4,%esp
409322:	57                   	push   %edi
409323:	56                   	push   %esi
409324:	53                   	push   %ebx
409325:	89 c6                	mov    %eax,%esi
409327:	89 d7                	mov    %edx,%edi
409329:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
409330:	a0 87 96 46 00       	mov    0x469687,%al
409335:	88 45 fb             	mov    %al,-0x5(%ebp)
409338:	89 cb                	mov    %ecx,%ebx
40933a:	9b d9 7d f8          	fstcw  -0x8(%ebp)
40933e:	9b db e2             	fclex
409341:	d9 2d 78 d1 45 00    	fldcw  0x45d178
409347:	d9 ee                	fldz
409349:	e8 85 00 00 00       	call   0x4093d3
40934e:	8a 3e                	mov    (%esi),%bh
409350:	80 ff 2b             	cmp    $0x2b,%bh
409353:	74 05                	je     0x40935a
409355:	80 ff 2d             	cmp    $0x2d,%bh
409358:	75 01                	jne    0x40935b
40935a:	46                   	inc    %esi
40935b:	89 f1                	mov    %esi,%ecx
40935d:	e8 7c 00 00 00       	call   0x4093de
409362:	31 d2                	xor    %edx,%edx
409364:	8a 06                	mov    (%esi),%al
409366:	3a 45 fb             	cmp    -0x5(%ebp),%al
409369:	75 08                	jne    0x409373
40936b:	46                   	inc    %esi
40936c:	e8 6d 00 00 00       	call   0x4093de
409371:	f7 da                	neg    %edx
409373:	39 f1                	cmp    %esi,%ecx
409375:	74 4f                	je     0x4093c6
409377:	8a 06                	mov    (%esi),%al
409379:	24 df                	and    $0xdf,%al
40937b:	3c 45                	cmp    $0x45,%al
40937d:	75 0a                	jne    0x409389
40937f:	46                   	inc    %esi
409380:	52                   	push   %edx
409381:	e8 74 00 00 00       	call   0x4093fa
409386:	58                   	pop    %eax
409387:	01 c2                	add    %eax,%edx
409389:	e8 45 00 00 00       	call   0x4093d3
40938e:	80 3e 00             	cmpb   $0x0,(%esi)
409391:	75 33                	jne    0x4093c6
409393:	89 d0                	mov    %edx,%eax
409395:	80 fb 01             	cmp    $0x1,%bl
409398:	75 03                	jne    0x40939d
40939a:	83 c0 04             	add    $0x4,%eax
40939d:	53                   	push   %ebx
40939e:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4093a1:	e8 1a 9a ff ff       	call   0x402dc0
4093a6:	5b                   	pop    %ebx
4093a7:	80 ff 2d             	cmp    $0x2d,%bh
4093aa:	75 02                	jne    0x4093ae
4093ac:	d9 e0                	fchs
4093ae:	80 fb 00             	cmp    $0x0,%bl
4093b1:	74 04                	je     0x4093b7
4093b3:	df 3f                	fistpll (%edi)
4093b5:	eb 02                	jmp    0x4093b9
4093b7:	db 3f                	fstpt  (%edi)
4093b9:	9b df e0             	fstsw  %ax
4093bc:	66 a9 09 00          	test   $0x9,%ax
4093c0:	75 06                	jne    0x4093c8
4093c2:	b0 01                	mov    $0x1,%al
4093c4:	eb 04                	jmp    0x4093ca
4093c6:	dd d8                	fstp   %st(0)
4093c8:	31 c0                	xor    %eax,%eax
4093ca:	9b db e2             	fclex
4093cd:	d9 6d f8             	fldcw  -0x8(%ebp)
4093d0:	9b                   	fwait
4093d1:	eb 56                	jmp    0x409429
4093d3:	ac                   	lods   %ds:(%esi),%al
4093d4:	08 c0                	or     %al,%al
4093d6:	74 04                	je     0x4093dc
4093d8:	3c 20                	cmp    $0x20,%al
4093da:	74 f7                	je     0x4093d3
4093dc:	4e                   	dec    %esi
4093dd:	c3                   	ret
4093de:	31 c0                	xor    %eax,%eax
4093e0:	31 d2                	xor    %edx,%edx
4093e2:	ac                   	lods   %ds:(%esi),%al
4093e3:	2c 3a                	sub    $0x3a,%al
4093e5:	04 0a                	add    $0xa,%al
4093e7:	73 0f                	jae    0x4093f8
4093e9:	da 0d 74 d1 45 00    	fimull 0x45d174
4093ef:	89 45 f4             	mov    %eax,-0xc(%ebp)
4093f2:	da 45 f4             	fiaddl -0xc(%ebp)
4093f5:	42                   	inc    %edx
4093f6:	eb ea                	jmp    0x4093e2
4093f8:	4e                   	dec    %esi
4093f9:	c3                   	ret
4093fa:	31 c0                	xor    %eax,%eax
4093fc:	31 d2                	xor    %edx,%edx
4093fe:	8a 0e                	mov    (%esi),%cl
409400:	80 f9 2b             	cmp    $0x2b,%cl
409403:	74 05                	je     0x40940a
409405:	80 f9 2d             	cmp    $0x2d,%cl
409408:	75 01                	jne    0x40940b
40940a:	46                   	inc    %esi
40940b:	8a 06                	mov    (%esi),%al
40940d:	2c 3a                	sub    $0x3a,%al
40940f:	04 0a                	add    $0xa,%al
409411:	73 0e                	jae    0x409421
409413:	46                   	inc    %esi
409414:	6b d2 0a             	imul   $0xa,%edx,%edx
409417:	01 c2                	add    %eax,%edx
409419:	81 fa f4 01 00 00    	cmp    $0x1f4,%edx
40941f:	72 ea                	jb     0x40940b
409421:	80 f9 2d             	cmp    $0x2d,%cl
409424:	75 02                	jne    0x409428
409426:	f7 da                	neg    %edx
409428:	c3                   	ret
409429:	5b                   	pop    %ebx
40942a:	5e                   	pop    %esi
40942b:	5f                   	pop    %edi
40942c:	8b e5                	mov    %ebp,%esp
40942e:	5d                   	pop    %ebp
40942f:	c3                   	ret
409430:	55                   	push   %ebp
409431:	8b ec                	mov    %esp,%ebp
409433:	83 c4 c0             	add    $0xffffffc0,%esp
409436:	53                   	push   %ebx
409437:	8b d8                	mov    %eax,%ebx
409439:	6a 00                	push   $0x0
40943b:	6a 0f                	push   $0xf
40943d:	6a 00                	push   $0x0
40943f:	8d 55 08             	lea    0x8(%ebp),%edx
409442:	8d 45 c0             	lea    -0x40(%ebp),%eax
409445:	33 c9                	xor    %ecx,%ecx
409447:	e8 d0 f9 ff ff       	call   0x408e1c
40944c:	8b c8                	mov    %eax,%ecx
40944e:	8d 55 c0             	lea    -0x40(%ebp),%edx
409451:	8b c3                	mov    %ebx,%eax
409453:	e8 54 ac ff ff       	call   0x4040ac
409458:	5b                   	pop    %ebx
409459:	8b e5                	mov    %ebp,%esp
40945b:	5d                   	pop    %ebp
40945c:	c2 0c 00             	ret    $0xc
40945f:	90                   	nop
409460:	55                   	push   %ebp
409461:	8b ec                	mov    %esp,%ebp
409463:	83 c4 c0             	add    $0xffffffc0,%esp
409466:	53                   	push   %ebx
409467:	8b d8                	mov    %eax,%ebx
409469:	6a 00                	push   $0x0
40946b:	6a 00                	push   $0x0
40946d:	6a 00                	push   $0x0
40946f:	8d 55 08             	lea    0x8(%ebp),%edx
409472:	8d 45 c0             	lea    -0x40(%ebp),%eax
409475:	b1 01                	mov    $0x1,%cl
409477:	e8 a0 f9 ff ff       	call   0x408e1c
40947c:	8b c8                	mov    %eax,%ecx
40947e:	8d 55 c0             	lea    -0x40(%ebp),%edx
409481:	8b c3                	mov    %ebx,%eax
409483:	e8 24 ac ff ff       	call   0x4040ac
409488:	5b                   	pop    %ebx
409489:	8b e5                	mov    %ebp,%esp
40948b:	5d                   	pop    %ebp
40948c:	c2 08 00             	ret    $0x8
40948f:	90                   	nop
409490:	53                   	push   %ebx
409491:	56                   	push   %esi
409492:	8b f2                	mov    %edx,%esi
409494:	8b d8                	mov    %eax,%ebx
409496:	8b c3                	mov    %ebx,%eax
409498:	e8 df af ff ff       	call   0x40447c
40949d:	8b d6                	mov    %esi,%edx
40949f:	33 c9                	xor    %ecx,%ecx
4094a1:	e8 76 fe ff ff       	call   0x40931c
4094a6:	5e                   	pop    %esi
4094a7:	5b                   	pop    %ebx
4094a8:	c3                   	ret
4094a9:	8d 40 00             	lea    0x0(%eax),%eax
4094ac:	53                   	push   %ebx
4094ad:	56                   	push   %esi
4094ae:	83 c4 f4             	add    $0xfffffff4,%esp
4094b1:	8b f2                	mov    %edx,%esi
4094b3:	8b d8                	mov    %eax,%ebx
4094b5:	8b c3                	mov    %ebx,%eax
4094b7:	e8 c0 af ff ff       	call   0x40447c
4094bc:	8b d4                	mov    %esp,%edx
4094be:	33 c9                	xor    %ecx,%ecx
4094c0:	e8 57 fe ff ff       	call   0x40931c
4094c5:	84 c0                	test   %al,%al
4094c7:	74 06                	je     0x4094cf
4094c9:	db 2c 24             	fldt   (%esp)
4094cc:	dd 1e                	fstpl  (%esi)
4094ce:	9b                   	fwait
4094cf:	83 c4 0c             	add    $0xc,%esp
4094d2:	5e                   	pop    %esi
4094d3:	5b                   	pop    %ebx
4094d4:	c3                   	ret
4094d5:	8d 40 00             	lea    0x0(%eax),%eax
4094d8:	53                   	push   %ebx
4094d9:	56                   	push   %esi
4094da:	83 c4 f4             	add    $0xfffffff4,%esp
4094dd:	8b f2                	mov    %edx,%esi
4094df:	8b d8                	mov    %eax,%ebx
4094e1:	8b c3                	mov    %ebx,%eax
4094e3:	e8 94 af ff ff       	call   0x40447c
4094e8:	8b d4                	mov    %esp,%edx
4094ea:	33 c9                	xor    %ecx,%ecx
4094ec:	e8 2b fe ff ff       	call   0x40931c
4094f1:	84 c0                	test   %al,%al
4094f3:	74 06                	je     0x4094fb
4094f5:	db 2c 24             	fldt   (%esp)
4094f8:	d9 1e                	fstps  (%esi)
4094fa:	9b                   	fwait
4094fb:	83 c4 0c             	add    $0xc,%esp
4094fe:	5e                   	pop    %esi
4094ff:	5b                   	pop    %ebx
409500:	c3                   	ret
409501:	8d 40 00             	lea    0x0(%eax),%eax
409504:	53                   	push   %ebx
409505:	56                   	push   %esi
409506:	8b f2                	mov    %edx,%esi
409508:	8b d8                	mov    %eax,%ebx
40950a:	8b c3                	mov    %ebx,%eax
40950c:	e8 6b af ff ff       	call   0x40447c
409511:	8b d6                	mov    %esi,%edx
409513:	b1 01                	mov    $0x1,%cl
409515:	e8 02 fe ff ff       	call   0x40931c
40951a:	5e                   	pop    %esi
40951b:	5b                   	pop    %ebx
40951c:	c3                   	ret
40951d:	8d 40 00             	lea    0x0(%eax),%eax
409520:	55                   	push   %ebp
409521:	8b ec                	mov    %esp,%ebp
409523:	53                   	push   %ebx
409524:	31 db                	xor    %ebx,%ebx
409526:	89 c1                	mov    %eax,%ecx
409528:	dd 45 08             	fldl   0x8(%ebp)
40952b:	d8 8b 7c d1 45 00    	fmuls  0x45d17c(%ebx)
409531:	83 ec 08             	sub    $0x8,%esp
409534:	df 3c 24             	fistpll (%esp)
409537:	9b                   	fwait
409538:	58                   	pop    %eax
409539:	5a                   	pop    %edx
40953a:	09 d2                	or     %edx,%edx
40953c:	79 11                	jns    0x40954f
40953e:	f7 da                	neg    %edx
409540:	f7 d8                	neg    %eax
409542:	83 da 00             	sbb    $0x0,%edx
409545:	f7 b3 80 d1 45 00    	divl   0x45d180(%ebx)
40954b:	f7 d8                	neg    %eax
40954d:	eb 06                	jmp    0x409555
40954f:	f7 b3 80 d1 45 00    	divl   0x45d180(%ebx)
409555:	05 5a 95 0a 00       	add    $0xa955a,%eax
40955a:	89 11                	mov    %edx,(%ecx)
40955c:	89 41 04             	mov    %eax,0x4(%ecx)
40955f:	5b                   	pop    %ebx
409560:	5d                   	pop    %ebp
409561:	c2 08 00             	ret    $0x8
409564:	55                   	push   %ebp
409565:	8b ec                	mov    %esp,%ebp
409567:	83 c4 f8             	add    $0xfffffff8,%esp
40956a:	56                   	push   %esi
40956b:	8b 75 0c             	mov    0xc(%ebp),%esi
40956e:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
409572:	66 83 f8 18          	cmp    $0x18,%ax
409576:	73 4d                	jae    0x4095c5
409578:	66 83 fa 3c          	cmp    $0x3c,%dx
40957c:	73 47                	jae    0x4095c5
40957e:	66 83 f9 3c          	cmp    $0x3c,%cx
409582:	73 41                	jae    0x4095c5
409584:	66 81 fe e8 03       	cmp    $0x3e8,%si
409589:	73 3a                	jae    0x4095c5
40958b:	0f b7 c0             	movzwl %ax,%eax
40958e:	69 c0 80 ee 36 00    	imul   $0x36ee80,%eax,%eax
409594:	0f b7 d2             	movzwl %dx,%edx
409597:	69 d2 60 ea 00 00    	imul   $0xea60,%edx,%edx
40959d:	03 c2                	add    %edx,%eax
40959f:	0f b7 d1             	movzwl %cx,%edx
4095a2:	69 d2 e8 03 00 00    	imul   $0x3e8,%edx,%edx
4095a8:	03 c2                	add    %edx,%eax
4095aa:	0f b7 d6             	movzwl %si,%edx
4095ad:	03 c2                	add    %edx,%eax
4095af:	89 45 f8             	mov    %eax,-0x8(%ebp)
4095b2:	db 45 f8             	fildl  -0x8(%ebp)
4095b5:	d8 35 d0 95 40 00    	fdivs  0x4095d0
4095bb:	8b 45 08             	mov    0x8(%ebp),%eax
4095be:	dd 18                	fstpl  (%eax)
4095c0:	9b                   	fwait
4095c1:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
4095c5:	8a 45 ff             	mov    -0x1(%ebp),%al
4095c8:	5e                   	pop    %esi
4095c9:	59                   	pop    %ecx
4095ca:	59                   	pop    %ecx
4095cb:	5d                   	pop    %ebp
4095cc:	c2 08 00             	ret    $0x8
4095cf:	00 80 cb a4 4c 55    	add    %al,0x554ca4cb(%eax)
4095d5:	8b ec                	mov    %esp,%ebp
4095d7:	83 c4 f8             	add    $0xfffffff8,%esp
4095da:	53                   	push   %ebx
4095db:	56                   	push   %esi
4095dc:	57                   	push   %edi
4095dd:	8b f9                	mov    %ecx,%edi
4095df:	8b f2                	mov    %edx,%esi
4095e1:	8b d8                	mov    %eax,%ebx
4095e3:	66 8b 45 08          	mov    0x8(%ebp),%ax
4095e7:	50                   	push   %eax
4095e8:	8d 45 f8             	lea    -0x8(%ebp),%eax
4095eb:	50                   	push   %eax
4095ec:	8b cf                	mov    %edi,%ecx
4095ee:	8b d6                	mov    %esi,%edx
4095f0:	8b c3                	mov    %ebx,%eax
4095f2:	e8 6d ff ff ff       	call   0x409564
4095f7:	84 c0                	test   %al,%al
4095f9:	75 0a                	jne    0x409605
4095fb:	a1 5c 7e 46 00       	mov    0x467e5c,%eax
409600:	e8 bb e4 ff ff       	call   0x407ac0
409605:	dd 45 f8             	fldl   -0x8(%ebp)
409608:	5f                   	pop    %edi
409609:	5e                   	pop    %esi
40960a:	5b                   	pop    %ebx
40960b:	59                   	pop    %ecx
40960c:	59                   	pop    %ecx