40961c:	53                   	push   %ebx
40961d:	89 c6                	mov    %eax,%esi
40961f:	89 d7                	mov    %edx,%edi
409621:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
409628:	a0 87 56 47 00       	mov    0x475687,%al
40962d:	88 45 fb             	mov    %al,-0x5(%ebp)
409630:	89 cb                	mov    %ecx,%ebx
409632:	9b d9 7d f8          	fstcw  -0x8(%ebp)
409636:	9b db e2             	fclex
409639:	d9 2d 78 91 46 00    	fldcw  0x469178
40963f:	d9 ee                	fldz
409641:	e8 85 00 00 00       	call   0x4096cb
409646:	8a 3e                	mov    (%esi),%bh
409648:	80 ff 2b             	cmp    $0x2b,%bh
40964b:	74 05                	je     0x409652
40964d:	80 ff 2d             	cmp    $0x2d,%bh
409650:	75 01                	jne    0x409653
409652:	46                   	inc    %esi
409653:	89 f1                	mov    %esi,%ecx
409655:	e8 7c 00 00 00       	call   0x4096d6
40965a:	31 d2                	xor    %edx,%edx
40965c:	8a 06                	mov    (%esi),%al
40965e:	3a 45 fb             	cmp    -0x5(%ebp),%al
409661:	75 08                	jne    0x40966b
409663:	46                   	inc    %esi
409664:	e8 6d 00 00 00       	call   0x4096d6
409669:	f7 da                	neg    %edx
40966b:	39 f1                	cmp    %esi,%ecx
40966d:	74 4f                	je     0x4096be
40966f:	8a 06                	mov    (%esi),%al
409671:	24 df                	and    $0xdf,%al
409673:	3c 45                	cmp    $0x45,%al
409675:	75 0a                	jne    0x409681
409677:	46                   	inc    %esi
409678:	52                   	push   %edx
409679:	e8 74 00 00 00       	call   0x4096f2
40967e:	58                   	pop    %eax
40967f:	01 c2                	add    %eax,%edx
409681:	e8 45 00 00 00       	call   0x4096cb
409686:	80 3e 00             	cmpb   $0x0,(%esi)
409689:	75 33                	jne    0x4096be
40968b:	89 d0                	mov    %edx,%eax
40968d:	80 fb 01             	cmp    $0x1,%bl
409690:	75 03                	jne    0x409695
409692:	83 c0 04             	add    $0x4,%eax
409695:	53                   	push   %ebx
409696:	8b 5d fc             	mov    -0x4(%ebp),%ebx
409699:	e8 66 97 ff ff       	call   0x402e04
40969e:	5b                   	pop    %ebx
40969f:	80 ff 2d             	cmp    $0x2d,%bh
4096a2:	75 02                	jne    0x4096a6
4096a4:	d9 e0                	fchs
4096a6:	80 fb 00             	cmp    $0x0,%bl
4096a9:	74 04                	je     0x4096af
4096ab:	df 3f                	fistpll (%edi)
4096ad:	eb 02                	jmp    0x4096b1
4096af:	db 3f                	fstpt  (%edi)
4096b1:	9b df e0             	fstsw  %ax
4096b4:	66 a9 09 00          	test   $0x9,%ax
4096b8:	75 06                	jne    0x4096c0
4096ba:	b0 01                	mov    $0x1,%al
4096bc:	eb 04                	jmp    0x4096c2
4096be:	dd d8                	fstp   %st(0)
4096c0:	31 c0                	xor    %eax,%eax
4096c2:	9b db e2             	fclex
4096c5:	d9 6d f8             	fldcw  -0x8(%ebp)
4096c8:	9b                   	fwait
4096c9:	eb 56                	jmp    0x409721
4096cb:	ac                   	lods   %ds:(%esi),%al
4096cc:	08 c0                	or     %al,%al
4096ce:	74 04                	je     0x4096d4
4096d0:	3c 20                	cmp    $0x20,%al
4096d2:	74 f7                	je     0x4096cb
4096d4:	4e                   	dec    %esi
4096d5:	c3                   	ret
4096d6:	31 c0                	xor    %eax,%eax
4096d8:	31 d2                	xor    %edx,%edx
4096da:	ac                   	lods   %ds:(%esi),%al
4096db:	2c 3a                	sub    $0x3a,%al
4096dd:	04 0a                	add    $0xa,%al
4096df:	73 0f                	jae    0x4096f0
4096e1:	da 0d 74 91 46 00    	fimull 0x469174
4096e7:	89 45 f4             	mov    %eax,-0xc(%ebp)
4096ea:	da 45 f4             	fiaddl -0xc(%ebp)
4096ed:	42                   	inc    %edx
4096ee:	eb ea                	jmp    0x4096da
4096f0:	4e                   	dec    %esi
4096f1:	c3                   	ret
4096f2:	31 c0                	xor    %eax,%eax
4096f4:	31 d2                	xor    %edx,%edx
4096f6:	8a 0e                	mov    (%esi),%cl
4096f8:	80 f9 2b             	cmp    $0x2b,%cl
4096fb:	74 05                	je     0x409702
4096fd:	80 f9 2d             	cmp    $0x2d,%cl
409700:	75 01                	jne    0x409703
409702:	46                   	inc    %esi
409703:	8a 06                	mov    (%esi),%al
409705:	2c 3a                	sub    $0x3a,%al
409707:	04 0a                	add    $0xa,%al
409709:	73 0e                	jae    0x409719
40970b:	46                   	inc    %esi
40970c:	6b d2 0a             	imul   $0xa,%edx,%edx
40970f:	01 c2                	add    %eax,%edx
409711:	81 fa f4 01 00 00    	cmp    $0x1f4,%edx
409717:	72 ea                	jb     0x409703
409719:	80 f9 2d             	cmp    $0x2d,%cl
40971c:	75 02                	jne    0x409720
40971e:	f7 da                	neg    %edx
409720:	c3                   	ret
409721:	5b                   	pop    %ebx
409722:	5e                   	pop    %esi
409723:	5f                   	pop    %edi
409724:	8b e5                	mov    %ebp,%esp
409726:	5d                   	pop    %ebp
409727:	c3                   	ret
409728:	55                   	push   %ebp
409729:	8b ec                	mov    %esp,%ebp
40972b:	83 c4 c0             	add    $0xffffffc0,%esp
40972e:	53                   	push   %ebx
40972f:	8b d8                	mov    %eax,%ebx
409731:	6a 00                	push   $0x0
409733:	6a 0f                	push   $0xf
409735:	6a 00                	push   $0x0
409737:	8d 55 08             	lea    0x8(%ebp),%edx
40973a:	8d 45 c0             	lea    -0x40(%ebp),%eax
40973d:	33 c9                	xor    %ecx,%ecx
40973f:	e8 d0 f9 ff ff       	call   0x409114
409744:	8b c8                	mov    %eax,%ecx
409746:	8d 55 c0             	lea    -0x40(%ebp),%edx
409749:	8b c3                	mov    %ebx,%eax
40974b:	e8 f0 a9 ff ff       	call   0x404140
409750:	5b                   	pop    %ebx
409751:	8b e5                	mov    %ebp,%esp
409753:	5d                   	pop    %ebp
409754:	c2 0c 00             	ret    $0xc
409757:	90                   	nop
409758:	55                   	push   %ebp
409759:	8b ec                	mov    %esp,%ebp
40975b:	83 c4 c0             	add    $0xffffffc0,%esp
40975e:	53                   	push   %ebx
40975f:	8b d8                	mov    %eax,%ebx
409761:	6a 00                	push   $0x0
409763:	6a 00                	push   $0x0
409765:	6a 00                	push   $0x0
409767:	8d 55 08             	lea    0x8(%ebp),%edx
40976a:	8d 45 c0             	lea    -0x40(%ebp),%eax
40976d:	b1 01                	mov    $0x1,%cl
40976f:	e8 a0 f9 ff ff       	call   0x409114
409774:	8b c8                	mov    %eax,%ecx
409776:	8d 55 c0             	lea    -0x40(%ebp),%edx
409779:	8b c3                	mov    %ebx,%eax
40977b:	e8 c0 a9 ff ff       	call   0x404140
409780:	5b                   	pop    %ebx
409781:	8b e5                	mov    %ebp,%esp
409783:	5d                   	pop    %ebp
409784:	c2 08 00             	ret    $0x8
409787:	90                   	nop
409788:	53                   	push   %ebx
409789:	56                   	push   %esi
40978a:	8b f2                	mov    %edx,%esi
40978c:	8b d8                	mov    %eax,%ebx
40978e:	8b c3                	mov    %ebx,%eax
409790:	e8 7b ad ff ff       	call   0x404510
409795:	8b d6                	mov    %esi,%edx
409797:	33 c9                	xor    %ecx,%ecx
409799:	e8 76 fe ff ff       	call   0x409614
40979e:	5e                   	pop    %esi
40979f:	5b                   	pop    %ebx
4097a0:	c3                   	ret
4097a1:	8d 40 00             	lea    0x0(%eax),%eax
4097a4:	53                   	push   %ebx
4097a5:	56                   	push   %esi
4097a6:	83 c4 f4             	add    $0xfffffff4,%esp
4097a9:	8b f2                	mov    %edx,%esi
4097ab:	8b d8                	mov    %eax,%ebx
4097ad:	8b c3                	mov    %ebx,%eax
4097af:	e8 5c ad ff ff       	call   0x404510
4097b4:	8b d4                	mov    %esp,%edx
4097b6:	33 c9                	xor    %ecx,%ecx
4097b8:	e8 57 fe ff ff       	call   0x409614
4097bd:	84 c0                	test   %al,%al
4097bf:	74 06                	je     0x4097c7
4097c1:	db 2c 24             	fldt   (%esp)
4097c4:	dd 1e                	fstpl  (%esi)
4097c6:	9b                   	fwait
4097c7:	83 c4 0c             	add    $0xc,%esp
4097ca:	5e                   	pop    %esi
4097cb:	5b                   	pop    %ebx
4097cc:	c3                   	ret
4097cd:	8d 40 00             	lea    0x0(%eax),%eax
4097d0:	53                   	push   %ebx
4097d1:	56                   	push   %esi
4097d2:	83 c4 f4             	add    $0xfffffff4,%esp
4097d5:	8b f2                	mov    %edx,%esi
4097d7:	8b d8                	mov    %eax,%ebx
4097d9:	8b c3                	mov    %ebx,%eax
4097db:	e8 30 ad ff ff       	call   0x404510
4097e0:	8b d4                	mov    %esp,%edx
4097e2:	33 c9                	xor    %ecx,%ecx
4097e4:	e8 2b fe ff ff       	call   0x409614
4097e9:	84 c0                	test   %al,%al
4097eb:	74 06                	je     0x4097f3
4097ed:	db 2c 24             	fldt   (%esp)
4097f0:	d9 1e                	fstps  (%esi)
4097f2:	9b                   	fwait
4097f3:	83 c4 0c             	add    $0xc,%esp
4097f6:	5e                   	pop    %esi
4097f7:	5b                   	pop    %ebx
4097f8:	c3                   	ret
4097f9:	8d 40 00             	lea    0x0(%eax),%eax
4097fc:	53                   	push   %ebx
4097fd:	56                   	push   %esi
4097fe:	8b f2                	mov    %edx,%esi
409800:	8b d8                	mov    %eax,%ebx
409802:	8b c3                	mov    %ebx,%eax
409804:	e8 07 ad ff ff       	call   0x404510
409809:	8b d6                	mov    %esi,%edx
40980b:	b1 01                	mov    $0x1,%cl
40980d:	e8 02 fe ff ff       	call   0x409614
409812:	5e                   	pop    %esi
409813:	5b                   	pop    %ebx
409814:	c3                   	ret
409815:	8d 40 00             	lea    0x0(%eax),%eax
409818:	55                   	push   %ebp
409819:	8b ec                	mov    %esp,%ebp
40981b:	53                   	push   %ebx
40981c:	31 db                	xor    %ebx,%ebx
40981e:	89 c1                	mov    %eax,%ecx
409820:	dd 45 08             	fldl   0x8(%ebp)
409823:	d8 8b 7c 91 46 00    	fmuls  0x46917c(%ebx)
409829:	83 ec 08             	sub    $0x8,%esp
40982c:	df 3c 24             	fistpll (%esp)
40982f:	9b                   	fwait
409830:	58                   	pop    %eax
409831:	5a                   	pop    %edx
409832:	09 d2                	or     %edx,%edx
409834:	79 11                	jns    0x409847
409836:	f7 da                	neg    %edx
409838:	f7 d8                	neg    %eax
40983a:	83 da 00             	sbb    $0x0,%edx
40983d:	f7 b3 80 91 46 00    	divl   0x469180(%ebx)
409843:	f7 d8                	neg    %eax
409845:	eb 06                	jmp    0x40984d
409847:	f7 b3 80 91 46 00    	divl   0x469180(%ebx)
40984d:	05 5a 95 0a 00       	add    $0xa955a,%eax
409852:	89 11                	mov    %edx,(%ecx)
409854:	89 41 04             	mov    %eax,0x4(%ecx)
409857:	5b                   	pop    %ebx
409858:	5d                   	pop    %ebp
409859:	c2 08 00             	ret    $0x8
40985c:	55                   	push   %ebp
40985d:	8b ec                	mov    %esp,%ebp
40985f:	83 c4 f8             	add    $0xfffffff8,%esp
409862:	56                   	push   %esi
409863:	8b 75 0c             	mov    0xc(%ebp),%esi
409866:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
40986a:	66 83 f8 18          	cmp    $0x18,%ax
40986e:	73 4d                	jae    0x4098bd
409870:	66 83 fa 3c          	cmp    $0x3c,%dx
409874:	73 47                	jae    0x4098bd
409876:	66 83 f9 3c          	cmp    $0x3c,%cx
40987a:	73 41                	jae    0x4098bd
40987c:	66 81 fe e8 03       	cmp    $0x3e8,%si
409881:	73 3a                	jae    0x4098bd
409883:	0f b7 c0             	movzwl %ax,%eax
409886:	69 c0 80 ee 36 00    	imul   $0x36ee80,%eax,%eax
40988c:	0f b7 d2             	movzwl %dx,%edx
40988f:	69 d2 60 ea 00 00    	imul   $0xea60,%edx,%edx
409895:	03 c2                	add    %edx,%eax
409897:	0f b7 d1             	movzwl %cx,%edx
40989a:	69 d2 e8 03 00 00    	imul   $0x3e8,%edx,%edx
4098a0:	03 c2                	add    %edx,%eax
4098a2:	0f b7 d6             	movzwl %si,%edx
4098a5:	03 c2                	add    %edx,%eax
4098a7:	89 45 f8             	mov    %eax,-0x8(%ebp)
4098aa:	db 45 f8             	fildl  -0x8(%ebp)
4098ad:	d8 35 c8 98 40 00    	fdivs  0x4098c8
4098b3:	8b 45 08             	mov    0x8(%ebp),%eax
4098b6:	dd 18                	fstpl  (%eax)
4098b8:	9b                   	fwait
4098b9:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
4098bd:	8a 45 ff             	mov    -0x1(%ebp),%al
4098c0:	5e                   	pop    %esi
4098c1:	59                   	pop    %ecx
4098c2:	59                   	pop    %ecx
4098c3:	5d                   	pop    %ebp
4098c4:	c2 08 00             	ret    $0x8
4098c7:	00 80 cb a4 4c 55    	add    %al,0x554ca4cb(%eax)
4098cd:	8b ec                	mov    %esp,%ebp
4098cf:	83 c4 f8             	add    $0xfffffff8,%esp
4098d2:	53                   	push   %ebx
4098d3:	56                   	push   %esi
4098d4:	57                   	push   %edi
4098d5:	8b f9                	mov    %ecx,%edi
4098d7:	8b f2                	mov    %edx,%esi
4098d9:	8b d8                	mov    %eax,%ebx
4098db:	66 8b 45 08          	mov    0x8(%ebp),%ax
4098df:	50                   	push   %eax
4098e0:	8d 45 f8             	lea    -0x8(%ebp),%eax
4098e3:	50                   	push   %eax
4098e4:	8b cf                	mov    %edi,%ecx
4098e6:	8b d6                	mov    %esi,%edx
4098e8:	8b c3                	mov    %ebx,%eax
4098ea:	e8 6d ff ff ff       	call   0x40985c
4098ef:	84 c0                	test   %al,%al
4098f1:	75 0a                	jne    0x4098fd
4098f3:	a1 b4 46 47 00       	mov    0x4746b4,%eax
4098f8:	e8 9b e4 ff ff       	call   0x407d98
4098fd:	dd 45 f8             	fldl   -0x8(%ebp)
409900:	5f                   	pop    %edi
409901:	5e                   	pop    %esi
409902:	5b                   	pop    %ebx
409903:	59                   	pop    %ecx
409904:	59                   	pop    %ecx
409905:	5d                   	pop    %ebp
409906:	c2 04 00             	ret    $0x4
409909:	8d 40 00             	lea    0x0(%eax),%eax
40990c:	55                   	push   %ebp
40990d:	8b ec                	mov    %esp,%ebp
40990f:	83 c4 f4             	add    $0xfffffff4,%esp
409912:	53                   	push   %ebx
409913:	56                   	push   %esi
409914:	57                   	push   %edi
409915:	8b f9                	mov    %ecx,%edi
409917:	8b f2                	mov    %edx,%esi
409919:	8b d8                	mov    %eax,%ebx
40991b:	8d 45 fc             	lea    -0x4(%ebp),%eax
40991e:	50                   	push   %eax
40991f:	ff 75 10             	push   0x10(%ebp)
409922:	ff 75 0c             	push   0xc(%ebp)
409925:	8d 45 f4             	lea    -0xc(%ebp),%eax
409928:	e8 eb fe ff ff       	call   0x409818
40992d:	8b 45 f4             	mov    -0xc(%ebp),%eax
409930:	8d 4d fe             	lea    -0x2(%ebp),%ecx
409933:	66 ba 60 ea          	mov    $0xea60,%dx
409937:	e8 40 e4 ff ff       	call   0x407d7c
40993c:	56                   	push   %esi
40993d:	8b cb                	mov    %ebx,%ecx
40993f:	0f b7 45 fe          	movzwl -0x2(%ebp),%eax
409943:	66 ba 3c 00          	mov    $0x3c,%dx
409947:	e8 30 e4 ff ff       	call   0x407d7c
40994c:	8b 45 08             	mov    0x8(%ebp),%eax
40994f:	50                   	push   %eax
409950:	8b cf                	mov    %edi,%ecx
409952:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
409956:	66 ba e8 03          	mov    $0x3e8,%dx
40995a:	e8 1d e4 ff ff       	call   0x407d7c
40995f:	5f                   	pop    %edi
409960:	5e                   	pop    %esi
409961:	5b                   	pop    %ebx